弓曉鋒,黃琳,周慧,梁正華
(1.貴州省科技信息中心,貴州貴陽,550002;2. 貴州省科技創(chuàng)新中心有限責(zé)任公司,貴州貴陽,550002)
根據(jù)全省“一云一網(wǎng)一平臺”統(tǒng)籌部署,各行業(yè)部門積極制定了相應(yīng)的協(xié)同推進(jìn)實(shí)施方案,進(jìn)一步梳理了權(quán)責(zé)清單以及政務(wù)服務(wù)網(wǎng)進(jìn)駐事項(xiàng),明確了工作任務(wù)和實(shí)施要點(diǎn),開展了政務(wù)服務(wù)“一網(wǎng)通辦”業(yè)務(wù)試點(diǎn)計(jì)劃。省級科技部門按照“整合內(nèi)部分散業(yè)務(wù)系統(tǒng),統(tǒng)一用戶,統(tǒng)一業(yè)務(wù)入口,統(tǒng)一數(shù)據(jù)出口”的原則,規(guī)范了微服務(wù)技術(shù)架構(gòu)、業(yè)務(wù)流程和數(shù)據(jù)資源,構(gòu)建了公共支撐平臺、用戶中心和數(shù)據(jù)接口平臺,并實(shí)現(xiàn)了與省級平臺的接入。部門用戶中心與省統(tǒng)一實(shí)名身份認(rèn)證系統(tǒng)用戶進(jìn)行了綁定,部門數(shù)據(jù)接口平臺各類科技業(yè)務(wù)主題數(shù)據(jù)上架到省數(shù)據(jù)共享交換平臺。如圖1所示。

圖1 部門平臺整合接入省級平臺
平臺后續(xù)改造升級過程中,將在部門科技業(yè)務(wù)平臺用戶認(rèn)證體系的構(gòu)建上引入國產(chǎn)密碼雜湊算法SM3。一是采用SM3哈希函數(shù)壓縮用戶登錄密碼為摘要。系統(tǒng)構(gòu)建過程中,通常采用哈希函數(shù)壓縮用戶登錄密碼為摘要,這樣既減少了數(shù)據(jù)量、固定了數(shù)據(jù)格式,又打亂了數(shù)據(jù)組合。常用的哈希算法有MD5消息摘要算法和SHA安全散列算法,設(shè)計(jì)優(yōu)的哈希函數(shù)出現(xiàn)哈希沖突的概率很小。為了增強(qiáng)系統(tǒng)用戶密碼的安全性,在密碼加密過程中會(huì)同步加鹽,即使明文相同的用戶生成的密文也不相同。二是采用JSON Web Token(JWT)對客戶端Token進(jìn)行編碼,并采用SM3算法對包含的主體信息進(jìn)行雜湊以提高安全性,進(jìn)而用來傳遞被認(rèn)證的用戶身份信息,實(shí)現(xiàn)獲取服務(wù)資源的目的。JWT是JSON風(fēng)格輕量級的授權(quán)和身份認(rèn)證規(guī)范,可實(shí)現(xiàn)對無狀態(tài)、分布式的Web應(yīng)用授權(quán),生成的Token可直接用于認(rèn)證,也可使用一些常見的算法對包含的主體信息進(jìn)行加密,安全性較高。JWT規(guī)范標(biāo)識了多種簽名算法,使用過程中頭部會(huì)默認(rèn)指定消息簽名算法HS256,消息體中會(huì)包含用戶名、Token的生成時(shí)間和過期時(shí)間等非敏感類信息,創(chuàng)建簽名時(shí)會(huì)指定使用哈希函數(shù)來進(jìn)行消息認(rèn)證的機(jī)制HMAC以及頭部聲明的算法HMACSHA256,進(jìn)而實(shí)現(xiàn)消息完整性認(rèn)證和信源身份認(rèn)證。
在我國,MD5和SHA-1兩種數(shù)字簽名算法應(yīng)用廣泛,甚至是在網(wǎng)上銀等金融業(yè)務(wù)上。隨著王小云教授團(tuán)隊(duì)在2015年先后通過差分攻擊算法攻破MD5和SHA-1,各個(gè)行業(yè)部門開始升級替換現(xiàn)有算法,采用SHA-256。畢竟MD5算法、SHA系列算法均為國外雜湊算法,不符合我國大力提倡的信創(chuàng)合規(guī)、自主可控的要求,故而科技業(yè)務(wù)平臺采用國產(chǎn)密碼算法SM3來替代國外算法SHA-256。隨著國內(nèi)網(wǎng)絡(luò)安全和信息化整體水平的不斷提升,密碼安全和密碼技術(shù)在維護(hù)國家安全、促進(jìn)經(jīng)濟(jì)發(fā)展方面發(fā)揮著越來越重要的作用,商用密碼改造已成為各行各業(yè)面臨的重要任務(wù)。
SM3國產(chǎn)密碼算法是我國具有自主知識產(chǎn)權(quán)的密碼湊雜算法,該算法由王小云等人設(shè)計(jì),2010年中國國家密碼管理局發(fā)布。SM3哈希算法作為國產(chǎn)商用密碼算法,適用于數(shù)字簽名和驗(yàn)證,采用MD(Merkle-Damgard)結(jié)構(gòu),消息分組長度為512位,摘要值長度為256位。SM3是在SHA-256基礎(chǔ)上改進(jìn)實(shí)現(xiàn)的一種算法,其壓縮函數(shù)與SHA-256壓縮函數(shù)類似但設(shè)計(jì)更加復(fù)雜,可碰撞性更強(qiáng),安全系數(shù)更高。SM3算法無法提供完整性保護(hù),不能單獨(dú)使用,需通過HMAC配合密鑰一起使用進(jìn)行消息認(rèn)證。作為雜湊系列算法的SM3,同樣面臨差分攻擊的風(fēng)險(xiǎn)。
上面提到,隨著部門科技業(yè)務(wù)平臺與外部省級平臺的接入,系統(tǒng)間的數(shù)據(jù)請求將不可避免引起用戶數(shù)據(jù)泄露問題。一是外部政務(wù)服務(wù)事項(xiàng)辦理場景,需要向部門平臺請求單個(gè)用戶的相關(guān)數(shù)據(jù),這類數(shù)據(jù)往往涉及電子證照,比如:某位用戶是否是科技特派員;某家企業(yè)是否是高新技術(shù)企業(yè)等。二是外部數(shù)據(jù)共享交換場景,需要向部門平臺請求一類用戶的相關(guān)數(shù)據(jù),這類數(shù)據(jù)往往以數(shù)據(jù)查詢接口的方式提供,比如:共享某一研究方向的省外專家,而這些專家往往是科研項(xiàng)目評審的網(wǎng)評專家;共享年度內(nèi)在某些細(xì)分領(lǐng)域立項(xiàng)的科研項(xiàng)目等。
科技業(yè)務(wù)平臺用戶中心可不處理具體的業(yè)務(wù)邏輯,僅需處理與用戶相關(guān)的數(shù)據(jù),通過重組業(yè)務(wù)模塊來模糊業(yè)務(wù)應(yīng)用間的邊界,進(jìn)而協(xié)調(diào)業(yè)務(wù)應(yīng)用和實(shí)現(xiàn),使用戶通過統(tǒng)一展現(xiàn)層再切入到具體的業(yè)務(wù)。為了簡化平臺對用戶的權(quán)限控制,可基于業(yè)務(wù)場景來優(yōu)化權(quán)限模型和流程管理,因不同組織為所屬用戶規(guī)定并約束了業(yè)務(wù)的流轉(zhuǎn)與審批流程,以及各節(jié)點(diǎn)不同的處置要求,應(yīng)從業(yè)務(wù)需求和數(shù)據(jù)需求的角度出發(fā),區(qū)分公眾用戶和管理用戶,公眾用戶又可細(xì)分為以科技人員、科技專家為代表的“自然人用戶”和以科研機(jī)構(gòu)、高校、企業(yè)為代表的“組織用戶”兩類,組織用戶不僅限于企業(yè)法人,同時(shí)還包括機(jī)關(guān)法人、事業(yè)單位法人和社會(huì)組織法人等。根據(jù)特定科技業(yè)務(wù)辦理需要,自然人用戶和組織用戶之間需要建立關(guān)系,自然人可申請加入多個(gè)組織,不同組織賦予同一自然人不同的角色身份并進(jìn)行授權(quán)管理,特定組織用戶可分級授權(quán)和逐級審批種類科技業(yè)務(wù)。業(yè)務(wù)檔案中,關(guān)聯(lián)了科研人員的科研項(xiàng)目、科研產(chǎn)出、資質(zhì)和榮譽(yù)、論文、成長指數(shù)等信息,關(guān)聯(lián)了科研機(jī)構(gòu)的科研項(xiàng)目、科技獎(jiǎng)勵(lì)、項(xiàng)目產(chǎn)出、成果轉(zhuǎn)化、科研基礎(chǔ)、經(jīng)濟(jì)效益、科技活動(dòng)投入與產(chǎn)出、創(chuàng)新指數(shù)等信息。
為有效應(yīng)對用戶隱私數(shù)據(jù)泄露問題,通常有幾種方式:一是數(shù)據(jù)脫敏,通過失真等降低數(shù)據(jù)敏感性。數(shù)據(jù)脫敏只是簡單地刪除敏感字段,其使用性較差,而且仍然存在隱私泄露隱患。二是匿名化,通過“去標(biāo)識化”實(shí)現(xiàn)隱私保護(hù)。但是,匿名化技術(shù)不斷被發(fā)現(xiàn)存在漏洞和缺陷,可靠性較差。三是差分隱私,通過加噪聲來抵抗差分攻擊。對比數(shù)據(jù)脫敏和匿名化,差分隱私具有嚴(yán)格的數(shù)學(xué)模型,安全性級別較高,可量化可證明,是較熱門的隱私保護(hù)技術(shù)。
針對平臺用戶隱私泄露、數(shù)據(jù)可用性等問題,迫切需要研發(fā)高質(zhì)量的隱私保護(hù)服務(wù)[1]。盡可能做到限制相對隱私數(shù)據(jù)的泄露,就是“差分”的由來,也即任何查詢結(jié)果一定程度上不應(yīng)該能夠被用來推斷某個(gè)個(gè)體的數(shù)據(jù)是否被包含在數(shù)據(jù)集中。此時(shí),引出“相鄰數(shù)據(jù)集”的概念。所謂相鄰數(shù)據(jù)集,指兩個(gè)數(shù)據(jù)集只相差一條記錄,這條記錄可以是某個(gè)用戶的數(shù)據(jù),而差分隱私則定義為相鄰數(shù)據(jù)集在一定程度上不可區(qū)分。
差分隱私(Differential Privacy,簡稱 DP)是 Dwork在2006年針對數(shù)據(jù)庫的隱私泄露問題提出的一種新的隱私定義[2]。DP技術(shù)提供了一種嚴(yán)格、可證明的隱私保護(hù)手段,且其保護(hù)強(qiáng)度不依賴于攻擊者所掌握的背景知識,其是密碼學(xué)中的一種手段,旨在提供一種當(dāng)從統(tǒng)計(jì)數(shù)據(jù)庫查詢時(shí),最大化數(shù)據(jù)查詢的準(zhǔn)確性,同時(shí)最大限度減少識別其記錄的機(jī)會(huì)。其原理是用算法加擾個(gè)人用戶數(shù)據(jù),使技術(shù)回溯過程無法實(shí)現(xiàn),隨后在無法獲得原始數(shù)據(jù)的情況下對數(shù)據(jù)批量計(jì)算,輸出計(jì)算結(jié)果,在獲得機(jī)器學(xué)習(xí)所需的數(shù)據(jù)資源的同時(shí),實(shí)現(xiàn)用戶隱私數(shù)據(jù)的保護(hù)。其嚴(yán)格的數(shù)學(xué)定義如下:若帶有定義域的隨機(jī)算法M,對所有的S ? Range( M)和滿足的x, y ∈Nx都有 :

