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: 20130160133Abstract: 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: ApplicationFiled: December 15, 2011Publication date: June 20, 2013Applicant: MICROSOFT CORPORATIONInventors: Athanasios Avgerinos, Mariusz H. Jakubowski, Marcus Peinado
-
Patent number: 8417968Abstract: 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: GrantFiled: June 6, 2011Date of Patent: April 9, 2013Assignee: Microsoft CorporationInventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
-
Publication number: 20130067238Abstract: 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: ApplicationFiled: September 12, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Jeffrey M. Homme, Mariusz H. Jakubowski, Jeremy S. Russell, Scott A. Kupec, Dragos C. Sambotin
-
Patent number: 8176473Abstract: 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: GrantFiled: May 14, 2007Date of Patent: May 8, 2012Assignee: Microsoft CorporationInventors: Matthias Jacob, Mariusz H. Jakubowski
-
Publication number: 20110239005Abstract: 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: ApplicationFiled: June 6, 2011Publication date: September 29, 2011Applicant: MICROSOFT CORPORATIONInventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
-
Patent number: 7958373Abstract: 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: GrantFiled: May 14, 2009Date of Patent: June 7, 2011Assignee: Microsoft CorporationInventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
-
Patent number: 7957532Abstract: 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: GrantFiled: June 23, 2006Date of Patent: June 7, 2011Assignee: Microsoft CorporationInventors: Yuqun Chen, Zicheng Liu, Mariusz H. Jakubowski, Yacov Yacobi
-
Patent number: 7769165Abstract: 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: GrantFiled: October 14, 2005Date of Patent: August 3, 2010Assignee: Microsoft CorporationInventors: Mariusz H. Jakubowski, Ramarathnam Venkatesan, Gideon A. Yuval, Yacov Yacobi, Matthew Cary
-
Publication number: 20100107245Abstract: 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: ApplicationFiled: October 29, 2008Publication date: April 29, 2010Applicant: MICROSOFT CORPORATIONInventors: Mariusz H. Jakubowski, Chit Wei Saw, Ramarathnam Venkatesan
-
Publication number: 20100106920Abstract: 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: ApplicationFiled: October 29, 2008Publication date: April 29, 2010Applicant: MICROSOFT CORPORATIONInventors: Bertrand Raphael Anckaert, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Chit Wei Saw
-
Patent number: 7664937Abstract: 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: GrantFiled: March 1, 2007Date of Patent: February 16, 2010Assignee: Microsoft CorporationInventors: Matthias Jacob, Mariusz H. Jakubowski
-
Patent number: 7644440Abstract: 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: GrantFiled: December 6, 2005Date of Patent: January 5, 2010Assignee: Microsoft CorporationInventors: Saurabh Sinha, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Yuqun Chen, Matthew Cary, Ruoming Pang
-
Patent number: 7636849Abstract: 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: GrantFiled: November 12, 2004Date of Patent: December 22, 2009Assignee: Microsoft CorporationInventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
-
Patent number: 7634660Abstract: 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: GrantFiled: December 15, 2004Date of Patent: December 15, 2009Assignee: Microsoft CorporationInventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
-
Patent number: 7617398Abstract: 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: GrantFiled: November 3, 2005Date of Patent: November 10, 2009Assignee: Microsoft CorporationInventors: M Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
-
Patent number: 7610623Abstract: 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: GrantFiled: December 6, 2005Date of Patent: October 27, 2009Assignee: Microsoft CorporationInventors: Saurabh Sinha, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Yuqun Chen, Matthew Cary, Ruoming Pang
-
Publication number: 20090228718Abstract: 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: ApplicationFiled: May 14, 2009Publication date: September 10, 2009Applicant: MICROSOFT CORPORATIONInventors: John L. Manferdelli, Michael David Marr, Vinay Krishnaswamy, Mariusz H. Jakubowski
-
Patent number: 7587616Abstract: 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: GrantFiled: February 25, 2005Date of Patent: September 8, 2009Assignee: Microsoft CorporationInventor: Mariusz H. Jakubowski
-
Patent number: 7584364Abstract: 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: GrantFiled: May 9, 2005Date of Patent: September 1, 2009Assignee: Microsoft CorporationInventors: Mariusz H. Jakubowski, Matthias Jacob
-
Patent number: 7568103Abstract: 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: GrantFiled: December 15, 2004Date of Patent: July 28, 2009Assignee: Microsoft CorporationInventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski