Update nach CNC-Fräse
[stratum0-wiki.git] / StratumKey.mw
1 {{Projekt
2 |verantwortlich={{Benutzer|Hellfyre}}
3 |status=aktiv
4 |beschreibung=Elektronisches Zugangssystem
5 |bild=
6 |bildbeschreibung=
7 |interessenten={{Benutzer|DooMMasteR}}, {{Benutzer|Oni}}, {{Benutzer|Chrissi^}}, {{Benutzer|Terminar}}, {{Benutzer|Comawill}}
8 |source=|lizenz=|download=|version=}}
9
10 StratumKey ist Teil des Schließsystems unseres Spaces. Es handelt sich um einen elektronischen Schlüssel, mit dessen Hilfe sich ein Mitglied sich 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.
11
12 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.
13
14 (Photos folgen)
15
16 == Hardware ==
17
18 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.
19
20 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).
21
22 ===Key BOM===
23
24 {| class="wikitable" style="text-align: center;"
25 |-
26 ! Anzahl !! Name !! Preis
27 |-
28 | 1 || 6,3mm Klinke mit recht großer Schraubkappe, damit der ATtiny reinpasst || 0,50-5 €
29 |-
30 | 1 || Atmel ATtiny85 (es geht ggf. auch 45) || 1,40 €
31 |-
32 | 1 || 5,5V QUAD TVS-Schutzdioden SMD VCUT05A4-05S-G-08 (dringend empfohlen) || 0,10 €
33 |-
34 | 1 || 1µF Keramik Konensator SMD (dringend empfohlen) || 0,01 €
35 |-
36 | 1 || LED (optional) || 0,10 €
37 |-
38 | x || etwas Draht || -
39 |}
40
41 === Host ===
42 * BOM: https://docs.google.com/spreadsheet/ccc?key=0AoZ-nhkm1T8ndGNqVWlkdEpFbnplcGtCaXIxaTJwUmc
43 * HomeMatic: http://www.elv.de/homematic-keymatic-set-weiss.html
44 * Und warum man sie nicht direkt Steuern kann: http://www.elv.de/controller.aspx?cid=824&detail=10&detail2=3465
45 * Eine Andere Funkfernbedienung für die HomeMatic: http://www.elv.de/homematic-hm-pbi-4-fm-funk-tasterschnittstelle-4fach-unterputzmontage.html (Kompatibel? --[[Benutzer:Chrissi^|Chrissi^]] 22:34, 13. Jan. 2013 (CET))
46 * Aktueller Stand Leiterplatte Host: [http://svn.tinyhost.de/stratum0/stuff/StratumKey%20Host/ SVN]
47
48 == Software ==
49
50 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.
51
52 Die Software, die die Authentifizierung übernimmt, ist in Python geschrieben und befindet sich in dem Github-Repository https://github.com/hellfyre/stratumkey-daemon.
53
54 Nach dem cbounce uns darauf hingewiesen hat, dass es evtl. schlecht ist alle Keys ungesichert zu speicher habe ich(--[[Benutzer:Oni|Oni]] 00:29, 29. Aug. 2012 (CEST)) mir mal einige Gedanken gemacht.
55 Der Schlüssel wird demnach zwei Keys bekommen, mit dem einen kann der Master dann den zweiten, für die Challenge genutzten, entschlüsseln.
56 Hab dazu mal ein Bild gemacht und was programmiert(git://github.com/oni303/stratumkey-daemon.git branch double_key)..
57 [[Datei:Key.png|thumb|Bildbeschriftung hier hinzufügen]]
58
59 == SSH-Hack ==
60
61 In Ermangelung an Schlüsseln haben wir die KeyMatic mit etwas Magie an 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.
62
63 * '''Tür öffnen:''' <code>ssh auf@powerberry.fritz.box</code>
64 * '''Tür schließen:''' <code>ssh zu@powerberry.fritz.box</code>
65 * '''Testen ob der SSH-Key eingetragen ist:''' <code>ssh test@powerberry.fritz.box</code>
66 ** das geht auch von überall sonst außerhalb: <code>ssh -p 2278 test@status.stratum0.net</code>
67
68 Um Zugang zu erhalten ist ein signierter Public Key an {{Benutzer|Comawill}} zu senden. Alternativ sind auch {{Benutzer|Daniel Bohrer}} und {{Benutzer|chrissi^}} dazu in der Lage.
69
70 Die Fingerprints des SSH-Servers sind:
71 <pre><nowiki>
72 -----BEGIN PGP SIGNED MESSAGE-----
73 Hash: SHA1
74
75 DSA: 1024 dd:99:81:e6:77:7b:31:1c:b7:24:1f:af:97:e1:41:28
76 RSA: 2048 a6:8b:8d:4a:cc:ef:13:94:d9:1c:67:a7:db:45:48:35
77 ECDSA: 256 8d:de:b0:00:72:2d:b5:8f:64:9e:8b:fb:a9:a1:7f:b3
78 -----BEGIN PGP SIGNATURE-----
79 Version: GnuPG v1
80
81 iQIcBAEBAgAGBQJSzeRFAAoJEHHtg3HMKeUlzc0P/2dmK6BboyMbsvvtQQZIXj2o
82 PEAsCY6Xp62etj4fCGlI7B0PK4wXwxT/fMVpNhCSO9R4qpyCKOxO7MZlAgY3G4bt
83 80QnTyRJFMsSbl+WpvY9v1BtlV5Ta6l0Pr3W3smiXOwQpNEW++bB/X5zR4hYkQQg
84 tzyKXHWka/TUwFGCRJ3in3sdYrK2e2MSbfKx4WA1ZbWRMc+8lSZ4YSwrqhZ6Xjnq
85 0wi73KY6qjDffNusSwStDQFkMqa2MmJmf4TcrW9pbCAczQdfYR4rpHG4rY3VjSHQ
86 B9OPfO0i0mwsi2SdX6TIQGkpx9OkSY7WFTX/KtUaGLxxXkQa06XrFH5Y0V31Spyx
87 bOsHj2OTXnM1MNe5kDWJwI7NG6DSxqCEbF+aOS7JylxFJNkSx3XQlDbt1rKtsoZT
88 srw1+OqqqX+h3wkZg+2drie3+trk1uu2Pu6fPL1oxOvsJscJVZ9oteRzcupEuPzG
89 LeuO6xC9J36mOL3eaNm2DG4XkzmrOhVBETBb2Y1Jpc9YrUiWvHbsw55zlR9i0T/V
90 YsOFX1hUnyhJ6ZV5p/ryIBntVQpfMx6UkrCjYUtBPTY2RFnRPBk7UYUIuj/Jl0x4
91 FMHWElZFeusLsydRHk9/1L8GmxdP1X/4vgvIU7A+jRlYw1xuK7cMnSOMI0LnwpjO
92 idF8h0FQXIi+3bruFUnN
93 =l++M
94 -----END PGP SIGNATURE-----
95 </nowiki></pre>
This page took 0.057629 seconds and 5 git commands to generate.