IP Library Granted Patent US 7,290,144
Granted Patent B1
US 7,290,144 · App. 10/177,555 · Granted Oct 30, 2007

Access-control method for software modules and programmable electronic device therefor

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 7,290,144
App. No.
10/177,555
Granted
Oct 30, 2007
Kind
B1
Abstract

A programmable electronic device ( 10 ) stores a number of cipher-text software modules ( 14 ) to which access is granted after evaluating a user's token ( 55, 80, 82 ), a software-restriction class ( 58 ) for a requested software module ( 14 ), and/or a currently active access-control model ( 60 ). Access-control models ( 60 ) span a range from uncontrolled to highly restrictive. Models ( 60 ) become automatically activated and deactivated as users are added to and deleted from the device ( 10 ). A virtual internal user proxy that does not require users to provide tokens ( 80, 82 ) is used to enable access to modules ( 16 ) classified in a global software-restriction class ( 62 ) or when an uncontrolled-access-control model ( 68 ) is active. Both licensed modules ( 76 ) and unlicensed modules ( 18,78 ) may be loaded in the device ( 10 ). However, no keys are provided to enable decryption of unlicensed modules ( 18,78 ).

Claims (37)

1. A method of managing a plurality of software modules used in a programmable electronic device which selectively activates at least a portion of said plurality of software modules by controlling access to said software modules, said method comprising:

a) splitting a cipher-key into a split-key and a token-key wherein said split-key is a genuine split-key for licensed ones of said software modules and said split-key is an artificial split-key for unlicensed ones of said software modules;

b) encrypting each one of an entire set of original, plain-text software modules using said cipher-key to form cipher-text software modules;

c) loading said entire set of cipher-text software modules in said device;

d) delivering said device to a customer;

e) generating later versions of at least some of said original plain-text software modules to form updated plain-text software modules;

f) encrypting said updated plain-text software modules to generate updated cipher-text software modules; and

g) upgrading said device after delivering said device to said customer by providing said entire set of software modules, said entire set including said updated cipher-text software modules.

2. A method as claimed in claim 1 wherein said delivering activity d) comprises providing at least one key configured to decrypt only a subset of said entire set of cipher-text original software modules so that said customer has no key with which to decrypt unlicensed ones of said cipher-text software modules loaded in said device.

3. A method as claimed in claim 2 additionally comprising:

licensing, after said delivering activity, one of said unlicensed cipher-text software modules to said customer to identify a newly-licensed software module; and

providing, after said delivering activity, said customer with a key with which to decrypt said newly-licensed software module.

4. A method as claimed in claim 1 wherein:

said encrypting activity b) uses a first cipher-key; and

said encrypting activity f) uses said first cipher-key.

5. A method as claimed in claim 1 wherein:

said entire set of cipher-text software modules is loaded into each of a plurality of programmable electronic devices; and

for each of said plurality of programmable electronic devices, said splitting activity a) splits said cipher-key into a unique split-key and a unique token-key so that a token-key usable for accessing one of said software modules on one of said a plurality of programmable electronic devices is not usable to access said one of said software modules on another of said plurality of programmable electronic devices.

6. A method as claimed in claim 1 wherein said delivering activity comprises providing at least one key configured to decrypt at least one of said entire set of cipher-text original software modules by saving said split-key in said device.

7. A method as claimed in claim 6 wherein:

said delivering activity additionally comprises saving said token-key in said device; and

said method additionally comprises, after said delivering activity, automatically granting said customer access to at least one of said plain-text software modules by combining said split-key and said token-key to form a regenerated cipher-key and using said regenerated cipher-key to decrypt at least one of said cipher-text software modules.

8. A method as claimed in claim 1 additionally comprising:

classifying, prior to said delivering activity d), said plurality of software modules into software-restriction classes;

activating one of a plurality of access-control models;

receiving, after said delivering activity d), a request to access one of said plurality of software modules;

evaluating said software-restriction class for said one of said plurality of software modules and said one of said plurality of access-control models to determine whether to grant access to said one of said plurality of software modules; and

activating said one of said plurality of software modules when said evaluating activity determines to grant access to said one of said plurality of software modules.

9. A method as claimed in claim 8 wherein said activated one of said plurality of access-control models is a first access-control model, and said method additionally comprises:

deactivating said first access-control model; and

activating a second one of said plurality of access-control models.

10. A method as claimed in claim 8 wherein said plurality of access-control models includes an uncontrolled-access-control model for which no externally-supplied token is required to grant access to at least some of said software modules and a controlled-access-control model for which externally-supplied tokens are required to grant access to at least some of said software modules.

11. A method as claimed in claim 8 wherein said software-restriction classes include a global software-restriction class configured so that no externally-supplied token is required to grant access to said ones of software modules classified in said global software-restriction class regardless of which of said plurality of access-control models has been activated.

12. A method as claimed in claim 8 wherein said plurality of access-control models includes:

an administered-controlled-access-control model configured so that an externally-supplied administrator token is required to grant access to ones of said software modules classified as being in an administration software-restriction class; and

an unadministered-controlled-access-control model configured so that an externally-supplied common token is required to grant access to ones of said software modules classified as being in said administration software-restriction class.

13. A method as claimed in claim 8 wherein said plurality of access-control models further includes an uncontrolled-access-control model for which no externally-supplied token is required to grant access to said software modules classified as being in said administration software-restriction class.

Assignments (4)
MERGER Recorded Jul 6, 2016
From: GENERAL DYNAMICS C4 SYSTEMS, INC.
To: GENERAL DYNAMICS ADVANCED INFORMATION SYSTEMS, INC.
Reel/Frame 039269/0007 →
MERGER Recorded Jul 6, 2016
From: GENERAL DYNAMICS ADVANCED INFORMATION SYSTEMS, INC.
To: GENERAL DYNAMICS MISSION SYSTEMS, INC.
Reel/Frame 039269/0131 →
MERGER Recorded Jun 22, 2016
From: GENERAL DYNAMICS C4 SYSTEMS, INC.
To: GENERAL DYNAMICS ADVANCED INFORMATION SYSTEMS, INC.
Reel/Frame 039117/0063 →
MERGER AND CHANGE OF NAME Recorded Jun 22, 2016
From: GENERAL DYNAMICS MISSION SYSTEMS, LLC; GENERAL DYNAMICS ADVANCED INFORMATION SYSTEMS, INC.
To: GENERAL DYNAMICS MISSION SYSTEMS, INC
Reel/Frame 039117/0839 →