深入淺出隱私計算:技術解析與應用實踐

李偉榮

買這商品的人也買了...

商品描述

內容簡介
這是一本能指導零基礎讀者快速了解並上手隱私計算技術的著作,快速實現從入門到進階。
作者在金融和安全領域有10餘年的技術從業經驗,是港交所隱私計算項目的深度參與者,工程實戰經驗豐富。
本書從隱私計算的安全保護技術和應用技術兩個維度,
深入淺出地講解了6大類隱私計算技術的工作原理、應用方法、開發框架、案例實踐。
全書共11章,分為4篇:
第1篇 基礎概念(第1~2章)
講述隱私計算的基礎知識,為後續深入講解隱私計算原理和技術做鋪墊。
第二篇 安全保護技術(第3~8章)
講述隱私計算技術中的各項安全保護技術,包括深入講述混淆電路、秘密共享、
同態加密、零知識證明、差分隱私、可信執行環境等隱私計算安全保護技術。
每一項技術都講解了其原理、應用開發框架以及實踐案例。
第三篇 應用技術(第9~10章)
通過隱私保護集合交集技術、聯邦學習方面的2個綜合案例講解了隱私計算安全保護技術的應用。
第四篇 展望(第11章)
介紹了隱私計算技術標準化的相關進展,探討隱私計算技術的困境和發展前景

作者簡介

李偉榮

隱私計算專家,曾就職於微軟、平安、港交所等大型公司,擁有十年以上金融項目架構和信息安全管理經驗。
精通信息安全、軟件研發、項目管理,擅長大型軟件架構開發,善於使用創新思維和創新方法解決問題。
曾在港交所深度參與隱私計算相關項目,致力於通過隱私計算技術解決大數據產品的確權、標準化、存證、
溯源、定價、信用體系和利益分配等一系列問題,打造數據、金融資產交易的新型基礎設施。

目錄大綱


前言
篇 基礎概念
第1章 隱私計算技術的起源、發展及應用3
1.1 隱私計算技術的起源3
1.2 隱私計算的概念4
1.3 隱私計算技術的發展脈絡6
1.4 隱私計算技術是重大科技趨勢7
1.4.1 政策扶持7
1.4.2 商業市場前景8
1.4.3 商業研究機構的認同9
1.5 隱私計算技術的應用場景10
1.5.1 金融行業10
1.5.2 醫療健康行業11
1.5.3 政務行業11
1.6 本章小結12

第2章 隱私計算技術的基礎知識13
2.1 非對稱加密RSA算法13
2.1.1 RSA算法基礎13
2.1.2 密鑰生成15
2.1.3 加密與解密16
2.1.4 基於RSA算法的盲簽名17
2.2 不經意傳輸17
2.3 布隆過濾器19
2.4 隱私計算安全性假設20
2.4.1 安全行為模型20
2.4.2 不誠實門限22
2.5 本章小結22

第二篇 安全保護技術
第3章 混淆電路技術的原理與實踐25
3.1 混淆電路的原理25
3.2 開發框架Obliv-C28
3.2.1 通過Docker構建環境29
3.2.2 使用obliv修飾隱私輸入數據30
3.2.3 提供隱私輸入數據31
3.2.4 計算過程中的流程控制32
3.2.5 obliv函數33
3.2.6 對數組的訪問34
3.2.7 關鍵詞frozen34
3.2.8 高級功能:無條件代碼段35
3.2.9 Obliv-C項目的文件結構36
3.3 應用案例:解決“百萬富翁”難題40
3.3.1 具體代碼實現40
3.3.2 網絡抓包及分析42
3.4 擴展閱讀44
3.4.1 姚氏布爾電路優化44
3.4.2 算術電路44
3.5 本章小結45

第4章 秘密共享技術的原理與實踐46
4.1 秘密共享的概念46
4.2 Shamir門限秘密共享方案47
4.2.1 Shamir門限秘密共享方案流程47
4.2.2 Shamir門限秘密共享方案原理47
4.3 通過秘密共享實現隱私計算的原理49
4.4 開發框架JIFF51
4.4.1 通過Docker構建環境51
4.4.2 JIFF服務器52
4.4.3 JIFF客戶端53
4.4.4 隱私輸入數據的秘密共享55
4.4.5 秘密共享中的運算57
4.4.6 計算過程中的流程控制59
4.4.7 計算結果輸出60
4.4.8 模塊擴展62
4.4.9 使用預處理來提升性能63
4.4.10 使用並行計算來提升性能64
4.4.11 安全模型和假設68
4.5 應用案例:求向量內積68
4.5.1 具體代碼實現68
4.5.2 網絡抓包及分析71
4.5.3 性能優化72
4.6 擴展閱讀74
4.6.1 GMW協議74
4.6.2 BGW協議75
4.6.3 SPDZ協議75
4.6.4 門限簽名75
4.6.5 開發框架FRESCO76
4.7 本章小結77

第5章 同態加密技術的原理與實踐78
5.1 同態加密算法概述78
5.1.1 同態加密算法的概念78
5.1.2 同態加密算法的分類79
5.2 半同態加密算法實踐83
5.2.1 Paillier加法同態83
5.2.2 RSA乘法同態84
5.3 開發框架SEAL85
5.3.1 加密參數設置85
5.3.2 密鑰生成與加解密87
5.3.3 層的概念89
5.3.4 密文計算91
5.3.5 重線性化91
5.3.6 重縮放92
5.3.7 通過Docker構建環境94
5.4 應用案例:距離計算94
5.5 擴展閱讀99
5.5.1 標準化進展99
5.5.2 HElib99
5.5.3 PALISADE99
5.6 本章小結100

第6章 零知識證明技術的原理與實踐101
6.1 零知識證明技術的算法原理101
6.1.1 交互式零知識證明102
6.1.2 非交互式零知識證明104
6.1.3 通過R1CS來描述算術電路106
6.1.4 開發步驟108
6.2 開發框架libsnark109
6.2.1 使用原型板搭建電路110
6.2.2 生成密鑰對111
6.2.3 證明者構造證明112
6.2.4 驗證者驗證112
6.2.5 可複用的電路Gadget113
6.2.6 通過Docker構建環境114
6.2.7 代碼的編譯以及運行115
6.3 應用案例:以零知識證明方式提供財富達標證明116
6.4 同態承諾120
6.4.1 承諾的概念120
6.4.2 哈希承諾121
6.4.3 橢圓曲線121
6.4.4 Pedersen同態承諾122
6.4.5 基於Pedersen同態承諾的轉賬123
6.5 擴展閱讀123
6.5.1 Zash的Powers of Tau活動123
6.5.2 無須可信設置的技術方案Spartan124
6.6 本章小結124

第7章 差分隱私技術的原理與實踐126
7.1 差分隱私概述126
7.1.1 核心思想126
7.1.2 分類128
7.1.3 經典算法130
7.1.4 應用場景132
7.2 開發框架SmartNoise133
7.2.1 SmartNoise核心庫的組成133
7.2.2 基於核心庫進行數據分析134
7.2.3 SmartNoise SDK庫的組成137
7.2.4 基於SDK庫進行SQL統計查詢137
7.2.5 通過Docker構建環境138
7.3 應用案例:美國人口數據統計139
7.3.1 簡單幾何機制的直方圖分析139
7.3.2 拉普拉斯機制的直方圖分析141
7.4 擴展閱讀142
7.4.1 機器學習中的隱私攻擊142
7.4.2 差分隱私模型訓練開源庫Opacus143
7.5 本章小結143

第8章 可信執行環境技