Patents by Inventor Mariusz H. Jakubowski

Mariusz H. Jakubowski has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20130160133
    Abstract: The subject disclosure is directed towards partitioning a code base of a program into a trusted portion and an untrusted portion. After identifying sensitive data within the code base using annotation information, one or more program elements that correspond to the sensitive data are automatically transformed into secure program elements that can be retained in the untrusted portion of the code base. Cryptographic techniques are used to minimize a potential size of the trusted portion of the code base. Source files for the trusted portion and the untrusted portion are generated.
    Type: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Athanasios Avgerinos, Mariusz H. Jakubowski, Marcus Peinado
  • Patent number: 8417968
    Abstract: A secure repository individualized for a hardware environment and a method and system for providing the same. The secure repository includes a hidden cryptographic key and code that applies the key without requiring access to a copy of the key. The code that implements the secure repository is generated in a manner that is at least partly based on a hardware ID associated with the hardware environment in which the secure repository is to be installed, and may also be based on a random number. Cryptographic functions implemented by the secure repository include decryption of encrypted information and validation of cryptographically signed information. The secure repository may be coupled to an application program, which uses cryptographic services provided by the secure repository, by way of a decoupling interface that provides a common communication and authentication interface for diverse types of secure repositories.
    Type: Grant
    Filed: June 6, 2011
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
  • Publication number: 20130067238
    Abstract: A security technique to reduce the risk of unauthorized release of a software object. The technique allows identification of an individual responsible for the unauthorized release by marking each object with information, which acts as a fingerprint from which a person manipulating the object in a development environment can be identified. The development environment may be configured to quickly and automatically mark the object whenever a manipulation that may precede an unauthorized release occurs. To prevent circumventing the security technique, the object may be configured to enforce a requirement for a valid fingerprint such that the object is disabled if the fingerprint is removed or altered. Despite the marking, personally identifiable information is not revealed because the fingerprint is generated through a one-way cryptographic function performed on identifying information.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Jeffrey M. Homme, Mariusz H. Jakubowski, Jeremy S. Russell, Scott A. Kupec, Dragos C. Sambotin
  • Patent number: 8176473
    Abstract: Methods and systems for software obfuscation are disclosed. In one exemplary embodiment, the obfuscation includes integrating the checker code with product code to form integrated code. The product code includes a first portion that provides desired functionalities to a software product, while the checker code includes a second portion that protects the product code from unlicensed use. A generated pseudorandom value is used to select one or more instruction sequences of the integrated code. Following the selection, the instruction sequences may be replaced with equivalent instruction sequences to form a new integrated code. Alternatively, the original integrated code is transformed into new integrated code when the selected instruction sequences are optimized. Additionally, the new integrated code may be compared to the original integrated code by generating output states from each integrated code.
    Type: Grant
    Filed: May 14, 2007
    Date of Patent: May 8, 2012
    Assignee: Microsoft Corporation
    Inventors: Matthias Jacob, Mariusz H. Jakubowski
  • Publication number: 20110239005
    Abstract: A secure repository individualized for a hardware environment and a method and system for providing the same. The secure repository includes a hidden cryptographic key and code that applies the key without requiring access to a copy of the key. The code that implements the secure repository is generated in a manner that is at least partly based on a hardware ID associated with the hardware environment in which the secure repository is to be installed, and may also be based on a random number. Cryptographic functions implemented by the secure repository include decryption of encrypted information and validation of cryptographically signed information. The secure repository may be coupled to an application program, which uses cryptographic services provided by the secure repository, by way of a decoupling interface that provides a common communication and authentication interface for diverse types of secure repositories.
    Type: Application
    Filed: June 6, 2011
    Publication date: September 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
  • Patent number: 7958373
    Abstract: A secure repository individualized for a hardware environment and a method and system for providing the same. The secure repository includes a hidden cryptographic key and code that applies the key without requiring access to a copy of the key. The code that implements the secure repository is generated in a manner that is at least partly based on a hardware ID associated with the hardware environment in which the secure repository is to be installed, and may also be based on a random number. Cryptographic functions implemented by the secure repository include decryption of encrypted information and validation of cryptographically signed information. The secure repository may be coupled to an application program, which uses cryptographic services provided by the secure repository, by way of a decoupling interface that provides a common communication and authentication interface for diverse types of secure repositories.
    Type: Grant
    Filed: May 14, 2009
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
  • Patent number: 7957532
    Abstract: A network-based data protection scheme for a mobile device utilizes encryption techniques and a remote key server that stores encryption keys on behalf of the mobile device. The mobile device stores encrypted data, preferably having no unencrypted counterpart stored therewith. On an as-needed basis, the mobile device requests a decryption key (or an encrypted version of a decryption key) from the key server, where the decryption key can be used by the mobile device to decrypt the encrypted information. The key server transmits the decryption key to the mobile device after authenticating the user of the mobile device.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Yuqun Chen, Zicheng Liu, Mariusz H. Jakubowski, Yacov Yacobi
  • Patent number: 7769165
    Abstract: A computer-implemented system and method for configuring and operating a white-box cipher is disclosed. In one implementation, the system employs a method for configuring pseudorandom data derived from a key to perform key-scheduling functionality associated with rounds of the cipher. Additionally, the system employs a method for generating white-box executable code, wherein the code hides the pseudorandom data by incorporating it into mathematical operations performed during execution of the rounds. Accordingly, the cipher is suited for white-box applications managing digital rights, such as decoding audio, video and other content.
    Type: Grant
    Filed: October 14, 2005
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Mariusz H. Jakubowski, Ramarathnam Venkatesan, Gideon A. Yuval, Yacov Yacobi, Matthew Cary
  • Publication number: 20100107245
    Abstract: Tamper-tolerant programs enable correct and continued execution despite attacks. Programs can be transformed into tamper-tolerant versions that correct effects of tampering in response to detection thereof Tamper-tolerant programs can execute alone or in conjunction with tamper resistance/prevention mechanisms such as obfuscation and encryption/decryption, among other things. In fact, the same and/or similar mechanisms can be employed to protect tamper tolerance functionality.
    Type: Application
    Filed: October 29, 2008
    Publication date: April 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Mariusz H. Jakubowski, Chit Wei Saw, Ramarathnam Venkatesan
  • Publication number: 20100106920
    Abstract: Programs running on an open architecture, such as a personal computer, are vulnerable to inspection and modification. This is a concern as the program may include or provide access to valuable information. As a defense, the actual location of data can be hidden throughout execution of the program by way of periodic location reordering and pointer scrambling, among other things. These techniques serve to complicate static data flow analysis and dynamic data tracking thereby at least deterring program tampering.
    Type: Application
    Filed: October 29, 2008
    Publication date: April 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Bertrand Raphael Anckaert, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Chit Wei Saw
  • Patent number: 7664937
    Abstract: Apparatus and methods for implementing software protection using code overlapping are disclosed. In one implementation, a combination block comprising a first sub-block of instructions with one or more interspersed obfuscation instructions is received. The obfuscation instructions interspersed among sequentially executable instructions of the first sub-block of instructions can include instructions from other sub-blocks as well as control instructions configured to guide a processor to execute all of the instructions in first sub-block of instructions in sequence. The obfuscation instructions are replaced with one or more replacement instructions. The replacement instructions can be of a same bit-length as the replaced obfuscation instructions. Moreover, the replacement instructions can include integrity checks configured to check for tampering with instructions and/or runtime program state in the first sub-block and/or the combination block.
    Type: Grant
    Filed: March 1, 2007
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Matthias Jacob, Mariusz H. Jakubowski
  • Patent number: 7644440
    Abstract: An implementation of a technology, described herein, for facilitating the protection of computer-executable instructions, such as software. At least one implementation, described herein, may generate integrity signatures of one or more program modules—which are sets of computer-executable instructions—based upon a trace of activity during execution of such modules and/or near-replicas of such modules. With at least one implementation, described herein, the execution context of an execution instance of a program module is considered when generating the integrity signatures. With at least one implementation, described herein, a determination may be made about whether a module is unaltered by comparing integrity signatures. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Saurabh Sinha, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Yuqun Chen, Matthew Cary, Ruoming Pang
  • Patent number: 7636849
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: December 22, 2009
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7634660
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good. This technology finds the proper balance between minimizing the probability of false alarms (i.e., detecting a non-existent watermark) and the probability of misses (i.e., failing to detect an existing watermark). The technology, described herein, performs quantization index modulation (QIM) based upon non-local characteristics of the digital good. Non-local characteristics may include statistics (e.g., averages, median) of a group of individual parts (e.g., pixels) of a digital good. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7617398
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good.
    Type: Grant
    Filed: November 3, 2005
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventors: M Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7610623
    Abstract: An implementation of a technology, described herein, for facilitating the protection of computer-executable instructions, such as software. At least one implementation, described herein, may generate integrity signatures of one or more program modules—which are sets of computer-executable instructions—based upon a trace of activity during execution of such modules and/or near-replicas of such modules. With at least one implementation, described herein, the execution context of an execution instance of a program module is considered when generating the integrity signatures. With at least one implementation, described herein, a determination may be made about whether a module is unaltered by comparing integrity signatures. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: October 27, 2009
    Assignee: Microsoft Corporation
    Inventors: Saurabh Sinha, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Yuqun Chen, Matthew Cary, Ruoming Pang
  • Publication number: 20090228718
    Abstract: A secure repository individualized for a hardware environment and a method and system for providing the same. The secure repository includes a hidden cryptographic key and code that applies the key without requiring access to a copy of the key. The code that implements the secure repository is generated in a manner that is at least partly based on a hardware ID associated with the hardware environment in which the secure repository is to be installed, and may also be based on a random number. Cryptographic functions implemented by the secure repository include decryption of encrypted information and validation of cryptographically signed information. The secure repository may be coupled to an application program, which uses cryptographic services provided by the secure repository, by way of a decoupling interface that provides a common communication and authentication interface for diverse types of secure repositories.
    Type: Application
    Filed: May 14, 2009
    Publication date: September 10, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
  • Patent number: 7587616
    Abstract: A method of code obfuscation includes receiving a block of code. One or more obfuscation algorithms are then iteratively applied to the received code. The obfuscation algorithms are repeatedly applied, such that the output of the previous obfuscation algorithm provides the input to the next obfuscation algorithm. Each obfuscation algorithm may be a relatively simple code transform technique. The same obfuscation algorithm may be applied repeatedly or any combination of a plurality of obfuscation algorithms may be applied in any sequence. The cascading effects of applying rounds of obfuscation algorithms achieve obfuscated code exhibiting a significantly increased level of security that cannot be normally derived from the security of each individual algorithm.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: September 8, 2009
    Assignee: Microsoft Corporation
    Inventor: Mariusz H. Jakubowski
  • Patent number: 7584364
    Abstract: A method of code obfuscation includes receiving a code segment. The existing code of the code segment is modified and/or additional code injected to create overlapped code. The overlapped code performs a plurality of semantically different actions depending upon the content of execution. The resulting obfuscated code having overlapped code is then output.
    Type: Grant
    Filed: May 9, 2005
    Date of Patent: September 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Mariusz H. Jakubowski, Matthias Jacob
  • Patent number: 7568103
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good. This technology finds the proper balance between minimizing the probability of false alarms (i.e., detecting a non-existent watermark) and the probability of misses (i.e., failing to detect an existing watermark). The technology, described herein, performs quantization index modulation (QIM) based upon non-local characteristics of the digital good. Non-local characteristics may include statistics (e.g., averages, median) of a group of individual parts (e.g., pixels) of a digital good. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski