Diese Dokumentation wurde automatisch von KI übersetzt.
Verschlüsselung
Sammlungsfeld: VerschlüsselungProfessional Edition+Einführung
Bestimmte vertrauliche Geschäftsdaten, wie z.B. Kunden-Mobiltelefonnummern, E-Mail-Adressen oder Kartennummern, können verschlüsselt werden. Nach der Verschlüsselung werden diese Daten als Chiffretext in der Datenbank gespeichert.

Verschlüsselung
Das Plugin generiert automatisch einen Anwendungsschlüssel, der im Verzeichnis /storage/apps/main/encryption-field-keys gespeichert wird.
Die Datei des Anwendungsschlüssels trägt den Schlüssel-ID als Namen und hat die Dateiendung .key. Bitte ändern Sie den Dateinamen nicht eigenmächtig.
Bitte bewahren Sie die Datei des Anwendungsschlüssels sicher auf. Geht die Datei des Anwendungsschlüssels verloren, können die verschlüsselten Daten nicht mehr entschlüsselt werden.
Wenn das Plugin von einer Sub-Anwendung aktiviert wird, wird der Schlüssel standardmäßig im Verzeichnis /storage/apps/${Name der Sub-Anwendung}/encryption-field-keys gespeichert.
Funktionsweise
Es wird die Umschlag-Verschlüsselung (Envelope Encryption) verwendet.

Schlüsselgenerierungsprozess
- Wenn ein verschlüsseltes Feld zum ersten Mal erstellt wird, generiert das System automatisch einen 32-Bit
Anwendungsschlüssel, der Base64-kodiert im Standardspeicherverzeichnis abgelegt wird. - Bei jeder Erstellung eines neuen verschlüsselten Feldes wird ein zufälliger 32-Bit
Feldschlüsselfür dieses Feld generiert. Dieser wird dann mit demAnwendungsschlüsselund einem zufällig generierten 16-BitFeld-Verschlüsselungsvektor(AES-Verschlüsselungsalgorithmus) verschlüsselt und imoptions-Feld derfields-Tabelle gespeichert.
Feld-Verschlüsselungsprozess
- Jedes Mal, wenn Daten in ein verschlüsseltes Feld geschrieben werden, werden zuerst der verschlüsselte
Feldschlüsselund derFeld-Verschlüsselungsvektoraus demoptions-Feld derfields-Tabelle abgerufen. - Der verschlüsselte
Feldschlüsselwird mithilfe desAnwendungsschlüsselsund desFeld-Verschlüsselungsvektorsentschlüsselt. Anschließend werden die Daten mit demFeldschlüsselund einem zufällig generierten 16-BitDaten-Verschlüsselungsvektor(AES-Verschlüsselungsalgorithmus) verschlüsselt. - Die Daten werden mit dem entschlüsselten
Feldschlüsselsigniert (HMAC-SHA256-Hash-Algorithmus) und Base64-kodiert in einen String umgewandelt. (Die resultierendeDatensignaturwird später für die Datensuche verwendet.) - Der 16-Bit
Daten-Verschlüsselungsvektorund der verschlüsselteDaten-Chiffretextwerden binär zusammengefügt und anschließend Base64-kodiert in einen String umgewandelt. - Der Base64-kodierte String der
Datensignaturund der Base64-kodierte String des zusammengefügtenDaten-Chiffretextswerden durch einen Punkt (.) getrennt zusammengefügt. - Der endgültig zusammengefügte String wird in der Datenbank gespeichert.
Umgebungsvariablen
Wenn Sie einen benutzerdefinierten Anwendungsschlüssel festlegen möchten, können Sie die Umgebungsvariable ENCRYPTION_FIELD_KEY_PATH verwenden. Das Plugin lädt dann die Datei unter diesem Pfad als Anwendungsschlüssel.
Anforderungen an die Datei des Anwendungsschlüssels:
- Die Dateiendung muss
.keysein. - Der Dateiname wird als Schlüssel-ID verwendet; die Verwendung einer UUID wird empfohlen, um die Eindeutigkeit zu gewährleisten.
- Der Dateiinhalt muss 32 Bytes Base64-kodierter Binärdaten sein.
Feldkonfiguration

Auswirkungen der Verschlüsselung auf die Filterung
Verschlüsselte Felder unterstützen nur folgende Operatoren: gleich, ungleich, existiert, existiert nicht.

Filterungsprozess:
- Den verschlüsselten
Feldschlüsseldes Feldes abrufen und diesen mit demAnwendungsschlüsselentschlüsseln. - Den
Feldschlüsselverwenden, um die Benutzereingabe zu signieren (HMAC-SHA256-Hash-Algorithmus). - Den signierten Suchtext mit einem
.-Trennzeichen zusammenfügen und in der Datenbank eine Präfix-Suchanfrage auf dem verschlüsselten Feld durchführen.
Schlüsselrotation
Bevor Sie den Befehl nocobase key-rotation verwenden, stellen Sie sicher, dass das Plugin geladen ist.
Wenn eine Anwendung in eine neue Umgebung migriert wird und Sie den gleichen Schlüssel wie in der alten Umgebung nicht weiterverwenden möchten, können Sie den Befehl nocobase key-rotation verwenden, um den Anwendungsschlüssel zu ersetzen.
Für die Ausführung des Schlüsselrotationsbefehls muss der Anwendungsschlüssel der alten Umgebung angegeben werden. Nach der Ausführung wird ein neuer Anwendungsschlüssel generiert und Base64-kodiert im Standardverzeichnis gespeichert, der den alten Schlüssel ersetzt.
Um den Anwendungsschlüssel einer Sub-Anwendung zu rotieren, müssen Sie den Parameter --app-name hinzufügen und den Namen der Sub-Anwendung angeben.

