專利名稱:用于壓縮和解壓縮mifare應(yīng)用的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及壓縮MIFARE應(yīng)用的方法,MIRARE應(yīng)用組織在至少一個扇區(qū)中,該扇區(qū) 包括以數(shù)據(jù)塊和扇區(qū)尾部形式布置的扇區(qū)數(shù)據(jù)。本發(fā)明還涉及對包含MIFARE應(yīng)用的數(shù)據(jù)流進(jìn)行解壓縮的方法,該MIFARE應(yīng)用是 已根據(jù)本發(fā)明壓縮方法中定義的壓縮規(guī)則壓縮的。本發(fā)明還涉及可直接加載到配備有MIFARE設(shè)備的計(jì)算機(jī)或移動通信設(shè)備的存儲 器中的計(jì)算機(jī)程序產(chǎn)品。本發(fā)明還涉及包括經(jīng)典或仿真MIFARE存儲設(shè)備的移動通信設(shè)備,其中移動通信 設(shè)備適于處理上段中所述的計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
由NXP半導(dǎo)體公司開發(fā)的MIFARE 經(jīng)典族是工作于13. 56MHz頻率范圍 并具有讀/寫功能的非接觸式智能卡IC中的先鋒和引領(lǐng)者。MIFARE 是NXP半 導(dǎo)體公司的商標(biāo)。MIFARE符合IS014443A,用于當(dāng)今所有非接觸式智能卡中超過80 % 的智能卡中。該技術(shù)具體實(shí)現(xiàn)在卡和讀卡器設(shè)備兩者中。MIFARE卡當(dāng)前用于日益增 長的廣泛范圍的應(yīng)用中(包括交通售票,訪問控制,電子支付,道路收費(fèi)和特許應(yīng)用)。 MIFARE標(biāo)準(zhǔn)(或經(jīng)典)卡采用具有針對認(rèn)證和密碼的專有安全協(xié)議的專有高層協(xié)議。 MIFARE 技術(shù)已成為具有密鑰保護(hù)的存儲扇區(qū)的存儲設(shè)備的標(biāo)準(zhǔn)。MIFARE 技 術(shù)的出版產(chǎn)品說明書的一個示例是數(shù)據(jù)表單“MIFARE standard Card IC MRl IC S50-Functionality Specification”(1998),其合并在此作為參考。MIFARE 技術(shù)也在 Klaus Finkenzeller, "RFID Handbuch”,HANSER,第 3 版(2002)中有所論述。MIFARE經(jīng)典卡基本上只是存儲記憶設(shè)備,其中存儲器劃分為扇區(qū)和塊,具有針對 訪問控制的簡單安全機(jī)制。每個設(shè)備具有唯一的序列號。提供了防沖突機(jī)制,以便可以選 擇現(xiàn)場的若干卡并順序地進(jìn)行操作。MIFARE標(biāo)準(zhǔn)Ik提供大約768字節(jié)的數(shù)據(jù)存儲,劃分成16個扇區(qū),每個扇區(qū)具有4 個16字節(jié)的塊(一個塊包括16字節(jié));每個扇區(qū)由兩個不同的密鑰A和B保護(hù)??梢詫?扇區(qū)編程,以進(jìn)行例如讀、寫、增加值塊等操作。每個扇區(qū)的最末塊稱為“尾部”,尾部包含兩 個秘密密鑰(A和B)以及針對該扇區(qū)中每個塊的可編程訪問條件。為了支持具有密鑰分級 結(jié)構(gòu)的多應(yīng)用,提供每個扇區(qū)(每個應(yīng)用)兩個密鑰(A和B)的單獨(dú)集合。圖1示出了 MIFARE標(biāo)準(zhǔn)Ik卡的存儲組織。1024 X 8比特的EEPROM存儲器被組織 成16個扇區(qū),每個扇區(qū)具有4個16字節(jié)的塊。第一扇區(qū)(扇區(qū)0)的第一數(shù)據(jù)塊(塊0) 是制造商塊,圖2具體示出了該塊。制造商塊包含MIFARE卡的長度為4個字節(jié)(字節(jié)0到 3)的序列號、校驗(yàn)字節(jié)(字節(jié)4)以及11個字節(jié)的IC制造商數(shù)據(jù)(字節(jié)5到15)。序列號 有時稱為MIFARE用戶標(biāo)識(MUID),并且是唯一號碼。由于安全和系統(tǒng)需求,在已由IC制造 商在生產(chǎn)時進(jìn)行了編程之后,制造商塊是受到寫保護(hù)的。但是,MIFARE規(guī)范允許在MIFARE 卡工作期間修改序列號,這對于例如SmartMX卡等MIFARE仿真卡尤其有用。
3
SmartMX (存儲擴(kuò)展,Memory extension)是由NXP半導(dǎo)體公司設(shè)計(jì)的智能卡族,針 對要求高可依賴性解決方案的高安全性智能卡應(yīng)用,具有或不具有多個接口選項(xiàng)。關(guān)鍵應(yīng) 用是電子政府管轄、銀行/金融、移動通信和先進(jìn)公共交通。能夠與用戶操作系統(tǒng)實(shí)現(xiàn)的其他非接觸式傳輸并發(fā)地運(yùn)行MIFARE協(xié)議,這使得 能夠?qū)⑿路?wù)與基于MIFARE的現(xiàn)有應(yīng)用(例如,售票)組合在單個基于雙接口控制器的智 能卡上。SmartMX卡能夠仿真MIFARE經(jīng)典設(shè)備,從而使該接口與任何安裝的MIFARE經(jīng)典基 礎(chǔ)設(shè)施兼容。非接觸式接口可以用于通過任何協(xié)議,特別是通過MIFARE協(xié)議和自定義的非 接觸式傳輸協(xié)議,來進(jìn)行通信。SmartMX使得能夠容易地實(shí)施現(xiàn)有技術(shù)的操作系統(tǒng)和開放平臺技術(shù)方案(包括 JCOP(Java卡操作系統(tǒng))),并提供優(yōu)化的特征集合連同最高安全等級。SmartMX結(jié)合了一 系列的安全性特征,以對抗例如DPA、SPA等輔助信道攻擊。真實(shí)的抗沖突方法(acc. ISO/ IEC14443-3)使多個卡能夠被同時處理。應(yīng)該注意,MIFARE經(jīng)典卡的仿真不僅僅局限于SmartMX卡,還可能存在其他的現(xiàn) 有或未來的智能卡能夠仿真MIFARE經(jīng)典卡。最近,已經(jīng)開發(fā)了包含MIFARE設(shè)備的移動通信設(shè)備,MIFARE設(shè)備被配置為MIFARE 經(jīng)典卡、或者例如SmartMX卡等的MIFARE仿真設(shè)備。這些移動通信設(shè)備包括例如具有近場 通信(NEC)能力的移動電話,但是不限于移動電話。通常由服務(wù)提供商或可信服務(wù)管理方通過移動網(wǎng)絡(luò)運(yùn)營商(MNO)的空中 (Over-The-Air, OTA)傳輸服務(wù),將MIFARE應(yīng)用安裝在例如NFC移動電話等移動通信設(shè)備 中,移動網(wǎng)絡(luò)運(yùn)營商(MNO)向客戶提供全范圍的移動服務(wù),特別是提供UICC和NFC終端,加 上所述的空中傳輸服務(wù)。服務(wù)提供商向客戶提供非接觸式服務(wù)(服務(wù)提供商例如是銀行、 公共交通公司、特許項(xiàng)目擁有方等)。可信服務(wù)管理方向MNO客戶基站安全地分發(fā)和管理服 務(wù)提供商的服務(wù)??尚欧?wù)管理方的角色是為服務(wù)提供商提供單個接觸點(diǎn),以通過MNO訪 問服務(wù)提供商的客戶基站,并代表服務(wù)提供商管理移動MFC應(yīng)用的安全下載和生命周期管 理。無論是服務(wù)提供商還是可信服務(wù)管理方將MIFARE應(yīng)用發(fā)送給移動通信設(shè)備,由于OTA 傳輸服務(wù)(例如,GSM通信)的傳送速率的限制,MIFARE應(yīng)用的安裝通常變得非常耗時,從 而降低了用戶體驗(yàn)。為了減少M(fèi)IFARE應(yīng)用的傳輸時間,考慮在將其通過空中發(fā)送至移動通信設(shè)備之 前對MIFARE應(yīng)用進(jìn)行壓縮。但是,例如zip等標(biāo)準(zhǔn)壓縮工具在所有移動通信設(shè)備中都不可 用,因此阻止了在發(fā)射機(jī)端使用這種標(biāo)準(zhǔn)壓縮。此外,標(biāo)準(zhǔn)壓縮工具沒有考慮到MIFARE應(yīng) 用的特定內(nèi)容和結(jié)構(gòu),導(dǎo)致相當(dāng)大的計(jì)算開銷,這可能在必須在具有有限計(jì)算能力的移動 通信設(shè)備中解壓利用標(biāo)準(zhǔn)壓縮工具壓縮的MIFARE應(yīng)用時尤其不利。因此,仍然需要針對 MIFARE應(yīng)用的、考慮到MIFARE應(yīng)用的特定結(jié)構(gòu)的壓縮算法。利用這種特定的壓縮算法,應(yīng) 該能夠在壓縮側(cè)和解壓縮側(cè)都實(shí)現(xiàn)高壓縮率和低計(jì)算負(fù)載。
發(fā)明內(nèi)容
為實(shí)現(xiàn)上述目的,提供了根據(jù)本發(fā)明技術(shù)特征的壓縮方法,根據(jù)本發(fā)明的壓縮方 法的特征在于如下,即一種用于壓縮MIFARE應(yīng)用的壓縮方法,MIFARE應(yīng)用被組織在至少一個扇區(qū)中,所述至少一個扇區(qū)包括布置成數(shù)據(jù)塊和扇區(qū)尾部的扇區(qū)數(shù)據(jù),其中壓縮方法包括在扇區(qū)數(shù)據(jù)中搜索連續(xù)出現(xiàn)的相同數(shù)據(jù)值,并將檢測到的具有相同數(shù)據(jù)值的連續(xù) 數(shù)據(jù)替換為包括所述數(shù)據(jù)值以及對具有所述數(shù)據(jù)值的連續(xù)扇區(qū)數(shù)據(jù)的數(shù)目進(jìn)行指示的數(shù) 字的序列;以及/或者搜索所有不同的扇區(qū)尾部值,并將所有的扇區(qū)尾部替換為對所述不同的扇區(qū)尾部 值的相應(yīng)扇區(qū)尾部值的參考。為實(shí)現(xiàn)上述目的,提供了根據(jù)本發(fā)明技術(shù)特征的解壓縮方法,根據(jù)本發(fā)明的解壓 縮方法的特征在于如下,即一種對包含MIFARE應(yīng)用的數(shù)據(jù)流進(jìn)行解壓縮的方法,所述MIFARE應(yīng)用是已根據(jù) 權(quán)利要求1到6之一所述的壓縮方法中定義的壓縮規(guī)則而壓縮的,其中解壓縮方法包括對數(shù)據(jù)流進(jìn)行解析以獲得符合上述定義的任何壓縮規(guī)則的MIFARE應(yīng)用的壓縮數(shù) 據(jù),如果找到這種壓縮數(shù)據(jù),則對所述壓縮數(shù)據(jù)逆向地應(yīng)用所述壓縮規(guī)則,從而重建MIFARE應(yīng)用。為實(shí)現(xiàn)上述目的,提供了根據(jù)本發(fā)明技術(shù)特征的計(jì)算機(jī)程序產(chǎn)品,以使根據(jù)本發(fā) 明的計(jì)算機(jī)程序產(chǎn)品可直接加載到計(jì)算機(jī)的存儲器或移動通信設(shè)備的存儲器上,其中計(jì)算 機(jī)程序產(chǎn)品包括軟件代碼部分,當(dāng)在計(jì)算機(jī)或移動通信設(shè)備上運(yùn)行所述產(chǎn)品時,軟件代碼 部分用于執(zhí)行根據(jù)本發(fā)明的壓縮或解壓縮方法的步驟。為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的移動通信設(shè)備包括算術(shù)邏輯單元和存儲器,并處 理上段所述的解壓縮計(jì)算機(jī)程序產(chǎn)品。優(yōu)選地,該移動通信設(shè)備配置為移動電話,優(yōu)選地具 有NFC功能。根據(jù)本發(fā)明的技術(shù)特征提供了如下優(yōu)點(diǎn)考慮到MIFARE應(yīng)用的特定結(jié)構(gòu)來執(zhí)行 MIFARE應(yīng)用的壓縮,由此在壓縮側(cè)和解壓縮側(cè)都實(shí)現(xiàn)高壓縮率和低計(jì)算負(fù)載。權(quán)利要求2到6之一所要求的技術(shù)手段提供了如下優(yōu)點(diǎn)限定了高效的壓縮規(guī)則, 能夠容易地以軟件代碼實(shí)現(xiàn),需要較低的計(jì)算負(fù)載。在閱讀下面詳細(xì)描述時,其他優(yōu)點(diǎn)將顯 而易見。
下面,參照示例實(shí)施例更加詳細(xì)地描述本發(fā)明。但是,本發(fā)明不限于該示例實(shí)施 例。圖1示出了 MIFARE標(biāo)準(zhǔn)Ik EEPROM的存儲組織。圖2示出了 MIFARE存儲器的制造商塊。圖3示出了 MIFARE存儲器扇區(qū)的扇區(qū)尾部。圖4示出了包括發(fā)送方、空中傳輸線路和移動通信設(shè)備形式的接收方在內(nèi)的電信 系統(tǒng)的示意框圖。圖5示出了 MIFARE應(yīng)用的組織示意圖。圖6示出了構(gòu)成本發(fā)明MIFARE應(yīng)用壓縮方法的元素的扇區(qū)尾部值和扇區(qū)索引表 的表示。圖7示出了構(gòu)成本發(fā)明MIFARE應(yīng)用壓縮方法的元素的數(shù)據(jù)流的表示。
具體實(shí)施例方式已經(jīng)參照圖1到3說明了 MIFARE標(biāo)準(zhǔn)Ik EEPROM的存儲組織。圖5說明了 MIFARE 應(yīng)用的普遍特征,在該具體示例中,MIFARE應(yīng)用MIA具有IkB的大小。這有助于更好理解本 發(fā)明壓縮算法的關(guān)鍵特征。圖5所示的MIFARE應(yīng)用包括16個扇區(qū)(扇區(qū)0x00到OxOF),每 個扇區(qū)具有64字節(jié)的長度,劃分成48字節(jié)的扇區(qū)數(shù)據(jù)以及16字節(jié)的扇區(qū)尾部。該MIFARE 應(yīng)用的扇區(qū)0x00和0x01包括第一扇區(qū)尾部A,其對于兩個所述扇區(qū)0x00和0x01而言是相 同的。隨后的14個扇區(qū)(扇區(qū)0x02到OxOF)包括第二扇區(qū)尾部B,其對于所有扇區(qū)0x02 到OxOF而言是相同的。扇區(qū)0x02到OxOF的數(shù)據(jù)塊中的扇區(qū)數(shù)據(jù)只包含值0x00,另一方 面,前兩個扇區(qū)0x00和0x01的數(shù)據(jù)塊中的扇區(qū)數(shù)據(jù)包含不可預(yù)測的數(shù)據(jù)(例如,應(yīng)用的名 稱,有關(guān)終端用戶的一些數(shù)據(jù),等等)。如圖4虛線箭頭所示,在不應(yīng)用任何壓縮機(jī)制的情況下,必須通過移動網(wǎng)絡(luò)運(yùn)營 商的空中服務(wù)0ΤΑ,從發(fā)送方1 (例如可信服務(wù)管理方或服務(wù)提供商)向移動通信設(shè)備2 (例 如NFC移動電話)發(fā)送該MIFARE應(yīng)用MIA的1024字節(jié),其中移動通信設(shè)備2包含MIFARE 存儲設(shè)備3,該MIFARE存儲設(shè)備3可以被配置為經(jīng)典MIFARE存儲卡或仿真MIFARE存儲設(shè) 備。例如,可以將所述1024字節(jié)的數(shù)據(jù)作為一個1024字節(jié)的陣列或作為16個64字節(jié)的 陣列來發(fā)送。應(yīng)當(dāng)注意,移動通信設(shè)備2包括處理器和隨機(jī)存取存儲器(圖中未示出),用 于執(zhí)行軟件SW。軟件SW包括適于執(zhí)行和管理移動通信設(shè)備2的所有功能的操作系統(tǒng)。軟 件SW還包括MIFARE應(yīng)用管理器,其具有將MIFARE應(yīng)用安裝在MIFARE存儲設(shè)備3中的能 力。將理解,通過空中服務(wù)OTA以未壓縮形式傳輸圖5的MIFARE應(yīng)用會是耗時的,因此不 是優(yōu)選的。相反,下文描述的可以安裝在發(fā)送方1中的壓縮算法CMP非常有利,能夠減少通 過空中服務(wù)OTA的數(shù)據(jù)負(fù)載,從而加速M(fèi)IFARE應(yīng)用的傳輸。以下觀察對于本發(fā)明的MIFARE應(yīng)用壓縮算法是必要的。對于MIFARE應(yīng)用的扇區(qū)尾部的兩個一般性觀察可以是■一般而言,多扇區(qū)MIFARE應(yīng)用的扇區(qū)尾部只有少許的不同值,在大多數(shù)情況下 只有1個或2個不同值?!鲈谏葏^(qū)尾部中,密鑰A和密鑰B彼此不同。對于MIFARE應(yīng)用扇區(qū)數(shù)據(jù)的以下一般性觀察可以是■ MIFARE應(yīng)用通常具有兩個不同類型 將首先發(fā)布的外殼(shell); 將稍后發(fā)布的更新,填充在外殼中。■外殼通常是較大的、但是幾乎不包含信息的MIFARE應(yīng)用(1KB)。這幾乎是“空 外殼”(數(shù)據(jù)具有本質(zhì)上相同的值,一般是0x00)?!龈掳ㄉ倭繑?shù)據(jù),一般是1個扇區(qū)(48字節(jié))。本發(fā)明的MIFARE應(yīng)用壓縮算法基于上述一般性觀察。在一方面,MIFARE應(yīng)用扇 區(qū)尾部的壓縮基于如下事實(shí)多扇區(qū)MIFARE應(yīng)用的扇區(qū)尾部只有少許的不同值,通常只有 1個或2個不同值。本發(fā)明壓縮算法利用上述觀察來壓縮MIFARE應(yīng)用。對于MIFARE應(yīng)用扇區(qū)數(shù)據(jù),下面的策略十分重要■對于外殼應(yīng)用,由于這種應(yīng)用大小較大(Ik),因此確實(shí)需要壓縮,該壓縮必須利用如下事實(shí)外殼應(yīng)用內(nèi)的數(shù)據(jù)的值對于應(yīng)用的幾乎所有數(shù)據(jù)都是相同的?!鰧τ诎ň哂胁豢深A(yù)測的值的少量數(shù)據(jù)(48字節(jié))的更新,壓縮更新的嘗試是 不值得的、或者甚至可能是有害的,因?yàn)檫@可能產(chǎn)生更大量的數(shù)據(jù)?;氐綄IFARE應(yīng)用扇區(qū)尾部的觀察,本發(fā)明壓縮算法的第一方面涉及圖6的圖表 所示的所有扇區(qū)尾部的因子分解。因子分解意味著不是要傳輸16個扇區(qū)尾部,而是創(chuàng)建扇 區(qū)尾部值表Al,其包含且僅包含MIFARE應(yīng)用的所有不同的扇區(qū)尾部值,并且創(chuàng)建扇區(qū)索引 表A2,其針對每個扇區(qū)定義了扇區(qū)尾部值表Al中的哪個扇區(qū)尾部值對應(yīng)于相應(yīng)扇區(qū)的扇 區(qū)尾部。對于圖5的MIFARE應(yīng)用示例,上述壓縮規(guī)則得到具有兩個元素的扇區(qū)尾部值表 Al,兩個元素即是包含尾部A、索引為0的元素,以及包含尾部B、索引為1的元素。扇區(qū)索 引表A2包含16個元素,每個元素被分配給MIFARE應(yīng)用MIA的扇區(qū)0x00到OxOF中的相應(yīng) 一個。從圖6可以看出,扇區(qū)索引表A2的前兩個元素包含值0 (指向扇區(qū)尾部值表Al的元 素0中的尾部A),扇區(qū)索引表A2的后14個元素包含值1 (指向扇區(qū)尾部值表Al的元素1 中的尾部B)。通過實(shí)施本發(fā)明MIFARE應(yīng)用壓縮算法CMP中的這些壓縮規(guī)則,發(fā)送方1必須 發(fā)送扇區(qū)尾部值表Al和扇區(qū)索引表A2,扇區(qū)尾部值表Al包括兩個扇區(qū)尾部值(總計(jì)32字 節(jié)),扇區(qū)索引表A2包括16字節(jié),發(fā)送方1不必再為未壓縮MIFARE應(yīng)用示例而發(fā)送16個 扇區(qū)尾部,每個扇區(qū)尾部16字節(jié),即256字節(jié)。通過使用本發(fā)明提出的MIFARE應(yīng)用壓縮, 對于扇區(qū)尾部,可以達(dá)到接近80 %的壓縮率。本發(fā)明壓縮算法的第二方面涉及MIFARE應(yīng)用扇區(qū)數(shù)據(jù)。如上所述,MIFARE應(yīng)用 的每個扇區(qū)的扇區(qū)數(shù)據(jù)包括3個塊,每個塊長16字節(jié)。該方面的目標(biāo)是將包含相同值的塊 替換為這些值本身。為此,針對所有扇區(qū)數(shù)據(jù)采用如下格式通過特別的扇區(qū)分離字符,例 如字符“/”,將每個扇區(qū)與相鄰扇區(qū)分離,并且通過特殊的塊分離字符,例如字符“-”,將扇 區(qū)內(nèi)的每個塊分離。作為附加規(guī)則,定義了 如果至少兩個連續(xù)塊包含相同數(shù)據(jù),則在塊分 離字符之后的第一個值指示數(shù)據(jù)值,第二個值指示只具有該值的數(shù)據(jù)的連續(xù)塊的數(shù)目,第 二個值之后是另一塊分離字符。因此,如果兩個塊分離字符之間的數(shù)據(jù)流的長度是16 當(dāng)前塊包含未壓縮的不可預(yù)測數(shù)據(jù);1 當(dāng)前塊包含相同值的16次序列(例如,0x00表示該塊充滿了 0x00);2 當(dāng)前塊以及后續(xù)的若干個塊包含相同值(例如,0x000x02表示當(dāng)前塊和后兩個 塊充滿了 0x00)。通過實(shí)施本發(fā)明MIFARE應(yīng)用壓縮算法CMP中的這些壓縮規(guī)則,發(fā)送方1必須向移 動通信設(shè)備2發(fā)送數(shù)據(jù)流B,數(shù)據(jù)流B如圖7所示(針對圖5的示例性MIFARE應(yīng)用),具有 例如106字節(jié)的長度,包括扇區(qū)0x00的48字節(jié)(3個塊,每個塊16字節(jié))的不可預(yù)測數(shù)據(jù), 扇區(qū)0x01的48字節(jié)的不可預(yù)測數(shù)據(jù),指示14個連續(xù)扇區(qū)0x02到OxOF在所有數(shù)據(jù)元素中 只包含值0的兩個字節(jié)(這對于MIFARE外殼應(yīng)用而是十分典型的),以及8個字節(jié)的扇區(qū) 分離字符和塊分離字符。與這里的106字節(jié)相比,發(fā)送每個均包括48字節(jié)的16個扇區(qū)的 扇區(qū)數(shù)據(jù)將總計(jì)高達(dá)768字節(jié)。因此,本發(fā)明提出的壓縮規(guī)則得到了近似86%的壓縮率。為了在移動通信設(shè)備2中重建壓縮的MIFARE應(yīng)用,移動通信設(shè)備2的軟件SW包 括解壓縮模塊DEC,其對輸入數(shù)據(jù)進(jìn)行解析,以檢測扇區(qū)尾部值表Al、扇區(qū)索引表A2和壓縮 數(shù)據(jù)流B,并將它們與未壓縮MIFARE應(yīng)用MIA區(qū)分開來。例如,當(dāng)扇區(qū)尾部值表Al、扇區(qū)索引表A2、壓縮數(shù)據(jù)流B和未壓縮MIFARE應(yīng)用MIA具有能夠在發(fā)送方端在發(fā)送之前添加的特 定首部標(biāo)志時,可以非常容易地進(jìn)行區(qū)分。如果解壓縮模塊DEC檢測到扇區(qū)尾部值表Al和 匹配的扇區(qū)索引表A2,解壓縮模塊DEC通過逆向應(yīng)用本發(fā)明壓縮算法的第一方面的壓縮規(guī) 則,來重建所有扇區(qū)的扇區(qū)尾部。如果解壓縮模塊DEC檢測到壓縮數(shù)據(jù)流B,則解壓縮模塊 DEC通過逆向應(yīng)用本發(fā)明壓縮算法的第二方面的壓縮規(guī)則,來重建所有扇區(qū)的扇區(qū)數(shù)據(jù)。如 果解壓縮模塊DEC檢測到未壓縮MIFARE應(yīng)用MIA,則解壓縮模塊DEC不對其進(jìn)行任何處理。本發(fā)明的壓縮和解壓縮方法可以硬件形式嵌入、或者通過在發(fā)送方1和移動通信 設(shè)備2中的數(shù)據(jù)處理設(shè)備可執(zhí)行的軟件的協(xié)助來嵌入。在許多情況下,在這種數(shù)據(jù)處理設(shè) 備中,例如在ROM、EPROM或任何其他永久性存儲器中,已預(yù)先存儲計(jì)算機(jī)程序產(chǎn)品,該計(jì)算 機(jī)程序產(chǎn)品包括軟件代碼部分,當(dāng)在數(shù)據(jù)處理設(shè)備上運(yùn)行計(jì)算機(jī)程序產(chǎn)品時,軟件代碼部 分用于執(zhí)行根據(jù)本發(fā)明的方法步驟。也可以通過其上存儲有計(jì)算機(jī)程序產(chǎn)品的數(shù)據(jù)載體的 協(xié)助,將計(jì)算機(jī)程序產(chǎn)品加載到數(shù)據(jù)處理設(shè)備中。在上述兩種情況下,典型地,可以將計(jì)算 機(jī)程序產(chǎn)品加載到設(shè)備的工作存儲器中,例如RAM中,并且由設(shè)備的處理器執(zhí)行計(jì)算機(jī)程 序的軟件部分。應(yīng)該注意,上述實(shí)施例示出了而不是限制本發(fā)明,本領(lǐng)域技術(shù)人員能夠在不背離 所附權(quán)利要求的范圍的情況下設(shè)計(jì)許多備選實(shí)施例。在權(quán)利要求中,任何放置在括號中的 附圖標(biāo)記不應(yīng)當(dāng)視為限制該權(quán)利要求。用語“包括”不排除權(quán)利要求中列舉的元素或步驟 之外的其他元素或步驟的存在。元素之前的不定冠詞“a”或“an”不排除多個該元素的存 在。在枚舉多個裝置的設(shè)備權(quán)利要求中,這些裝置中的若干個可以由同一個硬件項(xiàng)目來實(shí) 現(xiàn)。特定手段在相互不同的從屬權(quán)利要求中被引述這一事實(shí)并不是表示不能夠有利地使用 這些手段的組合。
8
權(quán)利要求
一種用于壓縮MIFARE應(yīng)用(MIA)的壓縮方法,MIFARE應(yīng)用被組織在至少一個扇區(qū)中,所述至少一個扇區(qū)包括布置成數(shù)據(jù)塊和扇區(qū)尾部的扇區(qū)數(shù)據(jù),其中所述壓縮方法包括在扇區(qū)數(shù)據(jù)中搜索連續(xù)出現(xiàn)的相同數(shù)據(jù)值,并將檢測到的具有相同數(shù)據(jù)值的連續(xù)數(shù)據(jù)替換為包括所述數(shù)據(jù)值以及對具有所述數(shù)據(jù)值的連續(xù)扇區(qū)數(shù)據(jù)的數(shù)目進(jìn)行指示的數(shù)字的序列;以及/或者搜索所有不同的扇區(qū)尾部值,并將所有的扇區(qū)尾部替換為對所述不同的扇區(qū)尾部值的相應(yīng)扇區(qū)尾部值的參考。
2.根據(jù)權(quán)利要求1所述的壓縮方法,其中,對于扇區(qū)數(shù)據(jù)塊,在整個塊上搜索出現(xiàn)的相 同數(shù)據(jù)值,并將檢測到的所有數(shù)據(jù)元素中都包含相同數(shù)據(jù)值的每個塊替換為該數(shù)據(jù)值。
3.根據(jù)權(quán)利要求2所述的壓縮方法,其中,如果檢測到至少兩個連續(xù)塊在其所有數(shù)據(jù) 元素中都包含相同數(shù)據(jù)值,則將這些塊替換為包括所述數(shù)據(jù)值以及對檢測到的連續(xù)塊的數(shù) 目進(jìn)行指示的數(shù)字在內(nèi)的序列。
4.根據(jù)權(quán)利要求2或3所述的壓縮方法,其中,通過預(yù)定義的塊分離字符對表示塊的數(shù) 據(jù)進(jìn)行分離。
5.根據(jù)權(quán)利要求2或3所述的壓縮方法,其中,通過預(yù)定義的扇區(qū)分離字符對扇區(qū)進(jìn)行 分離。
6.根據(jù)權(quán)利要求1所述的壓縮方法,其中,創(chuàng)建扇區(qū)尾部值表(Al),所述扇區(qū)尾部值表 包含所有不同的扇區(qū)尾部值,并且創(chuàng)建扇區(qū)索引表(A2),所述扇區(qū)索引表針對每個扇區(qū)定 義了扇區(qū)尾部值表(Al)中的哪個扇區(qū)尾部值對應(yīng)于相應(yīng)扇區(qū)的扇區(qū)尾部。
7.一種對包含MIFARE應(yīng)用(MIA)的數(shù)據(jù)流進(jìn)行解壓縮的方法,所述MIFARE應(yīng)用是已 根據(jù)權(quán)利要求1到6任一項(xiàng)所述的壓縮方法中定義的壓縮規(guī)則而壓縮的,其中解壓縮方法 包括解析數(shù)據(jù)流以獲得符合上述定義的任何壓縮規(guī)則的MIFARE應(yīng)用的壓縮數(shù)據(jù),如果 找到這種壓縮數(shù)據(jù),則對所述壓縮數(shù)據(jù)逆向地應(yīng)用所述壓縮規(guī)則,從而重建MIFARE應(yīng)用 (MIA)。
8.一種計(jì)算機(jī)程序產(chǎn)品,可直接加載到計(jì)算機(jī)的存儲器中,其中計(jì)算機(jī)程序產(chǎn)品包括 軟件代碼部分,當(dāng)在計(jì)算機(jī)上運(yùn)行時,軟件代碼部分用于執(zhí)行權(quán)利要求1到6任一項(xiàng)所述的 壓縮方法的步驟。
9.一種計(jì)算機(jī)程序產(chǎn)品,可直接加載到移動通信設(shè)備(2)的存儲器中,其中計(jì)算機(jī)程 序產(chǎn)品包括軟件代碼部分,當(dāng)在移動通信設(shè)備(2)上運(yùn)行時,軟件代碼部分用于執(zhí)行權(quán)利 要求7所述方法的步驟。
10.根據(jù)權(quán)利要求8或9所述的計(jì)算機(jī)程序產(chǎn)品,其中,計(jì)算機(jī)程序產(chǎn)品存儲在計(jì)算機(jī) 可讀介質(zhì)中,或者能夠經(jīng)由通信網(wǎng)絡(luò)從遠(yuǎn)程服務(wù)器下載。
11.一種移動通信設(shè)備,具有算術(shù)邏輯單元和存儲器,其中移動通信設(shè)備(2)適于處理 權(quán)利要求9所述的計(jì)算機(jī)程序產(chǎn)品。
12.根據(jù)權(quán)利要求11所述的移動通信設(shè)備,被配置為優(yōu)選地具有NFC功能的移動電話。
全文摘要
MIFARE應(yīng)用被組織在至少一個扇區(qū)中,至少一個扇區(qū)包括布置成數(shù)據(jù)塊和扇區(qū)尾部的扇區(qū)數(shù)據(jù)。一種MIFARE應(yīng)用壓縮方法包括在扇區(qū)數(shù)據(jù)中搜索連續(xù)出現(xiàn)的相同數(shù)據(jù)值,并將檢測到的具有相同數(shù)據(jù)值的連續(xù)數(shù)據(jù)替換為包括所述數(shù)據(jù)值以及對具有所述數(shù)據(jù)值的連續(xù)扇區(qū)數(shù)據(jù)的數(shù)目進(jìn)行指示的數(shù)字在內(nèi)的序列;以及/或者搜索所有不同的扇區(qū)尾部值,并將所有的扇區(qū)尾部替換為對所述不同的扇區(qū)尾部值的各個扇區(qū)尾部值的參考。
文檔編號H03M7/30GK101911500SQ200980102119
公開日2010年12月8日 申請日期2009年1月12日 優(yōu)先權(quán)日2008年1月14日
發(fā)明者亞歷山大·康達(dá), 巴普帝斯特·阿弗爾德, 維森特·蘭蒙尼爾 申請人:Nxp股份有限公司