JP2018029241A - API system and data encryption method - Google Patents
API system and data encryption method Download PDFInfo
- Publication number
- JP2018029241A JP2018029241A JP2016159544A JP2016159544A JP2018029241A JP 2018029241 A JP2018029241 A JP 2018029241A JP 2016159544 A JP2016159544 A JP 2016159544A JP 2016159544 A JP2016159544 A JP 2016159544A JP 2018029241 A JP2018029241 A JP 2018029241A
- Authority
- JP
- Japan
- Prior art keywords
- api
- application
- encryption key
- enabler
- gateway device
- 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
Links
Images
Abstract
Description
本発明は、APIリクエスト又はAPIレスポンスに含めるデータを暗号化する技術に関する。 The present invention relates to a technique for encrypting data included in an API request or an API response.
現在、サービスを構成する機能をできる限り小さい粒度の部品に分離・素材化し、その機能をAPI(Application Program Interface)として提供するAPI提供システムが考案されている。このようなAPI提供システムは、例えば、アプリケーションが用いる各機能をそれぞれ提供する複数のイネーブラ装置と、各機能のAPIを提供するAPIゲートウェイ装置と、を備えて構成される。 Currently, an API providing system has been devised in which functions constituting a service are separated and made into parts with as small a granularity as possible and the functions are provided as an API (Application Program Interface). Such an API providing system includes, for example, a plurality of enabler devices that provide each function used by an application, and an API gateway device that provides an API for each function.
上記API提供システムは、アプリケーション開発者に提供され、アプリケーション開発者は、そのAPI提供システムを用いて上記APIを活用したアプリケーションを開発する。そのため、APIゲートウェイ装置は、開発者ポータルサイトの機能を含む。 The API providing system is provided to an application developer, and the application developer develops an application using the API using the API providing system. Therefore, the API gateway device includes a developer portal site function.
ここで、開発されるアプリケーションの動作について概説する。例えば、イネーブラ装置Aが提供する機能aを利用するアプリケーションが開発された場合、そのアプリケーションは、上記機能aを要求するためのAPIリクエストをAPIゲートウェイ装置へ送信する。APIゲートウェイ装置は、APIリクエストで要求された機能aを持つイネーブラ装置Aへ該当のAPIを介してAPIリクエストを転送する。その後、そのイネーブラ装置Aは、受信したAPIリクエストに応じて自身が備える機能aを要求元のアプリケーション装置に提供する。 Here, the operation of the developed application will be outlined. For example, when an application using the function a provided by the enabler device A is developed, the application transmits an API request for requesting the function a to the API gateway device. The API gateway device transfers the API request to the enabler device A having the function a requested by the API request via the corresponding API. Thereafter, the enabler device A provides the function a included in the enabler device A to the requesting application device in response to the received API request.
アプリケーションがAPIゲートウェイ装置へ送信するAPIリクエストには、例えば、要求機能を識別する機能ID、アプリケーションを認証するためのAPIキー等に加えて、アプリケーションの利用者等に関する個人情報等の秘匿データが含まれる場合がある。例えば、イネーブラ装置Aがユーザ単位に住所録を管理する機能aを提供し、イネーブラ装置Bが電話発信・切断する機能bを提供する場合において、住所録から連絡を取りたい相手の電話番号を取得して電話発信するアプリケーションが開発された場合、そのアプリケーションは、その相手の電話番号をAPIリクエストに含めてAPIゲートウェイ装置へ送信することになる。また、APIリクエストのみならず、APIゲートウェイ装置がアプリケーションへ送信するAPIレスポンスにも秘匿データが含まれる場合がある。 The API request transmitted from the application to the API gateway device includes, for example, a function ID for identifying the requested function, an API key for authenticating the application, and confidential data such as personal information regarding the user of the application. May be. For example, when the enabler device A provides a function a for managing an address book for each user and the enabler device B provides a function b for making / disconnecting a phone call, the telephone number of the other party to be contacted is obtained from the address book. When an application for making a telephone call is developed, the application includes the telephone number of the other party in the API request and transmits it to the API gateway apparatus. In addition to the API request, the API response transmitted from the API gateway device to the application may include confidential data.
しかし、現時点において、API利用者であるアプリケーションとAPI提供システムとの間で送受信される秘匿データに対する暗号化キーを双方で共有する仕組みが確立されていない。そのため、アプリケーションとAPI提供システムとの間で独自に暗号化キーを管理・配布しなければならかった。上記特許文献1,2には上記API提供システムに類似するシステムが考案されているが、その仕組みについては言及されていない。
However, at present, a mechanism for sharing an encryption key for confidential data transmitted and received between an application that is an API user and the API providing system has not been established. Therefore, the encryption key must be managed and distributed independently between the application and the API providing system. In
本発明は、上記事情を鑑みてなされたものであり、APIリクエスト又はAPIレスポンスに含めるデータに対して効率的にセキュリティを担保することを目的とする。 The present invention has been made in view of the above circumstances, and an object thereof is to efficiently secure security for data included in an API request or an API response.
以上の課題を解決するため、請求項1に係るAPIシステムは、APIリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のAPIを提供するAPIゲートウェイ装置と、前記APIリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたAPIシステムにおいて、前記イネーブラ装置は、自身宛てのAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録する登録部を備え、前記APIゲートウェイ装置は、前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信する送信部を備え、前記アプリケーションは、前記APIゲートウェイ装置から受信した前記暗号化キーでAPIリクエストに含めるデータを暗号化する暗号化部を備える、ことを要旨とする。
In order to solve the above problems, an API system according to
請求項2に係るAPIシステムは、APIリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のAPIを提供するAPIゲートウェイ装置と、前記APIリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたAPIシステムにおいて、前記アプリケーションは、自身宛てのAPIレスポンス又はAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録する登録部を備え、前記APIゲートウェイ装置は、前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信する送信部を備え、前記イネーブラ装置は、前記APIゲートウェイ装置から受信した前記暗号化キーでAPIレスポンス又はAPIリクエストに含めるデータを暗号化する暗号化部を備える、ことを要旨とする。 An API system according to claim 2 comprises: an enabler device that provides a function in response to an API request; an API gateway device that provides an API of the enabler device; and an application device that includes an application that transmits the API request. In the provided API system, the application includes a registration unit that registers an encryption key for encrypting an API response addressed to itself or data included in the API request in the API gateway device. A transmission unit configured to transmit to the enabler device the encryption key registered in response to an access from the enabler device; the enabler device receives an API response or an A with the encryption key received from the API gateway device; Comprising an encryption unit for encrypting the data to be included in the I request and summarized in that.
請求項3に係るデータ暗号化方法は、APIリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のAPIを提供するAPIゲートウェイ装置と、前記APIリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたAPIシステムで行うデータ暗号化方法において、前記イネーブラ装置に、自身宛てのAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録するステップを実行させ、前記APIゲートウェイ装置に、前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信するステップを実行させ、前記アプリケーションに、前記APIゲートウェイ装置から受信した前記暗号化キーでAPIリクエストに含めるデータを暗号化するステップを実行させる、ことを要旨とする。 A data encryption method according to claim 3 is an enabler device that provides a function in response to an API request, an API gateway device that provides an API of the enabler device, and an application device that includes an application that transmits the API request; In the data encryption method performed by the API system comprising: the enabler device, executing the step of registering in the API gateway device an encryption key for encrypting data included in the API request addressed to the enabler device, The API gateway device is caused to execute a step of transmitting the encryption key registered in the API gateway device to the application in response to an access from the application, and the application uses the encryption key received from the API gateway device to execute A The data to be included in I requested to execute a step of encrypting, and summarized in that.
請求項4に係るデータ暗号化方法は、APIリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のAPIを提供するAPIゲートウェイ装置と、前記APIリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたAPIシステムで行うデータ暗号化方法において、前記アプリケーションに、自身宛てのAPIレスポンス又はAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録するステップを実行させ、前記APIゲートウェイ装置に、前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信するステップを実行させ、前記イネーブラ装置に、前記APIゲートウェイ装置から受信した前記暗号化キーでAPIレスポンス又はAPIリクエストに含めるデータを暗号化するステップを実行させる、ことを要旨とする。 The data encryption method according to claim 4 is an enabler device that provides a function in response to an API request, an API gateway device that provides an API of the enabler device, and an application device that includes an application that transmits the API request; In the data encryption method performed by the API system comprising: the application executes the step of registering in the API gateway device an encryption key for encrypting data included in the API response or API request addressed to the application. The API gateway device is caused to execute a step of transmitting the encryption key registered in the API gateway device to the enabler device in response to an access from the enabler device, and before the enabler device has received the API gateway device from the API gateway device. To perform the step of encrypting the data to be included in the API response or API requests encryption key, and summarized in that.
本発明によれば、APIリクエスト又はAPIレスポンスに含めるデータに対して効率的にセキュリティを担保することができる。 ADVANTAGE OF THE INVENTION According to this invention, security can be efficiently ensured with respect to the data included in an API request or an API response.
本発明は、APIゲートウェイ装置がAPIリクエスト又はAPIレスポンスのデータを暗号化するための暗号化キーを払い出す機能を備えることを特徴とする。これにより、アプリケーションとAPI提供システムとの間で独自に暗号化キーを管理・配布する必要がなくなり、APIレスポンスのデータに対して効率的にセキュリティを担保することができる。以下、本発明を実施する一実施の形態について図面を用いて説明する。 The present invention is characterized in that the API gateway device has a function of paying out an encryption key for encrypting API request or API response data. Thereby, it is not necessary to independently manage and distribute the encryption key between the application and the API providing system, and the security of the API response data can be efficiently secured. Hereinafter, an embodiment for carrying out the present invention will be described with reference to the drawings.
<第1の実施の形態>
第1の実施の形態では、アプリケーションからAPI提供システムへ送信されるAPIリクエストのデータを暗号化する方法について説明する。
<First Embodiment>
In the first embodiment, a method for encrypting API request data transmitted from an application to an API providing system will be described.
図1は、第1の実施の形態に係るAPIシステムの全体構成を示す図である。APIシステム1は、イネーブラ装置10と、APIゲートウェイ装置20を備えるAPI提供システムと、アプリケーション装置30と、を備えて構成される。
FIG. 1 is a diagram showing an overall configuration of an API system according to the first embodiment. The
イネーブラ装置10は、APIリクエストに応じて自身が備える機能を提供する装置である。具体的には、機能aを提供するイネーブラ装置10、機能aとは異なる機能nを提供するイネーブラ装置10等、少なくとも1つ以上のイネーブラ装置により構成される。例えば、イネーブラ装置Aは、ユーザ単位に住所録(住所、氏名、電話番号、所定サービスのID等)を管理するデータベースの機能aを提供し、イネーブラ装置Bは、電話発信・切断する機能bを提供し、イネーブラ装置Cは、メッセージを送信する機能cを提供する。
The
図2は、本実施の形態に係るイネーブラ装置10の機能ブロック構成を示す図である。本実施の形態に係るイネーブラ装置10は、上記既存機能(APIリクエストに応じて自身が備える機能を提供する機能)に加えて、キー情報記憶部101と、暗号化キー登録部102と、APIリクエスト受信部103と、データ復号化部104と、を備えて構成される。
FIG. 2 is a diagram showing a functional block configuration of the
キー情報記憶部101は、予め生成された対を成す暗号化キー及び復号化キーを記憶しておく機能を備える。
The key
暗号化キー登録部102は、自身宛てのAPIリクエストに含めるデータを暗号化させるため、キー情報記憶部101から暗号化キーを読み出して、その暗号化キーをAPIゲートウェイ装置20に登録する機能を備える。
The encryption
APIリクエスト受信部103は、APIゲートウェイ装置20を介してアプリケーション装置30のアプリケーションから送信されたAPIリクエストを受信する機能を備える。
The API
データ復号化部104は、APIリクエスト受信部103で受信したAPIリクエストからデータ(=暗号化された秘匿データ)を取得し、APIゲートウェイ装置20に登録していた暗号化キーに対応する復号化キーをキー情報記憶部101から読み出して、この復号化キーで上記暗号化された秘匿データを復号する機能を備える。
The
次に、APIゲートウェイ装置20について説明する。APIゲートウェイ装置20は、イネーブラ装置10のAPIを提供する装置であり、アプリケーションが各APIをコールするためのエンドポイントが実装されている。例えば、上記例の場合、APIゲートウェイ装置20は、住所録への情報の登録・取得・変更・削除を行うAPI(イネーブラ装置AのAPI)、電話発信・切断を行うAPI(イネーブラ装置BのAPI)、メッセージ送信を行うAPI(イネーブラ装置CのAPI)、をアプリケーションに提供し、アプリケーションから送信されたAPIリクエストを該当のAPIを介して該当のイネーブラ装置10へ転送する。
Next, the
図3は、本実施の形態に係るAPIゲートウェイ装置20の機能ブロック構成を示す図である。本実施の形態に係るAPIゲートウェイ装置20は、暗号化キー受信部201と、暗号化キー記憶部202と、暗号化キー送信部203と、APIリクエスト受信部204と、APIリクエスト送信部205と、を備えて構成される。
FIG. 3 is a diagram showing a functional block configuration of the
暗号化キー受信部201は、イネーブラ装置10での登録処理によりイネーブラ装置10から送信された暗号化キーを受信する機能を備える。
The encryption
暗号化キー記憶部202は、暗号化キー受信部201で受信した暗号化キーを送信元のイネーブラ装置10のIDに関連付けて記憶する機能を備える。
The encryption
暗号化キー送信部203は、アプリケーションからのアクセスに応じて該当の暗号化キーをアプリケーションへ送信する機能を備える。
The encryption
APIリクエスト受信部204は、アプリケーションから送信されたAPIリクエストを受信する機能を備える。
The API
APIリクエスト送信部205は、APIリクエスト受信部204でAPIリクエストを受信した後、そのAPIリクエストで要求された機能を持つイネーブラ装置10へ該当のAPIを介してAPIリクエストを送信する機能を備える。
The API
なお、APIゲートウェイ装置20は、アプリケーションが複数のイネーブラ装置10へアクセスする際の利便性を高めるため、上述した通り、複数のイネーブラ装置10の各APIを一元化して管理している。それゆえ、アプリケーションの開発時にどのような機能のAPIを利用可能であるかを開発者に提示するため、APIゲートウェイ装置20には、各APIの仕様・使い方を記載したドキュメント等が登録されている。
Note that the
次に、アプリケーション装置30について説明する。アプリケーション装置30は、APIリクエストを送信し、APIレスポンスを受信するアプリケーションを備えた端末である。ここで、アプリケーションとは、背景技術で説明した通り、API提供システム(ここでは、1つ以上のイネーブラ装置10とAPIゲートウェイ装置20)を用い各APIを活用して開発されたアプリケーションである。例えば、上記例の場合、イネーブラ装置Aの機能aを用いて住所録から連絡を取りたい相手の電話番号を取得し、イネーブラ装置Bの機能bを用いて電話発信を行い、更にイネーブラ装置Cの機能cを用いてメッセージ送信を行うアプリケーションである。
Next, the
図4は、本実施の形態に係るアプリケーション装置30のアプリケーションが備える機能ブロック構成を示す図である。このアプリケーションは、上記既存機能(1つ以上のイネーブラ装置10の各機能を用いてサービスを提供する機能)に加えて、暗号化キー取得部301と、キー情報記憶部302と、データ記憶部303と、データ暗号化部304と、APIリクエスト送信部305と、を備えて構成される。
FIG. 4 is a diagram illustrating a functional block configuration included in an application of the
暗号化キー取得部301は、APIリクエストを送信する前に、そのAPIリクエストで要求する機能を持つイネーブラ装置10により登録された暗号化キーをAPIゲートウェイ装置20から取得する機能を備える。
The encryption
キー情報記憶部302は、暗号化キー取得部301で取得した暗号化キーを記憶する機能を備える。
The key
データ記憶部303は、APIリクエストに含めるデータ(個人情報等の秘匿データ)を記憶する機能を備える。
The
データ暗号化部304は、APIリクエストにデータを含めて送信する場合、キー情報記憶部302から暗号化キーを読み出して、その暗号化キーでAPIリクエストに含めるデータを暗号化する機能を備える。
The
APIリクエスト送信部305は、データ暗号化部304で暗号化されたデータを含めたAPIリクエストをAPIゲートウェイ装置20へ送信する機能を備える。
The API
次に、本実施の形態に係るAPIシステムで行うデータ暗号化方法について説明する。図5は、本実施の形態に係るデータ暗号化方法の動作を示す図である。本実施の形態では、APIリクエストに含めるデータを暗号化する。 Next, a data encryption method performed by the API system according to this embodiment will be described. FIG. 5 is a diagram showing the operation of the data encryption method according to the present embodiment. In the present embodiment, data included in the API request is encrypted.
まず、ステップS101において、イネーブラ装置10は、自身宛てのAPIリクエストに含めるデータを暗号化させるための暗号化キーをAPIゲートウェイ装置20に登録する。
First, in step S101, the
次に、ステップS102において、アプリケーション装置30のアプリケーションは、APIリクエストを送信する前に、そのAPIリクエストで要求する機能を持つイネーブラ装置10により登録された暗号化キーをAPIゲートウェイ装置20から取得する。このとき、APIゲートウェイ装置20では、アプリケーションを認証するためのAPIキーに加えて、該当のイネーブラ装置10のIDに対応する暗号化キーをアプリケーションへ払い出す処理を行うことになる。
Next, in step S <b> 102, the application of the
次に、ステップS103において、アプリケーション装置30のアプリケーションは、APIゲートウェイ装置20から取得した暗号化キーでAPIリクエストに含めるデータを暗号化する。
Next, in step S103, the application of the
次に、ステップS104において、アプリケーション装置30のアプリケーションは、暗号化キーで暗号化したデータをAPIリクエストのボディ部に含めてAPIゲートウェイ装置20へ送信する。
Next, in step S104, the application of the
次に、ステップS105において、APIゲートウェイ装置20は、アプリケーションからAPIリクエストを受信した後、そのAPIリクエストで要求された機能を持つイネーブラ装置10へ該当のAPIを介してAPIリクエストを送信する。
Next, in step S105, after receiving the API request from the application, the
最後に、ステップS106において、イネーブラ装置10は、APIゲートウェイ装置20からAPIリクエストを受信した後、そのAPIリクエストから暗号化されたデータを取得し、APIゲートウェイ装置20に登録していた暗号化キーに対応する復号化キーで上記暗号化されたデータを復号する。
Finally, in step S <b> 106, the
すなわち、本実施の形態によれば、イネーブラ装置10が、自身宛てのAPIリクエストに含めるデータを暗号化するための暗号化キーをAPIゲートウェイ装置20に登録し、APIゲートウェイ装置20は、アプリケーションからのアクセスに応じて自身に登録された暗号化キーをアプリケーションへ送信し、アプリケーションは、APIゲートウェイ装置20から受信した暗号化キーでAPIリクエストに含めるデータを暗号化することになる。
That is, according to the present embodiment, the
つまり、APIゲートウェイ装置20がデータを暗号化するための暗号化キーを払い出す機能を備え、アプリケーションはAPIゲートウェイ装置20で払い出された暗号化キーでAPIリクエストのデータを暗号化するので、アプリケーションとAPI提供システム(ここでは、イネーブラ装置10とAPIゲートウェイ装置20)との間で独自に暗号化キーを管理・配布する必要がなくなり、APIリクエストのデータに対して効率的にセキュリティを担保することができる。
That is, the
<第2の実施の形態>
第2の実施の形態では、API提供システムからアプリケーションへ送信されるAPIレスポンス又はAPIリクエストのデータを暗号化する方法について説明する。本実施の形態に係るAPIシステムの全体構成は、図1に示した全体構成と同様である。
<Second Embodiment>
In the second embodiment, a method of encrypting API response or API request data transmitted from the API providing system to the application will be described. The overall configuration of the API system according to the present embodiment is the same as the overall configuration shown in FIG.
図6は、本実施の形態に係るアプリケーション装置30のアプリケーションが備える機能ブロック構成を示す図である。このアプリケーションは、第1の実施の形態で説明した機能部に加え、暗号化キー登録部306と、APIレスポンス受信部307と、データ復号化部308と、を更に備えて構成される。
FIG. 6 is a diagram illustrating a functional block configuration included in an application of the
キー情報記憶部302は、予め生成された対を成す暗号化キー及び復号化キーを記憶しておく機能を備える。
The key
暗号化キー登録部306は、自身宛てのAPIレスポンスに含めるデータを暗号化させるため、キー情報記憶部302から暗号化キーを読み出して、その暗号化キーをAPIゲートウェイ装置20に登録する機能を備える。
The encryption
APIリクエスト送信部305は、APIリクエストを送信する機能を備える。
The API
APIレスポンス受信部307は、APIゲートウェイ装置20を介してイネーブラ装置10から送信されたAPIレスポンスを受信する機能を備える。
The API
データ復号化部308は、APIレスポンス受信部307で受信したAPIレスポンスからデータ(=暗号化された秘匿データ)を取得し、APIゲートウェイ装置20に登録していた暗号化キーに対応する復号化キーをキー情報記憶部302から読み出して、この復号化キーで上記暗号化された秘匿データを復号する機能を備える。
The
データ記憶部303は、データ復号化部308で復号された秘匿データを記憶する機能を備える。
The
図7は、本実施の形態に係るAPIゲートウェイ装置20が備える機能ブロック構成を示す図である。本実施の形態に係るAPIゲートウェイ装置20は、第1の実施の形態で説明した機能部に加え、APIレスポンス受信部206と、APIレスポンス送信部207と、を更に備えて構成される。
FIG. 7 is a diagram showing a functional block configuration provided in the
暗号化キー受信部201は、アプリケーションでの登録処理によりアプリケーションから送信された暗号化キーを受信する機能を備える。
The encryption
暗号化キー記憶部202は、暗号化キー受信部201で受信した暗号化キーを送信元のアプリケーションのIDに関連付けて記憶する機能を備える。
The encryption
暗号化キー送信部203は、イネーブラ装置10からのアクセスに応じて該当の暗号化キーをイネーブラ装置10へ送信する機能を備える。
The encryption
APIリクエスト受信部204は、アプリケーションから送信されたAPIリクエストを受信する機能を備える。
The API
APIリクエスト送信部205は、APIリクエスト受信部204でAPIリクエストを受信した後、そのAPIリクエストで要求された機能を持つイネーブラ装置10へ該当のAPIを介してAPIリクエストを送信する機能を備える。
The API
APIレスポンス受信部206は、イネーブラ装置10から送信されたAPIレスポンスを受信する機能を備える。
The API
APIレスポンス送信部207は、APIレスポンス受信部206でAPIレスポンスを受信した後、そのAPIレスポンスを該当のアプリケーションへ送信する機能を備える。
The API
図8は、本実施の形態に係るイネーブラ装置10の機能ブロック構成を示す図である。本実施の形態に係るイネーブラ装置10は、第1の実施の形態で説明した機能部に加え、暗号化キー取得部105と、データ記憶部106と、データ暗号化部107と、APIレスポンス送信部108と、を更に備えて構成される。
FIG. 8 is a diagram showing a functional block configuration of the
暗号化キー取得部105は、APIレスポンスを送信する前に、そのAPIレスポンスを送信する送信先のアプリケーションにより登録された暗号化キーをAPIゲートウェイ装置20から取得する機能を備える。
The encryption
キー情報記憶部101は、暗号化キー取得部105で取得した暗号化キーを記憶する機能を備える。
The key
APIリクエスト受信部103は、APIゲートウェイ装置20を介してアプリケーションから送信されたAPIリクエストを受信する機能を備える。
The API
データ記憶部106は、APIレスポンスに含めるデータ(個人情報等の秘匿データ)を記憶する機能を備える。
The
データ暗号化部107は、APIレスポンスにデータを含めて送信する場合、キー情報記憶部302から暗号化キーを読み出して、その暗号化キーでAPIレスポンスに含めるデータを暗号化する機能を備える。
The
APIレスポンス送信部108は、データ暗号化部107で暗号化されたデータを含めたAPIレスポンスをAPIゲートウェイ装置20へ送信する機能を備える。
The API
次に、本実施の形態に係るAPIシステムで行うデータ暗号化方法について説明する。図9は、本実施の形態に係るデータ暗号化方法の動作を示す図である。本実施の形態では、APIレスポンスに含めるデータを暗号化する。 Next, a data encryption method performed by the API system according to this embodiment will be described. FIG. 9 is a diagram showing the operation of the data encryption method according to the present embodiment. In the present embodiment, data included in the API response is encrypted.
まず、ステップS201において、アプリケーション装置30のアプリケーションは、自身宛てのAPIレスポンスに含めるデータを暗号化させるための暗号化キーをAPIゲートウェイ装置20に登録する。
First, in step S <b> 201, the application of the
次に、ステップS202において、イネーブラ装置10は、APIレスポンスを送信する前に、そのAPIレスポンスを送信する送信先のアプリケーションにより登録された暗号化キーをAPIゲートウェイ装置20から取得する。このとき、APIゲートウェイ装置20では、該当のアプリケーションのIDに対応する暗号化キーをイネーブラ装置10へ払い出す処理を行うことになる。
Next, in step S <b> 202, the
次に、ステップS203において、アプリケーション装置30のアプリケーションは、APIリクエストをAPIゲートウェイ装置20へ送信する。
Next, in step S <b> 203, the application of the
次に、ステップS204において、APIゲートウェイ装置20は、アプリケーションからAPIリクエストを受信した後、そのAPIリクエストで要求された機能を持つイネーブラ装置10へ該当のAPIを介してAPIリクエストを送信する。
Next, in step S204, after receiving the API request from the application, the
次に、ステップS205において、イネーブラ装置10は、APIゲートウェイ装置20からAPIリクエストを受信した後、APIゲートウェイ装置20から取得していた暗号化キーでAPIレスポンスに含めるデータを暗号化する。
Next, in step S <b> 205, after receiving the API request from the
次に、ステップS206において、イネーブラ装置10は、暗号化キーで暗号化したデータをAPIレスポンスのボディ部に含めてAPIゲートウェイ装置20へ送信する。
Next, in step S206, the
次に、ステップS207において、APIゲートウェイ装置20は、アプリケーションからAPIレスポンスを受信した後、そのAPIレスポンスをAPIリクエストの送信元のアプリケーションへ送信する。
Next, in step S207, the
最後に、ステップ208において、アプリケーション装置30のアプリケーションは、APIゲートウェイ装置20からAPIレスポンスを受信した後、そのAPIレスポンスから暗号化されたデータを取得し、APIゲートウェイ装置20に登録していた暗号化キーに対応する復号化キーで上記暗号化されたデータを復号する。
Finally, in step 208, the application of the
すなわち、本実施の形態によれば、アプリケーションが、自身宛てのAPIレスポンスに含めるデータを暗号化するための暗号化キーをAPIゲートウェイ装置20に登録し、APIゲートウェイ装置20は、イネーブラ装置10からのアクセスに応じて自身に登録された暗号化キーをイネーブラ装置10へ送信し、イネーブラ装置10は、APIゲートウェイ装置20から受信した暗号化キーでAPIレスポンスに含めるデータを暗号化することになる。
That is, according to the present embodiment, the application registers the encryption key for encrypting the data included in the API response addressed to itself in the
つまり、APIゲートウェイ装置20がデータを暗号化するための暗号化キーを払い出す機能を備え、イネーブラ装置10はAPIゲートウェイ装置20で払い出された暗号化キーでAPIレスポンスのデータを暗号化するので、アプリケーションとAPI提供システム(ここでは、イネーブラ装置10とAPIゲートウェイ装置20)との間で独自に暗号化キーを管理・配布する必要がなくなり、APIレスポンスのデータに対して効率的にセキュリティを担保することができる。
That is, the
なお、第1の実施の形態と第2の実施の形態とを組み合わせることも可能である。これにより、APIリクエストとAPIレスポンスの各データが共に暗号化されるので、データのセキュリティレベルを高めることができる。 It is possible to combine the first embodiment and the second embodiment. As a result, the API request and API response data are both encrypted, so that the data security level can be increased.
また、第2の実施の形態では、イネーブラ装置10がアプリケーションへ送信するAPIレスポンスのデータを暗号化する方法について説明した。その一方で、イネーブラ装置10がアプリケーションへ送信する信号としては、APIレスポンス以外に、通知リクエスト等のAPIリクエストも存在する。そのため、第2の実施の形態において、イネーブラ装置10がアプリケーションへ送信するAPIリクエストのデータを暗号化するようにしてもよい。
In the second embodiment, the method of encrypting the API response data transmitted from the
最後に、本実施の形態で説明した、イネーブラ装置10、APIゲートウェイ装置20、アプリケーション装置30は、CPU、メモリ、ハードディスク等を備えたコンピュータ(情報処理装置)で実現できる。また、イネーブラ装置10、APIゲートウェイ装置20、アプリケーション装置30としてコンピュータを機能させるためのプログラムや該プログラムの記憶媒体を作成することも可能である。
Finally, the
1…APIシステム
10…イネーブラ装置
101…キー情報記憶部
102…暗号化キー登録部
103…APIリクエスト受信部
104…データ復号化部
105…暗号化キー取得部
106…データ記憶部
107…データ暗号化部
108…APIレスポンス送信部
20…APIゲートウェイ装置
201…暗号化キー受信部
202…暗号化キー記憶部
203…暗号化キー送信部
204…APIリクエスト受信部
205…APIリクエスト送信部
206…APIレスポンス受信部
207…APIレスポンス送信部
30…アプリケーション装置
301…暗号化キー取得部
302…キー情報記憶部
303…データ記憶部
304…データ暗号化部
305…APIリクエスト送信部
306…暗号化キー登録部
307…APIレスポンス受信部
308…データ復号化部
DESCRIPTION OF
Claims (4)
前記イネーブラ装置は、
自身宛てのAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録する登録部を備え、
前記APIゲートウェイ装置は、
前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信する送信部を備え、
前記アプリケーションは、
前記APIゲートウェイ装置から受信した前記暗号化キーでAPIリクエストに含めるデータを暗号化する暗号化部を備える、
ことを特徴とするAPIシステム。 In an API system comprising: an enabler device that provides a function in response to an API request; an API gateway device that provides an API of the enabler device; and an application device that includes an application that transmits the API request.
The enabler device is
A registration unit for registering an encryption key for encrypting data included in an API request addressed to the API request to the API gateway device;
The API gateway device
A transmission unit that transmits the encryption key registered in itself according to access from the application to the application;
The application is
An encryption unit that encrypts data to be included in an API request with the encryption key received from the API gateway device;
An API system characterized by this.
前記アプリケーションは、
自身宛てのAPIレスポンス又はAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録する登録部を備え、
前記APIゲートウェイ装置は、
前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信する送信部を備え、
前記イネーブラ装置は、
前記APIゲートウェイ装置から受信した前記暗号化キーでAPIレスポンス又はAPIリクエストに含めるデータを暗号化する暗号化部を備える、
ことを特徴とするAPIシステム。 In an API system comprising: an enabler device that provides a function in response to an API request; an API gateway device that provides an API of the enabler device; and an application device that includes an application that transmits the API request.
The application is
A registration unit that registers an API response addressed to itself or an encryption key for encrypting data included in the API request in the API gateway device;
The API gateway device
A transmission unit that transmits the encryption key registered to the enabler device in response to access from the enabler device;
The enabler device is
An encryption unit that encrypts data included in an API response or API request with the encryption key received from the API gateway device;
An API system characterized by this.
前記イネーブラ装置に、
自身宛てのAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録するステップを実行させ、
前記APIゲートウェイ装置に、
前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信するステップを実行させ、
前記アプリケーションに、
前記APIゲートウェイ装置から受信した前記暗号化キーでAPIリクエストに含めるデータを暗号化するステップを実行させる、
ことを特徴とするAPIシステムのデータ暗号化方法。 Data encryption performed by an API system including an enabler device that provides a function in response to an API request, an API gateway device that provides an API of the enabler device, and an application device that includes an application that transmits the API request In the method
In the enabler device,
Registering an encryption key for encrypting data to be included in an API request addressed to the API gateway device;
In the API gateway device,
Sending the encryption key registered to itself in response to access from the application to the application;
In the application,
Encrypting data to be included in an API request with the encryption key received from the API gateway device;
A data encryption method for an API system.
前記アプリケーションに、
自身宛てのAPIレスポンス又はAPIリクエストに含めるデータを暗号化するための暗号化キーを前記APIゲートウェイ装置に登録するステップを実行させ、
前記APIゲートウェイ装置に、
前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信するステップを実行させ、
前記イネーブラ装置に、
前記APIゲートウェイ装置から受信した前記暗号化キーでAPIレスポンス又はAPIリクエストに含めるデータを暗号化するステップを実行させる、
ことを特徴とするAPIシステムのデータ暗号化方法。 Data encryption performed by an API system including an enabler device that provides a function in response to an API request, an API gateway device that provides an API of the enabler device, and an application device that includes an application that transmits the API request In the method
In the application,
Registering an API response addressed to itself or an encryption key for encrypting data included in the API request in the API gateway device;
In the API gateway device,
Sending the encryption key registered to itself in response to access from the enabler device to the enabler device;
In the enabler device,
Encrypting data included in an API response or API request with the encryption key received from the API gateway device;
A data encryption method for an API system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016159544A JP6603632B2 (en) | 2016-08-16 | 2016-08-16 | API system and data encryption method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016159544A JP6603632B2 (en) | 2016-08-16 | 2016-08-16 | API system and data encryption method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018029241A true JP2018029241A (en) | 2018-02-22 |
JP6603632B2 JP6603632B2 (en) | 2019-11-06 |
Family
ID=61249225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016159544A Active JP6603632B2 (en) | 2016-08-16 | 2016-08-16 | API system and data encryption method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6603632B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090039A (en) * | 1998-09-14 | 2000-03-31 | Sony Corp | Music distributing method, transmitting device and method and reproducing device and method |
JP2001134534A (en) * | 1999-11-08 | 2001-05-18 | Ntt Communications Kk | Authentication delegate method, authentication delegate service system, authentication delegate server device, and client device |
JP2006121510A (en) * | 2004-10-22 | 2006-05-11 | Fujitsu Ltd | Encryption communications system |
WO2015157502A1 (en) * | 2014-04-09 | 2015-10-15 | Convida Wireless, Llc | Service enabler function |
JP2016509726A (en) * | 2013-01-22 | 2016-03-31 | アマゾン・テクノロジーズ、インコーポレイテッド | Protecting the results of privileged computing operations |
-
2016
- 2016-08-16 JP JP2016159544A patent/JP6603632B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090039A (en) * | 1998-09-14 | 2000-03-31 | Sony Corp | Music distributing method, transmitting device and method and reproducing device and method |
JP2001134534A (en) * | 1999-11-08 | 2001-05-18 | Ntt Communications Kk | Authentication delegate method, authentication delegate service system, authentication delegate server device, and client device |
JP2006121510A (en) * | 2004-10-22 | 2006-05-11 | Fujitsu Ltd | Encryption communications system |
JP2016509726A (en) * | 2013-01-22 | 2016-03-31 | アマゾン・テクノロジーズ、インコーポレイテッド | Protecting the results of privileged computing operations |
WO2015157502A1 (en) * | 2014-04-09 | 2015-10-15 | Convida Wireless, Llc | Service enabler function |
Non-Patent Citations (2)
Title |
---|
鈴木 彩,他: "サービス連携機能によるAPIの高付加価値化に関する一考察", 電子情報通信学会技術研究報告, vol. 115, no. 404, JPN6019020147, 14 January 2016 (2016-01-14), JP, pages 75 - 80, ISSN: 0004047278 * |
高橋 真由美: "B2B2Xビジネスモデル活性化を目指したAPI活用の取り組み", NTT技術ジャーナル, vol. 第27巻,第10号, JPN6019020150, 1 October 2015 (2015-10-01), pages 56 - 58, ISSN: 0004047279 * |
Also Published As
Publication number | Publication date |
---|---|
JP6603632B2 (en) | 2019-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9246678B2 (en) | Secure cloud storage and encryption management system | |
KR20160083128A (en) | Method and system for encrypted communications | |
US11178122B2 (en) | Data encryption and decryption method and system | |
US10063655B2 (en) | Information processing method, trusted server, and cloud server | |
CN1798021B (en) | Communication supporting server, method and system | |
CN112291268B (en) | Information transmission method, device, equipment and storage medium | |
EP2775745A1 (en) | Method and system for providing information using a consent procedure executed by means of near-field communication | |
KR101541165B1 (en) | Mobile message encryption method, computer readable recording medium recording program performing the method and download server storing the method | |
JP2007058487A (en) | Log-in information management device and method | |
KR20160040399A (en) | Personal Information Management System and Personal Information Management Method | |
CN117041956A (en) | Communication authentication method, device, computer equipment and storage medium | |
JP5678150B2 (en) | User terminal, key management system, and program | |
JP6603632B2 (en) | API system and data encryption method | |
KR20190007336A (en) | Method and apparatus for generating end-to-end security channel, and method and apparatus for transmitting/receiving secure information using security channel | |
KR101701625B1 (en) | Method and system for reproducing contents by secure acquiring decryption key for encrypted contents | |
CN114428973A (en) | De-identified information transmission method, device, equipment and computer readable medium | |
CN113961931A (en) | Adb tool using method and device and electronic equipment | |
WO2019179240A1 (en) | Method and terminal for establishing security infrastructure and device | |
JP7406777B1 (en) | Network storage that processes encrypted files while keeping the private key hidden on the key terminal | |
CN109167801A (en) | Encrypted data communication system | |
JP4989996B2 (en) | Service use identification information generation apparatus, service use identification information generation system, service use identification information generation method, and program | |
CN115865532B (en) | Communication processing method and device for offline service data | |
JP4945265B2 (en) | Service use identification information generation apparatus, service use identification information generation system, service use identification information generation method, and program | |
TW201616831A (en) | Cloud storage service method in keymap access mode | |
JP2008011097A (en) | Attribute authentication method, key management apparatus, service provision destination apparatus, service provision source apparatus, and attribute authentication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190725 |
|
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: 20191008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6603632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |