Protocol Game

In case you've missed it, check the introduction first.

In general, the network can be controlled by an adversary, who can perform the following operations:

We first look at message interception.


Let us consider an active adversary Eve (usually referred as E), located on the right hand side of the network bar. The first possible attack is for Eve to intercept any message, e.g., in the case of the previous protocol, to intercept the message "secret" from Alice to Bob.

We therefore introduce a new status "/i", which indicates that the message has been intercepted (and the message should be underlined).

Network stack

Step 2 corresponds to the interception of the message on the network, after which Eve knows the message "secret".


Eve can also block any message on the network. For instance, she can block the message "secret" from Alice to Bob.

We now introduce the status "/b", which indicates that the message has been blocked (and the message should be displayed in red).

Network stack

    Of course, Eve can also combine interception and blocking.

    Network stack

    In either case, Bob never knows the message "secret".

    Message creation

    Finally, the last attack we consider here is for Eve to create messages, as if she were a normal agent in the system (which she might), and possibly spoofing the identity of the sender.

    For instance, Eve can send the message "fake" (assuming Eve knows that message) to Bob pretending to be Alice.

    Network stack

    The assumption that Eve knows the message "fake" is very important (which is indicated above by using the color black for "fake" in Eve), as we do not want to consider the case where an adversary can send messages containing information they do not have access to. For instance, in the case above, Eve cannot send the message "secret", because she does not know it. However, she can intercept it from Alice, blocks it so that it does not arrive to Bob, and send a fake message instead. This is a classical example of a Man-in-the-middle attack.

    Network stack

    In order to provide some confidentiality and integrity, agents can use encryption and decryption. We introduce these concepts in the next part.