本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種基于安全芯片密鑰對(duì)的加解密方法及裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,通信安全普遍受到關(guān)注。目前,主要通過將密鑰固化在安全芯片的某個(gè)位置,當(dāng)需要進(jìn)行加解密時(shí),直接調(diào)用密鑰進(jìn)行加解密的方式保證通信的安全。
以終端家電設(shè)備與云端服務(wù)器之間的通信為例,終端家電設(shè)備通過內(nèi)置安全芯片調(diào)用密鑰,在前述的通信過程中進(jìn)行加解密處理。但是,長(zhǎng)時(shí)間使用固定的密鑰,容易被黑客發(fā)現(xiàn)其中的加解密規(guī)律,使密鑰存在被破解的風(fēng)險(xiǎn),從而降低通信的安全性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的第一個(gè)目的在于提出一種基于安全芯片密鑰對(duì)的加解密方法,以對(duì)安全芯片上的密鑰對(duì)進(jìn)行更新,降低密鑰對(duì)被破解的風(fēng)險(xiǎn),從而提高通信的安全性。
本發(fā)明的第二個(gè)目的在于提出一種基于安全芯片密鑰對(duì)的加解密裝置。
為達(dá)上述目的,本發(fā)明第一方面實(shí)施例提出了一種基于安全芯片密鑰對(duì)的加解密方法,包括:根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài);當(dāng)接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),查詢已生成的密鑰對(duì)的有效狀態(tài);若已生成的密鑰對(duì)處于有效狀態(tài)時(shí),根據(jù)已生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法,通過根據(jù)安全芯片已生成的密鑰對(duì)使用情況,更新已生成的密鑰對(duì)的狀態(tài),實(shí)現(xiàn)對(duì)安全芯片密鑰對(duì)進(jìn)行更新,降低了密鑰對(duì)被破解的風(fēng)險(xiǎn),根據(jù)更新后的處于有效狀態(tài)的密鑰對(duì),對(duì)加密或者解密請(qǐng)求進(jìn)行加解密處理,提高了通信的安全性。
另外,本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法,還具有如下附加的技術(shù)特征:
在本發(fā)明的一個(gè)實(shí)施例中,查詢已生成的密鑰對(duì)的有效狀態(tài)之后,還包括:若已生成的密鑰對(duì)處于無效狀態(tài)時(shí),重新生成密鑰對(duì),并設(shè)置重新生成的密鑰對(duì)為有效狀態(tài);根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理之前,還包括:根據(jù)重新生成的密鑰對(duì),執(zhí)行終端家電設(shè)備與云端服務(wù)器之間的密鑰協(xié)商流程。
在本發(fā)明的一個(gè)實(shí)施例中,查詢已生成的密鑰對(duì)的有效狀態(tài),包括:查詢安全芯片可訪問的存儲(chǔ)區(qū)域中的預(yù)設(shè)字節(jié);根據(jù)預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值,確定已生成的密鑰對(duì)是否處于有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,預(yù)設(shè)標(biāo)識(shí)位為預(yù)設(shè)字節(jié)末尾的固定個(gè)數(shù)比特,預(yù)設(shè)字節(jié)的數(shù)據(jù)量為至少一個(gè)字節(jié)。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài),包括根據(jù)已生成的密鑰對(duì)的使用時(shí)長(zhǎng),更新已生成的密鑰對(duì)的有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新所述已生成的密鑰對(duì)的有效狀態(tài),包括:根據(jù)已生成的密鑰對(duì)的使用次數(shù),更新已生成的密鑰對(duì)的有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài)之后,還包括:若更新已生成的密鑰對(duì)的有效狀態(tài)為無效狀態(tài),對(duì)已生成的密鑰對(duì)進(jìn)行清除。
為達(dá)上述目的,本發(fā)明第二方面實(shí)施例提出了一種基于安全芯片密鑰對(duì)的加解密裝置,包括:更新模塊,用于根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài);查詢模塊,用于當(dāng)接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),查詢已生成的密鑰對(duì)的有效狀態(tài);第一處理模塊,用于若已生成的密鑰對(duì)處于有效狀態(tài)時(shí),根據(jù)已生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置,通過根據(jù)安全芯片已生成的密鑰對(duì)使用情況,更新已生成的密鑰對(duì)的狀態(tài),實(shí)現(xiàn)對(duì)安全芯片密鑰對(duì)進(jìn)行更新,降低了密鑰對(duì)被破解的風(fēng)險(xiǎn),根據(jù)更新后的處于有效狀態(tài)的密鑰對(duì),對(duì)加密或者解密請(qǐng)求進(jìn)行加解密處理,提高了通信的安全性。
另外,本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置,還具有如下附加的技術(shù)特征:
在本發(fā)明的一個(gè)實(shí)施例中,還包括:生成模塊,用于若已生成的密鑰對(duì)處于無效狀態(tài)時(shí),重新生成密鑰對(duì),并設(shè)置重新生成的密鑰對(duì)為有效狀態(tài);第二處理模塊,用于根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
在本發(fā)明的一個(gè)實(shí)施例中,還包括:密鑰協(xié)商模塊,用于根據(jù)重新生成的密鑰對(duì),執(zhí)行終端家電設(shè)備與云端服務(wù)器之間的密鑰協(xié)商流程。
在本發(fā)明的一個(gè)實(shí)施例中,查詢模塊,具體用于:查詢安全芯片可訪問的存儲(chǔ)區(qū)域中的預(yù)設(shè)字節(jié);根據(jù)預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值,確定已生成的密鑰對(duì)是否處于有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,預(yù)設(shè)標(biāo)識(shí)位為預(yù)設(shè)字節(jié)末尾的固定個(gè)數(shù)比特,預(yù)設(shè)字節(jié)的數(shù)據(jù)量為至少一個(gè)字節(jié)。
在本發(fā)明的一個(gè)實(shí)施例中,更新模塊,具體用于:根據(jù)已生成的密鑰對(duì)的使用時(shí)長(zhǎng),更新已生成的密鑰對(duì)的有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,更新模塊,具體用于:根據(jù)已生成的密鑰對(duì)的使用次數(shù),更新已生成的密鑰對(duì)的有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,還包括:清除模塊,用于若更新已生成的密鑰對(duì)的有效狀態(tài)為無效狀態(tài),對(duì)已生成的密鑰對(duì)進(jìn)行清除。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法的流程圖;
圖2是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法的流程圖;
圖3是終端家電設(shè)備與云端服務(wù)器之間根據(jù)重新生成的密鑰對(duì)進(jìn)行密鑰協(xié)商的流程示意圖;
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置的結(jié)構(gòu)示意圖;
圖5是根據(jù)本發(fā)明另一個(gè)實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置的結(jié)構(gòu)示意圖;
圖6是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明又一個(gè)實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
下面參考附圖描述本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法及裝置。
針對(duì)目前由于密鑰通常被固化在安全芯片某個(gè)位置,使得長(zhǎng)時(shí)間使用固化的密鑰,容易被黑客發(fā)現(xiàn)其中的加解密規(guī)律,使密鑰存在被破解的風(fēng)險(xiǎn)的問題,本發(fā)明實(shí)施例提出一種基于安全芯片密鑰對(duì)的加解密方法,包括:根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài);當(dāng)接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),查詢已生成的密鑰對(duì)的有效狀態(tài);若已生成的密鑰對(duì)處于有效狀態(tài)時(shí),根據(jù)已生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法的流程圖。
如圖1所示,該基于安全芯片密鑰對(duì)的加解密方法包括:
S101,根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,以終端家電設(shè)備與云端服務(wù)器之間的通信為例。在終端家電與云端服務(wù)器進(jìn)行通信的過程中,為了降低終端家電設(shè)備中安全芯片生成的密鑰對(duì)被破解的風(fēng)險(xiǎn),可根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新安全芯片已生成的密鑰對(duì)的有效狀態(tài)。其中,安全芯片生成的密鑰對(duì)包括公鑰和私鑰。
為了表示安全芯片生成的密鑰對(duì)的狀態(tài)信息,可在安全芯片可訪問的存儲(chǔ)區(qū)域,如EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)區(qū)域中,劃分預(yù)設(shè)字節(jié)用于存儲(chǔ)安全芯片密鑰對(duì)的狀態(tài)信息。其中,預(yù)設(shè)字節(jié)至少為一個(gè)字節(jié),并用預(yù)設(shè)字節(jié)末尾的固定個(gè)數(shù)的比特位作為預(yù)設(shè)標(biāo)識(shí)位,以表示已生成的密鑰對(duì)的狀態(tài)信息。
假設(shè)在安全芯片可訪問的存儲(chǔ)區(qū)域中規(guī)劃一個(gè)字節(jié)作為預(yù)設(shè)字節(jié),預(yù)設(shè)字節(jié)末尾的2個(gè)比特位為預(yù)設(shè)標(biāo)識(shí)位。并約定,當(dāng)預(yù)設(shè)標(biāo)識(shí)位的值為01時(shí),表示安全芯片已生成的密鑰對(duì)為有效狀態(tài),當(dāng)預(yù)設(shè)標(biāo)識(shí)位為的值為00時(shí),表示安全芯片已生成的密鑰對(duì)為無效狀態(tài)。
具體而言,可根據(jù)安全芯片已生成的密鑰對(duì)的使用時(shí)長(zhǎng),更新已生成的密鑰對(duì)的有效狀態(tài)。例如,如果安全芯片已生成的密鑰對(duì)的使用時(shí)長(zhǎng)超過了預(yù)設(shè)時(shí)間24小時(shí),則將預(yù)設(shè)字節(jié)末尾的預(yù)設(shè)標(biāo)識(shí)位的值置為00,即將已生成的密鑰對(duì)的有效狀態(tài)更新為無效狀態(tài)。否則,預(yù)設(shè)標(biāo)識(shí)位的值仍為01,即當(dāng)前已生成的密鑰對(duì)仍為有效狀態(tài),因此可繼續(xù)使用該密鑰對(duì)進(jìn)行加密和解密處理。
另外,也可以根據(jù)安全芯片已生成的密鑰對(duì)的使用次數(shù),更新已生成的密鑰對(duì)的有效狀態(tài)。其中,已生成密鑰對(duì)的使用次數(shù)包括采用已生成密鑰對(duì)進(jìn)行加密處理的次數(shù)和采用密鑰對(duì)進(jìn)行解密的次數(shù)。例如,如果在預(yù)設(shè)時(shí)間12小時(shí)內(nèi),采用已生成的密鑰對(duì)進(jìn)行加密的次數(shù)和解密的次數(shù)之和超過預(yù)設(shè)次數(shù)10次,則將已生成的密鑰對(duì)的有效狀態(tài)更新為無效狀態(tài),即將預(yù)設(shè)字節(jié)末尾的預(yù)設(shè)標(biāo)識(shí)位的值置為00。否則,預(yù)設(shè)標(biāo)識(shí)位的值仍為01,即當(dāng)前已生成的密鑰對(duì)仍保持為有效狀態(tài),因此可繼續(xù)使用該密鑰對(duì)進(jìn)行加密和解密處理。
此外,在對(duì)安全芯片已生成的密鑰對(duì)進(jìn)行更新時(shí),如果已生成的密鑰對(duì)的有效狀態(tài)更新為無效狀態(tài),可將該密鑰對(duì)進(jìn)行清除。
S102,當(dāng)接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),查詢已生成的密鑰對(duì)的有效狀態(tài)。
某時(shí)刻,當(dāng)終端家電設(shè)備的安全芯片接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),可查詢可訪問存儲(chǔ)區(qū)域中的預(yù)設(shè)字節(jié),以根據(jù)預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值確定已生成的密鑰對(duì)是否處于有效狀態(tài)。
S103,若已生成的密鑰對(duì)處于有效狀態(tài)時(shí),根據(jù)已生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
若終端家電設(shè)備的安全芯片在可訪問的存儲(chǔ)區(qū)域中查詢到預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值為01,即安全芯片已生成的密鑰對(duì)處于有效狀態(tài),則可采用該已生成的密鑰對(duì),根據(jù)加密請(qǐng)求或者解密請(qǐng)求對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行加密或者解密處理。
可以理解的是,當(dāng)終端家電設(shè)備的安全芯片接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),安全芯片已生成的密鑰對(duì)有可能處于無效狀態(tài)。下面結(jié)合圖2說明安全芯片已生成的密鑰對(duì)處于無效狀態(tài)時(shí),如何對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。如圖2所示,該基于安全芯片密鑰對(duì)的加解密方法還可包括:
S104,若已生成的密鑰對(duì)處于無效狀態(tài)時(shí),重新生成密鑰對(duì),并設(shè)置重新生成的密鑰對(duì)為有效狀態(tài)。
若終端家電設(shè)備的安全芯片在可訪問的存儲(chǔ)區(qū)域中查詢到預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值為00,即當(dāng)前已生成的密鑰對(duì)處于無效狀態(tài),則安全芯片重新生成密鑰對(duì),并將表示密鑰對(duì)狀態(tài)信息的預(yù)設(shè)字節(jié)中的預(yù)設(shè)標(biāo)識(shí)位的值設(shè)置為01,即將重新生成的密鑰對(duì)的狀態(tài)設(shè)置為有效狀態(tài)。
需要說明的是,在根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài)時(shí),若更新已生成的密鑰對(duì)的有效狀態(tài)為無效狀態(tài),并對(duì)已生成的密鑰對(duì)進(jìn)行了清除。當(dāng)安全芯片接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),若檢測(cè)到安全芯片沒有生成密鑰對(duì),則重新生成密鑰對(duì),并將預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的值設(shè)為01,即將重新生成的密鑰對(duì)的狀態(tài)設(shè)為有效狀態(tài),從而保證能夠?qū)用苷?qǐng)求或解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
S105,根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
在安全芯片重新生成密鑰對(duì)后,由于該重新生成的密鑰對(duì)處于有效狀態(tài),因此可采用重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)的加密或者解密處理,以保證數(shù)據(jù)的安全性。
綜上可以看出,與現(xiàn)有的技術(shù)相比,本發(fā)明提出的基于安全芯片密鑰對(duì)的加解密方法,通過根據(jù)已生成密鑰對(duì)的使用時(shí)長(zhǎng)和使用次數(shù),不斷更新安全芯片內(nèi)的密鑰對(duì),也就是說,安全芯片內(nèi)的密鑰對(duì)是動(dòng)態(tài)變化的,從而降低了安全芯片密鑰對(duì)被破解的風(fēng)險(xiǎn),提高了數(shù)據(jù)通信的安全性。
此外,為了保證終端家電設(shè)備與云端服務(wù)器之間通信的安全,在根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)的加解密處理之前,可根據(jù)重新生成的密鑰對(duì),執(zhí)行終端家電設(shè)備與云端服務(wù)器之間的密鑰協(xié)商流程,使終端家電設(shè)備與云端服務(wù)器根據(jù)重新生成的密鑰對(duì),進(jìn)行雙向身份確認(rèn)以及協(xié)商出兩者之間的通信密鑰。
下面結(jié)合圖3詳細(xì)介紹終端家電設(shè)備與云端服務(wù)器之間根據(jù)重新生成的密鑰對(duì)進(jìn)行密鑰協(xié)商的流程。
具體而言,如圖3所示,在終端家電設(shè)備與云端服務(wù)器連接成功后,終端家電設(shè)備生成隨機(jī)數(shù)R1,如生成16字節(jié)的隨機(jī)數(shù)R1,并將生成的隨機(jī)數(shù)R1和6個(gè)字節(jié)的MAC(Media Access Control,介質(zhì)訪問控制層)地址進(jìn)行拼接。終端家電設(shè)備采用云端服務(wù)器的公鑰Kc(pub)對(duì)拼接的R1和MAC地址進(jìn)行加密后傳輸給云端服務(wù)器。
云端服務(wù)器接收到密文后,采用其私鑰Kc(pri)解密并提取R1,并將提取的R1和自身生成的R2進(jìn)行拼接。然后,采用終端家電設(shè)備的安全芯片重新生成的密鑰對(duì)中的公鑰Kd(pub)對(duì)拼接后的R1和R2進(jìn)行加密,并將加密后的密文傳輸給終端家電設(shè)備。
需要說明的是,安全芯片重新生成的密鑰對(duì)中的公鑰Kd(pub)是終端家電設(shè)備在重新生成密鑰對(duì)之后,第一次向服務(wù)器發(fā)送數(shù)據(jù)的時(shí),通過拼接在數(shù)據(jù)末尾的方式,發(fā)送至該服務(wù)器的。
終端家電設(shè)備接收到密文后,采用其私鑰Kd(pri)即安全芯片重新生成的密鑰對(duì)中的私鑰進(jìn)行解密,提取R1,并將提取的R1與之前生成的隨機(jī)數(shù)R1進(jìn)行比對(duì)。如果兩者相同,則終端家電設(shè)備確認(rèn)云端服務(wù)器的身份。終端家電設(shè)備在確認(rèn)云端服務(wù)器的身份后,可采用AES(Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn))算法對(duì)字符串“OK”進(jìn)行加密或者其他兩者都知悉的字符串進(jìn)行加密,并傳輸給云端服務(wù)器。其中,加密密鑰為R1和R2異或的哈希值。
云端服務(wù)器接收到密文后,如果能正確解密密文,表明終端家電設(shè)備已經(jīng)正確解密出云端服務(wù)器生成的R2,則云端服務(wù)器確認(rèn)終端家電設(shè)備的身份。
在終端家電設(shè)備和云端服務(wù)器之間完成密鑰協(xié)商流程并確認(rèn)雙方的身份后,兩者之間進(jìn)行通信時(shí),均采用加密密鑰為R1和R2異或的哈希值對(duì)通信數(shù)據(jù)進(jìn)行加密。
綜上所述,本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密方法,通過根據(jù)安全芯片已生成的密鑰對(duì)使用情況,更新已生成的密鑰對(duì)的狀態(tài),實(shí)現(xiàn)對(duì)安全芯片密鑰對(duì)進(jìn)行更新,降低了密鑰對(duì)被破解的風(fēng)險(xiǎn),根據(jù)更新后的處于有效狀態(tài)的密鑰對(duì),對(duì)加密或者解密請(qǐng)求進(jìn)行加解密處理,提高了通信的安全性。
下面結(jié)合圖4對(duì)本發(fā)明實(shí)施例提出的基于安全芯片密鑰對(duì)的加解密裝置進(jìn)行描述。圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置的結(jié)構(gòu)示意圖。
如圖4所示,該基于安全芯片密鑰對(duì)的加解密裝置包括:更新模塊410、查詢模塊420、第一處理模塊430。
其中,更新模塊410用于根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新已生成的密鑰對(duì)的有效狀態(tài)。
更新模塊410具體用于根據(jù)已生成的密鑰對(duì)的使用時(shí)長(zhǎng),更新已生成的密鑰對(duì)的有效狀態(tài)。
更新模塊410具體用于根據(jù)已生成的密鑰對(duì)的使用次數(shù),更新已生成的密鑰對(duì)的有效狀態(tài)。
在本發(fā)明的一個(gè)實(shí)施例中,以終端家電設(shè)備與云端服務(wù)器之間的通信為例。在終端家電與云端服務(wù)器進(jìn)行通信的過程中,為了降低終端家電設(shè)備中安全芯片生成的密鑰對(duì)被破解的風(fēng)險(xiǎn),更新模塊410可根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新安全芯片已生成的密鑰對(duì)的有效狀態(tài)。其中,安全芯片生成的密鑰對(duì)包括公鑰和私鑰。
為了表示安全芯片生成的密鑰對(duì)的狀態(tài)信息,可在安全芯片可訪問的存儲(chǔ)區(qū)域,如EEPROM區(qū)域中,劃分預(yù)設(shè)字節(jié)用于存儲(chǔ)安全芯片密鑰對(duì)的狀態(tài)信息。其中,預(yù)設(shè)字節(jié)至少為一個(gè)字節(jié),并用預(yù)設(shè)字節(jié)末尾的固定個(gè)數(shù)的比特位作為預(yù)設(shè)標(biāo)識(shí)位,以表示已生成的密鑰對(duì)的狀態(tài)信息。
假設(shè)在安全芯片可訪問的存儲(chǔ)區(qū)域中規(guī)劃一個(gè)字節(jié)作為預(yù)設(shè)字節(jié),預(yù)設(shè)字節(jié)末尾的2個(gè)比特位為預(yù)設(shè)標(biāo)識(shí)位。并約定,當(dāng)預(yù)設(shè)標(biāo)識(shí)位的值為01時(shí),表示安全芯片已生成的密鑰對(duì)為有效狀態(tài),當(dāng)預(yù)設(shè)標(biāo)識(shí)位為的值為00時(shí),表示安全芯片已生成的密鑰對(duì)為無效狀態(tài)。
具體而言,更新模塊410可根據(jù)安全芯片已生成的密鑰對(duì)的使用時(shí)長(zhǎng),更新已生成的密鑰對(duì)的有效狀態(tài)。例如,如果安全芯片已生成的密鑰對(duì)的使用時(shí)長(zhǎng)超過了預(yù)設(shè)時(shí)間24小時(shí),則將預(yù)設(shè)字節(jié)末尾的預(yù)設(shè)標(biāo)識(shí)位的值置為00,即更新模塊410將已生成的密鑰對(duì)的有效狀態(tài)更新為無效狀態(tài)。否則,預(yù)設(shè)標(biāo)識(shí)位的值仍為01,即當(dāng)前已生成的密鑰對(duì)仍為有效狀態(tài),因此可繼續(xù)使用該密鑰對(duì)進(jìn)行加密和解密處理。
另外,更新模塊410也可以根據(jù)安全芯片已生成的密鑰對(duì)的使用次數(shù),更新已生成的密鑰對(duì)的有效狀態(tài)。其中,已生成密鑰對(duì)的使用次數(shù)包括采用已生成密鑰對(duì)進(jìn)行加密處理的次數(shù)和采用密鑰對(duì)進(jìn)行解密的次數(shù)。例如,如果在預(yù)設(shè)時(shí)間12小時(shí)內(nèi),采用已生成的密鑰對(duì)進(jìn)行加密的次數(shù)和解密的次數(shù)之和超過預(yù)設(shè)次數(shù)10次,則更新模塊410將已生成的密鑰對(duì)的有效狀態(tài)更新為無效狀態(tài),即將預(yù)設(shè)字節(jié)末尾的預(yù)設(shè)標(biāo)識(shí)位的值置為00。否則,預(yù)設(shè)標(biāo)識(shí)位的值仍為01,即當(dāng)前已生成的密鑰對(duì)仍保持為有效狀態(tài),因此可繼續(xù)使用該密鑰對(duì)進(jìn)行加密和解密處理。
此外,如圖5所示,在圖4的基礎(chǔ)上,該裝置還可包括:清除模塊440。
清除模塊440用于若更新已生成的密鑰對(duì)的有效狀態(tài)為無效狀態(tài),對(duì)已生成的密鑰對(duì)進(jìn)行清除。
在對(duì)安全芯片已生成的密鑰對(duì)進(jìn)行更新時(shí),如果已生成的密鑰對(duì)的有效狀態(tài)更新為無效狀態(tài),清除模塊440可將該密鑰對(duì)進(jìn)行清除。
查詢模塊420用于當(dāng)接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),查詢已生成的密鑰對(duì)的有效狀態(tài)。
查詢模塊420具體用于查詢安全芯片可訪問的存儲(chǔ)區(qū)域中的預(yù)設(shè)字節(jié);根據(jù)預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值,確定已生成的密鑰對(duì)是否處于有效狀態(tài)。其中,預(yù)設(shè)標(biāo)識(shí)位為預(yù)設(shè)字節(jié)末尾的固定個(gè)數(shù)比特,預(yù)設(shè)字節(jié)的數(shù)據(jù)量為至少一個(gè)字節(jié)。
某時(shí)刻,當(dāng)終端家電設(shè)備的安全芯片接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),查詢模塊420可查詢可訪問存儲(chǔ)區(qū)域中的預(yù)設(shè)字節(jié),以根據(jù)預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值確定已生成的密鑰對(duì)是否處于有效狀態(tài)。
第一處理模塊430用于若已生成的密鑰對(duì)處于有效狀態(tài)時(shí),根據(jù)已生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
若終端家電設(shè)備的安全芯片在可訪問的存儲(chǔ)區(qū)域中查詢到預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值為01,即安全芯片已生成的密鑰對(duì)處于有效狀態(tài),則第一處理模塊430可采用該已生成的密鑰對(duì),根據(jù)加密請(qǐng)求或者解密請(qǐng)求對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行加密或者解密處理。
此外,如圖6所示,在圖5的基礎(chǔ)上,該裝置還包括:生成模塊450、第二處理模塊460。
生成模塊450用于若已生成的密鑰對(duì)處于無效狀態(tài)時(shí),重新生成密鑰對(duì),并設(shè)置重新生成的密鑰對(duì)為有效狀態(tài)。
若查詢模塊420在可訪問的存儲(chǔ)區(qū)域中查詢到預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的取值為00,即當(dāng)前已生成的密鑰對(duì)處于無效狀態(tài),則生成模塊450重新生成密鑰對(duì),并將表示密鑰對(duì)狀態(tài)信息的預(yù)設(shè)字節(jié)中的預(yù)設(shè)標(biāo)識(shí)位的值設(shè)置為01,即將重新生成的密鑰對(duì)設(shè)置為有效狀態(tài)。
需要說明的是,在根據(jù)安全芯片已生成的密鑰對(duì)的使用情況,更新模塊410更新已生成的密鑰對(duì)的有效狀態(tài)時(shí),若更新已生成的密鑰對(duì)的有效狀態(tài)為無效狀態(tài),清除模塊440并對(duì)已生成的密鑰對(duì)進(jìn)行了清除。當(dāng)安全芯片接收到加密請(qǐng)求或者解密請(qǐng)求時(shí),若檢測(cè)到安全芯片沒有生成密鑰對(duì),則生成模塊450重新生成密鑰對(duì),并將預(yù)設(shè)字節(jié)中預(yù)設(shè)標(biāo)識(shí)位的值設(shè)為01,即將重新生成的密鑰對(duì)的狀態(tài)設(shè)為有效狀態(tài),從而保證能夠?qū)用苷?qǐng)求或解密請(qǐng)求進(jìn)行加解密處理。
第二處理模塊460用于根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)加解密處理。
在生成模塊450重新生成密鑰對(duì)后,由于該重新生成的密鑰對(duì)處于有效狀態(tài),因此第二處理模塊460可采用重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)的加密或者解密處理,以保證數(shù)據(jù)的安全性。
另外,如圖7所示,在圖6的基礎(chǔ)上,該裝置還包括:密鑰協(xié)商模塊470。
密鑰協(xié)商模塊470用于根據(jù)重新生成的密鑰對(duì),執(zhí)行終端家電設(shè)備與云端服務(wù)器之間的密鑰協(xié)商流程。
在根據(jù)重新生成的密鑰對(duì),對(duì)加密請(qǐng)求或者解密請(qǐng)求進(jìn)行相應(yīng)的加解密處理之前,密鑰協(xié)商模塊470可根據(jù)重新生成的密鑰對(duì),執(zhí)行終端家電設(shè)備與云端服務(wù)器之間的密鑰協(xié)商流程,使終端家電設(shè)備與云端服務(wù)器根據(jù)重新生成的密鑰對(duì),進(jìn)行雙向身份確認(rèn)以及協(xié)商出兩者之間的通信密鑰。其中,終端家電設(shè)備與云端服務(wù)器之間的密鑰協(xié)商流程的過程,如上述實(shí)施例所述,在此不再贅述。
綜上所述,本發(fā)明實(shí)施例的基于安全芯片密鑰對(duì)的加解密裝置,通過根據(jù)安全芯片已生成的密鑰對(duì)使用情況,更新已生成密鑰對(duì)的狀態(tài),實(shí)現(xiàn)對(duì)安全芯片密鑰對(duì)進(jìn)行更新,降低了密鑰對(duì)被破解的風(fēng)險(xiǎn),根據(jù)更新后的處于有效狀態(tài)的密鑰對(duì),對(duì)加密或者解密請(qǐng)求進(jìn)行加解密處理,提高了通信的安全性。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)定制邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(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):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。