Version 6.7
GENERATE ENCRYPTION KEYPAIR (PrivKey; PubKey{; Länge})
Parameter | Typ | Beschreibung | |
PrivKey | BLOB | BLOB für den privaten Schlüssel | |
PubKey | BLOB | BLOB für den öffentlichen Schlüssel | |
Länge | Lange Ganzzahl | Länge des Schlüssels (bits) [386...1024] | |
Standardwert = 512 |
Beschreibung
Der Befehl GENERATE ENCRYPTION KEYPAIR erzeugt ein neues Paar RSA Schlüssel. Das Sicherheitssystem von 4D 6.7 basiert auf diesen Schlüsseln, um Information zu verschlüsseln bzw. entschlüsseln. Diese lassen sich im SSL Protokoll, mit 4D Web Server (Verschlüsselung und gesicherte Kommunikation) sowie in allen Datenbanken (zur Datenverschlüsselung) verwenden.
Sobald der Befehl ausgeführt ist, enthalten die BLOBs in den Parametern PrivKey und PubKey ein neues Paar Schlüssel zur Verschlüsselung.
Mit dem optionalen Parameter Länge lässt sich die Größe des Schlüssels in Bits festsetzen. Je länger der Schlüssel ist, desto schwieriger lässt sich der Verschlüsselungscode knacken.
Lange Schlüssel benötigen jedoch mehr Zeit zur Ausführung bzw. Beantwortung, insbesondere in einer SSL Verbindung.
Die Schlüsselgröße wird standardmäßig, d.h. wenn der Parameter Länge nicht angegeben ist, auf 512 Bits festgesetzt. Das ist ein guter Kompromiss für das Verhältnis Sicherheit/Effizienz. Für eine höhere Sicherheit können Sie den Schlüssel öfters wechseln, z.B. alle sechs Monate.
Sie können auch Schlüssel mit 1024 Bits erstellen, das verlangsamt jedoch den Aufbau der Web Anwendung.
Hinweise:
Erstellen Sie Schlüssel für eine Anfrage zur SSL Zertifizierung, beachten Sie, dass nur Schlüssel mit einer Länge von 512 Bits und 1024 Bits zugelassen sind.
Eine große Anzahl Browser akzeptiert nur Schlüssel bis zu 512 Bits Länge.
Außerdem unterstützt die "Export" Version der Library mit dem Verschlüsselungssystem, die standardmäßig in 4D enthalten ist, nur Schlüssel bis zu 512 Bits Länge. Weitere Informationen dazu finden Sie im Abschnitt Web Dienste, SSL Protokoll.
Dieser Befehl erstellt Schlüssel im PEM Format (Privacy Enhanced Mail), so kann deren Inhalt ohne Änderung in ein E-Mail kopiert/eingefügt werden. Sobald das Schlüsselpaar erstellt ist, lässt sich ein Textdokument herstellen, z.B. mit dem Befehl BLOB TO DOCUMENT. Die Schlüssel können nun an einem sicheren Ort gespeichert werden.
Warnung: Der private Schlüssel sollte immer geheimgehalten werden.
RSA, privater und öffentlicher Schlüssel
Der Befehl GENERATE ENCRYPTION KEYPAIR verwendet das RSA Verschlüsselungsverfahren. Es beruht auf einem doppelten Verschlüsselungssystem: Einem privaten Schlüssel und einem öffentlichen Schlüssel. Ein öffentlicher Schlüssel kann - wie schon der Name sagt - an Dritte weitergegeben und zum Entschlüsseln von Informationen verwendet werden. Der öffentliche Schlüssel ist mit einem einmaligen privaten Schlüssel verbunden, mit dem die Information verschlüsselt wird. Demzufolge wird der private Schlüssel zum Verschlüsseln und der öffentliche Schlüssel zum Entschlüsseln verwendet, oder umgekehrt. Die mit einem Schlüssel verschlüsselte Information kann nur mit dem anderen Schlüssel entschlüsselt werden.
Die Verschlüsselungsfunktionalitäten des SSL Protokolls beruhen auf diesem Prinzip. Der öffentliche Schlüssel ist in dem Zertifikat enthalten, das an die Browser gesendet wird. Weitere Informationen dazu finden Sie im Absatz "Gesicherte Verbindungen via SSL".
Die erste Syntax der Befehle ENCRYPT BLOB und DECRYPT BLOB arbeitet mit demselben Verschlüsselungssystem. Der öffentliche Schlüssel sollte nur auf vertraulicher Basis zugänglich sein. Öffentliche und private Schlüssel von zwei Personen können für die Verschlüsselung auch vermischt werden. Dann kann allein der Empfänger die Information entschlüsseln und allein der Sender diese verschlüsselt haben. Dieses Prinzip ist in der zweiten Syntax von ENCRYPT BLOB und DECRYPT BLOB enthalten.
Beispiel
Siehe Beispiel zum Befehl ENCRYPT BLOB.
Referenz
DECRYPT BLOB, ENCRYPT BLOB, GENERATE CERTIFICATE REQUEST.