則隨機(jī)算法M是(ε , δ)-差分隱私,如果δ=0,則隨機(jī)算法M是ε-差分隱私。上述定義中,概率空間由算法M給出,參數(shù)ε, δ均稱為隱私保護(hù)預(yù)算,參數(shù)ε不受人為控制,參數(shù)δ可受人為控制。隨著參數(shù)ε的減少,數(shù)據(jù)的隱私保護(hù)就越強(qiáng),但是與此同時(shí)它的效用就越低??梢钥闯觯瑪?shù)據(jù)集X在隨機(jī)算法M的擾動(dòng)下輸出的結(jié)果屬于S集合的概率,小于等于e的ε次方然后乘以數(shù)據(jù)集Y在隨機(jī)算法M的擾動(dòng)下輸出的結(jié)果屬于S集合的概率。這個(gè)結(jié)果因?yàn)樽兓?dǎo)致了改變之前的數(shù)據(jù)集和改變之后的數(shù)據(jù)集對攻擊者來說是無法察覺的,則說明滿足差分隱私。
對于數(shù)據(jù)集和算法的組合,有以下幾種情形:

(3)記A1( D1) , A2(D2) , A3( D3), . ..,Am( Dm)為一系列相互獨(dú)立的差分隱私,且算法Ai( D)分別滿足εi-差分隱私,這些算法組合起來滿足-差分隱私,整體小于等于最大ε-差分隱私。
差分隱私技術(shù)中的常用機(jī)制是將噪聲插入到查詢結(jié)果中,使得數(shù)據(jù)失真或者擾亂數(shù)據(jù)。差分隱私噪聲機(jī)制有拉普拉斯機(jī)制、指數(shù)機(jī)制、高斯機(jī)制等,最常用的為拉普拉斯機(jī)制。下面簡單描述拉普拉斯噪聲機(jī)制的敏感度、概率密度函數(shù)和差分隱私。
(1)敏感度。給定一個(gè)函數(shù)集,X和Y為鄰近數(shù)據(jù)集,一個(gè)函數(shù)的l1敏感度被定義為:,查詢函數(shù)的敏感度表明改變一條數(shù)據(jù)對查詢操作帶來的影響程序。


差分隱私保護(hù)最初的應(yīng)用場景是交互式數(shù)據(jù)查詢,后面逐步延伸至非交互式數(shù)據(jù)發(fā)布。上架到數(shù)據(jù)共享交換平臺對外發(fā)布的數(shù)據(jù)集,比如共享的科技專家?guī)鞂<倚畔?,為了防止攻擊者?zhǔn)確獲取專家敏感數(shù)據(jù)導(dǎo)致泄露專家隱私,在每個(gè)真實(shí)數(shù)據(jù)值后面加上一個(gè)服從拉普拉斯分布的隨機(jī)噪聲。將每一條記錄看作一個(gè)不相交的數(shù)據(jù)集,根據(jù)差分隱私的并行組合性質(zhì),每一條記錄都符合ε差分隱私時(shí),整體數(shù)據(jù)集也滿足ε差分隱私[3]。如果一條記錄有多個(gè)屬性,根據(jù)差分隱私的序列組合性質(zhì),將ε隱私保護(hù)預(yù)算分為多個(gè)部分分別加到各個(gè)屬性。相比于傳統(tǒng)技術(shù),在實(shí)現(xiàn)同樣復(fù)雜度和效果的情況下,差分隱私的效率會(huì)比較高,但由于對于背景知識的假設(shè)過于強(qiáng)調(diào),需要在查詢結(jié)果中加入大量的隨機(jī)化,如果數(shù)據(jù)維度較大將導(dǎo)致噪音過大時(shí)并覆蓋原始數(shù)據(jù),大大降低共享數(shù)據(jù)的可用性,此時(shí),需要對高維數(shù)據(jù)進(jìn)行降維。數(shù)據(jù)降維可采用主成分分析、線性判別分析技術(shù)或基于加權(quán)貝葉斯網(wǎng)絡(luò)降維等方法,對降維后的數(shù)據(jù)添加噪音再發(fā)布[4]。除了提到的中心化差分隱私保護(hù),在用戶數(shù)據(jù)采集過程中,可以采用本地差分隱私保護(hù)。本地差分隱私是為了消除可信數(shù)據(jù)中心,而是直接在用戶的數(shù)據(jù)集上做差分隱私,然后再傳輸?shù)綌?shù)據(jù)中心進(jìn)行聚合計(jì)算,這樣數(shù)據(jù)中心也無法猜測出原始數(shù)據(jù),從而保護(hù)數(shù)據(jù)隱私。