55 lines
5.0 KiB
HTML
55 lines
5.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<LINK rel="stylesheet" type="text/css" href="../../../rzahg/ic.css">
|
|
|
|
<title>XML digital signature</title>
|
|
</head>
|
|
|
|
<BODY>
|
|
<!-- Java sync-link -->
|
|
<SCRIPT LANGUAGE="Javascript" SRC="../../../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
|
|
|
|
<h6><a name="wsseccfxmlsign"></a>XML digital signature</h6>
|
|
|
|
<p>XML-Signature Syntax and Processing (XML signature) is a specification that defines XML syntax and processing rules to sign and verify digital signatures for digital content. The specification was developed jointly by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF).</p>
|
|
|
|
<p>XML signature does not introduce new cryptographic algorithms. WebSphere Application Server - Express uses XML signature with existing algorithms such as RSA, HMAC, and SHA1. XML signature defines many methods for describing key information and enables a new method to be defined.</p>
|
|
|
|
<p>XML cannonicalization (c14n) is often needed when you use XML signature. Information can be represented in various ways within serialized XML documents. For example, although their octet representations are different, the following examples are identical:</p>
|
|
|
|
<ul>
|
|
<li><person first="John" last="Smith"/></li>
|
|
<li><person last="Smith" first="John"></person></li>
|
|
</ul>
|
|
|
|
<p>C14n is a process used to cannonicalize XML information. Select an appropriate c14n algorithm because the information that is cannonicalized is dependent upon this algorithm. One of major c14n algorithms, Exclusive XML Canonicalization, canonicalizes the character encoding scheme, attribute order, namespace declarations and so on. The algoritm does not canonicalize whitespace outside tags, namespace prefixes, or data type representation. For more information, see <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/" target="_">Exclusive XML Canonicalization</a> <img src="www.gif" width="18" height="15" alt="Link outside Information Center"> (http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/).</p>
|
|
|
|
<p><strong>XML Signature in Web Services Security-Core</strong></p>
|
|
|
|
<p>The Web Services Security-Core (WSS-Core) specification defines a standard way for SOAP messages to incorporate an XML Signature. You can use almost all of th XML signature features in WSS-Core except enveloped signature and enveloping signature. However, WSS-Core has some recommendations such as exclusive canonicalization for the c14n algorithm and some additional features such as SecurityTokenReference and KeyIdentifier. The KeyIdentifier is the value of the SubjectKeyIdentifier field within the X.509 certificate. For more information on the KeyIdentifier, see "Reference to a Subject Key Identifier" within the OASIS Web Services Security X.509 Certificate Token Profile documentation. </p>
|
|
|
|
<p>By including XML Signature in SOAP messages, the following goals are realized:</p>
|
|
<ul>
|
|
<li><p><strong>Message integrity</strong>
|
|
<br>A message receiver can confirm that attackers or accidents have not altered parts of the message after they were signed by a key.</p></li>
|
|
|
|
<li><p><strong>Authentication</strong>
|
|
<br>You can assume that a valid signature is proof of possession. If a message has a digital certificate that is issued by a certificate authority and a signature in the message is validated successfully by a public key in the certificate, it is a proof that the signer has the corresponding private key. The receiver can authenticate the signer by checking the trustworthiness of the certificate.</p></li>
|
|
</ul>
|
|
|
|
<p><strong>XML signature in the current implementation</strong></p>
|
|
|
|
<p>XML signature is supported in Web services security, however, an API is not available. The current implementation has many hard-coded behaviors and has some user-operable configuration items. To configure the client for digital signature, see <a href="wsseccfsignclres.htm">Configure the client for response digital signature verification</a>. To configure the server for digital signature, see <a href="wsseccfsignsvreq.htm">Configure the server for request digital signature verification</a>.</p>
|
|
|
|
<p><strong>Security considerations</strong></p>
|
|
|
|
<p>In a replay attack, an attacker taps the lines, receives a signed message, and then returns the message to the receiver. In this case, the receiver receives the same message twice and might process both of them if the signatures are valid. It can cause damage to the receiver if the message is a claim for money. If you have the signed generation time stamp and the signed expiration time in a message replay attacks may be reduced.</p>
|
|
|
|
<p>However, this is not a complete solution. A message must have a nonce value to prevent these attacks and the receiver must reject a message that contains a processed nonce. The current implementation does not provide a standard way to generate and check nonces in messages. Applications should handle nonces (such as serial numbers) and they should be signed.</p>
|
|
|
|
</body>
|
|
</html>
|
|
|