David Handermann created NIFI-13494:
---------------------------------------

             Summary: Remove Repository Encryption
                 Key: NIFI-13494
                 URL: https://issues.apache.org/jira/browse/NIFI-13494
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Core Framework
            Reporter: David Handermann
            Assignee: David Handermann


NiFi introduced initial support for provenance repository encryption in version 
1.2.0 and and expanded support to other repositories in versions 1.10.0 and 
1.11.0. NiFi 1.15.0 introduced refactored support for repository encryption, 
but retained the same fundamental implementation strategy.

The initial implementation support AES with configurable key sizes, using 
AES-CTR for the content repository and AES-GCM for the FlowFile and Provenance 
repositories. Although the foundational algorithms provide good security, the 
implementation itself has several fundamental issues, including use of Java 
Object serialization for metadata storage, storing the encryption key on the 
same file system, and the limitations around key reuse for AES.

The current implementation for Java Object serialization mitigates some 
potential issues, but fundamental conflicts related to class names and 
structures are inherent with Java Object serialization.

Storing the encryption key on the file system provides limited security and 
raises questions about the overall threat model for repository encryption.

AES has size limitations for the security related to the number of encryption 
operations for the same key. Although manual key rotation is an option in the 
current setup, it is not required, presenting other security concerns.

Based on the current implementation issues, the repository encryption 
components should be removed from the main branch. Consideration of a future 
implementation should begin with key storage solutions, similar to the concerns 
surrounding encryption of application properties.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to