Práticas recomendadas para atualizações seguras do ar [fechado]


8

Quais são as melhores práticas de segurança a serem seguidas ao emitir uma atualização OTA para uma frota de dispositivos IoT? Quais são as causas significativas de preocupação?

Por exemplo,

  • impedindo que uma atualização seja interceptada
  • seguindo padrões estabelecidos
  • plataformas para distribuição de software
  • atualizações automáticas x atualizações opcionais

5
Essa pergunta é muito ampla para ser uma boa opção para perguntas e respostas.
Sean Houlihane

11
@SeanHoulihane, reduzi o foco à segurança da OTA. Como isso parece agora?
Noam Hacker

2
Ainda é bastante amplo, pois cada marcador pode ser uma questão totalmente independente. Mesmo apenas para o último ponto de teste dos sucessos, você poderia escrever um livro inteiro sobre isso.
Dom

11
Eu concordo com Dom. É melhor considerar um aspecto do OTA (como garantir um resultado confiável). Mesmo assim, há muitas respostas. Idealmente, uma pergunta deve precisar apenas de uma ou duas respostas de alta qualidade para que você possa aceitar que seja 'respondida'.
Sean Houlihane

11
editar o título também?
Sean Houlihane

Respostas:


10

Essa pergunta é muito ampla, mas, como você omitiu a coisa mais importante, sinto que preciso me intrometer.

Autentique a atualização .

Se você deseja garantir que seus dispositivos estejam executando seu código, precisará de autenticação, não criptografia. A criptografia garante que outras pessoas não saibam o que está no seu código, e isso é difícil de alcançar e raramente útil. (Você pode criptografar, mas se a chave de descriptografia estiver no dispositivo, você não ganha nada, a menos que tenha uma maneira de proteger a chave de descriptografia que não permite proteger o código diretamente.) Autenticidade é a propriedade que outras pessoas não pode produzir uma atualização falsa, e essa propriedade geralmente é desejável.

Observe que a criptografia não ajuda na autenticidade. É uma crença falsa que as pessoas que realmente não entendem de segurança às vezes entendem, mas simplesmente não é verdade.

Para alguns dispositivos, não há problema em executar qualquer firmware, se o proprietário assim o desejar. Nesse caso, você ainda precisa de algum mecanismo para garantir que apenas o proprietário do dispositivo possa instalar o firmware, e não um transeunte aleatório. Geralmente, isso significa que o dispositivo deve autenticar a atualização como proveniente do proprietário registrado.


Isso não está realmente correto. A criptografia não é muito difícil de alcançar nem é "raramente útil". Além disso, essa criptografia "não ajuda na autenticidade" é apenas semi-verdadeira. A maioria dos modos modernos de criptografia, como o GCM, são na verdade chamados esquemas de "criptografia autenticada", que combinam autenticidade e confidencialidade.
esteira

@mat Eu mudei essa frase para estar formalmente correta. A criptografia não é difícil, mas eu estava me referindo à confidencialidade, o que é difícil. A criptografia não fornece confidencialidade se você não conseguir manter a chave em sigilo. A criptografia não ajuda na autenticidade. Se você usa criptografia autenticada, fornece os dois, mas o fato de incluir criptografia não ajuda a obter autenticidade.
Gilles 'SO- stop be evil'

Se sua chave vazar, cada criptografia perde sua utilidade, seja por confidencialidade ou por autenticação. Se isso faz sentido usar criptografia com uma chave sem proteção no dispositivo, depende do seu modelo de ameaça (acessibilidade do dispositivo, habilidades dos adversários)
mat

Não. Eu deveria ter reagido a essa observação do GCM no meu comentário anterior. O GCM não é uma maneira decente de transmitir atualizações, porque significa que a autenticidade é verificada com uma chave de classe. A menos que você esteja criando uma plataforma altamente protegida (por exemplo, cartão inteligente), uma chave de classe é tão boa quanto pública. As atualizações devem usar criptografia assimétrica. Dessa forma, para implantar uma atualização falsa em um dispositivo, esse dispositivo específico precisa ser violado: para produzir uma atualização falsa que funcione em todos os lugares, o invasor precisará interromper o servidor ou o protocolo e, normalmente, eles estão melhor protegidos do que os dispositivos no dispositivo. campo.
Gilles 'SO- stop be evil'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.