Dolev–Yao model

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The Dolev–Yao model[1] is a formal model used to prove properties of interactive cryptographic protocols.[2][3]

The network

The network is represented by a set of abstract machines that can exchange messages. These messages consist of formal terms. These terms reveal some of the internal structure of the messages, but some parts will hopefully remain opaque to the adversary.

The adversary

The adversary in this model can overhear, intercept, and synthesize any message and is only limited by the constraints of the cryptographic methods used. In other words: "the attacker carries the message."

This omnipotence has been very difficult to model and many threat models simplify it, as, for example, the attacker in ubiquitous computing.

The algebraic model

Cryptographic primitives are modeled by abstract operators. For example, asymmetric encryption for a user x is represented by the encryption function E_x and the decryption function D_x. Their main properties are that their composition is the identity function (D_x E_x = E_x D_x = 1) and that an encrypted message E_x(M) reveals nothing about M. Unlike in the real world, the adversary can neither manipulate the encryption's bit representation nor guess the key. The attacker may, however, re-use any messages that have been sent and therefore become known. The attacker can encrypt or decrypt these with any keys he knows, to forge subsequent messages.

A protocol is modeled as a set of sequential runs, alternating between queries (sending a message over the network) and responses (obtaining a message from the network).

Remark

The symbolic nature of the Dolev–Yao model makes it more manageable than computational models and accessible to algebraic methods but potentially less realistic. However, both kinds of models for cryptographic protocols have been related.[4] Also, symbolic models are very well suited to show that a protocol is broken, rather than secure, under the given assumptions about the attackers capabilities.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.