安全な通信 (Secure communication)

SSLの導入

SSLには脆弱性が見つかっているため、後継のTLSを使用すべきです。しかしTLSをSSLと呼称することがあるため、いずれを指すのか確認が必要です。

認証局 (Certificate Authority : CA)

証明書の発行機関

  • ルート認証局 (root certificate authorit) / ルートCA (root CA) … 自ら正当性を証明
  • 中間認証局 (intermediate certificate authority) / 中間CA (intermediate CA) … ルート認証局により正当性を証明
認証局(CA)とは - IT用語辞典

認証局の種類

  • パブリック認証局 (Public Certificate Authority) … 認証サービスを公に提供している認証局
  • プライベート認証局 (Private Certificate Authority) … 独自に運営され、限定された範囲で利用される認証局
パブリック認証局
認証局 証明書 企業情報
デジサート・ジャパン合同会社 (DigiCert Japan G.K.)※1
(旧 合同会社シマンテック・ウェブサイトセキュリティ (Symantec Website Security G.K.))
(旧 日本ベリサイン)
会社概要
デジサート・ジャパン・セキュリティ合同会社 (DigiCert Japan Security G.K.)
(旧 日本ジオトラスト株式会社 (GeoTrust Japan, Inc.))
(旧 ソートジャパン)
ジオトラストについて ※2
GeoTrust, Inc About GeoTrust
GMOグローバルサイン株式会社 (GMO GlobalSign K.K.)
(旧 日本ジオトラスト)
会社概要
サイバートラスト株式会社 (Cybertrust Japan Co., Ltd.) 会社概要
株式会社日本レジストリサービス (JPRS) (Japan Registry Services Co., Ltd.) 会社情報

※1 社名が変更されています。

※2 以前存在していた日本ジオトラスト株式会社 (2003年設立) はGeoTrust, Inc.の販売代理店であり、現在はグローバルサイン株式会社に社名変更されている。現在の日本ジオトラスト株式会社 (2008年、株式会社ソートジャパンから日本ジオトラスト株式会社に社名変更) とは、一切関係がない

認証局の信頼性

監査の問題などで認証局の信頼が損なわれたときは、その認証局が発行した証明書は信頼されなくなり、ブラウザなどからアクセスできなくなることがあります。

サーバ証明書の発行

Let's Encrypt

Let's Encrypt - Free SSL/TLS Certificates

レンタルサーバによる代行

レンタルサーバでは、証明書の発行やサーバへのインストールを代行するサービスを行っているところもあります。

共有SSL (shared SSL) / 共用SSL

証明書の取得すらせず、レンタルサーバが所有しているそれを使いまわす方法です。

同一ホスト名で共有SSLを利用することの問題点

HTTPからHTTPSへの転送

さくらインターネットでの設定

# RewriteしてもHTTPS環境変数を有効にする
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1

# 常時HTTPS化 (HTTPSが無効な場合リダイレクト)
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{ENV:HTTPS} !on
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
暗号化(SSL)を有効としている場合、暗号化しているページへ誘導したい - .htaccessによるアクセス制御 – さくらのサポート情報 トップページだけがリダイレクトされて、投稿ページなどの下位ページが リダイレクトされない - 【WordPress】常時SSL化プラグイン トラブルシューティング – さくらのサポート情報

常時SSL (Always on SSL)

常時SSLとは、暗号化を必要としないページも含めて、Webサイト全体をSSL化する方法です。

混在コンテンツ (Mixed content)

HTTPSページ内にHTTPで通信するコンテンツが含まれているとき、それは「混在コンテンツ」ページと呼ばれます。

混在コンテンツの種類

受動的な混在コンテンツ (Mixed passive/display content)

コンテンツ自身が改ざんされる恐れと、閲覧しているページが特定される恐れがあります。

  • img要素の、src属性
  • audio要素の、src属性
  • video要素の、src属性
  • object要素の、サブリソース (object要素がHTTPリクエストを送信したとき)

能動的な混在コンテンツ (Mixed active content)

ページ内の他のコンテンツにアクセスでき、機密情報の取得や、ブラウザの脆弱性などからマルウェアがインストールされる恐れがあります。さらに受動的な混在コンテンツの問題も含みます。

  • script要素の、src属性
  • link要素の、href属性 (CSSスタイルシートも含む)
  • iframe要素の、src属性
  • object要素の、data属性
  • url値を用いるCSS (@font-face、cursor、background-imageなど)
  • XMLHttpRequestオブジェクトによるリクエスト

ブラウザによるブロック

証明書の確認方法

ブラウザ 確認方法
Internet Explorer 次のいずれかの方法で確認できる。
  • アドレスバーの鍵アイコンをクリックし、[証明書の表示]をクリックする
  • ページのコンテキストメニューから[プロパティ]を選択し、[証明書]をクリックする
WindowsでWebサイトのデジタル証明書を確認する(自己発行されたデジタル証明書に注意):Tech TIPS - @IT 打越浩幸 (2007/07/27)
Firefox 次のいずれかの方法で確認できる。
  • ロケーションバーの鍵アイコンをクリックし、「>」アイコンをクリックして表示される[詳細を表示]をクリックする。そして[証明書を表示]をクリックする
  • ページのコンテキストメニューから[ページの情報を表示]を選択し、[セキュリティ]パネルにある[証明書を表示]をクリックする
Chrome デベロッパーツールの[Security]パネルにある、[View certificate]をクリックする Google Chrome 最新バージョンでの証明書情報の見方 - ブラウザでSSL証明書を確認する方法|GMOグローバルサイン【公式】
複数の技術系サイトから、まとめて検索