Säkra lås med Arduino (2 / 5 steg)
Steg 2: Lägg till säkerhet på din ansökan med hjälp av TOTP-Arduino biblioteket
Arduino TOTP (utifrån en tid lösenord) biblioteket implementerar den algoritm som beskrivs i RFC 6238 generera tidsbaserade OTP koder.
En ny kod genereras varje 30 sekunder, från ett lösenord (bättre, en delad hemlighet) och faktiska tidsstämpelvärde (= antalet sekunder efter 1970/01/01, kallas epok).
Dessa OTP koder används ofta för att komma åt webbplatser, hem-bankrörelsen ansökningar... och skapas med tokens, som kan vara maskinvara eller programvara som
Bild 1
Biblioteket kan vara enkelt
installeras med hjälp av Arduino Library Manager dell'IDE (menyn skiss – inkluderar bibliotek – hantera bibliotek...):
Bild 2
Alternativt kan du ladda ner den senaste versionen från Github och installera det manuellt.
Användning
Först definiera lösenord och skapa TOTP objekt att vidarebefordras till dess konstruktor pekaren till lösenordet och det lösenord längd:
uint8_t hmacKey [] = {0x4d, 0x79, 0x4c, 0x65, 0x67, 0x6f, 0x44, 0x6f, 0x6f, 0x72}; TOTP totp = TOTP (hmacKey, 10);
Du kan använda följande webbsida om du vill konvertera ett lösenord i en byte-array:
http://www.lucadentella.it/otp
som visar också lösenordet i base32-kodning och som en QRCode konfigurera Google Authenticator app:
Bild 3
För att få en ny kod, kallar den
getCode() metod passerar den faktiska tidsstämpeln:
char * newCode = totp.getCode(timeStamp);
Tidsstämpelvärde kan erhållas från en RTC (realtidsklocka) IC, som DS1307 från Maxim.
För mer deails i det här biblioteket kan du tillgång till nästa länk: