Computer and Network Security
Computer and Network Security
Security Protocol
An agreement between communication parties about the process and the format of security bootstrap, authentication, key establishment, encryption/hashing algorithm and parameter negotiation, etc. Typically include
Authentication handshake Session key negotiation, algorithm/parameter negotiation Data encryption and/or integrity protection
Security Bootstrap
Shared secret
Password (for human users) Preshared key (between firewalls) Ticket by KDC (among a large number of participates)
Public key
Manually configured Certificate by CA
Protocol 2
Let K be the shared secret. Alice Bob: Im Alice Bob Alice: K{R} Alice Bob: R Issues: same as Protocol 1 If R is a recognizable number (e.g., with a fixed number of tailing zero), then it does mutual authentication, but also makes the off-line password-guessing attack easier. Make R recognizable but with limited lifetime. For instance, timestamp. It however requires clock synchronization.
Protocol 3
Let K be the shared secret. Alice Bob: Im Alice, K{timestamp} Advantage: a) It can be easily added into an existing protocol. b) Bob is stateless. Issues: replay attack, reset-clock attack
Protocol 4
Let K be the shared secret Alice Bob: Im Alice, timestamp, hash(K, timestamp)
Protocol 6
Alice Bob: Im Alice Bob Alice: {R}Alice Alice Bob: R
Protocol 8
Alice Bob: Im Alice, R2 Bob Alice: R1, K{R2} or hash(R2, K) Alice Bob: K{R1} or hash(R1, K) Issues: reflection attack, password guessing Rule: Alice and Bob should not do the same thing.
Protocol 11
Alice Bob: Im Alice Bob Alice: R1 Alice Bob: K{R1}, R2 Bob Alice: K{R2} Less vulnerable to password guessing. The attack has to eavesdrop.
Variant
Alice Bob: Im Alice, R2 Bob Alice: [R2]Bob, R1 Alice Bob: [R1]Alice