JP2023129069A - Information processing device, information processing method, and information processing program - Google Patents

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

Info

Publication number
JP2023129069A
JP2023129069A JP2022033839A JP2022033839A JP2023129069A JP 2023129069 A JP2023129069 A JP 2023129069A JP 2022033839 A JP2022033839 A JP 2022033839A JP 2022033839 A JP2022033839 A JP 2022033839A JP 2023129069 A JP2023129069 A JP 2023129069A
Authority
JP
Japan
Prior art keywords
server device
api key
address
global
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022033839A
Other languages
Japanese (ja)
Other versions
JP7292454B1 (en
Inventor
権次郎 森
Gonjiro Mori
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.)
Monet Technologies Inc
Original Assignee
Monet Technologies Inc
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 Monet Technologies Inc filed Critical Monet Technologies Inc
Priority to JP2022033839A priority Critical patent/JP7292454B1/en
Application granted granted Critical
Publication of JP7292454B1 publication Critical patent/JP7292454B1/en
Publication of JP2023129069A publication Critical patent/JP2023129069A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an information processing device, a method, and a program for managing appropriate use of an API key.SOLUTION: An information processing device includes: a storage unit that stores use history information indicating the history of use of an API key by a server device that is identified by a global IP address, for each global IP address; an acquisition unit that, based on the use history information, obtains both first use frequency information indicating the number of times a first server device that is determined not to be performing unauthorized use of an API key uses the API key and second use frequency information indicating the number of times a second server device that is identified by a second global IP address and uses the API key used by the first server device uses the API key; a calculation unit that calculates a score indicating whether the second server device is performing unauthorized use of the API key, based on comparison between the first use frequency and the second use frequency; and a determination unit that when the calculated score exceeds a predetermined threshold, determines that the second server device is performing unauthorized use of the API key.SELECTED DRAWING: Figure 3

Description

本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.

従来、不正行為からコンピュータ機器やデータを保護するための技術が知られている。例えば、端末装置は、パケットを送信する場合に、パケットの送信先のホスト名からIPアドレスへの名前解決をDNSサーバに要求する。DNSサーバは、端末装置からの要求に応じて、ホスト名からIPアドレスへの名前解決を試みる。そして、DNSサーバは、名前解決ができない場合、または、名前解決結果が無効なIPアドレスである場合、名前解決結果に関する情報を端末装置に通知する技術が知られている。 Conventionally, techniques for protecting computer equipment and data from fraudulent activities are known. For example, when transmitting a packet, a terminal device requests a DNS server to resolve the host name of the destination of the packet to an IP address. The DNS server attempts name resolution from a host name to an IP address in response to a request from a terminal device. There is a known technique in which the DNS server notifies the terminal device of information regarding the name resolution result when the name resolution cannot be performed or when the name resolution result is an invalid IP address.

特開2015-177434号公報Japanese Patent Application Publication No. 2015-177434

しかしながら、上記の従来技術では、DNSサーバは、名前解決ができない場合、または、名前解決結果が無効なIPアドレスである場合、名前解決結果に関する情報を端末装置に通知するにすぎない。したがって、上記の従来技術では、APIキーが適切に利用されているかどうかを管理可能とすることができるとは限らない。 However, in the above-mentioned conventional technology, the DNS server only notifies the terminal device of information regarding the name resolution result when the name resolution cannot be performed or when the name resolution result is an invalid IP address. Therefore, with the above-described conventional technology, it is not always possible to manage whether the API key is being used appropriately.

本開示は、APIキーが適切に利用されているかどうかを管理可能とすることができる情報処理装置、情報処理方法および情報処理プログラムを提供する。 The present disclosure provides an information processing device, an information processing method, and an information processing program that can manage whether an API key is being used appropriately.

実施形態に係る情報処理装置は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報を前記グローバルIPアドレスごとに記憶する記憶部と、前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得部と、前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出部と、前記算出部によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出部によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定部と、を備える。 The information processing device according to the embodiment includes a storage unit that stores usage history information indicating a usage history of an API key by a server device identified by a global IP address for each global IP address, and based on the usage history information, first use count information indicating a first use count, which is the number of times the API key is used by a first server device that is determined to be not using the API key illegally; and use of the API key by a second server device that uses the API key identified by a second global IP address different from a first global IP address that identifies the first server device and used by the first server device. an acquisition unit that acquires second usage frequency information indicating a second usage frequency, and based on a comparison between the first usage frequency and the second usage frequency, the second server device determines whether the API key is illegally used. a calculation unit that calculates a score indicating whether or not the API key is being used; and a determination that the second server device is illegally using the API key when the score calculated by the calculation unit exceeds a predetermined threshold. and a determination unit that determines that the second server device is not illegally using the API key when the score calculated by the calculation unit is less than or equal to the predetermined threshold.

図1は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment. 図2は、APIキーの不正利用の問題点について説明するための図である。FIG. 2 is a diagram for explaining the problem of illegal use of API keys. 図3は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of an information processing device according to an embodiment. 図4は、実施形態に係る利用履歴情報記憶部の一例を示す図である。FIG. 4 is a diagram illustrating an example of a usage history information storage unit according to the embodiment. 図5は、実施形態に係る正常IPセット情報記憶部の一例を示す図である。FIG. 5 is a diagram illustrating an example of a normal IP set information storage unit according to the embodiment. 図6は、実施形態に係る不明IPセット情報記憶部の一例を示す図である。FIG. 6 is a diagram illustrating an example of an unknown IP set information storage unit according to the embodiment. 図7は、実施形態に係るスコアリング条件記憶部の一例を示す図である。FIG. 7 is a diagram illustrating an example of a scoring condition storage unit according to the embodiment. 図8は、実施形態に係る情報処理手順を示すフローチャートである。FIG. 8 is a flowchart showing an information processing procedure according to the embodiment. 図9は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 9 is a hardware configuration diagram showing an example of a computer that implements the functions of the information processing device.

以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 DESCRIPTION OF THE PREFERRED EMBODIMENTS An information processing apparatus, an information processing method, and an information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail below with reference to the drawings. Note that the information processing apparatus, information processing method, and information processing program according to the present application are not limited to this embodiment. Further, in each of the embodiments below, the same parts are given the same reference numerals, and redundant explanations will be omitted.

(実施形態)
〔1.はじめに〕
近年、API(Application Programming Interface)を提供しているサービスなどにおいて、APIキーを顧客ごとに提供し、APIキー情報が正しいことを確認して、APIを実行させるビジネスモデルが増加している。ここで、APIキーを利用する顧客にとっては、APIキーの流出や、APIキーの不正利用は、懸念事項である。ところが従来、APIキーの不正利用に気づくには、顧客自らがAPIキーの利用状況を監視する必要があったため、顧客の負担となっていた。そこで、APIの提供者側が、APIキーの不正利用を検出し、検出された不正利用の情報を顧客へ提供する技術が望まれている。これにより、APIの提供者としてのサービス品質の向上、および、顧客のサービス満足度の向上に繋がると思われる。
(Embodiment)
[1. Introduction]
In recent years, in services that provide APIs (Application Programming Interfaces), there has been an increase in business models in which an API key is provided to each customer and the API is executed after confirming that the API key information is correct. Here, for customers who use API keys, leakage of API keys and unauthorized use of API keys are concerns. However, in the past, in order to notice unauthorized use of an API key, the customer had to monitor the usage status of the API key himself, which placed a burden on the customer. Therefore, a technology is desired in which an API provider side can detect unauthorized use of an API key and provide information on the detected unauthorized use to a customer. This is expected to lead to improved service quality as an API provider and improved customer service satisfaction.

そこで、本実施形態は、次の(1)~(5)の処理で構成される。(1)APIの提供者が、顧客に対してAPIキーを提供する。(2)顧客は、APIキーを顧客のサーバ装置に設定して、APIを実行するプログラムを実装する。(3)情報処理装置は、APIの提供者によって管理される。情報処理装置は、APIキーを用いてAPIが実行された場合、接続元のサーバ装置のグローバルIPアドレスとAPIキーを対応付けたうえで、APIキーの利用履歴を記録することで、APIキーの利用回数をカウントする。(4)情報処理装置は、接続元のサーバ装置のグローバルIPアドレスを逆引きし、FQDN(Fully Qualified Domain Name)を得られた場合はFQDNに関する情報も付帯させたうえで、APIキーの利用履歴を記録する。(5)情報処理装置は、接続元のサーバ装置のグローバルIPアドレスやFQDNが異なりAPIキーが同一の通信があった場合や、APIキーの利用回数の傾向が従来と著しく異なる場合、APIキーの流出や不正利用(以下、APIキーの不正利用ともいう)を疑うようアラートが上がるようにする。具体的には、情報処理装置は、接続元のサーバ装置のグローバルIPアドレスやFQDNが異なりAPIキーが同一の通信があった場合や、APIキーの利用回数の傾向が従来と著しく異なる場合に対応するスコアを算出し、算出されたスコアが所定の閾値を超える場合、APIキーが不正利用されたと判定する。 Therefore, this embodiment consists of the following processes (1) to (5). (1) An API provider provides an API key to a customer. (2) The customer sets an API key on the customer's server device and implements a program that executes the API. (3) The information processing device is managed by the API provider. When an API is executed using an API key, the information processing device associates the API key with the global IP address of the server device that is the connection source, and records the usage history of the API key. Count the number of uses. (4) The information processing device performs a reverse lookup on the global IP address of the server device that is the connection source, and if an FQDN (Fully Qualified Domain Name) is obtained, it also attaches information about the FQDN, and then retrieves the API key usage history. Record. (5) If the information processing device receives a communication with the same API key but with a different global IP address or FQDN of the server device that is the connection source, or if the trend in the number of times the API key is used is significantly different from before, the information processing device will An alert will be raised to suspect leakage or unauthorized use (hereinafter also referred to as unauthorized use of API keys). Specifically, the information processing device handles cases where the global IP address or FQDN of the connecting server device is different and there is communication with the same API key, or when the trend of the number of API key uses is significantly different from before. If the calculated score exceeds a predetermined threshold, it is determined that the API key has been fraudulently used.

これにより、情報処理装置は、APIキーの不正利用を検知することを可能にすることができる。また、情報処理装置は、接続元のサーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出することにより、接続元のサーバ装置がAPIキーを正常に利用しているか否かについても管理することを可能にすることができる。したがって、情報処理装置は、APIキーが適切に利用されているかどうかを管理可能とすることができる。 Thereby, the information processing device can detect unauthorized use of the API key. In addition, the information processing device determines whether the connection source server device is using the API key normally by calculating a score indicating whether the connection source server device is using the API key illegally. can also be managed. Therefore, the information processing device can manage whether the API key is being used appropriately.

〔2.情報処理システムの構成例〕
図1は、実施形態に係る情報処理システム1の構成例を示す図である。情報処理システム1には、端末装置10と、サーバ装置20と、情報処理装置100とが含まれてよい。端末装置10と、サーバ装置20と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続されてよい。なお、情報処理システム1には、任意の数の端末装置10と任意の数のサーバ装置20と任意の数の情報処理装置100とが含まれてもよい。
[2. Configuration example of information processing system]
FIG. 1 is a diagram illustrating a configuration example of an information processing system 1 according to an embodiment. The information processing system 1 may include a terminal device 10, a server device 20, and an information processing device 100. The terminal device 10, the server device 20, and the information processing device 100 may be communicably connected via a predetermined network N by wire or wirelessly. Note that the information processing system 1 may include any number of terminal devices 10, any number of server devices 20, and any number of information processing devices 100.

端末装置10は、サーバ装置20が提供する第1のサービスであって、情報処理装置100が提供するAPIによって利用可能な第2のサービスを組み込んだ第1のサービスの利用者によって利用されるコンピュータである。端末装置10は、例えば、スマートフォンや、タブレット型端末や、PC(Personal Computer)や、ノート型PCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。また、端末装置10は、第2のサービスの利用に関する要求情報をサーバ装置20に対して送信する。 The terminal device 10 is a first service provided by the server device 20, and is a computer used by a user of the first service that incorporates a second service that can be used by an API provided by the information processing device 100. It is. The terminal device 10 is realized by, for example, a smartphone, a tablet terminal, a PC (Personal Computer), a notebook PC, a mobile phone, a PDA (Personal Digital Assistant), or the like. Furthermore, the terminal device 10 transmits request information regarding the use of the second service to the server device 20.

サーバ装置20は、情報処理装置100が提供するAPIによって利用可能な第2のサービスを組み込んだ第1のサービスを提供するサーバ装置である。サーバ装置20は、情報処理装置100が提供するAPIを実行するプログラムを実装する。サーバ装置20は、APIの提供者からあらかじめ提供されたAPIキーを用いて、情報処理装置100のAPIを実行する。APIキーは、事業者ごとに発行される。サーバ装置20は、第1のサービスを提供する事業者によって管理される。ここで、第1のサービスを提供する事業者は、情報処理装置100が提供するAPIを利用する顧客でもある。例えば、サーバ装置20は、第2のサービスとして、情報処理装置100が提供する決済APIによって利用可能な決済サービスを組み込んだ第1のサービスを提供する。また、サーバ装置20は、第2のサービスとして、情報処理装置100が提供するチケットAPIによって利用可能なチケットの発行サービスを組み込んだ第1のサービスを提供する。また、サーバ装置20は、第2のサービスとして、情報処理装置100が提供する乗車予約APIによって利用可能なオンデマンドバスの乗車予約サービスを組み込んだ第1のサービスを提供する。また、サーバ装置20は、第2のサービスとして、情報処理装置100が提供するエンドユーザー管理APIによって利用可能なエンドユーザーの管理サービスを組み込んだ第1のサービスを提供する。 The server device 20 is a server device that provides a first service that incorporates a second service that can be used using an API provided by the information processing device 100. The server device 20 implements a program that executes the API provided by the information processing device 100. The server device 20 executes the API of the information processing device 100 using an API key provided in advance by the API provider. API keys are issued for each business operator. The server device 20 is managed by an operator that provides the first service. Here, the business providing the first service is also a customer who uses the API provided by the information processing device 100. For example, the server device 20 provides, as the second service, a first service that incorporates a payment service that can be used using the payment API provided by the information processing device 100. Furthermore, the server device 20 provides, as a second service, a first service that incorporates a ticket issuing service that can be used using the ticket API provided by the information processing device 100. Furthermore, the server device 20 provides, as a second service, a first service that incorporates an on-demand bus ride reservation service that can be used using the ride reservation API provided by the information processing device 100. Furthermore, the server device 20 provides, as a second service, a first service incorporating an end user management service that can be used by the end user management API provided by the information processing device 100.

また、サーバ装置20は、端末装置10から第2のサービスの利用に関する要求情報を受信した場合、受信した要求情報に応じて、APIキーとともに、APIの実行に関する要求情報を情報処理装置100に対して送信する。また、サーバ装置20は、APIの実行結果に関する応答情報を情報処理装置100から受信する。 Further, when the server device 20 receives request information regarding the use of the second service from the terminal device 10, the server device 20 sends request information regarding the execution of the API to the information processing device 100 along with the API key according to the received request information. and send. Additionally, the server device 20 receives response information regarding the API execution result from the information processing device 100.

情報処理装置100は、APIおよびAPIによって利用可能な第2のサービスを提供するサーバ装置である。情報処理装置100は、APIの提供者によって管理される。例えば、情報処理装置100は、決済API、および、決済APIによって利用可能な決済サービスを提供する。また、情報処理装置100は、チケットAPI、および、チケットAPIによって利用可能なチケットの発行サービスを提供する。また、情報処理装置100は、乗車予約API、および、乗車予約APIによって利用可能なオンデマンドバスの乗車予約サービスを提供する。また、情報処理装置100は、エンドユーザー管理API、および、エンドユーザー管理APIによって利用可能なエンドユーザーの管理サービスを提供する。 The information processing device 100 is a server device that provides an API and a second service that can be used by the API. The information processing device 100 is managed by an API provider. For example, the information processing device 100 provides a payment API and a payment service that can be used by the payment API. The information processing device 100 also provides a ticket API and a ticket issuing service that can be used with the ticket API. The information processing device 100 also provides a ride reservation API and an on-demand bus ride reservation service that can be used using the ride reservation API. Further, the information processing apparatus 100 provides an end user management API and an end user management service that can be used by the end user management API.

また、情報処理装置100は、APIキーとともに、APIの実行に関する要求情報をサーバ装置20から受信する。情報処理装置100は、要求情報を受信した場合、APIキーが正しければ、受信した要求情報に応じてAPIを実行する。情報処理装置100は、APIを実行した場合、APIの実行結果に関する応答情報をサーバ装置20に対して送信する。また、情報処理装置100は、上述した(3)~(5)の処理を実行する。 The information processing device 100 also receives request information regarding API execution from the server device 20 along with the API key. When the information processing apparatus 100 receives the request information, if the API key is correct, the information processing apparatus 100 executes the API according to the received request information. When the information processing device 100 executes the API, it transmits response information regarding the API execution result to the server device 20. Further, the information processing device 100 executes the processes (3) to (5) described above.

図2は、APIキーの不正利用の問題点について説明するための図である。図2に示す端末装置10は、A社によって提供されるサービス(図2では、A社サービスと記載する)の利用者によって使用される。A社サービスは、上述した第1のサービスに相当する。また、サーバ装置20-1は、A社サービスを提供するサーバ装置(図2では、A社サーバと記載する)である。サーバ装置20-1は、上述したサーバ装置20に相当する。また、サーバ装置20-2は、APIの提供者がA社専用に発行したAPIキー(図2では、A社専用APIキー(ABCDEFG)と記載する)を不正に利用するサーバ装置(図2では、不正アクセスサーバと記載する)である。 FIG. 2 is a diagram for explaining the problem of illegal use of API keys. The terminal device 10 shown in FIG. 2 is used by a user of a service provided by Company A (referred to as Company A service in FIG. 2). The Company A service corresponds to the first service described above. Further, the server device 20-1 is a server device (denoted as a company A server in FIG. 2) that provides company A services. The server device 20-1 corresponds to the server device 20 described above. In addition, the server device 20-2 is a server device (in FIG. 2, it is written as an API key exclusively for company A (ABCDEFG)) that is issued exclusively for company A by an API provider. , unauthorized access server).

図2では、端末装置10は、利用者の操作に従って、サーバ装置20-1にアクセスする。具体的には、端末装置10は、上述した第2のサービスの利用に関する要求情報をサーバ装置20-1に対して送信する。サーバ装置20-1は、端末装置10から要求情報を受信した場合、受信した要求情報に応じて、A社専用APIキー(ABCDEFG)とともに、APIの実行に関する要求情報を情報処理装置100に対して送信する。情報処理装置100は、要求情報を受信した場合、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致するか否かを判定する。図2では、情報処理装置100は、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致すると判定し、APIを実行する。情報処理装置100は、APIを実行した場合、APIの実行結果に関する応答情報をサーバ装置20-1に対して送信する。情報処理装置100は、応答情報をサーバ装置20-1に対して送信した場合、APIの利用料金をA社に対して課金する。 In FIG. 2, the terminal device 10 accesses the server device 20-1 according to a user's operation. Specifically, the terminal device 10 transmits request information regarding the use of the above-described second service to the server device 20-1. When the server device 20-1 receives the request information from the terminal device 10, the server device 20-1 sends the request information regarding the execution of the API to the information processing device 100 along with the company A exclusive API key (ABCDEFG) according to the received request information. Send. When the information processing device 100 receives the request information, it determines whether the received API key exclusively for company A (ABCDEFG) matches the API key exclusively for company A (ABCDEFG) provided to company A in advance. In FIG. 2, the information processing device 100 determines that the received company A exclusive API key (ABCDEFG) matches the company A exclusive API key (ABCDEFG) provided to company A in advance, and executes the API. When the information processing device 100 executes the API, it transmits response information regarding the API execution result to the server device 20-1. When the information processing device 100 transmits the response information to the server device 20-1, the information processing device 100 charges Company A a fee for using the API.

また、図2では、サーバ装置20-2は、例えば、A社専用APIキー(ABCDEFG)を不正に入手する。サーバ装置20-2は、A社専用APIキー(ABCDEFG)とともに、APIの実行に関する要求情報を情報処理装置100に対して送信する。情報処理装置100は、要求情報を受信した場合、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致するか否かを判定する。図2では、情報処理装置100は、受信したA社専用APIキー(ABCDEFG)とあらかじめA社に対して提供したA社専用APIキー(ABCDEFG)が一致すると判定し、APIを実行する。情報処理装置100は、APIを実行した場合、APIの実行結果に関する応答情報をサーバ装置20-2に対して送信する。情報処理装置100は、応答情報をサーバ装置20-2に対して送信した場合、APIの利用料金をA社に対して課金する。 Further, in FIG. 2, the server device 20-2 illegally obtains the API key (ABCDEFG) exclusive to company A, for example. The server device 20-2 transmits request information regarding execution of the API to the information processing device 100 along with an API key exclusively for company A (ABCDEFG). When the information processing device 100 receives the request information, it determines whether the received API key exclusively for company A (ABCDEFG) matches the API key exclusively for company A (ABCDEFG) provided to company A in advance. In FIG. 2, the information processing device 100 determines that the received company A exclusive API key (ABCDEFG) matches the company A exclusive API key (ABCDEFG) provided to company A in advance, and executes the API. When the information processing device 100 executes the API, it transmits response information regarding the API execution result to the server device 20-2. When the information processing device 100 transmits the response information to the server device 20-2, the information processing device 100 charges Company A the usage fee for the API.

上述したように、A社とは関係のない第三者がA社専用APIキーを不正に入手し、不正アクセスサーバによってA社専用APIキーが不正に利用された場合であっても、不正アクセスサーバによるAPIの利用料金がA社に対して課金されてしまうという問題がある。このような問題を解決するため、APIの提供者側が、APIキーの不正利用を検出し、検出された不正利用の情報を顧客へ提供する技術が望まれている。 As mentioned above, even if a third party unrelated to Company A illegally obtains the API key exclusive to Company A, and the API key exclusive to Company A is illegally used by an unauthorized access server, unauthorized access cannot occur. There is a problem in that the fee for using the API by the server is charged to Company A. In order to solve such problems, a technology is desired in which an API provider side can detect unauthorized use of an API key and provide information on the detected unauthorized use to a customer.

〔3.情報処理装置の構成例〕
図3は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、制御部130とを有してよい。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示させるための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[3. Configuration example of information processing device]
FIG. 3 is a diagram illustrating a configuration example of the information processing device 100 according to the embodiment. The information processing device 100 may include a communication section 110, a storage section 120, and a control section 130. Note that the information processing device 100 includes an input unit (for example, a keyboard, a mouse, etc.) that receives various operations from an administrator of the information processing device 100, and a display unit (for example, a liquid crystal display, etc.) for displaying various information. May have.

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、サーバ装置20や端末装置10との間で情報の送受信を行う。
(Communication Department 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card). The communication unit 110 is connected to a network by wire or wirelessly, and transmits and receives information to and from the server device 20 and the terminal device 10, for example.

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。具体的には、記憶部120は、図3に示すように、利用履歴情報記憶部121と、正常IPセット情報記憶部122と、不明IPセット情報記憶部123と、スコアリング条件記憶部124とを有する。また、記憶部120は、上記に限らず、種々の情報を記憶してもよい。
(Storage unit 120)
The storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. Specifically, as shown in FIG. 3, the storage unit 120 includes a usage history information storage unit 121, a normal IP set information storage unit 122, an unknown IP set information storage unit 123, and a scoring condition storage unit 124. has. Furthermore, the storage unit 120 is not limited to the above information, and may store various types of information.

(利用履歴情報記憶部121)
図4は、実施形態に係る利用履歴情報記憶部121の一例を示す図である。利用履歴情報記憶部121は、サーバ装置によるAPIキーの利用履歴に関する各種の情報を記憶する。図4に示す例では、利用履歴情報記憶部121は、「利用日時」、「APIキー」、「グローバルIP」といった項目を有する。「利用日時」は、サーバ装置によるAPIキーの利用日時を示す。「APIキー」は、サーバ装置によって利用されたAPIキーを識別する識別情報を示す。「グローバルIP」は、サーバ装置を識別するグローバルIPアドレスを示す。図4に示すように、利用履歴情報記憶部121は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに記憶する。なお、図示は省略するが、利用履歴情報記憶部121は、利用履歴情報として、グローバルIPアドレスと対応するFQDN(Fully Qualified Domain Name)に関するドメイン名情報を記憶してもよい。
(Usage history information storage unit 121)
FIG. 4 is a diagram illustrating an example of the usage history information storage unit 121 according to the embodiment. The usage history information storage unit 121 stores various types of information regarding the usage history of API keys by the server device. In the example shown in FIG. 4, the usage history information storage unit 121 has items such as "date and time of usage", "API key", and "global IP". “Date and time of use” indicates the date and time of use of the API key by the server device. "API key" indicates identification information that identifies the API key used by the server device. "Global IP" indicates a global IP address that identifies the server device. As shown in FIG. 4, the usage history information storage unit 121 stores usage history information indicating the usage history of the API key by the server device identified by the global IP address for each global IP address. Although not shown, the usage history information storage unit 121 may store domain name information regarding an FQDN (Fully Qualified Domain Name) corresponding to a global IP address as usage history information.

(正常IPセット情報記憶部122)
図5は、実施形態に係る正常IPセット情報記憶部122の一例を示す図である。正常IPセット情報記憶部122は、情報処理装置100によってAPIキーを不正利用していない(つまり、APIキーを正常に利用している)と判定されたサーバ装置(以下、「正常サーバ装置」ともいう)に関する各種の情報を記憶する。
(Normal IP set information storage unit 122)
FIG. 5 is a diagram illustrating an example of the normal IP set information storage unit 122 according to the embodiment. The normal IP set information storage unit 122 stores server devices (hereinafter also referred to as "normal server devices") that have been determined by the information processing device 100 to not be using the API key illegally (that is, using the API key normally). Stores various information related to

図5に示す例では、正常IPセット情報記憶部122は、「APIキー」、「グローバルIP」、「逆引きFQDN」、「利用回数(直近1週間)」といった項目を有する。「APIキー」は、正常サーバ装置によって利用されたAPIキーを識別する識別情報を示す。「グローバルIP」は、正常サーバ装置を識別するグローバルIPアドレスを示す。「逆引きFQDN」は、グローバルIPアドレスと対応するFQDNに関するドメイン名情報を示す。図5に示す例では、グローバルIPアドレスと対応するFQDNが存在しないことを示す。「利用回数(直近1週間)」は、直近1週間における正常サーバ装置によるAPIキーの利用回数を示す。 In the example shown in FIG. 5, the normal IP set information storage unit 122 has items such as "API key", "global IP", "reverse FQDN", and "number of uses (last week)". "API key" indicates identification information that identifies an API key used by a normal server device. "Global IP" indicates a global IP address that identifies a normal server device. “Reverse FQDN” indicates domain name information regarding the FQDN corresponding to the global IP address. The example shown in FIG. 5 shows that there is no FQDN corresponding to the global IP address. “Usage count (last week)” indicates the number of times the API key has been used by a normal server device in the last week.

