# US 7,610,625 B2 · Program control system, program control method and information control program

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,625 B2
- Document ID: US7610625B2
- Status: Granted
- Kind: B2
- Application number: 10/212,085
- Filed: 2002-08-06
- Published: 2003-02-13
- Granted: 2009-10-27
- Earliest claimed: 2001-08-07
- Assignees: NEC Corporation
- Inventors: Hidehiro Matsumoto
- Web page: https://patentgrep.com/patent/US7610625B2

## CPC

- H04L 63/062: {for key distribution, e.g. centrally by trusted party (cryptographic mechanisms or cryptographic arrangements for key distribution involving a central third party H04L9/0819)}
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 63/126: {the source of the received data}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A program control system is capable of preventing an invalid program from being downloaded to a mobile terminal. When a programmer applies for the certification and registration of a developed program, a gateway sends a checking program for checking the validity of program to the programmer. After having been notified that the program had passed the check from the programmer, the gateway accepts the registration of the program, and requests a cipher key database to send a public key. Having received the public key from the cipher key database, the gateway sends the program with the public key to a server to register the program. When a mobile terminal requests for the program, the gateway accesses the server to obtain the program with the public key. Subsequently, the gateway sends the public key to the cipher key database to authenticate the public key by use of a companion cipher key stored therein. The gateway downloads the program to the mobile terminal only when the public key is authenticated and thereby the program proves to be valid.

## Claims

### Claim 1

A program control system for transferring programs to a mobile terminal, comprising:
a server set up on a network; and
a gateway for obtaining a program registered with the server via the network to transfer the program to the mobile terminal via a wireless communications line;
wherein the gateway is configured to register the program with the server when receiving information from a programmer, that developed the program, that the program has passed a prescribed checking program for registration, wherein the gateway is configured to provide the prescribed checking program,
wherein the gateway is configured to register the program with a registration number and with a public key obtained from a cipher key database when the gateway receives information from the mobile terminal that the program has passed the prescribed checking program,
wherein the cipher key database is configured to generate a pair of a cipher key and the public key upon request to provide the public key to the gateway, and is configured to store the cipher key therein and is configured to transfer the public key to the gateway,
wherein, upon a request provided to the server by the gateway, the server is configured to transfer the program with the public key and the registration number to the gateway, and
wherein the gateway is configured to notify the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 2

A program control system for transferring programs to a mobile terminal, comprising:
a server set up on a network; and
a gateway for obtaining a program registered with the server via the network to transfer the program to the mobile terminal via a wireless communications line,
wherein when receiving information from a programmer that a program has passed a prescribed checking program for registration, the gateway is configured to attach a registration number and a public key obtained from a cipher key database, for identifying the program and for validating the program, to the program and is configured to transfer the program to the server to register the program with the server, and is configured to inform the programmer of the registration number, wherein the gateway is configured to provide the prescribed checking program,
wherein the cipher key database is configured to generate a pair of a cipher key and the public key upon request to provide the public key to the gateway, and is configured to store the cipher key therein and is configured to transfer the public key to the gateway,
wherein, upon a request provided to the server by the gateway, the server is configured to transfer the program with the public key and the registration number to the gateway, and
wherein the gateway is configured to notify the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 3

A program control system for transferring programs to a mobile terminal, comprising:
a server set up on a network; and
a gateway for obtaining a program registered with the server via the network to transfer the program to the mobile terminal via a wireless communications line;
wherein the gateway is configured to attach a registration number and a public key obtained from a cipher key database to the program when a developer of the program certifies that the program has passed a prescribed checking program for use on the mobile terminal, is configured to register the program with the server, and is configured to inform the developer of the program of the registration number, wherein the gateway is configured to provide the prescribed checking program,
wherein the cipher key database is configured to generate a pair of a cipher key and the public key upon request to provide the public key to the gateway, and is configured to store the cipher key therein and is configured to transfer the public key to the gateway,
wherein, upon a request provided to the server by the gateway, the server is configured to transfer the program with the public key and the registration number to the gateway, and
wherein the gateway is configured to notify the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 4 (depends on 2)

The program control system claimed in claim 2 further comprising:
a cipher key database for generating a pair of a public key and a cipher key by request from the gateway, and transferring the public key to the gateway while storing the cipher key; wherein:
the gateway attaches the public key received from the cipher key database to the program, and registers the program with the server.

### Claim 5 (depends on 2)

The program control system claimed in claim 2, wherein:
the gateway carries out data conversion of a document from a first format to a second format different from the first format.

### Claim 6 (depends on 2)

The program control system claimed in claim 2, wherein:
the checking program provided by the gateway to the mobile terminal is constructed to meet specific display constraints of the mobile terminal, wherein the mobile terminal comprises:
a code check for checking codes of the program and data; and
a template check for checking whether the program follows prescribed coding rules appropriate to attributes of the mobile terminal, and
wherein the code check includes at least a grammar check from grammatical errors in the program, a library check for checking if there is a native function call being directly related to an operating system, and a memory access check for checking whether a work area of the program does not exceed an available area in a memory of the mobile terminal.

### Claim 7 (depends on 4)

The program control system claimed in claim 4, wherein:
the gateway accesses the server by request from a mobile terminal for a program, obtains the program with the public key, transfers the public key to the cipher key database to authenticate the public key with reference to the cipher key, and sends the program to the mobile terminal only when the public key is authenticated.

### Claim 8 (depends on 5)

The program control system claimed in claim 5, wherein:
the gateway accesses the server by request from a mobile terminal for a program, obtains the program with the public key, authenticates the public key with reference to the stored cipher key, and sends the program to the mobile terminal only when the public key is authenticated.

### Claim 9 (depends on 6)

The program control system claimed in claim 6, wherein:
the gateway accesses the server by request from a mobile terminal for a program, obtains the program which was enciphered with the public key, decodes the obtained program with the stored cipher key, and sends the program to the mobile terminal.

### Claim 10 (depends on 7)

The program control system claimed in claim 7, wherein:
the cipher key database authenticates the public key received from the gateway with reference to the stored cipher key, and sends back an authentication code that proves the validity of the program to the gateway when the public key is authenticated; and
the gateway sends the program with the authentication code to the mobile terminal.

### Claim 11 (depends on 8)

The program control system claimed in claim 8, wherein:
the gateway attaches an authentication code that proves the validity of the program to the program when the public key is authenticated, and sends the program to the mobile terminal.

### Claim 12

A program control method applied to a system that comprises a server set up on a network, and a gateway for obtaining a program registered with the server via the network to transfer the program to a mobile terminal via a wireless communications line, comprising the step of:
at the gateway, registering the program with the server on receipt of information from a programmer that the program has passed a prescribed checking program for registration which is provided by the gateway,
registering the program with a registration number and a public key obtained from a cipher key database on receipt of the information that the program has passed the prescribed checking program,
generating, by the cipher key database, a pair of a cipher key and the public key upon request to provide the public key to the gateway, and storing the cipher key therein and transferring the public key to the gateway,
transferring, upon a request provided to the server by the gateway, the program with the public key and the registration number to the gateway, and
notifying, by the gateway, the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 13

A program control method applied to a system that comprises a server set up on a network, and a gateway for obtaining a program registered with the server via the network to transfer the program to a mobile terminal via a wireless communications line, comprising the steps of:
at the gateway, on receipt of information from a programmer that a program has passed a prescribed checking program for registration, attaching a registration number and a public key obtained from a cipher key database, for identifying the program and for validating the program, to the program wherein the gateway provides the prescribed checking program;
transferring the program to the server to register the program with the server;
informing the programmer of the registration number attached to the program,
generating, by the cipher key database, a pair of a cipher key and the public key upon request to provide the public key to the gateway, and storing the cipher key therein and transferring the public key to the gateway,
transferring, upon a request provided to the server by the gateway, the program with the public key and the registration number to the gateway, and
notifying, by the gateway, the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 14

