之前没有接触过wch蓝牙,参考相关例程,升级都是直接使用合并的文件。那么592是如何确保升级文件安全性?
还是说bl层已经实现了,使用合并工具就行?用户无需处理?
蓝牙传输本身是可靠传输,在进行升级的时候会有主机(手机APP)传输数据给从机后,再进行校验的操作,确保从机接收到数据。
目前提供的例程,前面4K是作为跳转,紧跟着是APP区域。ISP工具在烧录的时候一定会擦除前8K,如果被读取代码也一定会丢失APP的前4K代码,不会读取到完整的。
基于例程的蓝牙OTA升级,框架已经搭建好,用户只需要管理用户代码即可。
我想表达的是分发文件的安全性,比如客户程序需要分发给第三方app开发者做测试,在终端也存在升级文件被抓包的可能性,针对该部分是否有效?以前做过的都是单独生成的升级文件,并没有提供过直接编译生成的文件。所以没弄明白是如何保护的。感谢回复。
1、蓝牙OTA升级的空中数据,可以被抓包工具抓取到。但是抓取到的是原始数据,需要进一步解析。如抓包到0x01,但是无法知道0x01代表何种意义,即使抓取到也无意义。例程接收到数据后会根据IAP的协议进行解析。此部分具体协议可以自己定义或者基于例程的基础上再添加校验进一步保险;
2、终端用户需要升级的时候,可以提供bin文件,用户自行进行升级。或者直接提供客户APP,同时APP里面包含bin文件,终端用户则不会直接接触到待升级的文件 ,这样也增加了文件的安全性;
3、如果需要寻找第三方开发APP同时担心他们开发的时候盗取你的文件,可以在APP代码进行加密,iap接收数据的时候再进行解密并填写FLASH升级。使用第三方APP的时候只管透传,无法解析到你的用户代码。