我们每个人都有一个指纹,每个人都指纹都不一样。目前的指纹识别方法是采用特征点,把指纹特殊的点采集出来,然后匹配识别。假设采用12个特征点的话,那重复的几率就是1/10^20,如果取更多特征点,那重复的几率就更低。那我们如何给一颗芯片加上指纹呢?
7月11日,在ASPENCORE旗下《电子工程专辑》、《EDN》和《国际电子商情》共同举办的“IoT技术与应用论坛”上,力旺电子(eMemory)的市场发展部项目经理柳星舟先生做了详细的介绍。
在他主题为“NeoPUF指纹芯片技术于AIoT之安全应用”的演讲中,他指出,NeoPUF技术就是一种赋予芯片一个指纹的技术。而且这个指纹不是烧写进去的,是与生俱来,出厂后就拥有,而且每一颗芯片都不一样。
图1:力旺电子(eMemory)的柳星舟在IoT技术与应用论坛上演讲。
什么是NeoPUF?
柳星舟解释说,PUF的英文全称是Physical Unclonable Functions,即物理不可复制功能。而NeoPUF,就是创新式物理不可复制功能。
系统密钥有用很多种不同的实现方法。
可以人为将不同的代码烧写进芯片,但认为烧写的代码一般是由算法产生的,如果算法被人破解了,那所有的芯片就都被破解了。
力旺电子的NeoPUF采用的是模拟丢铜板的技术来实现的。柳星舟介绍说,“假设给你两颗一模一样的电阻,在两边同时加一个一样的电压,那到底是左边先烧掉,还是右边先烧掉。不知道,我也不知道。我们模拟的就是这样的情况,我们在两个相邻的晶体管的栅极和基极两端慢慢加电压,总有一颗会被先烧掉,先烧左边就是0,先烧右边就是1。”
用这种方法实现的PUF就算是同一片晶圆上产生的Die,所产生的代码也都是不一样的。
因此,加入了NeoPUF IP的每一颗芯片都有一个与众不同的代码,也就是拥有了一个指纹。
如何应用芯片指纹?
现在芯片已经获得了一个指纹,那如何去应用这些芯片的指纹呢?柳星舟先生也给出了一些应用的案例。
他表示,“NeoPUF提供高达64Kbit,芯片与生俱来的完美随机数源。既然每颗芯片都拥有了指纹,其中最明显的应用就是用这个代码作为芯片的ID,这样就不会出现重名的情况了。或者用这个代码产生信任根,然后产生通信密钥,以加密通信数据。”
“当然,还可以防止芯片不被破解。因为有些做逆向工程的厂商会破解你的芯片,生产后还打你的logo,出问题了,可能还得你去服务。”他同时指出。
柳星舟举了一个NeoPUF在IoT中的应用。“目前使用PUF的情况就是把它当作信任根,它产生一个最根本的码,通过一个密钥管理算法,产生不同的公钥,私钥等,再给AES等加密算法去加密。”
另外,因为力旺电子是主要做OTP等存储的,所以他还列举了一个NeoPUF搭配Memory一起用案例。比如说,“我们可以用PUF产生一组乱码,而且与生俱来,是一个完美乱数,所以我们就可以用PUF加密我的OTP,而且可以做到天生加密,就是可以将OTP内的扰码基于PUF乱码重新排列,也就是说,在不同的芯片中,同样的OTP资料存储后的信息都是不一样的。”
“甚至是外挂的Flash,只要主控端有放NeoPUF,出去的数据已经用NeoPUF重新排序,存储在外挂的Flash内,那么Flash内存储的数据就是乱的,而且每一颗都不一样,别人如果把Flash内的内容复制出来,再用不同的主控是读取不出来数据的。因为这需要原来的主控来做还原解码。这样就可以防止你的代码被偷走。从而实现保护代码的功能。”柳星舟举例说。
他同时还谈到了NeoPUF在人工智能方面的应用。当然主要还是芯片的保护用法。“我们知道人工智能的流程大概是这样,先要收集很多数据,然后做训练,再提取出模型,最后开始做推理,或者预测。”
而推理有两种做法,一个是云端,所有数据传输至云端,然后云端给出推理结果。另外一个是边缘计算,也就是在设备端做预测,现在大部分厂商都认为最后会往边缘端发展。
但柳星舟认为,由于云端的运算能力太强大了,云端仍将会长期存在下去;而边缘端,也有一些发展的趋势,主要是有隐私的需求,或者是传输可靠性和延迟要求。
他表示,“我今天主要关注边缘端。边缘端做预测,目前有两种情况,一种是用别人的运算单元加上NVM存储,做成一个模组。只需要把云端训练好的模型简化之后放上去,就可以在边缘端做推理预测了。如果你花了那么多时间做训练,结果你的东西被偷了。那前面的心血就白费了。因此在模组端,我们可以帮助保护最关键的资料。”
第二个边缘端的应用是将模型转成一个ASIC,这样功耗是最好的。当然这个模型需要精简很多。但是这很容易被人逆向工程。
针对第一种情况,如果主控加入了NeoPUF,那么写入Flash中的数据就是乱的。因此,即使一个模组中的数据被破解或者被复制了,放到其他的模组中其实是没有用的。
针对第二种情况。如果ASIC中带有一个NeoPUF,ASIC的功能会被/可以被乱掉,“除非我给你一个启动码授权之后将功能还原码写入OTP中,ASIC才可以正常工作。”柳星舟表示。
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”