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

?

基于區(qū)塊鏈的物聯(lián)網(wǎng)密鑰協(xié)商協(xié)議

2019-01-08 03:23
中興通訊技術(shù) 2018年6期
關(guān)鍵詞:私鑰密鑰比特

何德彪/HE Debiao

李莉/LI Li

(武漢大學(xué),湖北武漢430070)

國際電信聯(lián)盟(ITU)將物聯(lián)網(wǎng)(IoT)定義為:信息社會全球基礎(chǔ)設(shè)施(通過物理和虛擬手段)將基于現(xiàn)有和正在出現(xiàn)的、信息互操作和通信技術(shù)的物質(zhì)相互連接,以提供先進的服務(wù)。它起源于1999年美國麻省理工學(xué)院(MIT)提出的無線射頻識別(RFID)的思想,并在2005年的信息社會世界峰會(WSIS)被正式確定概念[1]。IoT本質(zhì)上是一個傳感器智能網(wǎng),它通過RFID、紅外感應(yīng)器、激光掃描儀等傳感設(shè)備將物與互聯(lián)網(wǎng)相連,從而實現(xiàn)智能化識別、定位、監(jiān)測控制與管理。IoT被認為是信息產(chǎn)業(yè)繼計算機、互聯(lián)網(wǎng)之后的第3次浪潮,是實現(xiàn)智慧城市[2]的關(guān)鍵技術(shù);但其自身存在一些技術(shù)瓶頸。傳感網(wǎng)絡(luò)的大規(guī)模和分布式特性使得IoT的安全運維成為一大挑戰(zhàn),例如:基于Mirai僵尸物聯(lián)網(wǎng)的分布式拒絕服務(wù)(DDoS)攻擊就曾使得Dyn癱瘓,Twitter、Paypal等人氣網(wǎng)站停止服務(wù)。隨著IoT設(shè)備的指數(shù)級增長,數(shù)據(jù)流的中心化管理負載過重,容易造成信息堵塞。此外,IoT還存在數(shù)據(jù)標準不一致引起的通信兼容問題。

圖1 區(qū)塊鏈在物聯(lián)網(wǎng)的應(yīng)用

區(qū)塊鏈作為一種新興的信息技術(shù),具有公開可驗證、可編程、可追溯、防篡改等性質(zhì)。通過區(qū)塊鏈技術(shù)構(gòu)建IoT系統(tǒng)(如圖1所示),由區(qū)塊鏈充當通用的數(shù)字賬本,節(jié)點設(shè)備廣播交易,經(jīng)區(qū)塊共識后記錄上鏈,可實現(xiàn)數(shù)據(jù)的可證溯源。同時,加密算法保障了交易數(shù)據(jù)的隱私性、完整性,共識算法實現(xiàn)了節(jié)點間數(shù)據(jù)的一致性。區(qū)塊鏈去中心化的運行機制規(guī)避了高額的運維成本,數(shù)以億計閑置設(shè)備的算力、存儲被充分利用,實現(xiàn)了IoT安全擴容。此外,其激勵機制促進了數(shù)據(jù)升值,點對點(P2P)網(wǎng)絡(luò)打破了信息孤島桎梏,促進了設(shè)備間的多方協(xié)作和信息交流。2015年出現(xiàn)的比特幣電腦可實現(xiàn)區(qū)塊鏈小微支付網(wǎng)絡(luò)與IoT的連接。通過分布式資源調(diào)配,構(gòu)建起真正的分享經(jīng)濟模式。2017年全球首個IoT區(qū)塊鏈(BOT)項目成立,定義了可信IoT服務(wù)平臺框架。區(qū)塊鏈與IoT的結(jié)合有效地解決了IoT缺乏隱私、運維高昂、通信不兼容等行業(yè)痛點,有力地推動了智慧城市[3]的發(fā)展。

為了實現(xiàn)IoT設(shè)備安全可靠的數(shù)據(jù)通信,亟需一個安全的密鑰協(xié)商協(xié)議以提供身份認證。文獻[4]首次提出2個比特幣密鑰交換協(xié)議,以實現(xiàn)交易后比特幣用戶間端到端的安全通信。然而在該方案中,交易雙方使用橢圓曲線數(shù)字簽名算法(ECDSA)確定交易的所有權(quán)。隨著IoT設(shè)備的指數(shù)級增長,數(shù)以億計的設(shè)備都需要生成和維護一個公鑰證書。為了規(guī)避證書頒發(fā)與維護的巨額開銷,我們提出使用基于身份的Schnorr簽名替換原有的ECDSA簽名,不再使用公鑰證書,從而實現(xiàn)了物聯(lián)網(wǎng)設(shè)備輕量級的身份認證。進一步地,我們提出了2種密鑰協(xié)商方式:基于Diffie-Hellman的比特幣密鑰協(xié)商協(xié)議、基于YAK的比特幣密鑰協(xié)商協(xié)議。其中,基于YAK的比特幣密鑰協(xié)商協(xié)議通過零知識證明(ZKP)提供了前向安全性。

1 關(guān)鍵技術(shù)

1.1 基于身份的Schnorr簽名方案

該方案由以下4個算法組成。

(1)Setup:輸入安全參數(shù)k,系統(tǒng)選擇一個階q為 2k≤q<2k+1的群G,令g為G的生成元。系統(tǒng)選擇2個安全的密碼哈希函數(shù)H1,H2:{0 ,1}*→Zq,并隨機 選擇s∈RZq作為系統(tǒng)主私鑰。最后,系統(tǒng)秘密保存s并公開參數(shù)

(2)Extract:給 定 用 戶 身 份id∈{0 ,1}*,系統(tǒng)隨機選擇r∈RZq,計算did=r+sH1(gr,id)modq,并通過安全信道發(fā)送did給用戶。

(3)Sign:給定消息m∈{0 ,1}*,用戶隨機選擇t∈RZq,計算e=t+did?H2(id,gt,m)modq,用戶輸出消息m的簽名σ=(gt,e,gr)。

(4)Verify:給定消息簽名對(m,σ),驗證者通過式(1)驗證簽名σ的有效性:

若簽名σ有效,返回“1”;否則,返回“0”。

1.2 比特幣

比特幣[5]是區(qū)塊鏈技術(shù)在數(shù)字金融領(lǐng)域的第一個應(yīng)用,是一種基于P2P網(wǎng)絡(luò)的虛擬加密貨幣。它為每個比特幣用戶生成公私鑰對,其中私鑰用于簽名交易,公鑰用于驗證數(shù)據(jù)。比特幣網(wǎng)絡(luò)可以實現(xiàn)用戶匿名識別、比特幣轉(zhuǎn)移,以及歷史交易的記錄上鏈,具有去中心化、匿名性、通脹預(yù)防等特點。目前,一些主流交易平臺有:btc-e.com、bitstamp;中國的主流交易平臺有比特幣中國、OKCoin、火幣等。截至日前,比特幣的流通市值已達到7 743.97億元人民幣,日成交額達到280.328億元人民幣。

1.2.1 比特幣交易

比特幣交易是相互關(guān)聯(lián)的輸入輸出交易事務(wù),使用未經(jīng)使用的交易的輸出(UTXO)作為輸入,并生成新的輸出。同一筆交易可以有多個輸入和多個輸出,具體交易格式如表1所示。

比特幣地址由公鑰經(jīng)一系列哈希、編碼而來,即:

比特幣地址=Base58{Hash160||前4字節(jié)(SHA256(SHA256(Hash160||地址版本號)))}

其中,Hash160=RIPEMD160(SHA256(65字節(jié)公鑰))。

1.2.2 區(qū)塊

網(wǎng)絡(luò)中的所有交易由背書節(jié)點收集驗證打包上鏈,經(jīng)過6個區(qū)塊確認后交易不可逆轉(zhuǎn)。平均每10 min生成一個新區(qū)塊鏈接到最長的鏈尾部。整個區(qū)塊鏈是一個鏈式結(jié)構(gòu)[6],如圖2所示,其中Tx表示交易。

1.2.3 共識機制

