# US 7,613,932 B2 · Method and system for controlling access to software features in an electronic device

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

- Number: US 7,613,932 B2
- Document ID: US7613932B2
- Status: Granted
- Kind: B2
- Application number: 10/422,709
- Filed: 2003-04-24
- Published: 2004-10-28
- Granted: 2009-11-03
- Earliest claimed: 2003-04-24
- Assignees: International Business Machines Corporation
- Inventors: Kara L. Nance; J. Douglas Henley
- Web page: https://patentgrep.com/patent/US7613932B2

## CPC

- G06F 21/629: {to features or functions of an application}
- G06F 2221/2153: Using hardware token as a secondary aspect
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and system for controlling access to features on an electronic device, such as a printer, is disclosed. The electronic device is shipped with multiple software features, but one or more of the features may be disabled. According to aspects of the present invention, when a customer subsequently licenses or purchases one of the disabled features, the feature is enabled as follows. A key corresponding to the disabled feature is stored on a portable storage device. When the portable storage device is inserted into the electronic device, the key is customized based on device-specific information of the electronic device, thereby reducing a possibility that the key can be copied and used for enabling the feature on more than one device. The customized key is then used to enable the feature in the electronic device.

## Claims

### Claim 1

A method for controlling access to features on an electronic device, wherein at least one of the features is disabled, the method comprising:
storing a key on a portable storage device corresponding to the at least one of the features disabled on the electronic device;
determining, by the electronic device, whether the key on the portable storage device matches a stored key in the electronic device;
in response to determining that the key on the portable storage device matches the stored key on the electronic device, performing:
customizing, by the electronic device, the stored key based on device-specific information of the electronic device when the portable storage device is coupled to the electronic device; and
storing, by the electronic device, the customized key in the electronic device and on the portable storage device; and
using, by the electronic device, the customized key to enable in the electronic device the at least one of the features that is disabled in response to determining that the customized key stored in the portable storage device coupled to the electronic device matches the customized key stored in the electronic device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
performing a feature enable stage during a boot-up of the electronic device, wherein the electronic device uses the customized key to enable the at least one feature during the feature enable stage.

### Claim 3 (depends on 1)

The method of claim 1, wherein customizing the key further comprises:
hashing the key with a serial number of the electronic device, creating en encrypted key, wherein the customized key comprise the encrypted key.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
storing the key on the portable storage device as a keyword contained in a file on the portable storage device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the portable storage device comprises a compact flash.

### Claim 6 (depends on 1)

The method of claim 1 wherein the electronic device comprises a printer.

### Claim 7 (depends on 1)

The method of claim 1 wherein the at least one of the features disabled is a software feature.

### Claim 8 (depends on 2)

The method of claim 2, wherein the key is customized when the portable storage device is coupled to a resource socket on the electronic device.

### Claim 9 (depends on 2)

The method of claim 2, further comprising:
using personnel authorized by a manufacturer of vendor of the electronic device to customize the key during an initialization stage.

### Claim 10 (depends on 8)

The method of claim 8, wherein the resource socket comprises a first resource socket, further comprising:
enabling a second feature in the electronic device by coupling a second portable storage device that contains a second key corresponding to the second feature to a second resource socket on the electronic device.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
copying the key from the second portable storage device to the first portable storage device; and
encrypting the second key.

### Claim 12

A computer-readable medium containing program instructions executed in an electronic device for controlling access to features in the electronic device, wherein the electronic device is configured to couple to a portable storage device, wherein the program instructions are executed to perform operations, the operations comprising:
determining whether a key on the portable storage device corresponding to at least one of the features disabled on the electronic device matches a stored key in the electronic device;
in response to determining that the key on the portable storage device matches the stored key on the electronic device, performing:
customizing the stored key based on device-specific information of the electronic device when the portable storage device is coupled to the electronic device; and
storing the customized key in the electronic device and on the portable storage device; and
using the customized key to enable in the electronic device the at least one of the features that is disabled in response to determining that the customized key stored in the portable storage device coupled to the electronic device matches the customized key stored in the electronic device.

### Claim 13 (depends on 12)

The computer-readable medium of claim 12, wherein the operations further comprise:
performing a feature enable stage during a boot-up of the electronic device, wherein the electronic device uses the customized key to enable the at least one feature during the feature enable stage.

