← Mundo bit Byte

Sistemas Embarcados e IoT

Professor Ronaldo Lavestein
1. Fundamentos 2. Entrada/Saída 3. Sensores 4. Atuadores/Automação 5. Programação Aplicada 6. Conectividade 7. Internet das Coisas 8. RTOS e Protocolos 9. Proteção e Segurança 99. Exercícios
9

Proteção e Segurança em IoT: conectar não é suficiente

Nos blocos anteriores, fizemos dispositivos perceberem o ambiente, agirem e trocarem informações. Agora surge uma responsabilidade nova: decidir quais dados realmente precisam existir e quem pode acessar dados, dispositivos e comandos.

Finalidade
→
Dados necessários
→
Acesso
→
Proteção
→
Uso responsável
Proteção de dadosPergunta por que coletar, quais dados são necessários e como respeitar as pessoas relacionadas a eles.
Segurança da informaçãoProtege dados e sistemas contra acesso, alteração, perda ou indisponibilidade indevidos.
Projeto desde o inícioSegurança e privacidade não devem aparecer somente depois que o sistema já está pronto.
→

Preparação — O sistema ficou útil; agora ele também pode criar riscos

Quanto mais dados e acessos adicionamos, maior a responsabilidade de projetar o sistema com critérios.

Por que segurança aparece agora? Enquanto o LED funcionava apenas na bancada, poucas pessoas conseguiam alcançá-lo. Depois que colocamos o ESP32 na rede e até criamos um acesso temporário de fora dela, o projeto ganhou novas portas de entrada. Segurança começa quando perguntamos não apenas “funciona?”, mas também “quem pode usar, o que pode acontecer se algo der errado e quais dados realmente precisam existir?”

1. Retomando o Ambiente MbB

No Bloco 6, um ESP32 pôde receber comandos por rede e até ser acessado por um túnel. No Bloco 7, vimos que sistemas IoT podem monitorar ambientes, pessoas, máquinas e ativos. No Bloco 8, entendemos como diferentes partes se comunicam. Agora imagine que o sistema registre nomes, horários, localização ou medições ligadas a uma pessoa. Conectar passou a envolver também proteção.

2. Primeira pergunta

Precisamos mesmo deste dado? Antes de armazenar qualquer informação, defina a finalidade e verifique se o projeto pode funcionar com menos dados.

3. Segunda pergunta

Quem pode acessar ou comandar? Um sistema disponível na rede não deve tratar qualquer pessoa como usuário autorizado.

4. Duas áreas relacionadas, mas diferentes

Proteção de dados pessoaisSegurança de sistemas e informações
Cuida do tratamento responsável de informações relacionadas a pessoas.Cuida da proteção de sistemas, redes, dispositivos e informações contra eventos indevidos.
Pergunta finalidade, necessidade, transparência e direitos das pessoas.Pergunta quem pode acessar, alterar, interromper ou obter informações.

5. Começando pelos dados

Antes de falar de senhas, redes e ataques, precisamos reconhecer quando uma informação do nosso projeto passa a ser um dado relacionado a uma pessoa.

9.1

Proteção de dados pessoais — Colete porque precisa, não porque pode

A LGPD protege dados pessoais de pessoas naturais. Em IoT, sensores e registros podem produzir esses dados mesmo quando o projeto parece apenas “técnico”.

Comece pela finalidade, não pelo banco de dados. Um sensor produzir valores não significa que devemos guardar tudo para sempre. Primeiro definimos o que o sistema precisa resolver; depois escolhemos o menor conjunto de dados necessário para cumprir essa finalidade.

1. Situação

Um sensor mede a temperatura de uma sala. Isso, isoladamente e sem vínculo com uma pessoa identificada ou identificável, não descreve alguém. Mas o projeto muda se passarmos a registrar quem entrou, em que horário, onde estava ou qual medição pertence a determinada pessoa.

2. Dado pessoal

Para a LGPD, dado pessoal é a informação relacionada a uma pessoa natural identificada ou identificável. Nome é um exemplo óbvio, mas outros dados podem permitir identificar ou individualizar alguém quando analisados no contexto.

3. Dado pessoal sensível

A lei dá proteção especial a categorias como dados de saúde, biométricos e genéticos, além de outras categorias definidas pela LGPD. Em IoT de saúde, portanto, a atenção precisa ser maior.

4. Nem todo dado de sensor é igual

