掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法及装置

文献发布时间:2023-06-19 12:24:27


一种数据处理方法及装置

技术领域

本申请涉及金融科技(Fintech)的数据处理技术领域,尤其涉及一种数据处理方法及装置。

背景技术

近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。如,为了保证用户的财产和信息安全等,对于用户数据的安全性也相应的越加重视,相应的,对于数据加密解密技术也提出更高的要求。

现有技术中,为了保证用户数据的安全性,则对用户数据进行加密存储。其中,数据加密方式大致可以分类两种;一种是通过统一加密密钥对用户数据进行加密存储;该种加密方式存储和维护加密密钥的成本较低,但相应的,由于通过一个加密密钥加密所有用户的用户数据,一旦该加密密钥被破解,则可能造成所有用户的用户数据泄露。另一种数据加密方式为,为每个用户分配一个加密密钥,针对每个用户的用户数据使用该用户对应的加密密钥进行加密;该种方式增加了用户数据的安全性,但相应的,也增加了密钥维护成本。

因此,现在亟需一种数据处理方法及装置,能够在降低密钥维护成本的前提下,进一步提高数据安全性。

发明内容

本发明实施例提供一种数据处理方法及装置,能够在降低密钥维护成本的前提下,进一步提高数据安全性。

第一方面,本发明实施例提供一种数据处理方法,该方法包括:

加密机接收用户端发送的数据处理请求,所述数据处理请求用于指示对数据进行加密处理或解密处理;所述加密机根据所述数据处理请求中的用户唯一标识,获取所述用户唯一标识对应的加密随机数;所述加密机解密所述加密随机数,得到用户随机数;所述加密机根据所述用户随机数,确定离散因子;所述加密机基于所述离散因子,对所述加密机的根密钥进行离散运算,得到用户密钥;所述加密机通过所述用户密钥,对所述数据处理请求指示的数据进行处理。

上述方法中,当用户需要进行用户数据进行加密解密等数据处理时,需要获取加密随机数,得到用户随机数,还要根据用户随机数确定离散因子,由离散因子对加密机的根密钥进行离散运算,得到用户密钥。也就是说,用户密钥是经过层层计算获取的,若攻击者想要获取用户密钥,则需要层层破解,提高数据安全性,相应的,也说明了用户密钥是动态生成的,而不是一直存储在设备中的。相比于现有技术中的密钥一直存储在后台服务端来说,本申请中的用户密钥是攻击者无法直接获取的,提高用户数据安全性;且,由于只存储加密随机数和根密钥,即使攻击者获取加密随机数和根密钥,也无法得到用户密钥,进一步提高用户数据安全性。另外,由于根密钥具有全局唯一性。则本数据处理机制在密钥维护级别中,只需要根密钥维护,降低密钥维护成本。

可选的,所述数据处理请求中还包括加密用户口令;所述加密机解密所述加密随机数,得到用户随机数,包括:所述加密机根据所述加密随机数和所述加密用户口令,确定所述用户随机数;所述加密机根据所述用户随机数,确定离散因子,包括:所述加密机根据所述用户随机数和所述加密用户口令,确定所述离散因子。

上述方法中,根据用户随机数获取离散因子,还需要获取加密用户口令,而数据处理机制中并没有存储加密用户口令;则,即使攻击者获取到加密随机数及其对应的解密算法,以及获取到用户随机数及其对应的加密算法,没有用户的加密用户口令,也得不到离散因子。因此,可以大大提高数据的安全性。

可选的,加密机接收用户端发送的数据处理请求之前,还包括:所述加密机接收所述用户端的注册请求,所述注册请求中包括所述加密用户口令和所述用户唯一标识;所述加密机生成所述用户唯一标识对应的所述用户随机数,并使用所述加密用户口令对所述用户随机数进行加密,得到所述加密随机数;所述加密机将所述加密随机数和所述用户唯一标识对应存储。

上述方法中,用户通过加密用户口令注册,获取用户随机数,并获取加密用户口令对用户随机数进行加密,得到的加密随机数,加密机将该加密随机数和用户唯一标识对应存储。如此,当后续用户需要加密数据或解密数据时,加密机会根据加密请求或解密请求等数据处理请求中的加密用户口令和加密随机数获取用户随机数,以进行加密数据或解密数据。如此,使得攻击者即使获取到加密随机数,没有加密用户口令,也无法获取用户随机数,对数据解密以窃取数据,提高数据安全性。

可选的,所述加密用户口令为所述用户端对输入的用户口令进行哈希算法加密获取的;所述加密机根据所述用户随机数和所述加密用户口令,确定离散因子,包括:所述加密机对所述用户随机数和所述加密用户口令进行异或运算,得到所述离散因子。

上述方法中,用户端对用户口令进行加密后,获取加密用户口令,将加密用口令发送至加密机。如此,攻击者不能获取真实用户口令,提高数据安全性。加密机对用户随机数和加密用户口令进行异或运算,得到离散因子。如此,攻击者即使获取加密用户口令和用户随机数,也得不到离散因子,确定攻击者处于‘一步一拦截’的攻击场景中,增加攻击者获取用户密钥的难度,提高数据安全性。

可选的,所述加密机基于所述离散因子,对所述加密机的根密钥进行离散运算,得到用户密钥,包括:所述加密机将所述离散因子分为第一离散密钥和第二离散密钥;所述加密机通过所述第一离散密钥对所述根密钥进行离散运算,得到不成熟用户密钥;所述加密机通过所述第二离散密钥对所述不成熟用户密钥进行离散运算,得到所述用户密钥。上述方法中,加密机将离散因子分为第一离散密钥和第二离散密钥;并根据第一离散密钥对根密钥进行离散运算,得到不成熟用户密钥;进一步根据第二离散密钥对不成熟用户密钥进行离散运算,得到用户密钥。如此,保证每个用户都有独立的用户密钥,使得用户间的用户密钥不重复,以及切断用户密钥与根密钥之间的耦合,以阻断用户数据加密解密的关联性。

可选的,所述加密机通过所述第一离散密钥对所述根密钥进行离散运算,得到不成熟用户密钥,包括:所述加密机通过所述第一离散密钥对所述根密钥进行离散运算得到一部分不成熟用户密钥;所述加密机通过反向的所述第一离散密钥对所述根密钥进行离散运算得到另一部分不成熟用户密钥;所述加密机将得到的两部分不成熟用户密钥合并得到所述不成熟用户密钥。

上述方法中,加密机分别使用正向第一离散密钥和反向第一离散密钥对更密钥进行离散运算,分别得到不成熟用户密钥的两部分,并合并后获取不成熟用户密钥。如此,进一步降低用户密钥与根密钥的关联性,有效的切断用户密钥与根密钥之间的耦合;还可以提高每个用户的用户密钥的私有性。

可选的,所述加密机对所述数据处理请求指示的数据进行处理之后,还包括:所述加密机清除所述加密机的内存。

上述方法中,清除加密机内存,保证加密机中的用户密钥、用户随机数等信息不被攻击者获取到,提高用户数据的安全性。

可选的,加密机接收用户端发送的数据处理请求之前,还包括:

所述加密机获取所述根密钥,并将所述根密钥存储。

上述方法中,通过加密机获取根密钥,提高根密钥的安全性。

第二方面,本发明实施例提供一种数据处理装置,该装置包括:

收发模块,用于接收用户端发送的数据处理请求,所述数据处理请求用于指示对数据进行加密处理或解密处理;

处理模块,用于根据所述数据处理请求中的用户唯一标识,获取所述用户唯一标识对应的加密随机数;解密所述加密随机数,得到用户随机数;根据所述用户随机数,确定离散因子;基于所述离散因子,对所述加密机的根密钥进行离散运算,得到用户密钥;并通过所述用户密钥,对所述数据处理请求指示的数据进行处理。

第三方面,本申请实施例还提供一种计算设备,包括:存储器,用于存储程序;处理器,用于调用所述存储器中存储的程序,按照获得的程序执行如第一方面的各种可能的设计中所述的方法。

第四方面,本申请实施例还提供一种计算机可读非易失性存储介质,包括计算机可读程序,当计算机读取并执行所述计算机可读程序时,使得计算机执行如第一方面的各种可能的设计中所述的方法。

本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据处理的架构示意图;

图2为本发明实施例提供的一种数据处理的架构示意图;

图3为本发明实施例提供的一种数据处理方法的流程示意图;

图4为本发明实施例提供的一种数据处理方法的流程示意图;

图5为本发明实施例提供的一种数据处理方法的流程示意图;

图6为本发明实施例提供的一种数据处理的装置示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种数据处理的系统架构,其中,在注册流程中:用户端101接收用户输入的用户口令;用户端101对该用户口令进行加密获取加密用户口令,并生成用户唯一标识,进而根据加密用户口令和该用户唯一标识生成注册请求;用户端101将该注册请求发送至加密机102。加密机102根据接收注册请求后,针对该用户唯一标识生成用户随机数,并根据加密用户口令和用户随机数生成加密随机数,将加密随机数和该用户唯一标识对应存储在数据库103中。

在数据加密流程中:用户端101对用户输入的用户口令进行加密获取加密用户口令,并根据用户的触发生成数据处理请求,使得该数据处理请求中包含待加密数据、用户唯一标识和加密用户口令;用户端101将该数据处理请求发送至加密机102。加密机102根据数据处理请求中的用户唯一标识,获取数据库103中的该用户唯一标识对应的加密随机数,并根据数据处理请求中的加密用户口令对加密随机数进行解密获取用户随机数,进一步根据该用户随机数和加密用户口令计算离散因子,根据该离散因子和根密钥计算获取用户密钥;根据该用户密钥对该待加密数据进行加密,获取加密的数据后,将该加密的数据与数据库103中的该用户的用户唯一标识和加密随机数对应存储。加密机102确定数据处理请求处理完成,清空内存。

在数据解密流程中:用户端101对用户输入的用户口令进行加密获取加密用户口令,并根据用户的触发生成数据处理请求,使得该数据处理请求中包含待解密数据标识、用户唯一标识和加密用户口令;用户端101将该数据处理请求发送至加密机102。加密机102根据待解密数据标识从数据库103中获取对应的待解密数据;加密机102根据数据处理请求中的用户唯一标识,获取数据库103中的该用户唯一标识对应的加密随机数,并根据数据处理请求中的加密用户口令对加密随机数进行解密获取用户随机数,进一步根据该用户随机数和加密用户口令计算离散因子,根据该离散因子和根密钥计算获取用户密钥;根据该用户密钥对该待解密数据进行解密,获取解密的数据后,将该解密的数据发送至用户端101。加密机102确定数据处理请求处理完成,清空内存。

本发明实施例还提供的一种数据处理的系统架构,如图2所示,该系统架构中包含用户端201、后台服务端202、加密机203、数据库204;当用户端201无需生成用户唯一标识时,后台服务端202可以用于在接收注册请求时,针对该用户生成用户唯一标识,并将该用户唯一标识通知用户端201。且还可以使得加密机203在接收后台服务器的用户唯一标识,且生成加密随机数后,将该用户唯一标识和加密随机数在数据库204中对应存储。上述图1和图2中的系统架构只是本申请中的一种实施示例,并不对本申请的数据处理的系统结构等的具体实施做限制。

基于上述系统架构,本申请实施例提供了一种数据处理方法流程,如图3所示,包括:

步骤301、加密机接收用户端发送的数据处理请求,所述数据处理请求用于指示对数据进行加密处理或解密处理;

步骤302、所述加密机根据所述数据处理请求中的用户唯一标识,获取所述用户唯一标识对应的加密随机数;

步骤303、所述加密机解密所述加密随机数,得到用户随机数;

步骤304、所述加密机根据所述用户随机数,确定离散因子;

步骤305、所述加密机基于所述离散因子,对所述加密机的根密钥进行离散运算,得到用户密钥;

步骤306、所述加密机通过所述用户密钥,对所述数据处理请求指示的数据进行处理。

