JP4879347B2 - Relay processing device, relay processing method and program - Google Patents

Relay processing device, relay processing method and program Download PDF

Info

Publication number
JP4879347B2
JP4879347B2 JP2010256742A JP2010256742A JP4879347B2 JP 4879347 B2 JP4879347 B2 JP 4879347B2 JP 2010256742 A JP2010256742 A JP 2010256742A JP 2010256742 A JP2010256742 A JP 2010256742A JP 4879347 B2 JP4879347 B2 JP 4879347B2
Authority
JP
Japan
Prior art keywords
communication
processing device
ssl
relay
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010256742A
Other languages
Japanese (ja)
Other versions
JP2011151785A (en
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.)
Canon IT Solutions Inc
Original Assignee
Canon IT Solutions Inc
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 Canon IT Solutions Inc filed Critical Canon IT Solutions Inc
Priority to JP2010256742A priority Critical patent/JP4879347B2/en
Priority to CN2010106052124A priority patent/CN102118386B/en
Publication of JP2011151785A publication Critical patent/JP2011151785A/en
Application granted granted Critical
Publication of JP4879347B2 publication Critical patent/JP4879347B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、中継処理装置、中継処理方法及びプログラムに関し、特に、暗号化通信によるデータを中継する際に、当該データを検査可能にすると共に、真正な証明書に基づき通信相手の真正性を確認するための技術に関するものである。   The present invention relates to a relay processing apparatus, a relay processing method, and a program, and in particular, when relaying data by encrypted communication, the data can be inspected and the authenticity of a communication partner is confirmed based on a genuine certificate. It is about the technology to do.

近年、インターネットを介した情報交換が活発になるにつれて、ウィルス・マルウェアによる被害や、企業などにおける顧客情報、営業機密等の情報漏洩による社会的信用の失墜や賠償請求による金銭的損失など、情報セキュリティにかかわる問題が深刻化している。   In recent years, as information exchange via the Internet has become active, information security such as damage caused by viruses and malware, loss of social credibility due to customer information in companies, leakage of information such as trade secrets, and monetary loss due to claims for compensation The problem related to is getting worse.

このような問題に対して、ファイアーウォールやアンチウィルスソフトをはじめとするソフトウェア、情報処理装置によって対策がとられるのが一般的になっている。   In general, countermeasures against such problems are taken by firewalls, antivirus software and other software, and information processing devices.

特に、インターネットの利用の大半を占めるWeb通信においては、企業などの組織では、ファイアーウォール、URLフィルタリングソフト、アンチウィルスソフト、コンテンツフィルタリングソフト等のシステムによって、業務外利用と考えられるサイトへのアクセス禁止、ダウンロードデータのウィルス検査・駆除、情報漏えいと考えられる外部送信データのアクセス制御等の対策が実施されている。   In particular, in web communications, which accounts for the majority of Internet usage, organizations such as corporations are prohibited from accessing sites that are considered to be used outside of work by systems such as firewalls, URL filtering software, antivirus software, and content filtering software. Measures such as virus inspection / disinfection of downloaded data and access control of externally transmitted data, which is considered to be information leakage, are being implemented.

これらの対策は、利用者の端末装置において実施されるとともに、組織内のネットワークとインターネットとの境界領域に設置された中継処理システムにおいて、中継されるデータの内容を検査することによって実現されている。   These measures are implemented in the user terminal device, and are realized by inspecting the contents of the relayed data in the relay processing system installed in the boundary area between the network in the organization and the Internet. .

しかしながら、Webの通信プロトコルであるHTTPなどに対して暗号化機能を提供するSSL(Secure Socket Layer)・TLS(Transport Layer Security)通信に関しては、クライアント端末(単にクライアントとも言う)とサーバの間で通信されるデータが暗号化されている。上記のようなセキュリティを管理する中継処理システムでは、当該暗号化されたデータをトンネルリング(素通し)することでしか処理できないため、通信内容を検査することができず、どのようなアプリケーションプロトコルで接続しているのか、どのような情報を送信しているのか、どのような情報をダウンロードしているか、を中継処理システムにおいて検査・制御することができない。   However, with regard to SSL (Secure Socket Layer) / TLS (Transport Layer Security) communication that provides an encryption function for HTTP, which is a Web communication protocol, communication between a client terminal (also simply referred to as a client) and a server. Data to be encrypted is encrypted. In the relay processing system that manages the security as described above, the encrypted data can only be processed by tunneling (through), so the communication contents cannot be inspected, and any application protocol is used for connection. The relay processing system cannot inspect and control what information is being transmitted, what information is being transmitted, and what information is being downloaded.

このため、組織内外の境界領域において防御壁としてセキュリティを高めるネットワークセキュリティシステム(中継処理システムなど)にとっては、通信内容の詳細な検査とアクセス制御が適用できずにいわば抜け穴となってしまっている。   For this reason, a network security system (such as a relay processing system) that enhances security as a defensive wall in the boundary area inside and outside the organization is a loophole because it cannot apply detailed inspection of communication contents and access control.

このような問題点に対する解決策として、中間者(man−in−the−middle)手法といわれる方式(中間者方式)によって、暗号化通信の内容を中継処理システムにおいて一旦平文に戻した上で通信データの検査を実施することが、非特許文献1に記載されている。   As a solution to such a problem, communication is performed after the content of encrypted communication is once returned to plain text in the relay processing system by a method called a man-in-the-middle method (man-in-the-middle method). Non-Patent Document 1 describes that data inspection is performed.

通常のプロキシサーバにおいては、SSL(TLSを含む)上のHTTP通信(HTTPS)を中継する場合、一方(例えばクライアントとプロキシサーバとの間)のトランスポート層コネクションと、もう一方(例えばプロキシサーバとWebサーバとの間)のトランスポート層コネクションを両方向に橋渡し(トンネリング)することで実現しており、この時、SSLコネクションはクライアントとWebサーバ間で確立されている。   In a normal proxy server, when relaying HTTP communication (HTTPS) over SSL (including TLS), one (for example, between a client and a proxy server) transport layer connection and the other (for example, a proxy server) This is realized by bridging (tunneling) the transport layer connection between the Web server and the Web server. At this time, the SSL connection is established between the client and the Web server.

これに対し、中間者方式では、クライアントとプロキシサーバとの間で1つのSSLコネクションを確立し、他方のプロキシサーバとWebサーバとの間でも別のSSLコネクションを確立し、両SSLコネクションとの間でアプリケーション層データ(HTTPトランザクションデータ)を橋渡しすることで中継処理を実現している。このような形態をとることにより、中継処理システムは、暗号化された中継データ(通信データ)を一旦、復号することができ、復号化された平文データに対して検査等の処理を行うことが可能になっている。   On the other hand, in the intermediary method, one SSL connection is established between the client and the proxy server, and another SSL connection is established between the other proxy server and the Web server. Thus, relay processing is realized by bridging application layer data (HTTP transaction data). By adopting such a form, the relay processing system can once decrypt the encrypted relay data (communication data) and perform processing such as inspection on the decrypted plaintext data. It is possible.

また、特許文献1には、中間者方式をベースにして、クライアントがサーバ認証のために受け取る一時的な暗号通信中継許可証を、通信時にWebサーバのホストに基づいてプロキシサーバが作成し、クライアントに提供することが記載されている。   In Patent Document 1, a proxy server creates a temporary encryption communication relay permit that a client receives for server authentication based on a man-in-the-middle system based on a host of a Web server during communication. It is described that it provides.

Eric Rescorla著「マスタリングTCP/IP SSL(TLSを含む)編」オーム社 第1版 「9.16.2 man−in−the−middleプロキシ」Eric Rescorla, “Mastering TCP / IP SSL (including TLS)”, Ohmsha 1st edition “9.16.2 man-in-the-middle proxy” 特開2006−165678号公報JP 2006-165678 A

しかしながら、非特許文献1では、クライアント側のSSLコネクション(クライアント端末とプロキシサーバとの間でのSSLコネクション)とWebサーバ側のSSLコネクション(プロキシサーバとWebサーバとの間でのSSLコネクション)とが互いに独立して異なっているため、クライアント端末がWebサーバのサーバ公開鍵証明書を取得することができず、SSL(TLSを含む)が提供するサーバ認証を該Webサーバに対して実行することが出来ない。   However, in Non-Patent Document 1, there is an SSL connection on the client side (SSL connection between the client terminal and the proxy server) and an SSL connection on the Web server side (SSL connection between the proxy server and the Web server). Since they are different from each other, the client terminal cannot acquire the server public key certificate of the Web server, and server authentication provided by SSL (including TLS) may be executed for the Web server. I can't.

すなわち、クライアント端末は、中継処理装置(プロキシサーバ)との間のSSLコネクションで提供される中継処理装置のサーバ公開鍵証明書をWebサーバの証明書として取得してしまうため、真正な証明書に基づき通信相手の真正性を確認することが難しい。このサーバ公開鍵証明書は中継処理装置のものであるので、通常は1つに固定化され、通信先であるWebサーバが異なる場合でも常に同じ証明書がクライアント端末に提供されてしまうためである。   That is, since the client terminal acquires the server public key certificate of the relay processing device provided by the SSL connection with the relay processing device (proxy server) as the certificate of the Web server, It is difficult to confirm the authenticity of the communication partner based on this. This server public key certificate is for the relay processing apparatus, so it is usually fixed to one, and the same certificate is always provided to the client terminal even when the communication destination Web server is different. .

また同様に、Webサーバは、SSL(TLSを含む)の機能であるクライアント認証をクライアント端末に対して実行できない。Webサーバは、中継処理装置との間のSSLコネクションで提供される中継処理装置のクライアント公開鍵証明書をクライアントの証明書として取得することしか出来ない。それゆえ、Webサーバは、真正な証明書に基づきクライアント端末の真正性を確認することが難しい。   Similarly, the Web server cannot execute client authentication, which is a function of SSL (including TLS), on the client terminal. The Web server can only acquire the client public key certificate of the relay processing apparatus provided by the SSL connection with the relay processing apparatus as the client certificate. Therefore, it is difficult for the Web server to confirm the authenticity of the client terminal based on the authentic certificate.

SSL(TLSを含む)が提供するサーバ認証機能およびクライアント認証機能は、通信相手が正しい通信相手であるかを認証するための仕組みであり、悪意がある第三者がサーバやクライアント端末へのなりすましを行えないようにするため機能である。例えば、上記従来技術のように、サーバ認証が有効に働かないと、利用者がサーバ側のなりすましを発見することができず、本来の意図とは違う悪意のあるサーバへ機密情報、個人情報などを送信するなどの脆弱性が生じてしまう。   The server authentication function and client authentication function provided by SSL (including TLS) is a mechanism for authenticating whether a communication partner is a correct communication partner, and a malicious third party impersonates a server or client terminal. It is a function to prevent you from being able to perform. For example, as in the above prior art, if server authentication does not work effectively, the user cannot find the impersonation on the server side, and confidential information, personal information, etc. to a malicious server different from the original intention Vulnerabilities such as sending

また、上記特許文献1では、クライアント端末がサーバ認証のために受け取る一時的な暗号通信中継許可証を、通信時にWebサーバのホスト名に基づいてプロキシサーバが作成し、クライアント端末に提供していることが記載されている。しかしながら、この暗号通信中継許可証も依然として、本来の接続先であるWebサーバが有する真のサーバ公開鍵証明書とは異なる。   Further, in Patent Document 1, a temporary encryption communication relay permit received by a client terminal for server authentication is created by a proxy server based on the host name of the Web server during communication and provided to the client terminal. It is described. However, this encrypted communication relay permit is still different from the true server public key certificate of the Web server that is the original connection destination.

すなわち、クライアント端末は、プロキシサーバが作り出して提示される、本物とは異なるサーバ公開鍵証明書を、Webサーバのサーバ公開鍵証明書として取得する。それゆえ、クライアント端末は、利用者はWebサーバが有する真のサーバ公開鍵証明書を確認また検証することができず、Webサーバのなりすましを防ぐ機能が有効に働かなくなっているといえる。   That is, the client terminal obtains a server public key certificate that is created and presented by the proxy server and is different from the real one as the server public key certificate of the Web server. Therefore, it can be said that the client terminal cannot confirm and verify the true server public key certificate possessed by the Web server, and the function of preventing the Web server spoofing does not work effectively.

また、上記特許文献1では、クライアント認証に関しても、プロキシサーバが備えるクライアント公開鍵証明書をWebサーバに提示するという方法が提案されているが、クライアント端末が記憶している、クライアント端末のクライアント公開鍵証明書を、Webサーバに提供することができない。このため、情報提供処理装置においても真のクライアント認証を実施することができない。   Also, in the above-mentioned Patent Document 1, a method of presenting a client public key certificate included in a proxy server to a Web server is also proposed for client authentication. However, client disclosure of a client terminal stored in the client terminal is proposed. The key certificate cannot be provided to the Web server. For this reason, true client authentication cannot be performed even in the information provision processing device.

すなわち、クライアントとプロキシサーバとの間のSSLコネクションと、Webサーバとプロキシサーバとの間のSSLコネクションとを独立して確立し、クライアント端末とWEBサーバとが、プロキシサーバを介して暗号化通信を行う場合に、SSLの通信規約により、各SSLコネクションを確立する際に送受信される公開鍵証明書は、各SSLコネクションを確立する各装置間の公開鍵証明書である。それゆえ、SSLの通信規約を変更しない限り、クライアント端末は、真正な証明書に基づき通信相手(クライアント端末とWebサーバ)の真正性を確認することは出来ない。   In other words, an SSL connection between the client and the proxy server and an SSL connection between the Web server and the proxy server are established independently, and the client terminal and the WEB server perform encrypted communication via the proxy server. When performing, according to the SSL communication protocol, the public key certificate transmitted and received when establishing each SSL connection is a public key certificate between the apparatuses establishing each SSL connection. Therefore, unless the SSL communication protocol is changed, the client terminal cannot confirm the authenticity of the communication partner (client terminal and Web server) based on the authentic certificate.

また、例えば、プロキシサーバが、プロキシサーバで検査するために一旦復号されたデータに、他のデータを追加して、SSLの規約に基づき暗号化して、クライアント端末に送信することや、プロキシサーバで記憶されているWEBサーバのサーバ公開鍵証明書を、SSLの規約に基づき暗号化して、クライアント端末に送信すること等が考えられるが、これを実現するためには、SSLの規約(SSLプロトコル)を拡張しなければ実現することはできない。   For example, the proxy server adds other data to the data once decrypted for inspection by the proxy server, encrypts the data based on the SSL protocol, and transmits it to the client terminal. It is conceivable that the server public key certificate of the stored WEB server is encrypted based on the SSL protocol and transmitted to the client terminal. In order to realize this, the SSL protocol (SSL protocol) is considered. It cannot be realized without extending.

なぜなら、SSLプロトコルは、通信エンドポイント間での通信データの暗号化とエンティティ認証を提供することを目的とするものであり、プロキシサーバのような通信エンドポイント(クライアントとWebサーバ)以外の通信エンティティを認証するための仕組みは規定されておらず、SSLコネクションのクライアント側エンティティの公開鍵証明書(クライアント端末の公開鍵証明書)とサーバ側エンティティの公開鍵証明書(Webサーバの公開鍵証明書)以外の公開鍵証明書を交換する方法は規定されていないからである。また、SSL通信でデータがカプセル化されるHTTPSプロトコルにおいても、プロキシサーバとWebサーバとのSSL通信を確立する際にプロキシサーバが取得したWebサーバのサーバ公開鍵証明書の情報を、プロキシサーバがクライアント端末に送信するための方法が規定されていないからである。   This is because the SSL protocol is intended to provide communication data encryption and entity authentication between communication endpoints, and a communication entity other than a communication endpoint (client and Web server) such as a proxy server. Is not defined, and the public key certificate of the client side entity of the SSL connection (public key certificate of the client terminal) and the public key certificate of the server side entity (public key certificate of the Web server) This is because a method for exchanging public key certificates other than () is not defined. Also, in the HTTPS protocol in which data is encapsulated by SSL communication, the proxy server obtains information on the server public key certificate of the Web server acquired by the proxy server when establishing SSL communication between the proxy server and the Web server. This is because the method for transmitting to the client terminal is not defined.

そのため、従来、暗号化通信の各通信規約を変更することなく、暗号化通信によるデータを中継する際に、当該データを検査可能にし、真正な証明書に基づき通信相手の真正性を確認することは困難であった。   Therefore, conventionally, when relaying data by encrypted communication without changing each communication protocol of encrypted communication, the data can be inspected and the authenticity of the communication partner is confirmed based on the authentic certificate. Was difficult.

本発明は上記の課題を解決するためになされたものであり、その目的は、暗号化通信によるデータを中継する際に、当該データを検査可能にすると共に、真正な証明書に基づき通信相手の真正性を確認できる仕組みを提供することである。   The present invention has been made in order to solve the above-described problems. The purpose of the present invention is to make it possible to inspect the data when relaying data by encrypted communication, and to communicate with the other party based on a genuine certificate. It is to provide a mechanism for confirming authenticity.

本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、前記第2確立手段で第2のSSL通信を確立する際に前記情報処理装置から取得される前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記クライアント端末に送信する送信手段と、前記通信確立手段で確立した制御通信を用いて前記クライアント端末から前記クライアント端末の公開鍵証明書を取得する取得手段と、前記取得手段で取得したクライアント端末の公開鍵証明書を、前記第2確立手段で第2のSSL通信を確立する際に用いられる前記中継処理装置の公開鍵証明書として前記情報処理装置に送信する公開鍵送信手段と、を備えることを特徴とする。
The present invention is a relay processing device that relays communication data communicated between a client terminal and an information processing device, and relays the communication data communicated between the client terminal and the information processing device. Therefore, communication is performed between the client terminal and the information processing apparatus, and first establishment means for establishing first SSL communication used for communication of the communication data between the relay processing apparatus and the client terminal. In order to relay the communication data, second establishment means for establishing second SSL communication used in communication of the communication data between the relay processing device and the information processing device, the relay processing device, and the client terminal Communication establishment means for establishing control communication separately from the first SSL communication, and the information when the second SSL communication is established by the second establishment means The public key certificate of the information processing apparatus is acquired from the management apparatus, using the established control communication by the communication establishing means, and transmitting means for transmitting to said client terminal, control communication established with said communication establishing means The second SSL communication unit establishes a second SSL communication with the acquisition unit that acquires the public key certificate of the client terminal from the client terminal using the client and the public key certificate of the client terminal acquired by the acquisition unit And a public key transmitting means for transmitting to the information processing apparatus as a public key certificate of the relay processing apparatus used when performing the processing .

また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置の中継処理方法であって、前記中継処理装置の第1確立手段が、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立工程と、前記中継処理装置の前記第2確立手段が、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立工程と、前記中継処理装置の通信確立手段が、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立工程と、前記中継処理装置の送信手段が、前記第2確立工程で第2のSSL通信を確立する際に前記情報処理装置から取得される前記情報処理装置の公開鍵証明書を、前記通信確立工程により確立された制御通信を用いて、前記クライアント端末に送信する送信工程と、前記中継処理装置の取得手段が、前記通信確立工程で確立した制御通信を用いて前記クライアント端末から前記クライアント端末の公開鍵証明書を取得する取得工程と、前記中継処理装置の公開鍵送信手段が、前記取得工程で取得したクライアント端末の公開鍵証明書を、前記第2確立工程で第2のSSL通信を確立する際に用いられる前記中継処理装置の公開鍵証明書として前記情報処理装置に送信する公開鍵送信工程と、を備えることを特徴とする。
The present invention is also a relay processing method of a relay processing device for relaying communication data communicated between a client terminal and an information processing device, wherein the first establishing means of the relay processing device includes the client terminal and A first establishment step of establishing a first SSL communication used for communication of the communication data between the relay processing device and the client terminal in order to relay the communication data communicated with the information processing device And the second establishing means of the relay processing device relays the communication data communicated between the client terminal and the information processing device, so that the relay processing device and the information processing device A second establishing step for establishing a second SSL communication used in communication data communication; and a communication establishing means of the relay processing device includes the relay processing device and the client terminal Establishing the control communication separately from the first SSL communication, and when the transmission means of the relay processing device establishes the second SSL communication in the second establishing step, the information processing the public key certificate of the information processing apparatus is acquired from the device, using the control communication established by the communication establishing step, a transmission step of transmitting to said client terminal, acquisition means of the relay processing unit, wherein An acquisition step of acquiring the public key certificate of the client terminal from the client terminal using the control communication established in the communication establishment step, and a public key transmission unit of the relay processing device of the client terminal acquired in the acquisition step The public key certificate is transmitted to the information processing apparatus as the public key certificate of the relay processing apparatus used when establishing the second SSL communication in the second establishing step. Characterized in that it comprises a public key transmission step.

また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置で読み取り実行可能なプログラムであって、前記中継処理装置を、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、前記第2確立手段で第2のSSL通信を確立する際に前記情報処理装置から取得される前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記クライアント端末に送信する送信手段と、前記通信確立手段で確立した制御通信を用いて前記クライアント端末から前記クライアント端末の公開鍵証明書を取得する取得手段と、前記取得手段で取得したクライアント端末の公開鍵証明書を、前記第2確立手段で第2のSSL通信を確立する際に用いられる前記中継処理装置の公開鍵証明書として前記情報処理装置に送信する公開鍵送信手段として機能させることを特徴とする。
The present invention is also a program that can be read and executed by a relay processing device that relays communication data communicated between a client terminal and an information processing device, and the relay processing device is connected to the client terminal and the information processing device. First establishing means for establishing first SSL communication used for communication of the communication data between the relay processing device and the client terminal in order to relay the communication data communicated with the device; In order to relay the communication data communicated between the client terminal and the information processing device, a second SSL communication used for communication of the communication data between the relay processing device and the information processing device is established. Second establishment means; communication establishment means for establishing control communication between the relay processing device and the client terminal separately from the first SSL communication; The public key certificate of the information processing apparatus acquired from the information processing apparatus when the second establishment means establishes the second SSL communication, using the control communication established by the communication establishment means, Transmission means for transmitting to the client terminal, acquisition means for acquiring the public key certificate of the client terminal from the client terminal using control communication established by the communication establishment means, and disclosure of the client terminal acquired by the acquisition means the key certificate, be made to function as a public key transmission unit that transmits to the information processing apparatus as the public key certificate of the relay processing apparatus for use in establishing the second SSL communication by the second establishing means It is characterized by.

本発明によれば、暗号化通信によるデータを中継する際に、当該データを検査可能にすると共に、真正な証明書に基づき通信相手の真正性を確認できる。   According to the present invention, when relaying data by encrypted communication, the data can be inspected, and the authenticity of the communication partner can be confirmed based on the authentic certificate.

本発明の実施形態における中継処理システムの構成を示す図である。It is a figure which shows the structure of the relay processing system in embodiment of this invention. 本発明の実施形態における各種端末のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the various terminals in embodiment of this invention. 本発明の実施形態における中継処理装置の基本的な処理フローを示す図である。It is a figure which shows the basic processing flow of the relay processing apparatus in embodiment of this invention. 本発明の実施形態における利用者端末と中継処理装置の通信方式決定処理フローを示す図である。It is a figure which shows the communication system determination processing flow of the user terminal and relay processing apparatus in embodiment of this invention. 本発明の実施形態における利用者端末と中継処理装置のサーバ証明書検証処理フローを示す図である。It is a figure which shows the server certificate verification processing flow of the user terminal and relay processing apparatus in embodiment of this invention. 本発明の実施形態における利用者端末と中継処理装置のクライアント認証処理フローを示す図である。It is a figure which shows the client authentication processing flow of the user terminal and relay processing apparatus in embodiment of this invention. 本発明の実施形態における中継処理装置のAPデータ中継処理フローを示す図である。It is a figure which shows the AP data relay processing flow of the relay processing apparatus in embodiment of this invention. 本発明の実施形態における中継処理装置の通信方式決定表の例を示す図である。It is a figure which shows the example of the communication system determination table of the relay processing apparatus in embodiment of this invention. 本発明の実施形態における中継処理装置のプロキシ通信方式キャッシュ表の例を示す図である。It is a figure which shows the example of the proxy communication system cache table of the relay processing apparatus in embodiment of this invention. 本発明の実施形態における中継処理装置の代理通信セッション管理表の例を示す図である。It is a figure which shows the example of the proxy communication session management table | surface of the relay processing apparatus in embodiment of this invention. 本発明の実施形態における中継処理システムのSSLセッションを新規作成した場合の通信処理フローの例を示す図である。It is a figure which shows the example of a communication processing flow at the time of newly producing the SSL session of the relay processing system in embodiment of this invention. 本発明の実施形態における中継処理システムのSSLセッションの再利用を行った場合の通信処理フローの例を示す図である。It is a figure which shows the example of a communication processing flow at the time of reusing the SSL session of the relay processing system in embodiment of this invention. 本発明の実施形態における通信方式選択ダイアログボックスの例を示す図である。It is a figure which shows the example of the communication system selection dialog box in embodiment of this invention. 本発明の実施形態における通信方式選択ダイアログボックスの例を示す図である。It is a figure which shows the example of the communication system selection dialog box in embodiment of this invention. 本発明の実施形態におけるサーバ公開鍵証明書確認ダイアログボックスを示す図である。It is a figure which shows the server public key certificate confirmation dialog box in embodiment of this invention. 本発明の実施形態における利用者端末のクライアント通信方式キャッシュ表の例を示す図である。It is a figure which shows the example of the client communication system cache table of the user terminal in embodiment of this invention. 本発明の実施形態における利用者端末のサーバ証明書キャッシュ表の例を示す図である。It is a figure which shows the example of the server certificate cache table | surface of the user terminal in embodiment of this invention. 本発明の実施形態における利用者端末の閲覧処理部の表示画面の例を示す図である。It is a figure which shows the example of the display screen of the browsing process part of the user terminal in embodiment of this invention. 本発明における中継処理装置の機能ブロック図である。It is a functional block diagram of the relay processing device in the present invention. 本発明における中継処理装置の機能ブロック図である。It is a functional block diagram of the relay processing device in the present invention.

以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

<第1の実施形態>
(システムの構成と管理表)
図1は、本発明の実施形態における中継処理システムの構成を示す図である。
<First Embodiment>
(System configuration and management table)
FIG. 1 is a diagram showing a configuration of a relay processing system in an embodiment of the present invention.

尚、図1のネットワーク上に接続される各種端末と各種装置の構成は、一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。   Note that the configurations of various terminals and various devices connected to the network in FIG. 1 are merely examples, and it goes without saying that there are various configuration examples depending on applications and purposes.

中継処理システムは、利用者端末110と中継処理装置120と情報提供処理装置150から構成される。利用者端末110と中継処理装置120、中継処理装置120と情報提供処理装置150とはそれぞれネットワークを介して相互に通信可能に接続されている。   The relay processing system includes a user terminal 110, a relay processing device 120, and an information provision processing device 150. The user terminal 110 and the relay processing device 120, and the relay processing device 120 and the information provision processing device 150 are connected to each other via a network so that they can communicate with each other.

利用者端末110は、本発明のクライアント端末の適用例である。また、中継処理装置120は、本発明の中継処理装置の適用例である。また、情報提供処理装置150は、本発明の情報処理装置の適用例である。   The user terminal 110 is an application example of the client terminal of the present invention. The relay processing device 120 is an application example of the relay processing device of the present invention. The information provision processing device 150 is an application example of the information processing device of the present invention.

利用者端末110は、情報提供処理装置150が提供するコンテンツデータを取得し表示するために使用する情報処理装置である。利用者端末110は、閲覧処理部111と拡張機能処理部112と暗号鍵保存部113と管理表保存部114とCA証明書保存部115とを備えている。   The user terminal 110 is an information processing apparatus used for acquiring and displaying content data provided by the information provision processing apparatus 150. The user terminal 110 includes a browsing processing unit 111, an extended function processing unit 112, an encryption key storage unit 113, a management table storage unit 114, and a CA certificate storage unit 115.

閲覧処理部111は、一般にWebブラウザと呼ばれるHTTPプロトコル、HTTPSプロトコルのクライアントプログラムに相当する機能処理部である。閲覧処理部111は、利用者からの指示を受付け、中継処理装置120を経由して情報提供処理装置150へ通信要求メッセージを送信し、該通信要求メッセージに対して情報提供処理装置150から応答された通信応答メッセージを受信し、該通信応答メッセージを整形したものを利用者端末110のCRT210等に表示する機能を備えている。この時、閲覧処理部111と中継処理装置120のクライアント通信部121との間で開設される通信コネクションをプロキシ回線161とする。   The browsing processing unit 111 is a function processing unit that corresponds to a client program of an HTTP protocol or HTTPS protocol generally called a Web browser. The browsing processing unit 111 receives an instruction from the user, transmits a communication request message to the information provision processing device 150 via the relay processing device 120, and receives a response from the information provision processing device 150 to the communication request message. The communication response message is received, and the communication response message is shaped and displayed on the CRT 210 of the user terminal 110. At this time, a communication connection established between the browsing processing unit 111 and the client communication unit 121 of the relay processing device 120 is a proxy line 161.

ここで、プロキシ回線161(第1のSSL通信)は、利用者端末110と中継処理装置120との間で確立されるSSLによる暗号化通信であって、物理的な回線を示しているのではなく、暗号化通信を行う仮想的な(論理的な)通信を示している。プロキシ回線161(第1のSSL通信)は、後述する制御通信(制御回線162)とは、異なる通信である。   Here, the proxy line 161 (first SSL communication) is SSL-encrypted communication established between the user terminal 110 and the relay processing device 120, and does not indicate a physical line. Rather, virtual (logical) communication for performing encrypted communication is shown. The proxy line 161 (first SSL communication) is different from control communication (control line 162) described later.

暗号鍵保存部113は、利用者端末の公開鍵証明書に対応する秘密鍵を記憶する記憶領域である。   The encryption key storage unit 113 is a storage area for storing a secret key corresponding to the public key certificate of the user terminal.

閲覧処理部111は、情報提供処理装置150との間でHTTPSによる通信を行う場合で、かつ情報提供処理装置150からSSL(TLSを含む)のクライアント認証が要求された場合に、暗号鍵保存部113に記憶されている公開鍵証明書と秘密鍵を用いてクライアント認証要求に応答する機能を備えている。   The browsing processing unit 111 is an encryption key storage unit when performing HTTPS communication with the information provision processing device 150 and when SSL (including TLS) client authentication is requested from the information provision processing device 150. 113 has a function of responding to a client authentication request using the public key certificate and the private key stored in 113.

拡張機能処理部112は、閲覧処理部111と相互に接続されており、閲覧処理部111の通信処理に対して割り込み処理を実行する機能を備える。また、拡張機能処理部112は、中継処理装置120の制御処理通信部128と通信することができ、HTTPS通信要求イベント発生時に、該HTTPS通信の通信方式を中継処理装置へ問い合わせる機能と、問い合わせた結果情報を利用者へ提示し確認もしくは選択を求める機能と、前記確認もしくは選択の結果の情報を中継処理装置へ送信する機能を備える。さらに、拡張機能処理部112は、HTTPS通信時に通信先である情報提供処理装置150がもつサーバ公開鍵証明書を制御処理通信部128から取得する機能と、該サーバ公開鍵証明書を検証する機能を備えている。さらに、拡張機能処理部112は、HTTPS通信時に通信先である情報提供処理装置150がクライアント認証を要求した場合には、暗号鍵保存部113に記憶されているクライアント公開鍵証明書情報を制御処理通信部128へ送信する機能と制御処理通信部128から送信される署名対象データ(メッセージダイジェスト)を受信し、該署名対象データに対して暗号鍵保存部113に記憶されているクライアント秘密鍵によって署名を行う機能と該署名データを制御処理通信部128へ送信する機能とを備えている。拡張機能処理部112と中継処理装置120の制御処理通信部128との間で開設(確立)される通信コネクションを制御回線162とする。   The extended function processing unit 112 is connected to the browsing processing unit 111 and has a function of executing an interrupt process for the communication processing of the browsing processing unit 111. Further, the extended function processing unit 112 can communicate with the control processing communication unit 128 of the relay processing device 120. When an HTTPS communication request event occurs, the extended function processing unit 112 inquires about the communication method of the HTTPS communication to the relay processing device. A function of presenting result information to the user and requesting confirmation or selection, and a function of transmitting information on the result of confirmation or selection to the relay processing device are provided. Further, the extended function processing unit 112 acquires a server public key certificate possessed by the information providing processing device 150 that is a communication destination during HTTPS communication from the control processing communication unit 128, and a function to verify the server public key certificate It has. Further, the extended function processing unit 112 controls the client public key certificate information stored in the encryption key storage unit 113 when the information providing processing device 150 that is the communication destination requests client authentication during HTTPS communication. The function to be transmitted to the communication unit 128 and the control processing communication unit 128 receive signature target data (message digest) and sign the signature target data with the client private key stored in the encryption key storage unit 113 And a function of transmitting the signature data to the control processing communication unit 128. A communication connection established (established) between the extended function processing unit 112 and the control processing communication unit 128 of the relay processing device 120 is defined as a control line 162.

なお、制御回線162は、利用者端末110と中継処理装置120との間で、SSLによる暗号化通信の回線として開設(確立)される。これにより、利用者端末110は、中継処理装置120のなりすましを防止することが可能となる。   The control line 162 is established (established) as an encrypted communication line by SSL between the user terminal 110 and the relay processing device 120. Thereby, the user terminal 110 can prevent spoofing of the relay processing device 120.

すなわち、中継処理装置120は、利用者端末110との間で制御通信(制御回線162)を確立する(通信確立手段)。ここで、制御通信(制御回線162)は、利用者端末110と中継処理装置120との間で確立されるSSLによる暗号化通信のコネクションであって、物理的な回線を示しているのではなく、暗号化通信を行う仮想的な(論理的な)通信路を示している。   That is, the relay processing device 120 establishes control communication (control line 162) with the user terminal 110 (communication establishment means). Here, the control communication (control line 162) is a connection for encrypted communication by SSL established between the user terminal 110 and the relay processing device 120, and does not indicate a physical line. 2 shows a virtual (logical) communication path for performing encrypted communication.

中継処理装置120は、制御通信(制御回線162)の確立を、一般的なSSL通信の確立の手順で行う。   The relay processing device 120 establishes control communication (control line 162) according to a general SSL communication establishment procedure.

管理表保存部114は、クライアント通信方式キャッシュ表とサーバ証明書キャッシュ表を記憶する記憶領域である。   The management table storage unit 114 is a storage area for storing a client communication method cache table and a server certificate cache table.

(クライアント通信方式キャッシュ表の説明) (Explanation of client communication method cache table)

クライアント通信方式キャッシュ表は、図16で一例を示しているようなデータ構造もつ記憶領域である。各行のレコードは、利用者端末110の閲覧処理部111が特定の情報提供処理装置150との通信方式を決定した際に該通信方式を保持するためのものである。レコードは、サーバ識別子欄と決定日時欄と通信方式欄とをもつ。   The client communication system cache table is a storage area having a data structure as shown in FIG. Each row record is for holding the communication method when the browsing processing unit 111 of the user terminal 110 determines the communication method with the specific information provision processing device 150. The record has a server identifier column, a determination date column, and a communication method column.

サーバ識別子欄は、通信先となる情報提供処理装置150を識別するための情報提供処理装置150のホスト名とTCPポート番号の組み合わせを保存する場所である。決定日時欄は、通信方式が決定された日時情報を保存する場所である。通信方式欄は、決定された通信方式を保存する場所である。   The server identifier column is a place for storing a combination of the host name and TCP port number of the information provision processing device 150 for identifying the information provision processing device 150 as a communication destination. The determined date / time column is a place where the date / time information on which the communication method is determined is stored. The communication method column is a place where the determined communication method is stored.

通信方式欄に保存される値としては、”直接”と”代理”との2つの種類がある。”直接”は、中継処理装置120において、HTTPS通信のSSLコネクションを終端せずに通常プロキシサーバにおいて行われるようにトンネリングする処理が行われることを意味する値である。”代理”は、中継処理装置120において、HTTPS通信のSSLコネクションを終端する中間者方式で処理されることを意味する値である。   There are two types of values stored in the communication method column: “direct” and “proxy”. “Direct” is a value that means that the relay processing apparatus 120 performs a tunneling process so as to be performed in a normal proxy server without terminating an SSL connection of HTTPS communication. The “proxy” is a value that means that the relay processing device 120 performs processing in the middleman method that terminates the SSL connection of HTTPS communication.

クライアント通信方式キャッシュ表(図16)が保持している各レコードは、その決定日時の情報に基づきキャッシュがクリア(削除)される。例えば、利用者端末110により、各レコードが定期的に検査され、決定日時欄の値が検査日時と比較され適当に決められた有効時間(例えば6時間)以上古い日時を表している場合には削除される。また、利用者端末110の閲覧処理部111に相当するブラウザプロセスが終了した時には、表(図16)のすべてのレコードが削除されるものとする。   For each record held in the client communication method cache table (FIG. 16), the cache is cleared (deleted) based on the information of the determination date. For example, when each record is periodically inspected by the user terminal 110 and the value in the determination date / time column is compared with the inspection date / time, the date / time indicates a date that is older than an appropriately determined effective time (for example, 6 hours). Deleted. Also, when the browser process corresponding to the browsing processing unit 111 of the user terminal 110 is completed, all records in the table (FIG. 16) are deleted.

利用者端末110は、情報提供処理装置150へのアクセス要求があった時、クライアント通信方式キャッシュ表を参照し、該情報提供処理装置150との通信方式に関する情報の再利用が可能であれば、利用者に都度通信方式の確認または選択させる処理を行わずに通信を開始することができる。   When the user terminal 110 receives an access request to the information provision processing device 150, the user terminal 110 refers to the client communication method cache table, and if the information regarding the communication method with the information provision processing device 150 can be reused, Communication can be started without performing a process for allowing the user to check or select the communication method each time.

(サーバ証明書キャッシュ表の説明) (Explanation of server certificate cache table)

サーバ証明書キャッシュ表は、図17で一例を示しているようなデータ構造もつ記憶領域である。各行のレコードは、利用者端末110が代理方式でアクセスしたことがある特定の情報提供処理装置150との通信時に使用したSSLセッションID(単にセッションIDとも言う)とサーバ公開鍵証明書を保持するためのものである。レコードは、サーバ識別子欄と最終利用日時欄とセッションID欄とサーバ証明書欄とをもつ。   The server certificate cache table is a storage area having a data structure as shown in FIG. Each row record holds an SSL session ID (also simply referred to as a session ID) and a server public key certificate used when communicating with a specific information provision processing device 150 that the user terminal 110 has accessed in a proxy manner. Is for. The record has a server identifier field, a last use date / time field, a session ID field, and a server certificate field.

サーバ識別子欄は、通信した情報提供処理装置150を識別するための情報で情報提供処理装置150のホスト名とTCPポート番号の組み合わせを保存する場所である。最終利用日時欄は、該レコードによって表される通信処理を実施した日時情報を保存する場所である。セッションID欄は、前記通信で中継処理装置120から通知されたSSLセッションIDの値を保存する場所である。サーバ証明書欄は、前記通信で中継処理装置120から取得した情報提供処理装置150のサーバ公開鍵証明書を保存する場所である。   The server identifier column is information for identifying the information providing processing device 150 that has communicated, and is a place where a combination of the host name and TCP port number of the information providing processing device 150 is stored. The last use date and time column is a place where the date and time information on which the communication process represented by the record is performed is stored. The session ID column is a place where the value of the SSL session ID notified from the relay processing device 120 in the communication is stored. The server certificate column is a place where the server public key certificate of the information provision processing device 150 acquired from the relay processing device 120 by the communication is stored.

サーバ証明書キャッシュ表が保持している各レコードは、定期的に検査され、通常ブラウザ等のソフトウェアである閲覧処理部111が管理しているSSLセッションキャッシュ情報(ブラウザがSSLセッション再開処理のためにキャッシュしている情報)と突き合わせ処理を行い、SSLセッションキャッシュ情報の中に同じセッションIDが存在しない場合には、該レコードは削除される。   Each record held in the server certificate cache table is periodically inspected, and SSL session cache information managed by the browsing processing unit 111, which is usually software such as a browser (for the browser to resume SSL session) If the same session ID does not exist in the SSL session cache information, the record is deleted.

利用者端末110が情報提供処理装置150に対して、中継処理装置120を経由して代理方式でアクセスする時で、かつ利用者端末110と中継処理装置120とのSSLセッションでセッション再開機能が利用された場合に、利用者端末110がサーバ証明書キャッシュ表を参照することにより、利用者端末110を操作する利用者による、前記情報提供処理装置150のサーバ公開鍵証明書の確認のための内容表示要求に対して、都度、中継処理装置120へアクセスすることなくサーバ証明書キャッシュ表のサーバ証明書欄の値を使って表示処理を行うことができる。すなわち、利用者端末110は、中継処理装置120へアクセスすることなくサーバ証明書キャッシュ表のサーバ証明書欄の値を表示することができる。   When the user terminal 110 accesses the information provision processing device 150 in a proxy manner via the relay processing device 120, the session resumption function is used in the SSL session between the user terminal 110 and the relay processing device 120. When the user terminal 110 refers to the server certificate cache table, the contents for confirming the server public key certificate of the information provision processing device 150 by the user operating the user terminal 110 In response to a display request, display processing can be performed using the value in the server certificate column of the server certificate cache table without accessing the relay processing device 120 each time. That is, the user terminal 110 can display the value in the server certificate column of the server certificate cache table without accessing the relay processing device 120.

CA証明書保存部115は、情報提供処理装置150のサーバ公開鍵証明書を検証する際に用いる利用者端末110が信頼するCA証明書を記憶する記憶領域である。   The CA certificate storage unit 115 is a storage area for storing a CA certificate trusted by the user terminal 110 used when verifying the server public key certificate of the information provision processing device 150.

中継処理装置120は、一般にプロキシサーバと呼ばれるプログラムまたは装置がもつ機能を備える情報処理装置である。中継処理装置120は、利用者端末110から送信される通信要求メッセージを受信し、宛先である情報提供処理装置150へ該通信要求メッセージを中継し、該情報提供処理装置150から応答される通信応答メッセージを、該利用者端末110へ中継することができる。   The relay processing device 120 is an information processing device having a function of a program or device generally called a proxy server. The relay processing device 120 receives the communication request message transmitted from the user terminal 110, relays the communication request message to the information providing processing device 150 that is the destination, and responds to the communication response from the information providing processing device 150. The message can be relayed to the user terminal 110.

中継処理装置120は、クライアント通信部121と、サーバ通信部122と、クライアント側暗号処理部123と、通信制御部124と、サーバ側暗号処理部125と、代理用暗号鍵保存部126と、サーバ暗号鍵保存部127と、制御処理通信部128と、管理表保存部129と、付加機能処理部130と、CA証明書保存部131と、から構成される。   The relay processing device 120 includes a client communication unit 121, a server communication unit 122, a client side encryption processing unit 123, a communication control unit 124, a server side encryption processing unit 125, a proxy encryption key storage unit 126, and a server. The encryption key storage unit 127 includes a control processing communication unit 128, a management table storage unit 129, an additional function processing unit 130, and a CA certificate storage unit 131.

クライアント通信部121は、利用者端末110の閲覧処理部111から接続要求を受け付け、通信要求メッセージを受信し、通信応答メッセージを閲覧処理部111に送信する機能を備える。   The client communication unit 121 has a function of accepting a connection request from the browsing processing unit 111 of the user terminal 110, receiving a communication request message, and transmitting a communication response message to the browsing processing unit 111.

サーバ通信部122は、情報提供処理装置150のサーバ処理部151へ接続し、通信要求メッセージを送信し、通信応答メッセージをサーバ処理部151から受信する機能を備える。   The server communication unit 122 has a function of connecting to the server processing unit 151 of the information provision processing device 150, transmitting a communication request message, and receiving a communication response message from the server processing unit 151.

クライアント側暗号処理部123は、中継処理装置120における通信方式が代理方式の場合に、利用者端末110の閲覧処理部111との通信回線(プロキシ回線161)において、SSL(TLSを含む)を確立するためのサーバ側処理を行う機能を備える。   The client-side cryptographic processing unit 123 establishes SSL (including TLS) in the communication line (proxy line 161) with the browsing processing unit 111 of the user terminal 110 when the communication method in the relay processing device 120 is the proxy method. A function for performing server-side processing is provided.

通信制御部124は、クライアント通信部121が行う処理と、クライアント側暗号処理部123が行う処理と、付加機能処理部130が行う処理と、サーバ通信部122が行う処理と、サーバ側暗号処理部125が行う処理と、制御処理通信部128が行う処理と、の間で同期制御処理を行う機能をもつ。また、通信制御部124は、該同期制御処理において関連する情報を、管理表保存部129へ記憶させる機能と、管理表保存部129を参照する機能と、を備えている。   The communication control unit 124 includes a process performed by the client communication unit 121, a process performed by the client side cryptographic processing unit 123, a process performed by the additional function processing unit 130, a process performed by the server communication unit 122, and a server side cryptographic processing unit. It has a function of performing synchronous control processing between the processing performed by 125 and the processing performed by the control processing communication unit 128. In addition, the communication control unit 124 has a function of storing information related to the synchronization control process in the management table storage unit 129 and a function of referring to the management table storage unit 129.

サーバ側暗号処理部125は、中継処理装置120における通信方式が代理方式の場合に、情報提供処理装置150のサーバ処理部151との通信回線(サーバ回線163)において、SSL(TLSを含む)コネクションのクライアント側処理を行う機能を備える。   When the communication method in the relay processing device 120 is a proxy method, the server-side encryption processing unit 125 performs an SSL (including TLS) connection in a communication line (server line 163) with the server processing unit 151 of the information providing processing device 150. A function for performing client side processing is provided.

ここで、サーバ回線163(第2のSSL通信)は、中継処理装置120と情報提供処理装置150との間で確立されるSSLによる暗号化通信であって、物理的な回線を示しているのではなく、暗号化通信を行う仮想的な(論理的な)通信である。   Here, the server line 163 (second SSL communication) is SSL encrypted communication established between the relay processing device 120 and the information providing processing device 150, and indicates a physical line. Instead, it is a virtual (logical) communication that performs encrypted communication.

図1の例では、1つの物理的な通信回線を介して利用者端末110と中継処理装置120が相互に通信可能に接続されている。また、図1の例では、中継処理装置120と情報提供処理装置150とが相互に通信可能に接続されている。   In the example of FIG. 1, the user terminal 110 and the relay processing device 120 are connected via a single physical communication line so that they can communicate with each other. In the example of FIG. 1, the relay processing device 120 and the information provision processing device 150 are connected to be communicable with each other.

代理用暗号鍵保存部126は、中継処理装置120における通信方式が代理方式の場合に、前記プロキシ回線161 上のSSL(TLSを含む)ハンドシェイク処理の中で利用されるサーバ公開鍵証明書と秘密鍵を記憶している記憶領域である。   The proxy encryption key storage unit 126 includes a server public key certificate used in the SSL (including TLS) handshake process on the proxy line 161 when the communication method in the relay processing device 120 is the proxy method. This is a storage area that stores a secret key.

制御処理通信部128は、HTTPSサーバとしての機能を備える機能処理部であり、利用者端末110の拡張機能処理部112との間で安全な通信コネクション(前記制御回線162)を開設し、利用者端末110の拡張機能処理部112が送信する通信要求メッセージを受信する機能と、利用者端末110の拡張機能処理部112へ通信応答メッセージを送信する機能と、利用者端末110の拡張機能処理部112からの特定の通信先に関する通信方式の問い合わせに対して、管理表保存部129の通信方式決定表の情報に基づいて通信方式を回答する機能と、利用者端末110の拡張機能処理部112から特定の通信先に関する通信方式の決定情報を受信し、該決定情報を管理表保存部129のプロキシ通信方式キャッシュ表に保存する機能と、利用者端末110の拡張機能処理部112へ情報提供処理装置150のサーバ公開鍵証明書を送信する機能と、利用者端末110の拡張機能処理部112からサーバ公開鍵証明書の検証結果を受信する機能と、通信制御部124へ検証結果を通知する機能と、利用者端末110の拡張機能処理部112へクライアント認証要求情報を送信する機能と、利用者端末110の拡張機能処理部112からクライアント公開鍵証明書を受信する機能と、通信制御部124から署名対象データを受信する機能と、利用者端末110の拡張機能処理部112へ前記署名対象データを送信する機能と、利用者端末110の拡張機能処理部112から署名データを受信する機能と、通信制御部124へ前記署名データを通知する機能と、を備える。   The control processing communication unit 128 is a function processing unit having a function as an HTTPS server, and establishes a secure communication connection (the control line 162) with the extended function processing unit 112 of the user terminal 110, so that the user A function of receiving a communication request message transmitted by the extended function processing unit 112 of the terminal 110, a function of transmitting a communication response message to the extended function processing unit 112 of the user terminal 110, and an extended function processing unit 112 of the user terminal 110 A function to answer the communication method based on the information in the communication method determination table of the management table storage unit 129 and the extended function processing unit 112 of the user terminal 110 The communication method determination information related to the communication destination of the management table is received, and the determination information is stored in the proxy communication method cache table of the management table storage unit 129. A function, a function of transmitting the server public key certificate of the information provision processing device 150 to the extended function processing unit 112 of the user terminal 110, and a verification result of the server public key certificate from the extended function processing unit 112 of the user terminal 110 , A function for notifying the communication control unit 124 of the verification result, a function for transmitting client authentication request information to the extended function processing unit 112 of the user terminal 110, and an extended function processing unit 112 of the user terminal 110. A function for receiving a client public key certificate from the communication controller 124, a function for receiving signature target data from the communication control unit 124, a function for transmitting the signature target data to the extended function processing unit 112 of the user terminal 110, and a user terminal 110, a function for receiving signature data from the extended function processing unit 112, and a function for notifying the communication control unit 124 of the signature data.

サーバ暗号鍵保存部127は、前記制御回線162上のSSL(TLSを含む)ハンドシェイク処理の中で利用されるサーバ公開鍵証明書と秘密鍵を記憶している記憶領域である。   The server encryption key storage unit 127 is a storage area that stores a server public key certificate and a private key used in the SSL (including TLS) handshake process on the control line 162.

管理表保存部129は、通信方式決定表とプロキシ通信方式キャッシュ表と代理通信セッション管理表を記憶するための記憶領域である。   The management table storage unit 129 is a storage area for storing a communication method determination table, a proxy communication method cache table, and a proxy communication session management table.

(通信方式決定表の説明) (Explanation of communication method determination table)

通信方式決定表(図8)は、プロキシ回線161によるHTTPS通信に先立ち、該HTTPS通信をどのように中継するか(通信方式)を決定するために使用される表である。通信方式決定表のレコードは、サーバ条件とクライアント条件と通信方式から構成される。通信方式決定表の例を図8で示す。通信方式決定表(図8)は、通信方式設定情報の適用例である。   The communication method determination table (FIG. 8) is a table used to determine how to relay the HTTPS communication (communication method) prior to the HTTPS communication through the proxy line 161. The record of the communication method determination table is composed of server conditions, client conditions, and communication methods. An example of the communication method determination table is shown in FIG. The communication method determination table (FIG. 8) is an application example of communication method setting information.

サーバ条件はドメイン名欄とカテゴリー欄から構成される。ドメイン名欄は、通信における情報提供処理装置150のホスト名の文字列条件を保存する場所である。「*」はワイルドカード文字列を表し、任意の文字列にマッチする。カテゴリー欄は、通信における情報提供処理装置150のカテゴリーを保存する場所である。カテゴリーとは、任意の情報提供処理装置150がその提供するコンテンツに応じて属する分野のことである。中継処理装置120は、利用者端末110から送信される暗号化通信の要求イベントに含まれるURL(ホスト名を含む)に従って、当該URLのカテゴリーを判定する。例として、中継処理装置120が予めホスト名とカテゴリーとの対応を示す対応表を備え、当該対応表を参照して、利用者端末110から入力された当該URLのホスト名に対応するカテゴリーを決定(判定)することなどが考えられる。
ここで、サーバ条件は、利用者端末110から送信されるデータの中継先の情報提供処理装置150を示す中継先情報の適用例である。
Server conditions consist of a domain name field and a category field. The domain name column is a place for storing the character string condition of the host name of the information provision processing device 150 in communication. “*” Represents a wild card character string and matches an arbitrary character string. The category column is a place where the category of the information provision processing device 150 in communication is stored. A category is a field to which an arbitrary information provision processing device 150 belongs according to the content provided by the information provision processing device 150. The relay processing device 120 determines the category of the URL according to the URL (including the host name) included in the encrypted communication request event transmitted from the user terminal 110. As an example, the relay processing apparatus 120 is provided with a correspondence table indicating the correspondence between host names and categories in advance, and the category corresponding to the host name of the URL input from the user terminal 110 is determined with reference to the correspondence table. (Determining) can be considered.
Here, the server condition is an application example of relay destination information indicating the information provision processing device 150 of the relay destination of data transmitted from the user terminal 110.

クライアント条件は、アドレス欄と認証グループ欄から構成される。アドレス欄は、通信における利用者端末のIPアドレス条件を保存する場所である。IPアドレスの個別指定の他、ワイルドカード文字列やネットワークアドレス表現によって、複数のアドレスを表すことができる。認証グループ欄は、利用者端末110の利用者が属するグループ名を保存する場所である。   The client condition is composed of an address field and an authentication group field. The address column is a place for storing the IP address condition of the user terminal in communication. In addition to individual designation of IP addresses, a plurality of addresses can be represented by a wild card character string or network address expression. The authentication group column is a place where the group name to which the user of the user terminal 110 belongs is stored.

通信方式欄は、確立が許可された通信方式を保存する場所である。すなわち、通信方式欄は、データの中継を可能とするために、確立が許可された通信方式(通信方式情報)が設定されている。   The communication method column is a place for storing a communication method permitted to be established. That is, in the communication method column, a communication method (communication method information) permitted to be established is set in order to enable data relay.

通信方式欄に保存される値としては、”直接”(直接通信方式)と”代理”(代理通信方式)と”選択”の3つの種類がある。”直接”は、中継処理装置120においてHTTPS通信のSSL(TLSを含む)コネクションを終端せずに通常プロキシサーバにおいて行われるようにトンネリングする処理を指示する値である。”代理”は、中継処理装置120においてHTTPS通信のSSLコネクションを終端する中間者方式を指示する値である。”選択”(選択情報)は利用者端末110の利用者に直接方式か代理方式かを選択させることを指示する値である。   There are three types of values stored in the communication method column: “direct” (direct communication method), “proxy” (proxy communication method), and “select”. “Direct” is a value for instructing the tunnel processing to be performed in the normal proxy server without terminating the SSL (including TLS) connection of the HTTPS communication in the relay processing device 120. The “proxy” is a value indicating a middleman method for terminating the SSL communication SSL connection in the relay processing device 120. “Selection” (selection information) is a value for instructing the user of the user terminal 110 to select the direct method or the proxy method.

(プロキシ通信方式キャッシュ表の説明) (Description of proxy communication method cache table)

プロキシ通信方式キャッシュ表(図9)は、特定のHTTPS通信に対して適用する通信方式を記憶するために利用される表である。プロキシ通信方式キャッシュ表のレコードは、クライアント識別子欄、サーバ識別子欄、有効期限欄、通信方式欄から構成される。プロキシ通信方式キャッシュ表の例を図9で示す。   The proxy communication method cache table (FIG. 9) is a table used for storing a communication method applied to a specific HTTPS communication. The record of the proxy communication method cache table includes a client identifier field, a server identifier field, an expiration date field, and a communication method field. An example of the proxy communication method cache table is shown in FIG.

クライアント識別子欄は、利用者端末110の閲覧処理部111を識別するための情報(利用者端末を特定するクライアント特定情報)として、利用者端末110のIPアドレスと閲覧処理部111の識別子(閲覧処理部識別子)を組み合わせた情報を保存する場所である。閲覧処理部識別子は、例えばプロセスIDを使うことが想定される。サーバ識別子欄は、情報提供処理装置150を識別するための情報として、情報提供処理装置150のホスト名とTCPポート番号の組み合わせた情報を保存する場所である。有効期限欄は、対象レコードの有効期限情報を保存する場所である。通信方式欄は、決定された通信方式を保存する場所である。   The client identifier column includes the IP address of the user terminal 110 and the identifier of the browsing processing unit 111 (viewing processing) as information for identifying the browsing processing unit 111 of the user terminal 110 (client specifying information for specifying the user terminal). This is a place for storing information combining the (part identifier). For example, a process ID is assumed to be used as the browsing processing unit identifier. The server identifier column is a place where information combining the host name of the information provision processing device 150 and the TCP port number is stored as information for identifying the information provision processing device 150. The expiration date column is a place where the expiration date information of the target record is stored. The communication method column is a place where the determined communication method is stored.

プロキシ通信方式キャッシュ表が保持している各レコードは、中継処理装置120により、定期的に検査され、有効期限欄の日時が、検査日時より古い場合には削除される。   Each record held in the proxy communication method cache table is periodically inspected by the relay processing device 120, and is deleted when the date and time in the expiration date column is older than the inspection date and time.

(代理通信セッション管理表の説明) (Explanation of proxy communication session management table)

代理通信セッション管理表(図10)は、代理方式で中継する通信に関するセッション情報を記憶しておくために利用される表である。代理通信セッション管理表のレコードは、クライアント識別子欄、サーバ識別子欄、最終利用日時欄、クライアント側ハンドシェイク情報(セッションID―C欄、共通鍵その他―C欄、クライアント証明書欄)、サーバ側ハンドシェイク情報(セッションID―S欄、共通鍵その他―S欄、サーバ証明書欄、クライアント認証要求欄)から構成される。代理通信セッション管理表の例を図10で示す。   The proxy communication session management table (FIG. 10) is a table used for storing session information related to communication relayed by the proxy method. The records of the proxy communication session management table include a client identifier field, a server identifier field, a last use date / time field, client-side handshake information (session ID-C field, common key and others-C field, client certificate field), server-side hand It is composed of shake information (session ID—S field, common key and others—S field, server certificate field, client authentication request field). An example of the proxy communication session management table is shown in FIG.

クライアント識別子欄は、利用者端末110の閲覧処理部111を識別するための情報として利用者端末110のIPアドレスと閲覧処理部111の識別子(閲覧処理部識別子)を組み合わせた情報を保存する場所である。サーバ識別子欄は、情報提供処理装置150を識別するための情報として情報提供処理装置150のホスト名とTCPポート番号の組み合わせた情報を保存する場所である。最終利用日時欄は、対象レコードによって表される通信が行われた日時情報を保存する場所である。セッションID―C欄は、プロキシ回線161上のSSLセッションのIDを保存する場所である。共通鍵その他―C欄は、プロキシ回線161上のSSLセッションのハンドシェイク処理で交換した共通鍵と暗号スイートに関する情報を保存する場所である。クライアント証明書欄は、利用者端末110から取得したクライアント公開鍵証明書を保存する場所である。セッションID―S欄は、サーバ回線163上のSSLセッションのIDを保存する場所である。共通鍵その他―S欄は、サーバ回線163上のSSLセッションのハンドシェイク処理で交換した共通鍵と暗号スイートに関する情報を保存する場所である。サーバ証明書欄は、サーバ回線163上のSSLセッションのハンドシェイク処理で取得した情報提供処理装置150のサーバ公開鍵証明書を保存する場所である。クライアント認証要求欄は、サーバ回線163上のSSLセッションのハンドシェイク処理で取得した情報提供処理装置150からのクライアント認証要求情報を保存する場所である。   The client identifier column is a place where information combining the IP address of the user terminal 110 and the identifier of the browsing processing unit 111 (viewing processing unit identifier) is stored as information for identifying the browsing processing unit 111 of the user terminal 110. is there. The server identifier column is a place where information obtained by combining the host name of the information provision processing device 150 and the TCP port number is stored as information for identifying the information provision processing device 150. The last use date / time column is a place for storing date / time information on the communication represented by the target record. The session ID-C column is a place where the ID of the SSL session on the proxy line 161 is stored. The common key and other-C column is a place for storing information on the common key and cipher suite exchanged in the handshake processing of the SSL session on the proxy line 161. The client certificate column is a place where the client public key certificate acquired from the user terminal 110 is stored. The session ID-S column is a place where the ID of the SSL session on the server line 163 is stored. The common key and other-S column is a place for storing information regarding the common key and cipher suite exchanged in the handshake processing of the SSL session on the server line 163. The server certificate column is a place where the server public key certificate of the information provision processing device 150 acquired by the handshake processing of the SSL session on the server line 163 is stored. The client authentication request field is a place where the client authentication request information from the information provision processing device 150 acquired by the handshake processing of the SSL session on the server line 163 is stored.

代理通信セッション管理表が保持している各レコードは、中継処理装置120により、定期的に検査され、最終利用日時欄の値が、検査日時と比較され、適当に決められた有効時間(例えば12時間)以上古い日時を表している場合には削除される。   Each record held in the proxy communication session management table is periodically inspected by the relay processing device 120, the value in the last use date and time column is compared with the inspection date and time, and an appropriately determined valid time (for example, 12). If the date is older than (time), it is deleted.

付加機能処理部130は、中継処理対象の通信がHTTPの場合と、HTTPSの場合でも中継方式が代理方式の場合に、利用者端末110から受信する通信要求メッセージと情報提供処理装置150から受信する通信応答メッセージとに対して、付加機能処理を行う機能を備える。付加機能処理とは、例えば、プロキシサーバにおいて一般に実施されるキャッシュ機能や、セキュリティゲートウェイ等で実施されるコンテンツフィルタリング機能、ウィルス検査・駆除機能、アクセス制御機能などに対応している。これらの機能は、通常はHTTPS通信のように通信メッセージが暗号化されている場合には適用(実施)できないが、本実施例に示す代理方式のようにHTTPS通信であっても中継処理装置において暗号化通信メッセージを平文化する手法を用いれば適用(実施)できるようになる。   The additional function processing unit 130 receives the communication request message received from the user terminal 110 and the information providing processing device 150 when the communication to be relayed is HTTP and when the relay method is the proxy method even in the case of HTTPS. A function of performing additional function processing on the communication response message is provided. The additional function processing corresponds to, for example, a cache function generally implemented in a proxy server, a content filtering function implemented in a security gateway or the like, a virus inspection / disinfection function, an access control function, and the like. These functions are usually not applicable (implemented) when the communication message is encrypted as in HTTPS communication, but in the relay processing apparatus even in HTTPS communication as in the proxy method shown in the present embodiment. It can be applied (implemented) by using a method for plainly encrypting communication messages.

CA証明書保存部131は、情報提供処理装置150のサーバ公開鍵証明書を検証する際に用いる、中継処理装置120が信頼するCA証明書を記憶する記憶領域である。   The CA certificate storage unit 131 is a storage area for storing a CA certificate trusted by the relay processing device 120 and used when verifying the server public key certificate of the information providing processing device 150.

情報提供処理装置150は、利用者端末110から送られた通信要求メッセージを受信し、該通信要求メッセージの内容に基づき通信応答メッセージを応答する情報処理装置である。情報提供処理装置150は、サーバ処理部151とサーバ暗号鍵保存部152とを備えている。   The information provision processing device 150 is an information processing device that receives a communication request message sent from the user terminal 110 and responds with a communication response message based on the content of the communication request message. The information provision processing device 150 includes a server processing unit 151 and a server encryption key storage unit 152.

サーバ処理部151は、一般にWebサーバと知られるプログラムに相当する機能処理部である。サーバ処理部151はHTTPプロトコルとHTTPSプロトコルのサーバ機能を備えている。   The server processing unit 151 is a function processing unit corresponding to a program generally known as a Web server. The server processing unit 151 has server functions of HTTP protocol and HTTPS protocol.

サーバ暗号鍵保存部152は、サーバ処理部151がHTTPSによる暗号化通信を行う場合に使用するサーバ公開鍵証明書と秘密鍵を記憶するための記憶領域である。   The server encryption key storage unit 152 is a storage area for storing a server public key certificate and a private key used when the server processing unit 151 performs encrypted communication using HTTPS.

次に、図1の利用者端末110、中継処理装置120、情報提供処理装置150の各種端末のハードウェア構成について、図2を用いて説明する。利用者端末110、中継処理装置120、情報提供処理装置150は、一般に知られている情報処理装置である。   Next, the hardware configuration of various terminals of the user terminal 110, the relay processing device 120, and the information provision processing device 150 in FIG. 1 will be described with reference to FIG. The user terminal 110, the relay processing device 120, and the information provision processing device 150 are generally known information processing devices.

図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。   FIG. 2 is a diagram illustrating a hardware configuration of various terminals according to the embodiment of the present invention.

CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。   The CPU 201 comprehensively controls each device and controller connected to the system bus 204.

また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。   Further, the ROM 202 or the external memory 211 is necessary to realize a BIOS (Basic Input / Output System) or an operating system program (hereinafter referred to as an OS), which is a control program of the CPU 201, or a function executed by each server or each PC. Various programs to be described later are stored. The RAM 203 functions as a main memory, work area, and the like for the CPU 201.

CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。   The CPU 201 implements various operations by loading a program necessary for execution of processing into the RAM 203 and executing the program.

また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。   An input controller (input C) 205 controls input from a pointing device such as a keyboard 209 or a mouse (not shown).

ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器にへの表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。   A video controller (VC) 206 controls display on a display device such as a CRT display (CRT) 210. The display device may be a liquid crystal display as well as a CRT. These are used by the administrator as needed. The present invention is not directly related.

メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。   A memory controller (MC) 207 is a hard disk (HD), floppy disk (registered trademark FD) or PCMCIA card slot for storing boot programs, browser software, various applications, font data, user files, editing files, various data, and the like. Controls access to an external memory 211 such as a compact flash memory connected via an adapter.

通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。   A communication I / F controller (communication I / FC) 208 is connected to and communicates with an external device via a network, and executes communication control processing in the network. For example, Internet communication using TCP / IP is possible.

なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。   Note that the CPU 201 enables display on the CRT 210 by executing outline font rasterization processing on a display information area in the RAM 203, for example. In addition, the CPU 201 enables a user instruction with a mouse cursor (not shown) on the CRT 210.

本発明を実現するためのプログラムは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる前述した暗号鍵保存部113、管理表保存部114、CA証明書保存部115、代理用暗号鍵保存部126、サーバ暗号鍵保存部127、管理表保存部129、CA証明書保存部131、及びサーバ暗号鍵保存部152は、外部メモリ211に格納されている。   A program for realizing the present invention is recorded in the external memory 211, and is executed by the CPU 201 by being loaded into the RAM 203 as necessary. Further, the above-described encryption key storage unit 113, management table storage unit 114, CA certificate storage unit 115, proxy encryption key storage unit 126, server encryption key storage unit 127, management table storage unit 129 used by the program according to the present invention. The CA certificate storage unit 131 and the server encryption key storage unit 152 are stored in the external memory 211.

(暗号化通信を代理方式によって中継する場合の通信メッセージ交換フロー) (Communication message exchange flow when relaying encrypted communication by proxy method)

次に、暗号化通信を介して通信されるデータを代理方式によって中継する場合の、利用者端末110と中継処理装置120と情報提供処理装置150との間の通信メッセージの交換フローの1つのケースを、図11を用いて説明する。   Next, one case of a communication message exchange flow among the user terminal 110, the relay processing device 120, and the information providing processing device 150 when data communicated via encrypted communication is relayed by a proxy method Will be described with reference to FIG.

図11は、本発明の実施形態における暗号化通信を介して通信されるデータを代理方式によって中継する場合の、利用者端末110と中継処理装置120と情報提供処理装置150との間の通信メッセージの交換フローの例を示す図である。   FIG. 11 is a communication message between the user terminal 110, the relay processing device 120, and the information providing processing device 150 when data communicated via encrypted communication in the embodiment of the present invention is relayed by a proxy method. It is a figure which shows the example of no exchange flow.

なお、図11中のステップS1150からステップS1154で示される破線で囲われた通信は、制御回線162を介して行われる。それ以外の利用者端末110と中継処理装置120との間の通信は、プロキシ回線161を介して行われる。   Note that the communication surrounded by the broken lines shown in steps S1150 to S1154 in FIG. 11 is performed via the control line 162. Other communication between the user terminal 110 and the relay processing device 120 is performed via the proxy line 161.

また、中継処理装置120と情報提供処理装置150との間の通信は、サーバ回線163を介して行われる。   Communication between the relay processing device 120 and the information provision processing device 150 is performed via the server line 163.

また、図11と図12においては、SSL(TLSを含む)規格において必要とされるメッセージ(ChangeCipherSpec等)は、一般的なSSL(TLSを含む)規格に基づく、一般に知られている処理であるため、ここでは説明を省略している。   In FIG. 11 and FIG. 12, a message (such as ChangeCipherSpec) required in the SSL (including TLS) standard is a generally known process based on a general SSL (including TLS) standard. Therefore, the description is omitted here.

ステップS1101では、利用者端末110において、利用者が閲覧処理部111が提供するブラウザ画面において、情報提供処理装置150上のコンテンツを指し示すURLをアドレスバーなどへ入力するか、または既にブラウザ画面に表示中のコンテンツの中の該URLへのリンク文字列をクリックするか、によってコンテンツ取得要求が指示される。   In step S1101, in the user terminal 110, on the browser screen provided by the browsing processing unit 111, the user inputs a URL indicating the content on the information provision processing device 150 into an address bar or the like, or has already been displayed on the browser screen. A content acquisition request is instructed by clicking on a link character string to the URL in the content.

ステップS1102では、コンテンツ取得要求に対して閲覧処理部111に登録されたイベントハンドラによって拡張機能処理部112の処理が起動される。拡張機能処理部112では、該コンテンツ取得要求に含まれる該URLのスキーマ部を取得し、該スキーマがHTTPS(暗号化通信)であるか否かを判定する。すなわち、利用者端末110は、コンテンツ取得要求に含まれる暗号化通信によるデータの送受信を要求しているのか否かを判定する。   In step S1102, the extended function processing unit 112 is activated by an event handler registered in the browsing processing unit 111 in response to the content acquisition request. The extended function processing unit 112 acquires the schema portion of the URL included in the content acquisition request, and determines whether the schema is HTTPS (encrypted communication). That is, the user terminal 110 determines whether or not it has requested transmission / reception of data by encrypted communication included in the content acquisition request.

そして、利用者端末110は、該スキーマがHTTPSである(暗号化通信を介したデータの送受信の要求である)と判定された場合、中継処理装置120における通信方式を決定するために、中継処理装置120に対して通信方式の問い合わせを行う。すなわち、利用者端末110は、後述する通信方式問い合わせ要求メッセージを中継処理装置120に送信する。   When the user terminal 110 determines that the schema is HTTPS (a request for data transmission / reception via encrypted communication), the user terminal 110 performs relay processing to determine the communication method in the relay processing device 120. A communication method inquiry is made to the device 120. That is, the user terminal 110 transmits a communication method inquiry request message described later to the relay processing device 120.

ステップS1103では、中継処理装置120は、利用者端末110から送信された問い合わせ(通信方式問い合わせ要求メッセージ)に含まれる情報提供処理装置150の識別子(サーバ識別子)と利用者端末110の閲覧処理部識別子(クライアント識別子)との情報を元に、管理表保存部129の通信方式決定表(図8)から通信方式を決定し、該通信方式を利用者端末110へ応答する。この例では”選択”が応答される。   In step S1103, the relay processing device 120 identifies the identifier (server identifier) of the information provision processing device 150 and the browsing processing unit identifier of the user terminal 110 included in the inquiry (communication method inquiry request message) transmitted from the user terminal 110. Based on the information (client identifier), the communication method is determined from the communication method determination table (FIG. 8) of the management table storage unit 129, and the communication method is returned to the user terminal 110. In this example, “select” is responded.

すなわち、中継処理装置120は、通信方式が“選択”と決定された場合、例えば、図14に示すダイアログボックス(通信方式選択ダイアログボックスとも言う)の画面を表示するための画面情報を、利用者端末110に送信する。   That is, when the communication method is determined to be “selected”, the relay processing device 120 displays, for example, screen information for displaying a dialog box (also referred to as a communication method selection dialog box) shown in FIG. Transmit to terminal 110.

ステップS1104では、利用者端末110は、ステップS1103で受信した通信方式が”選択”であったため、図14で例を示すような画面(選択ダイアログボックスとも言う)を表示する。   In step S1104, since the communication method received in step S1103 is “select”, the user terminal 110 displays a screen (also referred to as a selection dialog box) as shown in FIG.

すなわち、ステップS1103で送信された画面情報に従って、図14の画面を表示する。   That is, the screen of FIG. 14 is displayed according to the screen information transmitted in step S1103.

ステップS1105では、利用者端末110において、利用者は前記選択ダイアログボックスを使用して”直接”、”代理”のいずれかから通信方式を選択する。例では利用者は”許可する”を選択して通信方式”代理”が選択される。   In step S1105, at the user terminal 110, the user uses the selection dialog box to select a communication method from “direct” or “proxy”. In the example, the user selects “permit” and the communication method “proxy” is selected.

すなわち、ステップS1105では、利用者により、選択ダイアログボックスを介して、”許可する”ボタンか、”許可しない”ボタンが押下され、”許可する”ボタンが押下された場合は、通信方式が“代理”と決定され、”許可しない”ボタンが押下された場合は、通信方式が“直接”と決定される。ここの例では、利用者により”許可する”ボタンが選択され通信方式が”代理”と決定される。   That is, in step S1105, if the user presses the “permit” button or the “not permit” button via the selection dialog box, and the “permit” button is pressed, the communication method is “proxy”. When the “Do not allow” button is pressed, the communication method is determined as “Direct”. In this example, the “allow” button is selected by the user, and the communication method is determined to be “proxy”.

ステップS1106では、利用者端末110は、選択結果(通信方式通知メッセージとも言う)(ここでの例では選択方式としての”代理”と、サーバ識別子と、クライアント識別子と、有効期限とが通信方式通知メッセージに含まれる。)を中継処理装置120へ送信する。   In step S1106, the user terminal 110 notifies the communication method of the selection result (also referred to as a communication method notification message) (in this example, “proxy” as the selection method, the server identifier, the client identifier, and the expiration date). Included in the message) to the relay processing device 120.

中継処理装置120は該選択結果を受信し、該選択結果(”代理”)を管理表保存部129のプロキシ通信方式キャッシュ表(図9)に保存する。   The relay processing device 120 receives the selection result, and stores the selection result (“proxy”) in the proxy communication method cache table (FIG. 9) of the management table storage unit 129.

ステップS1107では、利用者端末110は、コンテンツ取得要求に関する通信方式を決定され、中継処理装置120への通信方式通知メッセージの通知(送信)も完了したことを受けて、閲覧処理部111が該コンテンツ取得要求の処理を再開する。閲覧処理部111は、中継処理装置120のクライアント通信部121へ接続してプロキシ回線161を開設し、該プロキシ回線161上でCONNECTメソッドによるプロキシリクエストを送信する。CONNECTメソッドによるプロキシリクエストとは、Webブラウザ等のクライアントがプロキシサーバを経由してHTTPSサーバへ接続する際に発行されるリクエストであり、次の形式をもつ。   In step S <b> 1107, the user terminal 110 determines that the communication method regarding the content acquisition request has been determined and has completed the notification (transmission) of the communication method notification message to the relay processing device 120. Resumes acquisition request processing. The browsing processing unit 111 connects to the client communication unit 121 of the relay processing device 120 to open the proxy line 161 and transmits a proxy request by the CONNECT method on the proxy line 161. A proxy request by the CONNECT method is a request issued when a client such as a Web browser connects to an HTTPS server via a proxy server, and has the following format.

CONNECT ホスト名:ポート番号 HTTP/1.0   CONNECT host name: port number HTTP / 1.0

また、拡張機能処理部112は、閲覧処理部111に、上記のプロキシリクエストにクライアント識別子をヘッダーとして追加するよう指示する。
プロキシリクエストの例を示す。
Further, the extended function processing unit 112 instructs the browsing processing unit 111 to add a client identifier as a header to the proxy request.
An example of a proxy request is shown.

CONNECT www.xxx.co.jp:443 HTTP/1.0
User―Agent: XXXXX/X.X
X―client―id: 10.10.10.1:349263
CONNECT www. xxx. co. jp: 443 HTTP / 1.0
User-Agent: XXXX / X. X
X-client-id: 10.10.10.1:349263

次に、中継処理装置120は、受信した前記プロキシリクエストから、サーバ識別子(ホスト名:ポート番号)とクライアント識別子(X&#8722;client&#8722;id)を取得し、これらをキーに管理表保存部129のプロキシ通信方式キャッシュ表から通信方式欄を参照し、値”代理”を取得する。そして、中継処理装置120は、代理方式の中継処理の情報を管理するための記憶領域として、管理表保存部129の代理通信セッション管理表に新規レコード(代理通信セッションレコードと呼ぶ)を作成する。   Next, the relay processing device 120 acquires a server identifier (host name: port number) and a client identifier (X &#8722; client &#8722; id) from the received proxy request, and stores them in the management table using these as keys. The value “proxy” is acquired by referring to the communication method column from the proxy communication method cache table of the part 129. Then, the relay processing device 120 creates a new record (referred to as a proxy communication session record) in the proxy communication session management table of the management table storage unit 129 as a storage area for managing information of the proxy method relay processing.

ステップS1108では、中継処理装置120は、サーバ識別子の情報を元に情報提供処理装置150へTCP接続し、サーバ回線163を開設する。   In step S1108, the relay processing device 120 establishes a TCP connection to the information providing processing device 150 based on the server identifier information, and opens the server line 163.

ステップS1109では、中継処理装置120は、TCP接続が成功したことを受け、利用者端末110へ「HTTP/1.0 200」という接続成功メッセージを返し、情報提供処理装置150へ中継可能であることを伝える。   In step S <b> 1109, the relay processing device 120 receives the fact that the TCP connection is successful, returns a connection success message “HTTP / 1.0 200” to the user terminal 110, and can relay to the information provision processing device 150. Tell.

ステップS1110では、利用者端末110は、前記プロキシ回線161上でClient Helloメッセージを送信し、SSLのハンドシェイクを開始する。   In step S1110, the user terminal 110 transmits a Client Hello message on the proxy line 161 and starts an SSL handshake.

そして、Client Helloメッセージを受けた中継処理装置120は、SSLのハンドシェイクの処理を開始し、ステップS1133でハンドシェイクの処理が終了するまで、プロキシ回線161を確立する処理を行う。   Upon receiving the Client Hello message, the relay processing device 120 starts the SSL handshake process, and performs the process of establishing the proxy line 161 until the handshake process ends in step S1133.

SSLによる暗号化通信の回線を確立するために、ステップS1110からハンドシェイクの処理を開始する。そして、ステップS1133でハンドシェイクの処理が終了すると、プロキシ回線161(SSLによる暗号化通信の回線)を確立することができる。プロキシ回線161は、本発明の第1のSSL通信の適用例である。   In order to establish an SSL encrypted communication line, handshake processing is started from step S1110. When the handshake process is completed in step S1133, a proxy line 161 (SSL encrypted communication line) can be established. The proxy line 161 is an application example of the first SSL communication of the present invention.

ステップS1111では、中継処理装置120は、サーバ回線163上で、情報提供処理装置150との間でSSLのセッションを開設(確立)するために、サーバ側暗号処理部125で生成したClient Helloメッセージを送信する。   In step S <b> 1111, the relay processing device 120 transmits the Client Hello message generated by the server-side cryptographic processing unit 125 in order to open (establish) an SSL session with the information providing processing device 150 on the server line 163. Send.

そして、Client Helloメッセージを受けた情報提供処理装置150は、SSLのハンドシェイクの処理を開始し、ステップS1131でハンドシェイクの処理が終了するまで、サーバ回線163を確立する処理を行う。   Upon receiving the Client Hello message, the information provision processing device 150 starts the SSL handshake process, and performs the process of establishing the server line 163 until the handshake process ends in step S1131.

SSLによる暗号化通信の回線を確立するために、ステップS1111からハンドシェイクの処理を開始する。そして、ステップS1131でハンドシェイクの処理が終了すると、サーバ回線163(SSLによる暗号化通信の回線)を確立することができる。サーバ回線163は、本発明の第2のSSL通信の適用例である。   In order to establish an SSL encrypted communication line, handshake processing is started from step S1111. When the handshake process is completed in step S1131, the server line 163 (SSL encrypted communication line) can be established. The server line 163 is an application example of the second SSL communication of the present invention.

ステップS1111では、中継処理装置は、前記サーバ回線163上でSSL Client Helloメッセージを送信し、SSLハンドシェイクを開始する。   In step S1111, the relay processing device transmits an SSL Client Hello message on the server line 163, and starts an SSL handshake.

SSLによる暗号化通信の回線を確立するために、ステップS1110でハンドシェイクの処理を開始する。そして、ステップS1133でハンドシェイクの処理が終了すると、プロキシ回線161(SSLによる暗号化通信の回線)を確立することができる。プロキシ回線161は、本発明の第1のSSL通信の適用例である。   In order to establish a line for encrypted communication by SSL, handshake processing is started in step S1110. When the handshake process is completed in step S1133, a proxy line 161 (SSL encrypted communication line) can be established. The proxy line 161 is an application example of the first SSL communication of the present invention.

以下にステップS1110以降の処理について説明する。
図11は、通信方式が”代理”(代理方式)の場合について説明する。
まず、利用者端末110は、ステップS1110でSSLハンドシェイク開始要求(SSL Client Hello)を送信する。
The processing after step S1110 will be described below.
FIG. 11 illustrates a case where the communication method is “proxy” (proxy method).
First, the user terminal 110 transmits an SSL handshake start request (SSL Client Hello) in step S1110.

図11は、通信方式が”代理”の場合のシーケンス図であるので、中継処理装置120は、該SSLハンドシェイクで受信した各メッセージは、そのまま情報提供処理装置150へ中継せずに、自身がサーバとしてハンドシェイクを行う。   Since FIG. 11 is a sequence diagram when the communication method is “proxy”, the relay processing device 120 does not directly relay each message received by the SSL handshake to the information providing processing device 150. Handshake as a server.

中継処理装置120は、自身がサーバとしてハンドシェイクの処理に応じるために、利用者端末110に、SSL Server Hello、SSL Server Certificate、SSL Server Hello Doneの各メッセージを送信する。   The relay processing device 120 transmits each message of SSL Server Hello, SSL Server Certificate, and SSL Server Hello Done to the user terminal 110 in order to respond to handshake processing as a server itself.

まず、利用者端末110の閲覧処理部111は、過去に中継処理装置120との通信で利用したSSLのセッション情報(セッションIDを含む)が記憶されているか否かを判定する。   First, the browsing processing unit 111 of the user terminal 110 determines whether SSL session information (including a session ID) used in communication with the relay processing apparatus 120 in the past is stored.

そして、利用者端末110の閲覧処理部111は、過去に中継処理装置120との通信で利用したSSLのセッションIDが記憶されていると判定された場合は、当該セッションIDを含めたSSL Client Helloメッセージを中継処理装置120に送信する。   If the browsing processing unit 111 of the user terminal 110 determines that an SSL session ID used in communication with the relay processing device 120 has been stored in the past, the SSL Client Hello including the session ID is stored. The message is transmitted to the relay processing device 120.

一方、利用者端末110の閲覧処理部111は、過去に中継処理装置120との通信で利用したSSLのセッションIDが記憶されていないと判定された場合は、当該セッションIDを含めずにSSL Client Helloメッセージを中継処理装置120に送信する。
そして、中継処理装置120は、利用者端末110からSSL Client Helloメッセージを受信する。
On the other hand, if the browsing processing unit 111 of the user terminal 110 determines that the SSL session ID used in communication with the relay processing apparatus 120 has not been stored in the past, the browsing client 111 does not include the session ID. A Hello message is transmitted to the relay processing device 120.
Then, the relay processing device 120 receives the SSL Client Hello message from the user terminal 110.

図11では、利用者端末111から受信したSSL Client Helloメッセージに当該セッションIDが含まれていない場合(SSLセッションを再開せずに新規のSSLセッションを用いる場合)について説明する。   FIG. 11 illustrates a case where the session ID is not included in the SSL Client Hello message received from the user terminal 111 (a case where a new SSL session is used without resuming the SSL session).

利用者端末111から受信したSSL Client Helloメッセージに当該セッションIDが含まれている場合(SSLセッションを再開する場合)については、図12を用いて後で説明する。   The case where the session ID is included in the SSL Client Hello message received from the user terminal 111 (when the SSL session is resumed) will be described later with reference to FIG.

中継処理装置120は、ステップS1110で利用者端末110からSSL Client Helloメッセージを受信すると、当該SSL Client Helloメッセージの中に、セッションIDが含まれているか否かを判定する。そして、中継処理装置120は、当該SSL Client Helloメッセージの中に、セッションIDが含まれていないと判定された場合に、新規のセッションを作成するために新規の固有のセッションIDを生成する。   When the relay processing apparatus 120 receives the SSL Client Hello message from the user terminal 110 in step S1110, the relay processing apparatus 120 determines whether or not the session ID is included in the SSL Client Hello message. Then, when it is determined that the session ID is not included in the SSL Client Hello message, the relay processing device 120 generates a new unique session ID to create a new session.

そして、中継処理装置120は、当該生成されたセッションIDを含むSSL Server Helloメッセージを利用者端末110に送信する(ステップS1112)。   Then, the relay processing device 120 transmits an SSL Server Hello message including the generated session ID to the user terminal 110 (step S1112).

さらに、中継処理装置120は、当該生成されたセッションIDを代理通信セッション管理表(図10)のセッションIDーC欄に記憶する。当該セッションIDは次回以降にセッションを再開する場合の識別子となる。   Further, the relay processing device 120 stores the generated session ID in the session ID-C column of the proxy communication session management table (FIG. 10). The session ID becomes an identifier when the session is resumed after the next time.

利用者端末110は、セッションIDを含むSSL Server Helloメッセージを中継処理装置120から受信すると、当該SSL Server Helloメッセージに含まれているセッションIDをSSLのセッション情報としてRAM203等のメモリに記憶する(キャッシュする)。   Upon receiving the SSL Server Hello message including the session ID from the relay processing device 120, the user terminal 110 stores the session ID included in the SSL Server Hello message in a memory such as the RAM 203 as SSL session information (cache). To do).

次に、中継処理装置120は、代理用暗号鍵保存部に記憶されているサーバ公開鍵証明書を含むSSL Server Certificateメッセージを利用者端末110に送信する(ステップS1113)。   Next, the relay processing device 120 transmits an SSL Server Certificate message including the server public key certificate stored in the proxy encryption key storage unit to the user terminal 110 (step S1113).

利用者端末110は、中継処理装置120からSSL Server Certificateメッセージを受信し、外部メモリ211などのメモリに記憶する。   The user terminal 110 receives the SSL Server Certificate message from the relay processing device 120 and stores it in a memory such as the external memory 211.

そして、中継処理装置120は、中継処理装置120での一連の処理の終了を通知するSSL Server Hello Doneメッセージを利用者端末110に送信する(ステップS1114)。   Then, the relay processing device 120 transmits an SSL Server Hello Done message notifying the end of a series of processing in the relay processing device 120 to the user terminal 110 (step S1114).

利用者端末110は、中継処理装置120からSSL Server Hello Doneメッセージを受信すると、マスターシークレット(データの暗号化及び復号化に用いる共通鍵を生成するための情報)を生成する。   Upon receiving the SSL Server Hello Done message from the relay processing device 120, the user terminal 110 generates a master secret (information for generating a common key used for data encryption and decryption).

また、利用者端末110は、ここで生成されたマスターシークレットに従って、プロキシ回線161を介して中継処理装置120と通信する対象となるデータの暗号化及び復号を行うために用いる共通鍵を生成して、当該生成された共通鍵をRAM203等のメモリに記憶する。   Further, the user terminal 110 generates a common key used to encrypt and decrypt data to be communicated with the relay processing device 120 via the proxy line 161 according to the master secret generated here. The generated common key is stored in a memory such as the RAM 203.

利用者端末110は、ステップS1134以降の処理で、プロキシ回線161を介してデータを中継処理装置120に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。   When the user terminal 110 transmits data to the relay processing device 120 via the proxy line 161 in the processes after step S1134, the user terminal 110 encrypts the data using the common key generated here and transmits the data. .

また、利用者端末110は、中継処理装置120からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。   Also, the user terminal 110 decrypts the encrypted data transmitted from the relay processing device 120 via the proxy line 161 using the common key generated here.

そして、利用者端末110は、中継処理装置120から受信したSSL Server Certificateメッセージに含まれているサーバ公開鍵証明書に含まれるサーバの公開鍵を用いて、当該生成されたマスターシークレットを暗号化する。   Then, the user terminal 110 encrypts the generated master secret using the server public key included in the server public key certificate included in the SSL Server Certificate message received from the relay processing device 120. .

そして、利用者端末110は、当該暗号化されたマスターシークレットを含むClientKeyExchangeメッセージを中継処理装置120に送信する。
中継処理装置120は、利用者端末110からClientKeyExchangeメッセージを受信する。
Then, the user terminal 110 transmits a Client Key Exchange message including the encrypted master secret to the relay processing device 120.
The relay processing device 120 receives the Client Key Exchange message from the user terminal 110.

そして、中継処理装置は、当該ClientKeyExchangeメッセージに含まれている暗号化されたマスターシークレットを、利用者端末110に送信したSSL Server Certificateメッセージに含まれるサーバ公開鍵証明書(サーバの公開鍵を含む)に対応する秘密鍵を用いて復号する。   Then, the relay processing device sends the server public key certificate (including the server public key) included in the SSL Server Certificate message transmitted to the user terminal 110 to the encrypted master secret included in the Client Key Exchange message. The private key corresponding to is decrypted.

なお、ここで用いる秘密鍵は、サーバ公開鍵証明書(サーバの公開鍵を含む)に対応付けられて代理用暗号鍵保存部126に記憶されており、利用者端末110に送信したサーバ公開鍵証明書(サーバの公開鍵を含む)に対応するものである。   The secret key used here is stored in the proxy encryption key storage unit 126 in association with the server public key certificate (including the server public key), and is transmitted to the user terminal 110. It corresponds to the certificate (including the public key of the server).

次に、中継処理装置120は、復号されたマスターシークレットに従って共通鍵を生成する。そして、中継処理装置120は、該生成された共通鍵の情報を前記代理通信セッションレコードの共通鍵その他ーC欄に記憶する。   Next, the relay processing device 120 generates a common key according to the decrypted master secret. Then, the relay processing device 120 stores the generated common key information in the common key and other-C column of the proxy communication session record.

中継処理装置120は、ステップS1134以降の処理で、プロキシ回線161を介してデータを利用者端末110に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。また、中継処理装置120は、利用者端末110からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。   When the relay processing device 120 transmits the data to the user terminal 110 via the proxy line 161 in the processing after step S1134, the relay processing device 120 encrypts and transmits the data using the generated common key. . Further, the relay processing device 120 decrypts the encrypted data transmitted from the user terminal 110 via the proxy line 161 using the common key generated here.

次に、ステップS1115以降の処理について説明する。   Next, processing after step S1115 will be described.

中継処理装置120は、利用者端末110からSSL Client Helloメッセージを受信すると、中継処理装置120をクライアントとして、情報提供処理装置150に、SSLハンドシェイク開始要求(SSL Client Helloメッセージ)を送信する(ステップS1111)。   When the relay processing device 120 receives the SSL Client Hello message from the user terminal 110, the relay processing device 120 transmits an SSL handshake start request (SSL Client Hello message) to the information providing processing device 150 using the relay processing device 120 as a client (step S1). S1111).

情報提供処理装置150は、中継処理装置120から受信したSSL Client Helloメッセージに応答して、中継処理装置120に、SSL Server Helloメッセージ(ステップS1115)、SSL Server Certificateメッセージ(ステップS1116)、SSL Certificate Requestメッセージ(ステップS1117)、SSL Server Hello Doneメッセージ(ステップS1118)の各メッセージを送信する。
以下に、ステップS1115からステップS1118について、説明する。
In response to the SSL Client Hello message received from the relay processing device 120, the information provision processing device 150 sends an SSL Server Hello message (step S1115), an SSL Server Certificate message (step S1116), and an SSL certificate request to the relay processing device 120. A message (step S1117) and an SSL Server Hello Done message (step S1118) are transmitted.
Hereinafter, steps S1115 to S1118 will be described.

まず、中継処理装置120は、過去に情報提供処理装置150との通信で利用したSSLのセッション情報(セッションID)が記憶されているか否かを判定する。   First, the relay processing device 120 determines whether or not SSL session information (session ID) used in communication with the information providing processing device 150 in the past is stored.

具体的には、過去に、代理方式で、利用者端末110と情報提供処理装置150とが中継処理装置120を介して通信する際に、中継処理装置120と情報提供処理装置150との間のサーバ回線163で利用したセッションIDが、代理通信セッション管理表(図10)のセッションID−Sの欄に記憶されているか否かを中継処理装置120が判定する。   Specifically, in the past, when the user terminal 110 and the information provision processing device 150 communicate with each other via the relay processing device 120 in a proxy manner, the relay processing device 120 and the information provision processing device 150 The relay processing device 120 determines whether or not the session ID used on the server line 163 is stored in the session ID-S column of the proxy communication session management table (FIG. 10).

そして、中継処理装置120は、過去に、代理方式で、利用者端末110と情報提供処理装置150とが中継処理装置120を介して通信する際に、中継処理装置120と情報提供処理装置150との間のサーバ回線163で利用したセッションIDが、代理通信セッション管理表(図10)のセッションID−Sの欄に記憶されていると判定された場合は、当該セッションIDを含めたSSL Client Helloメッセージを情報提供処理装置150に送信する。   In the past, the relay processing device 120, when the user terminal 110 and the information provision processing device 150 communicate with each other via the relay processing device 120 in a proxy manner, If it is determined that the session ID used on the server line 163 between the two is stored in the session ID-S field of the proxy communication session management table (FIG. 10), the SSL Client Hello including the session ID is stored. The message is transmitted to the information provision processing device 150.

一方、中継処理装置120は、過去に、代理方式で、利用者端末110と情報提供処理装置150とが中継処理装置120を介して通信する際に、中継処理装置120と情報提供処理装置150との間のサーバ回線163で利用したセッションIDが、代理通信セッション管理表(図10)のセッションID−Sの欄に記憶されていないと判定された場合は、当該セッションIDを含めずにSSL Client Helloメッセージを情報提供処理装置150に送信する(S1111)。   On the other hand, when the relay processing apparatus 120 communicates with the user terminal 110 and the information provision processing apparatus 150 via the relay processing apparatus 120 in the past in a proxy manner, the relay processing apparatus 120 and the information provision processing apparatus 150 If it is determined that the session ID used on the server line 163 between the two is not stored in the session ID-S field of the proxy communication session management table (FIG. 10), the SSL Client is not included. A Hello message is transmitted to the information provision processing device 150 (S1111).

そして、情報提供処理装置150は、中継処理装置120からSSL Client Helloメッセージを受信する。   Then, the information provision processing device 150 receives the SSL Client Hello message from the relay processing device 120.

図11では、中継処理装置120から受信したSSL Client Helloメッセージに当該セッションIDが含まれていない場合(SSLセッションを再開せずに新規のSSLセッションを用いる場合)について説明する。   FIG. 11 illustrates a case where the session ID is not included in the SSL Client Hello message received from the relay processing device 120 (when a new SSL session is used without resuming the SSL session).

中継処理装置120から受信したSSL Client Helloメッセージに当該セッションIDが含まれている場合(SSLセッションを再開する場合)については、図12を用いて後で説明する。   A case where the session ID is included in the SSL Client Hello message received from the relay processing device 120 (when the SSL session is resumed) will be described later with reference to FIG.

情報提供処理装置150は、ステップS1111で中継処理装置120からSSL Client Helloメッセージを受信すると、当該SSL Client Helloメッセージの中に、セッションIDが含まれているか否かを判定する。   When receiving the SSL Client Hello message from the relay processing device 120 in step S1111, the information providing processing device 150 determines whether or not the session ID is included in the SSL Client Hello message.

そして、情報提供処理装置150は、当該SSL Client Helloメッセージの中に、セッションIDが含まれていないと判定された場合に、新規のセッションを作成するために新規の固有のセッションIDを生成する。   When it is determined that the session ID is not included in the SSL Client Hello message, the information provision processing device 150 generates a new unique session ID to create a new session.

そして、情報提供処理装置150は、当該生成されたセッションIDを含むSSL Server Helloメッセージを中継処理装置120に送信する(ステップS1115)。   Then, the information provision processing device 150 transmits an SSL Server Hello message including the generated session ID to the relay processing device 120 (step S1115).

さらに、情報提供処理装置150は、当該生成されたセッションIDをSSLのセッション情報としてRAM203等のメモリに記憶する(キャッシュする)。   Further, the information provision processing device 150 stores (caches) the generated session ID as SSL session information in a memory such as the RAM 203.

中継処理装置120は、セッションIDを含むSSL Server Helloメッセージを情報提供処理装置150から受信すると、当該SSL Server Helloメッセージに含まれているセッションIDを、代理通信セッション管理表(図10)のセッションIDーS欄に記憶する。当該セッションIDは次回以降にセッションを再開する場合の識別子となる。   When the relay processing device 120 receives the SSL Server Hello message including the session ID from the information providing processing device 150, the relay processing device 120 converts the session ID included in the SSL Server Hello message into the session ID of the proxy communication session management table (FIG. 10). -Store in column S. The session ID becomes an identifier when the session is resumed after the next time.

次に、情報提供処理装置150は、サーバ暗号鍵保存部152に記憶されている情報提供処理装置150のサーバ公開鍵証明書を含むSSL Server Certificateメッセージを中継処理装置120に送信する。   Next, the information provision processing device 150 transmits an SSL Server Certificate message including the server public key certificate of the information provision processing device 150 stored in the server encryption key storage unit 152 to the relay processing device 120.

ステップS1116では、中継処理装置120は、情報提供処理装置150から、SSL Server Certificateメッセージを受信し、該メッセージに含まれる情報提供処理装置150のサーバ公開鍵証明書を取得する。   In step S1116, the relay processing device 120 receives the SSL Server Certificate message from the information provision processing device 150, and acquires the server public key certificate of the information provision processing device 150 included in the message.

中継処理装置120は、CA証明書保存部131に記憶されているCA公開鍵証明書などを使って該サーバ公開鍵証明書が信頼できるか否かの検証処理を実施する。ここでの例では、該検証が成功し、該サーバ公開鍵証明書を代理通信セッションレコードのサーバ証明書欄に保存する。   The relay processing device 120 performs verification processing of whether or not the server public key certificate can be trusted using a CA public key certificate stored in the CA certificate storage unit 131. In this example, the verification is successful, and the server public key certificate is stored in the server certificate column of the proxy communication session record.

ステップS1117では、中継処理装置120は、情報提供処理装置150からSSL Certificate Request メッセージ(クライアント認証の要求情報)を受信し、該メッセージに含まれるクライアント認証に関する要求条件の情報(署名アルゴリズム、CA識別名)を、前記代理通信セッションレコードのクライアント認証要求欄に保存する。   In step S1117, the relay processing device 120 receives an SSL Certificate Request message (client authentication request information) from the information providing processing device 150, and information on request conditions (signature algorithm, CA identification name) related to client authentication included in the message. Is stored in the client authentication request field of the proxy communication session record.

そして、情報提供処理装置150は、情報提供処理装置150での一連の処理の終了を通知するSSL Server Hello Doneメッセージを中継処理装置120に送信する。   Then, the information provision processing device 150 transmits an SSL Server Hello Done message notifying the end of a series of processes in the information provision processing device 150 to the relay processing device 120.

ステップS1118では、中継処理装置120は、情報提供処理装置150から、SSL Server Hello Doneメッセージを受信する。   In step S <b> 1118, the relay processing device 120 receives an SSL Server Hello Done message from the information providing processing device 150.

ステップS1119では、利用者端末110は、制御回線162を使って中継処理装置120へ情報提供処理装置150のサーバ公開鍵証明の取得要求メッセージを送信する。   In step S 1119, the user terminal 110 transmits a server public key certificate acquisition request message of the information provision processing device 150 to the relay processing device 120 using the control line 162.

ステップS1120では、中継処理装置120は、利用者端末110から送信された取得要求メッセージに応答して、代理通信セッションレコードのサーバ証明書欄に保存された情報提供処理装置150のサーバ公開鍵証明を取得し、該サーバ公開鍵証明書を利用者端末110へ送信する。(送信手段)   In step S1120, in response to the acquisition request message transmitted from the user terminal 110, the relay processing device 120 obtains the server public key certificate of the information provision processing device 150 stored in the server certificate column of the proxy communication session record. The server public key certificate is acquired and transmitted to the user terminal 110. (Transmission means)

ステップS1121では、利用者端末110は、受信した前記サーバ公開鍵証明書の検証処理を行う。まず、利用者端末110は、利用者端末110のCA証明書保存部115に記憶されている信頼するCA(認証局)の公開鍵証明書によって、該サーバ公開鍵証明書の信頼性を検証する。次に、利用者端末110は、該サーバ公開鍵証明書に記載されている主体者情報(CN属性又はSubjectAltName属性)が、情報提供処理装置150のホスト名と一致するかどうかを確認する。利用者端末110は、その他、該サーバ公開鍵証明書の有効期限、失効状態確認など一般にサーバ公開鍵証明書の信頼性を検証するための処理を実行する。   In step S1121, the user terminal 110 performs verification processing of the received server public key certificate. First, the user terminal 110 verifies the reliability of the server public key certificate with the public key certificate of the trusted CA (certificate authority) stored in the CA certificate storage unit 115 of the user terminal 110. . Next, the user terminal 110 confirms whether the subject information (CN attribute or SubjectAltName attribute) described in the server public key certificate matches the host name of the information provision processing device 150. In addition, the user terminal 110 generally performs processing for verifying the reliability of the server public key certificate, such as expiration date and revocation status confirmation of the server public key certificate.

次に、通常のブラウザでは、サーバ公開鍵証明書の情報として表示されるのはステップS1113で受信した中継処理装置120のサーバ公開鍵証明書であるが、拡張機能処理部112と協働する閲覧処理部111は、図15に示すダイアログボックスを表示するなどして、ステップS1120で受信した情報提供処理装置150の前記サーバ公開鍵証明書の情報を、利用者に確認させる。   Next, in a normal browser, it is the server public key certificate of the relay processing device 120 received in step S1113 that is displayed as the server public key certificate information, but browsing that cooperates with the extended function processing unit 112 The processing unit 111 causes the user to confirm the information of the server public key certificate of the information provision processing device 150 received in step S1120 by displaying the dialog box shown in FIG.

すなわち、閲覧処理部111は、ステップS1120で受信した情報提供処理装置150のサーバ公開鍵証明書の情報を含む画面(図15)を表示する。   That is, the browsing processing unit 111 displays a screen (FIG. 15) including information on the server public key certificate of the information provision processing device 150 received in step S1120.

また、利用者に一時的に確認させるだけでなく、ブラウザの画面上で表示中のコンテンツを提供した情報提供処理装置150のサーバ公開鍵証明書を利用者がいつでも参照できるように、該ダイアログボックスなどのサーバ公開鍵証明書の内容を確認するための手段を呼び出すボタン等をブラウザの画面上に付加しておく。そのブラウザの画面の例を図18で示す。   In addition, the dialog box can be used so that the user can refer to the server public key certificate of the information providing processing device 150 that provides the content being displayed on the browser screen at any time, as well as causing the user to check temporarily. A button for calling a means for confirming the contents of the server public key certificate such as is added on the browser screen. An example of the browser screen is shown in FIG.

通常(通信方式が直接の場合)は、図18の1801で示す場所に、表示中のコンテンツを提供した情報提供処理装置150の識別名(ホスト名)が表示され、該情報提供処理装置150のサーバ公開鍵証明書を表示するためのリンクになっている。しかし、本発明の代理方式の場合は、ここには中継処理装置120の識別名と、中継処理装置120のサーバ公開鍵証明書に関する情報を表示することになる。   Normally (when the communication method is direct), the identification name (host name) of the information provision processing device 150 that provided the content being displayed is displayed at a location indicated by 1801 in FIG. It is a link to display the server public key certificate. However, in the case of the proxy method of the present invention, the identification name of the relay processing device 120 and information related to the server public key certificate of the relay processing device 120 are displayed here.

