HMAC-ga asoslangan bir martalik parol algoritmi - HMAC-based One-time Password algorithm

HMAC-ga asoslangan bir martalik parol algoritmi (HOTP) a bir martalik parol (OTP) algoritmi xashga asoslangan xabarni tasdiqlash kodlari (HMAC). Bu Ochiq autentifikatsiya qilish tashabbusi (Qasamyod).

HOTP axborot sifatida nashr etildi IETF RFM 4226 2005 yil dekabrida algoritmni Java dastur bilan birga hujjatlashtirdi. O'shandan beri algoritm butun dunyo bo'ylab ko'plab kompaniyalar tomonidan qabul qilingan (pastga qarang). HOTP algoritmi bepul mavjud ochiq standart.

Algoritm

HOTP algoritmi odam tomonidan o'qiladigan parollarni nosimmetrik tarzda yaratish orqali autentifikatsiya qilish usulini yoki qiymatlar, har biri faqat bitta autentifikatsiya urinishi uchun ishlatiladi. Bir martalik xususiyat to'g'ridan-to'g'ri har bir hisoblagich qiymatining yagona ishlatilishidan kelib chiqadi.

HOTP-dan foydalanmoqchi bo'lgan tomonlar bir nechtasini tashkil qilishi kerak parametrlar; odatda, ular autentifikator tomonidan belgilanadi va tasdiqlangan tomonidan qabul qilinadi yoki qabul qilinmaydi:

  • A kriptografik xash usuli, H (sukut bo'yicha SHA-1 )
  • A maxfiy kalit, K, bu o'zboshimchalik bilan bayt qatori va shaxsiy bo'lib qolishi kerak
  • A hisoblagich, C, bu takrorlash sonini hisoblaydi
  • HOTPqiymat uzunligi, d (6-10, sukut bo'yicha 6, va 6-8 tavsiya etiladi)

Ikkala tomon ham HOTP-ni hisoblashadimaxfiy kalitdan olingan qiymat K va hisoblagich C. Keyin autentifikator mahalliy ishlab chiqarilgan qiymatini autentifikatsiya qilingan qiymat bilan tekshiradi.

Autentifikator va tasdiqlangan hisoblagichni oshiradi, C, bir-biridan mustaqil ravishda, ikkinchisi birinchisidan oldin ko'payishi mumkin, shuning uchun resinxronizatsiya protokoli oqilona bo'ladi. RFC 4226 aslida bunday narsani talab qilmaydi, lekin tavsiya qiladi. Bu shunchaki autentifikator o'zlarining hisoblagichlari oldida bir necha marta kattalikdagi oyna orqali tekshirishni sinab ko'rishi kerak, s. Autentifikatorning hisoblagichi tekshiruv muvaffaqiyatli bo'lgan qiymatga qarab davom etadi va autentifikatsiya qilingan tomonidan hech qanday harakat talab etilmaydi.

Tavsiya HOTP-ni doimiy ravishda qisqartirishga qaratilganularning nisbatan kichik o'lchamlarini va shu tariqa qo'pol kuch hujumlariga nisbatan zaifligini aniqlash uchun qiymatni tekshirish amalga oshiriladi. Tekshiruvni ozgina miqdordagi muvaffaqiyatsiz urinishlardan so'ng blokirovka qilish yoki har bir muvaffaqiyatsiz urinish qo'shimcha (chiziqli ravishda ortib boruvchi) kechikishni keltirib chiqarishi tavsiya etiladi.

6 xonali kodlar odatda bir nechta sotuvchilarning standart qiymati to'g'risida xabar beradigan xususiy apparat ma'lumotlari tomonidan taqdim etiladi. d. Kesish 31 bit yoki ajratib oladi ≈ 9,3 kasrli raqamlar, ya'ni ko'pi bilan, d 10 bo'lishi mumkin, 10-raqam kamroq qo'shimcha o'zgarishni ta'minlaydi, 0, 1 va 2 qiymatlarini oladi (ya'ni 0,3 raqam).

Ikki tomonlama autentifikatsiya

Tekshirgandan so'ng autentifikator keyingi HOTP-ni yaratish orqali o'zini tasdiqlashi mumkinqiymati, uni qaytarish va keyin tasdiqlangan o'z HOTP-ni yaratishi mumkinuni tekshirish uchun qiymat. Jarayonning ushbu nuqtasida hisoblagichlarni sinxronlashtirish kafolatlanganligini unutmang.

HOTPqiymat

The HOTPqiymat inson tomonidan o'qiladigan dizayni natijasidir, a d- raqamli o'nlik raqam (etakchi 0lar kiritilmasdan):

HOTPqiymat = HOTP(K, C) 10-modd

Ya'ni, qiymati d HOTP-ning eng kam 10 ta asosiy raqami.

HOTP ning kesilishi xashga asoslangan xabarni tasdiqlash kodi Hisoblagich (HMAC), C (kalit ostida, Kva hash funktsiyasi, H).

HOTP(K, C) = qisqartirish (HMACH(K, C))

Qisqartirish birinchi navbatda ning kamida 4 ta muhim qismini oladi MAC va ularni bayt ofset sifatida ishlatadi, men.

qisqartirish (MAC) = ekstrakt 31 (MAC, MAC[(19 × 8) + 4:(19 × 8) + 7] × 8)

Ushbu indeks men dan 31 bitni tanlash uchun ishlatiladi MAC, bitdan boshlanadi i * 8 + 1.

ekstrakt 31 (MAC, men) = MAC[men × 8 + 1:men × 8 + (4 × 8) − 1]

Shuni unutmangki, 31 bit 4 baytli so'zdan bit bit. Shunday qilib, qiymat bunday so'zning ichiga belgi bitini (eng muhim bit) ishlatmasdan joylashtirilishi mumkin. Bu salbiy sonlar bo'yicha modulli arifmetikani bajarishdan qochish uchun qilingan, chunki bu juda ko'p turli xil ta'riflar va dasturlarga ega.[1]

Python dasturining misoli:

import hmacdef hotp (kalit, hisoblagich, raqamlar = 6): c = counter.to_bytes (8, byteorder = 'big', imzolangan = False) mac = hmac.new (key, c, 'sha1'). digest () i = mac [-1]% 16 kesilgan = int.from_bytes (mac [i: i + 4], byteorder = 'big', imzolangan = False)% 2 ** 31 qisqartirilgan% 10 ** raqam

Tokenlar

Ikkala apparat va dasturiy ta'minot belgilarini turli xil sotuvchilardan olish mumkin, chunki ularning ba'zilari quyida keltirilgan ma'lumotlarga qarang. OATH HOTP-ni tatbiq etadigan apparat tokenlari o'zlarining raqobatchilariga nisbatan mulkiy algoritmlarga asoslangan holda ancha arzonroq.[2] 2010 yildan boshlab OATH HOTP apparat belgilarini marginal narxga sotib olish mumkin.[3] Ba'zi mahsulotlar OATH HOTP bilan bir qatorda kuchli parollar uchun ham ishlatilishi mumkin.[4]

Dasturiy ta'minot ma'lumotlari (deyarli) barcha yirik mobil qurilmalar uchun mavjud /smartfon platformalar (J2ME,[5] Android,[6][7] iPhone,[8] BlackBerry,[9] Maemo,[10] macOS,[11] va Windows Mobile[9]).

Qabul qilish

2004 va 2005 yillar davomida ba'zi kompyuter matbuotidan qabul qilish salbiy bo'lganiga qaramay,[12][13][14] IETF HOTP-ni qabul qilganidan keyin RFM 4226 2005 yil dekabr oyida turli xil sotuvchilar HOTP mos keladigan tokenlar va / yoki to'liq autentifikatsiya echimlarini ishlab chiqarishni boshladilar.

Tomonidan chop etilgan kuchli autentifikatsiya to'g'risida ("Yo'l xaritasi: parollarni OTP autentifikatsiyasi bilan almashtirish" deb nomlangan) maqolasida. Burton guruhi (ning bo'linishi Gartner, Inc. ) 2010 yilda "Gartner Kutish - bu apparat OTP form-faktor esa mo''tadil o'sishni davom ettiradi smartfon OTP-lar o'sib boradi va vaqt o'tishi bilan standart apparat platformasiga aylanadi. "[2]

Shuningdek qarang

Adabiyotlar

  1. ^ Frank, Xornaert; Devid, Nakkache; Mixir, Bellare; Ohad, Ranen. "HOTP: HMAC-ga asoslangan bir martalik parol algoritmi". tools.ietf.org.
  2. ^ a b Diodati, Mark (2010). "Yo'l xaritasi: parollarni OTP autentifikatsiyasi bilan almashtirish". Burton guruhi. Gartner Kutish - bu apparat OTP form-faktor mo''tadil o'sishni davom ettiradi smartfon OTP-lar o'sib boradi va vaqt o'tishi bilan standart apparat platformasiga aylanadi. ... Agar tashkilot keng platformaviy yordamga muhtoj bo'lmasa, unda OATH-ga asoslangan texnologiya, ehtimol, tejamli tanlovdir.
  3. ^ "Xavfsizlikni tasdiqlovchi belgilar - ishonib topshiring". Ishonib oling. 2011. Bir belgi uchun 5 dollar narxga ega bo'lgan Entrust IdentityGuard Mini Token shuni ko'rsatadiki, ishonchli, ishonchli apparat identifikatsiyasini jozibali narxda olish mumkin. ... OATH va DES / 3DES algoritmini qo'llab-quvvatlash
  4. ^ "Password sCrib Tokens - Smart Crib". Aqlli beshik. 2013. Arxivlangan asl nusxasi 2013-03-20. Siz yangilanadigan 4 ta parol va 8 ta raqamli OATH HOTP kodini 35 funt sterling narxida yozishingiz mumkin.
  5. ^ "DS3 OathToken Midlet dasturini ishga tushirdi". Ma'lumotlar xavfsizligi tizimlari echimlari. 2006-02-24. Arxivlandi asl nusxasi 2013 yil 29 dekabrda. Singapur, 2006 yil 24-fevral, juma - Data Security Systems Solutions kompaniyasi DS3 flagmani mahsuloti - Authentication Server-ning kengaytmasi - OathToken Midlet dasturining ishga tushirilishi haqida mamnuniyat bilan xabar beradi.
  6. ^ "Android Token". diamondz ... googlemail.com saytida (to'liq manzil emas, muallif haqida yaxshiroq ma'lumot topilmadi). 2009. Android Token - bu Android platformasi uchun OATH dasturiy ta'minot belgilarini yaratish loyihasi. Uyali telefonni apparat belgilarida ishlatilishi mumkin bo'lgan bir martalik parol (OTP) yaratish qurilmasiga aylantirish. ... Loyiha HOTP (Event Tokens) va TOTP (Time Tokens) texnik xususiyatlarini qo'llab-quvvatlaydi. ... Kod litsenziyasi: GNU GPL v3
  7. ^ "StrongAuth". 2010. Arxivlangan asl nusxasi 2010-05-18. HOTP-ga asoslangan vaqtga asoslangan bir martalik parol generatori (RFM 4226 ).
  8. ^ Kobbs, Archie L. (2010). "Qasamyod belgisi". Archie L. Kobbs. OATH Token - bu iPhone-da ikki faktorli autentifikatsiya qilish uchun bepul va ochiq manbali dasturiy ta'minot belgisi. OATH Token dasturini amalga oshiradi RFM 4226 HOTP / OATH algoritm standarti va hech qanday xususiy server dasturiga bog'liq emas.
  9. ^ a b "ActivIdentity Soft Tokens". ActivIdentity. 2010. Arxivlangan asl nusxasi 2010-09-17. Barcha ActivIdentity Soft Tokens HMAC-ga asoslangan bir martalik parol (HOTP) algoritmini ochish uchun autentifikatsiya (OATH) uchun tashabbusni qo'llab-quvvatlaydi. ... ActivIdentity Mobile Soft Tokens BlackBerry®, Apple® iPhone®, Windows Mobile va boshqa ko'plab Java 2 Platform, Micro Edition (J2ME) yoqilgan qurilmalarni o'z ichiga olgan etakchi operatsion tizimlarida mavjud.
  10. ^ Uitbek, Shon (2011). "N900 uchun OTP generatori". Shon Uitbek. Nokia N900-da Maemo uchun OTP Generator. OATH belgilarini (HOTP, TOTP) hamda Mobile-OTP algoritmini qo'llab-quvvatlaydi.
  11. ^ "SecuriToken". Dasturiy ta'minotni yaxshi his eting. 2011. Arxivlangan asl nusxasi 2012-04-25. SecuriToken - bu OS X platformasi uchun bir nechta dasturiy ta'minot tokenlarini yaratish va boshqarish uchun RFCga mos dastur. Mac-ni apparat belgilarida ishlatilishi mumkin bo'lgan bir martalik parol (OTP) yaratish qurilmasiga aylantirish.
  12. ^ Kearns, Deyv (2004-12-06). "Qasamyodga chuqurroq kirib borish unchalik yaxshi ko'rinishga ega emas". Tarmoq dunyosi. Ehtimol, OATH qachondir biron narsani tashkil qilishi mumkin, ammo hozircha u VeriSign uchun ta'qib qilinadigan otga o'xshaydi va bu biz o'ylamasdan sakrashimiz kerak bo'lgan vosita emas.
  13. ^ Willoughby, Mark (2005-03-21). "Qasamni tasdiqlash bo'yicha kelishuv yo'q". Computerworld.
  14. ^ Kaliski, Burt (2005-05-19). "Algoritm chaqqonligi va qasamyod". Computerworld. Shunga qaramay, HOTP OTP ishlab chiqarish uchun standart algoritm sifatida mos keladimi yoki umuman olganda, bunday standart algoritm umuman zarurmi yoki yo'qmi degan savolga hali ham yaxshi sabablar mavjud.

Tashqi havolalar