亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
822
2022-05-29
1 業務場景
推進公共數據資源開發利用,是政府實現深化“放管服”改革和數字政府建設的必然要求,有利于優化產業結構,培育新增長點,發展壯大數字經濟,更好的服務于轄區企業,促進經濟高質量發展。
公共數據資源共享需求迫切,在實際落地時遇到諸多挑戰,最主要的問題是如何確保不同來源數據的安全,避免敏感數據在使用過程泄漏出去。業界主要采用可信智能計算(隱私計算)和聯邦學習等技術應對數據安全挑戰,通過建立集中式或分布式的加密計算環境,保障數據使用過程中不被泄漏,實現數據的“可用不可見”。
xx市政數局和華為合作,在華為云上創建了公共數據開放聯盟(測試環境),政府部門使用華為云賬號參與聯盟,完成政務數據注冊、數據發布等相關操作。銀行作為數據使用方,基于政府開放的公共數據,建立小微企業信用評估模型,為普惠金融的落地提供技術支持。
2 方案架構
公共數據開放聯盟在華為云端支持接入多方數據,以本次業務場景為例,接入了工信局、電力局等委辦局(下面架構圖只標示了前兩者)的開放數據,不同委辦局均作為聯盟參與方,將 RDS 云數據庫中的企業關聯數據,接入到數據聯盟,并配置字段級數據訪問隱私規則,控制銀行對數據的訪問方式,避免敏感數據泄漏。銀行登錄本地 TICS Agent 管理頁面,發起融合數據分析任務,基于企業信用評估規則設計 SQL 分析腳本,運行腳本完成企業信用評估分析。
方案實施前置條件:
聯盟參與方均已加入數據聯盟,完成 TICS Agent 代理部署,參考 跨內網代理部署 TICS Agent
數據提供方(電力局、工信局)已準備公共數據資源,且導入 RDS for Mysql 數據庫
3 數據接入
數據提供方首先須將數據接入數據聯盟,數據接入操作不會搬遷數據,只是建立 JDBC 數據連接通道,并將元數據信息發布到數據聯盟。數據接入的操作,均須登錄 TICS Agent 完成,包括以下步驟:
登錄 TICS Agent 代理:登錄華為云控制臺 TICS 服務,選擇 代理管理,點擊代理名進入代理管理頁面,點擊代理登錄地址 “前往代理 Agent”,打開代理登錄界面,輸入代理用戶名 Admin 與代理登錄密碼,完成代理登錄
創建連接器:連接器用于打通數據庫訪問通道,點擊 “連接器管理” -> “創建”,輸入相關信息
創建接入數據集:登錄代理頁面,點擊 “數據管理” -> “創建”,選擇需要導入的數據庫、表和字段信息
配置隱私策略:配置頁面同上一步驟,勾選需要導入的字段,在字段類別一欄填入隱私保護策略
唯一標識:對應數據庫的 Unique 主鍵,如身份證號,SQL 語法只允許作為 JOIN 操作的比對條件,確保對個人標識的隱私保護
敏感:需要保密的信息,配置完成后,用戶無法通過 SELECT 字段操作,查看該字段的明細數據;可以和其他敏感字段一起,進行不可逆的四則運算操作
非敏感:不存在任何使用限制,用戶可以通過 SELECT 字段操作查看明細信息,如不希望明文顯示,可配置為 “脫敏”,用戶只能看到脫敏后的數據
重復以上步驟,依次將數據集導入到電力局和工信局數據聯盟賬號,分別為 nanshu1 和 nanshu2。
nanshu1 依次導入生成以下數據庫表:
數據庫名稱:SZZF_YSXX(重命名后的名稱,下同);數據描述:企業用水量
數據庫名稱:SZZF_YQXX;數據描述:企業用氣量
數據庫名稱:szzf_ydxx;數據描述:企業用電量
nanshu2 依次導入生成以下數據庫表:
數據庫名稱(重命名后的名稱,下同):SZZF_ZBCGXX;數據描述:招標采購信息
數據庫名稱:SZZF_SZCYFZZXZJFCMD;數據描述:深圳市產業發展專項資金扶持資助名單
數據庫名稱:SZZF_SQLJBTMD;數據描述:市區兩級貼息數據名單
數據庫名稱:SZZF_SBJN_INFO;數據描述:企業社保繳納情況表
數據庫名稱:SZZF_LRJYYCML_INFO;數據描述:列入經營異常名錄信息表
4 信用評估
銀行基于電力局和水利局導入的數據,以企業信用代碼 CREDIT_NO 為關聯字段,針對企業不同類別數據設置不同權重,最終得到不同企業的信用評分值,具體操作步驟如下:
創建作業:登錄 TICS Agent 代理,點擊 “作業管理” > “聯邦數據分析” > “創建”,彈出 “創建作業” 對話框,輸入作業名稱 “信用評分”,完成作業創建
設計信用評分腳本:基于企業信用評估模型,將以下 SQL 語句設計的企業的信用評估模型,輸入到作業執行框中
SELECT A.數據日期, A.統一社會信息代碼, A.注冊號, A.企業名稱, 0.5*資助金額*0.3+0.4*貼息金額*0.3+0.2*標的金額*0.3+(0.05*水費繳納金額+0.05*汽費繳納金額+0.05*電費繳納金額)*0.1 as 信用評分 FROM ( SELECT T1.DATA_DT 數據日期 , T1.CREDIT_NO 統一社會信息代碼 , T1.GSZCH 注冊號 , T1.CUS_NAME 企業名稱 , T1.SBJN_NUM 社保繳納人數 , T1.SBJN_BAL 繳納金額 , T2.KQTD_BAL 資助金額 , T3.LJTX_BAL 貼息金額 , T4.BDBAL 標的金額 , T5.WT_BAL 水費繳納金額 , T6.ELC_BAL 電費繳納金額 , T7.LNG_BAL 汽費繳納金額 , T8.SEQ_NO 序號 FROM nanshu2.SZZF_SBJN_INFO T1 LEFT JOIN ( SELECT CUS_NAME, CREDIT_NO, INDUSTRY, ZC_ADDRESS, KEY_TEC, JY_STAUS, SUM(KQTD_BAL) AS KQTD_BAL FROM nanshu2.SZZF_SZCYFZZXZJFCMD WHERE DATA_DT BETWEEN '2019-12-31' AND '2022-01-01' GROUP BY CUS_NAME, CREDIT_NO, INDUSTRY, ZC_ADDRESS, KEY_TEC, JY_STAUS ) T2 ON T1.CREDIT_NO= T2.CREDIT_NO LEFT JOIN ( SELECT DATA_DT, CUS_NAME, CREDIT_NO, INDUSTRY, ZC_ADDRESS, TXT, JY_STAUS, SUM(LJTX_BAL) AS LJTX_BAL FROM nanshu2.SZZF_SQLJBTMD WHERE DATA_DT BETWEEN '2019-12-31' AND '2022-01-01' GROUP BY DATA_DT, CUS_NAME, CREDIT_NO, INDUSTRY, ZC_ADDRESS, TXT, JY_STAUS ) T3 ON T1.CREDIT_NO= T3.CREDIT_NO LEFT JOIN ( SELECT CUS_NAME, CREDIT_NO, ZC_ADDRESS, LEGAL_REPRESENTATIVE, KEY_TEC, CARD_NO, GSZCH, ZZJGDM, LSBD, LSZBSJ, SUM(BDBAL) AS BDBAL, BLJL FROM nanshu2.SZZF_ZBCGXX WHERE DATA_DT BETWEEN '2019-12-31' AND '2022-01-01' GROUP BY CUS_NAME, CREDIT_NO, ZC_ADDRESS, LEGAL_REPRESENTATIVE, KEY_TEC, CARD_NO, GSZCH, ZZJGDM, LSBD, LSZBSJ, BLJL ) T4 ON T1.CREDIT_NO= T4.CREDIT_NO LEFT JOIN nanshu2.SZZF_LRJYYCML_INFO T8 ON T1.CREDIT_NO= T8.CREDIT_NO LEFT JOIN nanshu1.SZZF_YSXX T5 ON T1.CREDIT_NO= T5.CREDIT_NO LEFT JOIN nanshu1.SZZF_YDXX T6 ON T1.CREDIT_NO= T6.CREDIT_NO LEFT JOIN nanshu1.SZZF_YQXX T7 ON T1.CREDIT_NO= T7.CREDIT_NO ) A WHERE A.序號 IS NULL
執行作業:點擊 “保存并執行” 按鈕,作業將在電力局和工信局的兩側代理啟動運行,將結果匯總到匯聚節點 AGG 進行融合分析
查看作業結果:點擊下方 “執行結果” 標簽,查看信用評分的執行結果,代理頁面會顯示前 100 條記錄,最終的執行結果,則存儲在代理本地路徑下(路徑地址在創建代理時設置)
查看計算過程:點擊 “計算過程” 標簽,通過可視化的方式,查看數據在代理和匯聚節點間的流轉路徑、數據條數等信息
5 數據安全
融合數據分析場景,數據使用方利用多方數據,使用標準 SQL 語句進行融合分析,數據(原始數據或中間結果數據)將在 TICS AGG 匯聚節點融合,由此帶來 3 類數據泄漏風險:傳輸過程泄漏、計算過程泄漏和數據使用方泄漏,下面分別針對 3 類風險分別介紹應對方案。
5.1 傳輸過程泄露
數據傳輸過程包括 數據提供方 -> TICS AGG -> 數據使用方 三個環節,這三個環節均暴露在公網環境下,須對傳輸數據進行加密,加密過程說明如下:
數據提供方加密:數據從提供方發出時,生成 sessionKey 對數據進行加密(使用非對稱加密算法 RSA2048),AGG 公鑰對 sessionKey 進行加密(加密算法使用 AES 256,后續會支持國密算法 SM2 和 SM4),使用 Agent 1 私鑰簽名,通信協議采用 GRPC + TLS;多個提供方使用同一 AGG 公鑰對數據進行加密,但使用不同的 Agent 私鑰進行簽名
TICS AGG 解密與計算執行:TICS AGG 收到數據提供方 TICS Agent 發來的數據后,使用 Agent 1 公鑰對數據進行簽名校驗,確保數據來自可信代理;同時使用 AGG 私鑰對數據進行解密,此時解密過程必須在可信計算環境 TEE 內才能完成,因為私鑰只在 AGG 的可信計算的內存環境中保存,不落盤存儲,第 3 方就算攔截了數據,也無法進行解密。解密后的數據,在 TEE 環境中執行明文運算,得到最終結果
注:如果可信計算環境采用的是基于軟件的同態加密技術,則 TICS AGG 無需對加密數據執行解密操作,直接使用密文進行運算,得到加密后的結果數據,發送給數據使用方,由使用方完成數據解密
TICS AGG 加密與數據使用方解密:AGG 完成聚合計算后,使用 Agent 2 公鑰對計算結果加密,使用 AGG 私鑰簽名,將加密后的數據通過 GPRC + TLS 協議傳輸給數據使用方代理 TICS Agent 2;TICS Agent 2 使用 AGG 公鑰對數據簽名進行校驗,使用 Agent 2 私鑰對數據進行解密,獲取計算結果
5.2 計算過程泄露
融合計算在 TICS AGG 節點完成,計算過程對數據保護有兩種實現方式,TEE 硬件加密和基于軟件的密文計算技術,對比如下:
TEE 硬件加密技術安全機制:TICS AGG 聚合節點部署在鯤鵬 TEE 或者帶 Intel SGX 芯片的服務器上,負責數據解密的私鑰會存放在 Arm TrustZone 或者 SGX 芯片上,數據解密、明文計算和計算結果加密的操作,只能在 TEE 隔離可信計算環境下調用執行,外部無法通過 dump 等操作看到內部信息。由于 TEE 加密技術對硬件有依賴,可以使用基于 docker 的安全容器作為替代方案,所有計算均在封閉的 docker 安全容器內執行。
軟件密文計算技術安全機制:采用同態加密技術,針對每一個計算任務,數據使用方生成公私鑰對,將公鑰發送給數據提供方,數據提供方對敏感數據進行加密處理,AGG 計算使用的數據是密文,第 3 方無法破解。同態加密使用 PSI 算法進行集合求交,以純密文的方式進行 ID 交互和碰撞,TICS AGG 平臺管理方也看不到明文信息。加密的最終結果發送給數據使用方,數據使用方擁有同態加密的私鑰,使用私鑰解密拿到最終結果。
5.3 數據使用方泄露
數據使用方得到的融合計算結果數據,是通過標準 SQL 分析語句運算得出,存在敏感數據通過數據使用方泄漏的風險。可信計算關鍵要保護敏感原始數據,數據使用方可以獲取基于敏感原始數據的分析結果,敏感原始數據不會直接暴露,且不會被其他方式逆推獲取,實現數據“可用不可見”的安全理念。
可信智能計算技術,主要通過以下技術手段,避免敏感數據被數據使用方泄漏:
設置安全隱私策略:參考本文章節 3 數據接入 配置隱私策略的描述,對數據庫各字段設置 “唯一標識”、“敏感”和“非敏感”隱私保護規則,實現數據安全的防護,以下示例說明安全隱私策略的保護原理
“敏感”字段使用方無法查詢明細:安全隱私策略為“敏感”的字段,不支持 SELECT 該字段的操作,避免數據使用方直接獲取“敏感”字段信息
# nanshu1.SZZF_YSXX 企業用水量表字段 WT_BAL 用水量的安全隱私策略為“敏感” SELECT CUS_NAME 企業名, WT_BAL FROM nanshu1.SZZF_YSXX # 以上操作執行時將失敗,提示“用水量 WT_BAL 是敏感數據, 不允許在結果中被 SELECT”
避免惡意分組查“敏感”數據:根據安全隱私策略設計,可以對敏感數據執行統計類操作,如 AVG, SUM 等,但須防止用戶通過惡意分組行為,如每一分組只有一個用戶,來嗅探明細數據
# 數據使用方通過兩個表做 JOIN 操作,根據企業 ID 進行分組,再對“敏感”字段用水量 WT_BAL 求和,由于企業 ID 在每個表格中是唯一的,該方式將獲得各企業的用水量信息 SELECT t2.CREDIT_NO, SUM(WT_BAL) FROM nanshu1.SZZF_YSXX t1 JOIN nanshu2.SZZF_SBJN_INFO t2 ON t1.CREDIT_NO = t2.CREDIT_NO GROUP BY t2.CREDIT_NO # 以上操作執行時將失敗,提示“sum(用水量)存在泄露用水量的可能”(檢測到每組的用水量只有1個,懷疑是惡意分組) # 下面語句可以順利執行 SELECT AVG(WT_BAL) FROM nanshu1.SZZF_YSXX t1 JOIN nanshu2.SZZF_SBJN_INFO t2 ON t1.CREDIT_NO = t2.CREDIT_NO
多個敏感數據融合分析:多個“敏感”字段的多項式分析,由于其不可逆推,將通過安全隱私策略的檢測;多項式存在的一個風險:用戶用不同計算公式,針對同一變量進行多次計算,從而通過多項式方程求解得到原始值,針對該風險,后續可通過對比當前分析模型和歷史分析模型的近似程度,識別惡意行為
SELECT A.數據日期, A.統一社會信息代碼, A.注冊號, A.企業名稱, 0.5*資助金額*0.3+0.4*貼息金額*0.3+0.2*標的金額*0.3+(0.05*水費繳納金額+0.05*汽費繳納金額+0.05*電費繳納金額)*0.1 as 信用評分 FROM # 以下 SQL 語句省略,參考上文章節 4 信用評估
唯一標識信息套取:設置為“唯一標識”的字段,都是個人或企業的唯一識別信息,如身份證和企業信用代碼,一般為字符串類型,主要作為 JOIN 操作的比對條件;“唯一標識”字段屬于重點保護信息,應防止用戶繞開保護機制,套取全量的標識信息
# nanshu1.SHEBAO 社保信息表字段 SFZID 身份證號碼,nanshu2.XUELI 學歷表字段 SFZID 身份證號碼 ZSID 學歷證書號,兩張表中的 SFZID 設置安全隱私策略為“唯一標識” SELECT ZSID FROM nanshu1.SHEBAO s JOIN nanshu2.XUELI b ON s.SFZID = b.SFZID # 以上操作執行時將失敗,提示“提示 zsid 會泄露身份證 id”,因為“唯一標識”是強保護策略,執行時檢測到 ZSID 和 SFZID 是一對一關系,存在唯一標識信息被套取風險
復雜計算數據提供方審批:基于安全隱私策略的數據安全防護,該領域的研究剛起步,在實際應用中,可能存在安全漏洞,同時,安全限制過強的規則,也會影響一些正常業務分析的執行。TICS 提供數據提供方審批的配置項,可以在數據聯盟級別配置,配置生效后,所有的計算任務執行,均會提交到數據提供方側審批,TICS 會根據隱私規則,提供計算任務的數據安全分析報告,復制審批決策
差分隱私防止多項式逆推:設置為“敏感”的多個字段,在做多項式聯合分析的時候,數據使用方惡意設計多個相似計算任務,修改多項式計算的參數,或者改變參與計算的“敏感”字段數量,從而倒推得到特定的敏感字段值。針對這種情況,可以采用差分隱私技術,在每一次計算過程中添加隨機高斯噪聲,保證多次歷史結果無法準確逆推敏感數據明文
SELECT SUM(amount) FROM T1.CREDIT_ID JOIN T2.CREDIT_ID GROUP BY industry
數據計算全流程可視:融合數據分析的計算全過程,將通過可視化數據流圖方式保存下來,可隨時回溯數據使用方對數據的詳細操作,對數據使用方的惡意行為形成有效威懾,也有助于監管方的安全審計
區塊鏈計算過程存證:全過程數據相關行為支持使用區塊鏈存證,包括誰使用了數據、使用了哪些數據、執行了哪些操作等,確保數據計算全過程不可篡改和抵賴,實現數據行為可追溯可審計。未來,融合數據分析計劃引入區塊鏈的智能合約,實現數據使用前的數據確權
未來規劃:數據安全的攻防,長期來看類似于網絡攻防的發展,安全隱私策略、規則的設計根據業務場景的需求,將不斷完善、豐富,是一個持續迭代的過程。同時,針對結構化數據集,將增加更多精細化的權限控制策略,包括數據集的訪問策略、數據集行級權限控制等(當前的隱私策略設計主要針對列級)
6 應用價值
本案例的實際應用效果獲得了用戶的高度認可,數據可用不可見的用數方式,打消政府部門對于敏感數據泄露的顧慮,有利于提升公共數據開放的廣度和深度,促進小微企業普惠金融等業務場景的快速落地。經多方用戶調研,本方案在以下幾個方面,對業務應用支持效果最為突出:
可信計算:數據傳輸、計算和使用全流程安全保障,對敏感數據全方位保護,特別是基于 TEE 硬件加密和軟件密文計算技術,在計算環節對數據進行安全防護,解決了以往數據泄露防護最弱的一環
簡單易用:屏蔽不同數據來源的技術差異,基于統一的 SQL 分析腳本執行融合分析運算,數據使用方不用考慮數據源類別、網絡連通性、數據存儲和計算環境,聚焦業務應用,降低了數據使用方利用多方數據的難度
安全審計:計算過程可視,使用區塊鏈進行過程存證,有助于數據使用環節的安全審計,便于數據監管方管理數據使用方行為
開放架構:支持云邊兩種數據接入方式,滿足不同類型用戶需求。支持主流數據庫數據源接入,數據提供方無需對業務數據庫做任何改造。
7 FAQ
Q1 聯邦數據分析場景下,數據是否都將匯聚到 AGG 節點
只有需要匯聚的中間結果數據,是在聚合節點進行計算。換句話說,凡是在本地節點完成計算的,都在本地算,本地算完的中間結果,再推送到聚合節點做融合計算。
機器學習 金融專區
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。