امنیت حساب های خود را با WebAuthn تقویت کنید.

امنیت حساب های خود را با WebAuthn تقویت کنید.

امنیت حساب های خود را با WebAuthn تقویت کنید.

همانطور که ممکن است بدانید، کیف پول های لجر نانو شما (Ledger Nano S، Nano S Plus و Nano X) پلتفرم‌های باز هستند. که از امنیت Secure Elements استفاده می‌کنند.
سیستم عامل لجر (OS) برنامه هایی را بارگیری می کند. که از API های رمزنگاری استفاده می کنند. سیستم عامل همچنین مکانیزم های جداسازی و استخراج کلید را ارائه می دهد.

این فناوری سطح بالایی از امنیت را حتی در برابر مهاجمی که به دستگاه‌های شما دسترسی فیزیکی دارد، فراهم می‌کند. و کیف پول های لجر نانو، شما را به ابزاری عالی برای مدیریت امن دارایی‌های دیجیتال شما تبدیل می‌کند. اما آنها همچنین برای ایمن کردن اعتبار ورود شما به بسیاری از خدمات آنلاین بسیار مناسب هستند.

به همین دلیل است که ما یک برنامه کاربردی جدید به نام کلید امنیتی ایجاد کرده‌ایم، که استاندارد WebAuthn را برای احراز هویت فاکتور دوم (2FA)، احراز هویت چند عاملی (MFA) یا حتی احراز هویت بدون رمز عبور پیاده‌سازی می‌کند.

محدودیت ها

به دلیل محدودیت های سیستم عامل، این برنامه کلید امنیتی دارای محدودیت هایی است:

  • به دلیل عدم پشتیبانی از AES-SIV در Nano S OS، در Nano S در دسترس نیست.
  • اطلاعات شناسایی قابل کشف / مقیم پشتیبانی می شود. اما در بخشی از فلاش دستگاه ذخیره می شود که با حذف برنامه پاک می شود، که ممکن است اتفاق بیفتد:
  • اگر کاربر بخواهد آن را از Ledger Live حذف نصب کند.
  • اگر کاربر بخواهد برنامه را به نسخه جدید موجود به روز کند.
  • اگر کاربر نسخه سیستم عامل را به روز کند.
  • با توجه به مشخصات FIDO2، اعتبارنامه ها را می توان باطل کرد، اما مکانیسم ابطال بر اساس شمارنده ای است که – به عنوان اعتبارنامه های قابل کشف – پس از حذف برنامه پاک می شود.

 

WebAuthn چیست؟

Web Authentication یا به اختصار WebAuthn استانداردی است که توسط W3C و FIDO Alliance نوشته شده است. این یک مکانیسم احراز هویت کاربران را بر اساس رمزنگاری کلیدهای عمومی به جای رمزهای عبور مشخص می کند.

انگیزه ایجاد چنین استانداردی این بود که وجود آنلاین فعلی ما بر اساس رمزهای عبور ساخته شده است. و بیشتر موارد نقض امنیتی مربوط به رمزهای عبور سرقت شده یا ضعیف است.

استفاده از مکانیسم امنیتی رمزنگاری کلید عمومی

رمزنگاری کلید عمومی که به نام رمزنگاری نامتقارن نیز شناخته می شود، یک مکانیسم رمزنگاری مبتنی بر داشتن دو کلید مرتبط است:

  • یک کلید خصوصی که باید مخفی بماند.
  • یک کلید عمومی، که می تواند به اشتراک گذاشته شود.

این کلیدها دارای ویژگی زیر هستند:

از کلید عمومی می توان برای تأیید اینکه آیا پیامی توسط کلید خصوصی امضا شده است. یا خیر استفاده کرد.
بیایید در نظر بگیریم که یک کاربر، باب، یک جفت کلید ایجاد می کند و کلید عمومی را با آلیس به اشتراک می گذارد. اگر باب پیامی برای آلیس ارسال کند، او می‌تواند با استفاده از کلید خصوصی خود پیام را امضا کند. و آلیس می‌تواند با استفاده از کلید عمومی تأیید کند. که پیام واقعاً توسط باب امضا شده است، که تنها کسی است که می‌داند کلید خصوصی چیست.

در مورد احراز هویت، این بدان معنی است که کاربر می تواند یک جفت کلید ایجاد کند. و کلید عمومی را با یک سرویس آنلاین به اشتراک بگذارد. بعداً، کاربر می تواند با اثبات به سرویس آنلاین که کلید خصوصی را می داند، خود را احراز هویت کند.

