Key Distribution

advertisement
Key Distribution
SMU
CSE 5349/7349
Where to Put Encryption?
• Link level
– Vulnerable links equipped with encryption
devices on both sides
– Needs large number of devices
– Needs decryption to perform routing
• End-to-end
– Carried out at the end systems
– Can encrypt only the data portion and not the
header
SMU
CSE 5349/7349
Link vs. End-to-End Key Distribution
• Link keys must be distributed to each pair
of link endpoints in advance
– Relatively easy to distribute securely
• For e-t-e, must generate and distribute
many keys, often in real time
SMU
CSE 5349/7349
Logical Placement
•
•
•
•
Application layer
Transport layer
Network layer
Link layer
SMU
CSE 5349/7349
Traffic Analysis
• Both techniques hide user data (payload)
• Link encryption
– Hides address information
– Buffers clear data in each node
• E-T-E encryption
– Leaves addresses in the clear
– No need to buffer decrypted payload
• Use both techniques?
SMU
CSE 5349/7349
Traffic Analysis
• Identities of communicating partners
• Frequency of communication
• Message patterns, e.g., length, quantity,
(encrypted) content
• Correlation between messages and real
world events
• Can (sometimes) be defeated through
traffic padding
SMU
CSE 5349/7349
Covert Channels
• Essentially, the dual of traffic analysis
• Usually intended to violate or defeat a
security policy
• Examples
– Message length
– Message content
– Message presence
SMU
CSE 5349/7349
Key Distribution
• Most important component in secure
transmission.
• Options: (between A and B).
– A selects a key and physically delivers it to B.
– A trusted third party key distribution center
(KDC) selects a key and physically delivers it to
A and B.
– If A and B already have have a viable key, it can
be used to distribute a new key.
– If A and B have a secure link to KDC, can
receive the key through that channel.
SMU
CSE 5349/7349
Key Distribution (cont’d)
• Manual delivery is straightforward for link
encryption, challenging for E-T-E
• The number of keys grows quadratically
with the number of endpoints (n*(n-1)/2)
– Further complexity for application/user level
encryption
• KDC a good alternative
– Only n master keys required
SMU
CSE 5349/7349
Decentralized Distribution
• No need for KDC to be trusted and
protected
• Any two nodes can establish a session key
– Needs n(n-1)/2 master keys
– Can generate any number of session keys
• Key distribution protocol
SMU
CSE 5349/7349
Public Key Management
• Distribution of public keys
– Public announcement
– Public directories
– Public-key authority
– Public-key certificates
• Use of public-key encryption to distribute
secret keys
SMU
CSE 5349/7349
Public-Key Authority and
Certificates
• Very similar to session key obtaining
process
• Both the parties are assumed to have
authority’s public key
• Authority sends the key encrypted in
private key (for authentication)
– Authority could be a bottle-neck
• Instead use certificates authenticated by
authority
SMU
CSE 5349/7349
Public-key distribution of
secret keys
• A sends {public key, ID) to B
• B sends secret key encrypted in Kua
• A decrypts for private key
SMU
CSE 5349/7349
Public-Key Authority
Public-key
authority
(1) Request|T1
(4) Request|T2
(5) EKd_auth[Ke_a|Request|T2]
(2) EKd_auth[Ke_b|Request|T1]
(3) EKe_b[IDA| N1]
A
(6) EKe_a[N1|N2]
(7) EKe_b[N2]
SMU
CSE 5349/7349
B
Public-Key Certificates
• A certificate contains a public key and
other information
– Created by a certificate authority
– Given to the participant with the matching
private key
• A participant transmits its certificate to
convey its key information
– Other participants can verify that the
certificate was created by the authority
• All nodes are pre-configured with the public key of
the certificate authority (CA)
SMU
CSE 5349/7349
Exchange of Public-key Certificates
Certificate
Authority
Ke_b
CB= EKd_auth[T2, IDB, Ke_b]
Ke_a
CA= EKd_auth[T1, IDA, Ke_a]
(1) CA
A
(2) CB
B
B does: DKe_auth(CA)= DKe_auth(EKd_auth[T1, IDA, Ke_a]) = (T1, IDA, Ke_a),
hence gets the public key of A
SMU
CSE 5349/7349
Public-key distribution of
secret keys
• A sends {public key, ID) to B
• B sends secret key encrypted in Kua
• A decrypts for private key
– Vulnerable to active attack?
(1) Ku_a|IDA
A
SMU
(2) EKu_a[Ks]
CSE 5349/7349
B
Distribution With Confidentiality
and Authentication
(1) EKu_b[N1|IDA]
A
(2) EKu_a[N1| N2]
(3) EKu_b[N2]
(4) EKu_b[EKr_a[Ks]]
SMU
CSE 5349/7349
B
Diffie-Hellman KE
• Public information:
p is a prime number
g is a generating element of Zp
• Alice’s
– Private Key : a
– Public Key : ga mod p
• Bob’s
– Private Key : b
– Public Key : gb mod p
SMU
CSE 5349/7349
DH Key Exchange
• Key Exchange:
– Alice obtains gb and computes
(gb)a = gab mod p = ks
– Bob obtains ga and computes
(ga)b = gab mod p = ks
Alice and Bob have agreed upon key ks
• The well-known man-in-the-middle attack
exploits the lack of authentication
SMU
CSE 5349/7349
Diffie-Hellman Scheme
• Security factors
– Discrete logarithm very difficult.
– Shared key (the secret) itself never
transmitted.
• Disadvantages:
– Expensive exponential operation
– The scheme itself cannot be used to encrypt
anything – it is for secret key establishment.
– No authentication, so you can not sign anything
SMU
CSE 5349/7349
Man-In-The-Middle Attack
Alice
ga=123
123 -->
Eve
Bob
ge =654
gb =255
654 -->
<--654
<--255
gae
geb
Eve plays Bob to Alice and Alice to Bob
SMU
CSE 5349/7349
DH in Phone Book Mode
• In the attack public key-component was
intercepted and substituted
• Phone book mode allows everyone to
generate the public key-component in
advance and publish them through other
reliable means
• All communicating parties agree on their
common <g, p>
SMU
CSE 5349/7349
Authenticated DH
• Alice sends ga mod p to Bob and Bob
computes kB = (ga )b mod p.
• Bob sends gb mod p and SB(gb, ga) and his
certificate to Alice
• Alice computes kA = (gb )a mod p.
• Finally, Alice sends ga mod p and SA(ga, gb)
and his certificate to Bob
SMU
CSE 5349/7349
Key Generation
• Manual selection – not good
• Using pass-phrase
• Random generation
– PRNG
– Standards
SMU
CSE 5349/7349
Random Number Generation
• Need
– Stream Key
– Encryption keys
• Secret symmetric keys
• Private asymmetric keys
• Session keys
– Digital Signature Schemes
• RSA
– Against replay attacks
• Nonce
SMU
CSE 5349/7349
How do we know?
SMU
CSE 5349/7349
True Random Sources
– Elapsed time between emissions of particles
from a radioactive source
– Quantum effects in a semiconductor, such as a
noisy diode or a noisy resistor
– Frequency fluctuations of free-running
oscillators
– Fluctuations in the amount a metal insulator
semiconductor capacitor is charged during a
fixed period of time
– Fluctuations in read times caused by air
turbulence within a sealed disk drive
SMU
CSE 5349/7349
Typical Implementation
SMU
CSE 5349/7349
Cryptographic PRNGs
• RNG from a counter
• ANSI X9.17 PRNG
– 2 pr inputs
– 3 Triple DES encryption
• Blum Blum Shub generator
– Considered to be cryptographically
secure
SMU
CSE 5349/7349
Download