摘要: 目前的民航信息系統(tǒng)必須獲取機(jī)票和旅客明文信息,才能進(jìn)行出行驗(yàn)證,存在很高的旅客隱私信息泄露風(fēng)險(xiǎn)。針對(duì)此問題,提出一種基于區(qū)塊鏈的民航旅客隱私信息保護(hù)方案。首先利用網(wǎng)絡(luò)身份標(biāo)識(shí)和數(shù)字證書技術(shù)實(shí)現(xiàn)區(qū)塊鏈賬戶的實(shí)名制注冊(cè),確保信息的真實(shí)性;其次采用零知識(shí)證明和環(huán)簽名疊加構(gòu)造安全的信息認(rèn)證協(xié)議,實(shí)現(xiàn)旅客隱私信息完全匿名驗(yàn)證,確保真實(shí)信息匿名可驗(yàn)證性;進(jìn)一步對(duì)存儲(chǔ)在區(qū)塊鏈上的敏感信息利用K-匿名技術(shù)脫敏,加強(qiáng)信息的安全存儲(chǔ)。實(shí)驗(yàn)結(jié)果和性能分析表明,該方案能夠提供安全有效的民航旅客隱私信息保護(hù),且必要的信息驗(yàn)證總耗時(shí)滿足效率需求。
關(guān)鍵詞: 民航旅客信息; 隱私信息保護(hù); 區(qū)塊鏈; 零知識(shí)證明; K-匿名技術(shù)
中圖分類號(hào): TP39
文獻(xiàn)標(biāo)志碼: A
文章編號(hào): 1671-6841(2025)02-0069-09
DOI: 10.13705/j.issn.1671-6841.2023037
Civil Aviation Passenger Privacy Information Protection Scheme
Based on Blockchain
LI Wenxuan, CAO Weidong
(School of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
Abstract: The ticket and passenger plaintext information for travel verification in the current civil aviation information system had to be obtained, which posed a high risk of passenger privacy information leakage. To address this problem, a blockchain-based solution for protecting the privacy information of civil aviation passengers was proposed. Firstly, the real-name registration of blockchain accounts was achieved by utilizing network identity and digital certificate technology to ensure the authenticity of information. Secondly, a secure information authentication protocol was constructed using zero-knowledge proof and ring signature overlay to enable the completely anonymous verification of passenger privacy information and ensure the anonymous verifiability of real information. Furthermore, K-anonymity technology was employed to desensitize sensitive information stored on the blockchain, thereby enhancing the security of information storage. Experimental results and performance analysis showed that the scheme could provide secure and effective protection of civil aviation passenger privacy information, and the efficiency requirements regarding the necessary total time spent on information verification were met.
Key words: civil aviation passenger information; privacy information protection; blockchain; zero knowledge proof; K-anonymous technology
0 引言
個(gè)人信息安全是互聯(lián)網(wǎng)時(shí)代背景下的一個(gè)難點(diǎn)問題。民航旅客個(gè)人隱私信息主要有明文使用的旅客信息,即旅客在登機(jī)前進(jìn)行信息驗(yàn)證時(shí),需要出示本人的姓名、證件號(hào)碼、所乘航班等個(gè)人敏感信息來證明自己的身份。在整個(gè)驗(yàn)證過程中,直接使用明文形式存儲(chǔ)、傳輸與驗(yàn)證;旅客信息容易泄露,隨著航空出行人數(shù)的不斷增加,旅客個(gè)人信息不斷完善,商業(yè)利用價(jià)值顯著飆升,而航空公司收集的旅客信息又缺乏專門的數(shù)據(jù)安全保護(hù)措施,容易導(dǎo)致黑客竊取、企業(yè)員工非法泄露。事實(shí)上,旅客基本信息的泄露事件也常有發(fā)生[1]。因此,對(duì)于民航旅客個(gè)人隱私信息的保護(hù)迫在眉睫。
為了規(guī)制由民航信息系統(tǒng)引發(fā)的一系列隱私信息安全問題,2020年中國民用航空局發(fā)布《民用航空旅客服務(wù)信息系統(tǒng)信息安全保護(hù)規(guī)范》,其中明確規(guī)定運(yùn)營者應(yīng)制定安全策略和采取技術(shù)手段,確保旅客信息在使用、傳輸和存儲(chǔ)各個(gè)階段的安全性,防止信息泄露。在民航旅客隱私保護(hù)方面,文獻(xiàn)[2]實(shí)現(xiàn)了保留民航信息系統(tǒng)數(shù)據(jù)的格式,支持在不解密數(shù)據(jù)的條件下實(shí)現(xiàn)對(duì)數(shù)據(jù)的統(tǒng)計(jì)分析。文獻(xiàn)[3]采用泛化FPE加密方式對(duì)民航旅客敏感信息進(jìn)行實(shí)時(shí)脫敏,在保留旅客信息原始格式特征的基礎(chǔ)上,確保旅客信息安全。文獻(xiàn)[4]實(shí)現(xiàn)了在民航數(shù)據(jù)保護(hù)隱私的同時(shí)最大程度提高數(shù)據(jù)的可用性。目前有關(guān)旅客隱私信息保護(hù)的研究文獻(xiàn)僅關(guān)注了旅客信息使用和存儲(chǔ)階段的安全性。但保護(hù)旅客在預(yù)訂機(jī)票、值機(jī)、安檢和登機(jī)各個(gè)階段信息傳輸和認(rèn)證安全方面的研究匱乏。
區(qū)塊鏈[5-6]技術(shù)具有去中心化、數(shù)據(jù)公開透明、防篡改等特點(diǎn),可以消除對(duì)傳統(tǒng)信息驗(yàn)證系統(tǒng)的依賴。區(qū)塊鏈中的智能合約[7-8]用于確保信息在驗(yàn)證過程中的自動(dòng)化和透明度。而零知識(shí)證明[9-12]又能確保使用密文信息實(shí)現(xiàn)匿名認(rèn)證。因此區(qū)塊鏈和零知識(shí)證明技術(shù)在保護(hù)隱私信息方面具有諸多獨(dú)特的優(yōu)勢(shì)。Li等提出了一種基于zk-SNARK的隱私信息保護(hù)模型,該模型利用乘客拼車信息生成零知識(shí)證明并進(jìn)行匿名認(rèn)證,但未對(duì)個(gè)人的身份信息進(jìn)行核實(shí),無法確保個(gè)人信息的真實(shí)性[13]。Gabay等介紹了一種基于ZoKrates和區(qū)塊鏈的電動(dòng)汽車匿名充電的隱私保護(hù)模型。車主利用擁有多項(xiàng)式的解生成零知識(shí)證明來證明其身份的真實(shí)性,有助于保護(hù)車主的身份信息和車輛信息等隱私[14]。但多項(xiàng)式存在暴力破解的問題,且未考慮零知識(shí)證明驗(yàn)證后信息存儲(chǔ)的安全性。在此基礎(chǔ)上,Xu等提出的電動(dòng)汽車匿名充電的系統(tǒng)中,利用環(huán)簽名技術(shù)增強(qiáng)信息認(rèn)證時(shí)的匿名性,K-匿名技術(shù)確保汽車匿名認(rèn)證后信息存儲(chǔ)的安全性。同時(shí)利用身份信息注冊(cè)以獲取數(shù)字證書,來證明自身的合法身份,以確保信息真實(shí)性。但仍使用明文信息進(jìn)行注冊(cè),存在信息泄露風(fēng)險(xiǎn)[15]。
本文嘗試將網(wǎng)絡(luò)電子身份標(biāo)識(shí)、區(qū)塊鏈以及零知識(shí)證明技術(shù)相結(jié)合,并應(yīng)用于民航客運(yùn)服務(wù)場(chǎng)景。主要工作如下。
1) 提出了一種基于區(qū)塊鏈的旅客隱私信息保護(hù)方案,該方案通過區(qū)塊鏈技術(shù)消除旅客對(duì)第三方驗(yàn)證系統(tǒng)的依賴,使用智能合約將旅客隱私信息驗(yàn)證過程自動(dòng)化和透明化。
2) 采用網(wǎng)絡(luò)電子身份標(biāo)識(shí)、零知識(shí)證明、環(huán)簽名和K-匿名等隱私保護(hù)技術(shù)來保證方案中旅客信息的匿名性和可驗(yàn)證性。
3) 通過實(shí)驗(yàn)和安全性分析驗(yàn)證了該方案的有效性和可行性。
1 預(yù)備知識(shí)
1.1 區(qū)塊鏈和智能合約
現(xiàn)如今大部分信息驗(yàn)證采用的是第三方的集中式架構(gòu),去中心化應(yīng)用[16-17]利用區(qū)塊鏈消除了中心化的第三方依賴。區(qū)塊鏈和智能合約是去中心化應(yīng)用的基礎(chǔ)。區(qū)塊鏈?zhǔn)怯蓞^(qū)塊頭和區(qū)塊體共同組成的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。區(qū)塊頭包括版本號(hào)、目標(biāo)難度、時(shí)間戳、Merkle Root、前一個(gè)區(qū)塊的哈希值和隨機(jī)數(shù)。區(qū)塊體則記錄了所有的交易數(shù)據(jù),每筆交易數(shù)據(jù)都有唯一的哈希值,區(qū)塊頭中的Merkle Root是由每筆交易數(shù)據(jù)的哈希值計(jì)算而來,這樣任何一筆交易數(shù)據(jù)的更改都會(huì)影響Merkle Root。因此構(gòu)成了區(qū)塊鏈不可篡改的數(shù)據(jù)結(jié)構(gòu),保證了數(shù)據(jù)的完整性和安全性。智能合約是一種旨在以信息化傳播、驗(yàn)證或執(zhí)行合約的計(jì)算機(jī)協(xié)議,是由去中心化應(yīng)用事件來觸發(fā)的。智能合約的開發(fā)是用來實(shí)現(xiàn)區(qū)塊鏈與去中心化應(yīng)用之間的交互。
1.2 隱私保護(hù)技術(shù)
非交互零知識(shí)證明涉及的對(duì)象稱為證明方和驗(yàn)證方。在整個(gè)證明過程中,給定某個(gè)NP問題(稱為語言M),證明方擁有屬于M的實(shí)例t及其證據(jù)w。證明方需要向驗(yàn)證方證明t∈M且不泄露除此之外的任何信息。本文所使用的非交互式零知識(shí)證明算法簡(jiǎn)要描述如下。
1) Setup():定義零知識(shí)證明語言M;
2) CRSGen(M):以零知識(shí)證明語言M為輸入,輸出公共參考串crs;
3) Compile(crs):以公共參考串crs為輸入,輸出公、私鑰對(duì)(PKC,SKC);
4) Prove(SKC, t, w):以證明生成密鑰SKC、實(shí)例-證據(jù)對(duì)(t,w) ∈M為輸入,輸出proof=Prove(SKC t, w);
5) Verify(PKC, t, proof):以證明驗(yàn)證密鑰PKC、t、proof為輸入,若通過驗(yàn)證,輸出為1,反之則輸出為0。
非對(duì)稱加密能夠保證信息傳輸時(shí)的安全性。本文的非對(duì)稱加密算法簡(jiǎn)要描述如下。
1) Enc(PK,m):消息加密方以消息接收方公鑰PK、消息m為輸入,生成密文c= Enc(PK,m);
2) Dec(SK,c):消息接收方以自身私鑰SK與密文c為輸入,若SK與加密時(shí)使用的PK對(duì)應(yīng)為同一對(duì)公密鑰對(duì),輸出消息m,反之則輸出不可讀消息。
環(huán)簽名[18-19]的執(zhí)行只需要少量秘密信息及其他環(huán)成員公鑰便可以構(gòu)成一個(gè)環(huán),實(shí)行簽名操作?;驹硎?,簽名者為環(huán)成員的公鑰產(chǎn)生一些隨機(jī)數(shù),通過自己的私鑰即可生成一個(gè)可驗(yàn)證的環(huán)簽名。簽名者將自己的信息混在多個(gè)環(huán)成員中,驗(yàn)證者只知道是這些成員中的一個(gè),卻不知道具體是誰。
K-匿名技術(shù)[20-21]保護(hù)了旅客隱私信息和個(gè)人身份之間的關(guān)系,這種方法保證了在一組K個(gè)相似元素中,目標(biāo)與其他K-1個(gè)元素不可區(qū)分。因此,在該方案中使用K-匿名技術(shù)來保護(hù)旅客的乘機(jī)信息。
1.3 匿名度
信息熵表示系統(tǒng)的復(fù)雜程度,本文引入信息熵用于衡量系統(tǒng)的匿名度[22],
H(X)=-∑ni=1pilog2(pi),(1)
其中:X為方案中的某次航班旅客的匿名機(jī)票信息集合;H(X)代表它的信息熵;pi是在應(yīng)用K-匿名技術(shù)的機(jī)票信息中得到第i個(gè)旅客機(jī)票信息的可能性;n為旅客機(jī)票信息數(shù)量。
當(dāng)匿名信息組中每條機(jī)票信息被發(fā)現(xiàn)的概率相同時(shí),即pi=1/n時(shí),該匿名信息組的信息熵值達(dá)到最大,
HM=-∑ni=1(1n×log21n)。(2)
因此,基于信息熵的概念,將該方案的匿名度d定義為
d=1-HM-H(X)HM=H(X)HM,(3)
其中:d表示系統(tǒng)匿名模型的匿名化級(jí)別[23]。如果匿名集合中的個(gè)體以p=1的概率被識(shí)別,則匿名度達(dá)到最小值d=0;如果所有個(gè)體被識(shí)別的概率相同,即p=1/n,則匿名度達(dá)到最大值d=1。
2 基于區(qū)塊鏈的民航旅客隱私信息保護(hù)方案
2.1 方案概述
本文所提出的基于區(qū)塊鏈的民航旅客隱私信息保護(hù)方案旨在保護(hù)旅客從購票到登機(jī)過程中的隱私信息。方案包括:基于D-PKI的賬戶實(shí)名制注冊(cè)、機(jī)票零知識(shí)證明和環(huán)簽名的生成與驗(yàn)證、機(jī)票信息的加密、驗(yàn)證和存儲(chǔ)三個(gè)部分。在該方案中參與的角色包括:證書簽發(fā)機(jī)構(gòu)、記賬節(jié)點(diǎn)、旅客、航空公司、機(jī)場(chǎng)。
1) 證書簽發(fā)機(jī)構(gòu):可信任第三方,負(fù)責(zé)成員身份管理。在方案初始化前,聯(lián)盟鏈各成員節(jié)點(diǎn)從證書簽發(fā)機(jī)構(gòu)獲得自身的數(shù)字證書。
2) 記賬節(jié)點(diǎn):聯(lián)盟鏈中預(yù)先選定的多個(gè)節(jié)點(diǎn),負(fù)責(zé)記錄旅客的一系列交易信息并通過安全共識(shí)算法形成公開賬本。
3) 旅客:參與聯(lián)盟鏈中交易的節(jié)點(diǎn),主要包括證明驗(yàn)證和令牌驗(yàn)證。該節(jié)點(diǎn)產(chǎn)生的交易會(huì)提交給記賬節(jié)點(diǎn),不參與記賬行為和區(qū)塊生成。
4) 航空公司:該節(jié)點(diǎn)主要在該方案中發(fā)布機(jī)票信息和發(fā)送加密機(jī)票信息給旅客。
5) 機(jī)場(chǎng):該節(jié)點(diǎn)主要通過令牌是否能夠成功驗(yàn)證來判斷旅客是否能夠值機(jī)、安檢和登機(jī)。同時(shí)在登機(jī)環(huán)節(jié)會(huì)在鏈下驗(yàn)證旅客的機(jī)票信息是否與當(dāng)前登機(jī)口所對(duì)應(yīng)的航班信息一致。其中表1為該方案中所使用的字符及其含義。圖1為旅客利用該方案進(jìn)行匿名認(rèn)證登機(jī)的流程。
2.2 基于D-PKI的賬戶實(shí)名制注冊(cè)
基于D-PKI的賬戶實(shí)名制注冊(cè)的主要功能是旅客、航空公司和機(jī)場(chǎng)通過證書簽發(fā)機(jī)構(gòu)即分布式公鑰基礎(chǔ)設(shè)施[24](distributed public key infrastructure,D-PKI)進(jìn)行身份注冊(cè),流程如圖2所示。證書簽發(fā)機(jī)構(gòu)由客戶端和區(qū)塊鏈網(wǎng)絡(luò)中的RA節(jié)點(diǎn)和CA節(jié)點(diǎn)組成,其中RA節(jié)點(diǎn)是確保證書的有效性和證書正確注冊(cè)的注冊(cè)機(jī)構(gòu),RA節(jié)點(diǎn)作為D-PKI與外界交互的通道,負(fù)責(zé)接收證書的請(qǐng)求并對(duì)發(fā)送請(qǐng)求的旅客進(jìn)行身份驗(yàn)證,驗(yàn)證的方式包括但不限于線下認(rèn)證。CA節(jié)點(diǎn)是頒發(fā)證書的實(shí)體之一,多個(gè)CA節(jié)點(diǎn)協(xié)同對(duì)證書內(nèi)容進(jìn)行簽名,他們共同充當(dāng)信任的第三方,主要負(fù)責(zé)生成旅客的數(shù)字證書、驗(yàn)證數(shù)字證書的有效性和保存未公開的數(shù)字證書。RA和CA節(jié)點(diǎn)的數(shù)量是不定且動(dòng)態(tài)可擴(kuò)展的。以旅客身份注冊(cè)為例,旅客需要將身份信息eID、公鑰PKE和賬戶地址Address提交給證書簽發(fā)機(jī)構(gòu),證書簽發(fā)機(jī)構(gòu)通過各種方式(包括但不限于線下認(rèn)證)來驗(yàn)證旅客eID的合法性。記賬節(jié)點(diǎn)投票生成數(shù)字證書SignPKE(PKI),其中包含旅客區(qū)塊鏈賬戶地址Address、證書有效時(shí)間、旅客身份信息eID、旅客公鑰PKE和證書簽發(fā)機(jī)構(gòu)的數(shù)字簽名。旅客獲取數(shù)字證書確保公鑰PKE的合法性和有效性,從而幫助航空公司以密文的形式將機(jī)票信息發(fā)送給旅客。
2.3 機(jī)票零知識(shí)證明和環(huán)簽名的生成與驗(yàn)證
機(jī)票零知識(shí)證明和環(huán)簽名的生成與驗(yàn)證由3個(gè)算法組成:初始化算法、生成機(jī)票零知識(shí)證明和環(huán)簽名算法、驗(yàn)證環(huán)簽名和機(jī)票零知識(shí)證明算法。該環(huán)節(jié)的安全目標(biāo)是幫助旅客在值機(jī)環(huán)節(jié)不用出示機(jī)票信息明文,通過機(jī)票零知識(shí)證明來證明自身乘機(jī)人的身份。當(dāng)旅客通過驗(yàn)證后會(huì)發(fā)送給旅客一個(gè)機(jī)票令牌用于后續(xù)的操作。
算法1 初始化
輸入: 一系列安全參數(shù)。
輸出: 零知識(shí)證明語言M、(PKC,SKC)。
1) 規(guī)定零知識(shí)證明語言M,
M={(tickethash)(E1,E2,E3,E4,E5)
s.t. hash(E1,E2,E3,E4,E5) = tickethash},
借助證據(jù)w=(E1,E2,E3,E4,E5),為實(shí)例t=(tickethash)生成證明,記為proof。
2) 通過CRSGen(M)生成公共參考串crs。
3) 通過Compile(crs)生成公、私鑰對(duì)(PKC,SKC)。
4) 規(guī)定函數(shù)Cl,y(y1,y2,…,yn)=v,
Cl,y(y1,y2,…,yn)=El(ynEl(yn-1)(…y2El(y1El)))=v。
旅客購買機(jī)票成功后,航空公司將旅客機(jī)票信息中的航班號(hào)、座位號(hào)、起落時(shí)間、起落城市、登機(jī)口信息通過Unicode編碼為十六進(jìn)制字符串,并轉(zhuǎn)化為整數(shù)形式分別為(E1,E2,E3,E4,E5),然后生成機(jī)票信息哈希值tickethash,tickethash=hash (E1,E2,E3,E4,E5)。
算法2 生成機(jī)票零知識(shí)證明和環(huán)簽名
輸入: SKC;TicketPKE;tickethash;(PKE,SKE)。
輸出: proof。
1) 旅客使用SKE解密TicketPKE獲得機(jī)票信息info,包括航班號(hào)e1、座位號(hào)e2、起落時(shí)間e3、起落城市e4、登機(jī)口e5,info= Dec (SKE,TicketPKE)=(e1, e2, e3, e4, e5)。
2) 將旅客機(jī)票信息(e1, e2, e3, e4, e5),先用Unicode編碼為十六進(jìn)制字符串,并轉(zhuǎn)為整數(shù)形式(E1,E2,E3,E4,E5),利用證據(jù)w=(E1,E2,E3,E4,E5),通過零知識(shí)證明的生成算法Prove(SKC, t, w),計(jì)算關(guān)于實(shí)例t=(tickethash)∈M的證明proof,用于其他節(jié)點(diǎn)使用非交互零知識(shí)證明的驗(yàn)證算法對(duì)機(jī)票信息的所有權(quán)進(jìn)行驗(yàn)證。
3) 使用SHA256函數(shù)計(jì)算對(duì)稱密鑰l,l=SHA256(proof)。
4) 隨機(jī)選擇一個(gè)數(shù)字v。
5) 隨機(jī)選擇n-1個(gè)值(x2,x3,…,xn),計(jì)算得到(y2,y3,…,yn),yi=Enc(PKE-i,xi), i=2,3,4,…,n。
6) 利用函數(shù)Cl,y(y1,y2,…,yn)=v,求解y1的值。
7) 求解得到x1,x1=Dec(SKE-1, y1)。
8) 獲得環(huán)簽名E(PKE-1, PKE-2,…, PKE-n,v, x1,x2,…,xn)。
算法3 驗(yàn)證環(huán)簽名和機(jī)票零知識(shí)證明
輸入: 環(huán)簽名E(PKE-1, PKE-2,…, PKE-n,v, x1,x2,…,xn);(PKE-1, PKE-2,…, PKE-n);proof;PKC。
輸出: 安檢令牌TC-S或0。
1) 計(jì)算(y1,y2,…,yn),其中yi = Enc(PKE-i,xi), i=1,2,3,…,n。
2) 使用SHA256函數(shù)計(jì)算對(duì)稱密鑰l,l=SHA256(proof)。
3) 驗(yàn)證Cl,y(y1,y2,…,yn)=v的正確性,如果為1,就批準(zhǔn)驗(yàn)證,否則退回。
4) 通過零知識(shí)證明的驗(yàn)證算法Verify(PKC, t, proof)驗(yàn)證旅客對(duì)機(jī)票信息的所有權(quán)。若輸出為0,則表示該驗(yàn)證無效;若輸出為1,則表示該驗(yàn)證有效且正確,然后發(fā)送給旅客安檢令牌TC-S。
由于區(qū)塊鏈?zhǔn)侨ブ行幕头植际降?,所以不需要第三方來?yàn)證。因此,該方案可以有效地防止惡意欺詐和數(shù)據(jù)篡改,以解決安全問題。
2.4 機(jī)票信息的加密、驗(yàn)證與存儲(chǔ)
旅客在安檢時(shí)需要利用機(jī)票信息加密算法,其目的為核實(shí)旅客的登機(jī)信息是否準(zhǔn)確。機(jī)票信息加密算法利用Merkle Tree的思想將旅客機(jī)票信息中航班號(hào)、日期、起落時(shí)間和登機(jī)口等信息作為Mrekle Tree的葉子節(jié)點(diǎn),計(jì)算哈希值。在得到若干個(gè)哈希值以后,葉子節(jié)點(diǎn)的哈希值兩兩哈希運(yùn)算求哈希值。如此循環(huán),直到得到根哈希值merkle_root即λ。然后將merkle_root和安檢令牌TC-S一同發(fā)送給區(qū)塊鏈,驗(yàn)證通過后旅客會(huì)收到登機(jī)令牌TS-B,記賬節(jié)點(diǎn)會(huì)將λ和旅客區(qū)塊鏈賬戶Address一同存到區(qū)塊鏈網(wǎng)絡(luò)。
旅客在登機(jī)口登機(jī)時(shí),需要驗(yàn)證旅客的登機(jī)令牌TS-B、機(jī)票信息和身份信息,如圖3所示。
旅客乘機(jī)結(jié)束后,會(huì)收到乘機(jī)信息,確認(rèn)后進(jìn)行簽名。乘機(jī)信息會(huì)記錄在區(qū)塊鏈,以驗(yàn)證旅客乘機(jī)的真實(shí)性。
為了防止攻擊者在鏈上通過乘機(jī)信息記錄獲取旅客的身份信息。航空公司需要以航班為單位,利用K-匿名技術(shù)將航班上所有旅客的eID信息全部替換為相同的一個(gè)虛假eID信息,此時(shí)該航班的所有旅客eID信息為一個(gè)相同的虛假身份信息,從而確保信息的安全性。由于旅客本地存有自身乘機(jī)的明文機(jī)票信息,因此他們可以識(shí)別其乘機(jī)記錄,但沒有其他人可以推斷出自身乘機(jī)信息的細(xì)節(jié)。
在表2和表3中顯示了部分旅客乘坐飛機(jī)的信息。在表2中旅客的信息是完全暴露的,攻擊者可以很容易獲得旅客乘機(jī)信息。但是在表3中,由于使用了K-匿名技術(shù),攻擊者很難獲取旅客的真實(shí)乘機(jī)信息,此時(shí)表3采用的是5-匿名技術(shù)。
3 方案分析
3.1 匿名性分析
旅客利用網(wǎng)絡(luò)身份標(biāo)識(shí)通過D-PKI生成數(shù)字證書保證了其區(qū)塊鏈賬戶的合法性。在旅客進(jìn)行身份信息驗(yàn)證時(shí)僅需要通過eID即可核實(shí)合法身份。而旅客需要驗(yàn)證乘機(jī)信息時(shí),只需要向智能合約提交機(jī)票零知識(shí)證明,智能合約可以在不需要任何隱私信息的情況下進(jìn)行驗(yàn)證。最后,由于K-匿名技術(shù)的性質(zhì),惡意攻擊者找到旅客真實(shí)乘機(jī)信息的概率只有1/k。因此旅客可以在不暴露身份信息和行程信息的情況下順利登機(jī)。
接下來,將評(píng)估方案的匿名程度,為此,將公式(3)變換為
d=H(x)HM=-∑ni=1(pi×log2(pi))-∑ni=1(1n×log21n)=
-∑ni=1(pi×log2(pi))log2(n)。(4)
本文中計(jì)算該方案的匿名程度方法如下。根據(jù)2017年首都國際機(jī)場(chǎng)的航班數(shù)據(jù)分析,平均每架航班大概有125名旅客,所以會(huì)有125個(gè)虛假數(shù)據(jù)來保護(hù)旅客的隱私信息,此時(shí)該信息組的匿名度為
d=H(x)HM=-∑125i=11125×log21125log2125=1。(5)
如果攻擊者基于表2中的敏感數(shù)據(jù)找到了一位旅客的真實(shí)購票信息,此時(shí)攻擊者將會(huì)以p=1/124的概率識(shí)別其他旅客的購票信息。圖4描繪了匿名度和旅客信息泄露比例之間的關(guān)系。當(dāng)旅客的信息完全泄露時(shí),匿名度也會(huì)降為0。
3.2 真實(shí)性分析
除了匿名性,該方案還保證了真實(shí)性。在該方案中,旅客必須向D-PKI注冊(cè)以獲得數(shù)字證書,這保證了旅客賬戶的真實(shí)性。對(duì)于零知識(shí)證明而言,攻擊者無法偽造能夠通過Prove(SKC, t, w)生成proof的證據(jù)w,且無法使該消息通過Verify(PKC, t, proof)的驗(yàn)證,這保證了旅客機(jī)票信息的真實(shí)性。同時(shí),該方案還在證明上使用了環(huán)簽名技術(shù)來防止零知識(shí)證明被竊取或篡改。由于攻擊者無法獲取旅客簽名者的私鑰,因此攻擊者無法冒充簽名者的身份計(jì)算得到x1=Dec(SKE-1, y1)來偽造驗(yàn)證消息E(PKE-1, PKE-2,…, PKE-n,v, x1,x2,…,xn),進(jìn)而不能使該消息滿足等式Cl,y(y1,y2,…,yn)=v。因此環(huán)簽名可以通過保證用戶的匿名性來驗(yàn)證消息的真實(shí)性。
旅客在乘機(jī)結(jié)束后,會(huì)收到航空公司的乘機(jī)記錄,確認(rèn)無誤后,旅客進(jìn)行簽字,同樣航空公司也必須進(jìn)行簽字并存儲(chǔ)在區(qū)塊鏈上,以驗(yàn)證旅客乘機(jī)的真實(shí)性。
3.3 性能分析
3.3.1 實(shí)驗(yàn)環(huán)境描述
本節(jié)評(píng)估基于區(qū)塊鏈和零知識(shí)證明的旅客隱私信息驗(yàn)證方案的性能。底層區(qū)塊鏈采用以太坊區(qū)塊鏈,部署3臺(tái)裝有以太坊官方推薦的geth客戶端的Linux服務(wù)器作為區(qū)塊鏈的節(jié)點(diǎn),配置了3個(gè)節(jié)點(diǎn)的創(chuàng)世塊文件和geth啟動(dòng)配置文件,使3個(gè)節(jié)點(diǎn)達(dá)成共識(shí),形成仿真的聯(lián)盟鏈環(huán)境。使用ZoKrates實(shí)現(xiàn)零知識(shí)證明,使用remix部署智能合約,每次合約調(diào)用的時(shí)間約為2 s。由于測(cè)試網(wǎng)絡(luò)節(jié)點(diǎn)較少,因此挖礦難度低、出塊時(shí)間快。在實(shí)際應(yīng)用中,隨著節(jié)點(diǎn)數(shù)量增加,如果出塊挖礦難度低,將會(huì)導(dǎo)致同時(shí)出塊的交易過多,造成阻塞。此外,實(shí)際應(yīng)用中還應(yīng)考慮挖礦難度、Gas價(jià)格和網(wǎng)絡(luò)阻塞程度。
3.3.2 性能分析
為了測(cè)試該方案的性能,本文使用docker容器分別模擬3個(gè)、4個(gè)、5個(gè)客戶端節(jié)點(diǎn),然后向區(qū)塊鏈發(fā)送驗(yàn)證請(qǐng)求。從圖5可以看出,該方案隨著測(cè)試時(shí)間的增加,確認(rèn)交易的數(shù)量也持續(xù)增加,穩(wěn)定保持在100 TPS以上。
同時(shí)本文模擬了旅客信息驗(yàn)證過程,主要為三個(gè)階段:機(jī)票證明驗(yàn)證階段、機(jī)票令牌驗(yàn)證階段和登機(jī)令牌驗(yàn)證階段,分別對(duì)應(yīng)基于D-PKI的賬戶實(shí)名制注冊(cè)、機(jī)票零知識(shí)證明和環(huán)簽名的生成與驗(yàn)證和機(jī)票信息的加密、驗(yàn)證和存儲(chǔ)。利用每一階段的時(shí)間節(jié)點(diǎn)測(cè)算時(shí)間差,分別經(jīng)過30、60、90輪測(cè)試,記錄各個(gè)環(huán)節(jié)的平均時(shí)間開銷,如表4所示。
可見旅客在整個(gè)隱私驗(yàn)證過程所消耗的時(shí)間大約為13.1 s。而當(dāng)信息驗(yàn)證的次數(shù)越來越多時(shí),各個(gè)階段的時(shí)間開銷基本不變,因此本方案的時(shí)間效率較好。在表4中將本方案與傳統(tǒng)信息驗(yàn)證平臺(tái)進(jìn)行了對(duì)比,主要包括用戶匿名性和信息驗(yàn)證時(shí)間。其中傳統(tǒng)方案信息驗(yàn)證時(shí)間主要為旅客采用紙質(zhì)機(jī)票在值機(jī)、安檢和登機(jī)環(huán)節(jié)的總耗時(shí),并不包括旅客排隊(duì)等待時(shí)間。
該方案部署在區(qū)塊鏈全網(wǎng)節(jié)點(diǎn)上,解決了傳統(tǒng)信息驗(yàn)證平臺(tái)依賴于第三方中心信息機(jī)構(gòu)的弊端;同時(shí)利用零知識(shí)證明技術(shù)和網(wǎng)絡(luò)身份標(biāo)識(shí)確保旅客隱私信息的匿名性和可驗(yàn)證性;與傳統(tǒng)方案相比,本文的信息驗(yàn)證時(shí)間約為13.1 s,以犧牲時(shí)間來換取隱私信息的安全性,滿足旅客的出行隱私安全性需求。
4 結(jié)束語
本文提出了一種基于區(qū)塊鏈的民航旅客隱私信息保護(hù)方案。該方案利用區(qū)塊鏈的去中心化特點(diǎn)消除了信息驗(yàn)證對(duì)第三方機(jī)構(gòu)的依賴,同時(shí)使用智能合約確保驗(yàn)證流程公開透明。在信息匿名驗(yàn)證方面,利用D-PKI發(fā)布的數(shù)字證書來證明旅客區(qū)塊鏈賬戶實(shí)名制注冊(cè);結(jié)合零知識(shí)證明、環(huán)簽名和K-匿名技術(shù)實(shí)現(xiàn)了旅客行程信息驗(yàn)證和存儲(chǔ)的匿名化。實(shí)驗(yàn)結(jié)果表明,整個(gè)方案在保證時(shí)間效率和系統(tǒng)匿名度的前提下,能夠有效解決民航旅客隱私信息泄露的問題,但旅客仍需要13.1 s進(jìn)行信息驗(yàn)證,可能會(huì)導(dǎo)致降低旅客的出行體驗(yàn)。后續(xù)工作將在區(qū)塊鏈技術(shù)的基礎(chǔ)上,進(jìn)一步優(yōu)化信息驗(yàn)證流程,滿足旅客出行時(shí)間的效率需求。
參考文獻(xiàn):
[1] 劉光才, 靳璐. 民航旅客個(gè)人信息保護(hù)的法律規(guī)制研究[J]. 北京航空航天大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版), 2020, 33(1):122-128.
LIU G C, JIN L. Law regulation of civil aviation passengers' personal information protection[J]. Journal of Beijing university of aeronautics and astronautics (social sciences edition), 2020, 33(1):122-128.
[2] 劉俊, 李澤昊, 蘇國宇, 等. 保留格式加密技術(shù)在民航信息系統(tǒng)數(shù)據(jù)處理中的應(yīng)用研究[J]. 計(jì)算機(jī)科學(xué), 2019, 46(S1):571-576.
LIU J, LI Z H, SU G Y, et al. Application of reserved format encryption technology in information processing of civil aviation information system[J]. Computer science, 2019, 46(S1):571-576.
[3] 丁建立, 陳盼, 馬勇. 基于泛化FPE加密的民航旅客信息動(dòng)態(tài)脫敏方法研究[J]. 信息網(wǎng)絡(luò)安全, 2021(2):45-52.
DING J L, CHEN P, MA Y. Research on dynamic desensitization method of civil aviation passenger information based on generalized FPE encryption[J]. Netinfo security, 2021(2):45-52.
[4] 丁建立, 杜天天. 基于聚類的差分隱私民航旅客數(shù)據(jù)發(fā)布算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2022, 43(3): 608-615.
DING J L, DU T T. Differential privacy civil aviation passenger data release algorithm based on clustering[J]. Computer engineering and design, 2022, 43(3):608-615.
[5] KAUR M, KHAN M Z, GUPTA S, et al. Adoption of blockchain with 5G networks for industrial IoT: recent advances, challenges, and potential solutions[J]. IEEE access, 2021, 10: 981-997.
[6] 劉煒, 彭宇飛, 田釗, 等. 基于區(qū)塊鏈的醫(yī)療信息隱私保護(hù)研究綜述[J]. 鄭州大學(xué)學(xué)報(bào)(理學(xué)版), 2021, 53(2):1-18.
LIU W, PENG Y F, TIAN Z, et al. A survey on medical information privacy protection based on blockchain[J]. Journal of Zhengzhou university (natural science edition), 2021, 53(2):1-18.
[7] 歐陽麗煒, 王帥, 袁勇, 等. 智能合約: 架構(gòu)及進(jìn)展[J]. 自動(dòng)化學(xué)報(bào), 2019, 45(3): 445-457.
OUYANG L W, WANG S, YUAN Y, et al. Smart contracts: architecture and research progresses[J]. Acta automatica sinica, 2019, 45(3): 445-457.
[8] WANG S, OUYANG L W, YUAN Y, et al. Blockchain-enabled smart contracts: architecture, applications, and future trends[J]. IEEE transactions on systems, man, and cybernetics: systems, 2019, 49(11): 2266-2277.
[9] GOLDREICH O, OREN Y. Definitions and properties of zero-knowledge proof systems[J]. Journal of cryptology, 1994, 7(1): 1-32.
[10]LI Q N, XUE Z H. A privacy-protecting authorization system based on blockchain and zk-SNARK[C]∥Proceedings of the 2020 International Conference on Cyberspace Innovation of Advanced Technologies. New York: ACM Press, 2020: 439-444.
[11]EBERHARDT J, TAI S. ZoKrates-scalable privacy-preserving off-chain computations[C]∥IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). Piscataway: IEEE Press, 2019: 1084-1091.
[12]SUN X Q, YU F R, ZHANG P, et al. A survey on zero-knowledge proof in blockchain[J]. IEEE network, 2021, 35(4): 198-205.
[13]LI W X, MEESE C, GUO H, et al. Blockchain-enabled identity verification for safe ridesharing leveraging zero-knowledge proof[C]∥The 3rd International Conference on Hot Information-centric Networking. Piscataway: IEEE Press, 2021: 18-24.
[14]GABAY D, AKKAYA K, CEBE M. A privacy framework for charging connected electric vehicles using blockchain and zero knowledge proofs[C]∥IEEE 44th LCN Symposium on Emerging Topics in Networking. Piscataway: IEEE Press, 2020: 66-73.
[15]XU S Y, CHEN X, HE Y H. EVchain: an anonymous blockchain-based system for charging-connected electric vehicles[J]. Tsinghua science and technology, 2021, 26(6): 845-856.
[16]蔡維德, 郁蓮, 王榮, 等. 基于區(qū)塊鏈的應(yīng)用系統(tǒng)開發(fā)方法研究[J]. 軟件學(xué)報(bào), 2017, 28(6): 1474-1487.
TSAI W T, YU L, WANG R L, et al. Blockchain application development techniques[J]. Journal of software, 2017, 28(6): 1474-1487.
[17]ZHANG J Y, ZHONG S Q, WANG J, et al. A review on blockchain-based systems and applications[C]∥International Conference on Internet of Vehicles. Cham: Springer International Publishing, 2020: 237-249.
[18]張文芳, 熊丹, 王小敏, 等. 基于RSA公鑰密碼體制的可選擇可轉(zhuǎn)換關(guān)聯(lián)環(huán)簽名[J]. 計(jì)算機(jī)學(xué)報(bào), 2017, 40(5): 1168-1180.
ZHANG W F, XIONG D, WANG X M, et al. Selectively linkable and convertible ring signature based on RSA public key cryptosystem[J]. Chinese journal of computers, 2017, 40(5): 1168-1180.
[19]甘錦, 馮勇, 李英娜, 等. 結(jié)合區(qū)塊鏈和群簽名的車輛隱私匿名保護(hù)方案[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2021, 42(10): 2184-2189.
GAN J, FENG Y, LI Y N, et al. Vehicle privacy and anonymity protection scheme combining blockchain and group signatures[J]. Journal of Chinese computer systems, 2021, 42(10): 2184-2189.
[20]SWEENEY L. K-anonymity: a model for protecting privacy[J]. International journal of uncertainty, fuzziness and knowledge-based systems, 2002, 10(5): 557-570.
[21]MACHANAVAJJHALA A, GEHRKE J, KIFER D, et al. L-diversity: privacy beyond k-anonymity[C]∥The 22nd International Conference on Data Engineering. Piscataway: IEEE Press, 2006: 24.
[22]DAZ C, SEYS S, CLAESSENS J, et al. Towards measuring anonymity[M]∥Privacy Enhancing Technologies. Berlin: Springer Press, 2003: 54-68.
[23]REITER M K, RUBIN A D. Crowds[J]. ACM transactions on information and system security, 1998, 1(1): 66-92.
[24]袁和昕, 劉百祥, 闞海斌, 等. 基于區(qū)塊鏈和去中心不可否認(rèn)屬性簽名的分布式公鑰基礎(chǔ)設(shè)施方案[J]. 中國科學(xué)(信息科學(xué)), 2022, 52(6): 1135-1148.
YUAN H X, LIU B X, KAN H B, et al. Distributed public key infrastructure scheme based on blockchain and decentralized undeniable attribute-based signature[J]. Scientia sinica (informationis), 2022, 52(6): 1135-1148.