Digital Signatures and Authentication Protocols Chapter 13.

Slides:



Advertisements
Similar presentations
AUTHENTICATION AND KEY DISTRIBUTION
Advertisements

Supervisor :Dr. Lo'ai Ali Tawalbeh Done by: Wa’el Musa Hadi
Chapter 10 Real world security protocols
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.
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
DIGITAL SIGNATURES and AUTHENTICATION PROTOCOLS - Chapter 13
DIGITAL SIGNATURES and AUTHENTICATION PROTOCOLS - Chapter 13 DIGITAL SIGNATURES and AUTHENTICATION PROTOCOLS - Chapter 13 Digital Signatures Authentication.
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.
Sri Lanka Institute of Information Technology
Cryptography and Network Security
Computer Science&Technology School of Shandong University Instructor: Hou Mengbo houmb AT sdu.edu.cn Office: Information Security Research Group.
Cryptography and Network Security
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Authentication & Kerberos
Cryptography and Network Security Chapter 15 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 13 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 13 Fourth Edition by William Stallings.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
1 Chapter 13 – Digital Signatures & Authentication Protocols Fourth Edition by William Stallings Lecture slides by Lawrie Brown (modified by Prof. M. Singhal,
Cryptography and Network Security (CS435) Part Eleven (Digital Signatures and Authentication Protocols)
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
SMUCSE 5349/73491 Authentication Protocols. SMUCSE 5349/73492 The Premise How do we use perfect cryptographic mechanisms (signatures, public-key and symmetric.
Digital signatures, DSS and authentication protocols
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
1 Information System Security AABFS-Jordan Summer 2006 Digital Signature and Hashing Functions Prepared by: Maher Abu Hamdeh & Adel Hamdan Supervised by:
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
CRYPTOGRAPHIC DATA INTEGRITY ALGORITHMS
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Information Security and Management 13. Digital Signatures and Authentication Protocols Chih-Hung Wang Fall
Bob can sign a message using a digital signature generation algorithm
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Network and Communications Network Security Department of Computer Science Virginia Commonwealth University.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
IT 221: Introduction to Information Security Principles Lecture 6:Digital Signatures and Authentication Protocols For Educational Purposes Only Revised:
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Authentication: keys, MAC, hashes, message digests, digital signatures.
Cryptography Protocols Anita Jones CS451 Information Security Copyright(C) Anita Jones.
10. Key Management. Contents Key Management  Public-key distribution  Secret-key distribution via public-key cryptography.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Fall 2002CS 395: Computer Security1 Chapter 11: Message Authentication and Hash Functions.
Message Authentication and Hash Functions Chapter 11.
Chapter 21 Distributed System Security Copyright © 2008.
Network Security Lecture 23 Presented by: Dr. Munam Ali Shah.
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
11.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Message Integrity and Message Authentication.
Cryptography and Network Security Chapter 13 Fourth Edition by William Stallings.
Cryptography and Network Security Chapter 13 Fourth Edition by William Stallings Lecture slides by Lawrie Brown & Süleyman KONDAKCI.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
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.
DIGITAL SIGNATURE. A digital signature is an authentication mechanism that enables the creator of a message to attach a code that acts as a signature.
Key Management Network Systems Security Mort Anvari.
X. Digital Signatures and Authentication Protocols We begin this chapter with an overview of digital signatures, authentication protocol and Digital Signature.
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
Fall 2006CS 395: Computer Security1 Key Management.
9.2 SECURE CHANNELS JEJI RAMCHAND VEDULLAPALLI. Content Introduction Authentication Message Integrity and Confidentiality Secure Group Communications.
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.
Dr. Nermin Hamza.  Attacks:  Traffic Analysis : traffic analysis occurs when an eavesdroppers observes message traffic on network. Not understand the.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Fourth Edition by William Stallings Lecture slides by Lawrie Brown
Authentication Protocols
Chapter 13 – Digital Signatures & Authentication Protocols
Subject Name: NETWORK SECURITY Subject Code: 10EC832
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
CDK: Chapter 7 TvS: Chapter 9
Digital Signatures Network Security.
Presentation transcript:

Digital Signatures and Authentication Protocols Chapter 13

2 Content Digital Signatures  Requirement  Direct Digital Signature  Arbitrated Digital Signature Authentication Protocols  Mutual Authentication  One-Way Authentication Digital Signature Standard  The DSS Approach  The Digital Signature Algorithm

3 Digital Signatures : Requirements The digital signature must have the following requirements.  The signature must be a bit pattern that depends on the message being signed.  The signature must use some information unique to the sender, to prevent both forgery and denial.  It must be easy to produce the digital signature.  It must be easy to recognize and verify the digital signature.  It must be infeasible to forge a digital signature.  It must be practical to retain a copy of the digital signature in storage. A secure hash function, embedded in a scheme.  Direct and arbitrated digital signature.

4 Digital Signatures : Direct Digital Signature The direct digital signature involves only the communicating parties (source, destination).  It is assumed that destination knows the public key of the source. Forms  Encrypt the entire message with the sender’s private key.  Encrypt a hash code of the message with the sender’s private key. To provide confidentiality  Encrypt the entire message plus signature with either the receiver’s public key or a shared secret key.

5 Digital Signatures : Direct Digital Signature Weakness  The validity of the direct scheme depends on the security of the sender’s private key.  Sender will be deny sending a particular message later if he wish.  Sender can claim that key was lost or stolen. One solution is to require every signed message to include a timestamp (date and time) and to require prompt reporting of compromised keys to a central authority.

6 Digital Signatures : Arbitrated Digital Signature Using an arbiter, all parties must have a great trust.  Every signed message from a sender X to a receiver Y goes first to an arbiter A.  Arbiter, check X ’s / Y ’s origin and content.  The message is then dated and sent to Y with an indication that it has been verified to the satisfaction of the arbiter.

7 Digital Signatures : Arbitrated Digital Signature Based on scenarios described in [AKL83] and [MITC92 ].  Assumed that the sender X and the arbiter A share a secret key K xa and that A and Y share secret key K ay.  X constructs a message M, computes hash value H(M).  Then X transmits the message plus a signature to A.  The signature consists of an ID X of X plus the hash value, all encrypted using K xa.  A decrypts the signature and checks the hash value to validate the message.  Then A transmits a message to Y, encrypted with K ay.  The message include ID X, M, the signature, and a timestamp.

8 Digital Signatures : Arbitrated Digital Signature (Cont’d)  Y can decrypt, to recover the message and signature.  The timestamp informs Y that this message is timely and not a replay.  Y can store M and the signature. In this scenario, both sides must have a high degree of trust in A.  X must trust A not to reveal K xa and not to generate false signatures of the form E Kxa [ID X || H(M)].  Y must trust A to send E Kay [ID X || M || E Kxa [ID X || H(M)] || T] only if the hash value is correct and the signature was generated by X.  Both sides must trust A to resolve disputes fairly.

9 Digital Signatures : Arbitrated Digital Signature The preceding scenario also implies that A is able to read message from X to Y. but this is unable to read message.  It is assumed that X and Y share the secret key K xy.  X transmits an identifier, a copy of the message encrypted with K xy, and a signature to A.  The signature consists of an identifier plus the hash value of encrypted message, all encrypted using K xa.  A decrypts the signature and checks the hash value to validate the message.  A is working only with the encrypted version of message and is prevented from reading it.

10 Digital Signatures : Arbitrated Digital Signature (Cont’d)  A then transmits everything that it received from X, plus a timestamp, all encrypted with K ay, to Y. A remaining problem is that the arbiter could form an alliance with the sender to deny a signed message, or with the receiver to forge the sender’s signature.

11 Digital Signatures : Arbitrated Digital Signature All problem can be resolved by public-key scheme.  X double encrypts a message M first with X ’s private key, KR x, and then with Y ’s public key, KU y.  This is a signed, secret version of the message.  This signed message, together with X ’s identifier, is encrypted again with KR x and, together with ID X, is sent to A.  A can decrypt the outer encryption to assure that the message must have come from X.  A checks to make sure that X ’s private/public key pair is still valid.  If so, verifies the message.

12 Digital Signatures : Arbitrated Digital Signature (Cont’d)  The A transmits a message to Y, encrypted with KR a.  The message includes ID X, the double-encrypted message, and a timestamp. Using public key encryption, advantages are  First, no information is shared among the parties before communication.  Second, no incorrectly dated message can be sent, even if KR x is compromised, assuming that KR a is not compromised.  Finally, the content of the message is secret.

13 Authentication Protocols Mutual Authentication  Enable communicating parties to satisfy themselves mutually about each other’s identity and to exchange session keys. One-Way Authentication  One-way authentication required when sender & receiver are not in communications at same time.

14 Authentication Protocols : Mutual Authentication Central to the problem of authenticated key exchange are two issues : confidentiality and timeliness.  Confidentiality requires secret or public keys.  Timeliness is important because of the threat of message replays.

15 Authentication Protocols : Mutual Authentication [GONG93] lists the following examples of replay attacks.  Simple replay  The opponent simply copies a message and replays it later.  Repetition that can be logged  An opponent can replay a timestamped message within the valid time window.  Repetition that cannot be detected  The original message could have been suppressed and thus did not arrive at its destination. only the replay message arrives.  Backward replay without modification  This is a replay back to the message sender.

16 Authentication Protocols : Mutual Authentication One approach to coping with replay attacks is to attach a sequence number to each message used. The difficulty with this approach is that it requires each party to keep track of the last sequence number. Instead, one of the following two general approaches is used.  Timestamps  Clocks among the various participants be synchronized.  Challenge / response  A, expecting a fresh message from B, first sends B a nonce (challenge) and requires that the subsequent message (response) received from B contain the correct nonce value.

17 Authentication Protocols : Mutual Authentication Symmetric encryption approaches  A two-level hierarchy of symmetric encryption keys can be used to provide confidentiality for communication.  Use of a trusted key distribution center (KDC).  Each party shares a secret key, know as a master key, with the KDC.  The KDC is responsible for generating keys to be used for a short time over a connection, known as session keys.  Session keys, using the master keys to protect the distribution.

18 Authentication Protocols : Mutual Authentication  A proposal initially by Needham and Schroeder [NEED78] for secret key distribution using a KDC includes authentication features.  Secret keys K a and K b are shared between A and the KDC and B and the KDC.  [Step 1] A requests to the KDC for a session key, K S. The message includes the identity of A and B and nonce, N 1.  [Step 2] The KDC responds with a message encrypted using K a.  For A, the message includes the one-time session key, K s, and original request message.  For B, the one-time session key, K s, and an identifier of A, ID A. (encrypted using K b ) 1. A → KDC : ID A || ID B || N 1 2. KDC → A : E Ka [K S || ID B || N 1 || E Kb [K S || ID A ]] 3. A → B : E Kb [K S || ID A ] 4. B → A : E ks [N 2 ] 5. A → B :E ks [f(N 2 )]

19 Authentication Protocols : Mutual Authentication  (Cont’d)  [Step 3] A forwards to B the information E Kb [K s || ID A ].  [Step 4] B sends a nonce, N 2, to A using session key.  [Step 5] Also using session key, A respond with F(N 2 ).  Assures B that this is a fresh message because of the use of the nonce N A → KDC : ID A || ID B || N 1 2. KDC → A : E Ka [K S || ID B || N 1 || E Kb [K S || ID A ]] 3. A → B : E Kb [K S || ID A ] 4. B → A : E ks [N 2 ] 5. A → B :E ks [f(N 2 )]

20 Authentication Protocols : Mutual Authentication  A proposal by Denning [DENN81, DENN82]  Include the addition of a timestamp to steps 2 and 3.  It assumes that the master keys, K a and K b, are secure.  T is a timestamp that assures A and B that the session key has only just been generated.  Step 4 and 5 confirm the receipt of the session at B. 1. A → KDC : ID A || ID B 2. KDC → A : E Ka [K S || ID B || T || E Kb [K S || ID A || T]] 3. A → B : E Kb [K S || ID A || T] 4. B → A : E ks [N 1 ] 5. A → B :E ks [f(N 1 )]

21 Authentication Protocols : Mutual Authentication  The Denning protocol requires reliance on clocks that are synchronized throughout the network.  Suppress-replay attack, [GONG92]  If a sender’s clock is ahead of the intended recipient’s clock, an opponent can intercept a message from the sender and replay is when the timestamp becomes current at the recipient’s site.  Counter suppress-replay attacks  Enforce the requirement that parties regularly check their clocks against the KDC’s clock.  To rely on handshaking protocols using nonces.

22 Authentication Protocols : Mutual Authentication  A proposal by [KEHN92]  To concerns about suppress-replay attacks and at the same time fix the problems in the Needham/Schroeder protocol.  Improved strategy was presented in [NEUM93a]  Follow this exchange step by step. 1. A → B : ID A || N a 2. B→ KDC : ID B || N b || E Kb [ID A || N a || T b ] 3. KDC → A : E Ka [ID B || N a || K S || T b ] || E Kb [ID A || K S || T b ] || N b 4. A → B : E Kb [ID A || K S || T b ] || E Ks [N b ]

23 Authentication Protocols : Mutual Authentication  (Cont’d)  [Step 1] A initiates the authentication exchange by generating a nonce, N a, and sending that plus its identifier to B.  [Step 2] B alerts the KDC that a session key is needed. Its message includes its identifier and a nonce, N b.  [Step 3] The KDC passes on to A B ’s nonce and a block encrypted with the secret key that B shares with the KDC. The block serves as a “ticket” that can be used by A for subsequent authentications. 1. A → B : ID A || N a 2. B→ KDC : ID B || N b || E Kb [ID A || N a || T b ] 3. KDC → A : E Ka [ID B || N a || K S || T b ] || E Kb [ID A || K S || T b ] || N b 4. A → B : E Kb [ID A || K S || T b ] || E Ks [N b ]

24 Authentication Protocols : Mutual Authentication  (Cont’d)  The KDC also sends A a block encrypted with the secret key shared by A and the KDC.  This block verifies that B has received A ’s initial message ( ID B ) and that this is a timely message and not a replay ( N a ), and it provides A with a session key ( K s ) and the time limit on its use ( T b ).  [Step 4] A transmits the ticket to B, together with the B ’s nonce, the latter encrypted with the session key.  B ’s nonce is encrypted with the session key authenticates that the message came form A and is not a replay. 1. A → B : ID A || N a 2. B→ KDC : ID B || N b || E Kb [ID A || N a || T b ] 3. KDC → A : E Ka [ID B || N a || K S || T b ] || E Kb [ID A || K S || T b ] || N b 4. A → B : E Kb [ID A || K S || T b ] || E Ks [N b ]

25 Authentication Protocols : Mutual Authentication  (Cont’d)  This protocol provides secure means for A and B to establish a session with a secure session key.  Leaves A in possession of a key that can be used for subsequent authentication to B, avoiding contact the authentication server repeatedly.  T b is a time relative to B ’s clock. So, does not require synchronized because B checks only self-generated timestamps.

26 Authentication Protocols : Mutual Authentication Public-key Encryption approaches.  A proposal by [DENN81], using timestamps.  AS provides public-key certificates.  The session key is chosen and encrypted by A. So, there is no risk of exposure by the AS.  The timestamps protect against replays of compromised keys.  This protocol is compact, but requires synchronization of clocks. 1. A → AS:ID A || ID B 2. AS → A: E KRas [ID A || KU a || T] || E KRas [ID B || KU b || T] 3. A → B: E KRas [ID A || KU a || T] || E KRas [ID B || KU b || T] || E KUb [E KRa [K s || T]]

27 Authentication Protocols : Mutual Authentication  A proposal by [WOO92a], makes use of nonces.  [Step 1] A informs the KDC of its intention to establish a secure connection with B.  [Step 2] The KDC returns to A a copy of B ’s public-key certificate.  [Step 3] Using B ’s public key, A informs B of its desire to communicate and sends a nonce N a. 1. A → KDC :ID A || ID B 2. KDC → A : E KRauth [ID B || KU b ] 3. A → B :E KUb [N a || ID A ] 4. B → KDC :ID B || ID A || E KUauth [N a ] 5. KDC → B :E KRauth [ID A || KU a ] || E KUb [E KRauth [N a || K S || ID B ]] 6. B → A : E KUa [E KRauth [N a || K S || ID B ] || N b ] 7. A → B :E Ks [N b ]

28 Authentication Protocols : Mutual Authentication  (Cont’d)  [Step 4] B asks the KDC for A ’s public-key certificate and requests a session key.  B includes A ’s nonce so that the KDC can stamp the session key with A ’s nonce.  The nonce is protected using the KDC ’s public-key. 1. A → KDC :ID A || ID B 2. KDC → A : E KRauth [ID B || KU b ] 3. A → B :E KUb [N a || ID A ] 4. B → KDC :ID B || ID A || E KUauth [N a ] 5. KDC → B :E KRauth [ID A || KU a ] || E KUb [E KRauth [N a || K S || ID B ]] 6. B → A : E KUa [E KRauth [N a || K S || ID B ] || N b ] 7. A → B :E Ks [N b ]

29 Authentication Protocols : Mutual Authentication  (Cont’d)  [Step 5] The KDC returns to B a copy of A ’s public-key certificate, plus the information {N a, K s, ID B }.  K s is a secret key generated by the KDC on behalf of B and tied to N a.  Triple is encrypted using KDC ’s private key, then encrypted using B ’s public key. 1. A → KDC :ID A || ID B 2. KDC → A : E KRauth [ID B || KU b ] 3. A → B :E KUb [N a || ID A ] 4. B → KDC :ID B || ID A || E KUauth [N a ] 5. KDC → B :E KRauth [ID A || KU a ] || E KUb [E KRauth [N a || K S || ID B ]] 6. B → A : E KUa [E KRauth [N a || K S || ID B ] || N b ] 7. A → B :E Ks [N b ]

30 Authentication Protocols : Mutual Authentication  (Cont’d)  [Step 6] The triple {N a, K s, ID B } is relayed to A, together with a nonce N b generated by B.  All are encrypted using A ’s public key.  A retrieves the session key K s and uses it to encrypt N b and return it to B. 1. A → KDC :ID A || ID B 2. KDC → A : E KRauth [ID B || KU b ] 3. A → B :E KUb [N a || ID A ] 4. B → KDC :ID B || ID A || E KUauth [N a ] 5. KDC → B :E KRauth [ID A || KU a ] || E KUb [E KRauth [N a || K S || ID B ]] 6. B → A : E KUa [E KRauth [N a || K S || ID B ] || N b ] 7. A → B :E Ks [N b ]

31 Authentication Protocols : Mutual Authentication A revised version of [WOO92b]  The identifier of A, ID A, is added to the set of items encrypted with the KDC ’s private key in steps 5 and 6.  This binds the session key K s to the identities of the two parties.  It is the pair {ID A, N a } that uniquely identifies, generated by A. 1. A → KDC :ID A || ID B 2. KDC → A : E KRauth [ID B || KU b ] 3. A → B :E KUb [N a || ID A ] 4. B → KDC :ID B || ID A || E KUauth [N a ] 5. KDC → B :E KRauth [ID A || KU a ] || E KUb [E KRauth [N a || K S || ID A || ID B ]] 6. B → A : E KUa [E KRauth [N a || K S || ID A || ID B ] || N b ] 7. A → B :E Ks [N b ]

32 Authentication Protocols : One-Way Authentication One-way authentication required when sender & receiver are not in communications at same time. (eg. )

33 Authentication Protocols : One-Way Authentication Symmetric encryption approach  To avoid the recipient be on line at the same time, step 4 and 5 must be eliminated.  Not protect against replays. 1. A → KDC : ID A || ID B || N 1 2. KDC → A : E Ka [K S || ID B || N 1 || E Kb [K S || ID A ]] 3. A → B : E Kb [K S || ID A ] 4. B → A : E ks [N 2 ] 5. A → B :E ks [f(N 2 )] 1. A → KDC : ID A || ID B || N 1 2. KDC → A : E Ka [K S || ID B || N 1 || E Kb [K S || ID A ]] 3. A → B : E Kb [K S || ID A ]

34 Authentication Protocols : One-Way Authentication Public-key encryption approaches  If confidentiality is primary concern  The message is encrypted with a one-time secret key.  A also encrypts this one-time key with B ’s public key. A → B: E KUb [K s ] || E Ks [M]

35 Authentication Protocols : One-Way Authentication  If authentication is the primary concern  A cannot later deny having sent the message.  Open to fraud.  To Counter, can be encrypted with the recipient’s public key. A→B: M || E KRa [H(M)] A→B: E KUb [M || E KRa [H(M)]]

36 Authentication Protocols : One-Way Authentication  An effective way to provide this assurance is the digital certificate.  A sends B the signature, encrypted with A ’s private key, and A ’s certificate, encrypted with the private key of the authentication server. A→B: M || E KRa [H(M)] || E KRas [T || ID A || KU a ]

37 Digital Signature Standard The DDS use an algorithm that is designed to provide only the digital signature function.

38 Digital Signature Standard

39 Digital Signature Standard