Ik gebruik RSA SecureID ® Keys nu al geruime tijd (misschien 10 jaar), voor zaken als het veilig online maken van mijn thuisbankrekening of toegang tot mijn bedrijfsnetwerk van computers van thuis. Deze sleutels genereren een 6-cijferig numeriek token dat vervalt. Ik heb me echter altijd afgevraagd hoe deze werken.

RSA SecurID keyfob

Aan de rechterkant is er een punt (niet getoond op de foto) die eenmaal per seconde knippert, en aan de linkerkant is er een stapel van zes verticaal gestapelde horizontale balken, die elk elke tien seconden verdwijnen. Elke keer dat zestig seconden zijn verstreken, reset het token zichzelf en wordt het vorige token ongeldig.

AFAIK deze apparaten maken geen gebruik van het netwerk en de nummers die ze genereren, moeten worden gecontroleerd door de server (of de server is een bank of de server van een bedrijf). Daarom moet er in dit apparaat een algoritme zijn opgeslagen dat willekeurige getallen genereert met een mechanisme dat een zeer nauwkeurige timer bevat die wordt aangedreven door een kleine batterij. De timer moet heel precies zijn, aangezien de server de geldigheid van de gegenereerde cijfers in hetzelfde tijdsinterval moet controleren. Voor elke gebruiker / medewerker moet de server, voor zover ik begrijp, hetzelfde algoritme voor het genereren van willekeurige getallen opslaan, met een dergelijk algoritme per klant / medewerker. De chip moet natuurlijk zo zijn geconstrueerd dat als deze wordt gestolen, de aanvaller geen toegang heeft tot het algoritme voor het genereren van willekeurige getallen dat daarin is opgeslagen, zelfs als het apparaat kapot is.

Is dit hoe dit werkt?

Bedankt!

Reacties

  • Op dezelfde manier TOTP werkt, behalve voor het laatste hoeft u ‘ geen te dure oplossing te kopen en kunt u gewone telefoons gebruiken of elk apparaat dat in staat is tot basisberekeningen, zelfs een smartwatch .
  • Software-gedefinieerde OTP is buitengewoon slecht omdat je niet de sabotageweerstand verkrijgt die nodig is om weerstand te krijgen tegen het klonen van het zaad. Iedereen met een micro-USB-kabel en de juiste tools kan uw telefoon klonen in < 5 minuten. Als het met een wachtwoord is beveiligd, kan de gecodeerde kloon worden opgeslagen totdat de code kan worden verkregen door kwaadwillende software of schouder-surfen. Sommige telefoons bieden tegenwoordig een fraudebestendige hardware-sleutelopslag, dan is het een goed idee om dat te gebruiken, of een Security Smart-MicroSD. Dat voorkomt dat het zaad wordt geëxtraheerd, alleen ” gebruikt “. Maar TOTP-tokens zonder RSA-hardware zijn erg goedkoop.
  • Gerelateerd: Hoe RSA-tokens werken
  • @sebastiannielsen dat vertrouwt nog steeds op social enginnering of op gebruikers die hun spullen niet goed in de gaten houden. Als ik de telefoon van de ‘ s telefoon op een computer kan aansluiten zonder dat hij het merkt, kan ik net zo goed zijn RSA-token stelen en er een ander op plaatsen (en hij won ‘ merk het niet op tot de volgende keer dat hij het probeert te gebruiken, wat te laat zou zijn).
  • De moeite waard om te linken: Kan de cijfers op RSA SecurID-tokens worden voorspeld?

Antwoord

Ja, het werkt zoals je zegt . De chip is “fraudebestendig” en zal de “seed” (geheime sleutel) wissen als er een poging wordt gedaan om deze aan te vallen. Dit wordt vaak bereikt door een batterij te hebben die niet door de gebruiker kan worden vervangen en een “val” die de stroom naar het apparaat onderbreekt zodra het apparaat wordt geopend of het chipoppervlak wordt verwijderd. De sleutel wordt dan opgeslagen in een SRAM, wat kracht nodig heeft om de sleutel te behouden.

De sleutel is een zaadje, dat gecombineerd met de huidige tijd in stappen van 60 seconden (in feite het huidige UNIX-tijdstempel / 60), vernieuwt de code.

Nee, het apparaat hoeft NIET nauwkeurig te zijn. In plaats daarvan zal de server de tijd van de laatst geaccepteerde code opslaan. Dan accepteert de server een code een minuut eerder, een minuut eerder en op het huidige tijdstip, dus als de huidige tijd op de server 23:20 is, dan accepteert hij een code van 23:19, 23:20 en 23: 21.

Hierna zal het de tijd van de laatst geaccepteerde code opslaan, bijv. Als een 23:21-code werd geaccepteerd, slaat het 23:21 op in een database en weigert het elke code te accepteren die werd gegenereerd om 23:21 of eerder.

