⑴ 數據加密方式有哪些
對稱加密:三重DES、AES、SM4等
非對稱加密:RSA、SM2等
其他的保護數據隱私的方法還有同態加密、差分隱私、安全多方計算等
目前我們公司一直和上海安策信息合作的,安策信息研發了好幾種數據加密工具,包括加密狗、加密機、動態口令、加密工具等網路也有很多相關資料。
⑵ 隱私保護技術 同態加密
安全多方計算
同態加密
差分隱私
同態加密逐漸被認為是在 PPML 中實現安全多方計算的一種可行方法。
設 表示使用 作為加密密鑰的加密函數。設 表示明文空間, 且 表示密文空間。一個安全密碼系統若滿足以下條件,則可被稱為同態的(homomorphic):
對於 中的運算符 和 中的運算符 , 符號表示左邊項等於或可以直接由右邊項計算出來,而不需要任何中間解密。在本書中,我們將同態加密運算符設為 ,並且對密文的加法操作和乘法操作按如下方式重載:
加法:
標量乘法:
同態加密方法分為三類:部分同態加密 (Partially Homomorphic Encryption, PHE),些許同態加密 (Somewhat Homomorphic Encryption, SHE) 和全同態加密 (Fully Homomorphic Encryption, FHE)。
//待補充
⑶ 隱私計算-密碼學-同態加密
近年來,隨著大數據與人工智慧的盛行,針對個人的個性化的推薦技術的不斷發展,人們在享受便利的同時,也深深的感覺到無處不在的監控與監事,比如剛剛瀏覽了一個網站的商品,當去其他網站訪問的時候就會推薦類似的產品;剛剛搜索了某件商品,在很多其他的場景中都會給你推薦。這種體驗,談不上不好,也談不上多壞,但是如果仔細想想,就感覺自己的網上進行裸奔,個人隱私,一清二楚,毫無隱私可言,細思極恐。
不過隨著廣大用戶對於個人隱私的重視程度不斷加強,以及法律法規的不斷完善,針對個人隱私的保護提出了更高的要求,什麼樣的數據可以採集、收集與使用,如何使用都是一個比較敏感的問題。十三屆全國人大常委會第三十次會議表決通過了《 中華人民共和國個人信息保護法 》,並與2021年11月1日起施行。確立個人信息保護原則、規范處理活動保障權益、禁止「大數據殺熟」規范自動化決策、嚴格保護敏感個人信息、賦予個人充分權利等。新規施行後,違法的主體將 最高可處五千萬以下或者上一年度營業額百分之五 以下的罰款。
鑒於上述情況,近年來隱私計算技術被不斷的提及,源於其有優秀的數據保護作用,使得 「數據不出域、數據可用不可見、數據可算不可見」 ,限定了數據的使用場景,防止了數據的泄露,而引起了業界的熱捧。
隱私計算技術的演進歷程如下圖描述,以下是楊強教授在KDD 2021中國區的分享材料:
可以看到,隱私計算技術從1979年就開始了,最開始是安全多方計算、到差分隱私、到TEE, 再到最近火的不能再火的聯邦學習 ,一系列的技術應運而生。那為啥現在隱私計算這么火呢。
註:隱私計算技術成熟度曲線
但是這些技術本身的安全加密都是採用共同的方法與策略,下面講述下隱私計算的加密技術。
本文主要介紹同態加密,
眾所周知,優秀的程序員需要 嚴謹的邏輯思維與具象能力 ,當然在材料的時候,可能需要適當的渲染。但是對於技術的理解,對技術的探索,嚴謹的邏輯與堅實的推理是非常重要的。所以,對於「數據加密」這個命題,需要進行一番探索。
如此三態合一,即可保障數據的全鏈路的生命周期安全 。
那麼有沒有辦法解決數據計算的安全問題呢?答案就是 同態加密技術 。保障數據的運行態的安全,那麼同態加密技術具體是如何實現,如何應用,並且有哪些限制呢?
什麼是同態加密? ,引用Gentry大佬的原話:
同態加密(Homomorphic Encryption, HE),指滿足密文同態運算性質的加密演算法,即數據經過同態加密之後,對密文進行某些特定的計算,得到的密文計算結果在進行對應的同態解密後的明文等同於對明文數據直接進行相同的計算, 實現數據的「可算不可見」 。同態加密的實現效果如圖所示。
舉個例子: 國內某家大型的三甲醫院,由於歷史悠久,並且醫術精湛,歷史遺留了大量的用戶病例數據 。如今思考基於這些病例數據進行建模分析。但是由於數據量特別巨大,醫院本身的IT資源有限,計算能力不足。
這個時候,雲廠商找了過來。但是對於醫院來說,這些數據本身是用戶的隱私信息,並且也是醫院的核心價值,所以盡管雲廠商再三保證數據安全, 但是醫院還是不能夠放心的將數據上傳到雲廠商進行計算 。
正當這個事情推進不下去的時候,雲廠商從密碼行業花大價錢招來某個大牛,大牛提出一個方案,這樣吧,我們現在有 這樣一門技術,不需要傳輸明文數據,只需要傳輸密文就好,而且加密秘鑰由醫院自己保存,我們基於上傳的密文數據做不解密的密態運算( 並計算函數醫院提供就好),這樣數據不會泄露,雲廠商對數據無感知,之後傳回密文結果,醫院自己解密就好 。醫院一聽非常高興,那就這么辦吧。
下面將核心流程描述下。
這里,大家可能有個問題,這個f應該是什麼樣的函數,有什麼樣的限制條件?HE方案是支持任意的數據處理方法f,還是說只支持滿足一定條件的f呢?根據f的限制條件不同,HE方案實際上分為了兩類:
Paillier加密演算法是Pascal paillier[1]在1999年發明的概率公鑰加密演算法,該演算法 基於復合剩餘類的困難問題,是一種滿足加法的同態加密演算法 ,已經廣泛應用在加密信號處理或第三方數據處理領域。
前面我們分析過 同態加密的核心流程 ,大家可以一起回憶一下。核心的函數包括:秘鑰生成、明文加密、密文解密,下面我們來一步一步的分析,並且描述下,
秘鑰的生成主要有如下的步驟,
下面介紹一個完整的同態運算,m由 組成,介紹下同態加密的是如何使用密文計算的。
⑷ 差分隱私 - Differential Privacy [1. 定義]
機器學習的主要目的是為了從數據中抓取有效信息,而隱私的目的是想要隱藏掉信息(防止個人信息泄露等)。兩者看起來有沖突,但是當我們挖掘敏感信息的時候,我們需要平衡這兩者之間的關系(保護個人隱私不被泄露的同時抓取到有效信息,從而訓練得到一個performance比較好的演算法)。所以一個比較常見的方法就是當我們從數據中抓取信息的時候,盡可能的去抓取整個population中比較general的特徵,同時保證不透露任何indivial的隱私信息。但是往往匿名化數據仍然無法保護個人隱私被泄露。比如說,如果當攻擊者掌握了一些其他的泄露信息時,他可以通過合並重疊數據得到他想要的信息。或者通過query多次結果的差異,找到他想要的信息。因此,有人提出,可以把具有相同特徵的sample合並成一個group,當整個group中sample數量達到一定程度,可以公開這個group的信息來防止敏感信息被泄露。但是即使這樣,攻擊者還是可以得到他想要的信息。
比如說,
所以Dwork提出了差分隱私(Differential Privacy)的概念,簡單來說就是通過使用隨機雜訊來確保query公開可見信息的結果並不會因為個體的變化而變化。(有一點類似model stability的感覺,比如我拿走任意一條數據或者增加新的數據並不會對整個model的performance帶來很大變化)
比較常見的有三種關於差分隱私的數學定義
這個定義的意思就是對結果加一個隨機雜訊(Gaussian noise或者Laplacian noise都可以)
這個定義了用 來表示從數據集 變成數據集 的最小的數據變化量。舉一個簡單的例子,如果兩個數據集 和 最多隻相差一條數據,那麼 . 我們又把這樣的pair (D, D') 叫做鄰近數據集(dataset neighbours,不知道是不是這么翻譯的)。
定義3就是由Dwork提出的差分隱私的default定義了,通過加入隨機雜訊,輸出一個結果的概率分布(that's the reason we use probability on both sides)。定義中的 表示,當對於數據集和它的任意鄰近數據集(表示每一條數據都需要滿足),這個機制的結果變化超過 因數的概率(其實就是把不等式右邊第二項移到左邊)。所以 代表了這個機制的confidence(值越小越confident), 則表示了隱私保護的標准(值越小,標准越嚴格,所以又叫做privacy budget)。簡而言之,就是當 和 越小的時候,兩個probability就越相近,因此隱私保護的就越好。
當我們選擇 的時候,我們要注意,當數據集中有n個samples時, 必須要小於1/n。因為顯而易見,這個機制可以滿足 -differential privacy,但是如果當 的值偏大時,這個機制有很高的概率會導致隱私泄漏。對於這個數據集中的每一條數據,都有 概率會被release出來,因為release每一條不同的數據都是獨立的,所以相當於這個機制可以release了 個sample。所以為了防止這樣的泄露, 必須要小於1/n.
通常,當 的時候,我們又把這個叫做 -differential privacy. 當 的時候, -differential privacy仍然有 的幾率會導致信息泄露,但是當 的時候,就表示,泄露的概率為0,也就是說這個隱私保護不是概率性的,所以 -differential privacy的定義要遠強於 -differential privacy。
Reference:
[1]. Ji, Zhanglong, Lipton, Zachary C., Elkan, Charles, Differential Privacy and Machine Learning: a Survey and Review .
[2]. Cynthia Dwork, Differential Privacy: A Survey of Results
⑸ Paillier同態加密演算法
Paillier加密是一種公鑰加密演算法,基於復合剩餘類的困難問題。其滿足於加法同態,即密文相乘等於明文相加,即:
密鑰生成
快速生成私鑰
在密鑰相同的情況下,可以快速生成密鑰:
, 為歐拉函數,即
加密
解密
加法同態
Paillier加密的兩個密文消息相乘的結果解密後得到兩個消息相加的結果。
對於兩個密文 和
其中 和 都是 中的元素,因此 也屬於 , 並具有相同的性質,所以 可以看作是 加密的密文, 的解密結果為 。
總結
常見的同態加密演算法中,Paillier演算法和Benaloh演算法僅滿足加法同態,RSA演算法和ElGamal演算法只滿足乘法同態,而Gentry演算法則是全同態的。
https://en.wikipedia.org/wiki/Paillier_cryptosystem
https://blog.csdn.net/sinianluoye/article/details/82855059
http://www.cs.tau.ac.il/~fiat/crypt07/papers/Pai99pai.pdf