TLS kalit almashinuvi va mijoz sertifikati: qaysi biri kiradi?
Kalit kelishuvini mijoz autentifikatsiyasi va ilova identifikatsiyasidan ajrating, ulanish aslida qaysi birini ishlatganini ko'rsatuvchi qo'l siqish xabarlarini o'qing.
Qo'l siqishda ochiq kalit almashinuvi qiymatini olib yurish mijozning kirishi bilan bir xil hodisa emas. Biri ulanish uchun kriptografik holat o'rnatadi; ikkinchisi mijoz kimligini bildiradi va faqat server so'raganda hamda almashinuv buni qo'llab-quvvatlaganda sodir bo'ladi. Birinchisini ikkinchisi deb qabul qilish VPN nimani yashiradi va nimani yashirmaydi degan masalada noto'g'ri xulosalarga olib keladi. Xabarlarni o'qing, so'ng to'rtta xususiyatdan qaysi birini haqiqatan kuzatganingizni aniqlang.
Yozuvda bir xil ko'rinadigan ikki obyekt
TLS 1.3 mijozi birinchi parvozida hech qanday sertifikat taqdim etmasdan kalit almashinuvi materialini bera oladi. Bu hissa dizayni bo'yicha ochiq, chunki serverga umumiy sirni chiqarish uchun u kerak. Mijoz sertifikati boshqa xabar bo'lib, faqat server so'ragandan keyin yuboriladi. U server keyin tekshiradigan identifikatsiyani olib yuradi, o'zaro autentifikatsiya esa shifr to'plami talab qiladigan xususiyat emas, serverning qaroridir. Ilova identifikatsiyasi butunlay uchinchi narsa: kirish shakli, bearer token, cookie. Ularning hech biri qo'l siqishda ko'rinmaydi va barchasi tarmoq yo'li o'zgarganda ham saqlanib qoladi.
| Object in play | What it establishes |
|---|---|
| Key-exchange share | Cryptographic state for this connection |
| Server certificate | Which server the client reached |
| Client certificate | Client authentication, when requested |
| Application session | Account identity inside the application |
To'rt qator mustaqil. Ulanishda birinchi va ikkinchi qator bo'lishi, uchinchisini o'tkazib yuborishi va shunga qaramay to'rtinchisini cookie sarlavhasida olib yurishi mumkin.
Ushlangan qo'l siqish nimani isbotlay olishini aniqlang
Faqat qo'l siqishdan kuzatuvchi kelishilgan versiyani, shifr to'plamini, server sertifikatini va ochiq kalit almashinuvi qiymatlarini biladi. Bu mijoz tatbiqining barmoq izini olish va qaysi serverga murojaat qilinganini ko'rish uchun yetarli. Bermaydigan narsa ulanishni shifrdan chiqarish uchun kerak bo'ladigan maxfiy holat; uning maxfiyligi ochiq ulushga emas, vaqtinchalik almashinuvga tayanadi. Shuningdek, u boshidan qo'l siqishda bo'lmagan hisob identifikatsiyasini ham bermaydi.
Shuning uchun halol xulosa tor: bu almashinuvda hech qanday mijoz sertifikati taqdim etilmadi. Gap mijoz bog'lash mumkin bo'lgan hech narsa yubormaganida emas va albatta sessiya hech qanday identifikator olib yurmaganida ham emas.
Shifr nomini emas, xabarlarni o'qing
Shifr to'plamidan xulosa chiqarish o'rniga serverdan nima so'rayotganini so'rang. Sertifikat so'rovi bo'lgan TLS 1.3 qo'l siqishi transkriptda ko'rinadi va uning yo'qligi ham shunday ko'rinadi.
openssl s_client -connect app.example.net:443 -tls1_3 -msg < /dev/null 2>&1 | grep -i -E 'key_share|CertificateRequest'
So'ng mijoz sertifikatini sozlab takrorlang va solishtiring. Ikkinchi ishga tushirish sertifikat yuborilishi va qabul qilinishini ko'rsatishi kerak; birinchisi hech narsa ko'rsatmasligi kerak va bahsning aniq farqi shunda.
openssl s_client -connect app.example.net:443 -tls1_3 -cert client.pem -key client.key -quiet
Agar sizga faqat oddiy ko'rib chiqish holati kerak bo'lsa, mijozning batafsil chiqishi protokol versiyasini, tekshiruv natijasini va mijoz sertifikati taklif qilingan-qilinmaganini ko'rish uchun yetarli. Hech qachon sertifikat so'rovi yubormaydigan server uni olgan bo'lishi mumkin emas.
Qayta boshlash javobni qayerda o'zgartiradi
TLS 1.3 da qayta boshlash maxfiy holatga bog'langan chiptalardan foydalanadi, shu sababli keyingi ulanish to'liq sertifikat almashinuvisiz yakunlanishi mumkin. Bu kuzatuvchi ko'radigan narsani kamaytiradi va transkript isbotlaydigan narsani o'zgartiradi. U bo'lmagan joyda identifikatsiya yaratmaydi. Qayta boshlangan sessiya hanuz o'sha ilova sessiyasiga tegishli va o'sha sessiyadagi har qanday cookie yoki token muhim identifikator bo'lib qoladi.
Shu sababli "mijoz sertifikati yo'q" degan joyda to'xtaydigan maxfiylik ko'rigi qiziqarli qismni o'tkazib yuboradi. So'raladigan savol qaysi tomon barqaror identifikatorga ega ekani, bir qo'l siqishdan qaysi xabar yo'qligi emas.
Bitta hukm emas, to'rt xususiyat yozing
Kalit kelishuvini, serverni tekshirishni, mijoz autentifikatsiyasini va ilova identifikatsiyasini har birining isboti bilan to'rt alohida qator sifatida yozing. Bu ro'yxat protokol versiyasi o'zgarganda ham saqlanadi va maxfiylik haqidagi dalilni boshqa birov tekshira oladigan qiladi. So'ng tarmoq yo'li nima qo'shishini qo'shing. VPN xizmat ko'radigan manba manzilini o'zgartiradi; u ilovada allaqachon mavjud bo'lgan kirish, cookie yoki qurilma barmoq izini olib tashlamaydi.
Ulanishning kelishilgan versiyasini va sertifikat so'rovi natijasini birga yozing, chunki sharhlovchiga o'z yozuvisiz sizning xulosangizni takrorlash uchun aynan shu juftlik kerak.