Crypto-Gram 15 октября 2002 года

Национальная стратегия обеспечения Киберпространства

Дополнение к криптоанализу AES

Продолжительное шифрование

Crypto-Gram перепечатывает

Новости

Новости Counterpane

Одноразово используемые ключи

Конец журнала 15.10.02

На первую страницу

 

Одноразово используемые ключи

Это - напоминание, которое никогда, кажется, не лишнее. Каждый раз я записываю относительно этого результата в криптоанализе, или надежности той системы, в которой используется одноразовые ключи. "Каждый криптогафический алгоритм основан на некотором предположении, и одноразовые ключи единственно, наверняка, гарантируют систему", говорят. "Это - единственный безопасный алгоритм", говорят они. " Это наше будущее". Хорошо, но это неверно. И шагом ниже, постепенно, Я объясню почему. (Части этого очерка взяты из моей книги "Секреты и ложь" (“Secrets and Lies).)

Старые шифраторы являются простейшими, и алгоритмы их изобретены давно в 20-ом столетии. Основная идея состоит в том, что у Вас есть шифратор с набором произвольно выбранных ключей, того же размера, что и сообщение. Вы добавляете один ключ к каждому открытому тексту, и никогда не повторяете ключи. Для примера, принимается, что эти сообщения и ключи аппарата поступают в память. Вы добавляете (9), к величине (3), чтобы получить (12), или T (20) к M (13), чтобы получить (7). (20 +13 = 7 по модулю 26.) Затем Вы сжигаете бумагу. Получатель повторяет процесс, используя его ключ, а затем сжигает его, когда он был использован. Эта система работает с любым алфавитом, включая двоичный.

Эти шифраторы - единственно доказуемая, безопасная криптосистема. Поскольку ключ того же размера, как и открытый текст, каждый возможный открытый текст равновероятен. С другими ключами, зашифрованный текст DKHS мог бы декодироваться как, SELL, STOP, BLUE, или WFSH. С нормальным алгоритмом, как, например, DES или AES или даже RSA, Вы можете сообщить, какой ключ правильный, поскольку только один ключ может произвести разумный открытый текст. (Формально, размер сообщения соответствует "интервалу однозначности". Это почти 19 байтов ASCII для английского сообщения кодировалось шифром с 128-битным блоком. Со старыми алгоритмами, интервал однозначности достигает бесконечности и становится невозможным признавать открытый текст. Это доказательство безопасности.) Поскольку ключи старых аппаратов такого же размера, как и сообщение, невозможно определить, когда у Вас есть правильная расшифровка.

Мы знаем, что это – единственная, доказуемая, безопасная криптосистема. Но она также слишком бесполезна. Поскольку ключ должен быть такой же длины, как и сообщение, это не решает проблему безопасности. Один путь рассматривать шифрование, как преобразование, которое берет очень длинные секреты – сообщения – и сворачивает их в очень короткие сообщения. Со старым аппаратом, Вы не сжали бы любой секрет. Это - подобно тому, как трудно курьеру сделать так, чтобы получатель принял от него само сообщение. Современная криптография кодирует большие объемы информации – связи в Internet, цифровые аудио, видео и телефонные разговоры, и т.п., имея дело со старыми аппаратами, проведение этих аппликаций просто невыполнимо.

Если Вы думаете, что знаете, как делать ключевое управление, но Вы не очень доверяете Вашей способности разрабатывать хорошие шифры, старая аппаратура могла иметь смысл. Мы находимся в точно противоположной ситуации, тем не менее, мы имеем жесткое время, допускающее ключевое управление (частично, поскольку больше всего аппликации действительно не поддерживает курьеров с надетыми на их запястья наручниками с портфелями и Морской пехотой с винтовками в комнате с шифровальным оборудованием, или специальные устройства для физического разрушения носителей хранения прежде, чем плохие парни их получат). Но мы уверены в нашей способности строить разумно прочные алгоритмы. Это просто неуязвимое место в наших системах.

Чтобы старая аппаратура работала, беря трудную проблему безопасности сообщения на себя, вот почему Вам нужно шифрование вообще и Вы ставите это просто как трудную ключевую проблему. Это "решение" не масштабируется хорошо, не годится для массового рынка распределения, исключительно плохо подходит к компьютерным сетям, и просто хорошо не работает.

Нестандартные сделки обычно в специализированных ситуациях, где простое ключевое управление - разрешимая проблема и требование безопасности зависит от времени. В этих ситуациях, проблема – сгенерировать биты надежно. Обеспечивать биты заблаговременно легко. И есть исторические примеры старых аппаратов, использованных успешно, в специализированных обстоятельствах. Русский следит за использованным ключом и старыми аппаратами, чтобы связываться. (Агентство национальной безопасности разрушало систему, поскольку Русские использовали многократно те же старые аппараты. Oops.) Первая горячая линия на телетайпе между Вашингтоном и Москвой была закодирована, используя старую систему. Старые аппараты также использовались успешно в WWII англичанами; шпионы на позициях с радио, но без специального кодирования использовали ключи, напечатанные на шелке, и были способны закодировать сообщения для передачи более быстро и более надежно, чем предшествующими методами, включающими запомненную поэзию.

Те примеры использовали реальные старые аппараты. Обычно, изделия, которые требуются, чтобы использовать старый аппарат, действительно не подходят. Моя догадка состоит в том, что инженеры быстро понимают, что они не могут, возможно, использовать старый аппарат, так что они используют выход шифра потока или используют один генератор, или старую виртуальную машину, или почти старый аппарат, или некоторые другие старые алгоритмы. Это - не старый аппарат. Доказательство безопасности полностью терпит неудачу, когда Вы используете шифр потока.

С другой стороны, если Вы где-либо находите продукт, который действительно использует старый аппарат, это - почти, несомненно, непригодно и/или небезопасно.

Так, позвольте, чтобы я суммировал. Старые аппараты бесполезны для почти всех специализированных аппликаций, первоначально исторически и не из-за компьютера. И почти любая система, которая использует старый аппарат небезопасна. Если необходимо использовать старый аппарат, действительно используйте двойной алгоритм (oops). Или надо использовать старый аппарат, но действительно использовать пару шифров. Или это использует старый аппарат, но будет иметь дело с сообщением re-synchronization и re-transmission атаками. Или это проигнорируется удостоверением подлинности сообщения, и будет подвержено битовой атаке или чему-то подобному. Или это упадет жертве, чтобы использовать ключи многократно при атаке. И т.п., и т.п., и т.п..

Старые аппараты могут быть теоретически безопасными, но они не безопасны при практическом применении. Они заменяют шифровальную проблему, которую мы знаем как решение, чтобы разрабатывать безопасные алгоритмы, с проблемами реализации на которые у нас есть очень небольшая надежда решения. Они в будущем. И Вы должны смотреть на каждого, который сообщает об этом, с глубоким и глубоким подозрением.

 

Авторское право © 2002 Counterpane Internet Security, Inc.

Русский материал Малютина А., редакция Малютиной Н.М.

Следующая страница

Сайт управляется системой uCoz