Patent US5933503A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5933503A Expired / Lapsed US ⏱️ 0.0 years remaining

Controlled modular cryptography apparatus and method

Assignee: EMC Corp
•
Filing: 1996-03-15
•
Granted: 1999-08-03
•
Expires: 2016-03-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method provide a controlled, dynamically loaded, modular, cryptographic filler for integration into a base executable having a "slot" minimizing the interface between the filler and the base executable, and between individual component modules in the filler. Cryptographic engines provide for security (privacy and integrity) of data. The base executable having potential cryptographic capability may rely on an integrated loader to control linking of the filler and its modules according to a controlling policy set by export or import laws. A base executable may be a network operating system having a "slot" for dynamically linking the filler and its modules. Modules may be created by a third party vendor within controls enforced by the loader and a management module in the filler. Asymmetric key cryptography may assure that modules have not been modified, functionally extended, or created by unauthorized sources, and may ensure that keys used in the modules come only from authorized sources. The policy may limit each module's function, access, and potential for modification or substitution. The filler and modules, typically representing a relatively small portion of the overall coding required by the base executable, may provide strong controls limiting integration by providing layered access between modules, and excluding direct access to or by them from the base executable or supported applications.

Inventors

  • 👤 Roger R. Schell
  • 👤 Kevin W. Kingdon
  • 👤 Thomas A. Berson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 19:30
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/32; H04L9/3247; H04L9/3263; H04L2209/00; H04L2209/56; H04L2209/60

Claims Analysis

Total Claims: 50
Claim 1
Independent Claim 141 words
An apparatus having modules for executing controlled modular cryptography in a processor of a computer, the apparatus comprising: a base executable programmed to be executable on the processor, and comprising a loader for dynamically loading and linking a filler, comprising modules, into the base executable, the loader linking the modules to one another to operate as an integrated portion of the base executable; an engine module dynamically loadable into the base executable to be executable on the processor to operate, in accordance with a controlling policy, selected cryptographic executables for an application operably associated with the computer; a support module dynamically linkable to interface between the engine module and the base executable; a library module dynamically linkable to interface between the application and the filler; and a manager module dynamically linkable to interface between the engine module and the library module.
Claim 2
Independent Claim 141 words
An apparatus having modules for executing controlled modular cryptography in a processor of a computer, the apparatus comprising: a base executable programmed to be executable on the processor, and comprising a loader for dynamically loading and linking a filler, comprising modules, into the base executable, the loader linking the modules to one another to operate as an integrated portion of the base executable; an engine module dynamically loadable into the base executable to be executable on the processor to operate, in accordance with a controlling policy, selected cryptographic executables for an application operably associated with the computer; a support module dynamically linkable to interface between the engine module and the base executable; a library module dynamically linkable to interface between the application and the filler; and a manager module dynamically linkable to interface between the engine module and the library module.
Claim 3
Dependent Claim 13 words
The apparatus of claim 1, wherein the engine module comprises a null engine.
Claim 4
Dependent Claim 35 words
The apparatus of claim 1 wherein the library module includes an interface to the application, an interface to the manager module, and an interface to the base executable as exclusive interfaces to the library module.
Claim 5
Dependent Claim 36 words
The apparatus of claim 1 wherein the manager module includes an interface to the library module, an interface to the engine module, and an interface to the base executable as exclusive interfaces to the manager module.
Claim 6
Dependent Claim 30 words
The apparatus of claim 1 wherein the engine module includes an interface to the support module and an interface to the manager module as exclusive interfaces to the engine module.
Claim 7
Dependent Claim 30 words
The apparatus of claim 1 wherein the support module includes an interface to the engine module and an interface to the base executable as exclusive interfaces to the support module.
Claim 8
Dependent Claim 21 words
The apparatus of claim 1 wherein the engine module is isolated from directly interfacing with the application and the base executable.
Claim 9
Dependent Claim 34 words
The apparatus of claim 7 wherein the engine module is isolated by the library module from directly interfacing with the application and isolated by the support module from directly interfacing with the base executable.
Claim 10
Dependent Claim 26 words
The apparatus of claim 7 wherein the manager module enforces interface limitations contained in the controlling policy and corresponding to enablement of interfaces between the modules.
Claim 11
Dependent Claim 39 words
The apparatus of claim 9 wherein the manager module enforces outside interface limitations contained in the controlling policy and corresponding to enablement of interfaces between the modules and the base executable and interfaces between the modules and the application.
Claim 12
Dependent Claim 33 words
The apparatus of claim 10 wherein the manager module enforces, upon the engine module, engine limitations contained in the controlling policy and corresponding to enablement of selected cryptographic functions of the engine modules.
Claim 13
Dependent Claim 35 words
The apparatus of claim 11, wherein the manager module is adapted to enforce the engine limitations by verifying a digital signature associated with the engine module and a digital signature associated with the base executable.
Claim 14
Dependent Claim 48 words
The apparatus of claim 1, wherein the manager module is programmed to contain a first policy, the loader is further procrammed to load a second policy, and the manager module is programmed to formulate a composite policy within limits of both the first policy and the second policy.
Claim 15
Dependent Claim 24 words
The apparatus of claim 1, wherein the loader is adapted to enforce loading limitations by verifying a cryptographic filler signature associated with the filler.
Claim 16
Independent Claim 103 words
An apparatus comprising a digital computer having a processor programmed to execute applications and to execute a plurality of executable modules comprising: a base executable loadable into the computer to perform a base function, the base executable module being provided with a slot adapted to receive a filler module; the filler module containing a unique property recognizable by the base executable, and alterable exclusively by an authorized creator of the filler module; a loader module integral to the base executable, programmed to verify the presence of the unique property, and to dynamically load the filler module only if the unique property verifies correctly.
Claim 17
Independent Claim 103 words
An apparatus comprising a digital computer having a processor programmed to execute applications and to execute a plurality of executable modules comprising: a base executable loadable into the computer to perform a base function, the base executable module being provided with a slot adapted to receive a filler module; the filler module containing a unique property recognizable by the base executable, and alterable exclusively by an authorized creator of the filler module; a loader module integral to the base executable, programmed to verify the presence of the unique property, and to dynamically load the filler module only if the unique property verifies correctly.
Claim 18
Dependent Claim 13 words
The apparatus of claim 15, wherein the unique property is a digital signature.
Claim 19
Dependent Claim 80 words
The apparatus of claim 15, wherein the filler module further comprises a plurality of modules and the loader module is programmed to provide linking between the plurality of modules in a layered hierarchy containing levels, and in which a linking of a first module of the plurality of modules at a first level to a second module of the plurality of modules at a second level defines an allowability of an invocation of the second module by the first module.
Claim 20
Dependent Claim 12 words
The apparatus of claim 15, wherein the filler module comprises an engine.
Claim 21
Dependent Claim 23 words
The apparatus of claim 18, further comprising a management module executable by the processor to isolate the engine from access by unauthorized applications.
Claim 22
Dependent Claim 44 words
The apparatus of claim 19 further comprising a library module executable to invoke the management module, and to be invoked by the applications executing in the processor, and, wherein the management module is executable to control access to the engine by the library module.
Claim 23
Dependent Claim 40 words
The apparatus of claim 19, further comprising a policy, and wherein the engine is a cryptographic engine and the management module is programmed to control use of one or more cryptographic keys by the engine, in accordance with the policy.
Claim 24
Dependent Claim 28 words
The apparatus of claim 21 further comprising an engine module containing the engine and policy combined, and in which the unique property is associated with the engine module.
Claim 25
Dependent Claim 12 words
The apparatus of claim 18, wherein the engine is a cryptographic engine.
Claim 26
Dependent Claim 45 words
The apparatus of claim 18, further comprising a support module to interface between the engine and the base executable, and executable to limit access of the engine to the base executable, thereby limiting extension of features of the engine through extension of the base executable.
Claim 27
Dependent Claim 126 words
An article comprising a memory device having blocks for storing executables and data, the article including a first block storing a plurality of executable modules, executable on a processor, the block comprising: a base module loadable into the processor to perform a base function, the base module being provided with a slot adapted to receive a filler module, a loader module integral to the base module, the filler module effective to be executed by a processor, the filler module containing a unique property recognizable by a loader, and unalterable by other than an authorized creator of the filler module, and the loader module programmed to verify the presence of the unique property, and to dynamically load the filler module only if the unique property verifies correctly.
Claim 28
Dependent Claim 126 words
An article comprising a memory device having blocks for storing executables and data, the article including a first block storing a plurality of executable modules, executable on a processor, the block comprising: a base module loadable into the processor to perform a base function, the base module being provided with a slot adapted to receive a filler module, a loader module integral to the base module, the filler module effective to be executed by a processor, the filler module containing a unique property recognizable by a loader, and unalterable by other than an authorized creator of the filler module, and the loader module programmed to verify the presence of the unique property, and to dynamically load the filler module only if the unique property verifies correctly.
Claim 29
Dependent Claim 12 words
The article of claim 25, wherein the filler module comprises an engine.
Claim 30
Dependent Claim 25 words
The article of claim 26, wherein the engine is a null engine effective to support execution of the filler while providing no effective cryptographic functionality.
Claim 31
Dependent Claim 24 words
The article of claim 26 further comprising a manager block storing a management module effective to isolate the engine from access by unauthorized applications.
Claim 32
Dependent Claim 27 words
The article of claim 28 wherein the management module is programmed to provide key management, including key escrow and storage of encrypted backup copies of cryptographic keys.
Claim 33
Dependent Claim 47 words
The article of claim 28, further comprising a library block storing a library module authorized to invoke the management module, and to be invoked by applications operating in the processor, and wherein the management module is effective to control access to the engine by the library module.
Claim 34
Dependent Claim 59 words
The article of claim 28, wherein the engine is a cryptographic engine and the management module is programmed to direct use of a cryptographic key by the engine, the article further comprising a policy block storing a policy effective to provide controlling data useable by the management module to limit the use of the cryptographic key by the engine.
Claim 35
Dependent Claim 20 words
The article of claim 31, wherein the use by the engine comprises construction of the cryptographic key by the engine.
Claim 36
Dependent Claim 33 words
The article of claim 32, wherein the engine and policy are combined in an engine module stored in the memory device, and in which the unique property is associated with the engine module.
Claim 37
Dependent Claim 13 words
The article of claim 25, wherein the unique property is a digital signature.
Claim 38
Dependent Claim 12 words
The article of claim 26, wherein the engine is a cryptographic engine.
Claim 39
Dependent Claim 49 words
The article of claim 26, further comprising a support block storing a support module to interface between the engine and the base executable, and effective to limit access of the engine to the base executable, thereby limiting extension of features of the engine through extension of the base executable.
Claim 40
Dependent Claim 32 words
The article of claim 25, wherein the unique property is a digital signature, and the loader module further comprises a cryptographic block containing a cryptographic key effective to verify the digital signature.
Claim 41
Independent Claim 131 words
A method for limiting integration of software modules into a base module executable on a processor of a computer, the method comprising: providing a base module executable by the processor, the base module having a slot for receiving a filler module, and having an integrally programmed loader to control loading of the filler module; providing a filler module containing an engine effective to be executed by the processor, the filler containing a unique property recognizable by the loader, and unalterable by other than an authorized creator of the filler module; executing the base module by the processor; executing the loader by the processor; verifying by the loader the presence of the unique property in the filler module; loading dynamically the filler module only after the loader verifies the unique property successfully.
Claim 42
Independent Claim 131 words
A method for limiting integration of software modules into a base module executable on a processor of a computer, the method comprising: providing a base module executable by the processor, the base module having a slot for receiving a filler module, and having an integrally programmed loader to control loading of the filler module; providing a filler module containing an engine effective to be executed by the processor, the filler containing a unique property recognizable by the loader, and unalterable by other than an authorized creator of the filler module; executing the base module by the processor; executing the loader by the processor; verifying by the loader the presence of the unique property in the filler module; loading dynamically the filler module only after the loader verifies the unique property successfully.
Claim 43
Dependent Claim 12 words
The method of claim 38, wherein the filler module comprises an engine.
Claim 44
Dependent Claim 30 words
The method of claim 39, further comprising: providing a management module executable by the processor; and executing the management module to isolate the engine from unauthorized access by an application.
Claim 45
Dependent Claim 12 words
The method of claim 39, wherein the engine comprises a cryptographic engine.
Claim 46
Dependent Claim 34 words
The method of claim 38, further comprising: providing a support module; and executing the support module by the processor to limit extension of the engine by isolating the engine from accessing the base executable.
Claim 47
Dependent Claim 31 words
The method of claim 38 further comprising: providing a library module; and executing the library module by the processor to control usage by the application of functions of the management module.
Claim 48
Dependent Claim 52 words
The method of claim 41, further comprising: providing a policy comprising policy data; executing the management module effective to control use of a cryptographic key useable by the engine; and controlling by the management module, in accordance with the policy data, access by the engine to the use of the cryptographic key.
Claim 49
Dependent Claim 13 words
The method of claim 44, wherein the unique property is a digital signature.
Claim 50
Dependent Claim 80 words
The method of claim 38 wherein the filler module comprises a plurality of modules, the method further comprising: linking by the loader, the plurality of modules to one another in a layered hierarchy containing levels and in which a linking of a first module of the plurality of modules at a first level to a second module of the plurality of modules at a second level defines an allowability of an invocation of the second module by the first module.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-02 2003-02-01 2003-08-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-02 2007-02-01 2007-08-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-02 2011-02-01 2011-08-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag