SSL 証明書とは

SSL(Secure Sockets Layer)
プロトコルと、SSL 証明書が機能する
しくみ、そして SSL がインターネット
セキュリティに不可欠な理由を
説明します。

SSL 証明書とは何か、なぜ重要なのか?

SSL 証明書は、暗号化された接続を構築して信頼を確立します。

オンラインビジネスで重要な要素のひとつは、潜在顧客が安心して購入を決定できる環境を築くことです。SSL 証明書は、安全な接続を確立することで信頼の基盤を構築します。接続が安全であることを訪問者に伝えるために、ブラウザには EV インジケータと呼ばれる特別な視覚的サインが表示されます。緑色の南京錠アイコンやブランドロゴの入ったアドレスバーなどです。

SSL 証明書には、公開鍵と秘密鍵の鍵ペアがあります。この 2 つの鍵が連携して、暗号化された接続を確立します。また、証明書には「サブジェクト名」と呼ばれる領域があり、これは証明書や Web サイト所有者の情報です。

証明書を取得するには、サーバー上で証明書署名リクエスト(CSR)を作成する必要があります。このプロセスで、サーバー上に秘密鍵と公開鍵が作成されます。SSL 証明書の発行者(認証局、CA と呼ばれる)に申請される CSR データファイルには公開鍵が含まれています。CA は CSR データファイルを使用して、秘密鍵そのものに危殆化せずに秘密鍵に一致するデータ構造を作成します。CA が秘密鍵を見ることはありません。

Webサイト運営者がSSL 証明書を受け取ったら、サーバーにインストールします。また、中間CA証明書もインストールします。中間証明書は、CA のルート証明書と結び付けることで、SSL 証明書の信頼性を確立します。証明書のインストールとテストの手順は、お使いのサーバーによって異なります。

下の画像は、証明書チェーンと呼ばれるしくみを示したものです。中間CA証明書を介してサーバーの証明書を CA のルート証明書(この場合はデジサート)に結び付けます。

SSL 証明書で最も重要なのは、デジサートのようなブラウザによって信頼された第三者 CA によって電子署名されていることです。証明書は誰でも作成できますが、ブラウザでは、信頼できる CA のリストに載っている組織からの証明書しか信用されません。ブラウザには、信頼できる CA のリストがあらかじめインストールされおり、これを「信頼できるルート CA ストア」と言います。信頼できるルート CA ストアに追加されて認証局となるためには、ブラウザで設定されているセキュリティおよび認証標準に準拠し、監査を受けなければなりません。

CA が組織とそのドメイン/Web サイトに発行する SSL 証明書は、ウェブサイト運営者以外の、信頼できる第三者がその組織のアイデンティティを認証したことを証明するものです。CA を信頼しているブラウザは、その組織のアイデンティティも信頼していることになります。Web サイトが安全であることをブラウザがユーザーに知らせるので、ユーザーは安心してサイトを閲覧したり、機密情報を入力したりすることができます。

SSL(Secure Sockets Layer)とは

SSL(Secure Sockets Layer)とは、サーバーとクライアントの間で暗号化されたリンクを確立する標準的なセキュリティ技術です。通常は Web サーバー(Web サイト)とブラウザ、あるいはメールサーバーとメールクライアント(Outlook など)の間に使われます。SSL のほうが、後継技術である TLS(Transport Layer Security)よりも広く知られています。

SSL では、クレジットカード番号や社会保障番号、ログインクレデンシャルなどの機密情報を安全に送信することができます。通常、ブラウザと Web サーバーの間で送信されるデータは平文で送信されるため、盗聴される危険性があります。ブラウザと Web サーバーの間で送信されるデータをすべて傍受できれば、攻撃者はその情報を盗み見したり使ったりすることができます。

より具体的に表すと、SSL はセキュリティプロトコルのひとつです。プロトコルとは、アルゴリズムの使い方を記述したものです。この場合、SSL プロトコルは、通信相手の検証と送信されるデータのそれぞれに使われる暗号化の変数を決定します。

すべてのブラウザには、SSL プロトコルを使用して保護された Web サーバーと対話する機能があります。ただし、ブラウザとサーバーが安全な接続を確立するためには、SSL 証明書と呼ばれるものが必要です。

SSL は、毎日インターネット上で膨大な数のユーザーのデータを、特にオンライン取引中、あるいは機密情報の通信を保護します。インターネットユーザーは、オンラインセキュリティといえば、SSL で保護された Web サイトに表示される南京錠アイコンや、EV (Extended Validation) SSL で保護された Web サイトに表示される認証済み企業名を連想するようになりました。また、SSL で保護された Web サイトは "http" ではなく "https" で始まります。

SSL 証明書やその技術の基本はすでに理解していますか?

SSL 証明書はどのようにして安全な接続を実現するのですか?

ブラウザが、SSL で保護された Web サイトにアクセスしようとすると、ブラウザと Web サーバーは「SSL ハンドシェイク」と呼ばれるプロセスを使って SSL 接続を確立します(下図を参照)。SSL ハンドシェイクは、ユーザーには見えず、瞬時に行われることに注意してください。

基本的に、SSL 接続の確立には、公開鍵、秘密鍵、セッションキーの 3 つの鍵が使用されます。公開鍵で暗号化されたものは秘密鍵でしか復号できず、その逆も同様です。
秘密鍵と公開鍵による暗号化と復号には処理能力が必要となるため、秘密鍵と公開鍵は SSL ハンドシェイクの際にのみ使用され、そこで対称セッションキーが作成されます。安全な接続が行われた後は、送信されるすべてのデータの暗号化にセッションキーが使用されます。

  1. ブラウザが、SSL(https)で保護された Web サーバー(Web サイト)に接続します。ブラウザは、サーバーが自身を識別するようリクエストします。
  2. サーバーが、サーバーの公開鍵を含む SSL 証明書のコピーを送信します。
  3. ブラウザが、証明書のルートを信頼できる CA のリストと照合し、証明書が期限切れにも取り消しにもなっておらず、接続先の Web サイトのコモンネームが有効であることを確認します。ブラウザが証明書を信頼する場合、サーバーの公開鍵を使って対称セッションキーが作成され、暗号化したうえで返送されます。
  4. サーバーが、秘密鍵を使って対称セッションキーを復号し、セッションキーで暗号化された確認応答を送り返して暗号化セッションを開始します。
  5. サーバーとブラウザが、送信されるデータすべてをセッションキーで暗号化します。

自分が使っている証明書は SSL か、それとも TLS か?

従来、送信データの暗号化と保護には SSL プロトコルが使用されてきました。新バージョンがリリースされて安全性が向上するたびに、バージョン番号だけが変更されていました(例:SSLv2.0)。しかし、SSLv3.0 からの更新の際には、新しいバージョンを SSLv4.0 とせず TLSv1.0 と改称しました。現在のバージョンは TLSv1.3 です。

今でもまだ「SSL」のほうがよく知られており、広く使われているため、証明書について説明するときや、送信されるデータが保護されるしくみを説明するとき、デジサートは「TLS/SSL」を使うことにしています。お客様がデジサートから SSL 証明書を購入する場合(標準 SSL、Extended Validation SSL など)も、実際には TLS 証明書(RSA または ECC)を取得していることになります。

TLS/SSL 証明書の用途を比較

 

用途

情報提供サイトやブログ

支払い情報や機密情報を収集しない Web サイトでは、ユーザーの活動を非公開にするために HTTPS が必要です。

ログイン画面とフォーム

ユーザー名とパスワードを入力したり、フォームで個人情報、文書、画像を送信したりする場合は、TLS/SSL で暗号化され保護されます。

オンライン決済サイト

オンライン決済サイト(およびそこで共有されるクレジットカード情報)が安全であるとわかれば、お客様が購入を完了する可能性は高くなります。

推奨される TLS/SSL 証明書

OV(企業認証)TLS/SSL 証明書。信頼性のレベルが 2 番目に高く、組織チェックも EV に次いで厳格です。

OV(企業認証)TLS/SSL 証明書。信頼性のレベルが 2 番目に高く、組織チェックも EV に次いで厳格です。

EV(Extended Validation証)TLS/SSL 証明書。信頼性のレベルが最も高く、組織チェックが最も厳格です。