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

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

多應用智能卡的空間和時間優(yōu)化

文章出處:http://xianjuhong.com 作者:唐業(yè) 張申生   人氣: 發(fā)表時間:2011年09月30日

[文章內(nèi)容簡介]:本文針對多應用智能卡的空間和時間優(yōu)化需求,給出多應用智能卡空間利用率公式和時間消耗公式,研究多應用智能卡文件結(jié)構(gòu)對智能卡空間和時間優(yōu)化的影響因素,綜合已有的優(yōu)化方法和技術(shù),提出相應的智能卡空間和時間優(yōu)化設計策略,并給出一個應用實例。

    0 前 言

    隨著智能卡在金融、商業(yè)、交通中應用的推廣,需要在智能卡上實現(xiàn)和支持的應用越來越多。多應用智能卡與單應用智能卡相比,更便于用戶攜帶、使用和管理智能卡。但是多應用集成要求更大的數(shù)據(jù)存儲空間和更強的數(shù)據(jù)處理能力。然而,智能卡作為一種移動安全設備,它的存儲空間往往都是有限的,其自帶的數(shù)據(jù)處理能力也是有限的。目前主流的智能卡的容量是32KB、64KB,特殊的大容量智能卡也不過幾兆容量,時鐘頻率也僅為幾兆赫茲到幾十兆赫茲. 特別在使用智能卡同時支持多個復雜的應用,應用又具有復雜的邏輯時,對空間和時間響應的要求更高. 如何優(yōu)化智能卡,使其空間得到充分地利用,響應更快,是利用智能卡實現(xiàn)多應用支持的關(guān)鍵。

    目前智能卡空間和時間優(yōu)化的研究主要集中在硬件優(yōu)化、利用附加的裝置和算法優(yōu)化三個方面。如Adi Shamir提出了一種新的公開密鑰方案減少原方案對RAM的訪問,并且不使用專用的協(xié)處理器,安全性不變,但它主要針對RAM的使用[ 1 ] 。Pil Joong Lee等人提出了終端中安全設備“安全模塊”,以支持Schnorr類型加密系統(tǒng)的預計算技術(shù),而不需重新設計加密控制器[ 2 ]。Sung Bum Pan提出一種在智能卡上實現(xiàn)的趨低內(nèi)存指紋匹配算法,在評估典型的指紋匹配算法每一步所執(zhí)行的指令數(shù)和內(nèi)存需求的基礎(chǔ)上,針對內(nèi)存消耗最多的步驟開發(fā)一種內(nèi)存有效算法[ 3 ]。Cap C. H. 等提出了用虛擬內(nèi)存擴展JavaCard數(shù)據(jù)存儲能力的方法[ 4 ]。另外有的研究人員采用壓縮算法,減少空間占用和數(shù)據(jù)傳送時間;采用節(jié)約空間編碼技術(shù)以更有效地利用有限的存儲空間,或采用應用分割技術(shù)將部分代碼放到智能卡終端以節(jié)省空間;還有的采用智能卡只存儲持卡人的身份信息,其余數(shù)據(jù)放到外部數(shù)據(jù)庫中,通過持卡人的身份信息調(diào)用相應的數(shù)據(jù)。對于從智能卡文件結(jié)構(gòu)優(yōu)化設計的角度,實現(xiàn)多應用智能卡空間和時間的優(yōu)化則未有相關(guān)研究。

    本文針對多應用智能卡的空間和時間優(yōu)化需求,給出多應用智能卡空間利用率公式和時間消耗公式,研究多應用智能卡文件結(jié)構(gòu)對智能卡空間和時間優(yōu)化的影響因素,綜合已有的優(yōu)化方法和技術(shù),提出相應的智能卡空間和時間優(yōu)化設計策略,并給出一個應用實例。

    1 智能卡的文件結(jié)構(gòu)

    安全體系是智能卡的核心部分,它涉及到智能卡的鑒別與核實,文件訪問的權(quán)限控制機制。智能卡的文件結(jié)構(gòu)都是圍繞著實現(xiàn)智能卡安全體系,控制智能卡存儲內(nèi)容的安全而建立的。智能卡安全體系以目錄為組織單位進行訪問控制,安全控制的最小粒度是文件,文件結(jié)構(gòu)直接影響智能卡的整體安全性。用戶的應用數(shù)據(jù)都存放在智能卡的EEPROM中,以文件形式組織。智能卡文件系統(tǒng)是由專用文件DF (Dedicated File)和基本文件EF ( Elementary File)組成的。卡內(nèi)數(shù)據(jù)的邏輯組織結(jié)構(gòu)由專用文件DF的結(jié)構(gòu)化分級組成。在根處的DF稱作主文件(MF) 。MF是必備的,其它DF是任選的[ 5 ]。如圖1 所示?;疚募奈募愋鸵彩嵌喾N多樣的,如二進制文件、定長記錄文件,變長記錄文件、公鑰文件、私鑰文件以及特殊的用于金融的錢包文件等。 

智能卡的文件組織結(jié)構(gòu)

    通常智能卡中所有文件都是由文件頭和文件主體組成。其在EEPROM中的存放格式如圖2所示。文件頭包括文件類型、文件標識符、權(quán)限等,要單獨占有固定大小的存儲空間。智能卡用這些文件空間來管理文件。文件主體則包含用戶的應用數(shù)據(jù),其占據(jù)的空間是智能卡的有效數(shù)據(jù)空間。 

    2 空間優(yōu)化

    2. 1 空間優(yōu)化問題

    由智能卡的文件組織樹結(jié)構(gòu)和智能卡中文件的存放格式可以看出,智能卡中DF和EF的個數(shù),文件的大小都會對智能卡空間的優(yōu)化產(chǎn)生影響。為了便于對智能卡空間優(yōu)化問題的討論,我們先給出如下智能卡空間的有效利用率計算公式。 


    其中p代表空間有效利用率, ST代表智能卡所能提供的用戶空間的總和, SH代表文件頭所占據(jù)的空間總和。SH可以通過式(2)獲得。 

    其中ND代表包括MF在內(nèi)的所有DF目錄文件的個數(shù), NE 代表包括key文件在內(nèi)的所有EF文件的個數(shù), S 代表智能卡文件文件頭所占據(jù)的固定大小的存儲空間。

    由式(1)可以看出,要在智能卡有限的空間中支持多應用,存儲更多的數(shù)據(jù),應盡可能使智能卡空間的有效利用率p值大。對某一類型的智能卡用戶空間總和ST值是一定的,因此要使p值大, SH值必須小。在式(2)中,智能卡文件頭存儲空間S是定值,因此要使SH值小,必須使DF目錄文件的個數(shù)ND和EF文件的個數(shù)NE的總和最小。式(1)中SH也可以由式(3)獲得。 


    其中N MF代表主文件的個數(shù),它為常值1; N EMF代表主目錄下基本文件的個數(shù); N Di代表某一個智能卡所支持的應用所屬DF目錄文件個數(shù)的總和; N Ei代表某一個應用所屬的包括key文件在內(nèi)EF文件個數(shù)的總和; n代表智能卡所支持的應用的個數(shù); S代表的含義與式(2)一樣。由式(3)可以看出,智能卡多應用會使應用個數(shù)n值較大,因而使多應用智能卡SH值較大。

    2. 2 空間優(yōu)化策略

    由式(2)和式(3)可以看出, 在多應用的條件下, 雖然要提高智能卡空間有效利用率,理論上需要使文件的總數(shù)最小,但是智能卡的多應用性質(zhì)要求文件的個數(shù)多。文件的個數(shù)越多,應用的層次越清晰,結(jié)構(gòu)化越強,有利于應用的分離和獨立,也有利于智能卡應用的管理和擴展, 但是智能卡空間有效利用率將減小;相反,等量的應用數(shù)據(jù)的條件下,文件的個數(shù)越少,智能卡空間有效利用率越高,但是相應的每個文件的空間大,結(jié)構(gòu)性不強,智能卡應用實現(xiàn)的數(shù)據(jù)耦合度高,管理難度大,智能卡應用的擴展性減小。

    根據(jù)上述分析,我們提出如下智能卡文件結(jié)構(gòu)設計策略進行智能卡空間優(yōu)化:

    1)在滿足智能卡多應用需求,保證各應用獨立和一定的應用擴展性條件下,盡量使應用數(shù)據(jù)集中,使智能卡中的文件個數(shù)的總和最小。

    2)合理預先分配文件主體空間的大小。由于文件空間大小是在建立文件結(jié)構(gòu)時預先分配的,在設計智能卡文件結(jié)構(gòu)時盡可能詳盡地考慮各種情況,對智能卡各種應用產(chǎn)生的數(shù)據(jù)進行準確的估計,包括數(shù)據(jù)的類型、數(shù)據(jù)的大小、數(shù)據(jù)的訪問方式以及將來可能的擴展等各種數(shù)據(jù)特征。

    3)選擇合適的基本文件類型和文件主體數(shù)據(jù)組織方式。

    文件中存儲數(shù)據(jù)的使用方式?jīng)Q定了采用何種類型的文件格式,二進制文件用于存儲順序數(shù)據(jù)和一次性大量讀寫的數(shù)據(jù)或整體使用的數(shù)據(jù),文件空間的整體利用率比記錄文件高;記錄文件可存儲有選擇性的隨機讀取數(shù)據(jù),文件數(shù)據(jù)的有序性強,但因此要多占用數(shù)據(jù)空間。 

    3 時間優(yōu)化 

    3. 1 時間優(yōu)化問題

    智能卡的響應時間由智能卡微處理器的時鐘頻率、ROM大小、擦寫時間、通信速率、通信協(xié)議以及APDU的最大長度等硬件技術(shù)性能參數(shù),以及智能卡數(shù)據(jù)的存儲方式、存儲的文件類型、數(shù)據(jù)的復雜性、讀寫和運算數(shù)據(jù)的量等共同決定的。在這里,我們主要從智能卡文件結(jié)構(gòu)設計的角度在硬件參數(shù)一定的條件下,研究智能卡的時間優(yōu)化問題。智能卡的響應時間由智能卡數(shù)據(jù)傳輸時間和數(shù)據(jù)處理時間兩部分組成。智能卡數(shù)據(jù)處理時間由智能卡應用操作所需完成指令數(shù)和完成每個指令所需的時間所確定。這里的時間不包括未通過智能卡認證或多次認證所帶來的時間消耗。智能卡的響應時間可以由如式(4)表示。 

    其中T表示完成智能卡應用操作的總時間; D 表示需要傳輸?shù)目倲?shù)據(jù)量; tu表示單位數(shù)據(jù)傳輸所需的時間,也就是通信速率; D·tu即為智能卡數(shù)據(jù)傳輸所需的時間; n表示所需完成的指令的個數(shù); ti 表示完成某個指令i所需的時間。

    3. 2 時間優(yōu)化策略

    在式(4)中, 因為tu和ti由智能卡硬件技術(shù)性能參數(shù)所確定,在智能卡種類和型號確定的情況下為確定值, 如Trip leDES時間、SHA算法時間、RSA簽名、驗證、加密和解密時間等,所以影響智能卡響應時間的主要因素是傳輸數(shù)據(jù)量D 和操作所需的指令數(shù)n。因此時間優(yōu)化主要包括兩個方面, 一方面是減少智能卡數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量,另一方面是減少智能卡微處理器數(shù)據(jù)處理的指令數(shù)。根據(jù)上述分析,我們給出如下時間優(yōu)化策略: 

    1) 將需要經(jīng)常使用的數(shù)據(jù)結(jié)果保存在智能卡中,而不是每次使用時再計算。

    2) 在不影響智能卡中保存的信息安全性的條件下,對應用進行分割,盡量將部分復雜計算放在智能卡外的計算平臺上完成,充分利用其它計算平臺的計算能力。

    3) 對于機密性、完整性要求高和有發(fā)送方認證要求的高安全性數(shù)據(jù)才采用安全報文傳送,以節(jié)約大量用于加密、校驗以及附加數(shù)據(jù)傳輸?shù)臅r間,提高響應速度,同時減少實現(xiàn)的難度和出錯的可能性。

    4) 與空間優(yōu)化策略3)一樣,選擇合適的文件類型和文件主體數(shù)據(jù)組織方式。二進制文件以線性表的方式組織文件主體數(shù)據(jù),通過使用地址偏移量訪問。這種文件組織方式可以一次操作讀寫大量的數(shù)據(jù),減少讀寫操作數(shù),也就是減少指令數(shù),但是存儲數(shù)據(jù)的結(jié)構(gòu)性不強。記錄文件以鏈表的方式組織文件主體數(shù)據(jù),用于組織具有相同屬性的數(shù)據(jù),結(jié)構(gòu)化強,但同時訪問多條記錄時只能逐條記錄訪問,需要較多的指令操作。

    5) 對于記錄文件中記錄的刪除,采用Tombstone技術(shù),在刪除時只對被刪除的記錄予以標記,并不真正刪除,在添加新記錄時,用新記錄覆蓋刪除記錄。減少數(shù)據(jù)移動操作。 

    6) 采用數(shù)據(jù)壓縮技術(shù),對于不需要智能卡進行數(shù)據(jù)運算的數(shù)據(jù),在將數(shù)據(jù)傳送進智能卡以前先將數(shù)據(jù)壓縮再傳送,節(jié)約數(shù)據(jù)傳送時間。

    4 應用實例

    我們在WatchData公司的TimeCOS/PK for32KB系列智能卡上實現(xiàn)了一個安全一卡通系統(tǒng),集成管理用戶的各種口令和密鑰。該系統(tǒng)主要包括四個應用:發(fā)卡方應用、集成口令應用、集成密鑰應用和擴展應用。圖3 是該系統(tǒng)的文件組織結(jié)構(gòu)樹圖。 

    發(fā)卡方應用負責管理智能卡,存儲包括卡持有人的個人信息等內(nèi)容。集成口令應用負責管理操作系統(tǒng)口令和各種應用口令。我們對W indows 2000和Windows XP操作系統(tǒng)的登錄接口進行了開發(fā),將基于口令的登錄系統(tǒng)改為基于智能卡的登錄系統(tǒng),通過一個集中控制平臺將Active Directory與智能卡集成,將用戶賬號與智能卡綁定。集成密鑰應用管理PKI公私鑰和其它密鑰,如RSA私鑰和MSWord、EXCEL、ACCESS、Adobe Acrobat的文檔加密密鑰。若用戶使用MSWord、EXCEL、ACCESS、Ado2be Acrobat的文檔加密功能,只需輸入智能卡的口令,就能使用它們的文檔加解密功能,無需記憶每個文檔的加密密鑰。這樣就將用戶的操作系統(tǒng)身份認證和文檔加密的安全功能集成在一起了。用戶只需使用一個口令,就可以使用所有相關(guān)的安全功能,無需關(guān)心具體的口令和密鑰內(nèi)容。擴展應用主要為系統(tǒng)提供擴展性。

    在這個系統(tǒng)的智能卡文件結(jié)構(gòu)設計和軟件設計時我們綜合使用并驗證了上述的多應用智能卡空間和時間優(yōu)化的策略。根據(jù)優(yōu)化策略,主控密鑰文件和控制密鑰文件采用變長記錄格式文件。由于每一個口令都具有相同的數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)化強,因此操作系統(tǒng)口令文件和各種應用系統(tǒng)口令文件采用定長的記錄文件。同樣,密鑰集合文件也采用定長的記錄文件。持卡人個人信息文件、公鑰文件、私鑰文件等存儲順序的數(shù)據(jù),均采用透明的二進制格式文件。這樣使智能卡的文件結(jié)構(gòu)滿足多應用的需求,同時實現(xiàn)智能卡空間和時間的優(yōu)化。

    5 結(jié) 語

    本文在分析智能卡特殊文件結(jié)構(gòu)的基礎(chǔ)上,給出了全面描述智能卡空間利用率和時間響應的計算公式,根據(jù)計算公式分析并分別提出了多應用智能卡空間和時間優(yōu)化策略,最后在安全一卡通中給出了一個應用優(yōu)化策略的實例,驗證優(yōu)化策略,取得了預期的效果。

    研究和實驗過程中,我們同時發(fā)現(xiàn)智能卡空間和時間優(yōu)化不是絕對的和獨立的,兩者存在制約關(guān)系,相互影響,兼顧空間和時間的優(yōu)化是比較困難的,必須根據(jù)智能卡具體多應用環(huán)境進行權(quán)衡以達到智能卡應用的整體最優(yōu)。

    (文/上海交通大學計算機系CIT實驗室 唐業(yè) 張申生)

本文關(guān)鍵詞:時間優(yōu)化,優(yōu)化策略,多應用空間優(yōu)化,智能,間優(yōu)化,優(yōu)化策略,多應用空間優(yōu)化,智能卡
回到頂部