单片机通过烧断管脚来加密(OTP不可恢复性加密)的方法 (**是针对51系列的,但基本原理应该对中颖也管用)
原作:jsan、蔡金生
1.采用RF等编程器,烧断单片机管脚,从而实现OTP不可恢复性加密。 2.电压型烧断: 工具:使用15V电源串47~470欧小电阻(不能太小),并联一路串二极管保护的发光管,发光管限流后接Vcc或Gnd(极性不同),接一探针。 再使用-15V电源,电源的地接IC的Vcc,至发光管亮,注意极性为负极性! 目的是击穿Pin的Pmos管(即上拉管);再用5V电源,直接加在待烧Pin上,再次把已短路的Pmos,烧开路。 使用+15V电源,把探针点在待烧管脚至发光管亮,注意不能超过3秒,否则IC会损坏。发光管亮说明Pin的输出Nmos(即下拉管)击穿;再用5V电源烧开路。 就OK啦,这个Pin将永远失效了!! 过程:电压烧坏Pmos—电流烧坏Pmos—电压烧坏Nmos—电流烧坏Nmos 如此烧断后,解密者就很难判断那个口被烧断了。 说明:EA是读入脚(对MCU来说),而烧Pin的原理是烧坏Pin的输出推挽管,如果想烧坏Pin的输入则要冒IC被烧坏的风险! 所以不能选只读的脚来烧,一定要烧编程时回读数据的IO口,最好烧断两个。 建议:根据以上原理,自己用MCU做一个自动烧断器,烧断就会非常可靠! 解密者一般是利用我们烧Pin的漏洞,钻空子才能解密的。 如只执行了上述烧Pin的某一步就留下了漏洞。 那是不是完全烧坏Pin以后就不能解密了呢,也不是! 但要想解密,完全烧坏两Pin的费用,需要2K以上,并且烧断管脚的同时,管脚的保护电路有可能被烧掉,解密者从表面更难推断是烧什么连线,如果要**还要找到真正的单片机**高手。 3.特殊物理方法: 这个严格的讲,不是烧断了,可以封装MCU的时候,那个管脚就不引出(但是那种方式,你没有一定的量,封装厂是不会理睬你的,也可以正常的芯片使用一定的工具,把管脚到管芯PAD处的管脚完全去掉,联后用保密硅胶封住这个口,这种加密是比1,2更难**。
注意上面烧断管脚的方法,必须保证程序开发不使用到那些管脚,或者是使能脚或JTAG管脚,烧写程序后使用不到了。
|