智能卡的安全機(jī)制及其防范策略
文章出處:http://m.luckydriving.com 作者:馮清枝 王志群 人氣: 發(fā)表時(shí)間:2011年09月29日
0 引言
伴隨信息識別技術(shù)的發(fā)展和社會對信息安全要求的日益提高,作為一種新型的信息存儲媒體,智能卡應(yīng)運(yùn)而生。智能卡的研制和應(yīng)用涉及微電子技術(shù)、計(jì)算機(jī)技術(shù)和信息安全技術(shù)等學(xué)科,其廣泛應(yīng)用于行業(yè)管理、網(wǎng)絡(luò)通訊、醫(yī)療衛(wèi)生、社會保險(xiǎn)、公用事業(yè)、金融證券以及電子商務(wù)等方面,極大地提高了人們生活和工作的現(xiàn)代化程度,已經(jīng)成為衡量一個國家科技發(fā)展水平的標(biāo)志之一。智能卡是將具有存儲、加密及數(shù)據(jù)處理能力的集成電路芯片鑲嵌于塑料基片上制成的卡片,具有暫時(shí)或永久的數(shù)據(jù)存儲能力,數(shù)據(jù)內(nèi)容可供內(nèi)部處理、判斷或外部讀取;具有邏輯和數(shù)學(xué)運(yùn)算處理能力,用于芯片本身的處理需求以及識別、響應(yīng)外部提供的信息,其外形與普通磁卡制成的信用卡十分相似,只是略厚一些。智能卡的硬件主要包括微處理器和存儲器兩部分,邏輯結(jié)構(gòu)如圖1 所示。
智能卡內(nèi)部的微處理器一般采用8 位字長的中央處理器,當(dāng)然更高位的微處理器也正在開始應(yīng)用。微處理器的主要功能是接受外部設(shè)備發(fā)送的命令,對其進(jìn)行分析后,根據(jù)需要控制對存儲器的訪問。訪問時(shí),微處理器向存儲器提供要訪問的數(shù)據(jù)單元地址和必要的參數(shù),存儲器則根據(jù)地址將對應(yīng)的數(shù)據(jù)傳輸給微處理器,最后由微處理器對這些數(shù)據(jù)進(jìn)行處理操作。此外,智能卡進(jìn)行的各種運(yùn)算(如加密運(yùn)算) 也是由微處理器完成的。而控制和實(shí)現(xiàn)上述過程的是智能卡的操作系統(tǒng)COS??▋?nèi)的存儲器容量一般都不是很大, 存儲器通常是由只讀存儲器ROM、隨機(jī)存儲器RAM 和電擦除可編程存儲器EEPROM組成。其中,ROM 中固化的是操作系統(tǒng)代碼,其容量取決于所采用的微處理器;RAM 用于存放操作數(shù)據(jù),容量通常不超過1KB ; EEPROM中則存儲了智能卡的各種信息,如加密數(shù)據(jù)和應(yīng)用文件等,容量通常介于2KB 到32KB 之間,這部分存儲資源可供用戶開發(fā)利用。
圖1 智能卡的硬件結(jié)構(gòu)
1 智能卡的安全機(jī)制
智能卡的優(yōu)勢主要體現(xiàn)在廣闊的存儲空間和可靠的安全機(jī)制等方面。其中安全機(jī)制可以歸納為:認(rèn)證操作、存取權(quán)限控制和數(shù)據(jù)加密三個方面。
1.1.1 認(rèn)證操作
認(rèn)證操作包括持卡人的認(rèn)證、卡的認(rèn)證和終端的認(rèn)證三個方面。持卡人的認(rèn)證一般采用提交密碼的方法,也就是由持卡人通過輸入設(shè)備輸入只有本人知曉的特殊字符串,然后由操作系統(tǒng)對其進(jìn)行核對。卡的認(rèn)證和終端的認(rèn)證多采用某種加密算法,被認(rèn)證方用事先約定的密碼對隨機(jī)數(shù)進(jìn)行加密,由認(rèn)證方解密后進(jìn)行核對。
1.1.2 存取權(quán)限控制
存取權(quán)限控制主要是對涉及被保護(hù)存儲區(qū)的操作進(jìn)行權(quán)限限制,包括對用戶資格、權(quán)限加以審查和限制,防止非法用戶存取數(shù)據(jù)或合法用戶越權(quán)存取數(shù)據(jù)等。每個被保護(hù)存儲區(qū)都設(shè)置有讀、寫、擦除的操作存取權(quán)限值,當(dāng)用戶對存儲區(qū)進(jìn)行操作時(shí),操作系統(tǒng)會對操作的合法性進(jìn)行檢驗(yàn)。如果允許本項(xiàng)操作,則用戶正常進(jìn)行操作;反之,如果本項(xiàng)操作受到限制,則要求用戶提供相關(guān)參數(shù)。當(dāng)用戶不能提供正確的參數(shù)時(shí),則此項(xiàng)操作被中止。
在智能卡系統(tǒng)中,信息存儲的組織方式為文件形式。每一文件都有一個文件頭,文件頭的主要內(nèi)容包括文件標(biāo)志碼、文件長度、文件起始地址、文件層次隸屬和存取權(quán)限值等信息,其中存取權(quán)限值表明此文件所支持的操作。
在實(shí)際應(yīng)用中,所有智能卡與讀卡器等終端設(shè)備之間的傳送信息都是經(jīng)過加密處理的,以避免通信線路上的竊取和篡改。目前廣泛流行的加密算法有對稱加密算法、非對稱加密算法等。理論證明,當(dāng)對稱加密算法采用的密鑰長度為64 位時(shí),如果對加密算法進(jìn)行密鑰搜索破譯,采用一般的處理器,需要耗費(fèi)數(shù)萬年的時(shí)間;而要縮短時(shí)間,則需要耗費(fèi)巨大的財(cái)力和物力。同時(shí),為了確保安全,人們還對密鑰采取了限制試探次數(shù)的方法,如果在給定次數(shù)的密鑰輸入過程中未能輸入正確的密碼,那么卡將進(jìn)入死鎖狀態(tài),不響應(yīng)任何的用戶操作,只有發(fā)行商才能恢復(fù),這樣可防止非法用戶采用窮舉法或猜測法試探出密碼。
2 數(shù)據(jù)加密技術(shù)
加密技術(shù)是為了提高信息系統(tǒng)和通訊數(shù)據(jù)的安全性及保密性,防止秘密數(shù)據(jù)被外部破析而采取的技術(shù)手段。隨著信息技術(shù)的發(fā)展,信息安全日益引起人們的關(guān)注。目前各國除了在法律上、管理上加強(qiáng)數(shù)據(jù)信息的安全保護(hù)以外,在技術(shù)上也從硬件和軟件兩個方面采取措施,推動物理防范技術(shù)和數(shù)據(jù)加密技術(shù)的不斷發(fā)展。數(shù)據(jù)加密技術(shù)按照密鑰的公開與否可以分為對稱加密(DES) 算法和不對稱加密(RSA) 算法兩種。
在對稱加密算法中,加密密鑰和解密密鑰是相同的,為了安全起見,密鑰要定期地改變。對稱加密算法速度快,所以廣泛應(yīng)用于處理大量數(shù)據(jù)信息的場合,其技術(shù)關(guān)鍵是保證密鑰的安全。對稱加密系統(tǒng)是迄今為止應(yīng)用最廣泛、最安全的加密系統(tǒng),也是傳統(tǒng)的分組密碼學(xué)的典型代表。在對稱加密算法設(shè)計(jì)中,人們采用散布和混亂兩種技術(shù)來隱蔽信息,選取置換、移位和模2 加運(yùn)算等來構(gòu)成算法的基本單元,因而加密算法可以在任何普通計(jì)算機(jī)上實(shí)現(xiàn)。對稱加密算法最引人注目的地方是它的算法和數(shù)據(jù)完全公開,以DES 算法的特點(diǎn),理論上采用窮舉法肯定可以找到所用的密鑰,但是,以目前的計(jì)算機(jī)處理速度和費(fèi)用還是無法做到的。此外,DES 發(fā)表近20 年來,無數(shù)專業(yè)人員已經(jīng)對DES 的安全性做了大量的研究工作,迄今為止,還沒有人確信它是可以攻破的。但是,DES 的一個令人擔(dān)憂的問題是:傳輸密鑰時(shí)容易被截獲,從而對安全性構(gòu)成威脅。
在不對稱加密算法中,分別存在公鑰和私鑰,公鑰公開,私鑰保密。公鑰和私鑰具有一一對應(yīng)的關(guān)系,用公鑰加密的數(shù)據(jù)只有用私鑰才能解開,其效率低于對稱加密算法。數(shù)據(jù)發(fā)送方采用自己的私鑰加密數(shù)據(jù),接受方用發(fā)送方的公鑰解密,由于私鑰和公鑰之間的嚴(yán)格對應(yīng)性,使用其中一個密鑰只能用另一個密鑰來解密,從而保證了發(fā)送方不能抵賴發(fā)送過數(shù)據(jù),完全模擬了現(xiàn)實(shí)生活中的簽名。非對稱加密算法是從一個著名的數(shù)學(xué)難題中產(chǎn)生的,即求兩個大素?cái)?shù)的乘積容易,而分解兩個大素?cái)?shù)的乘積困難,它屬于NPI 類問題,至今還沒有有效的解法。
RSA 算法本身在概念上很簡單,它將明文作為數(shù)字處理,并進(jìn)行特定的指數(shù)運(yùn)算,加密、解密可以按照任意次序進(jìn)行,并且多個加密、解密可以相互交換,這些特性使它成為一個非常理想的算法。但是,使用此算法對200 位十進(jìn)制數(shù)和以200 位十進(jìn)制數(shù)為指數(shù)的大數(shù)值數(shù)據(jù)進(jìn)行運(yùn)算時(shí),普通計(jì)算機(jī)是很難勝任的,因此,RSA 的應(yīng)用還極少見。盡管如此,它的更為可靠、有效的安全性為數(shù)據(jù)加密技術(shù)提供了發(fā)展的基礎(chǔ)。
對持卡人、卡和終端設(shè)備之間的相互認(rèn)證以及數(shù)據(jù)的加密均可采用上述兩種加密算法中的一種。
3 智能卡的防范策略
盡管智能卡具有更大的信息存儲容量和更高的信息安全性,但是某些行為人出于政治狂熱、經(jīng)濟(jì)利益,或是智力挑戰(zhàn)等目的,會采取多種方式對智能卡安全系統(tǒng)實(shí)施內(nèi)部攻擊或外部攻擊。這些攻擊可以表現(xiàn)為:持卡人可能嘗試那些系統(tǒng)沒有賦予他們權(quán)限的行為,或者使用設(shè)計(jì)者忽略的程序;惡意的或者缺少誠信的持卡人通過破析加密算法,獲取和分析系統(tǒng)存儲的信息以牟取暴利;智能卡發(fā)行部門的雇員或方案操作人員伺機(jī)復(fù)制、分析或盜取數(shù)據(jù)和硬件,或者對與他們有關(guān)系的人員給予特殊的權(quán)利和利益;偽卡犯罪團(tuán)伙可能采用分析系統(tǒng)的辦法獲得權(quán)利,或者使用計(jì)算機(jī)系統(tǒng)建立虛假帳戶或進(jìn)行虛假交易;狂熱的黑客熱衷于破壞系統(tǒng),這是所有攻擊中最危險(xiǎn)的攻擊,但是,只有政府或國家金融系統(tǒng)可能會遭受這種攻擊。只要動機(jī)足夠強(qiáng)烈,加之足夠的資源和時(shí)間,總是有攻擊成功的機(jī)會,甚至最好的加密系統(tǒng)也會遭受“碰大運(yùn)”式的冒險(xiǎn)攻擊,從而給智能卡系統(tǒng)的經(jīng)營者和用戶帶來巨大損失。
為了進(jìn)一步提高智能卡對各種攻擊的抵御能力,需要采取以下策略來保證它的安全性:
(1) 在制造智能卡和卡芯時(shí),必須著重強(qiáng)調(diào)制造過程的安全性。工廠的物理安全需要仔細(xì)地控制。制造商的身份號和序列號應(yīng)當(dāng)寫入一次性可編程存儲器中,用以鎖存數(shù)據(jù)。此外,在離開生產(chǎn)車間時(shí),需要對智能卡進(jìn)行測試,測試合格后加注安全注冊標(biāo)識。
(2) 智能卡系統(tǒng)的安全性還體現(xiàn)在軟件設(shè)計(jì)上。應(yīng)當(dāng)對照現(xiàn)有的國際標(biāo)準(zhǔn)和國內(nèi)標(biāo)準(zhǔn),規(guī)范制定智能卡軟件安全規(guī)范;充分地分析和利用開發(fā)平臺的安全特征,建立功能齊全的智能卡安全功能模塊庫,構(gòu)造高效的智能卡安全集成系統(tǒng),以滿足高安全性要求的應(yīng)用需求,對信息安全提供多方面的保護(hù)。軟件系統(tǒng)的安全機(jī)制包括:引入安全管理員的機(jī)制,負(fù)責(zé)網(wǎng)絡(luò)安全管理,并與系統(tǒng)管理員協(xié)同進(jìn)行資源訪問的管理;采用高強(qiáng)度的加密算法和一次一密的口令,保障通信傳輸?shù)陌踩?提供數(shù)字簽名的功能,檢驗(yàn)數(shù)據(jù)的完整性,確保不可抵賴性;添加審計(jì)監(jiān)控的功能,對非法訪問行為給以預(yù)警告示。
(3) 數(shù)據(jù)安全是建立在密鑰安全的基礎(chǔ)上。密鑰管理是保證數(shù)據(jù)安全的重要手段,密鑰管理包括密鑰生成和密鑰發(fā)送兩個環(huán)節(jié)。先進(jìn)的密鑰管理系統(tǒng)應(yīng)當(dāng)安全地產(chǎn)生智能卡讀寫及認(rèn)證操作所需的各種密鑰,并確保密鑰生成與發(fā)送過程中的安全性和一致性,實(shí)現(xiàn)集中式的密鑰管理。同時(shí)還必須配以嚴(yán)格的管理規(guī)章制度。
(4) 生物識別技術(shù)是利用人的生理特征和行為特征,如顏面、指紋、聲紋、虹膜掃描和動力學(xué)簽名等來識別個人的身份,是目前最為方便和安全的個人識別技術(shù)。生物識別技術(shù)包括特征提取、模型訓(xùn)練和模式識別等環(huán)節(jié),在智能卡中存入用戶的特征模式能夠極大地提高其安全性,當(dāng)對智能卡進(jìn)行認(rèn)證時(shí),計(jì)算機(jī)能夠精確地測定持卡人和卡上存儲模式的匹配程度,從而有效地增強(qiáng)了智能卡的防偽能力。
(文/中國刑警學(xué)院刑事科學(xué)技術(shù)系,馮清枝 王志群)