Decentralized authoritative messaging
View Patent ↗A secure chat client is described that allows users to exchange encrypted communications via secure chat rooms, as well as one-to-one communications. In particular, the secure chat client allows users to create, configure, and manage secure chat rooms. Furthermore, the secure chat client provides users with the ability to recover secure messages when they obtain a new device or otherwise lose communications.
1. A system, comprising:
a processor configured to:
receive, at a first device, a first encrypted communication from a second device during a secure communication session;
transmit, from the first device, a request to corroborate a validity of the first encrypted communication to at least one second device;
receive, at the first device, a response from the at least one second device that indicates the validity of the first encrypted communication; and
store, by the first device, the first encrypted communication in a secure memory when the validity of the first encrypted communication is corroborated by at least one second device; and
a memory coupled to the processor and configured to provide the processor with instructions.
2. The system of claim 1 , wherein the secure communication session is a group chat.
3. The system of claim 1 , wherein the secure communication session is a one-to-one communication with the second device.
4. The system of claim 1 , wherein the processor is configured to:
record the first encrypted communication as an entry in a block chain when storing the first encrypted communication in the secure memory.
5. The system of claim 1 , wherein the
secure memory is encrypted with a local storage key.
6. The system of claim 1 , wherein the first encrypted communication includes state information of the secure communication session.
7. The system of claim 1 , wherein the first encrypted communication is a control message that modifies one or more parameters of the secure communication session.
8. A method, comprising:
receiving, at a first device, a first encrypted communication from a second device during a secure communication session;
transmitting from the first device, a request to corroborate a validity of the first encrypted communication to at least one second device;
receiving, at the first device, a response from the at least one second device that indicates the validity of the first encrypted communication; and
storing, by the first device, the first encrypted communication in a secure memory when the validity of the first encrypted communication is corroborated by at least one second device.
9. The method of claim 8 , comprising:
recording the first encrypted communication as an entry in a block chain when storing the first encrypted communication in the secure memory.
10. The method of claim 8 , wherein
the secure memory is encrypted with a local storage key.
11. The method of claim 8 , wherein the first encrypted communication includes state information of the secure communication session.
12. The method of claim 8 , wherein the first encrypted communication is a control message that modifies one or more parameters of the secure communication session.
13. A non-transitory computer-readable medium comprising instructions that when, executed by at least one processor, perform the steps of:
receiving a first encrypted communication from a second device during a secure communication session;
transmitting a request to corroborate a validity of the first encrypted communication to at least one second device;
receiving, at the first device, a response from the at least one second device that indicates the validity of the first encrypted communication; and
storing the first encrypted communication in a secure memory when the validity of the first encrypted communication is corroborated by at least one second device.
14. The non-transitory computer-readable medium of claim 13 , comprising instructions for:
recording the first encrypted communication as an entry in a block chain when storing the first encrypted communication in the secure memory.
15. The non-transitory computer-readable medium of claim 13 , wherein the secure memory is encrypted with a local storage key.
16. The non-transitory computer-readable medium of claim 13 , wherein the first encrypted communication includes state information of the secure communication session.
17. The non-transitory computer-readable medium of claim 13 , wherein the first encrypted communication is a control message that modifies one or more parameters of the secure communication session.