Uvoz spodleti z napako potrdila, zato je očitna poteza videti kot pretvorba. Ta nagon vodi ljudi po poti, kjer se končnica datoteke spremeni, zavrnitev pa ostane popolnoma enaka. Vrstica ssh-ed25519 v authorized_keys in odjemalsko potrdilo OpenVPN sta ločena objekta poverilnic, z različnimi izdajatelji, različnimi kodiranji in različnimi potmi preklica. Če te preverbe opravite po vrsti, boste v minuti vedeli, ali lahko pretvorba sploh pomaga.

Kateri objekt pravzaprav imate?

Ljudje imenujejo ključ pet stvari, in le ena od njih je tisto, kar si želi profil TLS. Javni ključ SSH je ena vrstica besedila s predpono vrste in podatki base64. Potrdilo OpenSSH je ta ključ plus podpis, principal-i in možnosti, ki jih ustvari ssh-keygen, ko deluje kot lastna majhna CA. Potrdilo X.509 je povsem drugačna zgradba: nosi subjekt, okno veljavnosti, razširitve in podpis overitelja. Zasebni ključ je skrivna polovica, izdani paket pa je običajno potrdilo plus njegova veriga plus zasebni ključ v eni datoteki.

Prvi test stane en ukaz. Usmerite openssl na datoteko in ga prosite, naj razčleni zgradbo potrdila:

openssl x509 -in client.crt -noout -subject -issuer

Če to spodleti z napako ni mogoče naložiti ali napako PEM, datoteka ni potrdilo X.509, ne glede na to, kako ste jo poimenovali. Preimenovanje ne prepiše ASN.1 v notranjosti, in tudi ovijanje vrstice javnega ključa v besedilo glave PEM tega ne stori.

Ali profil sploh zahteva potrdilo?

Odjemalska potrdila so ena od več metod preverjanja pristnosti, in veliko delujočih profilov TLS jih nikoli ne zahteva. Strežnik lahko preverja uporabnike prek vtičnika, uporabniškega imena in gesla ali zaledja žetonov, hkrati pa od odjemalca zahteva, da preveri identiteto strežnika. Če profil ne vsebuje direktive o odjemalskem potrdilu, potrdilo ne bo nikoli zahtevano, in nobena pretvorba ne bo prisilila prehoda, da ga zahteva.

Starejše konfiguracije s statičnim ključem so tretji primer. Nastale so pred rokovanjem TLS in pričakujejo datoteko vnaprej deljene skrivnosti, zato tudi lepljenje javnega ključa v to polje ne more delovati. Preberite, kaj profil v resnici zahteva, preden sklenete, da so poverilnice napačne.

Kaj zmore ponovno kodiranje in česa ne

Zasebni ključi imajo res zakonite nadomestne vsebnike. Isti ključ RSA ali EC je mogoče zapisati kot tradicionalni PEM, kot PKCS#8 ali znotraj paketa PKCS#12, in orodja z veseljem pretvarjajo med njimi. Javni ključi imajo podobno zgodbo: ssh-keygen lahko izpiše obliko RFC 4716 ključa SSH, OpenSSH pa razume tudi svoj lastni format potrdila. Vse to je predstavitev, predstavitev pa ni zaupanje.

Česar pretvorba ne zmore, je ustvariti podpis overitelja, ki vašega ključa ni nikoli videl. Potrdilo je trditev izdajatelja, da določen javni ključ pripada določenemu subjektu za določen namen. Ponovno kodiranje ohrani bajte ključa in trditev pusti odsotno, zato prehod nima česa preveriti proti svoji shrambi zaupanja.

To je korak, na katerem večina poskusov tiho spodleti: datoteka se zdaj konča na .crt, odjemalec jo bere brez pritožb, rokovanje pa se vseeno prekine, ker druga stran ne more zgraditi verige do zaupanja vrednega izdajatelja.

Kje v sliko vstopi overitelj

Prava registracija se začne s parom ključev, ki ga nadzorujete, in zahtevo za podpis potrdila, ki nosi subjekt, ki ga operater pričakuje. Operater preveri pravico, podpiše zahtevo s ključem CA in vrne izdano potrdilo skupaj z morebitno vmesno verigo, ki jo mora odjemalec predložiti. Nato odjemalec potrebuje potrdilo CA, ki ga je podpisalo, saj mu šele to omogoči potrditev, da strežnik, s katerim govori, spada k isti uvedbi.

Zadnjo datoteko je lahko pozabiti in je ni mogoče nadomestiti. Sam podpisni ključ CA nikoli ne spada v odjemalsko konfiguracijo, in nobena lokalna pretvorba ne ustvari verige, ki bi jo morali prejeti.

Koliko vas stane ponovna uporaba ključa SSH

Recimo, da je pretvorba vendarle ustvarila kaj sprejemljivega. Ponovna uporaba enega para ključev za dostop SSH in preverjanje pristnosti VPN še vedno poveže dve neodvisni varnostni odločitvi. Odstranitev vnosa iz authorized_keys ustavi prijave SSH in ne naredi ničesar potrdilu, ki ga je CA za VPN že izdal za isti javni ključ. Stran VPN se prekliče z lastnim mehanizmom, torej s seznamom preklicanih potrdil ali z evidenco registracije pri operaterju.

Zato se kontrolni seznam konča s pogojem zaustavitve, ne s trikom. Če openssl datoteke ne razčleni kot potrdilo, prenehajte s pretvorbo in opišite, kaj imate: ključ SSH, potrdilo SSH, potrdilo X.509, zasebni ključ ali paket. Če profil ne zahteva odjemalskega potrdila, se ustavite in vprašajte, katero metodo preverjanja pristnosti strežnik pričakuje. Šele ko oba odgovora kažeta na X.509, postane registracija naslednji korak, in ta pogovor gre veliko hitreje s pravim samostalnikom v prvem stavku.

Sorodni članki