Non bizi dira RSAren n, e, d, p eta q VPN gako-fitxategi batean
n, e, d, p eta q egitura bakarrean daude, ez fitxategi-izenetan. Irakurri RSA VPN gako bat OpenSSL-rekin eta parekatu bere ziurtagiriarekin sekreturik inprimatu gabe.
RSA azalpen bateko letrek objektu baten barruko eremuak izendatzen dituzte, ez PKI tresna batek banatzen dituen fitxategiak. Gako pribatuen fitxategi batek egitura bat du, zeinaren lehen eremuak publikoak baitira eta geroagoko eremuak tunelean amaitzen duen makinatik inoiz irten behar ez dutenak. Bi gertaera horien artean daude zein fitxategik zein galderari erantzuten dion buruzko galdera praktiko gehienak. Gida honek egitura irakurtzen du lehenik, eta gero hura isuri gabe aztertzen duten komandoak.
Egiaztatu gakoa RSA dela zenbaki lehenak bilatu aurretik
Ziurtagiri batek frogatzen du gako bat badagoela eta sinatu egin zela; ez du frogatzen gakoa RSA denik. Sistemak kurba eliptikoetan edo Ed25519n eraiki daitezke, eta direktorioen antolamendu berak guztiei egiten die zerbitzu. Egiaztatu algoritmoa inoiz egon ez diren faktore lehenak bilatzen hasi aurretik.
Irakurketa hutseko hiru komando hauek galderari erantzuten diote eta tresnaren bertsioa erregistratzen dute.
openssl version
openssl x509 -in vpn-client.crt -noout -text
openssl pkey -in vpn-client.key -noout -text
Bertsioak garrantzia du aukeren izenak argitalpen nagusien artean mugitu direlako. Ziurtagiriaren irteeran, aurkitu gako publikoaren algoritmoaren lerroa eta gakoaren tamaina; gakoaren irteeran, RSA gako batek modulo bat eta berretzaile publiko bat inprimatzen ditu. Kurba eliptikoko gako batek izendatutako kurba bat inprimatzen du horren ordez, eta bilaketa kopuru batek ere ez du hortik n edo q aterako.
Irakurri egitura base64-ren ordez
PEM goiburu-lerroetan bildutako base64 da, eta hura deskodetzeak DER ematen du, hau da, egitura serializatu bat eta ez zenbaki oso erraldoi bat. RSA gako pribatuak bi edukiontzi arruntetan bidaiatzen dute, PKCS#1 eta PKCS#8, eta biek zenbaki-multzo berera heltzen dute.
Bi zenbaki lehenen kasuan egitura pribatuak bederatzi eremu daramatza: bertsio bat, n modulua, e berretzaile publikoa, d berretzaile pribatua, p eta q zenbaki lehenak, bi CRT berretzaile eta CRT koefiziente bat. RFC 8017 A.1 atala osagai horiek eta ASN.1 antolamendua definitzen ditu, eta bi zenbaki lehen baino gehiago ere onartzen ditu, horregatik analizatzaile orokor batek zenbaki lehen sarrera gehigarriak inprima ditzake. Begiratu ordenari, ohiko huts bat azaltzen baitu: erdi publikoa fitxategi pribatuaren barruan gordetzen da, beraz eremu publiko bat egoteak ez du fitxategi hori partekatzeko seguru egiten. Haren ondoren dagoen guztia ostatuan geratu behar duen materiala da.
Kodetzeak edukiekin nahastea erraza den geruza bat gehitzen du. openssl asn1parse egitura zuhaitz gisa marrazten du, eremuen ordena ikusgai izan dadin, eta ez du ezer deszifratzen ezta gakoa erabilgarria den ere esaten.
Parekatu ziurtagiria gako batekin gakoa inprimatu gabe
Hurrengo galdera izan ohi da ziurtagiria eta gakoa elkarrekin ote dauden. Moduluak alderatzeak erantzuten du, baina material pribatuaren ondokoa terminaleko transkripzio batera ere kopiatzen du, eta hori ticket batean amai dezake. Erdi publikoak alderatzeak galdera berari erantzuten dio pantailan ezer sentikor utzi gabe.
openssl pkey -in vpn-client.key -pubout -out /tmp/key.pub
openssl x509 -in vpn-client.crt -pubkey -noout > /tmp/cert.pub
cmp /tmp/key.pub /tmp/cert.pub && echo MATCH
Fitxategi berdin-berdinek esan nahi dute ziurtagiriak gako horren erdi publikoa daramala, eta aldea badago, okerreko bikotea daukazula. Desadostasun hori da hain zuzen negoziazio bizian aritu eta gero autentifikazioa ukatzen duen tunelaren arrazoi ohikoena. Gero kendu bi aldi baterako fitxategiak; ez dute ezer sekreturik gordetzen, baina laneko direktorio garbi bat errazagoa da gertaera baten erdian arrazoitzeko.
Jakin alboko fitxategiak zer ez diren
Ziurtagiri bat ez da CA ziurtagiriarekin bikoteak irekitzen duen gako publiko zifratua; gako publiko baten eta identitate-datuen arteko lotura sinatua da. CAren sinatze-gako pribatua bere ziurtagiritik eta bezero-gako bakoitzetik bereizita mantentzen da. Eskaera bat ere ez da ziurtagiri bat: eskatutako informazioa eta gako publikoa daramatza, eskaeraren gaineko sinadurarekin, eta horrek inskripzio-sarrera bihurtzen du, ez eskubidearen froga.
| File | Answers | Does not prove |
|---|---|---|
| vpn-client.key | Possession of the private key | That the identity is enrolled |
| vpn-client.crt | A signed binding of public key to identity | That the client holds the matching key |
| vpn-client.csr | The requested binding and public key | That access was granted |
| dh2048.pem | Group parameters for key exchange | Any RSA component |
| crl.pem | Revocation status for certificates | Anything about a private key |
Sarrera horietako bi RSA parametrekin nahasten dira askotan, bi aldiz aipatu behar izateraino. Diffie-Hellman parametroen fitxategi batek gakoa ezartzeko talde-parametroak ditu eta ez du RSA zenbaki lehenik, nahiz eta zenbaki lehen handi gisa ere inprimatzen den. Errebokazio-zerrenda batek ziurtagirien egoera argitaratzen du, eta ez da berretzaile pribatu bat ezkuta daitekeen lekua.
Beraz, inbentarioko lerro bakoitzak lau gauza erregistratu beharko lituzke: objektu mota, jabea, xedea eta material pribaturik badagoen. Azken zutabeak erabakitzen du fitxategia nora kopiatu daitekeen, eta jendeak hura saltatzen du.
Erregistratu parekatzea eta, ondoren, egiaztatu eskuko keinua
Ezer aldatu aurretik, gorde egiaztapenaren irteera data eta OpenSSL bertsioarekin. Orduan beranduagoko errotazioa frogekin aldera daiteke, ez memoriarekin.
openssl verify -CAfile ca.crt vpn-client.crt
openssl x509 -in vpn-client.crt -noout -subject -issuer -dates
Gako publikoaren alderaketaren ondoren, probatu bikotea kontsumitzen duen bidea: altxa tunela, egiaztatu ziurtagiria aurkezten eta onartzen dela, eta begiratu zein identitate erregistratu zuen atebideak. Gakoa eta ziurtagiria bat badatoz eta autentifikazioak huts egiten badu oraindik, akatsa konfiantzan, identitate-mapan edo sarbide-politikan dago, ez bikotean.
Atzera egiteko, gorde aurreko gakoa eta ziurtagiria data duen direktorio batean eta berrezarri biak batera, inoiz ez bietako bat bakarrik. Bere ziurtagiririk gabeko gako batek eta bere gakorik gabeko ziurtagiri batek berdin huts egiten dute kanpotik, eta horrek erdi berrezarritako bikoteak garesti bihurtzen ditu goizeko ordu bietan askatzeko.