Forum: Projekte & Code snopf Password Generator


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hajo K. (snopf)


Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
Moin,

auf der Suche nach einem vernuenftigen Hardware-Passwordgenerator habe 
ich mich entschieden meine eigene Loesung zu bauen, die ihr hier findet 
(inkl. hoffentlich erschoepfender Readme): 
https://github.com/snopf/snopf

NIH-Syndrom hat dabei bestimmt eine Rolle gespielt aber ich war mit 
allen kaufbaren Loesungen auf irgendeine Art unzufrieden...

Die Hardware basiert auf einem ATtiny85 und ist so einfach wie es geht, 
im Prinzip ein AVR + Button + LED und USB-Anschluss. Fuer die 
USB-Kommunikation habe ich den exzellenten V-USB Treiber 
(https://www.obdev.at/products/vusb/index.html) verwendet. Fuer eine 
neue Version werde ich den Reset-Pin als I/O missbrauchen um den (etwas 
haesslichen, dem Mangel an IO-Pins geschuldeten) Transistor aus dem 
Schaltplan entfernen zu koennen.

Als Nebenprodukt habe ich einen USB-Bootloader fuer das Projekt 
geschrieben, der findet sich hier: 
https://github.com/snopf/snopf_bootloader

Jedes Passwort wird aus demselben 128-Bit Geheimnis (das im EEPROM des 
AVR liegt) plus einem Request-String (fuer die unterschiedlichen Logins) 
erzeugt. Grundlage fuer das Passwort ist SHA256(Secret || Request). Der 
Hash wird mit der Z85-Transformation in ein ASCII-Passwort 
transformiert. Um typischen Password-Forderungen (Zahlen, 
Grossbuchstaben, Kleinbuchstaben, Sonderzeichen) zu genuegen, muss das 
Passwort eventuell iterativ erzeugt werden. Details dazu finden sich im 
`Operation principle` Abschnitt im Readme.

Auf "Host"seite existiert Sofware um die Requests zu machen, u.A. eine 
Browser Extension fuer Firefox/Chrome. Leider bin ich bis jetzt nicht 
dazu gekommen die Software fuer Windows zu testen. Bis auf die Browser 
Extension ist die Sofware komplett in Python geschrieben und ich bin 
einigermassen hoffnungsvoll, dass es ohne groessere Probleme auch unter 
Windows laeuft.

Hoffe der eine oder andere kann was damit oder mit Teilen davon etwas 
anfangen.

Ich bin bis jetzt sehr zufrieden und sollte demnaechst meine Android-App 
fertig haben.

von Hajo K. (snopf)


Bewertung
0 lesenswert
nicht lesenswert
Auch wenn das Interesse hier eher begrenzt ist ;) mal ein paar Updates:

- Der Schaltplan + Code wurde geaendert, sodass der Reset-Pin als 
Button-Pin genutzt wird
- PCB Laenge wurde etwa halbiert + Standardbauteile verwendet
- es gibt eine einfache Androidapp
- bugfixes

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.