Device independent secure messaging

US12267306B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12267306-B2
Application numberUS-202217830217-A
CountryUS
Kind codeB2
Filing dateJun 1, 2022
Priority dateNov 20, 2017
Publication dateApr 1, 2025
Grant dateApr 1, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, devices, media, and methods are presented for device independent secure messaging. The systems and methods generate an encrypted message by encrypting message content, designated for a specified recipient, with an encryption key. The systems and methods select a set of recipient keys, associated with the specified recipient, from a plurality of member keys. For each recipient key, the systems and methods encrypt the encryption key to generate a set of encrypted keys and transmit the encrypted message and an encrypted key of the set of encrypted keys to one or more client devices associated with the specified recipient. The systems and methods then receive an acknowledgement indicating a termination status of the encrypted message.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: encrypting, by one or more processors, message content of a message with an encryption key to generate an encrypted message, the encrypted message designated for a specified recipient; selecting a set of recipient keys for the specified recipient from a plurality of member keys, each recipient key of the set of recipient keys associated with a distinct client device that is used by the specified recipient to access a social messaging system; encrypting the encryption key for each recipient key of the set of recipient keys to generate a set of encrypted keys for the specified recipient; transmitting, to each client device that is used by the specified recipient to access the social messaging system, the encrypted message and an encrypted key of the set of encrypted keys that is associated with the recipient key for that distinct client device that was used to encrypt the encrypted key; detecting a session termination for a sending client device associated with a sender of the encrypted message, the session termination representing the sender logging out of the social messaging system or the sending client device; based on the detecting the session termination, generating a symmetric key for the sending client device and the sender; encrypting a local state of the sender on the sending client device with the symmetric key, the local state comprising at least two of: private and public keys stored on the sending client device, certificates, private key correspondence to the public key, one or more outstanding or unsent messages, or one or more message content; and transmitting a member log to a key database, the member log including a member identifier associated with the sender, a device identifier, and the symmetric key. 2. The method of claim 1 , wherein the set of recipient keys are a set of public keys associated with the specified recipient. 3. The method of claim 1 , wherein the set of recipient keys is limited to a predetermined number of recipient keys. 4. The method of claim 1 , wherein the set of recipient keys is limited to a predetermined number of recipient keys corresponding to a most recent set of client devices used by the specified recipient. 5. The method of claim 1 , where each recipient key of the plurality of member keys comprises a member identifier, a client device identifier, and a public key. 6. The method of claim 1 , wherein the encryption key is a key pair including a private key and a public key and the message content is encrypted using the private key and encrypting the encryption key comprises encrypting the public key using the set of recipient keys to generate the set of encryption keys. 7. The method of claim 1 , wherein the encrypted message is further designated for a second specified recipient and a recipient key associated with the second specified recipient has a value instead of an encryption key, the value indicating that the second specified recipient is a fake recipient. 8. The method of claim 1 , wherein the set of recipient keys for the specified recipient is limited to a most recent set of client devices used by the specified recipient or wherein the set of recipient keys for the specified recipient is limited to a maximum predefined number of recipient keys. 9. The method of claim 1 , further comprising: determining that the specified recipient is not online; and holding the encrypted message and the encrypted key for later delivery. 10. The method of claim 1 , further comprising: storing the encrypted local state on the sending client device; and upon encrypting and storing the local state, erasing the data represented by the encrypted local state from the sending client device. 11. The method of claim 10 , further comprising: automatically restoring the local state, upon detecting the sender logging back into the sender client device, using the stored encrypted local state and the symmetric key generated for the sending client device and the sender. 12. The method of claim 1 , further comprising: receiving a new recipient key for a new client device not represented by a recipient key of the set of the recipient keys for the specified recipient; encrypting the encryption key using the new recipient key to generate a new encrypted key for the specified recipient; and transmitting the encrypted message and the new encrypted key to the new client device corresponding to the new recipient key. 13. The method of claim 12 , wherein the new recipient key is received based on the specified recipient logging into the new client device. 14. A system, comprising: one or more processors; and a non-transitory processor-readable storage medium storing processor executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: encrypting message content of a message with an encryption key to generate an encrypted message, the encrypted message designated for a specified recipient; selecting a set of recipient keys for the specified recipient from a plurality of member keys, each recipient key of the set of recipient keys associated with a distinct client device that is used by the specified recipient to access a social messaging system; encrypting the encryption key for each recipient key of the set of recipient keys to generate a set of encrypted keys for the specified recipient; transmitting, to each client device that is used by the specified recipient to access the social messaging system, the encrypted message and an encrypted key of the set of encrypted keys that is associated with the recipient key for that distinct client device that was used to encrypt the encrypted key; detecting a session termination for a sending client device associated with a sender of the encrypted message, the session termination representing the sender logging out of the social messaging system or the sending client device; based on the detecting the session termination, generating a symmetric key for the sending client device and the sender; encrypting a local state of the sender on the sending client device with the symmetric key, the local state comprising at least two of: private and public keys stored on the sending client device, certificates, private key correspondence to the public key, one or more outstanding or unsent messages, or one or more message content; and transmitting a member log to a key database, the member log including a member identifier associated with the sender, a device identifier, and the symmetric key. 15. The system of claim 14 , wherein the set of recipient keys is limited to a predetermined number of recipient keys. 16. The system of claim 14 , wherein the set of recipient keys is limited to a predetermined number of recipient keys corresponding to a most recent set of client devices used by the specified recipient. 17. The system of claim 14 , where each recipient key of the plurality of member keys comprises a member identifier, a client device identifier, and a public key. 18. The system of claim 14 , wherein the encryption key is a key pair including a private key and a public key and the message content is encrypted using the private key and encrypting the encryption key comprises encrypting the public key using the set of recipient keys to generate the set of encryption keys. 19. The system of claim 14 , wherein the encrypted message is further designated for a second specified recipient and a recipient key associated with the second sp

Assignees

Inventors

Classifications

  • Real-time or near real-time messaging, e.g. instant messaging [IM] · CPC title

  • for key distribution, e.g. centrally by trusted party (cryptographic mechanisms or cryptographic arrangements for key distribution involving a central third party H04L9/0819) · CPC title

  • applying encryption of the keys · CPC title

  • with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys · CPC title

  • using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12267306B2 cover?
Systems, devices, media, and methods are presented for device independent secure messaging. The systems and methods generate an encrypted message by encrypting message content, designated for a specified recipient, with an encryption key. The systems and methods select a set of recipient keys, associated with the specified recipient, from a plurality of member keys. For each recipient key, the …
Who is the assignee on this patent?
Snap Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/14. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).