亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于區(qū)塊鏈與智能合約的科學(xué)數(shù)據(jù)安全溯源方法

        2021-01-15 13:17:40魏銀珍鄧仲華關(guān)玉蓉胡志華
        現(xiàn)代情報(bào) 2021年1期
        關(guān)鍵詞:智能合約區(qū)塊鏈數(shù)據(jù)安全

        魏銀珍 鄧仲華 關(guān)玉蓉 胡志華

        收稿日期:2020-03-06

        基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目“大數(shù)據(jù)環(huán)境下面向科學(xué)研究第四范式的信息資源云研究”(項(xiàng)目編號(hào):71373191);教育部人文社會(huì)科學(xué)基金規(guī)劃項(xiàng)目“面向社會(huì)科學(xué)第四范式的數(shù)據(jù)服務(wù)與保障研究”(項(xiàng)目編號(hào):20YJA870017)。

        作者簡(jiǎn)介:魏銀珍(1976-),女,高級(jí)工程師,研究方向:數(shù)據(jù)分析與處理。鄧仲華(1956-),教授,博士生導(dǎo)師,研究方向:知識(shí)組織與服務(wù)。胡志華(1976-),男,教授,研究方向:密碼學(xué)。

        通訊作者:關(guān)玉蓉(1980-),女,副教授,研究方向:區(qū)塊鏈技術(shù)及應(yīng)用。

        摘 要:[目的/意義]數(shù)據(jù)是開(kāi)展科學(xué)研究活動(dòng)的基礎(chǔ),確保數(shù)據(jù)的質(zhì)量、防止數(shù)據(jù)被篡改已成為影響研究結(jié)果的重要因素,為了避免數(shù)據(jù)造假、數(shù)據(jù)虛報(bào)、偽造結(jié)果以符合關(guān)鍵科學(xué)研究目標(biāo)等數(shù)據(jù)欺詐行為,必須保持?jǐn)?shù)據(jù)的溯源。[方法/過(guò)程]將溯源系統(tǒng)的安全威脅分為內(nèi)部因素和外部因素,基于智能合約和開(kāi)放溯源模型(OPM),通過(guò)投票過(guò)程實(shí)現(xiàn)溯源信息準(zhǔn)入機(jī)制,利用區(qū)塊鏈的分布式特性和不可改變性,提出一種可靠的數(shù)據(jù)溯源收集、驗(yàn)證和管理區(qū)塊鏈系統(tǒng)模型。[結(jié)果/結(jié)論]在科學(xué)數(shù)據(jù)創(chuàng)建、分發(fā)、流通、使用過(guò)程中可以有效、安全地捕獲和驗(yàn)證溯源記錄,防止溯源信息被惡意更改的同時(shí)保護(hù)了隱私信息,為確??蒲袛?shù)據(jù)的客觀真實(shí)提供思路和方法參考。

        關(guān)鍵詞:科學(xué)數(shù)據(jù);數(shù)據(jù)安全;數(shù)據(jù)溯源;區(qū)塊鏈;智能合約

        DOI:10.3969/j.issn.1008-0821.2021.01.004

        〔中圖分類(lèi)號(hào)〕G203 〔文獻(xiàn)標(biāo)識(shí)碼〕A 〔文章編號(hào)〕1008-0821(2021)01-0032-07

        A Method of Secure Provenance of Scientific Data

        Based on Blockchain and Smart Contracts

        Wei Yinzhen1 Deng Zhonghua2 Guan Yurong1* Hu Zhihua1

        (1.School of Computer,Huanggang Normal University,Huanggang 438000,China;

        2.School of Information Management,Wuhan University,Wuhan 430074,China)

        Abstract:[Purpose/Significance]Data is not only the output of scientific research activities,but also the basis on which scientific research activities are carried out.Therefore,ensuring the quality of data and preventing data from being tampered with have become an important factor affecting research results.In order to avoid data fraud,data misreporting,and falsification of results to meet key scientific research goals and other data frauds,it is necessary to maintain the provenance of data.[Methods/Process]The security threats of the provenance system were divided into internal factors and external factors.Based on smart contracts and open provenance models(OPM),the provenance access mechanism was implemented by voting.Changeability,proposed a reliable provenance collection,verification and management program.[Results/Conclusions]In the process of creating,distributing,circulating,and reuse of scientific data,the system can effectively and safely capture and verify traceability records,prevent malicious changes of provenance,and thus provide ways for ensuring the objective and true scientific research data.

        Key words:scientific data;data safety;data provenance;blockchain;smart contracts

        在科學(xué)研究領(lǐng)域中,隨著信息技術(shù)的發(fā)展及其在科學(xué)研究中的廣泛應(yīng)用,加上跨越領(lǐng)域的大規(guī)模合作的科學(xué)態(tài)勢(shì),科學(xué)數(shù)據(jù)的體量呈現(xiàn)幾何指數(shù)增長(zhǎng)[1]。2018年3月17日,國(guó)務(wù)院辦公廳印發(fā)《科學(xué)數(shù)據(jù)管理辦法》指出,“進(jìn)一步加強(qiáng)和規(guī)范科學(xué)數(shù)據(jù)管理,保障科學(xué)數(shù)據(jù)安全,提高開(kāi)放共享水平,更好地為國(guó)家科技創(chuàng)新、經(jīng)濟(jì)社會(huì)發(fā)展和國(guó)家安全提供支撐”[2]。數(shù)據(jù)不僅僅是科學(xué)研究活動(dòng)的產(chǎn)出,也是開(kāi)展科學(xué)研究活動(dòng)的基礎(chǔ)。因此,確保數(shù)據(jù)的質(zhì)量,防止數(shù)據(jù)被篡改已成為影響研究結(jié)果的重要因素。例如,美國(guó)國(guó)家癌癥研究所發(fā)起的多中心癌癥臨床試驗(yàn)組進(jìn)行的審計(jì)發(fā)現(xiàn),實(shí)驗(yàn)報(bào)告的欺詐發(fā)生率為0.25%[3]。

        為了避免數(shù)據(jù)造假、數(shù)據(jù)虛報(bào)、偽造結(jié)果以符合關(guān)鍵科學(xué)研究目標(biāo)等數(shù)據(jù)欺詐行為,必須保持?jǐn)?shù)據(jù)的溯源。數(shù)據(jù)溯源作為元數(shù)據(jù),描述數(shù)據(jù)源自何處,誰(shuí)曾經(jīng)擁有過(guò),以及數(shù)據(jù)從產(chǎn)生以來(lái)經(jīng)歷了哪些轉(zhuǎn)換。溯源信息可以作為衡量實(shí)驗(yàn)結(jié)果支持研究目標(biāo)的標(biāo)準(zhǔn),從而提高研究的透明度和可靠性。另外,科學(xué)研究的數(shù)據(jù)來(lái)源眾多,其中可能包含敏感信息(如患者基本信息及其病歷),因此,公開(kāi)發(fā)表的科學(xué)數(shù)據(jù)既要具有可驗(yàn)證性,也要保護(hù)隱私信息。這就要求溯源數(shù)據(jù)的安全收集和可靠存儲(chǔ),確保數(shù)據(jù)免遭未授權(quán)訪(fǎng)問(wèn),防止侵犯隱私。

        有學(xué)者已經(jīng)開(kāi)發(fā)了一些溯源存儲(chǔ)和處理系統(tǒng)[4-5],這些溯源系統(tǒng)大多是基于集中式存儲(chǔ)模型,集中式存儲(chǔ)的缺點(diǎn)是,如果中央服務(wù)器受到威脅,則整個(gè)數(shù)據(jù)溯源信息可能會(huì)受到損害;而分布式體系本身不會(huì)對(duì)嘗試更改數(shù)據(jù)的操作進(jìn)行驗(yàn)證,任何授權(quán)用戶(hù)都可以破壞存儲(chǔ)在溯源系統(tǒng)中的數(shù)據(jù),數(shù)據(jù)溯源信息的安全性是分布式溯源系統(tǒng)需要考慮的另一個(gè)問(wèn)題。基于此,本文所提出的溯源系統(tǒng)框架,用區(qū)塊鏈來(lái)存儲(chǔ)溯源信息,使用智能合約對(duì)每次更改操作進(jìn)行驗(yàn)證。區(qū)塊鏈環(huán)境的不可改變性,保證了任何用戶(hù)都無(wú)法修改已批準(zhǔn)的溯源記錄;區(qū)塊鏈的分布式特性,保證數(shù)據(jù)溯源記錄可在區(qū)塊鏈的每個(gè)節(jié)點(diǎn)上復(fù)制,從而確保高可用性和容錯(cuò)能力。

        鄧仲華等[6]提出了一種分層次的數(shù)據(jù)溯源安全模型,該模型從數(shù)據(jù)溯源安全層、邏輯層和語(yǔ)義層系統(tǒng)地描述了數(shù)據(jù)溯源的過(guò)程。Baker J等[7]首先討論了利用區(qū)塊鏈作為數(shù)據(jù)溯源跟蹤,將區(qū)塊鏈交易用于存儲(chǔ)食品從生產(chǎn)到消費(fèi)者的溯源詳細(xì)信息。Barber S等[8]進(jìn)一步探討了使用比特幣作為研究場(chǎng)景的數(shù)據(jù)溯源系統(tǒng),提出了將研究目標(biāo)作為編碼文件存儲(chǔ)在比特幣交易數(shù)據(jù)字段中的想法。與這些系統(tǒng)模型相比較,本文提出的SciDataProv溯源系統(tǒng)采用了區(qū)塊鏈環(huán)境的不可改變性,實(shí)現(xiàn)了具有訪(fǎng)問(wèn)控制策略的全棧隱私保護(hù),經(jīng)過(guò)驗(yàn)證的數(shù)據(jù)文檔存儲(chǔ)在云中,而溯源信息作為事件日志存儲(chǔ)在區(qū)塊鏈中,從而節(jié)約存儲(chǔ)成本。

        1 相關(guān)技術(shù)和模型

        1.1 以太坊(Ethereum)與智能合約

        本文設(shè)計(jì)的SciDataProv溯源系統(tǒng)建立在以太坊(一個(gè)分布式公共區(qū)塊鏈網(wǎng)絡(luò))之上。以太坊是一個(gè)相互連接的計(jì)算機(jī)的全球網(wǎng)絡(luò),其中的計(jì)算機(jī)被稱(chēng)為結(jié)點(diǎn),用來(lái)執(zhí)行特定應(yīng)用程序,節(jié)點(diǎn)通過(guò)Geth客戶(hù)端連接到以太坊中。以太坊提供了去中心化圖靈完備平臺(tái)來(lái)運(yùn)行智能合約,提供一種稱(chēng)為以太幣的數(shù)字貨幣,來(lái)實(shí)現(xiàn)平臺(tái)中節(jié)點(diǎn)之間的價(jià)值交換。

        智能合約是駐留在以太坊區(qū)塊鏈環(huán)境中的程序,在滿(mǎn)足特定條件時(shí)自動(dòng)執(zhí)行。智能合約可以存儲(chǔ)和控制以太幣,其中控制以太幣的功能可用于構(gòu)建需要以太幣充值和支付的應(yīng)用程序,例如身份認(rèn)證管理系統(tǒng)等。在以太坊區(qū)塊鏈平臺(tái)中,每個(gè)計(jì)算步驟都有相應(yīng)的成本[9],稱(chēng)為氣體(Gas)。

        1.2 溯源模型

        本文所提出的安全溯源系統(tǒng)基于開(kāi)放溯源模型(OPM)[10]表示數(shù)據(jù)溯源軌跡,旨在提供一個(gè)開(kāi)放的數(shù)據(jù)溯源模型。OPM模型使用3個(gè)參數(shù)來(lái)表示當(dāng)前系統(tǒng)的動(dòng)作:①Artifact:表示變更版本前后的實(shí)體(如文件等);②Agent:變更發(fā)起者的代理;③Process:將實(shí)體從以前的版本更改為當(dāng)前版本的過(guò)程。三者之間用依賴(lài)關(guān)系連接,如Used、wasGeneratedBy、wasControlledBy等。OPM用圖的形式表達(dá)溯源信息,其中Artifact、Agent和Process是結(jié)點(diǎn),而他們之間的關(guān)系是邊。如修改文件的動(dòng)作可以在OPM中表示為元組(用戶(hù),文件舊版本,文件新版本,用于修改的過(guò)程)[11]。

        1.3 溯源系統(tǒng)安全威脅模型

        科學(xué)數(shù)據(jù)溯源系統(tǒng)可能受到兩種類(lèi)型的攻擊,即外部攻擊和內(nèi)部攻擊。外部攻擊是指無(wú)權(quán)訪(fǎng)問(wèn)系統(tǒng)中數(shù)據(jù)文檔的用戶(hù),但會(huì)主動(dòng)嘗試破壞特定私有數(shù)據(jù)文檔的溯源記錄,外部攻擊者不知道解密文檔的密鑰,也無(wú)法訪(fǎng)問(wèn)文檔的存儲(chǔ)位置。攻擊者僅了解文檔ID,并使用此信息對(duì)基于區(qū)塊鏈的數(shù)據(jù)溯源系統(tǒng)發(fā)起攻擊。由于云存儲(chǔ)的不可靠,本文將數(shù)據(jù)以加密形式存儲(chǔ)。

        內(nèi)部攻擊者指由數(shù)據(jù)及其溯源所有者授權(quán)訪(fǎng)問(wèn)系統(tǒng)的用戶(hù),其有權(quán)更改文檔,也能夠?qū)⒋烁挠涗浽谒菰磪^(qū)塊鏈上(這里假設(shè)內(nèi)部被授權(quán)用戶(hù)不能將訪(fǎng)問(wèn)權(quán)限授予他人)。內(nèi)部攻擊者可能會(huì)利用訪(fǎng)問(wèn)權(quán)限,通過(guò)對(duì)在區(qū)塊鏈上記入錯(cuò)誤的更改信息來(lái)偽造數(shù)據(jù)溯源記錄。本文假設(shè)授權(quán)用戶(hù)中至少有一半是誠(chéng)實(shí)的,也就是說(shuō)相信一半以上的用戶(hù)所做的更改是正確的;如果大多數(shù)用戶(hù)是惡意的,本文將無(wú)法提供安全保證[12]。

        2 科學(xué)數(shù)據(jù)溯源系統(tǒng)模型構(gòu)建

        2.1 科學(xué)數(shù)據(jù)溯源情景

        假定在一項(xiàng)研究中,研究人員將其研究記錄作為文檔存儲(chǔ)在云中,數(shù)據(jù)文件由其所有者(如首席研究員)使用公鑰加密來(lái)限制對(duì)數(shù)據(jù)文檔的訪(fǎng)問(wèn),通過(guò)提供密鑰來(lái)向用戶(hù)授予訪(fǎng)問(wèn)權(quán)。在SciDataProv系統(tǒng)模型中,通過(guò)版本控制對(duì)文檔進(jìn)行更改,對(duì)文檔的每次更改都以新的版本存儲(chǔ)在云中,后續(xù)的所有更改都必須基于當(dāng)前的最新版本,系統(tǒng)會(huì)自動(dòng)檢查是否更改未記入文檔的溯源中。

        依據(jù)上述情景,結(jié)合一般的區(qū)塊鏈結(jié)構(gòu),本文提出如圖1所示的科學(xué)數(shù)據(jù)溯源系統(tǒng)模型,主要包括應(yīng)用層、合約層、激勵(lì)層、共識(shí)層、網(wǎng)絡(luò)層、數(shù)據(jù)層。系統(tǒng)通過(guò)懲罰提交錯(cuò)誤的更改溯源詳細(xì)信息的用戶(hù)來(lái)鼓勵(lì)真實(shí)的行為。如果投票者發(fā)現(xiàn)有人提交了偽造的更改,則會(huì)得到相應(yīng)的獎(jiǎng)賞。用戶(hù)通過(guò)在瀏覽器中運(yùn)行的客戶(hù)端應(yīng)用程序?qū)⒂行Ц挠涗浀较到y(tǒng)中,每個(gè)客戶(hù)端都存儲(chǔ)有關(guān)當(dāng)前用戶(hù)可以使用的持久性數(shù)據(jù)。系統(tǒng)的客戶(hù)端應(yīng)用程序采用Node.js和MongoDB實(shí)現(xiàn),運(yùn)行在客戶(hù)端的Geth節(jié)點(diǎn)與智能合約進(jìn)行通信;客戶(hù)監(jiān)視監(jiān)聽(tīng)智能合約系統(tǒng)的更改事件;智能合約存儲(chǔ)訪(fǎng)問(wèn)控制策略以及詳細(xì)信息(如特定文檔的最后更改時(shí)間,最后更改的簽名和更改日志)等。

        2.2 溯源捕獲生命周期

        SciDataProv系統(tǒng)模型的單個(gè)執(zhí)行周期如圖2所示,包括6個(gè)步驟包:第一步,更改發(fā)起人修改數(shù)據(jù)文件并將其上傳到云中。數(shù)據(jù)文件的不同版本均保存在云中,以便在更改被拒絕的情況下還原;第二步,更改發(fā)起人通過(guò)客戶(hù)應(yīng)用程序?qū)⒏恼?qǐng)求和押金一起提交給投票合約。更改請(qǐng)求包含文檔ID、數(shù)據(jù)文件先前和當(dāng)前版本的哈希加密形式、云存儲(chǔ)庫(kù)中的文件位置、時(shí)間戳以及發(fā)起人簽名;第三步,客戶(hù)端模塊提交更改,然后啟動(dòng)投票周期。在投票期間,授權(quán)用戶(hù)使用駐留在云存儲(chǔ)中的驗(yàn)證程序腳本驗(yàn)證更改,如果更改有效,則返回TRUE,否則返回FALSE;第四步,用戶(hù)使用投票合約根據(jù)驗(yàn)證結(jié)果對(duì)此次更改進(jìn)行投票(該過(guò)程是自動(dòng)的);第五步,投票合同記錄用戶(hù)所投的票數(shù)。在投票結(jié)束時(shí),如果多于一半的用戶(hù)投反對(duì)票,則拒絕更改,更改發(fā)起者會(huì)受到罰款,區(qū)塊鏈系統(tǒng)將該罰款在參與投票的用戶(hù)中分配;如果在投票結(jié)束后,投反對(duì)票的人數(shù)少于一半,則接受變更,并向變更發(fā)起人退還押金;第六步,如果在表決后接受更改,則表決合約會(huì)將此更改記錄在文檔溯源跟蹤器中。更改的日志條目包括負(fù)責(zé)更改的作者、當(dāng)前文檔的哈希值和文檔先前版本的哈希值、當(dāng)前更改的高級(jí)OPM表示形式以及用于將來(lái)驗(yàn)證的數(shù)字簽名。

        3 科學(xué)數(shù)據(jù)溯源系統(tǒng)設(shè)計(jì)

        SciDataProv系統(tǒng)包括鏈上組件和鏈下組件兩個(gè)部分。鏈上組件主要由用于訪(fǎng)問(wèn)控制、生成和存

        儲(chǔ)溯源跟蹤與進(jìn)行投票過(guò)程的以太坊智能合約組成;鏈下組件由客戶(hù)端應(yīng)用程序構(gòu)成,主要功能是為智能合約提交更改、投票計(jì)時(shí)、驗(yàn)證更改提供接口。

        3.1 鏈上模塊

        SciDataProv系統(tǒng)鏈上模塊主要由文檔追蹤合約和投票合約組成。

        3.1.1 文檔追蹤合約

        文檔追蹤合約用于跟蹤特定文檔的變化軌跡,實(shí)施訪(fǎng)問(wèn)控制策略,維護(hù)所有用戶(hù)對(duì)文檔的訪(fǎng)問(wèn)信息,提供用于生成特定文檔的溯源軌跡的方法。所生成的數(shù)據(jù)文檔溯源信息作為事件存儲(chǔ)在文檔追蹤合約的事件日志中。更改事件日志格式為:

        change(docid,agent,EK(docid,H(Xo),H(Xn),link,ts),OPM,signk)

        其中,docid為數(shù)據(jù)文件的唯一標(biāo)識(shí),agent為更改發(fā)起人的地址,EK為加密文本,H(Xo)為先前版本的文件哈希值,H(Xn)為修改后的文件版本的哈希值,link為數(shù)據(jù)文檔在云存儲(chǔ)中的位置,ts為最新的時(shí)間戳,OPM為OPM溯源模型的高級(jí)表示,signk為基于加密文本的發(fā)起人簽名。

        文檔追蹤合約支持訪(fǎng)問(wèn)控制管理的所有基本功能,例如創(chuàng)建文檔、用戶(hù)權(quán)限管理。SciDataProv系統(tǒng)不會(huì)在明文鏈中存儲(chǔ)任何敏感信息,因?yàn)槊魑闹写鎯?chǔ)的包括智能合約代碼在內(nèi)的任何信息都是公開(kāi)可訪(fǎng)問(wèn)的。此外,由于存儲(chǔ)成本和區(qū)塊鏈存儲(chǔ)限制,實(shí)際數(shù)據(jù)存儲(chǔ)在區(qū)塊鏈以外的云中。

        將文檔添加到系統(tǒng)時(shí),文檔所有者會(huì)生成溯源記錄的初始迭代。智能合約強(qiáng)制執(zhí)行以下約束,即該文檔溯源信息的訪(fǎng)問(wèn)權(quán)限嚴(yán)格由文檔所有者控制,獲得授權(quán)的用戶(hù)禁止轉(zhuǎn)讓其權(quán)限。除主要方法外,文檔追蹤合約還包含用于檢查用戶(hù)對(duì)文檔訪(fǎng)問(wèn)權(quán)限的幫助程序,以及用于更新文檔所有者的方法。所有對(duì)溯源的更改事件都必須通過(guò)投票合約的投票過(guò)程來(lái)批準(zhǔn)。

        本文選擇投票來(lái)核實(shí)所提交的更改信息主要基于兩方面的考慮:首先是要有效地防止明顯違反數(shù)據(jù)使用限制的惡意更改(如不允許從藥物試驗(yàn)數(shù)據(jù)中刪除患者記錄);其次是不希望驗(yàn)證過(guò)程泄漏任何敏感信息。例如,對(duì)于藥物試驗(yàn),主要的驗(yàn)證過(guò)程可能是確保沒(méi)有因致命反應(yīng)而從數(shù)據(jù)集中刪除任何患者記錄(目的是提高藥物試驗(yàn)的成功率)。另外,如果驗(yàn)證是在合約中完成的,則需要以不透露任何信息的方式進(jìn)行此操作(如使用零知識(shí)證明,因?yàn)楹贤创a和執(zhí)行是公開(kāi)可見(jiàn)的),然而,現(xiàn)有零知識(shí)技術(shù)還不夠通用,并且,通用零知識(shí)驗(yàn)證技術(shù)的效率不足以實(shí)現(xiàn)溯源捕獲[13]。因此,系統(tǒng)允許每個(gè)參與者通過(guò)客戶(hù)程序在鏈外運(yùn)行驗(yàn)證代碼,并使用鏈上合約對(duì)數(shù)據(jù)更改進(jìn)行投票。

        3.1.2 投票合約

        投票合約執(zhí)行投票協(xié)議,有兩種類(lèi)型的投票協(xié)議,即簡(jiǎn)單多數(shù)投票和閾值投票。發(fā)起人以加密形式將所做的更改及其簽名與文檔ID一同提交給投票合約。投票合約接收更改,并在驗(yàn)證后生成日志事件以啟動(dòng)更改投票。投票周期設(shè)為t1,在此期間參與者可以對(duì)此更改投(贊成或反對(duì))票。在投票期結(jié)束時(shí),投票合約統(tǒng)計(jì)票數(shù),根據(jù)投票協(xié)議類(lèi)型,決定拒絕或者接受更改。如果當(dāng)前投票期的總票數(shù)未達(dá)到協(xié)議規(guī)定的最低閾值,則投票合約將開(kāi)啟新一輪的投票。在投票階段結(jié)束后,如果表決結(jié)果為接受更改,則投票合約會(huì)將更改提交給文檔追蹤合約來(lái)生成溯源事件。投票合約僅接受特定文檔的單個(gè)未完成更改,以確保數(shù)據(jù)溯源鏈的連續(xù)性和一致性。關(guān)于投票過(guò)程將在第4小節(jié)中詳細(xì)介紹。

        3.2 鏈下模塊

        鏈下客戶(hù)端運(yùn)行在客戶(hù)端計(jì)算機(jī)的瀏覽器上,充當(dāng)用戶(hù)和后端智能合約之間的接口??蛻?hù)端模塊負(fù)責(zé)與智能合約進(jìn)行通信,主要功能是存儲(chǔ)更改、獲取更改并驗(yàn)證更改的有效性。SciDataProv還有一個(gè)驗(yàn)證腳本模塊,該模塊運(yùn)行在數(shù)據(jù)文檔所在的云存儲(chǔ)中,來(lái)驗(yàn)證更改請(qǐng)求的有效性。

        3.2.1 客戶(hù)端接口模塊

        接口模塊主要為用戶(hù)提供與智能合約進(jìn)行交互的接口。該模塊為系統(tǒng)的基本操作提供訪(fǎng)問(wèn)方法(如添加新文檔、提供授權(quán)信息以及跟蹤記錄數(shù)據(jù)文檔的變更),為用戶(hù)的操作生成數(shù)字簽名。

        3.2.2 事件監(jiān)聽(tīng)模塊

        事件監(jiān)聽(tīng)模塊監(jiān)聽(tīng)由投票合約生成的更改事件,讀取記錄在合約中的所有新的變更事件,檢查當(dāng)前客戶(hù)端是否正在參與追蹤合約中的變更。如果當(dāng)前文檔更改與當(dāng)前用戶(hù)相關(guān),則監(jiān)聽(tīng)合約對(duì)更改事件進(jìn)行解密,驗(yàn)證更改的簽名,然后調(diào)用驗(yàn)證腳本,通知用戶(hù)驗(yàn)證結(jié)果,如果驗(yàn)證結(jié)果有效,則代表用戶(hù)進(jìn)行投票。

        3.2.3 計(jì)時(shí)器模塊

        計(jì)時(shí)器模塊負(fù)責(zé)跟蹤投票周期。當(dāng)生成文檔更改事件時(shí),調(diào)用計(jì)時(shí)器模塊以啟動(dòng)更改的投票周期,計(jì)時(shí)器將在投票周期結(jié)束時(shí)終止投票過(guò)程。

        3.2.4 驗(yàn)證模塊

        驗(yàn)證腳本位于云存儲(chǔ)中,驗(yàn)證提交到系統(tǒng)的數(shù)據(jù)文檔更改。驗(yàn)證腳本的輸入包括文檔的當(dāng)前版本和先前版本的加密哈希以及指向文件最新版本的鏈接。驗(yàn)證腳本首先驗(yàn)證所提交的文件哈希值是否有效,然后將當(dāng)前未確認(rèn)的數(shù)據(jù)文件與最后一個(gè)穩(wěn)定版本進(jìn)行比較,如果發(fā)現(xiàn)了除更改請(qǐng)求中提到的更改之外的任何更改,則驗(yàn)證腳本將通知用戶(hù)不匹配;如果文件中沒(méi)有無(wú)效更改,則驗(yàn)證腳本將確認(rèn)該更改有效。一旦確認(rèn)更改有效,為防止進(jìn)一步操作,驗(yàn)證腳本將僅對(duì)文檔所有者授予寫(xiě)權(quán)限。

        4 投票過(guò)程

        投票過(guò)程是本溯源系統(tǒng)的核心部分,本小節(jié)將分別討論多數(shù)表決投票和隨機(jī)閾值投票的過(guò)程以及這兩種投票方式的合理性。如圖3所示,當(dāng)變更發(fā)起人向投票合約提交變更請(qǐng)求時(shí),投票過(guò)程開(kāi)始。發(fā)起人客戶(hù)端觸發(fā)計(jì)時(shí)器啟動(dòng)對(duì)本次更改的投票周期,投票合約生成一個(gè)事件來(lái)表示投票開(kāi)始??蛻?hù)端應(yīng)用程序中的事件監(jiān)聽(tīng)模塊讀取最新的投票事件,驗(yàn)證它是否是當(dāng)前文檔更改事件中的涉眾。接著,客戶(hù)端模塊將調(diào)用駐留在云中的驗(yàn)證腳本以及指向文件的當(dāng)前和先前版本以及文件哈希的鏈接。根據(jù)表決協(xié)議策略,每個(gè)節(jié)點(diǎn)都會(huì)調(diào)用驗(yàn)證過(guò)程。如果驗(yàn)證腳本返回TRUE,則客戶(hù)端應(yīng)用程序?qū)⒔Y(jié)果通知用戶(hù),接著,客戶(hù)端應(yīng)用程序?qū)Υ烁倪M(jìn)行投票。投票合約接收并記錄了用戶(hù)的投票決定,計(jì)時(shí)器模塊將在投票期結(jié)束時(shí)終止投票。投票合約統(tǒng)計(jì)票數(shù),如果多數(shù)人對(duì)更改投反對(duì)票,則拒絕更改。如果接受更改,發(fā)起人的押金將退還。如果更改被拒絕,則押金將分配給投票參與者,以此來(lái)激勵(lì)參與者講真話(huà)。

        4.1 多數(shù)表決投票

        在多數(shù)表決投票中,文檔的利益相關(guān)者對(duì)該文檔的更改進(jìn)行投票,接受或拒絕更改的決定基于簡(jiǎn)單多數(shù)策略,即如果多數(shù)用戶(hù)對(duì)更改投了反對(duì)票,則更改被拒絕,否則接受更改。這種投票策略的缺點(diǎn)是,要求所有授權(quán)用戶(hù)都進(jìn)行投票,當(dāng)文檔的用戶(hù)較少(少于5個(gè))時(shí),此策略結(jié)果非常理想,但在用戶(hù)數(shù)量巨大的情況下,要求所有利益相關(guān)者為每項(xiàng)更改投票的代價(jià)相當(dāng)昂貴。因此,當(dāng)文檔的涉眾數(shù)量少于5個(gè)時(shí),SciDataProv實(shí)施簡(jiǎn)單的多數(shù)表決;而對(duì)于用戶(hù)量較大時(shí),采用隨機(jī)閾值表決策略。

        4.2 隨機(jī)閾值投票

        4.2.1 隨機(jī)閾值投票過(guò)程

        對(duì)于包含大量更改和用戶(hù)的系統(tǒng),用戶(hù)對(duì)每個(gè)更改進(jìn)行投票的效率都不高。在此情況下,本文采用隨機(jī)閾值表決策略。在隨機(jī)閾值投票中,投票合約要求以最小票數(shù)接受或拒絕更改。假設(shè)文檔有n個(gè)用戶(hù),要接受或拒絕更改,則投票合約的閾值為s。為了確保更改的每個(gè)投票階段都獲得s票,合約會(huì)嘗試在t>s的情況下獲得預(yù)期的t票。閾值t確保每次更改都收到最少的贊成票或反對(duì)票s。

        為了確定是否參與變更投票,每個(gè)客戶(hù)端會(huì)根據(jù)以下公式獲得一個(gè)隨機(jī)Rs:

        Rs=Hash(Bno,Etext,Glim,Addr)mod n

        Rs是通過(guò)散列發(fā)起更改信息的哈希而得到的隨機(jī)數(shù),更改信息包括Bno(當(dāng)前塊號(hào)),Etext(更改事件中的加密文本),Glim(當(dāng)前gas限制)和Addr(發(fā)起者的地址)。如果生成的隨機(jī)數(shù)低于投票合約設(shè)置的閾值t(即Ks

        在隨機(jī)閾值表決策略中,對(duì)變更的投票基于安全的偽隨機(jī)數(shù),由于每個(gè)哈希表的哈希函數(shù)輸入幾乎都是隨機(jī)的,因此無(wú)法知道哪個(gè)客戶(hù)對(duì)哪個(gè)變更進(jìn)行投票。在投票期結(jié)束時(shí),如果投票合約發(fā)現(xiàn)投票總數(shù)低于閾值s,則投票合約重新啟動(dòng)投票過(guò)程。如果在預(yù)定義的最大重新啟動(dòng)次數(shù)之后依然未收到所需的票數(shù),則更改被拒絕,并將押金退還給更改發(fā)起人。

        4.2.2 隨機(jī)投票分析

        在隨機(jī)投票的驗(yàn)證中,從n個(gè)可投票的用戶(hù)中隨機(jī)選擇至少t個(gè)用戶(hù)。每個(gè)用戶(hù)被選中的概率為t/n,其中t>s。本小節(jié)將分析給定投票期限未能獲得至少s票的概率。在分析之前,利用Chernoff-Hoeffding Bound定理得到如下公式來(lái)計(jì)算用戶(hù)投票數(shù)V小于s的概率:

        Pr[V

        在這里,每個(gè)用戶(hù)被選中的概率是t/n,對(duì)于某些選中用戶(hù)由于不在線(xiàn)或其他原因不想投票的情況的概率為pf,pf的值可以調(diào)整。

        接下來(lái)討論如何在實(shí)際應(yīng)用中設(shè)置t和s的值,使每次更改投票數(shù)不低于s。要確定t和s的最優(yōu)值,需要根據(jù)失敗概率考慮整個(gè)投票階段的總成本,這里的投票失敗概率即是在給定失敗率pf時(shí),總投票數(shù)V小于s的概率(pt=Pr[V

        假設(shè)失敗概率為pt,n位用戶(hù)被選中的概率為t/n,一輪投票的投票數(shù)少于s票,則投票過(guò)程的預(yù)期成本E[CV]可以所示如下:

        E[CV]=c·t+c11-pt≤c·t+c11-e2*(t-s)2

        其中c和c1是與系統(tǒng)相關(guān)的常數(shù),根據(jù)經(jīng)驗(yàn),常數(shù)c和c1找到給定n時(shí),t和s的最優(yōu)值。

        5 系統(tǒng)分析

        5.1 安全分析

        外部攻擊者可以根據(jù)數(shù)據(jù)文檔ID提交無(wú)效的更改請(qǐng)求來(lái)嘗試攻擊當(dāng)前系統(tǒng),SciDataProv通過(guò)對(duì)文檔實(shí)施訪(fǎng)問(wèn)控制策略來(lái)阻止此類(lèi)攻擊。文檔追蹤合約僅接受來(lái)自文檔所有者授予訪(fǎng)問(wèn)權(quán)限的用戶(hù)的更改請(qǐng)求,拒絕所有其他權(quán)限用戶(hù)的更改請(qǐng)求。通過(guò)跟蹤攻擊嘗試,預(yù)扣更改的押金將使外部攻擊者受到懲罰。外部攻擊者可能使用早期的更改請(qǐng)求簽名來(lái)發(fā)起反復(fù)攻擊,文檔跟蹤器通過(guò)跟蹤特定文檔的最新更改時(shí)間戳來(lái)防止這種攻擊,任何遲于該文檔最新時(shí)間戳的消息都將被忽略。

        內(nèi)部用戶(hù)可以是文檔的所有者,也可以是所有者授予其訪(fǎng)問(wèn)文檔權(quán)限的用戶(hù)。后者可能通過(guò)提交不實(shí)的更改來(lái)嘗試破壞數(shù)據(jù)溯源軌跡。由于SciDataProv系統(tǒng)要求每個(gè)更改都必須由最少數(shù)量的用戶(hù)批準(zhǔn),因此,只有當(dāng)其可以控制文檔所允許的用戶(hù)總數(shù)的一半以上時(shí),攻擊才能成功。隨機(jī)閾值投票進(jìn)一步確保了攻擊者無(wú)法提前知道所有選民中哪些可以參與當(dāng)前投票,因此,這類(lèi)攻擊很難成功。如果內(nèi)部攻擊者與其他利益相關(guān)者串通并投票贊成更改,則可能破壞系統(tǒng)。所有者是唯一可以授予訪(fǎng)問(wèn)權(quán)限的用戶(hù),如果所有者選擇一組忠實(shí)于他并有意破壞溯源軌跡的用戶(hù),那么該系統(tǒng)可能處于不利地位。盡管這種攻擊可能是成功的,但它仍在區(qū)塊鏈上留下了可追蹤的痕跡,可用于檢測(cè)攻擊。

        5.2 隱私保護(hù)分析

        通過(guò)使用哈希散列和加密來(lái)實(shí)現(xiàn)對(duì)溯源數(shù)據(jù)軌跡的隱私保護(hù)。外部用戶(hù)只能通過(guò)查看事件日志來(lái)推斷文檔ID和對(duì)特定文檔ID進(jìn)行的更改次數(shù)。所有更改事件對(duì)有效信息進(jìn)行加密,外部攻擊者可以獲得的信息無(wú)外乎文檔ID、密文和簽名。指向?qū)嶋H文件的云存儲(chǔ)的鏈接位置也是加密的。外部用戶(hù)從合約交易記錄中可以得到的信息包括哪些用戶(hù)與特定的文檔ID相關(guān)聯(lián),該信息可通過(guò)查看投票合約的迭代推導(dǎo)出來(lái)。以太坊平臺(tái)通過(guò)使用隨機(jī)公共地址為用戶(hù)提供匿名服務(wù)。SciDataProv的用戶(hù)不會(huì)在環(huán)境中透露其身份,而是使用公共地址在系統(tǒng)中執(zhí)行操作,只有文件所有者才知道文檔用戶(hù)的身份,查看到多個(gè)投票迭代的用戶(hù)最多可以推斷出與每個(gè)文檔關(guān)聯(lián)的公共地址。

        6 總 結(jié)

        本文提出的SciDataProv溯源系統(tǒng)采用了區(qū)塊鏈環(huán)境的不可改變性,實(shí)現(xiàn)了具有訪(fǎng)問(wèn)控制策略的全棧隱私保護(hù),經(jīng)過(guò)驗(yàn)證的數(shù)據(jù)文檔存儲(chǔ)在云中,而溯源信息作為事件日志存儲(chǔ)在區(qū)塊鏈中,從而節(jié)約存儲(chǔ)成本。SciDataProv系統(tǒng)通過(guò)使用公共密鑰加密來(lái)確保隱私,并通過(guò)使用數(shù)字簽名來(lái)保持完整性。SciDataProv實(shí)現(xiàn)了自動(dòng)驗(yàn)證腳本并拒絕了無(wú)效的更改,生成的更改哈希鏈僅記錄由驗(yàn)證腳本驗(yàn)證的更改,這保證了變更后的文件始終有效,并防止了審計(jì)員與利益相關(guān)者之間串通的任何機(jī)會(huì)。另外,本文提出的系統(tǒng)框架使用智能合約實(shí)施激勵(lì)投票,以懲罰試圖將無(wú)效更改記錄到溯源軌跡職能中的用戶(hù)。隨機(jī)投票的使用降低了驗(yàn)證過(guò)程的集中度,由于驗(yàn)證腳本會(huì)在對(duì)更改進(jìn)行投票之前驗(yàn)證更改,因此無(wú)需物理驗(yàn)證程序。通過(guò)使用數(shù)字簽名和時(shí)間戳來(lái)提供變更證明。該系統(tǒng)確保只有授權(quán)用戶(hù)使用適當(dāng)?shù)拿荑€才能訪(fǎng)問(wèn)區(qū)塊鏈環(huán)境中的更改日志。SciDataProv系統(tǒng)通過(guò)對(duì)捕獲的變更進(jìn)行隨機(jī)投票,進(jìn)一步增強(qiáng)了數(shù)據(jù)記錄的可靠性,并且使用智能合約對(duì)任何惡意更改進(jìn)行。

        參考文獻(xiàn)

        [1]周曉英.情報(bào)學(xué)進(jìn)展系列論文之七數(shù)據(jù)密集型科學(xué)研究范式的興起與情報(bào)學(xué)的應(yīng)對(duì)[J].情報(bào)資料工作,2012,(2):5-11.

        [2]中華人民共和國(guó)政府網(wǎng).http://www.gov.cn/xinwen/2018-04/02/content_5279353.htm[EB].2018-09-10.

        [3]George S L,Buyse M.Data Fraud in Clinical Trials[J].Clinical Investigation,2015,5(2):161.

        [4]Chimera U.A Visualization System for Exploratory Research and Analysis.Pettersen EF,Goddard TD,Huang CC,Couch GS,Greenblatt DM,Meng EC,F(xiàn)errin TE[J].J Comput Chem,2004,25(13):1605-12.

        [5]明華,張勇,符小輝.數(shù)據(jù)溯源技術(shù)綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(9):1917-1923.

        [6]鄧仲華,容益芳.一種分層次的數(shù)據(jù)溯源安全模型[J].圖書(shū)館學(xué)研究,2016,(20):36-41.

        [7]Baker J,Steiner J.Blockchain:The Solution for Transparency in Product Supply Chains[J].Provenance:London,UK,2015.

        [8]Barber S,Boyen X,Shi E,et al.Bitter to Better—How to Make Bitcoin a Better Currency[C]//International Conference on Financial Cryptography and Data Security.Springer,Berlin,Heidelberg,2012:399-414.

        [9]Wood G.Ethereum:A Secure Decentralised Generalised Transaction Ledger[J].Ethereum Project Yellow Paper,2014,151(2014):1-32.

        [10]Moreau L,F(xiàn)reire J,F(xiàn)utrelle J,et al.The Open Provenance Model[J].2007.

        [11]魏銀珍,鄧仲華.基于 PROV 模型的溯源管理設(shè)計(jì)與實(shí)現(xiàn)[J].情報(bào)理論與實(shí)踐,2016,39(11):95-100.

        [12]Goldreich O.Foundations of Cryptography:Volume 2,Basic Applications[M].Cambridge University Press,2009:165-166.

        [13]Brakerski Z,Katz J,Segev G,et al.Limits on the Power of Zero-knowledge Proofs in Cryptographic Constructions[C]//Theory of Cryptography Conference.Springer,Berlin,Heidelberg,2011:559-578.

        (責(zé)任編輯:陳 媛)

        猜你喜歡
        智能合約區(qū)塊鏈數(shù)據(jù)安全
        云計(jì)算中基于用戶(hù)隱私的數(shù)據(jù)安全保護(hù)方法
        電子制作(2019年14期)2019-08-20 05:43:42
        建立激勵(lì)相容機(jī)制保護(hù)數(shù)據(jù)安全
        大數(shù)據(jù)云計(jì)算環(huán)境下的數(shù)據(jù)安全
        電子制作(2017年20期)2017-04-26 06:57:48
        區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險(xiǎn)行業(yè)的應(yīng)用探討
        區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
        商情(2016年40期)2016-11-28 11:24:12
        “區(qū)塊鏈”的茍且、詩(shī)和遠(yuǎn)方
        基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
        區(qū)塊鏈技術(shù)在會(huì)計(jì)中的應(yīng)用展望
        智能合約與金融合約
        商(2016年6期)2016-04-20 17:50:36
        用“區(qū)塊鏈”助推中企走出去
        久久精品亚洲精品毛片| 无码国产精品一区二区免费式直播 | 国产一区二区三区仙踪林| 乱人妻中文字幕| 在线视频一区色| 国产一级黄色av影片| 麻神在线观看免费观看| 国产精品爽爽v在线观看无码| 日韩欧美亚洲综合久久影院d3| 亚洲中文字幕精品一区二区| 男女搞事在线观看视频| 品色堂永远免费| 久久ri精品高清一区二区三区| 国产免费激情小视频在线观看| 男女调情视频在线观看| 男女高潮免费观看无遮挡| 在线观看免费人成视频| 亚洲视频在线观看青青草| 亚洲国产精品av在线| 精精国产xxxx视频在线播放| 无码成人片一区二区三区| 亚洲中文字幕一区高清在线| 天天躁夜夜躁狠狠是什么心态| 亚洲av无码国产剧情| 精品的一区二区三区| 国产av熟女一区二区三区密桃| 色噜噜久久综合伊人一本| 久久久精品国产亚洲成人满18免费网站| 青青草原亚洲在线视频| 在线观看免费日韩精品| 久久不见久久见免费影院www| 亚洲成在人网av天堂| 亚洲丝袜美腿精品视频| 日韩精品视频一区二区三区| 岛国AV一区二区三区在线观看| 成人影院免费观看在线播放视频| 中文字幕人妻饥渴浪妇| 伊伊人成亚洲综合人网香| 国产成人无精品久久久| 一区二区三区四区亚洲免费| 国产精品爽爽v在线观看无码|