保障客户端运行安全的装置制造方法

文档序号:6620490阅读:151来源:国知局
保障客户端运行安全的装置制造方法
【专利摘要】本发明实施例公开了一种保障客户端运行安全的装置。该装置包括安全部件、非安全操作系统、安全操作系统、运行在非安全操作系统中的第一中间件和第二中间件代理,以及运行在安全操作系统中的第二中间件;在非安全操作系统上安装有客户端应用,客户端应用直接调用所述第一中间件,客户端应用通过第二中间件代理调用第二中间件;安全部件存储有客户端应用中的敏感数据;第一中间件用于在非安全操作系统中完成客户端应用中的一部分服务功能;第二中间件用于在安全操作系统中通过与安全部件进行交互,完成客户端应用中的另一部分服务功能。根据本发明实施例,减小甚至避免由客户端所完成的操作的安全隐患。
【专利说明】保障客户端运行安全的装置

【技术领域】
[0001] 本发明涉及嵌入式【技术领域】,特别是涉及保障客户端运行安全的装置。

【背景技术】
[0002] 网上银行系统或者电子财务系统等的应用系统一般是由:服务端、中间网络层以 及客户端组成的,整个应用系统的安全性需要由以上三个部分的运行安全来保障。例如,在 网上银行系统中,服务端以及中间网络层是由银行来保障其运行安全的,而客户端的运行 安全则由一个网上银行安全装置来保障。
[0003] 目前,主流的网上银行安全装置为:网银盾(也可以称为USBKey,其外形看似一个 便携式的U盘),网银盾作为用户身份认证和交易签名的终端,已经被网上银行和电子财务 等广泛应用于各种终端认证产品。同样,在除了网上银行系统之外的其它应用系统中,也存 在保障客户端运行安全的装置。
[0004] 这些保障客户端运行安全的装置中会集成有微处理器、存储器和片上操作系统 (COS, Chip On Sysetem),并构成一个独立的计算机系统,具有独立的数据处理能力。并且, 通过C0S的安全机制保障在该装置内的数据处理以及传输的安全。
[0005] 由于这些保障客户端运行安全的装置在外形上都比较小巧,因此,其片上操作系 统以及硬件的配置通常都不会太高。而受到配置方面的限制,通常只能将一些安全性要求 非常高的操作交给该装置执行,而将其余一些安全性要求相对比较低的操作交给客户端执 行,从而避免给该装置带来太大的工作压力。
[0006] 但是,在实现本发明的过程中,本发明的发明人发现现有技术中至少存在如下问 题:由于客户端运行在一个开放的执行环境(执行环境包括操作系统部分以及相应的硬件 部分)中,而开放的执行环境本身是不安全、不可信的,因此,由客户端完成的操作就会存 在非常大的安全隐患。例如,当用户在客户端上输入网银盾的PIN码以便客户端提交给网 银盾进行验证时,由于一个开放的执行环境无法阻止键盘记录等恶意软件的攻击,因此,很 有可能会出现PIN码泄露。


【发明内容】

[0007] 为了解决上述技术问题,本发明实施例提供了保障客户端运行安全的装置,以减 小甚至避免由客户端所完成的操作的安全隐患。
[0008] 本发明实施例公开了如下技术方案:
[0009] -种保障客户端运行安全的装置,包括:安全部件、非安全操作系统、安全操作系 统、运行在所述非安全操作系统中的第一中间件和第二中间件代理,以及运行在所述安全 操作系统中的第二中间件;其中,
[0010] 在所述非安全操作系统上安装有客户端应用,所述客户端应用直接调用所述第一 中间件,所述客户端应用通过所述第二中间件代理调用所述第二中间件;
[0011] 所述安全部件用于实现所述装置的信息安全;
[0012] 所述第一中间件用于在所述非安全操作系统中完成所述客户端应用中预先设定 的第一部分服务功能;
[0013] 所述第二中间件用于在所述安全操作系统中通过与所述安全部件进行交互,完成 所述客户端应用中预先设定的第二部分服务功能。
[0014] 所述安全操作系统位于安全执行环境中,所述非安全操作系统位于非安全执行环 境中,所述安全执行环境与所述非安全执行环境之间通过硬件防火墙进行隔离。
[0015] 所述安全执行环境和所述非安全执行环境共用相同的硬件系统。
[0016] 所述硬件系统为可信执行环境TEE芯片硬件系统。
[0017] 所述安全执行环境和所述非安全执行环境之间通过安全监视器进行切换。
[0018] 所述第二中间件通过应用程序接口 API与所述安全部件进行交互。
[0019] 所述第二中间件至少包括输入中间件、输出中间件、身份认证中间件、签名中间件 和文件管理中间件。
[0020] 所述第二中间件代理至少包括:输入中间件代理、输出中间件代理、身份认证中间 件代理、签名中间件代理和文件管理中间件代理。
[0021] 所述安全部件包括片上操作系统C0S和安全元件SE芯片硬件系统。
[0022] 所述C0S至少包括输入子系统、输出子系统、身份认证子系统、签名子系统和文件 管理子系统。
[0023] 所述C0S还包括:生命周期子系统,用于管理所述C0S的各个生命周期。
[0024] 由上述实施例可以看出,与现有技术相比,本发明的优点在于:
[0025] 将保障客户端运行安全的装置内置在客户端所在的设备中,也就是说,将客户端 与保障客户端运行安全的装置集成在同一个设备中。在该设备中,包含有两个相互隔离的 操作系统:安全操作系统和非安全操作系统,该安全操作系统所在的安全执行环境和该非 安全操作系统所在的非安全执行环境共用同一个硬件系统。对于没有安全性要求,或者安 全性要求非常低的操作,可以由非安全操作系统控制执行。而对于安全性要求比较高的操 作,可以由安全执行环境控制执行。例如,PIN码的输入等操作。因此,可以减小甚至避免 由客户端所完成的操作的安全隐患。
[0026] 另外,由于该安全操作系统所在的安全执行环境和该非安全操作系统所在的非安 全执行环境共用同一个硬件系统,因此,也节省了成本、降低了复杂性和功耗。
[0027] 并且,将保障客户端运行安全的装置内置在客户端所在的设备,还可以防止用户 在业务执行过程中意外将保障客户端运行安全的装置拔出,保障业务的顺利执行。

【专利附图】

【附图说明】
[0028] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0029] 图1为本发明提供的一种保障客户端运行安全的装置的一个实施例的结构图;
[0030] 图2为本发明提供的一种保障客户端运行安全的装置的另一个实施例的结构图;
[0031] 图3为本发明提供的一种保障客户端运行安全的装置的另一个实施例的结构图;
[0032] 图4为通过本发明的保证客户端运行安全的装置实现签名操作的方法流程图。

【具体实施方式】
[0033] 本发明实施例提供了一种保障客户端运行安全的装置。本发明技术方案的核心在 于,为保障客户端运行安全的装置提供更强大的硬件以及软件性能,将保障客户端运行安 全的装置内置在客户端所在的设备中,也就是说,将客户端与保障客户端运行安全的装置 集成在同一个设备中。该集成后的设备即为本发明提出的新型的保障客户端运行安全的装 置。该装置可以为PC机,也可以为各种移动终端(包括手机和平板电脑等)。其中,在该装 置中,隔离了两个平行的执行环境:非安全执行环境以及安全执行环境。对于没有安全性要 求,或者安全性要求非常低的操作,可以放在非安全执行环境中执行。而对于安全性要求比 较高的操作,可以放在安全执行环境中执行。
[0034]目前,"安全操作系统"(也可以称为可信操作系统)是指计算机信息系统在自主 访问控制、强制访问控制、标记、身份鉴别、客体重用、审计、数据完整性、隐蔽信道分析、可 信路径和可信恢复等十个方面满足相应的安全技术要求。"安全操作系统"的主要特征是 :
[0035] 1、最小特权原则,即每个特权用户只拥有能进行他工作的权力。
[0036] 2、实现自主访问控制和强制访问控制,强制访问控制包括保密性访问控制和完整 性访问控制。
[0037] 3、安全审计。
[0038] 4、安全域隔离。
[0039] 只要有了这些最底层的安全功能,各种混为"应用软件"的病毒、木马程序、网络入 侵和人为非法操作才能被真正抵制,因为它们违背了操作系统的安全规则,也就失去了运 行的基础。
[0040] 安全执行环境,例如,可信执行环境(TEE,Trusted Execution Environment),是 指通过在采用安全设计的终端设备上运行经过认证的安全操作系统,从而在现有的终端设 备上提供一个可以信赖的应用执行环境。根据需要,运行TEE的设备可以达到EAL2、3或者 更高级别。上述安全设计包括采用SoC(Sy Stem On Chip,片上操作系统)芯片以及电路板 布局规则等方面。在SoC芯片方面,目前移动终端上的应用处理器核心多使用ARM公司的 Cortex系列芯片,ARM公司在Cortex处理器上实现了 TrustZone技术。
[0041] TrustZone技术使SoC芯片具备了正常和安全两种状态,在正常状态下,可以运行 Android等非安全操作系统,并执行相应的应用程序。在安全状态下,可以运行安全操作系 统(Trusted 0S),并执行某些安全性要求较高的操作和服务,如用户密码输入、交易信息显 示、与远程服务器的安全会话建立、加解密数据、保存用户敏感信息等操作。当处于安全状 态时,非安全操作系统下的各应用程序对整个终端设备没有控制权,仅有安全操作系统下 的相应的应用程序可以访问终端设备,如,终端设备上的显示器、键盘、SD卡和NFC(近距离 无线通讯,Near Field Communication)设备等。
[0042] 安全操作系统可以抵制各种目前已知的远程攻击和本地软件攻击,部分硬件攻 击,不能抵御智能卡具有的各种防篡改硬件攻击。
[0043] 另外,在软件方面,应用程序可分为两个部分,一个部分是运行在Android等非安 全操作系统下的应用程序,这些应用程序为用户提供了友好的界面,另一个部分是运行在 安全操作系统中的安全服务,这些服务将执行安全性较高的操作,如,用户信息输入和交易 内容确认等。
[0044] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明 实施例进行详细描述。
[0045] 请参阅图1,其为本发明提供的一种保障客户端运行安全的装置的一个实施例的 结构图,该装置10包括:安全部件11、非安全操作系统12、安全操作系统13、运行在非安全 操作系统12中的第一中间件121和第二中间件代理122,以及运行在安全操作系统13中的 第二中间件131。其中,
[0046] 在非安全操作系统12上安装有客户端应用20,客户端应用20直接调用运行在非 安全操作系统12中的第一中间件121,客户端应用20通过运行在非安全操作系统12中的 第二中间件代理122调用运行在安全操作系统13中的第二中间件131。
[0047] 安全部件11用于实现所述装置的信息安全。
[0048] 第一中间件121用于在非安全操作系统12中完成客户端应用20中预先设定的第 一部分服务功能。第二中间件131用于在安全操作系统13中通过与安全部件11进行交互, 完成客户端应用中预先设定的第二部分服务功能。例如,当该保障客户端运行安全的装置 10运用于网上银行应用时,安全部件11存储的敏感数据21包括但不限于PIN码和交易密 钥。
[0049] 预先设定的第一部分服务功能即为预先设定的一些安全性低的服务功能,即,第 一中间件完成客户端应用中一些安全性低的服务功能。而预先设定的第二部分服务功能即 为预先设定的一些安全性高的服务功能,即,第二中间件完成客户端应用中一些安全性高 的服务功能。例如,安全性高的服务功能包括但不限于:用户信息输入和交易签名等。
[0050] 安全部件11具体可以为一个USBKey模块(存储敏感数据),第二中间件在安全操 作系统中通过与该USBKey模块进行交互,可以实现交易签名和加解密等数学运算。
[0051] 其中,中间件在操作系统、网络和数据库的上层,应用程序的下层,总的作用是为 处于自己上层的应用程序提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂 的应用程序。
[0052] 在本发明的一个优选实施方式中,如图2所示,安全操作系统12位于一个安全执 行环境中,非安全操作系统13位于一个非安全执行环境中,安全执行环境与非安全执行环 境中间通过硬件防火墙进行隔离。
[0053] 在本发明的另一个优选实施方式中,所述安全执行环境和所述非安全执行环 境共用相同的硬件系统。例如,该硬件系统为可信执行环境(TEE,Trusted Execution Environment)芯片硬件系统。
[0054] 在本发明的另一个优选实施方式中,所述安全执行环境和所述非安全执行环境之 间通过安全监视器进行切换。
[0055] 其中可以通过内存属性实现安全执行环境与非安全执行环境中的两个物理地址 空间之间的切换。即,安全地址空间与非安全地址空间,非安全执行环境只能访问非安全地 址空间,而不能访问安全地址空间。
[0056] 在本发明的另一个优选实施方式中,如图3所示,第二中间件131通过应用程序接 口(API,Application Programming Interface)与安全部件 11 进行交互。
[0057] 在本发明的技术方案中,安全操作系统为第二中间件提供了一个安全的运行环 境,第二中间件是一种安全可信的中间件。因此,可以将客户端应用中与安全性要求非常高 的操作相关的中间件作为第二中间件,使其运行在安全操作系统中,而将客户端应用中与 安全性要求比较低的操作相关的中间件作为第一中间件,使其运行在非安全操作系统中。 当然,也可以将客户端应用中与所有操作相关的各中间件全部作为第二中间件。
[0058] 在本发明的一个优选实施方式中,第二中间件至少包括:输入中间件、输出中间 件、身份认证中间件、签名中间件和文件管理中间件。
[0059] 例如,输入中间件可以为键盘或者触控设备的中间件,将输入中间件作为第二中 间件运行在安全操作系统中,可以防止键盘记录等一些恶意软件的攻击,避免PIN码泄露 等问题的出现,保证了安全性。
[0060] 为了实现在安全操作系统与非安全操作系统之间实现安全隔离,从而保证运行在 安全操作系统中的各第二中间件的安全性,位于非安全操作系统的客户端应用必须通过被 授权的代理(即,第二中间件代理)调用第二中间件。可以理解的,第二中间件代理相当于 非安全操作系统与安全操作系统之间的安全通道。
[0061] 与第二中间件相对应的,在本发明的另一个优选实施方式中,第二中间件代理至 少包括:输入中间件代理、输出中间件代理、身份认证中间件代理、签名中间件代理和文件 管理中间件代理。
[0062] 在本发明的另一个优选实施方式中,安全部件11包括C0S(片上操作系统,Chip Operating System)和 SE(安全兀件,Secure Element)芯片硬件系统。
[0063] 其中,通过C0S的安全机制可以保障安全部件11内数据操作、数据传输的安全。安 全部件11具有很高的安全级别,所有安全性要求比较高的相关操作都可以在安全操作系 统13和安全部件11中执行,安全操作系统13提供了较高的安全运算性能,安全部件11提 供了较高的安全存储以及运算性能。
[0064]为了配合与安全操作系统中的第二中间件完成安全性要求比较高的操作,在本发 明的另一个优选实施方式中,与第二中间件相对应的,cos至少包括输入子系统、输出子系 统、身份认证子系统、签名子系统和文件管理子系统。
[0065] 可以理解的,第二中间件中的输入中间件通过与C0S中的输入子系统进行交互, 完成客户端应用中的输入功能。第二中间件中的输出中间件通过与cos中的输出子系统进 行交互,完成客户端应用中的输出功能。第二中间件中的身份认证中间件通过与cos中的 身份认证子系统进行交互,完成客户端应用中的身份认证功能。第二中间件中的签名中间 件通过与cos中的签名子系统进行交互,完成客户端应用中的签名功能。第二中间件中的 文件管理中间件通过与cos中的文件管理子系统进行交互,完成客户端应用中的文件管理 功能。并且,由于是由位于安全操作系统中的第二中间件发起与安全部件中的cos建立通 信,所有的操作都是在安全操作系统中完成的,因此,保障了操作的高度安全性。
[0066] 在本发明的另一优选实施方式中,上述C0S还包括生命周期子系统,用于管理所 述cos的各个生命周期。
[0067] 例如,C0S的各个生命周期包括但不限于开发和生产阶段。
[0068] 由上述实施例可以看出,与现有技术相比,本发明的优点在于:
[0069] 将保障客户端运行安全的装置内置在客户端所在的设备中,也就是说,将客户端 与保障客户端运行安全的装置集成在同一个设备中。在该设备中,包含有两个相互隔离的 操作系统:安全操作系统和非安全操作系统,该安全操作系统所在的安全执行环境和该非 安全操作系统所在的非安全执行环境共用同一个硬件系统。对于没有安全性要求,或者安 全性要求非常低的操作,可以由非安全操作系统控制执行。而对于安全性要求比较高的操 作,可以由安全执行环境控制执行。例如,PIN码的输入等操作。因此,可以减小甚至避免 由客户端所完成的操作的安全隐患。
[0070] 另外,由于该安全操作系统所在的安全执行环境和该非安全操作系统所在的非安 全执行环境共用同一个硬件系统,因此,也节省了成本、降低了复杂性和功耗。
[0071] 并且,将保障客户端运行安全的装置内置在客户端所在的设备,还可以防止用户 在业务执行过程中意外将保障客户端运行安全的装置拔出,保障业务的顺利执行。
[0072] 在网上银行系统中,对于网上银行的客户端应用来说,在其与服务端之间完成的 交易操作中,最重要的操作之一就是签名操作,并且,该操作对于安全性要求也非常高。下 面以交易签名操作为例,来说明在本发明的保证客户端运行安全的装置中,如何实现一次 签名操作。请参阅图4所示,其为通过本发明的保证客户端运行安全的装置实现签名操作 的方法流程图,具体包括如下步骤:
[0073] 步骤401 :在非安全操作系统中,启动网上银行客户端应用。
[0074] 步骤402 :网上银行客户端应用调用非安全操作系统中的第一中间件。
[0075] 步骤403 :网上银行客户端应用调用非安全操作系统中的第二中间件代理,以便 通过第二中间件代理调用安全操作系统中的第二中间件。
[0076] 步骤404 :安全监视器监视将操作系统从非安全操作系统切换至安全操作系统。
[0077] 步骤405 :在安全操作系统中,安全操作系统控制输入中间件接收用户输入的PIN 码。
[0078] 步骤406 :安全操作系统建立其与安全部件之间的安全通道,并通过安全通道向 安全部件发送请求验证PIN码的请求消息。
[0079] 其中,在该请求消息中携带有PIN码。
[0080] 步骤407 :安全部件响应于请求消息,对PIN码进行验证,并在验证通过后,通过安 全通道向安全操作系统发送PIN验证通过的响应消息。
[0081] 步骤408 :安全操作系统控制签名中间件进行交易协商以及交易数据的校验。
[0082] 例如,交易数据的校验可以包括校验交易数据的总长度与交易数据总报数是否一 致,校验交易数据的格式是否满足要求以及校验交易数据是否完整。
[0083] 步骤409 :交易协商以及交易数据验证通过后,安全操作系统控制签名中间件将 交易数据发送给安全部件。
[0084] 与此同时,安全操作系统还可以控制输出中间件显示交易金额及相关信息。
[0085] 步骤410 :安全部件对交易数据进行交易签名,并将交易签名数据通过签名中间 件发送给安全操作系统。
[0086] 步骤411 :安全操作系统控制输出中间件显示交易签名结果。
[0087] 步骤412 :安全操作系统控制输入中间件接收用户输入的交易确认按键码。
[0088] 步骤413 :安全监视器将操作系统从安全操作系统切换回非安全操作系统。
[0089] 步骤414 :非安全操作系统将交易签名结果返回给网上银行客户端应用。
[0090] 所述领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系 统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0091] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以 通过其它的方式实现。例如,以上所描述到的装置实施例仅仅是示意性的,例如,所述单元 的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组 件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或 讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦 合或通信连接,可以是电性、机械或其它的形式。
[0092] 所述作为分离部件说明的单元可以是或者也可以是物理上分开的,作为单元显示 的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网 络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0093] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,可以采用软件功能单元的形式实现。
[0094] 需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部 分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机 可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的 存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体 (Random Access Memory,RAM)等。
[0095] 以上对本发明所提供的一种保障客户端运行安全的装置进行了详细介绍,本文中 应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮 助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思 想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本发明的限制。
【权利要求】
1. 一种保障客户端运行安全的装置,其特征在于,包括:安全部件、非安全操作系统、 安全操作系统、运行在所述非安全操作系统中的第一中间件和第二中间件代理,以及运行 在所述安全操作系统中的第二中间件;其中, 在所述非安全操作系统上安装有客户端应用,所述客户端应用直接调用所述第一中间 件,所述客户端应用通过所述第二中间件代理调用所述第二中间件; 所述安全部件用于实现所述装置的信息安全; 所述第一中间件用于在所述非安全操作系统中完成所述客户端应用中预先设定的第 一部分服务功能; 所述第二中间件用于在所述安全操作系统中通过与所述安全部件进行交互,完成所述 客户端应用中预先设定的第二部分服务功能。
2. 根据权利要求1所述的装置,其特征在于,所述安全操作系统位于安全执行环境中, 所述非安全操作系统位于非安全执行环境中,所述安全执行环境与所述非安全执行环境之 间通过硬件防火墙进行隔离。
3. 根据权利要求2所述的装置,其特征在于,所述安全执行环境和所述非安全执行环 境共用相同的硬件系统。
4. 根据权利要求3所述的装置,其特征在于,所述硬件系统为可信执行环境TEE芯片硬 件系统。
5. 根据权利要求2所述的装置,其特征在于,所述安全执行环境和所述非安全执行环 境之间通过安全监视器进行切换。
6. 根据权利要求1所述的装置,其特征在于,所述第二中间件通过应用程序接口 API与 所述安全部件进行交互。
7. 根据权利要求1所述的装置,其特征在于,所述第二中间件至少包括输入中间件、输 出中间件、身份认证中间件、签名中间件和文件管理中间件。
8. 根据权利要求7所述的装置,其特征在于,所述第二中间件代理至少包括:输入中间 件代理、输出中间件代理、身份认证中间件代理、签名中间件代理和文件管理中间件代理。
9. 根据权利要求7所述的装置,其特征在于,所述安全部件包括片上操作系统COS和安 全元件SE芯片硬件系统。
10. 根据权利要求9所述的装置,其特征在于,所述COS至少包括输入子系统、输出子系 统、身份认证子系统、签名子系统和文件管理子系统。
11. 根据权利要求10所述的装置,其特征在于,所述COS还包括:生命周期子系统,用 于管理所述COS的各个生命周期。
【文档编号】G06F21/53GK104102876SQ201410342446
【公开日】2014年10月15日 申请日期:2014年7月17日 优先权日:2014年7月17日
【发明者】江先 申请人:北京握奇智能科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1