Питате ли које шифровање користи VPN, одговор обично стиже као једна реч: AES-256, или ChaCha20, или можда WireGuard. Тај одговор именује једну компоненту једног слоја, док је оно што заиста штити везу скуп алгоритама који испуњавају четири различите улоге. Замена компоненте с распоредом најчешћа је грешка у таквим разговорима и ствара поређења која се не могу разрешити.

Четири посла унутар једне везе

Групно шифровање претвара отворени текст у шифрат за канал података, а његов кључ се изводи уместо преноси. Заштита интегритета открива промену, што је засебан посао чак и кад једна конструкција обавља обоје. Успостављање кључева ствара заједнички саобраћајни материјал, а провера идентитета друге стране одлучује ко је на другом крају. Недостаје ли иједна од њих, веза није безбедна, колико год преостали део био јак.

Неки нацрти спајају две улоге у једну. AES-GCM и ChaCha20-Poly1305 аутентификоване су шифровне конструкције, па поверљивост и интегритет долазе заједно; AES-CBC није, њему треба засебан код за проверу поруке с властитим кључем. Зато читање предлога као вреће независних бројева погрешно чита оне који су замишљени као парови.

Улоге леже и на различитим слојевима, па иста реч у два производа може значити различито. Блоковна шифра у ESP-у и блоковна шифра у TLS-у исти су примитив у различитим преговорима с различитим захтевима. Зато цитирање примитива без његовог начина рада и слоја може бити горе од нецитирања ничега.

Зашто назив шифре готово ништа не каже

Узмите фразу AES-256 на тренутак озбиљно: она означава блоковну шифру и величину кључа. Не каже ништа о начину рада, о томе је ли интегритет обезбеђен, како су кључеви успостављени или како је друга страна проверена. Два производа могу оба рекламирати AES-256 и разликовати се у свему осталом, укључујући један с неаутентификованим начином и други с AEAD начином и модерном разменом кључева.

TLS 1.3 унео је то раздвајање у стандард, што је корисна исправка за свакога ко је учио старији речник. Његови шифровни пакети именују само AEAD и хеш, док се групе за размену кључева и алгоритми потписа преговарају као засебни параметри. Зато се назив пакета TLS 1.3 не може упоредити с називом пакета TLS 1.2 под истим условима, иако се оба појављују у истом пољу конфигурационе датотеке. Ревизор који два низа упореди изравно доноси закључак који протокол не подупире. Прочитајте и преговарану групу и параметре потписа, иначе је поређење непотпуно.

WireGuard бира супротан пут и уклања преговарање готово посве: протокол прописује фиксни скуп алгоритама, па две имплементације или сарађују или не. То је легитиман дизајнерски избор и значи и то да питање који пакет WireGuard преговара нема одговор вредан поређења. Ако га ревидирате, прочитајте спецификацију једном па затим ревидирајте управљање кључевима око ње, уместо преговарања.

Слој одређује речник

Увођење IPsec-а преговара двапут: IKE предлог за контролни канал и ESP трансформацију за податке, а то се двоје може легитимно разликовати. Читање првога и претпоставка да описује друго чест је извор збрке током ревизије, јер конфигурациона датотека спомиње обоје, а занимљиво је друго.

LayerWhat is negotiated thereWhat it does not cover
IKE proposalAlgorithms and groups for the control channel that builds the tunnelThe algorithms protecting the data itself
ESP transformEncryption and integrity for tunneled packetsPeer identity, which authentication already settled
TLS handshakeAEAD and hash, plus separately negotiated groups and signaturesRouting, authorization or retention policy
WireGuardNothing; the algorithm set is fixed by the protocolEverything above the cryptographic arrangement

Назив доступан у једној библиотеци није аутоматски имплементиран за други пут података. Зато је тврдња да наш производ подржава AES-256 слабија него што звучи, и зато се проблем интероперабилности обично решава проналажењем одржаног пресека, а не укључивањем сваког старог алгоритма на обе стране.

Спецификација TLS 1.3 најјаснији је објављени пример тога раздвајања јер пакет дефинише као пар и остатак премешта у властито преговарање. Кад је тај облик познат, IPsec предлог и једини фиксни WireGuard скуп читају се као иначице исте идеје.

Прочитајте преговарани резултат, па станите

Конфигурисани предлог није доказ шта су два партнера одабрала. Жива сесија носи одговор, а свака главна имплементација може га пријавити без хватања пакета.

openssl s_client -connect vpn.example.net:443 -brief
ipsec statusall
wg show

У излазу читајте одабране алгоритме, а не понуђени списак. Ако је одговор слабији од предвиђенога политиком, исправка припада конфигурацији предлога на једној страни, а несклад се у модерним имплементацијама обично покаже као неуспело преговарање, а не као тихо снижење.

Затим се сетите шта пакет не покрива. Руте, дозволе апликација, евидентирање и чување засебне су одлуке с властитим прегледом, а компатибилан криптографски распоред не каже ништа о њима. Разговор о шифри вреди, али одговара на уже питање од онога које већина људи заправо поставља.

Држите речник прецизним и аргумент постаје краћи. Пакет је скуп улога на слоју, шифра је једна компонента, а преговарани резултат једино је што описује везу коју доиста имате. Све остало у поређењу је украс.

Повезани чланци