共識機制[7-8]是分布式網(wǎng)絡(luò)中互不信任節(jié)點間建立共識的規(guī)則與方法?,F(xiàn)有的共識機制根據(jù)通信方式可分為異步通信共識機制和同步通信共識機制。異步通信共識機制的代表為有向無環(huán)圖(DAG),與定期檢查同步點的日志機制不同,DAG采用異步處理事務(wù)操作的方式,極大地提高了系統(tǒng)吞吐量。區(qū)塊鏈主要使用同步通信共識機制。其中,同步通信共識機制包括強一致性共識算法和最終一致性共識算法。最終一致性共識算法多用于私有鏈、聯(lián)盟鏈的共識,可進一步細分為具備拜占庭容錯特性[9]的一類,如授權(quán)拜占庭容錯(DBFT)、實用拜占庭容錯(PBFT)、資產(chǎn)證明(PoA)、Ripple、Pool驗證池等;不具備拜占庭容錯特性的一類,如Paxos、Raft等。強一致性共識算法多用于公有鏈的共識,包括工作量證明(PoW)、權(quán)益證明(PoS)、股份授權(quán)證明(DPoS)、重要性證明(PoI)等,具體分類參見表2。

比特幣區(qū)塊鏈的共識主要采用強一致性算法中的PoW、PoS、DPoS。

表1 比特幣交易格式

(1)PoW。尋找隨機數(shù)n,使得:SHA(SHA(v||hp||t||n||hm))<目標哈希,最先找到隨機數(shù)n的礦工獲得記賬權(quán)并獲得比特幣獎勵,這一過程也稱“挖礦”。挖礦難度的調(diào)整周期為2周,目的是使區(qū)塊的生成時間穩(wěn)定在10 min左右。PoW具有完全去中心化、節(jié)點可自由進出等優(yōu)點,但挖礦行為造成大量的資源浪費,且共識周期較長,存在51%攻擊,不適合商業(yè)應(yīng)用。

圖2 區(qū)塊鏈的鏈式結(jié)構(gòu)

表2 共識機制的分類

(2)PoS。系統(tǒng)中具有最高權(quán)益的節(jié)點(如幣齡最長)獲得記賬權(quán)。PoS的優(yōu)點在于減少了PoW的資源消耗,縮短了共識時間,且惡意節(jié)點只有掌握超過全網(wǎng)1/3的資源,才能破壞整個共識過程;但共識過程需等待多個確認,容易產(chǎn)生分叉。

(3)DPoS。記賬權(quán)由101位受托人輪流實現(xiàn)。其中,受托人由股東根據(jù)股份權(quán)益選出,且需保證99%以上的在線時間。DPoS機制大幅度縮減了驗證和記賬節(jié)點的數(shù)量,可以達到秒級驗證;但其去中心化的程度不足,依賴于代幣的特性限制了其應(yīng)用領(lǐng)域。

2 方案設(shè)計

考慮IoT中的2臺設(shè)備Alice和Bob。區(qū)塊鏈充當數(shù)據(jù)管理系統(tǒng),IoT中所有的交易都記錄上鏈。Alice和Bob通過以下方式實現(xiàn)密鑰協(xié)商。

2.1 基于Diffie-Hellman的比特幣密鑰協(xié)商協(xié)議

圖3 基于Diffie-Hellman的比特幣密鑰交換協(xié)議

如圖3所示,協(xié)議的具體執(zhí)行過程如下:首先,Alice利用私鑰提取出與交易TA相關(guān)的一次性隨機數(shù)然后,Alice在鏈上獲取Bob的交易簽名對并從中提取與公鑰相關(guān)的Alice根據(jù)計算會話密鑰同理,Bob計算一次性隨機數(shù)tB,從σTA中提取,進一步計算會話密鑰κ。

本協(xié)議實現(xiàn)了IoT設(shè)備基于交易的密鑰協(xié)商,任意2個設(shè)備節(jié)點只需從鏈上獲取自身及對方的交易簽名對,就能線下計算會話密鑰κ。本協(xié)議中,與交易相關(guān)的隨機數(shù)可直接利用私鑰計算,避免了隨機數(shù)存儲的開銷,克服了IoT設(shè)備資源受限的缺陷。

2.2 基于YAK的比特幣密鑰協(xié)商協(xié)議

如圖4所示,協(xié)議的具體執(zhí)行過程如下:首先,Alice(Bob)利用私鑰提取出與交易TA(TB))相關(guān)的一次性隨機數(shù)tA(tB)。然后,Alice(Bob)在鏈上獲取 Bob(Alice)的交易簽名對 (TB,σTB)((TA,σTA))。Alice(Bob)選取隨機數(shù)wA∈Zq(wB∈Zq),計算WA(WB)以及wA(wB)的零知識證明ZKP(wA)(ZKP(wB))并發(fā)送給對 方 。 Alice(Bob)通 過ZKP(wB)(ZKP(wA))驗證隨機數(shù)wB(wA)的真實性并計算會話密鑰κ。

同2.1類似,本協(xié)議中節(jié)點可直接利用私鑰計算與交易相關(guān)的隨機數(shù)。不同的是:此協(xié)議是交互性的,雙方進行密鑰協(xié)商時需選取隨機數(shù)wA、wB作為與會話相關(guān)的秘密值并做ZKP,對方通過ZKP驗證隨機數(shù)的真實性后方可計算κ。假設(shè)IoT節(jié)點私鑰的安全性被攻陷,敵手截獲了交易后的某次會話。由于每次會話都重新選取隨機數(shù),則實現(xiàn)了后續(xù)會話的不可追蹤,提供了前向安全性。

圖4 基于 YAK的比特幣密鑰交換協(xié)議

本文中我們采用了Schnorr ZKP方案[10],假設(shè)Alice對秘密值wA做了零知識證明ZKP(wA),可通過如下方式使Bob相信自己擁有這一秘密而不向Bob泄露秘密wA的任何信息。

(1)ZKP產(chǎn)生(ZKP-Gen)

1)Alice隨機選取l∈RZq,計算L=gl,h=H(g,L,wA,idA),r=l-wAh;

2)Alice→Bob:WA,{idA,L,r}。

(2)ZKP驗證(ZKP-Verify)

給定WA,{idA,L,r},Bob相信Alice擁有秘密值wA當且僅當式(2)成立:Alice擁有秘密值

同理,Alice通過此方式驗證Bob確實擁有秘密值wB。

3 安全分析

對于密鑰協(xié)商協(xié)議的安全,我們考慮以下3種安全特性。

(1)私鑰安全:一次性會話中秘密值的泄露不影響設(shè)備節(jié)點靜態(tài)私鑰的安全性。

(2)前向安全:即使用戶私鑰被攻陷,已建立會話的會話密鑰的安全性不受影響。

(3)會話密鑰安全:攻擊者冒充用戶,但無法訪問用戶的私鑰,則無法計算會話密鑰。

3.1 基于Diffie-Hellman的比特幣密鑰協(xié)商協(xié)議

假設(shè)Alice和Bob分別從鏈上獲取了交易簽名對(TA,σTA),(TB,σTB),我們證明所提協(xié)議可以提供私鑰安全和會話密鑰安全。

(1)私鑰安全的證明

假設(shè)存在一個概率多項式時間的被動敵手A,已掌握Bob的與交易相關(guān)的隨機數(shù)tB。若A獲得了Alice的秘密值wA,A可通過計算得到會話密鑰,然而A無法獲得didA的任何信息。

(2)會話密鑰安全證明

假設(shè)存在一個概率多項式時間的主動敵手B,冒充Bob與Alice進行通信?,F(xiàn)假定Alice和Bob選取的與交易相關(guān)的隨機數(shù)分別為tA=φ,tB=φ。給定一個計算型Diffie-Hellman 問題 (gφ,gφ,gφφ),假定敵手B能成功計算K,由可得gφφ=K,則困難問題計算型 Diffie-Hellman(CDH),與實際矛盾。

3.2 基于YAK的比特幣密鑰協(xié)商協(xié)議

假設(shè)Alice和Bob分別從鏈上獲取 了 交 易 簽 名 對 (TA,σTA) ,(TB,σTB)。與3.1節(jié)不同,此協(xié)議會話密鑰的產(chǎn)生依賴于與交易相關(guān)的隨機數(shù)(tA,tB),以及交互過程中選取的秘密值(wA,wB)。我們證明了此協(xié)議可以提供私鑰安全、會話密鑰安全以及前向安全。

(1)私鑰安全

證明如下:假設(shè)存在一個概率多項式時間的主動敵手A,已掌握Bob的與交易相關(guān)的隨機數(shù)tB以及Bob某一次會話選取的秘密值wB。若A獲得了Alice的秘密值wA,A可通過計算會話密鑰,然而A無法獲得didA的任何信息。

(2)前向安全

證明如下:假設(shè)存在一個概率多項式時間的被動敵手A,已獲取Alice和Bob的與交易相關(guān)的隨機數(shù)tA和tB?,F(xiàn)假定Alice和Bob交互過程中選取的隨機數(shù)分別為wA=φ,wB=φ。給定一個計算型Diffie-Hellman 問題 (gφ,gφ,gφφ),假定敵手A能成功計算K,由可得則困難問題CDH可解,與實際矛盾。

(3)會話密鑰安全

證明如下:假設(shè)存在一個概率多項式的主動敵手B,冒充Bob與Alice進行通信。B已獲取Alice的與交易相關(guān)的隨機數(shù)tA,并從公開信道上截獲了WB?,F(xiàn)假定Alice交互過程中選取的隨機數(shù)為wA=φ,Bob選取的與交易相關(guān)的隨機數(shù)為tB=φ。給定一個計算型Diffie-Hellman問題(gφ,gφ,gφφ),假定敵手B能成功計算K,由可 得則困難問題CDH可解,與實際矛盾。故會話密鑰不能被成功計算,此協(xié)議可以提供會話密鑰安全。

4 性能分析

文章中,我們在Ubuntu平臺搭建regtest測試鏈,基于c++版本的比特幣代碼,使用make編譯器編譯程序。我們采用的仿真平臺如表3所示,測試鏈參數(shù)如表4所示。

假定交易查詢階段記為P1,密鑰協(xié)商階段記為P2,原始交易檢索時間為tgtx,交易解析時間為tdtx,協(xié)議執(zhí)行的總時間為Total。我們通過bitcoin-cli查詢測試鏈1 000次得到了交易的平均檢索時間t=tgtx+tdtx為:real(21.212 s)、user(0.164 s)、sys(0.196 s),我們實際采用user時間。同時,我們通過運行miracl庫10 000次得到了協(xié)議的平均執(zhí)行時間,實驗結(jié)果如表5、6所示。

由表6可知:文中提出的2種比特幣密鑰協(xié)商協(xié)議都具有合理的運行開銷,適用于設(shè)備資源受限的IoT環(huán)境。

5 結(jié)束語

我們使用基于身份的Schnorr簽名替換比特幣交易原有的ECDSA簽名,提出了2種密鑰協(xié)商協(xié)議,避免了設(shè)備資源受限的IoT環(huán)境下公鑰證書管理的巨額開銷。我們分析了所提協(xié)議的安全性,并搭建了比特幣測試鏈模擬了交易查詢及密鑰協(xié)商過程,結(jié)果表明協(xié)議在實際應(yīng)用中是切實可行的。

表3 仿真平臺參數(shù)信息

表4 測試鏈參數(shù)信息

表5 操作的執(zhí)行時間

表6 協(xié)議的執(zhí)行時間

猜你喜歡
私鑰密鑰比特
比特幣的安全性到底有多高
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
程序員把7500枚比特幣扔掉損失巨大
密碼系統(tǒng)中密鑰的狀態(tài)與保護*
創(chuàng)建KDS根密鑰
一種基于虛擬私鑰的OpenSSL與CSP交互方案
比特幣還能投資嗎
比特幣分裂
余姚市| 志丹县| 改则县| 贵阳市| 平邑县| 定兴县| 紫阳县| 乐清市| 谢通门县| 北宁市| 金乡县| 玛多县| 五大连池市| 舒兰市| 永福县| 大化| 西宁市| 屏东县| 北流市| 云安县| 西华县| 龙海市| 旌德县| 德化县| 五原县| 工布江达县| 万宁市| 长丰县| 洛浦县| 上蔡县| 克什克腾旗| 安康市| 阿鲁科尔沁旗| 平安县| 沽源县| 武义县| 阆中市| 墨竹工卡县| 台南县| 汉阴县| 罗甸县|