国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)安全研究?

2020-08-06 09:04叢林虎鄧建球楊珍波
艦船電子工程 2020年6期
關(guān)鍵詞:數(shù)字證書私鑰公鑰

方 軼 叢林虎 鄧建球 楊珍波

(1.海軍航空大學(xué) 煙臺 264001)(2.92349部隊(duì) 淄博 255100)

1 引言

航空導(dǎo)彈業(yè)務(wù)是航空導(dǎo)彈裝備管理中的一項(xiàng)重要的經(jīng)常性工作,覆蓋了航空導(dǎo)彈的管理、維護(hù)、使用、運(yùn)輸?shù)榷鄠€方面,其中涉及到需要登記記錄的數(shù)據(jù)項(xiàng)多,數(shù)據(jù)量較大[1]。

部隊(duì)普遍使用的仍然是紙質(zhì)記錄、存儲方式,這種方式已經(jīng)越來越不適合于部隊(duì)信息化建設(shè)的要求,存在著許多弊端:人員在進(jìn)行數(shù)據(jù)記錄時往往會因?yàn)樽舟E潦草導(dǎo)致無法辨別;紙質(zhì)材料容易被污染,通常集中存儲于專門的檔案室且無備份,存在著數(shù)據(jù)丟失、惡意篡改或銷毀等隱患;許多相同的數(shù)據(jù)項(xiàng)填寫占用了大量的工作,降低了工作效率;負(fù)責(zé)人簽字時經(jīng)常發(fā)生代簽的情況,需要追責(zé)時導(dǎo)致責(zé)任劃分不清;記錄格式不規(guī)范,會存在筆誤的情況,降低了數(shù)據(jù)的可信度;使用計算機(jī)進(jìn)行數(shù)據(jù)分析時需要先將紙質(zhì)記錄的數(shù)據(jù)輸入計算機(jī),為工作帶來不便。

雖然有些部隊(duì)已經(jīng)配備了數(shù)字化數(shù)據(jù)記錄軟件,能一定程度上解決上述傳統(tǒng)記錄、存儲方式的弊端,但這只是完成了記錄、存儲形式的改變,基本沒有考慮數(shù)據(jù)的可信度以及數(shù)據(jù)可溯源的問題。數(shù)據(jù)存儲方式雖然變成了數(shù)字化存儲,但仍然屬于集中式存儲,沒用從根本上改變存儲方式。

2008年,中本聰在其論文《Bitcoin:A Peer-to-Peer Electronic Cash System》[2]中首次提出了比特幣,而區(qū)塊鏈作為比特幣的核心技術(shù),對比特幣系統(tǒng)的正常運(yùn)轉(zhuǎn)起到了至關(guān)重要的作用。區(qū)塊鏈?zhǔn)且环N基于密碼學(xué)的分布式數(shù)據(jù)存儲技術(shù),它能夠保證數(shù)據(jù)的可追溯性,并使數(shù)據(jù)難以被惡意篡改,同時實(shí)現(xiàn)了去中心化,具有匿名性、數(shù)據(jù)可信度高等特點(diǎn)[3]。區(qū)塊鏈在我國的研究及應(yīng)用才剛剛起步,主要用于物流[4]、醫(yī)療數(shù)據(jù)[5]、身份認(rèn)證[6],商品追溯等領(lǐng)域[7],然而針對軍事領(lǐng)域具體某個應(yīng)用場景的研究非常少,且大多數(shù)研究都是在系統(tǒng)層面的研究[8]。

針對以上存在的問題,本文在考慮了航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)訪問、記錄以及存儲等方面的基礎(chǔ)上,應(yīng)用區(qū)塊鏈技術(shù),以比特幣數(shù)據(jù)結(jié)構(gòu)為原型,根據(jù)航空導(dǎo)彈業(yè)務(wù)實(shí)際情況進(jìn)行研究、改進(jìn)與設(shè)計,旨在提出一種專門針對于航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)的專用數(shù)據(jù)模型,以實(shí)現(xiàn)數(shù)據(jù)分布式存儲,提高數(shù)據(jù)的可信度,實(shí)現(xiàn)數(shù)據(jù)的可追溯。

2 區(qū)塊鏈技術(shù)

2.1 區(qū)塊數(shù)據(jù)結(jié)構(gòu)

區(qū)塊鏈最簡單的定義就是將數(shù)據(jù)打包成一個個區(qū)塊(Block),并使用某些密碼學(xué)原理將區(qū)塊連接起來組成一條由多個數(shù)據(jù)區(qū)塊組成鏈條,即區(qū)塊鏈[9]。區(qū)塊中記錄的并不只有需要存儲的數(shù)據(jù),還有許多用于安全驗(yàn)證的信息以及各種數(shù)字簽名[10]。一個典型的比特幣區(qū)塊數(shù)據(jù)結(jié)構(gòu)如圖1所示,主要包括:塊編號,前一個區(qū)塊頭的哈希值、一個用于證明工作量難度的隨機(jī)數(shù)和難度目標(biāo)、時間戳、用于驗(yàn)證區(qū)塊體交易的一個總的哈希Merkle根。區(qū)塊體主要包含該區(qū)塊(賬本)中的所有交易信息以及所有交易信息的Merkle根。

在典型區(qū)塊數(shù)據(jù)結(jié)構(gòu)中,版本號指當(dāng)前區(qū)塊鏈應(yīng)用的版本;前區(qū)塊Hash值是引用該區(qū)塊鏈中前一個區(qū)塊的Hash值;Merkle根是指該區(qū)塊體中存儲的交易數(shù)據(jù)的Merkle根Hash值;時間戳是該區(qū)塊產(chǎn)生的近似時間;隨機(jī)數(shù)是比特幣系統(tǒng)中特有的用于工作量證明算法的計數(shù)器。其中Merkle根是區(qū)塊鏈實(shí)現(xiàn)防篡改與數(shù)據(jù)追溯的重要保證,Merkle樹是一棵二叉樹,圖2是一棵包含了4個交易數(shù)據(jù)的Merkle樹,可以看出只要某個交易數(shù)據(jù)被篡改,根據(jù)Hash算法的雜湊算法特性,最后Merkle根的值就會出現(xiàn)非常大的變化,同時根據(jù)Merkle根還能夠證明交易列表中的某筆交易是否存在[11]。同時Merkle根結(jié)構(gòu)還能通過驗(yàn)證Hash值來確定被篡改交易數(shù)據(jù)的具體位置。

圖1 典型區(qū)塊數(shù)據(jù)結(jié)構(gòu)

圖2 簡易Merkle樹

2.2 區(qū)塊鏈中的密碼學(xué)

區(qū)塊鏈?zhǔn)且环N基于密碼學(xué)原理及加密算法的保護(hù)數(shù)據(jù)安全的技術(shù),密碼學(xué)原理與加密算法對于區(qū)塊鏈的重要性不言而喻。對所有區(qū)塊鏈應(yīng)用而言,最基礎(chǔ)的密碼學(xué)原理與加密算法是非對稱加密算法以及Hash算法。

非對稱加密是相對于對稱加密而言的,傳統(tǒng)的對稱加解密方法是使用同一個秘鑰加密,使明文變?yōu)槊芪?,密文?jīng)過傳輸后再用同一個秘鑰解密,將密文變?yōu)槊魑?。對稱加密的實(shí)現(xiàn)比較簡單,但風(fēng)險也很高,因?yàn)閭鬏斆芪牡耐瑫r秘鑰也需要傳輸,增加了密文被破解的概率。在非對稱加密中,將秘鑰分為公鑰和私鑰,公鑰用來加密,私鑰用來解密,并且公鑰公開,私鑰不公開,私鑰一般通過隨機(jī)數(shù)生成算法得到,公鑰根據(jù)得到的私鑰計算得到,而且從私鑰得到公鑰的過程是不可逆的,因此基本不可能從公鑰反推回私鑰。這樣即使公鑰在傳輸過程中被他人獲取,仍然不能對密文進(jìn)行解密,相比對稱加密算法,非對稱加密算法的安全程度更高。現(xiàn)在流行的非對稱加密算法主要有RSA算法、ElGamal算法、橢圓曲線加密算法等[12]。

Hash算法屬于密碼學(xué)三大類算法中的一類,或被稱為“密碼雜湊算法”或“散列算法”,它能將任意長度的二進(jìn)制明文串映射為定長的二進(jìn)制串,并且不同的明文幾乎不可能映射為相同的二進(jìn)制串[13]。Hash算法的作用相當(dāng)于給數(shù)據(jù)賦予了獨(dú)一無二的“數(shù)字指紋”,通常稱之為摘要。Hash算法通常用來驗(yàn)證數(shù)據(jù)完整性,例如x是一個任意長的數(shù)據(jù),摘要y由Hash算法生成,即y=h(x)。需要驗(yàn)證x是否完整時,假設(shè)待檢驗(yàn)的x′,則摘要y′=h(x′)。若y=y′證明數(shù)據(jù)完整且無誤,反之則說明數(shù)據(jù)中出現(xiàn)了改動。常用的Hash算法有MD5算法、SHA-1算法、SHA-256算法等,我國國家密碼管理局也提出了國家商用密碼雜湊算法SM3算法。王小云等人對SM3算法進(jìn)行了分析,證明其性能在某些條件下優(yōu)于其他Hash算法[14]。

數(shù)字簽名技術(shù)在區(qū)塊鏈中應(yīng)用非常廣泛,主要用來進(jìn)行身份鑒別以及數(shù)據(jù)驗(yàn)證,其技術(shù)基礎(chǔ)是非對稱加密算法與Hash算法。數(shù)字簽名過程如圖3所示。

為了確保公鑰的真實(shí)性,區(qū)塊鏈中還引入了數(shù)字證書機(jī)制。數(shù)字證書是由證書認(rèn)證機(jī)構(gòu)(Certification Authority,CA)頒發(fā)給有資格進(jìn)行數(shù)字簽名的節(jié)點(diǎn),使用X.509證書規(guī)范。證書中主要記錄了簽名對象信息、序列號、簽發(fā)者、被簽發(fā)者、簽發(fā)的公鑰等,確保了用戶擁有公鑰的合法性。一般證書認(rèn)證機(jī)構(gòu)采用DigiCert、GlobalSign等,也可以根據(jù)情況自行搭建本地CA系統(tǒng)。

圖3 數(shù)字簽名及驗(yàn)證流程

2.3 區(qū)塊鏈中的數(shù)據(jù)同步

區(qū)塊鏈的本質(zhì)是一個基于P2P網(wǎng)絡(luò)的分布式數(shù)據(jù)存儲系統(tǒng),每個節(jié)點(diǎn)都保存著一份共同維護(hù)的賬本。分布式存儲中最核心的問題在于如何保持網(wǎng)絡(luò)中各個節(jié)點(diǎn)之間數(shù)據(jù)的同步性,同時還要容忍網(wǎng)絡(luò)中存在的一些錯誤。在區(qū)塊鏈中,保證數(shù)據(jù)同步的是共識算法。在區(qū)塊鏈中常用的共識算法有PoW、PoS、DPoS、PBFT等[15],共識算法的目的都是為了滿足在某些節(jié)點(diǎn)發(fā)生錯誤時,仍然能夠保證分布式存儲系統(tǒng)的一致性。

3 基于區(qū)塊鏈的航空導(dǎo)彈數(shù)據(jù)安全存儲系統(tǒng)設(shè)計

3.1 區(qū)塊鏈中的數(shù)據(jù)同步

區(qū)塊鏈系統(tǒng)網(wǎng)絡(luò)范圍,可以劃分為公有鏈、私有鏈和聯(lián)盟鏈[16]。公有鏈?zhǔn)菍ν馔耆_放,任何人都可以加入并使用的,沒有權(quán)限設(shè)定、身份認(rèn)證等功能,而且數(shù)據(jù)對任何人都可見;私有鏈則與公有鏈相反,私有鏈不對外公開,成員固定,數(shù)據(jù)對外完全不可見;聯(lián)盟鏈介于私有鏈與公有鏈之間,可以有多個成員角色,成員加入時需要進(jìn)行身份認(rèn)證,且可以設(shè)置數(shù)據(jù)可見的成員權(quán)限。在三類區(qū)塊鏈網(wǎng)絡(luò)中,最符合航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)存儲場景的是聯(lián)盟鏈?;诼?lián)盟鏈的特點(diǎn)以及航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)存儲場景,存儲系統(tǒng)的主要組成如表1所示。

表1 系統(tǒng)主要組成

這五種組成部分指的是區(qū)塊鏈網(wǎng)絡(luò)中各個節(jié)點(diǎn)的角色,同一個節(jié)點(diǎn)可以同時兼任多種角色,但是CA節(jié)點(diǎn)和排序節(jié)點(diǎn)不能兼任,需要由特定成員完成。其中通信節(jié)點(diǎn)在需要進(jìn)行通信時才設(shè)置,否則可以不用設(shè)置通信節(jié)點(diǎn)。以一個組織為例,數(shù)據(jù)存儲系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,圖中的箭頭指向表示數(shù)據(jù)傳輸方向。

