Abstract
The field of protocol analysis is one area in which CSP has proven particularly successful, and several techniques have been proposed that use CSP to reason about security properties such as confidentiality and authentication. In this paper we describe one such approach, based on theorem-proving, that uses the idea of a rank function to establish the correctness of protocols. This description is motivated by the consideration of a simple, but flawed, authentication protocol. We show how a rank function analysis can be used to locate this flaw and prove that a modified version of the protocol is correct.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M.: Secrecy by typing in security protocols. In: Ito, T., Abadi, M. (eds.) TACS 1997. LNCS, vol. 1281, pp. 611–638. Springer, Heidelberg (1997)
Abadi, M., Gordon, A.D.: A calculus for cryptographic protocols: the spi calculus. Information and Computation (1998); also DEC Research Report 149,(1998)
Bistarelli, S., Cervesato, I., Lenzini, G., Martinelli, F.: Relating process algebras and multiset rewriting for security protocol analysis. In: WITS 2003: Workshop on Issues in the Theory of Security (2003)
Broadfoot, P.J., Roscoe, A.W.: Proving security protocols with model checkers by data independence techniques. Journal of Computer Security 7(2/3) (1999)
Broadfoot, P.J., Roscoe, A.W.: Capturing parallel attacks within the data independence framework. In: Proceedings of the 15th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (2002)
Bryans, J.W., Schneider, S.A.: CSP, PVS, and a recursive authentication protocol. In: DIMACS Workshop on Design and Formal Verification of Crypto Protocols (1997)
Cervesato, I., Durgin, N.A., Lincoln, P., Mitchell, J.C., Scedrov, A.: A meta-notation for protocol analysis. In: Proceedings of the 12th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (1999)
Cervesato, I., Durgin, N.A., Lincoln, P.D., Mitchell, J.C., Scedrov, A.: A meta-notation for protocol analysis. In: 12th IEEE Computer Security Foundations Workshop (1999)
Cervesato, I., Durgin, N., Mitchell, J.C., Lincoln, P., Scedrov, A.: Relating strands and multiset rewriting for security protocol analysis. In: Proceedings of The 13th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (2000)
Durante, A., Focardi, R., Gorrieri, a.R.: A compiler for analyzing cryptographic protocols using non-interference. ACM Transactions on Software Engineering and Methodology 9(4) (2000)
Dutertre, B., Schneider, S.A.: Embedding CSP in PVS: an application to authentication protocols. In: Gunter, E.L., Felty, A.P. (eds.) TPHOLs 1997. LNCS, vol. 1275. Springer, Heidelberg (1997)
Delicata, R., Schneider, S.A.: Towards the rank function verification of protocols with temporary secrets. In: WITS 2004: Workshop on Issues in the Theory of Security (2004)
Dolev, D., Yao, A.C.: On the security of public key protocols. IEEE Transactions on Information Theory 29(2) (1983)
Evans, N., Schneider, S.A.: Analysing time dependent security properties in CSP using PVS. In: Cuppens, F., Deswarte, Y., Gollmann, D., Waidner, M. (eds.) ESORICS 2000. LNCS, vol. 1895, pp. 222–237. Springer, Heidelberg (2000)
Evans, N., Schneider, S.A.: Verifying security protocols with PVS: Widening the rank function approach. In: Journal of Logic and Algebraic Programming (in press)
Evans, N.: Investigating Security Through proof. PhD thesis, Royal Holloway, University of London (2003)
Focardi, R., Gorrieri, a.R.: The compositional security checker: A tool for the verification of information flow security properties. IEEE Transactions on Software Engineering 23(9) (1997)
Formal Systems (Europe) Ltd. FDR2 user manual (2003)
Gordon, A.D., Jeffrey, A.: Authenticity by typing for security protocols. In: Proceedings of the 14th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (2001)
Gordon, A.D., Jeffrey, A.: Types and effects for asymmetric cryptographic protocols. Journal of Computer Security 12(3/4) (2004); Also in Proceedings of the 15th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (2002)
Heather, J.A.: Oh! Is it really you?—Using rank functions to verify authentication protocols. PhD thesis, Royal Holloway, University of London (2000)
Heather, J.A.: Strand spaces and rank functions: More than distant cousins. In: Proceedings of The 15th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (2002)
Hui, M.L., Lowe, G.: Fault-preserving simplifying transformations for security protocols. Journal of Computer Security 9(1/2) (2001)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Heather, J.A., Schneider, S.A.: Towards automatic verification of authentication protocols on unbounded networks. In: Proceedings of the 13th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (2000)
Heather, J.A., Schneider, S.A.: A decision procedure for the existence of a rank function. Journal of Computer Security (in press)
Lowe, G.: An attack on the Needham-Schroeder public-key authentication protocol. Information Processing Letters 56, 131–133 (1995)
Lowe, G.: A hierarchy of authentication specifications. In: Proceedings of the 10th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (1997)
Lowe, G.: Casper: A compiler for the analysis of security protocols. Journal of Computer Security 6(1/2) (1998)
Lowe, G.: Towards a completeness result for model checking of security protocols. Journal of Computer Security 7(2/3) (1999)
Lowe, G., Roscoe, A.W.: Using CSP to detect errors in the TMN protocol. IEEE Transactions on Software Engineering (1996)
Meadows, C.: Applying formal methods to the analysis of a key management protocol. Journal of Computer Security 1(1) (1992)
Millen, J.: The interrogator model. In: IEEE Computer Society Symposium on Research in Security and Privacy (1995)
Menezes, A.J., Van Oorschott, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)
Needham, R., Schroeder, M.: Using encryption for authentication in large networks of computers. Communications of the ACM 21(12) (1978)
Owre, S., Shankar, N., Rushby, J.: The PVS specification language. Technical report, Computer Science Lab, SRI International (1993)
Paulson, L.C.: The inductive approach to verifying cryptographic protocols. Journal of Computer Security 6(1/2) (1998)
Paulson, L.: Verifying the SET protocol: Overview. In: Abdallah, A.E., Ryan, P.Y.A., Schneider, S. (eds.) FASec 2002. LNCS, vol. 2629, pp. 4–14. Springer, Heidelberg (2003)
Pereira, O., Quisquater, J.-J.: On the perfect encryption assumption. In: WITS 2000: Workshop on Issues in the Theory of Security (2000)
Roscoe, A.W.: Modeling and verifying key-exchange protocols using CSP and FDR. In: Proceedings of the 8th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (1995)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)
Ryan, P.Y.A., Schneider, S.A.: Process algebra and non-interference. Journal of Computer Security 9(1/2) (2000); Also in Proceedings of the 12th Computer Security Foundations Workshop. IEEE Computer Society Press, Los Alamitos (1999)
Ryan, P.Y.A., Schneider, S.A., Goldsmith, M.H., Lowe, G., Roscoe, A.W.: Modelling and Analysis of Security Protocols. Addison-Wesley, Reading (2000)
Song, D.X., Berezin, S., Perrig, A.: Athena: A novel approach to efficient automatic security protocol analysis. Journal of Computer Security 9(1/2) (2001)
Schneider, S.A.: Verifying authentication protocols in CSP. IEEE Transactions on Software Engineering (1998)
Schneider, S.A.: Concurrent and Real-time Systems: the CSP Approach. Addison-Wesley, Reading (1999)
Schneider, S.A.: Verifying security protocol implementations. In: FMOODS 2002: Formal Methods for Open Object-based Distributed Systems (2002)
Thayer Fábrega, F.J., Herzog, J.C., Guttman, J.D.: Strand spaces: proving security protocols correct. Journal of Computer Security 7(1) (1999)
Woo, T., Lam, S.: A semantic model for authentication protocols. In: IEEE Computer Society Symposium on Research in Security and Privacy (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Schneider, S., Delicata, R. (2005). Verifying Security Protocols: An Application of CSP. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds) Communicating Sequential Processes. The First 25 Years. Lecture Notes in Computer Science, vol 3525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11423348_14
Download citation
DOI: https://doi.org/10.1007/11423348_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25813-1
Online ISBN: 978-3-540-32265-8
eBook Packages: Computer ScienceComputer Science (R0)