Zum Inhalt springen

Hinzufügen einer verschlüsselten Spalte zu einer Tabelle in Jitterbit App Builder

Die Verschlüsselung auf Anwendungsebene schützt sensible Daten, die in Tabellenspalten gespeichert sind. Die Verschlüsselung und Entschlüsselung erfolgen innerhalb der App Builder Business Engine. Daher ist die Verschlüsselung auf Anwendungsebene herstellerneutral: App Builder unterstützt die Verschlüsselung von Spalten auf Anwendungsebene bei allen RDBMS-Anbietern.

Um eine verschlüsselte Spalte zu einer Tabelle hinzuzufügen, melden Sie sich zunächst als Administrator bei App Builder an.

  1. Navigieren Sie zur App Workbench
  2. Klicken Sie auf die Kachel Tables
  3. Identifizieren Sie die Tabelle, zu der Sie die Spalte hinzufügen möchten, und klicken Sie auf das entsprechende Symbol Open Record
  4. Klicken Sie im Panel Columns auf die Schaltfläche + Column
  5. Geben Sie den Namen der Spalte ein und wählen Sie die folgenden Optionen:
    • Logical Data Type: String
    • Physical Data Type: Encrypted Text
  6. Klicken Sie auf die Schaltfläche Save
  7. Klicken Sie auf das Symbol Close (X), um das Popup zu schließen

Alle Werte, die in die Spalte geschrieben werden, werden automatisch verschlüsselt. Werte, die aus der Spalte gelesen werden, werden automatisch entschlüsselt.

Wenn Sie direkten Zugriff auf die Datenbank haben, können Sie bestätigen, dass die Daten verschlüsselt sind. Beginnen Sie damit, einen Wert zu verschlüsseln:

  1. Suchen Sie im Panel Table die Tabelle und klicken Sie auf das Symbol Results, um die Tabellendaten anzuzeigen
  2. Klicken Sie auf das Symbol Edit, um eine vorhandene Zeile zu ändern
  3. Geben Sie einen Wert für die verschlüsselte Spalte ein
  4. Klicken Sie auf das Symbol Save

Stellen Sie eine Verbindung zur Datenbank mit einem Tool wie SQL Server Management Studio her. Wählen Sie die Daten aus der Tabelle aus. Den verschlüsselten Daten wird die Bytefolge 0x09F0 vorangestellt.

Verwenden einer verschlüsselten Tabellenspalte

Verschlüsselte Spalten können auf verschiedene Weise verwendet werden. In der Regel erstellt ein Entwickler ein Datenobjekt, das die verschlüsselte Spalte aus der Zieltabelle auswählt. Mit rollenbasierter Sicherheit kann der Entwickler den Zugriff auf das Datenobjekt einschränken. Der Entwickler kann dann ein Panel an das Datenobjekt und ein Text- oder Kennwort-Steuerelement an die verschlüsselte Spalte binden. Danach können Benutzer mit Berechtigung für das Datenobjekt den Klartextwert anzeigen und ändern.

Neben der Bindung von Steuerelementen an verschlüsselte Spalten ist es auch möglich, CRUD-Geschäftsregeln zu erstellen, die Daten in und aus verschlüsselten Spalten kopieren. CRUD-Geschäftsregeln können für Folgendes verwendet werden:

  • Migrieren von Daten aus unverschlüsselten Spalten zu verschlüsselten Spalten (oder umgekehrt).
  • Kopieren sensibler Daten in oder aus einem Drittanbietersystem.
  • Übergeben sensibler Daten an einen REST- oder OData-Webdienst-Endpunkt.
  • Schließlich können verschlüsselte Spalten von Plugins verwendet werden. Die Unterstützung für verschlüsselte Spalten variiert jedoch je nach Plugin. Weitere Informationen finden Sie in der Plugin-Dokumentation.

Datenverschlüsselungsschlüssel

Spaltendaten werden mit einem Datenverschlüsselungsschlüssel (DEK) verschlüsselt. Jede Datenquelle hat ihren eigenen Satz von rollierenden Schlüsseln. Obwohl jeder Schlüssel zum Entschlüsseln von Daten verwendet werden kann, wird zu jedem Zeitpunkt nur ein Schlüssel zum Verschlüsseln verwendet. Ein neuer DEK wird alle 90 Tage erstellt.

DEKs sind an die folgenden Attribute im App Builder-Logikmodell gebunden:

  • DataSourceId - Der Datenquellenbezeichner isoliert die Schlüssel.
  • TableId - Der Tabellenbezeichner wird verwendet, um einen abgeleiteten Schlüssel für die Tabelle zu erstellen.
  • ColumnId - Der Spaltenbezeichner wird verwendet, um einen abgeleiteten Schlüssel für die Spalte zu erstellen.

Warnung

Wenn sich DataSourceId, TableId oder ColumnId ändern, können vorhandene verschlüsselte Werte nicht entschlüsselt werden.

Darüber hinaus hat jeder Spaltenwert einen eindeutigen Initialisierungsvektor. Daher hat derselbe Klartextwert in verschiedenen Zeilen einen anderen binären Chiffretext.

Anzeigen von Datenverschlüsselungsschlüsseln

Da DEKs zum Verschlüsseln von Daten in der Datenbank verwendet werden, kann das kryptografische Schlüsselmaterial nicht in der Datenbank gespeichert werden. Aus diesem Grund werden DEKs an einem von mehreren konfigurierbaren Speicherorten gespeichert. Weitere Informationen finden Sie unter Data Encryption Configuration.

Obwohl das Schlüsselmaterial selbst nicht in der Datenbank gespeichert ist, sind Schlüsselattribute innerhalb von App Builder sichtbar. Um die Verschlüsselungsschlüsseldetails einer Datenquelle anzuzeigen, melden Sie sich zunächst als Administrator bei App Builder an.

  1. Navigieren Sie zur App Workbench
  2. Klicken Sie auf die Kachel Data Sources
  3. Wählen Sie die relationale Datenbank aus dem Data Source-Panel aus
  4. Klicken Sie auf die Schaltfläche Encryption Keys

Die Seite Data Encryption Keys listet die vorhandenen Schlüsseleigenschaften auf:

  • Creation Date - Das Datum und die Uhrzeit, zu der der Schlüssel generiert wurde.
  • Activation Date - Das Datum und die Uhrzeit, zu der der Schlüssel zum Verschlüsseln von Spaltendaten verwendet wurde.
  • Expiration Date - Das Datum und die Uhrzeit, zu der der Schlüssel nicht mehr zum Verschlüsseln von Daten verwendet wurde.

Hinweis

Da Datenverschlüsselungsschlüssel bei Bedarf erstellt werden, verfügt eine Datenquelle erst über Datenverschlüsselungsschlüssel, wenn Daten zum ersten Mal verschlüsselt werden.

Verschlüsselungs- und Validierungsalgorithmen

Verschlüsselung bietet Vertraulichkeit; Validierung bietet Authentizität (auch als Manipulationsschutz bekannt).

App Builder verschlüsselt Daten mit AES-256 im CBC-Blockverschlüsselungsmodus mit PKCS #7-Padding.

App Builder gewährleistet die Integrität der verschlüsselten Daten mit HMAC-SHA256.

Bekannte Probleme und Einschränkungen

Die folgende Liste beschreibt bekannte Probleme und Einschränkungen bei der Implementierung der Verschlüsselung auf Spaltenebene in App Builder.

  • Nur der logische Datentyp String unterstützt Verschlüsselung.
  • Nur RDBMS-Datenanbieter unterstützen Verschlüsselung.
  • Eine Spalte kann nicht in den Speicherdatentyp Encrypted konvertiert werden.
  • Eine Spalte kann nicht vom Speicherdatentyp Encrypted in einen anderen Datentyp konvertiert werden.
  • Verschlüsselte Spalten unterstützen keine Filter-, Such- oder Sortierfunktionen.
  • Steuerelemente wie Seiten, Panels und Listen können nicht an eine verschlüsselte Spalte gebunden werden.
  • Verschlüsselte Spalten unterstützen keine Übersetzung.
  • App Builder migriert Werte, die mit alten Schlüsseln verschlüsselt wurden, nicht automatisch: Es liegt in der Verantwortung des Entwicklers, Daten regelmäßig erneut zu verschlüsseln.
  • Daten können nicht mit einer Migrationsregel zu/von verschlüsselten Spalten migriert werden. Entwickler müssen CRUD-Geschäftsregeln verwenden, um Daten zu/von verschlüsselten Spalten zu verschieben.
  • Daten können nicht mit CRUD-Datenbankregeln zu/von verschlüsselten Spalten kopiert werden. Entwickler müssen CRUD-Geschäftsregeln verwenden, um Daten zu/von verschlüsselten Spalten zu verschieben.
  • mvSQL-Ausdrücke können nur auf den binären Chiffretext verweisen, nicht auf den Klartextwert einer verschlüsselten Spalte.
  • Wenn ein verschlüsselter Wert nicht entschlüsselt werden kann, wird kein Fehler angezeigt: Der Wert erscheint als NULL.

Fehlerbehebung

Weitere Informationen zur Fehlerbehebung finden Sie in den folgenden Abschnitten im App Builder-Fehlerbehebungsleitfaden: