Home    |    View Topics    |    Search    |    Contact Us    |   



Category:   Application (Security)  >   OpenSSL Vendors:
(OpenBSD Issues Fix) Re: OpenSSL Timing Characteristics Let Remote Users Determine Private Keys in Certain Cases
SecurityTracker Alert ID:  1006319
SecurityTracker URL:
CVE Reference:   GENERIC-MAP-NOMATCH   (Links to External Site)
Date:  Mar 19 2003
Impact:   Disclosure of authentication information
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): 0.9.7 and prior versions
Description:   A vulnerability was reported in OpenSSL (in the configuration used in many common applications, such as Apache SSL and mod_ssl). A remote user can conduct timing attacks to determine a network-based server's private key in certain situations where there is minimal network transmission time variance.

David Brumley and Dan Boneh submitted a paper entitled "Remote Timing Attacks are Practial" to USENIX. The paper describes a timing-based weakness in the OpenSSL library (and possibly other cryptographic implementations) that could allow a remote user to determine the private key of a network-based server application that uses the OpenSSL library. Attacks were successful when conducted over a local area network separated by an Ethernet switch, between two processes on the same host, and between two virtual machines (VMs) running on the same host. The report states that networks with less than 1 msec of transmission variance are vulnerable.

The authors note that OpenSSL implements a defense against timing-based attacks as an optional feature, but that some common applications that use OpenSSL, such as Apache SSL and mod_ssl, do not invoke the option. Therefore, the report indicates that those specific applications are vulnerable.

The paper indicates that libgcrypt (reportedly used in GNUTLS and GPG) and cryptlib do not implement protection against timing attacks, but that Mozilla's NSS crypto library does properly protect against timing attacks.

In some laboratory experiments, the authors were able to extract a 1024-bit RSA private key from an OpenSSL server (based on 0.9.7) using approximately one million queries over a period of approximately two hours.

The report says that the N factoring employed in RSA's modular exponentiation (m = c^d mod N, with N = pq) can be determined via a timing attack. Knowing the factorization of N, the decryption key "d" can be easily determined, according to the report. The demonstrated attack involves starting with a guessed value for ciphertext sent to the target server as an invalid client-key-exchange SSL message and then monitoring the time until the target server responds (which will include the time required to decrypt the guessed value). According to the report, the timing varies depending on the relationship between the guessed value and the factor 'q'. Observations about the measured timing can reportedly yield the value of 'q'.

The paper is available at:

Impact:   A remote user can conduct timing attacks to determine the target server's private key. [Specific conditions necessary for a successful attack are described in the Description section.]
Solution:   OpenBSD has issued an "RSA blinding" source code patch:

Vendor URL: (Links to External Site)
Cause:   Randomization error, State error
Underlying OS:  UNIX (OpenBSD)
Underlying OS Comments:  3.1, 3.2

Message History:   This archive entry is a follow-up to the message listed below.
Mar 14 2003 OpenSSL Timing Characteristics Let Remote Users Determine Private Keys in Certain Cases

 Source Message Contents

Subject:  OpenBSD SSL/TLS

# 011: SECURITY FIX: March 18, 2003

Various SSL and TLS operations in OpenSSL are vulnerable to timing attacks.
An ``RSA blinding'' source code patch exists which remedies the problem:


Go to the Top of This SecurityTracker Archive Page

Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2021, LLC