System and method for chat messaging in a zero-knowledge vault architecture
AssigneeKeeper Security, Inc.
InventorsCraig B. Lurey, Darren S. Guccione
Life of this patent
Estimating the term…
Abstract
A system and/or method includes facilitating secured chat messaging. An application module can derive a master password-based encryption key from a master password. The application module can generate a data key and encrypt the data key with the master password-based encryption key. The application module can generate a record key for encrypting chat messages of a chat thread and encrypt the record key with the data key. The application module can decrypt the chat messages in the chat thread with the record key, where the record key is decrypted with the data key, and where the data key is decrypted with the master password-based encryption key. The application module can display the decrypted chat messages.
Claims17
A computer-implemented method for facilitating secured chat messaging between a application module corresponding to a first user and a second application module corresponding to a second user on the first application module, the method comprising:
- deriving a master password-based encryption key from a master password;
- generating a data key;
- encrypting the data key with the master password-based encryption key;
- sending the encrypted data key to a first service provider vault corresponding to the first user;
- generating a first key pair comprising a first public key and a first private key corresponding to the first user;
- storing the first public key in the service provider vault without encryption for the second application module to receive from the service provider vault;
- generating a record key;
- encrypting chat messages of a chat thread using the record key;
- (e) encrypting, by the application module, the record key with the data key;
- decrypting the chat messages in the chat thread with the record key for display on the first client device;
- receiving a second public key from the second client device;
- encrypting the record key using the second public key;
- and
- synchronizing the encrypted record key and encrypted chat messages in the chat thread with a second service provider vault corresponding to the second user, where the encrypted record key is accessed by a second application module corresponding to the second user, and decrypted using a second private key in a second key pair corresponding to the second user for decryption of the chat messages in the chat thread by the second application module.
A computer-implemented method for facilitating secured chat messaging between a first application module corresponding to a first user and a second application module corresponding to a second user on the first application module, the method comprising:
- deriving a master password-based encryption key from a master password;
- generating a data key;
- encrypting the data key with the master password-based encryption key;
- sending the encrypted data key to a first service provider vault corresponding to the first user;
- generating a first key pair comprising a first public key and a first private key corresponding to the first user;
- storing the first public key in the first service provider vault without encryption for the second client device to receive from the first service provider vault;
- receiving request to connect to a chat thread from a second application module corresponding to the second user where the second application module accesses the first public key corresponding to the first user from the first service provider vault and encrypts a record key for encrypting chat messages of a chat thread using the first public key;
- decrypting the first private key using the data key;
- decrypting the encrypted record key using the first private key;
- decrypting the chat messages in the chat thread using the record key;
- and
- sending the decrypted chat messages for display by the second application module corresponding to the second user.
Dependencies are inferred from the claim text.