A program control method applied to a system that comprises a server set up on a network, and a gateway for obtaining a program registered with the server via the network to transfer the program to a mobile terminal via a wireless communications line, comprising the steps of:
at the gateway, attaching a registration number and a public key obtained from a cipher key database to a program when a developer of the program certifies that the program has passed a prescribed checking program for use with the mobile terminal wherein the gateway provides the prescribed checking program;
registering the program with the server;
informing the developer of the program of the registration number,
generating, by the cipher key database, a pair of a cipher key and the public key upon request to provide the public key to the gateway, and storing the cipher key therein and transferring the public key to the gateway,
transferring, upon a request provided to the server by the gateway, the program with the public key and the registration number to the gateway, and
notifying, by the gateway, the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 15 (depends on 13)

The program control method claimed in claim 13, applied to the system that further comprises a cipher key database, further comprising the steps of:
at the cipher key database, generating a pair of a public key and a cipher key by request from the gateway;
transferring the public key to the gateway while storing the cipher key;
at the gateway, attaching the public key received from the cipher key database to the program; and
registering the program with the server.

### Claim 16 (depends on 13)

The program control method claimed in claim 13, further comprising the steps of:
at the gateway, carrying out data conversion of a document from a first format to a second format different from the first format.

### Claim 17 (depends on 13)

The program control method claimed in claim 13, wherein the checking program provided by the gateway to the mobile terminal is constructed to meet specific display constraints of the mobile terminal, wherein the mobile terminal comprises:
a code check for checking codes of the program and data; and
a template check for checking whether the program follows prescribed coding rules appropriate to attributes of the mobile terminal, and
wherein the code check includes at least a grammar check from grammatical errors in the program, a library check for checking if there is a native function call being directly related to an operating system, and a memory access check for checking whether a work area of the program does not exceed an available area in a memory of the mobile terminal.

### Claim 18 (depends on 15)

The program control method claimed in claim 15, further comprising the steps of:
at the gateway, accessing the server by request from a mobile terminal for a program;
obtaining the program with the public key;
transferring the public key to the cipher key database to authenticate the public key with reference to the cipher key; and
sending the program to the mobile terminal only when the public key is authenticated.

### Claim 19 (depends on 16)

The program control method claimed in claim 16, further comprising the steps of:
at the gateway, accessing the server by request from a mobile terminal for a program;
obtaining the program with the public key, authenticating the public key with reference to the stored cipher key; and
sending the program to the mobile terminal only when the public key is authenticated.

### Claim 20 (depends on 17)

The program control method claimed in claim 17, further comprising the steps of:
at the gateway, accessing the server by request from a mobile terminal for a program;
obtaining the program which was enciphered with the public key;
decoding the obtained program with the stored cipher key; and
sending the program to the mobile terminal.

### Claim 21 (depends on 18)

The program control method claimed in claim 18, further comprising the steps of:
at the cipher key database, authenticating the public key received from the gateway with reference to the stored cipher key;
sending back an authentication code that proves the validity of the program to the gateway when the public key is authenticated; and
at the gateway, sending the program with the authentication code to the mobile terminal.

### Claim 22 (depends on 19)

The program control method claimed in claim 19, further comprising the steps of:
at the gateway, attaching an authentication code that proves the validity of the program to the program when the public key is authenticated; and
sending the program to the mobile terminal.

### Claim 23

A computer readable medium storing an information control program, which is applied to a system that comprises a server set up on a network, and a gateway for obtaining a program registered with the server via the network to transfer the program to a mobile terminal via a wireless communications line, for executing the process of:
at the gateway, registering the program with the server on receipt of information from a programmer that the program has passed a prescribed checking program for registration wherein the gateway provides the prescribed checking program,
registering the program with a registration number and a public key obtained from a cipher key database on receipt of the information that the program has passed the prescribed checking program,
generating, by the cipher key database, a pair of a cipher key and the public key upon request to provide the public key to the gateway, and storing the cipher key therein and transferring the public key to the gateway,
transferring, upon a request provided to the server by the gateway, the program with the public key and the registration number to the gateway, and
notifying, by the gateway, the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 24

A computer readable medium storing an information control program, which is applied to a system that comprises a server set up on a network, and a gateway for obtaining a program registered with the server via the network to transfer the program to a mobile terminal via a wireless communications line, for executing the process of:
at the gateway, on receipt of information from a programmer that a program has passed a prescribed checking program for registration, attaching a registration number and a public key obtained from a cipher key database, for identifying the program and for validating the program, to the program wherein the gateway provides the prescribed checking program;
transferring the program to the server to register the program with the server; and
informing the programmer of the registration number attached to the program,
generating, by the cipher key database, a pair of a cipher key and the public key upon request to provide the public key to the gateway, and storing the cipher key therein and transferring the public key to the gateway,
transferring, upon a request provided to the server by the gateway, the program with the public key and the registration number to the gateway, and
notifying, by the gateway, the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 25

A computer readable medium storing an information control program, which is applied to a system that comprises a server set up on a network, and a gateway for obtaining a program registered with the server via the network to transfer the program to a mobile terminal via a wireless communications line, for executing the process of:
at the gateway, attaching a registration number and a public key obtained from a cipher key database to a program when a developer of the program certifies that the program has passed a prescribed checking program for use with mobile terminal wherein the gateway provides the prescribed checking program;
registering the program with the server; and
informing the developer of the program of the registration number,
generating, by the cipher key database, a pair of a cipher key and the public key upon request to provide the public key to the gateway, and storing the cipher key therein and transferring the public key to the gateway,
transferring, upon a request provided to the server by the gateway, the program with the public key and the registration number to the gateway, and
notifying, by the gateway, the mobile terminal that a program downloading operation is to be suspended until the cipher key database authenticates the public key by use of the companion cipher key stored in the cipher key database to verify whether or not the program is valid.

### Claim 26 (depends on 24)

The computer readable medium claimed in claim 24, applied to the system that further comprises a cipher key database, for further executing the process of:
at the cipher key database, generating a pair of a public key and a cipher key by request from the gateway;
transferring the public key to the gateway while storing the cipher key;
at the gateway, attaching the public key received from the cipher key database to the program; and
registering the program with the server.

### Claim 27 (depends on 24)

The computer readable medium claimed in claim 24, for further executing the process of:
at the gateway, carrying out data conversion of a document from a first format to a second format different from the first format.

### Claim 28 (depends on 24)

The computer readable medium claimed in claim 24, wherein the checking program provided by the gateway to the mobile terminal is constructed to meet specific display constraints of the mobile terminal, wherein the mobile terminal comprises:
a code check for checking codes of the program and data; and
a template check for checking whether the program follows prescribed coding rules appropriate to attributes of the mobile terminal, and
wherein the code check includes at least a grammar check from grammatical errors in the program, a library check for checking if there is a native function call being directly related to an operating system, and a memory access check for checking whether a work area of the program does not exceed an available area in a memory of the mobile terminal.

### Claim 29 (depends on 26)

The computer readable medium claimed in claim 26, for further executing the process of:
at the gateway, accessing the server by request from a mobile terminal for a program;
obtaining the program with a public key;
transferring the public key to the cipher key database to authenticate the public key with reference to the cipher key; and
sending the program to the mobile terminal only when the public key is authenticated.

### Claim 30 (depends on 27)

The computer readable medium claimed in claim 27, for further executing the process of:
at the gateway, accessing the server by request from a mobile terminal for a program;
obtaining the program with a public key;
authenticating the public key with reference to the stored cipher key; and
sending the program to the mobile terminal only when the public key is authenticated.

### Claim 31 (depends on 28)

The computer readable medium claimed in claim 28, for further executing the process of:
at the gateway, accessing the server by request from a mobile terminal for a program;
obtaining the program which was enciphered with the public key;
decoding the obtained program with the stored cipher key; and
sending the program to the mobile terminal.

### Claim 32 (depends on 29)

The computer readable medium claimed in claim 29, for further executing the process of:
at the cipher key database, authenticating the public key received from the gateway with reference to the stored cipher key;
sending back an authentication code that proves the validity of the program to the gateway when the public key is authenticated; and
at the gateway, sending the program with the authentication code to the mobile terminal.

### Claim 33 (depends on 30)

The computer readable medium claimed in claim 30, for further executing the process of:
at the gateway, attaching an authentication code that proves the validity of the program to the program when the public key is authenticated; and
sending the program to the mobile terminal.
