Datagram Transport Layer Security
表示
Datagram Transport Layer Security (DTLS) は、データグラムプロトコルのための暗号化プロトコルである。DTLSはTransport Layer Security (TLS) に基づくプロトコルであり、TLSと同様に、データグラムを扱うプログラムがやり取りする情報の盗聴や改竄を防止する。DTLSを用いることで、データグラムに特有のパケットの到達順序に関わる問題は考慮する必要がなくなるが、一方でパケットの再整列やパケットサイズより大きいデータの喪失に対処する必要がある。
標準化
[編集]以下のRFCにおいてDTLSは定義されている。
DTLS 1.0はTLS 1.1 (RFC 4346) に、DTLS 1.2はTLS 1.2 (RFC 5246)、DTLS 1.3はTLS 1.3 (RFC 8446)に基づいている。
このほか、各種トランスポート層プロトコル上でのDTLSの使用に関して、以下のRFCが存在する。
- RFC 5238: Datagram Congestion Control Protocol (DCCP)
- RFC 6083: Stream Control Transmission Protocol (SCTP)
- RFC 5764: Secure Real-time Transport Protocol (SRTP): Secure Real-Time Transport Control Protocol (SRTCP) の草稿[1]などにおいてはDTLS-SRTPとも呼ばれる
実装
[編集]ライブラリ
[編集]ライブラリ | DTLS 1.0 | DTLS 1.2 |
---|---|---|
Botan | 対応 | 対応 |
cryptlib | 未対応 | 未対応 |
GnuTLS | 対応 | 対応 |
Java Secure Socket Extension | 未対応 | 未対応 |
LibreSSL | 対応 | 未対応 |
libsystools[2] | 対応 | 未対応 |
MatrixSSL | 対応 | 対応 |
mbed TLS | 対応[3] | 対応[3] |
Network Security Services | 対応[4] | 対応[5] |
OpenSSL | 対応 | 対応 |
Python[6][7] | 対応 | 未対応 |
RSA BSAFE | 未対応 | 未対応 |
SChannel XP/2003, Vista/2008 | 未対応 | 未対応 |
SChannel 7/2008R2, 8/1012, 8.1/2012R2, 10 | 対応[8] | 未対応[8] |
SChannel 10 (1607)/2016 | 対応[9] | 対応[9] |
Secure Transport OS X 10.2-10.7 / iOS 1-4 | 未対応 | 未対応 |
Secure Transport OS X 10.8-10.10 / iOS 5-8 | 対応[注 1] | 未対応 |
SharkSSL | 未対応 | 未対応 |
wolfSSL | 対応 | 対応 |
ライブラリ | DTLS 1.0 | DTLS 1.2 |
アプリケーション
[編集]- シスコシステムズのAnyConnect VPN Client[11]およびその互換であるOpenConnect
- ChromeOS、Google Chrome、Mozilla Firefox、およびOperaはWebRTCのためにDTLS-SRTPをサポートしている[12]。
脆弱性
[編集]2013年2月に、ロンドン大学の研究者によって、ブロック暗号をCBCモードで用いたDTLS接続から平文を回復することが可能な攻撃が報告されている[13]。
脚注
[編集]- ^ “Suite B Profile for Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP)”. IETF (2013年12月26日). 2014年6月29日閲覧。
- ^ Julien Kauffmann. “libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL”. Sourceforge. 2014年7月2日閲覧。
- ^ a b “mbed TLS 2.0.0 released”. ARM (2015年7月13日). 2015年8月26日閲覧。
- ^ “NSS 3.14 release notes”. Mozilla Developer Network. Mozilla. 2014年7月2日閲覧。
- ^ “NSS 3.16.2 release notes”. Mozilla Developer Network. Mozilla (2014年6月30日). 2014年7月2日閲覧。
- ^ Ray Brown. “pydtls - Datagram Transport Layer Security for Python”. GitHub. 2014年7月2日閲覧。
- ^ Ray Brown. “DTLS for Python”. Python Software Foundation. 2014年7月2日閲覧。
- ^ a b “An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1”. Microsoft. 2014年7月2日閲覧。
- ^ a b “Windows 10 および Windows Server 2016 での TLS (Schannel SSP) の変更します。”. Microsoft Docs. 2017年9月1日閲覧。 “Windows 10 バージョン 1607 および Windows Server 2016 DTLS 1.2 (RFC 6347) のサポートを追加します。”
- ^ “Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues”. iOS Developer Library. Apple Inc.. 2014年7月2日閲覧。
- ^ “Cisco AnyConnect VPN Client”. Cisco. 2014年6月29日閲覧。
- ^ “WebRTC Interop Notes”. 2014年6月29日閲覧。
- ^ “Plaintext-Recovery Attacks Against Datagram TLS”. 2014年6月29日閲覧。
関連項目
[編集]外部リンク
[編集]- Transport Layer Security (tls) - Charter
- The Design and Implementation of Datagram TLS
- Plaintext-Recovery Attacks Against Datagram TLS
- Datagram Transport Layer Security
- Robin Seggelmann's Sample Code
この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。