CN114065271A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN114065271A CN114065271A CN202010752997.1A CN202010752997A CN114065271A CN 114065271 A CN114065271 A CN 114065271A CN 202010752997 A CN202010752997 A CN 202010752997A CN 114065271 A CN114065271 A CN 114065271A
- Authority
- CN
- China
- Prior art keywords
- data set
- client
- ciphertext
- ciphertext data
- encrypted
- 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
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/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/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请关于一种数据处理方法及装置。所述方法包括:获取第一客户端的第一密文数据集和第二客户端的第二密文数据集;确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集;确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集,并生成交集结果。利用本申请各个实施例提供的数据处理方法及装置,能够在不泄露用户数据的情况下,快速确定两个机构所拥有的共同用户。
Description
技术领域
本申请涉及互联网健康技术领域,尤其涉及一种数据处理方法及装置。
背景技术
目前,很多单位机构都存在大量的用户数据,这些用户数据可能存储时间久远,有些甚至可以追溯至十几年前。对于机构的用户而言,可能在多个不同的机构办理过健康服务,例如,某用户在医院A做过双眼皮手术,在医院B打过瘦脸针,在医院C做过额头填充等。但是医院A、B、C来说,互相不知道该用户在其他医院所办理过的健康服务。同一用户的用户数据的共享对于该用户后续办理健康服务是有益的,例如,机构在了解到用户之前所做过的医美项目,才可以从用户的健康角度分析用户适合做哪些医美项目,不适合做哪些医美项目。
不同机构之间的数据共享可以发挥用户数据的价值,但是数据共享也只是共享相同用户的部分数据,所涉及到的方法通常是对两个机构的用户数据集做交集运算。相关技术中通常利用明文匹配或者对称加密的算法获取两个用户数据集的交集,从而确定两个机构的共同用户。但是,明文匹配和对称加密的算法很容易泄露交集以外的数据,容易泄露其他用户的隐私数据。
因此,相关技术中亟需一种安全性高的数据分享方法。
发明内容
本申请实施例的目的在于提供一种数据处理方法及装置,能够在不泄露用户数据的情况下,快速确定两个机构所拥有的共同用户。
本申请实施例提供的数据处理方法及装置是这样实现的:
一种数据处理方法,所述方法包括:
获取第一客户端的第一密文数据集和第二客户端的第二密文数据集,所述第一密文数据集包括利用第一加密算法加密的多个用户的用户标识信息,所述第二密文数据集包括利用第二加密算法加密的多个用户的用户标识信息;
确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集,所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密;
确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集,并生成交集结果。
一种数据处理方法,所述方法包括:
发送第一密文数据集,所述第一密文数据集包括利用第一加密算法加密的多个用户的用户标识信息;
接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果,所述第二密文数据集包括利用第二加密算法加密的多个用户的用户标识信息;
所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密。
一种数据处理装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行所述的数据处理方法。
本申请提供的数据处理方法及装置,可以利用二次加密的方式加密两个不同客户端的用户标识信息,二次加密的方式是两个客户端分别利用各自的加密算法对所述用户标识信息进行一轮加密之后,然后分别利用对方客户端的加密算法对一轮加密后的数据进行加密,这样,进行二次加密后的用户标识信息实现对称加密,即相同的用户标识信息经过二次加密后的密文是相同的。另外,对于共享用户数据的双方机构,用户标识信息作为用户的唯一标识,可以通过本申请实施例提供的算法快速确定交集用户,在确定交集用户之后,再确定具体共享用户的哪些数据。因此,本申请实施例提供的数据处理方法,能够在不泄露用户数据的情况下,快速确定两个机构所拥有的共同用户。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种应用场景示意图。
图2是根据一示例性实施例示出的一种应用场景示意图。
图3是根据一示例性实施例示出的一种应用场景示意图。
图4是根据一示例性实施例示出的一种应用场景示意图。
图5是根据一示例性实施例示出的一种应用场景示意图。
图6是根据一示例性实施例示出的一种应用场景示意图。
图7是根据一示例性实施例示出的一种数据处理方法的流程示意图。
图8是根据一示例性实施例示出的一种数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面通过具体的应用场景说明本申请的技术方案。
图1示出了本申请实施例提供的数据处理方法的整体应用框架图。如图1所示,本申请实施例涉及到多个健康机构,如健康机构A、健康机构B、健康机构C、健康机构D等等。所述健康机构可以包括医院、健身机构等等。不同的健康机构之间需要分享交集用户的健康数据,但是不泄露除交集用户以外的用户的信息,所述信息可以包括用户的姓名、联系方式、身份ID、地址等能够表征用户标识的隐私信息。基于此,本申请实施例提供的技术方案中,需要分享交集用户健康数据的双方健康机构可以将用户的隐私信息加密后生成隐私集合,并通过健康客户端向健康服务器发出交集计算请求,以获取到隐私集合的交集。所述健康服务器在获取到双方加密后的隐私集合后,利用本申请实施例提供的方式获取到交集结果,并将交集结果发送给双方健康机构。
在一个示例性的场景中,健康机构A和健康机构B是同一城市的两家医院,且双方有意愿分享交集病患的医疗数据,其中,交集病患指在健康机构A和健康机构B均有医疗记录的病患。图2是第一健康客户端、第二健康客户端以及健康服务器组成的系统图,其中,第一健康客户端为健康机构A用于与所述健康服务器之间通信的客户端,第二健康客户端为健康机构B用于与所述健康服务器之间通信的客户端。
图3、图4是第一健康客户端、第二健康客户端与所述健康客户端之间交互的流程图,图5是第一/二健康客户端与所述健康服务器之间交互的一个示例的流程图。本申请实施例中,第一/二是指第一或者第二,并且在同一实施例中,第一/二只包括第一和第二中的一种。如图3所示,第一/二健康客户端可以在所述健康服务器注册信息,步骤1中,所述第一/二健康客户端可以向所述健康服务器发送注册请求,所述注册请求中可以包括所述第一/二健康客户端的IP地址、客户端名称等信息。当然,在此之前,如图5所示,所述健康服务器还可以分配Docker账户给所述第一/二健康客户端,用于从健康服务器获取安装客户端所需的文件以及后续上传或者下载数据等。所述第一/二健康客户端在获取到Docker账户之后,可以完成从Docker镜像仓库中拉取Docker镜像和容器初始化。需要说明的是,所述注册请求中还可以包括对应的医院的机构代码、资质证明文件等信息,这样,所述健康服务器可以审核这些信息,以确定健康机构是否具有资质。步骤2中,在确定健康机构具有资质的情况下,所述健康服务器可以响应于所述注册请求,生成针对所述第一/二健康客户端的注册标识信息,在一个示例中,所述注册标识信息可以包括APPKey,APPKey可以作为所述第一/二健康客户端访问所述健康服务器的用户账号。
步骤3中,所述健康服务器可以将生成的所述注册标识信息以及健康服务器的加密公钥spubkey发送至所述第一/二健康客户端。所述第一/二健康客户端接收并存储所述注册标识信息和所述加密公钥spubkey,即完成客户端的初始化。步骤4中,所述第一/二健康客户端可以创建密钥对(公钥cpubkey,私钥cprikey),并将公钥cpubkey发送至所述健康服务器。所述健康服务器在接收到公钥cpubkey之后,可以将公钥cpubkey存储关联所述第一/二健康客户端的注册标识信息。
如图5所示,所述第一/二健康客户端完成初始化,并与所述健康服务器之间交换加密公钥之后,可以定义所述第一/二健康客户端与所述健康服务器之间的数据传输规则。所述第一/二健康客户端与所述健康服务器之间可以基于HTTP请求开始数据传输。以所述第一/二健康客户端向所述健康服务器发送数据data举例说明,首先,所述第一/二健康客户端可以生成用于密文数据集data的加密密钥,在一个示例中,可以利用工具生成AES加密密钥aeskey,并可以定义密钥长度,例如长度为128。然后,所述第一/二健康客户端可以利用所述健康服务器的加密公钥spubkey加密所述加密密钥aeskey,生成加密后的加密密钥encAesKeyData,如图5所示,以上加密过程可以表示为encAesKeyData=rsaEnc(spubkey,aeskey),其中rsaEnc为加密算法。最后,所述第一/二健康客户端可以将加密后的加密密钥encAesKeyData发送至所述健康服务器。所述健康服务器在接收到加密后的加密密钥encAesKeyData之后,可以解密得到加密密钥aeskey,解密过程可以表示为aeskey=rsaDec(sprikey,encAesKeyData),还可以将解密得到的加密密钥aeskey存储关联至所述第一/二健康客户端的注册标识信息。
所述第一/二健康客户端确定加密密钥aeskey且将加密密钥aeskey发送至所述健康服务器之后,所述第一/二健康客户端可以利用加密密钥aeskey加密原始数据集data,生成的密文数据集为encData,加密过程可以表示为encData=aesEnc(aeskey,data)。另外,第一/二健康客户端还可以基于encData生成数字签名,在所述第一/二健康客户端的密钥对(公钥cpubkey,私钥cprikey)基于RES算法生成的情况下,可以利用所述第一/二健康客户端的私钥加密encData生成数字签名,该过程可以表示为数字签名=RSA+SHA256(cprikey,encData),其中,SHA256为哈希算法中的一种示例性算法。所述第一/二健康客户端可以将密文数据集encData和数字签名发送至所述健康服务器。所述健康服务器接收到所述密文数据集encData和数字签名之后,可以验证所述数字签名,具体地,可以利用所述第一/二健康客户端的加密公钥cpubkey解密所述数字签名,该过程可以表示为rsaDec(cpubkey,数字签名)。若经过所述数字签名通过验证,则所述健康服务器可以利用加密密钥aeskey解密得到所述原始数据集data,以上解密过程可以表示为data=aesDec(aeskey,encData)。
本申请应用场景中,在确定所述第一/二健康客户端与所述健康服务器之间的数据传输规则之后,步骤5中,可以利用第一/二加密算法对用户标识信息加密,生成第一/二密文数据集。如图5所示,在机构数据预处理模块,所述第一/二健康客户端可以建立存量会员数据视图,例如对会员数据进行格式标准化处理,以及标注待求交集的字段等,所述字段例如可以包括用户的姓名、手机号、身份ID等能够标识用户身份信息的字段。所述第一/二加密算法可以包括经过两轮加密后的数据是对称的,即相同的数据先经过第一加密算法加密后经过第二加密算法加密与先经过第二加密算法加密后经过第一加密算法加密得到的数据是相同的。在一些示例中,这样的算法可以包括Curve25519算法、BigInteger算法等等。以待加密的用户标识信息为用户手机号、加密算法为Curve25519算法举例,经过一轮加密后的第一密文数据集可以表示为encMobileData=F(X)=Curve25519(mobile,appkey),其中,appkey为加盐算法中的盐值。依据上述确定的数据传输规则,步骤6中,可以生成第一/二加密密钥aeskey,并利用所述第一/二加密密钥aeskey加密所述第一/二密文数据集。步骤7中,所述第一/二健康客户端可以利用健康服务器的加密公钥加密所述第一/二加密密钥,并将加密后的第一/二密文数据集、加密后的第一/二加密密钥aeskey和数字签名生成第一/二原始数据。步骤8中,所述第一/二健康客户端可以将所述第一/二原始数据发送至所述健康服务器。按照以上定义的数据传输规则,所述健康服务器在接收到所述第一/二原始数据之后,可以在步骤9中验证所述数字签名,并在步骤10中,在所述数字签名通过的情况下,利用所述健康服务器的加密私钥sprikey解密得到所述第一/二加密密钥aeskey。然后,在步骤11中,所述健康服务器可以利用所述第一/二加密密钥aeskey解密得到所述第一/二密文数据集。
为了简化描述,图5未示出对所述第一密文数据集encMobileData加密的步骤,如图5所示,可以将所述第一密文数据集encMobileData发送至所述健康服务器。当然,所述健康服务器所在的平台可以是参与交换数据的另外一方,即所述第二健康客户端。例如,健康服务器加密后的数据为第二密文数据集pEncMobileData=G(Y)=Curve25519(mobile,platformkey),其中,platformkey为加盐算法中的盐值。这样,所述健康服务器获取到第一密文数据集encMobileData和第二密文数据集pEncMobileData,然后,可以分别对所述第一密文数据集encMobileData和所述第二密文数据集pEncMobileData进行二轮加密,且加密算法分别使用交换方一轮加密所使用的加密算法,即利用所述第一加密算法加密所述第二密文数据集pEncMobileData,利用所述第二加密算法加密所述第一密文数据集encMobileData。以上二轮加密的过程可以表示为G(F(X))=Curve25519(encMobileData,platformkey),F(G(Y))=Curve25519(pEncMobileData,appkey)。然后,可以将二轮加密结果G(F(X))和F(G(Y))上传至所述健康服务器的运算处理器。所述运算处理器可以计算得到G(F(X))和F(G(Y))的交集结果为matchSet=G(F(X))=F(G(Y))。所述健康服务器可以将所述交集结果发送至所述第一健康客户端。
当然,在所述第一密文数据集或者所述第二密文数据集数据量不是很大的情况下,可以将所述第一密文数据集和所述第二密文数据集互换至交换对方的客户端进行二轮加密。如图4所示,步骤12中,将所述第二密文数据集发送至所述第一健康客户端,步骤13中,将所述第一密文数据集发送至所述第二健康客户端。步骤14-17中,所述第一健康客户端可以利用所述第一加密算法加密所述第二密文数据集,并将所述第二密文数据集的二次加密数据发送至所述健康服务器。所述第二健康客户端可以利用所述第二加密算法加密所述第一密文数据集,并将所述第一密文数据集的二次加密数据发送至所述健康服务器。步骤18中,所述健康服务器可以确定所述二次加密数据的交集,并在步骤19和20中,将所述交集分别发送至所述第一健康客户端和所述第二健康客户端。步骤21和22中,所述第一健康客户端或者所述第二健康客户端可以分别确定交集用户。
图6展示了所述第一健康客户端和所述第二健康客户端二轮加密用户标识信息的示意图。在一个示例中,健康机构A和健康机构B都存在某用户的治疗记录,且该用户的手机号为13015673287。该手机号在第一健康客户端首轮加密后的第一密文为“B4b758*UBbhbjsk878b+3K bbiu=jkj*BGo93bhkj=”,在第二健康客户端首轮加密后的第二密文为“wJhbx87f8732vG=h?hxiuH82giugcVhhcil;hiuwqU=”。将所述第一健康客户端和所述第二健康客户端首轮加密后的密文交换后,所述第一健康客户端可以对所述第二密文进行二轮加密,加密算法为首轮加密所用的算法,得到第三密文。所述第二健康客户端二轮加密得到第四密文,可以发现第三密文和第四密文是相同的。
本申请实施例中,以所述第一健康客户端向所述第二健康客户端请求交互数据举例说明。步骤22中,所述第一健康客户端可以向所述健康服务器发送交换请求,请求获取交集用户的健康数据。步骤23中,所述健康服务器可以将所述交换请求以通知消息的方式发送至所述第二健康客户端。步骤24中,所述第二健康客户端可以选择同意或者拒绝分享数据,本实施例中,所述第二健康客户端可以答复同意分享数据。步骤25中,所述健康服务器可以将所述第一健康客户单的加密公钥发送至所述第二健康客户端。在步骤26中,可以参考预先定义的所述健康服务器与所述第一/二健康客户端之间的数据传输规则,所述第二健康客户端可以生成第四加密密钥,并利用所述第四加密密钥加密待分享的健康数据,以及利用所述第一健康客户单的加密公钥加密所述第四加密密钥。步骤27中,所述第二健康客户端可以将加密后的健康数据和第四加密密钥发送至所述健康服务器。步骤28中,所述第一健康客户端可以从所述健康服务器获取到加密后的健康数据和第四加密密钥。步骤29中,所述第一健康客户端可以加密私钥解密得到所述第四加密密钥,并利用所述第四加密密钥解密得到所述健康数据。
健康机构在获取到交集会员的数据之后,可以对交集会员有了更多的了解。对于医院来说,可能对用户的身体状况有了更多的了解,在后续的治疗过程中能够考虑到用户的病史。对于整形医院,可以知道哪些会员继续活跃于整容项目,并向这些用户发送整形广告等。
下面结合附图对本申请所述的数据处理方法进行详细的说明。图7是本申请提供的数据处理方法的一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的数据处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的,本申请提供的数据处理方法的一种实施例如图5所示,所述方法可以包括:
S701:获取第一客户端的第一密文数据集和第二客户端的第二密文数据集,所述第一密文数据集和所述第二密文数据集中包括多个用户的加密后的用户标识信息,所述第一密文数据集对应的加密算法包括第一加密算法,所述第二密文数据集对应的加密算法包括第二加密算法。
S703:确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集,所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密。
S705:确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集。
本申请实施例的实施主体可以包括服务器,所述服务器可以与多个机构对应的客户端相耦合,不同的客户端之间可以通过所述服务器确定密文数据集的交集。本申请实施例中,所述服务器和所述客户端可以用于处理机构的任何涉及到用户特定服务的用户数据。所述机构主要包括拥有大量用户数据的企事业单位、公司、学校、医院、政府等,所述特定服务例如包括医疗服务、产品推荐服务、健康服务、企业管理服务等等。在一个示例中,某健康平台在向现有用户推荐健康服务的过程中,则可以获取到已有用户在其他健康平台上的用户数据,以更加了解到已有用户。所述用户数据可以包括用户的医疗数据、体检数据、健身数据、医美数据等任何涉及到用户身体和健康的数据。在另一个示例中,某企业管理服务平台在向已有企业用户推荐服务的过程中,则可以获取到已有企业用户在其他企业管理服务平台上的企业数据,以更加了解到已有企业。基于此,在一个实施例中,对于健康领域,所述客户端所对应的用户可以包括拥有大量用户健康数据的健康机构,所述健康机构例如医院、体检中心、医美机构、健身机构等等。在获得用户授权的情况下,不同健康机构可以分享交集用户的部分或者全部数据,所述交集用户可以包括两个健康机构共同拥有的用户。在另一个实施例中,对于企业管理领域,所述客户端对应的用户可以包括拥有大量企业数据的企业管理平台,所述企业管理平台例如企业资产管理平台、企业内控与风险管理平台、企业成本管理等等。
本申请实施例中,所述服务器作为多个客户端的服务平台,不仅需要确定各个客户端的合法性,还需要确定数据传输过程的安全性。基于此,所述客户端需要在所述服务器端注册信息,注册内容可以包括账户生成、公私钥生成等。在注册过程中,所述客户端可以向所述服务器发送注册请求,所述注册请求中可以包括所述客户端的网址信息。所述网址信息用于标识所述客户端在互联网中的位置信息,例如IP地址等,这样,所述服务器可以根据所述网址信息向所述客户端发送信息。另外,在注册过程中,所述客户端还可以发送下述中的至少一种信息至所述服务器:机构名称、机构代码、机构资质等等。所述服务器在接收到以上信息之后,可以审核所述客户端的资质,确定所述机构是否为合法的机构。在确定所述机构为合法机构的情况下,可以响应于所述客户端的注册请求,生成针对所述客户端的注册标识信息。所述注册标识信息可以用于在所述服务器唯一地标识所述客户端,例如,可以在所述服务器生成16位的用唯一识别码(Universally Unique Identifier,UUID)作为所述客户端的APPKey。APPKey可以作为所述客户端访问所述服务器的用户账号,所述服务器还可以设置APPKey的访问权限,以及设置APPKey对应的密码APPSecret等。为了保证数据传输的安全性,所述服务器可以通过非网络传输的方式将APPKey发送给所述客户端。当然,在其他实施例中,所述注册标识信息不限于APPKey,可以包括任何能够标识所述客户端唯一性的标识,本申请在此不做限制。
进一步地,本申请实施例中,为了保证所述客户端与所述服务器之间传输数据过程中的安全性,还可以利用非对称加密算法加密需要传输的数据。在本申请实施例中,所述服务器和所述客户端均可以设置成对的加密公钥与加密私钥,并互换所述加密公钥。在一些示例中,所述非对称加密算法例如可以包括RSA算法、DSA算法、ECC算法、DH算法等等,本申请在此不做限制。
进一步地,本申请实施例中,为了保证各个所述客户端存储数据的安全性,所述服务器还可以向所述客户端提供用于存储用户用户数据的存储账号。在一个示例中,所述存储账号例如可以包括Docker仓库账号,这样,用户可以将用户数据上传至Docker镜像仓库中,以保证数据的安全性。
如上所述,不同机构在分享数据的过程中,不希望非交集用户的用户数据被泄露。基于此,在本申请实施例中,需要共享数据的两个客户端可以将用户数据加密后发送至所述服务器。为了区分两个不同客户端及其生成的密文数据集,可以定义两个客户端分别为第一客户端和第二客户端,第一客户端生成第一密文数据集,第二客户端生成第二密文数据集。其中,所述第一密文数据集和所述第二密文数据集中包括多个用户的加密后的用户标识信息。所述用户标识信息可以用于标识用户的身份信息,例如用户的姓名、联系电话、身份ID、住址等任何能够从中直接或者间接获取用户身份的信息。需要说明的是,所述第一密文数据集或者所述第二密文数据集中可以包括一个或者多个加密的用户标识信息。在实际应用场景下,有些机构在注册用户信息的时候,可能需要根据用户的有效证件进行登记注册,但是也有很多机构是用户个人填写信息,可能出现一些信息填错或者隐瞒信息、故意写错信息的情况发生。基于此,通过多个用户标识信息进行对比,可以增强交集的可靠性,例如只有当用户的姓名和联系电话都匹配的情况下,才可以确定该用户为交集用户。
本申请实施例中,所述第一密文数据集可以包括利用第一加密算法加密所述用户标识信息,所述第二密文数据集可以包括利用第二加密算法加密所述用户标识信息。所述第一加密算法、所述第二加密算法可以包括不可逆加密算法,即无法通过逆向算法获取所述第一密文数据集和所述第二密文数据的加密前数据。并且,先经过所述第一加密算法后经过所述第二加密算法加密与先经过所述第二加密算法后经过所述第一加密算法加密是对称的加密。也就是说,同样的数据先经过第一加密算法加密再经过所述第二加密算法加密与先经过所述第二加密算法加密再经过第一加密算法加密得到的密文是相同的。
基于此,所述服务器在获取所述第一密文数据集和所述第二密文数据集之后,可以分别确定所述第一密文数据集和所述第二密文数据集的二次密文数据集。所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密。本申请实施例中,所述用户标识信息经过所述第一加密算法、所述第二加密算法的两种加密顺序加密为对称加密。对于所述第一客户端和所述第二客户端的用户标识信息而言,交集用户的用户标识信息经过所述第一加密算法和所述第二加密算法的两种加密顺序加密后的数据是相同的,因此,所述第一密文数据集和所述第二密文数据集的二次密文数据集的交集即为交集用户的用户标识信息的密文。具体地,可以利用以下表达式表示:
F(G(X))=G(F(X)) (1)
其中,X为原始数据,F()为所述第一加密算法,G()为所述第二加密算法。在一些示例中,满足公式(1)的所述第一加密算法、所述第二加密算法可以包括Curve25519算法、BigInteger算法等等,在此不做限制。
在本申请实施例中,为了进一步加强利用所述第一加密算法、所述第二加密算法加密的安全性,还可以在加密计算过程中利用加盐算法。在加盐算法中,盐值可以包括字符串,该字符串可以插入所述第一加密算法或者所述第二加密算法所利用的加密密钥中的固定位置处。
为了进一步保证数据传输的安全性,在数据传输之前,所述第一客户端和所述第二客户端还可以进一步对所述第一密文数据集或者所述第二密文数据集进行加密。所述第一客户端还可以生成第一加密密钥,并利用所述第一加密密钥加密所述第一密文数据集。另外,还可以利用所述服务器的加密公钥加密所述第一加密密钥,并将利用所述第一加密密钥加密后的第一密文数据集以及利用所述加密公钥加密后的第一加密密钥一起作为第一原始数据发送至所述服务器。同样地,对于所述第二客户端而言,可以生成第二加密密钥,并利用所述第二加密密钥加密所述第二密文数据集。另外,还可以利用所述服务器的加密公钥加密所述第二加密密钥,并将利用所述第二加密密钥加密后的第二密文数据集以及利用所述加密公钥加密后的第二加密密钥一起作为第二原始数据发送至所述服务器。其中,所述服务器的加密公钥在所述第一客户端和所述第二客户端注册时互换过。需要说明是,所述第一加密密钥、所述第二加密密钥可以是所述第一客户端或者所述第二客户端随机生成的密钥,例如可以利用密钥生成工具随机生成AES加密密钥,而非固定的密钥,能够进一步保证数据加密的安全性。
基于此,所述服务器接收所述第一原始数据和所述第二原始数据之后,可以利用加密私钥解密得到所述第一加密密钥和所述第二加密密钥。然后,可以利用所述第一加密密钥解密得到所述第一密文数据集,利用所述第二加密密钥解密得到所述第二密文数据集。
本申请实施例中,为了进一步保证数据传输的安全性,所述第一原始数据和所述第二原始数据中还可以包括数字签名,所述数字签名可以基于加密后的所述第一密文数据集或者所述第二密文数据集以及时间戳信息生成。在一个示例中,所述数字签名的算法可以包括哈希算法,如SHA256、SHA512、MD4、MD5等等。由于所述数字签名基于时间戳信息生成,且所述时间戳信息每次都不相同,因此,即使第一密文数据集每次都相同,通过所述数字签名也可以保证数据传输的安全性和保密性。在所述第一原始数据或者所述第二原始数据中包括数字签名的情况下,所述服务器在接收到所述第一原始数据或者所述第二原始数据之后,可以验证所述数字签名。在所述数字签名通过验证的情况下,继续解密得到所述第一密文数据集或者所述第二密文数据集。
本申请实施例中,所述服务器在确定所述第一密文数据集和所述第二密文数据集的二次密文数据集的过程中,可以由所述服务器二次加密,也可以由所述第一客户端或者所述第二客户端加密。在一个实施例中,在所述第一密文数据集或者所述第二密文数据集数据量较大的情况下,可能对所述第一客户端或者所述第二客户端的计算负担较大,基于此,可以由所述服务器对所述第一密文数据集和/或所述第二密文数据集进行二次加密。那么,所述服务器可以获取所述第一加密算法和所述第二加密算法。然后,可以利用所述第二加密算法对所述第一密文数据集加密,生成所述第一密文数据集的二次密文数据集,利用所述第一加密算法对所述第二密文数据加密,生成所述第二密文数据集的二次密文数据集。
本申请的实施例中,在所述第一密文数据集或者所述第二密文数据集的数据量较小的情况下,可以由所述第一客户端对所述第二密文数据集或者由所述第二客户端对所述第一密文数据集进行二次加密。在此过程中,所述服务器可以将所述第一密文数据集发送至所述第二客户端,将所述第二密文数据集发送至所述第一客户端。所述第二客户端可以利用所述第二加密算法对所述第一密文数据集进行二次加密,并生成所述第一密文数据集的二次加密数据。所述第一客户端可以利用所述第一加密算法对所述第二密文数据集进行二次加密,生成所述第二密文数据集的二次加密数据。
本申请实施例中,所述服务器在获取到所述第一密文数据集和所述第二密文数据集的所述二次密文数据集之后,可以确定所述二次密文数据集的交集。计算得到的交集可以利用下述公式(2)表示:
D=F(G(Y))∩G(F(X)) (2)
其中,D为交集,X为所述第一密文数据集加密前的原始数据,F()为所述第一加密算法,F(X)为所述第一密文数据集,Y为所述第二密文数据集加密前的原始数据,G()为所述第二加密算法,G(Y)为所述第二密文数据集。
本申请实施例中,所述服务器在确定所述第一密文数据集和所述第二密文数据集的所述二次密文数据集的交集之后,可以将所述交集发送至所述第一客户端和/或所述第二客户端。当然,在发送过程中,为了加强数据传输的安全性,可以利用与上述实施例中所述第一客户端或者第二客户端向所述服务器传输数据相同的方式传输数据至所述第一客户端和/或所述第二客户端。具体地,可以在所述服务器生成第三加密密钥,并利用所述第三加密密钥加密所述交集。然后,可以获取所述第一客户端和/或所述第二客户端的加密公钥,具体可以根据所述第一客户端和所述第二客户端是否需要所述交集。在获取到所述加密公钥之后,可以利用所述第一客户端和/或所述第二客户端的加密公钥加密所述第三加密密钥,再将加密后的所述交集和所述第三加密密钥发送至所述第一客户端和/或所述第二客户端。当然,还可以生成数字签名,并将所述数字签名与加密后的所述交集、加密后的所述第三加密密钥发送至所述第一客户端和/或所述第二客户端,对此不再赘述。另外,与上述实施例相同,所述数字签名还可以基于时间戳信息生成,在此不再赘述。在所述第一客户端或者所述第二客户端解密得到所述交集的过程可以参考所述服务器解密得到所述第一密文数据集和所述第二密文数据集的过程,在此不再赘述。
本申请实施例中,所述第一客户端或者所述第二客户端获取到所述交集之后,可以根据所述交集确定交集用户。在其中的一个实施例中,所述服务器还可以获取到与所述与用户标识信息相对应的用户编码,所述用户编码可以用于表示对应的用户在机构本地的唯一标识信息,如“037654”、“B-37-6721”这样的编码,并且只有机构自己可以获取到用户与用户编码之间的对应关系。基于此,所述服务器在确定出所述第一密文数据集和所述第二密文数据集的二次密文数据集的交集之后,可以将确定交集中单个用户所对应的用户编码,并将所述用户编码发送至所述第一客户端或者所述第二客户端。所述第一客户端或者所述第二客户端可以根据所述用户编码确定对应的交集用户。
所述第一客户端或者所述第二客户端在确定交集用户之后,可以分享所述交集用户的用户数据。其中,分享数据的范围可以在用户授权的情况下根据双方的约定确定,也可以有拥有数据的一方确定分享的范围。当然,在数据分享的过程中,可以由分享用户数据的客户端将待分享的用户数据进行加密,并将加密后的用户数据上传至所述服务器,并由所述服务器将加密后的用户数据发送至接收数据的客户端。当然,加密的方式可以参考上述实施例,例如,分享用户数据的客户端可以首先获取到接收数据的客户端的加密公钥,然后随机生成第四加密密钥,并利用所述第四加密密钥加密待分享的用户数据,以及利用所述接收数据的客户端的加密公钥加密所述第四加密密钥。最后,可以将加密后的所述第四加密密钥以及加密后的待分享的用户数据上传至所述服务器。所述接收数据的客户端可以从所属服务器获取以上数据,并利用对应的加密私钥解密得到所述第四加密密钥,以及利用所述第四加密密钥解密得到分享的用户数据。
本申请提供的数据处理方法,可以利用二次加密的方式加密两个不同客户端的用户标识信息,二次加密的方式是两个客户端分别利用各自的加密算法对所述用户标识信息进行一轮加密之后,然后分别利用对方客户端的加密算法对一轮加密后的数据进行加密,这样,进行二次加密后的用户标识信息实现对称加密,即相同的用户标识信息经过二次加密后的密文是相同的。另外,对于共享用户数据的双方机构,用户标识信息作为用户的唯一标识,可以通过本申请实施例提供的算法快速确定交集用户,在确定交集用户之后,再确定具体共享用户的哪些数据。因此,本申请实施例提供的数据处理方法,能够在不泄露用户数据的情况下,快速确定两个机构所拥有的共同用户。
本申请另一方面还从客户端的角度提供一种数据处理方法,所述方法包括:
发送第一密文数据集,所述第一密文数据集包括利用第一加密算法加密的多个用户的用户标识信息;
接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果,所述第二密文数据集包括利用第二加密算法加密的多个用户的用户标识信息;
所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密。
可选的,在本申请的一个实施例中,在所述接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果之前,所述方法还包括:
接收第二密文数据集;
利用所述第一加密算法加密所述第二密文数据集,生成所述第二密文数据集的二次密文数据集;
发送所述第二密文数据集的二次密文数据集。
可选的,在本申请的一个实施例中,在所述发送第一密文数据集之前,所述方法还包括:
发送注册请求至服务器,所述注册请求中包括网址信息;
接收注册标识信息以及所述服务器的加密公钥。
可选的,在本申请的一个实施例中,所述发送第一密文数据集,包括:
生成第一加密密钥;
利用所述第一加密密钥加密所述第一密文数据集;
利用所述服务器的加密公钥加密所述第一加密密钥;
发送第一原始数据,所述第一原始数据中包括加密后的所述第一密文数据集和加密后的所述第一加密密钥。
可选的,在本申请的一个实施例中,所述第一原始数据中还包括数字签名,所述数字签名基于所述加密后的所述第一密文数据集、时间戳信息生成。
可选的,在本申请的一个实施例中,所述接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果,包括:
接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集加密后的交集结果和加密后的第三加密密钥,其中,所述交集结果被设置为利用所述第三加密密钥加密,所述第三加密密钥被设置为利用加密公钥加密;
利用加密私钥解密得到所述第三加密密钥;
利用所述第三加密密钥解密得到所述交集结果。
可选的,在本申请的一个实施例中,所述方法还包括:
根据所述交集结果确定交集用户。
可选的,在本申请的一个实施例中,所述发送第一密文数据集,包括:
发送第一密文数据集以及所述多个用户对应的用户编码。
可选的,在本申请的一个实施例中,所述根据所述交集结果确定交集用户,包括:
获取所述交集结果中的用户编码;
根据所述用户编码确定对应的用户标识信息。
可选的,在本申请的一个实施例中,所述方法还包括:
发送交换请求;
接收加密后的用户数据和加密后的第四加密密钥,所述用户数据被设置为利用第四加密密钥加密,所述第四加密密钥被设置为利用加密公钥加密;
利用加密私钥解密得到所述第四加密密钥;
利用所述第四加密密钥解密得到所述用户数据。
可选的,在本申请的一个实施例中,所述方法还包括:
接收交换请求,并返回同意交换的答复消息;
接收请求客户端的加密公钥;
生成第四加密密钥,并利用所述第四加密密钥加密交集用户的用户数据,以及利用所述请求客户端的加密公钥加密所述第四加密密钥;
发送加密后的用户数据和加密后的第四加密密钥。
可选的,在本申请的一个实施例中,所述用户数据包括与用户特定服务相关的数据,所述用户特定服务包括医疗服务、产品推荐、健康服务、企业管理服务中的一种。
有关上述实施例的具体实施方式,可以参考从服务器端描述的数据处理方法的实施例,在此不再赘述。
对应于上述数据处理方法,如图8所示,本申请还提供一种用户数据处理装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时可以实现上述任一实施例所述的数据处理方法。
本申请另一方面还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任一实施例所述方法的步骤。
所述计算机可读存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。本实施例所述的计算机可读存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (25)
1.一种数据处理方法,其特征在于,所述方法包括:
获取第一客户端的第一密文数据集和第二客户端的第二密文数据集,所述第一密文数据集包括利用第一加密算法加密的多个用户的用户标识信息,所述第二密文数据集包括利用第二加密算法加密的多个用户的用户标识信息;
确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集,所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密;
确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集,并生成交集结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集,包括:
获取所述第一加密算法和所述第二加密算法;
利用所述第二加密算法对所述第一密文数据集加密,生成所述第一密文数据集的二次密文数据集,利用所述第一加密算法对所述第二密文数据加密,生成所述第二密文数据集的二次密文数据集。
3.根据权利要求1所述的数据处理方法,其特征在于,所述确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集,包括:
将所述第一密文数据集发送至所述第二客户端,所述第二客户端被设置为利用所述第二加密算法对所述第一密文数据集加密,生成所述第一密文数据集的二次密文数据集;
将所述第二密文数据集发送至所述第一客户端,所述第一客户端被设置为利用所述第一加密算法对所述第二密文数据集加密,生成所述第二密文数据集的二次密文数据集。
4.根据权利要求1所述的数据处理方法,其特征在于,在所述获取第一客户端的第一密文数据集和第二客户端的第二密文数据集之前,所述方法还包括:
接收所述第一/二客户端的注册请求,所述注册请求中包括所述第一/二客户端的网址信息;
响应于所述注册请求,生成针对所述第一/二客户端的注册标识信息;
根据所述第一/二客户端的网址信息,将所述注册标识信息以及加密公钥发送至所述第一/二客户端。
5.根据权利要求4所述的数据处理方法,其特征在于,所述获取第一客户端的第一密文数据集和第二客户端的第二密文数据集,包括:
接收第一客户端的第一原始数据、第二客户端的第二原始数据;所述第一原始数据中包括利用第一加密密钥加密后的第一密文数据集以及利用所述加密公钥加密后的所述第一加密密钥,所述第二原始数据中包括利用第二加密密钥加密后的第二密文数据集以及利用所述加密公钥加密后的所述第二加密密钥;
利用所述加密公钥对应的私钥解密得到所述第一加密密钥和所述第二加密密钥;
利用所述第一加密密钥解密得到所述第一密文数据集,并利用所述第二加密密钥解密得到所述第二密文数据集。
6.根据权利要求5所述的数据处理方法,其特征在于,所述第一原始数据、所述第二原始数据中还包括数字签名,所述数字签名基于加密后的所述第一/二密文数据集、时间戳信息生成。
7.根据权利要求1所述的数据处理方法,其特征在于,在所述确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集,并生成交集结果之后,包括:
将所述交集结果发送至所述第一客户端和/或所述第二客户端。
8.根据权利要求7所述的数据处理方法,其特征在于,所述将所述交集结果发送至所述第一客户端和/或所述第二客户端,包括:
生成第三加密密钥,并利用所述第三加密密钥加密所述交集结果;
获取所述第一客户端和/或所述第二客户端的加密公钥;
利用所述第一客户端和/或所述第二客户端的加密公钥加密所述第三加密密钥;
将加密后的所述交集和所述第三加密密钥发送至所述第一客户端和/或所述第二客户端。
9.根据权利要求1所述的数据处理方法,其特征在于,所述确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集,并生成交集结果,包括:
接收所述第一密文数据集中多个所述加密后的用户标识信息在所述第一客户端中的用户编码,以及所述第二密文数据集中多个所述加密后的用户标识信息在所述第二客户端中的用户编码;
确定所述第一密文数据集的二次密文数据集和所述第二密文数据集的二次密文数据集的交集中单个密文分别在所述第一客户端或者所述第二客户端中所对应的用户编码;
将所述用户编码作为所述交集结果。
10.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
接收所述第一客户端的交换请求,并将所述交换请求发送至所述第二客户端;
接收所述第二客户端同意交换数据的答复;
向所述第二客户端发送所述第一客户端的加密公钥;
接收所述第二客户端加密后的用户数据和加密后的第四加密密钥,所述用户数据被设置为利用第四加密密钥加密,所述第四加密密钥被设置为利用所述第一客户端的加密公钥加密;
将所述加密后的用户数据和所述加密后的第四加密密钥发送至所述第一客户端。
11.根据权利要求10所述的数据处理方法,其特征在于,所述用户数据包括与用户特定服务相关的数据,所述用户特定服务包括医疗服务、产品推荐、健康服务、企业管理服务中的一种。
12.一种数据处理方法,其特征在于,所述方法包括:
发送第一密文数据集,所述第一密文数据集包括利用第一加密算法加密的多个用户的用户标识信息;
接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果,所述第二密文数据集包括利用第二加密算法加密的多个用户的用户标识信息;
所述第一密文数据集的二次密文数据集被设置为利用所述第二加密算法进行加密,所述第二密文数据集的二次密文数据集被设置为利用所述第一加密算法进行加密。
13.根据权利要求12所述的数据处理方法,其特征在于,在所述接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果之前,所述方法还包括:
接收第二密文数据集;
利用所述第一加密算法加密所述第二密文数据集,生成所述第二密文数据集的二次密文数据集;
发送所述第二密文数据集的二次密文数据集。
14.根据权利要求12所述的数据处理方法,其特征在于,在所述发送第一密文数据集之前,所述方法还包括:
发送注册请求至服务器,所述注册请求中包括网址信息;
接收注册标识信息以及所述服务器的加密公钥。
15.根据权利要求14所述的数据处理方法,其特征在于,所述发送第一密文数据集,包括:
生成第一加密密钥;
利用所述第一加密密钥加密所述第一密文数据集;
利用所述服务器的加密公钥加密所述第一加密密钥;
发送第一原始数据,所述第一原始数据中包括加密后的所述第一密文数据集和加密后的所述第一加密密钥。
16.根据权利要求15所述的数据处理方法,其特征在于,所述第一原始数据中还包括数字签名,所述数字签名基于所述加密后的所述第一密文数据集、时间戳信息生成。
17.根据权利要求12所述的数据处理方法,其特征在于,所述接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集的交集结果,包括:
接收所述第一密文数据集的二次密文数据集和第二密文数据集的二次密文数据集加密后的交集结果和加密后的第三加密密钥,其中,所述交集结果被设置为利用所述第三加密密钥加密,所述第三加密密钥被设置为利用加密公钥加密;
利用加密私钥解密得到所述第三加密密钥;
利用所述第三加密密钥解密得到所述交集结果。
18.根据权利要求12所述的数据处理方法,其特征在于,所述方法还包括:
根据所述交集结果确定交集用户。
19.根据权利要求18所述的数据处理方法,其特征在于,所述发送第一密文数据集,包括:
发送第一密文数据集以及所述多个用户对应的用户编码。
20.根据权利要求19所述的数据处理方法,其特征在于,所述根据所述交集结果确定交集用户,包括:
获取所述交集结果中的用户编码;
根据所述用户编码确定对应的用户标识信息。
21.根据权利要求12所述的数据处理方法,其特征在于,所述方法还包括:
发送交换请求;
接收加密后的用户数据和加密后的第四加密密钥,所述用户数据被设置为利用第四加密密钥加密,所述第四加密密钥被设置为利用加密公钥加密;
利用加密私钥解密得到所述第四加密密钥;
利用所述第四加密密钥解密得到所述用户数据。
22.根据权利要求12所述的数据处理方法,其特征在于,所述方法还包括:
接收交换请求,并返回同意交换的答复消息;
接收请求客户端的加密公钥;
生成第四加密密钥,并利用所述第四加密密钥加密交集用户的用户数据,以及利用所述请求客户端的加密公钥加密所述第四加密密钥;
发送加密后的用户数据和加密后的第四加密密钥。
23.根据权利要求21或22所述的数据处理方法,其特征在于,所述用户数据包括与用户特定服务相关的数据,所述用户特定服务包括医疗服务、产品推荐、健康服务、企业管理服务中的一种。
24.一种数据处理装置,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-23任意一项所述的数据处理方法。
25.一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行权利要求1-23任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010752997.1A CN114065271A (zh) | 2020-07-30 | 2020-07-30 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010752997.1A CN114065271A (zh) | 2020-07-30 | 2020-07-30 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114065271A true CN114065271A (zh) | 2022-02-18 |
Family
ID=80226683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010752997.1A Pending CN114065271A (zh) | 2020-07-30 | 2020-07-30 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114065271A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242464A (zh) * | 2022-07-01 | 2022-10-25 | 浙江网商银行股份有限公司 | 一种业务处理方法、系统、装置及设备 |
WO2024062480A1 (en) * | 2022-09-21 | 2024-03-28 | Hooxpay Ltd | Platform and method for encrypted interaction |
WO2024077948A1 (zh) * | 2022-10-13 | 2024-04-18 | 北京沃东天骏信息技术有限公司 | 匿踪查询方法、装置和系统及存储介质 |
-
2020
- 2020-07-30 CN CN202010752997.1A patent/CN114065271A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242464A (zh) * | 2022-07-01 | 2022-10-25 | 浙江网商银行股份有限公司 | 一种业务处理方法、系统、装置及设备 |
CN115242464B (zh) * | 2022-07-01 | 2023-10-13 | 浙江网商银行股份有限公司 | 一种业务处理方法、系统、装置及设备 |
WO2024062480A1 (en) * | 2022-09-21 | 2024-03-28 | Hooxpay Ltd | Platform and method for encrypted interaction |
WO2024077948A1 (zh) * | 2022-10-13 | 2024-04-18 | 北京沃东天骏信息技术有限公司 | 匿踪查询方法、装置和系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shen et al. | Privacy-preserving image retrieval for medical IoT systems: A blockchain-based approach | |
US11159315B2 (en) | Generating or managing linked decentralized identifiers | |
US11429729B2 (en) | Buckets with policy driven forced encryption | |
Tith et al. | Application of blockchain to maintaining patient records in electronic health record for enhanced privacy, scalability, and availability | |
Fabian et al. | Collaborative and secure sharing of healthcare data in multi-clouds | |
CN111986764B (zh) | 基于区块链的医疗数据分享方法、装置、终端及存储介质 | |
JP2022509104A (ja) | ブロックチェーンネットワークを介するデータの効率的且つセキュアな処理、アクセス、及び送信のためのシステム及び方法 | |
Kiah et al. | An enhanced security solution for electronic medical records based on AES hybrid technique with SOAP/XML and SHA-1 | |
CN112818380A (zh) | 业务行为的回溯处理方法、装置、设备及系统 | |
US20130006865A1 (en) | Systems, methods, apparatuses, and computer program products for providing network-accessible patient health records | |
CN114065271A (zh) | 数据处理方法及装置 | |
Zhang et al. | Sharing mhealth data via named data networking | |
Ribeiro et al. | XDS-I outsourcing proxy: ensuring confidentiality while preserving interoperability | |
Zhou et al. | A secure role-based cloud storage system for encrypted patient-centric health records | |
Hahn et al. | Efficient attribute-based secure data sharing with hidden policies and traceability in mobile health networks | |
Gajmal et al. | Privacy and utility-assisted data protection strategy for secure data sharing and retrieval in cloud system | |
Yoosuf | Lightweight fog‐centric auditing scheme to verify integrity of IoT healthcare data in the cloud environment | |
George et al. | MediTrans—Patient‐centric interoperability through blockchain | |
Kaur et al. | Attribute-based access control scheme for secure storage and sharing of EHRs using blockchain and IPFS | |
Sharma et al. | MapSafe: A complete tool for achieving geospatial data sovereignty | |
Hamrioui et al. | A systematic review of security mechanisms for big data in health and new alternatives for hospitals | |
CN114268447A (zh) | 一种文件传输方法、装置、电子设备和计算机可读介质 | |
Zhang et al. | The feasibility and significance of employing blockchain-based identity solutions in health care | |
CN112446035A (zh) | 数据管理方法及装置 | |
Souza et al. | Privacy‐ensuring electronic health records in the cloud |
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 |