CN117390687B - 敏感数据查询方法、装置、存储介质和电子设备 - Google Patents
敏感数据查询方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN117390687B CN117390687B CN202311685699.5A CN202311685699A CN117390687B CN 117390687 B CN117390687 B CN 117390687B CN 202311685699 A CN202311685699 A CN 202311685699A CN 117390687 B CN117390687 B CN 117390687B
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- queried
- way function
- random parameters
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000006870 function Effects 0.000 claims abstract description 130
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 101000686026 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) DNA-directed RNA polymerases I, II, and III subunit RPABC2 Proteins 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种敏感数据查询方法、装置、存储介质和电子设备,属于信息安全技术领域。该方法包括:获取待查询数据;基于所述待查询数据获取对应的随机参数、单向函数和特征数据;按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据;查询所述转换后数据是否存在于所述特征数据中,并输出查询结果。本申请可以提高在密文状态下的敏感数据查询过程中的安全性。
Description
技术领域
本申请涉及信息安全技术领域,更具体地,涉及一种敏感数据查询方法、装置、存储介质和电子设备。
背景技术
在信息传输或存储的过程中,为了确保敏感数据的安全,通常都会对敏感数据进行加密。而在进行数据查阅的过程中,通常需要将加密后的敏感数据进行解密,以对解密后的数据进行查阅。
传统的技术主要聚焦在如何提高对敏感数据的加密手段,确保数据的安全。但是进行敏感数据搜索的过程中,由于始终需要进行敏感数据解密后才能搜索查阅,这使得敏感数据被解密后,仍然存在敏感数据泄露的风险。尤其是在敏感数据量十分庞大的情况下,在进行对庞大的敏感数据进行解密时也非常耗费性能,导致用户不得不等待漫长的时间,体验极其差。
发明内容
有鉴于此,有必要提供一种新的敏感数据查询方法、装置、存储介质和电子设备,以提高敏感数据在查询过程中的安全性和快速性。
本申请第一方面,提供了一种敏感数据查询方法,所述方法包括:获取待查询数据;基于所述待查询数据获取对应的随机参数、单向函数和特征数据;按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据;查询所述转换后数据是否存在于所述特征数据中,并输出查询结果。
在其中一个实施例中,在所述获取待查询数据之前,还包括:
获取明文数据,所述明文数据中包含与所述待查询数据对应的目标数据;
按照所述单向函数将所述明文数据与所述随机参数进行运算,得到所述特征数据。
在其中一个实施例中,在所述获取明文数据之后,所述方法还包括:将所述明文数据进行第一加密,形成加密数据;将所述随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数。
所述基于所述待查询数据获取对应的随机参数、单向函数和特征数据,包括:基于所述待查询数据获取对应的加密后的随机参数、加密后的单向函数和特征数据;根据与所述第二加密相匹配的解密模式对所述加密后的随机参数和/或加密后的单向函数进行解密,得到解密后的随机参数和/或解密后的单向函数。
在其中一个实施例中,在所述按照所述单向函数将所述明文数据与所述随机参数进行运算之前,还包括:基于所述明文数据确定所述随机参数和/或所述单向函数。
在其中一个实施例中,所述将所述随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数,包括:基于所述加密数据对所述随机参数和/或所述单向函数进行加密,形成加密后的随机参数和/或加密后的单向函数。
在其中一个实施例中,所述按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据,包括:
将所述待查询数据进行分割,按照所述单向函数将每个分割后的数据与所述随机参数进行运算,从得到的运算结果中提取出预设位数的字节,使得每个分割后的数据对应一个提取出的预设位数的字节;
将提取出的每个字节进行拼接,形成所述转换后数据。
在其中一个实施例中,所述查询所述转换后数据是否存在于所述特征数据中,包括:
检测每个提取出的字节是否存在于所述特征数据中。
本申请第二方面,提供了一种敏感数据查询装置,所述装置包括:
数据获取模块,用于获取待查询数据;
数据转换模块,用于基于所述待查询数据获取对应的随机参数、单向函数和特征数据;按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据;
查询模块,用于查询所述转换后数据是否存在于所述特征数据中,并输出查询结果。
本申请第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如本申请任意实施例中所述的方法。
本申请第四方面,提供了一种计算机存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如本申请任意实施例中所述的方法。
上述的敏感数据查询方法、装置、存储介质和电子设备,通过预先存储目标数据对应的特征数据,在针对已经被加密了的目标数据的检索时,对所输入的待查询数据进行转换,得到待查询数据对应的转换后数据,进而在特征数据中来查询转换后数据是否存在,得到转换后数据是否在特征数据中是否存在的结果,将该结果作为待查询数据是否存在于目标数据的结果。从而可以避免对目标数据的解密再查询,避免了目标数据在解密过程中可能导致目标数据被泄露的风险,提高了在密文状态下的目标数据的安全性。在保证了目标数据的安全性的前提下,由于无需对目标数据进行解密,还可以进一步提高查询的速度,进而提高了用户的使用体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请范围的限定。
图1为一个实施例中敏感数据查询方法的流程图;
图2为另一个实施例中敏感数据查询方法的流程图;
图3为一个实施例中敏感数据查询装置的结构框图;
图4为另一个实施例中敏感数据查询装置的结构框图;
图5为一个实施例中电子设备的内部结构图。
具体实施方式
以下,将参照附图来描述本申请的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本申请的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了相应特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
另外,本文中尽管多次采用术语“第一”、“第二”等来描述各种元件(或各种阈值或各种应用或各种指令或各种操作)等,不过这些元件(或阈值或应用或指令或操作)不应受这些术语的限制。这些术语只是用于区分一个元件(或阈值或应用或指令或操作)和另一个元件(或阈值或应用或指令或操作)。例如,第一阈值可以称为第二阈值,第二阈值也可以称为第一阈值,而不脱离本发明的范围,第一阈值和第二阈值二者并不是相同的数值而已。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在一个实施例中,提供了一种敏感数据查询方法,如图1所示,该方法包括:
步骤102,获取待查询数据。
本实施例中,待查询数据可为用户在查询端所输入的数据,该数据可为任何想要查询的敏感数据。比如可为用户自身的身份证号、手机号,以及其他任何进行了加密保存的敏感数据等。该查询端可为用户所使用的电脑、手机等任何移动终端。其中,该敏感数据为已经做了加密处理后的数据,即为处于密文状态下的数据。
查询端上可提供相应的查询界面,该界面上可以提供相应的输入框,用户可在该输入框内输入想查询的数据,电子设备可以获取从查询端上所输入的数据,该数据即为待查询数据。
可选地,该电子设备可为查询端自身,也可以为与该查询端存在通信功能的后台服务器。电子设备上预先部署了用于对待查询数据进行转换的转换规则,并基于该转换规则对待查询数据进行转换后查询,以确保敏感数据在查询过程中的安全性。
在一个实施例中,电子设备中预先对待查询数据对应的目标数据进行了加密,形成了加密数据,该加密数据对应的明文数据除了包括该目标数据之外,还包括其他多项需要加密的敏感数据。其中,目标数据即为待查询数据所需要查询的数据,待查询数据为用户输入的任意数据,其可能与目标数据完全一致,也可能部分一致或完全不一致。举例来说,用户想查询的数据为“12345”,该“12345”即为目标数据,而其所输入的待查询数据可能是“12345”,也可能是“12”,或者“abcde”等任意想输入的数据。电子设备可以接收该待查询数据,并按照下述的查询逻辑进行查询。
步骤104,基于待查询数据获取对应的随机参数、单向函数和特征数据。
本实施例中,随机参数和/或单向函数可为根据查询数据直接从预先存储的数据中提取出来的,也可以是根据待查询数据按照预设的解析规则解析出来的。
该随机参数为需要与待查询数据进行运算的任意合适的字符串,该字符串的长度可为任意设置的长度,比如为8位数、16位数、20位数等任意合适长度的字符串。随机参数与待查询数据的运算规则可为按照单向函数所设置的规则进行运算。单向函数同样可为预先设定的函数,单向函数是一类对于每一个输入都很容易计算的函数,但是很难针对一个随机的函数值反推其输入。这里面,待查询数据即为单向函数的输入,而随机参数即为该单向函数中使用的相关参数值。举例来说,该单向函数可为SHA-1、SHA-2和 SHA-3等任意合适的函数。
特征数据为目标数据按照该随机参数和单向函数进行转换后所生成的数据。基于该单向函数的特点,想从特征数据中反向得到目标数据非常困难,而从目标数据得到特征数据则比较容易。电子设备中预先存储了与目标数据对应的特征数据。
在一个实施例中,用来生成特征数据的随机参数可为预先生成的参数,在得到待查询数据之后,则获取该随机参数。其中,随机参数在预先生成的过程中,可以是按照某个规则生成的参数。具体的,可以是基于目标数据而随机生成的参数,使得不同的目标数据所使用的随机参数各不相同。也就是说,在查询不同的目标数据时,所使用到的随机参数也不相同。比如随机参数是根据目标数据的数据标识而生成的参数。其中,数据标识可为用于唯一标识一份数据,该数据中可包含目标数据。电子设备中所存储多份被加密的数据,以及每份数据对应的特征数据。
在一个实施例中,目标数据与相应的查询用户相关联,在获取到待查询数据时,电子设备同样可获取到想要进行目标数据查询的用户的身份标识,和/或获取到需要查询的目标数据的相关数据标识信息。基于该用户的身份标识,可以确定所需要查询的目标数据,进而根据该目标数据的数据标识,或目标数据对应的特征数据的数据标识与随机参数和单向函数的关联关系来获取对应的随机参数和单向函数。或者在确定了用户的身份之后,根据随机参数的生成规则生成随机参数。
步骤106,按照单向函数将待查询数据与随机参数进行运算,得到转换后数据。
本实施例中,单向函数中设定了相应的运算规则,基于该待查询数据和随机参数按照单向函数的运算规则进行运算,可以得到相应的运算结果。基于该运算结果可以得到转换后数据。具体的,可以直接将该运算结果作为转换后数据,也可以对运算结果做进一步处理,从而来得到转换后数据。比如可以将得到的运算结果中的预设位数的字符作为相应的转换后数据。
举例来说,单向函数H为HMAC-SHA256,而随机参数K为0x1234567890abcdef,待查询数据A为“1”,则计算H(K,A)=HMAC-SHA256(0x1234567890abcdef,‘1’),取计算结果中的前4个字节(即8个16进制字符),得到的待查询数据“1”的转换后数据为“4d28090e”。
步骤108,查询转换后数据是否存在于特征数据中,并输出查询结果。
本实施例中,在得到转换后数据之后,可以直接在特征数据中查询是否存在与转换后数据相匹配,并输出查询结果。其中,查询结果可为待查询数据是否存在的结果。
举例来说,如果特征数据对应的目标数据为“12345”,基于该目标数据所形成的特征数据中,自然也包含了待查询数据“1”对应的转换后数据“4d28090e”,从而可以得出待查询数据是存在的结果。
本申请中的敏感数据查询方法,通过预先存储目标数据对应的特征数据,在针对已经被加密了的目标数据的检索时,对所输入的待查询数据进行转换,得到待查询数据对应的转换后数据,进而在特征数据中来查询转换后数据是否存在,得到转换后数据是否在特征数据中是否存在的结果,将该结果作为待查询数据是否存在于目标数据的结果。从而可以避免对目标数据的解密再查询,避免了目标数据在解密过程中可能导致在密文状态下的目标数据被泄露的风险,提高了目标数据的安全性。且在保证了目标数据的安全性的前提下,由于无需对目标数据进行解密,还可以进一步提高查询的速度,进而提高了用户的使用体验。
在一个实施例中,在步骤102之前,还包括:获取明文数据,明文数据中包含与待查询数据对应的目标数据;按照单向函数将明文数据与随机参数进行运算,得到特征数据。
本实施例中,明文数据可为任意需要进行加密的数据。明文数据中可以包括上述步骤102中的待查询数据对应的目标数据。
在获取到明文数据后,可以提取相应的随机参数和单向函数,并按照类似上述步骤106的构成来对明文数据进行转换,形成特征数据。可选地,该随机参数可为预先设定的参数,或者为根据该明文数据所生成的参数。本步骤中使用的随机参数和单向函数与步骤106中所使用的随机参数和单向函数相同。在得到特征数据之后,可以将特征数据发送给查询端保存。
在一个实施例中,在按照单向函数将明文数据与随机参数进行运算之前,还包括:基于明文数据确定随机参数和/或单向函数。
本实施例中,随机参数和/或单向函数可以是基于明文数据来确定的,比如随机参数可以为根据明文数据对应的数据标识而生成的。明文数据可以包括多份待加密数据。待查询数据可以处于其中一份待加密数据中。每份数据对应一个数据标识,因此,每份待加密数据所使用的随机参数可以各不相同。
举例来说,明文数据为数据安全提供商所服务的所有客户的敏感数据。而每个客户的敏感数据即为一份待加密数据。一份待加密数据比如可以包括相应客户的个人身份信息、行为信息、业务信息等。其中,一个公司可为一个客户,或者一个公司下的一个部门可为一个客户,或者单个用户也以构成一个客户,从而各自形成一份待加密数据。
电子设备还可以设置多个备选单向函数,针对待加密的明文数据,可以基于该明文数据从多个备选单向函数中选择其中一个作为用来转换的单向函数。电子设备可以进一步设定单向函数的选取规则,基于该选取规则来确定相应的明文数据所对应的单向函数。
进一步的,还可以将所使用的随机参数以及单向单数中的一种或多种也发送给查询端保存,使得查询端可以按照与明文数据相同的转换逻辑来对待查询数据进行中转换。其中,所发送给查询端的随机参数和/或单向函数可以进行加密后发送给查询端,从而提高随机参数的安全性。将随机参数秘密保存时,单向函数成为带密钥的单向函数,使得无法从单向函数的输出和入参(即待查询数据)反向算出随机参数。
在一个实施例中,随机参数的确定可以为根据一个基础参数、基础单向函数、明文数据中的每份待加密数据的数据标识而生成的参数。其中,该基础参数和基础单向函数可为预设的固定的参数。比如基础参数可为“ABC23”,而基础单向函数可为上述的HMAC-SHA256,某份待加密数据的数据标识为“0001”,则可以按照上述的HMAC-SHA256(0x1234567890abcdef,‘1’)来进行运算,从而根据计算出来的结果确定出随机参数。比如直接将计算出来的字符串中的一部分当作随机参数。比如可将其前18个16进制字符随机参数。且进一步的,电子设备可以将基础参数和/或基础单向函数和/或数据标识中的一种或多种发送给查询端,使得查询端可以基于此而解析得到随机参数,其中,发送给查询端的一种或多种数据可以进行加密后发送。
可以理解地,在步骤104中所获取的随机参数以及单向函数也是按照对应的方式而解析得到的。
在一个实施例中,在获取明文数据之后,敏感数据查询方法还包括:将明文数据进行第一加密,形成加密数据。将加密数据发送给与待查询数据对应的查询端。
本实施例中,对明文数据的加密的方式可具有多种,比如可以按照对称加密算法或者非对称加密算法等预先设定的任意合适的加密方式来进行加密。在得到加密数据之后,在查询端需要该加密数据时,可以将该加密数据发送至查询端保存,使得查询端所保存的数据是加密数据而非明文数据。
进一步的,将随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数。基于待查询数据获取对应的随机参数、单向函数和特征数据,包括:基于待查询数据获取对应的加密后的随机参数、加密后的单向函数和特征数据;根据与第二加密相匹配的解密模式对加密后的随机参数和/或加密后的单向函数进行解密,得到解密后的随机参数和/或解密后的单向函数。
其中,随机参数和/或单向函数的加密方式可以与明文数据的加密方式相同,也可以不同。电子设备在确定了查询端用户的身份标识之后,根据待查询数据所对应的目标数据或特征数据的数据标识与随机参数和单向函数的关联关系来获取对应加密后的随机参数和单向函数。
再按照与第二加密相对应的解密方式来解密得到单向函数和/或随机参数。通过对随机参数进行加密,可以提高随机参数的安全性,使得仅在计算得到转换后数据的过程中使用随机参数时才进行解密。
在一个实施例中,随机参数也可以是基于加密数据而确定的。类似的,可以将加密数据中的一部分字符串当作随机参数。或者将该一部分字符串当作上述的基础参数,利用该基础参数、加密数据对应的数据标识和基础单向函数计算出相应的随机参数。其中,该加密数据可为待查询数据所处的一份数据加密后形成的数据。
在一个实施例中,将随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数,包括:基于加密数据对随机参数和/或单向函数进行加密,形成加密后的随机参数和/或加密后的单向函数。
可选地,可将加密数据对应的数据标识作为密钥,按照预设的加密方式来对单向函数和/或单向函数进行加密,形成加密后的随机参数和/或加密后的单向函数。
在一个实施例中,步骤106包括:将待查询数据进行分割,按照单向函数将每个分割后的数据与随机参数进行运算,从得到的运算结果中提取出预设位数的字节,使得每个分割后的数据对应一个提取出的预设位数的字节;将提取出的每个字节进行拼接,形成转换后数据。
本实施例中,待查询数据在进行转换之后,可进行分割,形成分割后的数据,每个分割后的数据作为该待查询数据的子数据。每个子数据的长度可为预先设定的长度。具体的,可以将单个16进制字符作为一个子数据。
针对每个子数据,可以按照所得到的随机参数和单向函数进行运算,得到相应的运算结果。针对每个运算结果,可提取预设位数的字节,将其作为对子数据转换后的数据(记为转换后子数据)。其中,该预设位数的字节可为运算结果的前4位字节,即前8个16进制的字符。
将每个转换后子数据进行拼接,形成转换后数据。其中,拼接的顺序与子数据在待查询数据中的顺序一致。
在一个实施例中,查询转换后数据是否存在于特征数据中,包括:检测每个提取出的字节是否存在于特征数据中。
本实施例中,由于是针对子数据来进行转换,使得在查询的时候,可以单独进行子数据的查询,比如可以按照单个字符为单位来进行查询,提高了查询的灵活性。比如可以查询字符“1”对应的转换后子数据是否存在。
通过按照字符进行分割来转换,使得每个单独的字符均有一个对应的转换后子数据,进而可以使得针对单个字符进行查询,提高了查询的灵活性。
在一个实施例中,如图2所示,提供了另一种敏感数据查询方法,该方法包括:
步骤202,获取明文数据,明文数据中包含与待查询数据对应的目标数据。
步骤204,将明文数据进行加密,形成加密数据。
步骤206,基于加密数据确定随机参数和单向函数。
可选地,以明文数据中的包含目标数据的一份数据P为“12345专利”为例进行说明,该数据P所形成的加密数据可为数据C。电子设备可以根据数据C中的预设位数的字符作为相应的基础参数,并根据预先设定的基础单向函数对该份数据P的数据标识进行运算,得到该随机参数。其中,基础参数可为数据C中的前N1位的字符;随机参数可为运算结果中的前N2位字符。单向函数可为固定的单向函数,比如上述的HMAC-SHA256。
步骤208,按照单向函数将明文数据与随机参数进行运算,得到特征数据。
具体地,将明文数据进行分割,按照单向函数将每个分割后的数据与随机参数进行运算,从得到的运算结果中提取出预设位数的字节,使得每个分割后的数据对应一个提取出的字节。将提取出的每个字节进行拼接,形成特征数据。
举例来说,所得到的随机参数K为0x1234567890abcdef,单向函数H为HMAC-SHA256。对明文数据中的每份数据以字符为单位进行分割,将分割后的每个子数据作为相应数据的一个元素。以数据P为“12345专利”为例进行分割,得到数组A,其为[‘1’,‘2’,‘3’,‘4’,‘5’,‘专’,‘利’]。
数组A的元素从左到右,分别记为A[1]、A[2]、A[3]……。针对每个元素,按照明文数据与随机参数进行运算,取运算结果的前N3位字符,作为每个元素的转换后元素。比如元素A[1]的转换后元素即为:H(K,A[1])= HMAC-SHA256(0x1234567890abcdef,‘1’)=4d28090e;元素A[2]的转换后元素即为H(K,A[2])=HMAC-SHA256(0x1234567890abcdef,‘1’) = 4480c5d2。
将各个转换后元素拼接组合到一起,从而作为数据P的特征数据T。即T=H(K,A[1])|H(K,A[2])|……|H(K,A[7])=4d28090e4480c5d2ec85e8df……
在一个实施例中,电子设备可以将所生成的加密数据和/或特征数据均发送给查询端。或者仅将加密数据和/或特征数据中,与查询端相关的部分数据发送给查询端。
步骤210,获取待查询数据。
步骤212,基于待查询数据获取对应的随机参数、单向函数和特征数据。
在一个实施例中,该随机参数、单向函数可为预先确定的数据。电子设备中可以保存相应的随机参数和/或单向函数。或者按照随机参数的计算规则,根据基础参数、加密数据对应的数据标识以及加密数据的前N1位的字符进行运算而计算出来的参数。
在一个实施例中,在步骤212之前,还进行请求查询的用户的身份验证,在用户的身份验证通过后才执行步骤212。
步骤214,将待查询数据进行分割,按照单向函数将每个分割后的数据与随机参数进行运算,从得到的运算结果中提取出预设位数的字节,使得每个分割后的数据对应一个提取出的字节;将提取出的每个字节进行拼接,形成转换后数据。
本实施例中,以待查询数据为“23”,以得到的随机参数为K为0x1234567890abcdef,单向函数H为HMAC-SHA256为例进行说明。同样将待查询数据进行分割,将分割后的每个子数据作为数组的元素,对每个元素进行运算,将运算后的数据进行拼接,最终可以得到数据“23”对应的转换后数据为“0x4480c5d2ec85e8df”。
步骤216,查询转换后数据是否存在于特征数据中,并输出查询结果。
由于上述的转换后数据“0x4480c5d2ec85e8df”存在于特征数据T中,故而可以输出待查询数据存在的查询结果。
在一个实施例中,在步骤210中,还可以进一步获取查询模式,该查询模式包括精确查询和模糊查询等模式。对于精确查询,表示用于查询待查询数据是否完整的包含在明文数据中,如果是模糊查询,则表示用于查询待查询数据中的内容是否部分包含在明文数据中。
比如所输入的待查询数据是查询数据“1”、“3”,以模糊方式进行查询,则相应的转换后数据即为H(K,‘1’)%H(K,‘3’)=4d28090e%ec85e8df,其中符号“%”表示模糊查询。则电子设备可以将其中的“4d28090e”以及“ec85e8df”单独与特征数据进行匹配,以得到数据“1”和“3”是否存在于特征数据中,从而得到待查询数据是否在明文数据中的查询结果。
上述的敏感数据查询方法,通过对明文数据进行加密,并以字符为单位进行转换,得到特征数据;在针对已经被加密了的明文数据的检索时,采用与明文数据相同的转换形式对所输入的待查询数据进行转换,得到待查询数据对应的转换后数据;进而在特征数据中来查询转换后数据是否存在,在避免了目标数据在解密过程中可能导致目标数据被泄露的风险的基础上,还进一步提高了检索的灵活性。且针对转换过程中采用的随机参数也进行处理,降低了随机参数的泄露风险,进一步提高了明文数据查询的安全性。
在一个实施例中,如图3所示,提供了一种敏感数据查询装置,装置包括:
数据获取模块302,用于获取待查询数据;
数据转换模块304,用于基于待查询数据获取对应的随机参数、单向函数和特征数据;按照单向函数将待查询数据与随机参数进行运算,得到转换后数据;
查询模块306,用于查询转换后数据是否存在于特征数据中,并输出查询结果。
在一个实施例中,数据获取模块302还用于获取明文数据,明文数据中包含与待查询数据对应的目标数据;
数据转换模块304还用于按照单向函数将明文数据与随机参数进行运算,得到特征数据。
在一个实施例中,如图4所示,敏感数据查询装置还包括:加密模块308,用于将明文数据进行加密,形成加密数据;将加密数据发送给与待查询数据对应的查询端。
数据转换模块304还用于基于待查询数据对应的加密数据来获取对应的随机参数、单向函数和特征数据。
在一个实施例中,数据转换模块304还用于基于明文数据确定随机参数和/或单向函数。
在一个实施例中,数据转换模块304还用于基于加密数据确定随机参数和单向函数。
在一个实施例中,数据转换模块304还用于将待查询数据进行分割,按照单向函数将每个分割后的数据与随机参数进行运算,从得到的运算结果中提取出预设位数的字节,使得每个分割后的数据对应一个提取出的字节;将提取出的每个字节进行拼接,形成转换后数据。
在一个实施例中,查询模块306还用于检测每个提取出的字节是否存在于特征数据中。
在一个实施例中,加密模块308还用于将随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数;
数据转换模块304还用于基于待查询数据获取对应的加密后的随机参数、加密后的单向函数和特征数据;根据与第二加密相匹配的解密模式对加密后的随机参数和/或加密后的单向函数进行解密,得到解密后的随机参数和/或解密后的单向函数。
在一个实施例中,加密模块308还用于基于加密数据对随机参数和/或单向函数进行加密,形成加密后的随机参数和/或加密后的单向函数。
在一个实施例中,提出了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述任意实施例中的敏感数据查询方法的步骤。
在一个实施例中,提出了一种计算机存储介质,其上存储有计算机可执行指令,该指令被处理器执行时,使得处理器执行上述任意实施例中的敏感数据查询方法的步骤。
在一个实施例中,提供了一种电子设备,该电子设备具体可以是终端,也可以是服务器。如图5所示,电子设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,包括承载指令的在计算机存储介质,在这样的实施例中,该指令可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该指令被中央处理单元(CPU)501执行时,执行本发明中描述的各个方法步骤。
尽管已经描述了示例实施例,但是对于本领域技术人员来说显而易见的是,在不脱离本发明构思的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述示例实施例不是限制性的,而是说明性的。
Claims (10)
1.一种敏感数据查询方法,其特征在于,所述方法包括:
获取待查询数据;
基于所述待查询数据获取对应的随机参数、单向函数和特征数据,包括:根据进行目标数据查询的用户的身份标识确定需要查询的目标数据,根据预先设定的基础单向函数对包含所述目标数据的待加密数据的数据标识进行运算,得到随机参数,明文数据包括多份待加密数据,所述数据标识用于唯一标识一份待加密数据;
按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据;
查询所述转换后数据是否存在于所述特征数据中,并输出查询结果。
2.根据权利要求1所述的方法,其特征在于,在所述获取待查询数据之前,还包括:
获取明文数据,所述明文数据中包含与所述待查询数据对应的目标数据;
按照所述单向函数将所述明文数据与所述随机参数进行运算,得到所述特征数据。
3.根据权利要求2所述的方法,其特征在于,在所述获取明文数据之后,所述方法还包括:
将所述明文数据进行第一加密,形成加密数据;
将所述随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数;
所述基于所述待查询数据获取对应的随机参数、单向函数和特征数据,包括:
基于所述待查询数据获取对应的加密后的随机参数、加密后的单向函数和特征数据;
根据与所述第二加密相匹配的解密模式对所述加密后的随机参数和/或加密后的单向函数进行解密,得到解密后的随机参数和/或解密后的单向函数。
4.根据权利要求2所述的方法,其特征在于,在所述按照所述单向函数将所述明文数据与所述随机参数进行运算之前,还包括:
基于所述明文数据确定所述随机参数和/或所述单向函数。
5.根据权利要求3所述的方法,其特征在于,所述将所述随机参数和/或单向函数进行第二加密,形成加密后的随机参数和/或加密后的单向函数,包括:
基于所述加密数据对所述随机参数和/或所述单向函数进行加密,形成加密后的随机参数和/或加密后的单向函数。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据,包括:
将所述待查询数据进行分割,按照所述单向函数将每个分割后的数据与所述随机参数进行运算,从得到的运算结果中提取出预设位数的字节,使得每个分割后的数据对应一个提取出的预设位数的字节;
将提取出的每个字节进行拼接,形成所述转换后数据。
7.根据权利要求6所述的方法,其特征在于,所述查询所述转换后数据是否存在于所述特征数据中,包括:
检测每个提取出的字节是否存在于所述特征数据中。
8.一种敏感数据查询装置,其特征在于,所述装置包括:
数据获取模块,用于获取待查询数据;
数据转换模块,用于基于所述待查询数据获取对应的随机参数、单向函数和特征数据;按照所述单向函数将所述待查询数据与所述随机参数进行运算,得到转换后数据;
查询模块,用于查询所述转换后数据是否存在于所述特征数据中,并输出查询结果;
所述数据转换模块还用于根据进行目标数据查询的用户的身份标识确定需要查询的目标数据,根据预先设定的基础单向函数对包含所述目标数据的待加密数据的数据标识进行运算,得到随机参数,明文数据包括多份待加密数据,所述数据标识用于唯一标识一份待加密数据。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述存储介质存储有可执行指令,所述指令被处理器执行时使处理器执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685699.5A CN117390687B (zh) | 2023-12-11 | 2023-12-11 | 敏感数据查询方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685699.5A CN117390687B (zh) | 2023-12-11 | 2023-12-11 | 敏感数据查询方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117390687A CN117390687A (zh) | 2024-01-12 |
CN117390687B true CN117390687B (zh) | 2024-04-02 |
Family
ID=89472441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311685699.5A Active CN117390687B (zh) | 2023-12-11 | 2023-12-11 | 敏感数据查询方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117390687B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357004A (zh) * | 2015-12-03 | 2016-02-24 | 万达信息股份有限公司 | 一种医疗隐私数据自加密及解密的方法 |
WO2016078182A1 (zh) * | 2014-11-18 | 2016-05-26 | 邱彼特 | 敏感数据的授权方法、装置和系统 |
CN110019994A (zh) * | 2017-11-13 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据加密、解密及查询方法、数据加密解密及查询装置 |
CN110210251A (zh) * | 2019-06-17 | 2019-09-06 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、设备及计算机可读存储介质 |
CN110347723A (zh) * | 2019-07-12 | 2019-10-18 | 税友软件集团股份有限公司 | 一种数据查询方法、系统及电子设备和存储介质 |
CN113946601A (zh) * | 2021-10-25 | 2022-01-18 | 苏州达家迎信息技术有限公司 | 一种人员数据查询方法、装置、设备及存储介质 |
CN114611152A (zh) * | 2022-05-10 | 2022-06-10 | 富算科技(上海)有限公司 | 查询方法和查询系统 |
CN115098868A (zh) * | 2022-06-02 | 2022-09-23 | 蚂蚁区块链科技(上海)有限公司 | 保护隐私的数据提供、查询方法、装置及系统 |
CN115544579A (zh) * | 2022-11-24 | 2022-12-30 | 北京融数联智科技有限公司 | 一种双随机数据混淆查询方法、装置和系统 |
CN115757545A (zh) * | 2022-11-23 | 2023-03-07 | 北京天融信网络安全技术有限公司 | 密文检索方法、存储方法、装置、电子设备及存储介质 |
-
2023
- 2023-12-11 CN CN202311685699.5A patent/CN117390687B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016078182A1 (zh) * | 2014-11-18 | 2016-05-26 | 邱彼特 | 敏感数据的授权方法、装置和系统 |
CN105357004A (zh) * | 2015-12-03 | 2016-02-24 | 万达信息股份有限公司 | 一种医疗隐私数据自加密及解密的方法 |
CN110019994A (zh) * | 2017-11-13 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据加密、解密及查询方法、数据加密解密及查询装置 |
CN110210251A (zh) * | 2019-06-17 | 2019-09-06 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、设备及计算机可读存储介质 |
CN110347723A (zh) * | 2019-07-12 | 2019-10-18 | 税友软件集团股份有限公司 | 一种数据查询方法、系统及电子设备和存储介质 |
CN113946601A (zh) * | 2021-10-25 | 2022-01-18 | 苏州达家迎信息技术有限公司 | 一种人员数据查询方法、装置、设备及存储介质 |
CN114611152A (zh) * | 2022-05-10 | 2022-06-10 | 富算科技(上海)有限公司 | 查询方法和查询系统 |
CN115098868A (zh) * | 2022-06-02 | 2022-09-23 | 蚂蚁区块链科技(上海)有限公司 | 保护隐私的数据提供、查询方法、装置及系统 |
CN115757545A (zh) * | 2022-11-23 | 2023-03-07 | 北京天融信网络安全技术有限公司 | 密文检索方法、存储方法、装置、电子设备及存储介质 |
CN115544579A (zh) * | 2022-11-24 | 2022-12-30 | 北京融数联智科技有限公司 | 一种双随机数据混淆查询方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
中国煤炭工业协会信息化分会.煤炭企业网络安全工作指南.中国矿业大学出版社,2022,第142页. * |
Also Published As
Publication number | Publication date |
---|---|
CN117390687A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130262863A1 (en) | Searchable encryption processing system | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
US7986780B2 (en) | Privacy-preserving substring creation | |
CN110933063B (zh) | 数据加密方法、数据解密方法及设备 | |
CN113259133A (zh) | 基于http协议的加密通讯方法、设备及存储介质 | |
CN112437060B (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN111859435B (zh) | 一种数据安全处理方法及装置 | |
CN116502254B (zh) | 可查得统计的匿踪查询方法及装置 | |
CN111191255A (zh) | 信息加密处理的方法、服务器、终端、设备以及存储介质 | |
CN108549824A (zh) | 一种数据脱敏方法及装置 | |
CN116383867A (zh) | 一种数据查询方法、装置、电子设备及计算机可读介质 | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
US8824677B1 (en) | Provably secure and efficient pseudorandom number generation | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
WO2024060630A1 (zh) | 数据传输管理的方法、数据处理的方法和装置 | |
CN116992486A (zh) | 一种基于密码学的联合黑名单多方隐私查询方法及系统 | |
CN117390687B (zh) | 敏感数据查询方法、装置、存储介质和电子设备 | |
CN116561777A (zh) | 数据处理方法以及装置 | |
US20200145200A1 (en) | Attribute-based key management system | |
CN115941187A (zh) | 一种基于md5的不可逆随机加盐加密方法及系统 | |
CN115589316A (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 | |
CN111030930B (zh) | 基于去中心化网络数据分片传输方法、装置、设备及介质 | |
CN113761566A (zh) | 一种数据处理方法和装置 | |
CN113065146A (zh) | 一种用于区块链数据保护的同态加密方法 | |
CN111984631A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |