JP2016099924A - Information processing device, information processing system, information processing method, and computer program - Google Patents

Information processing device, information processing system, information processing method, and computer program Download PDF

Info

Publication number
JP2016099924A
JP2016099924A JP2014238662A JP2014238662A JP2016099924A JP 2016099924 A JP2016099924 A JP 2016099924A JP 2014238662 A JP2014238662 A JP 2014238662A JP 2014238662 A JP2014238662 A JP 2014238662A JP 2016099924 A JP2016099924 A JP 2016099924A
Authority
JP
Japan
Prior art keywords
request
server
information processing
communication
token
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.)
Granted
Application number
JP2014238662A
Other languages
Japanese (ja)
Other versions
JP6394326B2 (en
Inventor
昌志 平崎
Masashi Hirasaki
昌志 平崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014238662A priority Critical patent/JP6394326B2/en
Publication of JP2016099924A publication Critical patent/JP2016099924A/en
Application granted granted Critical
Publication of JP6394326B2 publication Critical patent/JP6394326B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device or the like capable of issuing an arbitrary request by using information representing the validity of a request transmitted to a server, to be provided from the server.SOLUTION: An information processing device (801) includes first communication processing means (802) for receiving communication data including a first token representing the validity of a request transmitted to a server from the server (804) connected communicably through a communication line, and second communication processing means (803) which can generate the request including the first token held by the first communication processing means and transmit the generated request to the server, the second communication processing means being different from the first communication processing means.SELECTED DRAWING: Figure 8

Description

本発明は、セキュリティ対策が施されたサーバ装置に対して、任意のリクエストを送信可能とする情報処理装置等に関する。   The present invention relates to an information processing apparatus and the like that can transmit an arbitrary request to a server apparatus to which security measures are taken.

近年、通信ネットワーク技術の普及に伴い、様々なサービスがインターネット等の通信ネットワークを介して提供されおり、WWW(World Wide Web)を用いて各種サービス(Webサービス)を提供するWebサイトが増大している。   In recent years, with the spread of communication network technology, various services have been provided via communication networks such as the Internet, and the number of websites that provide various services (Web services) using WWW (World Wide Web) has increased. Yes.

このようなWebサイトの増加に伴い、係るWebサイトあるいは、Webサイトが提供するサービスのユーザを標的とした攻撃も増加傾向にある。このような攻撃の一つとして、リクエスト強要(Cross−site Request Forgery、以下CSRFと称する)と呼ばれる攻撃手法がある。   As such websites increase, attacks targeting such users of the websites or services provided by the websites are also increasing. As one of such attacks, there is an attack method called request compulsion (Cross-site Request Forgery, hereinafter referred to as CSRF).

CSRF攻撃は、Webサイトに仕掛けられた罠(攻撃用)のリンク等をユーザにアクセスさせることにより、当該ユーザが接続している別のWebサイトに対して、意図しない通信データであるリクエスト(例えば、HTTP(Hyper Text Transfer Protcol)リクエスト)の発行や、Webアプリケーションに対する操作の実行等を強要する攻撃手法である。   A CSRF attack is a request (for example, unintended communication data) to another Web site to which the user is connected by allowing a user to access a link (for attack) or the like set on the Web site. , HTTP (Hyper Text Transfer Protocol) request), an attack technique forcing execution of operations on the Web application, and the like.

CSRF攻撃の具体例として、ユーザが利用するクライアント(Webブラウザ等)とWebサイトを構成するサーバ(以下単に「サーバ」と称する場合がある)との間のセッション情報を用いて、当該サーバに対して不正なHTTPリクエスト送信を行う攻撃がある。係るセッション情報は、例えば、クライアントとWebサイトとの間の通信セッションにおいて認証処理(以下「Web認証」と称する)が実行済みであることを識別可能なデータであり、Cookieデータ等により、サーバとクライアントとの間で共有される。   As a specific example of a CSRF attack, using session information between a client (such as a web browser) used by a user and a server (hereinafter sometimes simply referred to as “server”) that constitutes a website, There is an attack that performs unauthorized HTTP request transmission. Such session information is, for example, data that can identify that an authentication process (hereinafter referred to as “Web authentication”) has been executed in a communication session between a client and a Web site. Shared with clients.

このような攻撃を抑制し、ユーザが意図しない不正なリクエストを受け付けないように、WebサイトにおいてCSRF攻撃に対する対策が実施される場合がある。この場合、Webサイトを構成するサーバは、クライアントに対して、サーバが受信したリクエストの正当性を検証(認証)する際に用いられる情報である認証用トークン(以下「CSRFトークン」と称する)を含むコンテンツを提供(通知)する。換言すると、係る認証用トークンは、クライアントからサーバに送信されたリクエストの正当性を表す情報であり、係る認証トークンを検証(認証)することにより、サーバは、リクエストの正当性を確認可能である。これにより、サーバと、クライアントとの間の通信においては、セッション情報とは別に、係る認証用トークン(CSRFトークン)が送受信される。   In some cases, countermeasures against CSRF attacks are implemented on a website so as to suppress such attacks and not accept unauthorized requests not intended by the user. In this case, the server that configures the Web site uses an authentication token (hereinafter referred to as “CSRF token”) that is information used when verifying (authenticating) the validity of the request received by the server to the client. Provide (notify) content that contains it. In other words, the authentication token is information indicating the validity of the request transmitted from the client to the server, and the server can confirm the validity of the request by verifying (authentication) the authentication token. . Thereby, in communication between the server and the client, the authentication token (CSRF token) is transmitted / received separately from the session information.

より具体的には、例えば、サーバが、CSRFトークンをhiddenフィールドとして含むコンテンツ(例えばHTMLにより記述されたドキュメント等)をクライアントに提供する。そして、サーバは、クライアントから受け付けるリクエストに正しいCSRFトークンが含まれているか否かに基づいて、係るリクエストの正当性を認証する。CSRFトークンが不正である場合、サーバは、係る不正なCSRFトークンを含むリクエストを排除する。このようなCSRF対策が行われることで、正しいCSRFトークンが含まれない任意のリクエストが、サーバ側で排除される。   More specifically, for example, the server provides the client with content including a CSRF token as a hidden field (for example, a document described in HTML or the like). Then, the server authenticates the validity of the request based on whether or not the correct CSRF token is included in the request received from the client. If the CSRF token is invalid, the server excludes requests that contain such an illegal CSRF token. By performing such CSRF countermeasures, any request that does not include the correct CSRF token is eliminated on the server side.

このようなCSRF対策に関連して、例えば、以下のような特許文献が開示されている。   In relation to such CSRF countermeasures, for example, the following patent documents are disclosed.

特許文献1(特開2013−134655号公報)は、ウェブ・アプリケーションにおいて、CSRF攻撃に対する脆弱性対策を施す技術を開示する。特許文献1に開示された技術は、CSRF対策のためにコンテンツに設定される認証用トークンを、サーバとクライアントとの間で共有されるセッションID(Identifier:識別情報)と、サーバ側で保持する管理値から算出する。これにより、特許文献1に開示された技術は、サーバ側で認証用のID自体をメモリに保持することなく、クライアントから送信されたリクエストに付与された認証用トークンの正当性を確認可能である。   Patent Document 1 (Japanese Patent Laid-Open No. 2013-134655) discloses a technique for taking a countermeasure against vulnerability to CSRF attack in a web application. The technology disclosed in Patent Document 1 holds an authentication token set in content for CSRF countermeasures on the server side and a session ID (Identifier) that is shared between the server and the client. Calculate from the control value. Thereby, the technique disclosed in Patent Document 1 can confirm the validity of the authentication token given to the request transmitted from the client without holding the authentication ID itself in the memory on the server side. .

特許文献2(特開2013−003820号公報)は、上記特許文献1と同様、CSRF対策のためにコンテンツに埋め込まれるトークンを、サーバとクライアントとの間で共有されるCookieと、サーバ側で保持する隠しキーとを用いて算出する技術を開示する。   Patent Document 2 (Japanese Patent Laid-Open No. 2013-003820) holds a token embedded in content for CSRF countermeasures, a cookie shared between the server and the client, and the server side, as in Patent Document 1 above. A technique for calculating using a hidden key is disclosed.

特許文献3(特開2010−165079号公報)は、サーバと通信網を介して接続されたユーザ端末とを含む通信ネットワークにおいて、ユーザ端末が特定のサーバにログインしている場合に、当該ユーザ端末から他のサーバに対するリクエストを遮断する技術を開示する。特許文献3に開示された技術は、ユーザ端末が特定のサーバにログインしている場合、他のサーバに対するリクエストの送信を一律に制限することから、不正なリクエストの送信を一律に抑制可能である。   Patent Document 3 (Japanese Patent Application Laid-Open No. 2010-165079) discloses a user terminal in which a user terminal is logged in to a specific server in a communication network including a server and a user terminal connected via a communication network. A technique for blocking a request to another server from the server is disclosed. Since the technique disclosed in Patent Document 3 uniformly restricts the transmission of requests to other servers when the user terminal is logged in to a specific server, the transmission of unauthorized requests can be uniformly suppressed. .

特開2013−134655号公報JP 2013-134655 A 特開2013−003820号公報JP2013-003820A 特開2010−165079号公報JP 2010-165079 A

上記説明したように、Webサーバ又はWebアプリケーションにおいて、CSRF対策を実施することはセキュリティの観点から重要である。しかしながら、係る対策を実施した場合、ユーザが意図した正当なリクエストであっても、正しいCSRFトークンが含まれない場合には、係る正当なリクエストはサーバ側でガード(排除)されてしまう。   As described above, implementing CSRF countermeasures in a Web server or Web application is important from the viewpoint of security. However, when such a countermeasure is implemented, even if it is a legitimate request intended by the user, if the correct CSRF token is not included, the legitimate request is guarded (excluded) on the server side.

ユーザがサーバ(Webサイト)に対して任意のリクエストを発行(送信)する場合、当該リクエストに正しいCSRFトークンを含められるとは限らない。多くの場合、CSRFトークンはサーバ側で生成され、攻撃者に推測されないような値(例えば、ランダムな値)が設定される。これより、ユーザが意図的に、CSRFトークンが含まれるコンテンツを介さずに任意のリクエストをサーバに送信しようとしても、当該CSRFトークンの取得が困難であり、結果として正当なリクエストを送信できない場合がある。この場合、ユーザの利便性が低下するという問題がある。また、CSRFトークンが含まれるコンテンツを取得したWebブラウザ等において任意のリクエストを実行可能なアプリケーションを提供することは、他のセキュリティ問題(例えば、XSS(Cross Site Scripting)等)に対する対策の観点から、必ずしも望ましいとはいえない。   When a user issues (transmits) an arbitrary request to a server (Web site), the correct CSRF token is not always included in the request. In many cases, the CSRF token is generated on the server side, and a value (for example, a random value) that cannot be guessed by an attacker is set. As a result, even if the user intentionally sends an arbitrary request to the server without going through the content including the CSRF token, it is difficult to obtain the CSRF token, and as a result, a valid request may not be sent. is there. In this case, there is a problem that user convenience is reduced. In addition, providing an application that can execute an arbitrary request in a Web browser or the like that has acquired content including a CSRF token is from the viewpoint of countermeasures against other security problems (for example, XSS (Cross Site Scripting)). Not necessarily desirable.

これに対して、上記特許文献1及び特許文献2は、いずれも周知のCSRF対策におけるCSRFトークンの算出及び検証方法に関する技術を開示するのみであり、上記説明したような問題を解決可能な技術ではない。また、上記特許文献3に開示された技術は、送信制限を実施する中継装置によって、クライアントからサーバに送信されるリクエストを遮断する技術であり、上記問題を解決可能な技術ではない。   On the other hand, Patent Document 1 and Patent Document 2 only disclose a technique related to a method for calculating and verifying CSRF tokens in known CSRF countermeasures, and are techniques that can solve the problems described above. Absent. Further, the technique disclosed in Patent Document 3 is a technique for blocking a request transmitted from a client to a server by a relay apparatus that performs transmission restriction, and is not a technique that can solve the above-described problem.

本発明は、上記のような事情を鑑みてなされたものである。即ち、本発明は、サーバから提供される、当該サーバに送信されたリクエストの正当性を表す情報を用いることにより、当該サーバに対して任意のリクエストを発行可能な情報処理装置等を提供することを主たる目的とする。   The present invention has been made in view of the above circumstances. That is, the present invention provides an information processing apparatus and the like that can issue an arbitrary request to the server by using information provided from the server and indicating the validity of the request transmitted to the server. Is the main purpose.

