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