「Datagram Transport Layer Security」の版間の差分
表示
削除された内容 追加された内容
Claw of Slime (会話 | 投稿記録) |
Claw of Slime (会話 | 投稿記録) →ライブラリ: 一覧更新 |
||
21行目: | 21行目: | ||
==実装== |
==実装== |
||
===ライブラリ=== |
===ライブラリ=== |
||
{| class="wikitable sortable" style="text-align: center;" |
{| class="wikitable sortable" style="text-align: center;" |
||
|+ '''ライブラリにおけるDTLSへの対応''' |
|+ '''ライブラリにおけるDTLSへの対応''' |
||
! Software !! DTLS 1.0 !! DTLS 1.2 |
|||
|- |
|- |
||
! ライブラリ |
|||
| [[OpenSSL]] || {{Yes|対応}} || {{beta|開発版}}<ref>{{cite web|url=http://www.openssl.org/news/changelog.html|title=OpenSSL: News, ChangeLog|accessdate=2014-06-29}}</ref> |
|||
! DTLS 1.0 |
|||
! DTLS 1.2 |
|||
|- |
|- |
||
| [[Botan]] |
|||
| [[GnuTLS]] || {{Yes|対応}} || {{Yes|対応}}<ref>{{cite web|url=http://packages.debian.org/jessie/gnutls-bin|title=Debian -- jessie の gnutls-bin パッケージに関する詳細|accessdate=2014-06-29}}</ref> |
|||
| {{beta|開発版}} |
|||
| {{beta|開発版}} |
|||
|- |
|- |
||
| [[cryptlib]] |
|||
| [[MatrixSSL]] || {{Yes|対応}} || {{Yes|対応}} |
|||
| {{No|未対応}} |
|||
| {{No|未対応}} |
|||
|- |
|- |
||
| [[CyaSSL]] |
|||
| [[Network_Security_Services|NSS]] || {{Yes|対応}}<ref name=NSS-3.14>{{cite web |
|||
| {{Yes|対応}} |
|||
| url=https://developer.mozilla.org/en-US/docs/NSS/NSS_3.14_release_notes |
|||
| {{Yes|対応}} |
|||
| title=NSS 3.14 release notes |
|||
| date=2012-12-18 |
|||
| work=Mozilla Developer Network |
|||
| publisher=[[Mozilla]] |
|||
| accessdate=2014-06-29}}</ref><ref name="NSS-DTLS">{{cite web |
|||
| url=https://bugzilla.mozilla.org/show_bug.cgi?id=681065 |
|||
| title=Bug 681065 - (dtls) Implement DTLS (Datagram TLS) in libssl |
|||
| publisher=Mozilla |
|||
| accessdate=2014-06-29}}</ref> || {{Yes|対応}}<ref name=NSS-3.16.2>{{cite web |
|||
| url=https://developer.mozilla.org/en-US/docs/NSS/NSS_3.16.2_release_notes |
|||
| title=NSS 3.16.2 release notes |
|||
| date=2014-6-30 |
|||
| work=Mozilla Developer Network |
|||
| publisher=[[Mozilla]] |
|||
| accessdate=2014-07-01}}</ref><ref name="NSS-DTLS"/> |
|||
|- |
|- |
||
| [[GnuTLS]] |
|||
| [[SChannel]] || {{Yes|対応}}{{refnest|group="注"|name="WinDTLS"|[[Windows 8|Windows 8/8.1]]、[[Windows Server 2012]]、およびKB2574819<ref name=MS2574819>{{cite web |
|||
| {{Yes|対応}} |
|||
| url=https://support.microsoft.com/kb/2574819 |
|||
| {{Yes|対応}} |
|||
⚫ | |||
| date=2013-01-21 |
|||
| publisher=[[Microsoft]] |
|||
| accessdate=2014-06-29}}</ref>を適用した[[Windows 7]] SP1および[[Windows Server 2008]] R2 SP1にて対応}} || {{Yes|対応}}<ref group="注" name="WinDTLS" /> |
|||
⚫ | |||
| Secure Transport || {{Yes|対応}} || {{No|未対応}} |
|||
⚫ | |||
| [[CyaSSL]] || {{Yes|対応}} || {{Yes|対応}} |
|||
|- |
|- |
||
| libsystools<ref>{{cite web |
| libsystools<ref>{{cite web |
||
64行目: | 49行目: | ||
| title=libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL |
| title=libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL |
||
| author=Julien Kauffmann |
| author=Julien Kauffmann |
||
| publisher=[[Sourceforge]] |
| publisher=[[Sourceforge]]}}</ref> |
||
| {{Yes|対応}} |
|||
| {{No|未対応}} |
|||
⚫ | |||
| [[MatrixSSL]] |
|||
| {{Yes|対応}} |
|||
| {{Yes|対応}} |
|||
⚫ | |||
| [[Network Security Services|NSS]] |
|||
| {{Yes|対応}}<ref name=NSS-3.14>{{cite web|url=https://developer.mozilla.org/en-US/docs/NSS/NSS_3.14_release_notes|work=Mozilla Developer Network|title=NSS 3.14 release notes|publisher=Mozilla|accessdate=2012-10-27}}</ref> |
|||
| {{Yes|対応}}<ref name=NSS-3.16.2>{{cite web| url=https://developer.mozilla.org/en-US/docs/NSS/NSS_3.16.2_release_notes| title=NSS 3.16.2 release notes| date=2014-6-30| work=Mozilla Developer Network| publisher=Mozilla| accessdate=2014-06-30}}</ref> |
|||
|- |
|||
| [[OpenSSL]] |
|||
| {{Yes|対応}} |
|||
| {{beta|開発版}} |
|||
|- |
|||
| [[PolarSSL]] |
|||
| {{No|未対応}} |
|||
| {{No|未対応}} |
|||
|- |
|- |
||
| [[Python]]<ref>{{cite web |
| [[Python]]<ref>{{cite web |
||
71行目: | 73行目: | ||
| title=pydtls - Datagram Transport Layer Security for Python |
| title=pydtls - Datagram Transport Layer Security for Python |
||
| author=Ray Brown |
| author=Ray Brown |
||
| publisher=[[GitHub]] |
| publisher=[[GitHub]]}}</ref><ref>{{cite web |
||
| accessdate=2014-06-29}}</ref><ref>{{cite web |
|||
| url=https://pypi.python.org/pypi/Dtls |
| url=https://pypi.python.org/pypi/Dtls |
||
| title=DTLS for Python |
| title=DTLS for Python |
||
| author=Ray Brown |
| author=Ray Brown |
||
| publisher=[[Python Software Foundation]] |
| publisher=[[Python Software Foundation]]}}</ref> |
||
| {{Yes|対応}} |
|||
| {{No|未対応}} |
|||
|- |
|||
| [[SChannel|SChannel XP/2003, Vista/2008]] |
|||
| {{No|未対応}} |
|||
| {{No|未対応}} |
|||
|- |
|||
| [[SChannel|SChannel 7/2008R2, 8/1012, 8.1/2012R2]] |
|||
⚫ | |||
| {{Yes|対応}}<ref name=MS2574819 /> |
|||
|- |
|||
| Secure Transport |
|||
| {{Yes|対応}}{{refn|group="注"|DTLS 1.0はiOS 5.0以降およびOS X 10.8で利用可能<ref>{{cite web|url=http://developer.apple.com/library/ios/technotes/tn2287/|work=iOS Developer Library|title=Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues|publisher=Apple Inc.|accessdate=2012-05-03}}</ref>}} |
|||
| {{No|未対応}} |
|||
|- |
|||
| SharkSSL |
|||
| {{No|未対応}} |
|||
| {{No|未対応}} |
|||
|- |
|||
| JSSE |
|||
| {{No|未対応}} |
|||
| {{No|未対応}} |
|||
|- |
|- |
||
|-class="sortbottom" |
|||
| [[PolarSSL]] || {{No|未対応}} || {{No|未対応}} |
|||
! ライブラリ |
|||
! DTLS 1.0 |
|||
! DTLS 1.2 |
|||
|} |
|} |
||
<references group="注"/> |
<references group="注"/> |
2014年7月1日 (火) 17:57時点における版
Datagram Transport Layer Security (DTLS) は、データグラムプロトコルのための暗号化プロトコルである。DTLSはTransport Layer Security (TLS) に基づくプロトコルであり、TLSと同様に、データグラムを扱うプログラムがやり取りする情報の盗聴や改竄を防止する。DTLSを用いることで、データグラムに特有のパケットの到達順序に関わる問題は考慮する必要がなくなるが、一方でパケットの再整列やパケットサイズより大きいデータの喪失に対処する必要がある。
標準化
以下のRFCにおいてDTLSは定義されている。
- RFC 4347 (DTLS 1.0) および RFC 6347 (DTLS 1.2): User Datagram Protocol (UDP)
- 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はTLS 1.1 (RFC 4346) に、DTLS 1.2はTLS 1.2 (RFC 5246) に基づいている。
実装
ライブラリ
ライブラリ | DTLS 1.0 | DTLS 1.2 |
---|---|---|
Botan | 開発版 | 開発版 |
cryptlib | 未対応 | 未対応 |
CyaSSL | 対応 | 対応 |
GnuTLS | 対応 | 対応 |
libsystools[2] | 対応 | 未対応 |
MatrixSSL | 対応 | 対応 |
NSS | 対応[3] | 対応[4] |
OpenSSL | 対応 | 開発版 |
PolarSSL | 未対応 | 未対応 |
Python[5][6] | 対応 | 未対応 |
SChannel XP/2003, Vista/2008 | 未対応 | 未対応 |
SChannel 7/2008R2, 8/1012, 8.1/2012R2 | 対応[7] | 対応[7] |
Secure Transport | 対応[注 1] | 未対応 |
SharkSSL | 未対応 | 未対応 |
JSSE | 未対応 | 未対応 |
ライブラリ | DTLS 1.0 | DTLS 1.2 |
アプリケーション
- シスコシステムズのAnyConnect VPN Client[9]およびその互換であるOpenConnect
- Google Chrome OS、Google Chrome、Mozilla Firefox、およびOperaはWebRTCのためにDTLS-SRTPをサポートしている[10]。
脆弱性
2013年2月に、ロンドン大学の研究者によって、ブロック暗号をCBCモードで用いたDTLS接続から平文を回復することが可能な攻撃が報告されている[11]。
脚注
- ^ “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. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ “NSS 3.14 release notes”. Mozilla Developer Network. Mozilla. 2012年10月27日閲覧。
- ^ “NSS 3.16.2 release notes”. Mozilla Developer Network. Mozilla (2014年6月30日). 2014年6月30日閲覧。
- ^ Ray Brown. “pydtls - Datagram Transport Layer Security for Python”. GitHub. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ Ray Brown. “DTLS for Python”. Python Software Foundation. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ a b “An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1”. Microsoft. 2012年11月13日閲覧。
- ^ “Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues”. iOS Developer Library. Apple Inc.. 2012年5月3日閲覧。
- ^ “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」(再ライセンス) 条件に基づいて組み込まれている。