Featured image of post Принцип Керкгоффса

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

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


Всем привет!

Сегодня я бы хотел поговорить о чем-то довольно интересном и на самом деле очень важном — о «Принципе Керкгоффса».

Ой, подождите-ка.
Возможно, кто-то из вас подумал: «Я никогда не слышал о Принципе Керкгоффса, и это звучит слишком сложно…». Не волнуйтесь. Эта статья предназначена именно для вас.


Что значит «Безопасная криптография»?

Например, кто-то подходит к вам и говорит: «Этот сейф может открыть только тот, кто знает секретный способ».

На первый взгляд это звучит очень надежно, не так ли?
Но если задуматься, разве это не вызывает легкого беспокойства?

Типа: «Если этот секрет раскроют, то всему конец, верно?»

На самом деле, именно поэтому и появился Принцип Керкгоффса.


Что же такое «Принцип Керкгоффса»?

Если говорить очень кратко, то это:

Идея о том, что «Криптография должна оставаться безопасной, даже если её механизм раскрыт» .

Точнее говоря, «Безопасность должна зависеть только от “секретного ключа”, и это абсолютно нормально, если сам метод шифрования будет общедоступен!»

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


«Безопасно, пока механизм в секрете» — это может быть немного опасно

Вот очень распространенный образ мышления:

«Я никому не показывал внутренности этого приложения, поэтому с безопасностью всё в порядке».

Я понимаю это чувство.
Но это всё равно что сказать: «Поскольку никто его не видел, никто и не найдет уязвимостей, значит, всё хорошо, так?»

В действительности, сам факт того, что «его никто не видел», может стать риском.


Но почему этот принцип так важен?

Причина в том, что если кто-то завладеет механизмом и сможет легко его взломать, то эта криптография потерпит неудачу.

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

Важно не то, что «Это безопасно, потому что ключ является секретом», а то, что «Даже если показать весь механизм, его невозможно открыть без правильного ключа».


Чувство «Но разве это не страшно?»

В этот момент многие люди чувствуют следующее:

«Раскрыть весь механизм — разве это не страшно?»

Я понимаю эту тревогу.

Ведь вы наверняка подумаете: «Если я всё покажу, разве это не скопируют или не используют во зло?»

Но именно в этом и заключается суть Принципа Керкгоффса.
«Сила, которая не разрушается, даже если показать внутренности» — вот что такое настоящая безопасность.


Тем не менее, поначалу требуется немного смелости

Если поставить себя на место разработчика: «Опубликовать механизм = показать свои слабые стороны», это, безусловно, заставляет нервничать.

Но подумайте об этом.

То, что открыто показывает свой механизм и говорит: «Любой может проверить это», в конечном итоге вызывает больше доверия.

Это ведь похоже на человеческие отношения, не так ли?

«Человек, который показывает свое истинное лицо и с которым всё равно легко ладить» — это тот, с кем чувствуешь себя спокойнее всего.


Вот и всё

Принцип Керкгоффса может звучать немного теоретически, но его суть очень проста.

Всё дело в том, чтобы «Создать механизм, который не сломается, кто бы на него ни посмотрел» .

Правильный дизайн значит больше, чем поверхностные секреты.
Код, который не стыдно показать, лучше, чем код, который вы не хотели бы показывать никому.

Возможно, именно такая «сила» будет всё больше востребована в будущем.


Спасибо за прочтение!

Тема безопасности может быть немного сложной, но в ней есть моменты, которые перекликаются с «человеческими отношениями» и «повседневным чувством безопасности».
Я уверен, что если вы будете изучать её понемногу, не перегружая себя, из этого выйдет что-то хорошее.


Auguste Kerckhoffs

comments powered by Disqus
Создано при помощи Hugo
Тема Stack, дизайн Jimmy