تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

رمز یکبار مصرف One-Time Password – OTP

رمز یکبار مصرف یا One-Time Password چیست؟

رمز یکبار مصرف (One-Time Password یا به اختصار OTP) به کلمه های عبوری گفته می‌شود که تنها برای یک نشست لاگین یا یک تراکنش معتبر هستند. به عبارت بهتر همانطور که از نام این نوع پسوردها برمی‌آید زمانی که از یک رمز یکبار مصرف استفاده می‌کنید بلافاصله پس از آن اعتبار خود را از دست داده و امکان لاگین یا انجام تراکنش مجدد با کمک آن از بین می‌رود. به این نوع رمزها، رمزهای پویا یا داینامیک (Dynamic Password) نیز گفته می‌شود.

OTP ها در نقطه مقابل رمزهای معمولی که به رمزهای ایستا یا استاتیک (Static Password) مشهورند قرار می‌گیرند و معمولا در قالب رشته ای از اعداد یا ترکیب های پیچیده‌تر به صورت خودکار تولید می‌شوند.

رمزهای یکبار مصرف ممکن است به تنهایی و به عنوان جایگزینی برای رمزهای ایستا به منظور عبور از یک سیستم احراز هویت مورد استفاده قرار بگیرند. با اینحال در بسیاری از کاربردها از رمزهای یکبار مصرف به عنوان فاکتور یا گام دوم در کنار عاملی دیگر (مثل کلمه عبور ایستا) استفاده می‌شود و درنتیجه باعث افزودن یک لایه امنیتی بیشتر (از طریق احراز هویت دو عاملی یا دو گامی) خواهند شد.

استفاده از این نوع رمزها برای ورود به حساب های کاربری مهم و سیستم های ایمن و معتبر یا انجام تراکنش های بانکی از رواج بیشتری برخوردار است.

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

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

افزون بر این استفاده از رمزهای یکبار مصرف می‌تواند سایر مشکلاتی که در اثر به کارگیری رمزهای معمولی پیش می‌آید را تا حد زیادی رفع نماید. برای مثال این رمزها از حملاتی موسوم به حمله بازپخش (Replay Attack) در امان هستند. در این نوع حمله، حین لاگین کردن یا انجام تراکنش توسط کاربر، فرد متجاوز این ارتباط را شنود کرده و سپس انتقال داده‌ها را به همان شکل تکرار می‌کند. از آنجایی که در مورد OTP ها رمز استفاده شده بلافاصله نامعتبر می‌شود درنتیجه این حمله کارایی خود را از دست می‌دهد.

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

نحوه تولید و استفاده از OTP ها

معمولا رمزهای یکبار مصرف به شکل تصادفی تولید می‌شوند و به این ترتیب پیش‌بینی رمز بعدی برای نفوذ به سیستم دشوارتر یا تقریباً غیرممکن می‌شود. این رمزها معمولا توسط الگوریتم های ویژه‌ای براساس زمان (Time-based) یا اطلاعات دیگری مثل رمز قبلی، شمارنده و … ایجاد می‌شوند.

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

رمز یکبار مصرف One Time Password - OTP
یکی از رایج‌ترین و کم هزینه‌ترین روش‌ها برای تولید، انتقال و استفاده از OTP، اپلیکیشن های قابل نصب روی گوشی های همراه است.
رمز یکبار مصرف در Google Authenticator
نمایی از اپلیکیشن Google Authenticator و رمزهای تولید شده برای حساب های کاربری مختلف
توکن های امنیتی برای رمزهای یکبار مصرف
نمونه ای از توکن های امنیتی برای رمز یکبار مصرف

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *