Patents by Inventor Magnus Nyström

Magnus Nyström 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: 9690941
    Abstract: One or more techniques and/or systems are provided for provisioning encrypted key blobs and client certificates. That is, a trusted execution environment on a first machine may provide a key service provider with a cryptographic encryption key. The key service provider may encrypt a key blob using the cryptographic encryption key and/or wrap the encrypted key blob with one or more policies, such as a platform policy. The key service provider may provision the encrypted key blob to a client on the first machine. The client may submit the encrypted key blob to the trusted execution environment for validation so that the client may perform key actions, such as sign an email or encrypt data. Because the key blob may be specific to a particular trusted execution environment and/or machine, the key service provider may re-wrap the key blob if the client “roams” to a second machine.
    Type: Grant
    Filed: May 17, 2011
    Date of Patent: June 27, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan Thom, Robert Karl Spiger, Valerie Kathleen Bays, Bo Gustaf Magnus Nyström
  • Patent number: 9674177
    Abstract: A personal computing device, server or other type of processing device authenticates a user attempting to access a protected resource by verifying user knowledge of one or more extracted characteristics of stored information indicative of an internal operating state of that resource. The one or more extracted characteristics are characteristics that would likely be known to the user if that user had made one or more previous authenticated accesses to the protected resource. For example, the extracted characteristics may be indicative of a manner in which the user had utilized the protected resource during the one or more previous authenticated accesses to the protected resource. The processing device receives input from the user regarding the one or more extracted characteristics, and grants or denies access to the protected resource based at least in part on the input received from the user.
    Type: Grant
    Filed: December 12, 2008
    Date of Patent: June 6, 2017
    Assignee: EMC IP Holding Company LLC
    Inventor: Magnus Nyström
  • Patent number: 9268492
    Abstract: A system that includes an account management module configured to maintain protected accounts. For instance, a particular protected account includes a protected data set that is not readable outside of the system, and perhaps not even readable outside of the account. The particular data set corresponds to a particular entity assigned to the particular account and that includes keys corresponding to the particular entity. A security processor uses at least some of the plurality of keys to perform cryptographic processes in response to one or more trusted execution environment commands received from the particular entity.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: February 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark F. Novak, Andrew John Layman, Magnus Nyström, Stefan Thom
  • Patent number: 9256750
    Abstract: Computing devices utilizing trusted execution environments as virtual smart cards are designed to support expected credential recovery operations when a user credential, e.g., personal identification number (PIN), password, etc. has been forgotten or is unknown. A computing device generates a cryptographic key that is protected with a PIN unlock key (PUK) provided by an administrative entity. If the user PIN cannot be input to the computing device the PUK can be input to unlock the locked cryptographic key and thereby provide access to protected data. A computing device can also, or alternatively, generate a group of challenges and formulate responses thereto. The formulated responses are each used to secure a computing device cryptographic key. If the user PIN cannot be input to the computing device an entity may request a challenge. The computing device issues a challenge from the set of generated challenges.
    Type: Grant
    Filed: March 28, 2015
    Date of Patent: February 9, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Stefan Thom, Robert K. Spiger, Magnus NystrÖm, Himanshu Soni, Marc R. Barbour, Nick Voicu, Xintong Zhou, Kirk Shoop
  • Patent number: 9203620
    Abstract: A mobile telephone or other type of mobile communication device is configured to store a cryptographic credential within a secure hardware environment of the device. A script is provisioned for execution in the mobile communication device, the script comprising program code that executes at least in part within the secure hardware environment and is configured to utilize the cryptographic credential stored within the secure hardware environment. Prior to permitting the script to access the cryptographic credential, the secure hardware environment verifies an endorsement of the script. The endorsement may be provided by an issuer of the cryptographic credential. The cryptographic credential stored in the secure hardware environment may comprise a long-term credential and the script may be configured to generate a plurality of short-lived credentials based on the long-term credential.
    Type: Grant
    Filed: January 28, 2009
    Date of Patent: December 1, 2015
    Assignee: EMC Corporation
    Inventor: Magnus Nyström
  • Publication number: 20150213278
    Abstract: Computing devices utilizing trusted execution environments as virtual smart cards are designed to support expected credential recovery operations when a user credential, e.g., personal identification number (PIN), password, etc. has been forgotten or is unknown. A computing device generates a cryptographic key that is protected with a PIN unlock key (PUK) provided by an administrative entity. If the user PIN cannot be input to the computing device the PUK can be input to unlock the locked cryptographic key and thereby provide access to protected data. A computing device can also, or alternatively, generate a group of challenges and formulate responses thereto. The formulated responses are each used to secure a computing device cryptographic key. If the user PIN cannot be input to the computing device an entity may request a challenge. The computing device issues a challenge from the set of generated challenges.
    Type: Application
    Filed: March 28, 2015
    Publication date: July 30, 2015
    Inventors: Stefan Thom, Robert K. Spiger, Magnus NystrÖm, Himanshu Soni, Marc R. Barbour, Nick Voicu, Xintong Zhou, Kirk Shoop
  • Patent number: 9071439
    Abstract: Techniques are disclosed for performing operations in an authentication token or other cryptographic device in a system comprising an authentication server. In one aspect, a code generated by the authentication server is received in the cryptographic device. The code may have associated therewith information specifying at least one operation to be performed by the cryptographic device. The cryptographic device authenticates the code, and responsive to authentication of the code, performs the specified operation. If the code is not authenticated, the operation is not performed. The code may be determined as a function of a one-time password generated by the authentication server. The function may also take as an input an identifier of the operation to be performed.
    Type: Grant
    Filed: June 28, 2007
    Date of Patent: June 30, 2015
    Assignee: EMC Corporation
    Inventors: Magnus Nyström, William M. Duane, James Townsend
  • Patent number: 9015490
    Abstract: Computing devices utilizing trusted execution environments as virtual smart cards are designed to support expected credential recovery operations when a user credential, e.g., personal identification number (PIN), password, etc. has been forgotten or is unknown. A computing device generates a cryptographic key that is protected with a PIN unlock key (PUK) provided by an administrative entity. If the user PIN cannot be input to the computing device the PUK can be input to unlock the locked cryptographic key and thereby provide access to protected data. A computing device can also, or alternatively, generate a group of challenges and formulate responses thereto. The formulated responses are each used to secure a computing device cryptographic key. If the user PIN cannot be input to the computing device an entity may request a challenge. The computing device issues a challenge from the set of generated challenges.
    Type: Grant
    Filed: December 12, 2013
    Date of Patent: April 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan Thom, Robert K. Spiger, Magnus NystrÖm, Himanshu Soni, Marc R. Barbour, Nick Voicu, Xintong Zhou, Kirk Shoop
  • Patent number: 8954965
    Abstract: Cloning of a virtual machine having a trusted executed environment such as a software-based trusted platform module. In order to clone the virtual machine, the virtual machine state of the source virtual machine is copied to formulate a target virtual machine state that is to be associated with a target virtual machine. The target virtual machine is a clone of the source virtual machine state, and thus the storage hierarchy of the trusted execution environment may be the same for the trusted execution environment in the source and target virtual machine states. However, because the identity of the target virtual machine is different than that of the source virtual machine, the endorsement hierarchy of the target virtual machine state is altered such that it is based on the identity of the target virtual machine, rather than the source virtual machine.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: February 10, 2015
    Assignee: Microsoft Corporation
    Inventors: Mark F. Novak, Andrew John Layman, Magnus Nyström, Stefan Thom
  • Publication number: 20140304506
    Abstract: A system that includes an account management module configured to maintain protected accounts. For instance, a particular protected account includes a protected data set that is not readable outside of the system, and perhaps not even readable outside of the account. The particular data set corresponds to a particular entity assigned to the particular account and that includes keys corresponding to the particular entity. A security processor uses at least some of the plurality of keys to perform cryptographic processes in response to one or more trusted execution environment commands received from the particular entity.
    Type: Application
    Filed: June 23, 2014
    Publication date: October 9, 2014
    Inventors: Mark F. Novak, Andrew John Layman, Magnus Nyström, Stefan Thom
  • Patent number: 8826033
    Abstract: A virtual machine on a physical host computer provides controlled access to protected data by creating and storing a “stored system fingerprint” from stable system values (SSVs) as existing when creating the stored system fingerprint. The SSVs include virtual-machine-specific values that change upon cloning the virtual machine (VM) but do not change upon migration of the VM. Upon a request for access to the protected data, a current system fingerprint is calculated from the SSVs as existing when processing the request, the current system fingerprint is compared to the stored system fingerprint to determine whether there is a predetermined degree of matching, and the requested access to the protected data is permitted only if there is the predetermined degree of matching.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: September 2, 2014
    Assignee: EMC Corporation
    Inventors: Ajay Venkateshan Krishnaprasad, Parasuraman Narasimhan, Robert Polansky, Magnus Nyström
  • Patent number: 8782423
    Abstract: A system that includes an account management module configured to maintain protected accounts. For instance, a particular protected account includes a protected data set that is not readable outside of the system, and perhaps not even readable outside of the account. The particular data set corresponds to a particular entity assigned to the particular account and that includes keys corresponding to the particular entity. A security processor uses at least some of the plurality of keys to perform cryptographic processes in response to one or more trusted execution environment commands received from the particular entity.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: July 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Mark F. Novak, Andrew John Layman, Magnus Nyström, Stefan Thom
  • Patent number: 8751804
    Abstract: A technique controls access to a file. The technique involves creating a file encryption key based on (i) a user input parameter (e.g., a user password) from a user of the client device and (ii) an automatically generated salt parameter (e.g., a random number). The technique further involves encrypting the file using the file encryption key to form an encrypted copy of the file, and providing the salt parameter to an external storage system to externally store the salt parameter. Access to data within the encrypted copy of the file requires the salt parameter provided to the external storage system.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: June 10, 2014
    Assignee: DECHO Corporation
    Inventors: Magnus Nyström, Alina Oprea, Adam Back
  • Publication number: 20140101454
    Abstract: Computing devices utilizing trusted execution environments as virtual smart cards are designed to support expected credential recovery operations when a user credential, personal identification number (PIN), password, etc. has been forgotten or is unknown. A computing device generates a cryptographic key that is protected with a PIN unlock key (PUK) provided by an administrative entity. If the user PIN cannot be input to the computing device the PUK can be input to unlock the locked cryptographic key and thereby provide access to protected data. A computing device can also, or alternatively, generate a group of challenges and formulate responses thereto. The formulated responses are each used to secure a computing device cryptographic key. If the user PIN cannot be input to the computing device an entity may request a challenge. The computing device issues a challenge from the set of generated challenges.
    Type: Application
    Filed: December 12, 2013
    Publication date: April 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Stefan Thom, Robert K. Spiger, Magnus NystrÖm, Himanshu Soni, Marc R. Barbour, Nick Voicu, Xintong Zhou, Kirk Shoop
  • Publication number: 20140040890
    Abstract: Cloning of a virtual machine having a trusted executed environment such as a software-based trusted platform module. In order to clone the virtual machine, the virtual machine state of the source virtual machine is copied to formulate a target virtual machine state that is to be associated with a target virtual machine. The target virtual machine is a clone of the source virtual machine state, and thus the storage hierarchy of the trusted execution environment may be the same for the trusted execution environment in the source and target virtual machine states. However, because the identity of the target virtual machine is different than that of the source virtual machine, the endorsement hierarchy of the target virtual machine state is altered such that it is based on the identity of the target virtual machine, rather than the source virtual machine.
    Type: Application
    Filed: August 3, 2012
    Publication date: February 6, 2014
    Applicant: Microsoft Corporation
    Inventors: Mark F. Novak, Andrew John Layman, Magnus Nyström, Stefan Thom
  • Patent number: 8627464
    Abstract: An event log can comprise, not only entries associated with components instantiated since a most recent power on of a computing device, but also entries of components instantiated prior to that power on, such as components that were instantiated, and represent, a state of the computing device prior to hibernation that has now been resumed. Upon hibernation, the current values of the Platform Configuration Registers (PCRs) of a Trusted Platform Module (trusted execution environment), as well as a quote of those current values, and a current value of a monotonic counter of the trusted execution environment can be logged. The monotonic counter can be incremented at each power on to track successive generations of the computing device and to guard against an intervening, not-logged generation. A subsequent parsing of the event log can verify the prior generational entries with reference to the PCR values in the log that are associated with those generations.
    Type: Grant
    Filed: November 2, 2010
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Stefan Thom, Nathan Ide, Scott Danie Anderson, Robert Karl Spiger, David J. Linsley, Mark Fishel Novak, Magnus Nyström
  • Publication number: 20130339729
    Abstract: A system that includes an account management module configured to maintain protected accounts. For instance, a particular protected account includes a protected data set that is not readable outside of the system, and perhaps not even readable outside of the account. The particular data set corresponds to a particular entity assigned to the particular account and that includes keys corresponding to the particular entity. A security processor uses at least some of the plurality of keys to perform cryptographic processes in response to one or more trusted execution environment commands received from the particular entity.
    Type: Application
    Filed: June 19, 2012
    Publication date: December 19, 2013
    Applicant: Microsoft Corporation
    Inventors: Mark F. Novak, Andrew John Layman, Magnus Nyström, Stefan Thom
  • Patent number: 8612766
    Abstract: Computing devices utilizing trusted execution environments as virtual smart cards are designed to support expected credential recovery operations when a user credential, e.g., personal identification number (PIN), password, etc. has been forgotten or is unknown. A computing device generates a cryptographic key that is protected with a PIN unlock key (PUK) provided by an administrative entity. If the user PIN cannot be input to the computing device the PUK can be input to unlock the locked cryptographic key and thereby provide access to protected data. A computing device can also, or alternatively, generate a group of challenges and formulate responses thereto. The formulated responses are each used to secure a computing device cryptographic key. If the user PIN cannot be input to the computing device an entity may request a challenge. The computing device issues a challenge from the set of generated challenges.
    Type: Grant
    Filed: July 5, 2011
    Date of Patent: December 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Stefan Thom, Robert K. Spiger, Magnus Nyström, Himanshu Soni, Marc R. Barbour, Nick Voicu, Xintong Zhou, Kirk Shoop
  • Patent number: 8413221
    Abstract: An authentication-delegating service implemented in an authentication server or other processing device is configured to receive a request from a relying party for delegated authentication information associated with a particular user, to determine a level of trust associated with the relying party, and to provide the delegated authentication information to the relying party if the relying party has a sufficient level of trust, so as to permit the relying party to authenticate the user based on the delegated authentication information. The delegated authentication information has the property that the user can be presently authenticated based on such information. The delegated authentication information may comprise, for example, at least one value derived from a one-time password or other authentication credential of the particular user.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: April 2, 2013
    Assignee: EMC Corporation
    Inventors: Burton S. Kaliski, Jr., Magnus Nyström
  • Publication number: 20120297200
    Abstract: One or more techniques and/or systems are provided for provisioning encrypted key blobs and client certificates. That is, a trusted execution environment on a first machine may provide a key service provider with a cryptographic encryption key. The key service provider may encrypt a key blob using the cryptographic encryption key and/or wrap the encrypted key blob with one or more policies, such as a platform policy. The key service provider may provision the encrypted key blob to a client on the first machine. The client may submit the encrypted key blob to the trusted execution environment for validation so that the client may perform key actions, such as sign an email or encrypt data. Because the key blob may be specific to a particular trusted execution environment and/or machine, the key service provider may re-wrap the key blob if the client “roams” to a second machine.
    Type: Application
    Filed: May 17, 2011
    Publication date: November 22, 2012
    Applicant: Microsoft Corporation
    Inventors: Stefan Thom, Robert Karl Spiger, Valerie Kathleen Bays, Bo Gustaf Magnus Nyström