(不明IPセット情報記憶部123)
図6は、実施形態に係る不明IPセット情報記憶部123の一例を示す図である。不明IPセット情報記憶部123は、情報処理装置100によってAPIキーを不正利用していないと判定されていない(つまり、APIキーを正常に利用しているか否かが不明な)サーバ装置(以下、「不明サーバ装置」ともいう)に関する各種の情報を記憶する。言い換えると、不明サーバ装置は、情報処理装置100によってAPIキーを不正利用していないか否か(つまり、APIキーを正常に利用しているか否か)の判定が行われている最中のサーバ装置である。すなわち、不明サーバ装置は、情報処理装置100による判定対象のサーバ装置であって、正常サーバ装置を識別するグローバルIPアドレスと異なるグローバルIPアドレスによって識別され正常サーバ装置が利用するAPIキーを利用するサーバ装置である。
(Unknown IP set information storage unit 123)
FIG. 6 is a diagram illustrating an example of the unknown IP set information storage unit 123 according to the embodiment. The unknown IP set information storage unit 123 stores server devices (hereinafter referred to as Stores various information regarding the server (also referred to as "unknown server device"). In other words, the unknown server device is a server that is currently being determined by the information processing device 100 as to whether or not the API key is being used illegally (that is, whether or not the API key is being used normally). It is a device. In other words, an unknown server device is a server device to be determined by the information processing device 100, and is a server that is identified by a global IP address that is different from the global IP address that identifies a normal server device, and that uses an API key that is used by a normal server device. It is a device.

図6に示す例では、不明IPセット情報記憶部123は、「APIキー」、「グローバルIP」、「逆引きFQDN」、「利用回数(直近1週間)」といった項目を有する。「APIキー」は、不明サーバ装置によって利用されたAPIキーを識別する識別情報を示す。「グローバルIP」は、不明サーバ装置を識別するグローバルIPアドレスを示す。「逆引きFQDN」は、グローバルIPアドレスと対応するFQDNに関するドメイン名情報を示す。図6に示す例では、グローバルIPアドレスと対応するFQDNが存在しないことを示す。「利用回数(直近1週間)」は、直近1週間における不明サーバ装置によるAPIキーの利用回数を示す。 In the example shown in FIG. 6, the unknown IP set information storage unit 123 has items such as "API key", "global IP", "reverse FQDN", and "number of uses (last week)". "API key" indicates identification information that identifies an API key used by an unknown server device. "Global IP" indicates a global IP address that identifies an unknown server device. “Reverse FQDN” indicates domain name information regarding the FQDN corresponding to the global IP address. The example shown in FIG. 6 shows that there is no FQDN corresponding to the global IP address. “Usage count (last one week)” indicates the number of times the API key has been used by the unknown server device in the last one week.

(スコアリング条件記憶部124)
図7は、実施形態に係るスコアリング条件記憶部124の一例を示す図である。スコアリング条件記憶部124は、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出するための条件であるスコアリング条件に関する各種の情報を記憶する。図7に示す例では、スコアリング条件記憶部124は、「No.」、「スコアリング条件」、「点数」といった項目を有する。「No.」は、スコアリング条件を識別する識別情報を示す。「スコアリング条件」は、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出するための条件を示す。「点数」は、第2サーバ装置がスコアリング条件を満たす場合に第2サーバ装置に対して付与される点数を示す。
(Scoring condition storage unit 124)
FIG. 7 is a diagram illustrating an example of the scoring condition storage unit 124 according to the embodiment. The scoring condition storage unit 124 stores various types of information regarding scoring conditions, which are conditions for calculating a score indicating whether or not the second server device is illegally using an API key. In the example shown in FIG. 7, the scoring condition storage unit 124 has items such as “No.”, “scoring condition”, and “score”. "No." indicates identification information that identifies the scoring condition. The "scoring condition" indicates a condition for calculating a score indicating whether or not the second server device is illegally using the API key. "Score" indicates the score given to the second server device when the second server device satisfies the scoring condition.

(制御部130)
図3の説明に戻る。制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(Control unit 130)
Returning to the explanation of FIG. 3. The control unit 130 is a controller, and for example, executes various programs (information processing programs) stored in a storage device inside the information processing device 100 by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. (corresponding to one example) is realized by being executed using RAM as a work area. Further, the control unit 130 is a controller, and is realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

制御部130は、取得部131と、算出部132と、判定部133と、通知部134とを機能部として有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部130の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。 The control unit 130 includes an acquisition unit 131, a calculation unit 132, a determination unit 133, and a notification unit 134 as functional units, and realizes or executes the information processing operation described below. Note that the internal configuration of the control unit 130 is not limited to the configuration shown in FIG. 3, and may be any other configuration as long as it performs information processing to be described later. Further, each functional unit indicates a function of the control unit 130, and does not necessarily have to be physically distinct.

(取得部131)
取得部131は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに取得する。取得部131は、利用履歴情報を取得した場合、取得した利用履歴情報をグローバルIPアドレスごとに利用履歴情報記憶部121に格納する。また、取得部131は、グローバルIPアドレスを逆引きして、グローバルIPアドレスと対応するFQDNを取得する。例えば、取得部131は、nslookup等の公知技術を用いて、グローバルIPアドレスと対応するFQDNを取得する。取得部131は、グローバルIPアドレスと対応するFQDNを取得した場合、グローバルIPアドレスと対応するFQDNをグローバルIPアドレスと対応付けて利用履歴情報記憶部121に格納する。なお、取得部131は、グローバルIPアドレスを逆引きして、グローバルIPアドレスと対応するFQDNを取得しなかった場合、グローバルIPアドレスと対応するFQDNが存在しないことを示す情報をグローバルIPアドレスと対応付けて利用履歴情報記憶部121に格納する。
(Acquisition unit 131)
The acquisition unit 131 acquires, for each global IP address, usage history information indicating the usage history of the API key by the server device identified by the global IP address. When acquiring usage history information, the acquisition unit 131 stores the acquired usage history information in the usage history information storage unit 121 for each global IP address. Further, the acquisition unit 131 reversely looks up the global IP address and acquires the FQDN corresponding to the global IP address. For example, the acquisition unit 131 uses a known technique such as nslookup to acquire the FQDN corresponding to the global IP address. When acquiring the FQDN corresponding to the global IP address, the acquisition unit 131 stores the FQDN corresponding to the global IP address in the usage history information storage unit 121 in association with the global IP address. Note that if the acquisition unit 131 reverse-lookups the global IP address and does not acquire the FQDN corresponding to the global IP address, the acquisition unit 131 associates information indicating that the FQDN corresponding to the global IP address does not exist with the global IP address. and stored in the usage history information storage unit 121.

取得部131は、利用履歴情報に基づいて、正常サーバ装置によるAPIキーの利用回数を示す正常利用回数情報を取得する。具体的には、取得部131は、正常IPセット情報記憶部122を参照して、所定のAPIキーと紐づくグローバルIPアドレスを取得する。例えば、取得部131は、図5に示す正常IPセット情報記憶部122を参照して、「ABCDEFG」によって示されるAPIキーと紐づく「192.0.2.101」によって示されるグローバルIPアドレスを取得する。 The acquisition unit 131 acquires normal usage number information indicating the number of times the API key is used by a normal server device based on the usage history information. Specifically, the acquisition unit 131 refers to the normal IP set information storage unit 122 and acquires a global IP address associated with a predetermined API key. For example, the acquisition unit 131 refers to the normal IP set information storage unit 122 shown in FIG. 5 and acquires the global IP address indicated by "192.0.2.101" that is associated with the API key indicated by "ABCDEFG".

続いて、取得部131は、グローバルIPアドレスを取得した場合、利用履歴情報記憶部121を参照して、取得されたグローバルIPアドレスによって識別される正常サーバ装置の所定期間における利用履歴情報を取得する。例えば、取得部131は、図4に示す利用履歴情報記憶部121を参照して、「192.0.2.101」によって示されるグローバルIPアドレスによって識別される正常サーバ装置の直近1週間における利用履歴情報を取得する。 Subsequently, when acquiring the global IP address, the acquisition unit 131 refers to the usage history information storage unit 121 and acquires usage history information for a predetermined period of time of the normal server device identified by the acquired global IP address. . For example, the acquisition unit 131 refers to the usage history information storage unit 121 shown in FIG. 4 and acquires usage history information for the past week of the normal server device identified by the global IP address indicated by “192.0.2.101”. do.

続いて、取得部131は、所定期間における利用履歴情報を取得した場合、取得された利用履歴情報に基づいて、所定期間における正常サーバ装置によるAPIキーの利用回数を示す第1利用回数情報を取得する。例えば、取得部131は、所定期間における利用履歴情報に基づいて、所定期間における正常サーバ装置の利用履歴のレコードの数を算出する。例えば、取得部131は、直近1週間における「192.0.2.101」によって示されるグローバルIPアドレスによって識別される正常サーバ装置のレコードの数を「73」と算出する。続いて、取得部131は、算出したレコードの数を示す情報を所定期間における正常サーバ装置によるAPIキーの利用回数を示す第1利用回数情報として取得する。例えば、取得部131は、算出したレコードの数である「73」を示す情報を直近1週間における「192.0.2.101」によって示されるグローバルIPアドレスによって識別される正常サーバ装置によるAPIキーの利用回数を示す第1利用回数情報として取得する。 Subsequently, when acquiring usage history information for a predetermined period, the acquisition unit 131 acquires first usage count information indicating the number of times the API key is used by a normal server device during a predetermined period based on the acquired usage history information. do. For example, the acquisition unit 131 calculates the number of usage history records of a normal server device in a predetermined period based on usage history information in a predetermined period. For example, the acquisition unit 131 calculates the number of records of normal server devices identified by the global IP address indicated by "192.0.2.101" in the last week as "73". Subsequently, the acquisition unit 131 acquires information indicating the calculated number of records as first usage number information indicating the number of times the API key is used by the normal server device in a predetermined period. For example, the acquisition unit 131 may transmit information indicating the calculated number of records "73" to the number of times the API key has been used by a normal server device identified by the global IP address indicated by "192.0.2.101" in the past week. The information is obtained as the first usage count information shown in FIG.

また、取得部131は、利用履歴情報に基づいて、不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報を取得する。具体的には、取得部131は、不明IPセット情報記憶部123を参照して、所定のAPIキーと紐づくグローバルIPアドレスを取得する。例えば、取得部131は、図6に示す不明IPセット情報記憶部123を参照して、「ABCDEFG」によって示されるAPIキーと紐づく「192.0.2.110」によって示されるグローバルIPアドレスを取得する。また、取得部131は、「ABCDEFG」によって示されるAPIキーと紐づく「198.51.100.52」によって示されるグローバルIPアドレスを取得する。 Furthermore, the acquisition unit 131 acquires second usage number information indicating the number of times the API key is used by the unknown server device based on the usage history information. Specifically, the acquisition unit 131 refers to the unknown IP set information storage unit 123 and acquires a global IP address associated with a predetermined API key. For example, the acquisition unit 131 refers to the unknown IP set information storage unit 123 shown in FIG. 6 and acquires the global IP address indicated by "192.0.2.110" that is associated with the API key indicated by "ABCDEFG". The acquisition unit 131 also acquires the global IP address indicated by "198.51.100.52" that is associated with the API key indicated by "ABCDEFG".

続いて、取得部131は、グローバルIPアドレスを取得した場合、利用履歴情報記憶部121を参照して、取得されたグローバルIPアドレスによって識別される不明サーバ装置の所定期間における利用履歴情報を取得する。例えば、取得部131は、図4に示す利用履歴情報記憶部121を参照して、「192.0.2.110」によって示されるグローバルIPアドレスによって識別される不明サーバ装置の直近1週間における利用履歴情報を取得する。また、取得部131は、「198.51.100.52」によって示されるグローバルIPアドレスによって識別される不明サーバ装置の直近1週間における利用履歴情報を取得する。 Subsequently, when acquiring the global IP address, the acquisition unit 131 refers to the usage history information storage unit 121 and acquires usage history information for a predetermined period of time of the unknown server device identified by the acquired global IP address. . For example, the acquisition unit 131 refers to the usage history information storage unit 121 shown in FIG. do. The acquisition unit 131 also acquires usage history information for the last week of the unknown server device identified by the global IP address indicated by "198.51.100.52."

続いて、取得部131は、所定期間における利用履歴情報を取得した場合、取得された利用履歴情報に基づいて、所定期間における不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報を取得する。例えば、取得部131は、所定期間における利用履歴情報に基づいて、所定期間における不明サーバ装置の利用履歴のレコードの数を算出する。例えば、取得部131は、直近1週間における「192.0.2.110」によって示されるグローバルIPアドレスによって識別される不明サーバ装置のレコードの数を「11」と算出する。また、取得部131は、直近1週間における「198.51.100.52」によって示されるグローバルIPアドレスによって識別される不明サーバ装置のレコードの数を「20101」と算出する。続いて、取得部131は、算出したレコードの数を示す情報を所定期間における不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報として取得する。例えば、取得部131は、算出したレコードの数である「11」を示す情報を直近1週間における「192.0.2.110」によって示されるグローバルIPアドレスによって識別される不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報として取得する。同様にして、取得部131は、算出したレコードの数である「20101」を示す情報を直近1週間における「198.51.100.52」によって示されるグローバルIPアドレスによって識別される不明サーバ装置によるAPIキーの利用回数を示す第2利用回数情報として取得する。 Subsequently, when acquiring usage history information for a predetermined period, the acquisition unit 131 acquires second usage frequency information indicating the number of times the API key is used by the unknown server device during the predetermined period based on the acquired usage history information. do. For example, the acquisition unit 131 calculates the number of usage history records of the unknown server device in a predetermined period based on the usage history information in the predetermined period. For example, the acquisition unit 131 calculates the number of records of unknown server devices identified by the global IP address indicated by "192.0.2.110" in the past week as "11". Furthermore, the acquisition unit 131 calculates the number of records of the unknown server device identified by the global IP address indicated by "198.51.100.52" in the most recent week as "20101." Subsequently, the acquisition unit 131 acquires information indicating the calculated number of records as second usage number information indicating the number of times the API key is used by the unknown server device in a predetermined period. For example, the acquisition unit 131 may transmit information indicating the calculated number of records "11" to the number of times the API key has been used by an unknown server device identified by the global IP address indicated by "192.0.2.110" in the past week. It is acquired as the second usage count information shown in FIG. Similarly, the acquisition unit 131 retrieves information indicating the calculated number of records "20101" from the usage of the API key by the unknown server device identified by the global IP address indicated by "198.51.100.52" in the last one week. It is acquired as second usage frequency information indicating the number of times.

(算出部132)
算出部132は、正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する。具体的には、算出部132は、所定期間(例えば、直近1週間)における正常サーバ装置によるAPIキーの利用回数(以下、第1利用回数ともいう)と、所定期間(例えば、直近1週間)における不明サーバ装置によるAPIキーの利用回数(以下、第2利用回数ともいう)との比較に基づいて、スコアを算出する。より具体的には、算出部132は、第1利用回数に対する第2利用回数の割合が所定の割合以下である場合のスコアよりも、第1利用回数に対する第2利用回数の割合が所定の割合を超える場合のスコアを高く算出する。例えば、算出部132は、第1利用回数に対する第2利用回数の割合が200%を超える場合のスコアを「100」と算出する。また、算出部132は、第1利用回数に対する第2利用回数の割合が50%を超えるが200%以下である場合のスコアを「50」と算出する。また、算出部132は、第1利用回数に対する第2利用回数の割合が50%以下である場合のスコアを「25」と算出する。
(Calculation unit 132)
The calculation unit 132 calculates a score indicating whether the unknown server device is illegally using the API key based on a comparison between the number of times the API key is used by the normal server device and the number of times the API key is used by the unknown server device. do. Specifically, the calculation unit 132 calculates the number of times the API key is used by a normal server device during a predetermined period (e.g., the most recent one week) (hereinafter also referred to as the first number of uses), and the number of times the API key is used in a predetermined period (e.g., the most recent one week). A score is calculated based on a comparison with the number of times the API key is used by the unknown server device (hereinafter also referred to as the second number of uses). More specifically, the calculation unit 132 calculates that the ratio of the second number of uses to the first number of uses is a predetermined ratio, rather than the score when the ratio of the second number of uses to the first number of uses is less than or equal to a predetermined ratio. A higher score will be calculated if the value exceeds . For example, the calculation unit 132 calculates the score as "100" when the ratio of the second number of uses to the first number of uses exceeds 200%. Further, the calculation unit 132 calculates a score of "50" when the ratio of the second number of uses to the first number of uses is more than 50% but less than 200%. Further, the calculation unit 132 calculates a score of "25" when the ratio of the second number of uses to the first number of uses is 50% or less.

(判定部133)
判定部133は、不明サーバ装置がAPIキーを不正利用しているか否かを判定する。具体的には、判定部133は、算出部132によって算出されたスコアが所定の閾値を超える場合に、不明サーバ装置がAPIキーを不正利用していると判定する。例えば、判定部133は、算出部132によって算出されたスコアが「100」を超える場合に、不明サーバ装置がAPIキーを不正利用していると判定する。
(Determination unit 133)
The determining unit 133 determines whether the unknown server device is illegally using the API key. Specifically, when the score calculated by the calculation unit 132 exceeds a predetermined threshold, the determination unit 133 determines that the unknown server device is illegally using the API key. For example, when the score calculated by the calculation unit 132 exceeds “100”, the determination unit 133 determines that the unknown server device is illegally using the API key.

一方、判定部133は、算出部132によって算出されたスコアが所定の閾値以下である場合に、不明サーバ装置がAPIキーを不正利用していないと判定する。例えば、判定部133は、算出部132によって算出されたスコアが「100」以下である場合に、不明サーバ装置がAPIキーを不正利用していないと判定する。判定部133は、不明サーバ装置がAPIキーを不正利用していないと判定した場合、不明サーバ装置を識別するグローバルIPアドレスに関する情報を不明IPセット情報記憶部123から削除する。また、判定部133は、不明サーバ装置がAPIキーを不正利用していないと判定した場合、不明サーバ装置を識別するグローバルIPアドレスに関する情報を正常IPセット情報記憶部122に追加する。 On the other hand, when the score calculated by the calculation unit 132 is less than or equal to a predetermined threshold, the determination unit 133 determines that the unknown server device is not illegally using the API key. For example, when the score calculated by the calculation unit 132 is “100” or less, the determination unit 133 determines that the unknown server device is not illegally using the API key. When determining that the unknown server device is not illegally using the API key, the determination unit 133 deletes information regarding the global IP address that identifies the unknown server device from the unknown IP set information storage unit 123. Further, when determining that the unknown server device is not illegally using the API key, the determining unit 133 adds information regarding the global IP address that identifies the unknown server device to the normal IP set information storage unit 122.

(通知部134)
通知部134は、判定部133によって不明サーバ装置がAPIキーを不正利用していると判定された場合、正常サーバ装置の管理者に対してAPIキーの不正利用が検出されたことを通知する。例えば、通知部134は、正常サーバ装置に対してAPIキーの不正利用が検出されたことを示す情報を送信する。
(Notification section 134)
When the determining unit 133 determines that the unknown server device is using the API key illegally, the notification unit 134 notifies the administrator of the normal server device that illegal use of the API key has been detected. For example, the notification unit 134 transmits information indicating that unauthorized use of the API key has been detected to the normal server device.

〔4.情報処理の手順〕
図8は、実施形態に係る情報処理手順を示すフローチャートである。図8では、情報処理装置100の記憶部120が、サーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに記憶する(ステップS1)。また、情報処理装置100の取得部131は、記憶部120に記憶された利用履歴情報に基づいて、第1サーバ装置によるAPIキーの利用回数である第1利用回数を示す第1利用回数情報、および、第2サーバ装置によるAPIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する(ステップS2)。また、情報処理装置100の算出部132は、第1利用回数と第2利用回数との比較に基づいて、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する(ステップS3)。
[4. Information processing procedure]
FIG. 8 is a flowchart showing an information processing procedure according to the embodiment. In FIG. 8, the storage unit 120 of the information processing device 100 stores usage history information indicating the usage history of the API key by the server device for each global IP address (step S1). Further, the acquisition unit 131 of the information processing device 100 obtains, based on the usage history information stored in the storage unit 120, first usage number information indicating a first usage number, which is the number of times the API key is used by the first server device; Then, second usage number information indicating a second usage number, which is the number of times the API key is used by the second server device, is obtained (step S2). Further, the calculation unit 132 of the information processing device 100 calculates a score indicating whether or not the second server device is illegally using the API key, based on a comparison between the first number of times of use and the second number of times of use ( Step S3).

また、情報処理装置100の判定部133は、算出部132によって算出されたスコアが所定の閾値を超えるか否かを判定する(ステップS4)。判定部133は、算出部132によって算出されたスコアが所定の閾値を超えると判定した場合(ステップS4;Yes)、第2サーバ装置がAPIキーを不正利用していると判定する(ステップS5)。情報処理装置100の通知部134は、判定部133によって第2サーバ装置がAPIキーを不正利用していると判定された場合、第1サーバ装置の管理者に対してAPIキーの不正利用が検出されたことを通知する(ステップS6)。一方、判定部133は、算出部132によって算出されたスコアが所定の閾値を超えないと判定した場合(ステップS4;No)、第2サーバ装置がAPIキーを不正利用していないと判定する(ステップS7)。 Further, the determination unit 133 of the information processing device 100 determines whether the score calculated by the calculation unit 132 exceeds a predetermined threshold (step S4). If the determination unit 133 determines that the score calculated by the calculation unit 132 exceeds a predetermined threshold (step S4; Yes), the determination unit 133 determines that the second server device is illegally using the API key (step S5). . When the determining unit 133 determines that the second server device is using the API key illegally, the notification unit 134 of the information processing device 100 notifies the administrator of the first server device that illegal use of the API key is detected. It is notified that this has been done (step S6). On the other hand, if the determining unit 133 determines that the score calculated by the calculating unit 132 does not exceed the predetermined threshold (step S4; No), the determining unit 133 determines that the second server device is not illegally using the API key ( Step S7).

〔5.変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。
[5. Modified example]
The processing according to the embodiment described above may be implemented in various different forms other than the embodiment described above.

上述した実施形態では、算出部132が、正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する場合について説明した。ここでは、算出部132が、正常サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報と、不明サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報との比較に基づいて、スコアを算出する場合について説明する。 In the embodiment described above, the calculation unit 132 determines whether the unknown server device is illegally using the API key based on the comparison between the number of times the API key is used by the normal server device and the number of times the API key is used by the unknown server device. We have explained the case of calculating the score indicating the Here, the calculation unit 132 calculates the domain name information based on the comparison between the domain name information regarding the FQDN corresponding to the global IP address that identifies the normal server device, and the domain name information regarding the FQDN corresponding to the global IP address that identifies the unknown server device. , the case of calculating the score will be explained.

具体的には、取得部131は、正常サーバ装置を識別するグローバルIPアドレス(以下、第1グローバルIPアドレスともいう)と対応するFQDNに関する第1ドメイン名情報を取得する。例えば、取得部131は、第1グローバルIPアドレスを逆引きして、第1グローバルIPアドレス対応するFQDNが得られた場合は、第1ドメイン名情報として、第1グローバルIPアドレス対応するFQDNを取得する。一方、取得部131は、第1グローバルIPアドレスを逆引きして、第1グローバルIPアドレス対応するFQDNが得られなかった場合は、第1ドメイン名情報として、第1グローバルIPアドレス対応するFQDNが存在しないことを示す情報を取得する。また、取得部131は、正常サーバ装置と同様にして、不明サーバ装置を識別するグローバルIPアドレス(以下、第2グローバルIPアドレスともいう)と対応するFQDNに関する第2ドメイン名情報を取得する。 Specifically, the acquisition unit 131 acquires first domain name information regarding an FQDN corresponding to a global IP address (hereinafter also referred to as a first global IP address) that identifies a normal server device. For example, if the acquisition unit 131 reversely looks up the first global IP address and obtains the FQDN corresponding to the first global IP address, the acquisition unit 131 acquires the FQDN corresponding to the first global IP address as the first domain name information. do. On the other hand, if the acquisition unit 131 reversely looks up the first global IP address and cannot obtain the FQDN corresponding to the first global IP address, the acquisition unit 131 retrieves the FQDN corresponding to the first global IP address as the first domain name information. Get information indicating that it does not exist. Further, the acquisition unit 131 acquires second domain name information regarding the FQDN corresponding to the global IP address (hereinafter also referred to as second global IP address) that identifies the unknown server device, in the same manner as the normal server device.

算出部132は、第1ドメイン名情報と第2ドメイン名情報との比較に基づいて、スコアを算出する。より具体的には、算出部132は、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが同一である場合のスコアよりも、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが異なる場合のスコアを高く算出する。例えば、算出部132は、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが同一である場合のスコアを「-1000」と算出する。また、算出部132は、第1グローバルIPアドレスと対応するFQDNと第2グローバルIPアドレスと対応するFQDNとが異なる場合のスコアを「100」と算出する。また、算出部132は、第2グローバルIPアドレスと対応するFQDNが存在しない場合のスコアを「100」と算出する。 The calculation unit 132 calculates a score based on a comparison between the first domain name information and the second domain name information. More specifically, the calculation unit 132 calculates the score that corresponds to the first global IP address, rather than the score when the FQDN corresponding to the first global IP address and the FQDN corresponding to the second global IP address are the same. A high score is calculated when the FQDN and the FQDN corresponding to the second global IP address are different. For example, the calculation unit 132 calculates the score as "-1000" when the FQDN corresponding to the first global IP address and the FQDN corresponding to the second global IP address are the same. Further, the calculation unit 132 calculates a score of "100" when the FQDN corresponding to the first global IP address is different from the FQDN corresponding to the second global IP address. Further, the calculation unit 132 calculates the score as "100" when there is no FQDN corresponding to the second global IP address.

なお、上述した実施形態では、情報処理装置100がAPIおよびAPIによって利用可能な第2のサービスを提供するサーバ装置である場合について説明したが、情報処理装置100は、APIゲートウェイを提供するサーバ装置であってもよい。情報処理装置100は、APIゲートウェイの提供者によって管理される。例えば、情報処理装置100は、APIキーとともに、APIの実行に関する要求情報をサーバ装置20から受信する。情報処理装置100は、要求情報を受信した場合、受信した要求情報に応じたAPIを実行するAPIサーバ装置に対して要求情報を転送する。情報処理装置100は、APIサーバ装置からAPIの実行結果に関する応答情報を受信する。情報処理装置100は、応答情報を受信した場合、受信した応答情報をサーバ装置20に対して送信する。 Note that in the above-described embodiment, a case has been described in which the information processing device 100 is a server device that provides an API and a second service that can be used by the API, but the information processing device 100 is a server device that provides an API gateway. It may be. The information processing device 100 is managed by an API gateway provider. For example, the information processing device 100 receives request information regarding API execution from the server device 20 along with an API key. When the information processing device 100 receives the request information, the information processing device 100 transfers the request information to an API server device that executes an API according to the received request information. The information processing device 100 receives response information regarding the API execution result from the API server device. When receiving the response information, the information processing device 100 transmits the received response information to the server device 20 .

〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、記憶部120と取得部131と算出部132と判定部133を備える。記憶部120は、グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報をグローバルIPアドレスごとに記憶する。取得部131は、利用履歴情報に基づいて、APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置によるAPIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され第1サーバ装置が利用するAPIキーを利用する第2サーバ装置によるAPIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する。算出部132は、第1利用回数と第2利用回数との比較に基づいて、第2サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出する。判定部133は、算出部132によって算出されたスコアが所定の閾値を超える場合に、第2サーバ装置がAPIキーを不正利用していると判定し、算出部132によって算出されたスコアが所定の閾値以下である場合に、第2サーバ装置がAPIキーを不正利用していないと判定する。
[6. effect〕
As described above, the information processing apparatus 100 according to the embodiment includes the storage section 120, the acquisition section 131, the calculation section 132, and the determination section 133. The storage unit 120 stores, for each global IP address, usage history information indicating the usage history of the API key by the server device identified by the global IP address. The acquisition unit 131 obtains a first usage count indicating a first usage count that is the number of times the API key is used by a first server device that is a server device that has been determined not to have used the API key illegally, based on the usage history information. information, and a second server that is a server device to be determined and that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and that uses an API key that is used by the first server device. Obtain second usage number information indicating a second usage number, which is the number of times the API key is used by the device. The calculation unit 132 calculates a score indicating whether or not the second server device is illegally using the API key, based on a comparison between the first number of uses and the second number of uses. The determining unit 133 determines that the second server device is illegally using the API key when the score calculated by the calculating unit 132 exceeds a predetermined threshold, and determines that the score calculated by the calculating unit 132 exceeds a predetermined threshold. If it is less than or equal to the threshold, it is determined that the second server device is not using the API key illegally.

このように、情報処理装置100は、正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを判定する。これにより、情報処理装置100は、不明サーバ装置を識別するグローバルIPアドレスが存在しない場合であっても、不明サーバ装置がAPIキーを不正利用しているか否かを判定することができる。また、情報処理装置100は、サーバ装置がAPIキーを不正利用しているか否かを示すスコアを算出することにより、サーバ装置がAPIキーを正常に利用しているか否かについても管理することを可能にすることができる。したがって、情報処理装置100は、APIキーが適切に利用されているかどうかを管理可能とすることができる。また、情報処理装置100は、APIキーが適切に利用されているかどうかを管理可能とすることができるため、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。 In this way, the information processing device 100 determines whether the unknown server device is illegally using the API key based on the comparison between the number of times the API key is used by the normal server device and the number of times the API key is used by the unknown server device. Determine. Thereby, the information processing device 100 can determine whether the unknown server device is illegally using the API key even if there is no global IP address for identifying the unknown server device. The information processing device 100 also manages whether the server device is using the API key normally by calculating a score indicating whether the server device is using the API key illegally. can be made possible. Therefore, the information processing device 100 can manage whether the API key is being used appropriately. In addition, the information processing device 100 can manage whether API keys are being used appropriately, so that Goal 9 of the Sustainable Development Goals (SDGs) “Create a foundation for industry and technological innovation” is achieved. I can contribute to the achievement.

また、算出部132は、第1利用回数として、所定期間における第1サーバ装置によるAPIキーの利用回数と、第2利用回数として、所定期間における第2サーバ装置によるAPIキーの利用回数との比較に基づいて、スコアを算出する。 The calculation unit 132 also compares the number of times the API key is used by the first server device in a predetermined period as the first number of uses, and the number of times the API key is used by the second server device in the predetermined period as the second number of uses. Calculate the score based on.

これにより、情報処理装置100は、同じ期間における正常サーバ装置によるAPIキーの利用回数と不明サーバ装置によるAPIキーの利用回数を比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを適切に判定することができる。 Thereby, the information processing device 100 determines whether the unknown server device is illegally using the API key based on a comparison between the number of times the API key is used by the normal server device and the number of times the API key is used by the unknown server device during the same period. It is possible to appropriately determine whether

また、算出部132は、第1利用回数に対する第2利用回数の割合が所定の割合以下である場合のスコアよりも、第1利用回数に対する第2利用回数の割合が所定の割合を超える場合のスコアを高く算出する。 In addition, the calculation unit 132 calculates the score when the ratio of the second number of uses to the first number of uses exceeds a predetermined ratio than the score when the ratio of the second number of uses to the first number of uses is less than or equal to a predetermined ratio. Calculate a high score.

これにより、情報処理装置100は、第1利用回数に対する第2利用回数の割合に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを適切に判定することができる。 Thereby, the information processing device 100 can appropriately determine whether the unknown server device is illegally using the API key based on the ratio of the second number of uses to the first number of uses.

また、記憶部120は、利用履歴情報として、グローバルIPアドレスと対応するFQDN(Fully Qualified Domain Name)に関するドメイン名情報を記憶する。取得部131は、第1グローバルIPアドレスと対応するFQDNに関する第1ドメイン名情報、および、第2グローバルIPアドレスと対応するFQDNに関する第2ドメイン名情報を取得する。算出部132は、第1ドメイン名情報と第2ドメイン名情報との比較に基づいて、スコアを算出する。 Furthermore, the storage unit 120 stores domain name information regarding an FQDN (Fully Qualified Domain Name) corresponding to a global IP address as usage history information. The acquisition unit 131 acquires first domain name information regarding the FQDN corresponding to the first global IP address and second domain name information regarding the FQDN corresponding to the second global IP address. The calculation unit 132 calculates a score based on a comparison between the first domain name information and the second domain name information.

これにより、情報処理装置100は、正常サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報と、不明サーバ装置を識別するグローバルIPアドレスと対応するFQDNに関するドメイン名情報との比較に基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを精度よく判定することができる。 As a result, the information processing device 100 can perform the following based on the comparison between the domain name information regarding the FQDN corresponding to the global IP address for identifying a normal server device and the domain name information regarding the FQDN corresponding to the global IP address for identifying an unknown server device. Therefore, it is possible to accurately determine whether the unknown server device is illegally using the API key.

また、算出部132は、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが同一である場合のスコアよりも、第1グローバルIPアドレスと対応するFQDNと、第2グローバルIPアドレスと対応するFQDNとが異なる場合のスコアを高く算出する。 In addition, the calculation unit 132 calculates that the FQDN corresponding to the first global IP address and 2. A high score is calculated when the global IP address and the corresponding FQDN are different.

これにより、情報処理装置100は、正常サーバ装置を識別するグローバルIPアドレスと対応するFQDNと、不明サーバ装置を識別するグローバルIPアドレスと対応するFQDNとが一致するか否かに基づいて、不明サーバ装置がAPIキーを不正利用しているか否かを精度よく判定することができる。 As a result, the information processing device 100 determines whether the unknown server It is possible to accurately determine whether the device is illegally using the API key.

また、情報処理装置100は、通知部134をさらに備える。通知部134は、判定部133によって第2サーバ装置がAPIキーを不正利用していると判定された場合、第1サーバ装置の管理者に対してAPIキーの不正利用が検出されたことを通知する。 Furthermore, the information processing device 100 further includes a notification unit 134. When the determining unit 133 determines that the second server device is using the API key illegally, the notification unit 134 notifies the administrator of the first server device that illegal use of the API key has been detected. do.

これにより、情報処理装置100は、APIの提供者としてのサービス品質を向上させることができる。また、情報処理装置100は、APIを利用する顧客のサービス満足度を向上させることができる。 Thereby, the information processing apparatus 100 can improve the quality of service as an API provider. Furthermore, the information processing device 100 can improve service satisfaction of customers who use the API.

〔7.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば図9に示すような構成のコンピュータ1000によって実現される。図9は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
[7. Hardware configuration]
Further, the information processing apparatus 100 according to the embodiments described above is realized by, for example, a computer 1000 having a configuration as shown in FIG. FIG. 9 is a hardware configuration diagram showing an example of a computer that implements the functions of the information processing device 100. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM 1300, an HDD 1400, a communication interface (I/F) 1500, an input/output interface (I/F) 1600, and a media interface (I/F) 1700.

CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。 CPU 1100 operates based on a program stored in ROM 1300 or HDD 1400, and controls each section. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 is started, programs depending on the hardware of the computer 1000, and the like.

HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。 The HDD 1400 stores programs executed by the CPU 1100, data used by the programs, and the like. Communication interface 1500 receives data from other devices via a predetermined communication network and sends it to CPU 1100, and transmits data generated by CPU 1100 to other devices via a predetermined communication network.

CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。なお、CPU1100の代わりに、MPU(Micro Processing Unit)またはGPU(Graphics Processing Unit)を用いてもよい。 The CPU 1100 controls output devices such as a display and a printer, and input devices such as a keyboard and mouse via an input/output interface 1600. CPU 1100 obtains data from an input device via input/output interface 1600. Further, CPU 1100 outputs the generated data to an output device via input/output interface 1600. Note that an MPU (Micro Processing Unit) or a GPU (Graphics Processing Unit) may be used instead of the CPU 1100.

メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。 Media interface 1700 reads programs or data stored in recording medium 1800 and provides them to CPU 1100 via RAM 1200. CPU 1100 loads this program from recording medium 1800 onto RAM 1200 via media interface 1700, and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory. etc.

例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。 For example, when the computer 1000 functions as the information processing device 100, the CPU 1100 of the computer 1000 realizes the functions of the control unit 130 by executing a program loaded onto the RAM 1200. The CPU 1100 of the computer 1000 reads these programs from the recording medium 1800 and executes them, but as another example, these programs may be acquired from another device via a predetermined communication network.

以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Some of the embodiments of the present application have been described above in detail based on the drawings, but these are merely examples, and various modifications and variations may be made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure section of the invention. It is possible to carry out the invention in other forms with modifications.

〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[8. others〕
Furthermore, among the processes described in the above embodiments and modified examples, all or part of the processes described as being performed automatically can be performed manually, or may be described as being performed manually. All or part of this processing can also be performed automatically using known methods. In addition, information including the processing procedures, specific names, and various data and parameters shown in the above documents and drawings may be changed arbitrarily, unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Furthermore, each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings. In other words, the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices can be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.

また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Furthermore, the above-described embodiments and modifications can be combined as appropriate within a range that does not conflict with the processing contents.

1 情報処理システム
10 端末装置
20 サーバ装置
100 情報処理装置
110 通信部
120 記憶部
121 利用履歴情報記憶部
122 正常IPセット情報記憶部
123 不明IPセット情報記憶部
124 スコアリング条件記憶部
130 制御部
131 取得部
132 算出部
133 判定部
134 通知部
1 Information processing system 10 Terminal device 20 Server device 100 Information processing device 110 Communication unit 120 Storage unit 121 Usage history information storage unit 122 Normal IP set information storage unit 123 Unknown IP set information storage unit 124 Scoring condition storage unit 130 Control unit 131 Acquisition unit 132 Calculation unit 133 Judgment unit 134 Notification unit

Claims (8)

グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報を前記グローバルIPアドレスごとに記憶する記憶部と、
前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得部と、
前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出部と、
前記算出部によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出部によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定部と、
を備える情報処理装置。
a storage unit that stores, for each global IP address, usage history information indicating the usage history of the API key by the server device identified by the global IP address;
first usage number information indicating a first usage number, which is the number of times the API key is used by a first server device that is a server device that is determined to not be using the API key illegally based on the usage history information; and a second server device to be determined, which uses the API key that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and is used by the first server device. an acquisition unit that acquires second usage number information indicating a second usage number that is the number of times the API key is used by the server device;
a calculation unit that calculates a score indicating whether or not the second server device is illegally using the API key based on a comparison between the first number of uses and the second number of uses;
If the score calculated by the calculation unit exceeds a predetermined threshold, the second server device determines that the API key is being used illegally, and the score calculated by the calculation unit is less than or equal to the predetermined threshold. a determination unit that determines that the second server device is not illegally using the API key if
An information processing device comprising:
前記算出部は、
前記第1利用回数として、所定期間における前記第1サーバ装置による前記APIキーの利用回数と、前記第2利用回数として、前記所定期間における前記第2サーバ装置による前記APIキーの利用回数との比較に基づいて、前記スコアを算出する、
請求項1に記載の情報処理装置。
The calculation unit is
Comparison of the number of times the API key is used by the first server device in a predetermined period as the first number of uses, and the number of times the API key is used by the second server device in the predetermined period as the second number of uses. calculating the score based on
The information processing device according to claim 1.
前記算出部は、
前記第1利用回数に対する前記第2利用回数の割合が所定の割合以下である場合の前記スコアよりも、前記第1利用回数に対する前記第2利用回数の割合が所定の割合を超える場合の前記スコアを高く算出する、
請求項1または2に記載の情報処理装置。
The calculation unit is
The score when the ratio of the second number of uses to the first number of uses exceeds a predetermined ratio than the score when the ratio of the second number of uses to the first number of uses is less than or equal to a predetermined ratio. calculate higher,
The information processing device according to claim 1 or 2.
前記記憶部は、
前記利用履歴情報として、前記グローバルIPアドレスと対応するFQDN(Fully Qualified Domain Name)に関するドメイン名情報を記憶し、
前記取得部は、
前記第1グローバルIPアドレスと対応するFQDNに関する第1ドメイン名情報、および、前記第2グローバルIPアドレスと対応するFQDNに関する第2ドメイン名情報を取得し、
前記算出部は、
前記第1ドメイン名情報と前記第2ドメイン名情報との比較に基づいて、前記スコアを算出する、
請求項1~3のいずれか1つに記載の情報処理装置。
The storage unit includes:
storing domain name information regarding an FQDN (Fully Qualified Domain Name) corresponding to the global IP address as the usage history information;
The acquisition unit includes:
obtaining first domain name information regarding the FQDN corresponding to the first global IP address and second domain name information regarding the FQDN corresponding to the second global IP address;
The calculation unit is
calculating the score based on a comparison between the first domain name information and the second domain name information;
The information processing device according to any one of claims 1 to 3.
前記算出部は、
前記第1グローバルIPアドレスと対応するFQDNと、前記第2グローバルIPアドレスと対応するFQDNとが同一である場合の前記スコアよりも、前記第1グローバルIPアドレスと対応するFQDNと、前記第2グローバルIPアドレスと対応するFQDNとが異なる場合の前記スコアを高く算出する、
請求項4に記載の情報処理装置。
The calculation unit is
The FQDN corresponding to the first global IP address and the second global IP address are higher than the score when the FQDN corresponding to the first global IP address and the FQDN corresponding to the second global IP address are the same. calculating the score to be high when the IP address and the corresponding FQDN are different;
The information processing device according to claim 4.
前記判定部によって前記第2サーバ装置が前記APIキーを不正利用していると判定された場合、前記第1サーバ装置の管理者に対して前記APIキーの不正利用が検出されたことを通知する通知部をさらに備える、
請求項1~5のいずれか1つに記載の情報処理装置。
If the determination unit determines that the second server device is using the API key illegally, the administrator of the first server device is notified that the illegal use of the API key has been detected. further comprising a notification section;
The information processing device according to any one of claims 1 to 5.
コンピュータが実行する情報処理方法であって、
グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報を前記グローバルIPアドレスごとに記憶部に記憶する記憶工程と、
前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得工程と、
前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出工程と、
前記算出工程によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出工程によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定工程と、
を含む情報処理方法。
An information processing method performed by a computer, the method comprising:
a storage step of storing usage history information indicating usage history of the API key by the server device identified by the global IP address in a storage unit for each global IP address;
first usage number information indicating a first usage number, which is the number of times the API key is used by a first server device that is a server device that is determined to not be using the API key illegally based on the usage history information; and a second server device to be determined, which uses the API key that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and is used by the first server device. an acquisition step of acquiring second usage number information indicating a second usage number, which is the number of times the API key is used by the server device;
a calculation step of calculating a score indicating whether the second server device is illegally using the API key based on a comparison between the first number of uses and the second number of uses;
If the score calculated in the calculation step exceeds a predetermined threshold, the second server device determines that the API key is being used illegally, and the score calculated in the calculation step is less than or equal to the predetermined threshold. a determination step of determining that the second server device is not illegally using the API key;
Information processing methods including.
グローバルIPアドレスによって識別されるサーバ装置によるAPIキーの利用履歴を示す利用履歴情報を前記グローバルIPアドレスごとに記憶部に記憶する記憶手順と、
前記利用履歴情報に基づいて、前記APIキーを不正利用していないと判定されたサーバ装置である第1サーバ装置による前記APIキーの利用回数である第1利用回数を示す第1利用回数情報、および、判定対象のサーバ装置であって、前記第1サーバ装置を識別する第1グローバルIPアドレスと異なる第2グローバルIPアドレスによって識別され前記第1サーバ装置が利用する前記APIキーを利用する第2サーバ装置による前記APIキーの利用回数である第2利用回数を示す第2利用回数情報を取得する取得手順と、
前記第1利用回数と前記第2利用回数との比較に基づいて、前記第2サーバ装置が前記APIキーを不正利用しているか否かを示すスコアを算出する算出手順と、
前記算出手順によって算出されたスコアが所定の閾値を超える場合に、前記第2サーバ装置が前記APIキーを不正利用していると判定し、前記算出手順によって算出されたスコアが前記所定の閾値以下である場合に、前記第2サーバ装置が前記APIキーを不正利用していないと判定する判定手順と、
をコンピュータに実行させる情報処理プログラム。
a storage procedure for storing usage history information indicating a usage history of an API key by a server device identified by the global IP address in a storage unit for each global IP address;
first usage number information indicating a first usage number, which is the number of times the API key is used by a first server device that is a server device that is determined to not be using the API key illegally based on the usage history information; and a second server device to be determined, which uses the API key that is identified by a second global IP address that is different from a first global IP address that identifies the first server device and is used by the first server device. an acquisition procedure for acquiring second usage number information indicating a second usage number, which is the number of times the API key is used by the server device;
a calculation step of calculating a score indicating whether the second server device is illegally using the API key based on a comparison between the first number of times of use and the second number of times of use;
If the score calculated by the calculation procedure exceeds a predetermined threshold, the second server device determines that the API key is being used illegally, and the score calculated by the calculation procedure is less than or equal to the predetermined threshold. a determination procedure for determining that the second server device is not illegally using the API key;
An information processing program that causes a computer to execute.
JP2022033839A 2022-03-04 2022-03-04 Information processing device, information processing method and information processing program Active JP7292454B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022033839A JP7292454B1 (en) 2022-03-04 2022-03-04 Information processing device, information processing method and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022033839A JP7292454B1 (en) 2022-03-04 2022-03-04 Information processing device, information processing method and information processing program

Publications (2)

Publication Number Publication Date
JP7292454B1 JP7292454B1 (en) 2023-06-16
JP2023129069A true JP2023129069A (en) 2023-09-14

Family

ID=86729189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022033839A Active JP7292454B1 (en) 2022-03-04 2022-03-04 Information processing device, information processing method and information processing program

Country Status (1)

Country Link
JP (1) JP7292454B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6617617B2 (en) 2016-03-10 2019-12-11 富士通株式会社 Management device, management program, and management method
WO2020068036A1 (en) 2018-09-24 2020-04-02 Hewlett-Packard Development Company, L.P. Device status assessment
CN113706291A (en) 2021-08-31 2021-11-26 平安普惠企业管理有限公司 Fraud risk prediction method, device, equipment and storage medium

Also Published As

Publication number Publication date
JP7292454B1 (en) 2023-06-16

Similar Documents

Publication Publication Date Title
JP6680840B2 (en) Automatic detection of fraudulent digital certificates
US9350739B2 (en) Recovery from rolling security token loss
US20120136798A1 (en) Securing mobile transactions
EP2190164A1 (en) System and method for controlling use of a network resource
CN108573741A (en) Business datum recording method, device, equipment and storage medium
US11941144B2 (en) Modification of data sharing between systems
CA3056277C (en) System for managing transactional data
JP5936798B2 (en) Log analysis device, unauthorized access audit system, log analysis program, and log analysis method
US20190073206A1 (en) Information processing apparatus, setup method, and computer-readable storage medium
JP6949378B2 (en) Information processing device
WO2020222009A1 (en) Online payment system
US20150248673A1 (en) Methods and apparatus for a token management system for transactions
US20140195487A1 (en) Request de-duplication for enterprise service bus
JP6429962B1 (en) Information processing apparatus, information processing method, and information processing program
AU2019293104B2 (en) Service support system and service support method
JP2023129069A (en) Information processing device, information processing method, and information processing program
JP6680733B2 (en) Generation device, generation method, and generation program
JP6298205B1 (en) Transaction management system, transaction management method, and program thereof
JP2020047057A (en) Information processing method, information processing device, and program
US20150106274A1 (en) Credit card security enhancements for authorizing a credit card transaction
US20210056181A1 (en) Information processing method, information processing apparatus, and medium
JP2009086929A (en) Coupon system, coupon management method, and program
JP2020109691A (en) Generation device, generation method and generation program
JP2014191766A (en) Lending management system, lending management device and lending management method
JP7197387B2 (en) Information processing apparatus, method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220311

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: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230606

R150 Certificate of patent or registration of utility model

Ref document number: 7292454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150