IoT Sentinel — Credenciais Seguras e Channels para Dispositivos Complexos
IoT Sentinel — Credenciais Seguras e Channels para Dispositivos Complexos
Este post é o sexto de uma série de oito partes sobre o IoT Sentinel. Aqui falo sobre armazenamento seguro de credenciais e modelagem de dispositivos complexos.
- Parte 1 — O Caos dos Dispositivos IoT
- Parte 2 — Instalação e Setup
- Parte 3 — Locais, Redes e VLANs
- Parte 4 — Primeiro Scan
- Parte 5 — Registrando e Organizando
- Parte 6 — Credenciais e Channels (você está aqui)
- Parte 7 — Monitoramento Real-Time
- Parte 8 — Dashboard, Network Map e Backup
O problema das credenciais
Você tem 30 dispositivos IoT em casa. Cada um com seu painel de administração, cada um com um usuário e senha diferente. Câmeras IP com admin/admin que você jurou que ia mudar. Smart switches com aquela senha gerada pelo app que ninguém lembra. O roteador com a senha que você definiu há três anos e nunca mais tocou. O PLC com credenciais que vieram de fábrica e que, sim, você deveria ter trocado.
Onde estão essas credenciais hoje? Aposto que a resposta é uma combinação de: planilha no Google Sheets, nota no Notion, arquivo .txt perdido na área de trabalho, post-it colado atrás do monitor, ou a opção mais popular — memória. Cada uma dessas abordagens tem seus problemas óbvios. A planilha é acessível por qualquer pessoa com acesso à sua conta Google. O arquivo de texto está em plain text no disco. O post-it é… um post-it. E a memória falha justamente quando você precisa acessar aquela câmera às 2 da manhã porque o alarme disparou.
Eu precisava de algo que vivesse junto com o inventário dos dispositivos, que fosse criptografado de verdade, e que não dependesse de serviços externos.
Credenciais criptografadas no IoT Sentinel
O Sentinel resolve isso de forma direta. Cada dispositivo (Thing) tem um campo de credenciais com três informações: username, password e notes. O campo de notas é útil para guardar informações extras — tipo “senha do modo AP”, “pin de reset” ou “chave de API do firmware”.
A parte que importa: as credenciais são criptografadas com AES-256-GCM antes de serem persistidas. Esse é o mesmo padrão usado por bancos, serviços de cloud e gerenciadores de senha. A chave de criptografia é gerada automaticamente na primeira inicialização do sistema — 32 bytes aleatórios via crypto.randomBytes — e salva em disco com permissão restrita (0o600, somente o owner lê e escreve). Cada operação de criptografia gera um IV (initialization vector) único de 12 bytes, junto com um authentication tag que garante integridade. Ou seja, mesmo que alguém acesse o banco de dados diretamente, o que vai encontrar é uma string hexadecimal ilegível.
Na prática, o fluxo funciona assim:
- Você abre o dispositivo no Sentinel
- Vai até a seção de credenciais
- Preenche username, password e notas opcionais
- Salva
A partir desse ponto, as credenciais nunca aparecem em listagens de dispositivos nem em respostas da API de listagem. Elas só são buscadas e descriptografadas sob demanda, quando você explicitamente acessa a tela de credenciais de um dispositivo específico.

A senha é exibida mascarada com pontos. Não existe opção de “mostrar senha” em texto claro na tela. Em vez disso, há um botão de copiar que joga o valor direto para o clipboard. Você copia, cola onde precisa, e a senha nunca ficou visível para quem estava olhando por cima do seu ombro.

Channels: para dispositivos com múltiplas saídas
Nem todo dispositivo IoT é uma coisa simples com uma função só. Uma câmera tem uma saída de vídeo. Um sensor de temperatura mede uma variável. Mas e um PLC com 26 saídas digitais? E um smart switch com 4 portas Ethernet, cada uma conectando um dispositivo diferente?
Esse tipo de equipamento não cabe no modelo mental de “um dispositivo = uma coisa”. Um PLC é um dispositivo, mas cada saída dele controla algo completamente diferente — a luz da cozinha, o portão da garagem, a irrigação do jardim, a sirene do alarme. Se você registra só o PLC no inventário, perde toda a informação sobre o que cada saída faz.
Para resolver isso, o Sentinel tem o conceito de Channels. Um Channel representa uma porta, saída ou entrada individual de um dispositivo complexo. Cada channel tem os seguintes campos:
- number: o número da porta/saída física (ex: 1, 2, 14, 26)
- direction:
input,outputoubidirectional - name: nome descritivo (ex: “Luz Cozinha”, “Irrigação Jardim”)
- type: classificação —
light,motor,sensor,relay,camera,portouother - description: detalhes adicionais sobre o que aquele channel faz

Outro exemplo prático: um smart switch gerenciável com 4 portas. Cada porta conecta um dispositivo diferente — um access point na porta 1, uma câmera na porta 2, um NAS na porta 3, um Raspberry Pi na porta 4. Sem channels, você sabe que o switch existe, mas não sabe o que está plugado em cada porta. Com channels, essa informação está documentada e acessível.

Caso de uso: mapeando um PLC de automação
Esse cenário é pessoal. Minha formação é em Engenharia de Automação, e já trabalhei com painéis de automação residencial que usam PLCs com dezenas de saídas. O cenário clássico é o seguinte: um PLC com 26 saídas digitais montado dentro de um quadro de automação, com 26 cabos saindo para diferentes pontos da casa. Cada saída controla um circuito — iluminação de ambientes, motor do portão, válvula solenoide da irrigação, acionamento de persianas, sirene.
Antes do Sentinel, a pergunta “qual saída controla a irrigação do jardim?” tinha uma resposta dolorosa: abrir o quadro de automação, identificar o PLC, rastrear o cabo da saída até o borne de conexão, seguir o borne até o circuito de campo. Ou procurar aquele diagrama elétrico que o instalador fez em AutoCAD há cinco anos e que ninguém sabe onde está.
Depois do Sentinel, a resposta é: abrir o navegador, acessar o dispositivo “PLC Quadro Principal”, ir na aba de channels, e ler: “Canal 14 — Irrigação Jardim, output, relay”. Pronto. Sem abrir quadro, sem rastrear cabos, sem procurar documentação perdida.
Isso vale para qualquer pessoa que precise interagir com o sistema. Se um eletricista precisa fazer manutenção, você abre o Sentinel no celular e mostra a lista de channels. Se alguém da família pergunta qual é o circuito que está dando problema, você consulta em segundos. A documentação está viva, atualizada, e acessível de qualquer lugar.
Próximo passo
Com credenciais seguras e dispositivos complexos mapeados, o inventário está completo. Mas inventário estático não responde a pergunta mais importante do dia a dia: “está funcionando agora?”. Na próxima parte, vamos ver como o Sentinel monitora seus dispositivos em tempo real e te avisa quando algo cai.