Mažas diegimas griebiasi pirštų atspaudų, nes sertifikatų institucija atrodo kaip infrastruktūra, kuriai niekas neturi laiko. Instinktas pagrįstas, bet spartusis kelias, kurį žmonės pasirenka vietoj to—vienos duomenų kanalo paslapties kopijavimas į abu galus—ne toks. peer-fingerprint sąranka išlaiko TLS struktūrą nepaliestą: kiekviena pusė vis dar turi savo privatų raktą ir sertifikatą, ir kiekviena pusė vis dar tikrina kitą. Keičiasi tai, kur tikrinimas įtvirtintas: nuo patikimo išdavėjo iki trumpo prisegtų santraukų sąrašo. Kadangi santrauka apima visą sertifikatą, o ne vardą, atnaujinimas tampa operacija, kuri tikrai atima laiko.

Ką piršto atspaudas iš tikrųjų įsipareigoja

Sertifikato piršto atspaudas yra viso DER koduoto sertifikato santrauka, o ne jo viešojo rakto ir ne jo subjekto vardo. Todėl du sertifikatai su vienodais vardais ir tuo pačiu raktu, bet skirtingomis galiojimo datomis turi skirtingus pirštų atspaudus. Tai daro prisegimą tiksliu, ir tai taip pat daro atnaujinimą trikdantį. Prisegimas negali reikšti pasitikėjimo raktu apskritai, nes jis įvardija vieną artefaktą vienu jo gyvenimo momentu. Santrauką gali žinoti bet kas, ir jos žinojimas pats savaime nieko neįrodo.

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

Atitinkamo privataus rakto turėjimas yra tai, kas įrodo, kad partneris turi tą sertifikatą, o santrauka yra būdas, kuriuo kita pusė nusprendžia, ar apskritai tikėjosi to sertifikato. Šis atskyrimas yra priežastis, kodėl šis dizainas nėra senoji bendros paslapties tvarka: bendras raktas autentifikuoja bet ką, kuris žino tuos pačius baitus, o prisegimas autentifikuoja vieną sertifikatą. Kitas įrenginys gauna savo įrašą, o ne tos pačios paslapties kopiją, ir tai mažas skirtumas failuose bei didelis žalos mastu.

Žemėlapis yra abipusis, o ne simetrinis

Kiekvienam galiniam taškui reikia dviejų dalykų: savo privataus rakto su sertifikatu ir pareiškimo, kuriuos partnerių sertifikatus jis priims. Kliente tas pareiškimas yra serverio sertifikato santrauka; serveryje tai registruotų klientų santraukų sąrašas. Oficialus mažos sąrankos pavyzdys Community 2.6 rodo išdėstymą su peer-fingerprint, ir verta jį perskaityti prieš renkantis šį pasitikėjimo modelį realiam diegimui. Dvi kryptys nėra vienas apverstas sąrašas, ir jos nesugenda tuo pačiu metu.

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

Įrenginio pridėjimas redaguoja serverio leidimų sąrašą, nenukopijuojant esamo kliento privataus turinio ir niekur neperkeliant serverio rakto. Dvi kryptys taip pat sugenda nepriklausomai, o tai naudinga diagnostikoje: kuri pusė uždaro rankos paspaudimą, ta pusė ir neturėjo išsipildžiusio lūkesčio. Jei klientas atmeta serverį, santrauka nesutampa su pateiktu sertifikatu. Jei serveris atmeta klientą, to kliento santraukos sąraše nėra, arba klientas pateikia kitą sertifikatą nei užregistruotas.

Registracija: kaip prisijungia naujas įrenginys

Sugeneruokite naujo įrenginio raktą ir sertifikatą ten, kur gyvens privatus raktas, tada perkelkite tik viešą artefaktą į tą pusę, kuri turi jį prisegti. Perduokite laukiamą santrauką kanalu, kuriuo jau pasitikite, ir palyginkite visą sertifikatą, o ne pažįstamai atrodantį vardą. Santrauka, nukopijuota iš to paties nepatikrinto atsisiuntimo kaip sertifikatas, įrodo tik tai, kad du failai dera tarpusavyje. Tai nuoseklumo patikra, o ne tapatybės patikra, ir tai tyliausias būdas, kuriuo šis dizainas silpnėja.

Serveryje santraukos pridėjimas yra konfigūracijos pakeitimas, kuris eina per įprastą tvarkyklę ir po jo vyksta prisijungimas iš naujo. Patvirtinkite, kad naujas įrenginys prisijungia, o įrenginys, kurio santrauka buvo pašalinta, nebeprisijungia. Testas, apimantis tik teigiamą atvejį, palieka leidimų sąrašą nepatikrintą, ir būtent tokioje būsenoje būsite po šešių mėnesių.

Atnaujinimas yra brangi akimirka

Kiekvienas sertifikatas baigiasi, ir naujas sertifikatas turi naują santrauką net tada, kai raktas ir vardai lieka tie patys. Kai yra išdavėjas, atnaujinimas skaidrus partneriams, kurie pasitiki tuo išdavėju; kai yra prisegimas, tai registracijos įvykis kiekvienam partneriui, kuris prisega sertifikatą.

Suplanuokite tvarką prieš galiojimo pabaigos datą, o ne po jos. Paskirstykite naują santrauką pusėms, kurios ją tikrina, pritaikykite pakeitimą ir tik tada pakeiskite sertifikatą galiniame taške. Tokia tvarka nepalieka lango, kuriame dvi pusės nesutaria, kuris sertifikatas yra dabartinis. Palaikykite pačiam sąrašui peržiūrą, nes prisegtas sąrašas kaupia įrašus įrenginių, išjungtų prieš mėnesius. Kiekvienas pasenęs įrašas yra tapatybė, kuri vis dar autentifikuojasi, jei jos raktas išlieka, todėl vieno pašalinimas yra saugumo veiksmas, o ne tvarkymas.

Ko pasitikėjimo žemėlapis nenusprendžia

Autentifikavimas yra vienas sluoksnis, ir prisegtas žemėlapis nieko nesako apie adresų baseiną, stumiamus maršrutus, kelio MTU ar ugniasienės politiką. Jie lieka atskira konfigūracija su atskirais gedimo režimais. Tunelis, kuris autentifikuojasi ir nepraleidžia jokio srauto, yra kitas tyrimas nei tas, kuris niekada nepakyla.

Žemėlapis taip pat nesikeičia be ribų, ir PKI, pagrįsta išdavėju, yra vieta, kur patenka didesni diegimai. Tas pasirinkimas yra apie operacijas, o ne apie kriptografiją, nes tapatybių pridėjimas ir išėmimas per vieną instituciją yra pigiau nei sąrašo redagavimas kiekviename partneryje, kai laivynas auga. Ten, kur kliento įgyvendinimas nepalaiko šios parinkties, atsakymas yra suderinamas pasitikėjimo modelis, kurį tas klientas dokumentuoja, arba palaikomas pakaitalas. Tikrinimo įspėjimo slopinimas to palaikymo neprideda, ir visa dizaino vertė yra tai, kad tikrinimas vis dar vyksta.

Susiję straipsniai