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

2024-01-13 01:59

本文主要是介绍基于数据混淆实现匿踪查询功能的系统及其方法——富数科技,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景及场景

1、现有技术中,数据价值随着拥有者的增加而减少:

在数据共享应用中,数据累积是让企业不想分享他数据的重要原因。当一份数据
只有自己有时他的市场价值为n,当企业不论是收费或免费将数据提供给另一个人时,他的
价值就变成了n/2,随着知道此数据的人数越来越多,价值直线下降,最终会变成一个公开
数据。

2、 查询本身就是一种数据:
参与数据交换的双方都会存在这种担忧,数据输出者的担忧很直接,他提供了自
己的数据,由于数据的可复制性,对方即知道了此数据。同样对于查询方而言一样存在这种
数据泄漏,当查询方向输出方查询用户a的数据时,输出方即知道了a这个用户在查询方的
业务场景中,而累积此数据便可使此类数据产生价值

3、互联网贷款场景案例:
在信贷场景中,由于放贷公司数据不完整,所以会向第三方购需数据,比如有一家
公司x,向信贷企业提供黑名单服务,x公司有一个用户逾期的库,信贷公司y想在x公司查询
用户a是否在黑名单库中。当x收到y公司请求时,便知道用户a正在y公司申请贷款,如果有
很多信贷公司都通过y公司来查询用户是否在黑名单中,那么y公司便可以知道一个用户是
否存在多头借贷的风险。
4、用户特征数据共享场景案例:
一个手机APP会根据不同的用户来显示不同的产品或广告,通常一个APP只有用户
的部分数据,为了达到更加精准的消息推送,需要有更广泛的用户标签。在数据市场中有很
多提供用户画像的公司,这些公司的输入为用户标识如:手机号、身份证号、手机设备码等。
需求方输入用户标识,提供方根据这些信息从自已的库中找到信息,输出给需求方。由于提
供用户画像公司知道请求APP的性质,如为交友类、贷款类、旅游类等,所以数据的提供方在
提供给需求方数据的同时,也知道了这个用户正在使用什么APP,对此数据按用户进行聚合
可以衍生出用户的其他特征。

二、方案:

步骤:

(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)所述的数据输出服务模块将加密后的数据返回至查询模块;
(5)所述的验证单元通过数据输出服务模块提供的随机数和公钥进行加密,在返
回数据中查询是否存在加密后的字符串,如果是,则对方包含该用户的数据;否则,对方不包含该用户的数据。

举例:

场景假设为需求方通过身份证号来供方查询指定用户是否为黑名单用户。
[1] 供方对身份证号进行散列,散列的算法要保证低碰撞率(假设我们以md5方式进行
散列)。供方对身份证号进行散列后作为查询key进行存储;
[2] 需方现在查询a用户是否在供方黑名单库中,先将身份证号进行md5,然后再随机
生成若干个假的身份证号的md5(比如9个),对这10个md5值去掉后面若干位,如:只保留前
面的7位;
[3] 将10个只有7位md5码的号码发送给供方,供方在自己库中匹配前7位符合的用户,
比如取到8位;
[4] 供方再随机生成若干个假的md5码(如13个),共20个号码,对这20个完整号码添加
随机数后用公钥进行加密,返回给需方;
[5] 需方取用户a的md5码用供方提供的随机数和公钥加密,然后在20个号码中查询是
否存在加密后的字符串;如果存在,则说明对方有此用户的数据,反之没有。
[6] 将身份证号md5的目的是为了增加枚举的成本,如果只隐藏身份证号的若干位,那
么一方面号码本身有明确信息,如前有地区信息,出生信息等;另一方面可以对缺失位进行
小范围的枚举。如果用md5后枚举难度为36^25(只显示7位那md5被隐藏了25位,每位有36种
可能);
[7] 发送请求时加入假信息目的是为了即使对方有完整的库,且前7位只匹配到1位,
那么也无法判断这1位是否是需方真正要查的那一位;


 

这篇关于基于数据混淆实现匿踪查询功能的系统及其方法——富数科技的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599880

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu