Skip to main content

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 gleichzeitig die Möglichkeit haben, eine Vielzahl vordefinierter Funktionen zu nutzen. In dieser Einheit werden einige der leistungsstarken Funktionen behandelt, die Salesforce Ihnen zur Verfügung stellt, um Digests, Message Authentication Codes (MACs), Signaturen sowie Ver- und Entschlüsselungsfunktionen mithilfe der Apex Crypto-Klasse zu erstellen. 

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 Einheit 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. MD5 wird zwar von der Crypto-Klasse unterstützt, gilt aber als schwacher Hash-Algorithmus. Salesforce empfiehlt daher mindestens SHA1 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 verschlüsselt und der Empfänger den MAC entschlüsselt. Da der Empfänger den MAC mit dem gemeinsamen privaten Schlüssel entschlüsseln 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 Man-in-the-Middle-Angriff. 

Erstellen einer digitalen Signatur

Digitale Signaturen gewährleisten sowohl Integrität als auch Authentizität von Nachrichten. Zum Erzeugen einer digitalen Signatur können Sie die Funktion Crypto.sign() verwenden, die mit dem SHA1-Algorithmus einen Digest erstellt, der anschließend mit einem privaten Schlüssel mittels RSA verschlüsselt wird. Bei dieser Methode kann der Empfänger einer Nachricht einen öffentlichen Schlüssel verwenden, um eine Nachricht zu entschlüsseln (die mit dem privaten Schlüssel des Absenders verschlüsselt wurde), und dann den gesendeten Message Digest mit einem aus der empfangenen Nachricht generierten Digest vergleichen, um die Integrität der Nachrichten zu bestätigen. 

Sie wissen nun, wie Sie Verschlüsselung in Ihrer Salesforce-Anwendung implementieren können. Sie können dank der Flexibilität von Apex vordefinierte Funktionen nutzen oder Ihre eigenen benutzerdefinierten kryptografischen Funktionen schreiben. 

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. Denn sichere Anwendungen sind der Schlüssel zu Kundenvertrauen und Erfolg. 

Ressourcen

Lernen Sie weiter kostenlos!
Registrieren Sie sich für einen Account, um fortzufahren.
Was ist für Sie drin?
  • Holen Sie sich personalisierte Empfehlungen für Ihre Karriereplanung
  • Erproben Sie Ihre Fähigkeiten mithilfe praktischer Aufgaben und Quizze
  • Verfolgen Sie Ihre Fortschritte nach und teilen Sie sie mit Arbeitgebern
  • Nutzen Sie Mentoren und Karrierechancen