Для забезпечення конфіденційності та достовірності інформації. переданої через інтернет, використовуються шифрування і цифрові підписи, тобто - криптографія.
Алгоритми шифрування діляться на симетричні (з секретним, єдиним ключем, одноключевие) і асиметричні (з відкритим ключем).
Симетричні алгоритми шифрування (або криптографія з секретними ключами) засновані на тому, що відправник і одержувач інформації використовують один і той же ключ. Цей ключ повинен зберігатися в таємниці і передаватися способом, що виключає його перехоплення. Якщо ключ не був скомпрометований, то при розшифровці автоматично виконується аутентифікація відправника, так як тільки відправник має ключ, за допомогою якого можна зашифрувати інформацію, і тільки одержувач має ключ, за допомогою якого можна розшифрувати інформацію.
Так як відправник і одержувач - єдині користувачі, які знають цей симетричний ключ, при компрометації ключа буде скомпрометовано тільки взаємодія цих двох користувачів. Безпека систем шифрування такого типу залежить від конфіденційності ключа, використовуваного в алгоритмі шифрування, а не від зберігання в таємниці самого алгоритму.
В асиметричних алгоритмах шифрування (або криптографії з відкритим ключем) використовуються два ключі - відкритий ключ (public key) і секретний ключ (secret key або private key), згенеровані таким чином, що їх послідовне застосування до деякого інформаційного об'єкту залишає цей об'єкт без змін.
Ці ключі різні і не можуть бути отримані один з іншого, хоча і створюються разом. При шифруванні використовується тільки відкритий ключ. при дешифрування - тільки секретний ключ.
Дешифрування коду без знання секретного ключа практично нездійсненно. Зокрема, практично нерозв'язна задача обчислення секретного ключа за відомим відкритому ключу.
Основна перевага криптографії з відкритим ключем - спрощений механізм обміну ключами. При здійсненні комунікації по каналу зв'язку передається тільки відкритий ключ, що уможливлює використання для цієї мети звичайного каналу і усуває потребу в спеціальному захищеному каналі для передачі ключа.
На відміну від асиметричних алгоритмів шифрування, в яких шифрування проводиться за допомогою відкритого ключа, а розшифровка - за допомогою закритого, в схемах цифрового підпису підписання проводиться із застосуванням закритого ключа, а перевірка підписи - із застосуванням відкритого. Те-є все навпаки!
Закритий ключ є найбільш вразливим компонентом всіх криптосистем шифрування з відкритим ключем і цифрового підпису. Зловмисник, який вкрав закритий ключ користувача, може створити дійсну цифровий підпис будь-якого електронного документа від імені цього користувача. Тому особливу увагу потрібно приділяти способу зберігання закритого ключа.
У середовищі криптосистем з відкритим ключем критично важливо, щоб ви були абсолютно впевнені, що відкритий ключ, яким збираєтеся щось зашифрувати - НЕ майстерна імітація, а справжня власність вашого кореспондента. Можна просто шифрувати тільки тими ключами, які були передані вам їх власниками з рук в руки на дискетах. Але припустимо, що потрібно зв'язатися з людиною, що живе на іншому краю світу, з яким ви навіть незнайомі; як ви можете бути впевнені, що отримали його справжній ключ?
Цифрові сертифікати ключів спрощують задачу визначення приналежності відкритих ключів передбачуваним власникам.
Цифровий сертифікат ключа - це інформація, прикріплена до відкритого ключа користувача, яка допомагає іншим встановити, чи є ключ справжнім і вірним. Цифрові сертифікати потрібні для того, щоб унеможливити спробу видати ключ одну людину за ключ іншого.
Цифровий сертифікат складається з трьох компонентів: