专利名称:屏蔽电子设备终止活动转变的方法,以及包括相应控制模块的设备的制作方法
屏蔽电子设备终止活动转变的方法,以及包括相应控制模
块的设备本发明涉及一种屏蔽电子设备终止活动转变的方法,该设备包括输入/输出端 口、微处理器、随机存取存储器(RAM)、只读存储器(ROM)以及由控制模块所控制的可重编 程非易失性存储器,该可重编程非易失性存储器存储着用于该电子设备的终止活动状态变量。在非限制性实施例中,这种电子设备对应于电子卡或其它电子设备,所述其它电 子设备至少包括电子卡或与电子卡进行通信,例如,具体为抵御外部侵入需要好的安全性 的智能卡。为了确保上述电子卡具有好的安全性,就需根据检测到的某种危险错误来激活一 种终止活动转变机制。然而,用于这种类型设备的终止活动转变过程,特别是当涉及智能卡时,都会具有 一些问题,一般来说这是因为该过程依赖于对非易失性可重编程存储器的写入过程,该存 储器通常是一种电可擦除的可编程只读存储器(EEPROM),所述写入过程具有擦除数据并封 锁应用的目的。但是,这一过程容易遭受攻击,这是因为可从卡片外部检测出这一过程,具体的 是,因为在可重编程存储器的写入过程会吸取大量的电流,也是因为写入过程需要一段执 行时间。于是,不诚实的第三方会采取切断设备或卡片电源供应的方法来随意阻止这一过 程的执行。因此,本发明的一个目的是在特别是从任一第三方的能够触发该终止活动转变过 程发生事件或危险错误后,在一段随机时间中通过屏蔽的方式来完全确定这类电子设备的 终止活动转变过程,具体方式是,在非易失性存储器中写入对应于终止活动转变的操作,实 际上具有防止任意隐藏信道攻击的作用。根据一个显著的方面,本发明通过削弱在电子设备执行应用程序的正常运行中的 写入操作来屏蔽在电子设备非易失性存储器中任意写入终止活动转变变量。本发明用于屏蔽电子设备终止活动转变的方法能够应用于任意电子设备,该电子 设备包括微处理器、RAM、ROM、由控制模块控制的包含终止活动状态变量的可重编程非易失 性存储器以及输入/输出端口。该方法的显著特点在于基于该电子设备的启动,该方法它包括将终止活动状态变 量值从非易失性存储器载入RAM中,并且在微处理器执行任意当前指令之前,验证存储于 RAM中的终止活动状态变量值是否为FALSE,并根据验证给出否定的回应,执行用于电子设 备的终止活动转变操作;否则,由于存储于RAM中的终止活动状态变量值为FALSE,则电子 设备的微处理器继续初始化或执行当前指令,并根据检测出的侵入性攻击,通过仅对RAM 中的终止活动状态变量写入TRUE值来实现例示电子设备的终止活动状态变量并继续初始 化和/或执行当前指令,并将TRUE值推迟写入非易失性存储器中的终止活动状态变量,以 便执行所述写入操作的执行来替代指令中下一非易失性存储器的写入操作,从而使得终止
4活动状态变量的写入可以被屏蔽。本发明方法的显著特点还在于进一步包括在微处理器执行每个指令之前,将终 止活动状态变量值从非易失性存储器载入RAM中。本发明方法的显著特点还在于电子设备的微处理器所执行的指令集包括系统地 涉及对非易失性存储器进行写入的指令以及并不涉及非易失性存储器进行写入的指令,该 方法进一步包括,无论是否检测到侵入性攻击,都在非易失性存储器中写入虚拟字节,从而 使得在非易失性存储器中任意写入的电子设备终止活动状态变量都可得到屏蔽。优选地,在非易失性存储器中写入虚拟字节的操作是在与终止活动状态变量所占 页面相同的存储器页面中执行的。此外,在本发明方法的另一显著方面中,在非易失性存储器中写入所述虚拟字节 的操作在执行任意传输数据操作之前执行,该传输数据操作通过电子设备的输入/输出端 口线执行。根据其它显著的方面,本发明方法进一步包括继续在非易失性存储器中写入终 止活动状态变量的任意步骤,该步骤包括验证终止活动状态变量的值是否为TRUEE,并当其 值为TRUE时,包括执行用于电子设备的终止活动转变操作的步骤。在另一方面,本发明方法的显著特点是若验证出所述终止活动状态变量确实具 有TRUE值,将该终止活动状态变量的值写入非易失性存储器的操作来替代将虚拟字节写 入非易失性存储器的操作。本发明的电子设备包括微处理器、RAM、ROM、由控制模块控制用于电子设备终止活 动状态变量的可重编程非易失性存储器以及输入/输出(I/O)端口。该设备的显著特点是 所述控制模块包括用于执行本发明上述方法各个步骤的计算机程序模块。本发明用于屏蔽电子设备终止活动转变的方法以及包括相应控制模块的本发明 电子设备可应用于任意类型的电子设备,但优选和非限制的方法是,它们能够应用于例如 处理和/或存储个人、私有或私密数据的智能卡的电子设备。通过阅读下面的说明书以及观察
可更好地理解本发明的特征,附图包 括·图Ia是用于说明执行本发明方法基本步骤的流程图;·图Ib是用于说明执行图Ia所示本发明方法时所执行的各步骤的时序图; 图Ic至If示出了图Ia所示方法各步骤的执行细节;以及·图2是用于说明具有根据本发明用于控制终止活动转变模块的电子设备架构的 框图。根据本发明的用于屏蔽电子设备终止活动转变的方法的更详细的描述将参考图 Ia至If在下文中给出。一般来说,本发明用于屏蔽电子卡终止活动转变的方法能够用于任意电子设备, 所述电子设备包括微处理器、RAM、R0M以及可重编程非易失性存储器,该可重编程非易失性 存储器存储着用于电子设备的终止活动状态变量并且通过控制模块进行管理。更具体地 说,该电子设备还包括输入/输出端口,用于例如能够与主机应用或甚至与网络交换数据。 可重编程非易失性存储器的概念涵盖电可重编程存储器、EEPROM存储器、Flash存储器。在操作时,上述电子设备执行启动阶段,作为重置的回应(ATR),并且然后接着连续执行标记为COM当前指令。可以理解的是,该相应电子设备可特别优选地由例如任意智能卡构建。参考图la,本发明用于屏蔽电子设备终止活动转变的方法包括步骤A,其包括将 存储于非易失性存储器中的标记为FdVE的终止活动变量值从该非易失性存储器载入该电 子设备的RAM中。对应于步骤A的操作记为FdVE — FdVE在上述关系式中,FdVK是指载入RAM的电子设备终止活动状态变量的值。在图Ia步骤A后并且在微处理器执行任意当前指令COM之前,本发明的方法还包 括,在步骤B中,验证存储在RAM中的终止活动状态变量的值是否为FALSE。在步骤Ia的步 骤B中,该验证由测试步骤表示FDVE = NOK ?在此关系式中,NOK表示存储于RAM中的电子设备终止活动状态变量的FALSE值。若步骤B的测试给出否定的回应,则本发明的方法包括步骤C,执行用于该电子设 备的终止活动转变操作。否则,若步骤B中执行的测试给出肯定的回应,则存储于RAM的终止活动状态变量 FDVe的值为FALSE,即Ν0Κ,并且本发明的方法包括电子设备的微处理器继续初始化或执行 当前指令COM。执行当前指令对应于执行由该电子设备所执行的应用程序的任意指令。在该执行过程中,以及在步骤E检测出侵入性攻击,本发明的方法包括在步骤F 中,通过将TRUE值写入变量FdVK来例示变量FdVK,即该电子设备的终止活动状态变量;但 仅仅只在RAM中,并随后继续初始化和/或执行当前指令COM。在图Ia的步骤F中,初始化操作记为下述关系式FdVE = OK在上述关系式中,值OK表示存储在RAM中的终止活动状态变量的TURE值。最后,步骤G在上述例示步骤F之后,其包括推迟将TRUE值写入非易失性存储器 中的终止活动状态变量FdVE,使得写入操作替代在非易失性存储器中的下一写入操作。这 用来屏蔽对终止活动状态变量的写入。通常可以理解的是,在上述步骤G后,通过步骤H返回来执行下一当前指令。在步 骤H中,C0M+1表示下一指令。如图Ia中所示,仅返回步骤B以执行下一指令。然而,在本发明方法的另一可能实施方式中,如图Ia中虚线所示,可返回在步骤A 中执行的载入操作的上游,以便系统地重新执行将终止活动状态变量FdVE的值载入RAM中 的过程。然而,这一过程并不一定是必要,但其可在一可变实施例中执行。图Ib是图Ia所示步骤执行操作的时序图。具体地说,如上所述,步骤A的执行可基于启动ATR或位于执行每一指令COM之前。在继续启动之前或在图Ib中左侧倾斜阴影表示的当前指令执行之前,执行步骤B 中的测试。可想到的是,对步骤B中测试的否定回应将导致在步骤C中自动执行电子设备 的终止活动转变。
在步骤D中,继续执行的启动或初始化或试图执行当前指令实际上对应于实施维 护电子设备秘密的算法过程,例如,在该电子设备由一智能卡构建时。步骤E中的测试对应于用于检测以常规方式所实现的侵入性攻击的测试,例如, 通过执行反差分错误分析(DFA)的方法来实施该侵入性攻击,即一种包括将误差引入处理 过程以便从中推断出被处理数据信息的攻击方法,或通过执行用于验证数据完整性的过程 的攻击方法。仅通过在RAM中执行写入操作来例示电子设备终止活动状态变量的步骤,即步骤 F,是由用于控制电子设备终止活动转变的模块来执行的,并通过在上述关系式的应用中将 TRUE值写入此状态变量中执行FcIVk = OK步骤G包括更新非易失性存储器,例如,通常在EEPROM中的终止活动状态变量 FdVE,该步骤将以一种推迟的方式来执行,即替代在指令中将要执行的下一写入操作。在图Ib中,此操作由具有右侧倾斜阴影的峰表示,该右侧倾斜阴影表示由于其写 入操作而导致的上述存储器电流消耗的增加。步骤E后执行返回步骤,返回至步骤B或步骤A,正如参考图Ia所描述的那样。更具体地说,电子设备的终止活动状态变量的FALSE值,记为Ν0Κ,它具有任意数 值。与之相反,终止活动状态变量的TRUE值OK为任意数值,且不同于上述任意数值。于是,也如图Ic所示,考虑了由电子设备的微处理器所执行的任意指令集,该指 令集包括系统地涉及对非易失性存储器写入的指令(COMw)和并不涉及对非易失性存储器 写入的指令(C0Mw )。基于这一假设,本发明的方法包括,无论是否检测到侵入性攻击,都 执行将虚拟字节写入非易失性存储器中的写入操作D2,其中该虚拟字节记为DB。这用来屏 蔽在非易失性存储器中的电子设备终止活动状态变量的任何可能的写入操作。优选地,该虚拟字节DB写入与终止活动状态变量所占页面相同的存储器页面内。如图Ic所示的步骤D2中,写入相同存储器页面的写入操作由下述关系式表示WAP (DB) = WAP (FdVE)在上述关系式中,WAP表示写入存储器页面地址。在步骤D2后调用图Ia中的步骤E。此外,也如图Ic所示,在任意数据传输操作之前执行在非易失性存储器中写入虚 拟字节的操作,该数据传输操作通过电子设备的输入输出端口线执行。在图Ic中,相应的 操作由通过下述关系式检测任何输入/输出操作象征性地表示COM = I/O ?检测这一操作还导致系统地和迅速地写入虚拟字节,如说明书上文所述。最后,如图Id所示,本发明的方法优选地包括继续执行将终止活动状态变量写 入非易失性存储器的任意步骤,其由步骤G1表示,记为G2的步骤包括验证存储在RAM中的 终止活动状态变量FdVK的值是否为真。对应于上述步骤的操作记为下述关系式FdVE = OK若发现该终止活动状态变量的值为TRUE,则通过调用图Ia中所示的步骤C实施用 于电子设备的终止活动转变操作的步骤。否则,若终止活动状态变量的值不为TRUE,则返回至步骤H。
此外,也如图Ie所示,基于在步骤D21中验证出终止活动状态变量FdVK的值为真, 即根据所述测试D21的结果为肯定的回应,不再执行在非易失性存储器中写入虚拟字节DB 的操作,如图Ie中的步骤D22所示,调用图Ia中的步骤G,以便将终止活动状态变量FdVE的 值写入EEI3ROM中。本发明的方法还有可能执行错误计数器。 通常,更新错误计数器要受到与写入终止活动变量相同的限制。由于这一写入操作包括对EEPROM类型的非易失性存储器的写入,通常其是可检 测出的,这是由于当执行写入操作时由存储器消耗的额外电流。若检测出错误其并不证明是直接的终止活动转变,本发明的方法较为有利的是有 可能在执行通常的写入操作之前执行计数器。该计数器的值随后作周期性的验证,并将超 过阈值的数值用于触发终止活动转变。这一操作模式在图If中示出,如下所述基于检测I1给出指令暂时的执行错误,而不是侵入性攻击并且也并该错误不证明 是用于该电子设备的终止活动转变,其中暂时错误的检测记为3 TE ?,其中TE表示上述暂 时的执行错误,测试I1的肯定回应调用在RAM中执行错误计数器的更新步骤12。步骤I2中更新的值由下述关系式表示TE = TE+1其后执行比较步骤I3,将更新后的计数值与记为STE的阈值进行比较。在测试步骤I3中,比较操作记为TE > STE ?如图If所示,若更新的错误计数值越过了该阈值,则测试I3给出肯定的回应,将 TRUE值写入电子设备的终止活动状态变量并且通过调用步骤F以及在此之后的步骤G执行 终止活动转变。电子设备具有表示为I1的微处理器、表示为I2的RAM、表示为I3的EEPROM类型 的非易失性存储器、以及表示为I4WROM,将在下文中参考图2对该电子设备进行描述。此 外,如附图所示,该设备还包括输入/输出端口 I/O。如图2所示,电子设备在操作中具有用于所述电子设备的终止活动状态变量,记 为FdVE,并由控制模块CM管理,该控制模块可为例如植入ROMl4中的软件模块。正如以上参考附图Ia至If所描述的那样,控制模块CM包括计算机程序SCM,其实 质能够执行屏蔽电子设备终止活动转变的方法的各步骤。当然,该计算机程序模块SCM可植入EEPROM类型的非易失性存储器中,这是由于 其构建存储器介质。该计算机程序模块包括一系列可由电子设备微处理器执行的指令,并 基于上述指令的执行,执行参考图Ia至图If所述方法的各步骤。本发明用于屏蔽电子设备终止活动转变的方法已在智能卡上实施。不同于具有传 统终止活动转变过程的那些在揭示可用弱点之前都有可能重复侵入性的攻击的智能卡,由 独立可信对象在这些智能卡上进行的详细测试在所述智能卡防止终止活动转变方面还没 有成功。因此,可以预见的是本发明的方法确保了不再可能及时分辨出检测到攻击并因此 引起电子设备的终止活动转变的情况与没有检测到攻击或没有产生任何效果的情况。
8
权利要求
一种屏蔽电子设备终止活动转变的方法,其中所述电子设备包括微处理器、RAM、ROM、由控制模块控制且包括所述该电子设备终止活动状态变量的可重编程非易失性存储器以及输入/输出端口,其特征在于,所述方法基于该电子设备的启动(ATR),至少包括·载入(A)将所述终止活动状态变量值(FdVE)从所述非易失性存储器载入RAM中;以及在所述微处理器执行任意当前指令之前;·验证(B)验证存储于RAM中的所述终止活动状态变量(FdVR)的值是否为FALSE;以及,如果所述验证给出否定的回应;·执行(C)执行用于所述电子设备的终止活动转变操作;否则,存储于RAM中的所述终止活动状态变量(FdVR)的值为FALSE;·继续(D)由所述电子设备的微处理器继续初始化或执行当前指令(COM);以及,检测(E)以检测侵入性攻击;·例示(F)通过仅在RAM中的所述电子设备的终止活动状态变量(FdVR)写入TRUE值来实现例示,并继续初始化和/或执行当前指令;以及·推迟(G)将TURE值推迟写入所述非易失性存储器中的终止活动状态变量(FdVE),以便将所述写入操作的执行来替代指令中下一非易失性存储器的写入操作,从而使得所述终止活动状态变量的写入可以被屏蔽。
2.根据权利要求1的方法,其特征在于,所述电子设备的终止活动状态变量的FALSE值 (FdVE = Ν0Κ)是任意数值,并且所述电子设备的终止活动状态变量的TRUE值(FdVK = OK) 是不同于上述任意数值的其它任意数值。
3.根据前述任一权利要求的方法,其特征在于,所述电子设备的微处理器所执行的 指令集(COMe {COM^, COMi^ )包括系统地涉及对非易失性存储器写入的指令(COMw)和并不涉及非易失性存储器写入的指令( comR ),所述方法进一步包括,无论是 否检测到侵入性攻击,都在非易失性存储器中写入虚拟字节,从而使得非易失性存储器中 任意写入的电子设备终止活动状态变量都可得到屏蔽。
4.根据权利要求3的方法,其特征在于,所述方法包括将虚拟字节写入与由终止活动 状态变量所占页面相同的存储器页面中。
5.根据权利要求3或4的方法,其特征在于,所述在非易失性存储器中写入虚拟字节 的操作在执行任意传输数据操作之前执行,该传输数据操作通过微处理器电子设备的输入 /输出端口线执行。
6.根据权利要求5的方法,其特征在于,若验证出所述终止活动状态变量(FdVK)的值 为TRUE,将该终止活动状态变量(FdVE)的值写入非易失性存储器的操作来替代将所述虚拟 字节写入非易失性存储器的操作。
7.根据权利要求3至6中任一权利要求的方法,其特征在于,所述方法进一步包括,继 续在非易失性存储器中写入终止活动状态变量(FdVE)的任意步骤,该步骤包括验证存储于 RAM中的终止活动状态变量(FdVK)的值是否为TRUE,并若其值为TRUE时,执行所述电子设 备的终止活动转变操作的步骤。
8.根据前述任一权利要求的方法,其特征在于,若所述检测到指令的暂时执行错误而 不是侵入性攻击,并且该错误不证明是用于所述电子设备的终止活动转变,则所述方法进一步包括 通过递增来更新RAM中的错误计数器; 将错误计数值与阈值进行比较;并且如果所述错误计数值已超过所述阈值; 将TRUE值写入所述电子设备的终止活动状态变量并且触发电子设备终止活动转变 的执行。
9.一种电子设备包括微处理器、RAM、R0M、由控制模块控制且包括所述电子设备终止活 动状态变量(FdVE)的可重编程非易失性存储器以及输入/输出端口,其特征在于,所述控 制模块包括计算机程序模块(SCM),用于执行根据权利要求1至8中任一权利要求的各步马聚ο
10.一种计算机程序产品,存储于存储介质中并包括一系列可由计算机或电子设备的 微处理器执行的指令,其特征在于,当执行所述程序时,所述程序执行根据权利要求1至8 中任一权利要求方法的各步骤。
全文摘要
一种屏蔽微处理器电子设备的终止活动转变的方法,该电子设备包括可重编程非易失性存储器,其中该可重编程非易失性存储器包括终止活动状态变量(FdVE)。基于启动(ATR),将变量(FdVE)载入RAM中。在执行任意当前指令(COM)后,验证(B)存储于RAM中变量(FdVR)的值是否为FALSE。若回应为否定的,则执行终止活动转变(C)。否则,继续(D)初始化或执行指令(COM)。若检测(E)出侵入性攻击,通过仅对RAM中的终止活动状态变量(FdVR)写入TRUE值,以此例示终止活动状态变量,并因此推迟(G)对非易失性存储器中的变量(FdVE)写入TRUE值直到下一写入操作。本发明可应用于诸如智能卡等各种电子设备。
文档编号G06F21/55GK101925906SQ200880125618
公开日2010年12月22日 申请日期2008年11月21日 优先权日2007年11月26日
发明者帕斯卡尔·杜马斯, 赫弗·佩勒蒂厄 申请人:萨基姆安全公司