CN1282071C - 数据处理装置、数据处理方法和程序 - Google Patents
数据处理装置、数据处理方法和程序 Download PDFInfo
- Publication number
- CN1282071C CN1282071C CNB021479399A CN02147939A CN1282071C CN 1282071 C CN1282071 C CN 1282071C CN B021479399 A CNB021479399 A CN B021479399A CN 02147939 A CN02147939 A CN 02147939A CN 1282071 C CN1282071 C CN 1282071C
- Authority
- CN
- China
- Prior art keywords
- data
- application element
- version
- application
- key
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
一种应用程序包括多个第一应用程序元件,每个元件具有多个版本。在这种情况中,通过使用分别用于管理分别对应于一个版本的多个第二应用程序元件与第一应用程序元件之间的对应关系,以及通过使用用于管理第一应用程序元件与该版本管理数据之间的关系的管理数据,来管理该版本。结果,可以提供一种数据处理装置,其能够适当地限制用户在一个用于保密目的的服务器中设置应用程序。
Description
技术领域
本发明涉及一种数据处理装置和数据处理方法,其被用于使用集成电路(IC)来提供服务,并且涉及一种用于执行该数据处理方法的程序。
背景技术
现在,已经开发出用于使用IC卡通过例如互联网这样的网络执行交易的通信系统。
在这种通信系统中,在由使用IC卡提供服务的服务提供企业发出请求时,服务器执行一个应用程序,以执行由该服务提供企业所规定的程序处理。
根据一般从IC卡读取器/写入器或者PC(个人计算机)接收的处理请求,该服务器通过执行该应用程序执行例如用户的认证以及数据的加密和解密这样的处理。
存在对高保密性数据的保护的需求,该数据例如是由服务提供企业所设置的密钥、帐户数据和防止非法窜改的非法监控的历史记录数据。这是因为由服务器所执行的应用程序处理该高度保密的数据。
另外,随时更新包括应用程序的一些数据的版本。因此在由服务器执行某种操作以启动一种服务之后,需要提供一种用于在具有已更新和未更新版本的混合数据状态执行操作功能。
另外,从确保安全的观点来看,还需要控制用户执行用于服务器的应用程序的设置操作。
发明内容
因此,本发明的一个目的解决在上述现有技术中所遇到的问题,提供能够增加为了使用集成电路(IC)提供服务而由服务器所执行的应用程序的安全性的一种数据处理装置、由该数据处理装置所采用的数据处理方法和执行该数据处理方法的程序。
本发明的另一个目的是提供一种能够在具有多个版本的混合数据的状态下执行操作的数据处理装置、由该数据处理装置所采用的数据处理方法以及执行该数据处理方法的程序。
本发明的另一个目的是提供一种为了保密的目的能够适当地控制对服务器的应用程序执行设置操作的用户的数据处理装置、由该数据处理装置所采用的数据处理方法以及执行该数据处理方法的程序。
在执行本发明中,根据其第一方面,在此提供一种数据处理装置,其用于执行包括多个第一数据的应用程序、与预定的集成电路交换数据、以及与集成电路协作提供预定的服务,其中该数据处理装置包括:
存储电路,当该第一数据具有多个版本时,用于存储:
分别与其中一个版本相关的多个第二数据;
用于管理第一数据和第二数据之间的关系的版本管理数据;以
及
用于管理第一数据和与第一数据相关的版本管理数据之间的关
系的管理数据;以及
处理电路,用于当对第一数据执行处理时,执行如下处理:
参照该管理数据来识别版本管理数据;
确定与由所述数据处理装置的内部或外部所指定的一个版本相
关的特定第二数据;以及
在该处理中使用该特定的第二数据。
最好,在该数据处理装置中,该处理电路确定与由包含在版本管理数据中的版本指定数据所指定的一个版本相关的一个第二数据,并且通过使用所确定的第二数据来执行处理。
最好,在该数据处理装置中,该处理电路确定与从该数据处理装置内部或外部指定的数值以及从由版本指定数据所指定的数值获得的一个版本号相关的一个第二数据,并且使用该第二数据执行处理。
最好,在一种数据处理装置中:
该版本管理数据具有一个版本标识数据以及与处于记录格式中的所述版本标识数据相关的所述第二数据;以及
该处理电路通过参照该管理数据而识别该版本管理数据,通过使用所指定的版本标识数据作为密钥在该版本管理数据中搜索与所指定的版本标识数据相关的第二数据,并且通过使用第二数据执行该处理。
最好,在一种数据处理装置中:
该版本管理数据包括把所述版本标识和与该版本相关的一个第二数据的标识相关联的表格:以及
该数据处理电路通过参照该管理数据而识别该版本管理数据,通过使用指定的版本的标识作为密钥在该版本管理数据的表格中搜索与所指定的版本相关的第二数据的标识,并且通过使用第二数据的标识作为基础执行处理,以获得第二数据。
根据本发明的第二方面,在此提供一种由数据处理装置所采用的数据处理方法,用于与预定的集成电路交换数据,以通过执行包括多个第一数据的应用程序而与该集成电路合作提供预定服务,其中该数据处理方法包括如下步骤:
当该第一数据具有多个版本时,准备:
分别与其中一个版本相关的多个第二数据;
用于管理第一数据和第二数据之间的关系的版本管理数据;以
及
用于管理第一数据和与第一数据相关的版本管理数据之间的关
系的管理数据;
当对第一数据执行处理时,该数据处理装置参照该管理数据来识别版本管理数据;
使该数据处理装置使用所识别的版本管理数据来确定与由所述数据处理装置的内部或外部所指定的一个版本相关的特定的一个第二数据;以及
使该数据处理装置使用该特定的第二数据。
根据本发明第三方面,在此提供一种由数据处理装置所采用的程序,用于与预定的集成电路交换数据,以通过执行包括多个第一数据的应用程序而与该集成电路合作提供预定服务,其中该程序包括如下步骤:
当该第一数据具有多个版本时,准备:
分别与其中一个版本相关的多个第二数据;
用于管理第一数据和第二数据之间的关系的版本管理数据;以
及
用于管理第一数据和与第一数据相关的版本管理数据之间的关
系的管理数据;
当对第一数据执行处理时,该数据处理装置参照该管理数据来识别版本管理数据;
使该数据处理装置使用所识别的版本管理数据来确定与由所述数据处理装置的内部或外部所指定的一个版本相关的特定的一个第二数据;以及
使该数据处理装置在处理中使用该特定的第二数据。
根据本发明第四方面,在此提供一种数据处理装置,用于通过使用多个第二数据来执行与集成电路之间的通信,每个第二数据包括多个第一数据,该数据处理装置包括:
存储电路,包括存储要由与第二数据相关的第一用户所访问的第二数据的多个第一存储区域、用于存储由多个第一用户所共享的第二数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二数据的第三存储区域;以及
处理电路,用于根据规定许可/不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一数据的标识和一个第二数据的标识而访问该存储电路的第一、第二和第三存储区域。
根据本发明的第五方面,在此提供一种在数据处理装置中采用的数据处理方法,用于通过使用多个第二数据来执行与集成电路之间的通信,每个第二数据包括多个第一数据,该数据处理方法包括如下步骤:
准备一个存储电路,其包括存储要由与第二数据相关的第一用户所访问的第二数据的多个第一存储区域、用于存储由多个第一用户所共享的第二数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二数据的第三存储区域;以及
根据规定许可/不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一数据的标识和一个第二数据的标识而允许/不允许访问该存储电路。
根据本发明第六方面,在此提供一种在数据处理装置中采用的程序,用于通过使用多个第二数据来执行与集成电路之间的通信,每个第二数据包括多个第一数据,其中该程序包括如下步骤:
准备一个存储电路,其包括存储要由与第二数据相关的第一用户所访问的第二数据的多个第一存储区域、用于存储由多个第一用户所共享的第二数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二数据的第三存储区域;以及
根据规定许可/不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一数据的标识和一个第二数据的标识而允许/不允许访问该存储电路。
根据本发明的第七方面,提供一种数据处理装置,其用于利用IC卡和便携通信装置中的集成电路进行数据处理,通过服务器提供一种服务,所述数据处理装置包括:存储器,用于存储有关服务的应用程序,所述应用程序包括:多个第一应用元件数据,每个第一应用元件数据具有表示该第一应用元件数据版本的版本数据;多个第二应用元件数据,每个第二应用元件数据与第一应用元件数据的版本相对应;版本管理文件,用于管理第一应用元件数据和第二应用元件数据之间的关系;以及包括版本管理文件的标识数据的管理数据,用于管理第一应用元件数据和所述版本管理文件之间的关系;以及安全应用模块,用于当执行与第一应用元件数据相对应的处理时,通过使用与从数据处理装置的内部或外部指定的版本相对应的第二应用元件数据执行处理,所述第二应用元件数据通过参照基于管理数据的标识数据进行访问的版本管理文件而获得,第一应用元件数据第一应用元件数据第二应用元件数据第一应用元件数据第二应用元件数据第一应用元件数据第一应用元件数据第一应用元件数据第二应用元件数据第二应用元件数据。
根据本发明的第八方面,提供一种由数据处理装置所采用的数据处理方法,其用于利用IC卡和便携通信装置中的集成电路进行数据处理,通过服务器提供一种服务,其中该数据处理方法包括如下步骤:由存储器存储有关服务的应用程序,所述应用程序包括:多个第一应用元件数据,每个第一应用元件数据具有表示该第一应用元件数据版本的版本数据;多个第二应用元件数据,每个第二应用元件数据与第一应用元件数据的版本相对应;版本管理文件,用于管理第一应用元件数据和第二应用元件数据之间的关系;以及包括版本管理文件的标识数据的管理数据,用于管理第一应用元件数据和所述版本管理文件之间的关系;以及当执行与第一应用元件数据相对应的处理时,所述安全应用模块通过使用与从数据处理装置的内部或外部指定的版本相对应的第二应用元件数据执行处理,所述第二应用元件数据通过参照基于管理数据的标识数据进行访问的版本管理文件而获得。
根据本发明的第九方面,提供一种数据处理装置,其用于利用IC卡和便携通信装置中的集成电路进行数据处理,通过服务器提供一种服务,通过使用多个第二应用元件数据来执行与集成电路之间的通信,每个第二应用元件数据包括多个第一应用元件数据,所述数据处理装置包括:存储电路,包括存储要由与第二应用元件数据相关的第一用户所访问的第二应用元件数据的多个第一存储区域、用于存储由多个第一用户所共享的第二应用元件数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二应用元件数据的第三存储区域;以及安全应用模块,用于根据规定许可/不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一应用元件数据的标识和一个第二应用元件数据的标识而访问该存储电路的第一、第二和第三存储区域。
根据本发明的第十方面,提供一种在数据处理装置中采用的数据处理方法,其用于利用IC卡和便携通信装置中的集成电路进行数据处理,通过服务器提供一种服务,所述数据处理装置包括,通过使用多个第二应用元件数据来执行与集成电路之间的通信,每个第二应用元件数据包括多个第一应用元件数据,该数据处理方法包括如下步骤:准备一个存储电路,其包括存储要由与第二应用元件数据相关的第一用户所访问的第二应用元件数据的多个第一存储区域、用于存储由多个第一用户所共享的第二应用元件数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二应用元件数据的第三存储区域;以及根据规定许可/不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一应用元件数据的标识和一个第二应用元件数据的标识而允许/不允许访问该存储电路。
从下文结合附图的描述和所附权利要求中,本发明的上述和其它目的、特点和优点将变得更加清楚,其中相同的部件或元件(element)由相同的参考标号所表示。
附图说明
图1为示出由本发明的一个实施例所实现的通信系统的整体结构的示意图;
图2为示出用于图1中所示的通信系统中的IC卡的功能框图;
图3为示出用于图2中所示的IC卡中的存储器的示意图;
图4为示出用于图1中所示的通信系统中的SAM的软件结构的示意图;
图5为示出用于图1中所示的通信系统中的外部存储器的存储区域的示意图;
图6为示出存储在图5中所示的外部存储器中的应用程序AP的示意图;
图7为示出图6中所示的应用程序AP的应用程序元件APE的类型的表格;
图8为示出图7中所示的应用程序元件APE的类型的版本的示意图;
图9为示出在用于图1中所示的通信系统中的SAM中的应用程序的版本的第一典型管理的示意图;
图10为示出在图1中所示的通信系统中所用的SAM的应用程序的版本的第二典型管理的示意图;
图11为示出在图9中所示的版本的第一典型管理的应用的示意图;
图12为示出日志数据的版本管理的示意图;
图13为示出在IC卡操作宏命令脚本程序中所用的一个命令的示意图;
图14为示出在图5中所示的AP管理存储区域中存储的详细数据的示意图;
图15为示出存储在AP管理存储区域中作为图14中所示的数据的一部分的AP管理表的示意图;
图16为示出一个标识SAM_ID的示意图;
图17为示出作为图14中所示的数据的一部分而存储的APP表格的示意图;
图18为示出存储在AP管理存储区域中作为图14中所示的数据的一部分的内部资源分配管理表的示意图;
图19为示出可以由不同用户在外部存储器的存储区域中设置的典型项目的示意图;
图20为示出表示使用图18所示的内部资源分配管理数据的用户管理的流程图;
图21为示出图1中所示的通信系统中所用的SAM的功能框图;
图22为示出存储在用于图21中所示的SAM中所用的存储器内的任务、程序和数据的示意图;
图23为示出IC卡实体的格式的示意图;
图24为示出包含在图23中所示的格式中的实体状态的状态转移的示意图;
图25示出由IC卡程序管理任务所执行的处理的流程图;
图26示出用于说明由SAM根据由应用程序元件APE所规定的程序而执行的处理以访问数据,或者由SAM根据在执行图25中所示的流程图的工作的程序执行由其它应用程序元件APE规定的处理的流程图;
图27示出用于说明由SAM根据由应用程序元件APE所规定的程序而执行的处理以访问数据,或者由SAM根据在执行图25中所示的流程图的工作的程序执行由其它应用程序元件APE规定的处理的流程图;
图28示出用于说明图1中所示的通信系统的整体操作的流程图;
图29示出用于说明图1中所示的通信系统的整体操作的上述流程图的继续;
图30为示出在图1中所示的实施例中执行的版本管理的概况的示意图;
图31为示出由图1中所示的实施例所执行的签名处理的概况的示意图;
图32为示出在图1中所示的实施例中在装置之间执行的签名处理的概况的示意图;以及
图33为示出在图1中所示的实施例中在装置之间执行的签名处理的概况的示意图。
具体实施方式
下文通过参照附图描述本发明的一些优选实施例。
图1为示出由本发明的实施例所执行的通信系统1的整体结构的示意图。
如图1中所示,图1系统1通过使用安装在商店等等中的服务器2、IC卡3、卡读取器/写入器4、个人计算机5、ASP(应用服务提供者)服务器19、SAM(安全应用模块)单元9和包括内嵌的IC模块42中的便携式通信装置41(由本发明所提供的数据处理装置)经过互联网10执行通信,以使用IC卡3或便携式通信装置41执行例如结算处理这样的程序处理。
SAM单元9(由本发明所提供的数据处理装置)包括外部存储器7(由本发明所提供的存储电路)和SAM8(由本发明所提供的数据处理装置)。
如果需要的话,SAM8与未在该图中示出的其它SAM交换数据。
图1中所示结构的元件在下文中描述。
[IC卡3和便携式通信装置41]
图2为示出IC卡3的功能框图。
如图2中所示,IC卡3具有一个包含存储器50和CPU51的IC(集成电路)模块3a。
如图3中所示,存储器50包括由例如信用卡公司这样的服务提供企业15_1所使用的存储区域55_1、由服务提供企业15_2所使用的存储区域55_2以及由服务提供企业15_3所使用的存储区域55_3。
另外,存储器50用于存储确定对存储区域55_1的访问权的按键、用于确定对存储区域55_2的访问权的按键以及用于确定对存储区域55_3的访问权的按键。该按键还用于相互认证、数据加密和数据解密的目的。
另外,存储卡50还用于存储IC卡3的ID或者IC卡3的用户的ID。
便携式通信装置是41具有用于执行与ASP服务器19的通信的通信功能单元以及如上文所述的用于与未在图中示出的通信功能单元交换数据的IC模块42。便携式通信装置41还通过天线和互联网10与SAM单元9进行通信。
IC模块42具有与用于上文所述的IC卡3中的IC模块3a相同的功能,只是该IC模块42还与用于该便携式通信装置41中的通信功能单元交换数据。
请注意,由于按照与使用IC卡3所执行的处理相同的方式而通过使用便携式通信装置41执行处理,并且通过使用IC模块42所执行的处理与通过使用IC模块3a执行的处理的方式相同,因此在下文中仅仅说明通过使用IC卡3所执行的处理和通过使用IC模块3a所执行的处理。
SAM单元9在下文中详细描述。
如上文中所述,SAM单元9包括外部存储器7(由本发明所提供的存储电路)和SAM8(由本发明所提供的数据处理装置)。
SAM8可以作为半导体电路或者由包含在一个盒子中的多个电路所构成的设备而实现。
[SAM8的软件结构]
SAM8具有类似于图4中所示的软件结构。
如图4中所示,SAM8包括硬件(HW)层、驱动(OS层)、低级处理层、高级处理层和应用(AP)层,它们在图中的向上方向上叠加。OS层包括用于外围硬件的RTOS内核。低级处理层在逻辑定义的单元中执行处理。高级处理层包括对于应用程序特定的库。
AP层包括应用程序AP_1、AP_2和AP_3(由本发明所提供的应用程序)对例如图1中所示的信用卡公司这样的各个服务提供企业15_1、15_2和15_3规定使用IC卡3的程序。应用程序AP_1、AP_2和AP_3从外部存储器7装载,用于执行。
在每个应用程序AP_1、AP_2和AP_3中,可以设置一个或多个宏脚本。
在AP层,一个防火墙FW被提供在任何两个应用程序AP_1、AP_2和AP_3之间以及在应用程序AP_1、AP_2和AP_3与上级处理层之间。
[外部存储器7]
图5为示出外部存储器7的存储区域的示意图。
如图5中所示,外部存储器7的存储区域是用于存储服务提供企业15-1的应用程序AP_1的AP存储区域220_1、用于存储服务提供企业15-2的应用程序AP_2的AP存储区域220_2、用于存储服务提供企业15-3的应用程序AP_3的AP存储区域220_3以及由负责SAM8的管理的人所使用的AP管理存储区域221。
存储在AP存储区域220_1中的应用程序AP_1(根据本发明第一至第三方面的应用程序或者根据本发明第四至第六方面的第二数据)包括要在下文中描述的多个应用程序元件APE(根据本发明第一至第六方面的第一数据)。对AP存储区域220_1的访问受到防火墙FW_1的限制。
同理,存储在AP存储区域220_2中的应用程序AP_2包括要在下文中描述的多个应用程序元件APE。对AP存储区域220_2的访问受到防火墙FW_2的限制。
类似地,存储在AP存储区域220_3中的应用程序AP_3包括要在下文中描述的多个应用程序元件APE。对AP存储区域220_3的访问受到防火墙FW_3的限制。
在本实施例中,应用程序元件APE是一般从SAM单元9外部的来源下载到外部存储器7的最小单位。应用程序元件APE的数目由与应用程序相关的服务提供企业任意确定。
另外,存储在外部存储器中的应用程序AP_1、AP_2和AP_3已经被加密、从而当应用程序AP_1、AP_2和AP_3被传送到SAM8时它们必须被解密。
另外,应用程序AP_1、AP_2和AP_3由服务提供企业15_1、15_2和15_3分别使用图1中所示的个人计算机16_1、16_2和16_3所开发。然后,应用程序AP_1、AP_2和AP_3被通过SAM8下载到外部存储器7。
应用程序AP_1、AP_2和AP_3被详细描述如下。
一个应用程序或者多个应用程序存在于每个服务提供企业的SAM单元中。
如图6中所示,应用程序AP_1、AP_2和AP_3(下文中简称为AP)包括标识AP_ID、版本APP_VER、APE计数APE_NUM和一个应用程序元件APE或多个应用程序元件APE。AP_ID识别该应用程序AP。APP_VER为应用程序AP的版本,这是关于应用程序AP的产生的信息。APE_NUM是在应用程序AP中的应用程序元件APE的数目。
标识AP_ID在服务提供企业之间变化。
如衅6中所示,应用程序元件APE包括数据大小APE_SIZE、标识APE_ID、版本APE_VER、标签APE_TAG、表格标识APPT、选项OPT和主数据APE_PL。APE_SIZE是应用程序元件APE的大小。APE_ID标识该应用程序元件APE。APE_VER是应用程序元件APE的版本。APE_TAG是应用程序元件APE的标识(或标签)。APE_TAG可以由服务提供企业所设置。APPT用于标识一个APP表。OPT用于指定一个选项。APE_PL是应用程序元件APE的实际数据。
标识APE_ID包括一个类型APE_TYPE和一个数字INS_NUM。APE_TYPE是应用程序元件APE的类型。INS_NUM是作为应用程序元件APE的标识号的一个实例标识号。INS_NUM由终端用户或者服务提供企业所管理。
假设应用程序元件APE是一个文件系统结构。在这种情况中,APE_TYPE为2并且INS_NUM为1。通过使用APE_ID是每个应用程序元件APE可以在包含于相同SAM单元中的应用程序元件APE中唯一地识别。
APE_VER可以由服务提供企业任意地设置。
另外,需要在每个应用程序AP中唯一地确定APE_TAG。
在通过设置命令在图5中所示的外部存储器存储作为应用程序封闭APP之前,应用程序AP(即,AP_1、AP_2和AP_3)被通过使用AP资源密钥K_APR作为加密密钥加密在SAM单元9外部的一个设备中。
AP资源密钥K_APR在应用程序之间变化。
下文描述说明作为参照图6而说明的应用程序元件APE的类型。
图7为示出存储在AP区域中的应用程序元件APE的典型APE_TYPE的表格。更加具体来说,图7为示出APE_TYPE的类型名以及它们的描述的表格。
如图7中所示,AP区域用于存储例如AP资源密钥K_APR、卡访问密钥、文件系统配置数据、SAM相互认证密钥、SAM密钥之间的数据包密钥、IC卡操作宏命令脚本程序(本发明的处理程序数据)、存储器分区密钥数据包、区域记录密钥数据包、区域删除密钥数据包、服务记录密钥数据包和服务删除密钥数据包,作为应用程序元件APE。
.AP资源密钥K_APR
在设置应用程序元件APE时,AP资源密钥K_APR被用作为加密密钥。分配给AP区域以设置应用程序元件APE的AP资源密钥K_APR在AP区域之间变化。
.卡访问密钥
卡访问密钥是用于对IC模块42中采用的IC卡3和存储器50写入和读出数据的密钥。卡访问密钥例如可以是IC卡系统密钥、IC卡区域密钥、IC卡服务密钥或IC卡退化密钥(IC card degeneration key)。
使用用于存储器50并且用于相互认证的IC系统密钥和存储区域管理密钥产生IC卡退化密钥。
另外,由IC卡操作宏命令脚本程序所引用的密钥还包含在与卡访问密钥相同类型的应用程序元件APE中。
.文件系统配置数据
文件系统配置数据例如可以是日志数据、否定数据或日记数据。
该日志数据一般为应用程序元件APE的使用历史数据。该否定数据一般为关于IC卡的有效性的信息。该日记数据一般为在SAM单元中执行的历史数据。
在文件系统的配置中,例如文件访问的标识(规格,记录密钥的排序或链接)被选择。在设置记录密钥、记录大小、记录的整体计数、记录的数字签名版本、记录的签名方法类型、记录数据大小和记录签名密钥的情况中。另外,当数据被从外部来源写入到该文件系统中时,需要执行例如指定是否执行签名认证这样的操作处理。在这种情况中,一个记录被确定为写入和读出数据文件的最小单元。
.SAM相互认证密钥
SAM相互认证密钥还被用于在相同SAM单元中的AP之间的相互认证。SAM相互认证密钥是用于从相同SAM单元中的另一个AP或从另一个SAM单元访问应用程序元件APE的密钥。
.SAM密钥之间的数据包密钥
SAM密钥之间的数据包密钥是用于在SAM单元之间的相互认证之后交换例如卡访问密钥这样的数据的操作中所使用的加密密钥。
.IC卡操作宏命令脚本程序
由服务提供企业本身创建IC卡操作宏命令脚本程序。IC卡操作宏命令脚本程序规定与IC卡3相关的处理次序和与ASP服务器19交换的列表。IC卡操作宏命令脚本程序被SAM8所翻译,以在被设置于SAM单元9中之后产生IC卡3的实体。
.存储分区密钥数据包
存储分区密钥数据包是在服务提供企业使用IC卡3开始服务的操作之前用于对外部存储器7或用于IC卡3中的存储器的存储区域进行分区的数据。
.区域记录密钥数据包
区域记录密钥数据包是在服务提供企业使用IC卡3开始服务的操作之前用于对IC卡3中所用的存储器的存储区域中记录一个区域的数据。
.区域删除密钥数据包(内部产生的)
区域删除密钥数据包是可以在SAM单元内部从卡访问密钥自动产生的数据包。
.服务记录密钥数据包(内部产生的)
服务记录密钥数据包用于在服务提供企业开始使用IC卡3进行服务操作之前把应用程序元件APE记录到外部存储器7。
该服务记录密钥数据包是可以在SAM单元内部从卡访问密钥自动产生的一个数据包。
.服务删除密钥数据包(内部产生的)
服务删除密钥数据包被用于从外部存储器7删除应用程序元件APE。
该服务删除密钥数据包是可以在SAM单元内部从卡访问密钥自动产生的一个数据包。
图8为示出用于图7中所示的应用程序元件APE的类型的版本的示意图。
如图8中所示,如果应用程序元件APE的类型为IC卡系统密钥、区域密钥或服务密钥、在IC卡系统密钥中规定的版本,该区域密钥或服务密钥分别被使用。
IC卡退化密钥的版本最初一般可以由SAM8所规定。
作为制造密钥的版本,使用该系统密钥的版本。
作为发布密钥的版本,使用IC模块42的存储区域的最近密钥的版本。
作为扩展的发布密钥的版本,使用系统密钥的版本。
作为分区原始数据包和分区数据包的版本,使用受到分区的系统密钥的版本。
作为区域记录密钥数据包和区域删除密钥数据包的版本,使用它们各自的区域密钥的版本。
作为服务记录密钥数据包和服务删除密钥数据包的版本,使用它们各自的服务密钥的版本。
作为密钥更改数据包的版本,使用更改之后的新密钥的版本。
下文的描述说明用于管理上述应用程序元件APE的版本和应用程序元件APE本身的版本管理数据303。版本管理数据303被存储在图5中所示的外部存储器7的AP管理存储区域221中。
.版本管理的第一实施例
如衅9中所示,如果应用程序元件APE具有多个版本,则用于应用程序元件APE的版本管理数据303(根据本发明第一至第三方面的管理数据)被用于存储用于应用程序元件APE的版本管理文件VMF(根据本发明第一至第三方面的版本管理数据)的标识APE_ID、当前选择的应用程序元件APE的版本和存储在版本管理文件VMF中的最近版本。
在本实施例中,管理版本文件VMF被用作为应用程序元件APE。
如图9中所示,版本管理文件VMF被用于存储应用程序元件APE的版本的数值或者应用程序元件APE的版本标识数据,其分别由标志“版本#**”所表示,并且表于存储该版本的应用程序元件APE的元件实例体(根据本发明的第一至第三方面的第二数据)。应用程序元件APE的元件实体例分别由标志“元件实例体#**”所表示。
如果使用具有多个版本的应用程序元件APE,则用于SAM8中的CPU使用应用程序元件APE的标识AP_ID作为访问版本管理数据303的基础,以使用存储在版本管理数据303中的APE_ID作为访问版本管理文件VMF的基础。该CPU然后使用应用程序元件APE的指定版本作为在版本管理文件VMF中搜索与该版本相关的应用程序元件APE的元件实例体的密钥。
[版本管理的第二实施例]
如图10中所示,用于应用程序元件APE的版本管理数据303被用于存储用于应用程序元件APE的版本管理文件VMF的标识APE_ID,当前选择的应用程序元件APE的版本和存储在版本管理文件VMF中的最近版本与图9中所示的第一实施例的情况相同。
并且在第二实施例的情况中,版本管理文件VMF被用作为一个应用程序元件APE。
如图10中所示,版本管理文件VMF被用于存储应用程序元件APE的版本或应用程序元件APE的版本标识数据的数值,其分别由标志“版本#**”所表示,以及用于存储该版本的应用程序元件APE的元件实例体(根据本发明第一至第三方面的第二数据)的标识APE_ID,作为表格305。应用程序元件APE的元件实例体分别由标志“元件实例体#**”所表示。
如果使用具有多个版本的应用程序元件APE,则用于SAM8中的CPU使用应用程序元件APE的标识AP_ID作为用于访问版本管理数据303的基础,访问版本管理数据303,以使用存储在版本管理数据303中的APE_ID作为访问版本管理文件VMF的基础。然后,CPU使用应用程序元件APE的指定版本作为密钥来搜索用于与该版本相关的标识APE_ID的版本管理文件VMF。最后,CPU使用标识APE_ID来访问与标识APE_ID相关的应用程序元件APE的元件实例体,并且利用该元件实例体。
应当指出,在第一和第二实施例中,版本规范可以由从SAM8外部的一个单元接收的命令所设置和改变,或者作为SAM8的内部处理的结果。另外,还可以提供另一种应用,如果没有明确指定一个版本,则用于SAM8中的CPU自动选择存储在版本管理文件VMF中的最近版本。如上文所述,在最近版本中的信息被包含在该版本管理数据303。
作为另一个变型,用于SAM8中的CPU通过以由版本规范数据所表示的数值把内部或外部指定的数值反映到SAM8而查找一个版本值,并且使用该版本值作为搜索版本管理文件VMF的密钥。
[版本管理的应用]
图11为示出在版本管理技术被应用于卡访问密钥的情况中的示意图。
如图11中所示,密钥数据包K_P在用于SAM8中的通用寄存器内部从用于管理卡访问密钥的文件产生。具体来说,分别包含不同版本的卡访问密钥的密钥数据包K_P1至K_P3被产生。
然后,用于SAM8的CPU通过把密钥数据包K_P1至K_P3分别与数据包版本P_VER1至P_VER3相关联而使用分类类型文件来把密钥数据包K_P1至K_P3存储在外部存储器7中。
[通过使用不同版本的签名密钥表示的签名(日志)数据的创建和认证]
例如,存在一种情况,其中在签名伴随处理中所用的签名密钥一般在IC卡3和IC模块42的操作开始之后改变,从而该操作必须在RAM8中执行,并且新的签名密钥与一个被更新密钥共存。
在这种情况中,签名密钥被按照版本而管理。
用于SAM8中的CPU读出包含在一个签名文件中的签名密钥版本,并且使用该签名密钥版本作为一个密钥来在该签名文件中搜索签名密钥。然后,CPU使用所获得的签名密钥来创建一个签名或者执行认证签名的处理。
也就是说,在SAM8中采用的CPU识别一般在文件配置时的日志文件中的签名密钥版本,并且使用该版本管理文件VMF来访问与签名密钥版本相对应的签名密钥文件。然后,CPU使用存储在该签名密钥文件中的签名密钥来创建一个签名或者执行认证签名的处理。
请注意,上述日志文件被用于存储要被添加签名的数据以及在用于签名密钥版本的记录格式中的签名。该签名被置于要被添加签名的部分或所有数据上。
另外,用于SAM8中的CPU根据预定的加密算法对在该日志文件中的部分和所有数据产生一个签名密钥和签名,并且在写入操作中把该签名添加到要存储于外部存储器7的记录中。另一方面,在从日志文件读出数据的操作中,产生基于预定加密算法的用于写入操作中的签名密钥和签名,并且所产生的签名与在写入操作中添加到该记录的签名相比较,以通过确定该数据是否已经被窜改或者该数据存在缺陷而判断该数据的有效性。
下文的描述说明用于IC卡操作的宏命令脚本程序的细节,在下文中简称为脚本程序。
该脚本程序是规定在分别执行服务提供企业15_1、15_2和15_3的应用程序AP_1、AP_2和AP_3中要由在IC卡3中采用的IC模块3a和在便携式通信装置41中采用的IC模块42执行的处理程序,以及在SAM8中运行的相应的应用程序。
在本实施例的情况中,如下文中所述,根据在SAM8中的脚本下载任务69和脚本翻译任务70执行处理,以从由图13中所示的AP管理表和脚本程序提供的数据产生数据块。该数据块包括要在与服务提供企业15_1、15_2和15_3相关的处理中使用的输入数据块31_x1、输出数据块32_x2、日志数据块33_x3、处理定义数据块34_x4和IC卡实体模版31_1。
下文的描述说明存储在图5中所示的外部存储器7的AP管理存储区域221中的数据。对AP管理存储区域221的访问受到防火墙FW_4的限制。应当指出,该防火墙FW_4对应于图4中所示的防火墙FW。
图14为示出存储在AP管理存储区域221中的数据的详细情况。如衅14中所示,管理存储区域221用于存储AP管理表300_1、300_2和300_3、APP表301_1、301_2和301_3、选择数据块302_1、302_2和302_3、版本管理数据块303_1、303_2和303_3以及内部资源分配管理数据304(根据本发明第四至第六方面的访问管理数据)。应当指出,参考标号300是用于表示任何一个AP管理表300_1、300_2和300_3的一般参考标号。同理,参考标号301是用于表示任何一个APP表301_1、301_2和301_3的一般参考标号。并且,参考标号302是用于表示任何一个选择数据块302_1、302_2和302_3的一般参考标号。类似地,参考标号303是用于表示任何一个版本管理数据块303_1、303_2和303_3的一般参考标号。
一般在设置SAM8时预先把AP管理表300_1、300_2和300_3与APP表301_1、301_2和301_3一同记录。另外,AP管理表300_1、300_2和300_3和APP表301_1、301_2和301_3仅仅可以被负责管理SAM8的人所改写。
对每个应用程序AP规定AP管理表300_1、300_2和300_3。另外,对每个SAM相互认证密钥规定APP表301_1、301_2和301_3。
图15为示出AP管理表300_1的示意图。AP管理表300_2和300_3分别具有与AP管理表300_1相同的格式。
如图15中所示,AP管理表300_1包括由IC卡操作宏命令脚本程序所使用和参照的每个应用程序元件APE的名称APE_N以及标识APE_ID、内部/外部标识符IEI、相对方标识SAM_ID、相对方标识AP_ID、密钥K_CARDA、密钥K_SAM、数据SET_APP、数据FLAG_IP和数据FLAG_STR,其与名称APE_N相关。
每个应用程序元件APE的名称APE_N是给予由服务提供企业15_1、15_2或15_3的应用程序所提供的服务(应用程序元件APE)。名称APE_N是被称为用于可以由每个服务提供企业的应用程序所使用的服务号的代号的标识符。
标识APE_ID是应用程序元件APE的ID。
内部/外部标识符IEI为表示内部应用程序的标志,其意味着存在应用程序元件APE的实体或者作为其它SAM单元参照的外部标准。
标识SAM_ID是当SAM8执行与应用程序元件APE相关的处理时交换数据的相对方的SAM ID。
图16为示出标识SAM_ID的示意图。
标识SAM_ID具有4字节的大小,采用类似于TCP/IP的网络掩码的概念。网络掩码的每个数位可以单独设置。
网络掩码一般被分为三种级别,即级别A、B和C,如图16中所示、一种密钥可以用于被分配相同网络掩码的SAM单元之间的相互认证。在本实施例中,例如相同的网址掩码被分配给一个服务提供企业。
在图16中,级别A的网络掩码为“255.XX.XX.XX”。网络掩码的高阶字节被用于存储一个预定数值255,用于表示该网络掩码属于级别A。在任何低阶字节中的XX表示任何1字节的数字。因此,该网址掩码可以用于规定属于级别A的16777215种不同的SAM_ID。
级别B的网络掩码为“255.255.XX.XX”。网络掩码的前两个高阶字节被用于存储一个预定数值“255.255”,用于表示该网络掩码属于级别B。在剩余的两个低阶字节用于分别表示属于级别B的一个SAM单元。因此,该网址掩码可以用于规定属于级别B的65535种不同的SAM_ID。
级别C的网络掩码为“255.255.255.XX”。网络掩码的前3个高阶字节被用于存储一个预定数值“255.255.255”,用于表示该网络掩码属于级别C。在剩余的低阶字节用于分别表示属于级别C的一个SAM单元。因此,该网址掩码可以用于规定属于级别C的255种不同的SAM_ID。
标识AP_ID为在当SAM8执行与应用程序元件APE相关的处理时交换数据的相对方的SAM单元中执行的应用程序的标识。
密钥K_CARDA是当SAM8执行与应用程序元件APE相关的处理时与在IC卡3中采用的存储器50交换数据的一个密钥。
密钥K_SAM为当SAM8执行与应用程序元件APE相关的处理时用于与另一个SAM单元交换数据的密钥。
数据SET_APP是用于标识当SAM8执行与应用程序元件APE相关的处理时被使用或所引用的APP表301_1、301_2或301_3。
图15中所示的APE_N的“服务A”为由SAM8中的应用程序所定义的IC卡3的一个访问密钥。密钥“服务A”被设置为一个未公开密钥,从而该密钥不被其它SAM单元和相同SAM单元的其它应用程序所引用。
服务C是由该应用程序所定义的IC卡3的一个访问密钥。如果上述级别C的网络掩码被分配给该SAM单元,密钥“服务C”被公开给在具有“43.17.19.XX”的SAM_ID的SAM单元中的应用程序。在该情况中,SAM相互认证密钥为“TT1...TTn”或者另一个SAM单元确定密钥“服务C”可以被保持,直到下一个应用为止。如果密钥“服务C”可以被保持直到下一个应用为止,则当另一个SAM单元在下一次应用中对该卡使用密钥“服务C”时,不需要再次从该SAM单元获得卡访问密钥。访问密钥“服务B”不是从SAM单元获得而是从具有“43.13.137.XX”的SAM单元获得的。作为SAM单元之间的一个相互认证密钥,使用密钥“SS1...SSn”。
由其它SAM单元所指定的一个确定标志确定是否可以保持访问密钥“服务B”,直到下一次应用时为止。
“服务B日志”指向用于存储被分配有“43.13.137.XX”的SAM_ID的日志数据的文件。由于“服务B日志”具有与“服务B”相同的SAM网络掩码,密钥“SS1...SSn”被用作为一个相互认证密钥。对于每个相互认证密钥,提供一个APP表。在该实施例中,由其它SAM单元的AP管理表所引用的另一个SAM单元的APP表301规定对“服务B日志”和“服务B”的访问许可。
图17为示出APP表301_1的示意图。APP表301_2、301_3和301具有与APP表301_1相同的格式。
如图17中所示,APP表301_1包括标识APE_ID、READ(读取)标志、WRITE(写入)标志和EXECUTE(执行)标志,其被提供用于每个应用程序元件APE。APE_ID是应用程序元件APE的标识。READ标志表示另一个应用程序(或者另一个应用程序元件APE)是否具有对该应用程序元件APE的读取访问权。WRITE标志表示另一个应用程序(或者另一个应用程序元件APE)是否具有对该应用程序元件APE的写入访问权。EXECUTE标志表示另一个应用程序(或者另一个应用程序元件APE)是否具有对该应用程序元件APE的执行访问权。
例如,图17中所示的APP表301_1表示另一个应用程序(或者另一个应用程序元件APE)具有读取访问权和写入访问权,但是没有对“服务B日志”的执行(删除)访问权。
另外,图5中所示的外部存储器7的AP管理存储区域221通过把AP选择数据与IC卡类型和AP_ID相关联而存储AP选择数据。
IC卡类型是图1中所示的IC卡3的类型。IC卡类型的例子为具有使用IC卡3的交易结算业务的信用卡公司的标识。
在本实施例中,在一个IC卡操作宏命令脚本程序中的多个应用程序元件APE被结合,以规定一种服务,并且该服务的规定被反映在下文中所述的IC卡实体(工作管理数据)中。因此,对应于应用程序元件APE的服务的组合可以被作为上述服务而提供。
例如,从IC卡3读出数据的服务与把数据写入服务器2的服务相组合,以提供可以在IC卡实体中确定的组合服务。
另外,当由服务提供企业15_1、15_2和15_3提供的服务被处理时,APE_N或服务号是向IC卡3发出的一个操作命令,并且可以被IC卡3所翻译。
应用程序AP_1由存储在外部存储器7中的IC卡操作宏命令脚本程序和AP管理表300_1所规定。
同理,应用程序AP_2由存储在外部存储器7中的IC卡操作宏命令脚本程序和AP管理表300_2所规定。
按照相同的方式,应用程序AP_3由存储在外部存储器7中的IC卡操作宏命令脚本程序和AP管理表300_3所规定。
另外,图5中所示的外部存储器7的AP管理存储区域221被用于存储内部资源分配管理数据304,用于为每个用户的权限或使用目的,执行对通常在外部存储器7的访问管理。
图18为示出内部资源分配管理数据304的示意图。在SAM8中采用的CPU根据内部资源分配管理数据304,对每个用户权限或使用目的管理对外部存储器7的存储区域的访问以及对在存储区域中的数据的访问。
通过把存储区域分为系统区域和用户区域而管理外部存储器7的存储区域。
系统区域是用于SAM8的内部操作中的区域。例如,负责运输SAM8的人最初设置对SAM8唯一的设备号以及在系统区域中的应用程序AP的运输密钥。
另一方面,用户区域是SAM8的用户设置例如应用程序这样的资源的区域。用户区域被分为三大类,即授权用户区(由本发明提供的第三存储区域)、一般用户区(由本发明提供的第一存储区域)以及共同用户区(由本发明提供的第二存储区域)。
授权用户区是用于存储操作SAM8的基本数据的区域。基本数据的例子是SAM8的ID。
一般用户区是用于存储在使用IC卡3的便携式执行服务中使用的例如密钥和密钥数据包这样的资源的区域。
共同用户区是用于存储由一般用户所使用的对于一般用共同的网络信息的区域。该网络信息的例子是SAM8的主要单元的IP地址。
也就是说,授权用户区是这样一个区域,其中的数据需要由对SAM8的操作特定的用户来设置。共同用户区域是可以由SAM8本身所共享的区域,并且也是共数据可以由多个用户所设置的区域。
图19为示出可以由在外部存储器7的存储区域中的用户所设置的一般项目的示意图。如图19中所示,负责SAM8的运输的人允许访问对应于0x0000至0x000F的标识AP_ID的存储区域,为一般用户设置AP资源密钥K_APR的运输密钥,以及设置对SAM8唯一的设备密钥。
另外,被授权用户允许访问对应于0xFFFE的标识AP_ID的存储区域,设置SAM8的SAM_ID,以及设置一个授权用户AP区域操作密钥。
另外,一般用户允许访问由0xFFFD的标识AP_ID所识别的区域,作为用户共同区域,并且允许访问作为一般用户区域的由0x0000至0x000F的标识AP_ID所识别的区域。一般用户允许设置SAM8的SAM_ID的网络掩码、例如SAM8的IP地址这样的网络信息、IP资源密钥K_APR和在这些区域中的其它应用程序元件APE。
用户允许把对该用户公开的一个存储区域的所接收AP资源密钥K_APR改变为仅仅由该用户所知的另一个数值,从而其它用户不能够更改在该应用程序AP内部的资源。
另外,用户共同区域可以被用户使用共同密钥来访问,也就是说用于在一般用户区中设置数据的AP资源密钥K_APR。
外部存储器7的上述存储区域通过使用图18中所示的内部资源分配管理数据304、标识AP_ID和标识APE_ID所管理。具体来说,该存储区域被通过把外部存储日期分为形成由标识AP_ID和APE_ID所规定的矩阵的存储区域而管理。
在图18中所示的外部存储器的情况中,具有在范围0x7F06至0xFFFF内的APE_ID的存储区域被用作为系统区域,并且具有在范围0x0000至0x7F00内的APE_ID的存储区域被用作为一般用户区域。
另外,具有0xfffd的AP_ID的应用程序的存储区域被用作为一般用户存储区域。
对于应用程序元件APE,为区域设置的加密数据包被存储在外部存储器7中。在这种情况中,可以仅仅选择和加密所需的资源元件。
如下处理是由在SAM8中采用的CPU所执行的处理,以通过使用内部资源分配管理数据304管理外部存储器7的存储区域(或者资源)。
图20为示出表示该程序的流程图。
步骤ST61:
例如,图1中所示的服务提供企业15_1至15_3之一的一般用户或授权用户操作连接到互联网10的个人计算机,并且指定访问外部存储器7的应用程序AP。应用程序AP通过使用由该用户所拥有的AP资源密钥K_APR经过ASP服务器19访问SAM8。
步骤ST62:
在SAM8中采用的CPU形成关于在步骤ST61所作的访问的发起者是否具有适用于指定的应用程序AP的AP资源密钥K_APR。如果判断结果表明该访问的发起者具有适合的资源密钥K_APR,则该处理进行到步骤ST64的处理。另一方面,如果判断结果表明该访问的发起者没有适合的资源密钥K_APR,则该程序进行到步骤ST63的处理。
步骤ST63:
在SAM8中采用的CPU不允许用户在指定的应用程序AP中设置应用程序元件APE。
步骤ST64:
在SAM8中采用的CPU允许用户在指定的应用程序AP中设置应用程序元件APE。
步骤ST65:
在SAM8中采用的CPU形成关于该用户是否为被授权用户的判断。如果该判断结果表明该用户是被授权用户,则该程序进行到步骤ST66的处理。另一方面,如果判断结果表明用户不是被授权用户,则该处理进行到步骤ST67的处理。
步骤ST66:
在SAM8采用的CPU允许用户为被授权用户在指定的应用程序AP中设置一个应用程序元件APE。
步骤ST67:
在SAM8中采用的CPU形成关于该用户是否为一般用户的判断。如果该判断结果表明该用户是一般用户,则该程序进行到步骤ST68的处理。另一方面,如果判断结果表明用户不是一般用户,则该处理进行到步骤ST69的处理。
步骤ST68:
在SAM8采用的CPU允许用户为一般用户和对一般用户共同的应用程序元件APE在指定的应用程序AP中设置一个应用程序元件APE。
步骤ST69:
在SAM8中采用的CPU使用户在该系统区域中设置应用程序元件APE。
[SAM8]
SAM8通过SCSI或者以太网连接到ASP服务器19。ASP服务器19分别区域互联网10连接到多个终端,包括终端用户的个人计算机5和服务提供企业151、152和153的个人计算机161、162和163。
个人计算机5通过串行或USB电缆连接到转储型卡读取器/写入器4。在卡读取器/写入器4与IC卡3之间,一般采用对应于物理层的无线通信。
对IC卡3给出的操作命令由SAM单元9所产生。另一方面,由IC卡3所产生的响应数据包被SAM单元9所翻译。因此,在IC卡3与SAM单元9之间的卡读取器/写入器4、个人计算机5和ASP服务器19通过把命令和响应存储在数据有效负荷单元中,而仅仅作为中继该命令的作用。也就是说,卡读取器/写入器4、个人计算机5和ASP服务器19对在IC卡3中的数据的加密的解密以及认证这样的操作没有贡献。
通过把在下文中描述的脚本程序下载到SAM8,个人计算机16_1、16_2和16_3允许它们各自的应用程序AP_1、AP_2和AP_3被定制。
图21为示出图1中所示的通信系统的SAM8的功能框图。如图21中所示,SAM8包括ASPS通信接口单元60、外部存储器通信接口单元61、总线加扰单元62、随机数产生单元63、加密/解密单元64、存储器65和CPU66。
SAM8为一个防窜改模块。
ASPS通信接口单元60为用于与图1中所示的ASP服务器19交换数据的接口。
外部存储器通信接口单元61是用于与外部存储器7交换数据的接口。
总线加扰单元62在一个操作中对输出数据加扰(scramble)并且对输入数据解扰(de-scramble),以通过外部存储器接口单元61交换数据。
随机数产生单元63产生用于认证的随机数。
加密/解密单元64对数据加密并且对所加密的数据进行解密。
存储器65用于存储由CPU66所执行的任务和程序,以及在执行下文中所述的任务和程序中所使用的数据。
CPU66执行例如脚本下载任务、脚本翻译任务、实体产生任务(工作管理数据创建任务)和IC卡处理管理任务(工作管理数据管理任务)这样的任务。这些任务将在下文中描述。
CPU66还执行应用程序元件APE的版本管理以及一般用户存储区域、用户公共存储区域和被授权用户存储区域的管理。
另外,CPU66根据在SAM单元9中的操作命令执行在SAM单元9中指定的处理,并且根据IC模块3a和IC模块42的操作命令控制在IC卡3中采用的IC模块3a以及在便携式通信装置41中采用的IC模块42的处理。
下文说明在存储器65中的任务、程序和数据。
图22为示出该任务、程序和数据的示意图,其被存储在存储器65中。如图22中所示,存储器65用于存储上述脚本下载任务69、上述脚本翻译任务70、上述实体产生任务71、上述IC卡程序管理任务72、IC卡操作宏命令脚本程序21_1至21_3、AP管理表300_1至300_3、APP表301_1至301_3、IC卡实体模板30_1至30_3、IC卡实体73_x、输入数据块31_x1、输出数据块32_x2、日志数据块33_x3和处理定义数据块34_x。
如图13中所示,脚本下载任务69一般从由每个服务提供企业所拥有的计算机把AP管理表300_1至300_3以及如果需要的话也把APP表301_1至301_3下载到SAM8。
脚本翻译任务70通过使用服务定义表以及在必要时还使用APP表301_1至301_3为每个服务提供企业产生IC卡实体73_x、输入数据块31_x1、输出数据块3x_x2、日志数据块33_x3和处理定义数据块34_x。
对每个服务提供企业产生的数据块的数目没有具体确定。
当一般从ASP服务器19接收到用于创建实体的请求时,实体产生任务71对IC卡3进行轮询,然后通过使用用于服务提供企业的IC卡实体模板,产生要在IC卡3与服务提供企业之间的处理中所用的IC卡实体。在此时,IC卡实体模板变为一个类,并且IC卡实体被作为一个类实例而产生。
在下文中将描述由实体产生任务71所执行以产生IC卡实体的处理。
IC卡处理管理任务72通过使用存在于存储器65中的一个IC卡实体73_x或多个IC卡实体73_x执行IC卡3与服务提供企业15_1至15_3之间的处理程序。在本实施例中,在多个IC卡3与服务提供企业15_1至15_3之间的多个处理程序被同时执行。也就是说,IC卡程序管理任务72同时执行这些处理程序。该IC卡程序管理任务72删除已经在这种处理中所使用的IC卡实体73_x。在下文中将详细描述由IC卡程序管理任务72所执行的处理。
IC卡操作宏命令脚本程序一般由脚本下载任务69从外部存储器7获得并且被存储在存储器65中。
同理,AP管理表300_1至300_3一般由脚本下载任务69从外部存储器7获得并且被存储在存储器65中。
同样,APP表301_1至301_3一般由脚本下载任务69从外部存储器7获得并且被存储在存储器65中。
IC卡实体模板30_1至30_3由脚本翻译任务70所产生,并且将分别被用作为一个模板(类),其用于产生用于服务提供企业的程序的IC卡实体73_x。通过使用IC卡实体模板30_1至30_3作为类,实体产生任务71创建一个IC卡实体73_x,作为一个类实例。
如上文所述,脚本翻译任务70产生输入数据块31_x1、输出数据块32_x2、日志数据块33_x3和处理定义数据块34_x4。
接着,说明该IC卡实体73_x。
当SAM8例如从ASP服务器19接收一个用于使用IC卡3和预定服务提供企业的应用程序进行处理的请求时,在SAM8中的实体产生任务71通过使用该服务提供企业的已经产生的IC卡实体模板而产生一个IC卡实体73_x。
图23为示出IC卡实体73_x的格式的示意图。如图23中所示,IC卡实体73_x包括一个管理指针80、实体ID81、实体状态82、IC卡类型83、APE_N规范84、处理次序85、预处理数据86和处理后的数据87。
管理指针80为用于管理在存储器65中的IC卡实体73_x的双向指针。实体ID81被用于涉及IC卡实体73_x的一系列处理中。该处理的例子是请求创建一个IC卡实体73_x、确认创建IC卡实体73_x的处理以及删除IC卡实体73_x。实体ID81被作为一个返回值传送到终端用户。实体ID81对应于在通过使用文件系统打开一个文件的操作中所用的描述符。
实体状态82是与IC卡3相关的程序处理状态。如图24中所示,IC卡实体73_x的基本状态包括处理状态RS、处理状态A1、处理状态A2、处理状态R和处理状态W。处理状态RS是检验可以由IC卡3所使用的服务的处理状态。处理状态A1是由SAM8所执行以认证该IC卡3的处理状态。处理状态A2为由IC卡3所执行以认证SAM8的状态。处理状态R为从IC卡3读出数据的处理状态。处理状态W为把数据写入到IC卡3的处理状态。
本实施例执行检验服务提供企业的处理、由SAM8所执行以认证IC卡3的处理、由IC卡3所执行以认证SAM8的处理、从IC卡3读出数据的处理以及把数据写入到IC卡3中的处理,每个处理作为一个工作。
如下文中所述,一个工作是一个处理单元,其次序由IC卡处理管理任务72所确定。
应当指出,IC卡3与SAM8之间的相互认证由A1和A2状态所表示。
另外,在本实施例中,考虑到通过互联网10进行通信的时间,通过把每个基本状态分为后激活状态(或者命令后状态)和完成状态(或者响应接收后状态)而管理上述基本状态如图24的状态转移图所示。具体来说,通过使用实例产生状态(IC卡实体产生状态)、RS激活后状态、RS完成状态、A1激活后状态、A1完成状态、A2激活后状态、A2完成状态、R激活后状态、R完成状态、W激活后状态、W完成状态和实例删除状态(IC卡实体删除状态)来管理使用IC卡实体73_x的处理状态。
IC卡类型83是用于识别发行IC卡3的服务提供企业的数据。IC卡类型83包括其中设置的数据。当IC卡实体73_x被创建时,该数据由在上述脚本命令中的CI命令所规定。
服务类型元件84表示在使用IC卡实体73_x的处理中所用的AP管理表300_1至300_3和APP表301_1至301_3中定义的应用程序元件APE。在服务类型元件84中,在产生IC卡实体73_x时,设置由在上述脚本程序中的CS命令所指定的一个应用程序元件APE或多个应用程序元件APE。
处理次序85是在使用IC卡实体73_x的处理中所应用的服务(即,工作)被执行的次序。也就是说,该处理次序85是图24中所示的转移状态。换句话说,处理次序85是对于IC卡3的基本操作,以应用程序元件APE的名称APE_N所表示的工作的执行次序。
该工作对应于图24中所示的RS、A1、A2、R和W工作。按照以工作来表达的处理次序对IC卡3执行实际操作。例如,对于仅仅从IC卡3读出数据而没有相互认证的处理,“RS’R”被设置在该处理次序85中。在对具有相互认证的IC卡3读写数据的处理的情况中,“RS’A1’A2’R’W”被设置在该处理次序85中。因此,该处理次序是一个工作次序,其对应于在创建IC卡实体73_x中上文所述的脚本程序的命令指定的服务元件的次序。
在预处理数据86中,从ASP19设置用于使用IC卡实体73_x执行处理的管理数据。例如,在预处理数据86中,设置在一个SF数据块中指定的服务(或者应用程序元件APE)的处理平衡点(processing-equationpoint)。
另外,如果没有定义服务间的处理功能,在该预处理数据86中,设置所需处理的费用。例如在结算的情况中,设置表示费用和附加点数的状态。
作为在ASP服务器19中所要求的数据的处理后数据87是对IC卡实体73_x执行处理的结果。例如在结算的情况中,对于表示该结算是否正常结束的数据设置处理后数据87。
接着,说明由通信系统1所执行的一般处理。如果用于该操作的处理中的应用程序元件APE具有多个版本,则根据由在上文参照图9至12所述的版本管理功能根据指定的版本执行该处理。
下文的描述说明对于多个IC卡3的处理程序。该程序由图22中所示的IC卡程序管理任务通过使用多个IC卡实体73_x而执行。该IC卡程序管理任务72随时在用于图21中所示的SAM8中的CPU66上运行。图25示出由IC卡程序管理任务72所执行的处理的流程图。
步骤ST1:
IC卡程序管理任务72选择存在于存储器65中的多个IC卡实体73_x之一。接着将执行与所选择IC卡实体73_x相关的处理。作为选择一个IC卡实体73_x的方法,根据IC卡实体73_x设置在存储器65中的次序选择一个IC卡实体73_x。另外,一个优先级被分配给每个IC卡实体73_x,并且根据优选级选择一个IC卡实体73_x。
步骤ST2:
IC卡程序管理任务72判断在步骤ST1选择的IC卡实体73_x的工作是否已经被激活。如果判断结果表明在步骤ST1所选择的IC卡实体73_x的工作已经被激活,则该处理进行到步骤ST5的处理。另一方面,如果判断结果表明在步骤ST1选择的IC卡实体73_x的工作没有被激活,该处理进行到步骤ST3的处理。
步骤ST3:
IC卡程序管理任务72从图23中所示的实体状态82中识别在图24中所示的状态转移图中所示的状态中与在步骤ST1选择的IC卡实体73_x相关的一个处理状态,并且从该处理次序85确定要在下一步执行的工作。如上文所述,该处理次序85规定用在AP管理表300_1至300_3中设置的服务元件来表达的工作的执行次序。
步骤ST4:
IC卡程序管理任务72激活在步骤ST3选择的任务。然后,IC卡程序管理任务72通过使用与该工作相关的一个数据块执行该工作。与该工作相关的数据块在输入数据块31_x1、输出数据块32_x2、日志数据块33_x3和处理定义数据块34_x4,它们已经在上文中被参照图10进行描述。
在此时,如果在执行该工作时把一个命令发送到IC卡3,IC卡程序管理任务72使用用于该工作的服务元件作为密钥在AP管理表300_1至300_3中搜索该服务元件的一个服务号。该服务号是一个操作命令,其被发送到该IC卡3,并且可以由该IC卡3所翻译。然后,IC卡程序管理任务72通过使用该服务号把命令发送到IC卡3。另外,如果在访问IC卡3的IC模块3a的存储区域中需要一个密钥,则IC卡程序管理任务72通过使用用于该工作的一个服务元件作为密钥在AP管理表300_1至300_3中搜索被分配给该服务元件的一个服务密钥。然后,IC卡程序管理任务72通过使用该密钥执行处理,以获得访问IC卡3的存储区域的权限。该处理包括对IC卡3的相互认证、数据的加密和数据的解密。
步骤ST5:
IC卡程序管理任务72把一个命令发送到IC卡3。然后,在步骤ST5,该IC卡程序管理任务72等待由处理该命令的IC卡3所执行的处理结果。当IC卡程序管理任务72接收来自IC卡3的处理结果时,IC卡程序管理任务72把该结果设置在IC卡实体73_x中。
步骤ST6:
IC卡程序管理任务72更新IC卡实体73_x的实体状态82。IC卡实体73_x的实体状态在图23中示出。
如上文中所述,在该实施例中,当根据预定的次序一个接一个地顺序选择存在于SAM8中的多个IC卡的IC卡实体73_x时,该IC卡程序管理任务72同时对该IC卡执行处理。因此,即使当接收到使用多个IC卡3的处理请求时,SAM8能够同时继续执行该处理。
图26和27示出用于说明根据应用程序元件APE所规定的程序由SAM8所执行以访问数据的处理,或者根据在图25中的步骤ST4执行一个工作的程序由SAM8所执行的由另一个应用程序元件APE所规定的处理的流程图。
步骤ST41:
在根据预定应用程序元件APE执行处理的过程中,SAM8识别进行访问的一个应用程序AP和在该应用程序中的一个应用程序元件APE。另外,SAM8还判断在一个操作中的访问是否要读写该应用程序元件APE或者执行该应用程序元件APE。
步骤ST42:
SAM8判断在步骤ST41所识别的应用程序元件APE是否存在于相同的SAM8中。如果判断结果表明在步骤ST41所识别的应用程序元件APE不存在于相同的SAM8中,则该处理流程进行到步骤ST43。另一方面,如果判断结果表明在步骤ST41所识别的应用程序元件APE存在于相同的SAM8中,则该处理流程进行到步骤ST45。
步骤ST43:
SAM8在与被执行的应用程序相关的AP管理表300_1至300_3中搜索用于相应服务(应用程序元件APE)的密钥K_SAM,并且通过使用该密钥K_SAM对具有该应用程序元件APE的SAM8a执行相互认证。
步骤ST44:
如果在步骤ST43所执行的相互认证结果表明SAM8和8a为有效,则由SAM8所执行的处理流程进行到步骤ST47。否则,该处理流程进行到步骤ST51。
步骤ST45:
SAM8在与被执行应用程序相关的AP管理表300_1至300_3中搜索用于相应服务(应用程序元件APE)的密钥K_SAM。另外,SAM8还在与步骤ST41识别的应用程序元件APE相关的AP管理表300_1至300_3中搜索用于相应服务(应用程序元件APE)的密钥K_SAM。然后,SAM8把这两个密钥K_SAM相互比较。
步骤ST46:
作为在步骤ST45执行的比较结果,SAM8判断这两个密钥K_SAM是否相互匹配。如果判断结果表明这两个密钥K_SAM相互匹配,则由SAM8所执行的处理流程进行到步骤ST47。否则,该处理流程进行到步骤ST51。
步骤ST47:
SAM8或8a在与步骤ST41识别的应用程序相关的AP管理表300_1至300_3中搜索分别与所用的应用程序元件APE相关的APP表301_1至301_3。
步骤ST48:
SAM8或8a根据在步骤ST47识别的APP表301_1至301_3对要被使用或访问的应用程序元件APE的访问权。具体来说,SAM8或8a判断是否存在对应用程序元件APE读出或写入数据或者执行应用程序元件APE的权利。
步骤ST49:
如果在步骤ST48形成的判断结果表明存在该访问权,则由SAM8或8a所执行的处理流程进行到步骤ST50。否则,该处理流程进行到步骤ST51。
步骤ST50:
SAM8和8a对在步骤ST41所识别的应用程序元件APE执行也在步骤ST41识别的应用程序AP。
步骤ST51:
SAM8和8a不对在步骤ST41所识别的应用程序元件APE执行也在步骤ST41识别的应用程序AP。
另外,当在图25中所示的流程图的步骤ST4执行一个工作时根据由一个应用程序元件APE所设置的处理在SAM8和IC卡3之间交换数据时,SAM8在图17中所示的AP管理表300_1至300_3中搜索用于应用程序元件APE的密钥K_CARD,并且使用该密钥K_CARD为访问IC卡3的存储器50。
接着,描述图1中所示的通信系统1的整体操作。图28和29示出用于说明图1中所示的通信系统1的整体操作的流程图。
步骤ST21:
服务提供企业15_1至15_3或者从该服务提供企业15_1至15_3接收一个请求的个人在图1中所示的个人计算机16_1、16_2和16_3上创建规定使用IC卡3进行交易的脚本程序21_1、21_2和21_3。另外,负责管理SAM8的人分别对服务提供企业15_1至15_3创建AP管理表300_1至300_3。
步骤ST22:
在步骤ST21创建的AP管理表300_1至300_3被存储在存储器7中。另外,在步骤ST21创建的脚本程序21_1、21_2和21_3被从个人计算机16_1、16_2和16_3通过互联网10、ASP服务器19和SAM8下载到外部存储器7。如图10中所示,下载在步骤ST21创建的脚本程序21_1、21_2和21_3的处理由SAM8的脚本下载任务69所控制。
步骤ST23:
如图13中所示,SAM8的脚本翻译任务70通过使用AP管理表300_1至300_3和用于每个服务提供企业的脚本程序,产生IC卡实体73_x、输入数据块31_x1、输出数据块32_x2、日志数据块33_x3和处理定义数据块34_x4。这些数据块被存储在图21中所示的SAM8的存储器65中。
步骤ST24:
一个IC卡3被发行到用户。图5中所示用于IC卡3中的IC模块3a被用于存储在与服务提供企业进行交易中所用的密钥,通过该密钥用户可以签订合同。请注意,也可以在发行该IC卡之后通过互联网10在用户与服务提供企业之间签订合同。
步骤ST25:
例如假设用户使用个人计算机5来通过互联网10访问服务器2,以购买一个产品。在这种情况中,服务器2通过互联网10向ASP服务器19发出一个处理请求。当接收到来自服务器2的处理请求时,该ASP服务器19通过互联网10访问个人计算机5。使用IC卡3执行所要求的处理。该处理请求卡读取器/写入器4发出,并且被通过个人计算机5、互联网10和ASP服务器19发送到SAM8。
步骤ST26:
创建一个实体的请求被从APS服务器19输出到SAM8。用于创建一个实体的请求包括表示该请求的发出者(即IC卡3)的数据。
步骤ST27:
当接收到用于创建一个实体的请求时,SAM8对IC卡3进行轮询。
步骤ST28:
SAM8的实体产生任务71在轮询之后判断存在于SAM8中的IC卡实体73_x数目是否超过由脚本程序的SC命令所规定的最大值。如果IC卡实体73_x的数目不超过该最大值,则该处理流程进行到步骤ST29。否则,该操作结束。
步骤ST29:
实体产生任务71根据表示作为用于创建一个实体的请求的发出者的IC卡3的数据,识别其IC卡实体模板要被使用的一个服务提供企业。这种数据被包含在用于创建一个实体的请求中。然后,该实体产生任务71通过使用所识别的服务提供企业的IC卡实体模板而产生一个IC卡实体73_x。该处理对应于在图24中所示的实例产生处理。
步骤ST30:
SAM8把在步骤ST29产生的IC卡实体73_x的实体ID输出到ASP服务器19。
步骤ST31:
SAM8的IC卡程序管理任务72通过使用IC卡3检验可以被使用的服务。该检验对应于图24中所示的工作RS。
步骤ST32:
SAM8的IC卡程序管理任务72认证该IC卡的有效性。该认证对应于图24中所示的工作A1。
步骤ST33:
IC卡3认证SAM8的有效性。该认证对于图24中所示的工作A2。在步骤ST32和ST33执行的认证被称为IC卡3与SAM8之间的相互认证。如上文所述,在相互认证过程中,根据在SAM8中执行的应用程序元件APE,在图15中所示的AP管理表300_1至300_3搜索要在IC卡3与SAM8中采用的CPU51之间的相互认证中使用的密钥K_CARD。
步骤ST34:
SAM8的IC卡程序管理任务72把该程序所需的数据写入IC卡3以及从IC卡3读出所需数据。该读写操作对应于图24中所示的工作R和W。另外,IC卡程序管理任务72还通过使用根据IC卡实体73_x的预处理数据86识别的处理平衡,而对从IC卡3读出的数据执行预定处理。
步骤ST35:
SAM8的IC卡程序管理任务72把在步骤ST34执行处理的结果输出到ASP服务器19。
步骤ST36:
一般来说,IC卡程序管理任务72删除该IC卡实体73_x。
如上文所述,根据通信系统1的SAM单元1,通过把版本的概念引入到应用程序元件APE中,可以管理卡操作密钥和发行密钥数据包的版本。因此,不再需要服务提供企业使用SAM8来执行对于每个版本分别把一个密钥的APS_ID定义为一个AP资源。结果,管理负担变小,例如可以设想用于把一个卡逻辑分割的数据包在不同的SAM8之间交换的一种情况。
另外,根据通信系统1和SAM单元9,通过把标签的概念引入到应用程序元件APE中,可以引用不被应用版本管理的应用程序元件APE。如果APE_ID和APE_TAG被定义在一个应用程序中,例如该服务提供企业可以通过使用该标签而引用该应用程序元件APE。因此,表现出对于不熟悉应用程序和/或访问方法的服务提供企业的较低阈值的可预期的影响。另外,用于把一个卡进行逻辑分割的密钥数据包不包括用于唯一识别分割后的信息的所有信息。因此,为了识别包含在SAM8之间的密钥数据包的分割信息,在一个日志中反映由服务提供企业达成一致的信息变为一个必不可少的操作。
另外,根据该通信系统1和SAM单元9,通过把AP_ID与APP_ID相结合,存储区域可以被分为系统区域、被授权用户区域和一般用户区域。另外,还可以提供一种机制,根据该操作员的负责范围,执行在加密模块的运输时执行设置设备号的工作、由主要操作的操作员(一个被授权用户)所执行的设置例如一个加密模块的ID这样的信息的工作、由次要操作员(一般用户)所执行的使用一个未使用的卡和管理的服务。因此,假设多个用户被设置等级,该加密模块能够执行一个操作。
另外,根据该通信系统1和SAM单元9,通过把一个用户区域分为普通区域和用户唯一的区域,可以用对属于所有AP资源的所有企业唯一的方式来管理对所加密模块共同的数据。共同数据的一个例子是网络设置信息。因此,每个用户可以管理与该加密模块相关的公共项目。另外,由于在公共区域中设置的AP资源密钥还可以被用作为一个用户唯一的密钥,该服务提供企业的密钥管理可以变得简单。
另外,根据该通信系统1和SAM单元9,应用程序AP通过使用多个应用程序元件APE而构成,并且每个应用程序元件APE的处理通过使用AP管理表和APP表而规定。因此可以使用IC卡来实现多种服务。
另外,根据该通信系统1,通过使用AP管理表和APP表,可以在相同的SAM单元中实现应用程序元件APE的应用以及在不同SAM单元之间的应用程序元件APE的应用,并且保持高度的安全性。
另外,根据该通系统,如果一个应用程序元件APE被用于两个不同的SAM单元之间,执行SAM单元之间的相互认证。因此,可以更好地保证应用程序的安全性。
另外,根据该通信系统1,一个公共类的SAM_ID被分配给相同服务提供企业的应用程序。因此,在属于相同的服务提供企业的应用程序的应用程序元件APE之间,可以避免复杂的相互认证,因此可以减小由SAM单元所承受的密钥管理的负担和处理负担。
通过参照图30至33,在下文中简要地总结与本发明的特征相关的实施例的部分。如图30中所示,版本(代)信息被添加到一个文件系统500中每个文件中。该版本信息通过采用相同的方法而更新。根据一种方法,该版本信息具有一个初值,其在每次导入新的一个版本时增加或减小。根据另一种方法,对例如每次导入新的一个版本时关于所导入的新一个版本的日期这样的信息更新该版本信息。另外,通过采用组合的方法来更新该版本信息。
一个应用程序501通过使用与代无关的相关文件名来访问一个文件。一个选择单元502选择一个版本的文件,用于由应用程序501所访问。当选择一个文件时,需要指定一个版本。可以对每次访问选择一个版本,或者当前的版本被保存用于在下一次访问中使用。在图30中所示的版本指定信息504是用于保持当前版本的方法。作为选择除了当前版本之外的一个版本的技术,另一个版本可以被指定为目标文件的版本与用作为参考的当前版本之间的差别。
另外,在尝试检测文件窜改的过程中,把一个签名放在如图31中所示的每个版本中。由选择单元502所执行以存储一个文件的操作中,一个签名产生/认证单元511根据预定的算法基于一个签名密钥510产生一个签名,并且把该签名置于该文件中。另一方面,在检索文件的操作中,该签名产生/认证单元511根据预定的算法基于该签名密钥510认证一个签名。如果发现该签名无效,则表示该签名无效的消息被给予该应用程序501。
该签名认证使得文件窜改被检测。另外,由于硬件故障所导致的文件丢失部分也可以被检测。
图32为示出包含在文件系统500中的装置连接到网络520以及上级装置521访问文件系统500的一种情况。通过把一个签名添加到数据中,在通过网络520传输过程中所进行的文件窜改以及在这种传输过程中丢失的数据丢失部分可以被检测。
例如,如图33中所示,每个文件包括多个记录。在这种情况中,一个签名可以被添加到每个记录中,从而可以对每个记录认证一个签名。因此,特别是在允许访问一个文件的网络环境中,上级装置甚至能够在网络的不稳定状态中执行对包含所接收记录的数据的处理。
如上文所述,根据本发明,可以提供一种数据处理装置及其数据处理方法,其能够提高在使用集成电路(IC)来提供服务的服务器中执行的应用程序的保密性并且提供实现该数据处理方法的程序。
另外,根据本发明,还可以提供一种数据处理装置及其数据处理方法,其能够在具有不同版本的多个数据相混合的条件下进行操作,并且提供一种实现该数据处理方法的程序。
另外,根据本发明,还可以提供一种数据处理装置及其数据处理方法,其能够为了保密的目的适当地限制用户设置应用程序,以及提供用于实现该数据处理方法的程序。
尽管本发明的优选实施例以及使用具体的术语进行描述,但是这种描述仅仅用于说明的目的,应当知道可以作为各种改变和变化而不脱离所附权利要求的精神或范围。
Claims (22)
1.一种数据处理装置,其用于利用IC卡或便携通信装置中的集成电路进行数据处理,通过服务器提供服务,所述数据处理装置包括:
存储器,用于存储有关所述服务的应用程序,所述应用程序包括:多个第一应用元件数据,每个第一应用元件数据具有表示该第一应用元件数据版本的版本数据;多个第二应用元件数据,每个第二应用元件数据与第一应用元件数据的版本相对应;版本管理文件,用于管理第一应用元件数据和第二应用元件数据之间的关系;以及包括版本管理文件的标识数据的管理数据,用于管理第一应用元件数据和所述版本管理文件之间的关系;以及
安全应用模块,用于当执行与第一应用元件数据相对应的处理时,通过使用与从数据处理装置的内部或外部指定的版本相对应的第二应用元件数据执行处理,所述第二应用元件数据通过参照基于管理数据管理的标识数据进行访问的版本管理文件而获得。
2.根据权利要求1所述的数据处理装置,其中所述安全应用模块被设置以便通过使用与包含在版本管理文件中的版本指定数据所指定的版本相对应的第二应用元件数据执行处理。
3.根据权利要求1所述的数据处理装置,其中所述安全应用模块被设置以便通过使用与从所述数据处理装置内部或外部所指定的值以及表示版本指定数据的值获得的版本相对应的第二应用元件数据进行处理。
4.根据权利要求1所述的数据处理装置,其中:
所述版本管理文件具有一个版本标识数据以及与处于记录格式中的所述版本标识数据相对应的所述第二应用元件数据;以及
所述安全应用模块通过参照基于所述管理数据管理的标识数据进行访问的版本管理文件,通过使用所指定的版本标识数据作为密钥在所述版本管理文件中搜索与所指定的版本标识数据相对应的第二应用元件数据,并且通过使用所述第二应用元件数据执行该处理。
5.根据权利要求1所述的数据处理装置,其中:
所述版本管理文件包括把所述版本的标识数据和与所述版本相对应的一个第二应用元件数据的标识相关联的表格;以及
所述安全应用模块通过参照基于所述管理数据管理的标识数据进行访问的版本管理文件,通过使用指定的版本的标识作为密钥在该版本管理文件的表格中搜索与所指定的版本相对应的第二应用元件数据的标识,并且通过使用所述第二应用元件数据的所述标识作为基础执行处理,以获得第二应用元件数据。
6.根据权利要求5所述的数据处理装置,其中:
所述第二应用元件数据的标识包括:与所述第二应用元件数据相对应的一个所述第一应用元件数据的标识和与所述第二应用元件数据相对应的一个所述版本的标识。
7.根据权利要求5所述的数据处理装置,其中所述安全应用模块从所述数据处理装置的外部接收一个命令,设置每个所述第一应用元件数据的标识。
8.根据权利要求5所述的数据处理装置,其中所述安全应用模块从所述数据处理装置的外部接收一个命令,设置每个所述版本的标识。
9.根据权利要求5所述的数据处理装置,其中所述第一应用元件数据是每个密钥,以及每个所述版本的标识与所述密钥的标识相对应。
10.根据权利要求1所述的数据处理装置,其中:
所述第一应用元件数据是每个签名密钥;以及
所述安全应用模块通过参照基于所述管理数据的标识数据进行访问的与所述第一应用元件数据相对应的所述版本管理文件,使用所述版本管理文件访问与所述数据处理装置内部或外部指定的版本相对应的所述第二应用元件数据,并且使用存储在所述第二应用元件数据中的签名密钥版本获得的签名密钥来执行签名创建处理或者签名认证处理。
11.根据权利要求10所述的数据处理装置,其中所述安全应用模块使用所述签名密钥执行签名创建处理或者使用所述签名密钥执行签名认证处理,以认证部分或所有所述第一应用元件数据的有效性。
12.根据权利要求11所述的数据处理装置,其中当在所述第一应用元件数据中的数据包括一个记录或者多个记录,所述安全应用模块通过执行如下步骤而执行所述处理:
对每个所述记录,根据所述签名密钥以及根据预定的加密算法对一部分或所有包含在所述记录中的数据创建一个签名;
在把所述记录写入到所述存储器之前,把所述签名添加到所述记录中;
当从所述存储器读出所述第一应用元件数据的任何指定的一个所述记录时,根据用于创建所述签名的所述签名密钥以及根据所述加密算法产生一个签名;以及
把所述产生的签名与添加到所述指定记录中的所述签名相比较,以形成对所述指定记录的有效性的判断。
13.根据权利要求1所述的数据处理装置,其中每个所述第一应用元件数据包括如下数据之一:
用于使用所述第一应用元件数据执行处理的历史数据;
用于在所述存储器的存储区域中记录所述第一应用元件数据的程序的程序数据;
用于从所述存储器的存储区域中删除所述第一应用元件数据的记录的程序的程序数据;以及
用于规定存储所述应用程序的所述存储器的存储区域的程序的程序数据。
14.一种由数据处理装置所采用的数据处理方法,其用于利用IC卡或便携通信装置中的集成电路进行数据处理,通过服务器提供服务,其中该数据处理方法包括如下步骤:
由所述数据处理装置的存储器存储有关所述服务的应用程序,所述应用程序包括:多个第一应用元件数据,每个第一应用元件数据具有表示该第一应用元件数据版本的版本数据;多个第二应用元件数据,每个第二应用元件数据与第一应用元件数据的版本相对应;版本管理文件,用于管理第一应用元件数据和第二应用元件数据之间的关系;以及包括版本管理文件的标识数据的管理数据,用于管理第一应用元件数据和所述版本管理文件之间的关系;以及
当执行与第一应用元件数据相对应的处理时,所述数据处理装置的安全应用模块通过使用与从数据处理装置的内部或外部指定的版本相对应的第二应用元件数据执行处理,所述第二应用元件数据通过参照基于管理数据管理的标识数据进行访问的版本管理文件而获得。
15.根据权利要求14所述的数据处理方法,其中所述版本管理文件以一种记录格式保存所述版本的标识和与所述版本相关联的所述第二应用元件数据,其中进一步包括如下步骤:
使所述数据处理装置参照基于所述管理数据管理的标识数据进行访问的版本管理文件,使所述数据处理装置通过使用指定版本的标识作为密钥来在进行访问的所述版本管理文件中搜索与所述指定版本相对应的一个特定的所述第二应用元件数据;
使所述数据处理装置在处理中使用所述特定的第二应用元件数据。
16.根据权利要求14所述的数据处理方法,其中所述版本管理文件包括把每个版本的标识与关于所述版本的一个所述第二应用元件数据的标识相关联的表格,所述数据处理方法进一步包括如下步骤:
使所述数据处理装置通过参照基于所述管理数据管理的标识数据进行访问的版本管理文件,通过使用一个指定版本的标识作为密钥而在所述版本管理文件的所述表格中搜索与所述指定版本相对应的所述第二应用元件数据的标识;以及
使所述数据处理装置执行处理,以通过使用所述第二应用元件数据的所述标识作为基础而执行处理,以获得所述第二应用元件数据。
17.一种数据处理装置,其用于利用IC卡或便携通信装置中的集成电路进行数据处理,通过服务器提供服务,通过使用多个第二应用元件数据来执行与集成电路之间的通信,每个第二应用元件数据包括多个第一应用元件数据,所述数据处理装置包括:
存储电路,包括存储要由与第二应用元件数据相关的第一用户所访问的第二应用元件数据的多个第一存储区域、用于存储由多个第一用户所共享的第二应用元件数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二应用元件数据的第三存储区域;以及
安全应用模块,用于根据规定许可或不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一应用元件数据的标识和一个第二应用元件数据的标识而访问该存储电路的第一、第二和第三存储区域。
18.根据权利要求17所述的数据处理装置,其中由与所述第二应用元件数据相关联的所述第一用户通过使用预定的密钥,加密存储在所述第一存储区域中的所述第二应用元件数据。
19.根据权利要求17所述的数据处理装置,其中所述安全应用模块允许通过使用用于设置存储在所述第一存储区域中的所述第二应用元件数据的密钥,来设置存储在所述第二存储区域中的所述第二应用元件数据的密钥。
20.一种在数据处理装置中采用的数据处理方法,其用于利用IC卡或便携通信装置中的集成电路进行数据处理,通过服务器提供服务,所述数据处理装置包括,通过使用多个第二应用元件数据来执行与集成电路之间的通信,每个第二应用元件数据包括多个第一应用元件数据,该数据处理方法包括如下步骤:
准备一个存储电路,其包括存储要由与第二应用元件数据相关的第一用户所访问的第二应用元件数据的多个第一存储区域、用于存储由多个第一用户所共享的第二应用元件数据的第二存储区域、以及用于存储仅仅可由被授权用户所访问的第二应用元件数据的第三存储区域;以及
根据规定许可或不许可对存储电路的第一、第二和第三存储区域进行层级访问的访问管理数据,确定是否允许通过使用一个第一应用元件数据的标识和一个第二应用元件数据的标识而允许或不允许访问该存储电路。
21.根据权利要求20所述的数据处理方法,其中由与所述第二应用元件数据相关联的所述第一用户通过使用预定的密钥,加密存储在所述第一存储区域中的所述第二应用元件数据。
22.根据权利要求20所述的数据处理方法,其中允许通过使用用于设置存储在所述第一存储区域中的所述第二应用元件数据的密钥,来设置存储在所述第二存储区域中的所述第二应用元件数据的密钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP333468/2001 | 2001-10-30 | ||
JP2001333468A JP4055393B2 (ja) | 2001-10-30 | 2001-10-30 | データ処理装置およびその方法とプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1416054A CN1416054A (zh) | 2003-05-07 |
CN1282071C true CN1282071C (zh) | 2006-10-25 |
Family
ID=19148719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021479399A Expired - Fee Related CN1282071C (zh) | 2001-10-30 | 2002-10-30 | 数据处理装置、数据处理方法和程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7478435B2 (zh) |
JP (1) | JP4055393B2 (zh) |
CN (1) | CN1282071C (zh) |
HK (1) | HK1057793A1 (zh) |
SG (1) | SG127686A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3818269B2 (ja) * | 2003-03-28 | 2006-09-06 | ブラザー工業株式会社 | 情報処理装置、及び、プログラム |
US7793227B2 (en) * | 2003-08-12 | 2010-09-07 | Yahoo! Inc. | Method and system of providing customizable buttons |
US7421488B2 (en) * | 2003-08-14 | 2008-09-02 | International Business Machines Corporation | System, method, and computer program product for centralized management of an infiniband distributed system area network |
CN100463534C (zh) * | 2003-12-08 | 2009-02-18 | 中兴通讯股份有限公司 | 一种单板版本的即插即用的管理方法 |
US7707642B1 (en) * | 2004-08-31 | 2010-04-27 | Adobe Systems Incorporated | Document access auditing |
JP4516394B2 (ja) * | 2004-09-30 | 2010-08-04 | フェリカネットワークス株式会社 | 情報管理装置および方法、並びにプログラム |
WO2006049191A1 (ja) * | 2004-11-08 | 2006-05-11 | Sony Corporation | 情報処理システム及び情報処理装置 |
US20060277596A1 (en) * | 2005-06-06 | 2006-12-07 | Calvert Peter S | Method and system for multi-instance session support in a load-balanced environment |
JP2008059304A (ja) * | 2006-08-31 | 2008-03-13 | Sony Corp | 通信装置および方法、並びにプログラム |
JP5814526B2 (ja) | 2010-08-26 | 2015-11-17 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、およびプログラム |
US8745634B2 (en) * | 2010-10-15 | 2014-06-03 | Invensys Systems, Inc. | System and method for integrated workflow scaling |
US8335921B2 (en) * | 2010-12-17 | 2012-12-18 | Google, Inc. | Writing application data to a secure element |
JP5967603B2 (ja) * | 2011-12-21 | 2016-08-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 複数の変更履歴データのうちからソースコード中の変更内容を探索するための方法、並びに、そのコンピュータ及びコンピュータ・プログラム |
US9531808B2 (en) * | 2013-08-22 | 2016-12-27 | Avaya Inc. | Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media |
US20220012346A1 (en) * | 2013-09-13 | 2022-01-13 | Vmware, Inc. | Risk assessment for managed client devices |
US9519468B2 (en) * | 2015-02-13 | 2016-12-13 | Oracle International Corporation | Modular co-versioning in a dynamically linked runtime environment |
US10853057B1 (en) * | 2017-03-29 | 2020-12-01 | Amazon Technologies, Inc. | Software library versioning with caching |
CN108694185B (zh) * | 2017-04-07 | 2021-06-04 | 成都阜特科技股份有限公司 | 一种数据存储与提取的方法 |
CN107590402A (zh) * | 2017-09-26 | 2018-01-16 | 杭州中天微系统有限公司 | 一种存储数据加解密装置及方法 |
CN108153888B (zh) * | 2017-12-28 | 2022-01-04 | 广州美诚汇信息科技有限公司 | 产品质量追溯档案构建平台及方法 |
CN113454617A (zh) * | 2019-01-29 | 2021-09-28 | 日本电信电话株式会社 | 信息处理装置、方法以及程序 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278979A (en) * | 1990-12-20 | 1994-01-11 | International Business Machines Corp. | Version management system using pointers shared by a plurality of versions for indicating active lines of a version |
NZ329891A (en) * | 1994-01-13 | 2000-01-28 | Certco Llc | Method of upgrading firmware of trusted device using embedded key |
EP0818761A1 (en) * | 1996-07-12 | 1998-01-14 | Koninklijke KPN N.V. | Integrated circuit card, secure application module, system comprising a secure application module and a terminal and a method for controlling service actions to be carried out by the secure application module on the integrated circuit card |
PT932865E (pt) * | 1996-10-25 | 2002-12-31 | Schlumberger Systems & Service | Utilizacao de linguagem de programacao de nivel elevado com um microcontrolador |
US6381698B1 (en) * | 1997-05-21 | 2002-04-30 | At&T Corp | System and method for providing assurance to a host that a piece of software possesses a particular property |
US6574661B1 (en) * | 1997-09-26 | 2003-06-03 | Mci Communications Corporation | Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client |
JP4427693B2 (ja) * | 1998-10-02 | 2010-03-10 | ソニー株式会社 | データ処理装置および方法、並びにデータ復号処理装置および方法 |
TW449991B (en) * | 1999-01-12 | 2001-08-11 | Ibm | Method and system for securely handling information between two information processing devices |
US6922835B1 (en) * | 1999-01-22 | 2005-07-26 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges |
US6370573B1 (en) * | 1999-08-31 | 2002-04-09 | Accenture Llp | System, method and article of manufacture for managing an environment of a development architecture framework |
US6757893B1 (en) * | 1999-12-17 | 2004-06-29 | Canon Kabushiki Kaisha | Version control system for software code |
US6584476B1 (en) * | 2000-04-22 | 2003-06-24 | Oracle Corp. | System and method for enforcing referential constraints between versioned database tables |
JP4366845B2 (ja) * | 2000-07-24 | 2009-11-18 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びにプログラム提供媒体 |
JP4608749B2 (ja) * | 2000-07-24 | 2011-01-12 | ソニー株式会社 | データ処理装置、データ処理方法、およびライセンスシステム、並びにプログラム提供媒体 |
US7050589B2 (en) * | 2001-08-17 | 2006-05-23 | Sun Microsystems, Inc. | Client controlled data recovery management |
-
2001
- 2001-10-30 JP JP2001333468A patent/JP4055393B2/ja not_active Expired - Fee Related
-
2002
- 2002-10-24 SG SG200206450A patent/SG127686A1/en unknown
- 2002-10-29 US US10/282,109 patent/US7478435B2/en not_active Expired - Fee Related
- 2002-10-30 CN CNB021479399A patent/CN1282071C/zh not_active Expired - Fee Related
-
2003
- 2003-11-05 HK HK03107985A patent/HK1057793A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
SG127686A1 (en) | 2006-12-29 |
JP2003140760A (ja) | 2003-05-16 |
JP4055393B2 (ja) | 2008-03-05 |
US20030167398A1 (en) | 2003-09-04 |
CN1416054A (zh) | 2003-05-07 |
US7478435B2 (en) | 2009-01-13 |
HK1057793A1 (en) | 2004-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1282071C (zh) | 数据处理装置、数据处理方法和程序 | |
CN1252581C (zh) | 保密文件和/或认证文件的远控打印 | |
CN1293482C (zh) | 便携装置的存储区域分割方法 | |
CN1313917C (zh) | 数据处理装置以及数据处理方法 | |
CN1261870C (zh) | 数据处理方法及其设备 | |
CN1183449C (zh) | 用微控制器使用高级程序设计语言 | |
CN1754173A (zh) | 软件管理系统、记录介质和信息处理装置 | |
CN101042736A (zh) | 一种智能卡及智能卡中存取对象的方法 | |
CN1365474A (zh) | 认证装置 | |
CN1476580A (zh) | 内容使用权管理系统和管理方法 | |
CN1482568A (zh) | 用于防止记录介质非授权使用的系统 | |
CN1465006A (zh) | 用于管理存储在移动终端存储块中的程序的系统 | |
CN1241144C (zh) | 自主型集成电路卡 | |
CN1922624A (zh) | 终端装置、服务器装置、终端确认方法、终端程序及存储媒体 | |
CN1759414A (zh) | 便携式终端装置及提供服务器装置 | |
CN101042738A (zh) | 一种实现智能卡多应用的方法及数据处理装置 | |
CN1483177A (zh) | 存储有内容数据的计算机可以读取的信息存储介质以及内容收费系统 | |
CN1602499A (zh) | 数据管理系统、数据管理方法、虚拟存储设备、虚拟存储器控制方法、阅读器/写入器装置、 ic模块访问设备、以及ic模块访问控制方法 | |
CN101047495A (zh) | 用于传送数据的方法和系统 | |
CN1924880A (zh) | 处理器,计算机系统和认证方法 | |
CN101042737A (zh) | 一种智能卡及向智能卡中创建应用、插入对象的方法 | |
CN1822016A (zh) | 基于对称密钥加密保存和检索数据 | |
CN1257635C (zh) | 数据通信方法以及数据处理设备 | |
CN1700222A (zh) | 开放性多商户共享会员卡系统及其构建方法 | |
CN100346321C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1057793 Country of ref document: HK |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061025 Termination date: 20091130 |