US 12,278,910 B2
Securing group messages over hypertext transfer protocol with key management and rotation for multi-party groups
Paul Dillon, Erie, PA (US); Kyle Bebee, Kalispell, MT (US); Damien Fortune, Savannah, GA (US); and Robert Wilson, Reno, NV (US)
Assigned to SENTRIQS, INC., Reno, NV (US)
Filed by SENTRIQS, INC., Reno, NV (US)
Filed on Oct. 21, 2022, as Appl. No. 18/048,591.
Claims priority of provisional application 63/274,312, filed on Nov. 1, 2021.
Prior Publication US 2023/0134598 A1, May 4, 2023
Int. Cl. H04L 9/32 (2006.01); H04L 9/08 (2006.01)
CPC H04L 9/3247 (2013.01) [H04L 9/0822 (2013.01); H04L 9/0861 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A system for providing end-to-end message encryption over hypertext transfer protocol, the system comprising:
one or more processors; and
a non-transitory computer-readable storage medium storing instructions, which when executed by the one or more processors cause the one or more processors to:
receive, using an application executed within a web browser, an input comprising a message from a user addressed to a group, wherein the user is a member of the group;
retrieve, from web browser storage, a first key generation secret generated by a key generation algorithm for the user, wherein the key generation algorithm generates, using a key generation secret, a new key generation secret and a new encryption key for message encryption;
receive, from the key generation algorithm based on inputting the first key generation secret, a second key generation secret and a first encryption key;
encrypt the message using the first encryption key into an encrypted message;
store the second key generation secret within the web browser storage, wherein the second key generation secret is stored in association with the user;
determine a plurality of name-value pairs from metadata associated with the encrypted message;
generate an encrypted message object, wherein the encrypted message object comprises a name-value pair for the encrypted message and the plurality of name-value pairs;
generate a cryptographic signature for the encrypted message object;
add the cryptographic signature as a new name-value pair to the encrypted message object;
encode name-value pairs associated with the encrypted message object into one or more transport representations;
generate a hypertext transport protocol request for each transport representation of the one or more transport representations; and
transmit each hypertext transport protocol request to a server.