مقدمه:

fido در لغت کوتاه شده عبارت Fast Identity Online به معنی هویت سریع آنلاین می­باشد.

در زبان لاتین نیز این لغت به معنی” اعتماد کردن” است. پیشینه محبوبیت این نام مربوط به زمانی است که آبراهام لینکلن نام سگ خود را fido گذاشته بود که خود دلالت بر وفاداری آن می­کرد.

در حوزه فناوری، fido در حقیقت تکنیک و فناوری بسیار امنی جهت احراز هویت کاربر می­باشد که  در سال 2013 معرفی شد و هدف آن کاهش تکیه بر اعتماد به رمز­های ثابت و ذخیره سازی آن­ها در یک پایگاه داده بود.

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

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

این فناوری از گذشته تا به امروز دستخوش تغییرات بسیاری بوده. ماحصل این تغییرات دو پروتکل ذیل می­باشد.

  1. CTAP1 که آن را fido/u2f نیز می­نامند.
  2. CTAP2 که آن را fido2 نیز می­نامند.

CTAP چیست؟

پروتکلی است که نحوه ارتباط بین مرورگر (نماینده کاربر) و احراز کننده که می­تواند کلید امنیتی باشد را مشخص می­کند.

توجه: در ابتدا که fido/u2f  معرفی شد توانایی پشتیبانی از احراز کننده­های فیزیکی همچون (کلید­های امنیتی) را نداشت اما به مرور که این قابلیت به آن­ اضافه شد و تحت استاندارد کنسرسیوم جهانی وب (W3C) قرار گرفت پروتکلی به نام CTAP معرفی شد و نام آن به CTAP1 تغییر پیدا کرد.

در شکل ذیل این روند تکامل را مشاهده می­کنید.

توجه: تحت وب بودن fido2 به معنی الزام دسترسی به اینترنت نیست، در حقیقت احراز هویت تحت وب را معرفی می­کند که فرآیند احراز هویت fido را از طریق مرورگر انجام می­دهد.

توجه:  منظور از relying party همان سرویس دهنده است.

اصول اولیه هر دو پروتکلfido2 و u2f یکسان و بر پایه تولید جفت کلید خصوصی و عمومی است.

فرآیند احراز هویت در هردو پروتکل یکسان است و مشتمل بر دو مرحله ثبت نام و احراز هویت است. ثبت نام :

برای توضیح بهتر فرآیند، از مثال ورود به محیط کاربری ویندوز استفاده می­کنیم. کاربر ابتدا از طریق میز کار خود که تحت شبکه است و کلید امنیتی خود ، توکن مربوطه را ایجاد می­کند. این توکن شامل یک کلید عمومی و یک کلید خصوصی است. کلید عمومی از طریق وب در دیتابیس مربوط به آن کاربر ذخیره و کلید خصوصی در سخت افزار ذخیره می­شود. همچنین در این مرحله از کاربر خواسته می­شود حضور حقیقی خود را برای دسترسی به کلید خصوصی به یکی از سه روش ذیل ثبات کند:

1: فشار یک دکمه

2: حسگر اثر انگشت

3: تشخیص چهره

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

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

احراز هویت و ورود :

سرویس دهنده fido صفحه ورود به محیط کاربری ویندوز را به نرم افزار تامین کننده احراز هویت که از طریق وب با سرویس دهنده در ارتباط است، مجهز می­کند. کاربر با انتخاب گزینه ورود از طریق کلید امنیتی وارد فرآیند احراز هویت می­شود،که شامل گام ­های زیر است. پس از ورود نام کاربری ابتدا تامین کننده احراز هویت به او پیامی از طرف سرویس دهنده نشان می­دهد و اصطلاحا او را به چالش احراز هویت می­کشاند و از او می­خواهد حضور حقیقی خود را به منظور دسترسی به کلید خصوصی از طریق یکی از سه روش ذکر شده در مرحله ثبت نام احراز کند.

پس از اثبات و احراز حضور حقیقی کاربر دسترسی به کلید خصوصی آزاد شده و امضای دیحیتالی کاربر که مختص ورود به سامانه مذکور (ورود به دامنه کاربری ویندوز) از طریق نرم افزار تحت شبکه به سرویس دهنده ارسال می­شود

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