Transport Layer Security
2008年8月にRFC 5246としてTLS 1.2が制定された。ハッシュのアルゴリズムにSHA-256が追加されたほか、ブロック暗号について、従来のCBCモードだけではなく、GCM、CCMといった認証付き暗号を用いたcipher suiteが利用可能となった。また、AESに関する記述がRFC 5246自体に含まれるようになった。
ネゴシエーションにおけるバージョン番号は3.3となっている。
他の多くの近代暗号と同様に、TLSもまた、暗号としての強度は乱数の品質に依存している。桁数(ビット長)の大きな暗号は推測が難しいという前提が暗号強度の根拠となっている(これは、公開鍵暗号システムにも言える)。もし何らかの理由で乱数の出現確率が大きく偏るようなことがあれば、総当たり攻撃で解読される可能性が上昇する。通常は、これは実装の問題に起因している。
古い例では、Netscapeの初期の実装における乱数生成の脆弱性がある。プロセスIDや時刻から乱数を生成していることが判明し、これらの情報を取得できる場合には総当たり攻撃の所要時間が大幅に短くなるという問題があった。
2008年5月15日にはDebianが脆弱性に関する報告を発表した。OpenSSLライブラリのパッケージメンテナンスの際に誤ったパッチを導入した結果、鍵生成に適切な乱数が使われず僅か65536 (= 2) 通りの予測可能な物が生成されてしまった事を明らかにした(なお、この問題はOpenSSLそのものの脆弱性ではない)。この影響を受けるのはDebian sargeより後のバージョンのDebianと、それから派生したDamn Small Linux、KNOPPIX、Linspire、Progeny Debian、sidux、Ubuntu、UserLinux、Xandrosである。
TLS/SSLの各バージョンで使用できるMACの選択肢は以下のとおりである。下欄の「AEAD」(Authenticated Encryption with Associated Data、認証暗号)は、共通鍵暗号として認証暗号を選んでいるのでMACを用いない事を意味する。
独立国家共同体のGOST規格によって規定されたアルゴリズムであるGOST 28147-89に基づくMACおよび、GOST R 34.11も提案されている(同じGOST規格による鍵共有・暗号化アリゴリズムとの組み合わせに限定)。