Patents by Inventor Philip Lafornara

Philip Lafornara 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: 7543140
    Abstract: A digital certificate identifies an entity as having authority over the certificate to revoke same as delegated by the issuer. The certificate also has at least one revocation condition relating to possible revocation of the certificate. To authenticate the certificate, the identification of the delegated revocation authority, a location from which a revocation list is to be obtained, and any freshness requirement to be applied to the revocation list are determined from the certificate. It is then ensured that the revocation list from the location is present and that the present revocation list satisfies the freshness requirement, that the revocation list is promulgated by the delegated revocation authority identified in the certificate, and that the certificate is not identified in the revocation list as being revoked.
    Type: Grant
    Filed: February 26, 2003
    Date of Patent: June 2, 2009
    Assignee: Microsoft Corporation
    Inventors: Blair Brewster Dillaway, Philip Lafornara, Brian A. LaMacchia, Rushmi U. Malaviarachchi, John L. Manferdelli, Charles F. Rose, III
  • Patent number: 7383537
    Abstract: A system debugs a computer application that employs rights-managed (RM) content. A first, non-isolated process has the application and a shell version of the trusted component, where such shell version receives each request by the application for RM services. The shell version is unconcerned whether a debugger is monitoring the first process. A second, isolated process is separate from the first process and has a debugging version of the trusted component. The shell version in the first process forwards the received request to the debugging version in the second process, and such debugging version acts upon same. The debugging version ensures that the debugger is not monitoring the second process, but is unconcerned whether the debugger is monitoring the first process.
    Type: Grant
    Filed: August 20, 2003
    Date of Patent: June 3, 2008
    Assignee: Microsoft Corporation
    Inventors: Michael Joseph Darweesh, Michael David Marr, Octavian Tony Ureche, Philip LaFornara
  • Patent number: 7376975
    Abstract: In order to allow for security beyond revocation lists, a policy regarding when permissions may be granted (in the form of a rights document, e.g. a use license or a certificate) is enforced. When a request is made for a rights document, the requester submits an account certificate which includes certain metadata regarding the requester. This metadata is analyzed to determine whether it meets a specific policy before the request is granted. If the request is not granted, the cause of the rejection may be overcome, for example by updating or upgrading some system component (hardware or software) in the requesting system. In certain cases, such an update to overcome a policy-based rejection may be performed transparently to the user.
    Type: Grant
    Filed: May 10, 2004
    Date of Patent: May 20, 2008
    Assignee: Microsoft Corporation
    Inventors: Philip Lafornara, Rushmi U. Malaviarachchi, John L. Manferdelli, Michael David Marr, Charles F. Rose, III, Bradley Serbus
  • Publication number: 20060095383
    Abstract: Content revocation is achieved by disabling licenses issued to a computing device for the content. A content revocation is delivered within a license to the computing device. Upon license storage the content revocation is recognized, validated, and stored in a secure state store under the public key of the content server (PU-CS) that issued the content. Each license has a (PU-CS) therein, and each license evaluation considers each content revocation stored in the state store and having the same (PU-CS). The license is disabled or otherwise affected based on the considered content revocation. A content revocation is one form of a license modification that may be delivered within a license.
    Type: Application
    Filed: November 3, 2005
    Publication date: May 4, 2006
    Applicant: Microsoft Corporation
    Inventors: Charlie Chase, Krishnamurthy Ganesan, Philip Lafornara, Jeffrey McKune, Clifford Strom, Vijay Gajjala
  • Publication number: 20060059106
    Abstract: Content revocation is achieved by disabling licenses issued to a computing device for the content. A content revocation is delivered within a license to the computing device. Upon license storage the content revocation is recognized, validated, and stored in a secure state store under the public key of the content server (PU-CS) that issued the content. Each license has a (PU-CS) therein, and each license evaluation considers each content revocation stored in the state store and having the same (PU-CS). The license is disabled or otherwise affected based on the considered content revocation. A content revocation is one form of a license modification that may be delivered within a license.
    Type: Application
    Filed: November 3, 2005
    Publication date: March 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Charlie Chase, Krishnamurthy Ganesan, Philip Lafornara, Jeffrey McKune, Clifford Strom, Vijay Gajjala
  • Publication number: 20060026569
    Abstract: Dynamic run-time verification of a module which is loaded in memory (in whole or in part) for execution is enabled by using pre-computed portion-level verification data for portions of the module smaller than the whole (e.g. at the page-level). A portion of the module as loaded into memory for execution can be verified. Pre-computed portion-level verification data is retrieved from storage and used to verify the loaded portions of the executable. Verification data may be, for example, a digitally signed hash of the portion. Where the operating system loader has modified the portion for execution, the modifications are reversed, removing any changes performed by the operating system. If the portion has not been tampered, this will return the portion to its original pre-loaded state. This version is then used to determine validity using the pre-computed portion-level verification.
    Type: Application
    Filed: July 29, 2004
    Publication date: February 2, 2006
    Applicant: Microsoft Corporation
    Inventors: Timothy Oerting, Philip Lafornara, Robert Oliver, Scott Brender, Michael Marr
  • Publication number: 20050257271
    Abstract: In order to allow for security beyond revocation lists, a policy regarding when permissions may be granted (in the form of a rights document, e.g. a use license or a certificate) is enforced. When a request is made for a rights document, the requester submits an account certificate which includes certain metadata regarding the requester. This metadata is analyzed to determine whether it meets a specific policy before the request is granted. If the request is not granted, the cause of the rejection may be overcome, for example by updating or upgrading some system component (hardware or software) in the requesting system. In certain cases, such an update to overcome a policy-based rejection may be performed transparently to the user.
    Type: Application
    Filed: May 10, 2004
    Publication date: November 17, 2005
    Applicant: Microsoft Corporation
    Inventors: Philip Lafornara, Rushmi Malaviarachchi, John Manferdelli, Michael Marr, Charles Rose, Bradley Serbus
  • Publication number: 20050198507
    Abstract: The import address table of a software module is verified in order to prevent detouring attacks. A determination is made regarding which entries in the IAT must be verified; all of the entries may be verified or some subset of the entries that are critical may be verified. For each external function, the external module containing the external function is loaded, if it is not already loaded. The function address in the exported function table is found. That address is compared to the address for the function in the IAT. Additionally, the external module, in one embodiment, is verified to ensure that it has not been modified. For a delay load IAT, a similar procedure is followed; however the delay load IAT may be periodically checked to ensure that the delay load IAT entries are either valid (indicating that the external function has been bound) or in their initial state (indicating that no binding has yet occurred).
    Type: Application
    Filed: March 5, 2004
    Publication date: September 8, 2005
    Inventors: Scott Brender, Philip Lafornara, Michael Marr, Robert Oliver
  • Publication number: 20050044534
    Abstract: A system debugs a computer application that employs rights-managed (RM) content. A first, non-isolated process has the application and a shell version of the trusted component, where such shell version receives each request by the application for RM services. The shell version is unconcerned whether a debugger is monitoring the first process. A second, isolated process is separate from the first process and has a debugging version of the trusted component. The shell version in the first process forwards the received request to the debugging version in the second process, and such debugging version acts upon same. The debugging version ensures that the debugger is not monitoring the second process, but is unconcerned whether the debugger is monitoring the first process.
    Type: Application
    Filed: August 20, 2003
    Publication date: February 24, 2005
    Inventors: Michael Darweesh, Michael Marr, Octavian Ureche, Philip LaFornara
  • Publication number: 20040168056
    Abstract: A digital certificate identifies an entity as having authority over the certificate to revoke same as delegated by the issuer. The certificate also has at least one revocation condition relating to possible revocation of the certificate. To authenticate the certificate, the identification of the delegated revocation authority, a location from which a revocation list is to be obtained, and any freshness requirement to be applied to the revocation list are determined from the certificate. It is then ensured that the revocation list from the location is present and that the present revocation list satisfies the freshness requirement, that the revocation list is promulgated by the delegated revocation authority identified in the certificate, and that the certificate is not identified in the revocation list as being revoked.
    Type: Application
    Filed: February 26, 2003
    Publication date: August 26, 2004
    Applicant: Microsoft Corporation
    Inventors: Blair Brewster Dillaway, Philip Lafornara, Brian A. LaMacchia, Rushmi U. Malaviarachchi, John L. Manferdelli, Charles F. Rose