Using a key past its expiration date
The use of a cryptographic key or password past its expiration date diminishes its safety significantly.
- Authentication: The cryptographic key in question may be compromised, providing a malicious user with a method for authenticating as the victim.
- 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.
- Languages: All
- Platforms: All
Likelihood of exploit
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.
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.
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