SSL と TLS にはどのような違いがありますか?

Secure Sockets Layer (SSL) は、ネットワーク上の 2 つのデバイスまたはアプリケーション間の安全な接続を確立する通信プロトコルまたはルールのセットです。インターネット上で認証情報やデータを共有する前に、信頼を確立して相手を認証することが重要です。SSL は、アプリケーションやブラウザがあらゆるネットワーク上で安全で暗号化された通信チャネルを構築するために使用する可能性のある技術です。ただし、SSL は古いテクノロジーであり、セキュリティ上の欠陥がいくつかあります。Transport Layer Security (TLS) は、既存の SSL の脆弱性を修正する SSL のアップグレード版です。TLS はより効率的に認証を行い、暗号化された通信チャネルを引き続きサポートします。

SSL/TLS 証明書について読む »

SSL と TLS にはどのような類似点がありますか?

SSL と TLS はどちらも、サーバー、アプリケーション、ユーザー、システム間のデータを暗号化する通信プロトコルです。ネットワークを介して接続された 2 者を認証するため、データを安全に交換できます。

Taher Elgamal 氏は SSL の開発を主導し、1995 年に SSL 2.0 を公開しました。SSL の目的は、ワールドワイドウェブ上の通信を安全に保つことでした。SSL がさまざまな反復を経て、Tim Dierks 氏と Christopher Allen 氏は、SSL 3.0 の後継として 1999 年に TLS 1.0 を作成しました。 

用語

TLS は SSL の直接の後継であり、SSL のすべてのバージョンが廃止されました。ただし、TLS 接続を表す SSL という用語をよく見かけます。ほとんどの場合、SSLSSL/TLS という用語はどちらも TLS プロトコルと TLS 証明書を指します。

目的 

TLS は暗号化と認証を可能にする安全な通信プロトコルで、これは廃止される前の SSL もそうでした。TLS と SSL はどちらも、ハンドシェイク処理を促進し、ブラウザとウェブサーバー間の暗号化通信を確立するデジタル証明書を使用します。 

HTTPS での使用

HTTP は、あらゆるネットワーク上でクライアントとサーバー間の通信を行うためのプロトコルまたは通信ルールのセットです。HTTPS とは、安全でない HTTP 接続で安全な SSL/TLS プロトコルを確立する方法です。

ウェブサイトに接続する前に、ブラウザは TLS を使用してウェブサイトの TLS または SSL 証明書を確認します。TLS および SSL 証明書は、サーバーが現在のセキュリティ標準に準拠していることを示します。証明書に関する証拠は、ブラウザのアドレスバーにあります。認証済みの暗号化された接続では、http:// の代わりに https:// が表示されます。追加の s安全の略です。 

HTTP と HTTPS について読む »

主な相違点: SSL とTLS

SSL と TLS の目的は非常に似ていますが、これらの通信プロトコルは動作方法が異なります。これらの変化は、TLS に引き継がれる前に SSL がさまざまなバージョンに移行するにつれて、時間の経過とともに発展していきました。 

SSL/TLS ハンドシェイク

ハンドシェイクは、ブラウザがサーバーの SSL または TLS 証明書を認証するプロセスです。このプロセスでは、双方を認証し、暗号キーを交換します。

SSL ハンドシェイクは明示的な接続でしたが、TLS ハンドシェイクは暗黙的な接続です。SSL ハンドシェイクプロセスには TLS プロセスよりも多くのステップがありました。TLS は、追加の手順をなくし、暗号スイートの総数を減らすことで、処理をスピードアップしました。 

アラートメッセージ

アラートメッセージは、SSL プロトコルと TLS プロトコルがエラーと警告を伝達する方法です。SSL には、警告と致命的の 2 種類のアラートメッセージしかありません。エラーが発生したことを示す警告アラートが表示されますが、接続は続行できます。致命的なアラートは、接続をただちに終了する必要があることを示します。さらに、SSL アラートメッセージは暗号化されません。

TLS には、close notify と呼ばれるアラートメッセージタイプがもう 1 つあります。close notify アラートは、セッションの終了を通知します。TLS アラートも暗号化され、セキュリティが強化されています。

メッセージ認証

SSL と TLS はどちらも、メッセージの信頼性と完全性を検証する暗号化技術であるメッセージ認証コード (MAC) を使用します。秘密キーを使用することにより、レコードプロトコルは MAC を固定長のコードとして生成し、それを元のメッセージに添付します。

SSL プロトコルでは、MAC の生成に MD5 アルゴリズム (現在は時代遅れです) を使用します。TLS では、Hash-based Message Authentication Code (HMAC) を使用して、より複雑な暗号化とセキュリティを実現しています。 

暗号スイート

暗号スイートは、ブラウザとサーバー間で情報を暗号化するためのキーを作成するアルゴリズムの集まりです。通常、暗号スイートには、キー交換アルゴリズム、検証アルゴリズム、一括暗号化アルゴリズム、および MAC アルゴリズムが含まれます。TLS のいくつかのアルゴリズムは、セキュリティ上の懸念から SSL からアップグレードされました。

SSL 証明書と TLS 証明書の違いは何ですか?

現在、すべての SSL 証明書は使用されていません。TLS 証明書は業界標準です。ただし、業界では引き続き TLS 証明書を指すのに SSL という用語が使用されています。

TLS 証明書は SSL 証明書を繰り返し使用し、時間をかけて改善してきました。SSL 証明書と TLS 証明書の最後の機能は変わっていません。 

SSL 証明書を TLS 証明書に置き換えるべきでしょうか?

文化の変化が遅いため、ほとんどの TLS 証明書は間違って SSL 証明書と呼ばれています。証明書自体が SSL 証明書としてブランド化されていても、既に SSL プロトコルと TLS プロトコルの両方がサポートされています。

ただし、TLS 1.0 と TLS 1.1 も 2021 年に正式に廃止されたことに注意することが重要です。2023 年 6 月までに、すべての Amazon Web Services のクライアントは TLS 1.2 以降をサポートする必要があります。証明書はプロトコルと同じではないことに注意してください。サーバー構成が TLS プロトコルをサポートしていることを確認する必要があります。

相違点の要約: SSL とTLS

 

SSL

TLS

以下の略です

SSL はセキュアソケットレイヤーを意味します。

TLS はトランスポートレイヤーセキュリティを意味します。

バージョン履歴 

SSL は TLS に置き換えられました。SSL はバージョン 1.0、2.0、3.0 に移行しました。

TLS は SSL のアップグレード版です。TLS はバージョン 1.0、1.1、1.2、1.3 に移行しました。

アクティビティ

すべての SSL バージョンは廃止されました。

TLS バージョン 1.2 と 1.3 が積極的に使用されています。

アラートメッセージ

SSL には 2 種類のアラートメッセージしかありません。アラートメッセージは暗号化されません。

TLS アラートメッセージは暗号化されており、より多様です。

メッセージ認証

SSL は MAC を使用します。

TLS は HMAC を使用します。

暗号スイート

SSL は、既知のセキュリティ脆弱性を持つ古いアルゴリズムをサポートしています。

TLS は高度な暗号化アルゴリズムを使用します。

ハンドシェイク

SSL ハンドシェイクは複雑で時間がかかります。

TLS ハンドシェイクの手順は少なく、接続も高速です。

AWS は SSL/TLS 要件をどのようにサポートできますか?

Amazon Web Services (AWS) では、SSL/TLS 要件を満たすのに役立つ AWS Certificate Manager (ACM) を提供しています。ACM を使用すると、パブリックおよびプライベート SSL/TLS 証明書をプロビジョン、管理、およびデプロイできます。

ACM を利用すると、他にも次のような利点があります。

  • プライベートネットワークでの安全な通信で内部リソースを保護します。例えば、サーバー、モバイル、モノのインターネット (IoT) デバイス、アプリケーションを保護します。
  • 自動化された証明書管理を使用して、証明書の更新を含め、SSL/TLS 証明書を維持します。
  • 統合された AWS サービスで無料の証明書を使用します。

今すぐ無料アカウントを作成して、AWS で SSL/TLS 証明書管理を開始しましょう。

AWS での次のステップ

AWS Certificate Manager (ACM) で SSL を使用して構築を開始する
AWS Certificate Manager (ACM) で TLS を使用して構築を開始する