LaborTageBadge2013: Unterschied zwischen den Versionen
(foo) |
K (update git location) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
|platform = AVR (ATtiny85) | |platform = AVR (ATtiny85) | ||
|license = GPL | |license = GPL | ||
|download = Software: [https:// | |download = Software/Hardware: [https://github.com/das-labor/labortage2013badge GIT]<br> | ||
}} | }} | ||
==About== | ==About== | ||
Zeile 20: | Zeile 19: | ||
==Funktion== | ==Funktion== | ||
Der AVR kommuniziert mit dem PC über USB mit Hilfe der [http://www.obdev.at/products/vusb vUSB] library. Er ist mit dem [https://github.com/Bluebie/micronucleus-t85 Micronucleus] USB Bootloader vorprogrammiert. Nach der Initialisierung mit einem Seed und einem Counter, generiert er bei jedem Tastendruck ein OTP | Der AVR kommuniziert mit dem PC über USB mit Hilfe der [http://www.obdev.at/products/vusb vUSB] library. Er ist mit dem [https://github.com/Bluebie/micronucleus-t85 Micronucleus] USB Bootloader vorprogrammiert. | ||
Nach dem laden der HOTP-Firmware und der Initialisierung mit einem Seed und einem Start Counter, generiert er bei jedem Tastendruck ein OTP Kennwort, was er als USB-Tastatur direkt eingibt. | |||
==Schaltung== | ==Schaltung== | ||
Zeile 79: | Zeile 80: | ||
===Bauen für Linux=== | ===Bauen für Linux=== | ||
Debian/Ubuntu | ==== Tools installieren ==== | ||
Gebraucht wird git und Tools zum erstellen von Programmen (gcc, gnu-make, ...) | |||
Unter Debian/Ubuntu lässt sich das bewerkstelligen mit | |||
sudo aptitude install build-essential git libusb-dev | sudo aptitude install build-essential git libusb-dev | ||
git clone | |||
cd | ==== Bootloader ==== | ||
Der Bootloader ist vorinstalliert auf dem ATtiny85. Gebraucht wird allerdings noch das Programm zum flashen der Software: | |||
git clone https://github.com/Bluebie/micronucleus-t85.git | |||
cd micronucleus-t85/commandline | |||
make | make | ||
Nun kann ein beliebiges hex-file mit | |||
./micronucleus --run <path/to/hexfile> | |||
auf den Controller geflashed werden. | |||
==== HOTP-Software ==== | |||
Die HOTP-Software kann mit: | |||
git clone http://code.nerilex.org/bg/labortage2013badge.git | |||
heruntergelden werden. | |||
In dem Verzeichnis firmware/release finden sich fertig hex-files zum flashen. | |||
In dem Verzeichnis hostware/commandline findet sich das Tool zum parametrisieren des Sticks. Diese Tool muss mit | |||
make | |||
Übersetzt werden. | |||
Wichtig ist, dass vor der Verwendung mit | |||
./badge-tool -s <secret in hex> | |||
das Secret hinterlegt wird (max. 32 Byte). | |||
Außerdem muss mit | |||
./bade-tool -r | |||
der interne Zähler zurückgesetzt werden, und mit | |||
./bade-tool -d 8 | |||
die Anzahl der auszugebenden Ziffern auf 8 gesetzt werden (andere valide Werte sind 6, 7 und 9). | |||
Leider sind diese Schritte nötig, da der Bootloader nicht das EEPROM beschreiben kann, und die entsprechenden Werte im EEPROM hinterlegt sein müssen. | |||
[[Kategorie:Labortage]] | [[Kategorie:Labortage]] | ||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] |
Aktuelle Version vom 20. Mai 2018, 13:58 Uhr
LaborTageBadge2013 Release status: Beta [box doku] | |
---|---|
Description | Badge der Labortage 2013 |
Author(s) | Suschman, bg |
Last Version | 0.9 |
Platform | AVR (ATtiny85) |
License | GPL |
Download | Software/Hardware: GIT |
„Beta“ befindet sich nicht in der Liste (experimental, beta, stable, obsolete, unknown) zulässiger Werte für das Attribut „Pr status“.
About[Bearbeiten | Quelltext bearbeiten]
Das "Ticket" der Labortage 2013 ist dieses mal ein HOTP Password Generator für Zwei-Faktor Authentifizierung nach RFC4226, der auch als kleines USB-AVR Devkit herhalten kann. Eventuell später weitere Firmware mit anderen Funktionen :).
Genießt das Logo der Labortage 2013 auf der einen Seite, und bestückt euch euren eigenen HOTP Generator auf der anderen.
Funktion[Bearbeiten | Quelltext bearbeiten]
Der AVR kommuniziert mit dem PC über USB mit Hilfe der vUSB library. Er ist mit dem Micronucleus USB Bootloader vorprogrammiert.
Nach dem laden der HOTP-Firmware und der Initialisierung mit einem Seed und einem Start Counter, generiert er bei jedem Tastendruck ein OTP Kennwort, was er als USB-Tastatur direkt eingibt.
Schaltung[Bearbeiten | Quelltext bearbeiten]
Platine[Bearbeiten | Quelltext bearbeiten]
Die Platine ist zweilagig mit Lötstoplack, Bestückungsdruck und HAL-Zinn. Auf der einen Seite befindet sich die Schaltung, auf der anderen das Logo der Labortage. Die Platine wurde mit freundlicher Unterstützung von Basista Leiterplatten gefertigt.
Stückliste[Bearbeiten | Quelltext bearbeiten]
Name | Part | Reichelt |
C1 | SMD 0805 100nF | X7R-G0805 100N |
R1-R2 | SMD 0805 2,2 kOhm | SMD-0805 2,2K |
R3 | SMD 0805 68 Ohm | SMD-0805 68R |
AVR | ATtiny85 SO8 | ATTINY 85-20SU |
D1,D2 | MiniMelf 3,6V Zenerdioden | Z3,6V SMD |
USB | USB A Buchse | USB A |
SW | Kurzhubtaster SMD | TASTER 9314 |
R4,R5,R6,LED1 und der 5-Polige Stecker sind Optional, wenn man mit dem Board noch anderes basteln möchte :).
Aufbau[Bearbeiten | Quelltext bearbeiten]
Der Aufbau erfordert durch die relativ dichte Bestückung in SMD und mit 0805 Bauteilen etwas Erfahrung im Löten von SMD. Wenn ihr es euch nicht zutraut, sucht euch einen Bastler der für etwas Mate Hand anlegt ;).
Bestückt wird zuerst C1, R1, R2, R3. Dann die beiden Dioden D1 und D2, dabei auf die Polarität achten.Der (blaue) Strick muss bei beiden zur Mitte der Platine zeigen. Dann den Prozessor auflöten, die Beschriftung muss lesbar sein wenn die USB-Buchse nach Links zeigt. Nun den SMD-Taster verlöten und zum schluss die USB-Buchse. Wahrscheinlich ist an der Platinenkante ein kleiner Vorsprung, der mit einem scharfen Messer oder einer kleinen Feile entfernt werden muss.
Die Stiftleiste, R4-6 und LED1 werden nicht bestückt. Diese können für Eigenen Projekte verwendet werden.
Arbeitet sorgfältig und macht immer mal wieder eine Sichtprüfung auf Kurzschlüsse und schlechte Lötstellen.
Software[Bearbeiten | Quelltext bearbeiten]
Der AVR ist im Bauteilesatz der Labortage ist mit dem dem USB-Bootloader vorprogrammiert, das Binary für den PC muss unter Linux noch mit libusb übersetzt werden. Für Windows gibt es fertige binarys...
Bauen für Linux[Bearbeiten | Quelltext bearbeiten]
Tools installieren[Bearbeiten | Quelltext bearbeiten]
Gebraucht wird git und Tools zum erstellen von Programmen (gcc, gnu-make, ...)
Unter Debian/Ubuntu lässt sich das bewerkstelligen mit
sudo aptitude install build-essential git libusb-dev
Bootloader[Bearbeiten | Quelltext bearbeiten]
Der Bootloader ist vorinstalliert auf dem ATtiny85. Gebraucht wird allerdings noch das Programm zum flashen der Software:
git clone https://github.com/Bluebie/micronucleus-t85.git cd micronucleus-t85/commandline make
Nun kann ein beliebiges hex-file mit
./micronucleus --run <path/to/hexfile>
auf den Controller geflashed werden.
HOTP-Software[Bearbeiten | Quelltext bearbeiten]
Die HOTP-Software kann mit:
git clone http://code.nerilex.org/bg/labortage2013badge.git
heruntergelden werden.
In dem Verzeichnis firmware/release finden sich fertig hex-files zum flashen.
In dem Verzeichnis hostware/commandline findet sich das Tool zum parametrisieren des Sticks. Diese Tool muss mit
make
Übersetzt werden.
Wichtig ist, dass vor der Verwendung mit
./badge-tool -s <secret in hex>
das Secret hinterlegt wird (max. 32 Byte). Außerdem muss mit
./bade-tool -r
der interne Zähler zurückgesetzt werden, und mit
./bade-tool -d 8
die Anzahl der auszugebenden Ziffern auf 8 gesetzt werden (andere valide Werte sind 6, 7 und 9).
Leider sind diese Schritte nötig, da der Bootloader nicht das EEPROM beschreiben kann, und die entsprechenden Werte im EEPROM hinterlegt sein müssen.