セッション ID

更新日:

用語解説

セッションIDは、ステートレスなHTTP要求を同じ利用者の一連のセションへ対応付けるため、Webアプリケーションが発行する識別子です。通常はサーバ側のセション状態を引くための、意味を持たない予測困難な値にします。

■ 試験で押さえるポイント

  • ログイン状態、権限、カート内容などはサーバ側ストアへ保存し、ブラウザはCookieでIDだけを送ります。ID自体へ個人情報や権限を平文で埋め込みません。

  • 暗号学的に安全な乱数で十分なエントロピーを持たせ、推測と総当たりを困難にします。一意な連番であるだけでは攻撃者に次のIDを予測されます。

  • ログイン成功や権限変更時にIDを再生成してセッション固定攻撃を防ぎ、ログアウト、無操作期限、絶対期限でサーバ側のIDを無効化します。

  • CookieにはSecure、HttpOnly、SameSiteを設定し全セションをHTTPSで保護します。URLへIDを入れると履歴、ログ、Referer、共有リンクへ漏れるため避けます。

■ 選択肢での判断ポイント

ID漏えいで攻撃者が利用者になりすますセッションハイジャック、攻撃者指定IDをログイン後も使わせるセッション固定を区別し、再生成と無効化を選びます。

例: ログイン前のSIDを認証成功直後に破棄し、新しい128ビット乱数相当のSIDをSecure・HttpOnly Cookieで発行します。ログアウト時はサーバ側レコードも削除します。

音声で聞く

同じ分野の用語