احراز هویت چند عاملی با رمزیکبار مصرف OTP
مریم حیدریان، شرکت رهسا
4 دقیقه مطالعه | 4 مرداد 1403
فهرست مطالب
رمز یکبار مصرف (OTP)، مخففOne Time Password است. رمزهای یکبار مصرف انواع مختلفی دارند. بهتر است آنها را شناخته و کاربردهایشان را در موقعیتهای مختلف تشخیص دهیم. استفاده از رمزیکبار مصرف OTP باعث میشود شرکتها بتوانند دسترسی ایمن به برنامهها و نرمافزارها را مخصوصاً بر روی محیط ابری برای کاربران فراهم کنند.
رمز OTP چیست؟
رمز یکبار مصرف OTP در واقع شکلی از احراز هویت چند عاملی (MFA) است و طوری طراحی شده که دسترسی به اطلاعات محافظت شده را برای هکرها خیلی سخت میکند. همانطور که میدانیم، شیوه احراز هویت MFA یک اعتبار اضافی فراتر از گذرواژه ساده را قبل از اینکه کاربر بخواهد به یک برنامه یا سیستم وصل شود، ایجاد میکند. مثلاً فرض کنید یک MFA که از پیامک استفاده میکند، متنی را با یک رشته عددی برای کاربر ارسال نماید. این شخص باید قبل از دسترسی به منابع مورد نظرش این کد را وارد سیستم کند. این کد در واقع نوعی OTP یا همان رمز OTP است.
در پاسخ به سوال رمز OTP چیست باید گفت که این رمز دقیقا مانند گذرواژهای است که فقط یکبار میتوانید از آن استفاده کنید. به همین جهت به رمزOTP، رمز عبور یکبار مصرف نیز گفته میشود. رمز یکبار مصرف OTP اغلب در ترکیب با یک گذرواژه معمولی میتواند نقش عامل دوم احراز هویت (2FA) را بازی کرده و امنیت بیشتری بوجود آورد.
وقتی که یکبار از رمز OTP استفاده کردید، به طور خودکار حذف شده و دفعه بعد که میخواهید وارد سیستم شوید، باید رمز عبور جدید را درخواست دهید. همین مسئله کار هکرها را خیلی سخت میکند.
روشهای رایج تحویل رمز یکبار مصرف OTP
بسته به سیاست احراز هویت چند عاملی و امکاناتی که کاربرها در اختیار دارند، روشهای مختلفی برای تحویل رمز یکبار مصرف OTP وجود دارد که مهمترین آنها عبارتند از:
- پیامک: رمز یکبار مصرف پیامکی که SMS OTP نامیده میشود، گذرواژه حساس به زمان را برای گوشی تلفن همراه کاربر ارسال میکند. SMS OTP به دلیل اینکه سریع و راحت بوده، امروزه محبوبیت زیادی در بین عموم پیدا کرده است
- صوت: رمز یکبار مصرف صوتی که Voice OTP نام دارد، کد مورد نظر را از طریق یک پیام صوتی و به صورت تماس تلفنی برای کاربر ارسال میکند. OTP صوتی یکی از امنترین روشهای احراز هویت محسوب میشود.
- ایمیل: در این روش، رمز یکبار مصرف به صورت مستقیم به ایمیل کاربر ارسال میشود. OTPهای ایمیلی، یک لایه امنیتی اضافی ایجاد میکنند، زیرا کاربر برای ورود به صندوق پست الکترونیک خود لازم است رمز ورود وارد کند
- کلیدهای سختافزاری: رمزهای یکبار مصرف OTP سخت افزاری یا توکن سختافزاری در واقع دستگاههای فیزیکی هستند که کدهای یکبار مصرف را با فشار دکمهای تولید میکنند. کلیدهای سختافزاری برای تولید OTP نیازی به اینترنت ندارند و در نتیجه بسیار امن هستند
- برنامههای نرمافزاری رمزساز: در OTPهای نرمافزاری یا به عبارتی رمزیابهای موبایلی، رمزهای یکبار مصرف توسط یک اپلیکیشن تولید میشوند. با توجه به اینکه امروزه استفاده از تلفنهای همراه هوشمند بسیار مرسوم شده، لذا این شیوه تحویل رمز یکبار مصرف محبوبیت پیدا کرده است.
چگونه OTP را فعال کنیم؟
برای آشنایی با نحوه فعال شدن OTP کافی است که کار با الگوریتمهای مختلف آن را بشناسیم. در حال حاضر الگوریتمهای استاندارد صنعتی مختلفی مانند SHA-1 وجود دارند که رمز OTP را بر آن اساس تولید میکنند. تمام این الگوریتمها دو ورودی بنامهای هسته (seed) و عامل محرک (moving factor) را برای ایجاد رمز OTP دارند.
هسته یا seed یک مقدار ثابت است که به آن کلید امنیتی هم گفته میشود و سرور احراز هویت آن را هنگام ایجاد یک حساب کاربری جدید تولید میکند. در حالی که هسته ثابت است اما عامل محرک moving factor هر بار که رمز یکبار مصرف OTP جدید درخواست میشود، تغییر میکند. نوع عامل محرک باعث میشود که بین دو شیوه تولید رمز یکبار مصرف HOTP و TOTP تمایز بوجود بیاید. برای اینکه درباره نحوه تولید OTP در دو روش TOTP و HOTP بیشتر بدانید با ما همراه باشید.
HOTP چیست؟
HOTP احراز هویت پیام متنی مبتنی بر هش یا Hash-based Message Authentication (HMAC) است. به عبارت سادهتر، الگوریتم رمز یکبار مصرف OTP بر اساس HMAC یا همان رویداد قرار دارد. در این الگوریتم، عامل محرک moving factor یک شمارنده به حساب میآید.
هر بار که HOTP درخواست و تأیید میشود، یک واحد به شمارنده اضافه میکند. کدی که ایجاد میشود تا زمانی که کاربر، کد جدیدی را درخواست نکرده و سرور احراز هویت آن را تأیید کند، معتبر است.
هر بار که کد، اعتبارسنجی میشود و کاربر آن را دریافت میکند، مولد OTP و سرور با هم همگام میشوند. در این تصویر میتوانید نحوه تولید رمز یکبار مصرف OTP بر اساس الگوریتم HOTP را مشاهده کنید.
TOTPچیست؟
TOTP یا رمز عبور یکبار مصرف مبتنی بر زمان مخفف Time-based One Time Password است. مانند HOTP در TOTP هم هسته (seed) مقداری ثابت بوده اما عامل محرک به جای آنکه بر شمارنده استوار باشد، مبتنی بر زمان است.
مدت زمانی که هر گذرواژه معتبر است را یک مرحله زمانی یا timestep میگویند. این مراحل زمانی معمولا 30 الی 60 ثانیه طول میکشد. اگر کاربر گذرواژه خودش را در آن بازه زمانی استفاده نکرده باشد، دیگه معتبر نیست و باید رمز جدیدی را درخواست کند. در این تصویر میتوانید ساختار تولید رمز یکبار مصرف OTP بر اساس الگوریتم TOTP را مشاهده کنید.
مزایا و معایب HOTP و TOTP
با اینکه الگوریتمهای HOTP و TOTP بسیار امن هستند، اما محدودیتهایی هم دارند. استفاده و پیادهسازی TOTP (فنآوری جدیدتر) آسان است، اما عنصر زمان ماهیت تأخیر (تأخیر بین ایجاد رمز عبور و استفاده از آن که اصطلاحاً time-drift گفته میشود) را با خودش یدک میکشد. اگر کاربر فوراً TOTP را وارد سیستم نکند، این احتمال وجود دارد که قبل از بکارگیری آن، منقضی شود. بنابراین سرور باید امکان تلاش مجدد بدون قفل کردن کاربر را داشته باشد.
HOTP محدودیت زمانی ندارد، پس کمی کاربرپسندتر است. اما ممکن است حملات brute force را نتواند به خوبی مهار کند. این مشکل به دلیل طولانی بودن بازه اعتبار HOTP بوجود میآید. بعضی از اشکال جدید HOTP با افزودن مولفه مبتنی بر زمان، این آسیبپذیری را بهبود دادهاند.
جمع بندی
در این مقاله به دو سوال اساسی، رمز OTP چیست و چگونه OTP را فعال کنیم، با جزئیات کامل پاسخ دادیم. صرفنظر از اینکه چه نوع رمز یکبار مصرف OTP را استفاده میکنید، انتخاب هر نوع مولد OTP مانند اپلیکیشن نرمافزاری یا کلید سختافزاری، روشهای MFA امنتری نسبت به گزینههای ارسال پیامک (SMS OTP) محسوب میشود. امروزه کلاهبرداران راههای خلاقانهای برای رهگیری کدهای پیامکی پیدا کردهاند. این شیوهها، چه از طریق جعل سیم کارت باشد یا هرنوع شیوه دیگر هک کردن، میتواند از پیامکهای شما سوء استفاده کند.
لازم به ذکر است که هنوز SMS OTP خیلی بهتر از نبودن هر گونه شیوه MFA است. ولی توصیه میشود که از یک اپلیکیشن نرمافزاری رمزساز یا کلید سختافزاری تولید کننده رمز OTP استفاده کنید. زیرا این دو شیوه، سطح امنیت بالاتری را برایتان فراهم میکند.
شرکت رهآورد سامانههای امن محصولات رمزیاب OTP متنوعی از جمله درسا 300، C100 و C200 مبتنی بر TOTP، HOTP و OCRA ارائه میدهد. برای خرید این محصولات به بخش رمزیابها در وبسایت ما مراجعه کنید.