Patents by Inventor Paul England

Paul England 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: 7721341
    Abstract: A memory controller prevents CPUs and other I/O bus masters from accessing memory during a code (for example, trusted core) initialization process. The memory controller resets CPUs in the computer and allows a CPU to begin accessing memory at a particular location (identified to the CPU by the memory controller). Once an initialization process has been executed by that CPU, the code is operational and any other CPUs are allowed to access memory (after being reset), as are any other bus masters (subject to any controls imposed by the initiated code).
    Type: Grant
    Filed: June 15, 2005
    Date of Patent: May 18, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul England, Bryan Willman
  • Patent number: 7694121
    Abstract: A mechanism for protected operating system boot that prevents rogue components from being loaded with the operating system, and thus prevents divulgence of the system key under inappropriate circumstances. After a portion of the machine startup procedure has occurred, the operating system loader is run, the loader is validated, and a correct machine state is either verified to exist and/or created. Once the loader has been verified to be a legitimate loader, and the machine state under which it is running is verified to be correct, the loader's future behavior is known to protect against the loading of rogue components that could cause divulgence of the system key. With the loader's behavior being known to be safe for the system key, the validator may unseal the system key and provides it to the loader.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: April 6, 2010
    Assignee: Microsoft Corporation
    Inventors: Bryan Mark Willman, Paul England, Kenneth D. Ray, Jamie Hunter, Lonnie Dean McMichael, Derek Norman LaSalle, Pierre Jacomet, Mark Eliot Paley, Thekkthalackal Varugis Kurien, David B. Cross
  • Patent number: 7680743
    Abstract: A digital rights management (DRM) system, an application, and a DRM digital license for the application are all on a computing device. The application is for being executed to perform a function and includes code requiring that the DRM system determine that the application is allowed to be executed to perform the function based on the license. The application further includes code for determining that the application is to be executed on one of the computing device or in connection with the DRM system.
    Type: Grant
    Filed: May 15, 2002
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Marcus Peinado, Paul England, John L. Manferdelli
  • Patent number: 7664949
    Abstract: Disclosed herein is a technique for certifying distributable objects. The technique involves creating a certification for each distributable object to indicate properties of the object. Using certifications such as this, it is possible to accept objects having certain properties only from specified entities.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul England, Muthukrishnan Paramasivam, Thekkthalackal Varugis Kurien, Charles F. Rose, III, Ravindra N Pandya
  • Patent number: 7650478
    Abstract: A data storage resource is identifiable by physical addresses, and optionally by a virtual address. A policy defines which resources are accessible and which resources are not accessible. A request to access a resource is allowed if access to the resource is permitted by the policy, and if carrying out the access will not cause virtual addresses to be assigned to resources to which the policy disallows access. Since resources to which access is disallowed do not have virtual addresses, certain types of access requests that identify a resource by a virtual address can be allowed without consulting the policy.
    Type: Grant
    Filed: December 9, 2005
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Marcus Peinado, Paul England, Bryan Mark Willman
  • Patent number: 7644246
    Abstract: A data storage resource is identifiable by physical addresses, and optionally by a virtual address. A policy defines which resources are accessible and which resources are not accessible. A request to access a resource is allowed if access to the resource is permitted by the policy, and if carrying out the access will not cause virtual addresses to be assigned to resources to which the policy disallows access. Since resources to which access is disallowed do not have virtual addresses, certain types of access requests that identify a resource by a virtual address can be allowed without consulting the policy.
    Type: Grant
    Filed: December 9, 2005
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Marcus Peinado, Paul England, Bryan Mark Willman
  • Publication number: 20090313397
    Abstract: The various embodiments described below are directed to providing authenticated and confidential messaging from software executing on a host (e.g. a secure software application or security kernel) to and from I/O devices operating on a USB bus. The embodiments can protect against attacks that are levied by software executing on a host computer. In some embodiments, a secure functional component or module is provided and can use encryption techniques to provide protection against observation and manipulation of USB data. In other embodiments, USB data can be protected through techniques that do not utilized (or are not required to utilize) encryption techniques. In accordance with these embodiments, USB devices can be designated as “secure” and, hence, data sent over the USB to and from such designated devices can be provided into protected memory. Memory indirection techniques can be utilized to ensure that data to and from secure devices is protected.
    Type: Application
    Filed: January 5, 2009
    Publication date: December 17, 2009
    Applicant: Microsoft Corporation
    Inventors: Paul England, Kenneth D. Ray, Marcus Peinado, John C. Dunn, Glen Slick, Bryan Willman
  • Patent number: 7634661
    Abstract: Manifest-based trusted agent management in a trusted operating system environment includes receiving a request to execute a process is received and setting up a virtual memory space for the process. Additionally, a manifest corresponding to the process is accessed, and which of a plurality of binaries can be executed in the virtual memory space is limited based on indicators, of the binaries, that are included in the manifest.
    Type: Grant
    Filed: August 18, 2005
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Marcus Peinado, Daniel R. Simon, Josh D. Benaloh
  • Publication number: 20090292919
    Abstract: A device, such as a smartcard, may be externally-connected to a host platform and may be used to enhance or extend security services provided by the host platform's Trusted Platform Module (TPM). The device and the platform exchange keys in order to facilitate reliable identification of the platform by the device and vice versa, and to support cryptographic tunneling. A proxy component on the host device tunnels information between the platform and the device, and also provides the device with access to the TPM's services such as sealing and attestation. The device can provide secure services to the platform, and may condition provision of these services on conditions such as confirming the platform's identity through the exchanged keys, or platform state measurements reported by the TPM.
    Type: Application
    Filed: May 23, 2008
    Publication date: November 26, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: Paul England
  • Patent number: 7605816
    Abstract: Mechanisms are disclosed that may allow certain memory access control algorithms to be implemented efficiently. When memory access control is based on controlling changes to an address translation map (or set of maps), it may be necessary to determine whether a particular map change would allow memory to be accessed in an impermissible way. Certain data about the map may be cached in order to allow the determination to be made more efficiently than performing an evaluation of the entire map.
    Type: Grant
    Filed: July 28, 2006
    Date of Patent: October 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Marcus Peinado, Paul England
  • Patent number: 7591014
    Abstract: To authenticate a program on a computing device to a resource local to or remote from the computing device, a stored program security identifier (PSID) corresponding to the program is retrieved, where the stored PSID includes information taking into account the program itself, the execution setting of the program, and any inputs and initializations that are provided to the program. The PSID is re-constructed based on the same information as obtained from local sources, and the stored and reconstructed PSIDs are compared to determine whether a match exists. If so, it may be concluded that the program operates in a trusted manner according to an approved set of conditions.
    Type: Grant
    Filed: March 4, 2005
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Thekkthalackal Varugis Kurien
  • Patent number: 7587589
    Abstract: In accordance with certain aspects, data is received from a calling program. Ciphertext that includes the data is generated, using a symmetric cipher, in a manner that allows only one or more target programs to be able to obtain the data from the ciphertext. In accordance with other aspects, a bit string is received from a calling program. An identifier of the calling program is checked to determine whether the calling program is allowed to access data encrypted in ciphertext of the bit string. The integrity of the data is also verified, and the data is decrypted using a symmetric key. The data is returned to the calling program only if the calling program is allowed to access the data and if the integrity of the data is successfully verified.
    Type: Grant
    Filed: November 8, 2006
    Date of Patent: September 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Marcus Peinado
  • Patent number: 7580526
    Abstract: Methods and apparatus for protecting copyrighted information, e.g., video signals, from unauthorized use are described. Encrypted video signals are transmitted from a source device, e.g., display adapter, to a display device, e.g., monitor, over analog signal lines after the identity of the destination device is confirmed by receipt of a certificate assigned to the destination device. A session key, used for encrypting the analog signals, is generated and exchanged between the source and destination devices. The source and destination devices each include a pseudo-random number generator driven by the session key. As part of the encryption process a false video signal is generated. The false video signal and R, G, B video signals are transmitted to the display device over four lines. The lines used to transmit the R, G, B and false video signals are periodically swapped as a function of the output of the pseudo random number generator to encrypt, e.g., scramble, the video signals.
    Type: Grant
    Filed: May 20, 2005
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Andrew D. Rosen, Yacov Yacobi, Gideon A. Yuval
  • Patent number: 7577840
    Abstract: Transferring application secrets in a trusted operating system environment involves receiving a request to transfer application data from a source computing device to a destination computing device. A check is made as to whether the application data can be transferred to the destination computing device, and if so, whether the application data can be transferred under control of the user or a third party. If these checks succeed, a check is also made as to whether the destination computing device is a trustworthy device running known trustworthy software. Input is also received from the appropriate one of the user or third party to control transferring of the application data to the destination computing device. Furthermore, application data is stored on the source computing device in a manner that facilitates determining whether the application data can be transferred, and that facilitates transferring the application data if it can be transferred.
    Type: Grant
    Filed: February 28, 2005
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Marcus Peinado, Daniel R. Simon, Josh D. Benaloh
  • Patent number: 7577839
    Abstract: Transferring application secrets in a trusted operating system environment involves receiving a request to transfer application data from a source computing device to a destination computing device. A check is made as to whether the application data can be transferred to the destination computing device, and if so, whether the application data can be transferred under control of the user or a third party. If these checks succeed, a check is also made as to whether the destination computing device is a trustworthy device running known trustworthy software. Input is also received from the appropriate one of the user or third party to control transferring of the application data to the destination computing device. Furthermore, application data is stored on the source computing device in a manner that facilitates determining whether the application data can be transferred, and that facilitates transferring the application data if it can be transferred.
    Type: Grant
    Filed: February 28, 2005
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Marcus Peinado, Daniel R. Simon, Josh D. Benaloh
  • Patent number: 7565553
    Abstract: Systems and methods for controlling access to data on a computer with a secure boot process can provide a highly efficient mechanism for preventing future access to encrypted digital resources. This may be advantageous in a range of scenarios, for example where a computer is sold and assurance is desired that no stray private data remains on the hard disk. Data resources, for example all data associated with one or more particular hard disk partitions, may be encrypted. The decryption key may be available through a secure boot process. By erasing, altering, or otherwise disabling a secret, such as a decryption key or a process that obtains a decryption key, the data formerly accessible using such secret becomes inaccessible.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D. Ray, Jonathan Schwartz
  • Patent number: 7565505
    Abstract: A data storage resource is identifiable by physical addresses, and optionally by a virtual address. A policy defines which resources are accessible and which resources are not accessible. A request to access a resource is allowed if access to the resource is permitted by the policy, and if carrying out the access will not cause virtual addresses to be assigned to resources to which the policy disallows access. Since resources to which access is disallowed do not have virtual addresses, certain types of access requests that identify a resource by a virtual address can be allowed without consulting the policy.
    Type: Grant
    Filed: December 9, 2005
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Marcus Peinado, Paul England, Bryan Mark Willman
  • Patent number: 7565509
    Abstract: A data storage resource is identifiable by physical addresses, and optionally by a virtual address. A policy defines which resources are accessible and which resources are not accessible. A request to access a resource is allowed if access to the resource is permitted by the policy, and if carrying out the access will not cause virtual addresses to be assigned to resources to which the policy disallows access. Since resources to which access is disallowed do not have virtual addresses, certain types of access requests that identify a resource by a virtual address can be allowed without consulting the policy.
    Type: Grant
    Filed: November 1, 2002
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Marcus Peinado, Paul England, Bryan Mark Willman
  • Publication number: 20090164749
    Abstract: A single application can be executed across multiple execution environments in an efficient manner if at least a relevant portion of the virtual memory assigned to the application was equally accessible by each of the multiple execution environments. A request by a process in one execution environment can, thereby, be directed to an operating system, or other core software, in another execution environment and can be made by a shadow of the requesting process in the same manner as the original request was made by the requesting process itself. Because of the memory invariance between the execution environments, the results of the request will be equally accessible to the original requesting process even though the underlying software that responded to the request may be executing in a different execution environment. A similar thread invariance can be maintained to provide for accurate translation of requests between execution environments.
    Type: Application
    Filed: December 19, 2007
    Publication date: June 25, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul England, Jork Loeser, Luis Irun-Briz
  • Patent number: 7543335
    Abstract: A memory controller prevents CPUs and other I/O bus masters from accessing memory during a code (for example, trusted core) initialization process. The memory controller resets CPUs in the computer and allows a CPU to begin accessing memory at a particular location (identified to the CPU by the memory controller). Once an initialization process has been executed by that CPU, the code is operational and any other CPUs are allowed to access memory (after being reset), as are any other bus masters (subject to any controls imposed by the initiated code).
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: June 2, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul England, Bryan Willman