JP5811006B2 - Information processing apparatus, information processing method, and information processing program - Google Patents
Information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP5811006B2 JP5811006B2 JP2012077966A JP2012077966A JP5811006B2 JP 5811006 B2 JP5811006 B2 JP 5811006B2 JP 2012077966 A JP2012077966 A JP 2012077966A JP 2012077966 A JP2012077966 A JP 2012077966A JP 5811006 B2 JP5811006 B2 JP 5811006B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- access
- address
- information processing
- processing apparatus
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and an information processing program.
従来、ウェブブラウザがAPI(Application Program Interface)呼び出しが埋め込まれたウェブページを取得した場合、APIがウェブページのOriginとは異なるOriginから取得した情報にアクセスすることを禁止する「Same Origin Policy」が規定されている。Originとは、例えば、URI(Uniform Resource Identifier)の中のスキーム、ホスト名、ポート番号の組み合わせである。 Conventionally, when a web browser acquires a web page in which an API (Application Program Interface) call is embedded, “Same Origin Policy” that prohibits the API from accessing information acquired from Origin different from the Origin of the web page is “Same Origin Policy”. It is prescribed. Origin is, for example, a combination of a scheme, host name, and port number in a URI (Uniform Resource Identifier).
ここで、情報利用の効率化のために、「Same Origin Policy」を回避する場合がある。例えば、ウェブブラウザの利用者は、ウェブブラウザに情報のアクセスを許可するOriginやURIやURL((Uniform Resource Locator))を設定することにより、「Same Origin Policy」を回避することができる。 Here, there is a case where “Same Origin Policy” is avoided for efficient use of information. For example, a user of a web browser can avoid “Same Origin Policy” by setting an Origin, URI, or URL ((Uniform Resource Locator)) that permits access to information to the web browser.
また、URIを関連付けたノード群を含み、ノード群のうち、アクセスを許可するアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとをエッジにより接続したグラフに推移律を適用する技術がある(例えば、下記特許文献1参照)。推移律とは、アクセスの許可関係を示すグラフにおいて、アクセス元URIのノードから推移可能なノードの中に、アクセス先URIのノードがあれば、アクセス可能と判定する規則である。また、辞書や文法規則などの知識を示すグラフのノードに変数を関連付けられるようにした上で、共通の文字列を示すノードを統一化する技術がある(例えば、下記特許文献2参照)。 In addition, there is a technique that includes a node group associated with a URI, and applies a transition rule to a graph in which a node associated with an access source URI that allows access and a node associated with an access destination URI are connected by an edge. (For example, see Patent Document 1 below). The transition rule is a rule for determining that access is possible if there is a node of the access destination URI among the nodes that can transition from the node of the access source URI in the graph indicating the access permission relationship. Further, there is a technique for unifying nodes indicating common character strings after allowing variables to be associated with nodes of a graph indicating knowledge such as a dictionary and grammatical rules (for example, see Patent Document 2 below).
しかしながら、上述した従来技術のようにアクセスを許可するURIをグラフのノードとして設定する場合、アクセスを許可するURIを網羅的に設定することになり、利用者による設定作業量が増大する。また、複数のURIをパターンを用いて1つのURIとして表してグラフのノードに関連付けた場合、当該ノード間が接続されていないため、ウェブブラウザは、当該ノード間を推移できないと判定する。そのため、ウェブブラウザは、推移律を適用しても、本来、推移可能になるべき或るURIのノードから或るURIのノードへの推移ができず、アクセス可能と判定すべきURIの組をアクセス不可能なURIの組と判定してしまう。結果として、ウェブブラウザは、アクセス可能と判定すべき或るURIから或るURIへのアクセスを禁止してしまう。 However, when the URI permitting access is set as a graph node as in the above-described prior art, the URI permitting access is set comprehensively, and the amount of setting work by the user increases. In addition, when a plurality of URIs are represented as one URI using a pattern and associated with the nodes of the graph, the nodes are not connected, and the web browser determines that the transition between the nodes cannot be made. Therefore, even if the transition rule is applied, the web browser cannot change from a certain URI node that should originally be allowed to transition to a certain URI node, and accesses a set of URIs that should be determined to be accessible. It is determined to be an impossible URI set. As a result, the web browser prohibits access from a certain URI to be determined to be accessible to a certain URI.
例えば、利用者が、URI「A」からパターンを用いて表現されたURI「B」へのアクセスを許可し、パターンを用いて表現されたURI「B」に含まれるURI「B1」からURI「C」へのアクセスを許可したとする。この場合、URI「A」からURI「B」へアクセスが許可され、URI「B」に含まれるURI「B1」からURI「C」へアクセスが許可されたため、URI「A」からURI「C」へのアクセスは許可されるべきである。しかしながら、上述した従来技術では、URI「B」のノードからURI「B1」のノードへは接続されていないため、ウェブブラウザは、URI「B」のノードからURI「B1」のノードへは推移できないと判定する。そのため、ウェブブラウザは、URI「A」のノードからURI「C」のノードへは、URI「B」のノードやURI「B1」のノードを経由しても推移できないと判定し、URI「A」からURI「C」へのアクセスを禁止してしまう。 For example, the user permits access to the URI “B” expressed by using the pattern from the URI “A”, and the URI “B1” to the URI “B” included in the URI “B” expressed by using the pattern. Assume that access to “C” is permitted. In this case, since access from the URI “A” to the URI “B” is permitted and access from the URI “B1” included in the URI “B” to the URI “C” is permitted, the URI “C” to the URI “C” are permitted. Access to should be allowed. However, in the above-described prior art, since the node of URI “B” is not connected to the node of URI “B1”, the web browser cannot transition from the node of URI “B” to the node of URI “B1”. Is determined. Therefore, the web browser determines that the transition from the node of URI “A” to the node of URI “C” cannot proceed even via the node of URI “B” or the node of URI “B1”, and URI “A”. Access to URI “C” is prohibited.
本発明は、アクセスの許可設定の効率化を図ることを目的とする。 An object of the present invention is to improve the efficiency of access permission setting.
本発明の一側面によれば、アクセス元アドレスとアクセス先アドレスとを入力し、統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、マッチすると判定された場合、アクセス元アドレスからアクセス先アドレスへのアクセスを禁止する状態から、アクセス元アドレスからアクセス先アドレスへのアクセスを許可する状態に設定する情報処理装置、情報処理方法、および情報処理プログラムが提案される。 According to an aspect of the present invention, a transition source node that is set to be transitionable among nodes associated with an address expressed by a pattern in a language that can be unified by inputting an access source address and an access destination address. Connection information indicating the pair of the destination node and the transition destination node is obtained, and unified information indicating the pair of nodes that can transition between nodes having a common address among the nodes associated with the address is obtained and the address is associated. From among the nodes, identify the node associated with the address that matches the input access source address, and search for a node that can transition from the identified node based on the acquired connection information and unified information. It is determined whether or not the input destination address matches the address associated with the specified node. Information processing apparatus, information processing method, and information processing program for setting from access source address to access destination address prohibited state to access source address to access destination address permitted state Is proposed.
本発明の一側面によれば、アクセスの許可設定の効率化を図ることができるという効果を奏する。 According to one aspect of the present invention, it is possible to improve the efficiency of access permission setting.
以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理方法、および情報処理プログラムの実施の形態を詳細に説明する。 Exemplary embodiments of an information processing apparatus, an information processing method, and an information processing program according to the present invention will be explained below in detail with reference to the accompanying drawings.
図1は、情報処理装置によるアクセス可否判定の流れを示す説明図である。情報処理装置100は、関係グラフ101と統一グラフ102とを交互に辿ることにより、或るアクセス元URIから或るアクセス先URIへのアクセスが許可できるか否かを判定するコンピュータである。実際には、情報処理装置100は、例えば、ウェブブラウザを用いて、或るアクセス元URIから或るアクセス先URIへのアクセスが許可できるか否かを判定する。
FIG. 1 is an explanatory diagram showing a flow of access permission determination by the information processing apparatus. The
関係グラフ101とは、統一化判定可能な言語によるパターンで表現されたURIを関連付けたノード群を有するグラフである。また、関係グラフ101とは、利用者によってアクセスを許可すると設定されたアクセス元URIとアクセス先URIとを関連付けたノードの組を有向エッジにより接続したグラフである。有向エッジは、推移可能な方向を、アクセス元URIを関連付けたノードからアクセス先URIを関連付けたノードへの方向に制限したエッジである。換言すれば、アクセス先URIを関連付けたノードからアクセス元URIを関連付けたノードへは推移できない。関係グラフ101は、例えば、情報処理装置100の利用者により入力される。
The
統一グラフ102とは、関係グラフ101と同一のノード群を有し、共通のURIがマッチするパターンで表現されたURIが関連付けられたノードの組をエッジにより接続したグラフである。また、統一グラフ102とは、各ノードを、各ノード自体とエッジにより接続したグラフである。統一グラフ102は、例えば、情報処理装置100により関係グラフ101から生成される。
The
アクセス元URIは、情報処理装置100により取得されたAPI呼び出しがあるウェブページのURIである。API呼び出しは、ウェブサーバにアクセスし、ウェブサーバから情報を取得するAPIの呼び出しである。アクセス先URIは、APIによりアクセスされるウェブページのURIである。
The access source URI is a URI of a web page with an API call acquired by the
ここで、API呼び出しがあるウェブページのURIとAPIによりアクセスされるウェブページのURIの組は、「Same Origin Policy」に従ってアクセスが禁止されたURIの組である場合がある。そのため、情報処理装置100はアクセス元URIからアクセス先URIへのアクセスを許可するか否かを判定する。
Here, there is a case where a URI of a web page with an API call and a URI of a web page accessed by the API is a URI forbidden to access in accordance with “Same Origin Policy”. Therefore, the
図1の(A)に示すように、(1)情報処理装置100は、利用者から関係グラフ101の入力を受け付ける。図1の例では、関係グラフ101は、ノードN1〜N4を含む。ノードN1は、URI「https://a.example.com」を関連付けたノードである。ノードN2は、URI「//b.example.net」を関連付けたノードである。ノードN3は、URI「https://@example.net」を関連付けたノードである。ノードN4は、URI「https://c.example.com:443」を関連付けたノードである。
As shown in FIG. 1A, (1) the
(2)情報処理装置100は、関係グラフ101から統一グラフ102を生成する。情報処理装置100は、例えば、ノードN1〜N4の中から、統一化可能なノード同士を特定する。統一化可能なノード同士とは、共通のURIがマッチする統一化判定可能な言語によるパターンで表現されたURIを関連付けられた2つのノードである。図1の例では、ノードN2とノードN3とは、共通のURI(例えば、「https://b.example.net」)がマッチするURI「//b.example.net」と「https://@example.net」とが関連付けられているため、統一化可能なノード同士である。次に、情報処理装置100は、統一化可能なノード同士を接続した統一グラフ102を生成する。関係グラフ101からの統一グラフ102の生成の詳細については図4〜図9を用いて後述する。
(2) The
ここで、図1の(B)に示すように、(3)情報処理装置100は、APIがあるウェブページを取得する。次に、情報処理装置100は、取得したウェブページにあるAPIが、或るウェブページにリクエストを送信しレスポンスを受信したことを検出する。情報処理装置100は、レスポンスを受信したことを検出すると、APIがあるウェブページのURIをアクセス元URIとして入力し、ウェブページにあるAPI呼び出しがアクセスするURIをアクセス先URIとして入力する。
Here, as shown in FIG. 1B, (3) the
図1の例では、情報処理装置100は、アクセス元URI「https://a.example.com:443」と、アクセス先URI「https://c.example.com:443」と、の入力を受け付ける。
In the example of FIG. 1, the
(4)次に、情報処理装置100は、推移律を用いて、アクセス元URIからアクセス先URIへとアクセス可能か否かを判定する。推移律とは、アクセスの許可関係を示す関係グラフ101において、アクセス元URIがマッチするURIが関連付けられたノードから推移可能なノードの中に、アクセス先URIがマッチするURIが関連付けられたノードがあれば、アクセス可能と判定する規則である。
(4) Next, the
図1の例では、情報処理装置100は、アクセス元URIがマッチする統一化判定可能な言語によるパターンで表現されたURIが関連付けられたノードN1を特定する。次に、情報処理装置100は、関係グラフ101において、ノードN1に隣接し、ノードN1から推移可能なノードN2を探索する。
In the example of FIG. 1, the
そして、情報処理装置100は、統一グラフ102において、ノードN2に隣接し、ノードN2から推移可能なノードN3を探索する。次に、情報処理装置100は、関係グラフ101において、ノードN3に隣接し、ノードN3から推移可能なノードN4を探索する。ここで、ノードN4は、アクセス先URIがマッチする統一化判定可能な言語によるパターンで表現されたURIが関連付けられている。
Then, the
そのため、情報処理装置100は、アクセス元URIがマッチするURIを関連付けられたノードN1から、アクセス先URIがマッチするURIを関連付けられたノードN4へと、推移可能であると判定する。そのため、情報処理装置100は、アクセス元URIからアクセス先URIへアクセス可能であると判定する。情報処理装置100は、アクセス可能と判定された場合、アクセス元URIのウェブページにあるAPIによる、アクセス先URIのウェブページからのレスポンスへのアクセスを許可する。アクセス可否の判定の詳細については図10〜図12を用いて後述する。
Therefore, the
このように、情報処理装置100は、統一化判定可能な言語によるパターンで表現されたURIを含む関係グラフ101に対して、推移律を用いることができる。そのため、情報処理装置100は、統一化判定可能な言語により、アクセス許可の設定の効率化を図ることができ、かつ、推移律を用いてアクセス可否を判定できるようになる。
As described above, the
図1の例では、ネットワークにおけるウェブページの場所を示す情報として、URIを使用したが、これに限らない。例えば、ネットワークにおけるウェブページの場所を示す情報として、Originを使用してもよいし、URLを使用してもよい。 In the example of FIG. 1, the URI is used as information indicating the location of the web page in the network, but the present invention is not limited thereto. For example, Origin or URL may be used as information indicating the location of a web page on the network.
(情報処理装置100のハードウェア構成例)
図2は、実施の形態にかかる情報処理装置100のハードウェア構成例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ(Hard Disk Drive)204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
(Hardware configuration example of information processing apparatus 100)
FIG. 2 is a block diagram of a hardware configuration example of the
ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御に従って磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
Here, the
光ディスクドライブ206は、CPU201の制御に従って光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
The
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
The
インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、例えばモデムやLANアダプタなどを採用することができる。
An interface (hereinafter abbreviated as “I / F”) 209 is connected to a network 214 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line. Connected to other devices. The I /
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
The
スキャナ212は、画像を光学的に読み取り、情報処理装置100内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ206、光ディスク207、ディスプレイ208、キーボード210、マウス211、スキャナ212、およびプリンタ213の少なくともいずれか1つは、なくてもよい。
The
(情報処理装置100の機能的構成例)
次に、図3を用いて、情報処理装置100の機能的構成例について説明する。図3は、情報処理装置100の機能的構成を示すブロック図である。情報処理装置100は、入力部301と、取得部302と、生成部303と、特定部304と、探索部305と、判定部306と、設定部307と、出力部308と、を含む。入力部301と、取得部302と、生成部303と、特定部304と、探索部305と、判定部306と、設定部307と、出力部308とは、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
(Functional configuration example of information processing apparatus 100)
Next, a functional configuration example of the
入力部301は、アクセス元アドレスとアクセス先アドレスとを入力する。アドレスとは、ネットワークにおけるウェブページの場所を示す情報であり、例えば、OriginやURIやURLである。アクセス元アドレスとは、例えば、情報処理装置100が取得したウェブページのOriginやURIやURLである。アクセス先アドレスとは、例えば、ウェブページ内のAPI呼び出しによるリクエストの送信先になりレスポンスを返すウェブページのOriginやURIやURLである。
The
ここで、ウェブページ内のAPI呼び出しの生成元のURIとAPIによるリクエストの送信先になるURIは、「Same Origin Policy」に従ってアクセスが禁止されたURIの組である場合がある。アクセスの禁止とは、例えば、アクセス元URIのウェブページにおいて呼び出されたAPIからの、アクセス先URIのウェブページから返されたレスポンスへのアクセスを、禁止することをいう。 Here, the URI that is the API call generation source in the web page and the URI that is the transmission destination of the request by the API may be a set of URIs whose access is prohibited in accordance with “Same Origin Policy”. Prohibiting access means, for example, prohibiting access to a response returned from the web page of the access destination URI from the API called in the web page of the access source URI.
入力部301は、具体的には、図1の例では、ウェブサーバにリクエストを送信するAPI呼び出しを有するウェブページのデータを取得する。ウェブページのデータとは、例えば、HTML文書のデータである。HTML文書には、例えば、「Java(登録商標)Script」を用いて、API呼び出しが記述されている。次に、入力部301は、ウェブページのAPIが呼び出されると、API呼び出しを有するウェブページのURLを抽出する。
Specifically, in the example of FIG. 1, the
そして、入力部301は、抽出したURLをURI「https://a.example.com:443」に変換して、アクセス元URIの入力として受け付ける。ここで、入力部301は、より具体的には、例えば、URLのスキーム、ホスト名、ポート番号を抽出して連結することにより、URLをURIに変換する。また、入力部301は、ポート番号が省略されている場合は、ポート番号を補完する。一般に、入力部301は、ポート番号が省略されている場合、ポート番号として80番を補完する。
Then, the
また、入力部301は、呼び出されたAPIの引数として指定されるリクエストの送信先になるURLを抽出し、URI「https://c.example.com:443」に変換して、アクセス先URIの入力として受け付ける。URLからURIへの変換の処理は、上述したアクセス元URIの変換の処理と同様である。
Further, the
また、入力部301は、アクセス先アドレスから受信するレスポンスの種別を入力してもよい。入力部301は、具体的には、例えば、APIによって受信されたレスポンスの種別「text/html」の入力を受け付ける。入力部301は、より具体的には、例えば、APIによって受信したレスポンスの種別を、受信したレスポンスのヘッダデータから抽出する。これにより、判定部306は、入力部301によって入力されたアクセス元URIからアクセス先URIへのアクセス可否を判定することができる。入力されたデータは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
Further, the
取得部302は、統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する。ここで、統一化可能な言語によるパターンとは、文字列の集合を或る文字列により表したパターンである。パターンには、例えば、いわゆるワイルドカードがある。
The
統一化可能な言語によるパターンにより表現されたアドレスとは、統一化可能な言語によるパターンにより表現されたOriginやURIやURLである。統一化可能な言語によるパターンにより表現されたURIとは、例えば、スキーマを省略することにより任意のスキーマを表したURIがある。統一化可能な言語によるパターンにより表現されたURIについては図5を用いて後述する。 An address expressed by a pattern in a language that can be unified is an Origin, a URI, or a URL that is expressed by a pattern in a language that can be unified. The URI expressed by a pattern in a language that can be unified includes, for example, a URI that represents an arbitrary schema by omitting the schema. The URI expressed by a pattern in a language that can be unified will be described later with reference to FIG.
アドレスが関連付けられたノードとは、例えば、上述した関係グラフ101のノードである。接続情報とは、例えば、上述した関係グラフ101のエッジである。エッジとは、例えば、推移元ノードに関連付けられた情報であり、推移先ノードが格納されたメモリアドレスを示すポインタである。
The node with which the address is associated is, for example, the node of the
取得部302は、具体的には、例えば、情報処理装置100の利用者により入力され、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている関係グラフ101を取得する。
Specifically, for example, the
また、取得部302は、具体的には、例えば、API呼び出しが埋め込まれたウェブページを提供するウェブサーバから、関係グラフ101を取得してもよい。この場合、入力部301は、利用者のキーボード210やマウス211の操作を受け付けて、ウェブサーバから取得した関係グラフ101を使用するか否かを入力してもよい。そして、取得部302は、入力部301によって使用しないと入力された場合、取得した関係グラフ101を破棄してもよい。
Specifically, the
また、取得部302は、推移元ノードから推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得してもよい。種別情報とは、例えば、レスポンスのContent−Typeである。取得部302は、具体的には、例えば、情報処理装置100の利用者によって、或るアクセス元が呼び出したAPIから或るアクセス先へのアクセスを許可するアクセス先レスポンスの種別として入力された、種別「text/html」を取得する。
The
また、取得部302は、具体的には、例えば、API呼び出しが埋め込まれたウェブページを提供するウェブサーバから、種別情報を取得してもよい。この場合、入力部301は、利用者のキーボード210やマウス211の操作を受け付けて、ウェブサーバから取得した種別情報を使用するか否かを入力してもよい。そして、取得部302は、入力部301によって使用しないと入力された場合、取得した種別情報を破棄してもよい。
Specifically, the
取得部302は、アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する。共通のアドレスが存在するとは、ノードの組の各ノードに関連付けた統一化可能な言語によるパターンにより表現されたアドレスに、共通のアドレスがマッチすることをいう。アドレスがマッチするとは、統一化可能な言語によるパターンにより表現されたアドレスが示すアドレス群に含まれることをいう。統一情報とは、例えば、上述した統一グラフ102のエッジである。
The
取得部302は、具体的には、例えば、情報処理装置100の利用者により入力され、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている統一グラフ102を取得する。
Specifically, the
また、取得部302は、生成部303によって生成された統一情報を取得してもよい。この場合、生成部303は、アドレスを関連付けたノードの中から、共通のアドレスがマッチするノードの組を特定し、特定したノードの組を示す統一情報を生成することになる。生成部303は、具体的には、例えば、取得した関係グラフ101の中から、統一化可能なノードを特定してエッジを追加することにより、統一グラフ102を生成する。
The
また、取得部302は、API呼び出しが埋め込まれたウェブページを提供するウェブサーバから、統一グラフ102を取得してもよい。この場合、入力部301は、利用者のキーボード210やマウス211の操作を受け付けて、ウェブサーバから取得した統一グラフ102を使用するか否かを入力してもよい。そして、取得部302は、入力部301によって使用しないと入力された場合、取得した統一グラフ102を破棄してもよい。
The
これにより、探索部305は、取得部302によって取得された関係グラフ101と統一グラフ102とを用いて、アクセス元URIにマッチするURIが関連付けられたノードから推移可能な隣接するノードを探索することができる。取得されたデータは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
As a result, the
特定部304は、アドレスを関連付けたノードの中から、入力部301によって入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定する。特定部304は、具体的には、図1の例では、関係グラフ101のノードN1〜N4の中から、アクセス元URI「https://a.example.com:443」にマッチする統一化可能な言語によるパターンにより表現されたURI「https://a.example.com」が関連付けられたノードN1を特定する。
The identifying
また、統一化可能な言語によるパターンにより表現されたURI「//@example.com」が関連付けられたノードがある場合を例に挙げる。この場合、特定部304は、アクセス元URI「https://a.example.com:443」にマッチする統一化可能な言語によるパターンにより表現されたURI「//@example.com」が関連付けられたノードを特定してもよい。
Further, a case where there is a node associated with a URI “//@example.com” expressed by a pattern in a language that can be unified will be described as an example. In this case, the specifying
これにより、探索部305は、特定部304によって特定されたノードから探索を開始することができる。特定されたノードは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
Thereby, the
探索部305は、取得部302によって取得された接続情報および統一情報に基づいて、特定部304によって特定されたノードから推移可能なノードを探索する。探索部305は、具体的には、例えば、接続情報に基づいて、特定されたノードを推移元ノードにする推移先ノードを探索する。
The
探索部305は、より具体的には、図1の例では、関係グラフ101において、特定されたノードN1からエッジにより接続されたノードN2を探索する。これにより、判定部306は、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。
More specifically, in the example of FIG. 1, the
また、探索部305は、具体的には、例えば、統一情報に基づいて、判定部306によってマッチしないと判定されたノードから推移可能なノードを探索してもよい。次に、探索部305は、接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索してもよい。
Specifically, for example, the
探索部305は、より具体的には、図1の例では、統一グラフ102において、ノードN2からエッジにより接続されたノードN3を探索する。次に、探索部305は、関係グラフ101において、探索されたノードN3からエッジにより接続されたノードN4を探索する。これにより、判定部306は、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。
More specifically, the
また、探索部305は、具体的には、例えば、接続情報に基づいて、入力部301によって入力された種別が取得部302によって取得された種別情報が示す種別であって、特定されたノードを推移元ノードにする推移先ノードを探索してもよい。
Specifically, the
探索部305は、具体的には、例えば、関係グラフ101において、特定されたノードから種別情報「text/html」が関連付けられたエッジにより接続されたノードを探索する。また、探索部305は、特定されたノードから任意の種別を示す種別情報「空集合」が関連付けられたエッジにより接続されたノードを探索してもよい。これにより、判定部306は、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。
Specifically, for example, in the
探索部305は、統一情報に基づいて、判定部306によってマッチしないと判定されたノードから推移可能なノードを探索する。次に、探索部305は、接続情報に基づいて、入力部301によって入力された種別が取得部302によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索する。
Based on the unified information, the
ここで、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられていない場合を例に挙げる。この場合、探索部305は、統一グラフ102において、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられていないノードからエッジにより接続されたノードを探索する。
Here, a case where a URI that is expressed by a pattern in a language that can be unified that matches the access destination URI is not associated with the searched node will be described as an example. In this case, the
次に、探索部305は、関係グラフ101において、探索されたノードから種別情報「text/html」が関連付けられたエッジにより接続されたノードを探索する。これにより、判定部306は、探索されたノードに、アクセス先URIとマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。探索されたノードは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
Next, the
判定部306は、探索部305によって探索されたノードに関連付けられたアドレスに、入力部301によって入力されたアクセス先アドレスがマッチするか否かを判定する。判定部306は、具体的には、図1の例では、探索されたノードN4に関連付けられたURI「https://c.example.com:443」に、アクセス先URI「https://c.example.com:443」がマッチすると判定する。
The
また、統一化可能な言語によるパターンにより表現されたURI「//@example.com」が関連付けられたノードが、探索された場合を例に挙げる。この場合、探索されたノードに関連付けられ、統一化可能な言語によるパターンにより表現されたURI「//@example.com」に、アクセス先URI「https://c.example.com:443」がマッチする。そのため、判定部306は、マッチすると判定する。
In addition, a case where a node associated with a URI “//@example.com” expressed by a pattern in a language that can be unified is searched will be described as an example. In this case, the access destination URI “https://c.example.com:443” is added to the URI “//@example.com” associated with the searched node and expressed by a pattern in a language that can be unified. To match. Therefore, the
これにより、設定部307は、判定結果を用いて、アクセス元URIを生成元にするAPIからアクセス先URIへのアクセスを許可することができる。判定結果は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
Thereby, the
設定部307は、判定部306によってマッチすると判定された場合、アクセス元アドレスからアクセス先アドレスへのアクセスを禁止する状態から、アクセス元アドレスからアクセス先アドレスへのアクセスを許可する状態に設定する。アクセスを禁止する状態とは、アクセス元アドレスのウェブページにおいて呼び出されたAPIによる、アクセス先アドレスのウェブページから返されたレスポンスへのアクセスを禁止することをいう。
When it is determined by the
設定部307は、具体的には、例えば、ウェブブラウザを「Same Origin Policy」を回避するように設定する。これにより、ウェブブラウザ内のアクセス元URIにより呼び出されるAPIは、アクセス先URIから送られてきたレスポンスへアクセスすることができる。
Specifically, for example, the
また、情報処理装置100は、判定部306によってマッチしないと判定された場合、アクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを、関係グラフ101に追加して、エッジにより接続してもよい。
If the
この場合、入力部301は、利用者からアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとの組を、推移可能なノードの組として設定するか否かを示す許可情報の入力を受け付ける。
In this case, the
この場合、生成部303は、許可情報が設定することを示す場合、アクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを関係グラフ101に追加して、エッジにより接続する。これにより、情報処理装置100の利用者は、アクセスが不可能と判定されたURIの組を関係グラフに追加して、アクセス可能なURIの組に設定することができる。
In this case, when the permission information indicates that the permission information is set, the
ここでは、情報処理装置100は、情報処理装置100が取得したウェブページのURIから、ウェブページ内のAPI呼び出しによるリクエストの送信先になりレスポンスを返すウェブページのURIへのアクセスの可否を判定したが、これに限らない。例えば、情報処理装置100は、利用者から任意のアクセス元アドレスとアクセス先アドレスの組の入力を受け付けて、アクセスの可否を判定してもよい。
Here, the
ここで、取得部302と特定部304と探索部305と判定部306の機能は、ウェブページのURIから、ウェブページ内のAPIにレスポンスを返すウェブページのURIへのアクセス可否を判定する場合と同様のため、説明を省略する。
Here, the functions of the
この場合、入力部301は、利用者によるキーボード210やマウス211の操作を受けて、アクセス元アドレスとアクセス先アドレスとを入力する。入力部301は、具体的には、例えば、アクセス元URI「https://a.example.com:443」と、アクセス先URI「https://c.example.com:443」と、を入力する。
In this case, the
この場合、出力部308は、判定部305による判定結果を出力する。出力形式としては、例えば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。これにより、情報処理装置100の利用者は、入力した任意のアクセス元アドレスからアクセス先アドレスへのアクセスが可能か否かを知ることができる。
In this case, the
(関係グラフ101から統一グラフ102の生成)
次に、図4〜図9を用いて、関係グラフ101から統一グラフ102を生成する詳細について説明する。まず、図4を用いて、関係グラフ101の一例について説明する。
(Generation of
Next, details of generating the
図4は、関係グラフ101の一例を示す説明図である。図4に示すように、関係グラフ101は、統一化可能な言語によるパターンにより表現されたURIを関連付けたノード群を含むグラフである。関係グラフ101は、パターンを用いずに表現されたURIを関連付けたノードを含んでもよい。
FIG. 4 is an explanatory diagram illustrating an example of the
また、関係グラフ101は、アクセスが許可されたアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとが、有向エッジにより接続されたグラフである。図4の例では、ノードN1からノードN2へ有向エッジにより接続されている。また、ノードN3からノードN4へ有向エッジにより接続されている。
The
また、関係グラフ101は、有向エッジに、レスポンスのContet−Typeを指定する情報を関連付けていてもよい。図4の例では、ノードN1からノードN2への有向エッジには、text/htmlが関連付けられている。ノードN3からノードN4への有向エッジには、空集合が関連付けられている。空集合は任意のContent−Typeが関連付けられていることを示す。
Further, the
上述したように、関係グラフ101のノードに関連付けられたURIは、統一化可能な言語によるパターンを用いて表すことができる。URIは、例えば、スキーマを省略して表すことができる。スキーマが省略されたURIは、任意のスキーマのURIにマッチする。
As described above, the URI associated with the node of the
また、URIは、例えば、ホスト名の前方に、ユーザ情報を示す@を付与して表すことができる。例えば、@を用いたURIは、@を0文字に置き換えたURIにマッチする。また、例えば、@を用いたURIは、@を、末尾が「.(ドット)」になる任意の文字列に置き換えたURIにマッチする。 Also, the URI can be expressed by giving @ indicating user information in front of the host name, for example. For example, a URI using @ matches a URI with @ replaced with 0 characters. Further, for example, a URI using @ matches a URI in which @ is replaced with an arbitrary character string ending with “. (Dot)”.
また、URIは、例えば、ポート番号を省略して表すことができる。ポート番号が省略されたURIは、任意のポート番号のURIにマッチする。ここで、図5を用いて、統一化可能な言語によるパターンにより表現されたURIの一例について説明する。 The URI can be expressed by omitting the port number, for example. The URI with the port number omitted matches the URI of an arbitrary port number. Here, an example of a URI expressed by a pattern in a language that can be unified will be described with reference to FIG.
図5は、統一化可能な言語によるパターンにより表現されたURIの一例を示す説明図である。図5の(A)に示すように、URI「//b.example.net」は、スキーマとポート番号とが省略して表されている。そのため、URI「//b.example.net」は、例えば、URI「http://b.example.net:8080」やURI「https://b.example.net」にマッチする。 FIG. 5 is an explanatory diagram showing an example of a URI expressed by a pattern in a language that can be unified. As shown in FIG. 5A, the URI “//b.example.net” is represented by omitting the schema and the port number. Therefore, the URI “//b.example.net” matches, for example, the URI “http://b.example.net:8080” and the URI “https://b.example.net”.
図5の(B)に示すように、URI「https://@example.net」は、ホスト名の前方にユーザ情報@を付与して、ポート番号が省略して表されている。そのため、URI「https://@example.net」は、例えば、URI「https://example.net:8443」やURI「https://b.example.net」にマッチする。 As shown in FIG. 5B, the URI “https: //@example.net” is represented by adding user information @ in front of the host name and omitting the port number. Therefore, the URI “https: //@example.net” matches, for example, the URI “https://example.net:8443” and the URI “https://b.example.net”.
図5の(C)に示すように、URI「https://c.example.com:443」は、統一化可能な言語によるパターンが使用されていない。URI「https://c.example.com:443」は、例えば、URI「https://c.example.com:443」自体にマッチする。 As shown in FIG. 5C, the URI “https://c.example.com:443” does not use a pattern in a language that can be unified. The URI “https://c.example.com:443” matches, for example, the URI “https://c.example.com:443” itself.
ここで、情報処理装置100は、統一化可能な言語によるパターンにより表現されたURIの中から統一化可能なURI同士を特定して、統一化可能なURI同士を関連付けたノード同士をエッジにより接続した統一グラフ102を生成する。次に、図6を用いて、情報処理装置100による統一グラフ102の生成例について説明する。
Here, the
図6は、情報処理装置100による統一グラフ102の生成例を示す説明図である。情報処理装置100は、例えば、ノードN2に関連付けられたURI「//b.example.net」と、ノードN3に関連付けられたURI「https://@example.net」と、を比較する。
FIG. 6 is an explanatory diagram illustrating an example of generation of the
ここで、ノードN2に関連付けられたURIのスキーマが省略されており、ノードN3に関連付けられたURIのスキーマが「https」である。また、ノードN2に関連付けられたURIのホスト名が「b.example.net」であり、ノードN3に関連付けられたURIのホスト名の前方にユーザ情報「@」が付与された「@example.net」である。ノードN2とノードN3とに関連付けられたURIのポート番号は互いに省略されている。 Here, the URI schema associated with the node N2 is omitted, and the URI schema associated with the node N3 is “https”. Further, the host name of the URI associated with the node N2 is “b.example.net”, and the user information “@” is added in front of the host name of the URI associated with the node N3 “@ example.net”. It is. The URI port numbers associated with the node N2 and the node N3 are omitted from each other.
そのため、情報処理装置100は、ノードN2とノードN3とに関連付けられたURIには、共通のURI(例えば、「https://b.example.net」)がマッチすると判定し、統一化可能であると判定する。そして、情報処理装置100は、図6の(A)に示すように、ノードN2とノードN3とをエッジにより接続する。
Therefore, the
また、情報処理装置100は、図6の(B)に示すように、有向2部グラフにより統一グラフ102を表してもよい。有向2部グラフの左側はアクセス元のURIを示し、有向2部グラフの右側はアクセス先のURIを示す。情報処理装置100は、有向2部グラフにおいて、右側のURIと左側のURIとを比較し、統一化可能なURIを関連付けたノードがあればエッジにより右側から左側へ接続する。
Further, the
次に、図7を用いて、関係グラフ101にノードが追加された場合の統一グラフ102の生成について説明する。
Next, generation of the
図7は、関係グラフ101にノードが追加された場合の統一グラフ102の生成を示す説明図である。図7の例では、(1)URI「https://@example.com」を関連付けたノードN5と、URI「http://b.example.net」を関連付けたノードN6とが、関係グラフ101に追加される。ノードN5からノードN6へはエッジにより接続されている。
FIG. 7 is an explanatory diagram illustrating generation of the
(2)ここで、情報処理装置100は、ノードN5,N6を統一グラフ102にも追加する。次に、情報処理装置100は、ノードN1〜N4に関連付けられたURIの中から、追加されたノードN5,N6に関連付けられたURIと統一化可能なURIを特定して、統一化可能なURIを関連付けたノード同士をエッジにより接続する。図7の例では、情報処理装置100は、ノードN1とノードN5と、ノードN4とノードN5と、ノードN2とノードN6と、をそれぞれ接続する。
(2) Here, the
次に、図8を用いて、統一グラフ生成処理の詳細な処理手順について説明する。統一グラフ生成処理は、図4〜図7に示した情報処理装置100による関係グラフ101を用いて統一グラフ102を生成する処理である。
Next, a detailed processing procedure of the unified graph generation processing will be described with reference to FIG. The unified graph generation process is a process for creating the
図8は、統一グラフ生成処理の詳細な処理手順を示すフローチャートである。図8に示すように、まず、情報処理装置100は、関係グラフ101に追加されたノードNaを統一グラフ102に追加する(ステップS801)。
FIG. 8 is a flowchart showing a detailed processing procedure of the unified graph generation processing. As shown in FIG. 8, first, the
次に、情報処理装置100は、未処理のノードNiがあるか否かを判定する(ステップS802)。ここで、ノードNiは、任意のノードを示す。未処理のノードNiがない場合(ステップS802:No)、情報処理装置100は、統一グラフ生成処理を終了する。
Next, the
一方、未処理のノードNiがある場合(ステップS802:Yes)、情報処理装置100は、未処理のノードNiを選択する(ステップS803)。次に、情報処理装置100は、選択したノードNiに関連付けられたURIと追加したノードNaに関連付けられたURIとに対して、図9に示す統一化判定処理を実行する(ステップS804)。
On the other hand, when there is an unprocessed node Ni (step S802: Yes), the
そして、情報処理装置100は、統一化判定処理による判定結果が統一化「可能」であるか否かを判定する(ステップS805)。ここで、統一化「可能」でない場合(ステップS805:No)、情報処理装置100は、ステップS802に戻る。
Then, the
一方、情報処理装置100は、統一化「可能」である場合(ステップS805:Yes)、統一グラフ102のうち、選択したノードNiと追加したノードNaとをエッジにより接続し(ステップS806)、ステップS802に戻る。
On the other hand, if the
これにより、情報処理装置100は、関係グラフ101にノードが追加される都度、追加されたノードを統一グラフ102にも追加していくことにより、関係グラフ101から統一グラフ102を生成することができる。次に、図9を用いて、ステップS804の統一化判定処理の詳細な処理手順について説明する。
Thereby, the
図9は、ステップS804の統一化判定処理の詳細な処理手順を示すフローチャートである。図9に示すように、情報処理装置100は、URIの組を受け付ける(ステップS901)。次に、情報処理装置100は、受け付けたURIの組を、スキーマとユーザ情報とホスト名とポート番号とに分解する(ステップS902)。
FIG. 9 is a flowchart showing a detailed processing procedure of the unification determination processing in step S804. As illustrated in FIG. 9, the
そして、情報処理装置100は、スキーマが異なる文字列か否かを判定する(ステップS903)。URIの組のいずれかのURIのスキーマが省略されている場合はスキーマは異なる文字列でないと判定する。
Then, the
ここで、スキーマが異なる文字列である場合(ステップS903:Yes)、情報処理装置100は、ステップS910に移行する。
Here, when the character strings have different schemas (step S903: Yes), the
一方、スキーマが異なる文字列でない場合(ステップS903:No)、情報処理装置100は、ホスト名が同一か否かを判定する(ステップS904)。ここで、ホスト名が同一の場合(ステップS904:Yes)、情報処理装置100は、ステップS909に移行する。
On the other hand, when the schemas are not different character strings (step S903: No), the
一方、ホスト名が同一でない場合(ステップS904:No)、情報処理装置100は、URIの組のうち、ホスト名が短い方のURIをURI1として設定し、ホスト名が長い方のURIをURI2として設定する(ステップS905)。
On the other hand, when the host names are not the same (step S904: No), the
次に、情報処理装置100は、URI1にユーザ情報@があるか否かを判定する(ステップS906)。ここで、ユーザ情報@がない場合(ステップS906:No)、情報処理装置100は、ステップS910に移行する。
Next, the
一方、ユーザ情報@がある場合(ステップS906:Yes)、情報処理装置100は、URI1のホスト名が空であるか否かを判定する(ステップS907)。ここで、空である場合(ステップS907:Yes)、情報処理装置100は、ステップS909に移行する。
On the other hand, when there is user information @ (step S906: Yes), the
一方、空でない場合(ステップS907:No)、情報処理装置100は、URI2のホスト名の末尾が「.URI1のホスト名」であるか否かを判定する(ステップS908)。ここで、URI2のホスト名の末尾が「.URI1のホスト名」でない場合(ステップS908:No)、情報処理装置100は、ステップS910に移行する。
On the other hand, if it is not empty (step S907: No), the
一方、URI2のホスト名の末尾が「.URI1のホスト名」である場合(ステップS908:Yes)、情報処理装置100は、ポート番号が異なる値であるか否かを判定する(ステップS909)。URIの組のいずれかのURIのポート番号が省略されている場合はポート番号は異なる値でないと判定する。
On the other hand, if the end of the URI2 host name is “.URI1 hostname” (step S908: Yes), the
ここで、ポート番号が異なる値である場合(ステップS909:Yes)、情報処理装置100は、統一化「不可能」を出力し(ステップS910)、統一化判定処理を終了する。
If the port numbers have different values (step S909: Yes), the
一方、ポート番号が異なる値でない場合(ステップS909:No)、情報処理装置100は、統一化「可能」を出力し(ステップS911)、統一化判定処理を終了する。これにより、情報処理装置100は、統一グラフ102において、エッジにより接続すべきノードの組を特定することができる。
On the other hand, if the port number is not a different value (step S909: No), the
(アクセス可否の判定)
次に、図10〜図12を用いて、情報処理装置100によるアクセス可否の判定について説明する。まず、図10を用いて、情報処理装置100によるアクセス可否の判定例について説明する。
(Determining whether access is possible)
Next, determination of access permission by the
図10は、情報処理装置100によるアクセス可否の判定例を示す説明図である。図10の(A)に示すように、(1)情報処理装置100は、ウェブサーバS1からウェブページを取得する。取得したウェブページにはAPI呼び出しがある。APIは、ウェブサーバS2にアクセスし、ウェブサーバS2から情報を取得するAPIである。APIは、例えば、「Java(登録商標)Script」の「XMLHttpRequest」である。
FIG. 10 is an explanatory diagram illustrating an example of determining whether access is possible by the
ここで、情報処理装置100は、APIが呼び出された場合、API呼び出しがあるウェブページのURIから、APIによりアクセスされるURIへのアクセスが許可されているか否かを判定する。そのため、情報処理装置100は、API呼び出しがあるウェブページのURLをURIに変換してアクセス元URIとして設定し、APIによりアクセスされるURLをURIに変換してアクセス先URIとして設定し、アクセス可否を判定する。
Here, when the API is called, the
情報処理装置100は、例えば、URLのスキーム、ホスト名、ポート番号を抽出して連結することにより、URLをURIに変換する。また、情報処理装置100は、ポート番号が省略されている場合は、ポート番号を補完する。一般に、情報処理装置100は、ポート番号が省略されている場合、ポート番号として80番を補完する。
The
また、情報処理装置100は、呼び出したAPIのレスポンスの種別として、種別「text/html」を取得してもよい。呼び出したAPIによりどのようなレスポンスが受信されたかは、例えば、HTTPレスポンスのヘッダデータから取得することができる。
Further, the
図10の(A)の例では、情報処理装置100は、アクセス元URI「https://a.example.com:443」と、アクセス先URI「https://c.example.com:443」とを設定したとする。また、情報処理装置100は、APIのレスポンスの種別として「text/html」を取得したとする。
In the example of FIG. 10A, the
図10の(B)に示すように、(2)情報処理装置100は、ノードの中から、アクセス元URI「https://a.example.com:443」とマッチするURI「https://a.example.com」を関連付けられたノードN1を特定する。
As shown in FIG. 10B, (2) the
次に、情報処理装置100は、関係グラフ101において、ノードN1と隣接し、種別「text/html」が関連付けられたエッジを辿って、ノードN1から推移可能なノードN2を探索する。隣接するとは、ノード同士が、1本のエッジにより接続されていることをいう。ここで、情報処理装置100は、探索されたノードN2に関連付けられたURI「//b.example.net」に、アクセス先URI「https://c.example.com:443」がマッチするか否かを判定する。
Next, the
そして、情報処理装置100は、ノードN2に関連付けられたURIにアクセス先URIがマッチしないため、図10の(C)の(3)の処理に移行して、統一グラフ102において、ノードN2と隣接し、ノードN2から推移可能なノードを探索する。
Then, since the access destination URI does not match the URI associated with the node N2, the
図10の(C)に示すように、(3)情報処理装置100は、統一グラフ102において、ノードN2と隣接し、ノードN2から推移可能なノードN3を探索する。次に、情報処理装置100は、図10の(C)の(4)の処理に移行して、関係グラフ101において、ノードN3と隣接し、ノードN3から推移可能なノードを探索する。
As shown in FIG. 10C, (3) the
(4)次に、情報処理装置100は、関係グラフ101において、ノードN3と隣接し、種別「text/html」を含む種別「空集合」が関連付けられたエッジを辿って、ノードN3から推移可能なノードN4を探索する。ここで、情報処理装置100は、探索されたノード4に関連付けられたURI「https://c.example.com:443」に、アクセス先URI「https://c.example.com:443」がマッチするか否かを判定する。
(4) Next, the
そして、情報処理装置100は、ノードN4に関連付けられたURIにアクセス先URIがマッチすると判定する。そのため、情報処理装置100は、アクセス元URIがマッチするURIが関連付けられたノードN1から、アクセス先URIがマッチするURIが関連付けられたノードN4へと推移可能であると判定して、アクセス可能であると判定する。
The
次に、図11および図12を用いて、アクセス可否判定処理の詳細な処理手順について説明する。アクセス可否判定処理は、図10に示した情報処理装置100により実行される処理である。
Next, a detailed processing procedure of the accessibility determination process will be described with reference to FIGS. 11 and 12. The accessibility determination process is a process executed by the
図11および図12は、アクセス可否判定処理の詳細な処理手順を示すフローチャートである。図11に示すように、情報処理装置100は、アクセス元URIとアクセス先URIとの入力を受け付ける(ステップS1101)。
FIG. 11 and FIG. 12 are flowcharts showing the detailed processing procedure of the accessibility determination process. As illustrated in FIG. 11, the
次に、情報処理装置100は、受け付けたURIが同一か否かを判定する(ステップS1102)。ここで、URIが同一である場合(ステップS1102:Yes)、情報処理装置100は、アクセス「可能」と出力し(ステップS1103)、アクセス可否判定処理を終了する。
Next, the
一方、URIが同一でない場合(ステップS1102:No)、情報処理装置100は、アクセス元URIと関係グラフ101の各ノードに関連付けられたURIとに対して、ノードごとの統一化判定処理を実行する(ステップS1104)。統一化判定処理は、図9に示した処理である。
On the other hand, when the URIs are not the same (step S1102: No), the
次に、情報処理装置100は、統一化判定処理により統一化「可能」と出力されたノードを抽出する(ステップS1105)。ステップS1104およびステップS1105の処理により、情報処理装置100は、ノードの数だけ統一化判定処理を行い、統一化可能な全ノードを抽出する。そして、情報処理装置100は、抽出されたノードを、historySetとstackとに格納する(ステップS1106)。
Next, the
ここで、historySetは、処理済みのノードを格納する記憶領域である。情報処理装置100は、historySetの格納内容を参照することにより、処理済みのノードを再び処理することを防止することができる。stackは、処理待ちのノードを格納する記憶領域である。
Here, historySet is a storage area for storing processed nodes. The
次に、情報処理装置100は、stackが空でないか否かを判定する(ステップS1107)。ここで、stackが空でない場合(ステップS1107:Yes)、情報処理装置100は、図12のステップS1201に移行する。
Next, the
一方、stackが空である場合(ステップS1107:No)、情報処理装置100は、アクセス「不可能」と出力し(ステップS1108)、アクセス可否判定処理を終了する。
On the other hand, when the stack is empty (step S1107: No), the
図12において、情報処理装置100は、stackからノードを選択し、選択したノードをstackから消去する(ステップS1201)。次に、情報処理装置100は、関係グラフ101において、選択したノードと隣接し、選択したノードから推移可能なエッジを抽出する(ステップS1202)。
In FIG. 12, the
そして、情報処理装置100は、抽出したエッジの中に、未処理のエッジがあるか否かを判定する(ステップS1203)。未処理のエッジがない場合(ステップS1203:No)、情報処理装置100は、図11のステップS1107に移行する。
Then, the
一方、未処理のエッジがある場合(ステップS1203:Yes)、情報処理装置100は、未処理のエッジを選択する(ステップS1204)。次に、情報処理装置100は、選択したエッジに関連付けられたContent−Typeが、アクセス先のContent−Typeを含むか否かを判定する(ステップS1205)。
On the other hand, when there is an unprocessed edge (step S1203: Yes), the
ここで、Content−Typeを含まない場合(ステップS1205:No)、情報処理装置100は、ステップS1203に戻る。一方、Content−Typeを含む場合(ステップS1205:Yes)、情報処理装置100は、選択したノードと隣接し、選択したエッジにより推移可能なノードに関連付けられたURIとアクセス先URIとに対して、統一化判定処理を実行する(ステップS1206)。統一化判定処理は、図9に示した処理である。
Here, when the Content-Type is not included (step S1205: No), the
次に、情報処理装置100は、統一化判定処理による判定結果が統一化「可能」であるか否かを判定する(ステップS1207)。ここで、統一化「可能」である場合(ステップS1207:Yes)、情報処理装置100は、図11のステップS1103に移行する。
Next, the
一方、統一化「不可能」である場合(ステップS1207:No)、情報処理装置100は、統一グラフ102において、判定結果が統一化「不可能」であるノードに隣接して推移可能なノードを抽出する(ステップS1208)。
On the other hand, in the case of unification “impossible” (step S1207: No), the
次に、情報処理装置100は、抽出したノードの中に、未処理のノードがあるか否かを判定する(ステップS1209)。ここで、未処理のノードがない場合(ステップS1209:No)、情報処理装置100は、ステップS1203に戻る。
Next, the
一方、未処理のノードがある場合(ステップS1209:Yes)、情報処理装置100は、未処理のノードを選択する(ステップS1210)。次に、情報処理装置100は、選択したノードがhistorySetに含まれるか否かを判定する(ステップS1211)。
On the other hand, when there is an unprocessed node (step S1209: Yes), the
ここで、historySetに含まない場合(ステップS1211:No)、情報処理装置100は、選択したノードをhistorySetとstackとに追加して(ステップS1212)、ステップS1209に戻る。
Here, when not included in the historySet (step S1211: No), the
一方、historySetに含まれる場合(ステップS1211:Yes)、情報処理装置100は、ステップS1209に戻る。これにより、情報処理装置100の利用者は、許可していないアクセス元URIとアクセス先URIの組について、アクセス元URIからのアクセス先URIのレスポンスへのアクセスを禁止してセキュリティを確保することができる。
On the other hand, when it is included in the historySet (step S1211: Yes), the
また、情報処理装置100は、アクセス可否判定処理を実行するか否かを、情報処理装置100の利用者に入力させてもよい。これにより、情報処理装置100の利用者は、信頼できないウェブページにあるAPIが、アクセス先URIのウェブページの情報へアクセスできないようにすることができる。
Further, the
また、情報処理装置100は、情報処理装置100の利用者から、任意のアクセス元URIとアクセス先URIとの組の入力を受け付けてもよい。そして、情報処理装置100は、受け付けたURIの組に対して、アクセス可否判定処理を実行してもよい。これにより、情報処理装置100の利用者は、任意のアクセス元URIとアクセス先URIとの組が、アクセス可能なURIの組か否かを知ることができる。結果として、情報処理装置100の利用者は、自身が設定した関係グラフ101によりアクセス可能と判定されるURIの組が、自身の想定したURIの組になっているかを確認することができる。
Further, the
ここで、情報処理装置100は、アクセス「不可能」と判定された場合、情報処理装置100の利用者から、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可するか否かの入力を受け付けてもよい。次に、図13を用いて、アクセス許可の入力例について説明する。
If the
図13は、アクセス許可の入力例を示す説明図である。図13に示すように、情報処理装置100は、「Same Origin Policy」を回避する危険性を示す注意文と、アクセス「不可能」と判定されたアクセス元URI、アクセス先URI、およびContent−Typeをディスプレイ208に表示する。
FIG. 13 is an explanatory diagram of an example of access permission input. As illustrated in FIG. 13, the
また、情報処理装置100は、ディスプレイ208に、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可することを示す入力ボタン「了解」を表示する。また、情報処理装置100は、ディスプレイ208に、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可しないことを示す入力ボタン「取消」を表示する。
Further, the
そして、情報処理装置100は、利用者のキーボード210やマウス211の操作により、「了解」の入力ボタンが押下された場合、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可する。これにより、情報処理装置100は、「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスのうち、「了解」の入力ボタンが押下された今回のアクセスのみを許可することができる。
Then, the
また、情報処理装置100は、「了解」の入力ボタンが押下された場合、アクセス「不可能」と判定されたアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを関係グラフ101に追加し、エッジにより接続してもよい。これにより、情報処理装置100は、「了解」の入力ボタンが押下された以降において、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可することができる。
In addition, when the “OK” input button is pressed, the
次に、図14を用いて、アクセス許可設定処理の詳細な処理手順について説明する。アクセス許可設定処理は、図13に示した情報処理装置100による「了解」の入力ボタンが押下され、ノードを関係グラフ101に追加する場合の処理である。
Next, a detailed processing procedure of the access permission setting process will be described with reference to FIG. The access permission setting process is a process in the case where the “OK” input button by the
図14は、アクセス許可設定処理の詳細な処理手順を示すフローチャートである。図14に示すように、情報処理装置100は、アクセス「不可能」と判定されたアクセス元URIとアクセス先URIとContent−Typeとを受け付ける(ステップS1401)。
FIG. 14 is a flowchart showing a detailed processing procedure of the access permission setting process. As illustrated in FIG. 14, the
次に、情報処理装置100は、関係グラフ101において、アクセス元アドレスからアクセス先アドレスを接続したエッジがあるか否かを判定する(ステップS1402)。ここで、エッジがある場合(ステップS1402:Yes)、情報処理装置100は、エッジにContent−Typeを追加して(ステップS1403)、アクセス許可設定処理を終了する。
Next, the
一方、エッジがない場合(ステップS1402:No)、情報処理装置100は、関係グラフ101に、アクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを追加して、エッジにより接続する(ステップS1404)。
On the other hand, when there is no edge (step S1402: No), the
次に、情報処理装置100は、エッジにContent−Typeを追加する(ステップS1405)。そして、情報処理装置100は、統一グラフ102を更新し(ステップS1406)、アクセス許可設定処理を終了する。これにより、情報処理装置100は、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスが、以降において許可されるように、関係グラフ101と統一グラフ102を修正することができる。
Next, the
以上説明したように、情報処理装置100は、関係グラフ101のエッジと、統一グラフ102のエッジと、を交互に辿ることにより、アクセス元URIを関連付けたノードからアクセス先URIを関連付けたノードに推移可能か否かを判定する。次に、情報処理装置100は、推移可能である場合、アクセス元URIからアクセス先URIへのアクセスを許可する。
As described above, the
これにより、情報処理装置100は、アクセス許可関係をURIのパターンで表現でき、かつ推移律を適用できる。結果として、情報処理装置100の利用者は、アクセスを許可するURIをパターンを用いて表して、関係グラフ101の設定量を低減することができるため、関係グラフ101を効率よく生成することができる。また、URIは、OriginやURLであってもよい。
Thereby, the
情報処理装置100は、関係グラフ101のエッジに、アクセスを許可するレスポンスの種別を示す種別情報を関連付けておいてもよい。これにより、情報処理装置100は、推移律によるアクセス可否の判定において、レスポンスの種別を制限してアクセスを許可することができる。
The
情報処理装置100は、関係グラフ101から統一グラフ102を生成してもよい。これにより、情報処理装置100の利用者による統一グラフ102の生成作業を削減することができる。
The
また、情報処理装置100は、アクセス元URIのウェブページを提供したウェブサーバから関係グラフ101や統一グラフ102を取得してもよい。これにより、情報処理装置100の利用者は、関係グラフ101や統一グラフ102の生成作業を削減することができる。また、この場合、情報処理装置100は、取得した関係グラフ101や統一グラフ102を使用するか否かを情報処理装置100の利用者に入力させ、使用しないと入力された場合は取得した関係グラフ101や統一グラフ102を破棄してもよい。これにより、情報処理装置100の利用者は、信頼できないウェブサーバから取得した関係グラフ101や統一グラフ102を破棄し、セキュリティを確保することができる。
Further, the
また、情報処理装置100は、情報処理装置100の利用者から、任意のアクセス元URIとアクセス先URIとの組の入力を受け付けてもよい。そして、情報処理装置100は、受け付けたURIの組に対して、アクセス可否判定処理を実行してもよい。これにより、情報処理装置100の利用者は、任意のアクセス元URIとアクセス先URIとの組が、アクセス可能なURIの組か否かを知ることができる。結果として、情報処理装置100の利用者は、自身が設定した関係グラフ101によりアクセス可能と判定されるURIの組が、自身の想定したURIの組になっているかを確認することができる。
Further, the
また、情報処理装置100は、情報処理装置100の利用者から、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可するか否かの入力を受け付けてもよい。そして、情報処理装置100は、利用者により許可された場合、アクセス「不可能」と判定されたアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを関係グラフ101に追加し、エッジにより接続してもよい。これにより、情報処理装置100は、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスが、以降において許可されるように、関係グラフ101と統一グラフ102を修正することができる。
In addition, the
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。 The information processing method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The information processing program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The information processing program may be distributed through a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are disclosed with respect to the embodiment described above.
(付記1)アクセス元アドレスとアクセス先アドレスとを入力する入力部と、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する第1の取得部と、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する第2の取得部と、
前記アドレスを関連付けたノードの中から、前記入力部によって入力されたアクセス元アドレスにマッチする前記アドレスが関連付けられたノードを特定する特定部と、
前記第1および第2の取得部によって取得された接続情報および統一情報に基づいて、前記特定部によって特定されたノードから推移可能なノードを探索する探索部と、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記入力部によって入力されたアクセス先アドレスがマッチするか否かを判定する判定部と、
前記判定部によってマッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する設定部と、
を有することを特徴とする情報処理装置。
(Appendix 1) An input unit for inputting an access source address and an access destination address;
A first acquisition unit that acquires connection information indicating a pair of a transition source node and a transition destination node set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified;
A second acquisition unit that acquires unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transit;
A identifying unit that identifies a node associated with the address that matches the access source address input by the input unit from among the nodes associated with the address;
Based on the connection information and the unified information acquired by the first and second acquisition units, a search unit that searches for a node that can transition from the node specified by the specifying unit;
A determination unit for determining whether or not the access destination address input by the input unit matches the address associated with the node searched by the search unit;
A setting unit configured to set from a state in which access from the access source address to the access destination address is prohibited to a state in which access from the access source address to the access destination address is permitted when it is determined by the determination unit to match When,
An information processing apparatus comprising:
(付記2)前記探索部は、
前記接続情報に基づいて、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記1に記載の情報処理装置。
(Supplementary Note 2) The search unit
Based on the connection information, search for a transition destination node that makes the identified node a transition source node,
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to appendix 1, wherein
(付記3)前記探索部は、
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記2に記載の情報処理装置。
(Supplementary Note 3) The search unit
Based on the unified information, a transitionable node is searched for a transitionable node from a node determined not to be matched by the determination unit, and based on the connection information, the transitionable node is determined as a transition source node. Explore
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to Supplementary Note 2, wherein
(付記4)前記入力部は、
前記アクセス先アドレスから受信するレスポンスの種別を入力し、
前記第1の取得部は、
前記推移元ノードから前記推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得し、
前記探索部は、
前記接続情報に基づいて、前記入力部によって入力された種別が前記第1の取得部によって取得された種別情報が示す種別であって、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記1に記載の情報処理装置。
(Appendix 4) The input unit is
Enter the type of response received from the access destination address,
The first acquisition unit includes:
Obtaining type information indicating the type of access destination response set as a condition for enabling transition from the transition source node to the transition destination node,
The search unit
Based on the connection information, a type input by the input unit is a type indicated by the type information acquired by the first acquisition unit, and a transition destination node that makes the specified node a transition source node Explore
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to appendix 1, wherein
(付記5)前記探索部は、
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、前記入力部によって入力された種別が前記第1の取得部によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記4に記載の情報処理装置。
(Supplementary Note 5) The search unit
Based on the unified information, a node that can be transited from a node that is determined not to be matched by the determination unit is searched, and based on the connection information, the type input by the input unit is determined by the first acquisition unit. Search for a transition destination node that is a type indicated by the acquired type information and uses the searched transitionable node as a transition source node,
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to supplementary note 4, wherein:
(付記6)前記アドレスを関連付けたノードの中から、共通のアドレスがマッチするノードの組を特定し、特定したノードの組を示す前記統一情報を生成する統一情報生成部を有し、
前記第2の取得部は、
前記統一情報生成部によって生成された統一情報を取得する、
ことを特徴とする付記1〜5のいずれか一つに記載の情報処理装置。
(Additional remark 6) It has the unified information production | generation part which produces | generates the said unified information which identifies the group of the node which a common address matches among the nodes which linked | related the said address, and shows the identified group of nodes,
The second acquisition unit includes:
Obtaining unified information generated by the unified information generating unit;
The information processing apparatus according to any one of supplementary notes 1 to 5, wherein:
(付記7)前記統一化可能な言語によるパターンにより表現されたアドレスはURIであり、スキーマ、ホスト名の前半、およびポート番号の少なくともいずれかにワイルドカードを使用可能であることを特徴とする付記1〜6のいずれか一つに記載の情報処理装置。 (Supplementary note 7) The address expressed by the pattern in the language that can be unified is a URI, and a wild card can be used in at least one of the schema, the first half of the host name, and the port number. The information processing apparatus according to any one of 1 to 6.
(付記8)前記判定部による判定結果を出力する出力部、
を有することを特徴とする付記1〜7のいずれか一つに記載の情報処理装置。
(Additional remark 8) The output part which outputs the determination result by the said determination part,
The information processing apparatus according to any one of appendices 1 to 7, characterized by comprising:
(付記9)前記判定部によってマッチしないと判定された場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を、推移可能なノードNの組として設定するか否かを示す許可情報を受け付ける受付部と、
前記受付部によって受け付けられた許可情報が設定することを示す場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を示す接続情報を生成する接続情報生成部と、
を有することを特徴とする付記1〜8のいずれか一つに記載の情報処理装置。
(Supplementary Note 9) If the determination unit determines that there is no match, whether or not to set a set of a node associated with the access source address and a node associated with the access destination address as a set of transitable nodes N A reception unit for receiving permission information indicating
A connection information generating unit that generates connection information indicating a set of a node associated with the access source address and a node associated with the access destination address, when the permission information received by the reception unit is set;
The information processing apparatus according to any one of appendices 1 to 8, characterized by comprising:
(付記10)コンピュータが、
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行することを特徴とする情報処理方法。
(Supplementary note 10)
Enter the access source address and access destination address,
Acquire connection information indicating a pair of transition source node and transition destination node that is set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified,
Obtaining unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transition,
From among the nodes associated with the address, identify the node associated with the address that matches the input access source address,
Based on the acquired connection information and unified information, search for nodes that can transition from the identified node,
Determine whether the input access address matches the address associated with the searched node,
If it is determined to match, from a state of prohibiting access from the access source address to the access destination address, a state of permitting access from the access source address to the access destination address is set.
An information processing method characterized by executing processing.
(付記11)コンピュータに、
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行させることを特徴とする情報処理プログラム。
(Supplementary note 11)
Enter the access source address and access destination address,
Acquire connection information indicating a pair of transition source node and transition destination node that is set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified,
Obtaining unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transition,
From among the nodes associated with the address, identify the node associated with the address that matches the input access source address,
Based on the acquired connection information and unified information, search for nodes that can transition from the identified node,
Determine whether the input access address matches the address associated with the searched node,
If it is determined to match, from a state of prohibiting access from the access source address to the access destination address, a state of permitting access from the access source address to the access destination address is set.
An information processing program for executing a process.
100 情報処理装置
101 関係グラフ
102 統一グラフ
301 入力部
302 取得部
303 生成部
304 特定部
305 探索部
306 判定部
307 設定部
308 送信部
DESCRIPTION OF
Claims (11)
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する第1の取得部と、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する第2の取得部と、
前記アドレスを関連付けたノードの中から、前記入力部によって入力されたアクセス元アドレスにマッチする前記アドレスが関連付けられたノードを特定する特定部と、
前記第1および第2の取得部によって取得された接続情報および統一情報に基づいて、前記特定部によって特定されたノードから推移可能なノードを探索する探索部と、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記入力部によって入力されたアクセス先アドレスがマッチするか否かを判定する判定部と、
前記判定部によってマッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する設定部と、
を有することを特徴とする情報処理装置。 An input unit for inputting an access source address and an access destination address;
A first acquisition unit that acquires connection information indicating a pair of a transition source node and a transition destination node set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified;
A second acquisition unit that acquires unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transit;
A identifying unit that identifies a node associated with the address that matches the access source address input by the input unit from among the nodes associated with the address;
Based on the connection information and the unified information acquired by the first and second acquisition units, a search unit that searches for a node that can transition from the node specified by the specifying unit;
A determination unit for determining whether or not the access destination address input by the input unit matches the address associated with the node searched by the search unit;
A setting unit configured to set from a state in which access from the access source address to the access destination address is prohibited to a state in which access from the access source address to the access destination address is permitted when it is determined by the determination unit to match When,
An information processing apparatus comprising:
前記接続情報に基づいて、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項1に記載の情報処理装置。 The search unit
Based on the connection information, search for a transition destination node that makes the identified node a transition source node,
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to claim 1.
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項2に記載の情報処理装置。 The search unit
Based on the unified information, a transitionable node is searched for a transitionable node from a node determined not to be matched by the determination unit, and based on the connection information, the transitionable node is determined as a transition source node. Explore
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to claim 2.
前記アクセス先アドレスから受信するレスポンスの種別を入力し、
前記第1の取得部は、
前記推移元ノードから前記推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得し、
前記探索部は、
前記接続情報に基づいて、前記入力部によって入力された種別が前記第1の取得部によって取得された種別情報が示す種別であって、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項1に記載の情報処理装置。 The input unit is
Enter the type of response received from the access destination address,
The first acquisition unit includes:
Obtaining type information indicating the type of access destination response set as a condition for enabling transition from the transition source node to the transition destination node,
The search unit
Based on the connection information, a type input by the input unit is a type indicated by the type information acquired by the first acquisition unit, and a transition destination node that makes the specified node a transition source node Explore
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to claim 1.
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、前記入力部によって入力された種別が前記第1の取得部によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項4に記載の情報処理装置。 The search unit
Based on the unified information, a node that can be transited from a node that is determined not to be matched by the determination unit is searched, and based on the connection information, the type input by the input unit is determined by the first acquisition unit. Search for a transition destination node that is a type indicated by the acquired type information and uses the searched transitionable node as a transition source node,
The determination unit
Determining whether the access address matches the address associated with the node searched by the search unit;
The information processing apparatus according to claim 4.
前記第2の取得部は、
前記統一情報生成部によって生成された統一情報を取得する、
ことを特徴とする請求項1〜5のいずれか一つに記載の情報処理装置。 A unified information generating unit for identifying a set of nodes matching a common address from the nodes associated with the address, and generating the unified information indicating the identified set of nodes;
The second acquisition unit includes:
Obtaining unified information generated by the unified information generating unit;
The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
を有することを特徴とする請求項1〜7のいずれか一つに記載の情報処理装置。 An output unit for outputting a determination result by the determination unit;
The information processing apparatus according to claim 1, comprising:
前記受付部によって受け付けられた許可情報が設定することを示す場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を示す接続情報を生成する接続情報生成部と、
を有することを特徴とする請求項1〜8のいずれか一つに記載の情報処理装置。 A permission indicating whether or not to set a set of a node N associated with the access source address and a node associated with the access destination address as a set of transitable nodes N when the determination unit determines that there is no match A reception unit for receiving information;
A connection information generating unit that generates connection information indicating a set of a node associated with the access source address and a node associated with the access destination address, when the permission information received by the reception unit is set;
The information processing apparatus according to claim 1, comprising:
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行することを特徴とする情報処理方法。 Computer
Enter the access source address and access destination address,
Acquire connection information indicating a pair of transition source node and transition destination node that is set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified,
Obtaining unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transition,
From among the nodes associated with the address, identify the node associated with the address that matches the input access source address,
Based on the acquired connection information and unified information, search for nodes that can transition from the identified node,
Determine whether the input access address matches the address associated with the searched node,
If it is determined to match, from a state of prohibiting access from the access source address to the access destination address, a state of permitting access from the access source address to the access destination address is set.
An information processing method characterized by executing processing.
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行させることを特徴とする情報処理プログラム。 On the computer,
Enter the access source address and access destination address,
Acquire connection information indicating a pair of transition source node and transition destination node that is set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified,
Obtaining unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transition,
From among the nodes associated with the address, identify the node associated with the address that matches the input access source address,
Based on the acquired connection information and unified information, search for nodes that can transition from the identified node,
Determine whether the input access address matches the address associated with the searched node,
If it is determined to match, from a state of prohibiting access from the access source address to the access destination address, a state of permitting access from the access source address to the access destination address is set.
An information processing program for executing a process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012077966A JP5811006B2 (en) | 2012-03-29 | 2012-03-29 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012077966A JP5811006B2 (en) | 2012-03-29 | 2012-03-29 | Information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013206404A JP2013206404A (en) | 2013-10-07 |
JP5811006B2 true JP5811006B2 (en) | 2015-11-11 |
Family
ID=49525360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012077966A Expired - Fee Related JP5811006B2 (en) | 2012-03-29 | 2012-03-29 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5811006B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955903B (en) * | 2019-11-22 | 2021-03-30 | 支付宝(杭州)信息技术有限公司 | Privacy resource authority control method, device and equipment based on intelligent graph calculation |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008109592A (en) * | 2006-10-27 | 2008-05-08 | Casio Comput Co Ltd | Communication control apparatus, image display device, image generator, communication control system, communication control method, and program |
JP5146088B2 (en) * | 2008-05-02 | 2013-02-20 | 富士通株式会社 | Web information relay method and apparatus |
JP2011170531A (en) * | 2010-02-17 | 2011-09-01 | Nippon Telegr & Teleph Corp <Ntt> | Traffic data separation method and program |
JP2011215938A (en) * | 2010-03-31 | 2011-10-27 | Ntt Docomo Inc | Data input terminal, and correction candidate exhibiting method |
JP5682181B2 (en) * | 2010-08-25 | 2015-03-11 | 日本電気株式会社 | COMMUNICATION DEVICE, METHOD, AND PROGRAM HAVING COMMUNICATION CONTROL FUNCTION |
-
2012
- 2012-03-29 JP JP2012077966A patent/JP5811006B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013206404A (en) | 2013-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4899971B2 (en) | Test specification creation program, test specification creation device, and test specification creation method | |
JP6206866B2 (en) | Apparatus and method for holding obfuscated data in server | |
JP2009271930A (en) | Method, system and program for generating jdf by use of printer definition file | |
JP2008305391A (en) | Document generation apparatus, method, and program | |
JP7158200B2 (en) | Information processing system, server, control method thereof, and program | |
KR20190095099A (en) | Transaction system error detection method, apparatus, storage medium and computer device | |
JP2010102510A (en) | Client device, server device, document management system using them, document management method and document management program | |
JP5676522B2 (en) | Character string conversion method and program | |
JP6232736B2 (en) | Document reading support device, document reading support system, document reading support method and program | |
JP5811006B2 (en) | Information processing apparatus, information processing method, and information processing program | |
CN102193789A (en) | Method and equipment for realizing configurable skip link | |
JP5169614B2 (en) | System analysis program, system analysis apparatus, and system analysis method | |
JP2014056612A (en) | Device, method, and program for controlling browsing | |
US20200380071A1 (en) | Autoform Filling Using Text from Optical Character Recognition and Metadata for Document Types | |
JP5408129B2 (en) | Service combination support apparatus, service combination support method, and program | |
JP6354228B2 (en) | Information processing apparatus, information processing method, image forming apparatus, information processing system, and program | |
JP5217853B2 (en) | Address association method, address association program, and apparatus | |
JP4676136B2 (en) | Document structure inspection method and apparatus | |
JP4970980B2 (en) | Information processing apparatus and program | |
JP6604399B2 (en) | Image forming apparatus, information processing method, image forming system, and program | |
JP2019087877A (en) | Information processing apparatus, information processing method, and program | |
JP5599041B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2011159321A (en) | Data conversion method, device and program | |
JP2018092569A (en) | Information processing system, information processing device, information processing method, and program | |
KR20220050640A (en) | Providing Shortened URL and Information related Contents corresponding to Original URL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150812 |
|
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: 20150818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150831 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5811006 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |