IP Library Granted Patent US 8,539,610
Granted Patent B2
US 8,539,610 · App. 12/915,551 · Granted Sep 17, 2013

Software security

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,539,610
App. No.
12/915,551
Granted
Sep 17, 2013
Kind
B2
Abstract

An apparatus with at least one secure memory area comprising a plurality of pre-installed public keys for verifying software authenticity. The apparatus is caused to receive an indication that a software package signed with a private key according to public key infrastructure has been received; check from the secure memory area, whether a public key associated with the private key with which the software package has been signed, is disabled; and if the public key associated with the private key is disabled, prevent execution of the received software package, and otherwise, proceed to verify authenticity of the received software package using the public key associated with the private key.

Claims (45)

1. An apparatus comprising:

at least one secure memory area comprising a plurality of pre-installed public keys for verifying software authenticity, wherein the plurality of pre-installed public keys have associated public key index numbers, and wherein the secure memory area comprises a current public key index number indicating currently used public key;

at least one processor; and

at least one memory including computer program code, the at least one memory and the computer program code being configured to, with the at least one processor, cause the apparatus at least to:

receive an indication that a software package signed with a private key according to public key infrastructure has been received;

receive a private key index number associated with the received software package;

compare the received private key index number and the stored current public key index number;

if the received private key index number is equal to the current public key index number, proceed to verify authenticity of the received software package using the public key associated with the private key;

if the received private key index number is different from the current public key index number, to check, whether a public key associated with the received private key index number, is disabled; and

if the public key associated with the received private key index number is disabled, prevent execution of the received software package, and otherwise, proceed to verify authenticity of the received software package using the public key associated with the private key.

2. The apparatus of claim 1 , wherein the apparatus is an electronic communication device.

3. The apparatus of claim 1 , wherein the apparatus is an application specific integrated circuit.

4. A method comprising:

maintaining a secure memory area comprising a plurality of pre-installed public keys for verifying software authenticity, wherein the plurality of pre-installed public keys have associated public key index numbers, and wherein the secure memory area comprises a current public key index number indicating currently used public key;

receiving an indication that a software package signed with a private key according to public key infrastructure has been received;

receiving a private key index number associated with the received software package;

comparing the received private key index number and the stored current public key index number;

if the received private key index number is equal to the current public key index number, proceeding to verify authenticity of the received software package using the public key associated with the private key;

if the received private key index number is different from the current public key index number, checking, whether a public key associated with the received private key index number, is disabled; and

if the public key associated with the received private key index number is disabled, preventing execution of the received software package, and otherwise, proceeding to verify authenticity of the received software package using the public key associated with the private key.

5. The method of claim 4 , wherein said secure memory area is an electronic communication device secure memory area.

6. The method of claim 4 , wherein said secure memory area is an application specific integrated circuit secure memory area.

7. An apparatus method comprising:

at least one secure memory area comprising a plurality of pre-installed public keys for verifying software authenticity, wherein the plurality of pre-installed public keys have associated public key index numbers, and wherein the secure memory area comprises a current public key index number indicating currently used public key;

at least one processor; and

at least one memory including computer program code, the at least one memory and the computer program code being configured to, with the at least one processor, cause the apparatus at least to:

receive an indication that a software package signed with a private key according to public key infrastructure has been received;

receive a private key index number associated with the received software package;

compare the received private key index number and the stored current public key index number;

if the received private key index number is equal to the current public key index number, proceed to verify authenticity of the received software package using the public key associated with the private key;

if the received private key index number is smaller than the current public key index number, prevent execution of the received software package, and

if the received private key index number is greater than the current public key index number, proceed to verify authenticity of the received software package using the public key associated with the private key.

8. The apparatus of claim 7 , wherein the apparatus is an electronic communication device.

9. The apparatus of claim 7 , wherein the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to further perform:

store the received private key index number as the current public key index number, if the received private key index number is greater than the current public key index number.

10. The apparatus of claim 7 , wherein the apparatus is an application specific integrated circuit.

11. A computer program embodied on a computer readable medium comprising computer executable program code which, when executed by at least one processor of an apparatus, which comprises at least one secure memory area comprising a plurality of pre-installed public keys for verifying software authenticity wherein the plurality of pre-installed public keys have associated public key index numbers and wherein the secure memory area comprises a current public key index number indicating currently used public key, causes the apparatus to:

receive an indication that a software package signed with a private key according to public key infrastructure has been received;

receive a private key index number associated with the received software package;

compare the received private key index number and the stored current public key index number;

if the received private key index number is equal to the current public key index number, proceed to verify authenticity of the received software package using the public key associated with the private key;

if the received private key index number is different from the current public key index number, to check, whether a public key associated with the received private key index number, is disabled; and

if the public key associated with the received private key index number is disabled, prevent execution of the received software package, and otherwise, proceed to verify authenticity of the received software package using the public key associated with the private key.

12. The computer program embodied on the computer readable medium of claim 11 , wherein the apparatus is an electronic communication device.

13. The computer program embodied on the computer readable medium of claim 11 , wherein the apparatus is an application specific integrated circuit.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035468/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2010
From: LUKKARILA, JARI JUHANI; TAMMINEN, RAUNO JUHANI
To: NOKIA CORPORATION
Reel/Frame 025391/0736 →