JP5811006B2 - Information processing apparatus, information processing method, and information processing program - Google Patents

Information processing apparatus, information processing method, and information processing program Download PDF

Info

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
Application number
JP2012077966A
Other languages
Japanese (ja)
Other versions
JP2013206404A (en
Inventor
裕司 山岡
裕司 山岡
金谷 延幸
延幸 金谷
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012077966A priority Critical patent/JP5811006B2/en
Publication of JP2013206404A publication Critical patent/JP2013206404A/en
Application granted granted Critical
Publication of JP5811006B2 publication Critical patent/JP5811006B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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).

特開2009−259065号公報JP 2009-259065 A 特開平5−204647号公報JP-A-5-204647

しかしながら、上述した従来技術のようにアクセスを許可する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.

図1は、情報処理装置によるアクセス可否判定の流れを示す説明図である。FIG. 1 is an explanatory diagram showing a flow of access permission determination by the information processing apparatus. 図2は、実施の形態にかかる情報処理装置100のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram of a hardware configuration example of the information processing apparatus 100 according to the embodiment. 図3は、情報処理装置100の機能的構成を示すブロック図である。FIG. 3 is a block diagram illustrating a functional configuration of the information processing apparatus 100. 図4は、関係グラフ101の一例を示す説明図である。FIG. 4 is an explanatory diagram illustrating an example of the relationship graph 101. 図5は、統一化可能な言語によるパターンにより表現されたURIの一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of a URI expressed by a pattern in a language that can be unified. 図6は、情報処理装置100による統一グラフ102の生成例を示す説明図である。FIG. 6 is an explanatory diagram illustrating an example of generation of the unified graph 102 by the information processing apparatus 100. 図7は、関係グラフ101にノードが追加された場合の統一グラフ102の生成を示す説明図である。FIG. 7 is an explanatory diagram illustrating generation of the unified graph 102 when a node is added to the relationship graph 101. 図8は、統一グラフ生成処理の詳細な処理手順を示すフローチャートである。FIG. 8 is a flowchart showing a detailed processing procedure of the unified graph generation processing. 図9は、ステップS804の統一化判定処理の詳細な処理手順を示すフローチャートである。FIG. 9 is a flowchart showing a detailed processing procedure of the unification determination processing in step S804. 図10は、情報処理装置100によるアクセス可否の判定例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of determining whether access is possible by the information processing apparatus 100. 図11は、アクセス可否判定処理の詳細な処理手順を示すフローチャート(その1)である。FIG. 11 is a flowchart (part 1) illustrating a detailed processing procedure of the access permission determination processing. 図12は、アクセス可否判定処理の詳細な処理手順を示すフローチャート(その2)である。FIG. 12 is a flowchart (part 2) illustrating a detailed processing procedure of the access permission determination processing. 図13は、アクセス許可の入力例を示す説明図である。FIG. 13 is an explanatory diagram of an example of access permission input. 図14は、アクセス許可設定処理の詳細な処理手順を示すフローチャートである。FIG. 14 is a flowchart showing a detailed processing procedure of the access permission setting process.

以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理方法、および情報処理プログラムの実施の形態を詳細に説明する。   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 information processing apparatus 100 is a computer that determines whether or not access from a certain access source URI to a certain access destination URI can be permitted by tracing the relationship graph 101 and the unified graph 102 alternately. Actually, the information processing apparatus 100 determines whether access from a certain access source URI to a certain access destination URI can be permitted using, for example, a web browser.

関係グラフ101とは、統一化判定可能な言語によるパターンで表現されたURIを関連付けたノード群を有するグラフである。また、関係グラフ101とは、利用者によってアクセスを許可すると設定されたアクセス元URIとアクセス先URIとを関連付けたノードの組を有向エッジにより接続したグラフである。有向エッジは、推移可能な方向を、アクセス元URIを関連付けたノードからアクセス先URIを関連付けたノードへの方向に制限したエッジである。換言すれば、アクセス先URIを関連付けたノードからアクセス元URIを関連付けたノードへは推移できない。関係グラフ101は、例えば、情報処理装置100の利用者により入力される。   The relationship graph 101 is a graph having a group of nodes associated with URIs expressed in a pattern in a language that can be determined to be unified. The relation graph 101 is a graph in which a set of nodes in which an access source URI and an access destination URI, which are set to permit access by a user, are connected by a directed edge. A directed edge is an edge in which a transitionable direction is limited to a direction from a node associated with an access source URI to a node associated with an access destination URI. In other words, it is not possible to transition from the node associated with the access destination URI to the node associated with the access source URI. The relationship graph 101 is input by a user of the information processing apparatus 100, for example.

統一グラフ102とは、関係グラフ101と同一のノード群を有し、共通のURIがマッチするパターンで表現されたURIが関連付けられたノードの組をエッジにより接続したグラフである。また、統一グラフ102とは、各ノードを、各ノード自体とエッジにより接続したグラフである。統一グラフ102は、例えば、情報処理装置100により関係グラフ101から生成される。   The unified graph 102 is a graph in which a set of nodes having the same node group as the relationship graph 101 and associated with a URI expressed in a pattern matching a common URI is connected by an edge. The unified graph 102 is a graph in which each node is connected to each node itself by an edge. The unified graph 102 is generated from the relationship graph 101 by the information processing apparatus 100, for example.

アクセス元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 information processing apparatus 100. The API call is an API call for accessing a web server and acquiring information from the web server. The access destination URI is a URI of a web page accessed by the API.

ここで、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 information processing apparatus 100 determines whether to permit access from the access source URI to the access destination URI.

図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 information processing apparatus 100 receives an input of the relation graph 101 from the user. In the example of FIG. 1, the relationship graph 101 includes nodes N1 to N4. The node N1 is a node associated with the URI “https://a.example.com”. The node N2 is a node associated with the URI “//b.example.net”. The node N3 is a node associated with the URI “https: //@example.net”. The node N4 is a node associated with the URI “https://c.example.com:443”.

(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 information processing apparatus 100 generates a unified graph 102 from the relationship graph 101. For example, the information processing apparatus 100 identifies nodes that can be unified from among the nodes N1 to N4. The nodes that can be unified are two nodes that are associated with URIs that are expressed by a pattern in a language that can be unified and matched with a common URI. In the example of FIG. 1, the node N2 and the node N3 have URIs “//b.example.net” and “https: //” that match a common URI (for example, “https://b.example.net”). /@Example.net ”, the nodes can be unified. Next, the information processing apparatus 100 generates a unified graph 102 in which nodes that can be unified are connected. Details of generation of the unified graph 102 from the relationship graph 101 will be described later with reference to FIGS.

ここで、図1の(B)に示すように、(3)情報処理装置100は、APIがあるウェブページを取得する。次に、情報処理装置100は、取得したウェブページにあるAPIが、或るウェブページにリクエストを送信しレスポンスを受信したことを検出する。情報処理装置100は、レスポンスを受信したことを検出すると、APIがあるウェブページのURIをアクセス元URIとして入力し、ウェブページにあるAPI呼び出しがアクセスするURIをアクセス先URIとして入力する。   Here, as shown in FIG. 1B, (3) the information processing apparatus 100 acquires a web page with an API. Next, the information processing apparatus 100 detects that the API in the acquired web page has transmitted a request to a certain web page and has received a response. When the information processing apparatus 100 detects that a response has been received, the URI of the web page with the API is input as the access source URI, and the URI accessed by the API call on the web page is input as the access destination URI.

図1の例では、情報処理装置100は、アクセス元URI「https://a.example.com:443」と、アクセス先URI「https://c.example.com:443」と、の入力を受け付ける。   In the example of FIG. 1, the information processing apparatus 100 inputs an access source URI “https://a.example.com:443” and an access destination URI “https://c.example.com:443”. Accept.

(4)次に、情報処理装置100は、推移律を用いて、アクセス元URIからアクセス先URIへとアクセス可能か否かを判定する。推移律とは、アクセスの許可関係を示す関係グラフ101において、アクセス元URIがマッチするURIが関連付けられたノードから推移可能なノードの中に、アクセス先URIがマッチするURIが関連付けられたノードがあれば、アクセス可能と判定する規則である。   (4) Next, the information processing apparatus 100 determines whether it is possible to access the access destination URI from the access source URI using the transition rule. The transition rule is a relation graph 101 indicating an access permission relationship, and a node associated with a URI matching an access destination URI is a node that can transition from a node associated with a URI matching an access source URI. If there is, it is a rule that determines that access is possible.

図1の例では、情報処理装置100は、アクセス元URIがマッチする統一化判定可能な言語によるパターンで表現されたURIが関連付けられたノードN1を特定する。次に、情報処理装置100は、関係グラフ101において、ノードN1に隣接し、ノードN1から推移可能なノードN2を探索する。   In the example of FIG. 1, the information processing apparatus 100 specifies the node N1 associated with a URI expressed in a pattern in a language that can be unified and matched with the access source URI. Next, the information processing apparatus 100 searches the relation graph 101 for a node N2 that is adjacent to the node N1 and that can transition from the node N1.

そして、情報処理装置100は、統一グラフ102において、ノードN2に隣接し、ノードN2から推移可能なノードN3を探索する。次に、情報処理装置100は、関係グラフ101において、ノードN3に隣接し、ノードN3から推移可能なノードN4を探索する。ここで、ノードN4は、アクセス先URIがマッチする統一化判定可能な言語によるパターンで表現されたURIが関連付けられている。   Then, the information processing apparatus 100 searches the unified graph 102 for a node N3 that is adjacent to the node N2 and can transition from the node N2. Next, the information processing apparatus 100 searches the relationship graph 101 for a node N4 that is adjacent to the node N3 and that can transition from the node N3. Here, the node N4 is associated with a URI expressed in a pattern in a language that can be determined to be unified with the matching access destination URI.

そのため、情報処理装置100は、アクセス元URIがマッチするURIを関連付けられたノードN1から、アクセス先URIがマッチするURIを関連付けられたノードN4へと、推移可能であると判定する。そのため、情報処理装置100は、アクセス元URIからアクセス先URIへアクセス可能であると判定する。情報処理装置100は、アクセス可能と判定された場合、アクセス元URIのウェブページにあるAPIによる、アクセス先URIのウェブページからのレスポンスへのアクセスを許可する。アクセス可否の判定の詳細については図10〜図12を用いて後述する。   Therefore, the information processing apparatus 100 determines that the transition from the node N1 associated with the URI matching the access source URI to the node N4 associated with the URI matching the access destination URI is possible. Therefore, the information processing apparatus 100 determines that the access destination URI can be accessed from the access source URI. When it is determined that access is possible, the information processing apparatus 100 permits access to the response from the web page of the access destination URI by the API in the web page of the access source URI. Details of the determination of whether access is possible will be described later with reference to FIGS.

このように、情報処理装置100は、統一化判定可能な言語によるパターンで表現されたURIを含む関係グラフ101に対して、推移律を用いることができる。そのため、情報処理装置100は、統一化判定可能な言語により、アクセス許可の設定の効率化を図ることができ、かつ、推移律を用いてアクセス可否を判定できるようになる。   As described above, the information processing apparatus 100 can use the transition rule for the relation graph 101 including the URI expressed in a pattern in a language that can be determined to be unified. Therefore, the information processing apparatus 100 can improve the efficiency of setting access permission using a language that can be determined to be unified, and can determine whether access is possible using a transition rule.

図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 information processing apparatus 100 according to the embodiment. In FIG. 2, the information processing apparatus 100 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a magnetic disk drive (Hard Disk Drive) 204, and a magnetic disk. 205, an optical disc drive 206, an optical disc 207, a display 208, an I / F (Interface) 209, a keyboard 210, a mouse 211, a scanner 212, and a printer 213. Each component is connected by a bus 200.

ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御に従って磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。   Here, the CPU 201 governs overall control of the information processing apparatus 100. The ROM 202 stores a program such as a boot program. The RAM 203 is used as a work area for the CPU 201. The magnetic disk drive 204 controls reading / writing of data with respect to the magnetic disk 205 according to the control of the CPU 201. The magnetic disk 205 stores data written under the control of the magnetic disk drive 204.

光ディスクドライブ206は、CPU201の制御に従って光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。   The optical disk drive 206 controls reading / writing of data with respect to the optical disk 207 according to the control of the CPU 201. The optical disk 207 stores data written under the control of the optical disk drive 206, or causes the computer to read data stored on the optical disk 207.

ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   The display 208 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As this display 208, for example, a liquid crystal display, a plasma display, or the like can be adopted.

インターフェース(以下、「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 / F 209 controls an internal interface with the network 214 and controls data input / output from an external device. For example, a modem or a LAN adapter may be employed as the I / F 209.

キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 210 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 211 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ212は、画像を光学的に読み取り、情報処理装置100内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ206、光ディスク207、ディスプレイ208、キーボード210、マウス211、スキャナ212、およびプリンタ213の少なくともいずれか1つは、なくてもよい。   The scanner 212 optically reads an image and takes in image data into the information processing apparatus 100. The scanner 212 may have an OCR (Optical Character Reader) function. The printer 213 prints image data and document data. As the printer 213, for example, a laser printer or an ink jet printer can be adopted. Note that at least one of the optical disk drive 206, the optical disk 207, the display 208, the keyboard 210, the mouse 211, the scanner 212, and the printer 213 may be omitted.

(情報処理装置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 information processing apparatus 100 will be described with reference to FIG. FIG. 3 is a block diagram illustrating a functional configuration of the information processing apparatus 100. The information processing apparatus 100 includes an input unit 301, an acquisition unit 302, a generation unit 303, a specification unit 304, a search unit 305, a determination unit 306, a setting unit 307, and an output unit 308. Specifically, the input unit 301, the acquisition unit 302, the generation unit 303, the specification unit 304, the search unit 305, the determination unit 306, the setting unit 307, and the output unit 308 are illustrated in FIG. The functions are realized by causing the CPU 201 to execute a program stored in a storage device such as the ROM 202, the RAM 203, the magnetic disk 205, or the optical disk 207, or by the I / F 209.

入力部301は、アクセス元アドレスとアクセス先アドレスとを入力する。アドレスとは、ネットワークにおけるウェブページの場所を示す情報であり、例えば、OriginやURIやURLである。アクセス元アドレスとは、例えば、情報処理装置100が取得したウェブページのOriginやURIやURLである。アクセス先アドレスとは、例えば、ウェブページ内のAPI呼び出しによるリクエストの送信先になりレスポンスを返すウェブページのOriginやURIやURLである。   The input unit 301 inputs an access source address and an access destination address. The address is information indicating the location of the web page on the network, and is, for example, Origin, URI, or URL. The access source address is, for example, an Origin, URI, or URL of a web page acquired by the information processing apparatus 100. The access destination address is, for example, an Origin, URI, or URL of a web page that becomes a transmission destination of a request by API call in the web page and returns a response.

ここで、ウェブページ内の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 input unit 301 acquires web page data having an API call that transmits a request to the web server. The web page data is, for example, HTML document data. In the HTML document, an API call is described using, for example, “Java (registered trademark) Script”. Next, when the API of the web page is called, the input unit 301 extracts the URL of the web page having the API call.

そして、入力部301は、抽出したURLをURI「https://a.example.com:443」に変換して、アクセス元URIの入力として受け付ける。ここで、入力部301は、より具体的には、例えば、URLのスキーム、ホスト名、ポート番号を抽出して連結することにより、URLをURIに変換する。また、入力部301は、ポート番号が省略されている場合は、ポート番号を補完する。一般に、入力部301は、ポート番号が省略されている場合、ポート番号として80番を補完する。   Then, the input unit 301 converts the extracted URL into a URI “https://a.example.com:443” and receives it as an input of the access source URI. Here, more specifically, the input unit 301 converts the URL into a URI, for example, by extracting and connecting the URL scheme, host name, and port number. Moreover, the input part 301 complements a port number, when the port number is abbreviate | omitted. In general, when the port number is omitted, the input unit 301 complements 80 as the port number.

また、入力部301は、呼び出されたAPIの引数として指定されるリクエストの送信先になるURLを抽出し、URI「https://c.example.com:443」に変換して、アクセス先URIの入力として受け付ける。URLからURIへの変換の処理は、上述したアクセス元URIの変換の処理と同様である。   Further, the input unit 301 extracts a URL that is a transmission destination of a request specified as an argument of the called API, converts the URL to a URI “https://c.example.com:443”, and an access destination URI Accept as input. The URL to URI conversion process is the same as the access source URI conversion process described above.

また、入力部301は、アクセス先アドレスから受信するレスポンスの種別を入力してもよい。入力部301は、具体的には、例えば、APIによって受信されたレスポンスの種別「text/html」の入力を受け付ける。入力部301は、より具体的には、例えば、APIによって受信したレスポンスの種別を、受信したレスポンスのヘッダデータから抽出する。これにより、判定部306は、入力部301によって入力されたアクセス元URIからアクセス先URIへのアクセス可否を判定することができる。入力されたデータは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。   Further, the input unit 301 may input the type of response received from the access destination address. Specifically, the input unit 301 receives, for example, an input of a response type “text / html” received by the API. More specifically, for example, the input unit 301 extracts the type of response received by the API from the header data of the received response. Thereby, the determination unit 306 can determine whether or not the access source URI input from the input unit 301 can be accessed. The input data is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.

取得部302は、統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する。ここで、統一化可能な言語によるパターンとは、文字列の集合を或る文字列により表したパターンである。パターンには、例えば、いわゆるワイルドカードがある。   The acquisition unit 302 acquires connection information indicating a pair of a transition source node and a transition destination node that are set to be transitionable among nodes associated with addresses expressed by patterns in a language that can be unified. Here, the pattern in the language that can be unified is a pattern in which a set of character strings is represented by a certain character string. The pattern includes, for example, a so-called wild card.

統一化可能な言語によるパターンにより表現されたアドレスとは、統一化可能な言語によるパターンにより表現された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 relationship graph 101 described above. The connection information is, for example, the edge of the relation graph 101 described above. The edge is, for example, information associated with the transition source node, and is a pointer indicating a memory address where the transition destination node is stored.

取得部302は、具体的には、例えば、情報処理装置100の利用者により入力され、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている関係グラフ101を取得する。   Specifically, for example, the acquisition unit 302 is input by a user of the information processing apparatus 100 and stored in a storage device such as the ROM 202, the RAM 203, the magnetic disk 205, and the optical disk 207 illustrated in FIG. To get.

また、取得部302は、具体的には、例えば、API呼び出しが埋め込まれたウェブページを提供するウェブサーバから、関係グラフ101を取得してもよい。この場合、入力部301は、利用者のキーボード210やマウス211の操作を受け付けて、ウェブサーバから取得した関係グラフ101を使用するか否かを入力してもよい。そして、取得部302は、入力部301によって使用しないと入力された場合、取得した関係グラフ101を破棄してもよい。   Specifically, the acquisition unit 302 may acquire the relationship graph 101 from, for example, a web server that provides a web page in which an API call is embedded. In this case, the input unit 301 may receive a user's operation of the keyboard 210 and the mouse 211 and input whether to use the relationship graph 101 acquired from the web server. Then, when the input unit 301 inputs that the acquisition unit 302 is not used, the acquisition unit 302 may discard the acquired relationship graph 101.

また、取得部302は、推移元ノードから推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得してもよい。種別情報とは、例えば、レスポンスのContent−Typeである。取得部302は、具体的には、例えば、情報処理装置100の利用者によって、或るアクセス元が呼び出したAPIから或るアクセス先へのアクセスを許可するアクセス先レスポンスの種別として入力された、種別「text/html」を取得する。   The acquisition unit 302 may acquire 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 type information is, for example, a response Content-Type. Specifically, for example, the acquisition unit 302 is input by the user of the information processing apparatus 100 as an access destination response type that permits access to an access destination from an API called by an access source. The type “text / html” is acquired.

また、取得部302は、具体的には、例えば、API呼び出しが埋め込まれたウェブページを提供するウェブサーバから、種別情報を取得してもよい。この場合、入力部301は、利用者のキーボード210やマウス211の操作を受け付けて、ウェブサーバから取得した種別情報を使用するか否かを入力してもよい。そして、取得部302は、入力部301によって使用しないと入力された場合、取得した種別情報を破棄してもよい。   Specifically, the acquisition unit 302 may acquire the type information from, for example, a web server that provides a web page in which an API call is embedded. In this case, the input unit 301 may receive a user's operation of the keyboard 210 and the mouse 211 and input whether to use the type information acquired from the web server. Then, when the input unit 301 inputs that the acquisition unit 302 is not used, the acquisition unit 302 may discard the acquired type information.

取得部302は、アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する。共通のアドレスが存在するとは、ノードの組の各ノードに関連付けた統一化可能な言語によるパターンにより表現されたアドレスに、共通のアドレスがマッチすることをいう。アドレスがマッチするとは、統一化可能な言語によるパターンにより表現されたアドレスが示すアドレス群に含まれることをいう。統一情報とは、例えば、上述した統一グラフ102のエッジである。   The acquisition unit 302 acquires unified information indicating a set of nodes in which nodes having a common address among the nodes associated with the address can transition. The existence of a common address means that the common address matches an address expressed by a pattern in a language that can be unified associated with each node of the node set. Matching addresses means being included in an address group indicated by an address expressed by a pattern in a language that can be unified. The unified information is, for example, the edge of the unified graph 102 described above.

取得部302は、具体的には、例えば、情報処理装置100の利用者により入力され、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている統一グラフ102を取得する。   Specifically, the acquisition unit 302 is input by a user of the information processing apparatus 100, for example, and is stored in a storage device such as the ROM 202, the RAM 203, the magnetic disk 205, and the optical disk 207 illustrated in FIG. To get.

また、取得部302は、生成部303によって生成された統一情報を取得してもよい。この場合、生成部303は、アドレスを関連付けたノードの中から、共通のアドレスがマッチするノードの組を特定し、特定したノードの組を示す統一情報を生成することになる。生成部303は、具体的には、例えば、取得した関係グラフ101の中から、統一化可能なノードを特定してエッジを追加することにより、統一グラフ102を生成する。   The acquisition unit 302 may acquire the unified information generated by the generation unit 303. In this case, the generation unit 303 specifies a set of nodes matching the common address from the nodes associated with the addresses, and generates unified information indicating the specified set of nodes. Specifically, for example, the generation unit 303 generates a unified graph 102 by identifying a node that can be unified from the acquired relation graph 101 and adding an edge.

また、取得部302は、API呼び出しが埋め込まれたウェブページを提供するウェブサーバから、統一グラフ102を取得してもよい。この場合、入力部301は、利用者のキーボード210やマウス211の操作を受け付けて、ウェブサーバから取得した統一グラフ102を使用するか否かを入力してもよい。そして、取得部302は、入力部301によって使用しないと入力された場合、取得した統一グラフ102を破棄してもよい。   The acquisition unit 302 may acquire the unified graph 102 from a web server that provides a web page in which an API call is embedded. In this case, the input unit 301 may receive a user's operation of the keyboard 210 and the mouse 211 and input whether to use the unified graph 102 acquired from the web server. Then, when the input unit 301 inputs that the acquisition unit 302 is not used, the acquisition unit 302 may discard the acquired unified graph 102.

これにより、探索部305は、取得部302によって取得された関係グラフ101と統一グラフ102とを用いて、アクセス元URIにマッチするURIが関連付けられたノードから推移可能な隣接するノードを探索することができる。取得されたデータは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。   As a result, the search unit 305 uses the relationship graph 101 and the unified graph 102 acquired by the acquisition unit 302 to search for adjacent nodes that can transition from the node associated with the URI that matches the access source URI. Can do. The acquired data is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.

特定部304は、アドレスを関連付けたノードの中から、入力部301によって入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定する。特定部304は、具体的には、図1の例では、関係グラフ101のノードN1〜N4の中から、アクセス元URI「https://a.example.com:443」にマッチする統一化可能な言語によるパターンにより表現されたURI「https://a.example.com」が関連付けられたノードN1を特定する。   The identifying unit 304 identifies a node associated with an address that matches the access source address input by the input unit 301 from among the nodes associated with the address. Specifically, in the example of FIG. 1, the identifying unit 304 can be unified to match the access source URI “https://a.example.com:443” from among the nodes N1 to N4 of the relationship graph 101. The node N1 associated with the URI “https://a.example.com” expressed by a pattern in a simple language is specified.

また、統一化可能な言語によるパターンにより表現された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 unit 304 is associated with the URI “//@example.com” expressed by a pattern in a unified language that matches the access source URI “https://a.example.com:443”. You may identify the node that

これにより、探索部305は、特定部304によって特定されたノードから探索を開始することができる。特定されたノードは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。   Thereby, the search unit 305 can start the search from the node specified by the specifying unit 304. The identified node is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.

探索部305は、取得部302によって取得された接続情報および統一情報に基づいて、特定部304によって特定されたノードから推移可能なノードを探索する。探索部305は、具体的には、例えば、接続情報に基づいて、特定されたノードを推移元ノードにする推移先ノードを探索する。   The search unit 305 searches for a node that can transition from the node specified by the specifying unit 304 based on the connection information and the unified information acquired by the acquisition unit 302. Specifically, the search unit 305 searches for a transition destination node that uses the identified node as a transition source node based on, for example, connection information.

探索部305は、より具体的には、図1の例では、関係グラフ101において、特定されたノードN1からエッジにより接続されたノードN2を探索する。これにより、判定部306は、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。   More specifically, in the example of FIG. 1, the search unit 305 searches for a node N2 connected by an edge from the identified node N1 in the relationship graph 101. Thereby, the determination unit 306 can determine whether or not the searched node is associated with a URI expressed by a pattern in a language that can be unified that matches the access destination URI.

また、探索部305は、具体的には、例えば、統一情報に基づいて、判定部306によってマッチしないと判定されたノードから推移可能なノードを探索してもよい。次に、探索部305は、接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索してもよい。   Specifically, for example, the search unit 305 may search for a node that can transition from a node determined not to match by the determination unit 306 based on the unified information. Next, the search unit 305 may search for a transition destination node that makes the searched transitionable node a transition source node based on the connection information.

探索部305は、より具体的には、図1の例では、統一グラフ102において、ノードN2からエッジにより接続されたノードN3を探索する。次に、探索部305は、関係グラフ101において、探索されたノードN3からエッジにより接続されたノードN4を探索する。これにより、判定部306は、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。   More specifically, the search unit 305 searches for the node N3 connected from the node N2 by the edge in the unified graph 102 in the example of FIG. Next, the search unit 305 searches the relationship graph 101 for a node N4 connected by an edge from the searched node N3. Thereby, the determination unit 306 can determine whether or not the searched node is associated with a URI expressed by a pattern in a language that can be unified that matches the access destination URI.

また、探索部305は、具体的には、例えば、接続情報に基づいて、入力部301によって入力された種別が取得部302によって取得された種別情報が示す種別であって、特定されたノードを推移元ノードにする推移先ノードを探索してもよい。   Specifically, the search unit 305, for example, based on the connection information, the type input by the input unit 301 is the type indicated by the type information acquired by the acquisition unit 302, and the identified node You may search the transition destination node made into a transition origin node.

探索部305は、具体的には、例えば、関係グラフ101において、特定されたノードから種別情報「text/html」が関連付けられたエッジにより接続されたノードを探索する。また、探索部305は、特定されたノードから任意の種別を示す種別情報「空集合」が関連付けられたエッジにより接続されたノードを探索してもよい。これにより、判定部306は、探索されたノードに、アクセス先URIにマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。   Specifically, for example, in the relationship graph 101, the search unit 305 searches for a node connected by an edge associated with the type information “text / html” from the identified node. Further, the search unit 305 may search for nodes connected by edges associated with type information “empty set” indicating an arbitrary type from the identified nodes. Thereby, the determination unit 306 can determine whether or not the searched node is associated with a URI expressed by a pattern in a language that can be unified that matches the access destination URI.

探索部305は、統一情報に基づいて、判定部306によってマッチしないと判定されたノードから推移可能なノードを探索する。次に、探索部305は、接続情報に基づいて、入力部301によって入力された種別が取得部302によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索する。   Based on the unified information, the search unit 305 searches for a node that can transition from the node determined not to match by the determination unit 306. Next, based on the connection information, the search unit 305 determines that the type input by the input unit 301 is the type indicated by the type information acquired by the acquisition unit 302, and the searched transitionable node is the transition source node. Search for the transition destination node.

ここで、探索されたノードに、アクセス先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 search unit 305 searches the unified graph 102 for a node connected by an edge from a node that is not associated with a URI expressed by a pattern in a unified language that matches the access destination URI.

次に、探索部305は、関係グラフ101において、探索されたノードから種別情報「text/html」が関連付けられたエッジにより接続されたノードを探索する。これにより、判定部306は、探索されたノードに、アクセス先URIとマッチする統一化可能な言語によるパターンにより表現されたURIが関連付けられているか否かを判定することができる。探索されたノードは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。   Next, the search unit 305 searches the relation graph 101 for a node connected by an edge associated with the type information “text / html” from the searched nodes. Thereby, the determination unit 306 can determine whether or not the searched node is associated with a URI expressed by a pattern in a unified language that matches the access destination URI. The searched node is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.

判定部306は、探索部305によって探索されたノードに関連付けられたアドレスに、入力部301によって入力されたアクセス先アドレスがマッチするか否かを判定する。判定部306は、具体的には、図1の例では、探索されたノードN4に関連付けられたURI「https://c.example.com:443」に、アクセス先URI「https://c.example.com:443」がマッチすると判定する。   The determination unit 306 determines whether the access destination address input by the input unit 301 matches the address associated with the node searched by the search unit 305. Specifically, in the example of FIG. 1, the determination unit 306 adds the access destination URI “https: // c” to the URI “https://c.example.com:443” associated with the searched node N4. .Example.com: 443 ”is determined to match.

また、統一化可能な言語によるパターンにより表現された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 determination unit 306 determines that there is a match.

これにより、設定部307は、判定結果を用いて、アクセス元URIを生成元にするAPIからアクセス先URIへのアクセスを許可することができる。判定結果は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。   Thereby, the setting unit 307 can permit access to the access destination URI from the API that uses the access source URI as a generation source, using the determination result. The determination result is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.

設定部307は、判定部306によってマッチすると判定された場合、アクセス元アドレスからアクセス先アドレスへのアクセスを禁止する状態から、アクセス元アドレスからアクセス先アドレスへのアクセスを許可する状態に設定する。アクセスを禁止する状態とは、アクセス元アドレスのウェブページにおいて呼び出されたAPIによる、アクセス先アドレスのウェブページから返されたレスポンスへのアクセスを禁止することをいう。   When it is determined by the determination unit 306 that the match is made, the setting unit 307 sets 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. The state of prohibiting access refers to prohibiting access to the response returned from the web page at the access destination address by the API called in the web page at the access source address.

設定部307は、具体的には、例えば、ウェブブラウザを「Same Origin Policy」を回避するように設定する。これにより、ウェブブラウザ内のアクセス元URIにより呼び出されるAPIは、アクセス先URIから送られてきたレスポンスへアクセスすることができる。   Specifically, for example, the setting unit 307 sets the web browser to avoid “Same Origin Policy”. Thereby, the API called by the access source URI in the web browser can access the response sent from the access destination URI.

また、情報処理装置100は、判定部306によってマッチしないと判定された場合、アクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを、関係グラフ101に追加して、エッジにより接続してもよい。   If the determination unit 306 determines that there is no match, the information processing apparatus 100 adds the node associated with the access source URI and the node associated with the access destination URI to the relationship graph 101 and connects them by an edge. May be.

この場合、入力部301は、利用者からアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとの組を、推移可能なノードの組として設定するか否かを示す許可情報の入力を受け付ける。   In this case, the input unit 301 inputs permission information indicating whether or not a set of a node associated with the access source URI and a node associated with the access destination URI is set as a transitionable node set from the user. Accept.

この場合、生成部303は、許可情報が設定することを示す場合、アクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを関係グラフ101に追加して、エッジにより接続する。これにより、情報処理装置100の利用者は、アクセスが不可能と判定されたURIの組を関係グラフに追加して、アクセス可能なURIの組に設定することができる。   In this case, when the permission information indicates that the permission information is set, the generation unit 303 adds the node associated with the access source URI and the node associated with the access destination URI to the relationship graph 101 and connects them by an edge. As a result, the user of the information processing apparatus 100 can add a set of URIs determined to be inaccessible to the relationship graph and set the set of accessible URIs.

ここでは、情報処理装置100は、情報処理装置100が取得したウェブページのURIから、ウェブページ内のAPI呼び出しによるリクエストの送信先になりレスポンスを返すウェブページのURIへのアクセスの可否を判定したが、これに限らない。例えば、情報処理装置100は、利用者から任意のアクセス元アドレスとアクセス先アドレスの組の入力を受け付けて、アクセスの可否を判定してもよい。   Here, the information processing apparatus 100 determines whether or not access from the web page URI acquired by the information processing apparatus 100 is permitted to the URI of the web page that is a transmission destination of a request by an API call in the web page and returns a response. However, it is not limited to this. For example, the information processing apparatus 100 may receive an input of a set of an arbitrary access source address and an access destination address from a user and determine whether access is possible.

ここで、取得部302と特定部304と探索部305と判定部306の機能は、ウェブページのURIから、ウェブページ内のAPIにレスポンスを返すウェブページのURIへのアクセス可否を判定する場合と同様のため、説明を省略する。   Here, the functions of the acquisition unit 302, the identification unit 304, the search unit 305, and the determination unit 306 determine whether access to the URI of the web page that returns a response to the API in the web page from the URI of the web page. The description is omitted for the same reason.

この場合、入力部301は、利用者によるキーボード210やマウス211の操作を受けて、アクセス元アドレスとアクセス先アドレスとを入力する。入力部301は、具体的には、例えば、アクセス元URI「https://a.example.com:443」と、アクセス先URI「https://c.example.com:443」と、を入力する。   In this case, the input unit 301 inputs an access source address and an access destination address in response to an operation of the keyboard 210 and the mouse 211 by the user. Specifically, the input unit 301 inputs, for example, the access source URI “https://a.example.com:443” and the access destination URI “https://c.example.com:443”. To do.

この場合、出力部308は、判定部305による判定結果を出力する。出力形式としては、例えば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。これにより、情報処理装置100の利用者は、入力した任意のアクセス元アドレスからアクセス先アドレスへのアクセスが可能か否かを知ることができる。   In this case, the output unit 308 outputs the determination result by the determination unit 305. Examples of the output format include display on the display 208, print output to the printer 213, and transmission to an external device by the I / F 209. Alternatively, the data may be stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207. Thereby, the user of the information processing apparatus 100 can know whether or not the access destination address can be accessed from the input arbitrary access source address.

(関係グラフ101から統一グラフ102の生成)
次に、図4〜図9を用いて、関係グラフ101から統一グラフ102を生成する詳細について説明する。まず、図4を用いて、関係グラフ101の一例について説明する。
(Generation of unified graph 102 from relationship graph 101)
Next, details of generating the unified graph 102 from the relationship graph 101 will be described with reference to FIGS. First, an example of the relationship graph 101 will be described with reference to FIG.

図4は、関係グラフ101の一例を示す説明図である。図4に示すように、関係グラフ101は、統一化可能な言語によるパターンにより表現されたURIを関連付けたノード群を含むグラフである。関係グラフ101は、パターンを用いずに表現されたURIを関連付けたノードを含んでもよい。   FIG. 4 is an explanatory diagram illustrating an example of the relationship graph 101. As shown in FIG. 4, the relationship graph 101 is a graph including a group of nodes associated with URIs expressed by patterns in a language that can be unified. The relation graph 101 may include nodes associated with URIs expressed without using patterns.

また、関係グラフ101は、アクセスが許可されたアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとが、有向エッジにより接続されたグラフである。図4の例では、ノードN1からノードN2へ有向エッジにより接続されている。また、ノードN3からノードN4へ有向エッジにより接続されている。   The relation graph 101 is a graph in which a node associated with an access source URI that is permitted to access and a node associated with an access destination URI are connected by a directed edge. In the example of FIG. 4, the node N1 is connected to the node N2 by a directed edge. Further, the node N3 is connected to the node N4 by a directed edge.

また、関係グラフ101は、有向エッジに、レスポンスのContet−Typeを指定する情報を関連付けていてもよい。図4の例では、ノードN1からノードN2への有向エッジには、text/htmlが関連付けられている。ノードN3からノードN4への有向エッジには、空集合が関連付けられている。空集合は任意のContent−Typeが関連付けられていることを示す。   Further, the relationship graph 101 may associate information specifying the response content-type with the directed edge. In the example of FIG. 4, text / html is associated with the directed edge from the node N1 to the node N2. An empty set is associated with the directed edge from the node N3 to the node N4. An empty set indicates that an arbitrary Content-Type is associated.

上述したように、関係グラフ101のノードに関連付けられたURIは、統一化可能な言語によるパターンを用いて表すことができる。URIは、例えば、スキーマを省略して表すことができる。スキーマが省略されたURIは、任意のスキーマのURIにマッチする。   As described above, the URI associated with the node of the relationship graph 101 can be expressed using a pattern in a language that can be unified. The URI can be expressed by omitting the schema, for example. The URI with the schema omitted matches the URI of an arbitrary schema.

また、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 information processing apparatus 100 identifies URIs that can be unified from URIs expressed by patterns in a language that can be unified, and connects nodes that associate the URIs that can be unified by edges. The unified graph 102 is generated. Next, a generation example of the unified graph 102 by the information processing apparatus 100 will be described with reference to FIG.

図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 unified graph 102 by the information processing apparatus 100. For example, the information processing apparatus 100 compares the URI “//b.example.net” associated with the node N2 with the URI “https: //@example.net” associated with the node N3.

ここで、ノード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 information processing apparatus 100 determines that a common URI (for example, “https://b.example.net”) matches the URIs associated with the node N2 and the node N3, and can be unified. Judge that there is. Then, as illustrated in FIG. 6A, the information processing apparatus 100 connects the node N2 and the node N3 with an edge.

また、情報処理装置100は、図6の(B)に示すように、有向2部グラフにより統一グラフ102を表してもよい。有向2部グラフの左側はアクセス元のURIを示し、有向2部グラフの右側はアクセス先のURIを示す。情報処理装置100は、有向2部グラフにおいて、右側のURIと左側のURIとを比較し、統一化可能なURIを関連付けたノードがあればエッジにより右側から左側へ接続する。   Further, the information processing apparatus 100 may represent the unified graph 102 by a directed bipartite graph as illustrated in FIG. The left side of the directed bipartite graph shows the URI of the access source, and the right side of the directed bipartite graph shows the URI of the access destination. The information processing apparatus 100 compares the right URI and the left URI in the directed bipartite graph, and if there is a node associated with a URI that can be unified, the information processing apparatus 100 connects from the right to the left with an edge.

次に、図7を用いて、関係グラフ101にノードが追加された場合の統一グラフ102の生成について説明する。   Next, generation of the unified graph 102 when a node is added to the relationship graph 101 will be described with reference to FIG.

図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 unified graph 102 when a node is added to the relationship graph 101. In the example of FIG. 7, (1) a relationship graph 101 includes a node N5 associated with the URI “https: //@example.com” and a node N6 associated with the URI “http://b.example.net”. To be added. The node N5 is connected to the node N6 by an edge.

(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 information processing apparatus 100 also adds the nodes N5 and N6 to the unified graph 102. Next, the information processing apparatus 100 identifies URIs that can be unified with the URIs associated with the added nodes N5 and N6 from the URIs associated with the nodes N1 to N4, and can be unified. Nodes associated with each other are connected by an edge. In the example of FIG. 7, the information processing apparatus 100 connects the node N1 and the node N5, the node N4 and the node N5, and the node N2 and the node N6, respectively.

次に、図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 unified graph 102 using the relation graph 101 by the information processing apparatus 100 shown in FIGS.

図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 information processing apparatus 100 adds the node Na added to the relationship graph 101 to the unified graph 102 (step S801).

次に、情報処理装置100は、未処理のノードNiがあるか否かを判定する(ステップS802)。ここで、ノードNiは、任意のノードを示す。未処理のノードNiがない場合(ステップS802:No)、情報処理装置100は、統一グラフ生成処理を終了する。   Next, the information processing apparatus 100 determines whether there is an unprocessed node Ni (step S802). Here, the node Ni indicates an arbitrary node. When there is no unprocessed node Ni (step S802: No), the information processing apparatus 100 ends the unified graph generation process.

一方、未処理のノード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 information processing apparatus 100 selects an unprocessed node Ni (step S803). Next, the information processing apparatus 100 performs the unification determination process illustrated in FIG. 9 on the URI associated with the selected node Ni and the URI associated with the added node Na (step S804).

そして、情報処理装置100は、統一化判定処理による判定結果が統一化「可能」であるか否かを判定する(ステップS805)。ここで、統一化「可能」でない場合(ステップS805:No)、情報処理装置100は、ステップS802に戻る。   Then, the information processing apparatus 100 determines whether or not the determination result of the unification determination process is “possible” for unification (step S805). Here, when it is not unified “possible” (step S805: No), the information processing apparatus 100 returns to step S802.

一方、情報処理装置100は、統一化「可能」である場合(ステップS805:Yes)、統一グラフ102のうち、選択したノードNiと追加したノードNaとをエッジにより接続し(ステップS806)、ステップS802に戻る。   On the other hand, if the information processing apparatus 100 is unified “possible” (step S805: Yes), the selected node Ni and the added node Na in the unified graph 102 are connected by an edge (step S806). The process returns to S802.

これにより、情報処理装置100は、関係グラフ101にノードが追加される都度、追加されたノードを統一グラフ102にも追加していくことにより、関係グラフ101から統一グラフ102を生成することができる。次に、図9を用いて、ステップS804の統一化判定処理の詳細な処理手順について説明する。   Thereby, the information processing apparatus 100 can generate the unified graph 102 from the relationship graph 101 by adding the added node to the unified graph 102 every time a node is added to the relationship graph 101. . Next, a detailed processing procedure of the unification determination process in step S804 will be described with reference to FIG.

図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 information processing apparatus 100 accepts a set of URIs (step S901). Next, the information processing apparatus 100 decomposes the accepted URI set into a schema, user information, a host name, and a port number (step S902).

そして、情報処理装置100は、スキーマが異なる文字列か否かを判定する(ステップS903)。URIの組のいずれかのURIのスキーマが省略されている場合はスキーマは異なる文字列でないと判定する。   Then, the information processing apparatus 100 determines whether or not the character string has a different schema (step S903). If the schema of any URI in the URI set is omitted, it is determined that the schema is not a different character string.

ここで、スキーマが異なる文字列である場合(ステップS903:Yes)、情報処理装置100は、ステップS910に移行する。   Here, when the character strings have different schemas (step S903: Yes), the information processing apparatus 100 proceeds to step S910.

一方、スキーマが異なる文字列でない場合(ステップS903:No)、情報処理装置100は、ホスト名が同一か否かを判定する(ステップS904)。ここで、ホスト名が同一の場合(ステップS904:Yes)、情報処理装置100は、ステップS909に移行する。   On the other hand, when the schemas are not different character strings (step S903: No), the information processing apparatus 100 determines whether the host names are the same (step S904). If the host names are the same (step S904: Yes), the information processing apparatus 100 proceeds to step S909.

一方、ホスト名が同一でない場合(ステップ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 information processing apparatus 100 sets the URI with the shorter host name as URI1 and sets the URI with the longer host name as URI2 in the set of URIs. Setting is made (step S905).

次に、情報処理装置100は、URI1にユーザ情報@があるか否かを判定する(ステップS906)。ここで、ユーザ情報@がない場合(ステップS906:No)、情報処理装置100は、ステップS910に移行する。   Next, the information processing apparatus 100 determines whether or not there is user information @ in the URI 1 (step S906). Here, when there is no user information @ (step S906: No), the information processing apparatus 100 proceeds to step S910.

一方、ユーザ情報@がある場合(ステップS906:Yes)、情報処理装置100は、URI1のホスト名が空であるか否かを判定する(ステップS907)。ここで、空である場合(ステップS907:Yes)、情報処理装置100は、ステップS909に移行する。   On the other hand, when there is user information @ (step S906: Yes), the information processing apparatus 100 determines whether or not the host name of URI1 is empty (step S907). Here, when it is empty (step S907: Yes), the information processing apparatus 100 proceeds to step S909.

一方、空でない場合(ステップ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 information processing apparatus 100 determines whether the end of the URI2 host name is “.URI1 host name” (step S908). If the end of the URI2 host name is not “.URI1 host name” (step S908: NO), the information processing apparatus 100 proceeds to step S910.

一方、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 information processing apparatus 100 determines whether the port number is a different value (step S909). If the port number of any URI in the set of URIs is omitted, it is determined that the port number is not a different value.

ここで、ポート番号が異なる値である場合(ステップS909:Yes)、情報処理装置100は、統一化「不可能」を出力し(ステップS910)、統一化判定処理を終了する。   If the port numbers have different values (step S909: Yes), the information processing apparatus 100 outputs “unavailable” (step S910), and ends the unification determination process.

一方、ポート番号が異なる値でない場合(ステップS909:No)、情報処理装置100は、統一化「可能」を出力し(ステップS911)、統一化判定処理を終了する。これにより、情報処理装置100は、統一グラフ102において、エッジにより接続すべきノードの組を特定することができる。   On the other hand, if the port number is not a different value (step S909: No), the information processing apparatus 100 outputs the unified “possible” (step S911) and ends the unified determination process. As a result, the information processing apparatus 100 can identify a set of nodes to be connected by edges in the unified graph 102.

(アクセス可否の判定)
次に、図10〜図12を用いて、情報処理装置100によるアクセス可否の判定について説明する。まず、図10を用いて、情報処理装置100によるアクセス可否の判定例について説明する。
(Determining whether access is possible)
Next, determination of access permission by the information processing apparatus 100 will be described with reference to FIGS. First, an example of determining whether access is possible by the information processing apparatus 100 will be described with reference to FIG.

図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 information processing apparatus 100. As shown in FIG. 10A, (1) the information processing apparatus 100 acquires a web page from the web server S1. The acquired web page has an API call. The API is an API that accesses the web server S2 and acquires information from the web server S2. The API is, for example, “XMLHttpRequest” of “Java (registered trademark) Script”.

ここで、情報処理装置100は、APIが呼び出された場合、API呼び出しがあるウェブページのURIから、APIによりアクセスされるURIへのアクセスが許可されているか否かを判定する。そのため、情報処理装置100は、API呼び出しがあるウェブページのURLをURIに変換してアクセス元URIとして設定し、APIによりアクセスされるURLをURIに変換してアクセス先URIとして設定し、アクセス可否を判定する。   Here, when the API is called, the information processing apparatus 100 determines whether or not access from the URI of the web page where the API call is made to the URI accessed by the API is permitted. Therefore, the information processing apparatus 100 converts the URL of a web page with an API call into a URI and sets it as an access source URI, converts the URL accessed through the API into a URI and sets it as an access destination URI, Determine.

情報処理装置100は、例えば、URLのスキーム、ホスト名、ポート番号を抽出して連結することにより、URLをURIに変換する。また、情報処理装置100は、ポート番号が省略されている場合は、ポート番号を補完する。一般に、情報処理装置100は、ポート番号が省略されている場合、ポート番号として80番を補完する。   The information processing apparatus 100 converts the URL into a URI, for example, by extracting and connecting the URL scheme, host name, and port number. Further, the information processing apparatus 100 complements the port number when the port number is omitted. Generally, when the port number is omitted, the information processing apparatus 100 complements 80 as the port number.

また、情報処理装置100は、呼び出したAPIのレスポンスの種別として、種別「text/html」を取得してもよい。呼び出したAPIによりどのようなレスポンスが受信されたかは、例えば、HTTPレスポンスのヘッダデータから取得することができる。   Further, the information processing apparatus 100 may acquire the type “text / html” as the type of response of the called API. What kind of response is received by the called API can be acquired from header data of an HTTP response, for example.

図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 information processing apparatus 100 includes an access source URI “https://a.example.com:443” and an access destination URI “https://c.example.com:443”. And are set. Further, it is assumed that the information processing apparatus 100 has acquired “text / html” as the API response type.

図10の(B)に示すように、(2)情報処理装置100は、ノードの中から、アクセス元URI「https://a.example.com:443」とマッチするURI「https://a.example.com」を関連付けられたノードN1を特定する。   As shown in FIG. 10B, (2) the information processing apparatus 100 has a URI “https: ///” matching the access source URI “https://a.example.com:443” from among the nodes. The node N1 associated with “a.example.com” is specified.

次に、情報処理装置100は、関係グラフ101において、ノードN1と隣接し、種別「text/html」が関連付けられたエッジを辿って、ノードN1から推移可能なノードN2を探索する。隣接するとは、ノード同士が、1本のエッジにより接続されていることをいう。ここで、情報処理装置100は、探索されたノードN2に関連付けられたURI「//b.example.net」に、アクセス先URI「https://c.example.com:443」がマッチするか否かを判定する。   Next, the information processing apparatus 100 searches for a node N2 that can transition from the node N1 by tracing an edge adjacent to the node N1 and associated with the type “text / html” in the relationship graph 101. Adjacent means that the nodes are connected by one edge. Here, the information processing apparatus 100 matches the access destination URI “https://c.example.com:443” with the URI “//b.example.net” associated with the searched node N2. Determine whether or not.

そして、情報処理装置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 information processing apparatus 100 proceeds to the process (3) in FIG. 10C and is adjacent to the node N2 in the unified graph 102. Then, a node that can transition from the node N2 is searched.

図10の(C)に示すように、(3)情報処理装置100は、統一グラフ102において、ノードN2と隣接し、ノードN2から推移可能なノードN3を探索する。次に、情報処理装置100は、図10の(C)の(4)の処理に移行して、関係グラフ101において、ノードN3と隣接し、ノードN3から推移可能なノードを探索する。   As shown in FIG. 10C, (3) the information processing apparatus 100 searches the unified graph 102 for a node N3 that is adjacent to the node N2 and can be shifted from the node N2. Next, the information processing apparatus 100 proceeds to the process (4) in FIG. 10C, and searches for a node that is adjacent to the node N3 and can be shifted from the node N3 in the relationship graph 101.

(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 information processing apparatus 100 can transition from the node N3 by following an edge that is adjacent to the node N3 and associated with the type “empty set” including the type “text / html” in the relationship graph 101. Search for a new node N4. Here, the information processing apparatus 100 adds the access destination URI “https://c.example.com:443” to the URI “https://c.example.com:443” associated with the searched node 4. Whether or not matches.

そして、情報処理装置100は、ノードN4に関連付けられたURIにアクセス先URIがマッチすると判定する。そのため、情報処理装置100は、アクセス元URIがマッチするURIが関連付けられたノードN1から、アクセス先URIがマッチするURIが関連付けられたノードN4へと推移可能であると判定して、アクセス可能であると判定する。   The information processing apparatus 100 determines that the access destination URI matches the URI associated with the node N4. Therefore, the information processing apparatus 100 determines that the transition from the node N1 associated with the URI matching the access source URI to the node N4 associated with the URI matching the access destination URI is possible. Judge that there is.

次に、図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 information processing apparatus 100 illustrated in FIG.

図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 information processing apparatus 100 receives input of an access source URI and an access destination URI (step S <b> 1101).

次に、情報処理装置100は、受け付けたURIが同一か否かを判定する(ステップS1102)。ここで、URIが同一である場合(ステップS1102:Yes)、情報処理装置100は、アクセス「可能」と出力し(ステップS1103)、アクセス可否判定処理を終了する。   Next, the information processing apparatus 100 determines whether or not the received URIs are the same (step S1102). If the URIs are the same (step S1102: YES), the information processing apparatus 100 outputs “accessible” (step S1103) and ends the access permission determination process.

一方、URIが同一でない場合(ステップS1102:No)、情報処理装置100は、アクセス元URIと関係グラフ101の各ノードに関連付けられたURIとに対して、ノードごとの統一化判定処理を実行する(ステップS1104)。統一化判定処理は、図9に示した処理である。   On the other hand, when the URIs are not the same (step S1102: No), the information processing apparatus 100 executes the unification determination process for each node on the access source URI and the URI associated with each node of the relation graph 101. (Step S1104). The unification determination process is the process shown in FIG.

次に、情報処理装置100は、統一化判定処理により統一化「可能」と出力されたノードを抽出する(ステップS1105)。ステップS1104およびステップS1105の処理により、情報処理装置100は、ノードの数だけ統一化判定処理を行い、統一化可能な全ノードを抽出する。そして、情報処理装置100は、抽出されたノードを、historySetとstackとに格納する(ステップS1106)。   Next, the information processing apparatus 100 extracts the node that is output as “unable” by the unification determination process (step S1105). Through the processes in steps S1104 and S1105, the information processing apparatus 100 performs the unification determination process for the number of nodes, and extracts all nodes that can be unified. Then, the information processing apparatus 100 stores the extracted node in historySet and stack (step S1106).

ここで、historySetは、処理済みのノードを格納する記憶領域である。情報処理装置100は、historySetの格納内容を参照することにより、処理済みのノードを再び処理することを防止することができる。stackは、処理待ちのノードを格納する記憶領域である。   Here, historySet is a storage area for storing processed nodes. The information processing apparatus 100 can prevent the processed node from being processed again by referring to the stored contents of the historySet. The stack is a storage area for storing a node waiting for processing.

次に、情報処理装置100は、stackが空でないか否かを判定する(ステップS1107)。ここで、stackが空でない場合(ステップS1107:Yes)、情報処理装置100は、図12のステップS1201に移行する。   Next, the information processing apparatus 100 determines whether the stack is not empty (step S1107). If the stack is not empty (step S1107: Yes), the information processing apparatus 100 proceeds to step S1201 in FIG.

一方、stackが空である場合(ステップS1107:No)、情報処理装置100は、アクセス「不可能」と出力し(ステップS1108)、アクセス可否判定処理を終了する。   On the other hand, when the stack is empty (step S1107: No), the information processing apparatus 100 outputs access “impossible” (step S1108), and ends the access permission determination process.

図12において、情報処理装置100は、stackからノードを選択し、選択したノードをstackから消去する(ステップS1201)。次に、情報処理装置100は、関係グラフ101において、選択したノードと隣接し、選択したノードから推移可能なエッジを抽出する(ステップS1202)。   In FIG. 12, the information processing apparatus 100 selects a node from the stack, and deletes the selected node from the stack (step S1201). Next, the information processing apparatus 100 extracts an edge that is adjacent to the selected node and can be shifted from the selected node in the relationship graph 101 (step S1202).

そして、情報処理装置100は、抽出したエッジの中に、未処理のエッジがあるか否かを判定する(ステップS1203)。未処理のエッジがない場合(ステップS1203:No)、情報処理装置100は、図11のステップS1107に移行する。   Then, the information processing apparatus 100 determines whether there is an unprocessed edge among the extracted edges (step S1203). If there is no unprocessed edge (step S1203: No), the information processing apparatus 100 proceeds to step S1107 in FIG.

一方、未処理のエッジがある場合(ステップS1203:Yes)、情報処理装置100は、未処理のエッジを選択する(ステップS1204)。次に、情報処理装置100は、選択したエッジに関連付けられたContent−Typeが、アクセス先のContent−Typeを含むか否かを判定する(ステップS1205)。   On the other hand, when there is an unprocessed edge (step S1203: Yes), the information processing apparatus 100 selects an unprocessed edge (step S1204). Next, the information processing apparatus 100 determines whether or not the Content-Type associated with the selected edge includes the accessed Content-Type (Step S1205).

ここで、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 information processing apparatus 100 returns to step S1203. On the other hand, in the case of including the Content-Type (step S1205: Yes), the information processing apparatus 100 performs processing for the URI and the access destination URI that are adjacent to the selected node and associated with the node that can be shifted by the selected edge. The unification determination process is executed (step S1206). The unification determination process is the process shown in FIG.

次に、情報処理装置100は、統一化判定処理による判定結果が統一化「可能」であるか否かを判定する(ステップS1207)。ここで、統一化「可能」である場合(ステップS1207:Yes)、情報処理装置100は、図11のステップS1103に移行する。   Next, the information processing apparatus 100 determines whether or not the determination result obtained by the unification determination process is “enabled” (step S1207). Here, when it is unified “possible” (step S1207: Yes), the information processing apparatus 100 proceeds to step S1103 in FIG.

一方、統一化「不可能」である場合(ステップS1207:No)、情報処理装置100は、統一グラフ102において、判定結果が統一化「不可能」であるノードに隣接して推移可能なノードを抽出する(ステップS1208)。   On the other hand, in the case of unification “impossible” (step S1207: No), the information processing apparatus 100 adds a node that can move adjacent to a node whose determination result is unification “impossible” in the unification graph 102. Extract (step S1208).

次に、情報処理装置100は、抽出したノードの中に、未処理のノードがあるか否かを判定する(ステップS1209)。ここで、未処理のノードがない場合(ステップS1209:No)、情報処理装置100は、ステップS1203に戻る。   Next, the information processing apparatus 100 determines whether there is an unprocessed node among the extracted nodes (step S1209). If there is no unprocessed node (step S1209: NO), the information processing apparatus 100 returns to step S1203.

一方、未処理のノードがある場合(ステップS1209:Yes)、情報処理装置100は、未処理のノードを選択する(ステップS1210)。次に、情報処理装置100は、選択したノードがhistorySetに含まれるか否かを判定する(ステップS1211)。   On the other hand, when there is an unprocessed node (step S1209: Yes), the information processing apparatus 100 selects an unprocessed node (step S1210). Next, the information processing apparatus 100 determines whether or not the selected node is included in the historySet (step S1211).

ここで、historySetに含まない場合(ステップS1211:No)、情報処理装置100は、選択したノードをhistorySetとstackとに追加して(ステップS1212)、ステップS1209に戻る。   Here, when not included in the historySet (step S1211: No), the information processing apparatus 100 adds the selected node to the historySet and stack (step S1212), and returns to step S1209.

一方、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 information processing apparatus 100 returns to step S1209. As a result, the user of the information processing apparatus 100 can secure security by prohibiting access to the response of the access destination URI from the access source URI for the combination of the access source URI and the access destination URI that are not permitted. it can.

また、情報処理装置100は、アクセス可否判定処理を実行するか否かを、情報処理装置100の利用者に入力させてもよい。これにより、情報処理装置100の利用者は、信頼できないウェブページにあるAPIが、アクセス先URIのウェブページの情報へアクセスできないようにすることができる。   Further, the information processing apparatus 100 may cause the user of the information processing apparatus 100 to input whether or not to execute the accessibility determination process. Thereby, the user of the information processing apparatus 100 can prevent the API on the unreliable web page from accessing the information on the web page of the access destination URI.

また、情報処理装置100は、情報処理装置100の利用者から、任意のアクセス元URIとアクセス先URIとの組の入力を受け付けてもよい。そして、情報処理装置100は、受け付けたURIの組に対して、アクセス可否判定処理を実行してもよい。これにより、情報処理装置100の利用者は、任意のアクセス元URIとアクセス先URIとの組が、アクセス可能なURIの組か否かを知ることができる。結果として、情報処理装置100の利用者は、自身が設定した関係グラフ101によりアクセス可能と判定されるURIの組が、自身の想定したURIの組になっているかを確認することができる。   Further, the information processing apparatus 100 may accept an input of a set of an arbitrary access source URI and an access destination URI from a user of the information processing apparatus 100. Then, the information processing apparatus 100 may execute an access permission determination process for the accepted URI set. As a result, the user of the information processing apparatus 100 can know whether or not a combination of an arbitrary access source URI and an access destination URI is a set of accessible URIs. As a result, the user of the information processing apparatus 100 can confirm whether the set of URIs determined to be accessible by the relationship graph 101 set by the user is the set of URIs assumed by the user.

ここで、情報処理装置100は、アクセス「不可能」と判定された場合、情報処理装置100の利用者から、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可するか否かの入力を受け付けてもよい。次に、図13を用いて、アクセス許可の入力例について説明する。   If the information processing apparatus 100 determines that access is impossible, the information processing apparatus 100 allows the user of the information processing apparatus 100 to access the access destination URI from the access source URI determined to be access impossible. You may receive the input of whether to do. Next, an example of access permission input will be described with reference to FIG.

図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 information processing apparatus 100 displays an attention sentence indicating a risk of avoiding “Same Origin Policy”, an access source URI, an access destination URI, and a Content-Type that are determined as “impossible to access”. Is displayed on the display 208.

また、情報処理装置100は、ディスプレイ208に、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可することを示す入力ボタン「了解」を表示する。また、情報処理装置100は、ディスプレイ208に、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可しないことを示す入力ボタン「取消」を表示する。   Further, the information processing apparatus 100 displays an input button “OK” indicating that access from the access source URI determined to be “impossible” to the access destination URI is permitted on the display 208. Further, the information processing apparatus 100 displays an input button “Cancel” indicating that access from the access source URI determined to be “impossible” to the access destination URI is not permitted on the display 208.

そして、情報処理装置100は、利用者のキーボード210やマウス211の操作により、「了解」の入力ボタンが押下された場合、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可する。これにより、情報処理装置100は、「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスのうち、「了解」の入力ボタンが押下された今回のアクセスのみを許可することができる。   Then, the information processing apparatus 100 changes the access source URI from the access URI determined as “impossible” to the access destination URI when the “OK” input button is pressed by the user's operation of the keyboard 210 or the mouse 211. Allow access. As a result, the information processing apparatus 100 can permit only the current access in which the “OK” input button is pressed among the accesses from the access source URI determined as “impossible” to the access destination URI. .

また、情報処理装置100は、「了解」の入力ボタンが押下された場合、アクセス「不可能」と判定されたアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを関係グラフ101に追加し、エッジにより接続してもよい。これにより、情報処理装置100は、「了解」の入力ボタンが押下された以降において、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可することができる。   In addition, when the “OK” input button is pressed, the information processing apparatus 100 displays, in the relationship graph 101, a node associated with the access source URI determined to be “impossible to access” and a node associated with the access destination URI. They may be added and connected by edges. As a result, the information processing apparatus 100 can permit access from the access source URI determined as “impossible” to the access destination URI after the “OK” input button is pressed.

次に、図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 information processing apparatus 100 shown in FIG.

図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 information processing apparatus 100 receives an access source URI, an access destination URI, and a Content-Type that are determined as “impossible to access” (step S1401).

次に、情報処理装置100は、関係グラフ101において、アクセス元アドレスからアクセス先アドレスを接続したエッジがあるか否かを判定する(ステップS1402)。ここで、エッジがある場合(ステップS1402:Yes)、情報処理装置100は、エッジにContent−Typeを追加して(ステップS1403)、アクセス許可設定処理を終了する。   Next, the information processing apparatus 100 determines whether there is an edge connecting the access destination address to the access source address in the relationship graph 101 (step S1402). If there is an edge (step S1402: Yes), the information processing apparatus 100 adds Content-Type to the edge (step S1403), and ends the access permission setting process.

一方、エッジがない場合(ステップS1402:No)、情報処理装置100は、関係グラフ101に、アクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを追加して、エッジにより接続する(ステップS1404)。   On the other hand, when there is no edge (step S1402: No), the information processing apparatus 100 adds the node associated with the access source URI and the node associated with the access destination URI to the relationship graph 101, and connects them with the edge ( Step S1404).

次に、情報処理装置100は、エッジにContent−Typeを追加する(ステップS1405)。そして、情報処理装置100は、統一グラフ102を更新し(ステップS1406)、アクセス許可設定処理を終了する。これにより、情報処理装置100は、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスが、以降において許可されるように、関係グラフ101と統一グラフ102を修正することができる。   Next, the information processing apparatus 100 adds Content-Type to the edge (step S1405). Then, the information processing apparatus 100 updates the unified graph 102 (step S1406), and ends the access permission setting process. As a result, the information processing apparatus 100 can correct the relation graph 101 and the unified graph 102 so that access from the access source URI determined to be “impossible” to the access destination URI is permitted thereafter. it can.

以上説明したように、情報処理装置100は、関係グラフ101のエッジと、統一グラフ102のエッジと、を交互に辿ることにより、アクセス元URIを関連付けたノードからアクセス先URIを関連付けたノードに推移可能か否かを判定する。次に、情報処理装置100は、推移可能である場合、アクセス元URIからアクセス先URIへのアクセスを許可する。   As described above, the information processing apparatus 100 shifts from the node associated with the access source URI to the node associated with the access destination URI by alternately following the edge of the relation graph 101 and the edge of the unified graph 102. Determine whether it is possible. Next, the information processing apparatus 100 permits access from the access source URI to the access destination URI when the transition is possible.

これにより、情報処理装置100は、アクセス許可関係をURIのパターンで表現でき、かつ推移律を適用できる。結果として、情報処理装置100の利用者は、アクセスを許可するURIをパターンを用いて表して、関係グラフ101の設定量を低減することができるため、関係グラフ101を効率よく生成することができる。また、URIは、OriginやURLであってもよい。   Thereby, the information processing apparatus 100 can express the access permission relationship with a URI pattern and can apply the transition rule. As a result, the user of the information processing apparatus 100 can reduce the set amount of the relation graph 101 by expressing the URI for which access is permitted using a pattern, so that the relation graph 101 can be generated efficiently. . The URI may be Origin or URL.

情報処理装置100は、関係グラフ101のエッジに、アクセスを許可するレスポンスの種別を示す種別情報を関連付けておいてもよい。これにより、情報処理装置100は、推移律によるアクセス可否の判定において、レスポンスの種別を制限してアクセスを許可することができる。   The information processing apparatus 100 may associate type information indicating the type of response that permits access with the edge of the relationship graph 101. As a result, the information processing apparatus 100 can permit access by limiting the type of response in determining whether access is possible according to the transition rule.

情報処理装置100は、関係グラフ101から統一グラフ102を生成してもよい。これにより、情報処理装置100の利用者による統一グラフ102の生成作業を削減することができる。   The information processing apparatus 100 may generate the unified graph 102 from the relationship graph 101. Thereby, the production | generation work of the unified graph 102 by the user of the information processing apparatus 100 can be reduced.

また、情報処理装置100は、アクセス元URIのウェブページを提供したウェブサーバから関係グラフ101や統一グラフ102を取得してもよい。これにより、情報処理装置100の利用者は、関係グラフ101や統一グラフ102の生成作業を削減することができる。また、この場合、情報処理装置100は、取得した関係グラフ101や統一グラフ102を使用するか否かを情報処理装置100の利用者に入力させ、使用しないと入力された場合は取得した関係グラフ101や統一グラフ102を破棄してもよい。これにより、情報処理装置100の利用者は、信頼できないウェブサーバから取得した関係グラフ101や統一グラフ102を破棄し、セキュリティを確保することができる。   Further, the information processing apparatus 100 may acquire the relation graph 101 and the unified graph 102 from a web server that provides the web page of the access source URI. Thereby, the user of the information processing apparatus 100 can reduce the generation work of the relation graph 101 and the unified graph 102. Further, in this case, the information processing apparatus 100 causes the user of the information processing apparatus 100 to input whether or not to use the acquired relation graph 101 or the unified graph 102. 101 or the unified graph 102 may be discarded. Thereby, the user of the information processing apparatus 100 can discard the relation graph 101 and the unified graph 102 acquired from an unreliable web server and ensure security.

また、情報処理装置100は、情報処理装置100の利用者から、任意のアクセス元URIとアクセス先URIとの組の入力を受け付けてもよい。そして、情報処理装置100は、受け付けたURIの組に対して、アクセス可否判定処理を実行してもよい。これにより、情報処理装置100の利用者は、任意のアクセス元URIとアクセス先URIとの組が、アクセス可能なURIの組か否かを知ることができる。結果として、情報処理装置100の利用者は、自身が設定した関係グラフ101によりアクセス可能と判定されるURIの組が、自身の想定したURIの組になっているかを確認することができる。   Further, the information processing apparatus 100 may accept an input of a set of an arbitrary access source URI and an access destination URI from a user of the information processing apparatus 100. Then, the information processing apparatus 100 may execute an access permission determination process for the accepted URI set. As a result, the user of the information processing apparatus 100 can know whether or not a combination of an arbitrary access source URI and an access destination URI is a set of accessible URIs. As a result, the user of the information processing apparatus 100 can confirm whether the set of URIs determined to be accessible by the relationship graph 101 set by the user is the set of URIs assumed by the user.

また、情報処理装置100は、情報処理装置100の利用者から、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスを許可するか否かの入力を受け付けてもよい。そして、情報処理装置100は、利用者により許可された場合、アクセス「不可能」と判定されたアクセス元URIを関連付けたノードとアクセス先URIを関連付けたノードとを関係グラフ101に追加し、エッジにより接続してもよい。これにより、情報処理装置100は、アクセス「不可能」と判定されたアクセス元URIからアクセス先URIへのアクセスが、以降において許可されるように、関係グラフ101と統一グラフ102を修正することができる。   In addition, the information processing apparatus 100 may accept an input from a user of the information processing apparatus 100 as to whether or not to permit access to the access destination URI from the access source URI determined to be “access impossible”. Then, the information processing apparatus 100 adds, to the relationship graph 101, a node associated with an access source URI that is determined as “impossible to access” and a node associated with an access destination URI when permitted by the user. You may connect by. As a result, the information processing apparatus 100 can correct the relation graph 101 and the unified graph 102 so that access from the access source URI determined to be “impossible” to the access destination URI is permitted thereafter. it can.

なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、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 SYMBOLS 100 Information processing apparatus 101 Relation graph 102 Unified graph 301 Input part 302 Acquisition part 303 Generation part 304 Identification part 305 Search part 306 Determination part 307 Setting part 308 Transmission part

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.
前記統一化可能な言語によるパターンにより表現されたアドレスはURIであり、スキーマ、ホスト名の前半、およびポート番号の少なくともいずれかにワイルドカードを使用可能であることを特徴とする請求項1〜6のいずれか一つに記載の情報処理装置。   7. The address represented 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 a schema, a first half of a host name, and a port number. The information processing apparatus according to any one of the above. 前記判定部による判定結果を出力する出力部、
を有することを特徴とする請求項1〜7のいずれか一つに記載の情報処理装置。
An output unit for outputting a determination result by the determination unit;
The information processing apparatus according to claim 1, comprising:
前記判定部によってマッチしないと判定された場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を、推移可能なノードNの組として設定するか否かを示す許可情報を受け付ける受付部と、
前記受付部によって受け付けられた許可情報が設定することを示す場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を示す接続情報を生成する接続情報生成部と、
を有することを特徴とする請求項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.
JP2012077966A 2012-03-29 2012-03-29 Information processing apparatus, information processing method, and information processing program Expired - Fee Related JP5811006B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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