Fi ec, ed, ecdh, ecdsa, auth àti àkójọ cipher TLS kan pẹ̀lẹ́gbẹ́ nínú profáìlì kan, fáìlì yóò bẹ̀rẹ̀ sí dàbí ìtẹ̀ agbára tó ní ààyè mẹ́fà. Kì í ṣe bẹ́ẹ̀. Orúkọ kọ̀ọ̀kan ń dáhùn ìbéèrè ọ̀tọ̀ọ̀tọ̀, àti pé profáìlì méjì tó yàtọ̀ nínú ọ̀kan ṣoṣo nínú wọn kò fi dandan jẹ́ pé ọ̀kan lágbára tàbí aláìlágbára ju èkejì lọ. Líláti tò àwọn orúkọ lẹ́sẹẹsẹ gẹ́gẹ́ bí iṣẹ́ tí wọ́n ń ṣe gba nǹkan bí ìṣẹ́jú márùn-ún, ó sì ń dènà ọ̀pọ̀ jùlọ àwọn àtúnṣe burúkú tí àwọn ènìyàn ń ṣe sí ìṣètò tó ń ṣiṣẹ́.

Ìtò tó wà nísàlẹ̀ yìí bẹ̀rẹ̀ láti inú ìdàrúdàpọ̀ fúnra rẹ̀, lẹ́yìn náà ó ń gbòòrò sí ìta sí àwọn ẹ̀ka profáìlì tí ó ń pinnu ohun tí ń dáàbò bo ìrìnàjò rẹ ní ti gidi. Ẹ̀ka kọ̀ọ̀kan ń mú ìkàwé tí kò tọ́ kan lẹ́sẹẹsẹ, ó sì ń fi hàn ohun tí orúkọ náà so mọ́ ní ti gidi.

Lẹ́tà méjì, ìbéèrè méjì ọ̀tọ̀ọ̀tọ̀

Ẹ̀wẹ̀ tó ń fa àríyànjiyàn jùlọ ni EC àti ED, àríyànjiyàn náà sì sábà gbà pé wọ́n jẹ́ ìdáhùn olùdíje sí ìbéèrè kan. Wọn kò tilẹ̀ wà lórí àkọ́ kan náà. EC ń ṣàpèjúwe ẹ̀yà ìṣirò kan: cryptography ti ìlà onígun, níbi tí ààbò ti ń wá láti inú ìṣòro logarithm àtọ̀tọ̀ lórí ìlà kan dípò nínú pápá aláàlà ńlá.

ED ń ṣàpèjúwe ìrísí ìlà kan nínú ẹ̀yà yẹn. Àwọn ìlà Edwards tí a yí ni aṣojú tí a yàn fún ìyára àti fún ìdènà àwọn àṣìṣe ìmúṣẹ mélòó kan, àti Ed25519 ni orúkọ tí àwọn ènìyàn sábà ń ní lọ́kàn. Ìlà yìí kì í ṣe olùdíje sí cryptography ìlà onígun; ó jẹ́ ọ̀nà kan láti kọ ìlà onígun. Kíka ED gẹ́gẹ́ bí “EC tuntun àti alágbára jù” ni ìyípadà àṣìṣe àkọ́kọ́, gbogbo ohun tó tẹ̀lé sì sábà jẹ́ àṣìṣe ní ọ̀nà kan náà.

Ìfọwọ́sí àti pàṣípààrọ̀ kọ́kọ́rọ́ jẹ́ iṣẹ́ ọ̀tọ̀ọ̀tọ̀

Nígbà tí ìbéèrè ẹ̀yà náà bá yanjú, àwọn orúkọ tó kù pín sí ọ̀wọ̀n méjì tí kì í rọ́pò ara wọn. Ọ̀wọ̀n kan ń fọwọ́ sí, èkejì ń gbà lórí àṣírí tí a pín.

Name in the profileJob it doesWhat it is not
ecdsaSignature scheme using elliptic-curve keysNot a key-exchange method
eddsa, Ed25519Signature scheme for twisted Edwards curvesNot interchangeable with ECDSA
ecdh, X25519Ephemeral key agreementNot a signature and not a cipher
authHMAC digest for packet authenticationNot the data cipher

EdDSA àti ECDSA jọ ń fọwọ́ sí, ṣùgbọ́n àwọn jẹ́ ètò ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àwọn ọ̀nà kọ́kọ́rọ́ ọ̀tọ̀ọ̀tọ̀, nítorí náà ìwé-ẹ̀rí tí a fún ọ̀kan kò ṣe é lò gẹ́gẹ́ bí èkejì. EdDSA ni a túmọ̀ fún àkójọ kékeré ti àwọn ìlà; P-256 kò sí nínú wọn, ìdí nìyẹn tí ìwé-ẹ̀rí P-256 fi ń gbà ìjẹ́rìí pẹ̀lú ECDSA, kì í sì í gbà pẹ̀lú Ed25519 láé.

