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

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

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

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

این خبر را به اشتراک بگذارید

به‌طور خلاصه

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

در ماه مه ۲۰۱۱، کارگروه مهندسی اینترنت (IETF) سند RFC 6238 را منتشر کرد و بی‌سروصدا نحوه ورود ما به حساب‌های کاربری را تغییر داد. پیش از آن، احراز هویت دو مرحله‌ای (2FA) به معنای انتظار برای دریافت پیامک یا حمل یک توکن سخت‌افزاری ۵۰ دلاری بود.

استاندارد TOTP (رمز عبور یک‌بار مصرف مبتنی بر زمان) هر گوشی هوشمندی را به یک توکن تبدیل کرد. اما با وجود اینکه شرکت‌های فناوری این ویژگی را به عنوان «امنیت در سطح نظامی» بازاریابی می‌کنند، مکانیسم زیربنایی آن به طرز شگفت‌آوری ساده و کاملاً آفلاین است.[1][3]

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

سرور یک نسخه از آن را ذخیره می‌کند و گوشی شما نیز نسخه دیگر را نگه می‌دارد. از آن لحظه به بعد، این دو دستگاه برای تولید کدها دیگر هرگز نیازی به صحبت با یکدیگر ندارند.[1]

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

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

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

اما یک رشته ۴۰ کاراکتری هگزادسیمال برای اینکه یک انسان بتواند آن را به سرعت تایپ کند، بسیار طولانی است.

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

مایکروسافت در سپتامبر ۲۰۲۶ گزارش داد که شبکه‌های فیشینگ به طور فزاینده‌ای از این روش استفاده می‌کنند. اگر یک وب‌سایت جعلی شما را فریب دهد تا رمز عبور و کد ۶ رقمی خود را وارد کنید، ربات مهاجم به سادگی آن کد را در همان پنجره ۳۰ ثانیه‌ای به سایت واقعی ارسال می‌کند.[2]

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

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

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

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

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

پرسش‌های متداول

آیا برنامه‌های احراز هویت به اینترنت نیاز دارند؟

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

اگر ساعت گوشی من تنظیم نباشد چه می‌شود؟

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

آیا هکرها می‌توانند کد ۶ رقمی من را حدس بزنند؟

حدس زدن کد در پنجره ۳۰ ثانیه‌ای عملاً غیرممکن است، اما هکرها نیازی به حدس زدن ندارند؛ آن‌ها با ساخت صفحات ورود جعلی، شما را فریب می‌دهند تا کد را خودتان به آن‌ها تقدیم کنید.

بررسی عمیق دیدگاه‌ها

پژوهشگران امنیت سایبری

معتقدند TOTP یک فناوری موقت است که باید با استانداردهای مقاوم در برابر فیشینگ جایگزین شود.

محققان امنیتی تاکید می‌کنند که اگرچه کدهای ۶ رقمی سد راه هکرهای مبتدی و حملات جستجوی فراگیر (Brute-force) می‌شوند، اما در برابر کیت‌های فیشینگ پیشرفته که به صورت زنده عمل می‌کنند (AiTM) کاملاً بی‌دفاع هستند. آن‌ها استدلال می‌کنند که آینده امنیت در گرو کلیدهای عبور (Passkeys) و استانداردهای FIDO2 است که احراز هویت را به صورت رمزنگاری شده به دامنه واقعی وب‌سایت متصل می‌کنند.

ارائه‌دهندگان پلتفرم

بر تعادل بین امنیت و راحتی کاربر تاکید دارند و TOTP را یک راهکار مقرون‌به‌صرفه می‌دانند.

برای شرکت‌های فناوری و بانک‌ها، استاندارد TOTP یک نقطه تعادل ایده‌آل است. پیاده‌سازی آن در سمت سرور بسیار ارزان است و کاربران نیز به استفاده از برنامه‌هایی مانند گوگل اتنتیکیتور عادت کرده‌اند. در مقایسه با توزیع کلیدهای سخت‌افزاری فیزیکی بین میلیون‌ها کاربر، کدهای ۶ رقمی مبتنی بر نرم‌افزار، امنیت قابل قبولی را با کمترین هزینه پشتیبانی ارائه می‌دهند.

کاربران نهایی

از اصطکاک ورود به سیستم و خطر از دست دادن دسترسی در صورت گم شدن گوشی شکایت دارند.

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

پژوهشگران امنیت سایبری 40%ارائه‌دهندگان پلتفرم 35%کاربران نهایی 25%
پژوهشگران امنیت سایبری
معتقدند TOTP یک فناوری موقت است که باید با استانداردهای مقاوم در برابر فیشینگ جایگزین شود.
ارائه‌دهندگان پلتفرم
بر تعادل بین امنیت و راحتی کاربر تاکید دارند و TOTP را یک راهکار مقرون‌به‌صرفه می‌دانند.
کاربران نهایی
از اصطکاک ورود به سیستم و خطر از دست دادن دسترسی در صورت گم شدن گوشی شکایت دارند.

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

  • توسعه‌دهندگان استانداردهای جایگزین (FIDO Alliance)
  • قربانیان حملات فیشینگ 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]تیم سردبیری کوهستانکاربران نهایی

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

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

نظرات

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

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

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