CN114117406A - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114117406A CN114117406A CN202111163126.7A CN202111163126A CN114117406A CN 114117406 A CN114117406 A CN 114117406A CN 202111163126 A CN202111163126 A CN 202111163126A CN 114117406 A CN114117406 A CN 114117406A
- Authority
- CN
- China
- Prior art keywords
- password
- user
- factor
- user password
- encrypted data
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 96
- 238000012545 processing Methods 0.000 claims description 40
- 150000003839 salts Chemical class 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 58
- 238000004422 calculation algorithm Methods 0.000 description 174
- 238000004891 communication Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 101000610537 Homo sapiens Prokineticin-1 Proteins 0.000 description 8
- 101001129076 Homo sapiens Serine/threonine-protein kinase N1 Proteins 0.000 description 8
- 102100031206 Serine/threonine-protein kinase N1 Human genes 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000000243 solution Substances 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (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为本申请实施例提供的数据处理***的一种可选的结构示意图;
图3为本申请实施例提供的数据处理方法的一种可选的流程示意图
图4为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图5为本申请实施例提供的数据处理方法一种可选的流程示意图;
图6为本申请实施例提供的数据处理方法一种可选的流程示意图;
图7为本申请实施例提供的数据处理方法一种可选的流程示意图;
图8为本申请实施例提供的数据处理装置的一种可选的结构示意图;
图9为本申请实施例提供的电子设备的一种可选的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅是为例区别不同的对象,不代表针对对象的特定排序,不具有先后顺序的限定。可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
为了便于理解,对本申请中的部分技术术语进行解释。
对象,可以指各种类型的数据,例如,文本数据、视频数据、音频数据或者图片数据等。
目标对象,指本申请中的待加密或者待解密的对象。
本申请实施例可提供数据处理方法及装置、设备和存储介质。实际应用中,数据处理方法可由数据处理装置实现,数据处理装置中的各功能实体可以由电子设备(如第一设备)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
本申请实施例提供的数据处理方法应用于数据处理***,数据处理***包括第一设备。第一设备基于接收的第一用户密码解密用户标识数据,得到预测用户标识;获得与所述第一用户密码关联的实际用户标识;若所述预测用户标识与所述实际用户标识相同,则确定所述第一用户密码校验成功,基于所述第一用户密码解密第一加密数据,得到第一用户密码因子,所述第一加密数据包括被加密的第一用户密码因子;至少基于所述第一用户密码因子,生成第一密码;通过所述第一密码对目标对象进行加密或解密。
在一示例中,数据处理***还可以包括第二设备和/或第三设备。第二设备可以与第一设备通信,例如,第二设备可以备份第一用户密码因子;第三设备可以与第一设备通信,例如,第三设备可以接收第一用户密码,并向第一设备转发该接收到的第一用户密码。
作为一示例,数据处理***10的结构可如图1所示,包括:第一设备101、第三设备102;第一设备101与第三设备102之间可以通信。
第一设备101可以与第三设备102直接进行通信;或者,第一设备101还可以通过应用服务器与第三设备102进行通信。例如,数据处理***10还可以包括应用服务器103。第三设备102上运行目标服务(例如为托管存储服务),第三设备102通过目标服务提供的应用程序接口(Application Programming Interface,API)接口与服务器103通信,服务器103与第一设备101通信。
第一设备101,用于接收第三设备102发送的各种数据,并处理与存储接收的数据。在本申请的实施例中,第一设备101可以用于接收第三设备102发送的对象,并对该对象加密后存储;或者还可以用于对加密对象进行解密后发送给第三设备102。第一设备101可以为存储器、硬盘、软盘等固定存储设备,或者第一设备101也可以为移动硬盘等可移动存储设备,或者第一设备101也可以为云存储设备。
第三设备102,用于向第一设备101发送各对象,或者还用于接收第一设备发送的各对象。第三设备102可以包括移动终端设备(例如手机、平板电脑等),或者非移动终端设备(例如台式电脑等)。
作为另一示例,数据处理***10的结构可如图2所示,包括:第一设备101、第三设备102和第二设备104。第二设备104可以与第一设备101、第三设备102通信。
第二设备104,也可以称为第三方可信证书服务机构设备,用于接收存储第一设备101或者第三设备102发送的数据(例如可以存储加密的第二用户密码因子),并将数据处理后发送至第一设备101或者第三设备102。
下面,结合图1或图2所示的数据处理***的示意图,对本申请实施例提供的数据处理方法及装置、设备和存储介质的各实施例进行说明。
第一方面,本申请实施例提供一种数据处理方法,该方法应用于数据处理装置;其中,该数据处理装置可以部署于图1或图2中的第一设备101。下面,对本申请实施例提供的数据处理过程进行说明。
图3示意了一种可选的一种数据处理方法的流程示意图,本申请实施例提供的数据处理方法,用于对各对象进行加密或解密;其中,对于每个对象的处理过程类似,现以目标对象为例,对该过程进行详细说明。该数据处理方法可以包括但不限于图3所示的S301至S305。
S301、第一设备基于接收的第一用户密码解密用户标识数据,得到预测用户标识。
具体的,第一设备接收第一用户密码,并基于第一用户密码解密用户标识数据,得到预测用户标识。
对于第一设备接收第一用户密码,在一种可能的实施方式中,第一设备接收用户的第一操作,并基于第一操作接收用户输入的第一用户密码。
在另一种可能的实施方式中,第三设备接收用户的第一操作,并基于第一操作接收用户输入的第一用密码,第三设备将接收的第一用户密码发送至第一设备,第一设备接收第三设备发送的第一用户密码。
对于第一设备基于第一用户密码解密用户标识数据,得到预测用户标识,可以实施为:第一设备调用第一解密算法,通过第一用户密码或基于第一用户密码得到的***密码解密用户标识数据,得到预测用户标识。
其中,***密码为与第一用户密码对应的针对***的密码。
可选的,在解密得到预测用户之前,第一设备还可以基于第一用户得到用户标识数据。
本申请实施例对得到用户标识数据的时机不做唯一限定,可以根据时机需求进行配置。
第一设备针对第一用户,创建第一用户的用户标识(Identity document,ID),并调用第一加密算法,通过第一用户密码或基于第一用户密码得到的***密码,加密第一用户的用户标识,得到用户标识数据。
第一用户的用户标识用于唯一指向第一用户,本申请实施例对第一用户标识的表现形式不做限定,可以根据实际需求进行配置。例如,第一用户标识可以是一组数字的组合,或者字母的组合,或者数字加字母的组合等等。
本申请实施例对创建第一用户的用户标识的算法不作具体限定。例如,创建第一用户的用户标识的算法可以包括随机算法或者哈希算法等等。
需要说明的是,第一加密算法的加密密码与第一解密算法的解密密码应保持一致。例如,第一解密算法的加密密码为第一用户密码的情况下,对应的第一加密算法的加密密码为第一用户密码;第一解密算法的解密密码为***密码的情况下,第一解密算法的加密密码为该加密密码。
S302、第一设备获得与所述第一用户密码关联的实际用户标识。
第一设备基于输入的第一用户密码,采用与第一设备基于第一用户得到用户标识数据,相同的方法重新生成用户标识,作为与所述第一用户密码关联的实际用户标识。
S303、若所述预测用户标识与所述实际用户标识相同,则确定所述第一用户密码校验成功,第一设备基于所述第一用户密码解密第一加密数据,得到第一用户密码因子。
其中,第一加密数据包括被加密的第一用户密码因子。
第一加密数据可以是将第一用户密码因子加密后的数据,或者,第一加密数据还可以是将第一用户密码因子打包为文件(例如文件夹或者压缩文件等)后,并将该文件加密后的数据。
第一用户密码因子,用于得到加密或解密目标对象的密码,本申请实施例对于第一用户密码因子的表现形式不作限定,可以根据实际需求进行配置。
例如,第一用户密码因子可以为一组随机数字,或者第一用户密码因子可以为一组随机的数字与字母的组合等等。
S303可以实施为:第一设备判断预测用户标识与实际用户标识是否相同,若预测用户标识与实际用户标识相同,则确定第一用户密码校验成功,第一设备调用第二解密算法,基于第一用户密码得到解密密码,通过该解密密码对第一加密数据进行解密,得到第一用户密码因子;若预测用户标识与实际用户标识不相同,则确定第一用户密码校验失败,则结束。
本申请实施例对第二解密算法的类型不作唯一限定,可以根据实际需求进行配置。
在一种可能的实施方式中,第二解密算法可以包括:无线局域网标准的分组数据算法(SM4解密算法)。例如,第二解密算法可以包括SM4DNCRYPT(D,P)算法,其中,D表示解密对象,P表示解密密码。可以理解的,D包括第一加密数据;P包括第一用户密码或基于第一用户密码生成的***密码。
在另一种可能的实施方式中,第二解密算法可以包括:非对称加密算法(SM2算法)。
可选的,在执行S303之前,本申请实施例提供的数据处理方法还可以包括注册过程。
第一用户的注册过程可以包括:第一设备接收第一用户密码,针对第一用户密码创建第一用户,针对第一用户创建第一用户密码因子,并基于第一用户密码加密第一用户密码因子,得到第一加密数据。
本申请实施例对创建第一用户密码因子的算法不作唯一限定。例如,创建第一用户密码因子的算法可以包括随机算法、或者哈希算法等等。
本申请实施例对加密第一用户密码因子的第二加密算法也不作唯一限定。
在一种可能的实施方式中,第二加密算法可以包括:无线局域网标准的分组数据算法(SM4加密算法)。例如,第二加密算法可以包括SM4ENCRYPT(S,P)算法。
在另一种可能的实施方式中,第二加密算法可以包括:高级加密标准(AdvancedEncryption Standard,AES)算法。
需要说明的是,第二加密算法应与第二解密算法对应。例如,第二解密算法为SM4DECRYPT(D,P)算法的情况下,对应的注册过程的第二加密算法为SM4ENCRYPT(S,P)算法,其中,S表示加密对象,P表示加密密码。可以理解的,S包括第一用户密码因子;P包括第一用户密码或基于第一用户密码生成的***密码。
需要说明的是,第二加密算法的加密密码应与第二解密算法的解密密码保持一致。
例如,第二解密算法的解密密码为第一用户密码的情况下,对应的,第二加密算法的加密密码也为第一用户密码;在第二解密算法的解密密码为***密码的情况下,对应的,第二加密算法的加密密码也为该***密码。
需要说明的是,在注册的过程中,对于接收到的第一用户密码不做存储,换而言之,对第一用户密码使用完立即销毁。这样,可以减少第一用户密码泄漏的概率,提高安全性。
S304、第一设备至少基于所述第一用户密码因子,生成第一密码。
在一种可能的实施方式中,第一设备采用第一密码生成算法,根据第一用户密码因子生成第一密码。
在另一种可能的实施方式中,第一设备采用第一密码生成算法,根据第一用户密码因子以及针对目标对象的对象密码因子生成第一密码。
本申请实施例对第一密码生成算法的算法类型不作限定,可以根据实际需求进行配置。
在一示例中,第一密码生成算法可以包括:哈希算法,或者信息摘要(MessageDigest algorithm 5,MD5)算法、安全散列(Secure Hash Algorithm,SHA)算法。
在另一示例中,第一密码生成算法可以包括:哈希算法和随机生成密码算法(例如GENPSW算法),或者MD5算法和随机生成密码算法,或者SHA算法和随机生成密码算法。
S305、第一设备通过所述第一密码对目标对象进行加密或解密。
目标对象可以包括待加密的目标对象及待解密的目标对象,其中,待加密的目标对象也可以称为第一目标对象,待解密的目标对象也可以称为第二目标对象。
在一种可能的实施方式中,S305可以实施为:第一设备调用第三加密算法,通过第一密码加密第一目标对象。
在另一种可能的实施方式中,S305可以实施为:第一设备调用第三解密算法,通过第一密码解密第二目标对象。
本申请实施例对第三加密算法与第三解密算法的算法类型不作限定,可以根据实际需求进行配置。例如,第三加密算法可以包括SM4加密算法,或者SM2加密算法;第三解密算法可以包括SM4解密算法,或者SM2解密算法。
需要说明的是,第三解密算法应与第二加密算法对应。例如,第三加密算法为SM4ENCRYPT算法的情况下,第三解密算法为SM4DECRYPT。
本申请实施例提供的数据处理方案包括:基于接收的第一用户密码解密用户标识数据,得到预测用户标识;获得与所述第一用户密码关联的实际用户标识;若所述预测用户标识与所述实际用户标识相同,则确定所述第一用户密码校验成功,基于所述第一用户密码解密第一加密数据,得到第一用户密码因子,所述第一加密数据包括被加密的第一用户密码因子;至少基于所述第一用户密码因子,生成第一密码;通过所述第一密码对目标对象进行加密或解密。这样,第一点,第一密码是基于用户密码得到的,可以保证用户参与加密或解密的过程,第二点,该方案不是通过第一用户密码加密或解密目标对象,而是基于第一用户密码得到的用户密码因子确定第一密码,通过第一密码加密或解密目标对象,增大了破解第一密码的难度,进一步提高了安全性;第三点,该方案在校验时,基于预测用户标识与实际用户标识进行校验;而非直接基于密码进行校验,所以,该方案不需要存储用户密码,减少了用户密码泄漏的渠道,进一步提高了安全性。
需要说明的是,本申请实施例提供的数据处理过程可以对第一用户密码不做存储,即对于数据处理的每个阶段(加密或者解密等)均需要用户输入第一用户密码,第一设备接收第一用户密码,并基于第一用户密码进行加密或者解密等操作。这样,可以避免存储第一用户密码的过程中,第一用户密码被盗或者存储第一用户密码的设备违规解密文件的可能性,从而进一步提高了数据的安全性。
下面,对S303中,第一设备基于所述第一用户密码解密第一加密数据,得到第一用户密码因子的过程进行说明。该过程包括但不限于下述实施方式A或实施方式B。
实施方式A,通过第一用户密码解密第一加密数据;
实施方式B,通过第一用户密码生成的***密码解密第一加密数据。
其中,***密码为与第一用户密码对应的针对***的密码。
实施方式A可以包括:第一设备调用第二解密算法,通过第一用户密码解密第一加密数据,得到第一用户密码因子。
例如,第一用户密码因子S1可以通过下述公式(1)得到。
S1=SM4DECRYPT(D1,P0) 公式(1);
其中,S1表示第一用户密码因子,D1表示第一加密数据,SM4ENCRYPT表示SM4解密算法(第一解密算法),P0表示第一用户密码。
实施方式B可以包括但不限于下述S3021和S3022。
S3021、第一设备基于所述第一用户密码生成与所述第一用户密码对应的***密码。
第一设备采用第二密码生成算法,根据第一用户密码生成与第一用户密码对应的***密码。
本申请实施对第二密码生成算法的算法类型不作限定,可以根据实际需求进行配置。其中,第二密码生成算法可以与第一密码生成算法相同,也可以与第一密码生成算法不同。
例如,***密码P1可以通过下述公式(2)得到。
P1=GEMPSW(SM3(SALT0+P0)) 公式(2);
其中,P1表示***密码,GEMPSW表示随机生成密码算法,SM3表示加盐哈希算法,SALT0表示盐值,P0表示第一用户密码,GEMPSW和SM3构成第二密码生成算法。
S3022、第一设备通过所述***密码解密所述第一加密数据,得到所述第一用户密码因子。
第一设备调用第二解密算法,通过该***密码解密第一加密数据得到第一用户密码因子。
例如,第一用户密码因子可以通过下述公式(3)得到。
S1=SM4DECRYPT(D1,P1) 公式(3);
其中,S1表示第一用户密码因子,SM4ENCRYPT表示SM4解密算法,D1表示第一加密数据,P1表示***密码。
可选的,第一设备得到第一加密数据的过程可以包括但不限于下述实施方式A1或实施方式B1。
实施方式A1对应实施例A,通过第一用户密码加密得到第一加密数据;
实施方式B1对应实施例B,通过第一用户密码生成的***密码加密得到第一加密数据。
实施方式A1可以包括:第一设备调用第二加密算法,通过第一用户密码加密第一用户密码因子,得到第一加密数据。
例如,第一加密数据可以通过下述公式(4)得到。
D1=SM4ENCRYPT(S1,P0) 公式(4);
其中,D1表示第一加密数据,SM4ENCRYPT表示SM4加密算法(第二加密算法),S1表示第一用户密码因子,P0表示第一用户密码。
实施方式B1可以包括:第一设备采用第二密码生成算法,根据第一用户密码生成与第一用户密码对应的***密码;然后第一设备调用第二加密算法,通过该***密码加密第一用户密码因子,得到第一加密数据。
例如,***密码P1可以通过下述公式(2)得到,第一加密数据D1可以通过下述公式(5)得到。
P1=GEMPSW(SM3(SALT0+P0)) 公式(2)
D1=SM4ENCRYPT(S1,P1) 公式(5);
其中,D1表示第一加密数据,SM4ENCRYPT表示SM4加密算法,S1表示第一用户密码因子,P1表示与第一用户密码对应的***密码。
实施方式B1的方案中,没有通过第一用户密码加密第一用户密码因子,而是通过第一用户密码生成的***密码加密第一用户密码因子,这样实现了多层加密,更加安全,实施方式A与实施方式B相比,实施方式B具有较高的安全性,实施方式A的实现较简单。
下面,对304第一设备至少基于所述第一用户密码因子,生成第一密码的过程进行说明,该过程可以包括但不限于下述实施方式A2或实施方式B2。
实施方式A2、基于第一用户密码因子生成第一密码;
实施方式B2、基于第一用户密码因子和针对目标对象的对象密码因子生成第一密码。
实施方式A2可以包括:第一设备采用第一密码生成算法,根据第一用户密码因子生成第一密码。
示例性的,第一密码生成算法可以包括哈希算法和随机生成密码算法。对应的,实施方式A2可以实施为:第一设备将第一用户密码因子经过哈希算法得到哈希值后,采用随机密码生成算法截断该哈希值的前128位作为第一密码。
例如,第一密码P3可以通过公式(6)得到。
P3=GENPSW(SM3(S1)) 公式(6);
其中,P3表示第一密码,GENPSW表示随机密码生成算法,SM3表示哈希算法,S1表示第一用户密码因子,SM3(S1)表示将第一用户密码因子经过哈希算法得到哈希值。
对于实施方式B2,本申请是实施例提供的数据处理方法还可以包括如图4所示的S306。
S306、第一设备获得针对所述目标对象的对象密码因子。
对象密码因子为针对对象的密码因子,或者说为对象级别的密码因子。
为了便于描述,下面将针对目标对象的对象密码因子简称为对象密码因子。
对应的,实施方式B2可以包括:第一设备采用第一密码生成算法,根据第一用户密码因子和对象密码因子,生成第一密码。
示例性的,第一密码生成算法可以包括加盐哈希算法和随机生成密码算法。
例如,第一设备可以将第一用户密码因子和对象密码因子组合后经过加盐哈希算法得到哈希值后,采用随机密码生成算法截断该哈希值的前128位作为第一密码。
例如,第一密码P3还可以通过公式(7)得到。
P3=GENPSW(SM3(S1+S2+SALT0)) 公式(7);
其中,P3表示第一密码,GENPSW表示随机密码生成算法,SM3表示加盐哈希算法,S1表示第一用户密码因子,S2表示对象密码因子,SALT0表示盐值,SM3(S1+S2+SALT0)表示将第一用户密码因子和对象密码因子组合后经过加盐哈希算法得到哈希值。
下面,对S306第一设备获得针对目标对象的对象密码因子的实现做详细说明。该过程可以包括但不限于下述实施方式A3或实施方式B3。
实施方式A3、针对加密过程,第一设备创建针对目标对象的对象密码因子。
实施方式B3、针对解密过程,第一设备解密第二加密数据得到对象密码因子。
实施方式A3可以包括:第一设备针对目标对象创建一个对象密码因子,作为针对目标对象的对象密码因子。
本申请实施例对创建对象密码因子的算法不作唯一限定。例如,创建对象密码因子的算法可以包括随机算法、或者哈希算法等等。
创建对象密码因子的算法可以与创建第一用户密码因子的算法相同,也可以与创建第一用户密码因子的算法不同。
可选的,在创建对象密码因子后,第一设备可以将对象密码因子加密存储。
第一设备针对目标对象生成第二密码,第一设备基于第二密码加密对象密码因子,得到第二加密数据,保存第二加密数据。
第一设备基于第二密码加密对象密码因子,可以包括:第一设备调用第四加密算法,通过第二密码加密对象密码因子;或者,第一设备基于第二密码生成第三密码,通过第三密码加密对象密码因子。
实施方式B3可以包括:第一设备基于第二密码解密第二加密数据,得到对象密码因子。
一种可能的实施方式中,加密对象密码因子的加密密码为第二密码的情况下,第一设备调用第四解密算法,通过第二密码解密第二加密数据,得到对象密码因子。
另一种可能的实施方式中,加密对象密码因子的加密密码为基于第二密码生成的第三密码的情况下,第一设备调用第四解密算法,通过第三密码解密第二加密数据得到对象密码因子。
下面,对实施方式B2基于第一用户密码因子和针对目标对象的对象密码因子生成第一密码的过程进行说明,具体可以包括但不限于图5所示的S3031至S3033。
S3031、第一设备将所述第一用户因子与所述对象密码因子之和组装为密码字符串。
S3032、第一设备对所述密码字符串进行加盐哈希计算,得到密码哈希值。
其中,可以根据实际需求皮遏制加盐哈希算法中的具体盐值,本申请实施例对此不予具体限定。
S3033、第一设备截断所述密码哈希值的前W位,生成所述第一密码。
本申请实施例对W的具体取值不作限定,可以根据实际需求进行配置。在一示例中W可以为128。
第一设备通过GEMPSW算法截断密码哈希值的前W位,生成第一密码。
本申请实施例提供的数据处理方法,还可以修改第一用户的用户密码,现以将第一用户密码修改为第二用户密码为例,对用户密码的修改过程进行说明。
该过程可以包括但不限于图6所示的S307至S309。
S307、第一设备在接收到第二用户密码的情况下,获取第二用户密码因子。
第一用户密码因子和第二用户密码因子的内容相同。
S308、第一设备基于接收的第二用户密码加密所述第二用户密码因子,得到第三加密数据。
S308的实施可以参考注册过程中得到第一加密数据的具体描述,此处不再一一赘述。
S309、第一设备基于所述第三加密数据对所述第一加密数据进行更新。
第一设备将第一加密数据更新为该第三加密数据。
这样,在将用户密码由第一用户密码修改为第二用户密码后,只需根据第一用户密码生成第三加密数据,再将第一加密数据更新为第三加密数据,就可以完成修改密码后的文件修改过程;与现有技术相比,由于现有技术在修改用户密码后,需要将源加密文件进行解密,然后采用修改后的用户密码加密,以完成文件的更新;所以,本申请的方案实现简单、便捷,尤其是针对大量存储的场景,实现更加便捷。
进一步的,在执行S307之前,可以先进行一次性密码(One Time Password,OTP)验证。
例如,在注册过程中,第一设备还接收并存储了针对第一用户第一手机号。
第一设备基于第一手机号进行OTP验证,若验证成功则执行S307,若验证失败,则结束。
下面,对S307第一设备获取第二用户密码因子的情况做详细说明,具体可以包括但不限于图7所示的S3071至S3076。
S3071、第一设备发送所述第四加密数据至所述第二设备或第三设备。
在一种可能的实施方式中,S3071可以实施为:第一设备发送第四加密数据至第二设备。
在另一种可能的实施方式中,S3071可以实施为:第一设备发送第四加密数据至第三设备。
需要说明的是,执行S3071之前,本申请实施例提供的数据处理方法还包括生成第四加密数据的过程。
第一设备生成第四加密数据的过程可以包括但不限于S3070和S3070A。
S3070、第一设备接收针对第二设备的第一公钥。
第二设备会生成一组公私钥对(第一公钥和第一私钥),第二设备将第一公钥发送至第一设备,第一设备接收针对第二设备的第一公钥。
可选的,第一设备还可以生成一组公私钥对(第二公钥和第二私钥),第一设备将第二公钥发送至第二设备,第二设备接收第二公钥。
S3070A、第一设备采用第一公钥加密第一用户密码因子,得到第四加密数据。
S3072A、第二设备接收第四加密数据,并采用第一私钥解密第四加密数据,得到第二用户密码因子。
S3072B、第三设备接收第四加密数据,在可信执行环境(Trusted ExecutionEnvironment,TEE)下采用第一私钥解密第四加密数据,得到第二用户密码因子。
需要说明的是,在执行S3072B之前,第二设备将第一私钥发送至第三设备,第一设备将第二公钥发送至第三设备。
S3073A、第二设备将第二用户密码因子通过第二公钥加密后,得到第五加密数据。
S3073B、第三设备在TEE下,将第二用户密码因子通过第二公钥加密后,得到第五加密数据。
S3074A、第二设备将第五加密数据发送至第一设备。
S3074B、第三设备将第五加密数据发送至第一设备。
S3075、第一设备接收第五加密数据。
一种可能的实施方式中,第一设备接收第二设备发送的第五加密数据。
另一种可能的实施方式中,第一设备接收第三设备发送的第五加密数据。
S3076、第一设备通过针对所述第二公钥对应的第二私钥解密所述第五加密数据,得到所述第二用户密码因子。
需要说明的是,本申请实施例对采用公钥加密数据的公钥加密算法,采用私钥解密数据的私钥解密算法不作具体限定可以根据实际需求进行配置。例如,公钥加密算法可以包括但不限于:SM2公钥加密算法,罗纳德·李维斯特、阿迪·萨莫尔和伦纳德·阿德曼(Ron Rivest、Adi Shamir、Leonard Adleman,RSA)公钥加密算法;私钥解密算法可以包括但不限于:SM2私钥解密算法,RSA私钥解密算法。
这样,第一设备存储加密的第一用户密码因子,但是第一设备自身不具有解密能力,且第一设备与第二设备之间的通信数据均以加密,所以该方法获取第二用户密码因子,安全性较高。
下面,通过具体的应用场景对本申请实施例提供的数据处理方法进行说明。
为了便于理解,先对部分技术属于进行解释。
SM2算法:指椭圆曲线公钥密码算法,是一种非对称加密算法。
SM3算法:指密码散列函数标准,是一种哈希算法。
SM4算法:指分组密码标准,是一种国产对称加密算法。
在加密存储过程中,包括加密与解密过程。对于加密与解密过程,第一种方案是通过设备的内置随机密码对文件进行加密或解密;第二种方案是直接通过用户密码对文件本进行加密或解密。
上述第一种方案无法让用户密码参与到加密的过程。理论上来说,提供加密或解密的机构有解密文本的能力,所以安全性较低。
上述第二种方案能做到用户密码直接参与文件加密的过程,如果实现是需要存储用户独立密码,则其安全性同样依赖于密码存储的方案。如果该方法无需存储用户密码直接通过客户端加密完成后上送加密文件,在一定程度上,能做到相对安全,且文件存储机构无法做到“监守自盗”。但却影响其可用性,用户密码的丢失,加密内容将无法还原,且无法提供类似独立密码修改的功能。
依赖于移动端可信执行环境方案,一定程度上做到“密钥仅用户持有”;但当用户设备更换的情况下数据解密会成为问题,而且不支持用户显示设置密码。
本申请对此做如下改进:
1、支持用户自定义密码“间接”参与加密过程,通过使用用户密码加密***内置密码的方式,让用户密码参与到文件加密的过程。保证用户隐私安全的同时,支持用户密码的修改与重置。且密码的修改对存量数据无影响,无需先解密存量数据再加密,兼顾可用性同时保证了性能。
2、区别于传统TEE方案,引入(无商业利益冲突的)第三方可信证书机构作为TEE证书服务商。在移动端使用的场景,使用TEE特性的同时支持设备更换,同时兼容移动端(相当于第三设备,也可以称为终端设备)与非移动端(相当于第二设备,也可以称为认证设备)共用密钥的场景。
为了方便理解,对部分算法(函数)做简单解释。
SM3(X),使用SM3计算X的哈希值;
GENPSW(X),截断X前128bit作为SM4使用的密码;
SM4ENCRYPT(S,P),SM4算法采用P加密S;
SM4DECRYPT(D,P),SM4算法P解密D;
SM2ENCRYPT(S,PUK),SM2算法采用公钥(PUK)加密S;
SM2DECRYPT(D,PRK),SM2算法采用私钥(PRK)解密D。
本申请实施例提供的数据处理方法可以包括但不限于下注册过程、校验密码过程、加密过程、解密过程、密码修改过程、和移动端设备更换过程。
下面,对注册过程进行说明:
用户在第一设备上注册使用文件托管服务***(以下简称本***)需要设置用户独立密码P0(相当于第一用户密码)与用于OTP认证的用户手机号。本***创建用户ID的同时会创建用户级别的随机密码因子S1(相当于第一用户密码因子),本***会使用用户独立密码P0通过加盐哈希算法(SM3算法)并截断前128位(bit)的方式生成***密码P1。采用SM4算法通过P1加密S1的到密文D1(相当于第一加密数据)。
例如,P1可以通过上述公式(2)得到,D1可以通过上述公式(5)得到。
P1=GEMPSW(SM3(SALT0+P0)) 公式(2);
D1=SM4ENCRYPT(S1,P1) 公式(5)。
用户注册完成,本***会生成公私钥对<PUK0,PRK0>(PUK0为本***的公钥,PRK0为本***的私钥)(相当于第二公钥和第二私钥),,将用户信息(包括手机号以及PUK0)传给第三方证书机构登记(相当于第二设备或者认证设备),第三方证书机构负责登记并生成用户级别的公私钥对<PUK1,PRK1>(PUK1为第三方证书机构的公钥,PRK1为第三方证书机构的私钥)(相当于第一公钥和第一私钥))。第三方证书机构将PUK1下发到本***,本***使用SM2算法通过PUK1对S1进行加密得到密文D2(相当于第四加密数据)。
可选的,针对移动端设备(相当于第三设备)的TEE场景,第三方证书机构注入PRK1以及PUK0到用户TEE;针对非TEE场景,无需注入。D2相当于用户因子S1在本***中的备份,但解密用的密码存储于第三方证书机构与TEE环境,从而保证本***无法直接解密D2还原密码因子S1。用户独立密码P0全程不记录,用完即销毁。最后使用SM4通过P1加密用户ID加密得到密文D3(相当于用户标识数据),存储D1、D2、D3、PRK0、PUK1。
例如,D2可以通过公式(8)得到,D3可以通过公式(9)得到。
D2=SM2ENCRYPT(S1,PUK1) 公式(8);
其中,D2表示得到的密文,SM2ENCRYPT表示SM2加密算法,S1表示用户级别的随机密码因子,PUK1表示第三方证书机构的公钥。
D3=SM4ENCRYPT(ID,P1) 公式(9);
其中,D3表示得到的密文,SM4ENCRYPT表示SM4加密算法,ID表示用户标识,P1表示***密码。
校验密码过程可以包括:
所有后续加密或解密相关方法均需要用户传入独立密码P0(此操作可由其他前置***完成,用户只用输入一遍后缓存至服务器)。本***通过P0得到P1,根据P1解密(SM4)D3的到明文字符串S,校验S与用户ID是否相等,若相等则认为校验成功,若不相等,则校验失败。
例如,P1可以通过公式(2)得到,ID’可以通过公式(10)得到。
P1=GENPSW(SM3(SALT0+P0)) 公式(2);
ID’=SM4DECRYPT(D3,P1) 公式(10);
其中,ID’表示预测用户标识,SM4DECRYPT表示SM4解密算法,D3表示密文,SALT0表示盐值,P1表示***密码。
加密过程可以包括:
用户上传待加密文件F0(相当于目标对象)及用户独立密码P0,本***在用户密码正确的前提下,创建对应文件ID后本***生成文件级别的密码因子S2(相当于对象密码因子)以及与其对应的文件密码P2(相当于第二密码)。本***通过对P0还原P1,使用P1解密D1还原出用户因子S1,通过S1+S2组装新的字符串S3,通过加盐哈希算法(SM3算法)截断S3前128位得到密码P3(相当于第一密码),采用SM4算法通过P3加密F0(相当于第一目标对象)得到加密文件F1;将密码P2通过SM3算法截取前128bit计算得到密码P4,采用SM4加密通过P4加密S2得到密文D4(相当于第二加密数据),本***记录F1、P2以及D4。
例如,P1可以通过公式(2)得到,S1可以通过公式(3)得到,S3可以通过公式(11)得到,P3可以通过公式(12)得到,F1可以通过公式(13)得到,P4可以通过公式(14)得到密码,D4可以通过公式(15)得到。
P1=GEMPSW(SM3(SALT0+P0)) 公式(2);
S1=SM4DECRYPT(D1,P1) 公式(3);
S3=SALT1+S1+S2公式11;
其中,S3表示新的字符串,SALT1表示盐值,S1表示用户级别的随机密码因子,S2表示文件级别的密码因子。
P3=GENPSW(SM3(S3)) 公式(12);
其中,P3表示得到的密码,GENPSW表示随机密码生成算法,SM3表示加盐哈希算法,S3表示新的字符串。
F1=SM4ENCRYPT(F0,P3) 公式(13);
其中,F1表示得到加密文件,SM4ENCRYPT表示SM4加密算法,F0表示待加密文件,P3表示加密密码。
P4=GENPSW(SM3(SALT2+P2) 公式(14);
其中,P4表示得到的密码,GENPSW表示随机密码生成算法,SM3表示加盐哈希算法,SALT2表示盐值,P2表示文件密码。
D4=SM4ENCRYPT(S2,P4) 公式(15);
其中,D4表示得到的文件,SM4ENCRYPT表示SM4加密算法,S2表示文件级别的密码因子,P4表示加密密码。
解密过程可以包括:
用户指定需要获取的文件ID与独立密码P0。本***在用户密码校验正确的前提下,通过对P0还原P1,使用P1解密D1还原出用户因子S1。本***通过密码P2还原密码P4,通过P4解密D2得到因子S2。
本***通过S1与S2使用与加密过程相同的方式组装密码P3。使用P3对加密文件F1(相当于第二目标对象)进行解密还原原始文件F0供用户使用。
例如,P1可以通过公式(2)得到,S1可以通过公式(3)得到,P4可以通过公式(14)得到,S2可以通过公式(16)得到,S3可以通过公式(11)得到,P3可以通过公式(12)得到,F0可以通过公式(17)得到。
P1=GENPSW(SM3(SALT0+P0) 公式(2);
S1=SM4DECRYPT(D1,P1) 公式(3);
P4=GENPSW(SM3(SALT2+P2) 公式(14);
S2=SM4DECRYPT(D4,P4) 公式(16);
其中,S2表示文件级别的密码因子,SM4DECRYPT表示SM4解密算法,D4表示加密S2的密文,P4表示加密密码。
S3=SALT1+S1+S2 公式(11);
P3=GENPSW(SM3(S3)) 公式(12);
F0=SM4DECRYPT(F1,P3) 公式(17);
其中,F0表示解密后的原始文件,SM4DECRYPT表示SM4解密算法,F1表示加密F0的密文,P3表示解密密码。
密码修改过程可以包括:
非移动端(非TEE环境,或者认证设备或者第二设备)发起的场景:需要进行OTP短信验证。验证通过,并确认校验成功后,得到用户输入的新密码P0’,发送D2给第三方可信证书机构,第三方可信证书机构使用PRK1解密D2得到S1,第三方可信证书机构使用PUK0加密S1回传本***(保证传输过程的安全)。
移动端TEE发起的场景:可以无需OTP验证,使用TEE中的PRK1解密D2得到S1,使用PUK0加密S1回传本***。
本***接收回传文件,并使用PRK0解密得到S1,使用与注册过程相同的方式生成P1’,并使用P1’加密S1得到新的密文D1’,用D1’替换D1。如此,后续可以使用新的用密码P0’(相当于第二用户密码)进行加密、解密,通过用户密码间接参与加密过程,在兼顾可用性的同时支持密码更换,且密码更换无需重新加密或解密已经入库的文件(F1),对比传统方案大大的节省了性能的开销。
例如,针对TEE或第三方可信证书机构,S1可以通过公式(18)得到,S1_ENCRYPTED可以通过公式(19)得到,S1可以通过公式(20)得到,P1’可以通过公式(21)得到。
S1=SM2DECRYPT(D2,PRK1) 公式(18);
其中,S1表示用户级别的随机密码因子,SM2DECRYPT表示SM2解密算法,D2表示加密S1的密文,PRK1表示第三方可信证书机构的私钥。
S1_ENCRYPTED=SM2ENCRYPT(S1,PUK0) 公式(19);
其中,S1_ENCRYPTED表示得到的密文,SM2DECRYPT表示SM2加密算法,S1表示用户级别的随机密码因子,PUK0表示本***的公钥。
例如,针对本***,S1可以通过公式(20)得到,P1’可以通过公式(21)得到,D1’可以通过公式(22)得到。
S1=SM2DECRYPT(S1_ENCRYPTED,PRK0) 公式(20);
其中,S1表示用户级别的随机密码因子,SM2DECRYPT示SM2解密算法,S1_ENCRYPTED表示加密S1的密文,PRK0表示本***的私钥。
P1’=GENPSW(SM3(SALT0+P0’)) 公式(21);
其中,P1’表示更新后的***密码,GENPSW表示随机密码生成算法,SM3表示加盐哈希算法,SALT0表示盐值,P0’表示修改后的用户密码。
D1’=SM4ENCRYPT(S1,P1’) 公式(22);
其中,D1’表示得到的密文,SM4ENCRYPT表示SM4加密算法,S1表示用户级别的随机密码因子,P1’表示更新后的***密码。
移动端设备更换过程可以包括:
在验证用户密码P0成功的前提下,通知第三方可信证书机构重新注入PRK1与PUK0到信的移动设备的TEE中。
需要说明的是本***提供开放的(Open)API方式通过使用本***分配的第三方应用程序以及密码动态刷新机制鉴权,移动端使用的场景也依托于一个中间服务访问本***使用同样的机制。
设备更换如需将原设备置为失效,然后重新走注册流程重新生成新的公私钥对<PUK1’,PRK1’>,并更新本***中D2为D2’,将新的PRK1’与PUK0注入到新设备。
加盐哈希的盐值在本***中维护,外部无法直接还原。不同流程中的盐值可以相同,也可以不同。
为实现上述数据处理方法,本申请实施例的一种数据处理装置,下面结合图8所示的数据处理装置的结构示意图进行说明。
如图8所示,数据处理装置80包括:预测单元801、获得单元802(为了便于区分也可以称为第一获得单元802)、解密单元803、生成单元804和处理单元805。其中:
预测单元801,用于基于接收的第一用户密码解密用户标识数据,得到预测用户标识;
获得单元802,用于获得与所述第一用户密码关联的实际用户标识;
解密单元803,用于若所述预测用户标识与所述实际用户标识相同,则确定所述第一用户密码校验成功,基于所述第一用户密码解密第一加密数据,得到第一用户密码因子,所述第一加密数据包括被加密的第一用户密码因子;
生成单元804,用于至少基于所述第一用户密码因子,生成第一密码;
处理单元805,用于通过所述第一密码对目标对象进行加密或解密。
在一些实施例中,解密单元803还用于:
基于所述第一用户密码生成与所述第一用户密码对应的***密码;所述***密码为与所述第一用户密码对应的针对***的密码;通过所述***密码解密所述第一加密数据,得到所述第一用户密码因子。
在一些实施例中,数据处理装置80还包括第二获得单元。
获得单元,用于获得针对所述目标对象的对象密码因子;
对应的,生成单元804,用于基于所述第一用户密码因子和所述对象密码因子,生成所述第一密码。
在一些实施例中,获得单元还用于:基于第二密码解密第二加密数据,得到所述对象密码因子,所述第二加密数据包括被加密的所述对象密码因子。
在一些实施例中,生成单元804还用于:
将所述第一用户因子与所述对象密码因子之和组装为密码字符串;
对所述密码字符串进行加盐哈希计算,得到密码哈希值;
截断所述密码哈希值的前W位,生成所述第一密码。
在一些实施例中,数据处理装置80还包括密码修改单元。
密码修改单元,用于在接收到第二用户密码的情况下,获取第二用户密码因子,所述第一用户密码因子和所述第二用户密码因子的内容相同;
基于接收的第二用户密码加密所述第二用户密码因子,得到第三加密数据;基于所述第三加密数据对所述第一加密数据进行更新。
数据处理装置80还包括通信单元。
通信单元,用于接收针对认证设备的第一公钥;采用所述第一公钥加密所述第一用户密码因子,得到第四加密数据;
密码修改单元,还用于发送所述第四加密数据至所述认证设备或终端设备;接收第五加密数据,所述第五加密数据包括通过第二公钥加密的第二用户密码因子,所述第二公钥是针对所述第一设备的公钥;通过针对所述第二公钥对应的第二私钥解密所述第五加密数据,得到所述第二用户密码因子。
需要说明的是,本申请实施例提供的数据处理装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
为实现上述数据处理方法,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的数据处理方法中的步骤。
下面结合图9所示的电子设备90,对电子设备的结构图进行说明。
在一示例中,电子设备90可以为上述第一设备。如图9所示,所述电子设备90包括:一个处理器901、至少一个通信总线902、用户接口903、至少一个外部通信接口904和存储器905。其中,通信总线902配置为实现这些组件之间的连接通信。其中,用户接口903可以包括显示屏,外部通信接口904可以包括标准的有线接口和无线接口。
存储器905配置为存储由处理器901可执行的指令和应用,还可以缓存待处理器901以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
第四方面,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法应用于第一设备,所述方法包括:
基于接收的第一用户密码解密用户标识数据,得到预测用户标识;
获得与所述第一用户密码关联的实际用户标识;
若所述预测用户标识与所述实际用户标识相同,则确定所述第一用户密码校验成功,基于所述第一用户密码解密第一加密数据,得到第一用户密码因子,所述第一加密数据包括被加密的第一用户密码因子;
至少基于所述第一用户密码因子,生成第一密码;
通过所述第一密码对目标对象进行加密或解密。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一用户密码解密第一加密数据,得到第一用户密码因子,包括:
基于所述第一用户密码生成与所述第一用户密码对应的***密码;所述***密码为与所述第一用户密码对应的针对***的密码;
通过所述***密码解密所述第一加密数据,得到所述第一用户密码因子。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得针对所述目标对象的对象密码因子;
所述至少基于所述第一用户密码因子,生成第一密码,包括:
基于所述第一用户密码因子和所述对象密码因子,生成所述第一密码。
4.根据权利要求3所述的方法,其特征在于,所述获得针对所述目标对象的对象密码因子,包括:
基于第二密码解密第二加密数据,得到所述对象密码因子,所述第二加密数据包括被加密的所述对象密码因子。
5.根据权利要求3所述的方法,其特征在于,所述基于所述第一用户密码因子和所述对象密码因子,生成所述第一密码,包括:
将所述第一用户因子与所述对象密码因子之和组装为密码字符串;
对所述密码字符串进行加盐哈希计算,得到密码哈希值;
截断所述密码哈希值的前W位,生成所述第一密码。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到第二用户密码的情况下,获取第二用户密码因子,所述第一用户密码因子和所述第二用户密码因子的内容相同;
基于接收的第二用户密码加密所述第二用户密码因子,得到第三加密数据;
基于所述第三加密数据对所述第一加密数据进行更新。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收针对第二设备的第一公钥;
采用所述第一公钥加密所述第一用户密码因子,得到第四加密数据;
所述获得所述第二用户密码因子,包括:
发送所述第四加密数据至所述第二设备或第三设备;
接收第五加密数据,所述第五加密数据包括通过第二公钥加密的第二用户密码因子,所述第二公钥是针对所述第一设备的公钥;
通过针对所述第二公钥对应的第二私钥解密所述第五加密数据,得到所述第二用户密码因子。
8.一种数据处理装置,其特征在于,所述装置部署于第一设备;所述装置包括:
预测单元,用于基于接收的第一用户密码解密用户标识数据,得到预测用户标识;
获得单元,用于获得与所述第一用户密码关联的实际用户标识;
解密单元,用于若所述预测用户标识与所述实际用户标识相同,则确定所述第一用户密码校验成功,基于所述第一用户密码解密第一加密数据,得到第一用户密码因子,所述第一加密数据包括被加密的第一用户密码因子;
生成单元,用于至少基于所述第一用户密码因子,生成第一密码;
处理单元,用于通过所述第一密码对目标对象进行加密或解密。
9.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任一项所述数据处理方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现权利要求1至7任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163126.7A CN114117406A (zh) | 2021-09-30 | 2021-09-30 | 一种数据处理方法、装置、设备及存储介质 |
PCT/CN2022/120112 WO2023051337A1 (zh) | 2021-09-30 | 2022-09-21 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163126.7A CN114117406A (zh) | 2021-09-30 | 2021-09-30 | 一种数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114117406A true CN114117406A (zh) | 2022-03-01 |
Family
ID=80441292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111163126.7A Pending CN114117406A (zh) | 2021-09-30 | 2021-09-30 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114117406A (zh) |
WO (1) | WO2023051337A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023051337A1 (zh) * | 2021-09-30 | 2023-04-06 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN117728958A (zh) * | 2024-02-05 | 2024-03-19 | 浙江大华技术股份有限公司 | 一种通信方法、装置和*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656476B (zh) * | 2017-01-18 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 一种密码保护方法、装置及计算机可读存储介质 |
CN106686008B (zh) * | 2017-03-03 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 信息存储方法及装置 |
CN110401538B (zh) * | 2018-04-24 | 2022-04-22 | 北京握奇智能科技有限公司 | 数据加密方法、***以及终端 |
CN109547201B (zh) * | 2018-12-14 | 2023-04-14 | 平安科技(深圳)有限公司 | 一种根密钥的加密方法、计算机可读存储介质及终端设备 |
CN111079128B (zh) * | 2019-12-11 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN114117406A (zh) * | 2021-09-30 | 2022-03-01 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111163126.7A patent/CN114117406A/zh active Pending
-
2022
- 2022-09-21 WO PCT/CN2022/120112 patent/WO2023051337A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023051337A1 (zh) * | 2021-09-30 | 2023-04-06 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN117728958A (zh) * | 2024-02-05 | 2024-03-19 | 浙江大华技术股份有限公司 | 一种通信方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
WO2023051337A1 (zh) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
US10601585B1 (en) | Methods and apparatus for blockchain encryption | |
US11880831B2 (en) | Encryption system, encryption key wallet and method | |
CN108199835B (zh) | 一种多方联合私钥解密方法 | |
CN111130803B (zh) | 数字签名的方法、***及装置 | |
WO2022199290A1 (zh) | 多方安全计算 | |
WO2019210706A1 (en) | Systems, devices, and methods for hybrid secret sharing | |
US11874935B2 (en) | Protecting data from brute force attack | |
KR101985179B1 (ko) | 블록체인 기반의 ID as a Service | |
CN106941404B (zh) | 密钥保护方法及装置 | |
US11128452B2 (en) | Encrypted data sharing with a hierarchical key structure | |
WO2023051337A1 (zh) | 数据处理方法、装置、设备及存储介质 | |
CN109525388B (zh) | 一种密钥分离的组合加密方法及*** | |
CN112115461B (zh) | 设备认证方法、装置、计算机设备和存储介质 | |
JP2015500585A (ja) | グループメンバーによるグループシークレットの単純化された管理 | |
CN113239403A (zh) | 一种数据共享方法及装置 | |
CN111342955A (zh) | 一种通信方法及其设备、计算机存储介质 | |
CN111970114A (zh) | 文件加密方法、***、服务器和存储介质 | |
CN113868684A (zh) | 一种签名方法、装置、服务端、介质以及签名*** | |
CN113609522A (zh) | 数据授权及数据访问方法和装置 | |
Reshma et al. | Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications | |
EP3627361B1 (en) | Media content control | |
KR102269753B1 (ko) | 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 | |
US11570008B2 (en) | Pseudonym credential configuration method and apparatus | |
CN112019335A (zh) | 一种基于sm2算法的多方协同加解密方法及装置、***、介质 |
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 |