Page 168 - 4636
P. 168
єдина особа, що має доступ до секретного ключа, одержувач досить точно знає, від кого отримано
повідомлення, а також може бути впевнений, що повідомлення не було змінено.
Цифрові підписи можуть виявитися дуже корисними. Вони гарантують одержувачу, що
повідомлення не було підроблено, а також не дозволяють відправникові відмовитися від зобов'язань,
заперечуючи факт відправки повідомлення.
Важливо зауважити, що хоча повідомлення шифрують, їх може прочитати будь-який власник
відкритого ключа. Незважаючи на те що використовуються ті ж методи і ключі, в даному випадку
призначенням шифрування є не заборонити читання, а запобігти підробку і відмову від зобов'язань.
Оскільки алгоритми з відкритим ключем досить повільно працюють з великими повідомленнями,
для підвищення продуктивності зазвичай використовують алгоритм іншого типу, званий хеш-
функцією (hash function). Хеш-функція обчислює дайджест, або хеш-значення, для даного
повідомлення. Зовсім не важливо, яке значення генерує алгоритм. Важливо, що результат цієї функції
є детермінованим, тобто результат буде одним і тим самим щоразу, коли на вхід передаються одні й ті
ж дані. Крім того, важливо, що результат має невеликий розмір, і алгоритм швидко працює.
Найбільш відомі хеш- функції - це MD5 і SHA.
Хеш-функція генерує дайджест, що відповідає певному повідомленню. Маючи в своєму
розпорядженні повідомлення і дайджест, можна переконатися, чи не підроблене повідомлення, але
тільки в тому випадку, якщо дайджест було підроблено разом з ним.
Тому звичайний спосіб створення цифрового підпису – це створення за допомогою швидкої хеш-
функції дайджесту для всього повідомлення, а потім шифрування тільки короткого дайджесту з
використанням повільного алгоритму з відкритим ключем. Тепер підпис можна відправити разом з
повідомленням будь-яким звичайним, незахищеним каналом зв'язку.
Після отримання підписаного повідомлення його справжність можна перевірити. Підпис
дешифрується за допомогою відкритого ключа відправника. Хеш-значення для повідомлення
генерується за допомогою того ж методу, який використовував відправник. Якщо дешифроване хеш-
значення співпадає із згенерованим значенням, отжеь, повідомлення дійсно прислано відправником і
при пересиланні його не змінювали.
9.7 Цифрові сертифікати
Добре б мати можливість перевіряти, чи повідомлення не було змінено, а вся послідовність
повідомлень надійшла від певного комп'ютера або користувача. Для комерційних взаємодій ще краще
було б мати можливість зв'язати користувача або сервер з яким-небудь реальним правовим поняттям,
таким як фізична або юридична особа.
Цифровий сертифікат об'єднує в цифровій підписаній формі відкритий ключ та інформацію про
людину або організацію. Отримавши сертифікат, ви отримуєте відкритий ключ іншої сторони для
відправлення їй, при необхідності, зашифрованих повідомлень. Крім того, цифровий сертифікат
містить інформацію про іншу сторону, яка свідомо не піддавалася змінам.
У даному випадку проблема полягає в тому, що інформація з сертифіката заслуговує рівно
стільки довіри, скільки і людина, що його підписала. Будь-яка людина може створити і підписати
сертифікат, в якому затверджуватиметься все що завгодно. Для комерційних транзакцій корисно
наявність третьої, заслуговуючої довіри сторони, яка буде перевіряти справжність учасників та
відомостей, записаних в їхніх сертифікатах.
Такі треті сторони називають центрами сертифікації (Certifying Authority – СА). Центри
сертифікації видають цифрові сертифікати окремим особам і компаніям, які повинні для цього пройти
перевірку на справжність.
165