همه اینها بدون نیاز به ارسال کلید خصوصی به سرویس آنلاین! این بدان معنی است که کلید خصوصی را نمی توان در پایگاه داده های سرور به سرقت برد و یا در طول ارتباطات کاربر به سرور رهگیری کرد.

کیف پول های لجر نانو ، مقاوم در برابر حملات فیشینگ

استاندارد WebAuthn همچنین دارای خاصیت انعطاف پذیری در برابر حملات فیشینگ کلاسیک است.

اساساً، حمله فیشینگ حمله‌ای است که در آن یک هکر شما را فریب می‌دهد تا اطلاعات حساس، در مورد ما، اعتبارنامه ورود به سیستم را فاش کنید.

برخلاف سایر مکانیسم‌های MFA مانند OTP، مکانیسم WebAuthn در برابر چنین حملاتی مقاوم است. در واقع، هر جفت کلید به یک مبدأ یا دامنه وب خاص متصل است، به این معنی که حمله ای سعی دارد شما را فریب دهد تا از اعتبار WebAuthn در دامنه دیگری استفاده کند (مثلاً یک سایت جعلی با URL best-service.com به جای سایت قانونی. url best.service.com) از کار می افتد زیرا دستگاه احراز هویت یک جفت کلید متناظر برای آن دامنه نخواهد داشت. بنابراین حمله شکست خواهد خورد و حریف هیچ اطلاعات مفیدی به دست نخواهد آورد.

امنیت سخت افزاری قوی کیف پول های لجر نانو

WebAuthn استفاده از عناصر امنیتی سخت افزاری را برای ذخیره ایمن کلیدهای خصوصی توصیه می کند.
با توجه به برنامه کلید امنیتی لجر، کلیدهای خصوصی در دستگاه Secure Element (SE) ذخیره می‌شوند که ارزیابی امنیتی معیارهای مشترک را گذرانده‌اند – یک استاندارد بین‌المللی برای کارت‌های بانکی و الزامات دولتی – و گواهی EAL5+ را دریافت کرده‌اند.

ثبت نام های تایید شده کیف پول های لجر نانو

احراز هویت WebAuthn تأیید شده است، به این معنی که سرور می تواند تأیید کند که دستگاه احراز هویت قانونی است.
این را می توان در برخی از سرویس ها فعال کرد تا فقط لیست کوتاهی از دستگاه های احراز هویت را مجاز کند یا منابع جعلی را شناسایی کند.

WebAuthn چگونه کار می کند ؟

ابتدا مشخص می کنیم بازیگران مختلف کدامند:

  • کاربر، یعنی شما، که سعی می کنید با خیال راحت در یک سرویس آنلاین ثبت نام کنید.
  • Relying Party، که به سروری اشاره دارد که با استفاده از WebAuthn به یک برنامه نرم افزاری امن دسترسی دارد. مثلا گوگل، فیسبوک، توییتر.
  • عامل کاربر، که به هر نرم افزاری که از طرف یک کاربر عمل می کند، اشاره دارد که “بازیابی، ارائه و تسهیل تعامل کاربر نهایی با محتوای وب” است. به عنوان مثال مرورگر وب مورد علاقه شما در سیستم عامل مورد علاقه شما.
  • Authentificator که به وسیله ای برای تایید هویت کاربر اشاره دارد. در این مورد، این دستگاه Ledger Nano شماست که برنامه امنیتی کلید را اجرا می کند.

دو عملیات اصلی WebAuthn وجود دارد که می توان آنها را به صورت زیر ادامه داد:

ثبت نامی که در طی آن:

  • Authenticator درخواستی را از طریق عامل کاربر از طرف متکی دریافت می کند. که حاوی مبدأ حزب متکی یا دامنه وب همراه با یک شناسه کاربر و در صورت تمایل نام کاربری است.
  • Authenticator رضایت کاربر را درخواست می کند، یک جفت کلید منحصر به فرد ایجاد می کند و سپس با کلید عمومی به طرف متکی پاسخ می دهد.

احراز هویتی که طی آن:

  • Authenticator از طریق عامل کاربر، درخواستی از طرف متکی دریافت می کند که شامل مبدأ حزب متکی یا دامنه وب همراه با یک چالش است.
  • Authenticator رضایت کاربر را درخواست می کند. و سپس با پیامی حاوی امضای ایجاد شده با کلید خصوصی مرتبط با اعتبار ثبت شده پاسخ می دهد.

تفاوت با اپلیکیشن نانو لجر FIDO-U2F

برنامه Ledger FIDO-U2F در حال پیاده سازی FIDO U2F، نسخه قبلی FIDO2 است که در استاندارد WebAuthn گنجانده شده است. این نسخه قبلی برای استفاده به عنوان عامل دوم برای رمزهای عبور طراحی شده بود، در حالی که WebAuthn به منظور اجازه احراز هویت بدون رمز عبور است.

در سطح جهانی، تجربه کاربری بهتری را امکان پذیر می کند:

  • در دستگاه‌های احراز هویت دارای صفحه، اکنون می‌توان مبدأ (یا دامنه خدمات) حزب متکی را به‌جای هش آن نمایش داد.
  • اعتبارنامه های قابل کشف (همچنین کلیدهای مقیم نامیده می شوند) در مشخصات FIDO2 معرفی شده اند.
    آنها به سناریوهای بدون رمز عبور اجازه می دهند که در آن کاربر حتی نیازی به وارد کردن نام کاربری خود در سرویس ندارد.
    در عوض، پس از انجام ثبت نام، طرف متکی می‌تواند یک احراز هویت فقط با مبدأ آن و بدون لیست اعتبار درخواست کند. پس از دریافت چنین درخواستی، احراز هویت کننده به دنبال اعتبارنامه های ذخیره شده داخلی (مقیم) مرتبط با این طرف متکی می گردد و از آنها برای احراز هویت کاربر استفاده می کند.

سازگاری

نرم افزار استاندارد WebAuthn و در نتیجه کلید امنیتی لجر در بسیاری از سیستم عامل ها و مرورگرهای وب پشتیبانی می شود:

  • در ویندوز 10 و بالاتر، حداقل در Edge، Chrome و Firefox پشتیبانی می شود.
  • در MacOS 11.4 و نسخه های جدیدتر، در Safari و Chrome پشتیبانی می شود، اما در حال حاضر فقط تا حدی در فایرفاکس در دسترس است.
  • در اوبونتو 20.04 و نسخه‌های جدیدتر، در کروم پشتیبانی می‌شود، اما در حال حاضر فقط تا حدی در فایرفاکس موجود است.
  • در iOS 14 و iPadOS 15.5 و بالاتر، در Safari، Chrome و Firefox پشتیبانی می شود.
  • در اندروید 11 به بعد، فقط تا حدی در کروم پشتیبانی می‌شود.

پشتیبانی کامل از فایرفاکس در لینوکس و MacOS در حال توسعه است، در حال حاضر تنها U2f پیاده سازی شده است.

با استفاده از برنامه کلید امنیتی لجر

خدمات WebAuthn
WebAuthn اکنون به استقبال گسترده ای رسیده است. بنابراین، برنامه کلید امنیتی لجر را می توان در بسیاری از سرویس ها برای احراز هویت چند عاملی و گاهی اوقات برای احراز هویت بدون رمز استفاده کرد.

در اینجا عصاره ای از خدمات پیاده سازی Webauthn آورده شده است:

  • 1Password
  • AWS
  • بایننس
  • بیت باکت
  • دراپ باکس
  • فیس بوک
  • گاندی
  • جوزا
  • GitHub
  • GitLab
  • گوگل
  • مایکروسافت
  • اوکتا
  • Salesforce
  • Shopify
  • Twitch
    توییتر

مثال گام به گام

1. Ledger Live را دانلود کنید. و برنامه Security Key را در بخش My Ledger انتخاب کنید تا آن را روی دستگاه خود نصب کنید.

2. تنظیمات مناسب را روی سرویس مورد نظر (AWS، Dropbox، Facebook، Google، GitHub، Microsoft، Twitter، …) تنظیم کنید.

3. از کلید امنیتی خود برای ورود به سیستم استفاده کنید!

به لطف ترکیب امنیت سرویس شخص ثالث و برنامه کلید امنیتی ما، اکنون امنیت پیشرفته ای را برای حساب های خود فعال کرده اید.

ایمن کردن کلیدهای SSH

