Wide Mouth Frog protocol

From Infogalactic: the planetary knowledge core
(Redirected from Wide Mouth Frog)
Jump to: navigation, search

The Wide-Mouth Frog protocol[1] is a computer network authentication protocol designed for use on insecure networks (the Internet for example). It allows individuals communicating over a network to prove their identity to each other while also preventing eavesdropping or replay attacks, and provides for detection of modification and the prevention of unauthorized reading. This can be proven using BAN logic.

The protocol was first described under the name "The Wide-mouthed-frog Protocol" in the paper "A Logic of Authentication" (1990), which introduced Burrows–Abadi–Needham logic, and in which it was an "unpublished protocol ... proposed by" coauthor Michael Burrows.[2] The paper gives no rationale for the protocol's whimsical name.

The protocol can be specified as follows in security protocol notation:[1][2][3]

  • A, B, and S are identities of Alice, Bob, and the trusted server respectively
  • T_A and T_s are timestamps generated by A and S respectively
  • K_{AS} is a symmetric key known only to A and S
  • K_{AB} is a generated symmetric key, which will be the session key of the session between A and B
  • K_{BS} is a symmetric key known only to B and S
A \rightarrow S: A,\{T_A, B, K_{AB}\}_{K_{AS}}
S \rightarrow B: \{T_S, A, K_{AB}\}_{K_{BS}}

Note that to prevent active attacks, some form of authenticated encryption (or message authentication) must be used.

The protocol has several problems:

  • A global clock is required.
  • The server S has access to all keys.
  • The value of the session key K_{AB} is completely determined by A, who must be competent enough to generate good keys.
  • It can replay messages within the period when the timestamp is valid.
  • A is not assured that B exists.
  • The protocol is stateful. This is usually undesired because it requires more functionality and capability from the server. For example, S must be able to deal with situations in which B is unavailable.

See also

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Burrows, Abadi, and Needham. "A Logic of Authentication". ACM Transactions on Computer Systems 8 (1990), pp. 18–36.
  3. Wide Mouthed Frog, Security Protocols Open Repository