Crypto-Verifying Protocol Implementations in ML
|
|
|
- Solomon Hunter
- 10 years ago
- Views:
Transcription
1 Crypto-Verifying Protocol Implementations in ML Karthikeyan Bhargavan 1,2 Ricardo Corin 1,3 Cédric Fournet 1,2 1 MSR-INRIA Joint Centre 2 Microsoft Research 3 University of Twente June 2007 Abstract We intend to narrow the gap between concrete implementations and veri ed models of cryptographic protocols. We consider protocols implemented in F#, a variant of ML, and veri ed using CryptoVerif, Blanchet's protocol veri er for computational cryptography. We experiment with compilers from F# code to CryptoVerif processes, and from CryptoVerif declarations to F# code. We present two case studies: an implementation of the Otway-Rees protocol, and an implementation of a simpli ed password-based authentication protocol. In both cases, we obtain concrete security guarantees for a computational model closely related to executable code. 1 Introduction There has been much progress in formal methods and tools for cryptography, enabling, in principle, the automated veri cation of complex security protocols. In practice, however, these methods and tools remain dif cult to apply. Often, veri cation occurs independently of the development process, rather than during early design, prototyping, and testing. Also, as the protocol or its implementation evolve, it is dif cult to carry over the guarantees of past formal veri cation. More generally, the veri cation of a system that uses a given protocol involves more than the cryptographic veri cation of an abstract model; it may rely as well on more standard analyses of code (e.g. to ensure memory safety) and system con guration (e.g. to protect a TCB). For these reasons, we are interested in the integration of protocol veri ers into the arsenal of software testing and veri cation tools. In recent work, Bhargavan et al. [2] advocate the automatic extraction and veri cation of cryptographic models from executable code. They verify protocol implementations written in F# [13], a dialect of ML [10, 11], by compilation to ProVerif [3]. Their approach relies on sharing as much code as possible between implementations and models: their code differs mostly in the implementation of core cryptographic libraries, which use bitstrings for concrete execution and symbolic terms for veri cation. (Symbolic Dolev-Yao cryptography is conveniently coded in ML as pattern matching on algebraic data types.) In this work, we explore a similar approach to extend the bene t of computational cryptographic veri cation to protocol implementations. For automated veri cation, we rely on CryptoVerif, Blanchet's recent tool for concrete cryptography [5, 6]. (We refer to these papers for an explanation of CryptoVerif syntax and semantics.) We present experimental results based on simple protocol implementations in F# for the Otway-Rees protocol and for a simpli ed password-based authentication protocol. In both cases, we obtain computational veri cation results for executable code. On the other hand, although we discuss their design, we have not yet developed general, automated translations between ML and CryptoVerif. 1
2 Architecture The diagram below outlines our proposed architecture: crypto.fsi (Interface) crypto.cv query.cv crypto-a.fs crypto.fs protocol.fs (Source code) CryptoVerif Symbolic Concrete (Executions) We cross-compile between F# and CryptoVerif, as follows. In Section 2, given a CryptoVerif le crypto.cv that declares cryptographic operations and assumptions, we generate two les: an F# module interface crypto.fsi that exposes the cryptographic operations; and a symbolic module implementation crypto-a.fs of this interface that supports the equations of crypto.cv. In addition, we write by hand a concrete module implementation crypto.fs that calls.net implementations of standard algorithms. In Section 3, given an F# protocol implementation protocol.fs written against crypto.fsi and a CryptoVerif le query.cv that describes target computational security goals, we generate a CryptoVerif script protocol.cv. We can then execute our protocol in three different ways: run CryptoVerif on protocol.cv, crypto.cv, and query.cv to verify our target properties; compile protocol.fs with crypto-a.fs and run the protocol symbolically for testing; compile protocol.fs with crypto.fs and run the protocol over some network. To illustrate our approach, we implement the Otway-Rees protocol (Section 4) and a protocol for password-based authentication (Section 5); the corresponding source les are available at We conclude in Section 6. 2 From Cryptographic Assumptions to F# Compared to symbolic models, computational models adopt a more concrete, less optimistic approach to cryptography; they are also more complicated and typically involve probabilistic polynomial-time semantics. In contrast to symbolic models, where the adversary can essentially perform the same computations as ordinary protocol participants, computational models specify both minimal positive assumptions (guaranteeing, for instance, that the correct decryption of an encrypted message yields the original plaintext) and minimal negative assumptions (guaranteeing, for instance, that for a particular usage of encryption, a probabilistic polynomial adversary cannot distinguish between two encrypted values). In CryptoVerif scripts, cryptographic assumptions are introduced through type and function declarations, equations, inequalities, and game-based equivalences. We design a compiler that translates the declarations and equations in a CryptoVerif le crypto.cv into an F# interface crypto.fsi and its symbolic implementation crypto-a.fs. Generating the F# Interface. Each CryptoVerif type declaration in crypto.cv is compiled to an abstract type in crypto.fsi and a function that generates constant values of this type. For example, type host[bounded] (representing host names) is compiled to the F# type declaration type host and the function declaration val consthost: string! host. In addition, for each generative type (declared using the xed annotation), the interface also declares a function that 2
3 generates fresh values of this type. Hence, type nonce[ xed,large] (representing nonces) is compiled to an additional function declaration val newnonce : unit! nonce. Compiling function declarations is straightforward, with only a slight change in syntax from CryptoVerif to F#. For example, fun enc(blocksize, key): blocksize is compiled to val enc : (blocksize key)! blocksize. For functions declared as decomposable, the compiler additionally generates an inverse function. Hence, the CryptoVerif constructor concat4: fun concat4(nonce, nonce, host, host):blocksize [compos] is compiled to the two functions: val concat4 : (nonce nonce host host)! blocksize val iconcat4 : blocksize! (nonce nonce host host) Generating a Symbolic Model. The compiler also generates an F# module crypto-a.fs that symbolically implements crypto.fsi. This symbolic implementation uses ML datatypes and pattern-matching to model cryptographic operations. It may rely on several pi-calculus primitives: for communication (Pi.send, Pi.recv), for logging events (Pi.log), and for generating fresh values (Pi.name). For example, the symbolic implementation of a nonce type is a pi-calculus name, and the newnonce function uses Pi.name to generate a fresh nonce: type nonce = N of Pi.name let newnonce () : nonce = N (Pi.name "nonce") Functions that have no equations constraining them are written as constructors of their result types, while functions de ned through equations are written using pattern-matching. For example, the symbolic model generated for symmetric encryption is as follows: type blocksize = Enc of blocksize key j... type key = KGen of keyseed j... let enc (b,k) = Enc(b,k) let dec (e,k) = match (e,k) with j (Enc(m,KGen(r)),KGen(r')) when r = r'! m j! failwith "decrypt failed" Pattern-matching is also used to de ne inverse functions such as iconcat4. Writing a Concrete Implementation. Our concrete implementation crypto.fs uses the.net cryptography libraries. For example, the symmetric encryption function enc is de ned using the System.Security.Cryptography.RijndaelManaged class that implements AES encryption. The choice of a library implementation that matches the cryptographic assumptions expressed in crypto.cv should be carefully reviewed by a cryptographer. However, for a given set of cryptographic assumptions, this review needs to occur only once: the concrete implementation may then be used as a library module over and over again. 3 From Protocol Implementations to CryptoVerif We write protocol implementations as F# modules that use the cryptographic modulecrypto.fsi and additional libraries, say for networking and events. The symbolic implementations of libraries may use the pi-calculus primitives; however their concrete implementations and the protocol modules do not, instead they rely on.net libraries. We design a compiler that translates protocol modules along with symbolic library implementations to CryptoVerif scripts. The core of our translation is the same as in [2]: functions are translated to processes and algebraic datatypes are translated to constructor functions. Functions as Processes. As a rst step, the compiler attens all modules (with suitable renaming of functions and values), inlines all non-recursive functions in the protocol code, 3
4 and then eliminates all functions that are both unused and do not appear in any interface. It then translates each remaining function to a CryptoVerif process. As a simple example, the function let f x = x is compiled as a process let f = in(callf, x); out(resultf, x) where callf and resultf are public channels (so that the opponent may call the function as an oracle). The picalculus primitives are translated specially: Pi.send and Pi.recv compile to message sending (out) and receiving (in); Pi.log triggers an event; Pi.name compiles to fresh name generation (new). Algebraic Datatypes. For each algebraic datatype, the compiler generates a CryptoVerif type with decomposable constructors; hence, the implementation of a datatype is always exposed to the opponent. For example, the type type t = A of blocksize is compiled to type type t [bounded] and constructor fun A(blocksize):t [compos]. Top-level Process. For each value de nition let x = e in the protocol code, the compiler generates a process context that evaluates the expression e and binds the variable x. The toplevel process representing the full system thus consists of bindings for all value de nitions and N replicas of each function process, where N is a security parameter. Assembling the CryptoVerif script. The full CryptoVerif script consists of the type declarations, function declarations and processes generated above, the cryptographic assumptions in crypto.cv, and the security goals in query.cv. Typical security goals include authentication properties, expressed as (non-)injective correspondences between events, and strong secrecy properties of keys and payloads. 4 Otway Rees The Otway-Rees protocol [12] is a classic key-distribution protocol, in which a server S distributes a session key between A and B. It is included as a sample protocol in the CryptoVerif distribution. The protocol has four messages; we detail only the rst message: A! B : M jj A jj B jj enc(n a jj Mjj A jj B; K as ) where jj stands for concatenation and enc is the symmetric encryption function speci ed in crypto.cv. The F# implementation for the role A computes the rst message as follows: let Na = newnonce() in let cab = concat3 M A B in let ea1 = enc (concat2(na,cab)) Kas in Net.send AB (cab,ea1); where concat2, concat3 are concatenation functions, and AB is a connection over a public network intended for communications between A and B. The CryptoVerif code generated from this excerpt is: new Na : nonce; let cab = concat3(m, A, B) in let ea1 = enc(concat2(na, cab), Kas) in out(net, (cab, ea1)); Here, the nonce N a is sampled uniformly at random in the nonce type. The key K as is bound at the toplevel process as the result of running the key generation algorithm with a fresh seed. All communications occur over a single global channel net. For the generated script, CryptoVerif proves secrecy of the established key and mutual authentication between A and B for any polynomial number of instances of the protocol. 4
5 5 Password-Based Authentication As a second example, we study the implementation of a simpli ed password-based authentication protocol (inspired by a web services security protocol with a richer message format [2]). In this one-message protocol, A authenticates a text message to B using a shared password pwd and B's public key: A! B : text jj RSAenc(PK B ; HMACSHA1(pwd; text)) Hence, A computes a message authentication code (MAC) of the text keyed with pwd and then, to prevent of ine dictionary attacks on the possibly guessable weak secretpwd, A encrypts the MAC under B's public encryption key PK B. Verifying authentication. In query.cv, we specify the desired authenticity of text as a correspondence between two events in the F# code a begin event just before A sends the message and an end event after B decrypts and checks the MAC. If we assume that pwd is a strong key, CryptoVerif nds a proof of the correspondence. Verifying weak secrecy. Even if pwd is only a weak secret, we would still like to protect it against of ine guessing attacks [1, 4, 8, 7]; this motivated the MAC encryption in this protocol. To this end, we disable B's code and add a secrecy goal to query.cv requiring that A's code in isolation preserves the secrecy of pwd. CryptoVerif automatically nds a proof of strong secrecy for pwd, guaranteeing the absence of of ine guessing attacks. In contrast, the protocol does not protect pwd against online guessing attacks. In particular, if B performs some visible action after accepting a message, the opponent can guess a pwd 0 and then verify the guess by sending I (A)! B : text 0 jj RSAenc(PK B ; HMACSHA1(pwd 0 ; text 0 )) If B visibly accepts the message, the opponent then infers pwd = pwd'. Indeed, if our generated code for B is enabled, CryptoVerif fails to prove the strong secrecy of pwd. 6 Conclusions and Future Work Although our initial results are encouraging, numerous dif culties remain. Re ecting the speci city of the underlying cryptographic games, CryptoVerif seems more sensitive to the code structure than symbolic tools; this may hinder the direct veri cation of production code, and require preliminary code transforms. Also, for larger protocols, it is necessary to (safely) erase code that is irrelevant to the proof of a given property. More theoretically, it would be interesting to characterize our target security properties in F#. After implementing the compilers outlined in this paper, we would like to consider more serious case studies, such as a reference implementation of a standard protocol. We would also like to develop veri ed cryptographic libraries in F#, in order to encapsulate the standard usage of selected cryptographic primitives. Acknowledgements. Many thanks to Bruno Blanchet for his help in applying CryptoVerif to the password-based authentication protocol, and to Andy Gordon for his comments. References [1] M. Abadi and B. Warinschi. Password-based encryption analyzed. In L. Caires, G. Italiano, L. Monteiro, C. Palamidessi, and M. Young, editors, International Colloqium on Automata, Languages and Programming ICALP'05, volume 3580 of LNCS, pages Springer, July
6 [2] K. Bhargavan, C. Fournet, A. D. Gordon, and S. Tse. Veri ed interoperable implementations of security protocols. CSFW, 0: , [3] B. Blanchet. An ef cient cryptographic protocol veri er based on Prolog rules. In 14th IEEE Computer Security Foundations Workshop (CSFW-14), pages IEEE Computer Society, [4] B. Blanchet. Automatic proof of strong secrecy for security protocols. Research Report MPI-I-2004-NWG1-001, Max-Planck-Institut für Informatik, Stuhlsatzenhausweg 85, Saarbrücken, Germany, July [5] B. Blanchet. A computationally sound mechanized prover for security protocols. In IEEE Symposium on Security and Privacy, pages , Oakland, California, May [6] B. Blanchet. Computationally sound mechanized proofs of correspondence assertions. In 20th IEEE Computer Security Foundations Symposium (CSF'07), Venice, Italy, July IEEE. To appear. [7] B. Blanchet, M. Abadi, and C. Fournet. Automated veri cation of selected equivalences for security protocols. In 20th IEEE Symposium on Logic in Computer Science (LICS'05), pages , [8] R. Corin, J. M. Doumen, and S. Etalle. Analysing password protocol security against off-line dictionary attacks. In N. Busi, R. Gorrieri, and F. Martinelli, editors, 2nd Int. Workshop on Security Issues with Petri Nets and other Computational Models (WISP), volume 121, pages 47 63, Bologna, Italy, Jun Electronic Notes in Theoretical Computer Science. [9] Crypto-verifying protocol implementations in ml. Project website at msr-inria.inria.fr/projects/sec/fs2cv/. [10] R. Milner, M. Tofte, and R. Harper. The De nition of Standard ML. MIT Press, [11] Objective Caml. [12] D. Otway and O. Rees. Ef cient and timely mutual authentication. SIGOPS Oper. Syst. Rev., 21(1):8 10, [13] D. Syme. F#, Project website at fsharp/. 6
CryptoVerif Tutorial
CryptoVerif Tutorial Bruno Blanchet INRIA Paris-Rocquencourt [email protected] November 2014 Bruno Blanchet (INRIA) CryptoVerif Tutorial November 2014 1 / 14 Exercise 1: preliminary definition SUF-CMA
ZQL. a cryptographic compiler for processing private data. George Danezis. Joint work with Cédric Fournet, Markulf Kohlweiss, Zhengqin Luo
ZQL Work in progress a cryptographic compiler for processing private data George Danezis Joint work with Cédric Fournet, Markulf Kohlweiss, Zhengqin Luo Microsoft Research and Joint INRIA-MSR Centre Data
How to Formally Model Features of Network Security Protocols
, pp.423-432 http://dx.doi.org/10.14257/ijsia How to Formally Model Features of Network Security Protocols Gyesik Lee Dept. of Computer & Web Information Engineering Hankyong National University Anseong-si,
Chapter 16: Authentication in Distributed System
Chapter 16: Authentication in Distributed System Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press A. Kshemkalyani and M. Singhal
An Overview of Common Adversary Models
An Overview of Common Adversary Karl Palmskog [email protected] 2012-03-29 Introduction Requirements of Software Systems 1 Functional Correctness: partial, termination, liveness, safety,... 2 Nonfunctional
How To Verify A Bluetooth Device Pairing With A Human Eye Oracle
Formal Analysis of Authentication in Bluetooth Device Pairing Richard Chang and Vitaly Shmatikov The University of Texas at Austin Abstract. Bluetooth is a popular standard for short-range wireless communications.
Computational Soundness of Symbolic Security and Implicit Complexity
Computational Soundness of Symbolic Security and Implicit Complexity Bruce Kapron Computer Science Department University of Victoria Victoria, British Columbia NII Shonan Meeting, November 3-7, 2013 Overview
How to prove security of communication protocols?
1/37 Introduction on security protocols Modeling Verification Towards cryptographic guarantees How to prove security of communication protocols? Véronique Cortier, LORIA - CNRS, Nancy Colloquium Morgenstern,
Message Authentication Code
Message Authentication Code Ali El Kaafarani Mathematical Institute Oxford University 1 of 44 Outline 1 CBC-MAC 2 Authenticated Encryption 3 Padding Oracle Attacks 4 Information Theoretic MACs 2 of 44
Client Server Registration Protocol
Client Server Registration Protocol The Client-Server protocol involves these following steps: 1. Login 2. Discovery phase User (Alice or Bob) has K s Server (S) has hash[pw A ].The passwords hashes are
Analysis of a Biometric Authentication Protocol for Signature Creation Application
Analysis of a Biometric Authentication Protocol for Signature Creation Application A. Salaiwarakul and M.D.Ryan School of Computer Science, University of Birmingham, UK {A.Salaiwarakul, M.D.Ryan}@cs.bham.ac.uk
Q: Why security protocols?
Security Protocols Q: Why security protocols? Alice Bob A: To allow reliable communication over an untrusted channel (eg. Internet) 2 Security Protocols are out there Confidentiality Authentication Example:
KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1
KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE Mihir Bellare UCSD 1 The public key setting Alice M D sk[a] (C) Bob pk[a] C C $ E pk[a] (M) σ $ S sk[a] (M) M, σ Vpk[A] (M, σ) Bob can: send encrypted data
CPSC 467b: Cryptography and Computer Security
CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 1 January 9, 2012 CPSC 467b, Lecture 1 1/22 Course Overview Symmetric Cryptography CPSC 467b, Lecture 1 2/22 Course Overview CPSC
1 Message Authentication
Theoretical Foundations of Cryptography Lecture Georgia Tech, Spring 200 Message Authentication Message Authentication Instructor: Chris Peikert Scribe: Daniel Dadush We start with some simple questions
SCADA System Security, Complexity, and Security Proof
SCADA System Security, Complexity, and Security Proof Reda Shbib, Shikun Zhou, Khalil Alkadhimi School of Engineering, University of Portsmouth, Portsmouth, UK {reda.shbib,shikun.zhou,khalil.alkadhimi}@port.ac.uk
Authentication and Encryption: How to order them? Motivation
Authentication and Encryption: How to order them? Debdeep Muhopadhyay IIT Kharagpur Motivation Wide spread use of internet requires establishment of a secure channel. Typical implementations operate in
Inductive Analysis of Security Protocols in Isabelle/HOL with Applications to Electronic Voting
Inductive Analysis of Security Protocols in Isabelle/HOL with Applications to Electronic Voting Denis Butin 1 / 37 2 / 37 Introduction Network communication sensitive: banking, private correspondence,
Chapter 3. Network Domain Security
Communication System Security, Chapter 3, Draft, L.D. Chen and G. Gong, 2008 1 Chapter 3. Network Domain Security A network can be considered as the physical resource for a communication system. This chapter
Lecture 3: One-Way Encryption, RSA Example
ICS 180: Introduction to Cryptography April 13, 2004 Lecturer: Stanislaw Jarecki Lecture 3: One-Way Encryption, RSA Example 1 LECTURE SUMMARY We look at a different security property one might require
MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC
MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC by Brittanney Jaclyn Amento A Thesis Submitted to the Faculty of The Charles E. Schmidt College of Science in Partial
Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July 2006. The OWASP Foundation http://www.owasp.org/
Common Pitfalls in Cryptography for Software Developers OWASP AppSec Israel July 2006 Shay Zalalichin, CISSP AppSec Division Manager, Comsec Consulting [email protected] Copyright 2006 - The OWASP
Attestation and Authentication Protocols Using the TPM
Attestation and Authentication Protocols Using the TPM Ariel Segall June 21, 2011 Approved for Public Release: 11-2876. Distribution Unlimited. c 2011. All Rights Reserved. (1/28) Motivation Almost all
Capture Resilient ElGamal Signature Protocols
Capture Resilient ElGamal Signature Protocols Hüseyin Acan 1, Kamer Kaya 2,, and Ali Aydın Selçuk 2 1 Bilkent University, Department of Mathematics [email protected] 2 Bilkent University, Department
Victor Shoup Avi Rubin. fshoup,[email protected]. Abstract
Session Key Distribution Using Smart Cards Victor Shoup Avi Rubin Bellcore, 445 South St., Morristown, NJ 07960 fshoup,[email protected] Abstract In this paper, we investigate a method by which smart
A Search-Based Framework for Security Protocol Synthesis
A Search-Based Framework for Security Protocol Synthesis Hao Chen Submitted for the degree of Doctor of Philosophy The University of York Department of Computer Science April 2007 For My Mum and Dad 献
Secure Sessions for Web Services
Secure Sessions for Web Services Karthikeyan Bhargavan Microsoft Research and Ricardo Corin University of Twente and Cédric Fournet Microsoft Research and Andrew D. Gordon Microsoft Research We address
Formally-based semi-automatic implementation of an open security protocol
Formally-based semi-automatic implementation of an open security protocol Alfredo Pironti a, Davide Pozza a, Riccardo Sisto a, a Politecnico di Torino, Dip. di Automatica e Informatica C.so Duca degli
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)
Authenticity by Typing for Security Protocols
Authenticity by Typing for Security Protocols Andrew D. Gordon Microsoft Research Alan Jeffrey DePaul University June 2002 Technical Report To appear in the Journal of Computer Security Microsoft Research
SECURITY ANALYSIS OF PASSWORD BASED MUTUAL AUTHENTICATION METHOD FOR REMOTE USER
SECURITY ANALYSIS OF PASSWORD BASED MUTUAL AUTHENTICATION METHOD FOR REMOTE USER Mrs. P.Venkateswari Assistant Professor / CSE Erode Sengunthar Engineering College, Thudupathi ABSTRACT Nowadays Communication
YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE
YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467a: Cryptography and Computer Security Notes 1 (rev. 1) Professor M. J. Fischer September 3, 2008 1 Course Overview Lecture Notes 1 This course is
Formal Methods in Security Protocols Analysis
Formal Methods in Security Protocols Analysis Li Zhiwei Aidong Lu Weichao Wang Department of Computer Science Department of Software and Information Systems University of North Carolina at Charlotte Big
SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS
SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS Abstract: The Single sign-on (SSO) is a new authentication mechanism that enables a legal user with a single credential
Secure cloud access system using JAR ABSTRACT:
Secure cloud access system using JAR ABSTRACT: Cloud computing enables highly scalable services to be easily consumed over the Internet on an as-needed basis. A major feature of the cloud services is that
SECURITY EVALUATION OF EMAIL ENCRYPTION USING RANDOM NOISE GENERATED BY LCG
SECURITY EVALUATION OF EMAIL ENCRYPTION USING RANDOM NOISE GENERATED BY LCG Chung-Chih Li, Hema Sagar R. Kandati, Bo Sun Dept. of Computer Science, Lamar University, Beaumont, Texas, USA 409-880-8748,
A Vulnerability in the UMTS and LTE Authentication and Key Agreement Protocols
A Vulnerability in the UMTS and LTE Authentication and Key Agreement Protocols Joe-Kai Tsay and Stig F. Mjølsnes Department of Telematics Norwegian University of Sciences and Technology, NTNU {joe.k.tsay,[email protected]}
The Eighth International Conference INCOSE_IL 2015. Formal Methods Security Tools in the Service of Cyber Security
The Eighth International Conference INCOSE_IL 2015 כלים ובדיקות Formal Methods Security Tools in the Service of Cyber Security Dr. Michael J. May Kinneret College on the Sea of Galilee 1 כלים ובדיקות /
2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries
Chapter 2: Security Techniques Background Secret Key Cryptography Public Key Cryptography Hash Functions Authentication Chapter 3: Security on Network and Transport Layer Chapter 4: Security on the Application
Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures
Outline Computer Science 418 Digital Signatures Mike Jacobson Department of Computer Science University of Calgary Week 12 1 Digital Signatures 2 Signatures via Public Key Cryptosystems 3 Provable 4 Mike
Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015
Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015 Chapter 2: Introduction to Cryptography What is cryptography? It is a process/art of mangling information in such a way so as to make it
Cryptography and Network Security: Summary
Cryptography and Network Security: Summary Timo Karvi 12.2013 Timo Karvi () Cryptography and Network Security: Summary 12.2013 1 / 17 Summary of the Requirements for the exam The advices are valid for
Secure Authentication and Session. State Management for Web Services
Lehman 0 Secure Authentication and Session State Management for Web Services Clay Lehman CSC 499: Honors Thesis Supervised by: Dr. R. Michael Young Lehman 1 1. Introduction Web services are a relatively
On the Limits of Anonymous Password Authentication
On the Limits of Anonymous Password Authentication Yan-Jiang Yang a Jian Weng b Feng Bao a a Institute for Infocomm Research, Singapore, Email: {yyang,baofeng}@i2r.a-star.edu.sg. b School of Computer Science,
Deriving Secure Network Protocols for Enterprise Services Architectures
1 Deriving Secure Network Protocols for Enterprise Services Architectures Matthias Anlauff, Dusko Pavlovic, and Asuman Suenbuel Kestrel Institute SAP Research Labs 3260 Hillview Avenue 3175 Deer Creek
Lecture 9 - Message Authentication Codes
Lecture 9 - Message Authentication Codes Boaz Barak March 1, 2010 Reading: Boneh-Shoup chapter 6, Sections 9.1 9.3. Data integrity Until now we ve only been interested in protecting secrecy of data. However,
CS 758: Cryptography / Network Security
CS 758: Cryptography / Network Security offered in the Fall Semester, 2003, by Doug Stinson my office: DC 3122 my email address: [email protected] my web page: http://cacr.math.uwaterloo.ca/~dstinson/index.html
Kerberos. Guilin Wang. School of Computer Science, University of Birmingham [email protected]
Kerberos Guilin Wang School of Computer Science, University of Birmingham [email protected] 1 Entity Authentication and Key Exchange In the last talk, we discussed key exchange and reviewed some concrete
A Study on Computational Formal Verication for Practical Cryptographic Protocol: The Case of Synchronous RFID Authentication
A Study on Computational Formal Verication for Practical Cryptographic Protocol: The Case of Synchronous RFID Authentication Yoshikazu HanataniI 1,2, Miyako Ohkubo 3, Sin'ichiro Matsuo 3, Kazuo Sakiyama
The Feasibility and Application of using a Zero-knowledge Protocol Authentication Systems
The Feasibility and Application of using a Zero-knowledge Protocol Authentication Systems Becky Cutler [email protected] Mentor: Professor Chris Gregg Abstract Modern day authentication systems
MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS
INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND SCIENCE MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS Kanchupati Kondaiah 1, B.Sudhakar 2 1 M.Tech Student, Dept of CSE,
Patterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer Systems Hans Löhr, Ahmad-Reza Sadeghi, Marcel Winandy Horst Görtz Institute for IT Security, Ruhr-University Bochum, Germany {hans.loehr,ahmad.sadeghi,marcel.winandy}@trust.rub.de
Introduction. Digital Signature
Introduction Electronic transactions and activities taken place over Internet need to be protected against all kinds of interference, accidental or malicious. The general task of the information technology
Verifying security protocols using theorem provers
1562 2007 79-86 79 Verifying security protocols using theorem provers Miki Tanaka National Institute of Information and Communications Technology Koganei, Tokyo 184-8795, Japan Email: [email protected]
Electronic Voting Protocol Analysis with the Inductive Method
Electronic Voting Protocol Analysis with the Inductive Method Introduction E-voting use is spreading quickly in the EU and elsewhere Sensitive, need for formal guarantees Inductive Method: protocol verification
Applying Cryptography as a Service to Mobile Applications
Applying Cryptography as a Service to Mobile Applications SESSION ID: CSV-F02 Peter Robinson Senior Engineering Manager RSA, The Security Division of EMC Introduction This presentation proposes a Cryptography
Network Security. Computer Networking Lecture 08. March 19, 2012. HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23
Network Security Computer Networking Lecture 08 HKU SPACE Community College March 19, 2012 HKU SPACE CC CN Lecture 08 1/23 Outline Introduction Cryptography Algorithms Secret Key Algorithm Message Digest
Modeling and verification of security protocols
Modeling and verification of security protocols Part I: Basics of cryptography and introduction to security protocols Dresden University of Technology Martin Pitt [email protected] Paper and slides available
MACs Message authentication and integrity. Table of contents
MACs Message authentication and integrity Foundations of Cryptography Computer Science Department Wellesley College Table of contents Introduction MACs Constructing Secure MACs Secure communication and
Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu
UT DALLAS Erik Jonsson School of Engineering & Computer Science Overview of Cryptographic Tools for Data Security Murat Kantarcioglu Pag. 1 Purdue University Cryptographic Primitives We will discuss the
Elements of Applied Cryptography. Key Distribution. Trusted third party: KDC, KTC Diffie-Helmann protocol The man-in-the-middle attack
Elements of Applied Cryptography Key Distribution Trusted third party: KDC, KTC Diffie-Helmann protocol The man-in-the-middle attack Point-to-point key establishment Alice Bob Each pair of users must share
Provable-Security Analysis of Authenticated Encryption in Kerberos
Provable-Security Analysis of Authenticated Encryption in Kerberos Alexandra Boldyreva Virendra Kumar Georgia Institute of Technology, School of Computer Science 266 Ferst Drive, Atlanta, GA 30332-0765
Embedding Trust into Cars Secure Software Delivery and Installation
Embedding Trust into Cars Secure Software Delivery and Installation André Adelsbach, Ulrich Huber, Ahmad-Reza Sadeghi, Christian Stüble Horst Görtz Institute for IT Security, Bochum, Germany Third Workshop
SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTING SECURITY ENVIRONMENT
SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTING SECURITY ENVIRONMENT K.karthika 1, M. Daya kanimozhi Rani 2 1 K.karthika, Assistant professor, Department of IT, Adhiyamaan College of Engineering, Hosur
Associate Prof. Dr. Victor Onomza Waziri
BIG DATA ANALYTICS AND DATA SECURITY IN THE CLOUD VIA FULLY HOMOMORPHIC ENCRYPTION Associate Prof. Dr. Victor Onomza Waziri Department of Cyber Security Science, School of ICT, Federal University of Technology,
Paillier Threshold Encryption Toolbox
Paillier Threshold Encryption Toolbox October 23, 2010 1 Introduction Following a desire for secure (encrypted) multiparty computation, the University of Texas at Dallas Data Security and Privacy Lab created
1 Construction of CCA-secure encryption
CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong 10 October 2012 1 Construction of -secure encryption We now show how the MAC can be applied to obtain a -secure encryption scheme.
CryptoNET: Security Management Protocols
CryptoNET: Security Management Protocols ABDUL GHAFOOR ABBASI, SEAD MUFTIC CoS, School of Information and Communication Technology Royal Institute of Technology Borgarfjordsgatan 15, SE-164 40, Kista,
Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide
Network Security [2] Public Key Encryption Also used in message authentication & key distribution Based on mathematical algorithms, not only on operations over bit patterns (as conventional) => much overhead
ETSI TS 102 176-2 V1.2.1 (2005-07)
TS 102 176-2 V1.2.1 (2005-07) Technical Specification Electronic Signatures and Infrastructures (ESI); Algorithms and Parameters for Secure Electronic Signatures; Part 2: Secure channel protocols and algorithms
Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai 2001. Siemens AG 2001, ICN M NT
Part I Contents Part I Introduction to Information Security Definition of Crypto Cryptographic Objectives Security Threats and Attacks The process Security Security Services Cryptography Cryptography (code
A Draft Framework for Designing Cryptographic Key Management Systems
A Draft Framework for Designing Cryptographic Key Management Systems Elaine Barker Dennis Branstad Santosh Chokhani Miles Smid IEEE Key Management Summit May 4, 2010 Purpose of Presentation To define what
Lecture 13: Message Authentication Codes
Lecture 13: Message Authentication Codes Last modified 2015/02/02 In CCA security, the distinguisher can ask the library to decrypt arbitrary ciphertexts of its choosing. Now in addition to the ciphertexts
Cryprography and Network Security, PART II: Key Exchange Protocols
Cryprography and Network Security, PART II: Key Exchange Protocols Timo Karvi 10.2012 Cryprography and Network Security, PART II: Key Exchange Protocols 10.2012 1 / 62 Building a Key Establishement Protocol
CSC474/574 - Information Systems Security: Homework1 Solutions Sketch
CSC474/574 - Information Systems Security: Homework1 Solutions Sketch February 20, 2005 1. Consider slide 12 in the handout for topic 2.2. Prove that the decryption process of a one-round Feistel cipher
Module 8. Network Security. Version 2 CSE IIT, Kharagpur
Module 8 Network Security Lesson 2 Secured Communication Specific Instructional Objectives On completion of this lesson, the student will be able to: State various services needed for secured communication
Soran University Faculty of Science and Engineering Computer Science Department Information Security Module Specification
1. Module Title Information Security 2. Module Code: CS403INS 3. Module Level - Forth Stage 4. Module Leader Safwan M. 5. Teaching Semester 7 and 8 Soran University Faculty of Science and Engineering Computer
Bindings, mobility of bindings, and the -quantifier
ICMS, 26 May 2007 1/17 Bindings, mobility of bindings, and the -quantifier Dale Miller, INRIA-Saclay and LIX, École Polytechnique This talk is based on papers with Tiu in LICS2003 & ACM ToCL, and experience
Authentication Types. Password-based Authentication. Off-Line Password Guessing
Authentication Types Chapter 2: Security Techniques Background Secret Key Cryptography Public Key Cryptography Hash Functions Authentication Chapter 3: Security on Network and Transport Layer Chapter 4:
Single Sign-On Secure Authentication Password Mechanism
Single Sign-On Secure Authentication Password Mechanism Deepali M. Devkate, N.D.Kale ME Student, Department of CE, PVPIT, Bavdhan, SavitribaiPhule University Pune, Maharashtra,India. Assistant Professor,
802.11 Security (WEP, WPA\WPA2) 19/05/2009. Giulio Rossetti Unipi [email protected]
802.11 Security (WEP, WPA\WPA2) 19/05/2009 Giulio Rossetti Unipi [email protected] 802.11 Security Standard: WEP Wired Equivalent Privacy The packets are encrypted, before sent, with a Secret Key
CRYPTOGRAPHY AS A SERVICE
CRYPTOGRAPHY AS A SERVICE Peter Robinson RSA, The Security Division of EMC Session ID: ADS R01 Session Classification: Advanced Introduction Deploying cryptographic keys to end points such as smart phones,
