Malo postavljanje poseže za otiscima prstiju jer ustanova certifikata izgleda kao infrastruktura za koju niko nema vremena. Instinkt je razuman, a prečica koju ljudi umjesto toga biraju—kopiranje jedne tajne podatkovnog kanala na oba kraja—nije. Postavka peer-fingerprint čuva TLS strukturu netaknutom: svaka strana i dalje drži svoj privatni ključ i certifikat, i svaka strana i dalje provjerava drugu. Mijenja se to gdje je provjera usidrena: od pouzdanog izdavaoca do kratke liste prikovanih sažetaka. Pošto sažetak pokriva cijeli certifikat, a ne ime, obnova postaje operacija koja stvarno oduzima vrijeme.

Na šta se otisak zapravo obavezuje

Otisak certifikata je sažetak cijelog DER-kodiranog certifikata, ne njegovog javnog ključa i ne imena njegovog subjekta. Zato dva certifikata s identičnim imenima i istim ključem ali različitim datumima važenja imaju različite otiske. To prikivanje čini preciznim, a to i obnovu čini ometajućom. Prikivanje ne može značiti povjerenje u ključ općenito, jer imenuje jedan artefakt u jednom trenutku njegovog života. Sažetak može znati svako, a samo znanje o njemu ništa ne dokazuje.

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

Posjedovanje odgovarajućeg privatnog ključa dokazuje da partner drži taj certifikat, a sažetak je način na koji druga strana odlučuje da li je taj certifikat uopšte očekivala. To razdvajanje je razlog zašto ovaj dizajn nije stari poredak sa zajedničkom tajnom: zajednički ključ autentificira svakoga ko zna iste bajtove, dok prikivanje autentificira jedan certifikat. Drugi uređaj dobija vlastiti unos umjesto kopije iste tajne, što je mala razlika u datotekama i velika u obimu štete.

Mapa je uzajamna, ne simetrična

Svakom kraju trebaju dvije stvari: vlastiti privatni ključ uz certifikat i izjava o tome koje certifikate partnera će prihvatiti. Na klijentu ta izjava je sažetak certifikata servera; na serveru je to lista sažetaka upisanih klijenata. Zvanični primjer za malo postavljanje za Community 2.6 pokazuje raspored s peer-fingerprint, i vrijedi ga pročitati prije nego što odaberete ovaj model povjerenja za stvarno postavljanje. Dva smjera nisu jedna obrnuta lista, i oni ne otkazuju u istom trenutku.

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

Dodavanje uređaja uređuje listu dopuštenja na serveru, bez kopiranja privatnog materijala postojećeg klijenta i bez premještanja ključa servera bilo gdje. Dva smjera također otkazuju nezavisno, što je korisno tokom dijagnostike: koja strana zatvori rukovanje, to je strana čije očekivanje nije ispunjeno. Ako klijent odbije server, sažetak se ne poklapa s predstavljenim certifikatom. Ako server odbije klijenta, sažetak tog klijenta nedostaje na listi, ili klijent predstavlja certifikat drugačiji od upisanog.

Upis: kako se novi uređaj pridružuje

Generišite ključ i certifikat novog uređaja tamo gdje će privatni ključ živjeti, zatim prenijesite samo javni artefakt strani koja ga treba prikovati. Prenesite očekivani sažetak kanalom kojem već vjerujete, i uporedite cijeli certifikat umjesto imena koje izgleda poznato. Sažetak kopiran s istog neprovjerenog preuzimanja kao certifikat dokazuje samo da se dvije datoteke slažu jedna s drugom. To je provjera dosljednosti, a ne provjera identiteta, i to je najtiši način na koji ovaj dizajn slabi.

Na serveru, dodavanje sažetka je promjena konfiguracije koja prolazi kroz uobičajeni menadžer i praćena je ponovnim povezivanjem. Potvrdite da se novi uređaj povezuje i da uređaj čiji je sažetak uklonjen to više ne čini. Test koji pokriva samo pozitivan slučaj ostavlja listu dopuštenja neprovjerenom, a to je tačno stanje u kojem ćete biti za šest mjeseci.

Obnova je skupi trenutak

Svaki certifikat ističe, a novi certifikat ima novi sažetak čak i kad ključ i imena ostanu isti. Pod izdavaocem je obnova transparentna za partnere koji vjeruju tom izdavaocu; pod prikivanjem ona je događaj upisa za svakog partnera koji prikiva certifikat.

Planirajte redoslijed prije datuma isteka, a ne poslije njega. Podijelite novi sažetak stranama koje ga provjeravaju, primijenite promjenu i tek onda zamijenite certifikat na kraju. Taj redoslijed ne ostavlja prozor u kojem se dvije strane ne slažu koji je certifikat aktuelan. Držite i samu listu pod pregledom, jer prikovana lista nakuplja unose za uređaje povučene prije mjeseci. Svaki zastario unos je identitet koji se još autentificira ako njegov ključ preživi, pa je uklanjanje jednog sigurnosna radnja, a ne pospremanje.

Šta mapa povjerenja ne odlučuje

Autentifikacija je jedan sloj, a prikovana mapa ne govori ništa o pulu adresa, guranim rutama, MTU putanje ili politici vatrozida. Oni ostaju zasebna konfiguracija sa zasebnim načinima otkaza. Tunel koji se autentificira i ne propušta promet je druga istraga od onog koji se nikad ne podigne.

Mapa se također ne skalira beskonačno, i PKI zasnovan na izdavaocu je mjesto gdje veće postavke završavaju. Ta sklonost je o poslovanju, a ne o kriptografiji, jer je dodavanje i povlačenje identiteta kroz jedno tijelo jeftinije od uređivanja liste na svakom partneru kako flota raste. Gdje implementacija klijenta ne podržava opciju, odgovor je kompatibilan model povjerenja koji taj klijent dokumentira, ili podržana zamjena. Utšavanje upozorenja o provjeri ne dodaje tu podršku, a cijela vrijednost dizajna je da se provjera ipak dogodi.

Povezani članci