Server-Side Group Message Key Re-Encryption to Reduce Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing group chat systems face increased server load due to the need for re-encryption of messages when shared keys are updated, which is inefficient in real-time operations.
Innovation Solution
A communication system where a common message key is generated using a shared key and a group identifier, reducing the number of re-encryptions required by associating multiple messages with a single message key, and using a twisted pseudorandom function to mix the shared key and group identifier.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If re-encryption of messages is performed when shared keys are updated, then message confidentiality is maintained, but server processing time increases
Solution Approach 1:
The encryption system is segmented into two independent layers: message encryption using message keys and key protection using shared keys. When shared keys are updated, only the encrypted message keys need re-encryption, not the entire message body, significantly reducing the scope of re-encryption operations
Solution Approach 2:
Message keys are generated and messages are encrypted in advance using the current message key before shared key updates occur. This preliminary encryption allows the system to prepare encrypted messages that can be quickly re-keyed later without requiring complex real-time processing during key updates
2Reliability
If re-encryption of all messages is performed when shared keys are updated, then security is maintained, but server load increases
Solution Approach 1:
The message content is extracted and encrypted separately from the key management process. Only the encrypted message keys (not the entire messages) are stored and re-encrypted on the server, while message encryption/decryption is handled locally by communication terminals, extracting the heavy processing burden from the server
Solution Approach 2:
Message keys serve as an intermediary layer between shared keys and message content. The server only manages encrypted message keys through the intermediary, avoiding direct handling of large message bodies during key updates, thus reducing server load while maintaining security
3Reliability
If individual message keys are used for each message, then message confidentiality is enhanced, but the number of re-encryptions increases
Solution Approach 1:
Multiple messages are merged under a single message key for encryption purposes. Instead of assigning unique keys to each message, the same message key encrypts multiple messages, allowing batch re-encryption operations when shared keys update, significantly reducing the total number of re-encryption operations required
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A server device includes: a storage unit to save an encrypted text of a message generated by encrypting the message with a message key generated from a shared key and a group identifier, by using a message key identifier as an identifier of the message key as a key; a storage unit to save an encrypted text of the message key generated by encrypting the message key to be re-encryptable by using the shared key, by using the message key identifier as a key; and a re-encryption processing unit configured to receive, after the shared key has been updated, a re-encryption key from a communication terminal that has generated the re-encryption key by using the shared key and the updated shared key, use the re-encryption key to generate a re-encrypted encrypted text of the message key, and overwrite the encrypted text of the message key before re-encryption with the re-encrypted encrypted text of the message key to be saved, in the encrypted message key storage unit.