on. This is the only way a server can be sure that the SIP message received was not modified by any entity in the network after being sent by the client. S/MIME Authentication and Message Integrity A general security mechanism is usable with any transport mechanism that transports MIME [RFC 2045] data. Known as Secure/Multipurpose Internet Mail Extensions (S/MIME) [RFC 2633], it is generic enough to exchange secure e-mails and work with both HTTP and SIP. S/MIME provides a format whereby the contents of a message are signed, enabling the receiver to verify its integrity. Messages are signed using a public-key encryption mechanism. An indi- vidual user has two keys: the private key, which only the user knows, and the public key, which is available to anyone. Something encrypted with a private key can only be decrypted with a public key and vice versa. In order to sign a message, the user calculates a digital signature by using his or her private key and the contents of the message as input. Then it adds the signature to the message. This way, if Bob signs a message using his private key, Laura can check the integrity of the message and verify that it comes from Bob. She uses Bob's public key to check that the digital sig- nature belongs to Bob, who is the only one who knows his private key. S/MIME Confidentiality However, even if Laura can ascertain that Bob was the sender and that the message was not modified in the network, any eavesdropper can still see the contents of the SIP messages exchanged. S/MIME provides an encrypted-only format to ensure that message con- tents remain confidential. Bob encrypts the contents of his messages with Laura's public key. Because Laura is the only one who knows her private key, Bob's messages can only be decrypted by her. Both formats provided by S/MIME, signed-only and encrypted-only format, can be combined to provide authentication, message integrity, and confidentiality. Chapter 6 End-to-End and Hop-by-Hop Security We have seen that proxies need to examine certain headers s