「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

セッションIDの固定化

pointこの用語のポイント

point悪いことだよ

point自分のセッションIDを他人にコッソリ使わせるよ

pointセッションIDが同じだと同じ人扱いになるから、(そいつに使わせたセッションIDを後から使うことで)そいつの振りをできる(なりすませる)

スポンサーリンク

簡単に書くよ

セッションIDの固定化(読:セッションアイディーノコテイカ 英:session fixation)とは

「セッションフィクセーション」のこと。
用語の中身としては

自分のセッションIDを他人にコッソリ使わせて、その後あれやこれやがあれやこれやになることで、そいつの振りができるようになる悪いこと
です。
もう少し具体的に書くと

自分(例:アクマ君)の「論理的な意味での開始から終了まで(セッション)に対して紐付けた識別用のID」(セッションID)をコッソリ他の人(例:ピヨ太君)に使わせる→ピヨ太君が気付かないで認証したりする→セッションIDが同じだと同じ人扱いになるから、ピヨ太君にコッソリ使わせたセッションIDをアクマ君が使うことで、アクマ君がピヨ太君の振りをできる、な流れの悪いこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

セッション
セッションID
なりすまし
セッションハイジャック


について結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

セッションは「通信などにおける論理的な意味での開始から終了まで(を意図する単位)」です。
もう少し大雑把に言えば

「こんにちは」から「さようなら」まで

です。

例えば、そうですね。
ピヨ太君とピヨ子さんが会話をします。

最初は、お互い無言です。

セッションIDの固定化

ピヨ太君が「こんにちは」と言います。

セッションIDの固定化2

ピヨ子さんが「こんにちは」と言います。

セッションIDの固定化3

ピヨ太君が「お腹が空いた」と言います。

セッションIDの固定化4

ピヨ子さんが「私も空いた」と言います。

セッションIDの固定化5

ピヨ太君が「さようなら」と言います。

セッションIDの固定化6

ピヨ子さんが「さようなら」と言います。

セッションIDの固定化7

これでピヨ太君とピヨ子さんの会話は終了です。

お家に帰ったピヨ太君にピヨ太ママが「今日はピヨ子さんと何回話した?」と聞きました。

セッションIDの固定化8

ピヨ太君は「1回だよ」と答えます。

セッションIDの固定化9

別に おかしいことは ありませんよね。
普通の答えです。

ですが、ちょっと待ってください。

ピヨ太君がピヨ子さんに向かって話したのは

1.こんにちは
2.お腹が空いた
3.さようなら


の3回です。
「今日はピヨ子さんと何回話した?」の質問に対する答えは「3回だよ」が正しいのではないでしょうか。

セッションIDの固定化10

もちろん、そんなことは ありません。
一般的な感覚では、ピヨ太君とピヨ子さんが話したのは「1回」です。

「こんにちは」を会話の始まりと解釈します。
「さようなら」を会話の終わりと解釈します。
ピヨ太君とピヨ子さんが話したのは「1回」です。

セッションIDの固定化11

ピヨ太君とピヨ子さんは何回も言葉を交わしました。
ですが、論理的な意味でいえば、ピヨ太君とピヨ子さんが話したのは1回です。

この「論理的な意味での1回(開始から終了まで)」がセッションです。
1回の「こんにちは」から「さようなら」までを「1セッション」と数えます。

セッションIDの固定化12

もう少しコンピュータっぽい例も見てみましょう。
ホームページが表示されるときの流れを例にして、セッションを説明します。

あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフトWebブラウザからホームページのファイルが置いてあるコンピュータWebサーバに対して「このページをおくれ」と お願いが出されます。

セッションIDの固定化13

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

セッションIDの固定化14

お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。

セッションIDの固定化15

これが、ホームページが表示されるときの流れです。

実は、この流れは1回ごとに完結します。

Webサーバさんのところにピヨ太パソコンから「このページをおくれ」な お願いが行ったとしましょう。

セッションIDの固定化16

Webサーバさんは「ほれ、そのページだよ」とファイルを返します。

セッションIDの固定化17

