いまさら聞けないIT常識

~ SSL入門

Vol. 378 2009/07/16

馮 冬冬

会員制サイトへログインする時に、URLに「https」から始まるものが多い。何となくこの「https」を使うサイトは安全だと漠然に思っている方は多いと思います。今回は、「https」に使われるSSLという技術について、簡単に説明したいと思います。

●SSLとは

「https」から始まるURLは、このサイトへのデータ通信は「SSL」という技術によって、守られているということを意味しています。SSLはNetscape Communications社が開発した、コンピュータ同士の通信を安全にやり取りするための技術です。

●SSLができること

SSLは2つの役割を果たします。

  • サーバとの通信を暗号化する
    通常、ユーザがウェブサイトを見るときに、ブラウザ上、「HTTP」というプロトコル(通信方法)で、サーバと通信します。「HTTP」での通信は平文 (暗号化されていないテキスト)で行われてるため、通信内容は盗聴される可能性があります。「HTTPS」は、「HTTP」の通信内容をSSLで暗号化し ているため、盗聴されたとして、現在もっとも速いスーパーコンピューターでも解読するのに、数年~数十年かかると思われるので、データを安全に送受信する ことが可能になります。
  • サイトの運営者を証明する
    SSLの暗号化通信によって、データが盗聴される心配がなくなります。しかし、ユーザが見ているサイトは間違いなく「本物」でしょうか? 確かに、本物のサイトと同じロゴ、同じ文言、さらに同じURLに見えますが、悪意のある人が作った巧妙な「ニセモノ」サイトかもしれません。 サーバ側はユーザに、自分がクレジットカード番号を入力しようとするサイトは「本物」である証明を見せる必要があります。その証明は「SSLサーバ証明 書」というものになります。
    SSLサーバ証明書は「ウェブサイトが本物である」ということを証明してくれる第三者機関が発行するする電子証明書のことです。

サイトの信頼性を証明する仕組み

  1. ユーザがあるサイトを「https」で閲覧しようとする時、まずブラウザがサイト(サーバ)へSSL接続の要求を出します。
  2. サーバは第三者機関(認証局)から発行された自分のサーバ証明書をブラウザに送ります。
  3. ブラウザはそれを受取った後、自分が持っているルート証明書の中から、そのサーバ証明書を発行した認証局のものを探し出します。
  4. ルート証明書に入っている認証局の公開鍵 を使用して、サーバ証明書の署名を確認します。
  5. ルート証明書、署名、有効期限など、証明書に登録された項目に、ひとつでも不備があれば、ブラウザは警告を出します。
  6. これらのプロセスを完了したら、初めてサーバの信頼性が認められます。

●SSLに関する誤解

  1. SSLはウェブサイトの安全性を保証するものではありません!
    「SSLを使っているから、安全です」とよく見かけますが、これは大きな間違いです。
    SSLは接続先のサーバの信頼性を確認して、データ通信を暗号化する技術に過ぎません、役割的に、ウェブサイトの仕組みに一切関係がありません。SSLを 使うことで、ブラウザからサーバまでの通信の安全性は保証されて、盗聴やなりすましなどの危険性が大幅に減りますが、あくまでもデータ通信だけが安全にな り、ウェブサイトの安全性が改善されるわけではありません。
  2. SSLはウェブサイトのセキュリティ対策ではありません! 
    ウェブサイトの脆弱性に対するほとんどの攻撃はSSLを使うことができます。皮肉にも、攻撃内容もSSLによって暗号化されて、通信内容が保護されます。
    個人情報、クレジットカードなどを扱うサイトでは、SSLは必要最低限のもので、「うちのウェブサイトはSSLを使っているから、安全です」としているからといって、完全に信頼できるとは限りません。
  3. SSLは暗号化ソフトではありません!
    「SSL付きのウェブメールを使ってるから、安全です」ともよく耳にしますが、これも誤解です。
    メールは仕組み上、平文でやりとりされます!
    SSL付きのウェブメールを使ったとしても、ブラウザからウェブメールサーバまではSSLによって、暗号化されるだけで、メールがウェブメールサーバから離れた瞬間、普通の平文になって、受信者に届きます。 受信者にとって、SSLは何の関係もありません。
    メール(通信内容)が暗号化されるのは、ブラウザからウェブメールサーバの間だけです。 暗号化が必要であれば、PGP などの専用ソフトを使って下さい。
    SSLは暗号化ソフトではありません!
  4. SSLの強度は値段とは関係がありません!
    「うちは高いSSLを使ってるから、安全です」と聞いたことがありますが、SSLの強度はサービスの値段とは関係があるんでしょうか?
    SSLはPKI という暗号化技術を使っています。その強度は使っている鍵の長さによって決められます。 簡単に言うと、暗号化に使われたパスワードが長ければ長いほど、頑丈です。どこの業者でも同じ仕組みを使っているので、値段とは関係がありません。
    高いのは、ブランド名だと思えばいいと思います。
  5. SSLを使ってるから、信用できる?
    現時点では、SSLはフィッシング に 対抗するもっとも有効な手段だと考えられています。しかし、「SSLを使ってるから、信用できる」という過信は禁物です。フィッシャー達(フィッシングサ イトを作る人)はいろんな手を使って、SSLの壁を突破しようとしています。さすがに、力技でSSL証明書を偽造しようとしているフィッシャーはまだ現れ ていませんが、フィッシャーはもっと簡単な方法でSSL付きの偽サイトを作ります。その方法は、フィッシャーがセキュリティの甘いSSLサイトに侵入し て、そのサイトにまったく関係のないオンライン銀行などの偽ページを設置して、なりすましメールなどでユーザを偽ページに誘導します。
    ユーザが偽ページにアクセスした場合、そのサイトは正規なSSL証明書を使っているので、ブラウザに鍵マークが表示されます。当然SSL証明書に載ってい る会社名は偽ページとはまったく無関係ですが、多くのユーザはSSLの鍵マークが表示されているから、サイトを信用してしまう傾向があるので、まんまと騙 されることになります。この場合、SSLはむしろフィッシングを助長することになります。
    最近、この手のSSL付きフィッシングサイトが増えています。「SSLを使ってるから、詐欺ではない」という保証はどこにもないので、重要な情報入力する前に、SSL付きでも、SSL証明書の中身とURLを確認する習慣をつける必要があります。
  6. SSLは破れない?
    SSL技術の前提条件は、SSL証明書が偽造できないことです。しかし、それが根本から覆されました。最近、SSL証明書の偽造が可能であることが研究者によって、証明されました。
    これは業界全体に影響する出来事で、 認証局は早速回避策を取りましたが、現時点ではまだ解決策が見つかっていません。しかし、この偽造は大変難しく、いくら天才でもコンピュータ数台でできるものではなく、この問題がすぐ現実的な脅威になることはないと思います。

オンラインバンクなどの普及により、フィッシングサイトが無数にできています。
SSL付きのフィッシングサイトが登場していることで、SSLの重要な役割の一つは果たせなくなる可能性があります。 もはや「SSL=安心」ではないことをよく理解する必要があります。

PAGETOP