本申請涉及車聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種車聯(lián)網(wǎng)安全通信方法、車載終端、服務(wù)器及系統(tǒng)。
背景技術(shù):
隨著汽車接入互聯(lián)網(wǎng)技術(shù)的逐步成熟,基于網(wǎng)絡(luò)的車載應(yīng)用的功能也得到了極大的豐富和擴(kuò)展,這些都為車聯(lián)網(wǎng)應(yīng)用市場的繁榮奠定了基礎(chǔ)。但隨之而來的一個(gè)不容忽視的問題就是安全問題,如何保證車輛通過網(wǎng)絡(luò)與外界交互的敏感信息的安全(即傳輸安全)得到了人們的很大的關(guān)注。如果傳輸安全得不到保證,會(huì)導(dǎo)致敏感數(shù)據(jù)被竊取,篡改,甚至導(dǎo)致車輛被遠(yuǎn)程控制,這樣會(huì)極大地威脅車主的人身安全。
目前,網(wǎng)絡(luò)安全中的一些安全協(xié)議,如:安全套接層(Secure Sockets Layer,簡稱SSL)、IP安全(IP security,簡稱IPSec)等,由于占用資源大,很難在資源有限的車載移動(dòng)終端使用或普及,即使對于資源比較豐富的車載移動(dòng)終端,如果應(yīng)用了上述安全協(xié)議,不僅會(huì)造成服務(wù)器端的壓力增加,而且增加了安全成本。
技術(shù)實(shí)現(xiàn)要素:
本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本申請的第一個(gè)目的在于提出一種車聯(lián)網(wǎng)安全通信方法,該方法實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
本申請的第二個(gè)目的在于提出另一種車聯(lián)網(wǎng)安全通信方法。
本申請的第三個(gè)目的在于提出一種車載終端。
本申請的第四個(gè)目的在于提出一種服務(wù)器。
本申請的第五個(gè)目的在于提出一種車聯(lián)網(wǎng)安全通信系統(tǒng)。
為達(dá)上述目的,本申請第一方面實(shí)施例提出了一種車聯(lián)網(wǎng)安全通信方法,包括:車載終端在確定與服務(wù)器已完成傳輸控制協(xié)議連接后,向服務(wù)器發(fā)送握手認(rèn)證請求,其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;所述車載終端接收所述服務(wù)器返回的認(rèn)證響應(yīng)消息,所述認(rèn)證響應(yīng)消息是所述服務(wù)器在確定所述車載終端合法后返回的;所述車載終端根據(jù)所述認(rèn)證響應(yīng)消息,與所述服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。
在第一方面的一種實(shí)現(xiàn)形式中,所述車載終端向服務(wù)器發(fā)送握手認(rèn)證請求之前,還包括:
所述車載終端根據(jù)預(yù)設(shè)的規(guī)則,生成第一隨機(jī)數(shù);
所述車載終端根據(jù)所述第一隨機(jī)數(shù)及與第一初始密鑰,生成所述第一哈希值。
在第一方面的另一種實(shí)現(xiàn)形式中,所述認(rèn)證響應(yīng)消息中包括加密后的第一隨機(jī)數(shù)、更新密鑰和第二哈希值,所述車載終端接收所述服務(wù)器返回的認(rèn)證響應(yīng)消息之后,還包括:
所述車載終端將所述認(rèn)證響應(yīng)消息進(jìn)行解密處理;
所述車載終端判斷解密后得到的第一隨機(jī)數(shù)與生成的第一隨機(jī)數(shù)是否匹配;
若匹配,則車載終端根據(jù)解密后得到的更新密鑰進(jìn)行密鑰更新。
在第一方面的另一種實(shí)現(xiàn)形式中,所述認(rèn)證響應(yīng)消息中還包括加密后的第二隨機(jī)數(shù);
所述車載終端根據(jù)解密后得到的更新密鑰進(jìn)行密鑰更新之后,還包括:
所述車載終端向所述服務(wù)器返回密鑰更新確認(rèn)消息,所述密鑰更新確認(rèn)消息中包括加密后的第二隨機(jī)數(shù)和根據(jù)所述更新密鑰及第二隨機(jī)數(shù)生成的第二哈希值,以使所述服務(wù)器進(jìn)行密鑰更新。
在第一方面的另一種實(shí)現(xiàn)形式中,所述握手認(rèn)證請求和認(rèn)證響應(yīng)消息中,包括:
記錄協(xié)議頭、消息體和與所述消息體對應(yīng)的消息認(rèn)證碼。
在第一方面的另一種實(shí)現(xiàn)形式中,所述第一初始密鑰中包括:讀密鑰和寫密鑰;
所述讀密鑰和寫密鑰中分別包括對稱加密密鑰值、隨機(jī)向量和哈希運(yùn)算消息認(rèn)證碼算法密鑰。
在第一方面的又一種實(shí)現(xiàn)形式中,所述車載終端與所述服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接之后,還包括:
所述車載終端根據(jù)待傳輸?shù)臄?shù)據(jù)類型,構(gòu)造第一記錄協(xié)議頭;
所述車載終端對所述第一記錄協(xié)議頭和待傳輸?shù)臄?shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定待傳輸數(shù)據(jù)的第一消息認(rèn)證碼;
所述車載終端利用更新后的密鑰和加密函數(shù),將所述待傳輸?shù)臄?shù)據(jù)本體和所述第一消息認(rèn)證碼進(jìn)行加密處理后,傳輸給所述服務(wù)器。
在第一方面的又一種實(shí)現(xiàn)形式中,所述車載終端與所述服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接之后,還包括:
所述車載終端接收所述服務(wù)器發(fā)送的數(shù)據(jù)報(bào)文;
所述車載終端根據(jù)所述數(shù)據(jù)報(bào)文中的第二記錄協(xié)議頭,確定所述數(shù)據(jù)報(bào)文中第二消息認(rèn)證碼的位置;
所述車載終端利用更新后的密鑰和與服務(wù)器中加密函數(shù)對稱的解密函數(shù),對所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,以獲取所述數(shù)據(jù)報(bào)文中包括的數(shù)據(jù)本體和第二消息認(rèn)證碼;
所述車載終端對所述第二記錄協(xié)議頭和所述數(shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定第三消息認(rèn)證碼;
所述車載終端判斷所述第二消息認(rèn)證碼與所述第三消息認(rèn)證碼是否一致,若一致,則將所述數(shù)據(jù)本體發(fā)送至所述車載終端中的應(yīng)用層。
在第一方面的又一種實(shí)現(xiàn)形式中,還包括:
所述車載終端接收所述服務(wù)器發(fā)送的連接關(guān)閉消息;
所述車載終端根據(jù)所述連接關(guān)閉消息,釋放與消息接收關(guān)聯(lián)的本地資源。
在第一方面的又一種實(shí)現(xiàn)形式中,所述車載終端接收所述服務(wù)器發(fā)送的連接關(guān)閉消息之后,還包括:
所述車載終端判斷本地是否有待傳輸?shù)臄?shù)據(jù)報(bào)文;
若無,則向所述服務(wù)器返回連接關(guān)閉響應(yīng)消息,以使所述服務(wù)器關(guān)閉與所述車載終端之間的通信連接。
本申請實(shí)施例提供的車聯(lián)網(wǎng)安全通信方法,車載終端在確定于服務(wù)器建立了TCP連接后,即可基于預(yù)設(shè)的初始密鑰和與服務(wù)器相同的對稱加密算法,向服務(wù)器發(fā)送握手認(rèn)證請求,然后在收到服務(wù)器返回的認(rèn)證響應(yīng)消息后,即可與服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
為達(dá)上述目的,本申請第二方面實(shí)施例提出了另一種車聯(lián)網(wǎng)安全通信方法,包括:服務(wù)器接收車載終端發(fā)送的握手認(rèn)證請求,其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;所述服務(wù)器根據(jù)所述車載終端的標(biāo)識(shí),獲取本地存儲(chǔ)的與所述車載終端的標(biāo)識(shí)對應(yīng)的第二初始密鑰;所述服務(wù)器采用與所述車載終端對稱的解密算法,對所述握手認(rèn)證請求進(jìn)行解密,以確定所述握手認(rèn)證請求中攜帶的第一初始密鑰;所述服務(wù)器判斷所述第一初始密鑰與所述第二初始密鑰是否一致;若一致,則向所述車載終端返回認(rèn)證響應(yīng)消息。
本申請實(shí)施例的車聯(lián)網(wǎng)安全通信方法,服務(wù)器在收到車載終端發(fā)送的握手認(rèn)證請求后,根據(jù)車載終端的標(biāo)識(shí),獲取與車載終端標(biāo)識(shí)對應(yīng)的第二初始密鑰,然后采用與車載終端對稱的解密算法,對握手認(rèn)證請求進(jìn)行解密,得到握手認(rèn)證請求中的第一初始密鑰,在確定第一初始密鑰與第二密鑰一致時(shí),向車載終端返回認(rèn)證響應(yīng)消息。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
為達(dá)上述目的,本申請第三方面實(shí)施例提出了一種車載終端,包括:用于存儲(chǔ)程序代碼的存儲(chǔ)器和處理器;
所述處理器用于調(diào)用所述存儲(chǔ)器中的代碼,以執(zhí)行以下過程:
在確定與服務(wù)器已完成傳輸控制協(xié)議連接后,向服務(wù)器發(fā)送握手認(rèn)證請求,其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;接收所述服務(wù)器返回的認(rèn)證響應(yīng)消息,所述認(rèn)證響應(yīng)消息是所述服務(wù)器在確定所述車載終端合法后返回的;根據(jù)所述認(rèn)證響應(yīng)消息,與所述服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。
本申請實(shí)施例提供的車載終端,車載終端在確定于服務(wù)器建立了TCP連接后,即可基于預(yù)設(shè)的初始密鑰和與服務(wù)器相同的對稱加密加密算法,向服務(wù)器發(fā)送握手認(rèn)證請求,然后在收到服務(wù)器返回的認(rèn)證響應(yīng)消息后,即可與服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
在第三方面的一種實(shí)現(xiàn)形式中,所述處理器,還用于:根據(jù)預(yù)設(shè)的規(guī)則,生成第一隨機(jī)數(shù);根據(jù)所述第一隨機(jī)數(shù)及所述第一初始密鑰,生成第一哈希值。
在第三方面的另一種實(shí)現(xiàn)形式中,所述認(rèn)證響應(yīng)消息中包括加密后的第一隨機(jī)數(shù)、更新密鑰和第二哈希值;
所述處理器,還用于:
將所述認(rèn)證響應(yīng)消息進(jìn)行解密處理;
判斷解密后得到的第一隨機(jī)數(shù)與生成的第一隨機(jī)數(shù)是否匹配;
若匹配,則根據(jù)解密后得到的更新密鑰進(jìn)行密鑰更新。
在第三方面的另一種實(shí)現(xiàn)形式中,所述認(rèn)證響應(yīng)消息中還包括加密后的第二隨機(jī)數(shù);
所述處理器,還用于:
向所述服務(wù)器返回密鑰更新確認(rèn)消息,所述密鑰更新確認(rèn)消息中包括加密后的第二隨機(jī)數(shù)和根據(jù)所述更新密鑰及第二隨機(jī)數(shù)生成的第二哈希值,以使所述服務(wù)器進(jìn)行密鑰更新。
在第三方面的另一種實(shí)現(xiàn)形式中,所述握手認(rèn)證請求和認(rèn)證響應(yīng)消息中,包括:
記錄協(xié)議頭、消息體和與所述消息體對應(yīng)的消息認(rèn)證碼。
在第三方面的另一種實(shí)現(xiàn)形式中,所述第一初始密鑰中包括:讀密鑰和寫密鑰;
所述讀密鑰和寫密鑰中分別包括對稱加密密鑰值、隨機(jī)向量和哈希運(yùn)算消息認(rèn)證碼算法密鑰。
在第三方面的另一種實(shí)現(xiàn)形式中,所述處理器,還用于:
根據(jù)待傳輸?shù)臄?shù)據(jù)類型,構(gòu)造第一記錄協(xié)議頭;
對所述第一記錄協(xié)議頭和待傳輸?shù)臄?shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定待傳輸數(shù)據(jù)的第一消息認(rèn)證碼;
利用更新后的密鑰和加密函數(shù),將所述待傳輸?shù)臄?shù)據(jù)本體和所述第一消息認(rèn)證碼進(jìn)行加密處理后,傳輸給所述服務(wù)器。
在第三方面的另一種實(shí)現(xiàn)形式中,所述處理器,還用于:
接收所述服務(wù)器發(fā)送的數(shù)據(jù)報(bào)文;
根據(jù)所述數(shù)據(jù)報(bào)文中的第二記錄協(xié)議頭,確定所述數(shù)據(jù)報(bào)文中第二消息認(rèn)證碼的位置;
利用更新后的密鑰和與服務(wù)器中加密函數(shù)對稱的解密函數(shù),對所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,以獲取所述數(shù)據(jù)報(bào)文中包括的數(shù)據(jù)本體和第二消息認(rèn)證碼;
對所述第二記錄協(xié)議頭和所述數(shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定第三消息認(rèn)證碼;
判斷所述第二消息認(rèn)證碼與所述第三消息認(rèn)證碼是否一致,若一致,則將所述數(shù)據(jù)本體發(fā)送至所述車載終端中的應(yīng)用層。
在第三方面的又一種實(shí)現(xiàn)形式中,所述處理器,還用于:
接收所述服務(wù)器發(fā)送的連接關(guān)閉消息;
根據(jù)所述連接關(guān)閉消息,釋放與消息接收關(guān)聯(lián)的本地資源。
在第三方面的再一種實(shí)現(xiàn)形式中,所述處理器,還用于:
所述車載終端判斷本地是否有待傳輸?shù)臄?shù)據(jù)報(bào)文;
若無,則向所述服務(wù)器返回連接關(guān)閉響應(yīng)消息,以使所述服務(wù)器關(guān)閉與所述車載終端之間的通信連接。
為達(dá)上述目的,本申請第四方面實(shí)施例提出了一種服務(wù)器,包括用于存儲(chǔ)程序代碼的存儲(chǔ)器和處理器,其中,所述處理器用于調(diào)用所述存儲(chǔ)器中的程序代碼,以執(zhí)行以下操作:接收車載終端發(fā)送的握手認(rèn)證請求,其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;根據(jù)所述車載終端的標(biāo)識(shí),獲取本地存儲(chǔ)的與所述車載終端的標(biāo)識(shí)對應(yīng)的第二初始密鑰;采用與所述車載終端對稱的解密算法,對所述握手認(rèn)證請求進(jìn)行解密,以確定所述握手認(rèn)證請求中攜帶的第一初始密鑰;判斷所述第一初始密鑰與所述第二初始密鑰是否一致;若一致,則向所述車載終端返回認(rèn)證響應(yīng)消息。
本申請實(shí)施例的服務(wù)器,服務(wù)器在收到車載終端發(fā)送的握手認(rèn)證請求后,根據(jù)車載終端的標(biāo)識(shí),獲取與車載終端標(biāo)識(shí)對應(yīng)的第二初始密鑰,然后采用與車載終端對稱的解密算法,對握手認(rèn)證請求進(jìn)行解密,得到握手認(rèn)證請求中的第一初始密鑰,在確定第一初始密鑰與第二密鑰一致時(shí),向車載終端返回認(rèn)證響應(yīng)消息。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
為達(dá)上述目的,本申請第五個(gè)方面提出一種車聯(lián)網(wǎng)安全通信系統(tǒng),包括如第三方面所述的車載終端和第四方面所述的服務(wù)器。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一個(gè)實(shí)施例的車聯(lián)網(wǎng)安全通信方法的流程圖;
圖2是本申請一個(gè)實(shí)施例的車聯(lián)網(wǎng)安全通信系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本申請實(shí)施例提供的車載終端與服務(wù)器的認(rèn)證過程示意圖;
圖4為本申請實(shí)施例提供的車載終端與服務(wù)器進(jìn)行數(shù)據(jù)傳輸?shù)牧鞒淌疽鈭D;
圖5為本申請實(shí)施例提供的另一種車聯(lián)網(wǎng)安全通信方法的流程示意圖;
圖6是本申請一個(gè)實(shí)施例的車載終端的結(jié)構(gòu)示意圖;
圖7是本申請一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本申請的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本申請,而不能理解為對本申請的限制。
本申請各實(shí)施例主要針對現(xiàn)有技術(shù)中,由于車載終端資源有限,無法使用現(xiàn)有的傳輸安全協(xié)議來保證數(shù)據(jù)傳輸?shù)陌踩缘膯栴},提出一種車聯(lián)網(wǎng)安全通信方法、車載終端、服務(wù)器及系統(tǒng)。在本申請?zhí)峁┑能嚶?lián)網(wǎng)安全通信方法中,車載終端和服務(wù)器之間的認(rèn)證和通信過程,都使用對稱加密算法,從而降低了車載終端和服務(wù)器的資源消耗。
下面參考附圖描述本申請實(shí)施例的車輛網(wǎng)安全通信方法及裝置。
圖1是本申請一個(gè)實(shí)施例的車聯(lián)網(wǎng)安全通信方法的流程圖。
如圖1所示,該車聯(lián)網(wǎng)安全通信方法包括:
S101,車載終端在確定與服務(wù)器已完成傳輸控制協(xié)議連接后,向服務(wù)器發(fā)送握手認(rèn)證請求。
其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí),及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值。
具體的,本實(shí)施例提供的車聯(lián)網(wǎng)安全通信方法,執(zhí)行主體為本申請?zhí)峁┑能嚶?lián)網(wǎng)安全通信裝置,該裝置可以被配置在車載終端中,以保證車載終端與服務(wù)器間的通信安全。
其中,車載終端的標(biāo)識(shí),是指唯一表征車載終端身份的標(biāo)識(shí),比如可以為車載終端的產(chǎn)品序列號(hào),或者是服務(wù)器為車載終端分配的唯一標(biāo)識(shí)碼,本實(shí)施例對此不作限定。第一哈希值,是根據(jù)握手認(rèn)證請求生成的校驗(yàn)值,其中握手認(rèn)證請求中還可以包括第一初始密鑰、第一初始密鑰的標(biāo)識(shí)、第一隨機(jī)數(shù)等中的任意一個(gè)或多個(gè),用于使服務(wù)器根據(jù)握手認(rèn)證請求,對車載終端的身份進(jìn)行校驗(yàn)。第一隨機(jī)數(shù)是車載終端根據(jù)預(yù)設(shè)的規(guī)則,隨機(jī)生成的。
另外,車載終端與服務(wù)器相同的加密算法,可以是任何對稱加密算法,比如為AES128-CTR等。
其中,第一初始密鑰是車載終端在出廠前,由廠家根據(jù)服務(wù)器生成的初始密鑰設(shè)置的。其中,一個(gè)車載終端對應(yīng)一個(gè)初始密鑰。
舉例來說,在車載終端出廠前,服務(wù)器端首先產(chǎn)生第一初始密鑰,然后使用超文本傳輸協(xié)議(HyperText Transfer Protocal,簡稱HTTP)連接傳遞到車載終端所在的生產(chǎn)工廠,再由專人(生產(chǎn)者)將第一初始密鑰注入到車載移動(dòng)終端中。
進(jìn)一步地,為保證車載終端可以從服務(wù)器中,將第一初始密鑰的下載證書可靠下載下來,需要保證傳遞第一初始密鑰的HTTP連接可靠,本申請實(shí)施例中,還可以通過為HTTP鏈路配置一個(gè)認(rèn)證證書,來保證傳遞第一初始密鑰的HTTP連接可靠。
具體的,圖2為本申請實(shí)施例提供的一種車聯(lián)網(wǎng)安全通信系統(tǒng)結(jié)構(gòu)示意圖。如圖2所示,該車聯(lián)網(wǎng)安全通信系統(tǒng)包括服務(wù)器側(cè)的數(shù)據(jù)中心(Data Center)1和車載終端的制造工廠(Plant)2。如圖2所示,該證書的下載過程,可以由以下過程組成:
1)Data Center首先生成一個(gè)名為C1的證書用于建立HTTPS鏈路(C1只用于下載請求第一初始密鑰的證書,它不能用于下載第一初始密鑰)。
2)Data Center將C1壓縮到一個(gè)文件中,壓縮時(shí)可以使用如AES256等算法進(jìn)行加密,并添加密碼。
3)Data Center將加密后的C1通過e-mail發(fā)送給工人(Producer)。
4)Producer通過郵件獲取到加密后的C1并保存。
5)Data Center生成一個(gè)名為C2的證書用于下載第一初始密鑰,然后將其上傳到安全傳輸網(wǎng)關(guān)(Security Transmission Gateway,簡稱STG)中的HTTPS服務(wù)器上。
6)Data Center通過電話告知Producer解密C1的密碼。
7)Producer解密C1后將其上載到瀏覽器。
8)Producer盡快通過HTTPS鏈路下載C2。
9)確認(rèn)Producer成功下載C2后,Data Center修改STG配置以使C1失效。
10)Producer上載C2到瀏覽器然后建立新的HTTPS鏈路。
11)Producer使用HTTPS鏈路下載初始密鑰或升級(jí)證書。
需要說明的是,為了保證下載證書的可靠性,服務(wù)器還可以對下載證書進(jìn)行周期性更新,比如每周、每10天等更新一次,從而盡量保證通過下載證書建立的HTTP鏈接的可靠性和安全性。
S102,所述車載終端接收所述服務(wù)器返回的認(rèn)證響應(yīng)消息,所述認(rèn)證響應(yīng)消息是所述服務(wù)器在確定所述車載終端合法后返回的。
具體的,服務(wù)器中存儲(chǔ)有與各個(gè)車載終端的標(biāo)識(shí)對應(yīng)的初始密鑰,當(dāng)服務(wù)器在收到車載終端發(fā)送的握手認(rèn)證請求后,即可采用與車載終端中相同的對稱加密算法將加密的第一哈希值進(jìn)行解密,之后再根據(jù)第一哈希值得到的第一初始密鑰與本地存儲(chǔ)的與該車載終端的標(biāo)識(shí)對應(yīng)的初始密鑰是否相同,若相同,則可以確定該車載終端合法,從而即可向車載終端返回認(rèn)證響應(yīng)消息。
進(jìn)一步地,可以設(shè)置車載終端與服務(wù)器間通信消息的格式,來簡化車載終端和服務(wù)器通信時(shí)的解析過程。具體的,上述握手認(rèn)證請求和認(rèn)證響應(yīng)消息,都可以如下表所示,包括:記錄協(xié)議頭(Record header)、消息體(Message Body)和與所述消息體對應(yīng)的消息認(rèn)證碼(MAC Value)。
其中記錄協(xié)議頭是明文,MAC值是密文,消息體的內(nèi)容則根據(jù)消息類型而定,比如,若消息為握手認(rèn)證請求,則消息體可以包括握手認(rèn)證報(bào)文頭和車載終端標(biāo)識(shí)等數(shù)據(jù)報(bào)文,若消息為數(shù)據(jù)傳輸報(bào)文,則消息體可以僅為傳輸?shù)臄?shù)據(jù)值。
另外,車載終端和服務(wù)器中的第一初始密鑰,主要包括兩部分:讀密鑰和寫密鑰;
所述讀密鑰和寫密鑰中分別包括對稱加密密鑰值、隨機(jī)向量和哈希運(yùn)算消息認(rèn)證碼算法(Hash-based Message Authentication Code,簡稱HMAC)密鑰。密鑰的三個(gè)部分中,每一端的讀和寫方向的密鑰都不相同,但本端的讀密鑰一定與對端的寫密鑰相同,本端的寫密鑰一定與對端的讀密鑰相同。讀方向和寫方向使用不同的密鑰會(huì)使得協(xié)議抗統(tǒng)計(jì)分析攻擊的能力更強(qiáng),從而提高了安全性。
S103,所述車載終端根據(jù)所述認(rèn)證響應(yīng)消息,與所述服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。
具體的,車載終端在收到服務(wù)器返回的認(rèn)證響應(yīng)消息后,即可確定服務(wù)器合法,從而即可與服務(wù)器建立安全認(rèn)證傳輸協(xié)議(Security Authentication and Transportation Layer,簡稱SATL)連接,并通過該協(xié)議進(jìn)行數(shù)據(jù)傳輸。
可以理解的是,車載終端與服務(wù)器間每次建立TCP連接后,都需要通過上述方式,建立STAL連接,在這個(gè)過程中可以完成身份的認(rèn)證和密鑰的更新。進(jìn)行身份認(rèn)證的目的是使車載終端或服務(wù)器確認(rèn)對端的合法身份,防止虛假通信端、中間人攻擊和重放攻擊。更新密鑰的目的是加強(qiáng)密鑰的安全性。
本申請實(shí)施例提供的車聯(lián)網(wǎng)安全通信方法,車載終端在確定于服務(wù)器建立了TCP連接后,即可基于預(yù)設(shè)的初始密鑰和與服務(wù)器相同的對稱加密算法,向服務(wù)器發(fā)送握手認(rèn)證請求,然后在收到服務(wù)器返回的認(rèn)證響應(yīng)消息后,即可與服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
通過上述分析可知,車載終端可以通過對稱算法與服務(wù)器進(jìn)行握手認(rèn)證,從而與服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接,利用輕量級(jí)的安全傳輸協(xié)議,占用較少的資源,即可實(shí)現(xiàn)車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
進(jìn)一步地,為了防止車載終端發(fā)送的握手認(rèn)證請求被非法篡改,上述步驟101中,車載終端還可以根據(jù)利用偽隨機(jī)數(shù)生成器(Pseudorandom Number Generator,簡稱PRNG)生成一個(gè)隨機(jī)數(shù),并利用哈希算法,根據(jù)隨機(jī)數(shù)和初始密鑰生成一個(gè)哈希值,然后將該哈希值作為密文與車載終端的標(biāo)識(shí)一同發(fā)送給服務(wù)器進(jìn)行握手認(rèn)證,下面結(jié)合圖3,對車載終端與服務(wù)器間的認(rèn)證過程進(jìn)行詳細(xì)介紹。即如圖3所示,圖3為本申請實(shí)施例提供的車載終端與服務(wù)器的認(rèn)證過程示意圖。
如圖3所示,車載終端與服務(wù)器的認(rèn)證過程包括:
S301,所述車載終端根據(jù)預(yù)設(shè)的規(guī)則,生成第一隨機(jī)數(shù)。
其中,預(yù)設(shè)的規(guī)則,可以為偽隨機(jī)數(shù)生成器默認(rèn)的規(guī)則,也可以為用戶預(yù)置的規(guī)則,本實(shí)施例對此不作限定。
S302,所述車載終端根據(jù)所述第一隨機(jī)數(shù)及所述第一初始密鑰,生成第一哈希值。
S303,所述車載終端采用與所述服務(wù)器相同的對稱加密算法,將所述第一哈希值進(jìn)行加密處理。
S304,所述車載終端向所述服務(wù)器發(fā)送包括所述車載終端的標(biāo)識(shí)、第一隨機(jī)數(shù)和加密后的第一哈希值的握手認(rèn)證請求。
具體的,服務(wù)器在收到握手認(rèn)證請求后,即可對握手認(rèn)證請求進(jìn)行解密,并判斷根據(jù)第一隨機(jī)數(shù)及本地存儲(chǔ)的與車載終端標(biāo)識(shí)對應(yīng)的初始密鑰生成的哈希值,與解密得到的第一哈希值是否匹配,若匹配,則向車載終端返回認(rèn)證響應(yīng)消息,否則結(jié)束。
需要說明的是,服務(wù)器若確定解密得到的第一哈希值與根據(jù)算法生成的第一哈希值匹配,則可確定該握手認(rèn)證請求合法,未被修改,否則,可向車載終端返回握手失敗消息,從而使車載終端重新發(fā)起握手認(rèn)證請求。
S305,車載終端收到服務(wù)器返回的認(rèn)證響應(yīng)消息。
其中,認(rèn)證響應(yīng)消息中,包括加密后的第一隨機(jī)數(shù)、更新密鑰和第二哈希值。
具體的,第二哈希值,是服務(wù)器根據(jù)更新密鑰和第一隨機(jī)數(shù)生成的。
S306,所述車載終端判斷解密后得到的第一隨機(jī)數(shù)與生成的第一隨機(jī)數(shù)是否匹配,若匹配,則執(zhí)行S307,否則,執(zhí)行S301。
S307,根據(jù)解密后得到的更新密鑰進(jìn)行密鑰更新。
具體的,車載終端在將認(rèn)證響應(yīng)消息解密后,即可對比認(rèn)證響應(yīng)消息中的第一隨機(jī)數(shù),與之前本地生成的第一隨機(jī)數(shù)是否相同,若相同,則可確定發(fā)送認(rèn)證響應(yīng)消息的服務(wù)器合法,從而即可根據(jù)認(rèn)證響應(yīng)消息中的更新密鑰進(jìn)行密鑰更新,否則,即可返回S301.
進(jìn)一步的,為了使服務(wù)器可以確定車載終端是否進(jìn)行了密鑰更新,車載終端進(jìn)行密鑰更新后,可以再向服務(wù)器返回一個(gè)密鑰更新確認(rèn)消息,從而使服務(wù)器可以與車載終端同步進(jìn)行密鑰更新。
舉例來說,服務(wù)器可以在向車載終端返回認(rèn)證響應(yīng)消息前,利用隨機(jī)數(shù)生成器,生成一個(gè)第二隨機(jī)數(shù),然后將第二隨機(jī)數(shù)加密后,通過認(rèn)證響應(yīng)消息發(fā)送給車載終端,車載終端在根據(jù)第一隨機(jī)數(shù),確定服務(wù)器合法后,即可根據(jù)第二隨機(jī)數(shù)和更新密鑰生成一個(gè)哈希值,并將哈希值加密后返回給服務(wù)器,從而服務(wù)器在將密鑰更新確認(rèn)消息解密后,即可通過判斷密鑰更新確認(rèn)消息中的第二隨機(jī)數(shù)與之前生成的第二隨機(jī)數(shù)是否相同,若相同,則可確定車載終端進(jìn)行了密鑰更新,從而服務(wù)器也可將與車載終端標(biāo)識(shí)對應(yīng)的密鑰替換為更新密鑰,從而完成了身份認(rèn)證過程。
可以理解的是,車載終端與服務(wù)器之間的密鑰必須保持一致,否則下次通信就會(huì)失敗。但密鑰更新可能由于通信鏈路的問題而無法成功,這樣就要求協(xié)議必須在密鑰更新失敗的情況下也能保證下次通信正常。
因此,服務(wù)器中可以為每個(gè)車載終端保存兩份密鑰,一份是舊的(記做KO),一份是新的(記做KN)。在握手認(rèn)證請求到來時(shí),先用KN解密,如果更新成功,則KN會(huì)解密成功,如果解密失敗,再用KO解密,如果更新失敗,則用KO解密就會(huì)成功。如果確定密鑰更新成功,則再次更新密鑰時(shí)會(huì)寫覆蓋KO,保留KN;否則寫覆蓋KN,保留KO。
本實(shí)施例中,車載終端和服務(wù)器在身份認(rèn)證過程中,采用使用資源較少的對稱的加密、解密算法,進(jìn)行身份認(rèn)證和密鑰更新,即提高了車載終端和服務(wù)器通信的安全性,又降低了對車載終端和服務(wù)器的資源消耗。
在車載終端與服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接后,即可進(jìn)行數(shù)據(jù)傳輸,下面結(jié)合圖4,對本申請實(shí)施例提供的車聯(lián)網(wǎng)安全通信方法進(jìn)行進(jìn)一步說明。
圖4為本申請實(shí)施例提供的車載終端與服務(wù)器進(jìn)行數(shù)據(jù)傳輸?shù)牧鞒淌疽鈭D。
如圖4所示,在上述S307之后,還包括:
S401,所述車載終端根據(jù)待傳輸?shù)臄?shù)據(jù)類型,構(gòu)造第一記錄協(xié)議頭。
其中,第一記錄協(xié)議頭,用于表征待傳輸數(shù)據(jù)的類型,比如為車輛行駛消息,或者警報(bào)數(shù)據(jù)等。
S402,所述車載終端對所述第一記錄協(xié)議頭和待傳輸?shù)臄?shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定待傳輸數(shù)據(jù)的第一消息認(rèn)證碼。
S403,所述車載終端利用更新后的密鑰和加密函數(shù),將所述待傳輸?shù)臄?shù)據(jù)本體和所述第一消息認(rèn)證碼進(jìn)行加密處理后,傳輸給所述服務(wù)器。
具體的,車載終端在確定了待傳輸?shù)南⒌母鞑糠值膬?nèi)容后,即可采用本地的寫密鑰和加密函數(shù),將數(shù)據(jù)本體和第一消息認(rèn)證碼加密后,傳輸給服務(wù)器,從而使服務(wù)器采用對稱的解密密鑰和解密函數(shù),將收到的消息進(jìn)行解密,以獲得對應(yīng)的數(shù)據(jù)。
進(jìn)一步地,服務(wù)器在對車載終端中的數(shù)據(jù)進(jìn)行修改時(shí),可以與車載終端相同的方式,將數(shù)據(jù)本體和對應(yīng)的消息認(rèn)證碼加密得到傳輸報(bào)文后,再發(fā)送給車載終端,相應(yīng)的該方法,還包括:
S404,所述車載終端接收所述服務(wù)器發(fā)送的數(shù)據(jù)報(bào)文。
S405,所述車載終端根據(jù)所述數(shù)據(jù)報(bào)文中的第二記錄協(xié)議頭,確定所述數(shù)據(jù)報(bào)文中第二消息認(rèn)證碼的位置。
S406,所述車載終端利用更新后的密鑰和與服務(wù)器中加密函數(shù)對稱的解密函數(shù),對所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,以獲取所述數(shù)據(jù)報(bào)文中包括的數(shù)據(jù)本體和第二消息認(rèn)證碼。
S407,所述車載終端對所述第二記錄協(xié)議頭和所述數(shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定第三消息認(rèn)證碼。
S408,所述車載終端判斷所述第二消息認(rèn)證碼與所述第三消息認(rèn)證碼是否一致,若一致,則將所述數(shù)據(jù)本體發(fā)送至所述車載終端中的應(yīng)用層。
具體的,車載終端在收到服務(wù)器發(fā)送的數(shù)據(jù)報(bào)文后,首先通過對稱的解密密鑰和對應(yīng)的解密函數(shù),解密后得到數(shù)據(jù)報(bào)文中包括的數(shù)據(jù)本體和第二消息認(rèn)證碼,然后再根據(jù)數(shù)據(jù)本體運(yùn)算得到第三消息認(rèn)證碼,若第三消息認(rèn)證碼與第二消息認(rèn)證碼一致,則說明服務(wù)器發(fā)送的數(shù)據(jù)報(bào)文可靠,從而即可將明文數(shù)據(jù)本體發(fā)送給應(yīng)用層,以使車載終端根據(jù)明文數(shù)據(jù)進(jìn)行修改。而若第三消息認(rèn)證碼與第二消息認(rèn)證碼不一致,則可認(rèn)為安全認(rèn)證傳輸協(xié)議連接不可靠,從而即可關(guān)閉該鏈接,再重新建立一個(gè)新的連接,或者向服務(wù)器返回傳輸異常消息。
進(jìn)一步,在車載終端與服務(wù)器之間完成數(shù)據(jù)傳輸后,還可以關(guān)閉SATL連接,從而使車載終端和服務(wù)器釋放相應(yīng)的資源,即該方法還包括:
所述車載終端接收所述服務(wù)器發(fā)送的連接關(guān)閉消息;
所述車載終端根據(jù)所述連接關(guān)閉消息,釋放與消息接收關(guān)聯(lián)的本地資源。
相應(yīng)地,車載終端也可以在完成數(shù)據(jù)發(fā)送后,向服務(wù)器發(fā)送連接關(guān)閉消息,即該方法還包括:
所述車載終端判斷本地是否有待傳輸?shù)臄?shù)據(jù)報(bào)文;
若無,則向所述服務(wù)器返回連接關(guān)閉響應(yīng)消息,以使所述服務(wù)器關(guān)閉與所述車載終端之間的通信連接。
如果通信雙方希望基于當(dāng)前TCP連接重新建立SATL連接,則必須遵循上述流程關(guān)閉舊SATL連接,或者也可以通過直接關(guān)閉TCP連接的方式關(guān)閉SATL連接。
本實(shí)施例提供的車聯(lián)網(wǎng)安全通信方法,車載終端與服務(wù)器建立STAL連接后,即可根據(jù)待傳輸?shù)臄?shù)據(jù)本體,構(gòu)造傳輸?shù)膱?bào)文,并通過STAL連接,將數(shù)據(jù)報(bào)文可靠傳輸給對端,并在數(shù)據(jù)傳輸結(jié)束后,實(shí)時(shí)關(guān)閉STAL連接,以釋放車載終端和服務(wù)器中的資源。由此,即提高了車載終端和服務(wù)器通信的安全性,又降低了對車載終端和服務(wù)器的資源消耗。圖5為本申請實(shí)施例提供的另一種車聯(lián)網(wǎng)安全通信方法的流程示意圖。
如圖5所示,該方法包括:
S501,服務(wù)器接收車載終端發(fā)送的握手認(rèn)證請求。
其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;
S502,所述服務(wù)器根據(jù)所述車載終端的標(biāo)識(shí),獲取本地存儲(chǔ)的與所述車載終端的標(biāo)識(shí)對應(yīng)的第二初始密鑰;
S503,所述服務(wù)器采用與所述車載終端對稱的解密算法,對所述握手認(rèn)證請求進(jìn)行解密,以確定所述握手認(rèn)證請求中攜帶的第一初始密鑰;
S504,所述服務(wù)器判斷所述第一初始密鑰與所述第二初始密鑰是否一致;
S505,若一致,則向所述車載終端返回認(rèn)證響應(yīng)消息。
具體的,本實(shí)施例提供的車聯(lián)網(wǎng)安全通信方法的執(zhí)行主體為服務(wù)器。在本實(shí)施例中,服務(wù)器采用與車載終端對稱的密鑰和加密、解密算法,通過與車載終端的交互,建立SATL連接,從而實(shí)現(xiàn)數(shù)據(jù)的安全,可靠傳輸。
該方法的具體實(shí)現(xiàn)過程,可參照上述實(shí)施例對車載終端側(cè)的詳細(xì)描述,此處不再贅述。
本申請實(shí)施例的車聯(lián)網(wǎng)安全通信方法,服務(wù)器在收到車載終端發(fā)送的握手認(rèn)證請求后,根據(jù)車載終端的標(biāo)識(shí),獲取與車載終端標(biāo)識(shí)對應(yīng)的第二初始密鑰,然后采用與車載終端對稱的解密算法,對握手認(rèn)證請求進(jìn)行解密,得到握手認(rèn)證請求中的第一初始密鑰,在確定第一初始密鑰與第二密鑰一致時(shí),向車載終端返回認(rèn)證響應(yīng)消息。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
為了實(shí)現(xiàn)上述實(shí)施例,本申請還提出一種車載終端。
圖6是本申請一個(gè)實(shí)施例的車載終端的結(jié)構(gòu)示意圖。
如圖6所示,該車載終端60包括:存儲(chǔ)器61和處理器62。
其中,存儲(chǔ)器61,用于存儲(chǔ)程序代碼;
所述處理器62,用于調(diào)用所述存儲(chǔ)61中的代碼,以執(zhí)行以下過程:
在確定與服務(wù)器已完成傳輸控制協(xié)議連接后,向服務(wù)器發(fā)送握手認(rèn)證請求,其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;
接收所述服務(wù)器返回的認(rèn)證響應(yīng)消息,所述認(rèn)證響應(yīng)消息是所述服務(wù)器在確定所述車載終端合法后返回的;
根據(jù)所述認(rèn)證響應(yīng)消息,與所述服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。
其中,本實(shí)施例提供的車載終端,用于執(zhí)行上述實(shí)施例一提供的車聯(lián)網(wǎng)安全通信方法。
在本實(shí)施例一種可能的實(shí)現(xiàn),所述處理器62,還用于:
根據(jù)預(yù)設(shè)的規(guī)則,生成第一隨機(jī)數(shù);
根據(jù)所述第一隨機(jī)數(shù)及所述第一初始密鑰,生成第一哈希值;
采用與所述服務(wù)器相同的對稱加密算法,將所述第一哈希值進(jìn)行加密處理;
向所述服務(wù)器發(fā)送包括所述車載終端的標(biāo)識(shí)和加密后的第一哈希值的握手認(rèn)證請求。
在本實(shí)施例一種可能的實(shí)現(xiàn),所述認(rèn)證響應(yīng)消息中包括加密后的第一隨機(jī)數(shù)、更新密鑰和第二哈希值;
相應(yīng)的,所述處理器62,還用于:
將所述認(rèn)證響應(yīng)消息進(jìn)行解密處理;
判斷解密后得到的第一隨機(jī)數(shù)與生成的第一隨機(jī)數(shù)是否匹配;
若匹配,則根據(jù)解密后得到的更新密鑰進(jìn)行密鑰更新。
在本實(shí)施例另一種可能的實(shí)現(xiàn),所述認(rèn)證響應(yīng)消息中還包括加密后的第二隨機(jī)數(shù);
相應(yīng)的,所述處理器62,還用于:
向所述服務(wù)器返回密鑰更新確認(rèn)消息,所述密鑰更新確認(rèn)消息中包括加密后的第二隨機(jī)數(shù)和根據(jù)所述更新密鑰及第二隨機(jī)數(shù)生成的第二哈希值,以使所述服務(wù)器進(jìn)行密鑰更新。
在本實(shí)施例另一種可能的實(shí)現(xiàn),所述握手認(rèn)證請求和認(rèn)證響應(yīng)消息中,包括:
記錄協(xié)議頭、消息體和與所述消息體對應(yīng)的消息認(rèn)證碼。
在本實(shí)施例另一種可能的實(shí)現(xiàn),所述初始密鑰中包括:讀密鑰和寫密鑰;
所述讀密鑰和寫密鑰中分別包括對稱加密密鑰值、隨機(jī)向量和哈希運(yùn)算消息認(rèn)證碼算法密鑰。
在本實(shí)施例另一種可能的實(shí)現(xiàn),所述處理器62,還用于:
根據(jù)待傳輸?shù)臄?shù)據(jù)類型,構(gòu)造第一記錄協(xié)議頭;
對所述第一記錄協(xié)議頭和待傳輸?shù)臄?shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定待傳輸數(shù)據(jù)的第一消息認(rèn)證碼;
利用更新后的密鑰和加密函數(shù),將所述待傳輸?shù)臄?shù)據(jù)本體和所述第一消息認(rèn)證碼進(jìn)行加密處理后,傳輸給所述服務(wù)器。
在本實(shí)施例又一種可能的實(shí)現(xiàn),所述處理器62,還用于:
接收所述服務(wù)器發(fā)送的數(shù)據(jù)報(bào)文;
根據(jù)所述數(shù)據(jù)報(bào)文中的第二記錄協(xié)議頭,確定所述數(shù)據(jù)報(bào)文中第二消息認(rèn)證碼的位置;
利用更新后的密鑰和與服務(wù)器中加密函數(shù)對稱的解密函數(shù),對所述數(shù)據(jù)報(bào)文進(jìn)行解密處理,以獲取所述數(shù)據(jù)報(bào)文中包括的數(shù)據(jù)本體和第二消息認(rèn)證碼;
對所述第二記錄協(xié)議頭和所述數(shù)據(jù)本體,進(jìn)行哈希信息驗(yàn)證碼運(yùn)算,確定第三消息認(rèn)證碼;
判斷所述第二消息認(rèn)證碼與所述第三消息認(rèn)證碼是否一致,若一致,則將所述數(shù)據(jù)本體發(fā)送至所述車載終端中的應(yīng)用層。
在本實(shí)施例又一種可能的實(shí)現(xiàn)形式中,所述處理器62,還用于:
接收所述服務(wù)器發(fā)送的連接關(guān)閉消息;
根據(jù)所述連接關(guān)閉消息,釋放與消息接收關(guān)聯(lián)的本地資源。
在本實(shí)施例再一種可能的實(shí)現(xiàn)形式中,所述處理器62,還用于:
所述車載終端判斷本地是否有待傳輸?shù)臄?shù)據(jù)報(bào)文;
若無,則向所述服務(wù)器返回連接關(guān)閉響應(yīng)消息,以使所述服務(wù)器關(guān)閉與所述車載終端之間的通信連接。
需要說明的是,前述對車聯(lián)網(wǎng)安全通信方法實(shí)施例的解釋說明也適用于該實(shí)施例的車載終端,此處不再贅述。
本申請實(shí)施例的車載終端,車載終端在確定于服務(wù)器建立了TCP連接后,即可基于預(yù)設(shè)的初始密鑰和與服務(wù)器相同的對稱加密算法,向服務(wù)器發(fā)送握手認(rèn)證請求,然后在收到服務(wù)器返回的認(rèn)證響應(yīng)消息后,即可與服務(wù)器建立安全認(rèn)證傳輸協(xié)議連接。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
圖7是本申請一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。
如圖7所示,該服務(wù)器70,包括:存儲(chǔ)器71和處理器72。
其中,存儲(chǔ)器71用于存儲(chǔ)程序代碼;
所述處理器72用于調(diào)用所述存儲(chǔ)器中的程序代碼,以執(zhí)行以下操作:
接收車載終端發(fā)送的握手認(rèn)證請求,其中,所述握手認(rèn)證請求中包括所述車載終端的標(biāo)識(shí)及采用與所述服務(wù)器相同的對稱加密算法加密的第一哈希值;
根據(jù)所述車載終端的標(biāo)識(shí),獲取本地存儲(chǔ)的與所述車載終端的標(biāo)識(shí)對應(yīng)的第二初始密鑰;
采用與所述車載終端對稱的解密算法,對所述握手認(rèn)證請求進(jìn)行解密,以確定所述握手認(rèn)證請求中攜帶的第一初始密鑰;
判斷所述第一初始密鑰與所述第二初始密鑰是否一致;
若一致,則向所述車載終端返回認(rèn)證響應(yīng)消息。
需要說明的是,該服務(wù)器通過執(zhí)行與上述車載終端交互的方法,以與車載終端建立輕量級(jí)的安全通信連接,從而保證數(shù)據(jù)傳輸?shù)陌踩?/p>
需要說明的是,前述對車聯(lián)網(wǎng)安全通信方法實(shí)施例的解釋說明也適用于該實(shí)施例的服務(wù)器,此處不再贅述。
本申請實(shí)施例的服務(wù)器,服務(wù)器在收到車載終端發(fā)送的握手認(rèn)證請求后,根據(jù)車載終端的標(biāo)識(shí),獲取與車載終端標(biāo)識(shí)對應(yīng)的第二初始密鑰,然后采用與車載終端對稱的解密算法,對握手認(rèn)證請求進(jìn)行解密,得到握手認(rèn)證請求中的第一初始密鑰,在確定第一初始密鑰與第二密鑰一致時(shí),向車載終端返回認(rèn)證響應(yīng)消息。由此,實(shí)現(xiàn)了在車載終端和服務(wù)器間建立輕量級(jí)的安全認(rèn)證傳輸協(xié)議,利用較少的資源,提高了車載終端和服務(wù)器間數(shù)據(jù)傳輸?shù)陌踩浴?/p>
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請的至少一個(gè)實(shí)施例或示例中。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。
應(yīng)當(dāng)理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本申請的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本申請的限制,本領(lǐng)域的普通技術(shù)人員在本申請的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。