Zeitmarke

Eine Zeitmarke ist der Wert eines Objekts, der die Systemzeit an einem kritischen Punkt der Objekthistorie anzeigt.

Eine Zeitmarke wird in eine Nachricht eingeschlossen, um die Anfälligkeit einer Anwendung für Attacken durch Nachrichtenaufzeichnung und -wiederholung zu verringern. In Web-Services liegt eine Attacke durch Nachrichtenaufzeichnung und -wiederholung vor, wenn eine HTTP-Anforderung abgefangen und ihr Inhalt in ihrer ursprünglichen Form an den Provider zurückgesendet wird.

Fehler vermeiden Fehler vermeiden: Wenn Sie eine Zeitmarke in eine Nachricht einfügen, müssen Sie die Integrität der Zeitmarke schützen, indem Sie die Transportsicherheit (z. B. SSL) oder die Sicherheit auf Nachrichtenebene (z. B. digitale XML-Signatur) nutzen. Schützen Sie die Integrität der Zeitmarke nicht, kann die Nachricht erfasst und der Inhalt mit einer anderen Zeitmarke und/oder einer anderen Ablaufzeit der Nachricht erneut übertragen werden. gotcha

Für die WS-Sicherheitslaufzeiten von JAX-RPC und JAX-WS beträgt die Standardablaufzeit für Nachrichten für den Empfänger fünf Minuten, wenn in der Nachricht kein Wert angegeben ist. Wenn für einen bestimmten Client eine andere Ablaufzeit erforderlich ist oder Sie sich hinsichtlich des Standardwerts des Zielservice unsicher sind, müssen Sie für die Zeitmarke der abgehenden Nachricht einen entsprechenden Wert konfigurieren.

Unterstützte Konfigurationen Unterstützte Konfigurationen:
  • Wenn die WS-Sicherheitslaufzeiten von JAX-RPC und JAX-WS eine Nachricht generieren oder konsumieren, wird der Schutz der Integrität der Zeitmarke nicht zwingend umgesetzt.
  • Die WS-Security-Laufzeiten von JAX-RPC und JAX-WS haben keinen Standardwert für die Ablaufzeit der abgehenden Nachricht. Wenn Sie einen Wert für die Ablaufzeit der Nachricht in eine Nachricht einfügen möchten, müssen Sie sie konfigurieren. Die Laufzeit von JAX-WS hat zwar keinen Standardwert für die Ablaufzeit abgehender Nachrichten, Sie können einen solchen Wert jedoch in den allgemeinen Standardbindungen konfigurieren. Dieser Wert wird von allen Anwendungen auf der Ebene, für die die Standardbindungen gültig sind, abgerufen. Beispielsweise kann der Wert auf Zellen- oder Anwendungsebene abgerufen werden.
  • Bei der Laufzeit von JAX-RPC wird der Wert für die Ablaufzeit der Zeitmarke in der Erweiterung des Web-Service-Implementierungsdeskriptors angegeben. Sie können die Erweiterung des Web-Service-Implementierungsdeskriptors in der Administrationskonsole nicht ändern, sondern nur anzeigen. Um die Erweiterung des Implementierungsdeskriptors zu ändern, müssen Sie ein Assembliertool verwenden und den Wert für die Ablaufzeit der Zeitmarke für eine JAX-RPC-Anwendung hinzufügen bzw. ändern.
  • Wenn bezüglich der Nutzung einer Zeitmarke Einschränkungen bezüglich WS-Security vorhanden sind, muss der Client eine Zeitmarke senden.
  • In WebSphere Application Server wird die Richtlinienzusicherung IncludeTimestamp durchgesetzt. Viele Service-Provider setzen zwar voraus, dass das Element <wsu:Timestamp> in der Anforderung enthalten ist, senden jedoch keines in der Antwort. Es ist auch möglich, dass in der Antwort überhaupt kein Sicherheitsheader (Security) enthalten ist und schon gar nicht eine Zeitmarke (Timestamp). Auf einem Client tritt der folgende Fehler auf, wenn IncludeTimestamp in der Richtlinie enthalten ist, aber keine Zeitmarke (Timestamp) in der Antwort zurückgegeben wird:
    CWWSS5730E: Die erforderliche Zeitmarke wurde nicht gefunden. 
    Zum Beheben des Problems konfigurieren Sie entweder den Service-Provider so, dass er eine Zeitmarke sendet, oder konfigurieren Sie den Client so, dass er keine Zeitmarke erfordert, indem Sie die angepasste Eigenschaft com.ibm.wsspi.wssecurity.consumer.timestampRequired in den WS-Security-Richtlinienbindungen auf false setzen. Weitere Informationen finden Sie unter Angepasste Eigenschaften für Web Services Security.
sptcfg

Die JAX-WS-WS-Security-Laufzeit erfüllt die Anforderung der Spezifikation OASIS WS-SecurityPolicy 1.2 bezüglich der erforderlichen Angabe einer Zeitmarke ("Timestamp Required"). Wenn Sie eine Anwendung so konfigurieren möchten, dass sie keine Zeitmarke für eingehende Nachrichten erfordert, wenn eine Zeitmarke für abgehende Nachrichten konfiguriert ist, können Sie die angepasste Eigenschaft "com.ibm.wsspi.wssecurity.consumer.timestampRequired" als angepasste WS-Security-Eigenschaft (Web Services Security) konfigurieren.

Die JAX-WS-Laufzeit setzt immer die Zeitmarke als erstes Element, die JAX-RPC-Laufzeit dagegen nicht. Wenn Sie die Laufzeit JAX-RPC WS-Security 1.0 verwenden und festlegen möchten, dass die Zeitmarke im Sicherheitsheader als erstes Element ausgegeben wird, müssen Sie wie folgt vorgehen:
  • Setzen Sie die Eigenschaft com.ibm.wsspi.wssecurity.timestamp.keyword auf SecurityFirst.
  • Setzen Sie die Eigenschaft com.ibm.wsspi.wssecurity.timestamp.dialect auf http://www.ibm.com/websphere/webservices/wssecurity/dialect-was. Der Standardwert für com.ibm.wsspi.wssecurity.timestamp.dialect ist "dialect-was", aber die Eigenschaft muss explizit festgelegt werden, damit die gewünschte Funktion verwendet wird.
Diese Eigenschaften werden als Eigenschaften des Zeitmarkengenerators in der Erweiterung des Implementierungsdeskriptors für Web-Services festgelegt. Weil sie in der Erweiterung festgelegt werden, können Sie nur mit einem Assembliertool bearbeitet werden.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



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