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

文档序号:9204529阅读:572来源:国知局
用于运行便携式数据载体的方法以及这种便携式数据载体的制作方法
【技术领域】
[0001]本发明涉及一种用于运行便携式数据载体的方法以及这种便携式数据载体。尤其本发明涉及一种用于运行芯片卡或芯片模块的方法以及这种芯片卡或这种芯片模块。
【背景技术】
[0002]具有处理器单元的芯片卡形式的便携式数据载体、也称作微处理器芯片卡或处理器芯片卡,在很多安全关键的领域中使用,例如作为证件,用于证明用户例如对于移动无线电网络的访问权限或者用于执行支付往来交易。在此,芯片卡常常结合对于相应的应用所设计的终端装置来使用,该终端装置构建为在前面的验证之后访问这种芯片卡的安全关键的数据。
[0003]在通过便携式数据载体、例如芯片卡执行安全关键的应用时,需要保护便携式数据载体和存储于其中的安全关键的数据、例如密码学密钥不受攻击和未授权的操纵。
[0004]已知不同的攻击方法,其中在程序运行期间测量便携式数据载体的物理参数以便推断在程序运行时使用的安全相关的数据、尤其是密码学密钥。例如在简单电流分析(SPA=Simple Power Analysis (简单电能分析))中测量和检查在一个程序例程运行期间便携式数据载体的电流消耗。在差分电流分析(DPA = Differential Power Analysis(差分电能分析))中相反地以统计方式评估经过许多程序流程的电流消耗。
[0005]前面提及的攻击一般地称作侧通道攻击(side channel attacks),因为信息流不是通过便携式数据载体的主通信通道进行,而是绕过其。Wolfgang Rankl和WolfgangEffing所著的书“Handbuch der Chipkarten”,第5版,部分16.5给出了对在便携式数据载体情况下的不同攻击和防范方法的概览。在该部分的第756页上描述了随机控制的等待状态(“Random Wait States”,其在该文献中还称作“Random Delays”)。将这种随机控制的等待状态插入到由便携式数据载体的处理器单元待运行的例程中,例如插入到PIN例程或者加密例程中,以便抑制对于随机确定的持续时间“正常地”处理命令。在通过便携式数据载体的处理器单元处理命令时使用随机控制的等待状态使得对于电流分析所需的电流曲线的同步化变得困难。在便携式数据载体的处理器单元上可以例如借助程序循环实现这种随机控制的等待状态,在其循环体中只进行计数器递增和/或运行NOP (“no operat1n (无操作)”)命令。

【发明内容】

[0006]在该背景下,本发明基于这样的任务,即提供一种用于运行便携式数据载体的替选方法和一种相应的便携式数据载体,其尤其抵抗SPA和DPA攻击。
[0007]该任务根据本发明通过独立权利要求的主题实现。本发明的有利改进在从属权利要求中限定。
[0008]本发明基于这样的基本思想,即在随机控制的等待状态中并非如在现有技术中那样例如遍历“什么都不发生”的等待循环,而是由处理器单元将该随机控制的等待状态用于检验在便携式数据载体的存储单元上存储的数据是否还是完整的或者可能已经通过攻击被破坏了。
[0009]基于该基本思想,根据本发明的第一方面,提供了一种用于借助用于处理命令的处理器单元和用于存储数据的存储单元运行便携式数据载体的方法,其中,将随机控制的等待状态插入到命令的处理中,即插入到命令之间,尤其用于防范SPA/DPA攻击。该方法的特征在于,在随机控制的等待状态期间,由处理器关于存储单元的所选区域的数据计算实际校验和。
[0010]优选地,该方法包括将关于存储单元的所选区域的数据计算的实际校验和与用于存储单元的该所选区域的数据的期望或参考校验和相比较的另一步骤。如果实际校验和与期望校验和的比较得出实际校验和不等于期望校验和则可以禁止便携式数据载体的继续运行。优选地,在随机控制的等待状态内开始和结束关于存储单元的所选区域的数据对实际校验和的计算以及将实际校验和与期望校验和相比较的步骤。
[0011]根据本发明的优选实施形式,关于存储单元的所选区域的数据对实际校验和的计算在多于一个随机控制的等待状态上延伸。优选地,由处理器单元待处理的命令是命令例程的部分,其中,在处理了命令例程的最后一个命令之后在随机控制的等待状态、空闲状态或者具有通过处理器单元预先给定的持续时间的等待状态的范围中完成关于存储单元的所选区域的数据对实际校验和的计算。
[0012]优选地,由处理器单元基于随机控制的等待状态的持续时间来选择存储单元的所选区域,以用于关于存储于其中的数据计算实际校验和。
[0013]根据本发明的优选实施形式,将随机控制的等待状态划分为两个基本等长的区段,其中,在随机控制的等待状态的两个区段期间关于存储单元的同一所选区域的数据计算实际校验和。
[0014]优选地,实际校验和是CRC校验和或者密码学校验和,其中,在使用对称和/或非对称的加密方法的条件下产生密码学校验和,尤其基于诸如SHA-1,MD5, HMAC-SHAI, HMAC-MD5, AES-CBC-MAC等的密码学哈希函数或者基于以诸如RSA,DSA, EC-DSA等的合适的签名算法生成的签名来产生密码学校验和。
[0015]根据本发明的第二方面,提供具有处理器单元和存储单元的便携式数据载体,其构建为按照根据本发明的第一方面的前述方法来运行。优选地,便携式数据载体是芯片卡或者芯片卡模块。
[0016]本发明的一个关键优点在于,与其中“什么都不发生”并且由此具有虽不相同但很相似的电流曲线的已知随机控制的等待状态相比,根据本发明的随机控制的等待时间由于对存储单元的大小不同的不同区域的访问而引起不同的电流曲线。对于攻击者由此更难以在电流曲线中确定处理器单元何时位于随机控制的等待状态中。
【附图说明】
[0017]本发明的更多特征、优点和任务基于下面对多个实施例和实施替选方案的详细描述。参考附图,其中:
[0018]图1示出了与终端装置通信的、芯片卡形式的根据本发明的便携式数据载体的一个优选实施形式的示意图,
[0019]图2示意性示出了图1的芯片卡的处理器单元在使用随机控制的等待状态的条件下处理指令时的优选运行方式,以及
[0020]图3示出了根据本发明的一个优选实施形式的图2的随机控制的等待状态的示意性细节图。
【具体实施方式】
[0021]图1示出了芯片卡10形式的根据本发明的便携式数据载体的一个优选实施形式的示意图。芯片卡10构建为与终端装置20形式的外部实例交换数据。数据交换在此理解为信号传输、相互控制和在简单情况下还理解为芯片卡10与终端装置20之间的连接。通常,数据交换可以通过从信息论中已知的发送者-接收者模型来描述:以符号编码数据或信息并且然后将其由发送者通过传输通道传输给接收者。在此决定性的是,发送者和接收者使用同一编码,由此接收者可以理解该消息,即可以解码所接收的数据。
[0022]为了在芯片卡10与终端装置20之间进行数据传输或通信,芯片卡10以及终端装置20都具有合适的通信或1接口 12和22。1接口 12和22例如可以构建为使得在其之间或在芯片卡10与终端装置20之间的通信无线地、即通过空气接口来进行,如这在图1中表明那样。替选地,芯片卡10通过1接口 12电地、即有接触地与终端装置20的1接口22连接。在该情况下,1接口 12通常包括布置在芯片卡10上的、具有多个接触面的接触区域,以用于与终端装置20进行数据交换。当然,本发明还包括便携式数载体,其中1接口 12不仅构建为有接触地还构建为无接触地与终端装置20通信,并且其对于本领域技术人员而言结合芯片卡作为双接口芯片卡已知。
[0023]除了用于与终端装置20通信的1接口 12之外,芯片卡形式的便携式数据载体10包括中央的处理器单元(“central processing unit”;CPU) 14。已知地,属于处理器单元14的主要任务的有实施算术和逻辑函数以及读写数据,如这通过在处理器14上运行的、机器命令形式的计算机程序所定义的那样。
[0024]便携式数据载体10还包括具有易失性工作存储器(RAM)的存储单元(“memoryunit”)16,例如用于容纳由处理器单元14待运行的计算机程序的机器命令。此外,存储单元16包括非易失性的、优选可重复写入的存储器。优选地,非易失性存储器是闪存(Flash-EEPROM),其可以由多个页面构成。在此,例如涉及具有NAND或NOR架构的闪存。当然,存储器16还可以包括固定值存储器(“read only memory” ;R0M)。
[0025]如本领域技术人员已知那样,在处理器单元14、存储单元16、1接口 12和必要时芯片卡形式的便携式数据载体10的其它部件之间的通信可以
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1