Що таке безпека через невідомість?

click fraud protection

Безпека є важливою рисою нашого сучасного життя. Оскільки багато речей покладаються на цифрові комунікації, безпека зараз є фундаментальною. Візьмемо приклад простого підключення до веб-сайту. Якщо з’єднання надійно зашифровано, ви можете бути впевнені, що дані, які надсилаються між вами та веб-сервером, є незмінними та невідомими іншим. Якщо ви з’єднуєтеся незахищено, будь-який пристрій, який передає або може бачити передачу вашого з’єднання, зможе точно побачити, які дані передаються. У цьому сценарії будь-який пристрій, який є частиною ланцюжка передачі між вами та сервером, також може редагувати дані під час передавання.

Справа в усій цій секретності полягає в тому, що більшість із них взагалі не секретна. Насправді весь алгоритм шифрування є відкритим. Лише одна частина системи має бути секретною, щоб зашифровані повідомлення були безпечними. Це ключ шифрування. Сучасна криптографія дотримується принципу Керкгоффса 1883 року: «криптосистема має бути безпечною, навіть якщо все, що стосується система, крім ключа, є загальновідомою». Системи того часу зазвичай спиралися на інший принцип: безпека через невідомість.

Безпека через невідомість

Спочатку концепція безпеки через невідомість здається більш логічною. Якщо вся система шифрування секретна, то як хтось може розшифрувати повідомлення? На жаль, хоча це має сенс, є кілька основних проблем, які він не враховує. Основна проблема полягає просто в тому, що ви не можете використовувати систему, не відкривши її, оскільки ризикує її викрити. Якщо реалізувати це на комп’ютері, його можна зламати. Фізичну машину можна вкрасти. Якщо ви навчаєте лише довірених людей, їх можна обдурити, схопити й катувати.

Класичним прикладом такої системи є шифр зсуву Цезаря. Насправді він названий на честь Юлія Цезаря, який використовував його для конфіденційної кореспонденції. Шифри Цезаря циклічно змінюють одну літеру на іншу. Цезар використав зсув ліворуч на три, в результаті чого D перетворилося на A. Це відомо з «Життя Юлія Цезаря», написаного Светонієм у 56 році нашої ери. Незрозуміло, наскільки безпечним був цей шифр на той час. Зараз така схема не забезпечить жодної безпеки. Причина цього в тому, що система покладається на те, що система залишається таємною. Технічно він використовує ключ, цей ключ є кількістю зміщених місць в алфавіті. Однак кількість можливих ключів настільки мала, що всі можливі варіанти можна легко перевірити навіть вручну. Це залишає лише відсутність знань про систему як фактор захисту.

Ворог знає систему

У якийсь момент ворог, ким би це не був, ймовірно, зможе повністю зрозуміти вашу систему, ніби вона публічна. Якщо ваша система безпечна лише в тому випадку, якщо вона секретна, тоді, коли система буде зрозуміла, її потрібно замінити. Це дорого і вимагає часу. Якщо натомість ваша система покладається лише на секретність ключа, його не тільки набагато легше зберігати в секреті, але й легше змінити.

Складні та погано задокументовані системи часто важко правильно реалізувати. Їх також важко підтримувати, особливо якщо вони не обслуговуються автором. Необхідно мати достатню кількість документації, щоб законні користувачі могли використовувати систему. Потім цю документацію може отримати зловмисник, який потім зможе частково або повністю зрозуміти систему.

Крім того, правильну криптографію неймовірно важко зробити навіть людям, знайомим з цими концепціями. Якщо система розроблена нефахівцем, велика ймовірність того, що в ній є принаймні незначні, якщо не значні, недоліки. Публічна система може бути перевірена всіма експертами протягом десятиліть. Це дає серйозні підстави вважати, що добре відома система насправді безпечна.

Висновок

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