セキュリティの低いサイトの見分け方


プログラミングファン

今日は、昨日の続きを書いています。

サイトの会員登録して、IDとパスワードを登録するとします。

でも、そのサイトが第三者にセキュリティ侵害を受けて、IDとパスワードが流出したらどうなるか。おそらく他のサイトでも同じパスワード使っている人もそれなりにいるでしょうから、他サイトにおいても乗っ取られる危険性があります。

私が作っているサイトはクレジットカード情報、パスワード情報すら保存していないということを前回述べました。パスワードはHASH化という一方通行な暗号化をして保存しているためです。

なので、私が これから公開しようとしているProgramming-Funのサイトはその観点においては安全です。

さて、本題ですが、世の中には、ユーザのパスワードもクレジットカード情報も保存しているサイトが結構あります。クレジット決済については決済画面は別画面になっている、すなわち「この先は決済事業者様の画面になります。そちらで決済を行なってください」的な文言があって、決済画面が元のサイトとデザインもまるで違う決済事業者サイトで決済を行う画面は、高確率で安全であると言えます。この場合、URLも決済事業者のものになります。いわゆるリンク方式といわれるものです。決済事業者のサイトにリンクさせて決済をする方法です。

また、私が作っているサイトのように、以下のようにクレジットカード情報の入力画面が元のサイトのデザインに組み込まれているサイトは注意してください。もちろん私が作っているサイトはクレジット決済情報は一切システムを通過せずに直接決済事業者に引き渡されるので問題がありません。しかし、以前から存在しているサイトで同様の形式はクレジットカード情報をシステムで保有しているケースがかなり多いです。

それから、パスワードですが、パスワードが保存されているかどうかの観点においては、「パスワードを忘れた時」などのリンクを踏んでみてください。

いろんな形式があると思います。

・登録しているメールアドレスと、生年月日情報などを組み合わせて入力
・ひみつの質問と答えを書かせて本人確認する

ここまではいいのです。この後の処理を見てください。

本人確認が取れた後、パスワードがメールで回答されるケースがあります。この場合は、完全にNGです。もちろん内部的に暗号化と復号化処理をしているかもしれませんが、多分やっていないです。そもそもメールでパスワードを送信している時点で、セキュリティのことを考えられているとは思えません。

本人確認が取れた後、パスワード再設定リンクが送られてくるものなど、元のパスワードがわからない前提で時間制限付きで再設定できるようになっている仕組みを導入しているサイトは、おそらく合格だと言えるでしょう。

私は、いまだにパスワードを保存されるサイトがあるので、そういうサイトのサービス提供を受けるときは、自分の中で低レベルのパスワードを決めて使うようにしています。侵害されても捨てて良いパスワードですね。

話が行ったり来たりしますが、私が開発しているサイトでは、支払い情報としてクレジットカード決済を登録することができます。あれ?おかしいじゃん。って思った方、鋭いです。

上の画面見たら、カードブランド、クレジットカード情報下4けたと、有効期限が書いてあるじゃんって。クレジットカード情報を保存していないなんて言っておきながら矛盾していると思ったかもしれません。

実は、これでも客さんが入力したクレジットカード情報は一切システムでは関知していないのです。そもそもクレジットカード情報の入力フォーム(テキストボックス)はクレジット決済会社が描画したものを私のサイトに組み込んだだけです。

じゃあ、カードブランド、カードの下4桁と有効期限はどうして把握できているのかということですが、この情報に限ってクレジット決済会社にシステムで問い合わせると応答してもらえるのです。結局下4桁の情報をユーザに知らせることができなければ、お客さん自身がなんのクレジットカードを登録したか分からなくなるでしょう?
なので、下4けた、有効期限だけはユーザにその情報を開示するだけのために情報を取得しているのです。

で、実際にクレジット決済をするときは

上のコードのように会員IDと支払い金額を決済会社に通知しているだけです。なので第三者が私の開発したサイトからクレジットカード情報を盗んでお客さんのカードを使って搾取するのは完全に不可能です。

システム開発者として、セキュリティ問題って一番怖いですからね。その辺はしっかりつくらないと・・・


↑ ここをポチりこお願いいたしますw


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です