SSLとTLSの違い
コンテンツ
セキュアソケットレイヤー(SSL) そして トランスポート層セキュリティ(TLS) WebサーバーとWebブラウザー間のセキュリティを提供するように設計されたプロトコルです。
ただし、SSLとTLSにはわずかな違いがあります。SSLは目的を果たすための最も重要なアプローチであり、すべてのブラウザーでサポートされていますが、TLSはセキュリティとプライバシー機能が強化されたインターネット標準です。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | SSL | TLS |
---|---|---|
バージョン | 3.0 | 1.0 |
暗号スイート | Fortezza(アルゴリズム)をサポート | Fortezzaをサポートしていません |
暗号の秘密 | マスターシークレットの作成にプリマスターシークレットのダイジェストを使用します。 | 擬似乱数関数を使用して、マスターシークレットを作成します。 |
記録プロトコル | MAC(認証コード)を使用 | HMAC(ハッシュMAC)を使用します |
警告プロトコル | 「証明書なし」アラートが含まれています。 | アラートの説明(証明書なし)を排除し、他の多数の値を追加します。 |
認証 | このために | 標準 |
キーマテリアル認証 | このために | 擬似乱数関数 |
証明書検証 | 複雑な | シンプル |
完成した | このために | 擬似乱数関数 |
SSLの定義
Secure Socket Layer(SSL)プロトコルは、WebブラウザーとWebサーバー間の情報の安全な交換を保証するインターネットプロトコルです。 2つの基本的なセキュリティサービスを提供します。 認証 そして 守秘義務。論理的には、WebブラウザーとWebサーバー間の安全な接続を提供します。 Netscape Corporationは1994年にSSLを開発しました。それ以来、SSLは世界で最も人気のあるWebセキュリティメカニズムになっています。すべての重要なWebブラウザーはSSLをサポートしています。現在、SSLは2、3、3.1の3つのバージョンで利用可能です。
SSL層は、 TCP / IP プロトコルスイート。 SSLレイヤーは、 アプリケーション層 そしてその トランスポート層。ここでは、最初にアプリケーション層のデータがSSL層に渡されます。次に、SSLレイヤーは、アプリケーションレイヤーから受信したデータに対して暗号化を実行し、SSLヘッダー(SH)と呼ばれる独自の暗号化情報ヘッダーを暗号化されたデータに追加します。
この後、SSLレイヤーデータがトランスポートレイヤーの入力になります。独自のヘッダーを追加し、インターネット層などに渡します。このプロセスは、通常のTCP / IPデータ転送の場合とまったく同じように発生します。最後に、データが物理層に到達すると、伝送媒体に沿って電圧パルス形式で送信されます。受信者側の手順は、新しいSSL層に到達するまでの通常のTCP / IP接続の場合の手順と非常に似ています。受信側のSSL層は、SSLヘッダー(SH)を削除し、暗号化されたデータを復号化し、プレーンを受信側コンピューターのアプリケーション層に戻します。
SSLの仕組み
SSLプロトコルの全体的な機能を形成する3つのサブプロトコルは次のとおりです。
- ハンドシェイクプロトコル:実際には4つのフェーズで構成されています。
- セキュリティ機能を確立する
- サーバー認証とキー交換
- クライアント認証とキー交換
- 終わり
- 記録プロトコル:SSLのレコードプロトコルは、クライアントとサーバー間のハンドシェイクが正常に完了した後にのみ表示されます。このプロトコルは、次の2つの定義済みサービスをSSL接続に提供します。
- 守秘義務–これは、ハンドシェイクプロトコルで定義されている秘密鍵を使用して実現されます。
- 誠実さ–共有秘密キー(MAC)は、整合性を保証するために使用されるハンドシェイクプロトコルによって指定されます。
- 警告プロトコル:クライアントまたはサーバーによってエラーが識別された場合、識別側は別の側にアラートを送信します。エラーが致命的である場合、両当事者はSSL接続を急速に閉じます。
TLSの定義
Transport Layer Security(TLS)は IETF(インターネットエンジニアリングタスクフォース) SSLのインターネット標準バージョンを発表することを目的とした標準化の開始。 Netscapeは、SSLを標準化するため、IETFを介してプロトコルを渡しました。 SSLとTLSには大きな違いがあります。ただし、主なアイデアと実装は非常に似ています。
- SSLはFortezzaをサポートしますが、TLSプロトコルはFortezza / DMS暗号スイートをサポートしません。また、TLS標準化プロセスにより、新しい暗号スイートの定義がはるかに簡単になります。
- マスターシークレットを作成するSSLでは、プリマスターシークレットのダイジェストが使用されます。対照的に、TLSは擬似乱数関数を使用してマスターシークレットを生成します。
- SSLレコードプロトコルは、各ブロックを圧縮して暗号化した後、MAC(認証コード)を追加します。反対に、TLSレコードプロトコルはHMAC(ハッシュベースの認証コード)を使用します。
- 「証明書なし」アラートはSSLに含まれています。一方、TLSはアラートの説明(証明書なし)を削除し、他の多数の値を追加します。
- SSL認証は、SSLプロトコル専用に作成されたアドホックな方法でキー情報とアプリケーションデータを結合します。一方、TLSプロトコルは、HMACとして知られる標準の認証コードに依存しています。
- TLS証明書では、を確認し、MD5およびSHA-1ハッシュがハンドシェイクでのみ計算されます。それどころか、SSLでは、ハッシュ計算にはマスターシークレットとパッドも含まれます。
- TLSでの完成と同様に、PRFをマスターキーとハンドシェイクに適用して作成されます。 SSLでは、ダイジェストをマスターキーとハンドシェイクに適用することで構築されます。
結論
SSLとTLSはどちらも同じ目的を果たすプロトコルであり、TCPとアプリケーション間の接続にセキュリティと暗号化を提供します。 SSLバージョン3.0が最初に設計され、次にTLSバージョン1.0が設計されました。TLSバージョン1.0は、すべてのSSL機能で構成され、セキュリティ機能が強化されたSSLの前身または最新バージョンです。