如何给一颗芯片加上指纹?

电子说

1.3w人已加入

描述

我们每个人都有一个指纹,每个人都指纹都不一样。目前的指纹识别方法是采用特征点,把指纹特殊的点采集出来,然后匹配识别。假设采用12个特征点的话,那重复的几率就是1/1020,如果取更多特征点,那重复的几率就更低。

7月11日,在ASPENCORE旗下《电子工程专辑》、《EDN》和《国际电子商情》共同举办的“IoT技术与应用论坛”上,力旺电子(eMemory)的柳星洲先生做了详细的介绍。

在他主题为“NeoPUF指纹芯片技术于AIoT之安全应用”的演讲中,他指出,NeoPUF技术就是一种赋予芯片一个指纹的技术。而且这个指纹不是烧写进去的,是与生俱来,出厂后就拥有,而且每一颗芯片都不一样。

图1:力旺电子(eMemory)的柳星洲在IoT技术与应用论坛上演讲。

什么是NeoPUF?

柳星洲解释说,PUF的英文全称是Physical Unclonable Functions,即物理不可复制功能。而NeoPUF,就是创新式物理不可复制功能。

PUF有用很多种不同的实现方法。

可以人为将不同的代码烧写进芯片,但认为烧写的代码一般是由算法产生的,如果算法被人破解了,那所有的芯片就都被破解了。

力旺电子的NeoPUF采用的是模拟丢铜板的技术来实现的。柳星洲介绍说,“假设给你两颗一模一样的电阻,在两边同时加一个一样的电压,那到底是左边先烧掉,还是右边先烧掉。不知道,我也不知道。我们模拟的就是这样的情况,我们在两个相邻的晶体管的栅极和基极两端慢慢加电压,总有一颗会被先烧掉,先烧左边就是0,先烧右边就是1。”

用这种方法实现的PUF就算是同一片晶圆上产生的Die,所产生的代码也都是不一样的。

因此,加入了NeoPUF IP的每一颗芯片都有一个与众不同的代码,也就是拥有了一个指纹。

芯片

图2:力旺电子的NeoPUF实现原理。

如何应用芯片指纹?

现在芯片已经获得了一个指纹,那如何去应用这些芯片的指纹呢?柳星洲先生也给出了一些应用的案例。

他表示,“NeoPUF提供高达64Kbit,芯片与生俱来的完美随机数源。既然每颗芯片都拥有了指纹,其中最明显的应用就是用这个代码作为芯片的ID,这样就不会出现重名的情况了。或者用这个代码产生信任根,然后产生通信密钥,以加密通信数据。”

“当然,还可以防止芯片不被破解。因为有些做逆向工程的厂商会破解你的芯片,生产后还打你的logo,出问题了,可能还得你去服务。”他同时指出。

芯片

图3:NeoPUF在IoT中的应用。

柳星洲举了一个NeoPUF在IoT中的应用。“目前使用PUF的情况就是把它当作信任根,它产生一个最根本的码,通过一个密钥管理算法,产生不同的公钥,私钥等,再给AES等加密算法去加密。”

芯片

图4:NeoPUF配合OTP一起使用。

另外,因为力旺电子是主要做OTP等存储的,所以他还列举了一个NeoPUF搭配Memory一起用案例。比如说,“我们可以用PUF产生一组乱码,而且与生俱来,是一个完美乱数,所以我们就可以用PUF加密我的OTP,而且可以做到天生加密,就是可以将OTP内的扰码基于PUF乱码重新排列,也就是说,在不同的芯片中,同样的OTP资料存储后的信息都是不一样的。”

芯片

图5:NeoPUF在外挂Flash上的应用。

“甚至是外挂的Flash,只要主控端有放NeoPUF,出去的数据已经用NeoPUF重新排序,存储在外挂的Flash内,那么Flash内存储的数据就是乱的,而且每一颗都不一样,别人如果把Flash内的内容复制出来,再用不同的主控是读取不出来数据的。因为这需要原来的主控来做还原解码。这样就可以防止你的代码被偷走。从而实现保护代码的功能。”柳星洲举例说。

他同时还谈到了NeoPUF在人工智能方面的应用。当然主要还是芯片的保护用法。“我们知道人工智能的流程大概是这样,先要收集很多数据,然后做训练,再提取出模型,最后开始做推理,或者预测。”

而推理有两种做法,一个是云端,所有数据传输至云端,然后云端给出推理结果。另外一个是边缘计算,也就是在设备端做预测,现在大部分厂商都认为最后会往边缘端发展。

但柳星洲认为,由于云端的运算能力太强大了,云端仍将会长期存在下去;而边缘端,也有一些发展的趋势,主要是有隐私的需求,或者是传输可靠性和延迟要求。

他表示,“我今天主要关注边缘端。边缘端做预测,目前有两种情况,一种是用别人的运算单元加上NVM存储,做成一个模组。只需要把云端训练好的模型简化之后放上去,就可以在边缘端做推理预测了。如果你花了那么多时间做训练,结果你的东西被偷了。那前面的心血就白费了。因此在模组端,我们可以帮助保护最关键的资料。”

芯片

图6:NeoPUF在人工智能模组中的应用。

第二个边缘端的应用是将模型转成一个ASIC,这样功耗是最好的。当然这个模型需要精简很多。但是这很容易被人逆向工程。

针对第一种情况,如果主控加入了NeoPUF,那么写入Flash中的数据就是乱的。因此,即使一个模组中的数据被破解或者被复制了,放到其他的模组中其实是没有用的。

针对第二种情况。如果ASIC中带有一个NeoPUF,这样里面的数据都可以被乱掉,“除非我给你一个启动码授权之后才可以使用。”柳星洲表示。

芯片

图7:NeoPUF在ASIC中的应用。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分