FIDO U2F — rahat* çoxfaktorlu təsdiqləmə sistemi

Dr. Emin Huseynov
4 min readJan 2, 2019

--

* — müəyyən şərtlərlə

Çoxfaktorlu təsdiqləmə sistemləri haqqında söhbəti davam edirik. Bu dəfə FİDO alyansı tərəfindən yaradılan U2F standartı barəsində danışacam.

FIDO ( “Fast IDentity Online”) Google, Microsoft, PayPal, American Express, MasterCard, VISA, Intel, ARM, Samsung, Qualcomm, Bank of America və bir çox digər nəhəng şirkət və qurumların yaratdığı bir alyansdır. Bunu nəzərə alaraq, demək olar ki, bu alyans tərəfindən təklif olunan texnologiyalar sürətlə məşhurlaşıb istifadə əhatəsini artıracaq (lakin hal hazırda elə də böyük sürət müşahidə olunmur)

U2F — sadələşdirilmiş iş prinsipi izahatı

U2F-in əsası sertifikatlar cütlərindən ibarətdir və bir çox məqamlarında PKI (public key infrastructure) iş prinsipinə bənzəyir. U2F-in mərkəzi komponenti fiziki təhlükəsizlik açarıdır ki (physical security token), onun daxilində olan serfifikat cütlüyündən biri, fərdi açar (private key) — yalnız həmin qurğuda var və onun ixracı qeyri-mümkündür. İctimai açar isə (public key), əksinə, istənilən zaman ixrac oluna bilər. Beləliklə, U2F ictimai açarı hər hansı bir server tərəfindən qeydiyyat olunan zamanda ixrac olunub saxlanılır və sonra təsdiqləmə üçün istifadə olunur.

u2f iş prinsipi

Beləliklə, ilkin giriş faktoru yoxlandıqdan sonra, ikinci mərhələ aşağıdakı addımlardan ibarətdir:

  • Server tərəfindən təsadüfi bir mətn yaradılıb istifadəçiyə göndərilir
  • İstifadəçi tərəfində, u2f qurğusu vasitəsi ilə bu mətn imzalanaraq serverə qaytarılır. İmzalama processi fərdi açar ilə həyata keçirilir. Həmin fərdi açarın ikinci tayı (ictimai açar) qeydiyyat zamanı serverə əvvəlcədən ötürülmüşdür
  • Server imzalanmış mətni istifadəçinin açarı ilə imzalandığını yoxlayır (bunu standart PKI funsiyaları ilə etmək olar).
  • İmza yoxlanıldıqdan sonra, girişə icazə verilir

Yuxarıda qeyd etdiyim addımlar sadələşdirilmiş variantda izah olunur — məsələn, əslində PKI sertifikatlar əlavə olaraq istifadə olunan server, sistem və tətbiq üzrə məhdudlaşdırılaraq ayrılır (app-id). Lakin verilən məlumat iş prinsipini izah etmək üçün kifayət hesab oluna bilər. Daha ətraflı məlumatı FIDO alyansının rəsmi saytından əldə edə bilərsiniz.

U2F qurğuları

U2F-in istifadəsi üçün mütləq xüsusi qurğu lazımdır. Qurğu adi bir flash diskə bənzəyir və qiyməti 10–15 EUR civarındadır.

USB ilə işləyən U2F qurğusu (təxmini qiymət 10EUR)

U2F dəstəkləyən xidmətlər

U2F bir neçə xidmətlər tərəfindən dəstəklənir. Hal-hazırda bu siyahıda Google Accounts, Dropbox, AWS, Stripe Dashboard və digərlərinin adını çəkmək olar.

Aşağıdakı videoda Gmail-ə u2f vasitəsi ilə giriş prosesi göstərilib

U2F öz layihəmdə necə tətbiq edə bilərəm?

