# US 2014/0156742 A1 · System and method for updating software, server and client thereof

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

- Number: US 2014/0156742 A1
- Document ID: US20140156742A1
- Status: Published application
- Kind: A1
- Application number: 14/232,705
- Filed: 2012-06-15
- Published: 2014-06-05
- Earliest claimed: 2011-08-18
- Assignees: Tencent Technology (Shenzhen) Company Limited
- Applicants: Tencent Technology (Shenzhen) Company Limited
- Inventors: Gang Liu; Fuchen Wang
- Web page: https://patentgrep.com/patent/US20140156742A1

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/126: {the source of the received data}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for updating software, a server and a client. The method includes: a client reporting an updating request and initiating an authentication request; the client obtaining first verification content from an updating server according to the authentication request; the updating server comparing the first verification content sent from the client with second verification content which is stored in the updating server, and returning succeed information to the client after a passed authentication; the updating server generating configuration information according to the updating request, and adding a digital signature on the configuration information before sending the configuration information with the digital signature to the client; the client carrying out signature verification on the configuration information, and downloading an updating data package from the updating server after the signature verification is passed. Through the bidirectional identification, the security of the software updating is improved.

## Claims

### Claim 1

A system for updating software comprising:
a client; and
an updating server, wherein
the client is used to report an updating request to the updating server,
the updating server is used to generate configuration information according to the updating request,
the client is further used to initiate an authentication request and to obtain first verification content from the updating server,
the updating server is used to compare the first verification content with second verification content that is stored in the updating server for authentication and to return succeed information to the client when said compare indicates a passed authentication,
the updating server is further used to add a digital signature on the configuration information, and to send the configuration information with the digital signature to the client, and
the client is further used for carrying out signature verification on the configuration information and, if the signature verification is successfully carried out, to download an updating data package from the updating server.

### Claim 2 (depends on 1)

The system for updating software according to claim 1, wherein:
the client is further used to get command scripts from the updating server after the authentication request is initiated, and to execute the command scripts to obtain the first verification content.

### Claim 3 (depends on 1)

The system for updating software according to claim 1, wherein:
the client is further used
to store the returned succeed information,
to not report local information to the updating server for the authentication if the returned succeed information is detected to exist at a start next time,
to report the local information to the updating server if the succeed information is detected not to exist, and
the updating server is used to verify the local information, and to send the configuration information with the added digital signature to the client upon successful verification of the local information.

### Claim 4 (depends on 1)

The system for updating software according to claim 1, wherein the system further comprises:
a statistic server, and
an updating configuration server, wherein
the statistic server is used to receive results for the downloading of the updating data package that is reported by the client, and for to generate statistic data in accordance with the received results, and
the updating configuration server is used to synchronize the statistic data of the statistic server, and to modify a configuration for an amount of updating according to the statistic data.

### Claim 5 (depends on 1)

The system for updating software according to claim 1, wherein:
the updating server adds the digital signature on the configuration information through encryption of the configuration information using a private key, and
the client decrypts the configuration information through a public key before carrying out the signature verification.

### Claim 6

A method for updating software comprising:
reporting, by a client, an updating request;
initiating, by the client, an authentication request;
obtaining, by the client, first verification content from an updating server according to the authentication request;
comparing, by the updating server, the first verification content sent from the client with second verification content which is stored in the updating server;
returning, by the server, succeed information to the client when said comparing indicates a passed authentication;
generating, by the updating server, configuration information according to the updating request;
adding, by the updating server, a digital signature on the configuration information before sending, by the updating server, the configuration information with the added digital signature to the client;
carrying out, by the client, signature verification on the configuration information;
downloading, by the client, an updating data package from the updating server after the signature verification is successfully carried out.

### Claim 7 (depends on 6)

The method for updating software according to claim 6, wherein the method further comprises:
petting, by the client, command scripts from the updating server after the authentication request is initiated; and
executing, by the client, the command scripts to obtain the first verification content.

### Claim 8 (depends on 6)

The method for updating software according to claim 6,
wherein the method further comprises:
storing, by the client, the succeed information; and
at a start next time,
detecting, by the client, whether the succeed information exists,
not reporting, by the client, local information for the authentication if the succeed information exists,
reporting, by the client, the local information to the updating server if the succeed information does not exist,
verifying, by the updating server, the local information, and
sending, by the updating server, the configuration information with added digital signature to the client after the local information is successfully verified by said verifying.

### Claim 9 (depends on 6)

The method for updating software according to claim 6, wherein the method further comprises:
receiving, by a statistic server, results for the downloading of the updating data package that is reported from the client, and generating, by the statistics server, statistic data in accordance with the received results;
synchronizing, by an updating configuration server, the statistic data, and modifying, by the updating configuration server, a configuration for an amount of updating according to the statistic data.

### Claim 10 (depends on 6)

The method for updating software according to claim 6, wherein
said adding adds the digital signature on the configuration information through encryption using a private key; and
before the client carries out the signature verification, the method comprises:
decrypting the configuration information through a public key.

### Claim 11

A server comprising:
a processor; and
a memory storing machine instructions that, when executed by the processor, cause the processor to perform operations comprising:
generating configuration information according to an updating request by a client;
sending to the client first verification content according to an authentication request from the client;
comparing the first verification content with stored second verification content for authentication;
returning succeed information to the client when said comparing indicates a passed authentication;
adding a digital signature on the configuration information;
sending the configuration information with the added digital signature to the client;
providing, after the client successfully carries out signature verification on the configuration information, the client with an updating data package.

### Claim 12 (depends on 11)

The server according to claim 11, wherein the operations further comprise:
verifying local information; and
sending the configuration information with added digital signature to the client after successful verification of the local information.

### Claim 13 (depends on 11)

The server according to claim 11, wherein the operations further comprise:
receiving results for the downloading of the updating data package that is reported by the client;
generating statistic data in accordance with the received results;
synchronizing the statistic data; and
modifying a configuration for an amount of updating according to the statistic data.

### Claim 14 (depends on 11)

The server according to claim 11, wherein said adding adds the digital signature on the configuration information through encryption using a private key.

### Claim 15

A client, comprising:
a processor; and
a memory storing machine instructions that, when executed by the processor, causes the processor to perform operations comprising:
obtaining first verification content from an updating server according to an authentication request initiated by the client;
obtaining succeed information after an authentication through a comparison by the updating server between the first verification content and second verification content stored in the updating server indicates a passed authentication;
obtaining configuration information that the updating server generates and has a digital signature added thereto by the updating server, according to an updating request by the client;
carrying out signature verification on the configuration information; and
downloading an updating data package from the updating server after the signature verification is successfully carried out.

### Claim 16 (depends on 15)

The client according to claim 15, wherein the operations further comprise:
getting command scripts from the updating server after the authentication request is initiated; and
executing the command scripts to obtain the first verification content.

### Claim 17 (depends on 15)

The client according to claim 15, wherein the operations further comprise:
storing succeed information;
at a start next time,
not reporting local information to the updating server for authentication if the succeed information exists, or
reporting the local information to the updating server if the succeed information does not exist.

### Claim 18 (depends on 15)

The client according to claim 15, wherein the operations further comprise:
decrypting the configuration information through a public key before carrying out the signature verification.
