TLS ачкычын бөлүшүү жана кардар сертификаты: кайсынысы кирет?
Ачкыч келишимин кардардын аутентификациясынан жана колдонмонун инсандыгынан ажыратып, туташуу кайсынысын иш жүзүндө колдонгонун көрсөткөн кол алышуу билдирүүлөрүн окуңуз.
Кол алышууда ачык ачкыч алмашуу маанисин алып жүрүү кардардын кириши менен бир эле окуя эмес. Бири туташуу үчүн криптографиялык абалды орнотот; экинчиси кардардын ким экенин билдирет жана сервер аны сураганда жана алмашуу муну колдогондо гана болот. Биринчисин экинчиси деп кабыл алуу VPN эмнени жашырып, эмнени жашырбаганы тууралуу туура эмес тыянактарга алып келет. Билдирүүлөрдү окуңуз, анан төрт касиеттин кайсынысын чындыгында байкаганыңызды чечиңиз.
Жазууда бирдей көрүнгөн эки объект
TLS 1.3 кардары биринчи учуусунда эч кандай сертификат көрсөтпөстөн ачкыч алмашуу материалын бере алат. Бул салым долбоор боюнча ачык, анткени серверге жалпы сырды алуу үчүн ал керек. Кардар сертификаты башка билдирүү, ал сервер сурагандан кийин гана жөнөтүлөт. Ал сервер кийин текшере турган инсандыкты алып жүрөт, ал эми өз ара аутентификация — шифр топтому талап кылган касиет эмес, сервердин чечими. Колдонмо инсандыгы таптакыр үчүнчү нерсе: кирүү формасы, алып жүрүүчү токен, cookie. Алардын бири да кол алышууда көрүнбөйт жана баары тең желе жолунун өзгөрүшүнө туруштук берет.
| Object in play | What it establishes |
|---|---|
| Key-exchange share | Cryptographic state for this connection |
| Server certificate | Which server the client reached |
| Client certificate | Client authentication, when requested |
| Application session | Account identity inside the application |
Төрт сап көз каранды эмес. Туташууда биринчи жана экинчи сап болушу, үчүнчүсүн өткөрүп жибериши жана төртүнчүсүн cookie аталышында алып жүрүшү мүмкүн.
Кармалган кол алышуу эмнени далилдей аларын чечиңиз
Кол алышуудан гана байкоочу келишилген версияны, шифр топтомун, сервердин сертификатын жана ачык ачкыч алмашуу маанилерин билет. Бул кардардын ишке ашырылышынын манжа изин алууга жана кайсы сервер менен байланышканын көрүүгө жетишет. Бербегени — туташууну дешифрлөө үчүн керектүү жеке абал; анын жашыруундугу ачык үлүшкө эмес, эфемердик алмашууга таянат. Ал ошондой эле эсеп инсандыгын бербейт, ал башынан эле кол алышууда жок болчу.
Ошондуктан ак ниет тыянак тар: бул алмашууда кардар сертификаты көрсөтүлгөн жок. Сөз кардар байланыштыра турган эч нерсе жөнөтпөгөнүндө эмес, жана албетте сессия эч кандай идентификатор алып жүрбөгөнүндө эмес.
Шифрдин атын эмес, билдирүүлөрдү окуңуз
Шифр топтомунан божомолдоонун ордуна серверден эмнени сурап жатканын сураңыз. Сертификат суроосун камтыган TLS 1.3 кол алышуусу транскриптте көрүнөт, анын жоктугу да ошондой эле көрүнөт.
openssl s_client -connect app.example.net:443 -tls1_3 -msg < /dev/null 2>&1 | grep -i -E 'key_share|CertificateRequest'
Анан кардар сертификатын конфигурациялап кайталаңыз жана салыштырыңыз. Экинчи иштетүү сертификаттын жөнөтүлүп, кабыл алынганын көрсөтүшү керек; биринчиси эч нерсе көрсөтпөшү керек, жана талаштын конкреттүү айырмасы ушунда.
openssl s_client -connect app.example.net:443 -tls1_3 -cert client.pem -key client.key -quiet
Эгер сизге кадимки серептөө учуру гана керек болсо, кардардын толук чыгарылышы протокол версиясын, текшерүү жыйынтыгын жана кардар сертификаты сунушталганын көрүүгө жетишет. Эч качан сертификат суроосун жөнөтпөгөн сервер аны ала алган эмес.
Кайда улантуу жоопту өзгөртөт
TLS 1.3 улантуусу жашыруун абалга байланган билеттерди колдонот, ошондуктан кийинки туташуу толук сертификат алмашуусуз бүтө алат. Бул байкоочу көргөн нерсени азайтат жана транскрипт далилдеген нерсени өзгөртөт. Ал жок жерде инсандык жаратпайт. Улантылган сессия дагы эле ошол эле колдонмо сессиясына таандык, жана ошол сессиядагы каалаган cookie же токен маанилүү идентификатор бойдон калат.
Ошондуктан "кардар сертификаты жок" деген жерде токтогон купуялуулук текшерүүсү кызыктуу бөлүгүн өткөрүп жиберет. Сурала турган суроо — кайсы тарап туруктуу идентификаторду кармайт, бир кол алышуудан кайсы билдирүү жетишпегени эмес.
Бир өкүм эмес, төрт касиет жазыңыз
Ачкыч келишимин, серверди текшерүүнү, кардар аутентификациясын жана колдонмо инсандыгын ар биринин далили менен төрт өзүнчө сап катары жазыңыз. Бул тизме протокол версиясы өзгөргөндө да сакталат жана купуялуулук тууралуу аргументти башка бирөө текшере тургандай кылат. Анан желе жолунун салымын кошуңуз. VPN кызмат көргөн баштапкы даректи өзгөртөт; ал колдонмодо мурунтан бар кирүүнү, cookie же түзмөктүн манжа изин жок кылбайт.
Туташуунун келишилген версиясын жана сертификат суроосунун жыйынтыгын чогуу жазыңыз, анткени сынчыга өз жазуусуз сиздин тыянагыңызды кайра жаратуу үчүн дал ушул жуп керек.