#001|SSLとは?
「http」と「https」って何がちがうんでしょうか?
SSLとは?
SSLとは、ホームページを暗号化するための仕組みです。
みなさんが利用しているインターネットでは、悪意のある第三者が通信の中身を見ることができます。
今見ているホームページのアドレス、もし掲示板などに書き込んでいれば書き込んだ内容、
クレジットカード番号やパスワードなども盗聴することが可能です。
これでは誰も安心してネット通販などができないので、SSLという仕組みが生まれました。
SSLでは、ホームページを配信しているサーバ(例えばさくらのレンタルサーバもそうです)と、
ホームページを見ているPCのブラウザの間の通信を暗号化します。
この暗号はサーバ側で適切な暗号化方法が設定されていれば、解読には途方もない時間がかかるため
実質解読することは難しいと言えます。
例えばクレジットカード番号を通販サイトに送る場合、サーバとPCの間でデータが盗聴されたとしても、
SSLを利用していればカード番号が流出することはありません。
ただし、通信先(閲覧しているサイト)と大まかなデータ量はわかりますので、
例えば通信が監視されている会社のPCでアダルトサイトにアクセスして動画を閲覧していた場合、
システム管理者に実際に閲覧した動画の内容はわかりませんが、
いつ、誰が、誰と、どれぐらいのサイズのデータをやりとりしたか、
ということはわかってしまうわけです。
特定のIPアドレスのPCが、アダルトサイトと数GBのデータをやり取りしたというログは取れるので、
この人がアダルト動画を見ていると判断できます。
このように、SSLも完全な暗号システムではありません。
暗号化される内容と仕組みをしっかり理解して、使用する必要があります。
改ざん、なりすまし防止
SSLのもう一つの大事な役目にデータの改ざんとなりすましの防止という機能があります。
まずデータの改ざんについて見ていきましょう。
データの「改ざん」とは
例えば、市役所の税金の振り込み先の口座番号が記載されているホームページがあるとして、
振り込み先を書き換えることができれば税金を振り込むつもりの人からお金を横取りすることができます。
このホームページをSSL化すれば、サーバとPCとの通信は暗号化されるとともに、
途中で誰かがデータを書き換えると「データが改ざんされてるよ!」とわかるようになります。
改ざん防止のために、SSLで通信する場合は、実際のデータを送るとともに
送ったデータはこんなのですよという明細書のようなものを一緒に送ります。
暗号化されたデータをブラウザで元に戻す(復号)したときにこの明細を確認し、
明細と違う内容だった場合は改ざんされている、ということになります。
そのデータは信用ならないから捨ててしまい送り主に再度データを送ってもらうように依頼できます。
これがSSLの改ざん防止です。
「なりすまし」とは
では、なりすましとはどういう状況でしょうか。
先ほどのデータ改ざんで登場した市役所のホームページですが、丸ごとこのホームページをコピーして違うサーバへ設置し、
URLも同じにして、○○市役所ですよ!と名乗ることは可能です。
ですが、SSL通信の際に必要な秘密鍵はコピーできません。
秘密鍵が無い状態でSSL通信をしようとしても、その通信先が保証されないため、
ブラウザ側でこのホームページは○○.jpと名乗っているけど実際には違うサイトだよ!と教えてくれます。
この場合、多くのブラウザではページを表示することすらしないので、なりすましの被害を防止することができます。
「改ざん」「なりすまし」の防止
改ざん、なりすましの防止についてはSSLの「認証局」という組織の存在が重要になります。
暗号化自体は認証局が無くても可能ですが、認証局はサーバでもPCでもない第三者機関であり、
「○○.jpを名乗るこのサイトは本当に○○.jpですよ」と保証してくれる組織です。
証明書の種類によっては「○○.jpとは、株式会社○○が運営しているサイトですよ」と運営組織を保証してくれる場合もあります。
銀行のホームページにアクセスするとブラウザのアドレスバーに会社名が表示されるのは
このEV証明書という特殊な証明書を利用しているからです。
SSLについてのまとめ
今回はSSLの役割についてご紹介しました。SSLの役割は大きく分けると以下の3点です。
まりなちゃん、いかがでしたか?
この記事で紹介されたさくらのSSLを使ってみよう!