◆劉康明 艾鴿
基于無密鑰簽名技術(shù)的政務(wù)數(shù)據(jù)安全研究
◆劉康明 艾鴿
(深圳市國家保密科技測評中心 廣東 518028)
隨著信息技術(shù)的迅速發(fā)展,各種基于網(wǎng)絡(luò)信息系統(tǒng)的政務(wù)應(yīng)用服務(wù)蓬勃興起,為推進(jìn)政務(wù)治理體系現(xiàn)代化發(fā)揮功效。但海量政務(wù)數(shù)據(jù)帶來的安全問題也變得越來越突出,所面臨的最大安全問題就是如何保證信息的真實(shí)性、完整性、機(jī)密性和不可抵賴性。區(qū)塊鏈技術(shù)具有去中心化、匿名性、信息不可篡改等天然特性,可以用于保障政務(wù)數(shù)據(jù)的完整性。無密鑰簽名技術(shù)就是一種替換基于密鑰數(shù)據(jù)驗(yàn)證系統(tǒng)的區(qū)塊鏈項(xiàng)目,通過給數(shù)據(jù)進(jìn)行簽名和驗(yàn)證簽名來保護(hù)數(shù)據(jù)自身的安全,它將簽名數(shù)據(jù)保存到區(qū)塊鏈存儲(chǔ)中,安全有效地保證了簽名數(shù)據(jù)的完整性。因此,基于無密鑰簽名技術(shù)的政務(wù)數(shù)據(jù)安全保護(hù)被提出,旨在解決上述問題。本文將研究無密鑰簽名技術(shù),并使其能高效、安全地認(rèn)證政務(wù)數(shù)據(jù)的完整性及簽名時(shí)間的不可抵賴性。
無密鑰簽名;區(qū)塊鏈;數(shù)據(jù)完整性;政務(wù)數(shù)據(jù)安全
政務(wù)部門因其履職的需要,會(huì)處理大量的政務(wù)數(shù)據(jù),而隨著大數(shù)據(jù)和云計(jì)算時(shí)代的到來,數(shù)據(jù)安全風(fēng)險(xiǎn)越發(fā)突出,加強(qiáng)電子政務(wù)領(lǐng)域數(shù)據(jù)安全保護(hù)研究刻不容緩,關(guān)鍵在于如何保證信息的真實(shí)性、完整性、機(jī)密性和不可抵賴性,“數(shù)字簽名”是解決上述問題的常用手段。所謂“數(shù)字簽名”就是通過某種密碼運(yùn)算生成一系列符號及代碼組成電子密碼進(jìn)行簽名,用來代替手書簽名或印章[1]。目前,政務(wù)數(shù)據(jù)安全中最為成熟的解決方案就是利用PKI(公鑰基礎(chǔ)設(shè)施)技術(shù)。但隨著PKI技術(shù)的大規(guī)模應(yīng)用與網(wǎng)絡(luò)體系結(jié)構(gòu)的快速發(fā)展,目前PKI應(yīng)用也面臨著私鑰泄露隱患、即時(shí)撤銷花費(fèi)大、難以抵擋量子攻擊等一系列難題。區(qū)塊鏈技術(shù)的誕生為數(shù)據(jù)完整性的研究提供新的探索方向。
區(qū)塊鏈?zhǔn)且粋€(gè)去中心化分布式數(shù)據(jù)庫系統(tǒng),由區(qū)塊鏈網(wǎng)絡(luò)中所有節(jié)點(diǎn)共同參與維護(hù)。它因?yàn)椤皳碛悬c(diǎn)對點(diǎn)(P2P)、時(shí)間戳、共識機(jī)制和加密算法等核心技術(shù),天然地具備去中心化、透明可信、防篡改、安全可靠等特性”,可有效解決數(shù)據(jù)完整性保護(hù)問題。2019年10月習(xí)近平總書記在主持中共中央政治局第十八次集體學(xué)習(xí)時(shí)特別指出,全球主要國家都在發(fā)展區(qū)塊鏈技術(shù),我們也要利用區(qū)塊鏈技術(shù)“為人民群眾提供更加智能、更加便捷、更加優(yōu)質(zhì)的公共服務(wù)”[2]。
KSI(Keyless Signatures Infrastructure,無密鑰簽名基礎(chǔ)設(shè)施)是數(shù)據(jù)安全初創(chuàng)企業(yè)GuardTime公司開展的區(qū)塊鏈項(xiàng)目,其目的是代替基于密鑰的數(shù)據(jù)驗(yàn)證系統(tǒng),這種技術(shù)稱為“無密鑰簽名技術(shù)”。它是基于一種“去中心化”的設(shè)計(jì)理念,可以實(shí)現(xiàn)對數(shù)據(jù)完整性和不可否認(rèn)性保護(hù)。KSI在一些國家的電子政務(wù)方面也產(chǎn)開實(shí)質(zhì)的應(yīng)用。在愛沙尼亞,KSI對所有政府流程進(jìn)行獨(dú)立驗(yàn)證,并向公眾提供電子政務(wù)服務(wù)。因此,通過基于區(qū)塊鏈的無密鑰數(shù)字簽名技術(shù)對政務(wù)數(shù)據(jù)進(jìn)行安全防護(hù),能夠保證數(shù)據(jù)的完整性和不可抵賴性,是一個(gè)有意義的研究和應(yīng)用方向。
區(qū)塊鏈?zhǔn)且环N由多方維護(hù),以塊鏈結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),使用密碼學(xué)保證傳輸和訪問安全,能夠?qū)崿F(xiàn)數(shù)據(jù)一致存儲(chǔ)、無法篡改、無法抵賴的技術(shù)體系。與傳統(tǒng)的數(shù)據(jù)庫存儲(chǔ)技術(shù)所不同的是,在區(qū)塊鏈網(wǎng)絡(luò)中,數(shù)據(jù)是去中心化的,即采用平等性、扁平化、開放式的系統(tǒng)結(jié)構(gòu),是利用先進(jìn)的密碼學(xué)技術(shù)分布式記錄在所有的區(qū)塊鏈節(jié)點(diǎn)中,每一個(gè)節(jié)點(diǎn)都能復(fù)制獲得一份完整的數(shù)據(jù)副本,同時(shí)因?yàn)檫@些節(jié)點(diǎn)之間又采用了復(fù)雜的共識算法來確保數(shù)據(jù)的一致性,所以即使網(wǎng)絡(luò)中部分節(jié)點(diǎn)遭受到黑客攻擊或者因?yàn)楣收隙C(jī),也不會(huì)影響整個(gè)網(wǎng)絡(luò)系統(tǒng)的正常運(yùn)行[3]。
區(qū)塊是記錄交易信息的數(shù)據(jù)單元,由區(qū)塊頭和區(qū)塊內(nèi)容兩部分組成。區(qū)塊頭數(shù)據(jù)的哈希值負(fù)責(zé)完成區(qū)塊的鏈接,作為所有區(qū)塊的唯一標(biāo)識,區(qū)塊頭數(shù)據(jù)的哈希值記錄的父區(qū)塊哈希值在區(qū)塊鏈中是唯一的鏈接區(qū)塊。通過這種方式,每個(gè)區(qū)塊都能鏈接到各自父區(qū)塊,并序列創(chuàng)建了一條從最新區(qū)塊追溯到第一個(gè)區(qū)塊的鏈條,從而形成所有區(qū)塊的一種鏈狀數(shù)據(jù)結(jié)構(gòu),如圖1所示。
區(qū)塊鏈網(wǎng)絡(luò)采用高度依賴節(jié)點(diǎn)算力的“工作量證明”的競爭機(jī)制來產(chǎn)生新區(qū)塊,區(qū)塊鏈網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都可參與該競爭。當(dāng)新區(qū)塊產(chǎn)生并且發(fā)布到網(wǎng)絡(luò)后,新區(qū)塊鏈網(wǎng)絡(luò)的合法性由每個(gè)節(jié)點(diǎn)共同參與驗(yàn)證,只有被驗(yàn)證為合法的區(qū)塊才會(huì)被區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)記錄下來。區(qū)塊鏈共識過程本質(zhì)上是一種共識節(jié)點(diǎn)間的任務(wù)分包過程。通過匯聚大規(guī)模共識節(jié)點(diǎn)的算力資源,區(qū)塊鏈可實(shí)現(xiàn)共享區(qū)塊鏈的數(shù)據(jù)驗(yàn)證工作[4]。
圖1 區(qū)塊鏈區(qū)塊結(jié)構(gòu)示意
區(qū)塊鏈網(wǎng)絡(luò)中沒有中心服務(wù)器,每個(gè)參與系統(tǒng)的節(jié)點(diǎn)都有義務(wù)驗(yàn)證交易和區(qū)塊的合法性、參與交易和區(qū)塊的存儲(chǔ)轉(zhuǎn)發(fā),也同時(shí)具有丟棄其認(rèn)為不合法的交易和區(qū)塊的功能。因此,區(qū)塊鏈系統(tǒng)中的所有節(jié)點(diǎn)均是平等的,每個(gè)節(jié)點(diǎn)都具有完整的數(shù)據(jù)記錄。即使系統(tǒng)中的某個(gè)或某些節(jié)點(diǎn)受到攻擊或破壞,不會(huì)對系統(tǒng)的完整性和可用性造成威脅。區(qū)塊鏈采用數(shù)字簽名等密碼學(xué)機(jī)制對其記錄的每項(xiàng)信息進(jìn)行保護(hù),保證了信息是可驗(yàn)證的,實(shí)現(xiàn)了信息本身無法被偽造和篡改。采用“工作量證明”的競爭機(jī)制來記錄信息,使得記錄到區(qū)塊中的信息很難被撤銷或銷毀,參與系統(tǒng)的節(jié)點(diǎn)數(shù)量越多,系統(tǒng)的安全性越高。
無密鑰簽名是數(shù)據(jù)安全初創(chuàng)企業(yè)GuardTime的區(qū)塊鏈項(xiàng)目,目的是替換基于密鑰的數(shù)據(jù)驗(yàn)證系統(tǒng)。無密鑰簽名是為數(shù)據(jù)的已知原始狀態(tài)創(chuàng)建哈希簽名,并對這些包含時(shí)間戳的哈希值持續(xù)監(jiān)控,通過系統(tǒng)對數(shù)據(jù)是否被篡改進(jìn)行驗(yàn)證。無密鑰簽名是傳統(tǒng)PKI簽名的替代解決方案,它是通過一個(gè)構(gòu)建類似傳統(tǒng)簽名解決方案PKI的無密鑰簽名基礎(chǔ)設(shè)施(KSI)來實(shí)現(xiàn)。無密鑰并不意味著在簽名創(chuàng)建期間不使用加密密鑰。在認(rèn)證中密鑰仍然是需要的,但是可以在不保證密鑰的持續(xù)保密性的情況下,可靠地驗(yàn)證簽名[5]。無密鑰簽名不容易受到密鑰泄露影響,從而為長期有效性的問題提供了解決方案。傳統(tǒng)的PKI簽名可能受到時(shí)間戳的保護(hù),但只要是時(shí)間戳技術(shù)本身是基于PKI的,密鑰泄露的問題仍然沒有解決。
從執(zhí)行角度來看,PKI和KSI數(shù)字簽名技術(shù)的主要區(qū)別如表1所示:
表1 PKI和KSI數(shù)字簽名技術(shù)對比
KSI是一種全球分布式系統(tǒng),用于提供時(shí)間戳和服務(wù)器支持的數(shù)字簽名服務(wù)。該基礎(chǔ)設(shè)施由聚合服務(wù)器的層次結(jié)構(gòu)組成,其創(chuàng)建全球哈希樹。第一層聚合服務(wù)器-網(wǎng)關(guān),負(fù)責(zé)直接從客戶端收集請求;每個(gè)聚合服務(wù)器從低一層服務(wù)器接收請求,將它們一起散列成哈希樹,并將樹的頂部哈希值發(fā)送請求到更高級層的服務(wù)器。然后,服務(wù)器等待來自上級服務(wù)器的響應(yīng)并將收到的響應(yīng)與其自己的哈希樹中的哈希鏈組合起來創(chuàng)建和傳遞到每個(gè)下級服務(wù)器。如圖2所示,在每個(gè)聚合周期,聚合樹的頂部存儲(chǔ)在日歷區(qū)塊鏈中。為了使鏈接到日歷區(qū)塊鏈中哈希值不可逆轉(zhuǎn),使新葉只添加到樹的一側(cè)。日歷區(qū)塊鏈?zhǔn)怯谰玫?,?shù)據(jù)只附加到其中。日歷區(qū)塊鏈的根節(jié)點(diǎn)定期發(fā)布在報(bào)紙和電子媒體上,以確保長期的完整性。該哈希鏈?zhǔn)侨蛭ㄒ磺夜_的,對所有第三方開放審計(jì)。
圖2 KSI服務(wù)架構(gòu)
在無密鑰簽名方案中,簽名者身份認(rèn)證功能和證據(jù)完整性保護(hù)功能被分離并委托給適合這些功能的加密工具。例如,簽名者身份認(rèn)證仍然可以通過使用非對稱加密來完成,但簽名數(shù)據(jù)的完整性受到單向無碰撞的哈希函數(shù)的保護(hù),這是公共標(biāo)準(zhǔn),不涉及任何密鑰的轉(zhuǎn)換。
KSI區(qū)塊鏈技術(shù)旨在為電子數(shù)據(jù)提供可擴(kuò)展的基于身份認(rèn)證的數(shù)字簽名。與依賴于非對稱密鑰加密技術(shù)的傳統(tǒng)方法不同,KSI僅使用哈希函數(shù)來加密,允許驗(yàn)證僅依賴哈希函數(shù)的安全性及區(qū)塊鏈的可用性。
KSI區(qū)塊鏈克服了主流區(qū)塊鏈技術(shù)的三個(gè)主要弱點(diǎn),使KSI也適用于網(wǎng)絡(luò)安全和數(shù)據(jù)管理應(yīng)用:
(1)可擴(kuò)展性:傳統(tǒng)區(qū)塊鏈方法以O(shè)(n)規(guī)模復(fù)雜度擴(kuò)展,規(guī)模隨交易數(shù)量呈線性增長。而KSI區(qū)塊鏈可以在O(t)空間復(fù)雜度的范圍內(nèi)擴(kuò)展,隨時(shí)間呈線性增長,獨(dú)立于交易數(shù)量,不會(huì)因?yàn)榻灰讛?shù)目增長而失去控制。
(2)結(jié)算時(shí)間:與廣泛分布的加密貨幣法相反,KSI區(qū)塊鏈可以同步達(dá)成共識,消除對工作證明的需求,并確保在一秒內(nèi)可以進(jìn)行結(jié)算。
(3)正式的安全性證明:與其他區(qū)塊鏈不同,KSI區(qū)塊鏈接已經(jīng)能實(shí)現(xiàn)端到端的正式數(shù)學(xué)證明,可以保證協(xié)議的準(zhǔn)確性。
KSI提供全球范圍的時(shí)間戳和服務(wù)器輔助的數(shù)字簽名服務(wù);其安全性是可以證明的且信任要求最低并具有強(qiáng)不可更改性。其保證全球獨(dú)一無二的公共哈希日歷值,使系統(tǒng)篡改,特別是時(shí)鐘值,對所有用戶都高度可見[6]。
政務(wù)數(shù)據(jù)是政務(wù)部門組織和執(zhí)行各項(xiàng)事務(wù)或活動(dòng)中產(chǎn)生的數(shù)據(jù),政務(wù)數(shù)據(jù)被惡意篡改,數(shù)據(jù)就不真實(shí)不完整,極有可能導(dǎo)致政務(wù)部門基于惡意數(shù)據(jù)做出錯(cuò)誤決策。因此,政務(wù)系統(tǒng)和數(shù)據(jù)的完整性和真實(shí)性尤其突出。無密鑰簽名技術(shù)由于其保護(hù)數(shù)據(jù)的完整性及不可篡改性,在政府治理領(lǐng)域有很廣闊的應(yīng)用場景,如電子政務(wù)、工資審核、稅務(wù)征收等方面的潛在應(yīng)用,下面我們將重點(diǎn)闡述無密鑰技術(shù)在政務(wù)數(shù)據(jù)完整性安全防護(hù)方面的應(yīng)用。
通過無密鑰簽名系統(tǒng)能實(shí)現(xiàn)對政務(wù)數(shù)據(jù)的簽名和驗(yàn)證兩大功能。簽名功能是指用戶(政務(wù)部門組織)上傳一個(gè)簽名政務(wù)數(shù)據(jù)的哈希值,系統(tǒng)對該哈希值進(jìn)行簽名運(yùn)算,返回用戶一個(gè)簽名文件。驗(yàn)證是指系統(tǒng)對已簽過的政務(wù)數(shù)據(jù)再進(jìn)行一次哈希運(yùn)算,將得到的哈希值進(jìn)行驗(yàn)證運(yùn)算,返回驗(yàn)證結(jié)果?;跓o密鑰簽名的政務(wù)數(shù)據(jù)完整性保護(hù)方案工作原理如圖3所示:
圖3 無密鑰簽名應(yīng)用流程
圖4說明了無密鑰系統(tǒng)中的簽名的完整過程,即將產(chǎn)生的電子數(shù)據(jù)通過內(nèi)部的哈希算法得到一個(gè)哈希值;KSI網(wǎng)關(guān)將得到的哈希值通過HTTP協(xié)議傳輸?shù)絽^(qū)塊鏈網(wǎng)絡(luò)中進(jìn)行無鑰簽名服務(wù);網(wǎng)絡(luò)返回帶有簽名信息的電子數(shù)據(jù)(即簽名值)。
圖4 調(diào)用簽名服務(wù)
數(shù)據(jù)簽名后,用戶需要對上傳數(shù)據(jù)的真實(shí)性進(jìn)行驗(yàn)證。如圖5所示,即用戶(政務(wù)部門組織)向SDK提供簽名文件哈希值、簽名值及信任根具體數(shù)據(jù)(如發(fā)布字符串);提供此信息的SDK通過HTTP協(xié)議將執(zhí)行相應(yīng)的驗(yàn)證服務(wù)并返回驗(yàn)證結(jié)果。如果驗(yàn)簽成功,證明簽名數(shù)據(jù)是完整不被篡改的。在失敗的情況下,具體原因?qū)⒈涣谐觥?/p>
圖5 調(diào)用驗(yàn)證服務(wù)
無密鑰簽名區(qū)塊鏈有以下安全特性:基于網(wǎng)絡(luò)共識算法和時(shí)間戳技術(shù),本身就具備不可篡改性;在此系統(tǒng)中公共哈希日歷值由該時(shí)刻所有終端的用戶共同參與,任何一個(gè)終端都沒有強(qiáng)制性的中心控制功能;擁有無單點(diǎn)故障的高可用性和高性能響應(yīng)方案;在無密鑰簽名系統(tǒng)中,終端的用戶提供哈希文件和簽名值,服務(wù)器端可通過正式的數(shù)學(xué)證明來比較驗(yàn)簽數(shù)據(jù)的準(zhǔn)確性。這種端到端的證明算法可以獨(dú)立驗(yàn)證,永不失效[7]。
基于區(qū)塊鏈項(xiàng)目的無密鑰簽名技術(shù)針對政務(wù)數(shù)據(jù)安全構(gòu)建的政務(wù)數(shù)據(jù)完整性保護(hù)方案,其工作原理是:政務(wù)數(shù)據(jù)待保護(hù)的數(shù)字資產(chǎn)運(yùn)用無密鑰簽名系統(tǒng)產(chǎn)生“數(shù)據(jù)簽名值”,并在區(qū)塊鏈上存儲(chǔ)這些簽名值。如果能夠確保這些關(guān)鍵數(shù)據(jù)最初是和實(shí)際相符的,那么這些資產(chǎn)的真實(shí)性和完整性就可以隨時(shí)得到驗(yàn)證。從論述工作原理得知,政務(wù)數(shù)據(jù)完整性保護(hù)方案在如何確保數(shù)據(jù)的完整性上,主要是簽名功能和驗(yàn)證功能。無密鑰簽名電子檔案數(shù)據(jù)經(jīng)過本地計(jì)算及KSI全球網(wǎng)絡(luò)運(yùn)算獲得簽名,從而防止數(shù)據(jù)在傳輸過程中被悄然篡改,證明數(shù)據(jù)的可靠性和不可抵賴性?;趨^(qū)塊鏈以及無密鑰簽名技術(shù)的引入,為政務(wù)數(shù)據(jù)在網(wǎng)絡(luò)環(huán)境下的完整性提供了數(shù)學(xué)證明,使得網(wǎng)絡(luò)攻擊產(chǎn)生的破壞力降低,規(guī)避風(fēng)險(xiǎn),讓政府部門精準(zhǔn)科學(xué)決策。
本文分析了現(xiàn)有的以PKI為代表的傳統(tǒng)電子簽名方案在政務(wù)數(shù)據(jù)完整性認(rèn)證存在的問題,提出了一個(gè)保證簽名信息的完整性的替代方案無密鑰簽名基礎(chǔ)設(shè)施KSI,并其將應(yīng)用于政務(wù)數(shù)據(jù)安全保護(hù)中。相比傳統(tǒng)的數(shù)據(jù)完整性保護(hù)技術(shù),本方案利用安全高效的無密鑰簽名技術(shù),對政務(wù)數(shù)據(jù)進(jìn)行完整性保護(hù),并將簽名數(shù)據(jù)存儲(chǔ)在區(qū)塊鏈中,這種只存儲(chǔ)簽名數(shù)據(jù)的機(jī)制將極大減少對存儲(chǔ)的要求,但是本方案存在一定的驗(yàn)證延遲,無法做到持續(xù)監(jiān)測關(guān)鍵數(shù)據(jù)的完整性狀態(tài),還未實(shí)現(xiàn)利用無密鑰簽名技術(shù)實(shí)現(xiàn)簽名者身份認(rèn)證以保證簽名起源的不可篡改性。所以研究主動(dòng)完整性保護(hù)技術(shù),利用無密鑰簽名技術(shù)實(shí)現(xiàn)對簽名者身份的認(rèn)證以此來保證整個(gè)簽名內(nèi)容、簽名起源、簽名時(shí)間的完整性與不可篡改性是下一步的研究目標(biāo)。
[1]肖攸安,李臘元.數(shù)字簽名技術(shù)的發(fā)展[J].交通與計(jì)算機(jī),2003(02):6-9.
[2]楊檸聰,白平浩.區(qū)塊鏈技術(shù)的政府治理實(shí)踐:應(yīng)用、挑戰(zhàn)及對策[J].黨政研究,2020(02):100-107.
[3]孫巖,雷震,詹國勇.基于區(qū)塊鏈的軍事數(shù)據(jù)安全研究[J].指揮與控制學(xué)報(bào),2018,4(3):189-194.
[4]謝輝,王健.區(qū)塊鏈技術(shù)及其應(yīng)用研究[J].信息網(wǎng)絡(luò)安全,2016(9):192-195.
[5]Buldas A,Laanoja R,Truu A. Efficient Quantum-Immune Keyless Signatures with Identity[J]. IACR Cryptology ePrint Archive,2014,321.