stringtranslate.com

Принцип Керкгоффса

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

Принцип Керкхоффса был сформулирован американским математиком Клодом Шенноном как « враг знает систему», [1] т. е. «следует проектировать системы, предполагая, что противник немедленно получит полное представление о них». В такой форме он называется максимой Шеннона .

Другая формулировка американского исследователя и профессора Стивена М. Белловина звучит так:

Другими словами — проектируйте свою систему, предполагая, что ваши оппоненты знают ее в деталях. (Бывший сотрудник Национального центра компьютерной безопасности АНБ сказал мне, что стандартным предположением там было то, что серийный номер 1 любого нового устройства был доставлен в Кремль.) [2]

Происхождение

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

Огюст Керкхоффс был профессором немецкого языка в Высшей коммерческой школе (HEC) в Париже. [4] В начале 1883 года статья Керкхоффса « La Cryptographie Militaire » [5] была опубликована в двух частях в « Журнале военной науки» , в которой он изложил шесть правил проектирования военных шифров .  [6] В переводе с французского они таковы: [7] [8]

  1. Система должна быть практически, если не математически, неразборчивой;
  2. Она не должна требовать секретности, и не должно возникнуть проблем, если она попадет в руки врага;
  3. Должна быть возможность передавать и запоминать ключ без использования письменных заметок, а корреспонденты должны иметь возможность изменять или модифицировать его по своему усмотрению;
  4. Он должен быть применим к телеграфной связи;
  5. Он должен быть портативным и не должен требовать участия нескольких человек для его обслуживания или эксплуатации;
  6. Наконец, учитывая обстоятельства, в которых она будет использоваться, система должна быть простой в использовании, не должна вызывать стресса или требовать от пользователей знания и соблюдения длинного списка правил.

Некоторые из них больше не актуальны, учитывая способность компьютеров выполнять сложное шифрование. Второе правило, теперь известное как принцип Керкхоффса , по-прежнему имеет решающее значение. [9]

Объяснение принципа

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

Криптография девятнадцатого века, напротив, использовала простые таблицы, которые обеспечивали транспозицию буквенно-цифровых символов, как правило, с заданными пересечениями строк и столбцов, которые можно было изменять с помощью ключей, которые обычно были короткими, числовыми и могли быть зафиксированы в человеческой памяти. Система считалась «нерасшифровываемой», поскольку таблицы и ключи сами по себе не передают смысла. Секретные сообщения могут быть скомпрометированы, только если соответствующий набор таблицы, ключа и сообщения попадет в руки противника в соответствующий временной интервал. Керкхоффс рассматривал тактические сообщения как имеющие только несколько часов актуальности. Системы не обязательно скомпрометированы, поскольку их компоненты (т. е. таблицы буквенно-цифровых символов и ключи) можно легко изменить.

Преимущество секретных ключей

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

Существует множество способов, с помощью которых можно раскрыть внутренние детали широко используемой системы. Наиболее очевидным является подкуп, шантаж или иные угрозы, которые могут заставить персонал или клиентов объяснить систему. Например, во время войны одна сторона, вероятно, захватит некоторое оборудование и людей у ​​другой стороны. Каждая сторона также будет использовать шпионов для сбора информации.

Если метод включает программное обеспечение, кто-то может делать дампы памяти или запускать программное обеспечение под контролем отладчика, чтобы понять метод. Если используется оборудование, кто-то может купить или украсть часть оборудования и создать любые программы или гаджеты, необходимые для его тестирования. Оборудование также может быть разобрано, чтобы детали чипа можно было изучить под микроскопом.

Поддержание безопасности

Некоторые делают обобщение из принципа Керкхоффса: «Чем меньше и проще секреты, которые необходимо хранить для обеспечения безопасности системы, тем легче поддерживать безопасность системы». Брюс Шнайер связывает это с убеждением, что все системы безопасности должны быть спроектированы так, чтобы выходить из строя как можно более изящно :

принцип применим не только к кодам и шифрам, но и к системам безопасности в целом: каждый секрет создает потенциальную точку отказа . Другими словами, секретность является основной причиной хрупкости — и, следовательно, чем-то, что может сделать систему склонной к катастрофическому краху. И наоборот, открытость обеспечивает пластичность. [11]

Любая система безопасности в решающей степени зависит от сохранения некоторых вещей в тайне. Однако принцип Керкхоффса указывает на то, что вещи, которые хранятся в тайне, должны быть наименее затратными для изменения в случае непреднамеренного раскрытия. [9]

Например, криптографический алгоритм может быть реализован аппаратным и программным обеспечением, которое широко распространено среди пользователей. Если безопасность зависит от сохранения этого секрета, то раскрытие приводит к серьезным логистическим трудностям при разработке, тестировании и распространении реализаций нового алгоритма – он «хрупок». С другой стороны, если сохранение алгоритма в секрете не важно, а только ключи, используемые с алгоритмом, должны быть секретными, то раскрытие ключей просто требует более простого и менее затратного процесса генерации и распространения новых ключей. [12]

