[Whitepaper]
Provisionamento Seguro
Sumário
1 Introdução
- Resumo
3 Medidas de Segurança no Provisionamento Seguro
- Chaves Simétricas e Assimétricas
- Assinaturas Digitais
2 Principais Medidas de Segurança
- Criptografia
- Raiz de Confiança
- Identidade
- Módulo de Segurança de Hardware
4 Fluxo de Trabalho do Provisionamento Seguro
- Desenvolvimento de Software
- Empacotamento de Propriedade Intelectual
- Transferência de Pacotes
- Provisionamento Seguro
1
Capítulo 1
Introdução
Em questão de segundos após pesquisar por “provisionamento seguro” na web, deparamo-nos com uma miríade de descrições abrangendo múltiplas tecnologias, porém poucas delas parecem relacionar-se aos problemas impostos ao engenheiro de desenvolvimento embarcado clássico. Por que razão um engenheiro de sistemas embarcados deveria interessar-se pelo provisionamento seguro como um serviço?
Resumo
Com o investimento cada vez maior em recursos de engenharia necessários para desenvolver um produto conectado, não surpreende que os gestores estejam sob pressão para encontrar meios de proteger seu investimento. Essa pressão é transmitida aos engenheiros de desenvolvimento, a quem se solicita que elaborem soluções para assegurar a proteção do valioso software da empresa. Existem diversas soluções disponíveis para auxiliar na proteção do software, mas um fator crucial frequentemente negligenciado é a segurança do processo de fabricação que programa o software no microcontrolador de metal nu.
Pode-se confiar no processo? E como o “Provisionamento Seguro” se encaixa nessa equação?
Neste documento técnico, destacaremos quatro áreas-chave de segurança, explicaremos como elas se relacionam com a fabricação de um produto seguro e demonstraremos por que o provisionamento seguro não deve ser negligenciado durante o desenvolvimento do produto.

Criptografia

Raiz de Confiança

Identidade

Módulo de Segurança de Hardware
2. Principais Medidas de Segurança
2.1 Criptografia
Este é um assunto complexo, mas provavelmente é o elemento-chave para garantir que seu software esteja protegido e não visível a olhos indiscretos. A criptografia é frequentemente a primeira coisa que vem à mente quando o tema da segurança é abordado. Ser capaz de criptografar seu software garante que ele possa ser transportado com segurança, afinal, é comum que imagens de software sejam enviadas a casas de programação remotas para transformar microcontroladores de metal nu em produtos úteis. Este é um ponto clássico onde o software está vulnerável a ataques.
Então, sem nos atermos demasiadamente à matemática, o que um engenheiro de desenvolvimento embarcado precisa saber? Bem, existem duas técnicas criptográficas de chave pública que são populares atualmente. Estas são Rivest, Shamir, Adleman (RSA) e Criptografia de Curva Elíptica (ECC). Há uma grande quantidade de informações disponíveis ao comparar as duas técnicas. No entanto, do ponto de vista dos engenheiros embarcados, é necessário compreender quais recursos do microcontrolador são necessários para implementar essas técnicas. A ECC parece ser a clara vencedora aqui, com as principais vantagens sendo:
- Geração de chaves muito rápida
- Assinaturas rápidas
- Tamanhos de chave menores para níveis de segurança equivalentes ao RSA
- Bom suporte a padrões
- Bom mecanismo de troca de chaves
Basicamente, para ECC, resume-se a rápido e pequeno (rajadas de computação curtas e pequena memória flash necessária para armazenamento e transmissão de chaves). Como exemplo, uma chave pública ECC de 256 bits tem aproximadamente o mesmo nível de segurança que uma chave pública RSA de 3074 bits.

