QA@IT

HTTPSを使う際に入力フォームのページからそうしないといけない理由はなんですか

8755 PV

HTTPSにより入力データを暗号化する場合、データを受け取るページをHTTPSにしておけば、ユーザの入力値は暗号化され、盗聴されることはないと思います。しかし、HTTPSを使う場合は、入力画面のページからHTTPSにしないと意味がないと聞きました。その理由はなんでしょうか?

回答

HTTPSによる効果はデータの盗聴防止を含め以下があります。

・データの盗聴を防ぐ
・データの改ざんを防ぐ
・アクセスしているドメイン名が正しいものであることを保証する

一般に入力画面は、盗聴によるリスクは低いものの、改ざんやなりすましのリスクがあります。

(1)偽のサイトにアクセスするリスク
さまざまなテクニックにより、正しいURLを入力していても、偽物のサイトが表示される(成りすましサイト)場合があります。具体的には、ARPスプーフィング攻撃やDNSサーバーによる攻撃により、成りすましサイトが表示された例が実際にあります。
この場合、ユーザが入力したデータは、攻撃者の管理するサーバーに送られるため、入力データを盗まれてしまいます。

(2)入力画面の改ざんにより入力値が盗まれるリスク
データの盗聴ができる状況では、データの改ざんも可能である場合が多いです。この場合、入力フォームのaction属性を書き換え、ユーザの入力値が攻撃者のサイトに送信されるように変更可能です。元々のサイトがHTTPSにより暗号化されるようになっていても、それは無効にされてしまいます。
一般に、入力画面のHTMLまでチェックしてからデータを入力するユーザはほとんどいません。また、仮にHTMLをチェックしたとしても、JavaScriptを悪用することにより、送信先の変更がばれにくくすることが可能です。

これらから、利用者が安心して入力できるにするためには、以下が重要となります。

・入力しようとするページが正規のものであることの保証
・入力画面が改ざんされていないという保証

入力画面からHTTPSにすることで、これら両方の保証が可能になります。そのため、HTTPSを使う場合は、入力画面からHTTPSにしなければ意味がありません。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。