《區(qū)塊鏈數(shù)據(jù)層安全與隱私保護設計指南》_第1頁
《區(qū)塊鏈數(shù)據(jù)層安全與隱私保護設計指南》_第2頁
《區(qū)塊鏈數(shù)據(jù)層安全與隱私保護設計指南》_第3頁
《區(qū)塊鏈數(shù)據(jù)層安全與隱私保護設計指南》_第4頁
《區(qū)塊鏈數(shù)據(jù)層安全與隱私保護設計指南》_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1區(qū)塊鏈數(shù)據(jù)概念和范疇

1.1區(qū)塊鏈發(fā)展趨勢

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,計算機、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)和信息安全等技術(shù)

對人們的工作和生活產(chǎn)生了深遠的影響?;ヂ?lián)網(wǎng)的快速普及促進了社會進步和國家經(jīng)濟

發(fā)展。區(qū)塊鏈技術(shù)于2008年由中本聰在比特幣中首次提出之后,這十多年間處于快速

發(fā)展的階段。全球調(diào)查顯示,有39%的企業(yè)高管表示已將區(qū)塊鏈投入生產(chǎn)當中。區(qū)塊鏈

的應用正在跨行業(yè)蔓延,遠遠超出了其最初的金融科技應用范圍,技術(shù)、媒體、電信、

生命科學、健康醫(yī)療和政務等更多領域正在擴展和豐富各自的區(qū)塊鏈計劃。

區(qū)塊鏈作為數(shù)字時代的前沿技術(shù),近年來逐漸成為中央和地方政府關(guān)注的重點,被

視作具有國家戰(zhàn)略意義的新興產(chǎn)業(yè),在2019年的全國兩會上也被頻繁提及。早在2016

年,中國政府就開始了對于區(qū)塊鏈技術(shù)的探索。區(qū)塊鏈與5G、物聯(lián)網(wǎng)、人工智能都成

為了未來科技發(fā)展的重中之重。2016年12月,在國務院印發(fā)的《十三五國家信息化規(guī)

劃》中,就提出要強化戰(zhàn)略性前沿技術(shù)超前布局,首次提及區(qū)塊鏈技術(shù)。2017-2018年,

國務院發(fā)布的指導意見中,有6份文件提及要明確發(fā)展及利用區(qū)塊鏈技術(shù)。2019年,

中央各部委出臺區(qū)塊鏈相關(guān)政策更是緊鑼密鼓,在2019年10月24日,中共中央政治

局第十八次集體學習時,習近平在主持學習時強調(diào),把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新的

重要突破口,明確主攻方向,加大投入力度,著力攻克一批關(guān)鍵核心技術(shù),加快推動區(qū)

塊鏈技術(shù)和產(chǎn)業(yè)創(chuàng)新發(fā)展。2020年2月5日中央一號文件更是將區(qū)塊鏈放在了人工智

能、第五代移動通信網(wǎng)絡、智慧氣象等前列,體現(xiàn)了區(qū)塊鏈產(chǎn)業(yè)在國家戰(zhàn)略中的地位,

也意味著中央對區(qū)塊鏈產(chǎn)業(yè)的重視。止匕外,我國在此領域的專利申請比重由2014年的

33.33%上漲到2018年的82.1%。以全球視野來看,我國在區(qū)塊鏈技術(shù)領域占據(jù)了領先

優(yōu)勢。

8

區(qū)塊鏈作為分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法等技術(shù)的集成應用,

近年來已成為聯(lián)合國、國際貨幣基金組織等國際組織以及許多國家政府研究討論的熱點,

產(chǎn)業(yè)界也紛紛加大投入力度。目前,區(qū)塊鏈的應用已延伸到物聯(lián)網(wǎng)、智能制造、供應鏈管

理、數(shù)字資產(chǎn)交易等多個領域,將為云計算、大數(shù)據(jù)、移動互聯(lián)網(wǎng)等新一代信息技術(shù)的發(fā)

展帶來新的機遇,有能力引發(fā)新一輪的技術(shù)創(chuàng)新和產(chǎn)業(yè)變革。,可以用來解決現(xiàn)有業(yè)務的

一些痛點,實現(xiàn)業(yè)務模式的創(chuàng)新。在一定程度

目前,區(qū)塊鏈逐漸成為“價值互聯(lián)網(wǎng)”的重要基礎措施,各國都開始積極擁抱區(qū)塊

鏈技術(shù),開辟國際產(chǎn)業(yè)競爭的新賽道,搶占新一輪產(chǎn)業(yè)創(chuàng)新的制高點,以強化國際競爭

力。區(qū)塊鏈有著分布式、點對點傳輸、透明、可追蹤、不可篡改、數(shù)據(jù)安全等特點上解

決了價值傳輸過程中完整性、真實性、唯一性的問題。區(qū)塊鏈技術(shù)將繼續(xù)加快在產(chǎn)業(yè)場

景中的廣泛應用,與實體經(jīng)濟產(chǎn)業(yè)深度融合,形成一批“產(chǎn)業(yè)區(qū)塊鏈”項目,將會成為

區(qū)塊鏈技術(shù)的應用趨勢。同時,企業(yè)應用將成為區(qū)塊鏈的主戰(zhàn)場,聯(lián)盟鏈/私有鏈將成

為主流方向。例如:阿里將區(qū)塊鏈應用到了電子票據(jù)、醫(yī)療信息存證、公積金存繳證明

等生活場景上;騰訊將區(qū)塊鏈的應用更側(cè)重于金融方面,區(qū)塊鏈電子發(fā)票、區(qū)塊鏈游戲

等;百度作為互聯(lián)網(wǎng)三大巨頭,也有百度區(qū)塊鏈引擎BBE、超級鏈等區(qū)塊鏈產(chǎn)品。相比

大企業(yè),實際上中小企業(yè)更需要應用區(qū)塊鏈來進行產(chǎn)業(yè)升級轉(zhuǎn)型,以此來降低資金、時

間、人工等成本并更快的獲得市場認可取得更大的收益。

目前,網(wǎng)絡安全問題越發(fā)突出,而隨著區(qū)塊鏈的快速發(fā)展,也會讓區(qū)塊鏈的數(shù)據(jù)安

全問題成為人們關(guān)注的焦點。在區(qū)塊鏈迅速發(fā)展的背景下,中國順應全球化需求,緊跟

國際步伐,積極推動國內(nèi)區(qū)塊鏈的相關(guān)領域研究、標準化制定以及產(chǎn)業(yè)化發(fā)展。與對比

特幣等數(shù)字貨幣監(jiān)管日益趨嚴的背景相比,針對區(qū)塊鏈技術(shù)的支持與鼓勵已在全球范圍

內(nèi)達成共識,國內(nèi)區(qū)塊鏈技術(shù)也將在未來數(shù)年內(nèi)得到國家與地方的政策支持。在政策與

市場的雙層驅(qū)動下,區(qū)塊鏈相關(guān)產(chǎn)業(yè)有望脫虛入實,區(qū)塊鏈技術(shù)加速探索可能的應用場

9

景。

1.2區(qū)塊鏈數(shù)據(jù)概念

區(qū)塊鏈數(shù)據(jù)是指對區(qū)塊鏈中的事件進行記錄并可以識別的抽象符號。主要包括區(qū)塊、

事務、實體、合約、賬戶、配置等數(shù)據(jù)對象。不同類別的數(shù)據(jù)對象功能不相同。這些區(qū)塊

鏈數(shù)據(jù)可以通過數(shù)標識符、中文名稱、英文名稱、數(shù)據(jù)類型、數(shù)據(jù)長度、數(shù)據(jù)說明、數(shù)

據(jù)備注等屬性來描述,且具有一定的格式規(guī)范。

1.3區(qū)塊鏈數(shù)據(jù)范疇

區(qū)塊鏈數(shù)據(jù)主要包含以下數(shù)據(jù)對象:

1)區(qū)塊數(shù)據(jù):區(qū)塊鏈網(wǎng)絡的底層鏈式數(shù)據(jù),用于把一段時間內(nèi)發(fā)生的事務處理結(jié)

果持久化為成塊鏈式數(shù)據(jù)結(jié)構(gòu)。通常區(qū)塊由區(qū)塊頭和區(qū)塊體構(gòu)成。區(qū)塊頭包含相關(guān)控制

信息,區(qū)塊體包含具體事務數(shù)據(jù)。

2)事務數(shù)據(jù):區(qū)塊鏈系統(tǒng)上承載的具體業(yè)務動作的數(shù)據(jù)。事務包含非交易類型事

務和交易類型事務。

3)實體數(shù)據(jù):描述事務靜態(tài)屬性的數(shù)據(jù)。包含發(fā)起方地址、接收方地址、交易額、

交易費用、存儲數(shù)據(jù)及實體數(shù)據(jù)備注。

4)合約數(shù)據(jù):描述事務動態(tài)處理邏輯的數(shù)據(jù)。是一套以計算機代碼形式定義的承

諾,以及合約參與方可執(zhí)行承諾的協(xié)議。

5)賬戶數(shù)據(jù):描述區(qū)塊鏈事務的發(fā)起者和相關(guān)方的數(shù)據(jù)。區(qū)塊中記錄的事務信息

均被關(guān)聯(lián)到相關(guān)賬戶上,每個區(qū)塊鏈服務客戶擁有多個賬戶使用區(qū)塊鏈服務。

6)配置數(shù)據(jù):區(qū)塊鏈系統(tǒng)正常運行過程中所需要的配置信息。包含共識協(xié)議版本

號,軟件版本號和網(wǎng)絡通信底層對等節(jié)點配置信息等。

10

2區(qū)塊鏈數(shù)據(jù)安全與隱私需求

2.1區(qū)塊鏈數(shù)據(jù)保護安全需求

數(shù)據(jù)安全是區(qū)塊鏈的基本安全目標。區(qū)塊鏈作為一種分布式存儲系統(tǒng),需要存儲包

括交易、用戶信息、智能合約代碼和執(zhí)行中間狀態(tài)等數(shù)據(jù)。這些數(shù)據(jù)至關(guān)重要,是區(qū)塊

鏈安全保護的首要實體,主要包含以下五點基本需求:

1)保密性:規(guī)定了不同用戶對不同數(shù)據(jù)的訪問控制權(quán)限,僅有權(quán)限的用戶才可以

對數(shù)據(jù)進行相應的操作,信息不能被未授權(quán)的用戶知曉和使用。具體要求區(qū)塊鏈設置相

應的認證規(guī)則、訪問控制和審計機制。認證規(guī)則規(guī)定了每個節(jié)點加入?yún)^(qū)塊鏈的方式和有

效的身份識別方式。訪問控制規(guī)定了訪問控制的技術(shù)方法和每個用戶的訪問權(quán)限。審計

監(jiān)管是指區(qū)塊鏈能夠提供有效的安全事件監(jiān)測、追蹤、分析等一整套監(jiān)管方案。

2)完整性:指區(qū)塊鏈中的任何書籍不能被未經(jīng)過授權(quán)的用戶實施偽造、修改、刪

除等非法操作。具體指用戶發(fā)布的交易信息不可偽造,經(jīng)過全網(wǎng)共識的區(qū)塊不可篡改偽

造,智能合約的狀態(tài)變量、中間結(jié)果和最終輸出不可偽造。區(qū)塊鏈系統(tǒng)中一切行為不可

抵賴。完整性在交易底層需要數(shù)字簽名,哈希函數(shù)等密碼組件支持,在共識層面上,數(shù)

據(jù)的完整性依賴于共識安全。

3)可用性:指數(shù)據(jù)可以在任何時間被有權(quán)限的用戶訪問和使用。區(qū)塊鏈中的可用

性包含以下四方面:首先,可用性要求區(qū)塊鏈具備在遭受攻擊時仍然具備能夠提供可靠

服務的能力。其次,可用性要求區(qū)塊鏈受到攻擊導致部分功能受損的情況下,具備短時

間內(nèi)修復和重構(gòu)的能力。另外,可用性要求區(qū)塊鏈可以提供無差別服務。最后,可用性

需要保證用戶的訪問請求可以在有限時間內(nèi)得到區(qū)塊鏈網(wǎng)絡響應,即需要區(qū)塊鏈具有高

吞吐量,低響應時延,可以提供穩(wěn)定服務。

4)不可抵賴性:指區(qū)塊鏈協(xié)議通信雙方在信息交互過程中,確信參與者本身,以

11

及參與者所提供的信息的真實同一性,即所有參與者都不可能否認或抵賴本人的真實身

份,以及提供信息、、執(zhí)行操作的真實痕跡。

5)可控性:指對流通在區(qū)塊鏈系統(tǒng)中的信息傳播及具體內(nèi)容能夠?qū)崿F(xiàn)有效控制的

特性,即區(qū)塊鏈系統(tǒng)中的任何數(shù)據(jù)信息要在一定傳輸范圍和存放空間內(nèi)可控。

2.2區(qū)塊鏈數(shù)據(jù)隱私保護需求

在信息系統(tǒng)中,隱私是指數(shù)據(jù)擁有方不想透露的初始數(shù)據(jù)或者數(shù)據(jù)隱含的特征。而

區(qū)塊鏈技術(shù)為了維護分布式節(jié)點之間的數(shù)據(jù)同步實并達成全網(wǎng)共識,需要公開全網(wǎng)的交

易信息,這樣會給用戶帶來嚴重的隱私問題,因此,為了保護用戶隱私以及降低隱私泄

露的風險,必須對一些敏感數(shù)據(jù)進行相應的處理。在區(qū)塊鏈中,隱私保護主要是針對用

戶身份信息和交易信息兩部分內(nèi)容,區(qū)塊鏈的其余信息(如配置數(shù)據(jù),合約數(shù)據(jù)等)對

于隱私保護的需求相對而言并不高。因此,區(qū)塊鏈的隱私保護主要可以劃分為身份隱私

保護和交易隱私保護。

1)身份隱私保護:身份隱私是指區(qū)塊鏈地址關(guān)聯(lián)于用戶身份的隱私關(guān)系。區(qū)塊鏈

地址是用戶在區(qū)塊鏈系統(tǒng)匯總使用的昵稱。無論用戶身份信息是怎樣的,用戶都不需要

第三方參與來創(chuàng)建和使用地址。而當用戶使用區(qū)塊鏈地址參與區(qū)塊鏈服務時,個人的敏

感信息存在被泄露的可能。因此,區(qū)塊鏈身份隱私保護要求用戶的身份信息、物理地址、

IP地址與區(qū)塊鏈上的用戶公鑰、地址等公開信息之間是不關(guān)聯(lián)的。任何未授權(quán)節(jié)點僅僅

依靠區(qū)塊鏈上公開的數(shù)據(jù)無法獲取有關(guān)用戶身份的任何信息,也不能通過網(wǎng)絡監(jiān)聽,流

量分析等網(wǎng)絡技術(shù)對用戶的身份和交易進行追蹤。

2)交易隱私保護:交易隱私是指保存在區(qū)塊鏈中的交易記錄以及其背后隱藏的信

息。在金融領域中,各種業(yè)務往來會產(chǎn)生大量的交易記錄,這些交易記錄是十分隱私且

重要的數(shù)據(jù),通過用戶消費的交易記錄很有可能推斷出用戶的收入水平、生活狀態(tài)等隱

12

私信息,這會導致用戶個人的敏感信息泄露。因此,交易隱私保護要求交易本身的數(shù)據(jù)

信息對非授權(quán)節(jié)點匿名。在比特幣中特指交易金額,交易的發(fā)送方公鑰,接受地址等其

他交易信息。任何未授權(quán)節(jié)點無法通過有效的技術(shù)手段獲取交易相關(guān)的知識,在一些需

要高隱私保護強度的區(qū)塊鏈,還要求割裂交易與交易之間的關(guān)聯(lián)性,即非授權(quán)節(jié)點無法

有效推斷出兩個交易是否具有前后連續(xù)性,是否屬于同一個用戶等關(guān)聯(lián)關(guān)系。

2.3區(qū)塊鏈數(shù)據(jù)安全與隱私保護的聯(lián)系

區(qū)塊鏈數(shù)據(jù)安全,是指在區(qū)塊鏈中承載信息的數(shù)據(jù)的安全,保護區(qū)塊鏈中數(shù)據(jù)安全

就是需要保護包含區(qū)塊數(shù)據(jù)、事務數(shù)據(jù)、交易數(shù)據(jù)、賬戶數(shù)據(jù)等采取不同的數(shù)據(jù)保障措

施保證數(shù)據(jù)的安全。而目前,區(qū)塊鏈發(fā)展迅速,區(qū)塊鏈中的數(shù)據(jù)量逐步變大,數(shù)據(jù)的交

互需求增多,數(shù)據(jù)安全與數(shù)據(jù)的使用呈現(xiàn)相伴相生的,只要有數(shù)據(jù)使用,就存在數(shù)據(jù)安

全問題,而數(shù)據(jù)的使用是由業(yè)務所驅(qū)動。

區(qū)塊鏈隱私保護是更關(guān)注某些特定的數(shù)據(jù)元素,如身份隱私,是指用戶身份信息和

區(qū)塊鏈地址間的關(guān)聯(lián)關(guān)系,用戶在使用區(qū)塊鏈地址參與區(qū)塊鏈業(yè)務時可能會泄露敏感信

息導致被用于推測區(qū)塊鏈地址對應的真實身份;又如交易隱私,是指區(qū)塊鏈中存儲的交

易記錄等信息,通常交易記錄也能反映出一些敏感知識,泄露用戶的隱私。

13

3區(qū)塊鏈數(shù)據(jù)格式

區(qū)塊鏈發(fā)展至今,按照區(qū)塊鏈的開放程度主要分為公有鏈,聯(lián)盟鏈,私有鏈三類,

也是目前大眾普遍接受的一個分類。在不同類型的區(qū)塊鏈系統(tǒng)中,區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)在

細節(jié)上會存在差異,但在整體功能上基本是一致的。

一般情況下,區(qū)塊鏈體系架構(gòu)由自下而上的數(shù)據(jù)層、網(wǎng)絡層、共識層、激勵層、合

約層和應用層六層組成。其中,網(wǎng)絡層包括分布式組網(wǎng)機制、數(shù)據(jù)傳播機制和數(shù)據(jù)驗證

機制等;共識層主要封裝網(wǎng)絡節(jié)點的各類共識機制算法,是區(qū)塊鏈系統(tǒng)的核心技術(shù);合

約層主要封裝各類腳本、算法和智能合約,是區(qū)塊鏈可編程特性的基礎;應用層則封裝

了區(qū)塊鏈的各種應用場景和實例,如搭建在以太坊上的各類區(qū)塊鏈應用就是部署在應用

層;而數(shù)據(jù)層主要描述區(qū)塊鏈的物理存在形式,包含了區(qū)塊鏈上從創(chuàng)世區(qū)塊起始的區(qū)塊

數(shù)據(jù)、鏈式結(jié)構(gòu)以及區(qū)塊上的隨機數(shù)、時間戳、公鑰、私鑰數(shù)據(jù)等,是整個區(qū)塊鏈技術(shù)

中最底層的數(shù)據(jù)結(jié)構(gòu)。

本章將從區(qū)塊鏈數(shù)據(jù)服務的實體和面向的對象的角度,將區(qū)塊鏈數(shù)據(jù)分為區(qū)塊鏈業(yè)

務數(shù)據(jù)、區(qū)塊鏈支撐數(shù)據(jù)、區(qū)塊鏈身份數(shù)據(jù)三大類,并進一步闡述區(qū)塊鏈體系架構(gòu)中數(shù)

據(jù)層與其他各層的關(guān)聯(lián)關(guān)系。區(qū)塊鏈業(yè)務數(shù)據(jù)、區(qū)塊鏈支撐數(shù)據(jù)和區(qū)塊鏈身份數(shù)據(jù)之間

的關(guān)系視圖如圖3.1所示。其中,業(yè)務數(shù)據(jù)和身份數(shù)據(jù)主要為區(qū)塊鏈鏈上數(shù)據(jù),而區(qū)塊

鏈支撐數(shù)據(jù)主要為區(qū)塊鏈鏈下數(shù)據(jù),部分數(shù)據(jù)由區(qū)塊鏈鏈上數(shù)據(jù)提供完整性保障。

14

圖3.1區(qū)塊鏈業(yè)務數(shù)據(jù)、支撐數(shù)據(jù)與身份數(shù)據(jù)

區(qū)塊鏈業(yè)務數(shù)據(jù)按具體的業(yè)務服務目標主要分為賬本數(shù)據(jù)、共識數(shù)據(jù)、合約數(shù)據(jù)、

應用數(shù)據(jù)。

(1)區(qū)塊鏈賬本數(shù)據(jù)負責區(qū)塊鏈系統(tǒng)的信息存儲,包括收集交易數(shù)據(jù),生成數(shù)據(jù)區(qū)

塊,對本地數(shù)據(jù)進行合法性校驗,以及將校驗通過的區(qū)塊加到鏈上,將上一個區(qū)塊的

Hash簽名嵌入到下一個區(qū)塊中組成塊鏈式數(shù)據(jù)結(jié)構(gòu),使數(shù)據(jù)完整性和真實性得到保障,

這正是區(qū)塊鏈系統(tǒng)防篡改、可追溯特性的來源。賬本數(shù)據(jù)有兩種數(shù)據(jù)記錄方式:基于資

產(chǎn)和基于賬戶?;谫Y產(chǎn)的模型中,首先以資產(chǎn)為核心進行建模,然后記錄資產(chǎn)的所有

權(quán),即所有權(quán)是資產(chǎn)的一個字段?;谫~戶的模型中,建立賬戶作為資產(chǎn)和交易的對象,

資產(chǎn)是賬戶下的一個字段。

(2)區(qū)塊鏈共識數(shù)據(jù)服務于協(xié)調(diào)保障全網(wǎng)各個節(jié)點數(shù)據(jù)記錄的一致性,區(qū)塊鏈系統(tǒng)

中的數(shù)據(jù)由所有節(jié)點獨立存儲,在共識機制的協(xié)調(diào)下,共識層同步各節(jié)點的賬本,從而

實現(xiàn)節(jié)點選舉、數(shù)據(jù)一致性驗證和數(shù)據(jù)同步控制等功能。

(3)區(qū)塊鏈合約數(shù)據(jù)服務于將區(qū)塊鏈系統(tǒng)的業(yè)務邏輯以代碼的形式實現(xiàn)、編譯并部

15

署,完成既定規(guī)則的條件觸發(fā)和自動執(zhí)行,最大限度的減少人工干預,主要內(nèi)容包括智

能合約代碼、智能合約賬戶地址和數(shù)字資產(chǎn)描述等。

(4)區(qū)塊鏈應用數(shù)據(jù)服務于最終呈現(xiàn)給用戶的部分,主要作用是調(diào)用智能合約層的

接口,適配區(qū)塊鏈的各類應用場景,為用戶提供各種服務和應用。

區(qū)塊鏈支撐數(shù)據(jù)主要服務于實現(xiàn)區(qū)塊鏈系統(tǒng)中信息的記錄、驗證和傳播的基礎組件

部分。

(1)網(wǎng)絡發(fā)現(xiàn):區(qū)塊鏈網(wǎng)絡系統(tǒng)由眾多分散節(jié)點通過網(wǎng)絡連接構(gòu)成,網(wǎng)絡發(fā)現(xiàn)支

撐數(shù)據(jù)使得每個節(jié)點通過網(wǎng)絡發(fā)現(xiàn)協(xié)議發(fā)現(xiàn)鄰居節(jié)點,并與鄰居節(jié)點建立鏈路。

(2)數(shù)據(jù)收發(fā):節(jié)點通過網(wǎng)絡通信協(xié)議連接到鄰居節(jié)點后,數(shù)據(jù)收發(fā)支撐數(shù)據(jù)協(xié)

助節(jié)點完成數(shù)據(jù)交換、區(qū)塊廣播,消息共識以及數(shù)據(jù)同步等。

(3)消息通知:消息通知相關(guān)數(shù)據(jù)為區(qū)塊鏈中不同組件之間以及不同節(jié)點之間提

供消息通知服務。交易成功之后,客戶通常需要跟蹤交易執(zhí)行期間的記錄和獲取交易執(zhí)

行的結(jié)果,消息通知模塊中消息的生成、分發(fā)、存儲和其他功能都與消息通知數(shù)據(jù)密切

相關(guān)。

(4)數(shù)據(jù)存儲:根據(jù)數(shù)據(jù)類型和系統(tǒng)結(jié)構(gòu)設計,區(qū)塊鏈系統(tǒng)中的數(shù)據(jù)使用不同的

數(shù)據(jù)存儲模式,存儲模式包括關(guān)系型數(shù)據(jù)庫(比如MySQL)和非關(guān)系型數(shù)據(jù)庫(比如

LevelDB)?通常,需要保存的數(shù)據(jù)包括公共數(shù)據(jù)(例如:交易數(shù)據(jù)、事務數(shù)據(jù)、狀態(tài)

數(shù)據(jù)等)和本地的私有數(shù)據(jù)等。

(5)密碼庫:區(qū)塊鏈的多個環(huán)節(jié)都涉及到密碼學算法。密碼庫數(shù)據(jù)為上層組件提

供基本的密碼學算法支持,包括各種常用的編碼算法、哈希算法、簽名算法、隱私保護

算法等等。與此同時,密碼庫數(shù)據(jù)還涉及諸如密鑰的維護和存儲等方面的功能。

區(qū)塊鏈身份數(shù)據(jù)主要服務于系統(tǒng)管理、權(quán)限管理和節(jié)點管理三大類功能。權(quán)限管理

是區(qū)塊鏈技術(shù)的關(guān)鍵部分,尤其對于數(shù)據(jù)訪問有更多要求的許可鏈而言,通過權(quán)限管理,

16

可以確保數(shù)據(jù)和函數(shù)調(diào)用只能由相應的操作員操作。通過將權(quán)限列表提交給賬本層,可

以實現(xiàn)分散權(quán)限控制,如實現(xiàn)可編輯的區(qū)塊鏈功能。節(jié)點管理的核心是對節(jié)點標識的識

別,通常由以下技術(shù)實現(xiàn):(1)CA認證,集中式頒發(fā)CA證書給系統(tǒng)中的各個應用程序,

身份和權(quán)限由這些證書進行認證和確認;(2)PKI認證,身份由基于PKI的公私密鑰對確

認;(3)第三方身份驗證,身份由第三方提供的認證信息確認。由于各種區(qū)塊鏈具有不同

的應用場景,因此節(jié)點管理各有差異,但是區(qū)塊鏈身份數(shù)據(jù)的存儲、管理、維護和更新

是區(qū)塊鏈系統(tǒng)管理、權(quán)限管理和節(jié)點管理最根本和最重要的組成部分。

3.1區(qū)塊鏈業(yè)務數(shù)據(jù)

一般的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)可以分為區(qū)塊頭數(shù)據(jù)和區(qū)塊塊數(shù)據(jù)兩部分內(nèi)容。圖3.2描述

了區(qū)塊鏈塊數(shù)據(jù)與區(qū)塊頭結(jié)構(gòu)之間的關(guān)系。

圖3.2區(qū)塊鏈塊數(shù)據(jù)與區(qū)塊頭數(shù)據(jù)關(guān)系

17

3.1.1區(qū)塊鏈頭數(shù)據(jù)

在一般的區(qū)塊鏈系統(tǒng)中,區(qū)塊頭數(shù)據(jù)按照不同功能可以劃分為以下三組數(shù)據(jù),如表

3.1所示。第一組是用于連接前面區(qū)塊、索引父區(qū)塊哈希值的數(shù)據(jù)。第二組主要是描述

區(qū)塊信息以及顯示區(qū)塊狀態(tài)信息的重要數(shù)據(jù),如版本、區(qū)塊序號、時間戳、區(qū)塊生成時

間、額外附加數(shù)據(jù)和難度等數(shù)據(jù)。第三組是與默克爾樹相關(guān)的數(shù)據(jù),用于快速歸納校驗

區(qū)塊中的所有交易信息。區(qū)塊鏈的大部分功能都由區(qū)塊頭實現(xiàn)。

功能數(shù)據(jù)分組描述

第如連接前面區(qū)塊、索引父區(qū)塊哈希值的數(shù)據(jù)

第二組描述區(qū)塊信息以及顯示區(qū)塊狀態(tài)信息的重要數(shù)據(jù)

第三組與默克爾樹相關(guān)的數(shù)據(jù),用于歸納校驗區(qū)塊中的所有交易信息

表3」區(qū)塊頭功能數(shù)據(jù)分組

以比特幣區(qū)塊鏈系統(tǒng)和以太坊區(qū)塊鏈系統(tǒng)為例,表3.2和表3.3分別描述了比特幣

區(qū)塊頭和以太坊區(qū)塊頭的數(shù)據(jù)結(jié)構(gòu)。

功能數(shù)據(jù)分組字段描述

第一組父區(qū)塊哈希值引用區(qū)塊鏈中父區(qū)塊的哈希值

第二組版本版本號,用于跟蹤軟件/協(xié)議的更新

時間戳該區(qū)塊產(chǎn)生的近似時間

難度目標該區(qū)塊工作量證明算法的難度目標

Nonce用于工作量證明算法的計數(shù)器

第三組Merkle根該區(qū)塊中交易的默克爾樹根的哈希值

表3.2比特幣區(qū)塊頭數(shù)據(jù)結(jié)構(gòu)

功能數(shù)據(jù)分組字段描述

ParentHash父區(qū)塊的哈希值

第一組UncleHash叔區(qū)塊列表哈希值

Coinbase礦工接受獎勵的地址

Difficulty區(qū)塊難度目標

Number區(qū)塊號,從0號開始算起

18

GasLimit理論Gas上限

GasUsed區(qū)塊內(nèi)所有交易執(zhí)行產(chǎn)生的gas總和

第二組Nonce隨機數(shù),工作量證明算法的計數(shù)器

Time區(qū)塊創(chuàng)建的時間

Bloom交易收據(jù)日志組成的布隆過濾器

Extra區(qū)塊的附加數(shù)據(jù)

Root狀態(tài)樹的根哈希值

第三組TxHash交易樹的根哈希值

ReceiptHash收據(jù)樹的根哈希值

表3.3以太坊區(qū)塊頭數(shù)據(jù)結(jié)構(gòu)

3.1.2區(qū)塊鏈塊數(shù)據(jù)

區(qū)塊鏈塊數(shù)據(jù),也被稱為區(qū)塊鏈體數(shù)據(jù),其中主要的部分是該區(qū)塊打包的所有交易

記錄。這些所有的交易將通過Merkle樹的Hash過程產(chǎn)生一個唯一Merkle根值記入?yún)^(qū)

塊頭。

對于一般的區(qū)塊鏈系統(tǒng)而言,一個區(qū)塊鏈塊數(shù)據(jù)中的交易可以分為五類數(shù)據(jù),詳情

參照表3.4o

字段描述

版本/類型交易的類屬或參照的版本規(guī)則

輸入信息交易輸入的數(shù)量,哈希值,序號,交易單價、數(shù)量等

輸出信息交易的接收方地址,交易費用總量等

附加數(shù)據(jù)與區(qū)塊鏈交易相關(guān)的額外數(shù)據(jù)

其他數(shù)據(jù)不同類型區(qū)塊鏈支持功能的數(shù)據(jù)

表3.4區(qū)塊鏈塊數(shù)據(jù)內(nèi)容

以比特幣系統(tǒng)為例,每筆交易的詳細信息如表3.5所示。

參照字段描述

版本/類型版本比特幣交易參照規(guī)則

輸入計數(shù)器包含交易的輸入數(shù)量

輸入信息輸出位置索弓1被花費的UTXO的索引號,第一個為0

19

交易哈希值指向被花費的UTXO所在的交易的哈希

序列號固定值OxFFFFFFFF

解鎖腳本相關(guān)解鎖腳本大小,需要滿足的條件等

輸出信息總量用“聰”表示的比特值

鎖定腳本相關(guān)鎖定腳本大小,需要滿足的條件等

其他數(shù)據(jù)鎖定時間一個區(qū)塊號或UNIX時間戳

表3.5比特幣塊數(shù)據(jù)內(nèi)容

在以太坊系統(tǒng)中,塊數(shù)據(jù)交易詳情如表3.6所示。

參照字段描述

版本/類型Type交易類型,創(chuàng)建合約還是調(diào)用合約

Nonce交易次數(shù)

輸入信息Value需要交易的以太坊數(shù)量

Gasprice交易的gas價格

GasLimit執(zhí)行交易可使用的最大gas量

輸出信息R_Address交易接收方地址

Gas交易付出的gas總量

附加數(shù)據(jù)Data交易的附加數(shù)據(jù)

其他數(shù)據(jù)VRS交易簽名

Init合約創(chuàng)建時的初始化代碼

附加數(shù)據(jù)Data與交易相關(guān)的附加數(shù)據(jù)

表3.6以太坊塊數(shù)據(jù)內(nèi)容

3.1.3特殊區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)

上述描述的比特幣區(qū)塊鏈系統(tǒng)和以太坊區(qū)塊系統(tǒng),這類公有鏈的區(qū)塊結(jié)構(gòu)一般分為

區(qū)塊頭數(shù)據(jù)和區(qū)塊塊數(shù)據(jù),而在聯(lián)盟鏈的Fabric區(qū)塊鏈系統(tǒng)中,區(qū)塊的數(shù)據(jù)結(jié)構(gòu)分為三

部分,區(qū)塊頭(Header),區(qū)塊數(shù)據(jù)(Data)和與當前區(qū)塊相關(guān)的元數(shù)據(jù)(MetaData)。

由于在聯(lián)盟鏈中,各項交易的需求和面向的對象與私有鏈不同,因此Fabric區(qū)塊鏈在數(shù)

據(jù)結(jié)構(gòu)上會存在差異。Fabric區(qū)塊數(shù)據(jù)結(jié)構(gòu)如表3.7。

20

區(qū)塊結(jié)構(gòu)字段描述

Number區(qū)塊編號

HeaderPreviousHash上一個區(qū)塊頭的哈希值

DataHash上一個區(qū)塊數(shù)據(jù)的哈希值

Type交易類型

Version交易版本

Timestamp時間戳

Channel交易的通道

DataTxld交易編號

ChaincodeInfo鏈碼信息

ReadSet讀取集

WriteSet寫入集

Endorser_nodelnfo背書節(jié)點信息

Creator消息創(chuàng)建者身份

MetaDataSignature簽名

Configuration配式

TxFlag交易標記

表3.7Fabric區(qū)塊結(jié)構(gòu)內(nèi)容

Fabric區(qū)塊頭包含三個字段,當前區(qū)塊號(number)、前一個區(qū)塊頭哈希

(previous_hash)和當前區(qū)塊的數(shù)據(jù)哈希(data_hash),其中data_hash字段并非當前

區(qū)塊的哈希值,而只是當前區(qū)塊數(shù)據(jù)體的哈希值。

Fabric區(qū)塊塊數(shù)據(jù)Data包含展示交易信息的數(shù)據(jù)結(jié)構(gòu)Envelope數(shù)據(jù),此數(shù)據(jù)類型

主要用于存儲區(qū)塊中的交易信息,交易信息主要包括兩個字段,交易發(fā)送者的簽名

(signature)以及數(shù)據(jù)載荷(payload)。

Fabric區(qū)塊元數(shù)據(jù)部分包含與當前區(qū)塊相關(guān)的元數(shù)據(jù)內(nèi)容,用于描述Data的相關(guān)信

息,包含排序節(jié)點的Mspld(Fabric區(qū)塊鏈以發(fā)放證書的方式進行節(jié)點身份管理,Msp

為成員管理服務提供商),最新的配置塊信息,消息創(chuàng)建者的證書、公鑰以及簽名值。

21

3.2區(qū)塊鏈支撐數(shù)據(jù)

3.2.1業(yè)務支撐數(shù)據(jù)

支撐區(qū)塊鏈協(xié)議執(zhí)行的數(shù)據(jù)內(nèi)容,如交易緩存池、狀態(tài)前綴樹、轉(zhuǎn)賬前綴樹、回執(zhí)

前綴樹等。業(yè)務支撐數(shù)據(jù)遭受安全威脅時,將破壞區(qū)塊鏈協(xié)議的正常執(zhí)行,降低區(qū)塊鏈

運行效率。

3.2.2網(wǎng)絡支撐數(shù)據(jù)

支撐區(qū)塊鏈網(wǎng)絡發(fā)現(xiàn)與節(jié)點連接的數(shù)據(jù)內(nèi)容,如目錄服務器地址,可連通節(jié)點地址

和候選節(jié)點地址。例如比特幣區(qū)塊鏈中的tri表數(shù)據(jù)包和new表數(shù)據(jù)包,以太坊區(qū)塊鏈

中的網(wǎng)絡狀態(tài)前綴樹。網(wǎng)絡支撐數(shù)據(jù)遭受安全威脅時,將破壞區(qū)塊鏈節(jié)點的連通能力,

導致可能遭受隔離攻擊和延時攻擊等攻擊。

3.2.3存儲支撐數(shù)據(jù)

支撐區(qū)塊鏈臨時信息存儲和永久信息存儲的組件數(shù)據(jù)內(nèi)容,如以太坊保存著三種樹,

分別為狀態(tài)樹、交易樹和收據(jù)樹。

狀態(tài)數(shù)據(jù)存儲:整個以太坊系統(tǒng)中只有一棵狀態(tài)樹,記錄整個以太坊系統(tǒng)的所有賬

戶狀態(tài)。每個區(qū)塊保存著一棵交易樹,記錄該區(qū)塊的交易情況,一棵收據(jù)樹用來記錄該

區(qū)塊的交易收據(jù)。狀態(tài)樹采用Merkel-Patrica(MPT)樹,而交易樹和狀態(tài)樹采用Merkel

樹。

底層數(shù)據(jù)存儲:以太坊中共有三個LevelDB數(shù)據(jù)庫,分別是BlockDB、StateDB和

ExtrasDBoBlockDB保存了塊的主體內(nèi)容,包括塊頭和交易;StateDB保存了賬戶的狀

態(tài)數(shù)據(jù);ExtrasDB保存了收據(jù)信息和其他輔助信息。

22

存儲支撐數(shù)據(jù)遭受安全威脅時,將破壞所存儲信息的真實性和完整性,降低各類交

易驗證和身份驗證速度。

3.2.4應用支撐數(shù)據(jù)

支撐區(qū)塊鏈各類具體應用服務的組件,如可用的API接口,合約調(diào)用指向的地址等。

應用支撐數(shù)據(jù)遭受安全威脅時,將影響區(qū)塊鏈應用服務的效果,甚至導致數(shù)字資產(chǎn)流失

等后果。

3.3區(qū)塊鏈身份數(shù)據(jù)

在現(xiàn)實世界或者網(wǎng)絡世界要證明自己身份需要提供政府出具的身份證或者是個人

的社交賬號,而在區(qū)塊鏈中,要證明自己的身份需要依靠加密算法、數(shù)字簽名和數(shù)字證

書所形成的一個體系來證明身份。區(qū)塊鏈的身份數(shù)據(jù)就是指在區(qū)塊鏈中這類帶有身份標

識屬性的數(shù)據(jù)。區(qū)塊鏈身份的證明讓區(qū)塊鏈滿足了公信力的需求,信任不是由政府或者

第三方組織等掌控,而是建立在區(qū)塊鏈上。區(qū)塊鏈對身份數(shù)據(jù)的管理不是放在中央數(shù)據(jù)

庫中,而是利用用戶的設備來存儲和加密數(shù)據(jù),并使用加密來連接多個虛擬網(wǎng)絡中的數(shù)

據(jù)塊。這確保每個信息塊存儲所有記錄的完整并確保副本準確,這些記錄被更改或誤用

會被網(wǎng)絡發(fā)現(xiàn)。

區(qū)塊鏈身份數(shù)據(jù)往往是跟用戶的信息數(shù)據(jù)和交易轉(zhuǎn)賬等直接關(guān)聯(lián),區(qū)塊鏈身份數(shù)據(jù)

的一個體現(xiàn)是交易額存儲的地址,就比如在比特幣系統(tǒng)中的比特幣地址;以太坊中的合

約賬戶等提供了區(qū)塊鏈交易額存儲的地址。

比特幣地址是由公鑰經(jīng)過SHA-256哈希運算后,再通過RIPEMD-160哈希運算得

到的,定長為160bit的地址。用戶通過鎖定腳本的方式將比特幣鎖定到某個比特幣地址,

持有該地址私鑰的用戶則相當于擁有拿到這些比特幣的鑰匙。比特幣地址就相當于用戶

23

的錢包。通過圖3.3來舉例描述比特幣地址的身份屬性。用戶A需要向用戶B轉(zhuǎn)賬50BTC,

其做法是將50BTC放入?yún)^(qū)塊鏈并用鎖定腳本將這筆錢鎖定到用戶B的比特幣地址。用

戶B通過提供簽名和公鑰來獲取和使用該比特幣地址里面的比特幣。

用戶B

圖3.3比特幣地址示例

同樣,在以太坊智能合約里,先要構(gòu)建數(shù)字身份認證服務,如以生物學信息或密碼

學標識的特有特征信息去構(gòu)建的數(shù)字身份概念。有了數(shù)字身份才可以構(gòu)建合約主體。智

能合約里需要去除掉現(xiàn)實世界中如銀行、房管所一類的中心化的登記機構(gòu),設法讓合約

里的權(quán)益和資產(chǎn)數(shù)字化。有了數(shù)字身份和資產(chǎn)數(shù)字化后,就可以構(gòu)建兩者的映射關(guān)系,

也就可以使用數(shù)字身份去綁定數(shù)字化的資產(chǎn),然后才可以使用代碼的形式來執(zhí)行。

以太坊合約賬戶是在在以太坊區(qū)塊鏈中,部署智能合約時生成由代碼控制的賬戶。

合約賬戶可以通過設置多重簽名來體現(xiàn)合約賬戶的身份屬性,如圖3.4。合約賬戶要求

一筆轉(zhuǎn)賬需要轉(zhuǎn)賬人用戶A與用戶C的簽名,當用戶A需要向用戶B轉(zhuǎn)賬20個ETH

時,合約會通知用戶C簽名,批準簽名后,用戶B則可以得到這20個ETH。

24

圖3.4以太坊合約賬戶示例

區(qū)塊賬戶數(shù)據(jù)主要包括由PKI體系為賬戶生成的賬戶公私鑰信息,賬戶擁有的資產(chǎn)

說明以及數(shù)字證書等。區(qū)塊鏈一系列交易的進行離不開賬戶,各個賬戶通過公私鑰機制

以及數(shù)字簽名方式完成交易并通告全網(wǎng)。保證賬戶數(shù)據(jù)信息安全是區(qū)塊鏈應用需要格外

關(guān)注的。

25

4數(shù)據(jù)層安全與隱私保護

4.1數(shù)據(jù)安全與隱私保護總體框架

區(qū)塊鏈隱私保護架構(gòu)可以根據(jù)隱私保護的范疇分為區(qū)塊鏈內(nèi)容隱私保護、區(qū)塊鏈身份

隱私保護和區(qū)塊鏈行為隱私保護。

1)區(qū)塊鏈內(nèi)容隱私保護:個人、機構(gòu)等實體不愿意被外部世界知曉的信息,包括

敏感數(shù)據(jù)以及數(shù)據(jù)所表征的特性。

2)區(qū)塊鏈身份隱私保護:可識別的個人數(shù)據(jù),以及可以直接定位到具體自然人的

信息都屬于隱私保護的范疇。

3)區(qū)塊鏈行為隱私保護:不會直接泄露用戶隱私,但可以據(jù)此間接推斷出個人行

為軌跡、趨勢或行為特征的信息內(nèi)容也在區(qū)塊鏈隱私保護架構(gòu)之下。

4.2接入層設計指南

接入層需要確保終端在接入?yún)^(qū)塊鏈平臺時經(jīng)過嚴格的標識和認證,防止偽造和假冒,

實現(xiàn)接入安全需要具有可靠的密鑰管理機制,從而對實現(xiàn)并支持用戶、節(jié)點接入過程中安

全傳輸?shù)哪芰Γ⒛軌蜃钄喈惓5慕尤?;需考慮:

1)身份認證:需考慮應用用戶的身份認證,防止身份偽造,確保用戶僅訪問其授

權(quán)的資源;

2)訪問控制:需考慮用戶與系統(tǒng)資源的訪問策略,嚴格限制用戶訪問的系統(tǒng)權(quán)限;

3)WEB應用攻擊防護:需考慮WEB應用可能面臨的SQL注入、跨站腳本、信

息泄露、惡意代碼等攻擊行為;

4)APP安全:需綜合考慮APP面臨的移動安全問題,包括不安全傳輸、信息泄露、

反編譯等攻擊行為。

26

4.3處理層設計指南

4.3.1數(shù)據(jù)加密

要保證在公開信道上傳輸或在公共可訪問區(qū)域內(nèi)存儲的消息不泄露給非目標用戶,

通常應采用數(shù)據(jù)加密技術(shù)。簡單來說,數(shù)據(jù)加密技術(shù)是將要保護的消息、,又稱為明文,

變換為非目標用戶無法理解的形式,又稱為密文。這一過程稱為加密,加密過程中需要

使用加密密鑰。密文可由擁有解密密鑰的目標用戶還原為明文,非目標用戶因為沒有解

密密鑰,所以無法獲得明文,從而保障了消息的機密性。

根據(jù)加密密鑰與解密密鑰是否相同,數(shù)據(jù)加密算法可分為對稱加密和非對稱加密兩

類。對稱加密中的兩種密鑰相同,而非對稱加密密鑰中的兩種密鑰不同,并且很難通過

加密密鑰計算出解密密鑰。一般來說,對稱加密的速度較快,適合加密大量數(shù)據(jù)。但是

對稱加密面臨著密鑰共享的困難,即消息的收發(fā)雙方如何安全地共享加密/解密密鑰。

這一困難在互聯(lián)網(wǎng)環(huán)境中尤為突出,用戶無法在互聯(lián)網(wǎng)的開放環(huán)境中直接秘密地傳輸加

密/解密密鑰。相對的,非對稱加密速度較慢,但是不需要擔心密鑰共享的問題,因此

通常用于在互聯(lián)網(wǎng)環(huán)境中傳輸對稱加密的密鑰。

1)對稱加密

a)對稱加密算法流程:進行對稱加密時,首先要生成密鑰。加密時,加密方使

用密鑰對明文加密,得到密

文;解密時,解密方使用密鑰對密文解密,得到明文。

b)分組模式:一般來說,對稱加密使用的加密算法只能加密一定長度(稱為分組

大?。┑拿魑模ǚQ

為分組)。實際情況中,明文長度往往遠大于分組大小。需要使用分組模式加密多個分

組。

27

c)CTR模式:

加密過程:CTR模式為每個分組生成相應的掩碼,每個分組再與相應的掩碼進行異

或操作,實現(xiàn)將明文加密成密文。生成掩碼時,首先生成隨機初始化向量ctr,對(ctr+i)

加密的結(jié)果作為第i個分組的掩碼,以此實現(xiàn)對所有分組加密。

解密過程:解密方首先計算每個分組相應的掩碼,再將掩碼與密文異或即可得到明

文。

d)CBC模式:

加密過程:CBC模式加密將明文從前向后加密。加密第i(i>1)個明文分組時,首

先將第i個明文分組與第i-1個明文分組的加密密文異或,再使用加密算法將異或結(jié)果

加密,作為密文。加密第1個明文分組時,首先將其與一個隨機生成的初始化向量異或,

再使用加密算法將異或結(jié)果加密,作為密文。

解密過程:CBC模式將分組從后向前依次解密,解密第i(i>1)個密文分組時,首

先使用密鑰將其解密,再將解密結(jié)果與第i-1個密文分組異或,即可得到明文。解密第

1個密文分組時,首先使用密鑰將其解密,再將解密結(jié)果與初始化向量異或,即可得到

第1個明文分組。

e)OFB模式:

加密過程:OFB模式與CTR模式類似。首先為每個分組生成相應的掩碼,每個分

組再與相應的掩碼進行異或操作,實現(xiàn)將明文加密成密文。生成掩碼時,首先生成隨機

初始化向量,以遞歸方式對其加密,遞歸加密i次作為第i個分組的掩碼。以此實現(xiàn)對

所有分組加密。

解密過程:如加密過程,依次求出各分組對應的掩碼,將掩碼與對應密文異或,即

可得到對應明文。

2)非對稱加密非對稱加密中,加密密鑰與解密密鑰不同。加密密鑰稱為公鑰,

是公開的。解密密

28

鑰稱為私鑰,一般來說只有目標用戶持有。這一特性使得通信雙方不用秘密共享密鑰。

消息發(fā)送方可以使用公開可見的公鑰加密明文。加密得到的密文只有持有私鑰的接收方

可以解密。

進行非對稱加密時,首先生成加密、解密所需密鑰,即公鑰pk和私鑰sk;加密時,

加密方使用公鑰pk將明文加密成密文;解密時,解密方使用私鑰sk將密文解密成明文。

4.3.2匿名簽名

在隱私敏感安全應用中,用戶既希望通過簽名操作驗證身份的合法性,使用簽名操

作的可追溯和不可抵賴功能,同時又希望在簽名及驗證過程中不泄露身份信息,讓自己

的身份既真實又不可公開。匿名簽名機制是實現(xiàn)網(wǎng)絡環(huán)境下隱私保護的主要技術(shù)途徑。

群簽名和環(huán)簽名可以給數(shù)字簽名增加匿名性。在群簽名和環(huán)簽名中,成員可以以匿名的

方式代表整個群體對消息簽名,這個簽名是可公開驗證的。

1)群簽名在一個群簽名方案中,一個群體中的任意一個成員可以以匿名的方式

代表整個群體

對消息進行簽名。與其他數(shù)字簽名一樣,群簽名是可以公開驗證的,且可以只用單個群

公鑰來驗證。當簽名存在爭議時,群管理者可以確定簽名者的身份。

一個好的群簽名方案應滿足以下的安全性要求:

a)匿名性:給定一個群簽名后,對除了唯一的群管理員以外的任何人來說,確定簽

名者的身份是不可行的,至少在計算上是困難的。

b)不關(guān)聯(lián)性:在不打開簽名的情況下,確定兩個不同的簽名是否為同一個群成員所

簽的是不可行的,至少在計算上是困難的。

c)不可偽造性:只有群成員才能產(chǎn)生有效的群簽名。其他任何人包括群管理員也不

能偽造一個合法的簽名。

d)可跟蹤性:群管理員在發(fā)生糾紛的情況下可以打開一個簽名來確定出簽名者的

29

身份,而且任何人都不能阻止一個合法簽名的打開。

e)防陷害性:不論是群成員,還是管理員,都不能代表其他群成員對消息簽名。

f)抵抗聯(lián)合攻擊:即使一些群成員串通在一起也不能產(chǎn)生一個合法的不能被跟蹤

的群簽名。

群簽名通常包含以下過程:在系統(tǒng)初始化時,生成群公鑰和群私鑰;當一個用戶

加入系統(tǒng)時,用戶和群管理員

使用規(guī)定的交互式協(xié)議,產(chǎn)生群員的私鑰和成員證書,并使群管理員得到群成員的私有

密鑰;當群成員簽名時,群成員使用自己的私鑰對消息進行簽名;驗證簽名時,驗證者

使用群公鑰驗證簽名是否由群成員所生成;在需要時,群管理員可以根據(jù)簽名和群私鑰

確定簽名者的合法身份。

2)環(huán)簽名環(huán)簽名和群簽名相似,但相比于群簽名,環(huán)簽名中只有環(huán)成員,

沒有管理者。好的環(huán)簽名方案應滿足以下安全性要求:

a)正確性:如果按照正確的簽名步驟對消息進行簽名,并且在傳播過程中簽名沒

被篡改,那么環(huán)簽名滿足簽名驗證等式。

b)無條件匿名性:攻擊者即使非法獲取了所有可能簽名者的私鑰,他能確定出真

正的簽名者的概率不超過1/N,這里N為所有可能簽名者的個數(shù)。

c)不可偽造性:外部攻擊在不知道任何成員私鑰的情況下,即使能從一個產(chǎn)生環(huán)

簽名的隨機預言者那里得到任何消息團的簽名,他成功偽造一個合法簽名的概率也是可

以忽略的。

一般環(huán)簽名主要有以下過程:在系統(tǒng)初始化時,根據(jù)安全參數(shù)生成公鑰和私鑰。

為每一個成員ui,產(chǎn)生一個公鑰

力和私鑰的;成員進行簽名時,成員根據(jù)自己的私鑰%、環(huán)成員的公鑰工={九兒,…,為}

對消息產(chǎn)生簽名R,其中R中的某個參數(shù)根據(jù)一定的規(guī)則呈環(huán)狀;驗證時,驗證者根據(jù)

30

環(huán)成員的公鑰對簽名進行驗證。

4.3.3多重簽名

在數(shù)字簽名應用中,有時需要多個用戶對同一個文件進行簽名和認證,這就需要多

重簽名。簡單來說,多重簽名是多個用戶對同一個消息進行數(shù)字簽名。

多重數(shù)字簽名可分為有序多重數(shù)字簽名和廣播多重數(shù)字簽名。它們都有三個過程:

系統(tǒng)初始化、產(chǎn)生簽名和驗證簽名;它們應用場景中都有三種角色:消息發(fā)送者、消息

簽名者和簽名驗證者。在廣播多重數(shù)字簽名方案中還包含有簽名收集者。

1)有序多重數(shù)字簽名

在有序多重數(shù)字簽名中,消息發(fā)送者U,預先給消息簽名者規(guī)定好一個簽名順序,

記為…,U”},G代表第i個消息簽名者。將此順序發(fā)送給每一位簽名者和消息

驗證者Uy簽名者按照此順序進行簽名。簽名結(jié)束后,消息驗證者ur對簽名進行驗證。

2)廣播多重數(shù)字簽名

廣播多重數(shù)字簽名與有序多重數(shù)字簽名不同,消息發(fā)送者U,將能同時發(fā)送給所有

消息簽名者進行簽名,消息簽名者將簽名的結(jié)果發(fā)送到簽名收集者U,收到簽名信

息后進行計算整理,再發(fā)送給消息驗證者U.進行驗證。

4.3.4安全多方計算

安全多方計算協(xié)議要解決的問題可以描述如下:一組參與者希望共同計算某個約定

的函數(shù),每個參與者提供函數(shù)的一個輸入,這個輸入要對其他人保密。如果存在安全可

信第三方,則安全多方協(xié)議所要解決的問題可以輕易地得到解決:只需各參與者將各自

的輸入交給安全可信第三方,由安全可信第三方計算出函數(shù)值,再將函數(shù)值公布給各參

與者。但現(xiàn)實中很難找到這樣的安全可信第三方,安全多方計算協(xié)議的研究應運而生。

31

目前安全多方計算已得到許多學者的研究,其在密碼學上的地位也日益重要,它是電子

選舉、電子拍賣等密碼學協(xié)議的基礎。

1)數(shù)學描述及算法流程:

有"個參與者P1,P2,…,Pn,要以一種安全(安全意味著輸出結(jié)果的正確性以及輸

入信息、輸出信息的保密性)的方式共同計算一個函數(shù)。每個參與者Pi(O<i<=〃)有一

個自己的保密輸入信息Xi,n個參與者要共同計算一個函數(shù)F:(X/,X2,…,X”)->(Y1,

Y2,..?Yn),計算結(jié)束時,參與者Pi只能了解YI,不能了解其他方的任何信息。大多數(shù)

情況下Yl=Y2=...=Yn=Y,此時F:(X/,X2,…,Xn)->匕

2)安全多方計算主要特點:安全多方計算理論主要研究參與者間協(xié)同計算及

隱私信息保護問題,其特點包括輸

入隱私性、計算正確性及去中心化等特性。輸入隱私性:安全多方計算研究的是各參與

方在協(xié)作計算時如何對各方隱私數(shù)據(jù)進

行保護,重點關(guān)注各參與方之間的隱私安全性問題,即在安全多方計算過程中必須保證

各方私密輸入獨立,計算時不泄露任何本地數(shù)據(jù)。

計算正確性:多方計算參與各方就某一約定計算任務,通過約定安全多方計算協(xié)議

進行協(xié)同計算,計算結(jié)束后,各方得到正確的數(shù)據(jù)反饋。

去中心化:傳統(tǒng)的分布式計算由中心節(jié)點協(xié)調(diào)各用戶的計算進程,收集各用戶的輸

入信息,而安全多方計算中,各參與方地位平等,不存在任何有特權(quán)的參與方或第三方,

提供一種去中心化的計算模式。

4.3.5可驗證計算

外包計算使得具有有限計算資源的用戶可以將大規(guī)模的計算任務外包給擁有強大

計算能力的服務提供者,例如云計算場景中用戶將負載較大的計算任務外包給云服務的

提供者。然而外包計算場景中用戶面臨著一定的風險:對于外包給服務提供者的計算任

32

務,用戶無法確認其是否得到正確的執(zhí)行。

可驗證計算協(xié)議可檢測出遠程服務器返回的程序執(zhí)行結(jié)果是否正確,且不需要將遠

程服務器所執(zhí)行的程序再重新執(zhí)行一遍。使用可驗證計算協(xié)議是解決外包計算的結(jié)果正

確性驗證問題的有效途徑。

在可驗證計算模型中,客戶端將計算外包給服務器端;服務器端運行這些繁重的計

算,并返回計算結(jié)果和證明;驗證者可以根據(jù)計算結(jié)果和證明驗證服務器端返回的結(jié)果

的正確性。根據(jù)驗證者的身份,可以將可驗證計算方案分為私有可驗證計算和公開可驗

證計算。私有可驗證性約束了驗證者的身份必須是將任務外包出去的客戶端本身。相對

于私有可驗證性,具有公開可驗證性的可驗證計算方案應用更為廣泛,它不僅支持客戶

端本身驗證結(jié)果,同時支持任何擁有相關(guān)公開參數(shù)的第三方驗證結(jié)果。

1)可驗證計算的基本條件

a)正確性:服務器按照方案誠實運算得到的結(jié)果,返回給客戶端一定能夠通過驗

證結(jié)果。

b)安全性或可靠性:安全或者可靠的可驗證計算方案保證客戶端不會接受服務器

返回的錯誤。

c)高效性:方案中規(guī)定的客戶端對函數(shù)和輸入預處理所花費的時間,連同隨后進

行的可靠性驗證所花費的時間,要遠小于直接計算函數(shù)所需要的時間,否則也就失去了

委托計算的意義。

除了以上3個基本要求外,數(shù)據(jù)的隱私性也是可驗證計算中考慮的主要因素之一。

可驗證計算所涉及的隱私性主要有兩種,一種是客戶端的數(shù)據(jù)相對于服務器的隱私保護,

另一種是最終計算結(jié)果相對于非授權(quán)用戶的隱私保護。

2)常用可驗證計算

a)可私自驗證計算

33

可私自驗證計算是指客戶端委托服務器計算函數(shù)F關(guān)于x點的值,客戶端會對函數(shù)

F和x進行預處理,得到可以公開的信息和自己保存的私密信息??蛻舳藢⒐_信息傳

給服務器,而不泄漏私密信息。服務器使用公開信息進行計算,將結(jié)果返回給客戶端。

對于返回的計算結(jié)果,客戶端利用前面保存的私密信息,對服務器返回的結(jié)果進行驗證。

b)可公開驗證計算可私自驗證計算協(xié)議執(zhí)行過程中產(chǎn)生的信息不對外公開。上

述可私自驗證方案中,

客戶端一般每委托服務器計算一個新的函數(shù),就得預處理一次,因此只有客戶端委托服

務器計算同一函數(shù)關(guān)于多個不同輸入的值時,算法才更有意義??晒_驗證計算可以使

客戶端不一定對函數(shù)進行預處理,可以利用其他客戶端的預處理結(jié)果進行委托計算。

可公開驗證計算有兩個性質(zhì):公開代理和公開驗證。公開代理是指一個客戶端對

函數(shù)F作預處理之后將信息公布,其他客戶端可以直接

利用這些信息,只需要對函數(shù)的輸入作處理便可將計算任務委托給服務器;公開驗證是

指任何人都可以驗證服務器返回的結(jié)果。

可公開驗證計算過程相比于可私自驗證計算的過程,客戶端預處理的結(jié)果是一組公

開值,其他客戶端可以使用這些公開值委托服務器計算并驗證。

4.3.6零知識證明

零知識證明指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證

者相信某個論斷是正確的。零知識證明實質(zhì)上是一種涉及兩方或更多方的協(xié)議,即兩方

或更多方完成一項任務所需采取的一系列步驟。證明者向驗證者證明并使其相信自己知

道或擁有某一消息,但證明過程不能向驗證者泄漏任何關(guān)于被證明消息的信息o

零知識證明并不是數(shù)學意義上的證明,因為它存在小概率的誤差,欺騙者有可能通

過虛假陳述騙過證明者。換句話來說,零知識證明是概率證明而不是確定性證明。但是

也存在有技術(shù)能將誤差降低到可以忽略的值。

34

1)零知識證明的性質(zhì)

a)正確性:證明者無法欺騙驗證者。換言之,若證明者不知道一個定理的證明方法,

則證明者使驗證者相信他會證明定理的概率很低。

b)完備性:驗證者無法欺騙證明者。若證明者知道一個定理的證明方法,則證明者

使驗證者以絕對優(yōu)勢的概率相信他能證明。

c)零知識性:驗證者無法獲取任何額外的知識。

2)零知識證明的過程零知識證明本質(zhì)上是一種涉及兩方的協(xié)議,其中的一方稱為

證明者,一般用P表示,

另一方稱為驗證者,一般用V表示。在協(xié)議的執(zhí)行過程中,證明者P向驗證者V聲稱

其已經(jīng)掌握了某種信息,證明者P根據(jù)公共數(shù)據(jù)u和隱私數(shù)據(jù)w,生成驗證結(jié)果y和證

明方,并將y和Ty發(fā)送給驗證者V。驗證者V根據(jù)y、Ty和u進行驗證,或者相信證

明者P的聲稱,或者拒絕證明者P的聲稱。在這個過程中,驗證者V沒有獲得證明者P

聲稱的所掌握信息的具體內(nèi)容。

4.3.7不經(jīng)意訪問

1)不經(jīng)意隨機訪問的產(chǎn)生背景隨著大數(shù)據(jù)與云計算技術(shù)的發(fā)展,越來越多的數(shù)

據(jù)可以在云端進行存儲、計算以及

共享。但是這也帶來了一系列安全問題。加密只能保證數(shù)據(jù)內(nèi)容的機密性,卻不能保證

其他的隱私信息不被泄露。

在云存儲場景中,用戶需要查詢某一個數(shù)據(jù)塊的內(nèi)容。為了保證數(shù)據(jù)隱私性,通常

會對數(shù)據(jù)庫中的數(shù)據(jù)進行加密。但是在執(zhí)行查詢請求的過程中,數(shù)據(jù)塊的索引并不能加

密,這就泄露了用戶訪問數(shù)據(jù)庫元素的位置。這使得攻擊者可以通過用戶的訪問模式來

35

推斷存儲數(shù)據(jù)的重要性。同時,攻擊者還可以通過匹配前后兩個連續(xù)的訪問模式來推斷

數(shù)據(jù)查詢之間的關(guān)聯(lián)關(guān)系,甚至是加密數(shù)據(jù)的內(nèi)容。

在實際場景中,這些信息潛在性地暴露了用戶的行為特征、興趣愛好、社交范圍等,

另一方面,在安全計算領域,當用戶將隱私數(shù)據(jù)和任務以加密方式存儲在內(nèi)存中,如果

暴露了處理器對內(nèi)存的訪問模式,就可能泄露數(shù)據(jù)和任務本身的信息。

2)不經(jīng)意隨機訪問的概念

不經(jīng)意隨機訪問機是一種重要的保護訪問模式的手段,它通過混淆每一次訪問過程,

使其與隨機訪問不可區(qū)分,從而保護真實訪問中的訪問操作、訪問位置等信息。不經(jīng)意

隨機訪問機在安全云存儲系統(tǒng)以及安全計算領域有著非常重要的作用。利用不經(jīng)意隨機

訪問機可以降低攻擊者通過訪問模式推測隱私信息的可能性,減小系統(tǒng)受到的攻擊面,

從而提供更安全更完整的服務。

3)不經(jīng)意隨機訪問特性

a)低效性:相比于正常的訪問,不經(jīng)意隨機訪問機需要執(zhí)行額外的操作來保護訪

問模式的隱私性,這種訪問模式往往帶來昂貴的開銷,包括帶寬以及本地存儲等,這嚴

重的限制了不經(jīng)意隨機訪問機的實用性:

b)安全性:不經(jīng)意隨機訪問機提供了保護訪問模式的可證明安全性,相比于傳統(tǒng)

的加密手段,該技術(shù)可以很大程度上減少攻擊者利用訪問模式推斷隱私信息的可能性;

c)用途廣:不經(jīng)意隨機訪問機可以廣泛地應用于安全存儲以及安全計算領域,對

于存在數(shù)據(jù)訪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論