基于数据混淆实现匿踪查询功能的系统及其方法技术方案

技术编号:22056173 阅读:44 留言:0更新日期:2019-09-07 15:34
本发明专利技术涉及一种基于数据混淆实现匿踪查询功能的系统,包括查询模块,用于通过对提供的用户标识ID进行散列计算来查询数据;数据输出服务模块,与所述的查询模块相连接,与查询模块通过https协议进行传输,用于进行数据输出;本发明专利技术还涉及一种实现基于数据混淆的匿踪查询控制的方法。采用了本发明专利技术的基于数据混淆实现匿踪查询功能的系统及其方法,对10亿随机生成的身份证号md5做测试,前7位相同的最大号码数是19,平均相同数为4,8%的号码前7位唯一。本发明专利技术中对返回结果中加入假数据在碰撞概率非常低,而且经计算在实际情况中碰撞的概率低至微乎其微,发生碰撞几乎不可能,因此本方法确保了用户的保密性和隐私性。

The System and Method of Implementing the Function of Tracing Query Based on Data Obfuscation

【技术实现步骤摘要】
基于数据混淆实现匿踪查询功能的系统及其方法
本专利技术涉及数据交换领域,尤其涉及用户数据查询领域,具体是指一种基于数据混淆实现匿踪查询功能的系统及其方法。
技术介绍
现有技术中,数据价值随着拥有者的增加而减少:在数据共享应用中,数据累积是让企业不想分享他数据的重要原因。当一份数据只有自己有时他的市场价值为n,当企业不论是收费或免费将数据提供给另一个人时,他的价值就变成了n/2,随着知道此数据的人数越来越多,价值直线下降,最终会变成一个公开数据。查询本身就是一种数据:参与数据交换的双方都会存在这种担忧,数据输出者的担忧很直接,他提供了自己的数据,由于数据的可复制性,对方即知道了此数据。同样对于查询方而言一样存在这种数据泄漏,当查询方向输出方查询用户a的数据时,输出方即知道了a这个用户在查询方的业务场景中,而累积此数据便可使此类数据产生价值。互联网贷款场景案例:在信贷场景中,由于放贷公司数据不完整,所以会向第三方购需数据,比如有一家公司x,向信贷企业提供黑名单服务,x公司有一个用户逾期的库,信贷公司y想在x公司查询用户a是否在黑名单库中。当x收到y公司请求时,便知道用户a正在y公司申请贷款,如果有很多信贷公司都通过y公司来查询用户是否在黑名单中,那么y公司便可以知道一个用户是否存在多头借贷的风险。用户特征数据共享场景案例:一个手机APP会根据不同的用户来显示不同的产品或广告,通常一个APP只有用户的部分数据,为了达到更加精准的消息推送,需要有更广泛的用户标签。在数据市场中有很多提供用户画像的公司,这些公司的输入为用户标识如:手机号、身份证号、手机设备码等。需求方输入用户标识,提供方根据这些信息从自已的库中找到信息,输出给需求方。由于提供用户画像公司知道请求APP的性质,如为交友类、贷款类、旅游类等,所以数据的提供方在提供给需求方数据的同时,也知道了这个用户正在使用什么APP,对此数据按用户进行聚合可以衍生出用户的其他特征。
技术实现思路
本专利技术的目的是克服了上述现有技术的缺点,提供了一种满足保密性、便捷性、难破解的基于数据混淆实现匿踪查询功能的系统及其方法。为了实现上述目的,本专利技术的基于数据混淆实现匿踪查询功能的系统及其方法如下:该基于数据混淆实现匿踪查询功能的系统,其主要特点是,所述的系统包括:查询模块,用于通过对提供的用户标识ID进行散列计算来查询数据;数据输出服务模块,与所述的查询模块相连接,与查询模块通过https协议进行传输,用于进行数据输出;所述的查询模块包括:第一混淆单元,用于随机生成若干个假用户标识ID,以及用于对数据保留预设位数的号码;哈希单元,与所述的第一混淆单元相连接,用于对查询数据和混淆数据进行md5计算;第一查询单元,与所述的哈希单元和数据输出服务模块相连接,用于将所述的保留预设位数的md5码的号码发生至数据输出服务模块;验证单元,与所述的查询单元相连接,用于通过数据输出服务模块提供的随机数和公钥进行加密,在返回数据中查询加密后的字符串;所述的数据输出服务模块包括:接口单元,与所述的查询模块相连接,用于在查询模块和数据输出服务模块间传输数据;第二查询单元,与所述的接口单元相连接,用于在数据库中匹配满足条件的预设位数的md5码;第二混淆单元,与所述的第二查询单元相连接,用于随机生成若干个假md5码;加密单元,与所述的第二混淆单元和接口单元相连接,用于对第二查询单元匹配到的md5码和第二混淆单元生成的假md5码添加随机数,并通过公钥进行加密,将加密后的数据返回至查询模块;数据存储单元,与所述的第二查询单元相连接,用于存储待查数据。较佳地,所述的加密单元的加密函数,具体为:根据以下加密函数进行加密:f(x)=encryption(哈希(md5_code+random_number));其中,f(x)为加密函数,random_number为随机数,md5_code为md5码。较佳地,所述的数据输出服务模块将随机数回传至查询模块。较佳地,所述的预设位数为7位。该利用上述系统实现基于数据混淆的匿踪查询控制的方法,其主要特点是,所述的方法包括以下步骤:(1)所述的查询模块生成混淆数据,并对查询数据和混淆数据进行哈希计算;(2)所述的查询模块隐藏若干位后数据,向数据输出服务模块发起查询;(3)所述的数据输出服务模块向数据库查询匹配数据,生成混淆数据;(4)所述的数据输出服务模块对真假数据进行加密并返回至查询模块;(5)所述的验证单元通过数据输出服务模块提供的随机数和公钥进行加密,在返回数据中查询是否存在加密后的字符串,如果是,则对方包含该用户的数据;否则,对方不包含该用户的数据。较佳地,所述的步骤(1)具体包括以下步骤:(1.1)所述的哈希单元对用户标识ID进行md5计算;(1.2)所述的第一混淆单元随机生成若干个假用户标识ID的md5码。较佳地,所述的步骤(2)具体包括以下步骤:(2.1)所述的第一混淆单元对其生成的假md5码和哈希单元计算后的md5码隐藏若干位数据,仅保留预设位数的号码;(2.2)所述的第一查询单元将所述的保留预设位数的md5码的号码发生至数据输出服务模块。较佳地,所述的步骤(3)具体包括以下步骤:(3.1)所述的第二查询单元在数据库中匹配满足条件的预设位数的md5码,并保存至数据存储单元;(3.2)所述的第二混淆单元随机生成若干个假md5码。较佳地,所述的步骤(4)具体包括以下步骤:(4.1)所述的加密单元对第二查询单元匹配到的md5码和第二混淆单元生成的假md5码添加随机数,并通过公钥进行加密;(4.2)所述的数据输出服务模块将加密后的数据返回至查询模块。采用了本专利技术的基于数据混淆实现匿踪查询功能的系统及其方法,对10亿随机生成的身份证号md5做测试,前7位相同的最大号码数是19,平均相同数为4,8%的号码前7位唯一。然而,进行反向枚举的前提是用户知道所有用户标识ID,而实际情况中有完整库是件非常困难的事。本专利技术中对返回结果中加入假数据在碰撞概率非常低,而且经计算在实际情况中碰撞的概率低至微乎其微,发生碰撞几乎不可能,因此本方法确保了用户的保密性和隐私性。附图说明图1为本专利技术的基于数据混淆实现匿踪查询功能的系统的结构图。图2为本专利技术的实现基于数据混淆的匿踪查询控制的方法的流程图。具体实施方式为了能够更清楚地描述本专利技术的
技术实现思路
,下面结合具体实施例来进行进一步的描述。本专利技术的该基于数据混淆实现匿踪查询功能的系统,其中包括:查询模块,用于通过对提供的用户标识ID进行散列计算来查询数据;数据输出服务模块,与所述的查询模块相连接,与查询模块通过https协议进行传输,用于进行数据输出;所述的查询模块包括:第一混淆单元,用于随机生成若干个假用户标识ID,以及用于对数据保留预设位数的号码;哈希单元,与所述的第一混淆单元相连接,用于对查询数据和混淆数据进行md5计算;第一查询单元,与所述的哈希单元和数据输出服务模块相连接,用于将所述的保留预设位数的md5码的号码发生至数据输出服务模块;验证单元,与所述的查询单元相连接,用于通过数据输出服务模块提供的随机数和公钥进行加密,在返回数据中查询加密后的字符串;所述的数据输出服务模块包括:接口单元,与所述的查询模块相连接,用于在查询模块和数本文档来自技高网
...

