Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 12357|Отговор: 0

Разлика между динамичните токени OTP, TOTP и HOTP

[Копирай линк]
Публикувано в 25.07.2020 г. 16:41:17 ч. | | | |
Обща информация

Двуфакторната автентикация (известна още като 2FA) е механизъм, който комбинира два различни метода за автентикация за удостоверяване на потребителите. През март 2011 г. Google обяви използването на двуфакторна автентикация онлайн, последвана от MSN и Yahoo.

Освен проверката на потребителското име и паролата, двуфакторната автентикация изисква и комбинация от друго физическо устройство, като RSA токен или мобилен телефон.
Двуфакторните сертифицирани продукти могат да се разделят общо на две категории:

Хардуерни устройства, които могат да генерират токени
Приложение за смартфон

OTP

Паролата, използвана при двустъпкова верификация, е еднократна парола (OTP), известна още като динамична парола. Това е силна технология за удостоверяване, която използва криптографска технология за споделяне на ключове между клиенти и сървъри, и е много удобен технически начин за подобряване на текущата статична автентикация с парола, както и важна двустепенна технология за верификация.

OTP е съкратено от One-Time Password, което означава еднократна парола. Тя е разделена на следните два типа:

HOTP (HMAC-базиран алгоритъм за еднократна парола)

HOTP е еднократна парола, генерирана въз основа на алгоритъма HMAC, известен още като динамична парола за синхронизация на събития, който е спецификация на алгоритъма, публикувана от ITEF, а псевдокодът е следният:



Клиентът и сървърът предварително договарят ключ K за генериране на еднократна парола. Клиентът и сървърът имат по един брояч на събития C и синхронизират стойностите на броя предварително. Truncate е алгоритъм, който преобразува 20-байтов низ, генериран от HMAC-SHA-1, в няколко десетични цифри.

TOTP (Времеви алгоритъм за еднократна парола)

TOTP е подобрена версия на HOTP, която използва времето, за да замени брояча на събития C на HOTP, известен още като динамичен шифър за синхронизация на времето. Псевдокод:


T0 е началното време за тест, което по подразбиране е 0  
X е времевата стъпка, която по подразбиране е 30 секунди
Официалната документация дава кестеняв пример, при условие че текущото unix време = 59, T0 = 0, X = 30, след това T=1
Приемайки текущото unix време=60, T0=0, X=30, след това T=2
Тоест, стойността на T се закръгля надолу, а десетичната числа се изхвърля



От горната фигура виждаме, че има два основни елемента на входния алгоритъм – единият е споделеният ключ (известен още като seed), а другият е броенето (или времевият фактор), който се изчислява от конкретен алгоритъм. Ако и двата елемента са последователни, сървърната и клиентската страна ще изчислят един и същ резултат, което ще позволи функционалността за удостоверяване.





Предишен:Angular 9 серия (XII) генерира динамични токени на база OTP
Следващ:.NET/C# генерира еднократни пароли на база TOTP
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com