Google Authenticator یک نرم افزار احراز هویت است که به شما در افزایش امنیت ورود به حسابهای گوگل یا سایر نرم افزارهای مورد استفاده شما کمک میکند.
این نرم افزار Google Authenticator سرویسهای
احراز هویت چند عاملی را با استفاده از
رمز عبور یکبار مصرف مبتنی بر زمان (TOTP؛ مشخص شده در RFC 6238) و
رمز عبور یکبار مصرف مبتنی بر HMAC (HOTP؛ مشخص شده در RFC 4226) برای احراز هویت کاربران برنامههای نرمافزاری پیادهسازی میکند.

انواع احراز هویت
راز هویت چند فاکتوری یا چند عاملی (MFA) یک روش احراز هویت ادعایی کاربر است که در آن کاربر تنها پس از پیشآوردن ۲ یا چند قطعه شواهد (یا عوامل) به یک مکانیزم احراز هویت دسترسی مییابد: دانش (چیزی که تنها کاربر میداند)، مالکیت (چیزی که تنها کاربر دارند) و ذات (چیزی که تنها کاربر است)
احراز هویت دو عاملی (همچنین به عنوان 2FA شناخته میشود) یک نوع (زیر مجموعه) از احراز هویت چند عاملی است. این یک روش تأیید هویت ادعایی کاربر با استفاده از ترکیبی از دو عامل متفاوت است که عبارت است از: ۱) چیزی که آنها میدانند، ۲) چیزی که آنها دارند و یا ۳) چیزی که آنها هستند.
احراز هویت دو عاملی یک لایه امنیتی اضافی ایجاد میکند و چیزی نیاز دارد که فقط صاحب حساب میتواند به آن دسترسی داشته باشد.
یک نمونه خوب از احراز هویت دو عاملی خروج پول از دستگاه خودپرداز است. فقط ترکیبی صحیح از یک کارت بانکی (چیزی که کاربر دارای آن است) و یک PIN (شماره شناسایی شخصی، چیزی که کاربر میداند) اجازه میدهد تا معامله انجام شود.
احراز هویت چند فاکتوری مانند احراز هویت دو فاکتوری است با این تفاوت که بیش از دو فاکتور برای احراز هویت بکار میروند.
احراز دو گامه (احراز دو مرحلهای یا تصدیق دو مرحلهای)روشی است برای تأیید هویت که مدعی هویت با بهرمندی از دو چیز که او میداند (فاکتورهای دانش مانند رمز عبور و رمز پویا) غیر از چیزی که او دارد یا چیزی که او است هویت خود را احراز میکند. یک مثال از یک گام دوم، تکرار چیزی است که از طریق مکانیسم خارج از باند مانند کد تأیید ۶ رقمی گرفته شده با پیامک یا از اَپ (برنامه) گوشی است که برای کاربر و سیستم تأیید مشترک است.
تفاوت احراز هویت دو یا چند گامه با احراز هویت دو یا چند فاکتوری (عاملی) در این است که در احراز هویت چند گامه، همهٔ بخشهای احراز هویت چیزی هستند که کاربر دارد در حالی که در احراز هویت چند فاکتوری، بخشهای گوناگون احراز هویت ترکیبی از چیزی که کاربر میداند، دارد و است میباشد
گذرواژههایی که بر اساس رمزنگاری متقارن و زمان ایجاد میشوند و مدت زمان محدودی اعتبار دارند. Time-based One Time Password یا بهطور مخفف TOTP همان گذرواژههای یکبار مصرف هستند که گاهی با آنها مواجه بودهاید. حسابهای ایمیل (گوگل و مایکروسافت و …) سختافزارهای بانکی، پیامکهای رمز، یکبار مصرف و … معمولاً از این روش استفاده میکنند. بهترین دلیل استفاده از این رمز عبورها افزایش امنیت کاربران اینترنت است. گرچه به تنهایی امنیت بالایی ندارند اما وقتی با موارد امنیتی دیگر ترکیب شوند امنیت تا چند برابر افزایش پیدا میکند. یکی از بهترین موقعیتهایی که میتوان از TOTP استفاده کرد صفحات ورود مدیریت در نرمافزارهای مختلف است.
در بهترین حالت میتوان از طریق پیامک بدون به اشتراک گذاشتن کلید مشترک از گذرواژه های یکبار مصرف استفاده کرد که در این حالت امنیت بسیار بیشتر خواهد بود چرا که کلید اصلی فقط در اختیار سرویس دهنده است و میتواند این کلید را در هر بار ایجاد رمز یکبار مصرف، تغییر داده و کلید جدیدی ایجاد نماید. اما در حالت عادی یک کلید مشترک بایستی بین سرویس دهنده و سرویس گیرنده مبادله شود که برای ایجاد گذرواژهها از این کلید استفاده خواهد شد.
رمز عبور یکبار مصرف مبتنی بر HMAC (HOTP) یک الگوریتم رمز عبور یکبار مصرف (OTP) مبتنی بر کد احراز هویت پیام مبتنی بر هش (HMAC) است. هنگامی که یک کلاینت سعی در دسترسی به یک سرور دارد، یک چالش توسط سرور مقصد به کلاینت ارسال میشود. سپس کلاینت پاسخی را محاسبه میکند که نشان دهنده یک رمز عبور یکبار مصرف است. این اغلب بخشی از پروتکلهای احراز هویت چند عاملی مانند الگوریتم چالش-پاسخ ابتکار احراز هویت باز (OATH) را تشکیل میدهد [۱].
HOTP در دسامبر ۲۰۰۵ به عنوان یک IETF RFC 4226 اطلاعاتی منتشر شد که الگوریتم را به همراه پیادهسازی جاوا مستند میکرد. از آن زمان، این الگوریتم توسط بسیاری از شرکتها در سراسر جهان پذیرفته شده است (به زیر مراجعه کنید). الگوریتم HOTP یک استاندارد باز و رایگان است.
هنگام ورود به سایتی که از Authenticator پشتیبانی میکند (از جمله سرویسهای گوگل) یا استفاده از برنامههای شخص ثالث پشتیبانیکننده از Authenticator مانند مدیران رمز عبور یا سرویسهای میزبانی فایل، Authenticator یک رمز عبور یکبار مصرف شش تا هشت رقمی تولید میکند که کاربران باید علاوه بر جزئیات ورود معمول خود، آن را وارد کنند.
کد انشعاب رسمی متنباز از برنامه اندروید در GitHub موجود است.با این حال، این انشعاب در ۶ آوریل ۲۰۲۱ بایگانی شد و اکنون فقط خواندنی است.
نسخههای نرمافزاری فعلی، نرمافزارهای رایگان اختصاصی هستند.
تصویری که در زیر مشاهده میشود آخرین لوگوی Google Authenticator است:

قبلا لوگوی معرفی شده برای Google Authenticator بصورت زیر بود:

روش استفاده از Google Authenticator
این برنامه ابتدا روی گوشی هوشمند نصب میشود تا از Google Authenticator استفاده کند. این برنامه باید برای هر سایتی که قرار است با آن استفاده شود، تنظیم شود: سایت یک کلید مخفی مشترک را از طریق یک کانال امن در اختیار کاربر قرار میدهد تا در برنامه Google Authenticator ذخیره شود. این کلید مخفی برای همه ورودهای بعدی به سایت استفاده خواهد شد.
برای ورود به سایت یا سرویسی که از احراز هویت دو مرحلهای استفاده میکند و از Google Authenticator پشتیبانی میکند، کاربر نام کاربری و رمز عبور سایت را ارائه میدهد. سپس سایت رمز عبور یکبار مصرف شش تا هشت رقمی مورد نیاز را محاسبه میکند (اما نمایش نمیدهد) و از کاربر میخواهد که آن را وارد کند. کاربر برنامه Google Authenticator را اجرا میکند که به طور مستقل همان رمز عبور را محاسبه و نمایش میدهد که کاربر آن را تایپ میکند و هویت خود را تأیید میکند. [نیازمند منبع]
با این نوع احراز هویت دو مرحلهای، صرفاً دانستن نام کاربری و رمز عبور برای ورود به حساب کاربر کافی نیست – مهاجم همچنین به دانستن کلید مخفی مشترک یا دسترسی فیزیکی به دستگاهی که برنامه Google Authenticator را اجرا میکند، نیاز دارد. یک مسیر جایگزین حمله، حملهی مرد میانی است: اگر دستگاه مورد استفاده برای فرآیند ورود به سیستم توسط بدافزار به خطر بیفتد، اطلاعات ورود و رمز عبور یکبار مصرف میتوانند توسط بدافزار رهگیری شوند، که سپس میتواند جلسه ورود به سایت را آغاز کند یا ارتباط بین کاربر و سایت را نظارت و تغییر دهد.
برنامه Google Authenticator برای اندروید در ابتدا متنباز بود، اما بعداً اختصاصی شد.گوگل کد اولیه برنامه Google Authenticator خود را در مخزن GitHub خود در دسترس قرار داد؛ در صفحه توسعه مرتبط آمده است:
“این پروژه متنباز به شما امکان میدهد کدی را که نسخه ۲.۲۱ برنامه را پشتیبانی میکرد، دانلود کنید. نسخههای بعدی شامل گردشهای کاری مخصوص گوگل هستند که بخشی از پروژه نیستند.”
آخرین نسخه متنباز در سال ۲۰۲۰ منتشر شد.
درباره Google Authenticator میتوان مطالب زیادی را بطور اختصاصی بیان نمود که بعدا در همین وبلاگ بیشتر به آن میپردازیم.
استفاده از Google Authenticator بعنوان یک راه حل تکمیلی برای افزایش امنیت ورود در بسیاری از سیستم ها و نرم افزارها پیشنهاد میشود البته بعنوان یک راه تکمیلی برای افزایش امنیت.
در پنل پیامکی payamak-panel که توسط pars.ws پشتیبانی میشود بعد از ورود به پنل پیامک خود میتوانید کد یکبار مصرفی نیز از Google Authenticator دریافت کنید تا با امنیت بیشتری وارد پنل پیامک خود شوید.برای استفاده از این امکان ابتدا باید این امکان توسط خود شما فعال شود.