В. Р. Гинзбург Перевод с английского



Pdf көрінісі
бет100/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   96   97   98   99   100   101   102   103   ...   203
Байланысты:
практическая криптография


Глава 10. Генерация случайных чисел
отдельно от данных этого файла. В этом случае перезапись файла начально-
го числа может привести к временной несогласованности административной
информации о файле. Если в этот момент произойдет внезапное отключение
электропитания, файл начального числа может быть поврежден или вообще
утерян. Не слишком хорошее начало для реализации системы безопасности!
Некоторые файловые системы для решения подобных проблем применя-
ют журналы. Изначально эта методика была разработана для больших си-
стем управления базами данных. Журнал — это последовательный список
всех обновлений, которые выполнялись в файловой системе. При корректном
использовании журнал гарантирует, что все обновления файловой системы
будут согласованными. С точки зрения надежности всегда предпочтитель-
нее использовать именно такую файловую систему. К сожалению, ни одна из
известных нам популярных файловых систем не дает полных гарантий отно-
сительно того, когда обновление данных действительно будет зафиксировано
в постоянном хранилище.
Поскольку оборудование и операционная система не поддерживают пол-
ностью атомарных операций обновления файлов на постоянных носителях,
мы не можем предложить идеальное решение, использующее файл начально-
го числа. Вам понадобится тщательно исследовать конкретную платформу,
с которой вы работаете, и приложить все усилия, чтобы обеспечить надеж-
ность обновления файла начального числа.
10.6.6
Первая загрузка
Когда генератор псевдослучайных чисел запускается в первый раз, ему
неоткуда взять данные для обновления своего состояния — ведь файла на-
чального числа еще не существует! Возьмем, например, только что куплен-
ный компьютер с предустановленной операционной системой. Современные
операционные системы после установки генерируют несколько администра-
тивных криптографических ключей. Для этого им нужен генератор псевдо-
случайных чисел. Для облегчения производственного процесса все компью-
теры выпускаются одинаковыми и загружаются одинаковыми данными. На
новых компьютерах еще нет файла начального числа, поэтому воспользо-
ваться им мы не можем. Мы бы могли подождать, пока источники энтропии
не сгенерируют достаточно случайных событий для проведения одного или
нескольких обновлений, но это заняло бы слишком много времени. Кроме то-
го, мы просто не сможем определить, когда в системе наберется достаточно
энтропии для генерации хороших криптографических ключей.
Было бы хорошо, если бы программа установки генерировала файл на-
чального числа прямо в процессе конфигурации операционной системы. На-
пример, она бы могла использовать генератор, установленный на отдельном


10.7. Так что же делать?
205
компьютере, чтобы сгенерировать новый файл начального числа для каждой
машины, на которой проводится установка. Вместо этого программа уста-
новки могла бы попросить пользователя подвигать мышью, чтобы собрать
немного начальной энтропии. Выбор решения зависит от специфики конкрет-
ного окружения, но без предоставления начальной энтропии в любом случае
не обойтись. Весьма вероятно, что некоторые очень важные криптографи-
ческие ключи будут сгенерированы сразу же после установки операционной
системы, когда аккумулятор энтропии еще не успеет набрать достаточного
количества случайных событий, чтобы корректно обновить состояние гене-
ратора.
Не забывайте, что аккумулятор Fortuna произведет обновление состояния
генератора тогда, когда у него
может
оказаться достаточно энтропии для
обеспечения хорошей случайности. В зависимости от того, сколько энтропии
будет поступать от источников на самом деле (то, о чем Fortuna не знает),
сбор достаточного количества энтропии для действительно правильного об-
новления может занять некоторое время. Пожалуй, наилучшим решением
в данной ситуации было бы наличие внешнего источника энтропии, который
мог бы создать первый файл начального числа.
10.7
Так что же делать?
Прежде всего, никогда не доверяйте генераторам случайных чисел, кото-
рые поставляются вместе с программными библиотеками или операционной
системой. Большинство из них не соответствуют никаким требованиям, вы-
двигаемым к криптографически сильному генератору псевдослучайных чи-
сел. Генератор Fortuna, описанный в этой главе, определенно представляет
собой значительное улучшение текущего положения дел, поэтому мы бы, не
колеблясь, отдали предпочтение именно ему. Но, как обычно, наше мнение
нельзя назвать объективным по очевидным причинам.
Собрать нужное количество энтропии всегда трудно. Используйте как
можно больше источников энтропии. Огромным преимуществом генерато-
ра Fortuna является тот факт, что источники с низким качеством случайных
данных не смогут навредить системе, поэтому отказываться от них вряд ли
стоит. Несмотря на это, подключение к аккумулятору источников энтропии
может потребовать изменения драйверов и других служебных программ опе-
рационной системы, что далеко не просто.
Концепция файла начального числа очень проста в понимании, а вот пра-
вильно реализовать ее на практике невероятно сложно. В этой главе мы при-
вели несколько практических советов по реализации управления файлом на-
чального числа, но большинство моментов реализации зависит от конкрет-


206

Достарыңызбен бөлісу:
1   ...   96   97   98   99   100   101   102   103   ...   203




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет