Software access through heterogeneous encryption
AssigneeInternational Business Machines Corporation
InventorsMarco Simioni, Stefano Braghin
Life of this patent
Estimating the term…
Abstract
A first copy of a heterogeneous program payload is provided to a first computing device. The heterogeneous program payload contains an unencrypted component and a set of one or more encrypted components. The set of encrypted components corresponding to a set of one or more programs. The unencrypted component of the heterogeneous program payload includes loader program code configured to receive a first license key. The loader program code is configured to, in response to receiving the first license key, perform a decryption action against the set of encrypted components of the heterogeneous program payload.
Claims20
A method comprising:
- generating, from a set of programs and based on a first encryption process with a primary key and with a set of program attributes, a heterogeneous program payload, the heterogeneous program payload containing an unencrypted component and a set of encrypted components, the set of encrypted components corresponding to a set of one or more programs, the unencrypted component of the heterogeneous program payload including loader program code configured to receive a first license key, wherein the set of program attributes correspond to the set of programs, wherein each program attribute of the set of program attributes identifies a corresponding program of the set of programs, the loader program code configured to, in response to receiving the first license key, perform a decryption action against the set of encrypted components of the heterogeneous program payload, the result of the decryption action dependent on encrypted program attributes in the first license key;
- providing, to a first computing device, a first copy of the heterogeneous program payload;
- generating, based on a second encryption process with the primary key and with a first subset of the set of program attributes, the first license key, wherein the first license key contains a first set of one or more encrypted program attributes that correspond to a first subset of the set of encrypted components.
A system, the system comprising:
- a memory, the memory containing one or more instructions;
- and
- a processor, the processor communicatively coupled to the memory, the processor, in response to reading the one or more instructions, configured to:
- generating, from a set of programs and based on a first encryption process with a primary key and with a set of program attributes, a heterogeneous program payload, the heterogeneous program payload containing an unencrypted component and a set of encrypted components, the set of encrypted components corresponding to a set of one or more programs, the unencrypted component of the heterogeneous program payload including loader program code configured to receive a first license key, wherein the set of program attributes correspond to the set of programs, wherein each program attribute of the set of program attributes identifies a corresponding program of the set of programs, the loader program code configured to, in response to receiving the first license key, perform a decryption action against the set of encrypted components of the heterogeneous program payload, the result of the decryption action dependent on encrypted program attributes in the first license key;
- provide, to a first computing device, a first copy of the heterogeneous program payload;
- generating, based on a second encryption process with the primary key and with a first subset of the set of program attributes, the first license key, wherein the first license key contains a first set of one or more encrypted program attributes that correspond to a first subset of the set of encrypted components.
A computer program product, the computer program product comprising:
- one or more computer readable storage media;
- and
- program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by one or more processors to cause the one or more processors to:
- generate, from a set of programs and based on a first encryption process with a primary key and with a set of program attributes, a heterogeneous program payload, the heterogeneous program payload containing an unencrypted component and a set of encrypted components, the set of encrypted components corresponding to a set of one or more programs, the unencrypted component of the heterogeneous program payload including loader program code configured to receive a first license key, wherein the set of program attributes correspond to the set of programs, wherein each program attribute of the set of program attributes identifies a corresponding program of the set of programs, the loader program code configured to, in response to receiving the first license key, perform a decryption action against the set of encrypted components of the heterogeneous program payload, the result of the decryption action dependent on encrypted program attributes in the first license key;
- provide, to a first computing device, a first copy of the heterogeneous program payload;
- generate, based on a second encryption process with the primary key and with a first subset of the set of program attributes, the first license key, wherein the first license key contains a first set of one or more encrypted program attributes that correspond to a first subset of the set of encrypted components.
Dependencies are inferred from the claim text.