Timing Attacks on Implementations
By carefully measuring the amount of time required to perform private key operations, attackers may be able to find fixed Diffie-Hellman exponents, factor RSA keys, and break other cryptosystems.Against a vulnerable system, the attack is computationally inexpensive and often requires only known ciphertext. Actual systems are potentially at risk, including cryptographic tokens, network-based cryptosystems, and other applications where attackers can make reasonably accurate timing measurements.
Techniques for preventing the attack for RSA and Diffie-Hellman are presented. Some cryptosystems will need to be re-vised to protect against the attack, and new protocols and algorithms may need to incorporate measures to prevent timing attacks. Keywords: timing attack, cryptanalysis, RSA, Diffie-Hellman, DSS Cryptosystems often take slightly different amounts of time to process different inputs. Reasons include performance optimizations to bypass unnecessary operations, branching and conditional statements, RAM cache hits, processor in-structions (such as multiplication and division) that run in non-fixed time, and a wide variety of other causes. Performance characteristics typically depend on both the encryption key and the input data (e.g., plaintext or ciphertext). While it is known that timing channels can leak data or keys across a controlled perime-ter, intuition might suggest that unintentional timing characteristics would only reveal a small amount of information from a cryptosystem (such as the Hamming weight of the key). However, attacks are presented which can exploit timing measurements from vulnerable systems to find the entire secret key.Diffe-Hellman and RSA private-key operations consist of computing R = yx mod n, where n is public and y can be found by an eavesdropper. The at-tacker's goal is to find x, the secret key.
For the attack, the victim must com-pute yx mod n for several values of y, where y, n, and the computation time are known to the attacker. (If a new secret exponent x is chosen for each operation, the attack does not work.) The necessary information and timing measurements might be obtained by passively eavesdropping on an interactive protocol, since an attacker could record the messages received by the target and measure the amount of time taken to respond to each y. The attack assumes that the attacker knows the design of the target system, although in practice this could probably be inferred from timing information.