歡迎您訪問鄭州興邦電子股份有限公司官方網站!
    阿里巴巴誠信通企業
    全國咨詢熱線:40000-63966
    興邦電子,中國水控機第一品牌

    聯系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

    密碼算法在智能卡上的應用發展綜述

    文章出處:http://www.xujuanpiju.com 作者:鄒小花,王青松   人氣: 發表時間:2011年10月09日

    [文章內容簡介]:本文論述了近年來與智能卡應用相關的各種密碼算法的發展情況,主要內容包括:消息認證碼、各種分組密碼和流密碼的發展概述,以及RSA算法的發展和橢圓曲線密碼的發展現狀。

        引言 

        在過去的十年中,智能卡上的計算能力發展迅速,基于 公鑰的智能卡廣泛應用于各個領域。2001年Borst總結了智 能卡上應用的各種密碼算法以及關于這些算法的攻擊。從那以后,關于密碼算法的各種攻擊也越來越多,其中比較著名 的有對于MD5和SHA一1的攻擊以及其他對哈希函數的攻 擊。另外不太為人注意的還有,對于像A5/l(應用于GSM 中) 和EO(應用于藍牙中)這樣的流密碼分析技術也取得了不小 的進步。在分組密碼方面,AES的采用一定程度上保證了安 全性。公鑰密碼方面,RSA的安全填充技術也成為一個研究 熱點。  

        1 消息認證碼 

        消息認證碼實際上是對消息本身產生的一個冗余的信 息,消息認證碼是利用密鑰對要認證的消息產生新的數據塊 并對數據塊加密生成的,它對于要保護的信息來說是一一對 應的。因此消息認證碼可以有效保證消息的完整性,以及實現發送方消息的不可抵賴和不可偽造。消息認證碼的安全性主要取決于兩點:首先,采用的加密算法,即所謂的數字簽名;其次,是待加密的數據塊的生成方法。

        消息認證碼不支持可逆性,是多對一的函數,其定義域由任意長的消息組成,而值域是由遠小于消息長度的比特串構成。從理論上來說,一定存在不同的消息產生相同的認證碼,因此必須找到一種足夠單向和強碰撞自由性的方法才是安全的。

        而對于消息認證碼的主要攻擊目標也是找到一對或者多對碰撞消息。對于現有的攻擊方法,有些可以攻擊任意類型的哈希方案,有些只針對特定的哈希方案。自從2004年MD5算法被攻破以后,SHA也面臨被攻破的危險。因此,尋找一種足夠安全的單向哈希函數已經成為當務之急,消息認證碼的實現也會隨之改變。

        2 分組密碼 

        分組密碼在密碼領域廣泛使用,除了本身的幾種工作模式之外,它可以用來構建MAC,也可以用來構建哈希函數、偽隨機函數等等。分組密碼具有速度快、易于標準化和便于軟硬件實現等特點,通常是信息域網絡安全中實現數據加密、數字簽名、認證及密鑰管理的核心體制,它在計算機通信和信息系統安全領域中有著最廣泛的應用。 

        第一個廣泛使用的分組密碼算法是DES算法。DES自1977年公布后得到了許多組織、部門的使用,各國的密碼學工作者也對它進行了深入的分析,它是迄今為止使用最廣泛和最成功的分組密碼。DES的輪函數采用Feistel網絡,8個s盒,擴充、壓縮置換、塊置換。其算法簡潔、快速且加解密相似。但一個明顯的缺陷是s盒為黑盒,因此公眾長久地抱怨并懷疑它設有陷門。早期的迭代分組密碼設計主要圍繞DES進行,后來在此基礎上有很大的發展,出現了眾多的Feistel型密碼,DES的設計至今仍閃爍著人類設計思想的精華,其結構和部件仍在被后人效仿。但是它的密鑰長度太短,僅為56比特,已經不能抵抗窮盡密鑰搜索攻擊。 

        對DES的成功破譯迫使人們重新設計密碼算法。IDEA是X.Lai和J.L.Massey于1990年發表的,當時稱為PES,1992年改名為IDEA。IDEA是第一個不使用Feistel網絡的分組密碼。IDEA的安全性設計思想是:采用同一明文空間上的三個不同的群運算,使隱蔽、混淆和擴散融為一體。IDEA是分組密碼的杰出代表,開創了新的一類設計風格。但是IDEA存在大量的弱密鑰,這與其密鑰拓展算法只是線性變換有關,這點也表明需要對其密鑰拓展算法重新設計。此后出現的NEA也是一種IDEA型的密碼。
     
        Rijndael是AES活動的最終勝利者,現已替代DES成為美國新的加密標準。Rijndael輪函數的設計基于寬軌跡策略,這種設計策略是針對差分密碼分析和線性密碼分析制定的,主要包括兩個設計準則:首先,選擇差分均勻性比較小和非線性度比較高的s盒;其次,適當選擇線性變換,使得固定輪數巾的活動S盒的個數盡可能多。如果差分特征(或線性逼近)中某一輪的活動s盒的個數比較少,那么下一輪中的活動s盒的個數就必須要多一些。寬軌跡策略的最大優點是可以估計算法的最大差分特征概率和最大線性逼近概率,由此可以評估算法抵抗差分密碼分析和線性密碼分析的能力。繼美國征集AES的活動之后,歐洲在2000年3月啟動了NESS1E大計劃,目的是為了推出一系列的安全的密碼模塊,保持歐洲在密碼研究領域的領先地位并增強密碼在歐洲工業中的應用 作為歐洲新一代的加密標準,Camellia算法具有較強的安全性,能夠抵抗差分和線性密碼分析等已知的攻擊。與AES相比,Camellia算法在各種軟硬件平臺上表現出與之相當的加密速度。除了在各種軟件和硬件平臺上的高效性這一顯著特點外,它的另外一個特點是針對小規模硬件平臺的設計。 

        3 流密碼

        流密碼也稱序列密碼,它是對稱密碼算法的一種。“一次一密”的密碼方案是流密碼的雛形,但由于 一次一密”的密碼體制存在密鑰產生、分配和管理極為困難的缺點,使其應用范圍受到限制。在保密強度要求高的場合,如大量軍事密碼系統,仍多采用流密碼。流密碼是指利用少量的密鑰(制亂元素)通過某種復雜的運算(密碼算法)產生大量的偽隨機位流,用于對明文位流的加密。解密是指用同樣的密鑰和密碼算法及與加密相同的偽隨機位流,用以還原明文位流。流密碼設計的一般原則是采用多重密鑰、多重環節、多重安全措施等技術,達到“一次一密”,總體上達到流密碼最終靠密鑰保密,即“密碼保密寄寓于密鑰之中”。因此流密碼的關鍵是產生密鑰序列的算法,其密碼系統的安全性也主要取決于密鑰序列。當前流密碼的重點研究方向主要包括:①自同步流密碼的研究;②有記憶前饋網絡密碼系統的研究;③多輸出密碼函數的研究;④高速密碼芯片的開發:⑤同步序列密碼在失步后如何重新同步的問題;⑥混沌序列密碼和新研究方法的探索等。 

        4 公鑰加密算法 

        Whitfield Di衢e和Martin Hellman在1976年發表的“New Direction in Cryptography”首次提出了公鑰密碼體制,沖破了長期以來一直沿用的私鑰體制。自從公鑰密碼體制被提出以來,相繼出現了許多公鑰密碼方案,其中以RSA和橢圓曲線密碼算法ECC最為典型。 

        4.1 RSA算法
        當前最著名、應用最廣泛的公鑰系統RSA是在1978年由美國麻省理工學院的Rivest、Shamir和Adleman提出的,它是一個基于數論的非對稱密碼體制。RSA算法是第一個既能用于數據加密也能用于數字簽名的算法,它容易理解和操作。
     
        RSA的安全性基于大整數索因子分解的困難性,而大整數因子分解問題是數學的著名難題,至今沒有有效的方法予以解決,因此可以確保RSA算法的安全性。RSA系統是公鑰系統的最具有典型意義的方法,大多數使用公鑰密碼進行加密和數字簽名的產品和標準使用的都是RSA算法RSA的缺點主要有:首先,產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密;其次運算速度慢。 

        4.2橢圓曲線密碼算法
        橢圓曲線在代數學和幾何學上已有一百五十多年的研究歷史,有著復雜的數學背景,涉及到數論、群論和射影幾何等學科。 

        1985年,N.Koblitz和V.Miller分別提出了橢圓曲線密碼體制ECC,其安全性依賴于橢圓曲線群上離散對數問題碼的難解性,即已知橢圓曲線上的點P和kp計算k的困難程度,不過在當時一直沒有像RSA等密碼系統一樣受到重視。但從現在來看,ECC是目前已知的公鑰密碼體制中,對每一比特所提供加密強度最高的一種體制,它具有安全性上高、計算量小、存儲空間占用小、帶寬要求低等特點,這些優點使得橢圓曲線公鑰密碼體制將應用到越來越多的領域。如存儲空間小,這對于加密算法在智能卡上的應用具有特別重要的意義。1999年ANSI X9.62標準的發布成為ECC標準化的一個重要里程碑,同年美國政府的國家標準與技術委員會NIST發布了新的規定FIPS186—2,確定了ECC的地位。現已頒布的有關ECC的標準有IEEEP1363及P1363a、ANSIX9.62、ANSI X9.63、ISO/IEC14888—3、IETF、ATM If)RUM 等,這些標準的公布將提高ECC技術在世界范圍內的通用性,使ECC技術在全球的廣泛應用成為可能。而SET協議的制定者已把它作為下一代SET協議中缺省的公鑰密碼算法。

        5 結束語
     
        在過去的五年中,智能卡上的計算能力發展很快,智能卡和終端計算機上應用的密碼算法的區別已經日益顯現AES算法很快成為世界范圍內的一個標準,對于該算法的攻擊手段也漸漸涌現。另外,邊信道攻擊也成為一 個越來越重要的研究領域,這種攻擊的出現將會對硬件和軟件的實現產生影響。新的安全證明和安全模型也在不斷涌現,這些都使我們對安全的理解越來越深刻。在現在各種攻擊手段和安全證明充分發展的情況下,需要盡快地升級智能卡中所使用的密碼算法。盡管如此,密碼 密算法的完全更替還是需要一些時日。系統設計者們需要在這種情況下,通過更快的生成密鑰等手段更新算法。

    本文關鍵詞:智能卡,密碼算法,應用,發展
    回到頂部