SSL(TLSとも呼ばれます)は、暗号化を使用してユーザーデータをセキュアに保ち、WebサイトのIDを認証し、攻撃者によるインターネット通信の改ざんを防ぎます。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
サインアップして、Cloudflareからセキュリティ関連の学習用記事をお受け取りください。
記事のリンクをコピーする
SSLはSecure Sockets Layerの略で、インターネット上で行われる通信を暗号化、保護および認証するためのプロトコルを指します。SSLは少し前にTLS(Transport Layer Security)と呼ばれる最新版プロトコルに置き換えられましたが、依然としてこのテクノロジーは一般的に「SSL」と呼ばれています。
SSL/TLSの主な使用例は、クライアントとサーバーの間の通信を保護することですが、メール、VoIP、およびセキュリティで保護されていないネットワーク上の他の通信も保護できます。
SSL/TLSがどのように機能するかを理解するために把握する必要がある基本原則は次のとおりです。
TLSを使用すると、ユーザーが(クリック、フォームへの入力などにより)Webサイトに送信するHTTPデータと、Webサイトがユーザーに送信するHTTPデータの両方が暗号化されます。暗号化されたデータは、キーを使用して受信者が復号化する必要があります。
TLS通信セッションは、TLSハンドシェイクで始まります。TLSハンドシェイクは、非対称暗号化と呼ばれるものを使用します。つまり、会話の両端で2つの異なるキーが使用されます。これは、公開鍵暗号化と呼ばれる技術により可能になります。
公開鍵暗号では、2つの鍵が使用されます。サーバーが公開する公開鍵と、秘密にされ、サーバー側でのみ使用される秘密鍵です。公開鍵で暗号化されたデータは、秘密鍵でのみ解除できます。
TLSハンドシェイク中、クライアントとサーバーは公開鍵とプライベートキーを使用してランダムに生成されたデータを交換し、このランダムデータを使用して、セッションキーと呼ばれる暗号化用の新しいキーを作成します。
非対称暗号化とは異なり、対称暗号化では、会話の2者が同じキーを使用します。TLSハンドシェイク後、両者は暗号化に同じセッションキーを使用します。セッションキーが使用されると、公開鍵とプライベートキーは使用されなくなります。セッションキーは、セッションが終了した後は使用されない一時キーです。次のセッションのためには、新しいランダムセットのセッションキーが作成されます。
サーバーからのTLS通信には、メッセージ認証コード(MAC)が含まれます。MACは、通信が実際のWebサイトから発信されたことを確認するデジタル署名です。これによりサーバーが認証され、オンパス攻撃およびドメインスプーフィングが防止されます。また、データが転送中に変更されていないことも保証します。
SSL証明書は、Webサイトの配信元サーバーにインストールされるファイルです。これは、公開鍵とWebサイト所有者のID、およびその他の情報を含む単なるデータファイルです。SSL証明書がないと、WebサイトのトラフィックをTLSで暗号化できません。
技術的には、すべてのWebサイトの所有者は独自のSSL証明書を作成でき、そのような証明書は自己署名証明書と呼ばれます。ただし、ブラウザは、自己署名証明書は証明書認証局によって発行されたSSL証明書ほど信頼できるとは見なしません。
Webサイトの所有者は、証明書認証局からSSL証明書を取得して、Webサーバーにインストールする必要があります(多くの場合、Webホストがこのプロセスを処理できます)。証明書認証局は、Webサイトの所有者が本人であることを確認できる外部の当事者です。彼らは発行する証明書のコピーを保持します。
多くの証明書認証局はSSL証明書の発行料を請求します。インターネットをより安全にするために、Cloudflareは無料のSSL証明書を提供しています。Cloudflare は、このようなサービスを提供した最初のインターネット・セキュリティおよびパフォーマンス企業です。また、CloudflareではHTTPからHTTPSに移行するWebサイトのパフォーマンスに影響を与えないよう、SSL/TLS パフォーマンスの最適化に取り組みも行っています。Cloudflare の SSL オプションの詳細については、開発者向けドキュメントを参照してください。
「HTTPS」のSは、「セキュア」を表します。HTTPSはSSL/TLSを使用したHTTPに過ぎません。HTTPSアドレスを持つWebサイトには、証明書認証局によって発行された正当なSSL証明書があり、そのWebサイトとの間のトラフィックはSSL/TLSプロトコルで認証および暗号化されます。
インターネット全体として、よりセキュアなHTTPSに移動することを奨励するために、多くのWebブラウザは、HTTPのWebサイトに「セキュアでない」または「安全でない」という印をつけ始めました。したがって、HTTPSはユーザーの安全とユーザーデータのセキュリティを守るために不可欠であるだけでなく、ユーザーとの信頼を構築するためにも不可欠になっています。