基于DES加密算法的射頻智能IC卡門(mén)禁系統(tǒng)
文章出處:http://www.mjagi.com 作者: 人氣: 發(fā)表時(shí)間:2013年02月06日
簡(jiǎn)介:介紹了射頻智能IC卡門(mén)禁系統(tǒng)的結(jié)構(gòu)和特點(diǎn),對(duì)如何運(yùn)用加密技術(shù),使系統(tǒng)安全性得到保證作了詳細(xì)闡述。
1 引言
射頻IC卡與讀卡機(jī)之間是非機(jī)械接觸的,所以射頻IC卡特別適用于大流量通過(guò)的門(mén)禁系統(tǒng)。射頻IC卡與讀卡機(jī)之間采用無(wú)線電通信技術(shù)進(jìn)行通信,而無(wú)線電波在空間上是開(kāi)放的,很容易被外部截獲,因此普通不含CPU的邏輯加密射頻IC卡抵抗不了最簡(jiǎn)單的密碼攻擊,通信內(nèi)容很容易被竊取、篡改和假冒復(fù)制等,其安全性甚至不如普通邏輯加密的接觸式IC卡。因此,只有采用內(nèi)含CPU的射頻智能IC卡,并配以相應(yīng)的通信加密技術(shù),系統(tǒng)的安全性才能得到保證。
射頻智能IC卡所使用的通信加密技術(shù)有別于一般通信網(wǎng)絡(luò),有其自身特點(diǎn):
(1)射頻智能IC卡上的資源有限,不能做過(guò)于復(fù)雜的運(yùn)算。有些低頻卡還存在通信速率的瓶頸問(wèn)題。
(2)讀卡機(jī)與管理服務(wù)器之間用網(wǎng)絡(luò)聯(lián)系,但也可以脫離網(wǎng)絡(luò)各自獨(dú)立工作,在這種狀態(tài)下,讀卡機(jī)與管理服務(wù)器之間定期用大容量加密工作卡來(lái)傳遞信息。
(3)射頻智能IC卡的工作環(huán)境十分惡劣,容易受電磁干擾和機(jī)械損壞。
(4)射頻智能IC卡有可能被非法讀寫(xiě),受到來(lái)自多方各種級(jí)別的密碼分析攻擊,甚至來(lái)自于合法用戶本身的攻擊。
2 系統(tǒng)簡(jiǎn)介
2.1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖見(jiàn)圖1。
(1)用戶卡:射頻智能IC卡。內(nèi)核CPU為8位,CISC結(jié)構(gòu),4KBFlash,帶自毀安全保護(hù)電路,128BSRAM;1KBE2PROM。合法用戶持有,內(nèi)部可以存儲(chǔ)用戶信息。
(2)工作卡:接觸式邏輯加密存儲(chǔ)IC卡,1MBE2PROM。用于傳送密鑰或非聯(lián)網(wǎng)系統(tǒng)傳遞信息。
(3)讀卡機(jī):讀取用戶卡信息并對(duì)其進(jìn)行鑒別認(rèn)證。讀卡機(jī)與用戶卡之間通信的載波頻率為13.56MHz。
(4)管理服務(wù)器:對(duì)系統(tǒng)內(nèi)的信息數(shù)據(jù)進(jìn)行處理,產(chǎn)生密鑰表。對(duì)用戶卡進(jìn)行初始化,執(zhí)行發(fā)行、掛失等操作。對(duì)讀卡機(jī)的運(yùn)行進(jìn)行管理。
2.2 工作模式
(1)持卡直接通過(guò)模式:用戶持卡在讀卡機(jī)上得到鑒別確認(rèn)后就可以直接通過(guò)。
(2)持卡輸入用戶密碼通過(guò)模式:用戶不但要在讀卡機(jī)鑒別所持的卡,而且還要輸入預(yù)先約好的用戶密碼。
(3)持卡輸入個(gè)人特征通過(guò)模式:用戶在讀卡機(jī)上鑒別所持用戶卡的同時(shí),還要輸入個(gè)人特征(例如:指紋、眼球虹膜等)。
2.3 工作環(huán)境
系統(tǒng)中讀卡機(jī)總數(shù)量不大于200臺(tái),用戶卡3萬(wàn)張以下,每臺(tái)讀卡機(jī)最大通過(guò)理論流量為每小時(shí)4000張用戶卡。各讀卡機(jī)聯(lián)網(wǎng)運(yùn)行,也可以脫離網(wǎng)絡(luò)獨(dú)立運(yùn)行。脫離網(wǎng)絡(luò)獨(dú)立運(yùn)行時(shí),管理服務(wù)器與讀卡機(jī)之間采用工作卡定期傳遞信息。管理服務(wù)器由保密員操作,重要系統(tǒng)需設(shè)專(zhuān)用保密室。讀卡機(jī)不易被偷竊。用戶卡所處環(huán)境較差,經(jīng)常發(fā)生機(jī)械損壞和遺失。整個(gè)系統(tǒng)可能遇到不同級(jí)別的密碼攻擊。
3 密碼協(xié)議
根據(jù)系統(tǒng)的特點(diǎn)和條件,選擇了對(duì)稱(chēng)密碼體系。大多數(shù)對(duì)稱(chēng)算法的加/解密密鑰相同,程序設(shè)計(jì)簡(jiǎn)單可靠,資源開(kāi)銷(xiāo)較公約密碼小,運(yùn)算速度高。缺點(diǎn)是密鑰分發(fā)、交換和管理的工作量大。
3.1 密鑰生成、分發(fā)
管理服務(wù)器里的偽隨機(jī)序列發(fā)生器產(chǎn)生長(zhǎng)56位的密鑰。弱密鑰、半弱密鑰被自動(dòng)剔除。整個(gè)系統(tǒng)中所有卡和讀卡機(jī)都編有產(chǎn)品序列號(hào),管理服務(wù)器自動(dòng)給每個(gè)產(chǎn)品序列號(hào)配以相應(yīng)不同的密鑰,制成密鑰表待用,完成密鑰分配。管理服務(wù)按產(chǎn)品序列號(hào)向用戶卡注入相應(yīng)的密鑰,保密員用工作卡將密鑰表傳遞給每一個(gè)讀卡機(jī)。完成密鑰分發(fā)任務(wù)。
3.2 鑒別認(rèn)證協(xié)議
3.3 明文幀格式與密碼分組鏈接模式
(1)明文幀格式見(jiàn)圖2。
(2)密碼分組鏈接模式:最長(zhǎng)的明文長(zhǎng)256bit,需分組加密。為了抵抗替代篡改攻擊,要用密碼分組鏈接法。鏈接就是將一種反饋機(jī)制引入分組密碼中,即每個(gè)明文塊在加密時(shí)都與前一個(gè)密文塊進(jìn)行異或運(yùn)算。256bit的明文分為三個(gè)64bit的塊。第一塊中含有隨機(jī)數(shù)Rb,第一塊明文加密后的密文可直接當(dāng)作初始向量與第二塊明文做異或運(yùn)算。
4 密碼算法
在眾多文獻(xiàn)中可查閱到很多密碼算法,但真正能適用于IC卡的密碼算法并不多。公開(kāi)密鑰算法體系有許多優(yōu)點(diǎn),可能是今后發(fā)展的方向,但目前在IC卡上應(yīng)用有許多困難,主要是資源開(kāi)銷(xiāo)過(guò)大。例如公開(kāi)密鑰RSA算法,它的主要運(yùn)算是乘冪運(yùn)算,用匯編語(yǔ)言實(shí)現(xiàn)很復(fù)雜。公開(kāi)密鑰算法中的橢圓曲線密碼有希望用在IC卡上。
對(duì)稱(chēng)密碼體系中的分組密碼算法經(jīng)常用在IC卡上,例如:DES、IDEA、RC2、RC5等,這些算法還經(jīng)常以變形、多重組合形式使用。著名的DES算法雖然老舊,但用匯編語(yǔ)言實(shí)現(xiàn)很方便,因此很多安全性要求不是很強(qiáng)的系統(tǒng)還是優(yōu)先采用它。DES算法使用時(shí)沒(méi)有任何專(zhuān)利和許可證方面的限制。本系統(tǒng)中也采用了·06·DES算法。由于DES算法主要使用復(fù)雜的移位方式運(yùn)行,射頻智能IC卡上的CPU使用的匯編中備有多種移位指令,所以運(yùn)行速度很快。另外,DES算法加密和解密可用同一個(gè)程序,只要在迭代末尾加個(gè)小變化,因此編程方便簡(jiǎn)單。
5 安全性
5.1 密鑰生成、分發(fā)過(guò)程中的安全性
密鑰生成、分發(fā)過(guò)程是由保密人員來(lái)操作,應(yīng)該有理由信賴(lài)。但同時(shí),人的因素也是所有密碼系統(tǒng)中最薄弱的環(huán)節(jié),大多數(shù)安全失敗由系統(tǒng)運(yùn)行時(shí)人的工作失誤引起,而不是算法或協(xié)議上的失敗。管理服務(wù)器由保密員操作,有多種軟硬件鎖來(lái)防止管理服務(wù)器被非法開(kāi)啟。工作卡由保密員掌握,工作卡內(nèi)置邏輯加密功能和自毀電路,可以有效防止非法讀寫(xiě)。讀卡機(jī)上的密鑰存儲(chǔ)單元也具有邏輯加密和自毀功能。用戶卡在做初始化時(shí)有電磁屏蔽保護(hù)。要想從上述硬件設(shè)備上獲取密鑰,代價(jià)很高,得不償失。當(dāng)然,保護(hù)好硬件設(shè)備,適時(shí)更換密鑰是提高安全性的重要措施。
5.2 抵抗對(duì)協(xié)議的攻擊
(1)本系統(tǒng)的密碼協(xié)議里,后面的密鑰都靠先前的消息提供。后面的消息作為所在先前消息的雙重認(rèn)證。這意味著某人不能重放一個(gè)舊的消息,否則接收者根本不能將它解密。
(2)協(xié)議加強(qiáng)了正確性執(zhí)行。如果鑒別與被鑒別雙方有一個(gè)沒(méi)有正確執(zhí)行該協(xié)議,協(xié)議都將終止工作。
(3)每一次發(fā)送的數(shù)據(jù)均有隨機(jī)數(shù)編入,當(dāng)發(fā)送相同數(shù)據(jù)時(shí),每次所傳送的密文不會(huì)重復(fù)。抵抗重放攻擊有很好的效果。選一個(gè)好的偽隨機(jī)數(shù)生成算法,能進(jìn)一步提高安全性。
(4)密碼分組鏈接模式能成功抵抗替代篡改攻擊,系統(tǒng)的安全性依賴(lài)于基礎(chǔ)的密碼算法,而不依賴(lài)模式,盡管模式算法很簡(jiǎn)單。密碼模式不會(huì)損害密碼算法的安全性。
5.3 關(guān)于DES算法的安全性
DES算法最大的弱點(diǎn)是密鑰長(zhǎng)度過(guò)短,并且超期服役,抵抗窮舉搜索攻擊已逐漸力不從心,若采用三重DES算法可在一定程度上解決這個(gè)問(wèn)題。完整的16輪DES算法抵抗差分分析能力較強(qiáng),抵抗線性分析能力相對(duì)弱一些??赡苡幸恍┪丛_(kāi)的分析方法對(duì)DES算法構(gòu)成威脅,但破譯DES算法加密的消息需付出一定代價(jià)。總之,對(duì)安全性要求很高的系統(tǒng),最好不要選用DES算法。
6 具體系統(tǒng)設(shè)計(jì)時(shí)的注意事項(xiàng)
本文給出的系統(tǒng)是一種較全面的方案。在具體應(yīng)用中可適當(dāng)作一些化簡(jiǎn)??傊漕l智能IC卡門(mén)禁系統(tǒng)的工作模式、系統(tǒng)大小、安全性、可靠性、系統(tǒng)成本等因素經(jīng)常是相互矛盾的。用一種所謂標(biāo)準(zhǔn)系統(tǒng)模式來(lái)滿足實(shí)際中所有要求是不現(xiàn)實(shí)的,唯有權(quán)衡利弊,根據(jù)具體情況來(lái)選取方案,才能設(shè)計(jì)出實(shí)用系統(tǒng)。重要系統(tǒng)的設(shè)計(jì)方案要經(jīng)安全專(zhuān)家審核。
參考文獻(xiàn)
1 盧開(kāi)澄.計(jì)算機(jī)密碼學(xué).北京:清華大學(xué)出版社,1998
2(美)Bruce Schneier著,吳世忠譯.應(yīng)用密碼學(xué).北京:機(jī)械工業(yè)出版社,2000
3 H卡資安.標(biāo)準(zhǔn)數(shù)據(jù)加密算法.北京:人民郵電出版社,1983
【稿件聲明】:如需轉(zhuǎn)載,必須注明來(lái)源和作者,保留文中圖片和內(nèi)容的完整性,違者將依法追究。