




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、分類號(hào)學(xué)校代碼1 0 4 8 7學(xué)號(hào) m201171877密級(jí)智能卡安全協(xié)議研究與實(shí)現(xiàn)學(xué)位申請(qǐng)人:馬貝貝學(xué)科專業(yè):電子與通信工程指導(dǎo)教師:蔣洪波副教授答辯f1期:2013年5月29日a thesis submitted in partial fulfillment of the requirementsfor the degree for the master of engineeringresearch and implementation of the smart card security protocolcandidate : ma beibeimajor : electronic a
2、nd communication engineeringsupervisor: assoc. prof. jiang hongbohuazhong university of science & technologywuhan 430074, p.r.chinamay,2013獨(dú)創(chuàng)性聲明本人聲明所呈交的學(xué)位論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研 究成果。盡我所知,除文中已經(jīng)標(biāo)明引用的內(nèi)容外,木論文不包含任何其他個(gè)人或 集體已經(jīng)發(fā)表或撰寫過(guò)的研宄成果。對(duì)木文的研宄做出貢獻(xiàn)的個(gè)人和集體,均已在 文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。學(xué)位論文作者簽名:日期:
3、 年 月 日學(xué)位論文版權(quán)使用授權(quán)書木學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,g卩:學(xué)校有權(quán) 保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被杳閱和借閱。 本人授權(quán)華中科技大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢 索,可以釆用影印、縮印或掃描等復(fù)制手段保存和匯編木學(xué)位論文。保密,在年解密后適用本授權(quán)書。本論文屬于不保密a。(請(qǐng)?jiān)谝陨戏娇騼?nèi)打“士)指導(dǎo)教師簽名:日期:學(xué)位論文作者簽名:日期:摘要在現(xiàn)今的社會(huì)生活中,銀行卡,公交卡,醫(yī)保卡等各種智能卡在人們的h常生 活屮使用的范圍口趨加大,在各行各業(yè)屮都扮演y重要的角色,有效的提高y我們 閂常生活的便利性和
4、智能化。但是在智能卡給人們帶來(lái)便利性的同時(shí)又引入了一個(gè) 不能忽視的問(wèn)題:智能卡的信息安全問(wèn)題。目前,隨著智能卡的廣泛應(yīng)用,智能卡 暴露出的信息安全問(wèn)題逐漸增多,智能卡的安全問(wèn)題也成為智能卡領(lǐng)域的一個(gè)重要 難題。為了保證智能卡的安全,木文通過(guò)對(duì)智能卡安全問(wèn)題的研宄,提出通過(guò)身份 鑒別、密鑰協(xié)商和數(shù)據(jù)加密,實(shí)現(xiàn)智能卡安全性的提高。在智能卡和讀卡器在進(jìn)行每次通信的初始階段,為驗(yàn)證通信雙方的合法性,防止 偽讀卡器讀取卡內(nèi)的機(jī)密信息或是對(duì)卡做非法操作,需要進(jìn)行雙方的身份認(rèn)證。木 文中按照所基于密碼算法的類型,給出了兩種身份鑒別協(xié)議:基于對(duì)稱密碼算法鑒 別協(xié)議和基于公鑰密碼算法的鑒別協(xié)議。而且,在鑒別過(guò)程
5、中,雙方可完成密鑰協(xié) 商,即智能卡與讀卡器建立會(huì)話密鑰。于是當(dāng)完成了相互認(rèn)證后通信雙方就可以使 用會(huì)話密鑰進(jìn)行對(duì)智能卡與讀卡器之間的傳輸數(shù)據(jù)進(jìn)行加密,可有效防止第三方非 法監(jiān)聽(tīng)通信過(guò)程來(lái)盜取交易信息。兩種鑒別協(xié)議的實(shí)現(xiàn)涉及對(duì)稱加密算法3des和 sm4、哈希算法sha1和sm3、非對(duì)稱算法rsa和sm2。本文為提高智能卡的安全性從智能卡交易過(guò)程進(jìn)行分析,通過(guò)在交易之初使用 身份鑒別協(xié)議,交易過(guò)程屮使用密碼算法對(duì)傳輸數(shù)據(jù)進(jìn)行加密,解決y智能卡的身 份認(rèn)證和數(shù)據(jù)傳輸安全問(wèn)題。提高y智能卡操作系統(tǒng)通信時(shí)的安全性和可靠性,使 智能卡安全交易得到y(tǒng)極大的保障。關(guān)鍵詞:智能卡操作系統(tǒng)身份認(rèn)證協(xié)議信息安全加
6、解密算法abstractnowadays smart cards have been used in almost every aspect in our daily lives, such as bank card,transportation card,medicare card,and so on. these cards play an important role in all walks of life, which make our life more convenient and intelligent. but even so, one problem that cards
7、bring about can not be ignored: information security of smart card. at present,with the widespread use of smart cards,the problems information security caused by smart cards increased, security of smart cards has become a major challenge in smart cards field. under researches on this issue,this pape
8、r will provide three ways for ensuring the security of smart cards,authentication, key agreement,and data encryption.during the initial stage of each communication,smart card and reader need mutual authentication to verify the legitimacy of both communication. in this paper, based on the type of enc
9、ryption algorithm,gives two authentication protocols: authentication protocol based on symmetric ciphers and authentication protocols based on public key cryptography algorithm. moreover,in the identification process,the smart card and reader will establish a session key. so when mutual authenticati
10、on completed we can use the session key to encrypt the transmission of data between the card and reader,which can effectively prevent illegal third-party to monitor the communication process or steal the transaction information. to achieve the two authentication protocols involving symmetric encrypt
11、ion algorithm 3des and sm4, sha1 and sm3 hash algorithm,asymmetric algorithm rsa and sm2.this paper analyzes from the aspect of the trading process of smart cards to increase the security of smart cards. authentication protocol will be used at the beginning of trade, and information will be encrypte
12、d with the use of cryptographic algorithm in the process of trade,which solve the problems of identification and data transmission and also increase the security and reliability of communicating.key words: chip operating systermauthentication protocolinformation securitycryptographic algorithm目錄摘要ia
13、bstractii緒論1.1研宄背景與意義(1)1.2國(guó)內(nèi)外研宄概況(2)1.3論文主要研究?jī)?nèi)容(3)1.4相關(guān)背景矢口識(shí)(4)1.4.1智能卡(4)1.4.2片上操作系統(tǒng)cos(5):關(guān)鍵技術(shù)研究2.1集成開(kāi)發(fā)環(huán)境(6)2.2智能卡操作系統(tǒng)體系結(jié)構(gòu)(6)2.3密碼技術(shù)(7)2.4身份鑒別技術(shù)(8)2.5報(bào)文鑒別技術(shù)(10)2.5數(shù)字簽名技術(shù)(10)2.6本章小結(jié)(12)智能卡安全協(xié)議的分析與設(shè)計(jì)3.1智能卡安全協(xié)議的業(yè)務(wù)需求分析(13)3.2安全協(xié)議的總體設(shè)計(jì)(14)3.3密碼算法的選擇(14)3.3.1 對(duì)稱加解密算法(14)3.3.2 安全報(bào)文算法(15)3.3.3 哈希算法(15)3.
14、3.4 非對(duì)稱算法(15)3.4身份鑒別和密鑰協(xié)商的設(shè)計(jì)(16)3.4.1基于對(duì)稱算法的身份鑒別和密鑰協(xié)商(16)3.4.2基于非對(duì)稱算法的身份鑒別和密鑰協(xié)商(17)3.5數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)(17)3.6本章小結(jié)(19)i智能卡安全協(xié)議的實(shí)現(xiàn)4.1開(kāi)發(fā)環(huán)境的選擇(20)4.2密碼算法的實(shí)現(xiàn)(20)4.2.1 對(duì)稱算法的實(shí)現(xiàn)(20)4.2.2安全報(bào)文算法的實(shí)現(xiàn)(22)4.2.3 哈希算法的實(shí)現(xiàn)(23)4.2.4非對(duì)稱算法實(shí)現(xiàn)(23)4.3鑒別協(xié)議的實(shí)現(xiàn)(25)4.3.1基于對(duì)稱算法的身份鑒別和密鑰協(xié)商實(shí)現(xiàn)(25)4.3.2基于非對(duì)稱算法的身份鑒別和密鑰協(xié)商實(shí)現(xiàn)(25)4.4本章小結(jié)(26)i安全性分
15、析與測(cè)試5.1系統(tǒng)安全性分析(27)5.1.1 身份認(rèn)證的安全性(27)5.1.2會(huì)話密鑰的安全性(27)5.1.3 傳輸過(guò)程的安全性(28)5.2相關(guān)測(cè)試(28)5.2.1密碼算法的測(cè)試(28)5.2.2身份認(rèn)證和數(shù)據(jù)傳輸?shù)臏y(cè)試與分析(28)5.3本章小結(jié)(29)6總結(jié)與展望6.1全文總結(jié)(30)6.2課題展望(31)至夂i射(32)參考文獻(xiàn)(33)1緒論1.1研究背景與意義隨著科技帶給社會(huì)的快速發(fā)展,越來(lái)越多的行業(yè)開(kāi)始步入信息化、智能化時(shí)代, 與此同時(shí)智能卡的出現(xiàn)以及應(yīng)用更進(jìn)一步推進(jìn)y時(shí)代的潮流,為人們的工作以及生 活提供丫極大的便利。智能卡對(duì)人類生活的影響無(wú)處不在,從銀行卡到公交卡,從
16、身份證到醫(yī)???,鋝能卡已然和我們的口常生活緊密聯(lián)系在一起。鋝能卡的出現(xiàn)為 社會(huì)的發(fā)展做出丫巨大貢獻(xiàn)m。正是由于智能卡的便利性以及智能化,在短短數(shù)年間發(fā)展十分迅猛。我國(guó)在2003 年推出了以發(fā)展電子貨幣為目的“金卡工程”,在此工程發(fā)展的數(shù)年間,貨幣從實(shí)物 走向虛擬化、電子化,給人們生活帶來(lái)極大便利,促進(jìn)丫社會(huì)快速發(fā)展,同時(shí)也給 我們的貨幣發(fā)行減輕壓力24。近幾年來(lái),智能卡的發(fā)展依然迅猛,各種金融卡,公 交卡,醫(yī)保卡將會(huì)在政府政策支持和市場(chǎng)的共同推動(dòng)下實(shí)現(xiàn)較大幅度增長(zhǎng)。在整個(gè)社會(huì)都在享受智能卡帶來(lái)的便利性的同時(shí),一個(gè)不能忽視的問(wèn)題出現(xiàn)了, 智能卡的信息安全問(wèn)題。目前,隨著智能卡的廣泛應(yīng)用,針對(duì)智能
17、卡的各種安全威 脅閂漸增多,各種針對(duì)智能卡的安全的攻擊的事件不斷發(fā)生,因此智能卡的安全性, 可靠性成為一個(gè)需耍引起重視的問(wèn)題。目前針對(duì)智能卡安全進(jìn)行攻擊的方式主要有:偽造他人智能卡、冒用他人智能卡 和主動(dòng)非法攻擊智能卡。偽造他人智能卡就是在獲取他人智能卡相關(guān)信息后偽造一 張相同的智能卡,以期達(dá)到以假亂真,欺騙讀卡器終端來(lái)獲取非法利益。冒用他人 智能卡是指通過(guò)非法途徑獲取他人智能卡來(lái)冒充合法用戶進(jìn)行非法操作以謀取非法 利益。非法攻擊智能卡在當(dāng)前智能卡安全問(wèn)題中是出現(xiàn)的比較多的一類,一般犯罪 分子通過(guò)使用某些特定儀器設(shè)備對(duì)智能卞和讀卞器的通信過(guò)程進(jìn)行監(jiān)聽(tīng)或者竊取信 息其至修改通信內(nèi)容,從而獲取智能
18、卡內(nèi)部保密信息實(shí)現(xiàn)對(duì)智能卡的破解。在本文 中將著重討論智能卡的安全鑒別以及通信安全問(wèn)題。目前,基于iso-14443和iso-7816協(xié)議的智能卡與讀卡器之間的通信存在安全 隱患5。智能卡與讀卡器在通信之前認(rèn)證方式較單一,甚至是未經(jīng)過(guò)相互認(rèn)證,也就 是說(shuō)沒(méi)有鑒別雙方合法性之前,就開(kāi)始了交易過(guò)程。所以所有滿足該協(xié)議的非法讀 卡器都能讀出卡內(nèi)的信息,而ii非接觸方式更容易受到這種威脅,因?yàn)閮H需要將偽 造的讀卡器靠近用戶的卡便能獲得信息。為了防止這些安全問(wèn)題,在讀卡器與智能卡之間的通信初始化過(guò)程中添加相互認(rèn) 證的部分,即只有合法的讀卡器才能讀取卡內(nèi)信息,只有合法的卡才能與讀卡器完 成數(shù)據(jù)交互。與此同
19、時(shí)在這個(gè)相互認(rèn)證的過(guò)程中,雙方會(huì)協(xié)商會(huì)話密鑰,該密鑰用 來(lái)對(duì)智能卡與讀卡器之間的數(shù)據(jù)進(jìn)行加密操作,防止非法監(jiān)聽(tīng)和竊取通信信息。本文在深入研究智能卡操作系統(tǒng)即片上操作系統(tǒng)cos設(shè)計(jì)的基礎(chǔ)上,開(kāi)發(fā)出在 片內(nèi)操作系統(tǒng)cos基礎(chǔ)上的安全協(xié)議模塊,以解決cos中數(shù)據(jù)通信安全的問(wèn)題。 另外我們還將深入研究如何高效實(shí)現(xiàn)各種加解密算法,以滿足實(shí)際應(yīng)用的需求。1.2國(guó)內(nèi)外研究概況1970年法w人將可以進(jìn)行編程的集成電路芯片放入卡片中,誕生了世界上第一 張1c卡。此后,隨著大規(guī)模集成電路技術(shù),計(jì)算機(jī)技術(shù)以信息安全技術(shù)的發(fā)展,1c 卡技術(shù)也更趨成熟。從1987年幵始,國(guó)際標(biāo)準(zhǔn)化組織iso著手為1c卡制訂相關(guān)國(guó) 際標(biāo)
20、準(zhǔn),先后有iso/iec-7816系列標(biāo)準(zhǔn),iso/iec-14443系列標(biāo)準(zhǔn)。相關(guān)標(biāo)準(zhǔn)的推 出使智能卡的發(fā)展更加規(guī)范化和標(biāo)準(zhǔn)化,對(duì)于智能卡領(lǐng)域的未來(lái)發(fā)展提供了巨大動(dòng) 力6-71。在智能卡的安全技術(shù)中,可分為硬件安全和軟件安全兩個(gè)方面,我們這里主要 對(duì)軟件安全進(jìn)行討論。在軟件安全屮,目前主要使用的關(guān)鍵技術(shù)包括:身份鑒別,報(bào)文鑒別,數(shù)據(jù)加密和數(shù)字簽名等。在上述這幾個(gè)關(guān)鍵技術(shù)屮都要用到處理數(shù)據(jù)的 加解密算法。目前大多數(shù)智能卡操作系統(tǒng)cos中內(nèi)置的只有簡(jiǎn)單的des和3des對(duì) 稱算法,rsa算法,而且對(duì)于他們的使用沒(méi)有一個(gè)完整的規(guī)則協(xié)議。在安全性要求 閂益提高的今天,我們必須加以擴(kuò)充加強(qiáng),并形成協(xié)議
21、規(guī)范使用。目前存在的幾種經(jīng)典的身份認(rèn)證機(jī)制有:?jiǎn)蜗蜢o態(tài)對(duì)稱性認(rèn)證、單向動(dòng)態(tài)對(duì)稱性 認(rèn)證、雙內(nèi)動(dòng)態(tài)對(duì)稱性認(rèn)證以及單內(nèi)動(dòng)態(tài)非對(duì)稱認(rèn)證。所謂靜態(tài)即每次認(rèn)證過(guò)程屮 使用的數(shù)據(jù)相同,不能防止主動(dòng)攻擊和重放攻擊,所以安全性較低。動(dòng)態(tài)鑒別采用 隨機(jī)數(shù)保證y每次認(rèn)證數(shù)據(jù)的不同,可有效防止重放攻擊,所以一般都采用安全性 更高的動(dòng)態(tài)鑒別方式。在目前應(yīng)用的認(rèn)證體系屮,在認(rèn)證過(guò)程屮需要雙方相互確認(rèn) 身份合法才能進(jìn)行通信,所以雙向認(rèn)證是研究與發(fā)展的重點(diǎn)。雙向動(dòng)態(tài)對(duì)稱性認(rèn)證 是這幾種經(jīng)典認(rèn)證方式屮安全性最高的,本文屮基于雙向動(dòng)態(tài)認(rèn)證的思想,分別提出基于對(duì)稱算法和非對(duì)稱算法的身份鑒別機(jī)制,同吋在鑒別的過(guò)程中完成密鑰協(xié)商 的
22、過(guò)程,為后續(xù)數(shù)據(jù)安全做保證。在身份認(rèn)證結(jié)束后,雙方需要進(jìn)行數(shù)據(jù)通信。目前存在的主要通信方式主要有明 文通信、密文通信和認(rèn)證通信。明文通信過(guò)程安全性較低,密文通信能保證數(shù)據(jù)保 密性但無(wú)法保證數(shù)據(jù)的完整性,認(rèn)證傳輸可以保證數(shù)據(jù)的完整性卻不能保證保密性。 所以我們選用混合傳輸同時(shí)保證數(shù)據(jù)保密性和完整性。同時(shí)為防止重放攻擊,我們 將在傳輸數(shù)據(jù)中加入?yún)奸g序號(hào),保證每次消息的實(shí)吋性。在木文中,我們將著重討論智能卡安全問(wèn)題,主要研究智能卡的身份認(rèn)證協(xié)議的 設(shè)計(jì)與實(shí)現(xiàn),并通過(guò)認(rèn)證階段獲得的會(huì)話密鑰來(lái)保證傳輸過(guò)程的安全。同時(shí),在傳 輸過(guò)程中我們也需要釆用安全的方來(lái)保證通信過(guò)程的保密性。在實(shí)現(xiàn)過(guò)程中將現(xiàn)有 cos
23、基礎(chǔ)上加入國(guó)產(chǎn)加解密算法sm4,哈希算法sm3,基于橢圓曲線的sm2算法, 形成一套完整的加解密使用的工具并將他們加入到現(xiàn)有的cos系統(tǒng)中。1.3論文主要研宄內(nèi)容本文為提高智能卡在實(shí)際應(yīng)用屮的安全性和可靠性,提出以鑒別協(xié)議為基礎(chǔ)的智 能卡操作系統(tǒng),采用鑒別協(xié)議,密鑰交換以及加解密算法。為智能卡通信提供強(qiáng)有 力的保障。具體研究?jī)?nèi)容如下:(1) 片內(nèi)操作系統(tǒng)cos的研究。cos是智能卡內(nèi)軟件部分的核心,是所有智 能卡應(yīng)用的基礎(chǔ),由于智能卡自身的特點(diǎn)和資源的限制,無(wú)法開(kāi)發(fā)出一個(gè) 通用的cos系統(tǒng)。目前各個(gè)廠家所開(kāi)發(fā)的cos系統(tǒng)無(wú)論是滿足國(guó)家標(biāo)準(zhǔn) 還是不滿足的,在接口上,命令處理上都存在一定的差異。在
24、本文中將主 耍研究滿足基本功能的cos系統(tǒng),包括cos的基本框架和結(jié)構(gòu),常用 功能模塊等,通過(guò)對(duì)cos基本結(jié)構(gòu)的研究深入對(duì)片內(nèi)操作系統(tǒng)的了解, 為后續(xù)開(kāi)發(fā)打基礎(chǔ)。(2) iso/iec7816 和 iso/iec14443 協(xié)議的研宄。iso-7816 和 iso-14443 是目 前hi面上應(yīng)用最廣泛的兩種智能卡協(xié)議。它們從智能卡的物理特性、尺寸、 傳輸協(xié)議和交互接口等各個(gè)方面給出了具體標(biāo)準(zhǔn)。筲能卡得以在全世界內(nèi) 快速發(fā)展,相關(guān)標(biāo)準(zhǔn)的制訂和推廣做出了巨大貢獻(xiàn)。本文將深入研宄筲能 卡相關(guān)標(biāo)準(zhǔn),通過(guò)對(duì)標(biāo)準(zhǔn)的研究加入具體的安全控制功能,以提升筲能卡的安全性。(3) 密碼技術(shù)的研究與實(shí)現(xiàn)。智能卡中的
25、加解密算法是所有應(yīng)用安全的基本保 證。密碼技術(shù)中包含眾多加解密算法,其中大多都己廣泛應(yīng)用,具有成熟 的應(yīng)用基礎(chǔ)和標(biāo)準(zhǔn)。本文屮我們將對(duì)智能卡屮使用的密碼算法進(jìn)行研宂,并對(duì)芯片內(nèi)加密算法進(jìn)行擴(kuò)展。雖然大多芯片都內(nèi)置了密碼算法的協(xié)處理 器,但是一般只完成des, rsa等算法,木文將加入3des以及加入國(guó) 產(chǎn)密碼算法的支持。(4) 鑒別協(xié)議的研究與實(shí)現(xiàn)。鑒別協(xié)議需要利用身份鑒別,報(bào)文鑒別以及數(shù)字 簽名技術(shù)來(lái)完成通信雙方的相互認(rèn)證,并在認(rèn)證過(guò)程中進(jìn)行密鑰協(xié)商,為 后續(xù)通信提供安全密鑰,實(shí)現(xiàn)通信過(guò)程安全。(5) 安全傳輸?shù)难芯颗c實(shí)現(xiàn)。通過(guò)對(duì)數(shù)據(jù)傳輸過(guò)程的研究,采用會(huì)話密鑰,同 時(shí)滿足數(shù)據(jù)的保密性,完整性
26、,以及實(shí)時(shí)性,冇效保證數(shù)據(jù)傳輸過(guò)程的安 全。1.4相關(guān)背景知識(shí)1.4.1智能卡在介紹智能卡之前先介紹一下集成電路卡,即1c卡。1c卡出現(xiàn)的較早,是一家 法國(guó)公司在七十年代發(fā)明的,后來(lái)將1c卡技術(shù)逐漸應(yīng)用推廣,使1c卡的到了快速 發(fā)展。根據(jù)集成電路的區(qū)別1c卡可以分為三種:存儲(chǔ)器卡、邏輯加密卡和cpu卡。, cpu卡類似一個(gè)微型計(jì)算機(jī)系統(tǒng),內(nèi)部包含處理器cpu、可擦除存儲(chǔ)器、隨機(jī)存儲(chǔ) 器ram和只讀存儲(chǔ)器rom中的智能卡操作系統(tǒng)8。這里我們可以看出,只有cpu卡才能體現(xiàn)智能二字,因?yàn)槠洳粌H有處理器而且 包含存儲(chǔ)器,并擁有自己的操作系統(tǒng)。所以我們一般所說(shuō)的智能卡指的就是cpu卡。智能卡是如今的社會(huì)
27、中己經(jīng)無(wú)所不在了,其在金融、通信、醫(yī)療保健、政府、交 通及娛樂(lè)眾多領(lǐng)域得到了廣泛的應(yīng)用。一般情況下它是將一個(gè)專用的集成電路芯片 內(nèi)嵌入塑料片中,為方便攜帶保存一般做成卡片形式。在以上這些優(yōu)點(diǎn)的幫助下,智能卡成功進(jìn)入社會(huì)發(fā)展的各行各業(yè),交通卡、銀行 卡、醫(yī)??ǖ扰c人們生活息息相關(guān),方便了人們的生活,促進(jìn)了社會(huì)發(fā)展的信息化,智能化。1.4.2片上操作系統(tǒng)cos當(dāng)今時(shí)代的智能卡己經(jīng)相當(dāng)于一個(gè)微型計(jì)算器了,它擁有自己的cpu,存儲(chǔ)器 等,能完成的操作也越來(lái)越復(fù)雜,但同時(shí)對(duì)于智能卡a各種功能的管理也越來(lái)越麻 煩,人們?yōu)榱私鉀Q這些問(wèn)題,開(kāi)發(fā)了可以在智能卡芯片上運(yùn)行的操作系統(tǒng)。由于智 能卡操作系統(tǒng)的出現(xiàn),智
28、能卡的管理以及操作變得更加便捷,發(fā)展更為迅速。智能卡操作系統(tǒng)英文全稱為chip operating systerm,我們一般簡(jiǎn)稱為cos。雖 然智能卡操作系統(tǒng)也是一種操作系統(tǒng),但它和廣泛應(yīng)用于計(jì)算機(jī)終端上的操作系統(tǒng) 有很大的不同。主要原因是智能卡再生產(chǎn)過(guò)程中,各個(gè)廠家采用的芯片各不相同, 內(nèi)部處理器和存儲(chǔ)容量大小也多種多樣,所以在開(kāi)發(fā)智能卡操作系統(tǒng)的過(guò)程中要根 據(jù)具體的芯片特點(diǎn),比如cpu處理能力,存儲(chǔ)器容量大小等去開(kāi)發(fā)相應(yīng)的cos系 統(tǒng)。換句話說(shuō)智能卡操作系統(tǒng)是一種定制系統(tǒng),只能針對(duì)某種芯片做相應(yīng)的開(kāi)發(fā), 很難做到多種芯片通用。除此之外,智能卡操作系統(tǒng)的標(biāo)準(zhǔn)制定過(guò)程所花費(fèi)的吋間 很難跟上鋝能
29、卡的發(fā)展,從而廠家在生產(chǎn)鋝能卡的過(guò)程屮不能依靠尚未通過(guò)確定的 標(biāo)準(zhǔn),要根據(jù)智能卡的發(fā)展情況作出一些變化調(diào)整。由于以上原因智能卡操作系統(tǒng) 也就出現(xiàn)了各不相同的情況。2關(guān)鍵技術(shù)研究本章簡(jiǎn)單闡述該智能卡系統(tǒng)開(kāi)發(fā)屮應(yīng)用到的關(guān)鍵技術(shù),包括開(kāi)發(fā)系統(tǒng)屮使用的開(kāi) 發(fā)語(yǔ)言c和c+以及匯編語(yǔ)言,智能卡操作系統(tǒng),對(duì)稱算法加解密技術(shù),非對(duì)稱算 法加密技術(shù),身份鑒別技術(shù),報(bào)文鑒別技術(shù),數(shù)字簽名技術(shù)以及鑒別協(xié)議的設(shè)計(jì)實(shí) 現(xiàn)。2.1集成開(kāi)發(fā)環(huán)境本文中使用的集成開(kāi)發(fā)環(huán)境microsoft visual studio 2008簡(jiǎn)稱vs2008是一個(gè)完整 的集成開(kāi)發(fā)環(huán)境,在windows平臺(tái)上可以提供代碼管理,代碼編輯,調(diào)試運(yùn)行
30、等功 能,大大提高了幵發(fā)過(guò)程中的效率,為快速開(kāi)發(fā)提供可靠手段。在開(kāi)發(fā)的過(guò)程中采用c語(yǔ)言和c+作為開(kāi)發(fā)工具,保證系統(tǒng)高效快速的實(shí)現(xiàn)。2.2智能卡操作系統(tǒng)體系結(jié)構(gòu)在智能卡體系當(dāng)中,操作系統(tǒng)是其核心組成部分,是智能卡中的所有軟件及應(yīng)用 的基礎(chǔ)。a前國(guó)際上開(kāi)發(fā)的cos系統(tǒng)大多棊于iso7816協(xié)議和iso 14443協(xié)議。 iso7816主要應(yīng)用于接觸式智能卡領(lǐng)域,iso 14443主要應(yīng)用于非接觸式智能卞。我 們這里將研宂如果在這兩種廣泛應(yīng)用的協(xié)議基礎(chǔ)上建立起一套安全鑒別協(xié)議,并在 此基礎(chǔ)上開(kāi)發(fā)相關(guān)應(yīng)用。在cos系統(tǒng)的基礎(chǔ)上我們將加入我們的處理過(guò)程,管理智能卡內(nèi)的存儲(chǔ)器, 括外部命令的處理,響應(yīng)等,
31、以實(shí)現(xiàn)安全控制。a前cos主要解決的問(wèn)題是芯片和 外部交互通信的問(wèn)題,管理智能卡內(nèi)的存儲(chǔ)器,包括外部命令的處理,響應(yīng)等。根 據(jù)智能卡內(nèi)部的存儲(chǔ)器及處理器,按照國(guó)家標(biāo)準(zhǔn)所規(guī)定的功能進(jìn)行相關(guān)的開(kāi)發(fā),設(shè) 計(jì)。由于標(biāo)準(zhǔn)的制定落后于市場(chǎng)的高速發(fā)展,所以關(guān)于智能卡在實(shí)際應(yīng)用過(guò)程中,就需耍相關(guān)研宄人員根據(jù)定制需求進(jìn)行相應(yīng)的功能擴(kuò)展。圖2-1 智能卡基本框架筲能卡操作系統(tǒng)的體系結(jié)構(gòu)如圖2-1屮所示,一般包括四個(gè)主要模塊,分別是負(fù) 責(zé)通信過(guò)程的傳送管理器,負(fù)責(zé)智能卞系統(tǒng)安全的安全管理器,負(fù)責(zé)智能卞通信命 令解析和相應(yīng)處理過(guò)程的應(yīng)用管理器和文件管理器。本文當(dāng)屮主要以安全管理器 作為研宂與實(shí)現(xiàn)模塊,具體討論和實(shí)現(xiàn)負(fù)
32、責(zé)智能卡系統(tǒng)安全性的安全協(xié)議的研宂與 實(shí)現(xiàn)過(guò)程。2.3密碼技術(shù)在軟件安全領(lǐng)域密碼技術(shù)的研究是必不可少的。木項(xiàng)目中我們大量采用了加解密 算法,所以對(duì)加解密算法做y深入的研宂。密碼技術(shù)的目的就是為了保證數(shù)據(jù)的保密性。它的核心思想就是通過(guò)某種復(fù)雜運(yùn) 算甚至是多種復(fù)雜運(yùn)算的組合對(duì)我們希望保密的數(shù)據(jù)進(jìn)行處理,從而使非法的接收 者無(wú)法獲取原始數(shù)據(jù)的真實(shí)含義。我們一般將原始數(shù)據(jù)即我們希望被保密的數(shù)據(jù)成 為明文,加密后的數(shù)據(jù)成為密文uu。根據(jù)算法的特點(diǎn)一般我們將其分為對(duì)稱算法和 非對(duì)稱算法w種,當(dāng)然還有其他分類方法,這里不做過(guò)多涉獵。在使用對(duì)稱密碼算法的通信交互過(guò)程中,發(fā)送方將待發(fā)送數(shù)據(jù)使用對(duì)稱密鑰加密 后發(fā)
33、送出去。接收方在接收到數(shù)據(jù)后使用和發(fā)送方和同的密鑰即可對(duì)接收到的加密 數(shù)據(jù)進(jìn)行解密。可見(jiàn)在這個(gè)數(shù)據(jù)交互的過(guò)程總發(fā)送和接收雙方使用的是同一個(gè)密鑰, 因此就要求通信的雙方在交互之前要進(jìn)行密鑰的協(xié)商。對(duì)稱加密算法的優(yōu)點(diǎn)是算法 加解密的速度快。缺點(diǎn)是由于需要雙方共同維護(hù)一個(gè)密鑰,安全性也就和對(duì)降低。 此外,隨著通信用戶的增加,密鑰管理成為用戶的負(fù)擔(dān)。因?yàn)槊荑€管理困難,使用 成本較高間。非對(duì)稱密碼算法使用公鑰和私鑰。通信交互雙方各自維護(hù)的一對(duì)密鑰。是有非 對(duì)稱算法產(chǎn)生的惟一匹配的一對(duì)密鑰。在非對(duì)稱算法屮,假設(shè)現(xiàn)有a, b兩個(gè)通信 終端。a擁有自己的私鑰同時(shí)把自己的公鑰發(fā)布出去,b也維護(hù)自己的私鑰并將自
34、己的公鑰發(fā)布出去。當(dāng)a需要和b進(jìn)行通信發(fā)送數(shù)據(jù)的時(shí)候,a就使用b的公鑰對(duì) 所需要傳輸?shù)臄?shù)據(jù)進(jìn)行加密,當(dāng)b收到數(shù)據(jù)時(shí)就使用自己的私鑰進(jìn)行解密,獲得原 始數(shù)據(jù)。同理當(dāng)b需要和a進(jìn)行通信交互的時(shí)候,b就使用a的公鑰對(duì)所需要傳輸 的數(shù)據(jù)進(jìn)行加密,當(dāng)a收到數(shù)據(jù)時(shí)就使用自己的私鑰進(jìn)行解密,獲得原始數(shù)據(jù)。在 此傳送過(guò)程中由于只有a, b擁有自己的私鑰,所以只需要通信雙方維護(hù)好自己的 私鑰安全性。這使得通信過(guò)程屮每個(gè)通信方只需要保存自己的私鑰,大大降低丫需 要保存的密鑰數(shù)量。但通信的前提是擁有對(duì)方的公鑰。非對(duì)稱算法的優(yōu)點(diǎn)是安全性 高,不足是加解密過(guò)程效率低,速度慢,無(wú)法滿足實(shí)時(shí)響應(yīng)系統(tǒng)。由于非對(duì)稱具有 安全性
35、高的優(yōu)點(diǎn),所以在非對(duì)稱和對(duì)稱算法進(jìn)行組合運(yùn)算的應(yīng)用得以廣泛推廣。目 前國(guó)際上應(yīng)用較為廣泛的是rsa算法13-14。2.4身份鑒別技術(shù)身份鑒別技術(shù)就是解決通信雙方在交互之前如何確定對(duì)方身份合法性的問(wèn)題,減 小智能卞被冒用以及讀卞器非法讀取智能卞數(shù)據(jù)的可能性。在智能卞領(lǐng)域存在身份 鑒別的需求,智能卡在進(jìn)行交易或者某種支付時(shí)首先要確定讀卡器是否合法以保證 鋝能卡信息的安全性,同樣讀卡器也需要驗(yàn)證鋝能卡是否合法,如果是偽造卡則把 絕其交易請(qǐng)求。只有在雙方互相進(jìn)行身份鑒別成功完成,才能進(jìn)行交易操作。由上 可知,身份鑒別技術(shù)在鋝能卡安全體系屮占有重要的位置,是保證鋝能卡體系安全 性和可靠性的守門人,具有不
36、可替代性。身份鑒別的方式并不唯一,根據(jù)筲能卡系統(tǒng)對(duì)安全級(jí)別的需求可使用相應(yīng)的安全 鑒別方法。一般我們常用的一種鑒別方式為通過(guò)驗(yàn)證個(gè)人識(shí)別號(hào)碼,即我們所說(shuō)的 密碼來(lái)確定使用卡的用戶是否合法。當(dāng)然這種鑒別方式比較安全但不實(shí)用于一些對(duì) 時(shí)間要求比較高的系統(tǒng)屮,比如對(duì)于公交卡系統(tǒng)這種小額支付系統(tǒng)屮,為丫方便用 戶使用的便捷性,同時(shí)考慮到公交卡涉及到的金額較少,所以可直接刷卡完成不需 要輸入密碼,這樣就大大提高丫處理效率,但同時(shí)安全性也降低丫,所以只能應(yīng)用 于一些金額較小的系統(tǒng)屮。為方便理解身份鑒別技術(shù)的實(shí)現(xiàn)過(guò)程,介紹一種常用的 身份鑒別實(shí)現(xiàn)方法m-叫。具體流程閣如下閣2-2所示:內(nèi)部認(rèn)證外部認(rèn)證讀寫器
37、1c卡讀寫器1c卡圖2-2 身份認(rèn)證基木流程從圖中可以看出鑒別過(guò)程實(shí)際上是分兩個(gè)部分完成的,首先是讀卡器對(duì)智能卡的 鑒別,乂叫做內(nèi)部認(rèn)證;然后是智能卡對(duì)讀卡器進(jìn)行鑒別,叫做外部認(rèn)證d2。這里 的內(nèi)外是從智能卡的角度而言的。內(nèi)部認(rèn)證。讀卡器牛.成一個(gè)隨機(jī)數(shù)并通過(guò)認(rèn)證指令發(fā)送給智能卡,智能卡在接到 該隨機(jī)數(shù)時(shí)使用事先協(xié)商好的密鑰和算法進(jìn)行加密操作并將加密后的數(shù)據(jù)返冋給讀 卡器,讀卡器收到加密數(shù)據(jù)后同樣使用相同的密鑰和算法進(jìn)行解密并將解密出來(lái)的 數(shù)據(jù)和之前發(fā)送的數(shù)據(jù)進(jìn)行比對(duì),如果相同則說(shuō)明智能卡是合法的,因?yàn)橹悄芸〒?有合法的密鑰。外部認(rèn)證。外部認(rèn)證就是對(duì)讀卡器的認(rèn)證。首先讀卡器發(fā)送生成隨機(jī)數(shù)命令給
38、智 能卡,智能卡接到后產(chǎn)生一組隨機(jī)數(shù)并返回給讀卡器,讀卡器在接到數(shù)據(jù)后使用事 先協(xié)商好的密鑰和算法進(jìn)行加密并通過(guò)外部認(rèn)證命令發(fā)給智能卡。智能卡將接受的 數(shù)據(jù)解密然后和之前生成的隨機(jī)數(shù)進(jìn)行對(duì)比,如果相同則說(shuō)明該讀卡器為合法。2.5報(bào)文鑒別技術(shù)在智能卡安傘問(wèn)題中,有一個(gè)問(wèn)題必須解決,那就是如何保證通信雙方發(fā)送的數(shù) 據(jù)在通信過(guò)程中不被外界非法修改。所以就需要一種方法來(lái)確定接收端接收到的數(shù) 據(jù)宄竟是不是發(fā)送端發(fā)來(lái)的原始數(shù)據(jù),中間有沒(méi)有被修改過(guò)j。為解決這個(gè)問(wèn)題,我們采用了報(bào)文鑒別技術(shù)。報(bào)文鑒別技術(shù)詳細(xì)實(shí)現(xiàn)過(guò)程一般通 過(guò)以下步驟完成:(1)選用某種算法,可以稱為鑒別算法,對(duì)原始數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果為某
39、個(gè) 固定長(zhǎng)度的數(shù)據(jù),一般稱為鑒別碼,該鑒別碼就是用來(lái)保證原始數(shù)據(jù)完整性 的,因?yàn)樗驮紨?shù)據(jù)存在某種運(yùn)算關(guān)系;(2)將步驟(1)中計(jì)算得到的鑒別碼加到原始數(shù)據(jù)末尾或者開(kāi)頭,然后將該數(shù)據(jù) 組發(fā)送出去,安全性要求高的系統(tǒng)一般會(huì)先加密在發(fā)送,(3)當(dāng)接收方收到發(fā)送來(lái)的數(shù)據(jù)后,首先將發(fā)送來(lái)的數(shù)據(jù)進(jìn)行解密運(yùn)算,然后分 別取出鑒別碼和原始數(shù)據(jù),采取和發(fā)送端同樣的算法對(duì)該原始數(shù)據(jù)進(jìn)行運(yùn)算 獲取響應(yīng)的鑒別碼,如果計(jì)算出的鑒別碼和接收得到的鑒別碼相同則說(shuō)明數(shù) 據(jù)在發(fā)送過(guò)程屮未被修改過(guò),是可靠的,如果鑒別碼不同則說(shuō)明數(shù)據(jù)在發(fā)送 過(guò)程屮很有可能在屮途被攔截修改,此時(shí)立刻停止通信過(guò)程。2.5數(shù)字簽名技術(shù)數(shù)字簽名是建立
40、在公鑰體制基礎(chǔ)上的一種服務(wù)。數(shù)字簽名技術(shù)主要負(fù)責(zé)完成三個(gè) 任務(wù)。第一,接收方有對(duì)發(fā)送方發(fā)送數(shù)據(jù)簽名認(rèn)證的能力;第二,發(fā)送方無(wú)法對(duì)自 己的簽名抵賴;第三,簽名具有唯一性,無(wú)法偽造d849。數(shù)字簽名示意圖如圖2-5 所示:圖2-3 數(shù)字簽名基本框架hash算法為單向散列函數(shù),對(duì)任意k:度的輸入數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果輸岀 一段閥定長(zhǎng)度的數(shù)據(jù),hash算法有如下特性:(1)給定輸入數(shù)據(jù),可以迅速求出散列值;(2)給定散列值,很難計(jì)算出原輸入數(shù)據(jù);(3)給定輸入數(shù)據(jù),很難找到另外一組數(shù)據(jù)經(jīng)過(guò)hash運(yùn)算后得到的散列值和原 數(shù)據(jù)散列值形同。目前國(guó)際上常用的哈希算法有md5, sha1, sha256, s
41、ha384, sha512,我 國(guó)自主開(kāi)發(fā)的哈希算法標(biāo)準(zhǔn)sm3。哈希算法一般和簽名算法配合使用,例如sha1 和rsa配合使用,sm3和sm2配合使用20。如下圖2-4中所示,數(shù)字簽名的過(guò)程分為兩步:(1)對(duì)輸入數(shù)據(jù)進(jìn)行hash算法運(yùn)算獲取散列值;(2)使用私鑰對(duì)哈希值進(jìn)行加密,得到數(shù)字簽名。驗(yàn)簽過(guò)程:(1)獲取原數(shù)據(jù)和簽名值;(2)使用哈希算法對(duì)原數(shù)據(jù)進(jìn)行運(yùn)算,求出原數(shù)據(jù)的哈希值;(3)使用公鑰對(duì)接收到的簽名值進(jìn)行解密,將解密得到的數(shù)據(jù)和自己算出來(lái)的哈 希值進(jìn)行對(duì)比,如果相等則說(shuō)明簽名冇效,否則驗(yàn)簽失敗,簽名無(wú)效。發(fā)送方a接收方b(簽名)(認(rèn)證)圖2-4 數(shù)字簽名基本流程2.6本章小結(jié)本章簡(jiǎn)
42、單闡述了系統(tǒng)開(kāi)發(fā)中應(yīng)用的關(guān)鍵技術(shù),包括開(kāi)發(fā)系統(tǒng)所使用集成開(kāi)發(fā)環(huán) 境、基木的智能卡體系結(jié)構(gòu)、安全應(yīng)用基礎(chǔ)的密碼技術(shù)、用于身份鑒別的技術(shù)、用 于保證數(shù)據(jù)完整性的報(bào)文鑒別技術(shù),用于防止非法冒充的數(shù)字簽名技術(shù),通過(guò)這些 技術(shù)在系統(tǒng)中的使用達(dá)到增強(qiáng)安全性和可靠性的目的。3智能卡安全協(xié)議的分析與設(shè)計(jì)3.1智能卡安全協(xié)議的業(yè)務(wù)需求分析木文對(duì)智能卡安全協(xié)議的需求進(jìn)行了詳細(xì)的分析,經(jīng)過(guò)系統(tǒng)的分析和對(duì)需求的深 入挖掘,將本文需要完成的主要業(yè)務(wù)功能列舉出來(lái)。(1)身份合法性鑒別。對(duì)于一個(gè)智能卡系統(tǒng),如何辨別通信雙方合法性是一個(gè)重 要的問(wèn)題。我們?cè)谒型ㄐ沤灰字?,必須?duì)進(jìn)行交易的雙方進(jìn)行一個(gè)身份 的鑒定,只有在保證
43、通信雙方身份合法的前提下才可以進(jìn)行后續(xù)交易,否則 應(yīng)立即拒絕交易。(2)數(shù)據(jù)的保密性。即使通信雙方已經(jīng)確定了對(duì)方的合法性并開(kāi)始進(jìn)行交易,但 在通信過(guò)程中數(shù)據(jù)的保密性依然非常重要,否則一旦雙方的通信內(nèi)容被第三 方非法竊取甚至修改,將造成巨大的損失。所以在通信過(guò)程中我們需要保證 數(shù)據(jù)的保密性,防止第三方非法獲取或修改通信信息,以確保交易過(guò)程的通 信安全。(3)數(shù)據(jù)完整性。在通信過(guò)程中,由于外部環(huán)境的不確定性,導(dǎo)致接收方在接收 到數(shù)據(jù)時(shí)無(wú)法確認(rèn)該數(shù)據(jù)就是發(fā)送來(lái)的原始數(shù)據(jù),即不能保證數(shù)據(jù)在傳輸過(guò) 程中沒(méi)有被修改,也就是數(shù)據(jù)完整性得不到保證。我們需要采取一定的技術(shù) 手段,使接收方在接收到數(shù)據(jù)時(shí)可以對(duì)數(shù)據(jù)
44、完整性進(jìn)行驗(yàn)證,以保證數(shù)據(jù)在 通信過(guò)程中沒(méi)有被非法或者未知原因修改。(4)防抵賴。在日常生活中,我們?cè)诤灪贤膮己蚨紩?huì)寫上自己的名字以表達(dá)對(duì) 合同內(nèi)同的認(rèn)同,一旦簽訂了合同,合同雙方都對(duì)合同所規(guī)定的內(nèi)容負(fù)有一 定的責(zé)任,不得抵賴。在計(jì)算機(jī)系統(tǒng)和智能卡中,我們同樣需耍一種技術(shù)手 段來(lái)保證通信雙方在通信過(guò)程中對(duì)自己發(fā)送的信息負(fù)責(zé),異體可以通過(guò)數(shù)字 簽名技術(shù)來(lái)保證。3.2安全協(xié)議的總體設(shè)計(jì)為實(shí)現(xiàn)智能卡操作系統(tǒng)的安傘性,根據(jù)智能卡對(duì)交互過(guò)程的處理流程,總體包括 三個(gè)大模塊,他們都需要密碼算法進(jìn)行支撐。身份認(rèn)證密鑰協(xié)商安全傳輸密碼技術(shù)圖3-1-15安全協(xié)議總體框架首先安全協(xié)議的基礎(chǔ)是支持各種安全技術(shù)的密
45、碼算法,所以在底層首先設(shè)計(jì)密碼 算法的設(shè)計(jì),包括他們的實(shí)現(xiàn)和如何使用。有了密碼算法的支持后,智能卡在通信時(shí)首先進(jìn)行的是雙方的認(rèn)證過(guò)程,即通過(guò) 一定的技術(shù)手段判別智能卡和讀卡器的合法性,只有在保證通信雙方的合法性冰可 以進(jìn)行后續(xù)交易過(guò)程丨川。在認(rèn)證完成后我們需耍獲得會(huì)話密鑰,有了會(huì)話密鑰冰可以保證通信過(guò)程的安 全。會(huì)話密鑰的獲得可以在鑒別認(rèn)證的同時(shí)進(jìn)行協(xié)商,這樣在鑒別認(rèn)證的同時(shí)不僅 完成了雙方的合法性認(rèn)證,還完成了密鑰協(xié)商,減少了執(zhí)行步驟,提高了協(xié)議執(zhí)行 效率。認(rèn)證和協(xié)商密鑰完成后通信雙方就可以開(kāi)始進(jìn)行會(huì)話了。在這里我們?yōu)榱吮WC安 全性,對(duì)通信雙方的命令都進(jìn)行加密處理,加密密鑰使用密鑰協(xié)商過(guò)程獲
46、得的密鑰, 加密算法可以有多種算法進(jìn)行選擇22-231。3.3密碼算法的選擇密碼算法的設(shè)計(jì)包括密碼算法的選擇以及具體實(shí)現(xiàn)。具體根據(jù)相關(guān)技術(shù)需要進(jìn)行 算法的組合使用。3.3.1對(duì)稱加解密算法對(duì)稱加解密算法是應(yīng)用最廣泛也是效率較高的密碼算法。在本文中我們需要對(duì)稱算法對(duì)交互數(shù)據(jù)進(jìn)行加密處理以保證數(shù)據(jù)安全。對(duì)稱算法的選擇我們主要采用des, 3des算法。目前des算法在硬件層面,也就是說(shuō)在芯片上都有具體的協(xié)處理器進(jìn) 行更高效率的完成,比軟件實(shí)現(xiàn)過(guò)程至少快100倍241,但是由于芯片的能力和資源 的限制,不可能把所有的算法都使用硬件實(shí)現(xiàn),所以我們?cè)诒疚腻鴮⒃赿es的基礎(chǔ) 上實(shí)現(xiàn)3des算法,并完成3d
47、es系列算法的ecb和cbc模式。3.3.2安全報(bào)文算法安全報(bào)文算法又叫做mac算法是在報(bào)文鑒別技術(shù)屮要使用到的,用來(lái)保證數(shù)據(jù) 的完整性。mac算法一般采用基于對(duì)稱算法的密碼算法進(jìn)行改進(jìn)實(shí)現(xiàn)的,具體可以 使用des系列算法為基礎(chǔ),開(kāi)發(fā)適合報(bào)文鑒別技術(shù)的mac算法。3.3.3哈希算法哈希算法又稱散列函數(shù),一般和簽名算法配合使用。主耍是將一段輸入數(shù)據(jù)通過(guò) 哈希運(yùn)算后可以得到固定長(zhǎng)度的輸出數(shù)據(jù),即哈希值。該哈希值和原輸入數(shù)據(jù)存在 緊密聯(lián)系,原則上由哈希值無(wú)法推導(dǎo)出原數(shù)據(jù),與此同吋有且僅有原數(shù)據(jù)才能獲取 該哈希值。a前應(yīng)用較為廣泛的哈希算法有sha1、sha256、sha512和md5,本 文中將采用
48、sha1和sm3作為只體使用的哈希算法25。3.3.4非對(duì)稱算法數(shù)字簽名使用公鑰算法和哈希算法完成,為了保證數(shù)據(jù)能夠驗(yàn)證是合法發(fā)送者發(fā) 送的,同吋具有不可抵賴性。發(fā)送方在發(fā)送前需要對(duì)哈希值使用簽名算法進(jìn)行簽名,接收方接收到相關(guān)數(shù)據(jù)后進(jìn)行驗(yàn)簽。國(guó)家密碼管理局于2010年12月17 口發(fā)布了 sm2橢闌曲線公鑰密碼算法,并要 求為對(duì)現(xiàn)有基于rsa算法的電子認(rèn)證系統(tǒng)、密鑰管理系統(tǒng)、應(yīng)用系統(tǒng)進(jìn)行升級(jí)改造。 目前在國(guó)內(nèi)應(yīng)用較為廣泛的rsa1024位算法不再安全,根據(jù)國(guó)家密碼管理局的通知,自2011年7月1日起,投入運(yùn)行并使用公鑰密碼的信息系統(tǒng),需要使用sm2橢圓 曲線密碼算法。sm2算法與rsa算法一樣
49、,同屬于非對(duì)稱算法體系,是屬于橢闕曲線加密(ecc) 算法的一種。但與rsa算法不同的是rsa算法是基于大整數(shù)分解數(shù)學(xué)難題,sm2 算法是基于橢圓曲線上點(diǎn)群離散對(duì)數(shù)難題。相對(duì)于rsa算法,sm2算法具有以下優(yōu) 點(diǎn):安全性高。192位的sm2密碼強(qiáng)度己經(jīng)比rsa2048位密碼強(qiáng)度要高。存儲(chǔ)空間 小。sm2算法的密碼一般使用192256位,rsa算法密碼一般需要使用20484096 位。sm2在私鑰運(yùn)算上,要比rsa快得多。國(guó)產(chǎn)算法。國(guó)家密碼管理部門制訂相關(guān) 標(biāo)準(zhǔn),保證無(wú)國(guó)外可利用的后門26-28。3.4身份鑒別和密鑰協(xié)商的設(shè)計(jì)鑒別協(xié)議主耍完成智能卡和讀卡器的相互認(rèn)證,其在智能卡通信安全中的重耍性
50、 不言而喻。木文中鑒別協(xié)議的設(shè)計(jì)主要原則是實(shí)現(xiàn)簡(jiǎn)單,使用方便,安全性高。同 時(shí)考慮到協(xié)議的應(yīng)用環(huán)境和具體項(xiàng)目需求,經(jīng)過(guò)深入分析探討決定提出兩種鑒別方 案,分別是基于對(duì)稱算法的鑒別協(xié)議和基于非對(duì)稱算法的鑒別協(xié)議。其中基于對(duì)稱 算法的鑒別協(xié)議由于具體實(shí)現(xiàn)過(guò)程較為簡(jiǎn)單,響應(yīng)時(shí)間短,可滿足對(duì)于時(shí)間響應(yīng)要 求較高的項(xiàng)目。而基于非對(duì)稱算法的鑒別協(xié)議同樣有它自身的優(yōu)點(diǎn),它雖然實(shí)現(xiàn)起 來(lái)較復(fù)雜,但卻擁有較高的安全性,可應(yīng)用于對(duì)安全性要求較高的系統(tǒng)當(dāng)中-3u。3.4.1基于對(duì)稱算法的身份鑒別和密鑰協(xié)商為了保證數(shù)據(jù)的安全性,在進(jìn)行身份鑒別的過(guò)程必須保證安全可靠。所以首先需 要滿足的條件是鑒別過(guò)程的數(shù)據(jù)要具有保密性
51、,同時(shí)為保證數(shù)據(jù)發(fā)送過(guò)程中不被修 改,也要保證數(shù)據(jù)的完整性32?;谏鲜龇治?,在鑒別過(guò)程中我們需要使用報(bào)文鑒別技術(shù)來(lái)保證完整性,同時(shí)需 要使用密碼算法技術(shù)來(lái)保證數(shù)據(jù)的安全性。那么在執(zhí)行鑒別之前,通信雙方應(yīng)該提 前協(xié)商好使用的密碼算法和密鑰。首先可以由讀卡器產(chǎn)生隨機(jī)數(shù),然后使用報(bào)文鑒別技術(shù)和加密技術(shù)將數(shù)據(jù)傳輸給 智能卡,智能卡通過(guò)使用相同的密碼算法和密鑰在對(duì)數(shù)據(jù)驗(yàn)證后可以判斷讀卡器是 否合法。在驗(yàn)證了讀卡器合法后,智能卡需要返回信息給讀卡器以證明自身的合法性,同 樣使用報(bào)文鑒別技術(shù)和數(shù)據(jù)加密技術(shù)將讀卡器發(fā)送來(lái)的隨機(jī)數(shù)發(fā)送回去,同時(shí)產(chǎn)生 自己的隨機(jī)數(shù),以備后續(xù)導(dǎo)出會(huì)話密鑰使用。讀卡器接到數(shù)據(jù)后通過(guò)
52、對(duì)數(shù)據(jù)進(jìn)行分析,得出返回的隨機(jī)數(shù)是自己之前發(fā)送的隨 機(jī)數(shù)并且可以使用自己的密碼算法和密鑰進(jìn)行正確解密。從而判斷丫智能卡的合法 性,然后返回鑒別成功消息。此時(shí)完成y雙方相互認(rèn)證過(guò)程。相互認(rèn)證成功完成后,雙方使用密碼算法和共享密鑰對(duì)讀卡器產(chǎn)生的隨機(jī)數(shù)進(jìn)行 加密,將加密結(jié)果作為子密鑰。然后利用密碼算法和子密鑰對(duì)智能卡產(chǎn)生的隨機(jī)數(shù) 進(jìn)行加密,將加密結(jié)果作為會(huì)話密鑰。從上述過(guò)程中可以看出鑒別過(guò)程安全可靠,會(huì)話密鑰的產(chǎn)生跟智能卡和讀卡器產(chǎn) 生的隨機(jī)數(shù)緊密相關(guān),而且由于隨機(jī)數(shù)的不確定性,更增加了會(huì)話密鑰的安全。3.4.2基于非對(duì)稱算法的身份鑒別和密鑰協(xié)商非對(duì)稱算法的身份鑒別可以使用數(shù)字證書來(lái)完成,數(shù)字證書一
53、般有第三方證書認(rèn) 證機(jī)構(gòu)進(jìn)行頒發(fā),包含公鑰和相關(guān)信息。使用數(shù)字證書和公鑰算法,利用數(shù)字簽名 技術(shù)保證數(shù)據(jù)的安全丨3小在鑒別之前,在智能卡和讀卡器初始化的吋候,需要第三方機(jī)構(gòu)給智能卡和讀卡 器頒發(fā)相應(yīng)證書并寫入終端設(shè)備,為后續(xù)鑒別過(guò)程使用做準(zhǔn)備。當(dāng)準(zhǔn)備工作做好了 之后可以開(kāi)始進(jìn)行身份鑒別了。首先由讀卡器產(chǎn)生隨機(jī)數(shù),然后對(duì)隨機(jī)數(shù)進(jìn)行數(shù)字簽名,將簽名數(shù)據(jù)和讀卡器證 書一同發(fā)送給智能卡。智能卡接到數(shù)據(jù)后首先驗(yàn)證證書,成功驗(yàn)證后從證書中獲取公鑰對(duì)簽名數(shù)據(jù)進(jìn)行 驗(yàn)簽。驗(yàn)簽成功則說(shuō)明讀卡器合法。然后產(chǎn)生一個(gè)隨機(jī)數(shù),并將該隨機(jī)數(shù)和驗(yàn)簽獲 取的隨機(jī)數(shù)一起使用智能卡私鑰簽名,簽名的結(jié)果連同智能卡證書發(fā)送給讀卡器。
54、讀卡器收到數(shù)據(jù)后同樣進(jìn)行證書驗(yàn)證,并獲取公鑰。然后利用公鑰對(duì)接收數(shù)據(jù)進(jìn) 行驗(yàn)簽。驗(yàn)簽成功后比對(duì)驗(yàn)簽獲取的數(shù)據(jù)和之前發(fā)送的隨機(jī)數(shù)是否相同,如果相同 說(shuō)明智能卡合法。通過(guò)上述鑒別過(guò)程,通信雙方借助數(shù)字證書和數(shù)字簽名技術(shù)完成了相互認(rèn)證。然 后我們可以使用智能卡產(chǎn)生的隨機(jī)數(shù)作為后續(xù)通信過(guò)程的會(huì)話密鑰。3.5數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)目前在智能卡信息傳輸?shù)姆绞街?,主要有明文傳輸、認(rèn)證傳輸和加密傳輸三種方 式。明文傳輸無(wú)法保證安全性,但是效率最高,因?yàn)椴恍枰^(guò)多的加解密處理。認(rèn) 證傳輸是指在消息后面加入鑒別碼,接收方在接收到數(shù)據(jù)后可以根據(jù)鑒別碼來(lái)驗(yàn)證 數(shù)據(jù)的完整性,保證y數(shù)據(jù)在傳輸途屮不被修改,但是無(wú)法保證數(shù)據(jù)的保密
55、性。加 密傳輸方式在數(shù)據(jù)發(fā)送前進(jìn)行加密處理,以保證數(shù)據(jù)的保密性,即使傳輸過(guò)程屮數(shù)據(jù)被竊取也不至于暴露信息,但是不能保證數(shù)據(jù)的完整性,即在通信過(guò)程中可能受 到第三方非法修改信息使接收者接收到的信息無(wú)法正常解密獲取原始數(shù)據(jù)在本文中,我們采用認(rèn)證傳輸加加密傳輸?shù)姆绞?,即混合傳輸?shù)姆绞絹?lái)保證通信 過(guò)程的安全。與此同時(shí)為了抵制重放攻擊,在數(shù)據(jù)末尾加入時(shí)間序號(hào)。時(shí)間序號(hào)的 產(chǎn)生可選用對(duì)話時(shí)發(fā)送方產(chǎn)生一個(gè)隨機(jī)數(shù)作為初始值,以后每次發(fā)送消息時(shí)時(shí)間序 號(hào)依次遞增。每次對(duì)話開(kāi)始時(shí)首先由發(fā)送方初始化時(shí)間序號(hào)值。這樣保證了消息的 實(shí)時(shí)性和真實(shí)性。在經(jīng)過(guò)身份認(rèn)證和密鑰協(xié)商后,讀卡器和智能卡就進(jìn)入會(huì)話過(guò)程 了。智能卡中的
56、操作系統(tǒng)其實(shí)并不是一個(gè)完整意義的操作系統(tǒng),它的基木業(yè)務(wù)就是 處理命令和發(fā)送響應(yīng)。我們首先對(duì)原始命令進(jìn)行mac鑒別碼計(jì)算,并將鑒別碼加入 命令末尾,然后再對(duì)整個(gè)數(shù)據(jù)進(jìn)行加密處理。由此一來(lái),接收方在接收到數(shù)據(jù)后可 首先使用會(huì)話密鑰進(jìn)行解密處理,然后利用解密出來(lái)的數(shù)據(jù)進(jìn)行mac鑒別碼的計(jì) 算,如果計(jì)算出來(lái)的鑒別碼和解密獲得的鑒別碼一致,則說(shuō)明了數(shù)據(jù)時(shí)合法的。在 此會(huì)話過(guò)程中,通過(guò)認(rèn)證加加密的處理,同時(shí)保證了數(shù)據(jù)的完整性和保密性,有效 提升了數(shù)據(jù)在通信過(guò)程的安全性和可靠性。具體過(guò)程如圖3-2所示。發(fā)送端命令頭數(shù)據(jù)時(shí)間庁.號(hào)mac計(jì)算命令頭數(shù)據(jù)時(shí)間序號(hào)鑒別碼加密處理密文接收端mac計(jì)算命令頭數(shù)據(jù)時(shí)問(wèn)呼號(hào)
57、鑒別碼鑒別碼比較同合法解密處理文密圖3-2 數(shù)據(jù)傳輸框架3.6本章小結(jié)本章通過(guò)對(duì)安全系統(tǒng)的分析完成了安全協(xié)議的總體設(shè)計(jì),將安全協(xié)議分為身份鑒 別、密鑰協(xié)商和數(shù)據(jù)傳輸三個(gè)模塊。詳細(xì)對(duì)密碼算法的選擇、身份鑒別認(rèn)證過(guò)程、密鑰協(xié)商進(jìn)行了分析和設(shè)計(jì)。通過(guò)對(duì)通信之初雙方的相互認(rèn)證作為前提,密鑰協(xié)商 作為后續(xù)保障,并對(duì)傳輸過(guò)程中的數(shù)據(jù)完整性,保密性都做了相關(guān)的保護(hù),同時(shí)保 證了數(shù)據(jù)的實(shí)時(shí)性。4智能卡安全協(xié)議的實(shí)現(xiàn)4.1開(kāi)發(fā)環(huán)境的選擇本文使用的集成開(kāi)發(fā)環(huán)境是microsoft visual studio 2008,簡(jiǎn)稱vs2008。它是一 基于windows的集成開(kāi)發(fā)環(huán)境,在windows平臺(tái)上可以提供代碼管理,代碼編輯,調(diào)試運(yùn)行等功能,可以提高開(kāi)發(fā)效率,縮短開(kāi)發(fā)時(shí)間,是我們高效完成開(kāi)發(fā)任務(wù)的 可靠伙伴。4.2密碼算法的實(shí)現(xiàn)密碼算法的實(shí)現(xiàn)主要包括三個(gè)方面:對(duì)稱算法、哈希算法和非對(duì)稱算法,報(bào)文鑒 別算法是基于對(duì)稱算法改造獲得的,實(shí)現(xiàn)方法類似對(duì)稱算法的cbc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消費(fèi)者心理學(xué)試題及答案
- 西寧機(jī)場(chǎng)招聘試題及答案
- 河北省廊坊市第四中學(xué)2024-2025學(xué)年八年級(jí)下學(xué)期5月月考數(shù)學(xué)試題(含答案)
- 東北三省精準(zhǔn)教學(xué)2025屆高三下學(xué)期聯(lián)考三模英語(yǔ)試卷(不含音頻)
- 2025標(biāo)準(zhǔn)版設(shè)備采購(gòu)合同
- 2025辦公租賃合同(詳細(xì))
- 提升房地產(chǎn)銷售團(tuán)隊(duì)的管理與激勵(lì)機(jī)制
- 2025年中國(guó)數(shù)據(jù)隱私行業(yè)市場(chǎng)規(guī)模及投資前景預(yù)測(cè)分析報(bào)告
- Biotin-SS-Amine-hydrochloride-生命科學(xué)試劑-MCE
- 廣西桂林市2014-2015學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)地理試題掃描版含答案
- 浙江省杭州市保俶塔中學(xué)2025屆八下數(shù)學(xué)期末經(jīng)典試題含解析
- 礦產(chǎn)勘查野外地質(zhì)調(diào)查安全操作考核試卷
- 2025水利工程總承包合同
- 2025-2030年中國(guó)數(shù)字金融行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與前景預(yù)測(cè)研究報(bào)告
- 2025入團(tuán)積極分子發(fā)展對(duì)象考試題庫(kù)及答案詳解(必刷)
- 2025河南省農(nóng)業(yè)信貸擔(dān)保有限責(zé)任公司招聘32人筆試參考題庫(kù)附帶答案詳解
- 2025 年發(fā)展對(duì)象培訓(xùn)考試題及答案
- 蜜雪冰城轉(zhuǎn)讓店協(xié)議合同
- 《高效吸引目標(biāo)客戶》課件
- 江蘇鎮(zhèn)江歷年中考作文題與審題指導(dǎo)(2003-2020)
- 二零二五版塔吊司機(jī)承包合同書協(xié)議書
評(píng)論
0/150
提交評(píng)論