رفتن به محتوای اصلی
Koohestun
توضیح کوهستانپروتکل‌های امنیتیکالبدشکافی· 4 دقیقه مطالعه· در فناوری

کالبدشکافی احراز هویت دو مرحله‌ای (TOTP): چگونه رمزهای عبور ۶ رقمی هر ۳۰ ثانیه تغییر می‌کنند؟

برنامه‌های احراز هویت مانند گوگل اتنتیکیتور برای تولید کدهای ۶ رقمی نیازی به اینترنت ندارند؛ آن‌ها صرفاً از یک راز مشترک و زمان فعلی برای اجرای یک فرمول ریاضی استفاده می‌کنند. با این حال، برخلاف ادعاهای بازاریابی، این سیستم‌ها در برابر حملات فیشینگ درنگ‌زمان مصون نیستند.

به قلم غزل بختیاری

A person holding a smartphone displaying a 6-digit authenticator code in a dark room.
پژوهشگران امنیت سایبری 40%ارائه‌دهندگان پلتفرم 35%کاربران نهایی 25%
پژوهشگران امنیت سایبری
معتقدند TOTP یک فناوری موقت است که باید با استانداردهای مقاوم در برابر فیشینگ جایگزین شود.
ارائه‌دهندگان پلتفرم
بر تعادل بین امنیت و راحتی کاربر تاکید دارند و TOTP را یک راهکار مقرون‌به‌صرفه می‌دانند.
کاربران نهایی
از اصطکاک ورود به سیستم و خطر از دست دادن دسترسی در صورت گم شدن گوشی شکایت دارند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • توسعه‌دهندگان استانداردهای جایگزین (FIDO Alliance)
  • قربانیان حملات فیشینگ AiTM

در ماه مه ۲۰۱۱، کارگروه مهندسی اینترنت (IETF) سند RFC 6238 را منتشر کرد و بی‌سروصدا نحوه ورود ما به حساب‌های کاربری را تغییر داد. پیش از آن، احراز هویت دو مرحله‌ای (2FA) به معنای انتظار برای دریافت پیامک یا حمل یک توکن سخت‌افزاری ۵۰ دلاری بود. استاندارد TOTP (رمز عبور یک‌بار مصرف مبتنی بر زمان) هر گوشی هوشمندی را به یک توکن تبدیل کرد. اما با وجود اینکه شرکت‌های فناوری این ویژگی را به عنوان «امنیت در سطح نظامی» بازاریابی می‌کنند، مکانیسم زیربنایی آن به طرز شگفت‌آوری ساده و کاملاً آفلاین است.[1][3]

هنگامی که برای اولین بار آن کد QR را برای راه‌اندازی گوگل اتنتیکیتور (Google Authenticator) یا Authy اسکن می‌کنید، گوشی شما هیچ ارتباط زنده و امنی با سرور برقرار نمی‌کند. آن کد QR صرفاً یک رشته متنی است؛ یک «راز مشترک» (Shared Secret) که معمولاً از ۱۶ تا ۳۲ کاراکتر الفبایی-عددی در قالب Base32 تشکیل شده است. سرور یک نسخه از آن را ذخیره می‌کند و گوشی شما نیز نسخه دیگر را نگه می‌دارد. از آن لحظه به بعد، این دو دستگاه برای تولید کدها دیگر هرگز نیازی به صحبت با یکدیگر ندارند.[1]

دومین عنصر حیاتی در این معادله، زمان است. به طور دقیق‌تر، «مبدأ زمان یونیکس» (Unix Epoch) که تعداد ثانیه‌های سپری شده از اول ژانویه ۱۹۷۰ را می‌شمارد. الگوریتم TOTP زمان فعلی یونیکس را می‌گیرد و آن را بر عدد ۳۰ (برای پنجره استاندارد ۳۰ ثانیه‌ای) تقسیم می‌کند. این کار یک «شمارشگر زمان» ایجاد می‌کند که دقیقاً هر نیم دقیقه یک واحد افزایش می‌یابد. به همین دلیل است که اگر ساعت گوشی شما حتی یک دقیقه با ساعت جهانی اختلاف داشته باشد، تمام کدهای تولید شده رد خواهند شد.[1]

گوشی شما راز مشترک و شمارشگر زمان فعلی را می‌گیرد و آن‌ها را با استفاده از یک تابع درهم‌ساز رمزنگاری به نام HMAC-SHA1 با هم ترکیب می‌کند. این فرآیند یک رشته طولانی و پیچیده از کاراکترها را تولید می‌کند. از آنجا که هم گوشی شما و هم سرور سایت، دقیقاً همان راز مشترک و همان زمان را در اختیار دارند، هر دو به طور مستقل دقیقاً همان رشته طولانی را تولید می‌کنند. هیچ جادویی در کار نیست؛ صرفاً دو ماشین که یک معادله ریاضی یکسان را حل می‌کنند.[1]

گوشی شما راز مشترک و شمارشگر زمان فعلی را می‌گیرد و آن‌ها را با استفاده از یک تابع درهم‌ساز رمزنگاری به نام HMAC-SHA1 با هم ترکیب می‌کند.

اما یک رشته ۴۰ کاراکتری هگزادسیمال برای اینکه یک انسان بتواند آن را به سرعت تایپ کند، بسیار طولانی است. بنابراین، الگوریتم از فرآیندی به نام «کوتاه‌سازی پویا» (Dynamic Truncation) استفاده می‌کند تا تنها بخش کوچکی از آن هش را استخراج کرده و آن را به همان عدد ۶ رقمی آشنا تبدیل کند. وقتی شما آن ۶ رقم را در وب‌سایت تایپ می‌کنید، سرور به سادگی بررسی می‌کند که آیا محاسبات خودش با عدد شما مطابقت دارد یا خیر. اگر مطابقت داشت، شما وارد می‌شوید.[1]

اما در اینجا واقعیت بدبینانه خود را نشان می‌دهد. در حالی که TOTP بی‌نهایت بهتر از پیامک است (که می‌تواند از طریق تعویض سیم‌کارت رهگیری شود)، اما جادو نمی‌کند. موسسه ملی استاندارد و فناوری آمریکا (NIST) در دستورالعمل‌های خود صراحتاً هشدار می‌دهد که سیستم‌های مبتنی بر کدهای یک‌بار مصرف «در برابر حملات فیشینگ و استراق سمع درنگ‌زمان مصون نیستند». مایکروسافت در سپتامبر ۲۰۲۶ گزارش داد که شبکه‌های فیشینگ به طور فزاینده‌ای از این روش استفاده می‌کنند. اگر یک وب‌سایت جعلی شما را فریب دهد تا رمز عبور و کد ۶ رقمی خود را وارد کنید، ربات مهاجم به سادگی آن کد را در همان پنجره ۳۰ ثانیه‌ای به سایت واقعی ارسال می‌کند.[2]

به همین دلیل است که صنعت امنیت سایبری به آرامی در حال حرکت به سمت کلیدهای عبور (Passkeys) و استاندارد WebAuthn است. این فناوری‌های جدید، ورود به سیستم را از نظر رمزنگاری به نام دامنه خاص پیوند می‌دهند و فیشینگ را از نظر ریاضی غیرممکن می‌سازند. اما تا زمانی که این انتقال کامل شود، کدهای ۶ رقمی TOTP همچنان اسب بارکش امنیت اینترنت باقی می‌مانند؛ یک ترفند ریاضی آفلاین و هوشمندانه که در سال ۲۰۱۱ متولد شد و زندگی دیجیتال ما را ایمن نگه می‌دارد، به شرطی که خودمان پاسخ را به شخص اشتباهی تحویل ندهیم.[2][3]

این سیستم‌ها به دلیل سادگی و عدم نیاز به زیرساخت‌های پیچیده شبکه، توانسته‌اند به استانداردی جهانی تبدیل شوند. با این حال، آگاهی از محدودیت‌های آن‌ها برای هر کاربری که به امنیت داده‌های خود اهمیت می‌دهد، ضروری است.[3]

نکات کلیدی

  1. کدهای ۶ رقمی برنامه‌های احراز هویت کاملاً آفلاین تولید می‌شوند.
  2. این الگوریتم تنها به یک راز مشترک (کد QR اولیه) و زمان دقیق نیاز دارد.
  3. فرمول ریاضی HMAC-SHA1 تضمین می‌کند که گوشی و سرور به یک عدد واحد برسند.
  4. با وجود امنیت بالا نسبت به پیامک، کدهای TOTP در برابر فیشینگ زنده آسیب‌پذیرند.

اصطلاحات کلیدی

TOTP (Time-based One-Time Password)
الگوریتمی که با استفاده از یک راز مشترک و زمان فعلی، رمزهای عبور موقتی تولید می‌کند که معمولاً هر ۳۰ ثانیه منقضی می‌شوند.
Shared Secret (راز مشترک)
یک رشته متنی طولانی و منحصر‌به‌فرد که در زمان راه‌اندازی (معمولاً از طریق کد QR) بین سرور و برنامه احراز هویت شما به اشتراک گذاشته می‌شود.
Unix Epoch (مبدأ زمان یونیکس)
سیستمی برای توصیف زمان در رایانه‌ها که تعداد ثانیه‌های سپری شده از اول ژانویه ۱۹۷۰ را می‌شمارد.
AiTM (مهاجم در میانه)
نوعی حمله فیشینگ که در آن هکر به صورت زنده ارتباط بین شما و سایت واقعی را رهگیری کرده و کدهای احراز هویت را می‌دزدد.

منابع

پوشش منابع

3 منبع

3 دیدگاه شناسایی‌شده

پژوهشگران امنیت سایبری 40%ارائه‌دهندگان پلتفرم 35%کاربران نهایی 25%
  1. [1]IETFارائه‌دهندگان پلتفرم

    RFC 6238: TOTP: Time-Based One-Time Password Algorithm

    مطالعه در IETF →
  2. [2]NISTپژوهشگران امنیت سایبری

    Digital Identity Guidelines: Authentication and Lifecycle Management

    مطالعه در NIST →
  3. [3]تیم سردبیری کوهستانکاربران نهایی

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت فناوری اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.