Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 Контент вільний від AI. Цей пост на 100% написаний людиною, як і все на моєму блозі. Насолоджуйтесь!

21.12.2022

Основи TLS - ключі та підписи

Отже, вчора розібралися з тим, що таке асиметрична криптографія та яке значення вона має для довіри в інтернеті. Тепер про ключі та підписи.

Про ключі я вже трохи говорив. Додам, що, на відміну від паролів, які можуть бути випадковими, ключі для асиметричного шифрування повʼязані математичною залежністю, тому ніхто їх ніколи не вигадує, а натомість генерує, наприклад, командою ssh-keygen.

Цікаво, що з одного боку, ключі уможливлюють автентифікацію: якщо я передам тобі свій публічний ключ, то потім ти можеш перевірити, що я — це я, тримач приватного ключа. Але з іншого — не містять визначної інформації: тобто хто я такий, по ключу зрозуміти не можна. Для цього нам потрібні сертифікати, та щоб дістатись до сертифікатів, треба спочатку зрозуміти підписи.

Що ж таке цифровий підпис? Насправді він робиться дуже просто — беремо документ для підпису, та шифруємо його приватним ключем. Це і є підпис. Тепер передаємо підпис отримувачу разом з оригінальним документом. Отримувач документа може розшифрувати підпис публічним ключем, порівняти з оригінальним документом, та зробити висновок про його дійсність.

(Зауважу, що насправді зазвичай підписується не весь документ, а його хеш, тому що хешування працює набагато швидше, ніж шифрування. Відповідно, отримувач перевіряє, що хеш документа збігається з розшифрованим хешем.)

Тепер ти знаєш, що відбувається, коли ми підписуємо документ у “Дії”, та чому це можна розцінювати як аналог звичайного підпису на паперу. Навіть більш безпечний, бо у документі з цифровим підписом технічно неможливо змінити жодного біту. “Дія” створює та зберігає за тебе приватний ключ, а ось де знайти відповідний публічний, розкажу завтра.