耿欽濤 王洋洋



關(guān)鍵詞:高校數(shù)據(jù);秘密共享;可搜索加密;雙層加密;區(qū)塊鏈
0 引言
在數(shù)字化大背景下,高校開(kāi)始探索數(shù)字化改革,推動(dòng)智能化、一體化的公共數(shù)據(jù)平臺(tái)建設(shè),實(shí)現(xiàn)數(shù)據(jù)為教育現(xiàn)代化賦能,立足師生普遍關(guān)注、久攻不破的體制機(jī)制改革難題,以數(shù)字化改革為總抓手,加快提升治理體系的現(xiàn)代化水平。從目前情況來(lái)看,在新技術(shù)的不斷涌現(xiàn)下,大數(shù)據(jù)平臺(tái)下的數(shù)據(jù)分析、云平臺(tái)下的數(shù)據(jù)存儲(chǔ)、各個(gè)應(yīng)用之間的數(shù)據(jù)交換和共享等都極易造成個(gè)人隱私數(shù)據(jù)泄露和篡改。高校數(shù)據(jù)共享過(guò)程中重監(jiān)控式管理而輕體驗(yàn)式服務(wù)、數(shù)據(jù)隱私保護(hù)存在隱憂[1]。在數(shù)據(jù)資源共享過(guò)程中如何保證高校數(shù)據(jù)的完整性、安全性、隱私性等是各個(gè)高校面臨的一個(gè)重大挑戰(zhàn)。數(shù)據(jù)資源的可復(fù)制性使得數(shù)據(jù)的共享保護(hù)及確權(quán)溯源難度極大,數(shù)據(jù)共享管控不嚴(yán),易導(dǎo)致數(shù)據(jù)被越權(quán)使用,數(shù)據(jù)確權(quán)溯源不準(zhǔn)確,易導(dǎo)致數(shù)據(jù)被濫用后需要數(shù)據(jù)提供方承擔(dān)責(zé)任。
1 相關(guān)研究
近年來(lái),學(xué)者們?cè)诟咝?shù)據(jù)共享上提出了許多解決方案。李超等[2]提出了建設(shè)學(xué)校的數(shù)據(jù)中心和共享平臺(tái),將高校的核心數(shù)據(jù)集成到數(shù)據(jù)中心,然后通過(guò)數(shù)據(jù)中心對(duì)外進(jìn)行數(shù)據(jù)共享。毛文卉等[3]針對(duì)在數(shù)據(jù)共享中存在數(shù)據(jù)標(biāo)準(zhǔn)缺失、數(shù)據(jù)質(zhì)量和數(shù)據(jù)安全等問(wèn)題,提出高校數(shù)據(jù)共享治理框架,旨在從數(shù)據(jù)管理、數(shù)據(jù)安全、數(shù)據(jù)質(zhì)量等方面解決數(shù)據(jù)共享中存在的問(wèn)題,該框架有效地提升了數(shù)據(jù)共享的水平和質(zhì)量。這些傳統(tǒng)的數(shù)據(jù)共享和存儲(chǔ)方案對(duì)機(jī)構(gòu)的依賴性強(qiáng),數(shù)據(jù)集中易泄露,數(shù)據(jù)安全存在隱患。隨著區(qū)塊鏈技術(shù)的發(fā)展,基于區(qū)塊鏈技術(shù)在高校數(shù)據(jù)共享上也開(kāi)展了一些研究。Zhao Gang等、陳儒玉等、Muhamed 等[4-6]通過(guò)智能合約在區(qū)塊鏈中存儲(chǔ)和管理學(xué)生的學(xué)習(xí)數(shù)據(jù)、學(xué)位證書數(shù)據(jù),利用分布式存儲(chǔ)方式解決了傳統(tǒng)系統(tǒng)存在的單點(diǎn)故障問(wèn)題,有效地管理學(xué)生數(shù)據(jù),保證數(shù)據(jù)安全可靠。胡瑩等、Kapliienko等[7-8]提出基于授權(quán)的共識(shí)機(jī)制區(qū)塊鏈架構(gòu),將高校數(shù)據(jù)的哈希值存儲(chǔ)到聯(lián)盟鏈中,真實(shí)數(shù)據(jù)保存在高校的數(shù)據(jù)中心,有效地提升數(shù)據(jù)存儲(chǔ)與驗(yàn)證的效率,保護(hù)了個(gè)人隱私。Rashid等[9],利用傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)和分布式賬本的區(qū)塊鏈方式對(duì)高校的學(xué)生信息以及教育基金數(shù)據(jù)進(jìn)行管理和共享,高校學(xué)生的基礎(chǔ)數(shù)據(jù)都由傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行維護(hù),資助數(shù)據(jù)通過(guò)區(qū)塊鏈進(jìn)行存儲(chǔ)和記錄。高飛等[10]構(gòu)建了私有鏈和聯(lián)盟鏈的混合模式進(jìn)行高校數(shù)據(jù)管理,通過(guò)私有鏈的各節(jié)點(diǎn)對(duì)學(xué)校數(shù)據(jù)進(jìn)行存儲(chǔ),采用聯(lián)盟鏈與外部機(jī)構(gòu)實(shí)現(xiàn)高校數(shù)據(jù)共享。這種方式可以快速實(shí)現(xiàn)數(shù)據(jù)上鏈,該模式仍然是用中心化的架構(gòu)來(lái)維護(hù)區(qū)塊鏈,通過(guò)集中管理者進(jìn)行監(jiān)督、管理和控制。宋東翔等[11]結(jié)合用戶零知識(shí)證明登和聯(lián)盟鏈的方式構(gòu)建了高校共享數(shù)據(jù)方案,有效地提升了系統(tǒng)的安全性和高校工作的效率,實(shí)現(xiàn)了校內(nèi)用戶可以共享二維表數(shù)據(jù)。
綜上所述區(qū)塊鏈在高校的應(yīng)用和研究主要集中在學(xué)位認(rèn)證、學(xué)生身份確認(rèn)、電子檔案、學(xué)習(xí)記錄、知識(shí)產(chǎn)權(quán)保護(hù)等高校數(shù)據(jù)方面[12],針對(duì)高校數(shù)據(jù)共享方面的系統(tǒng)性解決方案還比較少。同時(shí),區(qū)塊鏈在金融、醫(yī)療、隱私數(shù)據(jù)等領(lǐng)域的數(shù)據(jù)共享研究較多[13],為高校數(shù)據(jù)共享提供了參考價(jià)值。鑒于目前高校的技術(shù)力量比較薄弱,數(shù)據(jù)共享上往往采取比較傳統(tǒng)的方式如開(kāi)放數(shù)據(jù)接口、共享視圖、數(shù)據(jù)拷貝等方式,由于這些方式都存在數(shù)據(jù)泄露、數(shù)據(jù)監(jiān)管不嚴(yán)和使用越權(quán)等情況。本文提出了區(qū)塊鏈下的可搜索高校數(shù)據(jù)共享方案,該方案采用了區(qū)塊鏈、雙層加密、Shamir秘密共享等技術(shù),將高校人事數(shù)據(jù)、學(xué)工數(shù)據(jù)、教務(wù)數(shù)據(jù)、科研數(shù)據(jù)等各職能部門的公共數(shù)據(jù)貫通,實(shí)現(xiàn)敏感數(shù)據(jù)保護(hù)、用戶權(quán)限控制、避免數(shù)據(jù)濫用和防止數(shù)據(jù)越權(quán)訪問(wèn)的目的,實(shí)現(xiàn)高校數(shù)據(jù)可搜索和安全共享。
2 區(qū)塊鏈下的可搜索高校數(shù)據(jù)共享模型設(shè)計(jì)理念
2.1 系統(tǒng)架構(gòu)
本文提出的區(qū)塊鏈技術(shù)下的可搜索高校數(shù)據(jù)共享方案的系統(tǒng)架構(gòu)由四個(gè)層級(jí)組成:基礎(chǔ)設(shè)施層、聯(lián)盟鏈層、應(yīng)用系統(tǒng)層、用戶層,系統(tǒng)架構(gòu)如圖1所示。基礎(chǔ)設(shè)施層包含網(wǎng)絡(luò)資源、計(jì)算資源和存儲(chǔ)資源等,該層為聯(lián)盟鏈層提供基礎(chǔ)的支撐。聯(lián)盟鏈層是由運(yùn)行在基礎(chǔ)設(shè)施的各節(jié)點(diǎn)以及平臺(tái)軟件組成,該層通過(guò)加密單元對(duì)共享數(shù)據(jù)進(jìn)行加密入鏈,對(duì)共享數(shù)據(jù)的關(guān)鍵字進(jìn)行加密,并對(duì)外提供數(shù)據(jù)共享和權(quán)限驗(yàn)證。應(yīng)用系統(tǒng)層通過(guò)具體的應(yīng)用場(chǎng)景開(kāi)發(fā)應(yīng)用服務(wù)和API 接口,通過(guò)應(yīng)用系統(tǒng)對(duì)外提供用戶的數(shù)據(jù)申請(qǐng)、注冊(cè)、數(shù)據(jù)分享等可視化的操作。用戶層包括學(xué)院或部門管理機(jī)構(gòu),生態(tài)企業(yè)、科研機(jī)構(gòu),學(xué)院或部門管理機(jī)構(gòu)主要是對(duì)數(shù)據(jù)的維護(hù)、擁有數(shù)據(jù)的共享和數(shù)據(jù)授權(quán)驗(yàn)證權(quán)限。生態(tài)企業(yè)主要為學(xué)校提供信息化服務(wù)的企業(yè),該用戶主要是對(duì)數(shù)據(jù)進(jìn)行申請(qǐng)和使用,并利用所獲取的數(shù)據(jù)為學(xué)校提供相關(guān)應(yīng)用系統(tǒng)的開(kāi)發(fā)。科研機(jī)構(gòu)主要是對(duì)數(shù)據(jù)進(jìn)行查詢、申請(qǐng)和使用,科研機(jī)構(gòu)可以利用所獲取的數(shù)據(jù)開(kāi)展相關(guān)研究工作,如學(xué)生培養(yǎng)情況、學(xué)校發(fā)展?fàn)顩r、教師科研水平等。
2.2 具體流程
在本方案中,聯(lián)盟鏈中用戶的密鑰和公鑰通過(guò)SM2國(guó)密算法生成,共享數(shù)據(jù)加密的密鑰采用加密算法AES生成。方案可分為數(shù)據(jù)存儲(chǔ)與保護(hù)、數(shù)據(jù)的搜索與訪問(wèn)、數(shù)據(jù)解密等三個(gè)階段。高校共享的數(shù)據(jù)由兩部分組成,分別是基礎(chǔ)數(shù)據(jù)和敏感數(shù)據(jù)。敏感數(shù)據(jù)是指涉及師生隱私的數(shù)據(jù),如身份信息、電話、健康狀況等數(shù)據(jù),基礎(chǔ)數(shù)據(jù)指可以被公開(kāi)的數(shù)據(jù)如獲獎(jiǎng)情況、論文發(fā)表情況等。在數(shù)據(jù)存儲(chǔ)與保護(hù)階段,通過(guò)雙層加密方式對(duì)共享數(shù)據(jù)進(jìn)行雙層加密,采用被授權(quán)用戶的公鑰對(duì)加密數(shù)據(jù)的密鑰進(jìn)行加密,達(dá)到用戶權(quán)限細(xì)顆粒度控制的目的。在數(shù)據(jù)的搜索與訪問(wèn)階段,采用Shamir秘密共享方式獲取搜索憑證,對(duì)搜索內(nèi)容進(jìn)行加密發(fā)送,并通過(guò)權(quán)限控制中心驗(yàn)證,確保訪問(wèn)權(quán)限控制和搜索安全。在數(shù)據(jù)解密階段,通過(guò)權(quán)限控制中心驗(yàn)證后,獲取雙層加密數(shù)據(jù)和加密后的密鑰,并通過(guò)用戶私鑰解密獲取加密共享數(shù)據(jù)的解密密鑰,并進(jìn)行分層解密獲取共享數(shù)據(jù),保證數(shù)據(jù)精準(zhǔn)訪問(wèn)和避免數(shù)據(jù)越權(quán)訪問(wèn)。
2.2.1 數(shù)據(jù)的存儲(chǔ)與保護(hù)
高校數(shù)據(jù)要實(shí)現(xiàn)共享,首先需要對(duì)高校數(shù)據(jù)進(jìn)行上鏈存儲(chǔ)與保護(hù)。共享數(shù)據(jù)由敏感數(shù)據(jù)和基礎(chǔ)數(shù)據(jù)組成,兩種數(shù)據(jù)由于重要程度不同,可共享的對(duì)象也不同,為了做到細(xì)顆粒度的控制,本文采用雙層加密的方式分別對(duì)共享數(shù)據(jù)進(jìn)行加密,為數(shù)據(jù)共享提供基礎(chǔ)支撐和保護(hù)。首先,第一層加密是對(duì)敏感數(shù)據(jù)加密:1) 從共享數(shù)據(jù)庫(kù)中獲取需加入聯(lián)盟鏈中的共享數(shù)據(jù),識(shí)別共享數(shù)據(jù)中的基礎(chǔ)數(shù)據(jù)和敏感數(shù)據(jù);2) 通過(guò)密碼運(yùn)算單元,采用數(shù)據(jù)加密算法AES生成一個(gè)對(duì)稱密鑰k1,對(duì)敏感數(shù)據(jù)加密生成敏感數(shù)據(jù)密文;3) 獲取被授權(quán)訪問(wèn)用戶的公鑰pi,該公鑰通過(guò)SM2國(guó)密算法生成,使用用戶的公鑰pi對(duì)k1逐一加密,并將加密后的k1密文和被授權(quán)用戶的公鑰pi組成的鍵值對(duì)存儲(chǔ)到聯(lián)盟鏈的全局變量中;4) 采用敏感數(shù)密文替換共享數(shù)據(jù)中的敏感數(shù)據(jù),形成新的共享數(shù)據(jù)。其次,第二層加密是對(duì)新的共享數(shù)據(jù)進(jìn)行加密:1) 通過(guò)密碼運(yùn)算單元,采用數(shù)據(jù)加密算法AES生成一個(gè)對(duì)稱密鑰k2;2) 采用k2對(duì)新的共享數(shù)據(jù)進(jìn)行整體加密,形成新共享數(shù)據(jù)密文;3) 使用被授權(quán)訪問(wèn)新共享數(shù)據(jù)用戶的公鑰pi對(duì)k2逐一加密,并將加密后的k2密文和被授權(quán)用戶的公鑰pi組成的鍵值對(duì)存儲(chǔ)到聯(lián)盟鏈的全局變量中。最后,為了確保搜索的安全,從共享數(shù)據(jù)抽出關(guān)鍵字,并加密保存在區(qū)塊鏈中:1) 輸入Shamir生成的共享份額(xi,yi) ,計(jì)算出密鑰S;2) 通過(guò)密鑰S加密關(guān)鍵字;3) 把加密后的關(guān)鍵字與新共享數(shù)據(jù)密文的哈希地址組成鍵值對(duì)存儲(chǔ)到聯(lián)盟鏈的全局區(qū)域。具體流程如圖2所示。
2.2.2 數(shù)據(jù)的搜索與訪問(wèn)
用戶通過(guò)輸入關(guān)鍵字獲取可以訪問(wèn)的內(nèi)容。用戶將自己的份額(xi,yi) 輸入智能合約通過(guò)Shamir秘密共享算法計(jì)算密鑰S,并通過(guò)密鑰S對(duì)搜索的關(guān)鍵字進(jìn)行加密。通過(guò)智能單元模塊處理獲取加密的關(guān)鍵字,然后在區(qū)塊鏈全局區(qū)域關(guān)鍵字庫(kù)集合中查詢此關(guān)鍵字對(duì)應(yīng)的共享數(shù)據(jù)的哈希地址。獲取地址后通過(guò)權(quán)限管理功能判斷用戶是否有權(quán)限訪問(wèn)此數(shù)據(jù),如果用戶有數(shù)據(jù)訪問(wèn)權(quán)限則發(fā)送數(shù)據(jù)給用戶,如果用戶無(wú)權(quán)限訪問(wèn)該數(shù)據(jù),用戶可以發(fā)起申請(qǐng)?jiān)L問(wèn),數(shù)據(jù)擁有者判斷是否授權(quán)給用戶訪問(wèn)該數(shù)據(jù),如果授權(quán)審批通過(guò),智能合約算法把該用戶加入授權(quán)訪問(wèn)列表中,然后返回搜索數(shù)據(jù)給搜索用戶,否則用戶無(wú)法獲取搜索的數(shù)據(jù)。具體流程如圖3所示。
2.2.3 數(shù)據(jù)解密
用戶獲取到共享數(shù)據(jù),需要對(duì)數(shù)據(jù)進(jìn)行雙層解密后才能讀取數(shù)據(jù)的真實(shí)內(nèi)容。首先,第一層解密:1) 根據(jù)用戶的公鑰和地址在全局變量中獲取解密密文數(shù)據(jù)的密鑰k2的密文;2)用戶通過(guò)自己的私鑰解密k2 的密文,獲取密鑰k2的明文;3) 用密鑰k2解密新共享數(shù)據(jù)密文,獲取新共享數(shù)據(jù)。其次,第二層解密:1) 根據(jù)用戶的公鑰和地址在全局變量中獲取解密密文數(shù)據(jù)的密鑰k1密文;2) 用戶通過(guò)自己的私鑰解密k1的密文,獲取密鑰k1的明文;3) 用密鑰k1解密新共享數(shù)據(jù)中的敏感數(shù)據(jù)密文,獲取敏感數(shù)據(jù)明文;4) 用敏感數(shù)據(jù)明文替換新共享數(shù)據(jù)中的密文,得到共享數(shù)據(jù)的明文。具體流程如圖4所示。
3 實(shí)驗(yàn)與分析
3.1 實(shí)驗(yàn)環(huán)境
為了驗(yàn)證區(qū)塊鏈下的可搜索高校數(shù)據(jù)共享方案的可行性,本文搭建了一個(gè)原型系統(tǒng)進(jìn)行驗(yàn)證方案的可行性。本方案實(shí)驗(yàn)所使用的硬件環(huán)境為Intel(R)CPU E5-2670 @2.30GHz 2.29GHz(2處理器),內(nèi)存為16GB,操作系統(tǒng)為64位Windows server 2012R2,編程語(yǔ)言為Java, 開(kāi)發(fā)環(huán)境為eclipse,在加密過(guò)程中引入SM2、Shamir、P2P 等相關(guān)jar包實(shí)現(xiàn)聯(lián)盟鏈的搭建。
3.2 安全性分析
本方案中采取了雙層加密方式且在授權(quán)訪問(wèn)控制時(shí)是分開(kāi)授權(quán),針對(duì)敏感數(shù)據(jù)采用按字段逐一授權(quán),實(shí)現(xiàn)了細(xì)顆粒度的權(quán)限控制,保證數(shù)據(jù)的訪問(wèn)安全。在搜索過(guò)程中,每個(gè)用戶都有用于生成搜索憑證的份額,用戶注冊(cè)時(shí)都會(huì)有預(yù)先設(shè)置好的智能合約生成用戶搜索的份額和一對(duì)非對(duì)稱密鑰。只有計(jì)算出正確的搜索密鑰憑證才能進(jìn)行數(shù)據(jù)搜索和使用申請(qǐng),實(shí)現(xiàn)了數(shù)據(jù)的搜索安全。針對(duì)數(shù)據(jù)共享過(guò)程而言,數(shù)據(jù)的擁有者事先需要把數(shù)據(jù)存儲(chǔ)到聯(lián)盟鏈中,通過(guò)雙層加密和解密方式保證了數(shù)據(jù)的完整性和數(shù)據(jù)的隱私性。
3.3 性能分析
本文實(shí)現(xiàn)的方案中數(shù)據(jù)共享效率受到文件大小、敏感信息個(gè)數(shù)、關(guān)鍵字?jǐn)?shù)量等因素影響,因此,分別測(cè)試在不同文件大小、敏感信息個(gè)數(shù)、關(guān)鍵字?jǐn)?shù)量不同的情況下的加解密時(shí)間和在不同參與節(jié)點(diǎn)情況下搜索憑證生成和搜索時(shí)間。
實(shí)驗(yàn)采用三種方式開(kāi)展,實(shí)驗(yàn)一針對(duì)不同文件大小進(jìn)行測(cè)試,在該實(shí)驗(yàn)中固定敏感信息個(gè)數(shù)為5個(gè),通過(guò)改變文件大小來(lái)計(jì)算文件加解密的時(shí)間。實(shí)驗(yàn)結(jié)果如果5所示。實(shí)驗(yàn)二針對(duì)不同敏感信息個(gè)數(shù)開(kāi)展測(cè)試,在該實(shí)驗(yàn)中固定文件大小200KB,通過(guò)改變敏感信息個(gè)數(shù)進(jìn)行計(jì)算文件加密和解密的時(shí)間。實(shí)驗(yàn)結(jié)果如圖6所示。實(shí)驗(yàn)三針對(duì)不同參與節(jié)點(diǎn)來(lái)計(jì)算數(shù)據(jù)搜索的時(shí)間,在該實(shí)驗(yàn)中固定每個(gè)區(qū)塊上的文件大小200KB、關(guān)鍵字個(gè)數(shù)為100,通過(guò)改變參與節(jié)點(diǎn)數(shù)來(lái)計(jì)算獲取搜索憑證和數(shù)據(jù)的時(shí)間。實(shí)驗(yàn)結(jié)果如圖7 所示。
從以上實(shí)驗(yàn)結(jié)果可以得出,在實(shí)驗(yàn)一和實(shí)驗(yàn)二中,隨著文件大小和敏感信息個(gè)數(shù)的增加,加密和解密的時(shí)間也呈逐步上升趨勢(shì),參考實(shí)際的應(yīng)用場(chǎng)景本案例主要是針對(duì)結(jié)構(gòu)化數(shù)據(jù),該文件大小可以滿足高校數(shù)據(jù)上鏈的需求,加解密時(shí)間也可以達(dá)到實(shí)際業(yè)務(wù)場(chǎng)景的要求。實(shí)驗(yàn)三隨著參與節(jié)點(diǎn)的增加搜索憑證和搜索數(shù)據(jù)返回時(shí)間也不斷上升,本文測(cè)試了3到10 個(gè)節(jié)點(diǎn)參與的情況下,搜索數(shù)據(jù)的時(shí)間同樣可以滿足現(xiàn)實(shí)業(yè)務(wù)場(chǎng)景需求。綜上所述,本文方案的性能在滿足業(yè)務(wù)需求和安全性的同時(shí)保障了系統(tǒng)可用性。
4 結(jié)束語(yǔ)
針對(duì)高校數(shù)據(jù)敏感信息多、涉及用戶群體大、數(shù)據(jù)易被篡改和數(shù)據(jù)隱私保護(hù)難等問(wèn)題,本文提出了區(qū)塊鏈下的可搜索高校數(shù)據(jù)共享方案。該方案采用雙層加密的方式對(duì)高校數(shù)據(jù)中的敏感數(shù)據(jù)和基礎(chǔ)數(shù)據(jù)進(jìn)行分別加密后上鏈存儲(chǔ),采用SM2產(chǎn)生非對(duì)稱密鑰實(shí)現(xiàn)數(shù)據(jù)安全存儲(chǔ)保護(hù),運(yùn)用權(quán)限控制中心對(duì)用戶授權(quán)實(shí)現(xiàn)細(xì)顆粒度控制,通過(guò) Shamir秘密共享實(shí)現(xiàn)數(shù)據(jù)安全搜索。最后通過(guò)安全分析表明了該方案可以確保數(shù)據(jù)的訪問(wèn)安全、搜索安全、數(shù)據(jù)的完整性和數(shù)據(jù)的隱私。此外,從性能分析證明在不同文件大小、敏感信息個(gè)數(shù)及關(guān)鍵字?jǐn)?shù)量情況下,該方案的共享效率是有效可行的。在未來(lái)工作中,將對(duì)敏感信息采用非對(duì)稱方式加密進(jìn)一步加強(qiáng)數(shù)據(jù)安全的保護(hù)和精準(zhǔn)授權(quán),并在保障搜索效率的同時(shí)實(shí)現(xiàn)多關(guān)鍵字的搜索和非結(jié)構(gòu)化數(shù)據(jù)的上鏈存儲(chǔ)。