説明

セッション管理装置

【課題】正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、セッションハイジャックの危険性を低減する。
【解決手段】ネットワーク101を介してWebクライアント103a〜103cと接続されたWebサーバ102には、セッション管理部204が設けられ、セッション管理部204は、Webクライアント103とWebサーバ102との間で受け渡されるセッションIDをWebクライアント103からのアクセスの度に採番し、Webクライアント103a〜103からの一連のアクセスをWebサーバ102側で管理する管理IDをセッションIDに付与し、同一の管理IDが付与された互いに異なる複数のセッションIDを同時刻に有効にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はセッション管理装置に関し、特に、Webアプリケーションなどで使用されるセッションIDを詐称した「なりすまし」を防止する方法に適用して好適なものである。
【背景技術】
【0002】
近年のインターネットの普及に伴って、電子申請やオンラインショッピングを始めとした様々な手続きや業務が電子化されている。この電子化にあたっては、パーソナルコンピュータに標準搭載されているWebブラウザをクライアントソフトとし、オンラインショッピングに代表されるWebアプリケーションを構築することが盛んに行われている。
このWebアプリケーションの構築に当たっては、HTTPというプロトコルが通常用いられる。このHTTPというプロトコルはステートレスなプロトコルであり、一回のリクエストとレスポンスにより処理が完結する仕組みが採用され、リクエストとレスポンスのやり取りを複数回にわたって管理するためのセッションという概念が備わっていない。オンラインショッピングに代表されるWebアプリケーションでは、ユーザを識別したり、ユーザが入力した内容を記憶したりする必要があるが、HTTPというプロトコルが用いられているため、セッションを管理することができない。
【0003】
この問題の解決策として、クライアントとサーバ間でのやりとりの際にセッションIDと呼ばれるセッションを識別するための識別子の受け渡しを行うことが広く行われている。
具体的には、ある段階でサーバがセッションIDを採番し、HTTPレスポンス中に含めて受け渡す。クライアントは、その後のリクエスト時に受け取ったセッションIDをサーバに送る。サーバは、受け取ったセッションIDを確認してセッションを特定する。
【0004】
この方法では、セッションIDが第三者に知られると、俗に言う「なりすまし」による不正アクセスが実行される危険性がある。すなわち、セッションIDの受け渡しは、Cookieと呼ばれる仕組みやURLの一部分を利用する仕組み、Hiddenパラメータを利用する仕組みなどが一般に知られているが、どの手法においても、通信路の盗聴などにより、セッションIDが第三者に知られてしまう危険性がある。
【0005】
このような第三者が略取したセッションIDを使用して不正なアクセスを行う行為はセッションハイジャックと呼ばれ、Webアプリケーションに対するセキュリティ上の脅威として問題視されており、セッションIDの有効期限を設定するという対抗策が考えられている。
また、特許文献1には、Webシステムにおけるセッション管理に関して、セッションハイジャックの危険性を低減するために、Webクライアントからのアクセス毎に当該Webクライアントとの間のセッションIDの更新登録を行う方法が開示されている。
【0006】
図8は、従来のセッション管理処理の流れの一例を示すシーケンス図である。
図8において、Webクライアント13上には表示画面13aが設けられ、表示画面13aにはWebアプリケーションに応じたログイン画面が表示される。そして、ログイン画面上でユーザIDやパスワードが入力され、ログインボタンが押下されると、Webクライアント13からWebサーバ12に認証情報が送信される(ステップS601)。そして、Webサーバ12は、Webクライアント13から認証情報を受信すると、アカウントデータベース14を参照することで、Webクライアント13を認証する(ステップS602)。そして、Webクライアント13が認証されると、Webサーバ12は、セッションID1を採番し(ステップS603)、セッションデータベース15に新規登録するとともに(ステップS604)、HTTPレスポンスをWebクライアント13に返し、セッションID1をWebクライアント13に受け渡すことで(ステップS605)、Webクライアント13はフレーム構造のみ取得する。
【0007】
ここで、ログイン後の表示画面13aがフレーム1、2によって複数の画面から構成される場合、フレーム1、2にアクセスするための複数のリクエストが行われ、セッションID1がWebサーバ12に受け渡される(ステップS606、S610)。
そして、Webサーバ12は、Webクライアント13からフレーム1にアクセスするためのリクエストを受信すると、セッションデータベース15を参照することで、セッションID1を確認する(ステップS607)。そして、セッションID1の確認がとれると、Webサーバ12は、セッションID2を採番し(ステップS608)、セッションID1をセッションデータベース15から削除するとともに、セッションID2をセッションデータベース15に更新登録する(ステップS609)。そして、Webサーバ12は、フレーム1に対応したHTTPレスポンスをWebクライアント13に返し、セッションID2をWebクライアント13に受け渡すことで(ステップS611)、表示画面13a上にフレーム1の正常な内容が表示される。
【0008】
また、Webサーバ12は、Webクライアント13からフレーム2にアクセスするためのリクエストを受信すると、セッションデータベース15を参照することで、セッションID1を確認する(ステップS612)。ここで、セッションデータベース15上ではセッションID1が既に削除され、セッションID1の確認がとれないため、フレーム2に対応したHTTPレスポンスとしてエラーがWebクライアント13に返され(ステップS613)、表示画面13a上にフレーム2のエラーの内容が表示される。
【0009】
図9は、従来のセッション管理処理の流れのその他の例を示すシーケンス図である。
図9において、ログイン画面上でユーザIDやパスワードが入力され、ログインボタンが押下されると、Webクライアント13からWebサーバ12に認証情報が送信される(ステップS701)。そして、Webサーバ12は、Webクライアント13から認証情報を受信すると、アカウントデータベース14を参照することで、Webクライアント13を認証する(ステップS702)。そして、Webクライアント13が認証されると、Webサーバ12は、セッションID1を採番し(ステップS703)、セッションデータベース15に新規登録するとともに(ステップS704)、HTTPレスポンスをWebクライアント13に返し、セッションID1をWebクライアント13に受け渡すことで(ステップS705)、Webクライアント13はメニュー画面を取得する。
【0010】
ここで、メニュー画面には複数の画面1、2へのリンクが含まれ、メニュー画面上で画面1へのリンクが押下された場合、画面1にアクセスするためのリクエストが行われ、セッションID1がWebサーバ12に受け渡される(ステップS706)。
そして、Webサーバ12は、Webクライアント13から画面1にアクセスするためのリクエストを受信すると、セッションデータベース15を参照することで、セッションID1を確認する(ステップS707)。そして、セッションID1の確認がとれると、Webサーバ12は、セッションID2を採番し(ステップS708)、セッションID1をセッションデータベース15から削除するとともに、セッションID2をセッションデータベース15に更新登録する(ステップS709)。
【0011】
そして、Webサーバ12は、画面1に対応したHTTPレスポンスをWebクライアント13に返し、セッションID2をWebクライアント13に受け渡す(ステップS711)。ここで、Webサーバ12による処理中に画面2へのリンクが押下された場合、ブラウザは画面1への接続を既に廃棄しているため、画面1への接続が無効化される。
また、画面2へのリンクが押下されると、画面2にアクセスするためのリクエストが行われ、セッションID1がWebサーバ12に受け渡される(ステップS710)。
【0012】
そして、Webサーバ12は、Webクライアント13から画面2にアクセスするためのリクエストを受信すると、セッションデータベース15を参照することで、セッションID1を確認する(ステップS712)。ここで、セッションデータベース15上ではセッションID1が既に削除され、セッションID1の確認がとれないため、画面2に対応したHTTPレスポンスとしてエラーがWebクライアント13に返され(ステップS713)、表示画面13a上にエラーの内容が表示される。
【特許文献1】特開2006−344137号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、セッションIDの有効期限を設定する方法では、有効期限が短かすぎれば、ユーザの利便性が低下し、有効期限が長すぎると、セッションハイジャックへの防止効果が低下するという問題があった。加えて、セッションIDの有効期限を設定する方法では、最後のアクセスから有効期限内に操作されなかった場合にセッションIDが無効化され、ユーザがWebアプリケーションを利用し続けている間はセッションIDは有効であるため、セッションハイジャックへの防止効果としてはそれほど高くない。
【0014】
また、特許文献1に開示された手法では、図8および図9に示したように、同じセッションIDで複数のリクエストが送られる場合やサーバが処理中にクライアント側で別なページへ遷移するボタンが押された場合などでは、正規のユーザであるにも関わらずエラーとなるという問題があった。
そこで、本発明の目的は、正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、セッションハイジャックの危険性を低減することが可能なセッション管理装置を提供することである。
【課題を解決するための手段】
【0015】
上述した課題を解決するために、請求項1記載のセッション管理装置によれば、WebクライアントとWebサーバとの間で受け渡されるセッションIDを前記Webクライアントからのアクセスの度に採番するセッションID採番手段と、前記Webクライアントからの一連のアクセスを前記Webサーバ側で管理する管理IDを前記セッションIDに付与し、前記管理IDを付与された前記セッションIDの情報に基づき、前記Webクライアントから受け渡されるセッションIDの有効・無効を確認するセッションID管理手段とを備えることを特徴とする。
【0016】
また、請求項2記載のセッション管理装置によれば、前記セッションID管理手段は、互いに異なる複数のセッションIDに同一管理IDの付与を許容することを特徴とする。
また、請求項3記載のセッション管理装置によれば、前記セッションID管理手段は、セッションIDを使用したアクセス回数を利用し、既に使用されたセッションIDを使用回数に基づいて任意のタイミングで無効化することを特徴とする。
【0017】
また、請求項4記載のセッション管理装置によれば、前記セッションID管理手段は、セッションIDを使用したアクセスからの経過時間を利用し、既に使用されたセッションIDをその使用後の有効時間に基づいて任意のタイミングで無効化することを特徴とする。
また、請求項5記載のセッション管理装置によれば、前記セッションID管理手段は、あるセッションIDの使用後に新たに発行されたセッションIDの個数を利用し、既に使用されたセッションIDを前記セッションIDの世代に基づいて任意のタイミングで無効化することを特徴とする。
【発明の効果】
【0018】
以上説明したように、本発明によれば、Webクライアントからのアクセスの度にセッションIDを採番し、互いに異なる複数のセッションIDが同時刻に有効になるのを許容しつつ、所定の条件下でセッションIDを無効化することが可能となるとともに、セッションIDに管理IDを付与することで、Webクライアントからのアクセスの度にセッションIDを採番した場合においても、Webクライアントからの一連のアクセスを管理することができる。
このため、正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、セッションハイジャックの危険性を低減することが可能となるとともに、リクエストとレスポンスのやり取りを複数回にわたって管理することができ、オンラインショッピングに代表されるWebアプリケーションにおけるユーザの識別処理や、ユーザによる入力データの記憶処理などを一括して管理することができる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施形態に係るセッション管理装置について図面を参照しながら説明する。
図1は、本発明の一実施形態に係るセッション管理装置が適用されるWebシステムの概略構成を示すブロック図である。
図1において、Webシステムには、Webサーバ102およびWebクライアント103a〜103cが設けられ、Webサーバ102とWebクライアント103a〜103cとはネットワーク101を介して接続されている。
【0020】
なお、ネットワーク101としては、LANまたはWANなどの他、インターネットなどのネットワークを用いることができる。また、Webサーバ102としては、例えば、パーソナルコンピュータを用いることができ、Webクライアント103a〜103cとしては、パーソナルコンピュータなどの他、携帯電話などの携帯情報端末を用いることができる。また、Webクライアント103a〜103cには、Webブラウザをクライアントソフトとして搭載し、Webサーバ102には、オンラインショッピングなどのWebアプリケーションを搭載することができる。また、Webサーバ102は、そこに搭載されるWebアプリケーションの数に応じて複数台で構成するようにしてもよい。
【0021】
図2は、図1のWebサーバおよびWebクライアントの概略構成を示すブロック図である。
図2において、Webクライアント103a〜103cにはWebブラウザ201がそれぞれ搭載され、Webサーバ102には、Webサーバソフト202およびWebアプリケーション203が搭載されている。また、Webサーバ102には、セッションの管理を行うセッション管理部204が設けられている。なお、セッション管理部204は、Webアプリケーション203の一部として動作するようにしてもよい。
【0022】
Webブラウザ201は、HTTPやHTTPを利用するプロトコル(SSLやTLSなど。以下、総称してHTTPと呼ぶ)を使用することで、ネットワーク101を介してWebサーバソフト202との間で処理要求の送信や処理結果の受信を行うことができる。
Webサーバソフト202は、Webブラウザ201より送られた処理要求をWebアプリケーション203に受け渡したり、Webアプリケーション203による処理結果(HTML、XML、TEXTのようなテキストデータや画像・動画に代表されるバイナリデータ)をWebブラウザ201に送信したりすることができる。
【0023】
Webアプリケーション203は、Webサーバソフト202から受け取った処理要求を元にセッション管理部204と連携して一連のアクセスを識別し、所定の処理を行ってWebサーバソフト202に受け渡すことができる。
セッション管理部204は、Webクライアント103a〜103cとWebサーバ102との間で受け渡されるセッションIDをWebクライアント103a〜103cからのアクセスの度に採番し、Webクライアント103a〜103からの一連のアクセスをWebサーバ102側で管理する管理IDをセッションIDに付与することができる。
【0024】
そして、セッション管理部204は、リクエスト中にセッションIDが含まれていない場合に管理ID並びにセッションIDを採番し発行する。一方、リクエスト中にセッションIDが含まれている場合はアクセスの度にセッションIDを採番し発行する。これにより、Webクライアント103a〜103cは、フレームにより構成された画面やWebサーバ102が処理中に別なページへの遷移を行った場合の例外を除いて、各アクセスごとに異なるセッションIDを使用することができる。
【0025】
また、セッション管理部204は、従来のセッション管理方式が行っていたようにセッションIDをもって一連のアクセスを識別するのではなく、セッションIDから管理IDを特定し、管理IDを持って一連のアクセスを識別することにより、間接的に一連のアクセスに紐付くセッションIDを同時刻において複数個有効にすることが可能となる。
これにより、従来方式のように、新しいセッションIDを発行した際に直ちに使用済みのセッションIDが無効になるのではなく、任意のタイミングでセッションIDを無効にすることが可能となる。
【0026】
また、使用済みのセッションIDを無効化するタイミングを、当該セッションIDを使用したアクセス回数や当該セッションIDを使用したアクセスからの経過時間、当該セッションID以降に発行されたセッションID数などの値を利用して設定することが可能となる。
その結果、使用されたセッションIDは無効化されるが、一定期間の間は既に使用されたセッションIDであっても有効であるという制御が可能となり、セッションハイジャックによるなりすましの脅威を低減しつつ、正規のユーザによる正常なアクセス時には処理を継続することが可能となる。
ここで、セッション管理部204には、セッションIDと管理IDとを管理するセッションテーブル301が設けられ、セッション管理部204は、一連のアクセスによってその都度採番されたセッションIDと管理IDとを紐付けすることができる。
【0027】
図3は、本発明の一実施形態に係るセッションテーブルを従来例と比較して示す図である。
図3(b)において、従来のセッションテーブル302では、セッションIDが個別に管理される。これに対し、本実施形態のセッションテーブル301では、図3(a)に示すように、一連のアクセスによってその都度採番された複数のセッションIDは、同一の管理IDにて一括して管理される。なお、ここでは便宜上一つの管理IDに複数のセッションIDとして模式化して示しているが、相関関係が保たれておればよく、テーブルの構成を限定するものでは無い。
図4は、本発明の一実施形態に係るリソースマッピングを従来例と比較して示す図である。
図4(b)において、従来のリソースマッピング402では、Webサーバ102のリソースはセッションIDごとに紐付けられる。これに対し、本実施形態のセッションテーブル401では、図4(a)に示すように、Webサーバ102のリソースは管理IDごとに紐付けられる。
【0028】
図5および図6は、本発明の一実施形態に係るセッション管理処理の流れを示すシーケンス図である。
図5において、Webクライアント103a〜103c(以降の説明において、Webクライアント103と記す)からWebサーバ102にアクセスされ(ステップS101)、そのアクセスにセッションIDが含まれていないものとすると、Webサーバ102は、管理ID−Aを採番し(ステップS102)、セッションテーブル301に新規登録する(ステップS103)。そして、管理ID−Aの登録後、セッションID−A1を採番し(ステップS104)、セッションテーブル301に新規登録するとともに(ステップS105)、HTTPレスポンスをWebクライアント103に返し、セッションID−A1をWebクライアント103に受け渡す(ステップS106)。なお、ここでは図示していないが、管理IDを採番する度にセッションテーブル301にアクセスし、採番すべきIDを決めてもよいし、Webアプリケーション203内に管理IDの採番用内部変数を保持し、これに基づき採番しても構わない。また、説明の関係上、ステップS600aでは、管理ID−Aの登録とセッションID−A1と分けているが、同時に行っても構わない。
【0029】
ここで、Webクライアント103上の表示画面がフレーム1、2によって複数の画面から構成される場合、フレーム1、2にアクセスするための複数のリクエストがWebクライアント103から行われ、セッションID−A1がWebサーバ102に受け渡される(ステップS201、S251)。なお、セッションID−A1は、Webブラウザ201の備える機能であるCookieの仕組みか、またはURLの一部、またはPOSTパラメータなどとして送信することができる。この時、不正クライアント501は、ネットワーク101の盗聴などにより、セッションID−A1を入手することができる。
【0030】
そして、Webサーバ102は、Webクライアント103からフレーム1にアクセスするためのリクエストを受信すると、セッションテーブル301を参照し、セッションID−A1が登録されていることを確認する(ステップS202)。そして、セッションID−A1の確認がとれると、Webサーバ102は、セッションID−A2を採番し(ステップS203)、セッションID−A1をセッションテーブル301から削除することなく、セッションID−A2をセッションテーブル301に登録する(ステップS204)。そして、Webサーバ102は、フレーム1に対応したHTTPレスポンスをWebクライアント103に返し、セッションID−A2をWebクライアント103に受け渡す(ステップS205)。
【0031】
また、Webサーバ102は、Webクライアント103からフレーム2にアクセスするためのリクエストを受信すると、セッションテーブル301を参照し、セッションID−A1が登録されていることを確認する(ステップS252)。ここで、セッションテーブル301上ではセッションID−A1は削除されることなく保持されているため、セッションID−A1の確認をとることができる。そして、セッションID−A1の確認が取れると、そのセッションID−A1が一定条件を満たしているかどうかを判断する。ここで、セッションID−A1に要求される一定条件としては、この例ではフレームアクセスが2回であることから、セッションID−A1の使用回数を2回以下に制限することができる。そして、セッションID−A1は、ステップS201のアクセスで1回だけ使用され、今回のステップS251のアクセスで2回目なので、セッションID−A1に要求される一定条件を満たしていると判断することができる。このため、Webサーバ102は、フレーム2に対応したHTTPレスポンスをWebクライアント103に返し、セッションID−A2をWebクライアント103に受け渡す(ステップS253)。
【0032】
次に、Webクライアント103からWebサーバ102にアクセスされ(ステップS301)、そのアクセスにセッションID−A2が含まれているものとすると、Webサーバ102は、セッションテーブル301を参照し、セッションID−A2が登録されていることを確認する(ステップS302)。そして、セッションID−A2の確認がとれると、Webサーバ102は、セッションID−A3を採番し(ステップS303)、セッションID−A2をセッションテーブル301から削除することなく、セッションID−A3をセッションテーブル301に登録する(ステップS304)。そして、Webサーバ102は、ステップS301のアクセスに対するHTTPレスポンスをWebクライアント103に返し、セッションID−A3をWebクライアント103に受け渡す(ステップS305)。
【0033】
また、Webサーバ102は、不正クライアント501によるセッションID−A1を使用した不正アクセスを受信すると(ステップS15)、セッションテーブル301を参照し、セッションID−A1が登録されていることを確認し、そのセッションID−A1が一定条件を満たしているかどうかを判断する(ステップS16)。ここで、セッションID−A1に要求される一定条件として、セッションID−A1の使用回数が2回以下に制限されているものとすると、セッションID−A1は、ステップS201のアクセスで1回目の使用がされ、ステップS251のアクセスで2回目の使用がされているので、今回のステップS15のアクセスでは3回目の使用と判断される。このため、Webサーバ102は、今回のステップS15のアクセスでは、セッションID−A1に要求される一定条件を満たしていないと判断し、セッションID−A1をセッションテーブル301から削除する(ステップS17)。そして、Webサーバ102は、ステップS15のアクセスに対応したHTTPレスポンスとしてエラーを不正クライアント501に返す(ステップS18)。
【0034】
これにより、Webクライアント103からのアクセスの度にセッションID−A1、ID−A2、ID−A3を順次採番し、互いに異なる複数のセッションID−A1、ID−A2、ID−A3が同時刻に有効になるのを許容しつつ、所定の条件の下でセッションID−A1、ID−A2、ID−A3を無効化することが可能となるとともに、セッションID−A1、ID−A2、ID−A3に管理ID−Aを付与することで、Webクライアント103からのアクセスの度にセッションID−A1、ID−A2、ID−A3を順次採番した場合においても、Webクライアント103からの一連のアクセスを管理することができる。
【0035】
このため、正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、不正クライアント501によるセッションハイジャックの危険性を低減することが可能となるとともに、リクエストとレスポンスのやり取りを複数回にわたって管理することができ、オンラインショッピングに代表されるWebアプリケーション203におけるユーザの識別処理や、ユーザによる入力データの記憶処理などを一括して管理することができる。
【0036】
図7は、本発明の一実施形態に係るセッション管理処理の動作を示すフローチャートである。なお、このセッション管理処理は、図5および図6のステップS600a〜600eの処理で実行することができる。
図7において、Webサーバ102は、Webクライアント103からのアクセスを受信すると、そのアクセスにセッションIDが付与されているかどうかを判断する(ステップS801)。
そして、Webクライアント103からのアクセスにセッションIDが付与されていない場合、Webサーバ102は、管理IDを採番し(ステップS802)、セッションテーブル301に登録する(ステップS803)。そして、Webサーバ102は、管理IDを採番すると、セッションIDを採番し(ステップS804)、管理IDに紐付けながらセッションIDをセッションテーブル301に登録する(ステップS805)。
【0037】
そして、Webサーバ102は、セッションIDをセッションテーブル301に登録すると、管理IDと有効なセッションIDをWebアプリケーション203に渡す(ステップS806)。
一方、ステップS801において、Webクライアント103からのアクセスにセッションIDが付与されている場合、そのセッションIDはセッションテーブル301に登録されているかどうかを判断する(ステップS821)。そして、そのセッションIDがセッションテーブル301に登録されていない場合、Webクライアント103にエラーを返す(ステップS822)。
【0038】
一方、ステップS821において、そのセッションIDがセッションテーブル301に登録されている場合、そのセッションIDは既に使用されているかどうかを判断する(ステップS841)。そして、そのセッションIDが過去に使用されていない場合、ステップS804以降の処理を行う。
一方、ステップS841において、そのセッションIDが過去に使用されている場合、そのセッションIDは有効な条件を満たすかどうかを判断する(ステップS842)。そして、そのセッションIDは有効な条件を満たさない場合、そのセッションIDをセッションテーブル301から削除してから(ステップS861)、ステップS822以降の処理を行う。
【0039】
一方、ステップS842において、そのセッションIDは有効な条件を満たす場合、最新のセッションIDを使用し(ステップS843)、ステップS806以降の処理を行う。ここで最新のセッションIDとは、対象としているセッションIDと同一の管理IDが付与されているセッションIDにおいて、時系列的に最後にセッションテーブルに採番・登録されたセッションIDを指す。
なお、セッションIDに有効な条件としては、図5の例では、フレームアクセスが2個であることから、同一のセッションIDの使用回数を2回と指定することができ、同一のセッションIDが既に2回使用されている場合には、そのセッションIDは無効であると判断できる。
【0040】
また、セッションIDに有効な条件として、使用されたセッションの有効時間を、盗聴から不正アクセスを試行するに至るまでに困難な時間内に設定することができ、例えば、数秒から数分という非常に短い有効時間に設定することができ、
また、セッションIDを受け渡す際に最も良く利用されるCookieの仕組みでは、最後に受け取ったセッションIDが使用される。このため、セッションIDに2世代以上古いものが使用されることは考えにくく、2世代以上古いものは不正なアクセスであると判断し、そのセッションIDを無効にするようにしてもよい。
【図面の簡単な説明】
【0041】
【図1】本発明の一実施形態に係るセッション管理装置が適用されるWebシステムの概略構成を示すブロック図である。
【図2】図1のWebサーバおよびWebクライアントの概略構成を示すブロック図である。
【図3】本発明の一実施形態に係るセッションテーブルを従来例と比較して示す図である。
【図4】本発明の一実施形態に係るリソースマッピングを従来例と比較して示す図である。
【図5】本発明の一実施形態に係るセッション管理処理の流れを示すシーケンス図である。
【図6】本発明の一実施形態に係るセッション管理処理の流れを示すシーケンス図である。
【図7】本発明の一実施形態に係るセッション管理処理の動作を示すフローチャートである。
【図8】従来のセッション管理処理の流れの一例を示すシーケンス図である。
【図9】従来のセッション管理処理の流れのその他の例を示すシーケンス図である。
【符号の説明】
【0042】
101 ネットワーク
102 Webサーバ
103a〜103c Webクライアント
201 Webブラウザ
202 Webサーバソフト
203 Webアプリケーション
204 セッション管理部
301 セッションテーブル
401 リソースマッピング
501 不正クライアント

【特許請求の範囲】
【請求項1】
WebクライアントとWebサーバとの間で受け渡されるセッションIDを前記Webクライアントからのアクセスの度に採番するセッションID採番手段と、
前記Webクライアントからの一連のアクセスを前記Webサーバ側で管理する管理IDを前記セッションIDに付与し、前記管理IDを付与された前記セッションIDの情報に基づき、前記Webクライアントから受け渡されるセッションIDの有効・無効を確認するセッションID管理手段とを備えることを特徴とするセッション管理装置。
【請求項2】
前記セッションID管理手段は、互いに異なる複数のセッションIDに同一管理IDの付与を許容することを特徴とする請求項1記載のセッション管理装置。
【請求項3】
前記セッションID管理手段は、セッションIDを使用したアクセス回数を利用し、既に使用されたセッションIDを使用回数に基づいて任意のタイミングで無効化することを特徴とする請求項1または2記載のセッション管理装置。
【請求項4】
前記セッションID管理手段は、セッションIDを使用したアクセスからの経過時間を利用し、既に使用されたセッションIDをその使用後の有効時間に基づいて任意のタイミングで無効化することを特徴とする請求項1または2記載のセッション管理装置。
【請求項5】
前記セッションID管理手段は、あるセッションIDの使用後に新たに発行されたセッションIDの個数を利用し、既に使用されたセッションIDを前記セッションIDの世代に基づいて任意のタイミングで無効化することを特徴とする請求項1または2記載のセッション管理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate