RFC 4086 - Exigences de caractère aléatoire pour la sécurité
- Statut: Best Current Practice
- Publié: June 2005
- Stream: IETF
- Remplace: RFC1750
- Errata: Pas d'errata
État de ce mémorandum
Ce document spécifie les meilleures pratiques actuelles Internet pour la communauté Internet et demande des discussions et des suggestions d'amélioration. La distribution de ce mémorandum est illimitée.
Avis de droit d'auteur
Copyright (C) The Internet Society (2005).
Résumé
Les systèmes de sécurité sont construits sur des algorithmes cryptographiques robustes qui déjouent les tentatives d'analyse de modèles. Cependant, la sécurité de ces systèmes dépend de la génération de quantités secrètes pour les mots de passe, les clés cryptographiques et des quantités similaires. L'utilisation de processus pseudo-aléatoires pour générer des quantités secrètes peut entraîner une pseudo-sécurité. Un attaquant sophistiqué peut trouver plus facile de reproduire l'environnement qui a produit les quantités secrètes et de rechercher dans le petit ensemble de possibilités résultant plutôt que de localiser les quantités dans l'ensemble de l'espace numérique potentiel.
Choisir des quantités aléatoires pour déjouer un adversaire ingénieux et motivé est étonnamment difficile. Ce document souligne de nombreux pièges lors de l'utilisation de sources d'entropie médiocres ou de techniques traditionnelles de génération de nombres pseudo-aléatoires pour générer de telles quantités. Il recommande l'utilisation de techniques matérielles véritablement aléatoires et montre que le matériel existant sur de nombreux systèmes peut être utilisé à cette fin. Il fournit des suggestions pour améliorer le problème lorsqu'une solution matérielle n'est pas disponible, et donne des exemples de la taille que doivent avoir ces quantités pour certaines applications.
Table des matières
- 1. Introduction and Overview (Introduction et vue d'ensemble)
- 2. General Requirements (Exigences générales)
- 3. Entropy Sources (Sources d'entropie)
- 3.1. Volume Required (Volume requis)
- 3.2. Existing Hardware Can Be Used For Randomness (Le matériel existant peut être utilisé pour le caractère aléatoire)
- 3.3. Ring Oscillator Sources (Sources d'oscillateur en anneau)
- 3.4. Problems with Clocks and Serial Numbers (Problèmes avec les horloges et les numéros de série)
- 3.5. Timing and Value of External Events (Timing et valeur des événements externes)
- 3.6. Non-hardware Sources of Randomness (Sources de caractère aléatoire non matérielles)
- 4. De-skewing (Dé-biais)
- 4.1. Using Stream Parity to De-Skew (Utilisation de la parité de flux pour dé-biaiser)
- 4.2. Using Transition Mappings to De-Skew (Utilisation des mappages de transition pour dé-biaiser)
- 4.3. Using FFT to De-Skew (Utilisation de FFT pour dé-biaiser)
- 4.4. Using Compression to De-Skew (Utilisation de la compression pour dé-biaiser)
- 5. Mixing (Mélange)
- 5.1. A Trivial Mixing Function (Une fonction de mélange triviale)
- 5.2. Stronger Mixing Functions (Fonctions de mélange plus fortes)
- 5.3. Using S-Boxes for Mixing (Utilisation des S-Boxes pour le mélange)
- 5.4. Diffie-Hellman as a Mixing Function (Diffie-Hellman comme fonction de mélange)
- 5.5. Using a Mixing Function to Stretch Random Bits (Utilisation d'une fonction de mélange pour étendre les bits aléatoires)
- 5.6. Other Factors in Choosing a Mixing Function (Autres facteurs dans le choix d'une fonction de mélange)
- 6. Pseudo-random Number Generators (Générateurs de nombres pseudo-aléatoires)
- 7. Randomness Generation Examples and Standards (Exemples et normes de génération de caractère aléatoire)
- 8. Examples of Randomness Required (Exemples de caractère aléatoire requis)
- 9. Conclusion
- 10. Security Considerations (Considérations de sécurité)
- 11. Acknowledgments (Remerciements)
- Appendix A. Changes from RFC 1750 (Annexe A. Changements par rapport à RFC 1750)
- Informative References (Références informatives)