確認したいのですが、システム管理者から、TLS 1.0はTLS 1.2よりも安全で、TLS 1.0をそのまま使用する必要があると言われています...これは正確ですか?
彼は、TLS 1.2はより脆弱であり、TLS 1.0はより安全であると述べました。また、HeartbleedバグはTLS 1.1から最も脆弱です。 TLS 1.2ではなく、TLS 1.0から。
ありがとうございました!
あなたの管理者はそれを理解しました本当に間違っています(またはいくつかの翻訳ミスがありました)。
TLS 1.1および1.2は、TLS 1.0のいくつかの問題(つまり、レコードのCBC暗号化のためのIVの予測可能性)を修正します。 TLS 1.0でこの問題を回避することは可能ですが、実装がどれだけ難しいかによって異なります。したがって、その意味では、TLS 1.1と1.2はTLS 1.0よりもより安全です。安全に実装する方が簡単だからです。
いわゆる「ハートブリード」はprotocolの欠陥ではありません。 実装のバグ一部の OpenSSL バージョンに存在します(OpenSSLはSSL/TLSの広範な実装ですが、唯一の実装ではありません)。 OpenSSLバージョンにそのバグがある場合、TLS 1.0を含むすべてのプロトコルバージョンにバグがあります。したがって、ハートブリードが適用される場合、TLS 1.0、TLS 1.1、およびTLS 1.2にも同様に適用されます。あてはまらないときは、あてはまらない。
混乱の原因は、管理者(または彼の情報源)がプロトコルと実装の違いを理解または概念化していないように見えることです。 TLS 1.0とTLS 1.2はprotocolsで関連標準に記述されています( RFC 2246 および RFC 5246 )。プロトコルは、いつバイトを送信する必要があるかを示します。 実装は、プロトコルを実行するソフトウェアです。 OpenSSLは実装です。非常に古いOpenSSL実装では認識されていない比較的新しいプロトコル機能(「ハートビート拡張」)の実装で、「ハートブリード」バグが発生することがあります。したがって、非常に古いimplementationsのOpenSSLはハートブレッドの影響を受けません(非常に古いため、他にも深刻な問題があります)。同じ非常に古い実装では、TLS 1.1とTLS 1.2についてまったく認識されていません。したがって、管理者の頭の中で、2つの独立した事実は単一の(しかし欠陥のある)マントラに合体し、ハートブリードはTLS 1.1および1.2のセキュリティ問題であると誤って述べています。
TLS 1.0はSSL 3.0からのアップグレードであり、その違いは劇的ではありませんでしたが、SSL 3.0とTLS 1.0が相互運用しないほど重要なものです。
SSL 3.0とTLS 1.0の主な違いは次のとおりです。
TLS 1.1はTLS 1.0のアップデートです。
主な変更点は次のとおりです。
TLS 1.2はTLS 1.1に基づいており、柔軟性が向上しています。
主な違いは次のとおりです。
この回答は次のソースに基づいています。
これを言った人はおそらくHeartbleedについて何も理解していません。それは実装固有の脆弱性(OpenSSLの一部のバージョン)であり、SSL/TLSのバージョンとは実際には関係ありません。
脆弱なバージョンは2年以上前から存在しており、最新のオペレーティングシステムに急速に採用されています。主要な要因は、TLSバージョン1.1および1.2が最初の脆弱なOpenSSLバージョン(1.0.1)で利用可能になり、セキュリティコミュニティがTLSに対する以前の攻撃(BEASTなど)によりTLS 1.2をプッシュしていることです。
これは、TLS 1.1および1.2が1.0よりも脆弱であることを決して意味しません。それは、OpenSSLの古いバージョンにはそのバグがなかったことを意味しますが、TLS 1.1および1.2もサポートしていませんでした。新しいバージョンのTLSをサポートするために新しいバージョンのOpenSSLにアップグレードするとき(古いバージョンのTLSに問題があるため)、そのバグの導入を含む他の変更がOpenSSLコードベースに加えられました。これは、TLSバージョンよりOpenSSLの開発タイムラインに関係しています。
その後、OpenSSLはこの特定の問題に対して修正されました(したがって、脆弱でないバージョンを使用することは明らかに推奨されます)。
一般に、新しいバージョンのTLSではセキュリティが強化されており、特にTLS 1.2では、より安全であると一般に考えられている暗号スイートがサポートされています。
また、HeartbleedバグはTLS 1.1から最も脆弱です。 TLS 1.2ではなく、TLS 1.0から。
管理者がいくつかの事実を混同している可能性があります:確かに、HeartbleedはTLS 1.1およびTLS 1.2に接続されています。しかし、OpenSSLリリース1.0.1がTLS 1.1およびTLS 1.2のサポートを追加しただけでなく、Heartbeat拡張のサポートも導入したということだけが関係です。 Heartbleedバグは、この拡張機能の処理における実装エラーが原因でした。したがって、TLS 1.1およびTLS 1.2をサポートする新しいサーバーのみが問題の影響を受けます。
ハートブリードのバグは修正されましたが、TLS 1.1とTLS 1.2のサポート、およびハートビート拡張もまだ残っています。また、他のTLSスタックは、ハートビート拡張をまったくサポートせずに、新しいTLSバージョンをサポートしています。