(57)【要約】【課題】通信先システムとのアクセス認証情報の連携を行う場合の端末からの通信におけるセキュリティを向上させることを目的とする。【解決手段】通信先システムとアクセス認証情報を連携する通信管理装置は、端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する通信制御部、を含む。【選択図】図２
2018055582.tif 000002
【特許請求の範囲】
【請求項１】
通信先システムとアクセス認証情報を連携する通信管理装置に、
端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する、
処理を実行させることを特徴とする通信管理プログラム。
【請求項２】
前記通信管理装置に、
前記第２情報を前記通信内容から削除し、
前記通信内容に前記第１情報を付加して、前記第１情報が付加された前記通信内容を前記通信先システムに送信する、
処理を実行させることを特徴とする請求項１記載の通信管理プログラム。
【請求項３】
前記通信管理装置に、
前記端末に対する前記認証結果に応じて、認証トークンを前記端末に付与し、
前記端末から受信した前記通信内容に前記第２情報が含まれる場合、該第２情報を削除し、
前記認証トークンに対応する、前記通信先システムと前記通信管理装置との間の認証情報を含む前記第１情報を前記通信内容に付加して、前記第１情報が付加された前記通信内容を前記通信先システムに送信する、
処理を実行させることを特徴とする請求項１記載の通信管理プログラム。
【請求項４】
前記通信管理装置に、
前記認証トークンに対応する識別情報と、前記通信先システムと前記通信管理装置との間の認証情報との対応関係を記憶する記憶部を参照して、前記識別情報に対応する前記通信先システムと前記通信管理装置との間の認証情報を取得し、
取得した前記認証情報を含む前記第１情報を前記通信内容に付加する、
処理を実行させることを特徴とする請求項３記載の通信管理プログラム。
【請求項５】
前記通信管理装置に、
前記通信内容に、認証に関連する複数の認証関連情報が含まれている場合、該複数の認証関連情報のうち前記第２情報のみを削除する、
処理を実行させることを特徴とする請求項１乃至４のうち何れか１項に記載の通信管理プログラム。
【請求項６】
前記通信管理装置に、
前記通信内容に含まれる制御データと実体データとのうち、前記制御データに前記第２情報が含まれている場合に、該第２情報を削除する、
処理を実行させることを特徴とする請求項１乃至５のうち何れか１項に記載の通信管理プログラム。
【請求項７】
通信先システムとアクセス認証情報を連携する通信管理装置が、
端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する、
処理を実行することを特徴とする通信管理方法。
【請求項８】
通信先システムとアクセス認証情報を連携する通信管理装置であって、
端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する通信制御部、
を備えることを特徴とする通信管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信管理プログラム、通信管理方法および通信管理装置に関する。
【背景技術】
【０００２】
例えば、複数の企業等が提供するサービスを、ユーザの端末で実行されるアプリケーションが利用することがある。この際、該アプリケーションは、対象となるシステム（通信先システム）にログインを行い、該通信先システムと通信を行う。通信先システムに対するログインが行われる際、例えば、ID(Identification)等を用いた認証が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１５３９１７号公報
【特許文献２】特開２０１３−１１４６２２号公報
【特許文献３】特開平９−２６５４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザの端末で実行されるアプリケーションが各通信先システムにログインする際に、通信先システムごとに異なるＩＤを使用するのではなく、特定のシステム（認証情報連携システム）に対する認証により、複数の通信先システムにログインする構成がある。
【０００５】
認証情報連携システムは、端末から受信した認証情報に基づいて、該端末から各通信先システムに対する通信の制御を行う。この際、認証情報連携システムは、複数の通信先システムのそれぞれに対して、認証情報を送信する。
【０００６】
該認証情報は、端末から認証情報連携システムに送信される認証情報とは別の認証情報であり、認証情報連携システムから各通信先システムに送信される認証情報である。
【０００７】
認証情報連携システムと通信先システムとの間の認証が成功すると、通信先システムは、認証情報連携システムとの間では、該認証情報連携システムを信頼した通信を行う。従って、通信先システムは、認証情報連携システムから送信された認証情報の正当性を検証することなく、認証情報連携システムとの間で通信を行う。
【０００８】
ここで、端末から認証情報連携システムに送信された通信内容には、認証情報に関連した認証関連情報が含まれている場合がある。上述したように、各通信先システムは、認証情報連携システムから送信された通信内容に含まれる認証関連情報を信頼した通信を行う。
【０００９】
従って、通信先システムは、正当に認証された認証情報ではなく、上記の認証関連情報に基づいて、認証情報連携システムとの間で通信を行うことを許容する場合がある。該通信が許容されると、通信先システムに対して意図しないアクセスが行われ、通信先システムに対する不正なアクセスが成功する可能性がある。
【００１０】
１つの側面として、本発明は、通信先システムとのアクセス認証情報の連携を行う場合の端末からの通信におけるセキュリティを向上させることを目的とする。
【課題を解決するための手段】
【００１１】
１つの態様では、通信管理プログラムは、通信先システムとアクセス認証情報を連携する通信管理装置に、端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する、処理を実行させる。
【発明の効果】
【００１２】
１つの側面によれば、通信先システムとのアクセス認証情報の連携を行う場合の端末からの通信におけるセキュリティを向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態のシステムの全体構成の一例を示す図である。
【図２】通信管理装置の一例を示す図である。
【図３】端末管理テーブルの一例を示す図である。
【図４】ＡＰＩ定義テーブルの一例を示す図である。
【図５】実施形態のデータの流れの一例を示す図である。
【図６】実施形態の通信データの一例を示す図（その１）である。
【図７】実施形態の通信データの一例を示す図（その２）である。
【図８】実施形態の処理の流れの一例を示すシーケンス図（その１）である。
【図９】実施形態の処理の流れの一例を示すシーケンス図（その２）である。
【図１０】変形例の通信管理装置の一例を示す図である。
【図１１】変形例のデータの流れの一例を示す図である。
【図１２】変形例のＡＰＩ定義テーブルの一例を示す図である。
【図１３】バックエンド認証テーブルの一例を示す図である。
【図１４】変形例の通信データの一例を示す図（その１）である。
【図１５】変形例の通信データの一例を示す図（その２）である。
【図１６】変形例の処理の流れの一例を示すシーケンス図である。
【図１７】ヘッダおよびクエリに認証関連情報が含まれる通信データの一例を示す図である。
【図１８】特定パラメータ削除処理の流れの一例を示すフローチャートである。
【図１９】通信管理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
＜実施形態のシステムの全体構成の一例＞
以下、図面を参照して、実施形態について説明する。図１は、実施形態のシステムの全体構成の一例を示す。図１の例において、システムには、複数の端末１（端末１Ａ、端末１Ｂ・・・）と通信管理装置２と複数のバックエンドシステム（第１バックエンドシステム３Ａ、第２バックエンドシステム３Ｂ、・・・）とが含まれる。
【００１５】
各端末１と通信管理装置２とは、第１ネットワーク４を介して、通信可能に接続される。通信管理装置２と各バックエンドシステム３とは、第２ネットワーク５を介して、通信可能に接続される。第１ネットワーク４および第２ネットワーク５は、インターネット網であってもよいし、専用回線等であってもよい。
【００１６】
端末１は、タブレット端末等であってもよいし、パーソナルコンピュータ等の固定端末であってもよい。端末１は、例えば、所定のアプリケーションプログラム（以下、アプリケーションと称する）を実行する。端末１は、１台であってもよいし、複数台であってもよい。
【００１７】
該アプリケーションは、Hyper Text Markup Language(HTML)アプリケーションであってもよい。端末１を操作するユーザが、該端末１に対して所定の操作を行うと、該端末１は、該操作を受け付ける。
【００１８】
通信管理装置２は、端末１とバックエンドシステム３との間の通信を中継する。通信管理装置２は、端末１の認証を行い、認証された端末１からの通信内容に、該通信管理装置２と宛先のバックエンドシステム３との間の認証情報を付加する。
【００１９】
よって、通信管理装置２は、バックエンドシステム３との認証情報（アクセス認証情報）を連携する。通信管理装置２は、認証情報連携システムとも称される。
【００２０】
バックエンドシステム３は、所定のリクエストを受け付けて、該リクエストに応じた処理を実行し、レスポンスを返却する。例えば、バックエンドシステム３は、企業内のイントラネットワークに含まれ、端末１に対して所定のサービスを提供するサーバであってもよい。バックエンドシステム３は、通信先システムの一例である。
【００２１】
バックエンドシステム３は、端末１からのリクエストを直接受信するのではなく、通信管理装置２が端末１からのリクエストを中継し、該通信管理装置２が中継したリクエストを受信する。
【００２２】
＜通信管理装置の一例＞
次に、図２を参照して、通信管理装置２の一例について説明する。例えば、通信管理装置２は、クラウドサービス基盤を提供する。通信管理装置２は、認証基盤部６とゲートウェイ部７と通信部８とを含む。
【００２３】
認証基盤部６は、端末１の認証を行う。認証基盤部６は、例えば、クラウドサービス認証基盤である。認証基盤部６は、端末認証部１１と端末管理テーブル記憶部１２とを含む。端末認証部１１は、端末１の認証リクエストに対して認証を行い、認証トークンを端末１に返信する。これにより、端末１に対して、認証トークンが付与される。
【００２４】
端末管理テーブル記憶部１２は、ユーザIdentification(ID)と認証トークンとの対応関係を記憶する。例えば、端末１を操作するユーザが、所定のアプリケーションを起動する操作を行った場合、端末１は該操作を受け付ける。
【００２５】
アプリケーションが起動した後、Application Programming Interface(API)が呼び出される。実施形態では、ＡＰＩ呼び出し時に、端末１は、通信管理装置２の認証基盤部６に宛てた認証リクエストを送信する。
【００２６】
該認証リクエストには、端末１の認証のためのＩＤとパスワードとが含まれるものとする。認証リクエストは、ＩＤおよびパスワード以外の情報であってもよい。例えば、認証リクエストには、生体情報が含まれていてもよい。
【００２７】
端末認証部１１は、端末１からの認証リクエストに含まれるＩＤとパスワードとに基づいて認証を行い、正当性が検証された端末１に対して、認証トークンを送信する。端末１が認証トークンを受信することで、端末１に認証トークンが付与される。端末１で実行されるアプリケーションは、取得された認証トークンを認識する。
【００２８】
端末認証部１１が認証トークンを送信したことに応じて、該端末認証部１１は、認証の結果により識別されるユーザＩＤと送信した認証トークンとを対応付けて、端末管理テーブル記憶部１２に記憶する。ユーザＩＤは、識別情報の一例である。
【００２９】
上記のユーザＩＤは、端末１から送信される認証リクエストに含まれるＩＤとは異なる情報であり、通信管理装置２が管理するＩＤであるものとする。
【００３０】
ゲートウェイ部７は、端末１とバックエンドシステム３との間の通信を中継する。端末１からバックエンドシステム３に宛てた通信は、ゲートウェイ部７により所定の処理がされる。ゲートウェイ部７は、ＡＰＩゲートウェイとも称される。
【００３１】
ゲートウェイ部７は、判定部２１と通信制御部２２とＡＰＩ定義テーブル記憶部２３とを含む。判定部２１は、端末１からバックエンドシステム３に宛てた通信内容（通信データ）に、通信管理装置２が付加する情報であると宛先のバックエンドシステム３が識別するパラメータ（特定パラメータ）が含まれているかを判定する。
【００３２】
通信制御部２２は、端末１からバックエンドシステム３に宛てた通信データから特定パラメータを削除する。また、通信制御部２２は、端末１からバックエンドシステム３に宛てた通信データのうちバックエンドシステム３へのアクセスに関するアクセス情報を変換する。
【００３３】
ＡＰＩ定義テーブル記憶部２３は、アクセス情報を変換する際に参照されるテーブル（ＡＰＩ定義テーブル）を記憶する。通信制御部２２は、ＡＰＩ定義テーブルを参照して、アクセス情報を変換する。
【００３４】
通信部８は、第１ネットワーク４または第２ネットワーク５を介した通信を行う。図２の例において、認証基盤部６とゲートウェイ部７とは通信管理装置２に含まれる。認証基盤部６とゲートウェイ部７とは、仮想マシンにより実現されてもよい。また、認証基盤部６とゲートウェイ部７とは別個の装置であってもよい。
【００３５】
＜各種テーブルの一例＞
図３は、上記のユーザＩＤと認証トークンとの対応関係を示す端末管理テーブルの例である。端末管理テーブルは、ナンバーとユーザＩＤと認証トークンとの項目を含む。端末認証部１１が端末１に対して認証トークンを送信した場合、端末認証部１１は、ナンバーとユーザＩＤと認証トークンとを対応付けて、端末管理テーブルに記録する。ナンバーは重複しない自然数とする。
【００３６】
図４は、ＡＰＩ定義テーブル記憶部２３が記憶するＡＰＩ定義テーブルの例を示す。図４の例に示されるように、ＡＰＩ定義テーブルは、ナンバーとＡＰＩエントリとバックエンドUniform Resource Locator（URL）と認証に使うパラメータとの項目を含む。
【００３７】
ＡＰＩエントリは、端末１から送信された通信のうち、ＵＲＬに含まれる情報である。バックエンドＵＲＬは、ＡＰＩエントリに対応するアクセス先のバックエンドシステム３のＵＲＬを示す。
【００３８】
認証に使うパラメータは、通信管理装置２が、バックエンドシステム３とアクセス認証情報を連携する際の認証に使用されるヘッダまたはクエリのパラメータを示す。通信制御部２２は、ＡＰＩエントリに対応する認証に使うパラメータ（ヘッダまたはクエリ）を使用してアクセス情報を変換する。
【００３９】
＜データの流れの一例＞
次に、図５を参照して、実施形態のデータの流れの一例について説明する。端末１は、通信管理装置２に認証リクエストを送信する。端末認証部１１は、認証リクエストに基づいて、認証を行い、認証トークンを発行する。また、端末認証部１１は、発行した認証トークンとユーザＩＤとナンバーとを対応付けて、端末管理テーブルに記録する。
【００４０】
発行された認証トークンは、端末１に送信される。端末１で実行されるアプリケーションは、認証トークンを認識する。該アプリケーションは、アクセス先のバックエンドシステム３のＵＲＬと上記の認証トークンとを含む通信データを通信管理装置２に送信する。
【００４１】
通信管理装置２は、該通信データを受信する。ゲートウェイ部７は、通信データに含まれるＵＲＬの中のＡＰＩエントリを認識する。ゲートウェイ部７は、ＡＰＩ定義テーブルを参照して、ＡＰＩエントリに対応するバックエンドＵＲＬおよび認証に使うパラメータを取得する。
【００４２】
また、ゲートウェイ部７は、受信した通信データに含まれる認証トークンを認識し、該認証トークンに対応するユーザＩＤを端末認証部１１に問い合わせる。認証基盤部６は、ゲートウェイ部７から認証トークンを受け取り、端末管理テーブル記憶部１２を参照して、受け取ったトークンに対応するユーザＩＤをゲートウェイ部７に返却する。
【００４３】
通信制御部２２は、端末１から受信した通信データのうち、バックエンドシステム３に対するアクセスに関するアクセス情報を変換する。上述したように、ゲートウェイ部７は、ＡＰＩエントリに対応するバックエンドＵＲＬおよび認証に使うパラメータを取得する。
【００４４】
通信制御部２２は、端末１から受信した通信データに含まれるアクセス情報のうちＵＲＬをバックエンドＵＲＬに変換する。また、認証に使うパラメータがヘッダである場合には、通信制御部２２は、ヘッダから認証トークンを削除し、ヘッダのパラメータと上記のユーザＩＤとを付加する。
【００４５】
認証に使うパラメータがクエリである場合には、通信制御部２２は、ヘッダから認証トークンを削除し、ＵＲＬのうちクエリに該当する部分に、クエリのパラメータと上記のユーザＩＤとを付加する。
【００４６】
上記のユーザＩＤは、端末１に対する認証結果に基づいて、該端末１に付与された認証トークンに対応する情報であり、第１情報の一例である。
【００４７】
通信制御部２２は、アクセス情報が変換され、ユーザＩＤが付加された通信データを、変換後のアクセス情報の宛先であるバックエンドシステム３に送信する制御を行う。通信部８は、該バックエンドシステム３に通信データを送信する。
【００４８】
バックエンドシステム３は、該通信データに含まれるユーザＩＤに基づいて、端末１からのアクセスを許容する。以上により、端末１は、通信管理装置２を介して、バックエンドシステム３にログインする。
【００４９】
認証基盤部６は、複数のユーザＩＤのそれぞれと認証トークンとを対応付けて端末管理テーブルに記録することで、複数のユーザＩＤを一括的に管理する。端末１は、認証基盤部６による認証を受けることで、各バックエンドシステム３にログインする際に、個別的な認証を要しなくなる。
【００５０】
つまり、端末１が認証基盤部６による認証を受けた後は、通信管理装置２が各バックエンドシステム３との間の認証を行うため、上記の個別的な認証を要しなくなる。従って、ユーザにとっての利便性が向上する。
【００５１】
上述したように、認証基盤部６は、端末１の認証を行う。バックエンドシステム３は、通信管理装置２から送信された通信データに含まれるユーザＩＤに基づいて、該通信データの認証を行う。従って、２つの認証関係が存在する。
【００５２】
通信管理装置２とバックエンドシステム３との間の認証が成功し、両者の間の信頼関係が確立された後、バックエンドシステム３は、通信管理装置２からの通信を信頼するため、個別的なセッションについて、特にその正当性を検証しない。
【００５３】
ここで、端末１から通信管理装置２に送信された通信データに、認証に関連した認証関連情報が含まれる場合がある。例えば、該通信データのヘッダに、認証トークンの他に、認証関連情報が含まれる場合がある。また、端末１から通信管理装置２に送信された通信データのクエリに、認証関連情報が含まれる場合もある。
【００５４】
通信データのヘッダやクエリに、認証トークンとは異なる認証関連情報が含まれる場合、バックエンドシステム３は、該認証関連情報に基づいて、通信管理装置２から送信されたクエリを信頼する場合がある。
【００５５】
上記の認証関連情報に基づいて、バックエンドシステム３が、通信データを信頼した場合、正当に認証されていない認証関連情報に基づく通信が行われる。該通信は、正当に認証されていない通信であり、バックエンドシステム３に対する不正なアクセスが成功する可能性がある。
【００５６】
図６は、端末１から通信管理装置２への通信データ、および通信管理装置２からバックエンドシステム３への通信データの一例を示す。図６の例に示されるように、ヘッダには、認証トークン「APIGATEWAY-TOKEN」の他に、「X-API-USERID: gyoumuID」という情報が含まれる。
【００５７】
図６の例において、端末１から通信管理装置２への通信データに含まれるＵＲＬのうち、「https://APIGATEWAY.com」はゲートウェイ部７のアドレスを示す。該ＵＲＬのうち、残りの「myGyoumu」をＡＰＩエントリと称する。該ＡＰＩエントリは、宛先のバックエンドシステム３を特定する情報である。
【００５８】
通信制御部２２は、ＡＰＩ定義テーブルを参照して、ＵＲＬに含まれるＡＰＩエントリ「myGyoumu」に対応するバックエンドＵＲＬおよび認証に使うパラメータを取得する。バックエンドＵＲＬは、「https://BACKENDSYSTEM/gyoumu」であり、認証に使うヘッダのパラメータは、「X-API-USERID」である。
【００５９】
また、通信制御部２２は、認証トークン「43j;iojrugj98wertjp3j54p94t;sfdjg」に対応するユーザＩＤを認証基盤部６から取得する。図３の例で示したように、該認証トークンに対応するユーザＩＤは「user0001」である。
【００６０】
通信制御部２２は、端末１から通信管理装置２への通信データのうち、ＵＲＬの情報をバックエンドＵＲＬの情報に変換する。また、通信制御部２２は、上記の通信データのヘッダのうち、認証トークンに対応する情報を、認証に使うヘッダのパラメータ「X-API-USERID」に変換し、ユーザＩＤ「user0001」を付加する。
【００６１】
ここで、端末１から通信管理装置２への通信データのヘッダには、「X-API-USERID: gyoumuID」という情報が含まれる。該情報は、認証に関連する認証関連情報である。また、「X-API-USERID」というパラメータは、ＡＰＩエントリ「myGyoumu」に対応する認証に使うパラメータと同じである。
【００６２】
従って、バックエンドシステム３は、上記のパラメータを通信管理装置２が付加するパラメータであると認識する。通信管理装置２が付加するパラメータであるとバックエンドシステム３が認識するパラメータを、特定パラメータとする。特定パラメータは、第２情報の一例である。
【００６３】
通信管理装置２からバックエンドシステム３への通信データのヘッダまたはクエリに、特定パラメータ「X-API-USERID」が含まれると、バックエンドシステム３は、該特定パラメータの値「gyoumuID」を信頼して、通信データの受信を許容する。
【００６４】
従って、通信制御部２２は、端末１から通信管理装置２への通信データのヘッダまたはクエリに特定パラメータが含まれている場合、該特定パラメータを削除する。通信制御部２２は、特定パラメータだけでなく、該特定パラメータの値も削除する。特定パラメータ（および該特定パラメータの値）が削除されることで、通信管理装置２からバックエンドシステム３への通信データには上記の特定パラメータが含まれなくなる。
【００６５】
従って、正当に認証されていない特定パラメータに基づくバックエンドシステム３へのアクセスが抑制される。該アクセスが抑制されることで、バックエンドシステム３への通信のセキュリティが向上する。
【００６６】
図６の例に示される通信データの例のうち、ＵＲＬおよびヘッダは制御データの一例であり、ボディは実体データの一例である。
【００６７】
図７は、クエリに特定パラメータが含まれる例である。端末１から通信管理装置２への通信データのＵＲＬには、「?X-API-USER=gyoumuID」というクエリが含まれる。ＡＰＩ定義テーブルのＡＰＩエントリ「aaaGyoumu」に対応する認証に使うクエリのパラメータは「X-API-USER」であり、該パラメータは特定パラメータである。
【００６８】
従って、通信制御部２２は、特定パラメータ「X-API-USER」および該特定パラメータの値である「gyoumuID」を削除する。
【００６９】
そして、通信制御部２２は、通信データのＵＲＬのうちＡＰＩエントリ「aaaGyoumu」に対応する各項目をＡＰＩ定義テーブルから取得する。該ＡＰＩエントリ「aaaGyoumu」に対応するバックエンドＵＲＬは「BACKENDSYSTEM2/aaa」であり、認証に使うクエリ名は「X-API-USER」である。
【００７０】
また、通信制御部２２は、認証トークンに基づいて、認証基盤部６からユーザＩＤ「user0001」を取得する。通信制御部２２は、図７の例に示されるように、通信データのうちＵＲＬおよび該ＵＲＬに含まれるクエリのパラメータを変換する。
【００７１】
そして、通信制御部２２は、変換されたクエリのパラメータに、取得された上記のユーザＩＤを付加する。また、通信制御部２２は、ヘッダのうち、認証トークンに関する情報を削除する。
【００７２】
従って、端末１から通信管理装置２への通信データのクエリに含まれていた特定パラメータが削除されるため、バックエンドシステム３に対する意図しない不正なアクセスが成功することを抑制できる。
【００７３】
＜実施形態のシーケンス図＞
次に、図８および図９を参照して、実施形態の処理の流れについて説明する。端末１で実行されるアプリケーションは、認証リクエストを通信管理装置２に送信する（ステップＳ１）。通信管理装置２は、該認証リクエストを受信する。
【００７４】
認証基盤部６の端末認証部１１は、認証リクエストに含まれる情報（ＩＤおよびパスワード）に基づいて、認証を行い、端末１の正当性を検証する端末認証処理を行う（ステップＳ２）。
【００７５】
端末１の認証結果に応じて、端末認証部１１は、認証トークンを端末１に送信する。また、端末認証部１１は、ユーザＩＤと認証トークンとを対応付けて、端末管理テーブルに記録する。
【００７６】
端末１で実行されるアプリケーションは、アクセス情報と付与された認証トークンとを含む通信データを通信管理装置２に送信する（ステップＳ３）。通信管理装置２の通信部８は、該通信データを受信する。ゲートウェイ部７の判定部２１は、通信データのヘッダまたはクエリに特定パラメータが含まれているかを判定する（ステップＳ４）。
【００７７】
ステップＳ４でＹＥＳの場合、通信制御部２２は、端末１から送信された通信データのヘッダまたはクエリから特定パラメータを削除する（ステップＳ５）。ステップＳ４でＮＯの場合、ステップＳ５の処理は行われない。
【００７８】
通信制御部２２は、ＡＰＩ定義テーブルを参照して、端末１から送信された通信データのＵＲＬに含まれるＡＰＩエントリに対応するＡＰＩ定義情報（バックエンドＵＲＬおよび認証に使うパラメータ）を取得する（ステップＳ６）。
【００７９】
次に、図９を参照して、ステップＳ７以降の処理について説明する。ゲートウェイ部２の通信制御部２２は、通信データに含まれる認証トークンを認識し、認証基盤部６に対して、認証トークンに対応するユーザＩＤの取得を要求する（ステップＳ７）。
【００８０】
端末認証部１１は、端末管理テーブルを参照して、認証トークンに対応するユーザＩＤを取得する（ステップＳ８）。そして、端末認証部１１は、取得したユーザＩＤをゲートウェイ部７に返却する（ステップＳ９）。
【００８１】
通信制御部２２は、ＡＰＩ定義情報に基づいて取得されたバックエンドＵＲＬ、および認証に使うヘッダまたはクエリのパラメータを変換し、ゲートウェイ部７から返却されたユーザＩＤを付加する。そして、通信制御部２２は、変換されたパラメータにユーザＩＤが付加された通信データをバックエンドシステム３に送信する制御を行う。
【００８２】
通信部８は、該通信データをバックエンドシステム３に送信する。バックエンドシステム３は、該通信データを受信する。バックエンドシステム３は、該通信データ（リクエスト）に応じた処理を行う（ステップＳ１１）。
【００８３】
バックエンドシステム３は、処理した通信データ（レスポンス）を通信管理装置２に送信する。通信管理装置２の通信制御部２２は、該通信データを中継し（ステップＳ１２）、端末２に該通信データを送信する制御を行う。
【００８４】
通信部８は、該通信データを端末１に送信する。端末１は、通信管理装置２から通信データを受信する（ステップＳ１３）。以上により、端末１と通信管理装置２とバックエンドシステム３との間の通信が行われる。
【００８５】
上述した各処理は、例えば、通信管理装置２が実行する通信管理プログラムにより実現される。例えば、ステップＳ１０のうち、ユーザＩＤを付加する処理は、上記の通信管理プログラムにより実現され、ステップＳ１０のうち、通信データを送信する処理は、他のプログラムにより実現されてもよい。
【００８６】
＜変形例＞
次に、変形例について説明する。図１０は、変形例における通信管理装置２の一例を示す。変形例における通信管理装置２は、上述した実施形態の図２に、新たにバックエンド認証テーブル記憶部２４が追加されている。バックエンド認証テーブル記憶部２４は、記憶部の一例である。
【００８７】
図１１の例を参照して、データの流れについて説明する。認証基盤部６は、端末１からの認証リクエストに応じて、認証を行い、認証トークンを端末１に送信する。端末１は、ヘッダまたはクエリに認証トークンを含む通信データを通信管理装置２に送信する。
【００８８】
ゲートウェイ部７の判定部２１は、通信データのヘッダまたはクエリに特定パラメータが含まれているかを判定する。通信データのヘッダまたはクエリに特定パラメータが含まれている場合、通信制御部２２は、特定パラメータを削除する。
【００８９】
通信制御部２２は、端末１から受信した通信データに含まれるＵＲＬからＡＰＩエントリを認識し、ＡＰＩ定義テーブルを参照して、認識したＡＰＩエントリに対応するバックエンドＵＲＬおよび認証に使うヘッダまたはクエリのパラメータを取得する。
【００９０】
図１２は、変形例のＡＰＩ定義テーブルの一例を示す。図１２の例に示されるように、認証に使うパラメータには、ユーザＩＤとパスワードとが含まれる。例えば、ナンバーが「１」の場合、認証に使うパラメータはヘッダであり、パラメータは「X-API-USERID」および「X-API-USERPASS」である。
【００９１】
パラメータ「X-API-USERID」はユーザＩＤのパラメータであることを示し、パラメータ「X-API-USERPASS」はパスワードのパラメータであることを示す。変形例では、通信管理装置２とバックエンドシステム３との間の認証には、ユーザＩＤおよびパスワードが用いられる。
【００９２】
通信制御部２２は、端末１から受信した通信データに含まれる認証トークンに対応するユーザＩＤを認証基盤部６から取得する。通信制御部２２は、バックエンド認証テーブル記憶部２４に記憶されているバックエンド認証テーブルを参照して、上記のユーザＩＤに対応するバックエンドユーザＩＤおよびバックエンドパスワードを取得する。
【００９３】
図１３は、バックエンド認証テーブルの一例を示す。バックエンド認証テーブルは、ナンバーとユーザＩＤとバックエンドユーザＩＤとバックエンドパスワードとバックエンドトークンとの項目を含む。
【００９４】
バックエンドユーザＩＤとバックエンドパスワードとバックエンドトークンとは、バックエンドシステム３が認証を行う情報（バックエンド認証情報と称する）である。バックエンド認証テーブルの各項目の情報は、バックエンドシステム３が保持する。バックエンド認証情報は、通信先システムと通信管理装置との間の認証情報である。
【００９５】
従って、バックエンドシステム３が保持するバックエンド認証テーブルの各項目の情報が、予めバックエンド認証テーブルに登録されてもよい。以下、通信管理装置２とバックエンドシステム３との間の認証には、バックエンドユーザＩＤおよびバックエンドパスワードが用いられるものとする。
【００９６】
図１１の例に示されるように、ゲートウェイ部７は、通信データを、宛先のバックエンドシステム３に送信する。該通信データのヘッダまたはクエリには、バックエンドユーザＩＤおよびバックエンドパスワードが含まれる。宛先のバックエンドシステム３は、該バックエンドユーザＩＤおよびバックエンドパスワードを用いて、認証を行う。
【００９７】
図１４の例に示されるように、端末１から通信管理装置２への通信データのヘッダには、ＡＰＩエントリ「myGyoumu」に対応した特定パラメータである「X-API-USERID」および「X-API-USERPASS」が含まれる。
【００９８】
判定部２１は、通信データのヘッダに特定パラメータが含まれていると判定する。従って、通信制御部２２は、該特定パラメータ（および該特定パラメータの値）を削除する。
【００９９】
通信制御部２２は、ＡＰＩ定義テーブルを参照して、ＡＰＩリクエスト「myGyoumu」に対応するバックエンドＵＲＬ「https://BACKENDSYSTEM/gyoumu」と、ヘッダに使用されるパラメータ「X-API-USERID」および「X-API-USERPASS」と、を取得する。
【０１００】
そして、通信制御部２２は、端末１から受信した通信データのＵＲＬおよびヘッダを変換する。通信制御部２２は、通信データに含まれる認証トークンに対応するバックエンドユーザＩＤおよびバックエンドパスワードを、認証基盤部６から取得する。
【０１０１】
認証トークン「43j;iojrugj98wertjp3j54p94t;sfdjg」に対応するバックエンドユーザＩＤは「backendUser0001」である。また、上記の認証トークンに対応するバックエンドパスワードは「backendPassword0001」である。
【０１０２】
通信制御部２２は、取得したバックエンドユーザＩＤをヘッダの「X-API-USERID」に付加し、取得したバックエンドパスワードをヘッダの「X-API-USERPASS」に付加する。通信制御部２２は、バックエンドトークンを取得し、取得したバックエンドトークンをヘッダに付加してもよい。
【０１０３】
図１５は、クエリの場合の例を示す。端末１から受信した通信データのＵＲＬにはクエリが含まれる。該クエリには、ＡＰＩエントリ「aaaGyoumu」に対応する特定パラメータである「X-API-USERID」および「X-API-USERPASS」が含まれる。
【０１０４】
従って、通信制御部２２は、該特定パラメータ（および該特定パラメータの値）を削除する。通信制御部２２は、ＡＰＩ定義テーブルを参照して、認証トークンに対応するバックエンドユーザＩＤおよびバックエンドユーザパスワードを取得する。
【０１０５】
取得されたバックエンドユーザＩＤは「backendUser0001」である。また、取得されたバックエンドパスワードは「backendPassword0001」である。通信制御部２２は、クエリのパラメータにバックエンドユーザＩＤおよびバックエンドパスワードを付加する。
【０１０６】
図１６は、変形例の処理の流れを示すシーケンス図である。変形例の処理は、上述した実施形態のステップＳ１０の処理が異なる。ステップＳ１０以外の処理は、上述した実施形態と同じであるため、説明を省略する。
【０１０７】
ゲートウェイ部７の通信制御部２２は、認証基盤部６から返却されたユーザＩＤに対応するバックエンド認証情報をバックエンド認証テーブルから取得する（ステップＳ１０−１）。
【０１０８】
そして、通信制御部２２は、取得されたバックエンド認証情報を通信データに付加して、該通信データをバックエンドシステム３に送信する制御を行う。通信部８は、該通信データをバックエンドシステム３に送信する（ステップＳ１０−２）。
【０１０９】
なお、上述した実施形態と同様、ステップＳ１０−２のうち、バックエンド認証情報の付加は通信管理プログラムにより実現され、ステップＳ１０−２のうち、通信データを送信する処理は、他のプログラムにより実現されてもよい。
【０１１０】
変形例では、通信管理装置２のゲートウェイ部７にバックエンド認証テーブル記憶部２４が含まれる。バックエンド認証テーブルは、バックエンドシステム３に応じた認証のテーブルである。
【０１１１】
例えば、バックエンドシステム３が複雑な認証を要求する場合、端末１とバックエンドシステム３との間の通信を中継する通信管理装置２がバックエンド認証テーブルを持つことで、上記の複雑な認証にも対応できる。
【０１１２】
変形例のように、バックエンドシステム３がＩＤおよびパスワードを要求する場合、通信管理装置２は、通信管理装置２とバックエンドシステム３との間の認証情報として、ＩＤおよびパスワードを用いることができる。これにより、複雑な認証にも対応することができ、さらにセキュリティが向上する。
【０１１３】
＜ヘッダおよびクエリに認証関連情報が含まれている場合の例＞
次に、端末１から通信管理装置２への通信データのヘッダとクエリとの両者に認証に関する認証関連情報が含まれている場合について説明する。図１７の例において、端末１から通信管理装置２への通信データのＵＲＬに含まれるＡＰＩエントリは「myGyoumu」である。
【０１１４】
ＡＰＩ定義テーブルにおいて、ＡＰＩエントリに対応する「認証に使うパラメータ」はヘッダである。また、バックエンドユーザＩＤのパラメータは「X-API-USERID」であり、バックエンドパスワードのパラメータは「X-API-USERPASS」である。
【０１１５】
パラメータ「X-API-USERID」およびパラメータ「X-API-USERPASS」は、ヘッダとクエリとの両者に含まれる。また、両者とも認証に関連する認証関連情報である。上記のように、ＡＰＩエントリに対応する「認証に使うパラメータ」はヘッダである。
【０１１６】
従って、ヘッダに含まれるパラメータ「X-API-USERID」およびパラメータ「X-API-USERPASS」は、通信管理装置２が付加するとバックエンドシステム３が認識する特定パラメータであるが、クエリに含まれる上記のパラメータは特定パラメータではない。クエリに含まれる上記のパラメータは、通信管理装置２が付加するとバックエンドシステム３が認識しないためである。
【０１１７】
判定部２１は、ヘッダに含まれる上記のパラメータを特定パラメータであると判定し、クエリに含まれる上記のパラメータを特定パラメータでないと判定する。従って、通信制御部２２は、ヘッダに含まれる特定パラメータを削除し、クエリに含まれる特定パラメータを削除しない。
【０１１８】
通信制御部２２は、認証トークンに対応するユーザＩＤを取得し、バックエンド認証情報テーブルを参照して、ユーザＩＤに対応するバックエンド認証情報を取得する。そして、通信制御部２２は、バックエンド認証情報を含む認証パラメータを通信データに付加する。
【０１１９】
従って、通信データに複数の認証関連情報が含まれているとしても、通信制御部２２は、通信管理装置２が付加するとバックエンドシステム３が認識する特定パラメータのみを削除する。通信管理装置２が付加するとバックエンドシステム３が認識しない特定パラメータは削除されなくてもよいためである。
【０１２０】
次に、図１８のフローチャートを参照して、通信データに複数の認証関連情報が含まれている場合における特定パラメータを削除する処理の一例を説明する。判定部２１は、認証関連情報が通信データのヘッダまたはクエリに含まれるかを判定する（ステップＳ３１）。
【０１２１】
上述したように、通信データには、ＵＲＬとヘッダとボディとが含まれる。ＵＲＬおよびヘッダは制御データであり、ボディは実体データである。ボディに特定パラメータが含まれていたとしても、該特定パラメータに起因して、バックエンドシステム３への不正なアクセスが成功する可能性は低い。
【０１２２】
従って、ステップＳ３１でＮＯの場合、特定パラメータを削除する処理は行われない。ステップＳ３１でＹＥＳの場合、判定部２１は、ヘッダに特定パラメータが含まれているかを判定する（ステップＳ３２）。
【０１２３】
ステップＳ３２でＹＥＳの場合、通信制御部２２は、ヘッダに含まれている特定パラメータを削除する（ステップＳ３３）。ステップＳ３２でＮＯの場合、ステップＳ３３の処理は行われない。
【０１２４】
判定部２１は、クエリに特定パラメータが含まれているかを判定する（ステップＳ３４）。ステップＳ３４でＹＥＳの場合、通信制御部２２は、クエリに含まれている特定パラメータを削除する（ステップＳ３５）。ステップＳ３４でＮＯの場合、ステップＳ３５の処理は行われない。以上の図１８の処理は、本変形例だけでなく、上述した実施形態にも適用される。
【０１２５】
＜通信管理装置のハードウェア構成の一例＞
次に、図１９の例を参照して、通信管理装置２のハードウェア構成の一例を説明する。図１９の例に示すように、バス１００に対して、プロセッサ１１１とRandom Access Memory(RAM)１１２とRead Only Memory(ROM)１１３とが接続される。また、該バス１００に対して、補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６とが接続される。
【０１２６】
プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うプログラムが適用されてもよい。
【０１２７】
ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。媒体接続部１１５は、可搬型記録媒体１２０と接続可能に設けられている。
【０１２８】
可搬型記録媒体１２０としては、可搬型のメモリ（例えば、半導体メモリ）や光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)）等が適用されてもよい。この可搬型記録媒体１２０に実施形態の処理を行う制御プログラムが記録されていてもよい。
【０１２９】
通信管理装置２のうち通信部８は、通信インタフェース１１６により実現されてもよい。端末管理テーブル記憶部１２、ＡＰＩ定義テーブル２３およびバックエンド認証テーブル記憶部２４は、ＲＡＭ１１２や補助記憶装置１１４等により実現されてもよい。
【０１３０】
端末認証部１１と判定部２１と通信制御部２２とは、与えられたプログラムをプロセッサ１１１が実行することにより実現されてもよい。
【０１３１】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１２０は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１３２】
＜その他＞
本実施形態および変形例は、以上に述べた実施の形態に限定されるものではなく、本実施形態および変形例の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。以上の実施形態および変形例に関し、更に以下の付記を開示する。
（付記１）
通信先システムとアクセス認証情報を連携する通信管理装置に、
端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する、
処理を実行させることを特徴とする通信管理プログラム。
（付記２）
前記通信管理装置に、
前記第２情報を前記通信内容から削除し、
前記通信内容に前記第１情報を付加して、該第１情報が付加された前記通信内容を前記通信先システムに送信する、
処理を実行させることを特徴とする付記１記載の通信管理プログラム。
（付記３）
前記通信管理装置に、
前記端末に対する前記認証結果に応じて、認証トークンを前記端末に付与し、
前記端末から受信した前記通信内容に前記第２情報が含まれる場合、該第２情報を削除し、
前記認証トークンに対応する、前記通信先システムと前記通信管理装置との間の認証情報を含む前記第１情報を前記通信内容に付加して、該第１情報が付加された前記通信内容を前記通信先システムに送信する、
処理を実行させることを特徴とする付記１記載の通信管理プログラム。
（付記４）
前記通信管理装置に、
前記認証トークンに対応する識別情報と、前記通信先システムと前記通信管理装置との間の認証情報との対応関係を記憶する記憶部を参照して、前記識別情報に対応する前記通信先システムと前記通信管理装置との間の認証情報を取得し、
取得した前記認証情報を含む前記第１情報を前記通信内容に付加する、
処理を実行させることを特徴とする付記３記載の通信管理プログラム。
（付記５）
前記識別情報に対応する前記通信先システムと前記通信管理装置との間の認証情報には、ＩＤおよびパスワードが含まれること、
を特徴とする付記４記載の通信管理プログラム。
（付記６）
前記通信管理装置に、
前記通信内容に、認証に関する複数の認証関連情報が含まれている場合、該複数の認証関連情報のうち前記第２情報のみを削除する、
処理を実行させることを特徴とする付記１記載の通信管理プログラム。
（付記７）
前記通信管理装置に、
前記通信内容に含まれる制御データと実体データとのうち、前記制御データに前記第２情報が含まれている場合に、該第２情報を削除する、
処理を実行させることを特徴とする付記１記載の通信管理プログラム。
（付記８）
前記通信管理装置に、
前記通信内容に含まれるヘッダおよびクエリに、認証に関する複数の認証関連情報が含まれている場合、前記ヘッダと前記クエリとのうち何れか一方のみから前記第２情報を削除する、
処理を実行させることを特徴とする付記１記載の通信管理プログラム。
（付記９）
通信先システムとアクセス認証情報を連携する通信管理装置が、
端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する、
処理を実行することを特徴とする通信管理方法。
（付記１０）
通信先システムとアクセス認証情報を連携する通信管理装置であって、
端末に対する認証結果に基づいて、該認証結果に対応した第１情報を付加して前記端末からの通信内容を前記通信先システムに送信する際、前記通信内容に、前記通信管理装置が付加する情報であると前記通信先システムが識別する第２情報が含まれる場合、前記通信内容より該第２情報を削除する通信制御部、
を備えることを特徴とする通信管理装置。
【符号の説明】
【０１３３】
１    端末
２    通信管理装置
３    バックエンドシステム
４    第１ネットワーク
５    第２ネットワーク
６    認証基盤部
７    ゲートウェイ部
８    通信部
１１    端末認証部
１２    端末管理テーブル記憶部
２１    判定部
２２    通信制御部
２３    ＡＰＩ定義テーブル記憶部
２４    バックエンド認証情報記憶部
１１１    プロセッサ
１１２    ＲＡＭ
１１３    ＲＯＭ
【図１】
2018055582.tif 000003
【図２】
2018055582.tif 000004
【図３】
2018055582.tif 000005
【図４】
2018055582.tif 000006
【図５】
2018055582.tif 000007
【図６】
2018055582.tif 000008
【図７】
2018055582.tif 000009
【図８】
2018055582.tif 000010
【図９】
2018055582.tif 000011
【図１０】
2018055582.tif 000012
【図１１】
2018055582.tif 000013
【図１２】
2018055582.tif 000014
【図１３】
2018055582.tif 000015
【図１４】
2018055582.tif 000016
【図１５】
2018055582.tif 000017
【図１６】
2018055582.tif 000018
【図１７】
2018055582.tif 000019
【図１８】
2018055582.tif 000020
【図１９】
2018055582.tif 000021