Адамдар VPN-ді «ашық кілттік шифрлауды пайдаланатын» жүйе деп сипаттайды, содан кейін әр пакет сервер сертификатымен құлыпталады деп елестетеді. Бұл бейне конфигурация файлын немесе пакеттер жазбасын оқығанда маңызды болатын түрде қате. VPN-нің ашық кілттік жартысы серіктестің кім екенін дәлелдеуге және құпия материал туралы келісуге қатысты; симметриялық жартысы — трафикті шынымен қорғайтын бөлік, пакет сайын, сессияның бүкіл өмірі бойы.

Екі жартының өмірлік мерзімі, істен шығу режимдері және қауіпсіз жариялауға болатын нәрселері әртүрлі. Оларды бөлгенде, «RSA 2048 AES-128-ден әлсіз бе» деген сұрақтар шатастыруды тоқтатады, өйткені олар ешқашан салыстыруға келмейтін.

Бірге шатастырылатын үш операция

Ашық кілттік криптография — кемінде үш түрлі операцияны қамтитын қолшатыр. Қолтаңба жеке кілт иесінің белгілі бір хабарламаны мақұлдағанын дәлелдейді. Кілт келісімі екі серіктеске ашық түрде алмасқан баалуулықтардан ортақ құпия туынды етуге мүмкіндік береді. Ашық кілттік шифрлау деректерді біреудің ашық кілтінің астына жашырады, сондықтан оны тек жеке кілт аша алады.

VPN қол алысулары көбінесе алғашқы екеуін пайдаланады. Сертификат шифрлау кілті емес; ол атты ашық кілтке байланыстыратын қол қойылған мәлімдеме және екінші тарапқа жаңа ғана алған кілтке сену-сенбеуді шешуге мүмкіндік береді. Мысалы, TLS 1.3 кілттерін орнату (EC)DHE кілт келісімі мен сертификат қолтаңбаларына негізделген, сессияны сервердің ашық кілтімен шифрлауға емес.

Қол алысу шын мәнінде нені шығарады

Заманауи қол алысуда әр тарап эфемерлі кілт жұбын жасайды, ашық жартыларын алмасады және сымнан ешқашан өтпейтін ортақ құпияны есептейді. Содан кейін бұл құпия кілт туындылау функциясынан өтіп, әр бағыт үшін бөлек кілттер, қосымша жазба қабатына қажет nonce-тар мен IV материалы жасалады. WireGuard мұны Noise негізіндегі құрылымымен жасайды; TLS 1.3 мұны қол алысу транскриптіне HKDF арқылы жасайды.

Ұзақ мерзімді тіркелгі — сертификат мен жеке кілт немесе статикалық WireGuard кілті — сол алмасуды аутентификациялайды. Ол транскриптке қол қояды немесе оған араласады, сондықтан бөгде адам серіктестің орнына қол алысуды аяқтай алмайды. Одан кейін тіркелгі әр пакетке жұмыс істемейді. Егер істесе, әр пакетке жеке кілт операциясы қажет болар еді және бос емес туннель стектегі ең баяу операциямен шектелер еді.

Бұдан екі жанама әсер шығады. Біріншіден, сессия кілттері әр жолы жаңа, сондықтан кейін ұзақ мерзімді кілтті ұрлаған шабуылдаушы бұрын жазылған сессияларды шеше алмайды, келісім эфемерлі болған жағдайда. Екіншіден, ағып кеткен сессия кілті бір сессияны бұзады, жеке басын емес.

Неге үлкен деректер көлемі симметриялық кілттерді пайдаланады

Симметриялық шифрлар көлемді жақсы көтереді: AES-GCM немесе ChaCha20-Poly1305 әр пакетті жадыда бар кілтпен өңдейді, тақырыпшаны аутентификациялайды және санауышты арттырады. Қабылдаушы тарап nonce мен аутентификация тегін тексереді және сәтсіз болған немесе қайталанғанның барлығын тастайды. Бұл қарапайым техникада желі жылдамдығында жұмыс істеуге жеткілікті арзан, және сол құрылым бір өтуде құпиялылық пен тұтастық береді.

Құрылым — сонымен қатар іске асыру қателерінің көбі тұратын жер. GCM-де қайталанған nonce құпиялылық пен шынайылықты бірден бұзады, сондықтан хаттамалар әр бағыт үшін кілттерді туындылайды және айқын санауыш немесе дәуір ұстайды. Егер пакеттер жазбасын оқып жатсаңыз және шифрлық мәтіннің ұзындығы ашық мәтінге тұрақты қосымша қосқанға сәйкес келсе, онда симметриялық қабат жұмыс істейді, әр пакет сайын ашық кілттік операция емес.

Өмірлік мерзім, кілттерді жаңарту және алға қарай құпиялылық

Сессия кілттері мерзімі бітуі үшін арналған. TLS 1.3 KeyUpdate хабарламасына трафик кілттерін айналдыруға рұқсат береді; WireGuard конфигурацияланған уақыт немесе хабарлама санынан кейін сессияны жаңартады және ескісін жолдағы пакеттер үшін аз уақыт сақтайды. OpenVPN өз деректер арнасының кілттерін кесте бойынша қайта келіседі, reneg-sec аралықты бақылайды.

Бұл айналдырулардың ешқайсысы сертификатты жаңартумен бірдей емес. Сертификат бір жыл жарамды болуы мүмкін, ал сессия кілттері әр бірнеше минут сайын өзгереді, және сертификатты иштеп жатқан туннелдің кілттеріне тиймей-ақ ауыстыруға болады. Мерзімінің бітуін жоспарлағанда, қай объектіні айналдырып жатқаныңызды сұраңыз; жауап клиенттер қайта қосыла ма, әлде тек кілттерді жаңарта ма — соны шешеді.

Объектілерді араластырмай конфигурациялар мен диагностиканы оқу

Практикада сіз толық хаттаманы және оның қолдайтын примитивтерін таңдайсыз, өзіңіздікін құрастырмайсыз. OpenVPN-нің --tls-crypt кілті басқару арнасын қорғайды; деректер арнасы келісілген симметриялық шифрларды пайдаланады. WireGuard-тің PrivateKey және PublicKey жазбалары — жеке басының материалы, ал оның көлік кілттері іштей туындыланады. Бұл өрістерді бірдей құпия түрі ретінде оқу ашық кілтті жеке кілт тұратын жерге қою сияқты қателерге әкеледі.

Ашық материалды жекеден бөлек ұстаңыз. Сертификат, WireGuard ашық кілті және саусақ ізі билетте бөлісуге қауіпсіз. Жеке кілт, алдын ала бөлісілген кілт және экспортталған сессия кілті олай емес. Күшті салыстырғанда бір типтің ішінде салыстырыңыз: эллиптикалық қисық идентификаторы, RSA модулінің өлшемі және AES кілтінің өлшемі әртүрлі божамолдар бойынша әртүрлі нәрселерді өлшейді. TLS 1.3 ережесі екі қабаттың қалай бірігетіні туралы пайдалы анықтама, туннеліңіз TLS болмаса да.

Қатысты мақалалар