Криптографічні методи захисту інформації. Контроль цілісності програмних та інформаційних ресурсів.
1. Основи криптографії
- Пояснення: криптографія забезпечує конфіденційність, цілісність, автентичність і невідмовність.
- Приклад: зашифровані повідомлення у месенджері з перевіркою ключів.
- Порада: обирайте сучасні алгоритми і не створюйте «власну» криптографію.
2. Симетричне і асиметричне шифрування
- Пояснення: симетричне (AES) — один спільний ключ; асиметричне (RSA/EC) — пара ключів.
- Приклад: TLS 1.3 (захищене з’єднання у браузері) використовує ECDHE (обмін ключами) для узгодження секрету і симетрію (AES/ChaCha20) для даних.
- Порада: надавайте перевагу AES‑GCM та сучасним кривим (X25519/ed25519).
3. Хеш‑функції
- Пояснення: односторонні функції фіксованої довжини (SHA‑256/3) для перевірки цілісності. Відмінність: шифрування можна розшифрувати ключем, а хеш — односторонній і не відновлює вихідні дані.
- Приклад: перевірка хешу інсталятора на сайті виробника.
- Порада: не плутайте хеш із підписом — хеш не підтверджує автора.
4. HMAC
- Пояснення: MAC на базі хеш‑функції з секретним ключем забезпечує цілісність і автентичність.
- Приклад: HMAC‑SHA256 для підпису запитів до API.
- Порада: використовуйте різні ключі для шифрування і для MAC.
5. Цифровий підпис і PKI
- Пояснення: підпис приватним ключем, перевірка публічним; довіра через ланцюжок сертифікатів.
- Приклад: підпис документів КЕП/ЕЦП; перевірка сертифіката X.509 у браузері.
- Порада: перевіряйте строк дії, відкликання (CRL/OCSP) і CN/SAN сертифіката.
6. Обмін ключами
- Пояснення: безпечне узгодження спільного секрету по незахищеному каналу (DH/ECDH).
- Приклад: TLS 1.3 застосовує епемерний ECDHE для прямих секретів.
- Порада: віддавайте перевагу епемерним ключам (тимчасовим) для прямих секретів (PFS).
7. Режими блочних шифрів
- Пояснення: GCM забезпечує і шифрування, і автентифікацію (AEAD — "все‑в‑одному"); CBC потребує випадкового IV.
- Приклад: AES‑GCM у TLS; CBC застаріває через уразливості padding oracle.
- Порада: використовуйте AEAD (GCM/ChaCha20‑Poly1305) замість «шифр+MAC» вручну.
8. Генерація випадкових чисел
- Пояснення: криптографічний PRNG/ТРNG необхідний для ключів/IV/nonce.
- Приклад: використання /dev/urandom або системної CSPRNG у мовах.
- Порада: не використовуйте «Math.random()» для ключів.
9. Захист паролів
- Пояснення: для зберігання паролів — повільні KDF (bcrypt/scrypt/Argon2) + сіль.
- Приклад: Argon2id із достатньою пам’яттю й ітераціями.
- Порада: підбирайте параметри KDF залежно від апаратури, проводьте періодичний ретюнінг.
10. Дані «в русі» і «на зберіганні»
- Пояснення: захист у транзиті (TLS) і на носіях (шифрування дисків/файлів) вирішують різні задачі.
- Приклад: HTTPS для вебу + BitLocker/FileVault на ноутбуці.
- Порада: тримайте ключі окремо, застосовуйте політики розблокування по ролях.
Тест (20 питань)
-
Який алгоритм є симетричним?
- AES
- RSA
- ECDSA
- Ed25519
-
Який режим блочного шифрування забезпечує автентифікацію й цілісність?
- GCM
- CBC
- ECB
- CTR
-
Для чого використовують HMAC?
- Перевірка цілісності й автентичності з секретним ключем
- Стиснення файлів
- Розгін процесора
- Зміна теми
-
Який протокол застосовують для обміну ключами у TLS 1.3?
- ECDHE
- RSA‑PKCS#1 v1.5
- RC4
- MD5
-
Що перевіряє цифровий підпис?
- Автентичність і цілісність повідомлення
- Колір піктограми
- Розмір файла
- Швидкість мережі
-
Який ключ використовують для перевірки цифрового підпису?
- Публічний ключ
- Приватний ключ
- Спільний секрет
- Ключ від дверей
-
Навіщо додають «сіль» при зберіганні паролів?
- Щоб протидіяти радужним таблицям/словникам
- Щоб зменшити розмір файлу
- Щоб пришвидшити брутфорс
- Щоб зменшити кількість символів
-
Що таке сертифікат X.509?
- X.509 сертифікат зв'язує суб'єкта з ключем
- Архів ZIP з файлами документами
- Тип шифру AES-256 симетричний
- Текстовий формат зображень ASCII
-
Який порт за замовчуванням використовує HTTPS?
- 443
- 80
- 22
- 53
-
Що дає PFS (Perfect Forward Secrecy)?
- PFS захищає минулі сесії від компрометації
- Швидше завантаження вебсторінок браузера
- Збільшення яскравості екрана монітора
- Оптимізація графіки для ігор
-
Що таке nonce/IV?
- Nonce/IV унікальне значення для шифрування
- Тип користувача адміністратор системи
- Графічний драйвер відеокарти NVIDIA
- Стиснення відео формат MP4 H.264
-
Що НЕ є криптографічною хеш‑функцією?
- MD5
- SHA‑256
- SHA‑3
- BLAKE3
-
Що гарантує цифровий підпис, а хеш — ні?
- Автентичність автора
- Фіксовану довжину
- Швидкий підрахунок
- Детермінованість
-
Який підхід безпечніший для шифрування і перевірки цілісності?
- AEAD (як‑от GCM/ChaCha20‑Poly1305)
- Окремо шифрування + окремо «ручний» MAC
- Лише шифрування без MAC
- Лише хешування
-
Що варто використовувати для збереження паролів?
- bcrypt/scrypt/Argon2 з сіллю для паролів
- SHA‑1 без солі застарілий і небезпечний
- MD5 без солі застарілий хеш для паролів
- Base64 кодування не шифрування
-
У чому роль сертифікаційного центру (CA)?
- CA підтверджує зв'язок «суб'єкт—ключ»
- Оптимізація зображень JPG PNG для вебу
- Зміна шпалер робочого столу Windows
- Керування живленням ноутбука батареї
-
Що таке CSPRNG і для чого він потрібен?
- CSPRNG генератор випадкових чисел для ключів
- Архіватор зображень ZIP RAR 7Z
- Текстовий редактор Notepad Word
- Антивірус Kaspersky ESET DrWeb
-
Для чого використовують CRL/OCSP?
- CRL/OCSP перевіряє відкликання сертифіката
- Змінювати тему сайту CSS темна світла
- Прискорювати Wi‑Fi роутера налаштування
- Компресувати відео MP4 AVI MKV формат
-
Що таке KDF у контексті зберігання паролів?
- KDF повільна функція для паролів bcrypt
- Швидкий архіватор ZIP без шифрування
- Програма для малювання Paint Photoshop
- Параметр яскравості екрана монітора
-
Чим відрізняється шифрування від хешування?
- Шифрування розшифрувати ключем, хеш односторонній
- Обидва процеси незворотні як хешування
- Хешування двостороннє, шифрування ні
- Обидва завжди дають однакової довжини результат