基于混沌密碼流的IC卡數(shù)據(jù)加密算法設(shè)計與實現(xiàn)

由于國家“三金工程”的發(fā)展,一般的邏輯加密卡和非加密智能卡也被廣泛用于收費系統(tǒng)中,可想而知,其信息安全的重要性不言而喻。因此,一種基于數(shù)字混沌密碼的IC卡數(shù)據(jù)加密方法應(yīng)運而生,并成功將其應(yīng)用到智能儀表中,由于該加密方法具有較高的安全性,這樣保證了IC卡卡智能儀表的數(shù)據(jù)可靠,從而使得整個智能儀表系統(tǒng)具有很高的安全性能。

一、基于數(shù)字混沌的密碼設(shè)計

1、混沌系統(tǒng)及其特點

混沌系統(tǒng)是一個確定性系統(tǒng),有確定的動態(tài)系統(tǒng)方程描述和方程中的確定參數(shù),但是由于其對初始狀態(tài)和參數(shù)值的敏感性,使得其方程的軌跡具有隨機性,難以預(yù)測,即使是初始數(shù)值的差值很小,形成的軌跡也是千差萬別,而且混沌的軌跡具有白噪聲特性,即其軌跡等概率地分布在值域上,因此,正是利用混沌系統(tǒng)的這一特性,構(gòu)造出需要的混沌流密碼,并在通信、信息隱藏等方面具有廣泛的應(yīng)用。

Logsstc映射是一個離散序列混沌系統(tǒng),其方程如下:

x(n+1)=rx(n)(1-x(n)) (1)

式中x(n)=(0,1) n=1,2,3...,并且當(dāng)參數(shù)r=(3.57,4)時,系統(tǒng)呈現(xiàn)混沌狀態(tài)。

基于混沌密碼流的IC卡數(shù)據(jù)加密算法設(shè)計與實現(xiàn)

顯然,該系統(tǒng)的值分布在(0,1)上,Schuster _HG用概率統(tǒng)計的方法證明了系統(tǒng)產(chǎn)生的混沌序列的概率分布密度函數(shù)為:

基于混沌密碼流的IC卡數(shù)據(jù)加密算法設(shè)計與實現(xiàn)

從(2)式可以看出,Logsstc混沌映射生成的序列具有遍歷性!,由于它還有d-like型自相關(guān)函數(shù)和零互相關(guān)函數(shù),因此在加密方面具有優(yōu)良的性能。

2、基于混沌密碼的加密算法設(shè)計

基于混沌系統(tǒng)的密碼設(shè)計已經(jīng)成為密碼學(xué)中的一個熱門問題,特別是Logsstc這一映射的討論,人們已經(jīng)提出了各種各樣的實現(xiàn)方法,在基于Logsstc混沌密碼設(shè)計中,系統(tǒng)的初始值和參數(shù)r對密碼的設(shè)計至關(guān)重要,由于這2個參數(shù)在系統(tǒng)中分別占用8byte,于是密碼位數(shù)為2*8*8=128bit,由于DES加密算法具有相當(dāng)高的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,而且在硬件上容易實現(xiàn),因此,加密算法采用DES和CRC驗相結(jié)合的方式。

三、混沌密碼在智能卡上的實現(xiàn)

智能卡種類繁多,因其存儲容量和保密程度的不同而千差萬別,由于方便攜帶,存儲容量大,其應(yīng)用日益廣泛。邏輯加密卡和非邏輯加密卡因為價格低廉,軟硬件設(shè)計簡單,因此在智能儀表、智能門禁系統(tǒng)等方面得到了廣泛的使用。下面我們以西門子SLE4442卡這一應(yīng)用最普遍的卡為例介紹混沌密碼在智能卡上的實現(xiàn)。

SLE4442卡本身為邏輯加密卡,該卡共有256byte,其中前32byte出廠時已經(jīng)固化,不可更改,因此實際上該卡可以使用剩余的224byte,它具備3byte共計6位的密碼,如果不對密碼進(jìn)行驗證,無法對卡內(nèi)數(shù)據(jù)進(jìn)行寫操作,但是卡內(nèi)的數(shù)據(jù)是可以讀取的,因此卡內(nèi)的數(shù)據(jù)必須保證是安全的。否則,通過對智能儀表數(shù)據(jù)的讀寫和卡內(nèi)數(shù)據(jù)的分析,很容易對智能儀表系統(tǒng)進(jìn)行解密,從而產(chǎn)生不可估量的后果。

假定需要保密的信息為Nbyte(N<224),為了對信息進(jìn)行加密,并能夠在系統(tǒng)的上位機和下位機之間進(jìn)行有效的密鑰交換,設(shè)定27byte的公鑰在上、下位機之間進(jìn)行傳輸,存放在智能卡第32至58位置處,格式如下:

基于混沌密碼流的IC卡數(shù)據(jù)加密算法設(shè)計與實現(xiàn)

1、基于混沌密碼流的IC卡數(shù)據(jù)加密算法

(1)生成混沌系統(tǒng)的隨機初始值x(0)和參數(shù)值r,序列的步長t=(1,32767)以及序列的開始序號s=(1,32767)。

(2)根據(jù)x(n+1)=rx(n)(1-x(n)),迭代進(jìn)行t(s-1)次得到開始序列x(n)。

(3)計算明文的CRC-32校驗和。

(4)根據(jù)明文長度計算混沌序列求得同樣長度的混沌序列。

(5)用混沌序列和明文進(jìn)行加密運算得到密文。

(6)生成密文隨機存放的位置p=(60,256-N)。

(7)將上面的數(shù)據(jù)按順序?qū)懭胫悄芸ǖ南鄳?yīng)位置。

可以看出,由于系統(tǒng)在上、下位機之間具備27byte,多216位的公鑰。這樣對它進(jìn)行無窮盡搜索找到真正的私有密鑰是不現(xiàn)實的,因此,系統(tǒng)的可靠性較強。對卡中的數(shù)據(jù)進(jìn)行修改,也將導(dǎo)致下位機對數(shù)據(jù)的棄用,因系統(tǒng)將進(jìn)行各類數(shù)據(jù)校驗,所以該算法可以有效保護卡中的數(shù)據(jù)信息。

利用混沌系統(tǒng)的類隨機性和難以預(yù)測性的特點,提出了一種基于混沌流密碼的IC卡數(shù)據(jù)加密算法,實現(xiàn)了智能卡信息的有效加密,并成功將該方法應(yīng)用到了智能儀表中,取得了很好的效果。

小知識之“三金工程”

三金工程即“金橋工程”、“金卡工程”、“金關(guān)工程”?!敖饦蚬こ獭笔紫冉夜灿媒?jīng)濟信息網(wǎng)。具體目標(biāo)是建立一個覆蓋全國并與國務(wù)院各部委專用網(wǎng)連接的國家共用經(jīng)濟信息網(wǎng)。“金關(guān)工程”是對國家外貿(mào)企業(yè)的信息系統(tǒng)實聯(lián)網(wǎng),推廣電子數(shù)據(jù)交換技術(shù)(EDI),實行無紙貿(mào)易的外貿(mào)信息管理工程?!敖鹂üこ獭眲t是以推廣使用“信息卡”和“現(xiàn)金卡”為目標(biāo)的貨幣電子化工程。