WO2015188151A1

Securely sharing information via a public key- value data store

Abstract

In some embodiments, each client device in the network has a private key and a public key. For two client devices to securely exchange information, each computes a shared secret based on its own private key and the other's public key. The client devices use the shared secret to generate a shared secret key pair. The shared secret public key is used as a key by each client device to store data in a public key- value data store to share with the other client device. The shared data is signed using the shared secret key pair. The shared data may also be encrypted using the shared secret key pair. Each client device uses the shared secret public key to retrieve the data from the public key-value data store. Each client device uses the shared secret key pair to verify and decrypt the shared data.

WO2015188151A1, drawing sheet 1
Sheet 1 of 4

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

20 claims: 6 independent, 14 dependent

  1. 1
    CLAIMS 1. A computer-implemented method for sharing information:storing, by a first client device, a first private key and a first public key associated with the first client device;identifying, by the first client device, a second public key associated with a second client device;generating, by the first client device, a shared secret based on the first private key and the second public key using a key exchange protocol;generating, by the first client device, a shared secret public key using the shared secret;storing, by the first client device, communication data in a public key-value data store using the shared secret;and establishing, by the first client device, a connection with the second client device based on the communication data, the communication data retrieved by the second client device from the public key-value data store using a duplicate shared secret public key, the duplicate shared secret public key generated by the second client device using the first public key and a second private key associated with the second client device.
  2. 5
    The method of c laim 1, wherein a duplicate shared secret private key is associated with the duplicate shared secret public key, the method further comprising:encrypting the communication data using the shared secret public key prior to storing the communication data in the public-key value data store, the communication data decrypted by the second client device using the duplicate shared secret private key.
  3. 6
    The method of c laim 1, further comprising:monitoring the public-key value data store for changes in data associated with the shared secret public key.
  4. 7
    A computer-implemented method for sharing information:storing, by first client device, a first private key associated with the first client device;generating, by the first client device, a shared secret public key based on the first private key and a second public key associated with a second client device;and storing, by the first client device, data in a data store in association with the shared secret public key, the data store accessible by the second client device.
  5. 16
    The method of c laim 7, further comprising:monitoring the data store for changes in data associated with the shared secret public key.
  6. 17
    A non-transitory computer-readable storage medium storing executable computer program instructions for sharing information, the computer program instructions comprising instructions for:storing, by first client device, a first private key associated with the first client device;generating, by the first client device, a shared secret public key based on the first private key and a second public key associated with a second client device;and storing, by the first client device, data in a data store in association with the shared secret public key, the data store accessible by the second client device.