上述方法中,当用户需要进行用户数据进行加密解密等数据处理时,需要获取加密随机数,得到用户随机数,还要根据用户随机数确定离散因子,由离散因子对加密机的根密钥进行离散运算,得到用户密钥。也就是说,用户密钥是经过层层计算获取的,若攻击者想要获取用户密钥,则需要层层破解,提高数据安全性,相应的,也说明了用户密钥是动态生成的,而不是一直存储在设备中的。相比于现有技术中的密钥一直存储在后台服务端来说,本申请中的用户密钥是攻击者无法直接获取的,提高用户数据安全性;且,由于只存储加密随机数和根密钥,即使攻击者获取加密随机数和根密钥,也无法得到用户密钥,进一步提高用户数据安全性。另外,由于根密钥具有全局唯一性。则本数据处理机制在密钥维护级别中,只需要根密钥维护,降低密钥维护成本。

本申请实施例提供了一种数据处理方法,所述数据处理请求中还包括加密用户口令;所述加密机解密所述加密随机数,得到用户随机数,包括:所述加密机根据所述加密随机数和所述加密用户口令,确定所述用户随机数;所述加密机根据所述用户随机数,确定离散因子,包括:所述加密机根据所述用户随机数和所述加密用户口令,确定所述离散因子。也就是说,加密随机数是通过加密用户口令和相应的算法对用户随机数进行加密获取的,离散因子是加密用户口令和相应的算法对用户随机数进行加密获取的。在一种示例中,可以根据加密用户口令和对称算法的逆向破解算法对加密随机数进行破解,获取用户随机数。可以根据加密用户口令和异或算法对用户随机数进行加密,获取离散因子。其中,对称算法可以是SM4(国家商用密码算法)、3DES(三重数据加密算法)等,这里对算法的具体设置不做限定,可以根据需要设置。另外,根据上述内容可知,获取用户密钥需要获取离散因子,获取离散因子需要获取用户随机数和加密用户口令,而用户随机数的获取也需要加密用户口令。也就是说,每次用户发起数据的加密或解密处理请求时,需要用户授权并输入用户口令(pwd),用户端通过哈希算法对用户口令进行了第一时间的加密,并依据此Kpwd完成后续数据的一系列加密和解密等处理。即,该数据处理流程中不直接存储加密用户口令,则后台服务端无法独立完成整个数据加密、数据解密流程,也即,通过加密用户口令的强制介入数据处理机制可以有效避免后台服务端的数据处理系统被攻击时,用户数据在未经用户授权的情况下产生的泄露风险。

这里需要说明的是,用户口令为用户敏感数据,由于用户持有且后台服务端、加密机、数据库无需保存,如需考虑用户口令遗丢问题,可引入用户口令的备份云端,该备份云端可以由本系统架构中设置的独立于该数据处理机制的服务器支持,也可以由其他备份云端支持,如,微信、QQ等,这里对备份云端具体不做限定。

本申请实施例提供了一种用户注册方法,加密机接收用户端发送的数据处理请求之前,还包括:所述加密机接收所述用户端的注册请求,所述注册请求中包括所述加密用户口令和所述用户唯一标识;所述加密机生成所述用户唯一标识对应的所述用户随机数,并使用所述加密用户口令对所述用户随机数进行加密,得到所述加密随机数;所述加密机将所述加密随机数和所述用户唯一标识对应存储。在一种示例中,用户第一次注册时,加密机接收注册请求后,会生成针对该用户的用户唯一标识的用户随机数Seed,示例性的,这里可以通过加密机中的随机数生成模块、或软件伪随机数生成算法,得到32(Byte)或64(Byte)等位的Seed,使得每个用户的Seed的产生都应满足随机性。加密机根据加密用户口令Kpwd对Seed进行加密,得到加密随机数Enc(Seed),加密机将Enc(Seed)和用户唯一标识对应存储。其中,加密机也可以根据预设的加密密钥对该Seed进行加密,得到加密随机数Enc(Seed),并将Enc(Seed)和用户唯一标识对应存储。若数据处理的系统架构中不包含加密机,如系统架构中包含用户端、后台服务端、数据库,则优选的使用Kpwd对该Seed进行加密获取Enc(Seed),提高数据安全性。其中,对Seed进行加密的算法可以使用对称加密算法中的3DES或者SM4。如,Enc(Seed)=3DES(Kpwd,Seed),或者,Enc(Seed)=SM4(Kpwd,Seed)。

本申请实施例提供一种离散因子获取方法,所述加密用户口令为所述用户端对输入的用户口令进行哈希算法加密获取的;所述加密机根据所述用户随机数和所述加密用户口令,确定离散因子,包括:所述加密机对所述用户随机数和所述加密用户口令进行异或运算,得到所述离散因子。也就是说,用户端接收用户输入的用户口令后,需要对该用户口令通过哈希算法进行加密,保证该用户口令的安全性。在用户输入用户口令的初期,即第一时间,即调用离散算法对该用户口令做加密获取加密用户口令Kpwd,并以此作为每个用户独立的Kpwd参与后续的数据处理流程中的运算,示例性的,Kpwd具体生成公式可以为:Kpwd=HASH(pwd);或者,Kpwd=[SHA256(pwd)]L32;或者,Kpwd=[SM3(pwd)]L32。其中,HASH为哈希算法;SHA256为一种使用的哈希值长度是256位的哈希算法;SM3为国产哈希算法。上述公式可以理解为,对用户口令pwd进行离散后,数据截取前面32位(16Byte数据)即为Kpwd,其中,如果采用3DES算法,须附加奇偶校验运算。则示例性的,基于Kpwd获取离散因子Kseed,Kseed=Seed⊕Kpwd。

本申请实施例提供了一种用户密钥获取方法,所述加密机基于所述离散因子,对所述加密机的根密钥进行离散运算,得到用户密钥,包括:所述加密机将所述离散因子分为第一离散密钥和第二离散密钥;所述加密机通过所述第一离散密钥对所述根密钥进行离散运算,得到不成熟用户密钥;所述加密机通过所述第二离散密钥对所述不成熟用户密钥进行离散运算,得到所述用户密钥。示例性的,将上述方法中获取的离散因子Kseed作为公式Ki=DisKseed(i)(Kroot)中的离散因子计算用户密钥Ki;实质上,该公式包含两部分:Ki’=3DES(Kroot,Kseed_L)||3DES(Kroot,NOTKseed_L)和Ki=3DES(Ki’,Kseed_R)||3DES(Ki’,NOTKseed_R)。

其中,第一离散密钥Kseed_L为Kseed(16Bytes)的切分后的高位8Bytes、第二离散密钥Kseed_R为Kseed(16Bytes)的切分后的低位8Bytes,根密钥Kroot(16Bytes)。则以Ki’=3DES(Kroot,Kseed_L)||3DES(Kroot,NOTKseed_L)为依据公式,通过Kseed_L对Kroot做第一次的标准PBOC离散运算,得到不成熟用户密钥Ki’(16Byte);也可以认为该公式是通过Kroot对Kseed_L进行3DES加密得到Ki’的高8Bytes,通过对Kseed_L进行取反后用Kroot进行3DES加密得到Ki’的低8Bytes,合并得到不成熟用户密钥Ki’;也可以是通过Kroot对Kseed_L进行3DES加密得到Ki’的低8Bytes,通过对Kseed_L进行取反后用Kroot进行3DES加密得到Ki’的高8Bytes,合并得到不成熟用户密钥Ki’;这里的具体计算方式只是一种示例,并不对不成熟用户密钥的计算方式做限定,如,Ki’的大小可以不只是16Bytes,也可以是32Bytes等等;或者,通过Kroot对Kseed_L进行3DES加密得到Ki’的高8Bytes,对Kseed_L进行加/减固定数组等运算得到Kseed_L’后,通过Kroot对Kseed_L’进行3DES加密得到Ki’的低8Bytes等。以Ki=3DES(Ki’,Kseed_R)||3DES(Ki’,NOTKseed_R)为依据公式,通过Kseed_R对Ki’做第一次的标准PBOC离散运算,得到用户密钥Ki(16Byte)。即,通过Kseed_R作为第二段离散因子,对不成熟用户密钥Ki’进行第二次PBOC分散计算,得到最终的用户密钥Ki。之后,根据用户密钥Ki对用户数据进行加密或解密,由上述内容可以,用户密钥只有在使用的时候计算获取,不直接存储,可以有效提高数据安全性,且由于是根据第一离散密钥和第二离散密钥对根密钥进行离散运算获取的,则保证了各用户的用户密钥几乎是不同的,且有效阻断用户密钥与根密钥的耦合性。其中,第一离散密钥Kseed_L为Kseed(16Bytes)的切分后的高位8Bytes、第二离散密钥Kseed_R为Kseed(16Bytes)的切分后的低位8Bytes只是一种离散因子的切分示例,也可以是第一离散密钥Kseed_L为Kseed(16Bytes)的切分后的低位8Bytes、第二离散密钥Kseed_R为Kseed(16Bytes)的切分后的高位8Bytes;这里对离散因子的具体切分方式不做限定。另外,此处使用离散运算方法获取用户密钥,是为了保证各用户的用户密钥几乎是不同的,阻断用户密钥与根密钥的耦合性,本方案此处的用户密钥计算方式也适用于其它运算方法,这里只是一种示例,并不对具体运算方法做限定。同样的,此处使用对称加密算法使用用户密钥加密数据,可以提高数据安全性,但该对称加密算法并不是唯一的运算方法,可以根据需要具体设置。

本申请实施例提供了一种数据处理方法,所述加密机对所述数据处理请求指示的数据进行处理之后,还包括:所述加密机清除所述加密机的内存。也就是说,加密机完成数据的加密或数据的解密处理后,将内存中的用户密钥、离散因子、用户随机数等删除,防止泄露这些敏感数据而导致泄露用户数据。

本申请实施例还提供了一种数据处理方法,加密机接收用户端发送的数据处理请求之前,还包括:所述加密机获取所述根密钥,并将所述根密钥存储。在一种示例中,开发人员可以通过手动明文录制,或者加密机中的自动随机的方式生成本系统唯一的根密钥Kroot,该根密钥作为此系统最高级别密钥,可存储与加密机内部,或者被加密后存储在数据库等外部存储设备中,并通过该加密机提供可靠的安全性保证。

基于上述方法流程,本申请实施例提供了一种数据处理方法流程,如图4所示,包括:

步骤401、加密机获取根密钥。

步骤402、用户端接收用户口令,并使用哈希算法对该用户口令进行加密获取加密用户口令,生成用户唯一标识。

步骤403、加密机根据该用户唯一标识和加密用户口令生成注册请求。

步骤404、用户端将注册请求发送至加密机。

步骤405、加密机接收注册请求后,为该用户唯一标识生成用户随机数,并通过加密用户口令和对称加密算法对用户随机数进行加密得到加密随机数。

步骤406、加密机将该加密随机数和该用户唯一标识对应存储在数据库。

步骤407、用户端根据用户存储数据等操作生成数据处理请求,并将该数据处理请求发送至加密机。

步骤408、加密机接收数据处理请求,该数据处理请求中包含待加密数据、该用户唯一标识和该加密用户口令。

步骤409、加密机根据该用户唯一标识,获取数据库中的该用户唯一标识对应的加密随机数,并根据加密用户口令和逆向对称加密算法对该加密随机数解密获取用户随机数。

步骤410、加密机对该用户随机数和机密用户口令进行异或运算获取离散因子。

步骤411、加密机获取根密钥,其中,根密钥可以存储在加密机或数据库中。

步骤412、加密机通过离散运算方法对离散因子和根密钥进行运算获取用户密钥。

步骤413、加密机通过该用户密钥和对称加密算法对待加密数据进行加密,获取加密后的用户数据。

步骤414、加密机将加密后的待加密数据发送至数据库,与该用户唯一标识、加密随机数对应存储。

步骤415、加密机确定数据处理请求处理完成,清除内存。

这里需要说明的是,上述流程步骤并不唯一,步骤401至步骤406为注册流程,可以在数据处理流程步骤407至步骤415前面执行,也可以在其后执行;步骤411可以在步骤408、步骤409、步骤410任一步骤前后执行。因此,上述流程步骤只是一种示例,并不对本方案具体实施做限定。

