联邦学习样本对齐之隐私集合交集RSA加盲

1 联邦学习背景

鉴于数据隐私的重要性,国内外对于数据的保护意识逐步加强。2018年欧盟发布了《通用数据保护条例》(GDPR),我国国家互联网信息办公室起草的《数据安全管理办法(征求意见稿)》因此数据在安全合规的前提下自由流动,成了大势所趋。这些法律法规的出台,不同程度的对人工智能传统处理数据的方式提出更多的挑战。
AI高度发展的今天,多维度高质量的是制约其进一步发展的瓶颈。随着各个组织对于数据的重视程度的不断提升,跨组织以及组织内部不同部门之间的数据合作将变得越来越谨慎,造成了数据大量的以孤岛的形式存在。


在这里插入图片描述

2 样本对齐概念

联邦学习的本质是基于数据隐私保护一种分布式机器学习技术或机器学习框架。它的目标是在保证数据隐私安全及合法合规的基础上,在模型无损的前提实现共同建模,提升AI模型的效果,进行业务的赋能。
联邦学习分为横向联邦学习与纵向联邦学习,本章针对纵向联邦学习的场景进行分析。相对于传统的机器学习算法训练,纵向联邦学习的样本分属于不同的组织(如下图所示),各个组织的样本的覆盖范围各有差异,所以在进行联邦模型训练的第一步就是要进行跨域的样本对齐,找出交集,交集的方式一般是通过Join健(比如下图的ID证件号),ID可以是手机号、身份证号这种非常敏感的信息,这些敏感信息不适合直接进行交集的计算,需要进行签名处理,并且要保障不被破解。有些联邦平台使用MD5,但是MD5存在撞库造假的风险,所以需要一种隐私计算发方案,比较庆幸的是,关于集合隐私交集PSI的方案还是比较多,下面就给大家分享一下。
image
                            图2 样本隐私对齐

3 隐私PSI方案介绍

目前集合隐私交集PSI的方案较多,大致有以下集中方案:
  1. Blind RSA-based PSI Protocol with linear complexity。
  2. 基于Diffie-Hellman的方案。
  3. 基于不经意传输(oblivious transfer,OT)的方案。
  4. Freedman安全求交协议。
    本章主要讲解基于Blind RSA-based PSI Protocol with linear complexity。由于该协议使用到RSA加密方案,如果不对RSA进行讲解的话,对于整个方案的推导会造成一些不便之处,所以本文先对RSA加密算法进行一些描述与讲解。

4 RSA加密方案介绍

image

首先讲解下基础的数论里面的知识,对于后续的RSA以及隐私求交协议的理解有比较大的帮助。

4.1 数学基础-RSA

以下内容来自维基百科。
RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用。RSA是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年一起提出的。当时他们三人都在麻省理工学院工作。RSA 就是他们三人姓氏开头字母拼在一起组成的。[1]
1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个与之等效的算法,但该算法被列入机密,直到1997年才得到公开。[2]
对极大整数做因数分解的难度决定了 RSA 算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA 算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用 RSA 加密的信息的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的 RSA 钥匙才可能被强力方式破解。到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被破解的。
1983年9月12日麻省理工学院在美国为RSA算法申请了专利。[3]这个专利于2000年9月21日失效。[4]由于该算法在申请专利前就已经被发表了[5],在世界上大多数其它地区这个专利权不被承认。

4.1.1 质数(素数)

质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。大于1的自然数若不是素数,则称之为合数(也称为合成数)。例如,5是个素数,因为其正约数只有1与5。而6则是个合数,因为除了1与6外,2与3也是其正约数。
算术基本定理确立了素数于数论里的核心地位:任何大于1的整数均可被表示成一串唯一素数之乘积。为了确保该定理的唯一性,1被定义为不是素数,因为在因式分解中可以有任意多个1(如3、1×3、1×1×3等都是3的有效约数分解)。

4.1.2 互质

