🔐 Amaliy kriptografiya
Xesh, shifrlash, imzo va kalitlarni to'g'ri ishlatish - 20 bosqichli amaliy qo'llanma
Darslik haqida
Kriptografiya - kiberxavfsizlikning poydevori, lekin uni noto'g'ri ishlatish himoyasizlikdan ham xavfliroq, chunki kod ishlayotgandek ko'rinadi. Ushbu darslikda kriptografiyani amaliyotchi nuqtayi nazaridan o'rganamiz: xesh funksiyalari va ular nima uchun parol uchun yaramaydi, parolni to'g'ri saqlash (Argon2id, bcrypt), HMAC va xabar butunligi, kalit hosil qilish funksiyalari, simmetrik shifrlash va ECB rejimining halokatliligi, autentifikatsiyalangan shifrlash (AES-GCM), nonce takrorlanishi, ochiq kalitli kriptografiya, raqamli imzolar, kalit almashinuvi, sertifikatlar va TLS, xavfsiz tasodifiylik, ma'lumotlarni saqlashda shifrlash, JWT va tokenlar, kalitlarni boshqarish hamda eng ko'p uchraydigan xatolar. Barcha misollar PHP 8.2 va OpenSSL da haqiqatda ishga tushirilgan. Darslik butunlay himoya nuqtayi nazaridan yozilgan.
Darslik mundarijasi
- 1 Kriptografiya nima va nima emas Kriptografiya qaysi muammolarni yechadi, qaysilarini umuman yechmaydi - va kodlash nima uchun shifrlash emas. 12 daq.
- 2 Baytlar, kodlash va xavfsiz solishtirish Kriptografiya matn bilan emas, baytlar bilan ishlaydi - va ularni solishtirish alohida ehtiyot talab qiladi. 16 daq.
- 3 Xesh funksiyalari Bir tomonlama funksiyalar, ko'chki effekti, to'qnashuvlar va nima uchun SHA-256 parol uchun yaramaydi. 13 daq.
- 4 Parollarni saqlash Nima uchun SHA-256 parol uchun yaramaydi, tuz nima beradi va Argon2id parametrlari qanday tanlanadi. 16 daq.
- 5 HMAC va xabar butunligi Xabar o'zgartirilmaganini va kimdan kelganini isbotlash - vebxuk imzolari misolida. 13 daq.
- 6 Kalit hosil qilish Paroldan kalit olish (PBKDF2, Argon2) va bitta kalitdan bir nechta kalit olish (HKDF). 14 daq.
- 7 Simmetrik shifrlash va rejimlar AES, blok rejimlari va nima uchun ECB hech qachon ishlatilmasligi kerak. 15 daq.
- 8 Autentifikatsiyalangan shifrlash (AEAD) Maxfiylik va butunlikni bitta amalda olish - AES-GCM, teg va bog'langan ma'lumot. 13 daq.
- 9 Nonce va IV - bir marta ishlatiladigan qiymatlar AEAD ning eng nozik sharti va uni buzish nima uchun shifrni butunlay yo'q qiladi. 14 daq.
- 10 Ochiq kalitli kriptografiya Kalitni oldindan kelishmasdan xavfsiz aloqa qurish - RSA, gibrid shifrlash va uning chegaralari. 14 daq.
- 11 Raqamli imzolar Kim imzolaganini isbotlash - va tekshirish kodidagi eng ko'p uchraydigan xato. 12 daq.
- 12 Kalit almashinuvi Ochiq kanal orqali umumiy kalitga kelishish - ECDH, oldinga maxfiylik va o'rtadagi odam muammosi. 14 daq.
- 13 Sertifikatlar va PKI Ochiq kalit kimga tegishli ekanini isbotlash - X.509, ishonch zanjiri va tekshiruvda nima buziladi. 18 daq.
- 14 TLS qanday ishlaydi Oldingi o'n uch bo'lim TLS da birlashadi - qo'l siqish, versiyalar va sozlashdagi xatolar. 17 daq.
- 15 Xavfsiz tasodifiylik Kriptografiyaning poydevori - taxmin qilib bo'lmaydigan sonlar; va nima uchun mt_rand ularni bermaydi. 14 daq.
- 16 Ma'lumotlarni saqlashda shifrlash Bazadagi maydonni shifrlash - konvert sxemasi, kalit almashtirish va shifrlangan maydon bo'yicha qidirish. 13 daq.
- 17 Tokenlar va JWT O'z ichida ma'lumot saqlaydigan tokenlar - tuzilishi, ikkita klassik hujum va qachon ular kerak emas. 16 daq.
- 18 Kalitlarni boshqarish Eng kuchli algoritm ham kalit noto'g'ri saqlansa foydasiz - saqlash, almashtirish va sizib chiqqanda nima qilish. 14 daq.
- 19 Eng ko'p uchraydigan xatolar Kriptografiya kodidagi xatolar katalogi - ularning aksariyati algoritmda emas, birlashtirishda. 15 daq.
- 20 Amaliy loyiha - sirlar sandig'i O'n to'qqiz bo'limni bitta ishlaydigan tizimda birlashtirish - shifrlangan omborcha, kalit almashtirish va buzilishni an... 13 daq.