You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Key rotation required in case of it compromising or at the end of crypto period(key validity period). 

Goal: 

To implement ability to rotate master encryption key. 

New processes: 

  1. Master key rotation.

  2. Removal of master key.  

New administrator commands: 

  1. Master keys viewnode -> master key hash 

  2. Cache group keys viewnode -> group name -> encryption key hash 

Master Key rotation: 

Process start: 

Administrator initiates key rotation via  some kind of user interface(CLI, VisorWeb Console, JMX, etc). 

Process description: 

Message is sent by discovery. 

Message should contains: 

  • Master cache key encrypted with current master key

When server node processed message following actions are executed: 

  1. Blocks creation of encrypted cache key. 

  2. Encrypt cache group keys with new master key. 

  3. Unblock creation of encrypted cache key. 

New joining node should also change current master key with the new one. 

Process completion: 

Administrator initiates process completion via interface by using “master key removal” command. 
Design assumeadministrator will check that all nodes successfully change master key and all required nodes are alive. 

Master Key removal: 

Process start: 

Administrator initiates process via some kind of user interface(CLI, VisorWebConsole, JMX, etc), 

Process description: 

Message is sent by discovery. 

Message should contain: 

  • New master key hash. 

When server node processed message following actions are executed: 

  1. Received master key hash compared with known master key hash. 

  2. Previous master key removed using configured EncryptionSPI. 

New commands: 

  • Master key hashes. 

    • Inputnothing 

    • Output: 

      • List of Tuples3 

        • Node ID 

        • Current key hash 

        • Previous key hash or null. 

  • Cache key hashes. 

    • Inputcache id. 

    • Output: 

      • List of Tuples3 

      • Node ID 

      • Current key hash 

      • Previous key hash or null. 

  • No labels