基于可信执行环境的Android应用程序之间的安全通信方法技术

技术编号:18208450 阅读:45 留言:0更新日期:2018-06-13 08:11
本发明专利技术公开的一种基于可信执行环境的Android应用程序之间的安全通信方法,包括以下步骤:数据接收方应用程序在安全可信区域内创建非对称密钥对,并将创建的非对称密钥对的公钥对外公开;数据发送方应用程序获取到接收方应用程序所公开的公钥,并采用获取的公钥作用于敏感数据,使得敏感数据形成密文数据,再将密文数据发送至数据接收方应用程序;以及数据接收方应用程序接收到数据发送方应用程序发送过来的密文数据,并采用其创建的非对称密钥对的私钥对接收到的密文数据进行解密,获取最终的敏感数据。本发明专利技术保护了Android应用程序之间的数据通信安全,提高了敏感数据通信的安全级别,极大程度保护了用户信息。

【技术实现步骤摘要】
基于可信执行环境的Android应用程序之间的安全通信方法
本专利技术属于Android设备信息通信安全
,尤其涉及一种基于可信执行环境(TEE,TrustedExecutionEnvironment)的Android应用之间的安全通信方法。
技术介绍
Android生态的逐渐成熟得益于以应用程序(App)为形式的内容多样化。Android应用程序之间需要交互的场合越来越多,尤其当App作为服务提供者时。例如,锁屏应用程序需要接收用户密码并验证;第三方应用程序需要引用社交软件已注册账户作为身份登录时,需要传输账号、密码至社交软件;使用数字证书应用程序进行签名时,数字证书应用程序需要接收用户密码来验证用户身份等。现有的Android应用程序具有多种应用程序之间的通信方式,有直接传输数据的能力,但缺点较多,普遍缺少安全考虑。例如:1、广播通信,基于FrameWork的能力将数据附属到广播中即可通信,仅匹配广播Action名称的方式较为方便,但广播公开,任意接收者只要知道广播名称就获取到同样的敏感信息,很不安全;2、AIDL(AndroidInterfaceDefineLanguage)方式,需要通信客户端部署与通信服务端同样的接口描述文件,编码获得通信服务端句柄即可通信,此种方式传输的数据不再公开,但部署较为复杂,通信的成本较高,在仅传输少量的敏感数据时,较重量级,且数据未加密,通过在服务端调试,依旧能获得明文数据;3、套接字通信,这是有Linux/Unix特点的通信方式,利用网络方式传输数据,但由于未加密,可通过多种抓包工具就能轻而易举获取到数据,毫无安全性可言。利于现有的信息安全技术,在应用程序之间传输敏感数据时会加入个性化的安全方案。其主要原理多数使用了非对称密钥对数据进行加解密。公钥(或私钥)加密的数据只能用对应的私钥(或公钥)解开,利用了这种唯一性的特点,充分保护了应用程序之间数据的安全性。但用于解密的私钥多落地在物理磁盘的富环境(Richexecutionenvironment)上,权限较高的用户(root)可轻易获取,由此,私钥若得不到安全保护,密钥位数再长的安全方案,也化为泡影。为此,申请人进行了有益的探索和尝试,找到了解决上述问题的办法,下面将要介绍的技术方案便是在这种背景下产生的。
技术实现思路
本专利技术所要解决的技术问题在于:针对现有Android应用程序之间的明文通信敏感数据无法得到保护、非对称算法密文通讯时的私钥存储不当敏感数据仍面临被破解威胁等问题,而提供一种基于可信执行环境的Android应用之间的安全通信方法,该方法使用非对称算法保护敏感数据,且用于非对称算法的私钥位于可信执行环境,极大的保护应用程序之间的通信数据安全,且代价较小,很好的保护用户敏感信息。本专利技术所解决的技术问题可以采用以下技术方案来实现:一种基于可信执行环境的Android应用程序之间的安全通信方法,包括以下步骤:数据接收方应用程序在安全可信区域内创建非对称密钥对,并将创建的非对称密钥对的公钥对外公开;数据发送方应用程序获取到接收方应用程序所公开的公钥,并采用获取的公钥作用于敏感数据,使得敏感数据形成密文数据,再将密文数据发送至数据接收方应用程序;以及数据接收方应用程序接收到数据发送方应用程序发送过来的密文数据,并采用其创建的非对称密钥对的私钥对接收到的密文数据进行解密,获取最终的敏感数据。在本专利技术的一个优选实施例中,所述非对称密钥对所使用的非对称算法为RSA算法或ECC算法。在本专利技术的一个优选实施例中,所述非对称密钥对可为任意长度。在本专利技术的一个优选实施例中,所述数据接收方应用程序将创建的非对称密钥对的公钥对外公开的信息包括公钥值、密钥算法以及密钥长度。在本专利技术的一个优选实施例中,所述数据发送方应用程序将密文数据发送至数据接收方应用程序的通信方式为广播、AIDL、套接字和文件中的一种或多种组合。在本专利技术的一个优选实施例中,所述公钥作用于敏感数据的关系为直接关系或者间接关系,其中,直接关系为直接采用所述公钥对敏感数据进行加密保护,间接关系为采用某一对称密钥对敏感数据进行加密保护,再采用所述公钥对该对称密钥进行加密保护。由于采用了如上的技术方案,本专利技术的有益效果在于:本专利技术通过非对称密钥对对敏感数据进行处理,保护了Android应用程序之间的数据通信安全;通过在可信执行环境创建的私钥,即将私钥存储在该可信执行环境,保护了私钥的安全,也即增加了敏感数据密文被破解的难度,提高了敏感数据通信的安全级别,极大程度保护了用户信息。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的流程图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。本专利技术的基于可信执行环境的Android应用程序之间的安全通信方法,包括以下步骤:步骤S1,数据接收方应用程序在安全可信区域内创建非对称密钥对,并将创建的非对称密钥对的公钥对外公开,其中,非对称密钥对所使用的非对称算法为RSA算法或ECC算法,非对称密钥对可为任意长度,数据接收方应用程序将创建的非对称密钥对的公钥对外公开的信息包括公钥值、密钥算法以及密钥长度;步骤S2,数据发送方应用程序获取到接收方应用程序所公开的公钥,并采用获取的公钥作用于敏感数据,使得敏感数据形成密文数据,再将密文数据发送至数据接收方应用程序,数据发送方应用程序将密文数据发送至数据接收方应用程序的通信方式为广播、AIDL、套接字和文件中的一种或多种组合;步骤S3,数据接收方应用程序接收到数据发送方应用程序发送过来的密文数据,并采用其创建的非对称密钥对的私钥对接收到的密文数据进行解密,获取最终的敏感数据。其中,公钥作用于敏感数据的关系为直接关系或者间接关系,其中,直接关系为直接采用所述公钥对敏感数据进行加密保护,间接关系为采用某一对称密钥对敏感数据进行加密保护,再采用所述公钥对该对称密钥进行加密保护。参见图1,图中给出的是本专利技术的基于可信执行环境的Android应用程序之间的安全通信方法的一个具体实施方式:其中,创建的非对称密钥对类型为长度为1024位的RSA密钥对;公钥对敏感信息为直接作用,即直接对敏感信息加密;分组加密模式为ECB,使用PKCS1Padding作为填充方式;敏感信息密文的通信方式为广播。参见图1,该安全通信方法的具体实施如下:1、在应用程序A中,创建RSA非对称密钥对;2、在应用程序A中,保存Base64编码的公钥信息至公共目录下;3、在应用程序A中,注册广播,用于接受加密后的字符串,在应用程序B中,读取文件/sdcard/publicKey,获得Base64编码的字符串公钥信息;4、在应用程序B中,使用公钥加密敏感数据,生成敏感数据密文;5、在应用程序B中,将密文附着到广播中,并发送广播;6、在应用程序A中,收到广播,取得附着的密文信息;7、在应用程序A中,将密文信息传入可信执行环境,使用对应私钥解密本文档来自技高网
...
基于可信执行环境的Android应用程序之间的安全通信方法

【技术保护点】
基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,包括以下步骤:数据接收方应用程序在安全可信区域内创建非对称密钥对,并将创建的非对称密钥对的公钥对外公开;数据发送方应用程序获取到接收方应用程序所公开的公钥,并采用获取的公钥作用于敏感数据,使得敏感数据形成密文数据,再将密文数据发送至数据接收方应用程序;以及数据接收方应用程序接收到数据发送方应用程序发送过来的密文数据,并采用其创建的非对称密钥对的私钥对接收到的密文数据进行解密,获取最终的敏感数据。

【技术特征摘要】
1.基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,包括以下步骤:数据接收方应用程序在安全可信区域内创建非对称密钥对,并将创建的非对称密钥对的公钥对外公开;数据发送方应用程序获取到接收方应用程序所公开的公钥,并采用获取的公钥作用于敏感数据,使得敏感数据形成密文数据,再将密文数据发送至数据接收方应用程序;以及数据接收方应用程序接收到数据发送方应用程序发送过来的密文数据,并采用其创建的非对称密钥对的私钥对接收到的密文数据进行解密,获取最终的敏感数据。2.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,所述非对称密钥对所使用的非对称算法为RSA算法或ECC算法。3.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,...

【专利技术属性】
技术研发人员:刘文斌杨文山朱立通
申请(专利权)人:上海格尔安全科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1