کلیدهای SSH توسط توسعه دهندگان در برخی شرایط بحرانی از احراز هویت گرفته تا سرور GIT تا اتصال به سرورهای تولید حیاتی استفاده می شود. دستگاه های Ledger قبلاً راهی برای ایمن کردن کلیدهای SSH شما با استفاده از Ledger SSH Nano Application داشتند.
با این حال، این نیاز به استفاده از یک برنامه نانو اختصاصی و یک عامل در رایانه شما داشت.
موضوع دیگه این نیست. OpenSSH 8.2 یک ویژگی جدید را معرفی کرد که امکان استفاده “بومی” از دستگاه های احراز هویت FIDO را برای ذخیره سازی کلید SSH فراهم می کند.

مثال استفاده

بیایید ببینیم چگونه می توان از آن برای تعامل با یک مخزن GitHub استفاده کرد:

1. یک جفت کلید ایجاد کنید:

امنیت کیف پول های لجر نانو

2. کلید SSH را در حساب GitHub خود ثبت کنید. (به مستندات GitHub مراجعه کنید.)

3. از آن به عنوان مثال برای شبیه سازی یک مخزن استفاده کنید.

امنیت کیف پول های لجر نانو

اگر چند کلید SSH دارید، می‌توانید این پاسخ StackOverflow را دنبال کنید تا به جای کلید پیش‌فرض، یک کلید خاص را انتخاب کنید.

پارامترها

هنگام ایجاد یک جفت کلید SSH با استفاده از ssh-keygen و کلید امنیتی خود، می توانید:

  •  منحنی تولید جفت کلید را با مشخص کردن -t ed25519-sk یا -t ecdsa-sk انتخاب کنید.
  •  استفاده از کلید خصوصی SSH را بدون پذیرش دستی کلید امنیتی با مشخص کردن -O-no-touch-required مجاز کنید. با این حال، برخی از سرویس ها می توانند چنین احراز هویتی را رد کنند، این مورد برای GitHub است.
    یک گزینه ساکن اضافی وجود دارد، اما امنیت اضافی اضافه نمی کند و استفاده از آن پیچیده تر است.

محدودیت ها

برنامه امنیتی کلید جفت کلید خصوصی-عمومی را از:

  • کلیدی که از دانه دستگاه مشتق شده است.
  • یک غیر تصادفی برای هر اعتبار
  • یک شمارنده ResetGeneration، که هدف آن امکان ابطال اعتبار با استفاده از یک فراخوانی تنظیم مجدد FIDO2 است. در این صورت شمارنده افزایش می یابد و مقدار آن در ذخیره سازی دائمی روی دستگاه ذخیره می شود.

nonce و برخی فراداده های رمزگذاری شده در یک رشته بایت مات محصور می شوند. این رشته بایت در حین ثبت نام به طرف متکی ارسال می شود. این داده‌ها با استفاده از AES-SIV رمزگذاری می‌شوند، که هنوز در Ledger Nano S پشتیبانی نمی‌شود. بنابراین برنامه در این دستگاه در دسترس نیست.

پس از احراز هویت، طرف متکی رشته بایت را که توسط دستگاه احراز هویت می‌شود، پس می‌فرستد و سپس از nonce برای تولید کلید خصوصی استفاده می‌شود. اکنون، در صورت به روز رسانی برنامه یا به روز رسانی سیستم عامل، فضای ذخیره سازی دائمی برنامه از بین می رود. این بدان معناست که شمارنده ResetGeneration مجدداً روی 0 مقدار دهی اولیه می شود. بنابراین، اگر مقدار شمارنده ResetGeneration قبل از نصب مجدد برنامه 0 نبود، تمام اعتبارنامه هایی که کار می کردند به عنوان ابطال در نظر گرفته می شوند. با این حال، استفاده از تماس‌های تنظیم مجدد FIDO2 در کاربردهای کلاسیک غیرعادی است، بنابراین اعتبارنامه شما باید ایمن باشد.

WebAuthn همچنین اجازه ایجاد اعتبارهای مقیم یا قابل کشف را می دهد. ایده این است که در مقابل احراز هویت اسمی، طرف متکی رشته بایت مات حاوی nonce اعتبار را به دستگاه ارسال نمی کند. بنابراین، دستگاه باید آن را در ذخیره سازی دائمی ذخیره کند. مجدداً، این حافظه پایدار در طول به‌روزرسانی برنامه یا سیستم‌افزار پاک می‌شود و بنابراین آن اعتبارنامه‌ها حذف خواهند شد.

منبع  (ledger.com)