JP4520840B2 - 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体 - Google Patents

暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体 Download PDF

Info

Publication number
JP4520840B2
JP4520840B2 JP2004350099A JP2004350099A JP4520840B2 JP 4520840 B2 JP4520840 B2 JP 4520840B2 JP 2004350099 A JP2004350099 A JP 2004350099A JP 2004350099 A JP2004350099 A JP 2004350099A JP 4520840 B2 JP4520840 B2 JP 4520840B2
Authority
JP
Japan
Prior art keywords
server device
client device
encrypted communication
communication
access request
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.)
Expired - Fee Related
Application number
JP2004350099A
Other languages
English (en)
Other versions
JP2006165678A (ja
JP2006165678A5 (ja
Inventor
由晃 竹島
貴央 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004350099A priority Critical patent/JP4520840B2/ja
Priority to EP05026251A priority patent/EP1667398B1/en
Priority to CN2005101257517A priority patent/CN1783778B/zh
Priority to DE602005007310T priority patent/DE602005007310D1/de
Priority to US11/291,929 priority patent/US7849306B2/en
Publication of JP2006165678A publication Critical patent/JP2006165678A/ja
Publication of JP2006165678A5 publication Critical patent/JP2006165678A5/ja
Application granted granted Critical
Publication of JP4520840B2 publication Critical patent/JP4520840B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

本発明は、暗号化通信の中継方法、暗号化通信を中継するゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体に関する。
インターネットに代表されるネットワークは、そのネットワークを流れる通信データにとって、必ずしも安全なものではなく、様々な危険性が存在する。その一つは、盗聴である。例えば、悪意のある者は、特殊なソフトウェアやハードウェアを用いれば、ネットワークを流れる情報を盗聴することにより、例えば、オンラインショッピング時に送信される他人のクレジット番号等の個人情報を不正に入手することができる。また、サーバのなりすましの問題がある。第三者が既存のオンラインショップになりすまして、ダミーの注文ページを用意し、利用者が偽ショップだと気付かずにクレジット番号等の個人情報を入力すれば、クレジット番号等が不正に入手される。
このような盗聴やサーバのなりすましの問題を解決し、安全な通信を実現するための技術として、SSL(Secure Socket Layer)や、その後継であるTLS(Transport Layer Security)に基づいた暗号化通信がある。これらの暗号化通信の方法によれば、例えば、暗号化通信を行うWebサーバとWebブラウザとは、まず、その間で暗号鍵の交換等のハンドシェイクを行う。そして、その後の通信を暗号化された通信によって行う。従って、ネットワークの途中に存在する中継装置等においては、その通信内容を復号化することができない。このようにして、第三者による盗聴等を防ぐことができる。
ところが、以上のような送信者と受信者だけが解読可能な暗号化通信(以下、End−End暗号化通信という)は、通信される情報の安全は確保される一方で、以下に説明する問題を生じる。
ゲートウェイサーバ装置は、イントラネットとインターネットとを接続するとともに、その間の通信を中継する中継装置の一つである。そして、イントラネットからインターネットへ、例えば、企業の秘密文書等が流出していないか、あるいは、インターネットからイントラネットへウイルスやその他の有害な情報が流入していないか等を監視する機能を備える。また、ゲートウェイサーバ装置は、イントラネットとインターネットとの間での通信データのフォーマット変換等のサービスを行う機能を備える。このような通信データの監視やフォーマット変換等は、しばしば、付加価値処理と呼ばれ、ゲートウェイサーバ装置の機能の一部として定着してきている。また、このような付加価値処理は、インターネット接続サービスを提供するISP(Internet Service Provider)においては、商業的なサービスとして行われるようになってきている。
しかしながら、ゲートウェイサーバ装置は、このような付加価値処理のサービスを、SSL等のEnd−End暗号化通信に対して提供することができない。ゲートウェイサーバ装置やISPサーバであっても、End−End暗号化通信における暗号を解読することはできず、その通信内容を知ることができないからである。これでは、ゲートウェイサーバ装置は、悪意ある第三者がSSL暗号化通信により送信するウイルスやその他の有害な情報を遮断することはできないし、SSL暗号化通信により秘密文書がイントラネット外に流出することを阻止することもできない。
この問題を解決したとするソフトウェア製品が、WebWasher社からSSL Scannerという名称で販売されている。そのパンフレット(非特許文献1参照)によれば、SSL Scannerは、ゲートウェイサーバ装置等にインストールされて、Webサーバ(コンテンツサーバ装置)とWebクライアント(クライアント装置のブラウザ)と間のSSL暗号化通信を監視し、暗号化データの復号化を行う通信中継ソフトウェアである。すなわち、SSL Scannerは、SSL暗号化通信の暗号化文をいったん平文へ変換し、平文としてウイルスチェック等の付加価値処理を加えることができるようにする。
非特許文献1には、SSL ScannerがSSL暗号化通信の途中に割って入ることを可能にするための方法や手段については、詳細な説明はなされていないが、次のような方法によるものと推測される。まず、SSL Scannerの運用管理者は、SSL ScannerのルートCA(Certificate Authority)証明書をユーザに配布し、ブラウザにその証明書をインストールさせる。そして、ブラウザとWebサーバ間でSSL暗号化通信を行う際には、SSLハンドシェイク時に、SSL Scannerがサーバ証明書をブラウザに送信することによって、SSL Scannerとブラウザ間でSSL暗号化通信を行う。
ゲートウェイサーバ装置において暗号通信文を復号化し、復号化した平文の通信文に対して付加価値処理を行う例は、携帯電話等を用いた移動体通信においても存在する。移動体のデータ通信方法を標準化する標準化団体OMA(Open Mobile Alliance)は、WAP(Wireless Application Protocol)バージョン1で、WAPブラウザとゲートウェイサーバ装置との間での暗号化通信を可能にするためのWTLS(Wireless Transport Layer Security)仕様(非特許文献2参照)を定めている。このWAPバージョン1によれば、携帯電話等の移動体端末装置上のWAPブラウザは、携帯電話等とインターネットを接続するゲートウェイサーバ装置との間でWTLSによる暗号化通信を行い、ゲートウェイサーバ装置とWeb(WAP)サーバとの間でSSL暗号化通信を行うとしている。
この場合、ゲートウェイサーバ装置は、双方の暗号化通信文を中継するために、それぞれの暗号通信文をいったん平文に復号化する。従って、ゲートウェイサーバ装置は、WAP仕様の暗号通信文に対して自由に付加価値処理を行うことができる。現実にも、例えば、携帯電話向けシステムでは、ゲートウェイサーバ装置が通信中のHTTPヘッダに特殊なヘッダを付加する等の付加価値処理を行っている。
"製品情報Webwasher SSL Scanner", [online], [平成16年8月6日検索], インターネット<http://www.webwasher.jp/pro#sslscanner.html> "Wireless Transport Layer Security", [online], 2001年4月, Wireless Application Protocol Forum, Ltd, [平成16年8月6日検索], インターネット<http://www.openmobilealliance.org/tech/affiliates/wap/wap-261-wtls-20010406-a.pdf>
しかしながら、SSL Scannerは、SSL暗号化通信を行っているコンテンツサーバ装置やクライアント端末装置を特定せずに、SSL暗号化通信文を平文に変換し、必要に応じて、付加価値処理を行っている。そのため、SSL Scannerでは、SSL暗号化通信を行っているコンテンツサーバ装置やクライアント端末装置ごとに、その通信方法の設定を変更したり、実行する付加価値処理を設定したりすることはできない。また、WTLS暗号化通信は、一般的に普及している方法ではないので、クライアント装置のWEBブラウザにWTLS暗号化通信を可能にする機能を追加する必要があるという問題がある。
以上の従来技術の問題点に鑑み、本発明の目的は、クライアント装置のWEBブラウザに特殊な機能を追加することなく、ゲートウェイサーバ装置において、End−End暗号化通信に対する付加価値処理を行うことができるようにし、さらに、コンテンツサーバ装置およびクライアント装置に応じて、その通信方法の設定を変更したり、実行する付加価値処理を設定したりすることを可能にするゲートウェイサーバ装置、並びに、暗号化通信の中継方法、プログラムおよびプログラム記憶媒体を提供することにある。
前記の課題を解決するために、本発明のゲートウェイサーバ装置における暗号化通信の中継方法は、利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、そのクライアント装置からネットワークを介して送信されるアクセス要求メッセージを受信し、そのアクセス要求メッセージが示すコンテンツ情報をクライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置における暗号化通信の中継方法であって、そのゲートウェイサーバ装置が、クライアント装置からコンテンツサーバ装置への暗号化通信のための接続メッセージを受信する第1のステップと、その接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成する第2のステップと、その一時的な暗号通信中継許可証をクライアント装置に送信する第3のステップと、クライアント装置との間でEnd−End暗号化通信を行い、そのクライアント装置が送信する暗号化されたアクセス要求メッセージを受信し、暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換する第4のステップと、その平文のアクセス要求メッセージの内容に応じてコンテンツサーバ装置とEnd−End暗号化通信を行い、アクセス要求メッセージが指示するコンテンツ情報を取得する第5のステップと、その取得したコンテンツ情報およびその通信ヘッダに対して付加価値処理を行い、その付加価値処理されたコンテンツ情報およびその通信ヘッダを暗号化してクライアント装置へ送信する第6のステップとを実行することを特徴とする。
本発明によれば、ゲートウェイサーバ装置は、クライアント装置がコンテンツサーバ装置へ送信する暗号化通信のための接続メッセージを受信し、クライアント装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成するので、クライアント装置とゲートウェイサーバ装置との間でEnd−End暗号化通信を行うことができるようになる。また、ゲートウェイサーバ装置は、クライアント装置から送信されたコンテンツサーバ装置に対するアクセス要求に基づき、コンテンツサーバ装置との間でEnd−End暗号化通信を行い、クライアント装置が求めるコンテンツ方法を取得することができる。すなわち、本発明においては、クライアント装置とコンテンツサーバ装置との間で行われる暗号化通信は、いったん、クライアント装置とゲートウェイサーバ装置との間の暗号化通信で終端される。従って、終端されたゲートウェイサーバ装置においては、暗号化通信のメッセージは、平文化されるので、平文化されたメッセージに対して種々の付加価値処理を行うことができるようになる。
また、本発明においては、クライアント装置とゲートウェイサーバ装置との間、および、ゲートウェイサーバ装置とコンテンツサーバ装置との間の通信は、それぞれ、End−End暗号化通信で行っている。従って、それらの間がネットワーク接続されていても情報のセキュリティを保つことができる。
本発明の他の暗号化通信の中継方法は、前記の暗号化通信の中継方法において、ゲートウェイサーバ装置が、一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のIPアドレス、暗号化通信方法名のいずれかまたはそのすべてを登録するデータベースを備え、前記第2のステップの代わりに、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のIPアドレスのいずれかまたはその両方を検索キーとしてそのデータベースを検索し、その結果、前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、その登録情報から前記宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を読み出し、前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、前記暗号化通信接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成し、前記生成した一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のIPアドレス、暗号化通信方法名のいずれかまたはそのすべてを前記データベースに登録する第7のステップを実行すること特徴とする。
本発明によれば、宛先サーバ名、送信元クライアント装置のIPアドレスのいずれかまたはその対に対して、一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限と暗号化通信方法名とをデータベースに登録する。このデータベースを利用すれば、クライアント装置ごと、コンテンツサーバごとまたはその両方ごとに暗号化通信方法や付加価値処理を設定することができる。そのため、フレキシブルな暗号化通信の中継を行うことができるようになる。
WEBクライアントに特殊な機能を追加することなく、クライアント装置とコンテンツサーバ装置との間のEnd−End暗号化通信に対する付加価値処理をゲートウェイサーバ装置において行うことができるようになり、コンテンツサーバ装置とクライアント装置とに応じて、その間の通信方法や、実行する付加価値処理をフレキシブルに設定することができるようになり、フレキシブルな暗号化通信の中継が実現される。
<第1の実施形態>
以下、本発明の第1の実施形態について、適宜、図1〜図11を参照しながら詳しく説明する。
(ネットワークシステムの構成)
図1は、本発明が適用されるネットワークシステムの構成を模式的に示した図である。図1において、クライアント装置10、コンテンツサーバ装置20、ゲートウェイサーバ装置30およびデータベースサーバ装置40は、それぞれ、いわゆるコンピュータと呼ばれる情報処理装置によって構成される。
クライアント装置10は、利用者が使用する情報処理装置であり、利用者によるコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージを、ネットワーク50を介してコンテンツサーバ装置20へ送信する。コンテンツサーバ装置20は、大量の有用な情報(コンテンツ情報)を保管した情報処理装置であり、クライアント装置10から送信されるアクセス要求メッセージを受信し、そのアクセス要求メッセージが示すコンテンツ情報をクライアント装置10へ送信する。
クライアント装置10は、ネットワークA51と、ゲートウェイサーバ装置30と、ネットワークB52とを介してコンテンツサーバ装置20に接続される。ここで、ネットワークA51は、例えば、LAN(Local Area Network)のようなイントラネットであり、ネットワークB52は、例えば、公衆ネットワークとしてのインターネットである。なお、本実施形態においては、ネットワークA51とネットワークB52とを区別する必要がない場合には、単に、ネットワーク50という。
ゲートウェイサーバ装置30は、ネットワークA51とネットワークB52との間にあって、その間で行われる通信を中継する情報処理装置である。また、また、データベースサーバ装置40は、本実施形態においてゲートウェイサーバ装置30がクライアント装置10とコンテンツサーバ装置20との間の通信を中継する際に必要となる情報を、例えば、リレーショナルデータベースなどで管理する情報処理装置である。ゲートウェイサーバ装置30およびデータベースサーバ装置40については、別途詳しく説明する。
図2は、本発明が適用されるネットワークシステムにおいて用いられる情報処理装置の構成を示した図である。図2において、情報処理装置1000は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)等の半導体メモリで構成されたメモリ1002と、CD−ROM(Compact Disk Read Only Memory)ドライブのような可搬記憶媒体読取装置1003と、ネットワーク50に接続された通信装置1004と、ハードディスク磁気記憶装置のような不揮発性、大容量の補助記憶装置1005と、キーボードやマウスやディスプレイなどの入出力装置1006を含んで構成される。また、ネットワーク50は、物理的には、同軸ケーブルや光ファイバケーブル、無線等を用いた通信回線、および、ハブやルータのようなネットワーク装置によって構成される。
メモリ1002には、情報処理装置1000が実行するプログラムが記憶される。すなわち、クライアント装置10、コンテンツサーバ装置20、ゲートウェイサーバ装置30およびデータベースサーバ装置40は、それぞれの情報処理装置1000において、CD−ROM等の可搬記憶媒体1008に記録された所定のプログラムを可搬記憶媒体読取装置1003によって読み取り、メモリ1002にロードする。そして、メモリ1002にロードされたプログラムがCPU1001により実行されることによって、各装置10,20,30,40に定められた機能が実現される。
なお、メモリ1002へのプログラムのロードは、ネットワーク50に同様に接続された他の情報処理装置1000からネットワーク50および通信装置1004を介して行ってもよい。また、メモリ1002として半導体不揮発性メモリを用いて、その半導体不揮発性メモリにあらかじめプログラムを書き込んでおくこともできる。このようなメモリ1002へのプログラムのロード手段を用いることにすれば、各装置10,20,30,40は、必ずしも可搬記憶媒体読取装置1003および補助記憶装置1005を備える必要はない。例えば、クライアント装置10は、携帯電話のような小型の情報処理装置1000であっても構わない。
図1において、クライアント装置10では、Webブラウザなどの既存のWebクライアントアプリケーションプログラムが実行される情報処理装置1000である。すなわち、クライアント装置10は、例えば、インターネット通信機能を備えたパソコン、携帯電話等である。また、コンテンツサーバ装置20は、既存の種々のサーバアプリケーションプログラムが実行される情報処理装置1000である。例えば、文書・動画像データやプログラムファイルなどを提供するWebサーバであり、その他のWebサービスを提供するアプリケーションサーバ等である。
このようなクライアント装置10とコンテンツサーバ装置20とにおいて、クライアント装置10は、まず、コンテンツサーバ装置20に対して、コンテンツサーバ装置20が記憶する文書データや動画像データ、プログラムファイルなどのコンテンツのダウンロードを要求する通信メッセージ(アクセス要求)を送信する。すると、コンテンツサーバ装置20は、それに応答して、クライアント装置10が要求したコンテンツをクライアント装置10へ送信する。
ゲートウェイサーバ装置30は、通信メッセージの中継を行う装置であり、例えば、Webプロキシサーバで実現することができる。ゲートウェイサーバ装置30は、クライアント装置10からネットワークA51経由で送信された通信メッセージを、コンテンツサーバ装置20に中継する。宛先となるコンテンツサーバ装置20の情報(ホスト名やIPアドレスなど)は、アクセス要求の通信メッセージの中にコンテンツのURL(Uniform Resource Locator)情報として含まれている。また、ゲートウェイサーバ装置30は、中継した応答コンテンツをキャッシュとして記憶するキャッシュ機能を備えることもある。
また、データベースサーバ装置40は、本実施形態においてゲートウェイサーバ装置30がクライアント装置10とコンテンツサーバ装置20との間の通信を中継する際に必要となる情報を一括して管理する。データベースサーバ装置40は、例えば、リレーショナルデータベースなどで実現することができ、複数のゲートウェイサーバ装置30からのデータベース検索要求、データ登録要求、データ削除要求等を処理することができる。
図1のネットワークシステムを構成する各装置10,20,30,40においてそれぞれ実現されている機能が、物理的には一つの情報処理装置1000で実現されてもよい。例えば、データベースサーバ装置40の機能が、ゲートウェイサーバ装置30に含まれていてもよい。また、一つの装置で実現される機能が、物理的に複数の装置で実現されてもよい。例えば、ゲートウェイサーバ装置30に含まれる機能の一部を、ネットワーク50を介してゲートウェイサーバ装置30と通信する他の情報処理装置1000で実現してもよい。
(ゲートウェイサーバ装置およびデータベースサーバ装置の構成)
図3は、本実施形態におけるゲートウェイサーバ装置およびデータベースサーバ装置の構成を示した図である。図3において、ゲートウェイサーバ装置30は、HTTP(Hyper Text Transfer Protocol)プロキシ処理部301と、認証局サーバ部302と、暗号通信処理部303と、鍵管理部304とを含んで構成される。また、データベースサーバ装置40は、暗号化通信設定データベース401を含んで構成される。
HTTPプロキシ処理部301は、クライアント装置10からコンテンツサーバ装置20へ送信されるアクセス要求を中継する。また、非暗号化通信時には、コンテンツサーバ装置20からクライアント装置10へ送信される応答データをキャッシュする等の付加的処理を行う。
認証局サーバ部302は、HTTPプロキシ処理部301が指示するサーバ名のサーバに対して、公開鍵証明書の形式を持つ一時的な暗号通信中継許可証40151の発行、および、その対となる秘密鍵の生成を行う。
暗号通信処理部303は、HTTPプロキシ処理部301を介して、クライアント装置10またはコンテンツサーバ装置20との間でEnd−End暗号化通信を行う。また、End−End暗号化通信によりコンテンツサーバ装置20からダウンロードしたコンテンツのキャッシュを行う。
鍵管理部304は、ルートCA認証局から発行されたゲートウェイサーバ装置30用の秘密鍵および公開鍵証明書と、コンテンツサーバ装置20の公開鍵証明書を検証するためのルート認証局証明書とを保存管理する。
図3において、データベースサーバ装置40は、暗号化通信設定データベース401を備える。暗号化通信設定データベース401は、例えば、リレーショナルデータベースを用いて構築する。ゲートウェイサーバ装置30は、データベースサーバ装置40に対して、SQL(Structured Query Language)言語などのデータベース操作用言語を用いて、暗号化通信設定データベース401の検索、登録、削除等の処理を行う。
暗号化通信設定データベース401は、テーブル形式のデータベースで、暗号化通信の設定を管理するために使用される。暗号化通信の設定情報は、コンテンツサーバ装置名およびクライアントIPアドレスごとに管理される。すなわち、暗号化通信設定データベース401は、サーバ名フィールド4011、通信方法フィールド4012、クライアントIPアドレスフィールド4013、有効期限フィールド4014、暗号通信中継許可証フィールド4015、秘密鍵フィールド4016等により構成される。また、暗号化通信設定データベース401は、これらの情報を、エントリ4019単位で管理する。つまり、暗号化通信設定データベース401の検索、登録、削除等の処理は、エントリ4019単位で取り扱う。なお、エントリは、レコードと呼ばれることもある。
以下に、暗号化通信設定データベース401の各フィールド4011〜4016の詳細について説明する。
サーバ名フィールド4011は、ネットワークB52に接続されているコンテンツサーバ装置20のホスト名を管理するフィールドである。ホスト名は、”www.example.com”のようなFQDN(Fully Qualified Domain Name)形式、または、”192.168.1.1”のようなIPアドレス形式で記憶される。
通信方法フィールド4012は、クライアント装置10とコンテンツサーバ装置20との間の暗号化通信方法を管理するフィールドである。通信方法の例としては、クライアント装置10とコンテンツサーバ装置20との間で行われる通常のSSL暗号化通信(以下、“End-End SSL”方法という)と、クライアント装置10とコンテンツサーバ装置20との間のSSL暗号化通信を、ゲートウェイサーバ装置30で、クライアント装置10とのSSL暗号化通信と、コンテンツサーバ装置20とのSSL暗号化通信とをそれぞれ終端し、分離させたSSL暗号化通信(以下、“Split SSL”方法という)がある。すなわち、“Split SSL”においては、クライアント装置10とコンテンツサーバ装置20との間のSSL暗号化通信の暗号化通信データは、ゲートウェイサーバ装置30において一旦復号化され、平文に戻される。
なお、暗号化通信としては、SSL暗号化通信のほかに、TLS暗号化通信であってもよい。
クライアントIPアドレスフィールド4013は、クライアント装置10のIPアドレスを管理するフィールドである。ただし、ネットワークA51を構成するシステムによっては、クライアントのIPアドレスが通信ごとに変動するケースがあり得るので、その場合には、クライアントIPアドレスを管理するのではなく、クライアント装置10の認証情報(ユーザIDや電話番号など)ベースで管理してもよい。図3の通信方法の設定例においては、サーバ名が“A.com”および“B.com”のサーバに対するアクセスについては、クライアントIPアドレスに関わりなく“End-End SSL”の通信方法が適用される。また、サーバ名が“C.com”のサーバに対しては、クライアントIPアドレスが“192.168.A”である場合に、“Split-SSL”の通信方法が適用される。また、サーバ名が“D.com”のサーバに対しては、クライアントIPアドレスが“192.168.B”である場合に、“Split-SSL”の通信方法が適用される。
有効期限フィールド4014は、各エントリ4019の設定の有効期限情報を管理するフィールドである。この有効期限フィールド4014に有効期限のデータがあるエントリ4019については、有効期限の日付(時刻を含んでもよい)情報が設定され、有効期限のデータが無いエントリ4019については、“−(有効期限無し)”が設定される。
暗号通信中継許可証フィールド4015は、暗号通信中継許可証40151のデータを管理するフィールドである。ゲートウェイサーバ装置30は、暗号通信中継許可証のデータをこの暗号通信中継許可証フィールド4015に登録する。登録することによって、ゲートウェイサーバ装置30が複数あった場合に、クライアント装置10がどのゲートウェイサーバ装置30にアクセスしても、クライアントIPアドレス4013や宛先サーバ名4011、有効期限4014等の条件を満たせば、同じ暗号通信中継許可証40151を暗号化通信設定データベース401から取り出して、クライアント装置10に応答することができる。
秘密鍵フィールド4016は、秘密鍵のデータを管理するフィールドである。ゲートウェイサーバ装置30は、自身の秘密鍵のデータをこの秘密鍵フィールド4016に登録する。登録することによって、ゲートウェイサーバ装置30が複数あった場合に、クライアント装置10がどのゲートウェイサーバ装置30にアクセスしても、クライアントIPアドレス4013や宛先サーバ名4011、有効期限4014等の条件を満たせば、同じ秘密鍵を暗号化通信設定データベース401から取り出して、クライアント装置10との暗号化通信に使用することができる。
以上の各フィールド4011〜4016に登録されているデータは、暗号化通信設定データベース401を検索することによって取得することができる。その検索においては、いずれかのフィールドの値を検索キーとして暗号化通信設定データベース401を検索すると、条件に適合したエントリ4019の情報を得ることができる。図3の例で、ゲートウェイサーバ装置30がデータベースサーバ装置40に対して『サーバ名=“A.com”』という検索キーでクエリ文を送信すると、データベースサーバ装置40は、暗号化通信設定データベース401の中で、サーバ名フィールド4011に“A.com”を含むエントリ4019を検索する。そして、データベースサーバ装置40は、ゲートウェイサーバ装置30に対して、『通信方法=“End-End SSL”、クライアントIPアドレス=“制限無し”、有効期限=“無し”、暗号通信中継許可証=“無し”、秘密鍵=“無し”』というエントリ4019の情報を応答する。なお、データベースサーバ装置40が応答する情報は、ゲートウェイサーバ装置30が必要とするフィールド情報のみとしてもよい。必要なフィールド情報は、クエリ文のパラメータで指定することができる。
(SSL暗号化通信中継処理)
図4は、クライアント装置とコンテンツサーバ装置との間のSSL暗号化通信をゲートウェイサーバ装置が中継する処理の流れを示した図である。この処理の流れは、ゲートウェイサーバ装置30がクライアント装置10とTCP(Transmission Control Protocol)接続を確立した後、クライアント装置10からHTTPのCONNECTメソッドを受信し、通常の端末間通信(End-End SSL暗号化通信)、または、ゲートウェイサーバ装置30による分割型SSL通信(Split−SSL暗号化通信)を行い、CONNECTメソッドの処理を終えるまでの状態遷移を表している。
図4において、まず、ゲートウェイサーバ装置30のHTTPプロキシ処理部301は、クライアント装置10から、HTTPのCONNECTメソッドを含むアクセス要求を受信する(ステップS001)。CONNECTメソッドとは、ゲートウェイサーバ装置30に対して、SSL暗号化通信用に用いるTCP接続をコンテンツサーバ装置20に対して行うように指示するメソッドである。ゲートウェイサーバ装置30は、CONNECTメソッドを受信すると、CONNECT受信処理を開始する。
次に、ゲートウェイサーバ装置30のHTTPプロキシ処理部301は、CONNECTメソッドのアクセス要求の通信メッセージから、宛先となるコンテンツサーバ装置20のサーバ名またはIPアドレスを抽出する。例えば、受信したHTTPのアクセス要求メッセージの最初の行(リクエスト行)に“CONNECT www.example.com:443 HTTP/1.1”という文字列があった場合には、“www.example.com”という文字列を抽出し、サーバ名として扱う。そして、そのサーバ名またはIPアドレスを検索キーとして、データベースサーバ装置40に対し、その暗号化通信設定データベース401(図4においては、単にDBと記載)へのサーバ検索処理を行う(ステップS002)。なお、サーバ検索処理については、図5を用いて、別途、さらに詳しく説明する。
なお、クライアント装置10の設定によっては、クライアント装置10はCONNECTメソッドを送信せず、最初から宛先のコンテンツサーバ装置20のIPアドレスを宛先IPアドレスとして設定して、IPパケットを送信し、SSL暗号化通信のハンドシェイクを行うことがある。ゲートウェイサーバ装置30がそのIPパケットを受信した場合には、ゲートウェイサーバ装置30は、IPパケットに含まれているTCPヘッダの中の宛先ポート番号をチェックし、その宛先ポート番号がSSL暗号化通信を意味するポート番号、例えば443番であれば、TCPハンドシェイク以降のパケットでSSL暗号化通信のハンドシェイクが行われるとみなす。そして、HTTPプロキシ処理部301は、IPヘッダ中の宛先IPアドレスを、宛先のコンテンツサーバ装置20のIPアドレスとして扱い、そのIPアドレスを用いて、データベースサーバ装置40に対するサーバ検索の指示(ステップS002)およびそれ以降の処理を行う。
次に、データベースサーバ装置40における検索結果を用いて、検索したサーバがすでにデータベースサーバ装置40に登録されているか否かを判定する(ステップS003)。その結果、サーバ名フィールド4011に検索キーを含むサーバ情報が応答された場合は(ステップS003でYES)、HTTPプロキシ処理部301は、暗号化通信設定データベース401にすでに登録済みと判定する。検索キーを含むサーバ情報が応答されなかった場合は(ステップS003でNO)、未登録のサーバであると判定する。
そこで、CONNECTメソッドの宛先のコンテンツサーバ装置20のサーバ名が登録済みの場合には(ステップS003でYES)、HTTPプロキシ処理部301は、次に有効期限チェックを行う(ステップS004)。すなわち、ゲートウェイサーバ装置30は、ソフトウェアもしくはハードウェアで現在の日付と時刻を管理しているので、検索の結果で得られた有効期限フィールド4014の値と、現在の日付および時刻とを比較する。
そして、その時が有効期限内の場合には(ステップS004でYES)、HTTPプロキシ処理部301は、次に、通信方法チェックを行う(ステップS005)。例えば、検索の結果得られた通信方法フィールド4012の値が、“Split SSL”方法であるか、”End-End SSL”方法であるかを判定する。
そして、その通信方法が“Split SSL”方法であれば(ステップS005でYES)、HTTPプロキシ処理部301は、Split SSL暗号化通信処理を行う(ステップS006)。Split SSL暗号化通信処理は、クライアント装置10との通信においては、ゲートウェイサーバ装置30は、SSLサーバとして振る舞い、クライアント装置10とのSSL暗号化通信を終端し、かつ、コンテンツサーバ装置20との間で新たなSSL暗号化通信を行う処理である。
そして、HTTPプロキシ処理部301は、コンテンツサーバ装置20またはクライアント装置10によってTCP接続が切断されると、Split SSL暗号化通信処理を終了する。あるいは、タイムアウトなどなんらかの理由で、HTTPプロキシ処理部301が、クライアント装置10とのTCP接続とコンテンツサーバ装置20とのTCP接続を切断することにより、能動的にSplit SSL暗号化通信処理を終了させてもよい。その後、ゲートウェイサーバ装置30は、CONNECT受信処理を終了する。
一方、ステップS005で、通信方法が”End-End SSL”方法であった場合には(ステップS005でNO)、HTTPプロキシ処理部301はEnd−End SSL暗号化通信処理を行う(ステップS007)。End−End SSL暗号化通信処理は、HTTPプロキシサーバがSSL暗号化通信を中継する通常の通信処理方法である。具体的には、まず、ゲートウェイサーバ装置30がクライアント装置10からHTTP−CONNECTメソッドを受信したときに、CONNECT先で指定されたコンテンツサーバ装置20に対してTCP接続を行う。次に、TCPハンドシェイクが正常に完了した後、クライアント装置10に対して接続完了を示すメッセージを送信する。そのメッセージは、例えば、HTTP応答の最初の行(ステータス行)に“HTTP/1.1 200 Connection established”と記述されたメッセージである。以降は、クライアント装置10またはコンテンツサーバ装置20から送信されたアプリケーションデータを、コンテンツサーバ装置20またはクライアント装置10に転送する。なお、TCPヘッダやIPヘッダ等、アプリケーションデータ以外の部分については、HTTPプロキシ処理部301が、TCP接続に応じて、適宜、変換する。
そして、HTTPプロキシ処理部301は、コンテンツサーバ装置20またはクライアント装置10によってTCP接続が切断されると、End−End SSL暗号化通信処理を終了する。あるいは、タイムアウトなどなんらかの理由で、HTTPプロキシ処理部301が、クライアント装置10とのTCP接続とコンテンツサーバ装置20とのTCP接続を能動的に切断することにより、End−End SSL暗号化通信処理を終了させてもよい。その後、ゲートウェイサーバ装置30は、CONNECT受信処理を終了する。
また、ステップS004で、もし、有効期限を超過していた場合には(ステップS004でNO)、HTTPプロキシ処理部301は、データベースサーバ装置40に対し、暗号化通信設定データベース401の当該エントリ4019の削除処理を行う(ステップS008)。
そして、ゲートウェイサーバ装置30の設定の中で、コンテンツサーバ装置20の情報が暗号化通信設定データベース401に未登録時の場合のSSL暗号化通信処理のデフォルト設定をチェックする(ステップS009)。その結果、デフォルト設定がEnd−End SSL暗号化通信処理であった場合には(ステップS009でNO)、ステップS007の処理を行う。
一方、デフォルト設定がSplit SSL処理であった場合には(ステップS009でNO)、暗号化通信設定データベース401に対し、コンテンツサーバ装置20の情報の登録処理を行う(ステップS010)。そして、登録処理が正常に完了した場合は(ステップS011でNO)、ユーザ同意確認処理を行う(ステップS600)。ユーザ同意確認処理については、別途、詳しく説明する。また、登録処理が異常終了した場合は(ステップS011でYES)、HTTPプロキシ処理部301が、クライアント装置10とのTCP接続を能動的に切断することにより、CONNECT受信処理を終了する。
さらに、ステップS003で、CONNECTメソッドの宛先のコンテンツサーバ装置20のサーバ名が未登録であった場合には(ステップS003でNO)、HTTPプロキシ処理部301は、ステップS009以下の処理を行う。
図5は、図4における暗号化通信設定データベースへのサーバ検索処理(ステップS002)の処理の流れを詳しく示した図である。
図5において、ゲートウェイサーバ装置30のHTTPプロキシ処理部301(図3参照)は、まず、データベースサーバ装置40に対して、CONNECT先サーバ名とクライアントIPアドレスを検索キーとして、クエリ要求を発行する(ステップS102)。クエリ要求は、例えば、SQL言語の形式でデータベースサーバ装置40に渡される。そうすると、データベースサーバ装置40は、そのクエリ要求を解釈し、暗号化通信設定データベース401のサーバ名フィールド4011にCONNECT先のサーバ名と同じ値が格納されていて、かつ、クライアントIPアドレスフィールド4013にクライアントIPアドレスと同じ値が格納されているエントリ4019を探す。そして、そのエントリ4019があれば、そのエントリ4019をHTTPプロキシ処理部301に応答する(ステップS103)。そのエントリ4019がなければ、検索結果無し、として応答する。検索結果の応答は、少なくとも、通信方法フィールド4012の値と、エントリ4019自身の有効期限フィールド4014の値と、暗号通信中継許可証40151と、暗号通信中継許可証40151の対の秘密鍵40161とを含む。
図6は、図4における暗号化通信設定データベースへのサーバ登録処理(ステップS010)の処理の流れを詳しく示した図である。
図6において、ゲートウェイサーバ装置30は、まず、CONNECT先サーバ名に対する暗号通信中継許可証40151を生成する(ステップS201)。暗号通信中継許可証40151は、SSL暗号化通信等のEnd−End暗号化通信を行うためのサーバ公開鍵証明書である。サーバ公開鍵証明書は、例えば、国際電気通信連合電気通信標準化部門(International Telecommunication Union-Telecommunication sector:ITU−T)勧告のX.509仕様に基づく。そして、その中には、証明書の発行者や主体者(所有者)、有効期限、公開鍵情報、および、その証明書の有効性を検証するのに必要な発行者の電子署名などの情報が含まれている。
一般的には、認証局(Certification Authority:CA)がコンテンツサーバ装置20の運営者等に対してサーバ公開鍵証明書を発行する。ユーザは、サーバ公開鍵証明書をダウンロードした際に、サーバ公開鍵証明書中のCA電子署名と、ユーザが予め保持しているCA公開鍵証明書とを用いて、サーバ公開鍵証明書の検証を行う。ユーザが信頼しているCAを、ここではルートCAと呼ぶ。ユーザは、ルートCAの公開鍵証明書をクライアント装置10のブラウザ等にインストールすることによって、ルートCAや、ルートCAが信頼する他のCAが発行した公開鍵証明書の検証を行うことが可能となる。
ルートCAによって信頼されていないCAが発行した公開鍵証明書をダウンロードした場合は、クライアント装置10のブラウザが警告メッセージを発してユーザに通知することがある。暗号通信中継許可証40151とその対となる秘密鍵40161は、ゲートウェイサーバ装置30の認証局サーバ部302によって、CONNECTメソッド受信時に毎回発行される。暗号通信中継許可証40151の主体者はCONNECT先コンテンツサーバ装置20名で、発行者はゲートウェイサーバ装置30である。
次に、HTTPプロキシ処理部301は、データベースサーバ装置40に対し、エントリ追加要求を行う(ステップS202)。追加する情報は、CONNECT先コンテンツサーバ装置20名、通信方法、クライアントIPアドレス、有効期限、暗号通信中継許可証40151、秘密鍵40161等である。通信方法は、例えば、“Split SSL”方法である。有効期限は、例えば、予めゲートウェイサーバ装置30に設定されたパラメータに基づいて、現在時刻にパラメータ値を追加した日付および時刻で設定される。具体的な例をあげると、CONNECTメソッド受信時が『2003年7月15日12:00:00』で、パラメータ値が『1日』であれば、有効期限は『2003年7月16日12:00:00』と設定する。
次に、データベースサーバ装置40は、登録処理結果をHTTPプロキシ処理部301に応答する(ステップS203)。
HTTPプロキシ処理部301は、その応答結果を判定する(ステップS204)。もし、登録処理が問題なく完了していれば、登録処理を終了する(ステップS204でYES)。登録処理が失敗していれば、異常終了する(ステップS204でNO)。
図7は、図4における暗号化通信設定データベースへのサーバ削除処理(ステップS008)の処理の流れを詳しく示した図である。
HTTPプロキシ処理部301(図3参照)は、まず、データベースサーバ装置40に対し、暗号化通信設定データベース401のエントリ削除の要求を行う(ステップS301)。削除するエントリ4019は、例えば、CONNECT先コンテンツサーバ装置名と、クライアントIPアドレスとを検索キーとして、検索条件を満たすエントリ4019である。
次に、データベースサーバ装置40は、削除処理結果をHTTPプロキシ処理部301に応答する(ステップS302)。HTTPプロキシ処理部301は、応答結果を受信し、削除処理を終了する。
図8は、図4におけるSplit SSL暗号化通信処理(ステップS006)の処理の流れを詳しく示した図である。
HTTPプロキシ処理部301(図3参照)は、Split SSL暗号化通信処理を開始すると、暗号通信処理部303をCONNECT宛のSSLサーバとして処理を進める。具体的には、HTTPプロキシ処理部301は、暗号通信処理部303に、ステップS103で得られた暗号通信中継許可証40151および秘密鍵40161を渡す。そして、HTTPプロキシ処理部301は、クライアント装置10から受信したデータを、いったん、メモリ1002に書き込む。そして、暗号通信処理部303は、メモリ1002からそのデータを読み出す。そして、その逆の処理を行うことによって、クライアント装置10と暗号通信処理部303との間でデータの受け渡しを行う。
また、暗号通信処理部303がHTTPプロキシ処理部301と異なる情報処理装置1000上で動作している場合は、HTTPプロキシ処理部301と暗号通信処理部303とは、ネットワーク50を介して通信を行い、データの受け渡しを行う。HTTPプロキシ処理部301は、暗号通信処理部303から受け渡されたデータを、そのまま、もしくはクライアント装置10とHTTPプロキシ処理部301との通信用のHTTPヘッダの追加や削除を行い、クライアント装置10に送信する。また、同様にして、HTTPプロキシ処理部301は、クライアント装置10から受信したデータを、暗号通信処理部303に受け渡す。
次に、暗号通信処理部303は、クライアント装置10に対して、CONNECTメソッドに対する応答を送信した後、SSLハンドシェイク処理を行う(ステップS402〜S405)。ステップS404では、クライアント装置10にサーバ公開鍵証明書を送信する際に、コンテンツサーバ装置20のサーバ公開鍵証明書の代わりに、代理で暗号通信中継許可証40151を送信する。
次に、暗号通信処理部303は、クライアント装置10から暗号化済みアクセス要求を受信し、復号化する(ステップS406)。ここで、暗号通信処理部303は、CONNECT先コンテンツサーバ装置20のサーバ名と、受信したアクセス要求内のURLとを解析し、アクセス要求先のコンテンツがすでにキャッシュされているか、そして、キャッシュされている場合は、キャッシュ有効期限内であるかをチェックする(ステップS407)。もし、有効期限内のキャッシュを保持していた場合には(ステップS407でYES)、キャッシュ応答処理(ステップS408)を行い、Split SSL暗号化通信処理を終了する。
また、ステップS407で、キャッシュがないか、あっても有効期限切れであった場合には(ステップS407でNO)、暗号通信処理部303は、CONNECT先のコンテンツサーバ装置20に対しSSLハンドシェイク処理を行う(ステップS410〜S412)。ここで、暗号通信処理部303は、コンテンツサーバ装置20とのHTTP接続を行う際には、HTTPプロキシ処理部301に対してCONNECTメソッドを送信し、HTTPプロキシ処理部301がCONNECT先コンテンツサーバ装置20名を解析して該当するコンテンツサーバ装置20とTCP接続およびSSLハンドシェイク処理を行うことによって、HTTPプロキシ処理部301経由でコンテンツサーバ装置20との通信を行ってもよい。また、暗号通信処理部303がコンテンツサーバ装置20と直接TCP接続およびSSLハンドシェイク処理を行ってもよい。そして、暗号通信処理部303は、SSLハンドシェイク処理の結果、SSLハンドシェイクが成功したか失敗したかを判定する(ステップS413)。
そして、SSLハンドシェイク処理が成功した場合には(ステップS413でYES)、次に、サーバ公開鍵証明書の検証を行う(ステップS414)。そして、その検証が成功であった場合には(ステップS414でYES)、SSL暗号化通信中継処理を行い(ステップS415)、その後、Split SSL暗号化通信処理を終了する。また、ステップS413でSSLハンドシェイク処理が失敗した場合、または、ステップS414でサーバ公開鍵証明書の検証が失敗した場合には、エラー処理を行い(ステップS109)、Split SSL暗号化通信処理を終了する。
図9は、図8におけるSSL暗号化通信中継処理(ステップS415)の処理の流れを詳しく示した図である。
暗号通信処理部303(図3参照)は、まず、ステップS410〜S412で確立したSSL接続を用いて、CONNECT先のコンテンツサーバ装置20に対し、アクセス要求先のURLへのアクセス要求を暗号化して送信する(ステップS501)。すると、コンテンツサーバ装置20は、そのアクセス要求に対する応答データを暗号化して、暗号通信処理部303に送信する(ステップS502)。
暗号通信処理部303は、受信したデータの復号化処理を行い(ステップS503)、そのデータに対し、データフォーマットの変換やキャッシュ作成等の付加価値処理を行う(ステップS504)。ここで、付加価値処理の例としては、このほかにも、HTTPヘッダやコンテンツデータの追加や修正や削除などの処理、ステップS109のHTTPエラー処理、または、コンテンツデータを解析した結果による他サーバとの通信処理、などがある。なお、付加価値処理の例については、図14を用いて、補足して説明する。
次に、暗号通信処理部303は、クライアント装置10とのSSL暗号化通信用にデータを再び暗号化し(ステップS505)、クライアント装置10に送信する(ステップS506)。そして、SSL暗号化通信中継処理を終了する。または、ステップS506の後、再び、ステップS406と同じ暗号化アクセス要求を受信した場合は、ステップS406以降の処理を繰り返してもよい。また、その場合、制限時間を設けて、制限時間を過ぎたら、SSL中継処理を終了するようにしてもよい。
図10は、図8におけるエラー処理(ステップS109)の処理の流れを詳しく示した図である。
ゲートウェイサーバ装置30(図3参照)のHTTPプロキシ処理部301、または、暗号通信処理部303での処理中に、何らかのエラーが発生した場合は、それらの処理部301,303は、HTTPエラーメッセージを作成し、クライアント装置10に送信する(ステップS701)。その後、クライアント装置10とのTCP接続を切断する(ステップS702)。ここで、ステップS701は、省略してもよい。また、ステップS701の処理の中で、各処理部301,303は、エラーログファイルを作成し、それにエラー理由などを出力してもよい。
図11は、図8におけるキャッシュ応答処理(ステップS408)の処理の流れを詳しく示した図である。
ゲートウェイサーバ装置30の暗号通信処理部303(図3参照)は、SSL暗号化通信中継処理のステップ504(図9参照)等で、暗号化通信時のコンテンツのキャッシュを行い、メモリ1002または補助記憶装置1005等にキャッシュデータを格納する。キャッシュ応答処理(ステップS408)では、暗号通信処理部303は、このキャッシュデータを用いてHTTP応答データを作成し、クライアント装置10とのSSLハンドシェイク時に作成した共通鍵で暗号化する。そして、そのデータをクライアント装置10に送信する(ステップS801)。
(ユーザ同意確認処理)
図12は、図4におけるユーザ同意確認処理(ステップS600)の処理の流れを詳しく示した図である。ユーザ同意確認処理とは、ゲートウェイサーバ装置30で暗号通信を終端し、中継することについて、ユーザの同意を得るための処理である。
まず、ゲートウェイサーバ装置30のHTTPプロキシ処理部301(図3参照)は、クライアント装置10に対し、暗号通信処理部303をSSLサーバとするURLにリダイレクト指示を送信する。具体例としては、以下のようなHTTP応答ステータスを応答する(ステップS601)。
“HTTP/1.1 302 Found
Location: https://GatewayServer:443/…
…”
ここでは、Locationフィールドで示された値が、リダイレクト指示先のURLを示す。リダイレクト先のURLのホスト名は、暗号通信処理部303を有するゲートウェイサーバ装置30を表すホスト名とする。また、URLのスキームは、SSLなどの暗号化通信を表す“https”とする。URLのパス部分は、あってもなくてもよい。また、暗号通信処理部303は、ここでユーザ同意確認ページを動的に作成し、そのページに対応するパス文字列も同時に作成しておき、パスとユーザ同意確認ページを対応付ける管理表を持っていてもよい。
次に、HTTPプロキシ処理部301は、クライアント装置10から、ステップS601で指示されたリダイレクト先URLの宛先サーバ、すなわち、ゲートウェイサーバ装置30自身に対するCONNECTを受信する(ステップS602)。
次に、HTTPプロキシ処理部301は、図4で示したCONNECT受信処理を行う(ステップS603)。ここで、暗号化通信設定データベース401には、予め、ゲートウェイサーバ装置30宛のCONNECTメソッドは、End−End SSL暗号化通信処理を行うような設定をしておく。具体的には、サーバ名フィールド4011には暗号通信処理部303を有するゲートウェイサーバ装置30を表すホスト名“Gateway Server”、通信方法フィールド4012には“End-End SSL”通信方法、クライアントIPアドレスフィールド4013および有効期限4014には“指定無し”、暗号通信中継許可証フィールド4015および秘密鍵フィールド4016には“データ無し”、というエントリ4019をあらかじめ作成しておく。
これにより、HTTPプロキシ処理部301は、ここで受信したCONNECTメソッドをゲートウェイサーバ装置30自身宛の“End-End SSL”通信方法の接続要求であると判定する。そして、HTTPプロキシ処理部301は、暗号通信処理部303との間でデータの受け渡しを行うための処理を行う。以降は、暗号通信処理部303が、クライアント装置10と通信を行う。HTTPプロキシ処理部301は、暗号通信処理部303から受け渡されたデータを、そのまま、または、クライアント装置10とHTTPプロキシ処理部301との通信用のHTTPヘッダの追加や削除をおこなってから、クライアント装置10に送信する。そして、クライアント装置10から受信したデータを、同様に、暗号通信処理部303に受け渡す。
次に、暗号通信処理部303は、クライアント装置10に対して、CONNECTメソッドに対する応答を送信した後、SSLハンドシェイク処理を行う(ステップS604、S605)。そして、ステップS601で指示したリダイレクト先URLに対するアクセス要求を、暗号化された状態で受信し(ステップS606)、それを復号化する。
次に、暗号通信処理部303は、クライアント装置10に対して、ユーザ同意確認ページをSSLで暗号化し、送信する(ステップS607、S608)。ユーザ同意確認ページとは、クライアント装置10のブラウザで、ゲートウェイサーバ装置30で暗号通信を終端し中継することについて、ユーザの同意確認を行うためのコンテンツである。ユーザの同意が得られた場合は、ゲートウェイサーバ装置30に対して、ユーザの同意を示すパラメータを含むアクセス要求が、暗号化された状態で送信される(ステップS609)。
ユーザの同意が得られなかった場合は、アクセス要求が送られてこないか、または、ユーザの拒否を示すパラメータを含むアクセス要求が暗号化された状態で送信される。暗号通信処理部303が拒否パラメータつきのアクセス要求を受信した場合は、暗号通信の中継ができない旨の応答を行ってもよい。また、さらに、その時のCONNECT先サーバ装置名を記憶しておき、その後、クライアント装置10からCONNECTメソッドを受信した場合に、CONNECT先コンテンツサーバ装置20が以前同ユーザによって拒否されていた場合に、一定時間、アクセス拒否を示す応答を行ってもよい。
ステップS609でアクセス要求を受信した際に、ステップS607でユーザ同意確認ページを応答してから、所定の制限時間が経過していた場合には(ステップS610でNO)、エラー処理を行う(ステップS109)。そうでない場合には(ステップS610でYES)、暗号通信処理部303は、ゲートウェイサーバ装置30のルートCA証明書(自己署名証明書)を暗号化し、クライアント装置10に送信する(ステップS611、S612)。
ここで、ダウンロードしたルートCA証明書をクライアント装置10のブラウザにインストールするようにユーザに指示する文言を、同意確認ページの中か、または、ルートCA証明書を送信する前に用意しておいた他のページの中かに含ませることによって、ユーザにダウンロードしたルートCA証明書をクライアント装置10のブラウザにインストールするように指示してもよい。そして、ユーザ同意確認処理を終了する。
図13は、ユーザ同意確認処理において使用されるユーザ同意確認ページの例を示した図である。
同意確認ページは、クライアント装置10が同意確認ページを受信した際に、クライアント装置10のブラウザがディスプレイ101に、同意確認のための文言102を表示するように記述されたコンテンツである。具体例としては、HTMLページがあげられるが、テキスト文書ではなく、文言102を表示するアプリケーションでもよい。文言102は、例えば、ゲートウェイサーバ装置30での暗号通信の終端および復号化(Split SSL通信)を許可するかどうかをユーザに選択させるようなメッセージである。
(補足:付加価値処理の例)
図14は、本実施形態において付加価値処理を行う例を示した図である。
本実施形態においては、HTTPプロキシ処理部301が、ステップS406(図8参照)の処理にて復号化した、平文の通信データ601を解析し、特定データ配列602が含まれているかどうか検索する。図14の例では、“Layer7#Tunneling#Protocol/1.0”という文字列を検索している。ここで、特定データ配列602は複数種類あってもよい。HTTPプロキシ処理部301が、復号化済み通信データ601の中に特定データ配列602が含まれていることを検知した場合は、その接続を切断する。または、暗号化したエラー応答を送信したのち、その接続を切断する。
すなわち、クライアント装置10がコンテンツサーバ装置20をアクセスするときのアクセス要求の内容を解析し、不正な目的の通信を検知したり、遮断したりすることができる。同様にすれば、クライアント装置10からコンテンツサーバ装置20へ送信される通信データ601についても、その内容を解析することができるので、例えば、イントラネット内で秘密文書として管理されている文書が不正にまたは誤ってイントラネットの外へ送信されることを防ぐことができる。
さらに、HTTPプロキシ処理部301が、ステップS503(図9参照)の処理で復号化した通信データ601を解析した後、当該通信データが画像ファイルであった場合には、ステップS504の処理として画像変換を行う。例えば、Webブラウザがあるフォーマットの画像ファイルをサポートしていない場合、HTTPプロキシ処理部301が、Webブラウザがサポートしている他のフォーマットの画像ファイルに変換する。または、画像ファイルのサイズを、クライアント装置10のディスプレイの解像度に応じて変更する等の処理を行う。
同様に、コンテンツサーバ装置20から送信され、復号化された通信データ601を解析することにより、ウイルスやその他有害な情報を検出することができる。そのような有害情報を検出する処理を付加価値処理としてもよい。その場合には、クライアント装置10が接続されるイントラネットへの有害情報の侵入を防ぐことができる。
(第1実施形態における作用および効果)
本実施形態においては、クライアント装置10とゲートウェイサーバ装置30との間、および、ゲートウェイサーバ装置30とコンテンツサーバ装置20との間では、それぞれ暗号化通信が行われる。そのため、クライアント装置10とコンテンツサーバ装置20と間の通信のセキュリティを保つことができる。
また、本実施形態においては、クライアント装置10とコンテンツサーバ装置20との間で行われるEnd−End暗号化通信を、ゲートウェイサーバ装置30において、いったん暗号化通信を終端し、暗号化された通信メッセージを平文に戻す。そのため、通信メッセージの中にウイルスや秘密文書の検出処理を行うことができ、また、コンテンツデータのキャッシングや、HTTPヘッダおよびデータの追加、変換、削除などの処理を行うことができる。
クライアント装置10のブラウザによっては、サーバ公開鍵証明書の検証が失敗すると、コンテンツサーバ装置20が信頼できない旨の警告メッセージを表示するが、ユーザが警告の意味を理解せずに、警告を無視してアクセスを行うケースがある。本実施形態では、ステップS414において、サーバ公開鍵証明書の検証をゲートウェイサーバ装置30が代理で行い、検証失敗時にエラー処理(ステップS109)を行うことにより、信頼できないコンテンツサーバ装置20へのアクセスを未然に防ぐことが可能となる。
また、クライアント装置10のブラウザによっては、ルートCAによって信頼されていないCAが発行したサーバ公開鍵証明書をクライアント装置10がダウンロードした場合には、クライアント装置10のブラウザが証明書検証時に警告メッセージを発してユーザに通知することがある。さらに、そのサーバ公開鍵証明書が示すコンテンツサーバ装置20への暗号化通信でのアクセスを拒否するブラウザもある。本実施形態では、ユーザ同意確認処理(ステップS600)を行うようにしたため、ユーザが、ゲートウェイサーバ装置30のルートCA証明書をクライアント装置10のブラウザにインストールすることになるので、以降、ゲートウェイサーバ装置30が生成した暗号通信中継許可証4015をダウンロードしたときに表示される警告メッセージの表示を、抑止することができる。また、証明書検証が失敗したときに暗号化通信を拒否するブラウザでは、ゲートウェイサーバ装置30との暗号化通信を行うことができるようになる。
本実施形態においては、ゲートウェイサーバ装置30またはデータベースサーバ装置40が悪意のある第三者に攻撃され、侵入された場合には、暗号化通信に用いる秘密鍵や共通鍵などを悪意のある第三者に盗まれる可能性がある。そこで、ユーザ同意確認処理を行うことによって、ユーザに対し、暗号化通信データの盗聴および改竄などの危険性が残ることを明示的に通知することができる。ユーザがそのような危険性を許容できない場合や、ユーザがゲートウェイサーバ装置30での暗号化通信の終端および復号化を望んでいない場合には、ユーザは、ユーザ同意確認処理における警告メッセージの回答として、Split SSL処理を実行しないというユーザ自身の選択をすることができる。
または、暗号化通信設定データベース401において、サーバ名フィールド4011に対する通信方法フィールド4012の設定をユーザが変更可能とすることで、ユーザが宛先サーバごとにEnd−End暗号化通信とSplit−SSL暗号化通信のどちらを用いるかを選択することができる。その利点として、ユーザの意思や通信内容に応じて、安全性と利便性のどちらかをユーザ自身が選択できる。例えば、ユーザがクレジットカード番号をサーバへ送信するといってケースなどで、ユーザが安全性を重視したい場合は、End−End暗号化通信を設定すればよい。逆に、ゲートウェイサーバ装置30にて、ある画像コンテンツをWebブラウザの特性に応じて画像変換させるなど、ユーザが利便性を重視したい場合は、Split−SSL暗号化通信をユーザ自身が設定すればよい。
また、本実施形態において、データベースサーバ装置40をゲートウェイサーバ装置30から独立させ、ゲートウェイサーバ装置30を複数台並べた場合には、ゲートウェイサーバ装置30の負荷分散を図ることができる。そして、クライアント装置10からのトラフィック量に応じて、ゲートウェイサーバ装置30を増設することができるため、データベースサーバ装置40が性能限界になるまで、本発明を適用したネットワークシステムをスケーラブルに拡大することができる。
<第2の実施形態>
次に、本発明の第2の実施形態について、図15を参照して、詳しく説明する。
図15は、クライアントをグループ化して代理認証する場合のSplit SSL暗号化通信処理の流れを示した図である。本実施形態においては、ゲートウェイサーバ装置30は、クライアント装置10に対して、クライアント認証を行った後、コンテンツサーバ装置20に対して、クライアント装置10のクライアント証明書とは異なる他のクライアント証明書(クライアント代理証明書)を用いて、クライアント装置10に応じたクライアント認証を行う。
図15において、ゲートウェイサーバ装置30の暗号通信処理部303(図3参照)は、クライアント装置10に対して、CONNECTメソッドに対する応答を送信した後、SSLハンドシェイク処理を行う(ステップS403〜S405)。このSSLハンドシェイク処理において、暗号通信処理部303は、ステップS404を行った後、クライアント装置10からクライアント証明書を受信し(ステップS416)、クライアント認証処理を行う(ステップS417)。その後、ゲートウェイサーバ装置30は、クライアントの分類処理を行う(ステップS418)。
クライアントの分類処理の例としては、あるクライアントAはあるコンテンツサーバAにはアクセスできるが、コンテンツサーバBにはアクセスできないとし、また他のクライアントBはコンテンツサーバAとBの両方にアクセスできるものとする。ここで、クライアントAからのクライアント証明書を受信した場合はクライアント種別Aと分類し、クライアントBからのクライアント証明書を受信した場合では、クライアント種別Bと分類する。
暗号通信処理部303は、ステップS405でクライアント装置10とのSSLハンドシェイク処理を終えると、今度は、コンテンツサーバ装置20との間でTCP接続を行う(ステップS411)。そして、コンテンツサーバ装置20との間でSSLハンドシェイク処理を行う(ステップS412、すなわち、ステップS4121〜S4125)。ここで、暗号通信処理部303は、コンテンツサーバ装置20とのサーバ認証処理(ステップS4122)を終えた後に、ステップS418でのクライアント分類に応じたクライアント代理証明書を選択する(ステップS4123)。例えば、先の例で、クライアント装置10がクライアントAであれば、クライアント種別A用のクライアント代理証明書を選択する。
次に、暗号通信処理部303は、コンテンツサーバ装置20に対しクライアント認証を行うときに、クライアント装置10のクライアント証明書の代わりに、ステップS4123で選択したクライアント代理証明書をコンテンツサーバ装置20に送信する(ステップS4124)。そして、それ以降は、通常のSSLハンドシェイク処理を行い(ステップS4124,S4125)、さらに続けて、SSL暗号化通信中継処理を行う(ステップS415)。
本実施形態においては、コンテンツサーバ装置20つまりコンテンツ提供者側が、すべてのクライアントのクライアント認証を行う必要が無くなり、ゲートウェイサーバ装置30が管理するクライアントに対してネットワーク運用者側が提供するクライアント種別分のクライアント認証のみ行えばよいことになる。例えば、1000万人が加入するISPのネットワークシステムがあった場合、従来は、コンテンツ提供者側が1000万人を区別してクライアントを認証するために、コンテンツサーバ装置20(コンテンツ提供者)は、1000万人を認証するための大規模な認証管理システムが必要であった。一方、本実施形態においては、ゲートウェイサーバ装置30で一括してクライアント認証を代理で行うため、コンテンツ提供者は、小規模の認証システムを導入するだけで済む。
本発明が適用されるネットワークシステムの構成を模式的に示した図である。 本発明が適用されるネットワークシステムにおいて用いられる情報処理装置の構成を示した図である。 本発明の第1の実施形態におけるゲートウェイサーバ装置およびデータベースサーバ装置の構成を示した図である。 本発明の第1の実施形態においてクライアント装置とコンテンツサーバ装置との間のSSL暗号化通信をゲートウェイサーバ装置が中継する処理の流れを示した図である。 図4における暗号化通信設定データベースへのサーバ検索処理(ステップS002)の処理の流れを詳しく示した図である。 図4における暗号化通信設定データベースへのサーバ登録処理(ステップS010)の処理の流れを詳しく示した図である。 図4における暗号化通信設定データベースへのサーバ削除処理(ステップS008)の処理の流れを詳しく示した図である。 図4におけるSplit SSL暗号化通信処理(ステップS006)の処理の流れを詳しく示した図である。 図8におけるSSL暗号化通信中継処理(ステップS415)の処理の流れを詳しく示した図である。 図8におけるエラー処理(ステップS109)の処理の流れを詳しく示した図である。 図8におけるキャッシュ応答処理(ステップS408)の処理の流れを詳しく示した図である。 図4におけるユーザ同意確認処理(ステップS600)の処理の流れを詳しく示した図である。 図12のユーザ同意確認処理において使用されるユーザ同意確認ページの例を示した図である。 本発明の第1の実施形態において付加価値処理を行う例を示した図である。 本発明の第2の実施形態においてクライアントをグループ化して代理認証する場合のSplit SSL暗号化通信処理の流れを示した図である。
符号の説明
10 クライアント装置
20 コンテンツサーバ装置
30 ゲートウェイサーバ装置
40 データベースサーバ装置
50 ネットワーク
301 HTTPプロキシ処理部
302 認証局サーバ部
303 暗号通信処理部
304 鍵管理部
401 暗号化通信設定データベース
1000 情報処理装置
1001 CPU
1002 メモリ
1003 可搬記憶媒体読取装置
1004 通信装置
1005 補助記憶装置
1006 入出力装置
1008 可搬記憶媒体
4011 サーバ名フィールド
4012 通信方法フィールド
4013 クライアントIPアドレスフィールド
4014 有効期限フィールド
4015 暗号通信中継許可証フィールド
4016 秘密鍵フィールド

Claims (10)

  1. 利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置における暗号化通信の中継方法であって、
    前記ゲートウェイサーバ装置が、
    一時的な暗号通信中継許可証と、秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、暗号化通信方法名とを登録するデータベースを備え、
    前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第1のステップと、
    前記暗号化通信接続メッセージに含まれる前記コンテンツサーバ装置のホスト名またはIPアドレス、及び前記クライアント装置のIPアドレスの両方を検索キーとして前記データベースを検索し、その結果、
    前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、
    前記登録情報から前記コンテンツサーバ装置に対する前記一時的な暗号通信中継許可証及び前記秘密鍵を読み出し、
    前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、
    前記コンテンツサーバ装置に対して、前記一時的な暗号通信中継許可証及び前記秘密鍵を生成し、前記一時的な暗号通信中継許可証と、前記秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、前記暗号化通信方法名とを前記データベースに登録する第2のステップと、
    前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第3のステップと、
    前記クライアント装置との間でEnd−End暗号化通信を行い、前記クライアント装置が送信する暗号化されたアクセス要求メッセージを受信、更に復号化して平文のアクセス要求メッセージに変換する第4のステップと、
    前記コンテンツサーバ装置とEnd−End暗号化通信を行い、通信ヘッダ情報及び前記コンテンツ情報を取得する第5のステップと、
    取得した前記通信ヘッダ情報及びコンテンツ情報に対して付加価値処理を行い、更に暗号化して前記クライアント装置へ送信する第6のステップと
    を実行すること特徴とする暗号化通信の中継方法。
  2. 請求項1に記載の暗号化通信の中継方法において、
    前記データベースが、前記ゲートウェイサーバ装置とは異なる他の情報処理装置上に構成されたデータベースであること
    を特徴とする暗号化通信の中継方法。
  3. 請求項1ないし請求項2のいずれかの一項に記載の暗号化通信の中継方法において、
    前記ゲートウェイサーバ装置は、前記第1のステップを実行後に、さらに、
    前記クライアント装置から送信される暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換することに対する前記クライアント装置の利用者の同意を得るための同意確認表示情報を、前記クライアント装置に送信し、前記利用者の同意確認を意味するアクセス要求を前記クライアント装置から受信した場合には、前記暗号通信中継許可証を検証するためのルート認証局証明書を前記クライアント装置に送信する第7のステップ
    を実行すること
    を特徴とする暗号化通信の中継方法。
  4. 請求項1ないし請求項3のいずれかの一項に記載の暗号化通信の中継方法において、
    前記ゲートウェイサーバ装置は、
    前記第5のステップにおいて、前記コンテンツサーバ装置がクライアント認証を行うときに、前記クライアント装置が送信したクライアント証明書の代わりに、前記クライアント装置をグループ化し、そのグループに応じて生成したクライアント代理証明書を送信すること
    を特徴とする暗号化通信の中継方法。
  5. 利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置であって、
    前記ゲートウェイサーバ装置は、
    一時的な暗号通信中継許可証と、秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、暗号化通信方法名とを登録するデータベースを備え、
    前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第1の手段と、
    前記暗号化通信接続メッセージに含まれる前記コンテンツサーバ装置のホスト名またはIPアドレス、及び前記クライアント装置のIPアドレスの両方を検索キーとして前記データベースを検索し、その結果、
    前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、
    前記登録情報から前記コンテンツサーバ装置に対する前記一時的な暗号通信中継許可証及び前記秘密鍵を読み出し、
    前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、
    前記コンテンツサーバ装置に対して、前記一時的な暗号通信中継許可証及び前記秘密鍵を生成し、前記一時的な暗号通信中継許可証と、前記秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、前記暗号化通信方法名とを前記データベースに登録する第2の手段と、
    前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第3の手段と、
    前記クライアント装置との間でEnd−End暗号化通信を行い、前記クライアント装置が送信する暗号化されたアクセス要求メッセージを受信、更に復号化して平文のアクセス要求メッセージに変換する第4の手段と、
    前記コンテンツサーバ装置とEnd−End暗号化通信を行い、通信ヘッダ情報及び前記コンテンツ情報を取得する第5の手段と、
    取得した前記通信ヘッダ情報及びコンテンツ情報に対して付加価値処理を行い、更に暗号化して前記クライアント装置へ送信する第6の手段とを備えること
    を特徴とするゲートウェイサーバ装置。
  6. 請求項5に記載のゲートウェイサーバ装置において、
    前記データベースが、前記ゲートウェイサーバ装置とは異なる他の情報処理装置上に構成されたデータベースであること
    を特徴とするゲートウェイサーバ装置。
  7. 請求項5ないし請求項6のいずれかの一項に記載のゲートウェイサーバ装置において、
    前記ゲートウェイサーバ装置は、さらに、
    前記クライアント装置から送信される暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換することに対する前記クライアント装置の利用者の同意を得るための同意確認表示情報を、前記クライアント装置に送信し、前記利用者の同意確認を意味するアクセス要求を前記クライアント装置から受信した場合には、前記暗号通信中継許可証を検証するためのルート認証局証明書を前記クライアント装置に送信する第7の手段を備えること
    を特徴とするゲートウェイサーバ装置。
  8. 請求項5ないし請求項7のいずれかの一項に記載のゲートウェイサーバ装置において、
    前記ゲートウェイサーバ装置は、
    前記第5の手段は、前記コンテンツサーバ装置がクライアント認証を行うときに、前記クライアント装置が送信したクライアント証明書の代わりに、前記クライアント装置をグループ化し、そのグループに応じて生成したクライアント代理証明書を送信すること
    を特徴とするゲートウェイサーバ装置。
  9. 利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置において実行される暗号化通信の中継プログラムであって、
    前記ゲートウェイサーバ装置が、
    一時的な暗号通信中継許可証と、秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、暗号化通信方法名とを登録するデータベースを備え、
    前記ゲートウェイサーバ装置に、
    前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第1のステップと、
    前記暗号化通信接続メッセージに含まれる前記コンテンツサーバ装置のホスト名またはIPアドレス、及び前記クライアント装置のIPアドレスの両方を検索キーとして前記データベースを検索し、その結果、
    前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、
    前記登録情報から前記コンテンツサーバ装置に対する前記一時的な暗号通信中継許可証及び前記秘密鍵を読み出し、
    前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、
    前記コンテンツサーバ装置に対して、前記一時的な暗号通信中継許可証及び前記秘密鍵を生成し、前記一時的な暗号通信中継許可証と、前記秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、前記暗号化通信方法名とを前記データベースに登録する第2のステップと、
    前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第3のステップと、
    前記クライアント装置との間でEnd−End暗号化通信を行い、前記クライアント装置が送信する暗号化されたアクセス要求メッセージを受信、更に復号化して平文のアクセス要求メッセージに変換する第4のステップと、
    前記コンテンツサーバ装置とEnd−End暗号化通信を行い、通信ヘッダ情報及び前記コンテンツ情報を取得する第5のステップと、
    取得した前記通信ヘッダ情報及びコンテンツ情報に対して付加価値処理を行い、更に暗号化して前記クライアント装置へ送信する第6のステップと
    を実行させることを特徴とする
    暗号化通信の中継プログラム。
  10. 利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置において実行される暗号化通信の中継プログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、
    前記ゲートウェイサーバ装置が、
    一時的な暗号通信中継許可証と、秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、暗号化通信方法名とを登録するデータベースを備え、
    前記ゲートウェイサーバ装置に、
    前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第1のステップと、
    前記暗号化通信接続メッセージに含まれる前記コンテンツサーバ装置のホスト名またはIPアドレス、及び前記クライアント装置のIPアドレスの両方を検索キーとして前記データベースを検索し、その結果、
    前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、
    前記登録情報から前記コンテンツサーバ装置に対する前記一時的な暗号通信中継許可証及び前記秘密鍵を読み出し、
    前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、
    前記コンテンツサーバ装置に対して、前記一時的な暗号通信中継許可証及び前記秘密鍵を生成し、前記一時的な暗号通信中継許可証と、前記秘密鍵と、前記秘密鍵の有効期限と、前記コンテンツサーバ装置のホスト名と、前記クライアント装置のIPアドレスと、前記暗号化通信方法名とを前記データベースに登録する第2のステップと、
    前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第3のステップと、
    前記クライアント装置との間でEnd−End暗号化通信を行い、前記クライアント装置が送信する暗号化されたアクセス要求メッセージを受信、更に復号化して平文のアクセス要求メッセージに変換する第4のステップと、
    前記コンテンツサーバ装置とEnd−End暗号化通信を行い、通信ヘッダ情報及び前記コンテンツ情報を取得する第5のステップと、
    取得した前記通信ヘッダ情報及びコンテンツ情報に対して付加価値処理を行い、更に暗号化して前記クライアント装置へ送信する第6のステップと
    を実行させる暗号化通信の中継プログラムを記憶した
    ことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2004350099A 2004-12-02 2004-12-02 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体 Expired - Fee Related JP4520840B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004350099A JP4520840B2 (ja) 2004-12-02 2004-12-02 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体
EP05026251A EP1667398B1 (en) 2004-12-02 2005-12-01 Method and apparatus for encrypted end-to-end communications
CN2005101257517A CN1783778B (zh) 2004-12-02 2005-12-01 网关服务器、及加密通信的中继方法
DE602005007310T DE602005007310D1 (de) 2004-12-02 2005-12-01 Verfahren und Vorrichtung zur verschlüsselten Ende-zu-Ende Kommunikation
US11/291,929 US7849306B2 (en) 2004-12-02 2005-12-02 Relay method of encryption communication, gateway server, and program and program memory medium of encryption communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004350099A JP4520840B2 (ja) 2004-12-02 2004-12-02 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体

Publications (3)

Publication Number Publication Date
JP2006165678A JP2006165678A (ja) 2006-06-22
JP2006165678A5 JP2006165678A5 (ja) 2006-08-31
JP4520840B2 true JP4520840B2 (ja) 2010-08-11

Family

ID=35985242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004350099A Expired - Fee Related JP4520840B2 (ja) 2004-12-02 2004-12-02 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体

Country Status (5)

Country Link
US (1) US7849306B2 (ja)
EP (1) EP1667398B1 (ja)
JP (1) JP4520840B2 (ja)
CN (1) CN1783778B (ja)
DE (1) DE602005007310D1 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7197661B1 (en) 2003-12-05 2007-03-27 F5 Networks, Inc. System and method for dynamic mirroring of a network connection
ES2577291T3 (es) * 2006-06-27 2016-07-14 Waterfall Security Solutions Ltd. Enlaces unidireccionales seguros desde y hacia un motor de seguridad
IL177756A (en) * 2006-08-29 2014-11-30 Lior Frenkel Encryption-based protection against attacks
US9154557B2 (en) * 2006-10-12 2015-10-06 Cisco Technology, Inc. Automatic proxy registration and discovery in a multi-proxy communication system
JP2008129673A (ja) * 2006-11-17 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証システム、ユーザ認証方法、それに用いるゲートウェイ及びプログラムとその記録媒体
US9055107B2 (en) * 2006-12-01 2015-06-09 Microsoft Technology Licensing, Llc Authentication delegation based on re-verification of cryptographic evidence
IL180020A (en) 2006-12-12 2013-03-24 Waterfall Security Solutions Ltd Encryption -and decryption-enabled interfaces
IL180748A (en) * 2007-01-16 2013-03-24 Waterfall Security Solutions Ltd Secure archive
KR100867130B1 (ko) * 2007-02-23 2008-11-06 (주)코리아센터닷컴 보안 데이터 송수신 시스템 및 방법
US8549157B2 (en) 2007-04-23 2013-10-01 Mcafee, Inc. Transparent secure socket layer
US8650389B1 (en) * 2007-09-28 2014-02-11 F5 Networks, Inc. Secure sockets layer protocol handshake mirroring
US8223205B2 (en) 2007-10-24 2012-07-17 Waterfall Solutions Ltd. Secure implementation of network-based sensors
CN101500230B (zh) * 2008-01-30 2010-12-08 华为技术有限公司 建立安全关联的方法和通信网络
US8566580B2 (en) 2008-07-23 2013-10-22 Finjan, Inc. Splitting an SSL connection between gateways
CN102227904A (zh) * 2008-10-01 2011-10-26 特维里奥公司 电话网络事件的系统和方法
JP2011081762A (ja) * 2009-03-10 2011-04-21 Ricoh Co Ltd 機器設定装置及び機器設定装置における機器再設定方法
CN102045317B (zh) * 2009-10-15 2016-06-08 华为技术有限公司 实现多方通信的方法、装置及系统
EP2456158B1 (en) * 2010-11-16 2016-06-01 BlackBerry Limited Apparatus, system and method for verifying server certificates
US9264235B2 (en) * 2010-11-16 2016-02-16 Blackberry Limited Apparatus, system and method for verifying server certificates
US9104882B2 (en) * 2010-12-07 2015-08-11 Comcast Cable Communications, Llc Reconfigurable access network encryption architecture
JP5569440B2 (ja) * 2011-03-11 2014-08-13 ブラザー工業株式会社 通信装置およびコンピュータプログラム
US9998545B2 (en) * 2011-04-02 2018-06-12 Open Invention Network, Llc System and method for improved handshake protocol
WO2013011730A1 (ja) * 2011-07-21 2013-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書を処理する装置及び方法
CN102984115B (zh) * 2011-09-02 2016-03-16 中国长城计算机深圳股份有限公司 一种网络安全方法、及客户端服务器
CN103188224A (zh) * 2011-12-29 2013-07-03 北京中文在线数字出版股份有限公司 一种wap内容授权阅览方法
US9635037B2 (en) 2012-09-06 2017-04-25 Waterfall Security Solutions Ltd. Remote control of secure installations
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US8739243B1 (en) 2013-04-18 2014-05-27 Phantom Technologies, Inc. Selectively performing man in the middle decryption
US9419975B2 (en) 2013-04-22 2016-08-16 Waterfall Security Solutions Ltd. Bi-directional communication over a one-way link
US9021575B2 (en) 2013-05-08 2015-04-28 Iboss, Inc. Selectively performing man in the middle decryption
WO2014196963A1 (en) * 2013-06-04 2014-12-11 Intel Corporation End-to-end secure communication system
WO2014196964A1 (en) 2013-06-04 2014-12-11 Intel Corporation Application integrity protection via secure interaction and processing
US9009461B2 (en) 2013-08-14 2015-04-14 Iboss, Inc. Selectively performing man in the middle decryption
WO2015080661A1 (en) * 2013-11-28 2015-06-04 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangements for intermediary node discovery during handshake
JP6451086B2 (ja) * 2014-05-29 2019-01-16 ブラザー工業株式会社 中継装置、サービス実行システム、及びプログラム
JP6226080B2 (ja) 2014-09-25 2017-11-08 日本電気株式会社 通信制御装置、通信制御方法、通信制御プログラム、及び、情報システム
CN107077432B (zh) * 2014-09-29 2020-04-14 阿卡麦科技公司 Https请求充实
IL235175A (en) 2014-10-19 2017-08-31 Frenkel Lior Secure desktop remote control
WO2016141549A1 (zh) * 2015-03-10 2016-09-15 华为技术有限公司 数据传输方法和设备
JP6529820B2 (ja) * 2015-05-13 2019-06-12 株式会社 インターコム 通信装置及びプログラム
US20160381061A1 (en) * 2015-06-28 2016-12-29 Check Point Software Technologies Ltd. Proxy for mitigation of attacks exploiting misconfigured or compromised web servers
US11283774B2 (en) * 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
US10887314B2 (en) * 2015-09-29 2021-01-05 Verisign, Inc. Access control for named domain networking
SG11201804616VA (en) * 2015-12-23 2018-07-30 Nagravision Sa Secure provisioning, by a client device, cryptographic keys for exploiting services provided by an operator
IL250010B (en) 2016-02-14 2020-04-30 Waterfall Security Solutions Ltd Secure connection with protected facilities
US9680801B1 (en) 2016-05-03 2017-06-13 Iboss, Inc. Selectively altering references within encrypted pages using man in the middle
US10904069B2 (en) * 2016-11-29 2021-01-26 Brother Kogyo Kabushiki Kaisha Communication apparatus executing specific process related to security
US11100250B2 (en) 2017-09-05 2021-08-24 Philips Healthcare Informatics, Inc. Controlling access to data in a health network
JP7203297B2 (ja) * 2017-09-27 2023-01-13 有限会社シモウサ・システムズ エンドツーエンド暗号化通信システム
US10778642B2 (en) * 2017-12-23 2020-09-15 Mcafee, Llc Decrypting transport layer security traffic without man-in-the-middle proxy
CN110830413B (zh) * 2018-08-07 2023-09-26 京东科技控股股份有限公司 通信方法、客户端、服务器、通信装置和系统
EP3900280A1 (en) * 2018-12-21 2021-10-27 Telefonaktiebolaget Lm Ericsson (Publ) User data traffic handling
JP7241620B2 (ja) * 2019-06-21 2023-03-17 APRESIA Systems株式会社 認証スイッチ、ネットワークシステムおよびネットワーク装置
US11356423B2 (en) * 2020-01-14 2022-06-07 Cisco Technology, Inc. Managing encrypted server-name-indication (ESNI) at proxy devices
US11361112B2 (en) * 2020-07-07 2022-06-14 Mastercard International Incorporated Managing secure document exchanges
JP2022020143A (ja) * 2020-07-20 2022-02-01 富士通株式会社 通信プログラム、通信装置、及び通信方法
US11647067B2 (en) * 2021-03-05 2023-05-09 Zscaler, Inc. Cached web probes for monitoring user experience
US11528601B1 (en) 2021-06-09 2022-12-13 T-Mobile Usa, Inc. Determining and ameliorating wireless telecommunication network functionalities that are impaired when using end-to-end encryption
CN113507479B (zh) * 2021-07-23 2022-11-08 上海颜硕信息科技有限公司 针对web代码和数据的网关型加解密透明sdk方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503963A (ja) * 1999-06-30 2003-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスコーディング・プロキシでの複数の起点サーバへの動的接続
JP2003124926A (ja) * 2001-10-15 2003-04-25 Hitachi Ltd 暗号化通信システムにおける認証処理方法及びそのシステム
US20030131259A1 (en) * 2002-01-10 2003-07-10 Barton Christopher Andrew Transferring data via a secure network connection
JP2004206573A (ja) * 2002-12-26 2004-07-22 Toshiba Corp データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6550012B1 (en) * 1998-12-11 2003-04-15 Network Associates, Inc. Active firewall system and methodology
US6643701B1 (en) * 1999-11-17 2003-11-04 Sun Microsystems, Inc. Method and apparatus for providing secure communication with a relay in a network
US6324648B1 (en) * 1999-12-14 2001-11-27 Gte Service Corporation Secure gateway having user identification and password authentication
US7149803B2 (en) * 2000-06-08 2006-12-12 At&T Corp. Method for content distribution in a network supporting a security protocol
US6963972B1 (en) * 2000-09-26 2005-11-08 International Business Machines Corporation Method and apparatus for networked information dissemination through secure transcoding
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US6996841B2 (en) * 2001-04-19 2006-02-07 Microsoft Corporation Negotiating secure connections through a proxy server
US6986047B2 (en) * 2001-05-10 2006-01-10 International Business Machines Corporation Method and apparatus for serving content from a semi-trusted server
US7430755B1 (en) * 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US20040255037A1 (en) * 2002-11-27 2004-12-16 Corvari Lawrence J. System and method for authentication and security in a communication system
US7506368B1 (en) * 2003-02-13 2009-03-17 Cisco Technology, Inc. Methods and apparatus for network communications via a transparent security proxy
US8615795B2 (en) * 2003-06-25 2013-12-24 Ntrepid Corporation Secure network privacy system
US7584500B2 (en) * 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
WO2005060202A1 (en) * 2003-12-10 2005-06-30 International Business Machines Corporation Method and system for analysing and filtering https traffic in corporate networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503963A (ja) * 1999-06-30 2003-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスコーディング・プロキシでの複数の起点サーバへの動的接続
JP2003124926A (ja) * 2001-10-15 2003-04-25 Hitachi Ltd 暗号化通信システムにおける認証処理方法及びそのシステム
US20030131259A1 (en) * 2002-01-10 2003-07-10 Barton Christopher Andrew Transferring data via a secure network connection
JP2004206573A (ja) * 2002-12-26 2004-07-22 Toshiba Corp データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム

Also Published As

Publication number Publication date
US20060136724A1 (en) 2006-06-22
CN1783778B (zh) 2011-03-30
US7849306B2 (en) 2010-12-07
JP2006165678A (ja) 2006-06-22
DE602005007310D1 (de) 2008-07-17
CN1783778A (zh) 2006-06-07
EP1667398B1 (en) 2008-06-04
EP1667398A1 (en) 2006-06-07

Similar Documents

Publication Publication Date Title
JP4520840B2 (ja) 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体
EP3438902B1 (en) System for issuing public certificate on basis of block chain, and method for issuing public certificate on basis of block chain by using same
US10554420B2 (en) Wireless connections to a wireless access point
US7702899B2 (en) Method and apparatus for verifying revocation status of a digital certificate
US8316429B2 (en) Methods and systems for obtaining URL filtering information
US11829502B2 (en) Data sharing via distributed ledgers
US20220078017A1 (en) Authorized Data Sharing Using Smart Contracts
US20060294366A1 (en) Method and system for establishing a secure connection based on an attribute certificate having user credentials
US20180294980A1 (en) Management of secret data items used for server authentication
WO2007110951A1 (ja) ユーザ確認装置、方法及びプログラム
JP2005522937A (ja) コンピュータ・ネットワークでセキュリティ情報を変更する方法とシステム
CN107347073B (zh) 一种资源信息处理方法
WO2016112580A1 (zh) 业务处理方法及装置
CN111049789B (zh) 域名访问的方法和装置
JP4552785B2 (ja) 暗号化通信管理サーバ
WO2019234801A1 (ja) サービス提供システム及びサービス提供方法
JP2012181662A (ja) アカウント情報連携システム
JP6783527B2 (ja) 電子鍵再登録システム、電子鍵再登録方法およびプログラム
JP2005222488A (ja) ユーザ認証システム、情報配信サーバ、およびユーザ認証方法
Jeong et al. An XML-based single sign-on scheme supporting mobile and home network service environments
WO2017024588A1 (zh) 业务处理方法及装置
JP6920614B2 (ja) 本人認証装置、本人認証システム、本人認証プログラム、および、本人認証方法
CN116366274A (zh) 处理访问控制的装置、方法及系统
Jain et al. Cryptographic Assessment of SSL/TLS Servers Popular in India
JP2001195373A (ja) エージェント実行装置、エージェント管理装置、エージェント処理システム、エージェント実行方法およびエージェント管理方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060601

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100521

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees