Hvers vegna TOTP-kóðar mistakast þegar klukka tækisins rekur sig
Kóðinn er hak af leyndarmálinu og núverandi tímaskrefi. Berið saman frávikin á báðum endum og lagaðu síðan klukkuna í stað þess að víkka gluggann.
Einskilykilskóðar geta verið fullkomlega réttir í símanum þínum og samt verið hafnað af netþjóninum á sömu sekúndu. Báðir aðilar reikna sömu fallið út frá sameiginlegu leyndarmáli og núverandi tímaskrefi, þannig að ágreiningur um tímann leiðir til ágreinings um kóðann. Það gerir klukkusrek vandamál sem varðar öryggi en ekki bara pirring.
Tvær klukkur skipta máli hér, og að laga þá sýnilegu er sá hluti sem fólk gerir fyrst. Sú sem þarf venjulega athygli er hin.
Kóðinn er fall af tíma, ekki lykilorð
TOTP tekur sameiginlega leyndarmálið og teljara sem er leiddur út frá núverandi tíma, keyrir bæði í gegnum hak með lykli og styttir niðurstöðuna í stuttan aukastafastreng, eins og kveðið er á um í RFC 6238. Teljarinn færist áfram við hvert tímaskref, venjulega þrjátíu sekúndur, svo sama leyndarmál framleiðir nýtt gildi þegar skrefið breytist. Sannprófandinn endurreiknar væntanlegt gildi fyrir núverandi skref og ber saman, sem krefst sama leyndarmáls og sömu hugmyndar um núna. Lykilorð er áfram endurnýtanlegt þar til því er breytt, en þetta gildi rennur út á mörkum sem biðlarinn sér ekki.
Þess vegna virkar einn kóði og sá næsti mistekst augnablikum síðar. Það skýrir líka hvers vegna það er svo óáreiðanleg venja að afrita kóða úr spjallskilaboðum.
Tvær klukkur verða að stemma, ekki ein
Skráningarefnið er fyrsti sameiginlegi hluturinn og tíminn er sá annar. Ef leyndarmálið er rétt á meðan klukkurnar víkja meira en leyfilegi glugginn, lendir hvert myndað gildi í röngu skrefi og er hafnað. Ef klukkurnar stemma á meðan leyndarmálið er rangt er hverju gildi einnig hafnað, og bæði mistökin líta eins út frá innskráningarskjánum. Að aðgreina þau þýðir að athuga reikningsfærsluna og tímann sjálfstætt, í þeirri röð.
Klukka sannprófandans á skilið sömu skoðun og klukka tækisins. Netþjónn sem er með bilaða tímauppsprettu hafnar réttum kóðum allra notenda í einu, og skýrslurnar munu lýsa skyndilegu niðurfelli frekar en sreki. Þetta mynstur er þess virði að þekkja, því lagfæringin á heima á netþjóninum og ekki á hundrað símum.
Hvað víkkun gluggans kostar
Útfærslur mega samþykkja kóða frá aðliggjandi skrefi til að drepa í sig litlum mun, og sú umburðarlyndi er hönnunarákvörðun en ekki ókeypis aðlögun. Hvert auka skref margfaldar fjölda gilda sem eru gild á hverri stundu, sem er einmitt það sem árásarmaður sem giskar vill helst. Endurspilunarreglan skiptir máli af sömu ástæðu, því kóði sem er samþykktur tvisvar er kóði sem hefur lekið á gagnlegan hátt. Stjórnandi sem víkkar gluggann til að þagga kvartanir skiptir raunverulegu eiginleika fyrir kosmetíska endurbót.
Að laga klukkuna er viðgerðin, en að víkka gluggann er slævingarlyf. Sú fyrri fjarlægir orsökina og sú seinni felur hana.
Athugaðu báðar klukkur áður en þú reynir aftur
Lestu tímann á tækinu og á netþjóninum og berðu saman frávikin frekar en sýndu staðartímana. Skipanirnar hér fyrir neðan sýna samstillingarstöðu og hráa UTC-stund á Linux-vél eða netþjóni. Keyrðu þær á báðum endum áður en þú breytir einhverjum auðkenningarstillingum.
timedatectl
date -u +'%Y-%m-%dT%H:%M:%SZ'
chronyc tracking
timedatectl timesync-status
Frávik mælt í sekúndum er hættulaust, frávik mælt í mínútum útskýrir höfnun, og kerfi sem tilkynnir enga samstillingaruppsprettu kemur til greina fyrir hvort tveggja. Berðu saman UTC-tímastimplana tvo beint, því staðartími inniheldur tímabelti sem reikniritið sér aldrei. Ef frávikin eru lítil og kóðarnir mistakast samt, hættu að stilla klukkur og skoðaðu skráningarfærsluna í staðinn. Endurtekin tilraunir gegn læstum reikningi gera upphaflega gallann erfiðari að sjá.
Skráðu höfnunartímann, frávikið og villutextann, og hafðu sameiginlega leyndarmálið utan við það. Þjónusta getur unnið með fyrstu þremur og ætti aldrei að sjá það fjórða.