Offene Architektur
Protokoll, Firmware und Serverteil sind offen. Sie sind nicht an einen einzigen Anbieter gebunden: Das System funktioniert offline, lässt sich prüfen und läuft bei Bedarf auf Ihrer eigenen Infrastruktur.
Was bereits fertig ist
- »Ein offenes Protokoll fertig
Vollständige Spezifikationen BLE und socket — Aufbau bis auf Byte-Ebene, die Kryptografie und Testvektoren zum Abgleich Ihrer eigenen Umsetzung. Sie bauen es anhand der Dokumentation auf Ihrer Platine, ganz ohne Reverse Engineering. - »Referenz-Firmware unter MIT-Lizenz fertig
ESP32, ESP8266, Raspberry Pi und Node.js — funktionierender Code für beide Seiten, zum Übernehmen und Portieren. - »BLE kommt ganz ohne Server aus fertig
Das Öffnen läuft direkt vom Telefon zum Controller über Bluetooth, ohne Internet und ohne Anfrage an unseren Server. Controller werden leer ausgeliefert und lokal gebunden. - »Der Server sieht Ihre Schlüssel nie und kann keine signierte Öffnung fälschen fertig
Befehle werden auf dem Telefon signiert, der Server leitet sie nur weiter. Ein Gastschlüssel reist in einem Umschlag, dessen Schlüssel nie über den Server läuft. Die Signatur prüfen ein Bluetooth-Schloss, ein an das Telefon des Besitzers gebundener ESP32-Netzwerk-Controller und das Telefon des Besitzers selbst, bevor es anruft oder einen Webhook sendet — deshalb kann der Server diese nicht von sich aus öffnen (siehe unten). - »Geräte-Provisionierung für die Serie fertig
Geräte werden in Chargen gefertigt, die niemandem gehören; der Käufer bindet sie mit dem Code auf dem Gehäuse.
Das Vertrauensmodell — was der Server kann und was nicht
Öffnungen werden auf dem Client signiert (Ende-zu-Ende verschlüsselt), und die Geheimnisse laufen verschlüsselt am Server vorbei. Daraus folgt:
| Der Server KANN NICHT | Der Server kann |
|---|---|
| Ihre Schlüssel lesen (den Gastschlüssel, das Besitzergeheimnis) | den Dienst verweigern (nicht erreichbar sein) |
| eine Öffnung fälschen, wo Schloss, Controller oder das Telefon des Besitzers die Signatur prüft | Metadaten sehen: wer, was, wann und IP-Adressen |
| seine eigenen Rechte ausweiten | öffnen, was ihm vertraut: einen vom Server gesendeten Webhook, Controller auf ESP8266, Raspberry Pi oder Node.js |
Wo also Schloss, Controller oder das Telefon des Besitzers die Signatur prüft, beeinflusst der Server — unserer oder Ihr eigener — nur die Verfügbarkeit. So arbeiten Bluetooth-Schlösser, ein an das Telefon des Besitzers gebundener ESP32-Netzwerk-Controller sowie Anrufe und Webhooks, die das Telefon des Besitzers sendet. Ein vom Server gesendeter Webhook und die einfachen Controller auf ESP8266, Raspberry Pi und Node.js vertrauen dem Server: Er hat die Adresse oder die Verbindung und kann eine Öffnung selbst senden. Betreiben Sie den Server selbst, verbergen Sie auch die Metadaten.
A controller that works over the internet holds its own connection to the server, so the server sees the controller’s IP address and the time of each command sent to it. Only the ESP32 network controller bound to the owner’s phone checks the signature of every command; the others act on what the server sends.
Die Referenz-Firmware prüft das Serverzertifikat, daher kann sich niemand im selben Netz als Server ausgeben.
Fahrplan
- ●Stufe 1 — beliebiger Host in der App fertig
Die App lässt sich auf Ihren eigenen Entrixy-Server richten: Verbindungen und die von ihr erzeugten Gastlinks gehen dorthin. Öffnet ein Gast einen Link von einem anderen Server, verbindet er sich automatisch mit diesem Server. - ●Stufe 2 — der Server als Distribution fertig
Ein Docker-Image des Serverteils: WebSocket-Server, Datenbankschema und Anleitung. Die Verfügbarkeit liegt dann in Ihrer Hand, und unsere Ausfälle berühren Sie nicht. - ○Stufe 3 — offener Quelltext für die App geplant
Damit der Client von jedem geprüft und neu gebaut werden kann — vollständige Unabhängigkeit von fremder Infrastruktur und von App-Stores.
Für wen das gedacht ist
Hersteller von Schranken, Schlössern, Sprechanlagen und Controllern, deren Produkt unabhängig von uns weiterlaufen soll, statt von einer einzigen Firma abzuhängen. Und alle, die sich selbst einen Controller bauen und von einem einzigen Anbieter unabhängig bleiben wollen. Für Integration und OEM-Konditionen schreiben Sie an hello@entrixy.com. Protokolle: BLE, socket. Referenzcode und Konfigurator: Controller.