Malé nasadenie siaha po odtlačkoch, pretože certifikačná autorita vyzerá ako infraštruktúra, na ktorú nemá nikto čas. Inštinkt je rozumný, ale skratka, ktorú si ľudia namiesto toho vyberajú—kopírovanie jedného tajomstva dátového kanála na oba konce—nie je. Nastavenie peer-fingerprint zachováva štruktúru TLS nedotknutú: každá strana stále drží svoj súkromný kľúč a certifikát a každá strana stále overuje tú druhú. Mení sa to, kde je overenie ukotvené: od dôveryhodného vydavateľa ku krátkemu zoznamu pripnutých digestov. Pretože digest pokrýva celý certifikát, a nie meno, obnova sa stáva operáciou, ktorá naozaj berie čas.

K čomu sa odtlačok vlastne zaväzuje

Odtlačok certifikátu je digest celého certifikátu kódovaného v DER, nie jeho verejného kľúča a nie mena jeho subjektu. Preto dva certifikáty s rovnakými menami a rovnakým kľúčom, ale rôznymi dátumami platnosti majú rôzne odtlačky. To robí pripínanie presným a to tiež robí obnovu rušivou. Pripnutie nemôže znamenať dôveru v kľúč všeobecne, pretože pomenúva jeden artefakt v jednom okamihu jeho života. Digest môže poznať ktokoľvek a samotná znalosť nič nedokazuje.

openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256

Vlastníctvo zodpovedajúceho súkromného kľúča je to, čo dokazuje, že partner drží tento certifikát, a digest je spôsob, akým sa druhá strana rozhoduje, či tento certifikát vôbec očakávala. Toto oddelenie je dôvod, prečo tento dizajn nie je staré usporiadanie so spoločným tajomstvom: spoločný kľúč autentizuje každého, kto pozná rovnaké bajty, zatiaľ čo pripnutie autentizuje jeden certifikát. Iné zariadenie dostane vlastný záznam namiesto kópie toho istého tajomstva, čo je malý rozdiel v súboroch a veľký v rozsahu škody.

Mapa je vzájomná, nie symetrická

Každý koncový bod potrebuje dve veci: vlastný súkromný kľúč s certifikátom a vyhlásenie o tom, ktoré certifikáty partnerov prijme. U klienta je tým vyhlásením digest certifikátu servera; u servera je to zoznam digestov zapísaných klientov. Oficiálny príklad pre malé nastavenie pre Community 2.6 ukazuje usporiadanie s peer-fingerprint a stojí za prečítanie pred voľbou tohto modelu dôvery pre skutočné nasadenie. Dva smery nie sú jeden obrátený zoznam a nezlyhávajú v rovnakom okamihu.

Verification directionWhat is pinnedWhat never leaves that endpointHow a wrong pin shows up
Client checks the serverOne digest, for the server certificateThe server private keyThe client aborts during the TLS handshake
Server checks the clientA digest per enrolled clientEach client private keyThe server rejects the peer before a tunnel exists

Pridanie zariadenia upravuje zoznam povolených na serveri, bez kopírovania súkromného materiálu existujúceho klienta a bez presúvania kľúča servera kamkoľvek. Dva smery tiež zlyhávajú nezávisle, čo je užitočné pri diagnostike: strana, ktorá uzavrie handshake, je strana, ktorej očakávanie nebolo splnené. Ak klient odmietne server, digest nezodpovedá predloženému certifikátu. Ak server odmietne klienta, digest toho klienta v zozname chýba, alebo klient predkladá iný certifikát, než ktorý bol zapísaný.

Registrácia: ako sa pridá nové zariadenie

Vygenerujte kľúč a certifikát nového zariadenia tam, kde bude súkromný kľúč žiť, a potom presuňte iba verejný artefakt strane, ktorá ho má pripnúť. Preneste očakávaný digest kanálom, ktorému už dôverujete, a porovnajte celý certifikát namiesto mena, ktoré vyzerá povedome. Digest skopírovaný z rovnakého neovereného stiahnutia ako certifikát dokazuje len to, že sa oba súbory navzájom zhodujú. Je to kontrola konzistencie, nie identity, a je to najtichší spôsob, akým tento dizajn slabne.

Na serveri je pridanie digestu zmenou konfigurácie, ktorá prechádza bežným správcom a nasleduje po nej opätovné pripojenie. Potvrďte, že nové zariadenie sa pripojí a že zariadenie, ktorého digest bol odstránený, sa už nepripojí. Test, ktorý pokrýva len pozitívny prípad, necháva zoznam povolených neoverený, a presne v takom stave budete o pol roka.

Obnova je drahý okamih

Každý certifikát vyprší a nový certifikát má nový digest, aj keď kľúč a mená zostanú rovnaké. Pod vydavateľom je obnova priehľadná pre partnerov, ktorí tomu vydavateľovi dôverujú; pod pripnutím je to udalosť zápisu pre každého partnera, ktorý certifikát pripína.

Naplánujte poradie pred dátumom vypršania, nie po ňom. Rozdeľte nový digest stranám, ktoré ho overujú, použite zmenu a až potom vymeňte certifikát na koncovom bode. Toto poradie nenecháva žiadne okno, v ktorom sa obe strany nezhodujú, ktorý certifikát je aktuálny. Udržujte pod dohľadom aj samotný zoznam, pretože pripnutý zoznam hromadí záznamy zariadení vyradených pred mesiacmi. Každý zastaraný záznam je identita, ktorá sa stále autentizuje, ak jej kľúč prežije, takže odstránenie jedného je bezpečnostná akcia, nie upratovanie.

Čo mapa dôvery nerozhoduje

Autentizácia je jedna vrstva a pripnutá mapa nehovorí nič o pule adries, tlačených trasách, MTU cesty ani politike firewallu. Tie zostávajú samostatnou konfiguráciou so samostatnými režimami zlyhania. Tunel, ktorý sa autentizuje a neprepustí žiadnu prevádzku, je iné vyšetrovanie než ten, ktorý sa nikdy nezdvihne.

Mapa sa tiež neškáluje donekonečna a PKI založená na vydavateľovi je miesto, kam dospejú väčšie nasadenia. Tá preferencia je o prevádzke, nie o kryptografii, pretože pridávať a vyraďovať identity cez jeden orgán je lacnejšie než upravovať zoznam na každom partnerovi, ako flotila rastie. Kde klientska implementácia túto možnosť nepodporuje, odpoveďou je kompatibilný model dôvery, ktorý ten klient dokumentuje, alebo podporovaná náhrada. Potlačenie varovania o overení tú podporu nepridá a celá hodnota dizajnu je, že overenie stále prebieha.

Súvisiace články