مقدمه:
fido در لغت کوتاه شده عبارت Fast Identity Online به معنی هویت سریع آنلاین میباشد.
در زبان لاتین نیز این لغت به معنی” اعتماد کردن” است. پیشینه محبوبیت این نام مربوط به زمانی است که آبراهام لینکلن نام سگ خود را fido گذاشته بود که خود دلالت بر وفاداری آن میکرد.
در حوزه فناوری، fido در حقیقت تکنیک و فناوری بسیار امنی جهت احراز هویت کاربر میباشد که در سال 2013 معرفی شد و هدف آن کاهش تکیه بر اعتماد به رمزهای ثابت و ذخیره سازی آنها در یک پایگاه داده بود.
اکنون بسیار واضح است که چنین نامگذاری برای این دستاورد احراز هویت بسیار هوشمندانه بوده است و مفهوم اعتماد و امنیت را القا میکند. اما پرسش اصلی اینجاست که این فناوری چگونه کار میکند که این سطح از امنیت را برای کاربر در برابر مخاطرات نگهداری رمز تامین میکند. در ادامه به این امر خواهیم پرداخت.
fido چگونه کار میکند؟
این فناوری از گذشته تا به امروز دستخوش تغییرات بسیاری بوده. ماحصل این تغییرات دو پروتکل ذیل میباشد.
- CTAP1 که آن را fido/u2f نیز مینامند.
- CTAP2 که آن را fido2 نیز مینامند.
CTAP چیست؟
پروتکلی است که نحوه ارتباط بین مرورگر (نماینده کاربر) و احراز کننده که میتواند کلید امنیتی باشد را مشخص میکند.
توجه: در ابتدا که fido/u2f معرفی شد توانایی پشتیبانی از احراز کنندههای فیزیکی همچون (کلیدهای امنیتی) را نداشت اما به مرور که این قابلیت به آن اضافه شد و تحت استاندارد کنسرسیوم جهانی وب (W3C) قرار گرفت پروتکلی به نام CTAP معرفی شد و نام آن به CTAP1 تغییر پیدا کرد.
در شکل ذیل این روند تکامل را مشاهده میکنید.

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

توجه: منظور از relying party همان سرویس دهنده است.
اصول اولیه هر دو پروتکلfido2 و u2f یکسان و بر پایه تولید جفت کلید خصوصی و عمومی است.
فرآیند احراز هویت در هردو پروتکل یکسان است و مشتمل بر دو مرحله ثبت نام و احراز هویت است. ثبت نام :
برای توضیح بهتر فرآیند، از مثال ورود به محیط کاربری ویندوز استفاده میکنیم. کاربر ابتدا از طریق میز کار خود که تحت شبکه است و کلید امنیتی خود ، توکن مربوطه را ایجاد میکند. این توکن شامل یک کلید عمومی و یک کلید خصوصی است. کلید عمومی از طریق وب در دیتابیس مربوط به آن کاربر ذخیره و کلید خصوصی در سخت افزار ذخیره میشود. همچنین در این مرحله از کاربر خواسته میشود حضور حقیقی خود را برای دسترسی به کلید خصوصی به یکی از سه روش ذیل ثبات کند:
1: فشار یک دکمه
2: حسگر اثر انگشت
3: تشخیص چهره
خاصیت جفت کلید عمومی و خصوصی این است که اگر با یک کلید رمز نگاری اتفاق بیافتد رمز گشایی فقط و فقط توسط آن جفت دیگر میسر میشود. پس در نتیجه اگر دیتابیس کاربر مورد حمله سایبری قرار بگیرد و کلید
عمومی آن افشا شود به دلیل آنکه کلید خصوصی در سخت افزار ذخیره شده است فرآیند رمز گشایی و در نتیجه احراز تکمیل نمیشود.
احراز هویت و ورود :
سرویس دهنده fido صفحه ورود به محیط کاربری ویندوز را به نرم افزار تامین کننده احراز هویت که از طریق وب با سرویس دهنده در ارتباط است، مجهز میکند. کاربر با انتخاب گزینه ورود از طریق کلید امنیتی وارد فرآیند احراز هویت میشود،که شامل گام های زیر است. پس از ورود نام کاربری ابتدا تامین کننده احراز هویت به او پیامی از طرف سرویس دهنده نشان میدهد و اصطلاحا او را به چالش احراز هویت میکشاند و از او میخواهد حضور حقیقی خود را به منظور دسترسی به کلید خصوصی از طریق یکی از سه روش ذکر شده در مرحله ثبت نام احراز کند.


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