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

    聯(lián)系興邦電子

    全國(guó)咨詢熱線:40000-63966

    售后:0371-55132951/55132952

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

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

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

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

        0 前 言

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

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

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

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

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

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

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

        2 空間優(yōu)化

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

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


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

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

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


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

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

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

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

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

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

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

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

        3 時(shí)間優(yōu)化 

        3. 1 時(shí)間優(yōu)化問(wèn)題

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

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

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

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

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

        2) 在不影響智能卡中保存的信息安全性的條件下,對(duì)應(yīng)用進(jìn)行分割,盡量將部分復(fù)雜計(jì)算放在智能卡外的計(jì)算平臺(tái)上完成,充分利用其它計(jì)算平臺(tái)的計(jì)算能力。

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

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

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

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

        4 應(yīng)用實(shí)例

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

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

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

        5 結(jié) 語(yǔ)

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

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

        (文/上海交通大學(xué)計(jì)算機(jī)系CIT實(shí)驗(yàn)室 唐業(yè) 張申生)

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