用于数据处理的方法和装置制造方法及图纸

技术编号:9406046 阅读:122 留言:0更新日期:2013-12-05 06:04
本发明专利技术涉及一种用于在处理器2中处理程序的指令的工作序列的方法,其中,每个指令由所分配的指令码来代表,该指令码包括一个能由处理器2处理的实施步骤或多个能依次地由处理器处理的实施步骤i1...ix...in,该方法具有以下步骤:计算实际签名值ISSx,该实际签名值被分配给代表工作序列的指令的指令码的实施步骤的当前实施步骤ix;根据地址值VAx计算被分配给当前实施步骤ix的额定签名值Ca(VAx);以及如果实际签名值ISSx与额定签名值Ca(VAx)不一致,则放弃至少一个等待直接实施的和/或等待间接实施的实施步骤。

【技术实现步骤摘要】
用于数据处理的方法和装置
本专利技术涉及:一种用于处理数据的方法,该方法包括针对不正确的实施行为的保护;一种用于执行第一方法的第一计算机程序;一种用于提供指令码的方法;一种用于生成计算机程序的编译产品;以及还涉及一种电路,该电路设置用于在应用针对不正确的实施行为的保护的情况下处理数据。
技术介绍
DE19834486A1公开了一种保证安全地执行指令的方法,在该方法中,将位于程序运行的预先给定的位置处的签名寄存器的内容与包含在程序的指令中的预先给定的值相比较。Namjoo(“VLSI处理器运行的同时测试技术”,IEEE测试会议,1982,461-468)公开了一种用于识别处理器所处理的程序的运行中的错误的方法,在该方法中,对与处理器的处理步骤的运行的或类型的变化相关的路径签名(“pathsignature”)进行分析。
技术实现思路
本专利技术改进了处理器对主动攻击的抵抗能力。本专利技术基于以下想法:一种被执行以满足预先给定的函数的方法,倘若该方法没有按照预计那般执行,则添加至少一个额外的步骤。按照可能的方式,该额外的步骤在此本身并不为满足方法的函数做出任何贡献。在将该方法作为计算机程序在计算机中实施的情况下,例如,利用该方法的每个步骤对寄存器进行更新并且在执行额外的步骤时将寄存器的实际值与按预计地执行方法的情况下所期望得到的值进行比较。下面在不同方面阐述本专利技术。描述了本专利技术的实施方式。只要说明书中没有另行指出,那么本专利技术的不同的实施方式的特征是可以相互组合的在一方面,本专利技术包括用于在处理器中处理程序的指令的工作序列的方法。每个指令由所分配的指令码(也称操作码或短操作码)来代表。例如,通过汇编语言或机器语言来表达指令并且通过字节码来代表。在一种实施方式中,将在处理工作序列时所执行的操作分配给一个指令。在一种实施方式中,将被实施用来执行操作的多个指令分配给操作。在一种实施方式中,指令码包括一个或多个能依次地由处理器处理的实施步骤。该方法包括计算实际签名值。实际签名值被分配给代表工作序列的指令的指令码的实施步骤的当前实施步骤。当前实施步骤将当前指令定义为一个指令,该指令的指令码包括当前实施步骤。该方法还包括:根据地址值计算额定签名值。该额定签名值被分配给当前实施步骤。根据地址值计算额定签名值意味着,地址值会影响额定签名值。例如,额定签名值相应于地址值。例如,额定签名值相应于二进制数,该二进制数的位置相应于每个被挑选出来的地址位置。额定签名值的计算可能要额外地考虑一个或多个其它的相关性。在一种实施方式中,借助额定签名函数通过映射(Abbildung)地址值来计算额定签名值。在这个实施方式中,该方法将额定签名函数应用于例如被分配给当前指令的地址,从而计算被分配给当前指令的额定签名的值。由此那些地址确定存储了代表指令的代码的额定签名的值。该方法的一个实施方式包括:如果实际签名值与额定签名值不一致,则放弃至少一个等待直接实施的和/或间接实施的实施步骤。倘若要使等待直接实施的实施步骤得到实施的话,那么在此期间在不实施其它实施步骤的情况下,在当前实施步骤之后进行该实施步骤。倘若要是等待间接实施的实施步骤得到实施的话,那么最早在实施完当前实施步骤之后,然后在实施完等待直接实施的实施步骤之后再进行该实施步骤。该方法的一种实施方式包括:只要满足了预先给定的条件便执行等待直接实施的实施步骤。该预先给定的条件例如在实际签名值与被分配给当前实施步骤的额定签名值相一致的情况下成立。该方法的一种实施方式包括:将实际签名值与额定签名值相互比较,从而确定是否满足预先给定的条件。在一种实施方式中以隐含的方式实现了比较,为此,如果未满足预先给定的条件,那么根据实际签名值对存储寄存器进行访问,尤其是直接的访问将导致运行中止和/或运行中断。在该方法的一种实施方式中,当前实施步骤本身构成等待实施的实施步骤。在另一种实施方式中,直接跟在当前实施步骤之后的实施步骤构成了等待实施的实施步骤。在一种实施方式中,一个或多个指令的实施步骤例如在一个所谓的相位管(Phasenpipeline)中被布置成能连续地处理的实施步骤,并且由此在一定程度上被排成一行。假如在一种实施方式中在相位管中存在当前实施步骤,那么由此例如,直接跟在相位管中的当前实施步骤之后的实施步骤构成等待实施的实施步骤。在一种实施方式中,从当前实施步骤开始,根据预先给定的规则所确定的实施步骤构成了等待实施的实施步骤。在一种实施方式中,根据签名变化值计算实际签名值。该签名变化值可以是固定地预先给定的。根据签名变化值计算实际签名值意味着,签名变化值会影响实际签名值。根据本专利技术的方法的一种实施方式包括:如果实际签名值与额定签名值不一致,则设置据此中断或中止工作序列的处理的信号。该信号在本专利技术的一个实施方式中的作用在于:在不将处理器置于不受限制的状态下尽可能迅速地中断工作序列的处理。尤其是在本专利技术的一个实施方式中,信号使得工作序列的处理被中断。例如,程序运行包括直接在实施当前指令之后跳跃到一个使得处理器回到预先给定的初始状态中的子程序中。一种实施方式包括:如果满足预先给定的条件,则设置据此继续进行工作序列的处理的信号。在根据本专利技术的方法的一个实施方式中,与代表指令的指令码的实施步骤的数量无关地,为每个指令仅仅计算一个实际签名值。在一种实施方式中,对于与代表指令的指令码的实施步骤的数量无关的指令而言,仅仅将实际签名值与额定签名值进行一次比较。在一种实施方式中,该方法具有至少一个签名实施步骤。如果当前实施步骤被评定为签名实施步骤,则仅仅将实际签名值与额定签名值相互比较。一种实施方式包括一次检验,尤其是一次预检,检验当前实施步骤是否被评定为签名实施步骤。在一种实施方式中,根据本专利技术的方法包括将被分配给工作序列的指令的指令码存储在存储器中,尤其是存储在程序存储器中。在一种实施方式中,代表当前指令的指令码已被和/或正被写入到位于具有地址值的地址处的存储器中。在一种实施方式中,代表当前指令的指令码已被和/或正被存储在位于具有地址值的地址处的存储器中。在根据本专利技术的方法的一个实施方式中,直接为实体存储器(也称“物理存储器”)写地址。实体存储器的地址与已被和/或正被存储的当前实施步骤或当前指令的指令码在实体存储器中的位置相符。在根据本专利技术的方法的一个实施方式中,使用了逻辑存储器(也称“虚拟存储器”)。例如,分配函数将逻辑存储器的地址映射到实体存储器的地址上。在根据本专利技术的方法的一种实施方式中,在实施指令时计算实际签名值。在一种实施方式中,代表了指令的代码确定出实际签名值。例如,该方法将实际签名函数应用于当前指令,从而计算从属于当前指令的指令签名的值。在一种实施方式中,通过指令所触发的控制信号确定了实际签名值的值。在一种实施方式中,借助实际签名函数通过映射计算实际签名值。在一种实施方式中,实际签名函数考虑到了已经计算出的实际签名值。例如,在应用工作序列签名函数的情况下增量地和/或递归地计算实际签名值。已经计算出的实际签名值、尤其是上一次计算出的实际签名值将被投入到例如实际签名值的计算中。在一种实施方式中,工作序列具有子工作序列(Unterarbeitssequenz)。在这种实施方式中,该方法包括一个或多个以下步骤:-从实际本文档来自技高网...
用于数据处理的方法和装置

【技术保护点】
一种用于在处理器(2)中处理程序的指令的工作序列的方法,其中,每个指令由所分配的指令码来代表,所述指令码包括一个能由所述处理器(2)处理的实施步骤或多个能依次地由所述处理器处理的实施步骤(i1...ix...in),所述方法具有以下步骤:?计算实际签名值(ISSx),所述实际签名值被分配给代表所述工作序列的所述指令的所述指令码的所述实施步骤的当前实施步骤(ix);?根据地址值(VAx)计算被分配给所述当前实施步骤(ix)的额定签名值(Ca(VAx));以及?如果所述实际签名值(ISSx)与所述额定签名值(Ca(VAx))不一致,则放弃至少一个等待直接实施的和/或等待间接实施的实施步骤。

【技术特征摘要】
2012.05.22 DE 102012010102.31.一种用于在处理器(2)中处理程序的指令的工作序列的方法,其中,每个指令由所分配的指令码来代表,所述指令码包括一个能由所述处理器(2)处理的实施步骤或多个能依次地由所述处理器处理的实施步骤(i1...ix...in),所述方法具有以下步骤:-计算实际签名值(ISSx),所述实际签名值被分配给代表所述工作序列的所述指令的所述指令码的所述实施步骤的当前实施步骤(ix);-根据地址值(VAx)计算被分配给所述当前实施步骤(ix)的额定签名值(Ca(VAx));-如果所述实际签名值(ISSx)与所述额定签名值(Ca(VAx))不一致,则放弃至少一个等待直接实施的和/或等待间接实施的实施步骤;-检验当前指令(ISSC)和/或所述当前实施步骤是否被评定为签名指令或签名实施步骤,以及-如果所述当前指令(ISSC)和/或所述当前实施步骤被评定,则执行实际签名值(ISSISSC)与额定签名值(Ca(VA4))的比较。2.根据权利要求1所述的方法,其特征在于:-仅当所述实际签名值(ISSx)与所述额定签名值(Ca(VAx))一致时,才实施所述等待直接实施的实施步骤。3.根据权利要求1或2所述的方法,其特征在于,所述地址值(VAx)相应于所述当前实施步骤的地址,并且所述额定签名值的计算包括:-确定所述当前实施步骤(ix)的地址。4.根据权利要求1或2所述的方法,其特征在于,根据签名变化值(mISSI)计算所述实际签名值(ISSx)。5.根据权利要求3所述的方法,其特征在于,根据签名变化值(mISSI)计算所述实际签名值(ISSx)。6.根据权利要求1或2所述的方法,其特征在于:-如果所述实际签名值(ISSx)与所述额定签名值(Ca(VAx))不一致,则设置据此中断所述工作序列的处理的信号,或设置据此中止所述工作序列的处理的信号。7.根据权利要求5所述的方法,其特征在于:-如果所述实际签名值(ISSx)与所述额定签名值(Ca(VAx))不一致,则设置据此中断所述工作序列的处理的信号,或设置据此中止所述工作序列的处理的信号。8.根据权利要求1或2所述的方法,其特征在于,与代表所述指令的所述指令码的所述实施步骤(i1...ix...in)的数量(n)无关地,为每个指令仅仅计算一个唯一的额定签名值(Ca(VAx))。9.根据权利要求7所述的方法,其特征在于,与代表所述指令的所述指令码的所述实施步骤(i1...ix...in)的数量(n)无关地,为每个指令仅仅计算一个唯一的额定签名值(Ca(VAx))。10.根据权利要求1或2所述的方法,其特征在于,与代表所述指令的所述指令码的所述实施步骤(i1...ix...in)的数量(n)无关地,为每个指令最多进行唯一一次实际签名值(ISSx)与额定签名值(Ca(VAx))的比较。11.根据权利要求9所述的方法,其特征在于,与代表所述指令的所述指令码的所述实施步骤(i1...ix...in)的数量(n)无关地,为每个指令最多进行唯一一次实际签名值(ISSx)与额定签名值(Ca(VAx))的比较。12.根据权利要求1或2所述的方法,其特征在于:-在借助地址值识别的地址处从存储器(4)中读出代表所述当前指令的指令码。13.根据权利要求11所述的方法,其特征在于:-在借助地址值识别的地址处从存储器(4)中读出代表所述当前指令的指令码。14.根据权利要求1或2所述的方法,其特征在于,借助工作序列签名函数(M)通过映射计算所述实际签名值(ISSx)。15.根据权利要求13所述的方法,其特征在于,借助工作序列签名函数(M)通过映射计算所述实际签名值(ISSx)。16.根据权利要求15所述的方法,其特征在于,所述映射(M)考虑到了已经计算出的实际签名值(ISSx-1)。17.根据权利要求1或2所述的方法,其中,所述工作序列具有子工作序列(ISSU...i11...ISSC...i12...),其特征在于:-从实际签名寄存器中读取实际签名值(ISSCALL);-在第一签名值存储器地址处写入所述实际签名值(ISSCALL);-实施所述子工作序列(ISSU...i11...ISSC...i12...);以及-在所述第一签名值存储器地址处读取所述实际签名值(ISSCALL)并且将所述实际签名值写入到所述实际签名寄存器中。18.根据权利要求16所述的方法,其中,所述工作序列具有子工作序列(ISSU...i11...ISSC...i12...),其特征在于:-从实际签名寄存器中读取实际签名值(ISSCALL);-在第一签名值存储器地址处写入所述实际签名值(ISSCALL);-实施所述子工作序列(ISSU...i11...ISSC...i12...);以及-在所述第一签名值存储器地址处读...

【专利技术属性】
技术研发人员:奔迪特·加梅尔斯特凡·曼格德
申请(专利权)人:英飞凌科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1