Computer Security Key Management

Slides:



Advertisements
Similar presentations
Chapter 14 – Authentication Applications
Advertisements

Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
CIS 725 Key Exchange Protocols. Alice ( PB Bob (M, PR Alice (hash(M))) PB Alice Confidentiality, Integrity and Authenication PR Bob M, hash(M) M, PR Alice.
1 Security Handshake Pitfalls. 2 Authentication Handshakes Secure communication almost always includes an initial authentication handshake: –Authenticate.
Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Certificates.
Netprog: Cryptgraphy1 Cryptography Reference: Network Security PRIVATE Communication in a PUBLIC World. by Kaufman, Perlman & Speciner.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Chapter 4 Authentication Applications. Objectives: authentication functions developed to support application-level authentication & digital signatures.
Computer Security Key Management. Introduction We distinguish between a session key and a interchange key ( long term key ). The session key is associated.
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #9-1 Chapter 9: Key Management Session and Interchange Keys Key Exchange Cryptographic.
1 Key Establishment Symmetric key problem: How do two entities establish shared secret key in the first place? Solutions: Deffie-Hellman trusted key distribution.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Cryptographic Technologies
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 30 Message Security, User Authentication, and Key Management.
Chapter 9: Key Management
1 Key Management CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute April 1, 2004.
Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI.
CMSC 414 Computer and Network Security Lecture 24 Jonathan Katz.
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Computer Security1 Bishop: Chapter 9 Key Management.
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
Slide #9-1 Chapter 9: Key Management Session and Interchange Keys Key Exchange Cryptographic Key Infrastructure Storing and Revoking Keys Digital Signatures.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Computer Science Public Key Management Lecture 5.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Secure r How do you do it? m Need to worry about sniffing, modifying, end- user masquerading, replaying. m If sender and receiver have shared secret.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Digital Signatures. Public Key Cryptography Public Key Cryptography Requirements 1.It must be computationally easy to encipher or decipher a message.
1 Chapter 9: Key Management All algorithms we have introduced are based on one assumption: keys have been distributed. But how to do that? Key generation,
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 10 Nov 8, 2007 Hash Functions Key Management.
Key Management. Session and Interchange Keys  Key management – distribution of cryptographic keys, mechanisms used to bind an identity to a key, and.
King Mongkut’s University of Technology Faculty of Information Technology Network Security Prof. Reuven Aviv 6. Public Key Infrastructure Prof. R. Aviv,
Week 4 - Wednesday.  What did we talk about last time?  RSA algorithm.
Key Management and Identity CS461/ECE422 Spring 2012.
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
Fall 2010/Lecture 321 CS 426 (Fall 2010) Key Distribution & Agreement.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 30 Message Security, User Authentication, and Key Management.
Digital Signatures, Message Digest and Authentication Week-9.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Cryptographic Security Identity-Based Encryption.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Computer and Network Security - Message Digests, Kerberos, PKI –
Csci5233 Computer Security1 Bishop: Chapter 10 Key Management.
Week 4 - Friday.  What did we talk about last time?  Public key cryptography  A little number theory.
Chapt. 10 – Key Management Dr. Wayne Summers Department of Computer Science Columbus State University
Slide #9-1 Chapter 9: Key Management Session and Interchange Keys Key Exchange Cryptographic Key Infrastructure Storing and Revoking Keys Digital Signatures.
1 Authentication Protocols Rocky K. C. Chang 9 March 2007.
1IS2150/TEL2810: Introduction to Computer Security Nov 1, 2005 Introduction to Computer Security Lecture 8 Key Management.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Chapter 9. Key management
Key Management Session and Interchange Key Key Exchange
Computer Communication & Networks
Cryptography and Network Security
Message Security, User Authentication, and Key Management
Chapt. 10 – Key Management Dr. Wayne Summers
Public Key Infrastructure (PKI)
Presentation transcript:

Computer Security Key Management

Introduction We distinguish between a session key and an interchange key (long term key). The session key is a cryptographic key associated with a communication session. The interchange key is associated with a principal to a communication.

Basic key exchange -- problems With whom is Bob sharing a key? A key cannot be transmitted in the clear Replay attacks: Eve may highjack a session. Alice and Bob may decide to trust a third party Classical cryptosystems (symmetric key) and public key cryptosystems use different algorithms.

Classical cryptographic key exchange C = trusted third party C shares secret keys kA and kB with Alice and Bob A  C: {request for ksession for Bob}kA C  A: {ksession}kA, {ksession}kB A  B: {ksession}kB Now Alice and Bob share ksession .

Classical cryptographic key exchange –Replay attacks Does Bob know who he is talking to? A Replay attack Suppose A  B: {Pay Dan $500}ksession Then later Eve may send Bob: E  B: {ksession}kB E  B: {Pay Dan $500}ksession

Classical cryptography key exchange (Needham-Schroeder) C = trusted third party A  C: { A||B|| rand1 } C  A: { A||B||rand1||ksession , {A ||ksession}kB } kA A  B: {A ||ksession}kB B  A: {rand2}ksession A  B: {rand2-1}ksession rand1 and rand2 are called nonces.

Classical cryptography key exchange C = trusted third party Eve  B: {A ||ksession}kB (replay) B  A: {rand3}ksession (intercepted by Eve) Eve  B: {rand3-1}ksession (intercepted reply) Bob thinks he is talking to Alice, but he is really talking to Eve

Classical cryptography key exchange (Denning-Sacco, timestamps) C = trusted third party A  C: { A||B|| rand1 } C  A: { A||B||rand1||ksession , {A ||T||ksession}kB } kA A  B: {A ||T||ksession}kB B  A: {rand2}ksession A  B: {rand2-1}ksession This requires synchronized clocks.

Classical cryptography key exchange (Ottway-Rees) C = trusted third party A  B: sn,A, B, {rand1,sn,A,B}kA B  C: sn, A, B, {rand1,sn,A,B}kA ,{rand2,sn,A,B}kB C  B: sn, {rand1, ksession}kA , {rand2, ksession}kB A  B: sn, {rand2, ksession}kA

Classical cryptography key exchange Discussion on attacks. Intercept & highjack sessions, Use of Timestamps.

Basic Kerberos A  C: A || B || NA C  A: {kAB ,B,NA}kAT || TAB Ticket : TAB = B || {A||A’s address||valid time tA||shared key kAB}kB tA is a timestamp from A’s clock, kB is a key that B shares with an authentication server, NA a nonce chosen by A, AuthA = { A|| tA}kAB is an authenticator for A, kAB a session key for A,B. A  C: A || B || NA C  A: {kAB ,B,NA}kAT || TAB A  B: AuthA || TAB B  A: A || {tA}kAB

Kerberos Discussion. How are principals (Alice,Bob) authenticated?

Key exchange with Public Key Cryptography First try. A  B: { ksession }eB This is flawed: Eve can forge the message In fact Bob does not know from whom this message came

A man-in-the-middle attack The attacker E succeeds in convincing A that B’s public key is eE and not eB.. A  B: request for B’s public key –intercepted by E E  B: request for B’s public key B  E: eB E  A: eE A  B: {ksession}eE -- intercepted by E E  B: {ksession}eB

Key exchange with Public Key Cryptography A fix A  B: A, { { ksession }dA }eB where dA is the private key of A. Bob decrypts the received and uses the public key of A to obtain ksession from { ksession }dA. But how does B get to know A’s public key? A trusted public server is needed.

Public Key Infrastructures the X.509 Authentication Framework X.509 is based on certificate signature chains. Certificates are digitally signed by Certifying authorities and link a Public key to its owner. See textbook for details on X.509v3 certificates.

Public Key Infrastructures Certificate signature chains Let X<<Y>> represent a certificate that X generated for the subject Y, eg X authenticated (digitally signed) the Public Key of Y. X<<Y>> represents the explicit trust that X has in (the public key of) Y (he wouldn’t otherwise certify it!).

Public Key Infrastructures Certificate signature chains A certificate chain: X1<< X2 >> || X2<< X3 >> || . . . || Xn-1<< Xn >> represents the implicit trust of X1 in Xn: X1 trusts X2, who in turn trusts X3, who in turn trusts X3, . . . , and Xn-1 trusts Xn. PKI’s are based on implicit trust.

The structure of a PKI trust graphs A PKI is determined by its: Certifying Authorities (CAs) Subjects Implicit trust relationships. The trust graph of a PKI is the graph whose nodes are the CAs and the subjects and whose edges are the explicit trust relationships. Implicit trust relationships are represented by paths in the trust graph.

The structure of a PKI Trust graphs The trust graph for the X.509 PKI is essentially a graph tree, with leafs the subjects. The root CA is called the Root of the PKI. The X.509 PKI is scalable: the length of a trust certificate chain is logarithmic in the size of the graph.

Trust graphs Root CA With a tree-graphs we have Scalable solutions David Bob Carol Alice With a tree-graphs we have Scalable solutions Single point of failures

PKIs Forest – cross-certifying Root CAs Other graph solutions PGPs Merkle Authentication Tree

PGP certificate chains Provides privacy for electronic mail. The public key of an entity B is certified by “friends” who know him, say E,F,G. PGP certificate for A: E,F,G <<B>>PGP Suppose we have the following chain: A,J <<J>>PGP || K,J,E <<E>>PGP || E,H <<H>>PGP || I,H,G <<G>>PGP || E,F,G,B <<B>>PGP || Then A PGP-trust B. For more details see: http://www.cs.fsu.edu/~burmeste/ACM11temp.pdf

Merkle Authentication Tree Time stamping Certificates can be kept as data in files, This reduces the problem of forging certificates to the problem of data integrity.

Merkle Authentication Tree Let Yi be an identifier and its associated public key. f : D D  D a function that maps pairs of bit strings to a bit string, where D is the set of bit strings. h: N N  D be a cryptographic hash function, where N is the set of natural numbers. h(i,j) = f (h (i, i+j /2) , h (i+j /2+1 , j) if i < j f (Yi ,Yij) otherwise.

Merkle Authenticatiomn Tree Y1 Y2 Y3 Y4 The root value h(1,4) must be known and the file publicly available.

Merkle Authenticatiomn Tree Suppose that Y1,Y2 ,…,Yn are items in a file, and that user 3 wants to validate Y3. Compute: h(3,3) = f (Y3,Y3), h(3,4) = f (h(3,3),h(4,4)), (assume that h(4,4) is available) h(1,4) = f (h(1,2),h(3,4)). (assume that h(1,2) is available) If h(1,4) is stored in a public file thenY3 can be validated (time-stamped).

Merkle Authentication Tree The hashes needed to validate a certificate for Yi are called the authentication path of that certificate. The authentication path for Y3 is: C3 = {Y3, h(4,4),h(1,2))}.