Arquitetura aberta
O protocolo, o firmware e a parte de servidor são abertos. Não fica preso a um único fornecedor: o sistema funciona offline, pode ser auditado e, se precisar, corre na sua própria infraestrutura.
O que já está feito
- »Um protocolo aberto feito
Especificações completas BLE e socket — disposição ao nível do byte, a criptografia e vetores de teste para confrontar a sua própria implementação. Constrói-a na sua placa a partir da documentação, sem nada para fazer engenharia inversa. - »Firmware de referência com licença MIT feito
ESP32, ESP8266, Raspberry Pi e Node.js — código a funcionar para os dois lados, pronto a pegar e portar. - »O BLE funciona sem servidor nenhum feito
A abertura vai direta do telemóvel ao controlador por Bluetooth, sem internet e sem consultar o nosso servidor. Os controladores saem vazios e ligam-se localmente. - »O servidor nunca vê as suas chaves e não pode abrir nada por si feito
Os comandos são assinados no telemóvel e o servidor apenas os encaminha. Uma chave de convidado viaja num envelope cuja chave nunca passa pelo servidor. Nem um servidor comprometido consegue fazer alguma coisa (ver abaixo). - »Aprovisionamento de aparelhos para produção feito
Os aparelhos são produzidos em lotes que não pertencem a ninguém; o comprador liga-os com o código da caixa.
O modelo de confiança — o que o servidor pode e não pode fazer
As aberturas são assinadas no cliente (cifra de ponta a ponta) e os segredos passam cifrados ao lado do servidor. Daí que:
| O servidor NÃO PODE | O servidor pode |
|---|---|
| ler as suas chaves (a chave de convidado, o segredo do proprietário) | negar o serviço (estar indisponível) |
| forjar a abertura de um portão | ver metadados: quem, o quê, quando e endereços IP |
| escalar os seus próprios privilégios | — |
Assim, o servidor — o nosso ou o seu — só influencia a disponibilidade: não pode abrir nada em seu nome. Se o alojar você mesmo, esconde também os metadados.
Roteiro
- ●Etapa 1 — qualquer host na aplicação feito
A aplicação pode ser apontada ao seu próprio servidor Entrixy: as ligações e as ligações de convidado que gera vão para lá. Um convidado que abra uma ligação de outro servidor liga-se automaticamente a esse servidor. - ○Etapa 2 — o servidor como distribuição previsto
Uma imagem Docker da parte de servidor: o servidor WebSocket, o esquema da base de dados e as instruções. A disponibilidade passa a estar nas suas mãos e as nossas falhas não o afetam. - ○Etapa 3 — código aberto para a aplicação previsto
Para que qualquer pessoa possa auditar e recompilar o cliente — independência total face a infraestrutura alheia e às lojas de aplicações.
A quem se destina
Fabricantes de cancelas, fechaduras, intercomunicadores e controladores que precisam que o seu produto continue a funcionar independentemente de nós, em vez de depender de uma só empresa. E quem constrói o seu próprio controlador e quer manter-se independente de um único fornecedor. Para falar de integração e condições OEM, escreva para hello@entrixy.com. Protocolos: BLE, socket. Código de referência e configurador: controladores.