MFA

احراز هویت چند عاملی (MFA)  فرآیند استفاده از چندین عامل احراز هویت برای تأیید هویت کاربر قبل از دسترسی به یک منبع خاص است. حفاظت از منابع تنها با استفاده از یک عامل، نام کاربری و رمز عبور سنتی – آنها را در برابر نفوذ آسیب پذیر می کند. افزودن سایر فاکتورهای احراز هویت، از منابع محافظت می کند و احتمال حمله سایبری را کاهش می دهد.

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

MFA با تأیید کاربران با استفاده از فاکتورهای احراز هویت غیر از نام کاربری و رمز عبور آنها کار می کند

این عوامل احراز هویت ممکن است چیزی باشد که آنها می دانند (عامل دانش)، چیزی که دارند (عامل مالکیت) و چیزی که هستند (عامل وراثت).

عامل دانش:

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

  • رمزهای عبور
  • پین ها
  • عبارات عبور
  • پاسخ به سوالات امنیتی

معمولاً سؤالات امنیتی توصیه نمی شود زیرا مهاجمان ممکن است به راحتی آنها را به سرقت ببرند.

عامل مالکیت:

در اینجا، احراز هویت با چیزی که کاربر در اختیار دارد انجام می‌شود، مانند تلفن همراه، توکن فیزیکی،

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

عامل وراثت:

عامل وراثت که امن ترین عامل در بین سه عامل فوق است، شامل تأیید هویت به کمک ابزارهای بیومتریک ارثی، می­شود مانند:

  • اسکن اثر انگشت
  • اسکن صورت
  • اسکن شبکیه
  • تشخیص صدا

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

چرا احراز هویت چند عاملی (MFA) مهم است و باید مورد استفاده قرار بگیرد؟

ایمن سازی منابع فقط با استفاده از گذرواژه، تنها یک حداقلی را برای ایمن کردن هویت انجام می دهد. حملات متعددی وجود دارد که یک هکر می تواند از آنها برای نقض گذرواژه ها استفاده کند، مانند حملاتت فیشینگ، حملات فرهنگ لغتی و حملات برنامه های وب ، به همین دلیل است که اجرای لایه های اضافی احراز هویت برای ایمن سازی منابع مهم است.

 

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

 

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

 

استقرار MFA نه تنها به سازمان‌ها کمک می‌کند تا دسترسی را تقویت کنند، بلکه به آنها کمک می‌کند تا با هنجارهای نظارتی داده‌ها مانند PCI DSS، GDPR، NIST 800-63B، SOX و HIPAA مطابقت داشته باشند.

Qiper requirements

مشخصات مورد نیاز کیپر:

سخت افزار مورد نیاز

Recommended

Hardware

CPU: Quad-Core

processor

8 GB

RAM

50 GB

Disk Space

 

پلتفرم مورد پشتیبانی برای بخش سرور:

  • Windows server 2019
  • Windows server 2016

پلتفرم مورد پشتیبانی برای بخش کلاینت :

  • Windows 11
  • Windows 10
  • Windows 8
  • Ubuntu
  • Macintosh

مرورگر های مورد پشتیبانی:

  • Internet Explorer 9 and above
  • Firefox 4 and above
  • Chrome10 and above

دیتابیس­های مورد پشتیبانی:

  • PostgreSQL (Default Database bundled with Qiper)
  • MS SQL

Qiper Schematic

Endpoints

همان طور که در شماتیک کلی کیپر مشهود است راه حل کیپر می­تواند نقاط پایانی (End-Point) و یا به عبارت دیگر کاربردهای خارجی زیر را تحت پوشش احراز هویت چند عاملی قرار دهد:

  • کاربردهای ADFS
  • Office 365
  • Exchange Server
  • ایمیل سازمانی بر بستر Outlook (OWA)
  • Web-Application
  • کاربرد­های Radius Server
  • دسترسی به سوویچ ها و روترها به صورت Local و SSH
  • کاربردهای ورود به دسکتاپ ماشین­ها (OS Login)
  • دسترسی Local و راه دور (RDP) برای ورود به محیط کاربری ویندوز
  • دسترسی Local و راه دور (RDP) برای ورود به محیط کاربری لینوکس و مک با PAM
  • VPN

PAM

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

اولین فکر شما ممکن است تنظیم بسته های TCP یا احتمالا قوانین فایروال [Hack #33] و [Hack #34] باشد. اما اگر بخواهید به برخی از کاربران اجازه دهید از یک هاست خاص وارد شوند، اما دیگران را از ورود از آن منع کنید، چه؟یا اگر بخواهید از ورود برخی از کاربران در ساعات خاصی از روز به دلیل نگهداری روزانه جلوگیری کنید، اما به دیگران (یعنی مدیران) اجازه دهید در هر زمانی که بخواهند وارد سیستم شوند، چه؟برای اینکه این کار با هر سرویسی که ممکن است روی سیستم شما اجرا شود، به طور سنتی باید هر یک از آنها را برای پشتیبانی از این عملکرد جدید وصله کنید. این جایی است که PAM وارد تصویر می شود.

Pluggable Authentication Module که به اختصار به آن PAM گفته می­شود، به هنگام ورود شما به محیط کاربری لینوکس افزونه­ای ایجاد می­کند که ورود شما را به عاملیت دومی که از سوی سرویس دهنده ارسال می­شود منوط می­کند. این افزونه نرم افزاری هر روشیوه ورود ذیل را مجهز به احراز هویت چند عاملی می­کند.

1- محلی

2- از راه دور (ssh)

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

  • TOTP
  • HOTP
  • SMS
  • FIDO2 Security key
  • Push
  • E-mail (در صورت تقاضا)

دامنه کاربران مجاز یک ارگان در Active Directory آن سازمان تعریف شده است و در سامانه سرویس دهنده کیپر این کاربران به احراز هویت چند عاملی مجهز می­شوند. کیپرگیت (سرویس دهنده کیپر) عامل دوم (توکن) را برای کاربر ارسال کرده و کاربر آن را از طریق ماژول PAM  که در صفحه اولیه ورود کاربر توکن را تقاضا کرده است، باز خورد می­دهد. در نهایت سرویس دهنده صلاحیت ورود را بررسی می­کند.

PAM یا ماژول‌های احراز هویت قابل اتصال، فقط این نوع عملکردها (و بیشتر) را بدون نیاز به وصله همه سرویس‌های شما امکان پذیر می‌سازد. PAM مدتی است که تحت لینوکس، FreeBSD و Solaris در دسترس بوده است و اکنون جزء استاندارد امکانات احراز هویت سنتی در این پلتفرم‌ها است. بسیاری از سرویس هایی که نیاز به استفاده از نوعی احراز هویت دارند، اکنون از PAM پشتیبانی می کنند. ماژول‌ها برای سرویس‌ها در یک پشته پیکربندی شده‌اند، با تکمیل موفقیت‌آمیز بررسی‌های دسترسی، فرآیند احراز هویت از بالا به پایین ادامه می‌یابد. می توانید با ایجاد یک فایل در /etc/pam.d با همان نام سرویس، یک پشته سفارشی برای هر سرویس بسازید. اگر به جزئیات بیشتری نیاز دارید، می‌توانید با استفاده از ماژول pam_stack، یک پشته کامل از ماژول‌ها را اضافه کنید. این به شما امکان می دهد فایل خارجی دیگری حاوی یک پشته را مشخص کنید. اگر سرویسی فایل پیکربندی خود را در /etc/pam.d نداشته باشد، به طور پیش فرض از پشته مشخص شده در /etc/pam.d/other استفاده می کند.

هنگام پیکربندی یک سرویس برای استفاده با PAM، چندین نوع ورودی در دسترس است. این انواع به شخص اجازه می‌دهد مشخص کند که آیا یک ماژول احراز هویت، کنترل دسترسی، کنترل تغییر رمز عبور، یا راه‌اندازی و حذف جلسه را ارائه می‌دهد یا خیر. در حال حاضر، ما فقط به یکی از انواع علاقه مندیم: نوع حساب. این نوع ورودی به شما امکان می دهد ماژول هایی را مشخص کنید که دسترسی به حساب هایی که احراز هویت شده اند را کنترل کنند. علاوه بر فایل‌های پیکربندی خاص سرویس، برخی از ماژول‌ها اطلاعات پیکربندی گسترده‌ای دارند که می‌تواند در فایل‌های داخل دایرکتوری /etc/security مشخص شود. برای این هک، ما عمدتا از دو مورد از مفیدترین ماژول های این نوع، pam_access و pam_time استفاده خواهیم کرد. ماژول pam_access به شخص اجازه می دهد تا جایی که کاربر یا گروهی از کاربران می توانند از آنجا وارد شوند را محدود کند. برای استفاده از آن، ابتدا باید سرویسی را که می خواهید از ماژول با آن استفاده کنید، پیکربندی کنید. می توانید این کار را با ویرایش فایل پیکربندی PAM سرویس در /etc/pam.d انجام دهید.

به مثال زیر به عنوان مثالی در سیستم عامل Red Hat توجه فرمایید:

#%PAM-1.0

auth       required     pam_securetty.so

auth       required     pam_stack.so service=system-auth

auth       required     pam_nologin.so

account    required     pam_stack.so service=system-auth

password   required     pam_stack.so service=system-auth

session    required     pam_stack.so service=system-auth

session    optional     pam_console.so

سرویس میزکار کیپر (Qiper Self-Service)

سرویس دهنده کیپر سامانه اصلی تجهیز دامنه کاربران یک سازمان به احراز کننده چند عاملی است. این سامانه از یک سو با Active Directory با پروتکل LDAP در ارتباط است و از طرفی وب اپلیکیشنی را به نام سرویس میز کار کیپر در اختیار می­گذارد که کلیه عملیات ایجاد عاملیت دوم (توکن)، ابطال توکن و یا حذف آن را بتوان مدیریت کرد.

سطوح دسترسی:

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

مدیر اصلی (Super Admin)

مدیر اصلی بالاترین سطح دسترسی دارد و قابلیت های آن شامل موارد ذیل می­شود.

1.توانایی پیکربندی سرویس دهنده کیپر

2.ایجاد توکن (با استفاده از قابلیت کاربری خود*)

3.ابطال توکن (با استفاده از قابلیت کاربری خود*)

4.حذف توکن ( با استفاده از قابلیت مدیریتی خود*)

به دلیل حساس بودن این سطح از دسترسی ، ورود با اختیارات مدیر اصلی منوط به عامل دوم سخت افزاری (Fido2 Security Key) شده است و این سیاست کیپر جهت ایجاد ماکزیمم لایه­های حفاظتی می­باشد.

مدیر (Admin)

بعد از مدیر اصلی، مدیر بیشترین سطح دسترسی را دارد. پس از اینکه گروه مدیران در Active Directory سازمان مشخص شد. از این پس مدیران می­توانند از قابلیت­های ذیل برخوردار باشند.

  1. ایجاد توکن ( با استفاده از قابلیت کاربری خود*)
  2. ابطال توکن (با استفاده از قابلیت کاربری خود*)
  3. حذف توکن

در این سطح دسترسی نیز لازم است مدیر خود با عاملیت دوم کلید امنیتی (Fido2 Security Key) ورود کند.

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

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

کاربر (User)

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

  • ایجاد توکن
  • ابطال توکن

سرویس‌های میز کارکیپر:

سرویس­هایی که توسط سرویس دهنده جهت اعمال احراز هویت چند عاملی قابل ارائه می­باشند به شرح ذیل می­باشند.

1.Windows CP

برای ورود به محیط کاربری ویندوز (Windows Login)

2.Radius

برای ورود و دسترسی به سوییچ­ها و روترها

3.VPN

برای دسترسی به VPN های یک سازمان

4.Linux PAM

برای ورود به محیط کاربری لینوکس

انواع توکن‌ها:

کاربر به هنگام تعریف توکن برای سرویس­های ارائه شده انواع توکن­ها را مشاهده می­کند.

همان طور که در شکل زیر ملاحظه می­کنید این توکن­ها شامل موارد زیر می­شوند.

1.TOTP

2.HOTP

3.SMS

4.FIDO2 Security Key

5.E-Mail (در صورت تقاضا به سرویس اضافه می­گردد)

6.Push (در صورت تقاضا به سرویس اضافه می­گردد)

FIDO

مقدمه:

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

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

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

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

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

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

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

2. CTAP2 که آن را fido2 نیز می­نامند.

CTAP چیست؟

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

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

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

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

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

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

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

ثبت نام :

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

1: فشار یک دکمه[2]

2: حسگر اثر انگشت[3]

3: تشخیص چهره[4]

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

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

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

سرویس دهنده fido صفحه ورود به محیط کاربری ویندوز را به نرم افزار تامین کننده احراز هویت[5] که از طریق وب با سرویس دهنده در ارتباط است، مجهز می­کند. کاربر با انتخاب گزینه ورود از طریق کلید امنیتی[6] وارد فرآیند احراز هویت می­شود،که شامل گام ­های زیر است.

1-پس از ورود نام کاربری ابتدا تامین کننده احراز هویت به او پیامی از طرف سرویس دهنده نشان می­دهد و اصطلاحا او را به چالش[7] احراز هویت می­کشاند و از او می­خواهد حضور حقیقی خود را به منظور دسترسی به کلید خصوصی از طریق یکی از سه روش ذکر شده در مرحله ثبت نام احراز کند.

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

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

TOTP

TOTP مخفف کلمه عبور یک بار مصرف مبتنی بر زمان است و یک شکل رایج از احراز هویت دو عاملی و چند عاملی (2FA, MFA) است. رمزهای عبور عددی منحصر به فرد، با یک الگوریتم استاندارد شده تولید می شوند که از زمان جاری به عنوان ورودی استفاده می کند. پسوردهای مبتنی بر زمان به صورت آفلاین در دسترس هستند و هنگامی که به عنوان عامل دوم استفاده می شوند، امنیت حساب کاربری را افزایش می دهند.

TOTP همچنین به عنوان احراز هویت مبتنی بر برنامه، توکن های نرم افزاری یا توکن های نرم شناخته می شود. برنامه های احراز هویت مانند Qiper و Google Authenticator از استاندارد TOTP پشتیبانی می کنند.

رمزهای عبور یکبار مصرف برای احراز هویت دو عاملی:

2FA و MFA با استفاده از دو نوع احراز هویت، یک لایه اضافی از محافظت را به حساب کاربری اضافه می کند. این لایه میتواند عاملی باشد که کاربر می داند، مانند رمز عبور، و یا فاکتوری که کاربر دارد، مانند تلفن. گذرواژه‌های یک‌بار مصرف، از جمله TOTP، یک فاکتور دارایی یا “چیزی که شما دارید” هستند و به افزایش امنیت حساب‌های کاربران شما کمک می‌کنند.

مطالعات اخیر در مورد قابلیت استفاده از روش های MFA نشان داد که TOTP بعد از Fido2 key بالاترین امتیاز قابلیت استفاده را در بین فاکتورهای مختلف دوم آزمایش شده را دارد. این به ما می گوید که TOTP نه تنها روشی مناسب برای احراز هویت است، بلکه توسط بسیاری از کاربران ترجیح داده می شود. چرا که هزینه سخت افزاری Fido2 key را ندارد و توسط نرم افزار موبایل نیز قابل استفاده است.

الگوریتم TOTP

الگوریتم TOTP از یک استاندارد باز مستند شده در RFC 6238 پیروی می کند. ورودی ها شامل یک کلید مخفی مشترک و زمان سیستم هستند. نمودار زیر نشان می دهد که چگونه دو طرف می توانند به طور جداگانه رمز عبور را بدون اتصال به اینترنت محاسبه کنند.

این الگوریتم از شکلی از رمزنگاری کلید متقارن استفاده می‌کند: هر دو طرف از یک کلید برای تولید و اعتبارسنجی توکن استفاده می‌کنند.

TOTP به صورت آفلاین کار می کند

ورودی های الگوریتم TOTP، زمان دستگاه و یک کلید مخفی ذخیره شده است. نه ورودی‌ها و نه محاسبه به اتصال اینترنت برای تولید یا تأیید رمز نیاز ندارند. بنابراین کاربر می تواند از طریق برنامه ای مانند Qiper در حالت آفلاین به TOTP دسترسی داشته باشد.

HOTP

“H” در HOTP مخفف کد احراز هویت پیام مبتنی بر هش (HMAC) است. به بیان ساده، الگوریتم رمز عبور یکباره مبتنی بر HMAC (HOTP) یک OTP مبتنی بر رویداد است که در آن فاکتور متحرک در هر کد بر اساس یک شمارنده است.

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