V6.3.3 Random Values
Requirement:#
Verify that random numbers are created with proper entropy even when the application is under heavy load, or that the application degrades gracefully in such circumstances.
Explanation:#
Данное требование направлено на обеспечение того, чтобы случайные числа, генерируемые приложением, обладали достаточной энтропией (случайностью), даже когда приложение находится под большой нагрузкой. Оно также подчеркивает, что приложение должно справляться с нагрузкой без ухудшения качества генерации случайных чисел. Это требование имеет решающее значение для криптографических приложений и систем, которые полагаются на случайные числа в целях безопасности.
Remediation:#
Вот несколько примеров того, как это требование может быть выполнено:
- Криптографические API операционной системы. Большинство современных операционных систем предоставляют криптографические API, которые включают функции для генерации случайных чисел. Эти API используют различные источники энтропии, такие как аппаратные генераторы случайных чисел и системные события, для обеспечения высокого качества случайных чисел. Реализация операционной системы заботится об управлении энтропией и обеспечении генерации случайных чисел с надлежащей случайностью, независимо от нагрузки приложения.
- Аппаратные генераторы случайных чисел (АГПСЧ). Аппаратные генераторы случайных чисел - это специализированные компоненты, встроенные в некоторые системы, которые генерируют случайные числа на основе физических процессов или непредсказуемых событий. Эти устройства обеспечивают непрерывный поток высококачественных случайных чисел и предназначены для работы независимо от нагрузки на приложение. Приложения могут использовать ГСПЧ для генерации случайных чисел с надлежащей энтропией, гарантируя, что генерация случайных чисел не зависит от рабочей нагрузки приложения.
- Балансировка нагрузки и масштабирование. Для решения проблем, связанных с высокой нагрузкой, приложения могут использовать методы балансировки нагрузки и механизмы масштабирования. Распределяя нагрузку между несколькими экземплярами или серверами, приложение может гарантировать, что процесс генерации случайных чисел имеет достаточно ресурсов даже при высоком спросе. Балансировщики нагрузки и механизмы масштабирования помогают поддерживать производительность и качество генерации случайных чисел в периоды высокой нагрузки.
- Entropy pools. Entropy pool - это центральное хранилище случайных данных, которые постоянно собираются из различных источников в системе. Оно служит источником энтропии для генерации случайных чисел. Приложения могут полагаться на хорошо спроектированные entropy pools для обеспечения того, что даже при высокой нагрузке будет достаточно высококачественных случайных данных для генерации случайных чисел. Entropy pool собирает энтропию из различных источников, таких как аппаратные события, движения мыши и тайминги клавиатуры.
Очень важно проверить и протестировать поведение приложения под большой нагрузкой, чтобы убедиться, что случайные числа генерируются с надлежащей энтропией. Это можно сделать с помощью нагрузочного тестирования, профилирования производительности и анализа процесса генерации случайных чисел. Применяя вышеупомянутые методы и проводя тщательное тестирование, организации могут гарантировать, что случайные числа остаются достаточно случайными, а приложение легко справляется с высокой нагрузкой без ущерба для безопасности криптографических операций.