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