著录项信息
专利名称 | 一种操作敏感数据的方法和设备 |
申请号 | CN201410342484.8 | 申请日期 | 2014-07-17 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-10-01 | 公开/公告号 | CN104077533A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/57 | IPC分类号 | G;0;6;F;2;1;/;5;7;;;G;0;6;F;2;1;/;6;0查看分类表>
|
申请人 | 北京握奇智能科技有限公司 | 申请人地址 | 北京市朝阳区望京利泽中园101号启明国际大厦西侧7层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京握奇智能科技有限公司 | 当前权利人 | 北京握奇智能科技有限公司 |
发明人 | 江先 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 刘佳;王宝筠 |
摘要
本发明公开了一种敏感数据操作的方法和设备。该方法包括:响应于应用程序在开放操作系统下运行,调用开放操作系统下的通用中间件,并控制通用中间件执行应用程序触发的操作;响应于应用程序在开放操作系统下触发敏感数据操作,将应用程序从开放操作系统切换到可信操作系统下运行,并调用可信操作系统下的可信中间件,控制可信中间件执行该敏感数据操作;在该敏感数据操作的执行过程中,控制可信中间件从安全元件中读取敏感数据使用,和/或,控制可信中间件写入敏感数据到安全元件中。通过本发明实施方式,不仅可以保证敏感数据在中间件操作阶段的安全,还可以使得中间件对敏感数据的访问速度更快,提高中间件对敏感数据的处理效率。
1.一种敏感数据操作的方法,其特征在于,包括:
响应于应用程序在开放操作系统下运行,调用所述开放操作系统下的通用中间件,并控制所述通用中间件执行所述应用程序触发的操作;
响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行,并调用可信操作系统下的可信中间件,控制所述可信中间件执行所述敏感数据操作;
在所述敏感数据操作的执行过程中,控制所述可信中间件从安全元件中读取敏感数据,和/或,控制所述可信中间件写入敏感数据到所述安全元件中;
其中,所述开放操作系统、所述通用中间件、所述可信操作系统和所述可信中间件均配置在可信执行环境TEE芯片中,所述安全元件具体为SE芯片。
2.根据所述权利要求1所述的方法,其特征在于,所述通用中间件中具有敏感数据操作代理接口,所述敏感数据操作代理接口用于响应所述应用程序,在所述开放操作系统下触发敏感数据操作;
所述响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行,包括:
在所述应用程序在所述开放操作系统下的运行过程中,监测所述通用中间件的运行;
响应于所述通用中间件运行所述敏感数据操作代理接口,调用安全监视器,并控制所述安全监视器将所述应用程序的运行环境从所述开放操作系统切换到可信操作系统。
3.根据权利要求1所述的方法,其特征在于,所述调用可信操作系统下的可信中间件之后,还包括:
控制所述可信中间件与所述安全元件之间建立安全通道,以便所述可信中间件与所述安全元件之间通过所述安全通道进行敏感数据的交互。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述敏感数据操作的执行过程中,控制所述可信中间件对输出信息进行加密,并将加密后的输出信息存放在开放存储器中;其中,所述开放存储器用于存储所述开放操作系统下和所述可信操作系统下产生的信息。
5.一种敏感数据操作的设备,其特征在于,包括:
第一调用模块,用于响应于应用程序在开放操作系统下运行,调用所述开放操作系统下的通用中间件;
第一控制模块,用于控制所述通用中间件执行所述应用程序触发的操作;
切换模块,用于响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行;
第二调用模块,用于调用可信操作系统下的可信中间件;
第二控制模块,用于控制所述可信中间件执行所述敏感数据操作;
读写模块,用于在所述敏感数据操作的执行过程中,控制所述可信中间件从安全元件中读取敏感数据使用,和/或,控制所述可信中间件写入敏感数据到所述安全元件中;
其中,所述开放操作系统、所述通用中间件、所述可信操作系统和所述可信中间件均配置在可信执行环境TEE芯片中,所述安全元件具体为SE芯片。
6.根据所述权利要求5所述的设备,其特征在于,所述通用中间件中具有敏感数据操作代理接口,所述敏感数据操作代理接口用于响应所述应用程序在所述开放操作系统下触发敏感数据操作;
所述切换模块包括:
监测子模块,用于在所述应用程序在所述开放操作系统下的运行过程中,监测所述通用中间件的运行;
调用子模块,用于响应于所述通用中间件运行所述敏感数据操作代理接口,调用安全监视器;
控制子模块,用于控制所述安全监视器将所述应用程序的运行环境从所述开放操作系统切换到可信操作系统。
7.根据权利要求5所述的设备,其特征在于,还包括:
第三控制模块,用于调用可信操作系统下的可信中间件之后,响应于控制所述可信中间件与所述安全元件之间建立安全通道,以便所述可信中间件与所述安全元件之间通过所述安全通道进行敏感数据的交互。
8.根据权利要求5所述的设备,其特征在于,还包括:
第四控制模块,用于在所述敏感数据操作的执行过程中,控制所述可信中间件对输出信息进行加密;
存放模块,用于将加密后的输出信息存放在开放存储器中;其中,所述开放存储器用于存储所述开放操作系统下和所述可信操作系统下产生的信息。
一种操作敏感数据的方法和设备\n技术领域\n[0001] 本发明涉及数据处理技术,特别是涉及一种操作敏感数据的方法和设备。\n背景技术\n[0002] 目前,许多应用程序都会涉及到敏感数据的处理。例如,网银客户端在运行过程中需要对密钥、PIN码等敏感数据进行处理。为了保证敏感数据的安全性,现有的网银客户端,采用了一种可与用户终端相连接的外置安全元件(如网银盾、U盾),作为敏感数据的密钥是存储在外置安全元件中的,当网银客户端在需要使用密钥来进行操作时,需要由中间件去从外置安全元件中取出密钥,然后由中间件来完成使用密钥的操作。其中,安全元件(Secure Element,简称SE)中具有加密/解密逻辑电路,可以防止外部恶意解析攻击,保护其所存储的数据的安全。\n[0003] 对于现有的敏感数据操作方式来说,虽然敏感数据存储在SE中可以保证敏感数据在存储时不被外部恶意解析,但由于用于对敏感数据进行操作的中间件是在开放平台下运行的,所以,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,敏感数据实际上是处于开放平台下,这样就使得恶意用户可以通过在开放平台下的攻击破解方式而大大增加了获得敏感数据的机会,从而难以保证敏感数据的安全。\n发明内容\n[0004] 本发明所要解决的技术问题是,提供一种操作敏感数据的方法和设备,以解决按照现有技术中在中间件对敏感数据进行操作的过程中敏感数据暴露在开放平台下而导致难以保证敏感数据安全的问题。\n[0005] 为解决上述技术问题,本发明提供了一种操作敏感数据的方法,该方法包括:\n[0006] 一种敏感数据操作的方法,包括:\n[0007] 响应于应用程序在开放操作系统下运行,调用所述开放操作系统下的通用中间件,并控制所述通用中间件执行所述应用程序触发的操作;\n[0008] 响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行,并调用可信操作系统下的可信中间件,控制所述可信中间件执行所述敏感数据操作;\n[0009] 在所述敏感数据操作的执行过程中,控制所述可信中间件从安全元件中读取敏感数据,和/或,控制所述可信中间件写入敏感数据到所述安全元件中。\n[0010] 所述通用中间件中具有敏感数据操作代理接口,所述敏感数据操作代理接口用于响应所述应用程序,在所述开放操作系统下触发敏感数据操作;\n[0011] 所述响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行,包括:\n[0012] 在所述应用程序在所述开放操作系统下的运行过程中,监测所述通用中间件的运行;\n[0013] 响应于所述通用中间件运行所述敏感数据操作代理接口,调用安全监视器,并控制所述安全监视器将所述应用程序的运行环境从所述开放操作系统切换到可信操作系统。\n[0014] 所述调用可信操作系统下的可信中间件之后,还包括:\n[0015] 控制所述可信中间件与所述安全元件之间建立安全通道,以便所述可信中间件与所述安全元件之间通过所述安全通道进行敏感数据的交互。\n[0016] 所述方法还包括:\n[0017] 在所述敏感数据操作的执行过程中,控制所述可信中间件对输出信息进行加密,并将加密后的输出信息存放在开放存储器中;其中,所述开放存储器用于存储所述开放操作系统下和所述可信操作系统下产生的信息。\n[0018] 所述开放操作系统和所述可信操作系统配置于可信执行环境TEE芯片中,所述安全元件为SE芯片。\n[0019] 一种敏感数据操作的设备,包括:\n[0020] 第一调用模块,用于响应于应用程序在开放操作系统下运行,调用所述开放操作系统下的通用中间件;\n[0021] 第一控制模块,用于控制所述通用中间件执行所述应用程序触发的操作;\n[0022] 切换模块,用于响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行;\n[0023] 第二调用模块,用于调用可信操作系统下的可信中间件;\n[0024] 第二控制模块,用于控制所述可信中间件执行所述敏感数据操作;\n[0025] 读写模块,用于在所述敏感数据操作的执行过程中,控制所述可信中间件从安全元件中读取敏感数据使用,和/或,控制所述可信中间件写入敏感数据到所述安全元件中。\n[0026] 所述通用中间件中具有敏感数据操作代理接口,所述敏感数据操作代理接口用于响应所述应用程序在所述开放操作系统下触发敏感数据操作;\n[0027] 所述切换模块包括:\n[0028] 监测子模块,用于在所述应用程序在所述开放操作系统下的运行过程中,监测所述通用中间件的运行;\n[0029] 调用子模块,用于响应于所述通用中间件运行所述敏感数据操作代理接口,调用安全监视器;\n[0030] 控制子模块,用于控制所述安全监视器将所述应用程序的运行环境从所述开放操作系统切换到可信操作系统。\n[0031] 所述设备还包括:\n[0032] 第三控制模块,用于调用可信操作系统下的可信中间件之后,响应于控制所述可信中间件与所述安全元件之间建立安全通道,以便所述可信中间件与所述安全元件之间通过所述安全通道进行敏感数据的交互。\n[0033] 所述设备还包括:\n[0034] 第四控制模块,用于在所述敏感数据操作的执行过程中,控制所述可信中间件对输出信息进行加密;\n[0035] 存放模块,用于将加密后的输出信息存放在开放存储器中;其中,所述开放存储器用于存储所述开放操作系统下和所述可信操作系统下产生的信息。\n[0036] 所述开放操作系统和所述可信操作系统配置于可信执行环境TEE芯片中,所述安全元件为SE芯片。\n[0037] 与现有技术相比,本发明具有以下优点:\n[0038] 根据本发明实施例提供的技术方案,当应用程序在开放操作系统下运行时,可以调用开放操作系统下的通用中间件,并控制通用中间件执行应用程序触发的操作,而当应用程序在所述开放操作系统下触发敏感数据操作,可以将应用程序从开放操作系统切换到可信操作系统下运行,并调用可信操作系统下的可信中间件,控制可信中间件执行该敏感数据操作,在敏感数据操作的执行过程中,可以控制可信中间件从安全元件中读取敏感数据使用,和/或,控制可信中间件写入敏感数据到安全元件中。因此,由于应用程序在触发敏感数据操作时被切换到可信操作系统下运行,并且敏感数据操作具体是调用可信操作系统下的可信中间件来执行的,所以,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,可以使得敏感数据处于可信平台下,从而避免恶意用户通过开放平台下的攻击破解方式去获得敏感数据,保证敏感数据在中间件操作阶段的安全。另外,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,由于敏感数据实际上是在安全环境存储和运行,因此可以使敏感数据在安全区域中以明文形式存储而无需再加密存储,从而使得可信中间件对敏感数据的访问速度更快,提高敏感数据操作的处理速度。\n附图说明\n[0039] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0040] 图1为本发明实施方式中一个示例性应用场景的框架示意图;\n[0041] 图2为本发明中敏感数据操作的方法实施例1的流程图;\n[0042] 图3为本发明实施例中系统架构一实施方式的示意图;\n[0043] 图4为本发明中敏感数据操作的方法实施例2的流程图;\n[0044] 图5为本发明中敏感数据操作的设备实施例1的结构图;\n[0045] 图6为本发明实施例中切换模块503一实施方式的结构图;\n[0046] 图7为本发明中敏感数据操作的设备实施例2的结构图;\n[0047] 图8为本发明中敏感数据操作的设备实施例3的结构图.\n具体实施方式\n[0048] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。\n[0049] 发明人经过研究发现,对于涉及敏感数据的应用程序来说,其为了保证敏感数据的安全,通常是将敏感数据存储在外置安全元件中,在需要使用敏感数据时需要调用中间件来对敏感数据进行操作。而现有的设备中都是为所有应用程序提供了一个开放操作系统,所有应用程序都在开放操作系统下运行,所有应用程序触发的操作也都是调用开放操作系统下的中间件来执行,因此,对于涉及敏感数据的应用程序来说,调用中间件对敏感数据进行操作时,敏感数据实际上处于开放平台下,这样就使得恶意用户容易通过开放平台获得敏感数据,从而难以保证敏感数据的安全。此外,虽然开放平台下中间件可以通过加密、加壳等方式,但加密技术、加壳技术的算法是基于开放平台的运行机制并且是公开的,这不仅仍然难以避免恶意用户在开放平台下的攻击破解,而且还使得在中间件对敏感数据操作的过程中需要访问加密过的敏感数据而导致敏感数据操作的效率低下。\n[0050] 基于上述研究,本发明的基本思想在于:在同一设备中提供开放操作系统和可信操作系统,其中,可信操作系统接管设备硬件可形成可信执行环境(Trusted Excutive Enviroment,简称TEE);对于涉及敏感数据的应用程序来说,当应用程序在开发操作系统下触发敏感数据操作时被切换到可信操作系统下运行,并调用可信操作系统下的可信中间件来执行敏感数据操作,在敏感数据操作的执行过程中,控制可信中间件从安全元件中读取敏感数据使用,和/或,控制可信中间件写入敏感数据到安全元件中。因此,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,可以使得敏感数据处于可信环境中,从而避免恶意用户通过开放平台下的攻击破解方式去获得敏感数据,保证敏感数据在中间件操作阶段的安全。另外,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,由于敏感数据实际上是存储在安全区域,因此可以使敏感数据在区域以明文形式存储而无需再加密存储,从而使得可信中间件对敏感数据的访问速度更快,提高敏感数据操作的处理速度。\n[0051] 基于上述基本思想,本发明实施方式的一个应用场景示例,可以应用到如图1所示的系统中。其中,该系统可以包括可信操作系统101、开放操作系统102、可信操作系统101下的可信中间件103、开放操作系统102下的通用中间件104和安全元件105。\n[0052] 基于图1所示的应用场景示例框架中,应用程序在开放操作系统102下运行时,可以调用开放操作系统102下的通用中间件104,并控制通用中间件104执行应用程序触发的操作,而当应用程序在所述开放操作系统102下触发敏感数据操作,可以将应用程序从开放操作系统102切换到可信操作系统101下运行,并调用可信操作系统101下的可信中间件\n103,控制可信中间件103执行该敏感数据操作,在敏感数据操作的执行过程中,可以控制可信中间件103从安全元件105中读取敏感数据,和/或,控制可信中间件103写入敏感数据到安全元件105中。\n[0053] 需要注意的是,上述示例性应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。\n[0054] 在介绍了本发明的主要思想以后,下面结合附图,详细说明本发明的各种非限制性实施方式。\n[0055] 参见图2,示出了本发明中敏感数据操作的方法实施例1的流程图。在本实施例中,例如具体可以包括如下步骤:\n[0056] S201、响应于应用程序在开放操作系统下运行,调用所述开放操作系统下的通用中间件,并控制所述通用中间件执行所述应用程序触发操作。\n[0057] 具体实现时,同一设备上可以提供有开放操作系统和可信操作系统两种操作系统。对于涉及敏感数据的应用程序来说,当应用程序触发不涉及敏感数据的非敏感数据操作时,在开放操作系统下运行应用程序,非敏感数据操作是由开放操作系统下的通用中间件来执行;当应用程序触发涉及敏感数据的敏感数据操作时,在可信操作系统下运行应用程序,敏感数据操作是由可信操作系统下的可信中间件来执行。\n[0058] 例如,对于网银客户端这一应用程序示例来说,其敏感数据主要包括有密钥、PIN码、配置信息等。其中,涉及到密钥的敏感数据操作主要有加密、解密、密钥协商、签名、验签等,涉及到PIN码的敏感数据操作主要有校验PIN码、更新PIN码、解锁PIN码等,涉及到配置信息的敏感数据操作主要有加密配置信息、验证配置信息等。当网银客户端触发不涉及到密钥、PIN码、配置信息等任何敏感数据的非敏感数据操作时,在开放操作系统下运行网银客户端,由通用中间件来执行非敏感数据操作;当网银客户端触发签名、加密、校验PIN码等任何涉及敏感数据的敏感数据操作时,在可信操作系统下运行网银客户端,由可信中间件来执行敏感数据操作。\n[0059] S202、响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行,并调用可信操作系统下的可信中间件,控制所述可信中间件执行所述敏感数据操作。\n[0060] 其中,可信操作系统接管设备硬件可以为用于执行敏感数据操作的可信中间件的运行提供可信执行环境。可信执行环境是存在于智能手机、平板电脑等设备的主处理器中的一个安全区域。可信中间件在可信执行环境中运行,可以使可信中间件在敏感数据操作的执行过程中调用的敏感数据在一个可信环境中被存储、处理,从而受到保护而避免被恶意获取。\n[0061] 需要说明的是,在现有技术中,对于涉及敏感数据的应用程序来说,存在性能和安全的矛盾:一方面,用于存储敏感数据的安全元件能够提供安全机制保障的片上操作系统(Chip Operating System,简称COS),能够提供安全的运行环境,但其性能较低、操作系统功能也比较简单,因此,敏感数据操作无法完全在安全元件中执行;另一方面,用于对敏感数据操作的中间件依靠着强大的中央处理器、存储器等硬件器件和开放操作系统等资源能够提供强大的性能和丰富的功能,也因此敏感数据操作主要是由中间件来执行,但现有的中间件又运行在开放操作系统下,这就使得敏感数据的安全难以保证。而本实施例中,由于在设备上同时提供了开放操作系统和可信操作系统,敏感数据操作可以在可信执行环境中由可信中间件来执行,一方面使得敏感数据操作可以由性能强大和功能丰富的中间件来执行,另一方面可以使得敏感数据在敏感数据操作的执行过程中可以在一个可信环境中被存储、处理,以保证安全性。\n[0062] 在本实施例的一些实施方式中,为了保障应用程序触发操作流程具有完整性及连贯性的用户体验,可以在开放操作系统下的通用中间件中设置一个敏感数据操作代理接口,当应用程序触发敏感数据操作时,通用中间件运行到该敏感数据操作代理接口,该敏感数据操作代理接口则触发将应用程序切换到可信操作系统下以及调用可信中间件来执行该敏感数据操作,其中操作系统的切换可以是通过一个安全监视器来实现,这样就可以使得敏感数据操作可以在开放操作系统下的通用中间件触发,保持了通用中间件处理流程的完整性和连贯性。具体地,例如可以使开放操作系统下的所述通用中间件中具有敏感数据操作代理接口,所述敏感数据操作代理接口可以用于响应所述应用程序在所述开放操作系统下触发敏感数据操作;相应地,对应用程序触发的敏感数据操作监测和操作系统的切换,例如可以包括:在所述应用程序在所述开放操作系统下的运行过程中,监测所述通用中间件的运行;响应于监测到所述通用中间件运行所述敏感数据操作代理接口,调用安全监视器,并控制所述安全监视器将所述应用程序的运行环境从所述开放操作系统切换到可信操作系统。\n[0063] S203、在所述敏感数据操作的执行过程中,控制所述可信中间件从安全元件中读取敏感数据使用,和/或,控制所述可信中间件写入敏感数据到所述安全元件中。\n[0064] 其中,敏感数据操作的执行过程中需要使用到敏感数据,例如加密、解密、签名、验签等敏感数据操作需要使用密钥。而敏感数据是存储在安全元件中的。因此,在敏感数据操作的执行过程中,可信中间件需要到安全元件中去读取敏感数据使用,或者,可信中间件需要将敏感数据写入到安全元件中,以便安全元件存储或操作。\n[0065] 可以理解的是,在本实施例的一些实施方式中,考虑到可信中间件对安全元件读写敏感数据时实际上是两个操作系统之间进行敏感数据的交互,而敏感数据在两个系统之间进行传输的过程中也可能会遭受到恶意攻击。为了避免可信中间件对安全元件读写敏感数据时敏感数据受到恶意攻击,可以使可信中间件与安全元件之间通过安全通道传输敏感数据。具体地,本实施例中,在所述调用可信操作系统下的可信中间件之后,例如还可以包括:控制所述可信中间件与所述安全元件之间建立安全通道,以便所述可信中间件与所述安全元件之间通过所述安全通道进行敏感数据的交互。其中,安全通道的建立,可以是通过可信中间件与安全元件之间进行密钥协商的方式来实现。\n[0066] 在本实施例的另一些实施方式中,考虑到敏感数据操作的执行过程中会有大量的输出信息,这些输出信息具有一定的安全性要求,但安全元件中所提供的安全存储区成本高、容量小且不灵活,因此,敏感数据操作的大量输出信息不宜存储在安全元件所提供的安全存储区内。而由于敏感数据操作的执行过程是在可信操作系统下完成的,输出信息在可信操作系统下是安全,因此,输出信息可以先在可信操作系统下加密再保存到普通方式的开放存储器中,这样也可以保证输出信息的安全。具体地,本实施例例如还可以包括:在所述敏感数据操作的执行过程中,控制所述可信中间件对输出信息进行加密,并将加密后的输出信息存放在开放存储器中;其中,所述开放存储器用于存储所述开放操作系统下和所述可信操作系统下产生的信息。\n[0067] 需要说明的是,本实施例的一些实施方式中,同一设备上提供的开放操作和可信操作系统,具体可以是同时配置于可信执行环境TEE芯片中,而安全元件具体是可以是SE芯片。其中,SE芯片可以是与TEE芯片同时配置在同一设备中,如SE芯片和TEE芯片同时内置于手机、平板电脑等移动设备,或者,SE芯片也可以是相对于TEE芯片所在设备的一个外置设备,如内置SE芯片的网银盾可以连接到内置TEE芯片的手机、平板电脑等移动设备。\n[0068] 具体地说,参见图3,在TEE芯片的硬件子系统中间件层中,具有由TEE授权软件提供的可信操作系统和可信中间件,以及,还具有开放操作系统和通用中间件。在通用中间件中可以具有一个由安全监视器监测的敏感数据操作代理接口。当安全监视器监测到通用中间件运行到敏感数据操作代理接口时则将运行环境从开放操作系统切换到可信操作系统,调用可信中间件完成敏感数据操作。可信中间件可以具有一个敏感数据存储接口API,用于可信中间件与SE芯片的片上操作系统(COS层)之间进行数据交互,完成对SE芯片读写敏感数据。\n[0069] 通过本实施例的技术方案,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,可以使得敏感数据处于可信平台下,从而避免恶意用户通过开放平台下的攻击破解方式去获得敏感数据,保证敏感数据在中间件操作阶段的安全。另外,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,由于敏感数据实际上是存储在安全区域中,因此可以使敏感数据在安全区域中以明文形式存储而无需再加密存储,从而使得可信中间件对敏感数据的访问速度更快,提高敏感数据操作的处理速度。\n[0070] 为了使本领域技术人员对本发明实施方式的应用有更加深入的了解,下面以一个应用场景为例,介绍一种敏感数据操作的方法实施方式的应用示例。在该应用场景下,涉及到敏感数据的应用程序为网银客户端,敏感数据操作具体为密钥数据操作。\n[0071] 参见图4,示出了本发明中敏感数据操作的方法实施例2的流程图。在本实施例中,例如可以包括如下步骤:\n[0072] S401、在开放操作系统下启动网银客户端。\n[0073] S402、为网银客户端调用通用中间件运行。\n[0074] S403、当网银客户端触发密钥数据操作时,通用中间件运行到密钥操作代理接口,以通过密钥操作代理接口调用密钥操作。\n[0075] 其中,密钥数据操作主要可以包括密码加密操作、密码解密操作、签名操作、验签操作等。\n[0076] S404、通过安全监视器将网银客户端的运行环境切换到可信操作系统,以便建立与可信操作系统下的可信中间件之间的通讯。\n[0077] S405、调用可信中间件中的密钥数据操作。\n[0078] S406、在可信中间件执行密钥数据操作的过程中,控制可信中间件与SE之间进行密钥协商,以建立安全通道。\n[0079] S407、控制可信中间件从SE读取密钥数据或写入密钥数据到SE。\n[0080] S408、实际操作SE硬件存储器。\n[0081] 通过本实施例的技术方案,在从SE中取出密钥数据之后网银中间件对密钥数据进行操作的过程中,可以使得密钥数据处于可信平台下,从而避免恶意用户通过开放平台下的攻击破解方式去获得用户网银的密钥数据,保证密钥数据在中间件操作阶段的安全。另外,在从SE中取出密钥数据之后中间件对密钥数据进行操作的过程中,由于密钥数据实际上是存储在安全的缓冲区中,因此可以使密钥数据在安全缓冲区中以明文形式存储而无需再加密存储,从而使得可信中间件对密钥数据的访问速度更快,提高密钥数据操作的处理速度。\n[0082] 在介绍了本发明中示例性的方法之后,接下来对本发明示例性实施方式的、用于敏感数据操作的设备进行介绍。\n[0083] 参见图5,示出了本发明中敏感数据操作的设备实施例1的结构图。在本实施例中,所述设备例如具体可以包括:\n[0084] 第一调用模块501,用于响应于应用程序在开放操作系统下运行,调用所述开放操作系统下的通用中间件;\n[0085] 第一控制模块502,用于控制所述通用中间件执行所述应用程序触发的操作;\n[0086] 切换模块503,用于响应于所述应用程序在所述开放操作系统下触发敏感数据操作,将所述应用程序从所述开放操作系统切换到可信操作系统下运行;\n[0087] 第二调用模块504,用于调用可信操作系统下的可信中间件;\n[0088] 第二控制模块505,用于控制所述可信中间件执行所述敏感数据操作;\n[0089] 读写模块506,用于在所述敏感数据操作的执行过程中,控制所述可信中间件从安全元件中读取敏感数据使用,和/或,控制所述可信中间件写入敏感数据到所述安全元件中。\n[0090] 可选的,在本实施例的一些实施方式中,所述通用中间件中例如可以具有敏感数据操作代理接口,所述敏感数据操作代理接口例如可以用于响应所述应用程序在所述开放操作系统下触发敏感数据操作;相应地,参见图6,所述切换模块503例如具体可以包括:\n[0091] 监测子模块601,用于在所述应用程序在所述开放操作系统下的运行过程中,监测所述通用中间件的运行;\n[0092] 调用子模块602,用于响应于监测到所述通用中间件运行到所述敏感数据操作代理接口,调用安全监视器;\n[0093] 控制子模块603,用于控制所述安全监视器将所述应用程序的运行环境从所述开放操作系统切换到可信操作系统。\n[0094] 可选的,在本实施例的另一些实施方式中,所述开放操作系统和所述可信操作系统例如可以配置于可信执行环境TEE芯片中,所述安全元件例如可以为SE芯片。\n[0095] 参见图7,示出了本发明中敏感数据操作的设备实施例2的结构图。在本实施例中,除了图5所示的所有结构之外,所述设备例如还可以包括:\n[0096] 第三控制模块701,用于调用可信操作系统下的可信中间件之后,响应于控制所述可信中间件与所述安全元件之间建立安全通道,以便所述可信中间件与所述安全元件之间通过所述安全通道进行敏感数据的交互\n[0097] 参见图8,示出了本发明中敏感数据操作的设备实施例3的结构图。在本实施例中,除了图5所示的所有结构之外,所述设备例如还可以包括:\n[0098] 第四控制模块801,用于在所述敏感数据操作的执行过程中,控制所述可信中间件对输出信息进行加密;\n[0099] 存放模块802,用于将加密后的输出信息存放在开放存储器中;其中,所述开放存储器用于存储所述开放操作系统下和所述可信操作系统下产生的信息。\n[0100] 通过本实施例的技术方案,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,可以使得敏感数据处于可信平台下,从而避免恶意用户通过开放平台下的攻击破解方式去获得敏感数据,保证敏感数据在中间件操作阶段的安全。另外,在从SE中取出敏感数据之后中间件对敏感数据进行操作的过程中,由于敏感数据实际上是存储在安全的缓冲区中,因此可以使敏感数据在安全缓冲区中以明文形式存储而无需再加密存储,从而使得可信中间件对敏感数据的访问速度更快,提高敏感数据操作的处理速度。\n[0101] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。\n[0102] 对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。\n[0103] 以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-10-31
|
2010-12-14
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |