この文章を書きかけである. とりあえずネタを書いていることもあり読みにくい.
現在, 多くのWebサービス(書店などのショッピングサイト, 銀行など)が使われているが, システム全体として安全なサービスが提供されていないように感じる. 利用者からみた安全なWebサービスを考察してみる.
以下では, 「暗号化」という言葉を, 狭い意味ではなく, 暗号技術を利用することの総称として用いる. ただし文脈によってはこの限りではない.
Webサービスにおいて, サービス提供者と利用者との間で重要な個人情報は暗号化され, 第三者がそれを知ることができないように, また改ざんできないようにやりとりされなければならない. Webサービスの暗号化には通常SSL/TLSを利用するHTTPSというプロトコルが用いられる.
重要な個人情報がなにかはサービスにもよるが, 以下が代表的なものである.
サービスや利用者によっては, どの商品を購入したかなども重要な個人情報として扱われるであろう.
暗号化による第三者へ情報の隠蔽は, システム全体として行なわれなければならない. 例えば, HTTPSを利用して買いものをすると, その情報をメールで送るサービスは多い. そして, このメールに送り先住所などが含まれているサービスがある. 送り先住所がたとえば会社のものであれば問題ないだろうが, 個人の自宅の住所であればメールの配送の経路上で住所が盗聴される可能性がある. これではシステム全体として安全とはいえない.
また, ショッピングカートに入れるだけでは通信が暗号化されておらず(ただしcookieを用いて利用者は同定されている), 精算時にのみ通信を暗号化するサービスがある. 利用者がなにを買おうとしていたか, やはり経路上の第三者が盗聴や改ざんすることが可能である. このような情報も, なるべく保護されるべきである.
電子メールは極めて広く利用されているサービスであり, Webサービスでも補助的に利用されている. しかしメールはそのままでは第三者によって盗聴や改ざんが可能である. 状況に応じて, 暗号化を行い盗聴を防いだり電子署名を付け改ざんを防ぐ必要がある. しかし, 暗号化や電子署名には公開鍵の安全な配布を行なわなければならないが(いわゆるPKI), 現状ではメールサービスに対する公開鍵配布の基盤として十分なものはないようである.
よって現状では, メールによって伝達される情報には重要な個人情報は含まれてはならない.
例えば, 個人が個人のためにショッピングサイトで買いものをする場合, サービス提供者からのメールではたんに買いものがあった事実のみを伝えるのが望ましい. 送り先住所, 購入した品物やその金額などは含まれるべきではない. 詳細については, Webサービスにログイン後確認できれば十分であろう. 個人のための買いものではなく, 会社のためなどの買いものではこの限りではない. また, 不正利用を防止するために買いものがあった事実はメールで伝えることが望ましい場合が多いと思われるが, それすら必要でない場合もあるだろう. 買いものを確認するための番号(注文番号などと呼ばれるもの)の伝達についても場合に依るだろうが, 個人的には許容範囲ではある.
暗号化においては, 安全なアルゴリズムや鍵を利用しなければならない.
現代において, 安全だと考えられている鍵の長さは
であろう. Webサービスにおいては最低限これを満す鍵を使わねばならない. 最近の計算機の能力を考えると,
とすることが望ましい.
残念ながら, 2004年現在では 共通鍵暗号の鍵として 40bitの長さのものを用いるサービスも存在する.
実際に利用する前に, システムがどのように情報を扱うかについての情報を得られることが望ましい. 例えば
などである.
現状では, ほとんどすべてのサービスで, 1度取り引きをしなければどのように情報が扱われるかを知ることができない. サービス提供者は, どのように取り引きが行なわれるかについて詳細な情報を開示するべきである. 例えば, 入会せずともシステムを擬似体験できる仕組みを用意するなど.
文責:春山 征吾 (HARUYAMA Seigo)