OpenVPN brez CA: kako peer-fingerprint preverja partnerje
Odtis prsta pripne en certifikat, ne skupno skrivnost. Spremljajte, kaj povzetek pokriva, kako vsaka stran sestavi seznam dovoljenih in koliko stane obnova.
Majhna uvedba seže po odtisih prstov, ker je overitelj certifikatov videti kot infrastruktura, za katero nihče nima časa. Nagon je razumen, a bližnjica, ki jo ljudje namesto tega izberejo—kopiranje ene skrivnosti podatkovnega kanala na oba konca—ni. Nastavitev peer-fingerprint ohrani strukturo TLS nedotaknjeno: vsaka stran ima še vedno svoj zasebni ključ in certifikat ter vsaka stran še vedno preverja drugo. Spremeni se, kje je preverjanje zasidrano: od zaupanja vrednega izdajatelja do kratkega seznama pripetih povzetkov. Ker povzetek pokriva celoten certifikat in ne imena, obnova postane operacija, ki res vzame čas.
H čemu se odtis dejansko zaveže
Odtis certifikata je povzetek celotnega certifikata, kodiranega v DER, ne njegovega javnega ključa in ne imena njegovega subjekta. Zato imata dva certifikata z enakima imenoma in istim ključem, a različnima datumoma veljavnosti, različna odtisa. To naredi pripenjanje natančno, in to tudi naredi obnovo motečo. Pripetje ne more pomeniti zaupanja v ključ na splošno, ker imenuje en artefakt v enem trenutku njegovega življenja. Povzetek lahko pozna kdorkoli, in vedeti zanj samo po sebi nič ne dokaže.
openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256
Lastništvo ustreznega zasebnega ključa je tisto, kar dokaže, da ima partner ta certifikat, povzetek pa je način, kako se druga stran odloči, ali je ta certifikat sploh pričakovala. Ta ločitev je razlog, da ta zasnova ni stara ureditev s skupno skrivnostjo: skupni ključ overi vsakogar, ki pozna iste bajte, medtem ko pripetje overi en certifikat. Druga naprava dobi svoj vnos namesto kopije iste skrivnosti, kar je majhna razlika v datotekah in velika v obsegu škode.
Zemljevid je vzajemen, ne simetričen
Vsak končni naslov potrebuje dve stvari: svoj zasebni ključ s certifikatom in izjavo o tem, katere certifikate partnerjev bo sprejel. Pri odjemalcu je ta izjava povzetek certifikata strežnika; pri strežniku je to seznam povzetkov vpisanih odjemalcev. Uradni primer za majhno nastavitev za Community 2.6 prikazuje ureditev z peer-fingerprint in velja ga prebrati, preden za resnično uvedbo izberete ta model zaupanja. Dve smeri nista en obrnjen seznam in ne odpovesta v istem trenutku.
| Verification direction | What is pinned | What never leaves that endpoint | How a wrong pin shows up |
|---|---|---|---|
| Client checks the server | One digest, for the server certificate | The server private key | The client aborts during the TLS handshake |
| Server checks the client | A digest per enrolled client | Each client private key | The server rejects the peer before a tunnel exists |
Dodajanje naprave ureja seznam dovoljenih na strežniku, brez kopiranja zasebnega gradiva obstoječega odjemalca in brez premikanja ključa strežnika kamor koli. Dve smeri odpovesta tudi neodvisno, kar je koristno pri diagnostiki: stran, ki zapre rokovanje, je stran, katere pričakovanje ni bilo izpolnjeno. Če odjemalec zavrne strežnik, se povzetek ne ujema s predstavljenim certifikatom. Če strežnik zavrne odjemalca, povzetek tega odjemalca manjka na seznamu, ali odjemalec predstavlja drug certifikat od vpisanega.
Registracija: kako se pridruži nova naprava
Ustvarite ključ in certifikat nove naprave tam, kjer bo živel zasebni ključ, nato premaknite le javni artefakt k strani, ki ga mora pripeti. Prenesite pričakovani povzetek po kanalu, ki mu že zaupate, in primerjajte celoten certifikat namesto znanega videza imena. Povzetek, kopiran iz istega nepreverjenega prenosa kot certifikat, dokaže le, da se datoteki ujemata druga z drugo. To je preverjanje skladnosti in ne identitete, in to je najtišji način, kako ta zasnova slabi.
Na strežniku je dodajanje povzetka sprememba konfiguracije, ki gre skozi običajnega upravitelja in ji sledi ponovna povezava. Potrdite, da se nova naprava poveže in da se naprava, katere povzetek je bil odstranjen, ne poveže več. Preizkus, ki pokrije le pozitivni primer, pusti seznam dovoljenih nepreverjen, in točno v takem stanju boste čez pol leta.
Obnova je drag trenutek
Vsak certifikat poteče in nov certifikat ima nov povzetek tudi, ko ključ in imena ostaneta enaka. Pod izdajateljem je obnova pregledna za partnerje, ki zaupajo temu izdajatelju; pod pripenjanjem je to dogodek vpisa za vsakega partnerja, ki certifikat pripne.
Načrtujte vrstni red pred datumom poteka in ne po njem. Razdelite novi povzetek stranem, ki ga preverjajo, uporabite spremembo in šele nato zamenjajte certifikat na končnem naslovu. Ta vrstni red ne pušča okna, v katerem se strani ne strinjata, kateri certifikat je trenutni. Pod nadzorom imejte tudi sam seznam, ker pripet seznam kopiči vnose za naprave, umaknjene pred meseci. Vsak zastarel vnos je identiteta, ki se še vedno overi, če njen ključ preživi, zato je odstranitev enega varnostno dejanje in ne pospravljanje.
Česa zemljevid zaupanja ne odloči
Overjanje je ena plast in pripet zemljevid ne pove nič o naboru naslovov, potisnjenih poteh, MTU poti ali politiki požarnega zidu. Ti ostajajo ločena konfiguracija z ločenimi načini odpovedi. Tunel, ki se overi in ne prepusti nobenega prometa, je druga preiskava kot tisti, ki se nikoli ne dvigne.
Zemljevid se tudi ne skalira v neskončnost in PKI, ki temelji na izdajatelju, je mesto, kamor pridejo večje uvedbe. Ta naklonjenost je o poslovanju in ne o kriptografiji, ker je dodajanje in umikanje identitet prek enega organa cenejše od urejanja seznama pri vsakem partnerju, ko flota raste. Kjer odjemalska izvedba te možnosti ne podpira, je odgovor združljiv model zaupanja, ki ga ta odjemalec dokumentira, ali podprta zamenjava. Zadušitev opozorila o preverjanju te podpore ne doda in vsa vrednost zasnove je, da se preverjanje še vedno zgodi.