具有自我保护和防复制功能的电子装置及相关方法与流程

文档序号:15145091发布日期:2018-08-10 20:21阅读:203来源:国知局

本发明涉及一种具有认证功能的电子装置,用以执行防复制及自我保护功能。



背景技术:

人们在日常生活中越来越依赖电子装置,而随着物联网(internetofthings;iot)的需求日益增加,安全性访问和安全性通信的标识与认证变得非常的重要。虽然业界已花费了大量精力来改进软件的演算法以加强保护,而使得软件的保护的功能有所加强,但软件中仍然可能被暗藏了后门,而使得攻击者可通过使用诸如执行硬件逆向工程、安装伪造的设备或使用伪造的身份,来拦截安全性资讯。因此,具有自我保护和防复制功能的硬件对于商业性的保护变得非常的重要。



技术实现要素:

因此,本发明的其中一个目的在于提供一种具有自我保护和防复制功能的电子装置及其相关方法。

在本发明的一实施例中提供了一种具有防复制功能的电子装置。电子装置包含第一关键集成电路,而第一关键集成电路包含第一安全功能区块。第一安全功能区块用以对第二关键集成电路的身份进行认证,而第二关键集成电路与第一关键集成电路进行通信。其中第一安全功能区块依据第二关键集成电路的芯片标识符对第二关键集成电路的身份进行认证,而芯片标识符是通过使用非易失性物理不可复制功能体(non-volatilememoryphysicallyunclonablefunction;nvmpuf)被创建。

在本发明的另一实施例中,提供了一种在电子装置内执行防复制功能的方法。电子装置包含第一关键集成电路,而上述的方法包含:第一关键集成电路的第一安全功能区块取得第二关键集成电路的芯片标识符,而第二关键集成电路与第一关键集成电路进行通信,其中第二关键集成电路的芯片标识符是通过使用非易失性物理不可复制功能体(non-volatilememoryphysicallyunclonablefunction;nvmpuf)被创建。上述的方法还包含:第一安全功能区块将所取得的第二关键集成电路的芯片标识符与第二关键集成电路的芯片标识符的一先前储存数值进行比较;以及当所取得的第二关键集成电路的芯片标识符与第二关键集成电路的芯片标识符的先前储存数值匹配时,第一安全功能区块对第二关键集成电路的身份进行认证。

本发明的的其中一个优点在于提供了一种方式以使用芯片标识符,其中芯片标识符通过原生的物理不可复制功能体(puf)技术被创建,以唯一地标识使用于电子装置中的关键集成电路。通过这样的方式,芯片标识符不能轻易地被伪造,而骇客也无法轻易地将原本的集成电路替换成可能具有恶意功能的未经授权的集成电路。

附图说明

图1绘示了一种非易失性物理不可复制功能体(nvmpuf)的例子。

图2为本发明第一实施例的电子装置的功能方块图。

图3为绘示出安全功能区块的细部的功能方块图。

图4a至图4b为本发明执行关键集成电路的认证方法的流程图。

图5为本发明第二实施例的第一电子装置和第二电子装置的功能方块图。

其中,附图标记说明如下:

10非易失性存储器物理不可复制功能体

12第一字线

14第二字线

16位元线

18第一反熔丝结构

20第二反熔丝结构

22破裂

50电子装置

60、260第一关键集成电路

62、72、262、362硬件电路

64、74、264、364软件

66、76、266、366安全功能区块

67非易失性存储器

70芯片标识符

80、280非关键集成电路

100至126步骤

250第一电子装置

260、360第一关键集成电路

350第二电子装置

660随机数生成器

662加密引擎

664控制器

670芯片标识符

672芯片参考号码

674对照表

具体实施方式

本发明寻求提供一种用于电子装置内的关键集成电路以进行认证的方式,而使得电子装置的用户可以确保上述的关键集成电路是真实的并且尚未被复制的。

请参考图1。图1绘示了一种非易失性物理不可复制功能体(non-volatilememoryphysicallyunclonablefunction)10(以下称为nvmpuf10),例如为一个反熔丝物理不可复制功能体(antifusepuf)。在这个例子中,nvmpuf10包含一对对称的反熔丝结构,其包含了第一反熔丝结构18和第二反熔丝结构20。第一反熔丝结构18和第二反熔丝结构20电连接到第一字线12、第二字线14和位元线16。如本领域技术人员所知的,通过施加编程电压至nvmpuf10,反熔丝结构内部会发生破裂。例如,当施加上述的编程电压而使得高电平的电流流过nvmpuf10时,在第一反熔丝结构18上发生了破裂22。此破裂22在某些反熔丝结构中自然发生,而不发生在其它反熔丝结构中电容器,而破裂的发生与否取决于反熔丝结构的原生的工艺差异(intrinsicprocessvariations)。如图1所示,当一对相同的反熔丝结构被施加编程电压时,其中一个反熔丝结构将发生破裂,而另一个反熔丝结构并不会破裂。当多对的反熔丝结构被施加编程电压时,由于nvmpuf10的原生的工艺差异,发生破裂的位置将出现在看似随机的位置处。上述的反熔丝结构例如可以是电容或晶体管。

