翁曉泳
南京市信息中心,南京210008
云計(jì)算和大數(shù)據(jù)技術(shù)的發(fā)展,為人們帶來(lái)了極大的便利,同時(shí)也加劇了敏感數(shù)據(jù)泄露的隱患[1-3]。由于數(shù)據(jù)具有可復(fù)制性,當(dāng)用戶(hù)把數(shù)據(jù)上傳到云服務(wù)供應(yīng)商的服務(wù)器上時(shí),數(shù)據(jù)的存儲(chǔ)和使用處于一種失控狀態(tài),數(shù)據(jù)傳遞和使用過(guò)程中的可信性、完整性、數(shù)據(jù)權(quán)屬、數(shù)據(jù)隱私等都難以保障,成為數(shù)據(jù)有效共享和合理使用面臨的關(guān)鍵問(wèn)題。目前數(shù)據(jù)所有者、用戶(hù)、云服務(wù)提供商、第三方平臺(tái)大多分別進(jìn)行數(shù)據(jù)安全防護(hù),缺少具有一致信任的統(tǒng)一數(shù)據(jù)防護(hù)手段,不利于數(shù)據(jù)全生命周期的管理和多方融合共享。
數(shù)據(jù)獲取方面,云服務(wù)提供商獲取和收集的數(shù)據(jù)遠(yuǎn)遠(yuǎn)超出用戶(hù)上傳的數(shù)據(jù)[4-5]。云提供商通過(guò)使用瀏覽器的網(wǎng)絡(luò)存儲(chǔ)、應(yīng)用程序數(shù)據(jù)緩存、cookies、像素標(biāo)記和匿名標(biāo)識(shí)符等方式,很容易獲得登錄時(shí)間、連接時(shí)長(zhǎng)、使用的設(shè)備、連接的位置、使用的應(yīng)用程序等與個(gè)人身份信息相關(guān)聯(lián)的數(shù)據(jù)。
隱私保護(hù)方面,云服務(wù)供應(yīng)商給終端用戶(hù)提供的隱私選項(xiàng)是很有限的。首先,用戶(hù)不是對(duì)所有數(shù)據(jù)都擁有控制權(quán),只有一小部分是擁有特權(quán)的;其次,這些選項(xiàng)只能幫助用戶(hù)定制世界上其他人訪問(wèn)這些信息的方式。而云服務(wù)供應(yīng)商仍然對(duì)這些數(shù)據(jù)具有完全的訪問(wèn)權(quán),而且他們會(huì)把這些數(shù)據(jù)用于各種目的。
數(shù)據(jù)多方可信共享方面,由于信息共享是云計(jì)算業(yè)務(wù)的關(guān)鍵因素,信息共享導(dǎo)致數(shù)據(jù)在不同實(shí)體之間流轉(zhuǎn),使用數(shù)據(jù)的實(shí)體之間缺少溝通、信任和監(jiān)管,使得原始數(shù)據(jù)擁有方出于信息安全和隱私保護(hù)的角度的考慮不愿意公開(kāi)自己的信息,導(dǎo)致云計(jì)算業(yè)務(wù)協(xié)同效率低下。
區(qū)塊鏈技術(shù)是一種全局共識(shí)的分布式賬本機(jī)制,具有數(shù)據(jù)全流程管控和不可篡改的特性。區(qū)塊鏈技術(shù)去中心化、防篡改、高度可擴(kuò)展等特點(diǎn),正成為繼大數(shù)據(jù)、云計(jì)算、人工智能、虛擬現(xiàn)實(shí)等技術(shù)后又一項(xiàng)將對(duì)未來(lái)產(chǎn)生重大影響的新興技術(shù)。本文基于區(qū)塊鏈和數(shù)據(jù)加密技術(shù)對(duì)云平臺(tái)數(shù)據(jù)隱私進(jìn)行保護(hù),加密體系保證數(shù)據(jù)的所有權(quán)都控制在數(shù)據(jù)擁有者手中,不會(huì)發(fā)生被篡改、非法利用、大規(guī)模泄密等安全風(fēng)險(xiǎn),并且通過(guò)區(qū)塊鏈智能合約,有效地保障了業(yè)務(wù)處理時(shí)平臺(tái)數(shù)據(jù)的隱私性和安全性。
目前基于云環(huán)境的數(shù)據(jù)共享隱私保護(hù)的方法大致分為三種,一是成員管理的方法。成員管理服務(wù)是由網(wǎng)絡(luò)上管理用戶(hù)身份和隱私的幾個(gè)基礎(chǔ)架構(gòu)組成,這些服務(wù)驗(yàn)證用戶(hù)的身份,在系統(tǒng)中注冊(cè)用戶(hù),并為他/她提供創(chuàng)建和/或調(diào)用交易時(shí)所需要的證書(shū),通過(guò)數(shù)字證書(shū)簽名來(lái)實(shí)現(xiàn)信息不被篡改,例如Hyperledger Fabric 網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都有屬于自己的證書(shū)(秘鑰對(duì)),不同角色的節(jié)點(diǎn)有不同權(quán)限。二是應(yīng)用層的訪問(wèn)控制。所有的應(yīng)用訪問(wèn)都需要得到授權(quán)許可后,才能夠得到數(shù)據(jù)的解密權(quán)限,通過(guò)數(shù)據(jù)應(yīng)用授權(quán)來(lái)解決應(yīng)用訪問(wèn)的實(shí)際控制問(wèn)題,例如文獻(xiàn)[6]根據(jù)私有云環(huán)境下的應(yīng)用特點(diǎn),提出了基于加密體制的訪問(wèn)控制應(yīng)用方案。三是數(shù)據(jù)加密方法。用戶(hù)上傳加密后的數(shù)據(jù),需要使用時(shí)再進(jìn)行解密[7-9]。
在安全數(shù)據(jù)共享和隱私保護(hù)方面,文獻(xiàn)[10]針對(duì)第三方收集個(gè)人數(shù)據(jù)導(dǎo)致用戶(hù)隱私泄露的問(wèn)題,提出一個(gè)基于區(qū)塊鏈的分布式個(gè)人數(shù)據(jù)管理系統(tǒng)和自動(dòng)化訪問(wèn)控制協(xié)議,確保用戶(hù)擁有并控制私有數(shù)據(jù)。但是缺少對(duì)多方參與的融合共享場(chǎng)景的支持。文獻(xiàn)[11]針對(duì)公共網(wǎng)絡(luò)上區(qū)塊鏈交易導(dǎo)致交易隱私泄露的問(wèn)題,提出了將合同雙方的通信進(jìn)行加密的Hawk 協(xié)議,該協(xié)議主要側(cè)重交易數(shù)據(jù),對(duì)于業(yè)務(wù)數(shù)據(jù)的處理能力并不具有優(yōu)勢(shì)。文獻(xiàn)[12]采用一種加密的智能合約,通過(guò)公私鑰方式保護(hù)公共隱私文件,并提供審計(jì)與追蹤。薛騰飛等在文獻(xiàn)[13]提出了基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)共享模型,以去中心化的方式加密存儲(chǔ)醫(yī)療數(shù)據(jù)文件,只有病人指定的醫(yī)生才能查看病人的醫(yī)療數(shù)據(jù),實(shí)現(xiàn)了病人對(duì)其醫(yī)療數(shù)據(jù)的控制。上述加密方案僅從數(shù)據(jù)加密角度進(jìn)行研究,大數(shù)據(jù)環(huán)境下,并不需要對(duì)所有數(shù)據(jù)進(jìn)行加密,因而存在一定局限性。文獻(xiàn)[14]提出了一個(gè)去中心化的數(shù)據(jù)共享框架,通過(guò)驗(yàn)證用戶(hù)的密碼學(xué)密鑰并以去中心化的方式實(shí)現(xiàn)用戶(hù)對(duì)共享醫(yī)療數(shù)據(jù)的訪問(wèn)請(qǐng)求,結(jié)合智能合約和訪問(wèn)控制策略來(lái)跟蹤數(shù)據(jù)行為和撤銷(xiāo)惡意的訪問(wèn),該方案針對(duì)醫(yī)療數(shù)據(jù)特點(diǎn)進(jìn)行研究,在通用性方面有一定欠缺。
本文針對(duì)云計(jì)算多方數(shù)據(jù)提供和使用場(chǎng)景,基于公鏈和本地鏈雙鏈協(xié)同機(jī)制,研究了全生命周期的可信數(shù)據(jù)共享方案。
基于區(qū)塊鏈的數(shù)據(jù)共享模型如圖1所示。
圖1 數(shù)據(jù)共享模型
首先將用戶(hù)原始服務(wù)器中的數(shù)據(jù)進(jìn)行區(qū)塊鏈記賬,利用區(qū)塊鏈的不可篡改特性,從而保證云服務(wù)器的數(shù)據(jù)不會(huì)被篡改。其次,本地?cái)?shù)據(jù)上傳到云服務(wù)器之前,采用國(guó)密算法的非對(duì)稱(chēng)加密技術(shù),加密精度精確到每一條數(shù)據(jù)內(nèi)容,即使數(shù)據(jù)被竊取,也無(wú)法批量破解。客戶(hù)端使用智能合約進(jìn)行業(yè)務(wù)訪問(wèn),根據(jù)定義好的規(guī)則,使用智能合約完成交互,只返回業(yè)務(wù)結(jié)果,從而保證云平臺(tái)的數(shù)據(jù)更安全、更開(kāi)放。
區(qū)塊鏈平臺(tái)采用了私有鏈加共有鏈的聯(lián)合查詢(xún)架構(gòu),首先私有鏈根據(jù)自身的業(yè)務(wù)需要,通過(guò)智能合約生成區(qū)塊,將區(qū)塊頭提交共有鏈,在數(shù)據(jù)分享時(shí),數(shù)據(jù)請(qǐng)求方通過(guò)檢索公鏈數(shù)據(jù)得到數(shù)據(jù)提供方的元數(shù)據(jù),數(shù)據(jù)擁有方根據(jù)授權(quán)證書(shū)向請(qǐng)求方提交數(shù)據(jù)。具體流程如圖2所示。
圖2 數(shù)據(jù)授權(quán)使用流程圖
區(qū)塊的結(jié)構(gòu)如圖3所示,每個(gè)區(qū)塊的記賬部分包含公鏈部分和私鏈部分,以及標(biāo)識(shí)、密鑰和操作權(quán)限等內(nèi)容。
數(shù)據(jù)提供者為了證明所提供的數(shù)據(jù)的有效性,采用了如下算法:
圖3 區(qū)塊結(jié)構(gòu)
(1)系統(tǒng)初始化
數(shù)據(jù)提供者維護(hù)一條私有區(qū)塊鏈。私鏈上區(qū)塊節(jié)點(diǎn)對(duì)應(yīng)公鑰為pk=PIDi,私鏈交易標(biāo)識(shí)為T(mén)priv=xi。密鑰生成算法如下:
給定安全參數(shù)k,返回系統(tǒng)參數(shù)和主密鑰。系統(tǒng)參數(shù)包括明文空間和密文空間。公開(kāi)系統(tǒng)參數(shù),而將主密鑰秘密存放在私鑰生成器(PKG)中。運(yùn)行BDH參數(shù)生成器G(k),生成大素?cái)?shù)q以及q階的群G1、G2以及雙線性映射,選擇隨機(jī)生成元P∈G1。其中G1是橢圓曲線上點(diǎn)集所組成的加法群的子群,G2是有限域上乘法群的子群。
選擇主密鑰s,設(shè)置系統(tǒng)公鑰pk=sP;選擇密碼學(xué)意義上安全(滿(mǎn)足隨機(jī)預(yù)言機(jī)要求)的散列函數(shù)明文空間M={0,1}n,密文空間C=系統(tǒng)參數(shù),系統(tǒng)主密鑰為s。
(2)數(shù)據(jù)提供者加密
在進(jìn)行數(shù)據(jù)提供時(shí),獲取公鏈塊高度H和公鏈對(duì)應(yīng)的交易Tpub,以及公鏈Merkleproof 路徑Ppub,私鏈Merkle proof路徑Ppriv,將上述信息封裝成對(duì)提供數(shù)據(jù)集的驗(yàn)證參數(shù)。隨加密后的數(shù)據(jù)一起發(fā)送至云平臺(tái)。
(3)數(shù)據(jù)使用者驗(yàn)證數(shù)據(jù)
數(shù)據(jù)驗(yàn)證者根據(jù)驗(yàn)證參數(shù),通過(guò)以下步驟進(jìn)行驗(yàn)證。
①數(shù)據(jù)驗(yàn)證者通過(guò)查詢(xún),在公鏈區(qū)塊H上獲取交易Tpub的根哈希Mpub。
②通過(guò)Ppub與pk驗(yàn)證交易Tpub有效性;計(jì)算方法如下:
③從Tpub獲取Tpriv對(duì)應(yīng)的根哈希Mpriv。
④通過(guò)Ppriv驗(yàn)證私有交易Tpriv有效性。
為了驗(yàn)證所提算法的可行性,在實(shí)驗(yàn)室搭建了測(cè)試用云計(jì)算環(huán)境。云環(huán)境采用5臺(tái)配置IntelCorei7 CPU,128 GB,DDR4 內(nèi)存,512 GB,SSD 硬盤(pán)的工作站組成的服務(wù)器集群,集群上部署docker 運(yùn)行環(huán)境,基于Hyperledger Fabric區(qū)塊鏈平臺(tái)運(yùn)行數(shù)據(jù)共享系統(tǒng),統(tǒng)計(jì)系統(tǒng)運(yùn)行的各項(xiàng)指標(biāo),所有數(shù)據(jù)為10次實(shí)驗(yàn)的平均值。
仿真系統(tǒng)模擬用戶(hù)上傳文件到云端,將文件訪問(wèn)權(quán)限通過(guò)區(qū)塊鏈?zhǔn)跈?quán)給數(shù)據(jù)請(qǐng)求方。一共有兩臺(tái)服務(wù)器,分別運(yùn)行公有鏈服務(wù)和私有鏈服務(wù),模擬的數(shù)據(jù)請(qǐng)求方有100個(gè)。圖4為公有鏈上數(shù)據(jù)請(qǐng)求節(jié)點(diǎn)從請(qǐng)求到數(shù)據(jù)獲取所需要的時(shí)間曲線,隨著請(qǐng)求節(jié)點(diǎn)數(shù)量的增加,節(jié)點(diǎn)數(shù)據(jù)同步時(shí)間大致穩(wěn)定,表明系統(tǒng)對(duì)文件分享具有有效性。
圖4 數(shù)據(jù)請(qǐng)求節(jié)點(diǎn)訪問(wèn)性能曲線
在區(qū)塊生成效率方面,隨著區(qū)塊總數(shù)的增加,如圖5所示。仿真數(shù)據(jù)可見(jiàn),單個(gè)區(qū)塊生成時(shí)間呈上漲趨勢(shì),這是因?yàn)閰^(qū)塊鏈中共識(shí)算法需要在全鏈成員中進(jìn)行同步,區(qū)塊總數(shù)增加導(dǎo)致更新時(shí)間變長(zhǎng)。由于本文算法采用了安全的數(shù)據(jù)共享模型和算法,所以平均生成時(shí)間在可控范圍之內(nèi)。
圖5 區(qū)塊生成效率圖
表1 從五個(gè)角度將本文的算法與幾種研究成果進(jìn)行了對(duì)比,可以看出本模型整體上具有一定優(yōu)勢(shì)。
表1 算法對(duì)比分析
隨著經(jīng)濟(jì)的發(fā)展,銀行基于存量信貸業(yè)務(wù)的征信數(shù)據(jù)遠(yuǎn)不足以支撐普惠金融的需求,誠(chéng)信數(shù)據(jù)的來(lái)源和成本成為銀行普惠金融相關(guān)產(chǎn)品落地的最大障礙。普惠金融平臺(tái)是典型的基于云計(jì)算的數(shù)據(jù)共享應(yīng)用場(chǎng)景。
受信息安全與隱私保障的限制,政府部門(mén)擁有大量權(quán)威的個(gè)人與企業(yè)的數(shù)據(jù)而不能發(fā)揮最大價(jià)值,而社會(huì)運(yùn)行過(guò)程中各商業(yè)機(jī)構(gòu)為了采集與驗(yàn)證這些數(shù)據(jù)需要付出大量重復(fù)的工作,造成商業(yè)活動(dòng)的低效運(yùn)行與極大的成本浪費(fèi)。
本文設(shè)計(jì)的數(shù)據(jù)共享系統(tǒng),可為普惠金融提供高適配性的解決方案。一方面,金融機(jī)構(gòu)通過(guò)元數(shù)據(jù)查詢(xún)和解析數(shù)據(jù),實(shí)現(xiàn)對(duì)客戶(hù)的精準(zhǔn)畫(huà)像,數(shù)據(jù)完整可靠,具有公信力。另一方面,客戶(hù)數(shù)據(jù)在私鏈中存儲(chǔ),公鏈中存儲(chǔ)私鏈塊頭,計(jì)算通過(guò)智能合約進(jìn)行,只返回?cái)?shù)據(jù)結(jié)果,敏感數(shù)據(jù)不會(huì)泄露?;趨^(qū)塊鏈技術(shù)的普惠金融平臺(tái),實(shí)現(xiàn)了多方安全數(shù)據(jù)共享,通過(guò)政務(wù)數(shù)據(jù)開(kāi)放優(yōu)化金融資源配置,突破傳統(tǒng)的普惠金融信息因素導(dǎo)致的成本高和效率低問(wèn)題。根據(jù)基本云計(jì)算業(yè)務(wù)需求分析,系統(tǒng)分為管理應(yīng)用層、區(qū)塊鏈網(wǎng)絡(luò)、接入層和業(yè)務(wù)部門(mén)四個(gè)組成部分,其邏輯結(jié)構(gòu)如圖6所示。
管理應(yīng)用層包括平臺(tái)管理、目錄和權(quán)限管理以及各種查詢(xún)應(yīng)用,實(shí)現(xiàn)各種應(yīng)用的人機(jī)接口。區(qū)塊鏈網(wǎng)絡(luò)模塊包含區(qū)塊鏈公共賬本、智能合約和各個(gè)對(duì)等節(jié)點(diǎn),實(shí)現(xiàn)區(qū)塊鏈的數(shù)據(jù)管理功能。接入層通過(guò)SDK實(shí)現(xiàn)業(yè)務(wù)部門(mén)中的數(shù)據(jù)集和區(qū)塊鏈數(shù)據(jù)的互動(dòng)。
基于本文提出的區(qū)塊鏈云數(shù)據(jù)共享模型,課題組以區(qū)塊鏈構(gòu)建普惠金融網(wǎng)絡(luò),實(shí)現(xiàn)政府與各金融、保險(xiǎn)、醫(yī)療等機(jī)構(gòu)之間數(shù)據(jù)的共享與協(xié)作,并應(yīng)用于“我的南京”APP中的“金融超市”欄目。其中,政務(wù)公共服務(wù)提供個(gè)人職業(yè)、收入、資產(chǎn)、信用等數(shù)據(jù),企業(yè)相關(guān)的公司結(jié)構(gòu)、經(jīng)營(yíng)狀況、固定資產(chǎn)、公司資質(zhì)等數(shù)據(jù),金融機(jī)構(gòu)借助政務(wù)公開(kāi)數(shù)據(jù)利用智能合約的支撐,實(shí)現(xiàn)對(duì)個(gè)人與企業(yè)的創(chuàng)新金融服務(wù),并通過(guò)區(qū)塊鏈網(wǎng)絡(luò)公開(kāi)業(yè)務(wù)辦理關(guān)鍵節(jié)點(diǎn)的流轉(zhuǎn)狀態(tài)。區(qū)塊鏈普惠金融網(wǎng)絡(luò)將承擔(dān)政府部門(mén)與金融機(jī)構(gòu)間所有數(shù)據(jù)交互的安全、高效、便利的通道,具體如圖7所示。
“金融超市”欄目以“我的南京”APP 應(yīng)用門(mén)戶(hù)為入口,以區(qū)塊鏈普惠金融底層網(wǎng)絡(luò)為依托,實(shí)現(xiàn)對(duì)個(gè)人/企業(yè)提供個(gè)人信用貸、企業(yè)主經(jīng)營(yíng)貸、房產(chǎn)按揭等在線金融服務(wù),系統(tǒng)界面如圖8所示。
自試點(diǎn)應(yīng)用以來(lái),已經(jīng)有工商銀行、中國(guó)銀行、江蘇銀行、南京銀行等13家銀行加入本欄目提供金融服務(wù),為個(gè)人和企業(yè)提供房產(chǎn)按揭貸、個(gè)人信用貸、企業(yè)主信用貸等精準(zhǔn)、便捷的金融服務(wù)。截至2019 年9 月,個(gè)人消費(fèi)信用貸累計(jì)放款98.87 億;房產(chǎn)按揭貸款累計(jì)發(fā)放按揭貸款1.06億元;企業(yè)主貸款預(yù)評(píng)估總共1 729筆,評(píng)估總金額2.47 億;通過(guò)運(yùn)營(yíng)效果分析,每?jī)|貸款為銀行節(jié)省340 人/d 的人工成本,用戶(hù)從申請(qǐng)到下款不超過(guò)10 min,大幅提高市民、中小企業(yè)貸款申請(qǐng)效率,下一步計(jì)劃加快推進(jìn)更多銀行接入,豐富個(gè)人/企業(yè)金融產(chǎn)品,優(yōu)化金融超市欄目的用戶(hù)體驗(yàn)。
圖6 區(qū)塊鏈普惠金融數(shù)據(jù)共享系統(tǒng)邏輯架構(gòu)
圖7 區(qū)塊鏈普惠金融數(shù)據(jù)共享系統(tǒng)架構(gòu)
圖8 試點(diǎn)應(yīng)用系統(tǒng)界面
本文針對(duì)云計(jì)算環(huán)境下數(shù)據(jù)擁有方對(duì)上傳至云上數(shù)據(jù)的不可控問(wèn)題,基于雙鏈結(jié)構(gòu)提出了安全的數(shù)據(jù)共享模型和算法,所提方案中,除了本身放在云服務(wù)器上的數(shù)據(jù)是加密的,還通過(guò)智能合約進(jìn)行規(guī)定的規(guī)則運(yùn)算,返回運(yùn)算的結(jié)果,而不直接給訪問(wèn)者提供源數(shù)據(jù),從而可以在保障安全的同時(shí)將云數(shù)據(jù)進(jìn)行對(duì)外開(kāi)放。通過(guò)仿真分析和試點(diǎn)應(yīng)用效果來(lái)看,基于區(qū)塊鏈的云計(jì)算數(shù)據(jù)共享系統(tǒng)可實(shí)現(xiàn)高效安全的多方數(shù)據(jù)共享與協(xié)同。