Dy certifikata CA mund të mbajnë të njëjtin çelës publik dhe të njëjtin subject dhe prapëseprapë të mos jenë të këmbyeshëm. Njëri është i nënshkruar nga vetja, tjetri është nënshkruar në mënyrë të kryqëzuar nga rrënja e vjetër, dhe emrat e lëshuesit, numrat serialë dhe nënshkrimet e tyre ndryshojnë. Një gjethe mund të lidhet në mënyrë specifike me njërin prej tyre përmes Authority Key Identifier të saj. Kjo lidhje mbetet e padukshme derisa një klient zgjedh zinxhirin e gabuar dhe handshake dështon pa një arsye të dukshme.

Kryeni këto pesë kontrolle me radhë: secili përjashton një dështim të ndryshëm.

Kontrolli 1: vizatoni të dy zinxhirët përpara se të prekni shabllonin

Shkruani shtigjet. Popullsia e vjetër i beson Rrënjës së vjetër A, e cila lëshoi CA B, e cila lëshoi gjethen e serverit. Popullsia e re i beson drejtpërdrejt CA B të nënshkruar nga vetja. Të dy certifikatat B mbajnë të njëjtin çelës dhe subject, dhe pikërisht për këtë një person që lexon një rresht subject sheh një CA aty ku klienti sheh dy.

Kopja e nënshkruar në mënyrë të kryqëzuar duhet të jetë gjithashtu një certifikatë CA e vërtetë, me basic constraints dhe key usage që lejojnë nënshkrimin.

Kontrolli 2: krahasoni fushat AKI, jo vetëm çelësin

Emri i lëshuesit të gjethes duhet të përputhet me subject-in e B, dhe kjo pjesë zakonisht qëndron. Authority Key Identifier është vendi ku dy kopjet ndryshojnë, sepse mund të mbajë një identifikues çelësi, lëshues certifikate dhe një numër serial. Identifikuesi i çelësit përputhet me të dyja kopjet, pasi çelësi është identik. Fushat lëshues dhe serial përputhen saktësisht me një, dhe për këtë një zinxhir i ndërtuar kundër kopjes së nënshkruar nga vetja mund të dështojë kundër asaj të nënshkruar në mënyrë të kryqëzuar.

Inspektoni gjethen në vend që të hamendësoni: openssl x509 -in server.pem -noout -ext authorityKeyIdentifier.

Më pas krahasoni të dy kandidatët me openssl x509 -in b-cross.pem -noout -text | grep -A2 "Authority Key Identifier", dhe të njëjtin komandë kundër kopjes së nënshkruar nga vetja.

Nëse gjetheja mban lëshuesin dhe numrin serial, vetëm certifikata që përshkruajnë ato vlera e plotëson zinxhirin, cilado kopje që klienti ka ngarkuar.

Kontrolli 3: ndryshoni politikën e lëshimit, kurrë bajtët e nënshkruar

Zgjerimet jetojnë brenda nënshkrimit. Shtimi, heqja ose redaktimi i njërës në një gjethe ekzistuese nuk është riparim, është certifikatë tjetër dhe kërkon rilëshim. Ndryshimi i përket politikës së lëshimit: authorityKeyIdentifier = keyid,issuer:always bën që gjethet e reja të mbajnë lidhjen specifike të certifikatës, ndërsa keyid vetëm ruan formën më të lirshme që i përshtatet një tranzicioni të qëllimshëm të nënshkrimit të kryqëzuar. Vendosni cilën dëshiron PKI-ja juaj përpara se të nënshkruhet grupi i radhës.

Redaktimi i një shablloni të përbashkët ndryshon gjithashtu çdo certifikatë të ardhshme, jo vetëm serverin përpara jush.

Kontrolli 4: verifikoni secilën popullsi besimi veçmas

Testoni shtegun e vjetër dhe shtegun e ri si ekzekutime të veçanta. openssl verify -purpose sslserver -verify_hostname vpn.example -CAfile old-root.pem -untrusted b-cross-signed.pem server.pem ushtron rrugën e nënshkruar në mënyrë të kryqëzuar, dhe e njëjta komandë me rrënjën e re dhe pa skedar untrusted ushtron rrugën e nënshkruar nga vetja. Përzierja e të dyja rrënjëve në një paketë fsheh cili zinxhir u zgjodh. Përsëriteni më pas me klientë të vërtetë, sepse një backend VPN mund të preferojë një zinxhir ose të fiksojë një certifikatë në mënyra që openssl nuk i bën.

Dorëzoni certifikatën e ndërmjetme përmes konfigurimit të shërbimit që klienti lexon vërtet, jo përmes një faqe wiki.

Kontrolli 5: mbani shtegun e vjetër në një orë tërheqjeje

Nënshkrimi i kryqëzuar mban gjallë një shteg besimi të vjetër sipas dizajnit, që është njëkohësisht qëllimi dhe rreziku. Ai nuk e rregullon një rrënjë të vjetër të komprometuar dhe nuk e heq atë rrënjë nga asnjë klient. Shkruani kur shtegu i vjetër ndalon së dhëni besim, dhe konfirmoni se ai ditë vjen vërtet.

Nëse çdo klient mund ta pranojë rrënjën e re përpara se gjethet të lëvizin, një vendosje e thjeshtë me besim të dyfishtë është më e thjeshtë se nënshkrimi i kryqëzuar, dhe lë një gjë më pak për t'u tërhequr.

Artikuj të ngjashëm