احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

رمز پویا چیست؟ آشنایی با پسورد یکبار مصرف یا OTP و موارد استفاده

امروز با راهکاری آشنا خواهید شد که اگرچه شاید نام آن را زیاد نشنیده باشید اما در سناریوها و مکانیزم‎هایی که در آن‏ها برای دسترسی‎ به منابع شبکه از طریق ریموت و استفاده ازتکنولوژی DirectAccess، احراز هویتی قوی‎تر و مطمئن‎تر از روش‌های مرسوم و ارائه شده توسط سیستم‎عامل مورد نیاز است، حتما به آن برخواهید خورد. OTP را در سری مباحث امنیت اکثرا نه به عنوان سرفصلی مستقل بلکه بشکل گذرا و شاید در حد یک عنوان شاهد خواهید بود و علت آن هم این‎است که علیرغم اهمیت و کارایی آن، این موضوع همه‌گیر نیست و در سناریو‎های خاصی مورد استفاده قرار گرفته و به عنوان روشی ثانویه در سناریوهای اجرایی، کمتر مورد بحث قرار می‎گیرد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در این‎جا به علت گسترده بودن موضوع و مورد استفاده نبودن همه مطالب و مکانیزم‏ های گفته شده برای عموم، سعی شده فقط در حد آشنایی با این نوع پسورد، مطالبی آورده شود.این مقاله مروری کلی براستفاده از پسوردهای یکبار مصرف (One-Time) در ویندوزهای 7 و سرور 2008 است که بر اساس Certificate انجام می‌شوند. این روش می‎تواند در احراز هویت‌هایی که به دو پارامتر برای اجرا نیاز دارند (تکنولوژی DirectAccess) نیز کاربرد داشته باشد.در زیر انواع سناریوهای ممکن که در آن‎ها روش‎های مختلف برای ورود به سیستم لحاظ شده‎اند، آورده شده است:

استفاده از شناسه کاربری و پسورد برای ورود به سیستم از طریق ریموت

حمید کارمند سرکتی بازرگانی است. این شرکت توکن‎های OTP خود را از یک شرکت معتبر خریداری کرده است. در این شرکت کارمندان ملزم به استفاده از توکن OTP برای دسترسی‌های ریموت به منابع شرکت هستند. هنگامی که حمید برای ماموریتی به خارج از شبکه شرکت رفته است،پس از ورود به محیط ویندوز، برای دسترسی به منابع شرکت از طریق شناسه کاربری و پسورد ویندوزی‎اش تلاش می‏کند.بعد از این که حمید با استفاده از شناسه کاربری و پسورد ویندوزی‎اش وارد سیستم‌ شد، اگر بخواهد به منابعی از شرکت دسترسی داشته باشد، با پیغام زیر مواجه خواهد شد:

وب سایت توسینسو

در این موقع حمید باید سیستم را قفل کرده و سپس با شناسه و پسورد OTP سیستم را از قفل در بیاورد. حال او می‎تواند براحتی به منابع شبکه دسترسی داشته باشد. سرور OTP از خارج شرکت هم قابل دسترسی است و اعتبار توکن صادر شده برای حمید، قبل از آن که وی بتواند با استفاده از آن به جایی وصل شود، توسط سرور OTP و صادر کننده توکن مورد تائید قرار می‎گیرد.

استفاده از OTP برای وارد شدن به ویندوز از طریق ریموت

داوود کارمند یک شرکت فعال در زمینه چاپ و تبلیغات است. این شرکت توکن‎های OTP خود را از یک شرکت معتبر خریداری کرده است. در این شرکت کارمندان ملزم به استفاده از توکن OTP برای دسترسی‌های ریموت به منابع شرکت هستند. برای دسترسی به منابع شرکت که گاهی از لحاظ منطقی خارج از شبکه شرکت قرار دارند، داوود با استفاده از شناسه کاربری و OTP به لپ‎تاپ شرکتی خود وارد می‌شود. پس از ورود داوود به سیستم‎عاملش، علاوه بر آن‏که می‏تواند براحتی به منابع شرکت دسترسی داشته باشد، قادر است بدون احراز هویت‏های مکرر تنها با همان توکن OTP که در اول وارد کرده بود، به منابع شرکت دسترسی داشته باشد.

استفاده از OTP در کنار شبکه شرکت برای وارد شدن به سیستم عامل

سارا کارمند بانک است. این بانک برای دسترسی های موجود با استفاده از OTP، دو مرحله احراز هویت را قرار داده است. هنگامی که سارا روز کاری خود را در شرکت شروع می‎کند، قبل از احراز هویت مرسوم برای ورود به سیستم عامل که توسط شناسه کاربری و پسورد متناظر آن صورت می‎پذیرد، بایستی در مرحله اول شناسه کاربری و پسورد OTP خود را وارد کرده باشد.

  • نکته: راه کارهای ارائه شده برای استفاده از مکانیزم OTP در این مقاله، برای سناریوهای زیر صدق نمی‏کند.

استفاده از OTP برای دسترسی آفلاین

محمد کارمند بانک است. این بانک برای دسترسی های موجود با استفاده از OTP، دو مرحله احراز هویت را قرار داده است اما سیاست بانک طوری قرار داده شده است که سرور OTP فقط از درون شبکه بانک قابل دسترسی باشد. وقتی محمد خارج از وقت اداری در خانه است، برای استفاده از سیستم و وصل شدن به شبکه شرکت، ابتدا مانند سناریو قبل، شناسه کاربری و پسورد OTP خود وارد ‏می‎کند و سپس با استفاده از شناسه کاربری و پسورد ویندوز خود به سیستم عامل دسترسی پیدا می‎کند.در این حالت او می‏تواند بصورت آفلاین به تمام فایل‎های مورد نیاز بر روی سیستمش دسترسی داشته باشد ولی به علت آن که سرور OTP در خارج از شرکت قابل دسترس نیست، هیچ دسترسی‎ای به منابع بانک نخواهد داشت.

دسترسی ریموت از طریق سیستمی مدیریت نشده ( خارج از دومین و خارج از پالیسی‎های مدیریتی)

راهکار احراز هویت OTP برای دسترسی‎های ریموت که از تکنولوژی‎هایی مثل Remote Desktop Gateway استفاده می‏کنند، بواسطه سیستمی مدیریت نشده ( خارج از دومین و خارج از پالیسی‎های مدیریتی)، هم قابل پشتیبانی است. اگرچه سیستم کلاینت باید نرم‎افزارهای خاص برای اینکار را روی سیستم خود داشته باشد و بدرستی آن را تنظیم نماید.

معماری پیشرفته

تجهیزات زیر برای راه اندازی یک مکانیزم OTP مورد نیاز هستند:

  • Client system: شامل تجهیزات مورد نیاز برای استفاده از بستر ریموت، ایجاد کننده اعتبار که توسط شرکت فروشنده OTP نوشته شده است و یک ارائه دهند کلیدهای ذخیره شده (KSP).
  • One-Time Password (OTP) Server: شامل دو سرویس است؛ یک OTP Agent که با سرور OTP برای تائید اعتبار پسوردهای ارائه شده ارتباط برقرار می‏کند و سرویسی که با سرور CA در ارتباط است.
  • (Certification Authority (CA: یک Certificate که مورد اعتماد دومین است را ایجاد می‎کند.
  • One-Time Password Validation server: اعتبار OTP را تائید می‎کند.
وب سایت توسینسو

هنگام فراخوانی OTP، سرویسی که اعتبار OTP را ارائه می‏کند، شناسه کاربری و مقدار OTP را از کاربر جمع آوری کرده و به سرور OTP تحویل می‏دهد. سرور در ابتدا اعتبار OTP وارد شده را از Validation Server استعلام می‎کند. از تائید اعتبار، سرور OTP کاربر را در یک Certificate کم عمر( از لحاظ اعتبار) که از طرف CA راائه شده است، ثبت می‎کند.بعد از آن‏که Certificate مجددا به سرویس ارائه دهنده OTP بازگشت، سرور OTP Certificate را در Certificate store شخصی کاربر بر روی سیستمش ذخیره می‏کند و در صورتی که مکانیزم Logon با استفاده از Smart Card باشد، با مولفه‎های آن در ویندوز وارد تعامل می‎شود.

مزایای استفاده از این روش

  • این روش در صورتی که سیستم کلاینت تکنولوژی ریموت (DirectAccess) را پشتبانی نماید، نیاز به تجهیزات و ملزومات خاصی ندارد. نویسنده و طراح OTP معمولا تمام ملزومات و پیش نیازهای مورد احتیاج برای تعامل با سرویس Winlogon و دسترسی ریموت را در محصول خود می‏گنجاند.
  • تعامل و استفاده OTP با ساختار و مدیریت PKI (Public Key infrastructure) بسیار محدود است چرا که در این روش از Certificate ای کم عمر (از لحاظ اعتبار) مورد استفاده قرار می‎گیرد.
  • این روش نیاز به تغیر کمی در منطق پیاده سازی DirectAccess که از کاربر احراز هویتی قدرتمند را درخواست می‏کند، دارد.

مولفه‎ها و پیش ‎نیازهای مورد احتیاج

در ساده‎ترین شکل استفاده از OTP، مولفه‏ ها و پیش‎نیازهای زیر از طرف یک طراح و ارائه دهنده OTP، مورد احتیاج است:

  • یک ارائه دهنده اعتبار OTP
  • یک ارائه دهند کلیدهای ذخیره شده (KSP) که با ارائه دهنده اعتبار OTP و پروتکل Kerberos کار می‏کند.
  • یک سرور OTP که وظیفه تائید اعتبار توکن OTP را نیز انجام می‎دهد.

و در آخر یک نمونه کامل از اجرای روش احراز هویت با OTP در یک شبکه آورده شده است:

وب سایت توسینسو

نویسنده: احسان امجدی

منبع: انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

نظرات