互质是公约数只有1的两个整数,叫做互质整数。公约数只有1的两个自然数,叫做互质自然数,后者是前者的特殊情形。
例如8,10的最大公因数是2,不是1,因此不是整数互质。
7,11,13的最大公因数是1,因此这是整数互质。
5和5不互质,因为5和5的公因数有1、5。
1和任何数都成倍数关系,但和任何数都互质。因为1的因数只有1,而互质数的原则是:只要两数的公因数只有1时,就说两数是互质数。因为1只有一个因数所以1既不是质数(素数),也不是合数,无法再找到1和其他数的别的公因数了。1和-1与所有整数互素,而且它们是唯一与0互素的整数。

4.1.3 欧拉函数

在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目。例如在1到8之中,与8形成互质关系的是1、3、5、7,所以 φ(n) = 4。
特殊情况(后面RSA会有到):如果n可以分解成两个互质的整数之积,n = p1 × p2,则n的欧拉函数计算为:φ(n) = φ(p1p2) = φ(p1)φ(p2)。上述公式的证明需要用到“中国剩余定理”,有兴趣的读者可以自行查找资料研究,这里就不过多介绍了。

4.1.4 欧拉定理

前面介绍了欧拉函数,现在介绍下欧拉定理,欧拉定理里面使用了欧拉函数。欧拉定理定义:如果两个正整数a和n互质,则n的欧拉函数 φ(n) 可以让下面的等式成立,可以理解为a的φ(n)次方被n除的余数为1。

image

特例:费马小定理,
定义:假设正整数a与质数p互质,因为质数p的φ(p)等于p-1,则欧拉定理可以写成

image
也可以表示为:
image

欧拉定理是RSA算法的核心。理解了这个定理,就可以理解RSA。

4.1.5 模逆运算(模反元素)

模逆运算也叫做模反元素,定义如下:如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。

image

模拟预算在Blind RSA-based PSI Protocol with linear complexity中最后Client侧的签名的推导过程中,将会起到非常大的作用,大家到时候可以仔细体会。

4.2 RSA加密解密

4.2.1 RSA秘钥生成流程

  1. 随机选择生成两个不想动的素数P和Q。
  2. 计算P和Q的成绩N。(N的二进制的位数就是RSA秘钥的长度,从安全性来说建议1024以上,比较稳妥的选择是2048)。
  3. 计算N的欧拉函数φ(N)。
  4. 随机选择一个整数E,条件:1 < E < φ(N),且E与φ(N)互质。
  5. 计算E对于φ(N)的模反元素D。

至此,RSA算法需要的五大元素已经生产,E与N作为公钥的成员。其余都保留在私钥侧。

4.2.2 RSA加密解密流程

  1. Bob要发送的原始数据是n,加密要传输的数据c,这个计算过程并不复杂,并且将n传输给Alice,如下图:
image
  1. Alice得到Bob的消息c后,就可以利用她的密钥d来解码,计算出原始的数据n
image

4.2.3 RSA加密解密证明

image

5 Blind RSA-based PSI Protocol with linear complexity

5.1 方案介绍

image
        Blind RSA-based PSI Protocol with linear complexity

5.2 协议详细推导流程

本节将针对上一节的图进行数学公式的分析与推导,推导过程尽量详细,本章节的推导基本用到了上面介绍RSA方案中的公式,另外有兴趣的同学也可以自行看下数论里面的知识,进而完成整个PSI协议的推导。
准备工作:

  1. Server侧的样本ID集合{hc1, hc2, …,hcv},Client侧的样本ID集合{hs1, hs2, hsw}
  2. Server产生RSA加密的公钥与秘钥,秘钥保留在Server端,公钥(e,n)下发到Client端。
  3. Full-Domain Hash H。(小于n,并且与n互质,数据量特别大的情况下要考虑空间问题)。
  4. Client随机数R。(小于n,并且与n互质)
    下面详细描述下交互的流程,针对上图进行讲解。

5.2.1第一步

Server侧计算样本对齐ID(手机号、身份证号等)的最终签名。计算方式如下:
image

5.2.2 第二步
Client侧生成一个随机数Rc(大于1小于n,并且与n互质),并且针对要对齐的ID进行公钥加密处理,然后乘以Rc进行加盲扰动。

image

5.2.3 第三步
Client侧将上述加盲扰动的乘积值传递给Server侧。
5.2.4 第四步
Server侧接受Client侧发送的数据,并且进行使用私钥进行签名的初步计算。

image

