Yazı 12 / 123 dk okuma

Küçük ve native: C++, JavaScript çalışma ortamı yok; iş istasyonunda da Raspberry Pi'da da

Bir cüzdan bir güvenlik programıdır. Denetlenebilecek kadar küçük, varlığını unutturacak kadar hızlı olmalı ve kendisine ait olmayan hareketli parçalar içermemelidir.

Bir monitörün, bir dizüstü bilgisayarın ve tek kartlı bir bilgisayarın üzerinde bir C++ çipi
Her platform için tek bir native ikili dosya.
İçindekiler

C++ ve Qt

AirNox Wallet, C++ ile ve Qt araç setiyle yazılmıştır. Kriptografi, zincir kodu, işlem oluşturucular ve denetim tek bir native çekirdekte yaşar ve her platform için derlenir. Arayüz de native'dir. Cüzdanı çizen gömülü bir tarayıcı da, onu çalıştıran bir betik motoru da yoktur.

Bunun hissedebileceğiniz üç sonucu var. Cüzdan bir anda açılır. Boştayken sessizce bekler; kapladığı yer, makineyi diğer işlerine bırakacak kadar küçüktür. Ve altında kendini güncelleyen, paket yükleyen ya da bir yerden indirdiği kodu çalıştıran bir çalışma ortamı yoktur.

İçinde olmayanlar

JavaScript çalışma ortamı yok. Cüzdanların ele geçirilmesinin büyük bir kısmı paket ekosistemleri ve betik enjeksiyonu üzerinden gerçekleşir. Betik motoru olmayan bir cüzdan bunların hedefi olamaz.

Web görünümü (web view) yok. Arayüzü bir tarayıcı bileşeni değil, araç seti çizer. Kod enjekte edilecek bir sayfa yoktur.

Telemetri yok, analitik yok, izleyici yok. Cüzdan, blokzincir node'larıyla ve kullanmayı seçtiğiniz takas ve köprü sağlayıcılarıyla konuşur. Bizimle konuşmaz. Hiçbir bileşen bize rapor göndermez ve oluşturulacak bir hesap yoktur.

Windows, Linux, macOS ve Raspberry Pi için dört platform kutusu ve üzeri çizilmiş üç öğe: JavaScript çalışma ortamı yok, web görünümü yok, telemetri yok
Nerede çalıştığı ve neleri dışarıda bıraktığı.

Platformlar

Masaüstü uygulaması Windows, Linux ve macOS üzerinde, her biri için native bir derlemeyle çalışır. Aynı kod Raspberry Pi sınıfı donanımda da çalışır; bu da AirNox'u gömülü kurulumlar için uygun kılar: bir döviz bürosu terminali, bir kiosk, bir arka ofis imzalama istasyonu. Ekranlı küçük bir kart, bir USB NFC okuyucu ve cüzdan; anahtarları okuyucuya dokunan bir telefonda duran, air gap'e hazır, eksiksiz bir işlem noktasıdır.

Tek imzalama çekirdeği

Telefon uygulaması ve masaüstü aynı çekirdeği paylaşır. Anahtarları türeten, bir işlemi oluşturan ve ekran için çözen kod, her biri için ayrı derlenmiş olsa da iki cihazda da aynı koddur. Her zincir için denetlenecek tek bir kod vardır, birbiriyle uyuşması gereken iki ayrı kod değil; bir taraftaki düzeltme iki tarafı da düzeltir.

Neden önemli

Küçük ve native olmak bir üslup tercihi değildir. Her bağımlılık, başkasının hatasının sizin hatanız olduğu bir yerdir; her çalışma ortamı da bir saldırı yüzeyidir. Kesinlikle gerekli olmayan bir ağ çağrısı ise mutlaka bir şeyi sızdırır. Yalnızca sizin gösterdiğiniz node'larla konuşan, tek bir native programdan ibaret bir cüzdan, üzerine akıl yürütebileceğiniz bir cüzdandır. Telefondaki imzalayıcıdan (signer) masanızdaki pencereye kadar bütün ürünü tuttuğumuz standart budur.

Serinin tamamı

  1. Bilgisayarın ele geçirildiğini varsayın
  2. Mass Adoption Security: imzalayıcı, zaten sahip olduğunuz bir telefon
  3. Air gap'in üzerinden üç yol: QR kodları, Bluetooth LE ve NFC
  4. Radyo dalgalarında görünmez: kimsenin tarayarak bulamayacağı bir imzalayıcı
  5. Aktarım kanalına asla güvenilmez
  6. Telefonun size gösterdikleri: imzalayıcıda işlem analizi
  7. Telefon kendi kaydını tutar
  8. Masaüstünüzdeki kasa: Argon2id ve tahmine direnen bir profil
  9. Tarayıcı cüzdanı olmadan dApp'ler
  10. Kuralları olan bir MCP sunucusu: sınırlar içinde yapay zekâ ajanları
  11. Her şey için tek korumalı cüzdan
  12. Küçük ve native: C++, JavaScript çalışma ortamı yok; iş istasyonunda da Raspberry Pi'da da

Bekleme listesine katılın

E-posta adresinizi bırakın, size sürüm haberlerini gönderelim. Başka hiçbir şey göndermeyiz.