(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022165032
(43)【公開日】2022-10-31
(54)【発明の名称】中継サーバ及びアクセス制御システム
(51)【国際特許分類】
G06F 21/31 20130101AFI20221024BHJP
【FI】
G06F21/31
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021070204
(22)【出願日】2021-04-19
(71)【出願人】
【識別番号】500542745
【氏名又は名称】HENNGE株式会社
(74)【代理人】
【識別番号】100090387
【弁理士】
【氏名又は名称】布施 行夫
(72)【発明者】
【氏名】今泉 健
(72)【発明者】
【氏名】周 廷謙
(72)【発明者】
【氏名】小玉 健彦
(57)【要約】 (修正有)
【課題】インターネット上のユーザの端末が、オンプレミスのサーバにアクセスに関して、ユーザにとって利便性が高くセキュリティを向上した中継サーバ及びアクセス制御システムを提供する。
【解決手段】中継サーバは、オンプレミスのサーバの情報に基づいて、オンプレミスのサーバに対してアクセス可能な固有の照会情報を生成しS1、ユーザの端末からアクセスを受け付けた場合にS2Y、当該ユーザの認証の許否を判定するS3。当該ユーザの認証が許可された場合にS3Y、照会情報をユーザの端末に提示するS4。さらに、ユーザー端末から紹介状況のアクセスを受け付けS5、認証が許可された場合S5Y、ユーザの端末とオンプレミスのサーバとの通信を中継するS6。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ユーザの端末とオンプレミスのサーバとがインターネットを介して接続され、当該端末及び当該オンプレミスのサーバそれぞれとインターネットを介して接続される中継サーバであって、
オンプレミスのサーバの情報に基づいて、前記オンプレミスのサーバに対してアクセス可能な固有の照会情報を生成する照会情報生成部と、
ユーザのユーザ情報を管理するユーザ制御部と、
ユーザの端末からアクセスを受け付けた場合に当該ユーザの認証の許否を判定する認証処理部と、
前記ユーザの認証が許可された場合に、前記照会情報を前記ユーザの端末に提示する提示部と、
認証が許可された前記ユーザの端末と、前記オンプレミスのサーバとの通信を中継する中継処理部と、
を含むことを特徴とする中継サーバ。
【請求項2】
請求項1において、
前記照会情報生成部は、
オンプレミスのサーバ毎に異なる照会情報を生成することを特徴とする中継サーバ。
【請求項3】
請求項1又は2において、
前記照会情報生成部は、
サービス毎に異なる照会情報を生成することを特徴とする中継サーバ。
【請求項4】
請求項1~3のいずれかにおいて、
前記ユーザ制御部は、
ユーザ毎に、ユーザのユーザ情報に基づいて、各照会情報に対する当該ユーザのアクセス可否を判定し、
前記提示部は、
ユーザ毎に、当該ユーザがアクセス可能な照会情報を、当該ユーザの端末に提示することを特徴とする中継サーバ。
【請求項5】
ユーザの端末と、オンプレミスのサーバと、中継サーバとがそれぞれインターネットを介して接続されるアクセス制御システムであって、
前記中継サーバは、
オンプレミスのサーバの情報に基づいて、前記オンプレミスのサーバに対してアクセス可能な固有の照会情報を生成する照会情報生成部と、
ユーザのユーザ情報を管理するユーザ制御部と、
ユーザの端末からアクセスを受け付けた場合に当該ユーザの認証の許否を判定する認証処理部と、
前記ユーザの認証が許可された場合に、前記照会情報を前記ユーザの端末に提示する提示部と、
認証が許可された前記ユーザの端末と、前記オンプレミスのサーバとの通信を中継する中継処理部と、を含み、
前記オンプレミスのサーバは、
認証が許可された前記ユーザの端末から、前記中継サーバを経由して前記照会情報によるアクセスを受け付けた場合に、前記照会情報に示される情報を、前記中継サーバを経由して前記ユーザの端末に提示することを特徴とするアクセス制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継サーバ及びアクセス制御システムに関する。
【背景技術】
【0002】
近年、クラウドコンピューティングと呼ばれるシステムによって、インターネットを介してユーザが何処からでもアクセスできるようになり、ユーザの利便性を図れるようになってきている。
【0003】
一方、セキュリティの観点からユーザ環境内(例えば、会社内)に配置された装置内の情報を読み取るいわゆるオンプレミスでのシステム運用を望むユーザも少なくない。オンプレミスでのシステムは、外部から攻撃を受ける可能性が低く、情報漏洩のリスクが低いと言われている。
【0004】
また、従来技術では、VPN(Virtual Private Network)と呼ばれるインターネット上に仮想の専用線を設定し、特定の人のみが利用できる専用のネットワークを確立し、インターネットに接続された端末とオンプレミスとの間で相互通信を行う技術が存在する。また、クラウド(オフプレミスプラットフォーム)と、オンプレミスプラットフォームとの環境間で、相互認証されるTLS(Transport Layer Security)トンネルを接続し、データを転送する技術も存在する(特許文献1の0032段落参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
また、インターネットを介して接続されているユーザの端末が、オンプレミスにもアクセスできれば、ユーザにとっての利便性が高まるが、当該端末は、インターネットを介して接続されているため、情報漏洩のリスクも存在する。
【0007】
また、ユーザの端末がオンプレミスにもアクセスする手法としてVPNが考えられるが、導入コストがかかりユーザの負担が大きいという問題がある。また、VPNは、オンプレミスのサーバに侵入されてしまうと、LAN領域の中の他のサービスや他のサーバに容易にアクセスされてしまうという問題点や、接続が切れた後に、もう一度ログイン作業が必要なるという不便さ、輻輳により通信速度が遅くなるという問題もある。
【0008】
本発明は、上述した課題に鑑みたものでありその目的は、インターネット上のユーザの端末が、オンプレミスのサーバへのアクセスに関して、ユーザにとって利便性が高くセキュリティを向上した中継サーバ及びアクセス制御システムを提供することにある。
【課題を解決するための手段】
【0009】
(1)本発明は、
ユーザの端末とオンプレミスのサーバとがインターネットを介して接続され、当該端末及び当該オンプレミスのサーバそれぞれとインターネットを介して接続される中継サーバであって、
オンプレミスのサーバの情報に基づいて、前記オンプレミスのサーバに対してアクセス
可能な固有の照会情報を生成する照会情報生成部と、
ユーザのユーザ情報を管理するユーザ制御部と、
ユーザの端末からアクセスを受け付けた場合に当該ユーザの認証の許否を判定する認証処理部と、
前記ユーザの認証が許可された場合に、前記照会情報を前記ユーザの端末に提示する提示部と、
認証が許可された前記ユーザの端末と、前記オンプレミスのサーバとの通信を中継する中継処理部と、
を含む中継サーバに関する。
【0010】
なお、本発明は、上記中継サーバの各部として、コンピュータを機能させることを特徴とするプログラムに関する。また、本発明は、上記プログラムが記憶された情報記憶媒体に関する。
【0011】
本発明によれば、ユーザの認証が許可された場合に、オンプレミスのサーバに対してアクセス可能な固有の照会情報をユーザの端末に提示し、認証が許可されたユーザの端末と、オンプレミスのサーバとの通信を中継するので、不正なユーザからのオンプレミスのサーバへのアクセスを防止し、セキュリティを向上させることができる。
【0012】
(2)また本発明のサーバ、プログラム及び情報記憶媒体は、
前記照会情報生成部は、
オンプレミスのサーバ毎に異なる照会情報を生成するようにしてもよい。
【0013】
本発明によれば、複数のオンプレミスのサーバが存在する場合に、オンプレミスのサーバ毎に異なる照会情報を生成するので、複数のオンプレミスのサーバそれぞれを適切に管理し、通信を中継することができる。
【0014】
(3)また本発明のサーバ、プログラム及び情報記憶媒体は、
前記照会情報生成部は、
サービス毎に異なる照会情報を生成するようにしてもよい。
【0015】
本発明によれば、オンプレミスのサーバにおいて複数のサービスを提供している場合に、サービス毎に異なる照会情報を生成するので、複数のサービスそれぞれを適切に管理し、通信を中継することができる。
【0016】
(4)また本発明のサーバ、プログラム及び情報記憶媒体は、
前記ユーザ制御部は、
ユーザ毎に、ユーザのユーザ情報に基づいて、各照会情報に対する当該ユーザのアクセス可否を判定し、
前記提示部は、
ユーザ毎に、当該ユーザがアクセス可能な照会情報を、当該ユーザの端末に提示するようにしてもよい。
【0017】
本発明によれば、ユーザ毎に、ユーザのユーザ情報に基づいて、各照会情報に対する当該ユーザのアクセス可否を判定するので、特定のユーザに対して照会情報をアクセス可能とし、その他のユーザに対して照会情報をアクセス不可にする、という制御が可能になり、利便性とセキュリティの両方を考慮した制御を行うことができる。
【0018】
(5)本発明は、
ユーザの端末と、オンプレミスのサーバと、中継サーバとがそれぞれインターネットを
介して接続されるアクセス制御システムであって、
前記中継サーバは、
オンプレミスのサーバの情報に基づいて、前記オンプレミスのサーバに対してアクセス可能な固有の照会情報を生成する照会情報生成部と、
ユーザのユーザ情報を管理するユーザ制御部と、
ユーザの端末からアクセスを受け付けた場合に当該ユーザの認証の許否を判定する認証処理部と、
前記ユーザの認証が許可された場合に、前記照会情報を前記ユーザの端末に提示する提示部と、
認証が許可された前記ユーザの端末と、前記オンプレミスのサーバとの通信を中継する中継処理部と、を含み、
前記オンプレミスのサーバは、
認証が許可された前記ユーザの端末から、前記中継サーバを経由して前記照会情報によるアクセスを受け付けた場合に、前記照会情報に示される情報を、前記中継サーバを経由して前記ユーザの端末に提示するアクセス制御システムに関する。
【0019】
本発明によれば、ユーザの認証が許可された場合に、オンプレミスのサーバに対してアクセス可能な固有の照会情報をユーザの端末に提示し、認証が許可されたユーザの端末と、オンプレミスのサーバとの通信を中継するので、不正なユーザからのオンプレミスのサーバへのアクセスを防止し、セキュリティを向上させることができる。
【図面の簡単な説明】
【0020】
【
図1】本実施形態のアクセス制御システムのネットワーク図の一例。
【
図2】本実施形態の中継サーバ10の機能ブロック図。
【
図4】本実施形態のユーザ毎の各照会情報のアクセス可否フラグの一例。
【
図5】本実施形態の端末に表示される画面の一例を示す図。
【
図6】本実施形態の処理の流れを示すフローチャート図。
【発明を実施するための形態】
【0021】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0022】
[1]ネットワーク
図1は、アクセス制御システムのネットワーク図の一例を示す。本実施形態のアクセス制御システムは、中継サーバ10と、ユーザの端末20と、オンプレミスのサーバ30とが、それぞれネットワーク(インターネット)を介して接続される。
【0023】
つまり、本実施形態の中継サーバ10は、ユーザの端末20及びオンプレミスのサーバ30それぞれとインターネットを介して接続され、端末20とサーバ30との通信を中継することを目的に設定されたサーバである。
【0024】
本実施形態の中継サーバ10は、ユーザ情報を管理し、ユーザの認証処理を行う情報処理装置である。
【0025】
端末20は、クライアント装置であり、スマートフォン、携帯電話、PHS、コンピュータ、ゲーム装置、PDA、画像生成装置などの情報処理装置であり、インターネット(WAN)、LANなどのネットワークを介して中継サーバ10に接続可能な装置である。
【0026】
オンプレミス(On-Premise)のサーバ30は、使用者側(例えば、企業側)が構築し運用するサーバであり、使用者側が管理する設備内に設置される情報処理装置である。
【0027】
オンプレミスのサーバ30は、基本的に外部(インターネット)に対して非公開にするサービス(例えば、自社やグループ内でのみ使用するサービス、機密情報などのサービス、社内用メールサーバ、社内会議システム)を運用するが、以下に説明するように、本実施形態では、認証許可された一部のユーザの端末20から、中継サーバ10を介して、オンプレミスのサーバ30にアクセスを可能となるように制御している。
【0028】
[2]構成
図2は、本実施形態の中継サーバ10の機能ブロック図の一例である。なお本実施形態の中継サーバ10は、
図2の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
【0029】
記憶部170は、処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部100の記憶領域として機能する。
【0030】
記憶部170は、一時的な記憶領域や、ストレージを含む。ストレージとは、ハードディスク、光学ディスク、フラッシュメモリ、磁気テープ等であり、データを永続的に記憶する装置のことをいう。また、記憶部170は、情報記憶媒体180に格納されているプログラムやデータを記憶してもよい。
【0031】
そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171、ユーザ情報記憶部172、照会情報記憶部173を含む。なお、これらの一部を省略する構成としてもよい。
【0032】
主記憶部171は、RAMなどにより実現できる。主記憶部171は、本実施形態の処理において使用される記憶領域である。
【0033】
ユーザ情報記憶部172は、ユーザ情報(ユーザのアカウント、パスワード、メールアドレス等)が記憶される。ユーザ情報記憶部172は、DB(DBはデータベースの略、以下同様。)によって構成されていてもよい。
【0034】
照会情報記憶部173は、照会情報(URL)を記憶する。なお、照会情報記憶部173は、DBによって構成されていてもよい。
【0035】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのストレージにより実現できる。
【0036】
通信部196は外部(例えば、端末、他のサーバや他のネットワークシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0037】
処理部100は、記憶部170又は情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。
【0038】
処理部100(プロセッサ)は、記憶部170内の主記憶部171をワーク領域として
各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)などのハードウェアや、プログラムにより実現できる。
【0039】
処理部100は、ユーザ制御部111、認証処理部112、照会情報生成部113、提示部114、中継処理部115、Web処理部120を含む。
【0040】
ユーザ制御部111は、ユーザのユーザ情報を管理する。また、ユーザ制御部111は、ユーザ毎に、ユーザのユーザ情報に基づいて、各照会情報(各URL)に対する当該ユーザのアクセス可否を判定してもよい。
【0041】
認証処理部112は、ユーザの端末からアクセスを受け付けた場合に当該ユーザの認証の許否を判定する。
【0042】
照会情報生成部113は、オンプレミスのサーバ30の情報に基づいて、オンプレミスのサーバ30に対してアクセス可能な固有の照会情報(例えば、URL)を生成する。
【0043】
例えば、照会情報生成部113は、オンプレミスのサーバ30が複数存在する場合、オンプレミスのサーバ30毎に異なる照会情報を生成するようにしてもよい。また、照会情報生成部113は、複数のサービスが存在する場合、サービス毎に異なる照会情報を生成するようにしてもよい。
【0044】
提示部114は、ユーザの認証が許可された場合に、照会情報をユーザの端末20に提示する。
【0045】
中継処理部115は、認証が許可されたユーザの端末20と、オンプレミスのサーバ30との通信を中継する。
【0046】
Web処理部120は、HTTP(Hypertext Transfer Protocol)を通じて、端末20にインストールされているWebブラウザなどのクライアントソフトウエアの要求に応じてHTML(Hyper Text Markup Language)文書や画像などのデータを送信(提供)する処理、端末のWebブラウザにおいて受け付けたデータを受信する処理を行う。そして、サーバは、管理者やユーザの各端末から受信した情報に基づき、メールの処理、DBの更新処理等を行う。
【0047】
Web処理部120は、管理者の端末20のWebブラウザからのアクセス要求に応じて管理設定用のデータ等を管理者の端末20に送信(提供)する処理を行い、当該管理者の端末20から情報を受信する処理を行うようにしてもよい。
【0048】
つまり、Web処理部120は、管理者からの入力に基づいて、各データをDBへ追加、削除、更新処理等を行うようにしてもよい。なお、管理者用のWebページ(URL)へのアクセスは、管理者のみに権限が与えられる。
【0049】
また、Web処理部120は、ログイン処理や、端末20のWebブラウザからの要求に応じて、ログインしたユーザに関連する情報のWebページを閲覧可能に制御する処理を行う。
【0050】
なお、処理部100の一部又は全部の処理は、及び、記憶部170は1つの装置で実行させてもよいし、処理の用途に応じて異なる装置に分散して各処理を実行させるようにしてもよい。
【0051】
[3]エージェントの説明
図3に示すように、オンプレミスのネットワーク内(LAN内)に存在するオンプレミス側の所与の装置には、エージェントプログラムがインストールされる。すなわち、エージェントプログラムがインストールされたオンプレミス側の装置は、エージェント(エージェント装置)と言い換えることができる。
【0052】
例えば、オンプレミス側の装置は、オンプレミスのサーバ30(サーバ30Aやサーバ30B)でもよいし、図示していないが、オンプレミスのサーバ30(サーバ30Aやサーバ30B)に接続される端末20Xでもよい。端末20Xは、オンプレミスのサーバ30と同じネットワーク環境内(LAN内)に存在する情報処理装置である。
【0053】
エージェントは、エージェントの記憶部に、予めオンプレミスのサーバ30のIPアドレス、ホスト名、各サービスの情報(各ポート番号)を含む「オンプレミスのサーバ30の情報」を記憶する。
【0054】
ここで、「サービス」とは、TCP/IPネットワークプロトコルに対するサービスを示す。また「サービス」は、サービスを識別するためのポート番号と解釈してもよい。
【0055】
例えば、オンプレミスのサーバ30にエージェントがインストールされた場合、当該オンプレミスのサーバ30の記憶部に「オンプレミスのサーバ30の情報」を記憶する。また、端末20Xに、エージェントがインストールされた場合、端末20Xの記憶部に「オンプレミスのサーバ30の情報」を記憶する。
【0056】
エージェントは、複数のオンプレミスのサーバ30(例えば、サーバ30A及びサーバ30B)を管理してもよい。また、エージェントは、1つのオンプレミスのサーバ30(例えば、サーバ30A)のみを管理してもよい。かかる場合、1つのオンプレミスのサーバ30に対応する1つのエージェントが存在することになる。
【0057】
また、エージェントは、オンプレミスのサーバ30の複数のサービス(例えば、サービスSA及びサービスSB)を管理してもよい。また、エージェントは、オンプレミスのサーバ30の1つのサービス(例えば、サービスSA)のみを管理してもよい。かかる場合、1つのサービスに対応する1つのエージェントが存在することになる。
【0058】
また、エージェントは、エージェントが管理するオンプレミスのサーバ30のサービスの起動(有効)や停止(無効)の制御を行う。例えば、エージェントは、アクセス制御システムの管理者の入力情報に基づいて、オンプレミスのサーバ30のサービスを起動又は停止に制御することができる。
【0059】
[4]照会情報の生成に関する説明
中継サーバ10は、オンプレミスのサーバ30の情報に基づいて、オンプレミスのサーバ30に対してアクセス可能な固有の照会情報を生成する。
【0060】
照会情報は、中継サーバ10が、認証が許可されたユーザに対して公開するグローバルなURLである。例えば、インターネット上などの外部(組織外、社外)に存在するユーザの端末20が、組織内(例えば、社内)のネットワークにアクセスするためのURLである。
【0061】
ここで「照会情報」とは、例えば、HTTP(Hyper Text Transfer Protocol)やHTTPS(Hyper Text Transfer Protocol Secure)等のプロトコルでインターネット上のウェブページを一意
に指定するためのURLとすることができる。なお、照会情報は、FTP(File Transfer Protocol)等、他の通信プロトコルによってデータを送受信可能なサーバの情報であってもよい。例えば、照会情報がURLの場合、所定のURLの形式に従って照会情報を生成する。
【0062】
エージェントは、サービスを起動させると、中継サーバ10に対してTCPのコネクション(例えば、Long-Lived TCP Connection)を張り、中継サーバ10に対して照会情報の生成依頼情報を送信する。そして、中継サーバ10は、エージェントから照会情報の生成依頼情報を受信したタイミングで、当該エージェントが管理するサーバのサービスに対応する照会情報を生成する。なお、コネクションはトンネルと言い換えてもよい。
【0063】
例えば、エージェントが、オンプレミスのサーバ30AのサービスSA(例えば、ポート80番のWebサービス)を起動させると、サービスSAと中継サーバ10とにおいてTCPのコネクションを張り、中継サーバ10に対して、サービスSAの照会情報の生成依頼情報を送信する。そして、中継サーバ10は、当該エージェントから照会情報の生成依頼情報を受信したタイミングで、当該サービスSAに対応する照会情報L1(例えば、「https://example1.com.hennge.io/」)を生成する。このコネクションと照会情報L1とは対応関係にある。
【0064】
具体的には、中継サーバ10は、トンネリングツールであるアプリケーションプログラムを実行してURLを生成する。このアプリケーションプログラムは、ローカル環境上で実行しているサービスをインターネットからアクセスすることができるように外部公開できる処理を行うものである。
【0065】
例えば、中継サーバ10は、当該エージェントに記憶されたオンプレミスのサーバ30AのサービスSAの情報(例えば、オンプレミスのサーバ30Aのホスト名、IPアドレス、サービスSAのポート番号「80」等)に基づいて、当該アプリケーションプログラムを実行して、外部公開できるURL(例えば、「https://xxxx.xxxx.io/」)を取得する。取得した当該URLを、照会情報そのものとしてもよいが、本実施形態では、管理者の入力情報に基づくDNS(ドメインネームサーバ)の設定により、取得した当該URLのドメインを、中継サーバ10のドメインに変更したURL(例えば、「https://example1.com.hennge.io/」)を、照会情報L1とする。
【0066】
また、エージェントが、オンプレミスのサーバ30AのサービスSB、オンプレミスのサーバ30BのサービスSC、サービスSDを起動させた場合も、サービスSAを起動させたときと同様に、中継サーバ10が、各サービスに対応する照会情報を生成する。
【0067】
つまり、エージェントが、オンプレミスのサーバ30AのサービスSB(例えば、ポート443番のHTTPSサービス)を起動させると、サービスSBと中継サーバ10とにおいてTCPのコネクションを張り、中継サーバ10に対して、サービスSBの照会情報の生成依頼情報を送信する。そして、中継サーバ10は、当該エージェントから照会情報の生成依頼情報を受信したタイミングで、当該サービスSBに対応する照会情報L2(例えば、「https://example2.com.hennge.io/」)を生成する。なお、中継サーバ10は、当該エージェントに記憶されたオンプレミスのサーバ30AのサービスSBの情報(例えば、オンプレミスのサーバ30Aのホスト名、IPアドレス、サービスSBのポート番号「443」等)に基づいて、照会情報L2を生成する。
【0068】
また、エージェントが、オンプレミスのサーバ30BのサービスSC(例えば、ポート
80番のWebサービス)を起動させると、サービスSCと中継サーバ10とにおいてTCPのコネクションを張り、中継サーバ10に対して、サービスSBの照会情報の生成依頼情報を送信する。そして、中継サーバ10は、当該エージェントから照会情報の生成依頼情報を受信したタイミングで、当該サービスSCに対応する照会情報L3(例えば、「https://example3.com.hennge.io/」)を生成する。なお、中継サーバ10は、当該エージェントに記憶されたオンプレミスのサーバ30BのサービスSCの情報(例えば、オンプレミスのサーバ30Bのホスト名、IPアドレス、サービスSCのポート番号「80」等)に基づいて、照会情報L3を生成する。
【0069】
また、エージェントが、オンプレミスのサーバ30BのサービスSD(例えば、ポート443番のHTTPSサービス)を起動させると、サービスSDと中継サーバ10とにおいてTCPのコネクションを張り、中継サーバ10に対して、サービスSDの照会情報の生成依頼情報を送信する。そして、中継サーバ10は、当該エージェントから照会情報の生成依頼情報を受信したタイミングで、当該サービスSDに対応する照会情報L4(例えば、「https://example4.com.hennge.io/」)を生成する。なお、中継サーバ10は、当該エージェントに記憶されたオンプレミスのサーバ30BのサービスSDの情報(例えば、オンプレミスのサーバ30Bのホスト名、IPアドレス、サービスSDのポート番号「443」等)に基づいて、照会情報L4を生成する。
【0070】
つまり、中継サーバ10は、オンプレミスのサーバ30が複数存在する場合、オンプレミスのサーバ30毎に異なる照会情報を生成する。これにより、本実施形態では、オンプレミスのサーバ単位で細かくアクセス制御することができる。
【0071】
また、中継サーバ10は、複数のサービスが存在する場合、サービス毎に異なる照会情報を生成する。つまり、本実施形態では、サービス単位(ポート単位)で細かくアクセス制御することができる。
【0072】
[5]ユーザ情報に関する説明
中継サーバ10は、ユーザのユーザ情報を管理する。特に、本実施形態の中継サーバ10は、ユーザ毎に、ユーザのユーザ情報に基づいて、各照会情報(各URL)に対する当該ユーザのアクセス可否を判定する。
【0073】
例えば、中継サーバ10は、各照会情報に対応するオンプレミスのサーバ30の各種情報(サーバのホスト名やサービス)に基づいて、各照会情報のアクセス可否を判定するようにしてもよい。また、ユーザ情報には、ユーザが属する属性(グループ名、部署名、役職、等)の情報を含む。中継サーバ10は、ユーザの属性に基づいて、各照会情報のアクセス可否を判定するようにしてもよい。
【0074】
例えば、
図4に示すように、ユーザ毎のユーザIDに対応付けて、各照会情報のアクセス可否フラグを設定する。アクセス可能な場合は「1」を設定し、アクセス不可(アクセス禁止)の場合は「0」を設定する。中継サーバ10は、ユーザ毎に、ユーザIDに対応付けられた各照会情報のアクセス可否フラグを、照会情報記憶部173に記憶するようにしてもよい。
【0075】
例えば、ユーザA(ユーザID=A)は、照会情報L1、L2、L3にアクセス可能である。ユーザB(ユーザID=B)は、照会情報L2のみにアクセス可能である。また、ユーザC(ユーザID=C)は、照会情報L1、L3、L4にアクセス可能である。また、ユーザD(ユーザID=D)は、照会情報L4のみにアクセス可能である。
【0076】
このように、本実施形態では、ユーザ毎に、アクセスできるオンプレミスのサーバ30
を決めることができる。また、本実施形態では、ユーザ毎に、オンプレミスのサーバ30でアクセスできるサービスを決めることができる。このようにすれば、必要なユーザに必要な情報を最小限で情報を開示することができる。また、サービスに関連するネットワーク上のトラフィックを必要最小限に抑えることができる。
【0077】
なお、中継サーバ10は、組織毎(例えば、企業毎、グループ毎、学校毎、部署毎)にユーザ情報を管理するようにしてもよい。
【0078】
[6]認証処理に関する説明
中継サーバ10は、ユーザからアクセスを受け付けると、ユーザの認証の許否を判定する。本実施形態では、以下の複数の手法(A)~(H)のうち少なくとも1つについてユーザの正当性があると判定された場合に、ユーザの認証を許可すると判定する。一方、いずれの手法においても正当性がないと判定された場合に、ユーザの認証を拒否すると判定する。
【0079】
なお、多要素認証の方がセキュリティを向上させることができるので、複数の手法(A)~(H)のうち少なくとも2つ(例えば、(A)及び(B))の正当性があると判定された場合に、ユーザの認証を許可すると判定してもよい。
【0080】
(A)パスワード認証
認証手法は種々の手法が考えられる。例えば、ユーザ毎にアカウント(ユーザID)とパスワードとを予め定義し、ユーザがアカウントとパスワードを入力し、当該ユーザの端末20がアカウントとパスワードとを中継サーバ10に送信する。中継サーバ10は、ユーザの端末20から受信したユーザのアカウントとパスワードと、中継サーバ10で登録されている当該ユーザのアカウントとパスワードとが一致した場合に、ユーザに正当性があると判定する。
【0081】
また、パスワードは1回限り有効なワンタイムパスワードとしてもよい。例えば、端末20に予め中継サーバ10とアルゴリズムが同じワンタイムパスワードを生成するワンタイムパスワード生成プログラムをインストールし、ワンタイムパスワードを用いた認証を行う。例えば、端末20にインストールされたワンタイムパスワード生成プログラムと、中継サーバ10にインストールされたワンタイムパスワード生成プログラムにおいて、アルゴリズム及び種番号は一致しており、その結果、端末側で生成されたワンタイムパスワードと、中継サーバ10で生成されたパスワードとが一致していることになる。例えば、ワンタイムパスワード生成プログラムでは、所定周期(例えば、30秒毎)に、時刻と種番号とに基づいてワンタイムパスワードを生成する処理を行う。
【0082】
(B)外部認証
中継サーバ10は、ユーザからアクセスを受け付けた場合に、外部の認証サーバ上(認証機関)で当該ユーザの認証を委任する。
【0083】
例えば、中継サーバ10は、外部の認証サーバ(認証機関)によってユーザの認証を判定し、認証サーバから受信する情報に基づいて、ユーザに正当性を判定する。認証サーバから受信する情報にユーザ情報(例えば、メールアドレス)が含まれる場合、当該ユーザ情報が、中継サーバ10が管理するユーザ情報と一致する場合、当該ユーザに正当性があると判定する。
【0084】
なお、本実施形態では、ユーザは、外部の認証サーバにおいて、予め宛先のユーザに対応するユーザ情報(例えば、アカウント及びパスワード等)を登録する必要がある。
【0085】
また、認証サーバは、Google(登録商標)、Amazon(登録商標)、Facebook(登録商標)など複数種類あってもよく、ユーザから、一の認証サーバの選択の指示を受け付けてもよい。そして、中継サーバ10は、選択された認証サーバに認証を委任するようにする。
【0086】
(C)生体認証
例えば、ユーザ毎に生体情報(顔、指紋、静脈)を予め中継サーバ10に登録し、ユーザが生体情報を入力して中継サーバ10に送信し、ユーザの端末20から受信したユーザの生体情報と、中継サーバ10で登録されている当該ユーザの生体情報とが一致した場合に、ユーザに正当性があると判定する。
【0087】
(D)第2の端末(スマートフォン等)を用いた認証
例えば、中継サーバ10は、所与の手法で、ユーザのアカウントに対応付けて、予め第2の端末の端末識別情報を登録する。そして、第2の端末の端末識別情報を用いて、ユーザの正当性を判定してもよい。
【0088】
(E)電話番号認証
例えば、中継サーバ10は、所与の手法で、ユーザの電話番号を登録し、当該ユーザの電話番号を用いて、ユーザの正当性を判定してもよい。
【0089】
(F)SSLクライアント証明書
中継サーバ10は、端末20から送信されるSSL(Secure Socket Layer)クライアント証明書が正当であるか否かを判断し、SSLクライアント証明書が正当である場合、ユーザに正当性が有ると判定してもよい。
【0090】
(G)パスワードを使わずにユーザ認証を行う処理
中継サーバ10は、パスワードを使わずにユーザ認証を行う処理(公開鍵ベースのユーザ認証処理)を実行してもよい。例えば、中継サーバ10は、FIDO(登録商標)、FIDO2の認証処理を用いて、ユーザの正当性の有無を判定してもよい。例えば、FIDO2は、CTAP(Client To Authenticator Protocol)とWebAuthn(Web Authentication API)で構成されており、端末20のWebブラウザを介したユーザ認証が可能となる。
【0091】
(H)その他のユーザの認証処理
中継サーバ10は、上記以外の種々の認証処理を用いて、ユーザの正当性の有無を判定してもよい。
【0092】
[7]照会情報の提示に関する説明
中継サーバ10は、ユーザの認証が許可された場合に、照会情報をユーザの端末20に提示する。ここで「提示」とは、Webページによって通知、表示することである。また「提示」とは、中継サーバ10がユーザの端末20に提示可能にすることを意味するものでもよい。
【0093】
なお、「提示」とは、中継サーバ10が端末20に対して、SMTPによる送受信される電子メール(メールマガジン等でもよい)で送信すること、SMTPに限らず、所与のプロトコルにより送信すること、プッシュ通知をすること(端末(スマートフォン)の画面の一部領域(上端など)にメッセージウィンドウを表示させること)、所定のアプリケーションの所定画面(バナー表示画面、お知らせ画面、ポップアップ画面等)を提示(表示、閲覧可能に制御)することであってもよい。
【0094】
なお、中継サーバ10は、ユーザの端末20からの要求に応じて、要求のあった当該端末20に情報を送信することも「提示」の一態様としてもよい。
【0095】
そして、オンプレミスのサーバ30は、認証が許可されたユーザの端末20から、中継サーバを経由して照会情報によるアクセスを受け付けた場合に、照会情報に示される情報を、中継サーバ10を経由して当該ユーザの端末20に提示する。
【0096】
例えば、ユーザAを例にとり説明すると、中継サーバ10は、ユーザAの端末20Aからアクセスを受け付けると、まず、認証画面を提示する。そして、ユーザAの認証が許可されると、
図5に示すように、中継サーバ10は、ユーザAの端末20Aに、ユーザAがアクセス可能な照会情報を提示した画面Sc1(照会情報一覧画面)を提示する。
【0097】
例えば、
図4に示すように、ユーザAは、照会情報L1、L2、L3にアクセスできる。したがって、
図5に示すように、当該オンプレミスの情報画面Sc1では、照会情報L1、L2、L3が提示される。なお、
図5に示すように、中継サーバ10は、各照会情報L1、L2、L3それぞれに対応するオンプレミスのサーバの情報を提示するようにしてもよい。なお、画面Sc1に表示する照会情報は、説明の便宜上、URLの形式で表示しているが、照会情報へのリンク(ハイパーリンク)を表示するようにしてもよい。
【0098】
ユーザAは、オンプレミスのサーバ30AのサービスSAにアクセスしたい場合、ユーザAは照会情報L1のワンクリックで、オンプレミスのサーバ30AのサービスSAに容易にアクセスできる。例えば、中継サーバ10は、ユーザAの端末20Aから照会情報L1のアクセスを受け付けると、オンプレミスのサーバ30Aから照会情報L1に応じた情報(例えば、照会情報L1のWebページの情報)を受信して、ユーザ端末20に送信する。
【0099】
[8]中継処理の説明
次に、中継サーバ10が行う中継処理について、
図3を用いて具体的に説明する。例えば、
図3に示すように、オンプレミスのサーバ30AのサービスSA及びサービスSB、オンプレミスのサーバ30BのサービスSC及びサービスSDは、サービスに対応するエージェントによって起動され、中継サーバ10に対して、TCPのコネクションが張られているとする。
【0100】
例えば、中継サーバ10が、ユーザAの端末20Aと、オンプレミスのサーバ30AのサービスSAとの通信を中継する例について説明する。
【0101】
まず、中継サーバ10は、ユーザAの端末20Aから照会情報L1へのアクセスを受け付けると、ユーザAの認証の許否を判定する。なお、中継サーバ10は、ユーザAの認証を許可した時点から所定期間内(例えば、ユーザAの認証を許可した時点から10分間の期間内)である場合、ユーザAの認証の許否判定の処理を省略してもよい。
【0102】
また、中継サーバ10が、端末20Aから照会情報である「https://example1.com.hennge.io/」を受け付けた場合とは、端末20Aから照会情報(例えば、URL)によって指定されるプロトコル(例えば、HTTPSのプロトコル)を通じて、中継サーバ10のWebサーバ「example1.com.hennge.io」にアクセスを受け付けたことを意味する。
【0103】
そして、中継サーバ10は、ユーザAの認証が許可されると、当該照会情報L1へのアクセスはオンプレミスのサーバ30AのサービスSAへのアクセスと判定できるので、予め張られているサービスSAのコネクションを使用して、サービスSAと端末20Aとの
間での通信を中継する。
【0104】
なお、サービスSAに対応するエージェントは、当該コネクションで伝わってきた情報は、オンプレミスのサーバ30のサービスSA(80番ポート)であると判定し、当該サービスSA(80番ポート)に送信(伝達)することになる。
【0105】
その結果、端末20Aは、オンプレミスのサーバ30Aに外部から中継サーバ10を介してアクセスできるようになる。
【0106】
なお、中継サーバ10は、エージェントがサービスSAの起動中に限り、認証が許可されたユーザの端末20と、サービスSA間の通信を中継する。つまり、中継サーバ10は、サービスSAが停止している場合、認証が許可されたユーザの端末20と、サービスSA間の通信は不可となる。
【0107】
また、エージェントは、複数のサービスを管理可能であり、サービス毎に中継サーバ10とコネクションを張ることになる。したがって、例えば、エージェントが、サービスSA及びサービスSBを管理している場合、中継サーバ10は、認証許可された端末20Aから照会情報L1のアクセスがあったときは、照会情報L1に対応するサービスSAのコネクションを利用する。また、中継サーバ10は、認証許可された端末20Aから照会情報L2のアクセスがあったときは、照会情報L2に対応するサービスSBのコネクションを利用する。
【0108】
そして、端末20Aが中継サーバ10を介して送信した情報を、オンプレミスのサーバ30Aのうち、どのサービス(どのポート)に到達するかはエージェントが判断する。例えば、エージェントが、受信した情報がサービスSAのコネクションで伝わってきた情報である場合、オンプレミスのサーバ30AのサービスSA(ポート80番)に当該情報を送信し、受信した情報がサービスSBのコネクションで伝わってきた情報である場合、サーバ30AのサービスSB(ポート443番)に当該情報を送信する。
【0109】
以上のように、本実施形態では、端末20Aが中継サーバ10を介さずに直接オンプレミスのサーバ30Aにアクセスすることはないので、安全なネットワーク環境を実現できる。また、本実施形態では、ユーザの認証の許可が、オンプレミスのサーバへのアクセスするための条件となるので、不正アクセスを防止することができる。
【0110】
また、本実施形態では、端末20が中継サーバ10を介してオンプレミスのサーバ30と通信を行う場合、SSLやTLSを用いてデータの暗号化を行うようにしてもよい。
【0111】
[9]フローチャート
図6を用いて、本実施形態の中継サーバの処理の流れを説明する。説明の便宜上、ユーザAに関する処理について説明する。まず、オンプレミスのサーバ30の情報に基づいて、オンプレミスのサーバ30に対してアクセス可能な照会情報を生成する(ステップS1)。
【0112】
そして、ユーザAの端末20Aからアクセスを受け付けたか否かを判断する(ステップS2)。ユーザAの端末20Aからアクセスを受け付けた場合(ステップS2のY)、ユーザAの認証を許可するか否か(許否)を判定する(ステップS3)。
【0113】
ユーザAの認証が許可された場合に(ステップS3のY)、照会情報をユーザAの端末20Aに提示する(ステップS4)。一方、ユーザAの認証が不許可(拒否)された場合に(ステップS3のN)、処理を終了する。
【0114】
そして、ユーザAの端末20Aから照会情報のアクセスを受け付けたか否かを判断する(ステップS5)。ユーザAの端末20Aから照会情報のアクセスを受け付けた場合(ステップS5のY)、ユーザAの端末20Aとオンプレミスのサーバ30との通信を中継する(ステップS6)。例えば、中継サーバ10は、端末20Aからの情報を受信して、オンプレミスのサーバ30に送信し、オンプレミスのサーバ30から照会情報に応じた情報を受信して、端末20Aに送信する。以上で処理を終了する。
【0115】
[10]オンプレミス側の装置の認証
また、中継サーバ10は、ユーザの認証を許可した後、更に、オンプレミス側の装置(例えば、エージェント)に対して認証を委任してもよい。つまり、中継サーバ10は、最終的にオンプレミス側の装置での認証が許可された場合に、端末20とオンプレミスのサーバ30との通信を可能となるように制御してもよい。
【0116】
[11]クラウドサービスとシングルサインオンについて
また、中継サーバ10は、インターネットを介して通信接続された端末20に、所与のクラウドサービスへのセキュアなアクセスと認証を行うことが可能な情報処理装置であってもよい。クラウドサービスとは、例えば、Microsoft365(登録商標)、Google(登録商標)、Slack(登録商標)、Zoom(登録商標)などの種々のサービスが存在する。そして、中継サーバ10は、ユーザの認証を許可したユーザに対してクラウドサービスを提供可能になるように制御する。
【0117】
例えば、中継サーバ10は、SAML(Security Assertion Markup Language)によって、シングルサインオンで複数のクラウドサービスに対して一括でユーザが利用可能となるように制御することができるようにしてもよい。
【0118】
[12]その他
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【符号の説明】
【0119】
10 サーバ、20 端末、30 オンプレミスのサーバ、
100 処理部、111 ユーザ制御部、112 認証処理部、113 照会情報生成部、114 提示部、115 中継処理部、120 Web処理部、170 記憶部、171 主記憶部、172 ユーザ情報記憶部、173 照会情報記憶部、180 情報記憶媒体、196 通信部