アカウント名:
パスワード:
いつもこういう話を聞く度に思うのは、クレジットカードなどの情報そのものをインターネットから直接アクセスできないようなところに分離できないか、ということ。
インターネットから分離して、カード番号その他をいれて、例えば、RS-232Cで接続する別のデータベースサーバに問い合わせて、結果のyesかnoかだけ、答えをもらうようなシステム。これならば、クレジットカード番号が網羅的に抜かれることはない。パスワードだって、そのようにすれば、shadowすら抜かれることもない。
毎回入れるようになるだけだよ。それがみんな面倒だと思ってるから、サーバに残しちゃってるわけで。
分離したデータベースサーバにパスワードとともにクレジットカード番号などを格納しておいて、パスワードとセットでないと、番号を参照できないようにすれば、うまくいくような気がします。
あるいは、クレジットカード番号はフロントエンドのサーバからは設定できても、参照できないようにするか。
いずれにしても、網羅的に20万人分とか抜かれなければ、たまたま、一人だけ、パスワードが当てられて抜かれてもそれは、そのユーザのパスワード管理が悪いか、強度が弱いか、運が悪かったで済む。
こういう大規模な流出を防ぐことは技術的に解決できそうな気がします。
で、その分離したデータベースサーバの両方にアクセスできるアプリケーションサーバあって、それがハクられた上で両方から引っ張られるというオチはどうやって回避しましょうか?
ていうか、この手のデータ盗難はデータベースサーバに侵入されるよりも、アプリケーションサーバに侵入されて、そこから通常の許可されたルートでデータを引っ張って盗んでいくのが多いんですから、そっちをなんとかしないとね。
アプリケーションサーバからデータベースへはクレジットカードの情報はINSERT/UPDATEはできても、SELECTはできないという処置はいいかもしれない。ただし、ユーザが自分でカード情報を変更するインターフェースがあるところは工夫が必要ですね。
基本的なコンセプトとしては、すでに- クレジットカード認証はカード会社に投げる、- パスワードはopenIDのような認証サーバに任せる、というように、まさにフロントサーバとは分離したデータベースサーバという形態をとっているわけです。
それ以外の情報もできるだけ分離できれば安全性は高まるでしょう。- 情報をとりださない、- 取り出すとしても一度に網羅的にとりだせない- 個々の認証が成立しなければとりだせないというようにうまく組めれば、分離したサーバから一度に流出することはなくなると思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
クレジットカード情報などをインターネットから分離はできないのか (スコア:1)
いつもこういう話を聞く度に思うのは、クレジットカードなどの情報そのものをインターネットから直接アクセスできないようなところに分離できないか、ということ。
インターネットから分離して、カード番号その他をいれて、例えば、RS-232Cで接続する別のデータベースサーバに問い合わせて、結果のyesかnoかだけ、答えをもらうようなシステム。これならば、クレジットカード番号が網羅的に抜かれることはない。パスワードだって、そのようにすれば、shadowすら抜かれることもない。
Re: (スコア:0)
毎回入れるようになるだけだよ。
それがみんな面倒だと思ってるから、サーバに残しちゃってるわけで。
Re: (スコア:1)
分離したデータベースサーバにパスワードとともにクレジットカード番号などを格納しておいて、パスワードとセットでないと、番号を参照できないようにすれば、うまくいくような気がします。
あるいは、クレジットカード番号はフロントエンドのサーバからは設定できても、参照できないようにするか。
いずれにしても、網羅的に20万人分とか抜かれなければ、たまたま、一人だけ、パスワードが当てられて抜かれてもそれは、そのユーザのパスワード管理が悪いか、強度が弱いか、運が悪かったで済む。
こういう大規模な流出を防ぐことは技術的に解決できそうな気がします。
Re: (スコア:0)
で、その分離したデータベースサーバの両方にアクセスできるアプリケーションサーバあって、それがハクられた上で両方から引っ張られるというオチはどうやって回避しましょうか?
ていうか、この手のデータ盗難はデータベースサーバに侵入されるよりも、アプリケーションサーバに侵入されて、そこから通常の許可されたルートでデータを引っ張って盗んでいくのが多いんですから、そっちをなんとかしないとね。
アプリケーションサーバからデータベースへはクレジットカードの情報はINSERT/UPDATEはできても、SELECTはできないという処置はいいかもしれない。
ただし、ユーザが自分でカード情報を変更するインターフェースがあるところは工夫が必要ですね。
Re:クレジットカード情報などをインターネットから分離はできないのか (スコア:1)
基本的なコンセプトとしては、すでに
- クレジットカード認証はカード会社に投げる、
- パスワードはopenIDのような認証サーバに任せる、
というように、まさにフロントサーバとは分離したデータベースサーバという形態をとっているわけです。
それ以外の情報もできるだけ分離できれば安全性は高まるでしょう。
- 情報をとりださない、
- 取り出すとしても一度に網羅的にとりだせない
- 個々の認証が成立しなければとりだせない
というようにうまく組めれば、分離したサーバから一度に流出することはなくなると思います。