專利名稱:一種安全報文過程密鑰的生成方法
技術領域:
本發(fā)明屬于信息安全領域,特別涉及一種安全報文過程密鑰的生成方法。
背景技術:
隨著信息安全技術的發(fā)展,智能密鑰設備應用到了工作和生活中的各個方面,為 了防止信息被截取、篡改或失密,可以利用智能密鑰設備的安全報文功能。智能密鑰設備的 安全報文功能,是指若智能密鑰設備中的某些操作在生產(chǎn)時已被設定為安全報文形式,那 么在對智能密鑰設備進行這些預定的操作時,上位機發(fā)送的命令和智能密鑰設備的應答都 必須采用帶有MAC^MessageAuthentication Code,消息鑒別碼)或加密數(shù)據(jù)域的安全報文 形式。安全報文傳送的目的是保證上位機和智能密鑰設備之間所交換數(shù)據(jù)的可靠性、完整 性和對發(fā)送方的認證。數(shù)據(jù)的完整性和對發(fā)送方的認證通過使用MAC來實現(xiàn),數(shù)據(jù)的可靠 性通過對數(shù)據(jù)域的加密來保證。
發(fā)明內(nèi)容
為了提高安全報文的安全性,本發(fā)明提供一種安全報文過程密鑰的生成方法。所 述技術方法如下一種安全報文過程密鑰的生成方法,所述方法包括上位機生成第一隨機數(shù);所述上位機向智能密鑰設備下發(fā)第一報文,所述第一報文中包括所述第一隨機 數(shù);所述智能密鑰設備生成第二隨機數(shù);所述智能密鑰設備根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成第一加密過程密 鑰和第一認證過程密鑰;所述智能密鑰設備向所述上位機返回第一應答信息,所述第一應答信息中包括所 述第二隨機數(shù);所述上位機根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù),生成第二加密過程密鑰和第 二認證過程密鑰;所述上位機驗證所述第二加密過程密鑰與所述第一加密過程密鑰是否相同,若相 同,則所述上位機向所述智能密鑰設備下發(fā)第二報文;否則所述上位機向所述智能密鑰設 備下發(fā)過程密鑰生成錯誤的信息;其中,所述第二報文包括由所述第二認證過程密鑰計算生成的第一認證數(shù)據(jù);所述智能密鑰設備接收到所述第二報文后,根據(jù)所述第一認證過程密鑰計算生成 第二認證數(shù)據(jù);所述智能密鑰設備驗證所述第二認證數(shù)據(jù)與所述第一認證數(shù)據(jù)是否相同,若相 同,則所述智能密鑰設備向所述上位機返回過程密鑰生成成功的應答信息,否則所述智能 密鑰設備向所述上位機返回過程密鑰生成失敗的應答信息。
所述智能密鑰設備根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成第一加密過程密 鑰和第一認證過程密鑰的方法具體包括將所述第一隨機數(shù)和所述第二隨機數(shù)按預定的規(guī)則拆分后組合成生派生數(shù)據(jù);分別使用所述智能密鑰設備中預置的靜態(tài)加密密鑰和靜態(tài)認證密鑰對所述派生 數(shù)據(jù)進行加密運算,得到所述第一加密過程密鑰和所述第一認證過程密鑰。所述分別使用所述智能密鑰中設備預置的靜態(tài)加密密鑰和靜態(tài)認證密鑰對所述 派生數(shù)據(jù)進行加密運算,得到所述第一加密過程密鑰和所述第一認證過程密鑰的方法具體 包括使用所述靜態(tài)加密密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述 加密運算后得到的密文數(shù)據(jù)為所述第一加密過程密鑰;使用所述靜態(tài)認證密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述 加密運算后得到的密文數(shù)據(jù)為所述第一認證過程密鑰。所述第一應答信息中還包括第一密文數(shù)據(jù);所述第一密文數(shù)據(jù),所述智能密鑰設備使用所述第一加密過程密鑰對所述第一隨 機數(shù)、第二隨機數(shù)和第一填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得 到的密文數(shù)據(jù)中的前8個字節(jié)作為所述第一密文數(shù)據(jù)。所述第一填充數(shù)據(jù)具體包括0x80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00。所述上位機根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成第二加密過程密鑰和第 二認證過程密鑰的方法具體包括根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成派生數(shù)據(jù);分別使用所述智能密鑰設備中預置的靜態(tài)加密密鑰和靜態(tài)認證密鑰對所述派生 數(shù)據(jù)進行加密運算,得到所述第二加密過程密鑰和所述第二認證過程密鑰。所述分別使用所述智能密鑰設備中預置的靜態(tài)加密密鑰和靜態(tài)認證密鑰對派生 數(shù)據(jù)進行加密運算,得到所述第一加密過程密鑰和所述第一認證過程密鑰的方法具體包 括使用所述靜態(tài)加密密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述 加密運算后得到的密文數(shù)據(jù)為所述第二加密過程密鑰;使用所述靜態(tài)認證密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述 加密運算后得到的密文數(shù)據(jù)為所述第二認證過程密鑰。所述上位機驗證所述第二加密過程密鑰與所述第一加密過程密鑰是否相同的方 法具體包括所述上位機使用所述第二加密過程密鑰對所述第一隨機數(shù)、所述第二隨機數(shù)和所 述第一填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù)據(jù)中 的前8個字節(jié)作為所述第二密文數(shù)據(jù);所述上位機比對所述第二密文數(shù)據(jù)與所述第一密文數(shù)據(jù)是否相同,若相同,則所 述第二加密過程密鑰與所述第一加密過程密鑰相同。所述第二報文中還包括第三密文數(shù)據(jù);所述第三密文數(shù)據(jù),所述上位機使用所述第二加密過程密鑰對所述第二隨機數(shù)、第一隨機數(shù)和第二填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的 密文數(shù)據(jù)中的前8個字節(jié)數(shù)據(jù)作為第三密文數(shù)據(jù);所述第二填充數(shù)據(jù)具體包括0x80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00。所述根據(jù)所述第二認證過程密鑰計算生成第一認證數(shù)據(jù)的方法具體包括所述上位機使用所述第二認證過程密鑰對第二報文的報文頭、所述第三密文數(shù) 據(jù)、第三填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù)據(jù)中 的前8個字節(jié)數(shù)據(jù)為第一認證數(shù)據(jù)。所述智能密鑰設備接收到所述第二報文后,根據(jù)所述第一認證過程密鑰計算生成 第二認證數(shù)據(jù)方法具體包括所述智能密鑰設備使用所述第一加密過程密鑰對所述第二隨機數(shù)、第一隨機數(shù)和 所述第二填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù)據(jù) 中的前8個字節(jié)數(shù)據(jù)為第四密文數(shù)據(jù);所述智能密鑰設備使用所述第一認證過程密鑰對第二報文的報文頭、所述第四密 文數(shù)據(jù)、所述第三填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密 文數(shù)據(jù)中的前8個字節(jié)數(shù)據(jù)為第二認證數(shù)據(jù);所述第三填充數(shù)據(jù)具體包括0x80 00 00。有益效果通過本發(fā)明提供的安全報文過程密鑰的生成方法,可以獲得基于AES 加密算法的安全報文的加密過程密鑰和認證過程密鑰,從而提高了安全報文的安全等級。
圖1為本發(fā)明實施例1中提供的一種安全報文過程密鑰的生成方法流程圖;圖2為本發(fā)明實施例1中生成派生數(shù)據(jù)的方法示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方 式作進一步地詳細描述。實施例1參見圖1,本發(fā)明實施例提供了一種安全報文過程密鑰的生成方法,該方法包括步驟101.智能密鑰設備與上位機建立連接;步驟102.上位機中生成一組隨機數(shù);在本發(fā)明實施例中,上位機所生成的隨機數(shù)的長度為8個字節(jié),稱之為上位機隨 機數(shù)。步驟103.上位機向智能密鑰設備下發(fā)初始化更新命令;上位機生成隨機數(shù)后,向智能密鑰設備下發(fā)初始化更新命令,在該命令中還包括 上位機隨機數(shù)。上位機所下發(fā)的命令的格式如下命令頭、數(shù)據(jù)字段長度、數(shù)據(jù)字段,以及可選的 應答命令數(shù)據(jù)字段長度。
具體地,命令頭長度是固定的,在命令頭中包含有該命令所要進行的具體操作類 型以及命令的參數(shù)等信息,在本發(fā)明實施例中命令頭的長度為4字節(jié);數(shù)據(jù)字段長度,用于 表示命令中的數(shù)據(jù)字段的字節(jié)數(shù),在本發(fā)明實施例中這一表示數(shù)據(jù)字段長度的部分為一個 字節(jié),其取值范圍為0x00至OxFF ;數(shù)據(jù)字段,數(shù)據(jù)字段為該命令所要操作的對象或執(zhí)行該 命令所必須的其它數(shù)據(jù);在數(shù)據(jù)字段之后還包含一個可選的部分,用于表示該命令對應答 命令中的數(shù)據(jù)字段希望的字節(jié)數(shù),若命令中不包含該部分,則在應答命令中不需要數(shù)據(jù)字 段,在本發(fā)明實施中該部分若存在,則使用一個字節(jié)表示,其取值范圍為0x00至OxFF,當值 為0x00時,表示對應答命令中數(shù)據(jù)字段長度不進行具體限定,此時應答命令中數(shù)據(jù)字段長 度最大為256字節(jié)。在本發(fā)明實施例中,8字節(jié)的上位機隨機數(shù)包含在更新初始化命令的數(shù)據(jù)字段中。步驟104.智能密鑰設備執(zhí)行初始化更新命令,并向上位機返回該命令的執(zhí)行結 果;智能密鑰設備接收到上述的初始化更新命令后,生成一組長度為8字節(jié)的與上位 機隨機數(shù)不同的隨機數(shù),稱之為token隨機數(shù);當智能密鑰設備生成token隨機數(shù)后,智能密鑰設備根據(jù)上述命令中傳入的上位 機隨機數(shù)和自身生成的token隨機數(shù)、以及智能密鑰設備中預先存儲的靜態(tài)加密密鑰和靜 態(tài)認證密鑰,計算生成加密過程密鑰和認證過程密鑰;其中,加密過程密鑰用于對上位機與智能密鑰設備之間通信過程中發(fā)送的報文數(shù) 據(jù)字段進行加密;認證過程密鑰用于對上位機與智能密鑰設備之間通信過程中發(fā)送的報文 進行計算生成認證數(shù)據(jù)或MAC (Message AuthenticationCode,消息鑒別碼)。智能密鑰設備執(zhí)行完初始化更新命令后,向上位機返回一條應答命令,其中包括 初始化更新命令的執(zhí)行結果,在該應答命令中包括數(shù)據(jù)字段和狀態(tài)碼兩個部分;其中,應答命令中的數(shù)據(jù)字段包括密鑰派生數(shù)據(jù)、密鑰信息、token隨機數(shù)、 token密文;密鑰派生數(shù)據(jù)為生產(chǎn)智能密鑰設備時寫入的,固定不變,在本發(fā)明實施例中密鑰 派生數(shù)據(jù)長度為10個字節(jié);密鑰信息包括密鑰版本和安全通道協(xié)議,在本發(fā)明實施例中密鑰版本為固定的 OxFF,安全通道協(xié)議為固定的0x01 ;token密文為智能密鑰設備對以下數(shù)據(jù)進行CBC模式(密碼分組鏈接模式)的AES 加密運算上位機隨機數(shù)+token隨機數(shù)+16字節(jié)填充數(shù)據(jù),填充數(shù)據(jù)具體為0x80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00具體地,在該運算中使用的密鑰為智能密鑰設備生成的加密過程密鑰,初始向量 為16個字節(jié)的0x00,AES (Advanced Encryption Mandard,高級加密標準)加密運算完成 后取運算結果的前8個字節(jié)作為token密文;應答命令的最后2個字節(jié)為狀態(tài)碼,例如當狀態(tài)碼為0x9000時表示命令執(zhí)行成功。在本發(fā)明實施例中,應答命令格式具體為密鑰派生數(shù)據(jù)(10字節(jié))+密鑰信息O字節(jié))+token隨機數(shù)(8字節(jié))+token密 文(8字節(jié))+狀態(tài)碼O字節(jié));
在本發(fā)明實施例中,智能密鑰設備計算生成加密過程密鑰和認證過程密鑰的方法 具體為1)智能密鑰設備根據(jù)上位機隨機數(shù)和token隨機數(shù)生成一組長度為16字節(jié)的派 生數(shù)據(jù);智能密鑰設備中生成派生數(shù)據(jù)的方法為智能密鑰設備根據(jù)預先約定的規(guī)則,對 上位機隨機數(shù)和token隨機數(shù)進行變化得到派生數(shù)據(jù)。變化的方法包括按照一定的規(guī)則對 上位機隨機數(shù)和token隨機數(shù)進行拆分、數(shù)學運算、重新排列組合等。參見圖2,在本發(fā)明實施例中,智能密鑰設備中生成派生數(shù)據(jù)的方法具體為將上位機隨機數(shù)和token隨機數(shù)分別分割成為長度相同的兩個部分上位機隨機 數(shù)前4個字節(jié)、上位機隨機數(shù)后4個字節(jié)和token隨機數(shù)前4個字節(jié)、token隨機數(shù)后4個 字節(jié),共4個部分16字節(jié);然后智能密鑰設備將上述4個部分按token隨機數(shù)后4個字節(jié)、 上位機隨機數(shù)前4個字節(jié)、token隨機數(shù)前4個字節(jié)、上位機隨機數(shù)后4個字節(jié)的順序進行 拼接,拼接后得到的16個字節(jié)數(shù)據(jù)即派生數(shù)據(jù)。2)智能密鑰設備使用靜態(tài)加密密鑰對派生數(shù)據(jù)進行AES算法的ECB模式(電碼本 模式)加密運算,將該加密運算后得到的密文數(shù)據(jù)作為加密過程密鑰;在本發(fā)明實施例中,靜態(tài)加密密鑰為上位機與智能密鑰設備預先約定的,上位機 中也保存有該靜態(tài)加密密鑰,靜態(tài)加密密鑰的長度為16字節(jié)。3)智能密鑰設備使用靜態(tài)認證密鑰對派生數(shù)據(jù)進行AES算法的ECB模式加密運 算,得到認證過程密鑰;在本發(fā)明實施例中,靜態(tài)認證密鑰為上位機與智能密鑰設備預先約定的,上位機 中也保存有該靜態(tài)認證密鑰,靜態(tài)認證密鑰的長度為16字節(jié)。步驟105.上位機生成加密過程密鑰和認證過程密鑰;在上位機中也包含有和智能密鑰設備中相同的靜態(tài)加密密鑰、靜態(tài)認證密鑰;上位機根據(jù)自身生成的上位機隨機數(shù)和接收到的token隨機數(shù),使用智能密鑰設 備中相同的靜態(tài)加密密鑰、靜態(tài)認證密鑰,以及與智能密鑰設備中相同的計算方法生成加 密過程密鑰和認證過程密鑰。步驟106、上位機驗證生成的加密過程密鑰是否正確,若正確,執(zhí)行步驟107 ;否 則,上位機向智能密鑰設備下發(fā)中止生成過程密鑰的命令,智能密鑰設備將之前的計算結 果清空,結束;上位機驗證生成的加密過程密鑰是否正確的方法具體為上位機利用生成的加密過程密鑰,進行與智能密鑰設備中生成token密文相同的 運算,若運算的結果與token密文相同,則上位機生成的加密過程密鑰與智能密鑰設備中 生成的加密過程密鑰相同,即上位機生成的加密過程密鑰正確,執(zhí)行步驟107 ;否則,上位 機向智能密鑰設備下發(fā)中止生成過程密鑰的命令,智能密鑰設備將之前的計算結果清空, 結束。步驟107.上位機向智能密鑰設備下發(fā)外部認證命令;在上位機所下發(fā)的外部認證命令中,數(shù)據(jù)字段中包括8字節(jié)長度的上位機密文、8 字節(jié)的命令MAC;上位機密文為上位機對以下數(shù)據(jù)進行CBC模式的AES加密運算,token隨機數(shù)+上位機隨機數(shù)+16字節(jié)填充數(shù)據(jù)(填充數(shù)據(jù)具體為0x80 00 00 00 00 00 0000 00 00 00 00 00 00 00 00),具體地,在該運算中使用的密鑰為加密過程密鑰,初始向量為16個字節(jié) 的0x00,然后取運算結果的前8個字節(jié)作為上位機密文。在該外部認證命令中,命令MAC (Message Authentication Code,消息鑒別碼)為 上位機對上位機密文前的5字節(jié)命令頭、8字節(jié)上位機密文、3字節(jié)填充數(shù)據(jù)(填充數(shù)據(jù)具 體為0x80 00 00)進行CBC模式的AES加密運算,在該運算中使用的密鑰為認證過程密鑰, 初始向量為16個字節(jié)的0x00,然后取運算結果的前8個字節(jié)作為命令MAC。步驟108.智能密鑰設備驗證外部認證命令中的數(shù)據(jù)正確后向上位機返回過程密 鑰生成成功信息。智能密鑰設備使用加密過程密鑰對token隨機數(shù)+上位機隨機數(shù)+16字節(jié)填充數(shù) 據(jù)(填充數(shù)據(jù)具體為 0x80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)進行 CBC 模式的AES加密運算,初始向量為16個字節(jié)的0x00,然后取運算結果的前8個字節(jié)作為驗 證數(shù)據(jù),然后使用認證過程密鑰對該外部認證命令中的5字節(jié)命令頭、驗證數(shù)據(jù)、3字節(jié)填 充數(shù)據(jù)(填充數(shù)據(jù)具體為0x800000)進行CBC模式的AES加密運算,初始向量為16個字節(jié) 的0x00,然后取運算結果的前8個字節(jié)作為驗證MAC數(shù)據(jù),若智能密鑰設備計算得到的驗 證MAC數(shù)據(jù)與上位機下發(fā)的命令中的命令MAC相同,則智能密鑰設備可以確認加密過程密 鑰和認證過程密鑰生成成功,然后向上位機返回密鑰生成成功的信息0x9000 ;若智能密鑰設備驗證外部認證命令錯誤,則智能密鑰設備向上位機返回生成過程 密鑰錯誤的信息,將之前的計算結果清空,結束。當上位機與智能密鑰設備中都成功的生成了加密過程密鑰和認證過程密鑰后,上 位機與智能密鑰設備就可以使用安全報文進行數(shù)據(jù)通信了 使用AES算法利用加密過程密 鑰加密命令的數(shù)據(jù)字段、使用AES算法利用認證過程密鑰計算命令的命令MAC。通過本發(fā)明實施例所提供的安全報文過程密鑰的生成方法,可以獲得基于AES加 密算法的安全報文的加密過程密鑰和認證過程密鑰,從而提高了安全報文的安全等級。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種安全報文過程密鑰的生成方法,所述方法包括上位機生成第一隨機數(shù);所述上位機向智能密鑰設備下發(fā)第一報文,所述第一報文中包括所述第一隨機數(shù);所述智能密鑰設備生成第二隨機數(shù);所述智能密鑰設備根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成第一加密過程密鑰和 第一認證過程密鑰;所述智能密鑰設備向所述上位機返回第一應答信息,所述第一應答信息中包括所述第 二隨機數(shù);所述上位機根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù),生成第二加密過程密鑰和第二認 證過程密鑰;所述上位機驗證所述第二加密過程密鑰與所述第一加密過程密鑰是否相同,若相同, 則所述上位機向所述智能密鑰設備下發(fā)第二報文;否則所述上位機向所述智能密鑰設備下 發(fā)過程密鑰生成錯誤的信息;其中,所述第二報文包括由所述第二認證過程密鑰計算生成的第一認證數(shù)據(jù);所述智能密鑰設備接收到所述第二報文后,根據(jù)所述第一認證過程密鑰計算生成第二 認證數(shù)據(jù);所述智能密鑰設備驗證所述第二認證數(shù)據(jù)與所述第一認證數(shù)據(jù)是否相同,若相同,則 所述智能密鑰設備向所述上位機返回過程密鑰生成成功的應答信息,否則所述智能密鑰設 備向所述上位機返回過程密鑰生成失敗的應答信息。
2.如權利要求1所述的方法,其特征在于,所述智能密鑰設備根據(jù)所述第一隨機數(shù)和 所述第二隨機數(shù)生成第一加密過程密鑰和第一認證過程密鑰的方法具體包括將所述第一隨機數(shù)和所述第二隨機數(shù)按預定的規(guī)則拆分后組合成生派生數(shù)據(jù);分別使用所述智能密鑰設備中預置的靜態(tài)加密密鑰和靜態(tài)認證密鑰對所述派生數(shù)據(jù) 進行加密運算,得到所述第一加密過程密鑰和所述第一認證過程密鑰。
3.如權利要求2所述的方法,其特征在于,所述分別使用所述智能密鑰中設備預置的 靜態(tài)加密密鑰和靜態(tài)認證密鑰對所述派生數(shù)據(jù)進行加密運算,得到所述第一加密過程密鑰 和所述第一認證過程密鑰的方法具體包括使用所述靜態(tài)加密密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述加密 運算后得到的密文數(shù)據(jù)為所述第一加密過程密鑰;使用所述靜態(tài)認證密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述加密 運算后得到的密文數(shù)據(jù)為所述第一認證過程密鑰。
4.如權利要求1所述的方法,其特征在于,所述第一應答信息中還包括第一密文數(shù)據(jù);所述第一密文數(shù)據(jù),所述智能密鑰設備使用所述第一加密過程密鑰對所述第一隨機 數(shù)、第二隨機數(shù)和第一填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到 的密文數(shù)據(jù)中的前8個字節(jié)作為所述第一密文數(shù)據(jù)。
5.如權利要求4所述的方法,其特征在于,所述第一填充數(shù)據(jù)具體包括0x8000 00 00 00 00 00 00 00 00 00 00 00 00 00 00。
6.如權利要求1所述的方法,其特征在于,所述上位機根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成第二加密過程密鑰和第二認證過程密鑰的方法具體包括 根據(jù)所述第一隨機數(shù)和所述第二隨機數(shù)生成派生數(shù)據(jù);分別使用所述智能密鑰設備中預置的靜態(tài)加密密鑰和靜態(tài)認證密鑰對所述派生數(shù)據(jù) 進行加密運算,得到所述第二加密過程密鑰和所述第二認證過程密鑰。
7.如權利要求6所述的方法,其特征在于,所述分別使用所述智能密鑰設備中預置的 靜態(tài)加密密鑰和靜態(tài)認證密鑰對派生數(shù)據(jù)進行加密運算,得到所述第一加密過程密鑰和所 述第一認證過程密鑰的方法具體包括使用所述靜態(tài)加密密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述加密 運算后得到的密文數(shù)據(jù)為所述第二加密過程密鑰;使用所述靜態(tài)認證密鑰對所述派生數(shù)據(jù)進行AES算法的ECB模式加密運算,所述加密 運算后得到的密文數(shù)據(jù)為所述第二認證過程密鑰。
8.如權利要求4所述的方法,其特征在于,所述上位機驗證所述第二加密過程密鑰與 所述第一加密過程密鑰是否相同的方法具體包括所述上位機使用所述第二加密過程密鑰對所述第一隨機數(shù)、所述第二隨機數(shù)和所述第 一填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù)據(jù)中的前 8個字節(jié)作為所述第二密文數(shù)據(jù);所述上位機比對所述第二密文數(shù)據(jù)與所述第一密文數(shù)據(jù)是否相同,若相同,則所述第 二加密過程密鑰與所述第一加密過程密鑰相同。
9.如權利要求1所述的方法,其特征在于,所述第二報文中還包括第三密文數(shù)據(jù); 所述第三密文數(shù)據(jù),所述上位機使用所述第二加密過程密鑰對所述第二隨機數(shù)、第一隨機數(shù)和第二填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文 數(shù)據(jù)中的前8個字節(jié)數(shù)據(jù)作為第三密文數(shù)據(jù);
10.如權利要求9所述的方法,其特征在于,所述第二填充數(shù)據(jù)具體包括0x8000 00 00 00 00 00 00 00 00 00 00 00 00 00 00。
11.如權利要求9所述的方法,其特征在于,所述根據(jù)所述第二認證過程密鑰計算生成 第一認證數(shù)據(jù)的方法具體包括所述上位機使用所述第二認證過程密鑰對第二報文的報文頭、所述第三密文數(shù)據(jù)、第 三填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù)據(jù)中的前 8個字節(jié)數(shù)據(jù)為第一認證數(shù)據(jù)。
12.如權利要求10所述的方法,其特征在于,所述智能密鑰設備接收到所述第二報文 后,根據(jù)所述第一認證過程密鑰計算生成第二認證數(shù)據(jù)方法具體包括所述智能密鑰設備使用所述第一加密過程密鑰對所述第二隨機數(shù)、第一隨機數(shù)和所述 第二填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù)據(jù)中的 前8個字節(jié)數(shù)據(jù)為第四密文數(shù)據(jù);所述智能密鑰設備使用所述第一認證過程密鑰對第二報文的報文頭、所述第四密文數(shù) 據(jù)、所述第三填充數(shù)據(jù)進行AES算法的CBC模式加密運算,將所述加密運算后得到的密文數(shù) 據(jù)中的前8個字節(jié)數(shù)據(jù)為第二認證數(shù)據(jù);
13.如權利要求11所述的方法,其特征在于,所述第三填充數(shù)據(jù)具體包括0x800000。
全文摘要
本發(fā)明公開了一種安全報文過程密鑰的生成方法,屬于信息安全領域。該方法包括上位機生成第一隨機數(shù)并下發(fā)給智能密鑰設備;智能密鑰設備生成第二隨機數(shù),然后生成第一加密過程密鑰和第一認證過程密鑰;智能密鑰設備向上位機返回第一應答信息,第一應答信息中包括第二隨機數(shù);上位機生成第二加密過程密鑰和第二認證過程密鑰;上位機驗證第二加密過程密鑰與第一加密過程密鑰是否相同,若相同,則上位機向智能密鑰設備下發(fā)第二報文;第二報文包括第一認證數(shù)據(jù);智能密鑰設備生成第二認證數(shù)據(jù),并判斷第二認證數(shù)據(jù)與第一認證數(shù)據(jù)是否相同,若相同,則向上位機返回過程密鑰生成成功的應答信息,否則,向上位機返回過程密鑰生成失敗的應答信息。
文檔編號H04L29/06GK102045333SQ201010213918
公開日2011年5月4日 申請日期2010年6月29日 優(yōu)先權日2010年6月29日
發(fā)明者于華章, 陸舟 申請人:北京飛天誠信科技有限公司