Ọ̀wọ̀n pàṣípààrọ̀ kò ní ohun tó dọ́gba tí a ń pè ní EdDH. Àdéhùn àkókò lórí kọ́kọ́rọ́ Curve25519 ni X25519, ìyẹn sì ni ECDH pẹ̀lú ìlà pàtó kan, gẹ́gẹ́ bó ti rí pẹ̀lú P-256. Ed25519 túmọ̀ sí ètò ìfọwọ́sí gan-an, bó tilẹ̀ jẹ́ pé a ń lo orúkọ náà lọ́nà àìdúró fún pàṣípààrọ̀ nítorí ìlà méjì náà ní ìbáṣepọ̀: ìrísí Edwards tí a ń lò fún ìfọwọ́sí àti ìrísí Montgomery tí a ń lò fún X25519 ń ṣàpèjúwe ẹgbẹ́ ìpìlẹ̀ kan náà.

Ìdí tí profáìlì EC kò fi ní fáìlì dh

Fáìlì dh kan ní àwọn pàrámítà tí a ti ṣe àkọ́kọ́ fún Diffie-Hellman pápá aláàlà, àwọn pàrámítà náà sì wà nítorí pé nọ́mbà pàtàkì ńlá àti olùdá gbọ́dọ̀ ti ibòmírà wá. Pàṣípààrọ̀ ìlà onígun kò nílò wọn: ìlà tí a dárúkọ ni àkójọ pàrámítà fúnra rẹ̀, ẹ̀gbẹ́ méjèèjì sì ti mọ̀ ọ́ tẹ́lẹ̀. Ìdí gbogbo rẹ̀ nìyẹn tí profáìlì EC fi lè fi àṣẹ yìí sílẹ̀.

Ipò méjì ṣì ń mú ìlà dh jáde nínú profáìlì tí ó ṣe bíi ti òde-òní ní ọ̀nà mìíràn. Èkíní ni olùgbọ́ kejì tàbí ẹgbẹ́ àtijọ́ tí ó ń bára wọn sọ̀rọ̀ nípa àwọn ẹgbẹ́ pápá aláàlà gan-an. Èkejì ni ọ̀rọ̀ tó kù tí a dà kọ láti inú àwòkọ́ọ̀ṣì àkókò RSA tí a kò sì yọ kúrò láé. Profáìlì tí ó dárúkọ ìlà fún pàṣípààrọ̀ tí ó sì ṣì ń gbé fáìlì dh 2048-bit wọlé kì í ní ààbò púpọ̀ sí i nítorí pé ó ṣe bẹ́ẹ̀; ó kan ń gbé ohun tí a kò lò.

TLS 1.3 yọ pàṣípààrọ̀ kọ́kọ́rọ́ kúrò nínú orúkọ

Fi TLS_AES_256_GCM_SHA384 wé TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384, orúkọ tó kúrú náà yóò dàbí ìdínkù. Ìyípadà orúkọ ni, ìdí náà sì jẹ́ ti ìṣètò: TLS 1.3 yọ RSA àìyípadà àti pàṣípààrọ̀ kọ́kọ́rọ́ Diffie-Hellman pápá aláàlà kúrò, nítorí náà pàṣípààrọ̀ ìlà onígun àkókò ni àṣàyàn kan ṣoṣo tí kì í ṣe PSK tó kù. Pípè é nínú gbogbo àkójọ yóò jẹ́ àtúnpè òtítọ́ kan náà ní ọ̀pọ̀ ìgbà.

Irú ìwé-ẹ̀rí náà pàdánù kúrò nínú orúkọ fún ìdí tó ní ìbáṣepọ̀. Nínú 1.3, ìwé-ẹ̀rí ń jẹ́rìí ìfọwọ́sí ìfọwọ́sọ̀rọ̀ náà, kì í ṣe àdéhùn kọ́kọ́rọ́, nítorí náà kò tún yan àkójọ mọ́. Ìdí nìyẹn tí àkójọ cipher ọ̀tọ̀ fi wà fún 1.3 nínú ìṣètò: a yí orúkọ àwọn àkójọ padà, a sì tún wọ́n ṣètò, a kò dín wọn kù.

Ìyọrisí kan yẹ kí a sọ ní àrà ọ̀tọ̀. ECDHE jẹ́ alugorídìmù pàṣípààrọ̀ kọ́kọ́rọ́, kì í sì í ṣe cipher láé. Àkójọ tí a ṣàpèjúwe gẹ́gẹ́ bí “onígun” ń sọ ohun kan nípa bí ẹ̀gbẹ́ méjèèjì ṣe dé kọ́kọ́rọ́ tí a pín, kò sì sọ ohun kankan nípa ohun tí yóò ṣe àkọsílẹ̀ payload lẹ́yìn náà.

auth ń jẹ́rìí àwọn pákéètì, kì í ṣe payload

Àṣẹ auth ń yan digest HMAC tí ń jẹ́rìí àwọn pákéètì, ìpín àkọ́kọ́ rẹ̀ láti ìgbà àtijọ́ ni SHA1. Pẹ̀lú cipher dátà tí kì í ṣe AEAD, OpenVPN ń ṣe ìṣirò digest lórí ciphertext, ó sì ń fi kún ìparí rẹ̀; ètò ìkọ́kọ́-àkọsílẹ̀-ṣáájú-MAC yìí ni ó ń mú kí ìfọwọ́wọ́ padding jẹ́ ohun tí kò ṣeé ṣe ní ìṣe.

Àròsọ kan tó wà níbí ni pé gbígbé auth sí SHA512 ń mú tunnel le kún. Kò gbé agbára àkọsílẹ̀ sókè, àti pé bí cipher dátà tí a gbà lórí rẹ̀ bá jẹ́ ipò AEAD bí AES-256-GCM, a kò fi digest kan àwọn pákéètì dátà rárá. Àmì GCM ti ń jẹ́rìí wọn tẹ́lẹ̀, a sì fi iye auth sílẹ̀ fún HMAC ti ọ̀nà ìṣàkóso àti fún cipher tí kì í ṣe AEAD tó ṣì ń lò.

Nítorí náà àṣẹ náà ṣe pàtàkì, ṣùgbọ́n ó ṣe pàtàkì ní ibi tó kúrú ju ipò rẹ̀ nínú fáìlì fi hàn. Ṣíṣàyẹ̀wò irú cipher tí a gbà lórí rẹ̀ ní ti gidi yóò sọ fún ọ bóyá ó kan wà.

Ka profáìlì nípasẹ̀ ọ̀wọ̀n, kì í ṣe nípasẹ̀ ipò

Ìbéèrè mẹ́ta ń ya àwọn ìpele wọ̀nyí kúrò ní ọ̀nà mímọ́, ọ̀kọ̀ọ̀kan sì ni ẹ̀ka ọ̀tọ̀ọ̀tọ̀ nínú ìpàdé tí a gbà ń dáhùn. Cipher wo ni ń dáàbò bo payload? Àmì tàbí digest wo ni ń ṣe àtakò fún pákéètì kọ̀ọ̀kan, ṣé cipher tó ń lò pàápàá nílò ọ̀kan? Ẹni tí ìwé-ẹ̀rí rẹ̀ pa ìfọwọ́sọ̀rọ̀ dé, ṣé a tún ń dáàbò bo ọ̀nà ìṣàkóso pẹ̀lú tls-auth tàbí tls-crypt?

Kò sí ohun kan nínú àmì EC tàbí ED tó pinnu ọ̀kan nínú àwọn mẹ́ta náà, orúkọ àkójọ fúnra rẹ̀ kò sì pinnu ọ̀kan. Ìyọrisí tí a gbà lórí rẹ̀ ni ẹ̀rí kan ṣoṣo, nítorí náà ka ìyẹn dípò fífi ọ̀rọ̀ ṣe àdìísi agbára:

openssl x509 -in client.crt -noout -text | grep -E 'Signature Algorithm|Public Key Algorithm'
grep -i 'control channel' /var/log/openvpn.log

Àṣẹ àkọ́kọ́ sọ fún ọ irú ètò ìfọwọ́sí tí ìwé-ẹ̀rí rẹ ń lò ní ti gidi, ìyẹn sì ni ọ̀nà kan ṣoṣo tó ṣeé gbára lé láti mọ̀ bóyá ECDSA ni o ń lò tàbí Ed25519. Èkejì ń fi ìlà ọ̀nà ìṣàkóso tí kìlántì kọ sínú àkọsílẹ̀ fún ìpàdé hàn, pẹ̀lú ẹ̀yà TLS àti àkójọ tí ó gbà lórí rẹ̀. Bí àtúnṣe profáìlì kò bá lè dá àbá rẹ̀ lórí ọ̀kan nínú àwọn ìjáde méjì yẹn, ó ṣeé ṣe kí ó jẹ́ ìyípadà orúkọ ju ìyípadà ohun-ìní lọ.

Àwọn àpilẹ̀kọ tó jọra