احراز هویت مبتنی بر توکن نوعی از احراز هویت است که توکن های امنیتی رمزگذاری شده را تولید می کند. این به کاربران امکان میدهد هویت خود را در وبسایتها تأیید کنند، که سپس رمز احراز هویت رمزگذاریشده منحصربهفرد را تولید میکند. سپس آن توکن به کاربران امکان دسترسی به صفحات و منابع محافظت شده را برای مدت زمان محدودی بدون نیاز به وارد کردن مجدد نام کاربری و رمز عبور خود می دهد.
احراز هویت توکن چگونه کار می کند؟
احراز هویت مبتنی بر توکن از طریق یک فرآیند پنج مرحله ای کار می کند:
- درخواست
- تایید
- ارسال رمز
- ذخیره سازی
- انقضاء
احراز هویت مبتنی بر توکن ثابت میکند که کاربر به برنامهها، وبسایتها و منابع بدون نیاز به تأیید هویت هر بار که به یک سایت جدید میرود دسترسی پیدا کرده است. وبسایتها همچنین میتوانند لایههای امنیتی بیشتری فراتر از رمزهای عبور سنتی اضافه کنند، بدون اینکه کاربران را مجبور به اثبات مکرر هویت خود کنند، که هم تجربه کاربری و هم امنیت را بهبود میبخشد.
توکن احراز هویت چیست؟
همه توکن های احراز هویت به کاربران امکان دسترسی به یک دستگاه یا برنامه را می دهند. با این حال، انواع مختلفی از توکنها وجود دارد که میتوان از آنها برای تأیید هویت کاربر استفاده کرد، از توکنهای نرمافزاری گرفته تا توکنهای فیزیکی. در اینجا چند نوع رایج توکن وجود دارد که امروزه توسط توسعه دهندگان برای احراز هویت کاربران یا حساب های خدمات استفاده می شود.
توکن های سخت افزاری (توکن های USB)
توکنهای سختافزاری که گاهی اوقات احراز هویت یا توکنهای امنیتی نامیده میشوند، دستگاههای فیزیکی هستند که مجوز دسترسی کاربران را به شبکههای محافظت شده امکانپذیر میسازند. هدف از توکن سخت افزاری اضافه کردن یک لایه امنیتی از طریق احراز هویت دو مرحله ای یا چند عاملی است. کاربر توکن توکن را به سیستم یا سرویسی که می خواهد به آن دسترسی داشته باشد پیوند می دهد.
توکنهای سختافزاری برای تجربه کاربری یکپارچه و قابلیت سفارشیسازی طراحی شدهاند که به آنها امکان میدهد در اشکال مختلف در دسترس باشند. متداول ترین انواع توکن ها عبارتند از جا کلیدی، USB و توکن های بی سیم. توکن های سخت افزاری را می توان به سه دسته تقسیم کرد:
- بدون تماس - یک رمز بدون تماس نیازی به وارد کردن کد دسترسی یا اتصال به دستگاه ندارد. این نوع توکن از یک اتصال بی سیم برای دسترسی به سیستم استفاده می کند که ممکن است بر اساس اعتبارنامه های مرتبط با اتصالات، دسترسی را اعطا یا رد کند.
- قطع شده - یک نشانه قطع شده نیازی به درج فیزیکی در سیستمی که به آن دسترسی دارید نیست. این به سادگی با تنظیم دستگاه برای تولید یک کد دسترسی یک بار مصرف، که به عنوان بخشی از احراز هویت چند عاملی عمل می کند، کار می کند. توکن قطع شده احتمالاً یک دستگاه تلفن همراه مانند تلفن هوشمند یا تبلت خواهد بود.
- متصل - یک نشانه متصل باید به طور فیزیکی به یک سیستم متصل باشد تا دسترسی را فعال کند. رمز توسط یک خواننده اسکن می شود، که هر گونه اعتبار احراز هویت مربوطه را دریافت می کند. این می تواند یک توکن USB یا یک جا کلیدی باشد.
JSON Web Tokens (JWT)
JSON Web Token یک استاندارد باز (RFC 7519) است. این یک روش ساده و مستقل برای انتقال ایمن اطلاعات بین طرفین تعریف می کند. یک استاندارد JWT از اشیاء جاوا اسکریپت Object Notation (JSON) برای انتقال توکن ها بین طرفین استفاده می کند. این توکن ها می توانند برای احراز هویت و برای انتقال اطلاعات اضافی در مورد کاربر یا حساب کاربری استفاده شوند.
از آنجایی که یک JWT بسیار کوچک است، می توان آنها را به عنوان URL، پارامترهای POST یا هدر HTTP ارسال کرد و به سرعت انتقال داد. JWT حاوی تمام اطلاعات لازم در مورد موجودیت است تا از درخواست های متعدد در پایگاه داده جلوگیری شود. گیرنده JWT برای تأیید اعتبار توکن نیازی به تماس با سرور ندارد.
یک JWT از سه بخش تشکیل شده است:
- هدر – شامل نوع رمز و الگوریتم رمزگذاری مورد استفاده است
- یک بار - اعتبار احراز هویت و سایر اطلاعات مربوط به کاربر یا حساب را ارائه می دهد
- امضا - شامل یک کلید رمزنگاری است که می تواند برای تأیید صحت اطلاعات موجود در محموله استفاده شود.
رمزهای یکبار مصرف (OTP)
رمزهای یک بار مصرف (OTP) دستگاه های سخت افزاری یا برنامه های نرم افزاری ایمنی هستند که می توانند رمزهای عبور یک بار مصرف را تولید کنند. معمولاً اینها شماره های شناسایی شخصی (PIN)، کدهای عددی بین 4 تا 12 رقم هستند.
تلفن های هوشمند معمولا برای تولید یا دریافت رمزهای عبور یک بار مصرف استفاده می شوند. هنگامی که کاربر مالکیت تلفن خود را ثابت کرد، میتواند از یک برنامه احراز هویت استفاده کند که رمزهای عبور OTP تولید میکند - در این مورد تلفن به عنوان تولیدکننده کد عمل میکند. همچنین، OTP ها را می توان از طریق پیامک به دستگاه ارسال کرد.
رمزهای عبور یکبار مصرف سیستم های هویت و رمز عبور موجود را با افزودن اعتبارنامه های تولید شده به صورت پویا بهبود می بخشند. بسته به ارائه دهنده، توکن های OTP پین ها را به صورت همزمان یا ناهمزمان تولید می کنند:
- نشانه های همزمان – از کلید خصوصی و زمان فعلی برای ایجاد رمز عبور یکبار مصرف استفاده کنید.
- توکنهای ناهمزمان – از مکانیسم احراز هویت پاسخ چالش (CRAM) استفاده کنید، گروهی از پروتکلها که در آن سرور چالشی را ارائه میکند و توکن باید پاسخ صحیح را ایجاد کند.
توکن های API
توکنهای API به عنوان شناسههای منحصربهفرد برنامهای که درخواست دسترسی به سرویس شما را دارد، استفاده میشود. سپس این سرویس یک نشانه API برای برنامه ایجاد می کند تا هنگام درخواست سرویس شما از آن استفاده کند. سپس رمز API را می توان با چیزی که برای احراز هویت و ایجاد دسترسی ذخیره کرده اید مطابقت داد. توکن های API با جایگزینی روش ناامن ارسال ترکیب نام کاربری و رمز عبور از طریق HTTP محبوبیت پیدا کرده اند.
توکن ها چگونه کار می کنند؟
احراز هویت مبتنی بر توکن از طریق یک فرآیند پنج مرحله ای کار می کند:
- درخواست: کاربر با استفاده از اعتبارنامه ورود خود به سرویس وارد می شود که درخواست دسترسی به سرور یا منبع محافظت شده را صادر می کند.
- تأیید: سرور اطلاعات ورود به سیستم را تأیید می کند تا مشخص کند که کاربر باید دسترسی داشته باشد. این شامل بررسی رمز عبور وارد شده در برابر نام کاربری ارائه شده است
- ارسال رمز: سرور یک رمز احراز هویت امن و امضا شده برای کاربر برای یک دوره زمانی خاص تولید می کند.
- ذخیره سازی: رمز به مرورگر کاربران منتقل می شود، که آن را برای دسترسی به بازدیدهای بعدی وب سایت ذخیره می کند. هنگامی که کاربر برای دسترسی به یک وب سایت جدید حرکت می کند، رمز رمزگشایی و تأیید می شود.
- انقضا: رمز تا زمانی که کاربر از سیستم خارج شود یا سرور را ببندد فعال می ماند
این فرآیند مبتنی بر توکن ثابت میکند که کاربر بدون نیاز به تأیید هویت هر بار که به یک سایت جدید میرود، به برنامهها، وبسایتها و منابع دسترسی پیدا کرده است. وبسایتها میتوانند لایههای امنیتی بیشتری فراتر از گذرواژههای سنتی اضافه کنند، بدون اینکه کاربران را مجبور به اثبات مکرر هویت خود کنند، که هم تجربه و هم امنیت کاربر را بهبود میبخشد.
یک نشانه احراز هویت از سه جزء کلیدی تشکیل شده است: هدر، محموله و امضا.
هدر - هدر نوع رمز مورد استفاده و همچنین الگوریتم امضای درگیر را مشخص می کند. Payload - محموله مسئول تعیین صادرکننده توکن و جزئیات انقضای توکن است. همچنین اطلاعاتی در مورد کاربر و سایر ابرداده ها ارائه می دهد. امضا - امضا صحت یک پیام را تأیید می کند و اینکه پیام در حین انتقال تغییر نکرده است.
این توکن ها نسخه دیجیتالی بلیط مهر شده برای یک رویداد هستند. تا زمانی که از سیستم خارج شده یا سرویس را ببندد، به کاربر یا حامل توکن، یک رمز دسترسی به یک وب سایت ارائه می شود.
آیا احراز هویت مبتنی بر توکن ایمن است؟
هرچه جرایم سایبری پیچیده تر شود ، ارائه دهندگان خدمات مدیریت شده باید به طور مداوم تکنیک ها و سیاست های امنیتی خود را به روز کنند. با توجه به افزایش حملات که اعتبار خود را از طریق روش هایی مانند فیشینگ یا حملات بی رحمانه و حملات دیکشنری هدف قرار می دهد ، تأیید اعتبار دیگر نمی تواند به تنهایی به رمزهای عبور اعتماد کند.
هنگامی که با تکنیک های تأیید هویت اضافی ترکیب می شود ، احراز هویت مبتنی بر Token می تواند مانع پیچیده تری برای جلوگیری از سوء استفاده از رمزهای سرقت شده ایجاد شود. توکن ها فقط از دستگاه منحصر به فرد که آنها را ایجاد کرده است مانند تلفن هوشمند یا FOB کلیدی قابل بازیابی هستند و آنها را به یک روش مجوز بسیار مؤثر تبدیل می کند. لازم به ذکر است که در حالی که مزایای بسیاری برای تأیید اعتبار سکوهای توکن وجود دارد ، اما برخی از ریسک ها همیشه باقی مانده است. نشانه هایی که در دستگاه های تلفن همراه قرار دارند ، استفاده راحت هستند اما ممکن است از طریق آسیب پذیری دستگاه در معرض دید قرار گیرند. اگر نشانه ها از طریق پیام کوتاه باشند ، به راحتی می توان در ترانزیت رهگیری کرد. اگر دستگاهی از بین برود یا به سرقت رفته باشد ، یک بازیگر مخرب می تواند به نشانه های ذخیره شده در آن دسترسی پیدا کند. احراز هویت توکن باید به عنوان یکی از مؤلفه ها در یک استراتژی احراز هویت دو عاملی یا چند عاملی در نظر گرفته شود.
مزایا و مضرات احراز هویت مبتنی بر نشانه
مزایای
- نشانه ها بدون تابعیت هستند: نشانه های احراز هویت توسط یک سرویس تأیید اعتبار ایجاد می شوند و حاوی اطلاعاتی هستند که کاربر را قادر می سازد بدون وارد کردن اعتبار ورود به سیستم ، هویت خود را تأیید کند.
- توکن ها منقضی می شوند: وقتی کاربر جلسه مرور خود را تمام می کند و از خدمات خارج می شود ، نشانه ای که به آنها اعطا شده است نابود می شود. این تضمین می کند که از حساب کاربران محافظت می شود و در معرض حمله سایبری قرار نمی گیرند.
- نشانه ها رمزگذاری شده و تولید شده توسط دستگاه هستند: تأیید هویت مبتنی بر توکن از کدهای رمزگذاری شده و تولید شده توسط دستگاه برای تأیید هویت کاربر استفاده می کند.
- توکن ها روند ورود به سیستم را ساده تر می کنند: نشانه های احراز هویت اطمینان حاصل می کنند که کاربران مجبور نیستند هر بار که به یک وب سایت مراجعه می کنند ، اعتبار ورود به سیستم خود را دوباره وارد کنند.
- توکن ها برای جلوگیری از هکرها مانعی اضافه می کنند: یک سد 2FA برای جلوگیری از دسترسی هکرها به داده های کاربر و منابع شرکت.
معایب
- کلید تک: JWTS به یک کلید واحد متکی است. اگر این کلید به خطر بیفتد ، کل سیستم در معرض خطر است.
- پیچیدگی: این نشانه ها برای درک ساده نیستند. اگر یک توسعه دهنده دانش محکمی از الگوریتم های امضای رمزنگاری نداشته باشد ، آنها می توانند سهواً سیستم را در معرض خطر قرار دهند.
- محدودیت ها: شما نمی توانید پیام ها را به همه مشتری ها فشار دهید ، و نمی توانید مشتری ها را از طرف سرور مدیریت کنید.
احراز هویت مبتنی بر توکن بهترین شیوه های
نشانه های احراز هویت به منظور تقویت پروتکل های امنیتی شما و ایمن نگه داشتن سرور شما است. برای اینکه به طور موثر کار نشانه گذاری شود ، باید فرآیندهای خود را با ایمنی در ذهن بسازید.
نشانه های احراز هویت شما باید باشد:
- خصوصی: کاربران نمی توانند دستگاه های تأیید اعتبار را به اشتراک بگذارند یا آنها را بین بخش ها منتقل کنند.
- ایمن: ارتباط بین توکن و سرور شما باید از طریق اتصالات HTTPS امن باشد.
- آزمایش شده: تست های توکن دوره ای را اجرا کنید تا اطمینان حاصل شود که سیستم شما ایمن و به درستی مناسب است: نوع توکن مناسب را برای مورد استفاده شخصی خود انتخاب کنید