Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Verwenden von Verschlüsselung in benutzerdefinierten Anwendungen

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Beschreiben der Apex Crypto-Klasse
  • Erläutern der unterschiedlichen Anwendungsfälle für die Apex Crypto-Klasse und benutzerdefinierte Verschlüsselung
  • Implementieren der Verschlüsselung in Ihrer eigenen Anwendung

Was ist die Apex Crypto-Klasse?

Wenn es um die Implementierung von Verschlüsselung in Ihrer Salesforce-Anwendung geht, bietet Ihnen Apex die Flexibilität, eigene benutzerdefinierte kryptografische Funktionen zu schreiben, während Sie die Möglichkeit haben, eine Vielzahl vordefinierter Funktionen zu nutzen. In dieser Lektion lernen Sie einige der leistungsstarken Funktionen in Salesforce kennen, mit denen Sie Digests, Message Authentication Codes (MACs), Signaturen sowie Ver- und Entschlüsselungsfunktionen mithilfe der Apex Crypto-Klasse erstellen können.

Die Crypto-Klasse bietet eine Reihe wirkungsvoller Funktionen zum Schutz Ihrer Kommunikation. Mit diesen Funktionen können Sie vertrauliche Daten wirksam vor Lauschangriffen schützen, Vollständigkeit und Unveränderlichkeit von Nachrichtendaten bestätigen und die Authentizität von Absendern und Empfängern überprüfen. Jede dieser Funktionen unterstützt verschiedene Algorithmen. Diese bieten Ihnen ein hohes Maß an Kontrolle über die Zusammensetzung Ihrer Lösung und minimieren gleichzeitig den Aufwand für die Absicherung Ihrer Anwendung.

Ver- und Entschlüsselung zum Schutz von Datenvertraulichkeit

Ver- und Entschlüsselung können mit den Apex-Funktionen Crypto.Encrypt() und Crypto.Decrypt(), die die Algorithmen AES128, AES192 und AES256 unterstützen, einfach und flexibel erfolgen. Ver- und Entschlüsselungsfunktionen sind unerlässlich, um die Vertraulichkeit Ihrer Anwendungsdaten zu gewährleisten. Sie haben damit die Möglichkeit, einen eigenen Verschlüsselungsschlüssel zu generieren oder die Methode Crypto.generateAESKey(Integer keylength) zu verwenden. Zum Absichern von Verschlüsselungsschlüsseln können Sie die in der vorherigen Lektion erlernten Verfahren zum Speichern von Geheimnissen in geschützten benutzerdefinierten Metadatentypen bzw. geschützten benutzerdefinierten Einstellungen befolgen.

Hash-Digests zum Schutz der Integrität

Eine weitere nützliche Funktion zum Überprüfen von Datenintegrität ist die Apex-Funktion Crypto.generateDigest(). Diese Methode erzeugt einen unidirektionalen Hash-Digest und unterstützt Algorithmen wie MD5, SHA1, SHA256 und SHA512. Diese Hash-Digests können sehr hilfreich sein, um versehentliche Datenbeschädigungen (oder andere unerwünschte Änderungen) festzustellen. Durch Vergleichsprüfungen von Hash-Digests können Sie Änderungen an Daten schnell entdecken. Da der neu berechnete Digest dieser Daten nicht mit dem ursprünglichen Digest übereinstimmt, können Sie bestätigen, dass die Daten verändert wurden. Dies kann ein Hinweis auf Ereignisse wie Datenbeschädigung, versehentliche Änderungen oder böswillige Manipulationen sein.

Beachten Sie, dass Hash-Algorithmen unterschiedliche Sicherheitsgrade aufweisen. Die Crypto-Klasse unterstützt MD5 zwar, gilt aber als schwacher Hash-Algorithmus. Salesforce empfiehlt daher mindestens SHA2 zum Berechnen von Hash-Digests.

Hash-basierte MACs (Message Authentication Codes) als Nachweis von Authentizität und Integrität

Eine weitere nützliche Funktion ist die Apex-Methode Crypto.generateMac(), mit der MACs erstellt werden können. MACs können zusammen mit Message-Digest-Funktionen verwendet werden, um Hash-MACs (HMACs) einzurichten. HMACs werden in den Protokollen TLS und IPSec verwendet, um Absender von Nachrichten zu authentifizieren und sicherzustellen, dass Nachrichten während der Übertragung nicht verändert (oder abgefangen) werden.

Die Methode Crypto.generateMac() unterstützt die Algorithmen HMACMD5, HMACSHA1, HMACSHA256 und HMAC512. Bei HMAC-Funktionen werden Message Digests und ein gemeinsamer Schlüssel verwendet, mit dem der Absender einen MAC generiert und der Empfänger den MAC verifiziert. Da der Empfänger den MAC mit dem gemeinsamen privaten Schlüssel verifizieren muss, lässt sich so die Authentizität des Nachrichtenabsenders bestätigen. Die Message Digests können dann verglichen werden, damit der Empfänger bestätigen kann, dass die Nachricht während der Übertragung nicht verändert wurde, beispielsweise durch einen Person-in-the-Middle-Angriff.

Erstellen einer digitalen Signatur

Digitale Signaturen gewährleisten die Integrität und Authentizität von Nachrichten, indem sie asymmetrische Kryptographie verwenden, um den Austausch privater Schlüssel zu vermeiden. Zum Erzeugen einer digitalen Signatur können Sie die Funktion Crypto.sign() verwenden, die den angegebenen Algorithmus und den privaten Schlüssel verwendet, um eine Signatur der Eingabedaten zu erstellen. Bei dieser Kombination kann der Empfänger einer Nachricht den passenden öffentlichen Schlüssel verwenden, um die Integrität der signierten Daten zu überprüfen.

Sie wissen nun, wie Sie einige Verschlüsselungsmethoden in Ihrer Salesforce-Anwendung implementieren, und können daher die Flexibilität von Apex nutzen, um vordefinierte Funktionen zum Schutz Ihrer Daten verwenden.

Verschlüsselung im Zusammenspiel mit Plattformfunktionen, wie sie von der Apex Crypto-Klasse angeboten werden, helfen Ihnen, die Sicherheit der Anwendungen zu gewährleisten, die Sie für die Salesforce-Plattform entwickeln.

Warnung:

Die Kryptografie, einschließlich der Schlüsselverwaltung, ist eine höchst riskante Entwicklungsaktivität. Wenn Sie kryptografische Funktionen implementieren, stellen Sie sicher, dass die gesamte Arbeit von einem in Kryptografie erfahrenen Anwendungssicherheitsexperten detailliert geprüft wird. Schwachstellen bei der Datenverschlüsselung können zu schwerwiegenden Verletzungen von Datenschutz und Vertraulichkeit führen.

Ressourcen

Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"