セッション管理方法と対策
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/08/10 16:30 UTC 版)
「セッションハイジャック」の記事における「セッション管理方法と対策」の解説
WebアプリケーションとブラウザがセッションIDを送受信する方法として以下の3つが知られている: cookie フォームデータのhiddenフィールド URL 第一の方法は RFC 6265 に規定されており、WebアプリケーションがSet-Cookieレスポンスヘッダを用いてcookieを発行し、ブラウザ側がそのcookieを自動的にサーバに送り返す。 第二の方法はセッションIDをフォームデータのhiddenフィールドとして渡す方法で、この方法を用いるにはページ遷移をフォームデータの送信の形で記述する必要がある。 第三の方法はURLにセッションIDを含める方法だが、すでに述べたようにセッションハイジャックの危険にさらされるので、特別な理由がない限り利用すべきではない。 したがって安全性を考慮した場合、第一もしくは第二の方法を用いてセッション管理を行うべきである。なお第二の方法のほうが第一の方法よりもセッションIDが攻撃者に漏れにくいが、第二の方法の場合、自然なハイパーリンクを実現するためにスクリプトを利用する必要があるため実装が複雑になる。 その他の対策方法として、ログインを伴うWebアプリケーションではログインの認証後にセッションIDを変更するというものがある。すでに述べたようにユーザがパスワードを求められるのはログインの認証時のみで以降はセッションIDを使ってユーザを識別する。したがってセッションIDがログイン前に攻撃者に漏れていてもログイン後のセッションをハイジャックされないようにするためにこの対策が有効になる。 またWebアプリケーションの開発ツール(Webアプリケーションフレームワーク)にはセッション管理機能を持ったものも多いので、セッション管理機能を自作せず、既存の開発ツールに付属したものを利用する方が良い。
※この「セッション管理方法と対策」の解説は、「セッションハイジャック」の解説の一部です。
「セッション管理方法と対策」を含む「セッションハイジャック」の記事については、「セッションハイジャック」の概要を参照ください。
- セッション管理方法と対策のページへのリンク