Security protocol notation
|
Security (engineering) protocol notation is a way of expressing a protocol of correspondence between entities of a dynamic system, such as a computer network. It allows reasoning about the properties of such a system, and provides a formal model, to which the BAN logic can be applied.
The standard notation consists of a set of individuals (traditionally named Alice, Bob, Charlie and so on) who wish to communicate. They may have access to a server S, shared keys K, timestamps T, and can generate nonces N for authentication purposes.
A simple example might be the following:
- <math>A\rightarrow B:\{X_1\}_{K_{AB}}<math>
This states that Alice intends a message for Bob consisting of a plain text <math>X_1<math> encrypted under shared key KAB.
Another example might be the following:
- <math>B\rightarrow A:\{N_B\}_{PK(B)}<math>
This states that Bob intends a message for Alice consisting of a Nonce encrypted using public key of Bob.
A key with two subscripts is a symmetric key shared by the two corresponding individuals. A key with one subscript is the public key of the corresponding individual. A private key is represented as the inverse of the public key.
The notation specifies only the operation and not its semantics - for instance, public key encryption and signature are represented identically.
We can express more complicated protocols in such a fashion, see Kerberos as an example.