3月29日,「隱語開源社區(qū)開放日」活動順利舉辦。隱語社區(qū)不僅在當(dāng)日正式開源隱語SCQL多方安全數(shù)據(jù)分析引擎,這是業(yè)內(nèi)首個將SQL 做到多方安全計算(MPC)技術(shù)的數(shù)據(jù)分析系統(tǒng),提供工業(yè)級的多方安全聯(lián)合分析功能,目前已在隱語 GitHub 社區(qū)開源,面向全球開發(fā)者免費開放推動隱私計算邁向更加易用,活動現(xiàn)場社區(qū)也廣邀行業(yè)、企業(yè)、高校、科研的隱私計算開發(fā)者與使用者,開展了一場平等雙向的開放交流。
(相關(guān)資料圖)
社區(qū)互動零距離:小小便利貼走近與聆聽開發(fā)者的關(guān)注
社區(qū)在現(xiàn)場設(shè)置了開放留言及拍照打卡區(qū),“全同態(tài)加密的效率問題,多久才能產(chǎn)品化?”“MPC SQL 的具體落地場景有哪些?”“隱私計算市場規(guī)模?人才需求?”留言內(nèi)容從技術(shù)性能的突破、到產(chǎn)業(yè)應(yīng)用的前景、再到個人職業(yè)的發(fā)展,開放包容地探討著關(guān)于隱私計算的方方面面。
開源生態(tài)全方位:企業(yè)、科研、社區(qū)之星分享共建故事與成果
活動邀請到各界代表共話隱私計算技術(shù)現(xiàn)狀與未來趨勢,內(nèi)容核心緊緊圍繞隱語代碼共建&使用開展,聯(lián)通隱私計算各層生態(tài)、內(nèi)容視角涵蓋開發(fā)者、使用者、共建者。浙江大學(xué)求是講席教授、ACM/IEEE Fellow任奎為活動致辭,以數(shù)據(jù)要素為切入點,強調(diào)當(dāng)前隱私安全石責(zé)任也是核心競爭力,隱私計算作為此間的核心技術(shù)之一,其開源是必要趨勢、也是技術(shù)產(chǎn)業(yè)化加速的重要推動力。
螞蟻集團副總裁兼首席技術(shù)安全、北京大學(xué)客座教授韋韜以《數(shù)據(jù)要素大潮的技術(shù)挑戰(zhàn)》為題進(jìn)行了演講。拆解分析了數(shù)據(jù)要素密態(tài)發(fā)展三個階段所面臨的不同挑戰(zhàn),在此過程中,方法體系、平臺框架、技術(shù)標(biāo)準(zhǔn)等方面都面臨全新變革?!澳壳?,我們密態(tài)時代處于計算密態(tài)化和大數(shù)據(jù)密態(tài)化中間,計算密態(tài)化中的安全挑戰(zhàn)依然是行業(yè)中非常需要重視的問題;未來大數(shù)據(jù)密態(tài)化之時,核心則要拓展技術(shù)應(yīng)用深度,才足以面對數(shù)據(jù)要素全面密態(tài)化的挑戰(zhàn)。”?
隱語框架負(fù)責(zé)人王磊在現(xiàn)場發(fā)布中講到:“在實際場景中,BI的應(yīng)用面更廣。對于大部分?jǐn)?shù)字化轉(zhuǎn)型起步較晚、正在進(jìn)程中的企業(yè),更多是通過一些規(guī)則、數(shù)據(jù)分析、人工分析的方式進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)要素市場化是要賦能行業(yè)應(yīng)用和實體經(jīng)濟、是要驅(qū)動經(jīng)濟的整體發(fā)展。所以,BI數(shù)據(jù)分析將會逐漸變得越來越重要,隱私計算技術(shù)整體也會從頂層的企業(yè)逐步向下滲透。”
但是,BI的隱私計算面臨著巨大的挑戰(zhàn),主要有如下幾點:
第一,高應(yīng)用性。剛步入數(shù)字化轉(zhuǎn)型或者正在數(shù)字化轉(zhuǎn)型進(jìn)程中的企業(yè),整體技術(shù)能力有限,高應(yīng)用性對于他們來說就格外重要。SQL是平常使用最多的數(shù)據(jù)分析語言,使用上手門檻相對較低,但這項技術(shù)本身是非常復(fù)雜的,MPC(多方安全計算)技術(shù)也是非常復(fù)雜的。那么,使用SQL語言完成MPC(多方安全計算)并保證正確運行,則無論站在技術(shù)難度的角度,還是站在工作量的角度來講,都是一個巨大的工程。
第二,即時性。SQL數(shù)據(jù)分析采用交互的方式,與AI建模不同,雖然需要調(diào)參,但本身交互沒有那么強。但是SQL分析則需要頻繁交互,此時對整體的響應(yīng)速度和時間需求則更高,需要整個分析過程中都能夠及時響應(yīng),如此對整體性能的要求也會非常高。
第三,安全性。多方安全計算需要保證中間結(jié)果沒有任何信息泄露,而數(shù)據(jù)分析又需要看到每次交互的結(jié)果,并且需要通過頻繁交互的結(jié)果調(diào)整下一個環(huán)節(jié)。兩者之間天然存在矛盾。同時,SQL的靈活性非常高,如何保證基于多方安全計算的SQL分析整體的安全性也是巨大的挑戰(zhàn)。隱語在這些方面提出了一些新思路,進(jìn)行一些嘗試和探索,也取得了一些成果,但是距離真正解決這些問題還有很長的路要走。
核心發(fā)布:隱語SCQL多方安全數(shù)據(jù)分析引擎
基于如此背景,王磊于開放日現(xiàn)場開源發(fā)布隱語SCQL多方安全數(shù)據(jù)分析引擎:
從技術(shù)上來看,隱語基于MPC技術(shù)內(nèi)核的底層抽象SPU設(shè)備,創(chuàng)新實現(xiàn)了一種多方安全數(shù)據(jù)分析系統(tǒng) SCQL。SCQL支持類 SQL 的查詢語言,它繼承了 SQL作為常用數(shù)據(jù)分析語言的普及性、易學(xué)性和高成熟度,同時還拓展了標(biāo)準(zhǔn) SQL 的語義,可以描述基于多個數(shù)據(jù)參與方的安全數(shù)據(jù)分析任務(wù)。
如圖是隱語SCQL的架構(gòu)示意,它是一種多方合作語言,大致分成兩個部分:上部稱之為SCDB,構(gòu)建了一個SCQL數(shù)據(jù)庫,可以認(rèn)為部分程度延續(xù)了一個傳統(tǒng)SQL數(shù)據(jù)庫的樣式。對于用戶來說,可以直接發(fā)起一條傳統(tǒng)SQL請求,請求首先會經(jīng)過Parser,轉(zhuǎn)為抽象的語法樹,再通過Planner成為Logical plan。這兩個模塊我們只做了少量的改動,基本也是基于開源技術(shù)。
最大的挑戰(zhàn)在Logical plan到Execution Graph的過程,傳輸過程實際是一個優(yōu)化的過程,原本他們之間的差異不大,但是在隱私計算場景,他們之間的差異就會變的非常大。Translator實際是進(jìn)行多約束條件下的最優(yōu)協(xié)議選擇,這件事的本質(zhì)是無論AI還是BI,隱語的整體設(shè)計理念是明密文混合,即在保證安全性的前提下,如能明文計算則盡量不進(jìn)行密文計算,因為密文成本相對較高。在整個計算當(dāng)中有安全性的約束,同時會有數(shù)據(jù)類型、數(shù)據(jù)來源,還有數(shù)據(jù)狀態(tài),數(shù)據(jù)狀態(tài)還會隨著計算過程不斷發(fā)生遷移和改變,再加之每一個協(xié)議適用的模式是不同的。我們會根據(jù)所有這些約束,最終選擇一個最優(yōu)協(xié)議出來,這就是Translator的本質(zhì)。
那么怎樣理解最優(yōu)協(xié)議?如上圖舉例,此處有四種Group By,這四種Group By是為了適應(yīng)不同場景。第一種是明文Group By,當(dāng)密態(tài)計算時,Group Key以及聚合表達(dá)式處于單邊,直接調(diào)用即可,一個典型的明文計算場景,無需密態(tài)計算性能很好;第二種是當(dāng)Group Key與聚合表達(dá)式分散在兩邊,但聚合函數(shù)是求和,此時可以使用同態(tài)求和Group By來實現(xiàn),只需將聚合列進(jìn)行同態(tài)加密后傳輸至Group Key列,就可以進(jìn)行聚合計算,性能也相對不錯;第三種是Vertical Group By,此時Key處于多方,這件事情變的更復(fù)雜,隱語提供了新的、非常高效的、非常巧妙的算法,可以將分布在多方的Group Key進(jìn)行高效的合并;最后,如果所有以上優(yōu)化都無法進(jìn)行,也就是純密態(tài)Group By,此時會以滿足安全性為前提,進(jìn)而選擇一個性能最好的協(xié)議。
Translator進(jìn)行優(yōu)化后,就會下發(fā)至下部的計算引擎,如圖展示三個party構(gòu)成,具體情況中兩方或三方,則與采用的協(xié)議有關(guān)。計算引擎會先將DB的數(shù)據(jù)讀出并進(jìn)行計算,圖中右下是SCQL計算引擎的架構(gòu),其中包含很多算子實現(xiàn),也是明密文的混合,明文計算直接使用Arrow進(jìn)行計算,密文使用隱語已經(jīng)開源的SPU,如果大家對隱語有了解,就知道兩個密態(tài)計算引擎完成這個計算。
Translator在進(jìn)行協(xié)議轉(zhuǎn)換時會執(zhí)行CCL檢查,其本質(zhì)上是數(shù)據(jù)擁有者可以對數(shù)據(jù)做約束定義,Translator轉(zhuǎn)換時就根據(jù)約束執(zhí)行檢查,如果SCQL不滿足安全約束條件,則會被禁止運行。
左側(cè)是目前業(yè)內(nèi)常見的多方安全分析保障模型,如前文所講SQL是非常靈活的,解決安全性的問題無外乎兩種方式,一個是事前審核,二是事后審計,事后審計很好理解,所有的執(zhí)行都需要存證。事前審核現(xiàn)在更多是通過人工,本質(zhì)把安全性責(zé)任完全拋給了用戶。
假設(shè)Party1寫一段SQL,此時因參與方是三方,所以Party2和Party3用戶都需要審核SQL,確認(rèn)沒有問題再執(zhí)行。這就產(chǎn)生兩個問題:第一,對于審核者來說工作量非常大,因為SQL是頻繁交互的,且難免在審核中存在疏忽誤判;第二,還是與SQL的交互式相關(guān),每一個都需要多方審核,用戶的操作體驗較差。
而CCL的作用如圖右,在事前審核之前,數(shù)據(jù)擁有方設(shè)置一個針對數(shù)據(jù)的CCL,是一次性的設(shè)置動作,此后用戶每次提交SQL時,都需先經(jīng)CCL檢查,確認(rèn)通過才會執(zhí)行下一步,否則被禁止不能執(zhí)行。接下來可以進(jìn)行事前審查,即可運行至多方數(shù)據(jù)分析引擎中。
既然有CCL的安全性檢查,為什么需要事前審核這個模塊呢?因為,此處需要強調(diào)CCL不等于安全。與ACL相類似,不滿足CCL約束一定不安全,但是滿足CCL約束也不一定安全,所以CCL只是提供了輔助的工具。
CCL描述是一個三元組,數(shù)據(jù)擁有者對某一列進(jìn)行約束,針對某個參與方進(jìn)行約束。如Alice與Bob進(jìn)行數(shù)據(jù)分析合作,有三列數(shù)據(jù),設(shè)置CCL針對salary一列要求Bob參與者只有使用了聚合函數(shù)之后才可以看到。如此,Bob必須對salary列進(jìn)行聚合之后才可以看到結(jié)果且只能看到一個統(tǒng)計結(jié)果,不允許看到明晰列數(shù)據(jù),這就是CCL約束。
王磊也提到,此次SCQL發(fā)布的功能為Preview版本,雖然目前這些能力尚不完備,但Preview版本已經(jīng)能夠滿足很多的場景,并舉了幾個例子:
第一是營銷場景,提供輸出到文件的功能,仔細(xì)看即PSI求交。第二是用戶畫像,通過使用Group By,我可以對2做統(tǒng)計,同時還支持Y條件,基于Y條件可以做跨表數(shù)據(jù)比較,以滿足用戶畫像場景需求。第三是在線策略,此前我們分享過保險的場景應(yīng)用,這當(dāng)中就是在線線上實施施略。為什么是在線策略?如圖綠色可以看到,其顧慮是某一個ID,即在這一場景當(dāng)中,要查詢某一個人騙保概率以及騙保可能性,類似于風(fēng)控中判斷這個人的風(fēng)險,只針對這一個人,所以是單獨的查詢條件。據(jù)悉,隱語SCQL計劃會分別在6月、9月、12月開源更多能力。具體發(fā)版內(nèi)容則將基于社區(qū)對Preview版本的反饋建議,酌情調(diào)整優(yōu)先級。
現(xiàn)場除了隱語新版本核心開源發(fā)布,眾多來自業(yè)界和學(xué)界的多位嘉賓也進(jìn)行了主題演講。英特爾產(chǎn)品安全和保障部高級總監(jiān)郭偉、螞蟻集團高級技術(shù)專家祝森林、浙江大學(xué)百人計劃研究員張秉晟、中國信通院云計算與大數(shù)據(jù)研究所高級業(yè)務(wù)主管袁博、中銀金科隱私計算實驗室算法工程師石新蕾和廈門掌訊信息技術(shù)有限公司CTO王藝團,從技術(shù)和產(chǎn)業(yè)角度切入,帶來隱私計算前沿分享。
(完整回放及文字實錄歡迎前往「隱語的小劇場」公眾號獲?。?/p>
此外,來自北京郵電大學(xué)、廈門大學(xué)、浙江大學(xué)、廈門掌訊、Intel的社區(qū)之星也受邀來到開放日,任奎、深圳國家金融科技測評中心董事長鐘劍以及韋韜,為這些高校、企業(yè)isv用戶、行業(yè)企業(yè)的社區(qū)開放共建力量代表進(jìn)行現(xiàn)場表彰。?
關(guān)鍵詞: