Unufojaj kodoj povas esti tute ĝustaj en via telefono kaj tamen esti malakceptitaj de la servilo en la sama sekundo. Ambaŭ flankoj kalkulas la saman funkcion el komuna sekreto kaj la aktuala tempa paŝo, do malkonsento pri la tempo produktas malkonsenton pri la kodo. Tio faras la drivon de la horloĝo paneon signifan por sekureco, ne nur ĝenon.

Du horloĝoj gravas ĉi tie, kaj ĝustigi la videblan estas la parto, kiun homoj faras unue. La horloĝo, kiu kutime bezonas atenton, estas la alia.

La kodo estas funkcio de la tempo, ne pasvorto

TOTP prenas la komunan sekreton kaj nombrilon derivitan el la aktuala tempo, pasigas ambaŭ tra haketaĵo kun ŝlosilo kaj tranĉas la rezulton al mallonga dekuma ĉeno, kiel difinite en RFC 6238. La nombrilo antaŭeniras ĉe ĉiu tempa paŝo, kutime tridek sekundoj, do la sama sekreto produktas novan valoron kiam la paŝo ŝanĝiĝas. La kontrolanto rekalkulas la atendatan valoron por la aktuala paŝo kaj komparas, kio postulas la saman sekreton kaj la saman ideon pri nun. Pasvorto restas reuzebla ĝis ĝi ŝanĝiĝas, dum ĉi tiu valoro eksvalidiĝas ĉe limo, kiun la kliento ne povas vidi.

Tial unu kodo funkcias kaj la sekva malsukcesas kelkajn momentojn poste. Tio ankaŭ klarigas, kial kopii kodon el babilmesaĝo estas tiel malfidinda kutimo.

Du horloĝoj devas kongrui, ne unu

La registra materialo estas la unua komuna afero, kaj la tempo estas la dua. Se la sekreto ĝustas dum la horloĝoj diferencas pli ol la tolerata fenestro, ĉiu generita valoro falas en la malĝustan paŝon kaj estas malakceptata. Se la horloĝoj kongruas dum la sekreto malĝustas, ĉiu valoro ankaŭ estas malakceptata, kaj ambaŭ paneoj aspektas identaj sur la ensaluta ekrano. Apartigi ilin signifas kontroli la kontan enskribon kaj la tempon sendepende, laŭ tiu ordo.

La horloĝo de la kontrolanto meritas la saman esploron kiel tiu de la aparato. Servilo, kies tempa fonto estas difektita, malakceptas ĝustajn kodojn de ĉiuj uzantoj samtempe, kaj la raportoj priskribos subitan paneon anstataŭ drivon. Tiu ŝablono indas esti rekonata, ĉar ĝia riparo apartenas al la servilo kaj ne al cent telefonoj.

Kion kostas larĝigi la fenestron

Efektivigoj povas akcepti kodon el apuda paŝo por sorbi malgrandajn diferencojn, kaj tiu toleremo estas projektdecido, ne senpaga ĝustigo. Ĉiu plia paŝo multobligas la nombron da valoroj validaj en iu ajn momento, kio estas ĝuste tio, kion preferas divenanta atakanto. La regulo pri ripeto gravas pro la sama kialo, ĉar kodo akceptita dufoje estas kodo, kiu likis utile. Administranto, kiu larĝigas la fenestron por silentigi plendojn, interŝanĝas realan econ kontraŭ kosmetika plibonigo.

Ĝustigi la horloĝon estas la riparo, dum larĝigi la fenestron estas trankviligilo. La unua forigas la kaŭzon kaj la dua kaŝas ĝin.

Kontrolu ambaŭ horloĝojn antaŭ ol reprovi

Legu la tempon en la aparato kaj en la servilo, kaj komparu la diferencojn anstataŭ la montratajn lokajn tempojn. La subaj komandoj montras la sinkronigan staton kaj la krudan UTC-momenton en Linux-gastiganto aŭ -servilo. Rulu ilin ĉe ambaŭ finoj antaŭ ol ŝanĝi ajnan aŭtentigadan agordon.

timedatectl
date -u +'%Y-%m-%dT%H:%M:%SZ'
chronyc tracking
timedatectl timesync-status

Diferenco mezurita en sekundoj estas senmalutila, unu mezurita en minutoj klarigas malakcepton, kaj sistemo raportanta nenian sinkronigan fonton estas kandidato por ambaŭ. Komparu la du UTC-tempomarkojn rekte, ĉar loka tempo inkluzivas horzonon, kiun la algoritmo neniam vidas. Se la diferencoj estas malgrandaj kaj la kodoj ankoraŭ malsukcesas, ĉesu ĝustigi horloĝojn kaj anstataŭe ekzamenu la registran enskribon. Ripetaj provoj kontraŭ ŝlosita konto malfaciligas la observadon de la origina paneo.

Notu la malakceptan tempon, la diferencon kaj la erartekston, kaj lasu la komunan sekreton ekster tio. Subteno povas labori kun la unuaj tri kaj neniam devus vidi la kvaran.

Rilataj artikoloj