IP Library Granted Patent US 9,256,728
Granted Patent B2
US 9,256,728 · App. 12/323,737 · Granted Feb 9, 2016

Method, apparatus, and computer program product for managing software versions

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 9,256,728
App. No.
12/323,737
Granted
Feb 9, 2016
Kind
B2
Abstract

An apparatus for managing software versions may include a processor. The processor may be configured to determine whether a security identifier of a first security certificate matches a trusted security identifier. In this regard, the first security certificate may include software version criteria. The processor may also be configured to determine whether a software version of a software application satisfies software version criteria of the first security certificate. The processor may be configured to make this determination in response to determining that the security identifier of the first certificate matches the trusted security identifier. Further, the processor may also be configured to permit execution of the software application, in response to determining that the software version satisfies the software version criteria. Associated methods and computer program products may also be provided.

Claims (33)

1. A method comprising:

authenticating a second security certificate by verifying that a device identifier of the second security certificate matches a trusted device identifier, the second security certificate including security certificate version criteria;

in response to the second security certificate being authenticated, determining whether a security certificate version of a first security certificate satisfies the security certificate version criteria of the second security certificate and determining whether a security identifier of the first security certificate matches a trusted security identifier, the first security certificate including software version criteria;

determining whether a software version of a software application satisfies software version criteria of the first security certificate, in response to determining that the security identifier of the first certificate matches the trusted security identifier; and

permitting execution of the software application by a processor, in response to determining that the software version satisfies the software version criteria and in response to determining that the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate.

2. The method of claim 1 , wherein authenticating the second security certificate by verifying that the device identifier of the second security certificate matches the trusted device identifier includes the trusted device identifier being a unique, non-modifiable value.

3. The method of claim 1 , wherein determining whether the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate includes the security certificate version criteria being satisfied by a value associated with predefined device variants.

4. The method of claim 1 further comprising receiving the software application with the first security certificate, the first security certificate being associated with the software application.

5. The method of claim 1 , wherein determining whether the software version of the software application satisfies the software version criteria of the first security certificate includes the software version criteria being satisfied by software applications having a threshold software version or a software version higher than the threshold software version.

6. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

authenticate a second security certificate by verifying that a device identifier of the second security certificate matches a trusted device identifier, the second security certificate including security certificate version criteria;

in response to the second security certificate being authenticated, determine whether a security certificate version of a first security certificate satisfies the security certificate version criteria of the second security certificate and determine whether a security identifier of the first security certificate matches a trusted security identifier, the first security certificate including software version criteria;

determine whether a software version of a software application satisfies software version criteria of the first security certificate, in response to determining that the security identifier of the first certificate matches the trusted security identifier; and

permit execution of the software application, in response to determining that the software version satisfies the software version criteria and in response to determining that the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate.

7. The apparatus of claim 6 , wherein the apparatus caused to authenticate the second security certificate by verifying that the device identifier of the second security certificate matches the trusted device identifier includes being caused to authenticate the second security certificate by verifying that the device identifier of the second security certificate matches the trusted device identifier, the trusted device identifier being a unique, non-modifiable value.

8. The apparatus of claim 6 , wherein the apparatus caused to determine whether the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate includes being caused to determine whether the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate, the security certificate version criteria being satisfied by a value associated with a predefined device variant.

9. The apparatus of claim 6 , wherein the apparatus is further caused to receive the software application with the first security certificate, the first security certificate being associated with the software application.

10. The apparatus of claim 6 further comprising a memory device, the memory device configured to store the second security certificate.

11. The apparatus of claim 6 , wherein the apparatus caused to determine whether the software version of the software application satisfies the software version criteria of the first security certificate includes being caused to determine whether the software version of the software application satisfies the software version criteria of the first security certificate, the software version criteria being satisfied by software applications having a threshold software version or a software version higher than the threshold software version.

12. A computer program product comprising at least one non- transitory computer-readable storage medium having executable computer-readable program code instructions stored therein, the computer-readable program code instructions configured to:

authenticate a second security certificate by verifying that a device identifier of the second security certificate matches a trusted device identifier, the second security certificate including security certificate version criteria;

in response to the second security certificate being authenticated, determine whether a security certificate version of a first security certificate satisfies the security certificate version criteria of the second security certificate and determine whether a security identifier of the first security certificate matches a trusted security identifier, the first security certificate including software version criteria;

determine whether a software version of a software application satisfies software version criteria of the first security certificate, in response to determining that the security identifier of the first certificate matches the trusted security identifier; and

permit execution of the software application, in response to determining that the software version satisfies the software version criteria and in response to determining that the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate.

13. The computer program product of claim 12 , wherein the computer-readable program code instructions configured to authenticate the second security certificate by verifying that the device identifier of the second security certificate matches the trusted device identifier include being configured to authenticate the second security certificate by verifying that the device identifier of the second security certificate matches the trusted device identifier, the trusted device identifier being a unique, non-modifiable value.

14. The computer program product of claim 12 , wherein the computer-readable program code instructions configured to determine whether the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate include being configured to determine whether the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate, the security certificate version criteria being satisfied by a value associated with a predefined device variant.

15. The computer program product of claim 12 , wherein the computer-readable program code instructions are further configured to receive the software application with the first security certificate, the first security certificate being associated with the software application.

16. The computer program product of claim 12 , wherein the computer-readable program code instructions configured to determine whether the software version of the software application satisfies the software version criteria of the first security certificate include being configured to determine whether the software version of the software application satisfies the software version criteria of the first security certificate, the software version criteria being satisfied by software applications having a threshold software version or a software version higher than the threshold software version.

17. An apparatus comprising:

means for authenticating a second security certificate by verifying that a device identifier of a second security certificate matches a trusted device identifier, the second security certificate including security certificate version criteria;

means, in response to the second security certificate being authenticated, for determining whether a security certificate version of a first security certificate satisfies the security certificate version criteria of the second security certificate and determining whether a security identifier of the first security certificate matches a trusted security identifier, the first security certificate including software version criteria;

means for determining whether a software version of a software application satisfies software version criteria of the first security certificate, in response to determining that the security identifier of the first certificate matches the trusted security identifier; and

means for permitting execution of the software application, in response to determining that the software version satisfies the software version criteria and in response to determining that the security certificate version of the first security certificate satisfies the security certificate version criteria of the second security certificate.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035445/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2008
From: TAKALA, JANNE PETTERI; MUUKKA, OLLI PEKKA JUHANI; TAMMINEN, RAUNO JUHANI; JARVINEN, JANNE JOHANNES
To: NOKIA CORPORATION
Reel/Frame 021894/0833 →