さらにピヨ太パソコンから「次は、あのページをおくれ」と お願いが行きました。
ピヨ太パソコンから2回目のお願いです。

セッションIDの固定化18

Webサーバさんは「ほれ、そのページだよ」とファイルを返します。

セッションIDの固定化19

このとき、Webサーバさんは前回のお願いとのつながりを意識しません。
「またピヨ太から、お願いが来た」なんて思わないのです。
Webサーバさんは常に一期一会です。

セッションIDの固定化20

ですが、これでは、いろいろと困ります。
例えば、会員ページログインする(=認証して使えるようにする)ときです。

最初のやり取りでログインするためのページIDパスワード入力するための画面)をもらいます。

セッションIDの固定化21

次に、IDとパスワードを送って、会員ページ(ログインしたあとの画面)をもらいます。

セッションIDの固定化22

これが、できません。

セッションIDの固定化23

ログインするためのページを受け取ったやつとIDとパスワードを送ってきたやつが同じ人だと分からないからです。
Webサーバさんは常に一期一会です。
「さっきログインするためのページを送ったやつからIDとパスワードが送られてきた」なんて考えません。

セッションIDの固定化24

そんな困った状況を解消するために、とあるテクニックがあります。
それは

整理番号を払い出しちゃうぜ作戦

です。

Webサーバさんは、ログインするためのページを渡すときに「1番」と書いたメモを一緒に渡します。

セッションIDの固定化25

そして、自分のところに「1番:ピヨ太」とメモっておくのです。

セッションIDの固定化26

ピヨ太パソコンは、IDとパスワードを送るときに、先ほど受け取ったメモも一緒に送ってやります。
「1番」と書かれたメモです。

セッションIDの固定化27

メモを見たWebサーバさんは「さっきログインするためのページを送ったピヨ太からIDとパスワードが送られてきた」と分かります。
手元には「1番:ピヨ太」と書かれたメモがありますからね。
IDとパスワードが合っていれば会員ページを送ってあげても問題ないでしょう。

セッションIDの固定化28

ピヨ太パソコンとWebサーバさんのやり取りは

1.ログインするためのページの受け渡し
2.会員ページの受け渡し


の2回です。

セッションIDの固定化29

ただし、この2回のページの受け渡しは一連の流れです。
論理的に考えれば

1.会員ページにログインする

という1回のやり取りと解釈できるでしょう。

ピヨ太パソコンから出された「ログインするためのページをおくれ」な お願いがログイン処理の開始と判断できます。
Webサーバさんから会員ページが渡された時点がログイン処理の終了です。

セッションIDの固定化30

この一連の流れ、開始から終了までがセッションです。
※実際にはログインからログアウトまでを1つのセッションとして扱うことが多いですが、とりあえずは気にしないでください。

セッションIDの固定化31

ピヨ太パソコンとWebサーバさんの間で、実際にやり取りした回数は「2回」です。
やり取りした回数を「2ページ」と表現した場合は、実際にやり取りした回数を指します。

論理的な意味でやり取りした回数は「1回」です。
やり取りした回数を「1セッション」と表現した場合は、論理的な意味でやり取りした回数を指します。

ここまでの説明でセッションについては何となく分かったでしょうか。
次に「セッションID」の説明をします。

セッションIDは「セッションに紐付けた識別用のID」です。
セッションの背番号みたいなものですね。

先ほどの会員ページにログインする例を思い出してください。

本来、Webサーバさんは前回のお願いとのつながりを意識しません。
常に一期一会です。

セッションIDの固定化32

ですが

整理番号を払い出しちゃうぜ作戦

によって「さっきログインするためのページを送ったピヨ太からIDとパスワードが送られてきた」と分かるようになりました。
一期一会だったのを「あぁ、また来たのね」と分かるようにしたわけです。

セッションIDの固定化33

この仕組みで登場した「整理番号」に相当するものがセッションIDです。

セッションIDはセッションの開始時に払い出します。
以降はセッションIDを受け渡しすることで、どのセッションかを識別します。

以上がセッションIDの説明です。
あとは「なりすまし」について説明しておきましょう。

なりすましは「他の人のふりをすること」です。
コンピュータ関係以外で出てくる「なりすまし」と意味は同じです。

セッションIDの固定化34

セッションハイジャックは「他人が使っているセッションIDを盗んで勝手に使うことで、そいつの振りをする悪いこと」です。
飛行機のハイジャックとイメージは同じです。
他人のセッションを乗っ取ることで、なりすましをやります。

もう一度、先ほどの会員ページにログインする例を思い出してください。

本来、Webサーバさんは前回のお願いとのつながりを意識しません。
常に一期一会です。

セッションIDの固定化35

ですが

整理番号を払い出しちゃうぜ作戦

によって「さっきログインするためのページを送ったピヨ太からIDとパスワードが送られてきた」と分かるようになりました。
一期一会だったのを「あぁ、また来たのね」と分かるようにしたわけです。

セッションIDの固定化36

ピヨ太パソコンに割り振られた整理番号(セッションID)は「1番」です。
Webサーバさんは自分のところに「1番:ピヨ太」とメモってあります。

ここで問題です。
もしアクマパソコンが「1番」と書かれたメモを送ってきたら、どうなるでしょうか。

セッションIDの固定化37

そうですね。
Webサーバさんは「あっ!ピヨ太が来た」と勘違いしてしまいます。
Webサーバさんからすれば「1番」と書かれたメモを持ってくるのはピヨ太パソコンであるはずだからです。

セッションIDの固定化38

この状況は、アクマパソコンが

1.ピヨ太パソコンのセッションIDを(盗んで)勝手に使い
2.ピヨ太パソコンのセッションを乗っ取ることで
3.ピヨ太パソコンになりすました


と言えるでしょう。

このような

1.セッションIDを(盗んで)勝手に使い
2.セッションを乗っ取ることで
3.そいつになりすます


悪いことがセッションハイジャックです。

……というのが、少し話を単純化した説明です。
実際には、必ずしもセッションIDを盗むとは限りません。
何らかの方法で

セッションを乗っ取る

のがセッションハイジャックです。

以上を踏まえて

自分が使っているセッションIDをコッソリ他人に使わせて、その後、そのセッションIDを使うことで、(セッションIDが同じだと同じ人扱いになるから)コッソリ使わせた他人の振りをできるようになる悪いこと

が「セッションIDの固定化」です。
セッションフィクセーション」とも呼ばれます。
セッションIDの固定化(セッションフィクセーション)はセッションハイジャックのやり方のひとつです。

セッションハイジャックを説明したとき、アクマパソコンはピヨ太パソコンのセッションIDを使いました。
これはピヨ太パソコンのセッションIDを盗んでアクマパソコンが使ったイメージです。

セッションIDの固定化39

セッションIDの固定化では、アクマパソコンのセッションIDをピヨ太パソコンに使わせます。

セッションIDの固定化40

相手のセッションIDを盗むか、自分のセッションIDを押し付けるかが違います。

セッションIDの固定化41

ですが、その後の状況は同じです。
ピヨ太パソコンが使うセッションIDをアクマパソコンも使える状態になっています。

セッションIDの固定化42

相手が使っているセッションIDを自分も使えれば、セッションを乗っ取れます。
よって、セッションIDの固定化はセッションハイジャック(=セッションを乗っ取る悪いこと)のやり方のひとつと言われているのです。


image piyo2

一言でまとめるよ

まぁ「セッションIDの固定化」って単語が出てきたら「自分のセッションIDをコッソリ他人に使わせることで(セッションIDが同じだと同じ人扱いになるから)そいつの振りができるようになる悪いことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像028
書籍画像073

おまけ

■訳してみるよ

「session(セッション)」の意味は「会合」とか「集会」とか「会期」とか「学期」とかです。
「ID」は「identifier(アイデンティファイア)」の略です。
「identifier(アイデンティファイア)」の意味は「識別子」とかです。
「の固定化」は日本語ですね。
何となく くっつけると

会合の識別子の固定化

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
あたえる人があたえられる
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック