ログインセッション【login session】
概要

アクセス制御を行うシステムでは、利用開始時に身元を証明する「ログイン」(login)手続きが必要となる。一般的にはユーザー名とパスワードを用いるパスワード認証が使われるが、生体認証や多要素認証などが用いられることもある。
認証に成功するとログインセッションが開始され、システムはその利用者の識別情報と権限をセッション終了まで保持する。利用者はページを移動したり通信を挟んだりしても、その都度認証情報を入力し直すことなく継続してシステムを利用できる。利用を終える際は「ログアウト」(logout)手続きを行い、セッションを明示的に終了させる。ログアウトにより認証済みであることを示す情報が無効となり、第三者による不正利用を防ぐことができる。
ログアウトには利用者が手動で行う方法のほか、一定時間操作がなかった場合にシステムが自動的にセッションを打ち切る「セッションタイムアウト」(session timeout)の仕組みもある。利用者が離席したままログアウトし忘れた場合や通信が切断された場合に、セッションが開いたまま放置されるリスクを軽減するための仕組みで、オンラインバンキングや社内管理システムなど高いセキュリティが求められる環境で導入されている。タイムアウトまでの時間はセキュリティ要件や業務上の利便性を考慮してシステムごとに設定される。
Webアプリケーションでは、ログインセッションは「セッションID」と呼ばれる識別子によって管理されることが多い。認証成功後にシステムがセッションIDを発行し、Cookieなどの形で利用者のWebブラウザに保存する。以降の通信でブラウザがこのIDをサーバに送信することで、サーバは同一セッション内の操作であると判定し、ログイン状態を維持する。ブラウザを閉じるとセッションが終了する方式もあれば、一定期間はログイン状態を保持する方式もある。
一人の利用者が複数の端末やブラウザから同時にログインできるシステムでは、それぞれ独立したログインセッションとして管理されるのが一般的である。また、管理者が特定の利用者のセッションを強制終了したり、パスワード変更や権限変更を契機に既存のセッションを無効化したりする仕組みを備えたシステムも多い。こうした措置は、認証情報の漏洩や端末の紛失などが発生した際に、不正な継続利用を防止するために行われる。