OpenVPN tls-crypt-v2: istemci anahtarı ve sarılmış blob ne yapar
Bir tls-crypt-v2 profili, istemci denetim anahtarını ve yalnızca sunucunun açabileceği sarılmış bir kopyayı içerir. Her nesneyi ve her devre dışı bırakma adımını ayrı tutun.
Bir tls-crypt-v2 profilini bir bilete yapıştırmak, dosyada ne olduğunu sayana kadar zararsız görünür. İstemcinin denetim kanalı anahtarı, aynı anahtarın şifrelenmiş bir kopyasının yanında durur ve üçüncü nesne olan sarma anahtarı, kabul eden sunucudan asla ayrılmaz. Bu üçü, saklama, paylaşma ve devre dışı bırakma hakkında farklı soruları yanıtlar. Onları ayırmak, çoğu politika tartışmasını başlamadan çözer.
Profil gerçekte ne içerir
tls-crypt-v2'nin istemci yarısı bir anahtar ve onun sarılmış kopyasıdır. İstemci, denetim kanalının korunması için düz anahtarı kullanır ve kurulum sırasında sarılmış kopyayı sunucuya verir, böylece sunucu her istemci için düz metin kopyası saklamadan aynı anahtarı geri kazanır. Sarma anahtarı bu geri kazanımı mümkün kılar ve yalnızca kabul eden tarafa aittir. Aşağıdaki her şey, bu üç nesnenin nerede yaşadığından kaynaklanır.
| Object | Where it lives | What can open it | What a leak costs |
|---|---|---|---|
| Server wrapping key | accepting servers only | the unwrap step inside the server | every wrapped copy issued to that group becomes readable |
| Wrapped client key | inside the client profile | the server wrapping key | it names a client and exposes its metadata, but not the key inside |
| Client control key | inside the client profile, usable as-is | the client that owns it | someone can open handshakes as that client until the server refuses the key |
Tabloyu ada göre değil, saklamaya göre okuyun; sonuçlar kendiliğinden ortaya çıkar. Sarma anahtarını kaybetmek pahalı olaydır, çünkü profilde hiçbir şey onu yeniden oluşturamaz ve dürüst kurtarma grubu yeniden yayımlamaktır. Sızmış bir profil daha ucuz ama çok daha yaygındır, çünkü insanlar sarılmış kopyanın dosyayı paylaşmak için güvenli kıldığına inanarak profilleri biletlere yapıştırır. İki başarısızlık farklı yanıtlar gerektirir ve bu yüzden nesneler ayrı tutulur.
Sarılmış kopya neden tüm hikâye değil
Bir profil, kullanılabilir istemci malzemesini sarılmış eşiyle birlikte taşır, bu yüzden kopyayı sunucu için korumak dosyayı korumak hakkında hiçbir şey söylemez. Blob aktarmak için güvenli, yayımlamak için güvensizdir. İçindeki üst veriler, blobu alan herkese görünür; blobun yapıştırıldığı bileti daha sonra okuyanlara da.
Profili yapılandırma örneği değil, kimlik bilgisi olarak ele alın. Sızmış bir dosya, sunucu o kimliği kabul etmeyi bırakana kadar sahibine çalışan bir istemci kimliği verir ve sarma bu pencere hakkında hiçbir şey yapmaz. İstemci başına bir profil yayımlayın ki geri çekme tek dosyalık bir karar olarak kalsın ve sarma anahtarının yedeğini, etkinleştirdiği sunucu yapılandırmasından ayrı tutun. Bu alışkanlıkların ikisi de ele geçirilmiş bir profili onarmaz, ama ikisi de bir sonrakinin ne kadar hızlı sınırlanacağını belirler.
Doğrulama kancası el sıkışmada nerede durur
Doğrulama kancası, TLS yığını açığa çıkmadan önce çalışır ve görevi sarılmış blobda taşınan üst verileri denetlemektir. Bu üst verileri ve küçük, belgelenmiş bir ortamı alır ve kimlik doğrulama kancasından daha az malzemeyle çalışır. Kullanıcı adlarını, oturum durumunu veya eklenti değişkenlerini gördüğünü varsaymak, bu kancanın kötü yazılmasının olağan yoludur. Başka bir kancadan beklenti ödünç almak yerine kancanın kendi kılavuz bölümünü okuyun.
Çıkış durumu karardır: sıfır olmayan sonuç istemciyi reddeder, sıfır sonuç el sıkışmanın sürmesine izin verir. Bu yüzden politika, üst veriler eksik, ayrıştırılamaz veya beklenmedik olduğunda ne olacağını söylemelidir. Önce ret yolunu yazın, sonra hangi değerlerin kabul edilebilir olduğuna karar verin.
tls-crypt-v2 /etc/openvpn/server/tcv2-server.key
tls-crypt-v2-verify /etc/openvpn/server/verify-client-metadata.shBu iki satır sunucudaki politika yüzeyidir: biri sarma anahtarını adlandırır, diğeri her istemciyi yargılayan programı adlandırır. İlginç olan her şey betikte yaşar; betik sürüm denetimini ve diğer her erişim kuralı gibi aynı incelemeyi hak eder.
Hesap, sertifika ve denetim anahtarı ayrı ayrı emekliye ayrılır
Denetim kanalının erken kabulü kimlik doğrulama değildir, çünkü TLS kimlik denetiminden ve herhangi bir hesap yetkilendirmesinden önce gerçekleşir. Bir hesabı devre dışı bırakmak, bir sertifikayı iptal etmek ve bir istemci denetim anahtarını reddetmek üç mekanizmalı üç eylemdir. Bunlardan yalnızca birini yapan bir kurulum politika değil boşluk taşır. Üçünü bilerek uyumlayın ve hangi adımın hangi yetkiyi kullandığını kaydedin.
Zaman ikinci ayrımdır. Değişen kabul listesi yeni el sıkışmalar için geçerlidir, önceden kurulmuş oturumlar ise bir şey onları bitirene kadar çalışmaya devam eder. Yeni listedeki girdileri eski oturumların bittiğinin kanıtı saymak, kaldırılan bir istemcinin saatlerce bağlı kalmasının yoludur.
Uyumlanmamış yetkiler pratikte kolay bulunan iki delik bırakır. Bir hesap devre dışı bırakılmış olabilir ama denetim anahtarı hâlâ bir el sıkışma açabilir ve bir sertifika iptal edilmiş olabilir ama üst veri politikası aynı istemciyi hâlâ kabul eder. İkisi de farklı yerlerdeki aynı hatadır, çünkü bir operatör tek bir listeyi bütün yetki saymıştır. Kaldırma anında üç listeyi yan yana koyun ve hata görünür hale gelir.
Bir profilin yayımlanması ve geri çekilmesi
Yayımlama kolay yarıdır: istemci anahtarını kabul eden tarafta oluşturun, profili tam olarak tek bir sahibe verin, sarma malzemesini sınırlı tutun ve her kabul eden sunucuda aynı doğrulama programını çalıştırın. Ucuz kabul bütün grubun özelliğidir, en yeni makinenin değil. Daha eski veya daha gevşek bir betiğe sahip ikinci bir sunucu sessizce kurulumun en zayıf yolu olur.
Geri çekme, üç adımı bilinçli bir sırayla gerektirir. Yeni el sıkışmalar başarısız olsun diye doğrulama kancasında istemciyi reddedin, PKI kullanılıyorsa sertifikasını iptal edin ve sonraki yetkilendirmenin yetkilendirecek bir şeyi kalmaması için hesabı devre dışı bırakın. Ardından eski kabulün izin verdiği oturumları sonlandırın, çünkü üçünden hiçbirini fark etmeyeceklerdir. Sırayı bozmayı göze alabileceğiniz bir istemcide prova edin.
Bir profildeki üst veriler o politika için girdidir, erişim denetiminin zaten var olduğunun kanıtı değildir. OpenVPN 2.6 tasarım belgesi, nesneleri ve çizdikleri sınırı açıklar; uygulama ise operatörde kalır.