通过将逻辑值“1”分配到具有破裂位置22的第一反熔丝结构18与其他具有破裂位置的反熔丝结构,并且通过将逻辑值“0”分配到第二反熔丝结构20和其他不具有破裂位置的反熔丝结构,即可以生成用以对电路进行唯一标识的代码。举例来说,集成电路可以被分配一个其值为“10010101”的8位芯片标识符(chipid)。此代码对于多个不同的反熔丝胞(不同的物理不可复制功能体(puf)区块)是随机生成的,并且对于每个反熔丝胞的区块是特定的。而实际上,此代码是一种硬件指纹(hardwarefingerprint)。由于两个nvmpuf具有相同的芯片标识符的机率非常的小,所以每个nvmpuf可以被认为各具有唯一的芯片标识符。

基于前面段落中所讨论的反熔丝结构,反熔丝结构可以是使用一次性可编程非易失性存储器(one-timeprogrammablenon-volatilememory;otpnvm)的反熔丝可编程逻辑装置(antifuseprogrammablelogicdevice)。其他型式的存储器也可用来取代一次性可编程非易失性存储器,例如多次性可编程(multi-timeprogrammable;mtp)存储器或电子可抹拭唯读存储器(eeprom)。值得了解地,其他技术可替代性地用于产生芯片标识符,例如利用集成电路内的单元的原生电荷(intrinsiccharge)。原生电荷是在制造集成电路时所产生的集成电路的自然特性。在本发明一实施例中,其值超过临界值的原生电荷可以被分配为逻辑值“1”,而其值不超过临界值的电荷可被分配逻辑值“0”。

其他技术也可以被使用以创建芯片标识符,而使得芯片标识符有足够的随机性,并可有效地为集成电路创建出唯一的标识符。上述用于创建芯片标识符的非易失性存储器可以使用完全逻辑兼容及混合模式工艺(fullylogic-compatibleandmix-modeprocesses)、完全高电压兼容工艺(fullyhigh-voltagecompatibleprocesses)、双极-互补金属氧化半导体-双重扩散金属氧化半导体(bipolar-cmos-dmos;bcd)兼容工艺或完全互补式金属氧化物半导体影像感测器(fullycmosimagesensor;fullycis)兼容工艺。

请参考图2。图2是本发明的第一实施例的电子装置50的功能方块图。电子装置50包含第一关键集成电路60、第二关键集成电路70及非关键集成电路80。相较于非关键集成电路80,第一关键集成电路60和第二关键集成电路70相对比较重要的集成电路,并因此要经历额外的认证步骤以确保第一关键集成电路60和第二关键集成电路70是真品而非伪造的。由于非关键集成电路80不需要额外的认证步骤,非关键集成电路80将不会是本发明的重点。

第一关键集成电路60包含硬件电路62,用以执行第一关键集成电路60所设计的硬件功能。第一关键集成电路60还包含软件64,其具有可执行的代码以及安全功能区块66。第二关键集成电路70包含有与第一关键集成电路60类似的元件,而具有硬件电路72、软件74及安全功能区块76。如图2所示,第一关键集成电路60的安全功能区块66与第二关键集成电路70的安全功能区块76进行通信,以执行第一关键集成电路60和第二关键集成电路70的相互认证。

请参考图3。图3为绘示出安全功能区块66的细部的功能方块图。由于第一关键集成电路60的安全功能区块66和第二关键集成电路70的安全功能区块76的功能基本相同,故此处仅以第一关键集成电路60的安全功能区块66来说明,第二关键集成电路70的安全功能区块76的功能可依此类推。安全功能区块66包含随机数生成器660、加密引擎662、控制器664及非易失性存储器67。非易失性存储器67存储第一关键集成电路60的芯片标识符670与第一关键集成电路60的一芯片参考号码672(由于安全功能区块66位于第一关键集成电路60内)以及对照表674。

芯片标识符670的功能已于图1相关的说明中解释过,而基于第一关键集成电路60的自然特性,芯片标识符670可唯一地标识第一关键集成电路60。芯片参考号672可以是集成电路的简单标识符,用以关连于位于电子装置50内部或外部的其他ic。举例来说,在图2中的电子装置50中,第一关键集成电路60的芯片参考号码672可以是“1”,第二关键集成电路70的芯片参考号码可以是“2”。非关键集成电路80可以选择性地具有芯片参考号码“3”,但因为非关键集成电路80不需要进行认证,所以非关键集成电路80的芯片参考号码是选择性的。对照表674存储与电子装置50相关联的每个关键集成电路的芯片参考号码及芯片标识符,而这些值是提前知道的。因此,当芯片参考号码已知时,可通过对照表674找出相应的芯片标识符。

当执行相互认证时,加密引擎662可用以对在关键集成电路之间传输的数据进行加密。当加密引擎662对数据进行加密时,随机数生成器660可用于产生加密金钥。

请参考图4a及图4b。图4a至图4b为本发明执行关键集成电路的认证方法的流程图。流程图的步骤说明如下:

步骤100:开始。

步骤102:第一关键集成电路60启始化与第二关键集成电路70的通信。例如,第一关键集成电路60可以执行对于第二关键集成电路70的输入/输出请求。要留意的,由于是一关键集成电路60启始化了与第二关键集成电路70的通信,下面的流程图中的所有步骤是从第一关键集成电路60对第二关键集成电路70进行认证的角度来执行。当第一关键集成电路60认证第二关键集成电路70之后,第二关键集成电路70可以在步骤118中对第一关键集成电路60进行验证,以通过这样的方式相互认证。

步骤104:第一关键集成电路60的安全功能区块66请求第二关键集成电路70的安全功能区块76提供第二关键集成电路70的芯片参考号码。

步骤106:安全功能区块76将第二关键集成电路70的芯片参考号码提供给安全功能区块66。

步骤108:安全功能区块66使用第二关键集成电路70的芯片参考号码来搜索对照表674中与第二关键集成电路70对应的芯片标识符。

步骤110:安全功能区块66使用加密引擎662结合随机数生成器660加密与第二关键集成电路70相对应的芯片标识符。换句话说,随机数生成器660可以提供用一随机数,用以对应于第二关键集成电路70的芯片标识符进行加密。

步骤112:安全功能区块66将上述的随机数发送到第二关键集成电路70的安全功能区块76。

步骤114:第二关键集成电路70的安全功能区块76根据上述的随机数对与第二关键集成电路70对应的芯片标识符进行加密,并将与第二关键集成电路70对应的已加密的芯片标识符发送到第一关键集成电路60的安全功能区块66。

步骤116:第一关键集成电路60的安全功能区块66比较从步骤110和步骤114所得到的对应于第二关键集成电路70的已加密的芯片标识符。此比较的结果将指出第二关键集成电路70是否被成功地认证。

步骤118:重复步骤102至116,但是交换第一关键集成电路60和第二关键集成电路70。通过这样的方式,即可进行第一关键集成电路60与第二关键集成电路70的相互认证。

步骤120:根据执行步骤116和步骤118的两个比较结果来确定第一关键集成电路60和第二关键集成电路70是否被成功地相互认证。如果两个比较结果都是正确的并且相互认证成功,则执行步骤124。如果一个或两个比较结果不正确并且相互认证失败,则执行步骤122。

步骤122:由于相互认证失败,因此无论是哪个关键集成电路没有通过认证,都可以进行制裁。制裁包括禁用未通过认证的关键集成电路的功能。例如,如果第二关键集成电路70没有通过认证,则第二关键集成电路70的安全功能区块76可以禁用第二关键集成电路70的功能或安全性资讯。在另一实施例中,安全功能区块66第一关键集成电路60也可以禁用第二关键集成电路70的功能或安全性资讯。在不同的实施例中,当第二关键集成电路70通过认证时,仅存储在第二关键集成电路70中的软件74将仅被解锁(解密)。在另一个实施例中,当至少一个关键集成电路没有通过认证时,可以向主机设备发送警报通知。接着,执行步骤126。

步骤124:由于相互认证成功,第一关键集成电路60和第二关键集成电路70可以彼此通信。通过执行相互认证,可以知道第一关键集成电路60和第二关键集成电路70都是真品而非伪造的。

步骤126:结束。

请参考图5。图5为本发明第二实施例的第一电子装置250和第二电子装置350的功能方块图。第一电子装置250包含第一关键集成电路260和非关键集成电路280。第二电子装置350包含第二关键集成电路360。与图2中第一实施例的电子装置50一样,第一关键集成电路260包含硬件电路262、软件264及安全功能区块266。类似地,第二关键集成电路360包含硬件电路362、软件364及安全功能区块366。图2的第一实施例与图5的第二实施例之间最主要的差别在于,第一关键集成电路260和第二关键集成电路360分别设置在分开的电子装置内(即分别设置在第一电子装置250和第二电子装置350内)。因此,无论关键集成电路是位于相同的电子设备内还是位于分开的电子设备内,通过本发明都可执行相互认证。

当在两个关键集成电路之间进行相互认证时,启始化与其他关键集成电路进行通信的关键集成电路可以被认为是“主集成电路”,另一个关键集成电路被认为是“从属集成电路”。这仅影响执行认证协议通信的顺序,并且主/从顺序可被切换而不影响本发明的有效性。

相互认证可以在的两个关键集成电路之间,以不同的频率等级被别执行。例如,每当两个关键集成电路尝试相互通信时,就可执行相互认证。不然,相互认证可较不频繁地执行,例如当关键集成电路首次通电或关键集成电路被初始化时。

关于加密引擎662所使用的加密类型,多种不同类型的加密都可被使用,这包括了对称及不对称加密。对于非对称加密,可以使用公钥(publickey)和私钥(privatekey),如本领域技术人员所熟知的。

综上所述,本发明提供了一种通过使用原生不可复制功能(puf)技术以创建的芯片标识符的方法,用以对电子装置内所使用的关键集成电路进行唯一性的辨识。通过这样方式,芯片标识符不能被轻易伪造,并且骇客无法轻易地使用可能具有恶意功能或包含未授权或恶意代码的未经授权的集成电路来更换掉原本的集成电路。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1