用于无线微控制器中的电磁脉冲检测的集成接收器电路的制作方法

文档序号:16630142发布日期:2019-01-16 06:29阅读:273来源:国知局
用于无线微控制器中的电磁脉冲检测的集成接收器电路的制作方法

本发明总体上涉及安全电路,更具体而言,涉及用于安全集成电路的防篡改保护电路。



背景技术:

黑客试图获得对诸如智能卡控制器之类的密码集成电路的访问,来试图窃取有价值的用户数据、密码等。黑客使用的一种技术是注入电气故障以使得电路以可供黑客访问集成电路的存储器和其它资源的方式故障。故障注入是对安全电路的严重威胁。存在多种用于在密码电路内注入故障的方法。这些方法中有激光、电压和电磁(em)故障注入。激光故障注入由于其高空间和时间分辨率而成为流行的方法。然而,使用激光进行故障注入具有局限性。用于在芯片中路由信号的金属层数量的增加以及不断进步的对策增加了激光攻击的低效性。还通过将电压尖峰直接注入到目标集成电路的衬底中来利用电压尖峰注入。电压尖峰注入相对于尖峰的强度产生地弹(groundbounces)或电压降。经由目标电磁脉冲的em故障注入更通常地用于意图破坏集成电路内的逻辑电路行为的有针对性的攻击。

已知两种类型的em注入平台被安装以将故障引入到电路中。谐波em注入平台产生可被调制以产生故障的正弦em波。谐波em注入可能干扰集成电路的内部时钟的行为,并且偏置真正的随机数发生器。另外,已表明用高压脉冲发生器和注入器产生的em脉冲(emp)注入创造从密码分析的角度可利用的故障。emp注入在期望的时间和目标集成电路上的位置产生单个但强大的emp,该emp在目标集成电路的电源和接地网络中产生突然的电流,从而产生电压降、地弹和定时故障。这些故障注入形式中的每一种都难以防御。随着设备在我们的环境中变得更小且更普遍,易受安全漏洞影响变得越来越重要且更难以应对。

附图说明

图1示出根据一些实施例的用于在电磁脉冲中断期间对集成电路进行密码认证的方法的流程图。

图2示出用于中断逻辑电路行为的电磁故障注入期间的内部电压振荡的时序图。

图3示出集成电路器件中的电磁脉冲感应磁场的图。

图4以框图形式示出可供黑客使用来实现图3的故障注入的电磁脉冲故障注入系统。

图5以图形形式示出电磁故障注入毛刺分析。

图6以框图形式示出根据一些实施例的示例性安全集成电路。

图7以框图形式示出根据一些实施例的电磁脉冲检测电路。

图8以图形的形式示出图5的叠加视图和根据一些实施例的电磁脉冲检测电路的天线的分布。

图9以框图形式示出根据一些实施例的集成电路布局上的天线和电磁脉冲检测电路的分布。

在以下的描述中,在不同附图中使用相同的附图标记来表示相似或相同的部件。除非另有说明,否则词“耦合”及其相关联的动词形式包括通过本领域已知的方式的直接连接和间接电连接,并且除非另有说明,否则对直接连接的任何描述也暗示使用合适形式的间接电连接的替代实施例。

具体实施方式

在一种形式中,集成电路包括能量检测电路、开关电路和篡改响应电路。能量检测电路具有用于接收射频(rf)信号的输入端、用于提供解调信号的第一输出端和用于选择性地提供检测信号的第二输出端。当能量检测电路处于安全模式时,响应于能量检测电路检测到内部信号的能量超过第一阈值而提供检测信号。开关电路可替代地在正常模式下将能量检测电路的输入切换到rf输入端子,在安全模式下将能量检测电路的输入切换到内部天线。篡改响应电路用于响应于在安全模式下检测信号的激活而禁用集成电路的功能。

在又一个实施例中,集成电路包括受保护电路、能量检测电路、天线、篡改响应电路和保护电路。能量检测电路具有用于接收rf信号的输入端、用于提供解调信号的第一输出端和用于响应于检测到第一内部信号的能量超过第一阈值而选择性地提供检测信号的第二输出端。篡改响应电路用于在处于安全认证模式时响应于该检测信号而激活保护信号。保护电路对保护信号作出响应以禁用受保护电路的功能。

图1示出根据一些实施例的用于在电磁脉冲中断期间对集成电路进行密码认证的方法100的流程图。在框102处,利用密码证书将主固件开发和调试访问委托给授权开发者。密码认证在框104处执行。在框106处,在密码认证期间可以潜在地将诸如电磁(em)脉冲(emp)的故障注入施加于集成电路。故障注入也可以通过电压毛刺和时钟毛刺来实现。在框108处判定emp是否在验证签名期间引起中断。在框108处的签名验证的过程期间,在框110处施加后续的emp。响应于在框106或框110处检测到足够强度的emp来中断集成电路,签名被确定为无效,并且固件完整性被保护。响应于篡改传感器确定签名是有效的,固件引导过程继续。

图2示出根据一些实施例的用于中断逻辑电路行为的em故障注入期间的内部/局部电压振荡的时序图。曲线图200示出了电源电压(δvdd)与其标称值(阈值210和212)的偏差的波形220。用于引起集成电路中的故障的方法是使用emp。在图2的例子中,在约100纳秒(ns)的时间处注入emp并引起vdd的振荡。当偏差在预定限制之外时,vdd振荡导致时序违规,其中阈值210是指定保持违规限制的上限,并且阈值212是指定设置违规限制的下限。作为电压毛刺的结果,emp产生定时故障。阈值210描绘+50mv的高vdd偏差和-50mv的低vdd偏差。意图使用emp中断逻辑电路行为的有针对性的攻击向具有篡改传感器的集成电路装置提供脉冲。因此,产生大于阈值210(偏差>50mv)的电源电压偏差的emp注入在篡改传感器中引起保持时间故障。产生小于阈值212(偏差<-50mv)的电源电压偏差的emp注入在篡改传感器中引起建立时间故障。

图3示出根据一些实施例的集成电路器件中的emp感应磁场分布的图。图300示出了接近集成电路的有源表面的emp探针310。在一个示例中,emp注入在靠近目标设备和/或目标设备的一部分的附近产生强烈且突然的磁场变化。emp探针310具有一个直径为100微米(μm)的单匝环路并且在目标装置中感应出随着与注入点的距离增加而减小的磁场。如图300所示,由emp探针310引起的故障可以高度局部化。

图4以框图形式示出根据一个实施例的emp故障注入系统400,其可用于注入图3所示类型的局部emp。emp故障注入系统400包括目标设备410、电源415、主计算机系统420、脉冲发生器430以及emp探针440。主计算机420连接到电源415、脉冲发生器430、emp探测器440以及目标设备410。

在一个示例中,主计算机420在目标设备410上执行emp扫描。主计算机系统420被用来向目标设备410提供无效的引导固件。脉冲发生器430将emp提供给emp探针440,来将故障注入目标设备410。emp探针440是定位在目标装置410上方的小型化emp注入器。emp探针440在从脉冲发生器430接收到脉冲时使电容器组(bank)向线圈放电,由此产生emp。脉冲发生器430等待预定时间(毛刺偏移),并且在由目标设备410断言触发信号时发出脉冲。主计算机系统420与目标设备410通信并监视目标设备410的行为。在一个示例中,电源415是可中断电源,其使得主计算机系统420能够中断到目标设备410的供电,以强制目标设备重新引导。在另一个示例中,电源415是控制输入,其使得目标设备410在引导操作期间重复关键序列。

步进电机用于操纵目标设备410和/或emp探针440。通过emp探针440将特定振幅的电压脉冲(例如电压:200v,电流:8a)施加到目标设备410的表面上的局部区域达指定持续时间(例如5ns到100ns)。主计算机系统420在目标设备410的表面上启动emp的毛刺扫描以在目标设备410的引导期间产生定时故障。在一个示例中,以预定的毛刺强度和持续时间在固定的毛刺偏移(时间)处执行扫描。从第一位置开始,目标设备410被重置,emp探针440施加emp,并且主计算机系统420检测结果。emp探针440被步进到下一个位置并重复该过程。主计算机系统420继续监视目标设备410以确定目标设备410在固件引导认证操作期间何时未能正确操作,从而允许主计算机系统420提供允许读取和更改目标设备410上的存储器的指令。

图5以图形形式示出根据一些实施例的电磁故障注入毛刺分析。图表500包括区域510、515和520的毛刺结果。在一个示例中,类似图4的系统可以被用来提供图形500的毛刺分析。扫描在目标设备、例如具有由英国剑桥的advancedriscmachines公司许可的cortex-a8核心处理器的微型计算机上执行,来运行测试程序。emp故障注入系统(图4)的目标是在从重置开始的时间并且在集成电路上的位置处注入故障,以在执行认证操作时导致集成电路失效,从而可以将恶意固件提供给目标设备。扫描在第一xy位置开始并且在重置之后的固定时间量内持续跨过装置的整个表面,这已知为“毛刺偏移”。emp被设定为固定的强度和持续时间。将这些参数应用于目标设备直到获得期望的行为。区域510表示异常结果,该异常结果识别出emp注入产生了将使黑客能够中断认证过程的毛刺。区域515表示非应答目标,区域520表示接收到预期结果。

图6以框图形式示出根据一些实施例的示例性安全集成电路600。集成电路600包括受保护电路,该受保护电路包括微控制器单元(mcu)610、外围总线接口620、闪存631、只读存储器(rom)632、随机存取存储器(ram)633、篡改响应电路635、调试接口电路636、调试端口650以及emp检测电路675。

mcu610是连接到rom632以及ram633的处理设备。mcu610还连接到外围总线接口620、闪存631、篡改响应635和调试接口电路636。rom632是用于存储与集成电路相关联的固件和数据的非易失性存储器。ram633被用于程序数据存储。外围总线接口620用于将外围设备连接到mcu610。闪存631是在没有电源的情况下保存数据并且可以被电擦除和重新编程的非易失性存储介质。闪存631的块可以被擦除,并且闪存631也可以被整体擦除。

调试端口650连接到调试接口电路636。调试接口电路636是提供对存储在mcu610上的调试信息的访问的电子接口。调试端口650简化了mcu610的开发和调试;然而,调试端口650也被黑客用来获得对由mcu610、连接到mcu610的另一个处理器、外围设备和/或存储器组件提供的固件、功能和秘密数据的访问。主机可以经由调试端口650管理和查询与调试接口电路636相关联的目标。如果调试端口提供合适的加密解锁凭证,则调试接口电路636仅允许mcu调试访问。

篡改响应电路635连接到调试接口电路636、mcu610以及存储器块(闪存631、rom632以及ram633)。当emp检测电路675检测到表征尝试侵入集成电路600的特征的emp时,篡改响应电路635从emp检测电路675接收到检测信号,并响应于该检测信号而执行保护操作以保护集成电路600的组件。当从emp检测电路675接收到检测信号时,篡改响应电路635选择性地向调试接口电路636、mcu610或闪存631发出响应,由此识别对集成电路600的安全中断。

emp检测电路675包括射频(rf)接收器电路680、内部天线684、开关电路686和rf输入端子682。开关电路686在集成电路600的正常操作模式下将rf接收器电路680的输入切换到rf输入端子682。在安全操作模式下,开关电路686切换到内部天线684。响应于emp故障,rf接收器电路680激活检测信号并将检测信号提供给篡改响应电路635。篡改响应电路635将集成电路600的功能禁用。

在操作中,除其他功能之外,集成电路600提供某些安全功能,诸如提供安全密钥的存储以及提供受保护信息的存储。存储在闪存631中的信息由密码认证操作来保护。在集成电路600的引导期间,emp检测电路675检测故障注入,并将检测信号输出到篡改响应电路635。篡改响应电路635动态地提供对检测信号的响应。例如,篡改响应电路635能将集成电路600复位。在另一个示例中,篡改响应电路635选择性地从集成电路600中擦除敏感信息。在又一示例中,篡改响应电路635使调试接口636能够使加密认证操作无效并且锁定对调试接口636的访问。响应于emp检测电路675根据篡改响应策略检测到故障注入,篡改响应电路635擦除集成电路600的秘密和/或功能。

emp检测电路675检测集成电路600上的emp攻击。更具体地,emp检测电路675检测在内部天线684处接收到的内部信号何时超过由故障注入攻击引起的功率的预定阈值。此外,它利用集成电路600上已经存在的rf接收器电路来在rf接收器不需要用于其他目的时(例如在调试或固件更新之前的安全认证操作期间)检测通过使用emp来侵入电路的尝试。因此,emp检测电路675仅利用少量添加电路针对侵入集成电路的尝试提供了额外的安全性。

图7以框图形式示出根据一些实施例的图6的emp检测电路675。emp检测电路675包括内部天线684、外部天线704、开关电路705、放大器701、功率检测器742、自动增益控制电路703、寄存器715、rf接收器电路680和解调器790。emp检测电路675具有用于从内部天线684或外部天线704接收射频信号的输入端。开关电路705连接到rf接收器电路680的输入端。放大器701具有连接到开关电路705以用于接收输入信号的输入端、控制输入端和输出端。自动增益控制电路703具有用于接收输入信号的第一输入端、至放大器701的第一输出端、和第二输出端。放大器701的输出端连接到功率检测器742。功率检测器742具有用于接收内部信号的输入端、和输出端。自动增益控制电路703具有连接到功率检测器742的输出端的输入端、连接到放大器701的控制输入端的第一输出端、和第二输出端。寄存器715是置位复位触发器,具有连接到控制电路703的第二输出端的标记为“s”的置位输入端、标记为“r”的用于接收标记为“布防检测器(armdetector)”的信号的复位输入端以及连接到图6的篡改响应电路635并用于提供检测信号的q输出端。rf接收器710具有用于接收放大器701的输出的输入端、和输出端。解调器790连接到rf接收器电路710的输出端。

emp检测电路675检测在内部天线684处接收的内部信号的能量何时超过预定阈值。在集成电路600的安全模式操作期间,emp检测电路675切换到内部天线684,否则将开关电路705设置为从外部天线704接收信号。在安全模式期间,在功率检测器742处接收宽带信号。功率检测器742输出宽带信号的峰值功率。自动增益控制电路703降低由rf接收器电路680接收的信号的增益。自动增益控制电路703将内部信号的峰值功率与预定阈值进行比较。如果由于施加emp而在emp检测电路675处遇到故障注入,则电压毛刺超过预定峰值功率阈值,自动增益控制电路通过启动寄存器715的“置位”信号来触发寄存器715的q以寄存逻辑高电平。响应于寄存器715的q的触发,将检测信号提供给篡改响应电路635,以指示检测到故障注入。作为响应,篡改响应电路635使得能够执行保护操作。一旦在寄存器715的“复位”输入端处接收到信号,则寄存器715的q输出被设置为“0”,并且emp检测电路675被布防(arm)以继续监视故障注入。

通过检测到来自内部天线684的信号的峰值功率超过预定峰值功率阈值,emp检测电路675可靠地检测到emp的应用,并生成检测信号以防止emp破坏重要操作,例如密码认证操作,从而防止集成电路被入侵。注意,放大器701、功率检测器742和agc控制电路703形成包括在rf接收器电路680中用于正常操作模式的agc环路,并且rf接收器电路680仅利用少量的添加硬件就能够在安全模式下检测从内部天线684接收的emp。在另一个实施例中,自动增益控制电路703可以监测施加到在内部天线684处接收到的信号上的增益的动态行为。增益的快速降低表示检测到emp的上升沿。因此,当增益随时间降低的速率超过增益降低阈值时,自动增益控制电路703检测到功率检测器742的输出的上升沿,从而触发检测信号。

在另一个实施例中,没有现有rf接收器的集成电路也可以实现emp检测机制。集成电路600将包括内部天线684,但由简单的检测电路代替rf接收器电路680。在一个特定实施例中,检测电路可以是宽带能量检测器,其由整流器和跟随的快速攻击(滤波器状态快速增加)、缓慢释放(滤波器状态缓慢衰减)滤波器来实现。诸如上面讨论的自动增益控制电路703的比较器的比较器将对滤波器的输出与预定阈值进行比较。如上所述,比较器的输出随后将像寄存器715那样设置寄存器的状态以产生检测信号。因此,通过仅添加比rf接收器电路680小得多的检测电路,集成电路可以获得该emp检测能力的益处。

图8以图形的形式示出图5的叠加视图和根据一些实施例的电磁脉冲检测电路的天线的分布。图表800包括内部天线684、集成电路832和毛刺结果820、822、824、830和834。在该实施例中,内部天线684以比整个集成电路832中的预期故障注入区域相关的预定距离小的距离分布。所形成的篡改传感器网络使得能够检测由图5中所示的故障注入分析产生的毛刺结果820、822、824、830和834。

图9以框图形式示出图8的集成电路832,其具有内部天线684和与内部天线684一起使用的连续性检查电路900。连续性检查电路900包括内部天线684、开关910和920、寄存器915、电压源930、电流表940和比较器950。如图8所示,内部天线684在集成电路832上以蛇形图案配置。连续性检查电路900位于内部天线684的第一端和第二端之间。

在安全模式下,开关910和920将连续性电路900连接到内部天线684的两端。当内部天线684无法从一端向另一端传送足够量的电流时,连续性电路900检测对内部天线684的篡改。当电压源930串联连接在内部天线684的两端之间时,电流表940测量通过内部天线684的电流。为了防止虚拟短路,电压源930具有高内阻以限制其输出电流。比较器950从电流表940接收表示流过内部天线684的电流量的电压。比较器950将电流表940的输出与标记为“vth”的阈值电压进行比较。当电流表940的输出降到vth以下时,比较器950的输出变高,并将寄存器915置位。因此,如果内部天线684被中断(例如,切断、篡改、移除或破坏),则通过电流表940的电流也被中断,由此导致将逻辑“1”提供给寄存器915的“置位”输入端。向寄存器915提供逻辑“1”触发寄存器915的输出被置位为“高”,导致寄存器915向篡改响应电路635提供标记为“continuityfail(连续性失败)”的信号。因此,安全集成电路不仅包括连接到现有的rf接收器的输入端以检测高能量emp的内部天线,而且还检测由于尝试使内部emp检测机制失效而导致的内部天线的连续性丧失。

在一个特定实施例中,具有连续性电路的集成电路可以如下方式制造。首先,布置集成电路以形成诸如集成电路布局832的布局。通常,集成电路设计者将集成电路的网表提供给商业上可用的布局布线工具,该布局布线工具自动布局集成电路中的电子组件以满足时序要求。然而,设计者将内部天线684的期望位置指示给布置布线工具。该方法包括定义内部天线684用的路线,使得集成电路600上的所有点在内部天线684的预定距离内。该方法包括将来自篡改响应电路635的输入连接到寄存器915和寄存器715的复位输入端。该方法包括在集成电路600上以蛇形图案分布内部天线684,并且在内部天线684的第一端和第二端之间放置连续性电路900。该方法包括将连续性电路900和emp检测电路675的输出端连接到篡改响应电路635。

其次,根据布局来制造集成电路。制造可以使用用于互补金属氧化物半导体(cmos)芯片的常规集成电路制造工艺来执行。制造工艺包括诸如掺杂半导体晶片以形成晶体管的有源区、图案化和刻蚀栅电极和电互连结构、抛光各层以平坦化、测试完成的集成电路裸片、将集成电路裸片封装在集成电路中来安装到印刷电路板上等步骤。

以上公开的主题旨在被认为是说明性而不是限制性的,并且所附权利要求旨在覆盖落入权利要求书的真实范围中的所有此类修改、加强以及其它实施例。在一个实施例中,基本的篡改传感器电路包括保持时间违规检测电路和建立时间违规检测电路。每个电路分别检测触发低保持时间违规或低建立时间违规的相应故障注入。在一个示例中,建立时间违规电路和保持时间违规电路随机分布在集成电路上在另一个示例中,策略性地放置建立时间违规电路和保持时间违规电路以确保集成电路上指定元件的安全。在替代实施例中,篡改传感器电路包括建立时间违规电路与保持时间违规电路的成对集群。在又一个实施例中,篡改传感器电路利用四个集群。因此,为了获得法律允许的最大范围,本发明的范围将由所附权利要求和它们的等价物所允许的最宽泛解释来确定,而且不应当受以上详细描述约束或限制。

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