X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/224383baa97463e67e3f508d17f5eba627877e56..ce6a62eef33ef47132ac515b335bbb78a591195f:/Spacegate.mw?ds=inline diff --git a/Spacegate.mw b/Spacegate.mw index 3757fa6f5..b69bb3b0c 100644 --- a/Spacegate.mw +++ b/Spacegate.mw @@ -1,39 +1,168 @@ +{{Projekt +|verantwortlich={{Benutzer|DooMMasteR}} +|status=aktiv +|interessenten=[[Benutzer:Daniel Bohrer|Daniel Bohrer]], [[Benutzer:Hellfyre|Hellfyre]],[[Benutzer:Chrissi^|Chrissi^]], [[Benutzer:DieLenaMaria|DieLenaMaria]] +}} == Idee == Das Spacegate sollte nach Möglichkeit von jedem Mitglied und ggf. auch kurzfristig autorisierten Gast geöffnet werden. -Das äußere Spacegate lässt sich bisher einfach per Handy öffnen, ist zwar nicht toll, abe rklappt. +Das äußere Spacegate lässt sich bisher einfach per Handy öffnen, ist zwar nicht toll, aber klappt. -Für das Innere Gate wäre eine raffinierter Lösung erstrebenswert. +Für das innere Gate wäre eine raffiniertere Lösung erstrebenswert. Zur Verwirklichung sind 2 Hürden zu überwinden. -#Authetifizierung der Person die Zugang verlangt -#ermöglichen des Zuganges +# Authentifizierung der Person, die Zugang verlangt +# ermöglichen des Zuganges -== Authorisierung == +=== Authorisierung === Wir sollten zum Autorisieren des Zuganges ein System haben, welches folgende Bedingungen erfüllt: -*Günstig -*Sicher -*Flexible -*PrivacyProtecting -*Available +* Günstig +* Sicher +* Flexibel +* PrivacyProtecting +* Available -Das Problem ist dabei größer als es Zunächst erscheint. +Das Problem ist dabei größer als es zunächst erscheint. 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. 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. +: Was ist mit [[Raspberry Pi]] ?! RFID ist im Grunde sehr viel versprechend aber birgt eine gewisse Privacyproblematik in sich, die ID des Tags und damit die Traceability des Users. Dennoch erscheint RFID als der Beste Ansatz, denn: -*recht günstig -*lässt sich vielfältig einsetzen (man könnte ungenutzte Bereiche von Karten offen für andere Nutzungen lassen) -*flexibel ggf. kann ein Nutzer seine eigene Karte mitbringen und Beschreiben lassen -*weit verbreitet, gerade 13,xxMHz Tags -*ließe sich auch in Smartphones implementieren -*einzelene Karten können bei Verlust de-autorisiert werden +* recht günstig +* lässt sich vielfältig einsetzen (man könnte ungenutzte Bereiche von Karten offen für andere Nutzungen lassen) +* flexibel ggf. kann ein Nutzer seine eigene Karte mitbringen und Beschreiben lassen +* weit verbreitet, gerade 13,xxMHz Tags +* ließe sich auch in Smartphones implementieren +* einzelne Karten können bei Verlust de-autorisiert werden -bleibt die privacy Problematik durch die ID, dazu: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1508247&tag=1 (z.B. aus dem Uninetz lesbar) +Bleibt die privacy Problematik durch die ID, dazu: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1508247 (z.B. aus dem Uninetz lesbar) + +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] Lösung bisher: KEINE -.- Das Problem wäre beim Einsatz eines aktiven Tags nicht vorhanden +* 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. + +==== Alternativvorschlag 1: ==== +* Aktiver Key auf LED-Basis +** Protokoll basierend auf http://www.merl.com/papers/docs/TR2003-35.pdf +** Hardware: umbauen einer fertigen LED-Keychain im einstelligen EUR-Bereich mit einem 8pin-uC (1EUR) und nem Widerstand +** 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). +** Nachteile: +*** noch ungetestet +*** Frickelarbeit mit der Keychain +** Vorteile +*** LED-Funktion bleibt erhalten +*** kein Problem mit der Traceability +*** Sicher (je nach Aufwand) +*** Ich finds cool ;) + +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. +--[[Benutzer:Cbounce|Cbounce]] 17:09, 3. Apr. 2012 (CEST) + +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) + + +==== Alternativvorschlag 2: ==== +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. + +So mal als Pseudocode die Idee: + +Host: + +int challenge = random(); +sendToKey(getKeyID, null); +int keyID = getFromKey(); +sendToKey(authChallenge, challenge); +if (sha2(keychain[keyID] + challange) == getFromKey()) { + openGate(); +} + + + +AVR-authkey: + +void serialEvent() { + if (header != null) { + switch (header) { + case getKeyID : + uart.send(keyID); + case authChallenge : + uart.send(sha2(localKey + data)); + default : + resetData(); + } + resetData(); + } +} + +void resetData() { + data = null; + header = null; +} + + +--[[Benutzer:DooMMasteR|DooMMasteR]] 02:06, 11. Apr. 2012 (CEST) + +Gestern mal flink sha256 auf dem Arduino zum laufen gebracht und über jede Menge linkercrap gerannt :P +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) :).
+https://stratum0.org/mediawiki/index.php/Spacegate/1.Crap +Ist nur schnell zusammengeklatscht und sieht halt auch so aus :P aber es geht…
+Nächster Schritt ist OneWire und Kommunikation zwischen 2 AVRs (inkl. authing :P). --[[Benutzer:DooMMasteR|DooMMasteR]] 15:35, 12. Apr. 2012 (CEST) + + +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) + + + +Noch ein paar Gedanken von mir: +* 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 +:*Wir sind nun bei 3-Pol 6,3mm Klinke angekommen, die sind robuster (kann man schön in eine Edelstahlplatte integrieren), außerdem gibt es die Stecker in edlen vollmetall Versionen die genügen Platz für ATTiny+vllt noch LED usw. haben http://www.reichelt.de/Klinkenstecker/KSSKG-63/3/index.html?;ACTION=3;LA=446;ARTICLE=9586;GROUPID=5170;artnr=KSSKG+63 . --[[Benutzer:DooMMasteR|DooMMasteR]] 19:00, 21. Jun. 2012 (CEST) +* ESD-Schutz: Alle Leitungen außer GND mit Transil-Dioden ausstatten um den Host-ATMega ein langes Leben zu garantieren. +* 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. +* IO-Pins sollten dauerkurzschlussfest gegen GND und Vcc sein. Man weiß nie, was da rein gesteckt wird ;-) +--[[Benutzer:Chrissi^|Chrissi^]] 10:12, 13. Mai 2012 (CEST) + +==== Alternativvorschlag IV ==== +Cam am Rasperry Pi nach draußen, Öffnung mit QR-Code. (Hat doch jeder ein Handy dabei, gell?) --[[User:Lulu|Lulu]] +: Nette Idee, aber nicht besonders sicher gegen {{WP|Replay-Angriff}}e, oder? ;-) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 02:40, 6. Jun. 2013 (CEST) + +==== Alternativvorschlag 5 ==== +Ein OAuth-System aufsetzen, das über das Space-WLAN erreichbar ist, alternativ Ethernet-Buchse nach draußen. Dann Login per Twitter/Facebook/OpenID erlauben. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] + +=== Oeffnung === + +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) + +:Liegt jetzt übrigens hier im Lounge-Regal. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 22:24, 2. Apr. 2012 (CEST) +::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) +: Der Öffner sagt, er braucht 6V bis 12V. Hab's eben mit dem 5,7V-Netzteil vom Tür-Handy probiert, geht. --[[Benutzer:DieLenaMaria|DieLenaMaria]] 13:03, 27. Mai 2012 (CEST) + +== Projekttag == + +Da nun ja eigentlich nurnoch wenige Schritte zur Umsetzung fehlen, hatte Oni die Idee einen Projekttag zum Abschluss der Planungsphase/Entwicklungsphase zu machen. + +Es würde dann die Platine für den Master erstellt werden/ggf erstmal nur Breadboard Aufbau, BOMs erstellen, für Keys und Master, Software finalisieren und implementierung auf ALEX oder RPi testen, Zeug bestellen. + +Als mögliche Termine kommen der 3.-4.01.2013 in Frage, daher ein kleines Doodle [http://doodle.com/c5nsnbxuq3sp683a] daher die Bitte an alle Interessenten, das Doodle zu füllen :). + +== Alte Diskussion == +''…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)'' + +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. + +=== Verbesserung der Klingel === +…wenn wir grad schonmal am Klingelhacken sind. Im Chat kam der Vorschlag nach einer optischen Klingel (Blinken o.ä.). Alternativ, falls alle Spaceinsassen gerade schlafen: + + [11:59:51] dann die sofas mit drahtgeflecht versehen und die klingel stromschläge draufgeben lassen? + [12:00:04] schon besser + [12:00:04] :D + [12:00:06] rohieb: +1 + +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) + +[[Kategorie:Infrastruktur]]