Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Daten verschlüsseln

Daten verschlüsseln  


 

Mit 4D können Sie Ihre Daten verschlüsseln, um die Vertraulichkeit gezielt zu gewährleisten. Die Verschlüsselung in 4D bietet folgendes:

  • Die Möglichkeit, sensible Daten innerhalb der Anwendung zu verschlüsseln - und nicht zwingend die gesamte Datendatei
  • Eine zusätzliche Sicherheitsstufe, um den Zugriff auf Daten zu schützen
  • Keine hardware-basierte Verschlüsselung - Sie verwalten den Schlüssel selbst (entsprechend der Anforderungen zur Nutzung externer Hosting Firmen).

Hinweis: Weitere Informationen zur Verwaltung von Sicherheitsanliegen in 4D finden Sie im 4D Security Guide.

4D bietet folgende Verschlüsselungsmodi für zwei unterschiedliche Anforderungen:

  • Asymmetrische Verschlüsselung, die auf Schlüsselpaaren basiert. Die Verschlüsselung erfolgt mit dem öffentlichen Schlüssel, für die Entschlüsselung ist dann der private Schlüssel erforderlich.
    Dieser Modus eignet sich für sicheren Datenaustausch über ein Netzwerk, da er Authentifizíerung und Verschlüsselung nutzt 
    In 4D gibt es dafür die Befehle GENERATE ENCRYPTION KEYPAIR, ENCRYPT BLOB und DECRYPT BLOB
  • Symetrische Verschlüsselung, wobei derselbe Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung verwendet wird (AES-256-Algorithmus).
    Dieser Modus ist für die lokale Datenverschlüsselung geeignet. Er wird von den Befehlen des Themas Datensicherheit unterstützt, wie z. B. Encrypt data BLOB und Decrypt data BLOB.

Datenverschlüsselung in 4D basiert auf folgenden Konzepten:

  • Genauigkeit: Die Verschlüsselung erfolgt auf Tabellenebene. Tabellen mit sensiblen Daten werden in der Struktur der Anwendung (Datei .4db) als "verschlüsselbar" markiert. Weitere Informationen dazu finden Sie im Abschnitt Verschlüsselbar.
  • Verschlüsselungscode: Tabellen werden über einen AES Code verschlüsselt, der über einen SHA-256 Algorithmus aus einer vorgegebenen Passphrase generiert wird. Der Verschlüsselungscode lässt sich in einer Datei auf einem mobilen Gerät, wie z.B. ein USB Key speichern, der nur bei Bedarf an den Server angeschlossen wird.
  • Schlüsselbund (keychain): Wurde ein gültiger Verschlüsselungscode für eine verschlüsselte Datendatei geliefert, wird er im 4D Schlüsselbund im Speicher gehalten. So kann die Datendatei ohne Schlüssel geschlossen und erneut geöffnet werden (über ein mobiles Gerät oder die Methode ds.provideDataKey( )). In der Client/Server Konfiguration wird der Schlüsselbund auf dem Server gespeichert und beim Beenden von 4D geleert.
  • Passwort-Folge (passphrase): Die Passphrase ist eine sicherere Version als ein Passwort, sie kann eine umfangreiche Anzahl Zeichen enthalten und wird zum Erzeugen des Verschlüsselungscode verwendet. Dieselbe Passphrase ergibt immer denselben Verschlüsselungscode.
  • Symmetrische Verschlüsselung: Zum Verschlüsseln und Entschlüsseln der Daten wird derselbe Verschlüsselungscode verwendet.
  • Verschlüsselte Daten lesen und schreiben: Wurde einmal ein gültiger Verschlüsselungscode für eine verschlüsselte Datendatei geliefert:
    • werden alle Änderungen an Daten in verschlüsselbaren Tabellen automatisch auf der Festplatte verschlüsselt
    • werden alle von verschlüsselbaren Tabellen geladenen Daten automatisch im Speicher entschlüsselt
  • Zieldateien: Die Verschlüsselung wird auf alle Dateien angewendet, die Daten verwalten: .4dd, .journal, .4dIndex.

Warnung: Wenn der Verschlüsselungscode und die Passphrase verlorengehen, gibt es keine Möglichkeit, auf die verschlüsselten Daten zuzugreifen - auch nicht für den technischen Support von 4D. 

Die Verschlüsselung in 4D ist ein einfacher Vorgang in 2 Schritten:

