亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種電表數(shù)據(jù)的安全處理裝置及系統(tǒng)的制作方法

文檔序號:5876286閱讀:120來源:國知局
專利名稱:一種電表數(shù)據(jù)的安全處理裝置及系統(tǒng)的制作方法
技術領域
本發(fā)明是關于智能電表系統(tǒng),特別是關于具有ESAM芯片的智能電表系統(tǒng),具體的講是一種一種電表數(shù)據(jù)的安全處理裝置及系統(tǒng)。
背景技術
ESAM(嵌入式安全芯片)在智能電表中實現(xiàn)數(shù)據(jù)存儲和安全認證等功能,為智能電表提供用戶使用電力資源的數(shù)據(jù)信息,并為用戶卡提供回寫的數(shù)據(jù)信息,同時也為MIS 系統(tǒng)提供收費和統(tǒng)計數(shù)據(jù)。由于ESAM嵌入式安全芯片在智能表具中擔負著智能表安全控管的作用,控制智能表具的預付費充值安全、參數(shù)更新安全,因此,ESAM嵌入式安全芯片的安全是整體CPU卡表系統(tǒng)安全體系中重要的環(huán)節(jié)。目前在智能表具種采用ESAM嵌入式安全芯片,具有較高的安全性。但是,目前在ESAM中采用國際通用算法DES和3DES算法,存在一定的安全隱患。DES算法采用8字節(jié)密鑰,由于密鑰含有8個奇偶校驗位,它減少了可用的密鑰空間,因此密鑰空間只有56位。隨著現(xiàn)代計算機處理能力的穩(wěn)定增長,這樣大小的密鑰空間被認為是處于安全加密算法的下限。如果有明文和密文對可用,而密鑰空間這樣大小,就很容易對所有可能的密鑰進行試驗,目前對DES的破譯,最有效的是窮舉功擊。3DES是DES向 AES過渡的加密算法。1999年,美國標準與技術研究院(NIST)將3DES指定為過渡的加密標準,3DES是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密算法,3DES采用192位密鑰,該密鑰被分成三個64位子密鑰并用于加密過程。加密過程與DES完全相同,只是重復三次。由于DES和3DES屬于國際通用算法,因此算法是公開的,攻擊者可以在任何地方都可以得到DES和3DES算法的源代碼,可以針對DES和3DES 進行算法攻擊,而且DES和3DES算法推出的時間比較長,因此,在ESAM嵌入式安全芯片繼續(xù)使用DES或3DES算法顯然具有安全隱患。如果由于算法攻擊導致預付費充值流程、參數(shù)更新流程被篡改將給整個CPU卡表系統(tǒng)特別是給資源方造成巨大的經(jīng)濟損失。SMl算法是國家密碼管理局監(jiān)制的一種商用密碼分組標準對稱算法,算法分組長度為128比特,密鑰長度為128比特,具有較大的密碼空間,但SMl算法是使用密鑰將16字節(jié)明文數(shù)據(jù)塊加密成密文數(shù)據(jù)塊,而目前采用ESAM模塊的智能電表中的認證數(shù)據(jù)等均為8 字節(jié),因此,采用SMl算法不能對具有ESAM模塊的智能電表系統(tǒng)中的認證數(shù)據(jù)及傳送的業(yè)務數(shù)據(jù)進行加密。

發(fā)明內容
本發(fā)明實施例提供了一種電表數(shù)據(jù)的安全處理裝置,該裝置包括身份認證裝置、 數(shù)據(jù)加密裝置、數(shù)據(jù)解密裝置及MAC檢驗裝置;其中,身份認證裝置包括離散因子轉換單元,用于將從外部獲取的8字節(jié)離散因子轉換成16字節(jié)離散因子輸入數(shù)據(jù);子密鑰生成單元,用于根據(jù)預存的主密鑰對16字節(jié)離散因子輸入數(shù)據(jù)進行SMl算法加密,生成16字節(jié)子密鑰;認證因子轉換單元,用于將從外部智能卡獲取的8字節(jié)認證因子轉換成16字節(jié)認證因子輸入數(shù)據(jù);表端認證數(shù)據(jù)生成單元,用于使用子密鑰對認證因子輸入數(shù)據(jù)進行SMl算法加密,生成8字節(jié)表端認證數(shù)據(jù);加密指令發(fā)送單元,用于發(fā)送包含認證因子的加密指令給外部智能卡;卡端認證數(shù)據(jù)接收單元,用于接收外部智能卡發(fā)來的根據(jù)認證因子和SMl 算法加密生成的卡端認證數(shù)據(jù);認證結果生成單元,用于將表端認證數(shù)據(jù)和卡端認證數(shù)據(jù)進行一致性比較,生成認證結果;數(shù)據(jù)加密裝置包括待加密數(shù)據(jù)生成單元,用于將表示命令數(shù)據(jù)域的明文數(shù)據(jù)長度的長度字節(jié)添加到明文數(shù)據(jù)前生成待加密數(shù)據(jù);待加密數(shù)據(jù)轉換單元,用于將待加密數(shù)據(jù)按順序劃分為多個16字節(jié)子數(shù)據(jù)塊Dl、D2…Dn ;加密結果生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法分別對16字節(jié)子數(shù)據(jù)塊Dl、D2…Dn進行加密,生成加密結果;數(shù)據(jù)解密裝置包括數(shù)據(jù)轉換單元,用于將接收到的加密的命令數(shù)據(jù)中的命令數(shù)據(jù)域數(shù)據(jù)轉換為16字節(jié)數(shù)據(jù)塊;明文數(shù)據(jù)生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法將所述16字節(jié)數(shù)據(jù)塊進行解密,生成明文數(shù)據(jù);MAC值計算裝置包括初始值生成單元,用于將獲取的8字節(jié)隨機數(shù)轉換為16字節(jié)初始值;數(shù)據(jù)塊生成單元,用于將報文中的5字節(jié)命令頭CLA、INS、PI、P2、LC和報文命令數(shù)據(jù)域的數(shù)據(jù)連接形成報文數(shù)據(jù)塊;報文數(shù)據(jù)塊轉換單元,用于將報文數(shù)據(jù)塊轉換為多個16字節(jié)報文子數(shù)據(jù)塊Bi,B2…&ι ;MAC值計算單元,用于根據(jù)預存的SMl密鑰、所述的初始值、16字節(jié)報文子數(shù)據(jù)塊采用SMl算法進行計算,進而生成MAC值。本發(fā)明公開了一種電表數(shù)據(jù)的安全處理系統(tǒng),該系統(tǒng)包括電表數(shù)據(jù)安全處理裝置,該電表數(shù)據(jù)安全處理裝置包括身份認證裝置、數(shù)據(jù)加密裝置、數(shù)據(jù)解密裝置及MAC檢驗裝置;其中,身份認證裝置包括離散因子轉換單元,用于將從外部獲取的8字節(jié)離散因子轉換成16字節(jié)離散因子輸入數(shù)據(jù);子密鑰生成單元,用于根據(jù)預存的主密鑰對16字節(jié)離散因子輸入數(shù)據(jù)進行SMl算法加密,生成16字節(jié)子密鑰;認證因子轉換單元,用于將從外部智能卡獲取的8字節(jié)認證因子轉換成16字節(jié)認證因子輸入數(shù)據(jù);表端認證數(shù)據(jù)生成單元, 用于使用子密鑰對認證因子輸入數(shù)據(jù)進行SMl算法加密,生成8字節(jié)表端認證數(shù)據(jù);加密指令發(fā)送單元,用于發(fā)送包含認證因子的加密指令給外部智能卡;卡端認證數(shù)據(jù)接收單元,用于接收外部智能卡發(fā)來的根據(jù)認證因子和SMl算法加密生成的卡端認證數(shù)據(jù);認證結果生成單元,用于將表端認證數(shù)據(jù)和卡端認證數(shù)據(jù)進行一致性比較,生成認證結果;數(shù)據(jù)加密裝置包括待加密數(shù)據(jù)生成單元,用于將表示命令數(shù)據(jù)域的明文數(shù)據(jù)長度的長度字節(jié)添加到明文數(shù)據(jù)前生成待加密數(shù)據(jù);待加密數(shù)據(jù)轉換單元,用于將待加密數(shù)據(jù)按順序劃分為多個 16字節(jié)子數(shù)據(jù)塊Dl、D2…Dn ;加密結果生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法分別對16字節(jié)子數(shù)據(jù)塊Dl、D2…Dn進行加密,生成加密結果;數(shù)據(jù)解密裝置包括數(shù)據(jù)轉換單元,用于將接收到的加密的命令數(shù)據(jù)中的命令數(shù)據(jù)域數(shù)據(jù)轉換為16字節(jié)數(shù)據(jù)塊;明文數(shù)據(jù)生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法將所述16字節(jié)數(shù)據(jù)塊進行解密,生成明文數(shù)據(jù);MAC值計算裝置包括初始值生成單元,用于將獲取的8字節(jié)隨機數(shù)轉換為16 字節(jié)初始值;數(shù)據(jù)塊生成單元,用于將報文中的5字節(jié)命令頭CLA、INS、P1、P2、LC和報文命令數(shù)據(jù)域的數(shù)據(jù)連接形成報文數(shù)據(jù)塊;報文數(shù)據(jù)塊轉換單元,用于將報文數(shù)據(jù)塊轉換為多個16字節(jié)報文子數(shù)據(jù)塊Β1,Β2···&ι ;MAC值計算單元,用于根據(jù)預存的SMl密鑰、所述的初始值、16字節(jié)報文子數(shù)據(jù)塊采用SMl算法進行計算,進而生成MAC值。為讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例, 并配合所附圖式,作詳細說明如下。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一種電表數(shù)據(jù)的安全處理裝置的結構框圖2為身份認證裝置的結構示意圖3為數(shù)據(jù)加密裝置的結構示意圖4為數(shù)據(jù)解密裝置的結構示意圖5為MAC計算裝置的結構示意圖6為本發(fā)明實施例密鑰分散方法流程圖7為本發(fā)明實施例認證數(shù)據(jù)計算方法流程圖8為本發(fā)明實施例智能電表對CPU卡進行身份認證的信令圖
圖9為本發(fā)明實施例數(shù)據(jù)加密計算方法流程圖10為本發(fā)明實施例中進行加密計算的方法示意圖11為本發(fā)明實施例數(shù)據(jù)解密計算的方法示意圖12為本發(fā)明實施例MAC計算的方法示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,為本發(fā)明電表數(shù)據(jù)的安全處理裝置結構框圖,把包括身份認證裝置101、 數(shù)據(jù)加密裝置102、數(shù)據(jù)解密裝置103及MAC檢驗裝置104。通過本發(fā)明的電表數(shù)據(jù)的安全處理裝置將電網(wǎng)系統(tǒng)中的8字節(jié)認證數(shù)據(jù)轉換為符合SMl算法要求的16字節(jié)的輸入數(shù)據(jù), 然后對該輸入數(shù)據(jù)進行加密,生成加密結果,并根據(jù)認證數(shù)據(jù)的指令對生成的加密結果進行處理,生成數(shù)據(jù)處理結果,同時還用于將電網(wǎng)系統(tǒng)中傳輸?shù)拿顢?shù)據(jù)進行SMl算法的加密、解密。如圖2所示,身份認證裝置101包括離散因子轉換單元1011,用于將從外部獲取的8字節(jié)離散因子轉換成16字節(jié)離散因子輸入數(shù)據(jù);子密鑰生成單元1012,用于根據(jù)預存的主密鑰對16字節(jié)離散因子輸入數(shù)據(jù)進行 SMl算法加密,生成16字節(jié)子密鑰;認證因子轉換單元1013,用于將從外部智能卡獲取的8字節(jié)認證因子轉換成16字節(jié)認證因子輸入數(shù)據(jù);表端認證數(shù)據(jù)生成單元1014,用于使用子密鑰對認證因子輸入數(shù)據(jù)進行SMl算法加密,生成8字節(jié)表端認證數(shù)據(jù);加密指令發(fā)送單元1015,用于發(fā)送包含認證因子的加密指令給外部智能卡;
卡端認證數(shù)據(jù)接收單元1016,用于接收外部智能卡發(fā)來的根據(jù)認證因子和SMl算法加密生成的卡端認證數(shù)據(jù);認證結果生成單元1017,用于將表端認證數(shù)據(jù)和卡端認證數(shù)據(jù)進行一致性比較, 生成認證結果;如圖3所示,數(shù)據(jù)加密裝置102包括待加密數(shù)據(jù)生成單元1021,用于將表示命令數(shù)據(jù)域的明文數(shù)據(jù)長度的長度字節(jié)添加到明文數(shù)據(jù)前生成待加密數(shù)據(jù);待加密數(shù)據(jù)轉換單元1022,用于將待加密數(shù)據(jù)按順序劃分為多個16字節(jié)子數(shù)據(jù)塊 Dl、D2."Dn ;加密結果生成單元1023,用于根據(jù)預存的SMl密鑰采用SMl算法分別對所述的16 字節(jié)子數(shù)據(jù)塊Dl、D2…Dn進行加密,生成加密結果;如圖4所示,數(shù)據(jù)解密裝置103包括數(shù)據(jù)轉換單元1031,用于將接收到的加密的命令數(shù)據(jù)中的命令數(shù)據(jù)域數(shù)據(jù)轉換為 16字節(jié)數(shù)據(jù)塊;明文數(shù)據(jù)生成單元1032,用于根據(jù)預存的SMl密鑰采用SMl算法將16字節(jié)數(shù)據(jù)塊進行解密,生成明文數(shù)據(jù);如圖5所示,MAC值計算裝置104包括初始值生成單元1041,用于將獲取的8字節(jié)隨機數(shù)轉換為16字節(jié)初始值,將8字節(jié)隨機數(shù)加8字節(jié)隨機數(shù)求反值作為初始變量;數(shù)據(jù)塊生成單元1042,用于將報文中的5字節(jié)命令頭CLA、INS、PI、P2、LC和報文命令數(shù)據(jù)域的數(shù)據(jù)連接形成報文數(shù)據(jù)塊,報文數(shù)據(jù)域的數(shù)據(jù)包括明文或密文;報文數(shù)據(jù)塊轉換單元1043,用于將報文數(shù)據(jù)塊轉換為多個16字節(jié)報文子數(shù)據(jù)塊 Bi, Β2..·Βη ;MAC值計算單元1044,用于根據(jù)預存的SMl密鑰、初始值、16字節(jié)報文子數(shù)據(jù)塊采用SMl算法進行計算,進而生成4字節(jié)MAC值。智能表具的安全需求主要包括,數(shù)據(jù)可靠性、完整性校驗,數(shù)據(jù)訪問權控制等方面,在智能表具的安全管理中,涉及密鑰分散、身份認證、權限認證、加密、解密及安全報文 MAC計算,在本發(fā)明中均采用SMl算法保證數(shù)據(jù)安全。如圖6所示為密鑰分散的具體步驟,步驟S201,接收8字節(jié)分散因子;步驟S202, 對接收到的分散因子求反;步驟S203,將接收的分散因子加上分散因子求反值作為輸入數(shù)據(jù);步驟S204,用主密鑰KEY對輸入數(shù)據(jù)進行SMl算法加密生成子密鑰,加密結果為16字節(jié)作為子密鑰。電網(wǎng)系統(tǒng)中,通過認證數(shù)據(jù)對卡進行內部驗證或外部認證,認證數(shù)據(jù)通過認證因子產(chǎn)生。圖7所示為認證數(shù)據(jù)的計算步驟。認證因子為8字節(jié)隨機數(shù)。對于外部認證,認證因子由卡發(fā)送給接口設備;對于內部認證,認證因子由接口設備發(fā)送給卡。步驟S301,對認證因子求反;步驟S302,將認證因子加上認證因子求反值作為輸入數(shù)據(jù);步驟S303,采用認證密鑰對輸入數(shù)據(jù)進行SMl算法加密生成加密結果,加密結果為 16字節(jié);步驟S304,將獲得的加密結果左右8字節(jié)進行‘異或’獲得8字節(jié)認證數(shù)據(jù)。本發(fā)明的身份認證裝置對接入電表設備進行身份認證時,根據(jù)密鑰分散步驟生成子密鑰,采用生成的子密鑰對接入設備進行身份認證。如圖8所示,為本發(fā)明實施例對插入智能電表的CPU卡進行身份認證的信令圖。安全報文傳送的目的是保證數(shù)據(jù)的可靠性、完整性和對發(fā)送方的認證。數(shù)據(jù)完整性和對發(fā)送方的認證通過使用MAC來實現(xiàn),MAC是命令數(shù)據(jù)域中最后一個數(shù)據(jù)元,長度規(guī)定為4個字節(jié)。數(shù)據(jù)的可靠性通過對數(shù)據(jù)域的加密來得到保證,數(shù)據(jù)域的數(shù)據(jù)是否加密,應被命令發(fā)送方和當前卡中被選擇的應用所了解。安全報文傳送的命令格式符合ISO 7816-4的規(guī)定。當CLA字節(jié)的第二個半字節(jié)等于十六進制數(shù)字‘4’時,表明對發(fā)送方命令數(shù)據(jù)要采用安全報文傳送。情況一這種情況時,沒有數(shù)據(jù)送到卡中,也沒有數(shù)據(jù)從卡中返回。沒有安全報文傳送要求的命令格式如下
權利要求
1.一種電表數(shù)據(jù)的安全處理裝置,其特征在于,所述的裝置包括身份認證裝置、數(shù)據(jù)加密裝置、數(shù)據(jù)解密裝置及MAC檢驗裝置;其中,所述的身份認證裝置包括離散因子轉換單元,用于將從外部獲取的8字節(jié)離散因子轉換成16字節(jié)離散因子輸入數(shù)據(jù);子密鑰生成單元,用于根據(jù)預存的主密鑰對所述的16字節(jié)離散因子輸入數(shù)據(jù)進行SMl 算法加密,生成16字節(jié)子密鑰;認證因子轉換單元,用于將從外部智能卡獲取的8字節(jié)認證因子轉換成16字節(jié)認證因子輸入數(shù)據(jù);表端認證數(shù)據(jù)生成單元,用于使用所述的子密鑰對所述的認證因子輸入數(shù)據(jù)進行SMl 算法加密,生成8字節(jié)表端認證數(shù)據(jù);加密指令發(fā)送單元,用于發(fā)送包含認證因子的加密指令給外部智能卡; 卡端認證數(shù)據(jù)接收單元,用于接收外部智能卡發(fā)來的根據(jù)所述的認證因子和SMl算法加密生成的卡端認證數(shù)據(jù);認證結果生成單元,用于將所述的表端認證數(shù)據(jù)和卡端認證數(shù)據(jù)進行一致性比較,生成認證結果;所述的數(shù)據(jù)加密裝置包括待加密數(shù)據(jù)生成單元,用于將表示命令數(shù)據(jù)域的明文數(shù)據(jù)長度的長度字節(jié)添加到所述的明文數(shù)據(jù)前生成待加密數(shù)據(jù);待加密數(shù)據(jù)轉換單元,用于將所述的待加密數(shù)據(jù)按順序劃分為多個16字節(jié)子數(shù)據(jù)塊 Dl、D2."Dn ;加密結果生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法分別對所述的16字節(jié)子數(shù)據(jù)塊D1、D2…Dn進行加密,生成加密結果; 所述的數(shù)據(jù)解密裝置包括數(shù)據(jù)轉換單元,用于將接收到的加密的命令數(shù)據(jù)中的命令數(shù)據(jù)域數(shù)據(jù)轉換為16字節(jié)數(shù)據(jù)塊;明文數(shù)據(jù)生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法將所述16字節(jié)數(shù)據(jù)塊進行解密,生成明文數(shù)據(jù);所述的MAC值計算裝置包括初始值生成單元,用于將獲取的8字節(jié)隨機數(shù)轉換為16字節(jié)初始值; 數(shù)據(jù)塊生成單元,用于將報文中的5字節(jié)命令頭CLA、INS、PI、P2、LC和報文命令數(shù)據(jù)域的數(shù)據(jù)連接形成報文數(shù)據(jù)塊;報文數(shù)據(jù)塊轉換單元,用于將所述的報文數(shù)據(jù)塊轉換為多個16字節(jié)報文子數(shù)據(jù)塊Bi, Β2..·Βη ;MAC值計算單元,用于根據(jù)預存的SMl密鑰、所述的初始值、16字節(jié)報文子數(shù)據(jù)塊采用 SMl算法進行計算,進而生成4字節(jié)MAC值。
2.如權利要求1所述的安全處理裝置,其特征在于,所述的離散因子轉換單元包括 離散因子求反模塊,用于對所述的從外部獲取的8字節(jié)離散因子求反生成8字節(jié)離散因子求反值;離散因子輸入數(shù)據(jù)生成模塊,用將所述的8字節(jié)離散因子加上所述的離散因子求反值生成16字節(jié)離散因子輸入數(shù)據(jù)。
3.如權利要求1所述的安全處理裝置,其特征在于,所述的認證因子轉換單元包括 認證因子求反模塊,用于對所述的從外部獲取的8字節(jié)認證因子求反生成8字節(jié)認證因子求反值;認證因子輸入數(shù)據(jù)生成模塊,用將所述的8字節(jié)認證因子加上所述的認證因子求反值生成16字節(jié)認證因子輸入數(shù)據(jù)。
4.如權利要求1所述的安全處理裝置,其特征在于,所述的表端認證數(shù)據(jù)生成單元包括SMl算法加密模塊,用于使用所述的子密鑰對所述認證因子進行SMl算法加密,生成16 位字節(jié)的認證數(shù)據(jù);認證數(shù)據(jù)轉換模塊,用于將所述的16字節(jié)認證數(shù)據(jù)的左右8字節(jié)進行異或運算,生成 8字節(jié)表端認證數(shù)據(jù)。
5.如權利要求1所述的安全處理裝置,其特征在于,所述的加密結果生成單元包括 判斷模塊,用于判斷子數(shù)據(jù)塊Dn是否為16字節(jié),判斷是,采用SMl算法按順序對所述的子數(shù)據(jù)塊D1、D2…Dn進行加密,根據(jù)預存的SMl密鑰采用SMl算法按順序生成加密后的 16字節(jié)數(shù)據(jù)塊01、02、On ;判斷否,則在所述的子數(shù)據(jù)塊Dn后添加16進制數(shù)80,若子數(shù)據(jù)塊Dn仍不足16字節(jié), 則在其后加入16進制數(shù)00,直至子數(shù)據(jù)塊Dn長度為16字節(jié),根據(jù)預存的SMl密鑰采用SMl 算法按順序對16字節(jié)子數(shù)據(jù)塊D1、D2…Dn進行加密,生成加密后的16字節(jié)數(shù)據(jù)塊01、02、 On ;生成模塊,用于將所述的16字節(jié)數(shù)據(jù)塊鏈接在一起生成加密結果。
6.如權利要求1所述的安全處理裝置,其特征在于,所述的報文數(shù)據(jù)塊轉換單元包括 報文劃分模塊,用于將所述的報文數(shù)據(jù)塊以16字節(jié)為單位按順序劃分為多個16字節(jié)報文子數(shù)據(jù)塊Bi,B2···Bn ;字節(jié)判斷模塊,用于判斷所述的報文子數(shù)據(jù)塊是否滿足16字節(jié),判斷是,在16字節(jié)報文數(shù)據(jù)塊 Bn 后添加 16 進制數(shù) 80 00 00 00 00 00 00 00 00 0000 00 00 00 00 ;判斷否,則在數(shù)據(jù)塊后加上16進制數(shù)80,若子數(shù)據(jù)塊仍不足16字節(jié),則在其后加入16進制數(shù)00,直至子數(shù)據(jù)塊長度為16字節(jié)。
7.如權利要求1所述的安全處理裝置,其特征在于,所述的MAC值計算單元包括 加密模塊,用于根據(jù)預存的SMl密鑰、所述的初始值、16字節(jié)報文子數(shù)據(jù)塊采用SMl算法進行計算,生成16字節(jié)計算結果;MAC值生成模塊,用于將所述的16字節(jié)計算結果按順序進行4字節(jié)分塊異或運算生成 4字節(jié)MAC值。
8.一種電表數(shù)據(jù)的安全處理系統(tǒng),其特征在于,所述的系統(tǒng)包括電表數(shù)據(jù)安全處理裝置,所述的電表數(shù)據(jù)處理裝置包括身份認證裝置、數(shù)據(jù)加密裝置、數(shù)據(jù)解密裝置及MAC檢驗裝置;其中,所述的身份認證裝置包括離散因子轉換單元,用于將從外部獲取的8字節(jié)離散因子轉換成16字節(jié)離散因子輸入數(shù)據(jù);子密鑰生成單元,用于根據(jù)預存的主密鑰對所述的16字節(jié)離散因子輸入數(shù)據(jù)進行SMl 算法加密,生成16字節(jié)子密鑰;認證因子轉換單元,用于將從外部智能卡獲取的8字節(jié)認證因子轉換成16字節(jié)認證因子輸入數(shù)據(jù);表端認證數(shù)據(jù)生成單元,用于使用所述的子密鑰對所述的認證因子輸入數(shù)據(jù)進行SMl 算法加密,生成8字節(jié)表端認證數(shù)據(jù);加密指令發(fā)送單元,用于發(fā)送包含認證因子的加密指令給外部智能卡; 卡端認證數(shù)據(jù)接收單元,用于接收外部智能卡發(fā)來的根據(jù)所述的認證因子和SMl算法加密生成的卡端認證數(shù)據(jù);認證結果生成單元,用于將所述的表端認證數(shù)據(jù)和卡端認證數(shù)據(jù)進行一致性比較,生成認證結果;所述的數(shù)據(jù)加密裝置包括待加密數(shù)據(jù)生成單元,用于將表示命令數(shù)據(jù)域的明文數(shù)據(jù)長度的長度字節(jié)添加到所述的明文數(shù)據(jù)前生成待加密數(shù)據(jù);待加密數(shù)據(jù)轉換單元,用于將所述的待加密數(shù)據(jù)按順序劃分為多個16字節(jié)子數(shù)據(jù)塊 Dl、D2."Dn ;加密結果生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法分別對所述的16字節(jié)子數(shù)據(jù)塊Dl、D2…Dn進行加密,生成加密結果; 所述的數(shù)據(jù)解密裝置包括數(shù)據(jù)轉換單元,用于將接收到的加密的命令數(shù)據(jù)中的命令數(shù)據(jù)域數(shù)據(jù)轉換為16字節(jié)數(shù)據(jù)塊;明文數(shù)據(jù)生成單元,用于根據(jù)預存的SMl密鑰采用SMl算法將所述16字節(jié)數(shù)據(jù)塊進行解密,生成明文數(shù)據(jù);所述的MAC值計算裝置包括初始值生成單元,用于將獲取的8字節(jié)隨機數(shù)轉換為16字節(jié)初始值; 數(shù)據(jù)塊生成單元,用于將報文中的5字節(jié)命令頭CLA、INS、PI、P2、LC和報文命令數(shù)據(jù)域的數(shù)據(jù)連接形成報文數(shù)據(jù)塊;報文數(shù)據(jù)塊轉換單元,用于將所述的報文數(shù)據(jù)塊轉換為多個16字節(jié)報文子數(shù)據(jù)塊Bi, Β2..·Βη ;MAC值計算單元,用于根據(jù)預存的SMl密鑰、所述的初始值、16字節(jié)報文子數(shù)據(jù)塊采用 SMl算法進行計算,進而生成MAC值。
全文摘要
本發(fā)明公開了一種電表數(shù)據(jù)的安全處理裝置及系統(tǒng),該裝置包括身份認證裝置、數(shù)據(jù)加密裝置、數(shù)據(jù)解密裝置及MAC檢驗裝置;對接入電表的電卡或電網(wǎng)設備進行安全認證及傳輸?shù)拿顢?shù)據(jù)進行處理,對安全認證數(shù)據(jù)求反,將安全認證數(shù)據(jù)加求反值生成16字節(jié)安全認證輸入數(shù)據(jù)塊;將指令數(shù)據(jù)劃分為以16字節(jié)為單位的子數(shù)據(jù)塊;采用SM1算法對安全認證輸入數(shù)據(jù)塊和各子數(shù)據(jù)塊進行加密,生成4字節(jié)數(shù)據(jù)處理結果。
文檔編號G01R22/10GK102377566SQ201010250219
公開日2012年3月14日 申請日期2010年8月11日 優(yōu)先權日2010年8月11日
發(fā)明者何中林, 常波 申請人:北京融通高科科技發(fā)展有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1