SSLについて
2009 年 4 月 17 日 カテゴリー: サイト構築
こんにちは、テクノロジー(開発)担当です。
今回は決済画面などでよく見かけるSSLについて簡単に説明したいと思います。
▼各ブラウザでのSSL通信状態
IE 7
FireFox 3
SSLとは
SSLは「Secure Sockets Layer」の略で、
ネットワークを介したコンピュータ同士で送信するデータを暗号化して送る仕組みの事です。
通常では暗号化されていないデータが直接インターネット上で受渡しをされますが、
知識のある人ならばこのデータを盗み見たり、データを改竄することが可能となってしまいます。
そこで大切な情報を暗号化させ、安心して送信出来る様に開発された技術がSSLになります。
主にショッピングカートの決済ページや個人情報を登録するエントリーページなどでよく使われており
クレジットカード情報など、機密性の高い情報を認証や暗号化によって安全にやりとりする
プロトコルや技術の総称となっています。
▼SSLでの通信イメージ
SSLの成立までの流れ
SSLによる安全なやり取りが成立するまでの流れを説明します。
▼SSL通信の流れ
①クライアントからSSL通信を要求する
クライアントがウェブブラウザを使ってSSL通信を開始する場合、
「https://」から始まったURLでアクセスします。
これによりHTTP通信とは違うポートでのアクセスとなり
サーバ側でSSL通信の為の処理が行われます。
②サーバからデジタル証明書が送付される
SSL通信の要求を受けたサーバは、 デジタル証明書をクライアントへ送付します。
このデジタル証明書というのはSSL通信を確立させる為には必須であり事前にサーバ側はこの証明書を認証局(CA)で発行しておく必要があります。
認証局で発行されたデジタル証明書があると不審なサイトではないという証明にもなります。
デジタル証明書を発行するというのは飲食店を経営するのには必ず調理師免許が必要と考えると理解しやすいかと思います。
③クライアント側で共通鍵を生成
デジタル証明書の認証が完了できると次にクライアント側、サーバ側と共に共通で暗号化に使用する「共通鍵」をクライアント側で生成します。
④公開鍵で共通鍵を暗号化してサーバへ送信する
デジタル証明書にはサーバ側で公開している「公開鍵」というものが入っていますので、先ほど生成された「共通鍵」を「公開鍵」を使って暗号化させます。
そして暗号化された「共通鍵」はサーバ側へ送信されます。
⑤送信する情報を共通鍵で暗号化してデータのやり取りをする
受取った「共通鍵」はサーバ側でデジタル証明書を発行した時に作成してある「秘密鍵」を使って「共通鍵」を復元します。
これでクライアント側、サーバ側と共に「共通鍵」でデータを暗号化させて情報をやりとりします。
ここで「公開鍵」と「秘密鍵」があるにもかかわらず、
何故わざわざ「共通鍵」を生成させる必要があるのかという疑問がもたれます。
「共通鍵」を生成する大きい理由として
「公開鍵」と「秘密鍵」を利用する「公開鍵暗号方式」は
「共通鍵」を利用する「共通鍵暗号方式」に比べパフォーマンスが悪い事があげられます。
その為、暗号化させたいデータに処理の軽い「共通鍵暗号方式」を利用し
その「共通鍵」を渡す際に「公開鍵暗号方式」を利用します。
SSLで防げるリスク
SSL通信を利用する事で回避できるリスクを紹介します。
- 盗聴および、改竄、否認が防げる
データを暗号化している事により、内容を読取る事が出来ない。
高度な解読技術でもない限り、簡単には解読出来ない様になっている為、
盗聴および、改竄、否認による被害を低減する事が出来ます。 - 成りすましを防げる
インターネットの場合、取引する相手の顔が見えないことから、
業者に成りすまして金銭を盗み取ったり、ユーザーに成りすまして商品を盗み取るなどの被害を受ける場合があります。
SSLでは認証局から発行された「デジタル証明書」が最初の通信時に必ず確認されます。
サイトの証明をする事により、成りすましによる被害が低減されます。
主な認証局
これまでの説明で、SSLで通信を行うにはデジタル証明書が必須と記述しました。
下記の会社ではデジタル証明書の発行サービスを提供している会社です。
各携帯キャリアのSSLにも対応しています。
・日本ベリサイン
・GMOグローバルサイン
・セコムトラストシステムズ
携帯各キャリアのSSL対応
携帯電話ではキャリアや機種によってSSLの対応が異なりますので
各キャリアでの対応情報先を記載しておきます。
今回のまとめ
ネットショップの利用が拡大されるにつれ、SSLの需要は今後更に拡大する事が予想されます。
ショッピングサイトなど電子商取引系の運用に携われる方なら、個人情報の取扱いは必須になります。
SSLを利用する事により機密性の高いデータを第三者に利用されるという事も大きく抑えられますが、
実際にデジタル証明書を発行してサーバに組込むといった作業はサーバの専門知識をもっていなければ大変難しい事です。
aishipではこういったセキュリティの面を特に考える必要もなく、予め個人情報を取扱うページにはSSL通信が利用されています。
上手くこういったサービスを利用して、より良いサイトを運営していければと思います。






