The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Aug. 02, 2011
Filed:
Sep. 05, 2007
Axel Aguado Granados, Rochester, MN (US);
Benjamin A. Fox, Rochester, MN (US);
Nathaniel J. Gibbs, Rochester, MN (US);
Jamie R. Kuesel, Rochester, MN (US);
Andrew B. Maki, Rochester, MN (US);
Trevor J. Timpane, Rochester, MN (US);
Axel Aguado Granados, Rochester, MN (US);
Benjamin A. Fox, Rochester, MN (US);
Nathaniel J. Gibbs, Rochester, MN (US);
Jamie R. Kuesel, Rochester, MN (US);
Andrew B. Maki, Rochester, MN (US);
Trevor J. Timpane, Rochester, MN (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
A method, system and computer program product for partitioning the binary image of a software program, and partially removing code bits to create an encrypted software key, to increase software security. The software program's binary image is partitioned along a random segment length or a byte/nibble segment length, and the code bits removed, and stored, along with their positional data in a software key. The software key is encrypted and is separately distributed from the inoperable binary image to the end user. The encrypted key is stored on a secure remote server. When the end user properly authenticates with the developer's remote servers, the encrypted security key is downloaded from the secure remote server and is locally decrypted. The removed code bits are reinserted into the fractioned binary image utilizing the positional location information. The binary image is then operable to complete execution of the software program.