Patents by Inventor Kenneth Ray
Kenneth Ray 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).
-
Patent number: 9716708Abstract: A system-on-chip (SoC) includes multiple hardware modules that are implemented on a substrate. The hardware modules include a plurality of hardware and software security features and the SoC provides one or more external interfaces for accessing the security features. A validation module, implemented in the boot code of the SoC for example, manages security certificates to control access to the plurality of security features. Each security certificate includes one or more unique identifiers corresponding to one or more hardware modules in the SoC and access control settings for one or more security features of the one or more hardware modules. The security certificate additionally includes a certificate signature signed by a secure key.Type: GrantFiled: September 13, 2013Date of Patent: July 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Michael Love, Ling Tony Chen, Felix Domke, Kenneth Ray
-
Patent number: 9195810Abstract: Various embodiments are disclosed that relate to the automated identification of one or more computer program functions for potentially placing on a remote computing device in a split-computational computing environment. For example, one disclosed embodiment provides, on a computing device, a method of determining a factorable portion of code to locate remotely from other portions of the code of a program to hinder unauthorized use and/or distribution of the program. The method includes, on a computing device, receiving an input of a representation of the code of the program, performing analysis on the representation of the code, the analysis comprising one or more of static analysis and dynamic analysis, and based upon the analysis of the code, outputting a list of one or more functions determined from the analysis to be candidates for locating remotely.Type: GrantFiled: December 28, 2010Date of Patent: November 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Darko Kirovski, Benjamin Livshits, Gennady Medvinsky, Vijay Gajjala, Kenneth Ray, Jesper Lind
-
Publication number: 20150082420Abstract: A SoC includes multiple hardware modules that are implemented on a substrate. The hardware modules include a plurality of hardware and software security features and the SoC provides one or more external interfaces for accessing the security features. A validation module, implemented in the boot code of the SoC for example, manages security certificates to control access to the plurality of security features. Each security certificate includes one or more unique identifiers corresponding to one or more hardware modules in the SoC and access control settings for one or more security features of the one or more hardware modules. The security certificate additionally includes a certificate signature signed by a secure key.Type: ApplicationFiled: September 13, 2013Publication date: March 19, 2015Applicant: Microsoft CorporationInventors: Michael Love, Ling Tony Chen, Felix Domke, Kenneth Ray
-
Patent number: 8978159Abstract: Access control systems are provided that mediate access to derivatives of sensitive data. A method is provided for processing a data request from a client, the data request comprising a client identifier and an indication of the intended use of the data, by receiving the data request from the client; providing the client identifier and indicated use to an access manager, wherein the access manager assesses a risk of providing access to the data for the indicated use; if the access manager grants access for the indicated use, receiving one or more keys with corresponding computing restrictions from the access manager; computing a result; and providing the result to the client, wherein the provided result comprises the derivative of sensitive data. The access manager grants the access for the indicated use, for example, based on a risk score.Type: GrantFiled: December 31, 2012Date of Patent: March 10, 2015Assignee: EMC CorporationInventors: Marten van Dijk, Samuel J. Curry, Robert D. Hopley, John G. Linn, Alina M. Oprea, Kenneth Ray
-
Patent number: 8800050Abstract: Technology is provided for provisioning a user computer system with membership in a privilege set in order to execute a pre-release resource. Some examples of pre-release resources are alpha and beta versions of firmware or software which can be downloaded to user computer systems. The pre-release resources are associated with different privilege sets based on their security risk levels. In one example, a security risk level may represent a number of user computer systems at risk of an integrity failure of the pre-release resource. In other examples, the security risk may represent an operational layer of the user computer system affected by the resource or a level of security testing certification success for the pre-release resource. A privilege set identifier indicates membership in one or more privilege sets.Type: GrantFiled: November 9, 2010Date of Patent: August 5, 2014Assignee: Microsoft CorporationInventor: Kenneth Ray
-
Patent number: 8635635Abstract: Embodiments are disclosed that relate to hindering unauthorized use or distribution of a middleware program contained within an application. One example embodiment provides a method for hindering unauthorized use or distribution of a middleware program contained within an application. The method comprises acquiring factored middleware code, the factored middleware code having a missing function residing on a remote computing device, and building an application around the factored middleware code such that the application is configured to call to the remote computing device for execution of the missing function during use. The application may be configured to send a call to the remote computing device for execution of the missing function during use.Type: GrantFiled: January 25, 2011Date of Patent: January 21, 2014Assignee: Microsoft CorporationInventors: Kenneth Ray, Gennady Medvinsky, Vijay Gajjala, Darko Kirovski, Benjamin Livshits
-
Publication number: 20130297807Abstract: A computer system includes a computer server having memory, an operating system program, and an application program stored in said memory and compatible with the operating system program. The computer server is configured to establish via a communication network a direct connection with a client device having an operating system program different than the server's operating system program to permit a user of the client device to execute the application program on the computer server.Type: ApplicationFiled: May 2, 2012Publication date: November 7, 2013Inventors: Steven Darnell Chavis, Kenneth Ray
-
Publication number: 20120192209Abstract: Embodiments are disclosed that relate to hindering unauthorized use or distribution of a middleware program contained within an application. One example embodiment provides a method for hindering unauthorized use or distribution of a middleware program contained within an application. The method comprises acquiring factored middleware code, the factored middleware code having a missing function residing on a remote computing device, and building an application around the factored middleware code such that the application is configured to call to the remote computing device for execution of the missing function during use. The application may be configured to send a call to the remote computing device for execution of the missing function during use.Type: ApplicationFiled: January 25, 2011Publication date: July 26, 2012Applicant: MICROSOFT CORPORATIONInventors: Kenneth Ray, Gennady Medvinsky, Vijay Gajjala, Darko Kirovski, Benjamin Livshits
-
Publication number: 20120191803Abstract: Various embodiments are disclosed that relate to decommissioning factored code of a program on a computing device. For example, one disclosed embodiment provides a method of operating a computing device. The method includes executing a program on the computing device, and while executing the program, identifying a remote location of a factored function via a code map, sending a call to the factored function and receiving a return response. The method further comprises, upon occurrence of a decommissioning event, receiving a copy of the factored function; and updating the code map with a location of the copy of the factored function.Type: ApplicationFiled: January 25, 2011Publication date: July 26, 2012Applicant: MICROSOFT CORPORATIONInventors: Kenneth Ray, Gennady Medvinsky, Vijay Gajjala, Darko Kirovski, Benjamin Livshits
-
Publication number: 20120167061Abstract: Various embodiments are disclosed that relate to the automated identification of one or more computer program functions for potentially placing on a remote computing device in a split-computational computing environment. For example, one disclosed embodiment provides, on a computing device, a method of determining a factorable portion of code to locate remotely from other portions of the code of a program to hinder unauthorized use and/or distribution of the program. The method includes, on a computing device, receiving an input of a representation of the code of the program, performing analysis on the representation of the code, the analysis comprising one or more of static analysis and dynamic analysis, and based upon the analysis of the code, outputting a list of one or more functions determined from the analysis to be candidates for locating remotely.Type: ApplicationFiled: December 28, 2010Publication date: June 28, 2012Applicant: MICROSOFT CORPORATIONInventors: Darko Kirovski, Benjamin Livshits, Gennady Medvinsky, Vijay Gajjala, Kenneth Ray, Jesper Lind
-
Publication number: 20120117625Abstract: Technology is provided for provisioning a user computer system with membership in a privilege set in order to execute a pre-release resource. Some examples of pre-release resources are alpha and beta versions of firmware or software which can be downloaded to user computer systems. The pre-release resources are associated with different privilege sets based on their security risk levels. In one example, a security risk level may represent a number of user computer systems at risk of an integrity failure of the pre-release resource. In other examples, the security risk may represent an operational layer of the user computer system affected by the resource or a level of security testing certification success for the pre-release resource. A privilege set identifier indicates membership in one or more privilege sets.Type: ApplicationFiled: November 9, 2010Publication date: May 10, 2012Applicant: MICROSOFT CORPORATIONInventor: Kenneth Ray
-
Patent number: 7469343Abstract: A security module and method implements data requests from a USB or other similar device, in which a secure component can communicate securely with a device without modifying the underlying USB bus protocol, or the device, even where the software controlling the bus is untrusted. A security module (physically separate or integrated into a device or hub) intercepts data being sent from device to secure component in response to a data request. A “not acknowledged” signal is sent to the secure component, and the data is encrypted. The next data request is intercepted, and the encrypted data sent in response. The acknowledgement from the secure component to the device is allowed to reach the device. In order to handle a setup request, an allow command is sent to the security module, which includes the encrypted and unencrypted setup command. If an encryption check is successful, a setup command sent to the device (via the security module) is allowed to reach the device.Type: GrantFiled: May 2, 2003Date of Patent: December 23, 2008Assignee: Microsoft CorporationInventors: Kenneth Ray, Theodore Kehl
-
Publication number: 20070266389Abstract: The launching of a hypervisor after there is already a running operating system. The operating system itself may launch the hypervisor. The running operating system may be used instead of the hypervisor to discover the physical resources running on the computing system. Other operating systems or operating system instances may be launched after the hypervisor is operational.Type: ApplicationFiled: May 15, 2006Publication date: November 15, 2007Applicant: Microsoft CorporationInventors: Shuvabrata Ganguly, Andrew Thornton, John Wiederhirn, Kenneth Ray
-
Publication number: 20060288238Abstract: Prevention of unpermitted use of enabling bits is achieved by sealing the enabling bits to an environment in such a way that the bits can only be unsealed by or from the environment, and by using an isolation mechanism to isolate the environment from other environments on the machine on which the environment operates. The environment is trusted not to use the enabling bits except in accordance with a set of rules governing the bits. The enabling bits may be a decryption key for DRM-protected content, and the rules may be a license governing the use of that content. Trust that the enabling bits will not be misused is established by trusting the environment not to use the enabling bits contrary to the rules, trusting the isolation mechanism to isolate the environment, and trusting the unsealing mechanism only to unseal the bits for the environment.Type: ApplicationFiled: June 16, 2005Publication date: December 21, 2006Applicant: Microsoft CorporationInventors: Kenneth Ray, Paul England, Peter Biddle
-
Publication number: 20060282517Abstract: A method and apparatus to decrease the amount of time it takes to obtain friendly names of Bluetooth devices is presented. A name server caches friendly names for devices that it has acquired from other devices or from other name servers. The name server is any device that caches friendly names of Bluetooth devices and that makes the friendly names available to other devices. A requesting device determines if a name server has responded to an inquiry command. If a name server has responded, the device gets the friendly names the name server has cached and requests the friendly names of devices that responded that have not been cached by the name server. Identification of a name server is accomplished by embedding a marker in the friendly name field after the null character to indicate that the device is a name server.Type: ApplicationFiled: August 16, 2006Publication date: December 14, 2006Applicant: MICROSOFT CORPORATIONInventors: Om Sharma, Doron Holan, Kenneth Ray, Louis Giliberto
-
Publication number: 20060248587Abstract: A system and method are provided, whereby data that is easily re-created is separated from data that is not easily re-created, such that the easily re-created data can be disposed of based on a variety of events and the not easily re-created data can be kept in its original state. In one aspect of the invention, such easily re-created data is disposed of based on a “panic button” being pushed by a computer system user, such as when a user becomes aware that some malware has infected the computer system. In other aspects of the invention, such data is disposed of every time the computer system boots up, or detects via its anti-virus program that some malware is present. In other aspects of the invention, the easily re-created data can be rolled back or rolled forward without affecting the non-easily re-created data.Type: ApplicationFiled: April 29, 2005Publication date: November 2, 2006Applicant: Microsoft CorporationInventors: Kenneth Ray, Paul England, Nathan Lewis, Michael Marr
-
Publication number: 20060230451Abstract: Systems and methods for validating integrity of an executable file are described. In one aspect, the systems and methods determine that an executable file is being introduced into a path of execution. The executable file is then automatically evaluated in view of multiple malware checks to detect if the executable file represents a type of malware. The multiple malware checks are integrated into an operating system trust verification process along the path of execution.Type: ApplicationFiled: April 7, 2005Publication date: October 12, 2006Applicant: Microsoft CorporationInventors: Michael Kramer, Kenneth Ray, Paul England, Scott Field, Jonathan Schwartz
-
Publication number: 20060224664Abstract: A method for providing an interface to a Bluetooth compliant device can emulate a modem such that computer software programs can communicate through the Bluetooth compliant device in the same manner in which they would communicate through a standard modem to access a dial-up, wide area network. The method also supports an interface to a Bluetooth compliant device which can emulate a network socket such that computer software programs can communicate through the Bluetooth compliant device seemingly in the same manner in which they would communicate through a standard network interface card to access a local area network. The method also allows for the interface to a Bluetooth compliant device to be dependent on the nature of the Bluetooth compliant device.Type: ApplicationFiled: January 6, 2006Publication date: October 5, 2006Applicant: Microsoft CorporationInventors: Louis Giliberto, Stanley Adermann, Doron Holan, Husni Roukbi, Mark Bertoglio, Joseph Joy, William Zintel, Arvind Murching, Kenneth Ray
-
Publication number: 20060218320Abstract: Protecting computer systems from attacks that attempt to change USB topology and for ensuring that the system's information regarding USB topology is accurate is disclosed. A software model is defined that, together with secure USB hardware, provides an ability to define policies using which USB traffic can be properly monitored and controlled. The implemented policy provides control over USB commands through a combination of software evaluation and hardware programming. Legitimate commands are evaluated and “allowed” to be sent to a USB device by a host controller. Illegitimate commands are evaluated and blocked. Additionally, the USB topology is audited to verify that the system's topology map matches the actual USB topology.Type: ApplicationFiled: March 25, 2005Publication date: September 28, 2006Applicant: Microsoft CorporationInventors: Idan Avraham, Kenneth Ray, Mark Williams, David Wooten
-
Publication number: 20060200863Abstract: The present invention provides a system, method, and computer-readable medium for identifying malware that is loaded in the memory of a computing device. Software routines implemented by the present invention track the state of pages loaded in memory using page table access bits available from a central processing unit. A page in memory may be in a state that is “unsafe” or potentially infected with malware. In this instance, the present invention calls a scan engine to search a page for malware before information on the page is executed.Type: ApplicationFiled: March 1, 2005Publication date: September 7, 2006Applicant: Microsoft CorporationInventors: Kenneth Ray, Michael Kramer, Paul England, Scott Field