في هذا البروتوكول ، يتعين على المستخدمين المصادقة. يمكنهم القيام بذلك باستخدام كلمات المرور والملفات التي تحتوي على مفاتيح RSA الخاصة والأجهزة مثل Ledger Nano S و Ledger Nano X ، إلخ.
بعض وسائل المصادقة أكثر أمانًا من غيرها: استخدام جهاز مصمم لتخزين مفتاح خاص دون إتاحة إمكانية استخراجه أكثر أمانًا من تخزين المفتاح الخاص في ملف. لسوء الحظ ، أكثرها أمانًا هي أيضًا أكثر إيلامًا في الاستخدام. يحتاج المستخدمون الذين لديهم مفاتيحهم على الجهاز إلى حمل الجهاز معهم ، ويحتاجون إلى كتابة رمز PIN الخاص بهم في كل مرة يبدؤون فيها جلسة SSH ، وما إلى ذلك. وهذا يجعل من الصعب للغاية الدعوة إلى طرق أكثر أمانًا من كلمات المرور والملفات لحالات الاستخدام حيث أمن الوصول ليس هو الأولوية.
لذا فإن السؤال هو: هل من الممكن تخزين مواد المصادقة بشكل أكثر أمانًا من تخزينها في ملف (يمكن أن تسرقه بعض البرامج الضارة) ، دون تغيير تجربة المستخدم؟
والإجابة هي: نعم ، باستخدام TPM!
شيء من التاريخ
لبعض الوقت ، كانت أجهزة الكمبيوتر قادرة على تضمين شريحة أمان مباشرة. توفر هذه الشريحة ، المسماة Trusted Platform Module (TPM) ، العديد من الميزات بما في ذلك القدرة على حماية المفاتيح الخاصة المستخدمة في تشفير المفتاح العام.
نظرًا لأنه مضمن في أجهزة الكمبيوتر ، فلا داعي لتوصيل جهاز بالكمبيوتر لاستخدامه. لذلك يعتبر هذا أقل أمانًا من جهاز يمكن تخزينه في مكان مختلف عن الكمبيوتر (وهذا يتيح فرض مبدأ أنه في حين أن الجهاز غير متصل بالكمبيوتر ، لا يمكن لأي برنامج ضار استخدام الأسرار المخزنة فيه).
لذا ، فإن TPM ليس "أفضل أمان" ، لكنه لا يزال أكثر أمانًا من استخدام ملفات مثل $HOME/.ssh/id_rsa
لتخزين المفاتيح الخاصة.
كيف يمكن استخدام TPM مع OpenSSH على Linux؟ مع مشروع اسمه tpm2-pkcs11
، باتباع الإرشادات المتوفرة في العديد من مواقع الويب لسنوات عديدة ، بما في ذلك على الوثائق الرسمية من مستودع الكود الخاص بها.
الآن ، ما هي الأخبار؟ تم الآن حزم هذا البرنامج أخيرًا في Ubuntu و Debian ، مما يجعله متاحًا في النهاية لمعظم مستخدمي Linux!
بتعبير أدق هنا جدول زمني:
- في عام 2014 ، تم نشر المواصفات الرئيسية لـ TPM 2.0. للتفاعل مع TPM من البرنامج ، كان هناك جهد معياري ، وتم إنشاء مجموعتين من حزم البرامج غير المتوافقة: واحدة من Trusted Computing Group (TCG) ، تسمى حزمة برامج TPM (TSS) ، والآخر من شركة IBM ، ويسمى أيضًا مكدس برامج TPM.
- في عام 2018 ، المشروع
tpm2-pkcs11
لتوفير واجهة PKCS # 11 إلى TPM 2.0 ، باستخدام TSS الخاص بـ TCG. PKCS # 11 هو معيار يحدد واجهة برمجة التطبيقات (API) المسماة كريبتوكي لاستخدام الرموز المميزة لتخزين مفاتيح التشفير. نظرًا لأن OpenSSH يدعم استخدام واجهة PKCS # 11 لإجراء مصادقة المستخدم ، فقد تم تمكين هذا باستخدام TPM لتخزين المفاتيح المستخدمة لمصادقة SSH. - في فبراير 2019،
tpm2-pkcs11
تمت إضافة إلى فيدورا 29. - في سبتمبر 2019 ، تم إصدار CentOS 8 مع هذه الحزمة.
- في أبريل 2020 ،
tpm2-pkcs11
تمت إضافة إلى ديبيان سيد. للأسف لم يحتوي على البرنامجtpm2_ptool
وهو أمر ضروري لإنشاء المفاتيح بسهولة. تم الإبلاغ عن هذه المشكلة في خطأ دبيان رقم 968310. - في يناير 2021 ، كانت حزمة دبيان ثابت (واعترف المشرف بمساعدتي!).
- في أبريل 2021 ، تم إصدار Ubuntu 21.04 أهلب فرس النهر مع الحزمة الثابتة.
- في أغسطس 2021 ، دبيان 11 بولس] مع الحزمة الثابتة
الآن tpm2-pkcs11
متاح على Debian و Ubuntu والعديد من توزيعات Linux الأخرى المدرجة على ريبولوجيا.
باستخدام tpm2-pkcs11
في دبيان 11 ، إليك خطوات إنشاء واستخدام مفتاح SSH جديد مخزن بأمان بواسطة TPM:
- أمر التثبيت
tpm2_ptool
والمكتبةlibtpm2_pkcs11.so.1
، والتي يتم توفيرها من خلال حزمتين:
2. تحقق من أن النظام يمكنه استخدام TPM 2.0. في حالة فشل أحد عمليات الفحص التالية ، فقد يعني ذلك أن النظام لا يحتوي على TPM ، أو لديه TPM 1.2 ، أو لديه TPM 2.0 تم تعطيله في إعدادات BIOS:
3. أضف المستخدم الحالي إلى المجموعة التي يمكنها الوصول إلى جهاز TPM /dev/tpmrm0
. في Debian و Ubuntu ، يحتاج المستخدمون إلى الانتماء إلى مجموعة مسماة tss
(بفضل التكوين المقدم من tpm-udev
صفقة). يضيف الأمر التالي المستخدم الحالي إلى هذه المجموعة:
تهيئة متجر مستخدم محمي بكلمة مرور و سوبين وإنشاء مفتاح ، على سبيل المثال مفتاح Elliptic Curve على المنحنى المسمى "NIST P-256" (المعروف أيضًا باسم "secp256r1"):
4. الاختصار سوبين يعني رقم التعريف الشخصي لضابط الأمن وهو مفهوم من مواصفات PKCS # 11. في حالات الاستخدام البسيطة ، يمكن اعتبارها "كلمة مرور استرداد" تتيح تعديل كلمة المرور عند فقدها على سبيل المثال.
5. اعرض المفتاح العمومي لهذا المفتاح الجديد:
6. قم بتكوين المفتاح العام الجديد في الخادم ، على سبيل المثال عن طريق كتابته $HOME/.ssh/authorized_keys
أو في إعدادات حساب GitHub أو في أي مكان آخر تُستخدم فيه مفاتيح SSH العامة.
7. تكوين عميل SSH لاستخدامه tpm2-pkcs11
للاتصال بالخادم ، على سبيل المثال عن طريق كتابة هذا $HOME/.ssh/config
(جانب العميل):
الاتصال بالخادم (ملاحظة: يمكن تخطي الخطوة السابقة:
العمل المستقبلي
قدم القسم السابق كيفية إنشاء مفتاح جديد في TPM. بينما يتيح ذلك استخدام TPM لحماية مصادقة SSH ، هناك ميزتان ضروريتان لجعل هذا بديلاً حقيقياً لاستخدام الملفات لتخزين المفاتيح الخاصة:
- الميزة رقم 1: استيراد مفاتيح SSH الحالية إلى TPM بدلاً من إنشاء مفاتيح جديدة (والتي تتيح الانتقال السلس إلى وحدة تخزين TPM ، والنسخ الاحتياطي للمفاتيح ، في حالة تعطل الكمبيوتر أو فقده ، وما إلى ذلك).
- الميزة رقم 2: استخدام مفاتيح SSH بدون كلمة مرور ، مثل ملفات المفاتيح الخاصة غير المحمية (هذه الميزة أكثر أمانًا من ملفات المفاتيح حيث لا يمكن استخراج المفتاح المحمي من TPM).
لقد قمت بتنفيذ كلتا الميزتين في tpm2-pkcs11
وتقديمها في طلبات السحب #681 و #695. تم تقديم الميزة رقم 1 أيضًا في مايو أثناء المكالمة الأسبوعية عبر الإنترنت لـ مجتمع tpm.dev والتسجيل متاح على https://developers.tpm.dev/posts/14389750.
لذلك من المحتمل أن تصبح كلتا الميزتين متاحتين في إصدار مستقبلي من tpm2-pkcs11
.
بالمناسبة ، للقراء الفضوليين الذين يرغبون في فهم العناصر الداخلية لـ tpm2-pkcs11
، لقد نشرت مقالًا عنها في مؤتمر SSTIC 2021 ، باسم حماية مصادقة SSH مع TPM 2.0 (مقالة باللغة الإنجليزية ، عرض تقديمي باللغة الفرنسية). علاوة على ذلك ، يمكن للقراء الذين يرغبون في تجربة الأشياء دون لمس TPM حقيقي أن يهتموا بقسم "محاكاة TPM 2.0" من هذه المقالة.
(توضيح: Rainer Knäpper ، رخصة فنية مجانية)
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- أفلاطونايستريم. ذكاء بيانات Web3. تضخيم المعرفة. الوصول هنا.
- سك المستقبل مع أدرين أشلي. الوصول هنا.
- شراء وبيع الأسهم في شركات ما قبل الاكتتاب مع PREIPO®. الوصول هنا.
- المصدر https://www.ledger.com/blog/ssh-with-tpm
- :لديها
- :يكون
- :ليس
- :أين
- $ UP
- 1
- 11
- 13
- 14
- 15%
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- القدرة
- ماهرون
- من نحن
- الوصول
- حسابي
- واعترف
- تضيف
- وأضاف
- يضيف
- محام
- أيضا
- البديل
- an
- و
- إجابة
- أي وقت
- API
- تطبيق
- ابريل
- هي
- فنـون
- البند
- AS
- At
- أغسطس
- موثق
- التحقّق من المُستخدم
- متاح
- دعم
- BE
- أصبح
- كان
- على حد سواء
- مكسورة
- علة
- لكن
- by
- دعوة
- CAN
- لا تستطيع
- حمل
- حقيبة
- الحالات
- CGI
- متغير
- التحقق
- الشيكات
- رقاقة
- زبون
- الكود
- الكمبيوتر
- أجهزة الكمبيوتر
- الحوسبة
- مفهوم
- مؤتمر
- الاعداد
- التواصل
- متصل
- نظرت
- استطاع
- خلق
- خلق
- خلق
- التشفير
- التشفير
- فضولي
- حالياًّ
- منحنى
- يعرف
- تصميم
- ديف
- جهاز
- الأجهزة
- فعل
- مختلف
- صعبة
- مباشرة
- معاق
- العرض
- التوزيعات
- do
- توثيق
- هل
- أثناء
- بسهولة
- جهد
- إهليلجي
- تضمين
- جزءا لا يتجزأ من
- تمكين
- تمكن
- فرض
- عربي
- إلخ
- EVER
- كل
- مثال
- القائمة
- الخبره في مجال الغطس
- استخراج
- فشل
- الميزات
- المميزات
- فبراير
- قم بتقديم
- ملفات
- أخيرا
- ثابت
- متابعيك
- في حالة
- مجانًا
- الفرنسية
- تبدأ من
- مستقبل
- توليد
- GitHub جيثب:
- تجمع
- أجهزة التبخير
- جهاز
- الأجهزة المادية
- يملك
- هنا
- كيفية
- كيفية
- HTML
- HTTP
- HTTPS
- i
- IBM
- هوية
- if
- نفذت
- استيراد
- in
- بما فيه
- تتعارض
- بدء
- بدلًا من ذلك
- تعليمات
- تفاعل
- يستفد
- السطح البيني
- إلى
- قضية
- IT
- انها
- يناير
- ٢٨
- JPG
- القفل
- مفاتيح
- معروف
- دفتر الحسابات
- ليدجر نانو
- ليدجر نانو S
- ليدجر نانو العاشر
- أقل
- مثل
- على الأرجح
- لينكس
- المدرج
- موقع
- ضائع
- الرئيسية
- جعل
- يصنع
- القيام ب
- البرمجيات الخبيثة
- كثير
- مادة
- ماكس العرض
- مايو..
- تعني
- يعني
- وحدة
- الأكثر من ذلك
- علاوة على ذلك
- أكثر
- كثيرا
- my
- عين
- نانو
- ضروري
- حاجة
- بحاجة
- جديد
- أخبار
- لا
- الآن
- of
- امين شرطة منزل فؤاد
- on
- ONE
- منها
- online
- or
- طلب
- أخرى
- أخرى
- صفقة
- معلب
- حزم
- مؤلم
- كلمة المرور
- كلمات السر
- نفذ
- الشخصية
- المكان
- المنصة
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- قابس
- ممكن
- على وجه التحديد
- <font style="vertical-align: inherit;"> كمادة تطعيم في تجديد عيوب محيط بالذورة (الحنك) الكبيرة:</font>
- قدم
- سابق
- مبدأ
- الأولوية
- خاص
- المفتاح الخاص
- مفاتيح خاصة
- برمجة وتطوير
- تنفيذ المشاريع
- حماية
- محمي
- حماية
- بروتوكول
- تزود
- المقدمة
- ويوفر
- جمهور
- مفتاح العام
- المفاتيح العامة
- نشرت
- سؤال
- القراء
- حقيقي
- تسجيل
- الافراج عن
- صدر
- وذكرت
- مطلوب
- آر إس إيه
- s
- القسم
- تأمين
- آمن
- أمن
- رأيت
- سبتمبر
- الجلسة
- إعدادات
- عدة
- جانب
- الاشارات
- So
- تطبيقات الكمبيوتر
- بعض
- مواصفة
- مواصفات
- كومات
- معيار
- خطوة
- خطوات
- لا يزال
- مسروق
- تخزين
- متجر
- تخزين
- المقدمة
- هذه
- مدعومة
- نظام
- من
- شكر
- أن
- •
- ويكلي
- من مشاركة
- منهم
- هناك.
- وبالتالي
- هم
- الأشياء
- الوقت
- الجدول الزمني
- إلى
- الرموز
- لمس
- انتقال
- افضل
- محاولة
- اثنان
- نوع
- أوبونتو
- فهم
- لسوء الحظ
- تستخدم
- مستعمل
- مستخدم
- تجربة المستخدم
- المستخدمين
- استخدام
- تريد
- وكان
- طريق..
- طرق
- المواقع
- أسبوعي
- كان
- متى
- التي
- في حين
- من الذى
- مع
- بدون
- جاري الكتابة
- X
- سنوات
- نعم فعلا
- زفيرنت