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

При́нцип Керкго́ффса — правило разработки криптографических систем, согласно которому в засекреченном виде держится только определённый набор параметров алгоритма, называемый ключом , а сам алгоритм шифрования должен быть открытым. Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей . Широко применяется в криптографии. Впервые данный принцип сформулировал в XIX веке голландский криптограф Огюст Керкгоффс .

Шесть требований Керкгоффса

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

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

Второе из этих требований и стало известно как «принцип Керкгоффса».

История возникновения

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

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

Суть принципа

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

Преимущества

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

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

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

Применение

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

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

Безопасность через неясность — антагонист принципа Керкгоффса, заключающийся в том, что необходимо скрывать внутреннее устройство системы для обеспечения её безопасности. В некоторых компаниях принято хранить в тайне внутреннюю работу системы. Они утверждают, что безопасность через неясность делает продукт более безопасным и менее уязвимым для атак. Противоположным аргументом является то, что безопасность через неясность может привести ко многим реальным атакам. Разработчики не должны недооценивать хитрость злоумышленников и никогда не должны использовать данный принцип .

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

Максима Шеннона

Американский математик Клод Шеннон в статье « Теория связи в секретных системах », опубликованной в журнале в 1949 году , сформулировал этот принцип (вероятно, независимо от Керкгоффса) следующим образом: «Враг знает систему» . В такой формулировке этот принцип называется . Другими словами, нужно проектировать системы, исходя из предположения, что противник с ними полностью ознакомится.

Примечания

  1. .
  2. Fabien Petitcolas (1997),
  3. , pp. 122—125.
  4. , pp. 21.
  5. Mann, Charles C. (September 2002), , The Atlantic Monthly . от 7 июля 2008 на Wayback Machine
  6. .
  7. , pp. 204.
  8. , pp. 7.
  9. , pp. 1.
  10. , pp. 662.
  11. , pp. 29.

Литература

  • Shannon C. E. (англ.) . — Bell System Technical Journal, 1949. — October. — P. 656 - 715 . — ISSN .
  • Friedrich L. Bauer. (англ.) . — 4th, Revised & Extended Edition. — Springer, 2007. — 504 p. — ISBN 9783662047378 .
  • Steven Bellovin, Randy Bush. . — Internet Engineering Task Force (IETF), 2002. — 28 августа.
  • Брюс Шнайер. (неопр.) . — 2-е издание. — Триумф, 1995. — ISBN 5-89392-055-4 . от 18 декабря 2018 на Wayback Machine
  • David Kahn. . — 1st edition. — The Macmillan Company, 1967. — ISBN 0684831309 .
  • Auguste Kerckhoffs. . — Journal des sciences militaires, 1883.
  • Ron Ross, Richard Graubart, Deborah Bodeau, Rosalie McQuaid. . — 2018.
  • Jakub Szefer. (англ.) . — Morgan & Claypool, 2018. — 173 p. — (Synthesis Lectures on Computer Architecture). — ISBN 9781681730011 .
  • Corina Stratan, Valentin Cristea, Ciprian Dobre. . — First edition. — Information Science Reference, 2010. — ISBN 9781615207039 .
  • Savard, John J. G. . — 1998, 1999.
Источник —

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