Appendix C <- index -> Appendix E


Appendix D. Implementation Notes English

(作業中)

The TLS protocol cannot prevent many common security mistakes。
This section provides several recommendations to assist implementors.

D.1. Random Number Generation and Seeding English

(作業中)

TLS requires a cryptographically secure pseudorandom number generator (PRNG)。
Care must be taken in designing and seeding PRNGs。
PRNGs based on secure hash operations, most notably SHA-1, are acceptable, but cannot provide more security than the size of the random number generator state。

To estimate the amount of seed material being produced, add the number of bits of unpredictable information in each seed byte。
For example, keystroke timing values taken from a PC compatible's 18.2 Hz timer provide 1 or 2 secure bits each, even though the total size of the counter value is 16 bits or more。
Seeding a 128-bit PRNG would thus require approximately 100 such timer values。

[RANDOM] provides guidance on the generation of random values。

D.2. Certificates and Authentication English

(作業中)

Implementations are responsible for verifying the integrity of certificates and should generally support certificate revocation messages。
Certificates should always be verified to ensure proper signing by a trusted Certificate Authority (CA)。
The selection and addition of trusted CAs should be done very carefully。
Users should be able to view information about the certificate and root CA。

D.3. Cipher Suites English

(作業中)

TLS supports a range of key sizes and security levels, including some that provide no or minimal security。
A proper implementation will probably not support many cipher suites。
For instance, anonymous Diffie-Hellman is strongly discouraged because it cannot prevent man-in-the-middle attacks。
Applications should also enforce minimum and maximum key sizes。
For example, certificate chains containing 512-bit RSA keys or signatures are not appropriate for high-security applications。

D.4. Implementation Pitfalls English

(作業中)

Implementation experience has shown that certain parts of earlier TLS specifications are not easy to understand, and have been a source of interoperability and security problems。
Many of these areas have been clarified in this document, but this appendix contains a short list of the most important things that require special attention from implementors。

TLS protocol issues:

Cryptographic details:

 


Appendix C <- index -> Appendix E