龔澤洋



摘要:物聯網具有巨大的應用前景,以發展成為國家戰略,其信息的隱私性,是物聯網安全的重要問題。數字簽名可以用來確認消息發送者,一般附在消息之后,傳統的技術需要在了解消息內容后再進行簽名,不利于保護隱私消息,盲簽名雖然不需要了解消息內容進行簽名,卻存在簽名濫用的風險,因此提出部分盲簽名。本文提出一種高效的部分盲簽名,該算法計算參數少、復雜度低、簽名效率高。
關鍵詞:物聯網;隱私;部分盲簽名
中圖分類號:D9文獻標識碼:Adoi:10.19311/j.cnki.16723198.2020.25.055
0引言
物聯網作為新一代信息技術的代表,被認為是繼計算機、互聯網之后世界信息產業發展的第三次浪潮和革命,具有巨大的市場規模和廣闊的行業應用前景,受到政府、學術界和工業界的高度重視,已經成為當前的前沿熱點研究領域。十一屆人大第三次會議的政府工作報告中,物聯網上升到國家戰略層面。物聯網的核心是物與物之間信息的交互,如何保證信息隱私性,是物聯網安全重要問題。
密碼學中常用的如RSA、DSA等的數字簽名技術,將簽名附在消息后面,用來確認消息的發送者。常用的數字簽名需要在了解消息的內容后進行簽名,然而在一些如傳輸用戶人民幣金額、位置信息等隱私場景下,并不希望簽名者了解消息傳輸的內容。因此,衍生了盲簽名算法,簽名者不需要獲取消息也可以簽名,該方法可能會造成簽名的濫用,為解決該問題,Majhi提出了基于身份的代理部分盲簽名算法,ZENG Li出了穩健無證書的部分盲簽名,王鑫提出了基于雙線性對方向的簽名方案,何俊杰提出了可證明安全的方案。這些簽名可以避免簽名的濫用,然而,在簽名過程中,簽名者和用戶之間的交互頻繁,計算復雜度較高,用時較長。
因此,本文提出了輕量級的部分盲簽名算法,該算法減少了簽名者與消息的交互次數,降低了計算的復雜度,提高了簽名的效率。
1物聯網架構
物聯網指通過射頻識別、傳感器等技術和裝置,將各種需要接入的物體接入網絡,實現萬物互聯。物聯網自1998年提出至今,技術日臻成熟,在智能交通、智能家居、公共安全等方方,有效推動了該領域的智能化發展。消息觸達是物聯網有效運轉的支撐,物聯網的架構對于各種物體接入網絡并有效工作具體重要作用,物聯網架構是對物聯網基礎技術進行規范的頂層設計之一,物聯網大體分為三個層次:感知層、傳輸層、應用層,如圖1所示。
感知層:是物聯網的支撐層,為其他層提供數據、智能識別及控制。主要包括感知和網關兩部分,感知部分包括各種傳感器等感知設備,網關包括數據與傳輸層之間的傳感網。
傳輸層:接收感知層數據,為數據提供網絡支撐。包括有線寬帶、互聯網等,是物聯網的核心。
應用層:面向用戶的應用,含智能家居、移動支付等。
物聯網的各個層,采集傳輸分析數據,進而服務于用戶,這其中包含的隱私信息,如銀行卡、身份證,若數據出現缺失、泄露、不可控等問題,將會對用戶造成極大損失,尤其是私人信息被非法使用,造成物聯網中充斥虛假信息,這些虛假會干擾用戶的決策及判斷,因此,需要對隱私消息進行保護以及確認信息的來源。
2部分盲簽名
盲簽名指的是,在消息內容被簽名之前,簽名者不需要知道消息內容,因此它可以保護消息的隱秘性。由于盲簽名的這種性質,存在簽名亂用風險,需要對該算法進行控制,因此提出部分盲簽名。
3部分盲簽名算法及其證明
3.1部分盲簽名算法
部分盲簽名無需了解簽名內容,可避免簽名的濫用,從而達到消息可控的目的。常見的算法有AF算法、zss算法、CHY算法等,然而這些簽名算法的計算復雜度較高,不利于簽名的快速生成。本文提出部分盲簽名算法,在保證簽名的隱私性及可控性的前提下,降低復雜度,提高簽名效率。
該算法主要分為三部分:生成密鑰、生成簽名、安全驗證。生成密鑰根據用戶身份來生成密鑰;生成簽名主要是使用hash函數、公共消息info、待簽消息msg來生成簽名;安全驗證為驗證簽名正確性,以確認消息的發送方。
3.1.1密鑰生成
KGC(私鑰生成器)是一個可信任的第三方,可以生成簽名者的公私鑰對。簽名者將自己的身份信息id={0,1}發送給KGC,KGC對簽名者的身份信息進行認證,認證通過后,KGC選取P作為q階加法群G1的生成元,KGC生成三個無碰撞的hash函數:H1:{0,1}*∈G1、H2:G1∈Zq*和H3:{0,1}*∈Zq*。用于在簽名生成的環節使用,隨機選取s∈Zq*,作為系統主密鑰,計算Ppub=sP,簽名者計算Qid=H1(id),Sid=sQid,簽名者計算e(Sid,P) = e(Qid,Ppub),e為構造雙線性對,若等式成立,則Sid為私鑰,Qid為公鑰,將公私鑰對發給簽名者。
3.1.2生成簽名
msg是將要簽名的消息,info為簽名者需要了解到的部分消息,簽名過程的每個環節如下。
(1)初始化。
簽名者選取參數r∈Zq*,計算W=rH3(info)Qid,并將W發送給用戶。
(2)盲化。
用戶接到W后,隨機選擇t∈Zq*,計算Z=W+tp,h=H2(msg,info,Z),將h傳給簽名者。
(3)簽名。
簽名者接收到到h后,計算m=rH3(info)hSid,將m發送給用戶。
(4)去盲。
用戶接收到m后,計算V=thPs+m,并將消息V作為對消息的簽名。
本文提出的算法具有較小的計算開銷,簽名者與用戶交互次數少,減少了計算負擔。算法交互過程如圖2所示。
3.1.3簽名驗證
驗證者收到消息msg、部分消息info、盲簽名V及簽名者id,驗證e(V,P)=e(HZ,Ppub),若等式成立,則接受V為簽名,否則拒絕簽名。
3.2安全性證明
依據本文提出的算法,從該算法的正確性、盲性進行證明。
(2)部分盲性證明。
定理2:本文提出的部分盲簽名算法滿足部分盲性。
證明:本文提出到的部分盲簽名算法在簽名過程中留下某些信息,如一些中間量,如W、Z、t等,計算以下等式。
4性能測試
本文主要比較信息交互次數及計算復雜度,對比CHY,Yang及本文的算法,其中P為雙線性運算,M表示群加法、E表示群乘法、H表示hash,我們比較了簽名者與用戶交互的計算量,用時數據對算法平均運行100次后取平均得到,獲得如下對比數據。
通過上表的數據分析,我們提出的算法的交互參數較少、復雜度較低、耗時較少,算法在一定程度上提升了簽名算法的效率,降低了簽名計算過程中的復雜性。
5總結
物聯網中有海量信息,不乏大量的隱私信息,消息的隱私保護成為亟待解決的問題。數字簽名技術用來確定消息的發送者,從而保護消息的完整性和不可否認性。一般情況下,簽名者了解簽名消息后生成簽名,如RSA簽名算法。盲簽名是簽名者了解部分消息后進行的簽名,盲簽名應用在對簽名消息敏感的場景中,如現金交易、身份信息等。然而,盲簽名的這種特性,可能會導致簽名亂用,無法保證消息的可控性,因此提出了部分盲簽名算法。
由于提出的部分盲簽名算法計算復雜度較高,本文提出的輕量部分盲簽名算法,該算法使用參數少,參數計算簡單。與其他算法進行比較,本算法復雜度低,簽名的效率高,在一定程度上可以滿足物聯網大量消息實時簽名的需求。
參考文獻
[1]Majhi B,Sahu D K,Subudhi R N.An Efficient ID Based Proxy Signature,Proxy Blind Signature and Proxy Partial Blind Signature[C]//International Conference on Information Technology.IEEE Computer Society,2008.
[2]ZENG Li,LI Xu-dong,School of Science,et al.A Robust Certificateless Partial Blind Signature[J].Modern Computer,2019.
[3]Wei-Xia M,Zhi-Hui L I.New multi-proxy blind signature scheme[J].Computer Engineering and Applications,2010.
[4]Wen X,Chen Y,Fang J.An inter-bank E-payment protocol based on quantum proxy blind signature[J].Quantum Information Processing,2013,12(1).
[5]Li S,Xu L D,Zhao S.The internet of things:a survey[J].Information Systems Frontiers,2015,17(2):243259.
[6]燕婷婷.部分盲簽名研究及其在移動群體感知信譽管理系統中的應用[D].西安:西安電子科技大學,2014.