JP2009140163A - Session management device - Google Patents
Session management device Download PDFInfo
- Publication number
- JP2009140163A JP2009140163A JP2007314809A JP2007314809A JP2009140163A JP 2009140163 A JP2009140163 A JP 2009140163A JP 2007314809 A JP2007314809 A JP 2007314809A JP 2007314809 A JP2007314809 A JP 2007314809A JP 2009140163 A JP2009140163 A JP 2009140163A
- Authority
- JP
- Japan
- Prior art keywords
- session
- web
- management
- web server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明はセッション管理装置に関し、特に、Webアプリケーションなどで使用されるセッションIDを詐称した「なりすまし」を防止する方法に適用して好適なものである。 The present invention relates to a session management apparatus, and is particularly suitable for application to a method for preventing “spoofing” by misrepresenting a session ID used in a Web application or the like.
近年のインターネットの普及に伴って、電子申請やオンラインショッピングを始めとした様々な手続きや業務が電子化されている。この電子化にあたっては、パーソナルコンピュータに標準搭載されているWebブラウザをクライアントソフトとし、オンラインショッピングに代表されるWebアプリケーションを構築することが盛んに行われている。
このWebアプリケーションの構築に当たっては、HTTPというプロトコルが通常用いられる。このHTTPというプロトコルはステートレスなプロトコルであり、一回のリクエストとレスポンスにより処理が完結する仕組みが採用され、リクエストとレスポンスのやり取りを複数回にわたって管理するためのセッションという概念が備わっていない。オンラインショッピングに代表されるWebアプリケーションでは、ユーザを識別したり、ユーザが入力した内容を記憶したりする必要があるが、HTTPというプロトコルが用いられているため、セッションを管理することができない。
With the spread of the Internet in recent years, various procedures and operations such as electronic application and online shopping have been digitized. In this computerization, a Web application typified by online shopping has been actively built by using a Web browser standardly installed in a personal computer as client software.
In constructing this Web application, a protocol called HTTP is usually used. This HTTP protocol is a stateless protocol, adopts a mechanism in which processing is completed by a single request and response, and does not have a concept of a session for managing the exchange of requests and responses multiple times. In a Web application represented by online shopping, it is necessary to identify a user and memorize the contents input by the user, but the session cannot be managed because a protocol called HTTP is used.
この問題の解決策として、クライアントとサーバ間でのやりとりの際にセッションIDと呼ばれるセッションを識別するための識別子の受け渡しを行うことが広く行われている。
具体的には、ある段階でサーバがセッションIDを採番し、HTTPレスポンス中に含めて受け渡す。クライアントは、その後のリクエスト時に受け取ったセッションIDをサーバに送る。サーバは、受け取ったセッションIDを確認してセッションを特定する。
As a solution to this problem, an identifier for identifying a session called a session ID is widely exchanged between a client and a server.
Specifically, at a certain stage, the server assigns a session ID and passes it in the HTTP response. The client sends the session ID received at the subsequent request to the server. The server identifies the session by confirming the received session ID.
この方法では、セッションIDが第三者に知られると、俗に言う「なりすまし」による不正アクセスが実行される危険性がある。すなわち、セッションIDの受け渡しは、Cookieと呼ばれる仕組みやURLの一部分を利用する仕組み、Hiddenパラメータを利用する仕組みなどが一般に知られているが、どの手法においても、通信路の盗聴などにより、セッションIDが第三者に知られてしまう危険性がある。 In this method, if the session ID is known to a third party, there is a risk that an unauthorized access by “spoofing” is executed. That is, a session ID is generally known as a mechanism called Cookie, a mechanism that uses a part of a URL, a mechanism that uses a Hidden parameter, or the like. There is a risk that will be known to third parties.
このような第三者が略取したセッションIDを使用して不正なアクセスを行う行為はセッションハイジャックと呼ばれ、Webアプリケーションに対するセキュリティ上の脅威として問題視されており、セッションIDの有効期限を設定するという対抗策が考えられている。
また、特許文献1には、Webシステムにおけるセッション管理に関して、セッションハイジャックの危険性を低減するために、Webクライアントからのアクセス毎に当該Webクライアントとの間のセッションIDの更新登録を行う方法が開示されている。
The act of performing unauthorized access by using a session ID that is taken by a third party is called session hijacking and is regarded as a problem as a security threat to Web applications. Countermeasures are being considered.
図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はフレーム構造のみ取得する。
FIG. 8 is a sequence diagram showing an example of the flow of conventional session management processing.
In FIG. 8, a
ここで、ログイン後の表示画面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の正常な内容が表示される。
Here, when the
Then, when receiving a request for accessing
また、Webサーバ12は、Webクライアント13からフレーム2にアクセスするためのリクエストを受信すると、セッションデータベース15を参照することで、セッションID1を確認する(ステップS612)。ここで、セッションデータベース15上ではセッションID1が既に削除され、セッションID1の確認がとれないため、フレーム2に対応したHTTPレスポンスとしてエラーがWebクライアント13に返され(ステップS613)、表示画面13a上にフレーム2のエラーの内容が表示される。
In addition, when receiving a request for accessing the
図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はメニュー画面を取得する。
FIG. 9 is a sequence diagram showing another example of the flow of conventional session management processing.
In FIG. 9, when a user ID or password is input on the login screen and the login button is pressed, authentication information is transmitted from the
ここで、メニュー画面には複数の画面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)。
Here, the menu screen includes links to a plurality of
Then, when receiving a request for accessing the
そして、Webサーバ12は、画面1に対応したHTTPレスポンスをWebクライアント13に返し、セッションID2をWebクライアント13に受け渡す(ステップS711)。ここで、Webサーバ12による処理中に画面2へのリンクが押下された場合、ブラウザは画面1への接続を既に廃棄しているため、画面1への接続が無効化される。
また、画面2へのリンクが押下されると、画面2にアクセスするためのリクエストが行われ、セッションID1がWebサーバ12に受け渡される(ステップS710)。
Then, the
When the link to the
そして、Webサーバ12は、Webクライアント13から画面2にアクセスするためのリクエストを受信すると、セッションデータベース15を参照することで、セッションID1を確認する(ステップS712)。ここで、セッションデータベース15上ではセッションID1が既に削除され、セッションID1の確認がとれないため、画面2に対応したHTTPレスポンスとしてエラーがWebクライアント13に返され(ステップS713)、表示画面13a上にエラーの内容が表示される。
しかしながら、セッションIDの有効期限を設定する方法では、有効期限が短かすぎれば、ユーザの利便性が低下し、有効期限が長すぎると、セッションハイジャックへの防止効果が低下するという問題があった。加えて、セッションIDの有効期限を設定する方法では、最後のアクセスから有効期限内に操作されなかった場合にセッションIDが無効化され、ユーザがWebアプリケーションを利用し続けている間はセッションIDは有効であるため、セッションハイジャックへの防止効果としてはそれほど高くない。 However, the method of setting the expiration date of the session ID has a problem that if the expiration date is too short, the convenience of the user is lowered, and if the expiration date is too long, the effect of preventing session hijacking is reduced. It was. In addition, in the method of setting the expiration date of the session ID, the session ID is invalidated when the operation is not performed within the expiration date from the last access, and the session ID is kept while the user continues to use the web application. Since it is effective, it is not so high as an effect to prevent session hijacking.
また、特許文献1に開示された手法では、図8および図9に示したように、同じセッションIDで複数のリクエストが送られる場合やサーバが処理中にクライアント側で別なページへ遷移するボタンが押された場合などでは、正規のユーザであるにも関わらずエラーとなるという問題があった。
そこで、本発明の目的は、正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、セッションハイジャックの危険性を低減することが可能なセッション管理装置を提供することである。
Further, in the method disclosed in
SUMMARY OF THE INVENTION An object of the present invention is to provide a session management apparatus that can reduce the risk of session hijacking while preventing the normal user from hindering normal access.
上述した課題を解決するために、請求項1記載のセッション管理装置によれば、WebクライアントとWebサーバとの間で受け渡されるセッションIDを前記Webクライアントからのアクセスの度に採番するセッションID採番手段と、前記Webクライアントからの一連のアクセスを前記Webサーバ側で管理する管理IDを前記セッションIDに付与し、前記管理IDを付与された前記セッションIDの情報に基づき、前記Webクライアントから受け渡されるセッションIDの有効・無効を確認するセッションID管理手段とを備えることを特徴とする。
In order to solve the above-described problem, according to the session management device according to
また、請求項2記載のセッション管理装置によれば、前記セッションID管理手段は、互いに異なる複数のセッションIDに同一管理IDの付与を許容することを特徴とする。
また、請求項3記載のセッション管理装置によれば、前記セッションID管理手段は、セッションIDを使用したアクセス回数を利用し、既に使用されたセッションIDを使用回数に基づいて任意のタイミングで無効化することを特徴とする。
According to the session management apparatus of the second aspect, the session ID management unit allows the same management ID to be given to a plurality of different session IDs.
According to the session management device of
また、請求項4記載のセッション管理装置によれば、前記セッションID管理手段は、セッションIDを使用したアクセスからの経過時間を利用し、既に使用されたセッションIDをその使用後の有効時間に基づいて任意のタイミングで無効化することを特徴とする。
また、請求項5記載のセッション管理装置によれば、前記セッションID管理手段は、あるセッションIDの使用後に新たに発行されたセッションIDの個数を利用し、既に使用されたセッションIDを前記セッションIDの世代に基づいて任意のタイミングで無効化することを特徴とする。
According to the session management device of claim 4, the session ID management means uses an elapsed time from access using the session ID, and based on the already used session ID based on the valid time after use. And invalidating at an arbitrary timing.
Further, according to the session management apparatus of claim 5, the session ID management means uses the number of session IDs newly issued after using a certain session ID, and uses the session ID already used as the session ID. It is characterized by invalidating at an arbitrary timing based on the generation.
以上説明したように、本発明によれば、Webクライアントからのアクセスの度にセッションIDを採番し、互いに異なる複数のセッションIDが同時刻に有効になるのを許容しつつ、所定の条件下でセッションIDを無効化することが可能となるとともに、セッションIDに管理IDを付与することで、Webクライアントからのアクセスの度にセッションIDを採番した場合においても、Webクライアントからの一連のアクセスを管理することができる。
このため、正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、セッションハイジャックの危険性を低減することが可能となるとともに、リクエストとレスポンスのやり取りを複数回にわたって管理することができ、オンラインショッピングに代表されるWebアプリケーションにおけるユーザの識別処理や、ユーザによる入力データの記憶処理などを一括して管理することができる。
As described above, according to the present invention, a session ID is assigned for each access from a Web client, and a plurality of different session IDs are allowed to be valid at the same time, under a predetermined condition. It is possible to invalidate the session ID with the ID, and by assigning a management ID to the session ID, a series of accesses from the Web client even when the session ID is assigned each time the Web client accesses. Can be managed.
For this reason, it is possible to reduce the risk of session hijacking while preventing disruption of normal access by legitimate users, and to manage the exchange of requests and responses multiple times. In addition, it is possible to collectively manage user identification processing, input data storage processing, and the like in a Web application typified by online shopping.
以下、本発明の実施形態に係るセッション管理装置について図面を参照しながら説明する。
図1は、本発明の一実施形態に係るセッション管理装置が適用されるWebシステムの概略構成を示すブロック図である。
図1において、Webシステムには、Webサーバ102およびWebクライアント103a〜103cが設けられ、Webサーバ102とWebクライアント103a〜103cとはネットワーク101を介して接続されている。
Hereinafter, a session management apparatus according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a schematic configuration of a Web system to which a session management apparatus according to an embodiment of the present invention is applied.
In FIG. 1, the Web system includes a
なお、ネットワーク101としては、LANまたはWANなどの他、インターネットなどのネットワークを用いることができる。また、Webサーバ102としては、例えば、パーソナルコンピュータを用いることができ、Webクライアント103a〜103cとしては、パーソナルコンピュータなどの他、携帯電話などの携帯情報端末を用いることができる。また、Webクライアント103a〜103cには、Webブラウザをクライアントソフトとして搭載し、Webサーバ102には、オンラインショッピングなどのWebアプリケーションを搭載することができる。また、Webサーバ102は、そこに搭載されるWebアプリケーションの数に応じて複数台で構成するようにしてもよい。
The
図2は、図1のWebサーバおよびWebクライアントの概略構成を示すブロック図である。
図2において、Webクライアント103a〜103cにはWebブラウザ201がそれぞれ搭載され、Webサーバ102には、Webサーバソフト202およびWebアプリケーション203が搭載されている。また、Webサーバ102には、セッションの管理を行うセッション管理部204が設けられている。なお、セッション管理部204は、Webアプリケーション203の一部として動作するようにしてもよい。
FIG. 2 is a block diagram showing a schematic configuration of the Web server and Web client of FIG.
In FIG. 2, a
Webブラウザ201は、HTTPやHTTPを利用するプロトコル(SSLやTLSなど。以下、総称してHTTPと呼ぶ)を使用することで、ネットワーク101を介してWebサーバソフト202との間で処理要求の送信や処理結果の受信を行うことができる。
Webサーバソフト202は、Webブラウザ201より送られた処理要求をWebアプリケーション203に受け渡したり、Webアプリケーション203による処理結果(HTML、XML、TEXTのようなテキストデータや画像・動画に代表されるバイナリデータ)をWebブラウザ201に送信したりすることができる。
The
The
Webアプリケーション203は、Webサーバソフト202から受け取った処理要求を元にセッション管理部204と連携して一連のアクセスを識別し、所定の処理を行ってWebサーバソフト202に受け渡すことができる。
セッション管理部204は、Webクライアント103a〜103cとWebサーバ102との間で受け渡されるセッションIDをWebクライアント103a〜103cからのアクセスの度に採番し、Webクライアント103a〜103からの一連のアクセスをWebサーバ102側で管理する管理IDをセッションIDに付与することができる。
The
The
そして、セッション管理部204は、リクエスト中にセッションIDが含まれていない場合に管理ID並びにセッションIDを採番し発行する。一方、リクエスト中にセッションIDが含まれている場合はアクセスの度にセッションIDを採番し発行する。これにより、Webクライアント103a〜103cは、フレームにより構成された画面やWebサーバ102が処理中に別なページへの遷移を行った場合の例外を除いて、各アクセスごとに異なるセッションIDを使用することができる。
When the session ID is not included in the request, the
また、セッション管理部204は、従来のセッション管理方式が行っていたようにセッションIDをもって一連のアクセスを識別するのではなく、セッションIDから管理IDを特定し、管理IDを持って一連のアクセスを識別することにより、間接的に一連のアクセスに紐付くセッションIDを同時刻において複数個有効にすることが可能となる。
これにより、従来方式のように、新しいセッションIDを発行した際に直ちに使用済みのセッションIDが無効になるのではなく、任意のタイミングでセッションIDを無効にすることが可能となる。
In addition, the
As a result, the used session ID is not invalidated immediately when a new session ID is issued as in the conventional method, but the session ID can be invalidated at an arbitrary timing.
また、使用済みのセッションIDを無効化するタイミングを、当該セッションIDを使用したアクセス回数や当該セッションIDを使用したアクセスからの経過時間、当該セッションID以降に発行されたセッションID数などの値を利用して設定することが可能となる。
その結果、使用されたセッションIDは無効化されるが、一定期間の間は既に使用されたセッションIDであっても有効であるという制御が可能となり、セッションハイジャックによるなりすましの脅威を低減しつつ、正規のユーザによる正常なアクセス時には処理を継続することが可能となる。
ここで、セッション管理部204には、セッションIDと管理IDとを管理するセッションテーブル301が設けられ、セッション管理部204は、一連のアクセスによってその都度採番されたセッションIDと管理IDとを紐付けすることができる。
In addition, the timing for invalidating the used session ID is set to a value such as the number of accesses using the session ID, the elapsed time from the access using the session ID, and the number of session IDs issued after the session ID. It can be set by using.
As a result, the used session ID is invalidated, but it is possible to control that even a session ID already used for a certain period is valid, and while reducing the threat of impersonation due to session hijacking The processing can be continued at the time of normal access by a regular user.
Here, the
図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ごとに紐付けられる。
FIG. 3 is a diagram showing a session table according to an embodiment of the present invention in comparison with a conventional example.
In FIG. 3B, in the conventional session table 302, session IDs are managed individually. On the other hand, in the session table 301 of the present embodiment, as shown in FIG. 3A, a plurality of session IDs that are assigned each time by a series of accesses are collectively managed with the same management ID. The Here, for convenience, a single management ID is schematically shown as a plurality of session IDs, but it is only necessary to maintain a correlation, and the configuration of the table is not limited.
FIG. 4 is a diagram showing resource mapping according to an embodiment of the present invention in comparison with a conventional example.
In FIG. 4B, in the
図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と分けているが、同時に行っても構わない。
5 and 6 are sequence diagrams showing the flow of session management processing according to an embodiment of the present invention.
In FIG. 5, it is assumed that the
ここで、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を入手することができる。
Here, when the display screen on the
そして、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)。
Then, when receiving a request for accessing
また、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)。
Further, when receiving a request for accessing
次に、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)。
Next, assuming that the
また、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)。
Further, when the
これにより、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からの一連のアクセスを管理することができる。
As a result, the session ID-A1, ID-A2, and ID-A3 are sequentially assigned every time the
このため、正規のユーザによる正常なアクセスの妨害となるのを防止しつつ、不正クライアント501によるセッションハイジャックの危険性を低減することが可能となるとともに、リクエストとレスポンスのやり取りを複数回にわたって管理することができ、オンラインショッピングに代表されるWebアプリケーション203におけるユーザの識別処理や、ユーザによる入力データの記憶処理などを一括して管理することができる。
As a result, it is possible to reduce the risk of session hijacking by the
図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)。
FIG. 7 is a flowchart showing the operation of session management processing according to an embodiment of the present invention. This session management process can be executed by the processes in steps S600a to 600e of FIGS.
In FIG. 7, when receiving an access from the
If the session ID is not given to access from the
そして、Webサーバ102は、セッションIDをセッションテーブル301に登録すると、管理IDと有効なセッションIDをWebアプリケーション203に渡す(ステップS806)。
一方、ステップS801において、Webクライアント103からのアクセスにセッションIDが付与されている場合、そのセッションIDはセッションテーブル301に登録されているかどうかを判断する(ステップS821)。そして、そのセッションIDがセッションテーブル301に登録されていない場合、Webクライアント103にエラーを返す(ステップS822)。
After registering the session ID in the session table 301, the
On the other hand, if a session ID is given to access from the
一方、ステップS821において、そのセッションIDがセッションテーブル301に登録されている場合、そのセッションIDは既に使用されているかどうかを判断する(ステップS841)。そして、そのセッションIDが過去に使用されていない場合、ステップS804以降の処理を行う。
一方、ステップS841において、そのセッションIDが過去に使用されている場合、そのセッションIDは有効な条件を満たすかどうかを判断する(ステップS842)。そして、そのセッションIDは有効な条件を満たさない場合、そのセッションIDをセッションテーブル301から削除してから(ステップS861)、ステップS822以降の処理を行う。
On the other hand, if the session ID is registered in the session table 301 in step S821, it is determined whether the session ID has already been used (step S841). If the session ID has not been used in the past, the processing from step S804 is performed.
On the other hand, if the session ID has been used in the past in step S841, it is determined whether the session ID satisfies a valid condition (step S842). If the session ID does not satisfy the valid condition, the session ID is deleted from the session table 301 (step S861), and then the processing after step S822 is performed.
一方、ステップS842において、そのセッションIDは有効な条件を満たす場合、最新のセッションIDを使用し(ステップS843)、ステップS806以降の処理を行う。ここで最新のセッションIDとは、対象としているセッションIDと同一の管理IDが付与されているセッションIDにおいて、時系列的に最後にセッションテーブルに採番・登録されたセッションIDを指す。
なお、セッションIDに有効な条件としては、図5の例では、フレームアクセスが2個であることから、同一のセッションIDの使用回数を2回と指定することができ、同一のセッションIDが既に2回使用されている場合には、そのセッションIDは無効であると判断できる。
On the other hand, if the session ID satisfies a valid condition in step S842, the latest session ID is used (step S843), and the processing from step S806 is performed. Here, the latest session ID refers to the session ID last assigned and registered in the session table in time series in the session ID assigned with the same management ID as the target session ID.
As an effective condition for the session ID, in the example of FIG. 5, since there are two frame accesses, the same session ID can be used twice, and the same session ID is already set. If it is used twice, it can be determined that the session ID is invalid.
また、セッションIDに有効な条件として、使用されたセッションの有効時間を、盗聴から不正アクセスを試行するに至るまでに困難な時間内に設定することができ、例えば、数秒から数分という非常に短い有効時間に設定することができ、
また、セッションIDを受け渡す際に最も良く利用されるCookieの仕組みでは、最後に受け取ったセッションIDが使用される。このため、セッションIDに2世代以上古いものが使用されることは考えにくく、2世代以上古いものは不正なアクセスであると判断し、そのセッションIDを無効にするようにしてもよい。
In addition, as an effective condition for the session ID, the valid time of the used session can be set within a difficult time from eavesdropping to an unauthorized access attempt. Can be set to a short effective time,
In the Cookie mechanism that is most often used when delivering a session ID, the last received session ID is used. For this reason, it is unlikely that a session ID older than two generations will be used, and a session ID older than two generations may be determined to be unauthorized access, and the session ID may be invalidated.
101 ネットワーク
102 Webサーバ
103a〜103c Webクライアント
201 Webブラウザ
202 Webサーバソフト
203 Webアプリケーション
204 セッション管理部
301 セッションテーブル
401 リソースマッピング
501 不正クライアント
DESCRIPTION OF
Claims (5)
前記Webクライアントからの一連のアクセスを前記Webサーバ側で管理する管理IDを前記セッションIDに付与し、前記管理IDを付与された前記セッションIDの情報に基づき、前記Webクライアントから受け渡されるセッションIDの有効・無効を確認するセッションID管理手段とを備えることを特徴とするセッション管理装置。 Session ID numbering means for numbering a session ID passed between the web client and the web server each time the web client accesses the session ID;
A session ID passed from the Web client based on the session ID information to which the management ID for managing a series of accesses from the Web client on the Web server side is assigned to the session ID. A session ID managing means for confirming validity / invalidity of the session management apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007314809A JP2009140163A (en) | 2007-12-05 | 2007-12-05 | Session management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007314809A JP2009140163A (en) | 2007-12-05 | 2007-12-05 | Session management device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009140163A true JP2009140163A (en) | 2009-06-25 |
Family
ID=40870720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007314809A Pending JP2009140163A (en) | 2007-12-05 | 2007-12-05 | Session management device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009140163A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076499A (en) * | 2009-09-30 | 2011-04-14 | Yahoo Japan Corp | Session management device, server, and system |
JP2012068834A (en) * | 2010-09-22 | 2012-04-05 | Canon Inc | Information processing apparatus, control method of information processing apparatus, and program |
JP2015052883A (en) * | 2013-09-06 | 2015-03-19 | Necエンジニアリング株式会社 | Session management system and method |
JP2017049881A (en) * | 2015-09-03 | 2017-03-09 | ビッグローブ株式会社 | Server device, control method of server device, and program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08249253A (en) * | 1995-03-13 | 1996-09-27 | Fujitsu Ltd | Communication system, access responder and access requesting device |
JP2004213067A (en) * | 2002-12-26 | 2004-07-29 | Ricoh Co Ltd | Service providing device, image forming device, service providing method and unauthorized use prevention method |
JP2006031064A (en) * | 2004-07-12 | 2006-02-02 | Hitachi Ltd | Session management system and management method |
JP2006244428A (en) * | 2005-03-07 | 2006-09-14 | Canon Inc | Session management method and session management system |
JP2007166590A (en) * | 2006-10-02 | 2007-06-28 | Hitachi Communication Technologies Ltd | Packet transfer device |
-
2007
- 2007-12-05 JP JP2007314809A patent/JP2009140163A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08249253A (en) * | 1995-03-13 | 1996-09-27 | Fujitsu Ltd | Communication system, access responder and access requesting device |
JP2004213067A (en) * | 2002-12-26 | 2004-07-29 | Ricoh Co Ltd | Service providing device, image forming device, service providing method and unauthorized use prevention method |
JP2006031064A (en) * | 2004-07-12 | 2006-02-02 | Hitachi Ltd | Session management system and management method |
JP2006244428A (en) * | 2005-03-07 | 2006-09-14 | Canon Inc | Session management method and session management system |
JP2007166590A (en) * | 2006-10-02 | 2007-06-28 | Hitachi Communication Technologies Ltd | Packet transfer device |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076499A (en) * | 2009-09-30 | 2011-04-14 | Yahoo Japan Corp | Session management device, server, and system |
JP2012068834A (en) * | 2010-09-22 | 2012-04-05 | Canon Inc | Information processing apparatus, control method of information processing apparatus, and program |
CN102413262A (en) * | 2010-09-22 | 2012-04-11 | 佳能株式会社 | Information processing apparatus and control method of the same |
CN102413262B (en) * | 2010-09-22 | 2015-07-29 | 佳能株式会社 | The control method of information processor and information processor |
US9398099B2 (en) | 2010-09-22 | 2016-07-19 | Canon Kabushiki Kaisha | Information processing apparatus for executing processing in response to request from external device, control method of information processing apparatus, and storage medium |
JP2015052883A (en) * | 2013-09-06 | 2015-03-19 | Necエンジニアリング株式会社 | Session management system and method |
JP2017049881A (en) * | 2015-09-03 | 2017-03-09 | ビッグローブ株式会社 | Server device, control method of server device, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11297051B2 (en) | Authenticated session management across multiple electronic devices using a virtual session manager | |
US10541992B2 (en) | Two-token based authenticated session management | |
KR102117584B1 (en) | Local device authentication | |
JP6556706B2 (en) | Systems and methods for encryption key management, collaboration, and distribution | |
CN105659557B (en) | The method and system of network-based Interface integration for single-sign-on | |
US7836298B2 (en) | Secure identity management | |
US20140230020A1 (en) | Authorization server and client apparatus, server cooperative system, and token management method | |
JP2020036234A (en) | Information processing apparatus, authorization system, and verification method | |
TW201635181A (en) | On demand passwords | |
JP2005516533A (en) | Single sign-on on the Internet using public key cryptography | |
JP2007310512A (en) | Communication system, service providing server, and user authentication server | |
JP2013137588A (en) | Integrated authentication system and id provider device | |
CN107251528A (en) | It is used as the network identity of service | |
CN107211030B (en) | Use the method for intelligent image anti-phishing, system, mobile device and medium | |
JP2011215753A (en) | Authentication system and authentication method | |
JP2017199145A (en) | Server unit, system, information processing method and program | |
JP2009140163A (en) | Session management device | |
JP2009099131A (en) | Access authorization system, access control server, and business process execution system | |
JP6719875B2 (en) | Authentication server, authentication method and program | |
JP4989935B2 (en) | Session management method, server used therefor, session management program, and recording medium recording the program | |
JP5690030B1 (en) | Information processing apparatus, information processing method, program, and recording medium | |
JP2003244123A (en) | Common key management system, server, and method and program | |
JP2016085638A (en) | Server device, terminal device, system, information processing method, and program | |
JP2022047948A (en) | Authorization server and control method of authorization server | |
KR20230020519A (en) | Security Token Expiration Using Signing Key Rotation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20100812 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20110422 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120823 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |