Сертифікат підписується приватним ключем людини (або огрганізаціі), який випускає сертифікати. Організації, які виробляють подібні операції називаються Certificate authority (CA). Якщо в стандартному Web-клієнті (web-browser), який підтримує SSL, зайти в розділ security, то там можна побачити список відомих організацій, які підписують сертифікати. З технічного боку, створити свою власну CA досить просто. Але проти цього можуть діяти швидше юридичні перешкоди.
Тепер розглянемо, яким чином відбувається обмін даними в Інтернеті. Скористаємося все тими ж дійовими особами.
Аліса: привіт.
Боб: привіт, я Боб (видає свій сертифікат).
Аліса: а ти точно Боб?
Боб: Аліса я Боб. (Повідомлення передається два рази, один раз у відкриту, вдруге, зашифрований за допомогою приватного ключа Боба).
Аліса: все нормально, ти дійсно Боб. (І надсилає Бобу секретне повідомлення, зашифроване за допомогою публічного ключа Боба).
Боб: А ось і моє повідомлення (надсилає повідомлення, яке було зашифровано за допомогою секретного ключа, наприклад того ж шифрованого повідомлення Аліси).
Оскільки Боб знає повідомлення Аліси, тому що він володіє приватним ключем і Аліса знає, що було в тому повідомленні. Тепер вони можуть використовувати симетричний шифрувальний алгоритм (де в якості секретного ключа виступає повідомлення Аліси) і безбоязно обмінюватися шифрованими повідомленнями. А для контролю над пересиланням повідомлень (від випадкового / навмисної зміни) використовується спеціальний алгоритм - Message Authentication Code (MAC). Досить поширеним є алгоритм MD5. Зазвичай, і сам MAC-code так само шифрується. У зв'язку з цим достовірність повідомлень підвищується у кілька разів. І внести зміни в процес обміну практично неможливо.
Список використаних джерел
протокол програма інтерфейс ключ
1. # «Justify">. # «Justify">. # «Justify">. # «Justify">. # «Justify">. # «Justify">. # «Justify"> ним)
. # «Justify">. nsa.bydocs/security/s23.html
10.