Miten toimii RSA SecurID kortti

Liittynyt
14.9.2005
Viestejä
567
Miten toimii RSA SecurID kortti. Kortti jossa aina minuutin välein vaihtuu nestekidenäytöllä numero jolla voidaan autentikoida ja loggautua sovittuihin järjestelmiin. Kortti siis vaihtaa tunnusta 60s välein. Onko kortissa siis joku radiopiiri jolla se on yhteydessä serveriin vai vain joku matemaattinen algoritmi ja synkronoitu kello joka on samassa ajassa serverin kanssa. Yksi numerosarja siis toisinsanoen salasana on voimassa aina tasan 60s. Numerosarjat näyttävät täysin sattumanvaraisilta.

Itse korttiin loggaudutaan pin numerolla joka syötetään myös serverille kortin käyttöönoton yhteydessä ensimmäisellä kerralla yhden ainoan kerran. Myöhemmin serverille syotetaan vain kaäyttäjätunnus ja generoituva numero. Käyttäjätunnusta ei koskaan syötetä itse korttiin.

Kortti toimii niin nopeasti enkä koskaan ole nähnyt sen valittavan että yhteys on pikki tms eli tuskin on yhteydessä mihinkään. Joskus korttia pitää kuitenkin synkronoida.

Kortti on kuitenkin ilmeisesti semmoinen, että sitä on mahdoton murtaa tai laskea muuttuvaa numeroa tai ennakoida seuraavia tunnuksia. Miten siis jos kortti generoi numerot randomilla myös serveri voi tuntea ne ja tietää, että numero on oikea. Jos kortti ja serveri generoi numeroita yhtäaikaa numerothan täytyy olla ennakkoon määriteltävissä enkä ymmärrä miten systeemi silloin voisi olla niin äärimmäisen turvallinen.

Jos kortti sekä serveri generoi numeroita jotenkin henkilökohtaisesti valittavan pin numeron avulla pitäisi mielestäni salasanan laskemisen olla helppoa ilma korttiakin jos pin numero ja kortin algoritmi tunnetaan....
 
10% ALENNUS KOODILLA PAKKOTOISTO
Pähkinänkuoressa: Serverillä ja kortilla pitää tosiaan kello olla samassa ajassa. Niillä pitää myös olla yhteinen salainen koodi, joka on siis kortin käyttöön otossa kerrottu serverille. Kortilla koodista ja kellonajasta lasketaan hash-funktion arvo (joku monimutkainen yksisuuntainen funktio) ja näytetään ruudulla. Se lähetetään serverille, joka myös laskee saman funktion arvon omista tiedoistaan, ja vertaa ovatko ne samat.
 
Eli jos funktio ja pin tunnetaan niin seuraava koodi voitaisiin laskea koska tahansa missä tahansa kortinhaltijan tietämättä... vai perustuuko vaikeus siihen, että tarvittavan aika muuttujan laskeminen on melko vaikeaa ilman korttia.
 
tossa wikipedian linkissä sanotaan, että niitä ei vissiin ole 15v aikana purettu. ongelma on siinä, että jokainen laite on erilainen, eri niissä on eri "seed" jonka pohjalta laite laskee arvoja. Myöskin, nuo laitteet on jotenkin suojattu jottei niitä pystytä purkamaan.
 
Eli siis on liian vaikea laskea pin numeron kellon ja näytölle ilmaantuvien numeroiden perusteella mikä on kortin sisäinen seed. Lähinnä mietin että jos vaikka saisi yhdeksi yöksi tuollaisen laitteen ja pin numeron eikö olisi mahdollista syöttää johonkin tietokone ohjelmaan generoituvia numeroita ja tietokone laskisi kortin sisäisen seedin jonka jalkeen korttia voitaisiin pörittää virtuaalisesti kortinhaltijan tietämttä.
 
Eli jos funktio ja pin tunnetaan niin seuraava koodi voitaisiin laskea koska tahansa missä tahansa kortinhaltijan tietämättä... vai perustuuko vaikeus siihen, että tarvittavan aika muuttujan laskeminen on melko vaikeaa ilman korttia.

Sen random numeron lisäksi on myös henk. koht vakionumerosarja joka laitetaan siihen random numerosarjan eteen. Ja sitä ei tiedä kukaan muu kuin sinä ja ehkä palveluntarjoaja.
 
Kuka helvetti täällä ymmärtää yhtään mitään mitä puhutte :jahas: ...hmm nörttibodareita ...koodaatte rautaa :thumbs:
 
Se pin-numero, joka siis serverille käyttöönoton yhteydessä kerrotaan, on se kortin sisäinen seed-luku. Algoritmi jolla lasketaan niitä kertakäyttöavaimia on todennäköisesti julkinen, ideana on siis se, että niistä generoituvista numeroista ei tosiaan saa laskettua sitä seed-lukua takaisinpäin kohtuullisella vaivalla. Jos tiedät pin-luvun ja käyttäjätunnuksen niin uskoisin että se riittää.
 
Suurin taika tuossa on se, miten pidetään serverin ja kortin kellot samassa ajassa. Jotain synkkatietoa ilmeisesti on kätketty jokaiseen kertakäyttöavaimeen.

Tossa asiaa on selitetty linkissä joka löytyy wikipedian jutusta.

The classic SecurID, for 15 years, used a proprietary algorithm to
hash a token-specific 64-bit true-random seed and Current Time to
produce the SecurID 6-8 digit (or alphanumeric) token-code.

The latest model SecurID -- introduced at the beginning of 2003 --
uses the AES block cipher, in standard ECB mode, to hash:

- a 128-bit token-specific true-random seed,
- a 64-bit standard ISO representation of Current Time
(yr/mo/day/hour/min/second),
- a 32-bit token-specific salt (the serial number of the token), and
- another 32 bits of padding, which can be adapted for new functions
or additional defensive layers in the future.

These inputs, conflated and hashed by the AES, now generate the series
of 6-8 digit (or alphanumeric) token-codes that are continuously
displayed on the SecurID's LCD as a "one-time password." In the
SecurID's trademark rhythm, these token-codes roll over every 60
seconds.

Independent cryptographers have refined theoretical attacks on the
64-bit SecurID. These attacks are still improbable as real world
threats, since they typically require the surreptitiously collection
and extensive computer analysis of tens or hundreds of thousands of
SecurID token-codes, but the proposed attacks provided a valid basis
for concern.

n fact, the statistical analysis of tens or hundreds of thousands of
SecurID token-codes is not, in all probability, the most dangerous
emerging threat. It is certainly not the only potential threat to
token-based authentication for which RSA has quietly developed and
implemented unannounced defenses.
 
Joskushan noi menee käsittääkseni epäsynkkaan, mutta systeemi jotenkin maagisesti resynkronoi yksinkertaisesti kysymällä kahta peräkkäistä koodia. (feikkiedit: noihnan tuolla wikisivuilla sanotaan)
 
Mitä tarkoittaa matemaattinen symbooli jossa on kolme viivaa päällekkäin vaakasuorassa... eli on merkki jossa on viela yksi vaakasuora on merkin päällä
http://fi.wikipedia.org/wiki/RSA
 
Algoritmi jolla lasketaan niitä kertakäyttöavaimia on todennäköisesti julkinen, ideana on siis se, että niistä generoituvista numeroista ei tosiaan saa laskettua sitä seed-lukua takaisinpäin kohtuullisella vaivalla. Jos tiedät pin-luvun ja käyttäjätunnuksen niin uskoisin että se riittää.
Näinpä. Jos esim. otetaan Mersenne Twister satunnaislukugeneraattori, jonka periodin pituus on 2^19937, niin voipi olla aika hankalaa löytää se kohta satunnaislukujonosta, missä kortti ja palvelin kulkevat :D
 

Latest posts

Suositut

Back
Ylös Bottom