
تطبيق Vault لشارة DC34
vault الخاص بـ DC34[!WARNING] تحميل البرنامج الثابت الخاص بك على شارتك سيمسح مفتاح التشفير الخفيف وسيؤدي إلى دخول شارتك في وضع المطور.
ملاحظة: هذا المستودع أصبح الآن يتيمًا وسيتم أرشفته قريبًا، حيث تم دمجه في xous-core. لقد كان موجودًا في مستودع bunnie على GitHub فقط لأنه كان يجب أن يكون خاصًا قبل المؤتمر، والآن بعد أن أصبح عامًا، سيتم صيانته كجزء من xous-core. يرجى توجيه جميع طلبات السحب (PR) المستقبلية إلى xous-core. سيتم ترحيل طلب سحب Tetris في النهاية كتطبيق منفصل، لذا سيظل المستودع نشطًا حتى يتم إنجاز هذه المهمة.
هذا هو تطبيق vault كما تم تخصيصه لـ Defcon34.
يوفر التفاعل مع الشارة داخل المؤتمر، وبالتحديد، تخصيص الأضواء عن طريق مسح رموز QR المشفرة بين الشارات.
هناك بعض البيض المخفي (easter eggs) مدفون في الكود هنا، إذا كنت ترغب في البحث عنها، وربما حتى علم (flag) يمكنك التقاطه إذا بحثت بجدية كافية.
يفترض هيكل الدليل التالي:
.
├── dc34-api
├── dc34-console
├── dc34-vault
└── xous-core
وأن هذه الأوامر تُنفَّذ من داخل دليل xous-core. المتطلبات الأساسية:
cargo xtask install-toolkit داخل مستودع xous-coreecho "===== Building Console ====="
(
cd ../dc34-console &&
cargo build --release --target riscv32imac-unknown-xous-elf --features board-baosec --features oem-baosec-lite --features bao1x --features utralib/bao1x &&
) || {
echo "dc34-console build failed!"
exit 1
}
echo "===== Building Vault ====="
(
cd ../dc34-vault &&
cargo build --release --target riscv32imac-unknown-xous-elf --features board-baosec &&
) || {
echo "dc34-vault build failed!"
exit 1
}
cargo xtask baosec-lite ../dc34-console/target/riscv32imac-unknown-xous-elf/release/dc34-console~flash ../dc34-vault/target/riscv32imac-unknown-xous-elf/release/dc34-vault \
--no-timestamp --feature usb --kernel-feature debug-proc --no-verify
عندما يتم توصيل الوحدة الأساسية بحامل الشارة، تتحول الوحدة افتراضيًا إلى وضع "المؤتمر"، الذي يعرض شعار Defcon، بالتناوب مع صورة من اختيارك إذا قمت برفعها باستخدام https://github.com/bunnie/dc34-image.
يمكنك "مزج" أنماط الأضواء مع الشارات الأخرى عن طريق مسح رموز QR. أنماط الأضواء مشفرة باستخدام مفتاح مشترك موحد عبر جميع الشارات - إذا تمكنت من استخراج هذا المفتاح، يمكنك فعليًا أن تكون "باذرًا" (seeder) لأنماط أضواء عشوائية. ومع ذلك، في البداية كل شارة لديها نطاق ألوان محدود، والطريقة الوحيدة لجعل شارتك أكثر ألوانًا هي التفاعل مع شخص لديه الألوان التي ترغب فيها.
يتم التفاعل على النحو التالي:
لمزيد من التفاصيل حول التبادل التشفيري، راجع defcon_scheme.md.
الخطة الحالية هي تسريب جزء من المفتاح المشترك، بحيث يمكن لأي شخص يريد إظهار قوة كاسر ASIC الخاص به أن يحاول كسر المفتاح بالقوة الغاشمة. إذا لم يقم أحد بكسر المفتاح أو استخراجه بحلول نهاية العرض، فسيتم تسريب عدد كافٍ من البتات بحيث يصبح كسر القوة الغاشمة ممكنًا باستخدام وحدة معالجة رسوميات (GPU) مكتبية عالية المستوى ويوم واحد من الجهد.
بمجرد مغادرتك المؤتمر، يمكنك فصل الوحدة الأساسية البلاستيكية الشفافة عن طريق إزالة المسمارين على الجانب الخلفي من الوحدة. يتم تضمين زوج من المسامير البديلة وغطاء سيليكون في عدة شارتك لإغلاق الثقوب المتبقية من فصلها عن حامل الشارة.
بعد الفصل، يمكنك توصيل شارتك بجهاز كمبيوتر عبر USB واستخدامها كرمز 2FA (FIDO2). كما تدعم تخزين رموز TOTP وكلمات المرور النصية العادية عن طريق مسح رموز QR. يتم إنشاء رموز QR عن طريق تثبيت هذا الامتداد للمتصفح. تقوم رموز QR بتشفير الوقت الحالي. نظرًا لأن الجهاز لا يحتوي على بطارية داخلية، ستحتاج إلى مسح أحد رموز QR هذه عند توصيل الجهاز لضبط الوقت الحالي إذا كنت تخطط لاستخدام وظيفة TOTP.
احصل على تحديثات البرنامج الثابت من https://ci.betrusted.io/releases/latest/baochip/dc34-badge/latest.zip. يجب استخراج ملف zip إلى الملفات الثلاثة المكونة له (xous.uf2, swap.uf2, loader.uf2) قبل نسخها إلى الجهاز!
لإجراء تحديث:
خطوة التشغيل النهائية هذه مطلوبة لتفريغ أي قطاعات مكتوبة جزئيًا إلى القرص؛ إيقاف تشغيل الجهاز دون تشغيله قد يؤدي إلى فقدان جزء من القطاع الأخير، اعتمادًا على نظام التشغيل.