Desenvolvo hardware embarcado comercialmente, usando Microchip dsPIC ou processadores similares.
Às vezes, o firmware que tenho é muito complexo e caro, e precisa ser à prova de hackers e adulterações em hardware. Todas as proteções básicas de software estão lá, mas por US $ 500 - US $ 1.000, o código hexadecimal pode ser recuperado através de vários serviços de sites estrangeiros, mesmo se houver fusíveis de segurança (impedindo apenas violações não determinadas). Depois disso, são apenas alguns meses e o código pode sofrer engenharia reversa usando o desmontador, como o IDA Pro.
Como posso proteger um pouco melhor o design do hardware (sem necessidade de proteção militar)?
Você pode recomendar outros processadores não legíveis, ou talvez uma adição ao meu design existente?
Tudo o que preciso é ocultar algumas funções, não preciso de todo o produto. Além disso, não basta apenas ocultar dados na memória externa segura, preciso ocultar um pedaço de programa.
Atualização (com base em muitos comentários): Eu tenho dsPIC e 4 anos de desenvolvimento em tempo integral no firmware (seria necessário um grande esforço para fazê-lo do zero de outra maneira):
1) Este produto já vende e hackers têm acesso, se quiserem
2) O NOVO FIRMWARE ainda não foi lançado. Contém código de 5kB que ninguém de toda a concorrência ainda possui. Preciso impedir que alguém o obtenha facilmente por cerca de 12 meses após o lançamento
3) Não há orçamento para ser muito exótico ou complicado, talvez US $ 10 por produto, mais ou menos
4) Uma solução como o cartão SIM adicionado pode ajudar?
5) A função ocultar faz cálculos muito complicados, fora do padrão, para descriptografar / criptografar 16 bytes. Processos conhecidos não podem invadir em 1 ano; a função é necessária, e é por isso que eu quero ocultá-la.
6) Não me importo se é visível publicamente, quando a solicitação é enviada para o hardware 'oculto' ou se a resposta é visível publicamente. Só é necessário ocultar o processo de cálculo e não pode estar dentro do processador dsPIC.