Messages might be captured and reused one or more times for the benefit of another party. Messages might be monitored by an eavesdropper in an effort to capture information that would not otherwise be available. Such attacks can be minimized by using integrity and confidentiality mechanisms. Integrity Mechanisms Integrity mechanisms ensure that communication between entities is not being tampered with by another party, especially one that can intercept and modify their communications. Integrity mechanisms can also be used to ensure that messages can only be used once.
Message integrity is ensured by attaching a message signature to a message.
A message signature ensures that modification of the message by anyone other than the caller will be detectable by the receiver. The purpose of the confounder is to make the message authenticator useful only once. This prevents a malicious recipient from claiming that it received a message more times than it did or from reusing an intercepted message for its own purpose. In exchange for these receiver-side limitations, a measure of accountability is transferred to the sender. In the J2EE architecture, a container serves as an authentication boundary between callers and the components it hosts.