/* Was wir brauchen */ nee, kein autoradio
[stratum0-wiki.git] / Spacegate.mw
1 {{Projekt
2 |verantwortlich={{Benutzer|DooMMasteR}}
3 |status=aktiv
4 |interessenten=[[Benutzer:Daniel Bohrer|Daniel Bohrer]], [[Benutzer:Hellfyre|Hellfyre]],[[Benutzer:Chrissi^|Chrissi^]]
5 }}
6 == Idee ==
7
8 Das Spacegate sollte nach Möglichkeit von jedem Mitglied und ggf. auch kurzfristig autorisierten Gast geöffnet werden.
9 Das äußere Spacegate lässt sich bisher einfach per Handy öffnen, ist zwar nicht toll, aber klappt.
10
11 Für das Innere Gate wäre eine raffinierter Lösung erstrebenswert.
12
13 Zur Verwirklichung sind 2 Hürden zu überwinden.
14 #Authetifizierung der Person die Zugang verlangt
15 #ermöglichen des Zuganges
16
17 === Authorisierung ===
18 Wir sollten zum Autorisieren des Zuganges ein System haben, welches folgende Bedingungen erfüllt:
19 *Günstig
20 *Sicher
21 *Flexibel
22 *PrivacyProtecting
23 *Available
24
25 Das Problem ist dabei größer als es Zunächst erscheint.
26
27 Mechanische Schlüssel scheiden aus, da sie 1. recht teuer sind und 2. bei Verlust zu Problemen in der Autorisierungskette anderer Schlüssel führen.
28
29 IP-Basierende Systeme scheiden aus, da sie den Betrieb eines IP-Fähigen Endgerätes voraussetzen und auch recht hohen Implementierungsaufwand auf verschiedenen Plattformen mit sich brächte.
30
31 RFID ist im Grunde sehr viel versprechend aber birgt eine gewisse Privacyproblematik in sich, die ID des Tags und damit die Traceability des Users.
32
33 Dennoch erscheint RFID als der Beste Ansatz, denn:
34 *recht günstig
35 *lässt sich vielfältig einsetzen (man könnte ungenutzte Bereiche von Karten offen für andere Nutzungen lassen)
36 *flexibel ggf. kann ein Nutzer seine eigene Karte mitbringen und Beschreiben lassen
37 *weit verbreitet, gerade 13,xxMHz Tags
38 *ließe sich auch in Smartphones implementieren
39 *einzelne Karten können bei Verlust de-autorisiert werden
40
41 bleibt die privacy Problematik durch die ID, dazu: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1508247 (z.B. aus dem Uninetz lesbar)
42
43 Falls der Link oben nicht funktioniert (IEEE Seite hat merkwürdige Cookie-Magie), hier der DOI [http://dx.doi.org/10.1109/DEXA.2005.28 10.1109/DEXA.2005.28]
44
45 Lösung bisher: KEINE -.-
46 Das Problem wäre beim Einsatz eines aktiven Tags nicht vorhanden
47 * Der FoeBuD hat hier eine [https://shop.foebud.org/thema/stoprfid/rfid-kartenschutzetui-metall.html Lösung] (auch in anderen Ausführungen) für alle die Privacy-Bedenken mit RFID haben.
48
49 ==== Alternativvorschlag 1: ====
50 * Aktiver Key auf LED-Basis
51 ** Protokoll basierend auf http://www.merl.com/papers/docs/TR2003-35.pdf
52 ** Hardware: umbauen einer fertigen LED-Keychain im einstelligen EUR-Bereich mit einem 8pin-uC (1EUR) und nem Widerstand
53 ** Security: Einfachste Möglichkeit ist, eine ID, einen fixen Schlüssel der Tür und einen des Tokens direkt im uC zu speichern. Die Tür "authed" sich also beim Schlüssel, er spuckt seine ID und Schlüssel zurück. Wenn man das ganze dann noch "richtig" sicher machen will, versucht man entweder ne Hashfunktion mit auf den uC zu quetschen (http://www.das-labor.org/wiki/AVR-Crypto-Lib), oder baut einen SHA-256-chip mit ein (http://de.mouser.com/Search/Refine.aspx?Keyword=AT88SA100S).
54 ** Nachteile:
55 *** noch ungetestet
56 *** Frickelarbeit mit der Keychain
57 ** Vorteile
58 *** LED-Funktion bleibt erhalten
59 *** kein Problem mit der Traceability
60 *** Sicher (je nach Aufwand)
61 *** Ich finds cool ;)
62
63 Ich wollte sowas in der Art immer mal bauen, wenn ich mich selber mal hingesetzt habe und nen Prototyp läuft, berichte ich vielleicht nochmal.
64 --[[Benutzer:Cbounce|Cbounce]] 17:09, 3. Apr. 2012 (CEST)
65
66 Diese Variante scheint mir hinsichtlich ESD-Beständigkeit, mechanische Festigkeit (Anzahl und Zärtlichkeit der Steckzyklen) und Wandalisussicherheit (Was ist das für eine Buchse? Mal eine Büroklammer reinstecken. Oder: Mal sehen, was passiert wenn man das Ding von aussen mit 24V versorgt... ) die bessere zu sein. Nachteil: Der Key müsste eine eigene Energieversorgung haben. --[[Benutzer:Chrissi^|Chrissi^]] 10:12, 13. Mai 2012 (CEST)
67
68
69 ==== Alternativvorschlag 2: ====
70 Die Idee gefällt, als Schlüssel hätte man einen ATtiny mit 2,5mm 4pol klinke, der UART und SHA2 kann und außerdem ein Secret enthält.
71
72 So mal als Pseudocode die Idee:
73
74 Host:
75 <syntaxhighlight lang="C">
76 int challenge = random();
77 sendToKey(getKeyID, null);
78 int keyID = getFromKey();
79 sendToKey(authChallenge, challenge);
80 if (sha2(keychain[keyID] + challange) == getFromKey()) {
81 openGate();
82 }
83 </syntaxhighlight>
84
85
86 AVR-authkey:
87 <syntaxhighlight lang="C">
88 void serialEvent() {
89 if (header != null) {
90 switch (header) {
91 case getKeyID :
92 uart.send(keyID);
93 case authChallenge :
94 uart.send(sha2(localKey + data));
95 default :
96 resetData();
97 }
98 resetData();
99 }
100 }
101
102 void resetData() {
103 data = null;
104 header = null;
105 }
106 </syntaxhighlight>
107
108 --[[Benutzer:DooMMasteR|DooMMasteR]] 02:06, 11. Apr. 2012 (CEST)
109
110 Gestern mal flink sha256 auf dem Arduino zum laufen gebracht und über jede Menge linkercrap gerannt :P
111 aber es klappt so hacked erstmal. Die SHA256 Implementierung kommt von http://www.das-labor.org/wiki/AVR-Crypto-Lib und rennt in 0,01s über 64byte (32byte key + 32byte challenge) :). <br>
112 https://stratum0.org/mediawiki/index.php/Spacegate/1.Crap
113 Ist nur schnell zusammengeklatscht und sieht halt auch so aus :P aber es geht… <br>
114 Nächster Schritt ist OneWire und Kommunikation zwischen 2 AVRs (inkl. authing :P). --[[Benutzer:DooMMasteR|DooMMasteR]] 15:35, 12. Apr. 2012 (CEST)
115
116
117 Warum eigentlich 1Wire, wenn du eine 4-Pol Klinke nutzen möchtest? Bietet sich nicht eher UART (bidirektional) an?--[[Benutzer:Chrissi^|Chrissi^]] 10:12, 13. Mai 2012 (CEST)
118
119
120
121 Noch ein paar Gedanken von mir:
122 * Anzahl der Steckzyklen einer Klinkenbuchse begrenzt. z.B. http://de.farnell.com/lumberg/1501-03/kupplung-buchse-chassis-2-5mm/dp/1200127 5k Stück. Kann zum Ausfall führen. Dabei ist die mechanische Fixierung auf der Leiterplatte nicht ohne
123 * ESD-Schutz: Alle Leitungen außer GND mit Transil-Dioden ausstatten um den Host-ATMega ein langes Leben zu garantieren.
124 * Spannungsversorgung für Key mit Serienwiderstand oder FET-Stromquelle gegen externen Kurzschluss schützen. Eventuell zusätzlich eine Serien-Diode um Speisung von außen zu verhindern.
125 * IO-Pins sollten dauerkurzschlussfest gegen GND und Vcc sein. Man weiß nie, was da rein gesteckt wird ;-)
126 --[[Benutzer:Chrissi^|Chrissi^]] 10:12, 13. Mai 2012 (CEST)
127
128
129
130 === Oeffnung ===
131
132 Ich habe einen Tueroeffner, den man vermutlich oben in den Tuerrahmen einbauen kann. Bei Anlegen von 12V gibt das frei. habs allerdings nie ausprobiert. Ich brings mal mit demnaechst --[[Benutzer:Valodim|Valodim]] 20:04, 30. Mär. 2012 (CEST)
133
134 :Liegt jetzt übrigens hier im Lounge-Regal. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 22:24, 2. Apr. 2012 (CEST)
135 ::ist aber ohne Austausch der Schließmechanik leider sehr unsicher, ein Servo am Schließzylinder auf der Innenseite ist wohl sinvoller. --[[Benutzer:DooMMasteR|DooMMasteR]] 02:08, 11. Apr. 2012 (CEST)
136
137 == Alte Diskussion ==
138 ''…wurde vorher auf [[Open/Close-Monitor]] geführt, hier der Vollständigkeit halber hinverschoben --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 12:17, 31. Mär. 2012 (CEST)''
139
140 Falls der Space sich hinreichend entwickelt hat, kann über weitergehende Maßnahmen nachgedacht werden. Im µCCC z.B. wird die Türschließung durch ein [https://wiki.muc.ccc.de/luftschleuse Zugangssystem per SSH] gesteuert.
141
142 === Verbesserung der Klingel ===
143 …wenn wir grad schonmal am Klingelhacken sind. Im Chat kam der Vorschlag nach einer optischen Klingel (Blinken o.ä.). Alternativ, falls alle Spaceinsassen gerade schlafen:
144
145 [11:59:51] <rohieb> dann die sofas mit drahtgeflecht versehen und die klingel stromschläge draufgeben lassen?
146 [12:00:04] <tommie-lie> schon besser
147 [12:00:04] <neobechstein> :D
148 [12:00:06] <neobechstein> rohieb: +1
149
150 Alternativ wäre zu überlegen, ob man [[ZombiePoet]] beibringt, Klingelevents im IRC zu verkünden. Bzw, wenn an der Tür später eh ein µC/ARM oder ähnliches mit Netzwerk hängt, könnte man dort direkt einen IRC-Bot implementieren ;-) (ZombiePoet läuft ja auf einem externen Server, das würde dann nur noch eine Schicht mehr hinzufügen)
151
152 [[Kategorie:Infrastruktur]]
This page took 0.042651 seconds and 5 git commands to generate.