CN111079128B - 一种数据处理方法、装置、电子设备以及存储介质 - Google Patents

一种数据处理方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN111079128B
CN111079128B CN201911267238.XA CN201911267238A CN111079128B CN 111079128 B CN111079128 B CN 111079128B CN 201911267238 A CN201911267238 A CN 201911267238A CN 111079128 B CN111079128 B CN 111079128B
Authority
CN
China
Prior art keywords
data
key
encryption
encrypted data
block
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.)
Active
Application number
CN201911267238.XA
Other languages
English (en)
Other versions
CN111079128A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911267238.XA priority Critical patent/CN111079128B/zh
Publication of CN111079128A publication Critical patent/CN111079128A/zh
Application granted granted Critical
Publication of CN111079128B publication Critical patent/CN111079128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

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

Abstract

本申请实施例公开了一种数据处理方法、装置、电子设备以及存储介质,方法包括:获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级,获取与所述用户授权等级对应的至少一个加密因子,将所述至少一个加密因子派生为密钥,采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。采用本申请,可以提高终端中数据的安全性。

Description

一种数据处理方法、装置、电子设备以及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置以及相关设备。
背景技术
随着互联网的不断发展,信息安全的挑战也越来越大。尤其是在移动终端,用户时刻面临各种黑客和安全漏洞的威胁,因此,保护终端中的敏感信息不被泄露具有重大意义。例如,敏感信息可以是数字证书或者用户私钥等。
目前,为了保护敏感信息的安全性,可以采用密钥将敏感信息加密,将加密后的加密数据存储在数据文件中,将密钥存储在密钥文件中。当终端需要读取加密数据对应的敏感信息时,首先在密钥文件中获取到密钥,采用该密钥对加密数据解密,以获得对应的敏感信息。
一旦终端被网络攻击,存储在密钥文件中的密钥就会被窃取,就会造成数据文件中的加密数据对应的敏感信息被泄露,进而降低终端中数据的安全性。
发明内容
本申请实施例提供一种数据处理方法、装置以及相关设备,可以提高终端中数据的安全性。
本申请实施例一方面提供了一种数据处理方法,包括:
获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级;
获取与所述用户授权等级对应的至少一个加密因子;
将所述至少一个加密因子派生为密钥;
采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
本申请实施例一方面提供了一种数据处理装置,包括:
加密数据获取模块,用于获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级;
解密因子获取模块,用于获取与所述用户授权等级对应的至少一个加密因子;
解密派生模块,用于将所述至少一个加密因子派生为密钥;
解密模块,用于采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
其中,还包括:
明文数据获取模块,用于获取所述明文数据,根据所述明文数据的业务场景确定所述用户授权等级;
加密因子获取模块,用于获取与所述用户授权等级对应的所述至少一个加密因子;
加密派生模块,用于将所述至少一个加密因子派生为所述密钥;
加密模块,用于采用所述密钥对所述明文数据进行加密,得到与所述明文数据对应的所述加密数据;
所述加密因子获取模块,还用于在至少一个系统安全区域中,将与所述用户授权等级对应的系统安全区域作为所述目标系统安全区域,将所述加密数据存储于所述目标系统安全区域。
其中,所述加密模块,包括:
第一加密单元,用于将所述密钥作为加密参数,对所述明文数据进行对称加密,得到与所述明文数据对应的所述加密数据;
所述解密模块,包括:
第一解密单元,用于将所述密钥作为解密参数,对所述加密数据进行对称解密,得到与所述加密数据对应的所述明文数据。
其中,所述加密模块,包括:
第二加密单元,用于将所述密钥作为私有密钥,生成与所述私有密钥对应的公开密钥,将所述公开密钥作为加密参数,对所述明文数据进行非对称加密,得到与所述明文数据对应的所述加密数据;
所述解密模块,包括:
第二解密单元,用于将所述私有密钥作为解密参数,对所述加密数据进行非对称解密,得到与所述加密数据对应的所述明文数据。
其中,所述解密派生模块,具体用于确定与所述至少一个加密因子分别对应的哈希散列值,均作为第一字符串,将至少一个第一字符串按位合并为第二字符串,确定与所述第二字符串对应的哈希散列值,作为目标字符串,基于密钥派生函数将所述目标字符串转换为所述密钥;所述密钥的数据类型属于字符串类型。
其中,加密因子的数据类型属于字符串类型;所述加密因子属于设备硬件信息或设备软件信息。
其中,所述解密因子获取模块,包括:
第一获取单元,用于当所述用户授权等级为一级用户授权时,获取终端设备的设备识别码,获取所述终端设备的登录凭证信息,将所述设备识别码以及所述登录凭证信息均确定为所述加密因子;所述设备识别码属于所述设备硬件信息;所述登录凭证信息属于所述设备软件信息。
其中,所述解密因子获取模块,包括:
第二获取单元,用于当所述用户授权等级为二级用户授权时,获取终端设备的设备识别码,获取所述终端设备的登录凭证信息以及用户输入的电子口令信息,将所述设备识别码、所述登录凭证信息以及所述电子口令信息均确定为所述加密因子;所述设备识别码属于所述设备硬件信息;所述登录凭证信息以及所述电子口令信息属于所述设备软件信息。
其中,所述解密因子获取模块,包括:
第三获取单元,用于当所述用户授权等级为三级用户授权时,获取终端设备的设备识别码,获取所述终端设备的登录凭证信息、用户输入的及电子口令信息以及所述终端设备的电子证书信息,将所述设备识别码、所述登录凭证信息、所述电子口令信息以及所述电子证书信息均确定为所述加密因子;所述设备识别码属于所述设备硬件信息;所述登录凭证信息、所述电子口令信息以及所述电子证书信息属于所述设备软件信息。
其中,所述目标系统安全区域为目标区块链;
加密数据获取模块,具体用于获取所述目标区块链中的待处理的区块,读取所述区块的区块体数据,作为所述加密数据,确定与所述目标区块链对应的所述用户授权等级。
本申请实施例一方面提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如本申请实施例中的方法。
本申请实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本申请实施例中的方法。
本申请通过确定存储在目标系统安全区域内的加密数据,以及目标系统安全区域的用户授权等级,获取与用户授权等级对应的加密因子,实时地将加密因子派生为密钥,基于该密钥对加密数据解密,得到与加密数据对应的明文数据。上述可知,本申请中的密钥是当需要的时候动态生成的,采用即用即生成的方式,可以避免终端持久化存储密钥而被窃取进而导致明文数据被泄露的情况,提高终端设备中数据的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理的系统架构图;
图2a-图2b是本申请实施例提供的一种数据处理的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例的提供的一种密钥生成示意图;
图5是本申请实施例提供的一种数据处理方法的流程示意图;
图6a是本申请实施例提供的一种动态生成密钥的应用系统示意图;
图6b是本申请实施例提供的一种区块链的系统架构图;
图6c是本申请实施例提供的一个数据处理方法的流程示意图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种数据处理的系统架构图。本申请涉及后台服务器10d以及终端设备集群,终端设备集群可以包括:终端设备10a、终端设备10b、...、终端设备10c等。
以终端设备10a为例,当终端设备10a中的应用程序需要读取存储于目标系统安全区域内的加密数据对应的明文数据时,获取目标系统安全区域的用户授权等级。终端设备10a可以将用户授权等级发送至后台服务器10d,后台服务器10d根据接收到的用户授权等级确定至少一个加密因子,后台服务器10a将至少一个加密因子派生为密钥,并将该密钥返回至终端设备10a。终端设备10a可以采用该密钥对待读取的加密数据进行解密,以得到对应的明文数据。
其中,根据用户授权等级确定加密因子、以及生成密钥也可以由终端设备10a来完成。
其中,图1所示的终端设备10a、终端设备10b、...、终端设备10c等可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备(例如智能手表、智能手环等)等。
下述图2a-图2b以终端设备10a如何根据用户授权等级确定加密因子以及动态生成密钥为例进行具体的说明:
请参见图2a-图2b,是本申请实施例提供的一种数据处理的场景示意图。用户通过终端设备10a在电子商务平台进行消费时,必须要在终端设备10a上安装电子商务平台下发的数字证书以确保用户账户中的账户信息安全以及资金安全,数字证书就相当于社会中的身份证,用户在进行电子商务活动时可以通过数字证书来证明自己的身份,并识别对方的身份;且只有安装了数字证书才能对传输的各种信息进行加密、解密、数字签名以及签名认证等各种处理。
下述场景实施例以待加密数据是电子商务平台下发的数字证书为例,如图2a中的页面20a所示,终端设备10a从电子商务平台上申请到数字证书20g后,为了保证数字证书20g的安全性,可以显示提示消息:“已获取到数字证书,是否需要加密保存”,若用户点击页面20a中的按钮“加密保存”,则终端设备10a响应用户的选择操作,拉起加密配置页面20b,该加密配置页面用于提示用户对数字证书20g的加密等级进行选择。
如图2a中的页面20b所示,现有3个加密等级,其中三级加密安全性最高,二级加密安全性次之,一级加密安全性最低。
当然,安全性与数据加密(解密)速度成反比例关系的,也就是说安全性越高的加密等级,对应地加密速度以及后续的解密速度就越慢;安全性越低的加密等级,加密速度以及后续的解密速度就越快。
若用户在加密配置页面20b中选择“二级”加密,终端设备10a响应用户的选择操作,确定与“二级”加密对应的加密因子为:设备标识因子以及加密口令因子。
设备标识因子是指终端设备10a的设备唯一识别码,加密口令因子是指用户输入的加密口令。
需要说明的是,不同的加密等级对应不同的加密因子,且加密等级与加密因子的数量成正比例关系,即加密等级越高,对应的加密因子的数量就越多。
还需注意的是,确定数字证书20g的加密等级可以是由用户手动设置(如上述过程就是由用户手动设置加密等级),也可以是终端设备10a根据数字证书20g的应用场景,来确定该数字证书20g的加密等级。
例如,若数字证书20g是用于资金来往的用户认证,该数字证书20g的加密等级可以是三级加密;若数字证书20g是用于发送(或者接收)聊天消息的用户认证,该数字证书20g的加密等级可以是一级加密。
终端设备10a在后台获取终端设备10a的设备唯一识别码20d:“0011”,与此同时终端设备10a显示口令设置页面20c,用户在该口令设置页面20c中输入加密口令20e:“123456”。
因此,设备标识因子是设备唯一识别码20d:“0011”,加密口令因子是加密口令20e:“123456”。
终端设备10a采用哈希散列算法(哈希散列算法可以是SHA256、MD5或者SHA1),分别计算设备唯一识别码20d“0011”(也就是设备标识因子)的哈希散列值,以及加密口令20e“123456”(也就是加密口令因子)的哈希散列值,将上述2个哈希散列值合并为一个待处理字符串,并再采用哈希散列算法计算该待处理字符串的哈希散列值,得到目标字符串。
终端设备10a采用密钥派生算法将目标字符串派生为加密密钥20f,加密密钥是一段长度固定的字符串。
终端设备10a将加密密钥20f作为加密参数,对数字证书20g进行加密,加密后生成加密文件20h,终端可以删除加密密钥20f以及加密口令因子,删除后终端设备10a中只就存储了加密文件20h,而并没有存储加密密钥20f以及与加密密钥20f相关的加密口令因子。
其中,根据加密密钥20f对数字证书20g加密可以是对称加密,也可以是非对称加密。
终端设备10a将加密文件20h存储至终端设备10a中的安全存储区域中的区域20j,安全存储区域是系统提供的安全容器,用来为多个应用程序存储敏感信息(例如,用户的身份信息)和提供安全服务,例如iOS系统中的安全存储区域即是keychain,安卓系统中的安全存储区域即是keystore。
从图2a可以看出,安全存储区域可以分为区域20i,区域20j以及区域20k,其中,区域20i是用于存储加密等级为一级加密的加密数据,区域20j是用于存储加密等级为二级加密的加密数据,区域20k是用于存储加密等级为三级加密的加密数据。
由于加密文件20h的加密等级属于二级加密,因此终端设备10a将加密文件20h存储至区域20j。
自此,终端设备10a采用动态生成密钥的方式所生成的密钥对数字证书20g进行了加密,并将加密后的数据20h存储至安全存储区域。
下面图2b主要描述如何对加密文件20h进行解密:
如图2b所示,当用户访问该电子商务平台时,终端设备10a检测到已获取了数字证书,且该数字证书被加密为加密文件20h存储于安全存储区域中的区域20j中。为了后续用户可以在该电子商务平台上进行交易,终端设备需要获取到电子商品平台的数字证书20g。
终端设备10a根据加密文件20h存储在安全存储区域中的区域20j中,可以确定与加密文件20h对应的加密等级为二级加密(或者说与区域20j对应的加密等级为二级加密),查询与二级加密对应的加密因子为:设备标识因子以及加密口令因子。
和加密过程一样,设备标识因子是指终端设备10a的设备唯一识别码,加密口令因子是指用户设置的加密口令。
终端设备10a获取终端设备10a的设备唯一识别码20d:“0011”,与此同时显示口令输入页面30a,用户在该口令输入页面30a中输入加密口令20e:“123456”。
和加密过程相同,终端设备10a根据设备唯一识别码20d:“0011”以及加密口令20e:“123456”实时地生成加密密钥20f,将加密密钥20f作为解密参数,对加密文件20h进行解密,解密后生成数字证书20g。
自此,终端设备10a采用动态生成密钥的方式所生成的密钥对加密文件20h进行了解密。
后续,基于解密后得到的用户证书20g,用户可以在上述电子商务平台上发生交易行为。
其中,获取加密因子(如上述实施例中的设备唯一识别码20d:“0011”以及加密口令20e:“123456”),生成密钥(如上述实施例中的加密密钥20f)的具体过程可以参见下述图3-图6c对应的实施例。
请参见图3,是本申请实施例提供的一种数据处理方法的流程示意图,该方法可以由电子设备执行,电子设备包括但不限于终端设备、服务器,下述实施例以终端设备为例进行描述,如图3所示,数据处理方法可以包括如下步骤:
步骤S101,获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级。
具体的,安全区域(如上述图2a-图2b对应实施例中的安全存储区域)是系统提供的安全容器,用来为多个应用程序存储敏感信息(例如,用户帐号、用户密码以及数字证书等)和提供安全服务。
例如,iOS系统中的安全区域即是keychain,安卓系统中的安全区域即是keystore。
现有方案中,都是直接将敏感数据存储在安全区域,但是在系统存在安全漏洞或者在网络攻击的情况下,安全区域可能并不安全。例如,对root过的终端设备,存储在安全区域内的信息都是可以直接被读取的。
本申请中,为了进一步保证用户信息的安全性,存储在安全区域内的数据都是已加密的数据,即使安全区域内的数据被泄露了,泄露的也只是加密数据,而并未泄露明文数据,这样可以进一步保障存储在终端设备内的数据的安全性。
安全区域可以分为多个系统安全区域(如上述图2a-图2b对应实施例中区域20i,区域20j以及区域20k),每个系统安全区域都存在与之对应的授权等级,且每个系统安全区域内存储的已加密数据的授权等级(如上述图2a-图2b对应实施例中的加密等级)都相同,授权等级可以包括:一级用户授权,二级用户授权以及三级用户授权(如上述图2a-图2b对应实施例中的一级加密、二级加密以及三级加密)。
三级用户授权的安全强度要大于二级用户授权的安全强度,二级用户授权的安全强度要大于一级用户授权的安全强度;也可以理解为三级用户授权的权限要高于二级用户授权的权限,二级用户授权的权限要高于一级用户授权的权限。
终端设备(如上述图2a-图2b对应实施例中的终端设备10a)从系统安全区域中获取当前待处理的已加密数据(称为加密数据,如上述图2a-图2b对应实施例中的加密文件20h),将加密数据存储的系统安全区域称为目标系统安全区域。
终端设备获取目标系统安全区域的授权等级(称为用户授权等级)。
步骤S102,获取与所述用户授权等级对应的至少一个加密因子。
具体的,终端设备获取到目标系统安全区域的用户授权等级后,获取与用户授权等级对应的一个或者多个加密因子(如上述图2a-图2b对应实施例中的设备唯一识别码20d:“0011”以及加密口令20e:“123456”)。
三级用户授权对应的加密因子的数量大于二级用户授权对应的加密因子的数量,二级用户授权对应的加密因子的数量大于一级用户授权对应的加密因子的数量。
加密因子是指生成密钥的基本元素,加密因子的数量越多,对应生成的密钥的安全强度就越高。加密因子可以分为内部因子和外部因子,内部因子是指终端设备的设备硬件信息,外部因子是指终端设备的软件信息,软件信息可以是用户输入的信息或者软件应用信息等。也就是说,每一个加密因子要么是属于设备硬件信息,要么是属于设备软件信息。
加密因子的数据类型可以是字符串类型,也可以是图像类型等。
例如,设备硬件信息可以是设备识别码,其中设备识别码是用于标识终端设备的序列号;软件信息可以是登录凭证信息(例如,终端设备登录终端设备厂商的用户帐号,所获取到的凭证token,或者终端设备登录了某个应用软件,所获取到的凭证token)或者是用户输入的口令密码。
步骤S103,将所述至少一个加密因子派生为密钥。
具体的,终端设备采用哈希散列算法(哈希散列算法可以是SHA256、MD5或者SHA1)计算每个加密因子的哈希散列值,将得到的每一个加密因子对应的哈希散列值均作为第一字符串。
其中,哈希散列算法是一种从任何一种数据中创建小的数字“指纹”的方法。哈希函数把数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做哈希散列值的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。
将所有的第一字符串按位合并为第二字符串,此处的按位合并是指将所有的第二字符串叠加,以生成第二字符串;
除了按位合并,也可以是按照预设顺序,将所有的第一字符串拼接为第二字符串。
终端设备再采用哈希散列算法,计算第二字符串的哈希散列值,将计算得到的哈希散列值作为目标字符串。
基于密钥派生函数将目标字符串派生为密钥(如上述图2a-图2b对应实施例中的加密密钥20f)。
值得注意的是,本申请中每次需要密钥时,都是即时生成而并不需要存储在终端设备本地,从而提升存储在系统安全区域内的数据的安全强度,当然生成后的密钥使用完毕后,可以即时的删除,以降低密钥泄露风险。
密钥派生函数的作用是从共享的字符串中派生出密钥数据,密钥派生函数需要调用密码杂凑函数,设密码杂凑函数为Hv(),其输出为长度为v比特的杂凑值。下面对密钥派生函数的具体过程进行说明:
密钥派生函数KDF(Z,klen):
输入:目标字符串Z,整数klen,其中klen表示要获得的密钥的比特长度,要求密钥的比特长度小于(232-1)v。
输出:长度为klen的密钥K。
(1):初始化一个32比特构成的计数器ct=0x00000001;
(2):i从1到
Figure BDA0002313204070000101
执行:
(2.1):计算Hai=Hv(Z||ct);
(2.2):ct加1;
(3):若
Figure BDA0002313204070000111
是整数,令
Figure BDA0002313204070000112
否则,令
Figure BDA0002313204070000113
最左边的
Figure BDA0002313204070000114
比特;
(4)令密钥
Figure BDA0002313204070000115
其中,
Figure BDA0002313204070000116
表示向上取整,
Figure BDA0002313204070000117
表示向下取整,||表示按位合并。
步骤S104,根据所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
具体的,若上述加密数据的加密方式是对称加密,那么终端设备将密钥作为解密参数,采用对称加密逆算法对加密数据进行对称解密,得到与加密数据对应的明文数据(如上述图2a-图2b对应实施例中的数字证书20g)。
明文数据指没有加密的文字(或者字符串),且计算机或者用户可以理解其内容的数据。
其中,对称加密逆算法是对称加密算法的逆运算。
对称加密就是在加密时使用的密钥e和解密时使用的密钥d是一样的(e=d),可以将其统称为密钥k。
对称加密算法可以包括:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法以及IDEA算法等。
若上述加密数据的加密方式是非对称加密,那么终端设备仍旧将密钥作为解密参数,采用非对称加密逆算法对加密数据进行非对称解密,得到与加密数据对应的明文数据。
其中,非对称加密逆算法是对非称加密算法的逆运算。
非对称加密就是在加密时使用的密钥e和解密时使用的密钥d是不同的(e≠d),一般将加密时所使用的密钥称为私钥,将解密时所使用的密钥称为公钥。
非对称加密算法可以包括:RSA、Elgamal、背包算法、Rabin、D-H以及ECC(椭圆曲线加密算法)等。
可选的,上述步骤描述了对已经加密的加密数据采用实时生成密钥的方式来进行解密,以得到与加密数据对应的明文数据。
下面具体描述如何对明文数据进行加密,得到与之对应的加密数据:
终端获取明文数据,识别与明文数据对应的业务场景,该业务场景是指明文数据的使用场景,例如,业务场景可以是支付场景,登录场景或者通讯消息接收(或者发送)场景。
终端设备根据识别到的业务场景确定确定授权等级(称为用户授权等级),授权等级可以包括:一级用户授权,二级用户授权以及三级用户授权。
可选的,除了可以通过识别明文数据的应用场景以确定用户授权等级外,还可以由用户手动输入用户授权等级,这是因为只有用户才知道一旦泄露明文数据所造成的后果,进而用户可以准确判断出该明文数据的用户授权等级。
举例来说,若用户认为即使泄露了帐号A也不会造成巨大损失,可以手动将帐号A的授权等级设置为一级用户授权;若用户认为一旦泄露了密码B会造成巨大损失,可以手动将密码B的授权等级设置为三级用户授权。
终端设备根据用户授权等级确定与之对应的至少一个加密因子,进而获取至少一个加密因子,并根据至少一个加密因子派生密钥。
其中,根据用户授权等级确定加密因子,以及确定密钥的具体过程可以参见上述步骤S102-步骤S103。
总的来说,不论是加密或者是解密,根据用户授权等级确定加密因子以及确定密钥的过程都是相同的。
终端设备获取到密钥后,可以对明文数据进行加密,加密方式分为对称加密以及非对称加密,下面首先对对称加密进行具体的说明:
终端设备可以将密钥作为加密参数,采用对称加密算法对明文数据进行对称加密,得到与明文数据对应的加密数据。
后续,当需要对上述加密数据进行解密,仍旧是实时生成密钥,并将该密钥作为解密参数对加密数据进行对称解密,就可以解密出明文数据。
也就是说,在对称加密的前提下,派生出来的密钥既是加密参数也是解密参数。
下面对非对称加密进行具体的说明:
终端设备可以将密钥作为私有密钥,采用SECP256K1算法确定与上述私有密钥对应的公开密钥,将该公开密钥作为加密参数,采用非对称加密算法对明文数据进行非对称加密,得到与明文数据对应的加密数据。
后续,当需要对上述加密数据进行解密,仍旧是实时生成密钥,并将该密钥(也即是私有密钥)直接作为解密参数对加密数据进行对称解密,就可以解密出明文数据。
也就是说,在非对称加密的前提下,派生出来的密钥只是解密参数,与派生出来的密钥对应的公开密钥才是加密参数。
获取到的加密数据后,为了降低密钥泄露的风险,终端设备可以删除密钥,由于本申请的密钥是可以实时动态地生成,因此即使删除了密钥,当后续需要获取密钥时,可以实时地生成。
终端设备获取到加密数据后,在至少一个系统安全区域中,将确定与用户授权等级对应的系统安全区域,将确定的系统安全区域作为目标系统安全区域。将加密后的加密数据存储至目标系统安全区域,系统安全区域原本就是安全容器,再采用加密方式可以达到双保险的目的。
系统的安全区域可以被分为至少一个系统安全区域,每一个系统安全区域都对应一种授权等级。
请参见图4,是本申请实施例的提供的一种密钥生成示意图,如图4所示,与当前用户授权等级对应的加密因子包括:内部因子n,输入因子i,输入因子p以及输入因子m。采用哈希散列算法,分别计算输入因子i的哈希散列值hash(输入因子i),计算输入因子p的哈希散列值hash(输入因子p),计算输入因子m的哈希散列值hash(输入因子m)以及计算内部因子n的哈希散列值hash(内部因子n)。将上述计算出来的哈希散列值(可以对应本申请中的第一字符串)按位合并,然后再采用哈希散列算法计算按位合并后的字符串的哈希散列值,得到结果字符串(可以对应本申请中的目标字符串),再采用密钥派生算法将结果字符串派生为主密钥(可以对应本申请中的密钥)。
上述可知,本申请中的密钥是当需要的时候动态生成的,采用即用即生成的方式,可以避免终端持久化存储密钥的而被窃取的情况,提高终端设备中数据的安全性;进一步地,存储在系统安全区域内的数据是加密数据,即使系统安全区域内的数据被窃取,窃取的也只是加密数据,而没有泄露真正的明文数据,这样可以降低明文数据泄露的风险,提高系统安全区域中数据的安全性。
请参见图5,是本申请实施例提供的一种数据处理方法的流程示意图,数据处理方法可以包括如下步骤:
步骤S201,获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级。
其中,步骤S201的具体过程可以参见上述图3对应实施例中的步骤S101。
步骤S202,当所述用户授权等级为一级用户授权时,获取终端设备的设备识别码以及所述终端设备的登录凭证信息;所述设备识别码属于所述设备硬件信息;所述登录凭证信息属于所述设备软件信息。
具体的,当用户授权等级是一级用户授权时,终端设备获取终端设备的设备标识码,该设备标识码可以是终端设备的唯一标识码,具有唯一性和排他性。例如,终端设备的设备标识码可以是终端设备的序列号IMEI(International Mobile Equipment Identity,国际移动设备识别码)。
终端设备获取登录凭证信息,登录凭证信息是指终端设备登录用户帐号时,对应的后台服务器下发至终端设备的登录凭证token,此处用户帐号可以是某一个应用软件的用户帐号,也可以是终端设备厂商的用户帐号。
终端设备获取设备标识码以及登录凭证信息的前后顺序没有限定。
无论是设备标识码或者是登录凭证信息,它们的数据类型都是字符串类型。
步骤S203,将所述设备识别码以及所述登录凭证信息均确定为所述加密因子。
具体的,终端设备将上述设备识别码以及登录凭证信息均作为加密因子,上述可知,设备标识码属于设备硬件信息,登录凭证信息属于设备软件信息,也就是说当用户授权等级是一级用户授权时,与之对应的加密因子的数量是2个,其中一个加密因子(设备标识码)属于设备硬件信息,另一个加密因子(登录凭证信息)属于设备软件信息。
步骤S204,将所述至少一个加密因子派生为密钥。
步骤S205,采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
其中,步骤S204-步骤S205的具体过程可以参见上述图3对应实施例中的步骤S103-步骤S104。
可选的,上述步骤S202-步骤S203描述了当用户授权等级为一级用户授权时,与之对应的2个加密因子;下面描述当用户授权等级为二级用户授权时,与之对应的加密因子:
当用户授权等级是二级用户授权时,终端设备获取终端设备的设备标识码,该设备标识码可以是终端设备的唯一标识码,具有唯一性和排他性。
终端设备获取登录凭证信息,登录凭证信息是指终端设备登录用户帐号时,对应的后台服务器下发至终端设备的登录凭证token,此处用户帐号可以是某一个应用软件的用户帐号,也可以是终端设备厂商的用户帐号。
终端设备可以显示电子口令输入页面(如上述图2a-图2b对应实施例中的口令设置页面20c),用户在该页面中输入电子口令信息,终端设备可以获取用户输入的电子口令信息,电子口令信息可以包括数值和/或字母。
终端设备将上述设备识别码、登录凭证信息以及电子口令信息均作为加密因子。
无论是设备标识码、登录凭证信息或者是电子口令信息,它们的数据类型都是字符串类型,且设备标识码属于设备硬件信息,登录凭证信息以及电子口令信息均属于设备软件信息。
终端设备获取设备标识码、登录凭证信息以及电子口令信息的前后顺序没有限定。
也就是说当用户授权等级是二级用户授权时,与之对应的加密因子的数量是3个,其中一个加密因子(设备标识码)属于设备硬件信息,另两个加密因子(登录凭证信息以及电子口令信息)属于设备软件信息。
下面再描述当用户授权等级为三级用户授权时,与之对应的加密因子:
当用户授权等级是三级用户授权时,终端设备获取终端设备的设备标识码,该设备标识码可以是终端设备的唯一标识码,具有唯一性和排他性。
终端设备获取登录凭证信息,登录凭证信息是指终端设备登录用户帐号时,对应的后台服务器下发至终端设备的登录凭证token,此处用户帐号可以是某一个应用软件的用户帐号,也可以是终端设备厂商的用户帐号。
终端设备可以显示电子口令输入页面(如上述图2a-图2b对应实施例中的口令设置页面20c),用户在该页面中输入电子口令信息,终端设备可以获取用户输入的电子口令信息,电子口令信息可以包括数值和/或字母。
终端设备获取电子证书信息,电子证书信息是CA(Certificate Authority,电子认证服务)机构发行的一种电子文档,是一串能够表明网络用户身份信息的数字,提供了一种在计算机网络上验证网络用户身份的方式,因此电子证书信息又称为数字标识。此处发行电子证书信息的电子认证服务机构可以是某一个应用软件对应的服务提供商,也可以是终端设备厂商。
终端设备将上述设备识别码、登录凭证信息、电子口令信息以及电子证书信息均作为加密因子。
无论是设备标识码、登录凭证信息、电子口令信息或者是电子证书信息,它们的数据类型都是字符串类型,且设备标识码属于设备硬件信息,登录凭证信息、电子口令信息以及电子证书信息属于设备软件信息。
终端设备获取设备标识码、登录凭证信息、电子口令信息以及电子证书信息的前后顺序没有限定。
也就是说当用户授权等级是三级用户授权时,与之对应的加密因子的数量是4个,其中一个加密因子(设备标识码)属于设备硬件信息,另三个加密因子(登录凭证信息、电子口令信息以及电子证书信息)属于设备软件信息。
确定了加密因子后,后续终端设备可以根据加密因子派生出密钥,以及采用派生出来的密钥进行加密或者解密。
请参见图6a,是本申请实施例提供的一种动态生成密钥的应用系统示意图,现有4个加密因子,分别为当前设备信息、用户登录态、用户口令以及用户证书。当前设备信息可以从应用系统内部实时获取,用户登录态、用户口令以及用户证书可以从应用系统外部输入。
从图6a可以看出,现有3种授权等级,分别为一般用户授权(即对应本申请中的一级用户授权)、口令用户授权(即对应本申请中的二级用户授权)以及证书用户授权(即对应本申请中的三级用户授权)。
一般用户授权的加密因子为当前设备信息和用户登录态;口令用户授权的加密因子为当前设备信息、用户登录态以及用户口令;证书用户授权的加密因子为当前设备信息、用户登录态、用户口令以及用户证书。下述步骤描述了上述应用系统基于授权等级对数据进行加密和解密过程:
步骤S301,确定用户授权等级以及授权模块初始化。
具体的,若当前业务行为是对数据加密,那么根据明文数据的业务场景确定用户授权等级,进而对授权模块初始化,此处的授权模块初始化可以是确定加密算法、解密算法以及密钥派生算法中的参数等。
若当前业务行为是对数据解密,根据加密数据所存储的地址,确定用户授权等级,但不需要对授权模块初始化,直接执行步骤S302。
步骤S302,动态生成主密钥。
具体的,根据用户授权等级确定与之对应的多个加密因子,根据多个加密因子动态生成主密钥(主密钥即是本申请中的密钥),其中生成主密钥的具体过程可以参见上述图5对应实施例中的步骤S202-步骤S203。
步骤S303,判断是否首次初始化授权模块。
具体的,若当前业务行为是对数据加密,可以判断出当前是首次初始化授权模块,进而可以执行步骤S304;若当前业务行为是对数据解密,可以判断出当前不是首次初始化授权模块,进而可以执行步骤S305。
步骤S304,根据用户授权等级,初始化密钥存储区。
具体的,根据用户授权等级,对密钥数据加密,并将加密后的数据存储至该用户授权等级对应的密钥存储区(可以对应本申请中的目标系统安全区域)中的密钥数据加密,不同的授权等级对应不同的密钥存储区。
步骤S305,判断生成的主密钥是否与加密时才采用的主密钥匹配,若匹配,执行步骤S306;若不匹配,执行步骤S307。
步骤S306,获取与用户授权等级对应的密钥存储区域中的密钥数据,以及可以获取到该密钥存储区域的接口访问授权。
步骤S307,密钥数据获取失败以及密钥存储区域的接口访问授权获取失败。
本申请所涉及的动态生成密钥,并对加密数据进行解密可以应用于区块链(Blockchain)场景下。区块链是分布式数据存储、点对点传输(P2P,Peer To Peer)、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一个或多个交易信息,用于验证其信息的有效性(防伪)和生成下一个区块。
请参见图6b,是本申请实施例提供的一种区块链的系统架构图。前述实施例中的终端设备可以对应图6b中的节点1、或节点2或节点3或节点4,所有的节点可以组合为区块链系统,每个节点都包括硬件层、中间层、操作系统层和应用层。从图6b中可以看出,区块链系统的中的每个节点所存储的区块链数据都相同。下述实施例以节点为执行主体进行描述:
请一并参见图6c,是本申请实施例提供的一个数据处理方法的流程示意图,数据处理方法包括如下步骤:
步骤S401,获取目标区块链中的待处理的区块,读取所述区块的区块体数据,作为所述加密数据,确定所述目标区块链的用户授权等级。
具体的,安全区域是系统提供的安全容器,用来为多个应用程序存储敏感信息(例如,用户帐号、用户密码以及数字证书等)和提供安全服务。
安全区域可以分为多个系统安全区域,每个系统安全区域可以是一条区块链,那么节点中的安全区域可以是多条区块链。
例如,iOS系统中的安全存储区域即是keychain,该keychain可以是多条区块链;安卓系统中的安全存储区域即是keystore,keystore也可以是多条区块链。
每条区块链都存在与之对应的授权等级,且每条区块链上存储的已加密数据的授权等级都相同,授权等级可以包括:一级用户授权,二级用户授权以及三级用户授权。
节点从上述多条区块链中获取当前待处理的区块,读取该区块中的区块体数据,作为加密数据,可以将当前待处理的区块所在区块链称为目标区块链。
节点获取目标区块链的授权等级,作为用户授权等级。
其中,目标区块链中包括多个区块,每个区块包括区块头数据以及区块体数据,其中区块体数据即是存储的输入信息(在本申请中就对应加密数据);区块头数据包括当前区块体数据的哈希值、父区块的区块头特征值、版本号、时间戳等。
下面对如何生成与加密数据对应的区块进行具体说明:
节点获取明文数据,根据明文数据的业务场景确定用户授权等级,获取与上述用户授权等级对应的加密因子,由上述加密因子派生为密钥,采用密钥对该明文数据进行加密,得到加密数据。节点可以由用户授权等级来确定待上链的目标区块链。
节点可以将加密数据作为区块体数据,以及将当前目标区块链中最后一个区块的区块头特征值,目标区块链的版本号以及当前时间戳组合为区块头数据。节点可以将新生成的区块体数据以及新生成的区块头数据组合为区块,将该区块添加至目标区块链,这样目标区块链的高度就增加1。
当然,节点还需要向区块链系统中的其余节点进行广播,以使其余的节点对区块的合法性进行验证,并在验证通过后同样将区块添加至每个节点各自维护的与用户授权等级对应的区块链上。
步骤S402,获取与所述用户授权等级对应的至少一个加密因子。
步骤S403,将所述至少一个加密因子派生为密钥。
步骤S404,采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
其中,步骤S402-S404的具体过程可以参见上述图3对应实施例中的步骤S102-步骤S104。
步骤S405,根据所述明文数据生成目标区块,将所述目标区块添加至所述目标区块链。
具体的,节点还可以将解密得到的明文数据作为区块体数据,以及将当前目标区块链中最后一个区块的区块头特征值,目标区块链的版本号以及当前时间戳组合为区块头数据。节点生成关于明文数据的区块与前述中生成关于加密数据的区块的过程都是相似的,只是对应不同的区块体数据。
节点将上述区块体数据以及区块头数据组合为新的区块(可以称为目标区块),将目标区块添加至目标区块链上,以及向区块链系统中的其余节点进行广播,以使其余的节点对目标区块的合法性进行验证,并在验证通过后同样将区块添加至每个节点各自维护的与用户授权等级对应的区块链上。
上述可知,由于目标区块链是系统所提供的安全容器,且目标区块链上的所有数据都是已加密数据,不仅可以双重保护节点中数据的安全性,且依赖于区块链的公开性,可以防止存储在区块链上的加密数据被篡改,且所有的明文数据加密过程以及加密数据解密过程都是可追溯的,可以保证解密所得的明文数据的可靠性。
进一步的,请参见图7,是本申请实施例提供的一种数据处理装置的结构示意图。如图7所示,数据处理装置1可以应用于上述图3-图6c对应实施例中的终端设备,数据处理装置1可以包括:加密数据获取模块11、解密因子获取模块12、解密派生模块13以及解密模块14。
加密数据获取模块11,用于获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级;
解密因子获取模块12,用于获取与所述用户授权等级对应的至少一个加密因子;
解密派生模块13,用于将所述至少一个加密因子派生为密钥;
解密模块14,用于采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据;
目标系统安全区域为目标区块链;
加密数据获取模块11,具体用于获取目标区块链中的待处理的区块,读取所述区块的区块体数据,作为所述加密数据,确定与所述目标区块链对应的所述用户授权等级;
数据处理装置1还可以包括:添加模块19:
添加模块19具体用于根据所述明文数据生成目标区块,将所述目标区块添加至所述目标区块链。
解密派生模块13,具体用于确定与所述至少一个加密因子分别对应的哈希散列值,均作为第一字符串,将至少一个第一字符串按位合并为第二字符串,确定与所述第二字符串对应的哈希散列值,作为目标字符串,基于密钥派生函数将所述目标字符串转换为所述密钥;所述密钥的数据类型属于字符串类型。
其中,加密数据获取模块11、解密因子获取模块12、解密派生模块13以及解密模块14以及添加模块19的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,以及图6b-图6c对应实施例中的步骤S401-步骤S405,这里不再进行赘述。
请参见图7,数据处理装置1可以包括:加密数据获取模块11、解密因子获取模块12、解密派生模块13以及解密模块14;还可以包括:明文数据获取模块15、加密因子获取模块16、加密派生模块17以及加密模块18。
明文数据获取模块15,用于获取所述明文数据,根据所述明文数据的业务场景确定所述用户授权等级;
加密因子获取模块16,用于获取与所述用户授权等级对应的所述至少一个加密因子;
加密派生模块17,用于将所述至少一个加密因子派生为所述密钥;
加密模块18,用于采用所述密钥对所述明文数据进行加密,得到与所述明文数据对应的所述加密数据;
所述加密因子获取模块16,还用于在至少一个系统安全区域中,将与所述用户授权等级对应的系统安全区域作为所述目标系统安全区域,将所述加密数据存储于所述目标系统安全区域。
其中,明文数据获取模块15、加密因子获取模块16、加密派生模块17以及加密模块18的具体过程可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
请参见图7,加密模块18可以包括:第一加密单元181。
第一加密单元181,用于将所述密钥作为加密参数,对所述明文数据进行对称加密,得到与所述明文数据对应的所述加密数据;
则解密模块14可以包括:第一解密单元141。
第一解密单元141,用于将所述密钥作为解密参数,对所述加密数据进行对称解密,得到与所述加密数据对应的所述明文数据。
加密模块18可以包括:第二加密单元182。
第二加密单元182,用于将所述密钥作为私有密钥,生成与所述私有密钥对应的公开密钥,将所述公开密钥作为加密参数,对所述明文数据进行非对称加密,得到与所述明文数据对应的所述加密数据;
则解密模块14可以包括:第二解密单元142。
第二解密单元142,用于将所述私有密钥作为解密参数,对所述加密数据进行非对称解密,得到与所述加密数据对应的所述明文数据。
当采用第一加密单元181加密数据,且采用第一解密单元141解密数据时,就不再执行第二加密单元182以及第二解密单元142对应的步骤;当采用第二加密单元182加密数据,且采用第二解密单元142解密数据时,就不再执行第一加密单元181以及第一解密单元141对应的步骤。
第一加密单元181、第一解密单元141、第二加密单元182以及第二解密单元142的具体过程可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
请参见图7,解密因子获取模块12可以包括:第一获取单元121、第二获取单元122以及第三获取单元123。
第一获取单元121,用于当所述用户授权等级为一级用户授权时,获取终端设备的设备识别码,获取所述终端设备的登录凭证信息,将所述设备识别码以及所述登录凭证信息均确定为所述加密因子;所述设备识别码属于所述设备硬件信息;所述登录凭证信息属于所述设备软件信息;
第二获取单元122,用于当所述用户授权等级为二级用户授权时,获取终端设备的设备识别码,获取所述终端设备的登录凭证信息以及用户输入的电子口令信息,将所述设备识别码、所述登录凭证信息以及所述电子口令信息均确定为所述加密因子;所述设备识别码属于所述设备硬件信息;所述登录凭证信息以及所述电子口令信息属于所述设备软件信息;
第三获取单元123,用于当所述用户授权等级为三级用户授权时,获取终端设备的设备识别码,获取所述终端设备的登录凭证信息、用户输入的及电子口令信息以及所述终端设备的电子证书信息,将所述设备识别码、所述登录凭证信息、所述电子口令信息以及所述电子证书信息均确定为所述加密因子;所述设备识别码属于所述设备硬件信息;所述登录凭证信息、所述电子口令信息以及所述电子证书信息属于所述设备软件信息。
当采用第一获取单元121获取加密因子时,就不再执行第二获取单元122以及第三获取单元123对应的步骤;当采用第二获取单元122获取加密因子时,就不再执行第一获取单元121以及第三获取单元123对应的步骤;当采用第三获取单元123获取加密因子时,就不再执行第一获取单元121以及第二获取单元122对应的步骤。
其中,第一获取单元121、第二获取单元122以及第三获取单元123的具体过程可以参见上述图5对应实施例中的步骤S202-步骤S203,这里不再进行赘述。
进一步地,请参见图8,是本发明实施例提供的一种电子设备的结构示意图。上述图3-图6c对应实施例中的终端设备可以为电子设备1000,如图8所示,所述电子设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至电子设备1000。用户接口1002可以包括:键盘1018和显示器1020。
在图8所示的电子设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
获取存储于目标系统安全区域的加密数据,确定所述目标系统安全区域的用户授权等级;
获取与所述用户授权等级对应的至少一个加密因子;
将所述至少一个加密因子派生为密钥;
采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
应当理解,本发明实施例中所描述的电子设备1000可执行前文图3到图6c所对应实施例中对所述数据处理方法的描述,也可执行前文图7所对应实施例中对所述数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3到图6c所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (11)

1.一种数据处理方法,其特征在于,所述方法应用于区块链系统,所述区块链系统包括多个节点,每个节点中均包含安全区域,用来为多个应用程序存储敏感信息和提供安全服务;每个节点中的安全区域分为多个系统安全区域,每个系统安全区域是一条区块链;所述方法由任一个节点执行,所述方法包括:
获取目标区块链的用户授权等级以及初始化授权模块;所述目标区块链用于存储加密数据;
获取与所述用户授权等级对应的至少一个加密因子;
将所述至少一个加密因子派生为密钥;
若所述授权模块是首次被初始化,表示当前业务行为是数据加密,则采用所述密钥对明文数据进行加密,得到与所述明文数据对应的所述加密数据;
将所述加密数据作为区块体数据,将所述目标区块链中最后一个区块的区块头特征值、目标区块链的版本号及当前时间戳组合为区块头数据,将所述区块体数据及所述区块头数据组合为区块,并将所述区块添加至所述目标区块链;
向所述区块链系统中的其余节点广播所述区块,使所述其余节点对所述区块的合法性进行验证,并在验证通过后将所述区块添加至每个节点各自维护的与所述用户授权等级对应的区块链上;
若所述授权模块不是首次被初始化,表示当前业务行为是数据解密,且如果派生得到的所述密钥与所述加密数据加密时采用的密钥相匹配,则获取所述目标区块链的接口访问授权;
基于所述接口访问授权获取所述目标区块链中的待处理的区块,读取所述区块的区块体数据作为所述加密数据;
采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
2.根据权利要求1所述的方法,其特征在于,所述采用所述密钥对所述明文数据进行加密,得到与所述明文数据对应的所述加密数据,包括:
将所述密钥作为加密参数,对所述明文数据进行对称加密,得到与所述明文数据对应的所述加密数据;
则所述采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据,包括:
将所述密钥作为解密参数,对所述加密数据进行对称解密,得到与所述加密数据对应的所述明文数据。
3.根据权利要求1所述的方法,其特征在于,所述采用所述密钥对所述明文数据进行加密,得到与所述明文数据对应的所述加密数据,包括:
将所述密钥作为私有密钥,生成与所述私有密钥对应的公开密钥;
将所述公开密钥作为加密参数,对所述明文数据进行非对称加密,得到与所述明文数据对应的所述加密数据;
则所述采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据,包括:
将所述私有密钥作为解密参数,对所述加密数据进行非对称解密,得到与所述加密数据对应的所述明文数据。
4.根据权利要求1所述的方法,其特征在于,所述将所述至少一个加密因子派生为密钥,包括:
确定与所述至少一个加密因子分别对应的哈希散列值,均作为第一字符串;
将至少一个第一字符串按位合并为第二字符串;
确定与所述第二字符串对应的哈希散列值,作为目标字符串;
基于密钥派生函数将所述目标字符串转换为所述密钥;所述密钥的数据类型属于字符串类型。
5.根据权利要求1所述的方法,其特征在于,加密因子的数据类型属于字符串类型;所述加密因子属于设备硬件信息或设备软件信息。
6.根据权利要求5所述的方法,其特征在于,所述获取与所述用户授权等级对应的至少一个加密因子,包括:
当所述用户授权等级为一级用户授权时,获取终端设备的设备识别码;所述设备识别码属于所述设备硬件信息;
获取所述终端设备的登录凭证信息;所述登录凭证信息属于所述设备软件信息;
将所述设备识别码以及所述登录凭证信息均确定为所述加密因子。
7.根据权利要求5所述的方法,其特征在于,所述获取与所述用户授权等级对应的至少一个加密因子,包括:
当所述用户授权等级为二级用户授权时,获取终端设备的设备识别码;所述设备识别码属于所述设备硬件信息;
获取所述终端设备的登录凭证信息以及用户输入的电子口令信息;所述登录凭证信息以及所述电子口令信息属于所述设备软件信息;
将所述设备识别码、所述登录凭证信息以及所述电子口令信息均确定为所述加密因子。
8.根据权利要求5所述的方法,其特征在于,所述获取与所述用户授权等级对应的至少一个加密因子,包括:
当所述用户授权等级为三级用户授权时,获取终端设备的设备识别码;所述设备识别码属于所述设备硬件信息;
获取所述终端设备的登录凭证信息、用户输入的及电子口令信息以及所述终端设备的电子证书信息;所述登录凭证信息、所述电子口令信息以及所述电子证书信息属于所述设备软件信息;
将所述设备识别码、所述登录凭证信息、所述电子口令信息以及所述电子证书信息均确定为所述加密因子。
9.一种数据处理装置,其特征在于,所述装置运行于区块链系统中的任一个节点中,所述区块链系统包括多个节点,每个节点中均包含安全区域,用来为多个应用程序存储敏感信息和提供安全服务;每个节点中的安全区域分为多个系统安全区域,每个系统安全区域是一条区块链;所述装置包括:
加密数据获取模块,用于获取目标区块链的用户授权等级以及初始化授权模块;所述目标区块链用于存储加密数据;
解密因子获取模块,用于获取与所述用户授权等级对应的至少一个加密因子;
解密派生模块,用于将所述至少一个加密因子派生为密钥;
加密模块,用于若所述授权模块是首次被初始化,表示当前业务行为是数据加密,则采用所述密钥对明文数据进行加密,得到与所述明文数据对应的所述加密数据;
添加模块,用于将所述加密数据作为区块体数据,将所述目标区块链中最后一个区块的区块头特征值、目标区块链的版本号及当前时间戳组合为区块头数据,将所述区块体数据及所述区块头数据组合为区块,并将所述区块添加至所述目标区块链;以及,向所述区块链系统中的其余节点广播所述区块,使所述其余节点对所述区块的合法性进行验证,并在验证通过后将所述区块添加至每个节点各自维护的与所述用户授权等级对应的区块链上;
解密模块,用于若所述授权模块不是首次被初始化,表示当前业务行为是数据解密,且如果派生得到的所述密钥与所述加密数据加密时采用的密钥相匹配,则获取所述目标区块链的接口访问授权;基于所述接口访问授权获取所述目标区块链中的待处理的区块,读取所述区块的区块体数据作为所述加密数据;采用所述密钥对所述加密数据进行解密,得到与所述加密数据对应的明文数据。
10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-8中任一项所述方法的步骤。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-8任一项所述的方法。
CN201911267238.XA 2019-12-11 2019-12-11 一种数据处理方法、装置、电子设备以及存储介质 Active CN111079128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911267238.XA CN111079128B (zh) 2019-12-11 2019-12-11 一种数据处理方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911267238.XA CN111079128B (zh) 2019-12-11 2019-12-11 一种数据处理方法、装置、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN111079128A CN111079128A (zh) 2020-04-28
CN111079128B true CN111079128B (zh) 2021-09-28

Family

ID=70313877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911267238.XA Active CN111079128B (zh) 2019-12-11 2019-12-11 一种数据处理方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN111079128B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639353B (zh) * 2020-05-26 2023-08-11 浙江大华技术股份有限公司 一种数据管理方法、装置、嵌入式设备及存储介质
CN111767553B (zh) * 2020-05-29 2024-04-12 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质
CN111641497A (zh) * 2020-06-17 2020-09-08 深圳市钱海网络技术有限公司 一种对敏感参数进行自动解密的方法及装置
CN111475832B (zh) * 2020-06-24 2021-01-12 腾讯科技(深圳)有限公司 一种数据管理的方法以及相关装置
CN111949949B (zh) * 2020-08-14 2022-06-17 山东英信计算机技术有限公司 一种软件运行方法、装置、设备及计算机可读存储介质
CN112364323A (zh) * 2020-11-16 2021-02-12 深圳安捷丽新技术有限公司 一种基于用户虹膜识别的高安全存储访问方法和装置
CN112364324A (zh) * 2020-11-16 2021-02-12 深圳安捷丽新技术有限公司 一种基于声纹识别的高安全等级数据访问方法和装置
CN114553399B (zh) * 2020-11-18 2022-10-11 澜起电子科技(上海)有限公司 芯片内置密钥的派生方法及其装置
CN112511297B (zh) * 2020-11-30 2022-03-11 郑州信大捷安信息技术股份有限公司 一种密钥对和数字证书的更新方法和系统
CN114765546B (zh) * 2020-12-30 2023-07-18 海能达通信股份有限公司 端到端硬加密方法、系统、加密设备、密钥管理服务器
CN113836546B (zh) * 2021-08-30 2024-02-13 广东浪潮智慧计算技术有限公司 一种密钥管理方法、装置、设备及存储介质
CN113609510B (zh) * 2021-09-28 2021-12-24 武汉泰乐奇信息科技有限公司 一种基于分布式存储的大数据加密传输方法与装置
CN114117406A (zh) * 2021-09-30 2022-03-01 深圳前海微众银行股份有限公司 一种数据处理方法、装置、设备及存储介质
CN114143029B (zh) * 2021-10-29 2024-03-08 航天信息股份有限公司 一种可重复生成的用户个人账号密码生成系统及方法
CN115941360A (zh) * 2023-02-10 2023-04-07 杭州堃博生物科技有限公司 数据交互的安全验证方法、装置、存储介质以及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660500A (zh) * 2016-03-28 2019-04-19 黑金币公司 用于提供基于区块链的多因素个人身份验证的系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789378B (zh) * 2017-03-29 2018-08-03 宁夏灵智科技有限公司 智能家居中信息防止泄露方法及系统
CN106972927B (zh) * 2017-03-31 2020-03-20 威海合联信息科技有限公司 一种针对不同安全等级的加密方法及系统
CN107241184B (zh) * 2017-06-13 2021-04-02 西北工业大学 基于改良aes的个人密码生成和管理方法
CN109215170B (zh) * 2017-07-04 2021-03-02 百度在线网络技术(北京)有限公司 行车数据的存储方法、装置和设备
CN108737365A (zh) * 2018-03-26 2018-11-02 刘喆 一种网络数据信息保护方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660500A (zh) * 2016-03-28 2019-04-19 黑金币公司 用于提供基于区块链的多因素个人身份验证的系统和方法

Also Published As

Publication number Publication date
CN111079128A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111079128B (zh) 一种数据处理方法、装置、电子设备以及存储介质
US10742422B1 (en) Digital transaction signing for multiple client devices using secured encrypted private keys
US11880831B2 (en) Encryption system, encryption key wallet and method
CN107295011B (zh) 网页的安全认证方法及装置
US8396218B2 (en) Cryptographic module distribution system, apparatus, and program
CN113067699B (zh) 基于量子密钥的数据共享方法、装置和计算机设备
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN110611670A (zh) 一种api请求的加密方法及装置
CN111294203B (zh) 信息传输方法
CN113691502A (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN112232814A (zh) 支付密钥的加密和解密方法、支付认证方法及终端设备
JP2022521525A (ja) データを検証するための暗号方法
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
WO2018220693A1 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、記録媒体
CN104243439A (zh) 文件传输处理方法、系统及终端
CN115276978A (zh) 一种数据处理方法以及相关装置
CN114826702A (zh) 数据库访问密码加密方法、装置和计算机设备
KR20180113688A (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
US10699021B2 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
CN114760046A (zh) 一种身份鉴别方法和装置
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
US20220200792A1 (en) Selective data disclosure via a block chain
US11343078B2 (en) System and method for secure input at a remote service
CN114095150B (zh) 身份鉴定方法、装置、设备及可读存储介质

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40022566

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant