Patents Assigned to Cloakware Corporation
  • Patent number: 7809135
    Abstract: Methods and systems related to increasing the cryptographic security of keys used by software with cryptographic functions. This is done by increasing the mathematical complexity of the software. The components and functions used by the software are first determined and, using these components, functions, and the data exchanged between them, the software is made more resistant to analysis. The methods used in increasing analytical resistance are grouped into 3 general types: adjusting the information exchanged between the components, replacing some components with different but related components, and adjusting the data flow between the components.
    Type: Grant
    Filed: December 27, 2004
    Date of Patent: October 5, 2010
    Assignee: Cloakware Corporation
    Inventors: Harold J. Johnson, Philip A. Eisen
  • Patent number: 7797549
    Abstract: There is a need in the computer software and data industries to protect content from unauthorized access to private information. Alphanumeric passwords have been shown to offer very weak protection. Biometrics (personal traits such as fingerprints and hand-written signatures) offer superior protection, but still have a number of weaknesses. The most significant weakness is that there is no existing way to protect the stored biometric data itself; and once a person's fingerprint data has been obtained by an attacker, the use of that fingerprint can no longer be considered secure. The invention solves the problem by securing the access software application that manages the biometric data using tamper-resistant encoding techniques. These tamper-resistant encoding techniques include: data-flow, control-flow, mass-data and white-box encoding.
    Type: Grant
    Filed: December 24, 2003
    Date of Patent: September 14, 2010
    Assignee: Cloakware Corporation
    Inventors: Alec Main, Harold J. Johnson
  • Patent number: 7730322
    Abstract: The present invention relates generally to computer software, and more specifically, to a system and method of foiling buffer-overflow and alien-code attacks. The invention protects computers from such attacks by encoding data placed in storage, and varying the encodings used in different storage areas. When the data is needed by a software application, the data is simply decoded in a complementary manner. This prevents storage areas written according to one usage from being used effectively for some other purpose. The method of the invention can be done in a number of ways. For example, a “protector” engine can be placed between a software application and memory, or the function calls in the software application itself, could be amended to include encoding and decoding. Other embodiments and alternatives are also described.
    Type: Grant
    Filed: February 14, 2003
    Date of Patent: June 1, 2010
    Assignee: Cloakware Corporation
    Inventors: Harold J. Johnson, Stanley T. Chow, Alexander Main
  • Patent number: 7506177
    Abstract: The present invention relates generally to computer software, and more specifically, to a method and system of making computer software resistant to tampering and reverse-engineering. Tampering refers to changing computer software in a manner that is against the wishes of the original author, and is distinct from obscurity techniques which do not change the underlieing data or control flow of a program. Broadly speaking, the method of the invention is to analyse the effectiveness of various encoding techniques by measuring the number of possible decodings corresponding to a given encoded world. This analysis gave rise to a number of new data flow encoding techniques including alternative mixed encoding (a combination of linear and residue number encoding), and multinomial encoding.
    Type: Grant
    Filed: May 24, 2002
    Date of Patent: March 17, 2009
    Assignee: Cloakware Corporation
    Inventors: Stanley T. Chow, Harold J. Johnson, Alexander Shokurov
  • Patent number: 7464269
    Abstract: A great deal of intellectual property is currently handled digitally, in the from of audible, visual, or audio-visual files or data streams. With today's powerful electronic equipment and communication networks such as the internet, this digital content can be reproduced flawlessly and distributed without control. While attemps have been made to protect such digital content, none of the existing protection techniques have been successful. The invention provides a system and method of protecting digital content by integrating the digital content with an executable software package such as a digital media player, executing some sort of protection mechanism (such as password, watermark or encryption protection), and then encoding the software into a tamper-resistant form. In this way, the digital content can be used by initiating the executable software it was encoded with, but the content itself cannot be accessed, nor can the protection mechanism be cracked.
    Type: Grant
    Filed: July 26, 2002
    Date of Patent: December 9, 2008
    Assignee: Cloakware Corporation
    Inventors: Harold J. Johnson, Stanley T. Chow
  • Patent number: 7397916
    Abstract: Existing encryption systems are designed to protect secret keys or other data under a “black box attack,” where the attacker may examine the algorithm, and various inputs and outputs, but has no visibility into the execution of the algotitm itself. However, it has been shown that the black box model is generally unrealistic, and that attack efficiency rises dramatically if the attacker can observe even minor aspects of the algorithm's execution. The invention protects software from a “white-box attack”, where the attacker has total visibility into software implementation and execution. In general, this is done by encoding the software and widely diffusing sites of information transfer and/or combination and/or loss. Other embodiments of the invention include: the introduction of lossy subcomponents, processing inputs and outputs with random cryptographic functions, and representing algorithmic steps or components as tables, which permits encoding to be represented with arbitrary nonlinear bijections.
    Type: Grant
    Filed: December 10, 2001
    Date of Patent: July 8, 2008
    Assignee: Cloakware Corporation
    Inventors: Harold J. Johnson, Stanley T. Chow, Philip A. Eisen
  • Patent number: 7395433
    Abstract: Digital marks (so-called fingerprints and watermarks) serve two basic purposes: (1) Investigative: the owner reads a fingerprint to determine how the marked entity leaked; and (2) Legal: the owner must prove in court that (a) there is a watermark (a concealed copyright message), and (b) it is the owner's. The main difficulty of item (2) is that the first use of the watermark software reveals the watermarking method to the public so that hostile parties are equipped to remove or damage its watermarks. The invention uses tamper-resistant software encoding techniques to protect the digital mark extractor algorithm, frustrating the attacks of hostile parties in two ways: the resulting code is obscure (that is, its inner workings are incomprehensible; and chaotic (that is, a modification at any point will almost certainly produce a nonsense program.
    Type: Grant
    Filed: June 10, 2002
    Date of Patent: July 1, 2008
    Assignee: Cloakware Corporation
    Inventors: Stanley T. Chow, Harold J. Johnson
  • Patent number: 7350085
    Abstract: Mass data (the contents of arrays, large data structures, linked data structures and similar data structures stored in memory) are common targets for attack. The invention presents a method and system of protecting mass data by mapping virtual addresses onto randomly or pseudo-randomly selected actual addresses. This mapping distributes data values throughout the memory so an attacker cannot locate the data he is seeking, or identify patterns which might allow him to obtain information about his target (such as how the software operates, encryption keys, biometric data or passwords stored therein, or algorithms it uses). Additional layers of protection are described, as well as efficient techniques for generating the necessary transforms to perform the invention.
    Type: Grant
    Filed: April 12, 2001
    Date of Patent: March 25, 2008
    Assignee: Cloakware Corporation
    Inventors: Harold J. Johnson, Stanley T. Chow, Yuan X. Gu
  • Patent number: 7325141
    Abstract: If a user loses his password or pass phrase required for a computer or communication system, he must have some way of obtaining a new one. Typically, new passwords are provided to users manually, by another human, an approach that is expensive and insecure. The invention provides an automated solution which allows recovery of secure access. The invention does this by complementary encryption of the user's pass phrase and responses to personal questions, the reference responses being encrypted with the pass phrase and the pass phrase being encrypted with the reference responses. When a user loses his pass phrase, he can provide answers to the personal questions and the system will recover both the reference responses and the pass phrase, so the account can be re-initialized by entering a new pass phrase. The invention also allows “approximate matching”, so biometric data can be used for identification.
    Type: Grant
    Filed: April 5, 2001
    Date of Patent: January 29, 2008
    Assignee: Cloakware Corporation
    Inventors: Stanley T. Chow, Harold J. Johnson, Yuan Gu
  • Patent number: 6842862
    Abstract: The present invention relates generally to computer software, and more specifically, to a method and system of making computer software resistant to tampering and reverse-engineering. “Tampering” occurs when an attacker makes unauthorized changes to a computer software program such as overcoming password access, copy protection or timeout algorithms. Broadly speaking, the method of the invention is to increase the tamper-resistance and obscurity of computer software code by transforming the data flow of the computer software so that the observable operation is dissociated from the intent of the original software code. This way, the attacker can not understand and decode the data flow by observing the execution of the code. A number of techniques for performing the invention are given, including encoding software arguments using polynomials, prime number residues, converting variables to new sets of boolean variables, and defining variables on a new n-dimensional vector space.
    Type: Grant
    Filed: January 10, 2003
    Date of Patent: January 11, 2005
    Assignee: Cloakware Corporation
    Inventors: Stanley T. Chow, Harold J. Johnson, Yuan Gu
  • Patent number: 6779114
    Abstract: The present invention relates to a method and system of making computer software resistant to tampering and reverse-engineering. “Tampering” refers to making unauthorized changes to software, such as bypassing password checks, which are of benefit to the tamperer or of detriment to the provider or vendor of the software. Thus, tampering does not denote arbitrary destructive changes, such as causing the software to fail completely. Broadly speaking, the method of the invention is to increase the tamper-resistance and obscurity of software so that the observable operation of the transformed software is dissociated from the intent of the original code, and so that the functionality of the software is extremely fragile when modified: any modification will, with high probability, produce persistently nonsensical behaviour. These effects are achieved by converting the control-flow of the software into data-driven form, and increasing the complexity of the control-flow by orders of magnitude.
    Type: Grant
    Filed: August 19, 1999
    Date of Patent: August 17, 2004
    Assignee: Cloakware Corporation
    Inventors: Stanley T. Chow, Harold J. Johnson, Yuan Gu
  • Patent number: 6594761
    Abstract: The present invention relates generally to computer software, and more specifically, to a method and system of making computer software resistant to tampering and reverse-engineering. “Tampering ” occurs when an attacker makes unauthorized changes to a computer software program such as overcoming password access, copy protection or timeout algorithms. Broadly speaking, the method of the invention is to increase the tamper-resistance and obscurity of computer software code by transforming the data flow of the computer software so that the observable operation is dissociated from the intent of the original software code. This way, the attacker can not understand and decode the data flow by observing the execution of the code. A number of techniques for performing the invention are given, including encoding software arguments using polynomials, prime number residues, converting variables to new sets of boolean variables, and defining variables on a new n-dimensional vector space.
    Type: Grant
    Filed: June 9, 1999
    Date of Patent: July 15, 2003
    Assignee: Cloakware Corporation
    Inventors: Stanley T. Chow, Harold J. Johnson, Yuan Gu