基于上述方法流程,本申请实施例提供了一种数据处理方法流程,如图5所示,包括:

步骤501、用户端根据用户存储数据等操作生成数据处理请求,并将该数据处理请求发送至加密机。

步骤502、加密机接收数据处理请求,该数据处理请求中包含待解密数据标识、该用户唯一标识和该加密用户口令。

步骤503、加密机根据该用户唯一标识,获取数据库中的该用户唯一标识对应的加密随机数,并根据加密用户口令和逆向对称加密算法对该加密随机数解密获取用户随机数。

步骤504、加密机对该用户随机数和机密用户口令进行异或运算获取离散因子。

步骤505、加密机获取根密钥,其中,根密钥可以存储在加密机或数据库中。

步骤506、加密机通过离散运算方法对离散因子和根密钥进行运算获取用户密钥。

步骤507、加密机根据该待解密数据标识获取待解密数据。

步骤508、加密机通过该用户密钥和对称加密算法对待解密数据进行解密,获取加解后的用户数据。

步骤509、加密机将解密后的用户数据发送至用户端。

步骤510、加密机确定数据处理请求处理完成,清除内存。

这里需要说明的是,上述流程步骤并不唯一,步骤507可以在步骤503至步骤506任一步骤前后执行。因此,上述流程步骤只是一种示例,并不对本方案具体实施做限定。

基于同样的构思,本发明实施例提供一种数据处理的装置,图6为本申请实施例提供的一种数据处理的装置示意图,如图6示,包括:

收发模块601,用于接收用户端发送的数据处理请求,所述数据处理请求用于指示对数据进行加密处理或解密处理;

处理模块602,用于根据所述数据处理请求中的用户唯一标识,获取所述用户唯一标识对应的加密随机数;解密所述加密随机数,得到用户随机数;根据所述用户随机数,确定离散因子;基于所述离散因子,对所述加密机的根密钥进行离散运算,得到用户密钥;并通过所述用户密钥,对所述数据处理请求指示的数据进行处理。

可选的,所述数据处理请求中还包括加密用户口令;所述处理模块602具体用于:所述加密机根据所述加密随机数和所述加密用户口令,确定所述用户随机数;所述处理模块602具体用于:所述加密机根据所述用户随机数和所述加密用户口令,确定所述离散因子。

可选的,所述处理模块602还用于:接收所述用户端的注册请求,所述注册请求中包括所述加密用户口令和所述用户唯一标识;所述加密机生成所述用户唯一标识对应的所述用户随机数,并使用所述加密用户口令对所述用户随机数进行加密,得到所述加密随机数;所述加密机将所述加密随机数和所述用户唯一标识对应存储。

可选的,所述加密用户口令为所述用户端对输入的用户口令进行哈希算法加密获取的;所述处理模块602具体用于:所述加密机对所述用户随机数和所述加密用户口令进行异或运算,得到所述离散因子。

可选的,所述处理模块602具体用于:所述加密机将所述离散因子分为第一离散密钥和第二离散密钥;所述加密机通过所述第一离散密钥对所述根密钥进行离散运算,得到不成熟用户密钥;所述加密机通过所述第二离散密钥对所述不成熟用户密钥进行离散运算,得到所述用户密钥。

可选的,所述处理模块602具体用于:所述加密机通过所述第一离散密钥对所述根密钥进行离散运算得到一部分不成熟用户密钥;所述加密机通过反向的所述第一离散密钥对所述根密钥进行离散运算得到另一部分不成熟用户密钥;所述加密机将得到的两部分不成熟用户密钥合并得到所述不成熟用户密钥。可选的,所述处理模块602还用于:所述加密机清除所述加密机的内存。

可选的,所述处理模块602还用于:所述加密机获取所述根密钥,并将所述根密钥存储。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 图像数据处理方法、用于图像数据处理方法的程序、记录有用于图像数据处理方法的程序的记录介质和图像数据处理装置
  • 药箱的数据处理方法、装置、数据处理方法和装置
技术分类

06120113283872