CN116186724A - 数据处理方法、设备、装置、存储介质和程序产品 - Google Patents

数据处理方法、设备、装置、存储介质和程序产品 Download PDF

Info

Publication number
CN116186724A
CN116186724A CN202111437216.0A CN202111437216A CN116186724A CN 116186724 A CN116186724 A CN 116186724A CN 202111437216 A CN202111437216 A CN 202111437216A CN 116186724 A CN116186724 A CN 116186724A
Authority
CN
China
Prior art keywords
master key
server
terminal equipment
application data
decrypted
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
CN202111437216.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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202111437216.0A priority Critical patent/CN116186724A/zh
Publication of CN116186724A publication Critical patent/CN116186724A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/602Providing cryptographic facilities or services
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

本申请实施例提供一种数据处理方法、设备、装置、存储介质和程序产品。在本申请的一些实施例中,终端设备获取应用数据,首先终端设备利用主密钥对应用数据进行加密,得到加密后的应用数据;再将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;本申请在将应用数据保存在本地和发送到服务器之前先使用主密钥对应用数据进行加密,保证数据的安全性;此外,主密钥通过服务器内部生成,且主密钥仅保存在终端设备内部和/或服务器内部,防止数据泄漏,提高端到端数据传输的安全性。

Description

数据处理方法、设备、装置、存储介质和程序产品
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据处理方法、设备、装置、存储介质和程序产品。
背景技术
随着信息技术的飞速发展和数字经济的蓬勃兴起,海量数据需要通过网络进行交互,完成网页浏览,商品交易等应用。在互联网诞生初期缺乏对数据安全保护的措施,端到端的数据可以被监听、截获和篡改,因此,端到端的数据安全问题日益突出。
目前,端到端的数据传输过程中,数据存在泄漏风险,数据安全性较低。
发明内容
本申请提供一种数据处理方法、设备、装置、存储介质和程序产品,提高端到端数据传输的安全性。本申请的技术方案如下:
本申请的实施例提供的技术方案至少带来以下有益效果:
本申请实施例提供一种数据处理方法,应用于终端设备,所述方法包括:
获取应用数据;
利用主密钥对所述应用数据进行加密,得到加密后的应用数据,其中,所述主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;
将所述加密后的应用数据存储在本地,或者将所述加密后的应用数据发送至服务器。
可选地,在所述得到加密后的应用数据之后,所述方法还包括:
获取所述加密后的应用数据;
利用主密钥对所述加密后的应用数据进行解密,得到所述应用数据。
可选地,所述方法还包括:
接收服务器下发的携带有服务器的目标时钟的对时请求;
将终端设备的时钟调整为所述目标时钟。
可选地,在使用所述主密钥之前,所述方法还包括:
响应安全口令创建操作,获取安全口令;
对所述安全口令进行数字签名,得到签名数据;
将所述签名数据发送至服务器,以供服务器根据所述签名数据进行验签操作。
可选地,所述对所述安全口令进行数字签名,得到签名数据,包括:
对所述安全口令进行摘要运算,得到第一摘要信息;
将所述安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;
将所述数字签名、用户标识、终端设备当前时间、第一公钥和随机数使用第二公钥进行加密,得到所述签名数据。
可选地,所述方法还包括:
将所述用户标识发送至服务器,以供服务器根据所述用户标识的明文对所述终端设备进行身份识别。
可选地,在所述利用主密钥对所述应用数据进行加密,得到加密后的应用数据之前,所述方法还包括:
接收服务器发送的加密后的主密钥,其中,服务器利用加密机使用第一公钥对所述主密钥进行加密得到所述加密后的主密钥;
利用第一私钥对所述加密后的主密钥进行解密,得到主密钥。
本申请实施例还提供一种数据处理方法,应用于服务器,所述方法包括:
接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成所述加密后的应用数据,所述主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;
响应数据获取请求,将所述加密后的应用数据发送至终端设备。
可选地,所述方法还包括:
接收终端设备发送的签名数据;
在加密机内部,使用第二私钥对所述签名数据进行解密,得到解密后的数字签名;
使用第一公钥对所述解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;
对所述解密后的安全口令进行摘要运算,得到第二摘要信息;
将所述第二摘要信息与所述解密后的摘要信息进行比对,生成验签结果;
根据所述验签结果,执行生成主密钥的操作。
可选地,所述根据所述验签结果,执行生成主密钥的操作,包括:
若验签结果为验签通过,且之前未创建过主密钥,则利用加密机随机生成所述主密钥;
若验签结果为验签未通过,则生成验签失败结果,并将所述验签失败结果返回至终端设备。
可选地,在所述利用加密机随机生成所述主密钥之后,所述方法还包括:
将所述主密钥、加密机当前时间和所述解密后的摘要信息,存储至所述加密机内部。
可选地,所述方法还包括:
判断解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值;
若是,则生成验签失败结果,并将所述验签失败结果返回至终端设备。
可选地,所述方法还包括:
若之前创建过主密钥,则将上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息进行比对,得到上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息是否一致的比对结果;以及判断上一次创建主密钥的时间是否小于解密后的终端设备当前时间;以及当前日期下的验签失败的次数是否小于设定次数阈值;
若上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息不一致、上一次创建主密钥的时间大于等于解密后的终端设备当前时间、当前日期下的验签失败的次数大于等于设定次数阈值中的任意一个满足,则生成验签失败结果,并将所述验签失败结果返回至终端设备;
若上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于设定次数阈值,则将所述上一次创建主密钥的时间为所述当前加密机时间。
可选地,在所述利用加密机随机生成所述主密钥之后,所述方法还包括:
在加密机内部使用第一公钥对所述主密钥加密,得到加密后的主密钥;
将所述加密后的主密钥发送至终端设备。
本申请实施例还提供一种数据处理装置,包括:
获取模块,用于获取应用数据;
加密模块,用于利用主密钥对所述应用数据进行加密,得到加密后的应用数据,其中,所述主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;
发送模块,用于将所述加密后的应用数据存储在本地,或者将所述加密后的应用数据发送至服务器。
本申请实施例还提供一种终端设备,包括:存储器、处理器和通信组件;
所述存储器,用于存储计算机程序;
所述通信组件,用于将加密后的应用数据发送至服务器;
所述处理器,用于执行所述计算机程序,以实现上述的方法中的各步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的方法中的各步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法中的各步骤。
本申请实施例还提供一种数据处理装置,包括:
接收模块,用于接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成所述加密后的应用数据,所述主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;
响应模块,用于响应数据获取请求,将所述加密后的应用数据发送至终端设备。
本申请实施例还提供一种服务器,包括:存储器、处理器和通信组件;
所述存储器,用于存储计算机程序;
所述通信组件,用于将加密后的应用数据发送至终端设备;
所述处理器,用于执行所述计算机程序,以实现上述的方法中的各步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法中的各步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法中的各步骤。
在本申请的一些实施例中,终端设备获取应用数据,首先终端设备利用主密钥对应用数据进行加密,得到加密后的应用数据;再将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;本申请在将应用数据保存在本地和发送到服务器之前先使用主密钥对应用数据进行加密,保证数据的安全性;此外,主密钥通过服务器内部生成,且主密钥仅保存在终端设备内部和/或服务器内部,防止数据泄漏,提高端到端数据传输的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为本申请现有技术数据传输系统的示意图;
图2为本申请示例性实施例提供的一种数据处理系统的示意图;
图3a为本申请示例性实施例从终端设备角度提供的一种数据处理方法的流程示意图;
图3b为本申请示例性实施例从服务器角度提供的一种数据处理方法的流程示意图;
图4为本申请示例性实施例提供的另一种数据处理方法的流程示意图;
图5是本申请示例性实施例提供的一种数据处理装置的装置框图;
图6是本申请示例性实施例提供的一种数据处理装置的装置框图;
图7为本申请示例性实施例提供的一种终端设备的结构示意图;
图8为本申请示例性实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1为本申请现有技术数据传输系统10的示意图。数据传输系统10包括终端设备10a和服务器10b。终端设备10a对应用数据进行加密,保证终端应用和传输过程的数据安全,而默认将服务端开发维护应用的人员归在安全信任域中,认为只要服务端设备和网络不被组织外部攻破,就等同于用户的隐私和数据得到了安全保证。实际上,服务端开发和维护人员只要能接触用户数据和调用服务端的相关接口,就可以获取和解密用户数据;针对这种情况,在服务器10b的加密机对用户密码加密后的数据进行二次加密,服务端的开发和维护人员还能获取到加密机密钥对数据进行解密,也不能规避数据泄漏的风险。
针对上述存在的技术问题,在本申请的一些实施例中,终端设备获取应用数据,首先在TZ芯片内部利用主密钥对应用数据进行加密,得到加密后的应用数据;再将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;本申请在将应用数据保存在本地和发送到服务器之前先使用主密钥在TZ芯片内部对应用数据进行加密,保证数据的安全性;此外,主密钥通过服务器的加密机内部生成,且主密钥仅保存在终端设备的TZ芯片内部和服务器的加密机内部,防止数据泄漏,提高端到端数据传输的安全性。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本申请示例性实施例提供的一种数据处理系统20的示意图。如图2所示,如图处理系统20包括终端设备20a和服务器20b。其中,终端设备20a与服务器20b之间建立通信连接。如图2所呈现的终端设备20a和服务器20b只是示例性说明,并不对其实现形式构成限定。
其中,终端设备20a和服务器20b之间可以采用无线连接。可选地,终端设备20a可以采用WIFI、蓝牙、红外等通信方式与服务器20b建立通信连接,或者,终端设备20a、通过移动网络与服务器20b建立通信连接。其中,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。
在本实施例中,对终端设备20a的类型不作限定,终端设备20a包括但不限于以下任意一种:个人电脑,笔记本电脑,平板电脑,手机,智能手环,智能电视和智能音响。
在本实施例中,并不限定服务器20b的实现形态。例如,服务器20b可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器20b的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类型。
在本实施例中,终端设备20a获取应用数据,利用主密钥对安装于终端设备20a上的应用的应用数据进行加密,得到加密后的应用数据;终端设备20a将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器20b。服务器20b接收终端设备20a上传的加密后的应用数据;服务器20b响应数据获取请求,将加密后的应用数据发送至终端设备20a。
其中,
在上述实施例中,相应地,终端设备20a从本地或者服务器20b获取加密后的应用数据,利用主密钥对加密后的应用数据进行解密,得到应用数据,供后续使用。
用户在输入安全口令在终端设备20a中下载主密钥时,请求中加入时间戳和随机数nonce签名,在服务器20b的加密机中验证时间戳和签名,防止中间人截获第二公钥加密后请求用于后续重放,也防止中间人篡改。
需要说明的是,应用数据,指安装于终端设备20a上的各种应用相应的数据。应用数据包括数据目录结构和数据目录结构下的数据。
处理器每个物理核虚拟为两个核,一个非安全核,运行非安全世界的代码;另一个安全核,运行安全世界的代码。TZ芯片是指处理器中的安全核。两个虚拟的核基于时间片的方式运行,根据需要实时占用物理核,在非安全核和安全核之间切换。
主密钥,在服务器20b的加密机内部生成,并且主密钥的明文只保存在终端设备20a和服务器20b内部,主密钥的明文不会出现在终端设备20和服务器20b之外的其他地方。主密钥采用较长的主密钥,用户无法在有限时间内破解,终端设备20a的所有应用数据都采用主密钥加密。明文形式的主密钥仅在服务器20b的加密机和终端设备20a加密芯片中存储和使用,由于主密钥在离开TZ芯片和加密机前,都使用对端硬件的公钥加密,而硬件的私钥只存在硬件内,确保传输过程无法被破解。
在本实施例中,终端设备20a获取主密钥的获取方式,包括但不限于以下几种获取方式:
获取方式一,终端设备20a接收服务器20b的加密机在创建主密钥后自动下发的主密钥。
获取方式二,终端设备20a响应设备恢复指令,向服务器20b发送主密钥获取请求,服务器20b接收主密钥获取请求,将在加密机内部存储的主密钥经过加密后发送至终端设备20a,终端设备20a在TZ芯片内对加密后的主密钥进行解密后,得到主密钥。
例如,由服务器20b的加密机生成一个无法在有限时间破解的256bit长的主密钥,所有应用数据的传输加密和存储加密,都使用主密钥。使用这个主密钥初始化终端设备20a时,使用用户预设的安全口令,验证用户身份,其中,安全口令最少4位大小写敏感的字母和数字,最少14776336个可能值。应用数据在终端设备20a经过AES256算法加密。用于加解密的明文主密钥只存在于终端设备20a的TZ芯片和服务器20b的加密机中。
在上述以及下述各实施例中,服务器20b在创建主密钥之前,对终端设备20a和服务器20b进行对时。一种可实现的方式为,终端设备20a接收服务器20b下发的携带有服务器20b的目标时钟的对时请求;将终端设备20a的时钟调整为目标时钟。其中,服务器20b向终端设备20a发送携带有目标时钟的对时请求,终端设备20a对对时请求进行解析,得到目标时钟,终端设备20a将自己的时钟调整为目标时钟,完成终端设备20a和服务器20b之间的对时。
以下对创建主密钥的过程作出详细说明:
终端设备20a响应安全口令创建操作,获取安全口令;对安全口令进行数字签名,得到签名数据;将签名数据发送至服务器20b,服务器20b接收终端设备20a的签名数据,根据签名数据进行验签操作,并得到验签成功结果和验签失败结果。其中,本申请实施例安全口令的创建通过用户与终端设备20a交互完成,本申请实施例对安全口令的创建过程不作详细说明。
在上述实施例中,终端设备20a对安全口令进行数字签名,得到签名数据。一种可实现的方式为,对安全口令进行摘要运算,得到第一摘要信息;将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;将数字签名、用户标识、终端设备当前时间、第一公钥和随机数使用第二公钥进行加密,得到签名数据。例如,对安全口令进行PBKDF2算法进行摘要运算,得到第一摘要信息;利用随机数生成算法随机生成一个随机数nonce,将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥、随机数和数字签名放入请求中,将请求使用第二公钥进行加密,得到签名数据。
在上述以及下述各实施例中,终端设备20a在将签名数据发送至服务器20b时,将用户标识发送至服务器20b,以供服务器20b根据用户标识的明文对终端设备20a进行身份识别。其中,签名数据和用户标识可以同时发送,也可以先后顺序发送,服务器20b根据用户标识,对终端设备20a进行身份识别。
在上述实施例中,服务器20b接收终端设备20a发送的签名数据;在加密机内部使用第二私钥对签名数据进行解密,得到解密后的数字签名;使用第一公钥对解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;对解密后的安全口令进行摘要运算,得到第二摘要信息;将第二摘要信息与解密后的摘要信息进行比对,生成验签结果;根据验签结果,执行生成主密钥的操作。例如,服务器20b接收终端设备20a发送的签名数据,在加密机内部,使用第二私钥对签名数据进行解密,得到解密后的数字签名;服务器20b使用第一公钥对解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;服务器20b对解密后的安全口令进行摘要运算,得到第二摘要信息;服务器20b将第二摘要信息与解密后的摘要信息进行比对;若第二摘要信息和解密后的摘要信息一致,则生成验签通过的验签结果,执行生成主密钥的操作;若第二摘要信息和解密后的摘要信息不一致,则生成验签未通过的验签结果,不执行生成主密钥的操作。
服务器20b在验签结果为验签通过时,继续判断之前是否创建过主密钥;若之前未创建过主密钥,则服务器20b利用加密机随机生成主密钥,将主密钥、加密机当前时间和解密后的摘要信息,存储至加密机内部。若验签结果为验签未通过,则生成验签失败结果,服务器20b将验签失败结果返回至终端设备20a。
在上述实施例中,服务器20b在得到终端设备当前时间后,判断解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值;若是,则生成验签失败结果,并将验签失败结果返回至终端设备20a。设定时间阈值可以为5分钟,10分钟等。当解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值时,说明数据在传输过程中可能存在被截获的可能,因此,在这种情况下生成验签失败结果返回至终端设备20a。需要说明的是,本申请对设定时间阈值不作限定,设定时间阈值可以根据实际情况,对设定时间阈值作出调整。
在上述实施例中,若之前创建过主密钥,则将上一次创建主密钥时对应的摘要信息和解密后的摘要信息进行比对,得到上一次创建主密钥时对应的摘要信息和解密后的摘要信息是否一致的比对结果;以及判断上一次创建主密钥的时间是否小于解密后的终端设备当前时间;以及当前日期下的验签失败的次数是否小于设定次数阈值;若上一次创建主密钥时对应的摘要信息和解密后的摘要信息不一致、上一次创建主密钥的时间大于等于解密后的终端设备当前时间、当前日期下的验签失败的次数大于等于设定次数阈值中的任意一个满足,则生成验签失败结果,并将验签失败结果返回至终端设备;若上一次创建主密钥时对应的摘要信息和解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于设定次数阈值,则将上一次创建主密钥的时间为当前加密机时间。例如,验签失败的次数可以为3次,5次等。当上一次创建主密钥时对应的摘要信息和解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于3次,则将上一次创建主密钥的时间为当前加密机时间,若上述三个条件中的任意一个不满足,则生成验签失败结果,服务器20b将验签失败结果返回至终端设备20a。需要说明的是,本申请对设定次数阈值不作限定,设定次数阈值可以根据实际情况作出调整。
本申请实施例服务器的创建主密钥相关的核心安全代码运行在加密机内部,第二私钥存储在加密机存储内部,不可以被外部接口调用,仅可被加密机内部的核心安全代码调用,杜绝了传统方案中从加密机外部调用标准接口加解密数据的方式,服务端人员无法使用自己的代码加解密用户数据。
服务器20b在利用加密机随机生成主密钥之后,主密钥的明文只能保存在加密机内部,当主密钥需要发送至终端设备20a时,服务器20b在加密机内部使用第一公钥对主密钥加密,得到加密后的主密钥;将加密后的主密钥发送至终端设备20a。终端设备20a接收服务器20b发送的加密后的主密钥;在TZ芯片内部利用第一私钥对加密后的主密钥进行解密,得到主密钥,供后续使用。
在本申请的上述系统实施例中,终端设备获取应用数据,首先终端设备利用主密钥对应用数据进行加密,得到加密后的应用数据;再将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;本申请在将应用数据保存在本地和发送到服务器之前先使用主密钥对应用数据进行加密,保证数据的安全性;此外,主密钥通过服务器内部生成,且主密钥仅保存在终端设备内部和/或服务器内部,防止数据泄漏,提高端到端数据传输的安全性。
从终端设备角度,图3a为本申请示例性实施例提供的一种数据处理方法的流程示意图。如图3a所示,该方法包括:
S311:获取应用数据;
S312:利用主密钥对应用数据进行加密,得到加密后的应用数据,其中,主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;
S313:将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器。
从服务器角度,图3b为本申请示例性实施例提供的一种数据处理方法的流程示意图。如图3b所示,该方法包括:
S321:接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成加密后的应用数据,主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;
S322:响应数据获取请求,将加密后的应用数据发送至终端设备。
在本实施例中,对终端设备的类型不作限定,终端设备包括但不限于以下任意一种:个人电脑,笔记本电脑,平板电脑,手机,智能手环,智能电视和智能音响。
在本实施例中,并不限定服务器的实现形态。例如,服务器可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类型。
在本实施例中,终端设备获取应用数据,在TZ芯片内部利用主密钥对安装于终端设备上的应用的应用数据进行加密,得到加密后的应用数据;终端设备将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器。服务器接收终端设备上传的加密后的应用数据;服务器响应数据获取请求,将加密后的应用数据发送至终端设备。
在上述实施例中,相应地,终端设备从本地或者服务器获取加密后的应用数据,在TZ芯片内部利用主密钥对加密后的应用数据进行解密,得到应用数据,供后续使用。
用户在输入安全口令在终端设备中下载主密钥时,请求中加入时间戳和随机数nonce签名,在服务器的加密机中验证时间戳和签名,防止中间人截获第二公钥加密后请求用于后续重放,也防止中间人篡改。
需要说明的是,应用数据,指安装于终端设备上的各种应用相应的数据。应用数据包括数据目录结构和数据目录结构下的数据。
处理器每个物理核虚拟为两个核,一个非安全核,运行非安全世界的代码;另一个安全核,运行安全世界的代码。TZ芯片是指处理器中的安全核。两个虚拟的核基于时间片的方式运行,根据需要实时占用物理核,在非安全核和安全核之间切换。
主密钥,在服务器的加密机内部生成,并且主密钥的明文只保存在终端设备和服务器内部,主密钥的明文不会出现在终端设备20和服务器之外的其他地方。主密钥采用较长的主密钥,用户无法在有限时间内破解,终端设备的所有应用数据都采用主密钥加密。明文形式的主密钥仅在服务器的加密机和终端设备加密芯片中存储和使用,由于主密钥在离开TZ芯片和加密机前,都使用对端硬件的公钥加密,而硬件的私钥只存在硬件内,确保传输过程无法被破解。
在本实施例中,终端设备获取主密钥的获取方式,包括但不限于以下几种获取方式:
获取方式一,终端设备接收服务器的加密机在创建主密钥后自动下发的主密钥。
获取方式二,终端设备响应设备恢复指令,向服务器发送主密钥获取请求,服务器接收主密钥获取请求,将在加密机内部存储的主密钥经过加密后发送至终端设备,终端设备在TZ芯片内对加密后的主密钥进行解密后,得到主密钥。
例如,由服务器的加密机生成一个无法在有限时间破解的256bit长的主密钥,所有应用数据的传输加密和存储加密,都使用主密钥。使用这个主密钥初始化终端设备时,使用用户预设的安全口令,验证用户身份,其中,安全口令最少4位大小写敏感的字母和数字,最少14776336个可能值。应用数据在终端设备经过AES256算法加密。用于加解密的明文主密钥只存在于终端设备的TZ芯片和服务器的加密机中。
在上述以及下述各实施例中,服务器在创建主密钥之前,对终端设备和服务器进行对时。一种可实现的方式为,终端设备接收服务器下发的携带有服务器的目标时钟的对时请求;将终端设备的时钟调整为目标时钟。其中,服务器向终端设备发送携带有目标时钟的对时请求,终端设备对对时请求进行解析,得到目标时钟,终端设备将自己的时钟调整为目标时钟,完成终端设备和服务器之间的对时。
以下对创建主密钥的过程作出详细说明:
终端设备响应安全口令创建操作,获取安全口令;对安全口令进行数字签名,得到签名数据;将签名数据发送至服务器,服务器接收终端设备的签名数据,根据签名数据进行验签操作,并得到验签成功结果和验签失败结果。其中,本申请实施例安全口令的创建通过用户与终端设备交互完成,本申请实施例对安全口令的创建过程不作详细说明。
在上述实施例中,终端设备对安全口令进行数字签名,得到签名数据。一种可实现的方式为,对安全口令进行摘要运算,得到第一摘要信息;将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;将数字签名、用户标识、终端设备当前时间、第一公钥和随机数使用第二公钥进行加密,得到签名数据。例如,对安全口令进行PBKDF2算法进行摘要运算,得到第一摘要信息;利用随机数生成算法随机生成一个随机数nonce,将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥、随机数和数字签名放入请求中,将请求使用第二公钥进行加密,得到签名数据。
在上述以及下述各实施例中,终端设备在将签名数据发送至服务器时,将用户标识发送至服务器,以供服务器根据用户标识的明文对终端设备进行身份识别。其中,签名数据和用户标识可以同时发送,也可以先后顺序发送,服务器根据用户标识,对终端设备进行身份识别。
在上述实施例中,服务器接收终端设备发送的签名数据;在加密机内部使用第二私钥对签名数据进行解密,得到解密后的数字签名;使用第一公钥对解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;对解密后的安全口令进行摘要运算,得到第二摘要信息;将第二摘要信息与解密后的摘要信息进行比对,生成验签结果;根据验签结果,执行生成主密钥的操作。例如,服务器接收终端设备发送的签名数据,在加密机内部,使用第二私钥对签名数据进行解密,得到解密后的数字签名;服务器使用第一公钥对解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;服务器对解密后的安全口令进行摘要运算,得到第二摘要信息;服务器将第二摘要信息与解密后的摘要信息进行比对;若第二摘要信息和解密后的摘要信息一致,则生成验签通过的验签结果,执行生成主密钥的操作;若第二摘要信息和解密后的摘要信息不一致,则生成验签未通过的验签结果,不执行生成主密钥的操作。
服务器在验签结果为验签通过时,继续判断之前是否创建过主密钥;若之前未创建过主密钥,则服务器利用加密机随机生成主密钥,将主密钥、加密机当前时间和解密后的摘要信息,存储至加密机内部。若验签结果为验签未通过,则生成验签失败结果,服务器将验签失败结果返回至终端设备。
在上述实施例中,服务器在得到终端设备当前时间后,判断解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值;若是,则生成验签失败结果,并将验签失败结果返回至终端设备。设定时间阈值可以为5分钟,10分钟等。当解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值时,说明数据在传输过程中可能存在被截获的可能,因此,在这种情况下生成验签失败结果返回至终端设备。需要说明的是,本申请对设定时间阈值不作限定,设定时间阈值可以根据实际情况,对设定时间阈值作出调整。
在上述实施例中,若之前创建过主密钥,则将上一次创建主密钥时对应的摘要信息和解密后的摘要信息进行比对,得到上一次创建主密钥时对应的摘要信息和解密后的摘要信息是否一致的比对结果;以及判断上一次创建主密钥的时间是否小于解密后的终端设备当前时间;以及当前日期下的验签失败的次数是否小于设定次数阈值;若上一次创建主密钥时对应的摘要信息和解密后的摘要信息不一致、上一次创建主密钥的时间大于等于解密后的终端设备当前时间、当前日期下的验签失败的次数大于等于设定次数阈值中的任意一个满足,则生成验签失败结果,并将验签失败结果返回至终端设备;若上一次创建主密钥时对应的摘要信息和解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于设定次数阈值,则将上一次创建主密钥的时间为当前加密机时间。例如,验签失败的次数可以为3次,5次等。当上一次创建主密钥时对应的摘要信息和解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于3次,则将上一次创建主密钥的时间为当前加密机时间,若上述三个条件中的任意一个不满足,则生成验签失败结果,服务器将验签失败结果返回至终端设备。需要说明的是,本申请对设定次数阈值不作限定,设定次数阈值可以根据实际情况作出调整。
本申请实施例服务器的创建主密钥相关的核心安全代码运行在加密机内部,第二私钥存储在加密机存储内部,不可以被外部接口调用,仅可被加密机内部的核心安全代码调用,杜绝了传统方案中从加密机外部调用标准接口加解密数据的方式,服务端人员无法使用自己的代码加解密用户数据。
服务器在利用加密机随机生成主密钥之后,主密钥的明文只能保存在加密机内部,当主密钥需要发送至终端设备时,服务器在加密机内部使用第一公钥对主密钥加密,得到加密后的主密钥;将加密后的主密钥发送至终端设备。终端设备接收服务器发送的加密后的主密钥;在TZ芯片内部利用第一私钥对加密后的主密钥进行解密,得到主密钥,供后续使用。
图4为本申请示例性实施例提供的另一种数据处理方法的流程示意图。如图4所示,方法包括:
S401:终端设备获取应用数据;
S402:终端设备在TZ芯片内部利用主密钥对应用数据进行加密,得到加密后的应用数据;
S403:终端设备将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;
S404:服务器接收终端设备上传的加密后的应用数据;
S405:服务器响应数据获取请求,将加密后的应用数据发送至终端设备。
在本实施例中,本申请实施例中的各步骤可参见前述各实施例中的相应部分,本实施例也能取到前述各实施例的有意效果,本实施例中不再赘述。
在本申请的上述方法实施例中,终端设备获取应用数据,首先终端设备利用主密钥对应用数据进行加密,得到加密后的应用数据;再将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;本申请在将应用数据保存在本地和发送到服务器之前先使用主密钥对应用数据进行加密,保证数据的安全性;此外,主密钥通过服务器内部生成,且主密钥仅保存在终端设备内部和/或服务器内部,防止数据泄漏,提高端到端数据传输的安全性。
图5是本申请示例性实施例提供的一种数据处理装置50的装置框图。参照图5,该数据处理装置50包括获取模块51,加密模块52和发送模块53。
其中,获取模块51,用于获取应用数据;
加密模块52,用于利用主密钥对应用数据进行加密,得到加密后的应用数据,其中,主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;
发送模块53,用于将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器。
可选地,加密模块52,在得到加密后的应用数据之后,还用于:获取加密后的应用数据;利用主密钥对加密后的应用数据进行解密,得到应用数据。
可选地,获取模块51,还用于:接收服务器下发的携带有服务器的目标时钟的对时请求;将终端设备的时钟调整为目标时钟。
可选地,加密模块52在使用主密钥之前,还可用于:响应安全口令创建操作,获取安全口令;对安全口令进行数字签名,得到签名数据;将签名数据发送至服务器,以供服务器根据签名数据进行验签操作。
可选地,加密模块52包括摘要运算子模块,第一加密子模块,第二加密子模块,加密模块52在对安全口令进行数字签名,得到签名数据时,
摘要运算子模块,用于对安全口令进行摘要运算,得到第一摘要信息;
第一加密子模块,用于将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;
第二加密子模块,用于将数字签名、用户标识、终端设备当前时间、第一公钥和随机数使用第二公钥进行加密,得到签名数据。
可选地,发送模块53,还可用于:将用户标识发送至服务器,以供服务器根据用户标识的明文对终端设备进行身份识别。
可选地,加密模块52在利用主密钥对应用数据进行加密,得到加密后的应用数据之前,还可用于:接收服务器发送的加密后的主密钥,其中,服务器利用加密机使用第一公钥对主密钥进行加密得到加密后的主密钥;利用第一私钥对加密后的主密钥进行解密,得到主密钥。
图6是本申请示例性实施例提供的一种数据处理装置60的装置框图。参照图6,该数据处理装置60包括接收模块61和响应模块62。
其中,接收模块61,用于接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成加密后的应用数据,主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;
响应模块62,用于响应数据获取请求,将加密后的应用数据发送至终端设备。
可选地,接收模块61,还用于:接收终端设备发送的签名数据;在加密机内部,使用第二私钥对签名数据进行解密,得到解密后的数字签名;使用第一公钥对解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;对解密后的安全口令进行摘要运算,得到第二摘要信息;将第二摘要信息与解密后的摘要信息进行比对,生成验签结果;根据验签结果,执行生成主密钥的操作。
可选地,接收模块61,在根据验签结果,执行生成主密钥的操作时,用于:若验签结果为验签通过,且之前未创建过主密钥,则利用加密机随机生成主密钥;若验签结果为验签未通过,则生成验签失败结果,并将验签失败结果返回至终端设备。
可选地,接收模块61,在利用加密机随机生成主密钥之后,还可用于:
将主密钥、加密机当前时间和解密后的摘要信息,存储至加密机内部。
可选地,接收模块61,还可用于:判断解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值;若是,则生成验签失败结果,并将验签失败结果返回至终端设备。
可选地,接收模块61,还可用于:若之前创建过主密钥,则将上一次创建主密钥时对应的摘要信息和解密后的摘要信息进行比对,得到上一次创建主密钥时对应的摘要信息和解密后的摘要信息是否一致的比对结果;以及判断上一次创建主密钥的时间是否小于解密后的终端设备当前时间;以及当前日期下的验签失败的次数是否小于设定次数阈值;若上一次创建主密钥时对应的摘要信息和解密后的摘要信息不一致、上一次创建主密钥的时间大于等于解密后的终端设备当前时间、当前日期下的验签失败的次数大于等于设定次数阈值中的任意一个满足,则生成验签失败结果,并将验签失败结果返回至终端设备;若上一次创建主密钥时对应的摘要信息和解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于设定次数阈值,则将上一次创建主密钥的时间为当前加密机时间。
可选地,接收模块61在利用加密机随机生成主密钥之后,还可用于:在加密机内部使用第一公钥对主密钥加密,得到加密后的主密钥;将加密后的主密钥发送至终端设备。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7为本申请示例性实施例提供的一种终端设备的结构示意图。如图7所示,该终端设备包括:存储器701和处理器702。另外,该终端设备还包括电源组件703、通信组件704和显示屏705等必要组件。
存储器701,用于存储计算机程序,并可被配置为存储其它各种数据以支持在终端设备上的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令。
存储器701,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
通信组件704,用于与其他设备进行数据传输。
处理器702,可执行存储器701中存储的计算机指令,以用于:获取应用数据;利用主密钥对应用数据进行加密,得到加密后的应用数据,其中,主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器。
可选地,处理器702在得到加密后的应用数据之后,还可用于:
获取加密后的应用数据;
利用主密钥对加密后的应用数据进行解密,得到应用数据。
可选地,处理器702,还可用于:
接收服务器下发的携带有服务器的目标时钟的对时请求;
将终端设备的时钟调整为目标时钟。
可选地,处理器702在使用主密钥之前,还可用于:
响应安全口令创建操作,获取安全口令;
对安全口令进行数字签名,得到签名数据;
将签名数据发送至服务器,以供服务器根据签名数据进行验签操作。
可选地,处理器702在对安全口令进行数字签名,得到签名数据时,用于:
对安全口令进行摘要运算,得到第一摘要信息;
将安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;
将数字签名、用户标识、终端设备当前时间、第一公钥和随机数使用第二公钥进行加密,得到签名数据。
可选地,处理器702,还可用于:
将用户标识发送至服务器,以供服务器根据用户标识的明文对终端设备进行身份识别。
可选地,处理器702在利用主密钥对应用数据进行加密,得到加密后的应用数据之前,还可用于:
接收服务器发送的加密后的主密钥,其中,服务器利用加密机使用第一公钥对主密钥进行加密得到加密后的主密钥;
利用第一私钥对加密后的主密钥进行解密,得到主密钥。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图3a方法实施例中的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序/指令,计算机程序/指令被处理器执行图3a的方法实施例中的各步骤。
图8为本申请示例性实施例提供的一种服务器的结构示意图。如图8所示,该服务器包括:存储器801和处理器802。另外,该服务器还包括电源组件803和通信组件804等必要组件。
存储器801,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令。
存储器801,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
通信组件804,用于与其他设备进行数据传输。
处理器802,可执行存储器801中存储的计算机指令,以用于:接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成加密后的应用数据,主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;响应数据获取请求,将加密后的应用数据发送至终端设备。
可选地,处理器802,还可用于:
接收终端设备发送的签名数据;
在加密机内部,使用第二私钥对签名数据进行解密,得到解密后的数字签名;
使用第一公钥对解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;
对解密后的安全口令进行摘要运算,得到第二摘要信息;
将第二摘要信息与解密后的摘要信息进行比对,生成验签结果;
根据验签结果,执行生成主密钥的操作。
可选地,处理器802在根据验签结果,执行生成主密钥的操作时,用于:
若验签结果为验签通过,且之前未创建过主密钥,则利用加密机随机生成主密钥;
若验签结果为验签未通过,则生成验签失败结果,并将验签失败结果返回至终端设备。
可选地,处理器802在利用加密机随机生成主密钥之后,还可用于:
将主密钥、加密机当前时间和解密后的摘要信息,存储至加密机内部。
可选地,处理器802,还可用于:
判断解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值;
若是,则生成验签失败结果,并将验签失败结果返回至终端设备。
可选地,处理器802,还可用于:
若之前创建过主密钥,则将上一次创建主密钥时对应的摘要信息和解密后的摘要信息进行比对,得到上一次创建主密钥时对应的摘要信息和解密后的摘要信息是否一致的比对结果;以及判断上一次创建主密钥的时间是否小于解密后的终端设备当前时间;以及当前日期下的验签失败的次数是否小于设定次数阈值;
若上一次创建主密钥时对应的摘要信息和解密后的摘要信息不一致、上一次创建主密钥的时间大于等于解密后的终端设备当前时间、当前日期下的验签失败的次数大于等于设定次数阈值中的任意一个满足,则生成验签失败结果,并将验签失败结果返回至终端设备;
若上一次创建主密钥时对应的摘要信息和解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于设定次数阈值,则将上一次创建主密钥的时间为当前加密机时间。
可选地,处理器802在利用加密机随机生成主密钥之后,还用于:
在加密机内部使用第一公钥对主密钥加密,得到加密后的主密钥;
将加密后的主密钥发送至终端设备。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图3b方法实施例中的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序/指令,计算机程序/指令被处理器执行图3b的方法实施例中的各步骤。
上述图7和图8中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图7和图8中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图7中的显示屏包括屏幕,其屏幕可以包括液晶显示屏(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述终端设备和服务器还可以包括音频组件。
音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
在本申请的上述装置、设备、存储介质和计算机程序产品实施例中,终端设备获取应用数据,首先终端设备利用主密钥对应用数据进行加密,得到加密后的应用数据;再将加密后的应用数据存储在本地,或者将加密后的应用数据发送至服务器;本申请在将应用数据保存在本地和发送到服务器之前先使用主密钥对应用数据进行加密,保证数据的安全性;此外,主密钥通过服务器内部生成,且主密钥仅保存在终端设备内部和/或服务器内部,防止数据泄漏,提高端到端数据传输的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (22)

1.一种数据处理方法,其特征在于,应用于终端设备,所述方法包括:
获取应用数据;
利用主密钥对所述应用数据进行加密,得到加密后的应用数据,其中,所述主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;
将所述加密后的应用数据存储在本地,或者将所述加密后的应用数据发送至服务器。
2.根据权利要求1所述的方法,其特征在于,在所述得到加密后的应用数据之后,所述方法还包括:
获取所述加密后的应用数据;
利用主密钥对所述加密后的应用数据进行解密,得到所述应用数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收服务器下发的携带有服务器的目标时钟的对时请求;
将终端设备的时钟调整为所述目标时钟。
4.根据权利要求1所述的方法,其特征在于,在使用所述主密钥之前,所述方法还包括:
响应安全口令创建操作,获取安全口令;
对所述安全口令进行数字签名,得到签名数据;
将所述签名数据发送至服务器,以供服务器根据所述签名数据进行验签操作。
5.根据权利要求4所述的方法,其特征在于,所述对所述安全口令进行数字签名,得到签名数据,包括:
对所述安全口令进行摘要运算,得到第一摘要信息;
将所述安全口令、摘要信息、用户标识、终端设备当前时间、第一公钥和随机数使用第一私钥加密,得到数字签名;
将所述数字签名、用户标识、终端设备当前时间、第一公钥和随机数使用第二公钥进行加密,得到所述签名数据。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述用户标识发送至服务器,以供服务器根据所述用户标识的明文对所述终端设备进行身份识别。
7.根据权利要求1所述的方法,其特征在于,在所述利用主密钥对所述应用数据进行加密,得到加密后的应用数据之前,所述方法还包括:
接收服务器发送的加密后的主密钥,其中,服务器利用加密机使用第一公钥对所述主密钥进行加密得到所述加密后的主密钥;
利用第一私钥对所述加密后的主密钥进行解密,得到主密钥。
8.一种数据处理方法,其特征在于,应用于服务器,所述方法包括:
接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成所述加密后的应用数据,所述主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;
响应数据获取请求,将所述加密后的应用数据发送至终端设备。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的签名数据;
在加密机内部,使用第二私钥对所述签名数据进行解密,得到解密后的数字签名;
使用第一公钥对所述解密后的数字签名进行解密,得到解密后的安全口令、解密后的摘要信息、解密后的用户标识、解密后的终端设备当前时间、解密后的第一公钥和解密后的随机数;
对所述解密后的安全口令进行摘要运算,得到第二摘要信息;
将所述第二摘要信息与所述解密后的摘要信息进行比对,生成验签结果;
根据所述验签结果,执行生成主密钥的操作。
10.根据权利要求9所述的方法,其特征在于,所述根据所述验签结果,执行生成主密钥的操作,包括:
若验签结果为验签通过,且之前未创建过主密钥,则利用加密机随机生成所述主密钥;
若验签结果为验签未通过,则生成验签失败结果,并将所述验签失败结果返回至终端设备。
11.根据权利要求10所述的方法,其特征在于,在所述利用加密机随机生成所述主密钥之后,所述方法还包括:
将所述主密钥、加密机当前时间和所述解密后的摘要信息,存储至所述加密机内部。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
判断解密后的终端设备当前时间与当前加密机时间的差值是否大于设定时间阈值;
若是,则生成验签失败结果,并将所述验签失败结果返回至终端设备。
13.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若之前创建过主密钥,则将上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息进行比对,得到上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息是否一致的比对结果;以及判断上一次创建主密钥的时间是否小于解密后的终端设备当前时间;以及当前日期下的验签失败的次数是否小于设定次数阈值;
若上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息不一致、上一次创建主密钥的时间大于等于解密后的终端设备当前时间、当前日期下的验签失败的次数大于等于设定次数阈值中的任意一个满足,则生成验签失败结果,并将所述验签失败结果返回至终端设备;
若上一次创建主密钥时对应的摘要信息和所述解密后的摘要信息一致、上一次创建主密钥的时间小于解密后的终端设备当前时间、当前日期下的验签失败的次数小于设定次数阈值,则将所述上一次创建主密钥的时间为所述当前加密机时间。
14.根据权利要求10所述的方法,其特征在于,在所述利用加密机随机生成所述主密钥之后,所述方法还包括:
在加密机内部使用第一公钥对所述主密钥加密,得到加密后的主密钥;
将所述加密后的主密钥发送至终端设备。
15.一种数据处理装置,其特征在于,包括:
获取模块,用于获取应用数据;
加密模块,用于利用主密钥对所述应用数据进行加密,得到加密后的应用数据,其中,所述主密钥是在服务器内部生成,主密钥保存在终端设备内部和/或服务器内部;
发送模块,用于将所述加密后的应用数据存储在本地,或者将所述加密后的应用数据发送至服务器。
16.一种终端设备,其特征在于,包括:存储器、处理器和通信组件;
所述存储器,用于存储计算机程序;
所述通信组件,用于将加密后的应用数据发送至服务器;
所述处理器,用于执行所述计算机程序,以实现如权利要求1-7中任一项所述的方法中的各步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法中的各步骤。
18.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-7中任一项所述的方法中的各步骤。
19.一种数据处理装置,其特征在于,包括:
接收模块,用于接收终端设备上传的加密后的应用数据;其中,终端设备利用主密钥对应用数据加密生成所述加密后的应用数据,所述主密钥是在服务器内部生成,主密钥的明文保存在终端设备内部和/或服务器内部;
响应模块,用于响应数据获取请求,将所述加密后的应用数据发送至终端设备。
20.一种服务器,其特征在于,包括:存储器、处理器和通信组件;
所述存储器,用于存储计算机程序;
所述通信组件,用于将加密后的应用数据发送至终端设备;
所述处理器,用于执行所述计算机程序,以实现如权利要求8-14中任一项所述的方法中的各步骤。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求8-14中任一项所述的方法中的各步骤。
22.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求8-14中任一项所述的方法中的各步骤。
CN202111437216.0A 2021-11-29 2021-11-29 数据处理方法、设备、装置、存储介质和程序产品 Pending CN116186724A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111437216.0A CN116186724A (zh) 2021-11-29 2021-11-29 数据处理方法、设备、装置、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111437216.0A CN116186724A (zh) 2021-11-29 2021-11-29 数据处理方法、设备、装置、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN116186724A true CN116186724A (zh) 2023-05-30

Family

ID=86444765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111437216.0A Pending CN116186724A (zh) 2021-11-29 2021-11-29 数据处理方法、设备、装置、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN116186724A (zh)

Similar Documents

Publication Publication Date Title
US10361857B2 (en) Electronic stamp system for security intensification, control method thereof, and non-transitory computer readable storage medium having computer program recorded thereon
EP3086587B1 (en) Method and apparatus for transmitting and receiving encrypted message between terminals
JP6878609B2 (ja) データバックアップ方法およびデータバックアップ装置、記憶媒体ならびにサーバ
EP3255832B1 (en) Dynamic encryption method, terminal and server
CN108763917B (zh) 一种数据加解密方法及装置
US10027660B2 (en) Computer program, method, and system for secure data management
US9276748B2 (en) Data-encrypting method and decrypting method for a mobile phone
WO2016045548A1 (zh) 一种数据同步方法及装置
CN112468294B (zh) 一种车载tbox的访问方法及鉴权设备
WO2019120038A1 (zh) 数据加密存储
CN114629639A (zh) 基于可信执行环境的密钥管理方法、装置和电子设备
CA2891610C (en) Agent for providing security cloud service and security token device for security cloud service
CN107026730B (zh) 数据处理方法、装置及系统
KR20140089703A (ko) 모바일 데이터 보안 장치 및 방법
CN113472737B (zh) 边缘设备的数据处理方法、装置及电子设备
CN116186724A (zh) 数据处理方法、设备、装置、存储介质和程序产品
CN112118210B (zh) 一种认证密钥配置方法、设备、系统及存储介质
CN110516468B (zh) 一种虚拟机内存快照加密的方法和装置
CN109933994B (zh) 数据分级存储方法和装置以及计算设备
CN102426635B (zh) 文件信息显示装置、显示方法及系统
US20220014358A1 (en) Private key cloud storage
CN114339630B (zh) 一种用于短信保护的方法和装置
CN116755842B (zh) 身份验证系统部署方法、装置、设备及存储介质
CN110996088B (zh) 视频处理方法及相关装置
CN111241602B (zh) Fpga的ip核加载方法、装置及电子设备

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