OpenVPN CA olmadan: peer-fingerprint həmyaşıdları necə yoxlayır
Barmaq izi bir sertifikatı bərkidir, ortaq sirri yox. Həzm nəyi əhatə edir, hər tərəf icazə siyahısını necə qurur və yenilənmə nəyə başa gəlir.
Kiçik bir yerləşdirmə barmaq izlərinə əl atır, çünki sertifikat nüfuz mərkəzi heç kimin işə salmağa vaxtı olmayan infrastruktur kimi görünür. İntuisiyası ağlabatandır, amma insanların əvəzində tutduğu qısa yol—bir data-kanal sirrini hər iki tərəfə köçürmək—belə deyil. peer-fingerprint quruluşu TLS strukturunu toxunulmaz saxlayır: hər tərəf yenə öz şəxsi açarını və sertifikatını saxlayır, hər tərəf yenə digərini yoxlayır. Dəyişən odur ki, yoxlama harada lövbərləşir: etibarlı vericidən qısa bərkidilmiş həzm siyahısına. Həzm adı yox, bütün sertifikatı əhatə etdiyi üçün yenilənmə real vaxt aparan əməliyyata çevrilir.
Barmaq izi əslində nəyi öhdəsinə götürür
Sertifikat barmaq izi bütün DER-kodlanmış sertifikatın həzmidir, onun açıq açarının yox, subyekt adının da yox. Ona görə eyni adlara və eyni açara malik, lakin etibarlılıq tarixləri fərqli iki sertifikatın barmaq izləri fərqlidir. Bərkidirməni dəqiq edən budur, yenilənməni isə pozucu edən də elə budur. Bərkitmə ümumilikdə bir açara etibar etmək mənasına gələ bilməz, çünki o, bir artefaktı həyatının bir anında adlandırır. Həzmi hər kəs bilə bilər və bunu bilmək tək başına heç nə sübut etmir.
openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256
Uyğun şəxsi açarın saxlanması həmyaşıdın həmin sertifikata sahib olduğunu sübut edir, həzm isə qarşı tərəfin o sertifikatı ümumiyyətlə gözləyib-gözləmədiyini qərar verdiyi vasitədir. Bu ayrılıq bu dizaynın köhnə ortaq-sirr quruluşu olmamasının səbəbidir: ortaq açar eyni baytları bilən hər kəsi təsdiqləyir, bərkitmə isə bir sertifikatı təsdiqləyir. Fərqli cihaz eyni sirrin surətini deyil, öz girişini alır; bu fayllarda kiçik, zərərin genişliyində isə böyük fərqdir.
Xəritə qarşılıqlıdır, simmetrik deyil
Hər son nöqtəyə iki şey lazımdır: öz şəxsi açarı və sertifikatı, hansı həmyaşıd sertifikatlarını qəbul edəcəyi barədə bəyanat. Müştəridə bu bəyanat server sertifikatının həzmidir; serverdə isə qeydə alınmış müştəri həzmlərinin siyahısıdır. Community 2.6 üçün rəsmi kiçik quruluş nümunəsi peer-fingerprint ilə quruluşu göstərir və bu etibar modelini real yerləşdirmə üçün seçməzdən əvvəl oxumağa dəyər. İki istiqamət bir siyahının tərsi deyil və onlar eyni anda uğursuz olmur.
| 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 |
Cihaz əlavə etmək serverdə icazə siyahısını redaktə edir, mövcud müştərinin şəxsi materialını köçürmədən və server açarını heç yerə aparmadan. İki istiqamət də müstəqil uğursuz olur, bu da diaqnostika zamanı faydalıdır: hansı tərəf TLS əl sıxışmasını bağlayırsa, gözləntisi yerinə yetirilməyən tərəf odur. Müştəri serveri rədd edirsə, həzm təqdim olunan sertifikata uyğun gəlmir. Server müştərini rədd edirsə, həmin müştərinin həzmi siyahıda yoxdur, ya da müştəri qeydə alınandan başqa sertifikat təqdim edir.
Qeydiyyat: yeni cihaz necə qoşulur
Yeni cihazın açarını və sertifikatını şəxsi açarın yaşayacağı yerdə yaradın, sonra yalnız açıq artefaktı onu bərkitməli olan tərəfə köçürün. Gözlənilən həzmi artıq etibar etdiyiniz kanaldan ötürün və tanış görünən ad yerinə tam sertifikatı müqayisə edin. Sertifikatla eyni yoxlanılmamış yükləmədən köçürülmüş həzm yalnız iki faylın bir-biri ilə uzlaşdığını sübut edir. Bu, kimlik yoxlaması deyil, ardıcıllıq yoxlamasıdır və bu dizaynın ən səssiz zəifləmə yoludur.
Serverdə həzmin əlavə edilməsi adi menecer vasitəsilə keçən və yenidən qoşulma ilə müşayiət olunan konfiqurasiya dəyişikliyidir. Yeni cihazın qoşulduğunu, həzmi silinmiş cihazın isə artıq qoşulmadığını təsdiqləyin. Yalnız müsbət halı əhatə edən sınaq icazə siyahısını yoxlanılmamış qoyur və altı aydan sonra düşəcəyiniz vəziyyət məhz budur.
Yenilənmə bahalı məqamdır
Hər sertifikatın müddəti bitir və açar və adlar eyni qalsa belə yeni sertifikatın yeni həzmi olur. Verici altında yenilənmə o vericiyə etibar edən həmyaşıdlar üçün şəffafdır; bərkitmə altında isə sertifikatı bərkidən hər həmyaşıd üçün qeydiyyat hadisəsidir.
Sıranı bitmə tarixindən əvvəl, sonra deyil, planlaşdırın. Yeni həzmi onu yoxlayan tərəflərə paylayın, dəyişikliyi tətbiq edin və yalnız bundan sonra son nöqtədə sertifikatı dəyişin. Bu sıra iki tərəfin hansı sertifikatın aktual olduğu barədə ziddiyyətə düşdüyü heç bir pəncərə buraxmır. Siyahının özünü də nəzərdən keçirin, çünki bərkidilmiş siyahı aylar əvvəl çıxarılmış cihazlar üçün girişlər toplayır. Hər köhnəlmiş giriş, açarı sağ qalarsa hələ də təsdiqləyən bir kimlikdir, ona görə birini silmək təmizlik deyil, təhlükəsizlik əməliyyatıdır.
Etibar xəritəsinin həll etmədiyi şey
Autentifikasiya bir təbəqədir və bərkidilmiş xəritə ünvan hovuzu, ötürülən marşrutlar, yol MTU-su və ya firewall siyasəti barədə heç nə demir. Bunlar ayrı konfiqurasiya və ayrı nasazlıq rejimləri olaraq qalır. Doğrulanan, lakin heç bir trafik keçirməyən tunel heç vaxt qalxmayan tuneldən fərqli araşdırmadır.
Xəritə də sonsuz genişlənmir və daha böyük yerləşdirmələr verici əsaslı PKI-da qərarlaşır. Bu seçim kriptoqrafiya deyil, əməliyyatla bağlıdır, çünki donanma böyüdükcə kimlikləri bir hakimiyyət vasitəsilə əlavə etmək və çıxarmaq hər həmyaşıdda siyahını redaktə etməkdən ucuzdur. Müştəri tətbiqi bu seçimi dəstəkləmirsə, cavab həmin müştərinin sənədləşdirdiyi uyğun etibar modeli və ya dəstəklənən əvəzləyicidir. Doğrulama xəbərdarlığını susdurmaq bu dəstəyi əlavə etmir və dizaynın bütün dəyəri doğrulamanın hələ də baş verməsidir.