zntsbkhhhh

MCU防盗版之编程注意事项

0
阅读(353) 评论(20)

       嵌入式通用MCU多数不具备安全防护机制,因此越来越多的人采用MCU + 加密芯片的方案来实现对MCU中代码的保护。这里有个误区,使用加密芯片并不会直接对MCU中代码做加密防护,只是多了一道防破解的功能,而加密芯片中的加密二字是个概念,主要因为其在产品中起到了防护作用,且自身有加密功能,故简称加密芯片。

      本次针对已经使用了加密芯片的用户做特别说明,要想达到更安全的效果,一定不能忽略MCU端的编程细节。加密芯片作为从设备,会接收MCU发出的指令并返回相应的数据。不论加密芯片返回的数据是否进行了线路加密,但在MCU端处理后最终都将以“明文”形态出现,这就要求编程者小心使用该“明文”。应注意以下细节:

     1、“明文”不要存储在连续的内存地址上

     2、“明文”尽量参与更多的程序处理环节

     3、   如果可以,“明文”要做到每次变化

     4、“明文”使用完成后要马上销毁,不在内存中存留。销毁的方法有很多种,例如将“明文”重新赋值,变成新的干扰数据,或者重新置零。否则容易被跟踪窃取。有很多盗版人员都是通过这种方法对MCU进行带电分析,从ram中获取到很多重要数据,从而实现了对MCU的破解。


  1. 正好在做一款产品的加密,看到楼主的的文章,,又有了新的思路,感谢楼主的分享,这样的好文章楼主要多发表一点。真是雪中送炭啊!

  2. 受教了,以后我还是用加密芯片才会更安全啊,幸亏看到这个帖子

  3. 加密传输就是将待传输的数据按某种规则混入一些随机数,而后再使用加密算法将数据进行加密,是传输数据是变化的密文


  4. 加强安全的方法很多,往往是1+1>2。


  5. 专业性太强了,看不懂,还是请大神来白话一下吧

  6. 就是将明文分散存储在不连续的地址空间中,使用时再临时拼凑

  7. 专业性好强的文章,当做技术储备,希望楼主能够详细的再具体介绍一些


  8. 我听说那个凌科芯安家的加密芯片挺好的,大家可以试试


  9. 通用的MCU根本不能防盗版,难道还有研发工程师们没用加密芯片吗?

  10. 加密传输听着很高端,有具体方法吗,哪位大神给讲解一下?


  11. 加密芯片?是不是他们常说的加密狗?如果不是那两者又是什么关系有什么区别呢?


  12. 两者功能差不多,封装不同

  13. 加密芯片?是不是他们常说的加密狗?如果不是那两者又是什么关系有什么区别呢?


  14. 那可不是,ram带电也能分析的,如果不销毁,一直放在那,CPU可能确实就不去动它,就有可能读出来。 

  15. ram里面的数据掉电就丢失了,所以别人根本没法分析的