WO2003091862A1 - Dispositif serveur et systeme de gestion de programme - Google Patents

Dispositif serveur et systeme de gestion de programme Download PDF

Info

Publication number
WO2003091862A1
WO2003091862A1 PCT/JP2003/004808 JP0304808W WO03091862A1 WO 2003091862 A1 WO2003091862 A1 WO 2003091862A1 JP 0304808 W JP0304808 W JP 0304808W WO 03091862 A1 WO03091862 A1 WO 03091862A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
information
information processing
terminal
processing terminal
Prior art date
Application number
PCT/JP2003/004808
Other languages
English (en)
French (fr)
Inventor
Takuji Maeda
Kouji Miura
Katsumi Tokuda
Shinji Inoue
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US10/511,751 priority Critical patent/US7620811B2/en
Priority to KR10-2004-7001619A priority patent/KR20040099253A/ko
Priority to EP03720908A priority patent/EP1498798A4/en
Publication of WO2003091862A1 publication Critical patent/WO2003091862A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Definitions

  • the present invention relates to a server device that distributes a program operating on an information processing terminal, and a program management system including the server device and the information processing terminal, and more particularly to a technology for eliminating an information processing terminal that attempts to use an illegal program. . Background art
  • FIG. 20 is an explanatory diagram of a method of verifying the legitimacy of a program using this electronic signature.
  • the program issuer 200 0 sends the public key 2 0 0 1 to the certification authority (CA: Certification Authority) which is a third party organization that confirms the identity of the program issuance and guarantees it. After that, the Certification Authority 2 0 0 0 verifies and examines the identity of the program issuer 2 0 0 0. If the certificate authority 2 0 1 0 determines that the program issuer 2 0 0 0 can be trusted, the program issuer 2 0 0 0 public key 2 0 0 1 against the CA private key 2 0 1 2 electronically Issue a signed certificate 2 0 0 3. The certificate 2 0 0 3 contains information identifying the identity of the public key holder, and the certificate authority 2 0 1 0 guarantees the identity of the public key holder. Then, the certificate authority 2 0 1 0 sends the public key certificate 2 0 0 3 to the program issuer 2 0 0 0.
  • CA Certification Authority
  • the program issuer 2002 electronically signs the program distributed to the user 2 0 2 0 0 with its own private key 2 0 0 2 and the public key certificate 2 0 0 3 and the signed program Distribute 2 0 0 4
  • the user 2 0 2 0 obtains the CA public key 2 0 1 1 from the certificate authority 2 0 1 0 and uses the CA public key 2 0 1 1 to sign the program issuer's public key certificate 2 0 0 3 Verify. If the signature verification is successful, the signature of the signed program 2 0 0 4 is verified using the public key 2 0 0 1 contained in the public key certificate 2 0 0 3. If this signature is correctly verified, it can be verified that the distributed program is a program distributed from program publisher 2000 and has not been tampered with.
  • the electronic signature of the program issuer 200 0 is added to the program to guarantee the program's legitimacy, and the user 2 0 2 0 obtains the acquired program 2 0 2 It can be verified that 1 is legitimately distributed from Program Issuer 200 00.
  • a program distribution device when distributing a program, the validity of the distribution can be judged based on the difference between the number of copies of the program and the number of permitted copies, and it is possible to physically prevent unlimited distribution from being performed.
  • a distribution device is disclosed that allows the user to physically adhere to the usage contract for copying (see, for example, Japanese Examined Patent Publication No. 6-872 20).
  • the program distribution device can be a program distribution device that stores the distribution destination of the information processing device for each program and distributes a program based on the number of permitted copies and the number of copies.
  • a method for identifying the user is required to charge the user.
  • the program or information distributed with the program may include unique information such as an ID or key assigned to each user. In this case, by assigning unique information to each user, and managing the unique information on the server device side of the program distribution source, when the user misbehaves, the user can be specified based on the unique information. It becomes possible.
  • FIG. 21 is a reference diagram of a program management system between a conventional information processing terminal 2101 and server devices 2102 and 2103.
  • the server device 2 0 3 for application data and the server device 2 0 2 0 for programs are shown separately.
  • the information processing terminal 2101 downloads, for example, favorite music data from the server device 2102 serving as a program distribution source and acquires a playable music player program. It is assumed that the music player program includes specific information "0 1 0 1". To ensure safe distribution of the program, the communication path is encrypted using Secure Socket Layer (SSL) to prevent hacking such as eavesdropping.
  • SSL Secure Socket Layer
  • the music data acquisition request to which the unique information “0 1 0 1” is attached from the information processing terminal 2 0 1 Is sent to the server device 2 0 3 for the application.
  • the server device 2 0 3 3 has an invalidation list (CRL: certificate revocation list) for removing an information processing terminal on which an unauthorized music player program is executed, and the information processing terminal 2 1 Since the unique information “0 1 0 1” sent according to the music data acquisition request from 0 1 is described in the CRL, the music data is sent to the information processing terminal 2 1 0 1 Do not If no unique information is described in the CRL, the requested music data is sent to the information processing terminal 2101.
  • CRL certificate revocation list
  • the information processing terminal 2 10 1 intended to be illegally used using the CRL is excluded. Is possible.
  • the electronic signature is added to the data downloaded to the information processing terminal 2101 from the server device 2202 and the like and the information processing terminal 2201 performs signature verification.
  • the information processing terminal 2201 performs signature verification.
  • the program distribution device is for each program distribution request. Check the ⁇ D of the distribution destination device and distribute the program according to the number of copies permitted, and do not prevent unauthorized use of the program.
  • the information processing terminal 2 may be used. Even when the server attempts to acquire data illegally and the data acquisition is excluded as an illegal terminal by the CRL of the server device 203, the information processing terminal The user can download another specific information from the server device 2102 and update the program's specific information to the new specific information, thereby avoiding the server device's elimination using CRL. There is a problem that it becomes possible to The present invention has been made in view of the above problems, and in a server device that is a program distribution source, an unauthorized information processing terminal excluded by a list using unique information can provide new unique information.
  • the first object is to provide a server device that prevents acquisition and avoidance of exclusion. Another object of the present invention is to reduce the processing load on the server device in program distribution to an information processing terminal.
  • the request for acquisition of new unique information from the unauthorized information processing terminal is excluded and the program in the information processing terminal is incorrect.
  • the purpose is to provide a program management system that can be prevented from use. Disclosure of the invention
  • a server apparatus is connected to an information processing terminal holding a terminal ID that can not be rewritten from the outside via a network, and a program operated on the information processing terminal.
  • a server device that holds a table that holds a table indicating the association between a previously distributed program and a terminal ID; referring to the table, the information processing terminal transmits the terminal ID by referring to the table And determining means for determining whether the distribution of the program with respect to the accompanying program acquisition request is successful or not.
  • the program distributed from the server apparatus according to the present invention to the information processing terminal includes a program main body operating on the information processing terminal and program specific information which is unique information used for the program main body.
  • the determining unit determines whether the terminal ID given to the program acquisition request is recorded in the table. Of the program itself is determined to be distributed to the information processing terminal, and when the terminal ID is not described in the table, the terminal ID is associated with the program specific information. And adding to the tape, and determining that the program body and the program specific information are to be distributed to the information processing terminal.
  • the server apparatus can prevent new acquisition of program specific information corresponding to a program previously distributed by the information processing terminal, and acquires new program specific information to avoid exclusion. It is possible to reliably prevent the fraudulent acts of the information processing terminal.
  • a program management system is connected to an information processing terminal holding a terminal ID that can not be rewritten from the outside, and the information processing terminal via a network.
  • An information processing terminal is a program management system including a server device that holds a program that operates on the information processing terminal, wherein the information processing terminal, when requesting acquisition of the program, acquires the program with the terminal ID assigned.
  • a determination means for determining the propriety of distribution grams characterized Rukoto.
  • the present invention can not only be realized as the above-described server apparatus, but also the program distribution using the program management system between the server apparatus and the information processing terminal or the means provided in the server apparatus as steps. It can also be realized as a method.
  • this program distribution method can be realized as a program that realizes it on a computer etc. It goes without saying that it can be distributed via recording media such as, etc. and transmission media such as communication networks.
  • FIG. 1 shows a configuration diagram of an information processing terminal and a server apparatus according to the first embodiment.
  • FIG. 2 is a configuration diagram of the entire program transmitted from the server device to the information processing terminal according to the first embodiment.
  • Figure 3 (a) shows an example of the information stored in the program header.
  • Figure 3 (b) shows an example of the information stored in the program.
  • Figure 4 (a) shows an example of the information stored in the unique information header.
  • Figure 4 (b) shows an example of the information stored in the program specific information.
  • FIG. 5 is a diagram showing an operation procedure in a program updating system performed between an information processing terminal and a server device.
  • FIG. 6 is a diagram showing an example of information storage of the unique information distribution history held in the unique information distribution history holding unit.
  • FIG. 7 is a flowchart showing a program distribution procedure in the server device.
  • FIG. 8 is an overall view showing a program management system using the server apparatus according to the first embodiment.
  • FIG. 9 is a diagram showing another data structure included in the program header and the program according to the first embodiment.
  • FIG. 2 is a diagram showing a data structure.
  • FIG. 11 shows a configuration diagram of an information processing terminal and a server apparatus according to Embodiment 2 of the present invention.
  • FIG. 12 (a) is a diagram showing an example of information included in the unique information distribution history according to the second embodiment.
  • FIG. 12 (b) is a diagram showing an example of information included in the program Z specific information correspondence table according to the second embodiment.
  • FIG. 13 is a flowchart showing the program distribution procedure in the server device.
  • FIG. 14 is a block diagram of an information processing terminal and a server apparatus according to the third embodiment.
  • FIG. 15 is a diagram showing an example of information storage of distribution number information according to the third embodiment.
  • FIG. 16 is a flowchart showing the program distribution procedure in the server device.
  • FIG. 17 shows a configuration diagram of an information processing terminal and a server apparatus according to the fourth embodiment.
  • FIG. 18 (a) is a diagram showing an example of data stored in the distribution number information according to the fourth embodiment.
  • FIG. 18 (b) is a diagram showing an example of data stored in the program unique information correspondence table according to the fourth embodiment.
  • FIG. 19 is a flowchart showing the program distribution procedure in the server device.
  • FIG. 20 is an explanatory diagram of a conventional method of verifying the legitimacy of a program using an electronic signature.
  • Figure 21 shows the program management between the conventional information processing terminal and the server It is a reference drawing of a system.
  • FIG. 1 shows a configuration diagram of an information processing terminal 100 and a server apparatus 120 according to Embodiment 1 of the present invention.
  • the information processing terminal 100 is a terminal device that uses a program used for electronic commerce, content distribution, etc. acquired from the server device 120.
  • the information processing terminal 100 uses the CPU 101, RAMI 02, and the encryption of programs and data.
  • encryption processing unit 1 0 3 that performs decryption processing, communication processing unit 1 0 4 that communicates with server device 1 2 0 0, program storage unit 1 0 5 that stores programs, CA public key etc It comprises a data storage unit 106 for storing information without information, and a secret information storage unit 10 for storing information that needs to be concealed, such as a secret key.
  • the program storage unit 105 stores the program 116 operating on C PU 101.
  • the data storage unit 106 stores the data used by the information processing terminal 100 that do not need to be particularly concealed, and the ID and version of the program stored in the information processing terminal 100. Stores program management information 1 0 8 and CA public key 1 0 9 that are management information of stored programs such as numbers.
  • the secret information storage unit 107 stores information that needs to be concealed in the information processing terminal 100, and the terminal unique key 110, which is a key different for each information processing terminal, information Terminal secret, which is one of different public key pairs for each processing terminal A key 1 11 1, program specific information 1 12 such as a unique key used by a program, and a terminal public key certificate 1 1 3 which is the other of a public key pair different for each information processing terminal is stored.
  • the terminal public key certificate 1 1 3 is an ID that uniquely identifies the information processing terminal 1 0 0.
  • the terminal ID 1 1 4 and the terminal public key certificate 1 1 3 CA signature 1 1 Contains 5
  • the server apparatus 120 is an apparatus for distributing a program requested from the information processing terminal 100, and the CPU 1201, RAMI 22, encryption of programs and data, etc.
  • Cryptographic processing unit 1 2 3 that performs decryption processing
  • communication processing unit 1 2 4 that communicates with information processing terminal 1 0 0 0, data storage unit 1 2 that stores information that does not need to be concealed, such as CA public key 5.
  • a distribution information storage unit 126 storing information such as a program to be distributed to the information processing terminal 100, and a unique information distribution history holding unit 140.
  • the server apparatus 120 is characterized by including a unique information distribution history holding unit 140.
  • the unique information distribution history holding unit 140 holds a unique information distribution history 600 for managing the history of program specific information of the program distributed to the information processing terminal 100.
  • a data storage unit 125 is an area for storing information used by the server device 120.
  • the server secret key 127 which is one of the public key pairs, and the server public key certificate, which is the other of the public key pairs.
  • Document 1 2 8 and CA Public Key 1 2 9 are stored.
  • Server public key certificate 1 2 8 contains server ID 1 3 0 which is an ID uniquely identifying the server, and CA signature 1 3 1 added by CA to the server public key certificate.
  • the distribution information storage unit 1 2 6 is an area for storing information to be distributed to the information processing terminal 1 0 0 by the server device 1 2 0.
  • the program header 3 0 0, program 3 1 0, unique information header 4 0 0, and program specific information 4 2 0 are stored. Note that the program that is this distribution information
  • a diagram of the entire ram is shown in Figure 2 below.
  • this CA signature guarantees that the distribution information is distributed from a valid distribution source.
  • FIG. 2 is a configuration diagram of an entire program 200 transmitted from the server device 120 according to the first embodiment to the information processing terminal 100 side.
  • the entire program 200 is information stored in the distribution information storage unit 1 2 6 of the server apparatus 120.
  • the program header 300, the program 3 1 0, the unique It consists of an information header 400 and program specific information 420.
  • the present invention is characterized in that the whole program 200 is separated into a program 3 10 and program specific information 4 2 0, and further divided into a header part and a data part. .
  • FIGS. 3 (a) and 3 (b) are diagrams showing an example of information stored in the program header 300 and the program 310.
  • the program header 300 contains information on the program 310 and contains the following information.
  • Program ID (3 0 1) indicating whether the information corresponds to 0.
  • Corresponding Program 3 1 0 version number (3 0 2).
  • Corresponding program 3 1 0 program size (3 0 3).
  • the corresponding program 3 1 0 hash value (3 0 4).
  • the CA signature (3 0 5) for the entire program header 300 containing the information from (1) to (4 ') above.
  • a C A signature (3 11) for the program 3 10 is added to the program 3 10.
  • the program header 300 and the program 310 include the CA signatures 3 0 5 and 3 1 1, the program header in the information processing terminal 100 0 is distributed from a valid distribution source in the program. It is possible to verify that it is a thing.
  • FIGS. 4 (a) and 4 (b) are diagrams showing an example of information stored in the specific information header 400 and the program specific information 420.
  • FIG. 4 (a) and 4 (b) are diagrams showing an example of information stored in the specific information header 400 and the program specific information 420.
  • the specific information header 400 contains information about program specific information 420 and contains the following information.
  • Specific information header 4 0 Program specific information ID (4 0 1) indicating which program specific information 4 2 0 the information stored in corresponds to.
  • Corresponding program specific information 4 2 0 Program 3 1 0 program ID (4 0 2).
  • Corresponding program specific information 4 2 0 The number of specific information stored in (0 0 3).
  • Corresponding program specific information 4 2 0 Total size (4 0 4).
  • Corresponding program specific information 4 20 A specific information sub-header (4 0 5) indicating information on individual specific information included in 0.
  • the number of unique information subheaders 405 is equal to the number (1 to n) of individual pieces of unique information included in program specific information 420.
  • the specific information subheader 4 0 5 is a program specific information sub ID 4 1 1 which is an ID for identifying each specific information, and the support of each specific information. It is composed of the information 4 1 2
  • the program specific information 420 also includes a plurality of program specific information (4 2 1) and a CA signature (4 2 2) for the entire program specific information. For this reason, since the unique information header 400 and the program specific information 420 both include the CA signature (4 0 6 and 4 2 2), the information processing terminal 1 0 0 has the unique information header 4 0 0, the program. It is possible to verify that the unique information 4 20 is distributed from a valid distributor.
  • the information processing terminal 100 first makes a header acquisition request to check the free space. Further, in the server device 120, the information processing terminal 100 for illegal use of the program can be excluded by referring to the unique information distribution history 600 from the unique information distribution history holding unit 140. It becomes possible.
  • the information processing terminal 100 makes a connection with the server device 120 by means of SS L (S 501).
  • the server device 120 acquires the terminal ID of the information processing terminal 100.
  • SS L is a mechanism that encrypts and transmits data using a public key encryption method and a secret key encryption method together in order to transmit and receive data safely between two points.
  • SSL since a valid key is shared only in the session called session key, all data transmission / reception between the information processing terminal 100 and server apparatus 120 shown in FIG. It shall be performed by encrypted data using session key.
  • the information processing terminal 100 requests the server device 120 to acquire a header by specifying the program ID of the program 310 to be acquired (S502).
  • the server device 120 has a unique information distribution history holding unit 14 Confirm the correspondence between the terminal ID and the program specific information ID according to the specific information distribution history 6 0 0 held in 0. That is, it is checked whether the unique information 1 D has already been distributed to the information processing terminal 100.
  • the server apparatus 120 that has received the header acquisition request is sent to the program stored in the distribution information storage unit 126. Send 0 0 to the information processing terminal 1 0 0 (S 5 0 3).
  • the information processing terminal 100 receiving the program header 3 0 0 from the server device 1 2 0 uses the CA public key 1 0 9 stored in the data storage unit 1 0 6, the program header 3 0 Verify the CA signature contained in 0 (S504). As a result, the information processing terminal 100 verifies that the information in the program header is information distributed from a legitimate distribution source that has not been tampered with.
  • the program header 300 contains information about the program, such as the program ID of the program, the version number 302, the size 303, and the program hash value 304.
  • the information processing terminal 100 compares the above information with the program ID, version information, and free capacity information described in the program management information 1 0 8 stored in the data storage unit 1 0 6, Check whether the program to be updated 3 1 0 is correctly distributed from the server device 1 2 0 or if there is free space for storing the program 3 1 0 (S 5 0 4). Therefore, the information processing terminal 100 according to the first embodiment prevents such an adverse effect that the program can not be acquired while the program 310 is down.
  • the server device 120 transmits the unique information header 400 stored in the distribution information storage unit 126 to the information processing terminal 100 (S550).
  • the information processing terminal 1 0 0 that has received the unique information header 4 0 0 from the service device 1 2 0 is the CA public key 1 0 stored in the data storage unit 1 0 6
  • the information processing terminal 100 verifies that the unique information header 400 is not falsified and is information distributed from a valid distribution source.
  • the unique information header 400 is distributed with a program specific information ID 4 0 1 that identifies the program specific information 4 2 0 as desired, the program ID 4 0 2 of the program related to the program specific information, and the program specific information Information about the program specific information 4 2 0, such as the number of specific information 4 0 3 and the size 4 0 4 contained in the information to be stored.
  • the program ID and free space information described in the program management information 1 0 8 stored in the part 1 0 6 are compared, and the program specific information 4 0 regarding the program 3 1 0 to be updated is correct. Whether it is distributed from the device 120 or there is free space for storing the program specific information 4 20 is checked before the down of the program 3 10 (S506).
  • the information processing terminal 100 determines that the program 3 1 0 and the program specific information 4 2 0 can be obtained, the information processing terminal 1 0 makes a program acquisition request by designating the program ID to the server device 1 2 0 S 5 0 7).
  • the server apparatus 120 having received the program acquisition request transmits the program 310 stored in the distribution information storage unit 126 to the information processing terminal 100 (S580).
  • the information processing terminal 100 which has received the program 3 1 0 from the server device 1 2 0 is included in the program 3 1 0 using the CA public key 1 0 9 stored in the data storage unit 1 0 6 Verify the current CA signature (S509). As a result, the information processing terminal 100 verifies that the program 310 has not been tampered with and is information distributed from a valid distribution source.
  • the terminal unique key 1 1 0 stored in the secret information storage unit 1 0 7 encrypts the acquired program 3 1 0 And store it in the program storage unit 1 0 5 (S 5 0 9).
  • the program storage location, program ID, purge number, etc. are stored in the program management information 108 to manage the program.
  • the program 1 1 6 stored in the program storage unit 1 0 5 is decrypted using the terminal unique key 1 1 0 to calculate a hash value.
  • the calculated value is compared with the hash value stored in the program header 300 to confirm that the program is stored correctly (S510).
  • the information processing terminal 100 designates the program ID to the server device 120 and makes a program specific information acquisition request (S 51 1).
  • the server device 120 transmits the program specific information 4 20 stored in the distribution information storage unit 1 2 6 to the information processing terminal 1 0 0 (S 5 1 2).
  • the information processing terminal 100 that has received the program specific information 4 2 0 from the server device 1 2 0 uses the CA public key 1 0 9 stored in the data storage unit 1 0 6 to obtain the program specific information 4 2 Verify the CA signature contained in 0 (S 51 3). As a result, the information processing terminal 100 verifies that the program specific information has not been altered and is information distributed from a valid distribution source. If the legitimacy of the acquired data can be verified, the acquired program specific information is stored in the confidential information storage unit 1 0 7 (S 5 1 3).
  • the information processing terminal 100 makes a header acquisition request to check whether the free space for storing the program 310 exists or not. It is possible to download the program more safely.
  • program 3 10 and program Unique information 4 2 0 hash value is calculated, and the calculated hash value is compared with the hash value stored in the program header 3 0 0 and the program specific information header 4 0 0. It is also conceivable to confirm that it is.
  • FIG. 6 is a diagram showing an example of information storage of the unique information distribution history 600 held in the unique information distribution history holding unit 140.
  • the server device 120 distributes the table in which the program unique information 420 corresponding to the program distributed to the information processing terminal 100 and the terminal ID of the information processing terminal 100 are recorded to the unique information It is assumed that the history 6 0 0.
  • the server device 120 has a terminal ID 6001, which is an ID for identifying the information processing terminal 100 that has distributed the program unique information 420, and an ID for identifying the distributed program unique information 420.
  • the program specific information ID 602 is stored in the unique information distribution history holding unit 140. Also, as necessary, the last distribution date 6 0 3 indicating the date and time of last distribution of the program specific information 4 2 0 is stored in the specific information distribution history 6 0 0.
  • server apparatus 1 20 has distributed 5 pieces of program specific information 4 2 0 to information processing terminal 1 0 0, and a combination of each terminal ID 6 0 1 and program specific information ID 6 0 2 (Terminal ID.
  • Program specific information ID) (0 0 0 1, 0 0 0 1), (0 0 0 2, 0 0 0 2), (0 0 1 0, 0 0 0 3), ( 0 0 1 5, 0 0 0 4), and (0 0 2 0, 0 0 0 5).
  • FIG. 7 is a flowchart showing the distribution procedure of the program 310 in the server device 120.
  • the server apparatus 120 receives a program distribution request from the information processing terminal 100 (S701).
  • server device 120 acquires the terminal ID of information processing terminal 100 included in the received program distribution request, and (S702) Search the terminal ID acquired for the unique information distribution history 600 (S703), and whether or not the same information ID is stored in the unique information distribution history 600 Make a judgment of (S 7 0 4).
  • the server device 120 If the same terminal ID is stored in the unique information distribution history 600 (Y in S704), the server device 120 has already stored the program-specific information in the information processing terminal 100. Since 0 has been distributed, only program 3 1 0 is sent and the process is terminated (S 7 0 8).
  • the server device 120 when the same terminal ID is not stored in the unique information distribution history 600 (N in S704), the server device 120 newly adds program unique information to the information processing terminal 100. 4 2 0 is assigned (S 7 0 5), and the newly assigned program specific information 4 2 0 is added with the correspondence of terminal ID 6 0 1 and program specific information ID 6 0 2 and specific information distributed. Update history 6 0 0 (S 7 0 6). Then, the server device 120 transmits the program specific information 4 20 to the information processing terminal 1 0 0, transmits the program 3 1 0 to the information processing terminal 1 0 0, and ends the processing (S 70) 8).
  • server apparatus 120 by distributing and managing program specific information using specific information distribution history 600 in server apparatus 120, multiple program specific information 420 can be distributed to one information processing terminal 100. Be sure to prevent doing so. As a result, the server apparatus 120 is already recognized as an illegal terminal using CRL unique information 420 by the CRL etc., and a new program specific to the information processing terminal 100 is excluded. Information 4 2 0 will not be assigned. Therefore, it is possible to prevent the fraudulent act of the information processing terminal 100 for acquiring new program specific information 420 to avoid exclusion.
  • FIG. 8 is an overall view showing a program management system using the server apparatus 120 according to the first embodiment.
  • the server device for program 120a transmits a program corresponding to the program acquisition request to the information processing terminal 100.
  • the server apparatus 1 20 0 b transmits an application used for a program operated on the information processing terminal 100 to the information processing terminal 100.
  • the program specific information of the program held by the information processing terminal 100 is “0 1 0 1”
  • new program specific information is used in order to avoid the exclusion of the CRL 800.
  • the communication channel is made an encrypted communication channel using SSL.
  • the server apparatus 12 O b has an invalid program revocation list (CRL) 800 using program specific information, and is added to the acquisition request from the information processing terminal 100. Since the program specific information “0 1 0 1” is described in the CRL 800, the unauthorized data processing terminal is excluded by not transmitting the application data.
  • the server device 1 20 0 b sends application data to the information processing terminal 1 0 0.
  • a CA signature is added to the data downloaded from the server device 120 a etc., and the information processing terminal 100 verifies the signature, whereby the download data is falsified or replaced on the communication path. , Prevent eavesdropping etc.
  • Program-specific information "The user of the information processing terminal 100 whose J. 0 1 0 1 J is described in CRL 800 can obtain new alternative program-specific information and use it for a program to avoid exclusion by CRL.
  • the server apparatus 120a according to the present invention relates to the program previously distributed in the unique information distribution history holding unit 140, and the terminal ID of the information processing terminal 100 [0 1 0 2]. It has the unique information distribution history 600 where "" and the program specific information ID "0 1 0 1" are recorded. Then, when a new program specific information acquisition request is issued from the information processing terminal 100 to the server device 120a, the server device 120a is added to the program specific information acquisition request.
  • the terminal ID “0 1 0 2” is listed in the unique information distribution history 600, and if it is described, the distribution of program specific information is prohibited and only the program itself is Distribution to the information processing terminal 100.
  • the terminal ID and the program unique are added to the unique information distribution history 600, and the program and program unique information are distributed to the information processing terminal 100.
  • the server device 120a does not distribute to the information processing terminal 100 again, and the main body of the program may be distributed twice or more. This is because the program specific information has been invalidated by the CRL 800, so the user of the information processing terminal 100 who intends to use it illegally attempts new application data unless the program specific information is updated. It is because it excludes acquiring.
  • FIG. 9 is a view showing another data structure included in the program header 9 0 0 and the program 9 1 0 according to the first embodiment.
  • the difference between Fig. 9 and Fig. 3 is that program 9 10 does not have CA signature 3 1 1 added.
  • Program header 9 0 0 contains information about program 9 1 0
  • the program header 9 0 0 is obtained from the server device 1 2 0 and the program header 9 0 Verify the CA signature 9 0 5 attached to 0 0.
  • the information processing terminal 100 verifies that the program header 900 is not falsified and is information distributed from a valid distribution source.
  • the program hash value 9 0 4 stored in the program header 9 0 0 is used for the validity verification of the program 9 1 0, and the CA signature 9 0 5 is added only to the program 9 0 0.
  • information processing terminal 1 0 0 detects a combination error by calculating the hash value of the program. It becomes possible.
  • by not performing the CA signature of program 910 it is not necessary to pass program 901 to the certification authority to perform the CA signature.
  • FIG. 10 is a diagram showing another data structure included in the specific information header 1 0 0 0 and the program specific information 1 0 2 0 using FIG.
  • the difference between Fig. 10 and Fig. 4 is that the unique information header 1 0 0 0 has the program specific information hash value 1 0 0 5 and adds the 0 8 signature 4 2 2 to the program specific information 1 0 2 0 It is a point not to do.
  • the unique information header 1 0 0 0 is for storing information related to program specific information 1 0 2 0, and the program unique information ID 1 which is information similar to the information stored in the above-mentioned unique information header 4 0 0 0 0 1, program ID 1 0 0 2, number of unique information 1 0 0 3, size of entire program specific information 1 0 0 4, hash value of entire program specific information 1 0 0 5, unique information subheader 1 0 0 6 and the CA signature 1007 for the entire unique information header.
  • the information processing terminal 100 calculates the hash value of the program specific information 1 0 2 0 and calculates the hash value and the hash value of the program specific information stored in the specific information header 1 0 0 0 Verify that the program specific information 1 0 2 0 is not falsified or information distributed from a valid distribution source by comparing with 1 0 0 5 to confirm that they match. Is possible.
  • the server apparatus 120 when the server apparatus 120 according to the first embodiment includes the unique information distribution history holding unit 140, the server apparatus 120 can be realized by the information processing terminal 100. It is possible to prevent new acquisition of program specific information corresponding to the previously distributed program. Therefore, it is possible to realize a secure download by avoiding fraudulent acts such as hacking of the information processing terminal 100 for acquiring new program specific information 420 and avoiding exclusion.
  • a secure flash memory etc. that can only access the program acquired from the server device 1 20 from the terminal 10 0 only from the inside
  • the server device By encrypting with the terminal unique key 1 1 0 recorded in the server, the server device does not require processing for encrypting the program with the unique key of the information processing terminal as in the prior art. It becomes possible to reduce the burden of program encryption processing in the apparatus 120.
  • the information processing terminal 100 is different for each information processing terminal 100 by decrypting with a terminal unique key 110 after program storage and performing verification with a plaintext program hash value. It becomes possible to judge the success or failure of program storage without being aware of the encryption by the terminal unique key 110.
  • the server apparatus 120 separately creates the whole program into a program 310 and program specific information 420 separately. Therefore, the server device 120 manages a plurality of relatively small program specific information 420 having a capacity different from one another in each information processing terminal 100, and information common to all information processing terminals 100 By managing only one program 310 with a large capacity, the capacity of the distribution information managed by the server apparatus 120 can be significantly reduced, and thus the burden of information management can be reduced. It becomes possible.
  • the program specific information 1 0 2 0 hash value 1 0 0 5 is stored in the specific information header 1 0 0 0, and the CA signature only in the specific information header 1 0 0 0 0
  • program specific information 1 0 2 0 It is possible to obtain the effect of
  • the combination of the unique information header 1 0 0 0 and the program specific information 1 0 2 0 is illegally changed, it is possible to calculate the hash value of the program specific information 1 0 2 0 in the information processing terminal 1 0 0 It also becomes possible to detect combinations of anomalies.
  • the format of the unique information distribution history 600 stored in the unique information distribution history holding unit 140 described in the first embodiment is only an example, and the last distribution date 6 0 3 may be deleted. , Other information may be added.
  • the distribution of program specific information 420 is denied to the terminal ID 600 described in the specific information distribution history 600, unless unauthorized acquisition is made, The program specific information 420 already distributed may be distributed again to the information processing terminal 100 having the terminal ID 600.
  • the request from information processing terminal 100 is either a program distribution request involving distribution of a program or a program specific information distribution request not involving distribution of a program. it can.
  • encrypted data is transmitted and received between the information processing terminal 100 and the server apparatus 120 using SSL.
  • SSL Secure Sockets
  • the data storage unit 106 and the program storage unit 105 are separate but may be the same storage unit. Also, although the terminal public key certificate 1 1 3 is stored in the secret information storage unit 1 0 7, it may be stored in the data storage unit 1 0 6.
  • server device 120 creates program header 300, unique information header 400, separately from program 320, and program specific information 420.
  • the program 3 1 0 and the program header 3 0 0, the program specific information 4 2 0 and the specific information header 4 0 0 are regarded as one piece of information, and only the header portion is cut out prior to distribution from the server device 120. It may be transmitted to the information processing terminal 100.
  • program 310 program specific information
  • encryption is further performed using a key different from the session key, and the key is added to the program header 3 0 0, unique information header 4 It may be distributed by including it in 0 0.
  • the point described as a hash value in the first embodiment may be that an existing hash algorithm such as SHA-1 or MD 5 may be used as a hash algorithm, or a unique algorithm may be used. It is also good.
  • a tamper detection method may be used using a method such as Q: tsum. Also, when distributing a program that does not require different information for each information processing terminal 100, there is no need to distribute program specific information.
  • FIG. 11 shows a configuration diagram of an information processing terminal 1 100 according to a second embodiment of the present invention and a protective device 1 120.
  • the point different from the first embodiment is that the server device 1 120 holds the program specific information correspondence table holding unit 1 150.
  • the program unique information correspondence table holding unit 1 1 5 0 is a program information indicating correspondence between a program unique information ID for uniquely identifying program unique information and a program ID for uniquely identifying a program using program unique information. It is a storage unit that holds the unique information correspondence table 1 2 1 0.
  • FIGS. 12 (a) and (b) are diagrams showing an example of information included in the unique information distribution history 1200 and the program unique information correspondence table 1201 according to the second embodiment.
  • the unique information distribution history holding unit 1 1 4 0 differs from the unique information distribution history 6 0 0 in the first embodiment described above in that the program ID 1 2 0 2 that identifies the program corresponding to the distributed program unique information is used. Management of the attached unique information Distribution history 1 2 0 0 Note that the unique information distribution history is stored in 1 2 0 0 The terminal IDs 1 2 0 1, program specific information ID 1 2 0 3, and the final distribution date 1 2 0 4 are the same as in FIG.
  • server device 1 1 2 0 has distributed 5 pieces of program specific information ID 1 2 0 3 to information processing terminal 1 1 0 0, each terminal ID 1 2
  • the program / specific information correspondence table holding unit 1 1 5 0 is the program / specific information correspondence table 1 2 1 0, the program ID 1 2 1 1 of the program managed by the server device 1 1 2 0, Stores the correspondence with the program specific information ID 1 2 1 2 that identifies the program specific information used by each program.
  • the server device 1 1 2 0 manages a program whose program ID is 0 0 0 1 and the program specific information ID is 0 0 0 1 as program specific information used by that program. It manages program specific information up to 1000. Similarly, a program with a program ID of 0 0 0 2 and program specific information used by that program are managed with program specific information of 1 0 0 1 to 2 0 0 0. In addition, in the program specific information correspondence table 1120, it is distributed at the start of the next program specific information distribution to prevent redistribution of the program specific information distributed to the information processing terminal 1 0 0 0. Stores distribution start ID 1 2 1 3 which is program specific information to be done.
  • the program ID is new to the program 0 0 0 1
  • server device 1 1 2 0 assigns program specific information of program specific information ID 0 1 2 3.
  • program-specific information is newly assigned to a program having a program ID of 0, 02, 0, the server device 1 1 2 0 indicates that program-specific information of program-specific information ID 1 4 2 3 is assigned. ing.
  • the server device 1 120 corresponds to the program ID for the program distribution request specifying the program ID from the information processing terminal 1 10 0 using this program specific information correspondence table 1 20 0 Program specific information will be distributed.
  • FIG. Figure 13 is a flowchart showing the program distribution procedure on server device 120.
  • the server apparatus 1 120 receives a program distribution request from the information processing terminal 1 1 0 0 (S 1 3 0 1).
  • This program distribution request specifies program ID.
  • the server device 1 120 obtains the terminal ID of the information processing terminal 1 100 and the program ID from the received program distribution request (S 1 3 0 2). Then, search the terminal ID and program ID acquired for the unique information distribution history 1200 (S1303), the same information as the unique information distribution history 1200 0 1 0 0 The same terminal ID and the same program ⁇ D history Check whether or not is stored (S1304).
  • server device 1 1 2 0 is the programo unique information correspondence table Based on the information on the distribution start ID stored in 1 2 1 0, program specific information 1 1 3 5 is newly assigned to the information processing terminal 1 1 0 0 (S 1 3 0 5).
  • the server device 1 120 relates to the program / specific information correspondence table 1 2 1 stored in the program specific information correspondence table holding unit 1 1 5 0 regarding the newly assigned program specific information 1 1 3 5 Refer to 0 and update the value of distribution start ID 1 2 1 3 (S 1 3 0 6). Also, the correspondence between the terminal ID and the program specific information ID is added to the specific information distribution history 1 200 for the newly allocated program specific information 1 1 3 5 (S 1 3 0 7). Then, the server device 1 120 sends the program specific information 1 1 3 5 to the information processing terminal 1 1 0 0 (S 1 3 0 8), sends the program 1 1 3 3 and ends the processing ( S 1 3 0 9).
  • the server device 1 120 includes the unique information distribution history holding unit 1 140 and the program unique information correspondence table holding unit 1 150, and the unique information
  • the server device 1 120 includes the unique information distribution history holding unit 1 140 and the program unique information correspondence table holding unit 1 150, and the unique information
  • the unique information By managing distribution of program specific information by using distribution history 120 and program / specific information correspondence table 120, it is possible to execute the same program operating on one information processing terminal 1 100. Prevent distribution of multiple program specific information 1 1 3 5 Therefore, it is possible to prevent the information processing terminal 1 100 for acquiring new program specific information 1 13 5 to avoid exclusion from acquiring new program specific information 1 1 35. Become.
  • the server apparatus 1 120 includes a download target program and an information processing terminal 1 10 0 on which the program operates. Is stored in the program-specific information correspondence table 1 2 1 0 and the distribution of program-specific information 1 1 3 5 is managed on a program-by-program basis, so that the program-specific information 1 1 3 5 can be distributed for each program. It is possible to judge. Therefore, the server apparatus 1 120 can prevent the program from being distributed to the information processing terminals 1 1 0 0 not to be operated with reference to the program / specific information correspondence table 1 2 1 0.
  • the data storage unit 1 10 6 and the program storage unit 1 1 0 5 are separate, they may be the same storage unit.
  • the format of the unique information distribution history 1200 shown in the second embodiment is an example, and the final distribution date 1204 may be deleted, or other information may be added.
  • the format of the program specific information correspondence table 1201 is also an example, and the distribution start ID 12013 may be managed in another format. For example, by providing a table that stores all program specific information IDs, and providing a flag that identifies whether each program specific information ID has been assigned, the distribution status of program specific information 1 1 3 5 You may manage
  • the information processing terminal 100 can be a program distribution request involving the distribution of a program or a program specific information distribution request not involving the distribution of a program.
  • FIG. 14 is a block diagram of an information processing terminal 1 400 according to the third embodiment and a server apparatus 1 240.
  • the difference between the first embodiment and the second embodiment described above is that the server device 1420 has a distribution frequency information holding unit 1. It is a point having 4 40.
  • the distribution number information holding unit 1 4 4 0 is a distribution number information for managing the number of times the program specific information 1 4 3 5 has been distributed from the server device 1 4 2 0 to the same information processing terminal 1 4 0 0 It is a hard disk that holds 1 500.
  • FIG. 15 is a diagram showing an example of information storage of distribution number information 1 500 according to the third embodiment.
  • Distribution number information 1 5 0 0 contains the program specific information 1 4 3 5 Information processing terminal 1 4 0 0 ID that identifies the terminal ID 1 5 0 1, Number counter 1 5 0 2 is stored.
  • program specific information 1 4 3 5 is distributed once to information processing terminals 1 4 0 0 with terminal IDs 0 0 0 1 and 0 0 0 2 and the terminal ID 0 0 0 It is shown that the program specific information 1 4 3 5 is not distributed to the information processing terminal 1 4 0 0 of 3.
  • FIG. 16 is a flowchart showing a program distribution procedure in the server device 140.
  • the server apparatus 1420 receives a program distribution request from the information processing terminal 1400 (S1660).
  • the server device 1402 acquires the terminal ID of the information processing terminal 1400 included in the program distribution request received in S1601 (S1602).
  • the server apparatus 140 searches for the terminal ID acquired in S 1602 using the distribution number information 1 500 stored in the distribution number information holding unit 1 40 0, and Get the value (S1603). In addition, it is determined whether or not the value of the acquired frequency counter is equal to or more than a specified value (S 1 6 0 4).
  • the server device 1 4 2 0 is for the information processing terminal 1 4 0 0 Since the program has already distributed the program specific information 1 4 3 5 more than the specified number of times, only the program 1 4 3 3 is transmitted and the processing is terminated (S 1 6 0 8).
  • the server device 1420 is newly added to the information processing terminal 1400 with program specific information 1 Assign 4 3 5 (S 1 6 0 5).
  • the server device 140 adds the value of the number counter of distribution number information 1 500 stored in the distribution number information holding unit 1 4 0 (S 1 0 6).
  • the server device 1420 transmits the program specific information 1435 to the information processing terminal 1400 (S1607), transmits the program 1433 and terminates the processing ( S 1 6 0 8).
  • the server apparatus 1 420 includes the distribution number information holding unit 1 4 4 0 and uses the distribution number information 1 5 0 0 to obtain the program specific information 1 4 3 5 By performing distribution management, it is possible to prevent distribution of program specific information 1 4 3 5 of the specified value or more to one information processing terminal 1 400.
  • the server device 1 240 uses the information contained in the program specific information 1 4 35. By newly assigning program specific information 1 4 3 5 to information processing terminal 1 4 0 0 that has been recognized as an unauthorized terminal and has been excluded, it becomes possible to prevent the unauthorized terminal from avoiding exclusion. .
  • program specific information 1 for the user who purchases the program again instead of the illegal purpose such as the failure of the hard disk 1 4 3 5 It becomes possible to redistribute and newly distribute.
  • the data storage unit 1406 and the program storage unit 1405 are separate but may be the same storage unit.
  • the format of the distribution number information 1 500 shown in mode 3 is an example, and other information may be added.
  • the request from the information processing terminal 140 can be a program distribution request involving distribution of a program or a program specific information distribution request not involving a distribution request of a program.
  • FIG. 17 shows a configuration diagram of an information processing terminal 1 700 according to the fourth embodiment and a server device 1 720.
  • the point different from the above-mentioned third embodiment is that the server device 1 720 holds the program / specific information correspondence table holding unit 1 7 0.
  • the program specific information correspondence table holding unit 1 7 5 0 is a storage unit similar to the program specific information correspondence table holding unit 1 1 5 0 described in FIG.
  • FIGS. 18 (a) and 18 (b) are diagrams showing an example of data stored in distribution number information 1 8 0 0 and program / specific information correspondence table 1 8 1 0 according to the fourth embodiment.
  • Distribution number information 1 8 0 0 is the program ID 1 8 0 1 of the distributed program, information processing terminal 1 7 3 5 distributed information terminal 1 7 0 0 terminal 1 D 1 8 0 2, program specific information Stores the counter 1 8 0 3 that indicates the number of times of distribution.
  • the difference from the distribution number information 1 500 in the third embodiment is that a program ID 1 180 1 for identifying a program that uses program specific information is added.
  • Distribution number information 1 8 0 0 is program specific information 1 7 3 5 used by the program with program ID 0 0 0 1 and information processing terminal 1 7 0 0 with terminal ID 0 0 0 1, 0 0 0 2 Distributes once, and indicates that program specific information 1 7 3 5 is not distributed to information processing terminal 1 7 0 0 whose terminal ID is 0 0 0 3.
  • program specific information 1 7 3 5 used by a program with program ⁇ D 0 0 0 2 and information about a terminal ID 0 0 0 1
  • the program Z specific information correspondence table 1 8 1 0 is the same as the program / specific information correspondence table 1 2 1 0 in FIG. 12 described above, and the detailed description will be omitted.
  • FIG. 19 is a flow chart showing the program distribution procedure in the server device 170.
  • the server device 1702 receives a program distribution request from the information processing terminal 1700 (S 1 190 1).
  • This program distribution request includes the program ID of the program requested to be acquired by the information processing terminal 1700.
  • the support device 17020 obtains the terminal ID and program ID of the information processing terminal 1700 included in the program distribution request received in S1901 (S1902) .
  • the server device 1702 searches the distribution number information 1800 for the terminal ID and program ID acquired in S1902 and acquires the value of the number counter (S1903) ). Next, it is judged whether or not the value of the obtained number counter is equal to or more than a specified value (S 1 9 0 4).
  • the server device 1 720 when the value of the acquired number counter is equal to or more than the specified value (Y in S 194), the server device 1 720 has already received the program specific information 1 7 0 to the information processing terminal 1 7 0 0. Since 3 5 is distributed more than the specified number of times, only program 1 7 3 3 is sent and the process ends (S 1 9 0 9).
  • the server device 1 7 2 0 is stored in the program / specific information correspondence table 1 8 1 0
  • the program specific information 1 7 3 5 is newly allocated to the information processing terminal 1 7 0 0 based on the information of the distribution start ID (S 1 9 0 5).
  • server device 1702 relates to the program specific information correspondence table 1 8 1 0 regarding the program specific information 1 7 3 5 newly assigned in S 1 0 5 5 Update (S1 9 0 6).
  • the value of the number counter stored in the distribution number information 1 8 0 0 is added (S 1 9 0 7), and the program specific information 1 7 3 5 is transmitted to the information processing terminal 1 7 0 0 (S 1 9 0 8) Send program 1 7 3 3 and complete the process (S 1 9 0 9).
  • the server apparatus 1 720 includes the distribution number information holding unit 1 7 4 0 and the program / specific information correspondence table holding unit 1 7 5 0.
  • the distribution number information 1800 held in the program and the program / specific information correspondence table 1 8 1 0 are used to manage program specific information 1 7 3 5 to manage one information processing terminal 1 7 0
  • the server device 1702 determines whether the program specific information 1735 can be distributed for each program by managing the distribution of program specific information in units of programs. It becomes possible.
  • the data storage unit 1 7 0 6 and the program storage unit 1 7 0 5 are separate but may be the same storage unit.
  • the format of the distribution number information 1 800 shown in the fourth embodiment is an example, and other information may be added.
  • the format of the program specific information correspondence table 1 8 1 0 is also an example, and may be managed in another format.
  • the request from the information processing terminal 700 can be a program distribution request involving distribution of a program or a program specific information distribution request not involving distribution of a program.
  • the server apparatus can prevent the new acquisition of program specific information corresponding to the program previously distributed by the information processing terminal by having the specific information distribution history holding unit. As a result, it is possible to reliably prevent fraudulent acts of information processing terminals that acquire new program specific information and try to avoid exclusion.
  • the information processing terminal according to the present invention can reduce the burden of program encryption processing in the server device by encrypting the program acquired from the server device with the terminal unique key. Furthermore, since the server apparatus according to the present invention separates the entire program into programs and program specific information and prepares them individually, the server apparatus has a relatively large amount of information which becomes different information in each information processing terminal. It is possible to manage a plurality of small program specific information and manage only one large program having a large amount of information common to all information processing terminals, thereby reducing the volume of distribution information managed by the server device. , It will be possible to reduce the burden of information management.
  • the whole program distributed from the server apparatus according to the present invention to the information processing terminal includes the program main body operating on the information processing terminal, the program header, the program specific information, and the unique intelligence header.
  • the program main body operating on the information processing terminal includes the program header, the program specific information, and the unique intelligence header.
  • a server apparatus and a program management system are a personal computer having a communication function, a server apparatus that distributes a program to an information processing terminal such as a mobile phone via a network, and the server apparatus and information processing It is useful as a program management system between terminals.

Description

明 細 書 サーバ装置及びプログラム管理システム 技術分野
本発明は、 情報処理端末で動作するプログラムの配布を行うサーバ装 置、 及びサーバ装置と情報処理端末からなるプログラム管理システムに 関し、 特に不正なプログラムの使用を図る情報処理端末の排除における 技術に関する。 背景技術
近年のネッ トワークの発展に伴い、 ネッ トワークを経由 して商取引を 行う電子商取弓 Iシステム ( E l ec tron i c c ommerc e sys t em) 、 映画、 音楽 等のコ ンテンツの配信を行うコンテンツ配信システムが多く発表されて いる。 これらのシステムにおいては、 ネッ トワークを介して接続される 機器間で、 コンテンツの利用権利、 課金に使用する鍵等の価値ある情報 データのみでなく 、 音楽プレーヤプログラム等のプログラム自体を交換 することも可能である。 また、 このようなプログラムの交換は、 従来の P C以外にも携帯電話等の組込み機器においても実現されることが予測 される。
そして、 電子ショ ッ ピングやコ ンテンツ配信サービスなど、 課金を伴 う商用システムをネッ トワークを介して実現する場合においては、 悪意 のあるユーザが不正にプログラムを書き換えることが可能であれば、 課 金情報の操作によ り無料で商品やコ ンテンツを購入するなどの不正行為 が行われる危険性がある。 そのため、 ネッ トワーク経由のプログラム更 新による不具合修正や追加を行う場合、 悪意のあるユーザの不正使用を 防止するために、 プログラムの正当性を検証する必要がある。
従来プログラムの正当性を検証する方法と しては、 電子的な署名を用 いる方法が存在する(例えば、特開 2 0 0 0 - 3 3 9 1 5 3号公報参照)。 この方法では、 公開鍵暗号方式と呼ばれる 2つの対となる鍵の組を用い た暗号化データ交換方式を利用する。 図 2 0は、 この電子的な署名を用 いたプログラムの正当性検証方法に関する説明図である。
プログラム発行者 2 0 0 0は、 プログラム発行の身元を確認し、 保証 する第三者機関である認証局 ( C A : Certification Authority) 2 0 1 0に公開鍵 2 0 0 1 を送付する。 その後、 認証局 2 0 1 0は、 プログラ ム発行者 2 0 0 0の身元を確認、 審査する。 認証局 2 0 1 0がプログラ ム発行者 2 0 0 0を信頼できると判断した場合、 プログラム発行者 2 0 0 0の公開鍵 2 0 0 1 に対し C A秘密鍵 2 0 1 2で電子的な署名を行つ た証明書 2 0 0 3を発行する。 証明書 2 0 0 3は公開鍵保有者の身元を 識別する情報を含み、 認証局 2 0 1 0が公開鍵保有者の身元を保証する ものである。 そして、 認証局 2 0 1 0は、 プログラム発行者 2 0 0 0に 公開鍵証明書 2 0 0 3を送付する。
プログラム発行者 2 0 0 0は、 ユーザ 2 0 2 0に配布するプログラム に対し、 自己の秘密鍵 2 0 0 2で電子的な署名を行い、 公開鍵証明書 2 0 0 3、 及び署名付きプログラム 2 0 0 4を配布する。
ユーザ 2 0 2 0は、認証局 2 0 1 0から C A公開鍵 2 0 1 1 を取得し、 C A公開鍵 2 0 1 1 を用いてプログラム発行者の公開鍵証明書 2 0 0 3 の署名を検証する。 署名の検証が正しく行われた場合、 公開鍵証明書 2 0 0 3に含まれる公開鍵 2 0 0 1 を用いて署名付きプログラム 2 0 0 4 の署名を検証する。 この署名の検証が正しく行われた場合、 配布された プログラムがプログラム発行者 2 0 0 0から配布されたプログラムであ リ、 改ざんされていないことを検証できる。 従って、 この正当性検証方式においては、 プログラムにプログラム発 行者 2 0 0 0の電子的な署名を付加することによりプログラムの正当性 を保証して、 ユーザ 2 0 2 0は取得したプログラム 2 0 2 1 がプログラ 厶発行者 2 0 0 0から正当に配布されたものであることを検証できる。
しかし、 図 2 0に示す正当性検証方式においては、 配布時におけるプ 口グラムの正当性検証は行えるが、 配布後の情報処理端末におけるプロ グラムに関して正当性を保証することはできない。 尚、 公開鍵暗号方式 及び証明書、署名、認証の仕組みに関しては、種々の文献(例えば、 「A p p I i e d C r y p t o g r a p h y J B r u c e S c h n e i e r , J o h n W i l e y & S o n s , I n c ( 1 9 9 6 ) 参照) に詳細が記されている。
この問題点を解決する方法と して、 プログラム配布先のユーザ識別子 を用いてプログラム配布元でプログラムを暗号化して配布し、 ユーザは 使用時にユーザ識別子を用いてプログラムを復号化して実行する方法が ある (例えば、 特開平 7 — 2 9 5 8 0 0号公報参照) 。 この方法では、 万が一プログラムが不正にコピーされたとしても、 ユーザ識別子が一致 しなければプログラムを復号し実行することができないため、 不正コピ 一、 不正改ざんを防止することが可能となる。
また、 プログラムの配布装置としては、 プログラムの配布に当たって 配布の妥当性をプログラムのコピー数とコピー許可数の差により判定し て、 無制限な配布が行われることを物理的に防ぐことができ、 プログラ ムコピーに関する使用契約を物理的に尊守させる配布装置が開示されて いる (例えば、 特公平 6— 8 7 2 2 0号公報参照) 。
この発明においては、 プログラム配布装置は、 プログラム毎に情報処 理装置の配布先を記憶して、 コピー許可数とコピー数とによりプログラ 厶を配布するプログラム配布装置とすることが可能となる。 一方、 ネッ トワークを用いた電子ショ ッピングやコンテンツ配信サー ビス等の課金を伴う商用システムを実現する場合、 ユーザに対する課金 を行うため、 ユーザを特定する方法が必要となる。 この方法の 1 つとし て、 プログラムあるいはプログラムと共に配布する情報の中に、 ユーザ 毎に割り当てる I Dや鍵などの固有情報を含ませる場合がある。 この場 合、 ユーザ毎に固有情報を割り当て、 プログラム配布元のサーバ装置側 において固有情報を管理することで、 ユーザが不正行為を行った際にお いて固有情報を元にユーザを特定することが可能となる。
図 2 1 は、 従来の情報処理端末 2 1 0 1 とサーバ装置 2 1 0 2及び 2 1 0 3 との間のプログラム管理システムの参考図である。 尚、 図 2 1 に おいては説明のためにアプリケーショ ンデータ用のサーバ装置 2 1 0 3 及びプログラム用のサーバ装置 2 1 0 2に分けて示す。
情報処理端末 2 1 0 1 は、 プログラム配布元となるサーバ装置 2 1 0 2から、 例えば好みの音楽データをダウンロードして再生可能な音楽プ レーャプログラムを取得する。 この音楽プレーヤプログラムには固有情 報 「 0 1 0 1 」 が含まれるとする。 尚、 プログラムの安全な配布を図る ために、 通信路は S S L (Secure Socket Layer) を用いて暗号化し、 盗 聴等のハッキング行為を防止する。
情報処理端末 2 1 0 1 の利用者が音楽データ等の取得を要求する際に おいては、 情報処理端末 2 1 0 1 から前記固有情報 「 0 1 0 1 」 が付与 された音楽データ取得要求をアプリケーション用のサーバ装置 2 1 0 3 に送信する。 そして、 サーバ装置 2 1 0 3は、 不正な音楽プレーヤプロ グラムが実行される情報処理端末を排除するための無効化リス ト ( C R L : certificate revocation list) を有しており、 情報処理端末 2 1 0 1 から音楽データ取得要求に合わせて送信される固有情報 「 0 1 0 1 」 が C R Lに記載されているため情報処理端末 2 1 0 1 に音楽データの送 信を行わない。 尚、 C R Lに固有情報が記載されていない場合において は要求される音楽データ を情報処理端末 2 1 0 1 に送る。
このよ うに、 不正なプログラム使用を行っている情報処理端末 2 1 0 1 の有するプログラムの固有情報を特定すれば、 C R Lを用いて不正使 用を図る情報処理端末 2 1 0 1 を排除することが可能となる。
尚、 サーバ装置 2 1 0 2等から情報処理端末 2 1 0 1 にダウンロー ド されるデータに電子的な署名を付加して、 情報処理端末 2 1 0 1 側で署 名検証を行う ことによ り、 ダウンロー ドデータの改ざん、 すり替え、 盗 聴等を防止して、 不正行為からダウンロー ドデータ を守る安全な配布も 可能となる。
しかしながら、 上述したプログラム配布元において各ユーザ識別子に 応じたプログラム暗号処理を行う方法においては、 プログラム配布元に かかる処理の負担が大きく なるという問題が生じる。
また、 上述したプログラム配布装置がプログラム毎に情報処理装置の 配布先を記憶して、 コ ピー許可数とコ ピー数とによ り プログラムを配布 する方法は、 プログラム配布装置はプログラムの配布要求毎に配布先の 装置の 〖 Dを確認してコ ピー許可数に従ってプログラムを配布するもの であり、 プログラムの不正使用を防止するものではない。
さ らに、 図 2 1 に示すサーバ装置 2 1 0 3がプログラムの固有情報を 記載した C R Lを用いて不正利用を図る情報処理端末 2 1 0 1 の排除を 行う方法においては、 情報処理端末 2 1 0 1 が不正にデータを取得しよ う と試み、 サーバ装置 2 1 0 3の C R Lによ り不正端末と してデータ取 得を排除される場合においても、 情報処理端末 2 1 0 1 の使用者が、 別 の固有情報のダウンロー ドをサーバ装置 2 1 0 2から行いプログラムの 固有情報を新たな固有情報に更新することによ りサーバ装置 2 1 0 3の C R Lを用いた排除から回避することが可能となるという問題がある。 本発明は以上のよ うな課題に鑑みてなされたものであり、 プログラム 配布元であるサーバ装置において、 固有情報を用いたリス トによ り排除 された不正な情報処理端末が新規な固有情報を取得して排除を回避する ことを防止するサーバ装置を提供することを第 1 の目的とする。 また、 情報処理端末へのプログラム配信においてサーバ装置の処理負担を少な くすることをも目的とする。
そして、 サーバ装置と情報処理端末との間においてプログラムの配布 を行うプログラム管理システムにおいても、 不正な情報処理端末からの 新規な固有情報の取得要求を排除して情報処理端末でのプログラムの不 正使用を防ぐことが可能なプログラム管理システムを提供することを目 的とする。 発明の開示
前記課題を解決するために、 本発明に係るサーバ装置は、 外部から書 き換えが行えない端末 I Dを保持する情報処理端末とネッ トワークを介 して接続され前記情報処理端末で動作するプログラムを保持するサーバ 装置であって、 以前に配布したプログラムと端末 I Dとの関連を示すテ —ブルを保持するテーブル保持手段と、 前記テーブルを参照して、 前記 情報処理端末から送信され前記端末 I Dを伴う プログラム取得要求に対 するプログラムの配布の当否を判定する判定手段とを備えることを特徴 とする。
また、 本発明に係るサーバ装置から情報処理端末に配布されるプログ ラムには、 前記情報処理端末で動作するプログラム本体及び前記プログ ラム本体に使用される固有の情報であるプログラム固有情報が含まれ、 前記判定手段は、 前記プログラム取得要求に付与されている前記端末 I Dが前記テーブルに記録されている場合には、 前記プログラム固有情報 の配布を禁止して前記プログラム本体のみの配布を前記情報処理端末に 行う と判定し、 前記端末 I Dが前記テーブルに記載されていない場合に は、 前記端末 I Dと前記プログラム固有情報とを対応させて前記テープ ルに追加すると共に、 前記プログラム本体と前記プログラム固有情報と を前記情報処理端末に配布すると判定することを特徴とする。
これらによ り、 サーバ装置は、 情報処理端末が以前に配布したプログ ラムに対応するプログラム固有情報の新規取得を防止することが可能と なり、 新たなプログラム固有情報を取得して排除の回避を図る情報処理 端末の不正行為を確実に防止することが可能となる。
そして、 前記課題を解決するために、 本発明に係るプログラム管理シ ステムは、 外部から書き換えが行えない端末 I Dを保持する情報処理端 末と、 当該情報処理端末とネッ トワークを介して接続され前記情報処理 端末で動作するプログラムを保持するサーバ装置とから構成されるプロ グラム管理システムであって、 前記情報処理端末は、 前記プログラムの 取得を要求する場合には、 前記端末 I Dを付与したプログラム取得要求 を前記サーバ装置に送信し、 前記サーバ装置は、 前記プログラム取得要 求を受信して、 以前に配布したプログラムと端末 I Dとの関連を示すテ 一ブルを保持するテーブル保持手段と、 前記テーブルを参照して、 前記 情報処理端末から送信されて前記端末 I Dが付与されているプログラム 取得要求に対するプログラムの配布の当否を判定する判定手段とを備え ることを特徴とする。
このように、 本発明は、 上述のようなサーバ装置と して実現できるの みではなく 、 サーバ装置と情報処理端末との間のプログラム管理システ 厶ゃサーバ装置が備える手段をステップとするプログラム配布方法と し ても実現できる。 また、 このプログラム配布方法をコ ンピュータ等で実 現させるプログラムと して実現したり、 当該プログラムを C D— R O M 等の記録媒体や通信ネッ トワーク等の伝送媒体を介して流通させること ができるのは言うまでもない。 図面の簡単な説明
図 1 は、 実施の形態 1 における情報処理端末とサーバ装置との構成図 を示している。
図 2は、 本実施の形態 1 に係るサーバ装置から情報処理端末側に送信 されるプログラム全体の構成図である。
図 3 ( a ) は、 プログラムヘッダに格納される情報の一例を示す図で ある。
図 3 ( b ) は、 プログラムに格納される情報の一例を示す図である。 図 4 ( a ) は、 固有情報ヘッダに格納される情報の一例を示す図であ る。
図 4 ( b ) は、 プログラム固有情報に格納される情報の一例を示す図 である。
図 5は、 情報処理端末とサーバ装置と間で行われるプログラム更新シ ステムにおける動作手順を示す図である。
図 6は、 固有情報配布履歴保持部に保持される固有情報配布履歴の情 報格納の一例を示す図である。
図 7は、 サーバ装置におけるプログラムの配布手順を示すフローチヤ 一トである。
図 8は、 本実施の形態 1 に係るサーバ装置を用いたプログラム管理シ ステムを示す全体図である。
図 9は、 本実施の形態 1 に係るプログラムヘッダとプログラムに含ま れる別のデータ構造を示す図である。
図 1 0は、 固有情報ヘッダとプログラム固有情報とに含まれる别のデ ータ構造を示す図である。
図 1 1 は、 本発明の実施の形態 2に係る情報処理端末とサーバ装置と の構成図を示す。
図 1 2 ( a ) は、 本実施の形態 2に係る固有情報配布履歴に含まれる 情報の一例を示す図である。
図 1 2 ( b ) は、 本実施の形態 2に係るプログラム Z固有情報対応表 に含まれる情報の一例を示す図である。
図 1 3は、 サーバ装置におけるプログラムの配布手順を示すフローチ ヤートである。
図 1 4は、 本実施の形態 3に係る情報処理端末とサーバ装置の構成図 を示す。
図 1 5は、 本実施の形態 3に係る配布回数情報の情報格納例を示す図 である。
図 1 6は、 サーバ装置におけるプログラムの配布手順を示すフローチ ャ一トである。
図 1 7は、 本実施の形態 4に係る情報処理端末とサーバ装置の構成図 を示す。
図 1 8 ( a ) は、 本実施の形態 4に係る配布回数情報に格納されるデ —タの一例を示す図である。
図 1 8 ( b ) は、 本実施の形態 4に係るプログラム 固有情報対応表 に格納されるデータの一例を示す図である。
図 1 9は、 サーバ装置におけるプログラムの配布手順を示すフローチ ヤートである。
図 2 0は、 従来の電子的な署名を用いたプログラムの正当性検証方法 に関する説明図である。
図 2 1 は、 従来の情報処理端末とサーバ装置との間のプログラム管理 システムの参考図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態に係るサーバ装置及びプログラム管理シス テムについて図面を用いて説明する。
(実施の形態 1 )
図 1 は本発明の実施の形態 1 における情報処理端末 1 0 0とサーバ装 置 1 2 0との構成図を示している。
情報処理端末 1 0 0は、 サーバ装置 1 2 0から取得した電子商取引や コンテンツ配信等に用いられるプログラムを使用する端末装置であり、 C P U 1 0 1 、 R A M I 0 2、 プログラムやデータ等の暗号化及び復号 化処理を行う暗号処理部 1 0 3、 サーバ装置 1 2 0との通信を行う通信 処理部 1 0 4、 プログラムを格納するプログラム格納部 1 0 5、 C A公 開鍵など特に秘匿する必要がない情報を格納するデータ格納部 1 0 6、 及び秘密鍵など秘匿する必要がある情報を格納する秘匿情報格納部 1 0 7から構成されている。
プログラム格納部 1 0 5は、 C P U 1 0 1 で動作するプログラム 1 1 6を格納する。
データ格納部 1 0 6は、 情報処理端末 1 0 0で使用されるデータのう ち特に秘匿する必要がないものを格納すると共に、 情報処理端末 1 0 0 に格納されているプログラムの I Dやバージョン番号など格納プログラ 厶の管理情報であるプログラム管理情報 1 0 8及び C A公開鍵 1 0 9を 格納する。
また、 秘匿情報格納部 1 0 7は、 情報処理端末 1 0 0内で秘匿する必 要がある情報を格納しており、 情報処理端末毎に異なる鍵である端末固 有鍵 1 1 0、 情報処理端末毎に異なる公開鍵ペアの 1 つである端末秘密 鍵 1 1 1 、 プログラムが使用する固有鍵などのプログラム固有情報 1 1 2、 情報処理端末毎に異なる公開鍵ペアの他方である端末公開鍵証明書 1 1 3を格納する。 そして、 端末公開鍵証明書 1 1 3は情報処理端末 1 0 0を一意に識別する I Dである端末 I D 1 1 4、 端末公開鍵証明書 1 1 3に対し認証局が付加した C A署名 1 1 5を含んでいる。
—方、 本発明に係るサーバ装置 1 2 0は、 情報処理端末 1 0 0から要 求されるプログラムを配布する装置であり、 C P U 1 2 1 、 R A M I 2 2、 プログラムやデータなどの暗号化及び復号化処理を行う暗号処理部 1 2 3、 情報処理端末 1 0 0との通信を行う通信処理部 1 2 4、 C A公 開鍵など特に秘匿する必要がない情報を格納するデータ格納部 1 2 5、 情報処理端末 1 0 0に配布するプログラムなどの情報を格納する配布情 報格納部 1 2 6、 及び固有情報配布履歴保持部 1 4 0とから構成されて いる。
そして、 本発明に係るサーバ装置 1 2 0は、 固有情報配布履歴保持部 1 4 0を有することを特徴としている。 この固有情報配布履歴保持部 1 4 0は、 情報処理端末 1 0 0に配布したプログラムのプログラム固有情 報の履歴を管理するための固有情報配布履歴 6 0 0を保持している。 データ格納部 1 2 5は、 サーバ装置 1 2 0が使用する情報を格納する 領域であり、 公開鍵ペアの 1 つであるサーバ秘密鍵 1 2 7、 公開鍵ペア の他方であるサーバ公開鍵証明書 1 2 8、 及び C A公開鍵 1 2 9を格納 する。 サーバ公開鍵証明書 1 2 8は、 サーバを一意に識別する I Dであ るサーバ I D 1 3 0、 サーバ公開鍵証明書に対し C Aが付加した C A署 名 1 3 1 を含んでいる。 配布情報格納部 1 2 6は、 サーバ装置 1 2 0が 情報処理端末 1 0 0に対して配布する情報を格納する領域であり、 プロ グラムヘッダ 3 0 0、 プログラム 3 1 0、 固有情報ヘッダ 4 0 0、 及び プログラム固有情報 4 2 0を格納する。 尚、 この配布情報であるプログ ラム全体の図は後述の図 2に示す。
配布情報格納部 1 2 6に格納されているプログラムヘッダ 3 0 0、 プ ログラム 3 1 0、 固有情報ヘッダ 4 0 0、 及びプログラム固有情報 4 2 0には第三者認証機関である C A署名が付加されておリ、 この C A署名 によ り配布情報が正当な配布元から配布されるものであることを保証す る。
図 2は、 本実施の形態 1 に係るサーバ装置 1 2 0から情報処理端末 1 0 0側に送信されるプログラム全体 2 0 0の構成図である。 このプログ ラムの全体 2 0 0はサーバ装置 1 2 0の配布情報格納部 1 2 6に格納さ れる情報であり、本実施の形態 1 においては、プログラムヘッダ 3 0 0、 プログラム 3 1 0、 固有情報ヘッダ 4 0 0及びプログラム固有情報 4 2 0よ り構成される。 また、 本発明においては、 プログラム全体 2 0 0を プログラム 3 1 0及びプログラム固有情報 4 2 0に分離し、 さ らに、 へ ッダ部とデータ部とに分離することを特徴と している。
尚、 本実施の形態に係るプログラム管理システムにおいては、 情報処 理端末 1 0 0がプログラム 3 1 0で使用するアプリケーショ ンデータを サーバ装置 1 2 0等から取得する場合においては、 アプリ ケーショ ンデ ータ取得要求にプログラム固有情報 4 2 0 を付与して送信する。 このこ とによ り、 サーバ装置 1 2 0等が有するプログラム固有情報 4 2 0を用 いた C R Lによ リ不正な情報処理端末を排除することが可能となる。 図 3 ( a ) 及び ( b ) は、 プログラムヘッダ 3 0 0及びプログラム 3 1 0に格納される情報の一例を示す図である。
プログラムヘッダ 3 0 0は、 プログラム 3 1 0に関する情報を格納す るものであり、 次の情報を含む。
( 1 ) プログラムヘッダ 3 0 0が格納する情報がどのプログラム 3 1
0に対応する情報かを示すプログラム I D ( 3 0 1 ) 。 ( 2 ) 対応する プログラム 3 1 0のバージョ ン番号 ( 3 0 2 ) 。 ( 3 ) 対応するプログ ラム 3 1 0のプログラムサイズ ( 3 0 3 ) 。 ( 4 ) 対応するプログラム 3 1 0のハッシュ値 ( 3 0 4 ) 。 ( 5 ) 前記 ( 1 ) から ( 4') までの情 報を含むプログラムヘッダ 3 0 0全体に対する C A署名 ( 3 0 5 ) 。
また、プログラム 3 1 0には、プログラム 3 1 0に対する C A署名 ( 3 1 1 ) が付加されている。 このように、 プログラムヘッダ 3 0 0及びプ ログラム 3 1 0は共に C A署名 3 0 5及び 3 1 1 を含むため、 情報処理 端末 1 0 0においてプログラムヘッダ、 プログラムが正当な配布元から 配布されたものであることを検証することが可能である。
図 4 ( a ) 及び ( b ) は、 固有情報ヘッダ 4 0 0及びプログラム固有 情報 4 2 0に格納される情報の一例を示す図である。
固有情報ヘッダ 4 0 0は、 プログラム固有情報 4 2 0に関する情報を 格納するものであり、 次の情報を含む。
( 1 ) 固有情報ヘッダ 4 0 0が格納する情報がどのプログラム固有情 報 4 2 0に対応した情報かを示すプログラム固有情報 I D ( 4 0 1 ) 。 ( 2 ) 対応するプログラム固有情報 4 2 0を使用するプログラム 3 1 0 のプログラム I D ( 4 0 2 ) 。 ( 3 ) 対応するプログラム固有情報 4 2 0が格納する固有情報の数 ( 4 0 3 ) 。 ( 4 ) 対応するプログラム固有 情報 4 2 0全体のサイズ ( 4 0 4 ) 。 ( 5 ) 対応するプログラム固有情 報 4 2 0に含まれる個々の固有情報に関する情報を示す固有情報サブへ ッダ ( 4 0 5 ) 。 固有情報サブヘッダ 4 0 5はプログラム固有情報 4 2 0に含まれる個々の固有情報の数 ( 1 〜 n ) だけ存在する。 ( 6 ) 前記 ( 1 ) から ( 5 ) までの情報を含む固有情報ヘッダ 4 0 0全体に対する C A署名 ( 4 0 6 ) 。
固有情報サブヘッダ 4 0 5は、 さらに個々の固有情報を識別するため の I Dであるプログラム固有情報サブ I D 4 1 1 、 個々の固有情報のサ ィズ 4 1 2から構成される。
また、 プログラム固有情報 4 2 0は、 複数のプログラム固有情報 ( 4 2 1 ) と、 プログラム固有情報全体に対する C A署名 ( 4 2 2 ) を含む。 このため、 固有情報ヘッダ 4 0 0、 プログラム固有情報 4 2 0は共に C A署名 ( 4 0 6及び 4 2 2 ) を含むため、 情報処理端末 1 0 0において 固有情報へッダ 4 0 0、 プログラム固有情報 4 2 0が正当な配布元から 配布されたものであることを検証することが可能である。
次に情報処理端末 1 0 0とサーバ装置 1 2 0との間で行われるプログ ラム更新システムにおける動作手順の例を、 図 5を用いて説明する。 こ のプログラム更新システムにおいて、 情報処理端末 1 0 0は、 まず、 へ ッダ取得要求を行い、 空き領域の確認を行う。 また、 サーバ装置 1 2 0 においては、 固有情報配布履歴保持部 1 4 0から固有情報配布履歴 6 0 0を参照することにより、 プログラムの不正使用を図る情報処理端末 1 0 0を排除することが可能となる。
最初に、 情報処理端末 1 0 0はサーバ装置 1 2 0と S S Lによる接続 を行う ( S 5 0 1 ) 。 この際、 サーバ装置 1 2 0は情報処理端末 1 0 0 の端末 I Dの取得を行う。 尚、 S S Lは、 2点間でデータを安全に送受 信するために、 公開鍵暗号方式と秘密鍵暗号方式を併用して、 データを 暗号化して送受信する仕組みである。 また、 S S Lではセッショ ン鍵と 呼ばれるそのセッションでのみ有効な鍵を共有するため、 図 5に示す S 5 0 2以降の情報処理端末 1 0 0とサーバ装置 1 2 0間のデータ送受信 は、 すべてセッション鍵を用いた暗号化データにより行われるものとす る。
次に、 情報処理端末 1 0 0はサーバ装置 1 2 0に対し、 取得したいプ ログラム 3 1 0のプログラム I Dを指定してヘッダ取得要求を行う ( S 5 0 2 ) 。 この際、 サーバ装置 1 2 0は、 固有情報配布履歴保持部 1 4 0に保持されている固有情報配布履歴 6 0 0により、 端末 I Dとプログ ラム固有情報 I Dとの対応関係を確認する。 つまり、 情報処理端末 1 0 0に対して、固有情報 1 Dを既に配布したかどうかを確認する。そして、 正規の情報処理端末からのヘッダ取得要求であると判断する場合におい ては、 ヘッダ取得要求を受信したサーバ装置 1 2 0は、 配布情報格納部 1 2 6に格納したプログラムへッダ 3 0 0を情報処理端末 1 0 0に送信 する ( S 5 0 3 ) 。
そして、 サーバ装置 1 2 0からプログラムヘッダ 3 0 0を受信した情 報処理端末 1 0 0は、 データ格納部 1 0 6に格納している C A公開鍵 1 0 9を用いて、 プログラムヘッダ 3 0 0に含まれている C A署名を検証 する (S 5 0 4 ) 。 これにより、 情報処理端末 1 0 0はプログラムへッ ダ 3 0 0が改ざんされていない正当な配布元から配布された情報である ことを検証する。 また、 プログラムヘッダ 3 0 0には、 プログラムのプ ログラム I D 3 0 1 、 バージョン番号 3 0 2、 サイズ 3 0 3、 プログラ ムのハッシュ値 3 0 4などプログラムに関する情報が格納されているた め、 情報処理端末 1 0 0は、 これらの情報と、 データ格納部 1 0 6に格 納されているプログラム管理情報 1 0 8内に記載されているプログラム I D、 バージョン情報、 空き容量情報を比較し、 更新対象のプログラム 3 1 0が正しくサーバ装置 1 2 0から配布されたか、 プログラム 3 1 0 を格納する空き容量が存在するか確認する ( S 5 0 4 ) 。 このため、 本 実施の形態 1 に係る情報処理端末 1 0 0はプログラム 3 1 0のダウン口 —ド中にプログラムの取得不可となるような弊害を防止する。
次に、 サーバ装置 1 2 0は配布情報格納部 1 2 6に格納した固有情報 ヘッダ 4 0 0を情報処理端末 1 0 0に送信する ( S 5 0 5 ) 。
そして、 サ一パ装置 1 2 0から固有情報ヘッダ 4 0 0を受信した情報 処理端末 1 0 0は、 データ格納部 1 0 6に格納している C A公開鍵 1 0 9を用いて、 固有情報ヘッダ 4 0 0に含まれている C A署名を検証する ( S 5 0 6 ) 。 これにより、 情報処理端末 1 0 0は固有情報ヘッダ 4 0 0が改ざんされていない、 正当な配布元から配布された情報であること を検証する。 固有情報ヘッダ 4 0 0には、 プログラム固有情報 4 2 0を —意に識別するプログラム固有情報 I D 4 0 1 、 プログラム固有情報に 関連するプログラムのプログラム I D 4 0 2、 プログラム固有情報で配 布される情報に含まれる固有情報の数 4 0 3、 サイズ 4 0 4などプログ ラム固有情報 4 2 0に関する情報が格納されているため、 情報処理端末 "1 0 0は、 これらの情報と、 データ格納部 1 0 6に格納されているプロ グラム管理情報 1 0 8内に記載されているプログラム I D、 空き容量情 報を比較し、 更新対象のプログラム 3 1 0に関するプログラム固有情報 4 2 0が正しくサーバ装置 1 2 0から配布されたか、 プログラム固有情 報 4 2 0を格納する空き容量が存在するかプログラム 3 1 0のダウン口 ードの前に確認する (S 5 0 6 ) 。
そして、 情報処理端末 1 0 0は、 プログラム 3 1 0、 プログラム固有 情報 4 2 0の取得が行えると判断した場合、 サーバ装置 1 2 0に対しプ ログラム I Dを指定してプログラム取得要求を行う (S 5 0 7 ) 。
そして、 プログラム取得要求を受信したサーバ装置 1 2 0は、 配布情 報格納部 1 2 6に格納したプログラム 3 1 0を情報処理端末 1 0 0に送 信する (S 5 0 8 ) 。 サーバ装置 1 2 0からプログラム 3 1 0を受信し た情報処理端末 1 0 0は、 データ格納部 1 0 6に格納している C A公開 鍵 1 0 9を用いて、 プログラム 3 1 0に含まれている C A署名を検証す る (S 5 0 9 ) 。 これにより、 情報処理端末 1 0 0はプログラム 3 1 0 が改ざんされていない、 正当な配布元から配布された情報であることを 検証する。 取得データの正当性が検証できた場合、 取得したプログラム 3 1 0を秘匿情報格納部 1 0 7に格納している端末固有鍵 1 1 0で暗号 化し、 プログラム格納部 1 0 5に格納する ( S 5 0 9 ) 。 その際、 プロ グラム格納位置やプログラム I D, パージヨ ン番号などをプログラム管 理情報 1 0 8に格納し、 プログラムの管理を行う。
次に、 プログラムの格納が完了 した後、 プログラム格納部 1 0 5に格 納したプログラム 1 1 6 を、 端末固有鍵 1 1 0 を用いて復号し、 ハツシ ュ値を算出する。 算出した値とプログラムヘッダ 3 0 0に格納されてい るハッシュ値の比較を行い、 プログラムが正し く格納されていることを 確認する ( S 5 1 0 ) 。
次に、 情報処理端末 1 0 0はサーバ装置 1 2 0に対しプログラム I D を指定してプログラム固有情報取得要求を行う ( S 5 1 1 ) 。
そして、 サーバ装置 1 2 0は配布情報格納部 1 2 6に格納したプログ ラム固有情報 4 2 0を情報処理端末 1 0 0に送信する ( S 5 1 2 ) 。 サ ーバ装置 1 2 0からプログラム固有情報 4 2 0 を受信した情報処理端末 1 0 0は、 データ格納部 1 0 6に格納している C A公開鍵 1 0 9 を用い て、 プログラム固有情報 4 2 0に含まれている C A署名を検証する ( S 5 1 3 ) 。 これによ り、 情報処理端末 1 0 0はプログラム固有情報が改 ざんされていない、 正当な配布元から配布された情報であることを検証 する。 取得データの正当性が検証できた場合、 取得したプログラム固有 情報を秘匿情報格納部 1 0 7 に格納する ( S 5 1 3 ) 。
最後に、 情報処理端末 1 0 0におけるプログラム、 プログラム固有情 報の格納が完了 した後、 情報処理端末 1 0 0 とサーバ装置 1 2 0 との間 の通信を切断する ( S 5 1 4 ) 。
このように、 本実施の形態 1 に係る情報処理端末 1 0 0は、 ヘッダ取 得要求を行う ことによ り プログラム 3 1 0を格納する空き容量が存在す るか等の確認して、 よ り安全にプログラムのダウンロー ドを行う ことが 可能となる。 尚、 この場合において、 プログラム 3 1 0及びプログラム 固有情報 4 2 0のハッシュ値を算出して、 算出したハッシュ値と、 プロ グラムヘッダ 3 0 0及びプログラム固有情報ヘッダ 4 0 0に格納されて いるハッシュ値とを比較することにより正当な配布情報であることを確 認することも考え得る。
図 6は、 固有情報配布履歴保持部 1 4 0に保持される固有情報配布履 歴 6 0 0の情報格納の一例を示す図である。
サーバ装置 1 2 0は、 以前に情報処理端末 1 0 0に配布したプログラ ムに対応するプログラム固有情報 4 2 0と当該情報処理端末 1 0 0の端 末 I Dとを記録したテーブルを固有情報配布履歴 6 0 0とする。
そして、 サーバ装置 1 2 0は、 プログラム固有情報 4 2 0を配布した 情報処理端末 1 0 0を識別する I Dである端末 I D 6 0 1 、 及び配布し たプログラム固有情報 4 2 0を識別する I Dであるプログラム固有情報 I D 6 0 2を固有情報配布履歴保持部 1 4 0に格納する。 また、 必要に 応じてプログラム固有情報 4 2 0を最後に配布した日時を示す最終配布 日付 6 0 3を固有情報配布履歴 6 0 0に格納する。
図 6においては、 サーバ装置 1 2 0は情報処理端末 1 0 0に 5つのプ ログラム固有情報 4 2 0を配布済みであり、それぞれの端末 I D 6 0 1 、 プログラム固有情報 I D 6 0 2の組は、 (端末 I D . プログラム固有情 報 I D ) = ( 0 0 0 1 , 0 0 0 1 ) 、 ( 0 0 0 2 , 0 0 0 2) 、 ( 0 0 1 0 , 0 0 0 3 ) 、 ( 0 0 1 5 , 0 0 0 4 ) 、 ( 0 0 2 0 , 0 0 0 5 ) となる。
図 7は、 サーバ装置 1 2 0におけるプログラム 3 1 0の配布手順を示 すフローチャー トである。
最初に、 サーバ装置 1 2 0は情報処理端末 1 0 0からプログラム配布 要求を受信する ( S 7 0 1 ) 。 次に、 サーバ装置 1 2 0は、 受信したプ ログラム配布要求に含まれる情報処理端末 1 0 0の端末 I Dを取得して ( S 7 0 2 ) 、 固有情報配布履歴 6 0 0に対して取得した端末 I Dを検 索し (S 7 0 3 ) 、 固有情報配布履歴 6 0 0に同じ端末 I Dが格納され ているか否かの判定を行う ( S 7 0 4 ) 。
サーバ装置 1 2 0は、 固有情報配布履歴 6 0 0に同じ端末 I Dが格納 されていた場合には (S 7 0 4の Y ) 、 情報処理端末 1 0 0には既にプ ログラム固有情報 4 2 0を配布済みであるため、 プログラム 3 1 0のみ を送信し処理を終了する (S 7 0 8 ) 。
また、 サーバ装置 1 2 0は、 固有情報配布履歴 6 0 0に同じ端末 I D が格納されていない場合 (S 7 0 4で N ) 、 情報処理端末 1 0 0に対し ては新たにプログラム固有情報 4 2 0を割り当てて (S 7 0 5 ) 、 この 新たに割リ当てたプログラム固有情報 4 2 0に関し、 端末 I D 6 0 1 と プログラム固有情報 I D 6 0 2の対応を追加して固有情報配布履歴 6 0 0を更新する ( S 7 0 6 ) 。 そして、 サーバ装置 1 2 0は、 プログラム 固有情報 4 2 0を情報処理端末 1 0 0に送信し、 プログラム 3 1 0を情 報処理端末 1 0 0に送信して処理を終了する ( S 7 0 8 ) 。
このように、 サーバ装置 1 2 0において固有情報配布履歴 6 0 0を用 いてプログラム固有情報を配布管理することにより、 1 つの情報処理端 末 1 0 0へ複数のプログラム固有情報 4 2 0を配布することを確実に防 止する。 これにより、 サーバ装置 1 2 0は、 既に C R L等によリブログ ラム固有情報 4 2 0を用いて不正端末と認識され、 排除されている情報 処理端末 1 0 0に対しては、 新たなプログラム固有情報 4 2 0を割り当 てることはない。 従って、 新たなプログラム固有情報 4 2 0を取得して 排除の回避を図る情報処理端末 1 0 0の不正行為を防止することが可能 となる。
図 8は、 本実施の形態 1 に係るサーバ装置 1 2 0を用いたプログラム 管理システムを示す全体図である。 プログラム用のサーバ装置 1 2 0 a は、 プログラム取得要求に対応す るプログラムを情報処理端末 1 0 0に送信する。サーバ装置 1 2 0 bは、 情報処理端末 1 0 0で動作するプログラムに用いるアプリケーションを 情報処理端末 1 0 0に送信する。 尚、 図 8においては、 情報処理端末 1 0 0の保持するプログラムのプログラム固有情報を「 0 1 0 1 」と して、 C R L 8 0 0の排除からの回避を図るために新たなプログラム固有情報 の不正取得を図る端末と して説明を行う。 また、 プログラムの安全な配 布を図るために、 通信路は S S Lを用いて暗号化通信路と している。 情報処理端末 1 0 0の利用者がアプリケーショ ンデータを要求する際 においては、 情報処理端末 1 0 0の保持するプログラムのプログラム固 有情報 「 0 1 0 1 J を付与したアプリケーショ ン取得要求をアプリケー ショ ンデータ用のサーバ装置 1 2 0 bに送信する。
そして、 サーバ装置 1 2 O bは、 プログラム固有情報を用いた不正プ ログラムの無効化リス ト ( C R L ) 8 0 0を有しており、 情報処理端末 1 0 0からの取得要求に付与されるプログラム固有情報 「 0 1 0 1 」 が C R L 8 0 0に記載されているためにアプリケーショ ンデータの送信を 行わないことで不正な情報処理端末の排除を行う。 尚、 C R Lにプログ ラム固有情報が記載されていない場合においては、 サーバ装置 1 2 0 b は、 アプリケーショ ンデータ を情報処理端末 1 0 0に送る。 また、 サ一 バ装置 1 2 0 a等からダウンロー ドするデータに C A署名を付加して、 情報処理端末 1 0 0で署名検証を行う ことによ り、 ダウンロー ドデータ の通信路上での改ざん、 すり替え、 盗聴等を防止する。
プログラム固有情報 「 0 1 0 1 J が C R L 8 0 0に記載された情報処 理端末 1 0 0のユーザは、 新たな別のプログラム固有情報を得て C R L による排除を回避するためにプログラム用のサーバ装置 1 2 0 a よ リ ブ ログラム固有情報の取得要求を行う。 このよ うな場合において、 本発明に係るサーバ装置 1 2 0 a は、 固有 情報配布履歴保持部 1 4 0において、以前に配布したプログラムに関し、 情報処理端末 1 0 0の端末 I D 「 0 1 0 2」 と、 プログラム固有情報 I D 「 0 1 0 1 」 と を記録した固有情報配布履歴 6 0 0を有している。 そして、 情報処理端末 1 0 0から、 新たなプログラム固有情報取得要 求をサーバ装置 1 2 0 a に対して行う場合には、サーバ装置 1 2 0 a は、 このプログラム固有情報取得要求に付与されている端末 I D「 0 1 0 2」 が固有情報配布履歴 6 0 0に記載されているか否か判断して、 記載され ている場合においては、 プログラム固有情報の配布を禁止してプログラ ム本体のみの配布を前記情報処理端末 1 0 0に行う。 尚、 固有情報配布 履歴 6 0 0を参照して、 プログラム固有情報取得要求に付与されている 端末 I Dに対応するプログラム固有情報 1 Dが記載されていない場合に おいては、 端末 I Dとプログラム固有情報 I Dとを対応させて固有情報 配布履歴 6 0 0に追加すると共に、 プログラムとプログラム固有情報と を情報処理端末 1 0 0に配布する。
尚、 サーバ装置 1 2 0 aが情報処理端末 1 0 0に再度配布をしないの は、 プログラム固有情報のみであり、 プログラムの本体は 2回以上配布 しても構わない。 これは、 プログラム固有情報が C R L 8 0 0によ り無 効化されているため、 プログラム固有情報が更新されない限り、 不正使 用を図る情報処理端末 1 0 0のユーザが新たなアプリケ一ショ ンデータ を取得することを排除しているためである。
図 9は、 本実施の形態 1 に係るプログラムヘッダ 9 0 0 とプログラム 9 1 0に含まれる別のデータ構造を示す図である。 図 9において、 図 3 と異なる点は、 プログラム 9 1 0に C A署名 3 1 1 を付加しない点であ る。
プログラムヘッダ 9 0 0は、 プログラム 9 1 0に関する情報を格納す るものであり、 上述したプログラムヘッダ 3 0 0 と同様の情報であるプ ログラム I D ( 9 0 1 ) 、 パージヨ ン番号 ( 9 0 2 ) 、 プログラムサイ ズ ( 9 0 3 ) 、 ノヽッシュ値 ( 9 0 4 ) 、 C A署名 ( 9 0 5 ) を含むもの である。
プログラムヘッダ 9 0 0及びプログラム 9 1 0の正当性検証を情報処 理端末 1 0 0において行う場合、 第 1 に、 プログラムヘッダ 9 0 0をサ ーパ装置 1 2 0から取得し、 プログラムヘッダ 9 0 0に付加された C A 署名 9 0 5 を検証する。 これにより、 情報処理端末 1 0 0はプログラム ヘッダ 9 0 0が改ざんされていない、 正当な配布元から配布された情報 であることを検証する。
次に、 プログラム 9 1 0のハッシュ値を算出する。 算出 したハッシュ 値と、 プログラムヘッダ 9 0 0に格納されているプログラムのハッシュ 値 9 0 4を比較し、 一致することを確認する。 これによ り、 情報処理端 末 1 2 0はプログラム 9 1 0が改ざんされていない正当な配布元から配 布された情報であることを検証することが可能となる。
このように、 プログラム 9 1 0の正当性検証にプログラムヘッダ 9 0 0に格納されたプログラムのハッシュ値 9 0 4を使用し、 プログラムへ ッダ 9 0 0にのみ C A署名 9 0 5 を付加することで、 プログラム 9 1 0 の C A署名に必要とする情報を低減しながら、プログラムヘッダ 9 0 0、 プログラム 9 1 0に署名を付加する場合と同様に正当性を検証すること が可能となる。 また、 プログラムヘッダ 9 0 0 とプログラム 9 1 0の組 み合わせが不正に変更された場合、 情報処理端末 1 0 0において、 プロ グラムのハッシュ値を算出することによ り組み合わせの異常を検出する ことが可能となる。 尚、 プログラム 9 1 0の C A署名を行わないことに よ り、 プログラム 9 1 0を認証局に渡して C A署名を行う必要がなく な る。 次に、 図 1 0 を用いて、 固有情報ヘッダ 1 0 0 0 とプログラム固有情 報 1 0 2 0 とに含まれる別のデータ構造を示す図である。 図 1 0におい て、 図 4 と異なる点は、 固有情報ヘッダ 1 0 0 0がプログラム固有情報 ハッシュ値 1 0 0 5 を有し、 プログラム固有情報 1 0 2 0に 0八署名 4 2 2 を付加しない点である。
固有情報ヘッダ 1 0 0 0は、 プログラム固有情報 1 0 2 0に関する情 報を格納するものであり、 上述した固有情報ヘッダ 4 0 0に格納される 情報と同様な情報であるプログラム固有情報 I D 1 0 0 1 、 プログラム I D 1 0 0 2、 固有情報の数 1 0 0 3、 プログラム固有情報全体のサイ ズ 1 0 0 4、 プログラム固有情報全体のハッシュ値 1 0 0 5、 固有情報 サブヘッダ 1 0 0 6、 及び固有情報ヘッダ全体に対する C A署名 1 0 0 7 よ り構成される。
従って、 情報処理端末 1 0 0は、 プログラム固有情報 1 0 2 0のハツ シュ値を算出して、 算出したハッシュ値と、 固有情報ヘッダ 1 0 0 0に 格納されているプログラム固有情報のハッシュ値 1 0 0 5 とを比較して 一致することを確認することによ り、 プログラム固有情報 1 0 2 0が改 ざんされていない、 正当な配布元から配布された情報であることを検証 することが可能となる。
以上のように、 本実施の形態 1 に係るサーバ装置 1 2 0が固有情報配 布履歴保持部 1 4 0 を有することによ り、 サーバ装置 1 2 0は、 情報処 理端末 1 0 0が以前に配布したプログラムに対応するプログラム固有情 報の新規取得を防止することが可能となる。 このため、 新たなプログラ ム固有情報 4 2 0 を取得して排除の回避を図る情報処理端末 1 0 0のハ ッキング等の不正行為を回避してセキュアなダウンロー ドを実現できる, また、 情報処理端末 1 0 0においてサーバ装置 1 2 0から取得したプ ログラムを内部からのみアクセス可能なセキュアなフラ ッシュメモリ等 に記録されている端末固有鍵 1 1 0で暗号化することによ り、 従来のよ うにサーバ装置においてプログラムを情報処理端末の固有の鍵で暗号化 する処理を必要と しなく なリ、 サーバ装置 1 2 0におけるプログラム暗 号化処理の負担を軽減することが可能となる。 尚、 この場合、 情報処理 端末 1 0 0において端末固有鍵 1 1 0で暗号化した場合、 正しく暗号化 が行えたことを確認する必要がある。 この点に関し本発明では、 情報処 理端末 1 0 0は、 プログラム格納後に端末固有鍵 1 1 0で復号し、 平文 プログラムのハッシュ値による検証を行う ことで、 情報処理端末 1 0 0 毎に異なる端末固有鍵 1 1 0による暗号化を意識することなく 、 プログ ラム格納の成否を判定することが可能となる。
さ らに、 サーバ装置 1 2 0は、 プログラム全体をプログラム 3 1 0及 びプログラム固有情報 4 2 0に分離して個別に作成している。 従って、 サーバ装置 1 2 0は、 各情報処理端末 1 0 0で異なる情報となる容量の 比較的小さなプログラム固有情報 4 2 0を複数管理して、 全情報処理端 末 1 0 0で共通な情報となる容量の大きなプログラム 3 1 0は 1 つのみ 管理することによ り、 サーバ装置 1 2 0で管理する配布情報の容量を格 段に低減され、ひいては、情報管理の負担を軽減することが可能となる。 そして、 サーバ装置 1 2 0においては、 固有情報ヘッダ 1 0 0 0にプ ログラム固有情報 1 0 2 0のハッシュ値 1 0 0 5を格納し、 固有情報へ ッダ 1 0 0 0にのみ C A署名 1 0 0 7 を付加することで、 プログラム 9 1 0の C A署名に必要とする情報を低減しながら、 固有情報ヘッダ 1 0 0 0、 プログラム固有情報 1 0 2 0に署名を付加する場合と同様の効果 を得ることが可能となる。 また、 固有情報ヘッダ 1 0 0 0 とプログラム 固有情報 1 0 2 0の組み合わせが不正に変更された場合、 情報処理端末 1 0 0において、 プログラム固有情報 1 0 2 0のハッシュ値を算出する ことによ り組み合わせの異常を検出することが可能となる。 尚、 本実施の形態 1 で示した固有情報配布履歴保持部 1 4 0に保持さ れる固有情報配布履歴 6 0 0の形式は一例であり、 最終配布日付 6 0 3 を削除してもよいし、 他の情報を付加してもよい。 また、 本実施の形態 1 では固有情報配布履歴 6 0 0に記載されている端末 I D 6 0 1 に対し てプログラム固有情報 4 2 0の配布を拒否しているが、 不正取得でない 限りにおいては、 当該端末 I D 6 0 1 を有する情報処理端末 1 0 0に対 して既に配布済みのプログラム固有情報 4 2 0を再度配布してもよい。 そして、 本実施の形態 1 に係るサーバ装置 1 2 0では、 情報処理端末 1 0 0からの要求はプログラムの配布を伴うプログラム配布要求、 又は プログラムの配布を伴わないプログラム固有情報配布要求のいずれかと できる。
また、 本実施の形態 1 では情報処理端末 1 0 0とサーバ装置 1 2 0間 で S S Lを用いた暗号化データの送受信を行っているが、 2点間で安全 にデータの送受信が行える方法であれば、 S S Lに限らず他のプロ トコ ルを用いてもよい。
そして、 本実施の形態 1 ではデータ格納部 1 0 6とプログラム格納部 1 0 5を別にしているが、 同一の格納部としてもよい。 また、 秘匿情報 格納部 1 0 7に端末公開鍵証明書 1 1 3を格納しているが、 データ格納 部 1 0 6に格納してもよい。
また、 本実施の形態 1 に係るサーバ装置 1 2 0は、 プログラムヘッダ 3 0 0、 固有情報ヘッダ 4 0 0をプログラム 3 1 0、 プログラム固有情 報 4 2 0とは別に作成しているが、 プログラム 3 1 0とプログラムへッ ダ 3 0 0、 プログラム固有情報 4 2 0と固有情報ヘッダ 4 0 0をそれぞ れ一体の情報とし、 サーバ装置 1 2 0からの配布に先立ちヘッダ部分の み切り出して情報処理端末 1 0 0に送信してもよい。
さらに、 本実施の形態 1 ではプログラム 3 1 0、 プログラム固有情報 4 2 0に対し配布時にセッショ ン鍵による暗号化を行う例を示したが、 セッショ ン鍵とは異なる鍵でさ らに暗号化し、 その鍵をプログラムへッ ダ 3 0 0、 固有情報ヘッダ 4 0 0に含めて配布する構成と してもよい。 そして、 本実施の形態 1 でハッシュ値と記載している点は、 ハッシュ アルゴリズムと して S H A— 1、 M D 5などの既存のハッシュアルゴリ ズムを使用してもよいし、 独自のアルゴリズムを用いてもよい。 また、 ハッシュアルゴリズムのかわりにチ: t ックサムなどの方法を用いて改ざ んの検出を行ってもよい。 また、 情報処理端末 1 0 0毎に異なる情報を 必要と しないプログラムを配布する場合は、 プログラム固有情報の配布 を行う必要はない。
(実施の形態 2 )
図 1 1 は、 本発明の実施の形態 2に係る情報処理端末 1 1 0 0 とサ一 パ装置 1 1 2 0 との構成図を示す。 同図において、 実施の形態 1 と異な る点は、 サーバ装置 1 1 2 0がプログラム 固有情報対応表保持部 1 1 5 0を保持する点である。
このプログラム 固有情報対応表保持部 1 1 5 0は、 プログラム固有 情報を一意に識別するプログラム固有情報 I Dと、 プログラム固有情報 を使用するプログラムを一意に特定するプログラム I Dとの対応を示し たプログラムノ固有情報対応表 1 2 1 0を保持する記憶部である。 図 1 2 ( a ) 及び ( b ) は、 本実施の形態 2に係る固有情報配布履歴 1 2 0 0及びプログラム 固有情報対応表 1 2 1 0に含まれる情報の一 例を示す図である。
固有情報配布履歴保持部 1 1 4 0は、 前述した実施の形態 1 の固有情 報配布履歴 6 0 0 と異なり、 配布したプログラム固有情報に対応するプ ログラムを識別するプログラム I D 1 2 0 2が付加されている固有情報 配布履歴 1 2 0 0を管理する。 尚、 固有情報配布履歴 1 2 0 0に格納さ れる端末 I D 1 2 0 1 、 プログラム固有情報 I D 1 2 0 3、 及び最終配 布日付 1 2 0 4については前述した図 6と同様のため詳細な説明は省略 する。
固有情報配布履歴 1 2 0 0の例では、 サーバ装置 1 1 2 0は情報処理 端末 1 1 0 0に 5つのプログラム固有情報 I D 1 2 0 3を配布済みであ リ、 それぞれの端末 I D 1 2 0 1 、 プログラム I D 1 2 0 2、 プログラ 厶固有情報 I D 1 2 0 3の組は、 (端末 I D, プログラム I D , プログ ラム固有情報 I D ) = ( 0 0 0 1 , 0 0 0 1 , 0 0 0 1 ) 、 ( 0 0 0 2 , 0 0 0 1 , 0 0 0 2 ) 、 ( 0 0 1 0 , 0 0 0 1 , 0 0 0 3 ) 、 ( 0 0 1 5 , 0 0 0 1 , 0 0 0 4 ) 、 ( 0 0 2 0 , 0 0 0 2 , 1 0 0 1 ) となる。 また、 プログラム/固有情報対応表保持部 1 1 5 0は、 プログラム/ 固有情報対応表 1 2 1 0に、 サーバ装置 1 1 2 0が管理しているプログ ラムのプログラム I D 1 2 1 1 と、 各プログラムが使用するプログラム 固有情報を識別するプログラム固有情報 I D 1 2 1 2との対応関係を格 納する。
図 1 2の例では、 サーバ装置 1 1 2 0はプログラム I Dが 0 0 0 1 の プログラムを管理しており、 そのプログラムが使用するプログラム固有 情報と してプログラム固有情報 I Dが 0 0 0 1 から 1 0 0 0までのプロ グラム固有情報を管理している。 同様にプログラム I Dが 0 0 0 2のプ ログラムと、 そのプログラムが使用するプログラム固有情報 I Dが 1 0 0 1 から 2 0 0 0までのプログラム固有情報を管理している。 また、 プ ログラム 固有情報対応表 1 2 1 0には、 情報処理端末 1 1 0 0に配布 済みのプログラム固有情報の再配布を防止するために、 次回のプログラ 厶固有情報配布の開始時に、 配布すべきプログラム固有情報である配布 開始 I D 1 2 1 3を格納する。
図 1 2の例では、 プログラム I Dが 0 0 0 1 のプログラムに対し新た にプログラム固有情報を割り 当てる場合、 サーバ装置 1 1 2 0はプログ ラム固有情報 I D 0 1 2 3のプログラム固有情報を割り当てることを示 している。 同様にプログラム I Dが 0 0 0 2のプログラムに対し新たに プログラム固有情報を割り 当てる場合、 サーバ装置 1 1 2 0はプログラ ム固有情報 I D 1 4 2 3のプログラム固有情報を割リ当てることを示し ている。
また、 サーバ装置 1 1 2 0は、 このプログラム 固有情報対応表 1 2 1 0 を用いて、 情報処理端末 1 1 0 0からのプログラム I Dを指定した プログラム配布要求に対し、 そのプログラム I Dに対応したプログラム 固有情報を配布すること となる。
本発明の実施の形態 2におけるプログラム配布手順について、 図 1 3 を用いて説明する。 図 1 3は、 サーバ装置 1 1 2 0におけるプログラム の配布手順を示すフローチャー トである。
第 1 に、 サーバ装置 1 1 2 0は情報処理端末 1 1 0 0からプログラム 配布要求を受信する ( S 1 3 0 1 ) 。 このプログラム配布要求は、 プロ グラム I Dを指定するものである。
次に、 サーバ装置 1 1 2 0は、 受信したプログラム配布要求から情報 処理端末 1 1 0 0の端末 I D及びプログラム I Dを取得する ( S 1 3 0 2 ) 。 そして、 固有情報配布履歴 1 2 0 0に対して取得した端末 I D、 プログラム I Dを検索し ( S 1 3 0 3 ) 、 固有情報配布履歴 1 2 0 0に 同じ端末 I Dかつ同じプログラム 〖 Dの履歴が格納されているか否か確 認する ( S 1 3 0 4 ) 。
固有情報配布履歴 1 2 0 0に同じ端末 I Dかつ同じプログラム I 。の 履歴が格納されていた場合には ( S 1 3 0 4で Y ) 、 サーバ装置 1 1 2 0は、 情報処理端末 1 1 0 0に既に指定プログラムに対するプログラム 固有情報 1 1 3 5 を配布済みであるため、 プログラム 1 1 3 3のみを送 信し処理を終了する ( S 1 3 0 9 ) 。
固有情報配布履歴 1 2 0 0に同じ端末 I Dかつ同じプログラム I Dの 履歴が格納されていない場合には ( S 1 3 0 4で N ) 、 サーバ装置 1 1 2 0は、 プログラムノ固有情報対応表 1 2 1 0に格納されている配布開 始 I Dの情報を元に情報処理端末 1 1 0 0へ新たにプログラム固有情報 1 1 3 5 を割り当てる ( S 1 3 0 5 ) 。
次に、 サーバ装置 1 1 2 0は、 新たに割り当てたプログラム固有情報 1 1 3 5に関し、 プログラム 固有情報対応表保持部 1 1 5 0に格納さ れているプログラム/固有情報対応表 1 2 1 0 を参照して、 配布開始 I D 1 2 1 3の値を更新する ( S 1 3 0 6 ) 。 また、 新たに割り当てたプ ログラム固有情報 1 1 3 5に関し、 端末 I Dとプログラム固有情報 I D の対応を固有情報配布履歴 1 2 0 0に追加する ( S 1 3 0 7 )。そして、 サーバ装置 1 1 2 0は、 プログラム固有情報 1 1 3 5を情報処理端末 1 1 0 0に送信し ( S 1 3 0 8 ) 、 プログラム 1 1 3 3を送信し処理を終 了する ( S 1 3 0 9 ) 。
以上のように、 本実施の形態 2に係るサーバ装置 1 1 2 0は、 固有情 報配布履歴保持部 1 1 4 0 とプログラム 固有情報対応表保持部 1 1 5 0 と を有し、 固有情報配布履歴 1 2 0 0 とプログラム/固有情報対応表 1 2 1 0 を用いてプログラム固有情報の配布管理を行う ことによ り、 1 つの情報処理端末 1 1 0 0で動作する同一プログラムに対して複数のプ ログラム固有情報 1 1 3 5を配布することを防ぐ。 このため、 新たなプ ログラム固有情報 1 1 3 5 を取得して排除の回避を図る情報処理端末 1 1 0 0がプログラム固有情報 1 1 3 5 を新規取得することを防止するこ とが可能となる。
また、 本実施の形態 2に係るサーバ装置 1 1 2 0は、 ダウンロー ド対 象のプログラムと、 当該プログラムが動作する情報処理端末 1 1 0 0 と の対応をプログラム 固有情報対応表 1 2 1 0に格納してプログラム固 有情報 1 1 3 5の配布をプログラム単位に管理することにより、 プログ ラム毎にプログラム固有情報 1 1 3 5の配布可否を判定することが可能 となる。 このため、 サーバ装置 1 1 2 0はプログラム/固有情報対応表 1 2 1 0 を参照して、 プログラムを動作対象でない情報処理端末 1 1 0 0に配布することを防止することが可能となる。
尚、 本実施の形態 2ではデータ格納部 1 1 0 6 とプログラム格納部 1 1 0 5 を別にしているが、 同一の格納部と してもよい。 また、 本実施の 形態 2で示した固有情報配布履歴 1 2 0 0の形式は一例であり、 最終配 布日付 1 2 0 4を削除してもよいし、 他の情報を付加してもよい。 同様 にプログラム 固有情報対応表 1 2 1 0の形式も一例であり、 配布開始 I D 1 2 1 3 を別の形式で管理してもよい。 例えば、 全プログラム固有 情報 I Dを格納したテーブルを持ち、 各プログラム固有情報 I Dに対し て割り 当て済みか否かを識別するフラグを設けることによ り、 プログラ ム固有情報 1 1 3 5の配布状態を管理してもよい。
また、 本実施の形態 2では固有情報配布履歴 1 2 0 0に記載されてい る端末 I D 1 2 0 1 に対してプログラム固有情報 1 1 3 5の配布を拒否 しているが、 その情報処理端末 1 1 0 0に対して既に配布済みのプログ ラム固有情報 1 1 3 5 を再度配布してもよい。 また、 本実施の形態 2で は情報処理端末 1 1 0 0からの要求はプログラムの配布を伴う プログラ ム配布要求、 又はプログラムの配布が伴わないプログラム固有情報配布 要求とできる。
(実施の形態 3 )
図 1 4は、 本実施の形態 3に係る情報処理端末 1 4 0 0とサーバ装置 1 4 2 0の構成図を示す。 同図において、 前述した実施の形態 1 及び実 施の形態 2 と異なる点は、 サーバ装置 1 4 2 0が配布回数情報保持部 1 4 4 0を有する点である。
この配布回数情報保持部 1 4 4 0は、 サーバ装置 1 4 2 0から同一の 情報処理端末 1 4 0 0に対してプログラム固有情報 1 4 3 5を配布した 回数を管理するための配布回数情報 1 5 0 0を保持するハードディスク である。
図 1 5は、 本実施の形態 3に係る配布回数情報 1 5 0 0の情報格納例 を示す図である。
配布回数情報 1 5 0 0には、 プログラム固有情報 1 4 3 5を配布した 情報処理端末 1 4 0 0を識別する I Dである端末 I D 1 5 0 1 、 配布し た回数を示す回数カウンタ 1 5 0 2が格納される。 同図の例では、 端末 I Dが 0 0 0 1 、 0 0 0 2の情報処理端末 1 4 0 0に対してプログラム 固有情報 1 4 3 5を 1 回配布しており、 端末 I Dが 0 0 0 3の情報処理 端末 1 4 0 0に対してプログラム固有情報 1 4 3 5を配布していないこ とが示されている。
図 1 6は、 サーバ装置 1 4 2 0におけるプログラムの配布手順を示す フローチヤ一トである。
まず、 サーバ装置 1 4 2 0は情報処理端末 1 4 0 0からプログラム配 布要求を受信する (S 1 6 0 1 ) 。 次に、 サーバ装置 1 4 2 0は、 S 1 6 0 1 で受信したプログラム配布要求に含まれる情報処理端末 1 4 0 0 の端末 I Dを取得する (S 1 6 0 2 ) 。
そして、 サーバ装置 1 4 2 0は配布回数情報保持部 1 4 4 0に保持さ れる配布回数情報 1 5 0 0を用いて S 1 6 0 2で取得した端末 I Dを検 索し、 回数カウンタの値を取得する ( S 1 6 0 3 ) 。 また、 取得した回 数カウンタの値が規定値以上か否かを判定する ( S 1 6 0 4 ) 。
そして、 取得した回数カウンタの値が規定値以上であった場合 ( S 1 6 0 4で Y ) 、 サーバ装置 1 4 2 0は、 情報処理端末 1 4 0 0に対して は既にプログラム固有情報 1 4 3 5を規定回数以上配布しているため、 プログラム 1 4 3 3のみを送信し処理を終了する (S 1 6 0 8 ) 。
—方、 取得した回数カウンタの値が規定値未満であった場合 ( S 1 6 0 4で N ) 、 サーバ装置 1 4 2 0は情報処理端末 1 4 0 0へは新たにプ ログラム固有情報 1 4 3 5を割り当てる ( S 1 6 0 5 ) 。 また、 サーバ 装置 1 4 2 0は配布回数情報保持部 1 4 4 0内に格納されている配布回 数情報 1 5 0 0の回数カウンタの値を加算する (S 1 6 0 6 )。そして、 サーバ装置 1 4 2 0は、 プログラム固有情報 1 4 3 5を情報処理端末 1 4 0 0に送信し ( S 1 6 0 7 ) 、 プログラム 1 4 3 3を送信し処理を終 了する ( S 1 6 0 8 ) 。
このよ うに、 本実施の形態 3に係るサーバ装置 1 4 2 0は、 配布回数 情報保持部 1 4 4 0を有し、 配布回数情報 1 5 0 0を用いてプログラム 固有情報 1 4 3 5の配布管理を行うことにより、 1 つの情報処理端末 1 4 0 0へ規定値以上のプログラム固有情報 1 4 3 5を配布することを防 ぐことができる。 特に、 規定値を 1 に設定した場合、 本発明の実施の形 態 1 及び実施の形態 2と同様に、 サーバ装置 1 4 2 0は、 プログラム固 有情報 1 4 3 5が含む情報を用いて不正端末と認識され、 排除されてい る情報処理端末 1 4 0 0に対し、 新たにプログラム固有情報 1 4 3 5を 割り当てることにより、 不正端末が排除を回避することを防ぐことが可 能となる。
また、 プログラム固有情報 1 4 3 5の配布回数を示す規定値を 2以上 とすることにより、 ハードディスクが故障したような不正の目的でなく プログラムを再度購入するようなユーザに対してプログラム固有情報 1 4 3 5の再配布や新たな配布を正規に行うことが可能となる。
尚、 本実施の形態 3ではデータ格納部 1 4 0 6とプログラム格納部 1 4 0 5を別にしているが、 同一の格納部としてもよい。 また、 本実施の 形態 3で示した配布回数情報 1 5 0 0の形式は一例であリ、 他の情報を 付加してもよい。 また、 本実施の形態 3では情報処理端末 1 4 0 0から の要求はプログラムの配布を伴う プログラム配布要求、 又はプログラム の配布要求を伴わないプログラム固有情報配布要求とできる。
(実施の形態 4 )
図 1 7は、 本実施の形態 4に係る情報処理端末 1 7 0 0 とサーバ装置 1 7 2 0の構成図を示す。 同図において、 前述の実施の形態 3 と異なる 点は、 サーバ装置 1 7 2 0がプログラム/固有情報対応表保持部 1 7 5 0 を保持する点である。 このプログラム 固有情報対応表保持部 1 7 5 0は、 図 1 1 において説明したプログラム 固有情報対応表保持部 1 1 5 0 と同様の記憶部である。
図 1 8 ( a ) 及び ( b ) は、 本実施の形態 4に係る配布回数情報 1 8 0 0 とプログラム/固有情報対応表 1 8 1 0に格納されるデータの一例 を示す図である。
配布回数情報 1 8 0 0は、 配布したプログラムのプログラム I D 1 8 0 1 、 プログラム固有情報 1 7 3 5を配布した情報処理端末 1 7 0 0の 端末 1 D 1 8 0 2、 プログラム固有情報を配布した回数を示す回数カウ ンタ 1 8 0 3 を格納する。 前記実施の形態 3における配布回数情報 1 5 0 0 と異なる点は、 プログラム固有情報を使用するプログラムを識別す るプログラム I D 1 8 0 1 が付加されている点である。
配布回数情報 1 8 0 0は、 プログラム I Dが 0 0 0 1 のプログラムが 使用するプログラム固有情報 1 7 3 5 を、 端末 I Dが 0 0 0 1 、 0 0 0 2の情報処理端末 1 7 0 0に対して 1 回配布し、 端末 I Dが 0 0 0 3の 情報処理端末 1 7 0 0に対してプログラム固有情報 1 7 3 5 を配布して いないことを示す。 また同様に、 プログラム 〗 Dが 0 0 0 2のプログラ ムが使用するプログラム固有情報 1 7 3 5 を、 端末 I Dが 0 0 0 1 の情 報処理端末 1 7 0 0に対して 1 回配布しておリ、 端末 I Dが 0 0 0 2、 0 0 0 3の情報処理端末 1 7 0 0に対してプログラム固有情報 1 7 3 5 を配布していないことを示している。
尚、 プログラム Z固有情報対応表 1 8 1 0は、 前述した図 1 2におけ るプログラム/固有情報対応表 1 2 1 0と同様であり、 詳細な説明は省 略する。
図 1 9は、 サーバ装置 1 7 2 0におけるプログラムの配布手順を示す フローチヤ一 卜である。
まず、 サーバ装置 1 7 2 0は情報処理端末 1 7 0 0からプログラム配 布要求を受信する (S 1 9 0 1 ) 。 このプログラム配布要求には、 情報 処理端末 1 7 0 0より取得の要求されるプログラムのプログラム I Dを 含む。 次に、 サ一パ装置 1 7 2 0は、 S 1 9 0 1 で受信したプログラム 配布要求に含まれる情報処理端末 1 7 0 0の端末 I D、 プログラム I D を取得する ( S 1 9 0 2 ) 。
そして、 サーバ装置 1 7 2 0は、 配布回数情報 1 8 0 0に対して S 1 9 0 2で取得した端末 I D、 プログラム I Dを検索し、 回数カウンタの 値を取得する (S 1 9 0 3 ) 。 次に、 取得した回数カウンタの値が規定 値以上か否かを判定する (S 1 9 0 4 ) 。
また、 取得した回数カウンタの値が規定値以上であった場合 ( S 1 9 0 4で Y ) 、 サーバ装置 1 7 2 0は、 情報処理端末 1 7 0 0へは既にプ ログラム固有情報 1 7 3 5を規定回数以上配布しているため、 プログラ ム 1 7 3 3のみを送信し処理を終了する ( S 1 9 0 9 ) 。
次に、 取得した回数カウンタの値が規定値未満であった場合 ( S 1 9 0 4で N ) 、 サーバ装置 1 7 2 0は、 プログラム/固有情報対応表 1 8 1 0に格納されている配布開始 I Dの情報を元に情報処理端末 1 7 0 0 へ新たにプログラム固有情報 1 7 3 5を割り当てる (S 1 9 0 5 ) 。 そして、 サーバ装置 1 7 2 0は、 S 1 9 0 5で新たに割り当てたプロ グラム固有情報 1 7 3 5に関し、 プログラム 固有情報対応表 1 8 1 0 に格納されている配布開始 I Dの値を更新する ( S 1 9 0 6 ) 。 また、 配布回数情報 1 8 0 0 内に格納されている回数カウンタの値を加算し ( S 1 9 0 7 ) 、 プログラム固有情報 1 7 3 5 を情報処理端末 1 7 0 0 に送信し ( S 1 9 0 8 ) 、 プログラム 1 7 3 3 を送信し処理を終了する ( S 1 9 0 9 ) 。
以上のように、 本実施の形態 4に係るサーバ装置 1 7 2 0は、 配布回 数情報保持部 1 7 4 0 とプログラム/固有情報対応表保持部 1 7 5 0 と を有し、 各保持部に保持される配布回数情報 1 8 0 0及びプログラム/ 固有情報対応表 1 8 1 0を用いてプログラム固有情報 1 7 3 5 を配布管 理することによ り、 1 つの情報処理端末 1 7 0 0で動作する同一プログ ラムに対して規定値以上のプログラム固有情報 1 7 3 5 を配布すること を防いで、 プログラム固有情報 1 7 3 5の不正使用を図る情報処理端末 1 7 0 0を排除することが可能となる。
また、 本実施の形態 4では、 サーバ装置 1 7 2 0は、 プログラム固有 情報の配布をプログラム単位に管理することによ り、 プログラム毎にプ ログラム固有情報 1 7 3 5の配布可否を判定することが可能となる。 尚、 本実施の形態 4ではデータ格納部 1 7 0 6 とプログラム格納部 1 7 0 5を別にしているが、 同一の格納部と してもよい。 また、 本実施の 形態 4で示した配布回数情報 1 8 0 0の形式は一例であり、 他の情報を 付加してもよい。 同様にプログラム 固有情報対応表 1 8 1 0の形式も —例であり、 別の形式で管理してもよい。 また、 本実施の形態 4では情 報処理端末 1 7 0 0からの要求はプログラムの配布を伴う プログラム配 布要求、 又はプログラムの配布を伴わないプログラム固有情報配布要求 とできる。 以上のように、 本発明に係るサーバ装置は、 固有情報配布履歴保持部 を有することによ り、 情報処理端末が以前に配布したプログラムに対応 するプログラム固有情報の新規取得を防止することが可能となり、 新た なプログラム固有情報を取得して排除の回避を図る情報処理端末の不正 行為を確実に防止することが可能となる。
また、 本発明に係る情報処理端末は、 サーバ装置から取得したプログ ラムを端末固有鍵で暗号化することによ り、 サーバ装置におけるプログ ラム暗号化処理の負担を軽減することが可能となる。 さ らに、 本発明に 係るサーバ装置は、 プログラム全体をプログラム及びプログラム固有情 報に分離して個別に作成しているため、 サーバ装置は、 各情報処理端末 で異なる情報となる容量の比較的小さなプログラム固有情報を複数管理 して、 全情報処理端末で共通な情報となる容量の大きなプログラムは 1 つのみ管理して、 サーバ装置で管理する配布情報の容量を低減すること が可能となリ、 情報管理の負担を軽減することが可能となる。
そして、 本発明に係るサーバ装置から情報処理端末に配布されるプロ グラムの全体には、 情報処理端末で動作するプログラム本体、 プログラ ムヘッダ、 プログラム固有情報、 及び固有憎報ヘッダが含まれるため、 プログラムを構成する各情報に C A署名やハッシュ値を用いることによ リ、 サーバ装置から情報処理端末に配布される情報の正当性を確認する ことが可能となる。 産業上の利用の可能性
本発明に係るサーバ装置及びプログラム管理システムは、 通信機能を 備えるパーソナルコ ンピュータ、 携帯電話等の情報処理端末にネッ トヮ ークを介してプログラムを配布するサーバ装置、 及び当該サーバ装置と 情報処理端末との間のプログラム管理システムと して有用である。

Claims

請 求 の 範 囲
1 . 外部から書き換えが行えない端末 I Dを保持する情報処理端末と ネッ トワークを介して接続され前記情報処理端末で動作するプログラム を保持するサーバ装置であって、
以前に配布したプログラムと端末 I Dとの関連を示すテーブルを保持 するテーブル保持手段と、
前記テーブルを参照して、 前記情報処理端末から送信され前記端末 I Dを伴う プログラム取得要求に対するプログラムの配布をするか否かを 判定する判定手段とを備える
ことを特徴とするサーバ装置。
2 . 前記プログラムには、 前記情報処理端末で動作するプログラム本 体、 及び当該プログラム本体に使用される固有の情報であるプログラム 固有情報が含まれ、
前記判定手段は、
前記プログラム取得要求に付与されている前記端末 I Dが前記テープ ルに記録されている場合には、 前記プログラム固有情報の配布を禁止し て前記プログラム本体のみの配布を前記情報処理端末に行う と判定し、 前記端末 I Dが前記テーブルに記載されていない場合には、 前記端末 I Dと前記プログラム固有情報とを対応させて前記テーブルに追加する と共に、 前記プログラム本体と前記プログラム固有情報と を前記情報処 理端末に配布すると判定する
ことを特徴とする請求項 1 記載のサーバ装置。
3 . 前記判定手段は、
前記情報処理端末からの前記プログラム取得要求に対して、 前記プロ グラム本体の配布は前記プログラム取得要求毎に行う と判定する一方、 前記プログラム固有情報の配布は 1 回のみ行うと判定する
ことを特徴とする請求項 2記載のサーバ装置。
4 . 前記テーブル保持手段は、
前記端末 I Dと前記プログラム固有情報の配布回数とを示すテーブル を保持し、
前記判定手段は、
前記テーブルを参照して、 前記情報処理端末より配布された前記プロ グラム取得要求に付与されている前記端末 I Dに対応する配布回数が規 定値に達している場合においては、 前記プログラム固有情報の配布を禁 止して前記プログラム本体のみの配布を前記情報処理端末に行うと判定 し、
前記テーブルを参照して、 前記情報処理端末より配布された前記プロ グラム取得要求に付与されている前記端末 I Dに対応する配布回数が規 定値に達していない場合においては、 前記端末 I Dに対応させて前記テ —ブルに記載されている配布回数を更新すると共に、 前記プログラム本 体と前記プログラム固有情報とを前記情報処理端末に配布すると判定す る
ことを特徴とする請求項 1 記載のサーバ装置。
5 . 前記テーブル保持手段は、
前記情報処理端末からのプログラム取得要求に付与されている前記端 末 I りと、 前記端末 I Dの情報処理端末に配布した前記プログラム本体 を一意に特定するプログラム本体 I Dと、 前記端末 I Dの情報処理端末 にプログラム固有情報を配布した回数を示す配布回数との関連を示すテ 一ブルを保持し、
前記判定手段は、
前記テーブルを参照して、 前記情報処理端末より配布された前記プロ グラム取得要求に付与されている前記端末 〖 Dと前記プログラム I りと の両方に対応する配布回数が規定値に達している場合においては、 前記 プログラム固有情報の配布を禁止して前記プログラム本体のみの配布を 前記情報処理端末に行うと判定し、
前記テーブルを参照して、 前記情報処理端末より配布された前記プロ グラム取得要求に付与されている前記端末 I D及び前記プログラム I D に対応する配布回数が規定値に達していない場合においては、 前記端末 I Dと前記プログラム I Dとに対応させて前記テーブルに記載されてい る配布回数を更新すると共に、 前記プログラム本体と前記プログラム固 有情報とを前記情報処理端末に配布すると判定する
ことを特徴とする請求項 4記載のサーバ装置。
6 . 前記規定値は、 前記サーバ装置から前記情報処理端末に配布する プログラム固有情報の配布回数を示す値である
ことを特徴とする請求項 4又は請求項 5記載のサーバ装置。
7 . 前記テーブル保持手段は、
前記情報処理端末からのプログラム取得要求に付与されている前記端 末 I Dと、 前記端末 I Dの情報処理端末に配布した前記プログラム本体 を一意に特定するプログラム本体 I りと、 前記端末 I Dの情報処理端末 に配布したプログラム固有情報を一意に特定するプログラム固有情報 I Dとの関連を示すテーブルを保持し、
前記判定手段は、
前記テーブルを参照して、 前記情報処理端末より送信された前記プロ グラム取得要求に付与されている前記端末 I Dと前記プログラム I Dと の両方に対応するプログラム固有情報 I Dが記載されている場合におい ては、 前記プログラム固有情報の配布を禁止して前記プログラム本体の みの配布を前記情報処理端末に行うと判定し、 前記テーブルを参照して、 前記プログラム取得要求に付与されている 前記端末 I Dと前記プログラム I Dとの両方に対応するプログラム固有 情報 I Dが記載されていない場合においては、 前記端末 I Dと前記プロ グラム固有情報 I Dと前記プログラム I Dとを対応させて前記テーブル に追加すると共に、 前記プログラム本体と前記プログラム固有情報とを 前記情報処理端末に配布すると判定する
ことを特徴とする請求項 1 記載のサーバ装置。
8 . 前記サーバ装置は、
前記情報処理端末毎に異なる情報となる前記プログラム固有情報を複 数保持し、
前記情報処理端末で共通な前記プログラム本体を 1 つ保持する ことを特徴とする請求項 2記載のサーバ装置。
9 . 前記テーブル保持手段は、
前記プログラム本体を一意に特定するプログラム本体 I りと、 前記プ ログラム本体が動作する前記情報処理端末の端末 I Dとの関連を示すテ —ブルを保持し、
前記判定手段は、
前記テーブルを参照して、 前記情報処理端末よ り配布された前記プロ グラム取得要求に付与されている前記端末 I Dと前記プログラム I Dと が対応して記載されている場合においては、 前記プログラムの配布可能 と判定し、
前記テーブルを参照して、 前記プログラム取得要求に付与されている 前記端末 I Dと前記プログラム I Dとが対応して記載されていない場合 においては、 前記プログラム本体の配布不可と判定する
ことを特徴とする請求項 2記載のサーバ装置。
1 0 . 外部から書き換えが行えない端末 I Dを保持する情報処理端末 と、 当該情報処理端末とネッ トワークを介して接続され前記情報処理端 末で動作するプログラムを保持するサーバ装置とから構成されるプログ ラム管理システムであって、
前記情報処理端末は、
前記プログラムの取得を要求する場合には、 前記端末 I Dを付与した プログラム取得要求を前記サーバ装置に送信し、
前記サーバ装置は、
前記プログラム取得要求を受信して、 以前に配布したプログラムと端 末 I Dとの関連を示すテーブルを保持するテーブル保持手段と、 前記テーブルを参照して、 前記情報処理端末から送信されて前記端末 I Dが付与されているプログラム取得要求に対するプログラムの配布を するか否かを判定する判定手段とを備える
ことを特徴とするプログラム管理システム。
1 1 . 前記情報処理端末は、 外部から書き換えが行えないメ モ リ部に 前記情報処理端末毎に異なる固有鍵を格納し、
前記サーバ装置から取得した前記プログラムを、 前記固有鍵を用いて 暗号化して前記情報処理端末内のメ モ リ部に格納する格納手段を備える ことを特徴とする請求項 1 0記載のプログラム管理システム。
1 2 . 前記プログラムには、 前記情報処理端末で動作するプログラム 本体、 当該プログラム本体に関する情報を格納するプログラムヘッダ、 前記プログラム本体に使用される固有の情報であるプログラム固有情報 及び当該プログラム固有情報に関する情報を格納した固有情報ヘッダが 含まれ、
前記情報処理端末は、
前記サーバ装置に取得を要求するプログラムに含まれる前記プログラ ムヘッダ及び前記固有情報ヘッダの取得を要求するヘッダ取得要求を行 い、
前記サーバ装置は、
前記判定手段において前記プログラム本体の配布可能と判定される場 合においては、 前記プログラムヘッダ及び前記固有情報ヘッダを前記情 報処理端末に配布し、
前記情報処理端末は、
前記プログラムヘッダ及び前記固有情報ヘッダに基づいて検証を行う 検証手段を備え、 当該検証手段での検証を行った後に前記プログラム取 得要求を前記サーバ装置に送信する
ことを特徴とする請求項 1 0記載のプログラム管理システム。
1 3 . 前記プログラムヘッダには、 前記プログラムを一意に特定する ことが可能な認証子が含まれ、
前記情報処理端末は、 前記固有鍵で暗号化され前記情報処理端末内の メ モ リ部に格納されているプログラムを前記固有鍵で復号し、 前記認証 子を用いて前記固有鍵での暗号化が正しく行われたことを検証する検証 手段を備える
ことを特徵とする請求項 1 2記載のプログラム管理システム。
1 4 . 前記プログラム、 前記プログラムヘッダ、 前記プログラム固有 情報、 及び前記固有情報へッダには電子的な署名が付加されている ことを特徴とする請求項 1 2記載のプログラム管理システム。
1 5 . 前記プログラムヘッダには、 前記プログラムを一意に特定する ことが可能な認証子が含まれ、 前記固有情報ヘッダには、 前記プログラ 厶固有情報を一意に特定することが可能な認証子が含まれる
ことを特徴とする請求項 1 2記載のプログラム管理システム。
1 6 . 外部から書き換えが行えない端末 I Dを保持する情報処理端末 と、 当該情報処理端末とネッ トワークを介して接続され前記情報処理端 末で動作するプログラムを保持するサーバ装置とから構成されるプログ ラム配布方法であって、
前記情報処理端末は、
前記プログラムの取得を要求する場合には、 前記端末 I Dを付与した プログラム取得要求を前記サーバ装置に送信するステップを有し、 前記サーバ装置は、
前記プログラム取得要求を受信して、 以前に配布したプログラムと端 末 I Dとの関連を示すテーブルを保持するテーブル保持ステップと、 前記テーブルを参照して、 前記情報処理端末から送信されて前記端末 I Dが付与されているプログラム取得要求に対するプログラムの配布を するか否かを判定する判定ステップとを有する
ことを特徴とするプログラム配布方法。
1 7 . 外部から書き換えが行えない端末 I Dを保持する情報処理端末 とネッ トワークを介して接続され前記情報処理端末で動作する配布プロ グラムを保持するサーバ装置で用いられるプログラムであって、 以前に配布した配布プログラムと端末 I Dとの関連を示すテーブルを 保持するテーブル保持ステップと、
前記テーブルを参照して、 前記情報処理端末から送信され前記端末 I Dを伴うプログラム取得要求に対する配布プログラムの配布をするか否 かを判定する判定ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
PCT/JP2003/004808 2002-04-23 2003-04-16 Dispositif serveur et systeme de gestion de programme WO2003091862A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/511,751 US7620811B2 (en) 2002-04-23 2003-04-16 Server device and program management system
KR10-2004-7001619A KR20040099253A (ko) 2002-04-23 2003-04-16 서버 장치 및 프로그램 관리 시스템
EP03720908A EP1498798A4 (en) 2002-04-23 2003-04-16 SERVER DEVICE AND PROGRAM MANAGEMENT SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-120430 2002-04-23
JP2002120430 2002-04-23

Publications (1)

Publication Number Publication Date
WO2003091862A1 true WO2003091862A1 (fr) 2003-11-06

Family

ID=29267370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004808 WO2003091862A1 (fr) 2002-04-23 2003-04-16 Dispositif serveur et systeme de gestion de programme

Country Status (7)

Country Link
US (1) US7620811B2 (ja)
EP (2) EP2309411A3 (ja)
JP (1) JP2009116901A (ja)
KR (1) KR20040099253A (ja)
CN (1) CN1307503C (ja)
TW (1) TW200405709A (ja)
WO (1) WO2003091862A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1712992A1 (en) 2005-04-11 2006-10-18 Sony Ericsson Mobile Communications AB Updating of data instructions

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4058173B2 (ja) * 1998-10-09 2008-03-05 キヤノン株式会社 情報通信装置、情報通信装置の制御方法及びコンピュータ読み取り可能な記録媒体
US7783884B2 (en) * 2004-04-21 2010-08-24 Panasonic Corporation Content providing system, information processing device and memory card
US7577848B2 (en) * 2005-01-18 2009-08-18 Microsoft Corporation Systems and methods for validating executable file integrity using partial image hashes
US8291226B2 (en) * 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
EP2037388A4 (en) * 2006-07-03 2016-12-14 Panasonic Ip Man Co Ltd CERTIFICATION DEVICE, VERIFICATION DEVICE, VERIFICATION SYSTEM, COMPUTER PROGRAM, AND INTEGRATED CIRCUIT
US8683213B2 (en) * 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
US8775790B2 (en) * 2007-10-30 2014-07-08 Honeywell International Inc. System and method for providing secure network communications
JP4752884B2 (ja) * 2008-08-21 2011-08-17 ソニー株式会社 情報処理装置、およびデータ処理方法、並びにプログラム
US9202015B2 (en) 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules
JP5449044B2 (ja) * 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
US8983855B1 (en) 2011-05-16 2015-03-17 Mckesson Financial Holdings Systems and methods for evaluating adherence to a project control process
US9594875B2 (en) * 2011-10-21 2017-03-14 Hospira, Inc. Medical device update system
US8650645B1 (en) * 2012-03-29 2014-02-11 Mckesson Financial Holdings Systems and methods for protecting proprietary data
US9954837B2 (en) 2015-01-07 2018-04-24 Cyph, Inc. Method of multi-factor authenication during encrypted communications
WO2016114822A1 (en) * 2015-01-16 2016-07-21 Cyph Inc. A system and method of cryprographically signing web applications
US10491399B2 (en) * 2015-01-07 2019-11-26 Cyph, Inc. Cryptographic method for secure communications
CN107528816B (zh) * 2016-06-22 2021-05-18 中兴通讯股份有限公司 分布式数据库中id的处理方法、管理系统及服务器
JP6861670B2 (ja) * 2018-07-10 2021-04-21 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
WO2020053928A1 (ja) * 2018-09-10 2020-03-19 三菱電機株式会社 空気調和システムおよび空気調和システムのプログラム更新方法
JP7318264B2 (ja) * 2019-03-28 2023-08-01 オムロン株式会社 コントローラシステム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190529A (ja) * 1995-01-10 1996-07-23 Fujitsu Ltd ソフトウェア流通システムにおける識別子管理装置および方法
JP2000242491A (ja) * 1999-02-22 2000-09-08 Matsushita Electric Ind Co Ltd コンピュータ及びプログラム記録媒体
JP2000311083A (ja) * 1999-04-28 2000-11-07 Casio Comput Co Ltd 携帯端末装置、データ配布装置、データアクセス方法、及びデータアクセスシステム
JP2001331232A (ja) 2000-03-30 2001-11-30 Internatl Business Mach Corp <Ibm> ライセンス・アプリケーション・インストーラ
JP2002091772A (ja) * 2000-09-13 2002-03-29 Nec Corp ソフトウェア更新装置、ソフトウェア更新システム、その更新方法、及び更新プログラムを記録した記録媒体

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0290772A (ja) * 1988-09-27 1990-03-30 Nec Corp 会議接続における追加呼方法
JPH0687220B2 (ja) 1988-10-31 1994-11-02 株式会社日立製作所 プログラム配布装置
US5237610A (en) * 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
JP2979858B2 (ja) 1992-09-07 1999-11-15 ブラザー工業株式会社 液滴噴射装置
JP3717176B2 (ja) * 1993-09-29 2005-11-16 株式会社パンプキンハウス 暗号化/復号装置および方法
JPH07295800A (ja) 1994-04-22 1995-11-10 Advance Co Ltd ソフトウエアプロテクト方式
JP3167527B2 (ja) 1994-04-28 2001-05-21 株式会社東芝 メディア情報配送システム
JP3727076B2 (ja) * 1994-08-25 2005-12-14 富士通株式会社 プログラム管理方法および装置
US6044154A (en) * 1994-10-31 2000-03-28 Communications Devices, Inc. Remote generated, device identifier key for use with a dual-key reflexive encryption security system
JP3946275B2 (ja) * 1995-01-10 2007-07-18 富士通株式会社 リモートインストールシステムおよび方法
US5909257A (en) * 1996-02-27 1999-06-01 Victor Company Of Japan, Ltd. Apparatus and method of receiving broadcasted digital signal
US5754651A (en) * 1996-05-31 1998-05-19 Thomson Consumer Electronics, Inc. Processing and storage of digital data and program specific information
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6119105A (en) * 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
JPH10143357A (ja) * 1996-11-11 1998-05-29 Hitachi Ltd ソフトウェア管理装置
JPH10214297A (ja) * 1996-11-28 1998-08-11 Fujitsu Ltd インターネットを利用した会員制サービスシステムおよび方法
EP0899955A3 (en) * 1997-08-27 2001-01-31 Matsushita Electric Industrial Co., Ltd. Control information generating apparatus for broadcast system
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
US6477543B1 (en) 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US6615349B1 (en) * 1999-02-23 2003-09-02 Parsec Sight/Sound, Inc. System and method for manipulating a computer file and/or program
FI990461A0 (fi) * 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6848047B1 (en) 1999-04-28 2005-01-25 Casio Computer Co., Ltd. Security managing system, data distribution apparatus and portable terminal apparatus
JP2000339153A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体
JP2001320356A (ja) * 2000-02-29 2001-11-16 Sony Corp 公開鍵系暗号を使用したデータ通信システムおよびデータ通信システム構築方法
US6671724B1 (en) * 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
JP3861559B2 (ja) * 2000-03-31 2006-12-20 株式会社日立製作所 移動エージェント制御方法
KR20040103891A (ko) * 2002-04-05 2004-12-09 마쯔시다덴기산교 가부시키가이샤 컨텐츠 이용 시스템
JP4211306B2 (ja) * 2002-07-19 2009-01-21 パナソニック株式会社 送信装置、及び受信装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190529A (ja) * 1995-01-10 1996-07-23 Fujitsu Ltd ソフトウェア流通システムにおける識別子管理装置および方法
US6049670A (en) 1995-01-10 2000-04-11 Fujitsu Limited Identifier managing device and method in software distribution system
JP2000242491A (ja) * 1999-02-22 2000-09-08 Matsushita Electric Ind Co Ltd コンピュータ及びプログラム記録媒体
JP2000311083A (ja) * 1999-04-28 2000-11-07 Casio Comput Co Ltd 携帯端末装置、データ配布装置、データアクセス方法、及びデータアクセスシステム
JP2001331232A (ja) 2000-03-30 2001-11-30 Internatl Business Mach Corp <Ibm> ライセンス・アプリケーション・インストーラ
JP2002091772A (ja) * 2000-09-13 2002-03-29 Nec Corp ソフトウェア更新装置、ソフトウェア更新システム、その更新方法、及び更新プログラムを記録した記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1498798A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1712992A1 (en) 2005-04-11 2006-10-18 Sony Ericsson Mobile Communications AB Updating of data instructions
WO2006108788A1 (en) * 2005-04-11 2006-10-19 Sony Ericsson Mobile Communications Ab Updating of data instructions

Also Published As

Publication number Publication date
US20050251677A1 (en) 2005-11-10
CN1307503C (zh) 2007-03-28
EP1498798A1 (en) 2005-01-19
EP2309411A3 (en) 2011-06-15
JP2009116901A (ja) 2009-05-28
EP2309411A2 (en) 2011-04-13
TW200405709A (en) 2004-04-01
KR20040099253A (ko) 2004-11-26
US7620811B2 (en) 2009-11-17
EP1498798A4 (en) 2010-04-14
CN1568447A (zh) 2005-01-19

Similar Documents

Publication Publication Date Title
US9424400B1 (en) Digital rights management system transfer of content and distribution
WO2003091862A1 (fr) Dispositif serveur et systeme de gestion de programme
US9342701B1 (en) Digital rights management system and methods for provisioning content to an intelligent storage
US7325139B2 (en) Information processing device, method, and program
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
US7496756B2 (en) Content usage-right management system and management method
US7310732B2 (en) Content distribution system authenticating a user based on an identification certificate identified in a secure container
US7484246B2 (en) Content distribution system, content distribution method, information processing apparatus, and program providing medium
US7506367B1 (en) Content management method, and content storage system
US7096363B2 (en) Person identification certificate link system, information processing apparatus, information processing method, and program providing medium
JP4675031B2 (ja) サーバ装置及びプログラム管理システム
US20090199303A1 (en) Ce device management server, method of issuing drm key by using ce device management server, and computer readable recording medium
KR20090058736A (ko) 보안모듈 프로그램을 보호하기 위한 디지털 케이블 시스템및 그 방법
JP2002164880A (ja) コンテンツ提供サーバ、コンテンツ提供プログラムを記録した記録媒体、コンテンツ配信サーバ、およびコンテンツ配信プログラムを記録した記録媒体
JP2003051816A (ja) コンテンツ配信システム、コンテンツ配信方法、およびデータ処理装置、データ処理方法、並びにコンピュータ・プログラム
JP2000113048A (ja) コンテンツ受信装置群およびそれに用いるicカード
JP2004318448A (ja) コンテンツ保護機能付き端末装置
JP4809723B2 (ja) ユーザ認証サーバ、ユーザ管理サーバ、ユーザ端末、ユーザ認証プログラム、ユーザ管理プログラム及びユーザ端末プログラム
JP2004303107A (ja) コンテンツ保護システム及びコンテンツ再生端末
JP2007517289A (ja) ソフトウェア用のデジタル署名防護
JP2003085048A (ja) バックアップデータ管理システム、バックアップデータ管理方法、および情報処理装置、並びにコンピュータ・プログラム
CN102236753A (zh) 版权管理方法及系统
JP2003087237A (ja) コンテンツ利用管理システム、コンテンツ利用管理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2003085143A (ja) パスワード管理システム、パスワード管理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2003087236A (ja) コンテンツ利用回数管理システム、コンテンツ利用回数管理方法、および情報処理装置、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE GB

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: 1020047001619

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038012782

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2003720908

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10511751

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003720908

Country of ref document: EP