選擇什么樣的“輪子” 來推動數據要素安全流通的“穩”與“健”
文 / 中銀金科創新研究中心 石新蕾 張翼飛
上海市多方安全計算技術創新中心 陳立峰
金融業一直是探索利用科技手段促進數據要素價值釋放的前沿行業。在數據成為生產要素并推動其流通的情況下,隱私計算技術及其在行業的應用正在加速發展。
隱私計算技術依賴于豐富的密碼學算法協議體系,既有面向底層的非交互式密碼算法(如對稱密碼、非對稱密碼和雜湊函數等),也有面向應用的交互式密碼算法(如不經意傳輸、多方安全計算、零知識證明等)。因此,如何選好和用好密碼學算法應用這個“輪子”來確保金融數據要素這輛車的“穩健”行駛,滿足安全性和合規性要求,成為了當前金融行業隱私計算場景應用的首要任務。
中銀金科隱私計算團隊在平臺建設經驗積累的基礎上,形成了一定的認識和獨到的見解。團隊認為選好用好隱私計算的密碼學算法需要具備“天時”地利” “人和”。
如何選擇輪子
1.選擇具備“天時”的輪子
一些密碼學算法因其存在缺陷容易被破解因而被棄用,需要進行進一步的算法迭代,使用新的版本。即:好輪子需要具備“天時”。
以散列算法為例。在隱私計算平臺的各類場景中,有多個場景需要用到散列算法。散列算法存在多個系列的算法實現,著名的有MD系列、SHA系列等。其中 MD5 已經可以在 221 復雜度內完成碰撞,谷歌也于2017年初在 264 復雜度內完成了第一次 SHA-1 碰撞。至此,MD5 和 SHA-1 已經在安全領域被廢棄。
當前除了 SHA-2、SHA-3 之外,還有另外一個哈希算法系列BLAKE2可供選擇。BLAKE2是基于BLAKE的設計,于2012年公布。其設計初衷是為了替代廣泛引用但是存在安全風險的MD5和SHA-1算法。BLAKE2 系列比常見的 MD5、SHA-1、SHA-2、SHA-3 更快,同時提供不低于 SHA-3 的安全性。目前已應用于OpenSSL、wolfSSL、Linux內核等諸多著名項目中。
BLAKE2主要有兩個版本 BLAKE2b(BLAKE2)和 BLAKE2s。BLAKE2b 為 64 位 CPU(包括 ARM Neon)優化,可以生成最長64字節的摘要;BLAKE2s 為 8-32 位 CPU 設計,可以生成最長 32 字節的摘要。二者的衍生版 BLAKE2bp 和 BLAKE2sp 可以進行多核并行計算,在保持相同安全性的前提下,進一步提升計算速度。
距 2008 年的初代 BLAKE 算法獲得 NIST 認可具有 SHA-3 同級別安全性,已經過去了將近 10 年, BLAKE2 也已經成熟,或許能成為 SHA-2/3 之外一個不錯的選擇。
2.選擇具備“地利”的輪子
一些密碼學算法雖然經過安全性驗證且具備一定強度,但在某些特定場景下仍有可能泄露需要隱私保護的信息,從而不適用于該類場景,需要用戶選擇更加適配的算法。即:好輪子需要具備“地利”。
以多方安全計算為例。基于秘密共享的多方安全計算協議有很多種,最典型的兩種是SPDZ和ABY3,其中SPDZ是多方協議,即可用于任何多方場景,ABY3則僅限于三方計算場景。
在SPDZ協議中,參與計算的數據預先作加性秘密共享,即將數據隨機分解成若干份碎片,使其和等于原數據,碎片的個數與參與方相同,每個參與方獲得其中一份,各個參與方獲得的碎片各不相同。
在ABY3協議中,參與計算的數據同樣按照加性秘密共享將數據分成3份,3個參與方中的任何一個獲得其中2份。
從兩種計算協議的對比可以看出,在三方安全計算的場景中,ABY3協議是無法抗合謀攻擊的,因為任何兩方的聯合都可以將秘密共享前的隱私輸入數據恢復。但是SPDZ可以抵抗這種兩方合謀竊取數據的陰謀,因為缺少任何一個參與方所唯一掌握的碎片都無法恢復出原始數據。
因此雖然ABY3在性能方面有一定優勢,但在無法確認各個參與方之間不存在合謀的可能性時,在任意多方的場景中優先選擇SPDZ協議能實現更好的安全性。
以國密算法為例。在使用已有成熟的隱私計算框架前提下,使用我國自主研發的密碼算法來替換框架中的非自主密碼算法,是保護國內各項數據進行交互的過程中數據安全的必由之路。
國密算法是由國家密碼局認定的密碼算法,根據不同的功能用途和管理要求,現已經頒布多個標準,包括SM1、SM2、SM3、SM4、SM7、SM9等算法。但是國密標準算法的用處非常具有針對性,例如只針對對稱加密、非對稱密碼、散列函數等特定單一功能,而隱私計算所涵蓋的已經不是簡單的使用這些功能了,所以需要作隱私計算相關算法的國密化改造來滿足這些特殊場景的需求。
例如,安全求交功能可將橢圓曲線算術、分組密碼算法、散列算法這三部分功能抽象化,并且用國密SM2、SM4、SM3分別實例化這些模塊,從而得到完全使用國密算法的安全求交產品。
如何用好輪子——選擇具備“人和”效果的輪子
特定場景下的密碼學算法能夠滿足安全要求,但由于某些場景中場景方希望得到授權范圍之外的信息,從而出現違規情形,使得正確的“輪子”用在了未遵守交規的“車子”上,必須通過完善的授權機制和配套措施來確保算法使用安全合規。即:好輪子需要具備“人和”。
1.確保數據處理符合用戶授權
根據《個人信息保護法》第七條及《GB/T 35273—2020 信息安全技術 個人信息安全規范》,個人信息處理的一般原則要求數據處理者在收集、使用用戶數據前獲得有效的授權同意,明確數據使用的目的、方式、范圍和規則等內容。
即使隱私計算過程可能并不涉及原始數據的外部流轉,但由于隱私計算對數據的處理無法達到匿名化的理想效果,參與方仍應嚴格遵守數據處理規則。在用戶授權鏈條的完整性方面,隱私計算平臺需要通過一定的法律合規機制來保障用戶授權覆蓋隱私計算各參與方及其全部操作行為。
2.確保應用場景符合用戶授權
《個人信息保護法》第五十五條規定,當個人信息處理者在處理敏感個人信息、利用個人信息進行自動化決策、委托處理個人信息、向其他個人信息處理者提供個人信息、公開個人信息等情形時,應當事前進行個人信息保護影響評估,并對處理情況進行記錄。
因此,平臺應監督各參與方采取如下措施:針對采用隱私計算處理的具體場景,各環節是否涉及敏感個人信息、是否會對個人權益產生重大影響等事項,對隱私計算項目進行事前的個人信息安全影響評估。評估的具體內容包括但不限于:數據的處理目的和方式是否合法、正當和必要;對個人權益的影響及安全風險;保護措施是否合法、有效及與風險程度相適應等。
結束語
聯邦學習是一個應用框架,可以用不同的技術方案實現不同的安全保護,如想做到數據安全,除必須依賴密碼學難題并遵循學界公認的標準外,還需要結合數據細粒度授權、數據使用權責的保護、日志審計監督機制等全力滿足合規要求。當然,一個機器學習模型本身就是對訓練數據的統計特征刻畫,所以,只要訪問次數足夠多,模型反演或者知識蒸餾總能夠還原出這些統計特性。因此,即使計算過程是安全的,也不能完全保證隱私不被泄漏,這屬于AI安全的研究范疇了。弄清楚了這些概念,可以清晰地定義多方安全計算、差分隱私等技術能夠解決問題的邊界在哪兒。
未來,中銀金科將持續不斷研究隱私計算領域的技術創新,聯合包括上海市多方安全計算技術創新中心、交大密碼所等機構,秉持自研可控的技術理念,打造保護數據隱私安全且滿足跨媒介數據間協同計算、協同建模、協同查詢等多樣性應用場景需求的安全計算平臺,重塑金融、運營商、政務、醫療、工業互聯網等各行業的生態,促進數據安全與數據開放的共贏。