Ok merci entre temps je me suis renseigné, les fameux SecurID de RSA etc... J'ai fini par trouver !
Mais le prix est... O_o >_< '_' enfin voilà quoi.
Je pense donc qu'il doit y'avoir moyen de se faire son securID, avec son petit programme sur le serveur. Ca ne me parait pas à premiere vue bien insurmontable!
Je lance donc le projet OpenToken (faut bien commencer un jour par en faire un de projet libre nan?).
- Du côté serveur donc, un programme qui change le mot de passe toute les minutes.
- Du côté utilisateur, un porte clé NON USB, muni d'un écran petit écran LCD de quelques chiffres et d'un bouton
- Un algo qui génerera donc un jeton toutes les minutes
Pour le côté serveur, un petit peu de C, je sais pas faire de programmation PC xD mais ça doit pouvoir se faire de manière assez basique, avec l'algo dans un petit programme, et un script pour en récuperer le mot de passe et le foutre dans le systeme de login.
Pour le côté clé, il va falloir trouver
- Un microcontroleur, directement programmable avec peu d'électronique autour
- Possédant un contrôleur d'affichage sur un petit LCD genre alphanumérique ou numérique 8 caractères
- Horloge interne très précise ou, le pied, une capacité de se synchroniser sur l'émetteur de brunswick (radio piloté). Voir mettre un composant externe pouvant gérer ça, ça doit pouvoir se trouver pour un prix honnête; avantage, plus jamais à s'emmerder de la synchro du serveur (via un serveur de temps) et du générateur nomade!
- Alimentation pile de montre.
- Un petit connecteur pour reprogrammer de temps en temps l'algo, par exemple changer l'initialiseur de la graine.
l faudrait regarder chez Atmel pour un petit AVR (ils me semblent une bonne référence dans le genre j'intègre tout plein de fonctions et c'est hyper simple à programmer), ou je crois que Linear a pondu récemment une série très basse conso aussi . Par contre ça sent le CMS, pas drôle à monter :S mais en traversant j'ai un peu peur de la place du porte clé...
Le fait de ne pas être USB empêche une lecture "facile" des algos. Bon bien sur, un pti coup de Codewarrior sur le µC résoud le probleme, les SecurID et autres SafeWord sont "tamper proof" cad qu'ils se suicident si on essaye de les ouvrir...
Existerait-il déjà des solutions integrées chez les constructeurs qui permettraient de gagner de la place et du temps? Pour ma part je viens de commander un "free sample" chez SafeWord, je vais recevoir le soft évaluation 30 jours et un porte clé, je pense que ça peut m'aider.
Enfin au niveau de l'algo, c'est un peu épineux comme choix:
- Génération du clé à partir du temps, et d'un code initial (hachage du temps, et un algo qui ponds un nouveau code utilisant le temps et le code initial, voir quel systeme serait adapté)
- Génération de chaque clé à partir de la ou les précédentes, ainsi le temps n'est pas utilisé en lui même mais n'est utilisé que pour savoir combien de clés ont été générées depuis la derniere demande de génération de jeton, souci: ça pompe plus de ressources et ça peut même en pomper séverement si par exemple je passe deux jours sans me connecter, à un jeton toutes les minutes la geule que va tirer le pauvre microcontroleur de ma clé quand je vais lui demander 3*24*60= 4320 générations de clés d'un coup... Aille!
- Autre solution? Je n'y connais absolument rien en crypto!
Voilà sujet à débattre ^^
Message édité par NeoY2k le 07-07-2007 à 23:51:58