倪奕,陳 雷,胡 鑫
(中國電子科技集團公司第三十研究所,四川 成都 610041)
在量子密鑰系統(tǒng)中,使用諸如BB84 協(xié)議[1]之類的量子密鑰分配(Quantum Key Distribution,QKD)協(xié)議,需要QKD 設(shè)備之間經(jīng)典通信信道的支持才能產(chǎn)生量子密鑰并完成量子密鑰的分發(fā)。因此,整個QKD 系統(tǒng)的安全威脅,不僅來自量子領(lǐng)域,即量子相關(guān)攻擊,還可能來自經(jīng)典網(wǎng)絡(luò),即傳統(tǒng)的網(wǎng)絡(luò)攻擊。因此QKD 系統(tǒng)的經(jīng)典部分,即QKD 后處理協(xié)議的安全性,會影響整個QKD系統(tǒng)的安全性,所以有必要對QKD 后處理協(xié)議進行安全脆弱性分析,并據(jù)此提出相應(yīng)安全防護機制,提升量子QKD系統(tǒng)的整體安全性。
基于量子力學(xué)的基本原理[2],量子密鑰分配能為配對的兩個QKD 設(shè)備之間提供一種能夠產(chǎn)生安全密鑰的方式,其過程包含量子信息傳輸和后處理兩個階段。量子信息傳輸主要完成兩個QKD 設(shè)備之間量子態(tài)的分發(fā)、傳遞以及測量過程。后處理[2]主要包括篩選、參數(shù)估計、糾錯、保密增強等幾個過程,具體的工作流程如圖1 所示。
圖1 QKD 后處理過程
(1)篩選:即基矢比對過程,指的是QKD 設(shè)備之間通過經(jīng)典信道比對雙方在操作光子時所使用的基矢。當(dāng)雙方選用不同的基矢時會得到不同的信息,這些信息需要進行丟棄。當(dāng)兩個設(shè)備選用一致的基矢時會得到一致的信息,通過該信息產(chǎn)生密鑰,即篩后密鑰(sifted key)。
(2)參數(shù)估計:通過經(jīng)典信道公開比對一部分sifted key 來統(tǒng)計其誤碼率,可以初步判斷sifted key 是否應(yīng)丟棄或者可以作進一步處理。參數(shù)估計可以算是糾錯的前置動作,糾錯過程中也會進一步統(tǒng)計sifted key 的誤碼率,因此糾錯流程中一般也會包含參數(shù)估計。
(3)糾錯:由于QKD 設(shè)備之間得到的sifted key 可能不完全相同,為使雙方的密鑰相同,需要使用相應(yīng)糾錯碼對密鑰進行糾錯,得到相同的密鑰。
(4)保密增強:為清除攻擊者所竊取的信息而對sifted key 進行壓縮的過程。通信雙方根據(jù)估算的信息泄露量上限,選擇適合的Hash 函數(shù)對糾錯后的密鑰進行壓縮,得到安全的最終密鑰。
以下內(nèi)容主要從信息安全[3]要素出發(fā)對QKD后處理協(xié)議的安全脆弱性進行分析研究。
QKD 后處理的機密性指QKD 后處理協(xié)議數(shù)據(jù)除通信雙方外,不泄露給其他非授權(quán)設(shè)備。通過分析,QKD 后處理協(xié)議可能存在以下脆弱性。
2.1.1 非授權(quán)用戶截取協(xié)議幀
由于QKD后處理協(xié)議規(guī)范中并沒有明確提及,在通信雙方Alice 和Bob 開始通信之前,對對方進行身份認(rèn)證授權(quán)的過程中,Alice 在收到QKD 后處理命令或者應(yīng)答幀時,無法確認(rèn)該幀是否真的是由Bob 所發(fā)送,以及Bob 在收到發(fā)送端傳送的數(shù)據(jù)幀時也無法確認(rèn)該幀來源的合法性。QKD 后處理協(xié)議標(biāo)準(zhǔn)的開放性,也為攻擊者偽造數(shù)據(jù)包提供了便利,攻擊者可以冒充某個合法QKD設(shè)備的地址進行欺騙攻擊。
2.1.2 缺乏協(xié)議數(shù)據(jù)加密措施
QKD 后處理協(xié)議標(biāo)準(zhǔn)由于在協(xié)議數(shù)據(jù)幀中沒有交互密鑰數(shù)據(jù)信息,沒有充分考慮協(xié)議數(shù)據(jù)幀信息泄露的問題,因此并沒有對數(shù)據(jù)幀單元進行加密,并且由于經(jīng)典信道的開放性,QKD 協(xié)議數(shù)據(jù)泄露的可能性急劇增加。攻擊者只要在QKD 系統(tǒng)中某條通信鏈路或某個QKD 設(shè)備上進行通信監(jiān)聽、數(shù)據(jù)截取,就可以獲得在QKD 網(wǎng)絡(luò)中傳輸?shù)男畔ⅰR驗镼KD 后處理協(xié)議數(shù)據(jù)沒有進行加密,攻擊者能輕易對獲取的協(xié)議數(shù)據(jù)進行各種分析、篡改等惡意處理,可能對量子密鑰分發(fā)業(yè)務(wù)造成不利影響。
QKD 后處理的完整性指后處理協(xié)議數(shù)據(jù)的安全、正確與有效,即未被未授權(quán)的第三方修改。通過分析,QKD 后處理協(xié)議規(guī)范在信息完整性校驗以及報文會話模式等方面可能存在脆弱性。
2.2.1 沒有可靠的信息完整性校驗手段
由于沒有強制要求使用的校驗和算法,QKD后處理數(shù)據(jù)幀校驗和一般采用比較簡單的校驗和算法,對數(shù)據(jù)幀的幀長度和交互數(shù)據(jù)字段進行校驗。這樣處理雖然能夠確保QKD 協(xié)議數(shù)據(jù)的正確性,但不能確保其不會被攻擊者所篡改。而且QKD 后處理協(xié)議數(shù)據(jù)幀中沒有對協(xié)議字段進行加密,攻擊者可輕易實現(xiàn)對協(xié)議字段數(shù)據(jù)的篡改,并重新計算校驗和并完成協(xié)議幀的封裝,這樣合法QKD 設(shè)備就難以發(fā)現(xiàn)后處理協(xié)議數(shù)據(jù)幀被篡改,而對其進行正常處理,從而可能對設(shè)備造成損害。
2.2.2 協(xié)議幀格式簡單、模式易分析
QKD 后處理協(xié)議在設(shè)計的時候就已經(jīng)確定了在運行過程中需要完成的各個階段,每個階段需要實現(xiàn)的各項功能,以及每項功能涉及哪些交互數(shù)據(jù)幀。總體來說,QKD 后處理協(xié)議報文數(shù)據(jù)幀格式簡單、構(gòu)造模式易分析,具有統(tǒng)一的通用結(jié)構(gòu),不同類型數(shù)據(jù)幀的變化主要來自“交互數(shù)據(jù)”部分的“消息體”域的不同。攻擊者在對QKD 系統(tǒng)進行了解,并對QKD 后處理協(xié)議標(biāo)準(zhǔn)進行分析的基礎(chǔ)上,便能較為容易地掌握其協(xié)議交互過程以及協(xié)議數(shù)據(jù)命令幀/響應(yīng)幀的幀結(jié)構(gòu),為構(gòu)造并封裝具有惡意目的的后處理協(xié)議幀打下基礎(chǔ)。
QKD 后處理的可用性就是指QKD 后處理相關(guān)服務(wù)或數(shù)據(jù)可被正常訪問、使用以及在異常情況下能完成故障恢復(fù)的能力。
由于QKD 后處理協(xié)議沒有規(guī)定對通信雙方身份的認(rèn)證以及對協(xié)議數(shù)據(jù)的加密,攻擊者可以通過中間人攻擊方式,監(jiān)聽、竊取并偽造后處理協(xié)議幀或者停止轉(zhuǎn)發(fā)協(xié)議交互數(shù)據(jù)等方式破壞QKD 設(shè)備之間的通信過程。或者對QKD 設(shè)備進行端口掃描,在獲取后處理服務(wù)端口后進行拒絕服務(wù)攻擊,從而使得QKD失敗,甚至造成QKD 設(shè)備癱瘓等后果,從而破壞QKD系統(tǒng)信息和數(shù)據(jù)交互,以及服務(wù)或設(shè)備的可用性。
可認(rèn)證性是指通信雙方在進行通信之前相互確認(rèn)對方身份,只有雙方身份確認(rèn)之后,才開始正式的通信過程。
在實際的QKD 系統(tǒng)中,兩個QKD 設(shè)備在進行后處理之前,沒有強制要求對對方身份進行認(rèn)證,可能造成非法用戶冒充合法用戶的情況出現(xiàn)。另外,在實際QKD 系統(tǒng)中,除量子信道還有經(jīng)典信道,量子信道可由量子基本原理保證其安全性,而經(jīng)典信道可由身份認(rèn)證機制來保證其安全性。當(dāng)前身份認(rèn)證主要使用Hash 函數(shù)實現(xiàn),并利用QKD 設(shè)備之間共享的初始密鑰產(chǎn)生認(rèn)證碼來完成。然而,Hash函數(shù)存在被破解的風(fēng)險,而且QKD 設(shè)備之間共享的初始認(rèn)證密鑰也可能隨著系統(tǒng)的運行而耗盡,從而整個QKD 的安全性就難以保證。
本部分基于上一節(jié)從信息安全要素出發(fā),在對QKD 后處理協(xié)議的安全威脅分析研究的基礎(chǔ)上,分析QKD 后處理協(xié)議的安全驗證方法。本文分析主要參考中間人攻擊[4],如圖2 所示。所謂QKD 后處理中間人攻擊是指攻擊者可以竊聽QKD 設(shè)備之間傳輸?shù)男畔?,并分別冒充正常通信的QKD 設(shè)備與對端設(shè)備進行通信。
圖2 中間人攻擊
3.1.1 信息監(jiān)聽
如果兩臺QKD 設(shè)備之間進行后處理過程時,沒有對協(xié)議幀進行加密,那么使用常見的通信監(jiān)聽工具即可輕易竊取QKD 后處理協(xié)議數(shù)據(jù)。QKD 后處理協(xié)議是公開的協(xié)議,攻擊者能夠輕易查找并獲取其協(xié)議規(guī)范,從而了解其交互流程以及協(xié)議幀結(jié)構(gòu)。而且在實際QKD 系統(tǒng)中,后處理協(xié)議幀數(shù)據(jù)未進行加密傳輸,這也為攻擊者分析協(xié)議幀數(shù)據(jù)創(chuàng)造了條件,即攻擊者可以使用經(jīng)典網(wǎng)絡(luò)抓包程序抓取QKD 設(shè)備之間傳輸?shù)暮筇幚韰f(xié)議幀數(shù)據(jù),并展開數(shù)據(jù)分析,從而獲取其感興趣、可利用的信息。
3.1.2 欺騙攻擊
QKD 后處理協(xié)議標(biāo)準(zhǔn)采用命令/響應(yīng)式規(guī)約,一個命令幀對應(yīng)一個響應(yīng)幀,通信主動權(quán)在發(fā)送端。在兩個QKD 設(shè)備之間建立后處理通信信道后,攻擊者作為中間人接收到發(fā)端設(shè)備傳輸?shù)暮筇幚韰f(xié)議幀后,不直接轉(zhuǎn)發(fā),而是按攻擊者意圖偽造一個新的后處理協(xié)議幀發(fā)送給接收端,干擾或者破壞接收端的正常業(yè)務(wù)處理,達到攻擊者欺騙攻擊的目的。
通過前述完整性安全分析,QKD 后處理協(xié)議存在協(xié)議數(shù)據(jù)幀模式易分析以及信息完整性校驗弱等安全脆弱性問題。攻擊者在偵聽、竊取QKD 設(shè)備通信數(shù)據(jù)之后,根據(jù)QKD 后處理協(xié)議的先驗知識,對其協(xié)議數(shù)據(jù)幀進行分析,就能確定協(xié)議數(shù)據(jù)幀是屬于QKD 后處理過程的某個階段、某個命令或響應(yīng)幀,從而獲取攻擊者可以利用的協(xié)議數(shù)據(jù)。并且可以偽造和篡改特定后處理協(xié)議數(shù)據(jù)幀達到干擾、攻擊正常的協(xié)議處理過程的目的。攻擊者之所以能夠偽造或篡改,是因為QKD 后處理協(xié)議數(shù)據(jù)幀的完整性校驗和算法實現(xiàn)較為簡單,可以較為容易地破解其算法,從而可以對內(nèi)容篡改后的后處理數(shù)據(jù)幀重新計算校驗和,使得接收方不能僅僅通過后處理協(xié)議報文的格式檢查,發(fā)現(xiàn)攻擊者的篡改行為。
3.3.1 中斷會話
在QKD 后處理過程中,攻擊者可以通過以下方式來中斷Alice 和Bob 已經(jīng)建立起的會話連接。這些攻擊方式的前提均是攻擊者完成中間人攻擊步驟,以“透明代理”的方式插入到了Alice 和Bob的通信之中,即假冒接收方與發(fā)送方進行通信,假冒發(fā)送方與接收方進行通信,而通信雙方均不知曉攻擊者Eve 的存在。
(1)偽造響應(yīng)攻擊:作為“中間人”的攻擊者在截取后處理協(xié)議幀后,可以冒充接收設(shè)備偽造后處理協(xié)議響應(yīng)幀作為對發(fā)端設(shè)備命令幀的應(yīng)答,這樣接收設(shè)備就始終處于無響應(yīng)幀接收的狀態(tài),則可能造成接收端設(shè)備后處理協(xié)議處理狀態(tài)機錯亂,從而干擾破壞正常QKD 設(shè)備之間的通信過程。
(2)截取重發(fā)攻擊:攻擊者作為“中間人”在截取報文之后,可以對被截取報文字段進行篡改,修改特定字段數(shù)值后再重新發(fā)送給接收方,接收方解析被篡改報文后,認(rèn)為對端業(yè)務(wù)處理異常,從而主動中斷與發(fā)送方之間的會話連接。
在截取重發(fā)攻擊中,以QKD 后處理過程基矢比對階段為例,Bob 端需要統(tǒng)計錯誤率,即Bob 端根據(jù)Alice 端發(fā)送過來的數(shù)據(jù)對系統(tǒng)的錯誤率進行評估,并將評估結(jié)果發(fā)送至Alice 端,如果攻擊者截取該幀,并對其中的探測評估結(jié)果進行篡改,使其始終高于QKD 后處理協(xié)議所規(guī)定的正常閾值,則通信雙方就可能認(rèn)為通信過程存在問題,中斷本次通信會話,從而造成業(yè)務(wù)終止。
3.3.2 拒絕服務(wù)攻擊
拒絕服務(wù)的目的就是使被攻擊者不能提供正常的服務(wù)。針對實現(xiàn)QKD 后處理協(xié)議的QKD 設(shè)備來說,攻擊者可以采取多種手段達到這個目的。
(1)服務(wù)端口占用。QKD 設(shè)備之間進行處理過程處理的前提是先建立設(shè)備之間的通信連接,這就需要每個設(shè)備都要在某個端口啟用后處理服務(wù),以監(jiān)聽對端設(shè)備的后處理連接請求。攻擊者可以通過端口掃描等方法獲取QKD 設(shè)備的后處理服務(wù)端口,由此展開拒絕服務(wù)攻擊。攻擊者通過向QKD設(shè)備后處理服務(wù)端口發(fā)起海量的后處理服務(wù)連接請求,占用QKD 設(shè)備處理資源,消耗QKD 設(shè)備之間的網(wǎng)絡(luò)帶寬資源和QKD 設(shè)備的處理能力,從而達到QKD 設(shè)備因資源耗盡而拒絕服務(wù)的目的。
(2)緩沖區(qū)溢出。緩沖區(qū)溢出攻擊是常見攻擊方法,可以導(dǎo)致程序崩潰、設(shè)備死機等后果,其主要是利用軟件在代碼實現(xiàn)過程中不規(guī)范嚴(yán)謹(jǐn)所導(dǎo)致的緩沖區(qū)溢出漏洞而進行的攻擊行為。
QKD 后數(shù)據(jù)處理協(xié)議幀中包含“交互數(shù)據(jù)”數(shù)據(jù)域,該數(shù)據(jù)域根據(jù)不同的幀類型有不同的數(shù)據(jù)長度,攻擊者在獲取QKD 后數(shù)據(jù)處理協(xié)議幀結(jié)構(gòu)的基礎(chǔ)上,可以構(gòu)造各類附帶惡意代碼二進制數(shù)據(jù)的異常的“交互數(shù)據(jù)”,造成QKD 設(shè)備的后處理協(xié)議處理程序在處理該異?!敖换?shù)據(jù)”時緩沖區(qū)溢出,進而執(zhí)行惡意代碼,最終造成QKD 設(shè)備程序崩潰或者設(shè)備死機等后果。
QKD 系統(tǒng)的安全依賴量子力學(xué)的正確性[5],但量子力學(xué)正確性并不能完全保證QKD 系統(tǒng)的安全。因此,QKD 系統(tǒng)的安全還應(yīng)該依賴QKD 設(shè)備自身的安全性,以及進行QKD 的設(shè)備之間的網(wǎng)絡(luò)通信信道的安全性,即進行量子密鑰分發(fā)之前通信雙方要通過身份認(rèn)證,雙方建立的通信鏈路也要通過安全認(rèn)證。安全認(rèn)證主要通過密碼學(xué)中的Hash函數(shù)來完成,然而當(dāng)前攻擊者能較為容易地找到Hash 函數(shù)的碰撞,從而實現(xiàn)對安全認(rèn)證機制的破解。針對Hash 函數(shù)的攻擊手段主要包括兩類,一種是窮舉攻擊,比如“生日攻擊”;另一種是密碼分析攻擊,典型的是中間相遇、差分分析等,其中差分分析[6]是當(dāng)前的研究重點之一。在QKD 設(shè)備進行量子密鑰分發(fā)過程中,攻擊者可以在所有碰撞中選出與原消息認(rèn)證碼漢明距離最小的一個對接收端的探測結(jié)果進行替換,并利用隨后的糾錯過程掩蓋自己的攻擊行為[5]。這種攻擊方法具有較強的通用性。
在QKD 系統(tǒng)中,對后處理各個階段的協(xié)議幀交互都要進行數(shù)據(jù)認(rèn)證,以保證協(xié)議幀數(shù)據(jù)的完整性,防止被非法篡改。主要認(rèn)證內(nèi)容包括:(1)基矢比對交互數(shù)據(jù)認(rèn)證;(2)糾錯結(jié)果一致性比對數(shù)據(jù)認(rèn)證;(3)保密增強共享隨機數(shù)數(shù)據(jù)認(rèn)證;(4)量子密鑰一致性比對數(shù)據(jù)認(rèn)證。
消息認(rèn)證可使用哈希運算消息認(rèn)證碼(Hashbased Message Authentication Code,HMAC)雜湊算法實現(xiàn)帶密鑰哈希。例如在基矢比對數(shù)據(jù)認(rèn)證中,將QKD 設(shè)備兩端后處理協(xié)議幀交互數(shù)據(jù)與128b 密鑰一起經(jīng)HMAC 算法運算得到256b 雜湊值,兩端通過比對雜湊值的一致性來保證協(xié)議幀未被篡改。參與HMAC 運算的密鑰需定期更換。
認(rèn)證過程中需要在兩個QKD 設(shè)備之間同時使用對稱密鑰,這些密鑰可以是預(yù)置的,也可以是從分發(fā)的量子密鑰中截取的,其實現(xiàn)流程說明如下。
4.1.1 基矢比對交互數(shù)據(jù)認(rèn)證
BB84 協(xié)議的基矢比對功能實現(xiàn)QKD 設(shè)備兩端通過經(jīng)典信道比對各自采用的基矢,保留基矢相同部分的信息。通信兩端交互數(shù)據(jù)通過HMAC 進行數(shù)據(jù)認(rèn)證。
基矢比對過程中的數(shù)據(jù)認(rèn)證分為接收數(shù)據(jù)認(rèn)證和發(fā)送數(shù)據(jù)認(rèn)證兩部分,當(dāng)兩部分?jǐn)?shù)據(jù)認(rèn)證均成功時表示本次基矢比對過程中經(jīng)典數(shù)據(jù)交互過程可靠。HMAC 中使用的key 更新頻率為每一次基矢比對過程即更新一次,每次使用的密鑰量為128 bit。
4.1.2 糾錯結(jié)果一致性比對數(shù)據(jù)認(rèn)證
由于兩個QKD 設(shè)備之間進行量子密鑰協(xié)商過程時會產(chǎn)生量子比特誤碼,為保證糾錯后糾錯結(jié)果在通信雙方的輸出一致性,在糾錯后會對對的糾錯結(jié)果使用數(shù)據(jù)認(rèn)證的方式進行一致性比對。該比對過程采用HMAC 算法實現(xiàn)。當(dāng)數(shù)據(jù)認(rèn)證成功并且比對結(jié)果一致時表明糾錯成功,通信雙方糾錯后密鑰一致。
4.1.3 保密增強隨機數(shù)共享數(shù)據(jù)認(rèn)證
為了確保量子密鑰分發(fā)系統(tǒng)所產(chǎn)生密鑰的絕對安全性,對整個QKD 后處理過程產(chǎn)生的信息泄露量進行評估,并依據(jù)該評估值確定一個壓縮因子對糾錯后的密鑰進行壓縮,完成生成密鑰的保密增強,從而產(chǎn)生絕對安全的最終密鑰。
目前實現(xiàn)保密增強[7]可采用基于QKD 設(shè)備之間共享的真隨機數(shù)構(gòu)造Toeplitz 矩陣,并進行Hash運算的保密增強算法實現(xiàn)。矩陣構(gòu)造使用的隨機數(shù)由Alice 端產(chǎn)生,并使用諸如HMAC_SM3 之類的算法進行完整性認(rèn)證后,通過經(jīng)典網(wǎng)絡(luò)信道給Bob 端。
4.1.4 量子密鑰一致性比對數(shù)據(jù)認(rèn)證
量子密鑰在經(jīng)過保密增強模塊運算輸出后,需要對結(jié)果進行一致性比對。比對采用HMAC 方式對量子密鑰進行數(shù)據(jù)認(rèn)證。
流程中使用的認(rèn)證密鑰均只在本次QKD 流程中有效,當(dāng)系統(tǒng)正常停止或因某些異常問題停止時,保持的認(rèn)證密鑰均需要進行清除處理,在下一次正常工作啟動前繼續(xù)由預(yù)置密鑰提供認(rèn)證密鑰。
QKD 協(xié)議不能抵抗中間人攻擊,因此后處理過程中需要利用身份認(rèn)證技術(shù)確保通信雙方的合法性。量子身份認(rèn)證主要有共享信息類型[8-9]和共享糾纏態(tài)類型[10]兩種。前者通信雙方通過預(yù)先共享的比特串來證明合法實體的身份,后者通過通信雙方共享糾纏態(tài)粒子達到身份認(rèn)證的目的。
4.2.1 共享信息類型認(rèn)證方案
通信雙方(Alice 和Bob)預(yù)先共享一串比特串作為共享認(rèn)證密鑰,并利用共享認(rèn)證密鑰來證明Alice 和Bob 的身份。此共享認(rèn)證密鑰由兩部分密鑰構(gòu)成,一部分為Alice 向Bob 證明自己的密鑰,另一部分為Bob 向Alice 證明自己的密鑰。
該方案實現(xiàn)步驟如圖3 所示。通過該方案可以驗證Alice 的身份,同理也可以驗證Bob 的身份。待通信雙方身份都完成驗證之后,Alice 和Bob 按照密鑰分發(fā)協(xié)議分發(fā)新的身份認(rèn)證密鑰,即每次身份認(rèn)證完畢后都更新認(rèn)證密鑰,確保認(rèn)證密鑰只使用一次,以保證認(rèn)證的絕對安全性。
圖3 共享信息類型認(rèn)證流程
4.2.2 共享糾纏態(tài)類型認(rèn)證方案
共享糾纏態(tài)類型認(rèn)證方案利用糾纏態(tài)性質(zhì)實現(xiàn)QKD 設(shè)備之間的身份認(rèn)證。由于量子態(tài)不可克隆定理的存在,該認(rèn)證方案生成的量子密鑰不會被攻擊者克隆和分發(fā)。而糾纏態(tài)性質(zhì)包含隱形傳態(tài)和糾纏交換等,利用量子隱形傳態(tài)可以實現(xiàn)無差錯的量子信道,利用糾纏交換和測量塌縮現(xiàn)象可以極大減少傳輸?shù)慕?jīng)典信息量。攻擊者對糾纏態(tài)的測量必然會引起糾纏態(tài)的塌縮,從而對QKD 設(shè)備的正常測量造成影響,最終導(dǎo)致攻擊者的竊聽行為被發(fā)現(xiàn)。共享糾纏態(tài)的實現(xiàn)需要先完成糾纏態(tài)粒子的安全分發(fā),這通常由可信第三方來完成。
加密可實現(xiàn)數(shù)據(jù)安全和隱私防護,防止敏感關(guān)鍵信息泄露。由于QKD 后處理協(xié)議中沒有明確進行協(xié)議幀數(shù)據(jù)加密的規(guī)定,QKD 設(shè)備廠商的后處理協(xié)議實現(xiàn)通常就沒有對協(xié)議幀數(shù)據(jù)進行加密,從而造成攻擊者對QKD 設(shè)備通信過程進行監(jiān)聽時,可以很容易實現(xiàn)對后處理協(xié)議幀數(shù)據(jù)的竊取、分析和處理,破壞協(xié)議數(shù)據(jù)的機密性。
由于QKD 設(shè)備之間是端到端通信,因此可以采用端到端加密保護后處理協(xié)議幀數(shù)據(jù)的隱私和安全。端對端數(shù)據(jù)加密保證數(shù)據(jù)以密文形式從發(fā)送端發(fā)送到接收端的傳遞過程中,不再做加解密處理,接收端接收密文之后再進行解密。
針對QKD 后處理協(xié)議數(shù)據(jù)幀,可以對表1 中幀長度+交互數(shù)據(jù)以及幀校驗字段進行加密,協(xié)議幀接收方根據(jù)幀頭、幀尾判定該協(xié)議報文為QKD后處理協(xié)議數(shù)據(jù)幀,并根據(jù)通信雙方預(yù)制/協(xié)商的密鑰對加密字段進行解密,從而獲取QKD 后處理協(xié)議數(shù)據(jù)幀信息。
表1 QKD 后處理協(xié)議數(shù)據(jù)幀加密示例
通過對QKD 后處理協(xié)議規(guī)范、QKD 后處理流程等各方面的安全分析,可以發(fā)現(xiàn)QKD 系統(tǒng),特別是其經(jīng)典部分,存在一定的安全風(fēng)險。本文從信息安全要素出發(fā),提出了針對QKD 后處理的安全解決方案,即通過對QKD 后處理協(xié)議原理及實現(xiàn)方面的脆弱性分析,提出了相應(yīng)的攻擊驗證方法,并通過設(shè)計和實現(xiàn)彌補脆弱的安全機制來增強協(xié)議的安全性,從而解決實際系統(tǒng)中QKD 后處理協(xié)議面臨的安全威脅,最終實現(xiàn)QKD 系統(tǒng)的安全。