Verbindungspunkt für angepasste Kennwortverschlüsselung aktivieren

Der Zugriffsschutz für Kennwörter wird mit zwei Eigenschaften gesteuert. Durch die Konfiguration dieser beiden Eigenschaften können Sie einen Verbindungspunkt für angepasste Kennwortverschlüsselung aktivieren.

Vorbereitende Schritte

Beispielcode, der die Schnittstelle "com.ibm.wsspi.security.crypto.CustomPasswordEncryption" veranschaulicht, finden Sie im Artikel Verbindungspunkt für angepasste Kennwortverschlüsselung.

Informationen zu diesem Vorgang

Das Verschlüsselungsverfahren wird für die Kennwortverarbeitung aufgerufen, sofern die angepasste Klasse konfiguriert und die eigene Verschlüsselung aktiviert ist. Das Entschlüsselungsverfahren wird aufgerufen, wenn die angepasste Klasse konfiguriert ist und das Kennwort mit dem Tag {custom:alias} versehen ist. Vor der Entschlüsselung wird das Tag {custom:alias} gelöscht.

Vorgehensweise

  1. Zum Aktivieren der eigenen Kennwortverschlüsselung müssen Sie zwei Eigenschaften konfigurieren:
    • Die Eigenschaft com.ibm.wsspi.security.crypto.customPasswordEncryptionClass definiert die angepasste Klasse, die die Schnittstelle für Kennwortverschlüsselung com.ibm.wsspi.security.crypto.CustomPasswordEncryption implementiert.
    • Die Eigenschaft com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled definiert, wann die angepasste Klasse für die Standardkennwortverarbeitung verwendet wird. Wenn die Option "passwordEncryptionEnabled" nicht angegeben oder auf false gesetzt und die Klasse "passwordEncryptionClass" angegeben ist, wird die Entschlüsselungsmethode immer dann aufgerufen, wenn noch eine Anweisung {custom:alias} im Konfigurationsrepository enthalten ist.
  2. [AIX Solaris HP-UX Linux Windows][z/OS]Zum Konfigurieren der eigenen Kennwortverschlüsselung müssen Sie die beiden Eigenschaften in der Datei server.xml konfigurieren. Wie Sie diese Konfiguration durchführen, richtet sich nach der vorhandenen Verzeichnisstruktur. Wählen Sie eine der folgenden Vorgehensweisen für diese Konfiguration aus:
    • Kopieren Sie die angepasste Verschlüsselungsklasse (com.acme.myPasswordEncryptionClass) in eine JAR-Datei (Java-Archiv) im Verzeichnis ${WAS_INSTALL_ROOT}/classes. In diesem Fall haben Sie für diesen Zweck das Verzeichnis ${WAS_INSTALL_ROOT}/classes erstellt.
      Anmerkung: WebSphere Application Server erstellt das Verzeichnis ${WAS_INSTALL_ROOT}/classes nicht.
    • Kopieren Sie die angepasste Verschlüsselungsklasse (com.acme.myPasswordEncryptionClass) in eine JAR-Datei (Java-Archiv) im Verzeichnis ${WAS_HOME}/lib/ext oder in einem anderen gültigen vorhandenen Verzeichnis.
    Jedes Konfigurationsdokument, das ein Kennwort enthält (security.xml und alle Anwendungsbindungen mit RunAs-Kennwörtern), muss gespeichert werden. Erst im Anschluss werden alle Kennwörter mit der angepassten Verschlüsselungsklasse verschlüsselt.
  3. [IBM i]Zum Konfigurieren der eigenen Kennwortverschlüsselung müssen Sie die beiden Eigenschaften in der Datei security.xml konfigurieren. Die angepasste Verschlüsselungsklasse (com.acme.myPasswordEncryptionClass) muss für alle Prozesse von WebSphere Application Server in die JAR-Datei im Verzeichnis ${APP_SERVER_ROOT}/classes gestellt werden. Jedes Konfigurationsdokument, das ein Kennwort enthält (security.xml und alle Anwendungsbindungen mit RunAs-Kennwörtern), muss gespeichert werden. Erst im Anschluss werden alle Kennwörter mit der angepassten Verschlüsselungsklasse verschlüsselt. Für clientseitige Eigenschaftendateien wie sas.client.props und soap.client.props verwenden Sie zum Aktivieren der eigenen Verarbeitung das Script PropFilePasswordEncoder.bat bzw. PropFilePasswordEncode.sh. In der Java™-Befehlszeile dieses Scripts müssen die beiden Eigenschaften als Systemeigenschaften konfiguriert sein. Bei aktivierter eigener Kennwortverschlüsselung können für die Verschlüsselung und Entschlüsselung dieselben Tools wie für die Codierung und Decodierung verwendet werden.
  4. Falls als angepasste Implementierungsklasse standardmäßig die Schnittstelle "com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl" verwendet wird und diese Klasse im Klassenpfad enthalten ist, ist die Verschlüsselung standardmäßig aktiviert. Damit wird der Aktivierungsprozess für alle Knoten vereinfacht. Über die für die eigene Implementierung erforderlichen Eigenschaften hinaus müssen keine Eigenschaften definiert werden. Geben Sie die folgende Klasse an, wenn Sie die Verschlüsselung inaktivieren, diese Klasse jedoch weiter für die Entschlüsselung verwenden möchten.
    • com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false

Nächste Schritte

Wenn eine Verschlüsselungsoperation einer eigenen Verschlüsselungsklasse aufgerufen wird und diese eine Laufzeitausnahme oder eine definierte Ausnahme vom Typ PasswordEncryptException generiert, verwendet die Laufzeitumgebung von WebSphere Application Server den Algorithmus {xor} für die Codierung des Kennworts. Durch die Codierung wird verhindert, dass das Kennwort im Klartext gespeichert wird. Nachdem das Problem mit der angepassten Klasse gelöst wurde, verschlüsselt die Klasse das Kennwort automatisch beim nächsten Speichern des Konfigurationsdokuments.

Wenn eine RunAs-Rolle eine Benutzer-ID und ein Kennwort zugeordnet sind, wird das Kennwort mit der Codierungsfunktion von von WebSphere Application Server codiert. Nachdem der angepasste Verbindungspunkt für die Verschlüsselung der Kennwörter konfiguriert wurde, verschlüsselt er auch die Kennwörter für die RunAs-Bindungen. Falls die implementierte Anwendung in eine Zelle mit anderen Chiffrierschlüsseln oder noch nicht aktivierter eigener Verschlüsselung verschoben, kommt es zu einem Anmeldefehler, weil das Kennwort nicht gelesen werden kann.

Eine der Zuständigkeiten der Implementierung der eigenen Kennwortverschlüsselung ist die Verwaltung der Chiffrierschlüssel. Diese Klasse muss alle von ihr verschlüsselten Kennwörter entschlüsseln. Kann ein Kennwort nicht entschlüsselt werden, wird es unbrauchbar und muss in der Konfiguration geändert werden. Es müssen alle für die Entschlüsselung dort vorhanden sein, und es dürfen keine Kennwörter mehr vorhanden sein, die diese Schlüssel verwenden. Der geheime Master-Secret-Wert muss in der angepassten Kennwortverschlüsselungsklasse gespeichert werden, um die Chiffrierschlüssel zu schützen.

Sie können den geheimen Master-Secret-Wert mit einer Stash-Datei für den Keystore oder einem Kennwort-Locator verwalten, mit dem die angepasste Verschlüsselungsklasse das Kennwort finden und sperren kann.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_plugpoint_custpass_encrypt
Dateiname:tsec_plugpoint_custpass_encrypt.html