JP5704044B2 - Relay processing device, relay processing method and program - Google Patents
Relay processing device, relay processing method and program Download PDFInfo
- Publication number
- JP5704044B2 JP5704044B2 JP2011223910A JP2011223910A JP5704044B2 JP 5704044 B2 JP5704044 B2 JP 5704044B2 JP 2011223910 A JP2011223910 A JP 2011223910A JP 2011223910 A JP2011223910 A JP 2011223910A JP 5704044 B2 JP5704044 B2 JP 5704044B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- ssl
- information
- processing device
- relay
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
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 business secrets, and monetary loss due to compensation claims, etc. 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
通常のプロキシサーバにおいては、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
しかしながら、非特許文献1では、クライアント側のSSLコネクション(クライアント端末とプロキシサーバとの間でのSSLコネクション)とWebサーバ側のSSLコネクション(プロキシサーバとWebサーバとの間でのSSLコネクション)とが互いに独立して異なっているため、クライアント端末がWebサーバのサーバ公開鍵証明書を取得することができず、SSL(TLSを含む)が提供するサーバ認証を該Webサーバに対して実行することが出来ない。
However, in Non-Patent
すなわち、クライアント端末は、中継処理装置(プロキシサーバ)との間の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, Based on this, it is difficult to confirm the authenticity of the communication partner. 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
すなわち、クライアント端末は、プロキシサーバが作り出して提示される、本物とは異なるサーバ公開鍵証明書を、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
すなわち、クライアントとプロキシサーバとの間の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.
本発明の目的は、クライアント端末と情報処理装置との間で通信される通信データを中継するための、中継処理装置とクライアント端末との間の第1のSSL通信と、中継処理装置と情報処理装置との間の第2のSSL通信と確立することで、暗号化通信による通信データを中継する際に当該通信データを検査可能にすると共に、第1のSSL通信を確立するべくクライアント端末とSSLハンドシェイクを開始してから第1のSSL通信を確立する前に、第2のSSL通信を確立する前に情報処理装置から取得した情報処理装置の公開鍵証明書をクライアント端末に送信することで、クライアント端末と第1のSSL通信を確立するためのSSLハンドシェイクを開始してから第1のSSL通信を確立する前に、真正な証明書に基づき通信相手の真正性を確認できる仕組みを提供することである。
An object of the present invention is to provide first SSL communication between a relay processing device and a client terminal, relay processing device and information processing for relaying communication data communicated between the client terminal and the information processing device. By establishing the second SSL communication with the apparatus, the communication data can be inspected when relaying the communication data by the encrypted communication, and the client terminal and the SSL to establish the first SSL communication. By transmitting the public key certificate of the information processing apparatus acquired from the information processing apparatus before establishing the second SSL communication to the client terminal before establishing the first SSL communication after starting the handshake before establishing the first SSL communication from the start of the SSL handshake for establishing a client terminal and a first SSL communication, the communication on the basis of authentic certificates It is to provide a mechanism that can verify the authenticity of the hand.
本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置であって、前記クライアント端末とSSLハンドシェイクを行うことで、前記中継処理装置の公開鍵証明書を前記クライアント端末に送信して、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、前記情報処理装置とSSLハンドシェイクを行うことで、前記情報処理装置から前記情報処理装置の公開鍵証明書を取得して、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、前記第2確立手段により前記第2のSSL通信を確立するべく前記情報処理装置とSSLハンドシェイクを行うことで、前記第2のSSL通信を確立する前に前記情報処理装置から取得した前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記第1確立手段により前記第1のSSL通信を確立するべく前記クライアント端末とSSLハンドシェイクを開始してから前記第1のSSL通信を確立する前に前記クライアント端末に送信する送信手段と、を備えることを特徴とする。
The present invention is a relay processing device that relays communication data communicated between a client terminal and an information processing device, and performs a public key certificate of the relay processing device by performing an SSL handshake with the client terminal . To the client terminal, and establishes a first SSL communication used for communication of the communication data between the relay processing device and the client terminal, and an SSL handshake with the information processing device. By doing so, the public key certificate of the information processing apparatus is acquired from the information processing apparatus, and the second SSL communication used for communication of the communication data between the relay processing apparatus and the information processing apparatus 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; Wherein by performing the information processing apparatus and the SSL handshake to establish the second SSL communication by the second establishing means, the information processing acquired from the information processing apparatus prior to establishing the second SSL communication After starting the SSL handshake with the client terminal to establish the first SSL communication by the first establishing means , using the control communication established by the communication establishing means, as the public key certificate of the device Transmission means for transmitting to the client terminal before establishing the first SSL communication .
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置の中継処理方法であって、前記中継処理装置の第1確立手段が、前記クライアント端末とSSLハンドシェイクを行うことで、前記中継処理装置の公開鍵証明書を前記クライアント端末に送信して、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立工程と、前記中継処理装置の前記第2確立手段が、前記情報処理装置とSSLハンドシェイクを行うことで、前記情報処理装置から前記情報処理装置の公開鍵証明書を取得して、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立工程と、前記中継処理装置の通信確立手段が、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立工程と、前記中継処理装置の送信手段が、前記第2確立工程により前記第2のSSL通信を確立するべく前記情報処理装置とSSLハンドシェイクを行うことで、前記第2のSSL通信を確立する前に前記情報処理装置から取得した前記情報処理装置の公開鍵証明書を、前記通信確立工程により確立された制御通信を用いて、前記第1確立工程により前記第1のSSL通信を確立するべく前記クライアント端末とSSLハンドシェイクを開始してから前記第1の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 By performing an SSL handshake, the public key certificate of the relay processing device is transmitted to the client terminal, and the first SSL communication used for communication of the communication data between the relay processing device and the client terminal is performed. The first establishment step to establish and the second establishment means of the relay processing device perform an SSL handshake with the information processing device to obtain the public key certificate of the information processing device from the information processing device. A second establishing step of establishing a second SSL communication used in communication of the communication data between the relay processing device and the information processing device, and the relay processing A communication establishing step for establishing a control communication between the relay processing device and the client terminal separately from the first SSL communication, and a transmission means for the relay processing device comprising the second establishment by performing the information processing apparatus and the SSL handshake to establish the second SSL communication by step, the public key of the information processing apparatus acquired from the information processing apparatus prior to establishing the second SSL communication Using the control communication established in the communication establishment step, the certificate starts the SSL handshake with the client terminal in order to establish the first SSL communication in the first establishment step. Transmitting means for transmitting to the client terminal before establishing SSL communication .
また、本発明は、クライアント端末と情報処理装置との間で通信される通信データを中継する中継処理装置で読み取り実行可能なプログラムであって、前記中継処理装置を、前記クライアント端末とSSLハンドシェイクを行うことで、前記中継処理装置の公開鍵証明書を前記クライアント端末に送信して、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、前記情報処理装置とSSLハンドシェイクを行うことで、前記情報処理装置から前記情報処理装置の公開鍵証明書を取得して、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、前記第2確立手段により前記第2のSSL通信を確立するべく前記情報処理装置とSSLハンドシェイクを行うことで、前記第2のSSL通信を確立する前に前記情報処理装置から取得した前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記第1確立手段により前記第1のSSL通信を確立するべく前記クライアント端末とSSLハンドシェイクを開始してから前記第1のSSL通信を確立する前に前記クライアント端末に送信する送信手段として機能させることを特徴とする。
The present invention is also a program readable and executable by a relay processing device that relays communication data communicated between a client terminal and an information processing device, wherein the relay processing device is connected to the client terminal and an SSL handshake. To transmit the public key certificate of the relay processing device to the client terminal, and establish first SSL communication used for communication of the communication data between the relay processing device and the client terminal. 1 establishing means, and by performing an SSL handshake with the information processing apparatus, a public key certificate of the information processing apparatus is obtained from the information processing apparatus, and the communication between the relay processing apparatus and the information processing apparatus A second establishing means for establishing a second SSL communication used in data communication; and a control communication between the relay processing apparatus and the client terminal. And by performing a communication establishing means for establishing separately from the first SSL communication, the information processing apparatus and the SSL handshake to establish the second SSL communication by said second establishing means, the second of the public key certificate of the information processing apparatus acquired from the information processing apparatus before establishing an SSL communication with the control communication established by said communication establishment means, said first through said first establishing means It is characterized by functioning as a transmission means for transmitting to the client terminal before establishing the first SSL communication after starting an SSL handshake with the client terminal to establish SSL communication .
本発明によれば、クライアント端末と情報処理装置との間で通信される通信データを中継するための、中継処理装置とクライアント端末との間の第1のSSL通信と、中継処理装置と情報処理装置との間の第2のSSL通信と確立することで、暗号化通信による通信データを中継する際に当該通信データを検査可能にすると共に、第1のSSL通信を確立するべくクライアント端末とSSLハンドシェイクを開始してから第1のSSL通信を確立する前に、第2のSSL通信を確立する前に情報処理装置から取得した情報処理装置の公開鍵証明書をクライアント端末に送信することで、クライアント端末と第1のSSL通信を確立するためのSSLハンドシェイクを開始してから第1のSSL通信を確立する前に、真正な証明書に基づき通信相手の真正性を確認できる。
According to the present invention, the first SSL communication between the relay processing device and the client terminal for relaying the communication data communicated between the client terminal and the information processing device, the relay processing device and the information processing By establishing the second SSL communication with the apparatus, the communication data can be inspected when relaying the communication data by the encrypted communication, and the client terminal and the SSL to establish the first SSL communication. By transmitting the public key certificate of the information processing apparatus acquired from the information processing apparatus before establishing the second SSL communication to the client terminal before establishing the first SSL communication after starting the handshake before establishing the first SSL communication from the start of the SSL handshake for establishing a client terminal and a first SSL communication, the communication on the basis of authentic certificates You can confirm the authenticity of the hand.
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。 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
利用者端末110は、本発明のクライアント端末の適用例である。また、中継処理装置120は、本発明の中継処理装置の適用例である。また、情報提供処理装置150は、本発明の情報処理装置の適用例である。
The
利用者端末110は、情報提供処理装置150が提供するコンテンツデータを取得し表示するために使用する情報処理装置である。利用者端末110は、閲覧処理部111と拡張機能処理部112と暗号鍵保存部113と管理表保存部114とCA証明書保存部115とを備えている。
The
閲覧処理部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
ここで、プロキシ回線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
暗号鍵保存部113は、利用者端末の公開鍵証明書に対応する秘密鍵を記憶する記憶領域である。
The encryption
閲覧処理部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
拡張機能処理部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
なお、制御回線162は、利用者端末110と中継処理装置120との間で、SSLによる暗号化通信の回線として開設(確立)される。これにより、利用者端末110は、中継処理装置120のなりすましを防止することが可能となる。
The
すなわち、中継処理装置120は、利用者端末110との間で制御通信(制御回線162)を確立する(通信確立手段)。ここで、制御通信(制御回線162)は、利用者端末110と中継処理装置120との間で確立されるSSLによる暗号化通信のコネクションであって、物理的な回線を示しているのではなく、暗号化通信を行う仮想的な(論理的な)通信路を示している。
That is, the
中継処理装置120は、制御通信(制御回線162)の確立を、一般的なSSL通信の確立の手順で行う。
The
管理表保存部114は、クライアント通信方式キャッシュ表とサーバ証明書キャッシュ表を記憶する記憶領域である。
The management
(クライアント通信方式キャッシュ表の説明) (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
サーバ識別子欄は、通信先となる情報提供処理装置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
通信方式欄に保存される値としては、”直接”と”代理”との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
クライアント通信方式キャッシュ表(図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
利用者端末110は、情報提供処理装置150へのアクセス要求があった時、クライアント通信方式キャッシュ表を参照し、該情報提供処理装置150との通信方式に関する情報の再利用が可能であれば、利用者に都度通信方式の確認または選択させる処理を行わずに通信を開始することができる。
When the
(サーバ証明書キャッシュ表の説明) (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
サーバ識別子欄は、通信した情報提供処理装置150を識別するための情報で情報提供処理装置150のホスト名とTCPポート番号の組み合わせを保存する場所である。最終利用日時欄は、該レコードによって表される通信処理を実施した日時情報を保存する場所である。セッションID欄は、前記通信で中継処理装置120から通知されたSSLセッションIDの値を保存する場所である。サーバ証明書欄は、前記通信で中継処理装置120から取得した情報提供処理装置150のサーバ公開鍵証明書を保存する場所である。
The server identifier column is information for identifying the information providing
サーバ証明書キャッシュ表が保持している各レコードは、定期的に検査され、通常ブラウザ等のソフトウェアである閲覧処理部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
CA証明書保存部115は、情報提供処理装置150のサーバ公開鍵証明書を検証する際に用いる利用者端末110が信頼するCA証明書を記憶する記憶領域である。
The CA
中継処理装置120は、一般にプロキシサーバと呼ばれるプログラムまたは装置がもつ機能を備える情報処理装置である。中継処理装置120は、利用者端末110から送信される通信要求メッセージを受信し、宛先である情報提供処理装置150へ該通信要求メッセージを中継し、該情報提供処理装置150から応答される通信応答メッセージを、該利用者端末110へ中継することができる。
The
中継処理装置120は、クライアント通信部121と、サーバ通信部122と、クライアント側暗号処理部123と、通信制御部124と、サーバ側暗号処理部125と、代理用暗号鍵保存部126と、サーバ暗号鍵保存部127と、制御処理通信部128と、管理表保存部129と、付加機能処理部130と、CA証明書保存部131と、から構成される。
The
クライアント通信部121は、利用者端末110の閲覧処理部111から接続要求を受け付け、通信要求メッセージを受信し、通信応答メッセージを閲覧処理部111に送信する機能を備える。
The
サーバ通信部122は、情報提供処理装置150のサーバ処理部151へ接続し、通信要求メッセージを送信し、通信応答メッセージをサーバ処理部151から受信する機能を備える。
The
クライアント側暗号処理部123は、中継処理装置120における通信方式が代理方式の場合に、利用者端末110の閲覧処理部111との通信回線(プロキシ回線161)において、SSL(TLSを含む)を確立するためのサーバ側処理を行う機能を備える。
The client-side
通信制御部124は、クライアント通信部121が行う処理と、クライアント側暗号処理部123が行う処理と、付加機能処理部130が行う処理と、サーバ通信部122が行う処理と、サーバ側暗号処理部125が行う処理と、制御処理通信部128が行う処理と、の間で同期制御処理を行う機能をもつ。また、通信制御部124は、該同期制御処理において関連する情報を、管理表保存部129へ記憶させる機能と、管理表保存部129を参照する機能と、を備えている。
The
サーバ側暗号処理部125は、中継処理装置120における通信方式が代理方式の場合に、情報提供処理装置150のサーバ処理部151との通信回線(サーバ回線163)において、SSL(TLSを含む)コネクションのクライアント側処理を行う機能を備える。
When the communication method in the
ここで、サーバ回線163(第2のSSL通信)は、中継処理装置120と情報提供処理装置150との間で確立されるSSLによる暗号化通信であって、物理的な回線を示しているのではなく、暗号化通信を行う仮想的な(論理的な)通信である。
Here, the server line 163 (second SSL communication) is SSL encrypted communication established between the
図1の例では、1つの物理的な通信回線を介して利用者端末110と中継処理装置120が相互に通信可能に接続されている。また、図1の例では、中継処理装置120と情報提供処理装置150とが相互に通信可能に接続されている。
In the example of FIG. 1, the
代理用暗号鍵保存部126は、中継処理装置120における通信方式が代理方式の場合に、前記プロキシ回線161 上のSSL(TLSを含む)ハンドシェイク処理の中で利用されるサーバ公開鍵証明書と秘密鍵を記憶している記憶領域である。
The proxy encryption
制御処理通信部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
サーバ暗号鍵保存部127は、前記制御回線162上のSSL(TLSを含む)ハンドシェイク処理の中で利用されるサーバ公開鍵証明書と秘密鍵を記憶している記憶領域である。
The server encryption
管理表保存部129は、通信方式決定表とプロキシ通信方式キャッシュ表と代理通信セッション管理表を記憶するための記憶領域である。
The management
(通信方式決定表の説明) (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
サーバ条件はドメイン名欄とカテゴリー欄から構成される。ドメイン名欄は、通信における情報提供処理装置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
Here, the server condition is an application example of relay destination information indicating the information
クライアント条件は、アドレス欄と認証グループ欄から構成される。アドレス欄は、通信における利用者端末の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
通信方式欄は、確立が許可された通信方式を保存する場所である。すなわち、通信方式欄は、データの中継を可能とするために、確立が許可された通信方式(通信方式情報)が設定されている。 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
(プロキシ通信方式キャッシュ表の説明) (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
プロキシ通信方式キャッシュ表が保持している各レコードは、中継処理装置120により、定期的に検査され、有効期限欄の日時が、検査日時より古い場合には削除される。
Each record held in the proxy communication method cache table is periodically inspected by the
(代理通信セッション管理表の説明) (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
代理通信セッション管理表が保持している各レコードは、中継処理装置120により、定期的に検査され、最終利用日時欄の値が、検査日時と比較され、適当に決められた有効時間(例えば12時間)以上古い日時を表している場合には削除される。
Each record held in the proxy communication session management table is periodically inspected by the
付加機能処理部130は、中継処理対象の通信がHTTPの場合と、HTTPSの場合でも中継方式が代理方式の場合に、利用者端末110から受信する通信要求メッセージと情報提供処理装置150から受信する通信応答メッセージとに対して、付加機能処理を行う機能を備える。付加機能処理とは、例えば、プロキシサーバにおいて一般に実施されるキャッシュ機能や、セキュリティゲートウェイ等で実施されるコンテンツフィルタリング機能、ウィルス検査・駆除機能、アクセス制御機能などに対応している。これらの機能は、通常はHTTPS通信のように通信メッセージが暗号化されている場合には適用(実施)できないが、本実施例に示す代理方式のようにHTTPS通信であっても中継処理装置において暗号化通信メッセージを平文化する手法を用いれば適用(実施)できるようになる。
The additional
CA証明書保存部131は、情報提供処理装置150のサーバ公開鍵証明書を検証する際に用いる、中継処理装置120が信頼するCA証明書を記憶する記憶領域である。
The CA
情報提供処理装置150は、利用者端末110から送られた通信要求メッセージを受信し、該通信要求メッセージの内容に基づき通信応答メッセージを応答する情報処理装置である。情報提供処理装置150は、サーバ処理部151とサーバ暗号鍵保存部152とを備えている。
The information
サーバ処理部151は、一般にWebサーバと知られるプログラムに相当する機能処理部である。サーバ処理部151はHTTPプロトコルとHTTPSプロトコルのサーバ機能を備えている。
The
サーバ暗号鍵保存部152は、サーバ処理部151がHTTPSによる暗号化通信を行う場合に使用するサーバ公開鍵証明書と秘密鍵を記憶するための記憶領域である。
The server encryption
次に、図1の利用者端末110、中継処理装置120、情報提供処理装置150の各種端末のハードウェア構成について、図2を用いて説明する。利用者端末110、中継処理装置120、情報提供処理装置150は、一般に知られている情報処理装置である。
Next, the hardware configuration of various terminals of the
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。 FIG. 2 is a diagram illustrating a hardware configuration of various terminals according to the embodiment of the present invention.
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
The
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
Further, the
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
The
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
An input controller (input C) 205 controls input from a pointing device such as a
ビデオコントローラ(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
通信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
本発明を実現するためのプログラムは外部メモリ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
(暗号化通信を代理方式によって中継する場合の通信メッセージ交換フロー) (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
図11は、本発明の実施形態における暗号化通信を介して通信されるデータを代理方式によって中継する場合の、利用者端末110と中継処理装置120と情報提供処理装置150との間の通信メッセージの交換フローの例を示す図である。
FIG. 11 is a communication message between the
なお、図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
また、中継処理装置120と情報提供処理装置150との間の通信は、サーバ回線163を介して行われる。
Communication between the
また、図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
ステップS1102では、コンテンツ取得要求に対して閲覧処理部111に登録されたイベントハンドラによって拡張機能処理部112の処理が起動される。拡張機能処理部112では、該コンテンツ取得要求に含まれる該URLのスキーマ部を取得し、該スキーマがHTTPS(暗号化通信)であるか否かを判定する。すなわち、利用者端末110は、コンテンツ取得要求に含まれる暗号化通信によるデータの送受信を要求しているのか否かを判定する。
In step S1102, the extended
そして、利用者端末110は、該スキーマがHTTPSである(暗号化通信を介したデータの送受信の要求である)と判定された場合、中継処理装置120における通信方式を決定するために、中継処理装置120に対して通信方式の問い合わせを行う。すなわち、利用者端末110は、後述する通信方式問い合わせ要求メッセージを中継処理装置120に送信する。
When the
ステップS1103では、中継処理装置120は、利用者端末110から送信された問い合わせ(通信方式問い合わせ要求メッセージ)に含まれる情報提供処理装置150の識別子(サーバ識別子)と利用者端末110の閲覧処理部識別子(クライアント識別子)との情報を元に、管理表保存部129の通信方式決定表(図8)から通信方式を決定し、該通信方式を利用者端末110へ応答する。この例では”選択”が応答される。
In step S1103, the
すなわち、中継処理装置120は、通信方式が“選択”と決定された場合、例えば、図14に示すダイアログボックス(通信方式選択ダイアログボックスとも言う)の画面を表示するための画面情報を、利用者端末110に送信する。
That is, when the communication method is determined to be “selected”, the
ステップS1104では、利用者端末110は、ステップS1103で受信した通信方式が”選択”であったため、図14で例を示すような画面(選択ダイアログボックスとも言う)を表示する。
In step S1104, since the communication method received in step S1103 is “select”, the
すなわち、ステップ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
すなわち、ステップ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
中継処理装置120は該選択結果を受信し、該選択結果(”代理”)を管理表保存部129のプロキシ通信方式キャッシュ表(図9)に保存する。
The
ステップS1107では、利用者端末110は、コンテンツ取得要求に関する通信方式を決定され、中継処理装置120への通信方式通知メッセージの通知(送信)も完了したことを受けて、閲覧処理部111が該コンテンツ取得要求の処理を再開する。閲覧処理部111は、中継処理装置120のクライアント通信部121へ接続してプロキシ回線161を開設し、該プロキシ回線161上でCONNECTメソッドによるプロキシリクエストを送信する。CONNECTメソッドによるプロキシリクエストとは、Webブラウザ等のクライアントがプロキシサーバを経由してHTTPSサーバへ接続する際に発行されるリクエストであり、次の形式をもつ。
In step S <b> 1107, the
CONNECT ホスト名:ポート番号 HTTP/1.0 CONNECT host name: port number HTTP / 1.0
また、拡張機能処理部112は、閲覧処理部111に、上記のプロキシリクエストにクライアント識別子をヘッダーとして追加するよう指示する。
プロキシリクエストの例を示す。
Further, the extended
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―client―id)を取得し、これらをキーに管理表保存部129のプロキシ通信方式キャッシュ表から通信方式欄を参照し、値”代理”を取得する。そして、中継処理装置120は、代理方式の中継処理の情報を管理するための記憶領域として、管理表保存部129の代理通信セッション管理表に新規レコード(代理通信セッションレコードと呼ぶ)を作成する。
Next, the
ステップS1108では、中継処理装置120は、サーバ識別子の情報を元に情報提供処理装置150へTCP接続し、サーバ回線163を開設する。
In step S1108, the
ステップS1109では、中継処理装置120は、TCP接続が成功したことを受け、利用者端末110へ「HTTP/1.0 200」という接続成功メッセージを返し、情報提供処理装置150へ中継可能であることを伝える。
In step S <b> 1109, the
ステップS1110では、利用者端末110は、前記プロキシ回線161上でClient Helloメッセージを送信し、SSLのハンドシェイクを開始する。
In step S1110, the
そして、Client Helloメッセージを受けた中継処理装置120は、SSLのハンドシェイクの処理を開始し、ステップS1133でハンドシェイクの処理が終了するまで、プロキシ回線161を確立する処理を行う。
Upon receiving the Client Hello message, the
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
ステップS1111では、中継処理装置120は、サーバ回線163上で、情報提供処理装置150との間でSSLのセッションを開設(確立)するために、サーバ側暗号処理部125で生成したClient Helloメッセージを送信する。
In step S <b> 1111, the
そして、Client Helloメッセージを受けた情報提供処理装置150は、SSLのハンドシェイクの処理を開始し、ステップS1131でハンドシェイクの処理が終了するまで、サーバ回線163を確立する処理を行う。
Upon receiving the Client Hello message, the information
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
ステップS1111では、中継処理装置は、前記サーバ回線163上でSSL Client Helloメッセージを送信し、SSLハンドシェイクを開始する。
In step S1111, the relay processing device transmits an SSL Client Hello message on the
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
以下にステップ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
図11は、通信方式が”代理”の場合のシーケンス図であるので、中継処理装置120は、該SSLハンドシェイクで受信した各メッセージは、そのまま情報提供処理装置150へ中継せずに、自身がサーバとしてハンドシェイクを行う。
Since FIG. 11 is a sequence diagram when the communication method is “proxy”, the
中継処理装置120は、自身がサーバとしてハンドシェイクの処理に応じるために、利用者端末110に、SSL Server Hello、SSL Server Certificate、SSL Server Hello Doneの各メッセージを送信する。
The
まず、利用者端末110の閲覧処理部111は、過去に中継処理装置120との通信で利用したSSLのセッション情報(セッションIDを含む)が記憶されているか否かを判定する。
First, the browsing processing unit 111 of the
そして、利用者端末110の閲覧処理部111は、過去に中継処理装置120との通信で利用したSSLのセッションIDが記憶されていると判定された場合は、当該セッションIDを含めたSSL Client Helloメッセージを中継処理装置120に送信する。
If the browsing processing unit 111 of the
一方、利用者端末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
Then, the
図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
そして、中継処理装置120は、当該生成されたセッションIDを含むSSL Server Helloメッセージを利用者端末110に送信する(ステップS1112)。
Then, the
さらに、中継処理装置120は、当該生成されたセッションIDを代理通信セッション管理表(図10)のセッションIDーC欄に記憶する。当該セッションIDは次回以降にセッションを再開する場合の識別子となる。
Further, the
利用者端末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
次に、中継処理装置120は、代理用暗号鍵保存部に記憶されているサーバ公開鍵証明書を含むSSL Server Certificateメッセージを利用者端末110に送信する(ステップS1113)。
Next, the
利用者端末110は、中継処理装置120からSSL Server Certificateメッセージを受信し、外部メモリ211などのメモリに記憶する。
The
そして、中継処理装置120は、中継処理装置120での一連の処理の終了を通知するSSL Server Hello Doneメッセージを利用者端末110に送信する(ステップS1114)。
Then, the
利用者端末110は、中継処理装置120からSSL Server Hello Doneメッセージを受信すると、マスターシークレット(データの暗号化及び復号化に用いる共通鍵を生成するための情報)を生成する。
Upon receiving the SSL Server Hello Done message from the
また、利用者端末110は、ここで生成されたマスターシークレットに従って、プロキシ回線161を介して中継処理装置120と通信する対象となるデータの暗号化及び復号を行うために用いる共通鍵を生成して、当該生成された共通鍵をRAM203等のメモリに記憶する。
Further, the
利用者端末110は、ステップS1134以降の処理で、プロキシ回線161を介してデータを中継処理装置120に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。
When the
また、利用者端末110は、中継処理装置120からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。
Also, the
そして、利用者端末110は、中継処理装置120から受信したSSL Server Certificateメッセージに含まれているサーバ公開鍵証明書に含まれるサーバの公開鍵を用いて、当該生成されたマスターシークレットを暗号化する。
Then, the
そして、利用者端末110は、当該暗号化されたマスターシークレットを含むClientKeyExchangeメッセージを中継処理装置120に送信する。
中継処理装置120は、利用者端末110からClientKeyExchangeメッセージを受信する。
Then, the
The
そして、中継処理装置は、当該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
なお、ここで用いる秘密鍵は、サーバ公開鍵証明書(サーバの公開鍵を含む)に対応付けられて代理用暗号鍵保存部126に記憶されており、利用者端末110に送信したサーバ公開鍵証明書(サーバの公開鍵を含む)に対応するものである。
The secret key used here is stored in the proxy encryption
次に、中継処理装置120は、復号されたマスターシークレットに従って共通鍵を生成する。そして、中継処理装置120は、該生成された共通鍵の情報を前記代理通信セッションレコードの共通鍵その他ーC欄に記憶する。
Next, the
中継処理装置120は、ステップS1134以降の処理で、プロキシ回線161を介してデータを利用者端末110に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。また、中継処理装置120は、利用者端末110からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。
When the
次に、ステップS1115以降の処理について説明する。 Next, processing after step S1115 will be described.
中継処理装置120は、利用者端末110からSSL Client Helloメッセージを受信すると、中継処理装置120をクライアントとして、情報提供処理装置150に、SSLハンドシェイク開始要求(SSL Client Helloメッセージ)を送信する(ステップS1111)。
When the
情報提供処理装置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
Hereinafter, steps S1115 to S1118 will be described.
まず、中継処理装置120は、過去に情報提供処理装置150との通信で利用したSSLのセッション情報(セッションID)が記憶されているか否かを判定する。
First, the
具体的には、過去に、代理方式で、利用者端末110と情報提供処理装置150とが中継処理装置120を介して通信する際に、中継処理装置120と情報提供処理装置150との間のサーバ回線163で利用したセッションIDが、代理通信セッション管理表(図10)のセッションID−Sの欄に記憶されているか否かを中継処理装置120が判定する。
Specifically, in the past, when the
そして、中継処理装置120は、過去に、代理方式で、利用者端末110と情報提供処理装置150とが中継処理装置120を介して通信する際に、中継処理装置120と情報提供処理装置150との間のサーバ回線163で利用したセッションIDが、代理通信セッション管理表(図10)のセッションID−Sの欄に記憶されていると判定された場合は、当該セッションIDを含めたSSL Client Helloメッセージを情報提供処理装置150に送信する。
In the past, the
一方、中継処理装置120は、過去に、代理方式で、利用者端末110と情報提供処理装置150とが中継処理装置120を介して通信する際に、中継処理装置120と情報提供処理装置150との間のサーバ回線163で利用したセッションIDが、代理通信セッション管理表(図10)のセッションID−Sの欄に記憶されていないと判定された場合は、当該セッションIDを含めずにSSL Client Helloメッセージを情報提供処理装置150に送信する(S1111)。
On the other hand, when the
そして、情報提供処理装置150は、中継処理装置120からSSL Client Helloメッセージを受信する。
Then, the information
図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
そして、情報提供処理装置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
そして、情報提供処理装置150は、当該生成されたセッションIDを含むSSL Server Helloメッセージを中継処理装置120に送信する(ステップS1115)。
Then, the information
さらに、情報提供処理装置150は、当該生成されたセッションIDをSSLのセッション情報としてRAM203等のメモリに記憶する(キャッシュする)。
Further, the information
中継処理装置120は、セッションIDを含むSSL Server Helloメッセージを情報提供処理装置150から受信すると、当該SSL Server Helloメッセージに含まれているセッションIDを、代理通信セッション管理表(図10)のセッションIDーS欄に記憶する。当該セッションIDは次回以降にセッションを再開する場合の識別子となる。
When the
次に、情報提供処理装置150は、サーバ暗号鍵保存部152に記憶されている情報提供処理装置150のサーバ公開鍵証明書を含むSSL Server Certificateメッセージを中継処理装置120に送信する。
Next, the information
ステップS1116では、中継処理装置120は、情報提供処理装置150から、SSL Server Certificateメッセージを受信し、該メッセージに含まれる情報提供処理装置150のサーバ公開鍵証明書を取得する。
In step S1116, the
中継処理装置120は、CA証明書保存部131に記憶されているCA公開鍵証明書などを使って該サーバ公開鍵証明書が信頼できるか否かの検証処理を実施する。ここでの例では、該検証が成功し、該サーバ公開鍵証明書を代理通信セッションレコードのサーバ証明書欄に保存する。
The
ステップS1117では、中継処理装置120は、情報提供処理装置150からSSL Certificate Request メッセージ(クライアント認証の要求情報)を受信し、該メッセージに含まれるクライアント認証に関する要求条件の情報(署名アルゴリズム、CA識別名)を、前記代理通信セッションレコードのクライアント認証要求欄に保存する。
In step S1117, the
そして、情報提供処理装置150は、情報提供処理装置150での一連の処理の終了を通知するSSL Server Hello Doneメッセージを中継処理装置120に送信する。
Then, the information
ステップS1118では、中継処理装置120は、情報提供処理装置150から、SSL Server Hello Doneメッセージを受信する。
In step S <b> 1118, the
ステップS1119では、利用者端末110は、制御回線162を使って中継処理装置120へ情報提供処理装置150のサーバ公開鍵証明の取得要求メッセージを送信する。
In
ステップS1120では、中継処理装置120は、利用者端末110から送信された取得要求メッセージに応答して、代理通信セッションレコードのサーバ証明書欄に保存された情報提供処理装置150のサーバ公開鍵証明を取得し、該サーバ公開鍵証明書を利用者端末110へ送信する。(送信手段)
In step S1120, in response to the acquisition request message transmitted from the
ステップS1121では、利用者端末110は、受信した前記サーバ公開鍵証明書の検証処理を行う。まず、利用者端末110は、利用者端末110のCA証明書保存部115に記憶されている信頼するCA(認証局)の公開鍵証明書によって、該サーバ公開鍵証明書の信頼性を検証する。次に、利用者端末110は、該サーバ公開鍵証明書に記載されている主体者情報(CN属性又はSubjectAltName属性)が、情報提供処理装置150のホスト名と一致するかどうかを確認する。利用者端末110は、その他、該サーバ公開鍵証明書の有効期限、失効状態確認など一般にサーバ公開鍵証明書の信頼性を検証するための処理を実行する。
In step S1121, the
次に、通常のブラウザでは、サーバ公開鍵証明書の情報として表示されるのはステップS1113で受信した中継処理装置120のサーバ公開鍵証明書であるが、拡張機能処理部112と協働する閲覧処理部111は、図15に示すダイアログボックスを表示するなどして、ステップS1120で受信した情報提供処理装置150の前記サーバ公開鍵証明書の情報を、利用者に確認させる。
Next, in a normal browser, it is the server public key certificate of the
すなわち、閲覧処理部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
また、利用者に一時的に確認させるだけでなく、ブラウザの画面上で表示中のコンテンツを提供した情報提供処理装置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
通常(通信方式が直接の場合)は、図18の1801で示す場所に、表示中のコンテンツを提供した情報提供処理装置150の識別名(ホスト名)が表示され、該情報提供処理装置150のサーバ公開鍵証明書を表示するためのリンクになっている。しかし、本発明の代理方式の場合は、ここには中継処理装置120の識別名と、中継処理装置120のサーバ公開鍵証明書に関する情報を表示することになる。
Normally (when the communication method is direct), the identification name (host name) of the information
このため、図18の例では、1802で示す場所に、本来のコンテンツ提供者である情報提供処理装置150の識別名と、情報提供処理装置150のサーバ公開鍵証明書に関する情報を表示するようにしている。このように、代理方式であっても情報提供処理装置150の識別名と、情報提供処理装置150のサーバ公開鍵証明書に関する情報を利用者がいつでも確認できるようにすることによって、利用者へコンテンツの提供者の真正性に関わる情報の確認を行うための手段を提供している。
For this reason, in the example of FIG. 18, the identification name of the information
最後に、利用者端末110は、サーバ公開鍵証明書の検証が成功すれば、管理表保存部114のサーバ証明書キャッシュ表(図17)に新規レコードを作成し、情報提供処理装置150の該サーバ公開鍵証明書と、情報提供処理装置150の前記サーバ識別子と、ステップS1112のServer Helloメッセージに含まれたセッションIDとを共に保存する。
Finally, if the verification of the server public key certificate is successful, the
ステップS1122では、利用者端末110は、サーバ公開鍵証明書の検証に成功し、その検証結果を中継処理装置120へ通知する。
In step S1122, the
ステップS1123では、中継処理装置120は、代理通信セッションレコードのクライアント認証要求欄の値を確認し、代理通信セッションレコードのクライアント認証要求欄に値が格納されていると判定されると、ステップS1117において情報提供処理装置150からクライアント認証の要求があったと判定する。そして、中継処理装置120は、これ(クライアントの認証要求)に対応するために、利用者端末110へ、前記クライアント認証要求欄の値を含めたクライアント証明書要求メッセージを送信する。
In step S1123, the
ステップS1124では、利用者端末110は、中継処理装置120からクライアント証明書要求メッセージを受信すると、該クライアント認証要求で示された条件に合致する公開鍵証明書を、暗号鍵保存部113から検索し取得する。そして、利用者端末110は、該条件に合致する公開鍵証明書が複数ある場合は、通常のブラウザにおけるSSLクライアント認証時の動作と同じように、ダイアログボックスを表示するなどして、利用者にどの公開鍵証明書を使って情報提供処理装置150へ認証されるのかを選択させ、利用者端末110の公開鍵証明書を1つ決定する。
In step S1124, when the
ステップS1125では、利用者端末110は、利用者端末110の公開鍵証明書を中継処理装置120へ送信する。
In step S1125, the
ステップS1126では、中継処理装置120は、利用者端末110の公開鍵証明書を利用者端末から受信し、代理通信セッションレコードのクライアント証明書欄に保存する。そして、中継処理装置120は、情報提供処理装置150へ、該公開鍵証明書を含むClient Certificateメッセージを送信する。すなわち、中継処理装置120は、利用者端末の公開鍵証明書を、サーバ回線163を介して情報提供処理装置150に送信する(公開鍵送信手段)。
次に、中継処理装置120は、マスターシークレット(データの暗号化及び復号化に用いる共通鍵を生成するための情報)を生成する。
In step S1126, the
Next, the
また、中継処理装置120は、ここで生成されたマスターシークレットに従って、サーバ回線163を介して情報提供処理装置150と通信する対象となるデータの暗号化及び復号を行うために用いる共通鍵を生成して、当該生成された共通鍵を代理通信セッションレコード(図10)の共通鍵その他−Sの欄に記憶する。
Also, the
中継処理装置120は、ステップS1135以降の処理で、サーバ回線163を介してデータを情報提供処理装置150に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。
When the
また、中継処理装置120は、情報提供処理装置150からサーバ回線163を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。
In addition, the
そして、中継処理装置120は、情報提供処理装置150から受信したSSL Server Certificateメッセージに含まれているサーバ公開鍵証明書に含まれるサーバの公開鍵を用いて、当該生成されたマスターシークレットを暗号化する。
Then, the
そして、中継処理装置120は、当該暗号化されたマスターシークレットを含むClientKeyExchangeメッセージを情報提供処理装置150に送信する。
情報提供処理装置150は、中継処理装置120からClientKeyExchangeメッセージを受信する。
Then, the
The information
そして、情報提供処理装置150は、当該ClientKeyExchangeメッセージに含まれている暗号化されたマスターシークレットを、中継処理装置120に送信したSSL Server Certificateメッセージに含まれるサーバ公開鍵証明書(サーバの公開鍵を含む)に対応する秘密鍵を用いて復号する。
Then, the information
なお、ここで用いる秘密鍵は、サーバ公開鍵証明書(サーバの公開鍵を含む)に対応付けられてサーバ暗号鍵保存部152に記憶されており、情報提供処理装置150が中継処理装置120に送信したサーバ公開鍵証明書(サーバの公開鍵を含む)に対応するものである。
Note that the secret key used here is stored in the server encryption
次に、情報提供処理装置150は、復号されたマスターシークレットに従って共通鍵を生成する。そして、情報提供処理装置150は、該生成された共通鍵の情報を、外部メモリ211などのメモリに記憶する。
Next, the information
中継処理装置120は、ステップS1135以降の処理で、サーバ回線163を介してデータを情報提供処理装置150に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。
When the
また、中継処理装置120は、情報提供処理装置150からサーバ回線163を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。
In addition, the
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
以降で説明するステップS1127からステップS1128は、利用者端末110と中継処理装置120とが連携して署名データを作成する処理を行う。
In steps S1127 to S1128 described below, the
ステップS1127では、中継処理装置120は、それまで情報提供処理装置150とSSLのハンドシェイクで交換した各メッセージを連結したデータにハッシュ関数を適用したメッセージダイジェスト(署名対象データ)を生成する。そして、中継処理装置120は利用者端末110へ該署名対象データを送信する。
In step S <b> 1127, the
利用者端末110は、中継処理装置120から署名対象データを受信し、該署名対象データに対してステップS1125で送信した利用者端末110の公開鍵証明書に対応する秘密鍵で署名を行い(暗号化を行い)、署名データを作成する。
The
そして、ステップS1128では、利用者端末110は、中継処理装置120へ該署名データを送信する。そして、中継処理装置120は、利用者端末110から該署名データを受信する。
In
ステップS1129では、中継処理装置120は、該署名データを含むSSL Certificate Verifyメッセージを作成し、情報提供処理装置150へ送信する。
In step S <b> 1129, the
すなわち、中継処理装置120は、S1126で送信されたクライアント端末の公開鍵証明書に対応する秘密鍵を用いて署名対象データを暗号化することにより生成される署名データを、サーバ回線163を介して情報提供処理装置に送信する(署名データ送信手段)。
That is, the
そして、情報提供処理装置150は、中継処理装置120から受信した該メッセージ(署名データ)を上記の方法で検証することによって、利用者端末110のクライアント認証を実施する。
Then, the information
ステップS1130、ステップS1131では、中継処理装置120と情報提供処理装置150とは相互にHandshake finishメッセージを交換し、サーバ回線163上のSSLハンドシェイクを終了し、SSLによる暗号化通信であるサーバ回線163を確立する。
In steps S1130 and S1131, the
ステップS1132、ステップS1133では、利用者端末110と中継処理装置120とは相互にHandshake finishメッセージを交換し、前記プロキシ回線161上のSSLハンドシェイクを終了し、SSLによる暗号化通信であるプロキシ回線161を確立する。
In steps S1132 and S1133, the
ステップS1134では、利用者端末110は、ステップS1101において発生したコンテンツ取得要求に対応する通信要求メッセージを、プロキシ回線161上のSSLハンドシェイクで取り決めた方法で暗号化した暗号化通信要求メッセージを、中継処理装置120へ送信する。
In step S1134, the
すなわち、利用者端末110は、ステップS1101において発生したコンテンツ取得要求に対応する通信要求メッセージを、中継処理装置120と共有している共通鍵を用いて暗号化して、当該暗号化された暗号化通信要求メッセージを中継処理装置120に送信する。
That is, the
ステップS1135では、中継処理装置120は、利用者端末110から受信した暗号化通信要求メッセージを、利用者端末110と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Cに格納されている共通鍵)を用いて復号化し、当該復号することで得られる通信要求メッセージを取得する。そして、中継処理装置120は、付加機能処理部130において該通信要求メッセージへアクセス制御等の付加機能処理を実行する。この例ではアクセス制御処理を行い、アクセスが許可されるとする。
In step S1135, the
すなわち、中継処理装置120は、通信要求メッセージの内容を解析して、情報提供処理装置150への通信要求メッセージの送信を許可するか否かの判定を行うことによりアクセス制御処理を行い、情報提供処理装置150への通信要求メッセージの送信を許可すると判定された場合は、当該通信要求メッセージを情報提供処理装置150に送信するように制御する。一方、中継処理装置120は、情報提供処理装置150への通信要求メッセージの送信を許可しないと判定された場合は、当該通信要求メッセージを情報提供処理装置150には送信しないように制御する。
In other words, the
次に、該通信要求メッセージをサーバ回線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
すなわち、中継処理装置120は、通信要求メッセージを情報提供処理装置150に送信するように制御する場合、該通信要求メッセージを、情報提供処理装置150と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Sに格納されている共通鍵)を用いて暗号化して、当該暗号化することにより生成される暗号化通信要求メッセージを情報提供処理装置150へ送信する。
That is, when the
ステップS1136では、情報提供処理装置150は、中継処理装置120から受信した暗号化通信要求メッセージを中継処理装置120と共有している共通鍵を用いて復号化し、当該復号することにより通信要求メッセージを生成する。
In step S1136, the information
そして、情報提供処理装置150は、中継処理装置120からの通信要求メッセージの応答メッセージとして通信応答メッセージを作成し、該通信応答メッセージを、中継処理装置120と共有している共通鍵を用いて暗号化して暗号化通信応答メッセージを生成し、該暗号化通信応答メッセージを中継処理装置120へ送信する。
Then, the information
ステップS1137では、中継処理装置120は、情報提供処理装置150から受信した暗号化通信応答メッセージを、情報提供処理装置150と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Sに格納されている共通鍵)を用いて復号化して通信応答メッセージを取得する。そして、中継処理装置120は、付加機能処理部130において該通信応答メッセージへアクセス制御等の付加機能処理を実行する。
In step S <b> 1137, the
すなわち、中継処理装置120は、通信応答メッセージの内容を解析することにより、利用者端末110への通信応答メッセージの送信を許可するか否かの判定を行うことによりアクセス制御処理を行う。ここでの例では、中継処理装置120は、付加機能処理として通信応答メッセージ内のウィルス検査処理を行い、その結果、通信応答メッセージにはウィルスが検知されなかったとする。
That is, the
中継処理装置120は、利用者端末110への通信応答メッセージの送信を許可すると判定された場合は、当該通信応答メッセージを利用者端末110送信するように制御する。一方、中継処理装置120は、利用者端末110への通信応答メッセージの送信を許可しないと判定された場合は、当該通信応答メッセージを利用者端末110には送信しないように制御する。
When it is determined that the transmission of the communication response message to the
次に、中継処理装置120は、当該通信応答メッセージを利用者端末110に送信するように制御する場合、該通信応答メッセージをプロキシ回線161上のSSLハンドシェイクで取り決めた方法で暗号化した暗号化通信応答メッセージを生成し、該メッセージを利用者端末110へ送信する。
Next, when the
すなわち、中継処理装置120は、当該通信応答メッセージを利用者端末110に送信するように制御する場合、該通信応答メッセージを、利用者端末110と共有している共通鍵(代理通信セッション管理(図10)表の共通その他−Cに格納されている共通鍵)を用いて暗号化することによって、暗号化通信応答メッセージを生成し、当該暗号化通信メッセージを利用者端末110に送信する。
That is, when the
利用者端末110は、中継処理装置120から受信した暗号化通信応答メッセージを、中継処理装置120と共有している共通鍵を用いて復号化することによって、通信応答メッセージを生成し、該通信応答メッセージを閲覧処理部111の画面へ表示するなどの処理を行う。
The
ステップS1138では、情報提供処理装置150は、SSLコネクションを終了するためにSSLアラートプロトコルによる終了通知メッセージを中継処理装置120へ送信する。
In step S1138, the information
ステップS1139では、中継処理装置120は、同じく終了通知メッセージを、情報提供処理装置150へ送信する。これにより、サーバ回線163を終了させる。
In step S <b> 1139, the
ステップS1140において、中継処理装置120は、SSLコネクションを終了するためにSSLアラートプロトコルによる終了通知メッセージを利用者端末110へ送信する。
In step S1140, the
ステップS1141において、利用者端末110は、同じく終了通知メッセージを、中継処理装置120へ送信する。これにより、前記プロキシ回線161を終了させる。
上述したSSLの暗号化通信の確立手順は、一例であり、上述したメッセージ以外のメッセージを装置間で送受信して暗号化通信を確立するようにしてもよい。
In step S <b> 1141, the
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
図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
セッション再開機能とは、過去に開設して終了させたセッションを再開するための機能であり、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
ステップ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
ステップS1202では、利用者端末110は前述したステップS1107と同じ処理を行う。
In step S1202, the
ステップS1203では、中継処理装置120は前述したステップS1108と同じ処理を行う。
In step S1203, the
ステップS1204では、中継処理装置120は前述したステップS1109と同じ処理を行う。
In step S1204, the
ステップ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
The browsing processing unit 111 of the
ステップS1206では、中継処理装置120は、管理表保存部129のプロキシ通信方式キャッシュ表(図9)の中から、ステップS1202(ステップS1107)で受信したクライアント識別子とサーバ識別子を、それぞれクライアント識別子欄とサーバ識別子欄にもつレコードを取得し、該レコードの通信方式欄の値(”代理”)から、中継を代理方式で実施することを判定(決定)する。
In step S1206, the
次に、中継処理装置120は、管理表保存部129の代理通信セッション管理表(図10)の中から、ステップS1202(ステップS1107)で受信したクライアント識別子とサーバ識別子を、それぞれクライアント識別子欄とサーバ識別子欄にもつレコード(代理通信セッションレコードと呼ぶ)を取得する。代理通信セッション管理表(図10)は、代理通信記憶手段の適用例である。
Next, the
中継処理装置120は、該代理通信セッションレコードのセッションIDーC欄を参照し、利用者端末110から受信したSSL Client HelloメッセージのセッションID(第1のセッション識別情報)と同じならば、中継処理装置120側もセッション再開が可能と判定する(判定手段)。
The
すなわち、中継処理装置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
ステップS1207では、中継処理装置120は、代理通信セッションレコードのセッションIDーS欄にセッションIDの値があるか否かを判定し、代理通信セッションレコードのセッションIDーS欄にセッションID(第2のセッション識別情報)の値があると判定された場合に、サーバ回線163においてもセッションを再開することができると判定し、該セッションIDを付加したClient Helloメッセージを情報提供処理装置150へ送信する。一方、中継処理装置120は、代理通信セッションレコードのセッションIDーS欄にセッションIDの値が無いと判定された場合は、サーバ回線163においてはセッションを再開することが出来ないと判定し、これ以降の処理を実行しないように制御する。
In step S1207, the
ステップS1208では、情報提供処理装置150は、中継処理装置120から受信したセッションIDで識別されるSSLのセッション情報が情報提供処理装置150においても利用可能なことを確認したのち、中継処理装置120へ、該セッションIDを付加したServer Helloメッセージを応答する。これは、中継処理装置120と情報提供処理装置150の間におけるサーバ回線163のSSLコネクションにおいても、セッション再開の合意がとれたことを意味する。
In step S <b> 1208, the information
ステップS1209では、情報提供処理装置150は中継処理装置120へSSL Handshake finishedメッセージを送信する。
In step S1209, the information
ステップS1210では、中継処理装置120は情報提供処理装置150へSSL Handshake finishedメッセージを送信する。
In step S <b> 1210, the
以上をもって、中継処理装置120と情報提供処理装置150の間のサーバ回線163のSSLハンドシェイク処理を終了する。
With the above, the SSL handshake process of the
ステップS1211では、中継処理装置120は利用者端末110へHandshake finishedメッセージを送信する。
In step S1211, the
ステップS1210では、利用者端末110は中継処理装置120へHandshake finishedメッセージを送信する。
In step S <b> 1210, the
以上をもって、利用者端末110と中継処理装置120と間のプロキシ回線161のSSLハンドシェイク処理を終了する。
Thus, the SSL handshake process of the
以降は、図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
(中継処理装置120における通信処理フロー) (Communication processing flow in the relay processing device 120)
次に、利用者端末110が中継処理装置120を経由して情報提供処理装置150へ暗号化通信(代理方式による暗号化通信)を行う場合の中継処理装置120の処理フローを、図3を用いて説明する。
Next, the processing flow of the
なお、図3に示すステップS301からステップS320は、中継処理装置120のCPU201が実行することにより実現される。
Note that steps S301 to S320 illustrated in FIG. 3 are realized by the
ステップS301では、中継処理装置120は、利用者端末110から情報提供処理装置150への暗号化通信の要求の発生を元に通信方式を決定する処理(通信方式決定処理)を行う(図11のステップS1101からステップS1106)。
In step S301, the
通信方式決定処理では、利用者端末110が要求する通信に対する中継処理装置120における通信方式が決定され、管理表保存部129のプロキシ通信方式キャッシュ表(図9)に、決定された通信方式を通信方式欄にもつ新しいレコードが作成される。該レコードの通信方式欄の値は、”直接”か”代理”または”選択なし”のいずれかになる。処理の詳細は図4を用いて後述する。
In the communication method determination process, the communication method in the
ステップS302では、クライアント通信部121は、利用者端末110の閲覧処理部111から接続を受け付け、SSL(TLSを含む)のプロキシ接続プロトコルに則ったCONNECTメソッドによる接続要求メッセージ(情報提供処理装置150とのSSL通信の要求の情報)を受信し、通信制御部124へ該接続要求メッセージを渡す(図11のステップS1107)。
すなわち、中継処理装置120は、利用者端末110から、情報提供処理装置150へのSSL通信の要求を受信する(受信手段)。
In step S302, the
That is, the
すなわち、中継処理装置120は、利用者端末110からSSL通信の要求を受信したことを条件に、プロキシ回線161の確立、及びサーバ回線163の確立を開始するように制御する(制御手段)。
In other words, the
以降、中継処理装置120のクライアント通信部121と利用者端末110の閲覧処理部111との間で開設される接続回線をプロキシ回線161と呼ぶ。
Hereinafter, a connection line established between the
次に、通信制御部124は、該接続要求メッセージのCONNECTメソッドで指定された情報提供処理装置150のホスト名とポート番号からサーバ識別子(ホスト名:ポート番号)を作成し、また該接続要求メッセージのリクエストヘッダーからクライアント識別子(IPアドレス:閲覧処理部識別子)を取得する。そして、通信制御部124は、該サーバ識別子と該クライアント識別子をキーにして、管理表保存部129のプロキシ通信方式キャッシュ表(図9)からレコードを検索し、検索結果、該レコードの通信方式を取得する。該通信方式はステップS301において記憶された値である。
Next, the
通信制御部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
また、通信制御部124は、通信方式が”代理”であった場合には、サーバ識別子とクライアント識別子をキーにして、管理表保存部129の代理通信セッション管理表(図10)からレコードを検索する。通信制御部124は、該キーに一致するレコードがなかった場合には、サーバ識別子とクライアント識別子を、それぞれサーバ識別子欄とクライアント識別子欄にもつ新しいレコードを作成する。通信制御部124は、検索で発見されたレコード又は新規作成したレコードを中継処理装置120のRAM203に記憶させる。以降、このレコードを代理通信セッションレコードと呼び通信制御部124において参照できるものとする。
Further, when the communication method is “proxy”, the
ステップ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
(直接プロキシ処理)
ステップ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
そして、中継処理装置120は、ここで確立された暗号化通信を用いて、利用者端末110と情報提供処理装置150との間で通信される通信データを中継する。
The
通信制御部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
なお、この直接方式による中継処理では、通信要求メッセージ、通信応答メッセージとも暗号化されたまま中継するので、通信制御部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
(中継拒否通知) (Relay rejection notification)
ステップS319では、通信制御部124は、アクセスを許可しない旨の通信応答メッセージを作成し、クライアント通信部121を経由して該通信応答メッセージを利用者端末110の閲覧処理部111へ送信し、プロキシ回線161を切断し処理を終了する。
In step S319, the
(代理方式:利用者端末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
まず、セッションを新規に開始するケースについて説明する。 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
すなわち、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
具体的には、中継処理装置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
そして、中継処理装置120は、当該生成されたセッションIDを含む該SSL Server Helloメッセージを利用者端末110に送信し、当該生成されたセッションIDを代理通信セッションレコードのセッションIDーC欄に保存する。該セッションIDは次回以降にセッションを再開する場合の識別子となる。
Then, the
利用者端末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
次に、中継処理装置120は、代理用暗号鍵保存部に記憶されているサーバ公開鍵証明書を含むSSL Server Certificateメッセージを利用者端末110に送信する(ステップS1113)。
Next, the
利用者端末110は、中継処理装置120からSSL Server Certificateメッセージを受信し、当該SSL Server Certificateメッセージに含まれるサーバ公開鍵証明書を外部メモリ211などのメモリに記憶する。
The
そして、中継処理装置120は、中継処理装置120での一連の処理の終了を通知するSSL Server Hello Doneメッセージを利用者端末110に送信する(ステップS1114)。
Then, the
利用者端末110は、中継処理装置120からSSL Server Hello Doneメッセージを受信すると、マスターシークレット(データの暗号化及び復号化に用いる共通鍵を生成するための情報)を生成する。
Upon receiving the SSL Server Hello Done message from the
また、利用者端末110は、ここで生成されたマスターシークレットに従って、プロキシ回線161を介して中継処理装置120と通信する対象となるデータの暗号化及び復号を行うために用いる共通鍵を生成して、当該生成された共通鍵をRAM203等のメモリに記憶する。
Further, the
利用者端末110は、ステップS1134以降の処理(ステップS314)で、プロキシ回線161を介してデータを中継処理装置120に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。
When the
また、利用者端末110は、中継処理装置120からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。
Also, the
そして、利用者端末110は、中継処理装置120から受信したSSL Server Certificateメッセージに含まれているサーバ公開鍵証明書に含まれるサーバの公開鍵を用いて、当該生成されたマスターシークレットを暗号化する。
Then, the
そして、利用者端末110は、当該暗号化されたマスターシークレットを含むClientKeyExchangeメッセージを中継処理装置120に送信する。
中継処理装置120は、利用者端末110からClientKeyExchangeメッセージを受信する。
Then, the
The
そして、中継処理装置は、当該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
なお、ここで用いる秘密鍵は、サーバ公開鍵証明書(サーバの公開鍵を含む)に対応付けられて代理用暗号鍵保存部126に記憶されており、利用者端末110に送信したサーバ公開鍵証明書(サーバの公開鍵を含む)に対応するものである。
The secret key used here is stored in the proxy encryption
次に、中継処理装置120は、復号されたマスターシークレットに従って共通鍵を生成する。そして、中継処理装置120は、該生成された共通鍵の情報を前記代理通信セッションレコードの共通鍵その他ーC欄に記憶する。
Next, the
中継処理装置120は、ステップS1134以降の処理(ステップS314)で、プロキシ回線161を介してデータを利用者端末110に送信する際は、当該データを、ここで生成された共通鍵を用いて暗号化して送信する。また、中継処理装置120は、利用者端末110からプロキシ回線161を介して送信された暗号化されたデータを、ここで生成された共通鍵を用いて復号する。
When the
次に、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
(代理用暗号鍵保存部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
また、該サーバ公開鍵証明書には、主体者のDN(識別名)の中のCommon Nameより上の階層に、中継処理装置120のホスト名を属性値としてもつようにし、エンドポイント(情報提供処理装置150)の確認とともに中継点(中継処理装置120)の確認も同時に実施できるようにする。
In addition, the server public key certificate has the host name of the
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
また、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
ステップ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
サーバ側暗号処理部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
また、サーバ側暗号処理部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
ステップS308では、制御処理通信部128は該代理通信セッションレコードのサーバ証明書欄に保存された情報提供処理装置150のサーバ公開鍵証明書を利用者端末110へ制御回線162を介して送信し、利用者端末110において該サーバ公開鍵証明書を検証させ、情報提供処理装置150に対するサーバ認証を実施させるステップである。そして、制御処理通信部128は、その検証結果を通信制御部124へ渡す(図11のステップS1119からステップS1122)。ステップS308の詳細処理は、図5を用いて後述する。
In step S308, the control
ステップS309では、通信制御部124は、制御処理通信部128から渡されたステップS308におけるサーバ認証処理の結果が、成功であればステップS310へ進み、失敗であればステップS320へ進む。ここで、通信制御部124は、ステップS308で、利用者端末110から検証が成功した旨を受信した場合は、サーバ認証処理の結果が、成功として判定し、一方、利用者端末110から、検証が成功しなかった旨を受信した場合は、サーバ認証処理の結果が、失敗として判定する。
In step S309, the
ステップS310では、通信制御部124は、代理通信セッションレコードのクライアント認証要求欄を参照し、値が存在すればステップS311へ進み、値が存在しなければステップS312へ進む。
In step S310, the
ステップS311では、中継処理装置120は、利用者端末110と連携することにより、情報提供処理装置150から要求されたクライアント認証に応答するための処理を行う(図11のステップS1123からステップS1129)。ステップS311の詳細処理は、図6を用いて後述する。
In step S311, the
ステップ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
ステップS313では、クライアント側暗号処理部123において、クライアント通信部121を経由して、SSL Handshake finishedを利用者端末110に送信して、プロキシ回線161におけるSSLコネクションのハンドシェイク処理を終了する(図11のステップS1132からステップS1133)。
In step S313, the client-side
ステップ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
ステップ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
(SSLセッション再開機能を使う場合)
ステップS316では、通信制御部124は、サーバ回線163においてSSLセッションの再開が可能か否かを判定する。
(When using the SSL session resume function)
In step S316, the
すなわち、通信制御部124は、利用者端末110から受信したセッションIDが含まれている代理通信セッションレコードのセッションIDーS欄に値が存在するか否かを判定し、代理通信セッションレコードのセッションIDーS欄に値が存在すると判定された場合、サーバ側暗号処理部125から該セッションIDの値を付加したSSL Client Helloメッセージを、サーバ通信部122を経由してサーバ回線を介して情報提供処理装置150へ送信する。
That is, the
次に、サーバ側暗号処理部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
通信制御部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
ステップS317では、通信制御部124は、ステップS307と同様に、サーバ回線163上で新しいSSLセッションを開始する。
In step S317, the
通信制御部124は、情報提供処理装置150からのSSL Server Certificateメッセージを受信すると、該メッセージからサーバ公開鍵証明書を取得し、該サーバ公開鍵証明書と代理通信セッションレコードのサーバ証明書欄の値とを比較する。当該比較の結果、両者が同一でなかった場合は、代理通信セッションレコードのサーバ証明書欄を該サーバ公開鍵証明書で上書き保存する。
Upon receiving the SSL Server Certificate message from the information
また、通信制御部124は、情報提供処理装置150からSSL Certificate Requestメッセージを受信した場合は、ステップS307と同様に代理通信セッションレコードのクライアント認証要求欄に該SSL Certificate Requestメッセージの内容を符号化して保存する。
In addition, when receiving the SSL Certificate Request message from the information providing
ステップS318では、通信制御部124は、ステップS317におけるサーバ公開鍵証明書の比較の結果を参照し、真(同一)ならばステップS310へ進み、偽(同一ではない)ならば再度サーバ公開鍵証明書を利用者端末110で検証させるためにステップS308へ進む。
In step S318, the
(エラー処理) (Error handling)
ステップS320では、制御処理通信部128は、ステップS308におけるサーバ証明書の検証処理が失敗したことを通信制御部124へ通知し、通信制御部124は、サーバ側暗号処理部125に情報提供処理装置150とのSSLハンドシェイク処理をエラー終了するように通知し、サーバ側暗号処理部125は、サーバ通信部122を経由して、サーバ回線163を介してSSLのSSL bad certificate alertメッセージを情報提供処理装置150へ送信し、サーバ回線163を切断し、終了する。
In step S320, the control
(図4 通信方式決定処理の詳細)
次に、図3におけるステップS301の詳細である利用者端末110と中継処理装置120とにおける通信方式決定処理のフローを、図4を用いて説明する。
(Fig. 4 Details of communication method decision processing)
Next, the flow of communication method determination processing between the
図4に示すステップS401からステップS403、ステップS406からステップS408の処理は、利用者端末110のCPU201により実行され実現される。
The processing from step S 401 to step
また、ステップS404、ステップS405、ステップS409の処理は、中継処理装置120のCPU201により実行され実現される。
Further, the processing of step S404, step S405, and step S409 is executed and implemented by the
なお、図4で示す利用者端末110と中継処理装置120との間の通信は、図1における制御回線162を使うものとする。
It is assumed that the communication between the
ステップS401では、利用者端末110の閲覧処理部111は、利用者が”https://・・・”形式のURLのリンクをクリックしたり、アドレスバーに入力するなどして、情報提供処理装置150への暗号化通信の要求イベントを検知すると、拡張機能処理部112へ該URLを渡し制御を移す。
In step S401, the browsing processing unit 111 of the
ステップS402では、利用者端末110の拡張機能処理部112は、当該URLの中のホスト名とポート番号からサーバ識別子(サイト情報)を生成し、該サーバ識別子をキーに管理表保存部114のクライアント通信方式キャッシュ表(図16)からレコードを検索する。
In step S402, the extended
利用者端末110の拡張機能処理部112は、検索処理にて条件に一致するレコードがあれば該レコードの通信方式欄の値を通信方式とし処理を終了する。この場合は、利用者端末110のクライアント通信方式キャッシュ表の該レコード(キャッシュ情報)が存在すれば、中継処理装置120のプロキシ通信方式キャッシュ表(図9)にも同じ通信条件のキャッシュ情報が存在する。
If there is a record that matches the conditions in the search process, the extended
利用者端末110の拡張機能処理部112は、検索処理にて条件に一致するレコードがなければ新規に通信方式を決定するためにステップS403へ進む。
If there is no record that matches the conditions in the search process, the extended
ステップS403では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続する。すなわち、利用者端末110と中継処理装置120との間でSSLによる暗号化通信の回線(制御回線162)を確立する。この接続回線を制御回線162と呼ぶ。利用者端末110の拡張機能処理部112は、ステップS402で生成したサーバ識別子と、利用者端末110のIPアドレスと閲覧処理部111識別子からなるクライアント識別子と、をもつ通信方式問い合わせ要求メッセージを中継処理装置120へ送信する。
In step S403, the extended
ステップS404では、中継処理装置120の制御処理通信部128が、ステップS403の通信方式問い合わせ要求メッセージを受信し、サーバ識別子とクライアント識別子を取得する(受付手段)。サーバ識別子は、中継先情報の適用例である。また、クライアント識別子(IPアドレス)は、クライアント情報の適用例である。
In step S404, the control
ステップS405では、中継処理装置120の制御処理通信部128は、ステップS404で取得した情報提供処理装置150を識別するサーバ識別子と、利用者端末110の閲覧処理部111を識別するクライアント識別子と、を元に管理表保存部129の通信方式決定表(通信方式設定情報)(図8)のサーバ条件とクライアント条件に合致するレコードを検索し、合致するレコードの通信方式を、確立が許可された通信の通信方式として決定する(通信決定手段)。
In step S405, the control
サーバ条件のドメイン名欄との照合は、サーバ識別子から情報提供処理装置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
また、通信方式決定表では、図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
ここでは、中継処理装置120は、得られたレコードの通信方式欄の値(“直接”又は“選択”又は“代理”)を利用者端末110に送信し、利用者端末110は、中継処理装置120から受信した通信方式欄の値に従って、後述する図13又は図14に示す画面を表示する。
Here, the
他の方法としては、得られたレコードの通信方式欄の値(“直接”又は“選択”又は“代理”)に従って決定される図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
すなわち、中継処理装置120は、受け付けたサイト情報(中継先情報)(情報提供処理装置150を特定するホスト名やポート番号)に対して“選択(通信方式が選択を示す情報)”(“選択”は指示情報の適用例である)が通信方式決定表(図8)に記憶されていると判定された場合に、通信方式(直接または代理)を選択するための画面情報(図14)を、制御回線を介して利用者端末に送信する(通信方式送信手段)(ステップS405)。ここで送信される画面情報、又は通信方式は、通信方式指示情報の適用例である。
That is, the
また、中継処理装置120は、受け付けたサイト情報(中継先情報)(情報提供処理装置150を特定するホスト名やポート番号)に対して、通信方式が代理を示す情報が、通信方式決定表(図8)に記憶されていると判定された場合に、通信方式(“代理”または“通信しない”)を選択するための画面情報(図13)を、制御回線を介して利用者端末に送信する(ステップS405)。
ステップS406では、利用者端末110の拡張機能処理部112は、通信方式を選択するための画面情報を中継処理装置120から受信する。
In addition, the
In step S <b> 406, the extended
すなわち、利用者端末110は、中継処理装置から画面情報を受信すると、当該画面情報に従って、図13又は図14に示す画面を表示する。図14は、指示画面の適用例である。 このように、利用者端末110を操作しているユーザ(操作ユーザ)は、確立が許可される通信方式として、“代理”(代理通信方式)が決定された場合、代理通信方式で通信するか、通信自体を行わないかの選択しか行えず、通信を行うためには、必ず代理通信方式が選ばれることになる。すなわち、中継処理装置120は、確立が許可される通信方式として代理通信方式が決定されたことを条件に、代理通信方式による通信が確立されることとなる。
That is, when the
次に、中継処理装置120が、得られたレコードの通信方式欄の値(“直接”又は“選択”又は“代理”)を利用者端末110に送信し、利用者端末110が、中継処理装置120から受信した通信方式欄の値に従って、図13又は図14に示す画面を表示する場合について説明する。
Next, the
ステップS406では、利用者端末110の拡張機能処理部112は、通信方式(直接または代理または選択)を中継処理装置120から受信する。
In step S <b> 406, the extended
ステップS407では、利用者端末110の拡張機能処理部112は、ステップS406で受信した通信方式の値に基づき、図13又は図14に示すダイアログボックスを表示する。
In step S407, the extended
このとき、通信方式が”直接”の場合は、ダイアログボックスは表示しない。すなわち、通信方式が“直接”(直接通信方式)の場合は、確立する通信の通信方式が“直接”(直接通信方式)となる。 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
利用者端末110は、ステップS406で受信した通信方式が”選択”の場合は、図14に例を示すようなダイアログボックス(画面)を表示し、利用者に、利用者端末110と情報提供処理装置150の間の暗号化通信が中継処理装置120において一旦復号しセキュリティ検査等の付加機能処理を実行するか、もしくは情報提供処理装置150との間はエンドツーエンドの暗号化通信を行い、中継処理装置120では平文化通信メッセージが検査や記録できないようにするか、を選択させる。利用者端末110は、図14の画面において、利用者が「許可する」ボタンをクリックした場合は、拡張機能処理部112における通信方式を”代理”という値に更新し、「許可しない」ボタンをクリックした場合には通信方式を”直接”という値に更新する。
When the communication method received in step S406 is “selection”, the
次に、拡張機能処理部112は、管理表保存部114のクライアント通信方式キャッシュ表(図16)にサーバ識別子と決定日時と、選択された通信方式の値からなる新しいレコードを作成する。
Next, the extended
ステップ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
また、拡張機能処理部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
そして、利用者端末110の拡張機能処理部112は、サーバ識別子と、クライアント識別子と、ステップS407において選択された通信方式の値と、ステップS407で決定した通信方式の中継処理装置120における有効期限と、をもつ通信方式通知メッセージを中継処理装置120へ送信する。
Then, the extended
該有効期限は通信方式の中継処理装置120上での利用可能な有効期限として表し、ステップS407の処理日時から数時間程度(所定時間)進めた日時などを用いる。
The expiration date is expressed as an expiration date that can be used on the
ステップS409では、中継処理装置120の制御処理通信部128は、ステップS408の通信方式通知メッセージ(選択結果)を受信し(通信方式受信手段)、当該通信方式通知メッセージに含まれる、サーバ識別子とクライアント識別子と決定された通信方式と有効期限とからなるレコードを作成し、該レコードを管理表保存部129のプロキシ通信方式キャッシュ表(図9)に保存する。以上で、通信方式決定処理を終了する。
In step S409, the control
(図5 サーバ証明書検証処理の詳細) (Figure 5 Details of server certificate verification process)
次に、図3におけるステップS308の詳細である利用者端末110と中継処理装置120とにおけるサーバ証明書検証処理のフローを、図5を用いて説明する。
Next, the flow of the server certificate verification process in the
図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
また、ステップ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
なお、図5で示す利用者端末110と中継処理装置120との間の通信は、図1における制御回線162を使うものとする。
Note that the communication between the
ステップS501では、中継処理装置120の通信制御部124は、代理通信セッションレコードのサーバ証明書欄から情報提供処理装置150のサーバ公開鍵証明書を取得し、該サーバ公開鍵証明書の有効性を検証する。
In step S501, the
検証項目としては、該サーバ公開鍵証明書の認証パス中の署名機関(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
ステップS502では、中継処理装置120は、ステップS501の前記サーバ公開鍵証明書の検証が成功したか否かを判定し、成功したと判定されればステップS504へ進み、失敗したと判定されたのであれば、失敗という結果情報を通信制御部124へ通知し終了する。
In step S502, the
ステップS503では、利用者端末110の拡張機能処理部112は、制御回線162を介して、中継処理装置120の制御処理通信部128へHTTPSで接続し、情報提供処理装置150のサーバ識別子と利用者端末110のクライアント識別子と共に、情報提供処理装置150のサーバ公開鍵証明書の取得要求メッセージを送信する(図11のステップS1119)。
In step S503, the extended
ステップS504では、制御処理通信部128は、ステップS501で送られたサーバ識別子とクライアント識別子をキーにして、管理表保存部129の代理通信セッション管理表の中から当該キーに一致するレコードを検索する。そして、制御処理通信部128は、管理表保存部129の代理通信セッション管理表の中から一致するレコード(代理通信セッションレコード)を取得する。そして該レコードのサーバ証明書欄の値を利用者端末110の拡張機能処理部112へ応答(送信)する(図11のステップS1120)(送信手段)。
In step S504, the control
すなわち、中継処理装置120は、サーバ回線163の暗号化通信の回線を確立する際に用いられる(情報提供処理装置150から取得した)情報提供処理装置150のサーバ公開鍵証明書を、制御回線162を介して利用者端末110に送信する。
That is, the
ステップ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
ステップS506では、拡張機能処理部112は、ステップS503で実施した検証結果とサーバ公開鍵証明書の内容を、ダイアログボックスを用いて表示し、利用者へサーバ公開鍵証明書を信頼して通信を継続するか否かの確認を取る(図11のステップS1121)。図15にダイアログボックスの例を示す。
In step S506, the extended
拡張機能処理部112は、図15に示す画面内の「許可する」ボタンが押下されたか否かを判定して、押下されたと判定された場合は、確認結果として検証が成功した旨を、中継処理装置120の制御処理通信部128へ送信する。一方、拡張機能処理部112は、「許可する」ボタンが押下されず、「許可しない」ボタンが押下されたと判定された場合は、確認結果として検証が成功しなかった旨を、中継処理装置120の制御処理通信部128へ送信する。
The extended
ステップS507では、拡張機能処理部112は、ステップS504で実施した利用者による情報提供処理装置150のサーバ公開鍵証明書の確認結果を検証結果として中継処理装置120の制御処理通信部128へ送信する(図11のステップS1122)。
In step S507, the extended
ステップS508では、中継処理装置120の制御処理通信部128は、利用者端末110による情報提供処理装置150のサーバ公開鍵証明書の検証結果を受信し、該結果を通信制御部124へ通知する。
In step S508, the control
以上で、サーバ証明書検証処理を終了する。 This completes the server certificate verification process.
ここでは、利用者端末110は、利用者端末110による情報提供処理装置150のサーバ公開鍵証明書の検証結果を、最終的な検証結果として、中継処理装置120に送信しているが、拡張機能処理部112が実行する検証処理の結果を、最終的な検証結果として中継処理装置120に送信するようにしてもよい。
Here, the
(図6 クライアント認証処理の詳細) (Fig. 6 Details of client authentication process)
次に、図3におけるステップS311の詳細である利用者端末110と中継処理装置120とにおけるクライアント認証処理のフローを、図6を用いて説明する。
Next, the flow of the client authentication process in the
図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
また、ステップ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
なお、図6で示す利用者端末110と中継処理装置120との間の通信は、図1における制御回線162を使うものとする。
Note that the communication between the
ステップS601では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続し(制御回線162の開設)、サーバ識別子とクライアント識別子と共に、情報提供処理装置150のクライアント認証条件の取得要求メッセージを送信する。
In step S601, the extended
ステップS602では、中継処理装置120の制御処理通信部128は、ステップS601で受信したサーバ識別子とクライアント識別子をキーにして、管理表保存部129の代理通信セッション管理表の中から、当該キーに一致するレコードを検索する。そして、中継処理装置120の制御処理通信部128は、検索の結果、管理表保存部129の代理通信セッション管理表の中から得られたレコード(代理通信セッションレコード)を取得する。
In step S602, the control
そして、中継処理装置120の制御処理通信部128は、取得された該代理通信セッションレコードのクライアント認証要求欄の値を利用者端末110の拡張機能処理部112へ応答(送信)する(図11のステップS1123)。
Then, the control
ステップS603では、利用者端末110の拡張機能処理部112は、ステップS601で中継処理装置120から受信したクライアント認証要求の値を解析し、条件となっている署名アルゴリズムやCA識別名を取得し、それらの条件に適合するクライアント公開鍵証明書を、暗号鍵保存部113に記憶されているクライアント公開鍵証明書群の中から取得する(図11のステップS1124)。
In step S603, the extended
ステップS604では、利用者端末110の拡張機能処理部112は、ステップS603で取得したクライアント公開鍵証明書の内容を含むダイアログボックス等を表示することで利用者へ示す。そして、利用者端末110の拡張機能処理部112は、情報提供処理装置150へのクライアント認証に利用する証明書として、当該クライアント公開鍵証明書の使用の可否の選択を受け付ける(図11のステップS1124)。もし、ステップS603で取得したクライアント公開鍵証明書が複数の場合は、拡張機能処理部112は、ダイアログボックス等を表示してクライアント認証に用いるクライアント公開鍵証明書として利用者に1つを選択させた後に確認処理を行う(使用の可否の選択を受け付ける)。拡張機能処理部112は、ステップS603において条件に適合するクライアント公開鍵証明書がなかった場合は何もしない。
In step S604, the extended
ステップS605では、利用者端末110の拡張機能処理部112は、ステップS604において利用者が利用確認した(利用者により選択された)クライアント公開鍵証明書を中継処理装置120へ送信する(図11のステップS1125)。また、拡張機能処理部112は、ステップS604においてクライアント公開鍵証明書がなかった場合は該当なしの旨のメッセージを送信する。
In step S605, the extended
ステップS606では、中継処理装置120の制御処理通信部128は、利用者端末110からクライアント公開鍵証明書を受信し、該クライアント公開鍵証明書を通信制御部124へ渡す。すなわち、ステップS606では、中継処理装置120は、制御回線162を用いて、利用者端末110からクライアント公開鍵証明書を取得する(取得手段)。
In
ステップS607では、中継処理装置120の通信制御部124は、当該クライアント公開鍵証明書を代理通信セッションレコードのクライアント証明書欄に保存する。
In step S607, the
次に、通信制御部124は、該クライアント公開鍵証明書をサーバ側暗号処理部125に渡す。サーバ側暗号処理部125は、サーバ回線163における情報提供処理装置150とのSSLハンドシェイク処理において、該クライアント公開鍵証明書を含んだSSL Client Certificateメッセージを作成し情報提供処理装置150へ送信する(図11のステップS1126)(公開鍵送信手段)。中継処理装置120は、ステップS606においてクライアント公開鍵証明書がないメッセージを受信していた場合は、サーバ側暗号処理部125は、SSL Client Certificateメッセージの証明書領域は空のままにして、SSL Client Certificateメッセージを送信する。
Next, the
ステップS608では、中継処理装置120の制御処理通信部128は、SSL Client Certificateメッセージの中にクライアント公開鍵証明書がない場合は、中継処理装置120側の処理を終了する。制御処理通信部128は、中継処理装置120の制御処理通信部128は、当該メッセージの中にクライアント公開鍵証明書があった場合はステップS609へ進む。
In step S608, the control
ステップ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
ステップS610では、利用者端末110の拡張機能処理部112は、ステップS604において条件に適合するクライアント公開鍵証明書がなかった場合は、利用者端末側の処理を終了する。拡張機能処理部112は、クライアント公開鍵証明書があった場合はステップS611へ進む。
In step S610, the extended
ステップS611では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続し、署名対象データ要求メッセージを中継処理装置120に送信する。利用者端末110の拡張機能処理部112は、中継処理装置120がステップS612において送信した署名対象データを受信する。
In step S611, the extended
ステップS612では、中継処理装置120の制御処理通信部128は、当該署名対象データ要求メッセージを利用者端末110から受信すると、ステップS609で生成された署名対象データを利用者端末110の拡張機能処理部112へ送信する(図11のステップS1127)。
In step S612, when receiving the signature target data request message from the
ステップS613では、利用者端末110の拡張機能処理部112は、ステップS605で中継処理装置120へ送信したクライアント公開鍵証明書と対になる秘密鍵を暗号鍵保存部113から取得し、該秘密鍵を用いてステップS611で受信した署名対象データに対して署名処理を施して(暗号化して)署名データを作成する。
In step S613, the extended
ステップS614では、利用者端末110の拡張機能処理部112は、中継処理装置120の制御処理通信部128へHTTPSで接続し、ステップS613で作成した署名データを中継処理装置120に送信する(図11のステップS1128)。
In step S614, the extended
ステップS615では、中継処理装置120の制御処理通信部128は、当該署名データを利用者端末110から受信し、該署名データを通信制御部124へ渡す。
In step S615, the control
ステップS616では、中継処理装置120の通信制御部124は、当該署名データをサーバ側暗号処理部125へ渡し、サーバ側暗号処理部125は該署名データを含んだSSL Certificate Verifyメッセージを作成し、情報提供処理装置150へ送信する(図11のステップS1129)(署名データ送信手段)。
In step S616, the
以上で、クライアント認証処理を終了する。 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
Note that steps S701 to S713 illustrated in FIG. 7 are realized by the
ステップS701では、クライアント通信部121は、プロキシ回線161を介して利用者端末110から暗号化通信要求メッセージを受信し、該暗号化通信要求メッセージをクライアント側暗号処理部123へ渡す。
In step S <b> 701, the
ステップS702では、クライアント側暗号処理部123は、当該暗号化通信要求メッセージ(第1の暗号化データ)を、代理通信セッションレコード(図10の現在処理対象のレコード)の共通鍵その他ーC欄の記憶されている共通鍵(第1の共通鍵)を用いて復号化し(第1復号手段)、当該復号化された平文化通信要求メッセージを作成する。クライアント側暗号処理部123は、該平文化通信要求メッセージを通信制御部124へ渡す。
In step S702, the client side
ステップS703では、通信制御部124は、平文化通信要求メッセージ(第1の暗号化データを復号することにより得られる通信データ)を付加機能処理部130へ渡し、付加機能処理部130は、前記平文化通信要求メッセージに対して付加機能(検査)を実行する(第1検査手段)。付加機能処理部130は、付加機能の実行結果(検査結果)として、中継処理の継続可否を示す中継可否判定結果と、中継用の平文化通信要求メッセージと、を通信制御部124へ渡す。
In step S703, the
付加機能(検査処理)の例としては、例えば、平文化通信要求メッセージに対し、キーワード検査を行って機密情報として外部への送信が禁止されているデータが含まれているか否かを検査する処理などがある。その結果、平文化通信要求メッセージに禁止されているデータが含まれていなかったと判定されれば、中継可否判定結果は”可”となり、中継用の平文化通信要求メッセージは、元の平文化通信要求メッセージに対して「検査済み」であるヘッダーが付加されたメッセージとなるケースなどが想定されている。このように、付加機能処理部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
ステップS704では、通信制御部124は、付加機能の処理の結果、中継可否判定結果が”可”ならばステップS705へ進み、”不可”ならばステップS713へ進む(第1決定手段)。
In step S704, the
ステップS705では、通信制御部124は、中継用の平文化通信要求メッセージをサーバ側暗号処理部125へ渡し、サーバ側暗号処理部125は、該中継用の平文化通信要求メッセージを代理通信セッションレコードの共通鍵その他ーS欄の記憶されている共通鍵を用いて暗号化して、中継用の暗号化通信要求メッセージを作成する。
In step S705, the
ステップ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
ステップS707では、サーバ通信部122は情報提供処理装置150のサーバ処理部151から暗号化された暗号化通信応答メッセージ(第2の暗号化データ)を受信し、該暗号化通信応答メッセージをサーバ側暗号処理部125へ渡す。
In step S707, the
ステップ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
ステップS709では、通信制御部124は、平文化通信応答メッセージ(第2の暗号化データを復号することにより得られた通信データ)を付加機能処理部130へ渡し、付加機能処理部130は、該平文化通信応答メッセージに対して付加機能を実行する(第2検査手段)。付加機能処理部130は、前記付加機能の実行結果として、中継処理の継続可否を示す中継可否判定結果と、中継用平文化通信応答メッセージと、を通信制御部124へ渡す。
In step S709, the
付加機能の例としては、例えば、平文化通信応答メッセージに対しアンチウィルス処理を行うなどがある。この場合、付加機能処理部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
すなわち、中継処理装置120は、付加機能処理部130による付加機能の実行結果として、中継可否判定結果が”不可”の場合は、平文化通信応答メッセージを利用者端末110には送信せず、一方、中継可否判定結果が“可”の場合は、平文化通信応答メッセージを利用者端末110に中継することを決定する(第2決定手段)。
In other words, the
付加機能処理部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
ステップS711では、クライアント側暗号処理部123は、中継用の暗号化通信応答メッセージをクライアント通信部121へ渡し、クライアント通信部121は、該中継用の暗号化通信応答メッセージを、利用者端末110の閲覧処理部111へ送信する。
In step S711, the client side
ステップS712では、通信制御部124は平文化通信応答メッセージなどからアプリケーション通信(HTTPトランザクション)を終了するかどうか判定し、終了すると判定すれば処理を終了する。継続すると判定すればステップS701へ進む。
In step S712, the
ステップS713では、通信制御部124は、ステップS703で生成された中継可否判定結果(中継可否判定結果が”不可”)と中継用の平文化通信要求メッセージに基づき、「リクエスト送信は禁止されました」等の中継用の平文化通信応答メッセージを作成して、ステップS710へ進む。ステップS710では、中継処理装置120は、ここで生成された中継用の平文化通信応答メッセージを、代理通信セッションレコードの共通鍵その他ーC欄の記憶されている共通鍵を用いて暗号化して、中継用の暗号化通信応答メッセージを作成し、ステップS711で利用者端末110に送信する。
In step S713, the
以上で、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の実施形態> <Second Embodiment>
第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を含む)を使う他の通信プロトコルの場合でも同様の構成で適用することができる。
In the first embodiment, in HTTPS (HTTP over SSL (including TLS)) communication, the
例えば、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
以上説明したように、本実施の形態によれば、各通信規約を変更することなく、暗号化通信によるデータを中継する際に、当該データを検査可能にすると共に、真正な証明書に基づき通信相手の真正性を確認することができる。 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.
すなわち、1901は、クライアント端末(利用者端末110)と情報処理装置(情報提供処理装置150)との間で通信される通信データを中継する中継処理装置120である。
That is, 1901 is a
ここで、本実施例の利用者端末110は、本発明のクライアント端末の適用例である。また、本実施例の情報提供処理装置150は、本発明の情報処理装置の適用例である。 1902は、クライアント端末と通信データの通信で用いられる第1のSSL通信を確立する第1確立部である。 1903は、情報処理装置と通信データの通信で用いられる第2のSSL通信を確立する第2確立部である。
Here, the
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
1902、1903、1904は、図19で説明した機能と同様であるため、ここでは説明を省略する。 2001は、クライアント端末と制御通信を確立する通信確立部である。
また、送信部1904は、第2確立部で第2のSSL通信を確立する際に情報処理装置から取得される情報処理装置の公開鍵証明書を、通信確立部により確立された制御通信を用いて、第1の確立部により第1のSSL通信の確立を行うクライアント端末に送信する。
In addition, the
2002は、クライアント端末から、情報処理装置へのSSL通信の要求を受信する受信部である。
A receiving
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通信を用いて、クライアント端末と情報処理装置との間で通信される通信データを中継する中継部である。
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は、通信データを中継する中継先情報をクライアント端末から受け付ける受付部である。
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
また、中継部2004は、更に、通信決定部で、情報処理装置とクライアント端末との間での通信を許可する通信方式として直接通信方式が決定されたことを条件に、クライアント端末と情報処理装置との間で確立される第3のSSL通信を用いて、クライアント端末と情報処理装置との間で通信される通信データを中継する。
In addition, the
また、記憶部に記憶されている通信方式設定情報は、更に、中継先情報に対して、クライアント端末を示すクライアント情報が設定されており、受付部は、中継先情報を受け付けたクライアント端末のクライアント情報を更に受け付け、通信決定部は、記憶部に記憶された通信方式設定情報と、受付部で受け付けた中継先情報と、受付部で受け付けたクライアント情報とに従って、受付部で受け付けた中継先情報に示される中継先の情報処理装置と、受付部で受け付けたクライアント情報により示されるクライアント端末との間での通信を許可する通信方式を決定する。 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検査部である。
2015は、第1検査部による検査結果に従って、第1検査部で検査された通信データを情報処理装置に中継するか否かを決定する第1決定部である。
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検査部である。
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
なお、通信確立部2001で確立される制御通信はSSL通信である。
Note that the control communication established by the
以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、装置で実行可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 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
Claims (18)
前記クライアント端末とSSLハンドシェイクを行うことで、前記中継処理装置の公開鍵証明書を前記クライアント端末に送信して、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、
前記情報処理装置とSSLハンドシェイクを行うことで、前記情報処理装置から前記情報処理装置の公開鍵証明書を取得して、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、
前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、
前記第2確立手段により前記第2のSSL通信を確立するべく前記情報処理装置とSSLハンドシェイクを行うことで、前記第2のSSL通信を確立する前に前記情報処理装置から取得した前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記第1確立手段により前記第1のSSL通信を確立するべく前記クライアント端末とSSLハンドシェイクを開始してから前記第1のSSL通信を確立する前に前記クライアント端末に送信する送信手段と、
を備えることを特徴とする中継処理装置。 A relay processing device that relays communication data communicated between a client terminal and an information processing device,
By performing an SSL handshake with the client terminal, the public key certificate of the relay processing device is transmitted to the client terminal, and is used in communication of the communication data between the relay processing device and the client terminal. First establishing means for establishing the SSL communication of
By performing an SSL handshake with the information processing apparatus, a public key certificate of the information processing apparatus is acquired from the information processing apparatus and used for communication of the communication data between the relay processing apparatus and the information processing apparatus Second establishing means for establishing a second SSL communication to be performed;
Communication establishment means for establishing control communication between the relay processing device and the client terminal separately from the first SSL communication;
Wherein by performing the information processing apparatus and the SSL handshake to establish the second SSL communication by the second establishing means, the information processing acquired from the information processing apparatus prior to establishing the second SSL communication After starting the SSL handshake with the client terminal to establish the first SSL communication by the first establishing means , using the control communication established by the communication establishing means, as the public key certificate of the device Transmitting means for transmitting to the client terminal before establishing the first SSL communication ;
A relay processing apparatus comprising:
前記クライアント端末から、前記情報処理装置の公開鍵証明書が表示された前記表示部を介して入力された、前記第1確立手段による前記第1のSSL通信、及び、前記第2確立手段による前記第2のSSL通信を確立するか否かを示す情報を受信する確立受信手段と、The first SSL communication by the first establishing means and the second establishing means input from the client terminal via the display unit on which the public key certificate of the information processing apparatus is displayed. Establishment receiving means for receiving information indicating whether to establish the second SSL communication;
前記確立受信手段による受信結果に従って、前記第1確立手段による前記第1のSSL通信、及び、前記第2確立手段による前記第2のSSL通信を確立するか否かを決定する決定手段と、Determining means for determining whether to establish the first SSL communication by the first establishing means and the second SSL communication by the second establishing means according to a reception result by the establishment receiving means;
を備えることを特徴とする請求項1に記載の中継処理装置。The relay processing apparatus according to claim 1, further comprising:
前記クライアント端末から前記情報処理装置への、前記第1のセッション識別情報を含むSSL通信の再開要求を受信する再開要求受信手段と、
前記再開要求受信手段で受信した、SSL通信の再開要求に含まれる前記第1のセッション識別情報が、前記代理通信記憶手段に記憶されているかを判定する判定手段と、
前記判定手段で、当該第1のセッション識別情報が前記代理通信記憶手段に記憶されていると判定された場合に、当該第1のセッション識別情報に関連付けて前記代理通信記憶手段に記憶されている前記第1の共通鍵を用いて前記クライアント端末と前記第1のSSL通信を再開し、かつ当該第1のセッション識別情報に関連付けて前記代理通信記憶手段に記憶さている、当該第2の共通鍵と、当該第2のセッション識別情報とを用いて前記情報処理装置と前記第2のSSL通信を再開する通信再開手段と、
を更に備えることを特徴とする請求項1又は2に記載の中継処理装置。 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. The second common key that resumes the first SSL communication with the client terminal using the first common key and is stored in the proxy communication storage means in association with the first session identification information Communication resumption means for resuming the information processing apparatus and the second SSL communication using the second session identification information;
Relay processing apparatus according to claim 1 or 2, further comprising a.
前記受信手段で前記クライアント端末からSSL通信の要求を受信したことを条件に、前記第1確立手段による第1のSSL通信の確立、及び前記第2確立手段による第2のSSL通信の確立を行うように制御する制御手段と、
を更に備えることを特徴とする請求項1乃至3の何れか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
Relay processing apparatus according to any one of claims 1 to 3, further comprising a.
前記クライアント端末から送信される前記通信データの中継先の情報処理装置を示す中継先情報に対して、前記通信データの中継を許可する通信方式として、前記中継手段で前記第3のSSL通信を用いて前記通信データの中継を行う直接通信方式か、前記第1確立手段により確立される第1のSSL通信、及び前記第2確立手段により確立される第2のSSL通信を用いて前記通信データの中継を行う代理通信方式かを示す通信方式情報が設定された通信方式設定情報を記憶する記憶手段と、
前記通信データを中継する中継先情報を前記クライアント端末から受け付ける受付手段と、
前記記憶手段に記憶された通信方式設定情報と、前記受付手段で受け付けた中継先情報とに従って、前記受付手段で受け付けた中継先情報に示される中継先の情報処理装置と前記クライアント端末との間での通信を許可する通信方式が直接通信方式であるか、代理通信方式であるかを決定する通信決定手段と、
を更に備え、
前記制御手段は、更に、前記通信決定手段で、前記情報処理装置と前記クライアント端末との間での通信を許可する通信方式として代理通信方式が決定されたことを条件に、前記第1確立手段による第1のSSL通信の確立、及び前記第2確立手段による第2のSSL通信の確立を行うように制御することを特徴とする請求項4に記載の中継処理装置。 Relay means for relaying communication data communicated between the client terminal and the information processing device using third SSL communication established between the client terminal and the information processing device;
As a communication method for permitting relaying of the communication data with respect to relay destination information indicating an information processing apparatus that is a relay destination of the communication data transmitted from the client terminal, the relay unit uses the third SSL communication. Using the direct communication method for relaying the communication data, the first SSL communication established by the first establishment means, and the second SSL communication established by the second establishment means. Storage means for storing communication method setting information in which communication method information indicating whether a proxy communication method for relaying is set;
Accepting means for accepting from the client terminal relay destination information for relaying the communication data;
According to the communication method setting information stored in the storage unit and the relay destination information received by the receiving unit, between the information processing apparatus of the relay destination indicated by the relay destination information received by the receiving unit and the client terminal Communication determining means for determining whether the communication method permitting communication in the direct communication method or the proxy communication method;
Further comprising
The control means further includes the first establishing means on the condition that the communication determining means determines a proxy communication method as a communication method permitting communication between the information processing apparatus and the client terminal. 5. The relay processing device according to claim 4 , wherein control is performed to establish the first SSL communication by the second SSL communication and to establish the second SSL communication by the second establishing unit.
前記受付手段は、前記中継先情報を受け付けたクライアント端末のクライアント情報を更に受け付け、
前記通信決定手段は、前記記憶手段に記憶されている通信方式設定情報と、前記受付手段で受け付けた中継先情報と、前記受付手段で受け付けたクライアント情報とに従って、前記受付手段で受け付けた中継先情報に示される中継先の情報処理装置と、前記受付手段で受け付けたクライアント情報により示されるクライアント端末との間での通信を許可す
る通信方式を決定することを特徴とする請求項5又は6に記載の中継処理装置。 In the communication method setting information stored in the storage means, client information indicating the client terminal is further set for the relay destination information.
The accepting means further accepts client information of the client terminal that accepted the relay destination information;
The communication determination unit is configured to receive the relay destination received by the receiving unit according to the communication method setting information stored in the storage unit, the relay destination information received by the receiving unit, and the client information received by the receiving unit. and relay destination information processing apparatus shown in information, in claim 5 or 6, characterized in that to determine the communication method to allow communication between the client terminal indicated by the client information accepted by the accepting means The relay processing apparatus described.
前記受付手段で受け付けた中継先情報に対する、前記記憶手段に記憶された通信方式設定情報の通信方式情報が前記指示情報である場合に、前記通信方式の指示を受け付けるための指示画面を前記クライアント端末に表示するための通信方式指示情報を前記クライアント端末に送信する通信方式送信手段と、
前記通信方式送信手段で送信された通信方式指示情報に従って表示される指示画面を介してクライアント端末の操作ユーザにより指示された通信方式を示す通信方式情報を、前記クライアント端末から受信する通信方式受信手段と、
を更に備え、
前記通信決定手段は、更に、前記通信方式受信手段で受信した通信方式情報に示される通信方式を、前記受付手段で受け付けた中継先情報に示される中継先の情報処理装置と前記クライアント端末との間で通信を行う通信方式として決定し、
前記制御手段は、更に、前記通信決定手段で、前記情報処理装置と前記クライアント端末との間で通信を行う通信方式として代理通信方式が決定されたことを条件に、前記第1確立手段による第1のSSL通信の確立、及び前記第2確立手段による第2のSSL通信の確立を行うように制御することを特徴とする請求項5乃至7の何れか1項に記載の中継処理装置。 The communication method information of the communication method setting information stored in the storage means further includes instruction information indicating that a communication method for performing the communication is determined according to an instruction from an operation user of the client terminal,
When the communication method information of the communication method setting information stored in the storage unit for the relay destination information received by the receiving unit is the instruction information, an instruction screen for receiving the communication method instruction is displayed on the client terminal. Communication method transmission means for transmitting communication method instruction information for display on the client terminal;
Communication method receiving means for receiving, from the client terminal, communication method information indicating a communication method instructed by a user operating the client terminal via an instruction screen displayed in accordance with the communication method instruction information transmitted by the communication method transmitting means. When,
Further comprising
The communication determination unit further includes a communication method indicated by the communication method information received by the communication method receiving unit between the information processing apparatus of the relay destination indicated by the relay destination information received by the receiving unit and the client terminal. Decided as the communication method to communicate between,
The control means is further configured so that the communication determining means determines the proxy communication method as a communication method for performing communication between the information processing apparatus and the client terminal, on the condition that the first establishing means determines the first communication means. 1 to establish a SSL communication, and relay processing apparatus according to any one of claims 5 to 7, wherein the controller controls to perform the establishment of the second SSL communication by the second establishing means.
前記受付手段は、前記中継先情報を受け付けたクライアント端末のクライアント情報を更に受け付け、
前記通信方式送信手段は、前記受付手段で受け付けた中継先情報、及びクライアント情報に対する、前記記憶手段に記憶された通信方式設定情報の通信方式情報が前記指示情報である場合に、前記通信方式を指示するための指示画面を前記クライアント端末に表示するための通信方式指示情報を前記クライアント端末に送信することを特徴とする請求項8に記載の中継処理装置。 In the communication method setting information stored in the storage means, client information indicating the client terminal is further set with respect to the relay destination information,
The accepting means further accepts client information of the client terminal that accepted the relay destination information;
The communication method transmitting means, when the communication method information of the communication method setting information stored in the storage means for the relay destination information and client information received by the receiving means is the instruction information, 9. The relay processing apparatus according to claim 8 , wherein communication method instruction information for displaying an instruction screen for instructing the client terminal is transmitted to the client terminal.
前記第1復号手段で前記第1の暗号化データを復号することにより得られる通信データを検査する第1検査手段と、
前記第1検査手段による検査結果に従って、前記第1検査手段で検査された通信データを前記代理中継手段により前記情報処理装置に中継するか否かを決定する第1決定手段と、
を更に備えることを特徴とする請求項10に記載の中継処理装置。 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 determination means for deciding whether to relay the communication data inspected by the first inspection means to the information processing apparatus by the proxy relay means according to the inspection result by the first inspection means;
The relay processing apparatus according to claim 10 , further comprising:
前記2復号手段で前記第2の暗号化データを復号することにより得られた通信データを検査する第2検査手段と、
前記第2検査手段による検査結果に従って、前記第2検査手段で検査された通信データを前記代理中継手段により前記クライアント端末に中継するか否かを決定する第2決定手段と、
を更に備えることを特徴とする請求項10又は11に記載の中継処理装置。 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 by the proxy relay means according to the inspection result by the second inspecting means;
The relay processing device according to claim 10 , further comprising:
前記証明書送信手段による前記中継処理装置の公開鍵証明書の送信に応答して、当該公開鍵証明書に含まれる公開鍵を用いて前記クライアント端末により暗号化された、共通鍵を生成するための情報を、前記クライアント端末から受信する共通鍵生成情報受信手段と、
前記共通鍵生成情報受信手段で受信した当該暗号化された情報を、前記証明書送信手段により送信した公開鍵証明書に含まれる公開鍵に対応する秘密鍵を用いて復号する共通鍵生成情報復号手段と、
前記共通鍵生成情報復号手段により復号された情報を用いて、前記クライアント端末との前記第1のSSL通信に用いる共通鍵を生成する共通鍵生成手段と、
を更に備えることを特徴とする請求項1乃至13の何れか1項に記載の中継処理装置。 Certificate sending means for sending the public key certificate of the relay processing device to the client terminal;
In response to the transmission of the public key certificate of the relay processing device by the certificate transmission unit, to generate a common key encrypted by the client terminal using the public key included in the public key certificate Symmetric key generation information receiving means for receiving the information from the client terminal,
Common key generation information decryption for decrypting the encrypted information received by the common key generation information receiving unit using a secret key corresponding to the public key included in the public key certificate transmitted by the certificate transmission unit Means,
Using the information decrypted by the common key generation information decryption means, a common key generation means for generating a common key used for the first SSL communication with the client terminal;
Relay processing apparatus according to any one of claims 1 to 1 3, characterized by further comprising a.
共通鍵を生成するための情報を生成する共通鍵生成情報生成手段と、
前記共通鍵生成情報生成手段により生成された情報を用いて、前記情報処理装置との前記第2のSSL通信に用いる共通鍵を生成する共通鍵生成手段と、
前記共通鍵生成情報生成手段により生成された情報を、前記証明書取得手段により取得された当該公開鍵証明書に含まれる公開鍵を用いて暗号化する共通鍵生成情報暗号化手段と、
前記共通鍵生成情報暗号化手段により暗号化された情報を前記情報処理装置に送信する共通鍵生成情報送信手段と、
を更に備えることを特徴とする請求項1乃至14の何れか1項に記載の中継処理装置。 Certificate acquisition means for acquiring a public key certificate of the information processing apparatus from the information processing apparatus;
A common key generation information generation means for generating information for generating a common key;
Using the information generated by the common key generation information generation means, a common key generation means for generating a common key used for the second SSL communication with the information processing apparatus;
A common key generation information encryption unit that encrypts the information generated by the common key generation information generation unit using a public key included in the public key certificate acquired by the certificate acquisition unit;
Common key generation information transmitting means for transmitting the information encrypted by the common key generation information encryption means to the information processing apparatus;
Relay processing apparatus according to any one of claims 1 to 1 4 and further comprising a.
前記中継処理装置の第1確立手段が、前記クライアント端末とSSLハンドシェイクを行うことで、前記中継処理装置の公開鍵証明書を前記クライアント端末に送信して、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立工程と、
前記中継処理装置の前記第2確立手段が、前記情報処理装置とSSLハンドシェイクを行うことで、前記情報処理装置から前記情報処理装置の公開鍵証明書を取得して、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立工程と、
前記中継処理装置の通信確立手段が、前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立工程と、
前記中継処理装置の送信手段が、前記第2確立工程により前記第2のSSL通信を確立するべく前記情報処理装置とSSLハンドシェイクを行うことで、前記第2のSSL通信を確立する前に前記情報処理装置から取得した前記情報処理装置の公開鍵証明書を、前記通信確立工程により確立された制御通信を用いて、前記第1確立工程により前記第1のSSL通信を確立するべく前記クライアント端末とSSLハンドシェイクを開始してから前記第1のSSL通信を確立する前に前記クライアント端末に送信する送信手段と、
を備えることを特徴とする中継処理装置の中継処理方法。 A relay processing method of a relay processing device that relays communication data communicated between a client terminal and an information processing device,
The first establishment means of the relay processing device performs an SSL handshake with the client terminal, thereby transmitting the public key certificate of the relay processing device to the client terminal, and the relay processing device, the client terminal, A first establishing step of establishing a first SSL communication used in communication of the communication data of
The second establishing means of the relay processing device performs an SSL handshake with the information processing device to obtain a public key certificate of the information processing device from the information processing device, and the relay processing device and the A second establishment step of establishing second SSL communication used in communication of the communication data with the information processing device;
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 performs an SSL handshake with the information processing device to establish the second SSL communication in the second establishing step, thereby establishing the second SSL communication before the second SSL communication is established. The client terminal to establish the first SSL communication by the first establishment step using the public key certificate of the information processing device obtained from the information processing device, using the control communication established by the communication establishment step. And transmitting means for transmitting to the client terminal before establishing the first SSL communication after starting the SSL handshake ;
A relay processing method for a relay processing apparatus, comprising:
前記中継処理装置を、
前記クライアント端末とSSLハンドシェイクを行うことで、前記中継処理装置の公開鍵証明書を前記クライアント端末に送信して、前記中継処理装置と前記クライアント端末との前記通信データの通信で用いられる第1のSSL通信を確立する第1確立手段と、
前記情報処理装置とSSLハンドシェイクを行うことで、前記情報処理装置から前記情報処理装置の公開鍵証明書を取得して、前記中継処理装置と前記情報処理装置との前記通信データの通信で用いられる第2のSSL通信を確立する第2確立手段と、
前記中継処理装置と前記クライアント端末との制御通信を、前記第1のSSL通信とは別に確立する通信確立手段と、
前記第2確立手段により前記第2のSSL通信を確立するべく前記情報処理装置とSSLハンドシェイクを行うことで、前記第2のSSL通信を確立する前に前記情報処理装置から取得した前記情報処理装置の公開鍵証明書を、前記通信確立手段により確立された制御通信を用いて、前記第1確立手段により前記第1のSSL通信を確立するべく前記クライアント端末とSSLハンドシェイクを開始してから前記第1の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;
By performing an SSL handshake with the client terminal, the public key certificate of the relay processing device is transmitted to the client terminal, and is used in communication of the communication data between the relay processing device and the client terminal. First establishing means for establishing the SSL communication of
By performing an SSL handshake with the information processing apparatus, a public key certificate of the information processing apparatus is acquired from the information processing apparatus and used for communication of the communication data between the relay processing apparatus and the information processing apparatus Second establishing means for establishing a second SSL communication to be performed;
Communication establishment means for establishing control communication between the relay processing device and the client terminal separately from the first SSL communication;
Wherein by performing the information processing apparatus and the SSL handshake to establish the second SSL communication by the second establishing means, the information processing acquired from the information processing apparatus prior to establishing the second SSL communication After starting the SSL handshake with the client terminal to establish the first SSL communication by the first establishing means , using the control communication established by the communication establishing means, as the public key certificate of the device A program that functions as a transmission unit that transmits to the client terminal before establishing the first SSL communication .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011223910A JP5704044B2 (en) | 2009-12-25 | 2011-10-11 | Relay processing device, relay processing method and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009296424 | 2009-12-25 | ||
JP2009296424 | 2009-12-25 | ||
JP2011223910A JP5704044B2 (en) | 2009-12-25 | 2011-10-11 | Relay processing device, relay processing method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010256742A Division JP4879347B2 (en) | 2009-12-25 | 2010-11-17 | Relay processing device, relay processing method and program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012044694A JP2012044694A (en) | 2012-03-01 |
JP2012044694A5 JP2012044694A5 (en) | 2014-03-20 |
JP5704044B2 true JP5704044B2 (en) | 2015-04-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 Before (2)
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 |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP4879347B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210367788A1 (en) * | 2018-06-27 | 2021-11-25 | Soosan Int Co., Ltd. | Digital re-signing method for supporting various digital signature algorithms in secure sockets layer decryption apparatus |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2936861B1 (en) * | 2012-12-20 | 2021-07-21 | 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 |
WO2016053980A1 (en) * | 2014-09-29 | 2016-04-07 | 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 |
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)
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 |
EP1816811B1 (en) * | 2004-11-29 | 2013-05-22 | International Business Machines Corporation | Relay device, relay method, and program |
CN101112041A (en) * | 2005-02-28 | 2008-01-23 | 日本电气株式会社 | Communication system, communication apparatus, communication method, and program |
CN101129035A (en) * | 2005-02-28 | 2008-02-20 | 日本电气株式会社 | Communication device, communication system, 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 |
JP5039146B2 (en) * | 2007-11-07 | 2012-10-03 | 日本電信電話株式会社 | 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 |
-
2010
- 2010-11-17 JP JP2010256742A patent/JP4879347B2/en active Active
-
2011
- 2011-07-08 JP JP2011152227A patent/JP5626148B2/en active Active
- 2011-10-11 JP JP2011223910A patent/JP5704044B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210367788A1 (en) * | 2018-06-27 | 2021-11-25 | Soosan Int Co., Ltd. | Digital re-signing method for supporting various digital signature algorithms in secure sockets layer decryption apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2012044694A (en) | 2012-03-01 |
JP2011237822A (en) | 2011-11-24 |
JP2011151785A (en) | 2011-08-04 |
JP5626148B2 (en) | 2014-11-19 |
JP4879347B2 (en) | 2012-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5704044B2 (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 | |
US8788811B2 (en) | Server-side key generation for non-token clients | |
US9197420B2 (en) | Using information in a digital certificate to authenticate a network of a wireless access point | |
US10397008B2 (en) | Management of secret data items used for server authentication | |
US20190238334A1 (en) | Communication system, communication client, communication server, communication method, and program | |
EP2180633A1 (en) | Client device, server device, and program | |
US20120284506A1 (en) | Methods and apparatus for preventing crimeware attacks | |
US20060212928A1 (en) | Method and apparatus to secure AAA protocol messages | |
CN108243176B (en) | Data transmission method and device | |
JP5006817B2 (en) | Authentication information generation system, authentication information generation method, client device, and program | |
KR101744747B1 (en) | Mobile terminal, terminal and method for authentication using security cookie | |
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 | |
US11418329B1 (en) | Shared secret implementation of proxied cryptographic keys | |
CN102118386B (en) | Relay device and relay processing method | |
KR102211033B1 (en) | Agency service system for accredited certification procedures | |
JP4998314B2 (en) | Communication control method and communication control program | |
US20090254756A1 (en) | Data communication method | |
CN111935164B (en) | Https interface request method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120130 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120130 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130531 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130531 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
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: 20150127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5704044 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
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 |