專利名稱:基于雙向安全認證的數(shù)據(jù)下載方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全領(lǐng)域,具體而言,涉及一種基于雙向安全認證的數(shù)據(jù)下載方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有網(wǎng)絡(luò)信息安全領(lǐng)域可以實現(xiàn)由公私鑰生成模塊生成密鑰,通過公私鑰交換匹配生成不同的驗證參數(shù),實現(xiàn)不同終端之間的認證過程。但現(xiàn)有的認證方式通常為單向安全認證,且在認證完成之后,對數(shù)據(jù)的安全下載并沒有提供一個完善的安全機制。目前針對相關(guān)技術(shù)的不同終端之間僅采用單向安全認證,導(dǎo)致安全認證機制和數(shù)據(jù)安全下載機制不完善的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
針對相關(guān)技術(shù)的不同終端之間僅采用單向安全認證,導(dǎo)致安全認證機制和數(shù)據(jù)安全下載機制不完善的問題,目前尚未提出有效的問題而提出本發(fā)明,為此,本發(fā)明的主要目的在于提供一種基于雙向安全認證的數(shù)據(jù)下載方法及系統(tǒng),以解決上述問題。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種基于雙向安全認證的數(shù)據(jù)下載方法,該方法包括第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果;在根據(jù)第一驗證結(jié)果確定第二終端為合法終端之后,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果;在根據(jù)第二驗證結(jié)果確定第一終端為合法終端之后,第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端。進一步地,在第一終端通過對稱密鑰算法驗證第二終端之前,方法還包括獲取第一終端和第二終端的公私鑰對,并將第一終端公鑰、第二終端私鑰以及對稱密鑰KEY保存至第二終端,將第一終端私鑰和對稱密鑰KEY保存至安全芯片,安全芯片內(nèi)置在第一終端之中。進一步地,第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果包括 第一終端將生成的第一隨機數(shù)發(fā)送至第二終端,第二終端根據(jù)對稱密鑰KEY對第一隨機數(shù)進行加密,以獲取第一驗證碼;在第一終端接收到第二終端返回的第一驗證碼之后,通過保存在安全芯片中的對稱密鑰KEY對第一驗證碼進行解密,以獲取解密結(jié)果;通過驗證解密結(jié)果與第一隨機數(shù)是否相同來獲取第二驗證結(jié)果,在相同的情況下,第一驗證結(jié)果為第二終端是第一終端的合法終端,在不相同的情況下,第一驗證結(jié)果為第二終端是非法終端。進一步地,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果包括第二終端將生成的第二隨機數(shù)發(fā)送給第一終端,第一終端根據(jù)安全芯片中保存的第一終端私鑰將第二隨機數(shù)進行簽名,以獲取第二驗證碼;在第二終端接收到第一終端返回的第二驗證碼之后,通過第二終端中的第一終端公鑰對第二驗證碼進行驗證,以獲取驗簽結(jié)果;通過驗證驗簽結(jié)果與第一終端私鑰是否匹配來獲取第二驗證結(jié)果,在匹配的情況下,第二驗證結(jié)果為第一終端是第二終端的合法終端,在不匹配的情況下,第二驗證結(jié)果為第一終端是非法終端。進一步地,第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端包括第二終端對數(shù)據(jù)進行哈希計算,以得到數(shù)字摘要;通過第二終端私鑰對數(shù)字摘要進行簽名,來獲取附加簽名信息;通過會話密鑰將附加了附加簽名信息的數(shù)據(jù)進行加密,以獲取安全數(shù)據(jù),并將安全數(shù)據(jù)下載至第二終端。進一步地,在第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端之后,方法還包括第一終端獲取到會話密鑰和第二終端公鑰;使用獲取到的會話密鑰對安全數(shù)據(jù)進行解密,并使用獲取到的第二終端公鑰對該解密后的安全數(shù)據(jù)進行數(shù)字摘要驗證,在驗證通過的情況下,第一終端下載數(shù)據(jù)成功。 進一步地,在第一終端獲取到會話密鑰和第二終端公鑰之前,方法還包括第二終端生成會話密鑰,通過第二終端私鑰對會話密鑰進行簽名,以獲取簽名會話密鑰;通過對稱密鑰KEY對第二終端公鑰和簽名會話密鑰進行加密,并將得到的加密結(jié)果發(fā)送給第二終端。進一步地,第一終端獲取到會話密鑰和第二終端公鑰包括第一終端接收加密結(jié)果;第一終端通過安全芯片中的對稱密鑰KEY解密加密結(jié)果,以獲取第二終端公鑰和簽名會話密鑰;第二終端對簽名會話密鑰進行驗簽后,得到會話密鑰。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種基于雙向安全認證的數(shù)據(jù)下載系統(tǒng),該系統(tǒng)包括第一終端,發(fā)送數(shù)據(jù)下載請求;第二終端,接收數(shù)據(jù)下載請求,并在驗證第一終端和第二終端彼此為合法終端之后,將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端;其中,第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果; 在根據(jù)第一驗證結(jié)果確定第二終端為合法終端之后,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果,根據(jù)第二驗證結(jié)果確定第一終端為合法終端。進一步地,第二終端保存第一終端公鑰、第二終端私鑰以及對稱密鑰KEY,系統(tǒng)還包括安全芯片,內(nèi)置在第一終端之中,用于保存第一終端私鑰和對稱密鑰KEY。通過本發(fā)明,采用第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果;在根據(jù)第一驗證結(jié)果確定第二終端為合法終端之后,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果;在根據(jù)第二驗證結(jié)果確定第一終端為合法終端之后,第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端,解決了相關(guān)現(xiàn)有技術(shù)的不同終端之間僅采用單向安全認證,導(dǎo)致安全認證機制和數(shù)據(jù)安全下載機制不完善的問題, 進而實現(xiàn)在不同終端之間創(chuàng)建雙向認證通道,以及安全下載,保護了交互數(shù)據(jù)的安全性和完整性的效果。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中圖1是根據(jù)本發(fā)明實施例的基于雙向安全認證的數(shù)據(jù)下載系統(tǒng)的結(jié)構(gòu)示意圖;圖2是根據(jù)圖1所示實施例中終端設(shè)備驗證前端設(shè)備的示意圖;圖3是根據(jù)圖1所示實施例中前端設(shè)備驗證終端設(shè)備的示意圖;圖4是根據(jù)圖1所示實施例中前端設(shè)備下發(fā)數(shù)據(jù)的方法流程圖5是根據(jù)圖1所示實施例中后端設(shè)備驗證下發(fā)數(shù)據(jù)的方法流程圖;圖6是根據(jù)本發(fā)明實施例的基于雙向安全認證的數(shù)據(jù)下載方法的流程圖;圖7是根據(jù)圖6所示實施例中前端設(shè)備下發(fā)數(shù)據(jù)的功能示意圖。
具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。圖1是根據(jù)本發(fā)明實施例的基于雙向安全認證的數(shù)據(jù)下載系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,該基于雙向安全認證的數(shù)據(jù)下載系統(tǒng)包括第一終端,發(fā)送數(shù)據(jù)下載請求;第二終端,接收數(shù)據(jù)下載請求,并在驗證第一終端和第二終端彼此為合法終端之后,將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端;其中,第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果;在根據(jù)第一驗證結(jié)果確定第二終端為合法終端之后,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果,根據(jù)第二驗證結(jié)果確定第一終端為合法終端。本申請的上述實施例通過在第一終端和第二終端之間建立雙向認證通道,并在雙向認證成功之后完成安全下載的過程,這種基于雙向安全認證的安全下載系統(tǒng)完善了不同終端之間的安全認證機制和數(shù)據(jù)安全下載機制,保護了交互數(shù)據(jù)的安全性和完整性。本申請的上述實施例的系統(tǒng)還可以包括一個安全芯片,內(nèi)置在第一終端之中,用于保存第一終端私鑰和對稱密鑰KEY,且在第二終端中保存第一終端公鑰、第二終端私鑰以及對稱密鑰KEY。該安全芯片內(nèi)部設(shè)有密鑰處理機制,用于存放密鑰和產(chǎn)生密鑰。該實施例利用安全芯片的特有屬性來建立兩個終端之間的雙向認證通道,實現(xiàn)安全下載,這種基于安全芯片雙向認證的下載方法,其建立安全認證時通過對稱密鑰和非對稱密鑰機制,共同實現(xiàn)認證過程,并且是在建立安全認證的基礎(chǔ)上,實現(xiàn)了安全下載的過程。具體的,本發(fā)明上述系統(tǒng)中的第一終端為一個具有安全芯片,用來接收下載數(shù)據(jù)的終端設(shè)備,而第二終端為一個用來產(chǎn)生下載數(shù)據(jù),并將數(shù)據(jù)下載至第一終端的前端設(shè)備, 即上述實例實現(xiàn)了終端設(shè)備和前端設(shè)備以雙向認證為基礎(chǔ),實現(xiàn)安全下載的過程。其中,安全芯片作為可信任的安全設(shè)備,其內(nèi)部包含特殊的密鑰處理機制,通過置入芯片標識等一些特征性信息,使安全芯片成為唯一且不可復(fù)制的安全設(shè)備。圖1所示的實施例在詳細實施過程如下首先,前端設(shè)備和終端設(shè)備生成公私鑰對,可以將前端設(shè)備的私鑰、對稱密鑰Key 和終端設(shè)備的公鑰保留在前端設(shè)備;終端安全芯片中存儲終端私鑰和對稱密鑰Key ;然后,如圖2所示,開始驗證終端設(shè)備是不是對應(yīng)該前端設(shè)備的合法終端終端設(shè)備生成隨機數(shù)A發(fā)送給前端設(shè)備;前端設(shè)備利用對稱密鑰Key對隨機數(shù)A進行加密,生成 Key(A),并回傳給終端設(shè)備;終端設(shè)備利用對稱密鑰Key對Key(A)進行解密;終端設(shè)備驗證前端設(shè)備回傳的隨機數(shù)A是否與終端保存的隨機數(shù)A—致,如果一致,則終端設(shè)備驗證前端設(shè)備成功。在終端設(shè)備驗證前端設(shè)備成功之后,如圖3所示,開始驗證前端設(shè)備是不是對應(yīng)該終端設(shè)備的合法終端前端設(shè)備自動生成隨機數(shù)B,發(fā)送給終端設(shè)備;終端設(shè)備收到前端設(shè)備發(fā)來的隨機數(shù)B后,終端設(shè)備用存儲于安全芯片的終端私鑰對隨機數(shù)B進行簽名,得到R(B),并回傳給前端設(shè)備,在前端設(shè)備收到終端設(shè)備回傳的R(B)后,用終端公鑰進行驗簽, 如果驗簽通過,表示前端驗證終端設(shè)備成功。此時,如圖4所示,在完成上述前端設(shè)備和后端設(shè)備的雙認證功能之后,前端設(shè)備在對終端設(shè)備進行軟件下發(fā)時,前端設(shè)備首先對軟件進行哈希計算得到數(shù)字摘要;然后前端設(shè)備用自己的私鑰對數(shù)字摘要進行簽名,并把簽名后的數(shù)字摘要附加在要下發(fā)的數(shù)據(jù) (例如軟件)后面,用會話密鑰進行加密后,發(fā)送給終端用戶。最后,如圖5所示,終端設(shè)備接收下發(fā)的軟件后,終端設(shè)備用會話密鑰解密,用前端公鑰對數(shù)字摘要的簽名進行驗證;如果驗證通過,說明文件在傳輸過程中沒有被破壞。其中,終端設(shè)備獲取會話密鑰和前端公鑰的過程如下首先,在前端設(shè)備中自動生成一個會話密鑰,連同前端公鑰,用前端私鑰對會話密鑰進行簽名,再用終端設(shè)備對稱密鑰 Key加密前端公鑰和簽名后的會話密鑰并發(fā)送給終端設(shè)備。終端設(shè)備通過解密并驗簽后,得到明文的會話密鑰和前端公鑰。圖6是根據(jù)本發(fā)明實施例的基于雙向安全認證的數(shù)據(jù)下載方法的流程圖;圖7是根據(jù)圖6所示實施例中前端設(shè)備下發(fā)數(shù)據(jù)的功能示意圖。如圖6所示,該方法包括如下步驟步驟S102,第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果。步驟S104,在根據(jù)第一驗證結(jié)果確定第二終端為合法終端之后,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果。步驟S106,在根據(jù)第二驗證結(jié)果確定第一終端為合法終端之后,第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端。本申請的上述實施例通過在第一終端和第二終端之間建立雙向認證通道,并在雙向認證成功之后完成安全下載的過程,這種基于雙向安全認證的安全下載系統(tǒng)完善了不同終端之間的安全認證機制和數(shù)據(jù)安全下載機制。具體的,本發(fā)明的方法實例中,第一終端可以為一個具有安全芯片,用來接收下載數(shù)據(jù)的終端設(shè)備,而第二終端可以為一個用來產(chǎn)生下載數(shù)據(jù),并將數(shù)據(jù)下載至第一終端的前端設(shè)備,即上述實例實現(xiàn)了終端設(shè)備和前端設(shè)備以雙向認證為基礎(chǔ)本申請上述實施例中,在步驟S102第一終端通過對稱密鑰算法驗證第二終端之前,方法還包括獲取第一終端和第二終端的公私鑰對,并將第一終端公鑰、第二終端私鑰以及對稱密鑰KEY保存至第二終端,將第一終端私鑰和對稱密鑰KEY保存至安全芯片,安全芯片內(nèi)置在第一終端之中。本申請上述實施例中的步驟S102第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果可以包括如下步驟第一終端將生成的第一隨機數(shù)發(fā)送至第二終端,第二終端根據(jù)對稱密鑰KEY對第一隨機數(shù)進行加密,以獲取第一驗證碼;在第一終端接收到第二終端返回的第一驗證碼之后,通過保存在安全芯片中的對稱密鑰KEY對第一驗證碼進行解密,以獲取解密結(jié)果;通過驗證解密結(jié)果與第一隨機數(shù)是否相同來獲取第二驗證結(jié)果, 在相同的情況下,第一驗證結(jié)果為第二終端是第一終端的合法終端,在不相同的情況下,第一驗證結(jié)果為第二終端是非法終端。本申請上述步驟S104 第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果包括第二終端將生成的第二隨機數(shù)發(fā)送給第一終端,第一終端根據(jù)安全芯片中保存的第一終端私鑰將第二隨機數(shù)進行簽名,以獲取第二驗證碼;在第二終端接收到第一終端返回的第二驗證碼之后,通過第二終端中的第一終端公鑰對第二驗證碼進行驗證,以獲取驗簽結(jié)果;通過驗證驗簽結(jié)果與第一終端私鑰是否匹配來獲取第二驗證結(jié)果,在匹配的情況下,第二驗證結(jié)果為第一終端是第二終端的合法終端,在不匹配的情況下,第二驗證結(jié)果為第一終端是非法終端。上述步驟S102和步驟S104的具體實施步驟,實現(xiàn)了終端設(shè)備利用對稱加密算法, 下發(fā)隨機數(shù)給前端設(shè)備,前端設(shè)備加密后回傳給終端設(shè)備,終端設(shè)備完成驗證前端設(shè)備。然后,前端設(shè)備采用非對稱加密算法,下發(fā)隨機數(shù)給終端設(shè)備,終端設(shè)備簽名后回傳給前端設(shè)備,前端設(shè)備完成驗證終端設(shè)備。從而實現(xiàn)雙向認證。前端設(shè)備和終端設(shè)備相互認證后建立了一種安全通道,保證前端和終端的安全交互。本申請上述實施例中,如圖7所示,步驟S106第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端可以包括如下實施方式第二終端(前端設(shè)備)對數(shù)據(jù)進行哈希計算,以得到數(shù)字摘要;通過第二終端私鑰對數(shù)字摘要進行簽名,來獲取附加簽名信息;通過會話密鑰將附加了附加簽名信息的數(shù)據(jù)進行加密,以獲取安全數(shù)據(jù),并將安全數(shù)據(jù)下載至第二終端。上述步驟S106的具體實施步驟,可以實現(xiàn)前端設(shè)備下發(fā)軟件數(shù)據(jù)時首先經(jīng)過安全通道的保護,然后前端設(shè)備對下發(fā)的軟件信息進行簽名,終端設(shè)備對前端設(shè)備下發(fā)的軟件信息進行驗證,使得終端設(shè)備能夠得到完整可靠的軟件信息。本申請的上述實施過程中,在第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端之后,方法還包括如圖7所示的實施方式第一終端(終端設(shè)備)獲取到會話密鑰和第二終端公鑰;使用獲取到的會話密鑰對安全數(shù)據(jù)進行解密,并使用獲取到的第二終端公鑰對該解密后的安全數(shù)據(jù)進行數(shù)字摘要驗證,在驗證通過的情況下,第一終端下載數(shù)據(jù)成功。本申請上述實施例中,在第一終端獲取到會話密鑰和第二終端公鑰之前,方法還包括第二終端生成會話密鑰,通過第二終端私鑰對會話密鑰進行簽名,以獲取簽名會話密鑰;通過對稱密鑰KEY對第二終端公鑰和簽名會話密鑰進行加密,并將得到的加密結(jié)果發(fā)
送給第二終端。優(yōu)選地,第一終端獲取到會話密鑰和第二終端公鑰的步驟可以包括第一終端接收加密結(jié)果;第一終端通過安全芯片中的對稱密鑰KEY解密加密結(jié)果,以獲取第二終端公鑰和簽名會話密鑰;第二終端對簽名會話密鑰進行驗簽后,得到會話密鑰。需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。本申請上述各個實施例的基于雙向安全認證的數(shù)據(jù)下載方法和系統(tǒng)可以應(yīng)用于數(shù)字電視領(lǐng)域,例如在數(shù)字電視端從機頂盒下載電視數(shù)據(jù)時,可以首先驗證數(shù)字電視和機頂盒是不是經(jīng)過雙向認證的合法終端(即此時數(shù)字電視可以為前端,機頂盒可以為終端), 在驗證他們都是彼此的合法終端之后,機頂盒可以下載安全數(shù)據(jù)(加密過的電視數(shù)據(jù))至數(shù)字電視,供用戶觀看。其中,安全芯片可以安裝在機頂盒中。從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果本發(fā)明是基于安全芯片雙向認證的下載方法,該方法通過利用安全芯片內(nèi)部的密鑰處理機制,實現(xiàn)雙向認證過程, 并保護交互數(shù)據(jù)的安全性和完整性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于雙向安全認證的數(shù)據(jù)下載方法,其特征在于,包括 第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果;在根據(jù)所述第一驗證結(jié)果確定所述第二終端為合法終端之后,所述第二終端通過非對稱密鑰算法驗證所述第一終端,以獲取第二驗證結(jié)果;在根據(jù)所述第二驗證結(jié)果確定所述第一終端為合法終端之后,所述第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至所述第一終端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在第一終端通過對稱密鑰算法驗證第二終端之前,所述方法還包括獲取所述第一終端和所述第二終端的公私鑰對,并將第一終端公鑰、第二終端私鑰以及對稱密鑰KEY保存至第二終端,將第一終端私鑰和對稱密鑰KEY保存至安全芯片,所述安全芯片內(nèi)置在所述第一終端之中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果包括所述第一終端將生成的第一隨機數(shù)發(fā)送至所述第二終端,所述第二終端根據(jù)所述對稱密鑰KEY對所述第一隨機數(shù)進行加密,以獲取第一驗證碼;在所述第一終端接收到所述第二終端返回的所述第一驗證碼之后,通過保存在所述安全芯片中的對稱密鑰KEY對所述第一驗證碼進行解密,以獲取解密結(jié)果;通過驗證所述解密結(jié)果與所述第一隨機數(shù)是否相同來獲取所述第二驗證結(jié)果,在相同的情況下,所述第一驗證結(jié)果為所述第二終端是所述第一終端的合法終端,在不相同的情況下,所述第一驗證結(jié)果為所述第二終端是非法終端。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第二終端通過非對稱密鑰算法驗證所述第一終端,以獲取第二驗證結(jié)果包括所述第二終端將生成的第二隨機數(shù)發(fā)送給所述第一終端,所述第一終端根據(jù)所述安全芯片中保存的第一終端私鑰將所述第二隨機數(shù)進行簽名,以獲取第二驗證碼;在所述第二終端接收到所述第一終端返回的所述第二驗證碼之后,通過所述第二終端中的所述第一終端公鑰對所述第二驗證碼進行驗證,以獲取驗簽結(jié)果;通過驗證所述驗簽結(jié)果與所述第一終端私鑰是否匹配來獲取第二驗證結(jié)果,在匹配的情況下,所述第二驗證結(jié)果為所述第一終端是所述第二終端的合法終端,在不匹配的情況下,所述第二驗證結(jié)果為所述第一終端是非法終端。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至所述第一終端包括所述第二終端對所述數(shù)據(jù)進行哈希計算,以得到數(shù)字摘要; 通過所述第二終端私鑰對所述數(shù)字摘要進行簽名,來獲取附加簽名信息; 通過會話密鑰將附加了所述附加簽名信息的數(shù)據(jù)進行加密,以獲取安全數(shù)據(jù),并將所述安全數(shù)據(jù)下載至所述第二終端。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至所述第一終端之后,所述方法還包括所述第一終端獲取到所述會話密鑰和第二終端公鑰;使用獲取到的所述會話密鑰對所述安全數(shù)據(jù)進行解密,并使用獲取到的所述第二終端公鑰對該解密后的安全數(shù)據(jù)進行數(shù)字摘要驗證,在驗證通過的情況下,所述第一終端下載所述數(shù)據(jù)成功。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述第一終端獲取到所述會話密鑰和第二終端公鑰之前,所述方法還包括所述第二終端生成所述會話密鑰,通過所述第二終端私鑰對所述會話密鑰進行簽名, 以獲取簽名會話密鑰;通過所述對稱密鑰KEY對所述第二終端公鑰和所述簽名會話密鑰進行加密,并將得到的加密結(jié)果發(fā)送給所述第二終端。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一終端獲取到所述會話密鑰和第二終端公鑰包括所述第一終端接收所述加密結(jié)果;所述第一終端通過所述安全芯片中的對稱密鑰KEY解密所述加密結(jié)果,以獲取所述第二終端公鑰和所述簽名會話密鑰;所述第二終端對所述簽名會話密鑰進行驗簽后,得到所述會話密鑰。
9.一種基于雙向安全認證的數(shù)據(jù)下載系統(tǒng),其特征在于,包括第一終端,發(fā)送數(shù)據(jù)下載請求;第二終端,接收所述數(shù)據(jù)下載請求,并在驗證所述第一終端和所述第二終端彼此為合法終端之后,將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至所述第一終端;其中,所述第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果;在根據(jù)所述第一驗證結(jié)果確定所述第二終端為合法終端之后,所述第二終端通過非對稱密鑰算法驗證所述第一終端,以獲取第二驗證結(jié)果,根據(jù)所述第二驗證結(jié)果確定所述第一終端為合法終端。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述第二終端保存第一終端公鑰、第二終端私鑰以及對稱密鑰KEY,所述系統(tǒng)還包括安全芯片,內(nèi)置在所述第一終端之中,用于保存第一終端私鑰和對稱密鑰KEY。
全文摘要
本發(fā)明公開了一種基于雙向安全認證的數(shù)據(jù)下載方法及系統(tǒng)。其中,該方法包括第一終端通過對稱密鑰算法驗證第二終端,以獲取第一驗證結(jié)果;在根據(jù)第一驗證結(jié)果確定第二終端為合法終端之后,第二終端通過非對稱密鑰算法驗證第一終端,以獲取第二驗證結(jié)果;在根據(jù)第二驗證結(jié)果確定第一終端為合法終端之后,第二終端將通過數(shù)字簽名算法加密處理過的數(shù)據(jù)下載至第一終端。通過本發(fā)明,能夠?qū)崿F(xiàn)在不同終端之間創(chuàng)建雙向認證通道,以及安全下載,保護了交互數(shù)據(jù)的安全性和完整性。
文檔編號H04L9/32GK102413132SQ20111036403
公開日2012年4月11日 申請日期2011年11月16日 優(yōu)先權(quán)日2011年11月16日
發(fā)明者劉利華, 張向輝, 李京娜, 湯俊峰, 鄭力錚, 陳鵬飛 申請人:北京數(shù)碼視訊軟件技術(shù)發(fā)展有限公司