...
- Considering the threats you plan to protect this data from (e.g., insider attack, external user), make sure you encrypt all sensitive data at rest and in transit in a manner that defends against these threats.
- Don't Don’t store sensitive data unnecessarily. Discard it as soon as possible. Data you don't have can't don’t have can’t be stolen.
- Ensure strong standard algorithms and strong keys are used, and proper key management is in place. Consider using FIPS 140 validated cryptographic modules.
- Ensure passwords are stored with an algorithm specifically designed for password protection, such as bcrypt, PBKDF2, or scrypt.
- Disable autocomplete on forms collecting sensitive data and disable caching for pages that contain sensitive data.
- Cryptography Storage Cheat Sheet
6.2 Providing Cryptographic Functionality
...
- Introduction
- Transport Layer Protection Cheat Sheet Providing Transport Layer Protection with SSL/TLS
- Benefits
- Basic Requirements
- SSL vs. TLS
- When to Use a FIPS 140-2 Validated Cryptomodule
- Secure Server Design
- 2.5.1 Rule - Use TLS for All Login Pages and All Authenticated Pages
- Use TLS on Any Networks (External and Internal) Transmitting Sensitive Data
- Do Not Provide Non-TLS Pages for Secure Content
- Do Not Mix TLS and Non-TLS Content
- Use "Secure" Cookie Flag
- Keep Sensitive Data Out of the URL
- Prevent Caching of Sensitive Data
- Use HTTP Strict Transport Security
- Use Public Key Pinning
- Server Certificate
- Use Strong Keys & Protect Them
- Use a Certificate That Supports Required Domain Names
- Use Fully Qualified Names in Certificates
- Do Not Use Wildcard Certificates
- Do Not Use RFC 1918 Addresses in Certificates
- Use an Appropriate Certification Authority for the Application's User Base
- Always Provide All Needed Certificates
- Be aware of and have a plan for the SHA-1 deprecation plan
- Server Protocol and Cipher Configuration
- Test your overall TLS/SSL setup and your Certificate
- Client (Browser) Configuration
- Additional Controls
- Providing Transport Layer Protection for Back End and Other Connections
- Tools
Learn More:
- OWASP Cryptographic Storage Cheat Sheet
- OWASP Password Storage Cheat Sheet
- OWASP Transport Layer Protection Cheat Sheet
- OWASP Testing Guide: Chapter on SSL/TLS Testing
- CWE Entry 310 on Cryptographic Issues
- CWE Entry 312 onCleartextStorage of Sensitive Information
- CWE Entry 319 onCleartextTransmission of Sensitive Information
- CWE Entry 326 on Weak Encryption