GOOGLE-AUTHENTICATOR(1) GOOGLE-AUTHENTICATOR(1)

google-authenticator - راه‌اندازی و تولید کلیدهای احراز هویت دو مرحله‌ای TOTP

google-authenticator [گزینه‌ها]

اگر هیچ گزینه‌ای در خط فرمان مشخص نشود، دستور google-authenticator(1) گزینه‌های مهم‌تر را به صورت تعاملی از کاربر می‌پرسد.

دستور google-authenticator(1) یک کلید مخفی جدید در دایرکتوری خانگی کاربر جاری ایجاد می‌کند. به طور پیش‌فرض، این کلید مخفی و تمام تنظیمات در ~/.google_authenticator ذخیره می‌شوند.

اگر سیستم از کتابخانه libqrencode پشتیبانی کند، یک کد QR نمایش داده می‌شود که می‌توان آن را با استفاده از برنامه اندروید Google Authenticator اسکن کرد. اگر سیستم فاقد این کتابخانه باشد، google-authenticator(1) یک نشانی وب خروجی می‌دهد که می‌توان آن را با یک مرورگر وب باز کرد. همچنین، کلید مخفی حرفی-عددی نیز در خروجی نمایش داده می‌شود و بنابراین می‌توان آن را به صورت دستی در برنامه اندروید Google Authenticator وارد کرد.

در هر دو حالت، پس از افزودن کلید، مقدار اعتبارسنجی باید بررسی شود. برای انجام این کار، کاربر باید ورودی اضافه‌شده را در سیستم اندروید خود لمس کرده و نگه دارد تا منوی زمینه نمایش داده شود. سپس کاربر بررسی می‌کند که مقدار اعتبارسنجی کلید نمایش‌داده‌شده با مقدار ارائه‌شده توسط google-authenticator(1) مطابقت داشته باشد. لطفاً توجه داشته باشید که این قابلیت ممکن است در همه نسخه‌های برنامه اندروید در دسترس نباشد.

از این پس هر بار که کاربر به سیستم وارد شود، پس از وارد کردن شناسه کاربری و رمز عبور عادی حساب یونیکس خود، بسته به گزینه‌های داده‌شده به google-authenticator(1)، کد TOTP (رمز یک‌بارمصرف مبتنی بر زمان) یا HOTP (رمز یک‌بارمصرف مبتنی بر شمارنده) از او درخواست خواهد شد.

گزینه اصلی شامل انتخاب نوع توکن احراز هویت است: یا مبتنی بر زمان یا مبتنی بر شمارنده.

راه‌اندازی اعتبارسنجی مبتنی بر شمارنده.
راه‌اندازی اعتبارسنجی مبتنی بر زمان.

گزینه‌های در دسترس به این انتخاب بستگی دارند.

این تنظیمات فقط برای رمزهای یک‌بارمصرف مبتنی بر شمارنده (HOTP) کاربرد دارند:

تنظیم بازه کدهای معتبر همزمان.

به طور پیش‌فرض، در هر لحظه سه توکن معتبر هستند. این مقدار برای توکن‌های تولیدشده ولی استفاده‌نشده و تلاش‌های ناموفق ورود در نظر گرفته شده است. به منظور کاهش احتمال بروز مشکلات همگام‌سازی، این بازه می‌تواند از اندازه پیش‌فرض ۳ افزایش یابد.

اندازه بازه باید بین ۱ تا ۲۱ باشد.

غیرفعال کردن بازه کدهای معتبر همزمان.

این تنظیمات فقط برای رمزهای یک‌بارمصرف مبتنی بر زمان (TOTP) کاربرد دارند:

(غیر)مجاز ساختن استفاده مجدد از یک توکن احراز هویت یکسان.

این گزینه ورود کاربر را به تقریباً هر ۳۰ ثانیه یک بار محدود می‌کند، اما شانس متوجه شدن یا حتی جلوگیری از حملات مرد میانی (man-in-the-middle) را افزایش می‌دهد.

تنظیم بازه کدهای معتبر همزمان.

به طور پیش‌فرض، هر ۳۰ ثانیه یک توکن جدید توسط برنامه تلفن همراه تولید می‌شود. به منظور جبران اختلاف زمانی احتمالی بین کلاینت و سرور، یک توکن اضافی قبل و بعد از زمان فعلی مجاز شمرده می‌شود. این امر امکان اختلاف زمانی تا ۳۰ ثانیه بین سرور احراز هویت و کلاینت را فراهم می‌کند.

به عنوان مثال، در صورت بروز مشکل در همگام‌سازی زمان، این بازه می‌تواند از اندازه پیش‌فرض ۳ کد مجاز (یک کد قبلی، کد فعلی و کد بعدی) به ۱۷ کد مجاز (۸ کد قبلی، کد فعلی و ۸ کد بعدی) افزایش یابد. این کار امکان اختلاف زمانی تا ۴ دقیقه را بین کلاینت و سرور فراهم می‌سازد.

اندازه بازه باید بین ۱ تا ۲۱ باشد.

غیرفعال کردن بازه کدهای معتبر همزمان.
تنظیم فاصله زمانی بین تازه‌سازی توکن‌ها به S ثانیه.

به طور پیش‌فرض، توکن‌های مبتنی بر زمان هر ۳۰ ثانیه یک بار تولید می‌شوند. در صورتی که لازم باشد از گام زمانی متفاوتی استفاده شود، می‌توان یک مقدار غیراستاندارد را پیکربندی کرد.

فاصله زمانی باید بین ۱ تا ۶۰ ثانیه باشد.

مشخص کردن مسیر فایلی غیراستاندارد برای کلید مخفی و تنظیمات.
نوشتن کلید مخفی و تنظیمات بدون درخواست تایید قبلی از کاربر.
بازنویسی برچسب پیش‌فرض در نشانی اینترنتی otpauth://.
بازنویسی صادرکننده پیش‌فرض در نشانی اینترنتی otpauth://.
حالت خروجی کد QR.

غیرفعال کردن خروجی کد QR (none)، یا نمایش کد QR با استفاده از رنگ‌های ANSI (ansi) یا المان‌های بلوکی یونیکد (utf8).

المان‌های بلوکی یونیکد اندازه کد QR را بسیار کوچک‌تر می‌کنند که اسکن آن اغلب آسان‌تر است. متأسفانه بسیاری از شبیه‌سازهای ترمینال این نویسه‌های یونیکد را به درستی نمایش نمی‌دهند.

غیرفعال کردن محدودیت نرخ ورود، یا محدود کردن تعداد ورودها به N بار در هر M ثانیه.

اگر سیستم در برابر حملات ورود با آزمون و خطا (brute-force) ایمن نشده باشد، می‌توان محدودیت نرخ را برای ماژول احراز هویت فعال کرد: حداکثر N تلاش برای ورود در هر M ثانیه.

محدودیت نرخ باید بین ۱ تا ۱۰ تلاش باشد. زمان نرخ باید بین ۱۵ تا ۶۰۰ ثانیه باشد.

تولید N کد اضطراری.

حداکثر ۱۰ کد اضطراری قابل تولید است.

حالت بی‌صدا.
نمایش پیام راهنما.

کد منبع و تمام مستندات Google Authenticator از نشانی زیر قابل دریافت است:

https://github.com/google/google-authenticator-libpam

Google two-factor authentication user manual