欢迎来到天天文库
浏览记录
ID:27889134
大小:251.00 KB
页数:3页
时间:2018-12-06
《拒绝破解:从共享单车谈如何防止代码失窃.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、拒绝破解:从共享单车谈如何防止代码失窃 如果你的产品可能需要升级固件,建议使用这种加密方式。 一级加密又分为多种形式,最常见的一种形式经常在芯片手册中叫做“Protect”。加密后如果试图读出芯片中的代码,则会读出全0x00,或者是全0xFF,甚至是随机数据,但是通过某些特殊的方法,比如擦除或是解保护,就可以将芯片重置为默认状态。 另外一种常见于ARM芯片,我们知道ARM芯片采用统一的编程接口SWD接口,某些ARM芯片会提供两个AP(AccessPort),通过关闭访问内部空间的AP可以达到加密的目的。而如果想解锁,就要访问另一条AP,这条AP只
2、可以访问一个寄存器,通过写入该寄存器特定的数据就可以将芯片重置为默认状态。 还有一种加密方式和上面类似,只不过采用了两个编程接口,而不是同一编程接口的两条AP。 总之,一级加密就是让你无法读取芯片数据,而又可以通过擦除再次升级固件。 二级加密 如果你的产品需要升级固件,但是你又不想别人也随意升级你的固件,可以使用这种加密方式。 二级加密与一级加密的不同之处在于,二级加密在加密时需要提供一段密码,该密码会保存到芯片内部,而如果你想重置芯片,则需要提供这段密码。这就防止了没有权限(不知道密码)的一方升级代码。 二级加密为密码保护的加密,不过部分
3、厂商的芯片可能并没有提供这种加密方案。 三级加密 如果你的产品要批量生产了,也不用考虑升级固件,可以使用这种加密方式。 三级加密通过向芯片特定位置写入特定数据,或者是直接熔断熔丝达到加密目的,这是个不可逆的过程,一旦加密之后,芯片就无法再擦除,读取或者烧录,甚至仿真器也无法再连接芯片。 三级加密是一条不归路,一旦加密,芯片的固件就再也无法更改,因此需要慎重再慎重。 这三种加密方式对产品的保护一级比一级严密,在不同的产品上灵活的使用不同加密方式才可以保护好自己的劳动成果而又不被这种保护所束缚。 加密方式尽管多种多样,但最终都是对芯片进行一
4、些特定的操作,以达到保护代码的目的。
此文档下载收益归作者所有