JP6572750B2 - 認証制御プログラム、認証制御装置、及び認証制御方法 - Google Patents

認証制御プログラム、認証制御装置、及び認証制御方法 Download PDF

Info

Publication number
JP6572750B2
JP6572750B2 JP2015227697A JP2015227697A JP6572750B2 JP 6572750 B2 JP6572750 B2 JP 6572750B2 JP 2015227697 A JP2015227697 A JP 2015227697A JP 2015227697 A JP2015227697 A JP 2015227697A JP 6572750 B2 JP6572750 B2 JP 6572750B2
Authority
JP
Japan
Prior art keywords
information
request information
api
request
interface
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.)
Active
Application number
JP2015227697A
Other languages
English (en)
Other versions
JP2017097542A (ja
Inventor
完 山本
完 山本
領平 森下
領平 森下
弘悦 河西
弘悦 河西
紀衣 橘
紀衣 橘
典彦 五十嵐
典彦 五十嵐
矢崎 昌朋
昌朋 矢崎
亮一 秋山
亮一 秋山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015227697A priority Critical patent/JP6572750B2/ja
Priority to US15/281,170 priority patent/US10305913B2/en
Publication of JP2017097542A publication Critical patent/JP2017097542A/ja
Application granted granted Critical
Publication of JP6572750B2 publication Critical patent/JP6572750B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Description

本発明は、認証制御プログラム、認証制御装置、及び認証制御方法に関する。
企業内の業務システムを新たにモバイル端末から活用することで、ワークスタイル変革を行うニーズがある。このような場合、社外のモバイル端末からの企業内の業務システムへの新たなアクセス経路を用意することになる。
今まで社内の閉じた環境、すなわち安全なネットワーク内で利用されていた業務システムに、新たにインターネット等の外部に公開されたネットワークからアクセスされる経路を設けることで、社外の攻撃者からの攻撃に遭うリスクが増える。その結果、業務システムの情報が露出されるリスクが高くなってしまう。
国際公開第2009/001447号
モバイル端末と外部に非公開の業務システムとの間に、利用者認証やアクセスログ採取等の機能を有する中間サーバを配置し、中間サーバを経由しないと業務システムへアクセスできない構成を導入することで、上記の業務システムを保護する方法が考えられる。
しかしながら、その中間サーバはインターネット等のネットワーク上で公開され、外部の攻撃者から不正なアクセスを受ける可能性があるため、不正なアクセスに対する考慮が必要となる。
例えば、攻撃者が不正なアクセスをして、そのアクセスが業務システム側の認証機構で許可されない場合、アクセス元にエラー情報が返信される。しかしながら、例えば、エラー情報にセキュリティに関して攻撃者を利するような情報が含まれている場合、攻撃者はその情報を手がかりに認証機構を通過してしまうおそれがある。このように、不正なアクセスに対し認証機構がエラー情報を送信して、アクセスを拒否したとしても、エラー情報に含まれる情報を用いて、攻撃者がさらなる攻撃を実行するおそれがある。
本発明の一側面では、不正なアクセスに対するレスポンスにおいて攻撃者を利する情報の提供を抑止することを目的とする。
本発明の一態様では、コンピュータに、以下の処理を実行させる。すなわち、コンピュータは、アプリケーションソフトウェアの機能またはデータを呼び出すインターフェースの利用を要求するリクエスト情報を受信した際に、第1の判定処理と第2の判定処理とを実行する。第1の判定処理は、リクエスト情報に含まれるインターフェースの識別情報に基づいてリクエスト情報の正当性を判定する処理である。第2の判定処理は、リクエスト情報に含まれるインターフェースについてのキー情報または認証トークン情報の少なくとも1つに基づいてリクエスト情報の正当性を判定する処理である。キー情報は、インターフェースの利用申請に対して申請したユーザのインターフェースの利用を許可する情報である。認証トークン情報は、ユーザの正当性を判定する情報である。コンピュータは、第2の判定処理の結果、リクエスト情報が正当でないと判定された場合、第1の判定処理の結果によらず、リクエスト情報の送信元に対してアクセスが許容されない旨を示すエラー情報を送信する。
本発明の一側面によれば、不正なアクセスに対するレスポンスにおいて攻撃者を利する情報の提供を抑止することができる。
中間サーバを介して、クライアント端末と業務サーバとが通信を行う業務システムにおけるクライアント端末から業務サーバへのアクセスのシーケンスを示す。 本実施形態における認証制御装置の一例を示す。 本実施形態におけるネットワーク構成の一例を示す。 本実施形態における中間サーバの一例を示す。 本実施形態におけるクライアント端末から送信されるリクエスト情報の一例を示す。 本実施形態におけるS11及びS12の検証処理のフロー(その1)を示す。 本実施形態におけるS11及びS12の検証処理のフロー(その2)を示す。 本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。
不正なアクセスに対する考慮が必要となる例としては、例えば、以下のことが考えられる。
図1は、中間サーバを介して、クライアント端末と業務サーバとが通信を行う業務システムにおけるクライアント端末から業務サーバへのアクセスのシーケンスを示す。
図1の業務システムでは、クライアント端末101で利用できる業務サーバ103と通信可能なアプリケーションプログラムについて予め登録されたAPI(Application Program Interface)しか利用することができない仕組みであるとする。
この場合、クライアント端末101のユーザ(例えば、呼び出し元プログラムの開発者)が、API管理者に対して、事前に、利用するAPIの利用申請をする必要がある。すると、API管理者は、そのAPIについての定義(API定義)を、例えば中間サーバ102の記憶装置に登録する。
さらに、API管理者は、APIキーと、そのAPIを利用する際のそのAPIの参照先を示すURL(Uniform Resource Locator)を、クライアント端末101のユーザに対して発行する。APIキーとは、呼び出し元プログラムが、登録したAPI定義に対応するAPIを利用する利用権限を有していることを示す鍵情報である。
クライアント端末101でそのAPIを利用する場合であって、API定義においてAPIキーの指定が要求されている場合には、図1に示すように、クライアン端末101は、中間サーバ102に、そのAPIキーと、そのURLとを送る必要がある。
図1では、クライアント端末101対して、利用するアプリケーションプログラム(以下、「アプリケーション」と称する)のAPIキーと、そのURLとは既に発行されているものとする。
まず、クライアント端末101から業務サーバ103へのリクエスト情報の送信(すなわち、リクエスト)の際、クライアント端末101は、中間サーバ102に対して、認証トークンの発行を要求する(S1)。すると、中間サーバ102は、クライアント端末101に対して、認証トークンを発行する(S2)。認証トークンは、ユーザの正当性を判定するための情報である。本実施形態において、認証トークンとは、コンピュータサービスの利用権限のある利用者を判定するための情報であって、サーバ側での認証処理において、アクセスしたユーザが予め利用権限が与えられた正当なユーザかを判定するための情報である。
クライアント端末101は、業務サーバ103にアクセスするために中間サーバ102に対してリクエスト情報(以下、「リクエスト」と称する)を送信する(S13)。このリクエストは、例えば、HTTP(Hypertext Transfer Protocol)リクエストメッセージであり、クライアント端末101において予め保持しているAPIキー及びURLと、S2で取得した認証トークンを含む。
中間サーバ102は、クライアント端末101からリクエストを取得すると、リクエストに含まれるAPIキー、認証トークン、URLを抽出する。中間サーバ102は、APIキー、認証トークン、URLに基づいて、ユーザの正当性の検証と、要求されたAPIの正当性の検証を行う(S4)。
要求されたAPIの正当性の検証では、API定義104に基づいて、リクエストに含まれるAPIキーが正当であるかの確認と、URL内にて指定されたAPI名が存在するかの確認が行われる。
ユーザの正当性の検証とAPIの正当性の検証に成功した場合(S5で「YES」)、中間サーバ102は、暗号化通信により、クライアント端末101からのリクエストに基づいて、業務サーバ3へアクセスする(S6)。
ユーザの正当性の検証とAPIの正当性の検証に失敗した場合(S5で「NO」)、中間サーバ102は、クライアント端末101にエラー通知を行う(S7)。このとき、リクエストで指定されているAPIキーが正当でないかまたはAPIキーが指定されていない場合において、URLで指定されたAPI名が存在しない場合、中間サーバ102は、API定義取得失敗エラーをクライアント端末101に通知する。
このように、不用意なレスポンスとして、API定義取得失敗エラーを返した場合、攻撃者に対し、指定したAPI名が「正しい」「正しくない」という情報を返してしまうことになる。そのような情報が攻撃者側で蓄積されると、セキュリティ面にて懸念が生じることになる。
そこで、本実施形態では、中間サーバへの不正アクセスに対し、不用意なレスポンスを返さない仕組みを導入する。これにより、業務サーバのクライアント端末の活用における中間サーバ102への不正アクセスに対し、攻撃者を利する情報の露出を抑えることができる。
図2は、本実施形態における認証制御装置の一例を示す。認証制御装置1は、判定実行部2と、送信部3とを含む。
判定実行部2は、アプリケーションソフトウェアの機能またはデータを呼び出すインターフェースの利用を要求するリクエスト情報を受信した際に、第1の判定処理と第2の判定処理とを実行する。判定実行部2の一例として、後述する制御部22が挙げられる。
第1の判定処理では、判定実行部2は、リクエスト情報に含まれるインターフェースの識別情報に基づいてリクエスト情報の正当性を判定する。第1の判定処理の一例として、後述するS22の処理が挙げられる。
第2の判定処理では、判定実行部2は、リクエスト情報に含まれるインターフェースについてのキー情報または認証トークン情報の少なくとも1つに基づいてリクエスト情報の正当性を判定する。キー情報は、インターフェースの利用申請に対して申請したユーザのインターフェースの利用を許可する情報である。認証トークン情報は、ユーザの正当性を判定する情報である。第2の判定処理の一例として、後述するS25、S28の処理が挙げられる。
送信部3は、第2の判定処理の結果、リクエスト情報が正当でないと判定された場合、第1の判定処理の結果によらず、リクエスト情報の送信元に対してアクセスが許容されない旨を示すエラー情報を送信する。エラー情報は、エラーの原因を特定する情報を含まず、アクセスが許容されないことのみを通知する情報である。送信部2の一例として、後述する制御部22によるS37,S38の処理が挙げられる。
このように構成することにより、不正なアクセスに対するレスポンスにおいて攻撃者を利する情報の提供を抑止することができる。
以下では、本実施形態について、さらに詳述する。
図3は、本実施形態におけるネットワーク構成の一例を示す。インターネット等の公開されたネットワーク14,14’に、クライアント端末11、中間サーバ12、及び業務サーバ13が接続されている。なお、ネットワーク14,14’は、同一のネットワークであるが説明の便宜上分けてある。
業務サーバ13は、企業内で利用されるサーバ(またはサーバシステム)である。業務サーバ13は、ネットワーク14’に接続に接続されている。しかしながら、業務サーバ13は、業務サーバ13を除いて、ネットワーク14’から直接アクセスすることができない。すなわち、業務サーバ13は、後述するように、中間サーバ12を介してのみ、外部よりアクセスすることができる。
クライアント端末11は、例えば、その企業に属するユーザが利用する情報通信端末であり、ネットワークを介して通信することができる。なお、情報通信端末は、無線または有線によりネットワーク14と接続されてもよい。
中間サーバ12は、論理的に、クライアント端末11と業務サーバ13との間の通信経路に設けられ、ユーザの認証やアクセスログ採取等の機能を有するゲートウェイサーバである。中間サーバ12と業務サーバ13との間では、暗号化通信15が行われる。
また、本実施形態では、図1で説明したように、クライアント端末11で利用できる業務サーバ13と通信可能なアプリケーションプログラムについて予め登録されたAPI(Application Program Interface)しか利用することができない仕組みであるとする。
また、本実施形態では、クライアント端末11対して、利用するアプリケーションのAPIキーと、そのURLとは既に発行されているものとする。
図4は、本実施形態における中間サーバの一例を示す。中間サーバ12は、通信インターフェース(I/F)21、制御部22、記憶部23を含む。
クライアント端末11は、リクエストを中間サーバ12に送信する。リクエストは、APIキー、認証トークン、URLについての情報を含む。
通信I/F21は、ネットワーク14と接続するためのインターフェースである。通信I/F21は、クライアント端末11から送信されたリクエストを取得したり、クライアント端末11へレスポンスを送信する。
記憶部23は、API定義24を格納する。API定義24は、上述したようにAPI利用申請に応じて事前に登録された各APIに対応する定義についての情報である。
制御部22は、中間サーバ12の動作全体を制御するプロセッサである。制御部22は、APIキー検証処理(S11)、認証トークンの検証処理(S12)を実行する。
APIキー検証処理(S11)では、制御部22は、クライアント端末11から送信されたリクエストに含まれるAPIキーが有効なものかの検証を行う。API定義においてAPIキーの検証を行う設定となっている場合、および、API定義を取得できない場合は、制御部22は、S11の検証を行う。API定義においてAPIキーの検証を行わない設定である場合、制御部22は、認証トークンの検証処理(S12)を行う。
なお、API定義を取得できなかった場合に検証を行うのは以下の理由のためである。
・API定義が取得できない場合であっても、APIキーがリクエストに設定されている可能性があるため。
・APIキーの検証エラー時には、URI(Uniform Resource Identifier)保護の観点から、API定義取得失敗エラーではなく、認可エラーとする必要があるため。
制御部22は、APIキーの検証を行う場合、APIのリクエストがあった場合(API呼び出し時)に、リクエストにAPIキーが設定されているかの確認処理と、設定されたAPIキーが正常であるかの確認を行う。
認証トークンの検証処理(S12)では、クライアント端末11から送信されたリクエストに含まれる認証トークンが有効であるか、認証サーバ(不図示)に問い合わせて検証を行う。なお、認証サーバは、中間サーバ12に含まれていてもよいし、外部のサーバであってもよい。
API定義24において認証トークンの検証を行う設定となっている場合、および、API定義24を取得できなかった場合は、制御部22は、S12の検証を行う。
なお、API定義24を取得できなかった場合に検証を行うのは以下の理由のためである。
・API定義が取得できない場合であっても、認証トークンがリクエストに設定されている可能性があるため。
・認証トークンの検証エラー時には、URI保護の観点から、API定義取得失敗エラーではなく、認証エラーとする必要があるため。
認証トークンの検証を行う設定の場合、制御部22は、APIのリクエストがあった場合(API呼び出し時)に、リクエストに認証トークンが設定されているかの確認処理と、認証トークンの検証とユーザ情報の確認処理とを行う。
制御部22は、S11とS12の検証処理が成功した場合、暗号化通信により、クライアント端末11からのリクエストに基づいて、業務サーバ13へアクセスする。
図5は、本実施形態におけるクライアント端末から送信されるリクエスト情報の一例を示す。図5では、HTTPリクエストメッセージを例に説明する。
図5(A)は、クライアント端末11から送信されるリクエストに含まれるURLの形式例を示す。ここで、“<tenantkey>”は、マルチテナント環境において、各テナント(例えば、企業ユーザ等)を識別する情報である。“<apiname>”は、API名である。“<resource>”は、参照先の所在を示す情報である。なお、FQDNは、Fully Qualified Domain Nameの略称である。
中間サーバ12の処理では、上記のURLフォーマットのうち、<apiname>に該当する部分からAPI名を取得する。
図5(B)は、クライアント端末11から送信されるリクエストに含まれるヘッダ情報(リクエストヘッダ)を示す。
APIキーは、制御部22により、例えば、リクエストヘッダに含まれる項目「X- API-Key」から取得される。APIキーは、業務サーバ13の利用に際して事前に申請して発行された一意の情報である。例えば、業務サーバの呼び出し元プログラムの開発者は、事前にAPI管理ポータルサーバからAPIキーを取得し、呼び出し元プログラムに組み込む。例えば、API定義にてAPIキーの検証を行う定義がされている場合、リクエストヘッダにはAPIキーが指定されている必要がある。
認証トークンは、制御部22により、例えば、リクエストヘッダに含まれる項目「X-Token」から取得される。認証トークンは、ユーザ認証に用いる一意の情報である。認証トークンは、APIを呼び出す前に認証サーバにログインして取得される。例えば、API定義にて認証トークンの検証を行う定義がされている場合、リクエストヘッダには認証トークンが指定されている必要がある。
図6A及び図6Bは、本実施形態におけるS11及びS12の検証処理のフローを示す。クライアント端末11からリクエストを受信すると、制御部22は、以下の処理を行う。
まず、制御部22は、受信したリクエストからURLを抽出し、URLからAPI名に相当する部分を取り出す。また、制御部22は、受信したリクエストのリクエストヘッダから、APIキーに相当する部分と認証トークンに相当する部分を取り出す(S21)。
制御部22は、取り出したAPI名に基づいて、URLにて指定されたAPI名に対応するAPI定義が存在するかを判定する(S22)。
URLにて指定されたAPI名に対応するAPI定義が存在する場合(S22で「YES」)、制御部22は、API定義において、APIキーを検証するように設定されているかを判定する(S23)。
API定義において、APIキーを検証するように設定されていない場合(S23で「NO」)、制御部22は、S26の処理を行う。API定義において、APIキーを検証するように設定されている場合(S23で「YES」)、制御部22は、リクエストヘッダにAPIキーが指定されているかを判定する(S24)。制御部22は、S21においてAPIキーに相当する部分を取り出している場合、リクエストヘッダにAPIキーが指定されていると判定する。
リクエストヘッダにAPIキーが指定されていない場合(S24で「NO」)、制御部22は、クライアント端末11に対して、認可エラー(403)を応答する(S38)。
リクエストヘッダにAPIキーが指定されている場合(S24で「YES」)、制御部22は、指定されたAPIキーが正しいかを判定する(S25)。ここでは、制御部22は、指定されたAPIキーをキーとして管理DBからAPIキー情報が取得できた場合に、URLに設定されている”<tenantkey>/<apiname>”とその取得したAPIキー情報の”<tenantkey>/<apiname>”とが一致するかを判定する。URLに設定されている”<tenantkey>/<apiname>”とその取得したAPIキー情報の”<tenantkey>/<apiname>”とが一致する場合、制御部22は、指定されたAPIキーが正しいと判定する。
なお、管理DBとは、ユーザに発行したAPIキーを管理するデータベースであり、中間サーバ12の記憶装置23または外部のサーバに格納されている。
指定されたAPIキーが正しい場合(S25で「YES」)、制御部22は、S26の処理を行う。指定されたAPIキーが正しくない場合(S25で「NO」)、制御部22は、クライアント端末11に対して、認可エラー(403)を応答する(S38)。
S25で「YES」またはS23で「NO」の場合、制御部22は、API定義において、認証トークンを検証するように設定されているかを判定する(S26)。API定義において、認証トークンを検証するように設定されていない場合(S23で「NO」)、制御部22は、S29の処理を行う。
API定義において、APIキーを検証するように設定されている場合(S26で「YES」)、制御部22は、リクエストヘッダに認証トークンが指定されているかを判定する(S27)。制御部22は、S21において認証トークンに相当する部分を取り出している場合、リクエストヘッダに認証トークンが指定されていると判定する。
リクエストヘッダに認証トークンが指定されていない場合(S27で「NO」)、制御部22は、クライアント端末11に対して、認証エラー(401)を応答する(S37)。
リクエストヘッダに認証トークンが指定されている場合(S27で「YES」)、制御部22は、認証サーバに問い合わせて、指定された認証トークンが正しいか否かを判定する(S28)。
指定された認証トークンが正しくない場合(S28で「NO」)、制御部22は、クライアント端末11に対して、認証エラー(401)を応答する(S37)。指定された認証トークンが正しい場合(S28で「YES」)、制御部22は、業務サーバを呼び出す(S29)。業務サーバは、その呼び出しに応じて、ステータスコードを返却する(S30)。
S22において、URLにて指定されたAPI名に対応するAPI定義が存在しない場合(S22で「NO」)、制御部22は、リクエストヘッダにAPIキーが指定されているかを判定する(S31)。制御部22は、S21においてAPIキーに相当する部分を取り出している場合、リクエストヘッダにAPIキーが指定されていると判定する。
リクエストヘッダにAPIキーが指定されていない場合(S31で「NO」)、制御部22は、リクエストヘッダに認証トークンが指定されているかを判定する(S35)。制御部22は、S21において認証トークンに相当する部分を取り出している場合、リクエストヘッダに認証トークンが指定されていると判定する。
リクエストヘッダに認証トークンが指定されていない場合(S35で「NO」)、制御部22は、クライアント端末11に対して、認可エラー(403)を応答する(S38)。
リクエストヘッダに認証トークンが指定されている場合(S35で「YES」)、制御部22は、認証サーバに問い合わせて、指定された認証トークンが正しいか否かを判定する(S36)。
指定された認証トークンが正しくない場合(S36で「NO」)、制御部22は、クライアント端末11に対して、認証エラー(401)を応答する(S37)。指定された認証トークンが正しい場合(S36で「YES」)、制御部22は、クライアント端末11に対してAPI定義取得失敗エラー(404)を応答する(S34)。このように、APIキーや認証トークンが正しい場合のみ、制御部22は、クライアント端末11に対して、エラーの原因を示す詳細なエラー情報を応答する。
S31において、リクエストヘッダにAPIキーが指定されている場合(S31で「YES」)、制御部22は、指定されたAPIキーが管理DBに存在するかを判定する(S32)。
指定されたAPIキーが管理DBに存在しない場合(S32で「NO」)、制御部22は、クライアント端末11に対して、認可エラー(403)を応答する(S38)。
指定されたAPIキーが管理DBに存在する場合(S32で「YES」)、制御部22は、リクエストヘッダに認証トークンが指定されているかを判定する(S33)。制御部22は、S21において認証トークンに相当する部分を取り出している場合、リクエストヘッダに認証トークンが指定されていると判定する。
リクエストヘッダに認証トークンが指定されていない場合(S33で「NO」)、制御部22は、クライアント端末11に対してAPI定義取得失敗エラー(404)を応答する(S34)。このように、APIキーや認証トークンが正しい場合のみ、制御部22は、クライアント端末11に対して、エラーの原因を示す詳細なエラー情報を応答する。
リクエストヘッダに認証トークンが指定されている場合(S33で「YES」)、制御部22は、クライアント端末11に対して、認可エラー(403)を応答する(S38)。
S37,S38において、仮に、不用意なレスポンスとして、「API定義取得失敗エラー」を返した場合、攻撃者に対し、指定したAPI名が正しい/正しくないの情報を返してしまうことになる。それに対し、本実施形態のレスポンスでは、認可エラーあるいは認証エラーを返すため、指定したAPI名が正しいかどうかの情報を攻撃者に提供することを抑止することができる。
なお、S34では、APIキーが正しいことを確認できているので、エラーの原因を示す適切なエラーを返す。
図7は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ30は、中継サーバ12として機能する。コンピュータ30は、CPU32、ROM33、RAM36、通信I/F34、記憶装置37、出力I/F31、入力I/F35、読取装置38、バス39、出力装置41、入力装置42によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス39には、CPU32、ROM33、RAM36、通信I/F34、記憶装置37、出力I/F31、入力I/F35、及び読取装置38が接続されている。読取装置38は、可搬型記録媒体を読み出す装置である。出力装置41は、出力I/F31に接続されている。入力装置42は、入力I/F35に接続されている。
記憶装置37としては、ハードディスク、フラッシュメモリカードなど様々な形式の記憶装置を使用することができる。記憶装置37またはROM33には、CPU32を判定実行部2、送信部3として機能させる本実施形態に係るプログラムが格納されている。
CPU32は、制御部22として、記憶装置37またはROM33から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
通信I/F34は、ネットワークと接続して他の装置と通信するためのポート等のインターフェースである。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク70、および通信I/F34を介して、例えば記憶装置37に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置38にセットされて、CPU32によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置38によって読み取られる。
入力装置42には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力装置41には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。
ネットワーク40は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
本実施形態によれば、中間サーバ12への不正なアクセスに対し、不用意なレスポンス情報を返さないようにすることができる。その結果、不正なアクセスを行う攻撃者へ、不正アクセスを有利にする情報の露出を抑えることができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 認証制御装置
2 判定実行部
3 送信部
11 クライアント端末
12 中間サーバ
13 業務サーバ13
14,14’ インターネット
15 暗号化通信
21 通信I/F
22 制御部
23 記憶部
24 API定義

Claims (4)

  1. コンピュータに、
    アプリケーションソフトウェアの機能またはデータを呼び出すインターフェースの利用を要求するリクエスト情報を受信した際に、該リクエスト情報に含まれる該インターフェースの識別情報に基づいて前記リクエスト情報の正当性を判定する第1の判定処理と、該リクエスト情報に含まれるインターフェースについてのキー情報または認証トークン情報であって該インターフェースの利用申請に対して申請したユーザの該インターフェースの利用を許可する該キー情報または該ユーザの正当性を判定する該認証トークン情報の少なくとも1つに基づいて前記リクエスト情報の正当性を判定する第2の判定処理と、を実行し、
    前記第2の判定処理の結果、前記リクエスト情報が正当でないと判定された場合、前記第1の判定処理の結果によらず、前記リクエスト情報の送信元に対してアクセスが許容されない旨を示すエラー情報を送信する、
    処理を実行させることを特徴とする認証制御プログラム。
  2. 前記エラー情報は、エラーの原因を特定する情報を含まず、前記アクセスが許容されないことのみを通知する情報である
    ことを特徴とする請求項1に記載の認証制御プログラム。
  3. アプリケーションソフトウェアの機能またはデータを呼び出すインターフェースの利用を要求するリクエスト情報を受信した際に、該リクエスト情報に含まれる該インターフェースの識別情報に基づいて前記リクエスト情報の正当性を判定する第1の判定処理と、該リクエスト情報に含まれるインターフェースについてのキー情報または認証トークン情報であって該インターフェースの利用申請に対して申請したユーザの該インターフェースの利用を許可する該キー情報または該ユーザの正当性を判定する該認証トークン情報の少なくとも1つに基づいて前記リクエスト情報の正当性を判定する第2の判定処理と、を実行する判定実行部と、
    前記第2の判定処理の結果、前記リクエスト情報が正当でないと判定された場合、前記第1の判定処理の結果によらず、前記リクエスト情報の送信元に対してアクセスが許容されない旨を示すエラー情報を送信する送信部と、
    を備えることを特徴とする認証制御装置。
  4. コンピュータが、
    アプリケーションソフトウェアの機能またはデータを呼び出すインターフェースの利用を要求するリクエスト情報を受信した際に、該リクエスト情報に含まれる該インターフェースの識別情報に基づいて前記リクエスト情報の正当性を判定する第1の判定処理と、該リクエスト情報に含まれるインターフェースについてのキー情報または認証トークン情報であって該インターフェースの利用申請に対して申請したユーザの該インターフェースの利用を許可する該キー情報または該ユーザの正当性を判定する該認証トークン情報の少なくとも1つに基づいて前記リクエスト情報の正当性を判定する第2の判定処理と、を実行し、
    前記第2の判定処理の結果、前記リクエスト情報が正当でないと判定された場合、前記第1の判定処理の結果によらず、前記リクエスト情報の送信元に対してアクセスが許容されない旨を示すエラー情報を送信する、
    処理を実行させることを特徴とする認証制御方法。
JP2015227697A 2015-11-20 2015-11-20 認証制御プログラム、認証制御装置、及び認証制御方法 Active JP6572750B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015227697A JP6572750B2 (ja) 2015-11-20 2015-11-20 認証制御プログラム、認証制御装置、及び認証制御方法
US15/281,170 US10305913B2 (en) 2015-11-20 2016-09-30 Authentication control device and authentication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015227697A JP6572750B2 (ja) 2015-11-20 2015-11-20 認証制御プログラム、認証制御装置、及び認証制御方法

Publications (2)

Publication Number Publication Date
JP2017097542A JP2017097542A (ja) 2017-06-01
JP6572750B2 true JP6572750B2 (ja) 2019-09-11

Family

ID=58721402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015227697A Active JP6572750B2 (ja) 2015-11-20 2015-11-20 認証制御プログラム、認証制御装置、及び認証制御方法

Country Status (2)

Country Link
US (1) US10305913B2 (ja)
JP (1) JP6572750B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512845B (zh) * 2018-03-30 2020-09-29 广州视源电子科技股份有限公司 接口调用的校验方法及装置
CN111294466B (zh) * 2018-12-06 2021-07-16 中国移动通信集团安徽有限公司 非法呼叫的识别方法、装置、设备及介质
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
US11477187B2 (en) 2020-03-06 2022-10-18 International Business Machines Corporation API key access authorization
CN111581635B (zh) * 2020-05-13 2023-09-05 中国民航信息网络股份有限公司 一种数据处理方法及系统
US11381564B2 (en) * 2020-10-09 2022-07-05 Sap Se Resource security integration platform
US11943221B2 (en) * 2021-08-25 2024-03-26 International Business Machines Corporation Preventing masquerading service attacks
CN113821783B (zh) * 2021-09-29 2022-04-08 北京云歌科技有限责任公司 一种多功能的安全授权API Key实现系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613659B1 (en) * 1994-11-28 2009-11-03 Yt Acquisition Corporation System and method for processing tokenless biometric electronic transmissions using an electronic rule module clearinghouse
JP4140683B2 (ja) * 2001-05-28 2008-08-27 株式会社エヌ・ティ・ティ・データ ディレクトリ隠蔽方法、装置及びicカードシステム
WO2009001447A1 (ja) 2007-06-27 2008-12-31 Fujitsu Limited 認証方法、認証システム、認証装置及びコンピュータプログラム
CN101616136B (zh) * 2008-06-26 2013-05-01 阿里巴巴集团控股有限公司 一种提供互联网服务的方法及服务集成平台系统
JP6390123B2 (ja) * 2014-03-11 2018-09-19 株式会社リコー 情報処理システム及び認証情報提供方法
US20150347611A1 (en) * 2014-06-03 2015-12-03 Genband Us Llc Portal context switching for hierarchical resale of telecommunication products
US9635007B2 (en) * 2015-09-24 2017-04-25 Heat Software Usa Inc. Dynamic web services server

Also Published As

Publication number Publication date
JP2017097542A (ja) 2017-06-01
US10305913B2 (en) 2019-05-28
US20170149790A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
JP6572750B2 (ja) 認証制御プログラム、認証制御装置、及び認証制御方法
US11082225B2 (en) Information processing system and control method therefor
US20240048560A1 (en) Systems and methods for endpoint management
CN111953708B (zh) 基于云平台的跨账号登录方法、装置及服务器
WO2016188256A1 (zh) 一种应用接入鉴权的方法、系统、装置及终端
CN111316267B (zh) 使用委托身份的认证
CN110322940B (zh) 一种医疗数据共享的访问授权方法及系统
CN107122674B (zh) 一种应用于运维审计系统的oracle数据库的访问方法
JP5602165B2 (ja) ネットワーク通信を保護する方法および装置
CN111355713B (zh) 一种代理访问方法、装置、代理网关及可读存储介质
CN112532599B (zh) 一种动态鉴权方法、装置、电子设备和存储介质
US20150280920A1 (en) System and method for authorization
JP2022528711A (ja) 分散台帳に関連付けられた宛先アドレッシング
US11233783B2 (en) Authentication in a computer network system
JP2008282212A (ja) 認証装置及び認証システム
KR20090054774A (ko) 분산 네트워크 환경에서의 통합 보안 관리 방법
KR102062851B1 (ko) 토큰 관리 데몬을 이용한 싱글 사인 온 서비스 인증 방법 및 시스템
KR101619928B1 (ko) 이동단말기의 원격제어시스템
KR20150115332A (ko) 개방형 서비스 컴포넌트 접근 제어 관리 장치 및 그 방법
CN104113511A (zh) 一种接入ims网络的方法、系统及相关装置
TWI551105B (zh) 管理憑證之系統及其方法
CN114021094B (zh) 远程服务器登录方法、电子设备及存储介质
US11849041B2 (en) Secure exchange of session tokens for claims-based tokens in an extensible system
US20230229752A1 (en) Attestation of application identity for inter-app communications
CN107925653B (zh) 用于安全传输其中数据的电信系统以及与该电信系统相关联的设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190628

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190729

R150 Certificate of patent or registration of utility model

Ref document number: 6572750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150