Zum Inhalt springen

WS-Security

aus Wikipedia, der freien Enzyklopädie

WS-Security ist ein Standard aus dem Kontext der WS-*-Spezifikationen. Im Wesentlichen beschreibt er ein Kommunikationsprotokoll, das es ermöglicht, Sicherheitsaspekte bei Webservices zu berücksichtigen. Am 19. April 2004 wurde der OASIS-Standard in seiner Version 1.0 veröffentlicht und am 17. Februar 2006 auf die Version 1.1 aktualisiert.

Ursprünglich durch IBM, Microsoft und Verisign entwickelt, wird der Standard nun durch ein Komitee im Rahmen von Oasis-Open weiterentwickelt.

Der Standard beinhaltet Spezifikationen, die vorschreiben, wie Nachrichtenintegrität und -verschlüsselung im Rahmen von Webservices sichergestellt werden können. Dabei schreibt WS-Security jedoch nicht alle Details vor, sondern setzt viel mehr auf bereits bestehende „Verfahren“ auf (XML-Signature und XML-Encryption).

WS-Security beinhaltet drei Hauptmechanismen:

  • die Möglichkeit, Securitytokens als Teil der SOAP-Nachricht zu übertragen,
  • Signierung von Nachrichten und
  • Verschlüsselung von Nachrichten.

Dabei wird genau vorgeschrieben, wo und wie Signaturen, Verschlüsselungsinformationen sowie besagte Securitytokens in der SOAP-Nachricht eingefügt werden müssen.

Profile für Security Tokens

Es werden folgende Profile zur Erstellung des SecurityTokens unterschieden:

Zugehörige Spezifikationen

Die folgenden WS-*-Spezifikationen stehen in engem Zusammenhang mit WS-Security:

Implementierungen

Alternativen

Anstelle von WS-Security (Message Layer) kann man unter anderem auch auf der Transportebene (Transport Layer) aufsetzen, indem beispielsweise Protokolle wie HTTPS verwendet werden. Dies hat folgende Nachteile:

  • Bei der Kommunikation über mehrere Knoten hat man dann keine direkte „End-to-End-Security“ mehr.
  • Alles-oder-nichts-Übertragung: Message Layer Security bietet eine feinere Granularität.

Weblinks

      | {{#ifeq: 20120916113514 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: WS-Security Specification | {{#invoke:WLink|getEscapedTitle|WS-Security Specification}} | {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120916113514}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: WS-Security Specification | {{#invoke:WLink|getEscapedTitle|WS-Security Specification}} | {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120916113514}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: WS-Security Specification | {{#invoke:WLink|getEscapedTitle|WS-Security Specification}} | {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: WS-Security Specification | {{#invoke:WLink|getEscapedTitle|WS-Security Specification}} | {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: WS-Security Specification | {{#invoke:WLink|getEscapedTitle|WS-Security Specification}} | {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: WS-Security Specification | {{#invoke:WLink|getEscapedTitle|WS-Security Specification}} | {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120916113514|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.ibm.com/developerworks/library/specification/ws-secure/}}
    || {{#if:  || }}
  }}{{#if: WS-Security Specification
    | {{#if: {{#invoke:WLink|isBracketedLink|WS-Security Specification}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.ibm.com/developerworks/library/specification/ws-secure/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.ibm.com/developerworks/library/specification/ws-secure/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.ibm.com/developerworks/library/specification/ws-secure/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}