Google Authenticator - bu Google tomonidan ishlab chiqarilgan dasturiy ta'minotga asoslangan autentifikatsiya vositasi bo'lib, dasturiy ilovalar foydalanuvchilarini autentifikatsiya qilish uchun vaqtga asoslangan bir martalik parol algoritmi (TOTP; RFC 6238 da ko'rsatilgan) va HMAC-ga asoslangan bir martalik parol algoritmi (HOTP; [rfc:4226 RFCda] ko'rsatilgan) yordamida ikki bosqichli tekshirish xizmatlarini amalga oshiradi. [rfc:4226 4226]).[1]

Authenticatorni (shu jumladan Google xizmatlarini) qo'llab-quvvatlaydigan saytga kirishda yoki parol menejerlari yoki fayllarni joylashtirish xizmatlari kabi Authenticator-ni qo'llab-quvvatlovchi uchinchi tomon ilovalaridan foydalanganda, Authentikator olti-sakkiz xonali bir martalik parolni ishlab chiqaradi, uni foydalanuvchilar parolga qo'shimcha ravishda kiritishlari kerak.

Google Authenticatorning Android,[2] BlackBerry va iOS[3] versiyalarini taqdim etilgan.

Android ilovasining rasmiy ochiq manbali forki GitHub-da mavjud.[4] Biroq, bu fork 2020-yildan beri yangilanmagan. Xuddi shunday, iOS va BlackBerry uchun Google Authenticator ilovalarining eski versiyalari uchun manba kodi ham bepul mavjud. Ammo bu manba kodi ham yillar davomida yangilanmagan.[5]

Dasturiy ta'minotning joriy nashrlari xususiy bepul dastur hisoblanadi.[6]

Oddiy foydalanish holati

tahrir

Authenticator-dan foydalanish uchun ilova avvalo smartfonga o'rnatiladi. U foydalaniladigan har bir sayt uchun sozlanishi kerak: sayt Authenticator ilovasida saqlanishi uchun xavfsiz kanal orqali foydalanuvchiga umumiy maxfiy kalitni taqdim etadi. Ushbu maxfiy kalit saytga kelajakdagi barcha kirishlar uchun ishlatiladi.

Ikki faktorli autentifikatsiyadan foydalanadigan va Authenticator-ni qo'llab-quvvatlaydigan sayt yoki xizmatga kirish uchun foydalanuvchi saytga foydalanuvchi nomi va parol beradi. Keyin sayt kerakli olti xonali bir martalik parolni hisoblab chiqadi (lekin ko'rsatmaydi) va foydalanuvchidan uni kiritishni so'raydi. Foydalanuvchi Authenticator ilovasini ishga tushiradi, u oʻz identifikatorini tasdiqlagan holda foydalanuvchi kiritadigan bir xil parolni mustaqil ravishda hisoblab chiqadi va koʻrsatadi. 

Ikki faktorli autentifikatsiyaning bunday turida foydalanuvchining akkauntiga kirish uchun shunchaki foydalanuvchi nomi va parolni bilish yetarli emas – tajovuzkorga umumiy maxfiy kalitni bilish yoki Authenticator ilovasi bilan ishlaydigan qurilmaga jismoniy kirish ham kerak. Hujumning muqobil yo'li o'rtadagi odam hujumidir : agar tizimga kirish uchun foydalanilgan kompyuter troyan tomonidan buzilgan bo'lsa, u holda foydalanuvchi nomi, parol va bir martalik parol troyan tomonidan qo'lga olinishi mumkin. saytga o'zining kirish seansini boshlashi yoki foydalanuvchi va sayt o'rtasidagi aloqani kuzatishi va o'zgartirishi mumkin. 

Texnik tavsif

tahrir

O'rnatish vaqtida xizmat ko'rsatuvchi provayder har bir foydalanuvchi uchun 80 bitli maxfiy kalitni yaratadi (halbuki RFC 4226 §4 128 bitni talab qiladi va 160 bitni tavsiya qiladi).[7] Bu Authenticator ilovasiga 16, 26 yoki 32 ta belgidan iborat 32 ta qator yoki QR kod sifatida uzatiladi.

Keyinchalik, foydalanuvchi Authenticator ilovasini ochganda, ushbu maxfiy kalit yordamida HMAC - SHA1 xesh qiymatini hisoblab chiqadi. Xabar quyidagicha bo'lishi mumkin:

  • Unix davridan beri 30 soniyali davrlar soni (TOTP); yoki
  • har bir yangi kod bilan oshirilgan hisoblagich (HOTP).

HMAC ning bir qismi chiqariladi va foydalanuvchiga olti xonali kod sifatida ko'rsatiladi.

Manba kodi litsenziyasi

tahrir

Android uchun Google Authenticator ilovasi dastlab ochiq manba boʻlgan, biroq keyinchalik xususiy boʻlib qolgan.[6] Google o'zining Authenticator ilovasi uchun avvalroq manbani GitHub omborida mavjud qildi; tegishli rivojlanish sahifasida aytilgan:

“Ushbu ochiq kodli loyiha ilovaning 2.21 versiyasini quvvatlagan kodni yuklab olish imkonini beradi. Keyingi versiyalarda loyihaning bir qismi bo'lmagan Google-ga xos ish oqimlari mavjud."[8]

Ochiq manbali soʻnggi nashr 2020-yilda boʻlgan.[4]

Google Authenticator ochiq manba bo'lishni to'xtatgandan so'ng, asosan yangi qayta yozish, lekin asl nusxadagi ba'zi kodlarni o'z ichiga olgan bepul dasturiy ta'minot kloni yaratildi. Ushbu klonning hozirda saqlanib qolgan vilkasi FreeOTP+ deb ataladi.

  1. „GitHub - google/google-authenticator: Open source version of Google Authenticator (except the Android app)“ (EN). GitHub (18-may 2022-yil). — „These implementations support the HMAC-Based One-time Password (HOTP) algorithm specified in RFC 4226 and the Time-based One-time Password (TOTP) algorithm specified in RFC 6238.“.
  2. „Google Authenticator - Apps on Google Play“.
  3. „Google Authenticator“. App Store.
  4. 4,0 4,1 „google/google-authenticator-android: Open source fork of the Google Authenticator Android app“. GitHub (16-may 2022-yil). Manba xatosi: Invalid <ref> tag; name "github-android" defined multiple times with different content
  5. „google-authenticator/mobile at master · google/google-authenticator“. GitHub.
  6. 6,0 6,1 Willis, Nathan (22 January 2014)."
  7. „RFC 4226 - HOTP: An HMAC-Based One-Time Password Algorithm“. Tools.ietf.org (2005-yil 15-fevral). Qaraldi: 2019-yil 25-mart.
  8. „google-authenticator - Two-step verification - Google Project Hosting“ (18-may 2022-yil).