5.2.5 第五步
Server侧将初步计算的签名传输给Client侧继续完成去盲的操作,生产最后的Client ID的签名工作,并且发送Server侧的ID的签名,与Client的ID签名进行样本对齐。

image

5.2.6 第六步

image

这样Client侧的ID也进行了签名,可以与Server侧的ID进行对齐了。

5.3 总结

上面已经完成了整个方案的推导过程,在推导过程中,都是根据自己的理解进行的分析,如果有不恰当的地方欢迎大家指出。
另外这个协议如果直接用到工程领域,如果数据量在可控,单机内存可以可以容纳的情况下,是没有问题的,但是基于超大数据规模的隐私对齐的时候,会有问题,笔者在京东联邦学习平台9N-FL的系统里面对协议进行了相关的改造与优化,使之适用于超大规模的样本隐私对齐,在项目中支撑千亿量级的样本的隐私对齐工作。

6 参考资料

  1. Calderbank, Michael. The RSA Cryptosystem: History, Algorithm, Primes (PDF). 2007-08-20. (原始内容 (PDF)存档于2016-12-13).
  2. ^ Cocks, C.C. A Note on Non-Secret Encryption (PDF). www.gchq.gov.uk. 1973-11-20 [2017-05-30]. (原始内容存档 (PDF)于2017-02-16).
  3. ^ Cryptographic communications system and method, 1977-12-14 [2018-04-09], (原始内容存档于2019-02-17)
  4. ^ RSA Security Releases RSA Encryption Algorithm into Public Domain. [2010-03-03]. (原始内容存档于2007-06-21).
  5. ^ Robinson, Sara. Still Guarding Secrets after Years of Attacks, RSA Earns Accolades for its Founders (PDF). SIAM News. June 2003, 36 (5) [2018-04-09]. (原始内容 (PDF)存档于2017-01-16).
  6. RSA加密算法:https://zh.wikipedia.org/wiki/RSA%E5%8A%A0%E5%AF%86%E6%BC%94%E7%AE%97%E6%B3%95
  7. Emiliano De Cristofaro and Gene Tsudik. Practical Private Set Intersection Protocols with Linear Computational and Bandwidth Complexity. Jan. 2009. Available: https://eprint.iacr.org/2009/491.pdf
  8. Gang Liang and Sudarshan S. Chawathe. Privacy-Preserving Inter-Database Operations. Jun. 2004. Available: https:// https://drum.lib.umd.edu/bitstream/handle/1903/1339/CS-TR-4564.pdf;sequence=1
  9. 崔泓睿, 刘天怡等,隐私保护集合求交技术 (PSI) 分析研究报告,https://anquan.baidu.com/upload/ue/file/20190814/1565763561975581.pdf

7 番外篇

个人介绍:杜宝坤,从0到1带领团队构建了京东的联邦学习解决方案,实现了电商营销领域支持超大规模的工业化联邦学习解决方案,支持超大规模样本PSI隐私对齐、安全的树模型与神经网络模型等众多模型支持,并且实现了业务侧的落地,开创了新的业务增长点,产生了显著的业务经济效益。
个人喜欢研究技术。基于从全链路思考与决策技术规划的考量,研究的领域比较多,从架构、数据到算法与算法框架均有涉及。欢迎喜欢技术的同学和我交流,邮箱:baokun06@163.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 一、RSA的历史 1976 年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加密;...
    开着保时捷堵你家门口阅读 2,310评论 0 1
  • 前言 本文的RSA例子代码更新在我的github上。 RSA算法是最重要算法之一,它是计算机通信安全的基石,保证了...
    game3108阅读 11,568评论 2 53
  • RSA的起源 1976年以前所有的加密方法都是同一种模式:加解密双方使用同一种规则(简称“密钥”)。这种加密方式被...
    崔希羽阅读 1,163评论 0 1
  • 推荐阅读:iOS开发——BAT面试题合集(持续更新中) 要讲逆向,那么肯定少不了密码学,因为所有的逆向(攻防)都是...
    iOS开发之家阅读 752评论 0 0
  • 密码学发展史 讨论RSA原理之前,我们先了解一下密码学的发展史。因为RSA最终形成的数学算法,也是不断演变而来的。...
    没八阿哥的程序阅读 399评论 0 1