Difference between revisions of "Using a key past its expiration date"

From OWASP
Jump to: navigation, search
Line 1: Line 1:
 
 
{{Template:SecureSoftware}}
 
{{Template:SecureSoftware}}
  
Line 66: Line 65:
  
 
[[Category:Protocol Errors]]
 
[[Category:Protocol Errors]]
 +
 +
[[Category:OWASP_CLASP_Project]]

Revision as of 13:38, 16 May 2006


Overview

The use of a cryptographic key or password past its expiration date diminishes its safety significantly.

Consequences

  • Authentication: The cryptographic key in question may be compromised, providing a malicious user with a method for authenticating as the victim.

Exposure period

  • Design: The handling of key expiration should be considered during the design phase - largely pertaining to user interface design.
  • Run time: Users are largely responsible for the use of old keys.

Platform

  • Languages: All
  • Platforms: All

Required resources

Any

Severity

Low

Likelihood of exploit

Low

Avoidance and mitigation

  • Design: Adequate consideration should be put in to the user interface in order to notify users previous to the key's expiration, to explain the importance of new key generation and to walk users through the process as painlessly as possible.
  • Run time: Users must heed warnings and generate new keys and passwords when they expire.

Discussion

While the expiration of keys does not necessarily ensure that they are compromised, it is a significant concern that keys which remain in use for prolonged periods of time have a decreasing probability of integrity.

For this reason, it is important to replace keys within a period of time proportional to their strength.

Examples

In C/C++:

if (!(cert = SSL_get_peer(certificate(ssl)) || !host)
  foo=SSL_get_veryify_result(ssl);
  if ((X509_V_OK==foo) || (X509_V_ERRCERT_NOT_YET_VALID==foo))
//do stuff 

Related problems

Categories