In
cryptography, security (engineering) protocol notation, also known as protocol narrations and Alice & Bob notation, is a way of expressing a
protocol of correspondence between entities of a dynamic system, such as a
computer network. In the context of a
formal model, it allows reasoning about the properties of such a system.
The standard notation consists of a set of principals (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:
:
This states that Alice intends a message for Bob consisting of a
plaintext X encrypted under shared key K
A,B.
Another example might be the following:
:
This states that Bob intends a message for Alice consisting of a
nonce N
B encrypted using public key of Alice.
A key with two subscripts, K
A,B, is a
symmetric key shared by the two corresponding individuals. A key with one subscript, K
A, is the public key of the corresponding individual. A private key is represented as the
inverse
Inverse or invert may refer to:
Science and mathematics
* Inverse (logic), a type of conditional sentence which is an immediate inference made from another conditional sentence
* Additive inverse (negation), the inverse of a number that, when ad ...
of the public key.
The notation specifies only the operation and not its semantics — for instance, private key encryption and signature are represented identically.
We can express more complicated protocols in such a fashion. See
Kerberos as an example. Some sources refer to this notation as ''Kerberos Notation''. Some authors consider the notation used by Steiner, Neuman, & Schiller as a notable reference.
[
]
Several models exist to reason about security protocols in this way, one of which is
BAN logic
Ban, or BAN, may refer to:
Law
* Ban (law), a decree that prohibits something, sometimes a form of censorship, being denied from entering or using the place/item
** Imperial ban (''Reichsacht''), a form of outlawry in the medieval Holy Roman ...
.
Security protocol notation inspired many of the programming languages used in
choreographic programming
In computer science, choreographic programming is a programming paradigm where programs are compositions of interactions among multiple concurrent participants.
Overview
Choreographies
In choreographic programming, developers use a choreogr ...
.
References
Cryptography
{{crypto-stub