CN101171591A - 存储卡、应用程序存储方法以及存储程序 - Google Patents
存储卡、应用程序存储方法以及存储程序 Download PDFInfo
- Publication number
- CN101171591A CN101171591A CNA2006800157853A CN200680015785A CN101171591A CN 101171591 A CN101171591 A CN 101171591A CN A2006800157853 A CNA2006800157853 A CN A2006800157853A CN 200680015785 A CN200680015785 A CN 200680015785A CN 101171591 A CN101171591 A CN 101171591A
- Authority
- CN
- China
- Prior art keywords
- application program
- storage
- tamper
- program
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3552—Downloading or loading of personalisation data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3558—Preliminary personalisation for transfer to user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种存储卡,其从主设备接收下载到该主设备的处于加密状态的应用程序,该存储卡包括具有防篡改功能的集成电路卡部以及闪速存储器部,所述集成电路卡部具备:防篡改存储部;程序获得部,其从所述主设备获得处于加密状态的应用程序;存储控制部,其将获得的处于加密状态的应用程序存储到所述防篡改存储部或所述闪速存储器部中;移动控制部,所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间的情况下要执行存储在所述防篡改存储部中的应用程序时,该移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到闪速存储器部中。
Description
技术领域
本发明涉及用于存储应用程序的存储卡。
背景技术
随着安全数字智能存储卡(smart Secure Digital memory card,以下称“SD卡”)等装载有集成电路卡(Integrated Circuit卡,以下称IC卡)功能的安全存储卡越来越普及,今后将进一步增加应用程序的种类和其使用人口。
图1(A)表示普通的安全存储卡的硬件结构。如图1(A)所示,安全存储卡100包括:只读存储器(ROM:Read Only Memory)103、随机存取存储器(RAM:Random Access Memory)102、中央处理器(CPU:CentralProcessing Unit)104以及非易失性存储器组101。只读存储器103存储应用程序。随机存取存储器102暂时存储执行应用程序时利用的数据。中央处理器104按照应用程序来执行针对各种指令的处理。非易失性存储器组101存储从存储卡外部下载到的应用程序。
非易失性存储器组101包括:设在防篡改模块(TRM:TamperResistant Module)107内部的铁电存储器(FeRAM:FerroelectricRAM)106、设在防篡改模块107外部的安全闪存108以及设在防篡改模块107外部的闪速存储器109。安全闪存108是利用防篡改模块107的功能来提高安全程度的一种闪速存储器。
图1(B)表示构成非易失性存储器组101的三个非易失性存储器各自的安全程度。如图1(B)所示,设在防篡改模块107内部的铁电存储器106的安全程度最高,安全闪存108的安全程度仅次于铁电存储器106,闪速存储器109的安全程度最低。
通常,在防篡改模块107中存储从服务提供商下载到的应用程序。但,防篡改模块107的容量比闪速存储器109的容量小得多,因此用户只好删除不能存储到防篡改模块107中的应用程序。
于是,有待实现一种结构,其中,用户不用删除存储在防篡改模块107中的应用程序而在确保服务提供商要求的安全程度的状态下将该应用程序移动到安全存储卡100内的闪速存储器109中,并按需要将该应用程序送回到防篡改模块107区域中,从而在一张安全存储卡100中存储尽可能多的应用程序。
专利文献1公开了按照所要下载的应用程序的安全程度来分别将该应用程序分配到不同的存储区域的技术。
专利文献1:日本国特开2002-229861号公报
若采用专利文献1公开的以往的技术,在下载应用程序时,存储器按照该应用程序的安全程度来分别将其存储到防篡改模块区域或闪速存储器中。存储器要将应用程序存储到闪速存储器中的情况下,先对以加密状态下载到的应用程序进行解密,然后利用预先存储在防篡改模块区域中的密钥来加密该解密后的应用程序,并将该加密后的应用程序存储到闪速存储器中。即,根据该以往的技术来在闪速存储器中存储应用程序的情况下,也就是说,要在安全存储卡内安全程度最低的区域中存储应用程序的情况下,便利用存储在安全存储卡中的密钥来预先加密该应用程序。因此,在闪速存储器中存储下载到的应用程序时,不能确保提供该应用程序的服务提供商要求的安全程度。
发明内容
本发明的目的在于提供一种存储卡,其能在确保服务提供商要求的安全程度的状态下将从该服务提供商下载到的应用程序存储到闪速存储器中。
为了达到上述目的,本发明涉及一种存储卡,其从主设备接收下载到该主设备的处于加密状态的应用程序,该存储卡包括具有防篡改功能的集成电路卡部以及闪速存储器部,所述集成电路卡部具备:防篡改存储部;程序获得部,其从所述主设备获得处于加密状态的应用程序、所述应用程序在加密后的大小以及所述应用程序在解密后的大小;存储控制部,其根据所述得到的应用程序在加密后的大小及所述防篡改存储部的可用空间来将所述防篡改存储部或所述闪速存储器部选定为存储区域,并将所述得到的处于加密状态的应用程序存储到该选定的区域中;移动控制部,所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间的情况下要执行存储在所述防篡改存储部中的应用程序时,该移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到闪速存储器部中;以及执行部,其解密所述要执行的应用程序并执行该应用程序。
由此,本发明涉及的存储卡可以在确保服务提供商要求的安全程度的状态下将从该服务提供商下载到的应用程序存储到闪速存储器中。
例如,在所述得到的应用程序在加密后的大小等于或小于所述防篡改存储部的可用空间的情况下,所述存储控制部将所述应用程序存储到所述防篡改存储部中;而在所述得到的应用程序在加密后的大小超过所述可用空间的情况下,所述存储控制部将所述应用程序存储到所述闪速存储器部中。
例如,在所述得到的应用程序在加密后的大小超过所述防篡改存储部的可用空间的情况下,所述存储控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到所述闪速存储器部中。
例如,所述执行部在执行应用程序后,将处于加密状态的该执行后的应用程序移动到所述闪速存储器部中。
例如,在所述闪速存储器部中存储有所要执行的应用程序的情况下,该所要执行的应用程序在解密后的大小和加密后的大小的总和超过所述防篡改存储部的可用空间时,所述移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到所述闪速存储器部中,并将所述要执行的应用程序复制到所述防篡改存储部中。
例如,在所述闪速存储器部中存储有所要执行的应用程序的情况下,该所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间时,所述移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到所述闪速存储器部中,并解密所述要执行的应用程序,将该解密后的应用程序存储到所述防篡改存储部中。
例如,所述移动控制部根据应用程序程的执行履历来产生各个应用程序的存取履历管理信息;所述集成电路卡部也可以具备移动判断部,该移动判断部按照所述存取履历管理信息来选定要移动到所述闪速存储器部中的应用程序。
例如,也可以采用以下结构,即,所述程序获得部获得所述主设备的固有信息,所述集成电路卡部还具备:密钥产生部,其利用所述得到的主设备的固有信息来产生加密密钥;以及再加密部,其利用所述加密密钥来加密要从所述防篡改存储部移动到所述闪速存储器部中的应用程序,并且,所述移动控制部在完毕加密后删除所述加密密钥,并将通过所述加密密钥而处于重复加密状态的所述要移动的应用程序移动到所述闪速存储器部中。
例如,也可以采用以下结构,即,所述集成电路卡部还具备再解密部,在存储在所述闪速存储器部中且通过所述加密密钥而处于重复加密状态的应用程序被复制到所述防篡改存储部中的情况下,再解密部利用由所述密钥产生部产生的加密密钥来解密所要复制的所述应用程序;所述移动控制部在完毕解密后删除所述加密密钥,并将所要复制的所述应用程序存储到所述防篡改存储部中。
本发明可以实现为将本发明涉及的存储卡的构成特征作为步骤的应用程序存储方法,或可以实现为使计算机执行这些步骤的程序,或者可以实现为包含所述构成特征的集成电路。所述程序可以通过CD-ROM等记录媒体或通信网络等传输媒体来流通。
本发明可以提供一种存储卡,其能在确保服务提供商要求的安全程度的状态下将从该服务提供商下载到的应用程序存储到闪速存储器中。
本发明实现在确保服务提供商要求的安全程度的状态下,在一张安全存储卡中存储尽可能多的应用程序。
附图说明
图1(A)表示普通的安全存储卡的硬件结构;图1(B)表示构成非易失性存储器组的铁电存储器、安全闪存以及闪速存储器的各个安全程度。
图2是第一实施例涉及的总系统的概略图。
图3是普通的安全存储卡的概略图。
图4是一个方框图,其表示第一实施例涉及的SD卡的结构。
图5是一个方框图,其表示设在第一实施例涉及的SD卡中的防篡改模块204的结构。
图6表示第一实施例涉及的履历管理信息的例子。
图7表示第一实施例涉及的程序管理信息的例子。
图8是一个流程图,其表示在第一实施例中下载应用程序时对应用程序进行的移动处理的顺序。
图9是一个流程图,其表示在随机存取存储器中有解密后的应用程序的情况下下载应用程序时对应用程序进行的移动处理的顺序。
图10是一个流程图,其表示在第一实施例中执行存储在随机存取存储器中的应用程序时的处理顺序。
图11是一个流程图,其表示在第一实施例中执行移动在大容量非易失性存储器中的应用程序时的处理顺序。
图12表示在第一实施例中由服务提供商提供的应用程序信息的一个例子。
图13(A)表示在第一实施例中完成了下载应用程序A的处理后的程序管理信息;图13(B)表示在第一实施例中完成了下载应用程序A的处理后的随机存取存储器的状态。
图14(A)表示在第一实施例中完成了下载应用程序B的处理后的程序管理信息;图14(B)表示在第一实施例中完成了下载应用程序B的处理后的随机存取存储器的状态。
图15(A)表示在第一实施例中执行了应用程序B后的程序管理信息;图15(B)表示在第一实施例中执行了应用程序B后的随机存取存储器的状态。
图16(A)表示在第一实施例中完成了下载应用程序C的处理后的程序管理信息;图16(B)表示在第一实施例中完成了下载应用程序C的处理后的随机存取存储器的状态。
图17(A)表示在第一实施例中执行应用程序C时,将应用程序A选定为所要移动的应用程序后的程序管理信息;图17(B)表示在第一实施例中执行应用程序C时,将应用程序A选定为所要移动的应用程序后的随机存取存储器的状态。
图18(A)表示在第一实施例中执行应用程序C时,将应用程序B也选定为所要移动的应用程序后的程序管理信息;图18(B)表示在第一实施例中执行应用程序C时,将应用程序B也选定为所要移动的应用程序后的随机存取存储器的状态。
图19(A)表示在第一实施例中执行应用程序C时,从随机存取存储器中删除了应用程序A和应用程序B后的程序管理信息;图19(B)表示在第一实施例中执行应用程序C时,删除了应用程序A和应用程序B后的随机存取存储器的状态。
图20(A)表示在第一实施例中执行应用程序B时,从随机存取存储器中删除了应用程序C后的程序管理信息;图20(B)表示在第一实施例中执行应用程序B时,删除了应用程序C后的随机存取存储器的状态。
图21(A)表示在第一实施例中执行了应用程序B后的程序管理信息;图21(B)表示在第一实施例中执行了应用程序B后的随机存取存储器的状态。
图22是一个方框图,表示第二实施例涉及的SD卡的结构。
符号说明
100 安全存储卡
101 非易失性存储器组
102 随机存取存储器
103 只读存储器
104 中央处理器
105 主机接口
106 铁电存储器
107 防篡改模块
108 安全闪存
109 闪速存储器
201 服务提供商
202 主设备
203 SD卡
204 防篡改模块
205 大容量非易失性存储器
206 SD卡控制部
207 SD接口
300 外置中央处理器
301 安全存储卡
302 控制部
303 内置中央处理器
304 防篡改模块
305 大容量非易失性存储器
306 内置非易失性存储器
307 安全区域
308 认可区域
309 非认可区域
400 程序获得部
401 程序管理部
402 履历管理部
403 存储控制部
404 移动控制部
405 IC卡操作系统
406 随机存取存储器
406a 程序存储区域
407 公钥(public key)存储部
408 解密部
409 执行部
410 再读入部
411 删除部
420、421、422、423 应用程序
503 时间信息获得部
505 移动判断部
507 暂时存储部
2200 SD卡
2217 密钥产生部
2218 再加密部
2219 再解密部
具体实施方式
以下,根据附图说明本发明的具体实施方式。
(第一实施例)
图2是第一实施例涉及的总系统的概略图。在第一实施例中设想安全存储卡为SD卡的情况。
如图2所示,第一实施例涉及的SD卡203通过SD接口(以下称“SDI/F”)207来与移动电话等主设备202相连接,其中包括:防篡改模块204、非易失性存储器205以及SD卡控制部206。主设备202不限于移动电话,而只要是具备SDI/F的设备即可。
图3表示普通的安全存储卡的概略图。如图3所示,安全存储卡301包括:防篡改模块304,其具备内置非易失性存储器306;大容量非易失性存储器305,其具备安全区域307、认可区域308、非认可区域309;内置中央处理器303,其对内置非易失性存储器306及安全区域307进行存取;以及控制部302,其与电子设备(读写设备)的外置中央处理器300相通讯来对此进行验证处理,并只使获得认可的外置中央处理器300对认可区域308进行存取。
设在防篡改模块304内的内置非易失性存储器306例如是指,能以1byte为单位对数据进行删除及写入的电可擦除可编程只读存储器(EEPROM:Electronically Erasable and Programmable Read-OnlyMemory)。大容量非易失性存储器305例如是指,能以64kbyte等为单位删除数据并能以1byte为单位写入数据的闪速存储器。
对于非认可区域309,外置中央处理器300可无条件地进行存取。但,对于认可区域308,外置中央处理器300只有通过控制部302获得认可后才可进行存取。另一方面,外置中央处理器300无法知道是否存在安全区域307及内置非易失性存储器306,而不能直接对这些进行存取。对于安全区域307及内置非易失性存储器306,只有内置中央处理器303才可进行存取。
安全区域307与内置非易失性存储器306的差异在于,内置非易失性存储器306设在防篡改模块304中,而安全区域307设在防篡改模块304外部的大容量非易失性存储器305中。因此,与内置非易失性存储器306相比,安全区域307可具有更大的存储容量,不过,其安全程度低于设在防篡改模块304中的内置非易失性存储器306。如图3所示,在所述四个区域中,非认可区域309的安全程度最低,并按认可区域308、安全区域307、内置非易失性存储器306的顺序依次提高安全程度。
图1(A)所示的非易失性存储器组101与图3所示的结构的对比关系如下。图1(A)中的铁电存储器106对应于图3中的内置非易失性存储器306;图1(A)中的安全闪存108对应于图3中的安全区域307;图1(A)中的闪速存储器109对应于图3中的认可区域308及非认可区域309。
图4是一个方框图,表示第一实施例涉及的SD卡203的结构。SD卡203包括:根据SD规格的SD卡控制部206、防篡改模块204以及大容量非易失性存储器205。SD卡控制部206是一种接口部,其与主设备202间进行数据的收发;防篡改模块204是装载有防篡改功能的IC卡部。大容量非易失性存储器205例如是闪速存储器。
防篡改模块204包括:程序获得部400、程序管理部401、履历管理部402、存储控制部403、移动控制部404、IC卡操作系统405、随机存取存储器406、公钥存储部407、解密部408以及执行部409。此外,防篡改模块204还包括再读入部410和删除部411,不过,图4中未示出。关于再读入部410及删除部411,以后根据图5进行描述。
程序获得部400通过SD卡控制部206获得从服务提供商下载到的应用程序420。所要下载的应用程序420既确保服务提供商要求的安全程度又处于加密状态。
程序管理部401管理程序ID及应用程序的存储处;该程序ID用来识别存储在随机存取存储器406或大容量非易失性存储器205中的各个应用程序。应用程序的存储处是指随机存取存储器406或大容量非易失性存储器205。
履历管理部402管理对应用程序的存取履历。
存储控制部403将由程序获得部400获得的应用程序存储到设在随机存取存储器406内的程序存储区域406a中。
移动控制部404将所要移动的应用程序从设在随机存取存储器406的程序存储区域406a移动到大容量非易失性存储器205中。
随机存取存储器406具备程序存储区域406a,在该程序存储区域406a中能以下载时的加密状态来存储通过主设备202下载到的应用程序。随机存取存储器406还存储解密后的应用程序。即,随机存取存储器406除了程序存储区域406a之外,还具备另一区域(第二区域),该区域用来解密从程序存储区域406a中读出的应用程序421或从大容量非易失性存储器205读出的应用程序423。设在随机存取存储器406内的第二区域存储解密后的应用程序422。程序存储区域406a及第二区域均不是固定区域。
公钥存储部407中存储有用来解密处于加密状态的应用程序的公钥。
解密部408利用存储在公钥存储部407中的公钥来解密处于加密状态的应用程序。
执行部409执行解密后的应用程序422。
图5是一个方框图,其表示防篡改模块204中的用来移动应用程序的结构。如图5所示,防篡改模块204包括:程序管理部401、履历管理部402、存储控制部403、移动控制部404、执行部409、再读入部410以及删除部411。移动控制部404包括:时间信息获得部503、移动判断部505以及暂时存储部507。
时间信息获得部503通过SDI/F207获得来自主设备202的时间信息。每当由主设备202对应用程序进行存取时,时间信息获得部503都可以获得当前的时间信息。时间信息获得部503可以通过以下方法来获得在由主设备202对应用程序进行存取时的时间信息,即:在由主设备202下载到应用程序时获得当前的时间信息,并利用设在SD卡203内的中央处理器中的时钟来算出下载到应用程序后经过了多长时间,然后将下载到应用程序时的时间和下载到应用程序后经过的时间相加,从而获得对应用程序进行存取时的时间。不过,时间信息获得部503获得当前时间的方法不限于此。
暂时存储部507暂时存储所要下载的应用程序在加密后的数据大小及解密后的数据大小等信息,这些信息可在下载时获得。
图6表示由履历管理部402管理的履历管理信息509的例子。如图6所示,履历管理信息509包括以下四种信息:程序ID,其用来识别各个应用程序;最后存取日期,其表示主设备对应用程序进行存取的最后日期;上上次存取日期,其表示主设备对应用程序进行存取的最后日期的上一日期;以及存取时间间隔,其表示从上上次存取日期到最后存取日期经过的天数。
图7表示由程序管理部401管理的程序管理信息510的例子。如图7所示,程序管理信息510包括:程序ID,其用来识别各个应用程序;应用程序的存储处;应用程序在加密后的大小;应用程序在解密后的大小;移动标志,其表示要将该应用程序从程序存储区域406a移动到大容量非易失性存储器205中;以及解密完毕标志,其表示在要执行该应用程序时已完毕该应用程序的解密。应用程序的存储处是指防篡改模块204(随机存取存储器406)或大容量非易失性存储器205。要从程序存储区域406a移动到大容量非易失性存储器205中的应用程序具有的移动标志为“1”(ON)。完毕解密的应用程序具有的解密完毕标志为“1”。
移动判断部505利用从时间信息获得部503获得的当前时间、存储在暂时存储部507中的应用程序在加密后的数据大小及解密后的数据大小等信息、从履历管理部402获得的履历管理信息509、从程序管理部401获得的程序管理信息,从而选定要从防篡改模块204移动到大容量非易失性存储器205中的应用程序。
以下描述如何选定要从防篡改模块204移动到大容量非易失性存储器205中的应用程序。
首先,移动判断部505从程序管理部401获得程序管理信息510,并根据随机存取存储器406的总容量、位于随机存取存储器406中的应用程序在加密后的数据大小及解密后的数据大小来获得随机存取存储器406当前的可用空间。
在要下载应用程序的情况下,移动判断部505对存储在暂时存储部507中的所要下载的应用程序420在加密后的数据大小和所获得的随机存取存储器406的可用空间进行比较。所要下载的应用程序420在加密后的数据大小超过随机存取存储器406的可用空间的情况下,则启动将存储在程序存储区域406a中的任意应用程序421移动到大容量非易失性存储器205中的处理。
在要执行应用程序的情况下,移动判断部505对所要执行的应用程序在解密后的数据大小和随机存取存储器406的可用空间进行比较。在解密后的应用程序422的数据大小超过随机存取存储器406的可用空间的情况下,则启动将存储在程序存储区域406a中的任意应用程序421移动到大容量非易失性存储器205中的处理。
移动判断部505从时间信息获得部503获得当前时间。
移动判断部505与程序管理部401相通讯来从程序管理信息510中获得存储处为防篡改模块204的应用程序的ID。
然后,移动判断部505与履历管理部402相通讯来获得履历管理信息509。移动判断部505将最后存取日期最早的应用程序选定为所要移动的应用程序,并从与程序管理部401相通讯来获得的程序ID中挑选所要移动的应用程序的ID,同时获得该应用程序在加密后的数据大小。并且,移动判断部505向程序管理部401发出指示,以使之将要移动的应用程序所对应的程序管理信息510中的移动标志设为ON(1),且将所要移动的应用程序的存储处更新为大容量非易失性存储器205。
其次,移动判断部505将所要移动的应用程序在加密后的数据大小和随机存取存储器406的可用空间相加,并确认能否在随机存取存储器406中确保应用程序的下载或解密所需的可用空间。即使将一个应用程序移动到大容量非易失性存储器205中也不能在随机存取存储器406中确保足够的可用空间的情况下,移动判断部505再次分别与程序管理部401及履历管理部402相通讯来抽出要移动到大容量非易失性存储器205中的应用程序的ID。移动判断部505反复抽出要移动到大容量非易失性存储器205中的应用程序的ID,一直到在随机存取存储器406中确保应用程序的下载或所要执行的应用程序的解密所需的空间为止。
同样,在执行移动在大容量非易失性存储器205中的应用程序423的情况下,不能在随机存取存储器406中确保应用程序423的解密所需的空间时,移动判断部505还要进行上述处理。由此,可在随机存取存储器406中确保应用程序423的解密所需的空间。
最后,移动判断部505向移动控制部404通知在程序管理信息510中的移动标志为ON(1)的应用程序的ID。
移动控制部404将具有由移动判断部505通知的程序ID的应用程序复制到大容量非易失性存储器205中。移动控制部404在将应用程序复制到大容量非易失性存储器205中后,通过移动判断部505向程序管理部401发出指示,以使之将程序管理信息510中的所有移动标志都设为OFF(0)。移动控制部404删除已复制在大容量非易失性存储器205中的应用程序421。
删除部411删除解密后的、且已不用执行的应用程序422。
执行部409执行解密后的应用程序422。
在要由执行部409执行移动在大容量非易失性存储器205中的应用程序423时,再读入部410读入位于大容量非易失性存储器205中的应用程序423。
图8是一个流程图,其表示下载应用程序时对应用程序进行的移动处理的顺序。在开始应用程序的下载时(S800),防篡改模块204中的各构成部分进行以下工作。
首先,暂时存储部507存储所要下载的应用程序在加密后的数据大小及解密后的数据大小等,这些信息可在下载前获得。
其次,移动判断部505从程序管理部401中获得程序管理信息510,并根据随机存取存储器406的总容量、位于随机存取存储器406中的应用程序在加密后的数据大小及解密后的数据大小来获得随机存取存储器406当前的可用空间(S801)。
并且,移动判断部505对所得的随机存取存储器406的可用空间和暂时存储在存储部507中的所要下载的应用程序在加密后的数据大小进行比较(S802)。在这里,假设随机存取存储器406的可用空间等于程序存储区域406a。
所要下载的应用程序的大小等于或小于随机存取存储器406的可用空间的情况下(S802中“是”),程序获得部400获得所要下载的应用程序,并且,存储控制部403将获得的应用程序存储到设在随机存取存储器406内的程序存储区域406a中(S803)。然后,移动判断部505向程序管理部401发出指示,以使之更新程序管理信息510;程序管理部401更新程序管理信息510(S812),从而结束下载处理(S813)。
而在所要下载的应用程序的大小超过随机存取存储器406的可用空间的情况下(S802中“否”),移动判断部505开始确保随机存取存储器406的可用空间的处理。
首先,移动判断部505从时间信息获得部503中获得时间信息(S804)。
其次,移动判断部505与程序管理部401相通讯来获得程序管理信息510,并获得存储处为防篡改模块204的应用程序的ID(S805)。
接着,移动判断部505与履历管理部402相通讯来获得履历管理信息509(S806)。
移动判断部505根据通过S806获得的履历管理信息509来选定要移动到大容量非易失性存储器205中的应用程序,并根据程序管理信息510获得所要移动的应用程序在加密后的数据大小(S807),该要移动的应用程序要具有通过S805获得的程序ID、且其最后存取日期最早。
并且,移动判断部505向程序管理部401发出指示,以使之将要移动的应用程序所对应的程序管理信息510中的移动标志设为ON(1),且将所要移动的应用程序的存储处更新为大容量非易失性存储器205;程序管理部401按照该指示更新程序管理信息510(S808)。
存储控制部403将通过S807选定的所要移动的应用程序移动到大容量非易失性存储器205中(S810)。其次,移动判断部505获得完毕移动处理后的随机存取存储器的可用空间,并再回到S802,接着反复进行从S802至S810的处理,一直到能将所要下载的应用程序存储到存储区域406a中为止。
最后,程序管理部401将程序管理信息510中的移动标志都设为OFF(0),结束下载应用程序的处理(S813)。
再者,如上所述,移动判断部505通过S807将最后存取日期最早的应用程序选定为所要移动的应用程序。然而,移动判断部505也可以将存取时间间隔最长的应用程序选定为所要移动的应用程序,或者,也可以将只有在特定星期才进行存取的应用程序选定为所要移动的应用程序。即,移动判断部505可以按照应用程序的执行履历来选定要移动到大容量非易失性存储器205中的应用程序。然而,选定所要移动的应用程序的方法不限于此,而只要能在随机存取存储器406中确保等于或大于所要下载的应用程序等大小的可用空间即可,也就是,能确保等于或大于所要存储到随机存取存储器406中的应用程序大小的可用空间即可。
图9是一个流程图,其表示在随机存取存储器406中有解密后的应用程序422的情况下下载应用程序时对应用程序进行的移动处理的顺序。本图与图8所示的处理顺序大体相同,不过,S904这一步骤不同。按照图8所示的顺序进行处理的情况下,从存储在程序存储区域406a的应用程序421中选定要移动到大容量非易失性存储器205中的应用程序,从而确保随机存取存储器406的可用空间。然而,通过S904,在选定要移动到大容量非易失性存储器205中的应用程序之前,删除部411删除位于随机存取存储器406中的解密后的应用程序422。图9中的这一步骤就与图8所示的处理顺序不同。
图10是一个流程图,其表示在执行存储在程序存储区域406a中的应用程序时的处理顺序。
在开始执行应用程序后(S1000),移动判断部505从程序管理部401获得程序管理信息510,并通过与S801相同的顺序获得随机存取存储器406的可用空间(S1001)。
并且,移动判断部505从通过S1001获得的程序管理信息510中获得所要执行的应用程序在解密后的大小(S1002)。
其次,移动判断部505对所得的随机存取存储器406的可用空间和通过S1002获得的解密后的数据大小进行比较(S1003)。在这里,假设随机存取存储器406的可用空间等于程序存储区域406a。解密后的数据大小等于或小于随机存取存储器406的可用空间的情况下(S1003中“是”),解密部408对处于加密状态的所要执行的应用程序进行解密(S1004);程序管理部401更新程序管理信息510(S1012);执行部409执行应用程序(S1013)。而在解密后的数据大小超过随机存取存储器406的可用空间的情况下(S1003中“否”),移动判断部505开始确保随机存取存储器406的可用空间的处理。
首先,移动判断部505从时间信息获得部503中获得时间信息(S1005)。
接着,移动判断部505与履历管理部402相通讯来获得履历管理信息509(S1006)。移动判断部505根据通过S1006获得的履历管理信息509和通过S1002获得的程序管理信息510来选定要移动到大容量非易失性存储器205中的应用程序,并获得该应用程序在加密后的数据大小(S1007),该要移动的应用程序的存储处为防篡改模块204、且其最后存取日期为最早。再者,与图8相同,选定要从履历管理信息509中移动出来的应用程序的方法不限于此,而可以采用考虑到实用频度等的方法。
其次,移动判断部505向程序管理部401发出指示,以使之将要移动的应用程序所对应的程序管理信息510中的移动标志设为ON(1),且将所要移动的应用程序的存储处更新为大容量非易失性存储器205;程序管理部401更新程序管理信息510(S1008)。
移动控制部404将通过S1007选定的所要移动的应用程序移动到大容量非易失性存储器205中(S1010)。其次,移动判断部505获得完毕移动处理后的随机存取存储器的可用空间,并再回到S1003,接着反复进行从S1003到S1010的处理,一直到在随机存取存储器406中确保解密所要执行的应用程序所需的可用空间为止。
并且,解密部408对所要执行的应用程序进行解密处理(S1004)。
程序管理部401将程序管理信息510中的移动标志都设为OFF(0),从而更新程序管理信息510(S1012)。
然后,执行部409执行应用程序(S1013)。
图11是一个流程图,其表示在执行移动在大容量非易失性存储器205中的应用程序423时的处理顺序。在开始执行应用程序时(S1100),防篡改模块204中的各构成部分进行以下工作。
首先,移动判断部505从程序管理部401中获得程序管理信息510,并确认所要执行的应用程序的存储处为大容量非易失性存储器205,同时获得所要执行的应用程序在加密后的数据大小及解密后的数据大小(S1101)。
其次,移动判断部505根据通过S1101获得的程序管理信息510中的存储处信息、加密后的数据大小以及解密后的数据大小来获得随机存取存储器406的可用空间(S1102)。
然后,移动判断部505对通过S1101获得的所要执行的应用程序在加密后的数据大小和解密后的数据大小的总和与通过S1102获得的随机存取存储器406的可用空间进行比较(S1103)。在这里,假设随机存取存储器406的可用空间等于程序存储区域406a。
在所述总和等于或小于随机存取存储器406的可用空间的情况下(S1103中“是”),再读入部410从大容量非易失性存储器205中读入所要执行的应用程序423;存储控制部403将读入的所要执行的应用程序423存储到随机存取存储器406中(S1104)。解密部408进行解密处理(S1105);程序管理部401更新程序管理信息510(S1113);执行部409执行所要执行的应用程序(S1114)。
而在所述总和超过随机存取存储器406的可用空间的情况下(S1103中“否”),移动判断部505开始确保随机存取存储器406的可用空间的处理。
首先,移动判断部505从时间信息获得部503获得时间信息(S1106)。
接着,移动判断部505与履历管理部402相通讯来获得履历管理信息509(S1107)。
其次,移动判断部505抽出程序ID,而具有该程序ID的应用程序要满足以下条件:通过S1101获得的程序管理信息510中的存储处为防篡改模块204、且通过S1107获得的履历管理信息509中的最后存取日期最早。移动判断部505决定要将抽出的程序ID所对应的应用程序移动到大容量非易失性存储器205中(S1108),并从程序管理信息510中获得所要移动的应用程序在加密后的数据大小。
其次,程序管理部401将要移动的应用程序所对应的程序管理信息510中的移动标志设为ON(1),且将所要移动的应用程序的存储处更新为大容量非易失性存储器205(S1109)。
移动控制部404将通过S1108选定的所要移动的应用程序从程序存储区域406a移动到大容量非易失性存储器205中(S1111)。其次,移动判断部505获得完毕移动处理后的随机存取存储器的可用空间,并再回到S1103,接着反复进行从S1103到S1111的处理,一直到可对所要执行的应用程序进行解密为止。
最后,程序管理部401将程序管理信息510中的移动标志都设为OFF(0),从而结束应用程序的移动处理。
在结束应用程序的移动处理后,移动控制部404从大容量非易失性存储器205中读入所要执行的应用程序423,并将读入的所要执行的应用程序423复制到随机存取存储器406中(S1104)。
最后,解密部404进行解密处理(S1105);程序管理部401更新程序管理信息510(S1113);执行部409执行通过S1105来解密的应用程序422(S1114)。
再者,移动判断部505通过S1108来将最后存取日期最早的应用程序选定为所要移动的应用程序。然而,移动判断部505也可以将存取时间间隔最长的应用程序选定为所要移动的应用程序,或者,也可以将只有在特定星期才进行存取的应用程序选定为所要移动的应用程序。即,移动判断部505可以按照应用程序的执行履历来选定要移动到大容量非易失性存储器205中的应用程序。选定所要移动的应用程序的方法不限于此,而只要能在随机存取存储器406中确保比所要下载的应用程序等大小更大的可用空间即可,也就是,能确保比要存储到随机存取存储器406中的应用程序大小更大的可用空间即可。
并且,在采用图11所示的处理顺序的情况下,为确保随机存取存储器406的可用空间而进行从S1106至S1110所示的处理,即进行移动存储在程序存储区域406a中的应用程序421的处理。然而,在随机存取存储器406中有已解密的应用程序422的情况下,可以在此之前通过删除部411进行删除位于随机存取存储器406中的已解密的应用程序422的处理。
并且,在采用图11所示的处理顺序的情况下,移动判断部505通过S1103来对所要执行的应用程序在加密后的数据大小和解密后的数据大小的总和与随机存取存储器406的可用空间进行比较。然而,移动判断部505也可以通过S1103对所要执行的应用程序在解密后的数据大小与随机存取存储器406的可用空间进行比较。
在此情况下,所要执行的应用程序在解密后的数据大小等于或小于随机存取存储器406的可用空间时(S1103中“是”),解密部408可以读入所要执行的应用程序423并对此进行解密处理,然后将该应用程序423存储到随机存取存储器406中。另一方面,所要执行的应用程序在解密后的数据大小超过随机存取存储器406的可用空间时(S1103中“否”),移动判断部505开始确保随机存取存储器406的可用空间的处理,以在随机存取存储器406中确保等于或小于应用程序在解密后的数据大小的可用空间。
采用所述结构及工作,则能在确保下载应用程序时的加密程度的状态下简单地将从服务提供商下载到的应用程序移动到大容量非易失性存储器205中。因此,能在确保服务提供商要求的安全程度的状态下将尽可能多的应用程序存储到SD卡203等装载有IC卡功能的安全存储卡中。
图12表示由服务提供商提供的应用程序的信息的一个例子。
以下,具体描述下载图12所示的应用程序时的处理及执行该应用程序时的处理。在以下描述中,将随机存取存储器406的总容量假设为120KB。
首先,详细描述步骤1的处理顺序,即描述在随机存取存储器406处于未使用的状态下将应用程序A下载到SD卡203中时的处理顺序。
主设备202发出指示,以开始下载应用程序A的处理。
在开始下载处理后,服务提供商将应用程序A在加密后的数据大小及解密后的数据大小等信息发送到SD卡203中。存储部507暂时存储这些发送来的信息。在此情况下,暂时存储部507分别存储应用程序A在加密后的数据大小10KB和应用程序A在解密后的数据大小30KB。
其次,移动判断部505从程序管理部401获得程序管理信息510,并获得随机存取存储器406的可用空间。在此情况下,由于未下载任何应用程序,因此随机存取存储器406的已用空间的大小为0KB,而随机存取存储器406的可用空间为120KB。
其次,移动判断部505对存储在暂时存储部507中的应用程序A在加密后的数据大小与随机存取存储器406的可用空间进行比较。在此情况下,由于应用程序A在加密后的数据大小为10KB、随机存取存储器406的可用空间为120KB,因此移动判断部505判断为可以在程序存储区域406a中存储应用程序A,则由存储控制部403将应用程序A存储到程序存储区域406a中。
通过以上处理,可完成下载应用程序A的处理。
在结束下载应用程序A的处理后,程序管理部401将程序管理信息510更新为如图13(A)所示那样。另外,随机存取存储器406的状态变为如图13(B)所示那样。
下面,描述步骤2的处理顺序,即描述将应用程序B下载到SD卡203中时的处理顺序。
主设备202发出指示,以开始下载应用程序B的处理。
在开始下载处理时,与通过步骤1下载应用程序A时相同,暂时存储部507存储关于应用程序B的信息(加密后的数据大小及解密后的数据大小)。在此情况下,暂时存储部507分别存储应用程序B在加密后的数据大小30KB和应用程序B在解密后的数据大小50KB。
其次,移动判断部505从程序管理部401中获得通过步骤1更新的程序管理信息1300,并获得随机存取存储器406的可用空间。在此情况下,在随机存取存储器406中只存储有应用程序A,而且随机存取存储器406的已用空间的大小为10KB,因此,随机存取存储器406的可用空间为110KB。
接着,移动判断部505对存储在暂时存储部507中的应用程序B在加密后的数据大小与随机存取存储器406的可用空间进行比较。在此情况下,由于应用程序B在加密后的数据大小为30KB、随机存取存储器406的可用空间为110KB,因此移动判断部505判断为可以在程序存储区域406a中存储应用程序B,则由存储控制部403将应用程序B存储到程序存储区域406a中。
通过以上处理,可完成下载应用程序B的处理。
在结束下载应用程序B的处理后,程序管理部401将程序管理信息1300更新为如图14(A)所示那样。另外,随机存取存储器406的状态变为如图14(B)所示那样。
下面,详细描述步骤3的处理顺序,即描述执行应用程序B时的处理顺序。
主设备202发出指示,以开始执行应用程序B的处理。
首先,移动判断部505从程序管理部401获得通过步骤2更新的程序管理信息1400,并获得所要执行的应用程序B在解密后的数据大小,将该数据大小存储到暂时存储部507中。此时,在暂时存储部507中存储的值是50KB。
其次,移动判断部505根据程序管理信息1400获得随机存取存储器406的可用空间。在此情况下,由于在随机存取存储器406中有加密后的应用程序A(10KB)和加密后的应用程序B(30KB),因此随机存取存储器406的可用空间为80KB。
接着,移动判断部505对存储在暂时存储部507中的应用程序B在解密后的数据大小50KB与随机存取存储器406的可用空间80KB进行比较,从而判断为可在随机存取存储器406中解密应用程序B。
然后,如S1004所示,解密部408对应用程序B进行解密处理,并且,程序管理部401将程序管理信息1400更新为如图15(A)所示那样。随机存取存储器406的状态变为如图15(B)所示那样。
通过以上处理,创造能执行应用程序B的状态,则执行部409执行应用程序B。
下面,描述步骤4的处理顺序,即描述将应用程序C下载到SD卡203中时的处理顺序。
主设备202发出指示,以开始下载应用程序C的处理。
在开始下载处理时,与通过步骤1下载应用程序A时相同,暂时存储部507存储关于应用程序C的信息(加密后的数据大小及解密后的数据大小)。在此情况下,暂时存储部507分别存储应用程序C在加密后的数据大小40KB和应用程序C在解密后的数据大小70KB。
其次,移动判断部505从程序管理部401获得通过步骤3更新的程序管理信息1500,并获得随机存取存储器406的可用空间。在此情况下,由于在随机存取存储器406中有加密后的应用程序A(10KB)、加密后的应用程序B(30KB)、解密后的应用程序B(50KB),因此随机存取存储器406的可用空间为30KB。
其次,移动判断部505对存储在暂时存储部507中的应用程序C在加密后的数据大小(40KB)与随机存取存储器406的可用空间(30KB)进行比较。在此情况下,由于随机存取存储器406的可用空间不足,因此移动判断部505进行为确保随机存取存储器406的可用空间的处理。
在这里,通过S904来确保随机存取存储器406的可用空间。
即,移动判断部505通过S904来进行从随机存取存储器406内的三个应用程序中删除解密后的应用程序B的处理。
其次,移动判断部505再次获得随机存取存储器406的可用空间。
在删除解密后的应用程序B之后的随机存取存储器406的可用空间变为80KB。移动判断部505对存储在暂时存储部507中的应用程序C在加密后的数据大小(40KB)与随机存取存储器406的可用空间(80KB)进行比较,从而判断为可下载应用程序C。
其次,存储控制部403将下载到的应用程序C存储到程序存储区域406a中。
然后,程序管理部401将程序管理信息1500更新为如图16(A)那样。另外,随机存取存储器406的状态变为如图16(B)所示那样。
通过以上处理,可完成下载应用程序C的处理。
下面,详细描述步骤5的处理顺序,即描述执行应用程序C时的处理顺序。
主设备202发出指示,以开始执行应用程序C的处理。
如在步骤3中描述,首先,移动判断部505根据更新后的程序管理信息1600获得应用程序C在解密后的数据大小(70KB),并将该数据大小存储到暂时存储部507中。
其次,如在步骤3中描述,移动判断部505根据程序管理信息1600获得随机存取存储器406的可用空间。在此情况下,随机存取存储器406的可用空间为40KB。
接着,移动判断部505对存储在暂时存储部507中的应用程序C在解密后的数据大小(70KB)与随机存取存储器406的可用空间(40KB)进行比较,从而判断为不能在随机存取存储器406中确保执行应用程序C所需的空间。
然后,移动判断部505按照从S1005至S1008所示的处理顺序,进行为选定要移动到大容量非易失性存储器205中的应用程序的处理。在这里,设想从下载到的第一个应用程序开始,按下载顺序依次将应用程序移动到大容量非易失性存储器205中的情况。移动判断部505将通过步骤1下载到的应用程序A选定为要移动到大容量非易失性存储器205中的应用程序。
然后,程序管理部401将程序管理信息1600更新为如图17(A)那样。另外,随机存取存储器406的状态变为如图17(B)所示那样。
接着,移动判断部505对存储在暂时存储部507中的应用程序C在解密后的数据大小(70KB)与随机存取存储器406的可用空间(50KB)进行比较,从而判断为还不能在随机存取存储器406中确保执行应用程序C所需的空间。
移动判断部505将通过步骤2下载到的应用程序B选定为所要移动的应用程序。
然后,程序管理部401将程序管理信息1700更新为如图18(A)那样。另外,随机存取存储器406的状态变为如图18(B)所示那样。
接着,移动判断部505对存储在暂时存储部507中的应用程序C在解密后的数据大小(70KB)与随机存取存储器406的可用空间(80KB)进行比较,从而判断为在随机存取存储器406中确保了执行应用程序C所需的空间。
移动控制部404从位于随机存取存储器406内的应用程序中将管理信息1800中的移动标志为ON(1)的应用程序A(ID:0x0001)和应用程序B(ID:0x0002)复制到大容量非易失性存储器205中。
并且,移动控制部404在完成复制后删除位于程序存储区域406a中的应用程序A和应用程序B。
最后,程序管理部401将程序管理信息1800更新为如图19(A)那样。另外,随机存取存储器406的状态变为如图19(B)所示那样。
通过以上处理,创造能执行应用程序C的状态,则执行部409执行应用程序C。
接着,详细描述步骤6的处理顺序,即描述执行移动在大容量非易失性存储器205中的应用程序B时的处理顺序。
主设备202发出指示,以开始执行应用程序B的处理。
如在步骤3中描述,首先移动判断部505从更新后的程序管理信息1900中获得应用程序B在解密后的数据大小(50KB),并将该数据大小存储到暂时存储部507中。
其次,如在步骤3中描述,移动判断部505根据程序管理信息1900获得随机存取存储器406的可用空间。在此情况下,随机存取存储器406的可用空间为10KB。
接着,移动判断部505对存储在暂时存储部507中的应用程序B在解密后的数据大小(50KB)与随机存取存储器406的可用空间(10KB)进行比较,从而判断为不能在随机存取存储器406中确保执行应用程序B所需的空间。
于是,移动判断部505在处理步骤中首先进行删除位于随机存取存储器406中的解密后的应用程序的处理,并根据程序管理信息1900决定要删除解密后的应用程序C。
而,删除部411删除位于随机存取存储器406中的解密后的应用程序C(70KB)。
在应用程序C被删除后,程序管理部401将程序管理信息1900更新为如图20(A)所示那样。另外,随机存取存储器406状态变为如图20(B)所示那样。
接着,移动判断部505对存储在暂时存储部507中的应用程序B在解密后的数据大小(50KB)与随机存取存储器406的可用空间(80KB)进行比较,从而判断为在随机存取存储器406中确保了解密应用程序B所需的空间。
移动控制部404从大容量非易失性存储器205中读出应用程序B并将其复制到随机存取存储器406中,然后进行解密应用程序B的处理。
接着,程序管理部401将程序管理信息2000更新为如图21(A)那样。另外,随机存取存储器406的状态变为如图21(B)所示那样。
最后,执行部409执行解密后的应用程序B。
通过以上处理,可以执行移动在大容量非易失性存储器205中的应用程序B。
再者,在第一实施例中,防篡改模块204不过是设在本发明涉及的存储卡中的IC卡部的一个例子而已。大容量非易失性存储器205是设在本发明涉及的存储卡中的闪速存储器部的一个例子。随机存取存储器406是设在本发明涉及的存储卡中的防篡改存储部的一个例子。
由于可下载应用程序在解密后的数据大小,因此执行部409也可以在执行该应用程序时通过执行来获得该应用程序在解密后的数据大小,从而判断该获得的数据大小是否与预先下载到的数据大小相一致。若两者没有相一致,则表示该所要执行的应用程序是不正当的程序,因此执行部409要停止该应用程序的执行。由此,其贡献在于可以只继续执行正当的应用程序。
另外,存储控制部403在将从服务提供商下载到的应用程序420存储到程序存储区域406a中的同时,也可以将其存储到大容量非易失性存储器205中。在此情况下,如果所要下载的应用程序或所要执行的应用程序的数据大小超过随机存取存储器406的可用空间,只要由存储控制部403删除位于随机存取存储器406中的任意应用程序,就能在随机存取存储器406中确保比所要下载的应用程序或所要执行的应用程序的数据大小更大的可用空间,从而可以在随机存取存储器406中配置该应用程序。
另外,在所要下载的应用程序在加密后的数据大小超过随机存取存储器406的可用空间的情况下,存储控制部403也可以将由程序获得部400获得的所要下载的应用程序存储到大容量非易失性存储器205中。
并且,执行部409在执行应用程序后,可以将处于加密状态的该应用程序移动到大容量非易失性存储器205中。
(第二实施例)
图22是一个方框图,表示第二实施例涉及的SD卡2200的结构。SD卡2200除了第一实施例涉及的SD卡203包括的构成部分之外还包括:密钥产生部2217、再加密部2218以及再解密部2219。在这里,为了说明方便,图22中不显示图4所示的程序管理部401、履历管理部402、存储控制部403、公钥存储部407、解密部408以及执行部409。
程序获得部400从主设备202获得SIM ID(Subscriber IdentityModule Identifier)、终端装置ID等主设备的固有信息;密钥产生部2217利用该主设备的固有信息来产生加密密钥。再加密部2218利用由密钥产生部2217产生的加密密钥来对由移动控制部404选定的要从防篡改模块204向大容量非易失性存储器205中移动的应用程序进行加密。移动控制部404将由再加密部2218加密的应用程序从随机存取存储器406中复制到大容量非易失性存储器205中。
移动控制部404在将由再加密部2218加密的应用程序复制到大容量非易失性存储器205中后,删除位于程序存储区域406a中的所要移动的应用程序。并且,密钥产生部2217删除加密密钥。
如此,在第二实施例中,利用由密钥产生部2217产生的加密密钥来加密所要移动的应用程序,并将其移动到大容量非易失性存储器205中,之后删除加密密钥。由此,若采用第二实施例,所要移动的应用程序的安全程度便能提高到比第一实施例所示的移动方法实现的安全程度更高的水平,并能在确保该高安全程度的状态下其被存储到大容量非易失性存储器205中。
在要将存储在大容量非易失性存储器205中的应用程序复制到随机存取存储器406中并执行该应用程序的情况下,与上述同样,程序获得部400获得主设备的固有信息,并且,密钥产生部2217利用主设备的固有信息来产生加密密钥。再解密部2219利用由密钥产生部2217产生的加密密钥来解密由再加密部2218加密的应用程序。在完成解密处理后,移动控制部404删除加密密钥,并将解密后的应用程序复制到随机存取存储器406中。执行部409执行被复制到随机存取存储器406中的应用程序。
并且,程序获得部400也可以从主设备202获得用户给主设备202提供的指纹或用户指定的号码等固有信息。在此情况下,密钥产生部2217从主设备202获得用户的固有信息,并利用该信息来产生加密密钥。在此情况下,由于密钥产生部2217可随时产生相同的加密密钥,因此在完成加密处理而不需要该加密密钥时,便可删除该加密密钥。由此,所要移动的应用程序的安全程度提高到比第一实施例所示的移动方法实现的安全程度更高的水平,并能在确保该高安全程度的状态下,其被存储到大容量非易失性存储器205中。
(第三实施例)
在第一实施例中,从服务提供商下载到的应用程序被存储到设在随机存取存储器406内的程序存储区域406a中。然而,在下载应用程序时,也可以在大容量非易失性存储器205中存储下载到的所有应用程序。由此,能够缩减随机存取存储器406的容量。
再者,对于所述各实施方式涉及的程序获得部400、程序管理部401、履历管理部402、存储控制部403、移动控制部404、解密部408、执行部409、再读入部410、删除部411、密钥产生部2217、再加密部2218以及再解密部2219中的所有功能或一部分功能,都可以通过中央处理器执行计算机程序来实现。
并且,对于大容量非易失性存储器205、程序获得部400、程序管理部401、履历管理部402、存储控制部403、移动控制部404、IC卡操作系统405、随机存取存储器406、公钥存储部407、解密部408、执行部409、再读入部410、删除部411、密钥产生部2217、再加密部2218以及再解密部2219中的所有功能或一部分功能,都可以利用集成电路来实现。总之,在所述构成部分中,可以将所有部分构成为单片结构,也可以只将一部分构成为单片结构。关于集成电路,可以采用现场可编程门阵列(FPGA:Field Programmable Gate Array)、可重构处理器(reconfigurable processor)。
本发明涉及的存储卡能在确保下载时的应用程序的安全程度的状态下将无法存储在防篡改模块区域中的应用程序移动到大容量非易失性存储器中,从而在一张存储卡中能存储尽可能多的应用程序。因此,本发明涉及的存储卡可作为具有针对应用程序的坚固保护功能的SD卡、IC卡等作出贡献。
Claims (11)
1.一种存储卡,其从主设备接收下载到该主设备的处于加密状态的应用程序,
该存储卡包括具有防篡改功能的集成电路卡部以及闪速存储器部,
所述集成电路卡部具备:
防篡改存储部;
程序获得部,其从所述主设备获得处于加密状态的应用程序、所述应用程序在加密后的大小以及所述应用程序在解密后的大小;
存储控制部,其根据所述得到的应用程序在加密后的大小及所述防篡改存储部的可用空间来将所述防篡改存储部或所述闪速存储器部选定为存储区域,并将所述得到的处于加密状态的应用程序存储到该选定的区域中;
移动控制部,所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间的情况下要执行存储在所述防篡改存储部中的应用程序时,该移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到闪速存储器部中;以及
执行部,其解密所述要执行的应用程序并执行该应用程序。
2.如权利要求1所述的存储卡,在所述得到的应用程序在加密后的大小等于或小于所述防篡改存储部的可用空间的情况下,所述存储控制部将所述应用程序存储到所述防篡改存储部中;而在所述得到的应用程序在加密后的大小超过所述可用空间的情况下,所述存储控制部将所述应用程序存储到所述闪速存储器部中。
3.如权利要求2所述的存储卡,在所述得到的应用程序在加密后的大小超过所述防篡改存储部的可用空间的情况下,所述存储控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到所述闪速存储器部中。
4.如权利要求1所述的存储卡,所述执行部在执行应用程序后,将处于加密状态的该执行后的应用程序移动到所述闪速存储器部中。
5.如权利要求1所述的存储卡,在所述闪速存储器部中存储有所要执行的应用程序的情况下,该所要执行的应用程序在解密后的大小和加密后的大小的总和超过所述防篡改存储部的可用空间时,所述移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到所述闪速存储器部中,并将所述要执行的应用程序复制到所述防篡改存储部中。
6.如权利要求1所述的存储卡,在所述闪速存储器部中存储有所要执行的应用程序的情况下,该所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间时,所述移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到所述闪速存储器部中,并解密所述要执行的应用程序,将该解密后的应用程序存储到所述防篡改存储部中。
7.如权利要求1所述的存储卡,所述移动控制部根据应用程序的执行履历来产生各个应用程序的存取履历管理信息;所述集成电路卡部还具备移动判断部,该移动判断部按照所述存取履历管理信息来选定要移动到所述闪速存储器部中的应用程序。
8.如权利要求1所述的存储卡,
所述程序获得部获得所述主设备的固有信息,
所述集成电路卡部还具备:密钥产生部,其利用所述得到的主设备的固有信息来产生加密密钥;以及再加密部,其利用所述加密密钥来加密要从所述防篡改存储部移动到所述闪速存储器部中的应用程序,
所述移动控制部在完毕加密后删除所述加密密钥,并将通过所述加密密钥而处于重复加密状态的所述要移动的应用程序移动到所述闪速存储器部中。
9.如权利要求8所述的存储卡,所述集成电路卡部还具备再解密部,在存储在所述闪速存储器部中且通过所述加密密钥而处于重复加密状态的应用程序被复制到所述防篡改存储部中的情况下,该再解密部利用由所述密钥产生部产生的加密密钥来解密所要复制的所述应用程序;所述移动控制部在完毕解密后删除所述加密密钥,并将所要复制的所述应用程序存储到所述防篡改存储部中。
10.一种在存储卡中存储应用程序的方法,该存储卡从主设备接收下载到该主设备的处于加密状态的应用程序;该存储卡包括具有防篡改功能的集成电路卡部以及闪速存储器部;所述集成电路卡部具备防篡改存储部,
所述存储应用程序的方法包括:
程序获得步骤,其从所述主设备获得处于加密状态的应用程序、所述应用程序在加密后的大小以及所述应用程序在解密后的大小;
存储控制步骤,其根据所述得到的应用程序在加密后的大小及所述防篡改存储部的可用空间来将所述防篡改存储部或所述闪速存储器部选定为存储区域,并将所述得到的处于加密状态的应用程序存储到该选定的区域中;
移动控制步骤,所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间的情况下要执行存储在所述防篡改存储部中的应用程序时,该移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到闪速存储器部中;以及
执行步骤,其解密所述要执行的应用程序并执行该应用程序。
11.一种用于在存储卡中存储应用程序的存储程序,该存储卡从主设备接收下载到该主设备的处于加密状态的应用程序;该存储卡包括具有防篡改功能的集成电路卡部以及闪速存储器部;所述集成电路卡部具备防篡改存储部,
所述存储程序使计算机执行以下步骤:
程序获得步骤,其从所述主设备获得处于加密状态的应用程序、所述应用程序在加密后的大小以及所述应用程序在解密后的大小;
存储控制步骤,其根据所述得到的应用程序在加密后的大小及所述防篡改存储部的可用空间来将所述防篡改存储部或所述闪速存储器部选定为存储区域,并将所述得到的处于加密状态的应用程序存储到该选定的区域中;
移动控制步骤,所要执行的应用程序在解密后的大小超过所述防篡改存储部的可用空间的情况下要执行存储在所述防篡改存储部中的应用程序时,该移动控制部将存储在所述防篡改存储部中的处于加密状态的任意应用程序移动到闪速存储器部中;以及
执行步骤,其解密所述要执行的应用程序并执行该应用程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP136101/2005 | 2005-05-09 | ||
JP2005136101 | 2005-05-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101171591A true CN101171591A (zh) | 2008-04-30 |
Family
ID=37396447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800157853A Pending CN101171591A (zh) | 2005-05-09 | 2006-04-28 | 存储卡、应用程序存储方法以及存储程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7953985B2 (zh) |
EP (1) | EP1881437A1 (zh) |
JP (1) | JP4860619B2 (zh) |
KR (1) | KR20080007446A (zh) |
CN (1) | CN101171591A (zh) |
WO (1) | WO2006120938A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855853A (zh) * | 2007-11-12 | 2010-10-06 | 巴特尔能源联合有限责任公司 | 处理模块操作方法、处理模块和通信系统 |
CN101853343A (zh) * | 2009-03-31 | 2010-10-06 | 巴比禄股份有限公司 | 存储装置 |
WO2013182157A1 (zh) * | 2012-11-20 | 2013-12-12 | 中兴通讯股份有限公司 | 处理应用程序的方法和装置 |
CN101751279B (zh) * | 2009-12-29 | 2014-01-22 | 北京握奇数据系统有限公司 | 一种芯片及片上操作系统下载的方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100849212B1 (ko) * | 2006-10-12 | 2008-07-31 | 삼성전자주식회사 | 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법 |
US8887270B2 (en) * | 2007-11-12 | 2014-11-11 | Micron Technology, Inc. | Smart storage device |
US8286883B2 (en) | 2007-11-12 | 2012-10-16 | Micron Technology, Inc. | System and method for updating read-only memory in smart card memory modules |
US8162227B2 (en) * | 2007-11-12 | 2012-04-24 | Micron Technology, Inc. | Intelligent controller system and method for smart card memory modules |
US8156322B2 (en) * | 2007-11-12 | 2012-04-10 | Micron Technology, Inc. | Critical security parameter generation and exchange system and method for smart-card memory modules |
US8831220B2 (en) * | 2007-11-30 | 2014-09-09 | Battelle Energy Alliance, Llc | Processing module operating methods, processing modules, and communications systems |
KR101297168B1 (ko) * | 2008-03-10 | 2013-08-21 | 에스케이플래닛 주식회사 | 저장 용량에 따른 디코딩 계층화 방법 및 장치 |
US8370645B2 (en) | 2009-03-03 | 2013-02-05 | Micron Technology, Inc. | Protection of security parameters in storage devices |
JP5707760B2 (ja) | 2010-07-20 | 2015-04-30 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法、情報処理プログラム、及びそのプログラムを記録した記録媒体 |
US9183045B2 (en) * | 2010-12-21 | 2015-11-10 | Mo-Dv, Inc. | System and method for data collection and exchange with protected memory devices |
JP2012138729A (ja) * | 2010-12-27 | 2012-07-19 | Kddi Corp | データ処理装置、プログラム、およびデータ処理システム |
JP2012169983A (ja) * | 2011-02-16 | 2012-09-06 | Kddi Corp | データ処理装置およびプログラム |
JP5646382B2 (ja) * | 2011-03-28 | 2014-12-24 | Kddi株式会社 | コンテンツ編集装置、コンテンツ編集方法及びコンテンツ編集プログラム |
JP5775738B2 (ja) * | 2011-04-28 | 2015-09-09 | 富士通株式会社 | 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム |
WO2015173912A1 (ja) * | 2014-05-14 | 2015-11-19 | 三菱電機株式会社 | 制御装置 |
KR102336033B1 (ko) | 2015-04-22 | 2021-12-08 | 에스케이하이닉스 주식회사 | 매립금속게이트구조를 구비한 반도체장치 및 그 제조 방법, 그를 구비한 메모리셀, 그를 구비한 전자장치 |
JP6647524B2 (ja) * | 2015-10-27 | 2020-02-14 | 北陽電機株式会社 | エリアセンサ及び外部記憶装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002229861A (ja) | 2001-02-07 | 2002-08-16 | Hitachi Ltd | 著作権保護機能つき記録装置 |
JP4350962B2 (ja) * | 2002-03-13 | 2009-10-28 | パナソニック株式会社 | セキュアデバイス |
WO2003077083A2 (en) | 2002-03-13 | 2003-09-18 | Matsushita Electric Industrial Co., Ltd. | Secure device for preventing unauthorised use of distributed content |
JP4475894B2 (ja) | 2002-08-01 | 2010-06-09 | パナソニック株式会社 | 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法 |
DE60314782T2 (de) | 2002-08-01 | 2007-10-31 | Matsushita Electric Industrial Co., Ltd., Kadoma | Vorrichtung zum Generieren eines verschlüsselten Programms |
JP4338989B2 (ja) * | 2003-02-20 | 2009-10-07 | パナソニック株式会社 | メモリデバイス |
JP4165747B2 (ja) * | 2003-03-20 | 2008-10-15 | 株式会社日立製作所 | 記憶システム、制御装置及び制御装置のプログラム |
-
2006
- 2006-04-28 WO PCT/JP2006/308976 patent/WO2006120938A1/ja active Application Filing
- 2006-04-28 KR KR1020077025129A patent/KR20080007446A/ko not_active Application Discontinuation
- 2006-04-28 CN CNA2006800157853A patent/CN101171591A/zh active Pending
- 2006-04-28 US US11/912,351 patent/US7953985B2/en not_active Expired - Fee Related
- 2006-04-28 EP EP06745835A patent/EP1881437A1/en not_active Withdrawn
- 2006-04-28 JP JP2007528241A patent/JP4860619B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855853A (zh) * | 2007-11-12 | 2010-10-06 | 巴特尔能源联合有限责任公司 | 处理模块操作方法、处理模块和通信系统 |
CN101853343A (zh) * | 2009-03-31 | 2010-10-06 | 巴比禄股份有限公司 | 存储装置 |
CN101853343B (zh) * | 2009-03-31 | 2012-08-22 | 巴比禄股份有限公司 | 存储装置 |
CN101751279B (zh) * | 2009-12-29 | 2014-01-22 | 北京握奇数据系统有限公司 | 一种芯片及片上操作系统下载的方法 |
WO2013182157A1 (zh) * | 2012-11-20 | 2013-12-12 | 中兴通讯股份有限公司 | 处理应用程序的方法和装置 |
CN103838620A (zh) * | 2012-11-20 | 2014-06-04 | 中兴通讯股份有限公司 | 处理应用程序方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2006120938A1 (ja) | 2008-12-18 |
US20090070599A1 (en) | 2009-03-12 |
EP1881437A1 (en) | 2008-01-23 |
KR20080007446A (ko) | 2008-01-21 |
US7953985B2 (en) | 2011-05-31 |
WO2006120938A1 (ja) | 2006-11-16 |
JP4860619B2 (ja) | 2012-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101171591A (zh) | 存储卡、应用程序存储方法以及存储程序 | |
CN1863049B (zh) | 无线通信系统,读/写器装置,密钥管理方法,和计算机程序 | |
CN1983227B (zh) | 具有大容量存储器的可拆卸式电脑 | |
CN101233476B (zh) | 传递无线网络设置的方法、存储器设备和usb闪存驱动器 | |
CN101965597B (zh) | 用于安装和取回已链接的mifare应用的方法和设备 | |
CN100562902C (zh) | 用于安全管理存储在电子标签上的数据的方法和系统 | |
US5898783A (en) | System and method for employing a telecommunications network to remotely disable a SIM or smartcard | |
CN100464313C (zh) | 一种移动存储装置及存取移动存储装置中加密数据的方法 | |
US6488211B1 (en) | System and method for flexibly loading in IC card | |
CN101675440B (zh) | 包括锁定功能的信息处理装置、用于信息处理装置的锁定(解锁)方法 | |
US20010041593A1 (en) | Mobile communication device and data concealing method | |
CN101908120B (zh) | 在单个智能卡上实现多合一卡功能的方法 | |
CN102819911A (zh) | 一种购票验票方法以及电影票务系统 | |
EP1764699A1 (en) | Information management device and information management method | |
JP2007531932A (ja) | 情報ベースで自動化されたデータ選択処理及び供給を識別手段により行う方法、装置及びシステム | |
CN101595488A (zh) | 用于将内容绑定到单独的存储器装置的方法和设备 | |
US20040256470A1 (en) | IC card with a cipher key conversion function | |
CN102378155A (zh) | 移动终端远程控制系统及方法 | |
CN101755435A (zh) | 用于管理唯一存储设备标识的方法、服务器和移动通信设备 | |
EP2775461B1 (en) | Smart card, electronic device and portable electronic device | |
CN108427982A (zh) | 一种数据读写方法及装置 | |
CN110134837A (zh) | 一种信息管理方法及装置 | |
WO1999046682A9 (en) | Mobile intelligent memory (mim) unit with removable security key | |
KR101040577B1 (ko) | 모바일 애플리케이션 재발급 방법 및 시스템 | |
CN103678427A (zh) | 检索并使用设置在智能卡内的应用的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20080430 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |