JP2005043938A - Access controller and its method - Google Patents
Access controller and its method Download PDFInfo
- Publication number
- JP2005043938A JP2005043938A JP2003199635A JP2003199635A JP2005043938A JP 2005043938 A JP2005043938 A JP 2005043938A JP 2003199635 A JP2003199635 A JP 2003199635A JP 2003199635 A JP2003199635 A JP 2003199635A JP 2005043938 A JP2005043938 A JP 2005043938A
- Authority
- JP
- Japan
- Prior art keywords
- information
- node
- private
- address
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、システム内部のノードに対する外部からのアクセスを制御するアクセス制御装置およびその方法に関する。
【0002】
【従来の技術】
例えば、特許文献1,2は、クライアントとサーバとの間の中継を行うプロキシサーバ(Proxy Server)を開示する。
このようなプロキシサーバを介して、クライアントに対してサーバの機能を提供することができるが、全てのクライアントに対してサーバのURL(Uniform Resource Locator)を公開してしまうと、セキュリティ上の問題が生じる可能性がある。
【0003】
【特許文献1】特開2002−007228号公報
【特許文献2】特開2002−189973号公報
【0004】
【発明が解決しようとする課題】
本発明は、上述した背景からなされたものであり、外部に対してサーバのURLなどの情報を開示することなく、サービスを提供できるようにしたアクセス制御装置およびその方法を提供することを目的とする。
また、本発明は、外部に対してサーバのURLなどの情報を開示しなくても済むようにして、サーバのセキュリティを向上させることができるアクセス制御装置およびその方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
[アクセス制御装置]
上記目的を達成するために、本発明に係るアクセス制御装置は、第1のノードに対して所定の関係にある第1の情報の通信を制御するアクセス制御装置であって、前記第1の情報は、第1のノードに対して送信される送信情報に含まれ、第2の情報により代替されることができ、第1のノードに対して送信されようとする第1の送信情報に含まれる前記第1の情報を検出する情報検出手段と、前記第1の送信情報に含まれる第1の情報を、この第1の情報を代替しうる第2の情報により置換し、第2の送信情報として、前記第1のノードに対して送信する情報置換手段と、前記第1のノードから、前記第2の情報を用いたアクセスがあったときに、前記アクセスされた第1の情報を代替する第2の情報を作成する第2の情報作成手段とを有する。
【0006】
好適には、前記第1の情報は、前記第1のノードに対して非公開とされる関係にある非公開情報であり、前記第2の情報は、前記非公開情報を、前記第1のノードに対して秘匿するための秘匿用情報であり、前記情報検出手段は、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開情報を検出する非公開情報検出手段であり、前記情報置換手段は、前記第1の送信情報に含まれる非公開情報を、この非公開情報を代替しうる秘匿用情報により置換し、第2の送信情報として、前記第1のノードに対して送信し、前記秘匿用情報生成手段は、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する秘匿用情報を作成する。
【0007】
好適には、前記秘匿用情報作成手段は、乱数を用いて前記秘匿用情報を作成する。
【0008】
好適には、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、この秘匿用情報により代替された前記非公開情報を用いたアクセスを行う代替アクセス手段をさらに有する。
【0009】
好適には、前記代替アクセス手段は、前記秘匿用情報の正当性を判定し、前記秘匿用情報が正当であると判断されたときに、前記秘匿用情報により代替された前記非公開情報を用いたアクセスを行う。
【0010】
好適には、前記非公開情報は、前記非公開ノードの属性を含む。
【0011】
好適には、前記非公開情報は、前記第1のノードに対して非公開とされる非公開ノードの非公開アドレスであり、前記第1のノードに対して公開される公開ノードが、前記第1のノードに対して送信しようとする前記第1の送信情報に含まれ、前記秘匿用情報は、前記非公開アドレスの代わりに公開される秘匿用アドレスであり、前記第1のノードは、前記第2の送信情報に含まれる前記秘匿用アドレスを用いて、前記非公開ノードに対するアクセスを行い、前記代替アクセス手段は、前記第1のノードから、前記秘匿用アドレスを用いたアクセスがあったときに、この秘匿用アドレスにより代替された前記非公開アドレスを用いて、前記非公開ノードに対するアクセスを代替する。
【0012】
好適には、前記非公開情報は、前記第1のノードに対して非公開とされる非公開ノードの非公開アドレスであり、前記第1のノードに対して公開される公開ノードが、前記第1のノードに対して送信しようとする前記第1の送信情報に含まれ、前記秘匿用情報は、前記非公開アドレスの代わりに公開される秘匿用アドレスであり、前記第1のノードは、前記第2の送信情報に含まれる前記秘匿用アドレスを用いて、前記非公開ノードに対するアクセスを行い、
前記非公開情報検出手段は、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開アドレスを検出し、前記情報置換手段は、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、第2の送信情報として、前記第1のノードに対して送信し、前記秘匿用情報作成手段は、前記第1のノードから、前記非公開アドレスを用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する。
【0013】
好適には、前記アクセス制御装置と、前記非公開ノードと、前記公開ノードとは、1つのネットワークシステムに含まれ、前記第1のノードは、前記ネットワークシステムに対してアクセスする外部ノードである。
【0014】
好適には、前記アクセス制御装置には、アクセス制御用アドレスが設定され、前記情報置換手段は、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、前記アクセス制御用アドレスを付加して第2の送信情報として、前記第1のノードに対して送信し、前記第1のノードは、前記第2の送信情報に付加されたアクセス制御用アドレスを用いて前記アクセス制御装置に対してアクセスし、前記第2の送信情報に付加された秘匿用アドレスを用いて、前記アクセス制御装置を介して、前記非公開ノードに対してアクセスする。
【0015】
好適には、前記非公開アドレスは、前記非公開ノードに対して固有に設定されるURL(Uniform Resource Locator)、IP(Internet Protocol)アドレスまたはドメイン名であり、前記アクセス制御用アドレスは、前記アクセス制御装置に対して固有に設定されるURL、IPアドレスまたはドメイン名である。
【0016】
好適には、前記第1のノードからの要求に応じて、前記非公開ノードの検索を行う検索手段をさらに有し、前記秘匿用情報作成手段は、前記検索の結果として得られた前記非公開ノードの非公開アドレスをを代替しうる秘匿用アドレスをさらに作成する。
【0017】
好適には、前記検索手段は、前記非公開ノードに対するアクセスに対する課金をさらに行う。
【0018】
[アクセス制御方法]
また、本発明に係るアクセス制御方法は、第1のノードに対して非公開とされる非公開情報の通信を制御するアクセス制御方法であって、前記非公開情報は、第1のノードに対して送信される送信情報に含まれ、前記非公開情報を、前記第1のノードに対して秘匿するための秘匿用情報により代替されることができ、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開情報を検出し、前記第1の送信情報に含まれる非公開情報を、この非公開情報を代替しうる秘匿用情報により置換し、第2の送信情報として前記第1のノードに対して送信し、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成するを有する。
【0019】
好適には、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、この秘匿用情報により代替された前記非公開情報を用いたアクセスをさらに行う。
【0020】
好適には、前記非公開情報は、前記第1のノードに対して非公開とされる非公開ノードの非公開アドレスであり、前記第1のノードに対して公開される公開ノードが、前記第1のノードに対して送信しようとする前記第1の送信情報に含まれ、前記秘匿用情報は、前記非公開アドレスの代わりに公開される秘匿用アドレスであり、前記第1のノードは、前記第2の送信情報に含まれる前記秘匿用アドレスを用いて、前記非公開ノードに対するアクセスを行い、前記第1のノードから、前記秘匿用アドレスを用いたアクセスがあったときに、この秘匿用アドレスにより代替された前記非公開アドレスを用いて、前記非公開ノードに対するアクセスを代替する。
【0021】
好適には、前記非公開情報は、前記第1のノードに対して非公開とされる非公開ノードの非公開アドレスであり、前記第1のノードに対して公開される公開ノードが、前記第1のノードに対して送信しようとする前記第1の送信情報に含まれ、前記秘匿用情報は、前記非公開アドレスの代わりに公開される秘匿用アドレスであり、前記第1のノードは、前記第2の送信情報に含まれる前記秘匿用アドレスを用いて、前記非公開ノードに対するアクセスを行い、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開アドレスを検出し、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、第2の送信情報として、前記第1のノードに対して送信し、前記第1のノードから、前記非公開アドレスを用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する。
【0022】
[プログラム]
また、本発明に係るプログラムは、第1のノードに対して非公開とされる非公開情報の通信を制御するプログラムであって、前記非公開情報は、第1のノードに対して送信される送信情報に含まれ、前記非公開情報を、前記第1のノードに対して秘匿するための秘匿用情報により代替されることができ、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開情報を検出するステップと、前記第1の送信情報に含まれる非公開情報を、この非公開情報を代替しうる秘匿用情報により置換し、第2の送信情報として前記第1のノードに対して送信するステップと、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成するステップとをコンピュータに実行させる。
【0023】
好適には、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、この秘匿用情報により代替された前記非公開情報を用いたアクセスをさらにコンピュータに実行させる。
【0024】
好適には、前記非公開情報は、前記第1のノードに対して非公開とされる非公開ノードの非公開アドレスであり、前記第1のノードに対して公開される公開ノードが、前記第1のノードに対して送信しようとする前記第1の送信情報に含まれ、前記秘匿用情報は、前記非公開アドレスの代わりに公開される秘匿用アドレスであり、前記第1のノードは、前記第2の送信情報に含まれる前記秘匿用アドレスを用いて、前記非公開ノードに対するアクセスを行い、前記秘匿用情報により代替された非公開情報を用いたアクセスを行うステップにおいて、前記前記第1のノードから、前記秘匿用アドレスを用いたアクセスがあったときに、この秘匿用アドレスにより代替された前記非公開アドレスを用いて、前記非公開ノードに対するアクセスを代替する。
【0025】
好適には、前記非公開情報は、前記第1のノードに対して非公開とされる非公開ノードの非公開アドレスであり、前記第1のノードに対して公開される公開ノードが、前記第1のノードに対して送信しようとする前記第1の送信情報に含まれ、前記秘匿用情報は、前記非公開アドレスの代わりに公開される秘匿用アドレスであり、前記第1のノードは、前記第2の送信情報に含まれる前記秘匿用アドレスを用いて、前記非公開ノードに対するアクセスを行い、
前記検出するステップにおいて、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開アドレスを検出し、前記置換するステップにおいて、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、第2の送信情報として、前記第1のノードに対して送信し、前記秘匿用情報を作成するステップにおいて、前記第1のノードから、前記非公開アドレスを用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する。
【0026】
【発明の実施の形態】
[本発明の背景]
本発明の実施形態を説明する前に、まず、その理解を容易にするために、本発明がなされるに至った背景を説明する。
近年、インターネット環境およびノートPCなどのモバイル端末が普及し、一般的に用いられている。
このような事情により、自宅から、あるいは、街角のホットスポットおよびインターネットカフェなどのインターネット接続サービスから、インターネットを介して、企業などの組織内のコンピュータシステム(ローカルコンピュータシステム)のネットワーク資源(Network Resource)、例えば、WWW(World Wide Web; 以下、単にWebとも記す)サーバ、ファイルサーバおよびネットワークプリンタなどを利用して、ユーザの利便性および組織業務の効率化が図られるようになってきている。
【0027】
しかしながら、組織内コンピュータシステムのセキュリティおよび保全のため、インターネットに接続された組織外のコンピュータなど(外部)と組織内コンピュータシステムとの通信は、通常、情報の交換を制限するファイヤウォールを介して行われる。
このファイヤウォールは、内部ネットワークに出入りするアクセスを一元的に監視し、外部から組織内コンピュータシステムへの不正侵入、および、組織内コンピュータシステムから外部への情報漏えいなどを防止する。
つまり、ファイヤウォールによって保護される組織内コンピュータシステムに、無条件に遠隔アクセスすることはできない。
【0028】
このような組織内コンピュータシステムに遠隔アクセスするために、組織内コンピュータシステムととインターネットとの境界に、アクセス制御装置(アクセス中継装置)と呼ばれる装置が設置されることがある。
このアクセス中継装置の一種にプロキシサーバ(Proxy Server)がある。
プロキシサーバは、クライアントとサーバの間で伝送されるデータを仲立ちし、一元的に監視して、許可されている特定の種類の接続を中継したり、不正なアクセスを遮断したりする。
プロキシサーバにおいては、転送プロトコルとして、一般的に、HTTP(Hypertext Transfer Protocol −− HTTP/1.1; IETF RFC 2068)が用いられ、また、FTP(File Transfer Protocol; IETF RFC 959)、Telnet(TELNET PROTOCOL Specification; IETF RFC 854)およびGopher(The Internet Gopher Protocol; IETF RFC 1436)などが用いられることもある。
【0029】
プロキシサーバには、フォワードプロキシサーバ(Forward Proxy Server)とリバースプロキシ(Reverse Proxy Server)とが含まれる。
フォワードプロキシサーバは、インターネット上にあるWebサーバなどを、組織内コンピュータシステムなど(内部ネットワーク)から利用するために用いられる。
フォワードプロキシサーバは、内部ネットワークのクライアントからインターネットへのHTTP転送プロトコルによるリクエスト(通信要求)を受け取り、クライアントを代理して、インターネットにリクエストを送出する。
【0030】
また、フォーワードプロキシサーバは、インターネットから送られてきたレスポンス(通信応答)を受け取り、クライアントに返す。
従って、インターネット側から見ると、フォワードプロキシサーバが、あたかもクライアントであるかのように見え、クライアントのネットワークロケ−ション(URL、ドメイン名およびIPアドレスなどの、ネットワーク上で位置を特定する論理アドレス情報)などの情報が隠蔽される。
このように、フォワードプロキシサーバは、サーバに対してクライアントを保護する仕組みになっている。
従って、インターネットからの内部ネットワーク内のサーバへのアクセスが、逆向きのフォワードプロキシサーバを介して行われると、内部ネットワーク側に対して、インターネット上のクライアントのネットワークロケ−ションなどが隠蔽されてしまい、反対に、インターネット側に対しては、内部ネットワークのサーバのネットワークロケ−ションなどの情報は隠蔽されないことになる。
【0031】
つまり、フォワードプロキシサーバだけを用いると、内部ネットワークに含まれるサーバなどのノードのネットワークロケーションなどの情報が、外部に流出してしまう可能性がある。
このように、内部ネットワークの情報が、不正侵入を企てる悪意の第三者に渡ると、その情報は、サーバに対する攻撃に使用される可能性がある。
例えば、内部ネットワークの多数のサーバの内の1つ(例えばWebサーバ)に対する不正侵入が成功すると、Webサーバ上のHTML(Hypertext Markup Language −2.0; IETF RFC 1866)形式のコンテンツに含まれ、他のHTML形式のコンテンツを参照するためのポインタとして用いられるリンク(ハイパーリンク)をたどることにより、他のサーバの情報が次々に流出し、内部ネットワーク内の多くのサーバが攻撃の危険にさらされることになりかねない。
【0032】
特に、外部に対して公開することを目的とされず、内部ネットワークに閉じた使用を前提としているサーバ(非公開サーバ)が、組織内の部門やワークグループで管理されているときには、セキュリティよりも、部門などにおける通常使用時の利便性を優先させることがある。
このようなときには、非公開サーバは、セキュリティ対策の点で、外部に対する公開を前提として設計されたWebサーバなど(公開サーバ)よりも脆弱になり、不正侵入されやすくなる。
例えば、インターネットカフェなどに設置されているような、不特定多数が使用可能なコンピュータから、内部ネットワークに対するインターネットを介した接続が行われるときには、この接続により伝送されるデータに対して、SSL(Secure Sockets Layer)などの暗号化転送プロトコルを適用したとしても、第三者への内部ネットワークの情報の流出の危険は、完全にはなくならない。
【0033】
他方、リバースプロキシサーバは、内部ネットワーク上にあるWebサーバなどを、インターネット側に対して公開するために用いられる。
リバースプロキシサーバは、インターネット側からのアクセス要求を受け、内部ネットワークに接続されたWebサーバなどに中継する。
従って、リバースプロキシサーバを用いると、内部ネットワークに含まれるサーバの構成が外部から隠蔽され、それによって内部ネットワークの構成の変更が容易になり、また、サーバ間で柔軟な負荷分散ができるようになる。
【0034】
リバースプロキシサーバは、複数のオリジンサーバ(プロキシサーバにより代理されるサーバ)を、1つのネットワークロケーションからアクセスできるようにあらかじめ関係付け、クライアントからリクエストを受け付けると、内部的にリクエストに含まれるネットワークロケーションを変換して各ホストコンピュータに振り分けて転送する。
従って、内部ネットワークのクライアントによる使用を前提としている多数の非公開サーバに対して、インターネットからのアクセスを許すようなときには、以下のような問題((1),(2),(3))が生じる。
【0035】
(1)内部ネットワーク上の任意のサーバに対して、インターネットからアクセスできるようにするためには、内部ネットワークの全てのサーバのネットワークロケーションが、リバースプロキシサーバにより関係付けられ、外部に対して公開されるネットワークロケーションと対応付けられていなければならない。
しかしながら、内部ネットワークでの使用を前提としている非公開サーバは、設置台数が多い上に、その構成の変更も頻繁に行われ、管理も各部門などで行われることが多いので、リバースプロキシサーバに、常に最新のネットワークの情報が反映されているとは限らず、あるいは、リバースプロキシサーバに、常に最新のネットワークの情報を反映させるためには、多くの手間と費用が必要とされる。
【0036】
(2)内部ネットワーク上のサーバに対して、内部ネットワークのクライアントからアクセスするためには、ユーザは、オリジンサーバのネットワークロケーションを知っていなければならない。
一方、内部ネットワーク上のサーバに対して、インターネットのクライアントからアクセスするためには、ユーザは、内部ネットワーク上のサーバを外部へ公開するために設定されたネットワークロケーションを知っていなければならない。
従って、内部ネットワークからも、インターネットからも内部ネットワーク上のサーバにアクセスする可能性があるユーザは、これら両方のネットワークロケーションを知っていなければならない。のために用いられるオリジンサーバのネットワークロケーションを知っていなければならない。
【0037】
(3)リバースプロキシサーバにおいては、オリジンサーバのコンテンツのリンクを、オリジンサーバ上のページ間でリンクを張る場合にはパス名だけの(ホストアドレスを含まない)部分URLで統一しなければならないなどの制約がある。
内部ネットワーク上の全てのサーバ上のHTML形式のコンテンツのリンクを、このような部分URLに修正することで、この制約に対応することも可能である。
しかしながら、この修正を受けたコンテンツに対しては、リバースプロキシサーバを介したアクセスのみが可能となり、内部ネットワーク上のクライアントからの直接の利用ができなくなる。
従って、このような不具合を回避するためには、内部ネットワーク上の各サーバで、内部ネットワークのクライアント向けのコンテンツと、外部公開用に修正したコンテンツの2種類を準備しなければならない。
このような手間をかけることは、現実的には、非常に困難である。
【0038】
以上説明したように、既存のプロキシサーバを用いても、インターネットから組織内コンピュータシステムにアクセスする際の利便性と、悪意の第三者から組織内コンピュータシステムを保護したいというセキュリティとを両立することができなかった。
なお、ここまで、主にWebサーバを具体例として挙げて、プロキシサーバについて説明したが、プロキシサーバを他の種類のサーバに対して適用する場合でも、同様な問題が生じる。
【0039】
本発明は、上述したような背景からなされたものであり、インターネット上のクライアントコンピュータなど(外部)に対して非公開とされ、企業内コンピュータシステムなど(ローカルネットワーク)において閉じた使用を前提としている非公開サーバに対して、インターネットなどを介して、外部から遠隔アクセスすることができるように工夫されている。
また、本発明は、ローカルネットワークの非公開サーバに対して、外部から遠隔アクセスできるようにし、さらに、ローカルネットワークに接続されている非公開サーバおよびその他のコンピュータなどの内部情報を隠蔽することができるように工夫されている。
また、本発明は、ローカルネットワーク内部で公開されている情報を、外部に対して秘匿できるように工夫されている。
【0040】
[第1実施形態]
以下、本発明の第1の実施形態を説明する。
【0041】
[第1のネットワークシステム1]
図1は、本発明の第1の実施形態に係るアクセス制御方法が適応される第1のネットワークシステム1の構成を例示する図である。
図1に示すように、ネットワークシステム1は、ネットワークシステム12、Webサーバ130(以下、外部Webサーバ130とも記す)および第1のローカルネットワークシステム2が、インターネット(The Internet)120を介して接続されて構成される。
ネットワークシステム12は、1つ以上のクライアント124−1,124−2(以下、外部クライアント124とも記す)が、IP(Internet Protocol)ネットワーク126−1を介して接続された構成を採り、IPネットワーク126−1は、ルータ128−1を介してネットワークシステム120に接続される。
【0042】
また、ローカルネットワークシステム2は、それぞれ1つ以上のクライアント132(以下、内部クライアント132とも記す)、ネットワークシステム12などの外部に対してネットワークロケーションなどの情報が公開されているWebサーバ22−1,22−2(以下、公開Webサーバ22とも記す)、外部に対して、このような情報が非公開になっているWebサーバ24(以下、非公開Webサーバ24とも記す)、ファイアウォール20および第1のアクセス制御装置3が、IPネットワーク126−3を介して接続されて構成される。
さらに、ファイアウォール20およびアクセス制御装置3は、IPネットワーク126−2を介してルータ128−2に接続され、これらを介してインターネット120に接続される。
【0043】
なお、以下、クライアント124−1,124−2など、複数ある構成部分のいずれかを特定せずに示す場合には、単に、クライアント124などと略記することがある。
また、アクセス制御装置3、外部クライアント124およびWebサーバ22,24などを総称してノードと記すことがある。
【0044】
また、図1に例示したネットワークシステム1において、ローカルネットワークシステム2が、既に述べた本発明の背景の企業内コンピュータシステムおよび内部ネットワークなどに対応し、ネットワークシステム12内のクライアント124などが、インターネット側および外部のクライアントなどに対応する。
ネットワークシステム1においては、これらの構成部分により、外部のクライアント124などからの要求に応じて、ローカルネットワークシステム2内のWebサーバ22およびWebサーバ24により、HTML形式のコンテンツの提供などが行われる。
【0045】
図2は、図1に示したアクセス制御装置3、クライアント124,132、ルータ128、Webサーバ22,24,130のハードウェア構成を例示する図である。
図2に示すように、これらは、CPU102およびメモリ100などを含むコンピュータ本体100、表示装置・キーボード・マウスなどを含む表示・入力装置106、通信装置108、および、CD装置・HDD・FDDなどの記録装置110から構成される。
つまり、これらは、通信機能を有する一般的なコンピュータとしての構成部分を有している。
【0046】
ネットワークシステム1において、IPネットワーク126は、LAN(Local Area Network)などのパケット交換網であって、TCP/IPプロトコルによる通信路を提供する。
なお、例えば、ネットワークシステム1においては、各IPネットワーク126は、グローバルIPアドレス体系により運用される。
【0047】
インターネット120は、広域パケット交換網であって、多数のIPネットワーク126が、ルータ128を介して相互接続されて構築されている。
【0048】
ファイアウォール20は、ローカルネットワークシステム2の内部クライアント132から外部(ネットワークシステム1においてはインターネット120、外部Webサーバ130およびネットワークシステム12)に対するアクセスのみを通過させる。
反対に、ファイアウォール20は、外部からローカルネットワークシステム2内部へのアクセスを阻止する。
【0049】
Webサーバ22,24,130は、例えば、Web対応のファイルサーバ、文書管理サーバ、スキャナ付き画像保存サーバ、コピア複合機(コピー・プリンタ・スキャナ・FAXなどが一体に構成された装置)およびメールボックスサーバなどであり、クライアント124,132に対して適用業務サービスを提供する。
つまり、Webサーバ22,24,130は、インターネット120およびIPネットワーク126を介して、HTTP転送プロトコルなどの転送プロトコルにより、クライアント124,132からのアクセスを受け、これらからの要求に応じて、適用業務サービスの提供に必要なコンテンツを返す。
公開Webサーバ22,24,130が外部クライアント124,132に返すコンテンツは、例えば、HTMLなどの言語により記述される。
【0050】
クライアント124,132は、Webサーバ22,24,130などのサーバによって提供される適用業務のサービスを利用するコンピュータ、スキャナ装置およびコピア複合機など(動的にネットワークに接続されるモバイル対応であってもよい)である。
クライアント124,132は、ユーザインタフェース(例えば表示・入力装置106;図2)を備えており、Webブラウザ(図示せず)と呼ばれるアプリケーションを実行する。
クライアント124,132上で実行されるWebブラウザは、ユーザの操作に応じて、HTTP転送プロトコルなどによりWebサーバ22,24,130にアクセスし、HTMLなどの言語で記述されたコンテンツ(Webページ)を閲覧するための機能を提供する。
【0051】
[アクセス制御装置3]
アクセス制御装置3は、外部クライアント124とWebサーバ22,24との間に介在し、外部クライアント124からの要求を受けて、外部クライアント124を代理してこれらのサーバにアクセスする。
また、アクセス制御装置3は、Webサーバ22,24が、外部クライアント124からの要求に対して応答すると、非公開Webサーバ24の情報(以下、非公開Webサーバ24のネットワークロケーション(URLなど)を具体例とする)を外部に対して隠蔽しつつ、これらのサーバを代理して、外部クライアント124に対する応答を中継する。
【0052】
[アクセス制御プログラム4]
図3は、図1,図2に示したアクセス制御装置3において実行される第1のアクセス制御プログラム4の構成を示す図である。
図3に示すように、第1のアクセス制御装置3は、外部クライアント124側の通信制御部400、代理要求部402、秘匿用コードデータベース(DB)404、DB管理部406、秘匿用コード作成部408、Webサーバ22,24側の通信制御部410、非公開情報検出部412、情報保護部414および代理応答部416から構成される。
アクセス制御プログラム4は、例えば記録媒体112によりアクセス制御装置3に供給され、メモリ104にロードされて実行される。
アクセス制御プログラム4は、これらの構成部分により、外部クライアント124に対して公開Webサーバ22の機能だけでなく、非公開Webサーバ24の機能をも提供するとともに、外部に対して、非公開Webサーバ24のネットワークロケーションなどのローカルネットワークシステム2の内部情報を隠蔽する。
【0053】
[アクセス制御プログラム4の処理の概要]
アクセス制御プログラム4の処理の概要をさらに説明する。
ローカルネットワークシステム2のアクセス制御装置3および公開Webサーバ22のネットワークロケーションは、ローカルネットワークシステム2の外部に対して公開されている。
従って、アクセス制御装置3および公開Webサーバ22に対しては、これらのネットワークロケーションを知っていさえすれば、外部クライアント124のユーザは、誰でも、これらに対してアクセスすることができる。
【0054】
これに対して、非公開Webサーバ24のネットワークロケーションは、ローカルネットワークシステム2の外部に対して公開されていない。
従って、外部のユーザは、公開Webサーバ22から受けたHTML形式のコンテンツに含まれるリンクをたどることにより、初めて、非公開Webサーバ24にアクセスすることができる。
しかしながら、公開Webサーバ22から、隠蔽ための対策が何ら講じられていないHTMLコンテンツが外部に対して提供されてしまうと、秘密にされるべき非公開Webサーバ24のネットワークロケーションなどの情報が外部に出てしまう。
【0055】
図4は、図3に示した秘匿用コードDB404に保持され、非公開Webサーバ24の機能提供およびネットワークロケーションの隠蔽のために用いられる第1の秘匿用コードテーブルを例示する図である。
アクセス制御プログラム4(アクセス制御装置3)は、このような不具合を防ぐため、以下のような処理((1)〜(8))を行う。
(1)外部クライアント124から公開Webサーバ22へのアクセスがあり、外部クライアント124に対して公開Webサーバ22からHTMLコンテンツが送信されようとするときに、アクセス制御プログラム4は、このコンテンツに対して、非公開Webサーバ24のネットワークロケーションの検出処理を行う。
(2)上記検出処理の結果、非公開Webサーバ24のネットワークロケーションが検出されなかったときには、HTMLコンテンツを、外部クライアント124に対して送信する。
【0056】
なお、図4に示すパスは、仮想パスであって、仮想パスは、下記のように用いられる。
Webサーバが公開するディレクトリ構造は,必ずしもWebサーバが稼動するコンピュータのファイルシステムのディレクトリ構造とは一致しない。
そこで、Webサーバは、HTTPリクエストのURLに指定されたパス名(仮想パス)と、そのコンピュータの内部の実際のパス名(物理パス)との対応関係を、Webサイトの定義パラメータとして持ち、仮想パスから物理パスへの変換を行いながらインターネットにコンテンツを提供する。
【0057】
URLは、”プロトコル名 ://(ホストアドレス):(ポート番号)/(パス名)”という形式で記述され、ホストアドレスの部分には、サーバのドメイン名もしくはIPアドレスが格納される。
具体的には、例えば、URLが、”http://www.fujixerox.co.jp:80/news/index.html”であるとき、プロトコル名は”http”、サーバのホストアドレス(IPアドレスもしくはドメイン名)は”www.fujixerox.co.jp”、ポート番号は”80(80番はデフォルトなので省略可)”、パス名(仮想パス)は”/news/index.html”である。
【0058】
(3)上記検出処理の結果、非公開Webサーバ24のネットワークロケーションが検出されたときには、必要に応じて、非公開Webサーバ24のネットワークロケーションを外部に対して隠蔽するための秘匿用コードを作成する。
作成された秘匿用コードは、非公開Webサーバ24に要求を行った外部クライアント124を示す情報、リンク先の非公開Webサーバ24およびリンク元の公開Webサーバ22のネットワークロケーションなどを示すデータと対応付けられ、図4に例示するように、テーブル形式で、秘匿用コードDB404に記憶される。
秘匿用コードテーブルのエントリそれぞれには、エントリ番号、秘匿用コード、非公開Webサーバ24のネットワークロケーション(アドレス:ポート,仮想パス)、非公開Webサーバ24のネットワークロケーション(アドレス:ポート,仮想パス)、公開Webサーバ22に対して要求を行った外部クライアント124のアドレス、登録時刻、および、非公開Webサーバ24に対する保護の方法などを示す保護レベルが登録される。
【0059】
(4)また、上記検出処理の結果、非公開Webサーバ24のネットワークロケーションが検出されたときには、HTMLコンテンツに含まれる非公開Webサーバ24のネットワークロケーションは、秘匿用コードテーブルに登録された秘匿用コードにより置き換えられ、外部クライアント124に返される。
(5)秘匿用コードを受けた外部クライアント124が、この秘匿用コードを含む要求を非公開Webサーバ24(アクセス制御装置3)に対して出したときには、アクセス制御プログラム4は、この要求を受け、要求に含まれる秘匿用コードが、秘匿用コードテーブル(図4)に登録されているか否かを検索する。
【0060】
(6)アクセス制御プログラム4は、正当な秘匿用コードが登録されているときには、要求中の秘匿用コードを非公開Webサーバ24のネットワークロケーションに置換し、非公開Webサーバ24に対して中継する。
この要求に対して、非公開Webサーバ24からHTMLコンテンツなどが返されると、アクセス制御プログラム4は、このHTMLコンテンツを、外部クライアント124に中継する。
【0061】
(7)アクセス制御プログラム4は、秘匿用コードが、まだ秘匿用コードテーブルに登録されていないものであるときには、秘匿用コードテーブルの新たなエントリを作成し、必要に応じて、図4に示した各データを登録する。
(8)アクセス制御プログラム4は、正当な秘匿用コードが登録されていないときには、要求を非公開Webサーバ24に対して中継せず、外部クライアント124にエラーを返すなどの以上処理を行う。
【0062】
以下、アクセス制御プログラム4(図3)の各構成部分を説明する。
【0063】
[通信制御部400,410]
アクセス制御プログラム4において、通信制御部400,410は、TCP/IPにより、外部クライアント124および公開Webサーバ22,24との間でデータの送信および受信を行うための通信制御を行う。
【0064】
[秘匿用コードDB404]
秘匿用コードDB404は、図4に示した秘匿用コードテーブルの各エントリを、秘匿用コード作成部408から受け入れて記憶する。
また、秘匿用コードDB404は、代理要求部402から秘匿用コードが入力されると、秘匿コードの値が一致するエントリを検索し、検索結果として得られたエントリに登録されている情報を返す。
【0065】
[DB管理部406]
DB管理部406は、表示・入力装置106(図2)に対するユーザの操作などに従って、秘匿用コードDB404に記憶された秘匿用コードテーブルを管理する。
DB管理部406が行う秘匿用コードテーブルの管理には、例えば、登録後、一定時間が経過したエントリの削除などが含まれる。
【0066】
[代理要求部402]
図5は、図3に示した代理要求部402の処理(S14)を示すフローチャートである。
代理要求部402は、通信制御部400を介して外部クライアント124からの要求を受けて、外部クライアント124を代理して、Webサーバ22,24に対して要求を中継する。
代理要求部402は、上述したアクセス制御プログラム4の処理の(5),(6),(8)を行う。
【0067】
以下、図5を参照して、代理要求部402の処理をさらに説明する。
図5に示すように、ステップ140(S140)において、代理要求部402は、通信制御部400を介して、外部クライアント124からの要求を受信する。
S140の処理において受信された要求に含まれる宛先が、例えばURLであるときには、宛先は、「http://宛先サーバのホストアドレス(ドメイン名もしくはIPアドレス):宛先ポート番号/宛先仮想パス」といったように記述される。
ステップ142(S142)において、代理要求部402は、受信した要求の宛先(例えば、上記例における宛先サーバのホストアドレス)が、ローカルネットワークシステム2のアクセス制御装置3以外のノードであるか、より具体的には、非公開Webサーバ24であるか否かを判断する。
代理要求部402は、要求の宛先が非公開Webサーバ24であるときにはS152の処理に進み、これ以外のときにはS144の処理に進む。
【0068】
なお、代理要求部402の処理におけるデータフォーマットは、下表1に例示する通りである。
【0069】
【表1】
【0070】
ステップ144(S144)において、代理要求部402は、要求の宛先がアクセス制御装置3であるか否かを判断する。
代理要求部402は、要求の宛先がアクセス制御装置3であるときにはS146の処理に進み、これ以外のときにはS158の処理に進む。
【0071】
ステップ146(S146)において、代理要求部402は、秘匿用コードDB404に保持されている秘匿用コードテーブル(図4)を検索し、要求に含まれるパス名(例えば、上記例における宛先仮想パス)が、ローカルネットワークシステム2内部のノードに対して設定された秘匿用コードであるか否かを判断する。
図1に示した例においては、要求に含まれるパス名が、アクセス制御装置3自身の仮想パスでなく、かつ、秘匿用コードDB404に保持されているときに、このパス名が秘匿用コードであると判断され、これ以外のときには、秘匿用コードでないと判断される。
代理要求部402は、パス名が秘匿用コードであるときにはS148の処理に進み、これ以外のときにはS158の処理に進む。
【0072】
ステップ148(S148)において、代理要求部402は、要求に含まれる秘匿用コードが正当であるか否かを判断する。
つまり、代理要求部402は、要求の送信元である外部クライアント124のホストアドレスこの秘匿コードと同じエントリに登録されていて、かつ、要求に含まれる参照元URLが、が、秘匿用コードDB404においてこの秘匿コードと同じエントリに登録されているときに、この秘匿コードが正当であると判断する。
代理要求部402は、秘匿コードが正当であると判断したときにはS150の処理に進み、これ以外のときにはS158の処理に進む。
【0073】
ステップ150(S150)において、代理要求部402は、秘匿用コードDB404を参照し、要求に含まれる秘匿コードから、非公開Webサーバ24へのURLに置換する。
【0074】
ステップ154(S154)において、代理要求部402は、S150の処理により宛先が非公開Webサーバ24に置換された要求、または、S142の処理により、宛先が公開Webサーバ22に対するものであると判断された要求を、通信制御部410を介して、宛先のノードに対して送信する。
【0075】
ステップ156(S156)において、代理要求部402は、代理応答部416に対して、外部クライアント124の代理で要求を行ったことを通知する。
ステップ158(S158)において、代理要求部402は、外部クライアント124に対してエラーを返したり、ローカルネットワークシステム2の管理者に異常の発生を表示するなどの異常処理を行う。
【0076】
[非公開情報検出部412]
非公開情報検出部412は、以下に示すように、上記処理(1)と、(2)の処理の一部とを行う。
非公開情報検出部412は、Webサーバ22,24からの応答(HTMLコンテンツ)を受けて、この応答から、非公開情報を検出する。
非公開情報検出部412が検出の対象とする非公開情報は、ローカルネットワークシステム2の外部(ローカルネットワークシステム2にアクセスしている外部クライアント124のユーザなど)に対して、非公開とされ、秘匿されるべき情報一般である。
この非公開情報の例としては、ここで具体例として示す非公開Webサーバ24のネットワークロケーション(ホストアドレス(ドメイン名・IPアドレス)、ポート番号、コンテンツ(Webページ)の仮想パス、および、これらから構成されるURL)の他に、内部クライアント132のホストアドレス(ドメイン名・IPアドレス)など、ローカルネットワークシステム2内のノードにアクセスするための宛先を特定可能な情報一般を挙げることできる。
【0077】
さらに、非公開情報検出部412は、非公開情報が検出されたときには、この非公開情報に対して、保護レベル(図4)を設定し、秘匿用コードDB404に登録する。
保護レベルは、非公開情報の秘匿方法を制御するパラメータであって、例えば、ここでは、保護レベルとして0,1が設定される場合を具体例とする。
例えば、非公開Webサーバ24に対して保護レベル0が設定されたときには、非公開Webサーバ24から外部クライアント124への応答に含まれる非公開情報(非公開Webサーバ24への仮想パス)は、秘匿用コードで置換されて外部クライアント124に通知される。
【0078】
従って、外部クライアント124は、通知された秘匿用コードを用いてアクセス制御装置3に対して要求を出すことにより、非公開Webサーバ24からHTMLコンテンツの提供などのサービスを受けることができ、しかも、外部クライアント124に対しては、非公開Webサーバ24のネットワークロケーションは隠蔽される。
また、例えば、非公開Webサーバ24に対して保護レベル1が設定されたときには、非公開Webサーバ24から外部クライアント124への応答に含まれる非公開情報(非公開Webサーバ24への仮想パス)は、予め定義された文字列(「*****」など)で置換されて外部クライアント124に通知される。
【0079】
以下、非公開Webサーバ24から外部クライアント124に対してHTMLコンテンツが応答として返される場合を具体例として、非公開情報検出部412による非公開情報の検出、および、保護レベルの設定をさらに説明する。
このHTMLコンテンツには、下表2に例示するように、外部クライアント124において、ユーザには表示されないが、非公開Webサーバ24のURLを含み、外部クライアント124上で動作するWebブラウザを制御するためのHTMLタグが埋め込まれている。
【0080】
【表2】
【0081】
非公開情報検出部412は、HTMLコンテンツから、表2に例示したようなHTMLタグを取り出し、HTMLコンテンツに含まれるURLが、相対URLであるときには、これを絶対URLに変換する。
相対URLは、仮想パスだけで構成され、しかも、その仮想パスは、ディレクトリ階層上の自分が現在いる位置(現在のHTMLファイルが置かれているディレクトリ)を起点として、そこからの相対的な位置を指定するもので、例えば、”../../index.html”と記述される(なお、この例は、「今の位置から2階層上のディレクトリのindex.htmlというファイル」を意味する)。
従って、サーバのホストアドレスや現在のディレクトリを少なくともなんらかの形で保存しておかないと後から直接アクセスすることができないので、このような仮想パスの絶対パスへの変換が行われる。
【0082】
次に、非公開情報検出部412は、このHTMLタグに含まれるURLが、非公開Webサーバ24のURLであるか否かを判断する。
次に、非公開情報検出部412は、非公開Webサーバ24のURLであるときには、このURL(ネットワークロケーション)に、保護レベル0を設定する。
【0083】
また、非公開情報検出部412は、HTMLコンテンツにおいて、HTMLタグの中だけではなく、外部クライアント124のユーザに対して表示される部分に含まれる非公開Webサーバ24のURLの検出を行う。
非公開情報検出部412は、HTMLコンテンツ中で、外部クライアント124に表示される部分に含まれる非公開Webサーバ24のURLに対して、保護レベル1を設定する。
【0084】
例えば、ドメイン名はFQDN(Fully Qualified Domain Name)形式で記述されるというように、ホストアドレスおよびURLなどの記述形式は標準化されているので、非公開情報検出部412は、HTMLタグを検出する以外の方法によっても、HTMLコンテンツから非公開情報を検出することができる。
非公開情報検出部412は、検出した非公開情報を、非公開情報リスト(図示せず)にまとめて、応答として非公開Webサーバ24から返されたメッセージ(オリジナルのコンテンツ)とともに、情報保護部414に通知する。
【0085】
非公開情報リストには1つ以上のエントリが含まれ、各エントリには、HTMLコンテンツにおける非公開情報を特定するための情報、例えば、HTMLコンテンツ中の非公開情報の先頭文字の位置・文字数(範囲)、および、保護レベルなどが含まれる。
あるいは、非公開情報検出部412は、応答から、非公開情報が検出されなかったときには、エントリ数0の非公開情報リストを、オリジナルのコンテンツとともに、情報保護部414に対して通知する。
なお、非公開情報リストのフォームは、下表3に例示する通りである。
【0086】
【表3】
【0087】
図6は、図3に示した非公開情報検出部412の処理(S18)を示すフローチャートである。
図6に示すように、ステップ180(S180)において、非公開情報検出部412は、Webサーバ22,24から外部クライアント124への応答(HTMLコンテンツなど)を受信する。
ステップ182(S182)において、非公開情報検出部412は、受信した応答を解析する。
ステップ184(S184)において、非公開情報検出部412は、解析の結果に基づき、応答に相対URLが含まれているときには、この相対URLを、絶対URLに変換する。
【0088】
ステップ186(S186)において、非公開情報検出部412は、応答に非公開情報が含まれているか否かを判断する。
非公開情報検出部412は、応答に非公開情報が含まれているときにはS188の処理に進み、これ以外のときにはS192の処理に進む。
ステップ188(S188)において、非公開情報検出部412は、応答から検出された非公開情報それぞれの保護レベルを判定する。
ステップ190(S190)において、非公開情報検出部412は、検出された非公開情報それぞれに対応する1つ以上のエントリを含む非公開情報リストを作成する。
【0089】
ステップ192(S192)において、非公開情報検出部412は、エントリ数0の非公開情報リストを作成する。
ステップ194(S194)において、非公開情報検出部412は、Webサーバ22,24から受けた応答と、作成した非公開情報リストとを情報保護部414に対して出力する。
【0090】
情報保護部414は、以下に示すように、上記処理(2),(4)の一部を行う。
情報保護部414は、非公開情報検出部412から入力されたWebサーバ22,24の応答に含まれる非公開情報を、非公開情報リストを参照して特定し、非公開情報リストに含まれる保護レベル(0,1)に応じて、秘匿用コード(保護レベル0)または文字列(保護レベル1)に置換する。
つまり、情報保護部414は、保護レベル0の非公開情報に対しては、非公開情報と、その非公開情報リストを、秘匿用コード作成部408に対して出力し、非公開情報に対応する秘匿用コードを取得する。
【0091】
さらに、情報保護部414は、取得した秘匿用コードと、アクセス制御装置3のネットワークロケーションとを組み合わせて、仮想ネットワークロケーションとし、応答に含まれるWebサーバ22,24のネットワークロケーションと置換する処理を行う。
例えば、Webサーバ22,24の応答に、非公開Webサーバ24のネットワークロケーションが、「http://非公開Webサーバ24のホストアドレス/」という形式で含まれているときには、これを、「http://アクセス制御装置3のホストアドレス/秘匿用コード/」に置換する。
【0092】
また、情報保護部414は保護レベル1の非公開情報に対しては、この非公開情報を、「*****」などの文字列で置換する処理を行う。
以上のような置換処理により、非公開情報が隠蔽されたWebサーバ22,24の応答は、代理応答部416に対して出力される。
また、情報保護部414は、非公開情報検出部412からエントリ数0の非公開情報リストと、Webサーバ22,24からの応答が入力されたときには、この応答を、代理応答部416に対して出力する。
また、情報保護部414は、非公開情報と、その非公開情報リストを、秘匿用コード作成部408に対して出力する。
【0093】
以下、図7を参照して、情報保護部414の処理をさらに説明する。
図7は、図3に示した情報保護部414の処理(S20)を示すフローチャートである。
図7に示すように、ステップ200(S200)において、情報保護部414は、非公開情報検出部412から、Webサーバ22,24から外部クライアント124への応答と、非公開情報リストとを受け入れる。
ステップ202(S202)において、情報保護部414は、非公開情報リストのエントリ数が0より多いか否かを判断する。
情報保護部414は、エントリ数が0より多いときにはS204の処理に進み、これ以外のときにはS220の処理に進む。
【0094】
ステップ204(S204)において、情報保護部414は、変数Nに1を代入する(N=1)。
ステップ206(S206)において、情報保護部414は、非公開情報リストの保護レベルが0であるか1であるかを判断する。
情報保護部414は、保護レベルが0であるときにはS208の処理に進み、これ以外のときにはS210の処理に進む。
【0095】
ステップ208(S208)において、情報保護部414は、秘匿用コード作成部408に対して、非公開情報およびその関連情報(外部クライアント124のネットワークロケーションなど、秘匿用コードの作成に必要な情報)を通知する。
また、情報保護部414は、秘匿用コードDB404から、非公開情報と置換される秘匿用コードを受け入れる。
ステップ210(S210)において、情報保護部414は、応答に含まれる非公開Webサーバ24のネットワークロケーションを、受け入れた秘匿用コードなどで置換する。
【0096】
ステップ212(S212)において、情報保護部414は、非公開情報を、所定の文字列(「*****」など)で置換する。
ステップ214(S214)において、情報保護部414は、変数Nをインクリメントする(N=N+1)。
ステップ216(S216)において、情報保護部414は、変数Nが、非公開情報リストのエントリ数を超えたか否かを判断する。
情報保護部414は、変数Nがエントリ数を超えたときにはS218の処理に進み、これ以外のときにはS206の処理に戻る。
【0097】
ステップ218(S218)において、非公開情報が置換された応答を、代理応答部416に対して出力する。
ステップ220(S220)において、情報保護部414は、非公開情報検出部412から受け入れた応答を、代理応答部416に対して出力する。
【0098】
[代理応答部416]
代理応答部416は、以下に示すように、上記処理(4)の一部を行う。
代理応答部416は、情報保護部414から入力される応答を受けて、この応答が、代理要求部402がネットワークシステム1214から受けた要求に対する正当な応答であるか否かを検査する。
代理応答部416は、この検査の結果、応答が正当であると判断されたときには応答を外部クライアント124に対して中継する。
また、代理応答部416は、応答が正当でないと判断されたときには、応答を破棄し、外部クライアント124に対してエラーメッセージを返すなどの処理を行う。
【0099】
[秘匿用コード作成部408]
秘匿用コード作成部408は、以下に示すように、上記処理(3)を行う。
秘匿用コード作成部408は、情報保護部414からの通知(S208;図7)を受けて、乱数を発生させ、発生させた乱数を秘匿用コードとして秘匿用コードDB404に記憶する。
さらに、秘匿用コード作成部408は、情報保護部414から受けた情報から、秘匿コードテーブル(図4)の各エントリの情報を作成し、秘匿用コードDB404に記憶させる。
【0100】
[ネットワークシステム1の全体動作]
以下、ネットワークシステム1の全体的な動作を説明する。
図8は、図1に示したネットワークシステム1の全体動作(S10)を例示するシーケンス図である。
なお、図8に示す各処理におけるデータのフォーマットは、HTTPにより規定され、下表4,5に例示する通りである。
【0101】
【表4】
【0102】
【表5】
【0103】
図8に示すように、ステップ100(S100)において、ユーザが、Webブラウザで、公開Webサーバ22のURLを指定すると、外部クライアント124から、アクセス制御装置3(アクセス制御プログラム4;図3)に対して、HTTPプロトコルにより、公開Webサーバ22のURLを宛先アドレスとして、公開Webサーバ22が提供するHTMLコンテンツの送信要求(URLが示すコンテンツに対するGETリクエスト)が送信される。
ステップ102(S102)において、アクセス制御装置3は、公開Webサーバ22に対して、外部クライアント124から受けた要求を中継する。
【0104】
ステップ104(S104)において、公開Webサーバ22は、要求に応じて、非公開Webサーバ24のURL(ネットワークロケーション)を含むHTMLコンテンツを返す。
ステップ106(S106)において、アクセス制御装置3は、HTMLコンテンツに含まれる非公開Webサーバ24のURLを、秘匿用コードなど(仮想URL)で置換し、外部クライアント124に対して出力する。
ステップ108(S108)において、ユーザは、WebブラウザでHTMLコンテンツ中の仮想URLをクリックすると、外部クライアント124は、S106の処理により得られた秘匿用コードを用いて、非公開Webサーバ24が提供するHTMLコンテンツ送信の要求が出される。
ステップ110(S110)において、アクセス制御装置3は、要求に含まれる秘匿用コードを、非公開Webサーバ24のURLに変換し、非公開Webサーバ24に対して出力する。
ステップ112(S112)において、非公開Webサーバ24は、外部Webサーバ130のURLを含むHTMLコンテンツを返す。
【0105】
ステップ114(S114)において、アクセス制御装置3は、非公開Webサーバ24から受けた応答に含まれる非公開Webサーバ24のネットワークロケーションを、秘匿用コードなどで置換し、外部クライアント124に返す。
ステップ116,118(S116,S118)において、ユーザが、WebブラウザでHTMLコンテンツに含まれる外部Webサーバ130のURLをクリックすると、外部クライアント124は、アクセス制御装置3から受けた外部Webサーバ130のURLを用いて、外部Webサーバ130にアクセスし、HTMLコンテンツを得る。
【0106】
[変形例]
なお、秘匿用コードDB404(図3など)に記憶される秘匿用コードテーブル(図4)は、後述するように、秘匿用コード作成部408により作成されるほかに、表示・入力装置106に対する操作に応じてDB管理部406により作成されても、記録媒体112および記録装置110を介して秘匿用コードDB404に供給されてもよい。
また、代理要求部402が、表示・入力装置106(図2)などから直接、秘匿用コードテーブル(図4)の情報を受け入れ、図5などに示した処理を行ってもよい。
【0107】
また、通信制御部400,410は、一体に構成されてもよく、この場合、アクセス制御プログラム4は、IPネットワーク126−3だけに接続される。
このようにして、ファイアウォール20を、アクセス制御装置3からのアクセスのみを、IPネットワーク126−3側からIPネットワーク126−2側(Webサーバ22,24側)に通過させるように設定すると、アクセス制御装置3は、通信制御部400,410を個別の構成とした場合と同等の機能を、外部クライアント124などに提供することができる。
また、保護レベルの設定は、DB管理部406が、ローカルネットワークシステム2のネットワークシステム2の管理者の操作に応じて行ってもよい。
【0108】
また、非公開情報検出部412が、表示・入力装置106などからユーザの操作を受け入れて、キーワードの設定を受けて記憶し、非公開Webサーバ24からのHTMLコンテンツ中のキーワードを、非公開情報として扱って検出するようにしてもよい。
また、非公開情報検出部412は、保護レベルの種類を増やし、例えば、保護レベル2が設定された非公開Webサーバ24へのリンクを解除し、削除するようにしてもよい。
また、秘匿用コードに階層構造を持たせると、非公開Webサーバ24のネットワークロケーションと置換されたときに、あたかも実際の仮想パスであるかのように、第三者に見せかけることができる。
【0109】
[第2実施形態]
以下、本発明の第2の実施形態を説明する。
図9は、本発明の第2の実施形態に係るアクセス制御方法が適応される第2のネットワークシステム5の構成を例示する図である。
図9に示すように、第2のネットワークシステム5は、第1のネットワークシステム1の第1のローカルネットワークシステム2を、第2のローカルネットワークシステム6で置換した構成を採る。
【0110】
第2のローカルネットワークシステム6は、第1のローカルネットワークシステム2のWebサーバ22,24および第1のアクセス制御装置3を、1台以上の非公開のネットワークプリンタ52−1,52−2、ディレクトリサーバ50および第2のアクセス制御装置7で置換した構成を採る。
なお、以下の各図に示した構成部分の内、第1の実施例の説明に用いた各図に示した構成部分と実質的に同じものには、同じ符号が付してある。
また、ネットワークシステム5の各ノードは、図2に示した外部クライアント124などと同様なハードウェア構成を採る。
ネットワークシステム5は、これらの構成部分により、外部クライアント124に対して、ネットワークプリンタ52を用いた印刷サービスを提供する。
【0111】
[外部クライアント124]
なお、外部クライアント124では、第1のネットワークシステム1の外部クライアント124と同様に、Webブラウザが実行される。
さらに、外部クライアント124には、閲覧しているHTMLコンテンツを、ページ記述言語(PDL)形式に変換し、IPPプロトコルなどのプリントプロトコルにより、非公開ネットワークプリンタ52に送り、印刷させるための機能が追加される。
【0112】
[ネットワークプリンタ52]
ネットワークシステム5において、ネットワークプリンタ52は、IPP(Internet Printing Protocol/1.0; IETF RFC 2565)プロトコルなどのプリントプロトコルにより、インターネット120およびアクセス制御装置7を介して、外部クライアント124などからのアクセスを受け、ページ記述言語(PDL;Page Description Language)形式のデータを受け、このデータがら画像を形成して印刷するネットワークプリンティングサービスを提供する。
ネットワークプリンタ52は、ネットワーク対応のプリンタ、プリント・サーバおよびコピア複合機などであって、そのネットワークロケーションなどの情報は、ネットワークシステム5外部に対して非公開とされている。 なお、以下、ネットワークプリンタ52を、非公開ネットワークプリンタ52とも記す。
【0113】
[ディレクトリサーバ50]
ディレクトリサーバ50は、ネットワークシステム5のサーバ(以下、サーバの具体例を非公開ネットワークプリンタ52とする)のネットワークロケーションおよび属性などのサービス情報を保持する。
ディレクトリサーバ50は、SLP(Service Location Protocol; IETF RFC 2165)プロトコル、LDAP(Lightweight Directory Access Protocol; IETF RFC 1777)プロトコルあるいはSNMP(A Simple Network Management Protocol; IETF RFC 1157)プロトコルなどのプロトコルにより、外部クライアント124およびアクセス制御装置7からの要求を受け、これらに保持しているサービス情報を提供する。
【0114】
[アクセス制御装置7]
アクセス制御装置7は、外部クライアント124と非公開ネットワークプリンタ52との間で、外部クライアント124に対して非公開ネットワークプリンタ52のサービス情報を提供し、外部クライアント124のユーザによる非公開ネットワークプリンタ52の選択を可能とする。
また、アクセス制御装置7は、外部クライアント124を代理して、非公開ネットワークプリンタ52アクセスし、サービス提供を要求する。
また、アクセス制御装置7は外部クライアント124など、ネットワークシステム5の外部のノードに対して、非公開ネットワークプリンタ52のネットワークロケーションおよび属性などの情報を隠蔽する。
なお、第1のネットワークシステム1の第1のアクセス制御装置3の機能と、第2のネットワークシステム5の第2のアクセス制御装置7の機能との差異は、後述するように、これらで動作する異なるソフトウェアによる。
【0115】
図10は、図9に示した第2のアクセス制御装置7において実行される第2のアクセス制御プログラム8の構成を示す図である。
図10に示すように、第2のアクセス制御プログラム8は、図3に示した第1のアクセス制御プログラム4の代理要求部402を、代理アクセス部800で置換し、サービス探索部800を付加した構成を採る。
なお、アクセス制御プログラム8においては、代理アクセス部800およびサービス探索部802以外の構成部分の処理内容も、適宜、変更されている。
アクセス制御プログラム8は、例えば記録媒体112によりアクセス制御装置3に供給され、メモリ104にロードされて実行される。
アクセス制御プログラム8は、これらの構成部分により、上述したアクセス制御装置7の機能を実現する。
【0116】
[アクセス制御プログラム8の処理の概要]
第2のアクセス制御プログラム8の処理の概要をさらに説明する。
第2のアクセス制御プログラム8は、第1のアクセス制御プログラム4と同様に、以下に示すような処理を行う。
外部クライアント124からアクセス制御装置7にサービス探索の要求があったときに、アクセス制御プログラム8は、この要求に応じて、外部クライアント124に提供しうるサービスの検索を行う。
【0117】
外部クライアント124から、フォームに対して入力された情報を含むサービス要求が出されると、アクセス制御プログラム8は、ディレクトリサーバ50を検索し、外部クライアント124のユーザが所望するサービスを、外部クライアント124に対して応答する。
この応答に非公開ネットワークプリンタ52のネットワークロケーションなどの非公開情報が含まれるときには、第2のアクセス制御プログラム8は、第1のアクセス制御プログラム4と同様に、その保護レベルに応じて、非公開情報を隠蔽しつつ、外部クライアント124と非公開ネットワークプリンタ52との間で伝送されるデータを中継する。
【0118】
以下、第2のアクセス制御プログラム8の構成部分の処理を説明する。
ここで説明しない第2のアクセス制御プログラム8の構成部分は、第1のアクセス制御プログラム4(図3)の同じ符号が付された構成部分と、実質的に同じ処理を行う。
【0119】
[通信制御部400,410]
通信制御部400,410は、外部クライアント124および非公開ネットワークプリンタ52などのサーバとの間の通信制御に加えて、ディレクトリサーバ50との間との通信制御を行う。
【0120】
[サービス探索部802]
サービス探索部802は、固有のネットワークロケーション(URLなど)を有しており、外部クライアント124からのアクセスを受けて、ローカルネットワークシステム6内部のサーバの情報を提供する。
サービス探索部802は、外部クライアント124からHTTP転送プロトコルなどによってアクセスされ、外部クライアント124に対して、GUI(Graphical User Interface)用に、HTMLなどの形式で記述されたメニュー画面を返す。
このメニュー画面には、外部クライアント124のユーザが、ローカルネットワークシステム6内のサーバ(非公開ネットワークプリンタ52)を検索するための検索条件を指定するフォーム(入力項目)が含まれている。
【0121】
外部クライアント124のユーザは、フォームに所望の検索条件を記入し、サービス探索部802に対して検索要求を出す。
サービス探索部802は、この検索要求を受けて解析し、検索条件に含まれる各項目を、ディレクトリサーバ50との間の通信プロトコルに適合する検索要求とし、ディレクトリサーバ50に対して送信する。
ディレクトリサーバ50からの検索結果を受けると、サービス探索部802は、この検索結果を解析し、検索結果を表示するHTMLコンテンツを作成し、外部クライアント124に返す。
【0122】
[非公開情報検出部412]
非公開情報検出部412は、アクセス制御プログラム4においてと同様に、非公開ネットワークプリンタ52のネットワークロケーションを非公開情報として検出する。
さらに、アクセス制御プログラム8においては、非公開情報検出部412は、この他に、非公開ネットワークプリンタ52のセキュリティホールを第三者に知らしめるような属性情報(例えば、非公開ネットワークプリンタ52のホストアドレス(ドメイン名もしくはIPアドレス)、ポート番号、コマンドの仮想パス、これらから構成されるURL、非公開ネットワークプリンタ52の機種名・OS名などの属性値)を、非公開情報として検出する。
【0123】
なお、SLPプロトコル、LDAPプロトコルおよびSNMPプロトコルなどの標準化されたプロトコルでは、プロトコルメッセージのシンタックスとともに、セマンティックスも規定されている。
また、HTTP転送プロトコル上で、XML形式で記述されたメッセージを交換してリモートプロシージャコールを実現するWebサービスにおいても、XMLタグが定義される。
したがって、非公開情報検出部412は、これらのプロトコル・言語によるメッセージを解析することにより、非公開情報を検出することができる。
【0124】
図11は、図10に示した非公開情報検出部412の処理を示す図である。
図11に示すように、非公開情報検出部412は、第1のアクセス制御プログラム4においてとは異なり、S154(図5)を含まない処理を実行する。
【0125】
[秘匿用コードDB404]
図12は、図8に示した秘匿用コードDB404に保持され、非公開ネットワークプリンタ52の機能提供およびネットワークロケーションの隠蔽のために用いられる第2の秘匿用コードテーブルを例示する図である。
図12に示すように、第2のアクセス制御プログラム8においては、第1のアクセス制御プログラム4(図3)においてとは異なり、秘匿用コードDB404は、第1の秘匿用コードテーブル(図4)の非公開Webサーバ24のネットワークロケーションを、非公開ネットワークプリンタ52のネットワークロケーションに変更し、さらに、非公開Webサーバ24のネットワークロケーションを削除した第2の秘匿用コードテーブルを保持する。
【0126】
[代理アクセス部800]
代理アクセス部800は、外部クライアント124から非公開ネットワークプリンタ52に対する要求を受け、外部クライアント124を代理して、非公開ネットワークプリンタ52に中継する。
代理アクセス部800は、第1のアクセス制御プログラム4においてと同様に、要求の宛先がアクセス制御装置7であって、かつ、仮想パスが秘匿用コードであるときには、秘匿用コードDB404に、この秘匿用コードが登録されているか検査する。
代理アクセス部800は、秘匿用コードDB404に、この秘匿用コードが登録されているときには、要求に含まれる要求元(外部クライアント124)のネットワークロケーションと、登録されているクライアントアドレスとが同じか否かを検査する。
【0127】
代理アクセス部800は、秘匿用コードが登録されていないとき、および、秘匿用コードが登録されているが、外部クライアント124のネットワークロケーションが、クライアントアドレスと異なる場合には、この要求を拒否する。
秘匿用コードが秘匿用コードDB404に登録されていて、かつ、外部クライアント124のネットワークロケーションが同じであるときには、代理アクセス部800は、要求に含まれる宛先(秘匿用コードを含む)を、同じエントリに登録されている非公開ネットワークプリンタ52のネットワークロケーションに置換する。
さらに、代理アクセス部800は、このように置換した要求を、非公開ネットワークプリンタ52に対して中継する。
【0128】
図13は、図10に示した代理アクセス部800の処理(S26)を示すフローチャートである。
図13に示すように、代理アクセス部800は、図6に示した代理要求部402の処理(S18)から、S190を除いた処理を行う。
【0129】
[ネットワークシステム5の全体的動作]
以下、図14を参照して、第2のネットワークシステム5の全体的な動作を説明する。
図14は、図9に示した第2のネットワークシステム5の全体的動作を示すシーケンス図である。
なお、図14に示す各処理におけるデータのフォーマットは、下表6,7に例示する通りである。
但し、下表6,7には、ディレクトリサーバとSLPにより通信する場合が例示され、下表6,7に示されるデータフォーマットは、HTTPおよびSLPにより規定される。
【0130】
【表6】
【0131】
【表7】
【0132】
図14に示すように、ステップ280(S280)において、外部クライアント124のユーザが、外部クライアント124で動作しているWebブラウザで、アクセス制御装置7(アクセス制御プログラム8)のサービス探索部802のURLを指定し、アクセス制御装置7に対して、サービス探索を要求する。
外部クライアント124は、アクセス制御装置7を宛先アドレスとして、HTTPプロトコルによりサービス探索要求(GETメソッド)を送信する。
ステップ282(S282)において、アクセス制御装置7(アクセス制御プログラム8)は、このサービス探索要求を受け、サービス探索要求に含まれるURLにより指定されるサービス探索部802による探索サービスを起動する。
アクセス制御装置7は、探索サービスのGUIを提供するためのフォームを含むHTMLコンテンツを、外部クライアント124に送信する。
【0133】
ステップ284(S284)において、外部クライアント124のWebブラウザは、アクセス制御装置7からのHTMLコンテンツを受信し、このHTMLに含まれるフォームを、表示・入力装置106に表示してユーザに示す。
ユーザが、このフォームに対して、非公開ネットワークプリンタ52を検索するために必要な検索条件を指定し、送信を指示すると、Webブラウザは、検索条件を含むサービス要求を、アクセス制御装置7に対して送信する。
【0134】
ステップ286(S286)において、アクセス制御装置7(アクセス制御プログラム8)は、サービス要求に含まれる検索条件を受け、ディレクトリサーバ50に対して非公開ネットワークプリンタ52の検索を要求する。
ステップ288(S288)において、ディレクトリサーバ50は、検索条件に適合する非公開ネットワークプリンタ52の情報を、検索結果としてアクセス制御装置7に返す。
ステップ290(S290)において、アクセス制御装置7(アクセス制御プログラム8)は、外部クライアント124に対して、ディレクトリサーバ50による検索結果に含まれる非公開情報を秘匿するための秘匿用コードを含むHTMLコンテンツを返す。
【0135】
ステップ292(S292)において、外部クライアント124のWebサーバは、アクセス制御装置7(アクセス制御プログラム8)からのHTMLコンテンツを表示・入力装置106に表示し、ユーザに示す。
ユーザは、さらに、外部クライアント124のプリントクライアントプログラム(図示せず)を起動し、検索結果画面を参照して非公開ネットワークプリンタ52のいずれかを選択し、例えば、表示されている非公開ネットワークプリンタ52に対応する秘匿用コードを、コピー&ペーストとよばれる手法でプリントドライバに宛先として指定し、印刷を指示する。
【0136】
ステップ294(S294)において、外部クライアント124は、指定された非公開ネットワークプリンタ52の秘匿用コードなどを含む印刷要求を送信する。
ステップ296(S296)において、アクセス制御装置7(アクセス制御プログラム8)は、この印刷要求を受け、印刷要求中の秘匿用コードを、指定された非公開ネットワークプリンタ52のURLに変換し、指定された非公開ネットワークプリンタ52に対して送信する。
この印刷要求を受けた非公開ネットワークプリンタ52は、印刷要求に含まれるページ記述言語(PDL)形式のデータから画像を形成し、印刷する。
【0137】
[変形例]
なお、サービス探索部802は、別の実施の形態では、ディレクトリ・サーバにアクセスすることなく、例えばUPnP(Universal Plug & Play)のような一斉同報通信を用いたサービス発見プロトコルによってサービス探索部がネットワーク上の各種のサーバからサービスの情報を収集するように構成してもよい。
また、代理アクセス部800は、ユーザ認証を行なって、ローカルネットワークシステム6内の非公開ネットワークプリンタ52へのアクセスに対して課金してもよい。
また、アクセス制御プログラム8を、外部クライアント124との間ではIPPプロトコルで通信し、非公開ネットワークプリンタ52との間では、Lpd(Line Printer Daemon Protocol; IETF RFC 1179)プロトコルで通信するというように、要求の中継の際に、プロトコル変換を行なってもよい。
【0138】
【発明の効果】
以上説明したように、本発明に係るアクセス制御装置およびその方法によれば、外部に対してサーバのURLなどの情報を開示することなく、サービスを提供できる。
また、本発明に係るアクセス制御装置およびその方法によれば、外部に対してサーバのURLなどの情報を開示しなくても済むようにして、サーバのセキュリティを向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るアクセス制御方法が適応される第1のネットワークシステムの構成を例示する図である。
【図2】図1に示したアクセス制御装置、クライアント、ルータおよびWebサーバのハードウェア構成を例示する図である。
【図3】図1,図2に示したアクセス制御装置において実行される第1のアクセス制御プログラムの構成を示す図である。
【図4】図3に示した秘匿用コードDBに保持され、非公開Webサーバの機能提供およびネットワークロケーションの隠蔽のために用いられる第1の秘匿用コードテーブルを例示する図である。
【図5】図3に示した代理要求部の処理(S14)を示すフローチャートである。
【図6】図3に示した非公開情報検出部の処理(S18)を示すフローチャートである。
【図7】図3に示した情報保護部の処理(S20)を示すフローチャートである。
【図8】図1に示したネットワークシステムの全体動作(S10)を例示するシーケンス図である。
【図9】本発明の第2の実施形態に係るアクセス制御方法が適応される第2のネットワークシステムの構成を例示する図である。
【図10】図9に示した第2のアクセス制御装置において実行される第2のアクセス制御プログラムの構成を示す図である。
【図11】図10に示した非公開情報検出部の処理を示す図である。
【図12】図8に示した秘匿用コードDBに保持され、非公開ネットワークプリンタの機能提供およびネットワークロケーションの隠蔽のために用いられる第2の秘匿用コードテーブルを例示する図である。
【図13】図10に示した代理アクセス部の処理(S26)を示すフローチャートである。
【図14】図9に示した第2のネットワークシステムの全体的動作を示すシーケンス図である。
【符号の説明】
1,5・・・ネットワークシステム、
120・・・インターネット、
12・・・ネットワークシステム、
124,132・・・クライアント、
100・・・コンピュータ本体、
102・・・CPU、
104・・・メモリ、
106・・・表示・入力装置、
108・・・通信装置、
110・・・記録装置、
112・・・記録媒体、
126・・・IPネットワーク、
128・・・ルータ、
130・・・外部Webサーバ、
2,6・・・ローカルネットワークシステム、
20・・・ファイアウォール、
3,7・・・アクセス制御装置、
4,8・・・アクセス制御プログラム、
400,410・・・通信制御部、
402・・・代理要求部、
404・・・秘匿用コードDB、
406・・・DB管理部、
408・・・秘匿用コード作成部、
412・・・非公開情報検出部、
414・・・情報保護部、
416・・・代理応答部、
800・・・代理アクセス部、
802・・・サービス探索部、[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an access control apparatus and method for controlling external access to a node in a system.
[0002]
[Prior art]
For example,
Server functions can be provided to clients via such a proxy server. However, if the server URL (Uniform Resource Locator) is disclosed to all clients, there is a security problem. It can happen.
[0003]
[Patent Document 1] Japanese Patent Application Laid-Open No. 2002-007228
[Patent Document 2] Japanese Patent Application Laid-Open No. 2002-189773
[0004]
[Problems to be solved by the invention]
The present invention has been made from the above-described background, and an object of the present invention is to provide an access control apparatus and method capable of providing a service without disclosing information such as the URL of a server to the outside. To do.
It is another object of the present invention to provide an access control apparatus and method that can improve the security of a server by eliminating the need to disclose information such as the URL of the server to the outside.
[0005]
[Means for Solving the Problems]
[Access control device]
In order to achieve the above object, an access control apparatus according to the present invention is an access control apparatus that controls communication of first information having a predetermined relationship with a first node, wherein the first information Is included in the transmission information transmitted to the first node, can be replaced by the second information, and is included in the first transmission information about to be transmitted to the first node Information detecting means for detecting the first information, and the first information included in the first transmission information is replaced with second information that can substitute for the first information; The information replacement means for transmitting to the first node and the accessed first information are substituted when there is an access using the second information from the first node. Second information creating means for creating second information .
[0006]
Preferably, the first information is non-public information that is in a private relationship with the first node, and the second information is the non-public information. It is confidential information for concealing from a node, and the information detecting means detects the non-public information included in the first transmission information to be transmitted to the first node. The information replacing means replaces the non-public information included in the first transmission information with confidential information that can replace the non-public information, and uses the first information as the second transmission information. The secret information generating means transmits the secret information to replace the accessed private information when there is an access from the first node using the secret information. Create confidential information to create.
[0007]
Preferably, the concealment information creating means creates the concealment information using a random number.
[0008]
Preferably, when there is an access using the confidential information from the first node, there is further provided an alternative access means for performing an access using the secret information replaced by the confidential information.
[0009]
Preferably, the alternative access means determines the validity of the confidential information, and uses the non-public information replaced by the confidential information when the confidential information is determined to be valid. Did access.
[0010]
Preferably, the secret information includes an attribute of the secret node.
[0011]
Preferably, the non-public information is a private address of a private node that is made private to the first node, and the public node that is made public to the first node is the first private node. Included in the first transmission information to be transmitted to one node, the concealment information is a concealment address that is disclosed instead of the private address, and the first node Access to the private node using the concealment address included in the second transmission information, and the alternative access means is accessed from the first node using the concealment address In addition, access to the private node is substituted using the private address substituted by the secret address.
[0012]
Preferably, the non-public information is a private address of a private node that is made private to the first node, and the public node that is made public to the first node is the first private node. Included in the first transmission information to be transmitted to one node, the concealment information is a concealment address that is disclosed instead of the private address, and the first node Using the confidential address included in the second transmission information, access to the private node,
The private information detecting means detects the private address included in the first transmission information to be transmitted to the first node, and the information replacing means is included in the first transmission information. Is replaced with a secret address that can replace this secret address, and is transmitted as second transmission information to the first node. The secret information that replaces the accessed private information is created when there is an access using the private address from the node.
[0013]
Preferably, the access control device, the private node, and the public node are included in one network system, and the first node is an external node that accesses the network system.
[0014]
Preferably, an access control address is set in the access control device, and the information replacement means uses a secret address that can replace the secret address with the secret address included in the first transmission information. And the access control address is added and transmitted as second transmission information to the first node, and the first node has access control added to the second transmission information. An access address is used to access the access control apparatus, and a secret address added to the second transmission information is used to access the private node via the access control apparatus.
[0015]
Preferably, the private address is a URL (Uniform Resource Locator), an IP (Internet Protocol) address, or a domain name that is uniquely set for the private node, and the access control address is the access control address. A URL, an IP address, or a domain name that is uniquely set for the control device.
[0016]
Preferably, in response to a request from the first node, the information processing device further includes search means for searching for the secret node, and the secret information creation means is the secret information obtained as a result of the search. A secret address that can replace the private address of the node is further created.
[0017]
Preferably, the search means further charges for access to the private node.
[0018]
[Access control method]
The access control method according to the present invention is an access control method for controlling communication of private information that is private to the first node, and the private information is provided to the first node. Included in the transmission information transmitted in this manner, the secret information can be replaced by concealment information for concealing the first node and transmitted to the first node. The secret information included in the first transmission information is detected, the secret information included in the first transmission information is replaced with confidential information that can replace the secret information, and the second transmission is performed. Information is transmitted to the first node, and when there is an access using the confidential information from the first node, confidential information that replaces the accessed private information is created. Have
[0019]
Preferably, when there is an access using the confidential information from the first node, the access using the secret information substituted by the confidential information is further performed.
[0020]
Preferably, the non-public information is a private address of a private node that is made private to the first node, and the public node that is made public to the first node is the first private node. Included in the first transmission information to be transmitted to one node, the concealment information is a concealment address that is disclosed instead of the private address, and the first node Access to the private node using the concealment address included in the second transmission information, and when there is an access using the concealment address from the first node, the concealment address The access to the private node is substituted using the private address replaced by the private address.
[0021]
Preferably, the non-public information is a private address of a private node that is made private to the first node, and the public node that is made public to the first node is the first private node. Included in the first transmission information to be transmitted to one node, the concealment information is a concealment address that is disclosed instead of the private address, and the first node The secret address included in the second transmission information is used to access the secret node, and the secret address included in the first transmission information to be transmitted to the first node is Detecting, replacing a secret address included in the first transmission information with a secret address that can replace the secret address, and transmitting the second transmission information to the first node; Said From node, said when there is access using the private address, to create a confidential information to replace the accessed private information.
[0022]
[program]
The program according to the present invention is a program for controlling communication of non-public information that is made private to the first node, and the non-public information is transmitted to the first node. The first information which is included in the transmission information and can be replaced with the confidential information for concealing the private information from the first node and is transmitted to the first node Detecting the non-public information included in the transmission information; replacing the non-public information included in the first transmission information with confidential information that can replace the non-public information; and as second transmission information Transmitting to the first node, and creating confidential information that replaces the accessed private information when there is an access using the confidential information from the first node. Step and To be executed by a computer.
[0023]
Preferably, when there is an access using the confidential information from the first node, the computer is further caused to perform an access using the secret information replaced by the confidential information.
[0024]
Preferably, the non-public information is a private address of a private node that is made private to the first node, and the public node that is made public to the first node is the first private node. Included in the first transmission information to be transmitted to one node, the concealment information is a concealment address that is disclosed instead of the private address, and the first node In the step of performing access to the private node using the confidential address included in the second transmission information and performing access using the private information replaced by the confidential information, the first When there is an access from the node using the secret address, the access to the secret node is substituted using the secret address replaced by the secret address. To.
[0025]
Preferably, the non-public information is a private address of a private node that is made private to the first node, and the public node that is made public to the first node is the first private node. Included in the first transmission information to be transmitted to one node, the concealment information is a concealment address that is disclosed instead of the private address, and the first node Using the confidential address included in the second transmission information, access to the private node,
In the detecting step, the non-public address included in the first transmission information to be transmitted to the first node is detected, and in the replacing step, the non-transmission included in the first transmission information is detected. In the step of replacing the public address with a concealment address that can replace this private address, transmitting the second address as second transmission information to the first node, and creating the concealment information, The secret information that replaces the accessed private information is created when there is an access using the private address from the node.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
[Background of the present invention]
Before describing the embodiments of the present invention, first, in order to facilitate understanding thereof, the background of the present invention will be described.
In recent years, mobile terminals such as the Internet environment and notebook PCs have become widespread and are generally used.
Due to such circumstances, network resources (Network Resources) of computer systems (local computer systems) in an organization such as a company from home or from Internet connection services such as street hot spots and Internet cafes via the Internet For example, using a WWW (World Wide Web; hereinafter also simply referred to as Web) server, a file server, a network printer, and the like, user convenience and efficiency of organizational work are being improved.
[0027]
However, for the security and security of the internal computer system, communication between the external computer connected to the Internet (external) and the internal computer system is usually performed through a firewall that restricts the exchange of information. Is called.
This firewall centrally monitors access to and from the internal network to prevent unauthorized intrusion from the outside into the in-house computer system and information leakage from the in-house computer system to the outside.
In other words, it is not possible to unconditionally remotely access an in-house computer system protected by a firewall.
[0028]
In order to remotely access such an in-house computer system, a device called an access control device (access relay device) may be installed at the boundary between the in-house computer system and the Internet.
One type of access relay device is a proxy server.
The proxy server mediates data transmitted between the client and the server and centrally monitors them to relay a specific type of permitted connection or block unauthorized access.
In a proxy server, HTTP (Hypertext Transfer Protocol--HTTP / 1.1; IETF RFC 2068) is generally used as a transfer protocol, and FTP (File Transfer Protocol; IETF RFC 959), Telnet (TELNET) PROTOCOL Specification; IETF RFC 854) and Gopher (The Internet Gopher Protocol; IETF RFC 1436) may be used.
[0029]
The proxy server includes a forward proxy server and a reverse proxy server.
The forward proxy server is used to use a Web server or the like on the Internet from an in-house computer system or the like (internal network).
The forward proxy server receives a request (communication request) by an HTTP transfer protocol from the client of the internal network to the Internet, and sends the request to the Internet on behalf of the client.
[0030]
The forward proxy server receives a response (communication response) sent from the Internet and returns it to the client.
Therefore, when viewed from the Internet side, the forward proxy server appears as if it is a client, and the logical address information that identifies the location of the client on the network, such as the network location (URL, domain name, and IP address). ) Is hidden.
Thus, the forward proxy server has a mechanism for protecting the client against the server.
Therefore, if access to the server in the internal network from the Internet is performed through the reverse forward proxy server, the network location of the client on the Internet is hidden from the internal network side. On the contrary, information such as the network location of the server of the internal network is not concealed on the Internet side.
[0031]
That is, if only the forward proxy server is used, information such as the network location of a node such as a server included in the internal network may leak out.
As described above, when the information of the internal network is passed to a malicious third party who attempts unauthorized intrusion, the information may be used for an attack against the server.
For example, if an unauthorized intrusion to one of a large number of servers in an internal network (for example, a Web server) succeeds, it is included in the content of HTML (Hypertext Markup Language -2.0; IETF RFC 1866) format on the Web server, By following links (hyperlinks) used as pointers to refer to other HTML-formatted content, information on other servers is leaked one after another, and many servers in the internal network are exposed to attack. That could be a problem.
[0032]
In particular, when a server (private server) that is not intended to be disclosed to the outside and is assumed to be closed to the internal network (private server) is managed by a department or workgroup within the organization, it is more than security Priority may be given to convenience during normal use in departments.
In such a case, the private server becomes weaker than a Web server or the like (public server) designed on the premise of public disclosure in terms of security measures, and is likely to be illegally intruded.
For example, when a connection to an internal network is made from a computer that can be used by an unspecified number of people, such as an Internet cafe, the SSL (Secure) Even if an encrypted transfer protocol such as Sockets Layer) is applied, the risk of leakage of information on the internal network to a third party is not completely eliminated.
[0033]
On the other hand, the reverse proxy server is used to publish a Web server or the like on the internal network to the Internet side.
The reverse proxy server receives an access request from the Internet side and relays it to a Web server connected to the internal network.
Therefore, when the reverse proxy server is used, the configuration of the server included in the internal network is concealed from the outside, which makes it easy to change the configuration of the internal network and allows flexible load distribution among the servers. .
[0034]
The reverse proxy server associates multiple origin servers (servers proxyed by the proxy server) in advance so that they can be accessed from a single network location. When a request is received from a client, the network location included in the request is internally determined. Convert and transfer to each host computer.
Accordingly, the following problems ((1), (2), (3)) occur when permitting access from the Internet to a large number of private servers that are assumed to be used by clients of the internal network. Arise.
[0035]
(1) In order to make any server on the internal network accessible from the Internet, the network locations of all the servers in the internal network are related by the reverse proxy server and made public to the outside. Must be associated with a network location.
However, private servers that are assumed to be used on the internal network have a large number of installations, are frequently changed in configuration, and are often managed by each department. However, the latest network information is not always reflected, or in order to always reflect the latest network information on the reverse proxy server, a lot of labor and cost are required.
[0036]
(2) In order to access a server on the internal network from a client on the internal network, the user must know the network location of the origin server.
On the other hand, in order to access a server on the internal network from a client on the Internet, the user needs to know the network location set to publish the server on the internal network to the outside.
Thus, a user who may access a server on the internal network, both from the internal network and from the Internet, must know both network locations. You must know the network location of the origin server used for the.
[0037]
(3) In the reverse proxy server, when linking the content of the origin server between pages on the origin server, it is necessary to unify the partial URL with only the path name (not including the host address). There are restrictions.
It is possible to cope with this restriction by correcting the link of the HTML content on all servers on the internal network to such a partial URL.
However, this modified content can only be accessed via a reverse proxy server and cannot be used directly from a client on the internal network.
Therefore, in order to avoid such a problem, each server on the internal network must prepare two types of content for the client of the internal network and content modified for external publication.
In reality, it is very difficult to spend such time and effort.
[0038]
As described above, even when an existing proxy server is used, it is possible to achieve both the convenience of accessing the in-house computer system from the Internet and the security for protecting the in-house computer system from a malicious third party. I could not.
Up to this point, the proxy server has been described mainly using the Web server as a specific example, but the same problem occurs even when the proxy server is applied to other types of servers.
[0039]
The present invention has been made from the background described above, and is assumed to be closed to a client computer on the Internet (external) and closed in an in-house computer system (local network). The private server is devised so that it can be remotely accessed from the outside via the Internet or the like.
In addition, the present invention enables remote access to a private server in the local network from the outside, and can also conceal internal information such as a private server and other computers connected to the local network. It has been devised.
Further, the present invention is devised so that information disclosed inside the local network can be kept secret from the outside.
[0040]
[First Embodiment]
Hereinafter, a first embodiment of the present invention will be described.
[0041]
[First network system 1]
FIG. 1 is a diagram illustrating a configuration of a
As shown in FIG. 1, a
The network system 12 employs a configuration in which one or more clients 124-1 and 124-2 (hereinafter also referred to as external clients 124) are connected via an IP (Internet Protocol) network 126-1. -1 is connected to the network system 120 via the router 128-1.
[0042]
Further, the
Further, the
[0043]
Hereinafter, when any one of a plurality of components such as the clients 124-1 and 124-2 is indicated without being specified, the client 124 or the like may be simply abbreviated.
Further, the
[0044]
Further, in the
In the
[0045]
FIG. 2 is a diagram illustrating a hardware configuration of the
As shown in FIG. 2, these include a computer
That is, they have a configuration part as a general computer having a communication function.
[0046]
In the
For example, in the
[0047]
The Internet 120 is a wide area packet switching network, and is constructed by interconnecting a large number of IP networks 126 via
[0048]
The
On the contrary, the
[0049]
That is, the
The content that the
[0050]
The
The
The Web browser executed on the
[0051]
[Access control device 3]
The
In addition, when the
[0052]
[Access control program 4]
FIG. 3 is a diagram showing the configuration of the first
As shown in FIG. 3, the first
The
With these components, the
[0053]
[Outline of processing of access control program 4]
The outline of the process of the
The network locations of the
Therefore, any user of the external client 124 can access the
[0054]
On the other hand, the network location of the
Accordingly, an external user can access the
However, if HTML content that has not been taken any measures for concealment is provided to the outside from the public Web server 22, information such as the network location of the
[0055]
FIG. 4 is a diagram illustrating a first concealment code table held in the
The access control program 4 (access control device 3) performs the following processes ((1) to (8)) in order to prevent such problems.
(1) When there is an access to the public Web server 22 from the external client 124 and the HTML content is about to be transmitted from the public Web server 22 to the external client 124, the
(2) As a result of the detection process, when the network location of the
[0056]
The path shown in FIG. 4 is a virtual path, and the virtual path is used as follows.
The directory structure disclosed by the Web server does not necessarily match the directory structure of the file system of the computer on which the Web server operates.
Therefore, the Web server has a correspondence between the path name (virtual path) specified in the URL of the HTTP request and the actual path name (physical path) inside the computer as a Web site definition parameter, and the virtual server Provide content to the Internet while converting from path to physical path.
[0057]
The URL is described in a format of “protocol name: // (host address) :( port number) / (path name)”, and the domain name or IP address of the server is stored in the host address portion.
Specifically, for example, when the URL is “http://www.fujixerox.co.jp:80/news/index.html”, the protocol name is “http” and the server host address (IP address or The domain name) is “www.fujixerox.co.jp”, the port number is “80 (can be omitted because 80 is the default)”, and the path name (virtual path) is “/news/index.html”.
[0058]
(3) When the network location of the
The created secret code corresponds to information indicating the external client 124 that has requested the
Each entry of the secret code table includes an entry number, a secret code, a network location (address: port, virtual path) of the
[0059]
(4) When the network location of the
(5) When the external client 124 that has received the concealment code issues a request containing the concealment code to the private Web server 24 (access control device 3), the
[0060]
(6) When a valid secret code is registered, the
In response to this request, when HTML content or the like is returned from the
[0061]
(7) When the concealment code is not yet registered in the concealment code table, the
(8) The
[0062]
Hereinafter, each component of the access control program 4 (FIG. 3) will be described.
[0063]
[
In the
[0064]
[Confidential Code DB 404]
The
In addition, when the concealment code is input from the
[0065]
[DB management unit 406]
The
The management of the concealment code table performed by the
[0066]
[Proxy request unit 402]
FIG. 5 is a flowchart showing the process (S14) of the
The
The
[0067]
Hereinafter, the processing of the
As shown in FIG. 5, in step 140 (S 140), the
When the destination included in the request received in the process of S140 is a URL, for example, the destination is “http: // host address of destination server (domain name or IP address): destination port number / destination virtual path”. Is described as follows.
In step 142 (S142), the
The
[0068]
The data format in the processing of the
[0069]
[Table 1]
[0070]
In step 144 (S144), the
The
[0071]
In step 146 (S146), the
In the example shown in FIG. 1, when the path name included in the request is not the virtual path of the
The
[0072]
In step 148 (S148), the
In other words, the
The
[0073]
In step 150 (S150), the
[0074]
In step 154 (S154), the
[0075]
In step 156 (S156), the
In step 158 (S158), the
[0076]
[Private Information Detection Unit 412]
The private
The private
The private information to be detected by the private
Examples of the non-public information include the network location (host address (domain name / IP address), port number, virtual path of content (Web page) of the
[0077]
Furthermore, when the secret information is detected, the secret
The protection level is a parameter that controls the method for concealing private information. For example, here, a case where 0 and 1 are set as the protection level is taken as a specific example.
For example, when the
[0078]
Therefore, the external client 124 can receive a service such as provision of HTML content from the
Also, for example, when
[0079]
Hereinafter, the detection of private information by the private
As shown in Table 2 below, this HTML content is not displayed to the user in the external client 124, but includes the URL of the
[0080]
[Table 2]
[0081]
The private
A relative URL is composed of only a virtual path, and the virtual path is a relative position from the position where the user is currently on the directory hierarchy (the directory where the current HTML file is located). For example, “.//./index.html” is described (this example means “file named index.html in a directory two layers above the current position”). ).
Therefore, unless the host address of the server and the current directory are saved in at least some form, they cannot be directly accessed later, so such a virtual path is converted into an absolute path.
[0082]
Next, the private
Next, when it is the URL of the
[0083]
In addition, the private
The private
[0084]
For example, since the domain name is described in the FQDN (Fully Qualified Domain Name) format, the description format such as the host address and the URL is standardized, so the non-public
The private
[0085]
The private information list includes one or more entries, and each entry includes information for specifying the private information in the HTML content, for example, the position / number of characters of the first character of the private information in the HTML content ( Range) and protection level.
Alternatively, when the private information is not detected from the response, the private
The form of the private information list is as illustrated in Table 3 below.
[0086]
[Table 3]
[0087]
FIG. 6 is a flowchart showing the process (S18) of the private
As shown in FIG. 6, in Step 180 (S 180), the private
In step 182 (S182), the private
In step 184 (S184), based on the analysis result, the private
[0088]
In step 186 (S186), the private
The private
In step 188 (S188), the secret
In step 190 (S190), the private
[0089]
In step 192 (S192), the private
In step 194 (S194), the private
[0090]
The
The
That is, the
[0091]
Furthermore, the
For example, when the response of the
[0092]
Further, the
The responses of the
Also, when the private information list with 0 entries and the responses from the
Further, the
[0093]
Hereinafter, the processing of the
FIG. 7 is a flowchart showing the process (S20) of the
As shown in FIG. 7, in step 200 (S200), the
In step 202 (S202), the
The
[0094]
In step 204 (S204), the
In step 206 (S206), the
The
[0095]
In step 208 (S208), the
In addition, the
In step 210 (S210), the
[0096]
In step 212 (S212), the
In step 214 (S214), the
In step 216 (S216), the
The
[0097]
In step 218 (S218), the response with the non-public information replaced is output to the
In step 220 (S220), the
[0098]
[Proxy response unit 416]
The
The
As a result of this check, the
In addition, when it is determined that the response is not valid, the
[0099]
[Concealment code creation unit 408]
The concealment
In response to the notification (S208; FIG. 7) from the
Further, the concealment
[0100]
[Overall operation of network system 1]
Hereinafter, the overall operation of the
FIG. 8 is a sequence diagram illustrating the overall operation (S10) of the
Note that the data format in each process shown in FIG. 8 is defined by HTTP, as shown in Tables 4 and 5 below.
[0101]
[Table 4]
[0102]
[Table 5]
[0103]
As shown in FIG. 8, in step 100 (S100), when the user designates the URL of the public web server 22 with a web browser, the external client 124 accesses the access control device 3 (
In step 102 (S102), the
[0104]
In step 104 (S104), the public Web server 22 returns HTML content including the URL (network location) of the
In step 106 (S106), the
In step 108 (S108), when the user clicks on the virtual URL in the HTML content using the Web browser, the external client 124 provides the
In step 110 (S110), the
In step 112 (S112), the
[0105]
In step 114 (S114), the
In steps 116 and 118 (S116 and S118), when the user clicks the URL of the external Web server 130 included in the HTML content with the Web browser, the external client 124 receives the URL of the external Web server 130 received from the
[0106]
[Modification]
Note that the concealment code table (FIG. 4) stored in the concealment code DB 404 (FIG. 3, etc.) is created by the concealment
Further, the
[0107]
In addition, the
In this way, when the
The protection level may be set by the
[0108]
Also, the private
Further, the private
Also, if the secret code has a hierarchical structure, it can be made to appear to a third party as if it were an actual virtual path when replaced with the network location of the
[0109]
[Second Embodiment]
Hereinafter, a second embodiment of the present invention will be described.
FIG. 9 is a diagram illustrating a configuration of the second network system 5 to which the access control method according to the second embodiment of the present invention is applied.
As shown in FIG. 9, the second network system 5 employs a configuration in which the first
[0110]
The second local network system 6 includes
Of the constituent parts shown in the following drawings, those substantially the same as the constituent parts shown in the drawings used in the description of the first embodiment are given the same reference numerals.
Each node of the network system 5 has the same hardware configuration as the external client 124 shown in FIG.
With these components, the network system 5 provides a print service using the
[0111]
[External client 124]
Note that the external client 124 executes a Web browser in the same manner as the external client 124 of the
Further, the external client 124 has a function for converting the HTML content being browsed into a page description language (PDL) format, sending it to the
[0112]
[Network printer 52]
In the network system 5, the
The
[0113]
[Directory server 50]
The directory server 50 holds service information such as a network location and attributes of a server of the network system 5 (hereinafter, a specific example of the server is a private network printer 52).
The directory server 50 is an SLP (Service Location Protocol; IETF RFC 2165) protocol; In response to requests from the access control device 7 and the access control device 7, service information held therein is provided.
[0114]
[Access control device 7]
The access control device 7 provides service information of the
Further, the access control apparatus 7 accesses the
Further, the access control device 7 hides information such as the network location and attributes of the
Note that the difference between the function of the first
[0115]
FIG. 10 is a diagram showing a configuration of the second access control program 8 executed in the second access control device 7 shown in FIG.
As shown in FIG. 10, the second access control program 8 replaces the
In the access control program 8, the processing contents of the components other than the
The access control program 8 is supplied to the
The access control program 8 realizes the function of the access control device 7 described above by these components.
[0116]
[Outline of processing of access control program 8]
The outline of the processing of the second access control program 8 will be further described.
Similar to the first
When there is a service search request from the external client 124 to the access control apparatus 7, the access control program 8 searches for a service that can be provided to the external client 124 in response to this request.
[0117]
When a service request including information input to the form is issued from the external client 124, the access control program 8 searches the directory server 50 and sends the service desired by the user of the external client 124 to the external client 124. To respond.
When this response includes private information such as the network location of the
[0118]
Hereinafter, the process of the component part of the 2nd access control program 8 is demonstrated.
The components of the second access control program 8 not described here perform substantially the same processing as the components of the first access control program 4 (FIG. 3) assigned the same reference numerals.
[0119]
[
The
[0120]
[Service search unit 802]
The
The
This menu screen includes a form (input item) for specifying a search condition for the user of the external client 124 to search for a server (private network printer 52) in the local network system 6.
[0121]
The user of the external client 124 enters a desired search condition on the form and issues a search request to the
The
Upon receiving the search result from the directory server 50, the
[0122]
[Private Information Detection Unit 412]
As in the
Further, in the access control program 8, the private
[0123]
In standardized protocols such as the SLP protocol, the LDAP protocol, and the SNMP protocol, semantics are also defined along with the syntax of the protocol message.
An XML tag is also defined in a Web service that implements a remote procedure call by exchanging messages described in the XML format on the HTTP transfer protocol.
Accordingly, the private
[0124]
FIG. 11 is a diagram illustrating processing of the private
As shown in FIG. 11, unlike the first
[0125]
[Confidential Code DB 404]
FIG. 12 is a diagram illustrating a second concealment code table held in the
As shown in FIG. 12, in the second access control program 8, unlike the first access control program 4 (FIG. 3), the
[0126]
[Proxy access unit 800]
The
As in the first
When the concealment code is registered in the
[0127]
The
When the concealment code is registered in the
Further, the
[0128]
FIG. 13 is a flowchart showing the process (S26) of the
As illustrated in FIG. 13, the
[0129]
[Overall operation of network system 5]
Hereinafter, the overall operation of the second network system 5 will be described with reference to FIG.
FIG. 14 is a sequence diagram showing an overall operation of the second network system 5 shown in FIG.
The data format in each process shown in FIG. 14 is as illustrated in Tables 6 and 7 below.
However, Tables 6 and 7 exemplify cases in which communication is performed with the directory server by SLP, and the data formats shown in Tables 6 and 7 are defined by HTTP and SLP.
[0130]
[Table 6]
[0131]
[Table 7]
[0132]
As shown in FIG. 14, in step 280 (S280), the URL of the
The external client 124 transmits a service search request (GET method) using the HTTP protocol with the access control device 7 as a destination address.
In step 282 (S282), the access control device 7 (access control program 8) receives this service search request and activates a search service by the
The access control device 7 transmits HTML content including a form for providing a search service GUI to the external client 124.
[0133]
In step 284 (S284), the Web browser of the external client 124 receives the HTML content from the access control device 7, displays the form included in the HTML on the display /
When the user designates a search condition necessary for searching the
[0134]
In step 286 (S286), the access control device 7 (access control program 8) receives the search condition included in the service request and requests the directory server 50 to search for the
In step 288 (S288), the directory server 50 returns the information of the
In step 290 (S290), the access control device 7 (access control program 8) includes the HTML content including the concealment code for concealing the secret information included in the search result by the directory server 50 from the external client 124. return it.
[0135]
In step 292 (S292), the Web server of the external client 124 displays the HTML content from the access control device 7 (access control program 8) on the display /
The user further activates a print client program (not shown) of the external client 124, selects one of the
[0136]
In step 294 (S294), the external client 124 transmits a print request including the secret code of the designated
In step 296 (S296), the access control device 7 (access control program 8) receives this print request, converts the concealment code in the print request into the URL of the designated
Upon receiving this print request, the
[0137]
[Modification]
In another embodiment, the
The
Further, the access control program 8 communicates with the external client 124 using the IPP protocol, and communicates with the
[0138]
【The invention's effect】
As described above, the access control apparatus and method according to the present invention can provide a service without disclosing information such as the URL of the server to the outside.
Further, according to the access control apparatus and method according to the present invention, it is not necessary to disclose information such as the URL of the server to the outside, and the security of the server can be improved.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a first network system to which an access control method according to a first embodiment of the present invention is applied.
2 is a diagram illustrating a hardware configuration of an access control device, a client, a router, and a Web server illustrated in FIG. 1;
3 is a diagram showing a configuration of a first access control program executed in the access control apparatus shown in FIGS. 1 and 2. FIG.
4 is a diagram exemplifying a first concealment code table that is held in the concealment code DB shown in FIG. 3 and is used for providing functions of a private Web server and concealing a network location. FIG.
FIG. 5 is a flowchart showing a process (S14) of a proxy request unit shown in FIG.
6 is a flowchart showing a process (S18) of the private information detecting unit shown in FIG.
7 is a flowchart showing a process (S20) of the information protection unit shown in FIG. 3;
8 is a sequence diagram illustrating an overall operation (S10) of the network system shown in FIG.
FIG. 9 is a diagram illustrating a configuration of a second network system to which an access control method according to a second embodiment of the present invention is applied;
FIG. 10 is a diagram showing a configuration of a second access control program executed in the second access control apparatus shown in FIG. 9;
11 is a diagram showing processing of a private information detection unit shown in FIG. 10;
12 is a diagram illustrating a second concealment code table held in the concealment code DB shown in FIG. 8 and used for providing functions of a private network printer and concealing a network location.
13 is a flowchart showing a process (S26) of the proxy access unit shown in FIG.
14 is a sequence diagram showing an overall operation of the second network system shown in FIG. 9. FIG.
[Explanation of symbols]
1,5 ... Network system,
120 ... Internet,
12 ... Network system,
124, 132 ... client,
100: computer body,
102 ... CPU,
104: Memory,
106 ... Display / input device,
108: Communication device,
110 ... Recording device,
112 ... Recording medium,
126 ... IP network,
128: router,
130: External Web server,
2,6 ... Local network system,
20 ... Firewall
3, 7 ... access control device,
4, 8 ... access control program,
400, 410 ... communication control unit,
402: Proxy request unit,
404 ... Concealment code DB,
406... DB management unit,
408 ... Concealment code creation unit,
412 ... non-public information detection unit,
414 ... Information protection unit,
416 ... proxy response unit,
800 ... proxy access part,
802 ... Service search unit,
Claims (21)
第1のノードに対して送信されようとする第1の送信情報に含まれる前記第1の情報を検出する情報検出手段と、
前記第1の送信情報に含まれる第1の情報を、この第1の情報を代替しうる第2の情報により置換し、第2の送信情報として、前記第1のノードに対して送信する情報置換手段と、
前記第1のノードから、前記第2の情報を用いたアクセスがあったときに、前記アクセスされた第1の情報を代替する第2の情報を作成する第2の情報作成手段と
を有するアクセス制御装置。An access control apparatus for controlling communication of first information having a predetermined relationship with a first node, wherein the first information is included in transmission information transmitted to the first node. , Can be replaced by the second information,
Information detecting means for detecting the first information included in the first transmission information to be transmitted to the first node;
Information to be transmitted to the first node as second transmission information by replacing the first information included in the first transmission information with second information that can replace the first information. A replacement means;
Access having second information creating means for creating second information that substitutes for the accessed first information when there is an access using the second information from the first node Control device.
前記情報検出手段は、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開情報を検出する非公開情報検出手段であり、
前記情報置換手段は、前記第1の送信情報に含まれる非公開情報を、この非公開情報を代替しうる秘匿用情報により置換し、第2の送信情報として、前記第1のノードに対して送信し、
前記秘匿用情報生成手段は、前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する秘匿用情報を作成する
請求項1に記載のアクセス制御装置。The first information is private information that is in a private relationship with the first node, and the second information is the private information with respect to the first node. It is confidential information for concealment,
The information detection means is private information detection means for detecting the private information included in the first transmission information to be transmitted to the first node,
The information replacement means replaces the non-public information included in the first transmission information with confidential information that can replace the non-public information, and provides the second transmission information to the first node. Send
The concealment information generation means creates concealment information for creating concealment information that substitutes for the accessed private information when there is an access using the concealment information from the first node. The access control apparatus according to claim 1.
請求項2に記載のアクセス制御装置。The access control apparatus according to claim 2, wherein the concealment information creating unit creates the concealment information using a random number.
をさらに有する請求項2または3に記載のアクセス制御装置。4. The access device according to claim 2, further comprising an alternative access unit that performs an access using the non-public information replaced by the confidential information when an access using the confidential information is made from the first node. The access control device described in 1.
請求項4に記載のアクセス制御装置。The alternative access means determines the legitimacy of the confidential information, and performs access using the secret information replaced by the confidential information when the confidential information is determined to be valid. The access control apparatus according to claim 4.
請求項2〜5のいずれかに記載のアクセス制御装置。The access control apparatus according to claim 2, wherein the secret information includes an attribute of the secret node.
前記代替アクセス手段は、前記第1のノードから、前記秘匿用アドレスを用いたアクセスがあったときに、この秘匿用アドレスにより代替された前記非公開アドレスを用いて、前記非公開ノードに対するアクセスを代替する
請求項4または5に記載のアクセス制御装置。The private information is a private address of a private node that is private to the first node, and the public node that is publicly disclosed to the first node is the first node. Included in the first transmission information to be transmitted, the confidential information is a confidential address that is disclosed instead of the private address, and the first node transmits the second transmission information Using the confidential address included in the information to access the private node;
The alternative access means, when there is an access from the first node using the secret address, uses the secret address substituted by the secret address to access the secret node. The access control apparatus according to claim 4 or 5, which is substituted.
前記非公開情報検出手段は、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開アドレスを検出し、
前記情報置換手段は、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、第2の送信情報として、前記第1のノードに対して送信し、
前記秘匿用情報作成手段は、前記第1のノードから、前記非公開アドレスを用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する
請求項2〜7のいずれかに記載のアクセス制御装置。The private information is a private address of a private node that is private to the first node, and the public node that is publicly disclosed to the first node is the first node. Included in the first transmission information to be transmitted, the confidential information is a confidential address that is disclosed instead of the private address, and the first node transmits the second transmission information Using the confidential address included in the information to access the private node;
The private information detecting means detects the private address included in the first transmission information to be transmitted to the first node,
The information replacement means replaces a secret address included in the first transmission information with a secret address that can replace the secret address, and provides second transmission information to the first node. Send
The secret information creating means creates secret information that replaces the accessed secret information when there is an access from the first node using the secret address. The access control device according to any one of the above.
前記第1のノードは、前記ネットワークシステムに対してアクセスする外部ノードである
請求項8に記載のアクセス制御装置。The access control device, the private node, and the public node are included in one network system,
The access control apparatus according to claim 8, wherein the first node is an external node that accesses the network system.
前記情報置換手段は、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、前記アクセス制御用アドレスを付加して第2の送信情報として、前記第1のノードに対して送信し、
前記第1のノードは、前記第2の送信情報に付加されたアクセス制御用アドレスを用いて前記アクセス制御装置に対してアクセスし、前記第2の送信情報に付加された秘匿用アドレスを用いて、前記アクセス制御装置を介して、前記非公開ノードに対してアクセスする
請求項8に記載のアクセス制御装置。In the access control device, an access control address is set,
The information replacement means replaces a secret address included in the first transmission information with a secret address that can replace the secret address, and adds the access control address as second transmission information. , To the first node,
The first node accesses the access control apparatus using the access control address added to the second transmission information, and uses the concealment address added to the second transmission information. The access control apparatus according to claim 8, wherein the private node is accessed via the access control apparatus.
請求項10に記載のアクセス制御装置。The private address is a URL (Uniform Resource Locator), an IP (Internet Protocol) address or a domain name that is uniquely set for the private node, and the access control address is sent to the access control device. The access control apparatus according to claim 10, which is a URL, an IP address, or a domain name set uniquely.
をさらに有し、
前記秘匿用情報作成手段は、前記検索の結果として得られた前記非公開ノードの非公開アドレスを代替しうる秘匿用アドレスをさらに作成する
請求項7〜10のいずれかに記載のアクセス制御装置。In response to a request from the first node, it further comprises search means for searching for the private node,
The access control apparatus according to any one of claims 7 to 10, wherein the concealment information creation unit further creates a concealment address that can substitute for the secret address of the secret node obtained as a result of the search.
請求項12に記載のアクセス制御装置。The access control apparatus according to claim 12, wherein the search unit further charges for access to the private node.
第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開情報を検出し、
前記第1の送信情報に含まれる非公開情報を、この非公開情報を代替しうる秘匿用情報により置換し、第2の送信情報として前記第1のノードに対して送信し、
前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する
を有するアクセス制御方法。An access control method for controlling communication of private information that is private to a first node, wherein the private information is included in transmission information transmitted to the first node, and Non-public information can be replaced with concealment information for concealing the first node,
Detecting the private information included in the first transmission information to be transmitted to the first node;
Replacing the non-public information included in the first transmission information with confidential information that can replace the non-public information, and transmitting the second transmission information to the first node,
An access control method comprising: generating confidential information that substitutes for the accessed private information when there is an access from the first node using the confidential information.
請求項14に記載のアクセス制御方法。The access control method according to claim 14, wherein when there is an access using the confidential information from the first node, an access using the secret information replaced by the confidential information is further performed.
前記第1のノードから、前記秘匿用アドレスを用いたアクセスがあったときに、この秘匿用アドレスにより代替された前記非公開アドレスを用いて、前記非公開ノードに対するアクセスを代替する
請求項14または15に記載のアクセス制御方法。The private information is a private address of a private node that is private to the first node, and the public node that is publicly disclosed to the first node is the first node. Included in the first transmission information to be transmitted, the confidential information is a confidential address that is disclosed instead of the private address, and the first node transmits the second transmission information Using the confidential address included in the information to access the private node;
The access to the private node is substituted using the private address replaced by the secret address when there is an access from the first node using the secret address. 15. The access control method according to 15.
第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開アドレスを検出し、
前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、第2の送信情報として、前記第1のノードに対して送信し、
前記第1のノードから、前記非公開アドレスを用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する
請求項14〜16のいずれかに記載のアクセス制御方法。The private information is a private address of a private node that is private to the first node, and the public node that is publicly disclosed to the first node is the first node. Included in the first transmission information to be transmitted, the confidential information is a confidential address that is disclosed instead of the private address, and the first node transmits the second transmission information Using the confidential address included in the information to access the private node;
Detecting the private address included in the first transmission information to be transmitted to the first node;
Replacing the private address included in the first transmission information with a secret address that can replace the private address, and transmitting the second transmission information to the first node,
The access control according to any one of claims 14 to 16, wherein when there is an access using the private address from the first node, secret information that substitutes the accessed private information is created. Method.
第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開情報を検出するステップと、
前記第1の送信情報に含まれる非公開情報を、この非公開情報を代替しうる秘匿用情報により置換し、第2の送信情報として前記第1のノードに対して送信するステップと、
前記第1のノードから、前記秘匿用情報を用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成するステップと
をコンピュータに実行させるプログラム。A program for controlling communication of private information that is private to the first node, wherein the private information is included in transmission information transmitted to the first node, and the private information The information can be replaced by concealment information for concealing the first node;
Detecting the secret information included in the first transmission information to be transmitted to the first node;
Replacing the secret information included in the first transmission information with confidential information that can replace the secret information, and transmitting the secret information to the first node as second transmission information;
A program for causing a computer to execute a step of creating confidential information that replaces the accessed non-public information when there is an access from the first node using the confidential information.
さらにコンピュータに実行させる請求項18に記載のプログラム。19. The program according to claim 18, wherein when there is an access using the confidential information from the first node, the program further causes the computer to execute an access using the private information replaced by the confidential information. .
前記秘匿用情報により代替された非公開情報を用いたアクセスを行うステップにおいて、前記前記第1のノードから、前記秘匿用アドレスを用いたアクセスがあったときに、この秘匿用アドレスにより代替された前記非公開アドレスを用いて、前記非公開ノードに対するアクセスを代替する
請求項19に記載のプログラム。The private information is a private address of a private node that is private to the first node, and the public node that is publicly disclosed to the first node is the first node. Included in the first transmission information to be transmitted, the confidential information is a confidential address that is disclosed instead of the private address, and the first node transmits the second transmission information Using the confidential address included in the information to access the private node;
In the step of performing access using the secret information replaced by the secret information, when there is an access using the secret address from the first node, the secret information is replaced by the secret address. The program according to claim 19, wherein access to the private node is substituted using the private address.
前記検出するステップにおいて、第1のノードに対して送信されようとする第1の送信情報に含まれる前記非公開アドレスを検出し、
前記置換するステップにおいて、前記第1の送信情報に含まれる非公開アドレスを、この非公開アドレスを代替しうる秘匿用アドレスにより置換し、第2の送信情報として、前記第1のノードに対して送信し、
前記秘匿用情報を作成するステップにおいて、前記第1のノードから、前記非公開アドレスを用いたアクセスがあったときに、前記アクセスされた非公開情報を代替する秘匿用情報を作成する
請求項18〜20のいずれかに記載のプログラム。The private information is a private address of a private node that is private to the first node, and the public node that is publicly disclosed to the first node is the first node. Included in the first transmission information to be transmitted, the confidential information is a confidential address that is disclosed instead of the private address, and the first node transmits the second transmission information Using the confidential address included in the information to access the private node;
In the detecting step, detecting the secret address included in the first transmission information to be transmitted to the first node;
In the replacing step, the secret address included in the first transmission information is replaced with a secret address that can replace the secret address, and the second transmission information is transmitted to the first node. Send
19. In the step of creating the confidential information, when there is an access from the first node using the private address, the confidential information that replaces the accessed private information is created. The program in any one of -20.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003199635A JP2005043938A (en) | 2003-07-22 | 2003-07-22 | Access controller and its method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003199635A JP2005043938A (en) | 2003-07-22 | 2003-07-22 | Access controller and its method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005043938A true JP2005043938A (en) | 2005-02-17 |
Family
ID=34260338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003199635A Withdrawn JP2005043938A (en) | 2003-07-22 | 2003-07-22 | Access controller and its method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005043938A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012079154A (en) * | 2010-10-04 | 2012-04-19 | Nippon Telegr & Teleph Corp <Ntt> | Content providing method, content acquiring method, content providing system and terminal device |
JP4929285B2 (en) * | 2005-09-12 | 2012-05-09 | マイクロソフト コーポレーション | Server-side service framework |
JP2013223167A (en) * | 2012-04-18 | 2013-10-28 | Nec System Technologies Ltd | Information providing apparatus, information providing system, and information providing method |
CN115242674A (en) * | 2022-07-25 | 2022-10-25 | 上海交通大学 | Hidden service tracking system based on Tor protocol time sequence characteristics |
-
2003
- 2003-07-22 JP JP2003199635A patent/JP2005043938A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4929285B2 (en) * | 2005-09-12 | 2012-05-09 | マイクロソフト コーポレーション | Server-side service framework |
JP2012079154A (en) * | 2010-10-04 | 2012-04-19 | Nippon Telegr & Teleph Corp <Ntt> | Content providing method, content acquiring method, content providing system and terminal device |
JP2013223167A (en) * | 2012-04-18 | 2013-10-28 | Nec System Technologies Ltd | Information providing apparatus, information providing system, and information providing method |
CN115242674A (en) * | 2022-07-25 | 2022-10-25 | 上海交通大学 | Hidden service tracking system based on Tor protocol time sequence characteristics |
CN115242674B (en) * | 2022-07-25 | 2023-08-04 | 上海交通大学 | Hidden service tracking system based on Torr protocol time sequence characteristic |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Handle system overview | |
US9860251B2 (en) | Dynamic encryption of a universal resource locator | |
Cooper et al. | Internet web replication and caching taxonomy | |
AU2005263962B2 (en) | Improved user interface | |
KR100781725B1 (en) | Method and system for peer-to-peer authorization | |
US8464311B2 (en) | Method and system for implementing privacy notice, consent, and preference with a privacy proxy | |
US7805513B2 (en) | Access control list checking | |
US7903656B2 (en) | Method and system for message routing based on privacy policies | |
JPH11167536A (en) | Method and device for client/host communication using computer network | |
JP2001203762A (en) | Dns server filter | |
JP2003163678A (en) | Method of resolving virtual network name | |
Petersson et al. | Forwarded HTTP Extension | |
JP4524906B2 (en) | Communication relay device, communication relay method, communication terminal device, and program storage medium | |
JP2002189646A (en) | Repeating installation | |
JP2006203731A (en) | Network repeating device, network connection information browsing system and network connection information notification method | |
JP2005043938A (en) | Access controller and its method | |
US20050234923A1 (en) | Method and apparatus for translating a web services address | |
JP2006252404A (en) | Device searching apparatus and method, program and storage medium | |
JP2007226343A (en) | Presence system, presence presentation method, and program | |
Camargo | Jingle Relay Nodes | |
CA2510633C (en) | Access control list checking | |
Niven-Jenkins et al. | Content delivery network interconnection (cdni) metadata | |
Hunt | Internet—services, facilities, protocols and architecture | |
JP2005260571A (en) | Communication relay device, communication relay method, and communication relay program | |
JP2003196315A (en) | Information system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060622 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080918 |