در این پروتکل، کاربران باید احراز هویت شوند. آنها می توانند این کار را با رمزهای عبور، فایل های حاوی کلیدهای خصوصی RSA، دستگاه های سخت افزاری مانند Ledger Nano S و Ledger Nano X و غیره انجام دهند.
برخی از ابزارهای احراز هویت نسبت به سایرین ایمن تر هستند: استفاده از یک دستگاه سخت افزاری که برای ذخیره یک کلید خصوصی طراحی شده است بدون اینکه امکان استخراج آن وجود داشته باشد از ذخیره کلید خصوصی در یک فایل امن تر است. متأسفانه استفاده از ایمن ترین آنها نیز دردناک تر است. کاربرانی که کلیدهای خود را روی یک دستگاه دارند باید دستگاه را با خود حمل کنند، باید کد پین خود را هر بار که جلسه SSH را شروع میکنند تایپ کنند، و غیره. این امر حمایت از روشهای ایمنتر از رمزهای عبور و فایلها را برای موارد استفاده بسیار دشوار میکند. امنیت دسترسی در اولویت نیست.
بنابراین سؤال این است: آیا میتوان مطالب احراز هویت را با امنیت بیشتری نسبت به یک فایل (که توسط برخی بدافزارها سرقت میشود)، بدون تغییر تجربه کاربری ذخیره کرد؟
و پاسخ این است: بله، با استفاده از TPM!
مقداری تاریخ
برای مدتی طولانی، رایانهها میتوانند مستقیماً یک تراشه امنیتی را تعبیه کنند. این تراشه که ماژول پلتفرم مورد اعتماد (TPM) نام دارد، ویژگی های بسیاری از جمله توانایی محافظت از کلیدهای خصوصی مورد استفاده در رمزنگاری کلید عمومی را ارائه می دهد.
از آنجایی که در رایانه ها تعبیه شده است، برای استفاده از آن نیازی به وصل کردن دستگاه به رایانه نیست. بنابراین نسبت به یک دستگاه سختافزاری که میتوان آن را در مکانی متفاوت از رایانه ذخیره کرد، امنیت کمتری در نظر گرفته میشود (این امر امکان اجرای این اصل را میدهد که در حالی که دستگاه به رایانه متصل نیست، هیچ بدافزاری نمیتواند از اسرار ذخیره شده در آن استفاده کند).
بنابراین TPM "بهترین امنیت" نیست، اما هنوز هم بسیار امن تر از استفاده از فایل هایی مانند $HOME/.ssh/id_rsa
برای ذخیره کلیدهای خصوصی
چگونه می توان از TPM با OpenSSH در لینوکس استفاده کرد؟ با پروژه ای به نام tpm2-pkcs11
، دستورالعمل های موجود در بسیاری از وب سایت ها را برای چندین سال، از جمله در اسناد رسمی از مخزن کد آن.
حالا چه خبر؟ این نرم افزار اکنون در اوبونتو و دبیان بسته بندی شده است که در نهایت در دسترس اکثر کاربران لینوکس قرار می گیرد!
به طور دقیق تر در اینجا یک جدول زمانی وجود دارد:
- در سال 2014 مشخصات اصلی TPM 2.0 منتشر شد. برای تعامل با یک TPM از نرم افزار، یک تلاش استانداردسازی انجام شد و دو پشته نرم افزاری ناسازگار ایجاد شد: یکی از گروه محاسبات مورد اعتماد (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، بسته Debian بود ثابت (و نگهبان کمک من را تایید کرد!).
- در آوریل 2021، اوبونتو 21.04 اسب هیرسوت با آزاد شد بسته ثابت.
- در آگوست 2021، Debian 11 روزنه با آزاد شد بسته ثابت
اکنون tpm2-pkcs11
در دبیان، اوبونتو و چندین توزیع لینوکس دیگر در دسترس است عذرخواهی.
با استفاده از tpm2-pkcs11
در دبیان 11، در اینجا مراحل تولید و استفاده از یک کلید SSH جدید ذخیره شده توسط TPM وجود دارد:
- دستور نصب کنید
tpm2_ptool
و کتابخانهlibtpm2_pkcs11.so.1
که توسط دو بسته ارائه می شود:
2. بررسی کنید که سیستم می تواند از TPM 2.0 استفاده کند. اگر یکی از بررسیهای زیر ناموفق باشد، میتواند به این معنی باشد که سیستم TPM ندارد، یا TPM 1.2 دارد، یا TPM 2.0 دارد که در تنظیمات بایوس غیرفعال است:
3. کاربر فعلی را به گروهی که می تواند به دستگاه TPM دسترسی داشته باشد اضافه کنید /dev/tpmrm0
. در دبیان و اوبونتو، کاربران باید به گروهی به نام تعلق داشته باشند tss
(با تشکر از پیکربندی ارائه شده توسط tpm-udev
بسته). دستور زیر کاربر فعلی را به این گروه اضافه می کند:
راه اندازی یک فروشگاه کاربر، محافظت شده توسط یک رمز عبور و یک SOPIN و یک کلید ایجاد کنید، به عنوان مثال یک کلید منحنی بیضی روی منحنی به نام "NIST P-256" (همچنین به عنوان "secp256r1" شناخته می شود):
4. مخفف SOPIN به معنی شماره شناسایی شخصی افسر امنیتی و مفهومی از مشخصات 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
و آنها را در Pull Requests ارسال کرد #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، مجوز هنر رایگان)
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoAiStream. Web3 Data Intelligence دانش تقویت شده دسترسی به اینجا.
- ضرب کردن آینده با آدرین اشلی. دسترسی به اینجا.
- خرید و فروش سهام در شرکت های PRE-IPO با PREIPO®. دسترسی به اینجا.
- منبع: https://www.ledger.com/blog/ssh-with-tpm
- : دارد
- :است
- :نه
- :جایی که
- $UP
- 1
- 11
- 13
- 14
- ٪۱۰۰
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- توانایی
- قادر
- درباره ما
- دسترسی
- حساب
- تصدیق شده
- اضافه کردن
- اضافه
- می افزاید:
- مدافع
- همچنین
- جایگزین
- an
- و
- پاسخ
- هر
- API
- کاربرد
- آوریل
- هستند
- هنر
- مقاله
- AS
- At
- اوت
- تأیید اعتبار
- تصدیق
- در دسترس
- حمایت
- BE
- شدن
- بوده
- هر دو
- شکسته
- اشکال
- اما
- by
- صدا
- CAN
- نمی توان
- حمل
- مورد
- موارد
- CGI
- متغیر
- بررسی
- چک
- تراشه
- مشتری
- رمز
- کامپیوتر
- کامپیوتر
- محاسبه
- مفهوم
- کنفرانس
- پیکر بندی
- اتصال
- متصل
- در نظر گرفته
- میتوانست
- ایجاد
- ایجاد شده
- ایجاد
- رمزنگاری
- رمزنگاری
- کنجکاو
- جاری
- منحنی
- تعریف می کند
- طراحی
- برنامه نویس
- دستگاه
- دستگاه ها
- DID
- مختلف
- مشکل
- مستقیما
- غیر فعال
- نمایش دادن
- توزیع
- do
- مستندات
- میکند
- در طی
- به آسانی
- تلاش
- بیضوی
- جاسازی کردن
- جاسازی شده
- فعال
- را قادر می سازد
- اجرای قانون
- انگلیسی
- و غیره
- تا کنون
- هر
- مثال
- موجود
- تجربه
- عصاره
- نتواند
- ویژگی
- امکانات
- فوریه
- پرونده
- فایل ها
- سرانجام
- ثابت
- پیروی
- برای
- رایگان
- فرانسوی
- از جانب
- آینده
- تولید می کنند
- GitHub
- گروه
- سخت افزار
- دستگاه سخت افزاری
- دستگاه های سخت افزاری
- آیا
- اینجا کلیک نمایید
- چگونه
- چگونه
- HTML
- HTTP
- HTTPS
- i
- آی بی ام
- شناسایی
- if
- اجرا
- واردات
- in
- از جمله
- ناسازگار
- وارد کردن
- در عوض
- دستورالعمل
- تعامل
- علاقه مند
- رابط
- به
- موضوع
- IT
- ITS
- ژانویه
- ژانویه 2021
- JPG
- کلید
- کلید
- شناخته شده
- دفتر کل
- لجر نانو
- Ledger Nano S
- Ledger Nano X
- کمتر
- پسندیدن
- احتمالا
- لینوکس
- ذکر شده
- محل
- از دست رفته
- اصلی
- ساخت
- باعث می شود
- ساخت
- نرم افزارهای مخرب
- بسیاری
- ماده
- حداکثر عرض
- ممکن است..
- متوسط
- به معنی
- واحد
- بیش
- علاوه بر این
- اکثر
- بسیار
- my
- تحت عنوان
- نانو
- لازم
- نیاز
- ضروری
- جدید
- اخبار
- نه
- اکنون
- of
- افسر
- on
- ONE
- آنهایی که
- آنلاین
- or
- سفارش
- دیگر
- دیگران
- بسته
- بسته بندی
- بسته
- دردناک
- کلمه عبور
- کلمه عبور
- انجام دادن
- شخصی
- محل
- سکو
- افلاطون
- هوش داده افلاطون
- PlatoData
- برق وصل کردن
- ممکن
- دقیقا
- ارائه
- ارائه شده
- قبلی
- اصل
- اولویت
- خصوصی
- کلید خصوصی
- کلیدهای خصوصی
- برنامه نويسي
- پروژه
- محافظت از
- محفوظ
- حفاظت
- پروتکل
- ارائه
- ارائه
- فراهم می کند
- عمومی
- کلید عمومی
- کلیدهای عمومی
- منتشر شده
- سوال
- خوانندگان
- واقعی
- ضبط
- آزاد
- منتشر شد
- گزارش
- ضروری
- rsa
- s
- بخش
- امن
- ایمن
- تیم امنیت لاتاری
- مشاهده گردید
- سپتامبر
- جلسه
- تنظیمات
- چند
- طرف
- ساده
- So
- نرم افزار
- برخی از
- مشخصات
- مشخصات
- پشته
- استاندارد
- گام
- مراحل
- هنوز
- به سرقت رفته
- ذخیره سازی
- opbevare
- ذخیره شده
- ارسال
- چنین
- پشتیبانی
- سیستم
- نسبت به
- با تشکر
- که
- La
- هفتگی
- شان
- آنها
- آنجا.
- از این رو
- آنها
- اشیاء
- این
- زمان
- جدول زمانی
- به
- نشانه
- لمس کردن
- انتقال
- مورد اعتماد
- امتحان
- دو
- نوع
- اوبونتو
- فهمیدن
- متاسفانه
- استفاده کنید
- استفاده
- کاربر
- سابقه کاربر
- کاربران
- با استفاده از
- می خواهم
- بود
- مسیر..
- راه
- وب سایت
- هفتگی
- بود
- چه زمانی
- که
- در حین
- WHO
- با
- بدون
- نوشته
- X
- سال
- بله
- زفیرنت