‘Tech’ カテゴリーのアーカイブ

パスワードのハッシュ化

2009 年 8 月 15 日 土曜日

東証1部の音楽、芸能プロダクションアミューズのECサイトから顧客情報が流失した模様だ。

以上のニュース:http://www.nikkei.co.jp/news/main/20090808AT2C0701C07082009.html

http://atmarkit.blog.corp.itmedia.co.jp/archives/50887927.html によると顧客の個人情報は元よりパスワードも流失下とのこと。しかもパスワードをそのままDBに保存していたという。

通常は、万が一パスワードが流失しても大丈夫なようにパスワードはハッシュ化し保存する。
ハッシュ化には様々な方法があるが、PHPの場合 md5() 関数を使用することにより一定の文字列をハッシュ化することができる。

例えば hogehoge という文字列を md5() でハッシュ化すると a756b4981adf83bcf の様な文字列を得ることが出来る。ハッシュ化された文字列は復号できないため a756b4981adf83bcf から元の文字列 hogehoge を知ることは出来ない。しかし元の文字列が変わらない限りハッシュも変化しないため、DBに保存してある a756b4981adf83bcf と md5(”hoeghoge”) が同じであれば入力されたパスワードが正しいという仕組みだ。

しかしmd5にも問題があり、辞書攻撃などmd5やsha1によるハッシュ化に対する攻撃対策も必要である。対策の一つとして多用されているのがSaltを一緒にハッシュ化するケースである。

Saltとはハッシュ化したい文字列とは別にランダムな文字列の事。このSaltをハッシュ化したい文字列と一緒にハッシュ化することによって、復号がさらに困難になるという物。
PHPの場合:

$salt = “wi84mJEn4″;
$pass = “hogehoge”;
md5($salt.$pass);

又、Saltも一定の文字列ではなくユーザー毎に個別のSaltを割り当てると更にセキュリティが向上するとのこと。

ハッシュ化もしないで保存すると、クラッキングでパスワードが流失する以前にDBメンテナンス時についうっかりパスワードを見てしまうなんて事も避けることは出来ない。こうなると本当に内部統制を執行していたのか疑問になる。

Google Appsという選択肢

2008 年 12 月 5 日 金曜日

個人情報保護法が施行され、企業は個人情報保護対策に莫大なコストをかけています。
企業として情報管理には社会的責任があり、紙媒体での情報は勿論のこと、今では一般化した電子上での徹底管理も求められています。

単に情報管理といってもいろいろな切り口があると思うのですが、その中でも最も重視されているのがメールセキュリティではないでしょうか。
そのメールの送受信にはいくつかの方法があり、単にサーバにWebサーバとsendmailなどのメールサーバを共有している方法と、メールとWebを分け、メールなどの情報ツールは専用のサーバアプリを使用しているケースがあると思います。

その中でも、多くの企業ではメールやカレンダー管理などにMS社のExchangeを使用して行っていると思うのですが、比較的導入コストが高く、管理、運営にも膨大なコストと知識を要します。
現在ではホスティングプロバイダーがASPという形で提供しているのですが、それでも1ユーザーあたりのコストが高く、中小企業中小企業向けではないような気がします。

又、出張先などでメールチェックする際、パブリック無線LANなどを使用するケースもあり、SSLは必須なのですが、未だにPOP Over SSLに対応していないサーバプロバイダーも多く、セキュリティ面でもGoogleAppsは低コストで実現できます。

しかしITメディアでも取り上げられましたが、障害も頻繁ではないが発生するらしく、SaaS市場は技術的にもマーケット的にも未だ伸び段階にあるのかもしれません。