用全球平台规范对发行者安全域做密钥管理的系统和方法与流程

文档序号:11199901阅读:599来源:国知局
用全球平台规范对发行者安全域做密钥管理的系统和方法与流程

本申请是申请号为201280056904.5、申请日为2012年9月28日、名称为“利用全球平台规范对发行者安全域进行密钥管理的系统和方法”的发明专利申请的分案申请。

本公开涉及加密术,并且更具体地,涉及利用全球平台规范对发行者安全域进行密钥管理。



背景技术:

简介

全球平台规范促进了安全芯片上应用程序的安全和可互操作性管理,包括嵌入智能卡、usb令牌和其他安全元件中的应用程序。其旨在保护有价值的信息,例如加密密钥和敏感数据,以免被对手窃取或攻击。它通过定义独立于应用程序、硬件中立和操作系统中立的卡组件用于所有平台,并且包括几乎每个行业,例如金融、教育和商业,以及几乎每种功能设备类型,例如智能电话、平板计算设备、膝上型计算机等等。

由全球平台规范定义的安全元件包含各种安全域,包括发行者安全域、控制机构安全域和补充安全域。发行者安全域对于管理卡内容、卡生命周期和应用程序生命周期享有特权。这些安全域的每个都保持一组对称和/或非对称加密密钥,便于与服务器进行安全通信。用于特定域的有权访问加密密钥的过程可以访问相应的安全域。

传统上,在供应商处插入发行者安全域中存储的加密密钥,并且接下来提供给可信服务管理者(tsm)服务器。tsm服务器然后更新发行者安全域上的加密密钥。然而,使用供应商创建的原始加密密钥对新加密密钥加密。利用供应商已知的原始加密密钥对新加密密钥加密是全球平台规范内的一项潜在性安全缺陷,其中不可信的供应商可以访问新的加密密钥。

当前,不存在仅涉及诸如智能电话和服务器的客户端的加密密钥管理方案用于全球平台规范下的发行者安全域。



技术实现要素:

本公开的附加特征和优点将在随后的描述中进行阐述,并且部分地将从该描述显而易见,或者可以通过实践本文所公开的原理而获知。本公开的特征和优点可借助于所附权利要求中特别指出的器械和组合来实现并获得。本公开的这些和其他特征将通过以下描述和所附权利要求变得更加充分地明显,或者可以通过本文所阐述的原理的实践而获知。

不利用第三方供应商更新加密密钥能够提高密钥管理方案的安全性。公开的是利用全球平台规范对发行者安全域进行密钥管理的系统、方法和非暂时性计算机可读存储介质。诸如智能电话或平板设备的移动设备可包括根据全球平台规范实现的安全元件,所述安全元件使得能够与服务器进行安全通信,但本文阐述的方法能够与具有安全元件的任何设备一起操作。安全元件可以具有不同级别的安全域,包括发行者安全域(isd)、控制机构安全域(casd)和补充安全域(ssd)。发行者安全域可以是管理其他安全域的顶级安全域,其他安全域例如是可包括服务提供方安全域(spsd)的补充安全域。发行者安全域能够管理卡内容、卡生命周期和应用程序生命周期中的至少一个。对安全域的访问限于能够访问针对安全域的加密密钥的过程。利用全球平台规范对发行者安全域实施密钥管理的系统具有两个阶段:在智能卡供应商处的预先个性化以及激活期间的初始化。

在预先个性化阶段期间,该系统在安全元件供应商处生成初始发行者安全域加密密钥集。系统向安全元件发送初始发行者安全域加密密钥集和服务器公钥。智能卡供应商利用服务器公钥对发行者安全域加密密钥集加密并向服务器发送加密的初始发行者安全域密钥集用于存储。客户端和服务器处的安全元件都存储初始发行者安全域加密密钥集。

在激活期间,利用全球平台规范对发行者安全域实施密钥管理的系统通过更新用于客户端的现有初始加密密钥集,通过服务器激活诸如智能电话的移动设备(客户端)。系统从服务器接收对于更新第一发行者安全域加密密钥集的授权。授权可以基于在服务器处生成的发行者安全域加密密钥集初始化脚本和/或基于现有的初始发行者安全域加密密钥集。该系统在诸如智能电话的客户端处生成实施全球平台卡规范的安全元件内的第二发行者安全域加密密钥集,并利用服务器公钥对第二发行者安全域加密密钥集加密以产生加密的第二发行者安全域密钥集。客户端向服务器发送加密的第二发行者安全域密钥集以利用对应的服务器私钥进行解密并利用第二发行者安全域加密密钥集更新第一发行者安全域加密密钥集。

公开的利用全球平台规范对发行者安全域进行密钥管理的方法允许更新加密密钥而没有第三方供应商中涉及的潜在安全风险。该方法能够进行更新而不使用第三方供应商生成的加密密钥。因此,考虑到安全通信,新的加密密钥仅对于客户端和服务器是已知的。

附图说明

为了描述可获得本公开的上述和其他优点及特征的方式,将通过参考附图中示出的具体实施例来呈现以上简述的原理的更为具体的描述。理解这些附图仅示出了本公开的示例性实施例,并且因此不被视为是对本公开范围的限制,将通过使用附图以另外的特异性和细节来描述和解释本文的原理,其中:

图1示出了一个实例系统实施例;

图2示出了一种示例性网络配置;

图3示出了由全球平台定义的一种安全元件;

图4示出了激活期间的isd初始化;

图5示出了一种示例性加密密钥交换;

图6示出了激活期间用于服务器初始化的一个示例性方法实施例;

图7示出了激活期间用于客户端初始化的一个示例性方法实施例;

图8示出了isd预先个性化;

图9示出了用于服务器isd预先个性化的一个示例性方法实施例;以及

图10示出了用于客户端isd预先个性化的一个示例性方法实施例。

具体实施方式

下面详细论述本公开的各个实施例。虽然论述了具体实施例,但应当理解这仅仅为了说明目的而进行。相关领域的技术人员将认识到,在不脱离本公开的实质和范围的情况下可以使用其他组件和配置。

本公开解决了本领域中利用全球平台规范对发行者安全域进行密钥管理的需求。公开了一种系统、方法和非暂时性计算机可读介质,其利用全球平台规范为发行者安全域管理加密密钥。本文公开了可用于实践这些概念的图1中基本通用系统或计算设备的简要介绍性描述。然后将对密钥管理进行更详细描述。

参照图1,示例性系统100包括通用计算设备100,所述通用计算设备100包括处理单元(cpu或处理器)120以及将各种系统组件耦合到处理器120的系统总线110,这些系统组件包括诸如只读存储器(rom)140和随机存取存储器(ram)150的系统存储器130。系统100可包括直接与处理器120连接,非常接近处理器120或作为其一部分集成的高速存储器的高速缓存122。系统100将数据从存储器130和/或存储设备160复制到高速缓存122,用于处理器120快速访问。通过这种方式,高速缓存提供避免处理器120在等待数据时延迟的性能提升。这些和其他模块可以控制或被配置成控制处理器120以执行各种动作。一个示例性的其他模块是安全元件124。安全元件124可以直接耦合到处理器120以用于安全目的,或者可以配置成经由总线110或其他通信机构与处理器120通信。安全元件124可以是集成电路,例如芯片上系统或其他单一组件或组件集合。其他系统存储器130也可供使用。存储器130可包括具有不同性能特性的多个不同类型的存储器。可以理解,本公开可以在具有不止一个处理器120的计算设备100上或者在联网在一起以提供更大处理能力的计算设备的群组或群集上操作。处理器120可包括任何通用处理器和硬件模块或软件模块,例如存储在存储设备160中的模块1162、模块2164和模块3166,所述任何通用处理器和硬件模块或软件模块被配置成控制处理器120以及在软件指令并入实际处理器设计中的情况下的专用处理器。处理器120基本上可以是完全独立成套的计算系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。

