OpenVPN bila CA: jinsi peer-fingerprint inavyothibitisha wenza
Alama ya kidole inabana cheti kimoja, si siri inayoshirikiwa. Fuatilia kile muhtasari unachoshughulikia, jinsi kila upande unajenga orodha yake ya ruhusa na gharama ya kuhuisha upya.
Uenezaji mdogo unakimbilia alama za vidole kwa sababu mamlaka ya vyeti inaonekana kama miundombinu ambayo hakuna mtu ana muda wa kuisimamia. Silika ni ya busara, lakini njia ya mkato ambayo watu huchukua badala yake—kunakili siri moja ya kituo cha data hadi ncha zote mbili—si ya busara. Mpangilio wa peer-fingerprint huweka muundo wa TLS kama ulivyo: kila upande bado unashikilia ufunguo wake wa faragha na cheti chake, na kila upande bado unathibitisha mwingine. Kinachobadilika ni mahali ambapo uthibitishaji umeangaziwa: kutoka kwa mtoaji anayeaminika hadi orodha fupi ya muhtasari waliobanwa. Kwa kuwa muhtasari hushughulikia cheti kizima na si jina, kuhuisha upya huwa kazi inayotumia muda halisi.
Kile ambacho alama ya kidole hujitolea kwa hakika
Alama ya kidole ya cheti ni muhtasari wa cheti kizima kilichosimbwa kwa DER, si ufunguo wake wa umma na si jina la somo lake. Kwa hiyo vyeti viwili vyenye majina yanayofanana na ufunguo mmoja lakini tarehe tofauti za uhalali vina alama tofauti za vidole. Hiyo hufanya kubana kuwa sahihi, na hiyo pia hufanya kuhuisha upya kuvuruga. Kubana hakuwezi kumaanisha kumwamini ufunguo kwa ujumla, kwa sababu hutaja kitu kimoja katika wakati mmoja wa maisha yake. Mtu yeyote anaweza kuujua muhtasari, na kuujua hakuthibitishi chochote chenyewe.
openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256
Kumiliki ufunguo wa faragha unaolingana ndiko kunathibitisha kwamba mwenza anao cheti hicho, na muhtasari ni jinsi upande mwingine unavyoamua kama ulitarajia cheti hicho kabisa. Utengano huo ndio sababu muundo huu si mpangilio wa zamani wa siri inayoshirikiwa: ufunguo unaoshirikiwa huthibitisha yeyote anayejua baiti zilezile, wakati kubana kunathibitisha cheti kimoja. Kifaa tofauti hupata ingizo lake mwenyewe badala ya nakala ya siri ileile, jambo ambalo ni tofauti ndogo katika faili na kubwa katika wigo wa uharibifu.
Ramani ni ya pande mbili, si ya ulinganifu
Kila ncha inahitaji vitu viwili: ufunguo wake wa faragha pamoja na cheti, na tamko kuhusu vyeti gani vya wenza itakubali. Kwa mteja, tamko hilo ni muhtasari wa cheti cha seva; kwa seva, ni orodha ya muhtasari wa wateja waliosajiliwa. Mfano rasmi wa mpangilio mdogo kwa Community 2.6 unaonyesha mpangilio kwa peer-fingerprint, na inafaa kuisoma kabla ya kuchagua mtindo huu wa uaminifu kwa uenezaji halisi. Mielekeo miwili si orodha moja iliyopinduliwa, na haishindwi kwa wakati mmoja.
| 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 |
Kuongeza kifaa hurekebisha orodha ya ruhusa kwenye seva, bila kunakili nyenzo za faragha za mteja aliyepo na bila kuhamisha ufunguo wa seva mahali popote. Mielekeo miwili pia hushindwa kwa kujitegemea, jambo ambalo ni muhimu wakati wa uchunguzi: upande unaofunga kupeana mikono ndio upande ambao matarajio yake hayakutimizwa. Ikiwa mteja anamkataa seva, muhtasari hauwiani na cheti kilichowasilishwa. Ikiwa seva inamkataa mteja, muhtasari wa mteja huyo haupo kwenye orodha, au mteja anawasilisha cheti tofauti na kile kilichosajiliwa.
Usajili: jinsi kifaa kipya kinavyojiunga
Zalisha ufunguo na cheti cha kifaa kipya mahali ambapo ufunguo wa faragha utakaa, kisha hamisha tu kitu cha umma kwa upande unaohitaji kuubana. Hamisha muhtasari unaotarajiwa kupitia kituo unachoamini tayari, na linganisha cheti kizima badala ya jina linaloonekana kufahamika. Muhtasari ulionakiliwa kutoka upakuaji uleule usiothibitishwa kama cheti unathibitisha tu kwamba faili mbili zinawiana. Hii ni ukaguzi wa uthabiti, si wa utambulisho, na ndiyo njia tulivu zaidi ambayo muundo huu hudhoofika.
Kwenye seva, kuongeza muhtasari ni mabadiliko ya usanidi yanayopitia msimamizi wa kawaida na kufuatiwa na kuunganisha upya. Thibitisha kwamba kifaa kipya kinaunganisha na kwamba kifaa ambacho muhtasari wake uliondolewa hakiunganishi tena. Jaribio linaloshughulikia tu hali chanya huacha orodha ya ruhusa ikiwa haijathibitishwa, na hiyo ndiyo hali utakayokuwa nayo baada ya miezi sita.
Kuhuisha upya ni wakati wa gharama
Kila cheti huisha muda, na cheti kipya kina muhtasari mpya hata ufunguo na majina yakiwa yale yale. Chini ya mtoaji, kuhuisha upya ni wazi kwa wenza wanaomwamini mtoaji huyo; chini ya kubana, ni tukio la usajili kwa kila mwenza anayebana cheti.
Panga mfuatano kabla ya tarehe ya mwisho na si baada yake. Sambaza muhtasari mpya kwa pande zinazouthibitisha, tekeleza mabadiliko, na kisha tu badilisha cheti kwenye ncha. Mfuatano huo hauachi dirisha ambalo pande mbili hazikubaliani ni cheti gani cha sasa. Weka orodha yenyewe chini ya mapitio pia, kwa sababu orodha iliyobanwa hukusanya maingizo ya vifaa vilivyoondolewa miezi iliyopita. Kila ingizo lililopitwa na wakati ni utambulisho ambao bado huthibitika ikiwa ufunguo wake unaendelea, kwa hiyo kuondoa moja ni hatua ya usalama na si usafi.
Kile ambacho ramani ya uaminifu haiwezi kuamua
Uthibitishaji ni tabaka moja, na ramani iliyobanwa haisemi chochote kuhusu bwawa la anwani, njia zinazosukumwa, MTU ya njia au sera ya ukuta wa moto. Hivyo hubaki kuwa usanidi tofauti na hali tofauti za kushindwa. Handaki linalothibitika na lisilopitisha trafiki yoyote ni uchunguzi tofauti na lile lisiloinuka kamwe.
Ramani pia haikui bila kikomo, na PKI inayotegemea mtoaji ndipo uenezaji mkubwa huishia. Upendeleo huo unahusu uendeshaji na si kriptografia, kwa sababu kuongeza na kuondoa utambulisho kupitia mamlaka moja ni nafuu kuliko kurekebisha orodha kwa kila mwenza kadri meli inavyokua. Pale ambapo utekelezaji wa mteja hautumii chaguo hilo, jibu ni mtindo wa uaminifu unaoendana na ambao mteja huyo anaandika, au mbadala unaotumika. Kukandamiza onyo la uthibitishaji hakuongezi msaada huo, na thamani yote ya muundo ni kwamba uthibitishaji bado unafanyika.