一种移动终端中共享安全应用的方法及移动终端
技术领域
本申请涉及移动终端领域,尤其涉及一种移动终端中共享安全应用的方法及移动终端。
背景技术
随着移动互联网的发展,智能手机或者平板电脑等移动终端的功能也越来越强大,处理性能越来越强,它能够接入移动通信网、能够提供应用程序开发接口的开放操作系统并能够安装和运行各种应用软件,导致移动终端的安全性更加受到关注和重视。为了提高移动终端的安全性,移动终端集成了安全芯片(Secure Element,SE),由其提供一个安全的数据存储和运算环境。设置有安全芯片的移动终端被广泛应用于各种具有较高安全性要求的业务场景。现有技术中,在使用安全芯片提高移动终端的安全性时,通常需要针对每个移动应用在安全芯片中安装对应的独立安全应用(运行在安全芯片中的应用),并由该独立的安全应用负责完成该移动应用的安全运算需求,具有较高的开发成本和推广成本。
为了避免不必要的安全应用开发费用并降低推广成本,有必要提供一种解决方案,能够降低研发和推广成本,还可以保证移动应用安全运算和数据的独立性和安全性,从而降低移动应用使用安全芯片进行安全运算的成本。
发明内容
本申请实施例提供一种移动终端中共享安全应用的方法及移动终端,用于解决安全应用研发和推广成本高的问题。
本申请实施例提供了一种移动终端中共享安全应用的方法,所述移动终端可运行多个移动应用,所述移动终端还包括安全应用,所述方法包括:
所述安全应用接收多个移动应用的业务密钥;
所述安全应用接收多个移动应用发送的加密后的业务数据,并进行解密,得到各自解密后的业务数据;
所述安全应用使用所述多个移动应用的业务密钥处理各自相应的业务数据;
所述安全应用将处理后的各自相应的业务数据发送给相应的移动应用。
优选地,该方法还包括:
所述移动应用接收所述移动应用的通信安全保护密钥;
所述安全应用接收多个移动应用发送的加密后的业务数据,并进行解密包括:
所述安全应用接收多个移动应用发送的使用各自的通信安全保护密钥加密后的业务数据;
所述安全应用使用所述多个移动应用各自的通信安全保护密钥解密后得到所述各自的业务数据。
优选地,所述安全应用包括第一安全应用和第二安全应用;
所述若干移动应用中一部分移动应用与所述第一安全应用通信,所述若干移动应用中的另一部分移动应用与所述第二安全应用通信。
优选地,该方法还包括:
所述移动应用的管理服务器生成所述移动应用的通信安全保护密钥,并将所述移动应用的通信安全保护密钥发送至所述移动应用和安全应用管理服务器;所述安全应用管理服务器将所述移动应用的通信安全保护密钥发送至安全应用;
和/或,
所述移动应用的管理服务器生成所述移动应用的业务密钥,并将所述移动应用的业务密钥发送至所述安全应用管理服务器;所述安全应用管理服务器将所述移动应用的业务密钥发送至安全应用。
优选地,该方法还包括:
所述移动应用的管理服务器生成所述移动应用的通信安全保护密钥和业务密钥,并将所述移动应用的通信安全保护密钥和业务密钥发送至所述安全应用管理服务器;
所述安全应用管理服务器将所述移动应用的通信安全保护密钥和业务密钥发送至安全应用;
所述移动应用的管理服务器将所述移动应用的通信安全保护密钥发送至所述移动应用。
优选地,该方法还包括:
所述安全应用的管理服务器生成所述移动应用的通信安全保护密钥,并将所述移动应用的通信安全保护密钥发送至所述移动应用的管理服务器;
所述移动应用的管理服务器生成所述移动应用的业务密钥,并将所述移动应用的业务密钥发送至所述安全应用的管理服务器;
所述移动应用的管理服务器将所述移动应用的通信安全保护密钥发送至所述移动应用,所述安全应用的管理服务器将所述移动应用的通信安全保护密钥和业务密钥发送至所述安全应用。
优选地,若干所述移动应用的业务密钥在所述安全应用中被安全隔离;和/或若干所述移动应用的通信安全保护密钥在所述安全应用中被安全隔离。
优选地,所述移动应用的业务密钥为对称密钥或者非对称密钥;
当所述移动应用的业务密钥为对称密钥时,所述处理所述相应的业务数据包括加密所述业务数据或者解密所述业务数据;
当所述移动应用的业务密钥为非对称密钥时,所述处理所述相应的业务数据包括加密所述业务数据、解密所述业务数据、对所述业务数据签名或者验证所述业务所述数据的签名。
优选地,所述移动应用的通信安全保护密钥为对称密钥或者非对称密钥;其中,所述移动应用的通信安全保护密钥为非对称密钥的情况下,所述移动应用接收的所述移动应用的通信安全保护密钥为公钥,所述安全应用接收的所述移动应用的通信安全保护密钥为私钥。
优选地,所述安全应用将处理后的业务数据发送至所述移动应用包括:
所述安全应用使用私钥将处理后的业务数据签名后发送至所述移动应用。
优选地,所述执行环境为富执行环境和/或者可信执行环境。
优选地,所述若干移动应用通过安全应用代理与所述安全应用通信。
本申请实施例提供了一种移动终端,所述移动终端可运行多个移动应用,所述移动终端还包括安全应用;
所述安全应用,用于接收多个移动应用的业务密钥;接收多个移动应用发送的加密后的业务数据,并进行解密,得到各自解密后的业务数据;
所述安全应用,还用于使用所述多个移动应用的业务密钥处理各自相应的业务数据;将处理后的各自相应的业务数据发送给相应的移动应用。
优选地,所述移动应用,还用于接收所述多个移动应用的通信安全保护密钥;
所述安全应用,还用于接收多个移动应用发送的使用各自的通信安全保护密钥加密后的业务数据;使用所述多个移动应用各自的通信安全保护密钥解密后得到所述各自的业务数据。
本申请实施例提供了一种移动终端,包括处理器、第一存储器、安全芯片以及第二存储器,所述第一存储器存储有多个移动应用对应的程序,所述第二存储器存储有安全应用对应的程序,
所述安全芯片,用于执行所述安全应用对应的程序以接收多个移动应用的业务密钥;接收处理器发送的加密后的业务数据,并进行解密,得到各自解密后的业务数据;
所述安全芯片,还用于使用多个移动应用的业务密钥处理各自相应的业务数据;将处理后的各自相应的业务数据发送给相应的移动应用。
优选地,所述处理器,还用于接收多个移动应用的通信安全保护密钥;
所述安全芯片,还用于接收处理器发送的使用多个安全应用各自的通信安全保护密钥加密后的业务数据;使用所述多个移动应用各自的通信安全保护密钥解密后得到所述各自的业务数据。
优选地,所述安全应用包括第一安全应用和第二安全应用;
所述多个移动应用中一部分移动应用与所述第一安全应用通信,所述多个移动应用中的另一部分移动应用与所述第二安全应用通信。
优选地,多个移动应用的业务密钥在所述第二存储器中被安全隔离;和/或多个移动应用的通信安全保护密钥在所述第二存储器中被安全隔离。
优选地,多个移动应用的业务密钥为对称密钥或者非对称密钥;所述移动应用的业务密钥为对称密钥的情况下,所述处理相应的业务数据包括加密所述业务数据或者解密所述业务数据;所述移动应用的业务密钥为非对称密钥的情况下,所述处理相应的业务数据包括加密所述业务数据、解密所述业务数据、对所述业务数据签名或者验证所述业务数据的签名。
优选地,多个移动应用的通信安全保护密钥为对称密钥或者非对称密钥;其中,所述移动应用的通信安全保护密钥为非对称密钥的情况下,所述处理器接收的所述移动应用的通信安全保护密钥为公钥,所述安全芯片接收的所述移动应用的通信安全保护密钥为私钥。
优选地,所述安全芯片,还用于使用私钥将处理后的业务数据签名后发送至所述处理器。
本申请实施例提供了一种共享安全应用的系统,该系统所述的移动终端、多个移动应用的管理服务器、以及安全应用的管理服务器,其特征在于,
所述移动应用的管理服务器,用于生成多个移动应用的通信安全保护密钥和业务密钥,将多个移动应用的通信安全保护密钥发送至所述移动应用,将多个移动应用的通信安全保护密钥和业务密钥发送至所述安全应用的管理服务器;
所述安全应用的管理服务器,用于将多个移动应用的通信安全保护密钥和业务密钥发送至所述安全应用。
本申请实施例提供了一种共享安全应用的系统,该系统所述的移动终端、多个移动应用的管理服务器、以及安全应用的管理服务器,其特征在于,
多个移动应用的管理服务器,用于生成多个移动应用的业务密钥,并将多个移动应用的业务密钥发送至所述安全应用的管理服务器;
所述安全应用的管理服务器,还用于将业务密钥发送至所述安全应用。
优选地,所述安全应用的管理服务器,还用于生成多个移动应用的通信安全保护密钥;将多个移动应用的通信安全保护密钥发送至多个移动应用的管理服务器,并将多个移动应用的通信安全保护密钥发送至所述安全应用;多个移动应用的管理服务器,还用于将多个移动应用的通信安全保护密钥发送至所述移动应用。
本申请实施例提供了一种共享安全应用对应的程序的系统,该系统所述的移动终端、多个移动应用对应的程序的管理服务器、以及安全应用对应的程序的管理服务器,其特征在于,
多个移动应用对应的程序的管理服务器,用于生成多个移动应用的业务密钥,将多个移动应用的业务密钥发送至所述安全应用对应的管理服务器;
所述安全应用对应的程序的管理服务器,用于将多个移动应用的业务密钥发送至所述安全芯片。
优选地,多个移动应用对应的程序的管理服务器,还用于生成多个移动应用的通信安全保护密钥;将多个移动应用的通信安全保护密钥发送至所述处理器;将多个移动应用的通信安全保护密钥发送至所述安全应用对应的程序的管理服务器;
所述安全应用对应的程序的管理服务器,还用于将多个移动应用的通信安全保护密钥发送至所述安全芯片。
本申请实施例提供了一种共享安全应用对应的程序的系统,该系统包括所述的移动终端、多个移动应用对应的程序的管理服务器、以及安全应用对应的程序的管理服务器,其特征在于,
移动应用对应的程序的管理服务器,用于生成多个移动应用的业务密钥,并将多个移动应用的业务密钥发送至安全应用对应的程序的管理服务器;
安全应用对应的程序的管理服务器,还用于将多个移动应用的业务密钥发送至所述安全芯片。
优选地,所述安全应用对应的程序的管理服务器,还用于生成多个移动应用的通信安全保护密钥;将多个移动应用的通信安全保护密钥发送至移动应用对应的程序的管理服务器;将多个移动应用的通信安全保护密钥发送至所述安全芯片;
移动应用对应的程序的管理服务器,还用于将多个移动应用的通信安全保护密钥发送至所述处理器。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例通过使这些移动应用在安全芯片中共享一个安全应用,可以无需针对这些移动应用独立开发应用软件开发包,可以极大降低移动应用使用安全芯片进行安全运算的成本,加快基于安全芯片的安全运算的普及,保障产品和业务安全。此外,本申请实施例在共享安全应用内部通过安全隔离的方式还能够确保不同移动应用安全运算和数据的独立性和安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请第一实施例提供的共享安全应用的方法示意图;
图2为本申请第二实施例提供的共享安全应用的方法示意图;
图3为本申请第三请实施例提供的移动终端示意图;
图4为本申请第四实施例提供的移动终端示意图;
图5为本申请第五实施例提供的移动终端示意图;
图6为本申请第六实施例提供的移动终端示意图;
图7为本申请第七实施例提供的移动终端示意图;
图8为本申请第八实施例提供的共享安全应用的系统示意图;
图9为本申请第九实施例提供的共享安全应用的系统示意图;
图10为本申请第十实施例提供的共享安全应用的系统示意图;
图11为本申请第十一实施例提供的共享安全应用的系统示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请实施例提供的技术方案。
在移动终端中包含有执行环境(Execution Environment),是存在于移动设备中的软硬件集合,能够为应用程序在移动设备中的运行提供必要的能力支持,一般包括硬件处理单元、易失性存储单元、非易失性存储单元、操作系统、调用接口等组件。执行环境可以为富执行环境(Rich Execution Environment)或者可信执行环境(Trusted ExecutionEnvironment)。富执行环境是运行在移动设备中的开放执行环境,为运行其中的应用程序提供开放、丰富的运行能力支持,但安全保护能力相对较弱。可信执行环境是运行在移动设备中的隔离执行环境,相对于富执行环境,具备较强的安全能力,以确保运行其中的应用程序、敏感数据等在相对可信的环境中得到存储、处理和保护。
执行环境中可以运行或安装有移动应用,例如可以至少包含移动应用A和移动应用B。在安装有安全芯片的移动终端,通过在安全芯片中安装安全应用,提高移动终端设备的安全性。
在现有技术中,对于提供安全芯片的移动终端,各个移动应用的开发者,需要在安全芯片中安装独立的安全应用,例如在华为手机中,淘宝、苏宁、京东为了提高其移动应用的安全性,需要分别在安全芯片中安装针对自身的安全应用,从而导致不必要的研发支出,也不利于后期的维护。尤其是对于同一个开发方或者关联的开发方开发多个移动应用的情况,例如淘宝、咸鱼、支付宝等移动应用,在安全需求统一的情况下,完全没有单独开发若干个独立的安全应用。
为了解决该技术问题,可以通过在手机中共享安全应用的方式来实现,该安全应用可以预置或者后期下载到用户的手机中,使用该安全应用管理各个移动应用的密钥,并实现对业务数据的处理,从而实现了使用一个安全应用为多个移动应用提供安全服务,从而实现了安全应用的共享。
为了便于描述,本申请以两个移动应用为例进行说明,例如移动应用A为淘宝移动应用,移动应用B为苏宁移动应用。需要说明的是,安全应用对于各个移动应用可以按照相同的方式进行管理,各个移动应用的通信安全保护密钥和业务密钥在安全应用中被安全隔离,每个移动应用在向安全应用请求服务时,只能访问该移动应用对应的通信安全保护密钥和业务密钥。
第一实施例
本申请实施例提供的共享安全应用的方法如图1所示,包括以下步骤:
步骤105,移动应用接收移动应用的通信安全保护密钥;安全通信保护密钥可以由移动应用的管理服务器生成,也可以由安全应用的管理服务器生成,然后同步给移动应用的管理服务器;移动应用(例如移动应用A和移动应用B)可以分别从对应的移动应用服务器(例如移动应用A的服务器和移动应用B的服务器)接收各自的通信安全保护密钥(例如移动应用A的通信安全保护密钥和移动应用B的通信安全保护密钥);通信安全保护密钥可以是对称密钥,也可以是非对称密钥;通信安全保护密钥是对称密钥的情况下,通信安全保护密钥主要用于待传输的业务数据进行加密或者解密;通信安全保护密钥是非对称密钥的情况下,通信安全保护密钥中的公钥主要用于待传输的业务数据进行加密和对返回的签名进行验证,通信安全保护密钥中的私钥主要对接收到的加密后的业务数据进行解密,并利用业务密钥处理后,对处理后的业务数据进行签名;一般而言,通信安全保护密钥的公钥可以保存在移动应用中,通信安全保护密钥的私钥保存在安全应用中;
步骤110,安全应用接收移动应用的通信安全保护密钥和业务密钥;如上所述,安全通信保护密钥可以由移动应用的管理服务器生成,也可以由安全应用的管理服务器生成,然后同步给移动应用的管理服务器;在移动应用的通信安全保护密钥由移动应用的管理服务器生成的情况,可以在安全应用的管理服务器接收到移动应用的通信安全保护密钥后发送给安全应用;移动应用(例如移动应用A和移动应用B)的业务密钥由移动应用的管理服务器生成,然后移动应用的管理服务器将移动应用的业务密钥(例如移动应用A的业务密钥和移动应用B的业务密钥)发送至安全应用的管理服务器;安全应用可以从安全应用的管理服务器接收移动应用的通信安全保护密钥和业务密钥(例如移动应用A的通信安全保护密钥和业务密钥,以及移动应用B的通信安全保护密钥和业务密钥);安全应用可以将接收的各个移动应用的通信安全保护密钥和/或业务密钥进行安全隔离,例如将移动应用A的通信安全保护密钥和业务密钥和移动应用B的通信安全保护密钥和业务密钥进行安全隔离,可以通过将通信安全保护密钥和业务密钥分别存储在不同的文件中,可以每个文件只存储一个密钥,或者每个文件存储一个移动应用对应的通信安全保护密钥和业务密钥,通过设置各个移动应用的访问权限,从而实现了密钥的安全隔离。需要说明的是,通信安全保护密钥采用非对称密钥时,各个移动应用可以采用相同的公钥作为,而安全应用可以采用对应的私钥作为通信安全保护密钥;移动应用的业务密钥可以有多个,例如既有对称密钥作为业务密钥,又有非对称密钥作为业务密钥,可以针对不同的业务使用不同的业务密钥,例如视频业务使用对称密钥来处理,语音业务使用非对称密钥来处理。
步骤115,移动应用使用移动应用的通信安全保护密钥将业务数据加密后发送至安全应用;移动应用本身有业务数据需要解密的情况下,由于移动应用本身不具有业务密钥,所以移动应用需要请求安全应用来对业务数据进行解密。为了提高安全性,在移动应用请求安全应用对业务数据进行解密时,可以使用移动应用的通信安全保护密钥对业务数据进行加密;一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。移动应用(例如移动应用A和移动应用B)使用自身的公钥(例如移动应用A的通信安全保护公钥和移动应用B的通信安全保护公钥)对业务数据进行加密,并发送至安全应用;非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种;
步骤120,安全应用使用移动应用的通信安全保护密钥解密以得到业务数据;安全应用从安全应用的管理服务器接收移动应用的移动通信安全保护密钥(例如移动应用A的通信安全保护私钥和移动应用B的通信安全保护私钥),从而可以使用移动应用的移动通信安全保护密钥来对接收的数据进行解密,得到业务数据;
步骤125,安全应用使用移动应用的业务密钥处理业务数据;安全应用可以使用自身存储的业务密钥(例如移动应用A的业务密钥和移动应用B的业务密钥)对业务数据进行处理;业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。在使用非对称密钥作为业务密钥时,业务数据的处理方式可以根据具体的需求来确定,例如业务数据需要加密,则可以使用业务密钥的公钥进行加密,业务数据本身是加密数据,则可以使用业务密钥的私钥进行解密;此外,处理方式还可以包括对业务数据进行签名或者验证业务数据的签名;例如业务数据本身是包含签名的数据,则可以使用业务密钥的公钥来验证该签名,如果业务数据需要进行签名,则可以使用业务密钥的私钥来进行签名。在使用对称密钥时,业如果业务数据需要加密,则可以使用业务密钥进行加密,业务数据本身是加密数据,则可以使用业务密钥进行解密。可以理解的是,业务密钥可以有多组,例如多组非对称密钥而言,安全应用可以保存有不同密钥对中的公钥或者私钥,并根据具体的业务需求使用相应的密钥。
步骤130,安全应用将处理后的业务数据发送至移动应用。安全应用在将业务数据处理后,可以将处理后的业务数据发送至对应移动应用,例如将处理后的移动应用A的业务数据发送至移动应用A,将处理后的移动应用B的业务数据发送至移动应用B;随后移动应用A和移动应用B可以根据处理后的业务数据进行后续的业务流程。
可选地,安全应用在向移动应用发送处理后的业务数据时,还可以使用移动应用的通信安全保护密钥(例如移动应用A的通信安全保护私钥和移动应用B的通信安全保护私钥)来对处理后的业务数据签名,进一步提高安全性。
上述的实施例,能够实现由安全应用对若干移动应用的通信安全保护密钥和业务密钥的统一管理,从而实现安全应用的共享,避免针对每个移动应用在安全芯片中安装各自的安全应用。
需要说明的是,如果通信安全保护密钥和业务密钥均由移动应用的管理服务器,则移动应用的管理服务器生成通信安全保护密钥和业务密钥并无先后次序的限制,可以先生成通信安全保护密钥,也可以先生成业务密钥,也可以同时生成通信安全保护密钥和业务密钥;同样地,向安全应用管理服务器发送通信安全保护密钥和业务密钥时,业务先后次序的限制,可以先发送通信安全保护密钥,也可以先发送业务密钥,也可以同时发送信安全保护密钥和业务密钥。
进一步地需要说明的是,可以不由移动应用的管理服务器或安全应用的管理服务器生成通信安全保护密钥,因而本实施例中与安全通信保护密钥相关的步骤可以省略。
第二实施例
本申请实施例提供的共享安全应用的方法如图2所示,包括以下步骤:
步骤205,安全应用接收移动应用的通信安全保护密钥和业务密钥;安全通信保护密钥可以由移动应用的管理服务器生成,也可以由安全应用的管理服务器生成,然后同步给移动应用的管理服务器;在移动应用的通信安全保护密钥由移动应用的管理服务器生成的情况,可以在安全应用的管理服务器接收到移动应用的通信安全保护密钥后发送给安全应用;移动应用(例如移动应用A和移动应用B)的业务密钥由移动应用的管理服务器生成,然后移动应用的管理服务器将移动应用的业务密钥(例如移动应用A的业务密钥和移动应用B的业务密钥)发送至安全应用的管理服务器;安全应用可以从安全应用的管理服务器接收移动应用的通信安全保护密钥和业务密钥(例如移动应用A的通信安全保护密钥和业务密钥,以及移动应用B的通信安全保护密钥和业务密钥);通信安全保护密钥可以是对称密钥,也可以是非对称密钥;通信安全保护密钥是对称密钥的情况下,通信安全保护密钥主要用于待传输的业务数据进行加密或者解密;通信安全保护密钥是非对称密钥的情况下,通信安全保护密钥中的公钥主要用于待传输的业务数据进行加密和对返回的签名进行验证,通信安全保护密钥中的私钥主要对接收到的加密后的业务数据进行解密,并利用业务密钥处理后,对处理后的业务数据进行签名;一般而言,通信安全保护密钥的公钥可以保存在移动应用中,通信安全保护密钥的私钥保存在安全应用中;
步骤210,移动应用接收移动应用的通信安全保护密钥;如上所述,安全通信保护密钥可以由移动应用的管理服务器生成,也可以由安全应用的管理服务器生成,然后同步给移动应用的管理服务器;移动应用(例如移动应用A和移动应用B)可以分别从对应的移动应用服务器(例如移动应用A的服务器和移动应用B的服务器)接收各自的通信安全保护密钥(例如移动应用A的通信安全保护密钥和移动应用B的通信安全保护密钥);需要说明的是,通信安全保护密钥采用非对称密钥时,各个移动应用可以采用相同的公钥作为,而安全应用可以采用对应的私钥作为通信安全保护密钥;移动应用的业务密钥可以有多个,例如既有对称密钥作为业务密钥,又有非对称密钥作为业务密钥,可以针对不同的业务使用不同的业务密钥,例如视频业务使用对称密钥来处理,语音业务使用非对称密钥来处理。
步骤215,移动应用使用移动应用的通信安全保护密钥将业务数据加密后发送至安全应用;移动应用本身有业务数据需要解密的情况下,由于移动应用本身不具有业务密钥,所以移动应用需要请求安全应用来对业务数据进行解密。为了提高安全性,在移动应用请求安全应用对业务数据进行解密时,可以使用移动应用的通信安全保护密钥对业务数据进行加密;一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。移动应用(例如移动应用A和移动应用B)使用自身的公钥(例如移动应用A的通信安全保护公钥和移动应用B的通信安全保护公钥)对业务数据进行加密,并发送至安全应用;非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种;
步骤220,安全应用使用移动应用的通信安全保护密钥解密以得到业务数据;安全应用从安全应用的管理服务器接收移动应用的移动通信安全保护密钥(例如移动应用A的通信安全保护私钥和移动应用B的通信安全保护私钥),从而可以使用移动应用的移动通信安全保护密钥来对接收的数据进行解密,得到业务数据;
步骤225,安全应用使用移动应用的业务密钥处理业务数据;安全应用可以使用自身存储的业务密钥(例如移动应用A的业务密钥和移动应用B的业务密钥)对业务数据进行解密;业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种;在使用非对称密钥作为业务密钥时,业务数据的处理方式可以根据具体的需求来确定,例如业务数据需要加密,则可以使用业务密钥的公钥进行加密,业务数据本身是加密数据,则可以使用业务密钥的私钥进行解密;此外,处理方式还可以包括对业务数据进行签名或者验证业务数据的签名;例如业务数据本身是包含签名的数据,则可以使用业务密钥的公钥来验证该签名,如果业务数据需要进行签名,则可以使用业务密钥的私钥来进行签名。在使用对称密钥时,业如果业务数据需要加密,则可以使用业务密钥进行加密,业务数据本身是加密数据,则可以使用业务密钥进行解密。
步骤230,安全应用将处理后的业务数据发送至移动应用。安全应用在将业务数据处理后,可以将处理后的业务数据发送至对应移动应用,例如将处理后的移动应用A的业务数据发送至移动应用A,将处理后的移动应用B的业务数据发送至移动应用B;随后移动应用A和移动应用B可以根据处理后的业务数据进行后续的业务流程。
需要说明的是,如果通信安全保护密钥和业务密钥均由移动应用的管理服务器,则移动应用的管理服务器生成通信安全保护密钥和业务密钥并无先后次序的限制,可以先生成通信安全保护密钥,也可以先生成业务密钥,也可以同时生成通信安全保护密钥和业务密钥;同样地,向安全应用管理服务器发送通信安全保护密钥和业务密钥时,业务先后次序的限制,可以先发送通信安全保护密钥,也可以先发送业务密钥,也可以同时发送信安全保护密钥和业务密钥。
进一步地需要说明的是,可以不由移动应用的管理服务器或安全应用的管理服务器生成通信安全保护密钥,因而本实施例中与安全通信保护密钥相关的步骤可以省略。
此外,安全应用可以包括第一安全应用和第二安全应用,一部分移动应用于第一安全应用通信,另一部分移动应用与第二安全应用通信。优选地,移动应用还可以通过安全代理与安全应用通信。
可选地,安全应用在向移动应用发送处理后的业务数据时,还可以使用移动应用的通信安全保护密钥(例如移动应用A的通信安全保护私钥和移动应用B的通信安全保护私钥)来对处理后的业务数据签名,进一步提高安全性。
上述的实施例,能够实现由安全应用对若干移动应用的通信安全保护密钥和业务密钥的统一管理,从而实现安全应用的共享,避免针对每个移动应用在安全芯片中安装各自的安全应用。
第三实施例
图3是本申请实施例提供的移动终端示意图,包括执行环境以及安全芯片,执行环境中安装或运行有移动应用A、移动应用B等应用,安全芯片中运行有安全应用。
移动应用(例如移动应用A和移动应用B)可以从移动应用的管理服务器接收移动应用的安全通信保护密钥(例如移动应用A的安全通信保护密钥和移动应用B的安全通信保护密钥)。一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
移动应用(例如移动应用A和移动应用B)在有业务数据需要处理(例如解密)的情况下,可以使用移动应用的通信安全保护密钥(例如移动应用A的通信安全保护公钥和移动应用B的通信安全保护公钥)对业务数据进行加密,并将加密后的业务数据发送到安全应用。安全应用可以从安全应用的管理服务器接收移动应用(例如移动应用A和移动应用B)的通信安全保护密钥和业务密钥。如上所述,移动应用的通信安全保护密钥可以为非对称密钥,因而安全应用可以使用移动应用(例如移动应用A和移动应用B)的通信安全保护私钥解密移动应用发送的业务数据,然后再用移动应用(例如移动应用A和移动应用B)的业务密钥进行解密。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
安全应用在解密业务数据以后,可以将解密后的数据发送到相应的移动应用(例如移动应用A和移动应用B),供移动应用完成后续的流程。
优选地,安全应用还可以在解密业务数据以后,使用移动应用(例如移动应用A和移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,以提高安全性。移动应用(例如移动应用A和移动应用B)接收到签名的解密后业务数据以后,使用移动应用的通信安全保护公钥验证签名,从而得到解密后的业务数据,并能够完成后续的流程。
上述实施例中的移动终端可以实现在安全芯片中安装一个安全应用,对安装或运行在执行环境中的若干移动应用提供安全服务,为移动应用的业务数据提供解密服务,从而提高移动终端的安全性。
第四实施例
图4是本申请实施例提供的移动终端示意图,包括富执行环境以及安全芯片,富执行环境中安装或运行有移动应用A、移动应用B等应用,安全芯片中运行有安全应用。富执行环境为运行在移动设备中的开放执行环境,为运行其中的应用程序提供开放、丰富的运行能力支持,但安全保护能力相对较弱。
移动应用(例如富执行环境中的移动应用A和移动应用B)可以从移动应用的管理服务器接收移动应用的安全通信保护密钥(例如富执行环境中的移动应用A的安全通信保护密钥和移动应用B的安全通信保护密钥)。一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
移动应用(例如富执行环境中的移动应用A和移动应用B)在有业务数据需要处理(例如解密)的情况下,可以使用移动应用的通信安全保护密钥(例如富执行环境中的移动应用A的通信安全保护公钥和移动应用B的通信安全保护公钥)对业务数据进行加密,并将加密后的业务数据发送到安全应用。安全应用可以从安全应用的管理服务器接收移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥。如上所述,移动应用的通信安全保护密钥可以为非对称密钥,因而安全应用可以使用移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护私钥解密移动应用发送的业务数据,然后再用移动应用(例如富执行环境中的移动应用A和移动应用B)的业务密钥进行解密。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
安全应用在解密业务数据以后,可以将解密后的数据发送到相应的移动应用(例如富执行环境中的移动应用A和移动应用B),供移动应用完成后续的流程。
优选地,安全应用还可以在解密业务数据以后,使用移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,以提高安全性。移动应用(例如富执行环境中的移动应用A和移动应用B)接收到加密的业务数据以后,使用移动应用的通信安全保护公钥验证签名,从而得到解密后的业务数据,并能够完成后续的流程。
上述实施例中的移动终端可以实现在安全芯片中安装一个安全应用,对安装或运行在执行环境中的若干移动应用提供安全服务,为移动应用的业务数据提供解密服务,从而提高移动终端的安全性。
第五实施例
图5是本申请实施例提供的移动终端示意图,包括可信执行环境以及安全芯片,可信执行环境中安装或运行有移动应用A、移动应用B等应用,安全芯片中运行有安全应用。可信执行环境为运行在移动设备中的隔离执行环境,相对于富执行环境,具备较强的安全能力,以确保运行其中的应用程序、敏感数据等在相对可信的环境中得到存储、处理和保护。
移动应用(例如可信执行环境中的移动应用A和移动应用B)可以从移动应用的管理服务器接收移动应用的安全通信保护密钥(例如可信执行环境中的移动应用A的安全通信保护密钥和移动应用B的安全通信保护密钥)。一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
移动应用(例如可信执行环境中的移动应用A和移动应用B)在有业务数据需要处理(例如解密)的情况下,可以使用移动应用的通信安全保护密钥(例如可信执行环境中的移动应用A的通信安全保护公钥和移动应用B的通信安全保护公钥)对业务数据进行加密,并将加密后的业务数据发送到安全应用。安全应用可以从安全应用的管理服务器接收移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥。如上所述,移动应用的通信安全保护密钥可以为非对称密钥,因而安全应用可以使用移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护私钥解密移动应用发送的业务数据,然后再用移动应用(例如可信执行环境中的移动应用A和移动应用B)的业务密钥进行解密。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
安全应用在解密业务数据以后,可以将解密后的数据发送到相应的移动应用(例如可信执行环境中的移动应用A和移动应用B),供移动应用完成后续的流程。
优选地,安全应用还可以在解密业务数据以后,使用移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,以提高安全性。移动应用(例如可信执行环境中的移动应用A和移动应用B)接收到签名的业务数据以后,使用移动应用的通信安全保护公钥验证签名,从而得到解密后的业务数据,并能够完成后续的流程。
上述实施例中的移动终端可以实现在安全芯片中安装一个安全应用,对安装或运行在执行环境中的若干移动应用提供安全服务,为移动应用的业务数据提供解密服务,从而提高移动终端的安全性。
第六实施例
图6是本申请实施例提供的移动终端示意图,包括富执行环境、可信执行环境以及安全芯片,例如富执行环境中安装或运行有移动应用A等应用,可信执行环境中安装或运行有移动应用B等应用,安全芯片中运行有安全应用。富执行环境为运行在移动设备中的开放执行环境,为运行其中的应用程序提供开放、丰富的运行能力支持,但安全保护能力相对较弱。可信执行环境为运行在移动设备中的隔离执行环境,相对于富执行环境,具备较强的安全能力,以确保运行其中的应用程序、敏感数据等在相对可信的环境中得到存储、处理和保护。
移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)可以从移动应用的管理服务器接收移动应用的安全通信保护密钥(例如富执行环境中的移动应用A的安全通信保护密钥和可信执行环境中的移动应用B的安全通信保护密钥)。一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)在有业务数据需要处理(例如解密)的情况下,可以使用移动应用的通信安全保护密钥(例如富执行环境中的移动应用A的通信安全保护公钥和可信执行环境中的移动应用B的通信安全保护公钥)对业务数据进行加密,并将加密后的业务数据发送到安全应用。安全应用可以从安全应用的管理服务器接收移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥和业务密钥。如上所述,移动应用的通信安全保护密钥可以为非对称密钥,因而安全应用可以使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护私钥解密移动应用发送的业务数据,然后再用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的业务密钥进行解密。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
安全应用在解密业务数据以后,可以将解密后的数据发送到相应的移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B),供移动应用完成后续的流程。
优选地,安全应用还可以在解密业务数据以后,使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,以提高安全性。移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)接收到签名的业务数据以后,使用移动应用的通信安全保护公钥验证签名,从而得到解密后的业务数据,并能够完成后续的流程。
上述实施例中的移动终端可以实现在安全芯片中安装一个安全应用,对安装或运行在执行环境中的若干移动应用提供安全服务,为移动应用的业务数据提供解密服务,从而提高移动终端的安全性。
第七实施例
图7是本申请实施例提供的移动终端示意图,包括处理器和第一存储器,以及安全芯片和第二存储器,第一存储器存储有移动应用对应的程序(例如移动应用对应的程序A和移动应用对应的程序B)等程序,第二存储器存储有安全应用对应的程序。
处理器可以执行移动应用对应的程序(例如移动应用对应的程序A和移动应用对应的程序B),从而可以从移动应用对应的程序的管理服务器接收移动应用的安全通信保护密钥。一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
移动应用对应的程序(例如移动应用对应的程序A和移动应用对应的程序B)在有业务数据需要处理(例如解密)的情况下,可以使用移动应用的通信安全保护密钥对业务数据进行加密,并将加密后的业务数据发送到安全芯片。安全芯片可以执行安全应用对应的程序,从而可以从安全应用对应的程序的管理服务器接收移动移动应用的通信安全保护密钥和业务密钥。如上所述,移动应用的通信安全保护密钥可以为非对称密钥,因而安全芯片可以使用移动应用的通信安全保护私钥解密处理器发送的业务数据,然后再用移动应用的业务密钥进行解密。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
安全芯片在解密业务数据以后,可以将解密后的数据发送到处理器,供处理器完成后续的流程。
优选地,处理器还可以在解密业务数据以后,使用移动应用的通信安全保护私钥对解密后的业务数据进行签名,以提高安全性。处理器接收到签名的业务数据以后,使用移动应用的通信安全保护公钥验证签名,从而得到解密后的业务数据,并能够完成后续的流程。
上述实施例中的移动终端可以实现在安全芯片中安装一个安全应用对应的程序,对安装或运行在执行环境中的多个移动应用提供安全服务,为移动应用的业务数据提供解密服务,从而提高移动终端的安全性。
第八实施例
如图8所示,本申请实施例提供的共享安全应用的系统包括移动终端、移动应用的管理服务器和安全应用的管理服务器。移动终端包括执行环境和安全芯片。移动应用的管理服务器可以生成移动应用(例如移动应用A和移动应用B)的通信安全保护密钥和业务密钥,移动应用的管理服务器可以将移动应用(例如移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全应用的管理服务器,并将移动应用(例如移动应用A和移动应用B)的通信安全保护密钥发送至相应的移动应用(例如移动应用A和移动应用B)。安全应用的管理服务器可以将移动应用(例如移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全应用,安全应用在收到移动应用(例如移动应用A和移动应用B)的通信安全保护密钥和业务密钥以后,会将移动应用的通信安全保护密钥和业务密钥进行安全隔离,例如将移动应用A的通信安全保护密钥和业务密钥与移动应用B的通信安全保护密钥和/或业务密钥进行隔离。需要说明的是,如果通信安全保护密钥由安全应用的管理服务器提供,则各个移动应用可以保存相同的公钥,而安全应用保存对应的私钥;如果通信安全保护密钥由移动应用的管理服务器提供,则各个移动应用的公钥不同,并且安全应用存储与多个对应的公钥对应的私钥;或者如果通信安全保护密钥由移动应用的管理服务器提供,在使用对称密钥的情况下,各个移动应用保存的自身的密钥,并且安全应用保存对应的密钥。安全应用中需要对各个通信安全保护密钥进行安全隔离。各个移动应用对应的业务密钥一般不同,各个业务密钥之间也需要隔离。
可选地,移动应用(例如移动应用A和移动应用B)的通信安全保护密钥也可由安全应用的管理服务器生成。安全应用的管理服务器可以将其生成的移动应用(例如移动应用A和移动应用B)的通信安全保护密钥发送至移动应用(例如移动应用A和移动应用B)的管理服务器。在这种情况下,移动应用(例如移动应用A和移动应用B)的管理服务器可以仅生成移动应用(例如移动应用A和移动应用B)的业务密钥,并将生成的移动应用(例如移动应用A和移动应用B)的业务密钥发送至安全应用的管理服务器。安全应用的管理服务器可以将移动应用(例如移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全密钥,移动应用(例如移动应用A和移动应用B)的管理服务器可以将移动应用(例如移动应用A和移动应用B)的通信安全保护密钥发送至相应的移动应用(例如移动应用A和移动应用B)。
一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
在移动应用(例如移动应用A和移动应用B)发起业务操作请求时,例如解密操作请求,可以使用移动应用(例如移动应用A和移动应用B)所保存的通信安全保护公钥对业务数据进行加密,并将加密后的业务数据发送到安全应用。可选地,移动应用还可以发起加密的操作请求,请求安全应用对业务数据加密。在使用非对称密钥作为业务密钥的情况下,还可以发起请求签名或者验证签名的操作请求。
安全应用在收到移动应用(例如移动应用A和移动应用B)使用移动应用(例如移动应用A和移动应用B)的通信安全保护公钥加密的业务数据以后,可以使用移动应用(例如移动应用A和移动应用B)的通信安全保护私钥解密,得到业务数据。随后,安全应用可以使用移动应用(例如移动应用A和移动应用B)的业务密钥对业务数据进行解密,并可以将解密后的业务数据发送至移动应用(例如移动应用A和移动应用B),移动应用可以随后使用解密后的业务数据完成后续的业务流程。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
可选地,安全应用在使用移动应用(例如移动应用A和移动应用B)的业务密钥对业务数据进行解密后,还可以使用移动应用(例如移动应用A和移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,并发送给移动应用(例如移动应用A和移动应用B),移动应用(例如移动应用A和移动应用B)可以使用对应的通信安全保护公钥进行验证签名,得到解密后的业务数据。
上述系统,可以完成通信安全保护密钥和业务密钥的分发,从而使得若干移动应用共享一个管理应用得以实现。
第九实施例
如图9所示,本申请实施例提供的共享安全应用的系统包括移动终端、移动应用的管理服务器和安全应用的管理服务器。移动终端包括富执行环境和安全芯片。富执行环境为运行在移动设备中的开放执行环境,为运行其中的应用程序提供开放、丰富的运行能力支持,但安全保护能力相对较弱。
移动应用的管理服务器可以生成移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥,移动应用的管理服务器可以将移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全应用的管理服务器,并将移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥发送至相应的移动应用(例如富执行环境中的移动应用A和移动应用B)。安全应用的管理服务器可以将移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全应用,安全应用在收到移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥以后,会将移动应用的通信安全保护密钥和业务密钥进行安全隔离,例如将移动应用A的通信安全保护密钥和业务密钥与移动应用B的通信安全保护密钥和业务密钥进行隔离。需要说明的是,如果通信安全保护密钥由安全应用的管理服务器提供,则各个移动应用可以保存相同的公钥,而安全应用保存对应的私钥;如果通信安全保护密钥由移动应用的管理服务器提供,则各个移动应用的公钥不同,并且安全应用存储与多个对应的公钥对应的私钥;或者如果通信安全保护密钥由移动应用的管理服务器提供,在使用对称密钥的情况下,各个移动应用保存的自身的密钥,并且安全应用保存对应的密钥。安全应用中需要对各个通信安全保护密钥进行安全隔离。各个移动应用对应的业务密钥一般不同,各个业务密钥之间也需要隔离。
可选地,移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥也可由安全应用的管理服务器生成。安全应用的管理服务器可以将其生成的移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥发送至移动应用(例如富执行环境中的移动应用A和移动应用B)的管理服务器。在这种情况下,移动应用(例如富执行环境中的移动应用A和移动应用B)的管理服务器可以仅生成移动应用(例如富执行环境中的移动应用A和移动应用B)的业务密钥,并将生成的移动应用(例如富执行环境中的移动应用A和移动应用B)的业务密钥发送至安全应用的管理服务器。安全应用的管理服务器可以将移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全密钥,移动应用(例如富执行环境中的移动应用A和移动应用B)的管理服务器可以将移动应用(例如富执行环境中的移动应用A和移动应用B)的通信安全保护密钥发送至相应的移动应用(例如富执行环境中的移动应用A和移动应用B)。
一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
在移动应用(例如富执行环境中的移动应用A和移动应用B)发起业务操作请求时,例如解密操作请求,可以使用移动应用(例如富执行环境中移动应用A和移动应用B)所保存的通信安全保护公钥对业务数据进行加密,并将加密后的业务数据发送到安全应用。可选地,移动应用还可以发起加密的操作请求,请求安全应用对业务数据加密。在使用非对称密钥作为业务密钥的情况下,还可以发起请求签名或者验证签名的操作请求。
安全应用在收到移动应用(例如富执行环境中移动应用A和移动应用B)使用移动应用(例如富执行环境中移动应用A和移动应用B)的通信安全保护公钥加密的业务数据以后,可以使用移动应用(例如富执行环境中移动应用A和移动应用B)的通信安全保护私钥解密,得到业务数据。随后,安全应用可以使用移动应用(例如富执行环境中移动应用A和移动应用B)的业务密钥对业务数据进行解密,并可以将解密后的业务数据发送至移动应用(例如富执行环境中移动应用A和移动应用B),移动应用可以随后使用解密后的业务数据完成后续的业务流程。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
可选地,安全应用在使用移动应用(例如富执行环境中移动应用A和移动应用B)的业务密钥对业务数据进行解密后,还可以使用移动应用(例如富执行环境中移动应用A和移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,并发送给移动应用(例如富执行环境中移动应用A和移动应用B),移动应用(例如富执行环境中移动应用A和移动应用B)可以使用对应的通信安全保护公钥进行验证签名,得到解密后的业务数据。
上述系统,可以完成通信安全保护密钥和业务密钥的分发,从而使得富执行环境中的若干移动应用共享一个管理应用得以实现。
第十实施例
如图10所示,本申请实施例提供的共享安全应用的系统包括移动终端、移动应用的管理服务器和安全应用的管理服务器。移动终端包括可信执行环境和安全芯片。可信执行环境为运行在移动设备中的隔离执行环境,相对于富执行环境,具备较强的安全能力,以确保运行其中的应用程序、敏感数据等在相对可信的环境中得到存储、处理和保护。
移动应用的管理服务器可以生成移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥,移动应用的管理服务器可以将移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全应用的管理服务器,并将移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥发送至相应的移动应用(例如可信执行环境中的移动应用A和移动应用B)。安全应用的管理服务器可以将移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全应用,安全应用在收到移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥以后,会将移动应用的通信安全保护密钥和业务密钥进行安全隔离,例如将移动应用A的通信安全保护密钥和业务密钥与移动应用B的通信安全保护密钥和业务密钥进行隔离。需要说明的是,如果通信安全保护密钥由安全应用的管理服务器提供,则各个移动应用可以保存相同的公钥,而安全应用保存对应的私钥;如果通信安全保护密钥由移动应用的管理服务器提供,则各个移动应用的公钥不同,并且安全应用存储与多个对应的公钥对应的私钥;或者如果通信安全保护密钥由移动应用的管理服务器提供,在使用对称密钥的情况下,各个移动应用保存的自身的密钥,并且安全应用保存对应的密钥。安全应用中需要对各个通信安全保护密钥进行安全隔离。各个移动应用对应的业务密钥一般不同,各个业务密钥之间也需要隔离。
可选地,移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥也可由安全应用的管理服务器生成。安全应用的管理服务器可以将其生成的移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥发送至移动应用(例如可信执行环境中的移动应用A和移动应用B)的管理服务器。在这种情况下,移动应用(例如可信执行环境中的移动应用A和移动应用B)的管理服务器可以仅生成移动应用(例如可信执行环境中的移动应用A和移动应用B)的业务密钥,并将生成的移动应用(例如可信执行环境中的移动应用A和移动应用B)的业务密钥发送至安全应用的管理服务器。安全应用的管理服务器可以将移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥和业务密钥发送至安全密钥,移动应用(例如可信执行环境中的移动应用A和移动应用B)的管理服务器可以将移动应用(例如可信执行环境中的移动应用A和移动应用B)的通信安全保护密钥发送至相应的移动应用(例如可信执行环境中的移动应用A和移动应用B)。
一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
在移动应用(例如可信执行环境中的移动应用A和移动应用B)发起业务操作请求时,例如解密操作请求,可以使用移动应用(例如可信执行环境中移动应用A和移动应用B)所保存的通信安全保护公钥对业务数据进行加密,并将加密后的业务数据发送到安全应用。
安全应用在收到移动应用(例如可信执行环境中移动应用A和移动应用B)使用移动应用(例如可信执行环境中移动应用A和移动应用B)的通信安全保护公钥加密的业务数据以后,可以使用移动应用(例如可信执行环境中移动应用A和移动应用B)的通信安全保护私钥解密,得到业务数据。随后,安全应用可以使用移动应用(例如可信执行环境中移动应用A和移动应用B)的业务密钥对业务数据进行解密,并可以将解密后的业务数据发送至移动应用(例如可信执行环境中移动应用A和移动应用B),移动应用可以随后使用解密后的业务数据完成后续的业务流程。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
可选地,安全应用在使用移动应用(例如可信执行环境中移动应用A和移动应用B)的业务密钥对业务数据进行解密后,还可以使用移动应用(例如可信执行环境中移动应用A和移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,并发送给移动应用(例如可信执行环境中移动应用A和移动应用B),移动应用(例如可信执行环境中移动应用A和移动应用B)可以使用对应的通信安全保护公钥进行验证签名,得到解密后的业务数据。
上述系统,可以完成通信安全保护密钥和业务密钥的分发,从而使得可信执行环境中的若干移动应用共享一个管理应用得以实现。
第十一实施例
如图11所示,本申请实施例提供的共享安全应用的系统包括移动终端、移动应用的管理服务器和安全应用的管理服务器。移动终端包括富执行环境、可信执行环境和安全芯片。富执行环境为运行在移动设备中的开放执行环境,为运行其中的应用程序提供开放、丰富的运行能力支持,但安全保护能力相对较弱。可信执行环境为运行在移动设备中的隔离执行环境,相对于富执行环境,具备较强的安全能力,以确保运行其中的应用程序、敏感数据等在相对可信的环境中得到存储、处理和保护。
移动应用的管理服务器可以生成移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥和业务密钥,移动应用的管理服务器可以将移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥和业务密钥发送至安全应用的管理服务器,并将移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥发送至相应的移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)。安全应用的管理服务器可以将移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥和业务密钥发送至安全应用,安全应用在收到移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥和业务密钥以后,会将移动应用的通信安全保护密钥和业务密钥进行安全隔离,例如将移动应用A的通信安全保护密钥和业务密钥与移动应用B的通信安全保护密钥和业务密钥进行隔离。需要说明的是,如果通信安全保护密钥由安全应用的管理服务器提供,则各个移动应用可以保存相同的公钥,而安全应用保存对应的私钥;如果通信安全保护密钥由移动应用的管理服务器提供,则各个移动应用的公钥不同,并且安全应用存储与多个对应的公钥对应的私钥;或者如果通信安全保护密钥由移动应用的管理服务器提供,在使用对称密钥的情况下,各个移动应用保存的自身的密钥,并且安全应用保存对应的密钥。安全应用中需要对各个通信安全保护密钥进行安全隔离。各个移动应用对应的业务密钥一般不同,各个业务密钥之间也需要隔离。
可选地,移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥也可由安全应用的管理服务器生成。安全应用的管理服务器可以将其生成的移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥发送至移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的管理服务器。在这种情况下,移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的管理服务器可以仅生成移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的业务密钥,并将生成的移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的业务密钥发送至安全应用的管理服务器。安全应用的管理服务器可以将移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥和业务密钥发送至安全密钥,移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的管理服务器可以将移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护密钥发送至相应的移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)。
一般而言,移动应用的通信安全保护密钥采用非对称密钥,例如移动应用所保存的密钥为公钥,安全应用所保存的密钥为私钥。非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
在移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)发起业务操作请求时,例如解密操作请求,可以使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)所保存的通信安全保护公钥对业务数据进行加密,并将加密后的业务数据发送到安全应用。可选地,移动应用还可以发起加密的操作请求,请求安全应用对业务数据加密。在使用非对称密钥作为业务密钥的情况下,还可以发起请求签名或者验证签名的操作请求。
安全应用在收到移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护公钥加密的业务数据以后,可以使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护私钥解密,得到业务数据。随后,安全应用可以使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的业务密钥对业务数据进行解密,并可以将解密后的业务数据发送至移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B),移动应用可以随后使用解密后的业务数据完成后续的业务流程。业务密钥可以为对称密钥或者非对称密钥,对称密钥的算法可以包括DES、AES、以及MD5中的任一种,非对称密钥的算法可以包括RSA、Elgamal、背包算法、Rabin、D-H、ECC中的任一种。
可选地,安全应用在使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的业务密钥对业务数据进行解密后,还可以使用移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)的通信安全保护私钥对解密后的业务数据进行签名,并发送给移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B),移动应用(例如富执行环境中的移动应用A和可信执行环境中的移动应用B)可以使用对应的通信安全保护公钥进行验证签名,得到解密后的业务数据。
上述系统,可以完成通信安全保护密钥和业务密钥的分发,从而使得可信执行环境中的若干移动应用共享一个管理应用得以实现。
通过本申请提供实施例,可以实现使用一个安全应用为多个具有统一需求的移动应用进行数据处理,可以降低移动应用使用安全芯片进行安全运算的成本,加快基于安全芯片的安全运算的普及。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。