セッション管理 【session management】

概要

セッション管理(session management)とは、クライアントサーバ通信する際、同じ相手との一連のやり取りをセッションと呼ばれる単位で識別・管理すること。サーバ側で相手の属性や状態を管理し、応答に反映させることができる。

あるシステム利用者や別のシステムアクセスし、連続して交わされる一連の通信や操作の連なりを「セッション」(session)という。アクセス時に認証アクセス元情報の取得などによって相手を識別し、以後、切断やタイムアウトまでの間に行われるデータ送受信を同じセッションとして取り扱うことをセッション管理という。

HTTPにおけるセッション管理

通信システムプロトコル通信規約)によっては仕様の中にセッション管理の仕組みが盛り込まれており、接続の開始、通信相手の識別、セッションの終了について規定の手続きやルールなどが決まっている。

Web通信に用いられるHTTPHypertext Transfer Protocol)は状態管理を行わないステートレス型のプロトコルであるため、それ自体の仕様としてはセッション管理に対応していない。Webアプリケーションなどでセッション管理が必要な場合は何らかの方法で通信相手を識別する必要がある。

よく用いられる手法としては、Cookie一意の識別子セッションIDユーザーID)を記録する手法、URLパラメータパスの一部に識別子を埋め込む手法、フォームの一部に隠しフィールドなどとして識別子を埋め込む手法がある。

HTTP通信におけるセッション管理に保安上の欠陥(脆弱性)があり、外部の攻撃者によって攻撃の標的とされる場合がある。セッション管理を標的とする攻撃手法としてはセッションフィクセーションセッションハイジャックなどがよく知られている。

(2023.10.14更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。