U2F tətbiqi üçün 3 səviyyədə icrasını təmin etmək tələb olunur:

  • Səyyah dəstəyi: u2f heç də bütün səyyah proqramları tərəfindən dəstək olunmur. Tam dəstək yalnız Chrome və Chromium əsaslı səyyahlarda mövcuddur. Opera-nın bəzi versiyalarında və Firefox-da “eksperimental” dəstək haqqında məlumat var.
  • Javascript API — qeydiyyat və imzalanma funksiyalarının səyyahdan qurğuya ötürülməsi və qəbul olunması mexanizmləri
  • Server API — qeydiyyat və imzalanma yoxlama funksiyalarının server tərəfindən icra olunması

U2F icrası nisbətən qəliz olmasına baxmayaraq, həm server, həm javascript API kitabxanaları hazır modullar və nümunələr formatında mövcuddur. Hazır məzmun idarəetmə sistemlərindən istifadə edirsinizsə, bir çoxlarında u2f dəstəkləyən əlavə modul və ya plaqinlər mövcuddur.

U2F üstünlükləri və mənfi cəhətləri

Üstünlüklər

U2F qurğuları əsasında təşkil olunmuş giriş sistemlərin əsas üstünlüyü istifadəçi rahatlığıdır: girişin təsdiqlənməsi üçün qurğunun USB porta qoşulu halda, yalnız üzərindəki düyməyə bir dəfə toxunmaqla həyata keçirilir. Bundan əlavə, növbəti məqamları da qeyd etmək olar:

  • Eyni qurğu bir neçə sistem və hesabların qorunmağı üçün istifadə oluna bilər
  • Akkumulyator olmadığı üçün u2f qurğuları uzun müddət ərzində istifadə oluna bilər və real zamana bağlı olmadığı üçün vaxt ərzində qurğunun istismarında heç bir dəyişiklik müşaiyət olunmur

Mənfi cəhətlər

Əsas mənfi cəhət, artıq qeyd olunduğu kimi, səyyah proqramların məhdud dəstəyidir. Lakin bundan əlavə bir cəhətin də adını çəkmək olar: USB port mövcudluğu mütləqdir. Sisteminizdə USB portu yoxdursa, və ya istifadəsinə məhdudiyyət qoyulubsa, klassik U2F qurğulardan istifadə edə bilməyəcəksiniz. Bəzi qurğular USB-dən əlavə NFC və ya BLE interfeys ilə çalışma funkiyasını təqdim edir, lakin bunlardan faydalanmaq üçün əlavə drayver/app/plaqin qurulmağı tələb edir və təsdiq prosessini əlavə addımlar əlavə edir (məsələn koməkçi proqramın işə salınması və s.). Nəticə etibarı ilə, qeyri-USB üsullar istifadəni çətinləşdirmiş olur

İstifadə tövsiyyələri

Google hesab (Google Account) sistemini nümunə olaraq götürərək bəzi tövsiyyələrmi də nəzərinizə çatdırmaq istəyirəm:

  • Birdən çox u2f qurğunun istifadəsi məsləhət görünür: məsələn birini evdə, birini işdə, və üçüncünu özünuzdə gəzdirə bilərsiniz. Bu həm istifadə rahalığı üçün vacibdir, həm də, qurğulardan biri itirilərsə və ya sıradan çıxarsa əlinizdə ehtiyyat qurğunuz olacaq
  • Əlavə olaraq, başqa bir ikinci faktor əlavə edin: məsələn TOTP ilə işləyən Google Authenticator və ya SMS. Bu, u2f dəstəkləməyən cihazlarda giriş üçün lazım ola bilər.

Xülasə

Beləliklə, müəyyən şərtlərə əməl olunursa, u2f istifadəsi digər üsullardan daha rahatdır. Yəni, məsələn, siz yalnız PC platformasından və Chrome səyyahından istifadə edirsinizsə, u2f ilə sistemə giriş, demək olar ki, tam şəffaf və rahat olacaq. Lakin, PC-dən əlavə digər qurğulardan istifadə edirsinizsə, rahatlığın səviyyəsi təxminən TOTP kimi üsulların rahatlığına bərabər olur.

--

--

Dr. Emin Huseynov

IT researcher focusing on multifactor authentication technologies. Academic affiliations: University of Geneva & Azerbaijan Technical University