ІТ-інфраструктура для вашого підприємства
Інтернет - не тільки всесвітнє сховище даних, в якому кожен обов'язково знайде саме те, що йому потрібно (якщо, звичайно, вміє шукати. Хоча це лише питання часу), і не тільки джерело всіляких розваг на будь-який смак. Ще одне виняткове призначення Інтернету - передача інформації, наприклад, за допомогою електронної пошти. У цьому плані він унікальний. Немає інших настільки розгалужених поштових мереж. Доставка кореспонденції відбувається тут майже миттєво, на заздрість традиційним службам XX в. І нарешті, повідомлення можна отримувати, перебуваючи фізично де завгодно, були б комп'ютер і модем.
Є у Інтернету і недолік - загроза інформації з боку усіляких зловмисників, половина з яких діє просто з бажання нашкодити або довести щось світу. Гірше і небезпечніше, якщо ваша інформація представляє для когось практичний інтерес, наприклад ділова переписка.
Що може зробити з інформацією зловмисник
По-перше, просто її прочитати (і використовувати потім вам на шкоду), що називається порушенням конфіденційності інформації.
А тепер перейдемо безпосередньо до теми нашого обговорення і розглянемо шифрування.
Який ключ був у Штірліца?
Кілька слів про сам шифруванні
Упевнений, що після улюбленого всіма фільму «Сімнадцять миттєвостей весни» немає нікого, хто не знав би про шифрування хоча б в загальних рисах. Однак спробую все-таки коротко описати, що ж це таке.
Отже, шифрування - це перетворення інформації з відкритої форми в закриту (зашифровану). Існує, звичайно, і зворотний процес (розшифрування).
Математично процес шифрування повідомлення M за допомогою алгоритму шифрування E виглядає так:
Так виглядає брелок для USB-порту, на якому можна зберігати ключі
Важко сказати, який ключ був у Штірліца: раніше в якості ключа могли використовуватися цілі кодові книги або смужки паперу з прорізами, в яких з'являлися літери повідомлення (а без смужки воно сприймалося як безладний набір букв). Згадаймо ще один настільки ж популярний фільм - «Гардемарини, вперед», де радник Лестока читає привезену шифровку, накладаючи на неї якийсь предмет з подібними прорізами.
Схема симетричного шифрування
Наведу формулу і для розшифрування:
Які ж бувають алгоритми шифрування? Перш за все, вони діляться на два види: симетричні і асиметричні. Давайте зупинимося на них більш докладно.
Алгоритми з секретним ключем
Найчастіше їх називають алгоритмами симетричного шифрування. Всі вони використовують один і той же ключ як для шифрування, так і для розшифрування інформації. Якщо ви збираєтеся посилати кого-небудь повідомлення, зашифровані симетричним алгоритмом, то повинні подбати про те, щоб кожен одержувач мав копію вашого секретного ключа.
Єдиний серйозний недолік алгоритмів симетричного шифрування: перед обміном повідомленнями необхідно якимось чином передати одержувачу секретний ключ. Причому не через Інтернет, а тільки «з рук в руки», на дискеті звичайною поштою або кур'єрською службою. Складно, звичайно, і час потрібно, але зробити це досить один раз, після чого можна шифрувати листи хоч цілий рік (експерти рекомендують регулярно міняти ключ). Природно, якщо ви пропустите його при зберіганні або передачі, то вважайте, що ваші листи йдуть у відкритому вигляді, - ключик-то вже у хакера.
Такий алгоритм дуже зручний і при шифруванні файлів для себе, щоб зберігати їх в захищеному вигляді на власному комп'ютері, що вельми важливо для власників ноутбуків, які в Європі і США прийнято забувати у всіх громадських місцях, та їх можуть і просто вкрасти. Однак, зашифрувавши всю інформацію на ноутбуці, ви можете спокійно його втрачати (наскільки дозволяють вам ваші фінанси): ніхто не прочитає. Якщо, звичайно, не залишити разом з ним і дискету з ключем - як часто сміються в пресі над тими, хто записує секретний PIN-код карти VISA і кладе її в гаманець разом з самою картою. Існує безліч програм для шифрування інформації на своєму комп'ютері. Серед них особливо слід виділити програми «прозорого» шифрування, т. Е. Непомітного для користувача. Такі програми зазвичай застосовуються для шифрування цілком логічних дисків комп'ютера. Їх можна налаштувати один раз, а потім вони будуть автоматично зашифровувати все, що пишеться на диск, і точно так само автоматично розшифровувати все, що зчитується з диска. Зручно, швидко і безпечно.
Матриця ключів симетричного шифрування
Приклади використовуваних в даний час симетричних алгоритмів:
- вітчизняний стандарт шифрування ГОСТ 28147-89. Сильний алгоритм з довгим ключем - чим довше ключ, тим краще захист, хоча і дещо повільніше. У ньому поки що не знайдено вад (або про це успішно мовчать). До речі, цей алгоритм є обов'язковим для застосування в державних організаціях Росії, а також в недержавних, але обмінюються з ними конфіденційною інформацією;
- алгоритм DES (Data Encryption Standard). Слабенький через надто короткого ключа (занадто давно розроблений - тоді ключа вистачало), але все ще активно застосовується, оскільки давно став загальносвітовим стандартом;
- алгоритм AES (Advanced Encryption Standard). Новий алгоритм, запропонований в якості загальносвітового стандарту замість DES. Вибирався Американським Інститутом стандартів з 15 алгоритмів-претендентів. І що дивно, перемогли зовсім не американці, а двоє криптографов з Бельгії з оригінальним і, згідно з дослідженнями, які не мають недоліків алгоритмом Rijndael.
Алгоритми з відкритим ключем
Асиметричне шифрування відрізняється від симетричного тим, що тут для шифрування і розшифрування інформації використовуються різні ключі: відкритий для шифрування і секретний для розшифрування.
Наведемо тепер послідовно цей метод.
Спочатку генеруються ключі. Секретний ключ, як і в симетричних алгоритмах, повинен бути абсолютно випадковим, а відкритий обчислюється з нього таким чином, що зворотне обчислення (секретного з відкритого) неможливо.
Секретний ключ залишається у його власника, відкритий ж надсилається тим користувачам, які будуть обмінюватися з ним інформацією. Якщо хтось хоче послати вам повідомлення, він зашифровує його на вашому відкритий ключ. А ви розшифровуєте отримане повідомлення власним секретним ключем. Ніхто інший не зможе цього зробити, оскільки у нього немає вашого секретного ключа. Останній повинен зберігатися так само надійно, як і ключ симетричного шифрування. Втративши його, терміново відбирайте у інших свій відкритий ключ, поки вони ще не зашифрували на ньому що-небудь і не послали вам.
Такий вид шифрування дуже зручний для передачі різних повідомлень, оскільки дає можливість поширювати відкриті ключі «на льоту» - прямо перед обміном зашифрованою інформацією (можете покласти ключі на свою Web-сторінку, щоб будь-хто міг зашифрувати для вас лист).
Проте асиметричне шифрування має цілий ряд недоліків, про які варто згадати, щоб убезпечити себе від різного роду неприємностей.
Зокрема, необхідно захищати відкриті ключі від підміни. Припустимо, ви згенерували пару ключів і послали відкритий ключ одному. Злісний хакер перехопив цей ключ по дорозі, створив нову пару і послав йому власний відкритий ключ замість вашого. Друг же, нічого не підозрюючи, зашифрував вам секретний лист на відкритому ключі хакера. Який буде результат? Все дуже просто: ви не зможете розшифрувати лист, а ось хакер легко це зробить. Ситуація досить реальна, але вже є способи захисту.
Схема симетричного шифрування
Чи не доведена математично криптостойкость (т. Е. Стійкість проти злому ключа шифрування або зашифрованого тексту) асиметричних алгоритмів. Втім, всім ясно, що математика - справа темна, і користувачів це не зупиняє.
На жаль, асиметричне шифрування набагато повільніше симетричного, тому що в ньому використовуються досить складні обчислення. Уявіть, наприклад, дуже велике число, що складається з 80 цифр. Це довжелезне число при шифруванні потрібно звести в ступінь іншого довгого числа, ну і так далі.
комбінований метод
Розумні криптографи придумали комбінований метод, який об'єднує в собі симетричний і асиметричний види шифрування, але вільний від властивих їм недоліків. Познайомимося з ним ближче. Припустимо, ви знову збираєтеся встановити спілкування з тим же іншому. У цьому випадку кожен повинен створити пару асиметричних ключів, після чого ви ними обмінюєтеся. У вас ваш секретний ключ і відкритий ключ одного, у одного - навпаки. Тепер він посилає вам лист. І спочатку створює якийсь випадковий ключ симетричного шифрування К, який буде використаний тільки один раз - для шифрування одного-єдиного листа. Лист зашифрована на цьому ключі К.
Для того щоб можна було розшифрувати лист, один асиметрично зашифровує ключ До на вашому відкритий ключ і додає до зашифрованого листа. Отримавши цей лист, ви перш за все своїм секретним ключем асиметрично розшифровуєте ключ К, а потім ключем До симетрично розшифровуєте саме повідомлення.
Здавалося б, для чого всі ці складності? Але абсолютно очевидно, що, по-перше, повільність асиметричного шифрування не заважає - асиметрично шифрується тільки короткий (в порівнянні з цілим листом) ключ К, а сам лист шифрується швидким симетричним алгоритмом; і по-друге, зберігається зручність обміну асиметричними ключами. Результат: швидке шифрування зі зручним обміном ключами.
Та й складнощів-то, загалом, немає: всі ці процеси в програмах шифрування відбуваються автоматично - лише вкажіть, для кого і що шифрувати. Зрозуміло, що з огляду на явних переваг саме комбінований метод шифрування і використовується найчастіше для захисту Інтернет-повідомлень.