Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12357|Svar: 0

Dynamisk token OTP, TOTP och HOTP skillnad

[Kopiera länk]
Publicerad på 2020-07-25 16:41:17 | | | |
Översikt

Tvåfaktorsautentisering (även kallad 2FA) är en mekanism som kombinerar två olika autentiseringsmetoder för att autentisera användare. I mars 2011 tillkännagav Google användningen av tvåfaktorsautentisering online, följt av MSN och Yahoo.

Utöver att verifiera användarnamn och lösenord kräver tvåfaktorsautentisering även en kombination av en annan fysisk enhet, såsom en RSA-token eller en mobiltelefon.
Tvåfaktorscertifierade produkter kan grovt delas in i två kategorier:

Hårdvaruenheter som kan generera tokens
Smartphone-app

OTP

Lösenordet som används vid tvåstegsverifiering är ett engångslösenord (OTP), även känt som ett dynamiskt lösenord. Det är en stark autentiseringsteknologi som använder kryptografi för att dela nycklar mellan klienter och servrar, och är ett mycket bekvämt tekniskt sätt att förbättra den nuvarande statiska lösenordsautentiseringen, samt är en viktig tvåstegsverifieringsautentiseringsteknologi.

OTP står för One-Time Password, vilket betyder engångslösenord. Den delas in i följande två typer:

HOTP (HMAC-baserad engångslösenordsalgoritm)

HOTP är ett engångslösenord som genereras baserat på HMAC-algoritmen, även känd som dynamiskt lösenord för händelsesynkronisering, vilket är en algoritmspecifikation publicerad av ITEF, och pseudokoden är följande:



Klienten och servern förhandlar i förväg om en nyckel K för generering av ett engångslösenord. Klienten och servern har varsin händelseräknare C och synkroniserar räkningsvärdena i förväg. Truncate är en algoritm som omvandlar en 20-bytes sträng genererad av HMAC-SHA-1 till flera decimalsiffror.

TOTP (Tidsbaserad engångslösenordsalgoritm)

TOTP är en förbättrad version av HOTP som använder tid för att ersätta HOTP:s händelseräknare C, även känd som den dynamiska chiffern för tidssynkronisering. Pseudokod:


T0 är den initiala testtiden, som som standard är 0  
X är tidssteget, som som standard är 30 sekunder
Den officiella dokumentationen ger en klassiker, under antagandet att den aktuella unixtiden = 59, T0 = 0, X = 30, sedan T=1
Under antagandet av nuvarande unix-tid=60, T0=0, X=30, då T=2
Det vill säga, värdet av T avrundas nedåt och decimalen kastas bort



Från figuren ovan kan vi se att det finns två huvudelement i inmatningsalgoritmen, det ena är den delade nyckeln (även kallad fröet), och det andra är räknefaktorn (eller tidsfaktorn), som beräknas av en specifik algoritm. Om båda elementen är konsekventa kommer server- och klientsidan att beräkna samma resultat, vilket möjliggör autentiseringsfunktionalitet.





Föregående:Angular 9-serien (XII) genererar dynamiska tokens baserade på OTP:er
Nästa:.NET/C# genererar engångslösenord baserade på TOTP
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com