Uingizaji unashindikana kwa hitilafu ya cheti, kwa hivyo hatua dhahiri inaonekana kama ubadilishaji. Hisia hiyo inawapeleka watu kwenye njia ambayo kiendelezi cha faili hubadilika na kukataliwa kunabaki sawa kabisa. Mstari wa ssh-ed25519 katika authorized_keys na cheti cha mteja cha OpenVPN ni vitu tofauti vya vitambulisho, vyenye watoaji tofauti, usimbaji tofauti na njia tofauti za kufuta. Kupitia ukaguzi huu kwa mpangilio hukuambia ndani ya dakika moja ikiwa ubadilishaji unaweza kusaidia hata kidogo.

Kwa kweli unacho kitu gani?

Kuna vitu vitano ambavyo watu huita ufunguo, na kimoja tu ndicho TLS profile inachotaka. Ufunguo wa umma wa SSH ni mstari mmoja wa maandishi wenye kiambishi cha aina na mzigo wa base64. Cheti cha OpenSSH ni ufunguo huo pamoja na saini, principals na chaguo, vinavyotengenezwa na ssh-keygen ikifanya kazi kama CA yake ndogo. Cheti cha X.509 ni muundo tofauti kabisa, unaobeba somo, dirisha la uhalali, viendelezi na saini kutoka mamlaka ya vyeti. Ufunguo wa faragha ni nusu ya siri, na kifurushi kilichotolewa kwa kawaida ni cheti pamoja na mnyororo wake pamoja na ufunguo wa faragha katika faili moja.

Jaribio la kwanza linagharimu amri moja. Elekeza openssl kwenye faili na mwombe kuchambua muundo wa cheti:

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

Ikiwa hilo linashindikana kwa hitilafu ya haiwezi kupakiwa au PEM, faili hiyo si cheti cha X.509 jina lolote ulilolita. Kubadilisha jina hakuandiki upya ASN.1 iliyo ndani, na kufunga mstari wa ufunguo wa umma katika maandishi ya kichwa cha PEM hakufanyi hivyo pia.

Je, profile inaomba cheti hata kidogo?

Vyeti vya mteja ni njia moja ya uthibitishaji kati ya kadhaa, na profile nyingi za TLS zinazofanya kazi huwa hazina ombi la kimoja. Seva inaweza kuthibitisha watumiaji kupitia programu jalizi, jina la mtumiaji na neno la siri, au backend ya tokeni, huku ikihitaji mteja kuthibitisha utambulisho wa seva. Ikiwa profile haina maagizo ya cheti cha mteja, hakuna cheti kitakachoomba kamwe, na hakuna ubadilishaji utakaofanya lango kuomba kimoja.

Mipangilio ya zamani ya ufunguo tuli ni kisa cha tatu. Inatangulia makubaliano ya mkono ya TLS na inatarajia faili ya siri iliyoshirikiwa mapema, ndiyo sababu kubandika ufunguo wa umma kwenye sehemu hiyo pia hakuwezi kufanya kazi. Soma kile profile inachoomba kwa kweli kabla ya kuamua kwamba kitambulisho si sahihi.

Usimbaji upya unaweza kufanya nini na hauwezi kufanya nini

Funguo za faragha zina vyombo mbadala halali. Ufunguo huo wa RSA au EC unaweza kuandikwa kama PEM ya kitamaduni, kama PKCS#8, au ndani ya kifurushi cha PKCS#12, na zana hubadilisha kati yao kwa furaha. Funguo za umma zina hadithi kama hiyo: ssh-keygen inaweza kutoa umbo la RFC 4716 la ufunguo wa SSH, na OpenSSH inaelewa pia umbile lake la cheti. Yote hayo ni uwakilishi, na uwakilishi si imani.

Kile ubadilishaji hauwezi kufanya ni kuunda saini kutoka kwa mamlaka ya vyeti ambayo haijawahi kuona ufunguo wako. Cheti ni madai ya mtoaji kwamba ufunguo fulani wa umma unamilikiwa na somo fulani kwa madhumuni fulani. Usimbaji upya huhifadhi baiti za ufunguo na kuacha dai likiwa halipo, kwa hivyo lango halina la kulinganisha na hifadhi yake ya imani.

Hii ni hatua ambapo majaribio mengi hushindikana kimya kimya: faili sasa inaishia kwa .crt, mteja anaisoma bila malalamiko, na makubaliano ya mkono bado yanakatika kwa sababu upande wa pili hauwezi kujenga mnyororo hadi kwa mtoaji anayeaminika.

Mamlaka ya vyeti inaingia wapi kwenye picha

Usajili wa kweli huanza na jozi ya funguo unayodhibiti na ombi la kusaini cheti linalobeba somo linalotarajiwa na mwendeshaji. Mwendeshaji huthibitisha haki, husaini ombi kwa ufunguo wa CA, na hurudisha cheti kilichotolewa pamoja na mnyororo wowote wa kati ambao mteja lazima auwasilishe. Kisha mteja anahitaji cheti cha CA kilichoisaini, kwa sababu ndicho kinachomruhusu kuthibitisha kwamba seva anayozungumza nayo ni ya usambazaji huo huo.

Faili hiyo ya mwisho ni rahisi kusahau na haiwezekani kuibadilisha. Ufunguo wa kusaini wa CA wenyewe kamwe haumo kwenye mipangilio ya mteja, na hakuna kiwango chochote cha ubadilishaji wa ndani kinachozalisha mnyororo ambao ulipaswa kuupokea.

Gharama ya kutumia tena ufunguo wa SSH

Tuseme ubadilishaji ulizalisha kitu kinachokubalika. Kutumia tena jozi moja ya funguo kwa ufikiaji wa SSH na uthibitishaji wa VPN bado kunaunganisha maamuzi mawili huru ya usalama. Kuondoa ingizo la authorized_keys kunasimamisha kuingia kwa SSH, na hakifanyi chochote kwa cheti ambacho CA ya VPN tayari imetoa kwa ufunguo huo huo wa umma. Upande wa VPN hufutwa kupitia utaratibu wake wenyewe, yaani orodha ya kufuta vyeti au rekodi ya usajili ya mwendeshaji.

Kwa hivyo orodha ya ukaguzi inaisha na sharti la kusimama badala ya hila. Ikiwa openssl haichambui faili kama cheti, acha kubadilisha na eleza unacho: ufunguo wa SSH, cheti cha SSH, cheti cha X.509, ufunguo wa faragha au kifurushi. Ikiwa profile haiombi cheti cha mteja, simama na uulize ni njia gani ya uthibitishaji seva inatarajia. Ni pale tu majibu yote mawili yanapoelekeza X.509 ndipo usajili unakuwa hatua inayofuata, na mazungumzo hayo huenda haraka sana ikiwa nomino sahihi iko kwenye sentensi ya kwanza.

Makala zinazohusiana