Lle mae n, e, d, p a q RSA yn byw mewn ffeil allwedd VPN
Mae n, e, d, p a q y tu mewn i un strwythur, nid yn enwau ffeiliau. Darllenwch allwedd RSA ar gyfer VPN gydag OpenSSL a’i pharu â’i dystysgrif heb argraffu cyfrinachau.
Mae’r llythrennau mewn esboniad RSA yn enwi meysydd y tu mewn i un gwrthrych, nid ffeiliau y mae offeryn PKI yn eu dosbarthu. Mae ffeil allwedd breifat yn dal strwythur y mae ei feysydd cyntaf yn gyhoeddus ac na ddylai ei feysydd diweddarach byth adael y peiriant sy’n terfynu’r twnnel. Rhwng y ddau ffaith hynny y mae’r rhan fwyaf o’r cwestiynau ymarferol ynghylch pa ffeil sy’n ateb pa gwestiwn. Mae’r llawlyfr hwn yn darllen y strwythur yn gyntaf, ac yna’r gorchmynion sy’n ei archwilio heb ei golli.
Cadarnhewch fod yr allwedd yn RSA cyn chwilio am rifau cysefin
Mae tystysgrif yn profi bod rhyw allwedd yn bodoli ac wedi’i lofnodi; nid yw’n profi bod yr allwedd yn RSA. Gellir adeiladu systemau ar gromliniau eliptig neu Ed25519, ac mae’r un cynllun cyfeiriaduron yn gwasanaethu pob un. Gwiriwch yr algorithm cyn dechrau chwilio am ffactorau cysefin nad oeddent yno erioed.
Mae’r tri gorchymyn darllen yn unig hyn yn ateb y cwestiwn ac yn cofnodi fersiwn yr offeryn.
openssl version
openssl x509 -in vpn-client.crt -noout -text
openssl pkey -in vpn-client.key -noout -text
Mae’r fersiwn yn bwysig oherwydd bod enwau opsiynau wedi symud rhwng prif ryddhau. Yn allbwn y dystysgrif, dewch o hyd i linell algorithm yr allwedd gyhoeddus a maint yr allwedd; yn allbwn yr allwedd, mae allwedd RSA yn argraffu modwlws ac esboniad cyhoeddus. Mae allwedd cromlin eliptig yn argraffu cromlin a enwir yn lle hynny, ac ni fydd unrhyw chwilio yn cynhyrchu n nac q ohoni.
Darllenwch y strwythur yn lle’r base64
Mae PEM yn base64 wedi’i lapio mewn llinellau pennawd, ac mae ei ddadgodio yn rhoi DER, sef strwythur wedi’i gyfresoli yn hytrach nag un cyfanrif enfawr. Mae allweddi preifat RSA yn teithio mewn dau gynhwysydd cyffredin, PKCS#1 a PKCS#8, ac mae’r ddau yn datrys i’r un set o rifau.
Yn achos dau rif cysefin, mae’r strwythur preifat yn cario naw maes: fersiwn, y modwlws n, yr esboniad cyhoeddus e, yr esboniad preifat d, y rhifau cysefin p a q, dau esboniad CRT a chyfernod CRT. Mae adran A.1 RFC 8017 yn diffinio’r cydrannau hynny a chynllun ASN.1, ac mae hefyd yn caniatáu mwy na dau rif cysefin, a dyna pam y gall dosrannydd cyffredinol argraffu cofnodion cysefin ychwanegol. Sylwch ar y drefn, oherwydd mae’n esbonio camgymeriad cyffredin: mae’r hanner cyhoeddus yn cael ei storio y tu mewn i’r ffeil breifat, felly nid yw presenoldeb maes cyhoeddus yn gwneud y ffeil honno’n ddiogel i’w rannu. Popeth ar ei ôl yw’r deunydd sy’n rhaid aros ar y gwesteiwr.
Mae’r amgodio yn ychwanegu haen sy’n hawdd ei chymysgu â chynnwys. Mae openssl asn1parse yn tynnu’r strwythur fel coeden fel bod trefn y meysydd yn weladwy, ac nid yw’n dadgryptio dim nac yn dweud a yw’r allwedd yn ddefnyddiadwy.
Parwch dystysgrif ag allwedd heb argraffu’r allwedd
Y cwestiwn sy’n dilyn yw fel arfer a yw tystysgrif ac allwedd yn perthyn i’w gilydd. Mae cymharu modwlws yn ateb hynny, ond mae hefyd yn copïo deunydd sy’n agos at breifat i drawsgrifiad terfynell a all orffen mewn tocyn. Mae cymharu’r haneri cyhoeddus yn ateb yr un cwestiwn heb ddim sensitif ar y sgrin.
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
Mae ffeiliau union yr un fath yn golygu bod y dystysgrif yn cario hanner cyhoeddus yr allwedd honno, ac mae gwahaniaeth yn golygu eich bod yn dal y pâr anghywir. Yr annghydweddiad hwnnw yw achos mwyaf cyffredin twnnel sy’n trafod yn hapus ac yna’n gwrthod dilysu. Tynnwch y ddau ffeil dros dro wedyn; nid ydynt yn dal dim cyfrinachol, ond mae cyfeiriadur gwaith glân yn haws i resymu yng nghanol digwyddiad.
Gwybyddwch beth nad yw’r ffeiliau cyfagos
Nid yw tystysgrif yn allwedd gyhoeddus amgryptiedig y mae’r partner yn ei datgloi gyda thystysgrif y CA; mae’n rhwymiad wedi’i lofnodi rhwng allwedd gyhoeddus a data hunaniaeth. Mae allwedd lofnodi breifat y CA yn aros ar wahân i’w dystysgrif ei hun ac i bob allwedd cleient. Nid cais yw tystysgrif chwaith: mae’n cario’r wybodaeth a ofynnwyd amdani a’r allwedd gyhoeddus gyda llofnod dros y cais, sy’n ei wneud yn fewnbwn cofrestru yn hytrach na phrawf o hawl.
| 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 |
Mae dau o’r cofnodion hynny yn cael eu cymysgu â pharamedrau RSA yn ddigon aml i’w henwi ddwywaith. Mae ffeil paramedrau Diffie-Hellman yn cynnwys paramedrau grŵp ar gyfer sefydlu allwedd a dim rhifau cysefin RSA, er ei bod hefyd yn argraffu fel rhif cysefin mawr. Mae rhestr dirymu yn cyhoeddi statws tystysgrifau ac nid yw’n lle y gallai esboniad preifat guddio.
Felly dylai pob llinell rhestr restru pedair peth: math o wrthrych, perchennog, pwrpas, ac a yw deunydd preifat yn gynwysedig. Mae’r golofn olaf yn penderfynu ble y gellir copïo’r ffeil, a honno yw’r un y mae pobl yn ei hepgor.
Cofnodwch y paru, yna gwiriwch y cydlawenhau
Cyn newid unrhyw beth, arbedwch allbwn y gwiriad gyda’r dyddiad a fersiwn OpenSSL. Yna gellir cymharu cylchdro diweddarach â thystiolaeth yn hytrach nag â chof.
openssl verify -CAfile ca.crt vpn-client.crt
openssl x509 -in vpn-client.crt -noout -subject -issuer -dates
Ar ôl cymharu’r allwedd gyhoeddus, arferwch y llwybr sy’n defnyddio’r pâr: codwch y twnnel, cadarnhewch fod y dystysgrif yn cael ei chyflwyno a’i derbyn, a gwiriwch pa hunaniaeth a gofnodwyd gan y porth. Os yw’r allwedd a’r dystysgrif yn cyfateb ac mae dilysu yn dal i fethu, mae’r nam yn ymddiriedaeth, mapio hunaniaeth neu bolisi mynediad, nid yn y pâr.
Ar gyfer adfer, cadwch yr allwedd a’r dystysgrif flaenorol mewn cyfeiriadur dyddiedig ac adferwch y ddau gyda’i gilydd, byth un o’r ddau. Mae allwedd heb ei thystysgrif a thystysgrif heb ei hallwedd yn methu’n union yr un fath oddi allan, sy’n gwneud parau hanner adferedig yn ddrud i’w dadannod am ddau yn y bore.