SituaçãoLeitura para o projeto
Temperatura ambiente sem vínculo com pessoaÉ um dado do ambiente; sozinho, não identifica uma pessoa.
Registro “Ronaldo entrou às 19:02”Relaciona uma ação a uma pessoa identificada: é dado pessoal.
Batimento cardíaco associado ao usuário de um dispositivoÉ dado relacionado à saúde e exige cuidado especial.
Localização de um rastreador associado a uma pessoaPode revelar onde aquela pessoa está ou esteve e deve ser tratada com proteção adequada.

5. Finalidade e necessidade

Uma boa pergunta de projeto é: qual resultado queremos obter e qual é o menor conjunto de dados necessário para isso? A LGPD inclui os princípios da finalidade e da necessidade. Portanto, “talvez seja útil um dia” não é uma boa razão para coletar tudo.

Objetivo do sistema→Dado realmente necessário→Uso definido→Proteção→Eliminação quando aplicável

6. Diagnóstico de projeto

Uma lixeira IoT precisa guardar o nome de quem abriu a tampa?

Em uma aplicação comum de contagem de uso, provavelmente não. Se a finalidade é saber quantas aberturas ocorreram, associar cada abertura a uma pessoa acrescentaria dado sem necessidade para esse objetivo.

Um sistema de acesso pode registrar quem entrou?

Pode haver uma finalidade legítima para esse registro, mas o dado passa a estar relacionado a pessoas. O projeto deve definir finalidade, acesso, retenção e demais requisitos aplicáveis, em vez de tratar o log como um detalhe técnico sem consequências.

Guardar a senha do Wi-Fi é proteção de dados pessoais?

É principalmente uma questão de segurança do sistema e das credenciais. Proteção de dados e segurança se relacionam, mas não são sinônimos.

7. Aplicando ao nosso percurso

InformaçãoPrecisamos para o protótipo de iluminação?Decisão
Valor de luminosidadeSim, para decidir se o ambiente está claro ou escuro.Usar somente enquanto necessário ao funcionamento e aos testes.
Estado do LEDSim, para mostrar se a iluminação está ligada ou desligada.Manter como estado do sistema.
Nome da pessoa que apertou o botãoNão, no protótipo atual.Não coletar.
Senha real do Wi-FiÉ necessária para a conexão, mas é uma credencial, não um dado que devemos publicar.Usar de forma protegida e nunca deixar exposta no repositório.
Checkpoint de dados: antes de criar uma variável, planilha, banco ou log que identifique pessoas, consiga explicar em uma frase por que aquele dado é necessário. Se a finalidade puder ser atingida sem ele, prefira não coletá-lo.

8. Próxima pergunta

Mesmo coletando apenas o necessário, ainda existe outro problema: como impedir acesso, alteração, perda ou controle indevido do sistema e das informações?

9.2

Segurança de sistemas e informações — Proteja o caminho inteiro

Um projeto IoT não é apenas a placa. Dispositivo, rede, aplicação, credenciais e dados formam uma cadeia.

Agora vamos auditar o que nós mesmos construímos. O servidor HTTP, a senha da rede, o túnel, o navegador e o ESP32 formam um caminho. Uma falha em qualquer parte pode comprometer o sistema, mesmo que o código do LED esteja perfeito.

1. Situação

No Bloco 6, um túnel pôde tornar um serviço local acessível de fora da rede. Isso foi útil para compreender conectividade, mas também revelou uma pergunta de segurança: se alguém obtiver o endereço, essa pessoa deve conseguir controlar o dispositivo? Em um sistema real, a resposta não pode ser “sim, porque conhece a URL”.

2. Três objetivos clássicos

ConfidencialidadeInformações só devem ser acessadas por quem tem autorização.
IntegridadeDados e comandos não devem ser alterados de forma indevida.
DisponibilidadeO sistema e as informações precisam estar disponíveis quando necessários, dentro dos requisitos do projeto.

No nosso protótipo: confidencialidade aparece quando protegemos credenciais; integridade aparece quando queremos impedir comandos indevidos ou alterados; disponibilidade aparece quando pensamos no que o sistema deve fazer se a rede falhar.

3. Autenticar

É verificar quem está tentando acessar. Senha, chave, certificado ou outro mecanismo pode participar dessa verificação conforme o sistema.

4. Autorizar

Depois de saber quem é o usuário ou sistema, ainda precisamos decidir o que ele pode fazer. Ler um sensor e acionar uma porta podem exigir permissões diferentes.

5. Registrar

Em sistemas que exigem rastreabilidade, registros podem ajudar a saber que operação ocorreu e quando. Mas logs também podem conter dados pessoais e precisam ser protegidos.

6. Auditoria prática — nosso servidor do módulo 6

O que existeRisco que percebemosComo tratar em um sistema real
SSID e senha escritos no códigoPublicar o arquivo pode expor a credencial da rede.Separar segredos do código publicado e controlar quem pode obtê-los.
Servidor HTTP local sem loginQuem alcançar o ESP32 na rede pode tentar acionar as rotas.Adicionar autenticação e autorização compatíveis com o risco da aplicação.
HTTP sem criptografiaO conteúdo trafega sem a proteção oferecida por TLS.Quando houver dados ou comandos sensíveis, projetar transporte protegido, normalmente com HTTPS/TLS ou uma arquitetura segura equivalente.
Túnel com URL pública temporáriaA superfície de acesso deixa de ficar restrita à rede local.Expor apenas quando necessário, encerrar após o teste e não depender do segredo da URL como mecanismo de segurança.
Queda do Wi-FiA interface Web deixa de responder.Definir comportamento seguro para funções que devem continuar localmente.

7. HTTP, HTTPS e autenticação não são a mesma coisa

HTTP organiza pedidos e respostas. HTTPS usa TLS (Transport Layer Security) para proteger a comunicação em trânsito. Autenticação verifica quem está acessando e autorização decide o que essa identidade pode fazer.

Uma conexão HTTPS não transforma automaticamente qualquer usuário em usuário autorizado. Da mesma forma, colocar uma senha na aplicação não substitui a proteção do tráfego quando ela é necessária. São camadas diferentes do projeto.

8. O projeto precisa de proteção em várias partes

ParteRisco simplesDecisão de projeto
DispositivoConfiguração padrão ou software desatualizado.Manter configuração controlada e atualizar componentes quando necessário.
CredenciaisSenha fraca, repetida ou publicada no código.Usar credenciais adequadas e não expor segredos em repositórios ou páginas.
RedeServiço exposto além do necessário.Limitar exposição e permitir somente os acessos necessários.
AplicaçãoComandos aceitos sem verificar autorização.Implementar autenticação e autorização compatíveis com o risco.
DadosColeta, armazenamento ou compartilhamento excessivo.Coletar o necessário, controlar acesso e definir proteção e retenção.

9. Segurança desde a concepção

A LGPD determina que medidas de segurança relacionadas a dados pessoais sejam observadas desde a fase de concepção do produto ou serviço até sua execução. Em termos de projeto, isso significa que segurança não deve ser uma “última tela” acrescentada depois.

Planejar→Reduzir exposição→Controlar acesso→Testar→Manter

10. Revisando o nosso sistema

O SSID e a senha reais do Wi-Fi devem ficar publicados no GitHub?

Não. Credenciais reais não devem ser expostas em código público. No material didático usamos valores como NOME_DA_REDE e SENHA_DA_REDE justamente para separar exemplo de segredo real.

Trocar a URL do ESP32 por um endereço difícil de adivinhar resolve autenticação?

Não. Esconder o endereço não substitui um mecanismo de autenticação e autorização.

Se o sistema não coleta dados pessoais, segurança deixa de importar?

Não. Um atuador controlado sem autorização, um dispositivo indisponível ou um comando alterado podem causar problemas mesmo sem dados pessoais.

11. Checklist para o projeto IoT

FinalidadeEstá claro o que o sistema deve fazer?
DadosEstamos coletando apenas o necessário?
CredenciaisSegredos reais estão fora do código público?
AcessoEstá definido quem pode ler e quem pode comandar?
ExposiçãoO serviço está acessível somente onde precisa estar?
AtualizaçãoBibliotecas, firmware e dependências podem ser mantidos?
FalhasO sistema possui comportamento seguro quando rede ou serviço falha?
RevisãoTestamos o projeto também pensando em uso indevido, e não apenas no caminho feliz?
Checkpoint do módulo 9: pegue o servidor HTTP do módulo 6 e consiga apontar pelo menos três riscos ou limitações e uma medida de projeto para cada um. Se você apenas disser “colocar senha”, a análise ainda está incompleta.
Neste protótipo: estamos aprendendo princípios de proteção de dados e segurança. Sistemas que envolvem pessoas, patrimônio, saúde ou funções críticas exigem análise de risco, requisitos de segurança e, quando aplicável, avaliação jurídica e institucional próprias.

13. Ponte para o projeto final

Agora temos sensores, atuadores, programação, conectividade, IoT, RTOS, interfaces, protocolos e critérios de proteção. O próximo passo deixa de ser estudar partes isoladas: vamos integrá-las em um projeto IoT completo, com problema, requisitos, implementação, testes e entrega.