StratumKey: Unterschied zwischen den Versionen
Larsan (Diskussion | Beiträge) K (→Systen: srsli (typo)) |
(→SSH-Hack: mehr erklärbärtext, larsan kann jetzt auch schlüssel machen, mehr host fingerprints (openssh 7 zeigt nur noch sha256 an (gut so))) |
||
Zeile 66: | Zeile 66: | ||
== SSH-Hack == | == SSH-Hack == | ||
− | In Ermangelung an Schlüsseln haben wir die KeyMatic mit etwas Magie an SSH angebunden. | + | In Ermangelung an Schlüsseln haben wir die KeyMatic mit etwas Magie an {{Wikipedia|Secure Shell|SSH}} angebunden. |
− | Damit existiert eine Möglichkeit per Public-Key '''im Stratum 0 WLAN''' die Tür zu öffnen. Jedes Öffnen und Schließen wird protokolliert. | + | Damit existiert eine Möglichkeit, per SSH-Public-Key '''im Stratum 0 WLAN''' die Tür zu öffnen. Jedes Öffnen und Schließen wird protokolliert. |
* '''Tür öffnen:''' <code>ssh auf@powerberry.fritz.box</code> | * '''Tür öffnen:''' <code>ssh auf@powerberry.fritz.box</code> | ||
Zeile 74: | Zeile 74: | ||
** das geht auch von überall sonst außerhalb: <code>ssh -p 2278 test@status.stratum0.net</code> | ** das geht auch von überall sonst außerhalb: <code>ssh -p 2278 test@status.stratum0.net</code> | ||
− | Um Zugang zu erhalten, | + | Um Zugang zu erhalten, musst du [[Mitglied werden]] und einen SSH-Public-Key an {{Benutzer|Comawill}}, {{Benutzer|Daniel Bohrer}}, {{Benutzer|chrissi^}} oder {{Benutzer|larsan}} senden. (Einen Public Key kann man sich zum Beispiel mit ssh-keygen oder PuTTYgen selbst erstellen. RSA mit 2048 Bit ist ausreichend). Der Versand sollte entweder PGP-signiert erfolgen, alternativ wäre auch der Vergleich des Schlüssel-Fingerprints über ein unabhängiges Medium denkbar, oder auch Übergabe per USB-Stick/QR-Code/Papier/… im Space. Aber wir wüssten auf jeden Fall gerne genau, ob der Schlüssel, den wir da in unser Schließsystem eintragen, der von euch ist, und kein anderer. |
− | |||
− | Die Fingerprints des SSH-Servers sind: | + | Die Fingerprints des SSH-Servers auf <code>powerberry</code> sind: |
<pre><nowiki> | <pre><nowiki> | ||
-----BEGIN PGP SIGNED MESSAGE----- | -----BEGIN PGP SIGNED MESSAGE----- | ||
− | Hash: | + | Hash: SHA512 |
− | + | 1024 MD5:dd:99:81:e6:77:7b:31:1c:b7:24:1f:af:97:e1:41:28 (DSA) | |
− | + | 2048 MD5:a6:8b:8d:4a:cc:ef:13:94:d9:1c:67:a7:db:45:48:35 (RSA) | |
− | + | 256 MD5:8d:de:b0:00:72:2d:b5:8f:64:9e:8b:fb:a9:a1:7f:b3 (ECDSA) | |
+ | |||
+ | 1024 SHA1:h8vHq/WLDCRQbCzcythyOPB6Jnw (DSA) | ||
+ | 2048 SHA1:F/m1wwecBSctRjPP9xcToQJhgBM (RSA) | ||
+ | 256 SHA1:Dx18i8LctoeWR2oXUdSRlYPE6FA (ECDSA) | ||
+ | |||
+ | 1024 SHA256:2ROva5E8UT6stQ7oqxS3uHYuO0l0gR5LgvZjrPvEBLg (DSA) | ||
+ | 2048 SHA256:dBs8vh/DqDWCvu37nd6PwzGOlNmR/GSd/DlMGJw2q0A (RSA) | ||
+ | 256 SHA256:Z9I6IWdocW/tjlJm23iiZ4m2dZVD512329g0B3nn/JA (ECDSA) | ||
-----BEGIN PGP SIGNATURE----- | -----BEGIN PGP SIGNATURE----- | ||
− | Version: GnuPG | + | Version: GnuPG v2 |
− | + | iQIcBAEBCgAGBQJW3hw/AAoJELJBPGbdLD/qxmgP/R1LMReyyY6NZuzXmS6m6LVq | |
− | + | iwbhBdU2/GHdHa+F7n/qKNn1KhB2Op5Qp8fgAG5ltjUwPx3JjdHjLwJYUmpGbrfF | |
− | + | KFt4aj2blZnvjFJtT3z535jRP26nH8b9/DUjGUrFWRn7NS8eeZYctitaIfJ7b7cU | |
− | + | QHoKR3joYDWexPjohoSfoUd6j1+rOZ9moKsf46+lPJjCL9exN12eI7IVTMtJjAEL | |
− | + | IJ1MoUYjZ9jJYByMf7a76QpTV3+En0EAPA3fjgxt1HQjH/RZt9vsM9XaKTPk630w | |
− | + | Y4n53j/M8HS0EUWpkyyS5x3mjbVi4d+Dslx7N+MBDAF/8FLf/P3o7IKiv1SXOkmT | |
− | + | SKfwdy8b+FGYNlw6ZBEyKvzfaarFjRloT1HBjPbjb7gKteSi1dxwxyZo6HJwzN/R | |
− | + | eDQziq5d+1PofBiMjS9I9L3QDt+CChIYJIk83jG+WKgwIMIaTRtPSt0LWOeuI3XP | |
− | + | y8k5S658P6d4sBDAhlwktBqfdlxytiInGkSI9O/vNmSwMU9KItcYJ5Qp5u+2r8Ot | |
− | + | QqxMSBMKhcIDXqu1RGbVPSzPj4/U5W6y6cKuChGKypVkDFUUFkMUxDs2tW+VCcW6 | |
− | + | 0mm1wdw5pEFfPWNptKVsEXoN6yw/qtv3rCg75eWCjQSCa8kBJD00hus8vMTSHYwK | |
− | + | a6nh4yknzsqp8lbUndWv | |
− | = | + | =h0wG |
-----END PGP SIGNATURE----- | -----END PGP SIGNATURE----- | ||
</nowiki></pre> | </nowiki></pre> |
Version vom 8. März 2016, 01:35 Uhr
StratumKey | |
---|---|
Beschreibung: | Elektronisches Zugangssystem |
Kontakt: | Comawill |
Status: | aktiv (Was heißt das?) |
Stratumkey ist das Schließsystem unseres Spaces. Geplant ist sowohl eine Umsetzung mit Hardware, als auch eine SSH-basierte Umsetzung.
Zur Zeit ist nur die SSH-basiere Variante aktiv.
Inhaltsverzeichnis
Hardware-Variante
StratumKey ist Teil des Schließsystems unseres Spaces. Es handelt sich um einen elektronischen Schlüssel, mit dessen Hilfe sich ein Mitglied Zutritt zum Space verschaffen kann. Das System besteht aus zwei Mikroprozessoren, die (drahtgebunden) über ein One-Wire-Protokoll eine Authentifizierung per Challenge-Response-Verfahren vornehmen.
Der "Schlüssel" besteht aus einem ATTiny85, der in das Gehäuse eines 6,3mm Klinkensteckers eingegossen ist. Jedes Mitglied hat einen individuellen Schlüssel, so dass bei Verlust einzelne Schlüssel aus dem System entfernt werden können. Die Authentifizierung erfolgt durch Einstecken in eine entsprechende Buchse neben der Eingangstür.
System
Das System besteht aus einer Master- und einer Slaveseite, wobei der Schlüssel den Slave darstellt. Der Slave besteht aus nicht mehr als einem 6,3mm Stereo-Klinkenstecker und einem ATTiny85, der in der fertigen Version fest im Gehäuse des Steckers vergossen sein soll. Die Masse des Steckers (Schaft) ist mit GND belegt, der linke Kanal (Spitze) mit VCC und der rechte Kanal (Ring/Mitte) mit dem One-Wire-Pin.
Auf der Masterseite ist ein ATMega8, der im Wesentlichen als Relais dient. Er leitet die über One-Wire ankommenden Daten via UART weiter an einen Rechner, der die Authentifizierung durchführt. Das wird aller Wahrscheinlichkeit nach der StatusBerry werden (oder der Rechner, auf dem der Open/Close-Monitor dann läuft).
Key
BOM
Anzahl | Name | Preis |
---|---|---|
1 | 6,3mm Klinke mit recht großer Schraubkappe, damit der ATtiny reinpasst | 0,50-5 € |
1 | Atmel ATtiny85 (es geht ggf. auch 45) | 1,40 € |
1 | 5,5V QUAD TVS-Schutzdioden SMD VCUT05A4-05S-G-08 (dringend empfohlen) | 0,10 € |
1 | 1µF Keramik Konensator SMD (dringend empfohlen) | 0,01 € |
1 | LED (optional) | 0,10 € |
x | etwas Draht | - |
Fertigungsdaten HW01
Host
- BOM: https://docs.google.com/spreadsheet/ccc?key=0AoZ-nhkm1T8ndGNqVWlkdEpFbnplcGtCaXIxaTJwUmc
- HomeMatic: http://www.elv.de/homematic-keymatic-set-weiss.html
- Und warum man sie nicht direkt Steuern kann: http://www.elv.de/controller.aspx?cid=824&detail=10&detail2=3465
- Eine andere Funkfernbedienung für die HomeMatic: http://www.elv.de/homematic-hm-pbi-4-fm-funk-tasterschnittstelle-4fach-unterputzmontage.html (Kompatibel? --Chrissi^ 22:34, 13. Jan. 2013 (CET))
Fertigungsdaten HW01
Software
Die Software der AVRs ist in C geschrieben (große Überraschung) und kann von dem Github-Repository https://github.com/hellfyre/stratumkey heruntergeladen, geforkt, beobachtet oder erweitert werden.
Die Software, die die Authentifizierung übernimmt, ist in Python geschrieben und befindet sich in dem Github-Repository https://github.com/hellfyre/stratumkey-daemon.
Nach dem cbounce uns darauf hingewiesen hat, dass es evtl. schlecht ist alle Keys ungesichert zu speicher habe ich(--Oni 00:29, 29. Aug. 2012 (CEST)) mir mal einige Gedanken gemacht. Der Schlüssel wird demnach zwei Keys bekommen, mit dem einen kann der Master dann den zweiten, für die Challenge genutzten, entschlüsseln. Hab dazu mal ein Bild gemacht und was programmiert(git://github.com/oni303/stratumkey-daemon.git branch double_key)..
SSH-Hack
In Ermangelung an Schlüsseln haben wir die KeyMatic mit etwas Magie an SSH angebunden. Damit existiert eine Möglichkeit, per SSH-Public-Key im Stratum 0 WLAN die Tür zu öffnen. Jedes Öffnen und Schließen wird protokolliert.
- Tür öffnen:
ssh auf@powerberry.fritz.box
- Tür schließen:
ssh zu@powerberry.fritz.box
- Testen ob der SSH-Key eingetragen ist:
ssh test@powerberry.fritz.box
- das geht auch von überall sonst außerhalb:
ssh -p 2278 test@status.stratum0.net
- das geht auch von überall sonst außerhalb:
Um Zugang zu erhalten, musst du Mitglied werden und einen SSH-Public-Key an Comawill, Daniel Bohrer, chrissi^ oder larsan senden. (Einen Public Key kann man sich zum Beispiel mit ssh-keygen oder PuTTYgen selbst erstellen. RSA mit 2048 Bit ist ausreichend). Der Versand sollte entweder PGP-signiert erfolgen, alternativ wäre auch der Vergleich des Schlüssel-Fingerprints über ein unabhängiges Medium denkbar, oder auch Übergabe per USB-Stick/QR-Code/Papier/… im Space. Aber wir wüssten auf jeden Fall gerne genau, ob der Schlüssel, den wir da in unser Schließsystem eintragen, der von euch ist, und kein anderer.
Die Fingerprints des SSH-Servers auf powerberry
sind:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 1024 MD5:dd:99:81:e6:77:7b:31:1c:b7:24:1f:af:97:e1:41:28 (DSA) 2048 MD5:a6:8b:8d:4a:cc:ef:13:94:d9:1c:67:a7:db:45:48:35 (RSA) 256 MD5:8d:de:b0:00:72:2d:b5:8f:64:9e:8b:fb:a9:a1:7f:b3 (ECDSA) 1024 SHA1:h8vHq/WLDCRQbCzcythyOPB6Jnw (DSA) 2048 SHA1:F/m1wwecBSctRjPP9xcToQJhgBM (RSA) 256 SHA1:Dx18i8LctoeWR2oXUdSRlYPE6FA (ECDSA) 1024 SHA256:2ROva5E8UT6stQ7oqxS3uHYuO0l0gR5LgvZjrPvEBLg (DSA) 2048 SHA256:dBs8vh/DqDWCvu37nd6PwzGOlNmR/GSd/DlMGJw2q0A (RSA) 256 SHA256:Z9I6IWdocW/tjlJm23iiZ4m2dZVD512329g0B3nn/JA (ECDSA) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJW3hw/AAoJELJBPGbdLD/qxmgP/R1LMReyyY6NZuzXmS6m6LVq iwbhBdU2/GHdHa+F7n/qKNn1KhB2Op5Qp8fgAG5ltjUwPx3JjdHjLwJYUmpGbrfF KFt4aj2blZnvjFJtT3z535jRP26nH8b9/DUjGUrFWRn7NS8eeZYctitaIfJ7b7cU QHoKR3joYDWexPjohoSfoUd6j1+rOZ9moKsf46+lPJjCL9exN12eI7IVTMtJjAEL IJ1MoUYjZ9jJYByMf7a76QpTV3+En0EAPA3fjgxt1HQjH/RZt9vsM9XaKTPk630w Y4n53j/M8HS0EUWpkyyS5x3mjbVi4d+Dslx7N+MBDAF/8FLf/P3o7IKiv1SXOkmT SKfwdy8b+FGYNlw6ZBEyKvzfaarFjRloT1HBjPbjb7gKteSi1dxwxyZo6HJwzN/R eDQziq5d+1PofBiMjS9I9L3QDt+CChIYJIk83jG+WKgwIMIaTRtPSt0LWOeuI3XP y8k5S658P6d4sBDAhlwktBqfdlxytiInGkSI9O/vNmSwMU9KItcYJ5Qp5u+2r8Ot QqxMSBMKhcIDXqu1RGbVPSzPj4/U5W6y6cKuChGKypVkDFUUFkMUxDs2tW+VCcW6 0mm1wdw5pEFfPWNptKVsEXoN6yw/qtv3rCg75eWCjQSCa8kBJD00hus8vMTSHYwK a6nh4yknzsqp8lbUndWv =h0wG -----END PGP SIGNATURE-----