3.2 航空導(dǎo)彈數(shù)據(jù)安全存儲系統(tǒng)工作流程

為了更清楚描述系統(tǒng)的工作流程,規(guī)定如表2所示的符號使用規(guī)則。

圖4 數(shù)據(jù)存儲系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)

表2 符號使用說明

以網(wǎng)絡(luò)中各個節(jié)點(diǎn)集群的某一個節(jié)點(diǎn)為例,工作流程如圖5所示,其中數(shù)字代表執(zhí)行過程的順序。

圖5 系統(tǒng)工作流程

在系統(tǒng)工作之前,首先CA節(jié)點(diǎn)要為系統(tǒng)中的成員頒發(fā)數(shù)字證書,表明成員身份。共識節(jié)點(diǎn)需要根據(jù)CA節(jié)點(diǎn)頒發(fā)的證書Cert,使用證書中規(guī)定的隨機(jī)數(shù)生成算法生成私鑰PRK,根據(jù)PRK再生成公鑰PUK,最后將PUK傳遞至排序節(jié)點(diǎn),用來驗(yàn)證數(shù)字簽名。

下面進(jìn)行流程以及原理分析:

過程①指操作人員完成數(shù)據(jù)記錄后,向網(wǎng)絡(luò)中的記錄節(jié)點(diǎn)提交需要存儲的數(shù)據(jù)及Hash值,過程表述為

客戶端→Any A:Data=data0∥Hash(data0)

客戶端可以是單獨(dú)的計算機(jī),也可以是安裝在記錄節(jié)點(diǎn)上的客戶端界面??蛻舳说淖饔檬菫椴僮髡咛峁┮粋€人機(jī)交互界面。這個過程只是將數(shù)據(jù)傳送至記錄節(jié)點(diǎn),并提出操作請求。

過程②是記錄節(jié)點(diǎn)將數(shù)據(jù)加蓋時間戳,使用Hash算法生成摘要,再使用私鑰加密進(jìn)行記錄節(jié)點(diǎn)的數(shù)字簽名,提交至排序節(jié)點(diǎn),排序節(jié)點(diǎn)驗(yàn)證記錄節(jié)點(diǎn)的證書,判斷數(shù)據(jù)來源是否為網(wǎng)絡(luò)中的合法成員,過程表述為

若數(shù)字證書驗(yàn)證通過,執(zhí)行過程③和④,排序節(jié)點(diǎn)將數(shù)據(jù)廣播至所有共識節(jié)點(diǎn),共識節(jié)點(diǎn)根據(jù)共識算法對數(shù)據(jù)進(jìn)行審計,并驗(yàn)證簽名。若審計結(jié)果與驗(yàn)證結(jié)果都通過,則對數(shù)據(jù)摘要使用私鑰加密進(jìn)行共識節(jié)點(diǎn)的數(shù)字簽名,過程表述為

執(zhí)行過程⑤時,排序節(jié)點(diǎn)收到共識節(jié)點(diǎn)發(fā)送的數(shù)據(jù),對共識節(jié)點(diǎn)的數(shù)字簽名進(jìn)行有效性驗(yàn)證,并判斷有效簽名數(shù)量n是否滿足共識算法中要求的有效數(shù)字簽名數(shù)量N。若滿足,則將該數(shù)據(jù)打包成區(qū)塊并向全網(wǎng)廣播,全網(wǎng)節(jié)點(diǎn)接收到該區(qū)塊后存儲在各自的存儲器中,過程表述為:

在排序節(jié)點(diǎn)廣播的數(shù)據(jù)Data中包含了區(qū)塊數(shù)據(jù)結(jié)構(gòu)中的基本數(shù)據(jù)項(xiàng):data0是最初錄入的數(shù)據(jù),Ts是提交錄入數(shù)據(jù)時加蓋的時間戳,Hash(data0)是根據(jù)Hash算法生成的data0的摘要,用來生成Merkle根結(jié)構(gòu)并作為下一個區(qū)塊中的前區(qū)塊Hash值。

4 安全性分析

4.1 人員身份認(rèn)證

在系統(tǒng)設(shè)計中引入了CA節(jié)點(diǎn),引入了X.509格式的數(shù)字證書,只有用戶擁有數(shù)字證書才會被系統(tǒng)判定為可信任節(jié)點(diǎn)??梢栽O(shè)置不同種類的數(shù)字證書用來辨別身份,區(qū)分記錄節(jié)點(diǎn)、共識節(jié)點(diǎn)以及排序節(jié)點(diǎn)。沒有數(shù)字證書的用戶沒有資格加入該系統(tǒng),記錄節(jié)點(diǎn)不能參與共識節(jié)點(diǎn)的數(shù)字簽名,為各個節(jié)點(diǎn)分發(fā)秘鑰等都是通過頒發(fā)數(shù)字證書實(shí)現(xiàn)的。同時也可以通過數(shù)字證書限定用戶的操作,實(shí)現(xiàn)對數(shù)據(jù)可見性、可操作性的控制。

4.2 數(shù)據(jù)傳輸安全性

在數(shù)據(jù)存儲過程中需要在各個節(jié)點(diǎn)間通過P2P網(wǎng)絡(luò)傳輸多次,雖然P2P網(wǎng)絡(luò)的安全性比公開網(wǎng)絡(luò)安全性更高,但也存在著受到外界攻擊數(shù)據(jù)被篡改的風(fēng)險。在該系統(tǒng)中使用了兩次數(shù)字簽名、數(shù)字簽名驗(yàn)證以及多次Hash值計算,下面對上文所述的五個數(shù)據(jù)傳輸過程分別進(jìn)行分析:如果在過程①中數(shù)據(jù)被篡改,在過程①完成后記錄節(jié)點(diǎn)會發(fā)現(xiàn)數(shù)據(jù)與其Hash值不匹配,判定數(shù)據(jù)無效;如果在過程②、③和④中數(shù)據(jù)被篡改,在簽名認(rèn)證的時候會因?yàn)檫M(jìn)行簽名的Hash值改變導(dǎo)致簽名認(rèn)證失敗,將判定數(shù)據(jù)無效;在過程⑤中數(shù)據(jù)被篡改,也會導(dǎo)致Hash值改變,當(dāng)這個Hash值作為下一個區(qū)塊中的前區(qū)塊Hash值時,會導(dǎo)致各個節(jié)點(diǎn)之間區(qū)塊數(shù)據(jù)不同步,系統(tǒng)會將發(fā)生錯誤的前區(qū)塊作廢,并重新進(jìn)行數(shù)據(jù)同步。

4.3 數(shù)據(jù)存儲安全性

對存儲完成后的數(shù)據(jù)惡意篡改時,如果被篡改的數(shù)據(jù)塊處于區(qū)塊鏈的中部時,會導(dǎo)致Hash值改變導(dǎo)致下一個區(qū)塊的前區(qū)塊哈希值與該區(qū)塊哈希值無法匹配,導(dǎo)致區(qū)塊鏈斷裂,數(shù)據(jù)將在下一次新區(qū)塊加入時重新同步;如果被篡改的數(shù)據(jù)塊處于區(qū)塊鏈尾部,則將在下一個新區(qū)塊加入時發(fā)現(xiàn)并重新同步數(shù)據(jù)。

5 結(jié)語

航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)量大,數(shù)據(jù)項(xiàng)多,重要程度高,實(shí)現(xiàn)數(shù)字化分布式存儲時必然要求,區(qū)塊鏈技術(shù)的去中心化存儲、數(shù)據(jù)防篡改、可追溯等特點(diǎn)使其能解決諸多航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)記錄、存儲中的安全問題及隱患。本文提出的航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)安全存儲系統(tǒng),將區(qū)塊鏈技術(shù)應(yīng)用于航空導(dǎo)彈業(yè)務(wù)數(shù)據(jù)記錄、存儲場景,采用了典型區(qū)塊數(shù)據(jù)結(jié)構(gòu)、加密算法及安全防護(hù)措施。安全性分析表明本文設(shè)計的系統(tǒng)在人員角色管理、數(shù)據(jù)安全性以及真實(shí)性方面能夠滿足數(shù)據(jù)安全存儲要求,在區(qū)塊鏈軍事應(yīng)用方面具有一定應(yīng)用前景。

猜你喜歡
數(shù)字證書私鑰公鑰
比特幣的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
程序員把7500枚比特幣扔掉損失巨大
神奇的公鑰密碼
國密SM2密碼算法的C語言實(shí)現(xiàn)
基于身份的聚合簽名體制研究
PKI技術(shù)在SSLVPN中的應(yīng)用
數(shù)字簽名保護(hù)Word文檔
一種公開密鑰RSA算法的實(shí)現(xiàn)