Patents by Inventor Niels T. Ferguson

Niels T. Ferguson 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: 8799680
    Abstract: A transactional sealed storage system enables data to be accessed according to transactional properties and also enables access to the data to be restricted to secured applications. The transactional properties according to which the data may be accessed may include, for example, at least some levels of atomicity, consistency, isolation, and durability. The access to the data may be restricted by, for example, employing a double layer security policy that involves encrypting the data and also authenticating any application that requests access to the encrypted data.
    Type: Grant
    Filed: September 15, 2005
    Date of Patent: August 5, 2014
    Assignee: Microsoft Corporation
    Inventors: Niels T. Ferguson, Stacy N. Stonich
  • Publication number: 20140108814
    Abstract: Cryptographic key management techniques are described. In one or more implementations, an access control rule is read that includes a Boolean expression having a plurality of atoms. The cryptographic keys that corresponds each of the plurality of atoms in the access control rule are requested. One or more cryptographic operations are then performed on data using one or more of the cryptographic keys.
    Type: Application
    Filed: December 23, 2010
    Publication date: April 17, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Vijay G. Bharadwaj, Niels T. Ferguson, Carl M. Ellison, Magnus Bo Gustaf Nyström, Dayi Zhou, Denis Issoupov, Octavian T. Ureche, Peter J. Novotney, Cristian M. Ilac
  • Patent number: 8682948
    Abstract: In embodiments of scalable random number generation, a system includes one or more entropy pools that combine entropy data, which is derived from entropy sources based on event data. A root pseudo-random number generator (PRNG) maintains a seeded entropy state that is reseeded by the entropy pools, and a seed version identifier updates to indicate a current seed version of the root PRNG. Processor PRNGs are instantiated one each per logical processor in a kernel of the system, where each processor PRNG maintains a PRNG entropy state that is reseeded from the root PRNG, and a processor PRNG generates a random number from a respective PRNG entropy state when invoked.
    Type: Grant
    Filed: January 6, 2011
    Date of Patent: March 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Niels T. Ferguson, Dayi Zhou, Vijay G. Bharadwaj
  • Patent number: 8509449
    Abstract: A key protector for a storage volume is created by generating an intermediate key and protecting, based at least in part on a public/private key pair, the intermediate key. A volume master key for encrypting and decrypting one or more volume encryption keys that are used to encrypt the storage volume can be encrypted in different manners, including being encrypted based at least in part on the intermediate key. A key protector for the storage volume is stored that includes both the encrypted volume master key and information indicating how to obtain the intermediate key. Subsequently, the key protector can be accessed and, based at least in part on a private key of the entity associated with the key protector, the intermediate key can be decrypted. The intermediate key can then be used to decrypt the volume master key.
    Type: Grant
    Filed: July 24, 2009
    Date of Patent: August 13, 2013
    Assignee: Microsoft Corporation
    Inventors: Octavian T. Ureche, Gaurav Sinha, Nils Dussart, Yi Liu, Vijay G. Bharadwaj, Niels T. Ferguson
  • Patent number: 8462955
    Abstract: An online key stored by a remote service is generated or otherwise obtained, and a storage media (as it applies to the storage of data on a physical or virtual storage media) master key for encrypting and decrypting a physical or virtual storage media or encrypting and decrypting one or more storage media encryption keys that are used to encrypt a physical or virtual storage media is encrypted based at least in part on the online key. A key protector for the storage media is stored, the key protector including the encrypted master key. The key protector can be subsequently accessed, and the online key obtained from the remote service. The master key is decrypted based on the online key, allowing the one or more storage media encryption keys that are used to decrypt the storage media to be decrypted.
    Type: Grant
    Filed: June 3, 2010
    Date of Patent: June 11, 2013
    Assignee: Microsoft Corporation
    Inventors: Octavian T. Ureche, Nils Dussart, Michael A. Halcrow, Charles G. Jeffries, Nathan T. Lewis, Cristian M. Ilac, Innokentiy Basmov, Magnus Bo Gustaf Nyström, Niels T. Ferguson
  • Patent number: 8417969
    Abstract: A storage volume is encrypted using a particular encryption technique, the storage volume including an access application and one or more cover files. The access application can be executed by a computing device having an operating system lacking support for the particular encryption technique, and allows the computing device to access data on the storage volume encrypted using the particular encryption technique.
    Type: Grant
    Filed: February 19, 2009
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Russell Humphries, Octavian T. Ureche, Niels T. Ferguson, Ping Xie
  • Patent number: 8381279
    Abstract: This document describes tools that constrain a login to a subset of access rights. In one embodiment, the tools generate a constrained password by executing a cryptographic algorithm on a user ID, general password, and one or more desired constraints. The constrained password is used in place of the general password to gain access rights that are a subset of the access rights that would be granted if the general password were used instead.
    Type: Grant
    Filed: February 13, 2009
    Date of Patent: February 19, 2013
    Assignee: Microsoft Corporation
    Inventors: John R. Michener, Niels T Ferguson, Carl M. Ellison, Josh Benaloh, Brian A LaMacchia
  • Publication number: 20120257759
    Abstract: A key recovery request for a device is received at a key recovery service and a particular one-time recovery credential in a sequence of multiple one-time recovery credentials is identified. In the sequence of multiple one-time recovery credentials, previous one-time recovery credentials in the sequence are indeterminable given subsequent one-time recovery credentials in the sequence. A recovery key associated with the device is also identified. The particular one-time recovery credential in the sequence is generated based on the recovery key, and is returned in response to the key recovery request. The particular one-time recovery credential can then be used by the device to decrypt encrypted data stored on a storage media of the device.
    Type: Application
    Filed: April 11, 2011
    Publication date: October 11, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Benjamin E. Nick, Magnus Bo Gustaf Nyström, Cristian M. Ilac, Niels T. Ferguson, Nils Dussart
  • Publication number: 20120179735
    Abstract: In embodiments of scalable random number generation, a system includes one or more entropy pools that combine entropy data, which is derived from entropy sources based on event data. A root pseudo-random number generator (PRNG) maintains a seeded entropy state that is reseeded by the entropy pools, and a seed version identifier updates to indicate a current seed version of the root PRNG. Processor PRNGs are instantiated one each per logical processor in a kernel of the system, where each processor PRNG maintains a PRNG entropy state that is reseeded from the root PRNG, and a processor PRNG generates a random number from a respective PRNG entropy state when invoked.
    Type: Application
    Filed: January 6, 2011
    Publication date: July 12, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Niels T. Ferguson, Dayi Zhou, Vijay G. Bharadwaj
  • Publication number: 20110302398
    Abstract: An online key stored by a remote service is generated or otherwise obtained, and a storage media (as it applies to the storage of data on a physical or virtual storage media) master key for encrypting and decrypting a physical or virtual storage media or encrypting and decrypting one or more storage media encryption keys that are used to encrypt a physical or virtual storage media is encrypted based at least in part on the online key. A key protector for the storage media is stored, the key protector including the encrypted master key. The key protector can be subsequently accessed, and the online key obtained from the remote service. The master key is decrypted based on the online key, allowing the one or more storage media encryption keys that are used to decrypt the storage media to be decrypted.
    Type: Application
    Filed: June 3, 2010
    Publication date: December 8, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Octavian T. Ureche, Nils Dussart, Michael A. Halcrow, Charles G. Jeffries, Nathan T. Lewis, Cristian M. Ilac, Innokentiy Basmov, Bo Gustaf Magnus Nystr+e,uml o+ee m, Niels T. Ferguson
  • Patent number: 8046593
    Abstract: Access to a storage device, such as a disk, is controlled by performing a disk operation using a single cryptographic engine. Keys associated with each layer of a layered structure associated with controlling access to the storage device are combined. The resultant of this combination is used as the key to the cryptographic engine. Data to be retrieved from and written to the storage device are operated on by the cryptographic engine utilizing the combined key. Keys are combined by combining functions associated with layers of the layered structure. A combining function can include an exclusive or function, a cryptographic hash function, or a combination thereof.
    Type: Grant
    Filed: June 7, 2006
    Date of Patent: October 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Carl M. Ellison, Jamie Hunter, Kenneth D. Ray, Niels T. Ferguson, Philip J. Lafornara, Russell Humphries
  • Patent number: 8036379
    Abstract: Executable instructions designed to provide faster cryptographic processing, fixed-timing memory access, and dedicated memory usage are implementable on an x86 CPU utilizing XMM registers. The instructions can be utilized to implement cryptographic processing in accordance with the Advanced Encryption Standard (AES). To encrypt, a single instruction performs nonlinear transformation, rotation, and linear transformation. Another single instruction used during encryption performs nonlinear transformation and rotation. New instructions also are implemented to perform decryption. The instructions implemented to perform decryption perform the mathematical inverse functions of their counterparts used for encryption.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: October 11, 2011
    Assignee: Microsoft Corporation
    Inventors: Niels T. Ferguson, Peter L. Montgomery
  • Publication number: 20110022856
    Abstract: In accordance with one or more aspects, a key protector for a storage volume is created by generating an intermediate key and protecting, based at least in part on a public/private key pair, the intermediate key. A volume master key for encrypting and decrypting one or more volume encryption keys that are used to encrypt the storage volume can be encrypted in different manners, including being encrypted based at least in part on the intermediate key. A key protector for the storage volume is stored that includes both the encrypted volume master key and information indicating how to obtain the intermediate key. Subsequently, the key protector can be accessed and, based at least in part on a private key of the entity associated with the key protector, the intermediate key can be decrypted. The intermediate key can then be used to decrypt the volume master key.
    Type: Application
    Filed: July 24, 2009
    Publication date: January 27, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Octavian T. Ureche, Gaurav Sinha, Nils Dussart, Yi Liu, Vijay G. Bharadwaj, Niels T. Ferguson
  • Publication number: 20100211802
    Abstract: A storage volume is encrypted using a particular encryption technique, the storage volume including an access application and one or more cover files. The access application can be executed by a computing device having an operating system lacking support for the particular encryption technique, and allows the computing device to access data on the storage volume encrypted using the particular encryption technique.
    Type: Application
    Filed: February 19, 2009
    Publication date: August 19, 2010
    Applicant: Microsoft Corporation
    Inventors: Russell Humphries, Octavian T. Ureche, Niels T. Ferguson, Ping Xie
  • Publication number: 20100212002
    Abstract: This document describes tools that constrain a login to a subset of access rights. In one embodiment, the tools generate a constrained password by executing a cryptographic algorithm on a user ID, general password, and one or more desired constraints. The constrained password is used in place of the general password to gain access rights that are a subset of the access rights that would be granted if the general password were used instead.
    Type: Application
    Filed: February 13, 2009
    Publication date: August 19, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: John R. Michener, Niels T Ferguson, Carl M. Ellison, Josh Benaloh, Brian A LaMacchia
  • Publication number: 20080022132
    Abstract: Access to a storage device, such as a disk, is controlled by performing a disk operation using a single cryptographic engine. Keys associated with each layer of a layered structure associated with controlling access to the storage device are combined. The resultant of this combination is used as the key to the cryptographic engine. Data to be retrieved from and written to the storage device are operated on by the cryptographic engine utilizing the combined key. Keys are combined by combining functions associated with layers of the layered structure. A combining function can include an exclusive or function, a cryptographic hash function, or a combination thereof.
    Type: Application
    Filed: June 7, 2006
    Publication date: January 24, 2008
    Applicant: Microsoft Corporation
    Inventors: Carl M. Ellison, Jamie Hunter, Kenneth D. Ray, Niels T. Ferguson, Philip J. Lafornara, Russell Humphries
  • Patent number: 6035380
    Abstract: A single chip processor for use in a smart card has a plurality of instruction memory areas and a processor. Different instructions sets are selectively executable in response to a signal defining a memory area from which instructions are supplied. Preferably instruction and data memory areas are addressable as pages, wherein a page address cannot be directly accessed by a subset of instructions. The processor may include a central processing unit and a cryptographic logic unit which operate at different times and share common instruction memory and sequencing logic. Instructions are supplied to said cryptographic logic unit at an integer multiple of the rate at which they are supplied to said central processing unit.
    Type: Grant
    Filed: February 19, 1998
    Date of Patent: March 7, 2000
    Inventors: Christopher D. Shelton, Martin S. Kelly, William E. Orme, Marius P. M. Schilder, Niels T. Ferguson, David Chaum, Wolfgang Mayerwieser, Reinhard Posch, Volker Schindler
  • Patent number: 5956400
    Abstract: An information storage system includes one or more information update terminals, a mapper, one or more partial-databases, and one or more query terminals, exchanging messages over a set of communication channels. An identifier-mapping mechanism provides (to an update terminal) a method for delegating control over retrieval of the data stored at the partial-databases to one or more mappers, typically operated by one or more trusted third parties. Update terminals supply information, that is stored in fragmented form by the partial-databases. Data-fragment identifiers and pseudonyms are introduced, preventing unauthorized de-fragmentation of information--thus providing compliance to privacy legislation--while at the same time allowing query terminals to retrieve (part of) the stored data or learn properties of the stored data. The mapper is necessarily involved in both operations, allowing data access policies to be enforced and potential abuse of stored information to be reduced.
    Type: Grant
    Filed: July 19, 1996
    Date of Patent: September 21, 1999
    Assignee: DigiCash Incorporated
    Inventors: David Chaum, Niels T. Ferguson, Berry Schoenmakers, Erik W. Voskuil