Schritt 1: Tabellen zum Verschlüsseln auswählen

  • Der Entwickler wählt die Tabellen zur Verschlüsselung auf der Strukturebene der Anwendung aus (siehe Option Verschlüsselbar).
  • Aus Perfomance Gründen können auf Wunsch nur Tabellen mit sensiblen Daten ausgewählt werden. 
  • In dieser Phase wird keine Verschlüsselung gemacht, der Benutzer kann normal ohne Datenverschlüsselung arbeiten.

Schritt 2: Ausgewählte Daten verschlüsseln

  • Beim Vertreiben einer Anwendung kann der Entwickler, wenn vom Kunden gewünscht, die Verschlüsselung über das Maintenance und Security Center (MSC) oder die 4D Programmiersprache aktivieren.
  • Die Verschlüsselung erfolgt dann für alle vorab ausgewählten Tabellen. 
  • Wurde der Verschlüsselungscode angegeben, werden die Daten beim Lesen automatisch entschlüsselt und beim Sichern erneut verschlüsselt. 

 

Die grafische Darstellung zeigt folgende Schritte:

  1. Versucht der Benutzer, eine verschlüsselte Datendatei zu öffnen, sucht 4D im 4D Schlüsselbund im Hauptspeicher nach einem gültigen Verschlüsselungscode. Wird er gefunden, ist der Zugriff auf die verschlüsselten Daten möglich (Lese-/Schreibmodus).
  2. Wurde kein gültiger Verschlüsselungscode im 4D Schlüsselbund gefunden, durchsucht 4D alle angeschlossenen Geräte auf der obersten Ebene nach der .4DKeyChain Datei mit einem gültigen Verschlüsselungscode (siehe unten Verschlüsselungscode für Daten in Dateien speichern).
  3. Bei diesem Schritt wird die Datendatei geöffnet. Ist kein gültiger Verschlüsselungscode vorhanden, ist auf verschlüsselte Daten kein Zugriff im Lese-/Schreibmodus möglich.
  4. Der Benutzer kann jedoch einen gültigen Verschlüsselungscode liefern, wenn er

    Wird kein gültiger Verschlüsselungscode geliefert, ist auf verschlüsselte Daten kein Zugriff im Lese-/Schreibmodus möglich.

  5. Jedes Mal wenn gültiger Verschlüsselungscode gefunden wird, wird er im 4D Schlüsselbund hinzugefügt. Ist der Verschlüsselungscode vom angeschlossenen Gerät übernommen, kann es wieder entfernt werden. Es muss nicht dauerhaft angeschlossen bleiben.

Hinweis: Der 4D Schlüsselbund gilt nur zur Laufzeit von 4D, wird im Hauptspeicher gehalten und beim Beenden von 4D automatisch gelöscht

Sie können Verschlüsselungscodes für Daten erstellen, um sie auf externen Geräten, wie z.B. USB Key oder externe Festplatte zu speichern. Dann kann 4D sie automatisch beim Starten oder nach Aufrufen von Discover data key zum Entschlüsseln von Daten nutzen (siehe oben). Wurde ein gültiger Verschlüsselungscode gefunden, wird er im 4D Schlüsselbund gespeichert und während der gesamten Arbeitssitzung verwendet. Das externe Gerät wird dann nicht mehr benötigt und kann entfernt werden.

Für den Verschlüsselungscode gelten folgende Regeln:

  • Der Dateiname muss die Endung .4DKeyChain haben. Zum Beispiel "myKeys.4DKeyChain".
  • Es muss eine in JSON formatierte Textdatei sein.
  • Er kann einen oder mehrere Verschlüsselungscodes bzw. Passphrase(s) in JSON Objekten oder Collections mit Objekten enthalten; jedes Objekt muss eine Eigenschaft encodedKey oder passPhrase enthalten. Weitere Informationen zum Generieren einer Schlüsseldatei finden Sie unter dem Befehl New data key
  • Die Datei muss auf der Hauptebene des externen Geräts gespeichert werden.
  • Es können mehrere .4DKeyChain Dateien gleichzeitig verwendet werden.

Hinweis: Der Inhalt aller gefundenen .4DKeychain Dateien wird analysiert, um festzustellen, ob ein Schlüssel mit den Daten übereinstimmt, unabhängig von den Dateinamen.

Beispiel einer Schlüsseldatei mit drei Schlüsseln:

[
{ "encodedKey":"D1AB499C9BE1F210BDB[...]0F63EF6CE8CC0C6CA4" },
{ "encodedKey":"F68A20FCBC70[...]21B55F6D89687ABC7CFAB95720A" },
{ "passPhrase":"Heute ist der Himmel weiß/blau" }
]



Siehe auch 

A deeper look into 4D data encryption (blog post)
Seite Verschlüsseln

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: 4D Dateien verwalten

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v17 R5

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v20 R7)