本發(fā)明涉及一種無(wú)人駕駛車車載信息交互系統(tǒng)及安全通信方法,針對(duì)無(wú)人駕駛車行駛意圖信息、路口控制信號(hào)和道路行車信息的安全交互,屬于無(wú)人駕駛機(jī)動(dòng)車自組網(wǎng)安全通信領(lǐng)域。
背景技術(shù):
:隨著國(guó)內(nèi)外無(wú)人駕駛技術(shù)的發(fā)展,城市道路中無(wú)人駕駛車的數(shù)量將會(huì)越來(lái)越多,無(wú)人駕駛車、有人駕駛車及其它類型車輛,共同在路面行駛的局面將會(huì)成為道路行車的一種常態(tài),即無(wú)人駕駛和有人駕駛車混合交通流。當(dāng)前,車輛在道路上行駛信息的交互,主要依靠路口信號(hào)燈、車輛燈光(包括行車燈、轉(zhuǎn)向燈、雙閃燈、遠(yuǎn)近光燈、前后霧燈、剎車燈等)及鳴笛聲,有人駕駛車駕駛員通過(guò)人的視覺和聲覺接收行駛信息并控制車輛行駛狀態(tài)。無(wú)人駕駛車通過(guò)激光雷達(dá)、車載視覺、定位導(dǎo)航、道路檢測(cè)等技術(shù)感知道路行車環(huán)境并控制車輛行駛狀態(tài)。如何協(xié)調(diào)統(tǒng)一兩種駕駛模式,使得無(wú)人駕駛車與有人駕駛車能夠準(zhǔn)確、直接地理解彼此間的行車意圖和路況信息,成為解決未來(lái)道路行車安全的關(guān)鍵問(wèn)題之一。例如:根據(jù)央視新聞?lì)l道在2015年10月1日關(guān)于《谷歌:事故多:錯(cuò)不在無(wú)人駕駛車》的報(bào)道中,谷歌無(wú)人駕駛車行駛6年160萬(wàn)里程中發(fā)生了16次交通事故,其中12次為后車追尾無(wú)人駕駛車,分析事故主要原因?yàn)椋汗雀锜o(wú)人駕駛車在檢測(cè)到潛在危險(xiǎn)時(shí)就下突然減速或停車,無(wú)人駕駛車、有人駕駛車的駕駛意圖不交互和路況信息沒有有效傳遞,直接或間接導(dǎo)致了行車事故。為了解決上述問(wèn)題,一方面需要在無(wú)人駕駛車人性化行車算法上改進(jìn),另一方面更需要一種信息安全的無(wú)人駕駛車車載信息交互系統(tǒng)傳遞無(wú)人駕駛車、有人駕駛車之間的行車意圖及路況信息,避免交通事故的發(fā)生。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是提供一種無(wú)人駕駛車車載信息交互系統(tǒng)及安全通信方法,能夠準(zhǔn)確、真實(shí)地傳遞車輛之間行駛意圖、車輛狀態(tài)、路口信號(hào)及道路事故擁堵等信息(例如:無(wú)人駕駛車計(jì)劃2秒后從60公里/小時(shí)加速到70公里/小時(shí);有人駕駛車計(jì)劃1秒后向左并線無(wú)人駕駛車,無(wú)人駕駛車請(qǐng)注意;無(wú)人駕駛車計(jì)劃1秒后以最大制動(dòng)力制動(dòng)停車,請(qǐng)后車同時(shí)制動(dòng);擁堵信息:當(dāng)前無(wú)人駕駛車在無(wú)故障、無(wú)紅燈的條件下以平均3公里/小時(shí)的速率行駛了20分鐘,車輛起停的次數(shù)為30次,此路段為擁堵路段,請(qǐng)后車注意繞行;前方第一個(gè)信號(hào)燈將在60秒后由綠燈變?yōu)辄S燈,黃燈持續(xù)4秒鐘),為道路行車提供一個(gè)信息安全的信息交互系統(tǒng),協(xié)調(diào)統(tǒng)一道路行車環(huán)境、無(wú)人駕駛車和有人駕駛車的行車意圖,降低交通事故發(fā)生概率。為解決上述技術(shù)問(wèn)題,提出一種無(wú)人駕駛車車載信息交互系統(tǒng),包括車載通信模塊、密碼服務(wù)模塊、信息處理模塊、接口模塊和應(yīng)用服務(wù)及交互信息呈現(xiàn)模塊;車載通信模塊用于車輛建立移動(dòng)自組網(wǎng)通信;與密碼服務(wù)模塊、信息處理模塊、應(yīng)用接口模塊及行車信息接口模塊相連接。密碼服務(wù)模塊為車輛移動(dòng)自組網(wǎng)安全通信提供密鑰管理和安全路由服務(wù);在發(fā)送信息之前和接收信息之后通過(guò)密碼服務(wù)模塊對(duì)交互信息進(jìn)行完整性、不可否認(rèn)性等密碼學(xué)處理,密碼服務(wù)模塊的輸出端連接到車載通信模塊的發(fā)送端,車載通信模塊的接收信息端連接到密碼服務(wù)模塊的輸入端。信息處理模塊為系統(tǒng)的信息處理中心,所有交互信息在信息處理模塊中綜合分析后,通過(guò)密碼服務(wù)模塊與車載通信模塊相連接。接口模塊分為應(yīng)用接口模塊和行車信息接口模塊,應(yīng)用服務(wù)模塊和交互信息呈現(xiàn)模塊通過(guò)應(yīng)用接口模塊與信息處理模塊連接;無(wú)人駕駛車道路環(huán)境感知模塊與自動(dòng)駕駛算法、行車執(zhí)行模塊通過(guò)行車信息接口模塊與信息處理模塊連接;有人駕駛車油門、制動(dòng)、轉(zhuǎn)向、聲光駕駛信息同步模塊通過(guò)系統(tǒng)的行車信息接口模塊與信息處理模塊連接。應(yīng)用服務(wù)及交互信息呈現(xiàn)模塊提供應(yīng)用服務(wù)程序,并通過(guò)應(yīng)用程序?qū)⒔换バ畔⒁詧D像、圖形及聲光的方式動(dòng)態(tài)呈現(xiàn)?;谝苿?dòng)自組網(wǎng)的交互信息安全通信方法,車輛安全通信是車輛移動(dòng)自組網(wǎng)在實(shí)際中是否可用的重要指標(biāo)之一?;谝苿?dòng)自組網(wǎng)的交互信息安全通信方法能夠滿足車輛兩個(gè)方面的安全通信需求,即通信協(xié)議的安全保護(hù)需求和用戶信息的隱私保護(hù)需求。通信協(xié)議的安全保護(hù)需求,主要指對(duì)網(wǎng)絡(luò)層路由協(xié)議的安全保護(hù),其需要滿足實(shí)體認(rèn)證、完整性驗(yàn)證和不可否認(rèn)性等安全需求。用戶信息的隱私保護(hù)需求體現(xiàn)在對(duì)用戶身份、位置信息的保護(hù)和可信第三方追蹤用戶真實(shí)身份的可歸責(zé)能力方面,一種無(wú)人駕駛車車載信息交互安全通信方法,包括以下步驟:步驟1:車輛加入或建立車輛移動(dòng)自組網(wǎng);步驟2:車輛通過(guò)移動(dòng)自組網(wǎng)接收其他車輛發(fā)送的行車交互信息;車輛通過(guò)本車傳感器采集行車環(huán)境信息,并將接收的行車交互信息與采集的行車環(huán)境信息利用XML形式格式化;步驟3:綜合分析計(jì)算接收的行車交互信息與采集的行車環(huán)境信息,計(jì)算出車輛行駛依賴的關(guān)鍵參數(shù)的值;步驟4:將車輛行駛依賴的關(guān)鍵參數(shù)值作為無(wú)人駕駛算法的輸入之一,傳遞給無(wú)人駕駛計(jì)算單元,如果此時(shí)為有人駕駛模式則將上述關(guān)鍵參數(shù)及圖形、聲光的方式動(dòng)態(tài)呈現(xiàn)個(gè)駕駛司機(jī);步驟5:從無(wú)人駕駛單元中接收無(wú)人駕駛決策信息;從有人駕駛模式的行車動(dòng)作傳感器中同步油門、制動(dòng)、轉(zhuǎn)向、聲光駕駛意圖信息;步驟6:行車意圖信息判決確認(rèn)并進(jìn)行電子信號(hào)轉(zhuǎn)換;步驟7:信息發(fā)送前進(jìn)行密鑰管理步驟及安全路由步驟;步驟8:通過(guò)車輛自組網(wǎng)發(fā)送行車交互信息。還包括:步驟1)、密鑰管理步驟,密鑰管理步驟包括五個(gè)步驟:建立步驟,節(jié)點(diǎn)種子預(yù)分配步驟,節(jié)點(diǎn)私鑰產(chǎn)生步驟,加密步驟,解密步驟;步驟2)、安全路由步驟,基于位置的安全路由步驟包括3部分步驟:系統(tǒng)建立步驟;一跳通信安全機(jī)制步驟;多跳通信安全機(jī)制步驟。本發(fā)明具有如下特點(diǎn):1、本發(fā)明針對(duì)無(wú)人駕駛車與有人駕駛車無(wú)法準(zhǔn)確、快速地理解彼此行車意圖的問(wèn)題,通過(guò)構(gòu)建車-車移動(dòng)自組網(wǎng)信息交互,實(shí)現(xiàn)了兩種駕駛模式的協(xié)調(diào)統(tǒng)一,使無(wú)人駕駛車、有人駕駛車兩者能夠彼此理解行車意圖。2、本發(fā)明針對(duì)無(wú)人駕駛車無(wú)法準(zhǔn)確預(yù)測(cè)道路路口信號(hào)變換的問(wèn)題,通過(guò)構(gòu)建車-路旁單元移動(dòng)自組網(wǎng)信息交互,實(shí)現(xiàn)了無(wú)人駕駛車對(duì)路口信號(hào)變換的準(zhǔn)確預(yù)知。3、本發(fā)明針對(duì)無(wú)人駕駛車只能通過(guò)自身環(huán)境傳感器直接感知小范圍路況信息的不足,通過(guò)構(gòu)建車-路旁單元-車移動(dòng)自組網(wǎng)信息交互,實(shí)現(xiàn)了無(wú)人駕駛車對(duì)道路整體路況信息(包括交通擁堵、事故和道路施工封閉信息)的預(yù)測(cè)。4、本發(fā)明通過(guò)移動(dòng)自組網(wǎng)實(shí)現(xiàn)車-路旁單元-車的信息交互,將路況信息和行車信息進(jìn)行動(dòng)態(tài)交互,實(shí)現(xiàn)了無(wú)人駕駛車與有人駕駛輛準(zhǔn)確、直接地理解彼此的行車意圖及路況信息;通過(guò)密鑰管理和安全路由協(xié)議有效阻止了惡意車輛對(duì)行車信息的篡改,滿足了車輛實(shí)體認(rèn)證、信息完整性驗(yàn)證和不可否認(rèn)性的安全需求。附圖說(shuō)明圖1是本發(fā)明車載信息交互的工作流程圖;圖2是本發(fā)明系統(tǒng)的原理圖;圖3是本發(fā)明車載通信模塊的組成圖;圖4是本發(fā)明密碼服務(wù)模塊的組成圖;圖5是本發(fā)明安全通信的密鑰管理圖;圖6是本發(fā)明車輛移動(dòng)自組網(wǎng)組網(wǎng)示意圖;圖7是本發(fā)明車輛節(jié)點(diǎn)安全路由協(xié)議。具體實(shí)施方式結(jié)合上述附圖對(duì)本發(fā)明的實(shí)施方式作進(jìn)一步詳細(xì)描述。本
技術(shù)領(lǐng)域:
技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線連接或耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的任一單元和全部組合。本
技術(shù)領(lǐng)域:
技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ))具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ)應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說(shuō)明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。實(shí)施例1:如圖1,本發(fā)明的實(shí)施首先提出了車載信息交互的工作流程,整體流程描述了從車輛加入或建立車輛移動(dòng)自組網(wǎng)后綜合計(jì)算出行車環(huán)境信息,并將行車環(huán)境信息作為無(wú)人駕駛車自動(dòng)駕駛單元或有人駕駛車駕駛員行車決策的重要參數(shù),輔助無(wú)人駕駛或有人駕駛;同時(shí)將自動(dòng)駕駛動(dòng)作決策信息或有人車駕駛員動(dòng)作意圖,通過(guò)車輛自組網(wǎng)安全地與其他車輛進(jìn)行動(dòng)態(tài)交互。一種無(wú)人駕駛車車載信息交互安全通信方法,含有以下步驟;步驟1:車輛加入或建立車輛移動(dòng)自組網(wǎng);步驟2:車輛通過(guò)移動(dòng)自組網(wǎng)接收其他車輛發(fā)送的行車交互信息;車輛通過(guò)本車傳感器采集行車環(huán)境信息,并將接收的行車交互信息與采集的行車環(huán)境信息利用XML形式格式化;步驟3:綜合分析計(jì)算接收的行車交互信息與采集的行車環(huán)境信息,計(jì)算出車輛行駛依賴的關(guān)鍵參數(shù)的值;步驟4:將車輛行駛依賴的關(guān)鍵參數(shù)值作為無(wú)人駕駛算法的輸入之一,傳遞給無(wú)人駕駛計(jì)算單元,如果此時(shí)為有人駕駛模式則將上述關(guān)鍵參數(shù)及圖形、聲光的方式動(dòng)態(tài)呈現(xiàn)個(gè)駕駛司機(jī);步驟5:從無(wú)人駕駛單元中接收無(wú)人駕駛決策信息;從有人駕駛模式的行車動(dòng)作傳感器中同步油門、制動(dòng)、轉(zhuǎn)向、聲光等駕駛意圖信息;步驟6:行車意圖信息判決確認(rèn)并進(jìn)行電子信號(hào)轉(zhuǎn)換;步驟7:信息發(fā)送前進(jìn)行密鑰管理步驟及安全路由步驟;步驟8:通過(guò)車輛自組網(wǎng)發(fā)送行車交互信息。本發(fā)明所述無(wú)人駕駛車車載信息交互系統(tǒng)如圖2所示,它包括:(1)車載通信模塊,如圖3所示,在實(shí)施過(guò)程中采用802.11P無(wú)線網(wǎng)卡通過(guò)MMCX接口與5.9HHz天線連接構(gòu)成,利用專用短程通信技術(shù)(DSRC)和基于位置的組網(wǎng)協(xié)議(PBR)實(shí)現(xiàn)車輛移動(dòng)自組網(wǎng)通信。(2)密碼服務(wù)模塊,實(shí)施硬件結(jié)構(gòu)包括四部分:安全控制器、片外存儲(chǔ)單元、USB連接器、外圍電路。其結(jié)構(gòu)如圖4所示。(3)信息處理模塊,實(shí)施采用基于MIPS架構(gòu)的CPU,通過(guò)GPIO接口連接其他模塊。(4)接口模塊,實(shí)施采用RJ45網(wǎng)口實(shí)現(xiàn)車載通信模塊、信息處理模塊與應(yīng)用服務(wù)的接口;采用USB接口實(shí)現(xiàn)密碼服務(wù)與應(yīng)用服務(wù)的接口;行車信息模塊接口采用RJ45網(wǎng)口及OBD接口實(shí)現(xiàn)行車信息同步接口。(5)應(yīng)用服務(wù)及交互信息呈現(xiàn)模塊,實(shí)施中采用分成結(jié)構(gòu),硬件固件層采用c語(yǔ)言實(shí)現(xiàn),傳輸層通過(guò)TCP/IP協(xié)議和USB協(xié)議實(shí)現(xiàn);信息呈現(xiàn)模塊利用現(xiàn)有具有導(dǎo)航功能的車輛中控系統(tǒng)實(shí)現(xiàn)。實(shí)施例2:本發(fā)明所述基于移動(dòng)自組網(wǎng)的交互信息安全通信方法包括密鑰管理步驟和安全路由步驟。密鑰管理步驟如圖5所示:ECCEncryption(M,ytype_ID):表示用公鑰ytype_ID加密文明消息M,得到密文C;ECCDecryption(C,xtype_ID):表示用私鑰xtype_ID解密ECCEncryption(M,ytype_ID)產(chǎn)生的密文C,得到明文消息M。其中ECC為橢圓曲線密碼體制。方法包括五個(gè)步驟:建立(Setup)步驟,節(jié)點(diǎn)種子預(yù)分配(NodeSeedPre-distribution)步驟,節(jié)點(diǎn)私鑰產(chǎn)生(NodePrivateKeysGeneration)步驟,加密(Encryption)步驟,解密(Decryption)步驟。密鑰管理步驟每個(gè)步驟對(duì)應(yīng)圖5中的(1)-(5),整個(gè)過(guò)程私鑰生成中心(PKG)以離線的方式提供密鑰管理服務(wù)。建立步驟為:S-Step1:密鑰生成中心(PKG)選擇有限域GF(p)上的橢圓曲線E,其中p是大素?cái)?shù)。選擇橢圓曲線E上的基點(diǎn)Q,Q的階為大素?cái)?shù)q。S-Step2:PKG選擇私鑰xij∈GF(q)(1≤i≤m,m,n∈Z+)構(gòu)造規(guī)模為m×n的私鑰矩陣Xpri,滿足:S-Step3:PKG由Xpri產(chǎn)生對(duì)應(yīng)的公鑰矩陣Ypub,滿足:其中yij=xijQ(1≤i≤m,1≤j≤n,m,n∈Z+)。選擇兩個(gè)單向散列函數(shù):H1:{0,1}*→{0,1}l×n,其中H2:{0,1}*→{0,1}n。S-Step4:公布系統(tǒng)參數(shù)(Ypub,Q,p,q,H1,H2)。節(jié)點(diǎn)種子預(yù)分配步驟為:P-Step1:給定節(jié)點(diǎn)身份ID∈{0,1}*,PKG計(jì)算ID的散列值是長(zhǎng)度為l-bits的二進(jìn)制串,它的十進(jìn)制數(shù)值為ij,其中1≤j≤n,0≤ij<m。P-Step2:PKG根據(jù)節(jié)點(diǎn)身份的散列值從Xpri中為節(jié)點(diǎn)選擇種子其中ij+1表示Xpri中第ij+1行,j表示Xpri中第j列。P-Step3:PKG通過(guò)密碼服務(wù)模塊將種子seedID分配并存儲(chǔ)到節(jié)點(diǎn)中,seedID作為密鑰產(chǎn)生的種子存在密碼服務(wù)模塊安全控制器中。節(jié)點(diǎn)私鑰產(chǎn)生步驟為:為了產(chǎn)生不同類型的密鑰,節(jié)點(diǎn)中的密碼服務(wù)模塊調(diào)用密鑰生成函數(shù)(KDF),利用密碼服務(wù)模塊內(nèi)部的種子(seedID)和密鑰參數(shù)(KP={key_type|application|expired_time})創(chuàng)建密鑰。密鑰參數(shù)由所需的密鑰類型確定,創(chuàng)建密鑰由KDF(seedID,KP)實(shí)現(xiàn),具體過(guò)程如算法1所示。算法1中,通過(guò)密鑰參數(shù)控制密鑰的類型,創(chuàng)建好的密鑰被密碼服務(wù)模塊存儲(chǔ)與管理。算法1KDF(seedID,KP)1:利用散列函數(shù)H2計(jì)算密鑰參數(shù)的散列值H2(KP)=kp1,…,kpj,…kpn,其中kpj是H2(KP)的第j比特。2:產(chǎn)生私鑰kpj∈H2(KP),3:返回私鑰xtype_ID。加密步驟為:加密步驟通過(guò)調(diào)用加密算法Encrypt(M,ID,KP)實(shí)現(xiàn)對(duì)消息M的加密,其中ID,KP為節(jié)點(diǎn)身份和密鑰參數(shù),具體過(guò)程如算法2所示。算法2Encrypt(M,ID,KP)1:確定密鑰參數(shù)KP并利用散列函數(shù)H2計(jì)算其散列值H2(KP)=kp1,…,kpj,…kpn,其中kpj是H2(KP)的第j比特。然后利用散列函數(shù)H1計(jì)算節(jié)點(diǎn)身份ID的散列值2:通過(guò)H1(ID)從Ypub選擇節(jié)點(diǎn)ID的公鑰參數(shù)其中ij+1表示Ypub中第ij+1行,j表示Ypub中第j列。3:產(chǎn)生節(jié)點(diǎn)公鑰4:執(zhí)行加密算法ECCEncryption(M,ytype_ID)獲得密文C。解密步驟解密步驟輸入密鑰參數(shù)KP調(diào)用解密算法Decrypt(C,KP)獲得明文消息M,具體過(guò)程如算法3所示。算法3Decrypt(C,KP)1:運(yùn)行KDF(seedID,KP)計(jì)算節(jié)點(diǎn)私鑰xtype_ID。2:執(zhí)行解密算法ECCDecryption(C,xtype_ID)獲得明文消息M。車載信息交互系統(tǒng)主要由三種不同名稱的同一實(shí)體構(gòu)成:車載單元、路旁單元和車輛管理中心(或其他可信中心),如圖6所示。為了便于描述將車輛管理中心(或其他可信中心)統(tǒng)稱為可信中心。車載單元(OBU,On-boardUnit)是嵌入到無(wú)人駕駛車或有人駕駛車(節(jié)點(diǎn))內(nèi)的車載信息交互系統(tǒng)。通過(guò)建立車與車、車與路旁基礎(chǔ)設(shè)施間的無(wú)線通信動(dòng)態(tài)發(fā)布或轉(zhuǎn)發(fā)車輛(節(jié)點(diǎn))與道路的相關(guān)信息,內(nèi)部的密碼服務(wù)模塊具有密碼學(xué)計(jì)算及防篡改能力。路旁單元(RSU,RoadsideUnit)是安裝在交通信號(hào)燈等道路基礎(chǔ)設(shè)施中的車載信息交互系統(tǒng),與OBU建立無(wú)線通信,與可信中心建立有線通信??尚胖行?TA,TrustedAuthority)負(fù)責(zé)對(duì)網(wǎng)絡(luò)中的車輛(節(jié)點(diǎn))認(rèn)證、注冊(cè)并授權(quán)參與車載通信。允許不同區(qū)域有不同的TA,每個(gè)TA公開其ID及系統(tǒng)參數(shù)。本發(fā)明假設(shè)TA可信且具有較強(qiáng)的計(jì)算與存儲(chǔ)能力;所有車輛(節(jié)點(diǎn))通過(guò)GPS系統(tǒng)得到本地位置信息,并通過(guò)位置服務(wù)獲得目標(biāo)車輛(節(jié)點(diǎn))的位置信息。實(shí)施例3:一種無(wú)人駕駛車車載信息交互安全通信方法,含有基于位置的安全路由步驟,本發(fā)明是在基于身份的密鑰管理框架下,如圖7所示,包括3部分步驟:系統(tǒng)建立步驟;一跳通信安全機(jī)制步驟;多跳通信安全機(jī)制步驟。系統(tǒng)建立步驟為:系統(tǒng)建立步驟為協(xié)議準(zhǔn)備密鑰管理服務(wù)并對(duì)節(jié)點(diǎn)身份匿名化。TA初始化:TA產(chǎn)生密鑰及系統(tǒng)參數(shù)。S-Step1輸入安全參數(shù)k、TA身份IDTA及基于身份的密鑰產(chǎn)生算法Key_IBE(),產(chǎn)生TA密鑰對(duì)<skTA,pkTA>及系統(tǒng)參數(shù)S-Step2TA公開身份IDTA及系統(tǒng)參數(shù)節(jié)點(diǎn)自產(chǎn)生密鑰:設(shè)任意節(jié)點(diǎn)身份為IDi,0<i≤N,其中N為網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)。S-Step3輸入安全參數(shù)k'及非對(duì)稱密鑰產(chǎn)生算法Key_Asymm(),IDi產(chǎn)生非對(duì)稱密鑰對(duì)<pki,ski>。<pki,ski>=Key_Asymm(k')(2)注冊(cè):節(jié)點(diǎn)IDi向TA注冊(cè)身份及公鑰,TA為節(jié)點(diǎn)產(chǎn)生假名并簽發(fā)公鑰證書。S-Step4節(jié)點(diǎn)IDi將真實(shí)身份及自產(chǎn)生公鑰(IDi,pki)通過(guò)離線方式發(fā)送給TA。S-Step5TA驗(yàn)證節(jié)點(diǎn)身份IDi的正確性后向節(jié)點(diǎn)發(fā)起驗(yàn)證公鑰請(qǐng)求。S-Step6節(jié)點(diǎn)IDi通過(guò)零知識(shí)向TA證明擁有正確的私鑰。S-Step7輸入隨機(jī)數(shù)ni,節(jié)點(diǎn)身份IDi,節(jié)點(diǎn)公鑰pki,過(guò)期時(shí)間TExpire,單向哈希函數(shù)H1()和基于身份的簽名算法Sign_IBE(),TA為節(jié)點(diǎn)生成假名PIDi,并通過(guò)簽名算法為節(jié)點(diǎn)簽發(fā)公鑰證書τi。PIDi=H1(ni,IDi||pki||TExpire)(3)S-Step8TA向節(jié)點(diǎn)返回假名PIDi及公鑰證書τi。驗(yàn)證:節(jié)點(diǎn)通過(guò)TA的身份信息驗(yàn)證TA簽發(fā)的數(shù)字證書。S-Step9輸入TA的身份IDTA,系統(tǒng)參數(shù)和基于身份的驗(yàn)證算法Verify_IBE(),節(jié)點(diǎn)驗(yàn)證τi。該過(guò)程中,τi可以由任意節(jié)點(diǎn)通過(guò)TA的身份信息IDTA驗(yàn)證。一跳通信安全機(jī)制步驟為:在PBR協(xié)議中一跳通信是節(jié)點(diǎn)通過(guò)Hello消息確定鄰居節(jié)點(diǎn)身份和位置的過(guò)程。鄰居節(jié)點(diǎn)的身份及位置為節(jié)點(diǎn)多跳通信中轉(zhuǎn)發(fā)策略提供數(shù)據(jù)。本文借助OBU的防篡改能力保護(hù)GPS系統(tǒng)獲得的位置信息并在OBU中對(duì)位置信息簽名以保證鄰居節(jié)點(diǎn)位置信息的正確性與完整性。Hello-簽名:節(jié)點(diǎn)對(duì)本地位置信息簽名并發(fā)送Hello消息。O-Step1輸入節(jié)點(diǎn)私鑰ski,簽名算法Sign_Asymm(),本地位置信息Positioni,節(jié)點(diǎn)假名PIDi,節(jié)點(diǎn)產(chǎn)生Hello消息的簽名τpi,并將TA為PIDi簽發(fā)的公鑰證書τi放入Hello消息中,擴(kuò)展后的Hello消息如圖2所示。τpi=Sign_Asymm(ski,PIDi||Positioni||TExpire)(6)CortrolfieldPIDiPositioniτpiτiHello-驗(yàn)證:鄰居節(jié)點(diǎn)收到Hello消息后,存入鄰居列表時(shí)先通過(guò)TA的身份IDTA驗(yàn)證τi,然后驗(yàn)證τpi,如果驗(yàn)證通過(guò),將Hello消息存入鄰居列表,否則丟棄。O-Step2節(jié)點(diǎn)通過(guò)公式(5)驗(yàn)證τi,然后輸入公鑰pki,驗(yàn)證算法Verify_Asymm()驗(yàn)證τpi。{TrueorFalse}=Verify_Asymm(τpi,pki)(7)多跳通信安全機(jī)制步驟為:多跳通信是PBR協(xié)議的主要通信模式,節(jié)點(diǎn)通過(guò)多跳通信將信息轉(zhuǎn)發(fā)到目標(biāo)節(jié)點(diǎn)。多跳通信安全機(jī)制由3個(gè)部分構(gòu)成:路由消息簽名;節(jié)點(diǎn)評(píng)估轉(zhuǎn)發(fā);目標(biāo)節(jié)點(diǎn)驗(yàn)證及接收消息。該過(guò)程概括描述為源節(jié)點(diǎn)產(chǎn)生帶有簽名的消息后通過(guò)評(píng)估轉(zhuǎn)發(fā)策略選擇下一跳節(jié)點(diǎn),節(jié)點(diǎn)接收到消息后繼續(xù)轉(zhuǎn)發(fā)直到到達(dá)目標(biāo)節(jié)點(diǎn)。路由消息簽名步驟為:PBR協(xié)議的路由消息主要由路由頭部(RouteHeader)和負(fù)載數(shù)據(jù)(PayloadData)構(gòu)成,路由頭部可以分為不變部分和可變部分。不變部分(RouteHeader’)為路由的控制域、源和目標(biāo)節(jié)點(diǎn)的身份及位置信息;可變部分為轉(zhuǎn)發(fā)節(jié)點(diǎn)的身份及位置信息,可以在節(jié)點(diǎn)轉(zhuǎn)發(fā)消息過(guò)程中更新鄰居節(jié)點(diǎn)信息。本發(fā)明安全機(jī)制中不需要對(duì)可變部分認(rèn)證,原因有兩點(diǎn):1)鄰節(jié)點(diǎn)信息更新由認(rèn)證過(guò)的Hello消息提供;2)目標(biāo)節(jié)點(diǎn)僅需要合法的消息而不需要每個(gè)中間轉(zhuǎn)發(fā)節(jié)點(diǎn)的端到端的認(rèn)證。由此,源節(jié)點(diǎn)只需對(duì)路由頭部中不變部分及負(fù)載數(shù)據(jù)簽名。擴(kuò)展后的多跳路由消息結(jié)構(gòu)如下表1所示,其中以s表示源節(jié)點(diǎn),d表示目標(biāo)節(jié)點(diǎn)(0<s,d≤N,其中N為網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù))。表1:M-Step1輸入源節(jié)點(diǎn)私鑰sks,路由頭部的不變部分(routeheader’),負(fù)載數(shù)據(jù)(payloaddata),簽名算法Sign_Asymm(),源節(jié)點(diǎn)產(chǎn)生路由消息簽名τrs。τrs=Sign_Asymm(sks,routeheader'||payloaddata||TExpire)(8)(1)節(jié)點(diǎn)評(píng)估轉(zhuǎn)發(fā)PBR協(xié)議采用基于位置的轉(zhuǎn)發(fā)算法從鄰居列表中選擇下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)。選擇的下一跳節(jié)點(diǎn)可能對(duì)數(shù)據(jù)包做出以下處理:1)正常轉(zhuǎn)發(fā);2)篡改轉(zhuǎn)發(fā);3)惡意丟包。后兩種情況為惡意行為,針對(duì)轉(zhuǎn)發(fā)惡意行為對(duì)鄰居節(jié)點(diǎn)進(jìn)行評(píng)估,通過(guò)評(píng)估值確定合法鄰居節(jié)點(diǎn),建立穩(wěn)定路由。評(píng)估轉(zhuǎn)發(fā)前需要節(jié)點(diǎn)驗(yàn)證源節(jié)點(diǎn)公鑰證書及其產(chǎn)生的路由消息簽名,如果驗(yàn)證通過(guò),節(jié)點(diǎn)進(jìn)行評(píng)估轉(zhuǎn)發(fā),否則將包丟棄。評(píng)估轉(zhuǎn)發(fā)評(píng)估轉(zhuǎn)發(fā)是在節(jié)點(diǎn)運(yùn)行轉(zhuǎn)發(fā)算法前對(duì)鄰居節(jié)點(diǎn)評(píng)估的過(guò)程。通過(guò)評(píng)估值確定合法鄰居節(jié)點(diǎn)并以合法鄰居節(jié)點(diǎn)作為轉(zhuǎn)發(fā)算法的輸入選擇下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包。評(píng)估分為前向評(píng)估和后向評(píng)估。前向評(píng)估用來(lái)評(píng)估節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包過(guò)程中的丟包行為;后向評(píng)估用來(lái)評(píng)估節(jié)點(diǎn)惡意篡改數(shù)據(jù)包的轉(zhuǎn)發(fā)行為。前向評(píng)估設(shè)節(jié)點(diǎn)A的任意鄰居節(jié)點(diǎn)為B,定義單位時(shí)間內(nèi)節(jié)點(diǎn)A觀察節(jié)點(diǎn)B接收來(lái)自節(jié)點(diǎn)A的非目標(biāo)數(shù)據(jù)包(目標(biāo)地址不為B)與轉(zhuǎn)發(fā)這些包的過(guò)程。A觀察到B轉(zhuǎn)發(fā)數(shù)據(jù)包個(gè)數(shù)fA→B(t)與接收數(shù)據(jù)包個(gè)數(shù)rA→B(t)的比值稱為前向評(píng)估值EA→B(t)。EA→B(t)=fA→B(t)/rA→B(t)(9)后向評(píng)估設(shè)節(jié)點(diǎn)A的任意鄰節(jié)點(diǎn)為B,定義單位時(shí)間內(nèi)節(jié)點(diǎn)A觀察節(jié)點(diǎn)B向A發(fā)送的非目標(biāo)數(shù)據(jù)包(目標(biāo)地址不為A)與轉(zhuǎn)發(fā)這些包的過(guò)程。A轉(zhuǎn)發(fā)數(shù)據(jù)包個(gè)數(shù)f'B→A(t)與接收數(shù)據(jù)包個(gè)數(shù)r'B→A(t)的比值稱為后向評(píng)估值E'B→A(t)。E'B→A(t)=f'B→A(t)/r'B→A(t)(10)M-Step2節(jié)點(diǎn)收到多跳路由數(shù)據(jù)包后通過(guò)公式(5)驗(yàn)證τs,然后輸入公鑰pks,驗(yàn)證算法Verify_Asymm()驗(yàn)證τrs。{TrueorFalse}=Verify_Asymm(τrs,pks)(11)M-Step3節(jié)點(diǎn)運(yùn)行算法4評(píng)估轉(zhuǎn)發(fā)。算法4評(píng)估轉(zhuǎn)發(fā)步驟為:1:前向:2:1)節(jié)點(diǎn)A開啟混雜模式,監(jiān)聽鄰居節(jié)點(diǎn)B的發(fā)包狀態(tài)。3:2)A記錄發(fā)向B的非目標(biāo)數(shù)據(jù)包(目標(biāo)地址不為B)的包序號(hào),并記錄發(fā)包數(shù)到變量rA→B(t)中。4:3)ifB轉(zhuǎn)發(fā)的包序號(hào)等于A記錄的包序號(hào)。5:thenA記錄B轉(zhuǎn)發(fā)包數(shù)到變量fA→B(t)中。6:后向:7:1)A記錄B向A發(fā)送的非目標(biāo)數(shù)據(jù)包(目標(biāo)地址不為A)的包序號(hào),并記錄發(fā)包數(shù)到變量r'B→A(t)中。8:2)ifB向A發(fā)送的非目標(biāo)數(shù)據(jù)包通過(guò)了A驗(yàn)證;9:thenA記錄數(shù)據(jù)包數(shù)到變量f'B→A(t)中。10:評(píng)估:11:1)啟動(dòng)定時(shí)器。12:2)每隔Δt時(shí)間A計(jì)算:13:EA→B(t)=fA→B(t)/rA→B(t);14:E'B→A(t)=f'B→A(t)/r'B→A(t);15:E(t)=α·EA→B(t)+(1-α)·E'B→A(t),16:α為評(píng)估系數(shù)。17:轉(zhuǎn)發(fā):18:IfE(t)大于閾值19:then允許B為A轉(zhuǎn)發(fā)算法的輸入,由轉(zhuǎn)發(fā)算法選擇下一跳節(jié)點(diǎn)。20:elseA選擇下一跳節(jié)點(diǎn)時(shí)將B排除。目標(biāo)節(jié)點(diǎn)驗(yàn)證及接收消息步驟為:目標(biāo)節(jié)點(diǎn)d接收到目標(biāo)地址與本地地址相等的數(shù)據(jù)包后,驗(yàn)證數(shù)據(jù)包中源節(jié)點(diǎn)的公鑰證書及其產(chǎn)生的路由消息簽名,如果驗(yàn)證通過(guò)節(jié)點(diǎn)接收數(shù)據(jù)包,否則將包丟棄。M-Step4節(jié)點(diǎn)收到多跳路由數(shù)據(jù)包后利用M-Step2驗(yàn)證數(shù)據(jù)包,驗(yàn)證通過(guò)后比較目標(biāo)地址與本地地址是否相等,如果相等則接收數(shù)據(jù)包,否則轉(zhuǎn)向M-Step3評(píng)估轉(zhuǎn)發(fā)數(shù)據(jù)包。表2:實(shí)例協(xié)議中使用的符號(hào)如上所述,對(duì)本發(fā)明的實(shí)施例進(jìn)行了詳細(xì)地說(shuō)明,但是只要實(shí)質(zhì)上沒有脫離本發(fā)明的發(fā)明點(diǎn)及效果可以有很多的變形,這對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)是顯而易見的。因此,這樣的變形例也全部包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3