رمز یکبار مصرف OTP که مخفف واژههای “One-time Password” است، در نقش یک کد امنیتی برای ورود به سیستم یا انجام تراکنشهای آنلاین مالی ظاهر میشود. این کد خطر تلاشهای تقلبی برای جعل اکانت را بهحداقل رسانده و امنیت بالایی را تضمین میکند. اما این کد جزئیات جالب و البته کوتاهی دارد که در این مقاله بررسی خواهیم کرد. در وهله اول، سوال «OTP چیست؟» را پاسخ میدهیم و پس از آن، بهسراغ شیوه کارکرد، مقایسه با رمز ثابت، مزایا و دیگر مباحث مهم آن میرویم.
رمز یکبارمصرف OTP چیست؟
رمز یکبار مصرف OTP، درواقع یک روش استاندارد در سراسر جهان است که برای فعال کردن ورود به سیستم در شرایط خاص استفاده میشود. این شرایط خاص عبارتند از:
- تایید اعتبار یک حساب جدید
- تایید قانونی بودن تراکنش
این رمز فقط یکبار استفاده شده و پس از مدت بسیار کوتاهی – چند دقیقه – از بین میرود.
اما سوال «OTP چیست؟» پاسخ دیگری هم دارد: این کد بهعنوان پین یکبار مصرف، کد مجوز یکبار مصرف (OTAC) یا رمز عبور پویا هم شناخته میشود.
بهطور معمول OTP یک شماره شش رقمی است که از طریق پیامک به دستگاه مجاز مشتری ارسال و توسط او در سایت یا برنامه نوشته میشود.
بیشتر بخوانید: api key چیست؟ چه زمانی از کلید API استفاده کنیم؟
رمز یکبار مصرف چگونه کار می کند؟
مراحل کارکرد OTP بهشرح زیر است:
1. درخواست OTP
هنگامیکه کاربری اقدام به ورود به اپلیکیشن همراه بانک یا حساب دیجیتال خود میکند، درخواست OTP شروع میشود؛
2. تولید کد OTP
در ابتدا، مولد OTP از انواع الگوریتمهای کدسازی OTP – مانند HMAC-based OTP بهاختصار “HMAC” و Time-based OTP یا “TOTP” – برای ایجاد کد تصادفی استفاده میکند. این کد فقط در صورت تقاضای دستگاه کاربر ایجاد شده و مدت زمان انقضای آن هم توسط مولد و سرور ارسالکننده مشخص میشود.
3. تحویل
OTP تولیدشده از طریق کانالهای مختلف مانند پیامک، ایمیل یا برنامههای احراز هویت تلفن همراه همچون Google Authenticator برای کاربر ارسال میشود.
مقایسه رمز ثابت و OTP
در جدول زیر، رمز یکبار مصرف OTP را با رمز ثابت (معروف به Static Password) مقایسه میکنیم.
ویژگی | رمز ثابت | OTP |
ماهیت اصلی | توالی ثابتی از کاراکترها که برای احراز هویت کاربر استفاده میشود. | یک کد منحصربهفرد تولیدشده برای یکبار استفاده در یک دوره زمانی خاص. |
امنیت | مستعد حمله بروت فورس؛ بهویژه با رمزهای عبور ضعیف. | ایمنتر از رمز ثابت؛ چون کد برای مدت زمان محدودی اعتبار دارد و امکان استفاده مجدد از آن سلب میشود. |
راحتی در استفاده | بهخاطر سپردن و استفاده از آن آسان است؛ اما در صورت اشتراکگذاری یا نوشتن آن توی گوشی هوشمند، در معرض خطر قرار میگیرد. | برای تولید کد به یک دستگاه مانند تلفن هوشمند نیاز دارد. از این جهت دریافت و استفاده از آن راحتتر از رمز ایستا است. |
عوامل موثر بر امنیت | – قدرت رمز عبور
– شیوههای پسوردگذاری و نگهداری کاربر – اقدامات امنیتی اجراشده توسط سیستم رمزگذار |
– الگوریتم تولید کد
– محرکهای مبتنیبر زمان یا رویداد – محافظت در برابر رهگیری کد |
موارد رایج استفاده | – ورود به حسابهای آنلاین
– دسترسی به سیستمها یا شبکهها – احراز هویت تراکنشها |
– حفاظت از داراییهای دیجیتالی باارزش مانند تراکنشهای مالی و دادههای حساس پزشکی
– ایمنسازی احراز هویت چندعاملی (MFA) – افزایش امنیت حساب کاربران |
نمونه واقعی | iranserver2024 | 876629 |
بیشتر بخوانید: حمله brute force چیست؟ هکرها در کمین رمز عبور
انواع رمز یکبار مصرف OTP
تفاوت اصلی بین OTP مبتنیبر هش (HOTP) و رمز یکبار مصرف OTP مبتنیبر زمان (TOTP) عامل محرکی است که در هربار تولید کد توسط الگوریتم، تغییر میکند. در ادامه به تشریح این تفاوتها میپردازیم.
ویژگی | HOTP | TOTP |
عامل محرک | شمارنده که بر اساس تعداد کل OTPهای ایجادشده تولید میشود. | زمان |
نحوه ساخت رمزهای عبور | الگوریتم | براساس زمان؛ بههمیندلیل رمز ساختهشده با TOTP حاوی زمان دقیق درخواست است.
نمونه: 1:05:43 p.m. = 10543 |
شیوه انقضا | انقضا پس از مصرف یا در صورت درخواست مجدد OTP جدید | پس از استفاده یا اتمام زمان تخصیص دادهشده |
معروف به | OTPهای مبتنیبر رویداد | احراز هویت مبتنیبر برنامه یا توکنهای نرمافزاری |
کد یکبار مصرف تولیدشده با هرکدام از این روشها، در مولد و سرور احراز هویت به یک شکل درک میشود. بهعبارتی دیگر، هنگامیکه کاربر رمز یکبار مصرف OTP خود را وارد میکند، سرور احراز هویت OTP از همان الگوریتم تولیدکننده برای تطبیق کد و تایید اعتبار او استفاده میکند.
3 دلیل استفاده از OTP
در ادامه به سه دلیل استفاده از رمز یکبار مصرف OTP اشاره خواهیم کرد.
1. آگاهی و کنترل کاربران
- هشدارهای فوری: کاربران هنگام درخواست OTP اعلانهایی را دریافت میکنند که به آنها تلاشهای غیرمجاز برای دسترسی به دادههایشان را هشدار میدهد.
- کنترل دسترسی مبتنیبر احراز هویت: کاربران میتوانند روش دلخواه خود را برای دریافت OTP (پیامک، ایمیل یا برنامههای احراز هویت) انتخاب کنند.
2. تطبیقپذیری
- کاربرد گسترده: OTPها را میتوان در سناریوهای مختلف ازجمله بانکداری آنلاین، تراکنشهای فروشگاههای اینترنتی، ورود به حساب و تغییرات دادههای حساس مانند Reset رمز عبور استفاده کرد.
- کانالهای تحویل چندگانه: ازآنجاییکه چند کانال برای تحویل رمز یکبار مصرف OTP وجود دارد، کاربران سراسر جهان امکان استفاده از آن را خواهند داشت. مانند رمزهای احراز هویت جیمیل که برای ما ایرانیان هم ارسال میشوند.
3. ایجاد اعتماد و اعتبار
- افزایش اطمینان خاطر مشتریان: استفاده گسترده از OTPها در تراکنشهای بانکی و سایر پلتفرمهای حساس، به مشتریان اطمینان محافظت از دادهها و اعتماد به سازمان را میدهد.
- کاهش تقلب: پیادهسازی OTP به کسبوکارها کمک میکند تا بهطور موثر با کلاهبرداری مبارزه کرده و شهرت خود را در میان کاربران افزایش دهند.
بیشتر بخوانید: آموزش افزایش امنیت وردپرس و سایت
انواع OTP Token
5 نوع OTP Token رایج وجود دارد که در ادامه، هرکدام را بههمراه نمونههای واقعی معرفی خواهیم کرد.
1. پیامک یا متن
احراز هویت پیامکی به کاربران امکان وارد کردن کدی که از طریق پیام متنی به تلفنشان ارسال شده است را میدهد. در این نوع از انواع OTP Token، کاربران با یک دستگاه – مانند تلفن همراه آنها – تایید هویت میشوند.
2. ایمیل
رمز یکبار مصرف OTP از طریق ایمیل هم یکی از توکنها است که مانند احراز هویت برپایه SMS عمل میکند؛ با این تفاوت که کاربران بهجای شماره تلفن خود، کد یکبار مصرف را در ایمیلشان دریافت میکنند.
3. برنامههای پیامرسان
در چند سال گذشته، وبسایتها شروع به استفاده از برنامههای پیامرسانی مانند WhatsApp و WeChat برای احراز هویت OTP کردهاند. ازآنجاییکه رمزنگاری در سرویسهای پیامرسانی جهانی و یکسان است، امکان دسترسی به رمز یکبار مصرف OTP از طریق تلفن همراه و Wi-Fi ممکن است. حتی زمانیکه کاربران در رومینگ بینالمللی هستند، میتوانند به رمزهایشان دسترسی داشته باشند.
4. کلیدهای سخت افزاری
در مقیاس بزرگ و کاربردهای سازمانی، احراز هویت OTP گاهی اوقات توسط سختافزارهای اختصاصی مانند جاکلیدی و کارتهای هوشمند انجام میشود. این دستگاهها OTP را براساس یک کلید رمزنگاری ذخیرهشده در سرور تولید میکنند. سرور و سختافزار OTP، براساس کلید مخفی مشترک Sync شده و تایید هویت کاربر را انجام میدهند.
5. اپلیکیشنهای احراز هویت
توکنهای نرمافزاری هم میتوانند تولید رمز یکبار مصرف OTP را انجام دهند. برخلاف کلیدهای سختافزاری، این کدها موجودیت فیزیکی مجزایی ندارند؛ بلکه از طریق یک اپلیکیشن قابل ساخت و نمایش هستند. معروفترینها در لیست انواع OTP Token نرمافزاری، اپلیکیشنهای زیر هستند:
- Google Authenticator
- Microsoft Authenticator
- Authy
این اپلیکیشنها به اینترنت یا اپراتورهای شبکه هیچ وابستگی دارند و قابل استفاده در سناریوها و شرایط مختلف هستند.
بیشتر بخوانید: رمز عبور چیست ؟ چطور یک پسورد قوی و امن بسازیم؟!
مزایا و معایب
رمز یکبار مصرف OTP با مزایا و معایب خاصی همراه است که در ادامه به آنها اشاره خواهیم کرد.
مزایای رمز یکبار مصرف OTP
- امنیت پیشرفته بهواسطه اعتبار بسیار کوتاه Session یا تراکنش
- سادگی در استفاده و کاربری بهدلیل عدم نیاز به حفظ رمز یا بهخاطر سپردن آن
- احراز هویت چندعاملی و افزودن یک لایه امنیتی اضافه
- دسترسی بسیار دشوار هکرها به رمز؛ بهدلیل حساسیت به زمان و اعتبار یکباره
- تولید خودکار توسط مولد و سرور و عدم نیاز به عامل انسانی
- هزینه پیادهسازی کم
- سازگاری کامل با بسیاری از دستگاههای هوشمند و تجهیزات نوین
معایب رمز یکبار مصرف OTP
- اتکا 100 درصد به اپلیکیشن یا ارتباط سلولی
- تاثیرپذیری در صورت بروز مشکل در اینترنت یا شبکه موبایل
- امکان تاخیر در تحویل رمز کد توسط مولد یا سرور و اتمام زمان مصرف
- نیاز به سرعت عمل بالای کاربر برای استفاده از رمز
- امکان به سرقت رفتن دستگاه یا ایمیل و عدم دسترسی به رمز
- بروز مشکل در مناطق با پوشش کم شبکه موبایل و تاخیر زیاد در ارسال SMS حاوی رمز
بیشتر بخوانید: صرافی کوکوین چیست؟ انواع معاملات در صرافی Kucoin
فعالسازی رمز یکبار مصرف OTP
برای فعالسازی رمز یکبار مصرف OTP در پلتفرمهای مختلف، روشهای زیر را انجام دهید.
فعالسازی OTP در اپلیکیشنهای بانکی
به بانک مقصد مراجعه کرده و از گزینه «رمز پویا»، آن را فعال کنید. رمز پویا در بانکهای ایرانی مانند ملت، رفاه، رسالت، بلو و آینده، از طریق SMS در قالب متن ارسال میشود.
در برخی از همراه بانکها، مانند بانک مسکن، این گزینه را با عبارت «رمز یکبار مصرف» در منوی جداگانه میبینید.
فعالسازی OTP در جیمیل
به آدرس Google Account رفته و با حسابی که مایل به فعالسازی OTP آن هستید، وارد شوید. سپس به تب Security از پنل سمت چپ رفته و از بخش “How you sign in to Google”، مسیر 2-Step Verification و Get started را طی کنید.
دستورالعمل گوگل را دنبال کرده تا OTP جیمیلتان فعال شود.
فعالسازی OTP در صرافیهای ایرانی
با ثبتنام در صرافیهای ایرانی و ورود به حساب کاربری، به منوی امنیت رفته و دکمه «فعالسازی رمز یکبار مصرف» یا گزینههای مشابه را فشار دهید.
سپس یک بارکد یا QR Code ظاهر شده که باید آن را با اپلیکیشنهای مولد OTP – مانند Google Authenticator – اسکن کرده یا کد را بهصورت دستی وارد کنید.
این اپلیکیشن یک کد شش رقمی تولید میکند. این کد را در سایت صرافی وارد کنید تا رمز OTP صرافیتان فعال شود.
آنچه در رمز یکبار مصرف OTP خواندیم
OTP یک رمز حساس به زمان است که با گذشت چند ثانیه یا دقیقه، منقضی میشود. این رمز را نقطه مقابل رمز ثابت و روش جدید احراز هویت میدانیم که در دسترسی به دادههای حساس، کاربرد وسیعی دارد. از این کد شش رقمی برای ورود به حسابهای بانکی، وبسایتهای پزشکی و صرافیها استفاده میکنیم. البتهکه سرویسهای مدرن هم به استفاده از این کد رو آوردهاند.
شما در چه سناریوهایی از این رمز استفاده میکنید؟ آیا روش امنتری را میشناسید؟ پس لطفا آن را همین حالا در بخش نظرات، با ما و سایر مخاطبان ایران سرور بهاشتراک بگذارید تا به پیشرفت یکدیگر کمک کنیم.
سوالات متداولی که شما میپرسید؟
- رمز یکبار مصرف چیست؟
رمزی که توسط یک مولد ساخته شده و پس از مدت بسیار کوتاهی منقضی میشود.
- آیا رمز OTP امن است؟
بله. دسترسی به این کد سخت و گاهی غیرممکن است؛ چون فقط در دستگاه کاربر قابل مشاهده است و پس از گذشت زمان مشخصی منقضی میشود.
- چگونه رمز یکبار مصرف را فعال کنیم؟
برای فعالسازی OTP، کافیست از اپلیکیشن یا سایت بانکی به قسمت امنیت مراجعه کنید. در صرافیهای آنلاین ایرانی و جیمیل هم با همین نام یا اسامی مشابه، در دسترس است.
منابع: