From Wikipedia, the free encyclopedia
In cryptography, a man-in-the-middle attack (MITM) is an attack in which an attacker is able to read, insert and modify at will, messages between two parties without either party knowing that the link between them has been compromised. The attacker must be able to observe and intercept messages going between the two victims. The MITM attack can work against public-key cryptography and is also particularly applicable to the original Diffie-Hellman key exchange protocol, when used without authentication.
 The need for an additional transfer over a secure channel
With the exception of the Interlock Protocol, all cryptographic systems that are secure against MITM attacks require an additional exchange or transmission of information over some kind of secure channel. Many key agreement methods with different security requirements for the secure channel have been developed.
 Possible subattacks
The MITM attack may include one or more of:
- eavesdropping, including traffic analysis and possibly a known-plaintext attack
- chosen ciphertext attack, depending on what the receiver does with a message that it decrypts
- substitution attack
- replay attacks
- denial of service attack. The attacker may for instance jam all communications before attacking one of the parties. The defense is for both parties to periodically send authenticated status messages and to treat their disappearance with paranoia.
- phishing attacks, where victims are duped into entering their details into a proxy website that imitates a genuine site (e.g., an online bank). By acting as a go-between to the genuine website, the proxy website allows the victims to log in and conduct business as usual without raising suspicion (see, e.g., ).
MITM is typically used to refer to active manipulation of the messages, rather than passively eavesdropping.
 Example of a successful MITM attack against public-key encryption
Suppose Alice wishes to communicate with Bob. Meanwhile, Mallory wishes to eavesdrop on the conversation, or possibly deliver a false message to Bob. To get started, Alice must ask Bob for his public key. If Bob sends his public key to Alice, but Mallory is able to intercept it, a man-in-the-middle attack can begin. Mallory sends a forged message to Alice that claims to be from Bob, but includes Mallory's public key. Alice, believing this public key to be Bob's, then encrypts her message with Mallory's key and sends the enciphered message back to Bob. Mallory again intercepts, deciphers the message, keeps a copy, and reenciphers it (after alteration if desired) using the public key Bob originally sent to Alice. When Bob receives the newly enciphered message, he will believe it came from Alice.
This example shows the need for Alice and Bob to have some way to ensure that they are truly using each other's public keys, rather the public key of an attacker. Otherwise, such attacks are generally possible, in principle, against any message sent using public-key technology. Fortunately, there are a variety of techniques that help defend against MITM attacks.
 Defenses against the attack
The possibility of a man-in-the-middle attack remains a serious security problem, even for many public-key based cryptosystems. Various defenses against MITM attacks use authentication techniques that are based on:
- Public keys
- Stronger mutual authentication
- Secret keys (high information entropy secrets)
- Passwords (low information entropy secrets)
- Other criteria, such as voice recognition or other biometrics
The integrity of public keys must generally be assured in some manner, but need not be secret. Passwords and shared secret keys have the additional secrecy requirement. Public keys can be verified by a Certificate Authority, whose public key is distributed through a secure channel (for example, with web browser or OS installation). Public keys can also be verified by a web of trust that distributes public keys through a secure channel (for example by face-to-face meetings).
See key agreement for a classification of protocols that use various forms of keys and passwords to prevent man-in-the-middle attacks.
 MITM in quantum cryptography
MITM attacks are a potential problem in quantum cryptography as well. Recently, hybrid protocols (classical + quantum) have been proposed to deal with it, especially for the three-stage quantum cryptography protocol.  
 Beyond cryptography
MITM should be seen as a general problem resulting from the presence of intermediate parties acting as proxy for clients on either side. If they are trustworthy and competent, all may be well; if they are not, nothing will be. How can one distinguish the cases? By acting as proxy and appearing as the trusted client to each side, the intermediate attacker can carry out much mischief, including various attacks against the confidentiality or integrity of the data passing through it.
A notable non-cryptographic man-in-the-middle attack was perpetrated by one version of a Belkin wireless network router in 2003. Periodically, it would take over an HTTP connection being routed through it: it would fail to pass the traffic on to destination, but instead itself respond as the the intended server. The reply it sent, in place of the web page the user had requested, was an advertisement for another Belkin product. After an outcry from technically-literate users, this 'feature' was removed from later versions of the router's firmware.
Sometimes people innocently mis-type the URL of a desired web site, ending up at a typosquatting web site.
Another example of a non-cryptographic man-in-the-middle attack is the "Turing Porn Farm". Brian Warner  says this is a "conceivable attack" that spammers could use to defeat CAPTCHAs. The spammer sets up a pornographic web site where access requires that the user solves the CAPTCHAs in question. However, Jeff Atwood points out that this attack is merely theoretical -- there is no evidence that any spammer has ever built a "Turing Porn Farm".
The telephone game can be seen as a kind of MITM where the intermediaries are not malicious, but merely error-prone.
 MITM Implementation Examples
- dsniff - A tool for SSL MITM attacks
- Ettercap - A tool for LAN based MITM attacks
- Karma - A tool that uses 802.11 Evil Twin attacks to perform MITM attacks
- AirJack - A tool that demonstrates 802.11 based MITM attacks
 See also
- Computer security
- Secure channel
- Digital signature
- Key management
- Key agreement protocol
- Password-authenticated key agreement
- Interlock Protocol
- Miss in the middle attack
- Mutual authentication
- Quantum cryptography
- Relay attack
- Meet-in-the-middle_attack - an unrelated attack used for breaking double encryption.
- Walsingham attempted a man-in-the-middle attack in 1586 during the Babington Plot.