このため、図18の例では、1802で示す場所に、本来のコンテンツ提供者である情報提供処理装置150の識別名と、情報提供処理装置150のサーバ公開鍵証明書に関する情報を表示するようにしている。このように、代理方式であっても情報提供処理装置150の識別名と、情報提供処理装置150のサーバ公開鍵証明書に関する情報を利用者がいつでも確認できるようにすることによって、利用者へコンテンツの提供者の真正性に関わる情報の確認を行うための手段を提供している。   For this reason, in the example of FIG. 18, the identification name of the information provision processing apparatus 150 that is the original content provider and information related to the server public key certificate of the information provision processing apparatus 150 are displayed at a location indicated by 1802. ing. As described above, even if it is a proxy method, the user can check the identification name of the information provision processing device 150 and the information related to the server public key certificate of the information provision processing device 150 at any time, so that the content can be transmitted to the user. Provides a means to confirm information related to the authenticity of the provider.

最後に、利用者端末110は、サーバ公開鍵証明書の検証が成功すれば、管理表保存部114のサーバ証明書キャッシュ表(図17)に新規レコードを作成し、情報提供処理装置150の該サーバ公開鍵証明書と、情報提供処理装置150の前記サーバ識別子と、ステップS1112のServer Helloメッセージに含まれたセッションIDとを共に保存する。   Finally, if the verification of the server public key certificate is successful, the user terminal 110 creates a new record in the server certificate cache table (FIG. 17) of the management table storage unit 114, and The server public key certificate, the server identifier of the information provision processing device 150, and the session ID included in the Server Hello message in step S1112 are stored together.

ステップS1122では、利用者端末110は、サーバ公開鍵証明書の検証に成功し、その検証結果を中継処理装置120へ通知する。   In step S1122, the user terminal 110 succeeds in verifying the server public key certificate, and notifies the relay processing device 120 of the verification result.

ステップS1123では、中継処理装置120は、代理通信セッションレコードのクライアント認証要求欄の値を確認し、代理通信セッションレコードのクライアント認証要求欄に値が格納されていると判定されると、ステップS1117において情報提供処理装置150からクライアント認証の要求があったと判定する。そして、中継処理装置120は、これ(クライアントの認証要求)に対応するために、利用者端末110へ、前記クライアント認証要求欄の値を含めたクライアント証明書要求メッセージを送信する。   In step S1123, the relay processing device 120 checks the value in the client authentication request field of the proxy communication session record, and if it is determined that the value is stored in the client authentication request field of the proxy communication session record, in step S1117. It is determined that there has been a request for client authentication from the information providing processing device 150. In order to respond to this (client authentication request), the relay processing device 120 transmits a client certificate request message including the value of the client authentication request field to the user terminal 110.

ステップS1124では、利用者端末110は、中継処理装置120からクライアント証明書要求メッセージを受信すると、該クライアント認証要求で示された条件に合致する公開鍵証明書を、暗号鍵保存部113から検索し取得する。そして、利用者端末110は、該条件に合致する公開鍵証明書が複数ある場合は、通常のブラウザにおけるSSLクライアント認証時の動作と同じように、ダイアログボックスを表示するなどして、利用者にどの公開鍵証明書を使って情報提供処理装置150へ認証されるのかを選択させ、利用者端末110の公開鍵証明書を1つ決定する。   In step S1124, when the user terminal 110 receives the client certificate request message from the relay processing device 120, the user terminal 110 searches the encryption key storage unit 113 for a public key certificate that matches the conditions indicated in the client authentication request. get. Then, when there are a plurality of public key certificates that match the above conditions, the user terminal 110 displays a dialog box to the user in the same manner as the operation at the time of SSL client authentication in a normal browser. The public key certificate to be used for authentication to the information provision processing device 150 is selected, and one public key certificate of the user terminal 110 is determined.

ステップS1125では、利用者端末110は、利用者端末110の公開鍵証明書を中継処理装置120へ送信する。   In step S1125, the user terminal 110 transmits the public key certificate of the user terminal 110 to the relay processing device 120.

ステップS1126では、中継処理装置120は、利用者端末110の公開鍵証明書を利用者端末から受信し、代理通信セッションレコードのクライアント証明書欄に保存する。そして、中継処理装置120は、情報提供処理装置150へ、該公開鍵証明書を含むClient Certificateメッセージを送信する。すなわち、中継処理装置120は、利用者端末の公開鍵証明書を、サーバ回線163を介して情報提供処理装置150に送信する(公開鍵送信手段)。
次に、中継処理装置120は、マスターシークレット(データの暗号化及び復号化に用いる共通鍵を生成するための情報)を生成する。
In step S1126, the relay processing device 120 receives the public key certificate of the user terminal 110 from the user terminal and stores it in the client certificate column of the proxy communication session record. Then, the relay processing device 120 transmits a Client Certificate message including the public key certificate to the information providing processing device 150. In other words, the relay processing device 120 transmits the public key certificate of the user terminal to the information providing processing device 150 via the server line 163 (public key transmitting means).
Next, the relay processing device 120 generates a master secret (information for generating a common key used for data encryption and decryption).

また、中継処理装置120は、ここで生成されたマスターシークレットに従って、サーバ回線163を介して情報提供処理装置150と通信する対象となるデータの暗号化及び復号を行うために用いる共通鍵を生成して、当該生成された共通鍵を代理通信セッションレコード(図10)の共通鍵その他−Sの欄に記憶する。   Also, the relay processing device 120 generates a common key used for encrypting and decrypting data to be communicated with the information providing processing device 150 via the server line 163 according to the master secret generated here. Then, the generated common key is stored in the common key other-S column of the proxy communication session record (FIG. 10).

中継処理装置120は、ステップS1135以降の処理で、サーバ回線163を介してデータを情報提供処理装置150に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。   When the relay processing device 120 transmits data to the information providing processing device 150 via the server line 163 in the processing after step S1135, the relay processing device 120 encrypts and transmits the data using the common key generated here. To do.

また、中継処理装置120は、情報提供処理装置150からサーバ回線163を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。   In addition, the relay processing device 120 decrypts the encrypted data transmitted from the information providing processing device 150 via the server line 163 using the common key generated here.

そして、中継処理装置120は、情報提供処理装置150から受信したSSL Server Certificateメッセージに含まれているサーバ公開鍵証明書に含まれるサーバの公開鍵を用いて、当該生成されたマスターシークレットを暗号化する。   Then, the relay processing device 120 encrypts the generated master secret by using the server public key included in the server public key certificate included in the SSL Server Certificate message received from the information providing processing device 150. To do.

そして、中継処理装置120は、当該暗号化されたマスターシークレットを含むClientKeyExchangeメッセージを情報提供処理装置150に送信する。
情報提供処理装置150は、中継処理装置120からClientKeyExchangeメッセージを受信する。
Then, the relay processing device 120 transmits a Client Key Exchange message including the encrypted master secret to the information providing processing device 150.
The information provision processing device 150 receives the Client Key Exchange message from the relay processing device 120.

そして、情報提供処理装置150は、当該ClientKeyExchangeメッセージに含まれている暗号化されたマスターシークレットを、中継処理装置120に送信したSSL Server Certificateメッセージに含まれるサーバ公開鍵証明書(サーバの公開鍵を含む)に対応する秘密鍵を用いて復号する。   Then, the information provision processing device 150 transmits the encrypted master secret included in the ClientKeyExchange message to the server public key certificate (server public key included in the SSL Server Certificate message transmitted to the relay processing device 120). Decryption using a secret key corresponding to

なお、ここで用いる秘密鍵は、サーバ公開鍵証明書(サーバの公開鍵を含む)に対応付けられてサーバ暗号鍵保存部152に記憶されており、情報提供処理装置150が中継処理装置120に送信したサーバ公開鍵証明書(サーバの公開鍵を含む)に対応するものである。   Note that the secret key used here is stored in the server encryption key storage unit 152 in association with the server public key certificate (including the server public key), and the information provision processing device 150 sends the information to the relay processing device 120. It corresponds to the transmitted server public key certificate (including the server public key).

次に、情報提供処理装置150は、復号されたマスターシークレットに従って共通鍵を生成する。そして、情報提供処理装置150は、該生成された共通鍵の情報を、外部メモリ211などのメモリに記憶する。   Next, the information provision processing device 150 generates a common key according to the decrypted master secret. Then, the information providing processing device 150 stores the generated common key information in a memory such as the external memory 211.

中継処理装置120は、ステップS1135以降の処理で、サーバ回線163を介してデータを情報提供処理装置150に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。   When the relay processing device 120 transmits data to the information providing processing device 150 via the server line 163 in the processing after step S1135, the relay processing device 120 encrypts and transmits the data using the common key generated here. To do.

また、中継処理装置120は、情報提供処理装置150からサーバ回線163を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。   In addition, the relay processing device 120 decrypts the encrypted data transmitted from the information providing processing device 150 via the server line 163 using the common key generated here.

SSL(TLSを含む)の規約では、クライアント認証は、まず、利用者端末110と情報提供処理装置150が共有している情報(ハンドシェイクで互いに交換したメッセージを連結した情報のメッセージダイジェスト)に対して署名した情報(署名データ)を、利用者端末110が、情報提供処理装置150に送信する。すなわち、利用者端末110は、当該メッセージダイジェストを、利用者端末110がSSL Client Certificateメッセージで情報提供処理装置150へ送信した公開鍵に対応する秘密鍵で署名した情報(署名データ)を、情報提供処理装置150へ送信する。そして、情報提供処理装置150が、利用者端末110から受信した該署名データを該公開鍵で復号し、情報提供処理装置150のメモリに記憶されている、利用者端末110と共有している情報(該メッセージダイジェスト)と同一であるか否か判定することで、クライアント認証を実施している。   In the SSL (including TLS) protocol, client authentication is performed for information shared by the user terminal 110 and the information provision processing device 150 (message digest of information obtained by concatenating messages exchanged by handshake). The user terminal 110 transmits the signed information (signature data) to the information provision processing device 150. That is, the user terminal 110 provides information (signature data) obtained by signing the message digest with a secret key corresponding to the public key transmitted from the user terminal 110 to the information provision processing device 150 by the SSL Client Certificate message. Transmit to the processing device 150. The information provision processing device 150 decrypts the signature data received from the user terminal 110 with the public key, and is stored in the memory of the information provision processing device 150 and shared with the user terminal 110 Client authentication is performed by determining whether or not (the message digest) is the same.

以降で説明するステップS1127からステップS1128は、利用者端末110と中継処理装置120とが連携して署名データを作成する処理を行う。   In steps S1127 to S1128 described below, the user terminal 110 and the relay processing device 120 cooperate to create signature data.

ステップS1127では、中継処理装置120は、それまで情報提供処理装置150とSSLのハンドシェイクで交換した各メッセージを連結したデータにハッシュ関数を適用したメッセージダイジェスト(署名対象データ)を生成する。そして、中継処理装置120は利用者端末110へ該署名対象データを送信する。   In step S <b> 1127, the relay processing device 120 generates a message digest (signature target data) in which a hash function is applied to data obtained by concatenating the messages exchanged with the information providing processing device 150 through the SSL handshake. Then, the relay processing device 120 transmits the signature target data to the user terminal 110.

利用者端末110は、中継処理装置120から署名対象データを受信し、該署名対象データに対してステップS1125で送信した利用者端末110の公開鍵証明書に対応する秘密鍵で署名を行い(暗号化を行い)、署名データを作成する。   The user terminal 110 receives the signature target data from the relay processing device 120, and signs the signature target data with the private key corresponding to the public key certificate of the user terminal 110 transmitted in step S1125 (encryption). To create signature data.

そして、ステップS1128では、利用者端末110は、中継処理装置120へ該署名データを送信する。そして、中継処理装置120は、利用者端末110から該署名データを受信する。   In step S 1128, the user terminal 110 transmits the signature data to the relay processing device 120. Then, the relay processing device 120 receives the signature data from the user terminal 110.

ステップS1129では、中継処理装置120は、該署名データを含むSSL Certificate Verifyメッセージを作成し、情報提供処理装置150へ送信する。   In step S <b> 1129, the relay processing apparatus 120 creates an SSL Certificate Verify message including the signature data, and transmits the SSL Certificate Verify message to the information provision processing apparatus 150.

すなわち、中継処理装置120は、S1126で送信されたクライアント端末の公開鍵証明書に対応する秘密鍵を用いて署名対象データを暗号化することにより生成される署名データを、サーバ回線163を介して情報提供処理装置に送信する(署名データ送信手段)。   That is, the relay processing device 120 transmits the signature data generated by encrypting the signature target data using the private key corresponding to the public key certificate of the client terminal transmitted in S1126 via the server line 163. Transmit to the information provision processing device (signature data transmission means).

そして、情報提供処理装置150は、中継処理装置120から受信した該メッセージ(署名データ)を上記の方法で検証することによって、利用者端末110のクライアント認証を実施する。   Then, the information provision processing device 150 performs client authentication of the user terminal 110 by verifying the message (signature data) received from the relay processing device 120 by the above method.

ステップS1130、ステップS1131では、中継処理装置120と情報提供処理装置150とは相互にHandshake finishメッセージを交換し、サーバ回線163上のSSLハンドシェイクを終了し、SSLによる暗号化通信であるサーバ回線163を確立する。   In steps S1130 and S1131, the relay processing device 120 and the information providing processing device 150 exchange Handshake finish messages with each other, finish the SSL handshake on the server line 163, and perform server communication 163 that is encrypted communication by SSL. Establish.

ステップS1132、ステップS1133では、利用者端末110と中継処理装置120とは相互にHandshake finishメッセージを交換し、前記プロキシ回線161上のSSLハンドシェイクを終了し、SSLによる暗号化通信であるプロキシ回線161を確立する。   In steps S1132 and S1133, the user terminal 110 and the relay processing device 120 exchange a handshake finish message with each other, the SSL handshake on the proxy line 161 is terminated, and the proxy line 161, which is encrypted communication by SSL. Establish.

ステップS1134では、利用者端末110は、ステップS1101において発生したコンテンツ取得要求に対応する通信要求メッセージを、プロキシ回線161上のSSLハンドシェイクで取り決めた方法で暗号化した暗号化通信要求メッセージを、中継処理装置120へ送信する。   In step S1134, the user terminal 110 relays the encrypted communication request message obtained by encrypting the communication request message corresponding to the content acquisition request generated in step S1101 by the method determined by the SSL handshake on the proxy line 161. Transmit to the processing device 120.

すなわち、利用者端末110は、ステップS1101において発生したコンテンツ取得要求に対応する通信要求メッセージを、中継処理装置120と共有している共通鍵を用いて暗号化して、当該暗号化された暗号化通信要求メッセージを中継処理装置120に送信する。   That is, the user terminal 110 encrypts the communication request message corresponding to the content acquisition request generated in step S1101 using the common key shared with the relay processing device 120, and the encrypted encrypted communication. The request message is transmitted to the relay processing device 120.

ステップS1135では、中継処理装置120は、利用者端末110から受信した暗号化通信要求メッセージを、利用者端末110と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Cに格納されている共通鍵)を用いて復号化し、当該復号することで得られる通信要求メッセージを取得する。そして、中継処理装置120は、付加機能処理部130において該通信要求メッセージへアクセス制御等の付加機能処理を実行する。この例ではアクセス制御処理を行い、アクセスが許可されるとする。   In step S1135, the relay processing device 120 uses the common key (proxy communication session management (FIG. 10) table common other-C) shared with the user terminal 110 for the encrypted communication request message received from the user terminal 110. And a communication request message obtained by the decryption is acquired. Then, the relay processing device 120 executes additional function processing such as access control on the communication request message in the additional function processing unit 130. In this example, it is assumed that access control processing is performed and access is permitted.

すなわち、中継処理装置120は、通信要求メッセージの内容を解析して、情報提供処理装置150への通信要求メッセージの送信を許可するか否かの判定を行うことによりアクセス制御処理を行い、情報提供処理装置150への通信要求メッセージの送信を許可すると判定された場合は、当該通信要求メッセージを情報提供処理装置150に送信するように制御する。一方、中継処理装置120は、情報提供処理装置150への通信要求メッセージの送信を許可しないと判定された場合は、当該通信要求メッセージを情報提供処理装置150には送信しないように制御する。   In other words, the relay processing device 120 analyzes the content of the communication request message, performs access control processing by determining whether to permit transmission of the communication request message to the information providing processing device 150, and provides information provision When it is determined that transmission of the communication request message to the processing device 150 is permitted, control is performed so that the communication request message is transmitted to the information providing processing device 150. On the other hand, when it is determined that the transmission of the communication request message to the information provision processing device 150 is not permitted, the relay processing device 120 performs control so that the communication request message is not transmitted to the information provision processing device 150.

次に、該通信要求メッセージをサーバ回線163上のSSLハンドシェイクで取り決めた方法で暗号化した暗号化通信要求メッセージを生成し、該メッセージを情報提供処理装置150へ送信する。 Next, an encrypted communication request message is generated by encrypting the communication request message by the method decided by the SSL handshake on the server line 163, and the message is transmitted to the information providing processing device 150.

すなわち、中継処理装置120は、通信要求メッセージを情報提供処理装置150に送信するように制御する場合、該通信要求メッセージを、情報提供処理装置150と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Sに格納されている共通鍵)を用いて暗号化して、当該暗号化することにより生成される暗号化通信要求メッセージを情報提供処理装置150へ送信する。   That is, when the relay processing device 120 controls to transmit a communication request message to the information providing processing device 150, the relay processing device 120 transmits the communication request message to the information providing processing device 150 using a common key (proxy communication session management ( FIG. 10) is encrypted using a common other in the table-common key stored in S), and an encrypted communication request message generated by the encryption is transmitted to the information provision processing device 150.

ステップS1136では、情報提供処理装置150は、中継処理装置120から受信した暗号化通信要求メッセージを中継処理装置120と共有している共通鍵を用いて復号化し、当該復号することにより通信要求メッセージを生成する。   In step S1136, the information provision processing device 150 decrypts the encrypted communication request message received from the relay processing device 120 using the common key shared with the relay processing device 120, and decrypts the communication request message by the decryption. Generate.

そして、情報提供処理装置150は、中継処理装置120からの通信要求メッセージの応答メッセージとして通信応答メッセージを作成し、該通信応答メッセージを、中継処理装置120と共有している共通鍵を用いて暗号化して暗号化通信応答メッセージを生成し、該暗号化通信応答メッセージを中継処理装置120へ送信する。   Then, the information provision processing device 150 creates a communication response message as a response message of the communication request message from the relay processing device 120, and encrypts the communication response message using the common key shared with the relay processing device 120. The encrypted communication response message is generated, and the encrypted communication response message is transmitted to the relay processing device 120.

ステップS1137では、中継処理装置120は、情報提供処理装置150から受信した暗号化通信応答メッセージを、情報提供処理装置150と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Sに格納されている共通鍵)を用いて復号化して通信応答メッセージを取得する。そして、中継処理装置120は、付加機能処理部130において該通信応答メッセージへアクセス制御等の付加機能処理を実行する。   In step S <b> 1137, the relay processing device 120 uses the common key (proxy communication session management (FIG. 10) table common other shared with the information provision processing device 150) for the encrypted communication response message received from the information provision processing device 150. -A common response key stored in S is decrypted to obtain a communication response message. Then, the relay processing apparatus 120 executes additional function processing such as access control on the communication response message in the additional function processing unit 130.

すなわち、中継処理装置120は、通信応答メッセージの内容を解析することにより、利用者端末110への通信応答メッセージの送信を許可するか否かの判定を行うことによりアクセス制御処理を行う。ここでの例では、中継処理装置120は、付加機能処理として通信応答メッセージ内のウィルス検査処理を行い、その結果、通信応答メッセージにはウィルスが検知されなかったとする。   That is, the relay processing device 120 performs the access control process by determining whether to permit transmission of the communication response message to the user terminal 110 by analyzing the content of the communication response message. In this example, it is assumed that the relay processing device 120 performs a virus check process in the communication response message as an additional function process, and as a result, no virus is detected in the communication response message.

中継処理装置120は、利用者端末110への通信応答メッセージの送信を許可すると判定された場合は、当該通信応答メッセージを利用者端末110送信するように制御する。一方、中継処理装置120は、利用者端末110への通信応答メッセージの送信を許可しないと判定された場合は、当該通信応答メッセージを利用者端末110には送信しないように制御する。   When it is determined that the transmission of the communication response message to the user terminal 110 is permitted, the relay processing device 120 controls to transmit the communication response message to the user terminal 110. On the other hand, when it is determined that transmission of a communication response message to the user terminal 110 is not permitted, the relay processing device 120 performs control so that the communication response message is not transmitted to the user terminal 110.

次に、中継処理装置120は、当該通信応答メッセージを利用者端末110に送信するように制御する場合、該通信応答メッセージをプロキシ回線161上のSSLハンドシェイクで取り決めた方法で暗号化した暗号化通信応答メッセージを生成し、該メッセージを利用者端末110へ送信する。   Next, when the relay processing device 120 controls to transmit the communication response message to the user terminal 110, the encryption is performed by encrypting the communication response message by the method determined by the SSL handshake on the proxy line 161. A communication response message is generated, and the message is transmitted to the user terminal 110.

すなわち、中継処理装置120は、当該通信応答メッセージを利用者端末110に送信するように制御する場合、該通信応答メッセージを、利用者端末110と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Cに格納されている共通鍵)を用いて暗号化することによって、暗号化通信応答メッセージを生成し、当該暗号化通信メッセージを利用者端末110に送信する。   That is, when the relay processing device 120 controls to transmit the communication response message to the user terminal 110, the relay processing device 120 transmits the communication response message to the common key (proxy communication session management (see FIG. 10) The encrypted communication response message is generated by encrypting using the common other in the table-common key stored in -C), and the encrypted communication message is transmitted to the user terminal 110.

利用者端末110は、中継処理装置120から受信した暗号化通信応答メッセージを、中継処理装置120と共有している共通鍵を用いて復号化することによって、通信応答メッセージを生成し、該通信応答メッセージを閲覧処理部111の画面へ表示するなどの処理を行う。   The user terminal 110 generates a communication response message by decrypting the encrypted communication response message received from the relay processing device 120 using the common key shared with the relay processing device 120, and the communication response Processing such as displaying a message on the screen of the browsing processing unit 111 is performed.

ステップS1138では、情報提供処理装置150は、SSLコネクションを終了するためにSSLアラートプロトコルによる終了通知メッセージを中継処理装置120へ送信する。   In step S1138, the information provision processing device 150 transmits an end notification message by the SSL alert protocol to the relay processing device 120 in order to end the SSL connection.

ステップS1139では、中継処理装置120は、同じく終了通知メッセージを、情報提供処理装置150へ送信する。これにより、サーバ回線163を終了させる。   In step S <b> 1139, the relay processing device 120 transmits an end notification message to the information providing processing device 150. As a result, the server line 163 is terminated.

ステップS1140において、中継処理装置120は、SSLコネクションを終了するためにSSLアラートプロトコルによる終了通知メッセージを利用者端末110へ送信する。   In step S1140, the relay processing device 120 transmits an end notification message based on the SSL alert protocol to the user terminal 110 in order to end the SSL connection.

ステップS1141において、利用者端末110は、同じく終了通知メッセージを、中継処理装置120へ送信する。これにより、前記プロキシ回線161を終了させる。
上述したSSLの暗号化通信の確立手順は、一例であり、上述したメッセージ以外のメッセージを装置間で送受信して暗号化通信を確立するようにしてもよい。
In step S <b> 1141, the user terminal 110 similarly transmits an end notification message to the relay processing device 120. As a result, the proxy line 161 is terminated.
The procedure for establishing the SSL encrypted communication described above is an example, and the encrypted communication may be established by transmitting / receiving messages other than the messages described above between the devices.

以上で、SSLの暗号化通信(回線)を介して通信される通信データを、通信方式が代理方式(“代理”)の場合に、中継する際の通信メッセージ交換フローの例の説明を終了する。   This is the end of the description of the example of the communication message exchange flow when relaying the communication data communicated via the SSL encrypted communication (line) when the communication method is the proxy method (“proxy”). .

(セッション再開機能による暗号化通信を代理方式によって中継する場合の通信メッセージ交換フロー) (Communication message exchange flow when encrypted communication by session resumption function is relayed by proxy method)

次に、暗号化通信されるデータを代理方式によって中継する場合であり、かつ、プロキシ回線161のSSLコネクションとサーバ回線163のSSLコネクションとにおいてセッション再開機能によりSSLセッションを開設した場合の、利用者端末110と中継処理装置120と情報提供処理装置150との間の通信メッセージの交換フローについて、図12を用いて説明する。   Next, the user who relays the encrypted communication data by the proxy method and opens the SSL session by the session resumption function in the SSL connection of the proxy line 161 and the SSL connection of the server line 163 A communication message exchange flow among the terminal 110, the relay processing device 120, and the information provision processing device 150 will be described with reference to FIG.

図12は、暗号化通信されるデータを代理方式によって中継する場合であり、かつ、プロキシ回線161のSSLコネクションとサーバ回線163のSSLコネクションとにおいてセッション再開機能によりSSLセッションを開設した場合の、利用者端末110と中継処理装置120と情報提供処理装置150との間の通信メッセージの交換フローの例を示す図である。   FIG. 12 shows a case where data to be encrypted is relayed by a proxy method, and when an SSL session is established by the session resumption function between the SSL connection of the proxy line 161 and the SSL connection of the server line 163 FIG. 10 is a diagram illustrating an example of a communication message exchange flow among the user terminal 110, the relay processing device 120, and the information provision processing device 150.

セッション再開機能とは、過去に開設して終了させたセッションを再開するための機能であり、SSLにおいてセッションを新規に作成せずに再開させた場合はセッションを確立するために必要なセッション鍵(共通鍵)の生成、交換に関わる負荷の高い処理を省略できるために、性能向上のために利用される機能である。   The session resuming function is a function for resuming a session that has been opened and ended in the past. When a session is resumed without creating a new session in SSL, a session key ( This is a function used to improve performance because processing with high load related to generation and exchange of a common key can be omitted.

なお、図12中の利用者端末110と中継処理装置120との間のすべての通信はプロキシ回線161上で行われる。   Note that all communication between the user terminal 110 and the relay processing device 120 in FIG. 12 is performed on the proxy line 161.

ステップS1201の処理は、前述したステップS1101の処理と同じである。   The process in step S1201 is the same as the process in step S1101 described above.

次に、利用者端末110は、ステップS1201におけるコンテンツ取得要求に対して閲覧処理部111に登録されたイベントハンドラによって、拡張機能処理部112の処理が起動される。利用者端末110の拡張機能処理部112では、該コンテンツ取得要求のURLのスキーマ部を取得し、該スキーマがHTTPSであることから、中継処理装置120における通信方式を決定するための処理を行う。利用者端末110は、中継処理装置120へ問い合わせを行う前に、過去に中継処理装置120との通信で用いられた情報が利用できないかどうかを調べるために、管理表保存部114のクライアント通信方式キャッシュ表(図16)を参照し、該コンテンツ取得要求に含まれるURLから情報提供処理装置150のサーバ識別子(ホスト名:ポート番号)を生成し、該サーバ識別子をキーにしてクライアント通信方式キャッシュ表(図16)のレコードを検索する。ここの例では、利用者端末110は、検索の結果、該サーバ識別子を条件として満たすレコードを発見し、該レコードの通信方式欄を参照し、通信方式を”代理”と判定する。なお、検索の結果、通信方式が”直接”であると判定された場合は、通常の方式(直接方式)で利用者端末110と情報提供処理装置150とが直接、SSLの暗号化通信回線を確立するように制御する。   Next, in the user terminal 110, the process of the extended function processing unit 112 is activated by the event handler registered in the browsing processing unit 111 in response to the content acquisition request in step S1201. The extended function processing unit 112 of the user terminal 110 acquires the schema part of the URL of the content acquisition request, and performs processing for determining the communication method in the relay processing apparatus 120 because the schema is HTTPS. Before making an inquiry to the relay processing device 120, the user terminal 110 checks the client communication method of the management table storage unit 114 in order to check whether information used in communication with the relay processing device 120 in the past is unavailable. Referring to the cache table (FIG. 16), the server identifier (host name: port number) of the information provision processing device 150 is generated from the URL included in the content acquisition request, and the client communication method cache table is set using the server identifier as a key. The record of (FIG. 16) is searched. In this example, as a result of the search, the user terminal 110 finds a record that satisfies the server identifier as a condition, refers to the communication method column of the record, and determines that the communication method is “proxy”. If the communication method is determined to be “direct” as a result of the search, the user terminal 110 and the information provision processing device 150 directly connect the SSL encrypted communication line using the normal method (direct method). Control to establish.

ステップS1202では、利用者端末110は前述したステップS1107と同じ処理を行う。   In step S1202, the user terminal 110 performs the same process as in step S1107 described above.

ステップS1203では、中継処理装置120は前述したステップS1108と同じ処理を行う。   In step S1203, the relay processing apparatus 120 performs the same process as in step S1108 described above.

ステップS1204では、中継処理装置120は前述したステップS1109と同じ処理を行う。   In step S1204, the relay processing apparatus 120 performs the same process as in step S1109 described above.

ステップS1205では、利用者端末110の閲覧処理部111は、情報提供処理装置150への過去の通信で利用したSSLのセッション情報がキャッシュされているので再開可能であると判定し、キャッシュされているセッション情報のセッションIDを付加したClient Helloメッセージを中継処理装置120へ送信する。
利用者端末110の閲覧処理部111は、情報提供処理装置150への過去の通信で利用したSSLのセッション情報がキャッシュされているか否かを判定した結果、SSLのセッション情報がキャッシュされていないと判定した場合は、図11のステップS1110で説明した通り、セッションIDを付加していないSSL Client Helloメッセージを中継処理装置120へ送信する。
In step S1205, the browsing processing unit 111 of the user terminal 110 determines that it can be restarted because the SSL session information used in the past communication with the information providing processing device 150 is cached, and is cached. A Client Hello message to which the session ID of the session information is added is transmitted to the relay processing device 120.
The browsing processing unit 111 of the user terminal 110 determines whether or not the SSL session information used in the past communication to the information providing processing device 150 is cached. As a result, the SSL session information is not cached. If it is determined, as described in step S1110 of FIG. 11, an SSL Client Hello message without a session ID is transmitted to the relay processing device 120.

ステップS1206では、中継処理装置120は、管理表保存部129のプロキシ通信方式キャッシュ表(図9)の中から、ステップS1202(ステップS1107)で受信したクライアント識別子とサーバ識別子を、それぞれクライアント識別子欄とサーバ識別子欄にもつレコードを取得し、該レコードの通信方式欄の値(”代理”)から、中継を代理方式で実施することを判定(決定)する。   In step S1206, the relay processing apparatus 120 displays the client identifier and server identifier received in step S1202 (step S1107) from the proxy communication method cache table (FIG. 9) of the management table storage unit 129, respectively, in the client identifier field. A record held in the server identifier field is acquired, and it is determined (determined) that the relay is performed in the proxy system from the value (“proxy”) in the communication system field of the record.

次に、中継処理装置120は、管理表保存部129の代理通信セッション管理表(図10)の中から、ステップS1202(ステップS1107)で受信したクライアント識別子とサーバ識別子を、それぞれクライアント識別子欄とサーバ識別子欄にもつレコード(代理通信セッションレコードと呼ぶ)を取得する。代理通信セッション管理表(図10)は、代理通信記憶手段の適用例である。   Next, the relay processing device 120 displays the client identifier and server identifier received in step S1202 (step S1107) from the proxy communication session management table (FIG. 10) of the management table storage unit 129, respectively, in the client identifier field and server. A record (called proxy communication session record) in the identifier field is acquired. The proxy communication session management table (FIG. 10) is an application example of proxy communication storage means.

中継処理装置120は、該代理通信セッションレコードのセッションIDーC欄を参照し、利用者端末110から受信したSSL Client HelloメッセージのセッションID(第1のセッション識別情報)と同じならば、中継処理装置120側もセッション再開が可能と判定する(判定手段)。   The relay processing device 120 refers to the session ID-C column of the proxy communication session record, and if the same as the session ID (first session identification information) of the SSL Client Hello message received from the user terminal 110, the relay processing device 120 The device 120 also determines that session resumption is possible (determination means).

すなわち、中継処理装置120は、該代理通信セッションレコードのセッションIDーC欄の値が、利用者端末110から受信したSSL Client Helloメッセージに含まれるセッションIDと同一であるか否かを判定し、同一であると判定された場合は、中継処理装置120もセッションの再開が可能であると判定する。一方、中継処理装置120は、該代理通信セッションレコードのセッションIDーC欄の値が、利用者端末110から受信したSSL Client Helloメッセージに含まれるセッションIDと同一ではないと判定された場合は、中継処理装置120はセッションの再開が不可能であると判定する。ここで、中継処理装置120は、セッションの再開が不可能であると判定された場合は、これ以降の処理は実行しない。ここでの例では、セッション再開は可能と判定され、利用者端末110へ該セッションIDを付加したSSL Server Helloメッセージを送信する。   That is, the relay processing device 120 determines whether or not the value in the session ID-C column of the proxy communication session record is the same as the session ID included in the SSL Client Hello message received from the user terminal 110, When it is determined that they are the same, the relay processing device 120 also determines that the session can be resumed. On the other hand, when the relay processing device 120 determines that the value in the session ID-C column of the proxy communication session record is not the same as the session ID included in the SSL Client Hello message received from the user terminal 110, The relay processing device 120 determines that the session cannot be resumed. Here, when it is determined that the session cannot be resumed, the relay processing device 120 does not perform the subsequent processing. In this example, it is determined that the session can be resumed, and an SSL Server Hello message with the session ID added is transmitted to the user terminal 110.

ステップS1207では、中継処理装置120は、代理通信セッションレコードのセッションIDーS欄にセッションIDの値があるか否かを判定し、代理通信セッションレコードのセッションIDーS欄にセッションID(第2のセッション識別情報)の値があると判定された場合に、サーバ回線163においてもセッションを再開することができると判定し、該セッションIDを付加したClient Helloメッセージを情報提供処理装置150へ送信する。一方、中継処理装置120は、代理通信セッションレコードのセッションIDーS欄にセッションIDの値が無いと判定された場合は、サーバ回線163においてはセッションを再開することが出来ないと判定し、これ以降の処理を実行しないように制御する。   In step S1207, the relay processing device 120 determines whether or not there is a session ID value in the session ID-S column of the proxy communication session record, and sets the session ID (second ID) in the session ID-S column of the proxy communication session record. If it is determined that there is a value of the session identification information), it is determined that the session can be resumed also on the server line 163, and the Client Hello message to which the session ID is added is transmitted to the information providing processing device 150. . On the other hand, when it is determined that there is no session ID value in the session ID-S column of the proxy communication session record, the relay processing device 120 determines that the session cannot be resumed on the server line 163, and this Control is performed so that subsequent processing is not executed.

