当前位置:网站首页>Multi party secure computing: privacy preserving set intersection technique

Multi party secure computing: privacy preserving set intersection technique

2021-06-11 00:28:35 InfoQ

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"​​ Abstract :PSI Full name privacy protection set intersection (Private Set Intersection, PSI), It means that the two sides holding data can calculate the intersection part of the data set of both sides , Without exposing any data set information beyond the intersection .","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" This article is shared from Huawei cloud community ","attrs":{}},{"type":"link","attrs":{"href":"https://bbs.huaweicloud.com/blogs/266527?utm_source=infoq&utm_medium=bbs-ex&utm_campaign=ei&utm_content=content","title":"","type":null},"content":[{"type":"text","text":"《 Talking about PSI Privacy sets intersect 》","attrs":{}}]},{"type":"text","text":", Original author :tics Magic conch .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" PSI Full name privacy protection set intersection (PrivateSet Intersection, PSI), It means that the two sides holding data can calculate the intersection part of the data set of both sides , Without exposing any data set information beyond the intersection .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"PSI It usually has the following three characteristics :","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1.    Semi credible scenarios : Both sides of the data don't want to expose all the data , We only want to find the intersection of data sets ;","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2.    Data minimization : Data other than the intersection of data sets cannot be disclosed to any party ;","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3.    Security is calculated by both sides : The two parties involved in computing need to jointly implement a set of secure computing protocols , To ensure data security .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"PSI There are several ways to do this , Here are some common implementations and complexity .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/c5/c5de75adb571f0b8e3cb7e8c8ee6f849.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"1、 A simple case ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" According to the data selected by both parties and the field that uniquely identifies the data ( It can be understood as a primary key , for example id、 Id card 、 cell-phone number ), Find records shared by two datasets , And stored in the same order as the alignment results .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" for example :A、B There are two tables on both sides a and b, Respectively ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" surface a  Personnel deposit form :","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/6d/6d67475b535f3c50e0b994481c96546f.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"​ surface b  Consumption summary :","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/7d/7dc9ac598574d63d7281104b8c1cb808.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Both parties conduct the transaction through the ID card field PSI, Calculate that the last shared records are the three marked in red , give the result as follows :","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/43/4369cc726b6774cfcc2ca0f85e200dce.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" In the process ,A Fang doesn't want B Fang knows the intersection data of bank card deposits ,B Fang doesn't want to A Fang knows the annual consumption of the intersection data , meanwhile A Fang should not know B Fang still has “01234” ID card users , vice versa . Both sides should only know that the ID card in the result is the intersection of data sets .","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2、 Technical principle ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Here's a brief introduction to the implementation of PSI.","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/cd/cdaedef15d296e897eb179c24c5691f8.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"​ Suppose there are two sides A、B, There were X、Y data id aggregate .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1.    H() Refer to A、B Both sides on their own data id Gather and do it once hash, Make sure that both sides PSI Calculate the equal length of data ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2.    B A random factor generated by using a pseudo-random function r, Multiply by your own H(Y), And given a A Fang ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3.    A Party uses the key generated by the pseudo-random function k, Multiply by your own H(X) and B It's from Fang B1 obtain A and B2, And send both calculations to B Fang ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4.    B Fang is using random factors r The inverse of r-1 multiply B2, Eliminate the random factor r, obtain B","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"5.    A and B Use the same key k encryption , Then we can compare ciphertext and calculate intersection ","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"3、 Application scenarios ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":" Calculate the actual effect of advertising ","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Online advertising is an important form of advertising . A common way to measure the effectiveness of advertising is to calculate the so-called conversion rate , That is to say, how many of the users who browse the advertisement finally browse the corresponding product page , Or finally bought the corresponding goods or services . A general calculation method is to calculate the user information of browsing advertisement ( Owned by the sender of the advertisement ) And user information to complete the corresponding transaction ( Owned by merchants ) To calculate the intersection of ( Such as calculating the total amount of transactions or the total volume of transactions, etc ).","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":" Looking for contacts ","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" When a user signs up for a new service ( Such as WeChat 、Whatsapp  etc. ) When , It is a necessary operation in most cases to find out which similar services have been registered from users' existing contacts . This can be done effectively by sending the user's contacts to the service provider , But at the same time, the user's contact information , A kind of information that is considered to be private in most cases , Also exposed to service providers . So in this scenario , Take the user's contact information as the input of one party , All the user information of the service provider is used as the input of the other party PSI  Protocol can complete the function of discovering contacts , And it can prevent information outside the intersection from leaking to any party .","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":" Federal learning sample alignment ","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Before federal learning started training , It has to be based on data from both sides PSI, Using user information shared by both parties ( For example, users ID) Find the intersection , So as to correspond to the characteristics and labels of the two data , It makes sense to train models on aligned data sets .","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"4、 Reference resources ","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Privacy preserving set intersection technology PSI — Xiaolu (","attrs":{}},{"type":"link","attrs":{"href":"https://blog.alienx.cn/2020/10/10/E10101535/","title":"","type":null},"content":[{"type":"text","text":"https://blog.alienx.cn/2020/10/10/E10101535/","attrs":{}}]},{"type":"text","text":")","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" Cui Hongrui , Liu Tianyi , Yu Yu , Cheng Yueqiang , Zhang Yulong , Wei Tao : Multi party secure computing hotspots - Privacy preserving set intersection technology (PSI) Analysis and Research Report  (","attrs":{}},{"type":"link","attrs":{"href":"https://anquan.baidu.com/upload/ue/file/20190814/1565763561975581.pdf","title":"","type":null},"content":[{"type":"text","text":"https://anquan.baidu.com/upload/ue/file/20190814/1565763561975581.pdf","attrs":{}}]},{"type":"text","text":")","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://bbs.huaweicloud.com/blogs?utm_source=infoq&utm_medium=bbs-ex&utm_campaign=ei&utm_content=content","title":"","type":null},"content":[{"type":"text","text":" Click to follow , The first time to learn about Huawei's new cloud technology ~","attrs":{}}]}]}]}

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/05/20210522125631698p.html

随机推荐