Instant Messaging は、TLS (Transport Layer Security) 1.0 プロトコルの startTLS 拡張を使用することにより、クライアント/サーバー間やサーバー間の暗号化通信、およびサーバー間での証明書ベースの認証を行います。さらに、Instant Messaging は Instant Messenger とマルチプレクサ間の暗号化通信用として、SSL プロトコル (バージョン 3.0) の従来の実装をサポートします。後者の場合、証明書は、クライアントが接続するサーバー ID を検証するために使用されますが、認証用としては使用されません。
マルチプレクサとサーバー間の通信は、セキュリティー保護されていないトランスポート上で行われます。TLS を使ってクライアント/サーバー間通信を行う場合、マルチプレクサはクライアントからサーバーに、あるいはその逆方向にバイトを引き渡すだけであり、暗号化や復号化は一切実行しません。
TLS は、SSL との完全な互換性を持ち、必要なすべての SSL 機能を含んでいます。TLS と SSL は、XMPP や HTTP のアプリケーション層の下のプロトコル層として機能します。
従来の SSL のみを使用するようにマルチプレクサを設定した場合、Instant Messenger は SSL を使ってマルチプレクサに接続するのみであり、サーバーから返される情報のうち、TLS でのみ有効な情報をすべて無視します。ただし、マルチプレクサで従来の SSL を使用することを選択した場合、すべての XMPP/HTTP ゲートウェイ インスタンスを、マルチプレクサを介さずにサーバーと直接通信するように設定してください。ゲートウェイは従来の SSL をサポートしません。従来の SSL を介してマルチプレクサに接続したあとで TLS 接続を要求した他社製クライアントは、接続を許されます。
さらに、マルチプレクサは、セキュリティー保護されていないトランスポートを介してサーバーに接続します。終端間通信 (クライアントからマルチプレクサを介してサーバーへの通信、およびその逆方向の通信) のセキュリティーを強化するには、従来の SSL ではなく TLS を使用してください。
Instant Messaging サーバーで TLS を使用するには、少なくとも Java 1.5 を使用する必要があります。
XMPP における TLS と StartTLS については、RFC 3920、Extensible Messaging and Presence Protocol: Core の「Use of TLS」を参照してください。証明書、SSL、および TLS の概要については、『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』の「証明書および SSL の概要」を参照してください。この節の手順は、証明書の生成に Sun JavaTM System Application Server を使用するものと仮定します。別の Web コンテナを使用する場合には、その Web コンテナのマニュアルを参照し、キーストアや証明書の具体的な生成手順を確認する必要があります。