系统总线110可以是几种类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线,以及使用多种总线架构中任一种的局域总线。rom140等中存储的基本输入/输出系统(bios)可以提供基本例程,帮助在例如启动期间,在计算设备100内的元件间传送信息。计算设备100还包括存储设备160,例如硬盘驱动器、磁盘驱动器、光盘驱动器、磁带驱动器等。存储设备160可包括软件模块162、164、166,用于控制处理器120。可以设想其他硬件或软件模块。存储设备160由驱动接口连接到系统总线110。驱动器和相关联的计算机可读存储介质为计算设备100提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。在一个方面,执行特定功能的硬件模块包括存储在非暂时性计算机可读介质中的软件组件,其结合诸如处理器120、总线110、显示器170等的必要的硬件组件来执行功能。基本组件是本领域的技术人员已知的,并且根据设备类型(例如,设备100是否为小型的手持计算设备、台式计算机或计算机服务器)可以设想到适当的变型。

虽然本文所描述的示例性实施例采用了硬盘160,但本领域的技术人员应当理解,在示例性操作环境中也可以使用其他类型的计算机可读介质(其可以存储可由计算机访问的数据),例如磁卡带、闪存卡、数字通用光盘、磁盒、随机存取存储器(ram)150、只读存储器(rom)140、包含比特流等的线缆或无线信号等。非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身的介质。

为了使得用户能够与计算设备100进行交互,输入设备190代表任何数量的输入机构,例如,用于语音的麦克风、用于手势或图形输入的触摸屏、键盘、鼠标、运动输入、语音等。输出设备170也可以是本领域的技术人员已知的多个输出机构中的一个或多个。在一些情况下,多模系统允许用户提供多种输入类型以与计算设备100通信。通信接口180通常支配和管理用户输入和系统输出。由于对在任何特定硬件布置上的操作无限制,因此,本文的基本特征可以容易地在开发出改进的硬件或固件布置之后替换为这些硬件或固件布置。

为了清楚地说明,示例性系统实施例被呈现为包括各个功能块,这些块包括标记为“处理器”或处理器120的功能块。这些块代表的功能可以通过使用共享的或专用的硬件(包括但不限于能够执行软件和硬件的硬件,例如处理器120,其按照目的进行构建以作为执行在通用处理器上的软件的等同物操作)来提供。例如,可以由单个共享的处理器或多个处理器提供图1中给出的一个或多个处理器的功能。(术语“处理器”的使用不应当解释为唯一地指代能够执行软件的硬件。)示例性实施例可包括微处理器和/或数字信号处理器(dsp)硬件、用于存储执行下文论述的操作的软件的只读存储器(rom)140,以及用于存储结果的随机存取存储器(ram)150。也可以提供超大规模集成(vlsi)硬件实施例以及结合通用dsp电路的定制vlsi电路。

各实施例的逻辑操作被实现为:(1)运行于通用计算机内的可编程电路上的一系列计算机实施的步骤、操作或过程,(2)运行于专用可编程电路上的一系列计算机实施的步骤、操作或过程;和/或(3)可编程电路内互连的机器模块或程序引擎。图1中示出的系统100可以实践所陈述方法的全部或一部分,可以是所陈述系统的一部分,和/或可以根据所陈述非暂时性计算机可读存储介质中的指令进行操作。此类逻辑操作可以实现为配置成控制处理器120以根据模块的编程执行特定功能的模块。例如,图1示出了三个模块mod1162、mod2164和mod3166,它们是配置成控制处理器120的模块。这些模块可以存储在存储设备160上,并且在运行时加载到ram150或存储器130中,或者可以如本领域中所知的那样存储在其他计算机可读存储器位置中。

已经公开了示例性计算设备的一些基本组件和概念,本公开返回到如何更新加密密钥而不使用第三方供应商的论述,以便提高密钥管理方案的安全性。

