OCSP lodi si CRL: bí ìdánwò ìpalẹ̀ kọ̀ọ̀kan ṣe ń ṣiṣẹ́ gan-an
Ìdáhùn OCSP jẹ́ ipò tí wọ́n fọwọ́ sí fún ẹ̀rí kan; CRL jẹ́ àkọsílẹ̀ tí wọ́n gbà sílẹ̀. Pínpín, ìtọ́jú àti ìhùwàsí nígbà ìkùnà ni àwọn ibi tí wọ́n ti yàtọ̀.
Ọ̀kan nínú àwọn ìdánwò ìpalẹ̀ méjì yìí ń dá ìdáhùn tí wọ́n fọwọ́ sí padà nípa ẹ̀rí kan ṣoṣo, èkejì sì ń dá àkọsílẹ̀ tí wọ́n fọwọ́ sí padà tí o gbà sílẹ̀ látòkè. Àwọn méjèèjì wà láti sọ fún olùdánilójú bóyá ẹ̀rí ìdánimọ̀ ṣì gbẹ́kẹ̀lé, àwọn méjèèjì sì ń kùnà ní ọ̀nà tí kò jọra rárá. Ìtẹ̀lé tí ó wà nísàlẹ̀ ń tẹ̀lé ohun tí olùṣiṣẹ́ ń pàdé ní ìṣelọ́pọ̀ gan-an, láti àwọn byte tí ó wà lórí okùn dé ẹnubodè tí ó kọ̀ ìsopọ̀. Fífò ìgbésẹ̀ kan kọjá ni ọ̀nà tí ìmúṣẹ fi ń parí pẹ̀lú ìlànà ìpalẹ̀ tí ó wà lórí bébà nìkan.
Ìgbésẹ̀ 1: Kí ni ìdánwò kọ̀ọ̀kan ń dá padà àti báwo ni ó ṣe wà ní ìlò fún pípẹ́
Wọ́n ń tẹ̀wé CRL gẹ́gẹ́ bí ohun kan tí wọ́n fọwọ́ sí tí ó bo gbogbo ẹ̀rí tí olùgbéjáde ti palẹ̀, nítorí náà olùdánilójú gbà á lẹ́ẹ̀kan, ó sì tún un lò títí nextUpdate àkọsílẹ̀ yóò fi kọjá. Ìdáhùn OCSP kúrú jù: ó ń dáhùn fún ẹ̀rí kan gbáà, ó sì ń gbé thisUpdate, producedAt àti ní ọ̀pọ̀ ìgbà nextUpdate pẹ̀lú. Ìyàtọ̀ yẹn ni ó ń darí gbogbo ohun mìíràn. CRL tí wọ́n tọ́jú ń gbógun bìrìbìrì, nítorí fáìlì ṣì ń ṣe àyẹ̀wò, ìbuwọ́lù rẹ̀ sì ṣì ń ṣe ìdánilójú, nígbà tí ìdáhùn OCSP tí ó ti kọjá àkókò kò ní láárí ní àkókò tí o bá ka àwọn àmì àkókò rẹ̀.
Nítorí náà ìtọ́jú ni ohun àkọ́kọ́ tí a gbọ́dọ̀ pinnu: irú ẹ̀yà wo ni ó ń pa ẹ̀dà mọ́, àti orí tí ẹ̀dà yẹn ń tẹ̀lé. Lórí ẹnubodè, orí náà gbọ́dọ̀ jẹ́ nextUpdate yọkúrò ìwọ̀n ààbò, kì í ṣe ohun tí àkọlé ìtọ́jú HTTP ń dábàá lójijì. openssl crl -in issuer.crl -noout -lastupdate -nextupdate ń tẹ àwọn ọjọ́ méjèèjì jáde, àti àkọsílẹ̀ tí nextUpdate rẹ̀ ti wà ní ìgbà tí ó kọjá gbọ́dọ̀ jẹ́ kí wọ́n kà á sí ohun tí ó sọnù, kì í ṣe ohun àtijọ́ nìkan.
Ìgbésẹ̀ 2: Ibi tí ẹ̀rí ń darí alábàáṣepọ̀ sí
Ẹ̀rí ewé ń gbé ìtọ́nà méjì ní ọ̀pọ̀ ìgbà: ẹ̀yà ìmúgbòòrò ibi pínpín CRL àti àkọsílẹ̀ àwọ̀tẹ́lẹ̀ ìwífún aláṣẹ fún OCSP. openssl x509 -in client.pem -noout -ext crlDistributionPoints ń tẹ èkínní jáde, èkejì sì wà lábẹ́ apá AIA ti openssl x509 -in client.pem -noout -text. Ẹ̀yà ìmúgbòòrò kọ̀ọ̀kan jẹ́ ìtọ́nà, kì í ṣe ojúṣe. Alábàáṣepọ̀ tí kò bá fi ìdánwò ìpalẹ̀ ṣiṣẹ́ rí yóò sopọ̀ dáadáa mọ́ ẹ̀rí tí àwọn ẹ̀yà ìmúgbòòrò rẹ̀ ń dárúkọ olùdáhùn tí ó ti kú fún ọdún kan.
Àwọn ibi pínpín máa ń dárúkọ olùgbàlejò inú tí wọ́n ń yanjú nínú apá nẹ́tíwọ́kì kan ṣoṣo, àwọn alábàáṣepọ̀ àtijọ́ sì ń kọ̀ URL ldap pátápátá. Dán ìwọléwọ̀ wò láti ọ̀dọ̀ olùgbàlejò tí ó parí ọ̀nà àbáwọlé, kì í ṣe láti kọ̀mpútà rẹ fúnra rẹ, nítorí ìyẹn ni ojú-ìwòye kan ṣoṣo tí ìkùnà rẹ̀ ṣe pàtàkì gan-an.
Ìgbésẹ̀ 3: Yàn fail-closed tàbí fail-open kí ìdádúró tó ṣẹlẹ̀
Olùdáhùn tí a kò lè dé àti àkọsílẹ̀ tí ó ti kọjá àkókò ń fipá mú ìpinnu: kọ̀ ìsopọ̀, tàbí gbà á kí o sì kọ àlàfo sílẹ̀. Ìpàṣẹ abẹ́ verify ti OpenSSL ń mú yíyàn líle hàn kedere, nítorí pé kíkún -crl_check yí CRL tí kò sí padà sí unable to get certificate CRL àti ìdánilójú tí ó kùnà. Ìkùnà rírọ̀ nínú ọ̀pọ̀ àkópọ̀ kì í ṣe àsíá rárá, àìsí ìdánwò ni, ìyẹn sì ni ìdí tí ó fi ń jáde lójijì.
Láti rí ìhùwàsí tí alábàáṣepọ̀ ní gan-an, yọ olùdáhùn kúrò kí o sì sopọ̀ mọ́ ọn lẹ́ẹ̀kan sí i. Bí ọ̀nà àbáwọlé bá ṣì gòkè, wá ìlà àkọsílẹ̀ tí ó kọ ìdánwò tí wọ́n fò kọjá, kí o sì béèrè bóyá ẹnikẹ́ni yóò ka ìlà yẹn nígbà ìṣẹ̀lẹ̀. Olùpèsè kan náà lè yàtọ̀ nípa ìlànà ìbánisọ̀rọ̀: alábàáṣepọ̀ IKEv2 àti alábàáṣepọ̀ OpenVPN lórí ẹ̀rọ kan ń ka àwọn ètò ìṣètò tí kò ní ìbáṣepọ̀.
Ìgbésẹ̀ 4: Fi hàn pé ìdánwò ń ṣiṣẹ́ níbi tí wọ́n ti gba ìṣàn
Wá ìlànà tí ó parí tàbí tí ó fọwọ́ sí ìsopọ̀, kí o sì béèrè ìlà ìṣètò tí ó ń mú ìdánwò ìpalẹ̀ ṣiṣẹ́. Ẹnubodè tí ó ń ṣe ìdánilójú ẹ̀wọ̀n ṣùgbọ́n tí kì í béèrè nípa ìpalẹ̀ ń fi ìlànà tí ó yàtọ̀ sí èyí tí ó wà nínú àwọn ìwé rẹ ṣiṣẹ́, kò sì sí àwòrán ojú-ìwé ẹ̀wọ̀n ẹ̀rí tí ó fi ìdíwọ̀n hàn. OpenVPN ń kọ àṣàyàn yìí gẹ́gẹ́ bí crl-verify; strongSwan ń pa àwọn ìwá CRL àti OCSP mọ́ lábẹ́ ìṣètò CA, níbi tí wọ́n ti ṣètò crl_uris tàbí ocsp_uris. Bí o kò bá lè tọ́ka sí ọ̀kan nínú àwọn méjèèjì, ro pé ìdánwò kò sí.
Ìdáhùn OCSP wúlò nígbà tí CA tí ó gbéjáde fọwọ́ sí i, tàbí nígbà tí olùdáhùn tí ó ní ìlò kọ́kọ́rọ́ gbòòrò OCSPSigning tí CA yẹn fi lé lọ́wọ́ fọwọ́ sí i, nítorí náà ìdáhùn láti iṣẹ́ tí kò ní ìbáṣepọ̀ kò fi nǹkan kan hàn. Bí ìwọ fúnra rẹ bá ń ṣe olùdáhùn, máa ṣe àfiyèsí rẹ̀ gẹ́gẹ́ bí ìgbẹ́kẹ̀lé líle, nítorí iṣẹ́ kan tí ó kú ń di ìdádúró fún gbogbo alábàáṣepọ̀ fail-closed lẹ́ẹ̀kan náà.
Ìgbésẹ̀ 5: Palẹ̀ ẹ̀rí kan pẹ̀lú ìdí
Mú ẹ̀rí ìdánwò kan, palẹ̀ rẹ̀ nípasẹ̀ kan náà tí ìṣelọ́pọ̀ ń lò, kí o sì béèrè lọ́wọ́ olùdáhùn tààrà. openssl ocsp -issuer ca.pem -cert old.pem -url http://ocsp.example.net -resp_text gbọ́dọ̀ jábọ̀ Cert Status: revoked pẹ̀lú àkókò ìpalẹ̀, ìdáhùn good sì túmọ̀ sí pé ìpalẹ̀ rẹ kò dé ọ̀dọ̀ olùdáhùn tí àwọn alábàáṣepọ̀ rẹ ń béèrè. Lẹ́yìn náà ṣe openssl verify -crl_check -CRLfile issuer.crl -CAfile ca.pem old.pem láti rí ìpinnu kan náà nípasẹ̀ ọ̀nà àkọsílẹ̀. Ka gbólóhùn ìdí dípò kóòdù àǹfààní, nítorí kíkọ̀ ìpalẹ̀ àti àṣìṣe ẹ̀wọ̀n méjèèjì ń parí pẹ̀lú ìkùnà.
Ìgbésẹ̀ tí ó ṣe pàtàkì gan-an ni èyí tí ó kẹ́yìn: sopọ̀ mọ́ ọn lẹ́ẹ̀kan sí i pẹ̀lú prófáìlì àtijọ́ lòdì sí ibi ìmúṣẹ gidi kí o sì jẹ́rìí pé ìkọ̀ náà wá láti ìpalẹ̀. Lẹ́yìn náà sopọ̀ mọ́ ọn pẹ̀lú ẹ̀rí tuntun tí ó wúlò láti fi hàn pé ìwọ kò ṣe ẹni tí ń gbọ́ nìkan ni bàjẹ́. Píparẹ́ prófáìlì lórí alábàáṣepọ̀ kò fi nǹkan kan hàn nípa ìpinnu olùpèsè, bẹ́ẹ̀ náà ni ṣíṣe openssl verify ní àṣeyọrí lórí ẹ̀rọ tí kì í parí ọ̀nà àbáwọlé rí. RFC 6960 ń ṣàlàyé ohun tí ìdáhùn OCSP tí ó bá a mu ní, pẹ̀lú àwọn iye ipò tí ìdánwò yìí ń kà.