本發(fā)明涉及車輛技術(shù)領(lǐng)域,特別涉及一種車載電器的認證方法、系統(tǒng)及其裝置。
背景技術(shù):
隨著電子技術(shù)越來越多地應(yīng)用于車輛,車載電子設(shè)備(例如,電子控制模塊,各種告警系統(tǒng)、娛樂系統(tǒng)、防御系統(tǒng)、視覺系統(tǒng)等)越來越多。車載電子設(shè)備之間需要通過車載網(wǎng)絡(luò)(如CAN(Controller Area Network,控制器局域網(wǎng))、Lin、無線射頻等)相互通訊。為保證整車系統(tǒng)的穩(wěn)定性,要求各個車載電子設(shè)備必須是原廠或授權(quán)廠商生產(chǎn)的,這就需要對車載電子設(shè)備進行身份認證。
目前,車載電子設(shè)備的身份認證機制大多基于加密通信技術(shù),其實現(xiàn)方式可為:認證服務(wù)器向車載電子設(shè)備發(fā)送一組數(shù)據(jù)(原文),車載電子設(shè)備將該數(shù)據(jù)加密(得到密文)后反饋給認證服務(wù)器;認證服務(wù)器以相同的方式對原文加密,并將加密得到的密文與車載電子設(shè)備反饋的數(shù)據(jù)進行對比;或者是將車載電子設(shè)備反饋的密文解密,然后將解密結(jié)果與原文對比,若相同,則車載電子設(shè)備合法,否則車載電子設(shè)備非法。
由此可見,認證機制的安全性主要依賴于加密算法和密鑰本身的可靠性,以及加密算法和密鑰的保密管理。而前述方式認證機制的加密算法和密鑰都是單一和固定的,受限于硬件設(shè)備,其保密強度不夠高,容易被破解。而單一的加密算法和密鑰一旦被破解,整個認證系統(tǒng)將失效,需要更新算法或密鑰,并且無法向前兼容,即升級后的認證服務(wù)器無法兼容未升級的車載電子設(shè)備,而升級后的車載電子設(shè)備也無法兼容未升級的認證服務(wù)器。此外,為了使用方便,加密算法和密鑰通常都以軟件庫的形式提供,若軟件庫管理不當,其泄漏后也會造成認證系統(tǒng)失效。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決上述技術(shù)問題。
為此,本發(fā)明的第一個目的在于提出一種車載電器的認證方法,破解難度高,密鑰安全性高,具有很強的可升級性和兼容性,能夠有效避免因加密算法和密鑰被泄露或破解而導致認證機制失效的后果。
本發(fā)明的第二個目的在于提出一種車載電器的認證系統(tǒng)。
為達上述目的,根據(jù)本發(fā)明第一方面實施例提出了一種車載電器的認證方法,包括以下步驟:認證服務(wù)器生成第一原文并根據(jù)預(yù)設(shè)加密算法和密鑰對所述第一原文進行加密以生成第一密文,其中,所述第一原文包括隨機數(shù)、密鑰標識和加密算法標識;車載電器根據(jù)所述預(yù)設(shè)加密算法和密鑰對所述第一密文進行解密以獲取所述第一原文中的隨機數(shù)、密鑰標識和加密算法標識;所述車載電器根據(jù)所述隨機數(shù)生成第二原文;所述車載電器根據(jù)所述密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對所述第二原文進行加密以生成第二密文;以及所述車載電器將所述第二密文發(fā)送至所述認證服務(wù)器,以使所述認證服務(wù)器根據(jù)所述第二密文對所述車載電器進行認證。
本發(fā)明實施例的車載電器的認證方法,認證服務(wù)器可根據(jù)預(yù)設(shè)加密算法和密鑰對包括隨機數(shù)、密鑰標識和加密算法標識的第一原文進行加密得到第一密文,車載電器可根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密,并根據(jù)得到的密鑰標識和加密算法標識對應(yīng)的加密算法和密鑰對解密得到的隨機數(shù)進行二次加密后得到第二密文,并發(fā)送至認證服務(wù)器進行認證,通過采用多種、多重加密算法和多套密鑰,增加了破解難度,同時減少了加密通訊次數(shù),使得對加密數(shù)據(jù)的采樣變得困難,進一步增加了破解的難度。并且,密鑰不存在加密庫中,可以避免因加密庫的泄漏導致密鑰一同泄漏的問題,提高可密鑰的安全性。此外,具有很強的可升級性和兼容性,加密算法和密鑰可更換,在加密算法或密鑰被破解或泄露后可通過升級認證服務(wù)器或者更新加密算法和密鑰來避免因加密算法和密鑰被泄露或破解而導致認證機制失效的后果。
本發(fā)明第二方面實施例提供了一種車載電器的認證系統(tǒng),包括:認證服務(wù)器,所述認證服務(wù)器用于生成第一原文并根據(jù)預(yù)設(shè)加密算法和密鑰對所述第一原文進行加密以生成第一密文,其中,所述第一原文包括隨機數(shù)、密鑰標識和加密算法標識;車載電器,所述車載電器用于根據(jù)所述預(yù)設(shè)加密算法和密鑰對所述第一密文進行解密以獲取所述第一原文中的隨機數(shù)、密鑰標識和加密算法標識,并所述車載電器根據(jù)所述隨機數(shù)生成第二原文,并根據(jù)所述密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對所述第二原文進行加密以生成第二密文,以及將所述第二密文發(fā)送至所述認證服務(wù)器,以使所述認證服務(wù)器根據(jù)所述第二密文對所述車載電器進行認證。
本發(fā)明第三方面實施例還提供了一種認證服務(wù)器,包括:第一原文生成模塊,用于生成第一原文,其中,所述第一原文包括隨機數(shù)、密鑰標識和加密算法標識;第一密文生成模塊,用于根據(jù)預(yù)設(shè)加密算法和密鑰對所述第一原文進行加密以生成第一密文;第一發(fā)送模塊,用于將所述第一密文發(fā)送至車載電器;第一接收模塊,用于接收所述車載電器發(fā)送的第二密文;認證模塊,用于根據(jù)所述第二密文對所述車載電器進行認證。
本發(fā)明第四方面實施例一種車載電器,包括:第二接收模塊,用于接收認證服務(wù)器發(fā)送的第一密文;解密模塊,用于根據(jù)預(yù)設(shè)加密算法和密鑰對所述第一密文進行解密以獲取第一原文中的隨機數(shù)、密鑰標識和加密算法標識;第二原文生成模塊,用于根據(jù)所述隨機數(shù)生成第二原文;第二密文生成模塊,用于根據(jù)所述密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對所述第二原文進行加密以生成第二密文;第二發(fā)送模塊,用于將所述第二密文發(fā)送至所述認證服務(wù)器,以使所述認證服務(wù)器根據(jù)所述第二密文對所述車載電器進行認證。
本發(fā)明實施例的車載電器的認證系統(tǒng),認證服務(wù)器可根據(jù)預(yù)設(shè)加密算法和密鑰對包括隨機數(shù)、密鑰標識和加密算法標識的第一原文進行加密得到第一密文,車載電器可根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密,并根據(jù)得到的密鑰標識和加密算法標識對應(yīng)的加密算法和密鑰對解密得到的隨機數(shù)進行二次加密后得到第二密文,并發(fā)送至認證服務(wù)器進行認證,通過采用多種、多重加密算法和多套密鑰,增加了破解難度,同時減少了加密通訊次數(shù),使得對加密數(shù)據(jù)的采樣變得困難,進一步增加了破解的難度。并且,密鑰不存在加密庫中,可以避免因加密庫的泄漏導致密鑰一同泄漏的問題,提高可密鑰的安全性。此外,具有很強的可升級性和兼容性,加密算法和密鑰可更換,在加密算法或密鑰被破解或泄露后可通過升級認證服務(wù)器或者更新加密算法和密鑰來避免因加密算法和密鑰被泄露或破解而導致認證機制失效的后果。
本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本發(fā)明一個實施例的車載電器的認證方法的流程圖;
圖2為根據(jù)本發(fā)明一個實施例的認證服務(wù)器根據(jù)第二密文對車載電器進行認證的方法的流程圖;
圖3為根據(jù)本發(fā)明一個實施例的車載電器的認證系統(tǒng)的結(jié)構(gòu)框圖。
圖4所示為根據(jù)本發(fā)明一個實施例的認證服務(wù)器的結(jié)構(gòu)圖;
圖5所示為根據(jù)本發(fā)明一個實施例的車載電器的結(jié)構(gòu)圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
在本發(fā)明的描述中,需要理解的是,術(shù)語“多個”指兩個或兩個以上;術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性。
下面參考附圖描述根據(jù)本發(fā)明實施例的車載電器的認證方法和系統(tǒng)。
圖1為根據(jù)本發(fā)明一個實施例的車載電器的認證方法的流程圖。
如圖1所示,根據(jù)本發(fā)明實施例的車載電器的認證方法,包括:
S101,認證服務(wù)器生成第一原文并根據(jù)預(yù)設(shè)加密算法和密鑰對第一原文進行加密以生成第一密文,其中,第一原文包括隨機數(shù)、密鑰標識和加密算法標識。
由于單一的加密算法和密鑰的可靠性低,可升級性和兼容性差。因此,在本發(fā)明的一個實施例中,在加密算法庫中可內(nèi)置有多種加密算法,并隨同加密算法庫提供多套密鑰。其中,每種加密算法分別對應(yīng)一個加密算法標識,每套密鑰分別對應(yīng)一個密鑰標識。加密算法標識用于唯一確定一種加密算法信息,一種加密算法信息可以對應(yīng)一種加密算法或者對應(yīng)多種加密算法的組合。密鑰標識用于唯一確定一個密鑰信息,密鑰信息為密鑰內(nèi)容或存儲位置。
在本發(fā)明的實施例中,加密算法可包括DES(Data Encryption Standard,數(shù)據(jù)加密標準)算法、AES(Advanced Encryption Standard,高級加密標準)算法、RSA(一種非對稱加密算法)、Hash(哈希)等算法,也可包括自定義的算法。在本發(fā)明的實施例中,加密算法標識和密鑰標識可為數(shù)字、字母或者字符串等。
舉例來說,可用0001表示采用DES算法加密,用0010表示采用AES,0011表示先用DES加密后再用AES加密等??捎?x000000表示內(nèi)置的第1套密鑰,用0x000002表示內(nèi)置的第2套密鑰,用0x800010表示密鑰的存儲地址為0xDF000010處等。
其中,隨機數(shù)為認證服務(wù)器生成的隨機數(shù)據(jù)。預(yù)設(shè)的加密算法和密鑰是預(yù)先設(shè)定的,設(shè)定后是固定不變的,可預(yù)先在認證服務(wù)器和車載電器中均存儲預(yù)設(shè)的加密算法和密鑰,以供認證過程中加密或解密時使用。
在本發(fā)明的一個實施例中,預(yù)設(shè)的加密算法可以是從加密算法庫中選定的,預(yù)設(shè)的密鑰可以是從隨同加密算法庫提供的多套密鑰中的一個。
認證服務(wù)器和車載電器中均存儲有加密算法庫和多套密鑰。從而,相對于傳統(tǒng)使用單一的加密算法和密鑰時,如果認證服務(wù)器或車載電器任一方升級加密算法或密鑰都會導致另一方因無法解密而使認證機制無效,本實施例中無論認證服務(wù)器或者車載電器當從使用一種加密算法和/或密鑰升級為使用另一種加密算法和/或另一種密鑰時,另一方都可從存儲的加密算法庫和多套密鑰中選擇相匹配的加密算法和密鑰進行匹配,以使認證服務(wù)器與車載電器實現(xiàn)兼容,并且升級方式十分方便。此外,如果當前使用的加密算法和密鑰被泄露或者破解,可升級認證服務(wù)器,以使認證服務(wù)器選擇其他加密算法和密鑰進行更換,并顯式或隱式地通知車載產(chǎn)品進行相應(yīng)地加密算法和密鑰更換。由此可見,本發(fā)明實施例具有很強的可靠性、可升級性和兼容性。
認證服務(wù)器可從加密算法庫中選擇密鑰標識和加密算法標識,然后根據(jù)預(yù)設(shè)的加密算法和密鑰對包括隨機數(shù)、選擇的密鑰標識和加密算法標識的第一原文進行加密以生成第一密文,并發(fā)送給待認證的車載電器。以使車載電器根據(jù)認證服務(wù)器選擇的密鑰標識和加密算法標識從加密算法庫中選擇加密算法和密鑰以供車載電器后續(xù)對接收到的原文進行加密使用。由此,具有多種加密算法和多套密鑰,增加了破解難度,能夠避免單一的加密算法和密鑰被泄露而導致認證機制失效,提高了認證的可靠性。
在本發(fā)明的另一個實施例,認證服務(wù)器還可選擇程序片段或數(shù)據(jù)片段作為預(yù)設(shè)的密鑰。同理,第一原文中的密鑰標識也可以是認證服務(wù)器所選擇的某一程序片段或者數(shù)據(jù)片段的存儲地址對應(yīng)密鑰標識。由此,使用程序片段或者數(shù)據(jù)片段作為密鑰,使得密鑰的數(shù)據(jù)量非常龐大,幾乎可以無限更換密鑰,加大了破解難度。并且程序片段或數(shù)據(jù)片段不易泄露,從而即使加密算法庫被泄露,程序片段或數(shù)據(jù)片段作為密鑰也不會被泄露,即使作為密鑰的程序片段或數(shù)據(jù)片段被泄露,也可通過升級認證服務(wù)器來更新程序片段或數(shù)據(jù)片段,以實現(xiàn)密鑰的更新,從而保證了密鑰的安全性。
S102,車載電器根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密以獲取第一原文中的隨機數(shù)、密鑰標識和加密算法標識。
其中,車載電器為車輛中的車載電子設(shè)備,例如車窗升降控制器、ECU(Electronic Control Unit,電子控制單元)以及其他告警系統(tǒng)、娛樂系統(tǒng)、防御系統(tǒng)、視覺系統(tǒng)中的電子設(shè)備等。
S103,車載電器根據(jù)隨機數(shù)生成第二原文。
在本發(fā)明的一個實施例中,可將隨機數(shù)作為第二原文,也在隨機數(shù)的基礎(chǔ)上加入產(chǎn)品標識和/或認證計數(shù)等信息以生成第二原文。
其中,產(chǎn)品標識為車載電器的標識信息。車載電器可能由多個供應(yīng)商提供或者是不同的型號,因此,可用產(chǎn)品標識對不同供應(yīng)商提供的車載電器或者不同型號的車載電器進行區(qū)別。一個產(chǎn)品標識唯一確定一個車載電器。
認證計數(shù)為每次認證后更新的數(shù)值。認證計數(shù)的初始值可以是一個隨機值,在每次認證之后,將當前的認證計數(shù)累加一個常數(shù)或者基于預(yù)設(shè)算法根據(jù)當前認證計數(shù)生成一個新的數(shù)值以得到新的認證計數(shù)。
S104,車載電器根據(jù)密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對第二原文進行加密以生成第二密文。
在本發(fā)明的一個實施例中,由于不同的車載電器的標識信息不同,因此,對于不同的車載電器來說,在隨機數(shù)的基礎(chǔ)上加入產(chǎn)品標識后得到的第二原文是不同的,進而加密后得到的第二密文也不相同。由此,不同的車載電器(不同型號或者不同的供應(yīng)商)接收到相同的第一密文后會有不同的響應(yīng)處理,即生成不同的第二密文。同樣地,由于每次認證中的認證計數(shù)不同,因此,在連續(xù)兩次或多次認證中,根據(jù)相同的隨機數(shù)可以生成不同的第二原文,并在加密后得到不同的第二密文。由此在不同的認證中,對于相同的第一密文會得到不同的第二密文。
S105,車載電器將第二密文發(fā)送至認證服務(wù)器,以使認證服務(wù)器根據(jù)第二密文對車載電器進行認證。
在本發(fā)明的一個實施例中,認證服務(wù)器根據(jù)第二密文對車載電器進行認證可具體包括如圖2所示的步驟。
S201,認證服務(wù)器根據(jù)密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對第二密文進行解密以生成第二原文。
具體地,認證服務(wù)器可根據(jù)第一原文中的密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對接收到的第二密文進行解密以生成第二原文,并獲得第二原文中數(shù)據(jù),如隨機數(shù)、產(chǎn)品標識或認證計數(shù)等。
S202,認證服務(wù)器將第一原文中的隨機數(shù)與第二原文中的隨機數(shù)進行比對。
S203,如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)一致,則判斷通過認證。
如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)不一致,則判斷認證失敗。
在本發(fā)明的另一個實施例中,如果第二原文中包括車載電器的產(chǎn)品標識,則該認證方法還可包括認證服務(wù)器根據(jù)第二原文中的車載電器的產(chǎn)品標識對車載電器進行認證的步驟。具體地,如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)一致時,進一步判斷車載電器的產(chǎn)品標識是否正確(即產(chǎn)品標識是否存在于認證服務(wù)器的有效產(chǎn)品標識列表中),如果正確,則判斷通過認證,否則,判斷認證失敗。
在本發(fā)明的又一個實施例中,如果第二原文中包括認證計數(shù),則該認證方法還可包括車載電器根據(jù)收到的第一原文的個數(shù)更新認證計數(shù),以及認證服務(wù)器根據(jù)第二原文中的認證計數(shù)對車載電器進行認證的步驟。具體地,認證服務(wù)器可檢查第二原文中的認證計數(shù)與認證服務(wù)器的認證計數(shù)的差值,若差值在限定的值范圍內(nèi),則判定通過驗證,并將服務(wù)器的認證計數(shù)更新為第二原文中的認證計數(shù)以消除誤差積累;否則,判斷認證失敗。
本發(fā)明實施例的車載電器的認證方法,認證服務(wù)器可根據(jù)預(yù)設(shè)加密算法和密鑰對包括隨機數(shù)、密鑰標識和加密算法標識的第一原文進行加密得到第一密文,車載電器可根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密,并根據(jù)得到的密鑰標識和加密算法標識對應(yīng)的加密算法和密鑰對解密得到的隨機數(shù)進行二次加密后得到第二密文,并發(fā)送至認證服務(wù)器進行認證,通過采用多種、多重加密算法和多套密鑰,增加了破解難度,同時減少了加密通訊次數(shù),使得對加密數(shù)據(jù)的采樣變得困難,進一步增加了破解的難度。并且,密鑰不存在于加密庫中,可以避免因加密庫的泄漏導致密鑰一同泄漏的問題,提高可密鑰的安全性。此外,具有很強的可升級性和兼容性,加密算法和密鑰可更換,在加密算法或密鑰被破解或泄露后可通過升級認證服務(wù)器或者更新加密算法和密鑰來避免因加密算法和密鑰被泄露或破解而導致認證機制失效的后果。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種車載電器的認證系統(tǒng)。
圖3為根據(jù)本發(fā)明一個實施例的車載電器的認證系統(tǒng)的結(jié)構(gòu)框圖。
如圖3所示,根據(jù)本發(fā)明實施例的車載電器的認證系統(tǒng),包括:認證服務(wù)器10和車載電器20。
其中,車載電器為車輛中的車載電子設(shè)備,例如車窗升降控制器、ECU(Electronic Control Unit,電子控制單元)以及其他告警系統(tǒng)、娛樂系統(tǒng)、防御系統(tǒng)、視覺系統(tǒng)中的電子設(shè)備等。
具體地,認證服務(wù)器10用于生成第一原文并根據(jù)預(yù)設(shè)加密算法和密鑰對第一原文進行加密以生成第一密文,其中,第一原文包括隨機數(shù)、密鑰標識和加密算法標識。
由于單一的加密算法和密鑰的可靠性低,可升級性和兼容性差。因此,在本發(fā)明的一個實施例中,在加密算法庫中可內(nèi)置有多種加密算法,并隨同加密算法庫提供多套密鑰。其中,每種加密算法分別對應(yīng)一個加密算法標識,每套密鑰分別對應(yīng)一個密鑰標識。加密算法標識用于唯一確定一種加密算法信息,一種加密算法信息可以對應(yīng)一種加密算法或者對應(yīng)多種加密算法的組合。密鑰標識用于唯一確定一個密鑰信息,密鑰信息為密鑰內(nèi)容或存儲位置。
在本發(fā)明的實施例中,加密算法可包括DES(Data Encryption Standard,數(shù)據(jù)加密標準)算法、AES(Advanced Encryption Standard,高級加密標準)算法、RSA(一種非對稱加密算法)、Hash(哈希)等算法,也可包括自定義的算法。在本發(fā)明的實施例中,加密算法標識和密鑰標識可為數(shù)字、字母或者字符串等。
舉例來說,可用0001表示采用DES算法加密,用0010表示采用AES,0011表示先用DES加密后再用AES加密等??捎?x000000表示內(nèi)置的第1套密鑰,用0x000001表示內(nèi)置的第2套密鑰,用0x800010表示密鑰的存儲地址為0xDF000010處等。
其中,隨機數(shù)為認證服務(wù)器10生成的隨機數(shù)據(jù)。預(yù)設(shè)的加密算法和密鑰是預(yù)先設(shè)定的,設(shè)定后是固定不變的,可預(yù)先在認證服務(wù)器10和車載電器20中均存儲預(yù)設(shè)的加密算法和密鑰,以供認證過程中加密或解密時使用。
在本發(fā)明的一個實施例中,預(yù)設(shè)的加密算法可以是從加密算法庫中選定的,預(yù)設(shè)的密鑰可以是從隨同加密算法庫提供的多套密鑰中的一個。
認證服務(wù)器10和車載電器20中均存儲有加密算法庫和多套密鑰。從而,相對于傳統(tǒng)使用單一的加密算法和密鑰時,如果認證服務(wù)器10或車載電器20任一方升級加密算法或密鑰都會導致另一方因無法解密而使認證機制無效,本實施例中無論認證服務(wù)器10或者車載電器20當從使用一種加密算法和/或密鑰升級為使用另一種加密算法和/或另一種密鑰時,另一方都可從存儲的加密算法庫和多套密鑰中選擇相匹配的加密算法和密鑰進行匹配,以使認證服務(wù)器10與車載電器20實現(xiàn)兼容,并且升級方式十分方便。此外,如果當前使用的加密算法和密鑰被泄露或者破解,可升級認證服務(wù)器10,以使認證服務(wù)器10選擇其他加密算法和密鑰進行更換,并顯式或隱式地通知車載產(chǎn)品20進行相應(yīng)地加密算法和密鑰更換。由此可見,本發(fā)明實施例具有很強的可靠性、可升級性和兼容性。
認證服務(wù)器10可從加密算法庫中選擇密鑰標識和加密算法標識,然后根據(jù)預(yù)設(shè)的加密算法和密鑰對包括隨機數(shù)、選擇的密鑰標識和加密算法標識的第一原文進行加密以生成第一密文,并發(fā)送給待認證的車載電器20。以使車載電器20根據(jù)認證服務(wù)器10選擇的密鑰標識和加密算法標識從加密算法庫中選擇加密算法和密鑰以供車載電器20后續(xù)對接收到的原文進行加密使用。由此,具有多種加密算法和多套密鑰,增加了破解難度,能夠避免單一的加密算法和密鑰被泄露而導致認證機制失效,提高了認證的可靠性。
在本發(fā)明的另一個實施例,認證服務(wù)器10還可用于選擇程序片段或數(shù)據(jù)片段作為預(yù)設(shè)的密鑰。同理,第一原文中的密鑰標識也可以是認證服務(wù)器所選擇的某一程序片段或者數(shù)據(jù)片段的存儲地址對應(yīng)密鑰標識。由此,使用程序片段或者數(shù)據(jù)片段作為密鑰,使得密鑰的數(shù)據(jù)量非常龐大,幾乎可以無限更換密鑰,加大了破解難度。并且程序片段或數(shù)據(jù)片段不易泄露,從而即使加密算法庫被泄露,程序片段或數(shù)據(jù)片段作為密鑰也不會被泄露,即使作為密鑰的程序片段或數(shù)據(jù)片段被泄露,也可通過升級認證服務(wù)器10來更新程序片段或數(shù)據(jù)片段,以實現(xiàn)密鑰的更新,從而保證了密鑰的安全性。
車載電器20用于根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密以獲取第一原文中的隨機數(shù)、密鑰標識和加密算法標識,并根據(jù)隨機數(shù)生成第二原文,并根據(jù)密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對第二原文進行加密以生成第二密文,以及將第二密文發(fā)送至認證服務(wù)器10,以使認證服務(wù)器10根據(jù)第二密文對車載電器進行認證。
更具體地,認證服務(wù)器10根據(jù)第二密文對車載電器20進行認證時,認證服務(wù)器10具體用于:根據(jù)密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對第二密文進行解密以生成第二原文,并將第一原文中的隨機數(shù)與第二原文中的隨機數(shù)進行比對,以及如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)一致,則判斷通過認證。如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)不一致,則判斷認證失敗。其中,認證服務(wù)器10可根據(jù)第一原文中的密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對接收到的第二密文進行解密以生成第二原文,并獲得第二原文中數(shù)據(jù),如隨機數(shù)、產(chǎn)品標識或認證計數(shù)等。
在本發(fā)明的一個實施例中,車載電器20可將隨機數(shù)作為第二原文,也在隨機數(shù)的基礎(chǔ)上加入產(chǎn)品標識和/或認證計數(shù)等信息以生成第二原文。
其中,產(chǎn)品標識為車載電器20的標識信息。車載電器20可能由多個供應(yīng)商提供或者是不同的型號,因此,可用產(chǎn)品標識對不同供應(yīng)商提供的車載電器20或者不同型號的車載電器20進行區(qū)別。一個產(chǎn)品標識唯一確定一個車載電器20。
認證計數(shù)為每次認證后更新的數(shù)值。認證計數(shù)的初始值可以是一個隨機值,在每次認證之后,將當前的認證計數(shù)累加一個常數(shù)或者基于預(yù)設(shè)算法根據(jù)當前認證計數(shù)生成一個新的數(shù)值以得到新的認證計數(shù)。
在本發(fā)明的一個實施例中,由于不同的車載電器20的標識信息不同,因此,對于不同的車載電器20來說,在隨機數(shù)的基礎(chǔ)上加入產(chǎn)品標識后得到的第二原文是不同的,進而加密后得到的第二密文也不相同。由此,不同的車載電器20(不同型號或者不同的供應(yīng)商)接收到相同的第一密文后會有不同的響應(yīng)處理,即生成不同的第二密文。同樣地,由于每次認證中的認證計數(shù)不同,因此,在連續(xù)兩次或多次認證中,根據(jù)相同的隨機數(shù)可以生成不同的第二原文,并在加密后得到不同的第二密文。由此在不同的認證中,對于相同的第一密文會得到不同的第二密文。
在本發(fā)明的另一個實施例中,如果第二原文中包括車載電器20的產(chǎn)品標識,則認證服務(wù)器10還用于根據(jù)第二原文中的車載電器的產(chǎn)品標識對車載電器進行認證。更具體地,如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)一致時,進一步判斷車載電器20的產(chǎn)品標識是否正確(即產(chǎn)品標識是否存在于認證服務(wù)器的有效產(chǎn)品標識列表中),如果正確,則判斷通過認證,否則,判斷認證失敗。
在本發(fā)明的又一個實施例中,如果第二原文中包括認證計數(shù),則車載電器20還用于根據(jù)收到的第一原文的個數(shù)更新認證計數(shù),認證服務(wù)器10還用于根據(jù)第二原文中的認證計數(shù)對車載電器進行認證。具體地,認證服務(wù)器檢查第二原文中的認證計數(shù)與認證服務(wù)器的認證計數(shù)的差值,若差值在限定的值范圍內(nèi),則判定通過驗證,并將服務(wù)器的認證計數(shù)更新為第二原文中的認證計數(shù)以消除誤差積累;否則,判斷認證失敗。
如圖4所示,根據(jù)本發(fā)明實施例的認證服務(wù)器的結(jié)構(gòu)圖。認證服務(wù)器10包括第一原文生成模塊11、第一密文生成模塊12、第一發(fā)送模塊13、第一接收模塊14和認證模塊15。第一原文生成模塊11用于生成第一原文。第一密文生成模塊12用于根據(jù)預(yù)設(shè)加密算法和密鑰對第一原文進行加密以生成第一密文,其中,第一原文包括隨機數(shù)、密鑰標識和加密算法標識。第一發(fā)送模塊13用于將第一密文發(fā)送至車載電器。第一接收模塊14用于接收車載電器發(fā)送的第二密文。認證模塊15用于根據(jù)所述第二密文對車載電器進行認證。
在本發(fā)明的一個實施例中,認證模塊15根據(jù)密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對第二密文進行解密以生成第二原文,并將第一原文中的隨機數(shù)與第二原文中的隨機數(shù)進行比對,以及如果第一原文中的隨機數(shù)與第二原文中的隨機數(shù)一致,則判斷通過認證。
在本發(fā)明的一個實施例中,第二原文還包括車載電器的產(chǎn)品標識,認證模塊15還用于根據(jù)第二原文中的所述車載電器的產(chǎn)品標識對所述車載電器進行認證。
在本發(fā)明的一個實施例中,第二原文還包括認證計數(shù),認證模塊15還用于根據(jù)第二原文中的所述認證計數(shù)對所述車載電器進行認證。
在本發(fā)明的一個實施例中,認證服務(wù)器10還包括選擇模塊16,用于選擇程序片段或數(shù)據(jù)片段作為所述預(yù)設(shè)的密鑰。
如圖5所示,根據(jù)本發(fā)明實施例的車載電器的結(jié)構(gòu)圖。車載電器20包括第二接收模塊21、解密模塊22、第二原文生成模塊23、第二密文生成模塊24、第二發(fā)送模塊25。其中,第二接收模塊21用于接收認證服務(wù)器發(fā)送的第一密文。解密模塊22用于根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密以獲取第一原文中的隨機數(shù)、密鑰標識和加密算法標識。第二原文生成模塊23用于根據(jù)隨機數(shù)生成第二原文。第二密文生成模塊24用于根據(jù)密鑰標識和加密算法標識選擇對應(yīng)的密鑰和加密算法對第二原文進行加密以生成第二密文。第二發(fā)送模塊25用于將第二密文發(fā)送至認證服務(wù)器,以使認證服務(wù)器根據(jù)第二密文對所述車載電器進行認證。
在本發(fā)明的一個實施例中,第二原文還包括認證計數(shù),車載電器20還包括更新模塊26,用于根據(jù)收到的第一原文的個數(shù)更新認證計數(shù)。
本發(fā)明實施例的車載電器的認證系統(tǒng),認證服務(wù)器可根據(jù)預(yù)設(shè)加密算法和密鑰對包括隨機數(shù)、密鑰標識和加密算法標識的第一原文進行加密得到第一密文,車載電器可根據(jù)預(yù)設(shè)加密算法和密鑰對第一密文進行解密,并根據(jù)得到的密鑰標識和加密算法標識對應(yīng)的加密算法和密鑰對解密得到的隨機數(shù)進行二次加密后得到第二密文,并發(fā)送至認證服務(wù)器進行認證,通過采用多種、多重加密算法和多套密鑰,增加了破解難度,同時減少了加密通訊次數(shù),使得對加密數(shù)據(jù)的采樣變得困難,進一步增加了破解的難度。并且,密鑰不存在加密庫中,可以避免因加密庫的泄漏導致密鑰一同泄漏的問題,提高可密鑰的安全性。此外,具有很強的可升級性和兼容性,加密算法和密鑰可更換,在加密算法或密鑰被破解或泄露后可通過升級認證服務(wù)器或者更新加密算法和密鑰來避免因加密算法和密鑰被泄露或破解而導致認證機制失效的后果。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同限定。