Security Protocols
Protocol
A protocol consists of a set of rules that determine the exchange of messages between two or more principals.
Link to original
Security protocol
Security protocols use cryptographic mechanisms to achieve security objectives.
Link to original
Building a key establishment protocol
Not examined, slides lec 1. 8-32.
Syntax for messages, communication, protocols
Message syntax (cryptography)
Messages
- Names: or Alice, Bob, etc
- Keys: and inverse keys
- Encryption , e.g. encryption with ‘s public key:
- Signing , e.g. signing with ‘s public key:
- Symmetric keys
- Nonces: Fresh data items used for challenge / response.
- Timestamps: Denote time, e.g. used for key expiration.
- Message concatenation:
Link to originalExample of a message:
Communication syntax (cryptography)
Communication is a fundamental event between principals.
Link to original
- and name roles. Can be instantiated by any principal playing in the role.
- Communication is asynchronous (depends on semantic model).
- Sender / receiver names are not part of the message.
- Protocol specifies actions of principals.
Protocol syntax (cryptography)
Protocols A typical protocol description combines prose, data type specifications, various diagrams, ad hoc notations, and message sequences like:
Often includes informal statements concerning properties and why they should hold.
Link to original
Example: Needham-Schroeder Public Key (NSPK) protocol
Needham-Schroeder Public Key (NSPK) protocol
The goal of NSPK is for mutual authentication, in effect:
Link to original
- Alice chooses a nonce () and sends it to Bob.
- Bob sends the nonce back (and since he could read it he must be Bob), but be also adds a challenge nonce () and sends it back.
- Alice sends back the challenge nonce, since only Alice can read it and he sent it back, it must be Alice that he is talking to.
Each principal executes a "protocol automation", e.g. Alice in role A
- State :
- Generate nonce pair with name and encrypt with .
- Send to Bob.
- Goto state .
- State :
- Receive message and decrypt it:
- If is not of the form for some nonce , then goto reject state else goto state .
- State : …
- State reject: terminate with failure
NB. principals can be engaged in multiple runs => multiple automata
Assumptions
- Principals know their private keys.
- Principals know public keys of others.
- Principals can generate nonces.
Goals (what the protocol can achieve)
- Authenticate messages, binding them to their originator
- Ensure timeliness of messages (recent, fresh, etc)
- Guarantee secrecy of certain items
Dolev-Yao attacker model
The Dolev-Yao attacker (/ intruder) model is a standard list of strong assumptions about an attacker, which protocols shown secure in respect to means they would work in a large range of environments:
Link to original
- Attacker can intercept and read all messages
- Attacker can decompose messages into their parts (cryptography is secure and decryption requires inverse keys)
- Attacker can build new messages with different constructors
- Attacker can send messages at any time
MITM attack on NSPK
decrypts the initial message and re-encrypts it with ‘s public key.
is led to believe he is speaking with . The problem in step 2 is that agent should also provide his name.
NSL Protocol
Let’s suppose we include ‘s name in the second step:
can now abort the protocol execution / ignore the message.
It is now secure against this attack but may still be vulnerable to replay attacks among other things.
Examples of protocols and possible vulnerabilities
Not examined, slides lec 1. 51-52, 57-83.
Prudent engineering of security protocols
Not examined, slides lec 1. 85-87.
The Kerberos Protocol
Kerberos Protocol
The Kerberos protocol is a network authentication protocol.
Link to original
Protocol requirements
Kerberos protocol requirements
Link to original
- Secure: an eavesdropper should not be able to impersonate users
- Reliable: many services depend on Kerberos for access control, must be highly reliable and support a distributed architecture where one system can back up another
- Transparent: each user should enter a single password to obtain network services and should be unaware of underlying protocols. (these days referred to as single sign-on)
- Scalable: system should scale to support large numbers of users and servers; this suggests a modular, distributed architecture
Kerberos (v4) Architecture
Kerberos (v4) architecture
Authentication using the Kerberos Authentication Server (KAS). Authorization using the Ticket Granting Server (TGS).
Link to original
Kerberos (v4) Operation
Kerberos (v4) operation
Link to original
Kerberos (v4) Protocol
Kerberos (v4) protocol
Authentication phase
- :
- logs onto workstation and requests network resources.
- accesses database and sends a session key and an encrypted ticket .
- has lifetime of several hours (depending on application) as specified by timestamp . is derived from user’s password. Both user and server keys must be registered in database.
- types password on workstation to decrypt results, which are stored for session. is logged out when expires.
Authorization phase 3. 4.
Before ‘s first access of resource managed by the server :
- presents from message to together with a new with a short liftetime as specified by .
- The authenticator prevents replay attacks by having a short validity.
- Servers store recent authenticators to prevent immediate replay attacks.
- issues a new session key (with a lifetime of a few minutes as specified by ) and a new ticket where is a key shared between and .
Service phase 5. 6.
For to access resources managed by :
Link to original
- presents a ticket from to along with a new authenticator.
- replies (optional), authenticating service.
Scalability / Multiple Realms / Kerberi
Realm (Kerberos)
A realm is defined by a Kerberos server, it stores user and application server passwords for the realm.
A large network may be divided into administrative realms. Kerberos supports inter-realm protocols where servers register with each other. For to access in another realm, the TGS in ‘s realm receives a request and grants a ticket to access TGS in ‘s realm.
Link to original
Limitations of Kerberos (v4)
Kerberos (v4) limitations
Link to original
- Encryption is not needed, but attacker can flood
- Double encryption is redundant (eliminated in Kerberos 5)
- Relies on synchronised and un-compromised clocks. If the host is compromised, clock can be manipulated for replay attacks.



