JP6785526B2 - ネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラム - Google Patents
ネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラム Download PDFInfo
- Publication number
- JP6785526B2 JP6785526B2 JP2017179958A JP2017179958A JP6785526B2 JP 6785526 B2 JP6785526 B2 JP 6785526B2 JP 2017179958 A JP2017179958 A JP 2017179958A JP 2017179958 A JP2017179958 A JP 2017179958A JP 6785526 B2 JP6785526 B2 JP 6785526B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- service
- gateway
- access
- instance
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
1.オープンAPI・APIエコノミー
サービス提供にあたり、複数の他サービスを利用し、組み合わせる(連携させる)ことで、効率的なサービス構築を実現させる。そのために、サービスAPIをオープンにし、他者による利用を促進させる技術である。
2.マイクロサービス
サービスを構築する際に、一枚岩のプログラムで作るのではなく、機能毎に細かく分割し、ネットワークでそれらをつなげることで、サービスの部品単位のスケーラビリティと可用性を高める技術である。
3.OAuth2(非特許文献1)
自サービスを他サービスに利用させるためにAPIを整備する際、自サービスが持つ個人のID・パスワードを他サービスに知らせないようにするために、他サービスへの利用認可は自サービスで行い、他サービスには「トークン」を発行し、APIアクセスの際にそのトークンも附帯させる技術である。本技術の前は、「スクレイピング」による情報取得が一般であり、ID・パスワードの漏洩の危険性があった。
4.FaaS(Function as a Service)
サービス連携にあたり、使用するクラウドの資源を極小化するために、ユーザがサービスを利用するときのみ動的に資源を確保し、それ以外は資源を開放する。利用者がいないときは資源を確保しないため、全体としての資源利用効率は他のXaaS(IaaS/PaaS)サービスより良い。
5.コンテナ技術
オペレーティング・システムが管理する計算機の諸資源を、OSの名前空間で分離し、分離された資源間の通信には仮想的なネットワークのみを用いることで、低コストで仮想化環境を実現する技術である。
1つ目は、クライアント(ユーザの一部権限の委譲先のサービス)は技術的には、通過するデータを自分の自由に利用することができ、悪意があれば利用者の情報を第三者に漏洩させることができる点である。
2つ目は、権限の委譲元のサービス(リソースサーバ)は委譲先のサービス(クライアント)をURL等で個別に管理しなければならず、オープンAPIであるにも関わらず接続先を限定したり、管理したりしなければならず、自由な接続が実現できない点である。
日常生活で扱われる様々なデータや機器を利用するAPI(Application Programming Interface)が共通化ないしオープン化され、ユーザがAPIをアクセスする第三者サービス(クライアント)を経由してサービスを利用することが望まれている。そのためには、ユーザが第三者サービスに自分の利用するサービスにおける権限の一部を委譲する必要がある。しかし、悪意ある第三者サービスが、委譲された権限を悪用してユーザの個人情報を外部に流出させる可能性があり、これを防ぐような技術的な対処方法は、現在存在していない。
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、前記クライアントインスタンスから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するネットワークサービス連携方法であって、
前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントインスタンスから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とする。
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして生成するクライアントインスタンス生成サーバと、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、
前記クライアントインスタンスから前記リソースサーバへのアクセスを介するサービスゲートウェーと、
を備えたクライアントサービスプラットフォームであって、
前記クライアントインスタンス生成サーバは、前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントインスタンスから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成することを特徴とする。
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、前記クライアントインスタンスから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するクライアントインスタンス生成サーバであって、
前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントインスタンスから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成することを特徴とする。
前記ファイアウォール機能は、
前記クライアントインスタンスの有効性を確認するアクセストークンを前記リソースサーバ側から前記クライアントゲートウェーに取得させ、前記ユーザ端末から前記クライアントゲートウェー及び前記クライアントインスタンスを経由して前記サービスゲートウェーへ転送されるアクセスに前記アクセストークンを付加するとともに、
前記ユーザ端末の識別情報、前記リソースサーバのアドレス及び前記クライアントインスタンスのアドレスを前記クライアントゲートウェーから前記サービスゲートウェーへ通知させ、前記サービスゲートウェーにて前記クライアントインスタンスから前記サービスゲートウェーへ転送される前記アクセスの送信元と送信先を確認する
ことを特徴とする。
本実施形態の「エンティティ」「クライアント」「認可コード」「アクセストークン」「リソースサーバ」「認可サーバ」などの用語は、OAuth2(非特許文献1)での用法を用いる。
なお、本実施形態のロールとは次の通りである。
本発明にて、安全な中間サービス(クライアント)を実現するロールは独立した5者である。
(1)エンティティ
利用者の端末。パソコンのWebブラウザや携帯端末を想定する。
(2)クライアントサービスプラットフォーム
安全なクライアントを動作させるためのプラットフォームである。サービス事業者による運営を想定し、次を含む構成である。
・クライアントゲートウェー
・サービスゲートウェー
・クライアントインスタンス生成サーバ
・クライアントインスタンス
・クライアント用リソースデータベース
・クライアント監視モニタ(必須ではない。図1には記載していない)
(3)サービス
利用者に対する役務を提供する。本実施形態では、利用者はサービスを直接利用するのではなく、クライアントを経由して利用する。サービスは次を含む。
・認可サーバ
・リソースサーバ
(4)クライアント
利用者の代わりにサービスへアクセスする。
(5)証明書発行者
証明書は未発行でも良く、必須ではない。図1には記載していない。
(手順1)クライアント・サービス開発者は、開発したクライアント・ソフトウェアを「クライアント・サービスプラットフォーム」の「クライアントインスタンス生成サーバ」に配置する。
ここで、クライアント開発者は、クライアント・ソフトウェアに、クライアントを利用する者の認証情報・アクセス先サービスのアドレスなどを記憶させても良い。また、配置したクライアント・ソフトウェアは任意に更新しても良い。
また、クライアント開発者は、(第三者が発行する)クライアント証明書をクライアントソフトウェアに付加し、サービスのリソース(リソースサーバ)にアクセスする際にその証明書を用いても良い。
(手順2)配置したクライアントに対し、クライアント・サービスプラットフォームはユニークなURLを発行(払い出し)する。利用者は、このURLへのアクセスを通じてクライアントを利用する。このURLはエンティティ側の端末内のソフトウェアに組み込まれてもよい。
図1は、本実施形態のネットワークサービス連携方法を説明する図である。本ネットワークサービス連携方法は、
ユーザ端末102毎に所望のサービスを提供するリソースサーバ17のオープンAPIを利用可能なクライアントインスタンス13をインスタンスとして、
ユーザ端末102からクライアントインスタンス13へのアクセスを介するクライアントゲートウェー11と、クライアントインスタンス13からリソースサーバ17へのアクセスを介するサービスゲートウェー12と、を備えたクライアントサービスプラットフォーム301に生成するネットワークサービス連携方法であって、
クライアントインスタンス13の生成とともに、クライアントインスタンス13へのクライアントゲートウェー11以外からのアクセス、およびクライアントインスタンス13から前記サービスゲートウェー12以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とする。
クライアントインスタンス13の有効性を確認するアクセストークンをサービス101側からクライアントゲートウェー11に取得させ、ユーザ端末102からクライアントゲートウェー11及びクライアントインスタンス13を経由してサービスゲートウェー12へ転送されるアクセスに前記アクセストークンを付加するとともに、
ユーザ端末102の識別情報、リソースサーバ17のアドレス及びクライアントインスタンス13のアドレスをクライアントゲートウェー11からサービスゲートウェー12へ通知させ、サービスゲートウェー12にてクライアントインスタンス13からサービスゲートウェー12へ転送される前記アクセスの送信元と送信先を確認する。
ユーザ端末102毎に所望のサービスを提供するリソースサーバ17のオープンAPIを利用可能なクライアントインスタンス13をインスタンスとして生成するクライアントインスタンス生成サーバ14と、
ユーザ端末102からクライアントインスタンス13へのアクセスを介するクライアントゲートウェー11と、
クライアントインスタンス13からリソースサーバ17へのアクセスを介するサービスゲートウェー12と、
を備える。
そして、クライアントインスタンス生成サーバ14は、クライアントインスタンス13の生成とともに、クライアントインスタンス13へのクライアントゲートウェー11以外からのアクセス、およびクライアントインスタンス13からサービスゲートウェー12以外へのアクセスを遮断するファイアウォール機能を生成する。
「エンティティ(ユーザ端末102)」は、サービス101の「認可サーバ16」にログイン認証し、クライアントインスタンス13がリソースサーバ17を利用する権限の範囲を示し、「認可コード」と「リソースサーバのURL」を取得する。
(ステップS02)
「エンティティ」は、サービス連携初期設定の(手順2)で示されるクライアントインスタンス13のURLにアクセスする。その際、「クライアント・サービスプラットフォーム301」の「クライアント・ゲートウェー11」の認証を受けていないエンティティは、「クライアント・ゲートウェー11」に「ユーザID」でログイン(認証)する。
なお、このステップS01とステップS02は前後しても良い。また、ステップS02のログインの後に、自動的にステップ1の認可サーバへリダイレクトしても良い。
(ステップS03)
「エンティティ」は、「クライアント・ゲートウェー11」に、ステップS01で取得した「認可コード」および「リソースURL」を通知する。
(ステップS04)
「クライアント・ゲートウェー11」は、「認可サーバ16」に対して、「認可コード」を提示して、「アクセストークン」を取得する。ここで、エンティティが直接、アクセストークンを取得しないのは、エンティティの盗難ないし解析等による不正なリソースサーバへのアクセスを防ぐためである。
(ステップS05)
「クライアント・ゲートウェー11」は、「サービス・ゲートウェー12」へ、ユーザ端末102の「ユーザID」や「リソースサーバのアドレス」を通知する。
(ステップS06)
「エンティティ」は、「クライアント・ゲートウェー11」を経由し、クライアントインスタンス13へアクセスする。
(ステップS07)
「クライアント・ゲートウェー11」は、「ユーザID」に基いて、「クライアント・サービスプラットフォーム301」内の当該IDを持つユーザ専用の「クライアントインスタンス13」がインスタンスで形成されているか否かを確認する。「クライアントインスタンス13」が存在しない場合は、「クライアント・インスタンス生成サーバ14」に「クライアントインスタンス13」の生成を指示する。
(ステップS08)
「クライアント・インスンタンス生成サーバ14」は、「ユーザID」固有の「クライアントインスタンス13」をインスタンスで生成し、当該クライアントインスタンス13にアクセスするためのアドレスを「クライアント・ゲートウェー11」に返す。その際、「クライアント・サービスプラットフォーム301」は、ユーザ情報を長期保存するための「クライアント用リソース・データベース15」をユーザID毎に用意し、「クライアント用リソース・データベース15」のみ情報(アクセストークンなど)の保存ないし取得を許容しても良い。
(ステップS09)
「クライアント・ゲートウェー11」は、「サービス・ゲートウェー12」に「クライアントインスタンス13」のアドレスを通知する。
(ステップS10)
「クライアント・ゲートウェー11」は、「エンティティ」からのアクセスに対し、「アクセストークン」をURL等に付加し、「クライアントインスタンス13」へアクセスを転送する。
(ステップS11)
「クライアントインスタンス13」は、サービスの「リソースサーバ17」へアクセスする際、ステップS10で受領した「アクセストークン」を付与する。
(ステップS12)
「クライアントインスタンス13」から「リソースサーバ17」へアクセスするHTTPS通信パケットは、「サービスゲートウェー12」において、その発信元および送信先アドレスがチェックされる。発信元および送信先アドレスがステップS05およびステップS09で通知されたアドレス情報と一致していることを確認する。
(ステップS13)
「サービスゲートウェー12」を通過したパケットは、「リソースサーバ17」にアクセスし、サービスを受ける。「リソースサーバ17」は、アクセストークンで「クライアントインスタンス13」の有効性を確認する。
(A)エンティティは、Webブラウザが前提である。Webブラウザには、“Same Origin Policy”と呼ばれる、サーバから取得した情報を外部に漏洩させない機構が標準で装備されている。
(B)エンティティはリソースサーバ17へアクセスするのに必要なアクセストークンを保存しない。そのため、認可コードの有効期間を短くすることで、エンティティ側のブラウザの内部状態を第三者が解析できたとしても、認可コードの有効期間を渡過していればリソースサーバ17へのアクセスはできない。
(C)第三者サービス(クライアントインスタンス13)は、その通信路をクライアントサービスプラットフォーム301が利用するクライアント・ゲートウェー11およびサービス・ゲートウェー12によって、アクセス先をリソースサーバ17に制限されている。クライアントサービスプラットフォーム301は、他にアクセスすることをネットワーク的に防止しているため、クライアントインスタンス13は自分が入手した利用者のプライバシーに関わる情報を、漏洩することはできない。
12:サービス・ゲートウェー
13:クライアントインスタンス
14:クライアント・インスタンス生成サーバ
15:クライアント用リソース・データベース
16:認可サーバ
17:リソースサーバ
101:サービス
102:ユーザ端末(エンティティ)
301:クライアント・サービスプラットフォーム
Claims (4)
- ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして生成するクライアントインスタンス生成サーバと、前記ユーザ端末から前記クライアントへのアクセスを介するクライアントゲートウェーと、前記クライアントから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームにおけるネットワークサービス連携方法であって、
前記クライアントインスタンス生成サーバが、
前記クライアントの生成とともに、前記クライアントへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成し、
前記ファイアウォール機能は、
前記クライアントの有効性を確認するアクセストークンを前記リソースサーバ側から前記クライアントゲートウェーに取得させ、前記ユーザ端末から前記クライアントゲートウェー及び前記クライアントを経由して前記サービスゲートウェーへ転送されるアクセスに前記アクセストークンを付加するとともに、
前記ユーザ端末の識別情報、前記リソースサーバのアドレス及び前記クライアントのアドレスを前記クライアントゲートウェーから前記サービスゲートウェーへ通知させ、前記サービスゲートウェーにて前記クライアントから前記サービスゲートウェーへ転送される前記アクセスの送信元と送信先を確認する
ことを特徴とするネットワークサービス連携方法。 - ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして生成するクライアントインスタンス生成サーバと、
前記ユーザ端末から前記クライアントへのアクセスを介するクライアントゲートウェーと、
前記クライアントから前記リソースサーバへのアクセスを介するサービスゲートウェーと、
を備えたクライアントサービスプラットフォームであって、
前記クライアントインスタンス生成サーバは、
前記クライアントの生成とともに、前記クライアントへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成し、
前記ファイアウォール機能は、
前記クライアントの有効性を確認するアクセストークンを前記リソースサーバ側から前記クライアントゲートウェーに取得させ、前記ユーザ端末から前記クライアントゲートウェー及び前記クライアントを経由して前記サービスゲートウェーへ転送されるアクセスに前記アクセストークンを付加するとともに、
前記ユーザ端末の識別情報、前記リソースサーバのアドレス及び前記クライアントのアドレスを前記クライアントゲートウェーから前記サービスゲートウェーへ通知させ、前記サービスゲートウェーにて前記クライアントから前記サービスゲートウェーへ転送される前記アクセスの送信元と送信先を確認する
ことを特徴とするクライアントサービスプラットフォーム。 - ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、前記ユーザ端末から前記クライアントへのアクセスを介するクライアントゲートウェーと、前記クライアントから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するクライアントインスタンス生成サーバであって、
前記クライアントの生成とともに、前記クライアントへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成し、
前記ファイアウォール機能は、
前記クライアントの有効性を確認するアクセストークンを前記リソースサーバ側から前記クライアントゲートウェーに取得させ、前記ユーザ端末から前記クライアントゲートウェー及び前記クライアントを経由して前記サービスゲートウェーへ転送されるアクセスに前記アクセストークンを付加するとともに、
前記ユーザ端末の識別情報、前記リソースサーバのアドレス及び前記クライアントのアドレスを前記クライアントゲートウェーから前記サービスゲートウェーへ通知させ、前記サービスゲートウェーにて前記クライアントから前記サービスゲートウェーへ転送される前記アクセスの送信元と送信先を確認する
ことを特徴とするクライアントインスタンス生成サーバ。 - コンピュータを請求項3に記載のクライアントインスタンス生成サーバとして機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017179958A JP6785526B2 (ja) | 2017-09-20 | 2017-09-20 | ネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017179958A JP6785526B2 (ja) | 2017-09-20 | 2017-09-20 | ネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019057778A JP2019057778A (ja) | 2019-04-11 |
JP6785526B2 true JP6785526B2 (ja) | 2020-11-18 |
Family
ID=66106346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017179958A Active JP6785526B2 (ja) | 2017-09-20 | 2017-09-20 | ネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6785526B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4083806A4 (en) | 2019-12-26 | 2024-01-17 | Sivira Inc. | APPLICATION LINKAGE METHOD, COMPUTER PROGRAM AND APPLICATION LINKAGE SYSTEM |
-
2017
- 2017-09-20 JP JP2017179958A patent/JP6785526B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019057778A (ja) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6987931B2 (ja) | クライアントアプリケーションのためのセキュアなシングルサインオン及び条件付きアクセス | |
AU2019206006B2 (en) | System and method for biometric protocol standards | |
JP6625636B2 (ja) | サービスとしてのアイデンティティインフラストラクチャ | |
US9674173B2 (en) | Automatic certificate enrollment in a special-purpose appliance | |
US10178096B2 (en) | Enhanced data leakage detection in cloud services | |
US9305163B2 (en) | User, device, and app authentication implemented between a client device and VPN gateway | |
US20210136068A1 (en) | Telecom node control via blockchain | |
US11442755B1 (en) | Secure access to a corporate application using a facade | |
US10171470B2 (en) | Techniques for secure debugging and monitoring | |
US20220224535A1 (en) | Dynamic authorization and access management | |
US20070143408A1 (en) | Enterprise to enterprise instant messaging | |
JP2016530814A (ja) | 大量のvpn接続を遮断するためのゲートウェイデバイス | |
CN112930670A (zh) | 用于网络应用的集成服务发现的系统和方法 | |
Graupner et al. | Secure access control for multi-cloud resources | |
US11977620B2 (en) | Attestation of application identity for inter-app communications | |
JP6785526B2 (ja) | ネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラム | |
Wang et al. | A framework for formal analysis of privacy on SSO protocols | |
US20220150277A1 (en) | Malware detonation | |
Fett | FAPI 2.0: A high-security profile for OAuth and OpenID connect | |
Kuzminykh et al. | Mechanisms of ensuring security in Keystone service | |
US20240187411A1 (en) | Human system operator identity associated audit trail of containerized network application with prevention of privilege escalation, online black-box testing, and related systems and methods | |
KR20240110793A (ko) | 원격 클라우드-저장 자원에 대한 이중 엔드포인트 액세스 제어를 제공하기 위한 시스템 및 방법 | |
Olmsted | Secure autonomous process communication | |
Dwoskin et al. | Scoping security issues for interactive grids | |
Dei Cas | A practical approach to enhance web APIs security using a stateless, open-source, pluggable API gateway |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190828 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201012 |
|
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: 20201020 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201023 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6785526 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |