تخطي إلى المحتوى الرئيسي

توليد المفاتيح دون الاتصال بالإنترنت: دليل الأمان المعزول عن الشبكة

توليد مفاتيح العملات المشفرة على جهاز كمبيوتر متصل بالإنترنت يعرضها للبرامج الضارة وبرامج تسجيل لوحة المفاتيح والتقاط الشاشة وسرقة الحافظة والسرقة عن بعد. بالنسبة للمحافظ ذات القيمة العالية المخصصة للتخزين البارد طويل الأجل، المعيار الذهبي هو التوليد المعزول عن الشبكة: إنشاء المفاتيح على جهاز لم يتم توصيله بأي شبكة من قبل ولن يتم توصيله بها مطلقاً.

يوفر هذا الدليل عملية شاملة خطوة بخطوة لتوليد المفاتيح دون الاتصال، تغطي اختيار الأجهزة وإعداد نظام التشغيل وتوليد المفاتيح والتحقق والتنظيف الآمن.

لماذا يهم التوليد المعزول عن الشبكة

نموذج التهديد

عند توليد عبارة بذور أو مفتاح خاص على جهاز كمبيوتر عادي، تكون مادة المفتاح موجودة في:

  • ذاكرة الوصول العشوائي (RAM) — يمكن الوصول إليها من قبل أي عملية تعمل على النظام.
  • القرص الصلب — قد يتم تبديلها إلى القرص بواسطة نظام الذاكرة الافتراضية لنظام التشغيل.
  • الحافظة — في حالة النسخ واللصق، يمكن الوصول إليها من قبل كل تطبيق.
  • الشبكة — إذا كان الجهاز متصلاً، يمكن للبرامج الضارة سرقة المفاتيح على الفور.
  • الشاشة — برامج التقاط الشاشة أو المراقبة البصرية.
  • لوحة المفاتيح — برامج تسجيل لوحة المفاتيح (برمجية أو معدات) تسجل كل المدخلات.

يزيل الجهاز المعزول عن الشبكة متجه الشبكة بالكامل. عند دمجه مع ممارسات أمان التشغيل السليمة، يقلل بشكل كبير أو يزيل المتجهات الأخرى أيضاً.

من يحتاج إلى التوليد المعزول عن الشبكة؟

  • أي شخص يخزن أكثر مما يمكنه تحمل خسارته.
  • التخزين البارد "العميق" طويل الأجل (سنوات أو عقود).
  • الحفظ المؤسسي وإدارة الخزانة.
  • أي شخص يريد أعلى معيار أمان يمكن تحقيقه.

بالنسبة للمحافظ اليومية بأرصدة صغيرة، توفر المحفظة الرقمية أماناً كافياً دون تعقيد الإجراءات المعزولة عن الشبكة.

اختيار الأجهزة

الخيار 1: جهاز كمبيوتر محمول مخصص (موصى به)

شراء جهاز كمبيوتر محمول جديد أو تم إعادة تعيينه من المصنع سيتم استخدامه حصرياً لتوليد المفاتيح ولن يتم توصيله بالإنترنت:

  • إزالة أو تعطيل جميع معدات الشبكات. قم بإزالة بطاقة Wi-Fi ووحدة Bluetooth فعلياً إن أمكن. على الأقل، قم بتعطيلها في برنامج BIOS/UEFI.
  • تعطيل الكاميرا والميكروفون. قم بإزالتها أو تغطيتها/فصلها فعلياً.
  • استخدام جهاز محمول بدون مودم خلوي.
  • خيارات الميزانية: ThinkPad المستعملة (X230, T440) — غير مكلفة وتتمتع بدعم جيد من قبل Linux وسهلة التعديل الفعلي.

الخيار 2: Raspberry Pi

Raspberry Pi (Model 3B+ أو 4) هو جهاز كمبيوتر بلوحة واحدة منخفض التكلفة بدون Wi-Fi إذا استخدمت Pi Zero بدون وحدة لاسلكية، أو إذا قمت بتعطيل الشبكات:

  • التمهيد من بطاقة microSD.
  • لا يوجد تخزين دائم بعيداً عن بطاقة SD (التي ستدمرها لاحقاً).
  • لا توجد معدات لاسلكية إذا استخدمت الطراز الصحيح.
  • تكلفة أقل (35–75 دولار بما في ذلك الملحقات).

الخيار 3: نظام Live USB على معدات موجودة

تشغيل USB live مخصص لنظام Linux على جهاز كمبيوتر موجود مع تعطيل جميع الشبكات:

  • تعمل بيئة Live بالكامل في RAM.
  • لا يتم كتابة أي بيانات على محرك الأقراص الداخلي (إذا تم تكوينه بشكل صحيح).
  • بعد الإيقاف، يتم مسح RAM.
  • المخاطر: قد يحتوي الجهاز الموجود على تسويات على مستوى الأجهزة (rootkits البرنامج الثابت وبرامج تسجيل لوحة المفاتيح على مستوى الأجهزة) التي تستمر عبر عمليات تشغيل نظام التشغيل. يزيل جهاز مخصص هذه المخاطر.

إعداد نظام التشغيل

Tails OS (موصى به)

Tails هو توزيع Linux تركز على الخصوصية مصمم لعدم ترك أي آثار:

  • التمهيد من USB والعمل بالكامل في RAM.
  • يتم توجيه جميع الشبكات عبر Tor بشكل افتراضي — ولكن للاستخدام المعزول عن الشبكة، لن تمكن الشبكات على الإطلاق.
  • مصمم للاستخدام بدون ذاكرة: لا توجد حالة دائمة ما لم يتم تكوينها بشكل صريح.
  • يتضمن الأدوات الشائعة ويمكنه تشغيل Python لنصوص توليد المفاتيح.

خطوات الإعداد:

  1. قم بتنزيل Tails ISO على جهاز الكمبيوتر العادي الخاص بك.
  2. تحقق من توقيع ISO باستخدام مفتاح التوقيع في Tails.
  3. اكتب ISO إلى محرك USB باستخدام مثبت Tails أو Etcher أو dd.
  4. قم بتشغيل جهاز الكمبيوتر المعزول عن الشبكة من USB.
  5. في Tails Greeter، لا تقم بتكوين أي اتصال شبكة.
  6. تحقق من عدم نشاط أي واجهات شبكة: ip link show يجب أن تظهر جميع الواجهات DOWN.

Ubuntu Live USB (بديل)

إذا لم تكن Tails مناسبة:

  1. قم بتنزيل Ubuntu ISO والتحقق من قيمة التجزئة الخاصة به.
  2. اكتب إلى USB.
  3. التمهيد مع تعطيل الشبكات في BIOS.
  4. في مثبت Ubuntu، حدد "جرب Ubuntu" (لا تقم بالتثبيت).
  5. تحقق من عدم وجود اتصال شبكة.

التحقق من سلامة العزل عن الشبكة

بعد التمهيد، تحقق من العزل عن الشبكة:

# تحقق من عدم رفع أي واجهات شبكة
ip link show

# تحقق من عدم تعيين عناوين IP
ip addr show

# حاول الوصول إلى الإنترنت (يجب أن يفشل)
ping -c 1 8.8.8.8

# تحقق من Wi-Fi و Bluetooth
rfkill list all

يجب أن تكون جميع واجهات الشبكة DOWN، وعدم تعيين أي عناوين IP، ويجب أن يفشل ping. إذا أشار أي اختبار إلى الاتصال، توقف واستكشف الأخطاء قبل المتابعة.

عملية توليد المفاتيح

الطريقة 1: استخدام أدوات SafeSeed دون الاتصال

أدوات SafeSeed هي تطبيقات ويب من جانب العميل يمكن تشغيلها في المتصفح بدون اتصال بالإنترنت.

أداة SafeSeed

يمكن حفظ مولد عبارة البذور في SafeSeed و منشئ المحفظة الورقية للاستخدام دون الاتصال. قبل الذهاب بدون الاتصال، احفظ صفحة الويب كاملة (Ctrl+S / Cmd+S)، انقلها إلى جهاز الكمبيوتر المعزول عن الشبكة عبر USB، وافتحها في المتصفح. جميع العمليات التشفيرية تعمل محلياً في JavaScript — لا يوجد اتصال بالخادم مطلوب.

الخطوات:

  1. على جهاز الكمبيوتر العادي (متصل بالإنترنت)، انتقل إلى أداة SafeSeed.
  2. احفظ صفحة الويب كاملة على محرك USB.
  3. تحقق من سلامة الملف (قارن قيم التجزئة إن وجدت).
  4. انقل محرك USB إلى جهاز الكمبيوتر المعزول عن الشبكة.
  5. افتح ملف HTML المحفوظ في المتصفح.
  6. ولد عبارة البذور الخاصة بك.
  7. اكتبها على الورق (لا تحفظها رقمياً على الجهاز المعزول عن الشبكة).
  8. تحقق من عبارة البذور بإدخالها مرة أخرى وتأكيد توليد نفس العناوين.

الطريقة 2: استخدام أداة BIP-39 لـ Ian Coleman

أداة BIP-39 لـ Ian Coleman هي صفحة HTML مستقلة مفتوحة المصدر يستخدمها على نطاق واسع لتوليد المفاتيح دون الاتصال:

  1. قم بتنزيل أحدث إصدار من GitHub على جهاز الكمبيوتر متصل بالإنترنت.
  2. تحقق من توقيع PGP.
  3. انقل إلى جهاز الكمبيوتر المعزول عن الشبكة عبر USB.
  4. افتح bip39-standalone.html في متصفح.
  5. ولد أو أدخل جملة مفهومة.
  6. حدد العملة ومسار الاشتقاق.
  7. سجل عبارة البذور والعناوين.

الطريقة 3: الإنتروبيا المستندة إلى النرد

لأقصى عدم ثقة في جميع مولدات الأرقام العشوائية الزائفة (RNG)، ولد الإنتروبيا يدوياً باستخدام النرد:

  1. استخدم نرد بجودة الكازينو (نرد دقيق بحواف حادة، وليس نرد مستهلك مستدير).
  2. رم نرد واحد 99 مرة لـ 256 بت من الإنتروبيا (كل رمية توفر ~2.585 بت؛ 99 رمية توفر ~255.9 بت).
  3. حول رميات النرد إلى سلسلة ثنائية.
  4. استخدم أداة BIP-39 (دون الاتصال) لتحويل الإنتروبيا الثنائية إلى جملة مفهومة.
  5. أو رم النرد 50 مرة لـ 128 بت من الإنتروبيا (جملة من 12 كلمة).

طرق تحويل النرد:

  • طريقة Base-6: سجل كل رمية نرد (1-6)، حول التسلسل إلى ثنائي.
  • طريقة النرد الثنائي: استخدم عملة معدنية (وجه=1، الكتابة=0) 256 مرة.
  • النرد إلى الثنائي: رم النرد؛ إذا 1-3، سجل 0؛ إذا 4-6، سجل 1. كرر 256 مرة.

الطريقة الثالثة تهدر أكثر الإنتروبيا لكنها الأبسط. للحصول على معالجة مفصلة لجودة الإنتروبيا، انظر إلى دليل الإنتروبيا والعشوائية.

الطريقة 4: سطر الأوامر (Python)

بالنسبة للمستخدمين الذين يشعرون بالراحة مع سطر الأوامر، يمكن لنص Python بسيط أن يولد جملاً مفهومة BIP-39:

import hashlib
import os

# يجب تحميل قائمة كلمات BIP-39 من ملف
with open('english.txt', 'r') as f:
wordlist = [w.strip() for w in f.readlines()]

# ولد 256 بت من الإنتروبيا
entropy = os.urandom(32) # يستخدم CSPRNG نظام التشغيل

# حساب قيمة التحقق
h = hashlib.sha256(entropy).digest()
checksum_bits = bin(h[0])[2:].zfill(8) # أول 8 بتات لـ 256 بت إنتروبيا

# تحويل الإنتروبيا إلى سلسلة ثنائية
entropy_bits = bin(int.from_bytes(entropy, 'big'))[2:].zfill(256)
all_bits = entropy_bits + checksum_bits

# اقسم إلى مجموعات بـ 11 بت ورسم الخرائط إلى الكلمات
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))

مهم: هذا مثال مبسط لأغراض تعليمية. للاستخدام الإنتاجي، استخدم مكتبة موثوقة مثل mnemonic من python-mnemonic.

التحقق

بعد توليد عبارة بذور، تحقق منها قبل الوثوق بها بالأموال:

1. التحقق من قيمة التحقق

أدخل عبارة البذور مرة أخرى في أداة التوليد. إذا قبلت الأداة دون خطأ، فإن قيمة التحقق صحيحة.

2. التحقق من اشتقاق العناوين

استخرج أول عناوين قليلة للعملة المشفرة المقصودة ومسار الاشتقاق. سجل هذه العناوين. لاحقاً، على جهاز منفصل (أو بعد إعادة تشغيل الجهاز المعزول عن الشبكة)، أعد إدخال عبارة البذور والتحقق من توليد نفس العناوين.

3. التحقق من الأداة المتقاطعة

إن أمكن، تحقق من عبارة البذور في أداتين مختلفتين (مثل مولد SafeSeed وأداة Ian Coleman). يجب أن تنتج كلاهما عناوين متطابقة من نفس عبارة البذور ومسار الاشتقاق وعبارة المرور.

4. اختبار المعاملة الصغيرة

قبل تخزين قيمة كبيرة:

  1. أرسل مبلغاً صغيراً من العملات المشفرة إلى عنوان الاستقبال الأول.
  2. على جهاز منفصل، استعيد المحفظة من عبارة البذور.
  3. تحقق من أن الأموال مرئية وأنه يمكنك توقيع معاملة لإرسالها مرة أخرى.

هذا يؤكد السلسلة الكاملة: توليد الإنتروبيا، وترميز الجملة المفهومة، واشتقاق البذور، واشتقاق المفاتيح، وتوليد العناوين كلها صحيحة.

تسجيل عبارة البذور

الورق

  • اكتب بوضوح بقلم حبر دائم على ورق خالي من الحمضيات.
  • رقّم كل كلمة (1-24).
  • لا تكتب على سطح قد يترك انطباعاً (لا تكتب على وسادة ورقية حيث يظهر الانطباع على الأوراق أسفله).
  • خزن في حاوية مقاومة للحريق والماء.

المعادن

  • ختم أو نقش على لوحات الفولاذ المقاوم للصدأ.
  • اختبر باختصار الأحرف الأربعة الأولى إذا كانت المساحة محدودة.
  • تحقق من القراءة فوراً بعد الختم.
  • المعادن تتحمل النار والفيضان — موصى به للتخزين طويل الأجل.

ما لا تفعله

  • لا تلتقط صورة لعبارة البذور.
  • لا تكتبها في أي ملف على الجهاز المعزول عن الشبكة.
  • لا تطبعها (الطابعات لديها ذاكرة وإمكانية الشبكة).
  • لا تحفظها على محرك USB.

التنظيف الآمن

بعد توليد وتسجيل عبارة البذور الخاصة بك، احذف جميع الآثار من الجهاز المعزول عن الشبكة:

1. مسح الحافظة والشاشة

  • أغلق جميع التطبيقات.
  • امسح الحافظة (Ctrl+C نصاً غير ذي صلة).

2. الإيقاف

  • أطفئ الجهاز. تتحلل محتويات RAM في ثوانٍ إلى دقائق بعد فقدان الطاقة.
  • لضمان إضافي، اترك الجهاز مطفأً لمدة 15 دقيقة على الأقل (تحتفظ DRAM بالبيانات لفترات أقصر في درجة حرارة الغرفة، أطول في البيئات الباردة).

3. وسائط التخزين

  • إذا كنت تستخدم Tails live USB، لم يتم كتابة شيء على القرص. يمكن إعادة استخدام USB.
  • إذا كنت تستخدم بطاقة SD لـ Raspberry Pi مع نظام تشغيل غير بدون ذاكرة، امسح بطاقة SD بشكل آمن (dd if=/dev/urandom of=/dev/sdX bs=1M) أو دمّرها فعلياً.
  • إذا قمت بحفظ أي شيء بطريق الخطأ على محرك الأقراص الداخلي للجهاز المعزول عن الشبكة، امسحه بشكل آمن.

4. محرك USB

  • لا يجب أن يحتوي محرك USB المستخدم لنقل أداة التوليد على أي مادة مفتاح تم توليدها إذا اتبعت التعليمات بشكل صحيح.
  • تحقق من احتواء USB فقط على ملفات الأداة الأصلية، لا شيء آخر.
  • للأمان الأقصى، امسح USB بعد الاستخدام.

متقدم: توقيع المعاملات المعزولة عن الشبكة

يعتبر جهاز كمبيوتر معزول عن الشبكة مفيداً ليس فقط لتوليد المفاتيح بل أيضاً للتوقيع على المعاملات الجارية:

سير العمل

  1. الجهاز متصل بالإنترنت (للمراقبة فقط): إنشاء معاملة غير موقعة.
  2. النقل: انقل المعاملة غير الموقعة إلى الجهاز المعزول عن الشبكة عبر USB أو رمز QR.
  3. الجهاز المعزول عن الشبكة: وقّع المعاملة بالمفتاح الخاص.
  4. النقل: انقل المعاملة الموقعة إلى الجهاز متصل بالإنترنت.
  5. الجهاز متصل بالإنترنت: بث المعاملة الموقعة إلى الشبكة.

نقل رمز QR (الأفضل)

يزيل نقل رمز QR محركات USB بالكامل، مما يغلق متجه احتمالي للبرامج الضارة (أجهزة USB يمكن أن تحمل حمولات قابلة للتنفيذ التلقائي):

  • عرض المعاملة غير الموقعة كرمز QR على الجهاز متصل بالإنترنت.
  • امسح رمز QR بكاميرا متصلة بالجهاز المعزول عن الشبكة.
  • وقّع المعاملة.
  • عرض المعاملة الموقعة كرمز QR على الجهاز المعزول عن الشبكة.
  • امسح بالجهاز متصل بالإنترنت.

تتضمن المحافظ التي تدعم التوقيع المعزول عن الشبكة المستند إلى رمز QR Coldcard و Keystone و Sparrow Wallet (مع إعداد ويب كاميرا).

PSBTs (معاملات البيتكوين الموقعة جزئياً)

صيغة PSBT الخاصة بـ Bitcoin (BIP-174) تم تصميمها خصيصاً لسير العمل المعزول عن الشبكة. يحتوي PSBT على جميع المعلومات المطلوبة لتوقيع معاملة دون حاجة جهاز التوقيع إلى امتلاك أي بيانات blockchain.

إعداد التوقيع المتعدد المعزول عن الشبكة

للحصول على أعلى مستويات الأمان، دمج توليد المفاتيح المعزول عن الشبكة مع التوقيع المتعدد:

  1. ولد ثلاث عبارات بذور منفصلة في ثلاث جلسات معزولة منفصلة (يُفضل على أجهزة مختلفة).
  2. قم بإعداد محفظة توقيع متعددة 2-من-3.
  3. خزن كل عبارة بذور في موقع فعلي مختلف.
  4. تتطلب المعاملات التوقيع على اثنين من أجهزة الكمبيوتر الثلاثة المعزولة عن الشبكة.

يوفر هذا الحماية ضد:

  • جهاز مخترق واحد (مفتاح واحد فقط معروض).
  • عبارة بذور واحدة مفقودة (مفتاحان متبقيان يمكنهما الاستمرار في التوقيع).
  • موقع تخزين مخترق واحد.

الأخطاء الشائعة

الخطأ 1: استخدام جهاز كمبيوتر "نظيف" لكنه كان متصلاً سابقاً

مسح وإعادة تثبيت نظام التشغيل على جهاز كمبيوتر كان متصلاً بالإنترنت سابقاً غير كافٍ. برامج ضارة على مستو