SSLサーバ証明書
SSLサーバ証明書(公開鍵証明書, 電子証明書, SSL証明書) とは、ウェブサイトのログインページや個人情報の入力ページなどセンシティブな情報を扱うサイトで利用されます。サーバの真正性と通信の暗号化に利用されます。暗号化されているサイトのURLのプロトコル部分は、HTTPSで始まります。審査基準の厳しい EV SSL証明書(Extended Validation SSL証明書)と呼ばれる証明書もあります。信頼出来ない自己署名証明書(オレオレ証明書)と呼ばれる証明書もあります。オレオレ証明書は、テストなどの目的で利用されることがあります。
読み方
- SSLサーバ証明書
- えすえすえる さーば しょうめいしょ
- SSL証明書
- えすえすえる しょうめいしょ
- EV SSL証明書
- いーぶい えすえすえる しょうめいしょ
目次
概要
SSLサーバ証明書は、有償で発行されます。
SSLサーバ証明書には、いくつかの種類があります。
- 単体のコモンネームに発行された証明書
- 複数のコモンネームに対して発行されたワイルドカード証明書(Wild Card)
複数のコモンネームをサポートするには、証明書の拡張領域(SAN, SANs, Subject Alternative Names, サブジェクトとの別名)を使用します。
www.github.com の証明書のフィールドでは、以下の設定がされています。
Not Critical DNS Name: www.github.com DNS Name: *.github.com DNS Name: *.github.io DNS Name: *.githubusercontent.com
SANs には、100個のドメインが登録できます。
Subject Alternative Names
OpenSSLコマンドで SAN を調べる方法は、以下の通りです。
$ openssl s_client -connect raw.github.com:443 < /dev/null 2&>1 \ | openssl x509 -noout -text | grep -A 3 Alternative X509v3 Subject Alternative Name: DNS:www.github.com, DNS:*.github.com, DNS:*.github.io, DNS:*.githubusercontent.com X509v3 Key Usage: critical Digital Signature, Key Encipherment
Yahoo!Inc は、大量に登録されています。
$ openssl s_client -connect yahoo.com:443 < /dev/null 2&>1 \ | openssl x509 -noout -text | grep -A 3 Alternative X509v3 Subject Alternative Name: DNS:www.yahoo.com, DNS:yahoo.com, DNS:hsrd.yahoo.com, DNS:us.yahoo.com, DNS:fr.yahoo.com, DNS:uk.yahoo.com, DNS:za.yahoo.com, DNS:ie.yahoo.com, DNS:it.yahoo.com, DNS:es.yahoo.com, DNS:de.yahoo.com, DNS:ca.yahoo.com, DNS:qc.yahoo.com, DNS:br.yahoo.com, DNS:ro.yahoo.com, DNS:se.yahoo.com, DNS:be.yahoo.com, DNS:fr-be.yahoo.com, DNS:ar.yahoo.com, DNS:mx.yahoo.com, DNS:cl.yahoo.com, DNS:co.yahoo.com, DNS:ve.yahoo.com, DNS:espanol.yahoo.com, DNS:pe.yahoo.com, DNS:in.yahoo.com, DNS:sg.yahoo.com, DNS:id.yahoo.com, DNS:malaysia.yahoo.com, DNS:ph.yahoo.com, DNS:vn.yahoo.com, DNS:maktoob.yahoo.com, DNS:en-maktoob.yahoo.com, DNS:ca.my.yahoo.com, DNS:gr.yahoo.com, DNS:att.yahoo.com, DNS:au.yahoo.com, DNS:nz.yahoo.com, DNS:tw.yahoo.com, DNS:hk.yahoo.com, DNS:brb.yahoo.com, DNS:my.yahoo.com, DNS:add.my.yahoo.com X509v3 Basic Constraints: CA:FALSE
サポート状況
wget
wgetコマンドがSANをサポートしていない模様。
MD5のSSLサーバ証明書
MD5の危殆化により、証明書はSHA-1へ移行してきました。
2008年に MD5アルゴリズムの衝突攻撃を利用し、SSLサーバ証明書の偽造に成功したと研究者により発表されました。 発表は、セキュリティカンファレンス 25th Chaos Communication Congressで行われました。 200台のプレイステーション3のシステムで、MD5で署名された証明書と同一の署名を持つ別の証明書を作成できたとされています。
SHA-1証明書の終了とSHA-2証明書への移行
市販されている署名アルゴリズム SHA-1のSSLサーバ証明書は、2015年12月頃には、発行の受け付けが終了します。今後は、署名アルゴリズムがSHA-2のSSLサーバ証明書を利用することになります。
SHA-2 証明書になると何が困るのか
一部のOS,ブラウザ、デバイスでHTTPSでの接続ができなくなります。
モバイル
- ガラケー(ガラパゴス携帯)の古い機種がHTTPSで接続できなくなります
- docomo 2009年冬春モデルから対応
- softback 2012年モデルから対応
- au 2008年モデルから対応
- スマートフォン
- Symbian OS は接続できません
- Windows Mobile は接続できません
パソコン
- Windows XP SP3 以降が必要です。
サーバ
- Windows Server 2003(SP2)の場合はKB938397、 Windows Server 2003 R2(SP2)の場合はKB968730の適用が必要です。
- OpenSSL 0.9.8 以降が必要です
SHA-1とSHA-2の違い
アルゴリズム | SHA-1 | SHA-224 | SHA-256 | SHA-384 | SHA-512 |
---|---|---|---|---|---|
ビット長 | 160bit | 224bit | 256bit | 384bit | 512bit |
等価安全性 | 80bit | 112bit | 128bit |
SSLで使われる暗号技術
使用されるシーン | 技術 | 主要なアルゴリズム |
---|---|---|
Webサーバ運営団体の実在性の証明 | 公開鍵暗号 | RSA,ECC,DSA |
Webサーバとブラウザ間の暗号化通信 | 共通鍵暗号 | RC4,DES/3DES,AES |
データの改竄検知 | ハッシュアルゴリズム | SHA-1,SHA-2 |
関連項目
ツイート