(57)【要約】【課題】ＡＰＩリクエスト又はＡＰＩレスポンスに含めるデータに対して効率的にセキュリティを担保する。【解決手段】イネーブラ装置１０は、自身宛てのＡＰＩリクエストに含めるデータを暗号化するための暗号化キーをＡＰＩゲートウェイ装置２０に登録し（ステップＳ１０１）、アプリケーション装置３０のアプリケーションは、ＡＰＩゲートウェイ装置２０に登録された暗号化キーを取得し（ステップＳ１０２）、その暗号化キーでＡＰＩリクエストに含めるデータを暗号化する（ステップＳ１０３）。【選択図】図５
2018029241.tif 000002
【特許請求の範囲】
【請求項１】
ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムにおいて、
前記イネーブラ装置は、
自身宛てのＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録する登録部を備え、
前記ＡＰＩゲートウェイ装置は、
前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信する送信部を備え、
前記アプリケーションは、
前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩリクエストに含めるデータを暗号化する暗号化部を備える、
ことを特徴とするＡＰＩシステム。
【請求項２】
ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムにおいて、
前記アプリケーションは、
自身宛てのＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録する登録部を備え、
前記ＡＰＩゲートウェイ装置は、
前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信する送信部を備え、
前記イネーブラ装置は、
前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化する暗号化部を備える、
ことを特徴とするＡＰＩシステム。
【請求項３】
ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムで行うデータ暗号化方法において、
前記イネーブラ装置に、
自身宛てのＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録するステップを実行させ、
前記ＡＰＩゲートウェイ装置に、
前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信するステップを実行させ、
前記アプリケーションに、
前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩリクエストに含めるデータを暗号化するステップを実行させる、
ことを特徴とするＡＰＩシステムのデータ暗号化方法。
【請求項４】
ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムで行うデータ暗号化方法において、
前記アプリケーションに、
自身宛てのＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録するステップを実行させ、
前記ＡＰＩゲートウェイ装置に、
前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信するステップを実行させ、
前記イネーブラ装置に、
前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化するステップを実行させる、
ことを特徴とするＡＰＩシステムのデータ暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＰＩリクエスト又はＡＰＩレスポンスに含めるデータを暗号化する技術に関する。
【背景技術】
【０００２】
現在、サービスを構成する機能をできる限り小さい粒度の部品に分離・素材化し、その機能をＡＰＩ（Application Program Interface）として提供するＡＰＩ提供システムが考案されている。このようなＡＰＩ提供システムは、例えば、アプリケーションが用いる各機能をそれぞれ提供する複数のイネーブラ装置と、各機能のＡＰＩを提供するＡＰＩゲートウェイ装置と、を備えて構成される。
【０００３】
上記ＡＰＩ提供システムは、アプリケーション開発者に提供され、アプリケーション開発者は、そのＡＰＩ提供システムを用いて上記ＡＰＩを活用したアプリケーションを開発する。そのため、ＡＰＩゲートウェイ装置は、開発者ポータルサイトの機能を含む。
【０００４】
ここで、開発されるアプリケーションの動作について概説する。例えば、イネーブラ装置Ａが提供する機能ａを利用するアプリケーションが開発された場合、そのアプリケーションは、上記機能ａを要求するためのＡＰＩリクエストをＡＰＩゲートウェイ装置へ送信する。ＡＰＩゲートウェイ装置は、ＡＰＩリクエストで要求された機能ａを持つイネーブラ装置Ａへ該当のＡＰＩを介してＡＰＩリクエストを転送する。その後、そのイネーブラ装置Ａは、受信したＡＰＩリクエストに応じて自身が備える機能ａを要求元のアプリケーション装置に提供する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４９０２６３３号公報
【特許文献２】特許第５３０９３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アプリケーションがＡＰＩゲートウェイ装置へ送信するＡＰＩリクエストには、例えば、要求機能を識別する機能ＩＤ、アプリケーションを認証するためのＡＰＩキー等に加えて、アプリケーションの利用者等に関する個人情報等の秘匿データが含まれる場合がある。例えば、イネーブラ装置Ａがユーザ単位に住所録を管理する機能ａを提供し、イネーブラ装置Ｂが電話発信・切断する機能ｂを提供する場合において、住所録から連絡を取りたい相手の電話番号を取得して電話発信するアプリケーションが開発された場合、そのアプリケーションは、その相手の電話番号をＡＰＩリクエストに含めてＡＰＩゲートウェイ装置へ送信することになる。また、ＡＰＩリクエストのみならず、ＡＰＩゲートウェイ装置がアプリケーションへ送信するＡＰＩレスポンスにも秘匿データが含まれる場合がある。
【０００７】
しかし、現時点において、ＡＰＩ利用者であるアプリケーションとＡＰＩ提供システムとの間で送受信される秘匿データに対する暗号化キーを双方で共有する仕組みが確立されていない。そのため、アプリケーションとＡＰＩ提供システムとの間で独自に暗号化キーを管理・配布しなければならかった。上記特許文献１，２には上記ＡＰＩ提供システムに類似するシステムが考案されているが、その仕組みについては言及されていない。
【０００８】
本発明は、上記事情を鑑みてなされたものであり、ＡＰＩリクエスト又はＡＰＩレスポンスに含めるデータに対して効率的にセキュリティを担保することを目的とする。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、請求項１に係るＡＰＩシステムは、ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムにおいて、前記イネーブラ装置は、自身宛てのＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録する登録部を備え、前記ＡＰＩゲートウェイ装置は、前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信する送信部を備え、前記アプリケーションは、前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩリクエストに含めるデータを暗号化する暗号化部を備える、ことを要旨とする。
【００１０】
請求項２に係るＡＰＩシステムは、ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムにおいて、前記アプリケーションは、自身宛てのＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録する登録部を備え、前記ＡＰＩゲートウェイ装置は、前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信する送信部を備え、前記イネーブラ装置は、前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化する暗号化部を備える、ことを要旨とする。
【００１１】
請求項３に係るデータ暗号化方法は、ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムで行うデータ暗号化方法において、前記イネーブラ装置に、自身宛てのＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録するステップを実行させ、前記ＡＰＩゲートウェイ装置に、前記アプリケーションからのアクセスに応じて自身に登録された前記暗号化キーを前記アプリケーションへ送信するステップを実行させ、前記アプリケーションに、前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩリクエストに含めるデータを暗号化するステップを実行させる、ことを要旨とする。
【００１２】
請求項４に係るデータ暗号化方法は、ＡＰＩリクエストに応じて機能を提供するイネーブラ装置と、前記イネーブラ装置のＡＰＩを提供するＡＰＩゲートウェイ装置と、前記ＡＰＩリクエストを送信するアプリケーションを備えたアプリケーション装置と、を備えたＡＰＩシステムで行うデータ暗号化方法において、前記アプリケーションに、自身宛てのＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化するための暗号化キーを前記ＡＰＩゲートウェイ装置に登録するステップを実行させ、前記ＡＰＩゲートウェイ装置に、前記イネーブラ装置からのアクセスに応じて自身に登録された前記暗号化キーを前記イネーブラ装置へ送信するステップを実行させ、前記イネーブラ装置に、前記ＡＰＩゲートウェイ装置から受信した前記暗号化キーでＡＰＩレスポンス又はＡＰＩリクエストに含めるデータを暗号化するステップを実行させる、ことを要旨とする。
【発明の効果】
【００１３】
本発明によれば、ＡＰＩリクエスト又はＡＰＩレスポンスに含めるデータに対して効率的にセキュリティを担保することができる。
【図面の簡単な説明】
【００１４】
【図１】ＡＰＩシステムの全体構成を示す図である。
【図２】第１の実施の形態に係るイネーブラ装置の機能ブロック構成を示す図である。
【図３】第１の実施の形態に係るＡＰＩゲートウェイ装置の機能ブロック構成を示す図である。
【図４】第１の実施の形態に係るアプリケーション装置のアプリケーションが備える機能ブロック構成を示す図である。
【図５】第１の実施の形態に係るデータ暗号化方法の動作を示す図である。
【図６】第２の実施の形態に係るアプリケーション装置のアプリケーションが備える機能ブロック構成を示す図である。
【図７】第２の実施の形態に係るＡＰＩゲートウェイ装置の機能ブロック構成を示す図である。
【図８】第２の実施の形態に係るイネーブラ装置の機能ブロック構成を示す図である。
【図９】第２の実施の形態に係るデータ暗号化方法の動作を示す図である。
【発明を実施するための形態】
【００１５】
本発明は、ＡＰＩゲートウェイ装置がＡＰＩリクエスト又はＡＰＩレスポンスのデータを暗号化するための暗号化キーを払い出す機能を備えることを特徴とする。これにより、アプリケーションとＡＰＩ提供システムとの間で独自に暗号化キーを管理・配布する必要がなくなり、ＡＰＩレスポンスのデータに対して効率的にセキュリティを担保することができる。以下、本発明を実施する一実施の形態について図面を用いて説明する。
【００１６】
＜第１の実施の形態＞
第１の実施の形態では、アプリケーションからＡＰＩ提供システムへ送信されるＡＰＩリクエストのデータを暗号化する方法について説明する。
【００１７】
図１は、第１の実施の形態に係るＡＰＩシステムの全体構成を示す図である。ＡＰＩシステム１は、イネーブラ装置１０と、ＡＰＩゲートウェイ装置２０を備えるＡＰＩ提供システムと、アプリケーション装置３０と、を備えて構成される。
【００１８】
イネーブラ装置１０は、ＡＰＩリクエストに応じて自身が備える機能を提供する装置である。具体的には、機能ａを提供するイネーブラ装置１０、機能ａとは異なる機能ｎを提供するイネーブラ装置１０等、少なくとも１つ以上のイネーブラ装置により構成される。例えば、イネーブラ装置Ａは、ユーザ単位に住所録（住所、氏名、電話番号、所定サービスのＩＤ等）を管理するデータベースの機能ａを提供し、イネーブラ装置Ｂは、電話発信・切断する機能ｂを提供し、イネーブラ装置Ｃは、メッセージを送信する機能ｃを提供する。
【００１９】
図２は、本実施の形態に係るイネーブラ装置１０の機能ブロック構成を示す図である。本実施の形態に係るイネーブラ装置１０は、上記既存機能（ＡＰＩリクエストに応じて自身が備える機能を提供する機能）に加えて、キー情報記憶部１０１と、暗号化キー登録部１０２と、ＡＰＩリクエスト受信部１０３と、データ復号化部１０４と、を備えて構成される。
【００２０】
キー情報記憶部１０１は、予め生成された対を成す暗号化キー及び復号化キーを記憶しておく機能を備える。
【００２１】
暗号化キー登録部１０２は、自身宛てのＡＰＩリクエストに含めるデータを暗号化させるため、キー情報記憶部１０１から暗号化キーを読み出して、その暗号化キーをＡＰＩゲートウェイ装置２０に登録する機能を備える。
【００２２】
ＡＰＩリクエスト受信部１０３は、ＡＰＩゲートウェイ装置２０を介してアプリケーション装置３０のアプリケーションから送信されたＡＰＩリクエストを受信する機能を備える。
【００２３】
データ復号化部１０４は、ＡＰＩリクエスト受信部１０３で受信したＡＰＩリクエストからデータ（＝暗号化された秘匿データ）を取得し、ＡＰＩゲートウェイ装置２０に登録していた暗号化キーに対応する復号化キーをキー情報記憶部１０１から読み出して、この復号化キーで上記暗号化された秘匿データを復号する機能を備える。
【００２４】
次に、ＡＰＩゲートウェイ装置２０について説明する。ＡＰＩゲートウェイ装置２０は、イネーブラ装置１０のＡＰＩを提供する装置であり、アプリケーションが各ＡＰＩをコールするためのエンドポイントが実装されている。例えば、上記例の場合、ＡＰＩゲートウェイ装置２０は、住所録への情報の登録・取得・変更・削除を行うＡＰＩ（イネーブラ装置ＡのＡＰＩ）、電話発信・切断を行うＡＰＩ（イネーブラ装置ＢのＡＰＩ）、メッセージ送信を行うＡＰＩ（イネーブラ装置ＣのＡＰＩ）、をアプリケーションに提供し、アプリケーションから送信されたＡＰＩリクエストを該当のＡＰＩを介して該当のイネーブラ装置１０へ転送する。
【００２５】
図３は、本実施の形態に係るＡＰＩゲートウェイ装置２０の機能ブロック構成を示す図である。本実施の形態に係るＡＰＩゲートウェイ装置２０は、暗号化キー受信部２０１と、暗号化キー記憶部２０２と、暗号化キー送信部２０３と、ＡＰＩリクエスト受信部２０４と、ＡＰＩリクエスト送信部２０５と、を備えて構成される。
【００２６】
暗号化キー受信部２０１は、イネーブラ装置１０での登録処理によりイネーブラ装置１０から送信された暗号化キーを受信する機能を備える。
【００２７】
暗号化キー記憶部２０２は、暗号化キー受信部２０１で受信した暗号化キーを送信元のイネーブラ装置１０のＩＤに関連付けて記憶する機能を備える。
【００２８】
暗号化キー送信部２０３は、アプリケーションからのアクセスに応じて該当の暗号化キーをアプリケーションへ送信する機能を備える。
【００２９】
ＡＰＩリクエスト受信部２０４は、アプリケーションから送信されたＡＰＩリクエストを受信する機能を備える。
【００３０】
ＡＰＩリクエスト送信部２０５は、ＡＰＩリクエスト受信部２０４でＡＰＩリクエストを受信した後、そのＡＰＩリクエストで要求された機能を持つイネーブラ装置１０へ該当のＡＰＩを介してＡＰＩリクエストを送信する機能を備える。
【００３１】
なお、ＡＰＩゲートウェイ装置２０は、アプリケーションが複数のイネーブラ装置１０へアクセスする際の利便性を高めるため、上述した通り、複数のイネーブラ装置１０の各ＡＰＩを一元化して管理している。それゆえ、アプリケーションの開発時にどのような機能のＡＰＩを利用可能であるかを開発者に提示するため、ＡＰＩゲートウェイ装置２０には、各ＡＰＩの仕様・使い方を記載したドキュメント等が登録されている。
【００３２】
次に、アプリケーション装置３０について説明する。アプリケーション装置３０は、ＡＰＩリクエストを送信し、ＡＰＩレスポンスを受信するアプリケーションを備えた端末である。ここで、アプリケーションとは、背景技術で説明した通り、ＡＰＩ提供システム（ここでは、１つ以上のイネーブラ装置１０とＡＰＩゲートウェイ装置２０）を用い各ＡＰＩを活用して開発されたアプリケーションである。例えば、上記例の場合、イネーブラ装置Ａの機能ａを用いて住所録から連絡を取りたい相手の電話番号を取得し、イネーブラ装置Ｂの機能ｂを用いて電話発信を行い、更にイネーブラ装置Ｃの機能ｃを用いてメッセージ送信を行うアプリケーションである。
【００３３】
図４は、本実施の形態に係るアプリケーション装置３０のアプリケーションが備える機能ブロック構成を示す図である。このアプリケーションは、上記既存機能（１つ以上のイネーブラ装置１０の各機能を用いてサービスを提供する機能）に加えて、暗号化キー取得部３０１と、キー情報記憶部３０２と、データ記憶部３０３と、データ暗号化部３０４と、ＡＰＩリクエスト送信部３０５と、を備えて構成される。
【００３４】
暗号化キー取得部３０１は、ＡＰＩリクエストを送信する前に、そのＡＰＩリクエストで要求する機能を持つイネーブラ装置１０により登録された暗号化キーをＡＰＩゲートウェイ装置２０から取得する機能を備える。
【００３５】
キー情報記憶部３０２は、暗号化キー取得部３０１で取得した暗号化キーを記憶する機能を備える。
【００３６】
データ記憶部３０３は、ＡＰＩリクエストに含めるデータ（個人情報等の秘匿データ）を記憶する機能を備える。
【００３７】
データ暗号化部３０４は、ＡＰＩリクエストにデータを含めて送信する場合、キー情報記憶部３０２から暗号化キーを読み出して、その暗号化キーでＡＰＩリクエストに含めるデータを暗号化する機能を備える。
【００３８】
ＡＰＩリクエスト送信部３０５は、データ暗号化部３０４で暗号化されたデータを含めたＡＰＩリクエストをＡＰＩゲートウェイ装置２０へ送信する機能を備える。
【００３９】
次に、本実施の形態に係るＡＰＩシステムで行うデータ暗号化方法について説明する。図５は、本実施の形態に係るデータ暗号化方法の動作を示す図である。本実施の形態では、ＡＰＩリクエストに含めるデータを暗号化する。
【００４０】
まず、ステップＳ１０１において、イネーブラ装置１０は、自身宛てのＡＰＩリクエストに含めるデータを暗号化させるための暗号化キーをＡＰＩゲートウェイ装置２０に登録する。
【００４１】
次に、ステップＳ１０２において、アプリケーション装置３０のアプリケーションは、ＡＰＩリクエストを送信する前に、そのＡＰＩリクエストで要求する機能を持つイネーブラ装置１０により登録された暗号化キーをＡＰＩゲートウェイ装置２０から取得する。このとき、ＡＰＩゲートウェイ装置２０では、アプリケーションを認証するためのＡＰＩキーに加えて、該当のイネーブラ装置１０のＩＤに対応する暗号化キーをアプリケーションへ払い出す処理を行うことになる。
【００４２】
次に、ステップＳ１０３において、アプリケーション装置３０のアプリケーションは、ＡＰＩゲートウェイ装置２０から取得した暗号化キーでＡＰＩリクエストに含めるデータを暗号化する。
【００４３】
次に、ステップＳ１０４において、アプリケーション装置３０のアプリケーションは、暗号化キーで暗号化したデータをＡＰＩリクエストのボディ部に含めてＡＰＩゲートウェイ装置２０へ送信する。
【００４４】
次に、ステップＳ１０５において、ＡＰＩゲートウェイ装置２０は、アプリケーションからＡＰＩリクエストを受信した後、そのＡＰＩリクエストで要求された機能を持つイネーブラ装置１０へ該当のＡＰＩを介してＡＰＩリクエストを送信する。
【００４５】
最後に、ステップＳ１０６において、イネーブラ装置１０は、ＡＰＩゲートウェイ装置２０からＡＰＩリクエストを受信した後、そのＡＰＩリクエストから暗号化されたデータを取得し、ＡＰＩゲートウェイ装置２０に登録していた暗号化キーに対応する復号化キーで上記暗号化されたデータを復号する。
【００４６】
すなわち、本実施の形態によれば、イネーブラ装置１０が、自身宛てのＡＰＩリクエストに含めるデータを暗号化するための暗号化キーをＡＰＩゲートウェイ装置２０に登録し、ＡＰＩゲートウェイ装置２０は、アプリケーションからのアクセスに応じて自身に登録された暗号化キーをアプリケーションへ送信し、アプリケーションは、ＡＰＩゲートウェイ装置２０から受信した暗号化キーでＡＰＩリクエストに含めるデータを暗号化することになる。
【００４７】
つまり、ＡＰＩゲートウェイ装置２０がデータを暗号化するための暗号化キーを払い出す機能を備え、アプリケーションはＡＰＩゲートウェイ装置２０で払い出された暗号化キーでＡＰＩリクエストのデータを暗号化するので、アプリケーションとＡＰＩ提供システム（ここでは、イネーブラ装置１０とＡＰＩゲートウェイ装置２０）との間で独自に暗号化キーを管理・配布する必要がなくなり、ＡＰＩリクエストのデータに対して効率的にセキュリティを担保することができる。
【００４８】
＜第２の実施の形態＞
第２の実施の形態では、ＡＰＩ提供システムからアプリケーションへ送信されるＡＰＩレスポンス又はＡＰＩリクエストのデータを暗号化する方法について説明する。本実施の形態に係るＡＰＩシステムの全体構成は、図１に示した全体構成と同様である。
【００４９】
図６は、本実施の形態に係るアプリケーション装置３０のアプリケーションが備える機能ブロック構成を示す図である。このアプリケーションは、第１の実施の形態で説明した機能部に加え、暗号化キー登録部３０６と、ＡＰＩレスポンス受信部３０７と、データ復号化部３０８と、を更に備えて構成される。
【００５０】
キー情報記憶部３０２は、予め生成された対を成す暗号化キー及び復号化キーを記憶しておく機能を備える。
【００５１】
暗号化キー登録部３０６は、自身宛てのＡＰＩレスポンスに含めるデータを暗号化させるため、キー情報記憶部３０２から暗号化キーを読み出して、その暗号化キーをＡＰＩゲートウェイ装置２０に登録する機能を備える。
【００５２】
ＡＰＩリクエスト送信部３０５は、ＡＰＩリクエストを送信する機能を備える。
【００５３】
ＡＰＩレスポンス受信部３０７は、ＡＰＩゲートウェイ装置２０を介してイネーブラ装置１０から送信されたＡＰＩレスポンスを受信する機能を備える。
【００５４】
データ復号化部３０８は、ＡＰＩレスポンス受信部３０７で受信したＡＰＩレスポンスからデータ（＝暗号化された秘匿データ）を取得し、ＡＰＩゲートウェイ装置２０に登録していた暗号化キーに対応する復号化キーをキー情報記憶部３０２から読み出して、この復号化キーで上記暗号化された秘匿データを復号する機能を備える。
【００５５】
データ記憶部３０３は、データ復号化部３０８で復号された秘匿データを記憶する機能を備える。
【００５６】
図７は、本実施の形態に係るＡＰＩゲートウェイ装置２０が備える機能ブロック構成を示す図である。本実施の形態に係るＡＰＩゲートウェイ装置２０は、第１の実施の形態で説明した機能部に加え、ＡＰＩレスポンス受信部２０６と、ＡＰＩレスポンス送信部２０７と、を更に備えて構成される。
【００５７】
暗号化キー受信部２０１は、アプリケーションでの登録処理によりアプリケーションから送信された暗号化キーを受信する機能を備える。
【００５８】
暗号化キー記憶部２０２は、暗号化キー受信部２０１で受信した暗号化キーを送信元のアプリケーションのＩＤに関連付けて記憶する機能を備える。
【００５９】
暗号化キー送信部２０３は、イネーブラ装置１０からのアクセスに応じて該当の暗号化キーをイネーブラ装置１０へ送信する機能を備える。
【００６０】
ＡＰＩリクエスト受信部２０４は、アプリケーションから送信されたＡＰＩリクエストを受信する機能を備える。
【００６１】
ＡＰＩリクエスト送信部２０５は、ＡＰＩリクエスト受信部２０４でＡＰＩリクエストを受信した後、そのＡＰＩリクエストで要求された機能を持つイネーブラ装置１０へ該当のＡＰＩを介してＡＰＩリクエストを送信する機能を備える。
【００６２】
ＡＰＩレスポンス受信部２０６は、イネーブラ装置１０から送信されたＡＰＩレスポンスを受信する機能を備える。
【００６３】
ＡＰＩレスポンス送信部２０７は、ＡＰＩレスポンス受信部２０６でＡＰＩレスポンスを受信した後、そのＡＰＩレスポンスを該当のアプリケーションへ送信する機能を備える。
【００６４】
図８は、本実施の形態に係るイネーブラ装置１０の機能ブロック構成を示す図である。本実施の形態に係るイネーブラ装置１０は、第１の実施の形態で説明した機能部に加え、暗号化キー取得部１０５と、データ記憶部１０６と、データ暗号化部１０７と、ＡＰＩレスポンス送信部１０８と、を更に備えて構成される。
【００６５】
暗号化キー取得部１０５は、ＡＰＩレスポンスを送信する前に、そのＡＰＩレスポンスを送信する送信先のアプリケーションにより登録された暗号化キーをＡＰＩゲートウェイ装置２０から取得する機能を備える。
【００６６】
キー情報記憶部１０１は、暗号化キー取得部１０５で取得した暗号化キーを記憶する機能を備える。
【００６７】
ＡＰＩリクエスト受信部１０３は、ＡＰＩゲートウェイ装置２０を介してアプリケーションから送信されたＡＰＩリクエストを受信する機能を備える。
【００６８】
データ記憶部１０６は、ＡＰＩレスポンスに含めるデータ（個人情報等の秘匿データ）を記憶する機能を備える。
【００６９】
データ暗号化部１０７は、ＡＰＩレスポンスにデータを含めて送信する場合、キー情報記憶部３０２から暗号化キーを読み出して、その暗号化キーでＡＰＩレスポンスに含めるデータを暗号化する機能を備える。
【００７０】
ＡＰＩレスポンス送信部１０８は、データ暗号化部１０７で暗号化されたデータを含めたＡＰＩレスポンスをＡＰＩゲートウェイ装置２０へ送信する機能を備える。
【００７１】
次に、本実施の形態に係るＡＰＩシステムで行うデータ暗号化方法について説明する。図９は、本実施の形態に係るデータ暗号化方法の動作を示す図である。本実施の形態では、ＡＰＩレスポンスに含めるデータを暗号化する。
【００７２】
まず、ステップＳ２０１において、アプリケーション装置３０のアプリケーションは、自身宛てのＡＰＩレスポンスに含めるデータを暗号化させるための暗号化キーをＡＰＩゲートウェイ装置２０に登録する。
【００７３】
次に、ステップＳ２０２において、イネーブラ装置１０は、ＡＰＩレスポンスを送信する前に、そのＡＰＩレスポンスを送信する送信先のアプリケーションにより登録された暗号化キーをＡＰＩゲートウェイ装置２０から取得する。このとき、ＡＰＩゲートウェイ装置２０では、該当のアプリケーションのＩＤに対応する暗号化キーをイネーブラ装置１０へ払い出す処理を行うことになる。
【００７４】
次に、ステップＳ２０３において、アプリケーション装置３０のアプリケーションは、ＡＰＩリクエストをＡＰＩゲートウェイ装置２０へ送信する。
【００７５】
次に、ステップＳ２０４において、ＡＰＩゲートウェイ装置２０は、アプリケーションからＡＰＩリクエストを受信した後、そのＡＰＩリクエストで要求された機能を持つイネーブラ装置１０へ該当のＡＰＩを介してＡＰＩリクエストを送信する。
【００７６】
次に、ステップＳ２０５において、イネーブラ装置１０は、ＡＰＩゲートウェイ装置２０からＡＰＩリクエストを受信した後、ＡＰＩゲートウェイ装置２０から取得していた暗号化キーでＡＰＩレスポンスに含めるデータを暗号化する。
【００７７】
次に、ステップＳ２０６において、イネーブラ装置１０は、暗号化キーで暗号化したデータをＡＰＩレスポンスのボディ部に含めてＡＰＩゲートウェイ装置２０へ送信する。
【００７８】
次に、ステップＳ２０７において、ＡＰＩゲートウェイ装置２０は、アプリケーションからＡＰＩレスポンスを受信した後、そのＡＰＩレスポンスをＡＰＩリクエストの送信元のアプリケーションへ送信する。
【００７９】
最後に、ステップ２０８において、アプリケーション装置３０のアプリケーションは、ＡＰＩゲートウェイ装置２０からＡＰＩレスポンスを受信した後、そのＡＰＩレスポンスから暗号化されたデータを取得し、ＡＰＩゲートウェイ装置２０に登録していた暗号化キーに対応する復号化キーで上記暗号化されたデータを復号する。
【００８０】
すなわち、本実施の形態によれば、アプリケーションが、自身宛てのＡＰＩレスポンスに含めるデータを暗号化するための暗号化キーをＡＰＩゲートウェイ装置２０に登録し、ＡＰＩゲートウェイ装置２０は、イネーブラ装置１０からのアクセスに応じて自身に登録された暗号化キーをイネーブラ装置１０へ送信し、イネーブラ装置１０は、ＡＰＩゲートウェイ装置２０から受信した暗号化キーでＡＰＩレスポンスに含めるデータを暗号化することになる。
【００８１】
つまり、ＡＰＩゲートウェイ装置２０がデータを暗号化するための暗号化キーを払い出す機能を備え、イネーブラ装置１０はＡＰＩゲートウェイ装置２０で払い出された暗号化キーでＡＰＩレスポンスのデータを暗号化するので、アプリケーションとＡＰＩ提供システム（ここでは、イネーブラ装置１０とＡＰＩゲートウェイ装置２０）との間で独自に暗号化キーを管理・配布する必要がなくなり、ＡＰＩレスポンスのデータに対して効率的にセキュリティを担保することができる。
【００８２】
なお、第１の実施の形態と第２の実施の形態とを組み合わせることも可能である。これにより、ＡＰＩリクエストとＡＰＩレスポンスの各データが共に暗号化されるので、データのセキュリティレベルを高めることができる。
【００８３】
また、第２の実施の形態では、イネーブラ装置１０がアプリケーションへ送信するＡＰＩレスポンスのデータを暗号化する方法について説明した。その一方で、イネーブラ装置１０がアプリケーションへ送信する信号としては、ＡＰＩレスポンス以外に、通知リクエスト等のＡＰＩリクエストも存在する。そのため、第２の実施の形態において、イネーブラ装置１０がアプリケーションへ送信するＡＰＩリクエストのデータを暗号化するようにしてもよい。
【００８４】
最後に、本実施の形態で説明した、イネーブラ装置１０、ＡＰＩゲートウェイ装置２０、アプリケーション装置３０は、ＣＰＵ、メモリ、ハードディスク等を備えたコンピュータ（情報処理装置）で実現できる。また、イネーブラ装置１０、ＡＰＩゲートウェイ装置２０、アプリケーション装置３０としてコンピュータを機能させるためのプログラムや該プログラムの記憶媒体を作成することも可能である。
【符号の説明】
【００８５】
１…ＡＰＩシステム
１０…イネーブラ装置
１０１…キー情報記憶部
１０２…暗号化キー登録部
１０３…ＡＰＩリクエスト受信部
１０４…データ復号化部
１０５…暗号化キー取得部
１０６…データ記憶部
１０７…データ暗号化部
１０８…ＡＰＩレスポンス送信部
２０…ＡＰＩゲートウェイ装置
２０１…暗号化キー受信部
２０２…暗号化キー記憶部
２０３…暗号化キー送信部
２０４…ＡＰＩリクエスト受信部
２０５…ＡＰＩリクエスト送信部
２０６…ＡＰＩレスポンス受信部
２０７…ＡＰＩレスポンス送信部
３０…アプリケーション装置
３０１…暗号化キー取得部
３０２…キー情報記憶部
３０３…データ記憶部
３０４…データ暗号化部
３０５…ＡＰＩリクエスト送信部
３０６…暗号化キー登録部
３０７…ＡＰＩレスポンス受信部
３０８…データ復号化部
【図１】
2018029241.tif 000003
【図２】
2018029241.tif 000004
【図３】
2018029241.tif 000005
【図４】
2018029241.tif 000006
【図５】
2018029241.tif 000007
【図６】
2018029241.tif 000008
【図７】
2018029241.tif 000009
【図８】
2018029241.tif 000010
【図９】
2018029241.tif 000011