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: 9716708
    Abstract: 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: Grant
    Filed: September 13, 2013
    Date of Patent: July 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael Love, Ling Tony Chen, Felix Domke, Kenneth Ray
  • Patent number: 9195810
    Abstract: 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: Grant
    Filed: December 28, 2010
    Date of Patent: November 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Darko Kirovski, Benjamin Livshits, Gennady Medvinsky, Vijay Gajjala, Kenneth Ray, Jesper Lind
  • Publication number: 20150082420
    Abstract: 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: Application
    Filed: September 13, 2013
    Publication date: March 19, 2015
    Applicant: Microsoft Corporation
    Inventors: Michael Love, Ling Tony Chen, Felix Domke, Kenneth Ray
  • Patent number: 8978159
    Abstract: 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: Grant
    Filed: December 31, 2012
    Date of Patent: March 10, 2015
    Assignee: EMC Corporation
    Inventors: Marten van Dijk, Samuel J. Curry, Robert D. Hopley, John G. Linn, Alina M. Oprea, Kenneth Ray
  • Patent number: 8800050
    Abstract: 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: Grant
    Filed: November 9, 2010
    Date of Patent: August 5, 2014
    Assignee: Microsoft Corporation
    Inventor: Kenneth Ray
  • Patent number: 8635635
    Abstract: 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: Grant
    Filed: January 25, 2011
    Date of Patent: January 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Kenneth Ray, Gennady Medvinsky, Vijay Gajjala, Darko Kirovski, Benjamin Livshits
  • Publication number: 20130297807
    Abstract: 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: Application
    Filed: May 2, 2012
    Publication date: November 7, 2013
    Inventors: Steven Darnell Chavis, Kenneth Ray
  • Publication number: 20120192209
    Abstract: 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: Application
    Filed: January 25, 2011
    Publication date: July 26, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Kenneth Ray, Gennady Medvinsky, Vijay Gajjala, Darko Kirovski, Benjamin Livshits
  • Publication number: 20120191803
    Abstract: 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: Application
    Filed: January 25, 2011
    Publication date: July 26, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Kenneth Ray, Gennady Medvinsky, Vijay Gajjala, Darko Kirovski, Benjamin Livshits
  • Publication number: 20120167061
    Abstract: 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: Application
    Filed: December 28, 2010
    Publication date: June 28, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Darko Kirovski, Benjamin Livshits, Gennady Medvinsky, Vijay Gajjala, Kenneth Ray, Jesper Lind
  • Publication number: 20120117625
    Abstract: 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: Application
    Filed: November 9, 2010
    Publication date: May 10, 2012
    Applicant: MICROSOFT CORPORATION
    Inventor: Kenneth Ray
  • Patent number: 7469343
    Abstract: 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: Grant
    Filed: May 2, 2003
    Date of Patent: December 23, 2008
    Assignee: Microsoft Corporation
    Inventors: Kenneth Ray, Theodore Kehl
  • Publication number: 20070266389
    Abstract: 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: Application
    Filed: May 15, 2006
    Publication date: November 15, 2007
    Applicant: Microsoft Corporation
    Inventors: Shuvabrata Ganguly, Andrew Thornton, John Wiederhirn, Kenneth Ray
  • Publication number: 20060288238
    Abstract: 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: Application
    Filed: June 16, 2005
    Publication date: December 21, 2006
    Applicant: Microsoft Corporation
    Inventors: Kenneth Ray, Paul England, Peter Biddle
  • Publication number: 20060282517
    Abstract: 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: Application
    Filed: August 16, 2006
    Publication date: December 14, 2006
    Applicant: MICROSOFT CORPORATION
    Inventors: Om Sharma, Doron Holan, Kenneth Ray, Louis Giliberto
  • Publication number: 20060248587
    Abstract: 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: Application
    Filed: April 29, 2005
    Publication date: November 2, 2006
    Applicant: Microsoft Corporation
    Inventors: Kenneth Ray, Paul England, Nathan Lewis, Michael Marr
  • Publication number: 20060230451
    Abstract: 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: Application
    Filed: April 7, 2005
    Publication date: October 12, 2006
    Applicant: Microsoft Corporation
    Inventors: Michael Kramer, Kenneth Ray, Paul England, Scott Field, Jonathan Schwartz
  • Publication number: 20060224664
    Abstract: 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: Application
    Filed: January 6, 2006
    Publication date: October 5, 2006
    Applicant: Microsoft Corporation
    Inventors: Louis Giliberto, Stanley Adermann, Doron Holan, Husni Roukbi, Mark Bertoglio, Joseph Joy, William Zintel, Arvind Murching, Kenneth Ray
  • Publication number: 20060218320
    Abstract: 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: Application
    Filed: March 25, 2005
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Idan Avraham, Kenneth Ray, Mark Williams, David Wooten
  • Publication number: 20060200863
    Abstract: 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: Application
    Filed: March 1, 2005
    Publication date: September 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Kenneth Ray, Michael Kramer, Paul England, Scott Field