暗号と言えば戦争映画やミステリー小説などでお馴染みですが、現在では暗号化技術として私たちの生活に深く関わるものになっています。
例えばウチコミ!のURLは「https://uchicomi.com」です。「http」とは「ハイパーテキスト・トランスファー・プロトコル」の略で、コンテンツの送受信に使われる通信プロトコルのことを指していますが、ウチコミ!のURLには「s」が付いています。これは「https」が「ハイパーテキスト・トランスファー・プロトコル・セキュア」の略だから。「https」のページは、SSL/TLSプロトコルという仕組みによって暗号化されているのです。
Webサイトを利用するとき、私たちは様々な情報を入力します。ショッピングサイトやログインページで入力する個人情報や認証情報などは他人に知られてはいけないものです。SSL暗号化通信によって情報のやり取りをすると、第三者からは内容を読み解くことが困難になります。盗聴やなりすまし、情報漏洩等に対しても効果的なため、現在では多くの企業がSSL暗号化通信による「https」でサイトを公開するようになっているのです。
暗号化とは情報を一定の規則に従って組み換え、第三者が利用できないようにすることです。暗号化される前のデータを平文、暗号化されたデータを暗号文、暗号文を平文に戻すことを復号と呼びます(『日経パソコン用語辞典2012』日経BP社)。
暗号化には様々な暗号方式が使われます。例えばRSAという方式では、数学の素因数分解などがアルゴリズム(データを組み換える方式のこと)に利用されています。
「https」には「公開鍵暗号方式」と「共通鍵暗号方式」の両方を用いた「ハイブリッド方式」が採用されています。公開鍵暗号方式では情報の発信元でデータを暗号化して送信できるようにする「公開鍵」と、復号する際に用いる「秘密鍵」が必要になります。秘密鍵とキーペアでなければ利用できないので鍵の管理は容易ですが、処理速度が遅くなるというデメリットがあります。一方、共通鍵暗号方式では暗号化・複合化する際の鍵が共通で、処理速度は速いのですが、共通鍵が通信相手ごとに必要になり、しかも秘密にしなければならないことから、管理等が煩雑になります。
ハイブリッド方式ではサーバから公開鍵が送付され、それを元にユーザ側で暗号化した共通鍵で通信を行います。簡単に言えば、公開鍵暗号方式の鍵管理のしやすさと共通鍵暗号方式の処理速度の速さの「いいとこ取り」ができるのがハイブリッド方式です。
もっとも、キーボードの入力情報をスパイウェアで盗み取られてはSSL暗号化通信も対処できません。そのため最近では指でキーボードを押さずにパスワード等の入力を行う「ソフトウェアキーボード」が採用されるサイトが増えています。
(参考:サイト「SSLサーバ証明書」事例・ライブラリ)