К истории про «Энигму». Великий голландский криптограф и лингвист Огюст Керкгоффс еще в XIX веке сформулировал важнейшее правило криптографии, которое было названо по его имени — система не должна требовать секретности, безопасность должна держаться на ключе, а не на тайне устройства. Дело в том, что секретность является основной причиной хрупкости — она может привести к катастрофическому краху системы. И наоборот, открытость обеспечивает силу и гибкость системы. Потом математик Клод Шеннон уточнил это правило: исходи из того, что противник знает о твоем устройстве все и потому всю безопасность вложи в ключ. Для этого есть три причины. Первое: секретное устройство обязательно «утечет» и его в принципе нельзя удержать в тайне — им пользуется множество людей во множестве мест, его можно захватить, купить, разобрать обратной инженерией, выкрасть. Поэтому безопасность, стоящая на тайне устройства, обязательно рухнет. Второе: ключ можно держать в тайне и, главное, постоянно его менять — он мал, легко скрываем и легко сменяем и если он взломан, можно просто создать новый. Напомню, что немцы меняли шифр каждый день. Устройство же, единожды созданное и развернутое, сменить очень трудно. Третье: открытое устройство можно исследовать — если оно обнародовано, его изучают, испытывают, атакуют эксперты всего мира. Они находят и исправляя слабости и открытое, всеми проверенное устройство гораздо прочнее тайного, никем не испытанного, а оттого, с очень большой доли вероятности, таящего скрытые изъяны. Открытость является силой системы, а не ее слабостью. Кроме того, секретность дает ложную уверенность: создатель считает систему надежной потому, что она секретна. Любая система управления, построенная на тайнах и красных папочках, будет уязвима и неэффективна по умолчанию. Любая спецслужба будет фальсифицировать данные и прятать свои ошибки и провалы под толстым слоем секретности, при этом внушая главе государства ложное чувство всезнания и всемогущества. Золотые максимы безопасности: 1. Security through obscurity is NOT bad. 2. Security ONLY through obscurity is bad (Kerckhoffs's Principle). 3. Security through obscurity, as an additional layer, is good! Секретность — это неплохо, но это еще не безопасность. Можно провести аналогию с военными понятиями «укрытие» и «маскировка». Безопасность — это укрытие: то, за чем можно спрятаться, чтобы в тебя не попали. А секретность — это маскировка: тебя труднее увидеть и найти, поэтому враг не знает, куда стрелять, но от пуль такая защита не спасает. У обоих подходов есть свои плюсы и минусы, и они могут дополнять друг друга в зависимости от того, как их использовать. Было исследование академика Абалкина, о том, сколько стоит секретность в СССР. Точно не помню, что-то в районе годового ВВП.