CN108156143A - 基于可信执行环境的Android应用程序之间的安全通信方法 - Google Patents

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

Info

Publication number
CN108156143A
CN108156143A CN201711342432.0A CN201711342432A CN108156143A CN 108156143 A CN108156143 A CN 108156143A CN 201711342432 A CN201711342432 A CN 201711342432A CN 108156143 A CN108156143 A CN 108156143A
Authority
CN
China
Prior art keywords
data
application program
key
public key
performing environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711342432.0A
Other languages
English (en)
Inventor
刘文斌
杨文山
朱立通
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Gel Safety Technology Co Ltd
Original Assignee
Shanghai Gel Safety Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Gel Safety Technology Co Ltd filed Critical Shanghai Gel Safety Technology Co Ltd
Priority to CN201711342432.0A priority Critical patent/CN108156143A/zh
Publication of CN108156143A publication Critical patent/CN108156143A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

基于可信执行环境的Android应用程序之间的安全通信方法
技术领域
本发明属于Android设备信息通信安全技术领域,尤其涉及一种基于可信执行环境(TEE,Trusted Execution Environment)的Android应用之间的安全通信方法。
背景技术
Android生态的逐渐成熟得益于以应用程序(App)为形式的内容多样化。Android应用程序之间需要交互的场合越来越多,尤其当App作为服务提供者时。例如,锁屏应用程序需要接收用户密码并验证;第三方应用程序需要引用社交软件已注册账户作为身份登录时,需要传输账号、密码至社交软件;使用数字证书应用程序进行签名时,数字证书应用程序需要接收用户密码来验证用户身份等。
现有的Android应用程序具有多种应用程序之间的通信方式,有直接传输数据的能力,但缺点较多,普遍缺少安全考虑。例如:1、广播通信,基于FrameWork的能力将数据附属到广播中即可通信,仅匹配广播Action名称的方式较为方便,但广播公开,任意接收者只要知道广播名称就获取到同样的敏感信息,很不安全;2、AIDL(Android Interface DefineLanguage)方式,需要通信客户端部署与通信服务端同样的接口描述文件,编码获得通信服务端句柄即可通信,此种方式传输的数据不再公开,但部署较为复杂,通信的成本较高,在仅传输少量的敏感数据时,较重量级,且数据未加密,通过在服务端调试,依旧能获得明文数据;3、套接字通信,这是有Linux/Unix特点的通信方式,利用网络方式传输数据,但由于未加密,可通过多种抓包工具就能轻而易举获取到数据,毫无安全性可言。
利于现有的信息安全技术,在应用程序之间传输敏感数据时会加入个性化的安全方案。其主要原理多数使用了非对称密钥对数据进行加解密。公钥(或私钥)加密的数据只能用对应的私钥(或公钥)解开,利用了这种唯一性的特点,充分保护了应用程序之间数据的安全性。但用于解密的私钥多落地在物理磁盘的富环境(Rich execution environment)上,权限较高的用户(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中,将密文信息传入可信执行环境,使用对应私钥解密,获得最终敏感数据。
由上述具体实施例可看出,其中的安全性体现在多个方面:
1、广播内容为密文,没有私钥无法解密,保护了通信数据被直接窃听;
2、私钥材料无法从第三方应用获得,保证了解密者的唯一性;
3、私钥材料无法导出,且永不进入应用进程,防止被离线破解、拷贝解密等。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (6)

1.基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,包括以下步骤:
数据接收方应用程序在安全可信区域内创建非对称密钥对,并将创建的非对称密钥对的公钥对外公开;
数据发送方应用程序获取到接收方应用程序所公开的公钥,并采用获取的公钥作用于敏感数据,使得敏感数据形成密文数据,再将密文数据发送至数据接收方应用程序;以及
数据接收方应用程序接收到数据发送方应用程序发送过来的密文数据,并采用其创建的非对称密钥对的私钥对接收到的密文数据进行解密,获取最终的敏感数据。
2.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,所述非对称密钥对所使用的非对称算法为RSA算法或ECC算法。
3.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,所述非对称密钥对可为任意长度。
4.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,所述数据接收方应用程序将创建的非对称密钥对的公钥对外公开的信息包括公钥值、密钥算法以及密钥长度。
5.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,所述数据发送方应用程序将密文数据发送至数据接收方应用程序的通信方式为广播、AIDL、套接字和文件中的一种或多种组合。
6.如权利要求1所述的基于可信执行环境的Android应用程序之间的安全通信方法,其特征在于,所述公钥作用于敏感数据的关系为直接关系或者间接关系,其中,直接关系为直接采用所述公钥对敏感数据进行加密保护,间接关系为采用某一对称密钥对敏感数据进行加密保护,再采用所述公钥对该对称密钥进行加密保护。
CN201711342432.0A 2017-12-14 2017-12-14 基于可信执行环境的Android应用程序之间的安全通信方法 Pending CN108156143A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711342432.0A CN108156143A (zh) 2017-12-14 2017-12-14 基于可信执行环境的Android应用程序之间的安全通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711342432.0A CN108156143A (zh) 2017-12-14 2017-12-14 基于可信执行环境的Android应用程序之间的安全通信方法

Publications (1)

Publication Number Publication Date
CN108156143A true CN108156143A (zh) 2018-06-12

Family

ID=62466907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711342432.0A Pending CN108156143A (zh) 2017-12-14 2017-12-14 基于可信执行环境的Android应用程序之间的安全通信方法

Country Status (1)

Country Link
CN (1) CN108156143A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110881015A (zh) * 2018-09-05 2020-03-13 程强 用于处理用户信息的系统和方法
CN111107066A (zh) * 2019-12-06 2020-05-05 中国联合网络通信集团有限公司 敏感数据的传输方法和系统、电子设备、存储介质
CN113612746A (zh) * 2021-07-26 2021-11-05 建信金融科技有限责任公司 基于Android系统的敏感信息存储方法及系统
CN115004634A (zh) * 2020-04-03 2022-09-02 Oppo广东移动通信有限公司 信息处理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101772771A (zh) * 2007-06-20 2010-07-07 诺基亚公司 用于通信系统中的远程消息证实的方法
CN104079404A (zh) * 2014-07-07 2014-10-01 北京深思数盾科技有限公司 敏感数据安全交换方法及系统
CN104520805A (zh) * 2012-08-29 2015-04-15 赛门铁克公司 根据企业信息控制策略的带有密钥和数据交换的安全应用程序生态系统
CN105828324A (zh) * 2016-03-21 2016-08-03 珠海市魅族科技有限公司 一种获取虚拟用户身份的方法及装置
CN106850201A (zh) * 2017-02-15 2017-06-13 济南晟安信息技术有限公司 智能终端多因子认证方法、智能终端、认证服务器及系统
CN106878231A (zh) * 2015-12-10 2017-06-20 中国电信股份有限公司 用于实现用户数据安全传输的方法、用户终端和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101772771A (zh) * 2007-06-20 2010-07-07 诺基亚公司 用于通信系统中的远程消息证实的方法
CN104520805A (zh) * 2012-08-29 2015-04-15 赛门铁克公司 根据企业信息控制策略的带有密钥和数据交换的安全应用程序生态系统
CN104079404A (zh) * 2014-07-07 2014-10-01 北京深思数盾科技有限公司 敏感数据安全交换方法及系统
CN106878231A (zh) * 2015-12-10 2017-06-20 中国电信股份有限公司 用于实现用户数据安全传输的方法、用户终端和系统
CN105828324A (zh) * 2016-03-21 2016-08-03 珠海市魅族科技有限公司 一种获取虚拟用户身份的方法及装置
CN106850201A (zh) * 2017-02-15 2017-06-13 济南晟安信息技术有限公司 智能终端多因子认证方法、智能终端、认证服务器及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110881015A (zh) * 2018-09-05 2020-03-13 程强 用于处理用户信息的系统和方法
CN110881015B (zh) * 2018-09-05 2021-10-01 程强 用于处理用户信息的系统和方法
CN111107066A (zh) * 2019-12-06 2020-05-05 中国联合网络通信集团有限公司 敏感数据的传输方法和系统、电子设备、存储介质
CN115004634A (zh) * 2020-04-03 2022-09-02 Oppo广东移动通信有限公司 信息处理方法、装置、设备及存储介质
CN115004634B (zh) * 2020-04-03 2023-12-19 Oppo广东移动通信有限公司 信息处理方法、装置、设备及存储介质
CN113612746A (zh) * 2021-07-26 2021-11-05 建信金融科技有限责任公司 基于Android系统的敏感信息存储方法及系统
CN113612746B (zh) * 2021-07-26 2023-05-09 中国建设银行股份有限公司 基于Android系统的敏感信息存储方法及系统

Similar Documents

Publication Publication Date Title
CN108156143A (zh) 基于可信执行环境的Android应用程序之间的安全通信方法
CN110535868A (zh) 基于混合加密算法的数据传输方法及系统
CN105323070B (zh) 一种基于数字信封的安全电子邮件实现方法
CN106712946B (zh) 一种数据安全传输方法
CN101115060B (zh) 用户密钥管理体系中的非对称密钥传输过程中用户加密密钥的保护方法
CN107181584B (zh) 非对称完全同态加密及其密钥置换和密文交割方法
CN108040048A (zh) 一种基于http协议的移动客户端用户动态秘钥加密通讯方法
CN108900301A (zh) 基于.NET MVC的restful接口安全认证及报文混合加密方法
CN106878322A (zh) 一种基于属性的定长密文与密钥的加密、解密方法
CN109600374A (zh) 基于区块链的用户数据安全发送方法及其系统
CN103634100A (zh) 一种加密方法及装置
CN104486756B (zh) 一种密笺短信的加解密方法及系统
CN102055685A (zh) 网页邮件信息加密的方法
CN106549858A (zh) 一种基于标识密码的即时通信加密方法
CN104993929B (zh) 一种支持系统属性扩展的属性基加密系统及方法
CN112995204B (zh) ProtonMail加密邮件的安全读取方法、装置、设备及存储介质
CN102624892B (zh) 一种防止外挂客户端模拟http请求的方法
CN104394532A (zh) 移动端防暴力破解的安全登录方法
CN108337233B (zh) 一种对内容信息加密的方法、电子设备及存储介质
CN108494554B (zh) 一种基于双明文的数据对称加密方法
CN103634313B (zh) 一种通讯录的处理方法、装置及移动终端
AU2012210978B2 (en) Controlled security domains
Shah et al. Efficient Cryptography for data security
CN108462677A (zh) 一种文件加密方法及系统
CN106790312A (zh) 一种基于abe的云存储数据安全共享实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180612

RJ01 Rejection of invention patent application after publication