RFC 4086 - Requisiti di casualità per la sicurezza
- Stato: Best Current Practice
- Pubblicato: June 2005
- Stream: IETF
- Sostituisce: RFC1750
- Errata: Nessun errata
Stato di questo memorandum
Questo documento specifica una Best Current Practice Internet per la comunità Internet e richiede discussioni e suggerimenti per miglioramenti. La distribuzione di questo memorandum è illimitata.
Avviso di copyright
Copyright (C) The Internet Society (2005).
Sommario
I sistemi di sicurezza sono costruiti su algoritmi crittografici robusti che frustrano i tentativi di analisi dei pattern. Tuttavia, la sicurezza di questi sistemi dipende dalla generazione di quantità segrete per password, chiavi crittografiche e quantità simili. L'uso di processi pseudo-casuali per generare quantità segrete può risultare in pseudo-sicurezza. Un attaccante sofisticato potrebbe trovare più facile riprodurre l'ambiente che ha prodotto le quantità segrete e cercare nel piccolo insieme di possibilità risultanti piuttosto che localizzare le quantità nell'intero spazio numerico potenziale.
Scegliere quantità casuali per frustrare un avversario intraprendente e motivato è sorprendentemente difficile. Questo documento evidenzia molte insidie nell'uso di fonti di entropia scadenti o tecniche tradizionali di generazione di numeri pseudo-casuali per generare tali quantità. Raccomanda l'uso di tecniche hardware veramente casuali e mostra che l'hardware esistente su molti sistemi può essere utilizzato per questo scopo. Fornisce suggerimenti per migliorare il problema quando una soluzione hardware non è disponibile e fornisce esempi di quanto grandi debbano essere tali quantità per alcune applicazioni.
Indice
- 1. Introduction and Overview (Introduzione e panoramica)
- 2. General Requirements (Requisiti generali)
- 3. Entropy Sources (Fonti di entropia)
- 3.1. Volume Required (Volume richiesto)
- 3.2. Existing Hardware Can Be Used For Randomness (L'hardware esistente può essere utilizzato per la casualità)
- 3.3. Ring Oscillator Sources (Fonti di oscillatore ad anello)
- 3.4. Problems with Clocks and Serial Numbers (Problemi con orologi e numeri di serie)
- 3.5. Timing and Value of External Events (Temporizzazione e valore degli eventi esterni)
- 3.6. Non-hardware Sources of Randomness (Fonti di casualità non hardware)
- 4. De-skewing (De-skewing)
- 4.1. Using Stream Parity to De-Skew (Utilizzo della parità di flusso per de-skew)
- 4.2. Using Transition Mappings to De-Skew (Utilizzo di mappature di transizione per de-skew)
- 4.3. Using FFT to De-Skew (Utilizzo di FFT per de-skew)
- 4.4. Using Compression to De-Skew (Utilizzo della compressione per de-skew)
- 5. Mixing (Miscelazione)
- 5.1. A Trivial Mixing Function (Una funzione di miscelazione banale)
- 5.2. Stronger Mixing Functions (Funzioni di miscelazione più forti)
- 5.3. Using S-Boxes for Mixing (Utilizzo di S-Box per la miscelazione)
- 5.4. Diffie-Hellman as a Mixing Function (Diffie-Hellman come funzione di miscelazione)
- 5.5. Using a Mixing Function to Stretch Random Bits (Utilizzo di una funzione di miscelazione per estendere bit casuali)
- 5.6. Other Factors in Choosing a Mixing Function (Altri fattori nella scelta di una funzione di miscelazione)
- 6. Pseudo-random Number Generators (Generatori di numeri pseudo-casuali)
- 7. Randomness Generation Examples and Standards (Esempi e standard di generazione della casualità)
- 8. Examples of Randomness Required (Esempi di casualità richiesta)
- 9. Conclusion (Conclusione)
- 10. Security Considerations (Considerazioni sulla sicurezza)
- 11. Acknowledgments (Ringraziamenti)
- Appendix A. Changes from RFC 1750 (Appendice A. Modifiche rispetto a RFC 1750)
- Informative References (Riferimenti informativi)