999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

區塊鏈電子認證系統的設計與實現

2020-08-31 01:38:50周硙
軟件工程 2020年8期

周硙

摘 ?要:本文提出了一種基于區塊鏈的電子認證系統(CA/PKI)。該系統數據持久化及訪問依賴于區塊鏈的去中心化特性,相對于單點部署PKI系統具有更高的可靠性,且運維難度低于集群部署;同時系統繼承了區塊鏈不可篡改、不可偽造的特性,可以對數字證書的簽發、驗證、吊銷關鍵環節實現數據存證,方便各方交換數據,并保證全程留痕。上述特性使得該系統可以便捷的實現私有部署,成本低、安全性高,在企業級應用、電子商務等領域具有潛在的應用價值。

關鍵詞:區塊鏈;電子認證服務;證書基礎設施

中圖分類號:TP311 ? ? 文獻標識碼:A

Abstract: This paper proposes a digital authentication system (CA/PKI, Certificate Authority/Public Key Infrastructure) based on blockchain. The data persistence of this system depends on decentralized characteristics of blockchain. It is more reliable than single-point deployment of PKI system, and the operation and maintenance is easier than that of the cluster deployment. This system inherits the characteristics of blockchain that cannot be compromised. This solution can issue, verify, and revoke key certificates to realize data storage certificates, facilitate the exchange of data, and ensure that traces are kept throughout the process. The above features make the system easy to implement private deployment, taking into account the cost and security, and it is highly expected to be available in enterprises and e-commerce areas.

Keywords: blockchain; Certificate Authority; Public Key Infrastructure

1 ? 引言(Introduction)

數字證書廣泛的使用在金融交易、電子簽名、用戶鑒權等場景。即可以代替傳統的用戶名密碼認證模式、也可以在原有系統上提供雙因子認證,進一步提高系統安全性[1]。信息系統利用數字證書核實用戶身份。證書包含身份信息、授權信息及第三方權威機構的數字簽名。其中數字簽名,由具有公信力的第三方證書頒發機構(Certificate Authority,CA)核實信息后,用密碼學方法計算得到。CA同時提供了公鑰基礎設施(PKI)實現證書的生命周期管理。PKI需要實現證書簽發、更新、作廢、查詢等一系列服務[2]。特定場景下有部署私有CA/PKI的需求,如企業級應用等。CA將成為整個系統安全的基石,采用中心化部署時,CA的安全將是系統安全的重中之重,需要該組織機構具有相應的技術能力、管理能力,需要有專業的團隊,并投入充足的建設及后期維護費用。

區塊鏈是一種集體維護的分布式共享加密數據庫[3],眾多的項目證明它具有不可偽造、全程留痕、可以追溯的技術特性。區塊鏈可以不依賴中心化權利機構,對現有中心部署的CA/PKI系統是一項重要的補充,能夠有效降低單點風險,具有低成本、部署簡單、安全性高的優勢[4,5]。

2 ? 設計概述(Design overview)

2.1 ? 設計目標

CA系統核心功能是簽發數字證書、管理數字證書。根證書、中級證書的存放及使用安全是系統安全的核心。目前主要措施有:私鑰物理隔離、操作日志審計、多人共同簽發、人員背景調查等。用戶的證書可能會丟失或者被盜,系統需要實現證書吊銷功能。該功能是PKI維護的一個在線列表,列舉了所有在有效期內但是有安全風險的證書。在證書存在安全隱患時,持有人可以向PKI申請將不安全的證書加入吊銷列表。其他用戶可以通過在線查詢協議,查詢證書吊銷列表,從而判斷一個證書是否有效。本文用區塊鏈技術代替部分CA/PKI流程,設計了可低成本私有化部署的方案。該方案利用多私鑰共同簽名頒發證書,代替傳統的多人共同操作的簽發環節,通過公共賬本代替傳統日志系統及證書在線查詢協議,通過智能合約和區塊鏈共識協議響應重大安全事件。

2.2 ? 系統角色

CA的根證書是一切信任的基礎,僅用于生成中級證書,不用于普通證書的簽發。用戶證書的簽發流程是首先由用戶提交CSR,操作員在管理人員及審計人員見證下,用中級證書簽發用戶的數字證書。本文所述方案沿襲了CA的基本流程,設計了普通用戶、見證人、礦工、訪客四種用戶角色,見圖1。

普通用戶對應傳統CA/PKI框架下的證書持有人。在區塊鏈系統中,普通用戶自行生成私鑰及公鑰。公鑰附加身份信息打包成證書請求文件(CSR)。CSR經私鑰數字簽名后發送給見證人。經過多名見證人核實信息并簽發后,即得到數字證書(CRT)。

見證人是簽發的負責人,具有提案權及投票權。見證人在接收到普通用戶的CSR后,如果確認了用戶信息正確,可以將相關信息廣播給礦工,發一起個證書簽發提案,即提案權。見證人同時需要監聽鏈上數據,如果發現新的CSR上鏈,需要對其進行投票,即投票權。投票通過的CSR將由智能合約自動生成CRT,實現證書簽發。

礦工負責區塊生成及公共賬本維護。礦工是唯一接觸區塊鏈的角色,礦工之間通過底層的區塊鏈技術,如Fabric/Ethereum框架,實現區塊鏈基本功能。每個礦工均持有一份公共賬本,賬本記錄了證書的提案、投票、吊銷的狀態。礦工對其他角色暴露服務接口,負責①接收見證人的提案;②運行智能合約,處理投票,并根據結果更新公共賬本的數據;③處理證書吊銷請求;④響應訪客的查詢請求。

訪客可以訪問區塊鏈數據,驗證一個證書的簽名是否合法,也可以在線獲取證書的狀態,確認證書是否被吊銷。

2.3 ? 客戶端

區塊鏈不需要中心服務器,系統由若干獨立客戶端構成的對等網絡運行??蛻舳丝梢酝瑫r具有上述四種角色中的一種或多種??蛻舳艘訫aster/Slave模式工作,Master實例負責監控其他Slave,必要時對故障實例重啟。礦工以網絡及磁盤IO操作為主,事件驅動的單線程模式完全可以充分利用典型的硬件資源;見證人需要響應CSR操作,適當增加見證人可以談提高系統吞吐量。因此典型情況,客戶端可以包含一個礦工及多個見證人。

3 ? 證書管理(Certificate management)

3.1 ? 證書簽發請求

普通用戶需在區塊鏈上具有合法身份,該身份是一個區塊鏈地址及控制該地址的私鑰。用戶需要自行使用區塊鏈的密鑰算法,生成一對密鑰。并由公鑰通過哈希算法生成區塊鏈地址。

在擁有區塊鏈身份后,可以創建CSR文件。首先為CSR文件創建一對密鑰,私鑰有用戶自行保管,不能公開。將證書授權的域名、主體名稱、國家地區、密鑰算法及其他附加信息序列化成屬性集。CSR文件是比較成熟的格式,OpenSSL等工具可以非常便捷完成上述工作,但是此類工具缺少對自定義字段的處理能力,考慮到Postal Address字段通常閑置,因此用該字段存儲用戶區塊鏈地址,實現CSR與用戶身份在區塊鏈的上關聯。最后公鑰、證書內容及數字簽名重新打包生成CSR文件。

3.2 ? 預見證過程

普通用戶將CSR發送給各見證人,各見證人首先對CSR文件進行預見證。見證人之間通過Paxos/Raft等一致性算法[6],對驗證結果進行協商。如果見證人發現證書信息有錯誤,如身份或域名信息不符,可以直接否決該CSR。如果見證人均同意了該證書,則需要選舉一位見證人負責發起CSR上鏈請求。由該負責人將CSR廣播給各礦工,礦工通過區塊鏈共識協議,實現CSR數據上鏈。

預見證階段是必要的。見證人在預見證階段已完成了CSR的信息核驗,并在上鏈之前已在大多數見證人間達成一致,CSR上鏈后,見證人只需要對文件內容進行復核,不需要對CSR內容進行實質性核驗,因此加快了區塊鏈上的多簽名程序。預見證算法效率高于區塊鏈共識協議,預先在見證人間取得一致,避免了CSR上鏈后在最終簽署階段產生分歧的可能性,節約了處置分歧的區塊鏈資源。見證人的選舉程序可以避免同一CSR,被不同見證人重復提交。最后預見證過程可以避免無效CSR直接上鏈,在上鏈前就否決掉無效的CSR,減少鏈上空間的浪費。圖2給出了預見證過程的時序圖。

3.3 ? 證書簽發

各見證人需要監聽區塊數據更新。發現新的CSR上鏈后,獨立核實CSR請求信息,并獨立決定同意或否決該CSR。同意或者否決意見均需要提交到區塊鏈上。見證人把自己的決定和簽名結果發布給礦工。礦工負責驗證CSR文件自身的合法性及各見證人的投票意見,當投票數滿足既定規則時,將會自動觸發CSR對應的簽發或否決邏輯。該邏輯在區塊鏈上表現為多簽名智能合約[5],以下代碼展示了其核心邏輯,當同意的見證人數量超過常量MIN_SIGNATURES時,該合約發布一個CRT事件,代表簽發一個數字證書:

function sign(uint csrId) public isWitness {

CSR storage csr = csrs[csrId];

...

csr.count++;

if( csr.count >= MIN_SIGNATURES ) {

...

emit CRT(csrId);

deleteCsrs(csrId);

}

}

因為礦工負責提供證書查詢服務,為了提高查詢性能,需要采用Redis等KeyValue數據庫,加速查詢的效率[7]。當礦工發現證書更新時,需要及時更新緩存,保證數據一致性。圖3下圖給出了證書簽發的時序圖。

3.4 ? 證書吊銷

證書吊銷,由證書私鑰持有人向礦工節點發起吊銷申請。用證書私鑰及用戶私鑰分別對吊銷申請簽名,最后將吊銷申請及簽名發給礦工,礦工驗證后將申請發布于區塊鏈上,實現證書吊銷。該吊銷方法適用于普通用戶的證書,也適用于見證人的中級證書吊銷。礦工需提供相應的數據訪問API供訪客查詢。吊銷申請一經確認,不可撤銷。

4 ? 實現(Implementation)

4.1 ? 賬本

區塊鏈數據主要有UTXO和賬戶兩種模式。CA/PKI系統需要存儲CSR、CRT及簽名歷史,UTXO無法滿足要求,因此本系統考慮賬戶模式。為了完成證書的生命周期管理,需要存儲證書管理規則和狀態信息。證書的管理規則以智能合約的形式存儲于區塊鏈中,一個CSR對應一個智能合約的實例。實例的狀態描述了證書的簽署狀態以和吊銷狀態。證書的管理規則對應了區塊鏈智能合約的事件處理;證書的狀態對應了區塊鏈智能合約的狀態機。

4.2 ? 節點與角色

區塊鏈系統通常是若干個節點構成的分布式系統。一個節點可以具有一種角色,也可以同時具有多種角色。區塊鏈技術誕生的初期,網絡各個節點是完全對等的,一個節點要與其他所有節點具有相同的功能,持有所有歷史區塊的數據。該數據模型對于礦工的任務是必要的,但是不利于其他角色使用區塊鏈功能。后續發展出了多種節點類型,大體分成全節點和輕節點兩類。全節點具有完整的數據,有能力對所有業務進行驗證,可以執行智能合約;輕節點只保存了有限數據,僅可以驗證事件是否發生。在本系統中,少部分礦工節點負責維持整個區塊鏈的運行,需要以全節點方式工作。見證人可以通過礦工獲取區塊鏈數據,投票過程是構造投票請求附加數字簽名,由礦工節點完成后續操作,見證人不需要完整的區塊數據,可以采用輕節點方式運行。

4.3 ? 區塊鏈瀏覽代理

相對于全節點,輕節點只需保留有限的數據,以便查詢證書的狀態,典型情況下輕節點數據量約為全節點的10%到25%。但是對于用戶而言依然需要保存相當的數據。傳統的Web系統中,瀏覽器只需要信任少數CA的根證書。以對根證書的信任為基礎,通過證書鏈,將信任延伸到SSL服務器,瀏覽器只需要幾百KB的存儲即可以完成證書鏈校驗。本文方案沿用證書鏈傳遞信任的設計,以減輕終端用戶的成本。訪客可以信任一部分見證人,根據證書鏈追溯計算一個證書是否由可信的見證人簽發。其次可以在線請求證書狀態。礦工提供區塊鏈數據的代理訪問服務。普通用戶和訪客可以不運行客戶端實例,不需要直接讀取、校驗區塊鏈數據,只需要通過礦工代理數據請求,詢問一個證書是否被簽發、證書過期時間以及是否被吊銷。該代理服務稱為區塊鏈瀏覽代理,對內負責與各個礦工溝通,及時更新數據,更新緩存;對外提供Rest接口方便用戶查詢數據。該服務有可能成為系統瓶頸,需要合理設計緩存系統。

5 ? 討論(Discussion)

5.1 ? 共識協議的選擇

共識協議是區塊鏈節點實現數據一致的算法。常見的共識協議為PoW、DPoS及PBFT。DPoS及PBFT均適合本系統方案[8]。DPoS優勢在于對投票權的精細控制,不同節點可以擁有不同權重的投票權,安全性較好的節點可以分配較高的投票權。因為投票權可以與身份無關,所以DPoS不要求所有節點實名,只需要持有投票權超過一定比例的節點實名。投票權的分配是公開的,因此偽造身份的虛假節點很難獲得足夠的投票權,即無法威脅到系統安全。PBFT不需要管理投票權,在實現方面成本相對較低。PBFT可以容忍不超過1/3的節點惡意篡改數據。為了控制該風險,通常需要對礦工節點實名管理,并及時將惡意節點除名。

5.2 ? 安全性

系統安全性取決于區塊鏈安全、見證人根證書及中級證書的安全。區塊鏈系統對數據安全有天然優勢,如果想篡改數據,DPoS協議要求具有50%以上的投票權,PBFT協議要求1/3以上的節點合謀[9],以上兩點均很難實現。見證人的根證書中級證書的私鑰如果泄露或者被不當使用,可能會簽發出假證書。相對于傳統CA,區塊鏈系統可以通過多簽名智能合約,強制要求多名見證人共同簽名才能簽發證書,因此個別見證人的安全事件不影響系統的安全性。同時礦工可以通過投票的方式,決定吊銷見證人的見證資格,保證系統的安全性。

5.3 ? 成本優勢

私有部署CA/PKI系統,主要成本用于維護系統安全?;趨^塊鏈的系統,可以有效減少系統在安全方面的成本支出。區塊鏈通過多個獨立節點的一致決議,代替了單點系統簽發證書的程序,系統不受個別節點的影響??梢怨澕s部署單獨的高防服務器及保管私鑰的專用物理空間的相關成本。系統核心業務邏輯以區塊鏈智能合約為基礎,由多個礦工共同執行,可以有效避免人為錯誤及人員舞弊,有效降低管理成本。

6 ? 結論(Conclusion)

本文提出了一種基于區塊鏈的電子認證系統改進方案。該系統具有見證人、普通用戶、訪客、礦工四種角色。礦工角色負責區塊鏈數據的訪問,實現了數據的持久化;見證人系統利用多簽名智能合約實現數字證書的簽發、查詢、吊銷關鍵流程,其中簽發過程通過預見證及鏈上簽署兩步完成,可以提高簽發效率,降低區塊鏈數據存儲壓力。本文所述方案中數據持久化依賴于區塊鏈的中心化特性,具有天然的高可靠性;證書簽發流程依賴于智能合約,避免了人為因素;數字簽名需要有多位見證人聯署,增加了系統安全性。上述安全特性使得該系統可以減少在硬件、場地方面的成本投入。相對于CA/PKI系統具有明顯的成本優勢,廣泛適用于CA/PKI私有部署需求。

參考文獻(References)

[1] Brecht B, Therriault D, André Weimerskirch, et al. A Security Credential Management System for V2X Communications[J]. ?Intelligent Transportation Systems, IEEE Transactions on, 2018, 19(12):3850-3871.

[2] Patsonakis C, Samari K, Kiayias A, et al. Implementing a Smart Contract PKI[J]. IEEE Transactions on Engineering Management, 2020(99):1-19.

[3] Ahmed M, Pathan A S K. Blockchain: Can It Be Trusted?[J]. Computer, 2020, 53(4): 31-35.

[4] Yeh K H, Su C, Deng R H, et al. Special issue on security and privacy of blockchain technologies[J]. International Journal of Information Security, 2020, 19(3): 243-244.

[5] 邵奇峰,金澈清,張召,等.區塊鏈技術:架構及進展[J].計算機學報,2018,041(005):969-988.

[6] 李東輝,吳小志,朱廣新,等.分布式數據庫協調技術- Zookeeper[J].科技展望,2016,026(001):7-8;10.

[7] 曾超宇,李金香.Redis在高速緩存系統中的應用[J].微型機與應用,2013, 032(012):11-13.

[8] 王曉光.區塊鏈技術共識算法綜述[J].信息與電腦(理論版),2017,379(09):78-80.

[9] 黃秋波,安慶文,蘇厚勤.一種改進PBFT算法作為以太坊共識機制的研究與實現[J].計算機應用與軟件,2017(10):294-299;303.

作者簡介:

周 ? 硙(1983-),男,博士,博士后.研究領域:大數據及區塊鏈.

主站蜘蛛池模板: 亚洲成人高清在线观看| 一级做a爰片久久免费| 久久综合干| 欧美精品亚洲精品日韩专区va| 人妻精品久久无码区| 亚洲香蕉在线| 国产美女91呻吟求| 最新午夜男女福利片视频| 一区二区三区高清视频国产女人| 在线观看精品自拍视频| 国产精品熟女亚洲AV麻豆| 精品久久人人爽人人玩人人妻| 亚洲有无码中文网| 欧美五月婷婷| 精品日韩亚洲欧美高清a| 精品综合久久久久久97超人该 | jizz国产视频| 亚洲伊人电影| 欧美色亚洲| 国产精品专区第1页| 欧美精品一区在线看| 狠狠色噜噜狠狠狠狠奇米777| 亚洲色图在线观看| 无码日韩精品91超碰| 国产视频只有无码精品| 55夜色66夜色国产精品视频| 黄色网在线| 午夜久久影院| 欧美日韩中文国产va另类| 亚洲一区二区三区香蕉| 影音先锋丝袜制服| 无码粉嫩虎白一线天在线观看| 国产视频 第一页| 国产精品13页| 欧美日本视频在线观看| 福利在线不卡| 国产精品香蕉在线| 99视频在线免费| 国产麻豆永久视频| 国产精品深爱在线| 国产美女91呻吟求| 亚洲视频无码| 久久99国产综合精品女同| 国产欧美日韩一区二区视频在线| 亚洲一区二区无码视频| 国产永久无码观看在线| 国产性生交xxxxx免费| 制服丝袜国产精品| 亚洲综合色婷婷中文字幕| 欧美狠狠干| 成人免费午间影院在线观看| 一本大道香蕉高清久久| 国内精品久久人妻无码大片高| 国产精品偷伦在线观看| 精品国产一区91在线| 亚洲无码视频喷水| 国产精品欧美亚洲韩国日本不卡| 国产chinese男男gay视频网| 毛片在线看网站| 亚洲精品视频网| 日韩国产黄色网站| 69国产精品视频免费| 97狠狠操| 99成人在线观看| 97se亚洲综合在线天天| 亚洲av色吊丝无码| 久久99精品久久久久纯品| 国产一区二区三区在线观看免费| 亚洲系列中文字幕一区二区| 爱做久久久久久| 国产色婷婷| 国产aaaaa一级毛片| 不卡网亚洲无码| 欧美h在线观看| 伊人久久影视| 亚洲欧美日韩另类| 91久久性奴调教国产免费| 在线va视频| 亚洲欧美极品| 久久精品国产91久久综合麻豆自制| 亚洲人成人无码www| 啪啪永久免费av|