 Authorization via symmetric crypto
 Key exchange
o Using asymmetric crypto
o Using symmetric crypto with KDC
 KDC shares a key with every participant
 Authenticates participants, generates session (shared)
keys for them to talk to each other
 Gives the requester a “ticket” – session key,
requester’s ID and possibly expiration time, encrypted
by the key that the server shares with KDC
 Ticket and session key enrypted by the key that the
requester shares with KDC
 Needham-Schroeder, Kerberos
Third-party authentication service
oDistributes session keys for authentication,
confidentiality, and integrity
KDC
1. C, S, NC
2. KC(NC, KCS, S, KS (KCS, C ))
C S
3.KS (KCS, C )
4.KCS (NS )
5.KCS (NS-1)
Problem: replay attack
in step 3
Fix: use timestamps
 Introduce Ticket Granting Server (TGS)
o Issues timed keys to resources
 Users log on to authentication server (AS)
 AS+TGS = KDC
 Uses timestamps with a lifetime instead of
nonces
o Fixes freshness problem from Needham-
Schroeder
Third-party authentication service
oDistributes session keys for authentication,
confidentiality, and integrity
TGS
4. KC,TGS(KC,S), TCS
3. TGT, S, KC,TGS(C, t)
AS
1.C 2. KC(KC,TGS), TGT
C S
5. TCS, KC,S(C,t)
KC=hash(pass(C))
TGT=KTGS(C,Tvalid,KC,TGS)
TCS=KS(C,Tvalid,KC,S)
6. KC,S(t+1)
 Public key is public but …
o How does either side know who and what the key
is for?
 Does this solve key distribution problem?
o No – while confidentiality is not required,
integrity is
 Still need trusted third party
o Digital certificates – certificate authority (CA) signs
identity+public key tuple with its private key
o Problem is finding a CA that both client and server
trust
 Everyone has Trent’s public key
 Trent signs both Alice’s and Bob’s public
keys – he generates public-key certificate
 When they receive keys, verify the signature
 Mallory cannot impersonate Alice or Bob
because her key is signed as Mallory’s
 Certificate usually contains more than the
public key
oName, network address, organization
 Trent is known as Certificate Authority (CA)
Authentication steps
oVerifier provides nonce, or a timestamp is used
instead.
oPrincipal selects session key and sends it to verifier
with nonce, encrypted with principal’s private key
and verifier’s public key, sends principal’s
certificate too
oVerifier validates certificate
oVerifier checks signature on nonce
 PGP (Pretty Good Privacy)
o“Web of Trust”
o Source: Wikipedia
 “As time goes on, you will accumulate keys from
other people that you may want to designate as
trusted introducers. Everyone else will each choose
their own trusted introducers. And everyone will
gradually accumulate and distribute with their key a
collection of certifying signatures from other
people, with the expectation that anyone receiving
it will trust at least one or two of the signatures.
This will cause the emergence of a decentralized
fault-tolerant web of confidence for all public
keys.“
 X.509 standard
o Hierarchical model
o A handful of trusted CAs can issue certificates
to others
 SSH
o User keys exchanged out of band
o Weak assurance of server keys
 Is this the same host you spoke with last
time?
 Revocation lists (CRL’s)
o Long lists
o Hard to propagate
 Lifetime / Expiration
o Short life allows assurance of validity at time
of issue but increases cost of key distribution
 Real-time validation
o Online Certificate Status Protocol (OCSP)
o Single source of the compromised key list
o Clients check suspicious keys and hash
replies
 Group key vs. Individual key
o Proves that one belongs to the group vs. proving
an individual identity
o E.g., used for multicast messages
 Revoking access
o Change keys, redistribute
 Joining and leaving groups
o Does one see old messages on join or is the key
changed – backward secrecy
o How to revoke access – forward secrecy
 Robustness
o Coping with network partitioning
 Efficiency
o Cost of use, verification, exchange
 Centralized
o Single entity issues keys
o Optimization to reduce traffic for large groups
o May utilize application specific knowledge
 Decentralized
o Employs sub managers
 Distributed
o Members do key generation
o May involve group contributions

Key exchange in crypto

  • 1.
     Authorization viasymmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant  Authenticates participants, generates session (shared) keys for them to talk to each other  Gives the requester a “ticket” – session key, requester’s ID and possibly expiration time, encrypted by the key that the server shares with KDC  Ticket and session key enrypted by the key that the requester shares with KDC  Needham-Schroeder, Kerberos
  • 2.
    Third-party authentication service oDistributessession keys for authentication, confidentiality, and integrity KDC 1. C, S, NC 2. KC(NC, KCS, S, KS (KCS, C )) C S 3.KS (KCS, C ) 4.KCS (NS ) 5.KCS (NS-1) Problem: replay attack in step 3 Fix: use timestamps
  • 3.
     Introduce TicketGranting Server (TGS) o Issues timed keys to resources  Users log on to authentication server (AS)  AS+TGS = KDC  Uses timestamps with a lifetime instead of nonces o Fixes freshness problem from Needham- Schroeder
  • 4.
    Third-party authentication service oDistributessession keys for authentication, confidentiality, and integrity TGS 4. KC,TGS(KC,S), TCS 3. TGT, S, KC,TGS(C, t) AS 1.C 2. KC(KC,TGS), TGT C S 5. TCS, KC,S(C,t) KC=hash(pass(C)) TGT=KTGS(C,Tvalid,KC,TGS) TCS=KS(C,Tvalid,KC,S) 6. KC,S(t+1)
  • 5.
     Public keyis public but … o How does either side know who and what the key is for?  Does this solve key distribution problem? o No – while confidentiality is not required, integrity is  Still need trusted third party o Digital certificates – certificate authority (CA) signs identity+public key tuple with its private key o Problem is finding a CA that both client and server trust
  • 6.
     Everyone hasTrent’s public key  Trent signs both Alice’s and Bob’s public keys – he generates public-key certificate  When they receive keys, verify the signature  Mallory cannot impersonate Alice or Bob because her key is signed as Mallory’s  Certificate usually contains more than the public key oName, network address, organization  Trent is known as Certificate Authority (CA)
  • 7.
    Authentication steps oVerifier providesnonce, or a timestamp is used instead. oPrincipal selects session key and sends it to verifier with nonce, encrypted with principal’s private key and verifier’s public key, sends principal’s certificate too oVerifier validates certificate oVerifier checks signature on nonce
  • 8.
     PGP (PrettyGood Privacy) o“Web of Trust” o Source: Wikipedia  “As time goes on, you will accumulate keys from other people that you may want to designate as trusted introducers. Everyone else will each choose their own trusted introducers. And everyone will gradually accumulate and distribute with their key a collection of certifying signatures from other people, with the expectation that anyone receiving it will trust at least one or two of the signatures. This will cause the emergence of a decentralized fault-tolerant web of confidence for all public keys.“
  • 9.
     X.509 standard oHierarchical model o A handful of trusted CAs can issue certificates to others
  • 10.
     SSH o Userkeys exchanged out of band o Weak assurance of server keys  Is this the same host you spoke with last time?
  • 11.
     Revocation lists(CRL’s) o Long lists o Hard to propagate  Lifetime / Expiration o Short life allows assurance of validity at time of issue but increases cost of key distribution  Real-time validation o Online Certificate Status Protocol (OCSP) o Single source of the compromised key list o Clients check suspicious keys and hash replies
  • 12.
     Group keyvs. Individual key o Proves that one belongs to the group vs. proving an individual identity o E.g., used for multicast messages
  • 13.
     Revoking access oChange keys, redistribute  Joining and leaving groups o Does one see old messages on join or is the key changed – backward secrecy o How to revoke access – forward secrecy  Robustness o Coping with network partitioning  Efficiency o Cost of use, verification, exchange
  • 14.
     Centralized o Singleentity issues keys o Optimization to reduce traffic for large groups o May utilize application specific knowledge  Decentralized o Employs sub managers  Distributed o Members do key generation o May involve group contributions