Nu naar het interessante deel: om te voorkomen dat een onnauwkeurig token van de server wordt gedesynchroniseerd, zal de server in zijn database opslaan als het nodig was om een 23 te accepteren: 19-code of een 23:21-code om 23:20 uur. Dit zorgt ervoor dat de server bij de volgende keer inloggen de code corrigeert met het aantal stappen.

Laten we zeggen dat je bij klok 23:20 inlogt met een 23:19 code. De server slaat “-1” op in zijn database (en als het een 23:21-code zou zijn, zou het “+1” in de database opslaan). De volgende keer dat u inlogt, is de klok 23:40. Dan accepteert de server een 23:38, 23:39 of 23:40 code.Als een 23:38-code wordt geaccepteerd, zal het “-2” in de database opslaan, om 23:39 zal het “-1” in de database bewaren en om 23:40 zal het “0” in de database opslaan.

Dit zorgt er effectief voor dat de server gesynchroniseerd blijft met uw token. Bovendien staat het systeem, als een token “te ver weg liep” van de server (omdat het lange tijd niet werd gebruikt), hersyncronisatie toe. Dit wordt bereikt door een systeembeheerder, of er wordt een selfservice hersynchronisatieservice aangeboden waarbij de tokengebruiker wordt gevraagd om 2 opeenvolgende codes van het token op te geven, zoals 23:20 en 23:21, of 19:10 en 19:11. Merk op dat de server NOOIT een tokencode accepteert die is gegenereerd op of vóór het tijdstip waarop de “laatst gebruikte tokencode” was (aangezien dit hergebruik van OTP-codes mogelijk maakt). Wanneer een hersynchronisatie is voltooid, slaat het token het verschil op met de verstrekte 2 tokencodes en de huidige servertijd en in een hersynchronisatie zou het zoekvenster kunnen zijn als plus / minus 50 stappen (wat ongeveer 0,75 uur aan desynchroniseren in beide richtingen).

De server kan een gedesynchroniseerd token detecteren door de 50 eerdere codes en 50 toekomstige codes te genereren, en als de gespecificeerde code daarmee overeenkomt, zal het het hersynchronisatieproces automatisch starten. Om te voorkomen dat een aanvaller het hersynchronisatieproces gebruikt om geldige codes te vinden, zal het inloggen zodra een account zich in de hersynchronisatiemodus bevindt, vaak niet worden geaccepteerd zonder opnieuw te synchroniseren, waardoor de aanvaller de exacte code na of vóór de code moet vinden gevonden.

Reacties

  • Coole dingen, wist ‘ hier niet van.

Answer

Aan het SecurID-token is een “seed” -waarde toegewezen, en het is geprogrammeerd met een specifiek algoritme dat getallen genereert gebaseerd op het zaad en de systeemklok. De seed-waarde wordt ook opgeslagen in een bestand dat met het token wordt verzonden. Na ontvangst van het token importeren systeembeheerders het seed-bestand naar de authenticatieserver. Aangezien het SecurID-tokenapparaat en de server beide de seed-waarde hebben, en beide het algoritme gebruiken, kan de server op elk moment bepalen wat de juiste tokencode moet zijn.

Af en toe kunnen de token s klok kan niet synchroon lopen met de authenticatieserver. Als dit gebeurt, kunnen systeembeheerders of ander geautoriseerd ondersteunend personeel de gebruiker helpen door een hersynchronisatieproces op de server uit te voeren. Hierdoor wordt de server geconfigureerd om de tijdverschuiving voor dat token te herkennen zodat toekomstige authenticatiepogingen nauwkeurig moeten worden afgehandeld.

Opmerking: omdat deze cijfers voorspelbaar moeten zijn door de server, alleen gebaseerd op de gegevens die zijn opgeslagen in het seed-bestand, de huidige tijd en een standaardalgoritme kan ook worden voorspeld door een aanvaller met speciale tools en toegang tot het token. (of erger nog, toegang tot de seed-bestanden zelf – zoals vermoedelijk is gebeurd in 2011 .) Gegeven voldoende opeenvolgende tokencodes, zijn er ols die de seed-waarde kunnen bepalen en vervolgens zelf toekomstige codes kunnen genereren.

Answer

Het antwoord van Sebastian was geweldig. Ik zal dat in termen van de leek herhalen. Het SecureID-token is gewoon een klok met een seed-waarde erin. In plaats van de tijd weer te geven, wordt er een getal weergegeven. De punt die we in de afbeelding kunnen zien, is seconden (denk ik), de balk is wanneer het nummer gaat veranderen, zodat u het kunt timen. Als het de onderkant bereikt, gaat het veranderen en als u het intypt, wilt u wachten.

De ” seed “staat ook op de server die het apparaat verifieert. Wanneer beveiligingsmensen de RSA-server installeren, moeten ze dezelfde zaden laden in de server die je pincode zal ontvangen.

Dus … In feite is een cryptoclock. Net als de oude LCD-horloges die mijn kinderen hebben met dora of prinsessen erop. Het verschil is het zaadje dat de wiskunde voor het getal oplevert.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *