メインコンテンツまでスキップ

Appendix A. Overview of DTLS (DTLS の概要)

Appendix A. Overview of DTLS (DTLS の概要)

このセクションでは、データグラム TLS (Datagram TLS, DTLS) に馴染みのない方のために、簡単な概要を提供します。DTLS は、よく知られている Transport Layer Security (TLS) [RFC5246] プロトコルに基づくチャネルセキュリティプロトコルです。TLS は信頼性のあるトランスポートチャネル (通常は TCP) に依存しますが、DTLS は UDP などの信頼性のないトランスポートをサポートするように適応されています。それ以外では、DTLS は TLS とほぼ同一であり、一般的に同じ暗号メカニズムをサポートします。

各 DTLS アソシエーションは、ハンドシェイク交換で開始されます。この間、ピアは互いを認証し、アルゴリズム、モード、およびその他のパラメータをネゴシエートし、共有鍵マテリアルを確立します。信頼性のないトランスポートをサポートするために、各サイドはこれらのメッセージの信頼性のある配信を提供するために再送信タイマーを維持します。ハンドシェイクが完了すると、暗号化されたデータを送信できます。

クライアント                                               サーバー

ClientHello -------->
ServerHello
Certificate*
ServerKeyExchange*
CertificateRequest*
<-------- ServerHelloDone
Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished -------->
[ChangeCipherSpec]
<-------- Finished
Application Data <-------> Application Data

'*' は常に送信されるとは限らないメッセージを示します。

アプリケーションデータは、一連の DTLS "レコード" として送信することによって保護されます。これらのレコードは独立しており、損失や並べ替えがあっても正しく処理できます。DTLS-SRTP では、このレコードプロトコルは SRTP [RFC3711] に置き換えられます。