[go: up one dir, main page]

WO2002065287A1 - Procede de traitement de donnees et appareil correspondant - Google Patents

Procede de traitement de donnees et appareil correspondant Download PDF

Info

Publication number
WO2002065287A1
WO2002065287A1 PCT/JP2002/001324 JP0201324W WO02065287A1 WO 2002065287 A1 WO2002065287 A1 WO 2002065287A1 JP 0201324 W JP0201324 W JP 0201324W WO 02065287 A1 WO02065287 A1 WO 02065287A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
card
cpu
program
sam
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.)
Ceased
Application number
PCT/JP2002/001324
Other languages
English (en)
French (fr)
Inventor
Masahiro Sueyoshi
Fumio Kubono
Kei Tateno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2001040705A external-priority patent/JP2002244868A/ja
Priority claimed from JP2001040414A external-priority patent/JP4670158B2/ja
Priority claimed from JP2001039969A external-priority patent/JP2002244755A/ja
Priority claimed from JP2001040415A external-priority patent/JP4765174B2/ja
Priority claimed from JP2001042446A external-priority patent/JP2002244925A/ja
Priority claimed from JP2001042397A external-priority patent/JP4617581B2/ja
Priority claimed from JP2001042445A external-priority patent/JP2002244757A/ja
Priority claimed from JP2001042396A external-priority patent/JP2002244756A/ja
Priority claimed from JP2001262288A external-priority patent/JP4207409B2/ja
Priority to HK04104630.4A priority Critical patent/HK1062722B/xx
Priority to US10/257,472 priority patent/US7240345B2/en
Priority to EP02700588A priority patent/EP1361511A4/en
Application filed by Sony Corp filed Critical Sony Corp
Publication of WO2002065287A1 publication Critical patent/WO2002065287A1/ja
Anticipated expiration legal-status Critical
Priority to US11/688,439 priority patent/US8141057B2/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Definitions

  • the present invention relates to a data processing method, a device, a program, a semiconductor circuit, and an authentication method useful for performing a transaction via a network using an IC (Integrated Circuit) built in a card or a portable terminal device. To the equipment for use.
  • IC Integrated Circuit
  • a server device receives a processing request using an IC card from, for example, an IC card reader / writer or a PC (Personal Computer), and performs processing such as user authentication and data encryption and decryption. Do.
  • the server device receives processing requests for many IC cards simultaneously or in a short time. In this case, it is necessary for the server device to efficiently respond to such a processing request.
  • the server device may execute a plurality of application programs each of which performs a procedure related to a plurality of payment providers, and may perform a process using the selected application program in response to a processing request.
  • a plurality of application programs each of which performs a procedure related to a plurality of payment providers, and may perform a process using the selected application program in response to a processing request.
  • the application program executed by the server device needs to describe a code using key information for accessing the IC card and operation commands for operating the IC card. There is. Here, these chain information and operation commands are used to ensure the safety of transactions using IC cards. Only the administrator of the server device can know.
  • an administrator of the server device creates and customizes the application program upon receiving a request from the service provider.
  • the administrator of the server device creates and customizes an application program, there is a problem that the burden on the administrator is large.
  • an application program of a business operator such as a plurality of credit card companies is operating.
  • Such an application program is created by each business operator and downloaded to a server device using a personal computer or the like.
  • each business operator downloads the application program to the server device and then performs debunking as necessary.
  • a method of realizing this for example, there is a method of performing an authentication process using key information when accessing a server device.
  • key information is stored in a terminal device (the above personal computer). Because it is stored in memory, it can be exploited and there is a security problem.
  • the CPU constituting the above-described server device has a built-in CPU, the CPU may access a memory external to the LSI chip.
  • the server device described above may be constituted by a single computer.
  • a plurality of programs related to a plurality of services provided by different operators are operated on a single computer, and the service can transmit highly confidential data such as a payment.
  • highly confidential data owned by each carrier may be illegally acquired or falsified by another carrier.
  • FIG. 13 shows the basic configuration of a general computer 60 1.
  • the CPU 602 performs processing using the instructions and data of the program read from the memory 603.
  • the CPU 602 outputs an address for accessing the memory 603 to the address bus 604.
  • the CPU 602 instructs whether to read from or write to the memory 603 by the control signal S602.
  • Module A, module B, and module C stored in the memory 603 are processing units of a program each having a specific function.
  • the debugger 605 checks the operation of the CPU 602 during program development. Then, the operation of the CPU 602 is temporarily stopped by the HALT signal, the internal information of the CPU 602 is read, and the information is transmitted to the program developer.
  • module A has the basic functions used by module B and module C.
  • module A is a basic function
  • module B it is necessary to prepare an environment where developers of module B and module C can develop programs.
  • One way to do this is to distribute the library. This is expressed in an intermediate language between high-level languages and machine languages (usually called assembly language), but the analysis is relatively easy, and the processing procedure of the program to be concealed may be known. high.
  • the basic module (module A in this example) is stored in the memory 603 in advance, and the developer can use the basic module in a specific location instead of using it as a library. As it exists, it develops software.
  • the content read is machine language, which is the level executed by the CPU 602, but there are tools that convert machine language to assembly language, and it is relatively easy to break the procedure.
  • the developers of modules B and C can suspend the execution of CPU 602 during the execution of module A to know the data being handled and its contents. As a result, there is a problem that all the processing procedures of the module A program can be known.
  • the application programs operating on the server device described above include security data such as key data, billing data, and history data set by the service provider. There is a need to protect data from unauthorized tampering and monitoring in order to handle highly sensitive data.
  • a first object of the present invention is to provide a data processing method, a semiconductor circuit, and a program that can efficiently perform processing according to a large number of processing requests.
  • a second object of the present invention is to provide a data processing method and a semiconductor circuit which allow a user to create and customize a user's application program to be executed on a server device without notifying the user of highly confidential information. And programs.
  • a third object of the present invention is to provide a data processing method capable of preventing each application program from being affected by another application program when a plurality of application programs are operated on the same semiconductor circuit. It is to provide semiconductor circuits and programs.
  • a fifth object of the present invention is to provide a data processing method, a semiconductor circuit, an authentication device, and a program capable of restricting access to a semiconductor device such as a server device according to its authority.
  • a sixth object of the present invention is to provide a semiconductor circuit and data which can maintain confidentiality of highly confidential data even when the data is transmitted between the semiconductor circuit and the semiconductor storage circuit via an external bus. It is to provide a processing method.
  • a seventh object of the present invention is to provide a data processing device capable of maintaining the confidentiality of instructions and data between programs when executing a plurality of programs.
  • An eighth object of the present invention is to provide a semiconductor circuit that can increase the secrecy of a program to be executed.
  • a ninth object of the present invention is to provide a data processing device capable of improving the security of an application program operating on a server device when providing a service using an integrated circuit such as an IC, a method and a program therefor. To provide.
  • a data processing method is a data processing method performed by a semiconductor circuit in response to a plurality of processing requests, wherein a plurality of jobs constituting a processing corresponding to the processing requests are provided.
  • Generating job management data including job execution order data indicating the execution order of the job and status data indicating the progress of execution of the plurality of jobs for each of the plurality of processing requests.
  • One job management data is selected from the plurality of job management data thus selected based on a predetermined rule, and the next execution is performed based on the status data and the processing order data of the selected job management data.
  • the job execution order data indicating the execution order of a plurality of jobs constituting the process according to the processing request, and the progress of the execution of the plurality of jobs are determined by the semiconductor path.
  • Data for job management including status data indicating a state is generated for each of the plurality of processing requests.
  • the semiconductor circuit selects one job management data from the plurality of generated job management data based on a predetermined rule.
  • a job to be executed next is selected by the semiconductor circuit based on the status data and the processing order data of the selected job management data.
  • the selected job is executed by the semiconductor path.
  • the status data of the selected job management data is updated by the semiconductor circuit in accordance with the execution of the job.
  • one job management data is selected from the plurality of data modules.
  • the job management data in which execution of all the jobs constituting the processing according to the processing request is completed is deleted.
  • the data processing method of the first invention is preferably an integrated circuit having a storage unit for storing data used for procedural processing performed with the semiconductor circuit, or between the integrated circuit and the integrated circuit.
  • the processing request is received from a communication device that performs data input / output.
  • a semiconductor circuit is a semiconductor circuit that performs data processing in response to a plurality of processing requests, and includes an interface for inputting the plurality of processing requests, and a plurality of interfaces forming a processing corresponding to the processing requests.
  • a job to be executed next is selected and executed based on the status data and the processing order data, and the job is selected according to the execution of the job.
  • a control circuit for updating the status data of the job management data.
  • the interface inputs a plurality of processing requests
  • the control circuit is configured to execute a plurality of jobs including job execution order data indicating an execution order of a plurality of jobs constituting a process according to the processing request, and status data indicating a progress of execution of the plurality of jobs.
  • Management data is generated in response to the plurality of processing requests and stored in a storage circuit.
  • control circuit selects one job management data from the plurality of job management data.
  • control circuit selects and executes the next job to be executed based on the status data and the processing order data of the selected job management data, and executes the selected job according to the execution of the job.
  • the status data of the jib management data is updated.
  • a program according to a third aspect of the present invention is a program that is executed by a semiconductor circuit that performs data processing in response to a plurality of processing requests, and includes a job that indicates an execution order of a plurality of jobs constituting the processing corresponding to the processing request.
  • Generating job management data including execution order data and status data indicating the progress of execution of the plurality of jobs for each of the plurality of processing requests; and managing the generated plurality of jobs. Selecting one job management data from the application data; selecting a job to be executed next based on the status data and the processing order data of the selected job management data; The execution of the selected job ill! And the status of the selected job management data according to the execution of the job. And a procedure for updating over data.
  • a data processing method is a data processing method performed by a semiconductor circuit operated by an application program that performs a process related to a procedure using an integrated circuit, wherein the application program operates the integrated circuit.
  • a program is input to the semiconductor circuit, and the semiconductor The circuit obtains the operation code corresponding to the operation name described in the operation description program by referring to the corresponding instruction data, and uses the obtained operation code to execute the operation program of the application program. Specify processing.
  • the correspondence instruction data includes a correspondence between the operation name and key information used when performing an operation corresponding to the operation name on the integrated circuit.
  • the semiconductor surface area may be obtained by obtaining the key information corresponding to the operation name described in the operation description program with reference to the correspondence instruction data, and using the obtained key information to execute the application program.
  • the semiconductor surface includes a job indicating an execution order of a plurality of jobs constituting the processing of the application program in response to a processing request.
  • a semiconductor Hi path is a semiconductor circuit on which an application program for performing a process related to a procedure using an integrated circuit operates, wherein the application program is used to operate the integrated circuit.
  • a storage circuit for storing correspondence instruction data indicating a correspondence between an operation code and an operation name, which is the name of the operation, and an operation description program that describes the operation of the abrication program using the operation name are input.
  • An interface and the operation code corresponding to the operation name described in the input operation description program by referring to the corresponding instruction data, and using the obtained operation code, the application program is obtained. and a control circuit that defines processing of the ⁇ -gram.
  • the interface is an application provider.
  • An operation description program that describes the operation of the system using the operation name is input.
  • the control circuit obtains an operation code corresponding to the operation name described in the input operation description program by referring to the corresponding instruction data.
  • control circuit defines the processing of the application program using the obtained operation code.
  • a program according to a sixth aspect of the present invention is a program that is executed by a semiconductor circuit on which an abridgement program that performs a process related to a procedure using an integrated circuit operates.
  • a data processing method is a data processing method performed by a semiconductor circuit that executes an application program, wherein each of a plurality of program modules constituting the application program is stored in advance among a plurality of firewalls.
  • the program module is protected by a firewall assigned to each program module, and the program module is registered in association with firewall identification information for identifying the firewall assigned to the program module, and the registration is performed.
  • the above-mentioned program module is executed on condition that it exists.
  • the data processing method according to the seventh invention is preferably arranged such that data exchange or data reference is permitted between a plurality of program modules registered in association with the same firewall identification information, and different firewall identification information and Prohibition of data transfer or data reference between multiple registered program modules I do.
  • the program module is further associated with download key information used when downloading the program module from outside the semiconductor circuit to the semiconductor circuit.
  • download key information used when downloading the program module from outside the semiconductor circuit to the semiconductor circuit.
  • Judgment of the program module is performed, and if it is determined that the download is possible, the program module is downloaded.
  • a semiconductor circuit is a semiconductor circuit for executing an application program, wherein each of a plurality of program modules constituting the application program is stored in advance by a program module among a plurality of firewalls.
  • the program module is protected by a firewall assigned to the program module, and the program module is registered in association with firewall identification information for identifying a firewall assigned to the program module, and the registration is performed.
  • the program module is executed on condition that:
  • a program according to a ninth aspect is a program executed by a semiconductor circuit that executes an application program, wherein each of a plurality of program modules constituting the application program is stored in advance in each of a plurality of firewalls.
  • a step of protecting the program module with a firewall assigned to the module a step of registering the program module in association with firewall identification information for identifying a firewall assigned to the program module, and a step of registering the program module.
  • a data processing method is a data processing method performed by a semiconductor circuit executing an application program, wherein the data processing method independently executes a plurality of application programs each protected by a firewall.
  • Fire II Conditions for permitting communication between the application programs through the application program are registered in advance, and when the application program generates a communication request with another application program, the communication request is registered. Judge whether the registered condition is satisfied, and execute the communication between the application programs according to the communication request when it is determined that the registered condition is satisfied.
  • the semiconductor device according to the invention of the present invention independently executes a plurality of application programs each protected by a firewall, and registers in advance conditions for permitting communication between the application programs to be performed through the firewall.
  • the application program is linked to another application program. When a communication request is issued, it is determined whether or not the communication request satisfies the registered condition.If it is determined that the registered condition is satisfied, the application corresponding to the communication request. Execute communication between programs.
  • a plurality of application programs each protected by a firewall are independently executed.
  • the semiconductor circuit when the application program generates a communication request with another application program, the semiconductor circuit determines whether the communication request satisfies the registered condition.
  • a program according to a twelfth aspect of the present invention includes a procedure for independently executing a plurality of application programs each protected by a firewall, and a procedure for permitting communication between the application programs via the firewall. Registering a request in advance, and when the application program generates a communication request with another application program, determining whether the communication request satisfies the registered condition. When it is determined that the registered condition is satisfied, the semiconductor circuit is caused to execute a procedure for executing communication between the application programs in response to the communication request.
  • a data processing method is the data processing method in which a semiconductor circuit or a semiconductor storage device capable of accessing the semiconductor circuit downloads a program operating in the semiconductor circuit.
  • the semiconductor circuit can refer to download signature verification key information corresponding to each layer, and when the semiconductor surface receives a download request, the download is performed.
  • the download signature information generated in response to the request is verified using the download signature verification key information, and the semiconductor device determines that the download signature information is valid.
  • downloading the hierarchical program corresponding to the download ⁇ -signature verification key information used in the verification is performed by the download. To allow the publisher of the load request.
  • the authentication device stores access original key information corresponding to a layer to which a program to which down-code is permitted belongs, and the authentication device includes: The download request is transmitted to the semiconductor device, the authentication device generates the download signature information using the access original key information, and transmits the download signature information to the semiconductor circuit.
  • the authentication device stores the identification information of the semiconductor circuit, and the authentication device stores the identification information in plain text as the access original key.
  • the download key information is generated by performing encryption using the information, and generating the download signature information using the down-key original key information.
  • the semiconductor circuit of the fourteenth invention has a software structure composed of a plurality of layers.
  • download signature verification key information corresponding to each layer, and when a download request is received, the download signature information generated in response to the download request is referred to as the download signature.
  • the verification is performed using the verification key information, and provided that the down-signature signature information is verified to be valid, a program of a layer corresponding to the download signature verification key information used in the verification is rewritten.
  • the source of the download request is permitted to download the semiconductor circuit or the semiconductor storage circuit accessible to the semiconductor circuit.
  • the download signature information generated in response to the download request is verified using the download signature verification key information.
  • the semiconductor program has a layer program corresponding to the down-signature signature verification key information used for the verification. Downloading to the semiconductor circuit or a semiconductor storage circuit accessible to the semiconductor circuit is permitted to the issuer of the download request.
  • An authentication device provides a method for down-loading a program operating in the semiconductor circuit to a semiconductor circuit having a software structure having a plurality of layers or a semiconductor storage device accessible by the semiconductor circuit.
  • An authentication device used for authentication at the time of authentication storing access original key information corresponding to the layer to which the program permitted to be downloaded belongs, transmitting the download request to the semiconductor circuit,
  • the download signature information is generated using the access original key information, and the download signature information is transmitted to the semiconductor circuit.
  • the download request is transmitted to the semiconductor circuit.
  • the authentication device generates download signature information using the access original key information.
  • the authentication device sends the download signature information to the semiconductor circuit.
  • a program according to a sixteenth aspect of the present invention is a program executed by a semiconductor circuit having a software structure having a plurality of layers.
  • a download request is received, a download generated in response to the download request is received. Verifying the signature information for use by using the download signature verification key information of the corresponding layer of the plurality of layers, and that the download signature information is verified to be valid. Issuance of the download request to download the program of the hierarchy corresponding to the signature verification key information for download used to the semiconductor circuit or the semiconductor storage image accessible to the semiconductor circuit. Original permission procedure.
  • a semiconductor circuit is a semiconductor circuit having a data processing circuit and a data input / output processing circuit, wherein the data processing path is connected to a bus external to the semiconductor circuit.
  • Data input / output via an output processing circuit, the data input / output circuit encrypts the data input from the data processing circuit with a predetermined data length as a unit, and outputs the encrypted data to the bus;
  • m data input / output transactions via the external bus are performed in units of mill data input / output transactions.
  • data is input / output to / from a bus external to the semiconductor circuit via a data input / output processing circuit.
  • the data input / output circuit encrypts data input from the data processing circuit in units of a predetermined data length, and outputs the data to the bus.
  • the data input / output circuit decodes data input from the bus and outputs the data to the data processing circuit.
  • the data input / output circuit is configured to access a semiconductor storage circuit via the bus based on a first address input from the data processing circuit.
  • the first address is converted to a second address so that the semiconductor memory circuit is accessed in units of a storage area in which the data of Nc is stored, and the second address is converted. Accessing the semiconductor memory circuit using
  • a data processing method is a data processing method performed by a semiconductor circuit when accessing the semiconductor storage image when the semiconductor circuit and the semiconductor storage image are connected via a bus.
  • a data processing device provides a storage circuit that stores instructions and data of a plurality of programs, and accesses the storage circuit via a transmission path, using the instructions and data of the plurality of programs.
  • An arithmetic circuit that executes the plurality of programs, a communication circuit that is interposed between the transmission path and the storage circuit, and connects and disconnects the transmission path and the storage H! Path based on a control signal.
  • a connection switching circuit for setting any one of the connection states; and an access range for each of the plurality of programs, the address range in the storage circuit being accessible while the arithmetic circuit is executing the plurality of programs.
  • Regulation data an address in the storage area from which the arithmetic circuit has issued an access request, and any one of a plurality of programs
  • the control signal is generated to control whether the transmission path and the storage circuit are in a connected state or a non-connected state, based on running program instruction information indicating whether the program is being executed.
  • An input / output interface for performing data input / output between the connection control west road and the arithmetic circuit via the transmission line, and data input / output between the data processing device and the outside; Having.
  • connection control circuit is configured such that an address in the storage circuit to which the arithmetic circuit issues an access request is defined by the access range defining data. If the address is within the address range corresponding to the program being executed, the control signal is generated to indicate that the transmission path is connected to the storage circuit, and if the address is not within the address range. The control signal is generated to indicate that the connection between the transmission path and the storage image is disconnected.
  • a semiconductor circuit is a semiconductor circuit that executes a program, comprising: a first transmission line; a storage circuit that stores instructions or data for executing the program; An arithmetic circuit that operates based on the instruction read from the storage circuit via a transmission path; and a connection state and a non-connection state between the first transmission path and the storage image path based on a first control signal.
  • a first connection switching circuit that sets one of the connection states, and a connection state between a second transmission path outside the semiconductor circuit and the first transmission path based on a second control signal.
  • a second connection switching circuit for setting either one of a connection state and a non-connection state, and the second connection switching circuit for instructing disconnection when outputting the first control signal for instructing connection to the first connection switching circuit. Is output to the second connection switching circuit, Connection control for outputting the second control signal for instructing connection to the second connection switching image when outputting the first control signal for instructing non-connection to the first connection switching circuit. And an image path.
  • the second connection switching circuit is connected to a storage device external to the semiconductor circuit via the second transmission line.
  • the connection control circuit is arranged such that the arithmetic circuit When reading an instruction from the storage circuit, the first control signal instructing connection is output to the first connection switching circuit, and the second control signal instructing disconnection is transmitted to the second connection circuit. Output to the switching circuit.
  • a semiconductor circuit is a semiconductor circuit that executes a program, stores an encrypted instruction or data of the program, and stores the encrypted instruction or data via a first transmission path external to the semiconductor circuit.
  • An encryption / decryption circuit for encrypting data to be output to the device, decrypting an encrypted instruction or data input from the storage device via the first transmission path, and using the decrypted instruction or data.
  • a data processing device is configured by a plurality of data modules each containing processing procedure data describing a processing procedure for providing a service by communicating with an integrated circuit.
  • a plurality of application programs stored in a predetermined storage area, and the data module, and first key data used to use another data module in a process corresponding to the data module.
  • a storage circuit for storing management data indicating a correspondence between the integrated circuit and second key data used for data transfer in the processing corresponding to the data module, and the service based on the data module. Performing a process related to the data module, and in the process, referring to the management data, And using said other data module using the first key data, and a semiconductor circuit for performing the exchange of the integrated circuit and the data using the second key data corresponding to the data module.
  • the storage circuit is configured to: The history data of the processing performed using the data module, the program data indicating the procedure for registering the data module in the storage area, and the procedure for deleting the registration of the data module from the storage area are illustrated. At least one of program data indicating a procedure for defining the storage area for storing the program data and the application program is stored as the data module.
  • the predetermined processing is performed by using the management data. Obtaining the first key data corresponding to the first data module and the first key data corresponding to the other data module, and confirming that the obtained two first key data match. As the condition, the other data module is used from the predetermined data module being executed.
  • a data processing method is a data processing method in which a semiconductor circuit that performs processing for providing a service by communicating with an integrated circuit exchanges data with a storage circuit.
  • the circuit predetermines a plurality of application programs each constituted by a plurality of data modules each including a processing procedure data describing a processing procedure for providing a service by communicating with the integrated circuit.
  • the semiconductor circuit When storing management data indicating the integrated circuit and the second key data used to exchange data
  • the semiconductor circuit performs a process related to the service based on the data module, and the semiconductor circuit refers to the management data in a process related to the service, and performs a process corresponding to the data module.
  • the other circuit module is used by using the first key data, and the semiconductor circuit performs the second key data processing corresponding to the data module in a process related to the service. Data is exchanged with the integrated circuit using data.
  • a program according to a twenty-fourth aspect of the present invention is a program executed by a semiconductor circuit that performs a process for providing a service by communicating with an integrated circuit and executing data exchange with a storage circuit.
  • the circuit executes a plurality of application programs each constituted by a plurality of data modules each including a processing procedure data describing a processing procedure for providing a service by communicating with the integrated circuit.
  • a first key data that is stored in a predetermined storage area and is used to use another data module in a process corresponding to the data module; Management data indicating the integrated circuit and second link data used to exchange data with the integrated circuit in the integrated processing.
  • the method includes a procedure of using another data module, and a procedure of exchanging data with the integrated circuit using the second key data corresponding to the data module in a process related to the service.
  • the first to third inventions it is possible to provide a data processing method, a semiconductor circuit, and a program that can efficiently perform processing according to a large number of processing requests.
  • a data processing method, a semiconductor circuit, and a program that allow a user to create and customize a user application program to be executed on a server device without notifying the user of highly confidential information Can be provided.
  • each application's application program is replaced by another application program. It is possible to provide a data processing method, a semiconductor circuit, and a program that can be prevented from being affected by a content program.
  • the present invention has been made in view of the above-described related art, and when operating a plurality of application programs ⁇ on the same semiconductor circuit, each application program power A data processing method and a semiconductor circuit that allow data to be exchanged between application programs as necessary while preventing unauthorized alteration and monitoring by other application program users, etc. And programs can be provided.
  • a data processing method a semiconductor circuit, an authentication device, and a program capable of restricting access to a semiconductor circuit such as a server device according to its authority. Can be.
  • a data processing device capable of increasing the security of an application program running on a server device when providing a service using an integrated circuit such as an IC, The method and its program can be provided.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

明 細 書 データ処理方法およびその装置 技術分野
本発明は、 カードや携帯端末装置に内蔵された I C (Integrated Ci rcui t)を用 いてネッ トワークを介した取り引きを行う場合に有用なデータ処理方法、 その装 置、 そのプログラム、 半導体回路および認証用装置に閬する。
背景技術
現在、 I C力一ドなどを用いてィ ンターネッ トなどのネッ トワークを介した取 り引きを行う通信システムが開発されている。
このような通信システムでは、 サーバ装置が、 例えば I Cカードのリーダ ' ラ イタや P C (Personal Computer) から I Cカードを用いた処理要求を受け、 ユー ザ認証やデータの暗号化及び復号などの処理を行う。
しかしながら、 上述したような通信システムでは、 多数の I Cカードについて の処理要求を同時あるいは短時間にサーバ装置が受けることが想定される。 この場合に、 サーバ装置において、 このような処理要求に対して効率的に応え る必要がある。
また、 サーバ装置は、 複数の決済事業者に係わる手続き処理をそれぞれ行う複 数のアプリケーショ ンプログラムを実行し、 処理要求に応じて、 選択したアプリ ケ一ショ ンプログラムを用いた処理を行う場合があるが、 このような処理要求に も効率的に応える必要がある。
また、 上述したような通信システムでは、 サーバ装置が実行するアプリケーシ ヨ ンプログラムは、 I Cカードにアクセスを行うための鍵情報や I Cカードを操 作するための操作コマンドを用いてコードを記述する必要がある。 ここで、 これ らの鏈情報や操作コマンドは、 I Cカードを用いた取り引きの安全性を期す上で 上記サーバ装置の管理者のみが知ることができる。
従って、 従来では、 サーバ装置の管理者が、 上記サービス提供者から依頼を受 けて、 上記アプリケ一ショ ンプログラムを作成およびカスタマィズしている。 しかしながら、 上述したようにサーバ装置の管理者がアプリケーショ ンプログ ラムの作成およびカスタマィズを行うのでは、 当該管理者の負担が大きいという 問題がある。
また、 上述したサーバ装置上には、 例えば、 複数のクレジッ トカ一ド会社など の事業者のァプリケーショ ンプログラムが動作している。 このようなアプリケー シヨ ンプログラムは、 各事業者が作成し、 パーソナルコンピュータなどを用いて 、 サーバ装置にダウン Π—ドする。
しかしながら、 上述したようにサーバ装置上で複数の事業者のアプリケーショ ンプログラムを動作させる場合に、 各アプリケーショ ンプログラムの処理が、 他 のアプリケーションプログラムによって監視および改竄されないようにする必要 がある。
その一方、 アプリケーショ ンプログラム間で、 データ授受を行いながら、 多様 なサービスを提供したいという要請がある。
また、 各事業者は、 アプリケーショ ンプログラムをサーバ装置にダウンロード した後に、 必要に応じてデバ'ンクなどを行う。
しかしながら、 上述したように各事業者がサ一バ装置にアプリケ一ショ ンプロ グラムをダウンロードしたり、 当該アプリケ一ショ ンプログラムのデバックなど を行う場合に、 サーバ装置内のプログラムが不正に改竄等されることを防止する 必要がある。
これを実現する手法として、 例えば、 サーバ装置へのアクセスを行う際に、 鍵 情報を用いた認証処理を行う手法があるが、 通常、 このような鍵情報は端末装置 (上記パーソナルコ ンピュータ) のメモリに記憶されているため、 不正利用され る可能性があり、 セキュリティ上の問題がある。 また、 上述したサーバ装置を構成する L S Iには、 C P Uが内蔵されているが 、 C P Uが L S I チップの外部のメモリにアクセスを行う場合がある。
このような場合に、 L S Iチップと外部メモリ との間に設けられたバス上をデ —タが流れるため、 バスをプローブすることによって、 当該データを見ることが できる。
しかしながら、 上述したサーバ装置が、 上述したように、 電子商取引や個人認 証などの秘匿性の高い処理を行う場合には、 上述したようにデータがプローブさ れるとセキユリティ上の問題がある。
また、 上述したサーバ装置が 1合のコンピュータで構成されることがある。 この場合に、 1 台のコ ンピュータ上でそれぞれ異なる事業者が提供する複数の サービスに係わる複数のプ口グラムを動作させることになり、 当該サービスが決 済などのように秘匿性の高いデータを扱う場合には、 各事業者が所有する秘匿性 の高いデータが他の事業者によつて不正に取得されたり、 改竄される可能性があ るという問題がある。
また、 上述したようなコ ンピュータとしては、 従来の一般的なコンピュータを 用いると以下のような問題が生じる。
図 1 3 3は、 一般的なコンピュータ 6 0 1 の基本構成を示している。
M l 3 3に示すコンピュータ 6 0 1では、 C P U 6 0 2はメモリ 6 0 3から読 み出したプログラムの命令およびデータを用いて処理を行う。
C P U 6 0 2 は、 メモリ 6 0 3上のアクセスを行うア ドレスをアドレスバス 6 0 4上に出力する。
また、 C P U 6 0 2は、 制御信号 S 6 0 2によって、 メモリ 6 0 3から読み出 しを行つか、 書き込みを行うかを指示する。
メモリ 6 0 3に記憶されたモジュール A、 モジュール B、 モジュール Cはそれ ぞれが特定の機能を有するプログラムの処理単位である。
デバッガ 6 0 5は、 プログラムの開発時に C P U 6 0 2の動作を確認するもの で、 H A L T信号により C P U 6 0 2の動作を一時的に停止し、 C P U 6 0 2の 内部情報を読み出し、 その情報をプ口グラム開発者に伝える。
ここで、 図 1 3 3において、 モジュール Aが、 モジュール Bやモジュール Cが 使用する基本的な機能を持っているとする。
ここで、 モジュール A内に含んでいる基本機能の手順が秘密性の高いものであ るとする。 このような場合、 モジュール Aは基本機能であるため、 モジュール B やモジュール Cの開発者に対して、 プログラムの開発ができるような環境を整え ておく必要がある。 この手段の一つとして、 ライブラリを配布する方法がある。 これは、 高級言語と機械語の中間的な言語 (通常アセンブリ語とよばれる) で 表現されるが、 解析は比較的容易であり、 秘匿したいプログラムの処理手順が知 れられてしまう可能性が高い。
また、 別の手段として、 あらかじめメモリ 6 0 3上に基本モジュール (本例で はモジュール A ) を格納しておき、 開発者は、 ライブラリとして利用するのでは なく、 特定の場所に、 基本モジュールが存在するものとして、 ソフトゥヱァの開 発を行うものである。
しかし、 この手段であっても、 モジュール B , Cの開発者が、 メモリ 6 0 3上 に格納されたモジュール Aを読み出すことは、 それほど難しくないという問題が ある。 このとき、 読み出された内容は、 C P U 6 0 2が実行するレベルである機 械語であるが、 機械語をアセンブリ言語に変換するツールも存在し、 手順を解折 することは比較的容易に出来る。
また、 モジュール B , Cの開発者がプログラムの開発段階において、 モジュ一 ル Aの実行途中で C P U 6 0 2の実行を一時停止することで、 取り扱つているデ ータや、 その内容を知ることで、 モジュール Aのプログラムの処理手順を全て知 り得るという問題がある。
また、 上述したサーバ装置上で動作するアプリケーショ ンプログラムは、 サ一 ビス提供者が設定した鍵データ、 課金データおよび履歴データなどのセキユリテ ィの高いデータを取り扱うため、 不正な改竄や監視から保護したいという要請が ある。
本発明の第 1の目的は、 多数の処理要求に応じた処理を効率的に行うことがで きるデータ処理方法、 半導体回路およびプログラムを提供することである。 本発明の第 2の目的は、 秘匿性の高い情報をユーザに知らせることなく、 サ一 バ装置で実行するユーザのアプリケーショ ンプ αグラムを当該ユーザが作成およ びカスタマイズできるデータ処理方法、 半導体回路およびプログラムを提供する ことである。
本発明の第 3の目的は、 同じ半導体回路上で複数のアプリケーショ ンプログラ ムを動作させる場合に、 各アプリケーショ ンプログラムが、 他のアプリケ一ショ ンプログラムによって影響を受けることを防止できるデータ処理方法、 半導体回 路およびプログラムを提供することである。
本発明の第 4の目的は、 同じ半導体回路上で複数のアプリケ一ショ ンプロダラ ムを動作させる場合に、 各アプリケーショ ンプログラムが、 他のアプリケ一ショ ンプログラムのユーザ等によって不正に改竄および監視等されることを防止しな がら、 必要に応じてアプリケーショ ンプログラム相互間でのデータ授受を認める データ処理方法、 半導体回路およびプログラムを提供することである。
本発明の第 5の目的は、 サーバ装置などの半導体酉路へのアクセス内容をその 権限に応じて規制できるデータ処理方法、 半導体回路、 認証用装置およびプログ ラムを提供することである。
本発明の第 6の目的は、 秘匿性の高いデータを外部バスを介して半導体回路と 半導体記憶回路との間で伝送する場合でも、 当該データの秘匿性を保つことがで きる半導体回路およびデータ処理方法を提供することである。
本発明の第 7の目的は、 複数のプログラムを実行する場合に、 各プログラム間 で命令およびデータの秘密性を保持できるデータ処理装置を提供することである 本発明の第 8の目的は、 実行するプログラムの秘匿性を高めることができる半 導体回路を提供することである。
本発明の第 9の目的は、 I Cなどの集積回路を用いたサービスを提供する際に 、 サーバ装置上で動作するアプリケーショ ンプログラムのセキユリティを高める ことができるデータ処理装置、 その方法およびそのプログラムを提供することで あ 。
発明の開示
上述した目的を達成するために、 第 1の発明のデータ処理方法は、 複数の処理 要求に応じて半導体回路が行うデータ処理方法であって、 前記処理要求に応じた 処理を構成する複数のジョブの実行順番を示すジョブ実行順番データと、 前記複 数のジョブの実行の進行状態を示すステータスデータとを舍むジョブ管理用デ一 タを、 前記複数の処理要求のそれぞれについて生成し、 前記生成された複数のジ ヨブ管理用データから一つのジヨブ管理用データを所定の規則に基づいて選択し 、 前記選択したジョブ管理用データの前記ステータスデータおよび前記処理順番 データに基づいて、 次に実行を行うジョブを選択し、 前記選択したジョブを実行 し、 当該ジョブの実行に応じて、'前記選択したジョブ管理用データの前記ステ一 タスデータを更新する。
第 1の発明のデータ処理方法では、 先ず、 半導体画路によって、 処理要求に応 じた処理を構成する複数のジョブの実行順番を示すジョブ実行順番データと、 前 記複数のジョブの実行の進行状態を示すステータスデータとを舍むジョブ管理用 データ力^ 前記複数の処理要求のそれぞれについて生成される。
次に、 半導体回路によって、 前記生成された複数のジョブ管理用データから一 つのジョブ管理用データを所定の規則に基づいて選択される。
次に、 半導体回路によって、 前記選択したジョブ管理用データの前記ステータ スデータおよび前記処理順番データに基づいて、 次に実行を行うジョブが選択さ れる。 次に、 半導体画路によって、 前記選択したジョブが実行される。
次に、 半導体回路によって、 当該ジョブの実行に応じて、 前記選択したジョブ 管理用データの前記ステータスデータが更新される。
また、 第 1の発明のデータ処理方法は、 好ましくは、 前記選択したジョブ管理 用データの前記ステータスデータを更新した後に、 前記複数のデータモジュール から一つのジョブ管理用データを選択する。
また、 第 1の発明のデータ処理方法は、 好ましくは、 は、 前記処理要求に応じ た処理を構成する全てのジョブの実行が終了した前記ジョブ管理用データを消去 する。
また、 第 1の発明のデータ処理方法は、 好ましくは、 前記半導体回路との間で 行われる手続き処理に用いられるデータを記憶する記憶部を有する集積回路、 あ るいは当該集積回路との間でデータ入出力を行う通信装置から前記処理要求を受 信する。
第 2の発明の半導体回路は、 複数の処理要求に応じてデータ処理を行う半導体 回路であって、 前記複数の処理要求を入力するイ ンタフェースと、 前記処理要求 に応じた処理を構成する複数のジョブの実行順番を示すジョブ実行順番データと 、 前記複数のジョブの実行の進行状態を示すステータスデータとを舍むジョブ管 理用データを記憶する記憶画路と、 前記入力した複数の処理要求のそれぞれにつ いて前記ジョブ管理用データを生成して前記記憶回路に記憶し、 前記生成された 複数のジョブ管理用データから一つのジョブ管理用データを選択し、 前記選択し たジヨブ管理用データの前記ステータスデータおよび前記処理順番デ一タに基づ いて、 次に実行を行うジョブを選択して実行し、 当該ジョブの実行に応じて、 前 記選択したジョブ管理用データの前記ステータスデータを更新する制御回路とを 有する。
第 2の発明の半導体回路では、 イ ンタフ ースが、 複数の処理要求を入力する 次に、 制御回路が、 処理要求に応じた処理を構成する複数のジョブの実行順番 を示すジョブ実行順番データと、 前記複数のジョブの実行の進行状態を示すステ —タスデータとを含む複数のジョブ管理用データを、 前記複数の処理要求に応じ て生成し、 これを記憶回路に記憶する。
次に、 制御回路が、 複数のジョブ管理用データから一つのジョブ管理用データ を選択する。
次に、 制御回路が、 前記選択したジョブ管理用データの前記ステータスデータ および前記処理順番データに基づいて、 次に実行を行うジョブを選択して実行し 、 当該ジョブの実行に応じて、 前記選択したジ ブ管理用データの前記ステータ スデータ ¾更新する。
第 3の発明のプログラムは、 複数の処理要求に応じてデータ処理を行う半導体 回路によって実行されるプログラムであって、 前記処理要求に応じた処理を構成 する複数の.ジョブの実行順番を示すジョブ実行順番データと、 前記複数のジョブ の実行の進行状態を示すステータスデータとを舍むジョブ管理用データを、 前記 複数の処理要求のそれぞれについて生成する手順と、 前記生成された複数のジョ ブ管理用データから一つのジョブ管理用データを選択する手順と、 前記選択した ジョブ管理用データの前記ステータスデータおよび前記処理順番デ一夕に基づい て、 次に実行を行うジョブを選択する手順と、 前記選択したジョブを実行する手 ill!と、 当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ステ 一タスデータを更新する手順とを有する。
第 4の発明のデータ処理方法は、 集積回路を用いた手続きに関する処理を行う アプリケーショ ンプログラムが勣作する半導体回路が行うデータ処理方法であつ て、 前記アプリケーショ ンプ グラムが前記集積回路を操作するために用いる操 作コードと前記操作の名前である操作名との対応を示す対応指示データを前記半 導体回路が参照可能であり、 前記アプリケーショ ンプログラムの動作を前記操作 名を用いて記述した動作記述プログラムを前記半導体画路が入力し、 前記半導体 回路が、 前記動作記述プログラムに記述された前記操作名に対応する前記操作コ 一ドを前記対応指示データを参照して得て、 当該得た操作コードを用いて前記ァ プリケ一シヨ ンプログラムの処理を規定する。
また、 第 4の発明のデータ処理方法は、 好ましくは、 前記対応指示データは、 前記操作名と、 当該操作名に対応する操作を前記集積回路に行うときに用いられ る鍵情報との対応をさらに示し、 前記半導体面路は、 前記動作記述プログラムに 記述された前記操作名に対応する前記鍵情報を前記対応指示データを参照して得 て、 当該得た鍵情報を用いて前記アプリケーショ ンプログラムの処理を規定する また、 第 4の発明のデータ処理方法は、 好ましくは、 前記半導体面路は、 処理 要求に応じて、 前記アプリケーショ ンプログラムの処理を構成する複数のジョブ の実行順番を示すジョブ実行順番データと、 前記複数のジョブの実行の進行状態 を示すステータスデータとを含むジョブ管理用データを生成し、 前記ジョブ管理 用データの前記ステータスデータおよび前記処理順番データに基づいて、 次に実 行を行うジョブを選択し、 前記選択したジョブを実行し、 当該ジョブの実行に応 じて、 前記選択したジョブ管理用データの前記ステータスデータを更新する。 第 5の発明の半導体 Hi路は、 集積画路を用いた手続きに関する処理を行うアブ リケーショ ンプログラムが動作する半導体回路であって、 前記アプリケーショ ン プ口グラムが前記集積回路を操作するために用いる操作コードと前記操作の名前 である操作名との対応を示す対応指示データを記憶する記憶回路と、 前記アブリ ケ一シヨ ンプログラムの動作を前記操作名を用いて記述した動作記述プログラム を入力するィンタフ ースと、 当該入力した前記動作記述プログラムに記述され た前記操作名に対応する前記操作コードを前記対応指示データを参照して得て、 当該得た操作コードを用いて前記アプリケ一ショ ンプ σグラムの処理を規定する 制御回路とを有する。
第 5の発明の半導体西路では、 イ ンタフェースが、 アプリケーショ ンプロダラ ムの動作を操作名を用いて記述した動作記述プログラムを入力する。 次に、 制御回路が、 前記入力した前記動作記述プログラムに記述された前記操 作名に対応する操作コードを対応指示データを参照して得てる。
次に、 制御回路が、 当該得た操作コードを用いて前記アプリケーショ ンプログ ラムの処理を規定する。
第 6の発明のプログラムは、 集積回路を用いた手続きに関する処理を行うアブ リケ一シヨ ンプログラムが動作する半導体回路によって実行されるプログラムで あつ 、
前記集積回路に対する操作の名前である操作名を用いて前記アプリケーショ ン プ口グラムの動作を記述した動作記述プログラムを入力する手順と、 前記アブリ ケーシヨ ンプログラムが前記集積回路を操作するために用いる操作コードと前記 操作名との対応を示す対応指示データを参照して、 前記動作記述プログラムに記 逑された前記操作名に対応する前記操作コードを得る手順と、 前記得た操作コー ドを用いて前記アブリケ一シヨ ンプロダラムの処理を規定する手順とを有する。 第 7の発明のデータ処理方法は、 アプリケーショ ンプログラムを実行する半導 体回路が行うデータ処理方法であって、 前記アプリケーショ ンプログラムを構成 する複数のプログラムモジュールの各々を、 複数のファィァウォールのうち予め 各プログラムモジュールに割り当てられたフアイァウォールによって保護し、 前 記プログラムモジュールを、 当該プログラムモジュールに割り当てられたフアイ ァゥォールを識別するフアイァゥォ一ル識別情報と対応付けて登録し、 前記登録 が行われていることを条件に、 前記プログラムモジュールを実行する。
第 7の発明のデータ処理方法は、 好ましくは、 同じファイアウォール識別情報 と対応付けて登録されている複数のプログラムモジュ一ル間では、 データ授受ま たはデータ参照を許可し、 異なるファイアウォール識別情報と対応付けて登録さ れている複数のプログラムモジユール間ではデータ授受またはデータ参照を禁止 する。
第 7の発明のデータ処理方法は、 好ましくは、 前記プログラムモジュールを、 前記半導体回路の外部から前記半導体回路に当該プログラムモジュールをダゥン ロードするときに用いられるダウン —ド用鍵情報とさらに対応付けて登録し、 前記プログラムモジュールのダウン口一ド要求を受けると、 当該プログラムモジ ユールに対応して登録された前記ダウンロード用鍵情報を用いて、 当該ダウン口
—ドの可否を判断し、 ダウンロード可と判断された場合に、 当該プログラムモジ ユールのダウンロードを行う。
第 8の発明の半導体回路は、 アプリケーショ ンプ αグラムを実行する半導体面 路であって、 前記アプリケ一ショ ンプログラムを構成する複数のプログラムモジ ユールの各々を、 複数のファィァウォールのうち予め各プログラムモジュールに 割り当てられたフアイァウォールによって保護し、 前記プログラムモジュールを 、 当該プログラムモジュ一ルに割り当てられたファイアゥォールを識別するファ ィァウォール識別情報と対応付けて登録し、 前記登録が行われていることを条件 に、 前記プログラムモジュールを実行する。
第 9の発明のプログラムは、 アプリケーショ ンプログラムを実行する半導体回 路が実行するプログラムであって、 前記アプリケーショ ンプ口グラムを構成する 複数のプログラムモジュールの各々を、 複数のファィァウォールのうち予め各プ ログラムモジユールに割り当てられたファイアウォールによつて保護する手順と 、 前記プログラムモジュールを、 当該プログラムモジュールに割り当てられたフ ァィァウォールを識別するファイアウォール識別情報と対応付けて登録する手順 と、 前記登録が行われていることを条件に、 前記プログラムモジュールを実行す る手順とを有する。
第 1 0の発明のデータ処理方法は、 アプリケーショ ンプログラムを実行する半 導体回路が行うデータ処理方法であって、 それぞれファイアウォールによって保 護された複数のァプリケーシヨ ンプ αグラムを独立して実行し、 前記ファイアゥ ォールを介して行われる前記ァプリケ一シヨ ンプログラム間の通信を許可する条 件を予め登録し、 前記アプリケーションプログラムが他の前記アプリケーショ ン プログラムとの通信要求を発生すると、 当該通信要求が前記登録された条件を満 たしているか否かを判断し、 前記登録された条件を満たしていると判断した場合 に、 前記通信要求に応じた前記アプリケ一ションプ αグラム間の通信を実行する 第 1 1の発明の半導体酉路は、 それぞれファイアウォールによって保護された 複数のアプリケ一ショ ンプログラムを独立して実行し、 前記ファィァウォールを 介して行われる前記アプリケーショ ンプログラム間の通信を許可する条件を予め 登録し、 前記アプリケーショ ンプログラムが他の前記アプリケーショ ンプログラ ムとの通信要求を発生すると、 当該通信要求が前記登録された条件を満たしてい るか否かを判断し、 前記登録された条件を満たしていると判断した場合に、 前記 通信要求に応じた前記アプリケーショ.ンプログラム間の通信を実行する。
第 1 1の半導体回路では、 それぞれファイアウォールによって保護された複数 のアプリケ一ショ ンプログラムを独立して実行する。
また、 当該半導体回路では、 前記ファイアウォールを介して行われる前記アブ リケーシヨ ンプログラム間の通信を許可する条件を予め登録する。
そして、 当該半導体回路では、 前記アプリケーショ ンプログラムが他の前記ァ プリケーショ ンプログラムとの通信要求を発生すると、 当該通信要求が前記登録 された条件を満たしているか否かを判断する。
そして、 当該半導体回路では、 前記登録された条件を満たしていると判断した 場合に、 前記通信要求に応じた前記アプリケ一ショ ンプログラム間の通信を実行 する。
第 1 2の発明のプログラムは、 それぞれファイアウォールによって保護された 複数のアプリケーショ ンプログラムを独立して実行する手順と、 前記ファイアゥ オールを介して行われる前記アプリケ一ショ ンプログラム間の通信を許可する条 件を予め登録する手順と、 前記アプリケーショ ンプログラムが他の前記アプリケ ーショ ンプログラムとの通信要求を発生すると、 当該通信要求が前記登録された 条件を満たしているか否かを判断する手順と、 前記登録された条件を満たしてい ると判断した場合に、 前記通信要求に応じた前記アプリケーショ ンプログラム間 の通信を実行する手順とを半導体回路に実行させる。
第 1 3の発明のデータ処理方法は、 半導体回路または当該半導体回路がァクセ ス可能な半導体記憶装置が、 前記半導体回路内で動作するプログラムをダウンロ ードするデータ処理方法であって、 前記半導体回路が、 複数の階層からなるソフ トウエア構造を有し、 各階層に対応したダウンロード用署名検証鍵情報を前記半 導体回路が参照可能であり、 前記半導体面路が、 ダウンロード要求を受けると、 当該ダウンロード要求に対応して生成されたダウンロード用署名情報を、 前記ダ ゥン口一ド用署名検証鍵情報を用いて検証し、 前記半導体装置が、 前記ダウン口 ード用署名情報が正当であると検証したことを条件に、 当該検証に用いたダウン α—ド用署名検証鍵情報に対応した階層プログラムをダウンロードすることを、 前記ダウンロード要求の発行元に許可する。
また、 第 1 3の発明のデータ処理方法は、 好ましくは、 認証用装置が、 ダウン π一ドが許可されるプログラムが属する階層に対応したアクセス原鍵情報を記憶 し、 前記認証用装置が、 前記半導体酉路に前記ダウンロード要求を送信し、 前記 認証用装置が、 当該アクセス原鍵情報を用いて前記ダウンロード用署名情報を生 成し、 当該ダウンロード用署名情報を前記半導体回路に送信する。
また、 第 1 3の発明のデータ処理方法は、 好ましくは、 前記認証用装置が、 前 記半導体回路の識別情報を記憶し、 前記認証用装置が、 前記識別情報を平文とし て前記ァクセス原鍵情報を用いて暗号化を行つてダウンロード用原鍵情報を生成 し、 当該ダウン口一ド用原鍵情報を用いて前記ダウンロード用署名情報を生成す る。
第 1 4の発明の半導体回路は、 複数の階層からなるソフ トウェア構造を有する 半導体回路であって、 各階層に対応したダウンロード用署名検証鍵情報を参照可 能であり、 ダウンロード要求を受けると、 当該ダウンロード要求に対応して生成 されたダウンロード用署名情報を、 前記ダウンロード用署名検証鍵情報を用いて 検証し、 前記ダウン α—ド用署名情報が正当であると検証したことを条件に、 当 該検証に用いたダウンロード用署名検証鍵情報に対応した階層のプログラムを、 当該半導体回路または当該半導体回路にアクセス可能な半導体記憶回路にダウン α—ドすることを、 前記ダウンロード要求の発行元に許可する。
第 1 4の発明の半導体回路では、 ダウンロード要求を受けると、 当該ダウン口 ード要求に対応して生成されたダウンロード用署名情報を、 ダウンロード用署名 検証鍵情報を用いて検証する。
そして、 当該半導体画路では、 前記ダウンロード用署名情報が正当であると検 証したことを条件に、 当該検証に用いたダウン口一ド用署名検証鍵情報に対応し た階層のプログラムを、 当該半導体回路または当該半導体回路にアクセス可能な 半導体記憶回路にダウンロードすることを、 前記ダウンロード要求の発行元に許 可する。
第 1 5の発明の認証用装置は、 複数の階層からなるソフ トウユア構造を有する 半導体回路または当該半導体回路がアクセス可能な半導体記憶装置に、 前記半導 体回路内で動作するプログラムをダウン口一ドする際の認証に用いられる認証用 装置であって、 前記ダウンロードが許可されるプログラムが属する前記階層に対 応したアクセス原鍵情報を記憶し、 前記半導体回路に前記ダウンロード要求を送 信し、 当該アクセス原鍵情報を用いて前記ダウンロード用署名情報を生成し、 当 該ダウンロード用署名情報を前記半導体回路に送信する。
当該第 1 5の発明の認証用装置では、 先ず、 半導体回路に前記ダウンロード要 求を送信する。
そして、 当該認証用装置では、 アクセス原鍵情報を用いてダウンロード用署名 情報を生成する。
1 i そして、 当該認証用装置では、 当該ダウンロード用署名情報を前記半導体回路 に达 feする。
第 1 6の発明のプ αグラムは、 複数の階層からなるソフ トウヱァ構造を有する 半導体回路が実行するプログラムであって、 ダウンロード要求を受けると、 当該 ダウンロ一ド要求に対応して生成されたダウンロード用署名情報を、 前記複数の 階層のうち対応する層の前記ダゥンロード用署名検証鍵情報を用いて検証する手 順と、 前記ダウンロード用署名情報が正当であると検証したことを条件に、 当該 検証に用いたダウンロード用署名検証鍵情報に対応した階層のプログラムを、 当 該半導体回路または当該半導体回路にアクセス可能な半導体記憶画路にダウン α ードすることを、 前記ダウン α—ド要求の発行元に許可する手順とを有する。 第 1 7の発明の半導体回路は、 データ処理回路およびデータ入出力処理回路を 有する半導体回路であって、 前記データ処理画路は、 当該半導体回路の外部のバ スとの間で、 前記データ入出力処理回路を介してデータを入出力し、 前記データ 入出力回路は、 前記データ処理回路から入力したデータを、 所定のデータ長を単 位として暗号化して前記バスに出力し、 前記バスから入力したデータを復号して 前記データ処理回路に出力し、 前記バスのバス幅を N bとし、 前記デ一タ長を N cとし、 N cノN b = Ilとし、 n以上の最も小さい整数を mとした場合に、 前記 外部バスを介したデータ入出力トランザクショ ンを、 millのデータ入出力トラン ザクショ ンを単位として行う。
第 1 7の発明の半導体 HI路では、 半導体回路の外部のバスとの間で、 データ入 出力処理回路を介してデータを入出力する。
このとき、 前記データ入出力回路は、 前記データ処理回路から入力したデータ を、 所定のデータ長を単位として暗号化して前記バスに出力する。
また、 データ入出力画路は、 前記バスから入力したデータを復号して前記デー タ処理回路に出力する。
このとき、 当該データ入出力装置は、 前記バスのバス幅を N bとし、 前記デー タ長を N cとし、 1^ (;ノ1^ 1) = 11とし、 n以上の最も小さい整数を mとした場合 に、 前記外部バスを介したデータ入出力トランザクションを、 m回のデータ入出 力トランザクションを単位として行う。
また、 第 1 7の発明の半導体回路は、 好ましくは、 前記データ入出力画路は、 前記データ処理回路から入力した第 1 のァ ドレスに基づいて、 前記バスを介して 半導体記憶回路にアクセスを行う場合に、 N cのデータが記憶される記憶領域を 単位として前記半導体記憶回路にアクセスを行うように、 前記第 1のァ ドレスを 第 2のァ ドレスに変換し、 当該第 2のァ ドレスを用いて前記半導体記憶回路にァ クセスを 亍ぅ。
第 1 8の発明のデータ処理方法は、 バスを介して半導体回路と半導体記憶画路 とが接続されている場合に、 前記半導体記憶画路にアクセスを行うときに半導体 回路が行うデータ処理方法であって、 前記半導体記憶 HI路に書き込むデータを所 定のデータ長を単位として暗号化して前記バスに出力し、 前記バスから入力した データを復号し、 前記バスのバス幅を N bとし、 前記データ長を N cとし、 N c / N b = nとし、 n以上の最も小さい整数を mとした場合に、 前記外部バスを介 したデータ入出力トランザクショ ンを、 m回のデータ入出力トランザクショ ンを 単位として行う。
第 1 9の発明のデータ処理装置は、 複数のプログラムの命令およびデータを記 憶する記憶回路と、 伝送路を介して前記記憶回路にアクセスを行い、 前記複数の プログラムの命令およびデータを用いて前記複数のプログラムを実行する演算回 路と、 前記伝送路と前記記憶回路との間に介在し、 制御信号に基づいて、 前記伝 送路と前記記憶 H!路との間を接続状態および非接続状態の何れか一方に設定する 接続切換回路と、 前記演算回路が前記複数のプログラムを実行中にアクセス可能 な前記記憶回路内のア ドレス範囲を前記複数のプログラムの各々について規定し たアクセス範囲規定データと、 前記演算回路がアクセス要求を出した前記記憶面 路内のァドレスと、 前記演算回路が複数のプログラムのうち何れのプログラムを 実行中であるかを示す実行中プログラム指示情報とに基づいて、 前記伝送路と前 記記憶回路との間を接続状態および非接続状態の何れにするかを制御する前記制 御信号を生成する接続制御西路と、 前記伝送路を介した前記演算回路との間のデ ータ入出力と、 当該データ処理装置の外部との間のデータ入出力とを行う入出力 ィンタフヱ一ス画路とを有する。
また、 第 1 9の発明のデータ処理装置は、 好ましくは、 前記接続制御回路は、 前記演算回路がアクセス要求を出した前記記憶回路内のァドレスが、 前記ァクセ ス範囲規定デ―タが規定する前記実行中のプログラムに対応するアドレス範囲内 にある場合に、 前記伝送路と前記記憶回路との間を接続状態にすることを示す前 記制御信号を生成し、 当該ァドレス範囲内にない場合に前記伝送路と前記記憶画 路との間を非接続状態にすることを示す前記制御信号を生成する。
また、 第 2 0の発明の半導体回路は、 プログラムを実行する半導体回路であつ て、 第 1の伝送路と、 前記プログラムを実行するための命令またはデータを記憶 する記憶回路と、 前記第 1の伝送路を介して前記記憶回路から読み出した前記命 令に基づいて動作する演算回路と、 第 1の制御信号に基づいて前記第 1の伝送路 と前記記憶画路との間を接続状態および非接続状態の何れか一方にする第 1の接 続切換回路と、 第 2の制御信号に基づいて、 当該半導体回路の外部の第 2の伝送 路と前記第 1の伝送路との間を接続状態および非接続状態の何れか一方にする第 2の接続切換回路と、 接続を指示する前記第 1の制御信号を前記第 1の接続切換 回路に出力するときに、 非接続を指示する前記第 2の制御信号を前記第 2の接続 切換回路に出力し、 非接続を指示する前記第 1の制御信号を前記第 1の接続切換 回路に出力するときに、 接続を指示する前記第 2の制御信号を前記第 2の接続切 換画路に出力する接続制御画路とを有する。
また、 第 2 0の発明の半導体回路は、 前記第 2の接続切換回路は、 前記第 2の 伝送路を介して、 前記半導体回路の外部にある記憶装置に接続されている。 また、 第 2 0の発明の半導体回路は、 前記接続制御回路は、 前記演算回路が前 記記憶回路から命令を読み出す場合に、 接続を指示する前記第 1の制御信号を前 記第 1の接続切換回路に出力し、 非接続を指示する前記第 2の制御信号を前記第 2の接続切換回路に出力する。
第 2 1の発明の半導体回路は、 プログラムを実行する半導体回路であって、 前 記プログラムの暗号化された命令またはデータを記憶し、 当該半導体回路の外部 の第 1の伝送路を介して記憶装置に出力するデータを暗号化し、 前記第 1の伝送 路を介して前記記憶装置から入力した暗号化された命令またはデータを復号する 暗号化復号回路と、 前記復号された命令またはデータを用いて演算を行う演算回 路と、 制御信号に基づいて、 前記半導体回路の外部の第 2の伝送路と、 前記演算 画路との間の通信の許否を選択する選択回路と、 前記演算画路が、 前記プログラ ムの命令またはデータを用いて処理を行っている間、 前記第 2の伝送路と前記演 算画路との間の通信を不許可にすることを指示する前記制御信号を前記選択画路 に出力する制御回路とを有する。
第 2 2の発明のデータ処理装置は、 集積回路との間で通信を行ってサービスを 提供するための処理手順を記述した処理手順データを舍む複数のデータモジュ一 ルによつてそれぞれ構成される複数のアプリケーショ ンプログラムをそれぞれ予 め決められた記憶領域に記憶し、 前記データモジュールと、 当該データモジユー ルに応じた処理において他の前記データモジュールを利用するために用いられる 第 1の鍵データと、 当該データモジュールに応じた処理において前記集積回路と データ授受を行うために用いられる第 2の鍵データとを対応付けて示す管理デー タを記憶する記憶回路と、 前記データモジュールに基づいて前記サービスに係わ る処理を行い、 当該処理において、 前記管理データを参照して、 当該データモジ ユールに対応した前記第 1の鍵データを用いて前記他のデータモジュールを利用 し、 当該データモジュールに対応した前記第 2の鍵データを用いて前記集積回路 とデータの授受を行う半導体回路とを有する。
また、 第 2 2の発明のデータ処理装置は、 好ましくは、 前記記憶回路は、 前記 データモジュールを用いて行われた処理の履歴データ、 前記記憶領域に対して前 記データモジュールを登録する手順を示したプログラムデータ、 前記記憶領域か ら前記データモジュールの登録を削除する手順を示したプ αグラムデータ、 並び に前記ァプリケーショ ンプ口グラムを記憶する前記記憶領域を規定するための手 順を示したプログラムデータのうち少なく も一つを前記データモジュールとして 記憶する。
また、 第 2 2の発明のデータ処理装置は、 好ましくは、 前記半導体回路は、 前記他のデータモジュールに応じた処理が当該半導体回路で実行される場合に 、 前記管理データを用いて、 前記所定のデータモジュールに対応する前記第 1の 鍵データと、 前記他のデータモジュールに対応する前記第 1の鍵データとを得て 、 当該得た 2つの第 1の鍵データが一致していることを条件に、 前記実行中の所 定のデータモジユールから前記他のデータモジユールを利用する。
第 2 3の発明のデータ処理方法は、 集積回路との間で通信を行ってサービスを 提供するための処理を行う半導体回路が記憶画路とデータ授受をするデータ処理 方法であって、 前記記憶回路が、 集積回路との間で通信を行ってサービスを提供 するための処理手順を記述した処理手順データを舍む複数のデータモジユールに よってそれぞれ構成される複数のアプリケーショ ンプログラムをそれぞれ予め決 められた記憶領域に記憶し、 前記データモジュールと、 当該データモジュールに 応じた処理において他の前記データモジュールを利用するために用いられる第 1 の鍵データと、 当該データモジュールに応じた処理において前記集積回路とデー タ授受を行うために用いられる第 2の鍵データとを対応付けて示す管理データを 記憶する場合に、 前記半導体回路が、 前記データモジュールに基づいて前記サー ビスに係わる処理を行い、 前記半導体回路が、 前記サービスに係わる処理におい て、 前記管理データを参照して、 当該データモジュールに対応した前記第 1 の鍵 データを用いて前記他のデータモジュールを利用し、 前記半導体回路が、 前記サ —ビスに係わる処理において、 当該データモジュールに対応した前記第 2の鍵デ ータを用いて前記集積回路とデータの授受を行う。
第 2 4の発明のプログラムは、 集積回路との間で通信を行ってサービスを提供 するための処理を行うと共に記憶回路とデータ授受を行う半導体回路が実行する プ αグラムであって、 前記記憶回路が、 集積回路との間で通信を行ってサービス を提供するための処理手順を記述した処理手順データを舍む複数のデータモジュ —ルによつてそれぞれ構成される複数のァプリケーショ ンプログラムをそれぞれ 予め決められた記憶領域に記憶し、 前記データモジュールと、 当該データモジュ ールに応じた処理において他の前記データモジュールを利用するために用いられ る第 1の鍵データと、 当該データモジュールに応じた処理において前記集積回路 とデータ授受を行うために用いられる第 2の鏈データとを対応付けて示す管理デ —タを記憶する場合に、 前記データモジュールに基づいて前記サービスに係わる 処理を行う手順と、 前記サービスに係わる処理において、 前記管理データを参照 して、 当該データモジュールに対応した前記第 1の鍵データを用いて前記他のデ ータモジュールを利用する手順と、 前記サービスに係わる処理において、 当該デ —タモジュールに対応した前記第 2の鍵データを用いて前記集積回路とデータの 授受を行う手順とを有する。
上述した本発明によって、 以下の効果が達成できる。
すなわち、 第 1〜第 3の発明によれば、 多数の処理要求に応じた処理を効率的 に行うことができるデータ処理方法、 半導体回路およびプログラムを提供するこ とができる。
第 4〜第 6の発明によれば、 秘匿性の高い情報をユーザに知らせることなく、 サーバ装置で実行するユーザのアプリケーショ ンプログラムを当該ユーザが作成 およびカスタマイズできるデータ処理方法、 半導体回路およびプ グラムを提供 することができる。
第 7〜第 9の発明によれば、 同じ半導体画路上で複数のアプリケーションプロ グラムを動作させる場合に、 各アプリ'ケ一シヨンプログラムが、 他のァプリケ一 シヨンプログラムによつて影響を受けることを防止できるデータ処理方法、 半導 体回路およびプログラムを提供することができる。
第 1 0〜第 1 2の発明によれば、 上述した従来技術に鑑みてなされたものであ り、 同じ半導体回路上で複数のァプリケーシヨ ンプ αグラムを動作させる場合に 、 各アプリケーショ ンプログラム力、 他のァプリケーショ ンプログラムのユーザ 等に.よつて不正に改竄および監視等されることを防止しながら、 必要に応じてァ プリケーショ ンプログラム相互間でのデータ授受を認めるデータ処理方法、 半導 体回路およびプログラムを提供することができる。
第 1 3〜第 1 6の発明によれば、 サーバ装置などの半導体回路へのアクセス内 容をその権限に応じて規制できるデータ処理方法、 半導体回路、 認証用装置およ びプログラムを提供することができる。
第 1 7および第 1 8の発明によれば、 秘匿性の高いデータを外部バスを介して 半導体回路と半導体記憶回路との間で伝送する場合でも、 当該データの秘匿性を 保つことができる半導体回路およびデータ処理方法を提供することができる。 第 1 9の発明によれば、 複数のプログラムを実行する場合に、 各プログラム間 で命令およびデータの秘密性を保持できるデータ処理装置を提供することができ る。
第 2 0および第 2 1の発明によれば、 実行するプログラムの秘匿性を高めるこ とができる半導体 HI路を提供することができる。
第 2 2〜第 2 4の発明によれば、 I Cなどの集積回路を用いたサービスを提供 する際に、 サーバ装置上で動作するアプリケ一ショ ンプログラムのセキユリティ を高めることができるデータ処理装置、 その方法およびそのプ αグラムを提供す ることができる。

Claims

図面の簡単な説明 図 1は、 本発明の実施形態の通信システムの全体構成図である。 図 2は、 図 1に示す S A Mチップのソフトウヱァ構成を説明するための図であ る。 図 3は、 図 1に示す I Cカードの I Cの機能ブロック図である。 図 4は、 図 3に示す記憶部に記憶される情報を説明するための図である。 図 5は、 図 1 に示す S A Mュニッ トの外部メモリに記憶されている情報を説明 するための図である。 図 6は、 図 5に示すサービス定義テーブルデータを説明するための図である。 図 7は、 図 5に示すサービス定義テーブルデータおよびスクリプトプログラム を用いた S A Mチップ内の処理を説明するための図である。 図 8は、 スクリプトプログラムで用いられるコマンドを説明するための図であ る。 図 9は、 図 1に示す S A Mチップの機能プロック図である。 図 1 0は、 図 9に示す記憶部に記憶されるデータを説明するための図である。 図 1 1は、 S A Mチップで生成される I Cカードエンティティデータのフォー マツ トを説明するための図である。 図 1 2は、 図 1 1に示す I C力一ドエンティティデータの状態遷移図である。 図 1 3は、 図 1 0に示す I Cカート"手続管理タスクの処理手順を説明するため の図である。 図 1 4は、 図 1に示す通信システムの全体動作を説明するための図である。 図 1 5は、 図 1に示す通信システムの全体動作を説明するための図である。 図 1 6は、 I Cカードと S A Mチップとの間の通信プロ トコルを説明するため の図である。 図 1 7は、 図 9に示す S A Mチップの機能プロックをより具体的にした機能ブ 口ック図である。 図 1 8は、 S A Mチップのその他の使用形態を説明するための図である。 図 1 9は、 本発明の実施形態の通信システムの全体構成図である。 図 2 0は、 図 1 9に示す S A Mチップのソフトウ ア構成を説明するための図 である。 図 2 1は、 図 1 9に示す I Cカードの I Cの機能ブ πック図である。 図 2 2は、 図 2 1に示す記憶部に記憶される情報を説明するための図である。 図 2 3は、 図 1 9に示す S A Mュニッ トの外部メモリを説明するための図であ る。 図 2 4は、 図 2 3に示すモジュール管理用データのフォーマ 'ン トを説明するた めの図である。 図 2 5は、 図 1 9に示す S A Mチップの機能プロ 'ンク図である。 図 2 6は、 図 2 5に示す C P Uが実行するタスクを説明するための図である。 図 2 7は、 図 1 9に示すパーソナルコンピュータから、 外部メモリにアプリケ ーションプログラムをダウンロードする動作を説明するためのフローチヤ一トで あ 。 図 2 8は、 図 1 9に示す S A Mチップがアブリケ一シヨ ンプログラムを実行す る動作を説明するためのフローチヤ一トである。 図 2 9は、 アプリケーショ ンプログラムの実行中の動作を説明するための図で ある。 図 3 0は、 図 1 9に示す通信システムの全体動作を説明するための図である。 図 3 1は、 図 2 5に示す S A Mチップの機能ブロックをより具体的にした機能 ブロック図である。 図 3 2は、 S A Mチップのその他の使用形態を説明するための図である。 図 3 3は、 本発明の実施形態の通信システムの全体構成図である。 図 3 4は、 図 3 3に示す S A Mチップのソフトウヱァ構成を説明するための図 である。 図 3 5は、 図 3 3に示す I Cカードの I Cの機能ブロック図である。 図 3 6は、 図 3 5に示す記憶部に記憶される情報を説明するための図である。 図 3 7は、 図 3 3に示す S A Mュニッ トの外部メモリを説明するための図であ る。 図 3 8は、 図 3 7に示す A P選択用データを説明するための図である。 図 3 9は、 図 3 7に示す A P間通信用データを説明するための図である。 図 4 0は、 図 3 3に示す S A Mチップの機能ブロック図である。 図 4 1は、 図 4 0に示す C P Uが実行するタスクを説明するための図である。 図 4 2は、 図 4 1に示す決済処理手順タスクの機能を説明するための図である 図 4 3は、 図 4 1に示す A P間通信用タスクの処理を説明するためのフローチ ヤートであ Φ。 図 4 4は、 図 4 1に示す S A M間通信用タスクを説明するための図である。 図 4 5は、 図 3 3に示す通信システムの全体動作を説明するための図である。 図 4 6は、 図 4 0に示す S A Mチップの機能プロックをより具体的にした機能 ブロック図である。 図 4 7は、 S A Mチップのその他の使用形態を説明するための図である。 図 4 8は、 本発明の実施形態の通信システムの全体構成図である。 図 4 9は、 図 4 8に示す S A Mチップのソフトウヱァ構成を説明するための図 である。 図 5 0は、 図 4 8に示すアプリケ一ションプ σグラムを使用する事業者の認証 用ュニッ トの機能プロック図である。 図 5 1は、 図 5 0に示す相互認証部の機能を説明するための図である。 図 5 2は、 図 5 0に示すダウンロード処理部の機能を説明するための図である 図 5 3は、 図 4 8に示すハンドラ層のソフトウヱァ開発者の認証用ュニッ トの 機能ブロック図である。 図 5 4は、 図 5 3に示すダウンロード処理部の機能を説明するための図である 図 5 5は、 図 4 8に示す S A Mチップの管理者の認証用ュニッ トの機能ブロッ ク図である。 図 5 6は、 図 5 5に示すダウンロード処理部の機能を説明するための図である 図 5 7は、 図 4 8に示す S A Mュニッ トの外部メモリを説明するための図であ る。 図 5 8は、 図 4 8に示す S A Mチップの機能プロック図である。 図 5 9は、 図 4 8に示すパーソナルコ ンピュータから、 外部メモリにアプリケ ーションプログラムをダウン σ—ドする動作を説明するためのフローチヤ一トで ある。 図 6 0は、 図 4 8に示す通信システムの I Cカードを用いた取り引き処理を説 明するための図である。 図 6 1は、 図 5 8に示す S A Mチップの機能プロックをより具体的にした機能 ブロツク図である。 図 6 2は、 S A Mチップのその他の使用形態を説明するための図である。 図 6 3は、 図 4 8に示す通信システムの変形例を説明するための図である。 図 6 4は、 本発明の実施形態の通信システムの全体構成図である。 図 6 5は、 図 6 4に示す S A Mチップのソフ トウヱァ構成を説明するための図 である。 図 6 6は、 図 6 4に示す S A Mュニッ トの外部メモリを説明するための図であ る。 図 6 7は、 図 6 4に示す S A Mチップの機能プロック図である。 図 6 8は、 図 6 6に示す C P U、 バススクランブル部および外部メモリの閬係 を説明するための図である。 図 6 9は、 図 6 8に示す C P Uと外部メモリ とのァドレス空間を説明するため の図である。 図 7 0は、 図 6 7に示すバススクランブル部の機能プロック図である。 図 7 1は、 図 6 7に示すバススクランブル部による外部メモリの書き込み動作 を説明するための図である。 図 7 2は、 図 7 1に示す動作のフ tt一チヤ一トである。 図 7 3は、 図 6 7に示すバススクランブル部による外部メモリの読み出し動作 を説明するための図である。 図 7 4は、 図 7 3に示す動作のフローチヤ一トである。 図 7 5は、 図 7 0に示すスクランブル鍵管理部におけるスクランブル鍵の切り 換え処理を説明するための図である。 図 7 6は、 図 7 0に示すスクランブル鍵管理部におけるスクランブル鍵の切り 換え処理を説明するための図である。 図 7 7は、 図 7 0に示すスクランブル鍵管理部におけるスクランブル鍵の切り 換え夕イ ミングをを説明するための図である。 図 7 8は、 図 7 0に示すスクランブル鍵管理部におけるスクランブル鍵の切り 換えタイ ミングをを説明するための図である。 図 7 9は、 図 7 0に示すパイプライ ン処理制御部によるパイプライ ン処理を説 明するための図である。 図 8 0は、 図 6 4に示す通信システムの全体動作を説明するための図である。 図 8 1は、 図 6 7に示す S A Mチ'ンプの機能プロックをより具体的にした機能 ブロック図である。 図 8 2は、 S A Mチップのその他の使用形態を説明するための図である。 図 8 3は、 本発明の関連技術となる電子決済に用いられるコ ンピュータの機能 ブロック図である。 図 8 4は、 図 8 3および本発明の実施形態のコンピュータのソフ トウヱァ構造 を説明するための図である。 図 8 5は、 図 8 3に示すコンピュータで扱う I Cカードの種別を説明するため の図である。 図 8 6は、 書き込み前の図 8 3に示すメモリの記憶状態を説明するための図で あ ^ 図 8 7は、 書き込み後の図 8 3に示すメモリの記憶状態を説明するための図で ある。 図 8 8は、 図 8 4に示すアプリケーショ ンプログラムと I C力一ドの種別との 対応関係を説明するための図である。 図 8 9は、 本発明の実施形態に係わるコンピュータの構成図である。 図 9 0は、 図 8 9に示す判定画路の構成図である。 図 9 1は、 図 9 0.に示すフ 'ンチ用判定酉路の構成図である。 図 9 2は、 図 9 1に示すフ ツチ用アクセス範囲規定データを説明するための 図である。 図 9 3は、 図 9 1に示すフ ツチ用 A P間呼び出し関係規定データを説明する ための図である。 図 9 4は、 図 9 0に示すリード用判定回路の構成図である。 図 9 5は、 図 9 4に示すリード用アクセス範囲規定データを説明するための図 である。 図 9 6は、 図 9 4に示すリ一ド用 A P間呼び出し関係規定データを説明するた めの図である。 図 9 7は、 図 9 0に示すライ ト用判定回路の構成図である。 図 9 8は、 図 9 7に示すライ ト用アクセス範囲規定データを説明するための図 である。 図 9 9は、 図 9 7に示すライ ト用 A P間呼び出し関係規定データを説明するた めの図である。 図 1 0 0は、 本発明のその他の実施形態を説明するための図である。 図 1 0 1は、 本発明のその他の実施形態を説明するための図である。 図 1 0 2は、 本発明の第 1実施形態の半導体チップの構成図である。 図 1 0 3は、 図 1 0 2に示す半導体チップのソフトウ ア構成を説明するため の図である。 図 1 0 4は、 図 1 0 2に示すプログラム ¾ジュールの構成を説明するための図 である。 図 1 0 5は、 本発明の第 2実施形態の半導体チップの構成図である。 図 1 0 6は、 図 1 0 5に示すプログラムモジュールの構成を説明するための図 である。 図 1 0 7は、 図 1 0 5に示す暗号化復号回路が行う暗号化および復号の単位、 並びにパリティデータを説明するための図である。 図 1 0 8は、 図 1 0 5に示す暗号化復号画路が保持する鍵情報テーブルを説明 するための図である。 図 1 0 9は、 本実施形態の通信システムの全体構成図である。 図 1 1 0は、 図 1 0 9に示す S AMチップが通信を行う他の S AMチップを説 明するための図である。 図 1 1 1は、 図 1 0 9に示す S AMチップが通信を行う他の S AMチップを説 明するための図である。 図 1 1 2は、 図 1 0 9に示す I Cカードの機能ブロック図である。 図 1 1 3は、 図 1 1 2に示すメモリを説明するための図である。 図 1 1 4は、 図 1 0 9に示す SAMチップのソフ トウヱァ構造を説明するため の図である。 図 1 1 5は、 図 1 0 9に示す外部メモリの記憶領域を説明するための図である 図 1 1 6は、 図 1 1 5に示すアプリケ一ションプログラム APを説明するため の図である。 図 1 1 7は、 図 1 1 6に示すアプリケ一ションエレメン トデータ AP Eの種別 を説明するための図である。 図 1 1 8は、 図 1 0 9に示す SAMチップの処理を説明するための図である。 図 1 1 9は、 図 1 1 8に示す I C力一ド操作用マクロコマンドスクリプトプロ グラムで使用されるコマンドを説明するための図である。 図 1 2 0は、 図 1 1 5に示す AP管理用記憶領域を説明するための図である。 図 1 2 1は、 図 1 2 0に示す A P管理用テーブルデータを説明するための図で ある。 図 1 22は、 S AM_ I Dを説明するための図である。 図 1 2 3は、 図 1 2 0に示す AP Pテーブルデータを説明するための図である 図 1 2 4は、 図 1 0 9に示す S A Mチップの機能プロック図である。 図 1 2 5は、 図 1 2 4に示すメモリに記憶されるタスク、 プログラムおよびデ ータを説明するための図である。 図 1 2 6は、 I Cカードエンティティデータ Ί 3— Xのフォーマ 'ン トを説明す るための図である。 図 1 2 7は、 図 1 2 6に示すェンティティステータスデータの状態遷移を説明 するための図である。 図 1 2 8は、 I C力一ド手繞管理用タスクが行う処理のフローチヤ一トである 図 1 2 9は、 図 1 2 8のステップ S T 4におけるジョブの実行時に、 S A Mチ ップがアプリケ一ショ ンェレメ ン トデータ A P Eに規定された手順に従って、 他 のアプリケ一ショ ンエレメ ントデータ A P Eによって規定された処理またはデー タにアクセスを行う場合の処理を説明するための図である。 図 1 3 0は、 図 1 2 8のステップ S T 4におけるジョブの実行時に、 S A Mチ ップがアプリケ一シヨ ンエレメ ントデータ A P Eに規定された手順に従って、 他 のアプリケーショ ンエレメ ントデータ A P Eによって規定された処理またはデー タにアクセスを行う場合の処理を説明するための図である。 図 1 3 1は、 図 1 0 9.に示す通信システムの全体動作を説明するための図であ る。 図 1 3 2は、 図 1 0 9に示す通信システムの全体動作を説明するための図であ る。 図 1 3 3は、 従来技術を説明するための図である。 発明を実施するための最良の形態 以下、 本発明の実施の形態を添付図面を参照して説明する。 第 1実施形態 本実施形態は、 第 1〜第 6の発明に対応した実施形態である。 図 1は、 本実施形態の通信システム 1の全体構成図である。 図 1に示すように、 通信システム 1は、 サーバ装置 2、 I Cカード 3、 カード リーダ · ライタ 4、 パーソナルコ ンピュータ 5、 AS P (Application Service P rovider)サーバ装置 6、 SAM (Secure Application Module) ユニッ ト 9を用い て、 イ ンターネッ ト 1 0を介して通信を行って I Cカード 3 (本発明の集積回路 ) を用いた決済処理などの手続き処理を行う。 SAMュニッ ト 9は、 外部メモリ 7および SAMチップ (本発明の半導体回路 ) 8を有する。 SAMチップ 8は、 図 2に示すようなソフ トウ ア構成を有している。 図 2に示すように、 S AMチップ 8は、 下層から上層に向けて、 HW(Hardwar e)層、 O S層、 下位ハンドラ層、 上位ハン ドラ層および AP層を順に有している 下位ハンドラ層には、 ドラィバ層が舍まれる。 ここで、 AP層には、 図 1に示すクレジッ トカード会社などの事業者 1 5—1 , 1 5— 2, 1 5— 3による I Cカード 3を用いた手続きを規定したアプリケー シヨ ンプログラム AP— 1, AP— 2, AP— 3がある。 AP層では、 アプリケーショ ンプログラム A P— 1 , AP— 2, AP— 3相互 間、 並びに上位ハンドラ層との間にファィァウォール FWが設けられている。 アプリケーショ ンプログラム A p— 1は、 外部メモリ 7に記憶された後述する サービス定義テーブルデータ (対応指示データ) 2 0—1およびスクリプトプロ グラム (動作記述プログラム) 2 1—1によって規定される。 また、 アプリケーショ ンプログラム AP— 2は、 外部メモリ 7に記憶された後 述するサービス定義テーブルデータ 2 0— 2およびスクリブトプログラム 2 1— 2によって規定される。 また、 アプリケーショ ンプログラム A P— 3は、 外部メモリ 7に記憶された後 述するサービス定義テーブルデータ 2 0— 3およびスクリプトプ πグラム 2 1 _ 3によって規定される。 SAMチップ 8は、 S C S Iまたは E t h e r n e tなどを介して AS Pサー バ装置 6に接続される。 AS Pサーバ装置 6は、 イ ンターネッ ト 1 0を介して、 エン ドユーザのパーソナルコ ンピュータ 5、 事業者 1 5— 1 , 1 5— 2, 1 5— 3のパーソナルコ ンピュータ 1 6— 1 , 1 6— 2, 1 6— 3を舍む複数の端末装 置に接続される。 パーソナルコ ンピュータ 5は、 例えば、 シリアルまたは US Bを介して D um b型のカードリーダ · ライタ 4に接続されている。 力一ドリ一ダ♦ ライタ 4力 I Cカード 3との間で物理レベルに相当する例えば無線通信を実現する。 I Cカード 3への操作コマンドおよび I Cカード 3からのリスポンスパケ 'ン ト は、 S AMユニッ ト 9側で生成および解読される。 よって、 その中間に介在する カードリーダ ' ライタ 4、 パーソナルコンピュータ 5および AS Pサーバ装置 6 は、 コマンドゃリスポンス内容をデータペイロード部分に格納して中継する役割 を果たすのみで、 I Cカード 3内のデータの暗号化ゃ復号および認証などの実操 作には関与しない。 パーソナルコンピュータ 1 6— 1 , 1 6— 2, 1 6— 3は、 後述するスク リブ トプログラムを S AMチップ 8にダウンロードすることで、 それぞれアプリケ一 シヨ ンプログラム AP— 1 , AP一 2, A P一 3をカスタマイズできる。 以下、 図 1に示す構成要素について説明する。 〔 I Cカード 3〕 図 3は、 I Cカード 3の機能ブロック図である。 図 3に示すように、 I C力一ド 3は、 記憶部 5 0および処理部 5 1を備えた I C (Integrated Ci rcui t) 3 aを有する <> 記憶部 5 0は、 図 4に示すように、 クレジッ トカード会社などの事業者 1 5 _ 1が使用する記憶領域 5 5— 1、 事業者 1 5— 2が使用する記憶領域 5 5 __ 2、 並びに事業者 1 5— 3が使用する記憶領域 5 5 _ 3を有する。 また、 記憶部 5 0は、 記憶領域 5 5—1へのアクセス権限を判断するために用 いられる鍵情報、 記憶領域 5 5— 2へのアクセス権限を判断するために用いられ る鍵情報、 並びに記憶領域 5 5 _ 3へのアクセス権限を判断するために用いられ る鍵情報を記憶している。 当該鍵情報は、 相互認証や、 データの暗号化および復 号などに用いられる。 また、 記憶部 5 0は、 I Cカード 3あるいは I Cカード 3のユーザの識別情報 を記憶している。 以下、 S A Mユニッ ト 9について詳細に説明する。 〔外部メモリ 7〕 図 5は、 図 1に示す外部メモリ 7に記憶されるデータおよびプログラムを説明 するための図である。 図 5に示すように、 外部メモリ 7には、 事業者 1 5 _ 1のサ一ビス定義テープ ルデータ 2 0—1 と、 I Cカード操作用マクロコマンドスクリプトプログラム 2 1—1 とが記憶されている。 また、 外部メモリ 7には、 事業者 1 5— 2のサービス定義テーブルデータ 2 0 — 2と、 I Cカード操作用マクロコマンドスクリプトプログラム 2 1— 2とが記 憶されている。 また、 外部メモリ 7には、 事業者 1 5 _ 3のサービス定義テーブルデータ 2 0 _ 3と、 I Cカード操作用マクロコマンドスクリプトプログラム 2 1—3とが記 憶されている。 サービス定義テーブルデータ 2 0一 1 , 2 0一 2 , 2 0— 3は、 同じフォーマ ッ トを有している。 また、 I Cカード操作用マクロコマンドスクリプトプログラム 2 1— 1 , 2 1 — 2 , 2 1—3は、 共通のマク口コマンドを用いて記述されている。 また、 サービス定義テーブルデータ 2 0— 1 , 2 0 _2, 2 0_3ぉょび 1 〇 力一ド操作用マクロコマンドスクリプトプログラム 2 1— 1 , 2 1_2, 2 1一 3は、 スクランブルされて外部メモリ 7に記憶されている。 当該スクランブルさ れたデータおよびプログラムは、 S AMチップ 8内でデスクランブルされる。 本実施形態では、 スクリプトプログラム 2 1 _ 1 , 2 1—2, 2 1— 3は、 そ れぞれ図 1に示すパーソナルコ ンピュータ 1 6— 1 , 1 6— 2, 1 6— 3を用い て、 事業者 1 5— 1 , 1 5_2, 1 5— 3によって作成され、 SAMチップ 8を 介して外部メモリ 7にダウンロードされる。 また、 サービス定義テーブルデータ 2 0— 1 , 2 0— 2, 2 0— 3は、 それぞ れ事業者 1 5— 1 , 1 5— 2, 1 5— 3からの指示を受けて SAMユニッ ト 9の 管理者によって作成される。 図 6は、 サービス定義テーブルデータ 2 0—1を説明するための図である。 図 6に示すように、 サービス定義テーブルデータ 20—1は、 サービスタイプ エレメ ン ト (操作名) 、 ァドレス、 サービス番号 (操作コード) 、 鍵バージョ ン 情報、 並びに鍵情報のエントリを有している。 サ一ビスタイプェレメ ントは、 事業者 1 5— 1のアプリケーションプログラム によって提供されるサービスに付けられた名前を示す。 サービスタイプエレメ ン トは、 事業者 1 5 _ 1のアプリケーショ ンプログラムが使用できるサービスのサ 一ビス番号の替わりに参照される識別子である。 本実施形態では、 図 6に示すように、 事業者 1 5—1に対応するサービス定義 テーブルデータ 2 0— 1のサービスタイプェレメ ントとしては、 " R c "、 " R d"、 " W d " および" Wc " が用されている。 本実施形態では、 I Cカード操作用マクロコマンドスクリプトプログラム 2 1 ― 1において、 複数のサービスタイプエレメ ントを組み合せたサービス内容を規 定し、 これを後述する I Cカードエンティティデータ (ジョブ管理用データ) に 反映させることで、 複数のサービスタイプエレメ ントに対応するサービスを組み 合わせたをサービスを提供できる。 例えば、 I Cカード 3からデータ読出しを行うサービスと、 サーバ装置 2にデ ータ書込みを行うサービスとを組み合わせたサービスを、 I Cカードェンティテ ィデータ内に定義できる。 サービス定義テーブルデータ 2 0—1内のサービス番号は、 事業者 1 5—1に よって提供されるサービスを行う際に、 I Cカード 3に発行する I Cカード 3が 解釈可能な操作コマンドである。 サービス定義テーブルデータ 2 0 _ 1内のァドレスは、 対応するサービスタイ プェレメ ントに係わる手続きに関するデータが記憶されているァドレスを示して いる。 サービス定義テーブルデータ 2 0—1内の鍵バージョン情報は、 当該サービス を提供するにあたって用いられる鍵情報のバージョ ンを示している。 サービス定義テーブルデータ 2 0—1内の鍵情報は、 当該サービスを提供する あたって用いられる鍵情報である。 例えば、 サービス定義テーブルデータ 2 0—1では、 図 3に示す I Cカード 3 の I C 3 aの記憶領域 5 5—1にアクセスが行われる際に用いられる鍵情報が設 定されている。 また、 サービス定義テーブルデータ 2 0— 2では、 1 0 3 3の記憶領域5 5— 2にアクセスが行われる際に用いられる鍵情報が設定されている。 また、 サービス定義テーブルデータ 2 0— 3では、 I C 3 aの記憶領域 5 5— 3にアクセスが行われる際に用いられる鏈情報が設定されている。 以下、 I C力一ド操作用マクロコマンドスクリプトプログラム 2 1— 1につい て説明する。 スクリプトプログラム 2 1—1は、 S A Mチップ 8上で動作する事業者 1 5— 1のアプリケ一ショ ンプログラム、 並びに当該アプリケーショ ンプログラムの実 行時に I Cカード 3が行う処理の手続きを規定するためのプログラムである。 本実施形態では、 後述するように、 図 7に示すように、 S A Mチップ 8内で、 サービス定義テーブルデータ 2 0 _ 1およびスクリブトプログラム 2 1—1を用 いて、 事業者 1 5—1に関する手続きに用いられる I Cカードエンティティテン プレートデータ 3 0— 1、 入力用デ一タブ口ック 3 1— X 1、 出力用データブ ci ック 3 2— X 2、 ログ用データブロック 3 3— X 3および演算定義用デ一タブ口 ック 3 4 _ x 4が生成される。 図 8は、 I Cカード操作用マクロコマンドスクリプトプログラム 2 1 _ 1 , 2 1— 2 , 2 1— 3の記述に用いられるコマンドを説明するための図である。 当該コマン ドは、 S A Mチップ 8自身に対してのコマン ドは、 第 1文字が 「S 」 となり、 I Cカード 3の操作に係わるコマンドは第 1文字が 「 C」 となってい る。 また、 第 2文字は、 用途により使い分けられ、 例えば、 I Cカード 3の発行元 設定宣言は 「 I」 、 サービスタイプエレメント宣言は 「S」、 I Cカード 3から の単純読み込み宣言は 「R」、 I Cカード 3への単純書き込み宣言は 「W」 、 サ 一ビスタイプェレメ ント間演算定義は 「 F」 になっている。 スクリプトプログラム 2 1— 1 , 2 1— 2 , 2 1—3の記述に用いられるコマ ンドには、 S Cコマンド、 S〇コマンド、 S I コマンド、 S Lコマン ド、 S Fコ マンド、 C I コマン ド、 C Sコマンド、 C Rコマン ド、 C Wコマンドがある。 S Cコマンドは、 S A Mチップ 8が同時に処理することができる最大数の I C 力一ドエンティティデータの数を宣言するコマンドである。 例えば、 S A Mチップ 8が 1 0 0 0個の I Cカードエンティティデータを同時 に処理可能な場合には、 「S C : 1 0 0 0」 と記述される。 S 0コマンドは、 後述する I Cカードエンティティデータに基づいて I Cカー ド 3を用いた処理を行う際に、 S A Mチップ 8内で用意されたデ一タブ口ックの うち、 I Cカード 3から読み取ったデータが格納される出力用デ一タブロック 3 2— X 2となるデ一タブ口ックを宣言するコマンドである。 例えば、 データブロック 1〜 1 0が用意されている場合に、 I Cカード 3から 読み取ったデータをデータブロック 1に格納する場合には、 「 S O : 1」 と記述 される。 S I コマンドは、 後述する I C力一ドエンティティデータに基づいて I Cカー ド 3を用いた処理を行う際に、 S A Mチップ 8内で用意されたデータプロックの うち、 I Cカード 3に書き込むデータが格納される入力用データプロック 3 1— 1 となるデ一タブ αックを宣言するコマンドである。 例えば、 データブロック 1〜 1 0が用意されている場合に、 I Cカード 3に書 き込むデータをデータブロック 2 > 3に格納する場合には、 「 S I : 2 , 3」 と 記述される。 S Lコマンドは、 後述する I C力一ドエンティティデータに基づいて I Cカー ド 3を用いた処理を行う際に、 S A Mチ 'ンプ 8内で用意されたデータプロックの うち、 操作に係わる口グデータを格納する口グ用デ一タブロック 3 3— X 3とな るデータプロックを宣言するコマンドである。 例えば、 デ一タブロック 1〜 1 0が用意されている場合に、 ログデータをデー タブロック 4に格納する場合には、 「S L : 4」 と記述される。 S Fコマンドは、 I Cカード 3に係わる相互のサービスタイプエレメ ント間の 関係を定義を記述する演算定義用デ一タブ口ック 3 4— X 4となるデータプロッ クを用意するためのコマンドである。 演算定義用データプロック 3 4— X 4の内容は、 I Cカードェンティテイデー タの処理前情報となる。 C I コマン ドは、 I Cカード 3の発行元 (事業者) を宣言するためのコマンド である。 C Iコマン ドで定義された事業者を特定する情報は、 I Cカードエンティティ データの I Cカード種別情報となる。 C Sコマン ドは、 サ一ビスタイプエレメ ン トを引用して、 I Cカード 3への複 数のサービスの同時操作を行うことを宣言するコマン ドである。 CSコマン ドで は、 さらに、 サービスタイプエレメ ン ト間の演算を規定する関数を宣言できる。 例えば、 「 C S : " R c " +" W c " +" Wd " 」 などの宣言を行える。C Sコマン ドの内容に基づいて、 I Cカードエンティティデータのサービスタ ィプエレメ ント指定情報、 並びに処理順番情報が決定される。 C Rコマンドは、 サービスタイプェレメ ン ト間の関係の定義が行われていない 場合 ( S Fコマン ドが記述されていない場合) に、 I Cカード 3から読み出した データを指定したデータブロックに格納することを宣言する。 例えば、 I Cカード 3から読み出したデータをデータブロック 1に格納する場 合には 「 C R : S◦ : 1 =" R c " 」 と記述する。 CWコマン ドは、 サービスタイプエレメ ン ト間の関係の定義が行われていない 場合に、 指定したデータブロックに格納したデータを I Cカード 3に書き込むこ とを宣言する。 例えば、 デ一タブロック 2に格納されたデータを I Cカード 3に書き込む場合 には 「 C W: S I : 2 = " W c " 」 と記述する。 C Fコマンドは、 サービスを跨がった演算内容を記述するデータプロックを宣 言する。 例えば、 サービスを跨がった演算内容を S Fデータブ αック 1に記述する場合 には、 C F : C E S_F UNC = S F : 1」 とする。 そして、 S Fデータプロ yク 1内に、 例えば、 「 "W c " = I f ( "W c " > 1 0 ) t h e n ( "W c " - 1 0 ; "W d " = "W c " * 0. 0 8 + "W d " ) 」 と記述する。 本式は、 サービス Wcの残数が 1 0よりも大きいときに W cの値 を 1 0減算し、 Wcの 8 %に相当するボイント数を蓄積ボイン トとして Wdに加 算する操作を表現している。 〔 S AMチップ 8〕 図 9は、 図 1に示す S AMチツプ 8の機能プロ 'ン ク図である。 図 9に示すように、 SAMチップ 8は、 AS P S通信ィ ンタフエース部 6 0、 外部メモリ通信ィ ンタフユース部 6 1、 バススクランブル部 6 2、 乱数発生部 6 3、 暗号 '復号部 6 4、 記憶部 6 5および C P U 6 6を有する。 S AMチップ 8は、 耐タンパ性のモジュールである。 AS P S通信ィ ンタフユース部 6 0は、 図 1に示す AS Pサーバ装置 6との間 のデータ入出力に用いられるィ ンタフヱ一スである。 外部メモリ通信イ ンタフユース部 6 1は、 外部メモリ 7との間のデータ入出力 に用いられるィ ンタフエースである。 バススクランブル部 6 2は、 外部メモリ通信ィ ンタフヱ一ス部 6 1を介してデ —タを入出力する際に、 出力するデータをスクランブルし、 入力したデータをデ スクランブルする。 乱数発生部 6 3は、 認証処理を行う際に用いられる乱数を発生する。 暗号 ·復号部 6 は、 データの暗号化、 並びに暗号化されたデータの復号を行Ό o 記憶部 6 5は、 後述するように、 C P U 6 6によって用いられるタスク、 プロ グラム、 並びにデータを記憶する。 C P U 6 6は、 所定のプログラム (本発明のプログラム) を実行して、 後述す るスク リプトダウンロードタスク、 スク リプト解釈タスク、 エンティティ生成タ スク (ジョブ管理用データ作成タスク) および I Cカード手続管理タスク (ジョ ブ管理用データ管理タスク) などのタスクを実行する。 以下、 記憶部 6 5に記憶されるタスク、 プログラムおよびデータについて説明 する。 図 1 0は、 記憶部 6 5に記憶されるタスク、 プログラムおよびデータを説明す るための図である。 図 1 0に示すように、 スクリプトダウンロードタスク 6 9、 スクリブト解釈タ スク 7 0、 エンティティ生成タスク 7 1、 I Cカード手続管理タスク 7 2、 I C 力一ド操作用マク口コマンドスクリプトプログラム 2 1— 1〜 2 1— 3、 サービ ス定義テ—ブル 2 0— 1〜 2 0— 3、 I Cカードエンティティテンプレートデ一 タ 3 0— 1〜 3 0— 3、 I Cカードエンティティデータ 7 3— x、 入力用データ ブロック 3 1 _ X 1、 出力用デ一タブロック 3 2— X 2、 ログ用データブロック 3 3— X 3、 並びに演算定義用データプロック 3 4— X 4を記憶している。 スクリブトダウンロードタスク 6 9は、 図 7に示すように、 サービス定義テー ブルデータ 2 0— 1〜 2 0— 3を、 例えば、 各事業者のコンピュータからダウン ロードし、 これを S A Mチップ 8に取り込む。 スクリプト解釈タスク 7 0は、 各事業者毎に、 サービス定義テーブルデータお よびスクリプトプログラムを用いて、 I Cカードエンティティプレートデータ、 入力用データブロック、 出力用データブロック、 ログ用データブロックおよび演 算定義用データプロックを生成する。 各事業者毎に生成されるデータプロックの数は特に限定されない。 ェンティティ生成タスク 7 1は、 例えば、 A S Pサーバ装置 6からェンティテ ィ作成要求を受けると、 I Cカード 3との間でポーリ ングを行った後に、 当該 I Cカード 3と事業者との間の手続き処理に用いる I Cカードエンティティデータ を、 当該事業者に対応する I Cカードヱンティティプレートデータを用いて生成 する。 このとき、 I Cカードエンティティプレートデータがクラスとなり、 当該 クラスのィ ンスタンスとして、 I C力一ドエンティティデータが生成される。 ェンティティ生成タスク 7 1による I C力一ドヱンティティデータの生成処理 について後に詳細に説明する。 I Cカード手続管理用タスク Ί 2は、 記憶部 6 5内に存在する単数または複数 の I C力一ドエンティティデータ Ί 3— Xを用いて、 I Cカード 3と事業者 1 5 — 1〜 1 5— 3との簡の手続き処理を実行する。 本実施形態では、 複数の I Cカード 3と事業者 1 5— 1〜 1 5— 3との間で行 われる複数の手続き処理が同時に進行する。 I Cカード手繞管理用タスク 7 2は、 これら複数の手続き処理を並行して実行 する。 I Cカード手続管理用タスク Ί 2は、 一連の手続きを終了した I Cカードエン ティティデータ 7 3—Xを消去する。 I Cカード手続管理用タスク 7 2の処理については後に詳細に説明する。 スクリプトプログラム 2 1— 1〜 2 1— 3は、 スクリプトダウンロードタスク6 9によって、 例えば、 外部メモリ 7から入力され、 記憶部 6 5に記憶される。 サービス定義テーブルデータ 2 0— 1〜 2 0— 3は、 スクリプトダウンロード タスク 6 9によって、 例えば、 外部メモリ 7から入力され、 記憶部 6 5に記憶さ れる。 I Cカードエンティティテンプレートデータ 3 0— 1〜 3 0— 3は、 スクリプ ト解釈タスク Ί 0によって生成され、 それぞれの事業者に関する手続きの I C力 —ドエンティティデ一タ 7 3 _ xを生成する際のテンプレート (クラス) として 用いられる。 I C力一ドエンティティデータ Ί 3— Xは、 エンティティ生成タスク 7 1によ つて、 I Cカードエンティティテンプレートデータ 3 0—1〜3 0— 3を例えば クラスとして用い、 当該クラスのイ ンスタンスとして生成される。 入力用デ一タブロック 3 1 _ X 1、 出力用デ一タブロック 3 2 _ X 2、 ログ用 データブロック 3 3— X 3および演算定義用デ一タブロック 3 4 _ X 4は、 スク リブト解釈タスク 7 0によって生成される。 以下、 I Cカードエンティティデータ 7 3— Xについて説明する。 I C力一ドエンティティデータ 73— Xは、 例えば、 AS Pサーバ装置 6から I Cカード 3と所定の事業者のアプリケーショ ンプ πグラムを用いた処理の処理 要求を SAMチップ 8が受けたときに、 SAMチップ 8内のェンティティ生成タ スク Ί 1力 既に生成されている対応する事業者の I Cカードエンティティテン プレ一トデータを用いて生成する。 図 1 1は、 I Cカードエンティティデータ 73— Xのフォーマツ トを説明する ための図である。 図 1 1に示すように、 I Cカードェンティティデータ Ί 3— Xは、 管理用ボイ ンタ情報 8 0、 エンティティ I D情報 8 1、 エンティティステータス情報 (ステ —タスデータ) 8 2、 I Cカード種別情報 83、 サービスタイプエレメ ン ト指定 情報 8 4、 処理順番情報 (処理順番データ) 85、 処理前情報 86および処理後 情報 8 7を有する。 管理用ボイ ンタ情報 8 0には、 記憶部 6 5内で I Cカードエンティティデータ 7 3_xを管理するための双方向ボイ ンタである。 エンティティ I D情報 8 1は、 I Cカードエンティティデータ 73_xの生成 要求、 進行状況の確認、 削除などの I Cカードヱンティティデータ 7 3— Xを用 いた一連の処理に用いられる。 エンティティ I D情報 8 1は、 エンドユーザに渡 される返り値ともなる。 エンティティ I D情報 8 1は一般的なフアイルシステム 上のファィルオープン時のディスクリプタに相当する。 エンティティステータス情報 8 2は、 I Cカード 3に関する手続きの進行状態 を示す。 I Cカードエンティティデータ 73— Xが持つ基本的な状態には、 図 1 2に示 すように、 I Cカード 3が利用できるサービスを調べる処理の状態 (R S) 、 S AMチップ 8が I Cカード 3を認証する処理の状態 (A 1 ) 、 I Cカード 3が S AMチップ 8を認証する処理の状態 (A2 ) 、 I Cカード 3からデータ読み出す 処理の状態 (R) 、 I Cカード 3にデータ書き込む処理の状態 (W) がある。 本実施形態では、 事業者を調べる処理、 S A Mチップ 8が I Cカード 3を認証 する処理、 I Cカード 3が S A Mチップ 8を認証する処理、 I Cカード 3からデ ータ読み出す処理、 並びに I Cカード 3にデータ書き込む処理のそれぞれがジョ ブに対応している。 当該ジョブは、 後述するように、 I Cカード手続管理用タスク 7 2によって、 実行順番が決定される処理の単位になる。 なお、 A l , A 2によって、 I Cカード.3と S A Mチップ 8との間の相互認証 処理が構成される。 また、 本実施形態では、 ィ ンターネッ ト 1 0での通信時間を考慮して、 前述し た各基本的な状態を図 1 2の状態遷移図に示されるように、 起動後 (コマンド発 行後) の状態と完了 (応答受け取り後) 状態とに分けて管理する。 具体的には、 ィ ンスタンス生成 ( I Cカードエンティティデータ生成) 状態、 R S起動後状態、 R S完了状態、 A 1起動後状態、 A 1完了状態、 A 2起動後状 態、 A 2完了状態、 R起動後状態、 R完了状態、 W起動後状態、 W完了状態、 並 びにィ ンスタンス ( I Cカードエンティティデータ) 消去状態によって、 I C力 ードエンティティデータ 7 3— Xを用いた処理状態が管理される。 I Cカード種別情報 8 3は、 当該 I Cカード 3を発行した事業者を特定する情 報である。 I Cカード種別情報 8 3には、 I Cカードエンティティデータ Ί 3— Xの生成 時に、 前述したスクリブトプ αグラム内の C I コマンドによって規定された情報 が設定される。 サービスタイプエレメ ン ト指定情報 8 4 は、 I Cカードエンティティデータ 7 3— Xを用いた処理で利用する、 サービス定義テーブルデータ内で定義されたサ 一ビスのサービスタイプェレメ ントを示す。 サービスタイプエレメ ン ト指定情報 8 4には、 I Cカードエンティティデータ 7 3— Xの生成時に、 前述したスクリプトプログラム内の C Sコマンドで指定さ れた単数または複数のサービスタイプェレメ ントが設定される。 処理順番情報 8 5は、 I Cカードエンティティデータ 7 3— Xを用いた処理で 利用するサービス (ジョブ) を実行する順番、 すなわち、 図 1 2に示す遷移状態 を示す。 すなわち、 処理順番情報 8 5は、 サービスタイプエレメ ントを用いて、 I C力 ード 3の基本的な操作に対応するジョブの実行順番を示す。 ここで、 ジョブは、 前述したように、 図 1 2に示す R S , A 1 , A 2 , R , W に相当する。 I Cカード 3への具体的操作は、 ジョブを用いて指定された処理順 番により実現される。 例えば、 相互認証無しの読み込みのみの I Cカード 3を用 いた処理については、 処理順番情報 8 5には 「R S→R」 が設定される。 また、 相互認証有りの読み込みおよび書き込みの場合には、 処理順番情報 8 5には、 「 R S→A 1→A 2→R→W」 が設定される。 処理順番情報 8 5には、 I Cカードエンティティデータ 7 3— Xの生成時に、 前述したスクリプトプログラム内の C Sコマンド内で指定されたサービスエレメ ントの順番に対応する図 1 2に示すジョブの順番が設定される。 処理前情報 8 6には、 A S Pサーバ装置 6側から、 I Cカードエンティティデ ータ Ί 3 _ xを用いた処理を行うための管理用データが設定される。 例えば、 処理前情報 8 6には、 S Fデ一タブロック内に指定されたサービスの 演算式のボイン卜が設定される。 また、 サービス間演算機能が定義されていない場合には、 処理前情報 8 6には 、 要求処理金額が設定される。 例えば、 决済の場合であれば、 課金額や付与ポイ ン ト数などに関する状態が設 定される。 処理後情報 8 7は、 A S Pサーバ装置 6側で必要な、 I Cカードエンティティ データ 7 3— Xの処理結果のデータが設定される。 例えば決済の場合であれば、 決済の正常終了の有無などを示すデータが設定される。 以下、 図 1 0に示す I Cカード手続管理用タスク 7 2による、 複数の I Cカー ドエンティティデータ 7 3 _ xを用いて、 複数の I Cカード 3に係わる処理を行 う手順を説明する。 I Cカード手続管理用タスク 7 2は、 例えば、 図 9に示す S A Mチップ 8の C P U 6 6上で常に起動されている。 図 1 3は、 I Cカード手続管理用タスク 7 2力行う処理のフローチヤ一トであ る。 ステップ S T 1 : I Cカード手続管理用タスク 7 2は、 記憶部 6 5内に存在する複数の I C力一 ドエンティティデータ 7 3— Xのうち、 次に処理を実行する一つの I Cカードエ ンティティデータ 7 3— Xを選択する。 当該 I Cカードエンティティデータ 7 3— Xの選択方法は、 記憶部 6 5内に存 在する I C力一ドエンティティデータ 7 3— Xを順番に選択してもよいし、 優先 順位を付けて高い優先順位のものを優先的に選択してもよい。 ステップ S T 2 : I C力一ド手続管理用タスク 7 2は、 ステップ S T 1で選択した I Cカードエ ンティティデータ 7 3— Xのジョブが既に起動されているか否かを判断し、 起動 されていると判断した場合にはステップ S T 5の処理に進み、 起動されていない と判断した場合にはステツプ S T 3の処理に進む。 ステップ S T 3 : I Cカード手続管理用タスク 7 2は、 ステップ S T 1で選択した I C力一ドエ ンティティデータ 7 3 _ xの図 1 1に示すエンティティステータス情報 8 2から 、 当該エンティティデータに関する処理が図 1 2に示す状態遷移図の何れの状態 にあるかを判断し、 処理順番情報 8 5から、 次に実行するジョブを決定する。 このとき処理順番情報 8 5には、 前述したように、 サービス定義テ一ブルデ一 タに設定されたサービスエレメ ン トを用いてジョブの実行順番が規定されている ステップ S T 4 : I Cカード手続管理用タスク 7 2は、 ステップ S T 3で選択したジョブを起動 する。 I Cカード手続管理用タスク Ί 2は、 図 7を用いて前述した入力用データブ口 ック 3 1— X 1、 出力用データブロック 3 2— χ 2、 口グ用デ一タブロック 3 3 _ χ 3および演算定義用デ一タブロック 3 4 _ X 4のうち、 当該ジョブに関係す るデータブロックを用いて当該ジョブを実行する。 このとき、 I Cカード手続管理用タスク 7 2は、 ジョブの実行に当たって I C カード 3にコマン ドを発行する場合に、 当該ジョブに対応するサービスエレメ ン トをキ一としてサービス定義テーブルデータを検索し、 当該サービスエレメ ント に対応するサービス番号 ( I Cカード 3が解釈可能な I Cカード 3の操作コマン ド) を得る。 そして、 I Cカード手続管理用タスク 7 2は、 当該得られたサ一ビ ス番号を用いて I Cカード 3にコマンドを発行する。 また、 I Cカード手続管理用タスク 7 2は、 図 4を用いて説明したように、 I Cカード 3の I C 3 aの記憶領域へのアクセスに鍵情報が必要な場合には、 当該 ジョブに対応するサービスエレメ ントをキ一としてサービス定義テーブルデータ を検索し、 当該サービスエレメ ン トに対応する鍵情報を得る。 そして、 I Cカー ド手続管理用タスク 7 2は、 当該鍵情報を用いて、 I Cカード 3 との間で相互認 証、 データの暗号化および復号などの処理を行い、 I Cカード 3の所定の記憶領 域にアクセスを行う権限を得る。 ステップ S T 5 : ステップ S T 5が行われるのは、 I Cカード手続管理用タスク 7 2力 I C力 一ド 3にコマンドを発行し、 I Cカード 3の処理結果を待っているときである。 I Cカード手続管理用タスク 7 2は、 I Cカード 3から処理結果を受け取ると 、 これを I Cカードエンティティデータ 7 3— Xに設定する。 ステップ S T 6 : I Cカード手続管理用タスク 72は、 図 1 1に示す I Cカードエンティティデ ータ Ί 3— Xのエンティティステータス情報 8 2を更新する。 このように、 本実施形態では、 I Cカード手続管理用タスク 7 2によって、 S AMチップ 8内に存在する複数の I Cカード 3についての I Cカードェンティテ イデ一タ 7 3_ xを順に選択しながら、 複数の I Cカード 3についての処理を並 行して行う。 そのため、 SAMチップ 8は、 複数の I C力一ド 3を用いた手続き の処理要求を受けた場合でも、 これらの処理を同時に進行することができる。 以下、 図 1に示す通信システム 1の全体動作について説明する。 図 1 4および図 1 5は、 図 1に示す通信システム 1の全体動作を説明するため の図である。 ステップ S T 2 1 : 事業者 1 5— 1〜 1 5— 3あるいはこれら事業者の依頼を受けた者が、 当該事 業者が I Cカード 3を用いて行う取り引きについての処理を記述したスクリプト プログラム 2 1— 1 , 2 1— 2, 2 1 _3を、 例えば、 図 1に示すパーソナルコ ンピュ一タ 1 6— 1 , 1 6— 2, 1 6_3上で作成する。 また、 SAMチップ 8の管理者が、 事業者 1 5— 1〜 1 5— 3のそれぞれに対 応するサービス定義テーブルデータ 2 0— 1 , 2 0 _2, 2 0_3を作成する。 ステップ S T 2 2 : ステップ S T 2 1で作成されたサービス定義テーブルデータ 2 0— 1 , 2 0— 2 , 2 0— 3が外部メモリ 7に記憶される。 また、 ステップ S T 2 1で作成されたスクリプトプログラム 2 1— 1 , 2 1— 2, 2 1—3力 パーソナルコンピュータ 1 6— 1 , 1 6 __2 , 1 6— 3力、ら、 ィ ンターネッ ト 1 0、 AS Pサーバ装置 6および SAMチップ 8を介して、 外部 メモリ 7にダウンロードされる。 当該ダウンロードの処理は、 図 7に示すように 、 S A Mチツプ 8内のスクリプトダウン口一ドタスク 6 9によって管理される。 ステップ S T 2 3 : 図 7に示す S A Mチップ 8内のスクリプト解釈タスク 7 0によって、 各事業者 毎に、 サービス定義テーブルデータおよびスクリプトプログラムを用いて、 I C カードエンティティプレートデータ、 入力用データブロック、 出力用デ一タブ口 ック、 ログ用データプロックおよび演算定義用データプロックが生成される。 これら生成されたデータは、 図 9に示す S A Mチップ 8の記憶部 6 5に格納さ れる。 ステップ S T 2 4 : ユーザに I Cカード 3が発行される。 図 4に示すように、 I Cカード 3の I C 3 aの記憶部 5 0には、 ユーザが契約 を行った事業者との取り引きに用いられる鍵情報が記憶されている。 なお、 ユーザと事業者との間の契約は、 I Cカード 3の発行後に、 イ ンターネ 'ン ト 1 0などを介して行ってもよい。 ステップ S T 2 5 : 例えば、 ユーザがパーソナルコンピュータ 5を用いてイ ンタ一ネッ ト 1 0を介 してサーバ装置 2にアクセスを行い、 商品を購入しょうとした場合に、 サーバ装 置 2がィ ンターネ 'ン ト 1 0を介して A S Pサーバ装置 6に処理要求を出す。 A S Pサーバ装置 6は、 サーバ装置 2から処理要求を受けると、 イ ンタ一ネッ ト 1 0を介してパーソナルコンピュータ 5にアクセスを行う。 そして、 図 1 6 A に示すように、 カードリ一ダ ' ライタ 4が出した I Cカード 3についての処理要 求が、 パーソナルコンピュータ 5、 イ ンターネッ ト 1 0および A S Pサーバ装置 6を介して S A Mチップ 8に送信される。 ステップ S T 2 6 : A S Pサーバ装置 6から S A Mチップ 8にェンティティ作成要求が出される。 当該エンティティ作成要求には、 I C力一ド 3の発行元を示す情報が格納され ている。 ステップ S T 2 7 : S A Mチップ 8は、 エンティティ作成要求を受けると、 図 1 6 Bに示すように 、 I Cカード 3 との間でポーリ ングを行う。 ステップ S T 2 8 : S A Mチップ 8のエンティティ生成タスク 7 1は、 ポーリ ング終了後に、 S A Mチップ 8内に存在する I Cカードエンティティデータ 7 3— Xの数が、 スクリ ブトプログラムの S Cコマンドによって規定された最大数以内であるか否かを判 断し、 最大数以内であればステップ S T 2 9の処理に進み、 そうでない場合には 処理を終了する。 ステップ S T 2 9 : エンティティ生成タスク 7 1カ^ 例えば、 エンティティ作成要求に格納された I Cカード 3の発行元を示す情報に基づいて、 何れの事業者の I Cカードヱンテ ィティプレートデータを用いるかを特定し、 当該特定した I Cカードェンティテ ィプレ一トデータ用いて、 I C力一ドエンティティデータ 7 3— Xを生成する。 これは、 図 1 2に示すィ ンスタンス生成に対応している。 ステップ S T 3 0 : S A Mチップ 8から A S Pサーバ装置 6に、 ステップ S T 2 9で生成した I C カードエンティティデータ 7 3— Xのエンティティ I Dが出力される。 ステップ S T 3 1 : S A Mチップ 8の I Cカード手続管理用タスク 7 2によって、 I Cカード 3で 利用可能なサービスが調べられる。 これは、 図 1 2に示すジョブ R Sに対応した処理である。 ステップ S T 3 2 : S A Mチップ 8の I Cカード手続管理用タスク 7 2が I Cカード 3の正当性を 認証する。 これは、 図 1 2に示すジョブ A 1に対応した処理である。 ステップ S T 3 3 : I Cカード 3が S A Mチップ 8の正当性を認証する。 これは、 図 1 2に示すジョブ A 2に対応した処理である。 ステップ S T 3 2 , S T 3 3によって、 I Cカード 3と S A Mチップ 8との間 の相互認証が行われる。 これは、 図 1 6 Cに対応している。 ステップ S T 3 4 : S A Mチップ 8の I Cカード手続管理用タスク 7 2力、 I Cカード 3との間で 、 手綾きに必要なデータの読み書きを行う。 . これは、 図 1 2に示すジョブ R , W、 並びに図 1 6 D , 1 6 Eに対応した処理 である。 また、 I Cカード手続管理用タスク 7 2は、 I Cカードエンティティデータ 7 3— Xの処理前情報 8 6に基づいて特定した演算式を用いて、 I Cカード 3から 読み出したデータを用いて所定の演算処理を行う。 ステップ S T 3 5 : 図 1 6 Fに示すように、 S A Mチップ 8の I Cカード手続管理用タスク 7 2が 、 ステップ S T 3 4の処理結果を A S Pサーバ装置 6に出力する。 ステップ S T 3 6 : 例えば、 I Cカード手続管理用タスク 7 2が、 I Cカードエンティティデータ 7 3— Xを消去する。 以上説明したように、 通信システム 1によれば、 I Cカード 3との間で発生す る手続き処理毎に I Cカードエンティティデータ 7 3— Xを生成し、 I Cカード 手続管理用タスク 7 2によって、 複数の I C力一ドエンティティデータ 7 3— X を用いて、 複数の I Cカード 3についての処理を同時に進行することができる。 また、 認証システム 1によれば、 I Cカード 3についての処理に実際に用いら れている I Cカードエンティティデータ 7 3— Xを記憶部 6 5に記憶すれば良い ため、 記憶部 6 5の記憶領域を効率的に利用できる。 また、 認証システム 1によれば、 図 1 2に示すように、 I Cカード手続管理用 タスク 7 2が処理するジョブの実行状態を、 起動後状態と完了状態とに分離して 管理するため、 一のジョブの実行を開始後に I Cカード 3からのデータを待って いる状態で、 他のジョブに関する処理を開始できる。 そのため、 イ ンターネッ ト 1 0を介して I Cカード 3との間でデータを送受信することによる待ち時間を無 くすことができる。 また、 認証システム 1によれば、 サービス定義テーブルデータ内に、 各事業者 が提供するサービスの種類を示す名前であるサービスタイプエレメ ン ト、 I C力 一ド 3内で用いられる当該サービスの番号、 並びに当該サービスを提供するに際 に用いられる鍵情報をサービス定義テーブルデータ内に記述し、 これを外部メモ リ 7に保持する。 そのため、 S A Mチップ 8の開発者でない、 事業者 1 5— 1〜 1 5— 3力^ S A Mチップ 8上で動作する自らのアプリケーショ ンプログラムを 、 スクリプトプログラム 2 1 _ 1 , 2 1— 2 , 2 1—3を作成して S A Mチップ 8を介して外部メモリ 7にダウン α—ドすることでカスタマイズできる。 すなわ ち、 鍵情報や I Cカード 3を直接操作する操作コマンドなどの秘匿性の高い情報 を事業者 1 5— 1〜1 5— 3に知らせることなく、 これらの事業者が自らのアブ リケ一シヨンプログラムをカスタマイズできる。 また、 事業者は、 アプリケーシ ョ ンプログラムをカスタマィズする際に、 鍵情報やカード操作用コマンドを知る 必要がないため、 事業者の食担が軽減される。 また、 認証システム 1によれば、 複数のサービスにまたがった処理内容を定義 できるため、 I Cカード 3側で許容されると同時に実行されるサービスの範囲内 で、 複数のサービスを組み合わせた多様なサービスを提供できる。 また、 認証システム 1によれば、 デ一タブ α 'ンクの概念を導入することで、 I Cカード 3との間で入出力されるデータ、 並びにログデータの管理が容易に行え る。 図 1 7は、 図 9に示す SAMチップ 8の機能プロ 'ン クをより具体的にした機能 ブロ 'ン ク図である。 図 9に示すように、 SAMチップ 8は、 内部バス 9 0を介して、 AS P S通信 ィ ンタフエース部 6 0、 外部メモリ通信ィ ンタフェース部 6 1、 バススクランブ ル部 6 2、 乱数発生部 6 3、 暗号♦復号部 6 、 記憶部 6 5および C P U 6 6が 接続されている。 図 1 Ίに示す S AMチップ 8では、 例えば図 1 8に示すように、 内部バス 9 0 に接続されたカード I ZF部 9 1を、 SAMチップ 8の外部の R F送受信部 9 2 に接続し、 R F送受信部 9 2のアンテナ 9 2 aを介して、 I Cカード 3との間で 非接触方式でデータを送受信してもよい。 第 2実施形態 本実施形態は、 第 7〜第 9の発明に対応した実施形態である。 図 1 9は、 本実施形態の通信システム 1 0 1の全体構成図である。 図 1 9に示すように、 通信システム 1 0 1は、 サーバ装置 1 0 2、 I Cカード 1 0 3 (本発明の集積回路) 、 カードリーダ ' ライタ 1 0 4、 パーソナルコンピ ュ一タ 1 0 5、 AS P (Application Service Provider)サーバ装置 1 0 6、 S A M (Secure Application Module) ュニ 'ン ト 1 0 9、 ノヽ0—ソナノレコ ンピュータ 1 1 6— 1 , 1 1 6— 2, 1 1 6— 3、 並びに認証用ユニッ ト 1 1 7—1 , 1 1 7— 2, 1 1 7— 3を用いて、 イ ンタ一ネッ ト 1 1 0を介して通信を行って I C力一 ド 1 0 3を用いた決済処理などの手続き処理を行う。 SAMュニ 'ン ト 1 0 9は、 外部メモリ 1 0 7 (本発明の半導体記憶回路) およ び SAMチップ 1 0 8 (本発明の半導体面路) を有する。 SAMチップ 1 0 8は、 図 2 0に示すようなソフ トウ · ァ構成を有している。 図 2 0に示すように、 SAMチップ 1 0 8は、 下層から上層に向けて、 HW(H ardware)層、 O S層、 下位ハン ドラ層、 上位ハンドラ層および A P層を順に有し ている。 下位ハンドラ層には、 ドラィバ層が舍まれる。 ここで、 AP層には、 図 1 9に示すクレジッ トカード会社などの事業者 1 1 5 — 1 , 1 1 5— 2, 1 1 5— 3による I Cカード 1 0 3を用いた手続きを規定し たアプリケーショ ンプログラム A P_ 1 > AP_2, A P— 3がある。 AP層では、 アプリケーショ ンプログラム A P_l , AP— 2, AP— 3相互 間、 並びに上位ハンドラ層との間にファイアウォール FW (本発明のファイアゥ オール) が設けられている。 SAMチップ 1 0 8は、 S CS Iまたは E t e r n e tなどを介して AS P サーバ装置 1 0 6に接続される。 AS Pサーバ装置 1 0 6は、 ィ ンタ一ネツ ト 1 1 0を介して、 ェンドュ一ザのパーソナルコンピュ一タ 1 0 5、 事業者 1 1 5_ 1 , 1 1 5— 2, 1 1 5— 3のパーソナルコ ンピュータ 1 1 6—1 , 1 1 6_2 , 1 1 6_3を含む複数の端末装置に接続される。 パーソナルコ ンピュータ 1 0 5は、 例えば、 シリアルまたは U S Bを介して D umb型の力一ドリーダ · ライタ 1 04に接続されている。 カードリーダ . ライ タ 1 0 4力、 I Cカード 1 0 3との間で物理レベルに相当する例えば無線通信を 実現する。 I Cカード 1 ◦ 3への操作コマンドおよび I Cカード 1 0 3からのリスポンス バケツ トは、 SAMュニ 'ン ト 1 0 9側で生成および解読される。 よって、 その中 間に介在する力一ドリ一ダ · ライタ 1 0 4、 パーソナルコンピュ一タ 1 0 5およ び AS Pサーバ装置 1 0 6は、 コマンドゃリスポンス内容をデータペイロード部 分に格納して中継する役割を果たすのみで、 I Cカード 1 0 3内のデータの暗号 化ゃ復号および認証などの実操作には関与しない。 事業者 1 1 5— 1 , 1 1 5— 2, 1 1 5— 3は、 パーソナルコ ンピュータ 1 1 6— 1 , 1 1 6— 2, 1 1 6— 3を用いてアプリケーショ ンプログラム A P—1 , AP— 2, A P— 3を作成し、 それぞれ認証用ユニッ ト 1 1 7— 1 , 1 1 7— 2, 1 1 7— 3を介して、 当該作成したアプリケーショ ンプログラムを SAMチ ップ 1 0 8を介して外部メモリ 1 0 7内の予め割り当てられた記憶領域にダウン 口一ドする。 このとき、 事業者 1 1 5— 1 , 1 1 5— 2, 1 1 5__3は相互に無関係の者で あるため、 アプリケーショ ンプログラム A P— 1 , A P— 2 , A P— 3をダウン ロードできる外部メモリ 1 0 7内の記憶領域は予め決められており、 当該記憶領 域へのダウンロードを行う権限を有するか否かが S A Mチップ 1 0 8によって検 証される。 また、 アプリケーショ ンプログラム A P— 1 , AP__2, A P_ 3の実行中は 、 ファイアウォール FWによって、 アプリケーショ ンプログラム AP— 1 , AP —2, A P— 3の間でのデータの授受および参照が制限されている。 認証用ユニッ ト 1 1 7__ 1 , 1 1 7_2 , 1 1 7— 3は、 後述するように、 ァ プリケ一シヨ ンプログラム AP— 1 , AP— 2, 八?__3を3八^4チップ 1 0 8 にダウンロードする際に、 SAMチップ 1 0 8との間で相互認証を行い、 ダウン ロード用署名検証鍵情報の作成などを行う。 以下、 図 1 9に示す構成要素について説明する。 〔 I Cカード 1 0 3〕 図 2 1は、 I Cカード 1 0 3の機能ブロック図である。 図 2 1に示すように、 I Cカード 1 0 3は、 記憶部 1 5 0および処理部 1 5 1 を備えた I C (Integrated Circuit) 1 0 3 aを有する。 記憶部 1 5 0は、 図 2 2に示すように、 クレジジ 'ン トカード会社などの事業者 1 1 5—1が使用する記憶領域 1 5 5— 1、 事業者 1 1 5— 2が使用する記憶領 域 1 5 5_2、 並びに事業者 1 1 5— 3が使用する記憶領域 1 5 5— 3を有する また、 記憶部 1 5 0は、 記憶領域 1 5 5—1への権限の有無を判断するために 用いられる鍵情報、 記憶領域 1 5 5— 2へのアクセス権限を判断するために用い られる鍵情報、 並びに記憶領域 1 5 5 _3へのアクセス権限を判断するために用 いられる鍵情報を記憶している。 当該鍵情報は、 具体的には、 相互認証や、 デー タの暗号化および復号などに用いられる。 また、 記憶部 1 5 0は、 I Cカード 1 0 3あるいは I Cカード 1 0 3のユーザ の識別情報を記憶している。 以下、 SAMュニッ ト 1 0 9について詳細に説明する。 〔外部メモリ 1 07〕 図 2 3は、 外部メモリ 1 0 7の記億領域を説明するための図である。 図 2 3に示すように、 外部メモリ 1 0 7の記憶領域には、 事業者 1 1 5— 1の アプリケーショ ンプログラム A P—1が記憶される A P記憶領域 1 2 0— 1、 事 業者 1 1 5— 2のアプリケーショ ンプログラム AP— 2が記憶される A P記憶領 域 1 2 0— 2、 事業者 1 1 5— 3のアプリケーショ ンプログラム A P— 3が記憶 される AP記憶領域 1 2 0— 3、 SAMチップ 1 0 8の管理者が使用する AP管 理用記憶領域 1 2 1、 並びに鍵情報記憶領域 1 2 2がある。 AP記憶領域 1 20—1に記憶されているアプリケ一ショ ンプログラム AP— 1は、 複数のプログラムモジュールによって構成されている。 AP記憶領域 1 2 0—1へのアクセスは、 フアイァウォール FW— 1によって制限されている。 A P記憶領域 1 2 0 _ 2に記憶されているアプリケーショ ンプログラム A P— 2は、 複数のプログラムモジュールによって構成されている。 AP記憶領域 1 2 0— 2へのアクセスは、 フアイァウォール FW— 2によって制限されている。 A P記憶領域 1 2 0 3に記憶されているアプリケーショ ンプログラム A P— 3は、 複数のプログラムモジュールによって構成されている。 AP記憶領域 1 2 0— 3へのアクセスは、 フアイァウォール FW— 3によって制限されている。 本実施形態では、 上記プログラムモジュールは、 例えば、 SAMュニッ ト 1 0 9の外部から外部メモリ 1 0 7にダウンロードされる最小単位である。 各アプリ ケ一ショ ンプログラムを構成するプログラムモジュールの数は、 対応する事業者 が任意に決定できる。 また、 外部メモリ 1 0 7に記憶されたアプリケ一ショ ンプログラム AP— 1 , AP— 2, A P— 3は、 スクランブルされており、 S AMチップ 1 0 8に読み込 まれたときに、 デスクランブルされる。 また、 アプリケーショ ンプログラム A P—1 , AP— 2, A P— 3は、 例えば 、 それぞれ図 1 9に示すパーソナルコ ンピュータ 1 1 6 _ 1 , 1 1 6— 2, 1 1 6— 3を用いて、 事業者 1 1 5—1 , 1 1 5_2, 1 1 5— 3によって作成され 、 S AMチップ 1 0 8を介して外部メモリ 1 0 7にダウンロードされる。 A P管理用記憶領域 1 2 1へのアクセスは、 ファイアゥォ一ル FW— 4によつ て制限されている。 なお、 ファイアウォール FW— 1 , FW— 2, F W_3 , FW— 4は、 図 2 0 に示すフアイァウォール FWに対応している。 AP管理用記憶領域 1 2 1には、 図 2 4に示すモジュール管理用データ 1 3 0 が記憶されている。 モジュール管理用データ 1 3 0には、 事前にパーソナルコンピュータ 1 1 6— 1 , 1 1 6_2 , 1 1 6— 3からダウンロードするプログラムモジュールのモジ ユール名と、 ダウンロード用署名検証鍵情報 (本発明のダウンロード用鍵情報) とを登録する。 すなわち、 モジュール管理用データ 1 30にダウンロード用署名検証鍵情報が 事前に登録されていることを条件に、 当該プログラムモジュールのダウンロード が許可される。 また、 モジュール管理用データ 1 3 0には、 SAMチップ 1 0 8で実行するプ ログラムモジュールのモジユール名と、 実行用署名検証鏈情報とを登録する。 すなわち、 モジュール管理用データ 1 30に実行用署名検証鍵情報が事前に登 録されていることを条件に、 当該プ αグラムモジュールが SAMチップ 1 0 8で 実行される実行権を得る。 モジュール管理用データ 1 3 0は、 図 2 4に示すように、 A P記憶領域 1 2 0 — 1 , 1 2 0— 2 , 1 2 0— 3に記憶されたアプリケーショ ンプログラム A P— 1 , A P一 2 , A P— 3の各プログラムモジュールについて、 当該プ αグラムモ ジュールへのアクセスを制限するファィァウォールのファィァウォール番号 (本 発明のファイアウォール識別情報) 、 開始ア ドレス、 ア ドレス長、 ダウンロード 用署名検証鍵情報、 実行用署名検証鍵情報、 並びにモジュール名の対応を示して いる。 ここで、 ファイアウォール番号は、 当該プログラムモジュールへのアクセスが 制限されるフアイァウォールの番号を示す。 開始ァドレスは、 当該ファイアゥォールによってアクセスが制限される記憶領 域の開始ァドレスを示す。 ァドレス長は、 当該ファイアウォールによってアクセスが制限される記憶領域 のァ ドレス長を示す。 ダウン口一ド用署名検証鍵情報は、 当該プログラムモジュールを S A Mチップ 1 0 8を介して外部メモリ 1 0 7にダウンロードするときに行われる署名検証に 用いられる鏈情報である。 実行用署名検証鍵情報は、 当該プログラムモジュールを S A Mチップ 1 0 8で 実行するときに、 当該プログラムモジユールに付けられた署名情報を検証するた めに用いられる。 本実施形態では、 例えば、 各プログラムモジュールにその正当 性を示す署名情報が付されており、 当該プログラムモジユールが不正に改変また は改竄された場合に、 実行用署名検証鍵情報を用いて当該署名情報を検証するこ とで、 当該プログラムモジユールの正当性を確認できる。 モジュール名は、 当該プログラムモジユールに付けられた名前である。 鍵情報記憶領域 1 2 2には、 アプリケーショ ンプログラム A P— 1の実行によ つて図 2 2に示す I Cカード 1 0 3の記憶領域 1 5 5— 1にアクセスする際に用 いられる暗号化された鍵情報 K—C 1、 アプリケーショ ンプログラム A P— 2の 実行によって図 2 2に示す I Cカード 1 0 3の記憶領域 1 5 5— 2にアクセスす る際に用いられる暗号化された鍵情報 K—C 2、 並びにアプリケーショ ンプログ ラム A P— 3の実行によって図 2 2に示す I Cカード 1 03の記憶領域 1 5 5— 3にアクセスする際に用いられる暗号化された鏈情報 K— C 3が記憶されている 鍵情報 K— C I , K_C 2, K— C 3は、 鍵情報 K— Xで暗号化されている。 鍵情報記憶領域 1 22へのアクセスは、 SAMチップ 1 0 8の管理者のみが許 可されている。 〔 S AMチップ 1 0 8〕 図 25は、 図 1 9に示す SAMチップ 1 0 8の機能ブロック図である。 図 2 5に示すように、 SAMチップ 1 0 8は、 AS P S通信ィンタフエース部 1 6 0、 外部メ モリ通信ィ ンタフエース部 1 6 1、 バススクランブル部 1 6 2、 署名処理部 1 6 3、 認証処理部 1 6 4、 暗号 ·復号部 1 6 5、 記憶部 1 6 6、 C P U 1 6 7を有する。 S A Mチップ 1 0 8は、 耐タンパ性のモジユールである。 AS P S通信ィ ンタフヱース部 1 6 0は、 図 1 9に示す AS Pサーバ装置 1 0 6との間のデータ入出力に用いられるィ ンタフエースである。 外部メモリ通信ィ ンタフ ース部 1 6 1は、 外部メモリ 1 0 7との間のデータ 入出力に用いられるィ ンタフヱースである。 バススクランブル部 1 6 2は、 外部メモリ通信ィ ンタフヱ一ス部 1 6 1を介し てデータを入出力する際に、 出力するデータをスクランブルし、 入力したデータ をデスクランブルする。 署名処理部 1 6 3は、 後述するようにィ ンタ一ネッ ト 1 1 0を介してアプリケ ーショ ンプ αグラムを外部メモリ 1 07にダウンロ一ドするとき、 並びにアプリ ケーシヨ ンプログラムを実行するときに署名作成および署名検証を行う。 認証処理部 1 6 4は、 後述するようにィ ンタ一ネッ ト 1 1 0を介してアプリケ ーションプログラムを外部メモリ 1 0 7にダウンロードするときなどに、 相手先 と相互認証を行う。 暗号 ·復号^^ 1 65は、 データの暗号化、 並びに暗号化されたデータの復号を 行つ。 記憶部 1 6 6は、 例えば、 前述した外部メモリ 1 0 7の鍵情報記憶領域 1 2 2 に記憶された鍵情報 K— C 1 , K_C 2; K—C 3を復号するための鍵情報 K— Xを記憶する。 C P U 1 6 7は、 所定のプログラム (本発明のプログラム) に基づいて、 後述 するようにタスクを実行し、 当該タスクの実行に応じて、 指定されたアプリケ一 ショ ンプログラムの実行を行う。 図 2 6は、 C P U 1 6 7が実行するタスクを説明するための図である。 図 2 6に示すように、 C P U 1 6 7は、 ダウンロードタスク 1 7 0、 システム タスク 1 7 1、 AP用タスク 1 Ί 2 (本発明のプログラム) 、 決済処理手順タス ク 1 Ί 3を実行する。 ダウンロードタスク 1 Ί 0は、 後述するように、 SAMユニッ ト 1 0 9の外部 から、 S A Mチップ 1 0 8を介して外部メモリ 1 0 7に、 アプリケーショ ンプロ グラムをダウンロードする処理を行う。 システムタスク 1 7 1は、 ドライバ管理、 I Cカード 1 0 3に対しての固有の 操作などの処理を行うタスクである。 A P用タスク 1 72は、 例えば、 AS Pサーバ装置 1 06などの S AMチップ 1 0 8の外部から処理要求を SAMチップ 1 0 8が受けた場合に行われるアプリ ケーシヨ ンプログラム AP一 1 , AP— 2> AP_3の実行を統括的に管理する 決済処理手順タスク 1 7 3は、 例えば、 S AMチップ 1 0 8が A S Pサーバ装 置 1 0 6力、ら、 I Cカード 1 0 3に関する処理要求を受けたとき、 アプリケーシ ヨ ンプログラム AP— 1 , AP— 2> AP— 3の何れを用いるかを決定する。 以下、 通信システム 1 0 1の動作例を説明する。 〔 A Pの外部メモリへのダウンロ一ド動作〕 図 2 7は、 図 1 9に示すパーソナルコンピュータ 1 1 6— 1から、 外部メモリ 1 07にアプリケーショ ンプログラム A P— 1をダウンロードする動作を説明す るためのフローチャー トである。 ステップ S T 1 0 1 : 図 1 9に示すパーソナルコンピュータ 1 1 6—1力、 認証用ュニツ ト 1 1 7— 1を介して、 ダウンロードを行おうとするプログラムモジュールのモジュール名 を指定したダウン α—ド要求を SAMチップ 1 0 8に送信する。 ステップ S T 1 0 2 : 図 2 6に示す SAMチップ 1 0 8の CP U 1 67上で動作するダウン口一ドタ スク 1 7 0力 パーソナルコ ンピュータ 1 1 6— 1に接続された認証用ュニッ ト 1 1 7—1との間で相互認証を行う。 そして、 相互認証によって、 お互いの正当 性が確認されると、 ステップ S T 1 0 3の処理が行われる。 なお、 本実施形態では、 当該相互認証の手法としては、 様々な手法を用いるこ とができるが、 例えば、 以下の手法が用いられる。 認証用ュニッ ト 1 1 7— 1および S AMチップ 1 0 8の双方が、 S AMチップ 1 0 8の識別情報である SAM— I と、 相互認証用原鍵情報とを保持する。 そして、 認証用ュニッ ト 1 1 7—1において、 SAM— I Dを相互認証用原鍵 情報で暗号化して、 S AMチップ 1 0 8に送信する。 SAMチップ 1 0 8では、 受信した暗号化された SAM— I Dを相互認証用原鍵で復号し、 自らの保持する SAM— I Dと比較して一致していれば、 認証用ュニッ ト 1 1 7—1の正当性を 確認する。 また、 これとは逆に、 S AMチップ 1 0 8において、 SAM— I Dを 相互認証用原鍵情報で暗号化して、 認証用ュニッ ト 1 1 7—1に送信する。 認証 用ュ二 'ジ ト 1 1 7—1では、 受信した暗号化された SAM— I Dを相互認証用原 鍵で復号し、 自らの保持する S A M— I Dと比較して一致していれば、 S A Mチ ップ 1 0 8の正当性を確認する。 ステップ S T 1 0 3 : ダウン α—ドタスク 1 7 0力、 ステップ S Τ 1 0 1のダウン α—ド要求で指定 されたモジュール名が、 外部メモリ 1 0 7の Α Ρ管理用記憶領域 1 2 1に記憶さ れたモジュール管理用データ 1 3 0に登録されているかを判断する。 ステップ S Τ 1 0 4 : ダウンロードタスク 1 7 0 は、 ステップ S Τ 1 0 3において登録されていない と判断した場合にはダウンロード処理を行わず処理を終了し、 一方、 登録されて いると判断した場合はステップ S Τ 1 0 5の処理を行う。 ステップ S Τ 1 0 5 : 認証用ュニッ ト 1 1 7 _ 1は、 S A M— I Dを平文として A P用原鍵 K E Y— Aを用いて暗号化してダウンロード用署名検証鍵情報を生成する。 そして、 当該ダウンロード用署名検証鍵情報、 あるいは、 当該ダウンロード用 署名検証鍵情報を用いて作成した署名情報を S A Mチップ 1 0 8に送信する。 ステップ S T 1 0 6 : ダウンロードタスク 1 Ί 0 は、 ステップ S T 1 0 5でダウン口一ド用署名検証 鍵情報を受信した場合には、 当該受信したダウンロード用署名検証鍵情報が、 モ ジュール管理用デ一タ 1 3 0内の対応するモジュール名のダウンロード用署名検 証鍵情報と一致しているか否かを判断する。 また、 ダウンロードタスク 1 7 0は、 ステップ S T 1 0 5で署名情報を受信し た場合には、 モジュール管理用データ 1 3 0内の対応するモジュール名のダウン 口一ド用署名検証鍵情報を用いて当該署名情報の正当性を判断する。 ステップ S T 1 0 7 : ダウンロードタスク 1 7 0 は、 ステップ S T 1 0 6で一致していると判断した 場合、 あるいは署名情報が正当であると判断した場合にはステップ S T 1 0 8の 処理に進み、 そうでない場合には処理を終了する。 ステップ S T 1 0 8 : ダウンロードタスク 1 7 0は、 ステップ S T 1 0 1で指定されたモジュール名 に対応する外部メモリ 1 0 7内のア ドレスをモジュール管理用データ 1 3 0を参 照して特定し、 当該特定した外部メモリ 1 0 7上のア ドレスに、 パーソナルコン ピュータ 1 1 6— 1から受信したプログラムモジュールをダウンロードする。 〔アプリケーショ ンプログラムの実行動作〕 図 2 8は、 図 1 9に示す S A Mチップ 1 0 8がアプリケーショ ンプログラム A P— 1を実行する動作を説明するためのフローチヤ一トである。 ステップ S T 1 1 1 : S A Mチップ 1 0 8力、 例えば、 A S Pサーバ装置 1 0 6からアプリケーショ ンプログラム A P— 1の実行要求を受けると、 図 2 6に示す A P用タスク 1 7 2 がステップ S T 1 1 2の処理を実行する。 ステップ S T 1 1 2 : A P用タスク 1 7 2は、 アプリケーショ ンプログラム A P— 1の各プログラム モジユールを実行する前に、 当該プログラムモジュールのモジユール名に対応す る実行用署名検証鍵情報をモジュール管理用データ 1 3 0を参照して得る。 ステップ S T 1 1 3 : A P用タスク 1 7 2は、 ステップ S T 1 1 2で得た実行用署名検証鍵情報を用 いて、 当該プログラムモジュールの署名情報の正当性を検証する。 すなわち、 当該プログラムモジユールが不正に改変または改竄されているか否 かを判断する。 ステップ S T 1 1 4 : A P用タスク 1 7 2は、 ステップ S T 1 1 3で署名情報が正当であると検証す ると、 ステップ S T 1 1 5の処理に進み、 正当でないと判断した場合には処理を 終了する。 ステップ S T 1 1 5 : Α Ρ用タスク 1 7 2は、 署名情報が正当であると判断されたプログラムモジュ ールを実行する。 なお、 プログラムモジュ一ルの実行は、 図 2 5に示す C P U 1 6 7が、 プログ ラム内のサブルーチンとして実行してもよい。 〔アプリケーショ ンプログラムの実行中の動作〕 図 2 9は、 アプリケーショ ンプログラムの実行中の動作を説明するための図で あ ステップ S Τ 1 2 1 : Α Ρ用タスク 1 7 2は、 図 2 8に示す処理を経てプログラムモジュール内の各 コードを実行するときに、 次に実行するコードが、 他のプログラムモジュールと の間でデータ授受またはデータ参照を指示するコードであるか否かを判断する。 ステップ S Τ 1 2 2 : Α Ρ用タスク 1 7 2は、 次に実行するコードが、 他のプログラムモジュールと の間でデータ授受またはデータ参照を指示していないと判断した場合にはステツ プ S T 1 2 4の処理に進み、 指示していると判断した場合にはステップ S T 1 2 3の処理に進む。 ステップ S Τ 1 2 3 : Α Ρ用タスク 1 7 2は、 当該コードを実行する。 ステップ S Τ 1 2 4 : Α Ρ用タスク 1 7 2は、 当該コードの実行を行わず、 例えばエラー処理を行う 以下、 図 1 9に示す通信システム 1 0 1の全体動作について説明する。 図 3 0は、 図 1 9に示す通信システム 1 0 1の全体動作を説明するための図で め 。 ステップ S Τ 1 3 1 : 事業者 1 1 5— 1〜 1 1 5 _3あるいはこれら事業者の依頼を受けた者が、 当 該事業者が I Cカード 1 0 3を用いて行う取り引きについての処理を行うための アプリケーショ ンプ αグラム A P—1 , AP— 2, A P— 3を、 図 1 9に示すパ 一ソナルコ ンピュータ 1 1 6—1 , 1 1 6— 2, 1 1 6— 3上で作成する。 また、 SAMチップ 1 0 8の管理者が、 図 2 3に示すモジュール管理用データ 1 3 0を生成し、 スクランブルして外部メモリ 1 0 7に格納する。 ステップ S T 1 3 2 : アプリケーショ ンプログラム AP— 1 ; AP— 2, AP— 3を、 認証用ュニッ ト 1 1 7— 1 , 1 1 7—2, 1 1 7— 3を介して、 パーソナルコ ンピュータ 1 1 6 _ 1 , 1 1 6— 2, 1 1 6— 3から SAMチップ 1 0 8にダウンロードする。 このとき、 図 2 7を用いて説明した処理が行われる。 ステップ S T 1 3 3 : ユーザに I Cカード 1 0 3が発行される。 図 2 2に示すように、 I Cカード 1 0 3の I C 1 0 3 aの記憶部 1 5 0には、 ユーザが契約を行った事業者との取り引きに用いられる鍵情報が記憶されている なお、.ユーザと事業者との間の契約は、 I Cカード 1 0 3の発行後に、 ィ ンタ 一ネッ ト 1 1 0などを介して行ってもよい。 ステップ S T 1 3 4 : 例えば、 ユーザがパーソナルコンピュータ 1 0 5を用いてィンタ一ネッ ト 1 1 0を介してサーバ装置 1 0 2にアクセスを行い、 商品を購入しょうとした場合に 、 サーバ装置 1 0 2がィンターネッ ト 1 1 0を介して A S Pサーバ装置 1 0 6に 処理要求を出す。 AS Pサーバ装置 1 0 6は、 サーバ装置 1 0 2から処理要求を受けると、 イ ン ターネ 'ン ト 1 1 0を介してパーソナルコンピュータ 1 0 5にアクセスを行う。 そ して、 カードリーダ ' ライタ 1 0 4が出した I Cカード 1 03についての処理要 求が、 パーソナルコンピュ一タ 1 0 5、 イ ンタ一ネッ ト 1 1 0および A S Pサー バ装置 1 06を介して S AMチップ 1 0 8に送信される。 ステップ S T 1 3 5 : SAMチップ 1 0 8力 ステップ S T 1 3 4で受信した処理要求に応じて、 決 済処理手順タスク 1 73によってアプリケーショ ンプログラムを選択し、 当該選 択されたアプリケ一ショ ンプ口グラムを実行する。 当該アプリケ一ショ ンプログラムの実行において、 図 2 8および図 29を用い て説明した処理が行われる。 ステップ S T 1 3 6 : S A Mチップ 1 0 8は、 アプリケーショ ンプロダラムの実行結果を A S Pサ一 バ装置 1 06に岀力する。 以上説明したように、 通信システム 1 0 1によれば、 図 27を用いて説明した ように、 S AMチップ 1 0 8力く、 認証用ュニッ ト 1 1 7— 1 , 1 17— 2, 1 1 7— 3を用いて、 アプリケーショ ンプログラムのダウンロード元を認証し、 外部 メモリ 1 07内の権限のある記憶領域に対してのみアプリケーションプログラム のダウンロードを認めるため、 権限の無い者によって、 外部メモリ 1 0 7内のァ プリケーショ ンプログラムが不正に交換されたり、 改竄されることを防止できる また、 通信システム 1 0 1によれば、 S A Mチップ 1 0 8が複数のァプリケ一 ショ ンプログラムを動作させる場合に、 アプリケーションプログラム間でのデー タ授受やデータ ' コードの参照をファイアウォール FW—1 , FW— 2, FW_ 3によつて制限することから、 各アプリケーションプログラムの処理が、 他のァ プリケーシヨ ンプログラムによつて不正干渉、 改竄されることを防止できる。 ま た、 各アプリケーショ ンプログラムの秘匿性を高めることができる。 また、 通信システム 1 0 1によれば、 図 2 8を用いて説明したように、 アプリ ケーショ ンプログラム実行時に、 当該アプリケーショ ンプログラムが改竄されて いるか否かを検証することで、 不正に改竄されたアプリケーショ ンプログラムに 基づいてなりすましなどの不正が行われることを回避できる。 また、 通信システム 1 0 1によれば、 各アプリケーショ ンプログラムを複数の プ グラムモジュールで構成することで、 外部メモリ 1 0 7に対してプログラム モジュール単位でダウンロードを行うことができる。 また、 通信システム 1 0 1によれば、 秘匿性の高い I Cカード 1 0 3に対して の操作に用いられる鍵情報を、 通常行われるスクランブルに加えて、 暗号化して 外部メモリ 1 0 7に格納することで、 当該鍵情報のセキュリティレベルを向上で きる。 また、 通信システム 1 0 1によれば、 アプリケーションプログラムは、 バスス クランブル機能によりコードアクセス時に暗号化 ·復号化を実行しているため、5 A Mチップ 1 0 8の処理停止中に、 外部メモリ 1 0 7に記憶されたアプリケー シヨ ンプログラムが不正に解折等されることを防止できる。 図 3 1は、 図 2 5に示す S A Mチップ 1 0 8の機能ブロックをより具体的にし た機能ブロック図である。 図 3 1に示すように、 S A Mチップ 1 0 8は、 内部バス 1 9 0を介して、 A S P S通信ィ ンタフヱース部 1 6 0、 外部メモリ通信ィ ンタフ ース部 1 6 1、 バ ススクランブル部 1 6 2、 暗号,復号部 1 6 5、 記憶部 1 6 6および C P U 1 6 7が接続されている。 図 2 5に示す署名処理部 1 6 3および認証処理部 1 6 4は、 例えば、 C P U 16 7によってその一部の機能が実現される。 図 3 1に示す S A Mチップ 1 0 8では、 例えば図 3 2に示すように、 内部バス 1 9 0に接続されたカード I Z F部 1 9 1を、 S A Mチップ 1 0 8の外部の R F 送受信部 1 9 2に接続し、 R F送受信部 1 9 2のアンテナ 1 9 2 aを介して、 I Cカード 1 0 3 との間で非接触方式でデータを送受信してもよい。 第 3実施形態 本実施形態は、 第 1 0〜第 1 2の発明に対応した実施形態である。 図 3 3は、 本実施形態の通信システム 2 0 1の全体構成図である。 図 3 3に示すように、 通信システム 2 0 1は、 サーバ装置 2 0 2、 I Cカード 2 0 3、 カードリーダ · ライタ 2 0 4、 パーソナルコ ンピュータ 2 0 5、 AS P (Application Service Provider)サーバ装 2 0 6ヽ SAM (Secure Appl icatio n Module) ュニッ ト 2 0 9、 パーソナルコ ンピュータ 2 1 .6一 1 , 2 1 6— 2 , 2 1 6— 3、 並びに認証用ユニッ ト 2 1 7—1 , 2 1 7_2 , 2 1 7— 3を用い て、 ィ ンタ一ネッ ト 2 1 0を介して通信を行って I Cカード 2 0 3を用いた決済 処理などの手続き処理を行う。 SAMュニッ ト 2 0 9は、 外部メモリ 2 0 7および SAMチップ 2 0 8を有す る。 SAMチップ 2 0 8は、 図 3 4に示すようなソフ トウエア構成を有している。 図 3 4に示すように、 SAMチップ 2 0 8は、 下層から上層に向けて、 HW(H ardware)層、 O S層、 下位ハンドラ層、 上位ハンドラ層および A P層を順に有し ている。 下位ハンドラ層には、 ドラィバ層が舍まれる。 ここで、 A P層には、 図 3 3に示すクレジッ トカード会社などの事業者 2 1 5 — 1 , 2 1 5_2 , 2 1 5— 3による I Cカード 2 0 3を用いた手続きを規定し たアプリケーショ ンプログラム A P—1 , AP— 2 , A P— 3がある。 AP層では、 アプリケーションプログラム A P—1 , AP— 2 , AP— 3相互 間、 並びに上位ハンドラ層との間にフアイァウォール FWが設けられている。 S A Mチップ 2 0 8は、 S C S Iまたは E t h e r n e tなどを介して A S P サーバ装置 2 0 6に接続される。 AS Pサーバ装置 2 0 6は、 ィ ンターネッ ト 2 1 0を介して、 ェンドユーザのパーソナルコンピュ一タ 2 0 5、 事業者 2 1 5— 1 , 2 1 5— 2 , 2 1 5— 3のパーソナルコンピュータ 2 1 6—1 , 2 1 6— 2 > 2 1 6_3を舍む複数の端末装置に接続される。 パーソナルコ ンピュータ 2 0 5は、 例えば、 シリアルまたは U S Bを介して D u m b型のカードリーダ ' ライタ 2 0 4に接続されている。 力一ドリーダ, ライ タ 2 0 4力 I Cカード 2 0 3との間で物理レベルに相当する例えば無線通信を 実現する。 I Cカード 2 0 3への操作コマンドおよび I Cカード 2 0 3からのリスポンス バケツ トは、 SAMュニッ ト 2 0 9側で生成および解読される。 よって、 その中 間に介在する力一ドリ一ダ ' ライタ 2 0 4、 パーソナルコンピュータ 2 0 5およ び AS Pサーバ装置 2 0 6は、 コマンドゃリスポンス内容をデータペイロ一ド部 分に格納して中継する役割を果たすのみで、 I C力一ド 2 0 3内のデータの暗号 化ゃ復号および認証などの実操作には関与しない。 事業者 2 1 5— 1 , 2 1 5 _2 , 2 1 5— 3は、 パーソナルコンピュータ 2 1 6_ 1 , 2 1 6— 2, 2 1 6— 3を用いてアプリケーショ ンプログラム AP—1 , ΑΡ— 2 , A Ρ— 3を作成し、 それぞれ認証用ユニッ ト 2 1 7—1 , 2 1 7— 2 , 2 1 7— 3を介して、 当該作成したアプリケーショ ンプログラムを S AMチ ップ 2 0 8を介して外部メモリ 2 0 7内の予め割り当てられた記憶領域にダウン 口一ドする。 このとき、 事業者 2 1 5— 1 , 2 1 5— 2, 2 1 5— 3は相互に無関係の者で あるため、 アプリケーショ ンプログラム A P—1 , AP— 2 , A P— 3をダウン ロードできる外部メモリ 2 0 7内の記憶領域は予め決められており、 当該記憶領 域へのダウン口一ドを行う権限を有するか否かが S AMチップ 2 0 8によって検 証される。 また、 アプリケーショ ンプ πグラム AP— 1 , AP— 2, AP— 3相互藺では 、 ファイアウォール FWによって、 データの授受および参照が制限されている。 認証用ユニッ ト 2 1 7— 1 , 2 1 7— 2, 2 1 7— 3は、 後述するように、 ァ プリケ一シヨ ンプログラム AP— 1 , AP— 2, AP— 3を SAMチップ 2 0 8 にダウンロードする際に、 S A Mチップ 2 0 8との間で相互認証を行い、 ダウン ロード用署名検証鍵情報の作成などを行う。 以下、 図 3 3に示す構成要素について説明する。 〔 I Cカード 2 0 3〕 図 3 5は、 I Cカード 2 0 3の機能プロック図である。 図 3 5に示すように、 I Cカード 2 0 3は、 記憶部 2 5 0および処理部 2 5 1 を備えた I C (Integrated Ci rcui t) 2 0 3 aを有する。 記憶部 2 5 0は、 図 3 6に示すように、 ク レジッ トカード会社などの事業者 2 1 5—1が使用する記憶領域 2 5 5— 1、 事業者 2 1 5 _ 2が使用する記憶領域 2 5 5— 2、 並びに事業者 2 1 5— 3が使用する記憶領域 2 5 5— 3を有する。 また、 記憶部 2 5 0は、 記憶領域 2 5 5 _ 1への権限の有無を判断するために 用いられる鍵情報、 記憶領域 2 5 5 _ 2へのアクセス権限を判断するために用い られる鍵情報、 並びに記憶領域 2 5 5— 3へのアクセス権限を判断するために用 いられる鍵情報を記憶している。 当該鍵情報は、 具体的には、 相互認証や、 デー タの暗号化および復号などに用いられる。 また、 記憶部 2 5 0は、 I Cカード 2 0 3あるいは I Cカード 2 0 3のユーザ の識別情報を記憶している。 以下、 S A Mユニッ ト 2 0 9について詳細に説明する。 〔外部メモリ 2 0 7〕 図 3 7は、 外部メモリ 2 0 7の記憶領域を説明するための図である。 図 3 7に示すように、 外部メモリ 2 0 7の記憶領域には、 事業者 2 1 5 _ 1の アプリケ一ショ ンプ αグラム A P—1が記憶される A P記憶領域 2 2 0— 1、 事 業者 2 1 5一 2のアプリケ一ショ ンプログラム A P— 2が記憶される A P記憶領 域 2 2 0— 2、 事業者 2 1 5— 3のアプリケーショ ンプログラム A P— 3が記憶 される A P記憶領域 2 2 0— 3、 並びに S A Mチップ 2 0 8の管理者が使用する A P管理用記憶領域 2 2 1がある。 AP記憶領域 2 2 0—1に記憶されているアプリケーショ ンプ グラム AP— 1は、 複数のプログラムモジュールによって構成されている。 AP記憶領域 2 2 0—1へのアクセスは、 フアイァウォール FW— 1によって制限されている。 A P記憶領域 2 2 0— 2に記憶されているアプリケーショ ンプログラム A P _ 2は、 複数のプログラムモジュールによって構成されている。 AP記憶領域 2 2 0— 2へのアクセスは、 ファイアウォール FW— 2によって制限されている。 AP記憶領域 2 2 0— 3に記憶されているアプリケーショ ンプログラム AP— 3は、 複数のプログラムモジユールによつて構成されている。 A P記憶領域 2 2 0— 3へのアクセスは、 フアイァウォール FW— 3によって制限されている。 本実施形態では、 上記プログラムモジュールは、 例えば、 SAMユニッ ト 2 0 9の外部から外部メモリ 2 0 7にダウンロードされる最小単位である。 各アプリ ケーショ ンプログラムを構成するプログラムモジュールの数は、 対応する事業者 が任意に決定できる。 また、 外部メモリ 2 0 7に記憶されたアプリケ一ショ ンプログラム A P— 1 , AP— 2 , A P— 3は、 スクランブルされており、 S AMチップ 2 0 8に読み込 まれたときに、 デスクランブルされる。 また、 アプリケーションプログラム A P— 1 , A P_2 , A P— 3は、 例えば 、 それぞれ図 3 3に示すパーソナルコンピュータ 2 1 6— 1 , 2 1 6— 2 , 2 1 6— 3を用いて、 事業者 2 1 5— 1 , 2 1 5— 2, 2 1 5— 3によって作成され 、 SAMチップ 2 0 8を介して外部メモリ 2 0 7にダウンロードされる。 A P管理用記憶領域 2 2 1へのアクセスは、 ファイアゥォ一ル FW_ 4によつ て制限されている。 なお、 ファイアウォール FW—1 , FW一 2 , FW— 3 , FW_4は、 図3 4 に示すファィァウォール FWに対応している。 AP管理用記憶領域 2 2 1には、 図 3 7に示すように、 AP選択用データ 2 3 1および AP間通信用データ 2 3 2が記憶されている。 ここで、 A P選択用データ 2 3 1および A P間通信用データ 2 32は、 例えば 、 S AMチップ 2 0 8のセッ トアップ時に予め登録されている。 また、 AP選択 用データ 23 1および A P間通信用データ 23 2の書き換えは、 SAMチップ 2 0 8の管理者のみが行える。 図 3 8は、 A P選択用データ 2 3 1を説明するための図である。 図 3 8に示すように、 AP選択用データ 2 3 1は、 I Cカード種別情報と AP 識別情報とを対応付けて示している。 I Cカード種別情報は、 図 33に示す I Cカード 2 0 3の種別を示し、 例えば 、 I Cカード 2 0 3を用いた取り引きの決済を行うクレジッ トカード会社の識別 情報である。 A P識別情報は、 図 3 4に示すように、 SAMチップ 2 0 8上の A P層で動作 するアプリケ一ショ ンプログラムの識別情報である。 図 3 9は、 A P間通信用データ 2 3 2を説明するための図である。 AP間通信用データ 23 2は、 図 3 4に示すアプリケーショ ンプログラム AP _ 1 , AP_2, AP— 3間の通信の可否を示している。 具体的には、 図 3 9に示す列項目にあるアプリケ一ショ ンプログラムが出した 、 行項目にあるアプリケーショ ンプログラムへの通信要求が許可されるか否かを 示している。 例えば、 アプリケーショ ンプログラム A P— 3による、 アプリケーショ ンプロ グラム A P— 1への通信要求は許可されるが、 アプリケ一ショ ンプログラム AP — 2への通信要求は拒否される。 また、 図 3 7に示すように、 AP管理用記憶領域 2 2 1は、 アプリケ一ショ ン プログラム間での通信 (データの授受) に用いられる AP間通信用記憶領域 23 3を有している。 〔 SAMチップ 2 0 8〕 図 4 0は、 図 33に示す SAMチップ 2 0 8の機能ブ ック図である。 図 4 0に示すように、 S A Mチップ 2 0 8は、 A S P S通信ィ ンタフェース部 2 6 0、 外部メモリ通信ィ ンタフヱ一ス部 2 6 1、 バススクランブル部 2 6 2、 署名処理部 2 6 3、 認証処理部 2 6 4、 暗号 ·復号部 2 6 5、 記憶部 2 6 6、 C P U 2 6 7を有する。 S A Mチップ 2 0 8は、 耐タンパ性のモジユールである。 A S P S通信ィ ンタフヱ一ス部 2 6 0は、 図 3 3に示す A S Pサーバ装置 2 0 6との間のデータ入出力に用いられるィ ンタフエースである。 外部メモリ通信ィ ンタフヱース部 2 6 1は、 外部メモリ 2 0 7との間のデータ 入出力に用いられるィ ンタフヱースである。 バススクランブル部 2 6 2は、 外部メモリ通信ィ ンタフヱース部 2 6 1を介し てデータを入出力する際に、 出力するデータをスクランブルし、 入力したデータ をデスクランブルする。 すなわち、 外部メモリ 2 0 7には、 スクランブルされた状態でデータが記憶さ れる。 署名処理部 2 6 3は、 後述するようにィ ンタ一ネッ ト 2 1 0を介してアプリケ ーショ ンプログラムを外部メモリ 2 0 7にダウンロードするとき、 並びにァプリ ケ一シヨ ンプログラムを実行するときに署名作成および署名検証を行う。 認証処理部 2 6 4は、 後述するようにィ ンタ一ネ 'ン ト 2 1 0を介してアプリケ ーションプログラムを外部メモリ 2 0 7にダウンロードするときなどに、 相手先 と相互認証を行う。 暗号♦復号部 2 6 5は、 データの暗号化、 並びに暗号化されたデータの復号を 行つ。 記憶部 2 6 6は、 C P U 2 6 7の処理に必要なデータを記憶する。 C P U 2 6 7は、 所定のプログラム (本発明のプログラム) を基に、 後述する ようにタスクを実行し、 当該タスクの実行に応じて、 指定されたアプリケーショ ンプログラムの実行を行う。 図 4 1は、 C P U 2 6 7が実行するタスクを説明するための図である。 図 4 1に示すように、 C P U 2 6 7は、 ダウンロードタスク 2 7 0、 システム タスク 2 7 1、 AP用タスク 2 7 2、 決済処理手順タスク 2 7 3、 A P間通信用 タスク 2 7 4、 並びに SAM間通信用タスク 2 7 5を実行する。 ダウンロードタスク 2 7 0は、 後述するように、 SAMユニッ ト 2 0 9の外部 から、 S AMチ 'ンプ 2 0 8を介して外部メモリ 2 0 7に、 アプリケ一ショ ンプロ グラムをダウンロ一ドする処理を行う。 システムタスク 2 7 1は、 ドライバ管理、 I Cカード 2 0 3に対しての固有の 操作などの処理を行うタスクである。 AP用タスク 2 7 2は例えば、 AS Pサーバ装置 2 0 6などの SAMチップ 2 0 8の外部から処理要求を SAMチップ 2 0 8が受けた場合に行われるアプリケ —シヨ ンプログラム AP— 1 , AP— 2, A P_ 3の実行を統括的に管理する。 決済処理手順タスク 2 7 3は、 図 4 2に示すように、 S AMチップ 2 0 8が A S Pサーバ装置 2 0 6力、ら、 I Cカード 2 0 3に関する処理要求を受けたとき、 図 3 8に示す AP選択用データ 2 3 1に基づいて当該処理要求に含まれる I C力 一ド種別情報に対応する A Pの識別情報を得て、 当該 A P識別情報に対応するァ プリケ一シヨ ンプログラム A P_ 1 , AP— 2, A P一 3を選択して実行する。 AP間通信用タスク 2 7 4は、 アプリケ一ショ ンプ αグラム間の通信を管理す る。 図 4 3は、 A Ρ間通信用タスク 2 7 4の処理を説明するためのフローチヤ一ト である。 , ここでは、 アプリケーショ ンプログラム AP—1から、 AP— 2にデータを書 き込むための通信要求が出された場合を例示して説明する。 ステップ S T 2 0 1 : 実行中のアプリケーショ ンプログラム AP— 1が、 AP— 2へのデータ書込を 示す通信要求を出すと、 ステップ ST 2 0 2の処理が行われる。 ステップ ST 2 0 2 : ステップ S T 2 0 1で出された通信要求が、 AP藺通信用タスク 2 7 4に受け 渡される。 ステップ ST 2 0 3 : A P間通信用タスク 2 7 4は、 図 3 9に示す A P間通信用データ 2 3 2を参照 して、 アプリケーショ ンプログラム A P— 1が A P— 2に対して通信を行うこと ができるか否かを判断する。 ステップ ST 2 0 4 : AP間通信用タスク 2 7 4は、 ステップ S T 2 0 3で通信を行うことができる と判断した場合にはステップ S T 2 0 5の処理を実行し、 そうでない場合には処 理を終了する。 当該例では、 図 3 9から、 アプリケーショ ンプログラム AP— 1は AP— 2に 対して通信ができるので、 ステップ S T 2 0 5の処理が実行される。 ステップ S T 2 0 5 : A P間通信用タスク 2 7 4の制御によつて、 アプリケーショ ンプログラム A P — 1力 図 3 7に示す A P間通信用記憶領域 2 3 3にデ一タを書き込む。 ステップ S T 2 0 6 : AP間通信用タスク 2 7 4は、 データが書き込まれた旨をアプリケ一ショ ンプ ログラム A P— 2に通知する。 ステップ ST 2 0 7 : アプリケーショ ンプログラム A p— 2は、 ステップ S T 2 0 6で受けた通知に 応じて、 AP間通信用記憶領域 2 3 3からデータを読み出す。 これにより、 ファイアゥォールを中継したアプリケ一ショ ンプログラム A P— 1 , A P— 2間の通信が完了する。 SAM間通信用タスク 2 7 5は、 図 4 4に示すように、 必要に応じて、 例えば 、 SAMチップ 2 0 8以外の SAMチップ 2 0 8 xの SAM間通信用タスク 2 7 5を起動して、 当該 SAMチップ 20 8 Xの SAM間通信用タスク 27 5にリモ 一トコマンドを発行することができる。 このようなリモー トコマンドは、 例えば、 S A Mチップ 2 0 8の処理負荷が大 きくなり、 処理を適切に行えない場合に、 SAMチップ 2 0 8の SAM間通信用 タスク 27 5力 SAMチップ 2 0 8 xの S A M間通信用タスク 27 5にリモー トコマンドを発行し、 SAMチップ 2 0 8に割り当てられた処理の少なく とも一 部の実行を SAMチップ 2 0 8 Xに依頼する。 以下、 図 3 3に示す通信システム 2 0 1の全体動作について説明する。 図 4 5は、 図 3 3に示す通信システム 2 0 1の全体動作を説明するための図で あ ステップ S T 2 3 1 : 事業者 2 1 5— 1〜2 1 5— 3あるいはこれら事業者の依頼を受けた者が、 当 該事業者が I Cカード 2 0 3を用いて行う取り引きについての処理を行うための アプリケーショ ンプログラム AP— 1 , AP— 2, 八?— 3を、 図33に示すパ 一ソナルコ ンピュータ 2 1 6—1 , 2 1 6— 2, 2 1 6— 3上で作成する。 ステップ ST 2 3 2 : アプリケーショ ンプログラム AP—1, AP— 2, AP— 3を、 認証用ュニッ ト 2 1 7— 1 , 2 1 7— 2, 2 1 7— 3を介して、 パーソナルコ ンピュータ 2 1 6 _ 1 , 2 1 6— 2, 2 1 6— 3から S AMチップ 2 0 8にダウンロードする。 ステップ ST 2 3 3 : ュ一ザに I Cカード 2 03が発行される。 図 3 6に示すように、 I Cカード 2 03の I C 2 0 3 aには、 ユーザが契約を 行った事業者との取り引きに用いられる鍵情報が記憶されている。 なお、 ユーザと事業者との間の契約は、 I Cカード 2 0 3の発行後に、 ィ ンタ 一ネッ ト 2 1 0などを介して行ってもよい。 ステップ ST 2 3 4 : 例えば、 ユーザがパーソナルコンピュータ 2 0 5を用いてィ ンターネッ ト 2 1 0を介してサーバ装置 2 0 2にアクセスを行い、 商品を購入しょうとした場合に 、 サーバ装置 2 0 2がィ ンタ一ネッ ト 2 1 0を介して A S Pサーバ装置 2 0 6に 処理要求を出す。 A S Pサーバ装置 2 0 6は、 サーバ装置 2 0 2から処理要求を受けると、 イン ターネッ ト 2 1 0を介してパーソナルコンピュ一タ 2 0 5にアクセスを行う。 そ して、 カードリーダ ' ライタ 2 0 4が出した I Cカード 2 0 3についての処理要 求が、 パーソナルコンピュータ 2 0 5、 イ ンターネッ ト 2 1 0および A S Pサー バ装置 2 0 6を介して S A Mチップ 2 0 8に送信される。 ステップ S T 2 3 5 : S A Mチップ 2 0 8力、 ステップ S T 2 3 4で受信した処理要求に応じて、 決 済処理手順タスク 2 7 3によってアプリケーショ ンプログラムを選択し、 当該選 択されたアプリケ一ショ ンプ πグラムを実行する。 当該アプリケ一ショ ンプログラムの実行において、 アプリケーショ ンプロダラ ム間での通信が行われる場合には、 A P間通信用タスク 2 7 4によって、 前述し た図 4 3で示したように行われる。 ステップ S T 2 3 6 : S A Mチップ 2 0 8は、 アプリケ一ショ ンプログラムの実行結果を A S Pサー バ装置 2 0 6に出力する。 以上説明したように、 通信システム 2 0 1によれば、 図 3 4および図 3 7に示 すように、 アプリケーショ ンプログラム A P— 1 , A P— 2 , A P— 3は、 ファ ィァウォールによって相互間でのアクセスが制限されているため、 アプリケ一シ ヨンプログラムが不正に監視および改竄されることを防止できる。 また、 各アブ リケーシヨ ンプログラムの秘匿性を高めることができる。 また、 通信システム 2 0 1によれば、 図 4 1に示す A P間通信用タスク 2 7 4 が図 3 7に示す外部メモリ 2 0 7の A P管理用記憶領域 2 2 1を用いて、 図 4 3 に示す処理を行うことで、 予め許可された範画内で、 アプリケーショ ンプ口ダラ ム間の通信が許可される。 そのため、 複数のアプリケーショ ンプ グラムを同期および協調させて多様な サービスが提供できる。 このような多様なサービスとしては、 例えば、 図 4 1に示す決済処理手順タス ク 2 7 3によるアプリケーショ ンプログラムの自動選択がある。 すなわち、 同一 レベルの処理内容でありながら、 I Cカード 2 0 3の発行元により処理プロ トコ ルが異なる決済処理は、 I Cカード 2 0 3の種別が判れば、 それに対応するアブ リケーシヨ ンプログラムが自動的に決定できる。 そのため、 決済処理手順タスク 2 7 3のレベルで、 決済処理を登録することで、 I Cカード 2 0 3の種別とそれ に対応するアプリケーショ ンプ πグラムを自動的に決定できる。 これにより、 ァ プリケーシヨ ンプログラムの開発者の負担を軽減できる。 また、 通信システム 2 0 1によれば、 外部メモリ 2 0 7に記憶される情報は、 図 4 0に示す S AMチップ 2 0 8のバススクランブル部 2 6 2によってスクラン ブルされているため、 外部からの解読に対して秘匿性がある。 また、 通信システム 2 0 1によれば、 図 4 1に示す SAM間通信用タスク 2 7 5を設けることで、 S AMチップ 2 0 8の処理負荷を他の S AMチップに分散さ せることが可能になる。 そのため、 複数の端末装置からの決済処理の処理要求を 同時に扱う必要がある店舖のサーバ装置などに SAMチップ 2 0 8を搭載する場 合には、 SAM間通信用タスク 2 7 5の機能を用いて、 複数の SAMチップ 2 0 8を使用して決済処理能力を高めることができる。 図 4 6は、 図 4 0に示す SAMチップ 2 0 8の機能ブ α 'ンクをより具体的にし た機能プロック図である。 図 4 6に示すように、 SAMチップ 2 0 8は、 内部バス 2 9 0を介して、 AS P S通信ィ ンタフエース部 2 6 0、 外部メモリ通信ィ ンタフヱース部 2 6 1、 バ ススクランブル部 2 6 2、 暗号 '復号部 2 6 5、 記憶部 2 6 6および C P U 2 6 7が接続されている。 図 4 0に示す署名処理部 2 63および認証処理部 2 6 4は、 例えば、 C P U 2 67によってその一部の機能が実現される。 図 4 6に示す S AMチップ 2 08では、 例えば図 4 7に示すように、 内部バス2 9 0に接続されたカード I /F部 2 9 1を、 SAMチップ 2 0 8の外部の R F 送受信部 2 9 2に接続し、 R F送受信部 2 9 2のアンテナ 2 9 2 aを介して、 I Cカード 2 0 3との間で非接触方式でデータを送受信してもよい。 第 4実施形態 ' 当該実施形態は、 第 1 3〜第 1 6の発明に対応した実施形態である。 図 4 8は、 本実施形態の通信システム 3 0 1の全体構成図である。 図 4 8に示すように、 通信システム 3 0 1は、 サーバ装置 3 0 2、 I Cカード3 03 (本発明の集積回路) 、 カードリーダ♦ ライタ 3 0 4、 パーソナルコンピ ユータ 3 0 5、 AS P (Application Service Provider)サーバ装置 3 0 6、 S A M (Secure Application Module) ュニ 'ン ト 3 0 9、 パーソナルコ ンピュ一タ 3 1 6— 1 , 3 1 6— 2, 3 1 6— 3, 3 1 6— 4, 3 1 6— 5、 認証用ュニッ ト 3 1 7— 1 , 3 1 7— 2, 3 1 7— 3, 3 1 7— 4, 3 1 7— 5 (本発明の認証用 装置) 、 並びに I CE(In Circuit Emulator)' 3 1 8を用いて、 インターネ 'ン ト 3 1 0を介して通信を行って、 S AMチップ 3 0 8のソフ トゥ アの開発やカス タマイズ、 並びに I Cカード 3 0 3を用いた決済処理などを行う。 SAMュニッ ト 3 0 9は、 外部メモリ 3 0 7 (本発明の半導体記憶回路) およ び SAMチップ 3 0 8 (本発明の半導体回路) を有する。 S AMチップ 3 08は、 図 4 9に示すようなソフ トウェア構成を有している。 図 4 9に示すように、 S AMチップ 3 0 8は、 下層から上層に向けて、 HW(H ardware)層、 O S層、 下位ハンドラ層、 上位ハン ドラ層およびアプリケーショ ン (AP ) 層を順に有している。 下位ハンドラ層は、 アプリケーショ ンプログラムに依存しない処理を規定する 層であり、 ◦ S Iプロ トコルにおける トランスポート層、 ネッ トワーク層および データリ ンク層に対応している。 下位ハンドラ層には、 ドラィバ層が舍まれる。 ドライバ層は、 L S Iの操作に係わる処理を行う層である。 上位ハンドラ層は、 アプリケーショ ンプログラムに依存する処理を規定する層 であり、 0 S Iプロ トコルにおける トランスポート層より上の層に対応している ここで、 0 S層が本発明の第 1の層に対応し、 下位ハン ドラ層、 ドライバ層お よび上位ハンドラ層が本発明の第 2の層に対応し、 AP層が本発明の第 3の層に 対応している。 AP層には、 図 4 8に示すクレジッ トカード会社などの事業者 3 1 5— AP 1 , 3 1 5 _AP 2 , 3 1 5— AP 3による I Cカード 30 3を用いた手続きを規 定したアプリケーショ ンプログラム A P— 1 , AP— 2, A P— 3がある。 AP層では、 アプリケーショ ンプログラム AP_1 , AP— 2, AP— 3相互 間、 並びに上位ハン ドラ層との間にファイアウォール FW (本発明のファイアゥ オール) が設けられている。 図 4 9に示すソフ トウェア構成において、 A P層で各事業者に特有の処理、 例 えば I Cカード 3 0 3を用いた決済処理の内容が規定されており、 I Cカード 3 0 3を直接操作する処理は上位ハンドラ層以下の層に規定されている。 S A Mチップ 3 0 8は、 S C S Iまたは E t h e r n e tなどを介して A S P サーバ装置 3 0 6に接続される。 AS Pサーバ装置 30 6は、 イ ンターネッ ト 3 1 0を介して、 パーソナルコン ピュータ 3 0 5, 3 1 6— 1 , 3 1 6— 2, 3 1 6— 3, 3 1 6— 4, 3 1 6— 5が接繞されている。 パーソナルコンピュータ 3 1 6—1は、 S AMチップ 3 0 8で実行されるアブ リケーショ ンプログラム AP— 1の事業者 3 1 5— AP 1が使用する。 パーソナルコンピュ一タ 3 1 6— 2は、 S AMチップ 3 0 8で実行されるアブ リケ一シヨンプログラム A P— 2の事業者 3 1 5 _A P 2が使用する。 パーソナルコンピュータ 3 1 6— 3は、 SAMチップ 3 0 8で実行されるアブ リケ一シヨ ンプログラム A P— 3の事業者 3 1 5— A P 3が使用する。 パーソナルコンピュ一タ 3 1 6 4は、 S AMチップ 3 0 8の図 4 9に示す上 位ハンドラ層、 並びにドライバ層を舍む下位ハンドラ層を開発可能なソフ トウ ァ開発者 3 1 5_M I Dが使用する。 パーソナルコンピュータ 3 1 6— 5は、 SAMチップ 3 0 8の製造元であり、 SAMチップ 3 0 8を統括して管理する権限を有するソフ トウヱァ開発者 3 1 5 —S UPが使用する。 事業者 3 1 5— AP I , 3 1 5_AP 2, 3 1 5—A P 3は、 パーソナルコン ピュータ 3 1 6— 1 , 3 1 6— 2, 3 1 6— 3を用いてアプリケーショ ンプログ ラム AP_1 , AP— 2 , A P— 3を作成し、 それぞれ認証用ユニッ ト 3 1 7— 1 > 3 1 7— 2 , 3 1 7— 3を介して、 当該作成したアプリケーションプログラ ムを SAMチップ 3 0 8を介して外部メモリ 3 0 7内の予め割り当てられた記憶 領域にダウンロードする。 このとき、 事業者 3 1 5— AP 1 , 3 1 5— AP 2 , 3 1 5— AP 3は相互に 無関係の者であるため、 アプリケーショ ンプ αグラム AP— 1 , ΑΡ— 2, A P —3をダウンロードできる外部メモリ 3 0 7内の記憶領域は予め決められており 、 当該記憶領域へのダウンロードを行う権限を有するか否かが SAMチップ 3 0 8によって検証される。 また、 アプリケーショ ンプログラム A P—1 , AP— 2 , A P— 3の実行中は 、 ファイアウォール FWによって、 アプリケーショ ンプログラム A P— 1 , AP — 2 , AP— 3の間でのデータの授受および参照が制限されている。 ソフ トウエア開発者 3 1 5_M I Dは、 認証用ュニッ ト 3 1 7— 4を介して、 必要に応じて、 SAMチップ 3 0 8の図 4 9に示す上位ハンドラ層、 並びにドラ ィバ層を舍む下位ハンドラ層のカスタマィズ等のために所定のプ口グラムを S A Mチップ 3 0 8にダウン π—ドする。 ソフ トウヱァ開発者 3 1 5— S UPは、 認証用ュニッ ト 3 1 7— 5を介して、 図 4 9に示す全ての層のカスタマィズ等のために所定のプログラムを S AMチッ プ 3 0 8にダウンロードする。 認証用ュニッ ト 3 1 7—1〜3 1 7— 5は、 後述するように、 それぞれパーソ ナルコンピュータ 3 1 6— 1〜3 1 6— 5から所定のプログラムを SAMチップ 3 0 8にダウンロードする際に、 SAMチップ 3 0 8との間で相互認証、 並びに ダウンロード用署名検証鍵情報の作成などを行う。 パーソナルコ ンピュータ 3 0 5は、 例えば、 I Cカード 3 0 3の所有者である エン ドユーザが使用する。 パーソナルコ ンピュータ 30 5は、 例えば、 シリアルまたは U S Bを介して D u m b型のカードリーダ ' ライタ 30 4に接続されている。 カードリーダ · ラィ タ 3 0 4が、 I Cカード 3 03との間で物理レベルに相当する例えば無線通信を 実現する。 I Cカード 3 0 3への操作コマンドおよび I Cカード 3 0 3からのリスポンス パケッ トは、 SAMュニッ ト 3 09側で生成および解読される。 よって、 その中 間に介在するカードリ一ダ ' ライタ 3 04、 パーソナルコンピュータ 3 05およ び AS Pサーバ装置 3 0 6は、 コマ.ンドゃリスポンス内容をデータペイ口一ド部 分に格納して中継する役割を果たすのみで、 I Cカード 3 0 3内のデータの暗号 化ゃ復号および認証などの実操作には関与しない。 また、 I CE 3 1 8は、 SAMチップ 3 0 8上で動作するプログラムをデバッ クする際などに用いられるエミユレータである。 以下、 図 4 8に示す構成要素について説明する。 I Cカード 3 0 3 I Cカード 3 0 3は、 SAMチップ 30 8を用いた決済処理に必要な鍵情報な どを記憶する。 認証用ュニッ ト 3 1 7 1〜3 1 7 5 図 5 0は、 認証用ュニッ ト 3 1 7—1の機能プロ 'ン ク図である。 図 5 0に示すように、 認証用ュニッ ト 3 1 7— 1は、 記憶部 3 50— 1および 処理部 3 5 1— 1を有する。 図 5 0に示すように、 記憶部 3 5 0— 1は、 S AM— I D、 相互認証用原鍵情 報 1およびアクセス原鍵情報 K Aを記憶している。 SAM_ I Dは、 SAMチップ 30 8の識別情報である。 相互認証用原鍵情報 K 1は、 後述するように相互認証用鍵情報 K 2を生成する ために用いられる。 アクセス原鍵情報 K Aは、 後述するように、 外部メモリ 3 0 7にプログラムを ダウン口一ドするときに用いられるダウンロード用署名情報を生成するために用 いられる。 アクセス原鍵情報 K Aは、 図 4 9に示す SAMチップ 3 0 8のソフ トゥヱァ構 造の AP層のプログラムを外部メモリ 307にダウンロ一ドするために必要な鍵 情報である。 処理部 3 5 1 _ 1は、 図 50に示すように、 相互認証部 3 5 2— 1およびダウ ンロード処理部 3 5 3— 1を有する。 相互認証部 3 5 2—1は、 図 5 1に示すように、 プログラムを外部メモリ 3 0 7にダウンロードする際に、 SAM— I Dを平文として相互認証用原鍵情報 K 1 を用いて暗号化を行って相互認証用鍵情報 K 2を生成し、 当該相互認証鏈情報 K 2を用いて SAMチップ 3 0 8との間で相互認証を行う。 ダウンロ一ド処理部 35 3— 1は、 プログラムを外部メモリ 307にダウンロ ードする際に、 図 5 2に示すように、 SAM— I Dを平文としてアクセス原鍵情 報 KAを用いて暗号化を行って、 ダウンロード用鏈情報 K— D Aを生成する。 ま た、 ダウンロード処理部 3 53—1は、 ダウンロード用鍵情報 K— D Aを用いて ダウンロード用署名情報を生成し、 これを SAMチップ 3 0 8に送信する。 認証用ュニ 'ン ト 3 1 7— 2 , 3 1 7— 3は、 上述した認証用ュニッ ト 3 1 7 _ 1 と同じ構成をしている。 但し、 例えば、 アクセス原鍵情報 KAの内容は各認証 用ュ二 .ン 卜で異なる。 図 5 3は、 認証用ュニッ ト 3 1 7— 4の機能ブロ ック図である。 図 5 3に示すように、 認証用ュニッ ト 3 1 7— 4は、 記憶部 3 5 0— 4および 処理部 3 5 1—4を有する。 図 5 3.に示すように、 記憶部 3 5 0— 4は、 SAM— I D、 相互認証用原鍵情 報 1およびアクセス原鍵情報 KA, KMを記憶している。 SAM— I D、 相互認証用原鍵情報 K 1およびアクセス原鍵情報 K Aは、 前述 したものと同じである。 ァクセス原鍵情報 K Mは、 図 4 9に示す SAMチップ 3 0 8のソフ トウェア構 造の上位ハンドラ層、 並びにドライバ層を含む下位ハンドラ層のプログラムを外 部メモリ 3 0 7あるいは SAMチップ 3 0 8にダウンロ一ドするために必要な鏈 情報である。 処理部 3 5 1—4は、 図 5 3に示すように、 相互認証部 3 5 2— 4およびダウ ンロード処理部 3 5 3— 4を有する。 相互認証部 3 5 2— 4は、 前述した図 5 1に相互認証部 3 5 2—1 と同じであ る。 ダウンロード処理部 3 5 3— 4は、 プログラムを外部メモリ 3 0 7にダウン口 ードする際に、 図 5 4に示すように、 SAM— I Dを平文としてアクセス原鍵情 報 KAを用いて暗号化を行って、 ダウンロード用鏈情報 K— D Aを生成する。 次 に、 ダウンロード処理部 3 5 3— 4は、 ダウンロード用鍵情報 K_D Aを平文と してアクセス原鍵情報 KMを用いて暗号化を行って、 ダウンロード用鍵情報 K— DMを生成する。 次に、 ダウン π—ド処理部 3 5 3— 4は、 ダウンロード用鍵情 報 K— DMを用いてダウンロ一ド用署名情報を生成し、 これを SAMチップ 3 0 8に送信する。 図 5 5は、 認証用ュニッ ト 3 1 7— 5の機能ブロック図である。 図 5 5に示すように、 認証用ュニッ ト 3 1 7— 5は、 記憶部 3 5 0— 5および 処理部 3 5 1—5を有する。 図 5 5に示すように、 記憶部 3 5 0— 5は、 SAM— I D、 相互認証用原鍵情 報 K 1およびアクセス原鏈情報 KA, KM, KSを記憶している。 SAM_ I D、 相互認証用原鍵情報 K 1およびアクセス原鍵情報 KA, KMは 、 前述したものと同じである。 アクセス原鍵情報 KSは、 図 4 9に示す SAMチップ 3 0 8のソフ トゥヱァ構 造の 0 S層のプログラムを外部メモリ 3 0 7あるいは SAMチップ 3 0 8にダウ ン α—ドするために必要な鍵情報である。 処理部 3 5 1—5は、 図 5 5に示すように、 相互認証部 3 5 2— 5およびダウ ンロード処理部 3 5 3— 5を有する。 相互認証部 3 5 2— 5は、 前述した図 5 1に相互認証部 3 5 2— 1 と同じであ る。 ダウンロード処理部 3 5 3— 5は、 プログラムを外部メモリ 3 0 7にダウン口 ―ドする際に、 図 5 6に示すように、 SAM— I Dを平文としてアクセス原鍵情 報 KAを用いて暗号化を行って、 ダウンロード用鍵情報 K__D Aを生成する。 次 に、 ダウン口一ド処理部 3 5 3— 5は、 ダウン口一ド用鍵情報 K— D Aを平文と してアクセス原鍵情報 KMを用いて暗号化を行って、 ダウンロード用鍵情報 K— DMを生成する。 次に、 ダウンロード処理部 3 5 3— 5は、 ダウンロード用鍵情 報 K— DMを平文としてアクセス原鍵情報 KSを用いて暗号化を行って、 ダウン ロード用鍵情報 K— D Sを生成する。 次に、 ダウンロード処理部 3 5 3— 5は、 ダウンロード用鍵情報 K— D Sを用いてダウンロード用署名情報を生成し、 これ を SAMチップ 3 0 8に送信する。 本実施形態では、 認証用ュニッ ト 3 1 7— 1 , 3 1 7— 4, 3 1 7— 5は、 記 憶部 3 5 0— 1 , 3 5 0— 4, 3 5 0—5内にセキュアな状態で情報を記憶して おり、 当該ュニ 'ン 卜が外的な要因で破壊されたり、 こじ開けられた場合には、 そ のことを検出部によって検出して、 記憶部 3 5 0— 1 , 3 5 0— 4, 3 5 0— 5 の記憶情報を消去する。 SAMユニッ ト 3 0 9 〔外部メモリ 3 0 7〕 図 5 7は、 外部メモリ 3 0 7の記憶領域を説明するための図である。 図 5 7に示すように、 外部メモリ 3 0 7の記憶領域には、 事業者 3 1 5— 1の アプリケーショ ンプログラム A P—1が記憶される A P記憶領域 3 2 0— 1、 事 業者 3 1 5— 2のアプリケーショ ンプログラム A P— 2が記憶される A P記憶領 域 3 2 0— 2、 事業者 3 1 5— 3のアプリケーショ ンプログラム A P— 3が記憶 される A P記憶領域 3 2 0— 3、 並びに SAMチップ 3 0 8の管理者が使用する A P管理用記憶領域 3 2 1がある。 A P記憶領域 3 2 0 _ 1に記憶されているアプリケーショ ンプログラム A P— 1は、 複数のプログラムモジュールによつて構成されている。 A P記憶領域 3 2 0—1へのアクセスは、 フアイァウォール FW— 1によって制限されている。 A P記憶領域 3 2 0— 2に記憶されているアプリケ一ショ ンプログラム A P— 2は、 複数のプログラムモジユールによつて構成されている。 A P記憶領域 3 2 0— 2へのアクセスは、 フアイァウォール FW— 2によって制限されている。 A P記憶領域 3 2 0— 3に記憶されているアプリケーショ ンプログラム A P 3は、 複数のプ αグラムモジュールによって構成されている。 ΑΡ記憶領域 3 2 0— 3へのアクセスは、 フアイァウォール FW— 3によって制限されている。 本実施形態では、 上記プログラムモジュールは、 例えば、 SAMユニッ ト 3 0 9の外部から外部メモリ 3 0 7にダウンロードされる最小単位である。 各アプリ ケーショ ンプ πグラムを構成するプログラムモジュールの数は、 対応する事業者 が任意に決定できる。 また、 外部メモリ 3 0 7に記憶されたアプリケ一ショ ンプログラム AP— 1 , AP_2, AP— 3は、 スクランブルされており、 SAMチップ 3 0 8に読み込 まれたときに、 デスクランブルされる。 また、 アプリケーショ ンプログラム A P— 1 , A P— 2 , A P— 3は、 例えば 、 それぞれ図 4 8に示すパーソナルコンピュータ 3 1 6— 1 , 3 1 6— 2 , 3 1 6— 3を用いて、 事業者 3 1 5— 1 , 3 1 5— 2 , 3 1 5— 3によって作成され 、 S AMチップ 3 0 8を介して外部メモリ 3 0 7にダウンロ一ドされる。 A P管理用記憶領域 3 2 1へのアクセスは、 フアイァウォール FW— 4によつ て制限されている。 なお、 ファイアウォール FW—1 , FW— 2 , FW— 3 , ¥—4は、 図4 9 に示すファイアウォール FWに対応している。 AP管理用記憶領域 3 2 1には、 AP管理用データ 3 3 0が記憶されている。A P管理用データ 3 3 0には、 例えば、 SAM_ I D、 相互認証用鍵情報 K 2 (または相互認証用原鏈情報 Κ 1 ) 、 ダウンロード用署名検証鍵情報 K„D V A , KD VM, KD V Sがある。 ここで、 ダウンロード用署名検証鍵情報 K— D V Aは、 ダウンロード用鍵情報 K—D Aを用いて生成された署名情報の正当性を検証する鍵情報である。 ダウンロード用署名検証鍵情報 K— DVMは、 ダウンロ一ド用鍵情報 K— DM を用いて生成された署名情報の正当性を検証する鍵情報である。 ダウンロード用署名検証鍵情報 K— D V Sは、 ダウンロード用鍵情報 K— D S を用いて生成された署名情報の正当性を検証する鍵情報である。 ダウンロード用署名検証鍵情報は、 当該プログラムモジュールを S A Mチ 'ンプ 3 0 8を介して外部メモリ 3 0 7にダウンロードするときに行われる署名検証に 用いられる鍵情報である。 〔 SAMチップ 3 0 8〕 図 5 8は、 図 4 8に示す SAMチップ 3 0 8の機能プロ 'ン ク図である。 図 5 8に示すように、 SAMチップ 3 0 8は、 AS P S通信ィ ンタフエース部 3 6 0、 外部メモリ通信ィ ンタフヱ一ス部 3 6 1、 バススクランブル部 3 6 2、 暗号 ·復号部 3 6 3、 記憶部 3 6 4および C P U 3 6 5を有する。 S A Mチップ 3 0 8は、 耐タンパ性のモジユールである。 AS P S通信ィ ンタフヱ一ス部 3 6 0は、 図 4 8に示す AS Pサーバ装置 3 0 6との間のデータ入出力に用いられるィ ンタフエースである。 外部メモリ通信ィ ンタフ ース部 3 6 1は、 外部メモリ 3 0 7との間のデータ 入出力に用いられるィ ンタフェースである。 バススクランブル部 3 6 2は、 外部メモリ通信ィ ンタフェース部 3 6 1を介し てデータを外部メモリ 3 0 7との間で入出力する際に、 出力するデータをスクラ ンブルし、 入力したデータをデスクランブルする。 暗号 ·復号部 3 6 3は、 データの暗号化、 並びに暗号化されたデータの復号を 行つ。 記憶部 3 6 4は、 C P U 3 6 5の処理に用いられるデータを記憶する。 C P U 3 6 5は、 所定のプログラム (本発明のプログラム) を基に、 SAMチ ップ 3 0 8力行うアプリケーショ ンプログラムの実行を舍む様々な処理を、 タス クなどの形態で処理を行う。 C P U 3 6 5は、 例えば、 ィ ンターネッ ト 3 1 0を介したプログラムモジユー ルのダウンロード処理を行うダウンロード用タスク 3 6 5 aを実行する。 以下、 C P U 3 6 5のダウンロード用タスク 3 6 5 aによるプログラムモジュ —ルのダウンロード動作について説明する。 図 5 9は、 当該ダウンロード動作を説明するためのフロ一チヤ一トである。 以下の実施形態では、 事業者 3 1 5— AP 1力、 図 4 9および図 5 7に示すァ プリケーショ ンプ πグラム AP_ 1のプログラムモジュールをダウンロ一ドする 場合の動作を例に挙げて説明する。 ステップ S T 3 0 1 : 図 48に示すパーソナルコンピュータ 3 1 6—1力、 認証用ュニッ ト 3 1 7— 1、 イ ンタ一ネッ ト 3 1 0、 AS Pサーバ装置 3 0 6および I CE 3 1 8を介し て、 アプリケ一ショ ンプログラム AP— 1を構成するダウンロ一ドを行おうとす るプログラムモジュールのモジュール名を指定したダウンロード要求を S AMチ ップ 3 0 8に送信する。 ステップ ST 30 2 : 認証用ュニ 'ン ト 3 1 7— 1の処理部 3 5 1— 1の相互認証部 3 52— 1力 ^ 図 5 1に示すように、 SAM— I Dを平'文として相互認証用原鍵情報 K 1を用いて 暗号化を行って相互認証用鍵情報 K 2を生成する。 ステップ ST 3 0 3 : 認証用ュニッ ト 3 1 7— 1の処理部 3 5 1— 1の相互認証部 3 52— 1力 S AMチップ 3 0 8の C P U 3 6 5のダウンロード用タスク 3 6 5 aとの間で、 ス テツプ S T 3 0 2で生成した相互認証用鍵情報 K 2を用いて相互認証を行う。 ステップ ST 3 0 4 : ステップ ST 3 0 3の相互認証においてお互いの正当性が確認されると、 ステ ップ ST 30 5の処理に進む、 そうでない場合には処理を終了する。 ステップ ST 3 0 5 : 図 5 0に示す認証用ュニッ ト 3 1 7— 1の処理部 3 5 1— 1のダウンロード処 理部 3 5 3 _1力 図 5 2に示すように、 SAM— I Dを平文としてアクセス原 鍵情報 K Aを用いて暗号化を行って、 ダウンロード用鍵情報 K—D Aを生成する ステップ S T 30 6 : ダウンロード処理部 3 5 3— 1力、 ステップ S T 3 0 5で生成したダウンロ一 ド用鍵情報 K—D Aを用いてダウンロード用署名情報を生成する。 ステップ ST 3 0 7 : ダウン口一ド処理部 3 5 3— 1力 ステップ S T 3 0 6で生成したダウンロー ド用署名情報を SAMチップ 3 0 8に送信する。 ステップ S T 3 0 8 : 図 5 8に示す SAMチップ 3 0 8の C P U 3 6 5のダウンロ一ド用タスク 3 6 5 a力 図 5 7に示すダウンロード用署名検証鍵情報 K_D V Aを用いて、 ステ ップ ST 3 0 7で受信したダウン α—ド用署名情報の正当性を判断する。 このとき、 ダウンロード用タスク 3 6 5 aは、 ステップ S T 3 0 1で受信した モジュール名に基づいて、 ダウンロード要求が A P層について行われたと判断し 、 ダウン口一ド用署名検証鍵情報 K— DV Aを特定する。 ステップ S T 3 0 9 : ステップ ST 3 0 8においてダウンロード用署名情報が正当であると判断され ると、 ステップ S T 3 1 0の処理に進む、 そうでない場合には処理を終了する。 ステップ S T 3 1 0 : 図 5 8に示す SAMチップ 3 0 8の C P U 3 6 5のダウンロード用タスク 3 6 5 a力、 ステップ S T 3 0 1で指定されたモジユール名に対応する外部メモリ 3 0 7内のア ドレスをモジュール管理用データ 3 3 0を参照して特定し、 当該特定 した外部メモリ 3 0 7上のァ ドレスに、 パーソナルコ ンピュータ 3 1 6— 1から 受信したプログラムモジュールをダウンロードする。 なお、 ソフ トゥエア開発者 3 1 5—M I D力 ^ 図 4 9に示す上位ハンドラ層お よび下位ハンドラ層のプログラムモジュールを外部メモリ 3 0 7にダウンロード する場合には、 ステップ S T 3 0 5において図 5 4を用いて説明した手順でダウ ンロード用鍵情報 K— DMが生成され、 これを用いてステップ ST 3 0 6でダウ ンロード用署名情報が生成される。 また、 ステップ S T 3 0 8で、 SAMチップ 3 0 8内で、 図 5 7に示すダウンロード用署名検証鍵情報 K— D VMを用いて、 ダウン α—ド用署名情報の検証が行われる。 また、 ソフ トゥユア開発者 3 1 5— S UP力 図 4 9に示す 0 S層のプログラ ムモジュールを外部メモリ 3 0 7にダウンロードする場合には、 ステツプ S T 3 0 5において図 5 6を用いて説明した手順でダウンロード用鍵情報 K— D Sが生 成され、 これを用いてステップ S T 3 0 6でダウンロード用署名情報が生成され る。 また、 ステップ ST 3 0 8で、 SAMチップ 3 0 8内で、 図 57に示すダウ ンロード用署名検証鍵情報 K— D V Sを用いて、 ダウン —ド用署名情報の検証 力 亍われる。 なお、 ソフ トウエア開発者 3 1 5— M I D, 3 1 5— S UPは、 アクセス原鍵 情報 K Aを用いて、 A P層のプログラムモジュールを外部メモリ 30 7にダウン ロードできる。 また、 ソフ トウエア開発者 3 1 5— S UPは、 アクセス原鍵情報 KA, KMを 用いて上位ハンドラ層および下位ハンドラ層のプログラムモジュールを外部メモ リ 3 0 7にダウンロ一ドできる。 以下、 図 4 8に示す通信システム 3 0 1による I Cカード 3 0 3を用いた取り 引き処理について説明する。 図 6 0は、 図 4 8に示す通信システム 3 0 1の全体動作を説明するための図で ある。 ステップ S T 3 3 1 : 事業者 3 1 5_1〜3 1 5— 3あるいはこれら事業者の依頼を受けた者が、 当 該事業者が I Cカード 3 0 3を用いて行う取り引きについての処理を行うための アプリケーショ ンプログラム A P_ 1 , AP— 2, A P— 3を、 図 4 8に示すパ —ソナルコンピュータ 3 1 6_ 1 , 3 1 6— 2, 3 1 6— 3上で作成する。 このとき図 5 9を用いて説明したダウンロード処理が行われる。 ステップ S T33 2 : アプリケーショ ンプログラム AP— 1 , AP— 2, AP— 3を、 認証用ュニッ ト 3 1 7_1 , 3 1 7— 2, 3 1 7— 3を介して、 パーソナルコ ンピュータ 3 1 6— 1 , 3 1 6— 2, 3 1 6_3から SAMチップ 3 08にダウンロードする。 このとき、 図 5 6を用いて説明した処理が行われる。 ステップ ST 3 3 3 : ユーザに I Cカード 3 0 3が発行される。 I Cカード 3 0 3には、 ユーザが契約を行った事業者との取り引きに用いられ る鍵情報が記憶されている。 なお、 ユーザと事業者との間の契約は、 I Cカード 3 0 3の発行後に、 ィ ンタ 一ネッ ト 3 1 0などを介して行ってもよい。 ステップ S T 3 3 4 : 例えば、 ュ一ザがパーソナルコ ンピュータ 3 0 5を用いてィ ンターネツ ト 3 1 0を介してサーバ装置 3 0 2にアクセスを行い、 商品を購入しょうとした場合に 、 サーバ装置 3 0 2がィンターネッ ト 3 1 ◦を介して AS Pサーバ装置 3 0 6に 処理要求を出す。 A S Pサーバ装置 3 0 6は、 サーバ装置 3 0 2から処理要求を受けると、 イ ン ターネッ ト 3 1 0を介してパーソナルコンピュータ 3 0 5にアクセスを行う。 そ して、 カードリーダ · ライタ 3 0 4が出した I Cカード 3 03についての処理要 求が、 パーソナルコンピュータ 3 0 5、 ィ ンターネッ ト 3 1 0および AS Pサ一 バ装置 3 0 6を介して SAMチップ 3 0 8に送信される。 ステップ S T 3 3 5 : SAMチップ 3 0 8が、 ステップ ST 3 3 4で受信した処理要求に応じて、 決 済処理手順タスクによってアプリケーショ ンプログラムを選択し、 当該選択され たアプリケ一ショ ンプログラムを実行する。 ステップ ST 3 3 6 : SAMチップ 3 0 8は、 アプリケ一ショ ンプログラムの実行結果を AS Pサー バ装置 3 0 6に出力する。 以上説明したように、 通信システム 3 0 1によれば、 認証用ュニッ ト 3 1 7— 1 , 3 1 7— 2, 3 1 7— 3がアクセス原鍵情報 KAを保持し、 認証用ユニッ ト 3 1 7— 4がアクセス原鍵情報 KMを保持し、 認証用ュニッ ト 3 1 7— 5がァク セス原鍵情報 K Sを保持し、 上述したように外部メモリ 3 0 7へのプ αグラムモ ジュールのダウンロード処理を行うことで、 図 4 9に示すソフ トウヱァ階層に応 じて与えた権限に応じたプログラムモジュールのダウンロードが可能になる。 そ のため、 権限の無い者によって、 SAMチップ 3 0 8で実行されるプログラムモ ジュールが不正に交換されたり、 改竄されることを防止できる。 また、 通信システム 3 0 1によれば、 前述したように、 認証用ュニッ ト 3 1 7 — 1 , 3 1 7— 4 , 3 1 7— 5は、 記憶部 3 5 0— 1 , 3 5 0— 4, 3 5 0— 5 内にセキュアな状態で情報を記憶しており、 当該ュニッ 卜が外的な要因で破壌さ れたり、 こじ開けられた場合には、 そのことを検出部によって検出して、 記憶部 3 5 0_ 1 , 3 5 0 _ 4 , 3 5 0 _5の記憶情報を消去する。 そのため、 S AM チップ 3 0 8へのダウンロードに用いられる鍵情報が不正に使用されることを回 避できる。 また、 通信システム 3 0 1によれば、 S A Mチップ 3 0 8が複数のァプリケー ショ ンプ口グラムを動作させる場合に、 アプリケーショ ンプログラム間でのデー タ授受やデータ ' コードの参照をファイアウォール FW— 1 , F W_ 2 ; FW— 3によつて制限することから、 各アプリケーショ ンプログラムの処理が、 他のァ プリケーシヨ ンプログラムによって不正干渉、 改竄されることを防止できる。 ま た、 各アプリケーショ ンプログラムの秘匿性を高めることができる。 また、 通信システム 3 0 1によれば、 各アプリケ一ショ ンプログラムを複数の プログラムモジユールで構成することで、 外部メモリ 3 0 7に対してプログラム モジュール単位でダウンロードを行うことができる。 また、 通信システム 3 0 1.によれば、 秘匿性の高い I Cカード 3 0 3に対して の操作に用いられる鍵情報を、 通常行われるスクランブルに加えて、 暗号化して 外部メモリ 3 0 7に格納することで、 当該鍵情報のセキュリティ レベルを向上で きる。 また、 インタ一ネッ ト 3.0 1によれば、 アプリケーショ ンプログラムは、 バス スクランブル機能によりコードアクセス時に暗号化 .復号化を実行しているため、 SAMチップ 3 0 8の処理停止中に、 外部メモリ 3 0 7に記憶されたアプリケ ーショ ンプログラムが不正に解折等されることを防止できる。 図 6 1は、 図 5 8に示す SAMチップ 3 0 8の機能プロ 'ン クをより具体的にし た機能ブ αック図である。 図 6 1に示すように、 SAMチップ 3 0 8は、 内部バス 3 9 0を介して、 AS P S通信ィンタフユース部 3 6 0、 外部メモリ通信ィ ンタフヱース部 3 6 1、 バ ススクランブル部 3 6 2、 暗号 *復号部 3 6 5、 記憶部 3 6 4および C P U 3 6 6が接続されている。 図 6 1に示す S AMチップ 3 0 8では、 例えば図 6 2に示すように、 内部バス 3 9 0に接続されたカード I /F部 3 9 1を、 S AMチップ 3 0 8の外部の R F 送受信部 3 9 2に接続し、 R F送受信部 3 9 2のアンテナ 3 9 2 aを介して、 I Cカード 3 0 3との間で非接触方式でデータを送受信してもよい。 本発明は上述した実施形態には限定されない。 例えば、 上述した実施形態では、 パーソナルコンピュータ 3 1 6— 1〜3 1 6 _5から SAMチップ 3 0 8を介して外部メモリ 3 0 7にプ グラムモジュール をダウンロードする場合を例示したが、 本発明は、 パーソナルコ ンピュータ 3 1 6— 1〜3 1 6— 5から SAMチップ 3 0 8内の記憶部 3 6 4にプログラムモジ ユールをダウンロ一ドする場合にも、 上述したダウンロード用タスク 3 6 5 aの 機能を用いて同様に適用できる。 また、 上述した実施形態では、 ィ ンターネッ ト 3 1 0に対してパーソナルコン ピュータ 3 1 6— 1〜3 1 6— 5側に認証用ュニッ ト 3 1 7— 1〜3 1 7— 5を 設けた場合を例示したが、 図 6 3に示すように、 認証用ュニッ ト 3 1 7— 1〜 3 1 7— 5を SAMチップ 3 0 8内に設け、 認証用ュニッ ト 3 1 7— 1〜 3 1 7— 5をへのアクセスを対応するパーソナルコ ンピュータ 3 1 6— 1〜3 1 6— 5に 対して許可するようにしてもよい。 第 5実施形態 本実施形態は、 第 1 7および第 1 8の発明に対応する実施形態である。 図 64は、 本実施形態の通信システム 40 1の全体構成図である。 図 64に示すように、 通信システム 4 0 1は、 サーバ装置 4 0 2、 I Cカード 4 0 3、 カードリーダ · ライタ 4 0 4、 パーソナルコ ンピュ一タ 405、 AS P (Application Service Provider)サ一ノヾ装 4 0 6ヽ SAM (Secure Applicatio n Module) ュニッ ト 4 0 9、 パーソナルコ ンピュータ 4 1 6—1 , 4 1 6— 2, 4 1 6— 3、 並びに認証用ユニッ ト 4 1 7— 1 , 4 1 7_2 , 4 1 7— 3を用い て、 ィ ンタ一ネッ ト 4 1 0を介して通信を行って I Cカード 4 0 3を用いた決済 処理などの手続き処理を行う。 S AMュニッ ト 4 0 9は、 外部メモリ 4 07および S AMチツプ 4 0 8を有す る。 S AMチップ 4 0 8は、 図 6 5に示すようなソフ トゥヱァ構成を有している。 図 6 5に示すように、 S AMチップ 4 0 8は、 下層から上層に向けて、 HW(H ardware)層、 O S層、 下位ハンドラ層、 上位ハンドラ層および A P層を順に有し ている。 下位ハンドラ層には、 ドライバ層が含まれる。 ここで、 AP層には、 図 6 4に示すクレジッ トカード会社などの事業者 4 1 5 — 1 , 4 1 5— 2, 4 1 5— 3による I Cカード 4 0 3を用いた手続きを規定し たアプリケーショ ンプログラム A P—1 , AP— 2, A P— 3がある。 AP層では、 アプリケーショ ンプログラム AP—1 , AP— 2, AP— 3相互 間、 並びに上位ハンドラ層との間にフアイァウォール FWが設けられている。 S AMチップ 4 0 8は、 S C S Iまたは E t h e r n e などを採用したバス 4 1 9を介して AS Pサーバ装置 4 0 6に接続される。 AS Pサーバ装置 4 0 6 は、 ィ ンターネッ ト 4 1 0を介して、 ェンドュ一ザのパーソナルコンピュ一タ 4 0 5、 事業者 4 1 5— 1 , 4 1 5— 2, 4 1 5— 3のパーソナルコンピュータ 4 1 6— 1 , 4 1 6— 2 , 4 1 6— 3を舍む複数の端末装置に接続される。 パーソナルコンピュータ 4 0 5は、 例えば、 シリアルまたは U S Bを介して D u m b型のカードリーダ · ライタ 4 0 4に接続されている。 カードリーダ ' ライ タ 4 0 4力 I Cカード 4 0 3との間で物理レベルに相当する例えば無線通信を 実現する。 I Cカード 4 0 3への操作コマンドおよび I Cカード 4 0 3からのリスポンス バケツ トは、 SAMュニッ ト 4 0 9側で生成および解読される。 よって、 その中 間に介在するカードリーダ ' ライタ 4 0 4、 パーソナルコンピュータ 4 0 5およ び AS Pサーバ装置 4 0 6は、 コマンドゃリスポンス内容をデータペイロード部 分に格納して中継する役割を果たすのみで、 I Cカード 4 0 3内のデータの暗号 化ゃ復号および認証などの実操作には関与しない。 事業者 4 1 5— 1 , 4 1 5— 2, 4 1 5— 3は、 パーソナルコ ンピュータ 4 1 6_ 1 , 4 1.6— 2 , 4 1 6— 3を用いてアプリケーショ ンプログラム A P— 1 , AP— 2 , A P— 3を作成し、 それぞれ認証用ュニッ ト 4 1 7— 1 , 4 1 7— 2 , 4 1 7— 3を介して、 当該作成したアプリケーショ ンプログラムを SAMチ ップ 4 0 8を介して外部メモリ 4 0 7内の予め割り当てられた記憶領域にダウン ct-ドする。 このとき、 事業者 4 1 5— 1 , 4 1 5— 2, 4 1 5— 3は相互に無関係の者で あるため、 アプリケーショ ンプログラム A P— 1 , AP— 2 , A P— 3をダウン ロードできる外部メモリ 4 0 7内の記憶領域は予め決められており、 当該記憶額 域へのダウンロードを行う権限を有するか否かが SAMチップ 4 0 8によって検 証される。 また、 アプリケーショ ンプログラム AP— 1 , AP— 2, AP— 3相互間では 、 ファイアウォール FWによって、 データの授受および参照が制限されている。 認証用ユニッ ト 4 1 7— 1 , 4 1 7— 2 , 4 1 7— 3は、 後述するように、 ァ プリケ一シヨ ンプ αグラム AP— 1 > ΑΡ— 2, A Ρ— 3を S AMチップ 4 0 8 にダウンロードする際に、 SAMチ 'ンプ 4 0 8との間で相互認証を行い、 ダウン ロード用署名検証鍵情報の作成などを行う。 以下、 図 6 4に示す S AMュニッ ト 4 0 9について詳細に説明する。 外部メモリ 4 0 7 図 6 6は、 外部メモリ 4 0 7の記憶領域を説明するための図である。 図 6 6に示すように、 外部メモリ 4 0 7の記憶額域には、 事業者 4 1 5— 1の アプリケ一ショ ンプ グラム A P—1が記憶される A P記憶領域 4 2 0— 1、 事 業者 4 1 5— 2のアプリケ一ショ ンプログラム AP— 2が記憶される AP記憶領 域 4 2 0— 2、 事業者 4 1 5— 3のアプリケーショ ンプログラム AP_3が記憶 される AP記憶領域 4 2 0— 3、 並びに SAMチップ 4 0 8の管理者が使用する A P管理用記憶領域 4 2 1がある。 A P記憶領域 4 2 0— 1に記憶されているアプリケーショ ンプログラム A P— 1は、 複数のプログラムモジュールによつて構成されている。 A P記憶領域 4 2 0—1へのアクセスは、 フアイァウォール FW— 1によって制限されている。 A P記憶領域 4 2 0— 2に記憶されているアプリケーショ ンプログラム A P— 2は、 複数のプログラムモジユールによつて構成されている。 A P記憶領域 4 2 0— 2へのアクセスは、 ファイアウォール FW— 2によって制限されている。 A P記憶領域 4 2 0— 3に記憶されているアプリケーショ ンプログラム A P— 3は、 複数のプログラムモジュールによって構成されている。 A P記憶領域 4 2 0— 3へのアクセスは、 ファィァウォール FW— 3によって制限されている。 本実施形態では、 上記プログラムモジュールは、 例えば、 SAMユニッ ト 4 0 9の外部から外部メモリ 4 0 7にダウン π—ドされる最小単位である。 各アプリ ケーショ ンプログラムを構成するプログラムモジュールの数は、 対応する事業者 が任意に決定できる。 アプリケーショ ンプログラム AP_1 , AP一 2, AP— 3は、 例えば、 それ ぞれ図 6 4に示すパーソナルコ ンピュータ 4 1 6— 1 , 4 1 6— 2, 4 1 6— 3 を用いて、 事業者 4 1 5— 1 , 4 1 5— 2, 4 1 5— 3によって作成され、 SA Mチップ 4 0 8を介して外部メモリ 4 0 7にダウンロードされる。 AP管理用記憶領域 4 2 1 aへのアクセスは、 ファィァウォール FW— 4によ つて、 S AMチップ 4 0 8の管理者にのみ許可される。 なお、 ファイアウォール FW— 1 , FW一 2, FW— 3 , F W— 4は、 図 6 5 に示すファイアウォール FWに対応している。 AP管理用記憶領域 4 2 1 aには、 図 6 6に示すように、 AP管理用データ 4 2 1が記憶されている。 . ここで、 A P管理用データ 4 2 1は、 SAMチップ 4 0 8力く、 アプリケーショ ンプログラム AP— 1 , AP_2 , AP— 3の実行などを管理するために用いら れる。 本実施形態では、 外部メモリ 4 0 7に記憶されたアプリケーションプログラム AP— 1 , AP— 2 , A P— 3および A P管理用データ 4 2 1は、 後述するよう に、 SAMチップ 4 0 8内のバススクランブル部 4 6 1によってスクランブル鍵 Kを用いてスクランブルされており、 S AMチ 'ンプ 4 0 8に読み込まれたときに スクランブル鍵 Kを用いてデスクランブルされる。 SAMチップ 4 0 8 図 6 7は、 図 6 4に示す SAMチ'ンプ 4 0 8の機能プロック図である。 図 6 7に示すように、 SAMチップ 4 0 8は、 AS P S通信ィ ンタフエ一ス部 4 6 0、 バススクランブル部 4 6 1、 署名処理部 4 6 2、 認証処理部 4 6 3、 暗 号 ·復号部 4 6 4、 記憶部 4 6 5、 C P U 4 6 6を有する。 SAMチップ 4 0 8は、 耐タンパ性のモジュールである。 ここで、 C P U 4 6 6が本発明のデータ処理回路に対応し、 バススクランブル 部 4 6 1が本発明のデータ入出力回路に対応している。 また、 SAMチップ 4 0 8が本発明の半導体画路に対応し、 外部メモリ 4 0 7 が本発明の半導体記憶回路に対応している。 A S P S通信ィ ンタフ ース部 4 6 0は、 図 6 4に示す A S Pサーバ装置 4 0 6との間のデータ入出力に用いられるインタフェースである。 バススクランブル部 4 6 1は、 外部メモリ 4 0 7に書き込むデータをスクラン ブルし、 外部メモリ 4 0 7から読み出したデータをデスクランブルする。 すなわち、 外部メモリ 4 0 7には、 スクランブルされた状態でデータが記憶さ れる。 バススクランブル部 4 6 1 の処理について後に詳細に説明する。 署名処理部 4 6 2は、 後述するようにィ ンタ一ネッ ト 4 1 0を介してアプリケ ーショ ンプログラムを外部メモリ 4 0 7にダウン π—ドするとき、 並びにアプリ ケーションプログラムを実行するときに署名作成および署名検証を行う。 認証処理部 4 6 3は、 後述するようにィ ンターネッ ト 4 1 0を介してアプリケ—ショ ンプログラムを外部メモリ 4 0 7にダウンロードするときなどに、 相手先 と相互認証を行う。 暗号 ·復号部 4 6 4は、 データの暗号化、 並びに暗号化されたデータの復号を 行つ。 記憶部 4 6 5は、 C P U 4 6 6の処理に必要なデータを記憶する。 C P U 4 6 6は、 バススクランブル部 4 6 1を介して外部メモリ 4 0 7にァク セスを行いながら、 アプリケーショ ンプログラム A P— 1 , A P— 2 , A P— 3 を実行し、 S A Mチップ 4 0 8のサービスに対応した様々な処理を行う。 以下、 バススクランブル部 4 6 1の処理について詳細に説明する。 なお、 本実施形態では、 バススクランブル部 4 6 1を、 外部メモリ 4 0 7への アクセス時に使用する場合を例示する力く、 バススクランブル部 4 6 1はその他の S A Mチップ 4 0 8が Iノ0バスなどを介して外部との間でデータ入出力を行う 場合にも適用できる。 バススクランブル部 4 6 1は、 C P U 4 6 6から入力したデータを、 所定のス クランブル鍵 Kを用いて暗号化した後に、 バス 4 1 9を介して外部メモリ 4 0 7 に書き込む。 また、 バススクランブル部 46 1は、 バス 4 1 9を介して外部メモリ 4 0 7か ら読み出したデータを、 スクランブル鍵 Kを用いて復号して C P U 4 6 6に出力 する。 〔ァドレス空間〕 バススクランブル部 4 6 1で使用される暗号アルゴリズムの暗号ブロック長を N cとし、 バス 4 1 9のデータバス幅を N bとする。 以下の例では、 N cがN b の整数倍、 すなわち、 n ( = N c/N b ) が整数の場合を考える。 なお、 C P U 4 6 6のァドレス空間 (SAMチップ 4 0 8内でのァドレス空間 ) と、 バススクランブル部 46 1が外部メモリ 40 7にアクセスを行うときに用 いるァ ドレス空間 (以下、 外部メモリァ ドレス空間とも記す) とは、 パリティの 付加やア ドレスのスクランブルにより異なる。 そのため、 バススクランブル部 4 6 1は、 図 68に示すように、 C P U 4 6 6 から入力したァドレス C P U— ADR (本発明の第 1のァ ドレス) を、 予め規定 した写像 f (ア ドレス変換アルゴリズム) を用いて、 外部メモリアドレス空間の ア ドレス MEM— ADR (本発明の第 2のア ドレス) に変換する。 バススクラン ブル部 4 6 1は、 ァドレス MEM— A D Rを用いて外部メモリ 4 07にアクセス を行う。 この写像 f は、 例えば、 図 69に示すように、 ァドレス C P U— AD Rである アドレス a l力 「 a l m o d N c / N b = 0」 である場合にのみ定義され、 それ以外のァドレス a 2は、 外部メモリ 407には f ( a 2— ( a 2 m o d N c / N b ))でアクセスされる。 ここで、 「 x m o d y」 は、 xを yで割った余りである。 すなわち、 バススクランブル部 46 1は、 暗号ブロック長 N cを単位として、 外部メモリ 4 0 7に対してデータの読み書きを行う。 ここで、 N C N b = nとし、 n以上の最も小さい整数を mとした場合に、 バ ススクランブル部 4 6 1 は、 バス 4 1 9を介した外部メモリ 4 0 7へのアクセス のトランザクシヨ ン (本発明のデータ入出力トランザクショ ン) を、 m回のトラ ンザクシヨ ンを 1単位として行う。 〔バススクランブル部 4 6 1 の構成〕 図 7 0は、 バススクランブル部 4 6 1の機能ブロック図である。 図 7 0に示すように、 バススクランブル部 4 6 1は、 暗号化部 4 3 1、 復号部 4 3 2、 ァドレス管理部 4 3 3、 スクランブル鏈管理部 4 3 4、 パリティ処理部 4 3 5、 パイプライ ン処理制御部 4 3 6、 作業用メモリ 4 3 7および制御部 4 3 8を有する。 暗号化部 4 3 1は、 C P U 4 6 6から入力したデータを、 所定のスクランブル 鍵 Kを用いて暗号化する。 復号部 4 3 2は、 外部メモリ 4 0 7から読み出したデータを、 所定のスクラン ブル鍵 Kを用いて復号する。 ァドレス管理部 4 3 3は、 C P U 4 6 6から入力したア ドレス C P U„ A D R を、 前述したようにァ ドレス M E M— A D Rに変換する。 スクランブル鍵管理部 4 3 4は、 暗号化部 4 3 1および復号部 4 3 2で用いる スクランブル鍵 Kを管理し、 スクランブル鍵 Kを適宜切り換える。 パリティ処理部 4 3 5は、 外部メモリ 4 0 7に書き込むデータにパリティデー タを付加すると共に、 外部メモリ 4 0 7から読み出したデータに付加されたパリ ティデータを検証する。 パイプライ ン処理制御部 4 3 6は、 バススクランブル部 4 6 1の処理を複数の ステージに分割し、 各ステージを単位としてパイプライ ン処理を行うように制御 する。 作業用メモリ 4 3 7は、 バススクランブル部 4 6 1の処理に用いられる。 制御部 4 3 8は、 バススクランブル部 4 6 1 の処理を統括的に制御する。 〔外部メモリ 4 0 7への書き込み動作〕 図 7 1は、 図 6 7に示す C P U 4 6 6が外部メモリ 4 0 7にデータを書き込む 場合のバススクランブル部 4 6 1の動作を説明するための図である。 図 7 2は、 図 7 1に示す動作を説明するためのフローチヤ一トである。 ステップ S T 4 0 1 : C P U 4 6 6からバススクランブル部 4 6 1に、 書き込むデータ D A T Aであ る 「 d 3 2」 、 並びにァドレス C P U— AD Rである 「 a 3」 が出力される。 当該データ 「 d 3 2」 は、 バススクランブル部 4 6 1の図 7 0に示す作業用メ モリ 4 3 7に書き込まれる。 ステップ S T 4 0 2 : N c >N bである場合は、 図 7 0に示すァドレス管理部 4 3 3において、 ァド レス 「 a 3」 を用いて写像 f ( a 3— ( a 3 m o d N c / N b ) ) すなわち 写像 f ( a 3 - 1 ) が求められ、 当該写像 f ( a 3— 1 ) 力 外部メモリアドレ ス空間のァドレス MEM_AD Rとされる。 ステップ S T 4 0 3 : 図 7 0に示す制御部 4 3 8によって、 ステップ S T 4 0 2で得られたアドレス MEM— AD Rである f ( a 3— 1 ) を用いて、 外部メモリ 4 0 7から暗号化さ れたデータブロック e ( {X I , X 2 } ) が読み出され、 これが作業用メモリ 4 3 7に書き込まれる。 ステップ S T 4 0 4 : 図 7 0に示す復号部 4 3 2によって、 作業用メモリ 4 3 7から読み出したデー タブロック e ( {X I, X 2 } ) が復号されてデータブロック {X I , X 2 } が 生成される。 そして、 ノヽ。リティ処理部 4 3 5において、 データブロック e ( {X 1 , X 2 } ) に付加されているパリティデータを用いてパリティ処理が行われた 後に、 デ一タブロック {X I , X 2 } が再び作業用メモリ 4 3 7に書き込まれる ステップ S T 4 0 5 : 制御部 438によって、 作業用メモリ 4 3 7から読み出した既に復号されたデ —タブロック {X I , X 2 } 内のァドレス 「 a 3」 に対応する 「X 2」 力、'、 書き 込みデータである 「 d 3 2」 に書き換えられ、 データプロック {X I , d 3 2 } が生成され、 これが作業用メモリ 4 37に書き込まれる。 ステップ ST 4 0 6 : パリティ処理部 43 5によって、 データブ αック {X I , d 3 2 } のパリティ データが生成される。 ステップ ST 4 0 7 : 暗号化部 4 3 1によって、 作業用メモリ 4 3 7から読み出したデータプロック. {X I , d 3 2 } 力 スクランブル鍵 Kを用いて暗号化される。 ステップ ST 4 08 : 制御部 4 38によって、 外部メモリ 4 0 7内のア ドレス ME M_ A D Rである f ( a 3 - 1 ) にデータプロック {X 1 , d 3 2 } が書き込まれ、 さらにステツ プ ST 4 0 6で生成したパリティデータが外部メモリ 4 0 7の所定の領域に書き 込まれる。 なお、 制御部 4 38は、 ステップ S T 4 0 7においてデ一タブロックを暗号化 する前に、 次に C P U 4 6 6から入力されるァドレス力 「 a 3— l」 であるか否 かを判断し、 「 a 3— l」 であれば、 データプロックの X 1を、 書き込みデータ で書き換えた後に暗号化を行い、 外部メモリ 4 0 7に書き込む。 これにより、 連続したァ ドレスに書き込みが行われる場合のステツプ数を少な くできる。 また、 制御部 4 38は、 例えば、 データ長が N bのデータを外部メモリ 4 0 7 に書き込む場合でも、 当該データを (N c— N b ) のデータでパデイ ングしてデ ータ長 N cのデータにしてから暗号化を行い、 外部メモリ 4 0 7に書き込む。 すなわち、 データ長 N bのデータに対しても外部メモリ 4 0 7内のデータ長 N cの記憶領域を割り当てる。 〔外部メモリ 4 0 7からの読み出し〕 図 7 3は、 外部メモリ 4 0 7からバススクランブル部 4 6 1への読み出し動作 を説明するための図である。 図 7 4は、 当該読み出し勛作を説明するためのフローチヤ一トである。 ステップ S T 4 1 1 : C P U 4 6 6からバススクランブル部 4 6 1に、 読み出しを行うァドレス C P U_AD Rである 「 a 3」 が出力される。 ステップ S T 4 1 2 : . N c >N bである場合は、 図 7 0に示すァドレス管理部 4 3 3において、 ァド レス 「 a 3」 を用いて写像 i ( a 3— ( a 3 m o d N c / N b ) ) すなわち 写像 f ( a 3 - 1 ) が求められ、 当該写像 f ( a 3— 1 ) 力 外部メモリアドレ ス空間のァドレス MEM_AD Rとされる。 ステップ S T 4 1 3 : 図 6 7に示す C P U 4 6 6によって、 ステップ ST 4 0 2で得られたァ ドレス MEM— AD Rである f ( a 3 - 1 ) を用いて、 外部メモリ 4 0 7から暗号化 ( スクランブル) されたデータブロック e ( { d 3 1 , d 3 2 } ) が読み出され、 これが作業用メモリ 4 3 7に書き込まれる。 ステップ S T 4 1 4 : 図 7 0に示す復号部 4 3 2によって、 作業用メモリ 4 3 7から読み出したデ一 タブロック e ( { d 3 1 , d 3 2 } ) が復号されて { d 3 1 , d 3 2 } が生成さ れる。 そして、 パリティ処理部 4 3 5において、 デ一タブ σック e ( { d 3 1 , d 3 2 } ) に付加されているパリティデータを用いてパリティ処理が行われた後 に、 デ一タブ口ック { d 3 1 , d 3 2 } が再び作業用メモリ 4 3 7に書き込まれ る。 ステップ S T 4 1 5 : 制御部 4 3 8によって、 作業用メモリ 4 3 7から読み出した既に復号されたデ 一タブロック { d 3 1 , d 3 2 } 内の、 C P U— A D R 「 a 3」 に対応するデ一 タ 「 d 3 2」 が取り出され、 これが C P U 4 6 6に出力される。 すなわち、 データブロック内の 「 ( a 3 m o d N c / N b ) + 1」 番目の データが取り出されて C P U 4 6 6に出力される。 〔スクランブル鍵の管理〕 図 7 0に示すスクランブル鏈管理部 4 3 4は、 以下に示すようにして、 暗号化 部 4 3 1および復号部 4 3 2で用いるスクランブル鍵を管理する。 スクランブル鍵管理部 4 3 4は、 外部メモリ 4 0 7上のァドレス毎に異なるも のを使用することも可能である。 そのためには複数のスクランブル鍵を保持して おく必要があるが、 その方法の一例を以下に示す。 スクランブル鍵管理部 4 3 4は、 図 7 5に示すように、 複数のスクランブル鍵 K l , K 2 , K 3を記憶しており、 C P U 4 6 6からのア ドレスによって、 使用 する鍵を切り替えて暗号化部 4 3 1および復号部 4 3 2に出力する。 具体的には、 ア ドレス 「 a 1」 にアクセスする場合にはスクランブル鍵 K 1を 用い、 アドレス 「 a 2」 にアクセスする場合にはスクランブル鍵 K 2を用い、 ァ ドレス 「 a 3」 にアクセスする場合にはスクランブル鍵 K 3を用いる。 また、 図 7 6に示すように、 スクランブル鍵管理部 4 3 4内の演算回路 4 3 4 aによって、 種となる鍵 K s と、 C P U 4 6 6から入力したァドレスとを用いて 演算を行って、 その演算結果をスクランブル鍵 Kとして暗号化部 4 3 1および復 号部 4 3 2に出力する。 当該演算としては、 パディ ングしたァドレス番地を K sで暗号化または復号化 したり、 a 1 と K s との排他的論理和 (X O R ) を求めるなどの演算がある。 また、 バススクランブル部 4 6 1は、 バス上の所定の場所にスクランブル鍵を 保持しておき、 C P U 4 6 6が発したァドレスに対応するスクランブル鍵を当該 バスを介して入力するようにしてもよい。 この場合に、 スクランブル鍵を送信す るためのデータバスを C P U—バススクランブラのバスと共有するために、 メモ リコントローラによる制御が必要になる。 当該スクランブル鍵を保持する場所は、 SAMチップ 4 0 8の内外どちらでも構わないが、 チップ外である場合はチッ プまでの経路の安全確保のために、 運搬用鍵で暗号化しておき、 バススクランプ ル部 4 6 1に到着した時点で復号する。 バススクランブル部 4 6 1は、 予め運搬 用鍵をハードウヱァもしくはソフ トウヱァの形で保持している。 ところで、 バススクランブル部 4 6 1は、 C P U 4 6 6から入力したァ ドレス ごとにスクランブル鍵を変えていても、 あるァドレスに対して常にアクセスを行 うと、 時間をかけることによって、 そのアドレス領域のスクランブルが解かれる 可能性が高まる。 従って、 スクランブル鍵は一定のものではなく、 例えば、 以下 に示すような手法で可変にする。 スクランブル鏈管理部 4 3 4は、 例えば、 S A Mチップ 4 0 8などの電源投入 時に乱数を発生させてスクランブル鍵を発生する。 スクランブル鏈は、 基本的に バススクランブラのみが知っていればいいので、 鏈配送 ·同期等の問題は起こら ない。 また、 スクランブル鍵管理部 4 3 4は、 外部メモリ 4 0 7へのアクセスごとに スクランブル鍵を切り換えて使用する。 この場合、 既に外部メモリ 4 0 7にある データを暗号化した鍵と、 現在保持している鍵が同一でなくてはならない。 そのため、 例えば、 図 7 7および図 7 8に示すように、 スクランブル鍵の更新 力行われる。 ①:暗号化部 4 3 1が C P U 4 6 6からデータ 「 d 3」 を入力し、 バススクラ ンブル部 4 6 1が C P U 4 6 6からア ドレス 「 a 1」 を入力する。 。 ② : バススクランブル部 4 6 1力く、 外部メモリ 4 0 7のア ドレス 「 f ( a 1 ) 」 にアクセスを行う。 ③:外部メモリ 4 0 7のア ドレス 「 f ( a 1 ) 」 から復号部 4 3 2に、 データ 「 e ( { d 1 , d 2 } ) 」 が読み出される。 ④:復号部 4 3 2がデータ 「 e ( { d l , d 2 } ) 」 を復号してデータ 「 { d 1 , d 2 } 」 を生成する。 このとき、 スクランブル鍵管理部 4 3 4は、 スクランブル鍵 K 1を選択してお り、 復号部 4 3 2は、 スクランブル鍵 K 1を用いて復号を行う。 そして、 データ 「 d 3」 によって書き換えが行われ、 データ 「 { d 3 , d 2 } 」 が生成される。 ⑤:バススクランブル部 4 6 1は、 スクランブル鍵を K 1から K 2に変更する 。 当該スクランブル鍵 K l , K 2は、 タイマの値、 ア ドレスに格納されていた値 、 乱数発生などの手法で生成される。 ⑥:暗号化部 4 3 1が、 書き換えられたデータ 「 { d 3 , d 2 } 」 を、 変更後 のスクランブル K 2を用いて暗号化してデータ 「 e ( { d 3 , d '2 } ) 」 を生成 する。 ⑦データ 「 e ( { d 3 ( d 2 } ) 」 力く、 外部メモリ 4 0 7のア ドレス 「 f ( a 1 ) 」 に書き込まれる。 〔パリティ処理部 4 3 5によるパリティ処理〕 パリティ処理部 4 3 5は、 外部メモリ 4 0 7にデータを書き込むとき、 暗号化 前のデータのパリティデータをあらかじめ計算しておき、 暗号化されたデータと ともに当該パリティデータを外部メモリ 4 0 7に書き込む。 これにより、 外部メモリ 4 0 7上で何らかの物理的トラブルや、 データの改竄 などが生じた場合に、 読み出し時にそのことを検出でき、 よりセキュアなプログ ラムの実行が可能になる。 また、 パリティデータの付加により、 平文の長さと暗号文の長さが同一であつ ても、 C P U 4 6 6のァ ドレス空間と外部メモリ 4 0 7のァ ドレス空間は、 完全 に一致することはない。 例えば、 ア ドレス 「 a 1」 にデータ 「 d 1」 を書き込む 場合は、 f ( a 1 ) に N c分書き込むのと同時に、 データ 「 d 1」 のパリティ 「 P 1」 (サイズ N p ) を外部メモリ 4 0 7のどこかに書き込む必要があるからで ある。 パリティデータを外部メモリ 4 0 7内のいずれの記憶領域に記憶するかは 例えば以下に示す場合がある。 パリティデータを、 それに対応する平文を暗号化したデータのすぐそばに置く。 この場合、 バススクランブル部 4 6 1力や、 外部メモリ 4 0 7のア ドレス 「 f ( a 1 ) 」 からデータ 「 e ( d 1 ) 」 を読み出した後に、 続いてァ ドレス 「 f ( a 1 ) + N cノ N b」 からパリティデータ 「 p 1」 を読み出す。 この場合には、 バ ススクランブル部 4 6 1において、 ァドレスの写像 f 以外には特別な計算を行う 必要が無い。 また、 それ以外に、 外部メモリ 4 0 7内にパリティデータの専用記憶領域を予 め確保し、 当該専用記憶領域にパリティデータ 「P 1」 を書き込む。 この場合に は、 バススクランブル部 4 6 1は、 ノ、 °リティ用ァドレス写像 f pに基づいて処理 を行う必要があり、 ノヽ "リティデータ 「 P 1」 は、 外部メモリ 4 0 7上のァドレス 「 ί P ( a 1 ) 」 に書き込まれる。 ノ、。リティ処理部 4 3 5において、 パリティエラーが検出されたときは、 C P U 4 6 6の処理を停止させるなどして、 不正なデータやプログラムの処理を防止す る。 なお、 パリティ処理の内容は特に限定されない。 〔パイプライン処理制御部 4 3 6によるパイプライン処理〕 本実施形態では、 例えば、 パイプライ ン処理制御部 4 3 6の制御によって、 例 えば、 バススクランブル部 4 6 1の処理を複数のステージに分割し、 各ステージ を単位としてパイプライ ン化することで、 C P U 4 6 6から見た外部メモリ 4 0 7へのアクセス時間を短縮できる。 すなわち、 ノヽ 'ィプライ ン化しない場合、 C P U 4 6 6から外部メモリ 4 0 7へ の 1回のメモリのアクセスに対して必ず 1暗号ブロックの処理に要する時間が少 なく とも必要となる。 例えば、 C P U 4 6 6が出したア ドレス 「 a l 」 のデータの読み出し指示に対 して、 当該読み出し指示に応じてバススクランブル部 4 6 1が行う処理をパイプ ライ ン化すると、 例えば、 C P U 4 6 6がプログラムコードなどでアドレス 「 a 1 」 から連続的に上位ア ドレスのデータを要求した場合に、 バススクランブル部 4 6 1力く、 ア ドレス 「 f ( a 1 ) 」 の次にア ドレス 「 f ( a 1 +N c / N b ) 」 のデータを先読みしておけば、 暗号処理および復号処理のオーバ一^、ッ ドを無く すことができる。 例えば、 メモリアクセスの時間は無視し、 トリプル D E Sなどのように、 各デ —タについて 3ラウンド (回) の暗号化が行われており、 1ラウンドの暗号化を 復号するのに 1クロック必要であり、 N cノ N b = 1である場合に、 C P U 4 6 6がア ドレス 「 a 1」 , 「 a 1 + 1」 > 「 a 1 + 2」 を指定して外部メモリ 4 0 7から連続してデータを読み出す指示を出した場合を考える。 このとき、 3ラウンドの復号が必要になり、 各データの復号に 3クロックを要 する。 パイプライン処理を行わないと、 図 7 9 Aに示すように、 C P U 4 6 6が最初 の読み出し指示を出してから、 3クロック後に、 ア ドレス 「 a l」 を用いて外部 メモリ 4 0 7から読み出されたデータ 「 e 3 ( d 1 ) 」 が 3回復号されてデータ 「 d 1」 となり C P U 4 6 6に入力される。 その後、 さらに 3クロ 'ンク後に、 ァ ドレス 「 a 1 + 1」 を用いて外部メモリ 4 0 7から読み出されたデータ 「 e 3 ( d 2 ) 」 が 3回復号されてデータ 「 d 2」 となり C P U 4 6 6に入力される。 そ の後、 さらに 3クロック後に、 アドレス 「 a 1 + 2」 を用いて外部メモリ 4 0 7 から読み出されたデータ 「 e 3 ( d 3 ) 」 が 3回復号されてデータ 「 d 3」 とな り C P U 4 6 6に入力される。 すなわち、 C P U 4 6 6が最初の読み出し指示を出してから、 9クロック後に 、 全てのデータ 「 d 1」 , 「 d 2」 , 「 d 3」 が C P U 4 6 6に入力される。 これに対して、 本実施形態では、 パイプライ ン処理制御部 4 3 6によって、 復 号部 4 3 2の復号処理を、 各ラウンドを 1段階として図 7 9 Bに示すように 3段 階 (ステージ) でパイプライ ン処理する。 これにより、 一方、 C P U 4 6 6力 最初に読み出し指示を出してからァドレ ス 「 a 1」 に対応するデータが C P U 4 6 6に入力されるのには 3クロ 'ンクを要 するが、 その後、 ア ドレス 「 a 1 + 1」 , 「 a 1 + 2」 に対応するデータが 1ク 口 'ンク毎に順次 C P U 4 6 6に入力される。 これにより、 C P U 4 6 6が最初に読み出し指示を出してから、 5クロック後 に、 全てのデータ 「 d 1」 > 「 d 2」 , 「 d 3」 が C P U 4 6 6に入力される。 なお、 C P U 4 6 6力く、 ア ドレス 「 a 1」 の次に、 「 a 1」 力、らは遠く離れた ア ドレス 「 a 2」 のデータを要求した場合は、 パイプライ ン上のデータは破棄し て、 ア ドレス 「 a 2」 , 「 3 2 + 1」 · · · のデータをパイプラインに詰めてい 〔ァ ドレス管理部 4 3 3によるア ドレススクランブル〕 SAMチップ 4 0 8が外部メモリ 4 0 7上の特定の連続したア ドレス領域に何 度も繰り返しアクセスする場合、 それはサブルーチンか配列かといつたようにあ る程度予測が可能になる。 配列などのデータであれば、 そこを集中的に攻撃する ことによって攻撃者にとって有益な( 運営側にとってクリティカルな) デ一タを 得やすくなつてしまう。 これを回避するために、 本実施形態では、 C P U 4 6 6と S AMチップ 4 0 8 との間のアドレスバスをバススクランブル部 4 6 1を経由させ、 アドレス管理部 4 3 3によって、 ァドレスにもスクランブルをかけることで、 外部メモリ 4 0 7 上の連続した領域へのアクセスを防ぐことが出来る。 このスクランブルが前述の 写像 f に相当する。 ア ドレススクランブルを行わない場合、 写像 ίはパリティデ ータのための領域確保のみの写像となる。 例えば 「V a ≡ [ C P Uア ドレス空 間] , f ( a ) = ( 1 + P ) a」 となる。 ここで pはパリティデータのァラインメ ントサイズである。 以下、 図 6 4に示す通信システム 4 0 1の全体動作について説明する。 図 8 0は、 図 6 4に示す通信システム 4 0 1の全体動作を説明するための図で あ 。 ステップ S T 4 3 1 : 事業者 4 1 5_1〜4 1 5— 3あるいはこれら事業者の依頼を受けた者が、 当 該事業者が I Cカード 4 0 3を用いて行う取り引きについての処理を行うための アプリケーショ ンプログラム ΑΡ— 1 , ΑΡ— 2, 八?— 3を、 図6 4に示すパ —ソナルコンピュータ 4 1 6— 1 , 4 1 6— 2, 4 1 6— 3上で作成する。 また、 SAMチップ 4 0 8の管理者が、 A P管理用データ 4 2 1を生成し、 ス クランブルして外部メモリ 4 0 7に格納する。 ステップ ST 4 3 2 : アプリケーショ ンプ πグラム AP—1 , AP— 2, AP— 3を、 認証用ュニッ ト 4 1 7— 1 , 4 1 7— 2 , 4 1 7— 3を介して、 パーソナルコンピュータ 4 1 6— 1 , 4 1 6— 2 , 4 1 6— 3から S AMチップ 4 0 8にダウンロードする。 ステップ ST 4 3 3 : ユーザに I Cカード 4 0 3が発行される。 I Cカード 4 0 3の I Cには、 ユーザが契約を行った事業者との取り引きに用 いられる鍵情報が記憶されている。 なお、 ユーザと事業者との間の契約は、 I Cカード 4 0 3の発行後に、 イ ンタ 一ネッ ト 4 1 0などを介して行ってもよい。 ステップ S T 4 3 4 : 例えば、 ユーザがパーソナルコンピュータ 4 0 5を用いてィ ンタ一ネッ ト 4 1 0を介してサーバ装置 4 0 2にアクセスを行い、 商品を購入しょうとした場合に 、 サーバ装置 4 0 2がィ ンタ一ネ 'ン ト 4 1 0.を介して AS Pサーバ装置 4 0 6に 処理要求を出す。 AS Pサーバ装置 4 0 6は、 サーバ装置 4 0 2から処理要求を受けると、 イ ン ターネッ ト 4 1 0を介してパーソナルコンピュータ 4 0 5にアクセスを行う。 そ して、 カードリーダ ' ライタ 4 0 4が出した I Cカード 4 0 3についての処理要 求が、 パーソナルコンピュータ 4 0 5、 ィ ンタ一ネッ ト 4 1 0および AS Pサ一 バ装置 4 0 6を介して SAMチップ 4 0 8に送信される。 ステップ ST 4 3 5 : SAMチップ 4 0 8力 ステップ S T 4 3 4で受信した処理要求に応じて、 ァ プリケーショ ンプログラムを選択し、 当該選択されたアプリケーションプロダラ ムを実行する。 当該アプリケ一ショ ンプ αグラムの実行において、 SAMチップ 4 0 8と外部 メモリ 4 0 7との間の通信は、 前述したバススクランブル部 4 6 1の処理に基づ いて行われる。 ステップ ST 4 3 6 : SAMチップ 4 0 8は、 アプリケーショ ンプログラムの実行結果を AS Pサー バ装置 4 0 6に出力する。 図 8 1は、 図 6 7に示す S A Mチップ 4 0 8の機能ブロックをより具体的にし た機能プロック図である。 図 8 1に示すように、 SAMチップ 4 0 8は、 内部バス 4 9 0を介して、 力一 ド Iノ F部 4 9 1、 AS P通信用イ ンタフェース部 4 6 0、 バススクランブル部 4 6 1、 暗号 '復号部 4 6 5、 記憶部 4 6 3および C P U 4 6 6が接続されてい る。 図 6 7に示す署名処理部 4 6 2および認証処理部 4 6 3は、 例えば、 C P U 4 6 6によってその一部の機能が実現される。 図 8 1に示す S AMチップ 4 0 8では、 例えば図 8 2に示すように、 内部バス 4 9 0に接続されたカード I / F部 4 9 1を、 S A Mチップ 4 0 8の外部の R F 送受信部 4 9 2に接続し、 R F送受信部 4 9 2のアンテナ 4 9 2 aを介して、 I Cカード 2 0 3との間で非接触方式でデータを送受信してもよい。 以上説明したように、 通信システム 4 0 1によれば、 S A Mチップ 4 0 8内の バススクランブル部 4 6 1に前述した機能を持たせることで、 以下に示す効果が 得られる。 すなわち、 通信システム 4 0 1によれば、 秘匿性のある例えば I Cカード 4 0 3を用いた処理に係わるデータを外部メモリ 4 0 7にセキュアな状態で記憶でき る。 ' また、 通信システム 4 0 1によれば、 バススクランブル部 4 6 1の処理をパイ プライ ン化することで、 S A 1V [チップ 4 0 8が外部メモリ 4 0 7に高速にァクセ スできる。 また、 通信システム 4 0 1 によれば、 バススクランブル部 4 6 1 にノ、"リティ機 能を持たせることで、 外部メモリ 4 0 7から読み出したデータの信頼性を高める ことができる。 第 6実施形態 本実施形態は、 第 1 9の発明に対応した実施形態である。 〔本実施形態の関連技術〕 先ず、 本発明の関連技術となる I Cカードを用いた取り引き業務用のプロダラ ムを実行するコ ンピュータについて説明する。 図 8 3は、 本発明の閩連技術となる電子決済に用いられるコ ンピュータ 5 0 1 の機能プロック図である。 図 8 3に示すようにコンピュータ 5 0 1は、 C P U 5 0 2、 メモリ 5 0 3およ び通信回路 5 0 4を有する。 C P U 5 0 2、 メモリ 5 0 3および通信回路 5 0 4は、 C P Uデータバス 5 0 6に接続されている。 C P U 5 0 2および通信回路 5 0 4は、 C P Uアドレスバス 5 0 7に接続され ている。 C P U 5 0 2は、 コンピュータ 5 0 1の勣作を統括的に制御し、 メモリ 5 0 3 に記憶されたプログラムの命令に基づいて動作し、 当該動作中にメモリ 5 0 3に ァクセスを行う。 通信画路 5 0 4は、 I Cカード 5 0 8との間で接触方式あるいは非接触方式で 通信を行う。 接触型では、 I Cカード 5 0 8と通信回路 5 0 4とが電気的な接点 によって接続される。 また、 非接触型では、 I Cカード 5 0 8と通信回路 5 0 4 とが電波や光等を通信媒介として接続される。 通信回路 5 0 4を介して I Cカード 5 0 8から受信したデータは、 メモリ 5 0 3に記憶されたプログラムに従って C P U 5 0 2により演算処理される。 また、 C P U 5 0 2による演算によって得られたデータ力 通信回路 5 0 4を介して I Cカード 5 08に送信される。 また、 C P U 5 0 2は、 I Cカード 5 0 8との間の通信によって生成した決済 結果をメモリ 5 0 3に書き込む。 図 8 4は、 図 8 3に示す CP U 5 0 2のソフ トウ ア構成を説明するための図 である。 図 8 4において、 最下層は、 ハードウ ア層であり、 図 83に示す C P U 5 0 2のハードウヱァの構成要素である。 ハードゥヱァ層の上には通信ドライバ層が位置する。 通信ドライバ層には、 C P U 5 0 2に接続された通信回路 50 4を制御する通信ドライバ層が位置する。 通信ドライバ層のプログラムは、 通常、 不揮発性メモリ内に記憶される。 通信ドライバ層の上には、 C P U 502の動作の根幹となるプログラムを提供 するォペレ一ティ ング · システム (O S) 層がある。 0 S層は、 最上位のアプリ ケーシヨ ン (AP) 層に対して、 下位層と比較してより上位概念のサービスを提 供する。 例えば、 後述する閧数 「 g e t c a r d t y p e () 」 , 「 r e a d c a r d d a t a () 」 および 「w r i t e c a r d d a t a () 」 などはこの一 例である。 また、 O S層の上には、 コンピュータ 5 0 1が実現する具体的な機能 (サービ ス) を規定する AP層がある。 AP層には、 例えば、 アプリケーショ ンプロダラ ム MA I N、 AP 1、 AP 2、 AP 3が存在する。 本実施形態では、 アプリケーショ ンプログラムとして、 I Cカード 5 0 8を用 いた決済などの取り引きを提供するものを例示して説明する。 例えば、 0 S層および A P層では、 I Cカード 5 0 8の種別を知るための関数 を 「 g e t c a r d t y p e () 」 で定義する。 〇 S層および AP層では、 本関数を呼び出すことによって I Cカード 5 0 8の 種類を特定することができる。 例えば、 種別 A, B > Cの 3種の I Cカード 5 0 8が存在すると仮定し、 各 I Cカード 5 0 8における上記関数の戻り値を図 8 5 のように定義する。 例えば、 種別 Bの I Cカード 5 08が使用されたとすると、 関数 「 g e t c a r d t y p e () 」 を実行した結果の戻り値は 「 2」 になる。 また、 03層ぉょび八?層では、 I Cカード 5 0 8の内部メモリからデータを 読み出す関数として 「 r e a d d a t a (* Γ Ρ ) 」 を定義する。 ここで、 「* r ρ」 は、 C言語におけるポイ ンタの概念と同様であり、 「*」 は、 それに続く変数がポイ ンタ変数であることを示しており、 「 r p」 力、 I C カード 5 0 8の内部メモリ内の特定の場所を示している。 「 * r p」 と表記した 場合には、 I Cカード 5 0 8のメモリ内の 「 r p番地」 の内容を示すことになる 。 いま仮に、 当該内部メモリに図 8 6に示すようにデータが格納されていたとす る。 そして、 「 r p = 1 0 2 H」 であるとすると、 閧数 「r e a d d a t a (* r P ) 」 の戻り値は、 「 5 6 H」 になり、 「 1 0 2 H番地」 のデータを読み出すこ とができる。 また、 03層ぉょび ?層では、 I Cカード 5 0 8の内部メモリの特定番地に データを書き込む関数として 「w r i t e d a t a (*wp, w d a t a ) 」 を 定義する。 ここで、 「* wp」 は、 C言語におけるポイ ンタの概念と同様、 「 * 」 は、 続く変数がポイ ンタ変数であることを示しており、 「wp」 が、 I Cカー ド 5 0 8の内部メモリの特定番地を示している。 「* wp」 と表記した場合には 、 I Cカード 5 0 8の内部メモリの w p番地の内容を示すことになる。 「w d a t a」 は書き込みデータの入った変数である。 いま仮に、 I Cカード 5 0 8のメ モリに図 87に示すようにデータが格納されていたとする。 ここで、 「wp = l 0 2 H」 、 「w d a t a = 73 H」 とし、 関数 「w r i t e d a t a ( * w p , w d a t a ) 」 を実行すると、 図 87のように、 当該メモリ の 「 1 02 H番地」 のデータが 「 7 3 H」 に書き換えられる。 ところで、 図 8 4に示すアプリケ一ショ ンプログラム AP 1、 AP 2、 A P 3 は、 それぞれ、 異なる種別の I Cカード 5 0 8に関する取り引きの動作を規定し ている。 その対応は図 8 8に示される。 図 8 4において、 アプリケーショ ンプログラム MA I Nは.、 コ ンピュータ 5 0 1の起動時に最初に実行される。 アプリケーショ ンプログラム MA I Nでは、 前 述した関数 「 g e t c a r d t y p e () 」 を使用して、 利用されている I C力 ード 5 0 8の種別を判定する。 C P U 5 0 2は、 図 8 8に示される対応表に従い 、 前記判定された I Cカード 5 0 8の種別に応じて、 対応するアプリケーショ ン プログラムを選択して実行する。 種別 A、 種別 B、 種別 Cのそれぞれの I Cカード 5 0 8を異なる事業者が取り 扱う状況を想定すると、 アプリケーショ ンプログラム AP I、 AP 2. AP 3は 、 各事業者が作成する。 また、 I Cカード 5 0 8の内部メモリの記憶領域は、 ァ プリケーシヨ ンプログラム AP 1 , AP 2 , AP 3で共用したり、 各アプリケー ショ ンプログラムが予め自らに割り当てられた部分を使用する。 上述したように、 アプリケーショ ンプログラム A P 1、 A P 2、 AP 3は各事 業者が作成するが、 プログラムに誤りがある場合や、 悪意を持った事業者による 不正なプログラムによって、 ある事業者が他の事業者のアプリケーショ ンプログ ラムを読み出したり、 I Cカード 5 08内の自らのアクセスが許可されていない 記憶領域に不正なアクセスが行われる場合がある。 〔本発明の実施形態〕 図 8 9は、 本発明の実施形態に係わるコ ンピュータ 5 5 1の構成図である。 図 8 9に示すように、 コ ンピュータ 5 5 1は、 C P U 5 5 2、 メモリ 5 5 3、 通信回路 5 0 4、 判定回路 5 6 0およびスィ ツチ回路 5 6 1を有する。 ここで、 C P U 5 5 2が本発明の演算 HI路、 メモリ 5 5 3が本発明の記憶画路 、 通信回路 5 0 4が本発明の通信回路に対応し、 判定回路 5 6 0が本発明の接続 制御回路に対応し、 スィ ツチ回路 5 6 1が本発明の接続切換回路に対応している C P Uデータバス 5 0 6には、 C P U 5 5 2、 スイ ツチ回路 5 6 1、 判定 HI路5 6 0および通信回路 5 0 4が接続されている。 C P Uデ一タバス 5 0 6が本発明の伝送路に対応している。 また、 スィ ッチ回路 5 6 1は、 メモリデータバス 5 6 2を介してメモリ 5 5 3 に接続されている。 また、 C P Uア ドレスバス 5 0 7には、 メモリ 5 5 3、 判定回路 5 6 0および 通信回路 5 0 4が接続されている。 C P Uア ドレスバス 5 0 7は、 C P U 5 5 2力く、 メモリ 5 5 3や、 コンビユー タ 5 5 1の外部の周辺機能などにアクセスする際に、 そのァドレスを示す C P U — A D Rを伝送する。 図 8 9において、 図 8 3と同じ符号を付した通信回路 5 0 4および I Cカード 5 0 8は、 図 8 3を用いて説明したものと同じである。 また、 C P U 5 5 2は、 図 8 4を用いて前述したソフ トウヱァ構造を有してい る。 すなわち、 アプリケーショ ンプログラム A P 1 , A P 2 , A P 3として、 種 別 A , B , Cの 3種の I Cカード 5 0 8に係わる取り引き処理をそれぞれ規定し たものを用いる。 通信回路 5 0 4を介して I Cカード 5 0 8から受信したデータは、 メモリ 5 5 3に記憶されたプログラムに従って C P U 5 5 2により演算処理される。 また、 C P U 5 5 2による演算によって得られたデータ力 通信回路 5 0 を介して I Cカード 5 0 8に送信される。 また、 C P U 5 5 2は、 I Cカード 5 0 8との間の通信によって生成した決済 結果をメモリ 5 5 3に書き込む。 スィ ツチ回路 5 6 1は、 判定回路 5 6 0からの判定結果信号 S 5 6 0 (本発明 の制御信号) に基づいて、 C P Uデータバス 5 0 6 とメモリデータバス 5 6 2と を接繞状態および非接続状態の何れかに切り換える。 また、 C P U 5 5 2は、 メモリ 5 5 3からフェッチした (読み出した) 図 8 4 に示す◦ S層のプログラム、 プログラム MA I N、 アプリケーショ ンプログラム AP I , AP 2 , AP 3プログラムの命令 (コード) を実行する。 各プログラムは、 複数のプログラムモジュールから構成される。 C P U 5 5 2は、 当該命令の実行に従って、 命令種類指示信号 S 5 5 2 a、 実 行中 A P指示信号 S 5 5 2 b. 必要に応じて呼び出し先 A P指示信号 S 5 5 2 c を生成し、 これらを判定回路 5 6 0に出力する。 ここで、 命令種類指示信号 S 5 5 2 aは、 C P U 5 5 2がフヱッチ命令、 リ一 ド命令およびライ ト命令の何れの命令を実行したかを示す信号である。 ここで、 フエ 'ンチ命令は、 C P U 5 5 2が C P Uデータバス 5 0 6を介して命 令コード:を取り込むことを指示する命令である。 リード命令は、 C P U 5 5 2 ;¾ C P Uデータバス 5 0 6を介してデータを読 み込むことを指示する命令である。 ライ ト命令は、 C P U 5 5 2力 C P Uデータバス 5 0 6を介してデータを書 き込むことを指示する命令である。 また、 実行中 AP指示信号 S 5 5 2 bは、 C P U 5 5 2力 図 8 4に示すアブ リケーシヨ ンプログラム A P 1 , A P 2 , A P 3 > M A I Nおよび 0 Sのプログ ラムの命令のうち、 何れのプログラムの命令を実行中であるかを示す信号である 呼び出し先 A P指示信号 S 5 5 2 cは、 C P U 5 5 2が実行中のプログラムモ ジユールが他のプログラムモジユールを呼び出したときに、 呼び出し先のプログ ラムモジュールが属するプログラムが、 上記アプリケーションプログラム AP 1 , A P 2 , A P 3 , MA I Nおよび 0 Sの何れのプログラムであるかを示してい る。 また、 C P U 5 5 2は、 後述するようにスイツチ画路 5 6 1が非接繞状態にな ると、 C P Uデータバス 5 0 6とその動作を停止する。 以下、 判定回路 5 6 0について詳細に説明する。 判定回路 5 6 0は、 C P U 5 5 2から入力した命令種類指示信号 S 5 5 2 aお よび実行中 A P指示信号 S 5 5 2 b、 並びに C P Uァドレスバス 5 0 7を介して C P U 5 5 2から入力したァドレス C P U— AD Rに基づいて判定結果信号 S 5 6 0を生成し、 これをスィ 'ンチ回路 5 6 1に出力する。 図 9 0は、 図 8 9に示す判定回路 5 6 0の構成図である。 図 9 0に示すように、 判定回路 5 6 0は、 選択面路 5 7 0、 フ ツチ用判定面 路 5 7 1、 リード用判定回路 5 7 2およびライ ト用判定回路 5 7 3を有する。 選択回路 5 7 0は、 図 8 9に示す C P U 5 5 2から入力した命令種類指示信号55 5 2 aに基づいて、 スィッチ 5 7 4を端子 5 7 5— 1 , 5 7 5— 2 , 5 7 5 —3の何れか一つの端子に接続する。 具体的には、 選択回路 5 7 0は、 命令種類指示信号 S 5 5 2 aがフエツチ命令 を示している場合には、 スィ ッチ 5 7 4を端子 5 7 5— 1に接続する。 これにより、 フ ツチ用判定回路 5 7 1から出力されたフ ツチ用判定結果信 号 S 5 7 1力 端子 5 7 5 _1およびスィ ツチ 5 7 4を介して判定結果信号 S 56 0として判定回路 5 6 0からスィツチ回路 5 6 1に出力される。 また、 選択回路 5 7 0は、 命令種類指示信号 S 5 5 2 aがリード命令を示して いる場合には、 スィ ッチ 5 7 4を端子 5 7 5— 2に接繞する。 これにより、 リード用判定回路 5 7 2から出力されたリード用判定結果信号 S 5 7 2力 端子 5 7 5— 2およびスィ ッチ 5 7 4を介して判定結果信号 S 5 6 0 として判定回路 5 6 0からスィ ツチ回路 5 6 1に出力される。 また、 選択回路 5 7 0は、 命令種類指示信号 S 5 5 2 aがライ ト命令を示して いる場合には、 スィ ッチ 5 74を端子 57 5— 3に接続する。 これにより、 ライ ト用判定 HI路 57 3から出力されたライ ト用判定結果信号 S 5 7 3力、 端子 5 7 5— 3およびスィ ツチ 5 7 4を介して判定結果信号 S 5 6 0 として判定回路 5 6 0からスィ ツチ回路 5 6 1に出力される。 フユツチ用判定回路 5 7 1は、 C P U 55 2から入力した実行中 A P指示信号 S 5 5 2 b、 呼び出し先 A P指示信号 S 5 5 2 cおよびァドレス C P U— ADR を用いて、 フユツチ用判定結果信号 S 5 7 1を生成し、 これを選択回路 5 7 0の 端子 5 75— 1に向けて出力する。 図 9 1は、 図 9 0に示すフ ッチ用判定回路 5 7 1の構成図である。 図 9 1に示すように、 フ Vチ用判定回路 57 1は、 記憶部 5 8 1— 1および 判定部 5 82—1を有する。 記憶部 5 8 1—1は、 フヱツチ用アクセス範囲規定データ 5 8 4—1と、 フエ ツチ用 A P間呼び出し関係規定データ 5 85一 1とを記憶する。 フェツチ用アクセス範囲規定データ 5 8 4— 1は、 C P U 5 5 2がフェッチ命 令を実行しているときにアクセス可能なメモリ 5 5 3内のアドレスを、 C P U 5 5 2が図 8 に示す 0 S層のプ αグラム、 アプリケーショ ンプログラム M A I Ν , AP I , AP 2, AP 3のプログラムを実行中である場合の各々について規定 している。 図 9 2は、 フヱツチ用アクセス範囲規定データ 5 8 4 _1を説明するための図 である。 図 9 2の列 (縦) 方向は、 図 8 4に示す 0 S層のプログラム、 アプリケーショ ンプログラム MA I N, AP I , AP 2, AP 3を示している。 行 (横) 方向の 「FR OM」 は、 対応する列のプログラムが記憶されることが 許可されているメモリ 5 53内の記憶領域の開始ア ドレスを示している。 行方向の 「 F ROM」 は、 対応する列のプログラムがアクセス許可されている メモリ 5 5 3のァドレス範囲の開始ァドレスを示している。 行方向の 「TO」 は、 対応する列のプログラムがアクセス許可されているメモ リ 5 5 3のァドレス範囲の終了ァドレスを示している。 例えば、 アプリケーショ ンプログラム A Ρ 1は、 メモリ 5 5 3のア ドレス 「 2 0 0 0 H」 〜 「 2 F F F H」 の範囲にアクセス許可されている。 フエ 'クチ用 A P間呼び出し関係規定データ 5 8 5— 1は、 C P U 5 5 2がフエ ツチ命令を実行しているときにプ αグラムモジュールの呼び出しが発生した場合 に、 呼び出し元および呼び出し先となることができるプログラムモジユールが属 するプログラムの組み合わせを示している。 図 9 3は、 フユッチ用 A Ρ間呼び出し関係規定データ 5 8 5— 1を説明するた めの図である。 図 9 3の列方向は、 図 8 4に示す 0 S層のプログラム、 アプリケーショ ンプロ グラム MA I N, AP I , AP 2, AP 3を示している。 図 9 3の行方向は、 図 8 4に示す◦ S層のプログラム、 アプリケーショ ンプロ グラム MA I N, AP I , AP 2 , AP 3を示している。 列と行の交差する位置に、 対応する列のプログラムのプログラムモジュールが 対応する行のプログラムのプログラムモジユールを呼び出すことが許可されてい るか否かを示している。 「〇」 が呼び出し許可を示しており、 「X」 が呼び出し 不許可を示している。 例えば、 アプリケーショ ンプログラム A P 1のプログラムモジユールは、 〇 S のプログラム、 MA I N、 およびアプリケーションプログラム A P 3のプ πダラ ムモジュールを呼び出すことが許可されている力 アプリケーションプログラム A P 2のプログラムモジュールを呼び出すことは許可されていない。 判定部 5 8 2—1は、 図 8 9に示す C P U 5 5 2から入力した実行中 A P指示 信号 S 5 5 2 bおよびァドレス C P U— AD只と、 記憶部 5 8 1—1から読み出 したフエツチ用アクセス範囲規定データ 5 8 4 __1 とに基づいて、 ァドレス C P U— AD R力 実行中 AP指示信号 S 5 5 2 bが示すプログラムに対応する図 9 2に示す列の 「 F R OM」 および 「T〇」 によって規定されるメモリ 5 5 3のァ ドレス範囲に舍まれているか否かを判断する。 判定部 5 8 2—1は、 当該判断において舍まれていると判断した場合には、 例 えば、 接続を指示するフ ツチ用判定結果信号 S 5 7 1を生成し、 これを図 9 0 に示す選択画路 5 7 0の端子 5 7 5— 1に向けて出力する。 一方、 判定部 5 8 2— 1は、 当該判断において舍まれていないと判断した場合 には、 例えば、 非接続 (切断) を指示するフ ツチ用判定結果信号 S 5 7 1を生 成し、 これを図 9 0に示す選択画路 5 7 0の端子 5 7 5— 1に向けて出力する。 また、 判定部 5 8 2_1は、 C P U 5 5 2が実行中のプログラムのプログラム モジュールが、 他のプログラムのプログラムモジュールを呼び出した場合に、 図 8 9に示す C P U 5 5 2から入力した実行中 A Ρ指示信号 S 5 5 2 bおよび呼び 出し先 AP指示信号 S 5 5 2 cと、 記憶部 5 8 1— 1から読み出したフ ツチ用 AP間呼び出し関係規定データ 5 8 5— 1とに基づいて、 当該呼び出しが、 図 9 3に示すフヱッチ用 A P間呼び出し関係規定データ 5 8 5— 1によって示された 組み合わせによって許可されているか否かを判断する。 判定部 5 8 2 _1は、 当該判断において許可されていると判断した場合には、 例えば、 接続を指示するフ ツチ用判定結果信号 S 5 7 1を生成し、 これを図 9 0に示す選択回路 5 7 0の端子 5 7 5„1に向けて出力する。 一方、 判定部 5 8 2—1は、 当該判断において不許可であると判断した場合に は、 例えば、 非接続を指示するフ ツチ用判定結果信号 S 5 7 1を生成し、 これ を図 9 0に示す選択回路 5 7 0の端子 5 7 5 _ 1に向けて出力する。 リード用判定回路 5 7 2は、 C P U 5 5 2から入力した実行中 A P指示信号 S 5 5 2 b. 呼び出し先 A P指示信号 S 5 5 2 cおよびァドレス C P U— ADRを 用いて、 リード用判定結果信号 S 5 7 2を生成し、 これを選択回路 5 7 0の端子 5 7 5— 2に向けて出力する。 図 9 4は、 図 9 0に示すリ一ド用判定回路 5 7 2の構成図である。 図 9 4に示すように、 リ一ド用判定回路 5 7 2は、 記憶部 5 8 1— 2および判 定部 5 8 2— 2を有する。 記憶部 5 8 1—2は、 リード用アクセス範囲規定データ 5 8 4— 2と、 リード 用 AP間呼び出し関係規定データ 5 8 5— 2とを記憶する。 リード用アクセス範囲規定データ 5 8 4— 2は、 C P U 5 5 2がリード命令を 実行しているときにアクセス可能なメモリ 5 5 3内のア ドレスを、 C P U 5 5 2 が図 8 4に示す 0 S層のプログラム、 アプリケーショ ンプログラム MA I N, A P I , A P 2 , A P 3のプログラムを実行中である場合の各々について規定して いる。 図 9 5は、 リード用アクセス範囲規定データ 5 8 4— 2を説明するための図で あ 0 図 9 5の列 (縦) 方向は、 図 8 4に示す 0 S層のプログラム、 アプリケ一ショ ンプログラム MA I N, AP I , A P 2 , AP 3を示している。 行 (横) 方向の 「F R OM」 は、 対応する列のプログラムが記憶されることが 許可されているメモリ 5 5 3内の記憶領域の開始ア ドレスを示している。 行方向の 「F R OM」 は、 対応する列のプログラムがアクセス許可されている メモリ 5 5 3のァドレス範囲の開始ァドレスを示している。 行方向の 「TO」 は、 対応する列のプログラムがアクセス許可されているメモ リ 5 5 3のァドレス範囲の終了ァドレスを示している。 リ一ド用 A Ρ間呼び出し関係規定データ 5 8 5— 2は、 C P U 5 5 2がリード 命令を実行しているときにプログラムモジュールの呼び出しが発生した場合に、 呼び出し元および呼び出し先となることができるプログラムモジュールが属する プログラムの組み合わせを示している。 図 9 6は、 リード用 A P間呼び出し関係規定データ 5 8 5— 2·を説明するため の図である。 図 9 6の列方向は、 図 84に示す 0 S層のプログラム、 アプリケーショ ンプロ グラム MA I N, AP I , AP 2, AP 3を示している。 図 96の行方向は、 図 84に示す 0 S層のプログラム、 アプリケーションプロ グラム MA I N, AP I , AP 2, AP 3を示している。 列と行の交差する位置に、 対応する列のプログラムのプログラムモジユールが 対応する行のプログラムのプログラムモジユールを呼び出すことが許可されてい るか否かを示している。 「〇」 が呼び出し許可を示しており、 「X」 が呼び出し 不許可を示している。 判定部 5 8 2— 2は、 図 8 9に示す C P U 5 5 2から入力した実行中 A P指示 信号 S 5 5 2 bおよびァドレス C P U— ADRと、 記憶部 5 8 1—2から読み出 したリード用アクセス範囲規定データ 5 8 4 _2とに基づいて、 アドレス C P U _ADR力、 実行中 A P指示信号 S 5 52 bが示すプログラムに対応する図 9 5 に示す列の 「 F R 0 M」 および 「T 0」 によって規定されるメモリ 5 5 3のアド レス範囲に舍まれているか否かを判断する。 判定部 5 82— 2は、 当該判断において舍まれていると判断した場合には、 例 えば、 接続を指示するリード用判定結果信号 S 5 7 2を生成し、 これを図 9 0に 示す選択回路 5 70の端子 5 7 5— 2に向けて出力する。 一方、 判定部 5 8 2— 2は、 当該判断において舍まれていないと判断した場合 には、 例えば、 非接続 (切断) を指示するリ一ド用判定結果信号 S 57 を生成 し、 これを図 9 0に示す選択回路 5 7 0の端子 5 7 5— 2に向けて出力する。 また、 判定部 5 8 2— 2は、 C P U 55 2が実行中のプログラムのプログラム モジュールが、 他のプログラムのプログラムモジュールを呼び出した場合に、 図 8 9に示す C P U 5 5 2から入力した実行中 A Ρ指示信号 S 5 52 bおよび呼び 出し先 AP指示信号 S 5 5 2 cと、 記憶部 5 8 1— 2から読み出したリード用 A P間呼び出し関係規定データ 5 85— 2とに基づいて、 当該呼び出しが、 図 96 に示すリード用 AP間呼び出し関係規定デ一タ 5 8 5— 2によって示された組み 合わせによって許可されているか否かを判断する。 判定部 5 8 2— 2は、 当該判断において許可されていると判断した場合には、 例えば、 接続を指示するリード用判定結果信号 S 5 7 2を生成し、 これを図 9 0 に示す選択回路 5 7 0の端子 5 7 5— 2に向けて出力する。 一方、 判定部 5 8 2— 2は、 当該判断において不許可であると判断した場合に は、 例えば、 非接続を指示するリード用判定結果信号 S 5 7 2を生成し、 これを 図 9 0に示す選択回路 5 7 0の端子 5 7 5— 2に向けて出力する。 ライ ト用判定回路 5 7 3は、 C P U 5 5 2から入力した実行中 A P指示信号 S 5 5 2 b 呼び出し先 A P指示信号 S 5 5 2 cおよびァドレス C P U— A D Rを 用いて、 ライ ト用判定結果信号 S 5 7 3を生成し、 これを選択回路 5 7 0の端子 5 7 5— 3に向けて出力する。 図 9 7は、 図 9 0に示すライ ト用判定回路 5 7 3の構成図である。 図 9 7に示すように、 ライ ト用判定回路 5 7 3は、 記憶部 5 8 1—3および判 定部 5 8 2— 3を有する。 記憶部 5 8 1—3は、 ライ ト用アクセス範囲規定データ 5 8 4_3と、 ライ ト 用 A P間呼び出し関係規定データ 5 8 5— 3とを記憶する。 ライ ト用アクセス範囲規定データ 5 8 4— 3は、 C P U 5 5 2がライ ト命令を 実行しているときにアクセス可能なメモリ 5 5 3内のァドレスを、 C P U 5 5 2 が図 8 に示す 0 S層のプログラム、 アプリケーションプログラム M A I N , A P I , AP 2 , A P 3のプログラムを実行中である場合の各々について規定して いる。 図 9 8は、 ライ ト用アクセス範囲規定データ 5 8 4— 3を説明するための図で あ 。 図 9 8の列 (縦) 方向は、 図 8 4に示す 0 S層のプログラム、 アプリケーショ ンプログラム MA I N, AP I , A P 2 , AP 3を示している。 行 (横) 方向の 「F R OM」 は、 対応する列のプログラムが記憶されることが 許可されているメモリ 5 53内の記憶領域の開始ァドレスを示している。 行方向の 「F ROM」 は、 対応する列のプログラムがアクセス許可されている メモリ 5 5 3のァ ドレス範囲の開始ァドレスを示している。 行方向の 「TO」 は、 対応する列のプログラムがアクセス許可されているメモ リ 5 3のァ ドレス範囲の終了ァ ドレスを示している。 ライ ト用 A Ρ間呼び出し関係規定データ 5 85— 3は、 C P U 55 2がライ ト 命令を実行しているときにプログラムモジュ一ルの呼び出しが発生した場合に、 呼び出し元および呼び出し先となることができるプログラムモジユールが属する プログラムの組み合わせを示している。 図 99は、 ライ ト用 AP間呼び出し関係規定データ 58 5— 3を説明するため の図である。 図 9 9の列方向は、 図 8 4に示す 0 S層のプログラム、 アプリケーショ ンプロ グラム MA I N, AP I , A P 2 , AP 3を示している。 図 9 9の行方向は、 図 8 4に示す 0 S層のプログラム、 アプリケ一ショ ンプロ グラム MA I N, AP I , AP 2, AP 3を示している。 列と行の交差する位置に、 対応する列のプログラムのプログラムモジユールが 対応する行のプログラムのプログラムモジユールを呼び出すことが許可されてい るか否かを示している。 「〇」 が呼び出し許可を示しており、 「X」 が呼び出し 不許可を示している。 判定部 5 8 2— 3は、 図 8 9に示す C P U 55 2から入力した実行中 A P指示 信号 S 552 bおよびァドレス CP U— ADRと、 記憶部 5 8 1—3から読み出 したライ ト用アクセス範囲規定データ 58 4 _3とに基づいて、 アドレス C P U — ADRカ、 実行中 A P指示信号 S 5 52 bが示すプログラムに対応する図 9 8 に示す列の 「F ROM」 および 「TO」 によって規定されるメモリ 5 5 3のアド レス範囲に舍まれているか否かを判断する。 判定部 5 8 2— 3は、 当該判断において舍まれていると判断した場合には、 例 えば、 接続を指示するライ ト用判定結果信号 S 5 7 3を生成し、 これを図 9 0に 示す選択回路 5 7 0の端子 5 7 5— 3に向けて出力する。 一方、 判定部 5 8 2 _ 3は、 当該判断において舍まれていないと判断した場合 には、 例えば、 非接続 (切断) を指示するライ ト用判定結果信号 S 5 7 3を生成 し、 これを図 9 0に示す選択回路 5 7 0の端子 5 7 5 _ 3に向けて出力する。 また、 判定部 5 8 2 _ 3は、 C P U 5 5 2が実行中のプログラムのプログラム モジュールが、 他のプログラムのプログラムモジュールを呼び出した場合に、 図 8 9に示す C P U 5 5 2から入力した実行中 A P指示信号 S 5 5 2 bおよび呼び 出し先 A P指示信号 S 5 5 2 cと、 記憶部 5 8 1 _ 3から読み出したライ ト用 A P間呼び出し関係規定データ 5 8 5— 3とに基づいて、 当該呼び出しが、 図 9 9 に示すライ ト用 A P間呼び出し関係規定データ 5 8 5— 3によって示された組み 合わせによって許可されているか否かを判断する。 判定部 5 8 2— 3は、 当該判断において許可されていると判断した場合には、 例えば、 接続を指示するライ ト用判定結果信号 S 5 7 3を生成し、 これを図 9 0 に示す選択画路 5 7 0の端子 5 7 5— 3に向けて出力する。 一方、 判定部 5 8 2— 3は、 当該判断において不許可であると判断した場合に は、 例えば、 非接続を指示するライ ト用判定結果信号 S 5 7 3を生成し、 これを 図 9 0に示す選択回路 7 0の端子 5 7 5— 3に向けて出力する。 次に、 選択回路 5 7 0について説明する。 選択回路 5 7 0は、 C P U 5 5 2からの命令種類指示信号 S 5 5 2 aに基づい て、 スィッチ 5 7 4を端子 5 7 5— 1 , 5 7 5 _ 2 , 5 7 5— 3の何れか一つと 接続する。 具体的には、 選択回路 5 7 0は、 命令種類指示信号 S 5 5 2 aがフユツチ命令 を示している場合にはスィ ツチ 5 7 4を端子 5 7 5— 1に接続し、 フユツチ用判 定結果信号 S 5 7 1を、 判定結果 S 5 6 0としてスィ ツチ回路 5 6 1に出力する 。 これにより、 スィ ツチ回路 5 6 1の接続 Z非接続がフ ツチ用判定結果信号 S 5 7 1によって制御される。 また、 選択 Hi路 5 7 0は、 命令種類指示信号 S 5 5 2 aがリード命令を示して いる場合にはスィ ツチ 5 7 4を端子 5 7 5— 2に接続し、 リード用判定結果信号 S 5 7 2を、 判定結果 S 5 6 0としてスィ ツチ回路 5 6 1に出力する。 これによ り、 スィ ツチ回路 5 6 1の接続ノ非接続がリード用判定結果信号 S 5 7 2 'こよつ て制御される。 また、 選択回路 5 7 0は、 命令種類指示信号 S 5 5 2 aがライ ト命令を示して いる場合にはスィ 'ンチ 5 7 4を端子 5 7 5— 3に接続し、 ライ ト用判定結果信号 S 5 7 3を、 判定結果 S 5 6 0としてスィ ツチ回路 5 6 1に出力する。 これによ り、 スィ ツチ回路 5 6 1の接続ノ非接続がライ ト用判定結果信号 S 5 7 3によつ て制御される。 以下、 コンピュータ 5 5 1の動作例を説明する。 〔第 1の動作例〕 以下、 コンピュータ 5 5 1力く、 アプリケーショ ンプログラム A P 1のプログラ ムモジュールの実行過程でフヱツチ命令を実行し、 メモリ 5 5 3のア ドレス 「 2 1 0 0 H」 を指定した場合の動作例を説明する。 この場合には、 C P Uァ ドレスバス 5 0 7上に 「 2 1 0 0 H」 を示す C P U— AD Rが流れ、 フ ツチを示す命令種類指示信号 S 5 5 2 aと AP 1を示す実行 中 A P指示信号 S 5 5 2 bが C P U 5 5 2から判定回路 5 6 0に出力される。 そして、 図 9 1に示す判定部 5 8 2— 1は、 C P U 5 5 2から入力した実行中 AP指示信号 S 5 5 2 bおよびァドレス C P U— AD Rと、 記憶部 5 8 1— 1力、 ら読み出した図 9 2に示すフ ツチ用アクセス範囲規定データ 5 8 4 __1 とに基 づいて、 ア ドレス 「 2 1 0 0 H」 力^ AP 1に対応する図 9 2に示す列の 「F R 〇 M」 および 「 T 0」 によつて規定されるメモリ 5 5 3のアドレス範囲 「 2 0 0 0 H」 〜 「 2 F F F H」 に舍まれていると判断する。 そして、 判定部 5 8 2—1は、 接続を指示するフ ツチ用判定結果信号 S 5 7 1を生成し、 これを図 9 0に示す選択回路 5 7 0の端子 5 7 5—1に向けて出力 する。 また、 選択回路 5 7 0は、 命令種類指示信号 S 5 5 2 aがフ ツチを示してい るため、 スィ ッチ 5 7 4を端子 5 7 5— 1に接続する。 これにより、 接続を指示するフ 'ンチ用判定結果信号 S 5 7 1カ、 選択 IK路 5 7 0を介して判定結果信号 S 5 6 0として図 8 9に示すスィ ッチ回路 5 6 1に出 力される。 そして、 スィ チ回路 5 6 1は、 C P Uデータバス 5 0 6とメモリデータバス 5 6 2とを接続状態にし、 CP U 5 5 2がメモリ 5 5 3にアクセスできるように なる。 なお、 上述した場合に、 ァドレス C P U— AD R力 「 3 1 0 0 H」 を示してた 場合には、 当該ァドレスがァドレス範囲 「 2 0 0 0 H」 〜 「 2 F F F H」 に舍ま れていないため、 非接続を指示するフユツチ用判定結果信号 S 5 7 1が選択回路 5 7 0からスィ ッチ回路 5 6 1に出力される。 これにより、 スィ ツチ回路 5 6 1 は、 C P Uデータバス 5 0 6とメモリデータバス 5 6 2とを非接続状態にし、 C P U 5 5 2はメモリ 5 5 3にアクセスできない。 〔第 2の動作例〕 以下、 コンピュータ 5 5 1が、 リード命令の実行時に、 アプリケーショ ンプロ グラム A P 2のプログラムモジユールがァプリケーショ ンプログラム A P 1のプ πグラムを呼び出した場合の動作例を説明する。 この場合には、 AP 2を示す実行中 A P指示信号 S 5 5 2 bと、 AP Iを示す 呼び出し先 A P指示信号 S 5 5 2 cが C P U 5 5 2からリード用判定回路 5 7 2 に出力される。 リード用判定回路 5 7 2の判定部 5 8 2— 2は、 図 9 6に示すリード用 A P間 呼び出し関係規定データ 5 8 5— 2を参照し、 AP 2から AP 1への呼び出しは 許可されていると判断する。 そして、 判定部 5 8 2— 2は、 接続を指示するリ一ド用判定結果信号 S 5 7 2 を生成し、 これを図 9 0に示す選択画路 5 7 0の端子 5 7 5— 2に向けて出力す る。 また、 選択画路 5 7 0は、 命令種類指示信号 S 5 5 2 aがリードを示している ため、 スィ ッチ 5 7 4を端子 5 7 5— 2に接続する。 これにより、 接続を指示するリード用判定結果信号 S 5 7 2力 選択画路 5 7 0を介して判定結果信号 S 5 6 0として図 8 9に示すスィ ツチ回路 5 6 1に出力 される。 そして、 スィ ツチ回路 5 6 1は、 C P Uデータバス 5 0 6とメモリデータバス 5 6 2とを接続状態にし、 C P U 5 5 2がメモリ 5 5 3にアクセスできるように なる。 一方、 上述した場合に、 アプリケーショ ンプ αグラム A P 2のプログラムモジ ュ一ルがァプリケーショ ンプログラム A P 3のプロダラムを呼び出した場合には 、 図 9 6に示すリ一ド用 A P間呼び出し関係規定データ 5 8 5— 2から、 A P 2 から A P 3への呼び出しは不許可であると判断される。 そして、 判定部 5 8 2— 2は、 非接続を指示するリ一ド用判定結果信号 S 5 7 2を生成し、 これを図 9 0に示す選択面路 5 7 0の端子 5 7 5— 2に向けて出力 する。 これにより、 非接続を指示するリード用判定結果信号 S 5 7 2 、 選択回路 5 7 0を介して判定結果信号 S 5 6 0として図 8 9に示すスィ ツチ回路 5 6 1に出 力される。 そして、 スィ ツチ回路 5 6 1は、 C P Uデータバス 5 0 6とメモリデータバス 5 6 2とを非接続状態にし、 C P U 5 5 2はメモリ 5 5 3にアクセスできない。 以上説明したように、 コンピュータ 5 5 1によれば、 C P U 5 5 2が実行中の プログラムに応じて、 それぞれのプログラムに対応して予め規定されたデータに 基づいて、 判定回路 5 6 0およびスィ ッチ回路 5 6 1によって、 メモリ 5 5 3と C P Uデータバス 5 0 6との間の接続状態を決定する。 そのため、 C P U 5 5 2で実行中のアプリケ一ショ ンプログラムがメモリ 5 5 3内に記憶された他のアプリケーショ ンプ αグラムの命令およびデータに不正に アクセスすることを防止でき、 C P U 5 5 2が複数のアプリケーショ ンプログラ ムを実行する場合でも、 アプリケーショ ンプログラム相互間での高いセキュリテ ィを得ることができる。 本発明は上述した実施形態には限定されない。 例えば、 上述した実施形態では、 判定回路 5 6 0力 フ ツチ用アクセス範囲 規定データ 5 8 4— 1、 フエツチ用 A Ρ間呼び出し関係規定データ 5 8 5— 1、 リード用アクセス範囲規定データ 5 8 4— 2、 リード用 A P間呼び出し関係規定 データ 5 8 5— 2、 ライ ト用アクセス範囲規定データ 5 8 4— 3、 ライ ト用 A P 間呼び出し関係規定データ 5 8 5— 3を記憶する場合を例示したが、 図 1 0 0に 示すように、 これらのデータを鍵情報 Kを用いて暗号化した状態で記憶した I C カード 5 5 8を用いてもよい。 この場合には、 判定回路 5 6 0は、 鍵情報 Kおよび復号プログラム 5 9 0を保 持し、 C P Uデータバス 5 0 6および通信画路 5 0 4を介して、 1 〇カ一ド 5 5 8にアクセスを行って、 フヱツチ用アクセス範囲規定データ 5 8 4— 1、 フ _ 'ン チ用 A Ρ間呼び出し閧係規定データ 5 8 5— 1、 リード用アクセス範囲規定デー タ 5 8 4— 2、 リード用 A P間呼び岀し関係規定データ 5 8 5— 2、 ライ ト用ァ クセス範囲規定データ 5 8 4 __ 3、 ライ ト用 A P間呼び出し関係規定データ 5 8 5— 3を I Cカード 5 5 8から読み出し、 所定の復号プログラム 5 9 0および鍵 情報 Kを用いて復号して用いる。 また、 本発明は、 上記復号プログラムを暗号化した状態で、 I Cカード 5 5 8 に記憶し、 これを通信回路 5 0 4および C P Uデータバス 5 0 6を介して判定回 路 5 6 0に読み出し、 判定回路 5 6 0で所定の鍵情報を用いて復号し、 復号した 復号プログラムをメモリ 5 5 3に格納し、 判定回路 5 6 0がメモリ 5 5 3から復 号プログラムを読み出して実行してもよい。 また、 上述した実施形態では、 C P U 5 5 2から判定回路 5 6 0に、 実行中 A P指示信号 S 5 5 2 bおよび呼び出し先 A P指示信号 S 5 5 2 cを出力する場合 を例示したが、 これらの信号は、 図 1 0 1 示すように、 判定回路 5 6 0が C P Uァドレスバス 5 0 7を監視することで自らが生成してもよい。 第 7実施形態 本実施形態は、 第 2 0および第 2 1の発明に対応した実施形態である。 図 1 0 2は、 本発明の実施形態の半導体チップ 6 3 1の構成図である。 図 1 0 2に示すように、 半導体チ 'ンプ 6 3 1 は、 内部メモリ 6 3 2、 スィ ッチ 回路 6 3 3、 スィ ツチ回路 6 3 4、 判定回路 6 3 5、 選択回路 6 3 6および C PU 6 3 7を有する。 内部メモリ 6 3 2、 スィ ツチ回路 6 3 3、 スィ ツチ回路 6 3 4、 判定回路 6 3 5および C P U 6 3 7は、 C P Uデータバス 6 4 0に接続されている。 内部メモリ 6 3 2、 判定回路 6 3 5および C P U 6 3 7は、 ア ドレスバス 6 4 1 に接続されている。 内部メモリ 6 3 2、 判定回路 6 3 5および C P U 6 3 7は、 信号線 6 4 2に接 続されている。 また、 内部メモリ 6 3 2は、 内部データバス 6 4 3にさらに接続されている。 また、 スィ ッチ回路 6 3 4は、 さらに外部データバス 6 4 4を介して外部メモ リ 6 6 0に接続されている。 また、 選択回路 6 3 6は、 さらに外部デ一タバス 6 4 5を介してデバッガ 6 6 1 に接続されている。 ここで、 半導体チップ 6 3 1が第 1の発明の半導体回路に対応し、 C P Uデー タバス 6 4 0が第 1の半導体回路の第 1の伝送路に対応し、 プログラムモジユー ル P M— 1が第 1の発明のプログラムを実行する命令などに対応し、 内部メモリ 6 3 2が第 1の発明の記憶回路に対応し、 C P U 6 3 7が第 1の発明の演算面路 に対応し、 スィ ッチ回路 6 3 3が第 1の発明の第 1の接続切換回路に対応し、 ス ィ ツチ回路 6 3 4が第 1の発明の第 2の接続切換回路に対応し、 判定画路 6 3 5 が第 1の発明の接続制御回路に対応し、 選択回路 6 3 6が第 1の発明の第 3の接 続切換回路に対応し、 外部メモリ 6 6 0が第 1の発明の記憶装置に対応し、 デバ ッガ 6 6 1が第 1の発明の外部装置に対応している。 また、 信号線 6 4 2が第 1の発明の第 3の伝送路に対応し、 ァドレスバス 6 4 1が第 1の発明の第 4の伝送路に対応している。 また、 判定結果信号 S 6 3 5 aが第 1の発明の第 1の制御信号に対応し、 判定 結果信号 S 6 3 5 bが第 1の発明の第 2の制御信号に対応し、 判定結果信号 S 6 3 5 cが第 1の発明の第 3の制御信号に対応している。 図 1 0 3は、 図 1 0 2に示す半導体チップ 6 3 1のソフ トウヱァ構成を説明す るための図である。 図 1 0 3において、 最下層は、 ハードウヱァ層であり、 図 1 0 2に示す半導体 チップ 6 3 1 のハードウエアの構成要素である。 ハ一ドウヱァ層の上には通信ドライバ層が位置する。 通信ドライバ層には、 通 信制御を行う通信ドライバ層が位置する。 通信ドライバ層のプ αグラムは、 通常 、 不揮発性メモリ内に記憶される。 通信ドラィバ層の上には、 半導体チップ 6 3 1の動作の根幹となるプログラム を提供するオペレーティ ング · システム ( O S ) 層がある。 〇 S層は、 最上位の アプリケーショ ン (A P ) 層に対して、 下位層と比較してより上位概念のサ一ビ スを提供する。 また、 O S層の上には、 半導体チップ 6 3 1が実現する具体的な機能 (サービ ス) を規定する A P層がある。 A P層には、 例えば、 図 1 0 2に示すプログラム モジュール P M—1 , P M— 2 , P M— 3によって実現されるアプリケーショ ン プログラム A P I、 A P 2、 A P 3が存在する。 内部メモリ 6 3 2は、 図 1 0 3に示すアプリケーショ ンプログラム A P 1のプ ログラムモジュール P M_ 1を記憶している。 図 1 0 4は、 プログラムモジュール P M—1の構成を説明するための図である 図 1 0 4に示すように、 プログラムモジュール P M— 1は、 複数の機能モジュ ールから構成される。 図 1 0 4では、 n個の機能モジュール F M— 1〜F M— n から構成される場合を示している。 図 1 0 4に示すように、 各機能モジュール F M— 1〜F M— nの先頭の命令 ( コード) はロック解除命令になっており、 末尾の命令はロック命令になっている ここで、 口 'ンク命令は、 次に口ック解除命令があるまでスィ ッチ画路 6 3 3を 接続状態に保持することを後述する判定回路 6 3 5に指示する命令である。 また、 口 'ンク解除命令は、 スィ ッチ回路 6 3 3を非接続状態に切り換えること を指示する命令である。 スィ ツチ回路 6 3 3は、 C P Uデータバス 6 4 0と内部データバス 6 4 3 との 間に介在している。 スィ ツチ回路 6 3 3は、 判定回路 6 3 5から入力した判定結果信号 S 6 3 5 a に基づいて、 接続状態および非接続状態の何れか一方になる。 スィ 'ンチ回路 6 3 4は、 C P Uデータバス 6 4 0と外部データバス 6 4 4との 間に介在している。 スイ ッチ回路 6 3 4は、 判定回路 6 3 5からの判定結果信号 S 6 3 5 bに基づ いて、 接続状態および非接続状態の何れか一方になる。 判定回路 6 3 5は、 ァドレスバス 6 4 1および信号線 6 4 2を監視し、 C P U 6 3 7がァドレスバス 6 4 1に出力したァドレス信号が内部メモリ 6 3 2内のプ ログラムモジュール P M— 1が記憶されているア ドレスを示し、 且つ、 C P U 6 3 7が信号線 6 4 2に出力した命令種類指示信号 S 6 3 7 aがフ ツチを示して いる場合に、 接続を指示する判定結果信号 S 6 3 5 aを生成し、 それ以外の場合 に非接続を指示する判定結果信号 S 6 3 5 aを生成する。 判定回路 6 3 5は、 判定結果信号 S 6 3 5 aをスィ ツチ回路 6 3 3に出力する また、 判定画路 6 3 5は、 接続を指示する判定結果信号 S 6 3 5 aを生成する 場合に、 非接続を指示する判定結果信号 S 6 3 5 bを生成し、 これをスィ ッチ回 路 6 3 4に出力する。 また、 判定回路 6 3 5は、 非接続を指示する判定結果信号 S 6 3 5 aを生成す る場合に、 接続を指示する判定結果信号 S 6 3 5 bを生成し、 これをスィ ッチ回 路 6 3 4に出力する。 また、 判定回路 6 3 5は、 接続を指示する判定結果信号 S 6 3 5 aを生成する 場合に、 無効ノ非接続を指示する判定結果信号 S 6 3 5 cを生成し、 これを選択 回路 6 3 6に出力する。 また、 判定回路 6 3 5は、 非接続を指示する判定結果信号 S 6 3 5 aを生成す る場合に、 有効/接続を指示する判定結果信号 S 6 3 5 cを生成し、 これを選択 回路 6 3 6に出力する。 また、 判定回路 6 3 5は、 C P U 6 3 7が図 1 0 4に示すプログラムモジユー ル P M— 1を実行中に、 プログラムモジュール P M— 1内の機能モジュールが、 他の機能モジュールに舍まれる分岐命令を C P U 6 3 7が実行したことによって 呼び出される場合に、 当該呼び出し先の機能モジュールの先頭に位置する命令を 最初にフ ツチを開始することを条件に (すなわち、 呼び出し先の機能モジユー ルの先頭の命令を指定した分岐命令が実行される場合に) 、 接続を指示する判定 結果信号 S 6 3 5 aをスィ ッチ回路 6 3 3に出力する。 図 1 0 4を用いて説明したように、 各機能モジュールの先頭にはロック解除命 令 (第 1の発明の非接続解除命令) が位置するため、 判定回路 6 3 5はロック解 除命令に基づいて、 次に αック命令 (第 1の発明の非接続開始命令) が実行され るまで、 接続を指示する判定結果信号 S 6 3 5 aをスィ ツチ画路 6 3 3に出力す る。 このとき、 前述したように、 スィ ッチ回路 6 3 4には非接続を指示する判定 結果信号 S 6 3 5 bが出されており、 選択回路 6 3 6には無効ノ非接続を指示す る判定結果信号 S 6 3 5 cが出されているため、 デバッガ 6 6 1による C P U 6 3 7の動作の一時停止や C P U 6 3 7からの C P U内部状態情報の取得はできな い。 従って、 図 1 0 4に示す機能モジュール FM— 1〜FM— nは、 外部メモリ 6 6 0に存在するプログラムモジュール P M— 2 , P M— 3やデバ 'ンガ 6 6 1か らアクセスを受けることはない。 また、 判定回路 6 3 5は、 C P U 6 3 7が図 1 0 4に示すプログラムモジュ一 ル P M— 1を実行中に、 プログラムモジュール P M— 1内の機能モジュ一ルが、 他の機能モジュールに舍まれる分岐命令を C P U 6 3 7が実行したことによって 呼び出される場合に、 当該呼び出し先の機能モジュールの先頭に位置する命令以 外の命令を最初にフユ 'ンチする場合には、 非接続を指示する判定結果信号 S 6 3 5 aをスィ ツチ回路 6 3 3に出力する。 また、 この場合に、 判定回路 6 3 5は、 例えば、 C P U 6 3 7の動作を停止させたり、 所定のエラー処理を行う。 選択回路 6 3 6は、 判定回路 6 3 5からの判定結果信号 S 6 3 5 cが無効/非 接続を示す場合には、 デバ'ンガ 6 6 1から入力した HAL T信号 S 6 6 1 a (第 1の発明の動作停止要求) を無効にして C P U 6 3 7には出力しない。 ここで、 HAL T信号 S 6 6 1 aは、 C P U 6 3 7の動作を一時的に停止することを指示 する信号である。 選択回路 6 3 6は、 判定回路 6 3 5からの判定結果信号 S 6 3 5 cが無効ノ非 接続を示す場合には、 デバッガ 6 6 1から入力した C P U内部状態読み出し要求 信号 S 6 6 1 bおよび C P U内部状態書き換え要求信号 S 6 6 1 cを無効にして C P U 6 3 7には出力しない。 ここで、 C P U内部状態読み出し要求信号 S 6 6 1 bは、 C P U 6 3 7の内部 状態を示す情報を要求する信号である。 C P U内部状態書き換え要求信号 S 6 6 1 cは、 C P U 6 3 7の内部状態を示 す情報の書き換えを要求する信号である。 一方、 選択回路 6 3 6は、 判定回路 6 3 5からの判定結果信号 S 6 3 5 cが有 効/接続を示す場合には、 デバッガ 6 6 1から入力した HALT信号 S 6 6 1 a を C P U 6 3 7には出力する。 選択回路 6 3 6は、 判定回路 6 3 5からの判定結果信号 S 6 3 5 cが有効/接 続を示す場合には、 デバッガ 6 6 1から入力した C P U内部状態読み出し要求信 号 S 6 6 1 bおよび C P U内部状態書き換え要求信号 S 6 6 1 cを C P U 6 3 7 に出力する。 また、 選択回路 6 3 6は、 C P U内部状態読み出し要求信号 S 6 6 1 bに応じて C P U 6 3 7から入力した C P U内部状態信号 S 6 3 7 dをデバ'ン ガ 6 6 1に出力する。 C P U 6 3 7は、 ア ドレスバス 6 4 1に内部メモリ 6 3 2のア ドレス、 並びに 信号線 6 4 2に実行中の命令の種類を示す命令種類指示信号 S 6 37 aを出力し 、 それに応じて、 スイ ツチ回路 6 3 3および C P Uデータバス 6 4 0を介して内 部メモリ 6 3 2から読み出したプログラムモジュール P M— 1の命令およびデー タを用いて処理を行う。 また、 C P U 6 3 7は、 ァ ドレスバス 6 4 1に外部メモリ 6 6 0のァ ドレス、 並びに信号線 6 4 2に命令種類指示信号 S 6 3 7 aを出力し、 それに応じて外部 データバス 6 4 4、 スィ ツチ回路 6 3 4および C P Uデータバス 64 0を介して 外部メモリ 6 6 0から読み出したプログラムモジュール P M_ 2 , PM— 3の命 令およびデータを用いて処理を行う。 • C P U 6 3 7は、 選択回路 6 3 6を介してデバッガ 6 6 1から H A L T信号 S 6 6 1 aを入力すると、 C P U 6 3 7の動作を停止する。 また、 C P U 6 3 7は、 選択回路 6 3 6を介してデバッガ 6 6 1から C P U内 部状態読み出し要求信号 S 6 6 1 bを入力すると、 当該信号 S 6 6 1 bによって 指定された C P U 6 3 7内の内部状態を示す情報を舍む内部状態信号 S 6 3 7 d を選択回路 6 3 6を介してデバッガ 6 6 1に出力する。 また、 C P U 6 3 7は、 選択画路 6 3 6を介してデバッガ 6 6 1から C P U内 部状態書き換え要求信号 S 6 6 1 cを入力すると、 C P U 6 3 7の内部状態を示 す情報を、 信号 S 6 6 1 cによって指定された内容で書き換える。 これによつて 、 C P U 6 3 7の動作がデバ 'ンガ 6 6 1によって制御される。 デバッガ 6 6 1は、 デバッグの目的に応じた HAL T信号 S 6 6 1 aを用いて C P U 6 3 7の勛作を制御し、 C P U 6 3 7の動作を内部状態読み出し要求信号 S 6 6 1 bおよび内部状態信号 S 6 3 7 dを用いて監視し、 C P U内部状態書き 換え要求信号 S 6 6 1 cによって C P U 6 3 7をカスタマイズする。 以下、 半導体チップ 6 3 1の動作例を説明する。 〔第 1の動作例〕 例えば、 デバ 'ンガ 6 6 1が選択回路 6 3 6に、 HAL T信号 S 6 6 1 a、 C P U内部状態読み出し要求信号 S 6 6 1 bおよび C P U内部状態書き換え要求信号 S 6 6 1 cの何れかを出した場合を考える。 この場合に、 C P U 6 3 7が C P Uデータバス 6 4 0およびスィッチ回路 6 3 3を介して内部メモリ 6 3 2にアクセスしているとき、 すなわちスイ ツチ回路 6 3 3が接続状態になっているときには、 判定回路 6 3 5からの判定結果信号 S 6 3 5 cによって選択画路 6 3 6は無効ノ非接続状態になっており、 選択回路 6 3 6から HAL T信号 S 6 6 1 a. C P U内部状態読み出し要求信号 S 6 6 1 bお よび C P U内部状態書き換え要求信号 S 6 6 1 cは、 C P U 6 3 7には出力され ない。 そのため、 デバッガ 6 6 1は、 C P U 6 3 7にアクセスできず、 内部メモリ 6 3 2にもアクセスできない。 一方、 C P U 6 3 7が内部メモリ 6 3 2にアクセスしていないとき、 すなわち スィ ツチ画路 6 3 3が非接続状態になっているときには、 判定回路 6 3 5からの 判定結果信号 S 6 3 5 cによって選択回路 6 3 6は有効 接続状態になっており 、 選択面路 6 3 6から H A L T信号 S 6 6 1 a . C P U内部状態読み出し要求信 号 S 6 6 1 bおよび C P U内部状態書き換え要求信号 S 6 6 1 cは、 C P U 6 3 7には出力される。 そのため、 デバッガ 6 6 1は、 C P U 6 3 7の動作を監視および設定できるが 、 スィ ツチ回路 6 3 3が非接続状態になっているため、 内部メモリ 6 3 2はァク セスできない。 〔第 2の動作例〕 例えば、 C P U 6 3 7がスィ ッチ回路 6 3 4および外部データバス 6 4 4を介 して外部メモリ 6 6 0にアクセスしている場合を考える。 この場合に、 判定回路 6 3 5からの判定結果信号 S 6 3 5 b , S 6 3 5 cによ つて、 スィ ツチ回路 6 3 4および選択回路 6 3 6が接続状態になっているカ^ 判 定結果信号 S 6 3 5 aによってスィ ツチ回路 6 3 3が非接続状態になっている。 そのため、 外部データバス 6 4 4 , 6 4 5からは、 内部メモリ 6 3 2にはァク セスできない。 以上説明したように、 半導体チップ 6 3 1では、 内部メモリ 6 3 2と C P Uデ —タバス 6 4 0との間が接続状態になっているときには、 外部データバス 6 4 4 , 6 4 5からの外部アクセスを認めない。 そのため、 半導体チップ 6 3 1によれば、 内部メモリ 6 3 2に記憶されたプロ グラムモジュール P M— 1を半導体チップ 6 3 1の外部からの不正なアクセスか ら確実に保護でき、 プログラムモジュール P M— 1 の秘匿性を保持できる。 また、 半導体チップ 6 3 1によれば、 C P U 6 3 7によるプログラムモジュ一 ル P M— 1 の実行過程を外部から監視および解折できない。 また、 半導体チップ 6 3 1によれば、 秘匿性のあるプログラムモジュール P M _ 1 、 外部メモリ 6 6 0に記憶されたプログラムモジュール P M— 2 , P M— 3からの不正なアクセスを受けることを防止できる。 第 8卖施形態 本実施形態は、 第 2 0および第 2 1の発明に対応した実施形態である。 図 1 0 5は、 本発明の実施形態の半導体チップ 6 1 3 1の構成図である。 図 1 0 5に示すように、 半導体チップ 6 1 3 1は、 暗号化復号画路 6 1 3 4、 判定 HI路 6 1 3 5、 選択回路 6 1 3 6および C P U 6 1 3 7を有する。 暗号化復号回路 6 1 3 4および C P U 6 1 3 7は、 C P Uデータバス 6 1 4 0 に接続されている。 判定画路 6 1 3 5および C P U 6 1 3 7は、 アドレスバス 6 1 4 1に接続され ている。 判定回路 6 1 3 5および C P U 6 1 3 7は、 信号線 6 1 4 2に接続されている また、 暗号化復号回路 6 1 3 4は、 さらに外部データバス 6 1 4 4を介して外 部メモリ 6 1 6 0に接続されている。 また、 選択回路 6 1 3 6は、 さらに外部データバス 6 1 4 5を介してデバッガ 6 1 6 1に接続されている。 なお、 半導体チップ 6 1 3 1においても、 図 1 0 3に示すソフ トウ ア構造が 同様に適用される。 ここで、 半導体チップ 6 1 3 1が第 2の発明の半導体回路に対応し、 外部デ一 タバス 6 1 4 4が第 1の発明の第 1の伝送路に対応し、 外部メモリ 6 1 6 0が第 2の発明の記憶装置に対応し、 プログラムモジュール P M— 1が第 2の発明のプ ログラムを実行する命令などに対応し、 暗号化復号回路 6 1 3 4が第 2の発明の 暗号化復号回路に対応し、 判定回路 6 1 3 5が第 2の発明の制御回路に対応し、 選択回路 6 1 3 6が第 2の発明の選択回路に対応し、 C P U 6 1 3 7が第 2の演 算回路に対応し、 外部データバス 6 1 4 5が第 2の発明の第 2の伝送路に対応し ている。 先ず、 外部メモリ 6 1 6 0について説明する。 図 1 0 5に示すように、 外部メモリ 6 1 6 0には、 プ CJグラムモジュール P M — 1 , P M— 2 , P M— 3が記憶されている。 本実施形態では、 プログラムモジュール P M_ 1が秘匿性のある場合について 例示する。 秘匿性のあるプログラムモジュール P M— 1は暗号化されて外部メモリ 6 1 6 0に記憶されている。 秘匿性のないプログラムモジュール P M_ 2 , P M— 3は 、 暗号化されていてもよいし、 そうでなくてもよい。 図 1 0 6は、 プログラムモジュール P M— 1の構成を説明するための図である 図 1 0 6に示すように、 プログラムモジュール P M— 1は、 複数の機能モジュ ールから構成される。 図 1 0 6は、 n個の機能モジュール F M— 1〜F M— nか ら構成される場合を示している。 図 1 0 6に示すように、 各機能モジュール F M— 1〜F M— nの先頭には、 I D番号を指定する I D番号指定命令が設定されている。 当該 I D番号指定命令は 、 暗号化されていない。 ここで、 I D番号は、 対応する機能モジュールを識別するための情報であり、 後述するように暗号化復号回路 6 1 3 4で各機能モジュールを復号する際に、 当 該復号に用いる鍵情報を特定するために用いられる。 また、 各機能モジュール F M— 1〜F M— nの末尾には、 I D番号を 「# 0」 に指定する命令 (それ以後の命令が鍵を用いていない、 すなわち暗号化されてい ないことを示す命令) が置かれている。 各機能モジュールは、 図 1 0 7に示すように、 所定のデータ長のブロックデー タを単位として暗号化されており、 ブ口ックデータ 1〜ηにパリティデータ 1〜 ηが付加されている。 暗号化復号回路 6 1 3 4は、 例えば、 外部メモリ 6 1 6 0に書き込むプロダラ ムモジュール P M— 1の図 1 0 6に示す機能モジュールを、 図 1 0 7に示すよう に、 所定のプロックデータを単位として暗号化する。 このとき、 暗号化復号回路 6 1 3 4は、 各機能ブロック図毎に、 任意の鍵情報 を用いて暗号化を行い、 各機能ブロックの先頭に図 1 0 6を用いて前述したよう に各機能モジュールを識別するための I D番号を指定する暗号化されていない ( 平文の) I D番号指定命令 (情報) を設定する。 また、 暗号化復号回路 6 1 3 4は、 各機能モジュールに指定された I D番号 ( 第 2の発明の鍵特定情報) と、 当該機能モジュールの暗号化に用いた鏈情報とを 対応付けて示す図 1 0 8に示す鍵情報テーブル 6 1 9 0を生成し、 これを保持す る。 また、 暗号化復号回路 6 1 3 4は、 当該ブロックデータを暗号化する際に、 図 1 0 7に示すように、 各プロ 'ンクデータについてパリティデータを生成し、 当該 パリティデータを対応するブロックデータと対応付けて外部メモリ 6 1 6 0に記 憶する。 このとき、 暗号化復号回路 6 1 3 4は、 ブロックデータおよびパリティ データの値の総和が所定の値になるように、 パリティデータを生成する。 また、 暗号化復号回路 6 1 3 4は、 外部メモリ 6 1 6 0から入力した機能モジ ユールを、 当該機能モジュールの先頭の I D番号指定命令が指定する I D番号を キーとして、 図 1 0 8に示す鍵情報テーブル 6 1 9 0を参照して鍵情報を得る。 そして、 暗号化復号回路 6 1 3 4は、 当該鍵情報を用いて、 当該機能モジュール を前述したブ πックデータを単位として復号する。 また、 暗号化復号回路 6 1 3 4は、 機能モジュールを復号した後に、 当該機能 モジュールに対応するパリティデータの正当性を判断する。 このとき、 正当であ ると判断された場合には、 当該復号されたデータが C P U 6 1 3 7に出力される 。 一方、 正当でないと判断された場合には、 C P U 6 1 3 7の動作を停止したり 、 所定のエラ一処理が行われる。 なお、 本実施形態において、 ブロックデータのデータ長と、 機能モジュールの データ長とは同じでも、 異なっていてもよい。 判定回路 6 1 3 5は、 C P U 6 1 3 7が秘匿性のあるプログラムモジュール P M— 1にアクセス (例えば、 フ ツチ) している間は、 無効ノ非接続を指示する 判定結果信号 S 6 1 3 5を生成し、 これを選択 HI路 6 1 3 6に出力する。 また、 判定回路 6 1 3 5は、 C P U 6 1 3 7が秘匿性のあるプログラムモジュ ール PM— 1にアクセス (例えば、 フヱツチ) していない間は、 有効ノ接続を指 示する判定結果信号 S 6 1 3 5を生成し、 これを選択回路 6 1 3 6に出力する。 判定回路 6 1 3 5は、 ァドレスバス 6 1 4 1および信号線 6 1 4 2に流れる C P U 6 1 3 7が出力したア ドレスおよび命令を監視し、 それに基づいて、 C P U 6 1 3 7がプログラムモジュール PM_ 1にアクセスしているか否かを判断する 選択回路 6 1 3 6は、 判定回路 6 1 3 5からの判定結果信号 S 6 1 3 5が無効 /非接続を示す場合には、 デバッガ 6 1 6 1から入力した HAL T信号 S 6 1 6 1 a (第 2の発明の動作停止要求) を無効にして C P U 6 1 3 7には出力しない 。 ここで、 HAL T信号 S 6 1 6 1 aは、 C P U 6 1 3 7の動作を一時的に停止 することを指示する信号である。 選択回路 6 1 3 6は、 判定回路 6 1 3 5からの判定結果信号 S 6 1 3 5が無効 /非接続を示す場合には、 デバッガ 6 1 6 1から入力した C P U内部状態読み出 し要求信号 S 6 1 6 1 bおよび C P U内部状態書き換え要求信号 S 6 1 6 1 cを 無効にして C P U 6 1 3 7には出力しない。 ここで、 C P U内部状態読み出し要求信号 S 6 1 6 1 bは、 C P U 6 1 3 7の 内部状態を示す情報を要求する信号である。 C P U内部状態書き換え要求信号 S 6 1 6 1 cは、 C P U 6 1 3 7の内部状態 を示す情報の書き換えを要求する信号である。 一方、 選択回路 6 1 3 6は、 判定回路 6 1 3 5からの判定結果信号 S 6 1 3 5 が有効ノ接続を示す場合には、 デバッガ 6 1 6 1から入力した HALT信号 S 6 1 6 1 aを C P U 6 1 3 7には出力する。 選択 HI路 6 1 3 6は、 判定回路 6 1 3 5からの判定結果信号 S 6 1 3 5が有効 /接続を示す場合には、 デバッガ 6 1 6 1から入力した C P U内部状態読み出し 要求信号 S 6 1 6 1 bおよび C P U内部状態書き換え要求信号 S 6 1 6 1 cを C P U 6 1 3 7に出力する。 また、 選択回路 6 1 3 6は、 C P U内部状態読み出し 要求信号 S 6 1 6 1 bに応じて C P U 6 1 3 7から入力した C P U内部状態信号 S 6 1 3 7 dをデバッガ 6 1 6 1に出力する。 C P U 6 1 3 7は、 アドレスバス 6 1 4 1に外部メモリ 6 1 6 0のアドレス、 並びに信号線 6 1 4 2に実行中の命令の種類を示す命令種類指示信号 S 6 1 3 7 aを出力し、 それに応じて、 外部データバス 6 1 4 4および暗号化復号回路 6 1 3 4を介して外部メモリ 6 1 6 0から読み出したプログラムモジュール PM—1 , PM— 2, P M— 3の命令およびデータを用いて処理を行う。 C P U 6 1.3 7は、 選択回路 6 1 3 6を介してデバッガ 6 1 6 1から H A L T 信号 S 6 1 6 1 aを入力すると、 C P U 6 1 3 7の動作を停止する。 また、 C P U 6 1 3 7は、 選択回路 6 1 3 6を介してデバッガ 6 1 6 1から C P U内部状態読み出し要求信号 S 6 1 6 1 bを入力すると、 当該信号 S 6 1 6 1 bによって指定された C P U 6 1 3 7内の内部状態を示す情報を舍む内部状態信 号 S 6 1 3 7 dを選択画路 6 1 3 6を介してデバッガ 6 1 6 1に出力する。 また、 C P U 6 1 3 7は、 選択 HI路 6 1 3 6を介してデバッガ 6 1 6 1から C P U内部状態書き換え要求信号 S 6 1 6 1 cを入力すると、 C P U6 1 3 7の内 部状態を示す情報を、 信号 S 6 1 6 1 cによって指定された内容で書き換える。 これによつて、 C P U 6 1 3 7の動作がデバッガ 6 1 6 1によつて制御される。 デバッガ 6 1 6 1は、 デバッグの目的に応じた HALT信号 S 6 1 6 1 aを用 いて C P U 6 1 3 7の動作を制御し、 C P U 6 1 3 7の動作を内部状態読み出し 要求信号 S 6 1 6 1 bおよび内部状態信号 S 6 1 3 7 dを用いて監視し、 C P U 内部状態書き換え要求信号 S 6 1 6 1 cによって C P U 6 1 3 7をカスタマイズ する。 以下、 図 1 0 5に示す半導体チップ 6 1 3 1の動作例を説明する。 〔第 1の動作例〕 当該動作例では、 C P U 6 1 3 7が外部メモリ 6 1 6 0に、 プログラムモジュ ール PM— 1のデータを書き込む場合を説明する。 C P U 6 1 3 7が書き込みデータを、 C P Uデータバス 6 1 4 0を介して暗号 化復号回路 6 1 3 4に出力する。 そして、 暗号化復号画路 6 1 3 4において、 当該書き込みデータ力 前述した ように、 各機能モジュールに対応した鍵情報を用いて、 ブロックデータ単位で暗 号化され、 外部データバス 6 1 4 4を介して外部メモリ 6 1 6 0に書き込まれる また、 当該暗号化に用いた鍵情報に関する情報が、 図 1 0 8に示す鍵情報テー ブル 6 1 9 0に追加される。 このとき、 判定回路 6 1 3 5は、 無効/非接続を示す判定結果信号 S 6 1 3 5 を選択回路 6 1 3 6に出力しており、 選択回路 6 1 3 6から発行された HAL T 信号 S 6 1 6 1 a、 C P U内部状態読み出し要求信号 S 6 1 6 1 bおよび C P U 内部状態書き換え要求信号 S 6 1 6 1 cは C P U 6 1 3 7には出力されない。 また、 外部データバス 6 1 4 4上では、 書き込みデータは暗号化されているた め、 外部データバス 6 1 4 4が不正にスロープされても、 プログラムモジュール P M一 1の秘匿性は失われない。 〔第 2の動作例〕 当該動作例では、 C P U 6 1 3 7が外部メモリ 6 1 6 0からプログラムモジュ —ル PM—1の命令またはデータを読み出す場合を説明する。 C P U 6 1 3 7が発行したリード命令によって、 外部メモリ 6 1 6 0の指定さ れたアドレスから、 プログラムモジ'ユール PM—1の命令またはデータ力 外部 データバス 6 1 4 4を介して暗号化復号回路 6 1 3 4に出力される。 そして、 暗号化復号回路 6 1 3 4において、 入力したデータの各機能モジユー ルの先頭に設定された I D番号指定命令が示す I D番号を基に、 図 1 0 8に示す 鍵情報テーブル 6 1 9 0が参照され、 当該 I D番号に対応した鍵情報が得られる そして、 暗号化復号回路 6 1 3 4において、 外部メモリ 6 1 6 0から読み出し た命令またはデータを、 当該鍵情報を用いて、 ブロックデータ単位で復号し、 そ の後パリティ処理を行う。 そして、 パリティ処理を経たデータまたは命令が、 C P Uデータバス 6 1 4 0 を介して C P U 6 1 3 7に出力される。 このとき、 判定回路 6 1 3 5は、 無効/非接続を示す判定結果信号 S 6 1 3 5 を選択面路 6 1 3 6に出力しており、 選択回路 6 1 3 6から発行された HA L T 信号 S 6 1 6 1 a . C P U内部状態読み出し要求信号 S 6 1 6 1 bおよび C P U 内部状態書き換え要求信号 S 6 1 6 1 cは C P U 6 1 3 7には出力されない。 また、 外部データバス 6 1 4 4上では、 書き込みデータは暗号化されているた め、 外部データバス 6 1 4 4が不正にスロープされても、 プログラムモジュール P M— 1 の秘匿性は失われない。 以上説明したように、 半導体チップ 6 1 3 1によれば、 秘匿性のあるプログラ ムモジュール P M一 1を半導体チップ 6 1 3 1 の外部の外部メモリ 6 1 6 0に記 憶した場合でも、 プログラムモジユール P M„ 1の秘匿性を保持できる。 すなわち、 外部メモリ 6 1 6 0に記憶された秘匿性のあるプログラムモジユー ル P M— 1に C P U 6 1 3 7がアクセスを行っているときは、 選択画路 6 1 3 6 によって、 デバッガ 6 1 6 1が C P U 6 1 3 7と通信を行うことを禁止するため 、 C P U 6 1 3 7が実行するプログラムモジユール P M一 1 の処理がデバッガ 6 1 6 1によって不正に監視されることを防止できる。 また、 外部メモリ 6 1 6 0から読み出したデータおよび命令を復号後に、 パリ ティ処理を行うことから、 不適切な鍵情報を用いて復号が行われたり、 データお よび命令が破壊あるいは改竄されている場合には、 そのことをパリティ処理で検 出し、 適切に対処できる。 本発明は上述した実施形態には限定されない。 例えば、 上述した実施形態では、 図 1 0 8に示す鍵情報テーブル 6 1 9 0、 す なわち鍵情報を判定回路 6 1 3 5が保持する場合を例示したが、 鍵情報テーブル 6 1 9 0を暗号化して外部メモリ 6 1 6 0に記憶してもよい。 第 9実施形態 本実施形態は、 第 2 2〜第 2 4の発明に対応した実施形態である。 以下、 本発明の実施の形態を添付図面を参照して説明する。 図 1 0 9は、 本実施形態の通信システム 7 0 1の全体構成図である。 図 1 0 9に示すように、 通信システム 7 0 1は、 サーバ装置 702、 I C力一 ド 7 0 3、 カードリーダ · ライタ 7 0 4、 パーソナルコ ンピュータ 7 0 5、 AS P (Application Service Provider)サーノヾ装置 7 1 9、 SAM (Secure Applicat ion Module) ユニッ ト 7 0 9を用いて、 ィ ンターネッ ト 7 1 0を介して通信を行 つて I Cカード 70 3 (本発明の集積回路) を用いた決済処理などの手続き処理 τつ。 SAMユニッ ト 7 0 9 (本発明のデータ処理装置) は、 外部メモリ 7 0 7 (本 発明の記憶回路) および SAMチップ 7 0 8 (本発明の半導体回路) を有する。 SAMチップ 7 0 8は、 必要に応じて、 他の SAMチップ 7 0 8 a (本発明の 他の半導体回路) とデータの授受を行う。 SAMチップ 70 8 aは、 例えば、 図 1 1 0に示すように S AMチップ 7 0 8とは異なる他の AS Pサーバ装置 7 1 9 aに接続されていたり、 あるいは、 図 1 1 1に示すように、 SAMチップ 70 8 と同じ A S Pサーバ装置 7 1 9に接続されている。 S AMチップ 7 0 8 aの構成は、 基本的に S AMチ 'ンプ 7 0 8と同じである。 以下、 図 1 0 9に示す構成要素について説明する。 〔 I Cカード 7 0 3〕 図 1 1 2は、 I Cカード 7 0 3の機能ブロック図である。 図 1 1 2に示すように、 I Cカード 7 0 3は、 メモリ 75 0および C P U 7 5 1を備えた I C (Integrated Circuit) 7 0 3 aを有する。 メモリ 7 5 0は、 図 1 1 3に示すように、 クレジッ トカ一ド会社などのサ一ビ ス事業者 7 1 5—1が使用する記憶領域 7 5 5— 1、 サービス事業者 7 1 5— 2 が使用する記憶領域 7 5 5— 2、 並びにサービス事業者 7 1 5— 3が使用する記 憶領域 7 5 5— 3を有する。 また、 メモリ 7 5 0.は、 記憶領域 7 55— 1へのアクセス権跟を判断するため に用いられる鍵データ、 記憶領域 7 5 5— 2へのアクセス権限を判断するために 用いられる鍵データ、 並びに記憶領域 75 5— 3へのアクセス権限を判断するた めに用いられる鍵データを記憶している。 当該鍵データは、 相互認証や、 データ の暗号化および復号などに用いられる。 また、 メモリ 7 5 0は、 I Cカード 7 0 3あるいは I Cカード 70 3のユーザ の識別データを記憶している。 以下、 S AMュニッ ト 7 0 9について詳細に説明する。 S AMュニッ ト 7 0 9は、 前逮したように、 外部メモリ 7 0 7 (本発明の記憶 回路) と SAMチップ 7 0 8 (本発明の半導体回路) とを有する。 〔 SAMチップ 7 0 8のソフ トゥヱァ構成〕 SAMチップ 7 0 8は、 図 1 1 4に示すようなソフ トウエア構成を有している 図 1 1 4に示すように、 SAMチップ 7 0 8は、 下層から上層に向けて、 HW (Hardware)層、 O S層、 下位ハンドラ層、 上位ハンドラ層および A P層を順に有 している。 下位ハンドラ層には、 ドラィバ層が舍まれる。 ここで、 AP層では、 図 1 0 9に示すクレジッ トカ一ド会社などのサービス事 業者 7 1 5— 1 , 7 1 5— 2, 7 1 5— 3による I Cカード 7 0 3を用いた手続 きを規定したアプリケーショ ンプログラム A P—1 , AP— 2, AP— 3 (本発 明のアプリケーショ ンプログラム) が、 外部メモリ Ί 0 7から読み出されて動作 している。 AP層では、 アプリケーショ ンプログラム A P—1 , AP— 2 , AP— 3相互 間、 並びに上位ハンドラ層との間にフアイァウォール FWが設けられている。 〔外部メモリ 7 0 7〕 図 1 1 5は、 外部メモリ 7 0 7の記憶領域を説明するための図である。 図 1 1 5に示すように、 外部メモリ 7 0 7の記憶領域には、 サービス事業者 7 1 5 _ 1のアプリケーショ ンプログラム AP— 1が記憶される AP記憶領域 7 2 2 0_1、 サービス事業者 7 1 5— 2のアプリケーショ ンプログラム A P_ 2が 記憶される AP記憶領域 7 2 2 0 _2、 サービス事業者 7 1 5— 3のアプリケー シヨ ンプログラム A P— 3が記憶される A P記憶領域 7 2 2 0— 3、 並びに S A Mチップ 7 0 8の管理者が使用する AP管理用記憶領域 7 2 2 1がある。 A P記憶領域 7 2 2 0— 1に記憶されているアプリケーショ ンプログラム A P — 1は、 後述する複数のアプリケーショ ンエレメ ン トデータ AP E (本発明のデ ータモジュール) によって構成されている。 AP記憶領域 7 2 2 0—1へのァク セスは、 フアイァウォール F W— 1によって制限されている。 A P記憶領域 7 2 2 0— 2に記憶されているアプリケ一ショ ンプログラム A P —2は、 複数のアプリケーショ ンェレメ ン トデータ AP Eによって構成されてい る。 A P記憶領域 7 2 2 0— 2へのアクセスは、 ファイアウォール FW— 2によ つて制限されている。 A P記憶領域 7 2 2 0— 3に記憶されているアプリケーショ ンプログラム A P 一 3は、 複数のアプリケーショ ンェレメ ン トデータ AP Eによって構成されてい る。 AP記憶領域 7 2 2 0— 3へのアクセスは、 ファイアウォール FW— 3によ つて制限されている。 本実施形態では、 上記ァプリケーシヨ ンエレメ ン トデータ A P Eは、 例えば、 SAMユニッ ト 7 0 9の外部から外部メモリ 7 0 7にダウンロードされる最小単 位である。 各アプリケーショ ンプロダラムを構成するアプリケーショ ンェレメ ン トデータ AP Eの数は、 対応するサービス事業者が任意に決定できる。 また、 外部メモリ 7 0 7に記憶されたアプリケーショ ンプログラム AP— 1 , AP— 2 , A P— 3は、 スクランブルされており、 S AMチップ 7 0 8に読み込 まれたときに、 デスクランブルされる。 また、 アプリケーショ ンプログラム A P— 1 , A P— 2 , A P— 3は、 例えば 、 それぞれ図 1 0 9に示すパーソナルコ ンピュータ 7 1 6— 1 , 7 1 6— 2 , 7 1 6— 3を用いて、 サービス事業者 7 1 5— 1 , 7 1 5— 2 , 7 1 5— 3によつ て作成され、 S AMチップ 7 0 8を介して外部メモリ 7 0 7にダウンロードされ る。 以下、 アプリケーショ ンプログラム AP— 1 , A P_2 , A P— 3について詳 細に説明する。 アプリケーショ ンプログラムは、 サ一ビス事業者毎に、 S AM内に単数または 複数個存在する。 アプリケーショ ンプログラム AP— 1 , A P— 2 , AP— 3 (以下、 APとも 記す) は、 図 1 1 6に示すように、 アプリケーショ ンプログラム APを識別する ための識別データ AP— I Dと、 当該アプリケーショ ンプログラムに舍まれるァ プリケーショ ンエレメ ントデータ A P Eの数を示すデータ A P E— N UMと、 単 数または複数のアプリケーショ ンエレメントデータ A P Eとによって構成される 識別データ A P— I Dは、 サービス事業者毎に異なるように決められている。 図 1 1 6に示すように、 アプリケ一ションエレメ ントデータ AP Eは、 当該ァ プリケ一ショ ンエレメ ントデータ A P Eのデータサイズを示すデータ A P E— S I Z Eと、 当該アプリケーショ ンエレメ ントデータ AP Eを識別するための識別 データ AP E— I Dと、 データ本体 AP E— P Lとで構成される。 ここで、 識別データ AP E— I Dは、 アプリケーショ ンェレメ ントデータ AP Eの種別を示すデータ AP E— TYP Eと、 当該種別内でのアプリケーショ ンェ レメ ントデータ AP Eの識別番号 (ィ ンスタンス識別番号) を示すデータ I NS _NUMとで構成される。 データ I NS—NUMは、 エンドユーザ (サービス事 業者) 側で管理される。 例えば、 アプリケ一シヨ ンエレメントデータ AP Eがファィルシステムコンフ ィグレ一ショ ンの場合には、 データ A P E— T Y P Eが 「 2」 となり、 データ I NS— NUMが 「 1」 となる。 これにより、 同一の SAMであれば、 識別データ AP E__ I Dにより一意にアプリケーショ ンエレメ ントデータ APEを特定でき る。 図 1 1 5に示す外部メモリ 7 0 7には、 上述したアプリケーションプログラム AP (AP— 1 , AP— 2, AP— 3 ) 力 SAMユニッ ト 7 0 9外で暗号化鍵 データ K— A Pによって暗号化されて、 アプリケーショ ンプログラム 'パッケ一 ジ AP Pとして記憶されている。 暗号化鍵データ K— A Pとしては、 アプリケ一ショ ンプログラム毎で異なる暗 号化鍵データが用いられる。 以下、 図 1 1 6を用いて説明したアプリケーショ ンエレメ ントデータ AP Eの 種類について説明する。 図 1 1 7は、 1つの A P領域内に記憶されたアプリケ一ショ ンエレメ ントデ一 タ AP Eの一例を示す図である。 図 1 1 7に示すように、 A P領域内には、 カードアクセス鍵データ、 ファイル システムコンフィグレーショ ンデータ、 S AM相互認証用鍵データ、 SAM間鍵 パッケージ鍵データ、 I C力一ド操作用マク口コマンドスクリプトプログラム ( 本発明の処理手順データ) 、 メモリ分割用鏈パッケージ、 エリア登録鏈パッケー ジ、 エリア削除用鍵パッケージ、 サービス登録用鍵パッケージ、 サービス削除用 鏈ハ'ッケージ、 A Pリソース鍵データ K— A P Eが、 アプリケーショ ンエレメ ン トデータ AP Eとして記憶されている。 以下、 図 1 1 7に示す各アプリケ一ショ ンエレメ ントデータ A P Eについて説 明する。 • 力一ドアクセス鍵データ カードアクセス鍵データは、 I Cカード 7 0 3のメモリ 7 5 0に対してのデ ータの読み書き操作に用いられる鍵データである。 また、 後述する I Cカード操 作用マクロコマンドスクリプトプログラムで参照される鍵データも、 カードァク セス鍵データと同じ種別のアプリケ一ショ ンエレメ ントデータ A P Eに舍まれる ' ファイルシステムコ ンフィグレーショ ンデータ ファイルシステムコンフィグレーショ ンデータとしては、 例えば、 ログデー タ、 ネガデータ、 ジャーナルデータがある。 πグデータは例えばアプリケーショ ンエレメ ン トデータ A P Eの利用履歴デ ータであり、 ネガデータは例えば I Cカードの失効情報であり、 ジャーナルデ一 タは例えば S A Mでの実行履歴である。 例えば、 ファイルシステムコ ンフィグレーショ ンでは、 ファイルアクセスの種 別 (レコードキー指定 ' ソート · リ ング) の選択を行い、 レコードキーの場合で あれば、 レコードサイズ、 レコード全体件数 ' レコ一ド署名バージョ ン ' レコ一 ド署名メ ソッ ドタイプ、 レコードデータサイズ、 レコード署名鍵を設定する。 さ らに、 外部から本フアイルシステムにデータを書き込む際に署名検証を実施する かの有無の指定などを行う。 ここでレコードとは、 ファイルデータへの書き込み ノ読み出しの最小単位である。 • S A M相互認証用鍵データ 同一 S A M内にある A P間相互認証にも使用される。 S A M相互認証用鍵データとは、 対応するアプリケーショ ンエレメ ントデータ A P Eを同一 S A M内の他の A Pまたは他の S A Mからアクセスする際に用いら れる鍵データである。 • S A M間鍵パッケージ鍵 S A M間鍵パ.ンケージ鍵とは、 S A M間での相互認証後、 カードアクセス鍵デ ータなどのデータを交換する際に用いられる暗号化用鍵データである。 ' I Cカード操作用マクロコマンドスク リプトプログラム I C力一ド操作用マク口コマンドスク リプトプログラムは、 サービス事業者自 身によって生成され、 I Cカード 7 0 3に係わる処理の順番や A S Pサーバ装置 7 1 9とのやり取りを記述している。 I Cカード操作用マクロコマンドスクリブ トプログラムは、 S A Mユニッ ト 7 0 9に設定された後に、 S A Mチップ 7 0 8 内で解釈され、 対応する I Cカードェンティティデータが生成される。 • メモリ分割用鍵パッケージ メモリ分割用鍵パッケージは、 サービス事業者が I Cカード 7 0 3を用いたサ —ビスの運用開始前に、 外部メモリ 7 0 7や I Cカード 7 0 3のメモリの記憶領 域を分割するために使用するデータである。 ' ェリァ登録鍵パッケージ エリア登録鍵パッケージは、 サービス事業者が I Cカード 7 0 3を用いたサ一 ビスの運用開始前に、 I Cカード 7 0 3のメモリの記憶領域にエリア登録を行う 場合に使用するデータである。 •エリア削除用鍵パッケージ (内部生成) エリァ削除用鍵パッケージは、 カードアクセス鍵データから S A M内部で自動 生成が可能なパッケージである。 , サービス登録用鍵 (内部生成) サービス登録用鍵パッケージは、 サービス事業者が I cカード 7 0 3を用いた サービスの運用開始前に、 外部メモリ 7 0 7のアプリケーショ ンエレメ ン トデ一 タ A P Eを登録するために用いられる。 サービス登録用鍵パッケージは、 カードアクセス鍵データから S A M内部で自 動生成が可能なパッケージである。 • サービス削除用鍵パッケージ (内部生成) サービス削除用鍵パッケージは、 外部メモリ ·7 0 7に登録されているアプリケ —シヨ ンエレメ ン トデータ ΑΡ Εを削除するために用いられる。 サービス削除用鍵パッケージは、 力一ドアクセス鍵データから S A Μ内部で自 動生成が可能なパッケージである。 •鍵データ K_A P E 鍵データ K— AP Eは、 アプリケーショ ンエレメ ントデータ AP Eを設定する 際の暗号用鍵として使用され、 A P領域毎に、 アプリケーショ ンエレメ ン トデー タ AP Eを設定するために異なる鍵データ K„AP Eが割り当てられている。 以下、 上述した I Cカード操作用マクロコマンドスクリプトプログラム (以下 、 スクリプトプログラムとも記す) について詳細に説明する。 スクリプトプログラムは、 SAMチップ 7 0 8上で動作するサービス事業者 7 1 5— 1 , 7 1 5— 2, 7 1 5— 3のアプリケーショ ンプログラム AP— 1 , A P_2> AP— 3、 並びに当該アプリケーショ ンプログラムの実行時に I Cカー ド 7 0 3が行う処理の手続きを規定するためのプログラムである。 本実施形態では、 後述するように、 図 1 1 8に示すように、 SAMチップ 7 0 8内で、 スクリプトダウンロードタスク 7 6 9およびスクリプト解釈タスク 7 7 0に基づいて処理を行い、 A P管理テーブルデータおよびスクリブトプログラム から、 サービス事業者 7 1 5— 1 , 7 1 5_2, 7 1 5— 3に関する手続きに用 いられる I Cカードエンティティテンプレートデータ 7 3 0— 1、 入力用データ ブロック 7 3 1— X 1、 出力用データブロック 7 3 2— X 2、 ログ用デ一タブ口 ック 7 3 3— X 3および演算定義用デ一タブ口ック 7 3 4— X 4を生成する。 図 1 1 9は、 I Cカード操作用マクロコマンドスクリプトプログラムの記述に 用いられるコマンドを説明するための図である。 当該コマンドは、 SAMチップ 7 0 8自身に対してのコマンドは、 第 1文字が 「S」 となり、 I Cカード 7 0 3の操作に係わるコマンドは第 1文字が 「 C」 と なっている。 また、 第 2文字は、 用途により使い分けられ、 例えば、 I Cカード 7 0 3の発 行元設定宣言は 「 I 」 、 利用するアプリケーシヨ ンエレメ ントデータ A P Eの宣 言 (サービスタイプエレメ ント宣言) は 「S」、 I Cカード 7 0 3からの単純読 み込み宣言は 「R」、 I Cカード 7 0 3への単純書き込み宣言は 「W」 、 アプリ ケーショ ンェレメ ントデータ A P E間演算定義は 「 F」 になっている。 スクリプトプログラム 7 2 1— 1 > 7 2 1— 2 , 7 2 1—3の記述に用いられ るコマン ドには、 S Cコマンド、 S Oコマン ド、 S I コマンド、 S Lコマンド、 S Fコマンド、 C I コマン ド、 C Sコマンド、 C Rコマン ド、 C Wコマンドがぁ る。 S Cコマンドは、 S A Mチップ 7 0 8が同時に処理することができる最大数の I Cカードエンティティデータの数を宣言するコマンドである。 例えば、 S A Mチップ 7 0 8が 1 0 0 0個の I C力一ドエンティティデータを 同時に処理可能な場合には、 「S C : 1 0 0 0」 と記述される。 S〇コマンドは、 後述する I Cカードエンティティデータに基づいて I C力一 7 0 3を用いた処理を行う際に、 S A Mチップ 7 0 8内で用意されたデータブ ロックのうち、 I Cカード 7 0 3から読み取ったデータが格納される出力用デー タブロック 7 3 2— X 2となるデ一タブ口ックを宣言するコマンドである。 例えば、 デ一タブロック 1〜1 0が用意されている場合に、 I Cカード 7 0 3 から読み取ったデータをデータブ ック 1に格納する場合には、 「S O : 1」 と 記述される。 S Iコマンドは、 後述する I Cカードエンティティデータに基づいて I Cカー ド 7 0 3を用いた処理を行う際に、 S A Mチップ 7 0 8内で用意されたデ一タブ ロックのうち、 I Cカード 7 0 3に書き込むデータが格納される入力用データブ ロック 7 3 1— X 1 となるデータプロ 'ンクを宣言するコマンドである。 例えば、 データブロック 1〜1 0が用意されている場合に、 I Cカード 7 0 3 に書き込むデータをデータブロック 2 , 3に格納する場合には、 「S I : 2, 3 」 と記述される。 S Lコマンドは、 後述する I Cカードエンティティデータに基づいて I Cカー ド 7 03を用いた処理を行う際に、 SAMチップ 70 8内で用意されたデ一タブ ロ ックのうち、 操作に係わる口グデータを格納する口グ用データブロック 7 3 3 — X 3となるデ一タブ口 'ンクを宣言するコマンドである。 例えば、 データブロック 1〜 1 0が用意されている場合に、 ログデータをデ一 タブロック 4に格納する場合には、 「S L : 4」 と記述される。 S Fコマンドは、 I Cカード 70 3に係わる相互のァプリケーシヨ ンエレメ ン トデータ AP E間の関係を定義を記述する演算定義用データブロック 7 3 4_x 4となるデータプロックを用意するためのコマンドである。 演算定義用データブロック Ί 3 4— X 4の内容は、 I Cカードエンティティデ —タの処理前データとなる。 C Iコマンドは、 I Cカード 70 3の発行元 (サービス事業者) を宣言するた めのコマンドである。 C Iコマンドで定義されたサービス事業者を特定するデータは、 I Cカードエ ンティティデータの I Cカード種別データとなる。 C Sコマンドは、 アプリケーショ ンエレメ ン トデータ A P E (サービスタイプ エレメ ン ト) の名前 AP E— Nを引用して、 I Cカード 7 0 3への複数のサ一ビ スの同時操作を行うことを宣言する.コマンドである。 C Sコマンドでは、 名前 A P E— Nによって指定されたアプリケ一ショ ンエレメ ントデータ AP E間の演算 を規定する関数を宣言できる。 例えば、 「 C S : " R c " +" W c " +" W d " 」 などの宣言を行える。C Sコマンドの内容に基づいて、 I Cカードエンティティデータの A P E— N 指定データ、 並びに処理順番データが決定される。 CRコマンドは、 アプリケ一ショ ンエレメ ントデータ A P E間の関係の定義が 行われていない場合 ( S Fコマンドが記述されていない場合) に、 I Cカード 7 0 3から読み出したデータを指定したデータブロックに格納することを宣言する 例えば、 I Cカード 7 0 3から読み出したデータをデータブロック 1に格納す る場合には 「 C R : S 0 : 1 =" R c " 」 と記述する。 C Wコマンドは、 アプリケーショ ンエレメ ントデータ A P E間の関係の定義が 行われていない場合に、 指定したデータブロックに格納したデータを I Cカード 7 0 3に書き込むことを宣言する。 例えば、 データプロック 2に格納されたデータを I Cカード 7 0 3に書き込む 場合には 「 C W : S I : 2 = " W c " 」 と記述する。 C Fコマンドは、 サ一ビスを跨がった演算内容を記述するデータプロックを宣 する。 例えば、 サービスを跨がった演算内容を S Fデ一タブ口ック 1に記述する場合 には、 C F : C E S_F UN C = S F : 1」 とする。 そして、 S Fデータブロック 1内に、 例えば、 「 "Wc " = 1 f ( "W c " > 1 0 ) t e n ( "W c " - 1 0 ; "W d " = "W c " * 0. 0 8 + "W d " ) J と記述する。 本式は、 サービス W cの残数が 1 0よりも大きいときに Wcの値 を 1 0減算し、 W cの 8 %に相当するボイ ント数として蓄積ボイ ントとして Wd に加算する操作を表現している。 以下、 図 1 1 5に示す外部メモリ 7 0 7の A P管理用記憶領域 7 2 2 1に記憶 されたデータについて説明する。 A P管理用記憶領域 7 2 2 1へのアクセスは、 ファイアウォール FW— 4によ つて制限されている。 なお、 ファイアウォール FW— 4は、 図 1 1 4に示すファイアウォール FWに 対応している。 図 1 2 0は、 AP管理用記憶領域 7 2 2 1に記憶されているデータの詳細を説 明するための図である。 A P管理用記憶領域 7 2 2 1には、 図 1 2 0に示すように、 A P管理用テープ ルデータ 7 3 0 0— 1 , 7 3 0 0 _ 2 , 7 3 0 0 _3 (本発明の管理データ) と 、 AP Pテーブルデータ 7 3 1 0— 1 , 7 3 1 0— 2, 7 3 1 0— 3 (本発明の 利用許諾データ) とが記憶されている。 ここで、 A P管理用テーブルデータ 73 0 0—1 , 7 3 0 0— 2, 73 0 0— 3と、 AP Pテーブルデータ 7 3 1 0— 1 , 7 3 1 0— 2, 7 3 1 0 __3は、 例 えば、 S AMチップ 7 0 8のセッ トアップ時に予め登録されている。 また、 AP 管理用テーブルデータ 7 3 0 0— 1 , 73 0 0— 2, 7 3 0 0_3と、 AP Pテ —ブルデータ 7 3 1 0— 1 , 7 3 1 0— 2, 7 3 1 0—の書き換えは、 SAMチ ップ 7 0 8の管理者のみが行える。 AP管理用テーブルデータ 7300—1 , 7 3 0 0— 2, 7 300— 3は、 ァ プリケーショ ンプログラム A P毎に規定されている。 また、 AP Pテーブルデータ 7 3 1 0— 1 , 7 3 1 0— 2, 7 3 1 0— 3は、 SAM相互認証鍵データ毎に規定されている。 図 1 2 1は、 A P管理用テーブルデータ 7 3 0 0 _ 1を説明するための図であ る。 A P管理用テーブルデータ 73 0 0— 2, 7 3 0 0_3も、 A P管理用テ一 ブルデータ 7 3 0 0—1と同じフォーマ'ン トを有している。 図 1 2 1に示すように、 I Cカード操作用マク口コマンドスクリプトプロダラ ム内で用いられる参照されるアプリケ一ショ ンエレメ ントデータ AP Eの名前 A P E— Nのそれぞれについて、 識別データ AP E— I D、 内部ノ外部指定データ I E I、 識別データ SAM— I D、 識別データ AP— I D、 鍵データ K— CAR DA (本発明の第 2の鏈データ) 、 鍵データ K_SAM (本発明の第 1の鍵デ一 タ) 、 データ S E T— AP P、 データ F L AG— 'I Pおよびデータ F L AG_S T Rを対応付けて示している。 アプリケーショ ンエレメ ントデータ AP Eの名前 AP E— Nは、 サービス事業 者 7 1 5— 1 , 7 1 5 _2 , 7 1 5_3のアプリケーショ ンプログラムによって 提供されるサービス (アプリケーショ ンエレメ ン トデータ AP E) に付けられた 名前である。 名前 AP E— Nは、 各サービス事業者のアプリケーショ ンプロダラ ムが使用できるサービスのサービス番号の替わりに参照される識別子である。 ここで、 識別データ AP E— I Dは、 アプリケーショ ンエレメ ントデータ AP Eの識別データである。 内部/外部指定データ I E Iは、 AP Eが実体として存在するのか (内部指定 ) 、 あるいは他の SAMから参照するのか (外部指定) を区別するフラグである 識別データ SAM— I Dは、 SAMチップ 7 0 8が当該アプリケ一ショ ンエレ メ ントデータ A P Eに係わる処理を行う際にデータ授受を行う相手側の SAMの 識別データである。 図 1 22は、 S AM— I Dを説明するための図である。 SAM— I Dは、 4バイ トのデータであり、 T C PZ I Pに類似したネッ トマ スクの概念を有している。 ネッ トマスクはビッ ト単位での設定が可能である。 例えば、 当該ネッ トマスクは、 図 1 2 2に示すように、 Aクラス、 Bクラスお よび Cクラスの 3種類に分類される。 そして、 同一のネ 'ン トマスクが割り当てら れた SAM相互間では、 相互認証に使用する鍵データは 1種類でよい。 本実施形 態では、 例えば、 同一のサービス事業者に同一のネッ トマスクが割り当てられる 図 1 2 2において、 Aクラスのネッ トマスクは、 「 25 5. XX, XX. XX 」 で示され、 上位 1バイ トに当該クラスを特定するための所定の値が割り当てら れ、 下位 3バイ トに、 当該クラスに属する個々の SAMを特定するための値が割 り当てられる。 ここで、 「XX」 には任意の値を設定できる。 すなわち、 Aクラ スのネッ トマスクによって、 当該 Aクラスに属する 1 677 7 2 1 5個の SAM 一 I Dを規定できる。 また、 Bクラスのネッ トマスクは、 「 2 5 5. 2 5 5. XX. XX」 で示され 、 上位 2バイ トに当該クラスを特定するための所定の値が割り当てられ、 下位 2 バイ トに、 当該クラスに属する個々の SAMを特定するための値が割り当てられ る。 すなわち、 Bクラスのネ 'ン トマスクによって、 当該 Bクラスに属する 6 55 3 5個の SAM— I Dを規定できる。 また、 Cクラスのネッ トマスクは、 「 2 5 5. 2 5 5. 2 5 5. XX」 で示さ れ、 上位 3バイ トに当該クラスを特定するための所定の値が割り当てられ、 下位 1バイ トに、 当該クラスに属する個々の S AMを特定するための値が割り当てら れる。 すなわち、 Cクラスのネッ トマスクによって、 当該 Cクラスに属する 2 5 5個の SAM— I Dを規定できる。 識別データ A P— I Dは、 SAMチップ 7 0 8が当該アプリケーショ ンエレメ ントデータ A P Eに係わる処理を行う際にデータ授受を行う相手側の S A Mで実 行されるアプリケーションプログラムの識別データである。 鍵データ K— C AR D Aは、 S AMチップ 7 0 8が当該アプリケ一シヨンエレ メ ントデータ A P Eに係わる処理を行う際に I Cカード 7 0 3のメモリ 75 0と データ授受を行うために用いられる鍵データである。 鍵データ K— SAMは、 SAMチップ 7 0 8が当該アプリケーショ ンエレメ ン トデータ A P Eに係わる処理を行う際に、 他の S AMとデータ授受を行うために 用いられる鏈データである。 データ SET— AP Pは、 SAMチップ 7 0 8が当該アプリケ一ショ ンエレメ ントデータ AP Eに係わる処理を行う際に用いられる (参照される) AP Pテー ブルデータ 73 1 0— 1 , 73 1 0 _2 , 73 1 0 _ 3を特定するためのデータ である。 データ F LAG一 I Pは、 SAMチップ 7 0 8が管理 (保持) するデータを他 の SAIV [チップ 7 0 8などに公開するか否かを示すフラグデータである。 データ F L AG— STRは、 SAMチップ 7 0 8が管理 (保持) するデータを 他の S A Mチップ 7 0 8などが保持することを許可するか否かを示すフラグデ一 タである。 図 1 2 1において、 A P E_N 「 S e r v i c e A」 は、 該当 S AM 7 0 8内 のアプリケ一ショ ンプログラムで定義された I Cカード 7 0 3のアクセス鍵であ る。 「 S e r V i c e A」 の鍵データは非公開に設定しているため、 他の SAM 上のアプリケ一ショ ンプログラムや本 S A M上の他のアプリケ一ショ ンプログラ ムは、 参照することができない。 また、 「S e r V i c e C」 は、 本アプリケーショ ンプ αグラムで定義された I Cカード 7 0 3のアクセス鍵である。 本 S AMに後述する Cクラスのネッ トマ スクが割り当てられている場合には、 「 S e r V i c e C」 の鍵データは 「 4 3 . 1 7. 1 9. XX」 の SAM— I Dを持つ SAM上のアプリケーショ ンプログ ラムに公開される。 この際 S AM相互認証用鍵は 「TT 1 '··, ΤΤη」 、 また他 の S AMが 「 S e r V i c e C」 の鍵データを次回利用時まで保持可能かの可否 を決定する。 可の場合には、 他の SAMがカード上の 「S e r V i c e C」 を次 回利用するときに、 本 SAMから再度カードアクセス鍵を入手する必要は無い。 S e r V i c e Bのアクセス鍵は本 S AMではなく、 「 4 3. 1 3. 1 3 7. X X」 の SAM— I Dを持つ SAMから入手する。 S A M間の相互認証用鍵として 「 S S 1… S n」 を使用する。 「S e r V i c e B」 のアクセス鍵を次回利用時まで保持可能の有無は先方の SAMが指定する可否フラグにより決定する。 「S e r v i c e B L o g」 は、 「 43, 1 3, 1 3 7. XX」 の SAM— I Dが割り当てられたログデータが格納されたファイルを指す。 「S e r v i c e B L o g」 は、 「 S e r v i c e B」 と同一 S AMネッ トマスクであるため 、 相互認証用鍵は 「S S l S S n」 を使用する。 ここで、 相互認証鍵毎に A P Pテーブルデータが設けられている。 本例では、 「S e r v i c e B l o g」 および 「S e r v i c e B」 へのアクセス許可は他の S AM上の A P管理用テ一 ブルデータが参照する他の SAMの A P Pテーブルデータ 7 3 1 0で規定されて いる。 図 1 2 3は、 AP Pテーブルデータ 7 3 1 0— 1を説明するための図である。 AP Pテ一ブルデータ 7 3 1 0__2, 7 3 1 0— 3、 7 3 1 0は、 AP Pテー ブルデータ 7 3 1 0—1と同じフォーマツ トを有している。 図 1 2 3に示すように、 AP Pテーブルデータ 7 3 1 0—1は、 各アプリケー シヨ ンエレメ ントデータ A P Eについて、 その識別データ AP E— I Dと、 当該 アプリケ一ショ ンエレメ ントデータ A P Eに対して他のアプリケーショ ンプ グ ラム (他のアプリケーショ ンエレメントデータ AP E) から読み出し (READ ) 、 書き込み (WR I TE) および実行 (EX CUTE) が可能であるか否かを 示している。 例えば、 図 1 2 3に示す A P Pテーブルデータ 7 3 1 0— 1は、 「S e r v i c e B 1 o g」 については読取りが可、 書込みが可、 実行 (削除) が不可を示 している。 また、 図 1 1 5に示す外部メモリ 7 0 7の A P管理用記憶領域 72 2 1は、 例 えば、 I Cカード種別データと AP— I Dとを対応付けて示す AP選択用データ を記憶している。 I Cカード種別データは、 図 1 09に示す I Cカード 7 0 3の種別を示し、 例 えば、 I Cカード 7 03を用いた取り引きの決済を行ぅクレジッ トカ一ド会社の 識別データである。 本実施形態では、 I Cカード操作用マクロコマンドスクリブトプログラム内に 複数のアプリケーショ ンェレメ ントデータ AP Eの名前 AP E— Nを組み合せた サービス内容を規定 (記逑) し、 これを後述する I Cカードエンティティデータ (ジョブ管理用データ) に反映させることで、 複数のアプリケーショ ンエレメ ン トデータ A P Eに対応するサービスを組み合わせたをサービスを提供できる。 例えば、 I Cカード 7 0 3からデータ読出しを行うサービスと、 サーバ装置 7 0 2にデータ書込みを行うサービスとを組み合わせたサービスを、 I Cカードエ ンティティデータ内に定義できる。 また、 AP E— Nあるいはそのサービス番号は、 サービス事業者 7 1 5— 1 , 7 1 5 _2 , 7 1 5— 3によって提供されるサービスを行う際に、 I Cカード 7 0 3に発行する I Cカード 70 3が解釈可能な操作コマンドである。 アプリケ一ショ ンプログラム AP— 1は、 外部メモリ 7 07に記憶された AP 管理用テーブルデータ 7 3 0 0— 1および所定の I C力一ド操作用マク口コマン ドスクリプトプ αグラムによつて規定される。 アプリケ一ショ ンプログラム A Ρ— 2は、 外部メモリ 7 07に記憶された A P 管理用テーブルデータ 73 0 0— 2および所定の I Cカード操作用マクロコマン ドスクリプトプログラムによつて規定される。 アプリケ一ショ ンプログラム A P— 3は、 外部メモリ 7 07に記憶された A P 管理用テーブルデータ 73 0 0— 3および所定の I Cカード操作用マクロコマン ドスクリプトプログラムによつて規定される。 〔 SAMチップ 70 8〕 SAMチップ 7 0 8は、 S C S Iまたは E t h e r n e tなどを介して AS P サーバ装置 7 1 9に接続される。 AS Pサーバ装置 7 1 9は、 ィ ンターネ 'ン ト 7 1 0を介して、 エンドユーザのパーソナルコンピュータ 7 05、 サービス事業者 7 1 5— 1 , 7 1 5— 2, 7 1 5— 3のパーソナルコ ンピュータ 7 1 6— 1 , 7 1 6—2, 7 1 6_3を含む複数の端末装置に接続される。 パーソナルコンピュータ 70 5は、 例えば、 シリアルまたは US Bを介して D u m b型の力一ドリーダ · ライタ 70 4に接続されている。 カードリーダ ' ライ タ 70 4力 Ϊ Cカード 7 03との間で物理レベルに相当する例えば無線通信を 実現する。 I Cカード 7 0 3への操作コマンドおよび I Cカード 7 03からのリスポンス パケ 'ン トは、 SAMュニ ッ ト 7 0 9側で生成および解読される。 よって、 その中 間に介在するカードリーダ ' ライタ 7 0 4、 パーソナルコ ンピュータ 7 0 5およ び AS Pサーバ装置 7 1 9は、 コマンドやリスポンス内容をデータペイロード部 分に格納して中継する役割を果たすのみで、 I Cカード 7 0 3内のデータの暗号 化ゃ復号および認証などの実操作には関与しない。 パーソナルコンピュータ 7 1 6—1 , 7 1 6_2, 7 1 6— 3は、 後述するス クリプトプログラムを SAMチップ 7 0 8にダウンロードすることで、 それぞれ アプリケーショ ンプログラム AP—1 , AP— 2, AP— 3をカスタマイズでき る。 図 1 2 4は、 図 1 0 9に示す SAMチップ 7 0 8の機能プロック図である。 図 1 2 4に示すように、 SAMチップ 7 0 8は、 AS P S通信ィンタフエース 部 7 6 0、 外部メモリ通信ィ ンタフェース部 7 6 1、 バススクランブル部 7 6 2 、 乱数発生部 7 6 3、 暗号 ·復号部 7 6 4、 記憶部 7 6 5および C P U 7 6 6を 有する。 SAMチップ 7 0 8は、 耐タンパ性のモジュールである。 AS P S通信ィ ンタフヱ一ス部 7 6 0は、 図 1 0 9に示す AS Pサーバ装置 7 1 9との間のデータ入出力に用いられるィ ンタフエースである。 外部メモリ通信ィンタフヱース部 7 6 1は、 外部メモリ 7 0 7との間のデータ 入出力に用いられるィ ンタフヱースである。 バススクランブル部 7 6 2は、 外部メモリ通信ィ ンタフヱース部 7 6 1を介し てデータを入出力する際に、 出力するデータをスクランブルし、 入力したデータ をデスクランブルする。 乱数発生部 7 6 3は、 認証処理を行う際に用いられる乱数を発生する。 暗号 ·復号部 7 6 は、 データの暗号化、 並びに暗号化されたデータの復号を 行つ。 記憶部 7 6 5は、 後述するように、 C P U 7 6 6によって用いられるタスク、 プログラム、 並びにデータを記憶する。 CP U 7 6 6は、 所定のプログラム (本発明のプログラム) に基づいて、 後述 するスクリプトダウンロードタスク、 スクリプト解釈タスク、 エンティティ生成 タスク (ジョブ管理用データ作成タスク) および I Cカード手続管理タスク (ジ ョブ管理用データ管理タスク) などのタスクを実行する。 以下、 記憶部 7 6 5に記憶されるタスク、 プ αグラムおよびデータについて説 明する。 図 1 2 5は、 記憶部 7 6 5に記憶されるタスク、 プログラムおよびデータを説 明するための図である。 図 1 2 5に示すように、 スクリプトダウンロードタスク 7 6 9、 スクリプト解 釈タスク 7 7 0、 エンティティ生成タスク 7 7 1、 I Cカード手続管理用タスク 7 72、 I Cカード操作用マクロコマンドスクリプトプログラム 72 1— 1〜 7 2 1— 3、 A Ρ管理用テーブルデータ 7 3 0 0— 1〜 73 0 0— 3、 AP Pテー ブルデータ 7 3 1 0— 1〜73 1 0— 3、 I Cカードエンティティテンプレート データ 7 30— 1〜 7 3 0— 3、 I Cカードエンティティデータ 77 3— x、 入 力用データブロック 7 3 1— X 1、 出力用デ一タブロック 7 3 2— X 2、 ログ用 データブロック 7 3 3— X 3、 並びに演算定義用データブロック 73 4— x 4を 記憶している。 スクリプトダウンロードタスク 7 6 9は、 図 1 1 8に示すように、 A P管理用 テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3 (必要に応じて A P Pテーブルデー タ 73 1 0— 1〜7 3 1 0_3 ) を、 例えば、 各サービス事業者のコンピュ一タ からダウンロードし、 これを SAMチップ 7 0 8に取り込む。 スク リプト解釈タスク 770は、 各サービス事業者毎に、 サービス定義テ一ブ ルデータ (必要に応じて A P Pテーブルデータ 7 3 1 0— 1〜 7 3 1 0— 3 ) お よびスクリプトプログラムを用いて、 I Cカードエンティティテンプレートデー タ、 入力用データブロック、 出力用データブロック、 ログ用デ一タブロックおよ び演算定義用データプロックを生成する。 各サービス事業者毎に生成されるデータブ σックの数は特に限定されない。 エンティティ生成タスク 7 7 1は、 例えば、 A S Pサーバ装置 Ί 1 9からェン ティティ作成要求を受けると、 I Cカード 7 0 3との間でポーリ ングを行った後 に、 当該 I Cカード 7 0 3とサービス事業者との間の手続き処理に用いる I C力 ードエンティティデータを、 当該サービス事業者に対応する I Cカードェンティ ティプレートデータを用いて生成する。 このとき、 I Cカードエンティティプレ 一トデータがクラスとなり、 当該クラスのィ ンスタンスとして、 I Cカードェン ティティデータが生成される。 エンティティ生成タスク 7 7 1による I Cカードエンティティデータの生成処 理について後に詳細に説明する。 I Cカード手続管理用タスク 7 7 2は、 記憶部 7 6 5内に存在する単数または 複数の I C力一ドエンティティデータ 7 7 3— Xを用いて、 I Cカード 7 0 3と サービス事業者 7 1 5 _ 1〜7 1 5— 3 との間の手続き処理を実行する。 本実施形態では、 複数の I Cカード 7 0 3とサービス事業者 7 1 5— 1〜7 1 5— 3との間で行われる複数の手続き処理が同時に進行する。 I Cカード手続管理用タスク 7 7 2は、 これら複数の手続き処理を並行して実 行する。 I Cカード手続管理用タスク 7 7 2は、 一連の手続きを終了した I Cカードエ ンティティデータ 7 7 3— Xを消去する。 I Cカード手続管理用タスク 7 7 2の処理については後に詳細に説明する。 スクリプトプログラム 7 2 1— 1〜 7 2 1一 3は、 スクリプトダウンロードタ スク 7 6 9によって、 例えば、 外部メモリ 7 0 7から入力され、 記憶部 7 6 5に 記憶される。 A P管理用テーブルデータ 7 3 0 0— 1〜7 3 0 0 _ 3は、 スクリプトダウン ロードタスク 7 6 9によって、 例えば、 外部メモリ 7 0 7から入力され、 記憶部 7 6 5に記憶される。 A P Pテーブルデータ 7 3 1 0— 1〜 7 3 1 0— 3は、 スクリプトダウンロー ドタスク 7 6 9によって、 例えば、 外部メモリ 7 0 7から入力され、 記憶部 7 6 5に記憶される。 I Cカードエンティティテンプレートデータ 7 3 0— 1〜 7 3 0— 3は、 スク リブト解釈タスク 7 7 0によって生成され、 それぞれのサービス事業者に関する 手続きの I Cカードエンティティデータ 7 73— Xを生成する際のテンプレー ト (クラス) として用いられる。 I Cカードエンティティデータ 7 73— Xは、 エンティティ生成タスク Ί 7 1 によって、 I Cカードエンティティテンプレー トデータ 7 3 0— 1〜 7 3 0— 3 を例えばクラスとして用い、 当該クラスのィ ンスタンスとして生成される。 入力用データプロ 'ンク 73 1— X 1、 出力用データプロ 'ンク 732— x 2、 π グ用データブロック 7 3 3— χ 3および演算定義用データブロック 7 3 4— χ 4 は、 スク リブト解釈タスク 7 7 0によって生成される。 以下、 I Cカードエンティティデータ 773— Xについて説明する。 I C力一ドエンティティデータ 7 73— Xは、 例えば、 AS Pサーバ装置 7 1 9から I Cカード 7 0 3と所定のサービス事業者のアプリケーショ ンプログラム を用いた処理の処理要求を SAMチップ 7 0 8が受けたときに、 SAMチップ 7 0 8内のェンティティ生成タスク 7 7 1力 既に生成されている対応するサ一ビ ス事業者の I C力一ドエンティティプレートデータを用いて生成する。 図 1 2 6は、 I Cカードエンティティデータ 77 3— Xのフォーマ'ン トを説明 するための図である。 図 1 2 6に示すように、 I Cカードエンティティデータ 7 7 3— Xは、 管理用 ボイ ンタデータ 7 8 0、 エンティティ I Dデ一タ 7 8 1、 エンティティステ一タ スデ一タ (ステータスデータ) 7 8 2、 I Cカード種別データ 78 3、 AP E— N指定データ 78 4、 処理順番データ 7 8 5、 処理前データ Ί 8 6および処理後 データ 7 8 7を有する。 管理用ボイ ンタデータ 7 8 0には、 記憶部 7 6 5内で I Cカードエンティティ データ 7 7 3—) (を管理するための双方向ボイ ンタである。 エンティティ I Dデータ 7 8 1 は、 I C力一ドエンティティデータ 7 7 3 _ x の生成要求、 進行状況の確認、 削除などの I Cカードエンティティデータ 7 7 3 — Xを用いた一連の処理に用いられる。 エンティティ I Dデータ 7 8 1は、 ェン ドユーザに渡される返り値ともなる。 エンティティ I Dデータ 7 8 1は一般的な フアイルシステム上のファィルオープン時のディスクリプタに相当する。 エンティティステータスデータ 7 8 2は、 I Cカード 7 0 3に関する手続きの 進行状態を示す。 I Cカードエンティティデータ 7 7 3— Xが持つ基本的な状態には、 図 1 2 7 に示すように、 I Cカード 7 0 3が利用できるサービスを調べる処理の状態 (R S ) 、 S A Mチップ 7 0 8が I Cカード 7 0 3を認証する処理の状態 ( A 1 ) 、 I Cカード 7 0 3が S A Mチップ 7 0 8を認証する処理の状態 (A 2 ) 、 I C力 ード 7 0 3からデータ読み出す処理の状態 (R ) 、 I Cカード 7 0 3にデータ書 き込む処理の状態 (W ) がある。 本実施形態では、 サービス事業者を調べる処理、 S A Mチップ 7 0 8が I C力 ード 7 0 3を認証する処理、 I Cカード 7 0 3が S A Mチップ 7 0 8を認証する 処理、 I Cカード 7 0 3からデータ読み出す処理、 並びに I Cカード 7 0 3にデ ータ書き込む処理のそれぞれがジョブに対応している。 当該ジョブは、 後述するように、 I Cカード手続管理用タスク 7 7 2によって 、 実行順番が決定される処理の単位になる。 なお、 A 1 , A 2によって、 I Cカード 7 0 3と S A Mチップ 7 0 8との間の 相互認証処理が構成される。 また、 本実施形態では、 ィ ンターネッ ト 7 1 0での通信時間を考慮して、 前述 した各基本的な状態を図 1 2 7の状態遷移図に示されるように、 起動後 (コマン ド発行後) の状態と完了 (応答受け取り後) 状態とに分けて管理する。 具体的には、 ィ ンスタンス生成 ( I Cカードエンティティデ一夕生成) 状態、 R S起動後状態、 R S完了状態、 A 1起動後状態、 A 1完了状態、 A 2起動後状 態、 A 2完了状態、 R起動後状態、 R完了状態、 W起動後状態、 W完了状態、 並 びにイ ンスタンス ( I Cカードエンティティデータ) 消去状態によって、 I C力 ードエンティティデータ 7 7 3 _ xを用いた処理状態が管理される。 I Cカード種別データ 7 8 3は、 当該 I Cカード 7 0 3を発行したサービス事 業者を特定するデータである。 I C力一ド種別データ 7 8 3には、 I Cカードエンティティデータ 7 7 3 _ X の生成時に、 前述したスクリプトプログラム内の C I コマンドによって規定され たデータが設定される。 サービスタイプェレメ ン ト指定データ 7 8 4は、 I Cカードエンティティデ一 タ 7 7 3— Xを用いた処理で利用する、 A P管理用テーブルデータ 7 3 0 0— 1 〜7 3 0 0— 3および A P Pテーブルデータ 7 3 1 0—1〜7 3 1 0— 3内で定 義されたアプリケーショ ンェレメ ン トデータ A P Eを示す。 サービスタイプェレメ ン ト指定データ 7 8 4には、 I Cカードエンティティデ —タ Ί Ί 3— Xの生成時に、 前述したスクリプトプログラム内の C Sコマンドで 指定された単数または複数のアプリケーシヨ ンエレメ ントデータ A P Eが設定さ れる。 処理順番データ 7 8 5は、 I Cカードエンティティデータ 7 7 3— Xを用いた 処理で利用するサービス (ジョブ) を実行する順番、 すなわち、 図 1 2 7に示す 遷移状態を示す。 すなわち、 処理順番データ 7 8 5は、 アプリケ一ションエレメ ントデータ A P Eの名前 A P E— Nを用いて、 I Cカード 7 0 3の基本的な操作に対応するジョ ブの実行順番を示す。 ここで、 ジョブは、 前述したように、 図 1 2 7に示す R S , A 1 , A 2 , R , Wに相当する。 I Cカード 7 0 3への具体的操作は、 ジョブを用いて指定された 処理順番により実現される。 例えば、 相互認証無しの読み込みのみの I Cカード 7 0 3を用いた処理については、 処理順番データ 7 8 5には 「R S→R」 が設定 される。 また、 相互認証有りの読み込みおよび書き込みの場合には、 処理順番デ ータ 7 8 5には、 「R S→A 1→A 2→R→W」 が設定される。 処理順番データ Ί 8 5には、 I Cカードエンティティデータ 7 7 3— Xの生成 時に、 前述したスクリブトプログラム内の C Sコマンド内で指定されたサービス エレメ ントの順番に対応する図 1 2 7に示すジョブの順番が設定される-。 処理前データ 7 8 6には、 A S Pサーバ装置 7 1 9側から、 I Cカードェンテ ィティデータ 7 7 3— Xを用いた処理を行うための管理用データが設定される。 例えば、 処理前データ Ί 8 6には、 S Fデータプロ 'ンク内に指定されたサービ ス (アプリケーショ ンエレメ ン トデータ A P E ) の演算式のポィ ントが設定され る。 また、 サービス間演算機能が定義されていない場合には、 処理前データ 7 8 6 には、 要求処理金額が設定される。 例えば、 決済の場合であれば、 課金額や付与ポイ ント数などに関する状態が設 定される。 処理後データ 7 8 7は、 A S Pサーバ装置 7 1 9側で必要な、 I Cカードェン ティティデータ 7 7 3— Xの処理結果のデータが設定される。 例えば決済の場合 であれば、 決済の正常終了の有無などを示すデータが設定される。 以下、 図 1 2 5に示す I C力一ド手繞管理用タスク 7 7 2による、 複数の I C 力一ドエンティティデータ Ί 7 3 _ xを用いて、 複数の I Cカード 7 0 3に係わ る処理を行う手順を説明する。 I Cカード手続管理用タスク 7 7 2は、 例えば、 図 1 2 4に示す S A Mチップ 7 0 8の C P U 7 6 6上で常に起動されている。 図 1 2 8は、 I Cカード手続管理用タスク 7 7 2が行う処理のフローチヤ一ト である。 ステップ S T 7 0 1 : I Cカード手続管理用タスク 7 7 2は、 記憶部 7 6 5内に存在する複数の I C カードエンティティデータ 7 7 3— Xのうち、 次に処理を実行する一つの I C力 ードエンティティデータ 7 7 3— Xを選択する。 当該 I Cカードエンティティデータ 7 7 3— Xの選択方法は、 記憶部 7 6 5内 に存在する I Cカードエンティティデータ 7 7 3— Xを順番に選択してもよいし 、 優先順位を付けて高い優先順位のものを優先的に選択してもよい。 ステップ S T 7 0 2 : I Cカード手続管理用タスク 7 7 2は、 ステップ S T 7 0 1で選択した I C力 —ドエンティティデータ 7 7 3— Xのジョブが既に起動されているか否かを判断 し、 起動されていると判断した場合にはステップ S T 7 0 5の処理に進み、 起動 されていないと判断した場合にはステップ S T 7 0 3の処理に進む。 ステップ S T 7 0 3 : I C力一ド手続管理用タスク 7 7 2は、 ステップ S T 7 0 1で選択した I C力 ードエンティティデータ 7 7 3— Xの図 1 2 6に示すェンティティステータスデ ータ 7 8 2力、ら、 当該エンティティデータに関する処理が図 1 2 7に示す状態遷 移図の何れの状態にあるかを判断し、 処理順番データ 7 8 5から、 次に実行する ジョブを決定する。 このとき処理順番データ 7 8 5には、 前述したように、 A P管理用テーブルデ ータ 7 3 0 0—1〜7 3 0 0— 3に設定されたサービスエレメ ントを用いてジョ ブの実行順番が規定されている。 ステップ S T 7 0 4 : I C力一ド手続管理用タスク 7 7 2は、 ステップ S T 7 0 3で選択したジョブ を起動する。 I Cカード手続管理用タスク 7 7 2は、 図 1 2 5を用いて前述した入力用デー タブロック 7 3 1— x 1、 出力用デ一タブロック 7 3 2— x 2、 口グ用データブ ロック 7 3 3— x 3および演算定義用データブロック 73 4 _ X 4のうち、 当該 ジョブに関係するデータブロックを用いて当該ジョブを実行する。 このとき、 I Cカード手続管理用タスク 7 7 2は、 ジョブの実行に当たって I Cカード 7 0 3にコマンドを発行する場合に、 当該ジョブに対応するサ一ビスェ レメ ントをキーとして A P管理用テーブルデータ 7 3 0 0— 1〜 73 0 0— 3を 検索し、 当該サービスエレメントに対応するサービス番号 ( I Cカード 7 0 3が 解釈可能な I Cカード 7 0 3の操作コマンド) を得る。 そして、 I Cカード手続 管理用タスク 7 7 2は、 当該得られたサービス番号を用いて I Cカード 7 0 3に コマンドを発行する。 また、 I Cカード手続管理用タスク 77 2は、 図 1 1 3を用いて説明したよう に、 I Cカード 7 0 3の I C 7 0 3 aの記憶領域へのアクセスに鍵データが必要 な場合には、 当該ジョブに対応するサービスエレメ ントをキーとして AP管理用 テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3を検索し、 当該サービスエレメ ン ト に対応する鍵データを得る。 そして、 I Cカード手続管理用タスク 7 7 2は、 当 該鍵データを用いて、 I Cカード 7 0 3との間で相互認証、 データの暗号化およ び復号などの処理を行い、 I Cカード 7 0 3の所定の記憶領域にアクセスを行う 権限を得る。 ステップ S T 7 0 5 : ステップ S T 7 0 5力行われるのは、 I Cカード手続管理用タスク 7 72力、'、 I Cカード 7 0 3にコマンドを発行し、 I Cカード 7 03の処理結果を待ってい るときである。 I Cカード手続管理用タスク 7 72は、 I Cカード 70 3から処理結果を受け 取ると、 これを I Cカードエンティティデータ 7 7 3— Xに設定する。 ステップ ST 7 0 6 : I Cカード手続管理用タスク 7 72は、 図 1 2 6に示す I C力一ドエンティテ イデ一タ 7 7 3— xのエンティティステータスデータ Ί 8 2を更新する。 このように、 本実施形態では、 I Cカード手続管理用タスク 7 7 2によって、 SAMチップ 7 0 8内に存在する複数の I Cカード 7 0 3についての I Cカード エンティティデータ 7 7 3— Xを順に選択しながら、 複数の I Cカード 7 0 3に ついての処理を並行して行う。 そのため、 S AMチップ 7 0 8は、 複数の I C力 ード 7 0 3を用いた手続きの処理要求を受けた場合でも、 これらの処理を同時に 進行することができる。 図 1 2 9および図 1 3 0は、 上述した図 1 2 8のステツプ S T 7 0 4における ジョブの実行時に、 前述した S AMチップ 7 0 8がアプリケーショ ンエレメ ン ト データ AP Eに規定された手順に従って、 他のアプリケ一ショ ンエレメ ントデー タ A P Eによつて規定された処理またはデータにアクセスを行う場合の処理を説 明するための図である。 ステップ S T 7 4 1 : S A Mチップ 7 0 8力 所定のァプリケーシヨ ンエレメ ン トデータ A P Eに応 じた処理を実行中に、 利用 (アクセス) を行うアプリケ一ショ ンプログラムと、 当該ァプリケーシヨ ンプログラム内のアプリケーショ ンエレメ ン トデータ A P E とを特定する。 また、 当該利用が、 当該アプリケーショ ンエレメ ン トデータ AP Eの読み出し 、 書き込みおよび実行の何れであるかも特定する。 ステップ S T 7 4 2 : SAMチップ 7 0 8力 ステップ S T 7 4 1で特定したアプリケ一ショ ンエレ メ ン トデータ A P E力 当該 SAMチップ 7 0 8内に存在するか否かを判断し、 存在しないと判断した場合にはステップ ST 7 4 3の処理に進み、 存在すると判 断した場合にはステップ S T 7 4 5の処理に進む。 ステップ S T 7 4 3 : SAMチ 'ンプ 7 0 8が、 実行中のアプリケ一ショ ンプログラムに対応する A P 管理用テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3を参照して、 対応するサービ ス (アプリケーショ ンエレメ ン トデータ A P E) に対応する鍵データ K—S AM を取得し、 当該鍵データ K— SAMを用いて、 利用先のアプリケーショ ンエレメ ントデータ A P Eを有する SAMチ 'ンプ 7 0 8 aと相互認証を行う。 ステップ S T 7 4 4 : ステップ S T 7 4 3の相互認証で SAMチップ 7 0 8と 7 0 8 aとが互いの正 当性を認証すると、 SAMチップ 7 0 8はステップ ST 7 4 7の処理に進み、 そ うでない場合にはステップ S T 7 5 1に進む。 ステップ S T 7 4 5 : S AMチップ 7 Q 8力 実行中のアプリケーショ ンプログラムに対応する A P 管理用テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3を参照して、 対応するサービ ス (アプリケーションエレメ ントデータ AP E) に対応する鍵データ K—S AM を取得する。 また、 S AMチップ 7 0 8力 ステップ S T 7 4 1で特定した利用先のプリケ —シヨ ンエレメ ントデータ A P Eについても、 同様に、 当該アプリケ一ショ ンェ レメ ントデータ AP Eに対応する A P管理用テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3を参照して、 対応するサービス (アプリケーショ ンェレメントデータ A P E ) に対応する鍵データ K_S AMを取得する。 そして、 SAMチップ 7 0 8が、 上記取得した 2つの鍵データ K— S AMを比 較する。 スクランブル 7 4 6 : SAMチップ 7 0 8は、 ステップ S T 7 4 5の処理で、 2つの鍵データ K— S AMがー致していると判断した場合にはステップ S T 7 4 7の処理に進み、 そう でない場合にはステップ S T 7 5 1に進む。 ステップ S T 7 4 7 : S A Mチップ 7 0 8あるいは 7 0 8 aは、 ステップ S T 7 4 1で特定されたァ プリケーションプログラムに対応する A P管理用テーブルデータ 73 0 0— 1〜 7 3 0 0— 3を参照し、 利用されるアプリケーショ ンエレメ ン トデータ A P Eに 対応する A P Pテーブルデータ 7 3 1 0— 1〜 7 3 1 0_ 3を特定する。 ステップ S T 7 4 8 : SAMチップ 7 0 8あるいは 7 0 8 aは、 ステップ ST 7 4 7で特定した A P Pテーブルデータ 7 3 1 0—1〜7 3 1 0— 3を基に、 利用 (アクセス) される アプリケ一ショ ンェレメ ントデータ AP Eのアクセス権限を判断する。 具体的には、 当該利用されるアプリケーシヨ ンエレメ ントデータ A P Eの読み 出し、 書き込みおよび実行の権限を判断する。 ステップ ST 7 4 9 : S AMチップ 7 0 8あるいは 7 0 8 aは、 ステップ S T 7 4 8でアクセス権限 があると判断した場合にはステップ S T 7 5 0の処理に進み、 そうでない場合に はステップ S T 7 5 1の処理に進む。 ステップ S T 7 5 0 : S AMチップ 7 0 8あるいは 7 0 8 aは、 ステップ S T 7 4 1で特定されたァ プリケーショ ンエレメ ン トデータ AP Eについて、 ステップ S T 7 4 1で特定さ れた利用を行う。 ステップ S T 7 5 1 : SAMチップ 7 0 8あるいは 7 0 8 aは、 ステップ ST 7 4 1で特定されたァ プリケーショ ンエレメ ン トデータ A P Eについて、 ステップ S T 7 4 1で特定さ れた利用を行わない。 また、 S A Mチップ 7 0 8は、 上述した図 1 2 8のステップ S T 7 0 4におけ るジョブの実行時に、 前述した SAMチップ 7 0 8がアプリケーショ ンエレメン トデータ AP Eに規定された手順に従って、 I Cカード 7 0 3との間でデータ授 受を行う場合には、 図 1 2 5に示す A P管理用テーブルデータ 7 3 0 0—1〜7 3 0 0 _3を参照して、 当該アプリケ一ショ ンエレメントデータ AP Eに対応す る鍵データ K— CAD Rを取得し、 当該鍵データ K— CAR Dを用いて、 I C力 ード 7 0 3のメモリ 7 5 0にアクセスを行う。 以下、 図 1 0 9に示す通信システム 7 0 1の全体動作について説明する。 図 1 3 1および図 1 3 2は、 図 1 0 9に示す通信システム 7 0 1の全体動作を 説明するための図である。 ステップ S T 7 2 1 : サービス事業者 7 1 5— 1〜7 1 5— 3あるいはこれらサービス事業者の依頼 を受けた者が、 当該サービス事業者が I Cカード 7 0 3を用いて行う取り引きに ついての処理を記述したスク リプトプログラム 7 2 1—1 , 7 2 1—2, 7 2 1 —3を、 例えば、 図 1 0 9に示すパーソナルコンピュータ 7 1 6— 1 , 7 1 6— 2, 7 1 6— 3上で作成する。 また、 SAMチップ 7 0 8の管理者が、 サービス事業者 7 1 5—1〜7 1 5— 3のそれぞれに対応する A P管理用テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3 を作成する。 ステップ S T 7 2 2 : ステツプ S T 7 2 1で作成された A P管理用テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3が外部メモリ Ί 0 7に記憶される。 また、 ステップ S T 7 2 1で作成されたスクリプトプログラム 7 2 1— 1 , 7 2 1— 2 , 7 2 1—3力、 パーソナルコ ンピュータ 7 1 6— 1 > 7 1 6— 2, 7 1 6— 3力、ら、 ィ ンターネッ ト 7 1 0、 AS Pサーバ装置 7 1 9および SAMチ ップ 7 0 8を介して、 外部メモリ 7 0 7にダウンロードされる。 当該ダゥンロー ドの処理は、 図 1 1 8に示すように、 S AMチップ 7 0 8内のスクリプトダウン —ドタスク 7 6 9によって管理される。 ステップ S T 7 2 3 : 図 1 1 8に示す SAMチップ 7 0 8内のスクリブト解釈タスク 7 7 0によって 、 各サービス事業者毎に、 A P管理用テーブルデータ 7 3 0 0— 1〜 7 3 0 0— 3およびスクリプトプログラムを用いて、 I Cカードエンティティテンプレート データ、 入力用データブロック、 出力用データブロック、 ログ用データブロック および演算定義用データブロックが生成される。 これら生成されたデータは、 図 1 2 4に示す SAMチップ 7 0 8の記憶部 7 6 5に格納される。 ステップ ST 7 2 4 : ユーザに I Cカード 70 3が発行される。 図 1 1 3に示すように、 I Cカード 7 0 3の I C 7 0 3 aのメモリ 7 5 0には 、 ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記 憶されている。 なお、 ユーザとサービス事業者との間の契約は、 I Cカード 7 0 3の発行後に 、 イ ンタ一ネッ ト 7 1 0などを介して行ってもよい。 ステップ ST 7 2 5 : 例えば、 ユーザがパーソナル;?ンピュ一タ 70 5を用いてィ ンターネッ ト 7 1 0を介してサ一バ装置 7 0 2にアクセスを行い、 商品を購入しょうとした場合に 、 サーバ装置 7 0 2がイ ンタ一ネッ ト 7 1 0を介して AS Pサーバ装置 7 1 9に 処理要求を出す。 AS Pサーバ装置 7 1 9は、 サーバ装置 7 0 2から処理要求を受けると、 イン タ一ネッ 卜 7 1 0を介してパーソナルコンピュ一タ 7 0 5にアクセスを行う。 そ して、 カードリーダ · ライタ 7 0 4が出した I Cカード 7 0 3についての処理要 求が、 パーソナルコンピュータ 7 0 5、 ィ ンタ一ネッ ト Ί 1 0および AS Pサー バ装置 7 1 9を介して SAMチップ 7 0 8に送信される。 ステップ S T 726 : AS Pサーバ装置 7 1 9から SAMチップ 70 8にエンティティ作成要求が出 される。 当該エンティティ作成要求には、 I Cカード 7 0 3の発行元を示すデー タが格納されている。 ステップ ST 7 2 7 : SAMチップ 7 0 8は、 エンティティ作成要求を受けると、 I Cカード 7 0 3 との間でポ一リ ングを行う。 ステップ ST 7 2 8 : SAMチ 'ンプ 7 0 8のェンティティ生成タスク 7 7 1は、 ポーリ ング終了後に 、 SAMチップ 7 0 8内に存在する I Cカードエンティティデータ 77 3_xの 数が、 スクリプトプログラムの S Cコマンドによって規定された最大数以内であ るか否かを判断し、 最大数以内であればステップ ST 72 9の処理に進み、 そう でない場合には処理を終了する。 ステップ ST 7 2 9 : エンティティ生成タスク 7 7 1が、 例えば、 エンティティ作成要求に格納され た I Cカード 7 0 3の発行元を示すデータに基づいて、 何れのサービス事業者の I Cカードエンティティテンプレートデータを用いるかを特定し、 当該特定した I Cカードエンティティプレートデータ用いて、 I Cカードエンティティデータ 7 7 3— Xを生成する。 これは、 図 1 2 7に示すィ ンスタンス生成に対応している。 ステップ ST 7 3 0 : SAMチップ 7 0 8から AS Pサーバ装置 7 1 9に、 ステップ ST 7 2 9で生 成した I C力一ドエンティティデータ 77 3— Xのエンティティ I Dが出力され る。 ステップ S T 7 3 1 : SAMチップ 70 8の I C力一ド手続管理用タスク Ί 72によって、 I Cカー ド 7 0 3で利用可能なサービスが調べられる。 これは、 図 1 2 7に示すジョブ R Sに対応した処理である。 ステップ ST 73 2 : SAMチップ 7 0 8の I Cカード手続管理用タスク 7 7 2力 I Cカード 7 0 3 の正当性を認証する。 これは、 図 1 2 7に示すジョブ A 1に対応した処理である。 ステップ ST 7 3 3 : I Cカード 7 0 3が S A Mチップ 7 0 8の正当性を認証する。 これは、 図 1 2 7に示すジョブ A 2に対応した処理である。 ステップ ST 7 3 2, S T 733によって、 I Cカード 7 0 3と S AMチップ 7 0 8との間の相互認証が行われる。 このとき、 前述したように、 SAMチップ 7 0 8で実行されているアプリケー ショ ンェレメ ントデータ AP Eに応じて、 図 1 2 1に示す A P管理用テーブルデ ータ 7 3 0 0— 1〜 7 3 0 0— 3が参照されて、 鏈データ K— C A R Dが取得さ れ、 当該鍵データ K— CARDを用いて SAMチップ 7 0 8と I Cカード 7 03 の C P U 7 5 1との間で相互認証が行われる。 ステップ ST 7 3 4 : SAMチップ 7 0 8の I C力一ド手続管理用タスク 7 7 2が、 I C力一ド 7 0 3との間で、 手続きに必要なデータの読み書きを行う。 これは、 図 1 2 7に示すジョブ R, Wに対応した処理である。 また、 I Cカード手繞管理用タスク 77 2は、 I Cカードエンティティデータ 7 7 3— Xの処理前データ 7 8 6に基づいて特定した演算式を用いて、 I C力一 ド 7 0 3から読み出したデータを用いて所定の演算処理を行う。 ステップ ST 7 3 5 : SAMチップ 7 0 8の I Cカード手続管理用タスク 7 7 2力 ステップ S T 7 34の処理結果を AS Pサーバ装置 7 1 9に出力する。 ステップ ST 7 3 6 : 例えば、 I Cカード手続管理用タスク 7 7 2力 I Cカードエンティティデ一 タ 77 3— Xを消去する。 以上説明したように、 通信システム 70 1および S AMュニッ ト 7 0 9によれ ば、 アプリケ一ショ ンプログラム A Pを複数のァプリケ一ショ ンエレメ ントデ一 タ A P Eを用いて構成し、 A P管理用テーブルデータおよび A P Pテーブルデ一 タを用いて、 各アプリケーショ ンエレメ ントデータ A P Eの処理内容を規定する ことで、 I Cカード 7 0 3を用いた多様なサービスを提供できる。 また、 通信システム 7 0 1によれば、 A P管理用テーブルデータおよび A P P テーブルデータを用いて、 同一 S A M内でのアプリケーシヨ ンエレメ ン トデータ A P Eの利用、 並びに異なる S A M間でのアプリケ一ショ ンエレメントデータ A P Eの利用を高いセキュリティを保ちながら柔軟に実現できる。 また、 通信システム 7 0 1によれば、 異なる S A M間でアプリケーシヨ ンエレ メ ン トデータ A P Eを利用する場合に、 S A M間で相互認証を行うため、 アプリ ケーショ ンプログラムのセキュリティを高めることができる。 また、 通信システム 7 0 1によれば、 同一のサービス事業者のアプリケーショ ンプログラムに、 同じクラスの S A M„ I Dを割り当てることで、 同じ事業者の アプリケーションプログラムのアプリケーションエレメ ントデータ A P E間では 、 煩雑な相互認証処理を行わないようにすることができ、 鍵情報の管理、 並びに S A Mチップの処理負担を軽減できる。 また、 通信システム Ί 0 1によれば、 I Cカード 7 0 3との間で発生する手続 き処理毎に I Cカードエンティティデータ Ί 7 3— Xを生成し、 I Cカード手続 管理用タスク 7 7 2によって、 複数の I Cカードエンティティデータ 7 7 3— X を用いて、 複数の I Cカード 7 0 3についての処理を同時に進行することができ る。 また、 認証システム 7 0 1によれば、 I Cカード 7 0 3についての処理に実際 に用いられている I Cカードエンティティデータ 7 7 3— Xを記憶部 7 6 5に記 憶すれば良いため、 記憶部 7 6 5の記憶領域を効率的に利用できる。 また、 認証システム 7 0 1によれば、 図 1 2 7に示すように、 I C力一ド手続 管理用タスク Ί 7 2が処理するジョブの実行状態を、 起動後状態と完了状態とに 分離して管理するため、 一のジョブの実行を開始後に I Cカード 7 0 3からのデ —タを待っている状態で、 他のジョブに関する処理を開始できる。 そのため、 ィ ンターネッ ト 7 1 0を介して I Cカード 7 0 3との間でデータを送受信すること による待ち時間を無くすことができる。 また、 認証システム 7 0 1によれば、 A P管理用テーブルデータ 7 3 0 0—1 〜 7 3 0 0— 3内に、 各サービス事業者が提供するサービスの種類を示す名前で ある A P E— N、 I Cカード 7 0 3内で用いられる当該サービスの番号、 並びに 当該サ一ビスを提供するに際に用いられる鍵データを A P管理用テーブルデータ7 3 0 0— 1 〜 7 3 0 0 _ 3内に記述し、 これを外部メモリ Ί 0 7に保持する。 そのため、 S A Mチップ 7 0 8の開発者でない、 サービス事業者 7 1 5—1〜 71 5— 3力 S A Mチップ 7 0 8上で動作する自らのアプリケーショ ンプロダラ ムを、 スクリプトプログラム 7 2 1— 1 , 7 2 1— 2 , 7 2 1— 3を作成して S A Mチップ 7 0 8を介して外部メモリ 7 0 7にダウンロードすることでカスタマ ィズできる。 すなわち、 鍵データや I Cカード 7 0 3を直接操作する操作コマン ドなどの秘匿性の高いデータをサービス事業者 7 1 5— 1 〜 7 1 5 _ 3に知らせ ることなく、 これらのサービス事業者が自らのアプリケ一ショ ンプログラムを力 スタマイズできる。 また、 サービス事業者は、 アプリケーショ ンプログラムを力 スタマイズする際に、 鍵データやカード操作用コマンドを知る必要がないため、 サービス事業者の負担が軽減される。 また、 認証システム 7 0 1によれば、 複数のサービスにまたがった処理内容を 定義できるため、 I Cカード 7 0 3側で許容されると同時に実行されるサービス の範囲内で、 複数のサ一ビスを組み合わせた多様なサ一ビスを提供できる。 また、 認証システム 7 0 1によれば、 デ一タブ α 、ンクの概念を導入することで 、 I Cカード 7 0 3との間で入出力されるデータ、 並びにログデータの管理が容 レイ丁 。 請求の範画
1 . 複数の処理要求に応じて半導体回路が行うデータ処理方法であって、 前記処理要求に応じた処理を構成する複数のジョブの実行順番を示すジ ョブ実行順番データと、 前記複数のジョブの実行の進行状態を示すステータスデ 一タとを含むジョブ管理用データを、 前記複数の処理要求のそれぞれについて生 成し、
前記生成された複数のジョブ管理用データから一つのジョブ管理用デ一 タを選択し、
前記選択したジョブ管理用データの前記ステータスデータおよび前記処 理順番データに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ス テータスデータを更新する
データ処理方法。
2 . 前記選択したジヨブ管理用データの前記ステータスデータを更新した後 に、 前記複数のデータモジユールから一つのジョブ管理用データを選択する 請求項 1に記載のデータ処理方法。
3 . 前記処理要求に応じた処理を構成する全てのジョブの実行が終了した前 記ジョブ管理用データを消去する
請求項 1に記載のデータ処理方法。
4 . 前記半導体回路との間で行われる手続き処理に用いられるデータを記憶 する記憶部を有する集積回路、 あるいは当該集積回路との間でデータ入出力を行 う通信装置から前記処理要求を受信する
請求項 1に記載のデータ処理方法。
5 . 前記ステータスデータは、 前記集積回路に対して前記ジョブの実行に関 する命令を発行する前の状態と発行した後の状態とを区別して示す 請求項 4に記載のデータ処理方法。
6 . 前記ジョブの実行に関する命令を前記集積回路に発行した後に、 他の集 積回路を用いた手続き処理の前記ジョブを選択して実行する
請求項 5に記載のデータ処理方法。
7 . 前記選択したジョブ管理用データの前記ステータスデータが、 前記命令 を発行した後の状態を示している場合に、 当該発行した命令に対応する処理結果 を前記集積回路から受信して当該選択したジョブ管理用データに書き込む
請求項 5に記載のデータ処理方法。
8 . 前記半導体回路は、
前記処理要求を受けると、 ジョブ管理用データ作成タスクを起動して前 記ジョブ管理用データを生成し、
前記ジョブ管理用データが生成されると、 ジョブ管理用データ管理タス クを起動して、 前記ジョブの選択、 前記ジョブの実行、 並びに前記ステータスデ ータの更新を行う
請求項 1に記載のデータ処理方法。
9 . 前記集積回路との間でポーリングを行った後に、 前記ジョブ管理用デー タを生成する
請求項 4に記載のデータ処理方法。
1 0 . 前記半導体面路は、 前記集積回路を用いて行う手続きを提供する複数の 手続き提供者にそれぞれ対応した複数のァプリケーシヨンプログラムを実行し、 前記処理要求に応じて、 当該処理要求に対応する前記手続き提供者を特 定し、
前記特定した手続き提供者に対応したアプリケーショ ンプログラムを実 行するための前記ジョブ管理用データを生成する 請求項 1に記載のデータ処理方法。
1 1 . 前記ジョブ管理用データに識別子を付け、 当該識別子を用いて複数のジ ヨブ管理用データを管理する
請求項 1に記載のデータ処理方法。
1 2 . 前記集積回路は、 カードに搭載されている
請求項 4に記載のデータ処理方法。
1 3 . 複数の処理要求に応じてデータ処理を行う半導体回路であって、
前記複数の処理要求を入力するィ ンタフ ースと、
前記処理要求に応じた処理を構成する複数のジョブの実行順番を示すジ ョブ実行順番データと、 前記複数のジョブの実行の進行状態を示すステータスデ 一タとを含むジョブ管理用データを記憶する記憶回路と、
前記入力した複数の処理要求のそれぞれについて前記ジョブ管理用デ一 タを生成して前記記憶回路に記憶し、 前記生成された複数のジョブ管理用データ から一つのジョブ管理用データを選択し、 前記選択したジョブ管理用データの前 記ステータスデータおよび前記処理順番データに基づいて、 次に実行を行うジョ ブを選択して実行し、 当該ジョブの実行に応じて、 前記選択したジョブ管理用デ —タの前記ステ一タスデータを更新する制御画路と
を有する半導体回路。
1 4 . 前記制御回路は、 前記選択したジョブ管理用データの前記ステータスデ —タを更新した後に、 前記複数のデータモジュールから一つのジョブ管理用デー タを選択する
' 請求項 1 3に記載の半導体回路。
1 5 . 前記制御回路は、 前記処理要求に応じた処理を構成する全てのジョブの 実行が終了した前記ジョブ管理用データを消去する
請求項 1 3に記載の半導体回路。
1 6 . 前記ィ ンタフ ースは、 前記半導体面路との間で行われる手続き処理に 用いられるデータを記憶する記憶部を有する集積回路、 あるいは当該集積回路と の間でデータ入出力を行う通信装置から前記処理要求を受信する
請求項 1 3に記載の半導体回路。
1 7 . 前記ステータスデータは、 前記集積回路に対して前記ジョブの実行に関 する命令を発行する前の状態と発行した後の状態とを区別して示す
請求項 1 6に記載の半導体回路。
1 8 . 前記制御回路は、 前記ジョブの実行に関する命令を前記集積回路に発行 した後に、 他の集積回路を用いた手続き処理の前記ジョブを選択して実行する 請求項 1 Ίに記載の半導体回路。
1 9 . 前記制御画路は、 前記選択したジョブ管理用データの前記ステータスデ 一タカ 前記命令を発行した後の状態を示している場合に、 当該発行した命令に 対応する処理結果を前記集積回路から受信して当該選択したジョブ管理用データ に書き込む
請求項 1 Ίに記載の半導体回路。
2 0 . 前記制御回路は、
前記処理要求を受けると、 ジョブ管理用データ作成タスクを起動して前 記ジョブ管理用データを生成し、
前記ジョブ管理用データが生成されると、 ジヨブ管理用データ管理タス クを起動して、 前記ジョブの選択、 前記ジョブの実行、 並びに前記ステータスデ ータの更新を行う
請求項 1 3に記載の半導体回路。
2 1 . 前記制御回路は、 前記集積回路との間でポーリングを行った後に、 前記 ジョブ管理用データを生成する
請求項 1 6に記載の半導体回路。
2 2 . 前記制御回路は、
前記集積回路を用いて行う手続きを提供する複数の手続き提供者にそれ ぞれ対応した複数のァプリケ一シヨンプログラムを実行し、
前記処理要求に応じて、 当該処理要求に対応する前記手続き提供者を特 定し、
前記特定した手続き提供者に対応したアプリケーショ ンプログラムを実 行するための前記ジョブ管理用データを生成する
請求項 1 3に記載の半導体画路。
2 3 . 前記制御画路は、 前記ジョブ管理用データに識別子を付け、 当該識別子 を用いて複数のジョブ管理用データを管理する
請求項 1 3に記載の半導体回路。
2 4 . 前記集積回路は、 カードに搭載されている
請求項 1 6に記載の半導体画路。
2 5 . 耐タンパ性の半導体回路である
請求項 1 3に記載の半導体画路。
2 6 . 複数の処理要求に応じてデータ処理を行う半導体回路によって実行され るプログラムであって、
前記処理要求に応じた処理を構成する複数のジョブの実行順番を示すジ ョブ実行順番データと、 前記複数のジョブの実行の進行状態を示すステータスデ —タとを舍むジョブ管理用データを、 前記複数の処理要求のそれぞれについて生 成する手順と、
前記生成された複数のジヨブ管理用データから一つのジョブ管理用デ一 タを選択する手順と、
前記選択したジョブ管理用データの前記ステータスデータおよび前記処 理順番データに基づいて、 次に実行を行うジョブを選択する手順と、
前記選択したジョブを実行する手順と、
当該ジョブの実行に応じて、 前記選択したジヨブ管理用データの前記ス テ一タスデータを更新する手順と を有するプログラム。
2 7 . 集積面路を用いた手続きに関する処理を行うアプリケーショ ンプロダラ ムが動作する半導体回路が行うデータ処理方法であって、
前記ァプリケーションプログラムが前記集積回路を操作するために用い る操作コードと前記操作の名前である操作名との対応を示す対応指示データを前 記半導体 EI路が参照可能であり、
前記アプリケーショ ンプログラムの動作を前記操作名を用いて記述した 動作記述プ口グラムを前記半導体回路が入力し、
前記半導体回路が、 前記動作記述プログラムに記述された前記操作名に 対応する前記操作コードを前記対応指示データを参照して得て、 当該得た操作コ 一ドを用いて前記アプリケーショ ンプログラムの処理を規定する
データ処理方法。
2 8 . 前記対応指示データは、 前記操作名と、 当該操作名に対応する操作を前 記集積回路に行うときに用いられる鍵情報との対応をさらに示し、
前記半導体回路は、 前記動作記述プログラムに記述された前記操作名に 対応する前記鍵情報を前記対応指示データを参照して得て、 当該得た鍵情報を用 いて前記アプリケーショ ンプログラムの処理を規定する
請求項 2 7に記載のデータ処理方法。
2 9 . 前記半導体回路は、
処理要求に応じて、 前記アプリケーショ ンプログラムの処理を構成する 複数のジョブの実行順番を示すジョブ実行順番データと、 前記複数のジョブの実 行の進行状態を示すステータスデータとを舍むジョブ管理用データを生成し、 前記ジョブ管理用データの前記ステータスデータおよび前記処理順番デ ータに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジヨブ管理用データの前記ス テータスデータを更新する
請求項 2 7に記載のデータ処理方法。
3 0 . 前記半導体回路は、
前記対応指示データおよび前記動作記述プログラムを用いて、 前記ジョ ブ管理用データのテンプレートデータを生成し、
前記処理要求に応じて、 前記テンプレートデータを用いて前記ジョブ管 理用データを生成する
請求項 2 9に記載のデータ処理方法。
3 1 . 前記半導体回路は、
複数の処理要求のそれぞれについて、 前記ジョブ管理用データを生成し 複数の前記データモジュールから一つのジョブ管理用データを選択し、 前記選択したジヨブ管理用データの前記ステータスデータおよび前記処 理順番データに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ス テータスデータを更新し、
当該更新後に、 前記複数のデータモジュールから一つのジョブ管理用デ ータを選択する
請求項 2 9に記載のデータ処理方法。
3 2 . 前記半導体回路は、
前記処理要求に応じた処理を構成する全てのジョブの実行が終了した前 記ジョブ管理用データを消去する
請求項 3 1に記載のデータ処理方法。
3 3 . 前記動作記述プログラムは、 前記半導体回路が処理可能な前記ジョブ管 理用データの最大数を指定した記述を舍み、
前記半導体回路は、 前記ジョブ管理用データの数が前記指定された最大 数以下の場合に、 前記処理要求に応じて前記ジョブ管理用データを生成する 請求項 3 1に記載のデータ処理方法。
3 4 . 前記半導体回路は、
前記集積回路に対しての複数の前記操作に対応する複数のジョブの実行 順番を示す前記実行順番データを舍む前記ジョブ管理用データを生成する
請求項 3 1に記載のデータ処理方法。
3 5 . 前記動作記述プログラムは、 前記集積回路からの読み出したデータを格 納するデータプロック、 前記集積回路に書き込むデータを格納するデータプロッ ク、 および、 前記集積回路を用いた手続き処理の履歴情報を格納するデ一タブ口 ックの少なく とも一つのデータプロ 'ンクを定義する記述を舍み、
前記半導体回路は、 前記動作記述プログラムに基づいて、 前記データブ ロ ックを生成する
請求項 3 1に記載のデータ処理方法。
3 6 . 前記操作名は、 マクロコマンドである
請求項 2 7に記載のデータ処理方法。
3 7 . 前記集積回路は、 カードに搭載されている
請求項 2 7に記載のデータ処理方法。
3 8 . 集積回路を用いた手繞きに関する処理を行うアプリケーショ ンプロダラ ムが動作する半導体回路であって、
前記アプリケーショ ンプログラムが前記集積回路を操作するために用い る操作コードと前記操作の名前である操作名との対応を示す対応指示データを記 憶する記憶回路と、
前記アプリケーショ ンプログラムの動作を前記操作名を用いて記述した 動作記述プログラムを入力するィ ンタフニースと、 当該入力した前記動作記述プログラムに記述された前記操作名に対応、す る前記操作コ一ドを前記対応指示データを参照して得て、 当該得た操作コードを 用いて前記アプリケーショ ンプログラムの処理を規定する制御回路と
を有する半導体回路。
3 9 . 前記対応指示データは、 前記操作名と、 当該操作名に対応する操作を前 記集積回路に行うときに用いられる鍵情報との対応をさらに示し、
前記制御画路は、 前記動作記述プログラムに記述された前記操作名に対 応する前記鍵情報を前記対応指示データを参照して得て、 当該得た鍵情報を用い て前記アプリケーショ ンプログラムの処理を規定する
請求項 3 8に記載の半導体回路。
4 0 . 前記制御回路は、
処理要求に応じて、 前記アプリケーショ ンプログラムの処理を構成する 複数のジョブの実行順番を示すジョブ実行順番データと、 前記複数のジョブの実 行の進行状態を示すステータスデータとを舍むジョブ管理用データを生成し、 前記ジョブ管理用データの前記ステータスデータおよび前記処理順番デ ータに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ス テ一タスデータを更新する
請求項 3 8に記載の半導体回路。
4 1 . 前記制御回路は、
前記対応指示データおよび前記動作記述プログラムを用いて、 前記ジョ ブ管理用データのテンプレートデータを生成し、
前記処理要求に応じて、 前記テンプレートデータを用いて前記ジョブ管 理用データを生成する
請求項 4 0に記載の半導体回路。
4 2 . 前記制御回路は、
複数の処理要求のそれぞれについて、 前記ジョブ管理用データを生成し 複数の前記データモジユールから一つのジョブ管理用データを選択し、 前記選択したジヨブ管理用データの前記ステータスデータおよび前記処 理順番データに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ス テータスデータを更新し、
当該更新後に、 前記複数のデータモジュールから一つのジョブ管理用デ ータを選択する
請求項 4 0に記載の半導体回路。
4 3 . 前記制御回路は、 前記処理要求に応じた処理を構成する全てのジョブの 実行が終了した前記ジョブ管理用データを消去する
請求項 4 2に記載の半導体 Hi路。
4 4 . 前記制御回路は、
前記動作記述プログラムが、 前記半導体回路が処理可能な前記ジョブ管 理用データの最大数を指定した記述を含む場合に、
前記ジョブ管理用データの数が前記指定された最大数以下であることを 条件に、 前記処理要求に応じて前記ジョブ管理用データを生成する
請求項 4 2に記載の半導体回路。
4 5 . 前記制御回路は、 前記集積回路に対しての複数の前記操作に対応する複 数のジョブの実行順番を示す前記実行順番データを舍む前記ジョブ管理用データ を生成する
請求項 4 2に記載の半導体回路。
4 6 . 前記制御回路は、
前記動作記述プログラムが、 前記集積回路からの読み出したデータを格 納するデ一タブ π 'ン ク、 前記集積回路に書き込むデータを格納するデ一タブ口ッ ク、 および、 前記集積回路を用いた手続き処理の履歴情報を格納するデ一タブ σ ックの少なく とも一つのデータプロックを定義する記述を舍む場合に、
前記動作記述プログラムに基づいて、 前記データプロックを生成する 請求項 4 2に記載の半導体回路。
4 7 . 前記操作名は、 マクロコマンドである
請求項 4 2に記載の半導体回路。
4 8 . 前記集積回路は、 カードに搭載されている
請求項 4 2に記載の半導体回路。
4 9 . 耐タンパ性の半導体回路である
請求項 4 2に記載の半導体回路。
5 0 . 集積回路を用いた手続きに閩する処理を行うアプリケーショ ンプロダラ ムが動作する半導体回路によって実行されるプログラムであって、
前記集積回路に対する操作の名前である操作名を用いて前記アプリケー シヨ ンプログラムの動作を記述した動作記述プログラムを入力する手順と、
前記ァプリケーシヨ ンプ πグラムが前記集積回路を操作するために用い る操作コードと前記操作名との対応を示す対応指示データを参照して、 前記動作 記述プログラムに記述された前記操作名に対応する前記操作コードを得る手順と 前記得た操作コードを用いて前記アプリケーショ ンプログラムの処理を 規定する手順と
を有するプログラム。
5 1 . アプリケーショ ンプログラムを実行する半導体回路が行うデータ処理方 法であって、 前記アブリケーシヨンプ Πグラムを構成する複数のプログラムモジュ一 ルの各々を、 複数のファィァウォールのうち予め各プログラムモジュールに割り 当てられたフアイァウォールによって保護し、
前記プログラムモジュールを、 当該プログラムモジユールに割り当てら れたファイアウォールを識別するファイアウォール識別情報と対応付けて登録し 前記登録が行われていることを条件に、 前記プログラムモジユールを実 行する
データ処理方法。
5 2 . 同じファイアウォール識別情報と対応付けて登録されている複数のプロ グラムモジュール間では、 データ授受またはデータ参照を許可し、 異なるフアイ ァウォール識別情報と対応付けて登録されている複数のプログラムモジュ一ル間 ではデータ授受またはデータ参照を禁止する
請求項 5 1に記載のデータ処理方法。
5 3 . 前記プログラムモジュールを、 前記半導体回路の外部から前記半導体回 路に当該プログラムモジュールをダウン口一ドするときに用いられるダウンロ一 ド用鍵情報とさらに対応付けて登録し、
前記プログラムモジュールのダウンロード要求を受けると、 当該プログ ラムモジュールに対応して登録された前記ダウンロード用鍵情報を用いて、 当該 ダウンロードの可否を判断し、 ダウンロード可と判断された場合に、 当該プログ ラムモジュールのダウンロードを行う
請求項 5 1に記載のデータ処理方法。
5 4 . 前記プログラムモジュ一ルに対応して前記ダゥンロード用鍵情報が登録 されていない場合に、 当該プログラムモジュールのダウンロードを行わない 請求項 5 3に記載のデータ処理方法。
5 5 . 前記ダウンロード要求の送信元との間で相互認証を行い、 当該送信元の 正当性を確認した後に、 前記ダウンロードの可否を判断する
請求項 5 3に記載のデータ処理方法。
5 6 . 前記プログラムモジュールを、 当該プログラムモジュールの実行前に用 いられる鍵情報とさらに対応付けて登録し、
実行要求を受けたプログラムモジユールに対応する前記鍵情報を用いて 、 当該プログラムモジュールが改変または改竄されているか否かを判断し、 改変 または改竄されていないと判断した場合に、 当該プログラムモジユールを実行す る
請求項 5 1に記載のデータ処理方法。
5 7 . 前記プログラムモジュールを、 前記半導体回路の外部に設けられた半導 体記憶回路に記憶する場合に、
前記半導体回路が、 前記プログラムモジュールをスクランブルした後に 前記半導体記憶回路に書き込み、
前記半導体回路が、 前記半導体記憶回路から読み出したプログラムモジ ユールをデスクランブルする
請求項 5 1に記載のデータ処理方法。
5 8 . 前記アプリケーショ ンプログラム力 前記半導体回路との間でデータの 送受信を行う集積回路を用いた手続き処理を規定している場合に、
前記集積回路の操作に用いられる第 1の鏈情報を、 第 2の鍵情報で暗号 化して前記半導体記憶回路に記憶し、
前記第 2の鍵情報を前記半導体回路内に記憶する
請求項 5 7に記載のデータ処理方法。
5 9 . 前記集積回路は、 カードに搭載されている
請求項 5 8に記載のデータ処理方法。
6 0 . 前記半導体回路は、 前記集積回路を用いて行う手続きを提供する複数の 手続き提供者にそれぞれ対応した複数の前記アプリケーショ ンプログラムを実行 し、
同じアプリケーショ ンプログラムを構成する複数の前記プログラムモジ ユールを、 同じ前記ファイアウォールによって保護する
請求項 5 8に記載のデータ処理方法。
6 1 . アプリケ一ショ ンプログラムを実行する半導体回路であって、
前記ァプリケーシヨ ンプログラムを構成する複数のプログラムモジユー ルの各々を、 複数のファィァウォールのうち予め各プログラムモジュールに割り 当てられたファィァウォールによって保護し、
前記プ αグラムモジユールを、 当該プログラムモジユールに割り当てら れたファイアウォールを識別するファイアゥォール識別情報と対応付けて登録し 前記登録が行われていることを条件に、 前記プログラムモジユールを実 行する 半導体回路。
6 2 . 同じファイアウォール識別情報と対応付けて登録されている複数のプロ グラムモジュール間では、 データ授受またはデータ参照を許可し、 異なるフアイ ァウォール識別情報と対応付けて登録されている複数のプログラムモジユール間 ではデータ授受またはデータ参照を禁止する
請求項 6 1に記載の半導体回路。
6 3 . 前記プログラムモジュールを、 前記半導体面路の外部から前記半導体画 路に当該プログラムモジュールをダウン π—ドするときに用いられるダウン 一 ド用鍵情報とさらに対応付けて登録し、
前記プ αグラムモジュ一ルのダゥン口一ド要求を受けると、 当該プログ ラムモジュールに対応して登録された前記ダウン ct—ド用鍵情報を用いて、 当該 ダウンロードの可否を判断し、 ダウンロード可と判断された場合に、 当該プログ ラムモジュールのダウンロ一ドを行う
請求項 6 1に記載の半導体回路。
6 4 . 前記プログラムモジュールに対応して前記ダウン σ—ド用鍵情報が登録 されていない場合に、 当該プログラムモジュールのダウンロ一ドを行わない
請求項 6 3に記載の半導体回路。
6 5 . 前記ダウンロード要求の送信元との間で相互認証を行い、 当該送信元の 正当性を確認した後に、 前記ダウンロードの可否を判断する
請求項 6 3に記載の半導体回路。
6 6 . 前記プログラムモジュールを、 当該プログラムモジュールの実行前に用 いられる鍵情報とさらに対応付けて登録し、
実行要求を受けたプログラムモジユールに対応する前記鍵情報を用いて 、 当該プログラムモジュールが改変または改竄されているか否かを判断し、 改変 または改竄されていないと判断した場合に、 当該プログラムモジユールを実行す る
請求項 6 1に記載の半導体回路。
6 7 . 前記プログラムモジュールを、 前記半導体回路の外部に設けられた半導 体記憶回路に記憶する場合に、 ' 前記半導体画路が、 前記プ口グラムモジュールをスクランブルした後に 前記半導体記憶回路に書き込み、
前記半導体回路が、 前記半導体記憶回路から読み出したプログラムモジ ユールをデスク ランブルする
請求項 6 1に記載の半導体回路。
6 8 . 前記アプリケーショ ンプログラムが、 前記半導体回路との間でデータの 送受信を行う集積回路を用いた手続き処理を規定している場合に、
前記集積回路の操作に用いられる第 1の鍵情報を、 第 2の鍵情報で暗号 化して前記半導体記憶回路に記憶し、
前記第 2の鍵情報を前記半導体西路内に記憶する
請求項 6 1に記載の半導体回路。
6 9 . 前記集積回路は、 カードに搭載されている
請求項 6 1に記載の半導体画路。
7 0 . 前記半導体画路は、 前記集積回路を用いて行う手続きを提供する複数の 手続き提供者にそれぞれ対応した複数の前記アプリケーショ ンプログラムを実行 し、
同じアプリケ一ションプログラムを構成する複数の前記プログラムモジ ユールを、 同じ前記ファイアウォールによって保護する
請求項 6 8に記載の半導体回路。
7 1 . アプリケーショ ンプログラムを実行する半導体回路が実行するプログラ ム あっ こ、
前記アプリケ一ションプログラムを構成する複数のプログラムモジユー ルの各々を、 複数のファィァウォールのうち予め各プログラムモジュールに割り 当てられたファイアウォールによって保護する手順と、
前記プログラムモジユールを、 当該プログラムモジユールに割り当てら れたファイアウォールを識別するファイアウォール識別情報と対応付けて登録す る手 il頃と、
前記登録が行われていることを条件に、 前記プログラムモジュールを実 行する手順と
を有するプログラム。
7 2 . 同じファイアウォール識別情報と対応付けて登録されている複数のプ α グラムモジュール間では、 データ授受またはデータ参照を許可し、 異なるフアイ ァウォール識別情報と対応付けて登録されている複数のプログラムモジユール間 ではデータ授受またはデータ参照を禁止する手順
をさらに有する請求項 7 1に記載のプログラム。
7 3 . アプリケーショ ンプログラムを実行する半導体回路が行うデータ処理方 法であって、 それぞれフアイァウォールによって保護された複数のアプリケーション プログラムを独立して実行し、
前記ファィァウォールを介して行われる前記アプリケ一ションプロダラ ム間の通信を許可する条件を予め登録し、
前記アプリケ一ショ ンプログラムが他の前記アプリケーショ ンプロダラ ムとの通信要求を発生すると、 当該通信要求が前記登録された条件を満たしてい るか否かを判断し、
前記登録された条件を満たしていると判断した場合に、 前記通信要求に 応じた前記ァプリケーシヨ ンプログラム間の通信を実行する
データ処理方法。
7 4 . 前記ファイアウォールを介した通信が許可される前記通信要求の発生元 のアプリケーショ ンプログラムと前記他のァプリケ一ショ ンプ αグラムとの組み 合わせを示す情報を、 前記通信を許可する条件として登録する
請求項 7 3に記載のデータ処理方法。
7 5 . 前記半導体酉路が当該半導体回路の外部から処理要求を受けると、 前記複数のァプリケーシヨ ンプログラムのうち、 前記処理要求に対応し たアプリケーショ ンプログラムを選択し、
当該選択したアプリケーショ ンプログラムに基づいて、 前記処理要求に 応じた処理を行う
請求項 7 3に記載のデータ処理方法。
7 6 . 前記アプリケーショ ンプログラム間の通信に伴うデータの授受を、 前記 半導体回路の外部の半導体記憶装置の所定の記憶領域を用いて行う
請求項 7 3に記載のデータ処理方法。
7 7 . データ授側のアプリケーショ ンプログラムが、 前記所定の記憶領域にデ ータを書き込み、
当該書き込みが行われたことをデータ受側のアプリケーションプログラ ムに通知し、
当該通知に応じて、 前記データ受側のアプリケ一ショ ンプログラムが、 前記所定の記憶領域から前記データを読み取る
請求項 7 6に記載のデータ処理方法。
7 8 . 前記所定の記憶領域に対してのアクセス要求が発生した場合に、 フアイ ァウォールによって当該アクセスの正当性を判断し、 正当であると判断されたァ クセス要求に対してのみ前記所定の記憶領域へのアクセスを認める
請求項 7 6に記載のデータ処理方法。
7 9 . 前記アプリケーションプログラム間の通信に伴って授受されるデータを スクランブルした後に前記所定の記憶領域に記憶する
請求項 7 6に記載のデータ処理方法。
8 0 . 前記半導体回路は、 前記アプリケーショ ンプログラムの実行に伴う処理 の少なく とも一部を、 他の半導体回路に依頼する
請求項 7 3に記載のデータ処理方法。
8 1 . それぞれファィァウォールによって保護された複数のアプリケ一ショ ン プログラムを独立して実行し、
前記フアイァウォールを介して行われる前記アプリケーショ ンプロダラ ム間の通信を許可する条件を予め登録し、
前記ァプリケーシヨンプログラムが他の前記アブリケーショ ンプロダラ ムとの通信要求を発生すると、 当該通信要求が前記登録された条件を満たしてい るか否かを判断し、
前記登録された条件を満たしていると判断した場合に、 前記通信要求に 応じた前記ァプリケーシヨ ンプログラム間の通信を実行する
半導体回路。
8 2 . 前記ファィァウォールを介した通信が許可される前記通信要求の発生元 のアプリケーションプログラムと前記他のァプリケーショ ンプログラムとの組み 合わせを示す情報を、 前記通信を許可する条件として登録する
請求項 8 1に記載の半導体回路。
8 3 . 外部から処理要求を受けると、
前記複数のアプリケーショ ンプログラムのうち、 前記処理要求に対応し たアプリケーショ ンプログラムを選択し、
当該選択したアプリケーショ ンプログラムに基づいて、 前記処理要求に 応じた処理を行う
請求項 8 1に記載の半導体回路。
8 4 . 前記アプリケーショ ンプ σグラム間の通信に伴うデータの授受を、 前記 半導体回路の外部の半導体記憶装置の所定の記憶領域を用いて行う
請求項 8 1に記載の半導体画路。
8 5 . データ授側のアプリケーショ ンプログラムに、 前記所定の記憶領域にデ ータを書き込ませ、
当該書き込みが行われたことをデータ受側のアプリケ一ショ ンプログラ ムに通知し、
当該通知に応じて、 前記データ受側のアプリケ一ショ ンプログラムに、 前記所定の記憶領域から前記データを読み取らせる
請求項 8 4に記載の半導体回路。
8 6 . 前記所定の記憶領域に対してのアクセス要求が発生した場合に、 フアイ ァウォールによって当該アクセスの正当性を判断し、 正当であると判断されたァ クセス要求に対してのみ前記所定の記憶領域へのアクセスを認める
請求項 8 4に記載の半導体回路。
8 7 . 前記アプリケーショ ンプログラム間の通信に伴って授受されるデータを スクランブルした後に前記所定の記憶領域に記憶する
請求項 8 4に記載の半導体回路。
8 8 . 前記アプリケーションプログラムの実行に伴う処理の少なく とも一部を 、 他の半導体回路に依頼する
請求項 8 1に記載の半導体面路。
• 8 9 . それぞれファイアウォールによって保護された複数のアプリケーショ ン プログラムを独立して実行する手順と、
前記ファィァウォールを介して行われる前記アプリケ一ショ ンプロダラ ム間の通信を許可する条件を予め登録する手順と、
前記ァプリケーショ ンプログラムが他の前記ァプリケ一ショ ンプロダラ ムとの通信要求を発生すると、 当該通信要求が前記登録された条件を満たしてい るか否かを判断する手順と、
前記登録された条件を満たしていると判断した場合に、 前記通信要求に 応じた前記ァプリケ一シヨ ンプログラム間の通信を実行する手順と
を半導体回路に実行させるプ σグラム。
9 0 . 半導体画路または当該半導体回路がアクセス可能な半導体記憶装置が、 前記半導体回路内で動作するプログラムをダウンロードするデータ処理方法にお いて、
前記半導体回路が、 複数の階層からなるソフ トゥユア構造を有し、 各階 層に対応したダウンロード用署名検証鍵情報を前記半導体回路が参照可能であり 前記半導体回路が、 ダウンロード要求を受けると、 当該ダウンロード要 求に対応して生成されたダウンロード用署名情報を、 前記ダウン口一ド用署名検 証鍵情報を用いて検証し、
前記半導体装置が、 前記ダウンロード用署名情報が正当であると検証し たことを条件に、 当該検証に用いたダウン口一ド用署名検証鍵情報に対応した階 層プログラムをダウンロ一ドすることを、 前記ダウンロード要求の発行元に許可 する
データ処理方法
9 1 . 認証用装置が、 ダウンロードが許可されるプログラムが属する階層に対 応したアクセス原鍵情報を記憶し、
前記認証用装置が、 前記半導体回路に前記ダウンロード要求を送信し、 前記認証用装置が、 当該アクセス原鏈情報を用いて前記ダウンロード用 署名情報を生成し、 当該ダウンロード用署名情報を前記半導体回路に送信する 請求項 9 0に記載のデータ処理方法。
9 2 , 前記認証用装置が、 前記半導体回路の識別情報を記憶し、
前記認証用装置が、 前記識別情報を平文として前記アクセス原鍵情報を 用いて暗号化を行ってダウンロード用原鍵情報を生成し、 当該ダウン口一ド用原 鍵情報を用いて前記ダウンロード用署名情報を生成する
請求項 9 0に記載のデータ処理方法。
9 3 . 前記認証用装置が、 前記半導体回路へのダウンロードを許可された前記 階層に対応する第 1のアクセス原鍵情報、 並びに、 当該階層の上位の単数または 複数の階層にそれぞれ対応した単数または複数の第 2のアクセス原鍵情報を記憶 し、
前記認証用装置が、 前記第 1 のアクセス原鏈情報、 並びに前記単数また は複数の第 2のアクセス原鍵情報を用いて前記ダウンロード用署名情報を生成す る
請求項 9 1に記載のデータ処理方法。
9 4 . 前記認証用装置が、 前記半導体回路との間で相互認証を行った後に、 前 記ダウンロード用署名情報を前記半導体回路に送信する
請求項 9 1に記載のデータ処理方法。
9 5 . 前記認証用装置が、 相互認証用原鍵情報、 並びに前記半導体回路の識別 情報を記憶し、
前記認証用装置が、 前記識別情報を平文として前記相互認証用原鍵情報 を用いて暗号化を行って相互認証用鍵情報を生成し、
前記認証用装置が、 前記相互認証用鍵情報を用いて前記半導体回路との 間で相互認証を行う
請求項 9 4に記載のデータ処理方法。
9 6 . 前記半導体回路のソフ トウ ア構造が、 前記半導体回路の管理者にのみ ダウンロード権が与えられた第 1の階層と、 前記第 1の階層の上位に位置し所定 の集積回路を操作するプログラムが属する第 2の階層と、 前記第 2の階層の上位 に位置し前記集積回路を用いた取り引き手続き内容を規定したアプリケ一ショ ン プログラムが属する第 3の階層とに分類されている
請求項 9 0に記載のデータ処理方法。
9 7 . 前記集積回路は、 カードに搭載されており、
前記半導体回路は、 通信回線、 並びに当該通信回線に接続された通信装 置を介して前記集積回路にアクセスを行う
請求項 9 6に記載のデータ処理方法。
9 8 . 前記第 3の階層には、 前記集積回路を用いた取り引きを行う複数の事業 者のそれぞれに対応したアプリケ一ショ ンプログラムが属し、 当該複数のアプリ ケーショ ンプログラムのそれぞれにフアイァウォールが規定されており、 前記フ ァィァウォールを介した前記アプリケ一ショ ンプログラム間のデータ授受または データ参照が規制されている
請求項 9 6に記載のデータ処理方法。
9 9 . 前記認証用装置は、 当該認証用装置に加えられた物理的な外力であって 前記ァクセス原鍵情報が不正に操作される可能性がある外力を検出した場合に、 前記記憶しているァクセス原鍵情報を自動的に消去する
請求項 9 1に記載のデータ処理方法。
1 0 0 . 複数の階層からなるソフ トウ ア構造を有する半導体回路であって、 各階層に対応したダウンロード用署名検証鍵情報を参照可能であり、 ダウンロード要求を受けると、 当該ダウンロード要求に対応して生成さ れたダウンロード用署名情報を、 前記ダウンロード用署名検証鍵情報を用いて検 証し、
前記ダウンロード用署名情報が正当であると検証したことを条件に、 当 該検証に用いたダウン口一ド用署名検証鍵情報に対応した階層のプログラムを、 当該半導体面路または当該半導体回路にアクセス可能な半導体記憶回路にダウン ロードすることを、 前記ダウンロード要求の発行元に許可する
半導体回路。
1 0 1 . 前記半導体回路のソフ トウ ア構造が、 前記半導体回路の管理者にのみ ダウンロード権が与えられた第 1の階層と、 前記第 1の階層の上位に位置し所定 の集積回路を操作するプログラムが属する第 2の階層と、 前記第 2の階層の上位 に位置し前記集積回路を用いた取り引き手続き内容を規定したアプリケーショ ン プログラムが属する第 3の階層とに分類されている
請求項 1 0 0に記載の半導体回路。
1 0 2 . 前記集積回路は、 カードに搭載されており、
前記半導体回路は、 通信回線、 並びに当該通信回線に接続された通信装 置を介して前記集積回路にアクセスを行う
請求項 1 0 0に記載の半導体回路。
1 0 3 . 前記第 3の階層には、 前記集積回路を用いた取り引きを行う複数の事業 者のそれぞれに対応したアプリケ一ショ ンプ σグラムが属し、 当該複数のアプリ ケ一ショ ンプログラムのそれぞれにファィァウォールが規定されており、 前記フ ァィァウォールを介した前記アプリケ一ショ ンプログラム間のデータ授受または データ参照が規制されている
請求項 1 0 2に記載の半導体回路。
1 0 4 . 複数の階層からなるソフ トウ ア構造を有する半導体回路または当該半 導体回路がアクセス可能な半導体記憶装置に、 前記半導体回路内で動作するプロ グラムをダウンロードする際の認証に用いられる認証用装置であって、 前記ダゥンロードが許可されるプログラムが属する前記階層に対応した アクセス原鍵情報を記憶し、
前記半導体回路に前記ダウンロード要求を送信し、
当該アクセス原鍵情報を用いて前記ダウンロード用署名情報を生成し、 当該ダウンロード用署名情報を前記半導体回路に送信する
認証用装置。
1 0 5 . 前記半導体回路の識別情報を記憶し、
前記識別情報を平文として前記アクセス原鍵情報を用いて暗号化を行つ てダウンロード用原鏈情報を生成し、 当該ダウンロード用原鍵情報を用いて前記 ダウンロード用署名情報を生成する
請求項 1 0 4に記載の認証用装置。
1 0 6 . 前記半導体回路へのダウンロードを許可された前記階層に対応する第 1 のアクセス原鍵情報、 並びに、 当該階層の上位の単数または複数の階層にそれぞ れ対応した単数または複数の第 2のァクセス原鏈情報を記憶し、
前記第 1 のァクセス原鍵情報、 並びに前記単数または複数の第 2のァク セス原鍵情報を用いて前記ダウンロード用署名情報を生成する
請求項 1 0 5に記載の認証用装置。
1 0 7 . 前記半導体回路との間で相互認証を行った後に、 前記ダウンロード用署 名情報を前記半導体画路に送信する
請求項 1 0 5に記載の認証用装置。
1 0 8 . 相互認証用原鍵情報、 並びに前記半導体回路の識別情報を記憶し、 前記識別情報を平文として前記相互認証用原鍵情報を用いて暗号化を行 つて相互認証用鍵情報を生成し、
前記相互認証用鍵情報を用いて前記半導体回路との間で相互認証を行う 請求項 1 0 7に記載の認証用装置。
1 0 9 . 当該認証用装置に加えられた物理的な外力であって前記アクセス原鍵情 報が不正に操作される可能性がある外力を検出した場合に、 前記記憶しているァ クセス原鍵情報を自動的に消去する
請求項 1 0 5に記載の認証用装置。
1 1 0 . 複数の階層からなるソフ トウ ア構造を有する半導体回路が実行するプ ログラムであって、
ダウンロード要求を受けると、 当該ダウンロード要求に対応して生成さ れたダウンロード用署名情報を、 前記複数の階層のうち対応する層の前記ダウン ロード用署名検証鏈情報を用いて検証する手順と、
前記ダウン口一ド用署名情報が正当であると検証したことを条件に、 当 該検証に用いたダウンロード用署名検証鍵情報に対応した階層のプログラムを、 当該半導体画路または当該半導体回路にアクセス可能な半導体記憶回路にダウン ロードすることを、 前記ダウンロード要求の発行元に許可する手順と
を有するプログラム。
1 1 1 . データ処理回路およびデータ入出力処理回路を有する半導体回路であつ て、
前記データ処理回路は、
当該半導体回路の外部のバスとの間で、 前記データ入出力処理回路を介 してデータを入出力し、
前記データ入出力画路は、
前記データ処理回路から入力したデータを、 所定のデータ長を単位とし て暗号化して前記バスに出力し、
前記バスから入力したデータを復号して前記データ処理回路に出力し、 前記バスのバス幅を N bとし、 前記データ長を N cとし、 N c / N b = nとし、 n以上の最も小さい整数を mとした場合に、 前記バスを介したデータ入 出力トランザクションを、 m回のデータ入出力トランザクションを単位として行
Ό
半導体回路。
1 1 2 . 前記データ入出力画路は、
前記データ処理画路から入力した第 1のァ ドレスに基づいて、 前記バス を介して半導体記憶回路にアクセスを行う場合に、
N cのデータが記憶される記憶領域を単位として前記半導体記憶回路に アクセスを行うように、 前記第 1のア ドレスを第 2のア ドレスに変換し、 当該第 2のァドレスを用いて前記半導体記憶回路にアクセスを行う
請求項 1 1 1に記載の半導体画路。
1 1 3 . 前記データ入出力回路は、
第 1 のァ ドレスに第 1 のデータを書き込む指示を前記データ処理回路が 受けた場合に、
前記第 1 のァ ドレスを前記第 2のァ ドレスに変換し、
前記第 2のァドレスを用いて、 前記第 1のァドレスを舍む所定のァドレ ス範囲のデータを前記半導体記憶回路から読み出し、
当該読み出したデータを復号し、
前記復号したデータのうち、 前記第 1のァドレスに対応するデータを書 き換え、
前記書き換えられたデータを舍む前記所定のァ ドレス範囲のデータを暗 号化し、
前記暗号化したデータを、 前記第 2のァドレスを用いて前記半導体記憶 回路に書き込む
請求項 1 1 2に記載の半導体回路。
1 1 4 . 前記データ入出力回路は、 第 1のァ ドレスからデータを読み出す指示を前記データ処理画路から受 けた場合に、
前記第 1のァ ドレスを前記第 2のア ドレスに変換し、
前記第 2のァドレスを用いて、 前記第 1のァドレスを舍む所定のァドレ ス範囲のデータを前記半導体記憶回路から読み出し、
当該読み出したデータを復号し、
当該復号したデータのうち、 前記第 1のァ ドレスに対応するデータを取 り出して前記データ処理回路に出力する
請求項 1 1 2に記載の半導体回路。
1 1 5 . 前記データ入出力回路は、
前記暗号化および復号に用いる鍵データを、 当該データを前記半導体記 憶回路に書き込むために暗号化するときに用いる鍵データと、 当該データを前記 半導体記憶回路から読み出して復号するときに用いる鍵データとが同じになるこ とを条件に、 適宜切り換える
請求項 1 1 1に記載の半導体回路。
1 1 6 . 前記データ入出力回路は、 複数の前記鍵を記憶しており、
前記複数の鍵を適宜切り換えて使用する
請求項 1 1 5に記載の半導体回路。
1 1 7 . 前記データ入出力回路は、 前記半導体記憶回路にアクセスを行うアドレ スを用いて演算を行って前記鍵を生成する
請求項 1 1 5に記載の半導体面路。
1 1 8 . 前記データ入出力回路は、 前記半導体記憶回路に書き込むデータからパ リティデータを生成し、 当該データに対応付けて前記パリティデータを前記半導 体記憶回路に書き込み、 当該データの読み岀しと共に対応するパリティデータを 読み出し、 当該パリティデータに基づいて、 当該読み出したデータの正当性を検 証する 請求項 1 1 1に記載の半導体画路。
1 1 9 . 前記データ入出力回路は、 前記半導体記憶回路にデータを書き込む処理 、 または前記半導体記憶回路からデータを読み出す処理の少なくとも一方を、 複 数の処理に分割し、 当該分割した処理を単位としてパイプライン処理を実行する 請求項 1 1 1に記載の半導体回路。
1 2 0 . 前記データ入出力回路は、 前記データ処理回路から入力したア ドレスを スクランブルして前記第 2のァ ドレスを生成する
請求項 1 1 2に記載の半導体画路。
1 2 1 . バスを介して半導体回路と半導体記憶回路とが接続されている場合に、 前記半導体記憶回路にアクセスを行うときに半導体画路が行うデータ処理方法で あっ こ、
前記半導体記憶回路に書き込むデータを所定のデータ長を単位として暗 号化して前記バスに出力し、
前記バスから入力したデータを復号し、
前記バスのバス幅を N bとし、 前記データ長を N cとし、 N cノ N b = nとし、 n以上の最も小さい整数を mとした場合に、 前記バスを介したデータ入 出力トランザクションを、 m回のデータ入出力トランザクションを単位として行 Ό
データ処理方法。
1 2 2 . N cのデータが記憶される記憶領域を単位として前記半導体記憶回路に アクセスを行うように、 前記半導体記憶回路にアクセスを行う際に用いるァ ドレ スを生成する
請求項 1 2 1に記載のデータ処理方法。
1 2 3 . 前記生成したァ ドレスを用いて所定のァ ドレス範囲のデータを前記半導 体記憶回路から読み出し、 当該読み出したデータを復号し、
前記復号したデータのうち、 必要なデータを書き換え、
前記書き換えられたデータを舍む前記所定のア ドレス範囲のデータを暗 号化し、
前記暗号化したデータを、 前記生成したァドレスを用いて前記半導体記 憶回路に書き込む
請求項 1 2 2に記載のデータ処理方法。
1 2 4 . 前記生成したァ ドレスを用いて所定のァ ドレス範囲のデータを前記半導 体記憶回路から読み出し、
当該読み出したデータを復号し、
当該復号したデータのうち、 必要なデータを取り出して処理を行う 請求項 1 2 2に記載のデータ処理方法。
1 2 5 . 前記暗号化および復号に用いる鍵データを、 当該データを前記半導体記 憶 HI路に書き込むために暗号化するときに用いる鍵データと、 当該データを前記 半導体記憶回路から読み出して復号するときに用いる鍵データとが同じになるこ とを条件に、 適宜切り換える
請求項 1 2 1に記載のデータ処理方法。
1 2 6 . 複数の前記鍵を記憶しており、
前記複数の鏈を適宜切り換えて使用する
請求項 1 2 5に記載のデータ処理方法。
1 2 7 . 前記半導体記憶回路にアクセスを行うァ ドレスを用いて演算を行って前 記鏈を生成する
請求項 1 2 5に記載のデータ処理方法。
1 2 8 . 前記半導体記憶回路に書き込むデータからパリティデータを生成し、 当 該データに対応付けて前記パリティデータを前記半導体記憶回路に書き込み、 当 該データの読み出しと共に対応するパリティデータを読み出し、 当該パリテイデ ータに基づいて、 当該読み出したデータの正当性を検証する
請求項 1 2 1に記載のデータ処理方法。
1 2 9 . 前記半導体記憶回路にデータを書き込む処理、 または前記半導体記憶画 路からデータを読み出す処理の少なくとも一方を、 複数の処理に分割し、 当該分 割した処理を単位としてパイプライン処理を実行する
請求項 1 2 1に記載のデータ処理方法。
1 3 0 . 複数のプログラムの命令およびデータを記憶する記憶回路と、
伝送路を介して前記記憶回路にアクセスを行い、 前記複数のプログラム の命令およびデータを用いて前記複数のプログラムを実行する演算回路と、 前記伝送路と前記記憶回路との間に介在し、 制御信号に基づいて、 前記 伝送路と前記記憶回路との間を接続状態および非接続状態の何れか一方に設定す る接続切換回路と、
前記演算回路が前記複数のプログラムを実行中にアクセス可能な前記記 憶回路内のァドレス範囲を前記複数のプログラムの各々について規定したァクセ ス範囲規定データと、 前記演算回路がアクセス要求を出した前記記憶回路内のァ ドレスと、 前記演算回路が複数のプログラムのうち何れのプログラムを実行中で あるかを示す実行中プログラム指示情報とに基づいて、 前記伝送路と前記記憶回 路との間を接続状態および非接続状態の何れにするかを制御する前記制御信号を 生成する接続制御回路と、
前記伝送路を介した前記演算回路との間のデータ入出力と、 当該データ 処理装置の外部との間のデータ入出力とを行う入出力ィンタフユース回路と を有するデータ処理装置。.
1 3 1 . 前記接続制御画路は、
前記演算回路がアクセス要求を出した前記記憶回路内のァドレスが、 前 記ァクセス範囲規定データが規定する前記実行中のプログラムに対応するァドレ ス範画内にある場合に、 前記伝送路と前記記憶回路との間を接続状態にすること を示す前記制御信号を生成し、 当該ァドレス範囲内にない場合に前記伝送路と前 記記憶回路との間を非接続状態にすることを示す前記制御信号を生成する
請求項 1 3 0に記載のデータ処理装置。
1 3 2 . 前記接続制御回路は、
前記演算回路がフ ツチ、 リードおよびライ トの何れの命令を実行中で あるかに応じてそれぞれアクセス可能な前記記憶回路内のア ドレス範囲を規定し た前記ァクセス範囲規定データに基づいて、 実行中の命令に応じて前記制御信号 を生成する
請求項 1 3 0に記載のデータ処理装置。
1 3 3 . 前記接続制御回路は、 前記アクセス範囲規定データを記憶する記憶部を 有する
請求項 1 3 0に記載のデータ処理装置。
1 3 4 . 前記入出力イ ンタフェース回路は、 当該データ処理装置の外部で、 暗号 化された前記アクセス範囲規定データを記憶する集積回路との間でデータの送受 信を行い、
前記演算回路は、 前記伝送路および前記通信回路を介して、 前記集積回 路にアクセスを行い、
前記接続制御回路は、 所定の鍵情報を保持し、 前記通信回路および前記 伝送路を介して前記集積回路から前記暗号化されたアクセス範囲規定データを受 信し、 当該受信したアクセス範囲規定データを前記鍵情報を用いて復号し、 当該 復号したアクセス範囲規定データを用いて前記制御信号を生成する
請求項 1 3 0に記載のデータ処理装置。
1 3 5 . 前記接続制御回路は、 前記復号を行う暗号化された復号プログラムを前 記入出カインタフ ース回路および前記伝送路を介して受信し、 当該受信した復 号プログラムを復号して前記記憶回路に格納し、 当該記憶回路に格納された前記 復号プログラムを用いて、 前記アクセス範囲規定データの復号を行う 請求項 1 3 4に記載のデータ処理装置。
1 3 6 . 前記演算回路は、 前記接続制御回路が、 前記伝送路と前記記憶回路との 間を非接続状態に設定する場合に、 当該演算回路の動作を停止する
請求項 1 3 0に記載のデータ処理装置。
1 3 7 . 前記接続制御回路は、
前記演算回路が実行中の前記プログラムが他の前記プログラムの機能を 呼び出した場合に、 呼び出しを許可する呼び出し元および呼び出し先のプログラ ムの組み合わせを予め規定したプログラム間呼び出し関係規定データに基づいて 、 前記呼び出しが許可されているか否かを判断し、 許可されていると判断した場 合に、 前記伝送路と前記記憶回路との間を接続状態にする前記制御信号を生成し 、 不許可であると判断した場合に、 前記伝送路と前記記憶回路との間を非接続状 態にする前記制御信号を生成する
請求項 1 3 0に記載のデータ処理装置。
1 3 8 . 前記接続制御回路は、
前記演算回路がフ 'ンチ、 リードおよびライ トの何れの命令を実行中で あるかに応じてそれぞれ前記プログラムの組み合わせを規定したプログラム間呼 び出し関係規定データに基づいて、 実行中の命令に応じて前記制御信号を生成す る
請求項 1 3 7に記載のデータ処理装置。
1 3 9 . 前記接続制御回路は、 前記プログラム間呼び出し関係規定データを記憶 する記憶部を有する
請求項 1 3 7に記載のデータ処理装置。
1 4 0 . 前記入出力インタフ ース回路は、 当該データ処理装置の外部で、 暗号 化された前記プ口グラム間呼び出し関係規定データを記憶する集積回路との間で データの送受信を行い、
前記演算回路は、 前記伝送路および前記通信回路を介して、 前記集積回 路にアクセスを行い、
前記接続制御回路は、 所定の鍵情報を保持し、 前記通信回路および前記 伝送路を介して前記集積画路から前記暗号化されたプログラム間呼び出し鬨係規 定データを受信し、 当該受信したプログラム間呼び出し関係規定データを前記鍵 情報を用いて復号し、 当該復号したプログラム間呼び出し閲係規定データを用い て前記制御信号を生成する
請求項 1 3 7に記載のデータ処理装置。
1 4 1 . 前記接続制御回路は > 前記復号を行う暗号化された復号プ σグラムを前 記入出カインタフ ース回路および前記伝送路を介して受信し、 当該受信した復 号プログラムを復号して前記記憶回路に格納し、 当該記憶回路に格納された前記 復号プログラムを用いて、 前記プログラム間呼び出し関係規定データの復号を行 つ
請求項 1 4 0に記載のデータ処理装置。
1 4 2 . プログラムを実行する半導体回路であって、
第 1 の伝送路と、
前記プ口グラムを実行するための命令またはデータを記憶する記憶画路 と、
前記第 1 の伝送路を介して前記記憶回路から読み出した前記命令に基づ いて動作する演算 HI路と、
第 1の制御信号に基づいて前記第 1の伝送路と前記記憶回路との間を接 続状態および非接続状態の何れか一方にする第 1の接続切換回路と、
第 2の制御信号に基づいて、 当該半導体回路の外部の第 2の伝送路と前 記第 1の伝送路との間を接続状態および非接続状態の何れか一方にする第 2の接 続切換回路と、
接続を指示する前記第 1の制御信号を前記第 1の接続切換回路に出力す るときに、 非接続を指示する前記第 2の制御信号を前記第 2の接続切換回路に出 力し、 非接続を指示する前記第 1の制御信号を前記第 1の接続切換画路に出力す るときに、 接続を指示する前記第 2の制御信号を前記第 2の接続切換回路に出力 する接続制御回路と
を有する半導体回路。
1 4 3 . 前記第 2の接続切換画路は、 前記第 2の伝送路を介して、 前記半導体回 路の外部にある記憶装置に接続されている
請求項 1 4 2に記載の半導体回路。
1 4 . 前記接続制御回路は、
前記演算回路が前記記憶回路から命令を読み出す場合に、
接続を指示する前記第 1の制御信号を前記第 1の接続切換回路に出力し 、 非接続を指示する前記第 2の制御信号を前記第 2の接続切換回路に出力する 請求項 1 4 2に記載の半導体回路。
1 4 5 . 前記演算回路は、 実行する命令の種類を示す信号を第 3の伝送路に出力 し、 当該命令によってアクセスを行う記憶領域のァドレスを第 4の伝送路に出力 し、
前記接続制御回路は、
前記第 3の伝送路および前記第 4の伝送路を監視し、 前記演算回路がフ • ツチ命令を実行し、 かつ、 前記記憶回路にアクセスを行うと判断した場合に、 接続を指示する前記第 1の制御信号を前記第 1の接続切換回路に出力し 、 非接続を指示する前記第 2の制御信号を前記第 2の接続切換回路に出力する 請求項 1 4 4に記載の半導体回路。
1 4 6 , 前記記憶画'路は、 前記プログラムを実行するための機能モジュールであ つて、 それぞれ先頭に位置する非接続解除命令と、 末尾に位置する非接続開始命 令とを舍む複数の命令をそれぞれ格納した複数の機能モジュールを記憶し、 前記接続制御回路は、 前記演算回路が前記非接続解除命令を実行すると 前記接続を指示する前記第 1の制御信号を前記第 1の接続切換回路に出力し、 前 記演算回路が前記非接続開始命令を実行すると前記非接続を指示する前記第 1の 制御信号を前記第 1の接続切換回路に出力する
請求項 1 4 2に記載の半導体回路。
1 4 7 . 前記接続制御回路は、
前記演算回路が前記非接続解除命令を実行してから次に前記非接続開始 命令を実行するまで、 前記第 1の伝送路と前記記憶回路との間を継続して接続状 態にするように前記第 1の制御信号を前記第 1の接続切換画路に出力する
請求項 1 4 6に記載の半導体回路。
1 4 8 . 前記演算回路の内部状態の読み出し要求と、 当該内部状態の書き換え要 求と、 前記演算回路の動作停止要求との少なくとも一つを発行する外部装置と接 続され、 第 3の制御信号に基づいて、 前記読み出し要求、 前記書き換え要求およ び前記動作停止要求を前記演算回路に出力するか否かを決定する第 3の接続切換 回路
をさらに有し、
前記接続制御回路は、
接続を指示する前記第 1の制御信号を前記第 1の接続切換回路に出力す るときに、 前記読み出し要求、 前記書き換え要求および前記動作停止要求を前記 演算回路に出力しないことを指示する前記第 3の制御信号を前記第 3の接続切換 回路に出力し、 非接続を指示する前記第 1の制御信号を前記第 1の接続切換回路 に出力するときに、 前記読み出し要求、 前記書き換え要求および前記動作停止要 求を前記演算回路に岀カすることを指示する前記第 3の制御信号を前記第 3の接 続切換回路に出力する
請求項 1 4 2に記載の半導体 HI路。
1 4 9 . プログラムを実行する半導体回路であって、
前記プログラムの暗号化された命令またはデータを記憶し、 当該半導体 回路の外部の第 1の伝送路を介して記憶装置に出力するデータを暗号化し、 前記 第 1の伝送路を介して前記記憶装置から入力した暗号化された命令またはデータ を復号する暗号化復号回路と、
前記復号された命令またはデータを用いて演算を行う演算回路と、 制御信号に基づいて、 前記半導体画路の外部の第 2の伝送路と、 前記演 算 HI路との間の通信の許否を選択する選択回路と、
前記演算回路が、 前記プログラムの命令またはデータを用いて処理を行 つている間、 前記第 2の伝送路と前記演算回路との間の通信を不許可にすること を指示する前記制御信号を前記選択画路に出力する制御回路と
を有する半導体回路。
1 5 0 . 前記選択回路は、 前記第 2の伝送路に接続された外部装置であって、 前 記演算回路の内部状態の読み出し要求と、 当該内部状態の書き換え要求と、 前記 演算回路に動作停止要求との少なくとも一つを発行する外部装置と、 前記演算回 路との間の通信に介在する
請求項 1 4 9に記載の半導体回路。
1 5 1 . 前記暗号化復号面路は、 前記プログラムを構成する機能モジュールを所 定の鍵情報を用いて暗号化し、 当該機能モジユールの暗号化に用いた鍵情報を特 定する鍵特定情報を平文で生成し、 当該鍵特定情報を、 前記暗号化した機能モジ ユールと対応付けて前記記憶装置に出力する
請求項 1 4 9に記載の半導体回路。
1 5 2 . 前記暗号化復号回路は、 前記暗号化に用いた複数の鍵情報を保持し、 前 記記憶装置から入力した前記鍵特定情報に基づいて特定した前記鍵情報を用いて 、 前記第 2の伝送路を介して記憶装置から入力した前記機能モジュールを復号す る
請求項 1 4 9に記載の半導体回路。
1 5 3 . 前記暗号化復号回路は、 前記機能モジュールを所定のデータ長のプロ 'ン クデータを単位として暗号化および復号する 請求項 1 5 1に記載の半導体回路。
1 5 4 . 前記暗号化復号画路は、 前記機能モジュールを暗号化するときに、 前記 ブ ックデータを単位としてパリティ情報を生成し、 当該ブロックデータに対応 させて当該パリティデータを前記記憶装置に記憶させる
請求項 1 5 3に記載の半導体回路。
1 5 5 . 前記暗号化復号画路は、 前記ブロックデータおよび前記パリティデータ の値の総和が所定の値になるように、 前記パリティデータを生成する
請求項 1 5 4に記載の半導体回路。
1 5 6 . 前記暗号化復号回路は、 前記第 1の伝送路を介して前記記憶装置から入 力したブロックデータを復号した後に、 当該ブロックデータに対応するパリティ データの正当性を判断し、 正当でないと判断した場合に前記演算回路の動作を停 止、 または所定のエラー処理を行う
請求項 1 5 4に記載の半導体 HI路。
1 5 7 . 前記ブロックデータのデータ長と、 前記機能モジュールのデータ長とは 同じである
請求項 1 5 1に記載の半導体回路。
1 5 8 . 集積回路との間で通信を行ってサービスを提供するための処理手順を記 述した処理手順データを舍む複数のデータモジュールによってそれぞれ構成され る複数のアプリケーショ ンプログラムをそれぞれ予め決められた記憶領域に記憶 し、 前記データモジュールと、 当該データモジュールに応じた処理において他の 前記データモジュールを利用するために用いられる第 1の鍵データと、 当該デー タモジュールに応じた処理において前記集積回路とデータ授受を行うために用い られる第 2の鍵データとを対応付けて示す管理データを記憶する記憶回路と、 前記データモジュールに基づいて前記サービスに係わる処理を行い、 当 該処理において、 前記管理データを参照して、 当該データモジュールに対応した 前記第 1の鍵データを用いて前記他のデータモジュールを利用し、 当該データモ ジュールに対応した前記第 2の鍵データを用いて前記集積回路とデータの授受を 行う半導体回路と
を有するデータ処理装置。
1 5 9 . 前記記憶画路は、 前記データモジュールを用いて行われた処理の履歴デ ータ、 前記記憶領域に対して前記データモジュールを登録する手順を示したプロ グラムデータ、 前記記憶領域から前記データモジユールの登録を削除する手順を 示したプログラムデータ、 並びに前記アプリケーショ ンプログラムを記憶する前 記記憶領域を規定するための手順を示したプログラムデータのうち少なく も一つ を前記データモジユールとして記憶する
請求項 1 5 8に記載のデータ処理装置。
1 6 0 . 前記半導体回路は、
前記他のデータモジュールに応じた処理が当該半導体回路で実行される 場合に、 前記管理データを用いて、 前記所定のデータモジュールに対応する前記 第 1の鏈データと、 前記他のデータモジュールに対応する前記第 1の鍵データと を得て、 当該得た 2つの第 1の鍵データが一致していることを条件に、 前記実行 中の所定のデータモジユールから前記他のデータモジユールを利用する
請求項 1 5 8に記載のデータ処理装置。
1 6 1 . 前記記憶画路は、 前記データモジュールのそれぞれについて、 当該デー タモジュールに関する利用について許諾する形態を示す利用許可データを記憶し 前記半導体回路は、 前記 2つの第 1の鍵データが一致している場合に、 当該他のデータモジュールに対応する前記利用許諾データを基に、 当該利用許諾 データによつて許諾される形態で前記他のデータモジュールを利用する
. 請求項 1 6 0に記載のデータ処理装置。
1 6 2 . 前記半導体回路は、
前記他のデータモジュールに応じた処理が他の半導体画路で実行される 場合に、 前記管理データを用いて、 前記所定のデータモジュールに対応する前記 第 1の鍵データを得て、 当該第 1の鍵データを用いて前記他の半導体回路と相互 認証を行い、 互いの正当性が認証されたことを条件に、 前記実行中の所定のデー タモジュールから前記他のデータモジュールを利用する
請求項 1 5 8に記載のデータ処理装置。
1 6 3 . 前記半導体回路は、 前記互いの正当性が認証された場合に、 前記他のデ ータモジュールに閩する利用について許諾される形態を示す利用許諾データを基 に、 当該利用許諾データによって許諾される形態で前記他のデータモジュールを 利用する
請求項 1 6 2に記載のデータ処理装置。
1 6 4 . 前記第 1の鍵データは、 同一の前記アプリケ一ショ ンプログラムを構成 するデータモジュールについて同一となるように規定されている
請求項 1 5 8に記載のデータ処理装置。
1 6 5 . 前記記憶画路は、 前記アプリケーショ ンプログラム毎に固有に割り当て られた鍵データを用いて暗号化された前記アプリケーショ ンプログラムを記憶す る
請求項 1 5 8に記載のデータ処理装置。
1 6 6 . 前記半導体回路は、
前記データモジュールデータから、 前記アプリケーショ ンプログラムの 処理を構成する複数のジョブの実行順番を示すジョブ実行順番データと、 前記複 数のジョブの実行の進行状態を示すステータスデータとを舍むジョブ管理用デー タを生成し、
前記ジョブ管理用データの前記ステータスデータおよび前記処理順番デ —タに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ス テータスデータを更新する
請求項 1 5 8に記載のデータ処理装置。
1 6 7 . 前記半導体回路は、
前記処理手順データおよび前記管理データを用いて、 前記ジョブ管理用 データのテンプレートデータを生成し、
前記処理要求に応じて、 前記テンプレートデータを用いて前記ジョブ管 理用データを生成する
請求項 1 6 6に記載のデータ処理装置。
1 6 8 . 前記半導体面路は、
複数の処理要求のそれぞれについて、 前記ジョブ管理用データを生成し 複数の前記データモジュールから一つのジョブ管理用データを選択し、 前記選択したジョブ管理用データの前記ステータスデータおよび前記処 理順番データに基づいて、 次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジヨブ管理用データの前記ス テ一タスデータを更新し、
当該更新後に、 前記複数のデータモジュールから一つのジョブ管理用デ ータを選択する
請求項 1 6 7に記載のデータ処理装置。
1 6 9 . 前記半導体回路は、
前記処理要求に応じた処理を構成する全てのジョブの実行が終了した前 記ジョブ管理用データを消去する
請求項 1 6 8に記載のデータ処理装置。
1 7 0 . 集積回路との間で通信を行ってサービスを提供するための処理を行う半 導体回路が記憶回路とデータ授受をするデータ処理方法であって、 前記記憶回路が、 集積回路との間で通信を行ってサービスを提供するた めの処理手順を記述した処理手順データを舍む複数のデータモジュールによって それぞれ構成される複数のアプリケーショ ンプログラムをそれぞれ予め決められ た記憶領域に記憶し、 前記データモジュールと、 当該データモジュールに応じた 処理において他の前記データモジユールを利用するために用いられる第 1の鍵デ ータと、 当該データモジュールに応じた処理において前記集積回路とデータ授受 を行うために用いられる第 2の鍵データとを対応付けて示す管理データを記憶す る場合に、
前記半導体回路が、 前記データモジュールに基づいて前記サービスに係 わる処理を行い、
前記半導体回路が、 前記サービスに係わる処理において、 前記管理デー タを参照して、 当該データモジュールに対応した前記第 1 の鍵データを用いて前 記他のデータモジュールを利用し、
前記半導体回路が、 前記サービスに係わる処理において、 当該データモ ジュールに対応した前記第 2の鍵データを用いて前記集積回路とデータの授受を 行つ
データ処理方法。
1 7 1 . 前記半導体回路が、 前記他のデータモジュールに応じた処理が当該半導 体回路で実行される場合に、 前記管理データを用いて、 前記所定のデータモジュ —ルに対応する前記第 1の鍵データと、 前記他のデータモジュールに対応する前 記第 1の鍵データとを得て、 当該得た 2つの第 1の鍵データが一致していること を条件に、 前記実行中の所定のデータモジュールから前記他のデータモジュール を利用する
請求項 1 7 0に記載のデータ処理方法。
1 7 2 . 前記記憶回路が、 前記データモジュールのそれぞれについて、 当該デ一 タモジュールに関する利用について許諾する形態を示す利用許可データを記憶し ている場合に、
前記半導体回路が、 前記 2つの第 1の鍵データが一致している場合に、 当該他のデータモジュールに対応する前記利用許諾データを基に、 当該利用許諾 データによって許諾される形態で前記他のデータモジュールを利用する
請求項 1 7 1に記載のデータ処理方法。
1 7 3 . 前記半導体画路が、 前記他のデータモジュールに応じた処理が他の半導 体回路で実行される場合に、 前記管理データを用いて、 前記所定のデータモジュ ールに対応する前記第 1の鍵データを得て、 当該第 1の鍵データを用いて前記他 の半導体回路と相互認証を行い、 互いの正当性が認証されたことを条件に、 前記 実行中の所定のデータモジュールから前記他のデータモジュールを利用する 請求項 1 7 0に記載のデータ処理方法。
1 7 4 . 前記半導体回路が、 前記互いの正当性が認証された場合に、 前記他のデ ータモジュールに関する利用について許諾される形態を示す利用許諾データを基 に、 当該利用許諾データによって許諾される形態で前記他のデータモジュールを 利用する
請求項 1 7 3に記載のデータ処理方法。
1 7 5 . 前記第 1の鍵データは、 同一の前記アプリケーショ ンプログラムを構成 するデータモジュールについて同一となるように規定されている
請求項 1 7 0記載のデータ処理方法。
1 7 6 . 前記半導体回路が、 前記データモジュールデータから、 前記アプリケー ションプログラムの処理を構成する複数のジョブの実行順番を示すジョブ実行順 番データと、 前記複数のジョブの実行の進行状態を示すステータスデータとを舍 むジョブ管理用データを生成し、
前記半導体回路が、 前記ジョブ管理用データの前記ステータスデータお よび前記処理順番データに基づいて、 次に実行を行うジョブを選択し、 前記半導体回路が、 前記選択したジョブを実行し、
前記半導体回路が、 当該ジョブの実行に応じて、 前記選択したジョブ管 理用データの前記ステータスデータを更新する
請求項 1 7 0に記載のデータ処理方法。
1 7 7 . 前記半導体回路が、 前記処理手順データおよび前記管理データを用いて 、 前記ジョブ管理用データのテンプレートデータを生成し、
前記半導体回路が、 前記処理要求に応じて、 前記テンプレートデータを 用いて前記ジョブ管理用データを生成する
請求項 1 7 6に記載のデータ処理方法。
1 7 8 . 前記半導体回路が、 複数の処理要求のそれぞれについて、 前記ジョブ管 理用データを生成し、
前記半導体 HI路が、 複数の前記データモジュ一ルから一つのジョブ管理 用データを選択し、
前記半導体回路が、 前記選択したジョブ管理用データの前記ステータス データおよび前記処理順番データに基づいて、 次に実行を行うジョブを選択し、 前記半導体回路が、 前記選択したジョブを実行し、
当該ジョブの実行に応じて、 前記選択したジョブ管理用データの前記ス テータスデータを更新し、
前記半導体回路が、 当該更新後に、 前記複数のデータモジュールから一 つのジョブ管理用データを選択する
請求項 1 7 7に記載のデータ処理方法。
1 7 9 . 前記半導体回路が、 前記処理要求に応じた処理を構成する全てのジョブ の実行が終了した前記ジヨブ管理用データを消去する
請求項 1 Ί 8に記載のデータ処理方法。
1 8 0 . 集積回路との間で通信を行ってサービスを提供するための処理を行うと 共に記憶回路とデータ授受を行う半導体回路が実行するプログラムであって、 前記記憶回路が、 集積回路との間で通信を行ってサ一ビスを提供するた めの処理手順を記述した処理手順データを舍む複数のデータモジュールによって それぞれ構成される複数のアプリケーショ ンプログラムをそれぞれ予め決められ た記憶領域に記憶し、 前記データモジュールと、 当該データモジュールに応じた 処理において他の前記データモジュールを利用するために用いられる第 1の鍵デ
—タと、 当該データモジュールに応じた処理において前記集積回路とデータ授受 を行うために用いられる第 2の鍵データとを対応付けて示す管理データを記憶す る場合に、
前記データモジュールに基づいて前記サービスに係わる処理を行う手順 と、
前記サービスに係わる処理において、 前記管理データを参照して、 当該 データモジュールに対応した前記第 1の鍵データを用いて前記他のデ一タモジュ —ルを利用する手順と、
前記サービスに係わる処理において、 当該データモジュールに対応した 前記第 2の鍵データを用いて前記集積酉路とデータの授受を行う手順と
を有するプログラム。
PCT/JP2002/001324 2001-02-16 2002-02-15 Procede de traitement de donnees et appareil correspondant Ceased WO2002065287A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP02700588A EP1361511A4 (en) 2001-02-16 2002-02-15 DATA PROCESSING AND DEVICE
US10/257,472 US7240345B2 (en) 2001-02-16 2002-02-15 Data processing apparatus and associated method
HK04104630.4A HK1062722B (en) 2001-02-16 2002-02-15 Data processing method and its apparatus
US11/688,439 US8141057B2 (en) 2001-02-16 2007-03-20 Data processing apparatus and associated method

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
JP2001040705A JP2002244868A (ja) 2001-02-16 2001-02-16 データ処理方法、半導体回路およびプログラム
JP2001-39969 2001-02-16
JP2001-40415 2001-02-16
JP2001040415A JP4765174B2 (ja) 2001-02-16 2001-02-16 アプリケーション実行装置、通信システム、およびアプリケーション実行方法
JP2001039969A JP2002244755A (ja) 2001-02-16 2001-02-16 データ処理方法、半導体回路およびプログラム
JP2001-40414 2001-02-16
JP2001040414A JP4670158B2 (ja) 2001-02-16 2001-02-16 データ処理方法および半導体回路
JP2001-40705 2001-02-16
JP2001042397A JP4617581B2 (ja) 2001-02-19 2001-02-19 データ処理装置
JP2001042445A JP2002244757A (ja) 2001-02-19 2001-02-19 半導体回路
JP2001-42445 2001-02-19
JP2001-42396 2001-02-19
JP2001042446A JP2002244925A (ja) 2001-02-19 2001-02-19 半導体回路およびデータ処理方法
JP2001-42446 2001-02-19
JP2001042396A JP2002244756A (ja) 2001-02-19 2001-02-19 データ処理方法、半導体回路および認証用装置
JP2001-42397 2001-02-19
JP2001-262288 2001-08-30
JP2001262288A JP4207409B2 (ja) 2001-08-30 2001-08-30 データ処理装置およびその方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US25747202A A-371-Of-International 2001-02-16 2002-02-15
US11/688,439 Division US8141057B2 (en) 2001-02-16 2007-03-20 Data processing apparatus and associated method

Publications (1)

Publication Number Publication Date
WO2002065287A1 true WO2002065287A1 (fr) 2002-08-22

Family

ID=27577800

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/001324 Ceased WO2002065287A1 (fr) 2001-02-16 2002-02-15 Procede de traitement de donnees et appareil correspondant

Country Status (5)

Country Link
US (2) US7240345B2 (ja)
EP (1) EP1361511A4 (ja)
CN (2) CN1261870C (ja)
SG (7) SG160187A1 (ja)
WO (1) WO2002065287A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012046406A1 (ja) * 2010-10-04 2012-04-12 パナソニック株式会社 情報処理装置およびアプリケーション不正連携防止方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1508865A4 (en) 2002-05-29 2006-06-07 Sony Corp INFORMATION PROCESSING SYSTEM
WO2004006165A1 (en) * 2002-07-09 2004-01-15 Bnc Ip Switzerland Gmbh System and method for providing secure identification solutions
US7299315B2 (en) * 2003-04-02 2007-11-20 Nisca Corporation Control device including connecting device for rewriting memory region
DE602004002241T2 (de) * 2003-04-03 2007-07-19 Stmicroelectronics S.A. Schutz eines auf ausführungwartenden Programms in einem Speicher für einen Mikroprozessor
CN101853352B (zh) 2003-08-26 2013-01-30 松下电器产业株式会社 程序执行设备
US20050108170A1 (en) * 2003-11-17 2005-05-19 Hailpern Brent T. Secured method and apparatus for selling and distributing software and related services
US20050223378A1 (en) * 2004-03-31 2005-10-06 Mehmet Musa Method and apparatus for enhancing computer application performance
JP4409349B2 (ja) * 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
JP4567391B2 (ja) * 2004-07-26 2010-10-20 パナソニック株式会社 モジュール間通信装置および方法
US7822994B2 (en) * 2005-01-07 2010-10-26 Konica Minolta Systems Laboratory, Inc. Data bus line and bus having an encryption/decryption device
JP4704045B2 (ja) * 2005-01-12 2011-06-15 株式会社エヌ・ティ・ティ・ドコモ 通信装置、デジタル署名検証方法およびデジタル署名生成方法
US8364792B2 (en) * 2005-03-09 2013-01-29 Vudu, Inc. Method and system for distributing restricted media to consumers
JP4818651B2 (ja) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 暗号化・復号化回路
US20070135956A1 (en) * 2005-12-13 2007-06-14 Taiwan Semiconductor Manufacturing Co., Ltd. Data location systems and methods
US7900060B2 (en) * 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
US8239686B1 (en) 2006-04-27 2012-08-07 Vudu, Inc. Method and system for protecting against the execution of unauthorized software
US8560863B2 (en) 2006-06-27 2013-10-15 Intel Corporation Systems and techniques for datapath security in a system-on-a-chip device
JP2008059304A (ja) * 2006-08-31 2008-03-13 Sony Corp 通信装置および方法、並びにプログラム
US20080141334A1 (en) * 2006-12-12 2008-06-12 Wicker James M Method and Apparatus for Dissociating Binding Information from Objects to Enable Proper Rights Management
US8065741B1 (en) 2007-04-24 2011-11-22 Adobe Systems Incorporated Method and apparatus for locally caching digital rights information
GB2450505A (en) * 2007-06-26 2008-12-31 Symbian Software Ltd Authorised debugging
US20090067625A1 (en) * 2007-09-07 2009-03-12 Aceurity, Inc. Method for protection of digital rights at points of vulnerability in real time
US20100058276A1 (en) * 2007-09-11 2010-03-04 Andreas Felder Method for the integration of an integrated circuit into a standardized software architecture for embedded systems
US20090080665A1 (en) * 2007-09-25 2009-03-26 Aceurity, Inc. Method of Generating Secure Codes for a Randomized Scrambling Scheme for the Protection of Unprotected Transient Information
US20090249346A1 (en) * 2008-03-27 2009-10-01 Toru Harada Image forming apparatus, information processing apparatus and information processing method
CN102081524A (zh) * 2009-11-27 2011-06-01 英业达股份有限公司 电子装置及其控制方法
US8412954B2 (en) * 2010-05-19 2013-04-02 Innostor Technology Corporation Data encryption device for storage medium
KR101279213B1 (ko) 2010-07-21 2013-06-26 삼성에스디에스 주식회사 시스템 온 칩 기반의 안티-멀웨어 서비스를 제공할 수 있는 디바이스 및 그 방법과 인터페이스 방법
US9021016B2 (en) 2010-09-27 2015-04-28 Blackberry Limited Method, apparatus and system for managing communications between a computing device and a client machine
EP2434706B1 (en) * 2010-09-27 2015-09-02 BlackBerry Limited Method, apparatus and system for controlling transmission of an attachment to an email using a plurality of computers
CN103154963A (zh) 2010-10-05 2013-06-12 惠普发展公司,有限责任合伙企业 对地址的加扰和对需存储于存储设备中的写入数据的加密
JP5225412B2 (ja) * 2011-03-03 2013-07-03 株式会社東芝 通信装置および通信方法
EP2689367B1 (en) * 2011-03-21 2019-06-19 Sony Ericsson Mobile Communications AB Data protection using distributed security key
CN103009816B (zh) * 2011-09-20 2015-08-19 珠海天威技术开发有限公司 耗材芯片及对其重写的重写器、重写方法
CN103188306B (zh) * 2011-12-30 2016-04-27 中国移动通信集团公司 分布式预处理方法和系统
US9445262B2 (en) * 2012-12-10 2016-09-13 Lg Uplus Corp. Authentication server, mobile terminal and method for issuing radio frequency card key using authentication server and mobile terminal
JP6176020B2 (ja) 2013-09-17 2017-08-09 株式会社リコー 機器、情報処理システム、情報処理方法、情報処理プログラム、および情報処理プログラムが記憶された記憶媒体
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
CN105426493B (zh) * 2015-11-24 2019-11-19 北京中电普华信息技术有限公司 一种应用于分布式存储系统的数据处理系统及方法
CN108256346B (zh) * 2016-12-28 2020-12-01 中移(杭州)信息技术有限公司 关键数据的保护方法、加密保护装置及嵌入式系统装置
CN106982210B (zh) * 2017-03-28 2021-01-15 联想(北京)有限公司 一种数据下载方法和电子设备
CN109032704B (zh) * 2017-06-12 2022-08-09 深圳市中兴微电子技术有限公司 一种数据处理的方法和设备
US11550927B2 (en) * 2017-09-26 2023-01-10 C-Sky Microsystems Co., Ltd. Storage data encryption/decryption apparatus and method
CN108491702A (zh) * 2018-04-02 2018-09-04 深圳春沐源控股有限公司 数据采集方法及装置、电子设备及计算机可读存储介质
IT201800006911A1 (it) * 2018-07-04 2020-01-04 Metodo di codifica e decodifica di informazioni digitali
CN109968359A (zh) * 2019-03-28 2019-07-05 台州九牛慧联机器人技术有限公司 一种工业机器人控制系统
CN110442439B (zh) * 2019-08-05 2022-04-01 北京百佑科技有限公司 任务进程处理方法、装置和计算机设备

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5715499U (ja) * 1980-06-27 1982-01-26
JPS6468835A (en) * 1987-09-10 1989-03-14 Ryoichi Mori Software right management control method
JPH02297235A (ja) * 1989-03-22 1990-12-07 Nec Corp メモリデータ保護回路
JPH03147158A (ja) * 1989-11-02 1991-06-24 Nec Off Syst Ltd メモリ制御回路
JPH0594299A (ja) * 1991-10-01 1993-04-16 Matsushita Electric Ind Co Ltd 半導体回路装置
JPH05233460A (ja) * 1992-02-21 1993-09-10 Toshiba Corp ファイル保護方式
JPH0689348A (ja) * 1991-03-06 1994-03-29 Nec Corp シングルチップ・マイクロコンピュータ
EP0704796A2 (en) * 1994-09-28 1996-04-03 International Business Machines Corporation Capability engine method and apparatus for a microkernel data processing system
EP0735488A1 (en) * 1995-03-29 1996-10-02 Kabushiki Kaisha Toshiba Multi-program execution controlling apparatus and method
WO1997014999A1 (en) * 1995-10-19 1997-04-24 Fanuc Ltd Numerical control system
JPH1049443A (ja) * 1996-08-02 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム
JPH1063580A (ja) * 1996-08-27 1998-03-06 Dainippon Printing Co Ltd Icカード
JPH1078919A (ja) * 1996-09-05 1998-03-24 Nec Eng Ltd 不正アクセス防止装置
JPH11282667A (ja) * 1998-03-31 1999-10-15 Nakamichi Corp 多重鍵方式の暗号処理機能を有するマイクロプロセッサ
EP0961193A2 (en) * 1998-05-29 1999-12-01 Texas Instruments Incorporated Secure computing device
JP2000122861A (ja) * 1998-10-19 2000-04-28 Nec Corp データ等の不正改竄防止システム及びそれと併用される 暗号化装置
JP2000163269A (ja) * 1998-11-25 2000-06-16 Internatl Business Mach Corp <Ibm> サーバからクライアントにアプリケーションを配布するための方泡システム及びプログラム記憶媒体
JP2000353216A (ja) * 1999-06-11 2000-12-19 Ntt Data Corp Icカードシステム、icカード端末、icカード処理方法及び記録媒体
JP2001028025A (ja) * 1998-07-03 2001-01-30 Bank Of Tokyo-Mitsubishi Ltd 決済管理システム、決済管理方法及び記録媒体

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5144400Y2 (ja) 1971-03-23 1976-10-27
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
JPS5715499A (en) 1980-07-02 1982-01-26 Hitachi Ltd High density multilayer printed board and method of producing same
JPH06103478B2 (ja) 1986-04-07 1994-12-14 松下電器産業株式会社 マイクロコンピユ−タ
JPS63208145A (ja) 1987-02-25 1988-08-29 Hitachi Ltd Icカ−ド
JPS6449443A (en) * 1987-08-20 1989-02-23 Koji Ohashi Receiver for radio communication equipment
JPS6463580A (en) * 1987-09-02 1989-03-09 Hokko Chem Ind Co Benzimidazole derivative and agricultural and horticultural germicide
US5134700A (en) 1987-09-18 1992-07-28 General Instrument Corporation Microcomputer with internal ram security during external program mode
JPS6478919A (en) * 1987-09-18 1989-03-24 Nifco Inc Flush mount for installing molding for adhesive type window of automobile
JPH01162959A (ja) 1987-12-19 1989-06-27 Fujitsu Ltd 連続データ転送方式
JPH01277993A (ja) 1988-04-28 1989-11-08 Toshiba Corp 携帯可能電子装置
DE68926043T2 (de) 1989-07-20 1996-08-22 Toshiba Kawasaki Kk Mehrprozessor-Computersystem
JP2680899B2 (ja) 1989-08-28 1997-11-19 日本電気株式会社 情報処理装置及びその制御方法
EP0502532B1 (en) * 1991-03-06 2000-05-24 Nec Corporation Single chip microcomputer having protection function for content of internal ROM
JPH05197612A (ja) 1992-01-22 1993-08-06 Nec Ic Microcomput Syst Ltd データ・アクセス回路
JP3485940B2 (ja) 1992-03-31 2004-01-13 株式会社東芝 仮想記憶制御装置及び方法
JP3489155B2 (ja) 1993-10-28 2004-01-19 カシオ計算機株式会社 カード使用方法
JPH08171617A (ja) 1994-12-19 1996-07-02 Toppan Printing Co Ltd データ通信システム
JP3049636B2 (ja) 1995-03-31 2000-06-05 株式会社日立製作所 データ分析方法
JP3218555B2 (ja) 1995-09-18 2001-10-15 日本電信電話株式会社 保護層付きセリア系固体電解質
JPH09167135A (ja) 1995-12-15 1997-06-24 Fujitsu Ltd 処理分担決定システムと装置と方法
US5870542A (en) 1995-12-28 1999-02-09 Sterling Commerce, Inc. Security apparatus and method for a data processing system
JP3747520B2 (ja) 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
JPH09259044A (ja) 1996-03-21 1997-10-03 Fuji Xerox Co Ltd 機密保護機能付き情報処理装置および機密保護方法
JPH1020956A (ja) 1996-06-28 1998-01-23 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア課金方法及びシステム
JP3950186B2 (ja) 1996-09-11 2007-07-25 株式会社エルイーテック 遊技機用プログラム解読防止機能付きセキュリティチップ
JP3863252B2 (ja) 1996-11-15 2006-12-27 富士通株式会社 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
JPH10301856A (ja) 1997-02-28 1998-11-13 Fujitsu Ltd ファイルアクセスシステムおよび記録媒体
EP0862124A3 (en) * 1997-02-28 2003-03-26 Fujitsu Limited File access system for efficiently accessing a file having encrypted data within a storage device
JP4268690B2 (ja) 1997-03-26 2009-05-27 ソニー株式会社 認証システムおよび方法、並びに認証方法
JPH1131199A (ja) 1997-07-11 1999-02-02 Hitachi Ltd Icカード及びicカード端末装置
JPH11167526A (ja) 1997-12-03 1999-06-22 Tamura Electric Works Ltd メモリリード・ライト方法及びメモリリード・ライト装置
JP2000082028A (ja) 1997-12-18 2000-03-21 Matsushita Electric Ind Co Ltd メッセージ受信装置およびメッセージ送信装置
JP4169822B2 (ja) 1998-03-18 2008-10-22 富士通株式会社 記憶媒体のデータ保護方法、その装置及びその記憶媒体
JP3147158B2 (ja) 1998-03-25 2001-03-19 日本電気株式会社 半導体装置の故障解析方法
JP2000138917A (ja) 1998-05-29 2000-05-16 Texas Instr Inc <Ti> 安全計算システム及び方法
JP2000010782A (ja) 1998-06-18 2000-01-14 Hitachi Ltd クライアントコンポーネント間通信制御システム
JP3257512B2 (ja) 1998-06-26 2002-02-18 松下電器産業株式会社 高周波結合器、プラズマ処理装置及び方法
JP2000099404A (ja) 1998-09-25 2000-04-07 Tamura Electric Works Ltd 端末装置
US6378074B1 (en) * 1998-10-05 2002-04-23 Sentry Technologies Pte Ltd Method for security partitioning of a computer system
US6243778B1 (en) * 1998-10-13 2001-06-05 Stmicroelectronics, Inc. Transaction interface for a data communication system
JP2000172490A (ja) 1998-12-01 2000-06-23 Toshiba Corp Icカード発行システムとicカード処理システムとicカード
JP4242494B2 (ja) 1998-12-24 2009-03-25 大日本印刷株式会社 携帯型信号処理装置
FR2790629A1 (fr) 1999-02-19 2000-09-08 Bull Cp8 Procede d'activation d'applications localisees dans une carte a puce par un navigateur du type dit "web"
FR2791159B1 (fr) 1999-03-15 2001-05-04 Bull Cp8 Procede d'acces a un objet a l'aide d'un navigateur de type "web" cooperant avec une carte a puce et architecture pour la mise en oeuvre du procede

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5715499U (ja) * 1980-06-27 1982-01-26
JPS6468835A (en) * 1987-09-10 1989-03-14 Ryoichi Mori Software right management control method
JPH02297235A (ja) * 1989-03-22 1990-12-07 Nec Corp メモリデータ保護回路
JPH03147158A (ja) * 1989-11-02 1991-06-24 Nec Off Syst Ltd メモリ制御回路
JPH0689348A (ja) * 1991-03-06 1994-03-29 Nec Corp シングルチップ・マイクロコンピュータ
JPH0594299A (ja) * 1991-10-01 1993-04-16 Matsushita Electric Ind Co Ltd 半導体回路装置
JPH05233460A (ja) * 1992-02-21 1993-09-10 Toshiba Corp ファイル保護方式
EP0704796A2 (en) * 1994-09-28 1996-04-03 International Business Machines Corporation Capability engine method and apparatus for a microkernel data processing system
EP0735488A1 (en) * 1995-03-29 1996-10-02 Kabushiki Kaisha Toshiba Multi-program execution controlling apparatus and method
WO1997014999A1 (en) * 1995-10-19 1997-04-24 Fanuc Ltd Numerical control system
JPH1049443A (ja) * 1996-08-02 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム
JPH1063580A (ja) * 1996-08-27 1998-03-06 Dainippon Printing Co Ltd Icカード
JPH1078919A (ja) * 1996-09-05 1998-03-24 Nec Eng Ltd 不正アクセス防止装置
JPH11282667A (ja) * 1998-03-31 1999-10-15 Nakamichi Corp 多重鍵方式の暗号処理機能を有するマイクロプロセッサ
EP0961193A2 (en) * 1998-05-29 1999-12-01 Texas Instruments Incorporated Secure computing device
JP2001028025A (ja) * 1998-07-03 2001-01-30 Bank Of Tokyo-Mitsubishi Ltd 決済管理システム、決済管理方法及び記録媒体
JP2000122861A (ja) * 1998-10-19 2000-04-28 Nec Corp データ等の不正改竄防止システム及びそれと併用される 暗号化装置
JP2000163269A (ja) * 1998-11-25 2000-06-16 Internatl Business Mach Corp <Ibm> サーバからクライアントにアプリケーションを配布するための方泡システム及びプログラム記憶媒体
JP2000353216A (ja) * 1999-06-11 2000-12-19 Ntt Data Corp Icカードシステム、icカード端末、icカード処理方法及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012046406A1 (ja) * 2010-10-04 2012-04-12 パナソニック株式会社 情報処理装置およびアプリケーション不正連携防止方法
US8566937B2 (en) 2010-10-04 2013-10-22 Panasonic Corporation Information processing apparatus and method for preventing unauthorized cooperation of applications
JP5891414B2 (ja) * 2010-10-04 2016-03-23 パナソニックIpマネジメント株式会社 情報処理装置およびアプリケーション不正連携防止方法

Also Published As

Publication number Publication date
SG132507A1 (en) 2007-06-28
US20040015948A1 (en) 2004-01-22
US20070288922A1 (en) 2007-12-13
US8141057B2 (en) 2012-03-20
SG154320A1 (en) 2009-08-28
EP1361511A4 (en) 2012-03-21
EP1361511A1 (en) 2003-11-12
CN101526982B (zh) 2012-05-30
CN1465008A (zh) 2003-12-31
SG140467A1 (en) 2008-03-28
CN1261870C (zh) 2006-06-28
SG143065A1 (en) 2008-06-27
US7240345B2 (en) 2007-07-03
SG143976A1 (en) 2008-07-29
CN101526982A (zh) 2009-09-09
SG160187A1 (en) 2010-04-29
HK1062722A1 (en) 2004-11-19
HK1098849A1 (zh) 2007-07-27
SG143064A1 (en) 2008-06-27

Similar Documents

Publication Publication Date Title
WO2002065287A1 (fr) Procede de traitement de donnees et appareil correspondant
US7162645B2 (en) Storage device including a non-volatile memory
US7213157B2 (en) Integrated circuit for digital rights management
EP1688859B1 (en) Application authentification system
CN1581118B (zh) 安全设备、信息处理终端、集成电路、应用装置及方法
CN100480946C (zh) 用于在计算机系统内为sim设备提供受信通道的方法和装置
CN101517591B (zh) 虚拟安全模块的体系结构
US7457960B2 (en) Programmable processor supporting secure mode
US8032663B2 (en) Information processing system, information processing apparatus and integrated circuit chip
US7272715B2 (en) Communications method, data processing apparatus, and program
KR20080065661A (ko) 파일 시스템으로의 접근을 제어하기 위한 방법, 파일시스템에 사용하기 위한 관련 시스템, sim 카드 및컴퓨터 프로그램 제품
CN100481103C (zh) 数据处理方法及其设备
US8112623B2 (en) Communication terminal apparatus, server terminal apparatus, and communication system using the same
CN115361140B (zh) 安全芯片密钥验证方法及装置
KR101532763B1 (ko) 어플리케이션 불법복제 방지 시스템 및 방법
JP2002244925A (ja) 半導体回路およびデータ処理方法
JP2002244756A (ja) データ処理方法、半導体回路および認証用装置
HK1098849B (en) Data processing method and its apparatus
JP2007133892A (ja) アクセス方法、メモリデバイス、および情報機器
JP2002244868A (ja) データ処理方法、半導体回路およびプログラム
JP2002288617A (ja) 認証システム、および認証方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: 10257472

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002700588

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 028010523

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2002700588

Country of ref document: EP