制作案件で必ず必要になるSSLの導入。システム担当に任せてしまうことも多いのですが、いつまでも任せっぱなしではよろしくない!
ということで、最低限知っておきたい基本的な内容をまとめてみました。
※この記事は旧ブログ「INBOUND marketing blog」から移行したものです。
デジタルマーケティングを支援する
【目次】
通常、Webのデータは暗号化されない状態で送受信が行われています。もしも会員サイトのログイン情報、メールアドレス、クレジットカード情報など、ユーザーが個人情報を入力し、送信するような通信において暗号化がなされていない場合、それは情報漏えいの可能性を大きくはらんでいます!
危険です。ユーザーにとっても危険なだけでなく、フォームを提供している側にとっても、そんな不用心なシステムで個人情報の入力を求めるなんて信用問題です。
そこで、通信途中での傍受やなりすましによる情報漏えいを防ぐために、情報を暗号化して通信するために利用されているのがSSLです。SSL通信なら、データが暗号化されて送られるので、大事な情報が通信の途中で第三者に見られてしまうことはありません。
なお、SSL3.0を元に標準化した仕様としてTLS(Transport Layer Security)がありますが、総じてSSLと呼称されています。
通常のWebの通信プロトコルはhttp(HyperText Transfer Protocol)ですが、SSLが利用されている場合https(HyperText Transfer Protocol over Secure Socket Layer)となります。URIの先頭がhttpかhttpsかで見分けることができます。また、実際に暗号化がキチンと行われているか、ブラウザで確認もできます。
おそらく世にあるお問い合わせフォームや会員サイト、ショッピングサイトなどでSSLサーバー証明書がインストールされているはずです。あなたがご利用されているサービスや、これから利用しようとしているサービスで、個人情報入力の際はぜひ、注意してみてください。
概念であったり重要性であったりは以上のとおりですが、ここからは、そもそも暗号化通信がどのように行われているのか、という疑問を解決したいと思います。暗号化は、認証局、Webサーバー、Webブラウザの3者が関わって行われます。
補足:
暗号化における公開鍵は、秘密鍵と対になっています。公開鍵で暗号化したデータは、秘密鍵で複合できます。なので、公開鍵は外部に漏れても、秘密鍵がなければ意味がないため、セキュリティー上問題はないのです。⑤で、サーバーの公開鍵を使ってブラウザが共通鍵を送っていますが、秘密鍵を持っているサーバーしかこのデータを複合できないので安全なのです。
次に、暗号化における共通鍵とは、暗号化と複合に同じ鍵を使います。なので、お互いが共通鍵を持っていないと成り立ちません。⑦における通信は、共通鍵を持っているブラウザとサーバー間でしか成り立たない通信ということになります。
さて、SSLのことが理解でき、自社のサービスにも導入したいとなった際に、SSLを利用するためにはどうしたらいいのでしょうか。暗号化の仕組みから考えてみると、認証されたサーバー証明書をWebサーバーに設置すれば良いということになりますね。
ではでは、その認証されたサーバー証明書はどうやって発行されるのか。認証局に申し込んでください。暗号化のbit数や認証情報の種類、お値段などはサービス会社ごとに異なりますので、ご予算やご要件にあわせてお調べください。
なお、サーバー証明書の発行の手順はどこも同じです。簡単な流れをご説明しておきましょう。
サーバ証明書を申請・取得するために認証局へ提出する署名リクエストで、生成する際に、対象のドメインや運営者情報などを設定します。生成方法はサーバーごとに異なりますが、そのあたりは認証局で詳しく解説されていますので、ご利用になるサービスのサイトからご確認ください。
認証局がCSRに認証署名を入れ、サーバー証明書を発行します。
認証局から戻ってきた証明書をサーバーにインストールします。
インストールについてもご利用のサービスで解説があるはずです!
以上でSSL対応が完了します。
おまけです。SSLは3種類あります。ひとつはドメイン認証で、通常の暗号化対応です。もうひとつは暗号化通信対応だけでなく、通信先の団体の実在を証明する実在認証。
つまり、データの暗号化だけでなくて、送信先の団体までも認証してくれてなお安心というわけです。最後は実在認証のより厳格なバージョンで、EV SSL証明書。これはアドレスバー自体が緑になるなど、より高度な認証であるというアピールがされています。
SSL証明書がサーバーにインストールされたらば、あとはhttps通信をリクエストされるようにリンクを設定します。さて、ブラウザで確認してみたら・・・・一部暗号化通信されていない??
よくある話ですが、これはページ内でhttpからはじまる通信があると起こる現象です。
ページ自体はhttpsでリクエストされているのに、画像などがhttpでリクエストされているから起こってしまうのです。
要注意です。
以上がSSLについてのまとめになります。ぜひ、安全なWebマーケティングにお役立てください!