CA жок OpenVPN: peer-fingerprint өнөктөштөрдү кантип текшерет
Манжа изи бир сертификатты бекитет, жалпы сырды эмес. Дайджест эмнени камтыйт, ар тарап өз уруксат тизмесин кантип түзөт жана жаңыртуу канча турарын караңыз.
Кичине жайгаштыруу манжа изине кайрылат, анткени сертификат органы эч кимдин башкарууга убактысы жок инфраструктурага окшош. Түйшүк акылга сыярлык, бирок адамдар анын ордуна тандаган кыска жол—маалымат каналынын бир сырын эки учка көчүрүү—андай эмес. peer-fingerprint конфигурациясы TLS түзүлүшүн бузулбай сактайт: ар тарап дагы эле өз жеке ачкычы менен сертификатын кармайт, жана ар тарап дагы эле экинчисин текшерет. Өзгөргөн нерсе—текшерүүнүн кайда бекитилгени: ишенимдүү чыгаруучудан бекитилген дайджесттердин кыска тизмесине. Дайджест атты эмес, бүт сертификатты камтыгандыктан, жаңыртуу чындап убакыт алган ишке айланат.
Манжа изи чындыгында эмнени милдеттенет
Сертификаттын манжа изи — DER менен коддолгон бүт сертификаттын дайджести, анын ачык ачкычынын да, субъект атынын да эмес. Ошондуктан аттары бирдей жана ачкычы бирдей, бирок жарактуулук мөөнөттөрү башка эки сертификаттын манжа издери башка болот. Так ушул бекемдөөнү так кылат жана ушул жаңыртууну тыйынкы кылат. Бекемдөө ачкычка жалпы ишенүүнү билдире албайт, анткени ал бир артефактты анын өмүрүнүн бир учурунда атайт. Дайджестти ар ким биле алат, жана аны билүү өзү эч нерсени далилдебейт.
openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256
Тийиштүү жеке ачкычка ээ болуу — өнөктөштүн ошол сертификатка ээ экенин далилдеген нерсе, ал эми дайджест — экинчи тарап ошол сертификатты башында күткөн-күтпөгөнүн чечүү жолу. Бул бөлүнүү бул дизайндын эски жалпы-сыр тартиби болбогондук себеби: жалпы ачкыч ошол эле байттарды билген ар кимди аутентификациялайт, ал эми бекемдөө бир сертификатты аутентификациялайт. Башка түзмөк ошол сырдын көчүрмөсүн эмес, өз жазуусун алат, бул файлдарда кичине, ал эми зыяндын көлөмүндө чоң айырма.
Карта өз ара, симметриялуу эмес
Ар бир акыркы чекитке эки нерсе керек: өз жеке ачкычы сертификаты менен, жана кайсы өнөктөш сертификаттарын кабыл алары тууралуу билдирүү. Клиентте бул билдирүү — сервер сертификатынын дайджести; серверде — катталган клиент дайджесттеринин тизмеси. Community 2.6 үчүн кичине конфигурациянын расмий мисалы peer-fingerprint менен жайгаштырууну көрсөтөт, жана реалдуу жайгаштыруу үчүн бул ишеним моделин тандаардан мурун аны окуу пайдалуу. Эки багыт — бир оодарылган тизме эмес, жана алар бир убакта иштебей калбайт.
| Verification direction | What is pinned | What never leaves that endpoint | How a wrong pin shows up |
|---|---|---|---|
| Client checks the server | One digest, for the server certificate | The server private key | The client aborts during the TLS handshake |
| Server checks the client | A digest per enrolled client | Each client private key | The server rejects the peer before a tunnel exists |
Түзмөк кошуу сервердеги уруксат тизмесин оңдойт, бар клиенттин жеке материалын көчүрбөстөн жана сервер ачкычын эч жакка жылдырбастан. Эки багыт өз алдынча да иштебей калат, бул диагностикада пайдалуу: кайсы тарап кол алышууну жапса, ошол тараптын күтүүсү аткарылбаган. Эгер клиент серверди четке какса, дайджест сунушталган сертификатка туура келбейт. Эгер сервер клиентти четке какса, ошол клиенттин дайджести тизмеде жок, же клиент катталгандан башка сертификат сунуштап жатат.
Каттоо: жаңы түзмөк кантип кошулат
Жаңы түзмөктүн ачкычы менен сертификатын жеке ачкыч жашай турган жерде жаратыңыз, андан кийин гана ачык артефактты аны бекемдеш керек тарапка жылдырыңыз. Күтүлгөн дайджестти сиз буга чейин ишенген канал аркылуу өткөрүңүз, жана тааныш көрүнгөн аттын ордуна толук сертификатты салыштырыңыз. Сертификат менен бирдей текшерилбеген жүктөөдөн көчүрүлгөн дайджест эки файл бири-бирине туура келерин гана далилдейт. Бул шайкештик текшерүүсү, инсандык текшерүү эмес, жана бул дизайндын алсырашынын эң тынч жолу.
Серверде дайджест кошуу — кадимки менеджер аркылуу өтүүчү жана андан кийин кайра туташуу болуучу конфигурация өзгөртүүсү. Жаңы түзмөк туташарын жана дайджести жок кылынган түзмөк мындан ары туташпай турганын ырастаңыз. Бир гана оң учурду камтыган сыноо уруксат тизмесин текшерилбеген калтырат, жана алты айдан кийин сиз так ошол абалда болосуз.
Жаңыртуу — кымбат учур
Ар бир сертификаттын мөөнөтү бүтөт, жана ачкыч менен аттар ошол бойдон калса да жаңы сертификаттын жаңы дайджести болот. Чыгаруучу астында жаңыртуу ошол чыгаруучуга ишенген өнөктөштөр үчүн ачык; бекемдөө астында ал сертификатты бекемдеген ар бир өнөктөш үчүн каттоо окуясы.
Мөөнөттөн кийин эмес, ага чейин тартипти пландаңыз. Жаңы дайджестти аны текшерген тараптарга таратыңыз, өзгөртүүнү колдонуңуз, жана андан кийин гана акыркы чекиттеги сертификатты алмаштырыңыз. Бул тартип эки тарап кайсы сертификат учурдагы экенинде макул болбой турган терезени калтырбайт. Тизменин өзүн да кароодо кармаңыз, анткени бекитилген тизме айлар мурун иштен чыгарылган түзмөктөрдүн жазууларын жыйнайт. Ар бир эскирген жазуу — ачкычы аман калса, дагы эле аутентификациялануучу инсандык, ошондуктан бирөөнү жок кылуу тазалоо эмес, коопсуздук аракети.
Ишеним картасы эмнени чечпейт
Аутентификация — бир катмар, жана бекитилген карта дарек пулу, түртүлгөн маршруттар, жолдун MTU же firewall саясаты жөнүндө эч нерсе айтпайды. Алар өзүнчө конфигурация жана өзүнчө бузулуу режимдери болуп кала берет. Аутентификациядан өтүп, эч кандай трафик өткөрбөгөн туннель — эч качан көтөрүлбөгөн туннелден башка иликтөө.
Карта да чексиз масштабдалбайт, жана чоңураак жайгаштыруулар чыгаруучуга негизделген PKI-ге келет. Бул тандоо криптография эмес, операция жөнүндө, анткени флот өскөн сайын ар бир өнөктөштөгү тизмени оңдоодон көрө бир орган аркылуу инсандыктарды кошуу жана чыгаруу арзаныраак. Клиенттин ишке ашырылышы бул опцияны колдобогон жерде жооп — ошол клиент документтеген шайкеш ишеним модели же колдоого алынган алмаштыруу. Текшерүү эскертүүсүн басуу бул колдоону кошпойт, жана дизайндын бүткүл баалуулугу текшерүү дагы эле болуп жаткандыгында.