上記の目的を達成すべく、本発明の一態様に係る情報処理装置は、以下の構成を備える。即ち、本発明の一態様に係る情報処理装置は、通信回線を介して通信可能に接続されたサーバから、当該サーバに送信されたリクエストの正当性を表す第1のトークンを含む通信データを受信する第1の通信処理手段と、上記第1の通信処理手段が保持する上記第1のトークンを含む上記リクエストを生成し、当該生成した上記リクエストを上記サーバに対して送信可能な、上記第1の通信処理手段とは異なる第2の通信処理手段と、を備える。   In order to achieve the above object, an information processing apparatus according to an aspect of the present invention includes the following arrangement. That is, the information processing apparatus according to an aspect of the present invention receives communication data including a first token indicating the validity of a request transmitted to the server from a server that is communicably connected via a communication line. Generating the request including the first communication processing means and the first token held by the first communication processing means, and transmitting the generated request to the server. Second communication processing means different from the communication processing means.

また、本発明の一態様に係る情報処理方法は、以下の構成を備える。即ち、本発明の一態様に係る情報処理方法は、情報処理装置が、通信回線を介して通信可能に接続されたサーバから、当該サーバに送信されたリクエストの正当性を表す第1のトークンを含む通信データを第1の通信処理手段を用いて受信し、上記第1の通信処理手段が保持する上記第1のトークンを含む上記リクエストを生成し、上記第1の通信処理手段とは異なる第2の通信処理手段を用いて、生成した上記リクエストを上記サーバに対して送信する。   An information processing method according to one embodiment of the present invention includes the following configuration. That is, in the information processing method according to one aspect of the present invention, the information processing apparatus receives a first token representing the validity of a request transmitted from a server connected to be communicable via a communication line. Receiving the communication data using the first communication processing means, generating the request including the first token held by the first communication processing means, and different from the first communication processing means The generated request is transmitted to the server using the two communication processing means.

また、同目的は、上記構成を有する情報処理装置、並びに対応する情報処理方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体等によっても達成される。   In addition, the same object is achieved by an information processing apparatus having the above-described configuration and a corresponding information processing method by a computer program realized by a computer, a computer-readable storage medium storing the computer program, and the like. Is also achieved.

本発明によれば、サーバから提供される、当該サーバに送信されたリクエストの正当性を表す情報を用いることにより、当該サーバに対して任意のリクエストを発行可能な情報処理装置等を提供可能である。   According to the present invention, it is possible to provide an information processing apparatus or the like that can issue an arbitrary request to the server by using information provided from the server and indicating the validity of the request transmitted to the server. is there.

図1は、本発明の第1の実施形態におけるユーザ端末及びサーバ装置の機能的な構成を例示するブロック図である。FIG. 1 is a block diagram illustrating a functional configuration of a user terminal and a server device according to the first embodiment of the present invention. 図2は、本発明の第1の実施形態における第2のクライアント及びスクリプトが提供する機能を例示する図である。FIG. 2 is a diagram illustrating functions provided by the second client and script according to the first embodiment of this invention. 図3は、本発明の第1の実施形態における第2のクライアントの機能的な構成を例示するブロック図である。FIG. 3 is a block diagram illustrating a functional configuration of the second client according to the first embodiment of this invention. 図4は、本発明の第1の実施形態におけるWebサーバの機能的な構成を例示するブロック図である。FIG. 4 is a block diagram illustrating a functional configuration of the Web server according to the first embodiment of this invention. 図5は、本発明の第1の実施形態におけるユーザ端末及びサーバ装置の動作を例示するシーケンス(その1)である。FIG. 5 is a sequence (part 1) illustrating the operation of the user terminal and the server device according to the first embodiment of the present invention. 図6は、本発明の第1の実施形態におけるユーザ端末及びサーバ装置の動作を例示するシーケンス(その2)である。FIG. 6 is a sequence (part 2) illustrating the operation of the user terminal and the server device in the first embodiment of the present invention. 図7は、本発明の第1の実施形態におけるユーザ端末及びサーバ装置の動作を例示するシーケンス(その3)である。FIG. 7 is a sequence (part 3) illustrating the operation of the user terminal and the server device in the first embodiment of the present invention. 図8は、本発明の第2の実施形態における情報処理装置の機能的な構成を例示するブロック図である。FIG. 8 is a block diagram illustrating a functional configuration of the information processing apparatus according to the second embodiment of this invention. 図9は、本発明の各実施形態に係る情報処理装置を実現可能なハードウェアの構成を例示する図である。FIG. 9 is a diagram illustrating a hardware configuration capable of realizing the information processing apparatus according to each embodiment of the present invention.

次に、本発明を実施する形態について図面を参照して詳細に説明する。以下の各実施形態に記載されている構成は単なる例示であり、本発明の技術範囲はそれらには限定されない。また、以下の各実施形態において説明する情報処理装置は、専用のハードウェア装置により実現されてもよく、1以上の物理的なコンピュータ又は仮想的なコンピュータ又はそれらの組合せを用いて実現されたシステムとして実現されてもよい。なお、係る情報処理装置を実現可能なハードウェア構成については後述する。   Next, embodiments of the present invention will be described in detail with reference to the drawings. The configurations described in the following embodiments are merely examples, and the technical scope of the present invention is not limited thereto. In addition, the information processing apparatus described in each of the following embodiments may be realized by a dedicated hardware device, or a system realized by using one or more physical computers or virtual computers, or a combination thereof. It may be realized as. A hardware configuration capable of realizing such an information processing apparatus will be described later.

本発明の各実施形態に関する説明に先立って、本発明の理解を容易にするため、本発明に関する技術的背景及び課題について詳細に説明する。   Prior to the description of each embodiment of the present invention, technical background and problems related to the present invention will be described in detail in order to facilitate understanding of the present invention.

情報通信技術の発達に伴い、上記説明したようなWebサービスあるいはWebアプリケーションが組み込まれた情報機器が普及している。より具体的には、例えば、各種サーバ装置などを構成する情報処理装置(コンピュータ等)を制御可能なBMC(Base Board Management Controller:ベースボードマネージメントコントローラ)に、Webサーバ機能が実装される場合がある。   With the development of information communication technology, information devices incorporating the Web service or Web application as described above are becoming popular. More specifically, for example, a Web server function may be implemented in a BMC (Base Board Management Controller) that can control an information processing apparatus (computer or the like) constituting various server apparatuses. .

係るBMCは、例えば、情報処理装置にファームウェア(例えば、ベースボードに組み込まれるファームウェア)等の形式で組み込まれ、情報処理装置に関する電源制御、センサ監視、及び、各種情報取得等を実行する。係るBMCがWebサーバ機能を有する場合、当該Webサーバに対するリクエスト(HTTPリクエスト)を用いて、係る情報処理装置の操作、あるいは、情報取得が可能である。この場合、係るリクエストには、例えば、BMCに対する各種制御コマンド等が含まれてもよい。   The BMC is incorporated in the information processing apparatus in the form of firmware (for example, firmware incorporated in a base board), for example, and executes power control, sensor monitoring, various information acquisition, and the like regarding the information processing apparatus. When the BMC has a Web server function, the information processing apparatus can be operated or information can be acquired using a request (HTTP request) to the Web server. In this case, the request may include various control commands for the BMC, for example.

Webサーバ機能を有するBMCにおいて、上記した周知のCSRF対策が実施された場合、正当なCSRFトークンを含まないリクエストは、Webサーバによって排除される。即ち、係るCSRF対策が実施された場合、BMCに対して任意のリクエスト(HTTPリクエスト)を用いた各種コマンドの発行、及び、情報取得が自由に行えない場合がある。なお、この場合の任意のリクエストは、例えば、BMCサーバに対して、CSRFトークンが設定されたコンテンツ(例えば、”hidden”フィールドにCSRFトークンが設定されたHTMLのフォーム等)を介さずに送信するリクエストである。   When the above-described well-known CSRF countermeasure is implemented in a BMC having a Web server function, a request that does not include a valid CSRF token is excluded by the Web server. That is, when such CSRF countermeasures are implemented, it may not be possible to freely issue various commands using an arbitrary request (HTTP request) to the BMC and acquire information. An arbitrary request in this case is transmitted to the BMC server without going through the content in which the CSRF token is set (for example, the HTML form in which the CSRF token is set in the “hidden” field). It is a request.

より具体的には、この場合、Webサーバから直接CSRFトークンを提供されたクライアント(例えばWebブラウザ等のアプリケーション)や、CSRFトークンが設定コンテンツ等を介さずに、直接BMCのWebサーバに対して、任意のリクエストを送信することが困難になる。これにより、ユーザの利便性が損なわれる場合がある。   More specifically, in this case, a client (for example, an application such as a web browser) directly provided with a CSRF token from a web server, or a CSRF token directly to a BMC web server without passing through setting contents, etc. It becomes difficult to send arbitrary requests. This may impair user convenience.

以上を鑑みて、以下に説明する各実施形態においては、Webサーバ機能を有するBMCを具体例として、サーバから提供される、当該サーバに送信されたリクエストの正当性を表す情報(CSRFトークン)を用いることにより、当該サーバに対して任意のリクエストを発行可能とする技術について説明する。なお、本発明はこれには限定されず、BMC以外の任意のWebサーバに適用可能である。   In view of the above, in each embodiment described below, BMC having a Web server function is taken as a specific example, and information (CSRF token) indicating the validity of a request transmitted from the server is transmitted from the server. A technique for enabling an arbitrary request to be issued to the server will be described. In addition, this invention is not limited to this, It is applicable to arbitrary Web servers other than BMC.

<第1の実施形態>
以下、本発明の第1の実施形態について説明する。なお、以下においては、Webサーバ機能を提供するBMCを有するサーバ装置と、当該Webサーバに対して各種リクエストを送信するクライアント装置(ユーザ端末)とにより構成されるシステムを具体例として説明する。
<First Embodiment>
Hereinafter, a first embodiment of the present invention will be described. In the following, a system configured by a server device having a BMC that provides a Web server function and a client device (user terminal) that transmits various requests to the Web server will be described as a specific example.

図1は、本実施形態におけるクライアント端末101及びサーバ装置102の機能的な構成の具体例を示すブロック図である。図1に例示するように、本実施形態においては、ユーザ端末101と、BMC103を備えたサーバ装置102とが、任意の通信ネットワークを介して相互に通信可能に接続される。   FIG. 1 is a block diagram illustrating a specific example of functional configurations of the client terminal 101 and the server apparatus 102 in the present embodiment. As illustrated in FIG. 1, in the present embodiment, a user terminal 101 and a server apparatus 102 including a BMC 103 are connected to be able to communicate with each other via an arbitrary communication network.

ユーザ端末101とサーバ装置102とを接続する通信ネットワークは、インターネット等の広域ネットワークであってもよく、LAN(Local Area Network)等の構内ネットワークであってもよい。なお、本実施形態においては、ユーザ端末101と、サーバ装置102との間はIP(Internet Protocol)プロトコルを用いて通信可能であることを仮定する。また、ユーザ端末101と、サーバ装置102(特には後述するWebサーバ103a)との間は、HTTPプロトコルによる各種リクエストが送受信可能であることを仮定する。   The communication network that connects the user terminal 101 and the server apparatus 102 may be a wide area network such as the Internet, or a local area network such as a LAN (Local Area Network). In the present embodiment, it is assumed that the user terminal 101 and the server apparatus 102 can communicate with each other using the IP (Internet Protocol) protocol. Further, it is assumed that various requests using the HTTP protocol can be transmitted and received between the user terminal 101 and the server apparatus 102 (particularly, a Web server 103a described later).

ユーザ端末101は、後述するサーバ装置102と、通信ネットワーク(通信回線)を介して通信可能に接続された情報処理装置である。係るユーザ端末は、例えば、通信機能を有する任意の情報処理装置(例えば、各種コンピュータ、携帯情報端末等)であってもよい。     The user terminal 101 is an information processing apparatus that is communicably connected to a server apparatus 102 described later via a communication network (communication line). Such a user terminal may be, for example, any information processing apparatus (for example, various computers, portable information terminals, etc.) having a communication function.

ユーザ端末101は、Webブラウザ101aを有する。Webブラウザ101aにおいて動作するWebクライアント101b、スクリプト101c、及び、ユーザ端末101aにおいて実行される第2のクライアントプログラム(以下、単に「第2のクライアント」と称する)101dは、後述するサーバ装置102におけるBMC103から取得される。   The user terminal 101 has a web browser 101a. A Web client 101b, a script 101c, and a second client program (hereinafter simply referred to as “second client”) 101d executed on the Web browser 101a and a user terminal 101a are a BMC 103 in the server apparatus 102 to be described later. Obtained from.

Webブラウザ101aは、Webサーバにより提供される各種コンテンツを解釈可能なソフトウェア・プログラム(各種のコンピュータ・プログラム)である。Webブラウザ101aは、現在では広く知られた周知のブラウザ・アプリケーションであってよい。なお、Webブラウザ101aは、後述するユーザ104が利用可能なUI(User Interface、ユーザインタフェース)を備えたアプリケーションとして提供されてもよい。また、Webブラウザ101aは、通信処理及びコンテンツ解釈処理の機能を提供するライブラリとして提供されてもよい。   The Web browser 101a is a software program (various computer programs) that can interpret various contents provided by the Web server. The Web browser 101a may be a well-known browser application that is now widely known. Note that the Web browser 101a may be provided as an application having a UI (User Interface, user interface) that can be used by the user 104 described later. The Web browser 101a may be provided as a library that provides functions for communication processing and content interpretation processing.

Webブラウザ101aは、後述するWebサーバ103aに対してWebクライアント101b及び、スクリプト101cを取得するリクエストを発行することにより、これらを取得(受信)する。この際、Webブラウザ101aと、Webサーバ103aとの間では認証処理が実行され、認証済みのセッションであることを表すCookie(セッション情報)、及び、CSRFトークンが発行されてもよい。係るCookieは、Webブラウザ101aに設定されてもよい。係るCSRFトークンは、取得されたコンテンツ(例えば、Webクライアント101b)に設定されてもよい。Webブラウザ101aが、Webサーバ103aに対してリクエスト(HTTPリクエスト)を送信する際には、係るCookieとCSRFトークンとが通信データに付加される。なお、係る認証処理、Cookie及びCSRFトークンの発行は、後述するWebクライアント101bとWebサーバ103aとの間で実行されてもよい。   The Web browser 101a acquires (receives) these by issuing a request to acquire the Web client 101b and the script 101c to the Web server 103a described later. At this time, an authentication process may be executed between the Web browser 101a and the Web server 103a, and a Cookie (session information) indicating a authenticated session and a CSRF token may be issued. Such a Cookie may be set in the Web browser 101a. Such CSRF token may be set in the acquired content (for example, the Web client 101b). When the Web browser 101a transmits a request (HTTP request) to the Web server 103a, the Cookie and CSRF token are added to the communication data. The authentication process, the cookie, and the CSRF token issuance may be executed between the Web client 101b and the Web server 103a described later.

Webクライアント101bは、ユーザ104からの要求に応じて、後述するWebサーバ103aとの間で各種リクエストの送信及びレスポンスの受信を実行する。また、Webクライアント101bは、後述するスクリプト101cを含み、係るスクリプト101cに実装された処理を実行する。Webクライアント101bは、例えば、サーバ装置102におけるBMC103においてコンテンツ103bとして保持され、上記Webブラウザ101aにより、サーバ103aを介して取得される。   In response to a request from the user 104, the Web client 101b transmits various requests and receives responses with the Web server 103a described later. The Web client 101b includes a script 101c described later, and executes processing implemented in the script 101c. For example, the Web client 101b is held as the content 103b in the BMC 103 in the server apparatus 102, and is acquired by the Web browser 101a via the server 103a.

Webクライアント101bは、例えば、Webブラウザ101aにおいて解釈及び実行されるコンテンツとして実現可能である。この場合、係るコンテンツは、HTML(HyperText Markup Language)等により記述されたドキュメントであってもよい。また、係るコンテンツは、例えば、JavaScript(登録商標)、Java(登録商標)等のプログラム記述言語により記述された、ユーザ端末101側で実行されるプログラム(コンピュータ・プログラム)であってもよい。また、係るコンテンツは、例えば、Webサーバ103aにおいて処理されるCGI(Common Gateway Interface)、JSP(Java Server Pages)等を利用する処理を含んでもよい。   The Web client 101b can be realized as content that is interpreted and executed by the Web browser 101a, for example. In this case, the content may be a document described in HTML (HyperText Markup Language) or the like. In addition, the content may be a program (computer program) executed on the user terminal 101 side described in a program description language such as JavaScript (registered trademark) or Java (registered trademark). The content may include, for example, processing using CGI (Common Gateway Interface), JSP (Java Server Pages), or the like processed in the Web server 103a.

Webクライアント101bは、Webブラウザ101aの機能を用いて、Webサーバ103aとの間の通信処理を実行してもよい。   The Web client 101b may execute communication processing with the Web server 103a using the function of the Web browser 101a.

スクリプト101cは、Webクライアント101cに含まれるコンテンツであり、Webクライアント101cの一部として実現されてもよい。スクリプト101cは、例えば、BMC103においてスクリプト103cとして保持され、上記Webブラウザ101aにより、サーバ103aを介して取得される。   The script 101c is content included in the Web client 101c, and may be realized as a part of the Web client 101c. For example, the script 101c is stored as the script 103c in the BMC 103, and is acquired by the Web browser 101a via the server 103a.

スクリプト101c(スクリプト103c)は図2に例示するように、以下の機能を備える。これらの機能は、それぞれの機能を実現する処理を実装したプログラムにより実現可能である。なお、スクリプト101cとスクリプト103cとは同様としてよい。   As illustrated in FIG. 2, the script 101c (script 103c) has the following functions. These functions can be realized by a program in which processing for realizing each function is implemented. The script 101c and the script 103c may be the same.

・CSRFトークンを取得する機能(図2の201)、
・第2のクライアントプログラムを取得する機能(図2の202)、
・CSRFトークンを提供して、第2のクライアントプログラムを起動する機能(図2の203)。
A function for acquiring CSRF tokens (201 in FIG. 2),
A function for acquiring a second client program (202 in FIG. 2);
A function of providing a CSRF token and starting a second client program (203 in FIG. 2).

Webクライアント101bは、上記説明したスクリプト101cの機能を用いて、ユーザ104からの要求に応じて、Webサーバ103aから第2のクライアント101dを取得し、取得した第2のクライアント101dを起動する。この際、Webクライアント101b(スクリプト101c)は、第2のクライアント101dに対して上記CSRFトークンを提供する。   The Web client 101b uses the function of the script 101c described above to acquire the second client 101d from the Web server 103a in response to a request from the user 104, and starts the acquired second client 101d. At this time, the Web client 101b (script 101c) provides the CSRF token to the second client 101d.

例えば、第2のクライアント101dがJava(登録商標)等により実装されたプログラムとして実現される場合、Webクライアント101bは、係るプログラムを起動する際に引数としてCSRFトークンを指定してもよい。より具体的には、例えば、Webクライアント101bは、Java(登録商標)プログラム(アプレット等)の起動タグにCSRFトークンを含むHTMLを動的に生成し、係るHTMLをロードすることにより、第2のクライアント101dを起動してもよい。なお、本実施形態はこれには限定されず、第2のクライアント101dを起動する方法、及び、第2のクライアントに対してCSRFトークンを提供する方法は、当該第2のクライアントの具体的な実装等に応じて、適宜選択してよい。   For example, when the second client 101d is realized as a program implemented by Java (registered trademark) or the like, the Web client 101b may specify a CSRF token as an argument when starting the program. More specifically, for example, the Web client 101b dynamically generates an HTML including a CSRF token in a startup tag of a Java (registered trademark) program (such as an applet), and loads the HTML so that the second The client 101d may be activated. Note that the present embodiment is not limited to this, and the method for starting the second client 101d and the method for providing the CSRF token to the second client are specific implementations of the second client. You may select suitably according to etc.

第2のクライアント101dは、ユーザ端末101において実行可能なプログラム(コンピュータ・プログラム)であり、Webサーバ103aとの間で各種リクエストの送信及びレスポンスの受信を実行する。第2のクライアント101dは、例えば、Java(登録商標)などのプログラム記述言語により実装されたプログラムであってもよい。第2のクライアント101dは、例えば、BMC103において第2のクライアント103dとして保持され、上記Webブラウザ101aにより、サーバ103aを介して取得される。   The second client 101d is a program (computer program) that can be executed on the user terminal 101, and executes transmission of various requests and reception of responses with the Web server 103a. For example, the second client 101d may be a program implemented in a program description language such as Java (registered trademark). For example, the second client 101d is held as the second client 103d in the BMC 103, and is acquired by the Web browser 101a via the server 103a.

第2のクライアント101d(第2のクライアント103d)は、図2に例示するように、以下の機能を備える。なお、第2のクライアント101dと第2のクライアント103dとは同様としてよい。   The second client 101d (second client 103d) has the following functions as illustrated in FIG. Note that the second client 101d and the second client 103d may be the same.

・任意のクエスト(HTTPリクエスト)の作成に用いる情報の入力を受け付ける機能(図2の204)、
・入力情報を元に任意のリクエストを生成する機能(図2の205)、
・任意のリクエスト発行(送信)時にCSRFトークンを付加する機能(図2の206)、
・リクエストに対するレスポンスを受信する機能(図2の207)。
-Function for accepting input of information used to create an arbitrary quest (HTTP request) (204 in FIG. 2),
A function for generating an arbitrary request based on input information (205 in FIG. 2),
A function for adding a CSRF token when an arbitrary request is issued (transmitted) (206 in FIG. 2),
A function for receiving a response to the request (207 in FIG. 2).

これらの機能は、それぞれの機能を実現する処理を実装したプログラムにより実現可能である。ユーザ104は、第2のクライアント101dが実現するこれらの機能を用いて、サーバ装置102(特にはBMC103におけるWebサーバ103a)に対して、任意のリクエストを送信する。即ち、ユーザ104は、Webブラウザ101aとは切り離された第2のクライアント101dを用いて、Webサーバ103aに対し任意のリクエストを発行(送信)する。   These functions can be realized by a program in which processing for realizing each function is implemented. The user 104 transmits an arbitrary request to the server apparatus 102 (particularly, the Web server 103a in the BMC 103) using these functions realized by the second client 101d. That is, the user 104 issues (transmits) an arbitrary request to the Web server 103a using the second client 101d separated from the Web browser 101a.

図3は、第2のクライアント101dの機能的な構成の具体例を示す図である。なお、図3に例示する構成は一つの具体例であり、第2のクライアント101dをどのような構成要素に区分けするかは、適宜選択してよい。   FIG. 3 is a diagram illustrating a specific example of a functional configuration of the second client 101d. Note that the configuration illustrated in FIG. 3 is one specific example, and what component the second client 101d is divided into may be selected as appropriate.

情報入力部301は、ユーザ104からリクエストの作成に用いられる情報の入力を受け付ける情報入力インタフェースである。係る情報入力部301は、ユーザ104に対して、例えば、リクエストの生成に用いられる情報を設定可能なフィールド、リクエスト送信ボタン、及び、リクエストに対するレスポンスを表示するフィールド等を備えたUIを提供してもよい。係るUIをどのように構成するかは、任意に定めてよい。ユーザ104は、例えば、サーバ装置102に関する各種制御を実行するコマンドや、サーバ装置102の情報を取得するコマンド等を、情報入力部301に対して入力してもよい。   The information input unit 301 is an information input interface that receives input of information used for creating a request from the user 104. The information input unit 301 provides the user 104 with a UI including, for example, a field in which information used to generate a request can be set, a request transmission button, and a field for displaying a response to the request. Also good. How to configure such a UI may be arbitrarily determined. For example, the user 104 may input a command for executing various controls related to the server apparatus 102, a command for acquiring information on the server apparatus 102, and the like to the information input unit 301.

リクエスト作成部302は、情報入力部301に入力された情報を用いてリクエストを作成(生成)する。係るリクエストは、例えば、HTTPにおけるPOSTリクエストによりWebサーバ103aに送信される送信データである。係る送信データの具体的な形式は、サーバ装置102の仕様等に応じて、適宜選択してよい。   The request creation unit 302 creates (generates) a request using the information input to the information input unit 301. Such a request is, for example, transmission data transmitted to the Web server 103a by a POST request in HTTP. The specific format of the transmission data may be appropriately selected according to the specifications of the server apparatus 102.

CSRFトークン付加部303は、リクエスト作成部302において作成されたリクエストに対して、CSRFトークンを付加する。上記したように、第2のクライアント101dが起動される際、Webクライアント101b(スクリプト101c)から、CSRFトークンが提供される。これより、CSRFトークン付加部303は、Webサーバ103aから提供された正しいCSRFトークンを参照可能である。従って、CSRFトークン付加部303は、Webサーバ103aに対して送信されるリクエストに対して、正しいCSRFトークンを設定可能である。   The CSRF token adding unit 303 adds a CSRF token to the request created by the request creating unit 302. As described above, the CSRF token is provided from the Web client 101b (script 101c) when the second client 101d is activated. Accordingly, the CSRF token adding unit 303 can refer to the correct CSRF token provided from the Web server 103a. Accordingly, the CSRF token adding unit 303 can set a correct CSRF token for a request transmitted to the Web server 103a.

通信部304は、CSRFトークンが付加されたリクエストを、サーバ装置102(特には、Webサーバ103a)に対して送信する。また、通信部304は、サーバ装置102(特には、Webサーバ103a)から、上記送信したリクエストに対するレスポンスを受信する。   The communication unit 304 transmits the request with the CSRF token added to the server apparatus 102 (particularly, the Web server 103a). In addition, the communication unit 304 receives a response to the transmitted request from the server apparatus 102 (particularly, the Web server 103a).

レスポンス解析部305は、通信部304がサーバ装置102から受信したレスポンスを解析する。レスポンス解析部305は、例えば、BMC103が各種コマンドを実行した結果や、サーバ装置102から取得した各種情報等を、受信したレスポンスから抽出する。レスポンス解析部305は、係る解析結果を情報入力部301に通知してもよい。情報入力部301は、レスポンス解析部305の解析結果をUIに表示してもよい。   The response analysis unit 305 analyzes the response received from the server apparatus 102 by the communication unit 304. The response analysis unit 305 extracts, for example, the results of executing various commands by the BMC 103, various information acquired from the server apparatus 102, and the like from the received responses. The response analysis unit 305 may notify the information input unit 301 of the analysis result. The information input unit 301 may display the analysis result of the response analysis unit 305 on the UI.

上記のように構成された、第2のクライアント101dは、スクリプト101cあるいはWebクライアント101bを参照することにより、CSRFトークンを参照(取得)してもよい。一例として、スクリプト101c及びWebクライアント101bがHTML及び各主スクリプト言語等を用いて記載されたコンテンツであり、第2のクライアント101dがJava(登録商標)を用いて実装されたプログラム(例えばアプレット)である場合を仮定する。この場合、第2のクライアント101dは、スクリプト101cあるいはWebクライアント101bの実体であるコンテンツ(例えばHTML)の内容を参照可能である。これより、第2のクライアント101dは、例えば、係るコンテンツにおいてCSRFトークンが含まれるフィールドを参照することにより、CSRFトークンを参照(取得)可能である。   The second client 101d configured as described above may refer to (acquire) the CSRF token by referring to the script 101c or the Web client 101b. As an example, the script 101c and the Web client 101b are contents described using HTML and main script languages, and the second client 101d is a program (for example, an applet) implemented using Java (registered trademark). Assume that there is a case. In this case, the second client 101d can refer to the content (for example, HTML) that is the substance of the script 101c or the Web client 101b. Accordingly, the second client 101d can refer to (acquire) the CSRF token by referring to a field including the CSRF token in the content, for example.

以上のように構成されたユーザ端末101の具体的な動作については、後述する。   Specific operations of the user terminal 101 configured as described above will be described later.

次に、サーバ装置102の機能的な構成について説明する。サーバ装置102は、コンピュータ等の情報処理装置を用いて構成される。図1に例示するように、サーバ装置102は、BMC103を備える。   Next, a functional configuration of the server apparatus 102 will be described. The server apparatus 102 is configured using an information processing apparatus such as a computer. As illustrated in FIG. 1, the server apparatus 102 includes a BMC 103.

BMC103は、サーバ装置102に関する各種制御を実行可能なコンポーネントである。BMC103は、例えば、図示しない演算装置(プロセッサ)と、記憶装置(例えば、フラッシュメモリ等)等のハードウェアにより構成されてもよい。この場合、係る記憶装置にBMCの機能が実装されたファームウェア(コンピュータ・プログラム)が格納され、係るファームウェアが、図示しない演算装置によって実行されることにより、BMC103の機能が提供されてもよい。以下、BMC103の機能的な構成について説明する。   The BMC 103 is a component that can execute various controls related to the server apparatus 102. The BMC 103 may be configured by hardware such as an arithmetic device (processor) (not shown) and a storage device (for example, a flash memory). In this case, the function of the BMC 103 may be provided by storing firmware (computer program) in which the BMC function is implemented in the storage device and executing the firmware by an arithmetic device (not shown). Hereinafter, a functional configuration of the BMC 103 will be described.

BMC103は、少なくともWebサーバ103aを備える。また、BMC103は、サービス処理部103eを備えてもよい。また、BMC103は、コンテンツ103b、スクリプト103c、第2のクライアント103dを保持する。   The BMC 103 includes at least a Web server 103a. In addition, the BMC 103 may include a service processing unit 103e. In addition, the BMC 103 holds content 103b, a script 103c, and a second client 103d.

Webサーバ103aは、ユーザ端末101との間で、HTTPを用いた通信を実行する。具体的には、Webサーバ103aは、ユーザ端末101(特には、Webブラウザ101a、Webクライアント101b、及び、第2のクライアント101d)からリクエスト(HTTPリクエスト)を受信し、それらに対してレスポンスを送信する。Webサーバ103aは、上述したように、ユーザ端末101(特には、Webブラウザ101a、Webクライアント101b)との間で認証処理を実行し、認証済みのセッションであることを表すCookie(セッション情報)、及び、CSRFトークンを発行する。   The Web server 103a executes communication using the HTTP with the user terminal 101. Specifically, the Web server 103a receives a request (HTTP request) from the user terminal 101 (in particular, the Web browser 101a, the Web client 101b, and the second client 101d) and transmits a response to them. To do. As described above, the Web server 103a performs authentication processing with the user terminal 101 (particularly, the Web browser 101a and the Web client 101b), and is a cookie (session information) indicating an authenticated session. And a CSRF token is issued.

図4は、Webサーバ103aの機能的な構成を例示する図面である。なお、図4に例示する構成は一つの具体例であり、Webサーバ103aをどのような構成要素に区分けするかは、適宜選択してよい。   FIG. 4 is a diagram illustrating a functional configuration of the Web server 103a. Note that the configuration illustrated in FIG. 4 is one specific example, and what component the Web server 103a is divided into may be selected as appropriate.

通信部401は、ユーザ端末101から各種リクエスト(HTTPリクエスト)を受信する。また、通信部401は、後述するレスポンス返却部405において生成されたレスポンス(HTTPレスポンス)を、ユーザ端末101に送信する。   The communication unit 401 receives various requests (HTTP requests) from the user terminal 101. In addition, the communication unit 401 transmits a response (HTTP response) generated by a response return unit 405 described later to the user terminal 101.

リクエスト解析部402は、通信部401において受信したリクエストを解析する。リクエスト解析部402は、例えば、受信したリクエストを解析することにより、係るリクエストに含まれるCookie及びCSRFトークンを抽出してもよい。   The request analysis unit 402 analyzes the request received by the communication unit 401. For example, the request analysis unit 402 may extract the Cookie and CSRF token included in the request by analyzing the received request.

また、リクエスト解析部402は、ユーザ端末から受信したリクエストが認証処理に関するリクエストである場合、リクエスト処理部404に対して、認証処理の実行を通知してもよい。この場合、リクエスト処理部404は、サーバ装置102の仕様等に応じて適切な認証処理を実行してもよい。   Further, when the request received from the user terminal is a request related to the authentication process, the request analysis unit 402 may notify the request processing unit 404 of the execution of the authentication process. In this case, the request processing unit 404 may execute an appropriate authentication process according to the specification of the server device 102 or the like.

CSRFトークン認証部403は、リクエスト解析部402における解析結果に基づいて、CSRFトークンの正当性を認証(検証)する処理を実行する。CSRFトークン認証部403は、係るCSRFトークンが正常ではない(正当なCSRFトークンではない)場合は、係るリクエストを拒否するよう、リクエスト処理部404に通知してもよい。これにより、正常なCSRFトークンを含まない不正なリクエストは、Webサーバ103aにおいて排除(拒否)される。   The CSRF token authenticating unit 403 executes processing for authenticating (verifying) the validity of the CSRF token based on the analysis result in the request analyzing unit 402. If the CSRF token authentication unit 403 is not normal (not a valid CSRF token), the CSRF token authentication unit 403 may notify the request processing unit 404 to reject the request. As a result, an unauthorized request that does not include a normal CSRF token is rejected (rejected) by the Web server 103a.

リクエスト処理部404は、リクエスト解析部402の解析結果に基づいて、ユーザ端末101から送信されたリクエストに関する処理を実行する。リクエスト処理部404は、サービス処理部103eに対して、ユーザ端末101から送信されたリクエストに関する処理の実行を依頼(通知)してもよい。   The request processing unit 404 executes processing related to the request transmitted from the user terminal 101 based on the analysis result of the request analysis unit 402. The request processing unit 404 may request (notify) the service processing unit 103e to execute processing related to the request transmitted from the user terminal 101.

リクエスト処理部404は、ユーザ端末101から送信されたリクエストが認証処理に関するリクエストである場合、認証に関する処理を実行する。係る認証に関する処理は、例えば、BMC103(Webサーバ103a)に対するログイン認証、認証済みセッションを表すCookieの生成、及び、CSRFトークンの生成等の処理を含んでもよい。なお、係るCSRFトークンは、CSRFトークン認証部403において生成されてもよい。   When the request transmitted from the user terminal 101 is a request related to authentication processing, the request processing unit 404 executes processing related to authentication. The processing related to authentication may include, for example, processing such as login authentication to the BMC 103 (Web server 103a), generation of a cookie representing an authenticated session, and generation of a CSRF token. The CSRF token authentication unit 403 may generate the CSRF token.

また、リクエスト処理部404は、ユーザ端末101から受信したリクエストに含まれるCSRFトークンが正常ではない場合、係るリクエストに関する処理を拒否する(実行しない)。   Further, when the CSRF token included in the request received from the user terminal 101 is not normal, the request processing unit 404 rejects (does not execute) the process related to the request.

次に、レスポンス返却部405は、リクエスト処理部404における処理の結果を用いて、ユーザ端末101に送信するレスポンス(HTTPレスポンス)を生成する。上記したように、CSRFトークンが正常ではない場合、レスポンス返却部405は、ユーザ端末101に対して、エラーを表すレスポンスを生成する。なお、生成されたレスポンスは、通信部401によりユーザ端末101に送信される。   Next, the response return unit 405 generates a response (HTTP response) to be transmitted to the user terminal 101 using the processing result in the request processing unit 404. As described above, when the CSRF token is not normal, the response return unit 405 generates a response indicating an error to the user terminal 101. Note that the generated response is transmitted to the user terminal 101 by the communication unit 401.

Webサーバ103aは、ユーザ端末101からのリクエストに応じて、コンテンツ103b、スクリプト103c、及び、第2のクライアント103dを、ユーザ端末101に送信可能である。コンテンツ103b、スクリプト103c、及び、第2のクライアント103dは、BMC103における、図示しない記憶装置に保持されていてもよい。   The Web server 103a can transmit the content 103b, the script 103c, and the second client 103d to the user terminal 101 in response to a request from the user terminal 101. The content 103b, the script 103c, and the second client 103d may be held in a storage device (not shown) in the BMC 103.

コンテンツ103bは、上記説明したWebクライアント101bを含む、任意のコンテンツである。スクリプト103cは、上記説明したスクリプト101cと同様である。なお、スクリプト103cは、コンテンツ103bの一部に含まれてもよい。第2のクライアント103dは、上記説明した第2のクライアント101dと同様である。   The content 103b is arbitrary content including the Web client 101b described above. The script 103c is the same as the script 101c described above. Note that the script 103c may be included in a part of the content 103b. The second client 103d is the same as the second client 101d described above.

ユーザ端末101から送信される、コンテンツ103b、スクリプト103c、又は、第2のクライアント103dの取得を要求するリクエストに関して、Webサーバ103aは、CSRFトークンを検証してもよい。   The web server 103a may verify the CSRF token with respect to the request transmitted from the user terminal 101 and requesting acquisition of the content 103b, the script 103c, or the second client 103d.

サービス処理部103eは、ユーザ端末101から送信された各種リクエストに応じて、サーバ装置102に対する各種制御を実行する。サービス処理部103eは、例えば、ユーザ端末101から送信された、BMC103に対する制御コマンドを実行し、係る実行結果をWebサーバ103aに通知してもよい。   The service processing unit 103e executes various controls on the server apparatus 102 in response to various requests transmitted from the user terminal 101. For example, the service processing unit 103e may execute a control command for the BMC 103 transmitted from the user terminal 101, and notify the Web server 103a of the execution result.

次に、上記のように構成された、本実施形態におけるユーザ端末101、及び、サーバ装置102の動作について、図5乃至図7を参照して説明する。以下においては、ユーザ104の要求に基づいて、Webクライアント101b及びスクリプト101cが、サーバ装置102からユーザ端末101に取得されていることを仮定する。この場合、例えば、ユーザ104が、Webブラウザ101aを用いて、Webサーバ103aから、Webクライアント101b(コンテンツ103b)及びスクリプト101c(スクリプト103c)を取得してもよい。   Next, operations of the user terminal 101 and the server apparatus 102 configured as described above according to the present embodiment will be described with reference to FIGS. In the following, it is assumed that the Web client 101b and the script 101c are acquired from the server apparatus 102 to the user terminal 101 based on the request of the user 104. In this case, for example, the user 104 may acquire the Web client 101b (content 103b) and the script 101c (script 103c) from the Web server 103a using the Web browser 101a.

図5は、本実施形態におけるユーザ端末101及びサーバ装置102の動作を例示するシーケンス図である。より具体的には、図5は、Webクライアント101bとWebサーバ103aとの間における認証処理(Cookie及びCSRFトークンの取得処理を含む)のシーケンスと、Webクライアント101bからの、CSRFトークンを含むリクエストの発行(送信)処理のシーケンスに関する具体例を例示する。   FIG. 5 is a sequence diagram illustrating operations of the user terminal 101 and the server apparatus 102 according to this embodiment. More specifically, FIG. 5 shows a sequence of authentication processing (including Cookie and CSRF token acquisition processing) between the Web client 101b and the Web server 103a, and a request including a CSRF token from the Web client 101b. A specific example relating to the sequence of issue (transmission) processing will be illustrated.

まず、ユーザ104は、ユーザ端末101を用いて、サーバ装置102(特には、Webサーバ103a)へのアクセスする(ステップS501)。より具体的には、ユーザ104は、Webクライアント101bを用いて、Webサーバ103aにアクセスする処理を実行する。この場合、ユーザ104は、例えば、Webブラウザ101aを介して、Webクライアント101bを操作してもよい。   First, the user 104 uses the user terminal 101 to access the server apparatus 102 (particularly, the Web server 103a) (step S501). More specifically, the user 104 executes processing for accessing the Web server 103a using the Web client 101b. In this case, the user 104 may operate the web client 101b via the web browser 101a, for example.

Webクライアント101bは、Webサーバ103aに対して、Webサーバに対するアクセス要求を送信する(ステップS502)。以下においては、Webクライアント101bが、Webサーバ103aにおける認証を要するコンテンツに対するアクセスを要求したことを仮定する。   The Web client 101b transmits an access request for the Web server to the Web server 103a (Step S502). In the following, it is assumed that the Web client 101b requests access to content that requires authentication in the Web server 103a.

係るアクセス要求に対して、Webサーバ103aはレスポンスを生成し、係るレスポンスをWebクライアント101bに送信する(ステップS503)。この場合、係るレスポンスは、例えば、Webサーバ103aにおいて必要とする認証情報の入力を、Webクライアント101bに求めるものであってもよい。より具体的には、例えば、Webサーバ103aは、ログイン認証において必要とする認証情報を入力させるコンテンツ(例えば認証ページ等)を、Webクライアント101bに送信してもよい。   In response to such an access request, the web server 103a generates a response and transmits the response to the web client 101b (step S503). In this case, for example, the response may request the Web client 101b to input authentication information required by the Web server 103a. More specifically, for example, the Web server 103a may transmit content (for example, an authentication page) for inputting authentication information necessary for login authentication to the Web client 101b.

次に、Webクライアント101bは、Webサーバ103aに対して、認証情報を含む認証要求を送信する(ステップS504)。   Next, the Web client 101b transmits an authentication request including authentication information to the Web server 103a (Step S504).

係る認証要求を受信したWebサーバ103aは、ログイン認証処理(ステップS505)を実行する。この場合、Webサーバ103aは、Webクライアント101bから送信された認証情報に基づいて、Webクライアント101bからのログインを許可するか否かを判定してもよい。   The Web server 103a that has received the authentication request executes a login authentication process (step S505). In this case, the Web server 103a may determine whether to permit login from the Web client 101b based on the authentication information transmitted from the Web client 101b.

Webサーバ103aは、ステップS505におけるログイン認証処理が成功した場合、Webクライアント101bとの間のセッションが認証済みであることを表すCookieを生成する(ステップS506)。   When the login authentication process in step S505 is successful, the web server 103a generates a cookie indicating that the session with the web client 101b has been authenticated (step S506).

Webサーバ103aは、ステップS505におけるログイン認証処理が成功した場合、Webクライアント101bとの間で送受信されるリクエストの正当性を表す情報であるCSRFトークンを生成する(ステップS507)。   When the login authentication process in step S505 is successful, the Web server 103a generates a CSRF token that is information indicating the validity of a request transmitted / received to / from the Web client 101b (step S507).

ステップS505乃至ステップS507における処理を実行した後、Webサーバ103aは、Webクライアント101bに対して、Cookie及びCSRFトークンを返却する(ステップS508)。より具体的には、Webサーバ103aは、Webクライアント101bに対して、Cookie及びCSRFトークンを含むレスポンスを送信する。   After executing the processing in steps S505 to S507, the web server 103a returns the cookie and CSRF token to the web client 101b (step S508). More specifically, the Web server 103a transmits a response including a cookie and a CSRF token to the Web client 101b.

係るレスポンスを受信したWebクライアント101bは、当該レスポンスに含まれるCookieを保存する(ステップS509)。具体的には、Webクライアント101bは、Webブラウザ101aに対して、係るCookieを書き込む(保持させる)。Webブラウザ101aにCookieを保持させる方法は周知であることから、詳細な説明は省略する。   The Web client 101b that has received the response stores the cookie included in the response (step S509). Specifically, the Web client 101b writes (holds) the cookie to the Web browser 101a. Since a method for holding the cookie in the Web browser 101a is well known, detailed description thereof is omitted.

また、Webクライアント101bは、Webサーバ103aから受信したレスポンスに含まれるCSRFトークンを保持する(ステップS510)。Webクライアント101bは、Webサーバ101aからレスポンスとして受信した、CSRFトークンを含むコンテンツ自体を保持してもよい。また、Webクライアント101bは、係るコンテンツからCSRFトークンを抽出して、係るCSRFトークンを保持してもよい。   Further, the Web client 101b holds the CSRF token included in the response received from the Web server 103a (Step S510). The web client 101b may hold the content itself including the CSRF token received as a response from the web server 101a. Further, the Web client 101b may extract the CSRF token from the content and hold the CSRF token.

図5に例示する具体例においては、Webクライアント101bがステップS502乃至S510の処理を実行するが、係る処理は、Webブラウザ101aが実行してもよい。この場合、Webブラウザ101aは、Webサーバ103aから、Cookie及びCSRFトークンが設定されたレスポンスとして、Webクライアント101b(及びスクリプト101c)を含むコンテンツを受信してもよい。   In the specific example illustrated in FIG. 5, the Web client 101b executes the processes of steps S502 to S510. However, the Web browser 101a may execute such processes. In this case, the Web browser 101a may receive content including the Web client 101b (and script 101c) as a response in which a cookie and a CSRF token are set from the Web server 103a.

上記ステップS501乃至S510の後、ユーザ104が、ユーザ端末101を用いて、Web操作を実行する(ステップS511)。ユーザ104は、係るWeb操作として、例えば、第2のクライアント103dの取得を要求してもよい。   After steps S501 to S510, the user 104 executes a web operation using the user terminal 101 (step S511). For example, the user 104 may request acquisition of the second client 103d as the Web operation.

次に、Webクライアント101bは、ステップS511におけるWeb操作の内容に応じて、Cookie及びCSRFトークンを含むHTTPリクエストを生成する(ステップS512)。即ち、ステップS511以降のWeb操作に伴い、Webサーバ103aに送信されるリクエストには、CSRFトークンが付加される。   Next, the web client 101b generates an HTTP request including a cookie and a CSRF token according to the content of the web operation in step S511 (step S512). That is, the CSRF token is added to the request transmitted to the Web server 103a in accordance with the Web operation after Step S511.

次に、Webクライアント101bは、ステップS512において生成したHTTPリクエストを、Webサーバ103aに送信する(ステップS513)。   Next, the Web client 101b transmits the HTTP request generated in Step S512 to the Web server 103a (Step S513).

Webサーバ103aは、ステップS513において送信されたリクエストに含まれる、CSRFトークンを認証(検証)する(ステップS514)。Webサーバ103aは、ステップS507において発行したCSRFトークンと、ステップS513において送信されたリクエストに含まれるCSRFトークンとが一致した場合に、当該リクエストを正当なリクエストとして認証してもよい(認証成功)。   The Web server 103a authenticates (verifies) the CSRF token included in the request transmitted in step S513 (step S514). When the CSRF token issued in step S507 matches the CSRF token included in the request transmitted in step S513, the Web server 103a may authenticate the request as a valid request (authentication success).

ステップS514においてCSRFトークンを認証した結果、正当なリクエストである場合、Webサーバ103aは、係るリクエストに関する処理を実行する(ステップS515)。   If the result of authenticating the CSRF token in step S514 is a valid request, the Web server 103a executes processing related to the request (step S515).

次に、Webサーバ103aは、ステップS515における処理の結果に基づいてレスポンスを生成し、係るレスポンスをWebクライアント101bに返却(送信)する(ステップS516)。   Next, the web server 103a generates a response based on the result of the process in step S515, and returns (transmits) the response to the web client 101b (step S516).

Webクライアント101bは、ステップS516において送信されたレスポンスを受信する(ステップS517)。係るレスポンスは、例えば、Webブラウザ101aに表示されてもよい。   The Web client 101b receives the response transmitted in step S516 (step S517). Such a response may be displayed on the web browser 101a, for example.

以上説明したステップS501乃至ステップS517は、CSRF対策が実施されたWebサーバ103aと、Webクライアント101bとの間で実行される、リクエスト及びレスポンスの送受信処理である。   Steps S501 to S517 described above are request and response transmission / reception processing executed between the Web server 103a on which CSRF countermeasures are implemented and the Web client 101b.

次に、図6を参照して、CSRF攻撃により、Webブラウザ101aから、Webサーバ103aに対して直接リクエストが発行される場合の動作について説明する。以下の説明においては、Webクライアント101b(あるいはWebブラウザ101a)と、Webサーバ103aとの間で認証処理が実行済みであることを仮定する(ステップS601)。係る認証処理は、例えば、図5におけるステップS502乃至S510と同様としてよい。   Next, with reference to FIG. 6, the operation when a request is issued directly from the Web browser 101a to the Web server 103a by the CSRF attack will be described. In the following description, it is assumed that the authentication process has been executed between the Web client 101b (or Web browser 101a) and the Web server 103a (step S601). Such authentication processing may be similar to, for example, steps S502 to S510 in FIG.

まず、ユーザ104の操作により、意図しない不正なHTTPリクエストの送信がWebブラウザに通知される(ステップS602)。例えば、ユーザ104が、攻撃者が用意した攻撃用のリンクに誤ってアクセスすることにより、不正なHTTPリクエストが実行される。   First, an unintentional unauthorized HTTP request transmission is notified to the Web browser by the operation of the user 104 (step S602). For example, when the user 104 erroneously accesses an attack link prepared by the attacker, an unauthorized HTTP request is executed.

係るHTTPリクエストが実行された場合、Webブラウザ101aは、Webブラウザ101aにおいて保持しているCookieを含むリクエストを生成する(ステップS603)。そして、Webブラウザ101aは、係るリクエストを、HTTPリクエストとしてWebサーバ103aに発行(送信)する(ステップS604)。上記ステップS603乃至ステップS604の処理によって、Webブラウザ101aが保持するCookieは、不正なHTTPリクエストに利用されてしまう。しかしながら、通常不正なHTTPリクエスト操作においては、正しいCSRFトークンが不明であることから、ステップS603において生成されるリクエストには、正しいCSRFトークンが含まれない。   When the HTTP request is executed, the Web browser 101a generates a request including the cookie held in the Web browser 101a (Step S603). Then, the web browser 101a issues (transmits) the request as an HTTP request to the web server 103a (step S604). Through the processing in steps S603 to S604, the cookie held by the web browser 101a is used for an unauthorized HTTP request. However, in a normal illegal HTTP request operation, the correct CSRF token is unknown, so the request generated in step S603 does not include the correct CSRF token.

ステップS604において送信されたリクエストを受信したWebサーバ103aは、係るリクエストに対するCSRF認証処理を実行する(ステップS605)。係る処理は、図5におけるステップS514と同様としてよい。   The Web server 103a that has received the request transmitted in step S604 executes CSRF authentication processing for the request (step S605). Such processing may be the same as step S514 in FIG.

この場合、Webサーバ103aは、ステップS604において送信されたリクエストに含まれるCSRFトークンと、Webクライアント101b(あるいはWebブラウザ101a)に対してCSRFトークンとが一致しないことを確認する。結果として、Webサーバ103aは、係るリクエストが正当なリクエストではないと判定する。Webサーバ103aは、ステップS604において送信されたリクエストにCSRFトークンが含まれない場合も、係るリクエストが正当なリクエストではないと判定してよい。これにより、Webサーバ103aは、不正なHTTP操作に伴うリクエストを排除する。   In this case, the Web server 103a confirms that the CSRF token included in the request transmitted in step S604 does not match the CSRF token for the Web client 101b (or the Web browser 101a). As a result, the Web server 103a determines that the request is not a valid request. Even when the CSRF token is not included in the request transmitted in step S604, the Web server 103a may determine that the request is not a valid request. As a result, the Web server 103a eliminates a request accompanying an unauthorized HTTP operation.

次に、Webサーバ103aは、受信したリクエストが不正であることを表すレスポンスをWebブラウザ101aに通知する(ステップS606)。Webブラウザ101aは、Webサーバ103aからのレスポンスに基づいて、リクエストが失敗した場合の処理を実行する(ステップS607)。この場合、Webブラウザ101aは、例えば、リクエストの失敗を表すコンテンツを表示してもよい。   Next, the web server 103a notifies the web browser 101a of a response indicating that the received request is invalid (step S606). The web browser 101a executes processing when the request fails based on the response from the web server 103a (step S607). In this case, the web browser 101a may display content indicating a request failure, for example.

以上説明した動作により、正しいCSRFトークンを保持するWebクライアント101以外からの不正なリクエストが、Webサーバ103aにおいて排除される。   By the operation described above, an illegal request from other than the Web client 101 holding the correct CSRF token is eliminated in the Web server 103a.

次に、図7を参照して、本実施形態における第2のクライアント101dを用いた、Webサーバ103aに対するリクエストの送信について説明する。以下の説明においては、Webクライアント101b(あるいはWebブラウザ101a)と、Webサーバ103aとの間で認証処理が実行済みであることを仮定する(ステップS701)。係る認証処理は、例えば、図5におけるステップS502乃至S510と同様としてよい。   Next, transmission of a request to the Web server 103a using the second client 101d in the present embodiment will be described with reference to FIG. In the following description, it is assumed that authentication processing has been executed between the Web client 101b (or Web browser 101a) and the Web server 103a (step S701). Such authentication processing may be similar to, for example, steps S502 to S510 in FIG.

まず、ユーザ104は、ユーザ端末101を用いて、第2のクライアント101dを取得する操作を実行する(ステップS702)。   First, the user 104 uses the user terminal 101 to execute an operation for acquiring the second client 101d (step S702).

係る操作を受け付けたWebクライアント101bは、Webサーバ103aに対して、第2のクライアント101d(BMC103が保持する第2のクライアント103d)の取得(ダウンロード)を要求するリクエストを送信する(ステップS703)。なお、この際送信されるリクエスト(HTTPリクエストにもCSRFトークンが付与されてよく、Webサーバ103aは係るCSRFトークンを認証(検証)してもよい。   The Web client 101b that has received such an operation transmits a request for obtaining (downloading) the second client 101d (the second client 103d held by the BMC 103) to the Web server 103a (step S703). Note that the request transmitted at this time (the HTTP request may be given a CSRF token, and the Web server 103a may authenticate (verify) the CSRF token.

ステップS703において送信されたリクエストを受け付けたサーバ103aは、BMC103が保持する第2のクライアント103dを、レスポンスとして送信する(ステップS704)。   The server 103a that has received the request transmitted in step S703 transmits the second client 103d held by the BMC 103 as a response (step S704).

次に、Webクライアント101bは、Webサーバ103aから取得した第2のクライアントを起動する(ステップS705)。具体的には、Webクライアント101bが、スクリプト101cを実装された機能(図2における203)を実行することにより、第2のクライアント101dを実行する。この際、Webクライアント101bは、認証処理(ステップS701)においてWebサーバ103aより発行されたCookie及びCSRFトークンを、第2のクライアント101dに提供する。具体的には、Webクライアント101bは、Cookie及びCSRFトークンを起動時のパラメータ(引数)として、第2のクライアント101dを実行(起動)してもよい。また、第2のクライアント101dは、スクリプト101cを参照することにより、Cookie及びCSRFトークンを取得してもよい。   Next, the Web client 101b activates the second client acquired from the Web server 103a (Step S705). Specifically, the Web client 101b executes the second client 101d by executing a function (203 in FIG. 2) in which the script 101c is implemented. At this time, the Web client 101b provides the Cookie and CSRF token issued from the Web server 103a in the authentication process (step S701) to the second client 101d. Specifically, the Web client 101b may execute (activate) the second client 101d using a cookie and a CSRF token as parameters (arguments) at activation. Further, the second client 101d may acquire a cookie and a CSRF token by referring to the script 101c.

ステップS705の結果、第2のクライアント101dが実行(起動)される(ステップS706)。   As a result of step S705, the second client 101d is executed (activated) (step S706).

次に、ユーザ104は、第2のクライアント101dに対して、任意のリクエストの送信を要求する操作を実行する(ステップS707)。係るリクエストは、例えば、サーバ装置102に対する各種制御リクエスト(BMC103に対するコマンド)、あるいは、サーバ装置102の情報を取得するリクエスト等を含んでもよい。   Next, the user 104 performs an operation for requesting the second client 101d to transmit an arbitrary request (step S707). The request may include, for example, various control requests for the server device 102 (commands for the BMC 103), a request for acquiring information of the server device 102, and the like.

次に、第2のクライアント101dは、ステップS707において要求されたリクエストに応じて、Cookie及びCSRFトークンを含むHTTPリクエストを生成する(ステップS708)。即ち、ステップS709において生成されるHTTPリクエストには、正しいCSRFトークンが含まれる。   Next, the second client 101d generates an HTTP request including a cookie and a CSRF token in response to the request requested in step S707 (step S708). That is, the correct CSRF token is included in the HTTP request generated in step S709.

次に、第2のクライアント101dは、ステップS708において生成されたHTTPリクエストを、Webサーバ103aに対して送信する(ステップS709)。   Next, the second client 101d transmits the HTTP request generated in step S708 to the Web server 103a (step S709).

Webサーバ103aは、ステップS709において送信されたリクエストに含まれる、CSRFトークンを認証(検証)する(ステップS710)。Webサーバ103aは、認証処理(ステップS701)において発行したCSRFトークンと、ステップS709において送信されたリクエストに含まれるCSRFトークンとが一致した場合に、当該リクエストを正当なリクエストとして認証してもよい(認証成功)。   The Web server 103a authenticates (verifies) the CSRF token included in the request transmitted in step S709 (step S710). When the CSRF token issued in the authentication process (step S701) matches the CSRF token included in the request transmitted in step S709, the web server 103a may authenticate the request as a valid request ( Authentication successful).

ステップS710においてCSRFトークンを認証した結果、正当なリクエストである場合、Webサーバ103aは、係るリクエストに関する処理を実行する(ステップS711)。   If the result of authenticating the CSRF token in step S710 is a valid request, the Web server 103a executes processing related to the request (step S711).

次に、Webサーバ103aは、ステップS711における処理の結果に基づいてレスポンスを生成し、係るレスポンスを第2のクライアント101dに返却(送信)する(ステップS712)。   Next, the Web server 103a generates a response based on the processing result in step S711, and returns (transmits) the response to the second client 101d (step S712).

上記ステップS710乃至S712は、それぞれ図5におけるステップS514乃至S516と同様としてもよい。   Steps S710 to S712 may be the same as steps S514 to S516 in FIG.

次に、第2のクライアント101dは、ステップS712において送信されたレスポンスを受信する(ステップS713)。第2のクライアントは、例えば、係るレスポンスをUIに表示してもよい。   Next, the second client 101d receives the response transmitted in step S712 (step S713). For example, the second client may display the response on the UI.

上記説明した処理により、ユーザ104は、Webブラウザ101a及びWebクライアント101bとは独立した第2のクライアント101dを用いて、任意のリクエストをWebサーバ103aに送信可能である。   Through the processing described above, the user 104 can transmit an arbitrary request to the Web server 103a by using the second client 101d independent of the Web browser 101a and the Web client 101b.

以上説明した本実施形態におけるユーザ端末101(特には、Webクライアント101b及び第2のクライアント101d)によれば、CSRF対策が実施されたWebサーバ(Webサーバ103a等)に対して、任意のリクエストを送信可能である。なぜならば、CSRF対策が実施されたサーバ装置102(特には、Webサーバ103a)から取得されたセキュアな通信に用いられる情報(CSRFトークン等)が、ユーザ端末101(特には、Webクライアント101b及び第2のクライアント101d)から送信されるリクエストに含まれるからである。上記したように、係るCSRFトークンは、サーバに送信されたリクエストの正当性を表す情報である。   According to the user terminal 101 (particularly, the Web client 101b and the second client 101d) in the present embodiment described above, an arbitrary request is sent to a Web server (Web server 103a or the like) on which CSRF countermeasures are implemented. It can be sent. This is because information (such as CSRF token) used for secure communication acquired from the server apparatus 102 (particularly, the web server 103a) on which CSRF countermeasures have been implemented is stored in the user terminal 101 (particularly, the web client 101b and This is because it is included in the request transmitted from the second client 101d). As described above, the CSRF token is information indicating the validity of the request transmitted to the server.

より具体的には、本実施形態によれば、第2のクライアント101dが実行される際、Webクライアント101bからCSRFトークンが提供される。第2のクライアント101dは、係るCSRFトークンを参照することにより、正しいCSRFトークンを含んだリクエストを、Webサーバ103aに送信可能である。これにより、ユーザ端末101からサーバ装置102に送信される各リクエストには、正しいCSRFトークンが含まれる。   More specifically, according to the present embodiment, the CSRF token is provided from the Web client 101b when the second client 101d is executed. The second client 101d can transmit a request including the correct CSRF token to the Web server 103a by referring to the CSRF token. Thereby, each request transmitted from the user terminal 101 to the server apparatus 102 includes a correct CSRF token.

また、本実施形態によれば、ユーザ端末101からサーバ装置102に対してリクエストを送信する経路がWebブラウザ101aあるいはWebクライアント101bに限定されない。即ち、本実施形態によれば、Webブラウザ101aあるいはWebクライアント101bとは独立した第2のクライアント101dから、サーバ装置102(特にはWebサーバ103a)に対してリクエストを送信可能である。これより、CSRF攻撃だけでなくクロスサイトスクリプティング(XSS)等、Webブラウザ101aを標的とした他の攻撃に対する安全性が高まる。   Further, according to the present embodiment, the path for transmitting a request from the user terminal 101 to the server apparatus 102 is not limited to the Web browser 101a or the Web client 101b. That is, according to the present embodiment, a request can be transmitted from the second client 101d independent of the Web browser 101a or the Web client 101b to the server apparatus 102 (particularly, the Web server 103a). As a result, not only the CSRF attack but also other attacks such as cross-site scripting (XSS) that target the Web browser 101a are enhanced.

以上より、本実施形態によれば、サーバ(サーバ装置102)から提供される、当該サーバに送信されたリクエストの正当性を表す情報を用いることにより、当該サーバに対して任意のリクエストを発行可能な情報処理装置(ユーザ端末101)等を提供可能である。   As described above, according to the present embodiment, it is possible to issue an arbitrary request to the server by using the information provided from the server (server device 102) indicating the validity of the request transmitted to the server. A simple information processing apparatus (user terminal 101) can be provided.

<第1の実施形態の変形例>
上記説明した第1の実施形態の変形例について説明する。本変形例におけるユーザ端末101、及び、サーバ装置102の機能的な構成は上記第1の実施形態と同様としてよい。
<Modification of First Embodiment>
A modification of the above-described first embodiment will be described. The functional configurations of the user terminal 101 and the server apparatus 102 in this modification may be the same as those in the first embodiment.

上記説明した第1の実施形態においては、Webクライアント101bは、第2のクライアント101dを実行(起動)する際に、CSRFトークン及びCookie等の情報を提供する。   In the first embodiment described above, the Web client 101b provides information such as CSRF token and Cookie when executing (starting) the second client 101d.

これに対して、本変形例においては、Webサーバ103aが、第2のクライアント101d(BMC103における第2のクライアント103d)を送信する際(図7におけるステップS704)、係る第2のクライアント101dに、CSRFトークンを設定する(埋め込む)。換言すると、ステップS703及びステップS704においてWebクライアント101bが取得する第2のクライアント101dには、CSRFトークンが含まれている(埋め込まれている)。   In contrast, in this modification, when the Web server 103a transmits the second client 101d (second client 103d in the BMC 103) (step S704 in FIG. 7), the second client 101d Set (embed) CSRF token. In other words, the CSRF token is included (embedded) in the second client 101d acquired by the Web client 101b in step S703 and step S704.

以上のように構成された本変形例によれば、上記第1の実施形態と同様、第2のクライアント101dは、設定されたCSRFトークンを参照することで、正しいCSRFトークンを含んだリクエストを、Webサーバ103aに送信可能である。これにより、ユーザ端末101からサーバ装置102に送信される各リクエストに、CSRFトークンが含まれる。また、本変形例は、上記第1の実施形態と同様の構成を有することから、上記第1の実施形態と同様の効果を奏する。   According to this modified example configured as described above, as in the first embodiment, the second client 101d refers to the set CSRF token, so that the request including the correct CSRF token is It can be transmitted to the Web server 103a. Thereby, each request transmitted from the user terminal 101 to the server apparatus 102 includes the CSRF token. In addition, since this modification has the same configuration as that of the first embodiment, the same effect as that of the first embodiment can be obtained.

以上より、本実施形態によれば、サーバ(サーバ装置102)から提供される、当該サーバに送信されたリクエストの正当性を表す情報を用いることにより任意のリクエストを発行可能な情報処理装置(ユーザ端末101)等を提供可能である。   As described above, according to the present embodiment, an information processing apparatus (user) that can issue an arbitrary request by using information provided from the server (server apparatus 102) and indicating the validity of the request transmitted to the server. Terminal 101) can be provided.

<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described.

図8は、本実施形態における情報処理装置801の機能的な構成を例示するブロック図である。図8に例示するように、本実施形態における情報処理装置801は、第1の通信処理部802と、第2の通信処理部803とを備える。また、情報処理装置801は、サーバ804と任意の通信回線を介して通信可能に接続されている。以下、情報処理装置801の構成要素について説明する。   FIG. 8 is a block diagram illustrating a functional configuration of the information processing apparatus 801 in the present embodiment. As illustrated in FIG. 8, the information processing apparatus 801 in this embodiment includes a first communication processing unit 802 and a second communication processing unit 803. Further, the information processing apparatus 801 is connected to the server 804 via an arbitrary communication line so as to be communicable. Hereinafter, components of the information processing apparatus 801 will be described.

第1の通信処理部802は、通信回線を介して通信可能に接続されたサーバ804から、当該サーバに送信されたリクエストの正当性を表す第1のトークンを含む通信データを受信する。係る第1の通信処理部802は、例えば、上記第1の実施形態におけるWebクライアント101bと同様としてもよい。   The first communication processing unit 802 receives communication data including a first token representing the validity of a request transmitted to the server from a server 804 that is communicably connected via a communication line. The first communication processing unit 802 may be the same as the Web client 101b in the first embodiment, for example.

第2の通信処理部803は、上記第1の通信処理部が保持する上記第1のトークンを含む他のリクエストを生成する。そして、第2の通信処理部803は、当該生成したリクエストを、上記サーバに対して送信する。係る第2の通信部803は、通信データを上記サーバに対して送信可能な、上記第1の通信処理部802とは異なる送信手段である。係る第2の通信処理部803は、例えば、上記第1の実施形態における第2のクライアント101dと同様としてもよい。   The second communication processing unit 803 generates another request including the first token held by the first communication processing unit. Then, the second communication processing unit 803 transmits the generated request to the server. The 2nd communication part 803 which concerns is a transmission means different from the said 1st communication process part 802 which can transmit communication data with respect to the said server. For example, the second communication processing unit 803 may be the same as the second client 101d in the first embodiment.

具体例として、サーバ装置804においてCSRF対策が実施されている場合を仮定する。この場合、第1の通信処理部802は、例えば、当該サーバ804に送信された通信データの正当性を表す情報であるCSRFトークン(第1のトークン)を、サーバ804から受信する。そして、第2の通信処理部803は、上記第1の通信処理具802が受信したCSRFトークンを含むリクエストを生成し、当該生成したリクエストをサーバ804に対して送信する。この場合、第1の通信処理部802は、例えば、係る第1のトークンを保持するとともに、第2の通史処理部803に対して当該第1のトークンを提供してもよい。これにより、第2の通信処理部803は、サーバ804から提供される、サーバ804に対して送信されたリクエストの正当性を表す情報(CSRFトークン)を用いて、任意のリクエストをサーバ804に対して送信可能である。   As a specific example, it is assumed that a CSRF countermeasure is implemented in the server device 804. In this case, for example, the first communication processing unit 802 receives a CSRF token (first token) that is information indicating the validity of the communication data transmitted to the server 804 from the server 804. Then, the second communication processing unit 803 generates a request including the CSRF token received by the first communication processing tool 802 and transmits the generated request to the server 804. In this case, for example, the first communication processing unit 802 may hold the first token and provide the first token to the second history processing unit 803. As a result, the second communication processing unit 803 sends an arbitrary request to the server 804 using information (CSRF token) representing the validity of the request transmitted from the server 804 and transmitted to the server 804. Can be sent.

以上より、本実施形態における情報処理装置801は、サーバ(サーバ804)から提供される、当該サーバに送信されたリクエストの正当性を表す情報を用いることにより、任意のリクエストを発行可能である。なぜならば、上記第1の通信処理部802がサーバ804から受信した第1のトークンを含むリクエストを、上記第2の通信処理部803がサーバ804に対して可能であるからである。   As described above, the information processing apparatus 801 according to the present embodiment can issue an arbitrary request by using the information provided from the server (server 804) and indicating the validity of the request transmitted to the server. This is because the second communication processing unit 803 can make a request including the first token received by the first communication processing unit 802 from the server 804 to the server 804.

<ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
<Configuration of hardware and software program (computer program)>
Hereinafter, a hardware configuration capable of realizing each of the above-described embodiments will be described.

以下の説明において、上記各実施形態において説明したユーザ端末101、情報処理装置801、及びサーバ装置102をまとめて、単に「情報処理装置」と称する。また、ユーザ端末101、情報処理装置801、及びサーバ装置102の構成要素を、単に「情報処理装置の構成要素」と称する。   In the following description, the user terminal 101, the information processing apparatus 801, and the server apparatus 102 described in the above embodiments are collectively referred to simply as “information processing apparatus”. In addition, the components of the user terminal 101, the information processing device 801, and the server device 102 are simply referred to as “components of the information processing device”.

上記各実施形態において説明した情報処理装置は、専用のハードウェア装置により構成してもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア(処理ロジックを実装した集積回路等)として実現してもよい。   The information processing apparatus described in each of the above embodiments may be configured by a dedicated hardware device. In that case, each component shown in each of the above drawings may be realized as hardware (an integrated circuit or the like on which processing logic is mounted) that is partially or fully integrated.

例えば、各構成要素をハードウェアにより実現する場合、各構成要素は、それぞれの機能を提供可能な集積回路をSoC(System on a Chip)等により実装されてもよい。この場合、例えば、各構成要素が保持するデータは、SoCとして統合されたRAM(Random Access Memory)領域やフラッシュメモリ領域に記憶されてもよい。   For example, when each component is realized by hardware, an integrated circuit capable of providing each function may be mounted by SoC (System on a Chip) or the like. In this case, for example, the data held by each component may be stored in a RAM (Random Access Memory) area or a flash memory area integrated as SoC.

また、この場合、各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。   In this case, a well-known communication bus may be adopted as a communication line for connecting each component. Further, the communication line connecting each component is not limited to bus connection, and each component may be connected by peer-to-peer.

また、上述した情報処理装置は、図9に例示するような汎用のハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。   Further, the information processing apparatus described above may be configured by general-purpose hardware exemplified in FIG. 9 and various software programs (computer programs) executed by the hardware.

図9における演算装置901は、汎用のCPU(Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置901は、例えば後述する不揮発性記憶装置903に記憶された各種ソフトウェア・プログラムを記憶装置902に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態におけるWebクライアント101b、第2のクライアント101d、Webサーバ103a、第1の通信処理部802、第2の通信処理部803等は、演算装置901により実行されるソフトウェア・プログラムとして実現可能である。   The arithmetic device 901 in FIG. 9 is an arithmetic processing device such as a general-purpose CPU (Central Processing Unit) or a microprocessor. The arithmetic device 901 may read various software programs stored in a nonvolatile storage device 903, which will be described later, into the storage device 902, and execute processing according to the software programs. For example, the Web client 101b, the second client 101d, the Web server 103a, the first communication processing unit 802, the second communication processing unit 803, and the like in the above embodiments are software programs executed by the arithmetic device 901. It is feasible.

記憶装置902は、演算装置901から参照可能な、RAM等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置902は、揮発性のメモリ装置であってもよい。   The storage device 902 is a memory device such as a RAM that can be referred to from the arithmetic device 901, and stores software programs, various data, and the like. Note that the storage device 902 may be a volatile memory device.

不揮発性記憶装置903は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置903は、各種ソフトウェア・プログラムやデータ等を記憶可能である。   The nonvolatile storage device 903 is a nonvolatile storage device such as a magnetic disk drive or a semiconductor storage device using flash memory. The nonvolatile storage device 903 can store various software programs, data, and the like.

ネットワークインタフェース906は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のLAN(Local Area Network)接続用インタフェース装置等を採用してもよい。上記各実施形態において、ユーザ端末101はネットワークインタフェース906を介して、サーバ装置102と接続されてもよい。また、情報処理装置801は、ネットワークインタフェース906を介して、サーバ804と接続されてもよい。   The network interface 906 is an interface device that connects to a communication network. For example, a wired and wireless LAN (Local Area Network) connection interface device or the like may be employed. In each of the above embodiments, the user terminal 101 may be connected to the server apparatus 102 via the network interface 906. Further, the information processing apparatus 801 may be connected to the server 804 via the network interface 906.

ドライブ装置904は、例えば、後述する記憶媒体905に対するデータの読み込みや書き込みを処理する装置である。   The drive device 904 is, for example, a device that processes reading and writing of data with respect to a storage medium 905 described later.

記憶媒体905は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。   The storage medium 905 is an arbitrary recording medium capable of recording data, such as an optical disk, a magneto-optical disk, and a semiconductor flash memory.

入出力インタフェース907は、外部装置との間の入出力を制御する装置である。   The input / output interface 907 is a device that controls input / output with an external device.

上述した各実施形態を例に説明した本発明は、例えば、図9に例示したハードウェア装置により情報処理装置を構成し、係るハードウェア装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより実現されてもよい。この場合、係る装置に対して供給したソフトウェア・プログラムを、演算装置901が実行することによって、本発明が実現されてもよい。   The present invention described by taking the above-described embodiments as examples, for example, configures an information processing device by the hardware device illustrated in FIG. 9 and realizes the functions described in the above-described embodiments for the hardware device. It may be realized by supplying possible software programs. In this case, the present invention may be realized by the arithmetic device 901 executing the software program supplied to the device.

上述した各実施形態において、上記各図(例えば、図1、図3、図4、及び図8)に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能(処理)単位である、ソフトウェアモジュールとして実現することができる。ただし、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。   In each of the above-described embodiments, each unit illustrated in each of the above drawings (for example, FIG. 1, FIG. 3, FIG. 4, and FIG. 8) is a function (processing) unit of a software program executed by the above-described hardware. It can be realized as a software module. However, the division of each software module shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for implementation.

例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールを不揮発性記憶装置903に記憶しておき、演算装置901がそれぞれの処理を実行する際に、これらのソフトウェアモジュールを記憶装置902に読み出すよう構成してもよい。   For example, when the above-described units are realized as software modules, these software modules are stored in the nonvolatile storage device 903, and these software modules are stored in the storage device 902 when the arithmetic device 901 executes each process. You may comprise so that it may read.

また、これらのソフトウェアモジュールの間は、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成してもよい。このような構成により、これらのソフトウェアモジュールの間は、相互に通信可能に接続可能である。   In addition, various kinds of data may be transmitted between these software modules by an appropriate method such as shared memory or interprocess communication. With such a configuration, these software modules can be connected so as to communicate with each other.

更に、上記各ソフトウェア・プログラムを記憶媒体905に記録しておき、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置904を通じて当該ソフトウェア・プログラムを不揮発性メモリ903に格納するよう構成してもよい。   Further, each software program is recorded in the storage medium 905, and the software program is stored in the nonvolatile memory 903 through the drive device 904 as appropriate at the shipping stage or operation stage of the communication device or the like. May be.

なお、上記の場合において、上記情報処理装置への各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。   In the above case, the method of supplying various software programs to the information processing apparatus is installed in the apparatus using an appropriate jig at the manufacturing stage before shipment or the maintenance stage after shipment. You may adopt the method of doing. As a method for supplying various software programs, a general procedure may be adopted at present, such as a method of downloading from the outside via a communication line such as the Internet.

そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。   In such a case, the present invention can be understood to be constituted by a code constituting the software program or a computer-readable storage medium in which the code is recorded.

また、上述した情報処理装置、あるいは、当情報処理装置の構成要素は、図9に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図9に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図9に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。   In addition, the information processing apparatus described above or a component of the information processing apparatus includes a virtual environment obtained by virtualizing the hardware device illustrated in FIG. 9 and various software programs (computers) executed in the virtual environment. -A program). In this case, the components of the hardware device illustrated in FIG. 9 are provided as virtual devices in the virtual environment. In this case as well, the present invention can be realized with the same configuration as when the hardware device illustrated in FIG. 9 is configured as a physical device.

以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。   In the above, this invention was demonstrated as an example applied to exemplary embodiment mentioned above. However, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to such embodiments. In such a case, new embodiments to which such changes or improvements are added can also be included in the technical scope of the present invention. Furthermore, the embodiments described above, or embodiments obtained by combining the new embodiments with such changes or improvements can also be included in the technical scope of the present invention. This is clear from the matters described in the claims.

101 ユーザ端末
101a Webブラウザ
101b Webクライアント
101c スクリプト
101d 第2のクライアント
102 サーバ装置
103 BMC
103a Webサーバ
103b コンテンツ
103c スクリプト
103d 第2のクライアント
103e サービス処理部
301 情報入力部
302 リクエスト作成部
303 CSRFトークン付加部
304 通信部
305 レスポンス解析部
401 通信部
402 リクエスト解析部
403 CSRFトークン認証部
404 リクエスト処理部
405 レスポンス返却部
801 情報処理装置
802 第1の通信処理部
803 第2の通信処理部
804 サーバ
901 演算装置
902 記憶装置
903 不揮発性記憶装置
904 ドライブ装置
905 記憶媒体
906 ネットワークインタフェース
907 入出力インタフェース
101 User terminal 101a Web browser 101b Web client 101c Script 101d Second client 102 Server device 103 BMC
103a Web server 103b Content 103c Script 103d Second client 103e Service processing unit 301 Information input unit 302 Request creation unit 303 CSRF token addition unit 304 Communication unit 305 Response analysis unit 401 Communication unit 402 Request analysis unit 403 CSRF token authentication unit 404 Request Processing unit 405 Response return unit 801 Information processing device 802 First communication processing unit 803 Second communication processing unit 804 Server 901 Arithmetic device 902 Storage device 903 Non-volatile storage device 904 Drive device 905 Storage medium 906 Network interface 907 Input / output interface

Claims (10)

通信回線を介して通信可能に接続されたサーバから、当該サーバに送信されたリクエストの正当性を表す第1のトークンを含む通信データを受信する第1の通信処理手段と、
前記第1の通信処理手段が保持する前記第1のトークンを含む前記リクエストを生成し、当該生成した前記リクエストを前記サーバに対して送信可能な、前記第1の通信処理手段とは異なる第2の通信処理手段と、を備える
情報処理装置。
First communication processing means for receiving communication data including a first token representing the validity of a request transmitted to the server from a server communicably connected via a communication line;
A second different from the first communication processing means capable of generating the request including the first token held by the first communication processing means and transmitting the generated request to the server. An information processing apparatus.
前記第1の通信処理手段は、前記第2の通信処理手段に対して、前記サーバから受信した前記第1のトークンを提供する、
情報処理装置。
The first communication processing means provides the first token received from the server to the second communication processing means.
Information processing device.
前記第2の通信処理手段は、
任意の前記リクエストの生成に関するデータの入力を受け付け、
当該受け付けたデータを用いて前記第1のトークンを含む前記リクエストを生成し、
当該生成した前記リクエストを前記サーバに対して送信する
請求項1または請求項2に記載の情報処理装置。
The second communication processing means includes:
Accepts input of data regarding the generation of any said request,
Generating the request including the first token using the received data;
The information processing apparatus according to claim 1, wherein the generated request is transmitted to the server.
前記第1の通信処理手段は、
前記サーバに対する認証要求を含む前記リクエストを送信し、
当該リクエストを受信した前記サーバにより生成された、前記サーバと、前記第1の通信処理手段との間の認証済みの通信セッションを表す第2のトークンと、前記第1のトークンとを含む前記通信データを前記サーバから受信し、
前記第2の通信処理手段は、
前記第1のトークンと、前記第2のトークンとを含む前記リクエストを前記サーバに対して送信する
請求項1乃至請求項3のいずれかに記載の情報処理装置。
The first communication processing means includes:
Sending the request including an authentication request to the server;
The communication including the second token representing the authenticated communication session between the server, the first communication processing means, and the first token generated by the server that has received the request Receiving data from the server,
The second communication processing means includes:
The information processing apparatus according to any one of claims 1 to 3, wherein the request including the first token and the second token is transmitted to the server.
前記第2の通信処理手段は、自装置において実行可能なアプリケーションであり、
前記第1の通信処理手段は、
前記アプリケーションの取得を要求する、前記第1のトークンを含む前記リクエストを生成し、
当該生成した前記リクエストを前記サーバに送信することにより、前記サーバから前記アプリケーションを取得し、
当該取得した前記アプリケーションを自装置において実行する、
請求項1乃至請求項4のいずれかに記載の情報処理装置。
The second communication processing means is an application that can be executed in its own device,
The first communication processing means includes:
Generating the request including the first token requesting acquisition of the application;
The application is acquired from the server by sending the generated request to the server,
Execute the acquired application on its own device,
The information processing apparatus according to any one of claims 1 to 4.
通信回線を介して通信可能に接続されたサーバから、当該サーバに送信されたリクエストの正当性を表す第1のトークンを含む通信データを受信する第1の通信処理手段と、
前記第1のトークンを含む前記リクエストを生成し、当該リクエストを前記サーバに対して送信可能な前記第1の通信処理手段とは異なる第2の通信処理手段と、を備え、
前記第2の通信処理手段は、前記サーバに保持されるとともに、前記サーバにより前記第1のトークンが設定された、自装置において実行可能なアプリケーションであり、
前記第1の通信処理手段は、
前記アプリケーションの取得を要求する、前記第1のトークンを含む前記リクエストを生成し、
当該生成した前記リクエストを前記サーバに送信することにより、前記サーバから前記アプリケーションを取得し、
当該取得した前記アプリケーションを自装置において実行する、
情報処理装置。
First communication processing means for receiving communication data including a first token representing the validity of a request transmitted to the server from a server communicably connected via a communication line;
A second communication processing unit different from the first communication processing unit capable of generating the request including the first token and transmitting the request to the server;
The second communication processing means is an application that can be executed in its own device, held in the server, and in which the first token is set by the server.
The first communication processing means includes:
Generating the request including the first token requesting acquisition of the application;
The application is acquired from the server by sending the generated request to the server,
Execute the acquired application on its own device,
Information processing device.
請求項1乃至請求項6のいずれかに記載の情報処理装置と、
通信回線を介して前記情報処理装置と通信可能に接続されたサーバ装置と、を備え、
前記サーバ装置は、
前記情報処理装置からの要求に応じて、当該情報処理装置から前記サーバ装置に対して送信されたリクエストの正当性を表す第1のトークンを含む通信データを当該情報処理装置に送信し、
前記情報処理装置に送信した前記第1のトークンと、前記情報処理装置における前記第2の通信処理手段から受信した他の前記リクエストに含まれる第1のトークンとを比較した結果に基づいて、当該受信した他の前記リクエストが不正なリクエストではないと判断した場合には、当該受信した他の前記リクエストに基づいて、前記情報処理装置からの要求に応じた処理を実行する、
情報処理システム。
An information processing apparatus according to any one of claims 1 to 6,
A server device communicably connected to the information processing device via a communication line,
The server device
In response to a request from the information processing apparatus, the communication data including the first token representing the validity of the request transmitted from the information processing apparatus to the server apparatus is transmitted to the information processing apparatus.
Based on the result of comparing the first token transmitted to the information processing device and the first token included in the other request received from the second communication processing unit in the information processing device, When it is determined that the other received request is not an illegal request, based on the received other request, a process according to a request from the information processing apparatus is executed.
Information processing system.
請求項5又は請求項6に記載の情報処理装置と、
通信回線を介して前記情報処理装置と通信可能に接続されたサーバ装置と、を備え、
前記サーバ装置は、
前記情報処理装置からの要求に応じて、当該情報処理装置から前記サーバ装置に対して送信されたリクエストの正当性を表す第1のトークンを含む通信データを当該情報処理装置に送信し、
前記情報処理装置からの要求に応じて、前記情報処理装置において実行可能なアプリケーションを、前記情報処理装置に送信し、
前記情報処理装置に送信した前記第1のトークンと、前記情報処理装置において実行された前記アプリケーションから受信した他の前記リクエストに含まれる前記第1のトークンとを比較した結果に基づいて、当該受信した他の前記リクエストが不正なリクエストではないと判断した場合には、当該受信した他の前記リクエストに基づいて、前記情報処理装置からの要求に応じた処理を実行する、
情報処理システム。
An information processing device according to claim 5 or 6,
A server device communicably connected to the information processing device via a communication line,
The server device
In response to a request from the information processing apparatus, the communication data including the first token representing the validity of the request transmitted from the information processing apparatus to the server apparatus is transmitted to the information processing apparatus.
In response to a request from the information processing apparatus, an application executable in the information processing apparatus is transmitted to the information processing apparatus,
Based on a result of comparing the first token transmitted to the information processing device and the first token included in another request received from the application executed in the information processing device, the reception When it is determined that the other request is not an illegal request, based on the received other request, a process according to a request from the information processing device is executed.
Information processing system.
情報処理装置が、
通信回線を介して通信可能に接続されたサーバから、当該サーバに送信されたリクエストの正当性を表す第1のトークンを含む通信データを第1の通信処理手段を用いて受信し、
前記第1の通信処理手段が保持する前記第1のトークンを含む前記リクエストを生成し、
前記第1の通信処理手段とは異なる第2の通信処理手段を用いて、生成した前記リクエストを前記サーバに対して送信する
情報処理方法。
Information processing device
From a server connected to be able to communicate via a communication line, communication data including a first token representing the validity of a request transmitted to the server is received using the first communication processing unit,
Generating the request including the first token held by the first communication processing unit;
An information processing method for transmitting the generated request to the server using a second communication processing unit different from the first communication processing unit.
通信回線を介して通信可能に接続されたサーバから、当該サーバに送信されたリクエストの正当性表す第1のトークンを含む通信データを第1の通信処理手段を用いて受信する処理と、
前記第1の通信処理手段が保持する前記第1のトークンを含む前記リクエストを生成する処理と、
前記第1の通信処理手段とは異なる第2の通信処理手段を用いて、生成した前記リクエストを前記サーバに対して送信する処理と、をコンピュータに実行させる
コンピュータ・プログラム。
A process of receiving communication data including a first token representing the validity of a request transmitted to the server from a server communicably connected via a communication line using the first communication processing unit;
Processing for generating the request including the first token held by the first communication processing unit;
A computer program that causes a computer to execute a process of transmitting the generated request to the server using a second communication processing unit different from the first communication processing unit.
JP2014238662A 2014-11-26 2014-11-26 Information processing apparatus, information processing system, information processing method, and computer program Active JP6394326B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014238662A JP6394326B2 (en) 2014-11-26 2014-11-26 Information processing apparatus, information processing system, information processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014238662A JP6394326B2 (en) 2014-11-26 2014-11-26 Information processing apparatus, information processing system, information processing method, and computer program

Publications (2)

Publication Number Publication Date
JP2016099924A true JP2016099924A (en) 2016-05-30
JP6394326B2 JP6394326B2 (en) 2018-09-26

Family

ID=56077923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014238662A Active JP6394326B2 (en) 2014-11-26 2014-11-26 Information processing apparatus, information processing system, information processing method, and computer program

Country Status (1)

Country Link
JP (1) JP6394326B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236938A1 (en) * 2003-05-23 2004-11-25 International Business Machines Corporation Consolidated technique for authenticating a user to two or more applications
US20060117179A1 (en) * 2004-11-30 2006-06-01 Yucel Karabulut Method and system for delegating authority in an online collaborative environment
JP2006251893A (en) * 2005-03-08 2006-09-21 Mitsubishi Electric Corp Application acquisition system, application acquisition method and storage device
JP2007226470A (en) * 2006-02-22 2007-09-06 Nec Corp Authority management server, authority management method, and authority management program
JP2008226015A (en) * 2007-03-14 2008-09-25 Fujitsu Ltd Session authority management method
JP2014038608A (en) * 2012-08-20 2014-02-27 Naver Corp Application log-in system due to authentication sharing, method and computer readable recording medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236938A1 (en) * 2003-05-23 2004-11-25 International Business Machines Corporation Consolidated technique for authenticating a user to two or more applications
US20060117179A1 (en) * 2004-11-30 2006-06-01 Yucel Karabulut Method and system for delegating authority in an online collaborative environment
JP2006251893A (en) * 2005-03-08 2006-09-21 Mitsubishi Electric Corp Application acquisition system, application acquisition method and storage device
JP2007226470A (en) * 2006-02-22 2007-09-06 Nec Corp Authority management server, authority management method, and authority management program
JP2008226015A (en) * 2007-03-14 2008-09-25 Fujitsu Ltd Session authority management method
JP2014038608A (en) * 2012-08-20 2014-02-27 Naver Corp Application log-in system due to authentication sharing, method and computer readable recording medium

Also Published As

Publication number Publication date
JP6394326B2 (en) 2018-09-26

Similar Documents

Publication Publication Date Title
EP2919435B1 (en) Communication terminal and secure log-in method and program
CN108369615B (en) Dynamically updating CAPTCHA challenges
US10085150B2 (en) Authenticating mobile applications using policy files
US9106642B1 (en) Synchronizing authentication sessions between applications
US10225260B2 (en) Enhanced authentication security
US9369460B2 (en) Authentication manager
US20100043065A1 (en) Single sign-on for web applications
US8869258B2 (en) Facilitating token request troubleshooting
US9369286B2 (en) System and methods for facilitating authentication of an electronic device accessing plurality of mobile applications
US9104838B2 (en) Client token storage for cross-site request forgery protection
US10911485B2 (en) Providing cross site request forgery protection at an edge server
KR20160083930A (en) Method and system for determining whether a terminal logging into a website is a mobile terminal
CN112491776B (en) Security authentication method and related equipment
KR20140106360A (en) System and Method for OTP authentication
CN111865882B (en) Micro-service authentication method and system
Ferry et al. Security evaluation of the OAuth 2.0 framework
US9614828B1 (en) Native authentication experience with failover
US10554643B2 (en) Method and system to provide additional security mechanism for packaged web applications
CN114500054B (en) Service access method, service access device, electronic device, and storage medium
US11777942B2 (en) Transfer of trust between authentication devices
RU2638779C1 (en) Method and server for executing authorization of application on electronic device
US9742758B1 (en) Techniques for network site validation
JP5383923B1 (en) Information processing apparatus, information processing system, information processing method, and program
Li et al. Your code is my code: Exploiting a common weakness in OAuth 2.0 implementations
JP6394326B2 (en) Information processing apparatus, information processing system, information processing method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180813

R150 Certificate of patent or registration of utility model

Ref document number: 6394326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150