Ana içeriğe geç

Çevrimdışı Anahtar Üretimi: Air-Gapped Güvenlik Rehberi

Kripto para anahtarlarını internete bağlı bir bilgisayarda üretmek; kötü amaçlı yazılım, keylogger, ekran yakalama, pano ele geçirme ve uzaktan veri sızdırma risklerine açık hale getirir. Uzun vadeli cold storage için tasarlanan yüksek değerli cüzdanlarda altın standart, air-gapped çevrimdışı üretimdir: anahtarların, hiçbir zaman herhangi bir ağa bağlanmamış ve bağlanmayacak bir cihazda oluşturulması.

Bu rehber; donanım seçimi, işletim sistemi kurulumu, anahtar üretimi, doğrulama ve güvenli temizliği kapsayan kapsamlı, adım adım bir süreç sunar.

Air-Gapped Üretim Neden Önemlidir?

Tehdit Modeli

Günlük kullandığınız bir bilgisayarda seed phrase veya private key ürettiğinizde, anahtar materyali şuralarda bulunur:

  • RAM — Sistemde çalışan herhangi bir süreç tarafından erişilebilir.
  • Disk — İşletim sisteminin sanal bellek sistemi tarafından diske taşınabilir.
  • Clipboard — Kopyala-yapıştır yapılırsa tüm uygulamalar tarafından erişilebilir.
  • Network — Makine bağlıysa, kötü amaçlı yazılım anahtarları anında dışarı aktarabilir.
  • Display — Ekran yakalama zararlıları veya omuz üstünden gözetleme.
  • Keyboard — Keylogger’lar (yazılım veya donanım) tüm girdileri kaydeder.

Air-gapped bir bilgisayar ağ vektörünü tamamen ortadan kaldırır. Doğru operasyonel güvenlikle birleştiğinde diğer vektörleri de ciddi ölçüde azaltır veya ortadan kaldırır.

Air-Gapped Üretime Kimlerin İhtiyacı Var?

  • Kaybetmeyi göze alabileceğinden fazlasını saklayan herkes.
  • Uzun vadeli "deep cold" saklama (yıllar veya on yıllar).
  • Kurumsal saklama ve hazine yönetimi.
  • Elde edilebilir en yüksek güvenlik standardını isteyen herkes.

Küçük bakiyeli günlük harcama cüzdanları için, air-gapped prosedürlerin karmaşıklığı olmadan bir donanım cüzdanı yeterli güvenlik sağlar.

Donanım Seçimi

Seçenek 1: Ayrılmış Dizüstü Bilgisayar (Önerilen)

Yalnızca anahtar üretimi için kullanılacak ve internete asla bağlanmayacak yeni veya fabrika ayarlarına döndürülmüş bir dizüstü bilgisayar alın:

  • Tüm ağ donanımını çıkarın veya devre dışı bırakın. Mümkünse Wi-Fi kartını ve Bluetooth modülünü fiziksel olarak çıkarın. En azından BIOS/UEFI firmware’de devre dışı bırakın.
  • Kamera ve mikrofonu devre dışı bırakın. Fiziksel olarak çıkarın veya kapatın/bağlantısını kesin.
  • Hücresel modem olmayan bir dizüstü bilgisayar kullanın.
  • Bütçe seçenekleri: Kullanılmış ThinkPad (X230, T440) — ucuz, Linux tarafından iyi desteklenir, fiziksel modifikasyon kolaydır.

Seçenek 2: Raspberry Pi

Raspberry Pi (Model 3B+ veya 4), düşük maliyetli tek kart bilgisayardır; kablosuz modülü olmayan Pi Zero kullanırsanız veya ağı devre dışı bırakırsanız Wi-Fi olmadan kullanılabilir:

  • microSD karttan başlatılır.
  • SD kart dışında kalıcı depolama yoktur (sonrasında kartı imha edeceksiniz).
  • Doğru modelle kablosuz donanım yoktur.
  • Daha düşük maliyet ($35–$75, aksesuarlar dahil).

Seçenek 3: Mevcut Donanımda Live USB

Mevcut bir bilgisayarda tüm ağ özellikleri kapalıyken özel bir Linux live USB başlatın:

  • Live ortam tamamen RAM’de çalışır.
  • İç diske veri yazılmaz (doğru yapılandırılırsa).
  • Kapatma sonrası RAM temizlenir.
  • Risk: Mevcut bilgisayarda işletim sistemi açılışları arasında kalıcı olabilen donanım seviyesi zafiyetler (firmware rootkit, donanım keylogger) olabilir. Ayrılmış bir cihaz bu riski ortadan kaldırır.

İşletim Sistemi Kurulumu

Tails OS (Önerilen)

Tails, iz bırakmamak için tasarlanmış gizlilik odaklı bir Linux dağıtımıdır:

  • USB’den başlar ve tamamen RAM’de çalışır.
  • Varsayılan olarak tüm ağ trafiği Tor üzerinden yönlendirilir; ancak air-gapped kullanımda ağı hiç etkinleştirmeyeceksiniz.
  • Amnezik kullanım için tasarlanmıştır: açıkça yapılandırılmadıkça kalıcı durum yoktur.
  • Yaygın araçları içerir ve anahtar üretim scriptleri için Python çalıştırabilir.

Kurulum adımları:

  1. Tails ISO’yu normal bilgisayarınıza indirin.
  2. ISO imzasını Tails imzalama anahtarıyla doğrulayın.
  3. ISO’yu Tails Installer, Etcher veya dd ile USB belleğe yazın.
  4. Air-gapped bilgisayarı USB’den başlatın.
  5. Tails Greeter ekranında herhangi bir ağ bağlantısı yapılandırmayın.
  6. Hiçbir ağ arayüzünün aktif olmadığını doğrulayın: ip link show çıktısında tüm arayüzler DOWN olmalıdır.

Ubuntu Live USB (Alternatif)

Tails uygun değilse:

  1. Ubuntu ISO’yu indirin ve checksum doğrulaması yapın.
  2. USB’ye yazın.
  3. BIOS’ta ağ kapalıyken başlatın.
  4. Ubuntu kurulum ekranında "Try Ubuntu" seçin (kurulum yapmayın).
  5. Ağ bağlantısı olmadığını doğrulayın.

Air-Gap Bütünlüğünü Doğrulama

Başlatmadan sonra air gap’i doğrulayın:

# Check that no network interfaces are UP
ip link show

# Verify no IP addresses assigned
ip addr show

# Attempt to reach the internet (should fail)
ping -c 1 8.8.8.8

# Check for Wi-Fi and Bluetooth
rfkill list all

Tüm ağ arayüzleri DOWN olmalı, hiçbir IP adresi atanmış olmamalı ve ping başarısız olmalıdır. Herhangi bir test bağlantı olduğunu gösteriyorsa, devam etmeden önce durun ve sorunu giderin.

Anahtar Üretim Süreci

Yöntem 1: SafeSeed Araçlarını Çevrimdışı Kullanma

SafeSeed araçları, internet bağlantısı olmadan tarayıcıda çalışabilen istemci tarafı web uygulamalarıdır.

SafeSeed Aracı

SafeSeed Seed Phrase Generator ve Paper Wallet Creator çevrimdışı kullanım için kaydedilebilir. Çevrimdışına geçmeden önce web sayfasının tamamını kaydedin (Ctrl+S / Cmd+S), USB ile air-gapped bilgisayara aktarın ve tarayıcıda açın. Tüm kriptografik işlemler JavaScript ile yerelde çalışır — sunucu iletişimi gerekmez.

Adımlar:

  1. Normal (çevrimiçi) bilgisayarınızda SafeSeed aracına gidin.
  2. Web sayfasının tamamını USB belleğe kaydedin.
  3. Dosya bütünlüğünü doğrulayın (mümkünse checksum karşılaştırın).
  4. USB belleği air-gapped bilgisayara aktarın.
  5. Kaydedilen HTML dosyasını tarayıcıda açın.
  6. Seed phrase’inizi üretin.
  7. Kağıda yazın (air-gapped makinede dijital olarak kaydetmeyin).
  8. Seed phrase’i tekrar girip aynı adreslerin üretildiğini doğrulayın.

Yöntem 2: Ian Coleman BIP-39 Aracını Kullanma

Ian Coleman BIP-39 aracı, çevrimdışı anahtar üretiminde yaygın kullanılan açık kaynaklı, bağımsız bir HTML sayfasıdır:

  1. En güncel sürümü çevrimiçi bilgisayarınızda GitHub’dan indirin.
  2. PGP imzasını doğrulayın.
  3. USB ile air-gapped bilgisayara aktarın.
  4. Tarayıcıda bip39-standalone.html dosyasını açın.
  5. Bir mnemonic üretin veya girin.
  6. Coin ve türetim yolunu seçin.
  7. Seed phrase ve adresleri kaydedin.

Yöntem 3: Zar Tabanlı Entropi

Tüm yazılım RNG’lerine maksimum güvensizlik için, entropiyi zarla manuel üretin:

  1. Casino kalitesinde zar kullanın (keskin kenarlı hassas zar, yuvarlatılmış tüketici zarı değil).
  2. 256 bit entropi için tek zarı 99 kez atın (her atış ~2.585 bit sağlar; 99 atış ~255.9 bit sağlar).
  3. Zar sonuçlarını ikili dizeye dönüştürün.
  4. İkili entropiyi mnemonic’e dönüştürmek için BIP-39 aracını (çevrimdışı) kullanın.
  5. Ya da 128 bit entropi (12 kelimelik ifade) için zarı 50 kez atın.

Zar dönüştürme yöntemleri:

  • Base-6 yöntemi: Her zar atışını (1-6) kaydedin, diziyi ikiliye dönüştürün.
  • İkili zar yöntemi: 256 kez madeni para atın (yazı=1, tura=0).
  • Zardan ikiliye: Zar atın; 1-3 gelirse 0, 4-6 gelirse 1 kaydedin. 256 kez tekrarlayın.

Üçüncü yöntem en fazla entropi kaybına yol açar ama en basitidir. Entropi kalitesinin ayrıntılı değerlendirmesi için Entropy and Randomness guide rehberimize bakın.

Yöntem 4: Komut Satırı (Python)

Komut satırına hakim kullanıcılar için, minimal bir Python scripti BIP-39 mnemonic üretebilir:

import hashlib
import os

# BIP-39 word list must be loaded from a file
with open('english.txt', 'r') as f:
wordlist = [w.strip() for w in f.readlines()]

# Generate 256 bits of entropy
entropy = os.urandom(32) # Uses OS CSPRNG

# Compute checksum
h = hashlib.sha256(entropy).digest()
checksum_bits = bin(h[0])[2:].zfill(8) # First 8 bits for 256-bit entropy

# Convert entropy to binary string
entropy_bits = bin(int.from_bytes(entropy, 'big'))[2:].zfill(256)
all_bits = entropy_bits + checksum_bits

# Split into 11-bit groups and map to words
words = []
for i in range(0, len(all_bits), 11):
index = int(all_bits[i:i+11], 2)
words.append(wordlist[index])

print(' '.join(words))

Önemli: Bu, eğitim amaçlı sadeleştirilmiş bir örnektir. Üretim kullanımı için python-mnemonic içindeki mnemonic gibi iyi denetlenmiş bir kütüphane kullanın.

Doğrulama

Seed phrase oluşturduktan sonra, fonları ona emanet etmeden önce doğrulayın:

1. Checksum Doğrulaması

Seed phrase’i üretim aracına yeniden girin. Araç hatasız kabul ediyorsa checksum geçerlidir.

2. Adres Türetim Doğrulaması

Hedef kripto para ve derivation path için ilk birkaç adresi türetin. Bu adresleri kaydedin. Daha sonra ayrı bir cihazda (veya air-gapped makineyi yeniden başlattıktan sonra) seed phrase’i tekrar girip aynı adreslerin üretildiğini doğrulayın.

3. Araçlar Arası Doğrulama

Mümkünse seed phrase’i iki farklı araçta doğrulayın (ör. SafeSeed üretici ve Ian Coleman aracı). Aynı seed phrase, derivation path ve passphrase ile her iki araç da aynı adresleri üretmelidir.

4. Küçük İşlem Testi

Önemli miktarda değer saklamadan önce:

  1. İlk alım adresine küçük bir miktar kripto para gönderin.
  2. Ayrı bir cihazda cüzdanı seed phrase ile geri yükleyin.
  3. Fonların göründüğünü ve geri göndermek için bir işlemi imzalayabildiğinizi doğrulayın.

Bu, tüm zincirin doğru olduğunu doğrular: entropi üretimi, mnemonic kodlama, seed türetimi, anahtar türetimi ve adres üretimi.

Seed Phrase Kaydı

Kağıt

  • Asitsiz kağıda kalıcı mürekkepli kalemle net şekilde yazın.
  • Her kelimeyi numaralandırın (1-24).
  • İz bırakabilecek bir yüzeyde yazmayın (alttaki sayfalarda baskı izi çıkacak notluklar üzerinde yazmayın).
  • Yangına ve suya dayanıklı bir kapta saklayın.

Metal

  • Paslanmaz çelik plakalara damgalayın veya kazıyın.
  • Alan kısıtlıysa ilk dört harf kısaltmasıyla test edin.
  • Damgalamadan hemen sonra okunabilirliği doğrulayın.
  • Metal yangın ve sele dayanır — uzun vadeli saklama için önerilir.

Yapılmaması Gerekenler

  • Seed phrase’in fotoğrafını çekmeyin.
  • Air-gapped makinede herhangi bir dosyaya yazmayın.
  • Yazdırmayın (yazıcıların belleği ve ağ özelliği vardır).
  • USB belleğe kaydetmeyin.

Güvenli Temizlik

Seed phrase’i ürettikten ve kaydettikten sonra, air-gapped cihazdaki tüm izleri kaldırın:

1. Clipboard ve Ekranı Temizleme

  • Tüm uygulamaları kapatın.
  • Panoyu temizleyin (Ctrl+C ile alakasız bir metin kopyalayın).

2. Kapatma

  • Bilgisayarı kapatın. RAM içeriği güç kesildikten sonra saniyeler-dakikalar içinde bozulur.
  • Ek güvence için cihazı en az 15 dakika kapalı bırakın (DRAM oda sıcaklığında daha kısa, soğuk ortamda daha uzun süre veri tutabilir).

3. Depolama Ortamı

  • Tails live USB kullanıyorsanız diske hiçbir şey yazılmamıştır. USB yeniden kullanılabilir.
  • Amnezik olmayan bir OS ile Raspberry Pi SD kart kullanıyorsanız SD kartı güvenli şekilde silin (dd if=/dev/urandom of=/dev/sdX bs=1M) veya fiziksel olarak imha edin.
  • Air-gapped makinenin iç diskine yanlışlıkla bir şey kaydettiyseniz güvenli şekilde silin.

4. USB Bellek

  • Üretim aracını aktarmak için kullanılan USB bellekte, talimatları doğru uyguladıysanız üretilmiş anahtar materyali bulunmamalıdır.
  • USB’de yalnızca orijinal araç dosyalarının olduğundan emin olun.
  • Maksimum güvenlik için kullanımdan sonra USB’yi silin.

İleri Seviye: İşlemleri Air-Gapped İmzalama

Air-gapped bilgisayar sadece anahtar üretimi için değil, sürekli işlem imzalama için de faydalıdır:

İş Akışı

  1. Çevrimiçi (watch-only) makine: İmzalanmamış bir işlem oluşturur.
  2. Transfer: İmzalanmamış işlem USB veya QR kod ile air-gapped makineye taşınır.
  3. Air-gapped makine: İşlem private key ile imzalanır.
  4. Transfer: İmzalı işlem çevrimiçi makineye geri taşınır.
  5. Çevrimiçi makine: İmzalı işlem ağa yayınlanır.

QR Kod Transferi (Tercih Edilen)

QR kod kullanımı USB belleği tamamen ortadan kaldırır ve olası bir kötü amaçlı yazılım vektörünü kapatır (USB cihazları otomatik çalışan payload taşıyabilir):

  • Çevrimiçi makinede imzalanmamış işlemi QR kod olarak gösterin.
  • Air-gapped makineye bağlı kamera ile QR kodu tarayın.
  • İşlemi imzalayın.
  • İmzalı işlemi air-gapped makinede QR kod olarak gösterin.
  • Çevrimiçi makine ile tarayın.

QR tabanlı air-gapped imzalamayı destekleyen cüzdanlar arasında Coldcard, Keystone ve Sparrow Wallet (webcam kurulumu ile) vardır.

PSBT'ler (Partially Signed Bitcoin Transactions)

Bitcoin’in PSBT formatı (BIP-174), özellikle air-gapped iş akışları için tasarlanmıştır. PSBT, imzalama cihazının herhangi bir blockchain verisine ihtiyaç duymadan işlemi imzalaması için gereken tüm bilgileri içerir.

Multi-Signature Air-Gapped Kurulum

En yüksek güvenlik için air-gapped anahtar üretimini multi-signature ile birleştirin:

  1. Üç ayrı air-gapped oturumda (ideal olarak farklı cihazlarda) üç ayrı seed phrase üretin.
  2. 2-of-3 multi-signature cüzdan kurun.
  3. Her seed phrase’i farklı bir fiziksel konumda saklayın.
  4. İşlemler, üç air-gapped cihazdan ikisinde imza gerektirir.

Bu yapı şunlara karşı koruma sağlar:

  • Tek bir ele geçirilmiş cihaz (yalnızca bir anahtar açığa çıkar).
  • Tek bir kayıp seed phrase (kalan iki anahtar hâlâ imzalayabilir).
  • Tek bir ele geçirilmiş saklama konumu.

Yaygın Hatalar

Hata 1: "Temiz" Ama Daha Önce Bağlanmış Bilgisayar Kullanmak

Daha önce internete bağlanmış bir bilgisayarda OS silip yeniden kurmak yeterli değildir. Firmware seviyesindeki zararlılar (UEFI rootkit) OS yeniden kurulumunu atlatabilir. Ayrılmış, hiç bağlanmamış bir cihaz bu riski ortadan kaldırır.

Hata 2: Air-Gapped Makineyi "Kısa Süreliğine" Bağlamak

Ağa yapılan her bağlantı, çok kısa olsa bile air gap’i bozar. Zararlı yazılım private key’i milisaniyeler içinde dışarı aktarabilir. Bir kez bağlandıktan sonra cihaz artık air-gapped kabul edilemez.

Hata 3: Yazıcı Kullanmak

Yazıcılar genellikle kendi depolamasına sahiptir (yazdırma kuyrukları için) ve birçok modern yazıcıda Wi-Fi veya Bluetooth bulunur. Seed phrase yazdırmak, onu yazıcı belleğinde tutabilir ve potansiyel olarak iletebilir. Bunun yerine elle yazın.

Hata 4: Seed Phrase’i Dijital Olarak Aktarmak

Seed phrase, air-gapped ekranda gösterildiği kısa an dışında dijital biçimde asla var olmamalıdır. USB belleğe kopyalamayın, dosyaya kaydetmeyin veya transfer için QR koduna kodlamayın. Doğrudan kağıda yazın veya metale damgalayın.

Hata 5: Üretim Aracını Doğrulamamak

Air-gapped makineye aktardığınız araç, kullanımdan önce doğrulanmalıdır. Dosya hash’lerini, PGP imzalarını kontrol edin veya en azından dosya boyutlarını karşılaştırın. Manipüle edilmiş bir araç, saldırganın zaten bildiği deterministik anahtarlar üretebilir.

SSS

Neden sadece donanım cüzdanı kullanmıyoruz?

Donanım cüzdanları mükemmeldir ve çoğu kullanıcı için yeterlidir. Air-gapped üretim, çok yüksek değerli saklama için ek güvenlik payı sağlar; çünkü donanım cüzdanının rastgele sayı üretecine ve firmware’ine duyulan güveni ortadan kaldırır. Air-gapped yaklaşım ayrıca birden fazla bağımsız araçla doğrulamaya izin verir; donanım cüzdanı ise tek bir güven noktasıdır.

Tüm air-gapped süreç ne kadar sürer?

İlk kurulumda OS hazırlığı, doğrulama, anahtar üretimi ve temizlik dahil 2-4 saat bekleyin. Zaten hazırlanmış bir cihazda sonraki üretimler 30-60 dakika sürer.

Akıllı telefonu air-gapped cihaz olarak kullanabilir miyim?

Akıllı telefonları tamamen air-gap yapmak zordur; çünkü birden fazla radyo içerirler (hücresel, Wi-Fi, Bluetooth, NFC) ve bunlar her zaman fiziksel olarak devre dışı bırakılamaz. Ağ donanımı çıkarılmış bir dizüstü bilgisayar daha güvenilirdir. Bazı amaca özel cihazlar (Keystone cüzdan gibi) air-gapped imzalama cihazı olarak tasarlanmıştır.

Air-gapped üretim her cüzdan için gerekli mi?

Hayır. Küçük miktarlı günlük harcama cüzdanları için saygın bir donanım cüzdanı veya iyi güvenceye alınmış bir yazılım cüzdanı yeterlidir. Air-gapped üretim, önemli değerin uzun vadeli cold storage’ı için önerilir.

Air-gapped makinedeki yazılımı nasıl güncellerim?

Güncellemezsiniz. Air-gapped makine aynı yazılımı süresiz çalıştırmalıdır. Üretim aracının daha yeni sürümüne ihtiyacınız varsa çevrimiçi makinede indirip doğrulayın, USB ile aktarın ve kullanmadan önce air-gapped makinede checksum’u doğrulayın.

Air-gapped makinenin rastgele sayı üreteci bozuksa ne olur?

Zar tabanlı entropi bu nedenle yedek yöntem olarak vardır. Tüm donanım ve yazılım RNG’lerine güvenmiyorsanız, entropiyi zarla manuel üretip BIP-39 aracına girin. Ortaya çıkan seed phrase’in güvenliği elektronik bileşenlere değil yalnızca zar atış kalitenize bağlıdır.

Zararlı yazılım air gap’i aşabilir mi?

Teoride, gelişmiş devlet düzeyindeki saldırganlar elektromanyetik emisyonlar, akustik sinyaller veya LED yanıp sönme desenleriyle air-gap aşma teknikleri göstermiştir. Pratikte bu saldırılar fiziksel yakınlık, özel ekipman gerektirir ve sıradan kripto hırsızlarının kapasitesinin çok ötesindedir. Kullanıcıların büyük çoğunluğu için doğru korunan bir air gap pratikte aşılmazdır.

İlgili Rehberler