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