Приложения

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

Безопасность через неизвестность

Довольно распространено среди компаний, а иногда даже среди органов стандартизации, как в случае с CSS-шифрованием на DVD , держать внутренние механизмы системы в секрете. Некоторые [ кто? ] утверждают, что эта «безопасность через неизвестность» делает продукт более безопасным и менее уязвимым для атак. Контраргумент заключается в том, что сохранение внутренних механизмов в секрете может улучшить безопасность в краткосрочной перспективе, но в долгосрочной перспективе доверять следует только тем системам, которые были опубликованы и проанализированы.

Стивен Белловин и Рэнди Буш прокомментировали: [13]

Безопасность через неизвестность считается опасной

Сокрытие уязвимостей безопасности в алгоритмах, программном обеспечении и/или оборудовании снижает вероятность того, что они будут исправлены, и увеличивает вероятность того, что они могут быть и будут использованы. Препятствование или запрет обсуждения слабостей и уязвимостей чрезвычайно опасны и пагубны для безопасности компьютерных систем, сети и ее граждан.

Открытое обсуждение способствует повышению безопасности

Долгая история криптографии и криптоанализа раз за разом показывала, что открытое обсуждение и анализ алгоритмов выявляют слабости, о которых не думали первоначальные авторы, и тем самым приводят к лучшим и более безопасным алгоритмам. Как заметил Керкхоффс о системах шифрования в 1883 году [Kerc83], "Il faut qu'il n'exige pas le secret, et qu'il puisse sans inconvénient tomber entre les mains de l'ennemi". (Грубо говоря, "система не должна требовать секретности и должна быть способна быть украдена противником без причинения беспокойства".)

Ссылки

  1. ^ Шеннон, Клод (4 октября 1949 г.). «Теория связи в секретных системах». Bell System Technical Journal . 28 (4): 662. doi :10.1002/j.1538-7305.1949.tb00928.x . Получено 20 июня 2014 г.
  2. ^ Белловин, Стив (23 июня 2009 г.). «Безопасность через неизвестность». RISKS Digest . 25 (71). Архивировано из оригинала 10 июня 2011 г. Получено 18 сентября 2010 г.
  3. ^ "[3.0] The Rise Of Field Ciphers". vc.airvectors.net . Архивировано из оригинала 2024-01-11 . Получено 2024-01-11 .
  4. ^ "Август Керкхоффс: отец компьютерной безопасности - История". china.exed.hec.edu . HEC Paris . Архивировано из оригинала 26 ноября 2022 г. Получено 26 ноября 2022 г.
  5. ^ Petitcolas, Fabien, Электронная версия и перевод на английский язык "La cryptographie militaire", архивировано из оригинала 2015-10-10 , извлечено 2004-06-29
  6. ^ Кан, Дэвид (1996), Взломщики кодов: история секретного письма (Второе издание), Scribnersстр.235
  7. ^ Керкхоффс, Огюст (январь 1883 г.). "La cryptographie militaire" [Военная криптография] (PDF) . Journal des sciences militaires [ Журнал военной науки ] (на французском языке). IX : 5–83. Архивировано (PDF) из оригинала 2021-02-20 . Получено 17-12-2019 .
  8. ^ Керкхоффс, Огюст (февраль 1883 г.). "La cryptographie militaire" [Военная криптография] (PDF) . Journal des sciences militaires [ Журнал военной науки ] (на французском языке). IX : 161–191. Архивировано (PDF) из оригинала 2021-02-20 . Получено 17-12-2019 .
  9. ^ ab Savard, John JG (2003). "A Cryptographic Compendium: The Ideal Cipher". www.quadibloc.com . Архивировано из оригинала 26 июня 2020 г. . Получено 26 ноября 2022 г. .
  10. ^ Мэсси, Джеймс Л. (1993). «Конспект курса». Криптография: основы и приложения . стр. 2.5.
  11. Mann, Charles C. (сентябрь 2002 г.), «Homeland Insecurity», The Atlantic Monthly , 290 (2), заархивировано из оригинала 2008-07-07 , извлечено 2017-03-08 .
  12. ^ "Современная интерпретация Керкхоффа". Rambus . 21 сентября 2020 г. Архивировано из оригинала 26 ноября 2022 г. Получено 26 ноября 2022 г.
  13. Белловин, Стивен; Буш, Рэнди (февраль 2002 г.), Безопасность через неизвестность считается опасной, Internet Engineering Task Force (IETF), заархивировано из оригинала 1 февраля 2021 г. , извлечено 1 декабря 2018 г.

Примечания

В данной статье использованы материалы статьи Citizendium «Принцип Керкхоффса», которая распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 Unported License , но не по лицензии GFDL .

Внешние ссылки