目錄
1、SCQL的定義
2、SCQL主要特點(diǎn)
3、SCQL的實(shí)現(xiàn)原理?
?4、SCQL對(duì)SQL的支持能力
5、列控制列表CCL
5.1 什么是CCL
5.2 CCL的設(shè)計(jì)緣由
5.3 CCL約束詳解
6、SCQL的使用場(chǎng)景
7、下面分享Slides
首先必須感謝螞蟻集團(tuán)及隱語(yǔ)社區(qū)帶來(lái)的學(xué)習(xí)機(jī)會(huì)!?
第七課由操順德老師講述,核心內(nèi)容是詳解SCQL的架構(gòu)
使用SCQL的最大感受:專注于數(shù)據(jù)分析本身(你寫(xiě)好需要的SQL),無(wú)需擔(dān)心數(shù)據(jù)的安全性。
1、SCQL的定義
? ? ? 根據(jù)螞蟻官方定義,安全協(xié)作查詢語(yǔ)言SCQL(Secure Collaborative Query Language)是一個(gè)允許多個(gè)互不信任參與方在不泄露各自隱私數(shù)據(jù)的條件下進(jìn)行聯(lián)合數(shù)據(jù)分析的系統(tǒng)。
? ? ?在隱語(yǔ)架構(gòu)中,SCQL屬于算法層中的BI,支持多方數(shù)據(jù)的安全分析。
2、SCQL主要特點(diǎn)
- 半誠(chéng)實(shí)安全。SCQL 假設(shè)所有參與方都是半誠(chéng)實(shí)的。
- 支持多方(N>=2)。
- 支持常見(jiàn)的 SQL select 語(yǔ)法和函數(shù),滿足大多數(shù)場(chǎng)景的需求。
- 可實(shí)用的性能。SCQL 有多層次的性能優(yōu)化。
- 易于使用。SCQL提供了類似于關(guān)系 SQL 的界面。
- 數(shù)據(jù)使用授權(quán)。SCQL 為數(shù)據(jù)所有者提供了一個(gè)名為 CCL(Column Control List, 列控制列表)的機(jī)制,以定義他們的數(shù)據(jù)使用限制。
3、SCQL的實(shí)現(xiàn)原理?
? ? ? 實(shí)現(xiàn)的核心包括SQL語(yǔ)法解析,CCL控制管理,圖優(yōu)化和拆分、以及底層的MPC協(xié)議。
?4、SCQL對(duì)SQL的支持能力
? ? ? 支持大部分的Select語(yǔ)句:
? 支持豐富的函數(shù)運(yùn)算(目前版本不支持IS NULL判斷):
?支持?jǐn)?shù)據(jù)庫(kù)接入和CSV文件:
?
5、列控制列表CCL
5.1 什么是CCL
? ? ? CCL(Column Control List) 限定了列的披露策略,以及允許在列上執(zhí)行的操作。SCQL承諾遵守這些限定,拒絕執(zhí)行不滿足CCL要求的 query,并保證執(zhí)行過(guò)程不會(huì)違背 CCL 規(guī)定的數(shù)據(jù)披露策略。CCL 可以表示為一個(gè)三元組 <src_column, dest_party, constraint>,其含義為 src_column 對(duì)于 dest_party 的約束策略。? ?
5.2 CCL的設(shè)計(jì)緣由
? ? ? 由于 SCQL 語(yǔ)法靈活多變,查詢者可以通過(guò)精巧地構(gòu)造 Query 以從結(jié)果中盡可能地推測(cè)原始數(shù)據(jù)敏感信息。因此,在執(zhí)行查詢者提交 Query 前,一般需要獲得數(shù)據(jù) owner 的審核授權(quán)。
? ? ?但是人工審核方式有如下兩方面的問(wèn)題:1、對(duì)審核者有較高的要求,審核者需要具備 Query 分析能力,能夠分析出潛在的信息泄露問(wèn)題;2、執(zhí)行前審批等待時(shí)間長(zhǎng),Query 執(zhí)行前需要獲得 Query 涉及的所有數(shù)據(jù) owner 的授權(quán)。
5.3 CCL約束詳解
? ? ? 根據(jù)當(dāng)前已經(jīng)實(shí)現(xiàn)的語(yǔ)法,目前 CCL約束(?constraints )一共分為如下 7 個(gè)類型。其中前 6 個(gè)約束說(shuō)明數(shù)據(jù)在何種情況下可以披露出去。
-
PLAINTEXT
: 允許以任何形式(包括明文)進(jìn)行計(jì)算和披露,沒(méi)有任何使用上的限制,通常用于非敏感數(shù)據(jù),請(qǐng)謹(jǐn)慎使用。 -
PLAINTEXT_AFTER_JOIN
: 允許作為 INNER JOIN 的 key,經(jīng)過(guò) JOIN 后可以明文披露。 -
PLAINTEXT_AFTER_GROUP_BY
: 被約束的列經(jīng)過(guò) GROUP BY 分組后可以明文披露。 -
PLAINTEXT_AFTER_AGGREGATE
: 被約束的列經(jīng)過(guò) Aggregation 操作(如:SUM、AVG、MIN、MAX、COUNT)后的結(jié)果可以明文披露。 -
PLAINTEXT_AFTER_COMPARE
: 被約束的列經(jīng)過(guò) Compare 操作(如:<, >, >=, =, != 等等)后的結(jié)果可以明文披露。 -
ENCRYPTED_ONLY
: 始終以密態(tài)的形式參與計(jì)算,用于標(biāo)記非常敏感數(shù)據(jù),除了 COUNT 外(SCQL 不保護(hù)計(jì)算中間結(jié)果的size),不允許任何形式的披露。 -
UNKNOWN
: 未定義,目前默認(rèn)拒絕以任何形式披露。
6、SCQL的使用場(chǎng)景
? ? ? SCQL可用于醫(yī)療數(shù)據(jù)研究、聯(lián)合精準(zhǔn)營(yíng)銷和智能保險(xiǎn)理賠等場(chǎng)景中,數(shù)據(jù)可以進(jìn)行水平切分(數(shù)據(jù)表字段一致,數(shù)據(jù)增多)和垂直切分(數(shù)據(jù)表字段不一致,屬性增多)。
7、下面分享Slides
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-847214.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-847214.html
到了這里,關(guān)于隱語(yǔ)第七課:多方安全分析語(yǔ)言SCQL架構(gòu)詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!