What is WS-Security?
Why WS-Security?
Terminology
How to Secure?
Code
Demos
Reference
Size: 2.95 MB
Language: en
Added: Oct 15, 2024
Slides: 26 pages
Slide Content
11
WS-Security WS-Security
Clement SongClement Song
02-09-0402-09-04
22
OutlineOutline
What is WS-Security?What is WS-Security?
Why WS-Security?Why WS-Security?
Terminology Terminology
How to Secure? How to Secure?
Code Code
Demos Demos
ReferenceReference
33
What is WS-Security?What is WS-Security?
WS-Security:WS-Security:
soap message protection through message soap message protection through message
integrity, confidentiality, and single message integrity, confidentiality, and single message
authentication authentication
extensible and flexible (multiple security extensible and flexible (multiple security
tokens, trust domains, signature formats, and tokens, trust domains, signature formats, and
encryption technologies. )encryption technologies. )
a flexible set of mechanisms that can be used a flexible set of mechanisms that can be used
to construct a range of security protocols to construct a range of security protocols
Source: WS-Security version 1.0. ref[1]
55
Terminology ReferenceTerminology Reference
ClaimClaim - A - A claimclaim is a statement that a requestor makes is a statement that a requestor makes
(e.g. name, identity, key, group, privilege, capability, etc). (e.g. name, identity, key, group, privilege, capability, etc).
Security TokenSecurity Token - A - A security tokensecurity token represents a represents a
collection of claims. collection of claims.
Signed Security TokenSigned Security Token - A - A signed security tokensigned security token is a is a
security token that is asserted and cryptographically security token that is asserted and cryptographically
endorsed by a specific authority (e.g. an X.509 certificate endorsed by a specific authority (e.g. an X.509 certificate
or a Kerberos ticket). or a Kerberos ticket).
Proof-of-PossessionProof-of-Possession - The - The proof-of-possessionproof-of-possession
information is data that is used in a proof process to information is data that is used in a proof process to
demonstrate the sender's knowledge of information that demonstrate the sender's knowledge of information that
should only be known to the claiming sender of a should only be known to the claiming sender of a
security token. security token.
66
Terminology ReferenceTerminology Reference
DigestDigest - A - A digestdigest is a cryptographic checksum of an is a cryptographic checksum of an
octet stream octet stream
SignatureSignature - A - A signaturesignature is a cryptographic binding of a is a cryptographic binding of a
proof-of-possession and a digest. This covers both proof-of-possession and a digest. This covers both
symmetric key-based and public key-based signatures. symmetric key-based and public key-based signatures.
Consequently, non-repudiation Consequently, non-repudiation
Non-repudiation - Non-repudiation - means to ensure that a transferred means to ensure that a transferred
message has been sent and received by the parties message has been sent and received by the parties
claiming to have sent and received the message. A way claiming to have sent and received the message. A way
to guarantee that the sender of a message cannot later to guarantee that the sender of a message cannot later
deny having sent the message and that the recipient deny having sent the message and that the recipient
cannot deny having received the message. cannot deny having received the message.
77
How to Secure?How to Secure?
Integrity - information is not modified in Integrity - information is not modified in
transit transit
XML signature in conjunction with security XML signature in conjunction with security
tokens tokens
Multiple signature, multiple actors, additional Multiple signature, multiple actors, additional
signature formats signature formats
88
How to Secure?How to Secure?
Confidentiality - only authorized actors or Confidentiality - only authorized actors or
security token owners can view the datasecurity token owners can view the data
XML encryption in conjunction with security XML encryption in conjunction with security
tokenstokens
Multiple encryption processes, multiple actorsMultiple encryption processes, multiple actors
99
How to Secure?How to Secure?
Authentication – you are whom you said you areAuthentication – you are whom you said you are
Security Tokens Security Tokens
1111
UsernameToken ElementUsernameToken Element
<UsernameToken Id="..."> <UsernameToken Id="...">
<Username>...</Username> <Username>...</Username>
<Password Type="...">...</Password> <Password Type="...">...</Password>
</UsernameToken> </UsernameToken>
Types:Types:
wsse:PasswordText wsse:PasswordText
(default) (default)
The actual password for the username The actual password for the username
wsse:PasswordDigest wsse:PasswordDigest The digest of the password for the The digest of the password for the
username. The value is a base64-encoded username. The value is a base64-encoded
SHA1 hash value of the UTF8-encoded SHA1 hash value of the UTF8-encoded
password password