Secret Key Synchronization Through Sequential Log Replay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data synchronization failures between server instances lead to disruptions and reduced availability and performance in software applications, particularly in scenarios where database resources are consumed for operations like read, write, and edit, and encryption keys are locally managed for secure data access.
Innovation Solution
A method for synchronizing database keys between server instances involves persisting encryption and decryption keys in a log file on a primary server, replaying this log file at a secondary server to replicate transactions and key management operations, ensuring data and key replication is maintained through point-in-time recovery and sequential logging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If encryption keys are locally managed at each server instance, then data security is improved, but key synchronization between servers becomes complex and error-prone
Solution Approach 1:
A key store component is introduced as an intermediary between database operations and encryption keys. The key store persists keys in the database and manages key lifecycle operations, serving as a centralized mediator that eliminates the need for complex distributed key management while maintaining security. The key store receives key management operations (create, activate, delete) and handles key persistence and retrieval automatically.
Solution Approach 2:
The patent merges key management functionality directly into the database system by persisting keys within the database infrastructure and integrating key operations with database transactions. This consolidation eliminates separate key management systems and their associated synchronization complexity, while the log replay mechanism ensures consistency across server instances.
2Reliability
If data is synchronized between primary and secondary servers, then high availability is improved, but data consistency during key management operations becomes difficult to maintain
Solution Approach 1:
The system performs preliminary key management operations by persisting keys in the key store before they are needed for database operations. The key store pre-processes key creation, activation, and deletion operations and logs them sequentially. This preliminary action ensures that when log replay occurs during failover, keys are already prepared and consistency is maintained without requiring complex synchronization during critical operations.
Solution Approach 2:
The log replay mechanism ensures continuous replication of key management operations from primary to secondary servers. By replaying sequential log entries, the system maintains uninterrupted key consistency across server instances, ensuring that the secondary server always has the correct keys available for data access even during failover scenarios.
3Reliability
If log replay is performed to replicate key management operations, then key synchronization is improved, but the time required for failover increases
Solution Approach 1:
The log replay mechanism is designed to be self-service and automatic, triggering seamlessly when failover is detected. The secondary server autonomously replays logs to synchronize keys without requiring manual intervention or complex coordination. This automation reduces failover time by eliminating human factors and streamlining the synchronization process.
Solution Approach 2:
Logs are continuously maintained and ready for replay, with key management operations recorded in sequential order as they occur. This preliminary preparation of log data ensures that when failover is needed, the secondary server can immediately begin replaying from the current log position without delay, minimizing failover time while ensuring complete key synchronization.
4Stability of the object's composition
If sequential log entries are replayed to replicate transactions and key operations, then data integrity is improved, but the complexity of the replication process increases
Solution Approach 1:
The replication process is segmented into distinct components: transaction log replay for data replication and key management operation replay for key synchronization. The key store separates key lifecycle operations (create, activate, delete) into discrete, manageable units. This segmentation allows each component to be implemented and maintained independently, reducing overall system complexity while ensuring data integrity through systematic replication.
Data Source
AI summary
The present disclosure relates to computer-implemented methods, software, and systems for the replication of secret keys between server nodes. Keys for encryption and decryption are persisted in a log file on a first database hosted on a primary server. The log file comprises data for executed database transactions at the first database and key management operations at a first key store. In response to triggering a synchronization between the primary server and a secondary server, a set of sequential entries of the log file are replayed at the secondary server from the first database. An execution of a transaction is replicated at a secondary database at the secondary server based on data for an entry at the log file and a key management operation associated with a key at the first key store that is persisted in another entry of the log file is replicated.