图2示出了一种基本电信网络202,其具有诸如智能电话的第一客户端204,所述第一客户端204具有全球平台规范定义的安全元件;第二客户端206,所述第二客户端206具有由全球平台规范定义的安全元件,如移动平板设备,安全元件供应商208和公司服务器210。智能电话204和平板设备206能够利用相应设备中安装的安全元件根据全球平台标准与公司服务器210安全地通信。安全元件供应商208能够制造和/或销售安全元件用于安装在移动设备中,例如智能电话204和平板设备206中,并且公司服务器210能够与客户端,例如智能电话204和平板设备206进行通信。作为另一种选择,可以在组装、制造和/或配置客户端设备期间在客户端设备内嵌入安全元件。示例性电信网络202可以与全球平台标准一起使用,并且不应以任何方式加以限制。设想客户端、供应商、公司服务器和/或其他实体,例如地方行政管理服务器、代理等(未示出)的任何组合。例如,具有全球平台定义的元件的网络可具有一个客户端,例如智能电话204、一个供应商208和一个公司服务器210,或者网络可具有多个客户端、多个供应商和多个公司服务器。作为另外一种选择,网络可以具有客户端、供应商和公司服务器的组合,其中一些由全球平台规范定义。

图3示出了具有根据全球平台规范定义的各种安全域的一种安全元件302。安全元件302可以是移动设备,例如智能电话上的独立硬件组件,并且能够实现与服务器的安全通信,或者可以是集成电路(ic)或芯片上系统(soc)的一部分。安全元件可以包括硬件和/或软件组件,但通常更依赖于硬件实现,因为硬件不如软件复制或修改容易。一个设备可以纳入用于不同目的的多个不同安全元件,其能够彼此结合或完全独立地操作。安全元件302能够存储与安全域相关的至少一个加密密钥,并能够存储多个加密密钥。在一个具体实施中,每个安全元件具有唯一的加密密钥。对安全域的访问限于能够访问针对相应安全域的加密密钥的过程。安全域可包括发行者安全域304、控制机构安全域306、一个或多个服务提供方安全域308和310。公司tsm312和服务提供方tsm314是安全域的拥有者并拥有/具有对应的加密密钥。isd具有管理智能卡内容、卡生命周期和应用程序生命周期的特权。isd的加密密钥可以由公司tsm312持有。casd可以持有在验证spsd308和310上加载的服务提供方证书时使用的公开加密密钥。spsd由isd创建,然而加密密钥由sptsm取代并随后由sptsm管理。spsd可用的特权可以限于应用程序的验证、安全通信和提供。公司tsm312能够持有发给isd的部署在由公司服务的移动设备上的所有安全元件或其一些定义的子集的加密密钥。最后,sptsm能够让向其创建并分配的spsd持有加密密钥,例如,308和310被分配给sptsm314。

图4和图5示出了用于在激活客户端502期间对isd进行初始化的一种操作流程,客户端502具有由全球平台规范定义的安全元件,例如智能电话。在这些实例中,客户端包含安全元件,并且安全元件不直接与公司服务器通信。安全元件通过客户端与公司服务器通信。安全元件402、502能够与公司服务器406、504建立安全通信会话404以更新加密密钥。公司服务器406能够利用公司私人加密密钥对初始存储的加密isd密钥集解密408。初始存储的加密isd密钥集可以由智能卡供应商506生成并发送到公司服务器406、504,用于在激活期间的初始化之前进行存储。公司服务器406能够基于在服务器处解密的初始isd密钥集生成isd密钥集初始化脚本410。接下来,公司服务器406、504向智能电话上的安全元件402、502发送isd密钥集初始化脚本412。客户端内的安全元件402接收isd密钥集初始化脚本414并基于由公司服务器406发送的isd密钥集初始化脚本生成新的isd密钥集416。安全元件402利用公司服务器公钥对新的isd密钥集加密418,并经由客户端向公司服务器504发送新加密的isd密钥集420。在公司服务器406、504,接收新加密isd密钥集422并替换初始isd密钥集。

在激活设备时执行激活期间的初始化。此时,安全地更新初始isd密钥集而不使用安全元件供应商。新的isd密钥集仅仅为客户端设备处的安全元件以及与客户端设备相关联的公司服务器所知。因此,这种方法实现了利用全球平台规范对发行者安全域进行密钥管理,并且更新加密密钥而不涉及第三方,例如供应商。

利用全球平台规范对发行者安全域进行密钥管理利用了公钥密码进行客户端和服务器之间的加密密钥交换。公钥密码利用了非对称密钥算法和用于每个实体的一对加密密钥。该对加密密钥包括公钥和私钥。公钥是公知的,而私钥保持私密。公钥密码的安全性取决于私钥的安全性。例如,alice和bob能够利用公钥密码彼此安全地通信。alice能够利用bob的公钥(其为公知的)对发往bob的消息加密。任何人都能够向bob发送利用bob的公钥加密的消息,因为它是公知的。然而,仅有bob能够对发送给他的、利用其公钥加密的消息解密。bob能够从alice接收加密消息并利用其私钥对消息解密。类似地,利用全球平台规范为对发行者安全域实施密钥管理的客户端和服务器能够利用公钥密码安全地通信。如本文所述,安全元件402利用公司服务器公钥对新生成的isd密钥集加密418,并向公司服务器504发送新加密的isd密钥集420。公司服务器能够对新的isd密钥集解密,因为其具有对应的私钥。利用公钥密码允许具有安全元件的设备与服务器安全地通信。

本公开现在转向图6、图7、图9和图10中所示的示例性方法实施例。为了清晰起见,按照图1所示,根据配置成实践相应方法的示例性系统100来论述每种方法。本文勾勒出的步骤是示例性的,并且可以在其任何组合中实施,包括排除、添加或修改某些步骤的组合。图6示出了在服务器处激活期间的初始化的一个方法实施例。服务器向启用安全元件的客户端发送授权,以更新发行者安全域加密密钥集(602)。可以通过授权脚本的形式授予更新isd密钥集的授权。授权可以基于在全球平台标准中定义的方法或基于一些其他规则集。作为另外一种选择,可以利用令牌、密钥或其他形式向客户端授予来自服务器的授权。服务器接收在客户端侧安全元件内生成的加密第二isd密钥集(604)并利用客户端侧安全元件处生成的第二isd密钥集更新isd加密密钥集(606)。

图7示出了在客户端处激活期间的初始化的一个方法实施例。客户端从服务器接收授权以更新发行者域加密密钥集(702)。可以基于在服务器处生成的初始isd密钥集,以授权脚本的形式接收更新isd密钥集的授权,或者授权可以是其他授权形式,例如令牌或密钥。客户端侧安全元件利用服务器公钥对客户端处安全元件内生成的第二isd密钥集加密(704),并向服务器发送加密的第二isd密钥集以用于更新(706)。可以在客户端侧安全元件处,例如由随机或伪随机数发生器,或者可以通过任何其他方式,生成isd密钥集。isd密钥集的生成不必限于随机或伪随机数发生器。

以本文公开的方式更新isd密钥集仅允许客户端和服务器访问新isd密钥集。通过利用初始isd密钥集对新isd密钥集加密来更新isd密钥集的传统方法允许第三方,例如安全元件供应商,访问新的isd密钥集,这依赖于供应商是可信实体的假设。因为供应商生成初始isd密钥集并将其发送到客户端和服务器两者,所以供应商知道初始isd密钥集。更新isd密钥集的传统方法涉及服务器利用初始isd密钥集对新isd密钥集加密。如果供应商获得了对利用初始isd密钥集加密的新isd密钥集的访问权,供应商就能够对新isd密钥集解密并获得访问新isd密钥集的权限。本文描述的方法允许简单地利用客户端和服务器来更新isd密钥集,而过程不依赖于第三方供应商,从而创建安全的密钥管理方案。这些方法可以基于全球平台规范和/或在全球平台规范内操作,并且可能要求稍微偏离全球平台规范或超出全球平台规范的附加要求。

图8示出了在智能卡供应商地点处的isd预先个性化。通常,首先进行预先个性化,在可能的激活期间生成变更密钥。在激活期间可以使用在预先个性化期间存储的同一服务器公钥。在激活期间的初始化之前,系统100执行isd预先个性化,期间生成初始isd密钥集并加载到客户端和服务器两者。isd预先个性化涉及供应商506、具有安全元件502的客户端和公司服务器504。供应商506生成初始isd密钥集802并向安全元件发送isd密钥集804。安全元件502接收初始isd密钥集806并存储初始isd密钥集808。供应商506向安全元件502发送公司服务器504公钥810。安全元件502接收公司服务器公钥812并存储公司服务器的公钥814,用于在激活阶段期间的初始化期间更新初始isd密钥集。接下来,供应商506利用公司服务器公钥对初始isd密钥集加密816并向公司服务器发送加密的初始isd密钥集818。最后,公司服务器504接收加密的初始isd密钥集820并存储加密的初始isd密钥集,用于以后在生成授权脚本来更新isd密钥集时使用(822)。

图9示出了在供应商地点处的预先个性化的一种示例性方法。供应商506生成初始isd密钥集(902)并向安全元件发送isd密钥集和公司服务器504公钥,安全元件能够稍后安装、制造、并入,插入到诸如智能电话或平板设备的客户端设备中或以其他方式与之耦合(904)。供应商利用公司服务器公钥对初始isd密钥集加密(906)并向公司服务器发送加密的初始isd密钥集(908)用于存储。服务器504在生成isd密钥集初始化脚本用于更新isd密钥集时利用初始isd密钥集。

图10示出了在启用安全元件的客户端处进行预先个性化的一种示例性方法。客户端接收isd密钥集和公司服务器公钥(1002)并存储isd密钥集和公司服务器公钥(1004),用于以后激活期间的初始化。利用全球平台对发行者安全域进行密钥管理的预先个性化阶段在网络内建立初始isd密钥集,而在例如智能电话中设置安全元件时执行激活期间的初始化,并利用仅为客户端和服务器所知的新isd密钥集更新初始isd密钥集。利用全球平台规范对发行者安全域进行密钥管理允许具有安全元件的客户端和公司服务器之间的安全通信。

本公开的范围内的实施例也可包括有形和/或非暂时性计算机可读存储介质,其用于承载或具有存储在其上的计算机可执行指令或数据结构。此类非暂时性计算机可读存储介质可以是可由通用或专用计算机访问的任何可用介质,包括上文论述的任何专用处理器的功能设计。以举例而非限制的方式,此类非暂时性计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁性存储设备,或任何其他介质,其可用来承载或存储呈计算机可执行指令、数据结构或处理器芯片设计形式的所需程序代码装置。当信息经由网络或另一通信连接(硬连线的、无线的,或它们的组合)传送或提供至计算机时,计算机适当地将该连接视为计算机可读介质。因此,任何这种连接被适当地称为计算机可读介质。上述的组合也应该包括在计算机可读介质的范围内。

计算机可执行指令包括例如使得通用计算机、专用计算机或专用处理设备执行某些功能或一组功能的指令和数据。计算机可执行指令也包括由计算机在独立或网络环境中执行的程序模块。通常,程序模块包括例程、程序、组件、数据结构、对象和专用处理器等的设计中固有的功能,程序模块执行特定任务或实现特定抽象数据类型。计算机可执行指令、相关联的数据结构和程序模块代表用于执行本文所公开的方法的步骤的程序代码装置的实例。此类可执行指令或相关联的数据结构的特定序列代表用于实现在此类步骤中描述的功能的对应动作的实例。

本领域的技术人员将会理解,本公开的其他实施例可以在具有许多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络pc、微型计算机、大型计算机等。实施例也可在分布式计算环境中实践,其中任务由通过通信网络(或者由硬连线链路、无线链路,或者由它们的组合)连接的本地和远程处理设备来执行。在分布式计算环境中,程序模块可位于本地存储器存储设备和远程存储器存储设备两者中。

上文描述的各实施例仅仅以例示方式提供,而不应解释为限制本公开的范围。例如,本文的原理适用于除智能电话之外的移动设备,例如具有由全球平台定义的安全元件的平板设备。本领域的技术人员将容易认识到,在不遵从本文举例说明和描述的示例性实施例和应用且不脱离本公开的实质和范围的情况下,可以对本文所描述的原理做出各种修改和变更。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1