Cryptography and
Cryptography and
Network Security
Network Security
Chapter 13
Chapter 13
Fourth Edition Fourth Edition by William Stallings by William Stallings
Chapter 13 –
Chapter 13 –
Digital Signatures &
Digital Signatures &
Authentication Protocols
Authentication Protocols
To guard against the baneful influence exerted by strangers To guard against the baneful influence exerted by strangers
is therefore an elementary dictate of savage prudence. is therefore an elementary dictate of savage prudence.
Hence before strangers are allowed to enter a district, or Hence before strangers are allowed to enter a district, or
at least before they are permitted to mingle freely with at least before they are permitted to mingle freely with
the inhabitants, certain ceremonies are often performed the inhabitants, certain ceremonies are often performed
by the natives of the country for the purpose of disarming by the natives of the country for the purpose of disarming
the strangers of their magical powers, or of disinfecting, the strangers of their magical powers, or of disinfecting,
so to speak, the tainted atmosphere by which they are so to speak, the tainted atmosphere by which they are
supposed to be surrounded. supposed to be surrounded.
—
Digital Signatures
Digital Signatures
have looked at have looked at message authentication message authentication but does not address issues of lack of trustbut does not address issues of lack of trust digital signatures provide the ability to: digital signatures provide the ability to:
verify author, date & time of signatureverify author, date & time of signature authenticate message contents authenticate message contents
be verified by third parties to resolve disputesbe verified by third parties to resolve disputes hence include authentication function with hence include authentication function with
Digital Signature Properties
Digital Signature Properties
must depend on the message signedmust depend on the message signed
must use information unique to sendermust use information unique to sender
to prevent both forgery and denialto prevent both forgery and denial
must be relatively easy to producemust be relatively easy to produce
must be relatively easy to recognize & verifymust be relatively easy to recognize & verify be computationally infeasible to forge be computationally infeasible to forge
with new message for existing digital signaturewith new message for existing digital signature
Direct Digital Signatures
Direct Digital Signatures
involve only sender & receiverinvolve only sender & receiver
assumed receiver has sender’s public-keyassumed receiver has sender’s public-key digital signature made by sender signing digital signature made by sender signing
entire message or hash with private-key entire message or hash with private-key
can encrypt using receivers public-keycan encrypt using receivers public-key important that sign first then encrypt important that sign first then encrypt
message & signature message & signature
Arbitrated Digital Signatures
Arbitrated Digital Signatures
involves use of arbiter Ainvolves use of arbiter A
validates any signed messagevalidates any signed message
then dated and sent to recipientthen dated and sent to recipient
requires suitable level of trust in arbiterrequires suitable level of trust in arbiter
can be implemented with either private or can be implemented with either private or
public-key algorithms public-key algorithms
Authentication Protocols
Authentication Protocols
used to convince parties of each others used to convince parties of each others
identity and to exchange session keys identity and to exchange session keys
may be one-way or mutualmay be one-way or mutual
key issues arekey issues are
confidentiality – to protect session keysconfidentiality – to protect session keys
timeliness – to prevent replay attackstimeliness – to prevent replay attacks
published protocols are often found to published protocols are often found to
Replay Attacks
Replay Attacks
where a valid signed message is copied and where a valid signed message is copied and
later resent later resent
simple replaysimple replay
repetition that can be loggedrepetition that can be logged
repetition that cannot be detectedrepetition that cannot be detected
backward replay without modificationbackward replay without modification countermeasures includecountermeasures include
use of sequence numbers (generally impractical)use of sequence numbers (generally impractical) timestamps (needs synchronized clocks)timestamps (needs synchronized clocks)
Using Symmetric Encryption
Using Symmetric Encryption
as discussed previously can use a two-as discussed previously can use a
two-level hierarchy of keys level hierarchy of keys
usually with a trusted Key Distribution usually with a trusted Key Distribution
Center (KDC) Center (KDC)
each party shares own master key with KDCeach party shares own master key with KDC
KDC generates session keys used for KDC generates session keys used for
connections between parties connections between parties
Needham-Schroeder Protocol
Needham-Schroeder Protocol
original third-party key distribution protocoloriginal third-party key distribution protocol for session between A B mediated by KDCfor session between A B mediated by KDC protocol overview is:protocol overview is:
1.
1. A->KDC: A->KDC: IDIDAA || || IDIDBB || || NN11
2
2. KDC ->. KDC -> A: EA: EKaKa[Ks[Ks || || IDIDBB || || NN11 || E || EKbKb[[KsKs||||IDIDAA] ]] ]
3.
3. A ->A -> B: B: EEKbKb[[KsKs||||IDIDAA]]
4.
4. B ->B -> A: A: EEKsKs[[NN22]]
5.
Needham-Schroeder Protocol
Needham-Schroeder Protocol
used to securely distribute a new session used to securely distribute a new session
key for communications between A & B key for communications between A & B
but is vulnerable to a replay attack if an old but is vulnerable to a replay attack if an old
session key has been compromised session key has been compromised
then message 3 can be resent convincing B then message 3 can be resent convincing B
that is communicating with A that is communicating with A
modifications to address this require:modifications to address this require: timestamps (Denning 81)timestamps (Denning 81)
Using Public-Key Encryption
Using Public-Key Encryption
have a range of approaches based on the have a range of approaches based on the
use of public-key encryption use of public-key encryption
need to ensure have correct public keys need to ensure have correct public keys
for other parties for other parties
using a central Authentication Server (AS)using a central Authentication Server (AS)
various protocols exist using timestamps various protocols exist using timestamps
Denning AS Protocol
Denning AS Protocol
Denning 81 presented the following:Denning 81 presented the following:
1.
1. A ->A -> AS: AS: IDIDAA || || IDIDBB
2.
2. AS ->AS -> A: EA: EPRasPRas[[IDIDAA||PU||PUaa||T] || E||T] || EPRasPRas[[IDIDBB||PU||PUbb||T] ||T]
3.
3. A ->A -> B: EB: EPRasPRas[[IDIDAA||PU||PUaa||T] || E||T] || EPRasPRas[[IDIDBB||PU||PUbb||T] || ||T] || E
EPUbPUb[E[EPRasPRas[K[Kss||T]] ||T]]
note session key is chosen by A, hence AS need note session key is chosen by A, hence AS need
not be trusted to protect it not be trusted to protect it
timestamps prevent replay but require timestamps prevent replay but require
One-Way Authentication
One-Way Authentication
required when sender & receiver are not in required when sender & receiver are not in
communications at same time (eg. email) communications at same time (eg. email)
have header in clear so can be delivered have header in clear so can be delivered
by email system by email system
may want contents of body protected & may want contents of body protected &
Using Symmetric Encryption
Using Symmetric Encryption
can refine use of KDC but can’t have final can refine use of KDC but can’t have final
exchange of nonces, vis: exchange of nonces, vis:
1.
1. AA->->KDC: KDC: IDIDAA || || IDIDBB || || NN11
2
2. KDC . KDC -> -> A: EA: EKaKa[Ks[Ks || || IDIDBB || || NN11 || E || EKbKb[[KsKs||||IDIDAA] ]] ]
3.
3. A A -> -> B: B: EEKbKb[[KsKs||||IDIDAA] || E] || EKsKs[M][M]
does not protect against replaysdoes not protect against replays
could rely on timestamp in message, though could rely on timestamp in message, though
Public-Key Approaches
Public-Key Approaches
have seen some public-key approacheshave seen some public-key approaches
if confidentiality is major concern, can use:if confidentiality is major concern, can use:
A
A->->B: EB: EPUbPUb[Ks] || E[Ks] || EKsKs[M][M]
has encrypted session key, encrypted messagehas encrypted session key, encrypted message
if authentication needed use a digital if authentication needed use a digital
signature with a digital certificate: signature with a digital certificate:
A
A->->B: M || EB: M || EPRaPRa[H(M)] || E[H(M)] || EPRasPRas[T||ID[T||IDAA||PU||PUaa] ]
Digital Signature
Digital Signature
Standard
Standard
(DSS)
(DSS)
US Govt approved signature schemeUS Govt approved signature scheme designed by NIST & NSA in early 90's designed by NIST & NSA in early 90's published as FIPS-186 in 1991published as FIPS-186 in 1991
revised in 1993, 1996 & then 2000revised in 1993, 1996 & then 2000 uses the SHA hash algorithm uses the SHA hash algorithm
DSS is the standard, DSA is the algorithmDSS is the standard, DSA is the algorithm
FIPS 186-2 (2000) includes alternative RSA & FIPS 186-2 (2000) includes alternative RSA &
Digital Signature
Digital Signature
Algorithm
Algorithm
(DSA)
(DSA)
creates a 320 bit signaturecreates a 320 bit signature
with 512-1024 bit securitywith 512-1024 bit security
smaller and faster than RSAsmaller and faster than RSA
a digital signature scheme onlya digital signature scheme only
security depends on difficulty of computing security depends on difficulty of computing
discrete logarithms discrete logarithms
Digital Signature
Digital Signature
Algorithm
Algorithm
(DSA)
DSA Key Generation
DSA Key Generation
have shared global public key values (p,q,g): have shared global public key values (p,q,g):
choose q, a 160 bit choose q, a 160 bit
choose a large prime choose a large prime p = 2p = 2LL
• where L= 512 to 1024 bits and is a multiple of 64where L= 512 to 1024 bits and is a multiple of 64
• and q is a prime factor of and q is a prime factor of (p-1)(p-1)
choose choose g = hg = h(p-1)/q(p-1)/q
• where where h<p-1, hh<p-1, h(p-1)/q (p-1)/q (mod p) > 1(mod p) > 1
users choose private & compute public key: users choose private & compute public key:
choose choose x<qx<q
DSA Signature Creation
DSA Signature Creation
to to signsign a message a message MM the sender: the sender:
generates a random signature key generates a random signature key k, k<qk, k<q
nb. nb. kk must be random, be destroyed after must be random, be destroyed after
use, and never be reused use, and never be reused
then computes signature pair: then computes signature pair:
r = (g
r = (gkk(mod p))(mod q) (mod p))(mod q)
s = (k
s = (k-1-1.H(M)+ x.r)(mod q).H(M)+ x.r)(mod q)
DSA Signature Verification
DSA Signature Verification
having received M & having received M & signature signature (r,s)(r,s)
to to verifyverify a signature, recipient computes: a signature, recipient computes:
w = s
w = s-1-1(mod q) (mod q)
u1= (H(M).w)(mod q) u1= (H(M).w)(mod q)
u2= (r.w)(mod q) u2= (r.w)(mod q)
v = (g
v = (gu1u1.y.yu2u2(mod p)) (mod q) (mod p)) (mod q) if if v=rv=r then signature is verified then signature is verified
Summary
Summary
have discussed:have discussed:
digital signaturesdigital signatures
authentication protocols (mutual & one-way)authentication protocols (mutual & one-way)