ESP32'de WireGuard anahtarları: her cihaza ayrı mı, tek gömülü anahtar mı?
ESP32 ürün yazılımına derlenen anahtar bir eş kimliğidir, parola değil. Üç koşulla karar verin: fiziksel sahiplik, flash koruması ve filo genelinde yeniden kullanım.
Taslak, WireGuard özel anahtarını bir karakter dizisine koyuyor ve tünel çalışıyor; soru bu yüzden tekrar tekrar gündeme geliyor. Gerçekten vermeniz gereken karar «bu güvenli mi» değil, «üç koşuldan hangisi bu kurulum için geçerli». Koşullar şunlar: cihazı fiziksel olarak kim tutabilir, sizin parçanızda flash okumak ne verir ve filo tek bir anahtarı mı paylaşıyor yoksa her biri kendi anahtarını mı taşıyor. Bunları yanıtlayın ve tasarım kendiliğinden gelir, çünkü her koşul sızmış bir anahtarın maliyetini değiştirir, anahtarın sızabilmesi gerçeğini değil.
Anahtar neyi yetkilendirir
WireGuard eşleri açık anahtarla doğrular. Sunucu her eşin açık anahtarını bir adrese ve bir AllowedIPs listesine eşler, bu yüzden istemcinin o adresten trafik göndermesini sağlayan özel anahtardır.
Aynı kayıt cihazın hangi hedeflere ulaşabileceğini belirler, bu yüzden sızmış bir anahtar tünelin arkasındaki ağı ve tünel adresini açığa çıkarır.
Birinci koşul: cihazı kim tutabilir
Ünite kilitli bir dolapta duruyorsa ve ekibiniz dışında kimse ona dokunmuyorsa, maruz kalma çoğunlukla bir ürün yazılımı dağıtımı sorunudur. Müşterilere gönderiliyorsa, bir araçta duruyorsa ya da garanti kapsamında geri geliyorsa, fiziksel sahiplik kimlik bilgisidir ve ikili dosyanın gizliliği ikincildir. Cihazı elinde tutan kişinin anahtarı okuması gerekmez, çünkü çalışan ürün yazılımı onun için tüneli açacaktır. Bu yüzden sunucu tarafındaki yanıt yalnızca korunmuş bir imajı değil, iptali ve sınırlı bir ömrü de içermelidir.
Bu koşulu diğer ikisinden önce kararlaştırın, çünkü ikisinin bütçesini o belirler.
İkinci koşul: flash okumak ne verir
Flash imajını okuyabilen herkes, literal olarak saklanan anahtarı geri çıkarır; ister hata ayıklama bağlantısı, ister güncelleme dosyası, ister yedek ya da iade edilmiş ünite üzerinden olsun. Flash şifrelemesi doğrudan dökümün maliyetini artırır ve ESP-IDF belgeleri özelliğin belirli bir parça ve yapılandırma için neyi kapsadığını açıklar. Anahtarı her saldırı modelinde çıkarılamaz yapmaz ve cihazın elde olduğu durum için hiçbir şey yapmaz. Onu maliyeti değiştiren bir katman olarak görün, yanıt olarak değil.
Tasarım incelemesinde bir özellik iddia etmeden önce tam çipiniz ve yapılandırmanız için platform belgelerini okuyun.
Üçüncü koşul: filo genelinde yeniden kullanım
Bir üretim partisi için tek anahtar, her ünitenin tek bir kimliği paylaşması demektir. Sunucu onları günlüklerde ayırt edemez, hepsini iptal etmeden birini iptal edemez, ve bir kopyayı orijinalden ayırt edemez. Cihaz başına anahtarlar üçünü de çözer; bedeli bir kayıt adımı ve seri numarasından açık anahtara bir eşlemedir. O eşleme, iptali tüm filoyu yeniden flaşlamak yerine tek satırlık bir değişikliğe dönüştüren varlıktır.
Filo bir tezgahta beş üniteyse, anahtar paylaşmak makul bir takas olabilir. Sahada beş yüz ise, bu hiç de takas değildir.
Cihaz başına anahtarları pratik kılan kayıt deseni
Anahtar çiftini ilk açılışta cihazda üretin, özel yarıyı korumalı kalıcı olmayan bellekte tutun ve yalnızca açık anahtarı adres atayan ve eş kaydını yazan bir kayıt hizmetine gönderin. Kayıt yanıtını doğrulayın, yoksa yerel ağdaki bir saldırgan kendi anahtarını hesabınıza kaydedebilir. Sağlama sırasında özel anahtarı asla seri konsola yazdırmayın. Cihazın seri numarasını açık anahtarın yanına kaydedin, böylece kaybolan bir ünite tam olarak bir eş kaydına karşılık gelsin.
Bu küçük bir hizmettir ve denetleyebildiğiniz bir filo ile yalnızca yeniden flaşlayabildiğiniz bir filo arasındaki fark budur.
Zaman, uç noktalar ve karar
Örnek, tüneli başlatmadan önce saati eşitler ve bunun TLS ötesinde de önemi vardır: WireGuard el sıkışmaları yeniden oynatma koruması için zaman damgası taşır, bu yüzden yanlış saatle açılan bir cihazın el sıkışmaları reddedilebilir. Uç nokta bir ana bilgisayar adıdır; bu, sunucunun açık anahtarı eşi hâlâ doğrulasa da DNS'i güven yoluna sokar. Yanlış adres denemeleri boşa harcar ve cihazın ne zaman çevrimiçi olduğunu açığa çıkarır. Anahtar tartışmasından önce ikisini de çözün.
Sonra karar verin: paylaşılan anahtar yalnızca sahiplik denetim altında ve filo küçükken, cihaz başına anahtarlar ise bu ikisinden biri artık geçerli olmadığı anda.