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: 8799680Abstract: 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: GrantFiled: September 15, 2005Date of Patent: August 5, 2014Assignee: Microsoft CorporationInventors: Niels T. Ferguson, Stacy N. Stonich
-
Publication number: 20140108814Abstract: 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: ApplicationFiled: December 23, 2010Publication date: April 17, 2014Applicant: MICROSOFT CORPORATIONInventors: 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: 8682948Abstract: 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: GrantFiled: January 6, 2011Date of Patent: March 25, 2014Assignee: Microsoft CorporationInventors: Niels T. Ferguson, Dayi Zhou, Vijay G. Bharadwaj
-
Patent number: 8509449Abstract: 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: GrantFiled: July 24, 2009Date of Patent: August 13, 2013Assignee: Microsoft CorporationInventors: Octavian T. Ureche, Gaurav Sinha, Nils Dussart, Yi Liu, Vijay G. Bharadwaj, Niels T. Ferguson
-
Patent number: 8462955Abstract: 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: GrantFiled: June 3, 2010Date of Patent: June 11, 2013Assignee: Microsoft CorporationInventors: 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: 8417969Abstract: 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: GrantFiled: February 19, 2009Date of Patent: April 9, 2013Assignee: Microsoft CorporationInventors: Russell Humphries, Octavian T. Ureche, Niels T. Ferguson, Ping Xie
-
Patent number: 8381279Abstract: 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: GrantFiled: February 13, 2009Date of Patent: February 19, 2013Assignee: Microsoft CorporationInventors: John R. Michener, Niels T Ferguson, Carl M. Ellison, Josh Benaloh, Brian A LaMacchia
-
Publication number: 20120257759Abstract: 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: ApplicationFiled: April 11, 2011Publication date: October 11, 2012Applicant: MICROSOFT CORPORATIONInventors: Benjamin E. Nick, Magnus Bo Gustaf Nyström, Cristian M. Ilac, Niels T. Ferguson, Nils Dussart
-
Publication number: 20120179735Abstract: 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: ApplicationFiled: January 6, 2011Publication date: July 12, 2012Applicant: MICROSOFT CORPORATIONInventors: Niels T. Ferguson, Dayi Zhou, Vijay G. Bharadwaj
-
Publication number: 20110302398Abstract: 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: ApplicationFiled: June 3, 2010Publication date: December 8, 2011Applicant: MICROSOFT CORPORATIONInventors: 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: 8046593Abstract: 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: GrantFiled: June 7, 2006Date of Patent: October 25, 2011Assignee: Microsoft CorporationInventors: Carl M. Ellison, Jamie Hunter, Kenneth D. Ray, Niels T. Ferguson, Philip J. Lafornara, Russell Humphries
-
Patent number: 8036379Abstract: 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: GrantFiled: March 15, 2006Date of Patent: October 11, 2011Assignee: Microsoft CorporationInventors: Niels T. Ferguson, Peter L. Montgomery
-
Publication number: 20110022856Abstract: 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: ApplicationFiled: July 24, 2009Publication date: January 27, 2011Applicant: MICROSOFT CORPORATIONInventors: Octavian T. Ureche, Gaurav Sinha, Nils Dussart, Yi Liu, Vijay G. Bharadwaj, Niels T. Ferguson
-
Publication number: 20100211802Abstract: 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: ApplicationFiled: February 19, 2009Publication date: August 19, 2010Applicant: Microsoft CorporationInventors: Russell Humphries, Octavian T. Ureche, Niels T. Ferguson, Ping Xie
-
Publication number: 20100212002Abstract: 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: ApplicationFiled: February 13, 2009Publication date: August 19, 2010Applicant: MICROSOFT CORPORATIONInventors: John R. Michener, Niels T Ferguson, Carl M. Ellison, Josh Benaloh, Brian A LaMacchia
-
Publication number: 20080022132Abstract: 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: ApplicationFiled: June 7, 2006Publication date: January 24, 2008Applicant: Microsoft CorporationInventors: Carl M. Ellison, Jamie Hunter, Kenneth D. Ray, Niels T. Ferguson, Philip J. Lafornara, Russell Humphries
-
Patent number: 6035380Abstract: 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: GrantFiled: February 19, 1998Date of Patent: March 7, 2000Inventors: 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: 5956400Abstract: 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: GrantFiled: July 19, 1996Date of Patent: September 21, 1999Assignee: DigiCash IncorporatedInventors: David Chaum, Niels T. Ferguson, Berry Schoenmakers, Erik W. Voskuil