秦體紅 汪宗斌 張 宇 劉 洋
(北京信安世紀科技股份有限公司 北京 100052)(qintihong@infosec.com.cn)
物聯(lián)網(Internet of things,IoT)是通信網和互聯(lián)網的網絡延伸和應用拓展,是新一代信息技術的高度集成和綜合運用,可利用感知技術與智能裝置對物理世界進行感知識別,通過網絡傳輸互聯(lián)進行計算、處理和知識挖掘,實現(xiàn)人與物、物與物的信息交互和無縫鏈接,以達到對物理世界實時控制、精確管理和科學決策的目的[1].
隨著IoT技術的發(fā)展,深刻改變了傳統(tǒng)產業(yè)形態(tài)和社會生活方式,催生了大量新產品、新服務和新模式.與此同時,泛在化、海量接入、網絡復雜和業(yè)務繁多等特性,使得物聯(lián)網面臨著錯綜復雜的安全風險.當前,基于物聯(lián)網的攻擊成為現(xiàn)實,針對物聯(lián)網用戶隱私、基礎網絡環(huán)境的安全事件頻發(fā).安全問題已經成為阻礙物聯(lián)網健康快速發(fā)展的主要困難之一.
物聯(lián)網有著海量的終端節(jié)點,給所有節(jié)點頒發(fā)證書及管理帶來巨大的開銷.此外,一些終端節(jié)點的計算存儲資源有限,部署證書困難,傳統(tǒng)的PKI機制難以適應物聯(lián)網應用場景[2].因此,需要構建輕量級證書管理機制,實現(xiàn)物聯(lián)網應用中的高效認證和安全傳輸.在資源受限的物聯(lián)網應用場景中,提供安全高效的隱式證書認證服務對于提高物聯(lián)網認證效率、優(yōu)化物聯(lián)網安全服務具有重要意義.
數字證書服務以公鑰密碼基礎設施為核心支撐,通過獨立、公正的CA機構向各類用戶發(fā)放數字證書,保障各類用戶身份的可認證性,已成為目前網絡信息安全認證領域中的主流技術.數字證書服務主要包含證書申請、更新、變更、解鎖和撤銷等相關內容,作為一種身份認證技術的基礎,能夠在不安全的網絡環(huán)境下提供身份認證與鑒別,在網絡通信、互聯(lián)網和云服務等各個領域中廣泛應用.
傳統(tǒng)的數字證書由用戶向RA申請,證書認證中心CA頒發(fā),數字證書包含用戶的公鑰和用戶的身份信息,然后認證中心CA用自己的私鑰對用戶證書信息作數字簽名.數字證書頒發(fā)具體過程如下:用戶首先向RA申請,并產生自己的簽名密鑰對(加密密鑰對一般由密鑰管理中心產生),并將其公鑰及部分個人身份信息經安全信道發(fā)送給CA.認證中心在核實用戶身份后認證中心將發(fā)給用戶一個數字證書,該證書內包含用戶的個人信息和公鑰信息,同時還附有認證中心的簽名信息.而隱式證書相對于傳統(tǒng)的證書有很多優(yōu)勢,首先,隱式證書大小比傳統(tǒng)的證書要小很多,ECQV隱式證書大小僅僅117 B[3],傳統(tǒng)的RSA2048的證書大小約2 KB,基于ECC(SM2/ECDSA)的證書大小約1 KB;其次隱式證書不需要像傳統(tǒng)公鑰證書那樣通過CA的數字簽名對其認證,隱式證書通過隱式簽名的方式,重構用戶的公鑰,在協(xié)議交互過程中進行認證,比傳統(tǒng)的證書認證效率高.因此,在物聯(lián)網、智能家居等資源受限制的應用場景中隱式證書比傳統(tǒng)證書有很大的優(yōu)勢.
公鑰基礎設施(PKI)廣泛存在于各種用于集中證書管理和密鑰分發(fā)的網絡化系統(tǒng)中.由于經濟和技術2方面的原因,IoT采用PKI的速度較慢.相反,嵌入式系統(tǒng)通常依賴于預共享密鑰(PSK),當這些系統(tǒng)連接到互聯(lián)網并成為全球尋址時就會出現(xiàn)問題.密鑰必須在部署之前安裝,由于集中式資源必須與每個設備共享1個密鑰以進行通信,單個服務器的泄露可能會使整個網絡處于危險之中.此外,許多基本的安全保證,如來源證明、訪問控制、不可否認和身份驗證,在PSK系統(tǒng)中根本不可能實現(xiàn).
但是PKI技術在物聯(lián)網領域的可伸縮性、互操作性、假名重用策略和撤銷機制以及性能方面也存在某些局限性.主要體現(xiàn)在以下方面:
1) 隱私和信任.雖然不同PKI授權機構在技術上存在差異性,但尚未明確定義誰將操作身份和提供憑證,以及如何建立信任關系.不排除1個組織可以操作多個權威機構.一些安全漏洞有可能嚴重削弱技術隱私保護措施,因為它們轉移了對信任的關注.文獻[4]指出,影響認證機構的串通或安全事件變得越來越頻繁,因此PKI體系結構的存在本身并不能保證對等體之間建立信任,需要額外的措施來加強可擴展的信任網絡.
2) 可伸縮性.IoT通信的效率及其可擴展性是考慮到所使用的大規(guī)模的多域設備環(huán)境的重要因素.例如,在車聯(lián)網應用場景中可伸縮性問題出現(xiàn)在幾個不同的環(huán)境中,節(jié)點的數量對網絡連接和無線信道擁塞的可能性有影響.此外,協(xié)議設計對可伸縮性有很大影響.最關鍵的瓶頸是帶寬限制,例如,在車輛網中由于采用CSMA/CA介質接入方案的共享無線信道和遠程節(jié)點之間的多跳通信,有限的帶寬因信道利用率低而進一步降低.在稀疏VANET中,必須通過智能“存儲轉發(fā)”算法克服低連通性,而在密集的網絡場景中控制網絡負載是可操作性的最重要挑戰(zhàn).通過媒體發(fā)送的消息數量受到車輛的數量以及部署在這些車輛中的應用程序的影響.可伸縮性的另一個重要方面是非對稱算法的性能.文獻[5]總結了數字簽名性能,1輛車能夠每秒執(zhí)行大約1 000次驗證.另一方面,對強大隱私保障的需求導致了更加復雜的PKI,其中有許多實體,使其難以伸縮.
3) 節(jié)點的撤銷.文獻[6-7]研究表明,在從網絡中移除行為不誠實的節(jié)點的撤銷策略中,只有當使用的假名方案支持從其假名中解析參與者的長期身份時,才能實現(xiàn)這一點.在這種情況下,長期證書撤銷的信息通過CRLs或其他方式傳播給其他參與者,這不利于保護隱私[8].總的來說,上述幾個PKI機制可以解決假名證書撤銷的問題,但是對保護用戶隱私的情況下進行證書撤銷目前尚未有統(tǒng)一的標準.這是因為在漏洞和成本之間存在權衡,特別是與證書吊銷列表的大小有關.
隱式證書機制[9]由三方組成:證書請求者user、認證中心CA和證書處理者V.證書請求者向CA發(fā)起證書請求,CA確認身份后響應請求者,發(fā)送隱式證書給證書請求者,重構自己的公私鑰,證書處理者獲取用戶的公鑰.
OMC隱式證書[10]機制包含以下幾個步驟:
1) setup.建立系統(tǒng)參數(ECC參數)、哈希函數以及隨機數發(fā)生器和證書編碼格式.
2) Cert Request.用戶Bob向CA發(fā)送證書請求:隨機生成r∈(0,n),R=[r]G.通過安全的信道發(fā)送R,IDBob.
3) Cert Generate.CA接收用戶的請求,并根據用戶身份生成用戶的隱式證書certBob,CA生成隨機數k∈(0,n),P=R+[k]G,s=k+H(P,I)c,CA的私鑰是c,公鑰是C.發(fā)送cert=encode(P,IDBob,*).
4) Cert PK Extraction.接收到CA的隱式證書,用戶計算出公/私鑰:b=rh+smodn,B=P+H(P,I)C.
5) Cert Reception.驗證公鑰的有效性,B?=[b]G.
實現(xiàn)方式如圖1所示:
圖1 OMC隱式證書機制
ECQV隱式證書機制[9]包含以下幾個步驟:
1) setup.建立系統(tǒng)參數(ECC參數)、哈希函數以及隨機數發(fā)生器和證書編碼格式.
2) Cert Request.用戶Bob向CA發(fā)送證書請求:隨機生成r∈(0,n),R=[r]G.通過安全的信道發(fā)送R,IDBob.
3) Cert Generate.CA接收用戶的請求,并根據用戶身份生成用戶的隱式證書certBob,CA生成隨機數k∈(0,n),P=R+[k]G,s=c+H(P,I)k,c是CA的私鑰,發(fā)送cert=encode(P,IDBob,*).
4) Cert PK Extraction.接收到CA的隱式證書,用戶計算出公私鑰:b=s+H(P,I)rmodn,B=C+H(P,I)P.
5) Cert Reception.驗證公鑰的有效性,B?=[b]G.
實現(xiàn)方式如圖2所示:
圖2 ECQV隱式證書機制
與傳統(tǒng)證書(RSA,ECDSA)相比,ECQV隱式證書具有以下優(yōu)點:
1) 證書較小.因為ECQV隱式證書不包含簽名數據.從表1可以看出,ECQV隱式證書的大小要比ECDSA和RSA小很多.
表1 不同類型證書大小比較[11]
2) 簽名更快.隱式證書比顯式證書簽名速度快,其派生公鑰比驗證數字簽名快[11](數字簽名在顯式證書中是必需的).此外,在協(xié)議操作過程中還可以合并一些計算.使用隱式證書時對簽名沒有顯式檢查;所有驗證都是作為證書使用的一部分執(zhí)行的.
隨著物聯(lián)網業(yè)務的不斷發(fā)展,適用于物聯(lián)網的認證協(xié)議是保證物聯(lián)網安全必不可少的環(huán)節(jié).由于物聯(lián)網有海量的終端節(jié)點,給所有節(jié)點頒發(fā)證書并進行管理帶來巨大的開銷.此外,一些終端節(jié)點的計算存儲資源有限,部署證書困難,因此傳統(tǒng)的PKI機制難以滿足物聯(lián)網應用需求,急需輕量化的PKI/CA技術.隱式證書機制對比傳統(tǒng)顯式證書在證書大小、證書管理以及計算性能方面有著顯著的優(yōu)勢.因此,基于商密SM2算法的隱式證書機制可以有效解決上述問題.
4.1.1 隱式證書機制密鑰生成過程
1) 用戶的臨時私鑰為b∈[1,n-1],對應的臨時公鑰為B=[b]G;
2) CA的私鑰為c∈[1,n-1],對應的公鑰為C=[c]G.
4.1.2 基于SM2算法隱式證書機制
1) 首先檢查entlb,a,b,Gx,Gy是否為字符串,如果不是則按SM2中數據類型轉換方法轉換為字符串,并仍然記為entlb,a,b,Gx,Gy,計算Zb=H(entlb,a,b,Gx,Gy);
2) CA任取隨機數k∈[1,n-1],按SM2中數據類型轉換方法將k轉換為字符串,并仍記為k;
3) 計算hk=H(Zb‖B‖k),按SM2中數據類型轉換方法將hk轉換為有限域GF(q)中的元素,仍記為hk;
4) 計算Y=B+[hk]G=(x1,y1);
5) 令h=H(Y‖C‖I),其中I=IDb‖TimeCA‖Timebegin‖Timeend,即用戶的身份IDb、證書發(fā)布時間TimeCA、該證書可用的起始時間Timebegin、該證書可用的失效時間Timeend;
6) 按SM2中數據類型轉換方法將e和y1轉換為整數,仍記為e和y1,計算r=(h+y1) modn,s=(r·hk+c) modn;
7) CA按SM2中數據類型轉換方法將s和Y轉換為整數,仍記為s和Y,并將s,Y和I發(fā)送給用戶.
即用戶的隱式證書cert由I和Y組成.
綜上所述,用戶公鑰Q=[r]Y+C,可以計算出用戶的私鑰d=rb+smodn.通過計算[d]G=[r]Y+C是否成立來驗證公鑰的合法性.因為:
[d]G=[rb+s]G=[rb]G+[s]G=
[r]B+[r·hk]G+C=[r]Y+C.
在隨機預言機模型下,隱式機制的安全性也等價于ECDLP問題.假設合法的用戶分別是Bob1,Bob2,…,Bobn,CA分別表示為CA1,CA2,…,CAj,其公鑰為Cj,且每個合法的用戶均復制了CA的公鑰,用戶Bobi向CAj發(fā)送隱式證書的請求表示為(Ri,j),CA收到請求響應為(Pi,Ii,si).隱式證書機制的安全模型如圖3所示:
圖3 隱式證書安全模型示意圖
定義敵手的攻擊模型[10]如下:
定義1.隱式證書機制的攻擊敵手A(τ,ε)是PPT,其在時間至少為τ任意次與合法用戶和CA間交互以下操作:
1) 接收到Bobi向CAj發(fā)送隱式證書的請求(Ri,j);
敵手A至少以概率ε輸出(P,I,b),使得b是用戶的重構公鑰對應的私鑰,且滿足:
1) (P,I)不是CAk響應的部分,或
2) (P,I)包含在Bobi向CAk發(fā)送隱式證書的請求(Ri,j)的響應部分之中.
如果敵手A(τ,ε)攻擊成功,那么在多項式時間τ內其概率ε是不可忽略的.
定理1.隱式證書機制的安全性等價于ECDLP問題.
證明. 在上述攻擊模型下,假設敵手Bob向A發(fā)送請求(R,I),
R=rG,r∈(0,n).
敵手A接收請求(R,I),并偽造請求(R′,I′)發(fā)送給CA或者偽造CA的響應(P,I,s),假設偽造后的響應為(P′,I′,s′):
P′=R′+kG,k∈(0,n),
s′=c′+H(P′,I′)kmodn.
敵手A發(fā)送響應(P′,I′,s′)給用戶,然后用戶計算自己的重構公鑰及對應的私鑰:
b′=s′+H(P′,I′)rmodn,
B′=C+H(P′,I′)P′.
用戶驗證其重構公鑰的正確性:
b′G=(s′+H(P′,I′)r)=
(c′+H(P′,I′)k+H(P′,I′)r)G=
c′G+H(P′,I′)P′.
如果敵手A攻擊成功,則有
b′G=B′,
即敵手需要求解c′G=C,而求解ECDLP是困難的,故ECQV機制的安全性等價于ECDLP問題.
對于物聯(lián)網而言,建立身份至關重要,但是隨著物聯(lián)網的發(fā)展,其從數以億計的設備發(fā)展到數以千億設備,找到一種規(guī)?;矸葑R別的方法將是一個越來越大的挑戰(zhàn),這也是當今亟待解決的一個問題.此外,一些終端節(jié)點的計算存儲資源有限,部署證書困難,傳統(tǒng)的PKI機制難以適應物聯(lián)網應用場景.以車聯(lián)網為例,車聯(lián)網作為物聯(lián)網技術在交通領域的典型應用場景,車聯(lián)網的高隨機性、高動態(tài)性的特點,對認證機制要求具有低時延、高可靠的特性.當前車聯(lián)網證書管理系統(tǒng)放棄了X.509證書格式,使用短證書進行消息簽名驗簽,采用高頻率、隨機變換的簽名方法,實行密鑰衍生批量發(fā)放、車端緩存的證書管理機制.
PKI廣泛存在于各種用于集中證書管理和密鑰分發(fā)的網絡化系統(tǒng)中.由于經濟和技術2方面的原因,物聯(lián)網采用PKI的速度較慢.相反,嵌入式系統(tǒng)通常依賴于預共享密鑰(PSK),當這些系統(tǒng)連接到互聯(lián)網并成為全球尋址時就會出現(xiàn)問題.密鑰必須在部署之前安裝,由于集中式資源必須與每個設備共享1個密鑰以進行通信,單個服務器的泄露可能會使整個網絡處于危險之中.此外,許多基本的安全保證,如來源證明、訪問控制、不可否認和身份驗證,在PSK系統(tǒng)中根本不可能實現(xiàn).
1) 參與IoT的節(jié)點其可信度評價及其不當行為檢測:評估一個節(jié)點的可信度是一個開放的問題,定義節(jié)點是否可信的標準是什么.
2) 撤銷過程和證書撤銷列表的管理和分發(fā):一旦發(fā)現(xiàn)不當行為,撤銷過程如何;在CRL中使用短壽命證書和證書更改策略還沒有明確的定義,對于鏈式證書頒發(fā)機構,證書驗證和證書撤銷的時間更長,有什么替代方案.
3) 安全、隱私和不可追溯性:從密鑰分發(fā)開始,它是誰的專屬;沒有提出密鑰大小、認證延遲和特定協(xié)議.為保證隱私而定期交換證書的方法還沒有定義.此外,對于不可追溯性和隱私性,還沒有采用更有效的方法來實現(xiàn)部分假名分布和buttertly密鑰.此外,使用移動IP或改變IP或MAC地址的設備,以防止追溯仍在研究中.
4) 跨域認證:對于車聯(lián)網而言,由于車輛的移動性不能受到地理上的限制,因此這些服務很可能會跨越多個管理域.在這種情況下,一個關鍵的挑戰(zhàn)是建立和管理實體之間的信任,從2個單一系統(tǒng)組件之間的雙邊交互開始,并隨著這些系統(tǒng)連接到更大的實體而繼續(xù)下去.但是,如何才能對單個系統(tǒng)的安全性和隱私屬性作出合理的陳述,并將其轉換為對系統(tǒng)分層組合的安全性屬性的陳述呢,因此,在服務和設備之間建立信任的迫切需要不能僅僅通過公共集中式解決方案(如PKI)來保護.
IoT PKI技術未來可能的發(fā)展方向:
1) GBA框架應用在V2X安全認證.3GPP[12]定義的通用引導架構(generic bootstrapping architecture, GBA)框架提供了一種基于移動通信網絡和用戶卡的通用認證和會話密鑰管理機制,可以為應用層業(yè)務提供完整的安全認證及應用層會話通道加密服務.因此如何將GBA框架應用在車聯(lián)網安全體系下是目前研究的熱點,車聯(lián)網安全管理系統(tǒng)通過引入GBA機制,可以在不需要根證書的情況下安全地進行多證書的安全導入,有助于建立證書間的互信機制,以解決隸屬于不同CA管理系統(tǒng)的節(jié)點間消息驗證及互通的問題.
2) 可信計算.可信計算體系架構以密碼體系為基礎、可信主板為平臺、可信軟件為核心、可信網絡連接為紐帶.使用可信計算技術以及直接匿名認證,將信任從后端基礎設施轉移到終端[7,13],從而簡化基礎設施模型,不需要一個專門的實體來承擔PKI這個角色.
在物聯(lián)網終端安全中構建統(tǒng)一的身份識別認證體系至關重要,以防未授權的設備接入物聯(lián)網中.目前,PKI體系可使得物聯(lián)網設備和使用者能夠彼此相互認證.但由于物聯(lián)網終端設備數量多、資源受限,傳統(tǒng)的PKI/CA技術無法滿足物聯(lián)網這種輕量級需求.相比傳統(tǒng)的證書體制,隱式證書作為一種新型的證書認證方式具有很多優(yōu)勢.
目前,車聯(lián)網是數字證書認證在物聯(lián)網中應用的主要場景.交通行業(yè)已經形成以V2X-SCMS-CA為中心的電子政務證書系統(tǒng),為每個智能交通設備頒發(fā)網絡身份證即數字證書,且在各類安全產品中采用我國自主可控的SM系列商用密碼算法.
隨著《中華人民共和國密碼法》在2019年正式發(fā)布,商用密碼在各個領域廣泛應用,物聯(lián)網領域密碼應用能力得到提升.但相對于互聯(lián)網和移動通信網安全而言,物聯(lián)網安全研究處于起步階段.由于物聯(lián)網本身特點使其研究難度增大.當前已有一些輕量級加密、認證算法,但是還沒有提出完整的適用于物聯(lián)網的整體安全方案.圍繞物聯(lián)網的行業(yè)應用和安全需求,應加強以密碼為核心的物聯(lián)網整體安全框架設計,在物聯(lián)網芯片、模組、設備、網絡和系統(tǒng)等多個層次推動密碼技術的融合,實現(xiàn)從物聯(lián)網感知層、網絡層到應用層的各層次密碼安全保障,以一體化、協(xié)同化、智能化物聯(lián)網安全理念,提升物聯(lián)網內生安全,確保物聯(lián)網安全可持續(xù)發(fā)展.