Cihaz başına bir sertifika, anahtarı cihaza bağlı yapmaz
Cihaz başına sertifika bir yönetici tercihidir, cihaz bağlama değildir. Bağlamayı belirleyen, özel anahtarın nerede durduğudur: kopyalanabilir bir dosyadan TPM'ye kadar.
Her dizüstü için ayrı bir sertifika düzenliyorsunuz, bu yüzden VPN'in onları ayırt edebileceğini varsayıyorsunuz. Edemez. İstemci sertifikası, bağlanan kişinin eşleşen özel anahtarı taşıdığını kanıtlar ve kopyalanmış bir profil de onu taşır.
Cihaz başına sertifika yine de iyi bir fikirdir. Yalnızca çoğu kişinin beklediğinden farklı bir iş yapar.
İstemci sertifikası aslında neyi kanıtlar
El sıkışma sırasında istemci, sertifikasına uyan özel anahtarla imzalar ve sunucu bu imzayı güvendiği CA'ya karşı doğrular. Bu alışverişte hiçbir şey makineyi tanımlamaz. Hem sertifikayı hem anahtarı taşıyan her cihaz aynı imzayı üretir, bu yüzden ikinci bir dizüstüne kopyalanan profil tam olarak orijinal gibi görünür. Sertifika bir kimliği adlandırır; donanımı adlandırmaz.
Cihaz başına benzersizlik hâlâ karşılığını verir, çünkü iptali kesin hâle getirir. Bu yönetimsel bir özelliktir, teknik bir kilit değil.
Üç düzey anahtar saklama
Birinci düzey, diskteki bir anahtar dosyasıdır. Tasarımı gereği taşınabilirdir ve OpenVPN profillerinin çoğu orada yaşar.
İkinci düzey, işletim sisteminin dışa aktarılamaz olarak işaretlediği bir anahtardır. Windows kendi sertifika deposunda bir cihaz anahtarı üretip normal dışa aktarmayı reddedebilir, bu da gelişigüzel kopyalamayı durdurur. Donanım destekli değildir ve makineye yeterli erişimle bu tür anahtarlar geri kurtarılabilir, bu yüzden duvar örmek yerine zahmeti artırır.
Üçüncü düzey, güvenlik donanımının içinde üretilen bir anahtardır: bir TPM, bir akıllı kart, bir SIM veya bir PIV belirteci. Bu modüllerde ürettikleri anahtarı dışa aktaracak devre yoktur ve imzalama modülün içinde gerçekleşir. Anahtar hiçbir zaman kimsenin kopyalayabileceği bir dosya olmaz.
| Where the key lives | Copyable | What it buys you |
|---|---|---|
| Key file inside the profile | Trivially | Revocation granularity, nothing more |
| OS non-exportable key store | Hard, not impossible | Stops casual profile sharing |
| TPM or PIV token | No | Binding the server can rely on |
O tablo, bütün argümanı üç satırda anlatır.
easy-rsa ne yapabilir, ne yapamaz
Cihaz başına sertifika düzenlemek dosdoğrudur. Aynı CA'ya karşı her cihaz için ayrı bir ortak ad oluşturun, örneğin ./easyrsa build-client-full laptop-a nopass, ve her cihaz için tekrarlayın. Hangi ortak adın hangi kişiye ve makineye ait olduğunu kaydedin.
İptal de aynı ölçüde doğrudandır: ./easyrsa revoke laptop-a, CRL'yi ./easyrsa gen-crl ile yeniden üretin ve sunucunun onu gerçekten crl-verify üzerinden okuduğundan emin olun.
CA'nın yapamadığı şey, özel anahtarın sonrasında nerede durduğunu doğrulamaktır. Anahtarı CA makinesinde üretip cihaza kopyalarsanız, düzenleme anında ikinci bir kopya oluşturmuş olursunuz. Dışa aktarılamaz bir anahtar cihazda üretilmeli ya da onu bırakmayacak donanıma aktarılmalıdır.
Kopyalanmış bir profili atlatan kontroller
Profilin kopyalanabileceğini varsayın ve tasarımı buna göre yapın. Hesabı ikinci bir faktöre bağlayın ki sertifika tek başına yeterli olmasın. Her cihaza kendi ilkesini verin ki bir kimliğin erişimi sınırlı kalsın. Ve aynı ortak adın aynı anda iki adresten bağlandığını izleyin; paylaşılan bir profil bağlantı kaydında böyle görünür.
Hızlı ve belgelenmiş iptal, kopya gerçekleştikten sonra da işleyen kontroldür. Geri kalan her şey önlemedir.
Sunucunun gerçekten güvenebileceği iddia
Benzersizlik CA'dan gelir. Cihaz bağlama anahtar saklamadan gelir. Yalnızca anahtarını dışa aktaramayan donanım, cihaz başına bir sertifikayı herkesin uymayı kabul ettiği bir ilke yerine sunucunun uyguladığı bir beyana dönüştürür.