CN1296819C - 便携式数据载体的控制程序执行 - Google Patents
便携式数据载体的控制程序执行 Download PDFInfo
- Publication number
- CN1296819C CN1296819C CNB028227719A CN02822771A CN1296819C CN 1296819 C CN1296819 C CN 1296819C CN B028227719 A CNB028227719 A CN B028227719A CN 02822771 A CN02822771 A CN 02822771A CN 1296819 C CN1296819 C CN 1296819C
- Authority
- CN
- China
- Prior art keywords
- counter
- program
- value
- state counter
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
Abstract
本发明涉及一种用于便携式数据载体控制程序执行的方法,其中在所执行程序(30)的每一控制部件(36.x)执行期间,为了显示所述各控制部件(36.x)的处理,改变状态计数器(ZZ)的状态。当执行使一个或多个控制部件(36.x)被跳过的跳转指令(42.x)时,改变该状态计数器(ZZ)的状态,如同执行了所跳转的控制部件(36.x)一样,并且在至少一个测试点(38),将该状态计数器(ZZ)的状态与至少一个容许值作比较。便携式数据载体具有对应特征。本发明也提供可靠保护使该便携式数据载体免受操纵,并适于在执行复杂程序中使用。
Description
技术领域
本发明一般涉及便携式数据载体的程序执行的技术领域,该数据载体包括具有至少一个程序的程序存储器和用于执行该程序的处理器内核。这类便携式数据载体具体为各种形式的芯片卡或芯片模块。具体说,本发明涉及为了检测干扰或攻击以及初始化合适错误处理的控制程序执行。
背景技术
在攻击便携式数据载体的许多技术中,由外部影响扰乱正常程序运行。这类干扰可特别由电压脉冲、热或冷的效果、电或磁场、电磁波或粒子辐射引起。例如,可能通过在该便携式数据载体的暴露的半导体芯片上的闪光来操纵处理器内核中的寄存器内容。程序计数器可潜在地被这样的光攻击修改,使得该便携式数据载体从输入/输出缓冲器发射与其中存储的程序相反的秘密数据。
根据欧洲专利申请EP 1056012A2可得知一种用于控制车辆中门锁电动机的装置,其中控制处理器一个接一个地执行多个子程序,在每一子程序之后计数器减1。在执行子程序之后,检查该计数器状态是否对应于子程序的数目。
然而,该公知装置仅涉及固定安装在车辆上的系统。并不考虑尤其在便携式数据载体中的更一般的用途。而且,该装置中仅提供所有子程序的严格连续的顺序。所以从EP 1056012A2得知的教导不适于其中任意跳过单个子程序的更复杂应用。
发明内容
因此本发明要解决的技术问题是至少部分避免现有技术的问题,并创建一种便携式数据载体的控制程序执行的方法以及一种便携式数据载体,其提供可靠保护使程序计数器的值免受操纵,并适于在执行复杂程序中使用。在优选实施例中将实现具有低花费的高保护。
根据本发明,由具有权利要求1的特征的方法和具有权利要求10的特征的便携式数据载体全部或部分解决该技术问题。从属权利要求涉及本发明的优选实施例。
本发明源自控制由程序执行期间随之变化的状态计数器运行的校正程序的基本概念。该程序具有多个控制部件,其处理在每一情况下都引起该状态计数器的改变。所述控制部件不需要与子程序或程序模块一致。在该程序的至少一个测试点,将该状态计数器的读数与一个或多个容许值作比较,并在有差别的情况下进行合适的错误处理。
根据本发明,至少提供包括至少一个跳转指令的程序的可能性,通过该跳转指令,跳过一个或多个控制部件并因此不再执行。在该情况下,结合该跳转指令的执行改变该状态计数器的读数,如同已执行了所跳过的控制部件一样。然后在随后及时地独立于跳转指令的执行来测试该状态计数器的值。因此可相当大地增加将执行程序的配置的灵活性,而不必作出对安全性的限制。
该状态计数器可配置为便携式数据载体的处理器内核中的寄存器或工作存储器中的存储区域。在本发明的优选实施例中,该状态计数器配置为差别状态计数器,其中的值由根据称为基本计数器和有效计数器的硬件实现的两个计数器之间的差值产生。因此在前进程序运行期间,防止该状态计数器恒定地呈现同一顺序的值。所以差别状态计数器的使用使得所使用的方法更难被辨认,并增加了其安全性。基本计数器最好定期初始化,因为其被设置为有效计数器的相应读数。
原则上,将执行的程序结构不受到任何限制。在特别设想为芯片卡或芯片模块的优选配置中,该程序的基本结构为一个循环,然而包括开始部件、多个控制部件和动作部件。
优选的,该开始部件引起外部命令的读入,该控制部件涉及该命令的处理,并在动作部件中发出响应。在该情况下,测试点或当存在多个测试点时的多个测试点之一最好位于最后的控制部件和该动作部件之间,从而仅当状态计数器的测试还没有导致任何干扰程序执行的表示时才发出该响应。本发明的优选实施例的总特征与所述程序结构无关,在于在该便携式数据载体的每一面向外部动作之前提供一个测试点。
该程序最好包括一个接一个执行的一个或多个模块,所述模块的每一个依次包括至少一个控制部件。在一些实施例中,每一模块包括正好一个控制部件和可选地包括测试,测试将执行还是跳过随后的模块。在其他实施例中,模块中的至少一些包括多个控制部件。
如果将至少一个模块配置为具有至少一个模块内部测试点的控制模块,则进一步提高监视程度。可调查自程序执行开始以来或自所述循环当前执行开始以来的状态计数器的值是否与该模块内部测试点的一个或多个预定值一致,或可测试自该模块执行开始以来的状态计数器的改变。在第二种情况下,最好在该模块中的状态计数器的第一次改变之前,将该状态计数器的读数或与其关联的值,例如有效计数器的状态缓存在局部基本计数器中。
可类似地在模块或部件内的其他配置中引入局部计数器,该计数器独立于全局状态计数器地监视该模块或部件内运行的校正程序运行。可结合全局状态计数器根据上述技术配置该局部计数器,可以具体构造为差别局部计数器。
通过其可跳过控制部件的每一跳转指令最好与对应命令配对,以改变状态计数器。然而,本发明也提供其中单个跳转指令不伴随状态计数器改变的配置。在该情况下,通常在该一个或多个测试点定义多个容许计数器状态。但是,因为该测量降低了监视精度,所以最好仅用于所述局部状态计数器。
根据本发明的便携式数据载体最好构造为芯片卡或芯片模块。在优选配置中,其具有与上述对应的特征和/或在从属方法权利要求中提及的特征。
附图说明
根据以下对多个实施例和替换实施例的具体描述,本发明的其他特点、优点和目的将更清楚。参考附图,其中:
图1是根据本发明一个实施例的便携式数据载体的功能单元的方框图;
图2是图1的实施例中运行的程序的流程图;
图3是图2的配置变更的流程图;
图4是根据图2的另一个配置变更的控制模块中运行的程序的流程图;和
图5是在包括多个控制子部件的部件中运行的程序的流程图。
具体实施方式
在本实施例中将图1中示出的便携式数据载体10构建为芯片卡。其具有与环境进行不接触或接触的数据交换的接口12、具有程序计数器16的处理器内核14和存储器18。通常处理器内核14、存储器18和接口12的组件集成在单一的半导体芯片中。
存储器18具有多个用不同存储器技术配置的区域。在图1的实施例中,存在配置为例如掩模编程ROM的只读存储器20、以FLASH技术配置的非易失性读写存储器22和配置为RAM(随机存取存储器)的易失性读写存储器24。按照概念,该存储器18包括位于区域20和22中的程序存储器26以及位于区域22和24中的工作存储器28。
程序存储器26包括多个程序,其中一个如图1所示并标以附图标记30。多个计数器32的存储位置保留在工作存储器28中,具体地说,这些计数器是图2实施例中的状态计数器ZZ、图3实施例中的有效计数器AZ和基本计数器BZ、图4修改中的状态计数器ZZ和局部基本计数器LBZ、图5修改中的状态计数器ZZ和局部计数器LZ。在替换配置中,这些计数器也能全部或部分配置为处理器内核14的寄存器而不在工作存储器28中,或存储在图1中未示出的便携式数据载体10的其他单元中。
在本实施例中,可由引导到该半导体芯片的闪光影响该处理器内核14的程序计数器16。尽管如此,为了排除由此产生的对处理器内核中管理的数据的潜在攻击,根据图2的程序运行中的状态计数器ZZ作为与程序计数器16无关的控制机制,在程序运行期间随之变化,并在每种情况下测试是否与执行针对外部的动作之前的预定计数器状态一致。
在图2的实施例中,程序30具有无限循环的结构,该结构包括开始部件34,多个控制部件36.1、36.2、...、36.N,此后全部用36.x标明,测试点38和动作部件40。将由便携式数据载体10处理的命令例如在开始部件34中通过接口12读入。该控制部件36.x涉及一个接一个执行的命令的处理阶段,其中例如首先测试命令的有效性,接着进行许可测试,然后进行命令的可执行测试,例如测试是否存在请求数据,最后执行该命令,例如将请求数据写入输出缓冲器。在本实施例中,在动作部件40将通过接口12发送响应,作为结果,表明命令的执行成功还是执行失败。
在通过以上例子引证的单独控制部件36.x的功能中可能发生错误情况,使得在程序运行中执行随后的控制部件36.x多余。例如如果因缺少许可而不能执行命令,则后面的处理步骤都是多余的。所以存在退出跳转测试42.1、42.2等,以下全部用42.x标明,其中检查以规定次序跟随的控制部件36.x将被执行还是跳过。每一退出跳转测试42.x是一种测试退出跳转标记值的条件跳转指令。由各在前控制部件36.x依次设置该退出跳转标记,以表明应发生退出跳转。当然,仅当该退出跳转标记值可在控制部件36.x中改变时,退出跳转测试42.x才需要与该控制部件36.x关联。
为了独立于程序计数器16的状态来检查程序运行,并因此能识别光攻击,使用状态计数器ZZ。由初始化指令44结合开始部件34的执行而将该状态计数器ZZ设置为初始值。在图2的实施例中,该值为零。每一控制部件36.x也包括其中改变了状态计数器ZZ的指令46.x,即在本实施例中增加一个单位。仅当各部件36.x执行的操作已完成时,才在每一控制部件36.x内执行该指令46.x。该指令46.x最好是每一情况下每一控制部件36.x的最后命令。
因此总的来说,假设没有跳转发生,状态计数器ZZ在程序运行期间包括与执行的控制部件36.x的数量对应的值。以图2的示例顺序,由值N标明该数量。所以在测试点38发生测试48,其中确定该状态计数器ZZ的读数是否具有单一容许值N。如果是这种情况,则执行动作部件40。如果该状态计数器ZZ具有不同值,则程序执行分支到错误处理程序50。
该便携式数据载体10的全面复位或甚至随着错误的反复发生而出现的例如该便携式数据载体10的阻塞可作为错误处理50发生。也可通过接口12发送合适的错误消息。在任何情况下,该错误处理50应保证已为输出而潜在提供的该便携式数据载体10的数据没有经由接口12传递到外部。
根据前述顺序,如果退出跳转测试42.x之一已引起越过一个或多个控制部件36.6的跳转,则该状态计数器ZZ将不具有容许值N。为了确保校正程序即使在该情况下仍工作,只要由于退出跳转测试42.x而跳过控制部件36.x,就执行对应校正指令52.1、52.2,以下统称52.x。在任何校正指令52.x中都改变状态计数器ZZ,如同已执行了该跳过的控制部件36.x。在当前情况下,在每一校正指令52.x中,将状态计数器ZZ增加所跳过的部件36.x的数目。所以即使在循环执行期间已发生退出跳转,但到达测试点38时,状态计数器ZZ仍具有单一容许值N。
在本实施例中,状态计数器ZZ被初始化为值0,并在处理每一控制部件期间增加一个单位。在替换配置中,提供了其他初始值和/或用于改变该状态计数器的其他方法。例如,在指令44中,状态计数器ZZ可被初始化为值1或N或另一值。如果在退出跳转测试42.x之后跳过控制部件36.x,则该状态计数器ZZ也可能继续无校正地计数,而不是将值N减少所跳过部件36.x的数目。所述校正指令52.1、52.2然后为N:=1和N:=2等。在指令46.x中可执行任何数学运算,例如减去一单位或逐位移动或旋转。因此在这些情况下必须改变测试48中的容许值。
图3示出了图2的顺序的进一步变更。在工作存储器28中,该状态计数器ZZ在这里不直接实现为计数器32,而是在工作存储器28中提供了两个计数器32,即有效计数器AZ和基本计数器BZ。该状态计数器ZZ作为差别计数器的配置避免了这种情况,即程序计数器16的每一状态都对应于工作存储器28中计数器32的固定和总是相同的值。
图3所示的顺序开始于初始化步骤54,其中该有效计数器AZ被设置为开始值,在本实施例中为值0。在该初始化步骤54之后,图3中图示的程序结构与图2中的相同,因此图3和图2中使用相同的附图标记。不同之处在于在指令44中,基本计数器BZ被设置为有效计数器AZ的相应状态。所以基本计数器BZ的状态是任何循环中的“零标记”,有效计数器AZ从该状态开始计数。
根据图3,在指令46.x和52.x中按照与图2中的状态计数器ZZ相同的方式改变有效计数器AZ。最后,在测试48中将有效计数器AZ和基本计数器BZ之间的差别与容许值N作比较。在测试48的实际编程中最好避免与始终不变值N作比较,因为例如初始计算中间结果BZ+N,然后将该中间结果与有效计数器AZ的值作比较。
有效计数器AZ从循环的一次执行转到下一次执行时不复位,而是仅在指令44中再次建立由基本计数器BZ定义的“零标记”。计数器AZ和BZ的值因此在每个循环执行之间都发生改变,从而很难辨认出图3的方法。在图3的方法的更改中,可在测试48后任意复位有效计数器AZ的值。也可不时地交换工作存储器28中分别形成有效计数器AZ和基本计数器BZ的计数器32的角色。
图2和图3通过例子示出了结合两个控制部件36.1和36.2的模块56和两个分配的跳转测试42.1和42.2。图4以另一种变形示出了图2的模块56,其包括在模块56执行期间,对状态计数器ZZ中改变的附加局部检查。根据图4,为此目的,在该模块执行的开始,将状态计数器ZZ的读数保存在局部基本计数器LBZ中。
在控制部件36.1和36.2以及对应跳转测试42.1和42.2的处理之后,程序执行到达模块内部测试点60。在测试62检查,状态计数器ZZ在模块开始时保存的值LBZ的改变是否对应于同时执行的控制部件36.x的数目M。在本例中,M为值2。如果在状态计数器ZZ内的模块内部改变具有该容许值,则继续程序执行,否则执行用于错误处理64的模块内部例程。
图4的具有差别状态计数器的配置变更也可用于根据图3的方法。在该情况下,在步骤58,有效计数器AZ的值或差值AZ-BZ存储在局部基本计数器LBZ中,并且在测试62中形成该值或该差值与局部基本计数器LBZ的值之间的差值。
尽管在检查图4的模块内部改变期间全局状态计数器ZZ会增加,但也有可能在模块56或控制部件36.x中引入另一个局部状态计数器。图5示出了该配置变更的示例顺序,其中由局部状态计数器LZ再一次保护图2的控制部件36.x。
根据图5,在步骤66该局部状态计数器LZ被初始化为值0。接着执行多个、在本例中为三个,控制子部件68.1、68.2、68.3,统称为68.x。在相应指令70.x中的每一个控制子部件68.x中递增该局部计数器LZ。第二控制子部件68.2包括条件退出跳转,图5中由虚线箭头示出,通过它跳过递增步骤70.2和第三子部件68.3。
在处理了最后一个控制子部件68.3之后,程序执行到达局部测试点72。为了进行检查执行测试74,其中将局部计数器LZ的状态与容许值1和3作比较。如果与这些值中的一个一致,则用指令46.x继续该程序执行以改变全局状态计数器ZZ,否则发生错误处理76。
已结合状态计数器ZZ描述的以上变更也可能用于实现图5的局部计数器LZ。具体说,该局部计数器LZ也可形成为差别计数器。如果结合图3的配置使用图5的方法,则只需改变配置46.x。
图5图示了计数器与多个容许值之间的比较,这在没有对应校正指令52.x就提供不同程序运行路径时是很必要的。在本发明的一些实施例中,也可对于全局状态计数器ZZ使用这类与多个容许值的比较。然而,该配置降低了控制的可靠性并因此仅优选用于局部状态计数器LZ。相反,第二控制子部件68.2中的退出跳转也可通过合适的校正指令按照另一个变形运行。在该情况下,仅局部计数器LZ的单一状态,即计数器状态3,在测试74中是容许的。
Claims (10)
1.一种用于便携式数据载体(10)控制程序执行的方法,该便携式数据载体(10)包括程序存储器(26)、处理器内核(14)和至少一个状态计数器(ZZ),其中该程序存储器(26)包括可由该处理器内核(14)执行并具有多个控制部件(36.x)的至少一个程序(30),并且其中:
-在每一控制部件(36.x)执行期间,为了反映相应控制部件(36.x)的处理,改变所述状态计数器(ZZ)的读数,
-在其结果是跳过一个或多个控制部件(36.x)的跳转指令(42.x)执行期间,改变所述状态计数器(ZZ)的读数,如同已执行所跳过的控制部件(36.x)一样,和
-通过在至少一个测试点(38,60,72)将所述状态计数器(ZZ)的值与至少一个容许值作比较来测试该状态计数器(ZZ),其中如果一致,则继续该程序执行,并在有差别的情况下发生错误处理(50,64,76)。
2.根据权利要求1的方法,其特征在于,所述状态计数器(ZZ)配置为差别状态计数器,其中该计数器值对应于有效计数器(AZ)和基本计数器(BZ)的值之间的差值。
3.根据权利要求1或2的方法,其特征在于,所述程序(30)配置为包括开始部件(34)、所述多个控制部件(36.x)和动作部件(40)的循环,所述测试点(38)或测试点之一位于该最后控制部件(36.N)和动作部件(40)之间。
4.根据权利要求2的方法,其特征在于,在执行所述控制部件(36.x)之前,将所述基本计数器(BZ)设置为所述有效计数器(AZ)的相应值。
5.根据权利要求1的方法,其特征在于,所述程序(30)包括至少一个模块(56),该至少一个模块(56)包含一个或多个控制部件(36.x)。
6.根据权利要求5的方法,其特征在于,所述模块(56)是控制模块,其中在测试点(60)将该模块(56)内的状态计数器(ZZ)的改变与至少一个容许值作比较。
7.根据权利要求6的方法,其特征在于,在所述控制模块(56)中的状态计数器(ZZ)的相应第一次改变之前,将该状态计数器(ZZ)的读数或与其关联的值缓存入局部基本计数器(LBZ)中。
8.根据权利要求1的方法,其特征在于,所述控制部件(36.x)的至少一个包括多个控制子部件(68.x),在执行每一控制子部件(68.x)期间改变局部计数器(LZ)的值,以反映相应控制子部件(68.x)的处理,并且在至少一个测试点(72),将该局部计数器(LZ)的值与至少一个容许值作比较。
9.根据权利要求1的方法,其特征在于,使用该方法以抵御光攻击,其中由光的影响来操纵所述处理器内核(14)的程序计数器(16)的值。
10.一种便携式数据载体(10),具体为芯片卡或芯片模块,包括程序存储器(26)、处理器内核(14)和至少一个状态计数器(ZZ),该程序存储器(26)包括可由该处理器内核(14)执行并具有多个控制部件(36.x)的至少一个程序(30),该程序存储器(26)包括使该处理器内核(14)执行根据权利要求1至9中任一项所述方法的命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10156394.9 | 2001-11-16 | ||
DE10156394A DE10156394A1 (de) | 2001-11-16 | 2001-11-16 | Kontrollierte Programmausführung durch einen tragbaren Datenträger |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1636186A CN1636186A (zh) | 2005-07-06 |
CN1296819C true CN1296819C (zh) | 2007-01-24 |
Family
ID=7706025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028227719A Expired - Fee Related CN1296819C (zh) | 2001-11-16 | 2002-10-29 | 便携式数据载体的控制程序执行 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7441111B2 (zh) |
EP (1) | EP1449084B1 (zh) |
JP (1) | JP4708703B2 (zh) |
CN (1) | CN1296819C (zh) |
AU (1) | AU2002363665A1 (zh) |
DE (1) | DE10156394A1 (zh) |
ES (1) | ES2414435T3 (zh) |
RU (1) | RU2295756C2 (zh) |
WO (1) | WO2003042547A2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2864655B1 (fr) * | 2003-12-31 | 2006-03-24 | Trusted Logic | Procede de controle d'integrite de programmes par verification d'empreintes de traces d'execution |
DE102004021088A1 (de) * | 2004-04-29 | 2005-11-17 | Giesecke & Devrient Gmbh | Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe |
EP1605333B1 (fr) * | 2004-06-07 | 2008-12-10 | Proton World International N.V. | Contrôle de l'exécution d'un programme |
FR2886027A1 (fr) * | 2005-05-20 | 2006-11-24 | Proton World Internatinal Nv | Detection d'erreur de sequencement dans l'execution d'un programme |
JP2007004456A (ja) * | 2005-06-23 | 2007-01-11 | Toshiba Corp | 携帯可能電子装置及び携帯可能電子装置のデータ出力方法 |
GB2435531A (en) * | 2006-02-27 | 2007-08-29 | Sharp Kk | Control Flow Protection Mechanism |
JP2008152452A (ja) * | 2006-12-15 | 2008-07-03 | Toshiba Corp | 携帯可能電子装置、携帯可能電子装置の制御方法およびicカード |
DE102007015369A1 (de) * | 2006-12-29 | 2008-07-03 | Endress + Hauser Gmbh + Co. Kg | Verfahren zur Überwachung des logischen Programmablaufs von kritischen Funktionen in Programmen eines Feldgeräts der Prozess- und Automatisierungstechnik |
JP2008243097A (ja) * | 2007-03-29 | 2008-10-09 | Toshiba Corp | 情報記憶媒体 |
JP5018199B2 (ja) * | 2007-04-10 | 2012-09-05 | 大日本印刷株式会社 | 携帯用セキュリティデバイス |
DE102007038763A1 (de) * | 2007-08-16 | 2009-02-19 | Siemens Ag | Verfahren und Vorrichtung zur Sicherung eines Programms gegen eine Kontrollflussmanipulation und gegen einen fehlerhaften Programmablauf |
JP4701260B2 (ja) * | 2008-03-31 | 2011-06-15 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法、および、情報処理プログラム |
FR2990533B1 (fr) * | 2012-05-09 | 2015-02-13 | Morpho | Procede de suivi d'execution d'un logiciel et logiciel pour la mise en oeuvre du procede |
DE102013001143A1 (de) | 2013-01-23 | 2014-07-24 | Giesecke & Devrient Gmbh | Verfahren zur Ausvührung eines Programms über einen Mikroprozessor auf einem Sicherheitsmodul |
EP3040895A1 (en) * | 2014-12-30 | 2016-07-06 | Gemalto Sa | System and method for protecting a device against return-oriented programming attacks |
FR3035240B1 (fr) * | 2015-04-15 | 2018-04-06 | Rambus Inc. | Procede de securisation de l'execution d'un programme |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732272A (en) * | 1995-07-31 | 1998-03-24 | Apple Computer, Inc. | Subroutine execution time tracer |
WO2000046678A1 (en) * | 1999-02-08 | 2000-08-10 | Incert Software Corporation | A method for back tracing program execution |
WO2000054155A1 (fr) * | 1999-03-09 | 2000-09-14 | Gemplus | Procede de surveillance du deroulement d'un programme |
EP1056012A2 (en) * | 1999-05-27 | 2000-11-29 | Harness System Technologies Research, Ltd. | Apparatus for detecting abnormal execution of program |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5276852A (en) * | 1975-12-22 | 1977-06-28 | Hitachi Ltd | Error detection circuit |
JPS59200344A (ja) * | 1983-04-27 | 1984-11-13 | Hitachi Ltd | マイクロプログラム暴走検出方式 |
US4939353A (en) * | 1987-01-22 | 1990-07-03 | Kabushiki Kaisha Toshiba | Processing system for enabling data communication with a self-diagnose device |
JPH01258142A (ja) * | 1988-04-08 | 1989-10-16 | Natl Space Dev Agency Japan<Nasda> | 故障容認計算機装置 |
US5357627A (en) * | 1989-03-28 | 1994-10-18 | Olympus Optical Co., Ltd. | Microcomputer having a program correction function |
US4939393A (en) | 1989-10-02 | 1990-07-03 | Motorola Inc. | ECL to TTL/CMOS translator using a single power supply |
JPH04160642A (ja) * | 1990-10-25 | 1992-06-03 | Nec Corp | コンピュータシステム |
DE4036765A1 (de) * | 1990-11-17 | 1992-05-21 | Angewandte Digital Elektronik | Kodierte chipkartenaktivierung |
JP2752929B2 (ja) * | 1995-08-30 | 1998-05-18 | 日本電気アイシーマイコンシステム株式会社 | プログラム暴走検出装置および暴走検出方法 |
US5784607A (en) * | 1996-03-29 | 1998-07-21 | Integrated Device Technology, Inc. | Apparatus and method for exception handling during micro code string instructions |
JPH10240522A (ja) * | 1997-02-26 | 1998-09-11 | Matsushita Electric Works Ltd | 演算装置 |
JPH11184735A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | プログラム暴走検出方法および暴走検出ルーチンを含む記録媒体 |
US6148437A (en) * | 1998-05-04 | 2000-11-14 | Hewlett-Packard Company | System and method for jump-evaluated trace designation |
US6453430B1 (en) * | 1999-05-06 | 2002-09-17 | Cisco Technology, Inc. | Apparatus and methods for controlling restart conditions of a faulted process |
US6625725B1 (en) * | 1999-12-22 | 2003-09-23 | Intel Corporation | Speculative reuse of code regions |
US6915416B2 (en) * | 2000-12-28 | 2005-07-05 | Texas Instruments Incorporated | Apparatus and method for microcontroller debugging |
-
2001
- 2001-11-16 DE DE10156394A patent/DE10156394A1/de not_active Ceased
-
2002
- 2002-10-29 JP JP2003544345A patent/JP4708703B2/ja not_active Expired - Fee Related
- 2002-10-29 ES ES02790306T patent/ES2414435T3/es not_active Expired - Lifetime
- 2002-10-29 EP EP02790306.1A patent/EP1449084B1/de not_active Expired - Lifetime
- 2002-10-29 CN CNB028227719A patent/CN1296819C/zh not_active Expired - Fee Related
- 2002-10-29 RU RU2004114666/09A patent/RU2295756C2/ru not_active IP Right Cessation
- 2002-10-29 AU AU2002363665A patent/AU2002363665A1/en not_active Abandoned
- 2002-10-29 WO PCT/EP2002/012074 patent/WO2003042547A2/de active Application Filing
- 2002-10-29 US US10/495,569 patent/US7441111B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732272A (en) * | 1995-07-31 | 1998-03-24 | Apple Computer, Inc. | Subroutine execution time tracer |
WO2000046678A1 (en) * | 1999-02-08 | 2000-08-10 | Incert Software Corporation | A method for back tracing program execution |
WO2000054155A1 (fr) * | 1999-03-09 | 2000-09-14 | Gemplus | Procede de surveillance du deroulement d'un programme |
EP1056012A2 (en) * | 1999-05-27 | 2000-11-29 | Harness System Technologies Research, Ltd. | Apparatus for detecting abnormal execution of program |
Also Published As
Publication number | Publication date |
---|---|
WO2003042547A2 (de) | 2003-05-22 |
WO2003042547A3 (de) | 2004-05-27 |
JP4708703B2 (ja) | 2011-06-22 |
ES2414435T3 (es) | 2013-07-19 |
AU2002363665A1 (en) | 2003-05-26 |
DE10156394A1 (de) | 2003-06-12 |
RU2295756C2 (ru) | 2007-03-20 |
EP1449084B1 (de) | 2013-04-10 |
US7441111B2 (en) | 2008-10-21 |
RU2004114666A (ru) | 2005-10-27 |
CN1636186A (zh) | 2005-07-06 |
US20050033943A1 (en) | 2005-02-10 |
JP2005509936A (ja) | 2005-04-14 |
EP1449084A2 (de) | 2004-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1296819C (zh) | 便携式数据载体的控制程序执行 | |
US11113384B2 (en) | Stack overflow protection by monitoring addresses of a stack of multi-bit protection codes | |
US5963980A (en) | Microprocessor-based memory card that limits memory accesses by application programs and method of operation | |
CN100428165C (zh) | 用于控制子上下文之间的存储器访问的装置、系统和方法 | |
US6594550B1 (en) | Method and system for using a buffer to track robotic movement | |
US6996677B2 (en) | Method and apparatus for protecting memory stacks | |
CN1149342A (zh) | 受保护的存储器系统和方法 | |
CN1223947C (zh) | 安全存储系统及提供安全存储元件的方法 | |
US20020144141A1 (en) | Countering buffer overrun security vulnerabilities in a CPU | |
CN1713141A (zh) | 允许用户方式处理在特许执行方式下操作的方法和装置 | |
CN1243580A (zh) | 监控软件程序按规定执行的方法 | |
US7889569B2 (en) | System, method and storage medium for controlling asynchronous updates to a register | |
CN1897008A (zh) | 用于保护电子设备中的通信端口的方法和装置 | |
CN102708013A (zh) | 程序语句控制的指令流控制 | |
CN1818876A (zh) | 在微处理器实现的设备上执行进程的系统和方法 | |
CA2408522A1 (en) | Software-defined communications system execution control | |
CN100343820C (zh) | 程序处理装置 | |
JP4754635B2 (ja) | 制御フロー保護機構 | |
CN1426547A (zh) | 基于流水线体系结构的微控制器的对抗方法 | |
CN1433536A (zh) | 使用非刷新动态随机存取存储器的计算机装置 | |
US8707424B2 (en) | Method for making secure execution of a computer programme, in particular in a smart card | |
CN1592890A (zh) | 事件处理 | |
CN112970019A (zh) | 用于加强硬件辅助内存安全的装置和方法 | |
WO2020012474A1 (en) | Return-oriented programming attack protection system and method | |
CN1292132A (zh) | 载入模块式计算机程序的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180223 Address after: Munich, Germany Patentee after: Jiejia de mobile safety Co., Ltd. Address before: Munich, Germany Patentee before: Giesecke & Devrient GmbH |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070124 Termination date: 20201029 |
|
CF01 | Termination of patent right due to non-payment of annual fee |