Door Anoniem: RSA heeft al tijden software based tokens voor o.a. windows en blackberry maar ook symbian OSX en Iphone.
Dank voor jouw reactie! Dat al die devices werden ondersteund wist ik niet toen ik de Android app aankondiging las. Ik heb erover geschreven omdat ik het een slecht plan vind en er zo snel nergens kritische geluiden over kon vinden (zojuist vond ik die wel, onderaan
http://en.wikipedia.org/wiki/SecurID vond ik een link naar
http://securology.blogspot.com/2007/11/soft-tokens-arent-tokens-at-all.html).
wel iets minder veilig dan een hardware token om de reden die Bitwiper aangeeft.
Ik hou het op
aanzienlijk minder veilig, en m.i. hooguit geschikt voor toepassingen waarbij net ietsje meer veiligheid gevraagd wordt dan uitsluitend een wachtwoord.
De methodes die je aangeeft waren vele jaren geleden al gangbaar bij kopieerbeveiligingen en werden toen
en masse gekraakt. Dat gebeurde meestal door de betreffende software te reverse-engineeren en bijv. de routine, die alleen "true" teruggeeft als de actuele hardware-karakteristieken overeenkomen met een eerder daarvan gemaakte hash, zo aan te passen dat deze
altijd true teruggeeft. Natuurlijk kun je dat weer bemoeilijken door digitale handtekeningen onder apps te checken, maar mensen plegen smartphones te jail-breaken en bovendien blijken beveiligingen in de praktijk niet waterdicht (zie bijv.
http://blogs.rsa.com/curry/disruptor-user-driven-it-mobile-rises-up/ van, notabene, RSA zelf).
Verder noem je het versleutelen van gegevens: tenzij de gebruiker
elke keer een wachtwoord moet invoeren om een seed o.i.d. vrij te geven, zal de decryptiesleutel ergens bereikbaar voor de applicatie moeten zijn opgeslagen. Natuurlijk kun je het terugvinden van zo'n sleutel flink lastig maken middels obfuscatie, maar ook hier zal een vastberaden aanvaller, gebruik makend disassemblers en debuggers, zijn weg wel weten te vinden.
Ter vergelijking: voor NT4 (en later voor W2k, XP en W2k3) heeft Microsoft de SysKey utility gemaakt waarmee de "SAM" password database wordt versleuteld (zie
http://support.microsoft.com/kb/310105/). De sleutel daarvoor kun je naar keuze:
1) tijdens het opstarten van het systeem intikken;
2) of tijdens het opstarten van het systeem vanaf een floppy laten inlezen;
3) of middels een "complex obfuscation algorithm" (aldus
http://support.microsoft.com/kb/143475/) op je harde schijf zetten.
Dat de sleutel-onder-de-deurmat methode 3) vanzelfsprekend gekraakt kan worden kun je o.a. hier lezen:
http://s-t-d.org/mirrors/syskey/syskey.txt.
Om de SecurID-in-software technologie betrouwbaarder te kunnen laten werken, zouden smartphones van een chip moeten zijn voorzien waar je, write-only, een unieke code in wegschrijft. Tevens moet die chip
zelf van buiten komende informatie (zoals een timestamp), samen met de unieke code, secure kunnen hashen, zodat die unieke code de chip nooit hoeft te verlaten.
Helemaal safe is het dan nog steeds niet, want het is denkbaar dat een trojan op je smartphone op afstand wordt bestuurd en jouw smartphone vraagt zo'n one-time-password te genereren, om deze vervolgens naar de aanvaller terug te sturen. Die hoeft dan alleen nog maar jouw wachtwoord te kennen, wat natuurlijk niet zo moeilijk is als je dat eerder invoerde op diezelfde gecompromitteerde smartphone...