Latchwire
Türkçe

Açık kaynak · WireGuard® uyumlu

VPN anahtarın kopyalanamaz olsun.

Latchwire, WireGuard özel anahtarını YubiKey'in içinde tutar. Anahtar kartta üretilir ve karttan hiç çıkmaz. Protokol ve sunucun aynı kalır. Kart yoksa tünel de yok.

Yayın öncesi: macOS ve Linux için komut satırı

Nasıl çalışır

  1. Anahtarı YubiKey'inde üret

    Donanım yazılımı 5.7 veya üstü olan bir YubiKey ile keygen komutunu çalıştır. Anahtar kartta, kullanılmayan bir PIV yuvasında (82–95) üretilir; diğer yuvalar olduğu gibi kalır. Fabrika ayarlarındaki bir kartın önce PIN ve PUK'u değiştirilir.

  2. Açık anahtarı sunucuna ekle

    Sunucun sıradan bir WireGuard eşi görür, bu yüzden eklenti ya da güncelleme gerekmez. Latchwire; OPNsense, pfSense, Linux ve MikroTik gibi standart sunucular için tasarlandı. Şimdiye kadar uçtan uca yalnızca bir Linux container'ındaki test sunucusuyla denendi.

  3. PIN'ini gir ve bağlan

    PIN karta gider ve saklanmaz. Normalde bir kez girersin; uykudan sonra ya da başka bir program kartı sıfırladığında yeniden sorulur. Kartı çıkarınca tünel kapanır. Hedef iki saniye; simüle edilmiş kartla yapılan testte yaklaşık bir saniye sürdü.

Klasik WireGuard ve Latchwire

SoruKlasik WireGuardLatchwire
Özel anahtar nerede?Bilgisayarındaki bir dosyadaYubiKey'in içinde
Kopyalanabilir mi?Evet, iz bırakmadanHayır. Anahtar karttan alınamaz
Dizüstü, kart olmadan çalındıysa?Anahtarı her sunucuda değiştirmen gerekirDiskteki hiçbir şey el sıkışmayı tamamlayamaz
Bilgisayarında zararlı yazılım varsa?Anahtarı çalıp sonra kullanabilirKart takılıyken tüneli kullanabilir ama anahtarı alıp götüremez
YedekDosyanın bir kopyasıİkinci bir YubiKey; sunucuya ikinci eş olarak eklenir
Sunucu tarafıStandart WireGuardAynısı: standart WireGuard
OlgunlukYerleşik, resmî istemcileri varYayın öncesi

Donanım

Aşağıdakilerden bugün kodda yalnızca ilk kart var. Etiketler her birinin ne olduğunu söyler.

YubiKey 5

v1

X25519 destekli PIV, donanım yazılımı 5.7 veya üstü. Anahtar kartta üretilir ve karttan hiç çıkmaz. Testler şimdilik simüle edilmiş kartlarla yapıldı; gerçek kart kontrolleri henüz tamamlanmadı.

OpenPGP kartları

Yakında

v1'den hemen sonrası için planlandı. Uygulanmadı.

PKCS#11 ve HSM'ler

Yakında

v1'den hemen sonrası için, X25519 destekli cihazlara yönelik planlandı. Uygulanmadı.

TPM, Secure Enclave, FIDO2

Yol haritası

Daha zayıf sınıf, v1'de yok. Anahtar donanımla şifrelenir ama kullanımda belleğe açılır; bu yüzden bunlar hiçbir zaman "anahtar kopyalanamaz" iddiasını taşımaz.

Güvenlik

İddia anahtarın alınmasıyla ilgilidir, kullanılmasıyla değil. Neyi kapsadığı ve neyi kapsamadığı aşağıda.

Şunlara karşı korur

  • Anahtarın diskinden veya yedeklerden kopyalanması: oraya hiçbir özel anahtar yazılmaz
  • Kart olmadan çalınan ya da imajı alınan dizüstü
  • Özel anahtar içeren yapılandırma dosyaları: Latchwire bunları reddeder
  • Kartta üretilmemiş anahtarlar: Latchwire bunları kabul etmez
  • Kill switch açıkken trafiğin tünel dışına çıkması (tehdit modelindeki sınırlarla)

Şunlara karşı korumaz

  • Kart takılı ve PIN girilmişken senin hesabınla çalışan zararlı yazılım: kartı ve tüneli kullanabilir. Dokunma gerekmez
  • PIN girildikten sonra karta erişebilen başka programlar; bazı sistemlerde buna diğer yerel kullanıcılar da dahildir
  • Ele geçirilmiş bir root hesabı veya çekirdek
  • Kart ve PIN ile birlikte çalınan bir dizüstü
  • Süreç belleğinin okunması: oturum anahtarları ve önbelleğe alınmış bir sır orada durur, swap'a da düşebilir. Bunlar özel anahtar değildir ve kart olmadan el sıkışmayı tamamlayamaz
  • Sahte donanım: Latchwire kartın bildirdiğine güvenir, attestation henüz doğrulamaz

Bilmekte fayda var

  • PIN hiçbir zaman saklanmaz ama yazarken bellekten geçer.
  • Varsayılan PIN asla denenmez.
  • Kullanıyorsan preshared key diskte durur ve donanımla korunmaz.
  • Tehdit modeli her korumanın arkasındaki kodu gösterir. İkisi çelişirse doğru olan koddur, belgede hata vardır.

Proje durumu

Latchwire yayın öncesi bir yazılımdır. Bugün neyin var olduğu ve neyin kontrol edildiği burada.

  • Linux komut satırı ve ağ

    Ayrıcalıklı bir container'da, yazılım anahtarı ve test sunucusuyla uçtan uca test edildi.

    Test edildi
  • macOS komut satırı ve ağ

    Uygulandı. Elle yapılacak kontroller henüz tamamlanmadı.

    Doğrulanmadı
  • Gerçek YubiKey davranışı

    Otomatik testler simüle edilmiş kart kullanır. Gerçek kart kontrolleri henüz tamamlanmadı.

    Doğrulanmadı
  • Windows

    Uygulanmadı. Windows derlemesi henüz çalışmıyor.

    Hazır değil
  • Masaüstü uygulaması

    Geliştiriliyor. Bugün yalnızca komut satırı var.

    Hazır değil
  • İmzalı sürümler ve paketler

    Yayınlanmış sürüm yok. Kaynaktan derlersin.

    Henüz yok
  • Bağımsız güvenlik incelemesi

    Bağımsız bir inceleme yapılmadı.

    Henüz yok

Kurulum

Kaynaktan derle. Henüz paket veya imzalı ikili dosya yok; bu kurulum test içindir.

Go 1.25 veya üstü ve donanım yazılımı 5.7 veya üstü bir YubiKey 5 gerekir. Linux'ta derlemek için ayrıca bir C derleyicisi ve libpcsclite-dev, çalıştırmak için de pcscd gerekir.

Derle

git clone https://github.com/Kodviva/latchwire
cd latchwire
go build -o latchwire ./cmd/latchwire
sudo install -o root -m 0755 latchwire /usr/local/bin/latchwire

Daemon'ı ve ajanı her biri kendi terminalinde başlat

sudo latchwire daemon
latchwire agent

Anahtar üret ve bağlan

latchwire devices
latchwire keygen --serial <serial> --address <tunnel-ip>
sudo latchwire add office office.conf
latchwire up office

keygen, sunucun için bir [Peer] bloğu yazdırır. Tünel dosyan normal bir WireGuard dosyasıdır; PrivateKey yerine KeyRef ve PublicKey içerir.

Homebrew, .deb, .rpm ve Microsoft Store paketleri planlanıyor. Hiçbiri henüz yok.

Yol haritası

  1. ÇekirdekUygulandı

    macOS ve Linux için komut satırı istemcisi

  2. Tam ağ özellikleriUygulandı

    Tam tünel, DNS, kill switch, on-demand ve izinli kullanıcılar. Linux'ta test edildi; macOS kontrol edilecek

  3. Gerçek donanım kontrolleriAçık

    Herkese açık kontrol listesiyle gerçek YubiKey'ler ve macOS ağı

  4. WindowsSürüyor

    Servis, ağ katmanı ve kill switch

  5. Masaüstü uygulaması ve çevirilerSürüyor

    macOS, Windows ve Linux için masaüstü uygulaması

  6. İmzalı sürümlerPlanlandı

    Homebrew, doğrudan indirme, .deb, .rpm, Microsoft Store