【技术保护点】
1.一种基于数据混淆实现匿踪查询功能的系统,其特征在于,所述的系统包括:查询模块,用于通过对提供的用户标识ID进行散列计算来查询数据;数据输出服务模块,与所述的查询模块相连接,与查询模块通过https协议进行传输,用于进行数据输出;所述的查询模块包括:第一混淆单元,用于随机生成若干个假用户标识ID,以及用于对数据保留预设位数的号码;哈希单元,与所述的第一混淆单元相连接,用于对查询数据和混淆数据进行md5计算;第一查询单元,与所述的哈希单元和数据输出服务模块相连接,用于将所述的保留预设位数的md5码的号码发生至数据输出服务模块;验证单元,与所述的查询单元相连接,用于通过数据输出服务模块提供的随机数和公钥进行加密,在返回数据中查询加密后的字符串;所述的数据输出服务模块包括:接口单元,与所述的查询模块相连接,用于在查询模块和数据输出服务模块间传输数据;第二查询单元,与所述的接口单元相连接,用于在数据库中匹配满足条件的预设位数的md5码;第二混淆单元,与所述的第二查询单元相连接,用于随机生成若干个假md5码;加密单元,与所述的第二混淆单元和接口单元相连接,用于对第二查询单元匹配到的md5码和第二混淆单元生成的假md5码添加随机数,并通过公钥进行加密,将加密后的数据返回至查询模块;数据存储单元,与所述的第二查询单元相连接,用于存储待查数据。...

【技术特征摘要】
1.一种基于数据混淆实现匿踪查询功能的系统,其特征在于,所述的系统包括:查询模块,用于通过对提供的用户标识ID进行散列计算来查询数据;数据输出服务模块,与所述的查询模块相连接,与查询模块通过https协议进行传输,用于进行数据输出;所述的查询模块包括:第一混淆单元,用于随机生成若干个假用户标识ID,以及用于对数据保留预设位数的号码;哈希单元,与所述的第一混淆单元相连接,用于对查询数据和混淆数据进行md5计算;第一查询单元,与所述的哈希单元和数据输出服务模块相连接,用于将所述的保留预设位数的md5码的号码发生至数据输出服务模块;验证单元,与所述的查询单元相连接,用于通过数据输出服务模块提供的随机数和公钥进行加密,在返回数据中查询加密后的字符串;所述的数据输出服务模块包括:接口单元,与所述的查询模块相连接,用于在查询模块和数据输出服务模块间传输数据;第二查询单元,与所述的接口单元相连接,用于在数据库中匹配满足条件的预设位数的md5码;第二混淆单元,与所述的第二查询单元相连接,用于随机生成若干个假md5码;加密单元,与所述的第二混淆单元和接口单元相连接,用于对第二查询单元匹配到的md5码和第二混淆单元生成的假md5码添加随机数,并通过公钥进行加密,将加密后的数据返回至查询模块;数据存储单元,与所述的第二查询单元相连接,用于存储待查数据。2.根据权利要求1所述的基于数据混淆实现匿踪查询功能的系统,其特征在于,所述的加密单元的加密函数,具体为:根据以下加密函数进行加密:f(x)=encryption(哈希(md5_code+random_number));其中,f(x)为加密函数,random_number为随机数,md5_code为md5码。3.根据权利要求1所述的基于数据混淆实现匿踪查询功能的系统,其特征在于,所述的数据输出服务模块将随机数回传至查询模块。4.根据权利要求1所述的基于数据混淆实现匿踪查询功能的系统,其特征在...

【专利技术属性】
技术研发人员:傅跃兵卞阳
申请(专利权)人:上海富数科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1