产生结构的方法和相应的结构的制作方法

文档序号:8339883阅读:432来源:国知局
产生结构的方法和相应的结构的制作方法
【技术领域】
[0001]本发明涉及一种产生包括至少一个虚拟机的结构的方法。此外,本发明还涉及相应的结构。
【背景技术】
[0002]目前,安全性在很多电子设备和计算环境中发挥着重要作用。例如,常规的移动电子设备可以用于支付交易,支付交易要求敏感的与支付相关的数据诸如用户凭证被输入和/或存储在移动电子设备中。这样的移动电子设备例如可以配备有基于射频(RF)技术的近场通信(NFC)接口,以便与销售点终端(POS)处的终端设备交换与支付相关的数据。
[0003]传统上,敏感的与支付相关的数据已经被包含到专用的安全令牌如智能卡中,在专用的安全令牌中,数据固有地被限制在相对可信的环境中。然而,随着集成的解决方案的出现,特别是安全元件(SE)被集成到移动设备中,与支付相关的数据经常暴露于潜在的敌对环境中,因此这些数据的机密性可能会受到威胁。
[0004]安全元件通常被实现为嵌入式芯片,更具体地,被实现为具有防篡改的集成电路,该集成电路具有(预)安装的智能卡等级应用,例如支付应用,这些应用具有指定的功能和指定的安全等级。这样的安全元件的实例是由NXP半导体公司生产的被称为“SmartMX”或“SmartMX2”系列的集成电路。或者,用户识别模块(SM)或全球用户识别模块(USM)可以被用作安全元件。此外,安全数字(SD)卡,诸如传统的SD卡或微型SD卡,可以被用作安全元件。
[0005]然而,尽管它们是防窜改的,但是集成在多功能移动设备中的安全元件本身就比专用的智能卡的安全性要低,因此一直在努力提高其安全等级。当使用基于软件的安全元件时,这个问题会更加严重。与上述安全元件相反的是基于硬件的安全元件,基于硬件的安全元件仍然提供相对受保护的环境,在这样的环境中可以存储数据和执行计算,基于软件的安全元件通常被设置成在移动设备的一般的存储单元(例如主存储器)中存储敏感数据。该存储单元通常是不保证安全的。因此,基于软件的安全元件的开发者面临的挑战是在这些安全元件中嵌入足够的安全措施。
[0006]有一些安全措施已经显示出不错的成果。例如,混淆虚拟机(OVM:0bfuscatedVirtual Machine)的使用对反向工程攻击呈现出可接受的水平。正如Dube, T.E.等人于2008 年 3 月在 IEEE, Security&Privacy(卷号:6,期刊号:2)上发表的文章“HinderingReverse Engineering:Thinking Outside the Box”中所描述的,对所谓的结构为中心的攻击可能的防御是基于虚拟机逻辑的使用,虚拟机逻辑由本地指令集实现虚拟结构,其中所谓的结构为中心的攻击的攻击目的是揭露计算机程序的功能。为了进一步加强所述防御,虚拟机(VM)可以被混淆处理。因此,包括混淆虚拟机(OVM)的基于软件的安全元件呈现出提供合理的安全等级。
[0007]EP2482184A1描述了一种自适应的混淆虚拟机。更具体地,EP2482184A1描述了生成用于在自适应的VM执行环境中执行的混淆字节码。VM编译器编译高级码以获得字节码,并应用虚拟指令集体系架构(V-1SA)定义以产生优化的指令,优化的指令在字节码中合并了两个或更多个单独的指令。VM执行环境适于解释和执行优化的指令。
[0008]然而,基于OVM的基于软件的安全元件仍然容易克隆。特别是,其中存储有加密密钥或其它用户凭证的OVM可能被复制并在未经授权的移动设备上使用。在这种情况下,未经授权的移动设备可以与原始的经授权的移动设备一样执行相同的交易,这显然是不能接受的。因此,仍然需要改善此类基于软件的安全元件所提供的安全等级。

【发明内容】

[0009]本发明提供了产生包括至少一个虚拟机的结构的方法,该方法包括:对第一虚拟机源代码进行混淆处理,从而得到第一 OVM源代码;将处理器的标识符与第一 OVM源代码相关联,从而得到处理器特定的第一 OVM源代码;编译处理器特定的第一 OVM源代码,从而得到处理器特定的第一 OVM0
[0010]根据一个示例性实施例,该方法还包括:对第二虚拟机源代码进行混淆处理,从而得到第二 OVM源代码;将处理器特定的第一 OVM的秘密标识符与第二 OVM源代码相关联,从而得到处理器特定的第二 OVM源代码;编译处理器特定的第二 OVM源代码,从而得到处理器特定的第二 OVM0
[0011]根据另一个示例性实施例,当处理器特定的第一 OVM源代码被编译时,由随机数生成器生成秘密标识符。
[0012]根据另一个示例性实施例,秘密标识符被存储在数据库的记录中,并且在所述记录中还存储有处理器特定的第一 OVM的公共标识符,以便于检索所述秘密标识符。
[0013]根据另一个示例性实施例,该方法还包括:除了将处理器特定的第一 OVM的秘密标识符与第二 OVM源代码相关联,还将用户标识符与第二 OVM源代码相关联,从而得到处理器和用户特定的第二 OVM源代码;编译处理器和用户特定的第二 OVM源代码,从而得到处理器和用户特定的第二 OVM0
[0014]根据另一个示例性实施例,用户标识符包括个人身份识别码。
[0015]根据另一个示例性实施例,用户标识符包括用户的生物特征。
[0016]根据另一个示例性实施例,该方法还包括将操作系统组件集成到第二 OVM中。
[0017]根据另一个示例性实施例,该方法还包括通过以下步骤对于要产生的每一个OVM建立处理器特定的OVM的树:将处理器特定的现有的OVM的秘密标识符与用于要产生的下一个OVM的OVM源代码相关联,从而得到处理器特定的下一个OVM源代码,其中处理器特定的现有的OVM在树中比要产生的下一个OVM要高一级;编译处理器特定的下一个OVM源代码,从而得到处理器特定的下一个OVM0
[0018]根据另一个示例性实施例,该方法还包括将单调计数器集成到该结构中。
[0019]根据另一个示例性实施例,处理器的标识符是从包括在计算设备中的掩模型只读存储器或从包含在计算设备中的一次性可编程位中检索到的,其中计算设备包括由处理器的标识符标识的处理器。
[0020]此外,本发明提供了通过前述方法产生的结构。
[0021]根据另一个示例性实施例,至少一个虚拟机被分配给安全元件。
[0022]根据另一个示例性实施例,计算设备,特别是移动设备,被配置用于支持支付交易,该计算设备包括前述结构。
[0023]根据另一个示例性实施例,计算设备包括只读存储器,在只读存储器中已经存储有处理器特定的第一 OVM0
【附图说明】
[0024]在下文中将参照以下附图更加详细地描述实施例:
[0025]图1示出了包括混淆虚拟机的结构的第一示例性实施例;
[0026]图2示出了包括混淆虚拟机的结构的第二示例性实施例;
[0027]图3示出了包括混淆虚拟机的结构的第三示例性实施例。
[0028]附图标记
[0029]CPU处理器
[0030]CID处理器标识符
[0031]OVMO混淆虚拟机
[0032]0VM01混淆虚拟机
[0033]0VM02混淆虚拟机
[0034]0VM011混淆虚拟机
[0035]OVMO12混淆虚拟机
[0036]0VM021混淆虚拟机
[0037]OVMOlx混淆虚拟机
[0038]0VM02x混淆虚拟机
[0039]PIDO公共标识符
[0040]PIDl公共标识符
[0041]PID2公共标识符
[0042]SIDO秘密标识符
[0043]SIDl秘密标识符
[0044]SID2秘密标识符
[0045]FLASH非易失性存储器
[0046]ROM只读存储器
[0047]RAM随机存取存储器
[0048]PIN个人身份识别码
[0049]OSl操作系统
[0050]0S2操作系统
[0051]SE安全元件
【具体实施方式】
[0052]图1示出了包括混淆虚拟机的结构的第一示例性实施例。该结构已经通过本文公开的一种方法产生。在这个示例性实施例中,该结构包括组成为“信任树”的多个混淆虚拟机0VM0,0VM01,0VM011, OVMO12, 0VM02,该结构被嵌入到计算设备中。以这种方式,可以实现计算设备的安全启动,以及任意的应用程序的安全加载,这些应用程序被嵌入在所述混淆虚拟机中。
[0053]通常,计算设备集成片上元件,诸如处理器CPU,只读存储器ROM和随机存取存储器RAM以及在包含处理器CPU的芯片外部的元件,例如非易失性存储器FLASH。在这个例子中,只读存储器ROM包括已经按照本文所公开的方法被编译的初始混淆虚拟机0VM0。既然已经对处理器特定的源代码进行了初次虚拟机OVMO的编译,即该源代码是与处理器CPU的标识符CID相关联的,因此虚拟机OVMO自身也是处理器特定的。换言之,虚拟机OVMO被有效地结合到硬件上,特别是处理器上,虚拟机OVMO在硬件上执行。
[0054]只读ROM还包括OVM解释器,OVM解释器只能执行用处理器的标识符CID编译的OVM0处理器的标识符CID可以是公共的标识符或秘密的的标识符,可以存储在计算设备的掩模型ROM中或者OTP位中。可以由计算设备的制造商选择对于每个设备、每个晶片或每个晶圆组唯一的处理器的标识符CID。代替在只读存储器ROM中实现,初始混淆虚拟机OVMO的OVM解释器也可以在专用处理单元的硬件中(未示出)实现,可以执行本机代码和/或OVM代码。
[0055]由于初始混淆虚拟机OVMO是已经用处理器的标识符CID编译的,因此仅只读存储器ROM中的OVM解释器可以执行它。例如,在操作中,初始混淆虚拟机OVMO安全地初始化计算设备的寄存器,存储器,外围设备和接口。此外,初始混淆虚拟机OVMO可以包括监视器和OVM解释器,可以分别启动和执行用初始混淆虚拟机OVMO的秘密标识符编译的另外的混淆虚拟机0V
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1