就像世上没有两片一样的叶子,也没有两片一样的芯片。每颗芯片都有微小的物理参数差异,这是由制造工艺随机造成,无法人为控制,这种特征也被称为芯片“指纹”。
物理不可克隆函数PUF (Physically Unclonable Function),利用芯片硅结构的微小物理参数差异,经过放大数字化后形成不可预测、随机数值的挑战-响应(输入-输出)函数关系,这种函数基于不可克隆的物理结构,因此称为物理不可克隆函数。
PUF是一种内生硬件安全技术。通常PUF的输入称为挑战(Challenge),输出称为响应(Response),一个特定的挑战唯一对应于一个特定的响应,称为一个挑战响应对(Challenge-response pair, CRP)。如果PUF能在给定挑战时生成相应的响应,称为“挑战-响应”机制,一个PUF的所有“挑战-响应”对,称为其CRP空间。对于一个挑战输入,PUF将输出对应的响应,这个响应可以用作密钥等安全参数。基于PUF的“挑战-响应”安全机制,密钥等安全参数可以实时生成,用后消除,无需存储,从根本上消除密钥等安全参数被窃取风险。
PUF的丰富应用基于挑战值(C)与响应值(R)的数据对(CRP)实施。从图可知,相同挑战值+相同PUF芯片=相同响应值;相同挑战值+不同芯片=不同响应值;不同挑战值+相同芯片=不同响应值。
根据CRP(挑战-响应对)数量与物理实体大小的关系,PUF可以分为弱PUF和强PUF两种类型。没有CRP功能的PUF只能输出单一的随机数值,只能用于身份ID使用;仅有有限数量的CRP的PUF,称为弱PUF,除身份ID应用外,其它应用安全强度有限;强PUF具有指数级的CRP数,良好的随机性及安全性,可以广泛应用于身份ID、身份认证、密钥、随机数等安全参数产生。