我们希望我们的软件拷贝受到保护。
DA14583现在总是允许引导您自己的代码通过RS-232,可以简单地读取所有flash并发送它。即使没有这个,flash也可以在CPU复位时通过外部引脚访问。
对于我已经读过的OTP ROM是DA14583的工厂预编程。如果我读错了,请纠正我。
如果不是-有没有可能得到DA14583芯片与未编程的OTP,所以我可以用我自己的引导装载程序程序,将解密代码从flash与我们自己的密钥?
关键词:
设备:
嗨w.puchar,
不,你提到的是有效的,583年,已经在OTP引导装载程序来直接引导SPI的flash,但是,与583年有先进的引导装载程序的选择,为了消耗额外的装载机OTP,将执行的加密解密过程。您将能够检查该功能的详细信息UM-B-012 DA14580/581/583创建辅助引导加载程序.辅助引导加载程序也实现了加密图像功能。
谢谢,PM_Dialog
谢谢你的回答。我读过这份文件。我可以很容易地测试我的OTP固件,而无需写入OTP -通过RS-232加载它。最后写OTP。
只是为了确定-然后(在我的OTP程序写完后)无论如何都可能绕过它的加载或无论如何获得读取OTP的访问-例如SW*引脚?
我知道不是,但我想确认一下。
嗨w.puchar,
你不可能让这个设备100%的盗窃证据,因为有志者事竟成。相反,你可以尝试使它难以黑客,为了实现这一点,并防止某人访问flash或OTP,你可以做以下事情。您可以使用辅助引导加载程序(作为OTP中的高级引导加载程序,并使用前面提到的加密过程),在OTP中禁用JTAG并通过禁用UART来修改它,因此当583启动时,将在检查任何其他选项之前检查高级引导加载程序选项,因此,它将引导与高级引导加载程序,您将只启用SPI选项和直接从内部SPI引导。当然,这个解决方案不是再次窃取证据,因为通过供电的嵌入式flash和从闪存启动,有一个fw像uart_programmer可以再次访问您的代码,在任何情况下,因为您是从外部串行设备启动,没有办法使访问你的闪存完全安全,但至少你将能够使它更难被黑。
谢谢,PM_Dialog
----------------------
因此,当583启动时,它将在检查任何其他选项之前检查高级引导加载程序选项,因此它将使用高级引导加载程序启动
----------------------
这似乎是OK,因为我的引导加载程序解密主固件从flash。所以如果flash可以读取就没有问题了。我的引导加载程序不允许从任何地方引导任意代码,但它允许在我自己的串行协议上写flash(用于固件更新),但同样只传输加密的固件。
那么任何人都可以在不知道加密密钥的情况下运行它自己的程序(它将读取OTP,包括我的加密密钥和例程)吗?
嗨w.puchar,
您应该意识到,如果有人愿意闯入代码并运行自己的程序,可能会找到一种方法来做到这一点。没有办法让设备100%的防盗窃和完全保护。例如,有人可以更换你使用的闪存,并上传一个新的固件到58x设备,以便黑掉它。设备将引导什么取决于在OTP中燃烧的引导加载程序,如果你有信心你的引导加载程序不会允许这样的事情,那么这是与你的自定义加载程序有关的事情。我想说的是,你的产品必须尽可能地受到保护,但要破解它是有技术的。
谢谢,PM_Dialog