本發(fā)明屬于中間件通信加密,尤其涉及一種中間件通信加密方法。
背景技術(shù):
1、在汽車領(lǐng)域中中間件通信框架基于以太網(wǎng)通信保護(hù)的方案很少,盡管在it領(lǐng)域有較為成熟的通信加密技術(shù)方案,但是這些方案直接移植到汽車通信中存在性能或者功能上不滿足汽車業(yè)務(wù)場(chǎng)景的技術(shù)問題。在it領(lǐng)域中廣泛使用的加密技術(shù)有ipsec和tls,ipsec協(xié)議由于應(yīng)用程序無法感知而受到粒度有限的限制;tls不支持多播通信,而多播在一些中間件如some/ip中可提高通信效率,且tls需要相當(dāng)復(fù)雜的身份驗(yàn)證握手過程?,F(xiàn)有在it領(lǐng)域常用的加密技術(shù)框架有ipsec和tls。ipsec可以實(shí)現(xiàn)數(shù)據(jù)機(jī)密性、數(shù)據(jù)完整性、數(shù)據(jù)認(rèn)證、反重放的功能,但是ipsec工作在底層協(xié)議之上,無法為應(yīng)用提供服務(wù)級(jí)別的加密粒度。
2、因此,如何解決現(xiàn)有技術(shù)中的存在的通信加密技術(shù)方案直接移植到汽車通信中存在性能或者功能上不滿足汽車業(yè)務(wù)場(chǎng)景,實(shí)現(xiàn)提升通信過程的安全性,實(shí)現(xiàn)安全和性能的最佳權(quán)衡,是目前亟需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種中間件通信加密方法,用以解決現(xiàn)有技術(shù)中的存在的通信加密技術(shù)方案直接移植到汽車通信中存在性能或者功能上不滿足汽車業(yè)務(wù)場(chǎng)景,實(shí)現(xiàn)提升通信過程的安全性,實(shí)現(xiàn)安全和性能的最佳權(quán)衡。
2、為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:
3、一種中間件通信加密方法,包括以下步驟:
4、s1:中間件客戶端啟動(dòng),從配置文件中讀取證書、應(yīng)用私鑰路徑和配置文件簽名數(shù)據(jù),對(duì)配置文件進(jìn)行簽名校驗(yàn),簽名校驗(yàn)通過后加載證書和應(yīng)用私鑰;
5、中間件服務(wù)端啟動(dòng),從配置文件中讀取證書和應(yīng)用私鑰路徑,并配置文件簽名數(shù)據(jù),對(duì)配置文件進(jìn)行簽名校驗(yàn),簽名校驗(yàn)通過后加載證書和應(yīng)用私鑰;
6、s2:應(yīng)用請(qǐng)求服務(wù)實(shí)例,從應(yīng)用證書中的服務(wù)規(guī)則矩陣中獲取該服務(wù)實(shí)例的配置信息,應(yīng)用提供服務(wù)實(shí)例,從證書中的服務(wù)規(guī)則矩陣中獲取該服務(wù)實(shí)例的配置信息,為服務(wù)實(shí)例生成加密會(huì)話參數(shù),存入加密級(jí)別和加密算法,并生成用于該服務(wù)實(shí)例業(yè)務(wù)消息加密的隨機(jī)對(duì)稱密鑰;
7、s3:中間件客戶端構(gòu)建加密會(huì)話連接請(qǐng)求,生成一個(gè)新的隨機(jī)隨機(jī)數(shù)n將每個(gè)請(qǐng)求與相應(yīng)的響應(yīng)進(jìn)行關(guān)聯(lián),并構(gòu)建身份驗(yàn)證請(qǐng)求消息,中間件服務(wù)端開始監(jiān)聽中間件客戶端的加密會(huì)話連接請(qǐng)求;
8、s4:中間件客戶端將構(gòu)建好的加密會(huì)話連接請(qǐng)求發(fā)送給中間件服務(wù)端,等待接收連接響應(yīng),中間件服務(wù)端收到中間件客戶端的加密會(huì)話連接請(qǐng)求后,進(jìn)行完整性校驗(yàn);并判斷完整性校驗(yàn)是否通過,若是,執(zhí)行步驟s5,若否,會(huì)話握手會(huì)立即終止,拒絕提供服務(wù);
9、s5:利用非對(duì)稱加密技術(shù)從請(qǐng)求者的數(shù)字證書中提取公鑰來加密對(duì)稱密鑰,構(gòu)建響應(yīng)消息,使用提供方的私鑰對(duì)響應(yīng)消息進(jìn)行數(shù)字簽名,將響應(yīng)消息被發(fā)送回中間件客戶端;
10、s6:中間件客戶端校驗(yàn)會(huì)話連接響應(yīng)消息的合法性,校驗(yàn)成功后從中取出該服務(wù)實(shí)例的對(duì)稱加密密鑰和算法,后續(xù)將與中間件服務(wù)端的業(yè)務(wù)通信的消息使用對(duì)稱密鑰進(jìn)行加密。
11、優(yōu)選的,步驟s1中的從配置文件中讀取的證書包括根證書和應(yīng)用證書,簽名校驗(yàn)通過后開始加載的證書也包括根證書和應(yīng)用證書,所述簽名數(shù)據(jù)包括簽名算法、簽名證書及配置文件簽名值。
12、優(yōu)選的,步驟s2中的所述配置信息包括角色和加密等級(jí),其中角色包括請(qǐng)求者、提供者、請(qǐng)求者/提供者三種,加密等級(jí)包括nosec、authentication、confidentiality三個(gè)等級(jí)。
13、優(yōu)選的,步驟s2中提供的三個(gè)加密等級(jí)包括nosec、authentication、confidentiality為逐漸遞增的三個(gè)等級(jí),所述nosec對(duì)消息未作加密,跟原始some/ip消息完全兼容;authentication提供數(shù)據(jù)身份驗(yàn)證和完整性,檢測(cè)消息在流經(jīng)網(wǎng)絡(luò)時(shí)是否被修改,此外,authentication的安全級(jí)別還提供重播保護(hù),即識(shí)別并丟棄重復(fù)的數(shù)據(jù)包,防止攻擊者捕獲有效的消息,重新傳輸并觸發(fā)多次相同的操作;confidentiality提供認(rèn)證、授權(quán)、完整性和保密性,以及重放保護(hù),包括認(rèn)證級(jí)別引入的所有安全屬性,并輔以加密,防止可能的攻擊者竊取通過網(wǎng)絡(luò)傳輸?shù)南⒌膬?nèi)容,即提供數(shù)據(jù)機(jī)密性。
14、優(yōu)選的,步驟s5中的所述響應(yīng)消息包括從請(qǐng)求中復(fù)制的隨機(jī)數(shù)、提供方的證書、對(duì)稱加密密鑰、提供方選擇的安全級(jí)別以及為每個(gè)請(qǐng)求方唯一分配的標(biāo)識(shí)符。
15、優(yōu)選的,所述響應(yīng)消息包括以下信息:版本號(hào)、非對(duì)稱加密算法類型、報(bào)文摘要算法類型、補(bǔ)齊字段、隨機(jī)數(shù)、中間件服務(wù)端應(yīng)用數(shù)字證書的指紋、會(huì)話的安全級(jí)別、會(huì)話的對(duì)稱加密算法類型、分配給每個(gè)請(qǐng)求者的唯一標(biāo)識(shí)符、加密后的對(duì)稱密鑰的長(zhǎng)度和密鑰值、響應(yīng)消息的簽名長(zhǎng)度和簽名值,其中版本號(hào)的長(zhǎng)度為1字節(jié),非對(duì)稱加密算法類型的長(zhǎng)度為1字節(jié),報(bào)文摘要算法類型的長(zhǎng)度為1字節(jié),補(bǔ)齊字段的長(zhǎng)度為1字節(jié),另有4字節(jié)補(bǔ)齊用,隨機(jī)數(shù)的長(zhǎng)度為32字節(jié)、中間件服務(wù)端應(yīng)用數(shù)字證書的指紋的長(zhǎng)度為32字節(jié)、會(huì)話的安全級(jí)別的長(zhǎng)度為1字節(jié),會(huì)話的對(duì)稱加密算法類型的長(zhǎng)度為1字節(jié),分配給每個(gè)請(qǐng)求者的唯一標(biāo)識(shí)符的長(zhǎng)度為2字節(jié)。
16、優(yōu)選的,在步驟s3的同時(shí),首先建立服務(wù)實(shí)例的安全會(huì)話,建立服務(wù)實(shí)例的安全會(huì)話的具體過程如下:
17、執(zhí)行中間件客戶端和中間件服務(wù)端的相互身份驗(yàn)證:判斷與應(yīng)用程序相關(guān)聯(lián)的角色,所述角色為即提供或請(qǐng)求,提供方用自己的私鑰對(duì)其握手響應(yīng)進(jìn)行數(shù)字簽名,請(qǐng)求方驗(yàn)證該簽名,驗(yàn)證服務(wù)實(shí)例的當(dāng)前安全級(jí)別是否可接受;
18、握手:提供方和請(qǐng)求方之間共享會(huì)話參數(shù),包括以加密形式傳輸?shù)膶?duì)稱密鑰、對(duì)稱算法、配對(duì)id,握手之后服務(wù)實(shí)例的消息通訊采用握手期間交換的參數(shù)中的對(duì)稱密鑰加密消息。
19、本發(fā)明的有益效果包括:
20、本發(fā)明提供的中間件通信加密方法,客戶端啟動(dòng),從配置文件中讀取相關(guān)數(shù)據(jù),對(duì)配置文件進(jìn)行簽名校驗(yàn);服務(wù)端啟動(dòng),從配置文件中讀取證書和應(yīng)用私鑰路徑,并配置文件簽名數(shù)據(jù),對(duì)配置文件進(jìn)行簽名校驗(yàn);應(yīng)用請(qǐng)求服務(wù)實(shí)例,應(yīng)用提供服務(wù)實(shí)例,為服務(wù)實(shí)例生成加密會(huì)話參數(shù),存入加密級(jí)別和加密算法;中間件客戶端構(gòu)建加密會(huì)話連接請(qǐng)求,并構(gòu)建身份驗(yàn)證請(qǐng)求消息,中間件服務(wù)端開始監(jiān)聽中間件客戶端的加密會(huì)話連接請(qǐng)求;客戶端將構(gòu)建好的加密會(huì)話連接請(qǐng)求發(fā)送給服務(wù)端,服務(wù)端收到中間件客戶端的加密會(huì)話連接請(qǐng)求后,進(jìn)行完整性校驗(yàn);利用非對(duì)稱加密技術(shù)從請(qǐng)求者的數(shù)字證書中提取公鑰來加密對(duì)稱密鑰,構(gòu)建響應(yīng)消息。
21、首先,通過從證書中的服務(wù)規(guī)則矩陣中獲取該服務(wù)實(shí)例的配置信息,為服務(wù)實(shí)例生成加密會(huì)話參數(shù),存入加密級(jí)別和加密算法,并生成用于該服務(wù)實(shí)例業(yè)務(wù)消息加密的隨機(jī)對(duì)稱密鑰。其中的加密級(jí)別設(shè)為nosec的消息未作加密,跟原始some/ip消息完全兼容,authentication提供數(shù)據(jù)身份驗(yàn)證和完整性,confidentiality提供認(rèn)證、授權(quán)、完整性和保密性,以及重放保護(hù)的三個(gè)逐級(jí)遞增的安全等級(jí),結(jié)合簡(jiǎn)單的高級(jí)規(guī)則取代傳統(tǒng)通信網(wǎng)絡(luò)的低級(jí)策略實(shí)現(xiàn)安全和性能的最佳權(quán)衡。
22、其次,通過執(zhí)行中間件客戶端和中間件服務(wù)端的相互身份驗(yàn)證:判斷與應(yīng)用程序相關(guān)聯(lián)的角色,所述角色為即提供或請(qǐng)求,提供方用自己的私鑰對(duì)其握手響應(yīng)進(jìn)行數(shù)字簽名,請(qǐng)求方驗(yàn)證該簽名,驗(yàn)證服務(wù)實(shí)例的當(dāng)前安全級(jí)別是否可接受,以確保每個(gè)應(yīng)用程序僅訪問符合其相應(yīng)數(shù)字證書所聲明的授權(quán)策略的服務(wù)實(shí)例,請(qǐng)求者隱式地獲得身份驗(yàn)證,因?yàn)樗枰约旱乃借€來解密用于后續(xù)運(yùn)行時(shí)保護(hù)的對(duì)稱密鑰,即提供方用請(qǐng)求方證書中的公鑰加密了對(duì)稱密鑰,有效提升了通信過程中的安全性。