ステップS1208では、情報提供処理装置150は、中継処理装置120から受信したセッションIDで識別されるSSLのセッション情報が情報提供処理装置150においても利用可能なことを確認したのち、中継処理装置120へ、該セッションIDを付加したServer Helloメッセージを応答する。これは、中継処理装置120と情報提供処理装置150の間におけるサーバ回線163のSSLコネクションにおいても、セッション再開の合意がとれたことを意味する。   In step S <b> 1208, the information provision processing apparatus 150 confirms that the SSL session information identified by the session ID received from the relay processing apparatus 120 can be used also in the information provision processing apparatus 150, and then transmits the information to the relay processing apparatus 120. Then, a Server Hello message with the session ID added is responded. This means that the session resumption agreement has been reached also in the SSL connection of the server line 163 between the relay processing device 120 and the information provision processing device 150.

ステップS1209では、情報提供処理装置150は中継処理装置120へSSL Handshake finishedメッセージを送信する。   In step S1209, the information provision processing device 150 transmits an SSL Handshake finished message to the relay processing device 120.

ステップS1210では、中継処理装置120は情報提供処理装置150へSSL Handshake finishedメッセージを送信する。   In step S <b> 1210, the relay processing device 120 transmits an SSL Handshake finished message to the information providing processing device 150.

以上をもって、中継処理装置120と情報提供処理装置150の間のサーバ回線163のSSLハンドシェイク処理を終了する。   With the above, the SSL handshake process of the server line 163 between the relay processing device 120 and the information providing processing device 150 is completed.

ステップS1211では、中継処理装置120は利用者端末110へHandshake finishedメッセージを送信する。   In step S1211, the relay processing device 120 transmits a Handshake finished message to the user terminal 110.

ステップS1210では、利用者端末110は中継処理装置120へHandshake finishedメッセージを送信する。   In step S <b> 1210, the user terminal 110 transmits a Handshake finished message to the relay processing device 120.

以上をもって、利用者端末110と中継処理装置120と間のプロキシ回線161のSSLハンドシェイク処理を終了する。   Thus, the SSL handshake process of the proxy line 161 between the user terminal 110 and the relay processing device 120 is finished.

以降は、図11を用いて説明した、ステップS1134からステップS1141までの処理と同じ処理を、図12におけるステップS1213からステップS1220までの処理で実施する。   Thereafter, the same processing as that from step S1134 to step S1141 described with reference to FIG. 11 is performed by the processing from step S1213 to step S1220 in FIG.

以上で、セッション再開機能による暗号化通信を代理方式によって中継する場合の通信メッセージ交換フローの例の説明を終了する。   This is the end of the description of the example of the communication message exchange flow when the encrypted communication by the session resuming function is relayed by the proxy method.

以上、説明したように、セッション再開機能を利用した中継処理では、SSLハンドシェイク処理を大幅に短縮し、計算負荷の高い処理を省略することができる。また、上記で説明した手順によれば、セッション再開機能を利用した場合でも、利用者端末110は、セッションを開設した通信時(図11のステップS1121)に管理表保存部114のサーバ証明書キャッシュ表に保存しておいたサーバ証明書欄を参照することにより、情報提供処理装置150のサーバ公開鍵証明書を、中継処理装置120から送信されることなく利用者に提示することができ、利用者に通信相手の真正性を確認する手段を与えることが可能となっている。なお、クライアント認証に関しては、情報提供処理装置150は、情報提供処理装置150のメモリに記憶されているセッション情報の中に利用者端末110の公開鍵証明書をキャッシュしているために再度、中継処理装置120にクライアント認証の要求情報を送信し検証処理を行うことも省略できている。   As described above, in the relay process using the session resumption function, the SSL handshake process can be significantly shortened, and a process with a high calculation load can be omitted. Further, according to the procedure described above, even when the session resuming function is used, the user terminal 110 performs the server certificate cache of the management table storage unit 114 at the time of communication for establishing a session (step S1121 in FIG. 11). By referring to the server certificate column stored in the table, the server public key certificate of the information providing processing device 150 can be presented to the user without being transmitted from the relay processing device 120. It is possible to give a person a means for confirming the authenticity of the communication partner. Regarding the client authentication, the information provision processing device 150 caches the public key certificate of the user terminal 110 in the session information stored in the memory of the information provision processing device 150, and therefore relays again. Transmission of client authentication request information to the processing device 120 and verification processing can also be omitted.

(中継処理装置120における通信処理フロー) (Communication processing flow in the relay processing device 120)

次に、利用者端末110が中継処理装置120を経由して情報提供処理装置150へ暗号化通信(代理方式による暗号化通信)を行う場合の中継処理装置120の処理フローを、図3を用いて説明する。   Next, the processing flow of the relay processing device 120 when the user terminal 110 performs encrypted communication (encrypted communication using a proxy method) to the information providing processing device 150 via the relay processing device 120 will be described with reference to FIG. I will explain.

なお、図3に示すステップS301からステップS320は、中継処理装置120のCPU201が実行することにより実現される。   Note that steps S301 to S320 illustrated in FIG. 3 are realized by the CPU 201 of the relay processing device 120 executing.

ステップS301では、中継処理装置120は、利用者端末110から情報提供処理装置150への暗号化通信の要求の発生を元に通信方式を決定する処理(通信方式決定処理)を行う(図11のステップS1101からステップS1106)。   In step S301, the relay processing device 120 performs processing (communication method determination processing) for determining a communication method based on the generation of a request for encrypted communication from the user terminal 110 to the information providing processing device 150 (FIG. 11). Step S1101 to step S1106).

通信方式決定処理では、利用者端末110が要求する通信に対する中継処理装置120における通信方式が決定され、管理表保存部129のプロキシ通信方式キャッシュ表(図9)に、決定された通信方式を通信方式欄にもつ新しいレコードが作成される。該レコードの通信方式欄の値は、”直接”か”代理”または”選択なし”のいずれかになる。処理の詳細は図4を用いて後述する。   In the communication method determination process, the communication method in the relay processing device 120 for communication requested by the user terminal 110 is determined, and the determined communication method is communicated to the proxy communication method cache table (FIG. 9) of the management table storage unit 129. A new record is created in the method field. The value of the communication method column of the record is either “direct”, “proxy”, or “no selection”. Details of the processing will be described later with reference to FIG.

ステップS302では、クライアント通信部121は、利用者端末110の閲覧処理部111から接続を受け付け、SSL(TLSを含む)のプロキシ接続プロトコルに則ったCONNECTメソッドによる接続要求メッセージ(情報提供処理装置150とのSSL通信の要求の情報)を受信し、通信制御部124へ該接続要求メッセージを渡す(図11のステップS1107)。
すなわち、中継処理装置120は、利用者端末110から、情報提供処理装置150へのSSL通信の要求を受信する(受信手段)。
In step S302, the client communication unit 121 accepts a connection from the browsing processing unit 111 of the user terminal 110, and receives a connection request message (the information providing processing device 150 and the information providing processing device 150) using the CONNECT method according to the SSL (including TLS) proxy connection protocol. (SSL communication request information) and the connection request message is passed to the communication control unit 124 (step S1107 in FIG. 11).
That is, the relay processing device 120 receives a request for SSL communication from the user terminal 110 to the information providing processing device 150 (receiving unit).

すなわち、中継処理装置120は、利用者端末110からSSL通信の要求を受信したことを条件に、プロキシ回線161の確立、及びサーバ回線163の確立を開始するように制御する(制御手段)。   In other words, the relay processing device 120 controls to start establishment of the proxy line 161 and establishment of the server line 163 on the condition that the SSL communication request is received from the user terminal 110 (control unit).

以降、中継処理装置120のクライアント通信部121と利用者端末110の閲覧処理部111との間で開設される接続回線をプロキシ回線161と呼ぶ。   Hereinafter, a connection line established between the client communication unit 121 of the relay processing device 120 and the browsing processing unit 111 of the user terminal 110 is referred to as a proxy line 161.

次に、通信制御部124は、該接続要求メッセージのCONNECTメソッドで指定された情報提供処理装置150のホスト名とポート番号からサーバ識別子(ホスト名:ポート番号)を作成し、また該接続要求メッセージのリクエストヘッダーからクライアント識別子(IPアドレス:閲覧処理部識別子)を取得する。そして、通信制御部124は、該サーバ識別子と該クライアント識別子をキーにして、管理表保存部129のプロキシ通信方式キャッシュ表(図9)からレコードを検索し、検索結果、該レコードの通信方式を取得する。該通信方式はステップS301において記憶された値である。   Next, the communication control unit 124 creates a server identifier (host name: port number) from the host name and port number of the information provision processing device 150 specified by the CONNECT method of the connection request message, and also generates the connection request message. The client identifier (IP address: browsing processing unit identifier) is acquired from the request header. Then, the communication control unit 124 searches for a record from the proxy communication method cache table (FIG. 9) of the management table storage unit 129 using the server identifier and the client identifier as keys, and sets the search result and the communication method of the record. get. The communication method is the value stored in step S301.

通信制御部124は、通信方式が”直接”又は”代理”であった場合には、CONNECTメソッドで渡されたホスト名とポート番号をサーバ通信部122へ渡し、サーバ通信部122は該ホスト名の情報提供処理装置150の該ポート番号へ接続する(図11のステップS1108)。接続が失敗すると、通信制御部124は、クライアント通信部121を経由して利用者端末110へエラーメッセージを応答(送信)して終了する。接続が成功すると、通信制御部124は、クライアント通信部121を経由して利用者端末110へHTTP応答コード200を応答する(図11のステップS1109)。以降、前記中継処理装置120のサーバ通信部122と情報提供処理装置150のサーバ処理部151との間で開設される接続回線をサーバ回線163と呼ぶ。   When the communication method is “direct” or “proxy”, the communication control unit 124 passes the host name and port number passed by the CONNECT method to the server communication unit 122, and the server communication unit 122 To the port number of the information provision processing device 150 (step S1108 in FIG. 11). If the connection fails, the communication control unit 124 responds (sends) an error message to the user terminal 110 via the client communication unit 121 and ends. If the connection is successful, the communication control unit 124 returns an HTTP response code 200 to the user terminal 110 via the client communication unit 121 (step S1109 in FIG. 11). Hereinafter, a connection line established between the server communication unit 122 of the relay processing device 120 and the server processing unit 151 of the information provision processing device 150 is referred to as a server line 163.

また、通信制御部124は、通信方式が”代理”であった場合には、サーバ識別子とクライアント識別子をキーにして、管理表保存部129の代理通信セッション管理表(図10)からレコードを検索する。通信制御部124は、該キーに一致するレコードがなかった場合には、サーバ識別子とクライアント識別子を、それぞれサーバ識別子欄とクライアント識別子欄にもつ新しいレコードを作成する。通信制御部124は、検索で発見されたレコード又は新規作成したレコードを中継処理装置120のRAM203に記憶させる。以降、このレコードを代理通信セッションレコードと呼び通信制御部124において参照できるものとする。   Further, when the communication method is “proxy”, the communication control unit 124 searches for a record from the proxy communication session management table (FIG. 10) of the management table storage unit 129 using the server identifier and the client identifier as keys. To do. If there is no record matching the key, the communication control unit 124 creates a new record having a server identifier and a client identifier in the server identifier column and the client identifier column, respectively. The communication control unit 124 stores the record found by the search or the newly created record in the RAM 203 of the relay processing device 120. Hereinafter, this record is called a proxy communication session record and can be referred to in the communication control unit 124.

ステップS303では、ステップS302で取得した通信方式によって処理を分岐させる。すなわち、中継処理装置120は、ステップS302で取得した通信方式が、”直接”であるか、”代理”であるか、”選択なし”であるかを判定する。前記通信方式が”直接”であった場合はステップS304へ進み、”代理”であった場合はステップS305へ進み、”選択なし”であった場合はステップS319へ進む。   In step S303, the process is branched according to the communication method acquired in step S302. That is, the relay processing apparatus 120 determines whether the communication method acquired in step S302 is “direct”, “proxy”, or “no selection”. If the communication method is “direct”, the process proceeds to step S304. If it is “proxy”, the process proceeds to step S305. If it is “not selected”, the process proceeds to step S319.

(直接プロキシ処理)
ステップS304では、通常のプロキシサーバが行う方式(直接方式)によって暗号化通信(HTTPS通信)されるデータを中継する。
(Direct proxy processing)
In step S304, data to be encrypted (HTTPS communication) is relayed by a method (direct method) performed by a normal proxy server.

すなわち、中継処理装置120は、利用者端末110と情報提供処理装置150との間で送受信されるデータを素通しして中継する。これにより、従来のように、クライアント端末と情報処理装置との間でSSLによる暗号化通信(第3のSSL通信)が確立される。   That is, the relay processing device 120 relays data transmitted and received between the user terminal 110 and the information provision processing device 150 through the data. Thereby, the encryption communication (3rd SSL communication) by SSL is established between a client terminal and information processing apparatus like the past.

そして、中継処理装置120は、ここで確立された暗号化通信を用いて、利用者端末110と情報提供処理装置150との間で通信される通信データを中継する。   The relay processing device 120 relays communication data communicated between the user terminal 110 and the information provision processing device 150 using the encrypted communication established here.

通信制御部124は、ステップS302において通信制御部124が利用者端末110へHTTP応答コード200を応答した後、クライアント通信部121が利用者端末110の閲覧処理部111から受信する全ての暗号化通信メッセージ(暗号化されたデータ)を、そのまま、サーバ通信部122から情報提供処理装置150のサーバ処理部151へ送信する。また、通信制御部124は、サーバ通信部122が情報提供処理装置150のサーバ処理部151から受信する全ての暗号化通信メッセージ(暗号化されたデータ)を、そのまま、クライアント通信部121から利用者端末110の閲覧処理部111へ送信する。そして、通信制御部124は、サーバ回線163が情報提供処理装置150から切断されるかもしくはプロキシ回線161が利用者端末110から切断されるかのいずれかが発生すると反対側の通信回線も切断し、全ての処理を終了する。   After the communication control unit 124 responds the HTTP response code 200 to the user terminal 110 in step S302, the communication control unit 124 receives all encrypted communications that the client communication unit 121 receives from the browsing processing unit 111 of the user terminal 110. The message (encrypted data) is transmitted as it is from the server communication unit 122 to the server processing unit 151 of the information provision processing device 150. In addition, the communication control unit 124 sends all encrypted communication messages (encrypted data) received by the server communication unit 122 from the server processing unit 151 of the information providing processing device 150 from the client communication unit 121 to the user. It transmits to the browsing processing part 111 of the terminal 110. Then, when either the server line 163 is disconnected from the information provision processing device 150 or the proxy line 161 is disconnected from the user terminal 110, the communication control unit 124 disconnects the opposite communication line. All processing is terminated.

なお、この直接方式による中継処理では、通信要求メッセージ、通信応答メッセージとも暗号化されたまま中継するので、通信制御部124を経由する際、中継処理装置120は、付加機能処理部130における付加機能処理(通信メッセージ検査や通信応答キャッシュなど)は実行しない。   In the relay processing by the direct method, both the communication request message and the communication response message are relayed while being encrypted. Therefore, when passing through the communication control unit 124, the relay processing device 120 adds the additional function in the additional function processing unit 130. Processing (communication message check, communication response cache, etc.) is not executed.

(中継拒否通知)
ステップS319では、通信制御部124は、アクセスを許可しない旨の通信応答メッセージを作成し、クライアント通信部121を経由して該通信応答メッセージを利用者端末110の閲覧処理部111へ送信し、プロキシ回線161を切断し処理を終了する。
(Relay rejection notification)
In step S319, the communication control unit 124 creates a communication response message indicating that access is not permitted, and transmits the communication response message to the browsing processing unit 111 of the user terminal 110 via the client communication unit 121. The line 161 is disconnected and the process ends.

(代理方式:利用者端末110とのSSLハンドシェイク処理) (Proxy method: SSL handshake processing with the user terminal 110)

ステップS305では、通信制御部124は、クライアント側暗号処理部123に対して前記プロキシ回線161においてSSLセッションを開始するよう指示する。クライアント側暗号処理部123は、該プロキシ回線161においてクライアント通信部121を経由して、利用者端末110の閲覧処理部111から送信されるSSL Client Helloメッセージを受信し、SSLハンドシェイク処理を開始する。SSLのハンドシェイク方法には、セッションを新規に開始するケースと過去のセッションを再開するケースの2通りがある。   In step S305, the communication control unit 124 instructs the client side encryption processing unit 123 to start an SSL session on the proxy line 161. The client side encryption processing unit 123 receives the SSL Client Hello message transmitted from the browsing processing unit 111 of the user terminal 110 via the client communication unit 121 in the proxy line 161, and starts the SSL handshake process. . There are two SSL handshake methods: a case where a session is newly started and a case where a past session is restarted.

まず、セッションを新規に開始するケースについて説明する。   First, a case where a session is newly started will be described.

中継処理装置120は、前記SSL Client Helloメッセージの中にセッションIDが含まれているか否かを判定し、セッションIDが含まれていると判定された場合であって、該セッションIDが前記代理通信セッションレコードのセッションIDーC欄の値と同一と判定された場合、クライアント側のSSLコネクションでセッションを再開し、一方、同一でない場合は、利用者端末110側のSSLコネクションは新規のセッションを開始する。   The relay processing device 120 determines whether or not a session ID is included in the SSL Client Hello message, and when it is determined that the session ID is included, the session ID is the proxy communication When it is determined that the value is the same as the value in the session ID-C column of the session record, the session is resumed with the SSL connection on the client side. To do.

すなわち、SSLセッションを新規に開始する処理では、中継処理装置120のクライアント側暗号処理部123は、利用者端末110から送信されたSSL Client Helloメッセージ(図11のステップS1110)に応答して、Server Hello、Server Certificate、Server Hello Doneの各メッセージを順次送信する(図11のステップS1112、ステップS1113、ステップS1114)。   That is, in the process of newly starting an SSL session, the client-side cryptographic processing unit 123 of the relay processing device 120 responds to the SSL Client Hello message (step S1110 in FIG. 11) transmitted from the user terminal 110 in response to the server. Each message of Hello, Server Certificate, and Server Hello Done is sequentially transmitted (step S1112, step S1113, and step S1114 in FIG. 11).

具体的には、中継処理装置120は、SSL Client Helloメッセージの中に、セッションIDが含まれていないと判定した場合は、新規のセッションを作成するため新規の固有のセッションIDを生成する。   Specifically, when it is determined that the session ID is not included in the SSL Client Hello message, the relay processing device 120 generates a new unique session ID in order to create a new session.

そして、中継処理装置120は、当該生成されたセッションIDを含む該SSL Server Helloメッセージを利用者端末110に送信し、当該生成されたセッションIDを代理通信セッションレコードのセッションIDーC欄に保存する。該セッションIDは次回以降にセッションを再開する場合の識別子となる。   Then, the relay processing device 120 transmits the SSL Server Hello message including the generated session ID to the user terminal 110, and stores the generated session ID in the session ID-C column of the proxy communication session record. . The session ID becomes an identifier when the session is resumed after the next time.

利用者端末110は、セッションIDを含むSSL Server Helloメッセージを中継処理装置120から受信すると、当該SSL Server Helloメッセージに含まれているセッションIDをSSLのセッション情報としてRAM203等のメモリに記憶する(キャッシュする)。   Upon receiving the SSL Server Hello message including the session ID from the relay processing device 120, the user terminal 110 stores the session ID included in the SSL Server Hello message in a memory such as the RAM 203 as SSL session information (cache). To do).

次に、中継処理装置120は、代理用暗号鍵保存部に記憶されているサーバ公開鍵証明書を含むSSL Server Certificateメッセージを利用者端末110に送信する(ステップS1113)。   Next, the relay processing device 120 transmits an SSL Server Certificate message including the server public key certificate stored in the proxy encryption key storage unit to the user terminal 110 (step S1113).

利用者端末110は、中継処理装置120からSSL Server Certificateメッセージを受信し、当該SSL Server Certificateメッセージに含まれるサーバ公開鍵証明書を外部メモリ211などのメモリに記憶する。   The user terminal 110 receives the SSL Server Certificate message from the relay processing device 120 and stores the server public key certificate included in the SSL Server Certificate message in a memory such as the external memory 211.

そして、中継処理装置120は、中継処理装置120での一連の処理の終了を通知するSSL Server Hello Doneメッセージを利用者端末110に送信する(ステップS1114)。   Then, the relay processing device 120 transmits an SSL Server Hello Done message notifying the end of a series of processing in the relay processing device 120 to the user terminal 110 (step S1114).

利用者端末110は、中継処理装置120からSSL Server Hello Doneメッセージを受信すると、マスターシークレット(データの暗号化及び復号化に用いる共通鍵を生成するための情報)を生成する。   Upon receiving the SSL Server Hello Done message from the relay processing device 120, the user terminal 110 generates a master secret (information for generating a common key used for data encryption and decryption).

また、利用者端末110は、ここで生成されたマスターシークレットに従って、プロキシ回線161を介して中継処理装置120と通信する対象となるデータの暗号化及び復号を行うために用いる共通鍵を生成して、当該生成された共通鍵をRAM203等のメモリに記憶する。   Further, the user terminal 110 generates a common key used to encrypt and decrypt data to be communicated with the relay processing device 120 via the proxy line 161 according to the master secret generated here. The generated common key is stored in a memory such as the RAM 203.

利用者端末110は、ステップS1134以降の処理(ステップS314)で、プロキシ回線161を介してデータを中継処理装置120に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。   When the user terminal 110 transmits data to the relay processing device 120 via the proxy line 161 in the processing after step S1134 (step S314), the user terminal 110 encrypts the data using the common key generated here. And send it.

また、利用者端末110は、中継処理装置120からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。   Also, the user terminal 110 decrypts the encrypted data transmitted from the relay processing device 120 via the proxy line 161 using the common key generated here.

そして、利用者端末110は、中継処理装置120から受信したSSL Server Certificateメッセージに含まれているサーバ公開鍵証明書に含まれるサーバの公開鍵を用いて、当該生成されたマスターシークレットを暗号化する。   Then, the user terminal 110 encrypts the generated master secret using the server public key included in the server public key certificate included in the SSL Server Certificate message received from the relay processing device 120. .

そして、利用者端末110は、当該暗号化されたマスターシークレットを含むClientKeyExchangeメッセージを中継処理装置120に送信する。
中継処理装置120は、利用者端末110からClientKeyExchangeメッセージを受信する。
Then, the user terminal 110 transmits a Client Key Exchange message including the encrypted master secret to the relay processing device 120.
The relay processing device 120 receives the Client Key Exchange message from the user terminal 110.

そして、中継処理装置は、当該ClientKeyExchangeメッセージに含まれている暗号化されたマスターシークレットを、利用者端末110に送信したSSL Server Certificateメッセージに含まれるサーバ公開鍵証明書(サーバの公開鍵を含む)に対応する秘密鍵を用いて復号する。   Then, the relay processing device sends the server public key certificate (including the server public key) included in the SSL Server Certificate message transmitted to the user terminal 110 to the encrypted master secret included in the Client Key Exchange message. The private key corresponding to is decrypted.

なお、ここで用いる秘密鍵は、サーバ公開鍵証明書(サーバの公開鍵を含む)に対応付けられて代理用暗号鍵保存部126に記憶されており、利用者端末110に送信したサーバ公開鍵証明書(サーバの公開鍵を含む)に対応するものである。   The secret key used here is stored in the proxy encryption key storage unit 126 in association with the server public key certificate (including the server public key), and is transmitted to the user terminal 110. It corresponds to the certificate (including the public key of the server).

次に、中継処理装置120は、復号されたマスターシークレットに従って共通鍵を生成する。そして、中継処理装置120は、該生成された共通鍵の情報を前記代理通信セッションレコードの共通鍵その他ーC欄に記憶する。   Next, the relay processing device 120 generates a common key according to the decrypted master secret. Then, the relay processing device 120 stores the generated common key information in the common key and other-C column of the proxy communication session record.

中継処理装置120は、ステップS1134以降の処理(ステップS314)で、プロキシ回線161を介してデータを利用者端末110に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。また、中継処理装置120は、利用者端末110からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。   When the relay processing device 120 transmits data to the user terminal 110 via the proxy line 161 in the processing after step S1134 (step S314), the relay processing device 120 encrypts the data using the common key generated here. And send it. Further, the relay processing device 120 decrypts the encrypted data transmitted from the user terminal 110 via the proxy line 161 using the common key generated here.

次に、SSLセッションを再開するケースについて説明する。   Next, a case where the SSL session is resumed will be described.

中継処理装置120は、利用者端末110から受信したSSL Client HelloメッセージにセッションIDが含まれていると判定され、当該セッションIDが、前記代理通信セッションレコードのセッションIDーC欄に含まれていると判定された場合に、SSLセッションを再開すると判定する(S306:YES)。ここで、中継処理装置120が、利用者端末110から、セッションIDを含むSSL Client Helloメッセージを受信したことは、SSL通信の再開要求を受信したことを意味する。このとき、共通鍵その他ーC欄には既に当該SSLセッション用の共通鍵が保存されている。クライアント側暗号処理部123は、利用者端末110からの前記SSL Client Helloメッセージ(図12のステップS1205)に応答して、Server Helloメッセージを送信する(図12のステップS1206)。   The relay processing device 120 determines that the session ID is included in the SSL Client Hello message received from the user terminal 110, and the session ID is included in the session ID-C column of the proxy communication session record. If it is determined, the SSL session is determined to be resumed (S306: YES). Here, the fact that the relay processing device 120 has received the SSL Client Hello message including the session ID from the user terminal 110 means that a request for resuming SSL communication has been received. At this time, the common key for the SSL session is already stored in the common key and other-C column. In response to the SSL Client Hello message (step S1205 in FIG. 12) from the user terminal 110, the client side encryption processing unit 123 transmits a Server Hello message (step S1206 in FIG. 12).

(代理用暗号鍵保存部126のサーバ公開鍵証明書について) (About the server public key certificate of the proxy encryption key storage unit 126)

代理用暗号鍵保存部126に記憶されているサーバ公開鍵証明書に関して説明する。該サーバ公開鍵証明書は、プロキシ回線161のSSLコネクションにおけるサーバ認証用のサーバ公開鍵証明書である。通常のプロキシ接続(直接方式による通信)においては、該サーバ公開鍵証明書は、情報提供処理装置150のサーバ暗号鍵保存部152に記憶されているサーバ公開鍵証明書が情報提供処理装置150から提示されるが、本実施例の代理方式では、中継処理装置120の代理用暗号鍵保存部に記憶されているサーバ公開鍵証明書が代わりに提示される。そのため該サーバ公開鍵証明書は、任意の情報提供処理装置150に対して有効と判定されるものでなければならない。このため、本実施例の代理方式では、該サーバ公開鍵証明書は、非特許文献1で示されているように、情報提供処理装置150のホスト名が記載される主体者のCommon Name(CN)属性又はSubjectAltName属性にワイルドカードを用いて任意の情報提供処理装置150を表す。サーバ公開鍵証明書とホスト名を元にした情報提供処理装置150の身元確認方法に関しては、RFC2818「3.終点の識別 3.1 サーバーの身元」に記載されている。   The server public key certificate stored in the proxy encryption key storage unit 126 will be described. The server public key certificate is a server public key certificate for server authentication in the SSL connection of the proxy line 161. In a normal proxy connection (direct communication), the server public key certificate is stored in the server encryption key storage unit 152 of the information provision processing device 150 from the information provision processing device 150. Although presented, in the proxy method of the present embodiment, the server public key certificate stored in the proxy encryption key storage unit of the relay processing device 120 is presented instead. Therefore, the server public key certificate must be determined to be valid for an arbitrary information provision processing device 150. For this reason, in the proxy method of the present embodiment, as shown in Non-Patent Document 1, the server public key certificate is the subject's Common Name (CN) in which the host name of the information provision processing device 150 is described. ) A wildcard is used for the attribute or the SubjectAltName attribute to represent an arbitrary information provision processing device 150. The method of confirming the identity of the information provision processing device 150 based on the server public key certificate and the host name is described in RFC 2818 “3. End point identification 3.1 Server identity”.

また、該サーバ公開鍵証明書には、主体者のDN(識別名)の中のCommon Nameより上の階層に、中継処理装置120のホスト名を属性値としてもつようにし、エンドポイント(情報提供処理装置150)の確認とともに中継点(中継処理装置120)の確認も同時に実施できるようにする。   In addition, the server public key certificate has the host name of the relay processing device 120 as an attribute value in the hierarchy above the Common Name in the DN (identification name) of the subject, and the endpoint (information provision) Confirmation of the relay point (relay processing device 120) can be performed simultaneously with confirmation of the processing device 150).

DN(主体者識別名)の例を示す。
cn=*.*.*、ou=proxy.xxx.com,o=XXX Inc.,c=jp
An example of DN (subject identifier) is shown.
cn = *. *. *, Ou = proxy. xxx. com, o = XXX Inc. , C = jp

この例では、cnはワイルドカードで表され、ホスト名に3つのドメインコンポーネントをもつ任意の情報提供処理装置150に対する代理用のサーバ公開鍵証明書であることを表している。代理用暗号鍵保存部126では、任意の情報提供処理装置150のサーバ公開鍵証明書として利用できるように、ワイルドカードのドメインコンポーネントが例えば2から10までに対応するcnをもつサーバ公開鍵証明書を予め記憶しておき、通信セッションにおける情報提供処理装置150のホスト名のドメインコンポーネントの数によって前記サーバ公開鍵証明書から適切なものが選択されるようにしておく。   In this example, cn is represented by a wild card and represents a proxy server public key certificate for an arbitrary information provision processing device 150 having three domain components in the host name. In the proxy encryption key storage unit 126, a server public key certificate whose wild card domain component has cn corresponding to 2 to 10, for example, so that it can be used as a server public key certificate of an arbitrary information provision processing device 150 Are stored in advance, and an appropriate one is selected from the server public key certificates according to the number of domain components of the host name of the information providing processing device 150 in the communication session.

また、Common Name(cn)の一つ上位のou属性値として中継処理装置120のホスト名(上記例:proxy.xxx.com)を記載している。該ou属性値はプロキシ回線161上のSSLコネクションにおける中継処理装置120の真正性確認に用いることができる。これは制御回線162で利用者端末110の拡張機能処理部112が明示的に接続する中継処理装置120のホスト名と前記属性値が同じであることで検証することができる。   In addition, the host name of the relay processing device 120 (the above example: proxy.xxx.com) is described as the ou attribute value one level higher than Common Name (cn). The ou attribute value can be used for authenticity confirmation of the relay processing device 120 in the SSL connection on the proxy line 161. This can be verified by checking that the attribute value is the same as the host name of the relay processing device 120 to which the extended function processing unit 112 of the user terminal 110 is explicitly connected via the control line 162.

ステップS306では、ステップS305において新規セッションを開設していればステップS307へ進み、セッションの再開機能を使っていればステップS316へ進む。   In step S306, if a new session is established in step S305, the process proceeds to step S307, and if the session resuming function is used, the process proceeds to step S316.

ステップS307では、サーバ側暗号処理部125は、ステップS302で開設したサーバ回線163を介して、サーバ通信部122を経由してSSL Client Helloメッセージを情報提供処理装置150に送信し、SSLハンドシェイク処理を新規に開始する(図11のステップS1111からステップS1118)。   In step S307, the server-side cryptographic processing unit 125 transmits an SSL Client Hello message to the information providing processing device 150 via the server communication unit 122 via the server line 163 opened in step S302, and performs SSL handshake processing. Is newly started (step S1111 to step S1118 in FIG. 11).

サーバ側暗号処理部125は、情報提供処理装置150から、SSL Server Hello、SSL Server Certificate、SSL Certificate Request(オプション)、SSL Server Hello Doneメッセージ等を受信する。通信制御部124は、該SSL Server Certificateメッセージを受信すると該メッセージに含まれる情報提供処理装置150のサーバ公開鍵証明書を取得し、該サーバ公開鍵証明書を代理通信セッションレコードのサーバ証明書欄に保存する。   The server-side encryption processing unit 125 receives an SSL Server Hello, an SSL Server Certificate, an SSL Certificate Request (optional), an SSL Server Hello Done message, and the like from the information providing processing device 150. When receiving the SSL Server Certificate message, the communication control unit 124 acquires the server public key certificate of the information providing processing device 150 included in the message, and uses the server public key certificate in the server certificate field of the proxy communication session record Save to.

また、サーバ側暗号処理部125が前記Certificate Requestメッセージを受信した場合は(図11のステップS1117)、情報提供処理装置150がSSLクライアント認証を要求していることを意味するので、通信制御部124は、代理通信セッションレコードのクライアント認証要求欄に該Certificate Requestメッセージの内容を符号化して保存する。Certificate Requestメッセージには、クライアント認証の条件を示す署名アルゴリズムと情報提供処理装置150が信用しているルートCAの識別名情報が含まれている。 Further, when the server-side cryptographic processing unit 125 receives the Certificate Request message (step S1117 in FIG. 11), it means that the information providing processing device 150 requests SSL client authentication. Therefore, the communication control unit 124 Encodes and saves the contents of the Certificate Request message in the client authentication request field of the proxy communication session record. The Certificate Request message includes a signature algorithm indicating client authentication conditions and root CA identification name information trusted by the information providing processing device 150.

ステップS308では、制御処理通信部128は該代理通信セッションレコードのサーバ証明書欄に保存された情報提供処理装置150のサーバ公開鍵証明書を利用者端末110へ制御回線162を介して送信し、利用者端末110において該サーバ公開鍵証明書を検証させ、情報提供処理装置150に対するサーバ認証を実施させるステップである。そして、制御処理通信部128は、その検証結果を通信制御部124へ渡す(図11のステップS1119からステップS1122)。ステップS308の詳細処理は、図5を用いて後述する。   In step S308, the control processing communication unit 128 transmits the server public key certificate of the information provision processing device 150 stored in the server certificate column of the proxy communication session record to the user terminal 110 via the control line 162, In this step, the server public key certificate is verified in the user terminal 110 and server authentication is performed on the information provision processing device 150. Then, the control processing communication unit 128 passes the verification result to the communication control unit 124 (step S1119 to step S1122 in FIG. 11). Detailed processing in step S308 will be described later with reference to FIG.

ステップS309では、通信制御部124は、制御処理通信部128から渡されたステップS308におけるサーバ認証処理の結果が、成功であればステップS310へ進み、失敗であればステップS320へ進む。ここで、通信制御部124は、ステップS308で、利用者端末110から検証が成功した旨を受信した場合は、サーバ認証処理の結果が、成功として判定し、一方、利用者端末110から、検証が成功しなかった旨を受信した場合は、サーバ認証処理の結果が、失敗として判定する。   In step S309, the communication control unit 124 proceeds to step S310 if the result of the server authentication processing in step S308 passed from the control processing communication unit 128 is successful, and proceeds to step S320 if it is unsuccessful. Here, if the communication control unit 124 receives a notification that the verification is successful from the user terminal 110 in step S308, the communication control unit 124 determines that the result of the server authentication processing is successful. Is received, the server authentication processing result is determined as failure.

ステップS310では、通信制御部124は、代理通信セッションレコードのクライアント認証要求欄を参照し、値が存在すればステップS311へ進み、値が存在しなければステップS312へ進む。   In step S310, the communication control unit 124 refers to the client authentication request field of the proxy communication session record. If a value exists, the process proceeds to step S311. If no value exists, the process proceeds to step S312.

ステップS311では、中継処理装置120は、利用者端末110と連携することにより、情報提供処理装置150から要求されたクライアント認証に応答するための処理を行う(図11のステップS1123からステップS1129)。ステップS311の詳細処理は、図6を用いて後述する。   In step S311, the relay processing device 120 performs processing for responding to the client authentication requested from the information providing processing device 150 in cooperation with the user terminal 110 (step S1123 to step S1129 in FIG. 11). Detailed processing in step S311 will be described later with reference to FIG.

ステップS312では、サーバ側暗号処理部125において、サーバ通信部122を経由して、SSL Handshake finishedメッセージを情報提供処理装置150に送信して、前記サーバ回線163におけるSSLコネクションのハンドシェイク処理を終了する(図11のステップS1130からステップS1131)。   In step S312, the server-side cryptographic processing unit 125 transmits an SSL Handshake finished message to the information providing processing device 150 via the server communication unit 122, and ends the handshake process of the SSL connection in the server line 163. (Step S1130 to Step S1131 in FIG. 11).

ステップS313では、クライアント側暗号処理部123において、クライアント通信部121を経由して、SSL Handshake finishedを利用者端末110に送信して、プロキシ回線161におけるSSLコネクションのハンドシェイク処理を終了する(図11のステップS1132からステップS1133)。   In step S313, the client-side encryption processing unit 123 transmits SSL Handshake finished to the user terminal 110 via the client communication unit 121, and the SSL connection handshake processing in the proxy line 161 is terminated (FIG. 11). Step S1132 to Step S1133).

ステップS314では、既に確立した、プロキシ回線161のSSLセッションと、サーバ回線163のSSLセッションと、の2つのSSLセッションの間でアプリケーションメッセージを中継する。この時、付加機能処理部130において平文化されたメッセージに対して、付加機能による処理が実行される(図11のステップS1134からステップS1137)。詳細は後述する。   In step S314, the application message is relayed between the two SSL sessions, the already established SSL session of the proxy line 161 and the SSL session of the server line 163. At this time, processing by the additional function is executed on the message plainly written in the additional function processing unit 130 (step S1134 to step S1137 in FIG. 11). Details will be described later.

ステップS315では、ステップS314におけるアプリケーションメッセージの交換が終了すると、情報提供処理装置150もしくは利用者端末110からSSL close notifyメッセージによるセッション終了通知が送信される。クライアント側暗号処理部123もしくはサーバ側暗号処理部125において該メッセージを受信すると、クライアント側暗号処理部123もしくはサーバ側暗号処理部125はSSL close notifyメッセージを返信しSSLセッションを終了し、通信回線(プロキシ回線、又はサーバ回線)を切断する。次に反対側のSSLセッションの終了処理と通信回線(プロキシ回線、又はサーバ回線)の切断処理を実施する。   In step S315, when the exchange of the application message in step S314 ends, a session end notification by an SSL close notification message is transmitted from the information providing processing device 150 or the user terminal 110. When the client-side encryption processing unit 123 or the server-side encryption processing unit 125 receives the message, the client-side encryption processing unit 123 or the server-side encryption processing unit 125 returns an SSL close notify message, ends the SSL session, and sets the communication line ( Disconnect proxy line or server line). Next, an SSL session termination process on the opposite side and a communication line (proxy line or server line) disconnection process are performed.

(SSLセッション再開機能を使う場合)
ステップS316では、通信制御部124は、サーバ回線163においてSSLセッションの再開が可能か否かを判定する。
(When using the SSL session resume function)
In step S316, the communication control unit 124 determines whether or not the SSL session can be resumed on the server line 163.

すなわち、通信制御部124は、利用者端末110から受信したセッションIDが含まれている代理通信セッションレコードのセッションIDーS欄に値が存在するか否かを判定し、代理通信セッションレコードのセッションIDーS欄に値が存在すると判定された場合、サーバ側暗号処理部125から該セッションIDの値を付加したSSL Client Helloメッセージを、サーバ通信部122を経由してサーバ回線を介して情報提供処理装置150へ送信する。   That is, the communication control unit 124 determines whether there is a value in the session ID-S field of the proxy communication session record including the session ID received from the user terminal 110, and determines the session of the proxy communication session record. When it is determined that a value exists in the ID-S column, an SSL Client Hello message to which the session ID value is added is provided from the server-side cryptographic processing unit 125 via the server communication unit 122 via the server line Transmit to the processing device 150.

次に、サーバ側暗号処理部125は、情報提供処理装置150からSSL Server Helloメッセージを受信する。通信制御部124は、該SSL Server Helloメッセージに該セッションIDが含まれているか否かを判定し、該セッションIDが含まれていると判定された場合は、セッション再開が可能と判定しステップS312へ進む。   Next, the server-side cryptographic processing unit 125 receives an SSL Server Hello message from the information provision processing device 150. The communication control unit 124 determines whether or not the session ID is included in the SSL Server Hello message. If it is determined that the session ID is included, the communication control unit 124 determines that the session can be resumed, and step S312. Proceed to

通信制御部124は、代理通信セッションレコードのセッションIDーS欄に値が存在しない場合、もしくは存在してもSSL Server Helloメッセージに該セッションIDが含まれていなければ、セッション再開は不可と判定しステップS317へ進む。   If there is no value in the session ID-S field of the proxy communication session record, or if the SSL is not included in the SSL Server Hello message, the communication control unit 124 determines that the session cannot be resumed. The process proceeds to step S317.

ステップS317では、通信制御部124は、ステップS307と同様に、サーバ回線163上で新しいSSLセッションを開始する。   In step S317, the communication control unit 124 starts a new SSL session on the server line 163, similarly to step S307.

通信制御部124は、情報提供処理装置150からのSSL Server Certificateメッセージを受信すると、該メッセージからサーバ公開鍵証明書を取得し、該サーバ公開鍵証明書と代理通信セッションレコードのサーバ証明書欄の値とを比較する。当該比較の結果、両者が同一でなかった場合は、代理通信セッションレコードのサーバ証明書欄を該サーバ公開鍵証明書で上書き保存する。   Upon receiving the SSL Server Certificate message from the information provision processing device 150, the communication control unit 124 acquires a server public key certificate from the message, and stores the server public key certificate and the server certificate column of the proxy communication session record. Compare the value. As a result of the comparison, if both are not the same, the server certificate field of the proxy communication session record is overwritten and saved with the server public key certificate.

また、通信制御部124は、情報提供処理装置150からSSL Certificate Requestメッセージを受信した場合は、ステップS307と同様に代理通信セッションレコードのクライアント認証要求欄に該SSL Certificate Requestメッセージの内容を符号化して保存する。   In addition, when receiving the SSL Certificate Request message from the information providing processing device 150, the communication control unit 124 encodes the content of the SSL Certificate Request message in the client authentication request field of the proxy communication session record as in Step S307. save.

ステップS318では、通信制御部124は、ステップS317におけるサーバ公開鍵証明書の比較の結果を参照し、真(同一)ならばステップS310へ進み、偽(同一ではない)ならば再度サーバ公開鍵証明書を利用者端末110で検証させるためにステップS308へ進む。   In step S318, the communication control unit 124 refers to the result of the server public key certificate comparison in step S317. If true (identical), the process proceeds to step S310, and if false (not identical), the server public key certificate is again obtained. The process proceeds to step S308 in order to verify the document on the user terminal 110.

(エラー処理)
ステップS320では、制御処理通信部128は、ステップS308におけるサーバ証明書の検証処理が失敗したことを通信制御部124へ通知し、通信制御部124は、サーバ側暗号処理部125に情報提供処理装置150とのSSLハンドシェイク処理をエラー終了するように通知し、サーバ側暗号処理部125は、サーバ通信部122を経由して、サーバ回線163を介してSSLのSSL bad certificate alertメッセージを情報提供処理装置150へ送信し、サーバ回線163を切断し、終了する。
(Error handling)
In step S320, the control processing communication unit 128 notifies the communication control unit 124 that the server certificate verification processing in step S308 has failed, and the communication control unit 124 notifies the server side cryptographic processing unit 125 of the information providing processing device. 150, the server-side cryptographic processing unit 125 notifies the SSL hand certificate alert message of SSL via the server communication unit 122 and the server line 163 to provide information. The data is transmitted to the apparatus 150, the server line 163 is disconnected, and the process ends.

(図4 通信方式決定処理の詳細)
次に、図3におけるステップS301の詳細である利用者端末110と中継処理装置120とにおける通信方式決定処理のフローを、図4を用いて説明する。
(Fig. 4 Details of communication method decision processing)
Next, the flow of communication method determination processing between the user terminal 110 and the relay processing device 120, which is the details of step S301 in FIG. 3, will be described with reference to FIG.

図4に示すステップS401からステップS403、ステップS406からステップS408の処理は、利用者端末110のCPU201により実行され実現される。   The processing from step S 401 to step S 403 and step S 406 to step S 408 shown in FIG. 4 is executed and implemented by the CPU 201 of the user terminal 110.

また、ステップS404、ステップS405、ステップS409の処理は、中継処理装置120のCPU201により実行され実現される。   Further, the processing of step S404, step S405, and step S409 is executed and implemented by the CPU 201 of the relay processing device 120.

なお、図4で示す利用者端末110と中継処理装置120との間の通信は、図1における制御回線162を使うものとする。   It is assumed that the communication between the user terminal 110 and the relay processing device 120 shown in FIG. 4 uses the control line 162 in FIG.

ステップS401では、利用者端末110の閲覧処理部111は、利用者が”https://・・・”形式のURLのリンクをクリックしたり、アドレスバーに入力するなどして、情報提供処理装置150への暗号化通信の要求イベントを検知すると、拡張機能処理部112へ該URLを渡し制御を移す。   In step S401, the browsing processing unit 111 of the user terminal 110 allows the user to click on a URL link in the “https: // ...” format or input it to the address bar, etc. When a request event of encrypted communication to 150 is detected, the URL is passed to the extended function processing unit 112 and control is transferred.

ステップS402では、利用者端末110の拡張機能処理部112は、当該URLの中のホスト名とポート番号からサーバ識別子(サイト情報)を生成し、該サーバ識別子をキーに管理表保存部114のクライアント通信方式キャッシュ表(図16)からレコードを検索する。   In step S402, the extended function processing unit 112 of the user terminal 110 generates a server identifier (site information) from the host name and port number in the URL, and the management table storage unit 114 client uses the server identifier as a key. A record is retrieved from the communication method cache table (FIG. 16).

利用者端末110の拡張機能処理部112は、検索処理にて条件に一致するレコードがあれば該レコードの通信方式欄の値を通信方式とし処理を終了する。この場合は、利用者端末110のクライアント通信方式キャッシュ表の該レコード(キャッシュ情報)が存在すれば、中継処理装置120のプロキシ通信方式キャッシュ表(図9)にも同じ通信条件のキャッシュ情報が存在する。   If there is a record that matches the conditions in the search process, the extended function processing unit 112 of the user terminal 110 sets the value in the communication method column of the record as the communication method and ends the process. In this case, if the record (cache information) of the client communication method cache table of the user terminal 110 exists, the proxy communication method cache table (FIG. 9) of the relay processing device 120 also has cache information of the same communication condition. To do.

利用者端末110の拡張機能処理部112は、検索処理にて条件に一致するレコードがなければ新規に通信方式を決定するためにステップS403へ進む。   If there is no record that matches the conditions in the search process, the extended function processing unit 112 of the user terminal 110 proceeds to step S403 to determine a new communication method.

ステップS403では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続する。すなわち、利用者端末110と中継処理装置120との間でSSLによる暗号化通信の回線(制御回線162)を確立する。この接続回線を制御回線162と呼ぶ。利用者端末110の拡張機能処理部112は、ステップS402で生成したサーバ識別子と、利用者端末110のIPアドレスと閲覧処理部111識別子からなるクライアント識別子と、をもつ通信方式問い合わせ要求メッセージを中継処理装置120へ送信する。   In step S403, the extended function processing unit 112 of the user terminal 110 connects to the control processing communication unit 128 of the relay processing device 120 via HTTPS. That is, an encrypted communication line (control line 162) using SSL is established between the user terminal 110 and the relay processing device 120. This connection line is called a control line 162. The extended function processing unit 112 of the user terminal 110 relays the communication method inquiry request message having the server identifier generated in step S402 and the client identifier including the IP address of the user terminal 110 and the browsing processing unit 111 identifier. Transmit to device 120.

ステップS404では、中継処理装置120の制御処理通信部128が、ステップS403の通信方式問い合わせ要求メッセージを受信し、サーバ識別子とクライアント識別子を取得する(受付手段)。サーバ識別子は、中継先情報の適用例である。また、クライアント識別子(IPアドレス)は、クライアント情報の適用例である。   In step S404, the control processing communication unit 128 of the relay processing device 120 receives the communication method inquiry request message in step S403, and acquires a server identifier and a client identifier (accepting means). The server identifier is an application example of relay destination information. The client identifier (IP address) is an application example of client information.

ステップS405では、中継処理装置120の制御処理通信部128は、ステップS404で取得した情報提供処理装置150を識別するサーバ識別子と、利用者端末110の閲覧処理部111を識別するクライアント識別子と、を元に管理表保存部129の通信方式決定表(通信方式設定情報)(図8)のサーバ条件とクライアント条件に合致するレコードを検索し、合致するレコードの通信方式を、確立が許可された通信の通信方式として決定する(通信決定手段)。   In step S405, the control processing communication unit 128 of the relay processing device 120 obtains the server identifier for identifying the information provision processing device 150 acquired in step S404 and the client identifier for identifying the browsing processing unit 111 of the user terminal 110. Originally, a record that matches the server condition and the client condition in the communication method determination table (communication method setting information) (FIG. 8) of the management table storage unit 129 is searched, and the communication method for establishing the matching record communication method is permitted. (Communication determination means).

サーバ条件のドメイン名欄との照合は、サーバ識別子から情報提供処理装置150のホスト名を取り出し、該ホスト名とドメイン名欄の値に対して文字列パターンマッチングを行う。サーバ条件のカテゴリー欄との照合は、ホスト名(ドメイン名)をカテゴリーに変換する。ここでは不図示の、ホスト名(ドメイン名)とカテゴリーとが対応付けられた変換テーブル等を用いて、サーバ識別子から取り出したホスト名から、当該ホスト名に対応するカテゴリーを算出(決定)し、該カテゴリーとカテゴリー欄の値を比較する。クライアント条件のアドレス欄の照合は、クライアント識別子からIPアドレスを取り出し、該IPアドレスと値との照合を行う。クライアント条件の認証グループ欄の照合は、中継処理装置120が利用者端末110の閲覧処理部111の利用者を認証した場合に入力された利用者の属性値と照合するにより行う。中継処理装置120が利用者端末110の閲覧処理部111を利用する利用者を認証する手段に関しては詳細には記載しないが、例えば、プロキシ回線161上でHTTPのプロキシ認証を実施する手段や制御回線162のHTTPSトランザクションにおいてSSLクライアント認証やHTTPダイジェスト認証等を実施する手段を使うことができる。   In the comparison with the domain name field of the server condition, the host name of the information provision processing device 150 is extracted from the server identifier, and character string pattern matching is performed on the value of the host name and the domain name field. For matching with the category field of the server condition, the host name (domain name) is converted into a category. Here, using a conversion table or the like in which a host name (domain name) and a category are associated with each other (not shown), a category corresponding to the host name is calculated (determined) from the host name extracted from the server identifier, The category and the value in the category column are compared. In the collation of the client condition address column, the IP address is extracted from the client identifier, and the IP address and the value are collated. The verification of the authentication group column of the client condition is performed by checking the attribute value of the user input when the relay processing device 120 authenticates the user of the browsing processing unit 111 of the user terminal 110. Although means for authenticating a user who uses the browsing processing unit 111 of the user terminal 110 is not described in detail, for example, means for performing HTTP proxy authentication on the proxy line 161 or a control line Means for performing SSL client authentication, HTTP digest authentication, and the like in the 162 HTTPS transaction can be used.

また、通信方式決定表では、図8の804で示されるような全ての通信要求条件に合致するレコードを持たせ必ず通信方式が決定されるようにしておく。   In the communication method determination table, a record that matches all the communication request conditions as indicated by 804 in FIG. 8 is provided so that the communication method is always determined.

すなわち、通信方式決定表(図8)は、各レコードの条件を判断する優先順位を有しており、一番上のレコードから下のレコードに向って、順次、各レコードの条件に合致するかの判断がなされる。   That is, the communication method determination table (FIG. 8) has a priority order for determining the condition of each record, and whether the condition of each record is met sequentially from the top record to the bottom record. Judgment is made.

次に、制御処理通信部128は、検索の結果、得られたレコードの通信方式欄の値を、利用者端末110の拡張機能処理部112へ応答メッセージとして送信する。   Next, the control processing communication unit 128 transmits the value of the communication method column of the record obtained as a result of the search to the extended function processing unit 112 of the user terminal 110 as a response message.

ここでは、中継処理装置120は、得られたレコードの通信方式欄の値(“直接”又は“選択”又は“代理”)を利用者端末110に送信し、利用者端末110は、中継処理装置120から受信した通信方式欄の値に従って、後述する図13又は図14に示す画面を表示する。   Here, the relay processing device 120 transmits the value (“direct” or “selection” or “proxy”) in the communication method column of the obtained record to the user terminal 110, and the user terminal 110 The screen shown in FIG. 13 or FIG. 14 to be described later is displayed according to the value of the communication method column received from 120.

他の方法としては、得られたレコードの通信方式欄の値(“直接”又は“選択”又は“代理”)に従って決定される図13又は図14に示す画面を表示するための画面情報を中継処理装置120が利用者端末110に送信し、当該画面情報を受信した利用者端末110が、当該画面情報に従って図13又は14の画面を表示するようにしてもよい。   As another method, the screen information for displaying the screen shown in FIG. 13 or FIG. 14 determined according to the value (“direct”, “select”, or “proxy”) in the communication method column of the obtained record is relayed. The user terminal 110 that transmits the processing device 120 to the user terminal 110 and receives the screen information may display the screen of FIG. 13 or 14 according to the screen information.

すなわち、中継処理装置120は、受け付けたサイト情報(中継先情報)(情報提供処理装置150を特定するホスト名やポート番号)に対して“選択(通信方式が選択を示す情報)”(“選択”は指示情報の適用例である)が通信方式決定表(図8)に記憶されていると判定された場合に、通信方式(直接または代理)を選択するための画面情報(図14)を、制御回線を介して利用者端末に送信する(通信方式送信手段)(ステップS405)。ここで送信される画面情報、又は通信方式は、通信方式指示情報の適用例である。   That is, the relay processing device 120 selects “selection (information indicating that the communication method is selected)” (“selection” for the received site information (relay destination information) (host name or port number identifying the information providing processing device 150). "" Is an application example of the instruction information), when it is determined that the communication method determination table (FIG. 8) is stored, screen information (FIG. 14) for selecting the communication method (direct or proxy) is displayed. Then, the data is transmitted to the user terminal via the control line (communication method transmission means) (step S405). The screen information or the communication method transmitted here is an application example of the communication method instruction information.

また、中継処理装置120は、受け付けたサイト情報(中継先情報)(情報提供処理装置150を特定するホスト名やポート番号)に対して、通信方式が代理を示す情報が、通信方式決定表(図8)に記憶されていると判定された場合に、通信方式(“代理”または“通信しない”)を選択するための画面情報(図13)を、制御回線を介して利用者端末に送信する(ステップS405)。
ステップS406では、利用者端末110の拡張機能処理部112は、通信方式を選択するための画面情報を中継処理装置120から受信する。
In addition, the relay processing device 120 receives information indicating that the communication method is a proxy for the received site information (relay destination information) (host name or port number that identifies the information providing processing device 150). When it is determined that the information is stored in FIG. 8), screen information (FIG. 13) for selecting a communication method (“proxy” or “not communicate”) is transmitted to the user terminal via the control line. (Step S405).
In step S <b> 406, the extended function processing unit 112 of the user terminal 110 receives screen information for selecting a communication method from the relay processing device 120.

すなわち、利用者端末110は、中継処理装置から画面情報を受信すると、当該画面情報に従って、図13又は図14に示す画面を表示する。図14は、指示画面の適用例である。 このように、利用者端末110を操作しているユーザ(操作ユーザ)は、確立が許可される通信方式として、“代理”(代理通信方式)が決定された場合、代理通信方式で通信するか、通信自体を行わないかの選択しか行えず、通信を行うためには、必ず代理通信方式が選ばれることになる。すなわち、中継処理装置120は、確立が許可される通信方式として代理通信方式が決定されたことを条件に、代理通信方式による通信が確立されることとなる。   That is, when the user terminal 110 receives screen information from the relay processing device, the user terminal 110 displays the screen shown in FIG. 13 or FIG. 14 according to the screen information. FIG. 14 shows an application example of the instruction screen. As described above, whether the user (operating user) operating the user terminal 110 communicates using the proxy communication method when “proxy” (proxy communication method) is determined as the communication method permitted to be established. In this case, only the selection of whether to perform communication itself can be performed, and the proxy communication method is always selected in order to perform communication. That is, the relay processing device 120 establishes communication using the proxy communication method on the condition that the proxy communication method is determined as the communication method permitted to be established.

次に、中継処理装置120が、得られたレコードの通信方式欄の値(“直接”又は“選択”又は“代理”)を利用者端末110に送信し、利用者端末110が、中継処理装置120から受信した通信方式欄の値に従って、図13又は図14に示す画面を表示する場合について説明する。   Next, the relay processing device 120 transmits the value (“direct”, “selection”, or “proxy”) in the communication method column of the obtained record to the user terminal 110, and the user terminal 110 receives the relay processing device. The case where the screen shown in FIG. 13 or FIG. 14 is displayed according to the value of the communication method column received from 120 will be described.

ステップS406では、利用者端末110の拡張機能処理部112は、通信方式(直接または代理または選択)を中継処理装置120から受信する。   In step S <b> 406, the extended function processing unit 112 of the user terminal 110 receives the communication method (directly or proxy or selection) from the relay processing device 120.

ステップS407では、利用者端末110の拡張機能処理部112は、ステップS406で受信した通信方式の値に基づき、図13又は図14に示すダイアログボックスを表示する。   In step S407, the extended function processing unit 112 of the user terminal 110 displays the dialog box shown in FIG. 13 or FIG. 14 based on the communication method value received in step S406.

このとき、通信方式が”直接”の場合は、ダイアログボックスは表示しない。すなわち、通信方式が“直接”(直接通信方式)の場合は、確立する通信の通信方式が“直接”(直接通信方式)となる。   At this time, if the communication method is "direct", the dialog box is not displayed. That is, when the communication method is “direct” (direct communication method), the communication method to be established is “direct” (direct communication method).

利用者端末110は、ステップS406で受信した通信方式が”代理”の場合は、図13に例を示すようなダイアログボックス(画面)を表示し、利用者に、”利用者端末110と情報提供処理装置150の間の暗号化通信が中継処理装置120において一旦復号されセキュリティ検査等の付加機能処理が適用される”という旨のメッセージを表示し承諾するか否かを選択させる。利用者端末110は、図13の画面において利用者が「許可する」ボタンをクリックした場合は、拡張機能処理部112は通信方式を”代理”のままにし、「許可しない」ボタンをクリックした場合には通信方式を”選択なし”という値に更新する。   If the communication method received in step S406 is “proxy”, the user terminal 110 displays a dialog box (screen) as shown in FIG. 13 and provides the user with “user terminal 110 and information”. The encrypted communication between the processing devices 150 is once decrypted in the relay processing device 120, and a message that “additional function processing such as a security check is applied” is displayed to select whether or not to accept. In the user terminal 110, when the user clicks the “permit” button on the screen of FIG. 13, the extended function processing unit 112 leaves the communication method as “proxy” and clicks the “not permitted” button. The communication method is updated to a value of “no selection”.

利用者端末110は、ステップS406で受信した通信方式が”選択”の場合は、図14に例を示すようなダイアログボックス(画面)を表示し、利用者に、利用者端末110と情報提供処理装置150の間の暗号化通信が中継処理装置120において一旦復号しセキュリティ検査等の付加機能処理を実行するか、もしくは情報提供処理装置150との間はエンドツーエンドの暗号化通信を行い、中継処理装置120では平文化通信メッセージが検査や記録できないようにするか、を選択させる。利用者端末110は、図14の画面において、利用者が「許可する」ボタンをクリックした場合は、拡張機能処理部112における通信方式を”代理”という値に更新し、「許可しない」ボタンをクリックした場合には通信方式を”直接”という値に更新する。   When the communication method received in step S406 is “selection”, the user terminal 110 displays a dialog box (screen) as shown in FIG. 14 and informs the user of the user terminal 110 and information provision processing. Encrypted communication between the devices 150 is once decrypted in the relay processing device 120 and additional function processing such as security inspection is executed, or end-to-end encrypted communication is performed with the information providing processing device 150 and relayed. The processing device 120 selects whether or not the plain culture communication message can be inspected or recorded. When the user clicks the “permit” button on the screen of FIG. 14, the user terminal 110 updates the communication method in the extended function processing unit 112 to a value of “proxy”, and sets the “not permitted” button. When clicked, the communication method is updated to a value of “direct”.

次に、拡張機能処理部112は、管理表保存部114のクライアント通信方式キャッシュ表(図16)にサーバ識別子と決定日時と、選択された通信方式の値からなる新しいレコードを作成する。   Next, the extended function processing unit 112 creates a new record including a server identifier, a determination date and a value of the selected communication method, in the client communication method cache table (FIG. 16) of the management table storage unit 114.

ステップS408では、利用者端末110の拡張機能処理部112は、利用者により選択されたボタンが「許可する」ボタンである場合(すなわち、通信方式が“代理”の場合)、中継処理装置120の制御処理通信部128へHTTPSで接続する(制御回線162の開設)。   In step S408, when the button selected by the user is the “permit” button (that is, when the communication method is “proxy”), the extended function processing unit 112 of the user terminal 110 performs the relay processing device 120. Connect to the control processing communication unit 128 by HTTPS (open control line 162).

また、拡張機能処理部112は、利用者により、図14の画面を介して選択されたボタンが「許可しない」ボタンである場合(すなわち、通信方式が“直接”の場合)、制御回線162は開設しない。また、拡張機能処理部112は、利用者により、図13の画面を介して選択されたボタンが「許可しない」ボタンである場合(すなわち、通信方式が“選択なし”の場合)、制御回線162は開設しない。   Further, when the button selected by the user via the screen of FIG. 14 is a “not permitted” button (that is, when the communication method is “direct”), the extended function processing unit 112 sets the control line 162 to Do not open. Further, when the button selected by the user via the screen of FIG. 13 is a “not permitted” button (that is, when the communication method is “no selection”), the extended function processing unit 112 controls the control line 162. Will not open.

そして、利用者端末110の拡張機能処理部112は、サーバ識別子と、クライアント識別子と、ステップS407において選択された通信方式の値と、ステップS407で決定した通信方式の中継処理装置120における有効期限と、をもつ通信方式通知メッセージを中継処理装置120へ送信する。   Then, the extended function processing unit 112 of the user terminal 110 includes the server identifier, the client identifier, the value of the communication method selected in step S407, and the expiration date in the relay processing device 120 of the communication method determined in step S407. , And a communication method notification message having “” are transmitted to the relay processing device 120.

該有効期限は通信方式の中継処理装置120上での利用可能な有効期限として表し、ステップS407の処理日時から数時間程度(所定時間)進めた日時などを用いる。   The expiration date is expressed as an expiration date that can be used on the relay processing apparatus 120 of the communication method, and a date and time advanced about several hours (predetermined time) from the processing date and time in step S407 is used.

ステップS409では、中継処理装置120の制御処理通信部128は、ステップS408の通信方式通知メッセージ(選択結果)を受信し(通信方式受信手段)、当該通信方式通知メッセージに含まれる、サーバ識別子とクライアント識別子と決定された通信方式と有効期限とからなるレコードを作成し、該レコードを管理表保存部129のプロキシ通信方式キャッシュ表(図9)に保存する。以上で、通信方式決定処理を終了する。   In step S409, the control processing communication unit 128 of the relay processing device 120 receives the communication method notification message (selection result) in step S408 (communication method receiving means), and includes the server identifier and the client included in the communication method notification message. A record including the identifier, the determined communication method, and the expiration date is created, and the record is stored in the proxy communication method cache table (FIG. 9) of the management table storage unit 129. Thus, the communication method determination process is completed.

(図5 サーバ証明書検証処理の詳細)
次に、図3におけるステップS308の詳細である利用者端末110と中継処理装置120とにおけるサーバ証明書検証処理のフローを、図5を用いて説明する。
(Figure 5 Details of server certificate verification process)
Next, the flow of the server certificate verification process in the user terminal 110 and the relay processing device 120, which is the details of step S308 in FIG. 3, will be described with reference to FIG.

図5に示すステップS503、ステップS505からステップS507の処理は、利用者端末110のCPU201により実行され実現される。   The processes in steps S503 and S505 to S507 shown in FIG. 5 are executed and implemented by the CPU 201 of the user terminal 110.

また、ステップS501、ステップS502、ステップS504、ステップS508の処理は、中継処理装置120のCPU201により実行され実現される。   Further, the processing of step S501, step S502, step S504, and step S508 is executed and implemented by the CPU 201 of the relay processing device 120.

なお、図5で示す利用者端末110と中継処理装置120との間の通信は、図1における制御回線162を使うものとする。   Note that the communication between the user terminal 110 and the relay processing device 120 shown in FIG. 5 uses the control line 162 in FIG.

ステップS501では、中継処理装置120の通信制御部124は、代理通信セッションレコードのサーバ証明書欄から情報提供処理装置150のサーバ公開鍵証明書を取得し、該サーバ公開鍵証明書の有効性を検証する。   In step S501, the communication control unit 124 of the relay processing device 120 acquires the server public key certificate of the information providing processing device 150 from the server certificate column of the proxy communication session record, and checks the validity of the server public key certificate. Validate.

検証項目としては、該サーバ公開鍵証明書の認証パス中の署名機関(CA)が信頼される署名機関としてCA証明書保存部131中に記憶されているものと一致するか否か、検証日時は証明書有効期間内か否か、CRL又はOCSP(Online Certificate Status Protocol)による失効状態、認証パスの長さなどである。   The verification items include whether the signing authority (CA) in the certification path of the server public key certificate matches that stored in the CA certificate storage unit 131 as a trusted signing authority, Is the validity period of the certificate, the revocation status by CRL or OCSP (Online Certificate Status Protocol), the length of the certification path, and the like.

ステップS502では、中継処理装置120は、ステップS501の前記サーバ公開鍵証明書の検証が成功したか否かを判定し、成功したと判定されればステップS504へ進み、失敗したと判定されたのであれば、失敗という結果情報を通信制御部124へ通知し終了する。   In step S502, the relay processing apparatus 120 determines whether or not the verification of the server public key certificate in step S501 has succeeded. If it is determined to be successful, the processing proceeds to step S504 and is determined to have failed. If there is, the result information of failure is notified to the communication control unit 124 and the process ends.

ステップS503では、利用者端末110の拡張機能処理部112は、制御回線162を介して、中継処理装置120の制御処理通信部128へHTTPSで接続し、情報提供処理装置150のサーバ識別子と利用者端末110のクライアント識別子と共に、情報提供処理装置150のサーバ公開鍵証明書の取得要求メッセージを送信する(図11のステップS1119)。   In step S503, the extended function processing unit 112 of the user terminal 110 connects to the control processing communication unit 128 of the relay processing device 120 via HTTPS via the control line 162, and the server identifier of the information providing processing device 150 and the user are connected. A server public key certificate acquisition request message of the information provision processing device 150 is transmitted together with the client identifier of the terminal 110 (step S1119 in FIG. 11).

ステップS504では、制御処理通信部128は、ステップS501で送られたサーバ識別子とクライアント識別子をキーにして、管理表保存部129の代理通信セッション管理表の中から当該キーに一致するレコードを検索する。そして、制御処理通信部128は、管理表保存部129の代理通信セッション管理表の中から一致するレコード(代理通信セッションレコード)を取得する。そして該レコードのサーバ証明書欄の値を利用者端末110の拡張機能処理部112へ応答(送信)する(図11のステップS1120)(送信手段)。   In step S504, the control processing communication unit 128 searches the proxy communication session management table of the management table storage unit 129 for a record that matches the key, using the server identifier and client identifier sent in step S501 as keys. . Then, the control processing communication unit 128 acquires a matching record (proxy communication session record) from the proxy communication session management table of the management table storage unit 129. Then, the server certificate field value of the record is responded (transmitted) to the extended function processing unit 112 of the user terminal 110 (step S1120 in FIG. 11) (transmitting means).

すなわち、中継処理装置120は、サーバ回線163の暗号化通信の回線を確立する際に用いられる(情報提供処理装置150から取得した)情報提供処理装置150のサーバ公開鍵証明書を、制御回線162を介して利用者端末110に送信する。   That is, the relay processing device 120 uses the server public key certificate of the information provision processing device 150 (acquired from the information provision processing device 150) used when establishing the encrypted communication line of the server line 163 as the control line 162. To the user terminal 110 via

ステップS505では、拡張機能処理部112は、ステップS503で受信したサーバ公開鍵証明書の有効性を検証する(図11のステップS1121)。検証手段としては閲覧処理部111によってSSLハンドシェイク中に実施されるサーバ証明書の検証と同程度の検証を実施する。検査項目としては、前記サーバ公開鍵証明書の認証パス中の署名機関(CA)が信頼される署名機関としてCA証明書保存部115中の保存されているものと一致するか否か、検証日時は証明書有効期間内か否か、CRL又はOCSP(Online Certificate Status Protocol)による失効状態、認証パスの長さなどである。さらに、拡張機能処理部112は、サーバ公開鍵証明書中の主体者名と情報提供処理装置150のホスト名が一致するか否かを確認する(RFC2818「3.終点の識別 3.1 サーバーの身元」記載の方法)。   In step S505, the extended function processing unit 112 verifies the validity of the server public key certificate received in step S503 (step S1121 in FIG. 11). As a verification means, verification similar to the verification of the server certificate performed during the SSL handshake by the browsing processing unit 111 is performed. As a check item, whether or not the signing authority (CA) in the certification path of the server public key certificate matches that stored in the CA certificate storage unit 115 as a trusted signing authority, Is the validity period of the certificate, the revocation status by CRL or OCSP (Online Certificate Status Protocol), the length of the certification path, and the like. Further, the extended function processing unit 112 checks whether or not the subject name in the server public key certificate matches the host name of the information providing processing device 150 (RFC2818 “3. End point identification 3.1 Server Identity ”).

ステップS506では、拡張機能処理部112は、ステップS503で実施した検証結果とサーバ公開鍵証明書の内容を、ダイアログボックスを用いて表示し、利用者へサーバ公開鍵証明書を信頼して通信を継続するか否かの確認を取る(図11のステップS1121)。図15にダイアログボックスの例を示す。   In step S506, the extended function processing unit 112 displays the verification result performed in step S503 and the contents of the server public key certificate using a dialog box, and communicates with the user by trusting the server public key certificate. It is confirmed whether or not to continue (step S1121 in FIG. 11). FIG. 15 shows an example of a dialog box.

拡張機能処理部112は、図15に示す画面内の「許可する」ボタンが押下されたか否かを判定して、押下されたと判定された場合は、確認結果として検証が成功した旨を、中継処理装置120の制御処理通信部128へ送信する。一方、拡張機能処理部112は、「許可する」ボタンが押下されず、「許可しない」ボタンが押下されたと判定された場合は、確認結果として検証が成功しなかった旨を、中継処理装置120の制御処理通信部128へ送信する。   The extended function processing unit 112 determines whether or not the “permit” button in the screen illustrated in FIG. 15 has been pressed. If it is determined that the button has been pressed, the extended function processing unit 112 relays that the verification is successful as a confirmation result. The data is transmitted to the control processing communication unit 128 of the processing device 120. On the other hand, when it is determined that the “permit” button has not been pressed and the “not permit” button has been pressed, the extended function processing unit 112 indicates that the verification has not succeeded as a confirmation result. To the control processing communication unit 128.

ステップS507では、拡張機能処理部112は、ステップS504で実施した利用者による情報提供処理装置150のサーバ公開鍵証明書の確認結果を検証結果として中継処理装置120の制御処理通信部128へ送信する(図11のステップS1122)。   In step S507, the extended function processing unit 112 transmits the confirmation result of the server public key certificate of the information provision processing device 150 performed by the user in step S504 to the control processing communication unit 128 of the relay processing device 120 as a verification result. (Step S1122 in FIG. 11).

ステップS508では、中継処理装置120の制御処理通信部128は、利用者端末110による情報提供処理装置150のサーバ公開鍵証明書の検証結果を受信し、該結果を通信制御部124へ通知する。   In step S508, the control processing communication unit 128 of the relay processing device 120 receives the verification result of the server public key certificate of the information provision processing device 150 by the user terminal 110, and notifies the communication control unit 124 of the result.

以上で、サーバ証明書検証処理を終了する。   This completes the server certificate verification process.

ここでは、利用者端末110は、利用者端末110による情報提供処理装置150のサーバ公開鍵証明書の検証結果を、最終的な検証結果として、中継処理装置120に送信しているが、拡張機能処理部112が実行する検証処理の結果を、最終的な検証結果として中継処理装置120に送信するようにしてもよい。   Here, the user terminal 110 transmits the verification result of the server public key certificate of the information provision processing device 150 by the user terminal 110 to the relay processing device 120 as a final verification result. The result of the verification process executed by the processing unit 112 may be transmitted to the relay processing device 120 as a final verification result.

(図6 クライアント認証処理の詳細) (Fig. 6 Details of client authentication process)

次に、図3におけるステップS311の詳細である利用者端末110と中継処理装置120とにおけるクライアント認証処理のフローを、図6を用いて説明する。   Next, the flow of the client authentication process in the user terminal 110 and the relay processing device 120, which is the details of step S311 in FIG. 3, will be described with reference to FIG.

図6に示すステップS601、ステップS603からステップS605、ステップS610、ステップS611、ステップS613、ステップS614は、利用者端末110のCPU201により実行され実現される。   Step S601, step S603 to step S605, step S610, step S611, step S613, and step S614 shown in FIG. 6 are executed and implemented by the CPU 201 of the user terminal 110.

また、ステップS603、ステップS606からステップS612、ステップS615、ステップS616は、中継処理装置120のCPU201により実行され実現される。   Further, Step S603, Step S606 to Step S612, Step S615, and Step S616 are executed and implemented by the CPU 201 of the relay processing device 120.

なお、図6で示す利用者端末110と中継処理装置120との間の通信は、図1における制御回線162を使うものとする。   Note that the communication between the user terminal 110 and the relay processing device 120 shown in FIG. 6 uses the control line 162 in FIG.

ステップS601では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続し(制御回線162の開設)、サーバ識別子とクライアント識別子と共に、情報提供処理装置150のクライアント認証条件の取得要求メッセージを送信する。   In step S601, the extended function processing unit 112 of the user terminal 110 connects to the control processing communication unit 128 of the relay processing device 120 via HTTPS (opens the control line 162), and the information providing processing device together with the server identifier and the client identifier. 150 client authentication condition acquisition request message is transmitted.

ステップS602では、中継処理装置120の制御処理通信部128は、ステップS601で受信したサーバ識別子とクライアント識別子をキーにして、管理表保存部129の代理通信セッション管理表の中から、当該キーに一致するレコードを検索する。そして、中継処理装置120の制御処理通信部128は、検索の結果、管理表保存部129の代理通信セッション管理表の中から得られたレコード(代理通信セッションレコード)を取得する。   In step S602, the control processing communication unit 128 of the relay processing device 120 matches the key from the proxy communication session management table of the management table storage unit 129 using the server identifier and client identifier received in step S601 as keys. Search for the record you want. Then, the control processing communication unit 128 of the relay processing apparatus 120 acquires a record (proxy communication session record) obtained from the proxy communication session management table of the management table storage unit 129 as a result of the search.

そして、中継処理装置120の制御処理通信部128は、取得された該代理通信セッションレコードのクライアント認証要求欄の値を利用者端末110の拡張機能処理部112へ応答(送信)する(図11のステップS1123)。   Then, the control processing communication unit 128 of the relay processing device 120 responds (transmits) the value in the client authentication request field of the acquired proxy communication session record to the extended function processing unit 112 of the user terminal 110 (FIG. 11). Step S1123).

ステップS603では、利用者端末110の拡張機能処理部112は、ステップS601で中継処理装置120から受信したクライアント認証要求の値を解析し、条件となっている署名アルゴリズムやCA識別名を取得し、それらの条件に適合するクライアント公開鍵証明書を、暗号鍵保存部113に記憶されているクライアント公開鍵証明書群の中から取得する(図11のステップS1124)。   In step S603, the extended function processing unit 112 of the user terminal 110 analyzes the value of the client authentication request received from the relay processing apparatus 120 in step S601, acquires the signature algorithm and CA identification name that are conditions, A client public key certificate that meets these conditions is acquired from the client public key certificate group stored in the encryption key storage unit 113 (step S1124 in FIG. 11).

ステップS604では、利用者端末110の拡張機能処理部112は、ステップS603で取得したクライアント公開鍵証明書の内容を含むダイアログボックス等を表示することで利用者へ示す。そして、利用者端末110の拡張機能処理部112は、情報提供処理装置150へのクライアント認証に利用する証明書として、当該クライアント公開鍵証明書の使用の可否の選択を受け付ける(図11のステップS1124)。もし、ステップS603で取得したクライアント公開鍵証明書が複数の場合は、拡張機能処理部112は、ダイアログボックス等を表示してクライアント認証に用いるクライアント公開鍵証明書として利用者に1つを選択させた後に確認処理を行う(使用の可否の選択を受け付ける)。拡張機能処理部112は、ステップS603において条件に適合するクライアント公開鍵証明書がなかった場合は何もしない。   In step S604, the extended function processing unit 112 of the user terminal 110 displays the dialog box including the contents of the client public key certificate acquired in step S603 to the user. Then, the extended function processing unit 112 of the user terminal 110 accepts selection of whether or not the client public key certificate can be used as a certificate used for client authentication to the information provision processing device 150 (step S1124 in FIG. 11). ). If there are a plurality of client public key certificates acquired in step S603, the extended function processing unit 112 displays a dialog box or the like and causes the user to select one as a client public key certificate used for client authentication. After that, a confirmation process is performed (selection of whether or not it can be used is accepted). The extended function processing unit 112 does nothing if there is no client public key certificate that meets the conditions in step S603.

ステップS605では、利用者端末110の拡張機能処理部112は、ステップS604において利用者が利用確認した(利用者により選択された)クライアント公開鍵証明書を中継処理装置120へ送信する(図11のステップS1125)。また、拡張機能処理部112は、ステップS604においてクライアント公開鍵証明書がなかった場合は該当なしの旨のメッセージを送信する。   In step S605, the extended function processing unit 112 of the user terminal 110 transmits the client public key certificate confirmed by the user (selected by the user) in step S604 to the relay processing device 120 (FIG. 11). Step S1125). In addition, if there is no client public key certificate in step S604, the extended function processing unit 112 transmits a message indicating that it is not applicable.

ステップS606では、中継処理装置120の制御処理通信部128は、利用者端末110からクライアント公開鍵証明書を受信し、該クライアント公開鍵証明書を通信制御部124へ渡す。すなわち、ステップS606では、中継処理装置120は、制御回線162を用いて、利用者端末110からクライアント公開鍵証明書を取得する(取得手段)。   In step S 606, the control processing communication unit 128 of the relay processing device 120 receives the client public key certificate from the user terminal 110 and passes the client public key certificate to the communication control unit 124. That is, in step S606, the relay processing device 120 acquires a client public key certificate from the user terminal 110 using the control line 162 (acquisition unit).

ステップS607では、中継処理装置120の通信制御部124は、当該クライアント公開鍵証明書を代理通信セッションレコードのクライアント証明書欄に保存する。   In step S607, the communication control unit 124 of the relay processing device 120 stores the client public key certificate in the client certificate column of the proxy communication session record.

次に、通信制御部124は、該クライアント公開鍵証明書をサーバ側暗号処理部125に渡す。サーバ側暗号処理部125は、サーバ回線163における情報提供処理装置150とのSSLハンドシェイク処理において、該クライアント公開鍵証明書を含んだSSL Client Certificateメッセージを作成し情報提供処理装置150へ送信する(図11のステップS1126)(公開鍵送信手段)。中継処理装置120は、ステップS606においてクライアント公開鍵証明書がないメッセージを受信していた場合は、サーバ側暗号処理部125は、SSL Client Certificateメッセージの証明書領域は空のままにして、SSL Client Certificateメッセージを送信する。   Next, the communication control unit 124 passes the client public key certificate to the server side encryption processing unit 125. In the SSL handshake process with the information provision processing device 150 on the server line 163, the server side encryption processing unit 125 creates an SSL Client Certificate message including the client public key certificate and transmits the SSL Client Certificate message to the information provision processing device 150 ( Step S1126 in FIG. 11 (public key transmission means). If the relay processing apparatus 120 has received a message without a client public key certificate in step S606, the server-side encryption processing unit 125 leaves the certificate area of the SSL Client Certificate message empty, and SSL Client Send a Certificate message.

ステップS608では、中継処理装置120の制御処理通信部128は、SSL Client Certificateメッセージの中にクライアント公開鍵証明書がない場合は、中継処理装置120側の処理を終了する。制御処理通信部128は、中継処理装置120の制御処理通信部128は、当該メッセージの中にクライアント公開鍵証明書があった場合はステップS609へ進む。   In step S608, the control processing communication unit 128 of the relay processing device 120 ends the processing on the relay processing device 120 side when there is no client public key certificate in the SSL Client Certificate message. If there is a client public key certificate in the message, the control processing communication unit 128 of the relay processing device 120 proceeds to step S609.

ステップS609では、中継処理装置120の通信制御部124は、SSL(TLSを含む)の規約に基づいて署名対象データを作成する。例えば、TLS/1.0における署名対象データは、RFC2246の「7.4.8.CertificateVerifyメッセージ」に記載されているように、SSL ClientHelloメッセージから現在までのメッセージで、CertificateVerifyメッセージを除く、送信または受信した全てのハンドシェイクメッセージを連結したデータのメッセージダイジェスト値となる。すなわち、署名対象データは、サーバ回線163の暗号化通信を確立するために情報提供処理装置150と通信したデータである。中継処理装置120の通信制御部124は、作成した署名対象データを制御処理通信部128へ渡す。   In step S609, the communication control unit 124 of the relay processing device 120 creates signature target data based on SSL (including TLS) rules. For example, the data to be signed in TLS / 1.0 is a message from the SSL ClientHello message to the present, as described in “7.4.8. CertificateVerify message” of RFC2246, except for the CertificateVerify message. This is the message digest value of the data obtained by concatenating all received handshake messages. That is, the signature target data is data communicated with the information provision processing device 150 in order to establish encrypted communication of the server line 163. The communication control unit 124 of the relay processing device 120 passes the created signature target data to the control processing communication unit 128.

ステップS610では、利用者端末110の拡張機能処理部112は、ステップS604において条件に適合するクライアント公開鍵証明書がなかった場合は、利用者端末側の処理を終了する。拡張機能処理部112は、クライアント公開鍵証明書があった場合はステップS611へ進む。   In step S610, the extended function processing unit 112 of the user terminal 110 ends the process on the user terminal side when there is no client public key certificate that satisfies the conditions in step S604. If there is a client public key certificate, the extended function processing unit 112 proceeds to step S611.

ステップS611では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続し、署名対象データ要求メッセージを中継処理装置120に送信する。利用者端末110の拡張機能処理部112は、中継処理装置120がステップS612において送信した署名対象データを受信する。   In step S611, the extended function processing unit 112 of the user terminal 110 connects to the control processing communication unit 128 of the relay processing device 120 via HTTPS, and transmits a signature target data request message to the relay processing device 120. The extended function processing unit 112 of the user terminal 110 receives the signature target data transmitted by the relay processing apparatus 120 in step S612.

ステップS612では、中継処理装置120の制御処理通信部128は、当該署名対象データ要求メッセージを利用者端末110から受信すると、ステップS609で生成された署名対象データを利用者端末110の拡張機能処理部112へ送信する(図11のステップS1127)。   In step S612, when receiving the signature target data request message from the user terminal 110, the control processing communication unit 128 of the relay processing device 120 receives the signature target data generated in step S609 and the extended function processing unit of the user terminal 110. 112 (step S1127 in FIG. 11).

ステップS613では、利用者端末110の拡張機能処理部112は、ステップS605で中継処理装置120へ送信したクライアント公開鍵証明書と対になる秘密鍵を暗号鍵保存部113から取得し、該秘密鍵を用いてステップS611で受信した署名対象データに対して署名処理を施して(暗号化して)署名データを作成する。   In step S613, the extended function processing unit 112 of the user terminal 110 acquires the private key that is paired with the client public key certificate transmitted to the relay processing device 120 in step S605 from the encryption key storage unit 113, and the private key Is used to perform signature processing (encryption) on the signature target data received in step S611 to create signature data.

ステップS614では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続し、ステップS613で作成した署名データを中継処理装置120に送信する(図11のステップS1128)。   In step S614, the extended function processing unit 112 of the user terminal 110 connects to the control processing communication unit 128 of the relay processing device 120 via HTTPS, and transmits the signature data created in step S613 to the relay processing device 120 (FIG. 11). Step S1128).

ステップS615では、中継処理装置120の制御処理通信部128は、当該署名データを利用者端末110から受信し、該署名データを通信制御部124へ渡す。   In step S615, the control processing communication unit 128 of the relay processing device 120 receives the signature data from the user terminal 110 and passes the signature data to the communication control unit 124.

ステップS616では、中継処理装置120の通信制御部124は、当該署名データをサーバ側暗号処理部125へ渡し、サーバ側暗号処理部125は該署名データを含んだSSL Certificate Verifyメッセージを作成し、情報提供処理装置150へ送信する(図11のステップS1129)(署名データ送信手段)。   In step S616, the communication control unit 124 of the relay processing device 120 passes the signature data to the server-side cryptographic processing unit 125, and the server-side cryptographic processing unit 125 creates an SSL Certificate Verify message including the signature data. The data is transmitted to the provision processing device 150 (step S1129 in FIG. 11) (signature data transmission means).

以上で、クライアント認証処理を終了する。   This completes the client authentication process.

(図7 APデータ中継処理の詳細) (Fig. 7 Details of AP data relay processing)

次に、図3におけるステップS314の詳細である中継処理装置120におけるAP(アプリケーション)データ(通信データ)の中継処理のフローを、図7を用いて説明する。
なお、図7に示すステップS701からステップS713は、中継処理装置120のCPU201が実行することにより実現される。
Next, the flow of relay processing of AP (application) data (communication data) in the relay processing device 120, which is the details of step S314 in FIG. 3, will be described with reference to FIG.
Note that steps S701 to S713 illustrated in FIG. 7 are realized by the CPU 201 of the relay processing device 120 executing.

ステップS701では、クライアント通信部121は、プロキシ回線161を介して利用者端末110から暗号化通信要求メッセージを受信し、該暗号化通信要求メッセージをクライアント側暗号処理部123へ渡す。   In step S <b> 701, the client communication unit 121 receives an encrypted communication request message from the user terminal 110 via the proxy line 161 and passes the encrypted communication request message to the client side encryption processing unit 123.

ステップS702では、クライアント側暗号処理部123は、当該暗号化通信要求メッセージ(第1の暗号化データ)を、代理通信セッションレコード(図10の現在処理対象のレコード)の共通鍵その他ーC欄の記憶されている共通鍵(第1の共通鍵)を用いて復号化し(第1復号手段)、当該復号化された平文化通信要求メッセージを作成する。クライアント側暗号処理部123は、該平文化通信要求メッセージを通信制御部124へ渡す。   In step S702, the client side encryption processing unit 123 sends the encrypted communication request message (first encrypted data) to the common key in the proxy communication session record (current processing target record in FIG. 10) in the C column. Decryption is performed using the stored common key (first common key) (first decryption means), and the decrypted plain culture communication request message is created. The client side encryption processing unit 123 passes the plain culture communication request message to the communication control unit 124.

ステップS703では、通信制御部124は、平文化通信要求メッセージ(第1の暗号化データを復号することにより得られる通信データ)を付加機能処理部130へ渡し、付加機能処理部130は、前記平文化通信要求メッセージに対して付加機能(検査)を実行する(第1検査手段)。付加機能処理部130は、付加機能の実行結果(検査結果)として、中継処理の継続可否を示す中継可否判定結果と、中継用の平文化通信要求メッセージと、を通信制御部124へ渡す。   In step S703, the communication control unit 124 passes the plain culture communication request message (communication data obtained by decrypting the first encrypted data) to the additional function processing unit 130, and the additional function processing unit 130 An additional function (inspection) is executed for the culture communication request message (first inspection means). The additional function processing unit 130 passes, as an execution result (inspection result) of the additional function, a relay propriety determination result indicating whether the relay process can be continued and a relay culture communication request message to the communication control unit 124.

付加機能(検査処理)の例としては、例えば、平文化通信要求メッセージに対し、キーワード検査を行って機密情報として外部への送信が禁止されているデータが含まれているか否かを検査する処理などがある。その結果、平文化通信要求メッセージに禁止されているデータが含まれていなかったと判定されれば、中継可否判定結果は”可”となり、中継用の平文化通信要求メッセージは、元の平文化通信要求メッセージに対して「検査済み」であるヘッダーが付加されたメッセージとなるケースなどが想定されている。このように、付加機能処理部130は、復号されたデータを検査する付加機能の処理(検査処理)を行う。   As an example of the additional function (inspection process), for example, a process for inspecting whether or not data that is prohibited from being transmitted to the outside as confidential information is included by performing keyword inspection on a plain culture communication request message and so on. As a result, if it is determined that the prohibited data is not included in the plaintext communication request message, the relay availability determination result is “Yes”, and the plaintext communication request message for relay is the original plaintext communication request message. It is assumed that the request message is a message with a header “inspected” added. As described above, the additional function processing unit 130 performs an additional function process (inspection process) for inspecting the decrypted data.

ステップS704では、通信制御部124は、付加機能の処理の結果、中継可否判定結果が”可”ならばステップS705へ進み、”不可”ならばステップS713へ進む(第1決定手段)。   In step S704, the communication control unit 124 proceeds to step S705 if the result of the additional function processing is “possible”, and proceeds to step S713 if the result is “impossible” (first determining means).

ステップS705では、通信制御部124は、中継用の平文化通信要求メッセージをサーバ側暗号処理部125へ渡し、サーバ側暗号処理部125は、該中継用の平文化通信要求メッセージを代理通信セッションレコードの共通鍵その他ーS欄の記憶されている共通鍵を用いて暗号化して、中継用の暗号化通信要求メッセージを作成する。   In step S705, the communication control unit 124 passes the relay plaintext communication request message to the server side cryptographic processing unit 125, and the server side cryptographic processing unit 125 passes the relay plaintext communication request message to the proxy communication session record. Is encrypted using the common key stored in the S column and the like, and an encrypted communication request message for relay is created.

ステップS706では、サーバ側暗号処理部125は、中継用の暗号化通信要求メッセージをサーバ通信部122へ渡し、サーバ通信部122は、該中継用の暗号化通信要求メッセージを情報提供処理装置150のサーバ処理部151へ送信する。   In step S706, the server-side cryptographic processing unit 125 passes the encrypted communication request message for relay to the server communication unit 122, and the server communication unit 122 transmits the encrypted communication request message for relay to the information providing processing device 150. It transmits to the server processing unit 151.

ステップS707では、サーバ通信部122は情報提供処理装置150のサーバ処理部151から暗号化された暗号化通信応答メッセージ(第2の暗号化データ)を受信し、該暗号化通信応答メッセージをサーバ側暗号処理部125へ渡す。   In step S707, the server communication unit 122 receives the encrypted communication response message (second encrypted data) from the server processing unit 151 of the information provision processing device 150, and sends the encrypted communication response message to the server side. The data is passed to the encryption processing unit 125.

ステップS708では、サーバ側暗号処理部125は、該暗号化通信応答メッセージを代理通信セッションレコードの共通鍵その他ーS欄の記憶されている共通鍵(第2の共通鍵)を用いて復号化して(第2復号手段)、当該復号された平文化通信応答メッセージを作成する。サーバ側暗号処理部125は、該平文化通信応答メッセージを通信制御部124へ渡す。   In step S708, the server-side encryption processing unit 125 decrypts the encrypted communication response message using the common key of the proxy communication session record and the other common key stored in the S column (second common key). (Second decryption means) creates the decrypted plain culture communication response message. The server side encryption processing unit 125 passes the plain culture communication response message to the communication control unit 124.

ステップS709では、通信制御部124は、平文化通信応答メッセージ(第2の暗号化データを復号することにより得られた通信データ)を付加機能処理部130へ渡し、付加機能処理部130は、該平文化通信応答メッセージに対して付加機能を実行する(第2検査手段)。付加機能処理部130は、前記付加機能の実行結果として、中継処理の継続可否を示す中継可否判定結果と、中継用平文化通信応答メッセージと、を通信制御部124へ渡す。   In step S709, the communication control unit 124 passes the plain culture communication response message (communication data obtained by decrypting the second encrypted data) to the additional function processing unit 130, and the additional function processing unit 130 An additional function is executed with respect to the Ping culture communication response message (second inspection means). The additional function processing unit 130 passes to the communication control unit 124, as the execution result of the additional function, a relay availability determination result indicating whether the relay process can be continued and a relay plain culture communication response message.

付加機能の例としては、例えば、平文化通信応答メッセージに対しアンチウィルス処理を行うなどがある。この場合、付加機能処理部130は、平文化通信応答メッセージにウィルスが含まれているか否かを検査して、平文化通信応答メッセージにウィルスが含まれていると判定されれば、中継可否判定結果は”不可”となる。この場合、中継処理装置120は、中継用の平文化通信応答メッセージを利用者端末110には送信せず、”ウィルスが検知されたため通信回線を遮断しました”等のメッセージを利用者端末110に送信するなどが想定されている。   As an example of the additional function, for example, an anti-virus process is performed on the Heibun communication response message. In this case, the additional function processing unit 130 checks whether or not a virus is included in the plaintext communication response message, and if it is determined that a virus is included in the plaintext communication response message, the relay possibility determination is performed. The result is “impossible”. In this case, the relay processing device 120 does not send the relay plain communication response message to the user terminal 110, but sends a message such as “The communication line has been cut off because a virus is detected” to the user terminal 110. It is expected to send.

すなわち、中継処理装置120は、付加機能処理部130による付加機能の実行結果として、中継可否判定結果が”不可”の場合は、平文化通信応答メッセージを利用者端末110には送信せず、一方、中継可否判定結果が“可”の場合は、平文化通信応答メッセージを利用者端末110に中継することを決定する(第2決定手段)。   In other words, the relay processing apparatus 120 does not transmit the plain culture communication response message to the user terminal 110 when the relay enable / disable determination result is “impossible” as an execution result of the additional function by the additional function processing unit 130. If the relay availability determination result is “OK”, it is determined to relay the PyeongChang communication response message to the user terminal 110 (second determination means).

付加機能処理部130による検査結果として中継可否判定結果が“可”の場合(例えば、平文化通信応答メッセージにウィルスが含まれていないと判定された場合)、ステップS710では、通信制御部124は、中継用の平文化通信応答メッセージをクライアント側暗号処理部123へ渡し、クライアント側暗号処理部123は、該中継用の平文化通信応答メッセージを代理通信セッションレコードの共通鍵その他ーC欄の記憶されている共通鍵を用いて暗号化して中継用の暗号化通信応答メッセージを作成する。   If the relay result determination result is “possible” as an inspection result by the additional function processing unit 130 (for example, when it is determined that a virus is not included in the Ping culture communication response message), in step S710, the communication control unit 124 The relay side communication response message is passed to the client side encryption processing unit 123, and the client side encryption processing unit 123 stores the relay side communication communication response message in the common key of the proxy communication session record, etc. The encrypted common response key is used to generate an encrypted communication response message for relay.

ステップS711では、クライアント側暗号処理部123は、中継用の暗号化通信応答メッセージをクライアント通信部121へ渡し、クライアント通信部121は、該中継用の暗号化通信応答メッセージを、利用者端末110の閲覧処理部111へ送信する。   In step S711, the client side encryption processing unit 123 passes the encrypted communication response message for relay to the client communication unit 121, and the client communication unit 121 sends the encrypted communication response message for relay to the user terminal 110. It transmits to the browsing processing part 111.

ステップS712では、通信制御部124は平文化通信応答メッセージなどからアプリケーション通信(HTTPトランザクション)を終了するかどうか判定し、終了すると判定すれば処理を終了する。継続すると判定すればステップS701へ進む。   In step S712, the communication control unit 124 determines whether to end application communication (HTTP transaction) from the plain culture communication response message or the like. If it determines with continuing, it will progress to step S701.

ステップS713では、通信制御部124は、ステップS703で生成された中継可否判定結果(中継可否判定結果が”不可”)と中継用の平文化通信要求メッセージに基づき、「リクエスト送信は禁止されました」等の中継用の平文化通信応答メッセージを作成して、ステップS710へ進む。ステップS710では、中継処理装置120は、ここで生成された中継用の平文化通信応答メッセージを、代理通信セッションレコードの共通鍵その他ーC欄の記憶されている共通鍵を用いて暗号化して、中継用の暗号化通信応答メッセージを作成し、ステップS711で利用者端末110に送信する。   In step S713, the communication control unit 124 determines that “request transmission is prohibited based on the relay availability determination result (relay availability determination result is“ impossible ”) generated in step S703 and the plain culture communication request message for relay. And so forth, and the process proceeds to step S710. In step S710, the relay processing device 120 encrypts the generated relay communication response message for relay using the common key of the proxy communication session record and the common key stored in the column C, and An encrypted communication response message for relay is created and transmitted to the user terminal 110 in step S711.

以上で、APデータ中継処理を終了する。   This is the end of the AP data relay process.

以上説明したように、本実施形態によれば、暗号化通信によるデータを中継する際に、当該データを検査可能にすると共に、真正な証明書に基づき通信相手の真正性を確認できる。   As described above, according to the present embodiment, when data by encrypted communication is relayed, the data can be inspected, and the authenticity of the communication partner can be confirmed based on the authentic certificate.

さらに、本実施形態によれば、例えば、銀行の預金などのWebページを利用者端末で閲覧する場合、中継処理装置で、利用者端末の操作ユーザのパスワードなどの個人の情報も検査してしまうことが低減される。   Furthermore, according to the present embodiment, for example, when a Web page such as a bank deposit is viewed on a user terminal, personal information such as a password of an operation user of the user terminal is also checked by the relay processing device. Is reduced.

すなわち、Webサイトに応じて、通信されるデータを検査するか否かを決定することができるため、情報漏えい等のセキュリティを向上させると共に、個人の情報を取得し検査しないように制御することも可能である。 That is, since it is possible to determine whether or not to check the data to be communicated according to the website, it is possible to improve security such as information leakage and to control not to acquire and check personal information. Is possible.

また、本実施形態によれば、情報提供処理装置は、通信相手である利用者端末の真正性を確認することができるようになる。   Moreover, according to this embodiment, the information provision processing apparatus can confirm the authenticity of the user terminal that is the communication partner.

また、本発明によれば、代理方式による暗号化通信を再開する場合、既に記憶されているセッションIDや共通鍵を用いて再開することが可能となる。   Further, according to the present invention, when the encrypted communication by the proxy method is resumed, it can be resumed by using the session ID and the common key that are already stored.

以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although the embodiments have been described in detail above, the present invention can take an embodiment as, for example, a system, an apparatus, a method, a program, or a storage medium, and specifically includes a plurality of devices. The present invention may be applied to a system that is configured, or may be applied to an apparatus that includes a single device.

<第2の実施形態>
第1の実施形態では、HTTPS(HTTP over SSL(TLSを含む))通信において、利用者端末110が中継処理装置120(プロキシサーバ)へCONNECTメソッドで接続し情報提供処理装置150(Webサーバ)への通信をトンネリングする仕組みに対して、暗号化通信情報を復号化し付加機能を実行する方法と、その場合においてもエンティティ認証を有効に機能させる方法について説明した。しかしながら、CONNECTメソッドによる中継プロトコルはHTTP通信に限定されない汎用のトランスポート通信のトンネリング手法であるため、たとえば、IMAP over SSL(TLSを含む)、POP3 over SSL(TLSを含む)、SMTP over SSL(TLSを含む)等のSSL(TLSを含む)を使う他の通信プロトコルの場合でも同様の構成で適用することができる。
<Second Embodiment>
In the first embodiment, in HTTPS (HTTP over SSL (including TLS)) communication, the user terminal 110 connects to the relay processing device 120 (proxy server) by the CONNECT method, and then to the information provision processing device 150 (Web server). The method of decrypting encrypted communication information and executing an additional function and the method of effectively functioning entity authentication even in such a case have been described for the mechanism for tunneling communication. However, since the relay protocol by the CONNECT method is a general-purpose transport communication tunneling method that is not limited to HTTP communication, for example, IMAP over SSL (including TLS), POP3 over SSL (including TLS), SMTP over SSL (TLS) Even in the case of other communication protocols using SSL (including TLS) such as

例えば、IMAP over SSL(TLSを含む)に適用する場合は、利用者端末110の閲覧処理部111はIMAP over SSL(TLSを含む)クライアント機能を備えたメールユーザエージェントであり、情報提供処理装置150のサーバ処理部151はIMAP over SSL(TLSを含む)機能を備えたIMAPサーバとなる。   For example, when applied to IMAP over SSL (including TLS), the browsing processing unit 111 of the user terminal 110 is a mail user agent having an IMAP over SSL (including TLS) client function, and the information provision processing device 150. The server processing unit 151 is an IMAP server having an IMAP over SSL (including TLS) function.

以上説明したように、本実施の形態によれば、各通信規約を変更することなく、暗号化通信によるデータを中継する際に、当該データを検査可能にすると共に、真正な証明書に基づき通信相手の真正性を確認することができる。 As described above, according to this embodiment, when relaying data by encrypted communication without changing each communication protocol, the data can be inspected and communication is performed based on a genuine certificate. The authenticity of the other party can be confirmed.

また、制御回線もSSL通信であるので、中継処理装置自体のなりすましも防止できる。 次に、図19、及び図20を用いて、本発明における中継処理装置の機能について説明する。 Further, since the control line is also SSL communication, spoofing of the relay processing device itself can be prevented. Next, functions of the relay processing apparatus according to the present invention will be described with reference to FIGS. 19 and 20.

図19は、本発明における中継処理装置の機能ブロック図である。1901は、本発明における中継処理装置を示している。   FIG. 19 is a functional block diagram of the relay processing apparatus according to the present invention. Reference numeral 1901 denotes a relay processing apparatus according to the present invention.

すなわち、1901は、クライアント端末(利用者端末110)と情報処理装置(情報提供処理装置150)との間で通信される通信データを中継する中継処理装置120である。 That is, 1901 is a relay processing device 120 that relays communication data communicated between the client terminal (user terminal 110) and the information processing device (information providing processing device 150).

ここで、本実施例の利用者端末110は、本発明のクライアント端末の適用例である。また、本実施例の情報提供処理装置150は、本発明の情報処理装置の適用例である。 1902は、クライアント端末と通信データの通信で用いられる第1のSSL通信を確立する第1確立部である。 1903は、情報処理装置と通信データの通信で用いられる第2のSSL通信を確立する第2確立部である。 Here, the user terminal 110 of this embodiment is an application example of the client terminal of the present invention. Also, the information provision processing device 150 of this embodiment is an application example of the information processing device of the present invention. Reference numeral 1902 denotes a first establishment unit that establishes first SSL communication used for communication data communication with the client terminal. Reference numeral 1903 denotes a second establishment unit that establishes second SSL communication used for communication of communication data with the information processing apparatus.

1904は、第2確立部で第2のSSL通信を確立する際に情報処理装置から取得される情報処理装置の公開鍵証明書を、第1の確立部により第1のSSL通信を確立するクライアント端末に送信する送信部である。 1904 is a client that establishes the first SSL communication by the first establishing unit, and the public key certificate of the information processing device acquired from the information processing device when the second establishing unit establishes the second SSL communication. It is a transmission part which transmits to a terminal.

次に、図20を用いて、本発明における中継処理装置の機能について説明する。   Next, functions of the relay processing apparatus according to the present invention will be described with reference to FIG.

図20は、本発明における中継処理装置の機能ブロック図である。   FIG. 20 is a functional block diagram of the relay processing apparatus according to the present invention.

2000は、クライアント端末(利用者端末110)と情報処理装置(情報提供処理装置150)との間で通信される通信データを中継する中継処理装置120である。 A relay processing device 120 relays communication data communicated between the client terminal (user terminal 110) and the information processing device (information providing processing device 150).

1902、1903、1904は、図19で説明した機能と同様であるため、ここでは説明を省略する。 2001は、クライアント端末と制御通信を確立する通信確立部である。   Reference numerals 1902, 1903, and 1904 are the same as those described with reference to FIG. Reference numeral 2001 denotes a communication establishment unit that establishes control communication with a client terminal.

また、送信部1904は、第2確立部で第2のSSL通信を確立する際に情報処理装置から取得される情報処理装置の公開鍵証明書を、通信確立部により確立された制御通信を用いて、第1の確立部により第1のSSL通信の確立を行うクライアント端末に送信する。 In addition, the transmission unit 1904 uses the public key certificate of the information processing device acquired from the information processing device when the second establishment unit establishes the second SSL communication, using the control communication established by the communication establishment unit. Then, the first establishment unit transmits it to the client terminal that establishes the first SSL communication.

2002は、クライアント端末から、情報処理装置へのSSL通信の要求を受信する受信部である。   A receiving unit 2002 receives a request for SSL communication from the client terminal to the information processing apparatus.

2003は、受信部でクライアント端末からSSL通信の要求を受信したことを条件に、第1確立部による第1のSSL通信の確立、及び第2確立部による第2のSSL通信の確立を行うように制御する制御部である。 In 2003, the first establishing unit establishes the first SSL communication and the second establishing unit establishes the second SSL communication on the condition that the receiving unit receives the SSL communication request from the client terminal. It is a control part which controls to.

2004は、クライアント端末と情報処理装置との間で確立される第3のSSL通信を用いて、クライアント端末と情報処理装置との間で通信される通信データを中継する中継部である。 Reference numeral 2004 denotes a relay unit that relays communication data communicated between the client terminal and the information processing apparatus using third SSL communication established between the client terminal and the information processing apparatus.

2005は、クライアント端末から送信される通信データの中継先の情報処理装置を示す中継先情報に対して、通信データの中継を許可する通信方式として、中継部で第3のSSL通信を用いて通信データの中継を行う直接通信方式か、第1確立部により確立される第1のSSL通信、及び第2確立部により確立される第2のSSL通信を用いて通信データの中継を行う代理通信方式かを示す通信方式情報が設定された通信方式設定情報を記憶する記憶部である。 2005 is a communication method for permitting relaying of communication data for relay destination information indicating an information processing apparatus that is a relay destination of communication data transmitted from a client terminal. A proxy communication method for relaying communication data using a direct communication method for relaying data or a first SSL communication established by a first establishment unit and a second SSL communication established by a second establishment unit It is a storage unit for storing communication method setting information in which communication method information indicating the above is set.

2006は、通信データを中継する中継先情報をクライアント端末から受け付ける受付部である。   Reference numeral 2006 denotes a reception unit that receives relay destination information for relaying communication data from a client terminal.

2007は、記憶部に記憶された通信方式設定情報と、受付部で受け付けた中継先情報とに従って、受付部で受け付けた中継先情報に示される中継先の情報処理装置とクライアント端末との間での通信を許可する通信方式が直接通信方式であるか、代理通信方式であるかを決定する通信決定部である。 In 2007, between the communication method setting information stored in the storage unit and the relay destination information received by the reception unit, between the information processing apparatus and the client terminal of the relay destination indicated by the relay destination information received by the reception unit. It is a communication determination part which determines whether the communication system which permits communication of this is a direct communication system, or a proxy communication system.

ここで、制御部2003は、通信決定部で、情報処理装置とクライアント端末との間での通信を許可する通信方式として代理通信方式が決定されたことを条件に、第1確立部による第1のSSL通信の確立、及び第2確立部による第2のSSL通信の確立を行うように制御する。 Here, the control unit 2003 uses the first determination unit to set the first communication unit on the condition that the proxy determination method is determined as the communication method for permitting communication between the information processing apparatus and the client terminal. Control to establish the second SSL communication by the second establishing unit.

また、中継部2004は、更に、通信決定部で、情報処理装置とクライアント端末との間での通信を許可する通信方式として直接通信方式が決定されたことを条件に、クライアント端末と情報処理装置との間で確立される第3のSSL通信を用いて、クライアント端末と情報処理装置との間で通信される通信データを中継する。 In addition, the relay unit 2004 further includes the client terminal and the information processing apparatus on the condition that the communication determining unit determines that the direct communication method is determined as a communication method for permitting communication between the information processing device and the client terminal. Communication data communicated between the client terminal and the information processing apparatus is relayed using the third SSL communication established between the client terminal and the information processing apparatus.

また、記憶部に記憶されている通信方式設定情報は、更に、中継先情報に対して、クライアント端末を示すクライアント情報が設定されており、受付部は、中継先情報を受け付けたクライアント端末のクライアント情報を更に受け付け、通信決定部は、記憶部に記憶された通信方式設定情報と、受付部で受け付けた中継先情報と、受付部で受け付けたクライアント情報とに従って、受付部で受け付けた中継先情報に示される中継先の情報処理装置と、受付部で受け付けたクライアント情報により示されるクライアント端末との間での通信を許可する通信方式を決定する。 Further, in the communication method setting information stored in the storage unit, client information indicating a client terminal is further set with respect to the relay destination information, and the reception unit is a client of the client terminal that has received the relay destination information. The communication determination unit further receives information, and the communication determination unit receives the relay destination information received by the reception unit according to the communication method setting information stored in the storage unit, the relay destination information received by the reception unit, and the client information received by the reception unit. The communication method for permitting communication between the information processing apparatus of the relay destination shown in FIG. 5 and the client terminal indicated by the client information received by the receiving unit is determined.

記憶部に記憶された通信方式設定情報の通信方式情報は、通信を行う通信方式を、クライアント端末の操作ユーザよる指示に従って決定することを示す指示情報を更に含んでいる。 The communication method information of the communication method setting information stored in the storage unit further includes instruction information indicating that a communication method for performing communication is determined according to an instruction from the user operating the client terminal.

2008は、受付部で受け付けた中継先情報に対する、記憶部に記憶された通信方式設定情報の通信方式情報が指示情報である場合に、通信方式の指示を受け付けるための指示画面を前記クライアント端末に表示するための通信方式指示情報をクライアント端末に送信する通信方式送信部である。 In 2008, when the communication method information of the communication method setting information stored in the storage unit with respect to the relay destination information received by the receiving unit is the instruction information, an instruction screen for receiving a communication method instruction is displayed on the client terminal. It is a communication system transmission part which transmits the communication system instruction information for displaying to a client terminal.

2009は、通信方式送信部で送信された通信方式指示情報に従って表示される指示画面を介してクライアント端末の操作ユーザにより指示された通信方式を示す通信方式情報を、クライアント端末から受信する通信方式受信部である。 2009 is a communication method reception for receiving, from the client terminal, communication method information indicating a communication method instructed by an operation user of the client terminal via an instruction screen displayed according to the communication method instruction information transmitted by the communication method transmitting unit. Part.

また、通信決定部は、更に、通信方式受信部で受信した通信方式情報に示される通信方式を、受付部で受け付けた中継先情報に示される中継先の情報処理装置とクライアント端末との間で通信を行う通信方式として決定し、制御部は、更に、通信決定部で、情報処理装置とクライアント端末との間で通信を行う通信方式として代理通信方式が決定されたことを条件に、第1確立部による第1のSSL通信の確立、及び第2確立部による第2のSSL通信の確立を行うように制御する。   Further, the communication determining unit further determines the communication method indicated by the communication method information received by the communication method receiving unit between the information processing apparatus at the relay destination indicated by the relay destination information received by the receiving unit and the client terminal. The communication unit determines the communication method for performing communication, and the control unit further sets the first condition on the condition that the communication determining unit determines the proxy communication method as the communication method for performing communication between the information processing apparatus and the client terminal. Control is performed so that the establishment unit establishes the first SSL communication and the second establishment unit establishes the second SSL communication.

また、記憶部に記憶されている通信方式設定情報は、中継先情報に対して、クライアント端末を示すクライアント情報が更に設定されており、受付部は、中継先情報を受け付けたクライアント端末のクライアント情報を更に受け付け、通信方式送信部は、受付部で受け付けた中継先情報、及びクライアント情報に対する、記憶部に記憶された通信方式設定情報の通信方式情報が指示情報である場合に、通信方式を指示するための指示画面をクライアント端末に表示するための通信方式指示情報をクライアント端末に送信する。   In the communication method setting information stored in the storage unit, client information indicating the client terminal is further set with respect to the relay destination information, and the reception unit receives the client information of the client terminal that has received the relay destination information. The communication method transmission unit instructs the communication method when the communication method information of the communication method setting information stored in the storage unit for the relay destination information and the client information received by the reception unit is the instruction information. The communication method instruction information for displaying the instruction screen for the client terminal is transmitted to the client terminal.

2010は、通信確立部で確立した制御通信を用いてクライアント端末からクライアント端末の公開鍵証明書を取得する取得部である。   2010 is an acquisition unit that acquires the public key certificate of the client terminal from the client terminal using the control communication established by the communication establishment unit.

2011は、取得部で取得したクライアント端末の公開鍵証明書を、第2確立部で第2のSSL通信を確立する際に用いられる中継処理装置の公開鍵証明書として情報処理装置に送信する公開鍵送信部である。 2011, a public key certificate of the client terminal acquired by the acquiring unit is transmitted to the information processing device as a public key certificate of the relay processing device used when the second establishing unit establishes the second SSL communication. It is a key transmission unit.

2012は、第2確立部で第2のSSL通信を確立するために情報処理装置と通信したデータが、公開鍵送信部により情報処理装置に送信したクライアント端末の公開鍵証明書に対応する秘密鍵を用いて暗号化されることにより生成される署名データを情報処理装置に送信する署名データ送信部である。 2012 is a secret key corresponding to the public key certificate of the client terminal in which the data communicated with the information processing device to establish the second SSL communication by the second establishing unit is transmitted to the information processing device by the public key transmitting unit. This is a signature data transmission unit that transmits signature data generated by being encrypted to the information processing apparatus.

2013は、第1確立部により確立された第1のSSL通信を用いてクライアント端末から受信した、通信データが暗号化された第1の暗号化データを、第1確立部で第1のSSL通信を確立する際に生成した第1の共通鍵を用いて復号する第1復号部である。 2013 is the first SSL communication in which the first establishment unit receives the first encrypted data obtained by encrypting the communication data received from the client terminal using the first SSL communication established by the first establishment unit. It is the 1st decoding part which decodes using the 1st common key produced | generated when establishing.

2014は、第1復号部で第1の暗号化データを復号することにより得られる通信データを検査する第1検査部である。   Reference numeral 2014 denotes a first inspection unit that inspects communication data obtained by decrypting the first encrypted data by the first decryption unit.

2015は、第1検査部による検査結果に従って、第1検査部で検査された通信データを情報処理装置に中継するか否かを決定する第1決定部である。   Reference numeral 2015 denotes a first determination unit that determines whether or not to relay the communication data inspected by the first inspection unit to the information processing device according to the inspection result by the first inspection unit.

2016は、第2確立部により確立された第2のSSL通信を用いて情報処理装置から受信した、通信データが暗号化された第2の暗号化データを、第2確立部で第2のSSL通信を確立する際に生成した第2の共通鍵を用いて復号する第2復号部である。 In 2016, the second encrypted data obtained by encrypting the communication data received from the information processing apparatus using the second SSL communication established by the second establishing unit is sent to the second SSL by the second establishing unit. The second decryption unit decrypts the second common key generated when establishing communication.

2017は、第2復号部で第2の暗号化データを復号することにより得られた通信データを検査する第2検査部である。   Reference numeral 2017 denotes a second inspection unit that inspects communication data obtained by decrypting the second encrypted data by the second decryption unit.

2018は、第2検査部による検査結果に従って、第2検査部で検査された通信データをクライアント端末に中継するか否かを決定する第2決定部である。   2018 is a 2nd determination part which determines whether the communication data test | inspected by the 2nd test | inspection part are relayed to a client terminal according to the test result by a 2nd test | inspection part.

2019は、第1確立部で第1のSSL通信を確立する際に生成した第1の共通鍵と、該第1のSSL通信のセッションを識別する第1のセッション識別情報と、第2確立部で第2のSSL通信を確立する際に生成した第2の共通鍵と、該第2のSSL通信のセッションを識別する第2のセッション識別情報とを関連付けて記憶する代理通信記憶部である。 2019 includes a first common key generated when the first establishing unit establishes the first SSL communication, first session identification information for identifying the session of the first SSL communication, and a second establishing unit The proxy communication storage unit stores the second common key generated when the second SSL communication is established in association with the second session identification information for identifying the second SSL communication session.

2020は、クライアント端末から情報処理装置への、第1のセッション識別情報を含むSSL通信の再開要求を受信する再開要求受信部である。   2020 is a restart request receiving unit that receives an SSL communication restart request including the first session identification information from the client terminal to the information processing apparatus.

2021は、再開要求受信部で受信した、SSL通信の再開要求に含まれる第1のセッション識別情報が、代理通信記憶部に記憶されているかを判定する判定部である。 2021 is a determination unit that determines whether the first session identification information included in the SSL communication restart request received by the restart request reception unit is stored in the proxy communication storage unit.

2022は、判定部で、第1のセッション識別情報が代理通信記憶部に記憶されていると判定された場合に、該第1のセッション識別情報に関連付けて代理通信記憶部に記憶された第1の共通鍵を用いてクライアント端末と第1のSSL通信を再開し、かつ該第1のセッション識別情報に関連付けて代理通信記憶部に記憶された、第2の共通鍵と、第2のセッション識別情報とを用いて情報処理装置と第2のSSL通信を再開する通信再開部である。 When the determination unit 2022 determines that the first session identification information is stored in the proxy communication storage unit, 2021 is stored in the proxy communication storage unit in association with the first session identification information. The second common key and the second session identification stored in the proxy communication storage unit in association with the first session identification information are resumed with the client terminal using the common key. A communication resuming unit that resumes the second SSL communication with the information processing apparatus using the information.

なお、通信確立部2001で確立される制御通信はSSL通信である。   Note that the control communication established by the communication establishment unit 2001 is SSL communication.

以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、装置で実行可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 Although one embodiment of the present invention has been described in detail above, the present invention can take an embodiment as, for example, a system, apparatus, method, program executable by the apparatus, or a storage medium. In addition, the present invention may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of a single device.

また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in.

この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention.

プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。 As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (basic system or operating system) running on the computer based on the instruction of the program code. Needless to say, a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion board or function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

110 利用者端末
111 閲覧処理部
112 拡張機能処理部
113 暗号鍵保存部
114 管理表保存部
115 CA証明書保存部
120 中継所処理装置
121 クライアント通信部
122 サーバ通信部
123 クライアント側暗号処理部
124 代理通信制御部
125 サーバ側暗号処理部
126 代理用暗号鍵保存部
127 サーバ暗号鍵保存部
128 制御処理通信部
129 管理表保存部
130 付加機能処理部
131 CA証明書保存部
150 情報提供処理装置
151 サーバ処理部
152 サーバ暗号鍵保存部
161 プロキシ回線
162 制御回線
163 サーバ回線
110 User terminal 111 Browsing processing unit 112 Extended function processing unit 113 Encryption key storage unit 114 Management table storage unit 115 CA certificate storage unit 120 Relay station processing device 121 Client communication unit 122 Server communication unit 123 Client side cryptographic processing unit 124 Proxy Communication control unit 125 Server side encryption processing unit 126 Proxy encryption key storage unit 127 Server encryption key storage unit 128 Control processing communication unit 129 Management table storage unit 130 Additional function processing unit 131 CA certificate storage unit 150 Information provision processing device 151 Server Processing unit 152 Server encryption key storage unit 161 Proxy line 162 Control line 163 Server line

Claims (9)

クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、
前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、
前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、
前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、
前記第2確立手段で第2のSSL通信を確立する際に前記情報処理装置から取得される前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記クライアント端末に送信する送信手段と、
前記通信確立手段で確立した制御通信を用いて前記クライアント端末から前記クライアント端末の公開鍵証明書を取得する取得手段と、
前記取得手段で取得したクライアント端末の公開鍵証明書を、前記第2確立手段で第2のSSL通信を確立する際に用いられる前記中継処理装置の公開鍵証明書として前記情報処理装置に送信する公開鍵送信手段と、
を備えることを特徴とする中継処理装置。
A relay processing device that relays communication data communicated between a client terminal and an information processing device,
In order to relay the communication data communicated between the client terminal and the information processing apparatus, a first SSL communication used for communication of the communication data between the relay processing apparatus and the client terminal is established. First establishing means;
In order to relay the communication data communicated between the client terminal and the information processing device, a second SSL communication used for communication of the communication data between the relay processing device and the information processing device is established. A second establishing means to:
Communication establishment means for establishing control communication between the relay processing device and the client terminal separately from the first SSL communication;
Using the control communication established by the communication establishment means, the public key certificate of the information processing apparatus acquired from the information processing apparatus when establishing the second SSL communication by the second establishment means, A transmission means for transmitting to the client terminal;
Obtaining means for obtaining a public key certificate of the client terminal from the client terminal using control communication established by the communication establishing means;
The client terminal public key certificate acquired by the acquiring unit is transmitted to the information processing apparatus as the public key certificate of the relay processing apparatus used when the second establishing unit establishes the second SSL communication. Public key transmission means;
A relay processing apparatus comprising:
前記クライアント端末から、前記情報処理装置へのSSL通信の要求を受信する受信手段と、
前記受信手段で前記クライアント端末からSSL通信の要求を受信したことを条件に、前記第1確立手段による第1のSSL通信の確立、及び前記第2確立手段による第2のSSL通信の確立を行うように制御する制御手段と、
を更に備えることを特徴とする請求項1に記載の中継処理装置。
Receiving means for receiving a request for SSL communication from the client terminal to the information processing apparatus;
The first establishing means establishes the first SSL communication and the second establishing means establishes the second SSL communication on condition that the receiving means receives the SSL communication request from the client terminal. Control means for controlling
The relay processing apparatus according to claim 1, further comprising:
前記第2確立手段で前記第2のSSL通信を確立するために前記情報処理装置と通信したデータが、前記公開鍵送信手段により前記情報処理装置に送信した前記クライアント端末の公開鍵証明書に対応する秘密鍵を用いて暗号化されることにより生成される署名データを前記情報処理装置に送信する署名データ送信手段を更に備えることを特徴とする請求項1又は2に記載の中継処理装置。 Data communicated with the information processing apparatus to establish the second SSL communication by the second establishing means corresponds to the public key certificate of the client terminal transmitted to the information processing apparatus by the public key transmitting means. relay processing apparatus according to claim 1 or 2, further comprising a signature data transmission means for transmitting the signature data generated by being encrypted to the information processing apparatus using a private key. 前記第1確立手段で前記第1のSSL通信を確立する際に生成した第1の共通鍵と、当該第1のSSL通信のセッションを識別する第1のセッション識別情報と、前記第2確立手段で前記第2のSSL通信を確立する際に生成した第2の共通鍵と、当該第2のSSL通信のセッションを識別する第2のセッション識別情報とを関連付けて記憶する代理通信記憶手段と、
前記クライアント端末から前記情報処理装置への、前記第1のセッション識別情報を含むSSL通信の再開要求を受信する再開要求受信手段と、
前記再開要求受信手段で受信した、SSL通信の再開要求に含まれる前記第1のセッション識別情報が、前記代理通信記憶手段に記憶されているかを判定する判定手段と、
前記判定手段で、当該第1のセッション識別情報が前記代理通信記憶手段に記憶されていると判定された場合に、当該第1のセッション識別情報に関連付けて前記代理通信記憶手段に記憶されている前記第1の共通鍵を用いて前記クライアント端末と前記第1のSSL通信を再開し、かつ当該第1のセッション識別情報に関連付けて前記代理通信記憶手段に記憶されている、当該第2の共通鍵と、当該第2のセッション識別情報とを用いて前記情報処理装置と前記第2のSSL通信を再開する通信再開手段と、
を更に備えることを特徴とする請求項1乃至の何れか1項に記載の中継処理装置。
A first common key generated when the first establishing means establishes the first SSL communication, first session identification information for identifying a session of the first SSL communication, and the second establishing means. Proxy communication storage means for storing the second common key generated when establishing the second SSL communication and second session identification information for identifying the second SSL communication session in association with each other,
Resumption request receiving means for receiving a resumption request for SSL communication including the first session identification information from the client terminal to the information processing apparatus;
A determination unit that determines whether the first session identification information included in the SSL communication restart request received by the restart request reception unit is stored in the proxy communication storage unit;
When it is determined by the determination means that the first session identification information is stored in the proxy communication storage means, the first session identification information is stored in the proxy communication storage means in association with the first session identification information. Resuming the first SSL communication with the client terminal using the first common key, and storing the second common in association with the first session identification information and stored in the proxy communication storage means Communication resuming means for resuming the second SSL communication with the information processing apparatus using the key and the second session identification information;
Relay processing apparatus according to any one of claims 1 to 3, further comprising a.
前記第1確立手段により確立された第1のSSL通信を用いて前記クライアント端末から受信した、前記通信データが暗号化された第1の暗号化データを、前記第1確立手段で前記第1のSSL通信を確立する際に生成した第1の共通鍵を用いて復号する第1復号手段と、
前記第1復号手段で前記第1の暗号化データを復号することにより得られる通信データを検査する第1検査手段と、
前記第1検査手段による検査結果に従って、前記第1検査手段で検査された通信データを前記情報処理装置に中継するか否かを決定する第1決定手段と、
を更に備えることを特徴とする請求項1乃至の何れか1項に記載の中継処理装置。
The first encrypted data obtained by encrypting the communication data received from the client terminal using the first SSL communication established by the first establishing means is transmitted to the first establishing means by the first establishing means. First decryption means for decrypting using the first common key generated when establishing SSL communication;
First inspection means for inspecting communication data obtained by decrypting the first encrypted data by the first decryption means;
First determining means for determining whether to relay the communication data inspected by the first inspecting means to the information processing device according to the inspection result by the first inspecting means;
Further comprising a relay processing unit according to any one of claims 1 to 4, characterized in.
前記第2確立手段により確立された第2のSSL通信を用いて前記情報処理装置から受信した、前記通信データが暗号化された第2の暗号化データを、前記第2確立手段で前記第2のSSL通信を確立する際に生成した第2の共通鍵を用いて復号する第2復号手段と、
前記2復号手段で前記第2の暗号化データを復号することにより得られた通信データを検査する第2検査手段と、
前記第2検査手段による検査結果に従って、前記第2検査手段で検査された通信データ
を前記クライアント端末に中継するか否かを決定する第2決定手段と、
を更に備えることを特徴とする請求項1乃至の何れか1項に記載の中継処理装置。
Second encrypted data obtained by encrypting the communication data received from the information processing apparatus using the second SSL communication established by the second establishing means is transmitted to the second established means by the second establishing means. Second decryption means for decrypting using the second common key generated when establishing the SSL communication;
Second inspection means for inspecting communication data obtained by decrypting the second encrypted data by the two decryption means;
Second determining means for determining whether to relay the communication data inspected by the second inspecting means to the client terminal according to the inspection result by the second inspecting means;
Relay processing apparatus according to any one of claims 1 to 5, further comprising a.
前記通信確立手段で確立される制御通信は、SSL通信であることを特徴とする請求項1乃至の何れか1項に記載の中継処理装置。 It said control communication being established in the communication establishing means includes relay processing apparatus according to any one of claims 1 to 6, characterized in that a SSL communication. クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置の中継処理方法であって、
前記中継処理装置の第1確立手段が、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立工程と、
前記中継処理装置の前記第2確立手段が、前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立工程と、
前記中継処理装置の通信確立手段が、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立工程と、
前記中継処理装置の送信手段が、前記第2確立工程で第2のSSL通信を確立する際に前記情報処理装置から取得される前記情報処理装置の公開鍵証明書を、前記通信確立工程により確立された制御通信を用いて、前記クライアント端末に送信する送信工程と、
前記中継処理装置の取得手段が、前記通信確立工程で確立した制御通信を用いて前記クライアント端末から前記クライアント端末の公開鍵証明書を取得する取得工程と、
前記中継処理装置の公開鍵送信手段が、前記取得工程で取得したクライアント端末の公開鍵証明書を、前記第2確立工程で第2のSSL通信を確立する際に用いられる前記中継処理装置の公開鍵証明書として前記情報処理装置に送信する公開鍵送信工程と、
を備えることを特徴とする中継処理装置の中継処理方法。
A relay processing method of a relay processing device that relays communication data communicated between a client terminal and an information processing device,
Communication of the communication data between the relay processing device and the client terminal so that the first establishing means of the relay processing device relays the communication data communicated between the client terminal and the information processing device A first establishing step of establishing a first SSL communication used in
The communication data between the relay processing device and the information processing device in order for the second establishing means of the relay processing device to relay the communication data communicated between the client terminal and the information processing device. A second establishing step of establishing a second SSL communication used in the communication of
A communication establishment step in which the communication establishment means of the relay processing device establishes control communication between the relay processing device and the client terminal separately from the first SSL communication;
The transmission means of the relay processing device establishes the public key certificate of the information processing device acquired from the information processing device when the second SSL communication is established in the second establishment step by the communication establishment step. using a control communication, a transmission step of transmitting to said client terminal,
The acquisition unit of the relay processing device acquires the public key certificate of the client terminal from the client terminal using the control communication established in the communication establishment step;
The public key transmitting means of the relay processing device uses the public key certificate of the client terminal acquired in the acquiring step to disclose the relay processing device used when establishing the second SSL communication in the second establishing step. A public key transmitting step for transmitting to the information processing apparatus as a key certificate;
A relay processing method for a relay processing apparatus, comprising:
クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置で読み取り実行可能なプログラムであって、
前記中継処理装置を、
前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、
前記クライアント端末と前記情報処理装置との間で通信される前記通信データを中継するために、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、
前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、
前記第2確立手段で第2のSSL通信を確立する際に前記情報処理装置から取得される前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記クライアント端末に送信する送信手段と
前記通信確立手段で確立した制御通信を用いて前記クライアント端末から前記クライアント端末の公開鍵証明書を取得する取得手段と、
前記取得手段で取得したクライアント端末の公開鍵証明書を、前記第2確立手段で第2のSSL通信を確立する際に用いられる前記中継処理装置の公開鍵証明書として前記情報処理装置に送信する公開鍵送信手段として機能させることを特徴とするプログラム。
A program that can be read and executed by a relay processing device that relays communication data communicated between a client terminal and an information processing device,
The relay processing device;
In order to relay the communication data communicated between the client terminal and the information processing apparatus, a first SSL communication used for communication of the communication data between the relay processing apparatus and the client terminal is established. First establishing means;
In order to relay the communication data communicated between the client terminal and the information processing device, a second SSL communication used for communication of the communication data between the relay processing device and the information processing device is established. A second establishing means to:
Communication establishment means for establishing control communication between the relay processing device and the client terminal separately from the first SSL communication;
Using the control communication established by the communication establishment means, the public key certificate of the information processing apparatus acquired from the information processing apparatus when establishing the second SSL communication by the second establishment means, A transmission means for transmitting to the client terminal ;
Obtaining means for obtaining a public key certificate of the client terminal from the client terminal using control communication established by the communication establishing means;
The client terminal public key certificate acquired by the acquiring unit is transmitted to the information processing apparatus as the public key certificate of the relay processing apparatus used when the second establishing unit establishes the second SSL communication. program for causing to function as a public key transmission unit.
JP2010256742A 2009-12-25 2010-11-17 Relay processing device, relay processing method and program Active JP4879347B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010256742A JP4879347B2 (en) 2009-12-25 2010-11-17 Relay processing device, relay processing method and program
CN2010106052124A CN102118386B (en) 2009-12-25 2010-12-24 Relay device and relay processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009296424 2009-12-25
JP2009296424 2009-12-25
JP2010256742A JP4879347B2 (en) 2009-12-25 2010-11-17 Relay processing device, relay processing method and program

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2011152227A Division JP5626148B2 (en) 2009-12-25 2011-07-08 Relay processing device, relay processing method and program
JP2011223910A Division JP5704044B2 (en) 2009-12-25 2011-10-11 Relay processing device, relay processing method and program

Publications (2)

Publication Number Publication Date
JP2011151785A JP2011151785A (en) 2011-08-04
JP4879347B2 true JP4879347B2 (en) 2012-02-22

Family

ID=44538334

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2010256742A Active JP4879347B2 (en) 2009-12-25 2010-11-17 Relay processing device, relay processing method and program
JP2011152227A Active JP5626148B2 (en) 2009-12-25 2011-07-08 Relay processing device, relay processing method and program
JP2011223910A Active JP5704044B2 (en) 2009-12-25 2011-10-11 Relay processing device, relay processing method and program

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2011152227A Active JP5626148B2 (en) 2009-12-25 2011-07-08 Relay processing device, relay processing method and program
JP2011223910A Active JP5704044B2 (en) 2009-12-25 2011-10-11 Relay processing device, relay processing method and program

Country Status (1)

Country Link
JP (3) JP4879347B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9370029B2 (en) * 2009-10-15 2016-06-14 Airbiquity Inc. Efficient headunit communication integration
JP5614465B2 (en) * 2013-01-30 2014-10-29 沖電気工業株式会社 Encryption communication device, proxy server, encryption communication device program, and proxy server program
US9154488B2 (en) * 2013-05-03 2015-10-06 Citrix Systems, Inc. Secured access to resources using a proxy
JP6097153B2 (en) * 2013-05-28 2017-03-15 住友電工システムソリューション株式会社 Communication system, communication adapter, server, portable terminal, and communication method
JP6354336B2 (en) * 2014-05-29 2018-07-11 ブラザー工業株式会社 Client device, service execution system, and program
US10425446B2 (en) * 2014-09-29 2019-09-24 Akamai Technologies, Inc. HTTPS request enrichment
JP6529820B2 (en) * 2015-05-13 2019-06-12 株式会社 インターコム Communication device and program
TW201724800A (en) 2015-12-07 2017-07-01 Nec Corp Data communication device, communication system, data relay method, and recording medium with stored program
CN108833541A (en) * 2018-06-15 2018-11-16 北京奇安信科技有限公司 A kind of method and device of identification terminal information
KR102086739B1 (en) * 2018-06-27 2020-03-09 주식회사 수산아이앤티 Electronic re-signing method to support various digital signature algorithms in secure sockets layer decryption device
KR102046340B1 (en) * 2018-06-28 2019-11-20 액세스모션 주식회사 Method for blocking contents on network
JP6705602B1 (en) * 2019-01-24 2020-06-03 Necプラットフォームズ株式会社 Relay device, relay method, and control program

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3701866B2 (en) * 2000-07-24 2005-10-05 株式会社エヌ・ティ・ティ・ドコモ Relay device, communication terminal, and server device
JP2002082907A (en) * 2000-09-11 2002-03-22 Nec Corp Security function substitution method in data communication and its system, and recording medium
JP2002244557A (en) * 2001-02-16 2002-08-30 Atr Adaptive Communications Res Lab Cryptographic communication system and authentication method used therefor
JP3842100B2 (en) * 2001-10-15 2006-11-08 株式会社日立製作所 Authentication processing method and system in encrypted communication system
JP2004206573A (en) * 2002-12-26 2004-07-22 Toshiba Corp Data transfer device, server device, information providing system, data transfer method, and program
JP2004341860A (en) * 2003-05-16 2004-12-02 Hitachi Ltd Session management method
JP4712330B2 (en) * 2003-09-12 2011-06-29 株式会社リコー COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
US20080130900A1 (en) * 2003-10-20 2008-06-05 Hsieh Vincent W Method and apparatus for providing secure communication
JP2005141333A (en) * 2003-11-04 2005-06-02 Matsushita Electric Ind Co Ltd Access relay unit and network access method
JP2006086907A (en) * 2004-09-17 2006-03-30 Fujitsu Ltd Setting information distribution device and method, program, medium, and setting information receiving program
US20060061803A1 (en) * 2004-09-20 2006-03-23 Kabushiki Kaisha Toshiba Image forming system and communication method
JP4223058B2 (en) * 2004-11-29 2009-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Relay device, relay method, and program
CN101129035A (en) * 2005-02-28 2008-02-20 日本电气株式会社 Communication device, communication system, communication method, and program
CN101112041A (en) * 2005-02-28 2008-01-23 日本电气株式会社 Communication system, communication apparatus, communication method, and program
JP4345796B2 (en) * 2006-09-29 2009-10-14 ブラザー工業株式会社 COMMUNICATION METHOD, COMMUNICATION SYSTEM AND SERVER, CLIENT AND COMPUTER PROGRAM
JP2008129673A (en) * 2006-11-17 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> User authentication system and method, gateway for use therein, program, and recording medium
JP2008252456A (en) * 2007-03-30 2008-10-16 Toshiba Corp Communication apparatus, and communication method
JP2008287587A (en) * 2007-05-18 2008-11-27 Fuji Xerox Co Ltd Electronic mail system
JP2009031976A (en) * 2007-07-26 2009-02-12 Fuji Xerox Co Ltd E-mail system
JP2009060244A (en) * 2007-08-30 2009-03-19 Softbank Mobile Corp Relay server, information acquisition system, relay server program, and information relay processing method
WO2009060899A1 (en) * 2007-11-07 2009-05-14 Nippon Telegraph And Telephone Corporation Common key setting method, relay device, and program
JP5476866B2 (en) * 2009-08-28 2014-04-23 コニカミノルタ株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, COMMUNICATION PROGRAM, AND COMMUNICATION SYSTEM

Also Published As

Publication number Publication date
JP2011237822A (en) 2011-11-24
JP2011151785A (en) 2011-08-04
JP5626148B2 (en) 2014-11-19
JP2012044694A (en) 2012-03-01
JP5704044B2 (en) 2015-04-22

Similar Documents

Publication Publication Date Title
JP4879347B2 (en) Relay processing device, relay processing method and program
CN110708170B (en) Data processing method and device and computer readable storage medium
US9137017B2 (en) Key recovery mechanism
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
KR100621420B1 (en) Network connection system
US10397008B2 (en) Management of secret data items used for server authentication
EP2180633A1 (en) Client device, server device, and program
US20190238334A1 (en) Communication system, communication client, communication server, communication method, and program
CN108243176B (en) Data transmission method and device
JP5006817B2 (en) Authentication information generation system, authentication information generation method, client device, and program
JP2008250931A (en) System for restoring distributed information, information utilizing device, and verification device
JP2012137975A (en) Relay processor, control method for the same and program
JP2015115893A (en) Communication method, communication program, and relay device
EP2728908A1 (en) Telecommunications chip card
US11722303B2 (en) Secure enclave implementation of proxied cryptographic keys
JP2008269381A (en) Authentication server and on-line service system
CN102118386B (en) Relay device and relay processing method
JP2015039141A (en) Certificate issue request generation program, certificate issue request generation device, certificate issue request generation system, certificate issue request generation method, certificate issuing device, and authentication method
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
JP4998314B2 (en) Communication control method and communication control program
US20090254756A1 (en) Data communication method
EP4145763A1 (en) Exporting remote cryptographic keys
KR102211033B1 (en) Agency service system for accredited certification procedures
CN111935164B (en) Https interface request method

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110331

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

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: 20111101

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: 20111129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4879347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250