Data encryption for multi-cloud security
AssigneeMicrosoft Technology Licensing, LLC
InventorVishal Jaikishan CHANDWANI
Life of this patent
Estimating the term…
Abstract
Systems and methods for data encryption and decryption requiring successive partial decryption using multiple keys. The method is designed to generate a public key used to encrypt plaintext into an encrypted message and to generate multiple private keys, each of which are different from one another and are transmitted to separate computing devices to be used for decryption. The encrypted message is sent to one computing device for partial decryption using one private key, and the partial decryption is sent to another computing device for partial decryption using a different private key to generate the plaintext.
Claims21
-20. (canceled)
A system comprising:
- a memory;
- and
- a processor coupled to the memory to:
- generate a public key as a function of a modulus and an encryption value;
- determine a modular multiplicative inverse of a value that involves the modulus and the encryption value;
- factor the modular multiplicative inverse into a first factor and a second factor, the first factor representing a first private key enabling a first partial decryption and the second factor representing a second private key enabling a second partial decryption;
- transmit the first private key to a first computing device and transmit the second private key to a second computing device, the first computing device controlled by a first provider and the second computing device controlled by a second provider, wherein neither the first provider nor the second provider has access to both the first private key and the second private key;
- and
- using the public key, encrypt a connection established between the system and a third computing device at least by:
- performing a secure authentication of a user of the system to the third computing device,
- the secure authentication of the user including a first partial decryption based on the public key and performed on the first computing device or the second computing device.
A computer-implemented method comprising:
- generating, by a key generator implemented on a processor of a first computing device, a public key as a function of a modulus and an encryption value;
- determining, by the key generator, a modular multiplicative inverse of a value that involves the modulus and the encryption value;
- factoring, by the key generator, the modular multiplicative inverse into a first factor and a second factor, the first factor representing a first private key enabling a first partial decryption and the second factor representing a second private key enabling a second partial decryption;
- transmitting, by a communication interface, the first private key to a first cloud provider and transmitting the second private key to a second cloud provider, the first cloud provider controlled by a first provider and the second cloud provider controlled by a second provider, wherein neither the first provider nor the second provider has access to both the first private key and the second private key;
- and
- encrypting, by an encryptor implemented on the processor using the generated public key, a connection established between the first computing device and a second computing device at least by:
- performing a secure authentication of a user of the processor to the second computing device, including transmitting, by the communications interface, the public key to the first cloud provider,
- the secure authentication of the user including a partial decryption based on the public key and performed on the first cloud provider using the first private key.
A computer storage medium storing instructions that, when executed by a processor, cause the processor to:
- obtain, from a first computing device controlled by a first provider, a first private key enabling a first partial decryption;
- obtain, from a second computing device controlled by a second provider, a partially-decrypted encrypted connection, the partially-decrypted encrypted connection having been decrypted by the second computing device using a second private key enabling a second partial decryption;
- complete a decryption of the partially-decrypted encrypted connection using the obtained first private key, resulting in a fully decrypted encrypted connection;
- and
- wherein neither the first provider nor the second provider has access to both the first private key and the second private key.
Dependencies are inferred from the claim text.