JP2019057778A - Network service cooperation method, client service platform, client instance creation server, and program - Google Patents

Network service cooperation method, client service platform, client instance creation server, and program Download PDF

Info

Publication number
JP2019057778A
JP2019057778A JP2017179958A JP2017179958A JP2019057778A JP 2019057778 A JP2019057778 A JP 2019057778A JP 2017179958 A JP2017179958 A JP 2017179958A JP 2017179958 A JP2017179958 A JP 2017179958A JP 2019057778 A JP2019057778 A JP 2019057778A
Authority
JP
Japan
Prior art keywords
client
service
gateway
instance
access
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
Application number
JP2017179958A
Other languages
Japanese (ja)
Other versions
JP6785526B2 (en
Inventor
太一 川幡
Taichi Kawabata
太一 川幡
規夫 坂井田
Norio Sakaida
規夫 坂井田
篤 谷口
Atsushi Taniguchi
篤 谷口
勇貴 南
Yuki Minami
勇貴 南
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017179958A priority Critical patent/JP6785526B2/en
Publication of JP2019057778A publication Critical patent/JP2019057778A/en
Application granted granted Critical
Publication of JP6785526B2 publication Critical patent/JP6785526B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a network service cooperation method, and the like, while allows a user to prevent technical information leakage for a third person service accessing the API.SOLUTION: In a situation where one service has personal information of a user, and provides an API for causing the other service to use its own service, a network service cooperation method creates a closed network for connecting the own service and the other service kinetically, so that the other service does not leak information of the own service to the outside, when the other service uses the personal information of the user owned by the own service.SELECTED DRAWING: Figure 1

Description

本開示は、複数の異なる事業者が運営するサービスを連携し、ユーザに提供するネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラムに関する。   The present disclosure relates to a network service cooperation method, a client service platform, a client instance generation server, and a program that cooperate with services operated by a plurality of different operators and provide them to users.

現在、多くのB2B2C(Business to Business to Consumer)サービスは、Oauth等の認可技術(例えば、非特許文献2を参照。)を用いてユーザの権限の一部を委譲している。この方法では、権限の委譲先のサービスの信頼性は、HTTPSによるリダイレクトにおけるURLと証明書による信用に基づいている。   Currently, many B2B2C (Business to Business to Consumer) services delegate part of the user's authority using an authorization technology such as Oauth (see, for example, Non-Patent Document 2). In this method, the reliability of the service to which the authority is delegated is based on the trust by the URL and certificate in the redirect by HTTPS.

なお、背景には次のような技術がある。
1.オープンAPI・APIエコノミー
サービス提供にあたり、複数の他サービスを利用し、組み合わせる(連携させる)ことで、効率的なサービス構築を実現させる。そのために、サービスAPIをオープンにし、他者による利用を促進させる技術である。
2.マイクロサービス
サービスを構築する際に、一枚岩のプログラムで作るのではなく、機能毎に細かく分割し、ネットワークでそれらをつなげることで、サービスの部品単位のスケーラビリティと可用性を高める技術である。
3.OAuth2(非特許文献1)
自サービスを他サービスに利用させるためにAPIを整備する際、自サービスが持つ個人のID・パスワードを他サービスに知らせないようにするために、他サービスへの利用認可は自サービスで行い、他サービスには「トークン」を発行し、APIアクセスの際にそのトークンも附帯させる技術である。本技術の前は、「スクレイピング」による情報取得が一般であり、ID・パスワードの漏洩の危険性があった。
4.FaaS(Function as a Service)
サービス連携にあたり、使用するクラウドの資源を極小化するために、ユーザがサービスを利用するときのみ動的に資源を確保し、それ以外は資源を開放する。利用者がいないときは資源を確保しないため、全体としての資源利用効率は他のXaaS(IaaS/PaaS)サービスより良い。
5.コンテナ技術
オペレーティング・システムが管理する計算機の諸資源を、OSの名前空間で分離し、分離された資源間の通信には仮想的なネットワークのみを用いることで、低コストで仮想化環境を実現する技術である。
The background is the following technology.
1. Open API / API Economy In providing services, multiple services are used and combined (linked) to realize efficient service construction. Therefore, it is a technology that opens a service API and promotes use by others.
2. When building a microservice service, it is a technology that increases the scalability and availability of each service component by dividing it into functions and connecting them with a network, rather than creating them with a monolithic program.
3. OAuth2 (Non-Patent Document 1)
When developing an API to allow other services to be used by other services, in order not to let other services know the personal ID and password of their own services, use authorization for other services is done by the own service, and others This is a technology for issuing a “token” to a service and attaching the token to the API access. Prior to this technology, information acquisition by “scraping” was common, and there was a risk of leakage of ID / password.
4). Faas (Function as a Service)
In service cooperation, in order to minimize the resources of the cloud to be used, resources are dynamically secured only when the user uses the service, and other resources are released. Since resources are not secured when there are no users, overall resource utilization efficiency is better than other XaaS (IaaS / PaaS) services.
5. Container technology Computer resources managed by the operating system are separated in the OS name space, and a virtual environment is realized at low cost by using only a virtual network for communication between the separated resources. Technology.

RFC6749RFC6749

現在の認可技術の手法には2つの問題点がある。
1つ目は、クライアント(ユーザの一部権限の委譲先のサービス)は技術的には、通過するデータを自分の自由に利用することができ、悪意があれば利用者の情報を第三者に漏洩させることができる点である。
2つ目は、権限の委譲元のサービス(リソースサーバ)は委譲先のサービス(クライアント)をURL等で個別に管理しなければならず、オープンAPIであるにも関わらず接続先を限定したり、管理したりしなければならず、自由な接続が実現できない点である。
There are two problems with current licensing techniques.
First, technically, the client (the service to which the user's partial authority is delegated) can use the data that passes freely, and if there is malicious intent, the user's information can be used by a third party. It is a point that can be leaked.
Second, the authority delegation source service (resource server) must individually manage the delegation destination service (client) by URL, etc., and the connection destination is limited even though it is an open API. It must be managed, and free connection cannot be realized.

従来のB2B2Cのフレームワークにおいて、中間のBが、処理中に得られた情報を外部に漏洩することを防ぐ手段は一般には存在しない。このため、金融のようなプライバシーの高い情報を扱うサービスにおいて、オープンAPIによるクライアント間の自由競争を阻害していた。また、現状では複数の銀行の口座情報を見るためには、サービスはユーザのIDやパスワードを預かり、代理ログインしてスクレイピングしなければならず、パスワードの漏洩のリスクがあった。   In the conventional B2B2C framework, there is generally no means for preventing an intermediate B from leaking information obtained during processing to the outside. For this reason, in a service that handles highly privacy information such as finance, free competition between clients by the open API has been hindered. In addition, at present, in order to view account information of a plurality of banks, the service must store user IDs and passwords, perform proxy login and scraping, and there is a risk of password leakage.

つまり、従来技術には次のような課題があった。
日常生活で扱われる様々なデータや機器を利用するAPI(Application Programming Interface)が共通化ないしオープン化され、ユーザがAPIをアクセスする第三者サービス(クライアント)を経由してサービスを利用することが望まれている。そのためには、ユーザが第三者サービスに自分の利用するサービスにおける権限の一部を委譲する必要がある。しかし、悪意ある第三者サービスが、委譲された権限を悪用してユーザの個人情報を外部に流出させる可能性があり、これを防ぐような技術的な対処方法は、現在存在していない。
That is, the prior art has the following problems.
APIs (Application Programming Interfaces) that use various data and devices handled in daily life are shared or opened, and users can use services via third-party services (clients) that access the APIs. It is desired. For that purpose, it is necessary for the user to delegate a part of the authority in the service he uses to the third party service. However, there is currently no technical solution for preventing a malicious third party service from misusing the delegated authority to leak the user's personal information to the outside.

なお、OAuth2では、中間アプリケーションの信頼性を確認する手段として第三者サービスへのHTTPSリダイレクト先URLに対して、発行される信頼ある認証機関の証明書で確認することを想定しているが、これは社会的な契約による制約であり、技術的な情報漏えい防止の担保はとられていない。   In OAuth2, it is assumed that the certificate of a trusted certificate authority that is issued is checked against the HTTPS redirect destination URL to the third party service as a means of confirming the reliability of the intermediate application. This is a social contract restriction, and technical information leakage prevention is not guaranteed.

そこで、本発明は、上記課題を解決するために、ユーザがAPIをアクセスする第三者サービスに対して技術的な情報漏えい防止ができるネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラムを提供することを目的とする。   Therefore, in order to solve the above problems, the present invention provides a network service cooperation method, a client service platform, a client instance generation server, and a program capable of preventing technical information leakage with respect to a third-party service in which a user accesses an API. The purpose is to provide.

上記目的を達成するために、本発明は、あるサービスがユーザの個人情報を持ち、他サービスに自サービスを利用させるAPIを提供している状況において、自サービスが持つ利用者の個人情報を他サービスが利用する際、他サービスが外部に自サービスの情報を漏洩させないよう、自サービスと他サービスを接続する閉じたネットワークを動的に生成することとした。   In order to achieve the above-described object, the present invention provides a method in which a service has personal information of a user and provides an API that allows other services to use the user's own service. When a service is used, a closed network that connects the service and the other service is dynamically generated so that the service does not leak information about the service to the outside.

具体的には、本発明に係るネットワークサービス連携方法は、
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、前記クライアントインスタンスから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するネットワークサービス連携方法であって、
前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントインスタンスから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とする。
Specifically, the network service cooperation method according to the present invention includes:
As an instance, a client that can use an open API of a resource server that provides a desired service for each user terminal,
A network service cooperation method for generating a client service platform comprising: a client gateway via access from the user terminal to the client instance; and a service gateway via access from the client instance to the resource server. ,
Along with the generation of the client instance, a firewall function is generated that blocks access to the client instance from other than the client gateway and access from the client instance to other than the service gateway.

また、本発明に係るクライアントサービスプラットフォームは、
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして生成するクライアントインスタンス生成サーバと、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、
前記クライアントインスタンスから前記リソースサーバへのアクセスを介するサービスゲートウェーと、
を備えたクライアントサービスプラットフォームであって、
前記クライアントインスタンス生成サーバは、前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントインスタンスから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成することを特徴とする。
In addition, the client service platform according to the present invention is:
A client instance generation server that generates, as an instance, a client that can use an open API of a resource server that provides a desired service for each user terminal;
A client gateway via access from the user terminal to the client instance;
A service gateway via access from the client instance to the resource server;
A client service platform with
The client instance generation server generates a firewall function that blocks access to the client instance from other than the client gateway and access from the client instance to other than the service gateway along with the generation of the client instance. It is characterized by.

さらに、本発明に係るクライアントインスタンス生成サーバは、
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、前記クライアントインスタンスから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するクライアントインスタンス生成サーバであって、
前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントインスタンスから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成することを特徴とする。
Furthermore, the client instance generation server according to the present invention includes:
As an instance, a client that can use an open API of a resource server that provides a desired service for each user terminal,
A client instance generation server for generating a client service platform comprising: a client gateway via access from the user terminal to the client instance; and a service gateway via access from the client instance to the resource server. ,
Along with the generation of the client instance, a firewall function is generated that blocks access to the client instance from other than the client gateway and access from the client instance to other than the service gateway.

本発明は、サービス連携における被利用側が持つ利用者情報の保護を、FaaS(Function as a Service)の技術および最新のコンテナ技術をベースに、Oauth2(RFC 6749)の仕組みから進化させたものである。   In the present invention, the protection of user information on the user side in service cooperation is evolved from the mechanism of Oauth2 (RFC 6749) based on the technology of Faas (Function as a Service) and the latest container technology. .

前述したように、「他サービスに自サービスを利用してもらいたいが、自サービスの利用者のIDやパスワードを他サービスには知られたくない」場合の認可技術として、Oauth2規格がある。しかし、Oauth2では、「他サービスに自サービスを利用してもらう際に、自サービスの顧客データが他サービス経由で外部に流出されるのを防ぐ」ことは想定されていない。それは、他サービスのサーバが、他サービス提供者の管理下にあるためである。   As described above, there is the Auth2 standard as an authorization technique in the case of “I want other services to use my service, but I do not want other services to know the user ID and password of my service”. However, in Auth2, it is not assumed that “when other service uses the own service, the customer data of the own service is prevented from being leaked outside via the other service”. This is because the server of the other service is under the management of the other service provider.

近年、クラウド技術の発展・エッジ技術の発展により、サービスの配置に自由度が増し、その究極の形として、サービスが必要な時だけ機能が活性化される FaaS(Function as a Service)が注目されている。   In recent years, with the development of cloud technology and edge technology, the degree of freedom in service arrangement has increased, and as its ultimate form, Faas (Function as a Service), which activates functions only when the service is required, has attracted attention. ing.

そこで、本発明は、オープンAPIを利用する他サービスをFaaS化したものに限定し、特定プラットフォーム下に配置、他サービスを利用する自サービスのエンドユーザ毎に、他サービスのインスタンスを動的に生成し、情報を保護する仮想ネットワークを動的に構築ないし配置することで、上記の課題を解決する。   Therefore, the present invention limits the other services that use the open API to FaS, and creates an instance of the other service dynamically for each end user of the own service that is placed under a specific platform and uses the other service. Then, the above problem is solved by dynamically constructing or arranging a virtual network for protecting information.

具体的には、クライアント・インスタンスを生成する際、その「クライアント・インスタンス」への「クライアント・ゲートウェー」以外からのアクセス、および「クライアント・インスタンス」から「サービス・ゲートウェー」および「クライアント用リソース・データベース」以外へのアクセスの通信を遮断するファイアウォールをインスタンスに設けている。   Specifically, when creating a client instance, access to the "client instance" from outside the "client gateway", and from the "client instance" to the "service gateway" and "resources for clients" -A firewall is installed on the instance to block communication for access to anything other than the database.

従って、本発明は、ユーザがAPIをアクセスする第三者サービスに対して技術的な情報漏えい防止ができるネットワークサービス連携方法、クライアントサービスプラットフォーム、及びクライアントインスタンス生成サーバを提供することができる。   Therefore, the present invention can provide a network service cooperation method, a client service platform, and a client instance generation server that can prevent technical information leakage with respect to a third party service in which a user accesses an API.

詳細な動作は次の通りである。
前記ファイアウォール機能は、
前記クライアントインスタンスの有効性を確認するアクセストークンを前記リソースサーバ側から前記クライアントゲートウェーに取得させ、前記ユーザ端末から前記クライアントゲートウェー及び前記クライアントインスタンスを経由して前記サービスゲートウェーへ転送されるアクセスに前記アクセストークンを付加するとともに、
前記ユーザ端末の識別情報、前記リソースサーバのアドレス及び前記クライアントインスタンスのアドレスを前記クライアントゲートウェーから前記サービスゲートウェーへ通知させ、前記サービスゲートウェーにて前記クライアントインスタンスから前記サービスゲートウェーへ転送される前記アクセスの送信元と送信先を確認する
ことを特徴とする。
The detailed operation is as follows.
The firewall function is
An access token for confirming the validity of the client instance is acquired from the resource server side to the client gateway and transferred from the user terminal to the service gateway via the client gateway and the client instance. And adding the access token to
The identification information of the user terminal, the address of the resource server, and the address of the client instance are notified from the client gateway to the service gateway, and transferred from the client instance to the service gateway at the service gateway. The transmission source and the transmission destination of the access are confirmed.

また、本発明に係るプログラムは、コンピュータを前記クライアントインスタンス生成サーバとして機能させるためのプログラムである。本発明に係るクライアントインスタンス生成サーバは、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。   A program according to the present invention is a program for causing a computer to function as the client instance generation server. The client instance generation server according to the present invention can be realized by a computer and a program, and can be recorded on a recording medium or provided through a network.

本発明は、ユーザがAPIをアクセスする第三者サービスに対して技術的な情報漏えい防止ができるネットワークサービス連携方法、クライアントサービスプラットフォーム、クライアントインスタンス生成サーバ及びプログラムを提供することができる。   The present invention can provide a network service cooperation method, a client service platform, a client instance generation server, and a program that can prevent technical information leakage for a third party service in which a user accesses an API.

本発明に係るネットワークサービス連携方法を説明する図である。It is a figure explaining the network service cooperation method which concerns on this invention.

添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。   Embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments described below are examples of the present invention, and the present invention is not limited to the following embodiments. In the present specification and drawings, the same reference numerals denote the same components.

[概要]
本実施形態の「エンティティ」「クライアント」「認可コード」「アクセストークン」「リソースサーバ」「認可サーバ」などの用語は、OAuth2(非特許文献1)での用法を用いる。
[Overview]
The terms such as “entity”, “client”, “authorization code”, “access token”, “resource server”, and “authorization server” in the present embodiment use OAuth2 (Non-Patent Document 1).

本実施形態は、「リソースサーバ」のオープンAPIを用いる「クライアント」が、「エンティティ」が意図していない第三者にネットワーク的に接続することを防ぐ技術である。   This embodiment is a technique for preventing a “client” using an open API of a “resource server” from connecting to a third party unintended by an “entity” via a network.

本実施形態は、OAuthの「認可」の仕組みをFaaSの技術で発展させ、仮想ネットワーク技術を取り入れることにより、従来は困難とされていた「クライアント」自身が「リソースサーバ」の情報を使いつつも、それを「クライアント」が第三者に漏洩させることを防ぐものである。   In this embodiment, the “authorization” mechanism of OAuth has been developed with FaaS technology, and by adopting virtual network technology, the “client” itself, which has been considered difficult in the past, can use the information of the “resource server”. This prevents the “client” from leaking to a third party.

本実施形態は、サービスの認可サーバへのユーザの認証とクライアントからのアクセスの認可に伴い発行される「認可コード」を、エンティティがクライアントへアクセスする際に認可サーバと照合し、アクセストークンの発行を受ける。それによってOSの制御グループ技術を使って動的に接続先を制限する。また、パスワードや金銭の振込先のような、クライアントに秘匿したい情報は事前にサーバにクライアントとは別の方法でアクセスする。なお、本技術は認証を対象としない。また、携帯端末の専用アプリや、Java(登録商標)Sciprtで書かれたWebアプリケーションのように、ユーザ側で改造可能なクライアントも対象としない。   In this embodiment, the authorization code issued when the user is authenticated to the service authorization server and the access from the client is checked against the authorization server when the entity accesses the client, and the access token is issued. Receive. As a result, the connection destinations are dynamically restricted using the control group technology of the OS. In addition, information such as passwords and money transfer destinations that the client wants to keep secret is accessed in advance by a method different from the client. Note that this technology does not cover authentication. In addition, a client that can be modified on the user side, such as a dedicated application for a portable terminal or a Web application written in Java (registered trademark) Script, is not targeted.

本実施形態は、Webブラウザで接続され、ユーザ側にサービスのパスワード等の重要な情報を置かないシステムを想定する(OAuthにおけるAuthentication Flow)。現在、一般のWebブラウザからは、CORS等による特別な許可がないかぎり他サイトへ情報は漏洩されない。   This embodiment assumes a system that is connected by a Web browser and does not place important information such as a service password on the user side (Authentication Flow in OAuth). Currently, information is not leaked to other sites from a general Web browser unless there is a special permission such as CORS.

本実施形態におけるロール間の全ての通信は、HTTPS(TCP)で行われ、接続先のIPアドレスはURLから一意に決定されることを前提とする。
なお、本実施形態のロールとは次の通りである。
本発明にて、安全な中間サービス(クライアント)を実現するロールは独立した5者である。
(1)エンティティ
利用者の端末。パソコンのWebブラウザや携帯端末を想定する。
(2)クライアントサービスプラットフォーム
安全なクライアントを動作させるためのプラットフォームである。サービス事業者による運営を想定し、次を含む構成である。
・クライアントゲートウェー
・サービスゲートウェー
・クライアントインスタンス生成サーバ
・クライアントインスタンス
・クライアント用リソースデータベース
・クライアント監視モニタ(必須ではない。図1には記載していない)
(3)サービス
利用者に対する役務を提供する。本実施形態では、利用者はサービスを直接利用するのではなく、クライアントを経由して利用する。サービスは次を含む。
・認可サーバ
・リソースサーバ
(4)クライアント
利用者の代わりにサービスへアクセスする。
(5)証明書発行者
証明書は未発行でも良く、必須ではない。図1には記載していない。
It is assumed that all communication between roles in this embodiment is performed by HTTPS (TCP), and the IP address of the connection destination is uniquely determined from the URL.
In addition, the roll of this embodiment is as follows.
In the present invention, there are five independent roles for realizing a secure intermediate service (client).
(1) Entity User terminal. Assume a personal computer web browser or mobile terminal.
(2) Client service platform This is a platform for operating secure clients. Assuming operation by a service provider, the configuration includes the following.
-Client gateway-Service gateway-Client instance generation server-Client instance-Client resource database-Client monitor monitor (not required, not shown in Figure 1)
(3) Services Provide services to users. In this embodiment, the user does not use the service directly, but uses it via the client. Services include:
-Authorization server-Resource server (4) Client Access to services on behalf of users.
(5) Certificate issuer The certificate may be issued but not required. Not shown in FIG.

[サービス連携初期設定]
(手順1)クライアント・サービス開発者は、開発したクライアント・ソフトウェアを「クライアント・サービスプラットフォーム」の「クライアントインスタンス生成サーバ」に配置する。
ここで、クライアント開発者は、クライアント・ソフトウェアに、クライアントを利用する者の認証情報・アクセス先サービスのアドレスなどを記憶させても良い。また、配置したクライアント・ソフトウェアは任意に更新しても良い。
また、クライアント開発者は、(第三者が発行する)クライアント証明書をクライアントソフトウェアに付加し、サービスのリソース(リソースサーバ)にアクセスする際にその証明書を用いても良い。
(手順2)配置したクライアントに対し、クライアント・サービスプラットフォームはユニークなURLを発行(払い出し)する。利用者は、このURLへのアクセスを通じてクライアントを利用する。このURLはエンティティ側の端末内のソフトウェアに組み込まれてもよい。
[Service linkage initial settings]
(Procedure 1) The client service developer places the developed client software on the “client instance generation server” of the “client service platform”.
Here, the client developer may store the authentication information of the person who uses the client, the address of the access destination service, and the like in the client software. The arranged client software may be arbitrarily updated.
The client developer may add a client certificate (issued by a third party) to the client software and use the certificate when accessing the service resource (resource server).
(Procedure 2) The client service platform issues (pauses) a unique URL to the arranged client. The user uses the client through access to this URL. This URL may be incorporated into software in the terminal on the entity side.

[動作詳細]
図1は、本実施形態のネットワークサービス連携方法を説明する図である。本ネットワークサービス連携方法は、
ユーザ端末102毎に所望のサービスを提供するリソースサーバ17のオープンAPIを利用可能なクライアントインスタンス13をインスタンスとして、
ユーザ端末102からクライアントインスタンス13へのアクセスを介するクライアントゲートウェー11と、クライアントインスタンス13からリソースサーバ17へのアクセスを介するサービスゲートウェー12と、を備えたクライアントサービスプラットフォーム301に生成するネットワークサービス連携方法であって、
クライアントインスタンス13の生成とともに、クライアントインスタンス13へのクライアントゲートウェー11以外からのアクセス、およびクライアントインスタンス13から前記サービスゲートウェー12以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とする。
[Details of operation]
FIG. 1 is a diagram illustrating a network service cooperation method according to this embodiment. This network service linkage method
The client instance 13 that can use the open API of the resource server 17 that provides a desired service for each user terminal 102 is used as an instance.
A network service cooperation method for generating a client service platform 301 including a client gateway 11 via access from the user terminal 102 to the client instance 13 and a service gateway 12 via access from the client instance 13 to the resource server 17 Because
Along with the generation of the client instance 13, a firewall function is generated that blocks access to the client instance 13 from other than the client gateway 11 and access from the client instance 13 to other than the service gateway 12.

前記ファイアウォール機能は、
クライアントインスタンス13の有効性を確認するアクセストークンをサービス101側からクライアントゲートウェー11に取得させ、ユーザ端末102からクライアントゲートウェー11及びクライアントインスタンス13を経由してサービスゲートウェー12へ転送されるアクセスに前記アクセストークンを付加するとともに、
ユーザ端末102の識別情報、リソースサーバ17のアドレス及びクライアントインスタンス13のアドレスをクライアントゲートウェー11からサービスゲートウェー12へ通知させ、サービスゲートウェー12にてクライアントインスタンス13からサービスゲートウェー12へ転送される前記アクセスの送信元と送信先を確認する。
The firewall function is
An access token for confirming the validity of the client instance 13 is acquired from the service 101 to the client gateway 11, and the access is transferred from the user terminal 102 to the service gateway 12 via the client gateway 11 and the client instance 13. Adding the access token,
The identification information of the user terminal 102, the address of the resource server 17 and the address of the client instance 13 are notified from the client gateway 11 to the service gateway 12, and transferred from the client instance 13 to the service gateway 12 by the service gateway 12. Confirm the source and destination of the access.

クライアントサービスプラットフォーム301は、
ユーザ端末102毎に所望のサービスを提供するリソースサーバ17のオープンAPIを利用可能なクライアントインスタンス13をインスタンスとして生成するクライアントインスタンス生成サーバ14と、
ユーザ端末102からクライアントインスタンス13へのアクセスを介するクライアントゲートウェー11と、
クライアントインスタンス13からリソースサーバ17へのアクセスを介するサービスゲートウェー12と、
を備える。
そして、クライアントインスタンス生成サーバ14は、クライアントインスタンス13の生成とともに、クライアントインスタンス13へのクライアントゲートウェー11以外からのアクセス、およびクライアントインスタンス13からサービスゲートウェー12以外へのアクセスを遮断するファイアウォール機能を生成する。
The client service platform 301
A client instance generation server 14 that generates, as an instance, a client instance 13 that can use the open API of the resource server 17 that provides a desired service for each user terminal 102;
A client gateway 11 via access from the user terminal 102 to the client instance 13,
A service gateway 12 through access from the client instance 13 to the resource server 17,
Is provided.
The client instance generation server 14 generates a client instance 13 and a firewall function that blocks access to the client instance 13 from other than the client gateway 11 and access from the client instance 13 to other than the service gateway 12. To do.

(ステップS01)
「エンティティ(ユーザ端末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」の有効性を確認する。
(Step S01)
The “entity (user terminal 102)” logs in to the “authorization server 16” of the service 101, indicates the range of authority for the client instance 13 to use the resource server 17, and includes “authorization code” and “resource server URL”. To get.
(Step S02)
The “entity” accesses the URL of the client instance 13 shown in (procedure 2) of the service cooperation initial setting. At that time, an entity that has not received the authentication of “client gateway 11” of “client service platform 301” logs in (authenticates) to “client gateway 11” with “user ID”.
Note that step S01 and step S02 may be reversed. In addition, after the login in step S02, it may be automatically redirected to the authorization server in step 1.
(Step S03)
The “entity” notifies the “client gateway 11” of the “authorization code” and “resource URL” acquired in step S01.
(Step S04)
The “client gateway 11” presents an “authorization code” to the “authorization server 16” and acquires an “access token”. Here, the reason why the entity does not directly acquire the access token is to prevent access to an unauthorized resource server due to theft or analysis of the entity.
(Step S05)
The “client gateway 11” notifies the “service gateway 12” of the “user ID” and “resource server address” of the user terminal 102.
(Step S06)
The “entity” accesses the client instance 13 via the “client gateway 11”.
(Step S07)
Based on the “user ID”, the “client gateway 11” confirms whether or not the “client instance 13” dedicated to the user having the ID in the “client service platform 301” is formed as an instance. . If “client instance 13” does not exist, “client instance generation server 14” is instructed to generate “client instance 13”.
(Step S08)
The “client instance generation server 14” generates a “client instance 13” unique to the “user ID” as an instance, and returns an address for accessing the client instance 13 to the “client gateway 11”. At that time, the “client service platform 301” prepares a “client resource database 15” for storing user information for a long period of time for each user ID, and only the information about the “client resource database 15” (such as an access token). ) Storage or acquisition may be allowed.
(Step S09)
The “client gateway 11” notifies the “service gateway 12” of the address of the “client instance 13”.
(Step S10)
The “client gateway 11” adds an “access token” to the URL or the like for the access from the “entity”, and transfers the access to the “client instance 13”.
(Step S11)
The “client instance 13” gives the “access token” received in step S10 when accessing the “resource server 17” of the service.
(Step S12)
The HTTPS communication packet that accesses the “resource server 17” from the “client instance 13” is checked at the “service gateway 12” for its source and destination addresses. It is confirmed that the source and destination addresses match the address information notified in steps S05 and S09.
(Step S13)
A packet that has passed through “service gateway 12” accesses “resource server 17” and receives a service. The “resource server 17” confirms the validity of the “client instance 13” with the access token.

図1で説明した動作は、次の特徴を持つ。
(A)エンティティは、Webブラウザが前提である。Webブラウザには、“Same Origin Policy”と呼ばれる、サーバから取得した情報を外部に漏洩させない機構が標準で装備されている。
(B)エンティティはリソースサーバ17へアクセスするのに必要なアクセストークンを保存しない。そのため、認可コードの有効期間を短くすることで、エンティティ側のブラウザの内部状態を第三者が解析できたとしても、認可コードの有効期間を渡過していればリソースサーバ17へのアクセスはできない。
(C)第三者サービス(クライアントインスタンス13)は、その通信路をクライアントサービスプラットフォーム301が利用するクライアント・ゲートウェー11およびサービス・ゲートウェー12によって、アクセス先をリソースサーバ17に制限されている。クライアントサービスプラットフォーム301は、他にアクセスすることをネットワーク的に防止しているため、クライアントインスタンス13は自分が入手した利用者のプライバシーに関わる情報を、漏洩することはできない。
The operation described in FIG. 1 has the following characteristics.
(A) The entity is premised on a Web browser. Web browsers are equipped with a mechanism called “Same Origin Policy” that prevents information acquired from a server from leaking outside.
(B) The entity does not store an access token necessary for accessing the resource server 17. Therefore, even if a third party can analyze the internal state of the browser on the entity side by shortening the validity period of the authorization code, if the validity period of the authorization code is passed, access to the resource server 17 is not Can not.
(C) The access destination of the third party service (client instance 13) is limited to the resource server 17 by the client gateway 11 and the service gateway 12 that use the communication path by the client service platform 301. Since the client service platform 301 prevents access to others through the network, the client instance 13 cannot leak information about the privacy of the user that the client instance 13 has acquired.

従って、本実施形態で説明したネットワークサービス連携方法は、携帯端末やパソコン等から、ユーザが利用するサービスのオープンAPIを利用する第三者サービス(クライアント)を利用する際、悪意のある第三者サービス(クライアント)がユーザのサービスに関する情報を他に漏洩することを防止できる。   Therefore, the network service cooperation method described in this embodiment is a malicious third party when using a third party service (client) that uses an open API of a service used by a user from a mobile terminal or a personal computer. It is possible to prevent the service (client) from leaking information related to the user service to others.

本発明に係るネットワークサービス連携方法は、サービスインスタンスの稼動状態を、CPUやDBの利用率としてサービス運営会社に通知するための品質管理サービスを別途用意しても良い。その際、ログ等の情報を経由して情報が漏洩しないよう、第三者が確認できるようにしたり、客観的な性能情報のみをサービス開発者に通知できるように考慮すべきである。   In the network service cooperation method according to the present invention, a quality management service for notifying the service operating company of the operating state of the service instance as the usage rate of the CPU or DB may be separately prepared. At that time, it should be considered so that information can be confirmed by a third party so that information is not leaked via information such as logs, or that only objective performance information can be notified to the service developer.

11:クライアント・ゲートウェー
12:サービス・ゲートウェー
13:クライアントインスタンス
14:クライアント・インスタンス生成サーバ
15:クライアント用リソース・データベース
16:認可サーバ
17:リソースサーバ
101:サービス
102:ユーザ端末(エンティティ)
301:クライアント・サービスプラットフォーム
11: Client gateway 12: Service gateway 13: Client instance 14: Client instance generation server 15: Client resource database 16: Authorization server 17: Resource server 101: Service 102: User terminal (entity)
301: Client Service Platform

Claims (5)

ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、
前記ユーザ端末から前記クライアントへのアクセスを介するクライアントゲートウェーと、前記クライアントから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するネットワークサービス連携方法であって、
前記クライアントインスタンスの生成とともに、前記クライアントへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とするネットワークサービス連携方法。
As an instance, a client that can use an open API of a resource server that provides a desired service for each user terminal,
A network service cooperation method for generating a client service platform comprising: a client gateway via access from the user terminal to the client; and a service gateway via access from the client to the resource server,
A network service cooperation method, characterized in that, together with the generation of the client instance, a firewall function is generated that blocks access to the client from other than the client gateway and access from the client to other than the service gateway.
前記ファイアウォール機能は、
前記クライアントインスタンスの有効性を確認するアクセストークンを前記リソースサーバ側から前記クライアントゲートウェーに取得させ、前記ユーザ端末から前記クライアントゲートウェー及び前記クライアントを経由して前記サービスゲートウェーへ転送されるアクセスに前記アクセストークンを付加するとともに、
前記ユーザ端末の識別情報、前記リソースサーバのアドレス及び前記クライアントインスタンスのアドレスを前記クライアントゲートウェーから前記サービスゲートウェーへ通知させ、前記サービスゲートウェーにて前記クライアントから前記サービスゲートウェーへ転送される前記アクセスの送信元と送信先を確認する
ことを特徴とする請求項1に記載のネットワークサービス連携方法。
The firewall function is
An access token for confirming the validity of the client instance is acquired from the resource server side to the client gateway, and the access is transferred from the user terminal to the service gateway via the client gateway and the client. Adding the access token,
The identification information of the user terminal, the address of the resource server and the address of the client instance are notified from the client gateway to the service gateway, and transferred from the client to the service gateway at the service gateway. The network service cooperation method according to claim 1, wherein an access transmission source and a transmission destination are confirmed.
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして生成するクライアントインスタンス生成サーバと、
前記ユーザ端末から前記クライアントへのアクセスを介するクライアントゲートウェーと、
前記クライアントから前記リソースサーバへのアクセスを介するサービスゲートウェーと、
を備えたクライアントサービスプラットフォームであって、
前記クライアントインスタンス生成サーバは、前記クライアントインスタンスの生成とともに、前記クライアントへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とするクライアントサービスプラットフォーム。
A client instance generation server that generates, as an instance, a client that can use an open API of a resource server that provides a desired service for each user terminal;
A client gateway via access from the user terminal to the client;
A service gateway via access from the client to the resource server;
A client service platform with
The client instance generation server generates a firewall function that blocks access to the client from other than the client gateway and access from the client to other than the service gateway along with the generation of the client instance. And a client service platform.
ユーザ端末毎に所望のサービスを提供するリソースサーバのオープンAPIを利用可能なクライアントをインスタンスとして、
前記ユーザ端末から前記クライアントインスタンスへのアクセスを介するクライアントゲートウェーと、前記クライアントから前記リソースサーバへのアクセスを介するサービスゲートウェーと、を備えたクライアントサービスプラットフォームに生成するクライアントインスタンス生成サーバであって、
前記クライアントインスタンスの生成とともに、前記クライアントインスタンスへの前記クライアントゲートウェー以外からのアクセス、および前記クライアントから前記サービスゲートウェー以外へのアクセスを遮断するファイアウォール機能を生成する
ことを特徴とするクライアントインスタンス生成サーバ。
As an instance, a client that can use an open API of a resource server that provides a desired service for each user terminal,
A client instance generation server that generates a client gateway through access from the user terminal to the client instance and a service gateway through access from the client to the resource server;
A client instance generation server that generates a firewall function that blocks access to the client instance from other than the client gateway and access from the client to other than the service gateway together with generation of the client instance .
コンピュータを請求項4に記載のクライアントインスタンス生成サーバとして機能させるためのプログラム。   The program for functioning a computer as a client instance production | generation server of Claim 4.
JP2017179958A 2017-09-20 2017-09-20 Network service linkage method, client service platform, client instance generation server and program Active JP6785526B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017179958A JP6785526B2 (en) 2017-09-20 2017-09-20 Network service linkage method, client service platform, client instance generation server and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017179958A JP6785526B2 (en) 2017-09-20 2017-09-20 Network service linkage method, client service platform, client instance generation server and program

Publications (2)

Publication Number Publication Date
JP2019057778A true JP2019057778A (en) 2019-04-11
JP6785526B2 JP6785526B2 (en) 2020-11-18

Family

ID=66106346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017179958A Active JP6785526B2 (en) 2017-09-20 2017-09-20 Network service linkage method, client service platform, client instance generation server and program

Country Status (1)

Country Link
JP (1) JP6785526B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021132483A1 (en) 2019-12-26 2021-07-01 シビラ株式会社 Application linkage method, computer program, and application linkage system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021132483A1 (en) 2019-12-26 2021-07-01 シビラ株式会社 Application linkage method, computer program, and application linkage system

Also Published As

Publication number Publication date
JP6785526B2 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
AU2019206006B2 (en) System and method for biometric protocol standards
JP6987931B2 (en) Secure single sign-on and conditional access for client applications
JP6625636B2 (en) Identity infrastructure as a service
US20190273746A1 (en) Microservice architecture for identity and access management
US9674173B2 (en) Automatic certificate enrollment in a special-purpose appliance
US8997208B2 (en) Gateway device for terminating a large volume of VPN connections
Malik et al. Security framework for cloud computing environment: A review
US9305163B2 (en) User, device, and app authentication implemented between a client device and VPN gateway
Almulla et al. Cloud computing security management
US20210136068A1 (en) Telecom node control via blockchain
JP2019016396A (en) Data management of application having plural operation modes
US9723007B2 (en) Techniques for secure debugging and monitoring
US20070143408A1 (en) Enterprise to enterprise instant messaging
US20180288051A1 (en) Enhanced data leakage detection in cloud services
CN104838630A (en) Policy-based application management
US20220224535A1 (en) Dynamic authorization and access management
CN107924431B (en) Anonymous application program packaging
Graupner et al. Secure access control for multi-cloud resources
JP6785526B2 (en) Network service linkage method, client service platform, client instance generation server and program
Raghunathan et al. Secure agent computation: X. 509 Proxy Certificates in a multi-lingual agent framework
US20220150277A1 (en) Malware detonation
Dwoskin et al. Scoping security issues for interactive grids
Siriwardena et al. Patterns and Practices
Olmsted Secure autonomous process communication
Sulaiman et al. Design and Implementation of a Mechanism to Secure the Access in Cloud Computing

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