### Claim 14 (depends on 13)

The computer-readable medium of claim 13, wherein the key is customized when the portable storage device is coupled to a resource socket on the electronic device.

### Claim 15 (depends on 13)

The computer-readable medium of claim 13, wherein the operations further comprise:
using personnel authorized by a manufacturer or vendor of the electronic device to customize the key during an initialization stage.

### Claim 16 (depends on 12)

The computer-readable medium of claim 12, wherein customizing the key further comprises:
hashing the key with a serial number of the electronic device, creating an encrypted key, wherein the customized key comprises the encrypted key.

### Claim 17 (depends on 14)

The computer-readable medium of claim 14, wherein the resource socket comprises a first resource socket, wherein the operations further comprise:
enabling a second feature in the electronic device by coupling a second portable storage device that contains a second key corresponding to the second feature to a second resource socket on the electronic device.

### Claim 18 (depends on 17)

The computer-readable medium of claim 17, wherein the operations further comprise:
copying the key from the second portable storage device to the first portable storage device; and
encrypting the second key.

### Claim 19 (depends on 12)

The computer-readable medium of claim 12, wherein the operations further comprise:
storing the key on the portable storage device as a keyword contained in a file on the portable storage device.

### Claim 20 (depends on 12)

The computer-readable medium of claim 12, wherein the portable storage device comprises a compact flash.

### Claim 21 (depends on 12)

The computer-readable medium of claim 12 wherein the electronic device comprises a printer.

### Claim 22 (depends on 12)

The computer-readable medium of claim 12 wherein the at least one of the features disabled is a software feature.

### Claim 23

A system for controlling access to features and coupling to a portable storage device, the system comprising:
an electronic device comprising,
multiple preloaded software features;
a resource socket to couple to the portable storage device; and
an embedded controller for controlling access to the software features, wherein at least one of the features is disabled, and wherein the embedded control performs operations, the operations comprising:
determining whether a key, corresponding to the at least one of the features disabled on the electronic device, on the portable storage device coupled to the resource socket matches a stored key in the electronic device;
in response to determining that the key on the portable storage device matches the stored key on the electronic device, performing:
customizing the stored key based on device-specific information of the electronic device when the portable storage device is coupled to the electronic device; and
storing the customized key in the electronic device and on the portable storage device; and
using the customized key to enable in the electronic device the at least one of the features that is disabled in response to determining that the customized key stored in the portable storage device coupled to the electronic device matches the customized key stored in the electronic device.

### Claim 24 (depends on 23)

The system of claim 23, wherein the operations further comprise:
performing a feature enable stage during a boot-up of the electronic device, wherein the electronic device uses the customized key to enable the at least one feature during the feature enable stage.

### Claim 25 (depends on 24)

The system of claim 24, wherein the key is customized when the portable storage device is coupled to a resource socket on the electronic device.

### Claim 26 (depends on 24)

The system of claim 24, wherein the operations further comprise:
using personnel authorized by a manufacturer or vendor of the electronic device to customize the key during an initialization stage.

### Claim 27 (depends on 23)

The system of claim 23, wherein customizing the key further comprises:
hashing the key with a serial number of the electronic device, creating an encrypted key, wherein the customized key comprises the encrypted key.

### Claim 28 (depends on 25)

The system of claim 25, wherein the resource socket comprises a first resource socket, wherein the operations further comprise:
enabling a second feature in the electronic device by coupling a second portable storage device that contains a second key corresponding to the second feature to a second resource socket on the electronic device.

### Claim 29 (depends on 28)

The system of claim 28, wherein the operations further comprise:
copying the key from the second portable storage device to the first portable storage device; and
encrypting the second key.

### Claim 30 (depends on 23)

The system of claim 23, wherein the operations further comprise:
storing the key on the portable storage device as a keyword contained in a file on the portable storage device.

### Claim 31 (depends on 23)

The system of claim 23, wherein the portable storage device comprises a compact flash.

### Claim 32 (depends on 23)

The system of claim 23 wherein the electronic device comprises a printer.

### Claim 33 (depends on 23)

The system of claim 23 wherein the at least one of the features disabled is a software feature.
