{{Projekt
|verantwortlich={{Benutzer|DooMMasteR}}
|status=aktiv
|interessenten=[[Benutzer:Daniel Bohrer|Daniel Bohrer]], [[Benutzer:Hellfyre|Hellfyre]]
}}
== 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.
Für das Innere Gate wäre eine raffinierter Lösung erstrebenswert.
Zur Verwirklichung sind 2 Hürden zu überwinden.
#Authetifizierung der Person die Zugang verlangt
#ermöglichen des Zuganges
=== Authorisierung ===
Wir sollten zum Autorisieren des Zuganges ein System haben, welches folgende Bedingungen erfüllt:
*Günstig
*Sicher
*Flexibel
*PrivacyProtecting
*Available
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.
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
*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 (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: ====
* 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)
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)
=== 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)
== 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]]