This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "Key Management Cheat Sheet"

From OWASP
Jump to: navigation, search
(Key Selection)
m (Point to the official site)
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= DRAFT CHEAT SHEET - WORK IN PROGRESS =
+
__NOTOC__
= Introduction =
+
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:Cheatsheets-header.jpg|link=]]</div>
This Key Management Cheat Sheet provides developers with guidance for implementation of cryptographic key management within an application in a secure manner.
 
  
= Key Management General Guidelines and Considerations =
+
The Cheat Sheet Series project has been moved to [https://github.com/OWASP/CheatSheetSeries GitHub]!
  
== Key Selection ==
+
Please visit [https://cheatsheetseries.owasp.org/cheatsheets/Key_Management_Cheat_Sheet.html Key Management Cheat Sheet] to see the latest version of the cheat sheet.
 
 
 
 
 
 
Selection of the cryptographic and key management algorithms to use within a given application should begin with an understanding of the objectives of the application. For example, if the application is required to store data securely, then the developer should select an algorithm suite that supports the objective of Data-At-Rest (DAR) security. Applications that are required to transmit and receive data would select an algorithm suite that supports the objective of Data-in-Transit security. We have provided recommendations on the selection of crypto suites within an application based on application and security objectives.
 
 
 
Application developers oftentimes begin the development of crypto and key management capabilities by examining what is available in a library.  However, an analysis of the real needs of the application should be conducted to determine the optimal key management approach.  Begin by understanding the security objectives of the application which will then drive a determination of the cryptographic protocols that should be used. 
 
 
 
For example, the objectives of the application may be:
 
- Confidentiality of data at rest
 
- Confidentiality of data in use
 
- authenticity of data origin
 
- authenticity of the end device
 
- Integrity of data in transit
 
- Confidentiality of data in transit
 
 
 
Once the understanding of the security needs of the application is achieved, developers can determine what protocols and algorithms are required.  Once the protocols and algorithms are understood, you can you can begin to define the different types of keys that will need support the application's objectives.  There are a diverse set of key types and certificates to consider, for example:
 
 
 
Encryption:
 
- Symmetric encryption keys
 
- Asymmetric encryption keys (public and private)
 
 
 
Authentication of End Devices:
 
- Pre-shared symmetric keys
 
- Trusted certificates
 
- Trust Anchors
 
 
 
Data Origin Authentication
 
- HMAC
 
 
 
Integrity Protection
 
- Message Authentication Codes (MACs)
 
 
 
Key Encryption Keys
 
 
 
== Key Strength ==
 
 
 
=== Selecting ===
 
 
 
=== Enforcing ===
 
 
 
=== Maintaining ===
 
 
 
== Memory Management Considerations ==
 
 
 
== Perfect Forward Secrecy ==
 
 
 
== Proxy Handling ==
 
 
 
= Key Management Lifecycle Best Practices =
 
 
 
== Generation ==
 
 
 
== Distribution ==
 
 
 
=== EndPoint Authentication ===
 
 
 
=== Algorithms and Protools ===
 
 
 
=== Integrity and Confidentiality ===
 
 
 
== Storage ==
 
 
 
=== Software-based Storage ===
 
 
 
=== Hardware Storage ===
 
 
 
== Escrow and Backup ==
 
 
 
=== Key Escrow ===
 
 
 
=== Key Backup ===
 
 
 
== Tracking and Audit ==
 
 
 
== Key Compromise and Recovery ==
 
 
 
= Trust Stores =
 
 
 
== Population ==
 
 
 
== Secure Update ==
 
 
 
= Cryptographic Module Topics =
 
 
 
= Standards =
 
 
 
= Cryptographic Key Management Libraries =
 
 
 
 
 
 
 
This article is focused on providing application security testing professionals with a guide to assist in managing cryptographic keys.  
 
 
 
= Authors and Primary Editors =
 
 
 
Brian Russell - russellbri[at]leidos.com<br/>
 
 
 
Drew Van Duren - drew.f.van.duren[at]leidos.com
 
 
 
Vanessa Amador - vanessa.c.amador[at]leidos.com
 
 
 
= Other Cheatsheets =
 
 
 
{{Cheatsheet_Navigation}}
 
 
 
[[Category:Cheatsheets]]
 
 
 
{{OWASP Builders}}
 

Latest revision as of 14:38, 15 July 2019

Cheatsheets-header.jpg

The Cheat Sheet Series project has been moved to GitHub!

Please visit Key Management Cheat Sheet to see the latest version of the cheat sheet.