User:Koffeelover/sandbox

Transport Layer Security (TLS)プロトコルは、ネットワーク間の通信を保護する機能を提供する. このTLS実装の比較では、最も知られるライブラリを比較する.

すべての比較カテゴリで、概要セクションにリストされている各実装の安定バージョンを使用する. この比較はTLSプロトコルに直接関連する機能に限定するものとする.

プロトコルのサポート
TLSプロトコルにはいくつかのバージョンが存在する. SSL 2.0は重大な弱点を持ち廃止予定となっている. SSL 3.0（1996年）とTLS 1.0（1999年）は、2001年にSerge Vaudenayによって説明されたCBCパディングの2つの弱点を継承している. TLS 1.1（2006）は、CBCブロック暗号にランダムな初期化ベクトル（IV）を使用するよう切り替えることで問題の1つを修正した. 一方で安全なpad-mac-encryptではないより問題のあるmac-pad-encryptの使用がRFC7366で対処された. TLS 1.1のランダムIVにほぼ相当するSSL 3.0とTLS 1.0の回避策は、2011年後半の多くの実装で広く採用されていた. セキュリティの観点からは、TLS 1.0、1.1、1.2のいずれも基本プロトコルで同等の強度を持ち、NIST SP800-57によると、少なくとも2030年までの128ビットセキュリティに適している. 2014年には、SSL 3.0のPOODLEの脆弱性が発見される. これはCBCの既知の脆弱性を利用したもので、ブラウザで使用された安全ではないフォールバックである.

TLS 1.2（2008）は、デジタル署名に使用されるハッシュを識別する手段を導入した基本プロトコルの最新版である. SSL 3.0の保守的な選択（rsa、sha1 + md5）よりも将来のデジタル署名（rsa、sha256 / sha384 / sha512）に対してより強力なハッシュ関数を使用できるようにする一方で、TLS 1.2プロトコルの変更は（rsa、sha1）、（rsa、md5）までをも提供し、デフォルトのデジタル署名を不注意かつ大幅に弱くした.

データグラムトランスポートレイヤセキュリティ（DTLS）1.0は、パケット損失とパケットの並べ替えを許容する必要があるパケット型トランスポートレイヤ向けにのTLS 1.1を変更したものである. TLS 1.2に基づく改訂版であるDTLS 1.2が2012年1月に公開された.

SSL 2.0とSSL 3.0には既知の脆弱性が存在する. 予測可能なIV（簡単な回避策が存在する）を除いて、現在知られているすべての脆弱性はTLS 1.0 / 1.1 / 1.2のすべてのバージョンに影響がでる.

アメリカ国家安全保障局 (NSA) Suite B 暗号
NSA Suite B暗号化（RFC 6460）に必要なコンポーネント:


 * 鍵サイズが128および256ビットのAdvanced Encryption Standard（AES）. トラフィックフローの場合、AESは帯域幅が狭い場合はカウンタモード（CTR）または高帯域幅の場合はGalois/Counter Mode（GCM）モードで使用する必要がある — 対称鍵暗号
 * 楕円曲線DSA - 電子署名
 * 楕円曲線ディフィー・ヘルマン鍵共有 - 鍵合意
 * SHA-2（SHA-256およびSHA-384） - 暗号学的ハッシュ関数

CNSSP-15では、情報を保護するには、256ビットの楕円曲線（FIPS 186-2で指定）、SHA-256、および128ビットのAESで十分であり、機密情報を保護するには384ビットの楕円曲線 （FIPS 186-2で指定）、SHA-384、および256ビット鍵付きAESが必要としている.

鍵交換アルゴリズム（証明書のみ）
このセクションでは、さまざまな実装で使用可能な証明書検証機能を示す.

暗号化アルゴリズム

 * Notes

廃止されたアルゴリズム

 * Notes

サポートされている楕円曲線
このセクションでは、各実装でサポートされている楕円曲線をリストする.

圧縮
CRIME攻撃の悪用はTLS圧縮を利用するため保守的な実装ではTLSレベルでの圧縮はできない. HTTP圧縮は無関係でこの攻撃の影響を受けないが、関連するBREACH攻撃によって悪用される.

拡張機能
各実装がサポートする拡張機能をリストする. 再ネゴシエーション拡張はHTTPSクライアントセキュリティにとって重要な意味を持つ. クライアントがTLS再ネゴシエーションを実装しているかどうかにかかわらず、この拡張を実装していないTLSクライアントは攻撃に対して脆弱である.

アシスト暗号
このセクションでは、暗号化を最適化するCPU命令セットの利点を生かした実装、ハードウェア暗号やデータ分離のためのシステム固有のデバイス利用について示す.

システム固有のバックエンド
使用可能なオペレーティングシステム固有のバックエンド、または別の実装によって提供されるバックエンドを利用する実装の機能を示す.

関連

 * SCTP — DTLS サポートあり
 * DCCP — DTLS サポートあり
 * SRTP — DTLS サポートあり(DTLS-SRTP)、SRTCP