CN104919751A - 用于运行便携式数据载体的方法以及这种便携式数据载体 - Google Patents

用于运行便携式数据载体的方法以及这种便携式数据载体 Download PDF

Info

Publication number
CN104919751A
CN104919751A CN201380070545.3A CN201380070545A CN104919751A CN 104919751 A CN104919751 A CN 104919751A CN 201380070545 A CN201380070545 A CN 201380070545A CN 104919751 A CN104919751 A CN 104919751A
Authority
CN
China
Prior art keywords
school affairs
wait state
memory cell
processor unit
stochastic 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.)
Granted
Application number
CN201380070545.3A
Other languages
English (en)
Other versions
CN104919751B (zh
Inventor
T.斯托克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quartech Mobile Security LLC
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Publication of CN104919751A publication Critical patent/CN104919751A/zh
Application granted granted Critical
Publication of CN104919751B publication Critical patent/CN104919751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明基于一种基本思想,即在便携式数据载体的处理器单元的随机控制的等待时间期间并非如在现有技术中那样例如遍历其中“什么都没发生”的等待循环,而是该随机控制的等待时间被处理器单元用于检验存储在便携式处理器的存储单元上的数据是否还是完整的或者可能已经通过攻击被损坏。基于该基本思想,根据本发明的一个方面提供了一种用于借助用于处理命令的处理器单元和用于存储数据的存储单元运行便携式数据载体的方法,其中,在处理命令时,即在这些命令之间插入随机控制的等待状态,尤其以用于防范SPA/DPA攻击。该方法的特征在于,在随机控制的等待状态中关于存储单元的所选区域的数据计算实际校验和。此外还提供了这种便携式数据载体。

Description

用于运行便携式数据载体的方法以及这种便携式数据载体
技术领域
本发明涉及一种用于运行便携式数据载体的方法以及这种便携式数据载体。尤其本发明涉及一种用于运行芯片卡或芯片模块的方法以及这种芯片卡或这种芯片模块。
背景技术
具有处理器单元的芯片卡形式的便携式数据载体、也称作微处理器芯片卡或处理器芯片卡,在很多安全关键的领域中使用,例如作为证件,用于证明用户例如对于移动无线电网络的访问权限或者用于执行支付往来交易。在此,芯片卡常常结合对于相应的应用所设计的终端装置来使用,该终端装置构建为在前面的验证之后访问这种芯片卡的安全关键的数据。
在通过便携式数据载体、例如芯片卡执行安全关键的应用时,需要保护便携式数据载体和存储于其中的安全关键的数据、例如密码学密钥不受攻击和未授权的操纵。
已知不同的攻击方法,其中在程序运行期间测量便携式数据载体的物理参数以便推断在程序运行时使用的安全相关的数据、尤其是密码学密钥。例如在简单电流分析(SPA=Simple Power Analysis(简单电能分析))中测量和检查在一个程序例程运行期间便携式数据载体的电流消耗。在差分电流分析(DPA=Differential Power Analysis(差分电能分析))中相反地以统计方式评估经过许多程序流程的电流消耗。
前面提及的攻击一般地称作侧通道攻击(side channel attacks),因为信息流不是通过便携式数据载体的主通信通道进行,而是绕过其。WolfgangRankl和Wolfgang Effing所著的书“Handbuch der Chipkarten”,第5版,部分16.5给出了对在便携式数据载体情况下的不同攻击和防范方法的概览。在该部分的第756页上描述了随机控制的等待状态(“Random Wait States”,其在该文献中还称作“Random Delays”)。将这种随机控制的等待状态插入到由便携式数据载体的处理器单元待运行的例程中,例如插入到PIN例程或者加密例程中,以便抑制对于随机确定的持续时间“正常地”处理命令。在通过便携式数据载体的处理器单元处理命令时使用随机控制的等待状态使得对于电流分析所需的电流曲线的同步化变得困难。在便携式数据载体的处理器单元上可以例如借助程序循环实现这种随机控制的等待状态,在其循环体中只进行计数器递增和/或运行NOP(“no operation(无操作)”)命令。
发明内容
在该背景下,本发明基于这样的任务,即提供一种用于运行便携式数据载体的替选方法和一种相应的便携式数据载体,其尤其抵抗SPA和DPA攻击。
该任务根据本发明通过独立权利要求的主题实现。本发明的有利改进在从属权利要求中限定。
本发明基于这样的基本思想,即在随机控制的等待状态中并非如在现有技术中那样例如遍历“什么都不发生”的等待循环,而是由处理器单元将该随机控制的等待状态用于检验在便携式数据载体的存储单元上存储的数据是否还是完整的或者可能已经通过攻击被破坏了。
基于该基本思想,根据本发明的第一方面,提供了一种用于借助用于处理命令的处理器单元和用于存储数据的存储单元运行便携式数据载体的方法,其中,将随机控制的等待状态插入到命令的处理中,即插入到命令之间,尤其用于防范SPA/DPA攻击。该方法的特征在于,在随机控制的等待状态期间,由处理器关于存储单元的所选区域的数据计算实际校验和。
优选地,该方法包括将关于存储单元的所选区域的数据计算的实际校验和与用于存储单元的该所选区域的数据的期望或参考校验和相比较的另一步骤。如果实际校验和与期望校验和的比较得出实际校验和不等于期望校验和则可以禁止便携式数据载体的继续运行。优选地,在随机控制的等待状态内开始和结束关于存储单元的所选区域的数据对实际校验和的计算以及将实际校验和与期望校验和相比较的步骤。
根据本发明的优选实施形式,关于存储单元的所选区域的数据对实际校验和的计算在多于一个随机控制的等待状态上延伸。优选地,由处理器单元待处理的命令是命令例程的部分,其中,在处理了命令例程的最后一个命令之后在随机控制的等待状态、空闲状态或者具有通过处理器单元预先给定的持续时间的等待状态的范围中完成关于存储单元的所选区域的数据对实际校验和的计算。
优选地,由处理器单元基于随机控制的等待状态的持续时间来选择存储单元的所选区域,以用于关于存储于其中的数据计算实际校验和。
根据本发明的优选实施形式,将随机控制的等待状态划分为两个基本等长的区段,其中,在随机控制的等待状态的两个区段期间关于存储单元的同一所选区域的数据计算实际校验和。
优选地,实际校验和是CRC校验和或者密码学校验和,其中,在使用对称和/或非对称的加密方法的条件下产生密码学校验和,尤其基于诸如SHA-1,MD5,HMAC-SHA1,HMAC-MD5,AES-CBC-MAC等的密码学哈希函数或者基于以诸如RSA,DSA,EC-DSA等的合适的签名算法生成的签名来产生密码学校验和。
根据本发明的第二方面,提供具有处理器单元和存储单元的便携式数据载体,其构建为按照根据本发明的第一方面的前述方法来运行。优选地,便携式数据载体是芯片卡或者芯片卡模块。
本发明的一个关键优点在于,与其中“什么都不发生”并且由此具有虽不相同但很相似的电流曲线的已知随机控制的等待状态相比,根据本发明的随机控制的等待时间由于对存储单元的大小不同的不同区域的访问而引起不同的电流曲线。对于攻击者由此更难以在电流曲线中确定处理器单元何时位于随机控制的等待状态中。
附图说明
本发明的更多特征、优点和任务基于下面对多个实施例和实施替选方案的详细描述。参考附图,其中:
图1示出了与终端装置通信的、芯片卡形式的根据本发明的便携式数据载体的一个优选实施形式的示意图,
图2示意性示出了图1的芯片卡的处理器单元在使用随机控制的等待状态的条件下处理指令时的优选运行方式,以及
图3示出了根据本发明的一个优选实施形式的图2的随机控制的等待状态的示意性细节图。
具体实施方式
图1示出了芯片卡10形式的根据本发明的便携式数据载体的一个优选实施形式的示意图。芯片卡10构建为与终端装置20形式的外部实例交换数据。数据交换在此理解为信号传输、相互控制和在简单情况下还理解为芯片卡10与终端装置20之间的连接。通常,数据交换可以通过从信息论中已知的发送者-接收者模型来描述:以符号编码数据或信息并且然后将其由发送者通过传输通道传输给接收者。在此决定性的是,发送者和接收者使用同一编码,由此接收者可以理解该消息,即可以解码所接收的数据。
为了在芯片卡10与终端装置20之间进行数据传输或通信,芯片卡10以及终端装置20都具有合适的通信或IO接口12和22。IO接口12和22例如可以构建为使得在其之间或在芯片卡10与终端装置20之间的通信无线地、即通过空气接口来进行,如这在图1中表明那样。替选地,芯片卡10通过IO接口12电地、即有接触地与终端装置20的IO接口22连接。在该情况下,IO接口12通常包括布置在芯片卡10上的、具有多个接触面的接触区域,以用于与终端装置20进行数据交换。当然,本发明还包括便携式数载体,其中IO接口12不仅构建为有接触地还构建为无接触地与终端装置20通信,并且其对于本领域技术人员而言结合芯片卡作为双接口芯片卡已知。
除了用于与终端装置20通信的IO接口12之外,芯片卡形式的便携式数据载体10包括中央的处理器单元(“central processing unit”;CPU)14。已知地,属于处理器单元14的主要任务的有实施算术和逻辑函数以及读写数据,如这通过在处理器14上运行的、机器命令形式的计算机程序所定义的那样。
便携式数据载体10还包括具有易失性工作存储器(RAM)的存储单元(“memory unit”)16,例如用于容纳由处理器单元14待运行的计算机程序的机器命令。此外,存储单元16包括非易失性的、优选可重复写入的存储器。优选地,非易失性存储器是闪存(Flash-EEPROM),其可以由多个页面构成。在此,例如涉及具有NAND或NOR架构的闪存。当然,存储器16还可以包括固定值存储器(“read only memory”;ROM)。
如本领域技术人员已知那样,在处理器单元14、存储单元16、IO接口12和必要时芯片卡形式的便携式数据载体10的其它部件之间的通信可以优选通过一个或多个数据、地址和/或控制总线进行,如这在图1中通过箭头示意性表明那样。
本领域技术人员还认识到,根据本发明的便携式数据载体10还可以具有如在图1中所示的电子器件。于是,便携式数据载体10例如还具有与处理器单元14交互的用于管理存储单元16的存储器管理单元(MMU;“memory management unit”)或者用于执行密码学计算的协处理器。此外,便携式数据载体10包括UART(universal asynchronous receiver transmitter(通用异步接收器发射器)),其还可以是便携式数据载体10的IO接口12的部分。如本领域技术人员已知的那样,UART是独立于存储单元14异步工作的、用于发送和接收数据的电子器件。在UART的情况下不再需要由处理器单元14在位和字节层面上完成与终端装置20的通信。这引起通信协议的简化,并且还可以用于实现与通过处理器单元14实现的纯软件解决方案相比更高的数据传输速度。
在存储单元16的非易失性存储器中优选存储操作系统17,其在芯片卡10的工作中被处理器单元14运行,并且时而访问存储单元16,如这在图1中示意性示出那样。操作系统17尤其构建为,处理由终端装置20输入的指令,其例如具有指令APDU(command APDUs)的形式并且可以是更大例程的部分,以及建立相应的响应,并且又将响应优选以响应APDU(responseAPDU)形式传送给终端装置20。对于在APDU的结构方面的其它细节,请参见Wolfgang Rankl和Wolfgang Effing所著的书“Handbuch der Chipkarten”,第5版,由此通过引用将其完全包含于此。
图2示出了在由芯片卡10的处理器单元14处理分别可以是宽泛的例程的部分的指令或命令时,芯片卡10的根据本发明优选的工作方式的示意图。在此,在时间轴上示出三个不同的状态,处理器单元14可以位于其中,并且更确切而言位于状态“正常”指令处理中,位于随机控制的等待状态(“Random Wait State”)中或者位于空闲状态(“Idle State”)中。
在图2中,处理器单元14示例性地由此开始处理为例程A的部分的指令A1,其中例如可以涉及PIN例程或者加密例程。指令A1可以基于源自终端装置20的指令APDU。替选地或附加地,指令A1或例程A可以是在便携式数据载体10上运行的应用程序的部分。
在处理指令A1之后,处理器单元14进入随机控制的等待状态WS1,其中,随机确定等待状态的持续时间。如之前描述那样,这种随机控制的等待状态尤其用于使得SPA/DPA攻击扑空,因为由于等待状态的随机的、不能预测的持续时间而无法同步化不同的电流曲线和借助统计方法推断出包含在处理中的数据。随机控制的等待状态在防御SPA/DPA攻击方面的使用对于本领域技术人员基本上已知。从而不必描述其细节。
根据本发明现在设有,在随机控制的等待状态WS1期间并非如在现有技术中那样由处理器单元14遍历其中“什么都不发生的”等待循环,而是随机控制的等待状态WS1被处理器单元14用于执行对于对便携式数据载体10的潜在攻击的至少一个其它防御措施。
优选地,随机控制的等待状态WS1用于检查存储在存储单元16上的数据是否还是完整的或者可能通过攻击已经被破坏了。为此首先选择存储单元16的待检查区域,例如存储单元16的其中存储了安全关键的数据的区域,并且借助存储在那里的数据来计算实际校验和。如这对于本领域技术人员已知那样,可以借助将这样确定的实际校验和与在更早的时刻基于相同的数据计算的期望校验和相比较来检查数据是否被改变了。如果实际校验和与期望校验和不同,则这可以指示攻击,在所述攻击中在存储单元16的所检查的区域中存储的数据已经被破坏,方法是,例如一个或多个位被取反,这对于本领域技术人员还已知为位取反(Bit-Flip)。根据本发明的优选实施形式,可以在便携式数据载体10的初始化或个性化时建立在存储单元16的所选区域上的期望校验和并且将其存储在存储单元16中。在来自存储单元16的所选区域的数据的实际校验和与期望校验和之间的比较还可以在随机控制的等待状态WS1期间进行。
在图2的示例性示意图中,随机控制的等待状态WS1之后是由处理器单元14待处理的指令A2,其之后又有另一随机控制的等待状态,即随机控制的等待状态WS2。如在随机控制的等待状态WS1中那样,随机控制的等待状态WS2的、在图2中示例性地比随机控制的等待状态WS1的持续时间略长的持续时间也是基于随机数的。根据本发明,还将该另一随机控制的等待状态WS2用于检查在存储单元16的所选区域中存储的数据是否还是完整的或者可能已经通过攻击被破坏了,方法是,关于存储单元16的所选区域的数据形成实际校验和,并且将其与期望校验和相比较。随机控制的等待状态WS2之后又有由处理器单元14待处理的指令,即指令A3,以对该指令的处理来结束该示例性的例程A。
根据本发明的优选实施形式,实际校验和的各个计算和与相应的期望校验和的各个比较可以在随机控制的等待状态WS1和WS2中彼此独立地进行,即在随机控制的等待状态WS1中可以关于存储单元16的第一所选区域的数据形成实际校验和并且与相应的期望校验和相比较,而在随机控制的等待状态WS2期间可以关于存储单元16的与存储单元16的第一所选区域不同的第二所选区域的数据形成另一实际校验和,并且与相应的期望校验和相比较。
替选地根据本发明可以设有,关于存储单元16的连贯的区域执行在随机控制的等待状态WS1和WS2中的对实际校验和的计算。换言之:以随机控制的等待状态WS1开始的、关于存储单元16的所选区域的校验和计算的中间结果可以在随机控制的等待状态WS1末尾被存储,并且实际校验和的计算可以基于该中间结果在以接下来的随机控制的等待状态WS2处理指令A2之后又进行,而其间优选又进行与相应的期望校验和的比较。当然,根据本发明,校验和计算和与期望校验和的比较还可以在多于两个随机控制的等待状态上延伸。
因为在例程开始时会出现的是,不清楚在例程中出现多少随机控制的等待状态和它们持续多久,所以可能发生的是,添加到例程中的随机控制的等待状态不足以完全完成关于存储单元16的所选区域的校验和计算,例如因为存储单元16的所选区域太大。为了避免对校验计算的中间结果的存储超出由处理器单元14处理的例程,根据本发明的优选实施形式可能的是,在所处理的例程之后执行校验和计算的其余部分(以及与相应的期望校验和的比较)。为此例如将处理器单元14构建为将另一随机控制的等待状态附于所处理的例程,如这在图2中示例性地借助例程B和等待状态WS4示出那样。
在图2中示出的例程B中,处理器单元14在处理了第一指令B1之后进入随机控制的等待状态WS3,并且开始关于存储单元16的所选区域计算实际校验和。如果随机控制的等待状态WS3结束并且处理器单元14开始处理指令B2,则中断实际校验和的计算。可以中间存储中间结果,例如以如下形式:实际校验和的至今确定的值以及关于计算进展如何的信息,例如进入校验和计算的最后的数据元素的地址。虽然处理器单元14还以对指令B2的处理结束了图2中示出的示例例程B的处理,但是在随机控制的等待状态WS3中开始的校验和计算并未结束。因此在这种情况下根据本发明设有,在指令B2的处理和由此例程B之后接有另一随机控制的等待状态WS4,在其之内完成关于存储单元18的所选区域的还未被考虑的数据的校验和计算,并且可以执行与相应的期望校验和的比较。
如之前描述的,等待状态WS4的持续时间根据本发明可以是随机的。替选地,等待状态WS4的持续时间可以由处理器单元14确定,即,其例如并非由随机数生成器预先给定为随机数,而是由处理器单元14例如基于存储单元16的所选区域的至今还未进入校验和计算的数据集来确定的。如本领域技术人员已知那样,这样由处理器单元14确定的等待状态WS4的持续时间在每次处理例程B时是不等大的,因为随机控制的等待状态WS3的持续时间在每次处理时也是不等大的。
根据本发明的另一替选方案,处理器单元14在处理了指令B2之后不是进入随机控制的等待状态WS4,而是也进入空闲状态(“Idle State”),以便结束对实际校验和的计算并且将其与相应的期望校验和相比较,如这在图2中示意性地通过虚线的空闲状态IS2示出那样。空闲状态(“Idle State”)的特征在于,一旦有新指令等候被处理,就又离开该空闲状态,就是说,在该状态中芯片10通常等待来自终端装置20的指令。根据本发明同样可以将在图2中示出的空闲状态IS1用于校验和计算。如在随机控制的等待状态WS1和WS2的情况中那样,校验和计算和与相应的期望校验和的比较可以在多个空闲状态上延伸。
本领域技术人员将认识到,在计算实际校验和时使用存储单元16的更大区域提供了如下优点,即,只需存储更少的期望校验和和在实际和期望校验和之间执行更少的比较,从而需要更少存储空间和更少计算能力。前面描述的优选实施形式的另一优点在于,完全地利用处理器单元14的在随机控制的等待状态期间可用的“空闲计算时间”。
对于相反的情况,即处理器单元14在随机控制的等待状态结束前就完成了实际校验和的计算和与相应的期望校验和的比较,根据本发明的优选实施形式可以设有,处理器单元14对于随机控制的等待状态的剩余持续时间进入根据现有技术的随机控制的等待状态,即其中处理器单元14例如遍历等待循环的状态。
根据本发明的优选实施形式,校验和例如可以是循环冗余码校验(“Cyclic Redundancy Check”;CRC),借助其可以确定存储在存储单元16上的数据的完整性。优选地,根据另一替选实施形式,校验和可以是密码学的校验和,其中在使用密码学的秘密的情况下,尤其在使用对称和/或非对称加密方法的情况下产生该密码学的校验和。在此可以将任意的、就起本身而言从现有技术中已知的方法用于生成这种校验和,尤其基于诸如SHA-1,MD5,HMAC-SHA1,HMAC-MD5,AES-CBC-MAC的密码学哈希函数。同样该校验和可以基于利用诸如RSA,DSA,EC-DSA等的合适签名算法生成的签名。除了上面提及的优选校验和之外,本领域技术人员还已知多个其它校验和,其根据本发明适于检查存储在存储单元16上的数据的完整性。对于根据本发明可使用的其它校验和的细节,请参见Wolfgang Rankl和WolfgangEffing所著的书“Handbuch der Chipkarten”,第5版,2008,章节16.5,其通过引用完全包含于此。
如本领域技术人员认识到那样,处理器单元14在随机控制的等待状态开始时已知该随机控制的等待状态的持续时间,因为其例如是事先借助随机数生成器确定的。优选地处理器单元14构建为基于该处理器单元14已知的、随机控制的等待状态的持续时间来选择对于校验和计算合适的区域。存储单元16的合适区域的选择可以取决于随机控制的等待状态的持续时间。如果该持续时间短,则选择相应小的区域,如果该持续时间长,则选择存储单元16的相应大的区域。优选地,将存储单元16的区域根据其尺寸选择为使得最迟在随机控制的等待间隔结束时完全完成实际校验和的计算和已将实际校验和与相应的期望校验和进行了比较。
例如可能的是,在存储单元16中存储了用于存储单元16的多个所选区域的期望校验和的列表连同关于相应选择区域的校验和计算持续多久的信息。借助等待状态的已知持续时间,处理器单元选择存储单元16的合适区域。替选地或附加地,处理器单元14可以构建为“在飞行中”选择存储单元16的合适区域,方法是,基于对存储单元16的平均访问时间确定存储单元的区域的最大尺寸,对于所述区域,在随机控制的等待状态期间可以计算校验和。
本领域技术人员将认识到,之前描述的通过处理器单元14对存储单元16的合适区域的确定或选择根据本发明还可以在这样的情况下使用,即,校验和的计算在插入到由处理器单元14待处理的具有多个指令的例程中的多个随机控制的等待状态上延伸,如这在前面作为优选实施形式描述过那样。因为在该情况下对于处理器单元14而言已知例程的指令数目和由此待插入到例程中的等待状态的数目以及等待状态的大致平均持续时间,所以在其基础上可以估计处理器单元14的对于校验和计算和与相应的期望校验和相比较可用的“计算时间”。
对于存储单元16包括闪存的优选情况,存储单元16的所选区域可以是闪存的一页或多页,尤其是其中存储了安全关键的数据的这种页,该数据的完整性对于芯片10的正确工作方式是必要的。
图3示出了根据本发明的一个优选实施形式的随机控制的等待状态WS1的示意图。在图3中示出的优选实施形式与结合图2描述的实施形式的主要区别在于,在该随机控制的等待状态WS1期间并不计算实际校验和和与相应的期望校验和相比较或者仅计算其中一部分,而是随机控制的等待状态WS1的持续时间被划分为两个优选基本等长的区段WS1a和WS1b。这样的到区段WS1a和WS1b中的划分可以由处理器单元14进行,因为随机控制的等待状态WS1的持续时间优选由处理器单元14事前(例如借助随机数生成器)确定和由此对于该处理器单元已知。
优选地,在随机控制的等待状态WS1的第一区段WS1a期间关于存储单元16的之前选择的区域的数据计算第一实际校验和和在第二区段WS1b期间计算第二实际校验和。第一实际校验和和第二实际校验和可以彼此比较,和/或与用于存储单元16的该区域的相应的期望校验和相比较。图3中示出的优选实施形式的一个特别优点在于,能够立即认识到在随机控制的等待状态WS1期间是否发生了光攻击,从而可以采取相应的应对措施,例如禁用芯片卡10。这例如当在区段WS1a期间确定的第一实际校验值不等于在区段WS1b期间确定的第二实际校验和时成立。

Claims (10)

1.一种借助用于处理命令的处理器单元(14)和用于存储数据的存储单元(16)运行便携式数据载体(10)的方法,其中,将尤其以用于防范SPA/DPA攻击的随机控制的等待状态插入到对命令的处理中,其特征在于,在随机控制的等待状态期间关于存储单元(16)的所选区域的数据计算实际校验和。
2.根据权利要求1所述的方法,其中,该方法包括将关于存储单元(16)的所选区域的数据所计算的实际校验和与用于存储单元(16)的该所选区域的数据的期望校验和相比较的另一步骤。
3.根据权利要求2所述的方法,其中,如果实际校验和与期望校验和的比较得出实际校验和不等于期望校验和,则禁止便携式数据载体(10)的继续运行。
4.根据权利要求2所述的方法,其中,在随机控制的等待状态内开始和结束关于存储单元(16)的所选区域的数据计算实际校验和以及将实际校验和与期望校验和相比较的步骤。
5.根据权利要求1所述的方法,其中,关于存储单元(16)的所选区域的数据对实际校验和的计算在多于一个随机控制的等待状态上延伸。
6.根据权利要求5所述的方法,其中,由处理器单元(14)待处理的命令是命令例程的部分,并且其中,在处理了该命令例程的最后一个命令之后在随机控制的等待状态、空闲状态或者具有通过处理器单元(14)预先给定的持续时间的等待状态的范围中完成关于存储单元(16)的所选区域的数据对实际校验和的计算。
7.根据权利要求1所述的方法,其中,由处理器单元(14)基于随机控制的等待状态的持续时间来选择处理器单元(14)所选区域,以用于关于存储于其中的数据计算实际校验和。
8.根据权利要求1所述的方法,其中,将随机控制的等待状态划分为基本等长的两个区段,其中,在随机控制的等待状态的两个区段期间关于存储单元(16)的同一所选区域的数据计算实际校验和。
9.根据上述权利要求中任一项上述的方法,其中,实际校验和是CRC校验和或者密码学校验和,其中,在使用对称和/或非对称加密方法的条件下产生该密码学校验和,尤其基于诸如SHA-1,MD5,HMAC-SHA1,HMAC-MD5,AES-CBC-MAC等的密码学哈希函数或者基于利用诸如RSA,DSA,EC-DSA等的合适签名算法生成的签名来产生该密码学校验和。
10.一种具有处理器单元(14)和存储单元(16)的便携式数据载体(10),其中,便携式数据载体(10)构建为根据上述权利要求中任一项上述的方法来运行。
CN201380070545.3A 2012-12-21 2013-12-16 用于运行便携式数据载体的方法以及这种便携式数据载体 Active CN104919751B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102012025416.4 2012-12-21
DE102012025416.4A DE102012025416A1 (de) 2012-12-21 2012-12-21 Verfahren zum Betreiben eines portablen Datenträgers sowie ein solcher portabler Datenträger
PCT/EP2013/003802 WO2014095031A1 (de) 2012-12-21 2013-12-16 Verfahren zum betreiben eines portablen datenträgers sowie ein solcher portabler datenträger

Publications (2)

Publication Number Publication Date
CN104919751A true CN104919751A (zh) 2015-09-16
CN104919751B CN104919751B (zh) 2018-02-02

Family

ID=49886866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380070545.3A Active CN104919751B (zh) 2012-12-21 2013-12-16 用于运行便携式数据载体的方法以及这种便携式数据载体

Country Status (5)

Country Link
US (1) US9912471B2 (zh)
EP (1) EP2936728B1 (zh)
CN (1) CN104919751B (zh)
DE (1) DE102012025416A1 (zh)
WO (1) WO2014095031A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015211108A1 (de) * 2015-06-17 2016-12-22 Robert Bosch Gmbh Vorrichtung und Verfahren zur Ausführung eines Rechenverfahrens
US10771236B2 (en) * 2017-05-03 2020-09-08 Seagate Technology Llc Defending against a side-channel information attack in a data storage device
FR3133259B1 (fr) * 2022-03-04 2024-04-19 Safran Electronics & Defense Système d’affichage d’informations critiques et non-critiques

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255692A (zh) * 1998-11-30 2000-06-07 株式会社日立制作所 信息处理装置与ic卡
US20030048903A1 (en) * 2001-06-13 2003-03-13 Fujitsu Limited Encryption secured against DPA
US20030198082A1 (en) * 2000-02-15 2003-10-23 Kia Silverbrook Unathorised modification of values stored in flash memory
CN1665180A (zh) * 2004-03-04 2005-09-07 索尼株式会社 数据处理电路及其控制方法
US20100322298A1 (en) * 2008-02-06 2010-12-23 Nec Corporation Device for evaluating side-channel attack resistance, method for evaluating side-channel attack resistance, and program for evaluating side-channel attack
EP2428918A2 (de) * 2010-09-14 2012-03-14 Giesecke & Devrient GmbH Portabler Datenträger
US20120106732A1 (en) * 2010-11-02 2012-05-03 Stmicroelectronics (Rousset) Sas Cryptographic countermeasure method by deriving a secret data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093256B2 (en) * 2002-12-13 2006-08-15 Equator Technologies, Inc. Method and apparatus for scheduling real-time and non-real-time access to a shared resource
US7490350B1 (en) * 2004-03-12 2009-02-10 Sca Technica, Inc. Achieving high assurance connectivity on computing devices and defeating blended hacking attacks
US7409608B1 (en) * 2004-04-20 2008-08-05 Altera Corporation Pseudo-random wait-state and pseudo-random latency components
US8881261B1 (en) * 2010-06-29 2014-11-04 F5 Networks, Inc. System and method for providing proactive VPN establishment
US8700908B2 (en) * 2010-08-24 2014-04-15 Qualcomm Incorporated System and method for managing secure information within a hybrid portable computing device
US8739012B2 (en) * 2011-06-15 2014-05-27 Texas Instruments Incorporated Co-hosted cyclical redundancy check calculation
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
US9536086B2 (en) * 2012-02-22 2017-01-03 Infineon Technologies Austria Ag Circuit arrangement, a method for forming a circuit arrangement, and method for integrity checking

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255692A (zh) * 1998-11-30 2000-06-07 株式会社日立制作所 信息处理装置与ic卡
US20030198082A1 (en) * 2000-02-15 2003-10-23 Kia Silverbrook Unathorised modification of values stored in flash memory
US20030048903A1 (en) * 2001-06-13 2003-03-13 Fujitsu Limited Encryption secured against DPA
CN1665180A (zh) * 2004-03-04 2005-09-07 索尼株式会社 数据处理电路及其控制方法
US20100322298A1 (en) * 2008-02-06 2010-12-23 Nec Corporation Device for evaluating side-channel attack resistance, method for evaluating side-channel attack resistance, and program for evaluating side-channel attack
EP2428918A2 (de) * 2010-09-14 2012-03-14 Giesecke & Devrient GmbH Portabler Datenträger
US20120106732A1 (en) * 2010-11-02 2012-05-03 Stmicroelectronics (Rousset) Sas Cryptographic countermeasure method by deriving a secret data

Also Published As

Publication number Publication date
EP2936728B1 (de) 2016-09-07
EP2936728A1 (de) 2015-10-28
CN104919751B (zh) 2018-02-02
WO2014095031A1 (de) 2014-06-26
DE102012025416A1 (de) 2014-06-26
US9912471B2 (en) 2018-03-06
US20150333903A1 (en) 2015-11-19

Similar Documents

Publication Publication Date Title
KR101885393B1 (ko) 중요 데이터를 취급하기 위한 장치 및 방법
TWI436372B (zh) 快閃記憶體儲存系統及其控制器與防資料竄改方法
TWI405211B (zh) 快閃記憶體儲存系統、控制器與資料保護方法
CN103069384A (zh) 用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法
US9659178B1 (en) Device blanking
CN105262595A (zh) 用于设备和数据认证的系统和方法
KR102244465B1 (ko) 불활성 모듈을 포함하는 전자 어셈블리
KR20090043823A (ko) 외부 공격을 감지할 수 있는 메모리 시스템
KR20210134054A (ko) 보안 전자 제어 유닛 업데이트를 위한 로컬 원장 블록 체인
CN102968392A (zh) 防止存储器转储的微处理器
CN104919751A (zh) 用于运行便携式数据载体的方法以及这种便携式数据载体
US8311212B2 (en) Method of processing data protected against attacks by generating errors and associated device
CN104012122A (zh) 用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体
KR102366809B1 (ko) 애플리케이션 프로세서를 인증하기 위한 디스플레이 드라이버 집적 회로 그리고 이를 포함하는 모바일 장치
KR20060134771A (ko) 휴대 가능 전자 장치 및 휴대 가능 전자 장치의 데이터출력 방법
EP2000936A1 (en) Electronic token comprising several microprocessors and method of managing command execution on several microprocessors
JP2022527904A (ja) 無線更新の有効性確認
JP5695037B2 (ja) 時間制限使用の自動開始アプリケーションを含む機器
CN101925906A (zh) 屏蔽电子设备终止活动转变的方法,以及包括相应控制模块的设备
US20140289874A1 (en) Integrated circuit (ic) chip and method of verifying data thereof
US20150113243A1 (en) Method for backing up data outside a secure microcircuit
JP7487837B1 (ja) 電子情報記憶媒体、icチップ、icカード、鍵データ格納方法、及びプログラム
CN103701599A (zh) 安全设备、加密机、安全设备操作系统及操作方法
JP6398193B2 (ja) 可搬型電子媒体、及び入出力制御方法
JP2012146004A (ja) 携帯装置及び動的データの格納位置変更方法

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170804

Address after: Munich, Germany

Applicant after: Quartech mobile security limited liability company

Address before: Munich, Germany

Applicant before: Giesecke & Devrient GmbH

GR01 Patent grant
GR01 Patent grant