技術の犬小屋

Webプログラミングを餌に生きる犬のメモ帳

SSLについてよく分かっていなかったので勉強した。忘れないように備忘録として残しておく。
 
SSLとは

Netscape Communications社が開発した、インターネット上で情報を暗号化して送受信するプロトコル。現在インターネットで広く使われているWWWやFTPなどのデータを暗号化し、プライバシーに関わる情報やクレジットカード番号、企業秘密などを安全に送受信することができる。
 
SSLは公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などのセキュリティ技術を組み合わせ、データの盗聴や改ざん、なりすましを防ぐことができる。OSI参照モデルではセッション層(第5層)とトランスポート層(第4層)の境界で動作し、HTTPやFTPなどの上位のプロトコルを利用するアプリケーションソフトからは、特に意識することなく透過的に利用することができる。SSL 3.0をもとに若干の改良が加えられたTLS 1.0がRFC 2246としてIETFで標準化されている。

 

疑問

・SSLは無料で利用できないのか
Googleで「SSL」を調べると、まず出てくるのが日本ベリサイン株式会社のページ。ここではSSLを利用するにはお金がかかると言われる。
 

SSLは無料で使うこともできるがいろいろと問題がある

調べてみると、どうやら意外と簡単に自分でSSLの認証局を作ることができるらしい。では、どうしてベリサインなどの有料SSLがメジャーになっているのか。
 
それは信頼性に問題があるからだった。
 
SSLを使った通信には以下の3つの特徴があるのだが、これの2つ目「サーバ認証」には信頼性が伴わなければいけない。そこで、セキュアなシステム構築の実績が高いベリサインなどが選ばれているということだ。
 

  • 暗号化
  • サーバ認証
  • 改竄検出

 
SSLを用いた通信を利用するには認証局から発行された証明書をあらかじめブラウザが信頼するように設定しなければならない。
SSLで通信を開始すると、ウェブサーバから受け取ったサーバ証明書と認証局から発行された証明書をブラウザが検証して正当性を確認する。
ブラウザは登録された認証局から発行された認証書しか信頼しないように設定されている。デフォルトでは、ブラウザはベリサインなどの世界的に有名な認証局しか信頼しないように設定されているので、自分で作った認証局から発行された証明書を使う時はブラウザにあらかじめ認証局から発行された証明書を信頼できるものとして登録しておかないと警告されてしまう。
 

まとめ

・お金は払いたくないけど、個人でどうしてもSSLを利用したい時はSSL認証局を作ることもできる。
 
・不特定多数の人間が利用するウェブサービスでSSLを使いたい時は、ベリサインなどの世界的に有名なSSLサーバ証明書を発行してくれるサービスを利用する。
 
 
SSLの詳しい仕組みについてはネット上に流れている知識だけではなく、本を1冊読んだ方が良さそうなので仕組みが完全に理解できたらまたまとめる。
 
 
参考
日本ベリサイン株式会社 暗号の歴史
SSLの仕組み | トラスティワークス
高度なセキュリティ設定 – Chrome ヘルプ
認証局を立ててぼろもうけしたいんですが>無理な理由を理解しよう
オレオレ認証局の作り方~SSL証明書を無料で作る方法 on CentOS 5

ハッシュ認証でソーシャルゲームの通信をセキュアにする方法 arrow-right
Next post

arrow-left PHPでセキュアにセッションを行う方法
Previous post

コメントを残す