Şifrelenmiş bir VPN paketi neden sandığınızdan daha az maliyetli olabilir
Bir kriptografik etiket daha, bir iş birimi daha değildir. Tüm yolu karşılaştırın: AEAD yapısı, CPU desteği, tamponlama ve anlaşılan veri modu.
İki profil aynı ağ geçidinde ölçülür, biri şifreleme ile diğeri olmadan, ve şifrelenmiş olan daha yavaş değildir. Bazen daha hızlıdır, bu da genellikle testin doğru yapılıp yapılmadığına dair uzun bir tartışma başlatır. Sonuç makuldür, çünkü bir paketin maliyeti yapılandırmadaki kriptografik kelime sayısı değildir. Bu, uygulamanın gerçekleştirdiği işlemler kümesidir; sahip olduğu donanımda ve seçtiği tampon düzeni üzerinde.
Belirti: yavaş olan şifrelenmiş profil değil
Diyelim ki tarihsel bir test, AEAD şifreleyicisini her paket için ayrı bir kimlik doğrulama kodu hesaplamaya devam eden „şifrelemesiz“ bir modla karşılaştırıyor. İkinci profil yükün içeriğini gizler ama paket başına bir karmayı korur ve o karma için hızlandırması olmayan bir işlemcide, yenmesi gereken bütünleşik yapıdan daha pahalıya gelebilir.
Yapılandırmadaki etiket „şifreleme“ der ve çoğu karşılaştırmanın baktığı tek şey etikettir. Paket yolu başka bir şey söyler: bir profil, işlemcinin talimatları olduğu birleşik bir işlem yapar, diğeri ise talimatları olmadığı ayrı bir işlem yapar. Yalnızca yapılandırma dosyasını okumak o farkı asla ortaya çıkarmaz, çünkü iki girdi de tek bir satır gibi görünür. Sonucu yalnızca anlaşılan mod ve arkasındaki kod yolu açıklar.
Bütün açıklama budur ve hangi ilkel öğenin evrensel olarak daha hızlı olduğuna dair hiçbir iddia gerektirmez. İkisi de hızlı olabilir, ikisi de yavaş olabilir ve sıra makineye ve koda bağlıdır.
Etiketleri değil işlemleri sayın
AEAD yapısı, RFC 5116'nın tanımladığı gibi, uygulamaya şifreli metni ve etiketi birlikte döndüren tek bir arayüz verir. AES-GCM bir örnektir: sayıcı modunda şifreleme, bir Galois doğrulayıcısıyla birleştirilmiş. Arayüz bütünlüğü bedava yapmaz; birleşimi iyi tanımlı hale getirir ve bu, bir uygulamanın çifti tek bir birim olarak optimize etmesini sağlar.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
Bunlar işleme eskizleridir, yapılandırma tavsiyesi değil. Birincisinde gizlilik yoktur ama yine de kimlik doğrulamaya CPU harcar, ve tam da bu yüzden „şifrelemeyi kapat“ „kriptografik işi kapat“ ile eş anlamlı değildir.
İkincisi daha ucuz olabilir çünkü işlemciler iki yarı için de talimat sağlar: AES turları ve Galois alanının kullandığı taşımasız çarpma. Kitaplıklar ayrıca bağımsız tamponları paralel işler, bu da o talimatları belleği beklemek yerine meşgul tutar.
Anlaşılan mod gerçekte neyi mümkün kılar
Community OpenVPN ile bir AEAD veri şifreleyicisi, auth seçeneğinin artık kendi ayrı veri kanalı HMAC'ini katkı olarak vermediği anlamına gelir. Şifreleme seçeneği başvurusu bu kapsamı açıklar ve bir metin dosyasında benzer görünen iki yapılandırmanın paket başına işte farklılaşmasının nedeni budur.
Dilek listesini değil anlaşılan modu okuyun. İzin verilen şifreleyici listesi ve bir TLS paketi adı, yük üzerinde hangi işlemlerin çalıştığını söylemez ve eski bir cipher satırı mevcut bağlantının ne seçtiğini tanımlamayabilir.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
İlk komut, ikili dosyanın desteklediği şifreleyicileri listeler; bu bir yetenek listesidir, anlaşılan sonuç değil. İkincisi sunucunun gerçekte ne istediğini gösterir. Son seçimi doğrulama yeri bağlantı günlüğüdür, çünkü bir istemci sunucunun izin verdiği ama kimsenin amaçlamadığı bir şeye geri düşebilir.
Gerçekte çalıştırdığınız iş yükünü ölçün
Bir kriptografik mikro kıyas, bir ilkel öğeyi kendi koşullarında ölçer. Bir VPN aktarımı ayrıca tamponları kopyalar, iş parçacıklarını veya kesmeleri zamanlar, ilkeyi denetler ve ağı geçer. Bu parçalar çoğu zaman baskındır, bu yüzden daha hızlı bir ilkel öğe her zaman daha hızlı bir tünel üretmez.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
Bu iki komut, önünüzdeki makinede ilkel öğelerin kaba yerel karşılaştırmasını verir ve bunların mikro kıyas oldukları konusunda dürüsttür. Tünelinizin verimine dair hiçbir şey söylemezler ve asla öyle alıntılanmamalıdırlar.
Ardından önemli olan iş yükünü ölçün, diğer her şeyi sabit tutarak: aynı uç nokta, aynı paket boyutları, aynı taşıma, aynı sıkıştırma ilkesi. Profil değişikliği taşımayı veya işleme konumunu da değiştirdiyse, sonuç kriptografiyi değil o demeti tanımlar.
Hedefi de göz önünde tutun. Yedek kriptografik kapasitesi olan bir veri yolu yine de gecikmeye bağlı olabilir, çünkü uygulama gidiş-dönüşleri bekler, ve toplu kapasite kazançları konuşkan bir protokolü düzeltmez. Desteklenen ve ilke tarafından onaylanan yapılandırmayı bir bütün olarak ölçün ve „daha az kutu daha hızlı olmalı“ ifadesini olduğu gibi bir hipotez olarak ele alın. Yararlı soru, şifrelemenin bir maliyeti olup olmadığı değil, bu maliyetin gerçekten önemsediğiniz ölçümde görünüp görünmediğidir.