用于在没有内部非易失性存储器的设备中提供防回滚保护的方法_2

文档序号:8476691阅读:来源:国知局
的移动设备很有可能可以包括安全元件环境,因为NFC可以用于处理敏感信息(例如,在执行财务业务时)。因此,本发明可以在该设备(例如,NFCC 145)没有内部非易失性存储器时利用安全元件环境来存储版本号。
[0037]移动信用卡支付处理事务是涉及利用NFCC 145连同安全元件环境的移动设备110的事务的一个示例。在这一示例中,NFCC 145可以是存储该信用卡信息的安全元件环境和用于辅助该事务的应用处理器120之间的中间方。因此,通过使用NFCC 145,用于由移动设备处理的支付的应用处理器120可以向读卡器150发送敏感的财务信息。另外,应用处理器120和NFCC 145都能够与安全元件环境通信,以取回敏感数据以便实现这一支付处理事务。
[0038]上述事例示出了由于NFCC 145处理敏感信息,则NFCC也可以访问移动设备的安全元件环境。另外,NFCC 145可以有进行周期性固件升级的固件部件。因此从安全性的角度来看,应该防止NFCC 145上的固件回滚到较旧的版本,尤其是如果较旧的版本有一些关联的安全性问题的话。NFCC145上的较旧的固件版本可以被用于破坏NFCC 145,以便将NFCC 145用作MITM攻击的机制。
[0039]因此,为了避免回滚攻击,在升级NFCC 145上的固件时需要安装最新的固件版本。依照本发明的一些实施例,NFCC 145可以对比检查移动设备想要安装的安装文件的固件版本号(FVN)和当前的固件版本号。这可以通过将最低可接受的固件版本号(LAFVN)(其可以与当前固件版本号相关联)存储在移动设备110的安全元件环境中来完成。该LAFVN可以用于与FVN比较以防止回滚。
[0040]本发明可以确保被下载到NFCC 145上的新的固件版本高于先前版本,以便防止回滚攻击。由于固件版本逐渐增减,通过将潜在的固件升级版本与LAFVN比较,可以保护NFCC 145不受到回滚攻击。另外,由于LAFVN存储在移动设备的安全元件环境中,因此即使是在设备(例如,NFCC 145)没有非易失性存储器时,本发明也提供在启动阶段的防回滚保护。
[0041]软件系统中用于防回滚保护的方法要包括对设备(例如,NFCC 145)中的非易失性存储器的使用。但是,这一方法要求设备(例如,NFCC 145)中存在可重写的非易失性存储器,这种存储器既昂贵又相对不可靠,尤其是当设备是以很小的几何尺寸(例如,<65nm)实现的时。
[0042]例如,NFCC 145可以被制造入半导体材料的薄基底的表面。用于实现诸如NFCC145的设备的集成电路(IC)已经移植到更小的几何尺寸,以允许每个芯片上封装更多的电路。每一单元区域这一增加的容量可以用于降低成本和/或增加功能。但是,具有毫微米量级设备的IC也不是没有它们的问题,其中主要问题就是电流泄漏。因此,由半导体制造商提供设计规则来确保IC正确工作。设计规则集合指定某些几何和连接限制,以确保足够余量以考虑半导体制造过程中的变化。因此,当设备(例如,NFCC 145)以很小的几何尺寸(例如,<65nm)被实现时,该设备可能被设计为没有非易失性存储器,这可能是基于设计规则的。
[0043]因此,一些设备(例如,NFCC 145)可能没有使用非易失性存储器,这是因为制造该设备的基底不支持非易失性存储器。依照本发明的实施例,防回滚保护是通过将最低可接受固件版本号存储在安全位置来提供的。该移动设备可以包括制造在其它支持非易失性存储器的基底上的其它部件。例如,安全元件环境可以被制造在另一个基底上,该基底没有很小的几何尺寸并且可以包括非易失性存储器。因此,依照一些实施例,最低可接受固件号可以被存储在安全元件环境的非易失性存储器中。
[0044]先前的防回滚保护方法包括在应用级别上存储最低可接受的固件版本号。但是,因为移动设备中的高级应用可能很容易受到攻击,因此应用级别可能不够安全。
[0045]例如,高级软件应用可以是操作系统级别的应用。但是,该操作系统(例如,安卓操作系统)的源代码可以是开源代码。因此,该开源代码可能是容易受到攻击的。攻击者可以很容易地找到软件中的弱点,因此最佳实践方式是不在高级软件应用中存储高敏感度信息。
[0046]例如,高级软件应用容易受到循环攻击,其可以造成攻击者获取到移动设备上的超级用户特权。有了超级用户特权,攻击者能够控制NFCC 145。因此,从安全性的角度看,将敏感信息存储在高级软件应用层并不是最佳实践方式,因为它可以被操纵。
[0047]通过将固件的版本号存储在安全元件环境中,本发明的实施例克服了上面提到的缺点。本发明能够利用具有NFC功能的移动设备110也包括安全元件环境的现实。因此,通过将版本号存储在安全元件环境而不是高级软件应用层,移动设备可以不那么容易受到攻击。在一些实施例中,该安全元件环境是无法被任何外部程序、总线或设备端口访问或篡改的安全存储器执行分区。
[0048]此外,与先前提到的e-Fuse方法不同,在本发明的实施例中,对版本号更新的次数可以没有限制。安全元件环境可以总是被重写以包括更新的版本号。通过将该版本号存储在移动设备110的安全元件环境中,可以产生更健壮的系统,因为其可以提供更好的防回滚保护。
[0049]本发明的实施例可以不使用非易失性存储器提供防回滚保护。尺寸很小(例如,<65nm)的非易失性存储器可能是昂贵的和不可靠的。如前所述,NFCC可以被嵌入到被制造在具有很小几何尺寸的基底上的芯片上。另外,NFCC实现方面的成本压力意味着需要找到在不使用内部非易失性存储器的情况下提供针对回滚攻击的保护的机制。此外,有可能可以使用硬件攻击修改该非易失性存储器,以允许回滚到较旧的固件版本。
[0050]因此,当发起NFCC固件升级时,本发明的实施例对比检查版本号和安全元件环境中存储的LAFVN,以确保该版本号在增加以便提供对硬件和软件攻击的防回滚保护。
[0051]安全执行环境
[0052]依照本发明的实施例,考虑两种不同类型的安全元件环境。它们是独立安全元件,也称为安全执行环境(SEE)和可信执行环境(TEE)。
[0053]该SEE由软件和防篡改硬件组成。TEE在可信运行元件部分中描述。SEE功能就像守卫,因为它是专门被设计为防篡改并且存储敏感信息的。它能够提供高等级的安全性并且能够与TEE工作(在下面的部分中更详细地描述)。例如,由于安全元件环境所提供的高等级安全性,该安全元件环境可以由移动支付应用使用。在一些实施例中,SEE是无法被外部程序访问的安全存储器执行。另外,SEE可以依照SEE中存储的策略来强制执行指令。
[0054]SEE被专门设计为保护不受硬件攻击。例如,硬件攻击可以是侵入式攻击。侵入式攻击可以包括对芯片进行解封装并用酸腐蚀移除钝化层以获得与内部线路的电接触。另夕卜,硬件攻击也可以是半侵入式攻击。半侵入式攻击可以包括对芯片进行解封装以接入其表面但是钝化层保持原封不动。
[0055]与先前的只提供针对软件攻击的保护的防回滚保护方法(例如,信任区技术、基于软件的版本控制)不同,本发明提供针对软件和硬件攻击的防回滚保护。通过将固件版本号存储在SEE中,本发明能够提供针对软件和硬件攻击的保护。本发明利用具有NFC功能的移动设备中已有的安全元件环境。
[0056]该SEE由于其安全特性(例如,安全固件系统、数据分区、访问控制、单独的操作系统)专门设计用于存储敏感信息。另外,SEE可以独立于栈的其它部分。因此,SEE的属性使其成为存储数据的理想位置。例如,SIM卡(也存储蜂窝网络的敏感订阅密钥)可以是SEE。
[0057]依照一些实施例,SEE可以包括非易失性存储器。如前所述,相比于NFCC 145,SEE可以制造在不同的基底上。例如,SEE可以被制造在可以设计为具有非易失性存储器的基底上。
[0058]依照不同实施例,安全元件环境可以是SEE(例如,SM卡)或TEE(例如,芯片的硬件分区的安全部分)。具有NFC功能的移动设备可以具有连接到NFCC 145的安全元件环境。因此,NFCC 145可以与安全元件环境接口,以获取敏感数据。
[0059]依照另一个实施例,除了 SM卡,控制授权者(例如,原始设备制造商(OEM))可以具有OEM控制的安全元件环境。在这一实施例中,NFCC145可能无法访问SM卡,但是可以访问该OEM控制的安全元件环境。因此,由OEM控制的安全元件环境也可以由NFCC 145使用。这可以提供更好的安全性,因为SM卡是可移除并且可交换的。
[0060]因此,通过将版本号存储在安全元件环境中,能够使攻击者更难以将固件回滚到较旧的版本,这是因为攻击者需要危害安全元件环境,这不像攻击栈的其它部分那么容易。从安全性的角度来看,将版本号存储在安全元件环境中降低了攻击者破坏版本号的风险。
[0061]图2A依照本发明的一个实施例示出了具有NFC功能的移动设备110的框图。参照图2A,移动设备110包括应用处理器120、SIM卡130和包括NFC控制器(NFCC) 145的NFC模块140。依照这一实施例,安全元件环境(例如,安全执行环境(SEE) 220)也嵌入在NFC模块140中。该应用处理器可以包括高级应用(例如,支付处理应用、操作系统)以用于与NFC模块140和NFCC 145通信。
[0062]如图2A中所示,SEE 220可以嵌入到NFC模块140中。这一实施例的例子包括具有嵌入的SEE的NFC芯片。在这一示例中,NFC模块可以不需要与SM卡通信以接收最近安装的版本号。
[0063]图2B是依照本发明的另一个实施例示出具有NFC功能的移动设备的框图。依照这一实施例,SEE 220被嵌入在SM卡130中。在这一示例中,NFC模块可以与SM卡130通信以接收最近安装的版本号。
[0064]图2C是依照本发明的另一个实施例示出具有NFC功能的移动设备的框图。依照这一实施例,SEE 220被存储在外部SD卡230中。SD卡230可以包括存储器240和能够与SEE 220通信的控制器250。在这一示例中,NFC模块可以与SD卡通信以接收最近安装的版本号,并且NFC模块不需要与SM卡130通信。
[0065]可信执行环境
[0066]依照另一个实施例,安全元件环境可以是TEE。TEE是可以驻留在移动设备的主处理器中的安全区域。与SEE类似,TEE可以确保敏感数据在可信环境中被存储、处理和保护。TEE能够执行授权的安全软件(例如,可信应用)并通过强制实施保护、保密、完整性和数据访问权来提供端到端安全性。TEE可以由软件和硬件构成,并且可以用于
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1