رمز عبور یک بار (OTP) که با نام پین یک بار مصرف یا کد اعتبار سنجی نیز شناخته می شود، رمز عبوری است که تنها برای یک جلسه ورود یا تراکنش، بر روی یک سیستم کامپیوتری یا دیگر دستگاه های دیجیتال معتبر است. OTPs اجتناب از تعدادی از کاستی است که با سنتی (استاتیک) احراز هویت مبتنی بر رمز عبور همراه; تعدادی از پیاده سازی ها همچنین احراز هویت دو عاملی را با اطمینان از اینکه رمز عبور یک بار نیاز به دسترسی به چیزی دارد که یک فرد دارد (مانند یک دستگاه فوب کلید دار کوچک با ماشین حساب OTP ساخته شده به آن، یا کارت هوشمند یا تلفن همراه خاص) و همچنین چیزی که یک فرد می داند (مانند پین) ترکیب می کنند.
الگوریتم های نسل OTP به طور معمول از شبه کراندوم یا تصادفی بودن استفاده می کنند و پیش بینی OTPs جانشین توسط یک مهاجم را دشوار می کنند، و همچنین توابع هش رمزنگاری، که می تواند برای مشتق گیری یک مقدار مورد استفاده قرار گیرد اما معکوس کردن آن سخت است و بنابراین برای یک مهاجم دشوار است تا داده هایی را که برای هش استفاده می شد به دست آورد. این لازم است چرا که در غیر این صورت آن را آسان خواهد بود برای پیش بینی OTPs آینده با مشاهده آنهایی که قبلی.
OTPs شده اند به عنوان جایگزینی ممکن است برای مورد بحث, و همچنین تقویت کننده به, رمزهای عبور سنتی. در سمت نزولی، OTPs را می توان رهگیری و یا تغییر مسیر، و نشانه های سخت می تواند از دست داده، آسیب دیده، و یا به سرقت رفته است. بسیاری از سیستم هایی که از OTPs استفاده می کنند آن ها را به شیوه ای امن پیاده سازی نمی کنند و مهاجمان هنوز هم می توانند رمز عبور را از طریق حملات فیشینگ برای جعل هویت کاربر مجاز یاد بگیرند.
ویژگی ها
مهم ترین مزیتی که توسط OTPs به آن پرداخته می شود این است که در مقابل ایستا، در برابر حملات پخش مجدد آسیب پذیر نیستند. این بدان معنی است که یک مزاحم بالقوه که موفق به ثبت کد اعتبار سنجی است که در حال حاضر مورد استفاده قرار گرفت برای ورود به یک سرویس و یا برای انجام یک معامله قادر به سوء استفاده از آن نخواهد بود، از آن دیگر معتبر نخواهد بود. [2] مزیت عمده دوم این است که یک کاربر که با استفاده از همان (یا مشابه) رمز عبور برای سیستم های متعدد، در همه آنها آسیب پذیر ساخته نمی شود، اگر رمز عبور برای یکی از این توسط یک مهاجم به دست آورد. تعدادی از سیستم های OTP نیز با هدف اطمینان حاصل شود که یک جلسه را نمی توان به راحتی رهگیری و یا جعل هویت بدون اطلاع از داده های غیر قابل پیش بینی ایجاد شده در طول جلسه قبلی، در نتیجه کاهش سطح حمله بیشتر است.
همچنین راه های مختلفی برای آگاه کردن کاربر از OTP بعدی برای استفاده وجود دارد. برخی از سیستم ها از نشانه های امنیتی الکترونیکی ویژه ای استفاده می کنند که کاربر حمل می کند و OTPs تولید می کند و با استفاده از یک صفحه نمایش کوچک به آن ها نشان می دهد. سیستم های دیگر شامل نرم افزارهایی هستند که بر روی تلفن همراه کاربر اجرا می شوند. با این حال سیستم های دیگر تولید OTPs در سمت سرور و ارسال آنها را به کاربر با استفاده از یک کانال خارج از باند مانند پیامک اعتبار سنجی. در نهایت در برخی سیستم ها OTPs بر روی کاغذ چاپ می شود که کاربر برای حمل آن ها مورد نیاز است.
در برخی از طرح های الگوریتم ریاضی، این امکان وجود دارد که کاربر یک کلید استاتیک برای استفاده به عنوان کلید رمزنگاری، تنها با ارسال یک پیامک اعتبار سنجی در اختیار سرور قرار دهد.