密碼 報文分析 規約對比(97-07)

劉物峰發表於2011-03-30

 一、 密碼術語

1.     明文plain text

待加密的資料。

2.     密文ciphertest

加密後側資料。

3.     加密encryption

對資料進行密碼變換以產生密文的過程。

其過程就通過一定的演算法對資料做二次處理形成新的資料。

4.     解密decryption

加密過程對應的逆過程。

其過程就通過一定的演算法(加密反演算法)對資料做二次處理形成新的資料。

5.     金鑰Key

控制密碼變換操作的關鍵資訊或引數。

金鑰是一種引數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的資料。

金鑰分為兩種:對稱金鑰與非對稱金鑰

對於普通的對稱密碼學,加密運算與解密運算使用同樣的金鑰。通常,使用的加密演算法比較簡便高效,金鑰簡短,破譯極其困難,由於系統的保密性主要取決於金鑰的安全性,所以,在公開的計算機網路上安全地傳送和保管金鑰是一個嚴峻的問題。正是由於對稱密碼學中雙方都使用相同的金鑰,因此無法實現資料簽名和不可否認性等功能。

公開金鑰體制,即運用單向函式的數學原理,以實現加、解密金鑰的分離。加密金鑰是公開的,解密金鑰是保密的。

不像普通的對稱密碼學中採用相同的金鑰加密、解密資料,非對稱金鑰加密技術採用一對匹配的金鑰進行加密、解密,具有兩個金鑰,一個是公鑰一個是私鑰,它們具有這種性質:每把金鑰執行一種對資料的單向處理,每把的功能恰恰與另一把相反,一把用於加密時,則另一把就用於解密。用公鑰加密的檔案只能用私鑰解密,而私鑰加密的檔案只能用公鑰解密。 公共金鑰是由其主人加以公開的,而私人金鑰必須保密存放。為傳送一份保密報文,傳送者必須使用接收者的公共金鑰對資料進行加密,一旦加密,只有接收方用其私人金鑰才能加以解密。 相反地,使用者也能用自己私人金鑰對資料加以處理。換句話說,金鑰對的工作是可以任選方向的。這提供了"數字簽名"的基礎,如果要一個使用者用自己的私人金鑰對資料進行了處理,別人可以用他提供的公共金鑰對資料加以處理。由於僅僅擁有者本人知道私人金鑰,這種被處理過的報文就形成了一種電子簽名、一種別人無法產生的檔案。 數字證書中包含了公共金鑰資訊,從而確認了擁有金鑰對的使用者的身份。

6.     主金鑰master key

處於對稱密碼系統層次化金鑰結構中的最高層,對其他金鑰進行加密的金鑰

7.    訊息鑑別碼演算法Message Authentication Code algorithm

帶金鑰的密碼雜湊演算法,可用於資料來源鑑別。

8.    訊息鑑別碼Message Authentication CodeMAC

訊息鑑別碼演算法的輸出。

訊息鑑別碼實現鑑別的原理是,用公開函式和金鑰產生一個固定長度的值作為認證標識,用這個標識鑑別訊息的完整性。使用一個金鑰生成一個固定大小的小資料塊,MAC,並將其加入到訊息中,然後傳輸。接收方利用與傳送方共享的金鑰進行鑑別認證等。

9.     分散因子diffusion factor

金鑰分散是上級的金鑰與本級的特徵相結合形成本級的金鑰,與本級特徵有關的業務程式碼,金鑰學稱之為分散因子。

金鑰分散的過程就是利用上級的金鑰與分散因子(即與本機特徵有關的業務程式碼)相結合生成了本級的金鑰。根據金鑰演算法的不可逆行,從而確保了上級金鑰的安全性

本文件中有些內容採用了“離散因子”這個術語,在此宣告“離散因子”就是本條解釋的“分散因子”。

10.  國密SM1演算法SM1cryptographic algorithm

國密SM1演算法是由國家密碼管理局編制的一種商用密碼分組標準對稱演算法。

該演算法是國家密碼管理部門審批的SM1分組密碼演算法, 分組長度和金鑰長度都為128位元,演算法安全保密強度及相關軟硬體實現效能與AES相當,該演算法不公開,僅以IP核的形式存在於晶片中。採用該演算法已經研製了系列晶片、智慧IC卡、智慧密碼鑰匙、加密卡、加密機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政務通、警務通等重要領域)。

 

二、    相關術語

1.     ESAM模組ESAM module

嵌入在裝置內,實現安全儲存、資料加/解密、雙向身份認證、存取許可權控制、線路加密傳輸等安全控制功能。

I   嵌入式安全模組物理上以加解密晶片的形式體現,內建CPU運算處理器和特定的加密演算法,負責完成售電系統資料與電能表的傳輸過程中資訊保安。![endif]-->!--[if>![endif]-->!--[if>

II  ESAM模組由執行管理部門設定完畢後,提供給錶廠安裝在費控電能表中,費控電能表中的資料存取以及金鑰的安全認證過程都在使用者卡(或抄表後臺、資料集中器)與費控電能表中的ESAM模組之間進行,與費控電能表中的微控制器無關,微控制器仍然由錶廠負責設計,完成費控電能表的功能。![endif]-->!--[if>![endif]-->!--[if>

2.   CPU CPU card

配置有儲存器和邏輯控制電路及微處理(MCU)電路,能多次重複使用的接觸式IC

I                   內建微處理器、程式儲存器、資料儲存器和其它邏輯電路的積體電路卡,卡的表面有觸點,以電氣接觸的方式與讀卡裝置(如電能表)進行資料傳遞,工作時需要由外部裝置提供工作電源。![endif]-->!--[if>![endif]-->!--[if>

II        本標準定義的CPU卡特指接觸式CPU卡。![endif]-->!--[if>![endif]-->!--[if>

3.     射頻卡 radio frequency card

一種以無線方式傳送資料的具有資料儲存、邏輯控制和資料處理等功能的非接觸式IC卡。

I                   內建微處理器、程式儲存器、資料儲存器和其它邏輯電路的積體電路卡,卡上無電氣觸點,通過接收讀卡裝置(如電能表)的射頻訊號與讀卡裝置進行資料傳遞,其工作電源通過感應射頻訊號獲得。![endif]-->!--[if>![endif]-->!--[if>

II        本標準定義的射頻卡特指非接觸式CPU。![endif]-->!--[if>![endif]-->!--[if>

4.     金鑰下裝卡 card set operation key to replace public key

用於將儀表從公開金鑰狀態修改成正式金鑰狀態。儀表出廠時處於公開金鑰狀態,安裝前必須利用金鑰下裝卡將其修改為正式金鑰狀態,處於正式金鑰狀態下的儀表不能用電力公司以外的IC卡進行操作。

5.     金鑰恢復卡 card to recover public key from operation key

用於將儀表從正式金鑰狀態恢復成公開金鑰狀態,以便於對儀表進行檢修或重新預置引數。

6.     引數預置卡 card to set parameter in advance

引數預置卡是用來在生產過程中對電能表的引數進行初始化的功能卡,插卡後除了設定引數外,同時還清除原用電金額等資訊,並在修改金鑰後可以進行開戶操作。

 

一、     報文分析

1.     物理層 physical layer

規定了資料終端裝置或手持單元與多功能電能表之間的物理介面、介面的物理和電氣特性,負責物理媒體上資訊的接收和傳送。

2.     資料鏈路層 data-link layer

負責資料終端裝置與多功能電能表之間通訊鏈路的建立並以為單位傳輸資訊,保證資訊的順序傳送,具有傳輸差錯檢測功能。

3.     應用層 application layer

利用資料鏈路層的資訊傳遞功能,在資料終端裝置與多功能電能表之間傳送、接收各種資料資訊。

4.     DLT645-2007dlt645_1997對比

a)        位元組傳輸序列

68

11

11

11

11

11

11

68

01

02

43 C3

3F

16

<!--[endif]-->

68

11

11

11

11

11

11

68

11

04

33 33 34 33

18

16

b)      地址域

A0A5:地址域由6 個位元組構成,每位元組2 BCD 。地址長度可達12 位十進位制數,可以為表號、資產號、使用者號、裝置號等。具體使用可由使用者自行決定。當使用的地址碼長度不足6 位元組時,用十六進位制AAH 補足6 位元組。低地址位在先,高地址位在後。當地址為999999999999H 時,為廣播地址。

    6 個位元組構成,每位元組 2 BCD 。地址長度可達12位十進位制數,每塊表具有唯一的通訊地址,且與物理層通道無關.當使用的地址碼長度不足 6 位元組時,高位用“0”補足 . 當通訊地址為 999999999999H為廣播地址,只針對特殊命令有效,如廣播校時和廣播凍結等。廣播命令不要求從站應答。

 c)    控制碼C

D7=0:由主站發出的命令幀    D7=1:由從站發出的應答幀

D6=0:從站正確應答                D6=1:從站對異常資訊的應答

D5=0:無後續資料幀                D5=1:有後續資料幀

D4D0:請求及應答功能碼

  00000:保留           00001:讀資料

  00010:讀後續資料     00011:重讀資料

  00100:寫資料         01000:廣播校時

  01010:寫裝置地址     01100:更改通訊速率

  01111:修改密碼       10000:最大需量清零

 

D7 傳送方向 0:主站發出的命令幀 1:從站發出的應答幀

D6 從站應答標誌 0:從站正確應答 1:從站異常應答

D5 後續幀標誌   0:無後續資料幀 1:有後續資料幀

D4D0功能碼

  00000:保留         01000:廣播校時

  10001:讀資料       10010:讀後續資料

  10011:讀通訊地址   10100:寫資料

  10101:寫通訊地址   10110:凍結命令

  10111:更改通訊速率 11000:修改密碼

  11001:最大需量清零 11010:電錶清零

  11011:事件清零

d)  資料域長度

    L 為資料域的位元組數。讀資料時L200,寫資料時L50L=0 表示無資料域。

資料域DATA

     資料域包括資料標識和資料、密碼等,其結構隨控制碼的功能而改變。傳輸時傳送方按位元組進行33H 處理,接收方按位元組進行33H 處理。

校驗碼CS

    從幀起始符開始到校驗碼之前的所有各位元組的模256 的和,即各位元組二進位制算術和,不計超過256 的溢位值。

讀資料

傳送:

控制碼:C=01H 資料長度:L=02H

 

 

 

 

應答:

正常 C=81H無後續資料幀 ,  C=A1H有後續資料幀

異常 C = D1H  資料域長度:    L = 01H

傳送:

    C = 11H   L= 04H+m(資料長度)

    幀格式 1(m=0)

    幀格式 2(m=1,讀給定塊數的負荷記錄):

    幀格式 3(m=6,讀給定時間、塊數的負荷記錄):

 

應答:

 正常C = 91H無後續資料幀,  C = B1H有後續資料幀

 異常C = D1H  資料域長度:    L = 01H

 應答:

  81000)字頭是正常 ,D1101)字頭異常

 應答:

  91001)字頭是正常 ,D1101)字頭異常

 

資料標識

 

2 個位元組4 個欄位分別標識資料的型別和屬性

四個位元組區分不同資料專案,四位元組分別用DI3DI2DI1DI0代表。每位元組採用十六進位制編碼。

例:

DI3DI2DI1DI0=00010000H(資料項)表示當前正向有功總電能

 

 

 

 

相關文章