# US 10,873,466 B2 · System and method for managing installation of an application package requiring high-risk permission access

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

- Number: US 10,873,466 B2
- Document ID: US10873466B2
- Status: Granted
- Kind: B2
- Application number: 15/964,038
- Filed: 2018-04-26
- Published: 2018-08-30
- Granted: 2020-12-22
- Earliest claimed: 2015-11-06
- Assignees: Huawei International Pte. Ltd.
- Applicants: Huawei International Pte. Ltd.
- Inventors: Yongzheng Wu; Xuejun Wen
- Web page: https://patentgrep.com/patent/US10873466B2

## CPC

- H04L 9/3247: {involving digital signatures}
- G06F 21/51: at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
- G06F 21/629: {to features or functions of an application}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3268: {using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]}
- H04W 12/08: Access security
- H04W 12/35: {Protecting application or service provisioning, e.g. securing SIM application provisioning}
- G06F 8/61: Installation
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04W 12/069: using certificates or pre-shared keys
- H04W 12/106: Packet or message integrity
- H04W 12/108: Source integrity
- H04W 12/67: Risk-dependent, e.g. selecting a security level depending on risk profiles
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

This application discloses a mobile device and method for managing installation of an application package (APK) in the mobile device. The device receives an installation request for installing the APK. The device retrieves a permission certificate for the APK according to the installation request. The permission certificate includes a cryptographic signature. The device determines validity of the permission certificate by verifying the cryptographic signature included in the permission certificate using a permission certification public key provided by a manufacturer of the device. The permission certification public key is stored in the device. The installation of the APK in the device is allowed when the permission certificate is determined to be valid. Using the method, the APK requires the device to grant specific high-risk permissions to the application upon installation.

## Claims

### Claim 1

A method for managing an installation of an application package (APK) in a mobile device, comprising:
receiving, by the device, an installation request for installing the APK in the device;
retrieving, by the device, a permission certificate for the APK according to the installation request, wherein the permission certificate for the APK comprises a cryptographic signature;
verifying, by the device, the cryptographic signature using a permission certification public key of a manufacturer of the device to determine validity of the permission certificate, wherein the permission certification public key is stored in the device, and wherein a valid permission certificate indicates that the manufacturer of the device permits the installation of the APK in the device; and
allowing the installation of the APK in the device when the permission certificate is determined to be valid;
wherein verifying the cryptographic signature to determine the validity of the permission certificate comprises:
computing a cryptographic hash of the APK using a cryptographic hash function; and
comparing the computed cryptographic hash of the APK with a cryptographic hash of the APK stored in the permission certificate.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
before allowing the installation of the APK in the device when the permission certificate is determined to be valid, determining, by the device, whether a permission request contained in the installation request corresponds to a permission granted in the permission certificate for the APK; and
validating, by the device, the permission certificate when it is determined that the permission request contained in the installation request corresponds to the permission granted in the permission certificate.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the cryptographic signature is generated at a server associated with the manufacturer of the device when a permission certification private key of the manufacturer of the device is used to cryptographically sign the permission certificate for the APK.

### Claim 4 (depends on 3)

The method according to claim 3 wherein the cryptographically signed permission certificate for the APK comprises:
a development public key of the APK, a name of the APK, permission or permissions granted to the APK, and a validity period of the permission certificate.

### Claim 5 (depends on 3)

The method according to claim 3, wherein the permission certificate for the APK is cryptographically signed after the server receives a pre-release APK that contains a development permission certificate that has been cryptographically signed using the permission certification private key of the manufacturer of the device, and wherein the development permission certificate allows the pre-release APK to be installed in a predetermined development device.

### Claim 6 (depends on 1)

The method according to claim 1, wherein retrieving the permission certificate for the APK comprises de-embedding the permission certificate from the APK.

### Claim 7 (depends on 1)

The method according to claim 1, wherein retrieving the permission certificate for the APK comprises downloading the permission certificate from a server to the device.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the APK is an Android™ application package.

### Claim 9

A mobile device, comprising:
a processing unit, and
a non-transitory medium storing instructions readable by the processing unit; wherein the instructions, when executed by the processing unit, cause the device to:
receive an installation request for installing an application package (APK) in the device;
retrieve a permission certificate for the APK according to the installation request, wherein the permission certificate for the APK comprises a cryptographic signature;
verify the cryptographic signature using a permission certification public key of the manufacturer of the device to determine validity of the permission certificate, wherein the permission certification public key is stored in the device, and wherein a valid permission certificate indicates that the manufacturer of the device permits the installation of the APK in the device; and
allow the installation of the APK in the device when the permission certificate is determined to be valid;
wherein in verifying the cryptographic signature to determine the validity of the permission certificate, the instructions cause the device to:
compute a cryptographic hash of the APK using a cryptographic hash function; and
compare the computed cryptographic hash of the APK with a cryptographic hash of the APK stored in the permission certificate.

### Claim 10 (depends on 9)

The mobile device according to claim 9, wherein the instructions, when executed by the processing unit, further cause the device to:
before allowing the installation of the APK in the device when the permission certificate is determined to be valid, determine whether a permission request contained in the installation request corresponds to a permission granted in the permission certificate for the APK; and
validate the permission certificate when it is determined that the permission request contained in the installation request corresponds to the permission granted in the permission certificate.

### Claim 11 (depends on 9)

The mobile device according to claim 9, wherein the cryptographic signature included in the permission certificate is generated at a server associated with the manufacturer of the device when a permission certification private key of the manufacturer of the device is used to cryptographically sign the permission certificate for the APK.

### Claim 12 (depends on 11)

The mobile device according to claim 11, wherein the cryptographically signed permission certificate for the APK comprises:
a development public key of the APK, a name of the APK, permission or permissions granted to the APK, and a validity period of the permission certificate.

### Claim 13 (depends on 11)

The mobile device according to claim 11, wherein the permission certificate for the APK is cryptographically signed after the server receives a pre-release APK that contains a development permission certificate that has been cryptographically signed using the permission certification private key of the manufacturer of the device, and wherein the development permission certificate allows the pre-release APK to be installed in a predetermined development device.

### Claim 14 (depends on 9)

The mobile device according to claim 9, wherein the instructions to retrieve the permission certificate for the APK comprises instructions to de-embed the permission certificate from the APK.

### Claim 15 (depends on 9)

The mobile device according to claim 9, wherein the instructions to retrieve the permission certificate for the APK comprises instructions to download the permission certificate from a remote server to the device.

### Claim 16 (depends on 9)

The mobile device according to claim 9, wherein the APK is an Android™ application package.
