تجتاز جميع أجهزة Ledger اختبار الأصالة أثناء عملية التهيئة ثم في كل مرة عندما يتصلون بالمدير في Ledger Live. تحتوي أجهزة Ledger الأصلية على مفتاح سري يتم تعيينه أثناء التصنيع. وحده جهاز Ledger الأصلي يستطيع استخدام مفتاحه لتوفير إثبات التشفير المطلوب للاتصال بخادم Ledger الآمن.
المستخدمون المتقدمون بالإضافة إلى ذلك يمكنهم فحص سلامة مكونات الأجهزة لجهاز Ledger للتحقق من أنه لم يتم العبث به. تتضمّن هذه المقالة معلومات فنية مفصلة حول أمان جهازك.
إشعار مهم
- يُرجى ملاحظة أن فتح جهازك Ledger سيؤدي إلى إبطال الضمان.
- بمجرد فتحه، لا يمكن استعادة قيمة جهازك Ledger أو استبداله.
المتحكم الدقيق (MCU)
يتحقق العنصر الآمن (Secure Element) من ذاكرة فلاش المتحكم الدقيق بالكامل عند التشغيل، كما هو موضح في منشور المدونة هذا. في حالة حدث تعديل، فستتلقى تحذيراً عند بدء الاستخدام. كإجراء تحقق إضافي، يمكنك فتح الجهاز للتحقق من عدم إضافة شريحة إضافية، بالمقارنة مع الصور أدناه، وأن وحدة المتحكم الدقيق (MCU) هي STM32WB55 (في المراجعات 1، 2، 3) وSTM32WB35 (في المراجعة 4).
مراجعات الأجزاء الصلبة الداخلية
المراجعة 4
- لوحة دارات مطبوعة (PCB) الخضراء
الجهة الأمامية للوحة دارات مطبوعة (PCB)
الجهة الخلفية للوحة دارات مطبوعة (PCB)
المراجعة 3
- لوحة دارات مطبوعة (PCB) السوداء
الجهة الأمامية للوحة دارات مطبوعة (PCB)
الجهة الخلفية للوحة دارات مطبوعة (PCB)
المراجعة 2
- لوحة دارات مطبوعة (PCB) السوداء
الجهة الأمامية للوحة دارات مطبوعة (PCB)
الجهة الخلفية للوحة دارات مطبوعة (PCB)
المراجعة 1
- لوحة دارات مطبوعة (PCB) السوداء
الجهة الأمامية للوحة دارات مطبوعة (PCB)
الجهة الخلفية للوحة دارات مطبوعة (PCB)
شهادة العنصر الآمن (Secure Element)
يتم تخصيص العنصر الآمن (Secure Element) نفسه في المصنع بشهادة تثبت أنه تم تصنيعه بواسطة شركة Ledger. يمكنك التحقق منه عن طريق تشغيل
pip install --no-cache-dir ledgerblue
python -m ledgerblue.checkGenuineRemote --targetId 0x33000004
كود المصدر متاح هنا.
التحقق من التطبيق
عند فتح أحد التطبيقات، يتم عرض تحذير Non Genuine [غير أصلي] في حالة عدم توقيع التطبيق من قِبل Ledger. ستعرض واجهة مستخدم المعدلة (كما هي موجودة في https://github.com/LedgerHQ/nanos-ui) أيضًا رسالة تحذير عند بدء التشغيل.
جذر الثقة (Root of trust)
جذر الثقة للدفعة الحالية هو المفتاح العام secp256k1 التالي:
0490f5c9d15a0134bb019d2afd0bf2971497384597
06e7ac5be4abc350a1f818057224fce12ec9a65de18ec34
d6e8c24db927835ea1692b14c32e9836a75dad609
- كما تم التحقق منه هنا Genuine.py
المتحكم الدقيق (MCU)
العنصر الآمن (Secure Element) يتحقق من ذاكرة فلاش المتحكم الدقيق بالكامل عند التشغيل، كما هو موضح في هذا المنشور على المدونة. في حالة تم تعديله، فستتلقى تحذيراً عند التشغيل. كتحقق إضافي، يمكنك فتح الجهاز للتأكد من عدم إضافة شريحة إضافية (يُرجى الاطلاع على الصورة المرفقة)، وأن وحدة المتحكم الدقيق (MCU) هي stm2f042k6 (مع ذاكرة فلاش 32 كيلو بايت، حيث يمكن أن تحتوي ذاكرة الفلاش الأكبر حجماً على كود يخدع عملية تحقق العنصر الآمن (Secure Element). يمكن أن تختلف العلامات الموجودة على الشريحة ولكن يجب أن ترى التسلسل "042K6".
مراجعات الأجزاء الصلبة الداخلية
المراجعة 1
- لوحة دارات مطبوعة (PCB) الزرقاء
- غراء أسود
المراجعة 2
- لوحة دارات مطبوعة (PCB) الخضراء
- صمغ أسود أو شفاف [ لا توجد صورة ].
المراجعة 3
- لوحة دارات مطبوعة (PCB) الزرقاء
- غراء أسود
المراجعة 4
- لوحة دارات مطبوعة (PCB) الزرقاء
- فتحة في لوحة دارات مطبوعة (PCB)
المراجعة 5
- لوحة دارات مطبوعة (PCB) الزرقاء
المراجعة 5 مكرر
- لوحة دارات مطبوعة (PCB) الزرقاء
المراجعة 6
- لوحة دارات مطبوعة (PCB) الزرقاء
المراجعة 7
- لوحة دارات مطبوعة (PCB) زرقاء أو لوحة دارات مطبوعة (PCB) خضراء
- كبل شاشة رفيع
شهادة العنصر الآمن (Secure Element)
يتم تخصيص العنصر الآمن (Secure Element) نفسه في المصنع بشهادة تثبت أننا من قمنا بصناعته. يمكنك التحقق منه عن طريق تشغيل
pip install --no-cache-dir ledgerblue
ثم في البرنامج الثابت 1.3.1 أو أقل
python -m ledgerblue.checkGenuine --targetId 0x31100002
أو في البرنامج الثابت 1.4.1 وأعلى
python -m ledgerblue.checkGenuine --targetId 0x31100003
كود المصدر متاح هنا.
التحقق من التطبيق
عند فتح أحد التطبيقات، يتم عرض رسالة تحذير Non Genuine [غير أصلي] في حالة عدم وجود توقيع Ledger عليه. كما ستعرض واجهة المستخدم المعدلة (الموجودة في https://github.com/LedgerHQ/nanos-ui) رسالة تحذير عند بدء التشغيل.
جذر الثقة (Root of trust)
جذر الثقة للدفعة الحالية هو المفتاح العام التالي secp256k1:
0490f5c9d15a0134bb019d2afd0bf297
149738459706e7ac5be4abc350a1f818057224fce12ec9a65de18ec34d
6e8c24db927835ea1692b14c32e9836a75dad609
- كما تم التحقق منه هنا Genuine.py