JP2016213793A - Communication device and program - Google Patents

Communication device and program Download PDF

Info

Publication number
JP2016213793A
JP2016213793A JP2015098463A JP2015098463A JP2016213793A JP 2016213793 A JP2016213793 A JP 2016213793A JP 2015098463 A JP2015098463 A JP 2015098463A JP 2015098463 A JP2015098463 A JP 2015098463A JP 2016213793 A JP2016213793 A JP 2016213793A
Authority
JP
Japan
Prior art keywords
unit
communication
data
certificate
web application
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.)
Granted
Application number
JP2015098463A
Other languages
Japanese (ja)
Other versions
JP6529820B2 (en
Inventor
和幸 水田
Kazuyuki Mizuta
和幸 水田
政芳 岡野
Masayoshi Okano
政芳 岡野
雄亮 伊藤
Takesuke Ito
雄亮 伊藤
壮 渡辺
So Watanabe
壮 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTER COM KK
Original Assignee
INTER COM KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INTER COM KK filed Critical INTER COM KK
Priority to JP2015098463A priority Critical patent/JP6529820B2/en
Publication of JP2016213793A publication Critical patent/JP2016213793A/en
Application granted granted Critical
Publication of JP6529820B2 publication Critical patent/JP6529820B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To perform a process corresponding to the contents of data exchanged by encryption communication.SOLUTION: When a server certificate in a response to a request transferred by a request transfer unit 121 arrives, an alternative certificate providing unit 122 generates an alternative certificate substituting for the server certificate, and provides a web application unit 110 with it. A data transfer unit 125 performs a data transfer process of decrypting data received from one of the web application unit 110 and a web server 20, encrypting data after the decryption, and transferring data after the encryption to the other. A monitoring module unit 130 performs, as a process using the data after the decryption in the data transfer process by the data transfer unit 125, a process of recording the data after the decryption and a process of stopping communication of the data if the data after the decryption satisfies a condition.SELECTED DRAWING: Figure 5

Description

本発明は、暗号化通信に関する。   The present invention relates to encrypted communication.

暗号化通信の技術として、例えば、特許文献1には、HTTPS通信においてURLフィルタリングを行う技術が開示されている。   As a technique for encrypted communication, for example, Patent Document 1 discloses a technique for performing URL filtering in HTTPS communication.

WO2009/054047号公報WO2009 / 054047

例えば企業で使用される社員用のパーソナルコンピュータにおいては、望ましくない通信先との通信が制限されることがある。特許文献1の技術を用いれば、暗号化通信においても、通信先に応じた通信の制限が可能である。しかし、特許文献1の技術では、暗号化されたデータの内容に応じた通信の制限まではできない。また、近年のコンプライアンス遵守の要望の高まりにより、通信の記録を残す取り組みも多く見られるが、暗号化通信の場合、どのような内容のデータがやり取りされたかということまでは記録を残すことが難しい。
そこで、本発明は、暗号化通信でやり取りされるデータの内容に応じた処理を行うことを目的とする。
For example, in an employee's personal computer used in a company, communication with an undesired communication destination may be restricted. If the technique of patent document 1 is used, the restriction | limiting of the communication according to a communication destination is possible also in encryption communication. However, the technique of Patent Document 1 cannot limit communication according to the content of encrypted data. In addition, there are many efforts to leave a record of communications due to the increasing demand for compliance, but it is difficult to keep a record of what data has been exchanged in the case of encrypted communications. .
Therefore, an object of the present invention is to perform processing according to the contents of data exchanged by encrypted communication.

上記目的を達成するために、本発明は、ウェブサーバと第1の暗号化通信を行う第1通信部と、前記ウェブサーバにより処理されるデータを送信するウェブアプリ部と、前記ウェブアプリ部と第2の暗号化通信を行う第2通信部と、前記ウェブアプリ部から送信されてきて前記第2通信部により復号化されたデータを前記第1通信部に転送する転送部と、前記復号化されたデータを用いた処理を行う処理部とを備える通信装置を提供する。   To achieve the above object, the present invention provides a first communication unit that performs first encrypted communication with a web server, a web application unit that transmits data processed by the web server, and the web application unit. A second communication unit that performs second encrypted communication; a transfer unit that transfers data transmitted from the web application unit and decrypted by the second communication unit to the first communication unit; and the decryption And a processing unit that performs processing using the processed data.

また、前記ウェブサーバは、前記ウェブアプリ部により処理されるデータを送信し、
前記転送部は、前記ウェブサーバから送信されてきて前記第1通信部により復号化されたデータを前記第2通信部に転送してもよい。
さらに、前記処理部は、前記復号化されたデータを記録する処理又は当該データが条件を満たす場合に当該データの通信を中止させる処理又は当該データの内容を差し替える処理を前記処理として行ってもよい。
Further, the web server transmits data processed by the web application unit,
The transfer unit may transfer data transmitted from the web server and decrypted by the first communication unit to the second communication unit.
Further, the processing unit may perform a process of recording the decrypted data, a process of stopping communication of the data when the data satisfies a condition, or a process of replacing the content of the data as the process. .

また、前記第1通信部は、前記ウェブアプリ部からの要求に応答して前記ウェブサーバから送信されてくるサーバ証明書に含まれる公開鍵又は当該公開鍵を用いて前記ウェブアプリ部と交換した共通鍵を用いて前記第1の暗号化通信を行ってもよい。
さらに、認証局により発行され且つ公開鍵を含む証明書を前記ウェブアプリ部に提供する証明書提供部を備え、前記ウェブアプリ部には、前記認証局の署名を有するルート証明書が登録されており、前記第2通信部は、前記公開鍵に対応する秘密鍵又は当該秘密鍵を用いて前記ウェブアプリ部と交換した共通鍵を用いて前記第2の暗号化通信を行ってもよい。
The first communication unit exchanges with the web application unit using a public key included in a server certificate transmitted from the web server in response to a request from the web application unit or the public key. The first encrypted communication may be performed using a common key.
And a certificate providing unit that provides the web application unit with a certificate issued by a certificate authority and including a public key. In the web application unit, a root certificate having a signature of the certificate authority is registered. The second communication unit may perform the second encrypted communication using a secret key corresponding to the public key or a common key exchanged with the web application unit using the secret key.

また、前記証明書提供部は、自身を前記認証局として、前記ウェブアプリ部に提供する証明書を発行してもよい。
さらに、前記ウェブアプリ部には、複数の前記ルート証明書が登録されており、前記証明書提供部は、前記複数のルート証明書の中から、前記ウェブサーバの種類、前記ウェブアプリ部を実現するウェブアプリケーションプログラムの種類又は前記ウェブアプリ部が送信するデータの通信に用いられる通信プロトコルの種類に応じたルート証明書を選択し、選択したルート証明書により証明される署名がされた前記証明書を前記ウェブアプリ部に提供してもよい。
In addition, the certificate providing unit may issue a certificate to be provided to the web application unit with itself as the certificate authority.
Further, a plurality of the root certificates are registered in the web application unit, and the certificate providing unit realizes the type of the web server and the web application unit from the plurality of root certificates. The certificate that has been signed by the selected root certificate is selected according to the type of web application program to be executed or the type of communication protocol used for communication of data transmitted by the web application unit. May be provided to the web application unit.

また、前記ウェブアプリ部から前記ウェブサーバに向けて送信されたデータを受け取り、前記第1通信部、前記第2通信部及び前記転送部を経由する第1通信路と、当該各部を経由しない第2通信路のいずれかに当該データの経路を振り分ける振分部を備えていてもよい。
さらに、前記振分部は、前記ウェブサーバの種類、前記ウェブアプリ部を実現するウェブアプリケーションプログラムの種類又は前記ウェブアプリ部が送信するデータの通信に用いられる通信プロトコルの種類に応じて当該データの経路を振り分けてもよい。
The first communication path that receives data transmitted from the web application unit to the web server and passes through the first communication unit, the second communication unit, and the transfer unit, and the first communication path that does not pass through the respective units. You may provide the distribution part which distributes the path | route of the said data to either of 2 communication paths.
Further, the allocating unit determines the data according to the type of the web server, the type of the web application program that realizes the web application unit, or the type of communication protocol used for communication of data transmitted by the web application unit. The route may be distributed.

また、本発明は、ウェブサーバにより処理されるデータを送信するウェブアプリ部を備える通信装置を制御するコンピュータを、前記ウェブサーバと第1の暗号化通信を行う第1通信部と、前記ウェブアプリ部と第2の暗号化通信を行う第2通信部と、前記ウェブサーバから送信されてきて前記第1通信部により復号化されたデータを前記第2通信部に転送する転送部と、前記復号化されたデータを用いた処理を行う処理部として機能させるためのプログラムを提供する。   In addition, the present invention provides a computer that controls a communication device including a web application unit that transmits data processed by a web server, a first communication unit that performs first encrypted communication with the web server, and the web application. A second communication unit that performs second encrypted communication with the communication unit, a transfer unit that transfers data transmitted from the web server and decrypted by the first communication unit to the second communication unit, and the decryption A program for functioning as a processing unit that performs processing using digitized data is provided.

本発明によれば、暗号化通信でやり取りされるデータの内容に応じた処理を行うことができる。   According to the present invention, it is possible to perform processing according to the contents of data exchanged by encrypted communication.

第1実施例に係る通信監視システムの全体構成の一例を表す図The figure showing an example of the whole structure of the communication monitoring system which concerns on 1st Example ユーザ装置のハードウェア構成を表す図The figure showing the hardware constitutions of a user apparatus ウェブサーバのハードウェア構成を表す図Diagram showing the hardware configuration of the web server 監視サーバのハードウェア構成を表す図Diagram showing the hardware configuration of the monitoring server 各装置が実現する機能構成を表す図Diagram showing functional configuration realized by each device 通信監視処理における動作手順の一例を表す図The figure showing an example of the operation procedure in communication monitoring processing 第2実施例に係る通信監視システムの全体構成の一例を表す図The figure showing an example of the whole structure of the communication monitoring system which concerns on 2nd Example 各装置が実現する機能構成を表す図Diagram showing functional configuration realized by each device 有効期間テーブルの一例を表す図A figure showing an example of an effective period table

[1]第1実施例
図1は第1実施例に係る通信監視システム1の全体構成の一例を表す。通信監視システム1は、ユーザ装置が行う通信を監視するためのシステムである。通信監視システム1は、イントラネット2と、インターネット3と、ユーザ装置10と、ウェブサーバ20と、監視サーバ30とを備える。
[1] First Embodiment FIG. 1 shows an example of the overall configuration of a communication monitoring system 1 according to a first embodiment. The communication monitoring system 1 is a system for monitoring communication performed by a user device. The communication monitoring system 1 includes an intranet 2, the Internet 3, a user device 10, a web server 20, and a monitoring server 30.

ユーザ装置10は、例えばパーソナルコンピュータやノートパソコン等の情報処理装置であり、ユーザ(企業の社員など)によって利用される。ユーザ装置10は、イントラネット2に接続されている。イントラネット2は例えば社内LAN(Local Area Network)であり、インターネット3に接続されている。ユーザ装置10は、イントラネット2及びインターネット3の両方又は一方を介してウェブサーバ20及び監視サーバ30と通信を行う通信装置でもある。なお、ユーザ装置10は、例えば出張先でイントラネット2に接続するため、インターネット3を介してイントラネット2に接続できるようになっていてもよい。また、図1ではユーザ装置10が有線でイントラネット2と接続されているが、無線で接続されていてもよい。   The user device 10 is an information processing device such as a personal computer or a notebook computer, and is used by a user (company employee or the like). The user device 10 is connected to the intranet 2. The intranet 2 is an in-house LAN (Local Area Network), for example, and is connected to the Internet 3. The user device 10 is also a communication device that communicates with the web server 20 and the monitoring server 30 via both or one of the intranet 2 and the Internet 3. Note that the user device 10 may be connected to the intranet 2 via the Internet 3 in order to connect to the intranet 2 at a business trip destination, for example. In FIG. 1, the user apparatus 10 is connected to the intranet 2 by wire, but may be connected wirelessly.

ウェブサーバ20は、ウェブページ等の各種のコンテンツのデータを記憶しており、ユーザ装置10から要求されるとそれらのデータを要求元のユーザ装置10に送信する。なお、図1ではウェブサーバ20はインターネット3に接続されているが、イントラネット2に接続されていてもよい。監視サーバ30は、イントラネット2に接続され、ユーザ装置10が行う通信を監視する。   The web server 20 stores data of various contents such as web pages, and when requested by the user device 10, transmits the data to the requesting user device 10. In FIG. 1, the web server 20 is connected to the Internet 3, but may be connected to the intranet 2. The monitoring server 30 is connected to the intranet 2 and monitors communication performed by the user device 10.

図2はユーザ装置10のハードウェア構成を表す。ユーザ装置10は、制御部11と、記憶部12と、通信部13と、表示部14と、操作部15とを備えるコンピュータである。制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及びリアルタイムクロックを備え、CPUが、RAMをワークエリアとして用いてROMや記憶部12に記憶されたプログラムを実行することによって各部の動作を制御する。リアルタイムクロックは、現在の日時を算出してCPUに通知する。   FIG. 2 shows a hardware configuration of the user device 10. The user device 10 is a computer that includes a control unit 11, a storage unit 12, a communication unit 13, a display unit 14, and an operation unit 15. The control unit 11 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and a real time clock. The CPU is stored in the ROM or the storage unit 12 using the RAM as a work area. The operation of each part is controlled by executing a program. The real time clock calculates the current date and time and notifies the CPU.

記憶部12は、HDD(Hard disk drive)等を備え、制御部11が制御に用いるデータやプログラムなどを記憶している。記憶部12は、ブラウザやグループウェア、業務用アプリケーションなどの各種のウェブアプリケーションプログラム(以下「ウェブアプリ」という)を記憶している。ウェブアプリは、ウェブサーバ20とのWWW(World Wide Web)の技術を用いた通信を伴う機能(ウェブページの表示や掲示板への投稿、ワークフローシステムにおける稟議の手続きなど)を実現する。また、記憶部12は、後述するローカルプロキシ部120を実現するプロキシプログラムと、監視モジュール部130を実現する監視プログラムとを記憶している。   The storage unit 12 includes an HDD (Hard disk drive) and the like, and stores data and programs used by the control unit 11 for control. The storage unit 12 stores various web application programs (hereinafter referred to as “web applications”) such as browsers, groupware, and business applications. The web application implements a function (communication procedure in the workflow system, display of a web page, posting on a bulletin board, etc.) that involves communication with the web server 20 using WWW (World Wide Web) technology. In addition, the storage unit 12 stores a proxy program that implements the local proxy unit 120 described later and a monitoring program that implements the monitoring module unit 130.

通信部13は、イントラネット2及びインターネット3を介した通信を行うための通信回路を備え、例えばウェブサーバ20と通信を行う。表示部14は、液晶ディスプレイ等を有し、制御部11からの制御に基づいて画像を表示する。操作部15は、キーボード等を有し、ユーザの操作を受け付ける。   The communication unit 13 includes a communication circuit for performing communication via the intranet 2 and the Internet 3 and communicates with, for example, the web server 20. The display unit 14 includes a liquid crystal display and the like, and displays an image based on control from the control unit 11. The operation unit 15 includes a keyboard or the like and receives user operations.

図3はウェブサーバ20のハードウェア構成を表す。ウェブサーバ20は、制御部21と、記憶部22と、通信部23とを備えるコンピュータである。制御部21、記憶部22及び通信部23は、図2に表された制御部11、記憶部12及び通信部13と同種のハードウェアである。
図4は監視サーバ30のハードウェア構成を表す。監視サーバ30は、制御部31と、記憶部32と、通信部33とを備えるコンピュータである。制御部31、記憶部32及び通信部33は、図2に表された制御部11、記憶部12及び通信部13と同種のハードウェアである。
FIG. 3 shows a hardware configuration of the web server 20. The web server 20 is a computer that includes a control unit 21, a storage unit 22, and a communication unit 23. The control unit 21, the storage unit 22, and the communication unit 23 are the same type of hardware as the control unit 11, the storage unit 12, and the communication unit 13 illustrated in FIG.
FIG. 4 shows the hardware configuration of the monitoring server 30. The monitoring server 30 is a computer that includes a control unit 31, a storage unit 32, and a communication unit 33. The control unit 31, the storage unit 32, and the communication unit 33 are the same type of hardware as the control unit 11, the storage unit 12, and the communication unit 13 illustrated in FIG.

ユーザ装置10及び監視サーバ30の各制御部が自装置の記憶部に記憶されているプログラムを実行して自装置の各部を制御することで、以下に述べる機能が実現される。
図5は各装置が実現する機能構成を表す。ユーザ装置10は、ウェブアプリ部110(ウェブアプリにより実現)と、ローカルプロキシ部120(プロキシプログラムにより実現)と、監視モジュール部130(監視プログラムにより実現)とを備える。ウェブサーバ20は、サーバ証明書送信部201と、暗号化データ送受信部203とを備え、監視サーバ30は、記録部301を備える。
Each control unit of the user device 10 and the monitoring server 30 executes a program stored in the storage unit of the own device to control each unit of the own device, thereby realizing the functions described below.
FIG. 5 shows a functional configuration realized by each device. The user device 10 includes a web application unit 110 (realized by a web application), a local proxy unit 120 (realized by a proxy program), and a monitoring module unit 130 (realized by a monitoring program). The web server 20 includes a server certificate transmission unit 201 and an encrypted data transmission / reception unit 203, and the monitoring server 30 includes a recording unit 301.

ユーザ装置10のウェブアプリ部110は、上述したウェブアプリによって実現されるWWWの技術を用いた通信を伴う機能であり、ウェブサーバ20と通信を行う通信部である。ウェブアプリ部110は、ウェブサーバ20により処理されるデータを送信する。一方、ウェブサーバ20は、ウェブアプリ部110により処理されるデータを送信する。本実施例では、ウェブアプリ部110及びウェブサーバ20は、HTTPS(Hypertext Transfer Protocol Secure)のプロトコルに準拠した暗号化通信を行う。ローカルプロキシ部120は、ウェブアプリ部110とウェブサーバ20との通信を中継する中継部である。監視モジュール部130は、ウェブアプリ部110とウェブサーバ20との通信を監視する監視部である。   The web application unit 110 of the user device 10 is a function that involves communication using the WWW technology realized by the above-described web application, and is a communication unit that communicates with the web server 20. The web application unit 110 transmits data to be processed by the web server 20. On the other hand, the web server 20 transmits data to be processed by the web application unit 110. In the present embodiment, the web application unit 110 and the web server 20 perform encrypted communication based on the HTTPS (Hypertext Transfer Protocol Secure) protocol. The local proxy unit 120 is a relay unit that relays communication between the web application unit 110 and the web server 20. The monitoring module unit 130 is a monitoring unit that monitors communication between the web application unit 110 and the web server 20.

ウェブアプリ部110は、サーバ証明書要求部111と、セッション確立部112と、暗号化データ送受信部113と、データ処理部114とを備える。ローカルプロキシ部120は、要求転送部121と、代替証明書提供部122と、セッション確立部123と、セッション確立部124と、データ転送部125とを備える。データ転送部125は、第1通信部251と、第2通信部252と、転送部253とを備える。   The web application unit 110 includes a server certificate request unit 111, a session establishment unit 112, an encrypted data transmission / reception unit 113, and a data processing unit 114. The local proxy unit 120 includes a request transfer unit 121, an alternative certificate providing unit 122, a session establishment unit 123, a session establishment unit 124, and a data transfer unit 125. The data transfer unit 125 includes a first communication unit 251, a second communication unit 252, and a transfer unit 253.

サーバ証明書要求部111は、サーバ証明書をウェブサーバ20に要求する。例えばユーザによってウェブサーバ20のURL(Uniform Resource Locator)を入力し又は選択する操作が行われると、サーバ証明書要求部111は、そのURLを送信先としてサーバ証明書を要求する要求データを送信する。送信された要求データは要求転送部121に供給される。要求転送部121は、ウェブアプリ部110からのサーバ証明書の要求をウェブサーバ20に転送する。要求転送部121は、サーバ証明書要求部111から供給された要求データを、その送信先であるURLに向けて転送する。転送された要求データはウェブサーバ20のサーバ証明書送信部201に供給される。   The server certificate request unit 111 requests the web server 20 for a server certificate. For example, when an operation of inputting or selecting a URL (Uniform Resource Locator) of the web server 20 is performed by the user, the server certificate request unit 111 transmits request data for requesting a server certificate with the URL as a transmission destination. . The transmitted request data is supplied to the request transfer unit 121. The request transfer unit 121 transfers the request for the server certificate from the web application unit 110 to the web server 20. The request transfer unit 121 transfers the request data supplied from the server certificate request unit 111 toward the URL that is the transmission destination. The transferred request data is supplied to the server certificate transmission unit 201 of the web server 20.

サーバ証明書送信部201は、要求されたサーバ証明書を要求元のユーザ装置10に送信する。このサーバ証明書は、ユーザ装置10にインストールされてウェブアプリ部110に登録された証明書を発行した認証局(ルート認証局又は中間認証局)によって発行されたものである。以下ではこの認証局を「第1の認証局」といい、この証明書を「第1の証明書」という。このサーバ証明書には公開鍵が含まれており、ウェブサーバ20は、第1の認証局から提供された、その公開鍵に対応する秘密鍵を保有している。   The server certificate transmission unit 201 transmits the requested server certificate to the requesting user apparatus 10. This server certificate is issued by a certificate authority (root certificate authority or intermediate certificate authority) that has issued a certificate installed in the user device 10 and registered in the web application unit 110. Hereinafter, this certificate authority is referred to as a “first certificate authority”, and this certificate is referred to as a “first certificate”. The server certificate includes a public key, and the web server 20 has a private key corresponding to the public key provided by the first certificate authority.

秘密鍵に対応する公開鍵とは、公開鍵で暗号化したデータは秘密鍵で復号化することができ、秘密鍵で暗号化したデータを公開鍵で復号化することができるということである。以下ではウェブサーバ20が保有する秘密鍵を「第1秘密鍵」といい、サーバ証明書に含まれる公開鍵を「第1公開鍵」という。ユーザ装置10に送信されたサーバ証明書は、ローカルプロキシ部120の代替証明書提供部122及びセッション確立部123に供給される。   The public key corresponding to the secret key means that data encrypted with the public key can be decrypted with the secret key, and data encrypted with the secret key can be decrypted with the public key. Hereinafter, the private key held by the web server 20 is referred to as a “first secret key”, and the public key included in the server certificate is referred to as a “first public key”. The server certificate transmitted to the user device 10 is supplied to the alternative certificate providing unit 122 and the session establishing unit 123 of the local proxy unit 120.

代替証明書提供部122は、認証局により発行され且つ公開鍵を含む証明書として、サーバ証明書を代替する代替証明書をウェブアプリ部110に提供する。代替証明書提供部122は本発明の「証明書提供部」の一例である。以下ではこの認証局を「第2の認証局」といい、公開鍵を「第2の公開鍵」という。ルート証明書はウェブサーバ毎に設定されるので、第1の認証局は第2の認証局とは異なっていてもよいし、同じであってもよい。ウェブアプリ部110には、第2の認証局の署名を有するルート証明書が登録されている。以下ではこのルート証明書を「第2の証明書」という。第2の認証局は本発明の「認証局」の一例であり、第2の証明書は本発明の「ルート証明書」の一例である。また、ローカルプロキシ部120は、この第2の公開鍵に対応する秘密鍵を保有している。以下ではこの秘密鍵を「第2の秘密鍵」という。   The alternative certificate providing unit 122 provides the web application unit 110 with an alternative certificate that replaces the server certificate as a certificate issued by the certificate authority and including the public key. The alternative certificate providing unit 122 is an example of the “certificate providing unit” in the present invention. Hereinafter, this certificate authority is referred to as a “second certificate authority” and the public key is referred to as a “second public key”. Since the root certificate is set for each web server, the first certificate authority may be different from or the same as the second certificate authority. In the web application unit 110, a root certificate having a signature of the second certificate authority is registered. Hereinafter, this root certificate is referred to as a “second certificate”. The second certificate authority is an example of the “certificate authority” in the present invention, and the second certificate is an example of the “root certificate” in the present invention. In addition, the local proxy unit 120 has a secret key corresponding to the second public key. Hereinafter, this secret key is referred to as a “second secret key”.

本実施例では、代替証明書提供部122は、自身を第2の認証局として、ウェブアプリ部110に提供する証明書を発行する。証明書の発行は、有効期限や公開鍵、コモンネームなどを含む証明書の情報に、その情報のハッシュ値を秘密鍵で暗号化した署名を付すことで行われる。代替証明書提供部122は、ウェブサーバ20のURLをコモンネームとし、ローカルプロキシ部120で保有している第2の秘密鍵で署名した署名書を代替証明書として発行する。代替証明書提供部122は、要求転送部121により転送された要求に対する応答でサーバ証明書が送信されてくると、このサーバ証明書を代替する代替証明書を発行してウェブアプリ部110に提供する。   In this embodiment, the alternative certificate providing unit 122 issues a certificate to be provided to the web application unit 110 by using itself as the second certificate authority. The certificate is issued by attaching a signature obtained by encrypting a hash value of the information with a secret key to the information of the certificate including an expiration date, a public key, a common name, and the like. The alternative certificate providing unit 122 uses the URL of the web server 20 as a common name and issues a signature signed with the second private key held by the local proxy unit 120 as an alternative certificate. When the server certificate is transmitted in response to the request transferred by the request transfer unit 121, the alternative certificate providing unit 122 issues an alternative certificate that replaces the server certificate and provides it to the web application unit 110. To do.

ローカルプロキシ部120のセッション確立部123は、ウェブサーバ20のセッション確立部202とデータをやり取りして、ウェブサーバ20との暗号化データ通信(SSL(Secure Sockets Layer)通信)のセッションを確立する。セッション確立部123は、共通鍵を生成する。以下ではセッション確立部123が生成した共通鍵を「第1共通鍵」という。セッション確立部123は、生成した第1共通鍵を、第1公開鍵、すなわちウェブサーバ20から送信されてきたサーバ証明書に含まれている公開鍵で暗号化してウェブサーバ20に送信する。   The session establishing unit 123 of the local proxy unit 120 exchanges data with the session establishing unit 202 of the web server 20 to establish an encrypted data communication (SSL (Secure Sockets Layer) communication) session with the web server 20. The session establishment unit 123 generates a common key. Hereinafter, the common key generated by the session establishing unit 123 is referred to as a “first common key”. The session establishing unit 123 encrypts the generated first common key with the first public key, that is, the public key included in the server certificate transmitted from the web server 20, and transmits it to the web server 20.

セッション確立部202は送信されてきた第1共通鍵を、自装置(ウェブサーバ20)が保有する第1秘密鍵を用いて復号化する。このようにして、セッション確立部123は、サーバ証明書に含まれる第1公開鍵を用いてセッション確立部202と第1共通鍵を交換する。セッション確立部202はこうして提供された第1共通鍵を暗号化データ送受信部203に供給する。一方、セッション確立部123は、生成した第1共通鍵を第1通信部251に提供する。   The session establishing unit 202 decrypts the transmitted first common key using the first secret key held by the own device (web server 20). In this way, the session establishment unit 123 exchanges the first common key with the session establishment unit 202 using the first public key included in the server certificate. The session establishment unit 202 supplies the first common key thus provided to the encrypted data transmission / reception unit 203. On the other hand, the session establishment unit 123 provides the generated first common key to the first communication unit 251.

暗号化データ送受信部203は、供給された第1共通鍵でデータを暗号化して送信し、その第1共通鍵で暗号化されたデータを受信すると、同じくその第1共通鍵で復号化する。暗号化データ送受信部203は、例えば暗号化されたHTTPリクエストを受信して第1共通鍵で復号化し、そのHTTPリクエストで要求されたコンテンツ(ウェブページなど)のデータを第1共通鍵で暗号化して送信する。   The encrypted data transmission / reception unit 203 encrypts and transmits the data using the supplied first common key, and receives the data encrypted using the first common key, and similarly decrypts the data using the first common key. The encrypted data transmission / reception unit 203 receives, for example, an encrypted HTTP request, decrypts it with the first common key, and encrypts data of the content (such as a web page) requested by the HTTP request with the first common key. To send.

ウェブアプリ部110に提供された代替証明書はセッション確立部112に供給される。セッション確立部112は、ローカルプロキシ部120のセッション確立部124とデータをやり取りして、ローカルプロキシ部120との暗号化データ通信のセッションを確立する。セッション確立部112は、代替証明書が供給されると、代替証明書を発行した第2の認証局の第2の証明書がウェブアプリ部110に登録されているため、この代替証明書が信頼できるものと判断し、共通鍵を生成して暗号化データ送受信部113に提供する。以下ではセッション確立部112が生成した共通鍵を「第2共通鍵」という。また、セッション確立部112は、生成した第2共通鍵を、代替証明書に含まれる第2公開鍵で暗号化してローカルプロキシ部120に提供する。ローカルプロキシ部120に提供された第2共通鍵はセッション確立部124に供給される。   The substitute certificate provided to the web application unit 110 is supplied to the session establishing unit 112. The session establishment unit 112 exchanges data with the session establishment unit 124 of the local proxy unit 120 to establish an encrypted data communication session with the local proxy unit 120. When the alternative certificate is supplied, the session establishing unit 112 registers the second certificate of the second certificate authority that issued the alternative certificate in the web application unit 110. It is determined that it can be performed, and a common key is generated and provided to the encrypted data transmitting / receiving unit 113. Hereinafter, the common key generated by the session establishing unit 112 is referred to as a “second common key”. In addition, the session establishing unit 112 encrypts the generated second common key with the second public key included in the alternative certificate and provides it to the local proxy unit 120. The second common key provided to the local proxy unit 120 is supplied to the session establishment unit 124.

なお、セッション確立部112は、ウェブサーバ20のサーバ証明書が供給された場合には、上述したように、サーバ証明書を発行した第1の認証局により発行された第1の証明書がウェブアプリ部110に登録されているため、このサーバ証明書が信頼できるものと判断し、共通鍵を生成して暗号化データ送受信部113に提供する。このように、セッション確立部112は、ウェブサーバ20のサーバ証明書と供給された代替証明書との区別がつかないため、サーバ証明書と代替証明書のどちらが供給された場合でも、供給された方の証明書が信頼できるものだと判断し、その証明書を用いてセッションを確立する。   Note that, when the server certificate of the web server 20 is supplied, the session establishing unit 112 uses the first certificate issued by the first certificate authority that issued the server certificate as described above. Since it is registered in the application unit 110, it is determined that the server certificate is reliable, and a common key is generated and provided to the encrypted data transmission / reception unit 113. Thus, since the session establishment unit 112 cannot distinguish between the server certificate of the web server 20 and the supplied alternative certificate, the supplied session certificate is supplied regardless of whether the server certificate or the alternative certificate is supplied. Determines that the other certificate is trusted and establishes a session using that certificate.

セッション確立部124は、第2公開鍵で暗号化された第2共通鍵を受け取ると、ローカルプロキシ部120が保有する第2秘密鍵で復号化する。このようにして、セッション確立部112は、代替証明書に含まれる第2公開鍵を用いてセッション確立部124と第2共通鍵を交換する。セッション確立部124は復号化した第2共通鍵を第2通信部252に供給する。   When the session establishing unit 124 receives the second common key encrypted with the second public key, the session establishing unit 124 decrypts it with the second secret key held by the local proxy unit 120. In this way, the session establishment unit 112 exchanges the second common key with the session establishment unit 124 using the second public key included in the alternative certificate. The session establishment unit 124 supplies the decrypted second common key to the second communication unit 252.

暗号化データ送受信部113は、セッション確立部112から供給された第2共通鍵でデータを暗号化して送信し、その第2共通鍵で暗号化されたデータを受信すると、同じくその第2共通鍵で復号化する。暗号化データ送受信部113は、例えばHTTPリクエストを第2共通鍵で暗号化してウェブサーバ20に向けて送信し、そのHTTPリクエストの応答で送信されてきたコンテンツ(ウェブページなど)のデータを第2共通鍵で復号化する。暗号化データ送受信部113は、復号化したデータをデータ処理部114に供給する。   When the encrypted data transmission / reception unit 113 encrypts and transmits data with the second common key supplied from the session establishment unit 112 and receives the data encrypted with the second common key, the encrypted data transmission / reception unit 113 also receives the second common key. Decrypt with. The encrypted data transmission / reception unit 113, for example, encrypts an HTTP request with the second common key and transmits it to the web server 20, and transmits the data of the content (such as a web page) transmitted in response to the HTTP request to the second Decrypt with common key. The encrypted data transmission / reception unit 113 supplies the decrypted data to the data processing unit 114.

データ処理部114は、ウェブアプリの機能に応じたデータ処理を行う。例えばウェブアプリがブラウザであれば、HTTPリクエストを生成する処理やコンテンツのデータを表示する処理などを行う。また、ウェブアプリがグループウェアであれば、文書データを掲示板に保存する処理や申請データの承認を承認者に要求する要求データを生成する処理などを行う。データ処理部114は、暗号化データ送受信部113から供給された、復号化されたデータを処理する。また、データ処理部114が処理したデータを暗号化データ送受信部113に供給すると、暗号化データ送受信部113がそのデータを第2共通鍵で暗号化してウェブサーバ20に向けて送信する。こうして送信されたデータはローカルプロキシ部120の第2通信部252に供給される。   The data processing unit 114 performs data processing according to the function of the web application. For example, if the web application is a browser, processing for generating an HTTP request, processing for displaying content data, and the like are performed. If the web application is groupware, a process of saving document data on a bulletin board or a process of generating request data for requesting an approver to approve application data is performed. The data processing unit 114 processes the decrypted data supplied from the encrypted data transmission / reception unit 113. When the data processed by the data processing unit 114 is supplied to the encrypted data transmission / reception unit 113, the encrypted data transmission / reception unit 113 encrypts the data with the second common key and transmits the encrypted data to the web server 20. The transmitted data is supplied to the second communication unit 252 of the local proxy unit 120.

第1通信部251には、上述したとおり、セッション確立部123から第1共通鍵が供給されている。第1通信部251は、暗号化データ送受信部203から送信されてきた、第1共通鍵により暗号化されたデータを、同じく第1共通鍵で復号化する。第1通信部251は、復号化したデータを転送部253に供給する。第2通信部252には、上述したとおり、セッション確立部124から第2共通鍵が供給されている。第2通信部252は、暗号化データ送受信部113から供給された、第2共通鍵により暗号化されたデータを、同じく第2共通鍵で復号化する。第2通信部252は、復号化したデータを転送部253に供給する。   As described above, the first common key is supplied from the session establishing unit 123 to the first communication unit 251. The first communication unit 251 decrypts the data encrypted with the first common key transmitted from the encrypted data transmission / reception unit 203 with the first common key. The first communication unit 251 supplies the decrypted data to the transfer unit 253. As described above, the second common key is supplied from the session establishing unit 124 to the second communication unit 252. The second communication unit 252 similarly decrypts the data encrypted by the second common key supplied from the encrypted data transmission / reception unit 113 with the second common key. The second communication unit 252 supplies the decrypted data to the transfer unit 253.

転送部253は、第1通信部251から要求されたデータを第2通信部252に供給し、第2通信部252から要求されたデータを第1通信部251に供給する。このように、転送部253は、ウェブサーバ20から送信されてきて第1通信部251により復号化されたデータを第2通信部252に転送する。転送部253は、ウェブアプリ部110から送信されてきて第2通信部252により復号化されたデータを第1通信部251に転送する。   The transfer unit 253 supplies the data requested from the first communication unit 251 to the second communication unit 252 and supplies the data requested from the second communication unit 252 to the first communication unit 251. As described above, the transfer unit 253 transfers the data transmitted from the web server 20 and decrypted by the first communication unit 251 to the second communication unit 252. The transfer unit 253 transfers the data transmitted from the web application unit 110 and decrypted by the second communication unit 252 to the first communication unit 251.

第1通信部251は、転送部253により転送されてきたからデータを第1共通鍵で暗号化してウェブサーバ20に送信する。このようにして第1通信部251は、ウェブアプリ部110と暗号化通信を行う。以下ではこの暗号化通信を「第1の暗号化通信」という。詳細には、第1通信部251は、ウェブアプリ部110からの要求に応答してウェブサーバ20から送信されてくるサーバ証明書に含まれる第1公開鍵を用いてセッション確立部123によりウェブサーバ20と交換された第1共通鍵を用いて第1の暗号化通信を行う。   Since the first communication unit 251 has been transferred by the transfer unit 253, the first communication unit 251 encrypts the data with the first common key and transmits the data to the web server 20. In this way, the first communication unit 251 performs encrypted communication with the web application unit 110. Hereinafter, this encrypted communication is referred to as “first encrypted communication”. Specifically, the first communication unit 251 uses the first public key included in the server certificate transmitted from the web server 20 in response to the request from the web application unit 110 to cause the session establishing unit 123 to execute the web server. The first encrypted communication is performed using the first common key exchanged with 20.

第2通信部252は、転送部253により転送されてきたデータを第2共通鍵で暗号化してウェブアプリ部110に送信する。このようにして第2通信部252は、ウェブアプリ部110と暗号化通信を行う。以下ではこの暗号化通信を「第2の暗号化通信」という。詳細には、第2通信部252は、代替証明書に含まれる第2公開鍵に対応する第2秘密鍵を用いてセッション確立部124によりウェブアプリ部110と交換された第2共通鍵を用いて第2の暗号化通信を行う。   The second communication unit 252 encrypts the data transferred by the transfer unit 253 with the second common key and transmits the encrypted data to the web application unit 110. In this way, the second communication unit 252 performs encrypted communication with the web application unit 110. Hereinafter, this encrypted communication is referred to as “second encrypted communication”. Specifically, the second communication unit 252 uses the second common key exchanged with the web application unit 110 by the session establishment unit 124 using the second secret key corresponding to the second public key included in the alternative certificate. Second encrypted communication.

第1通信部251、第2通信部252及び転送部253、すなわちデータ転送部125は、ウェブアプリ部110及びウェブサーバ20の通信を中継する。その際、データ転送部125は、ウェブアプリ部110及びウェブサーバ20の一方から送信されてきたデータを復号化し、復号化したデータを暗号化して他方に転送する。このようにデータ転送部125はデータの転送処理を行う。   The first communication unit 251, the second communication unit 252, and the transfer unit 253, that is, the data transfer unit 125 relay communication between the web application unit 110 and the web server 20. At that time, the data transfer unit 125 decrypts the data transmitted from one of the web application unit 110 and the web server 20, encrypts the decrypted data, and transfers the encrypted data to the other. In this way, the data transfer unit 125 performs a data transfer process.

監視モジュール部130は、前述したデータ転送部125による転送処理において復号化されたデータを用いた処理(以下「復号化データ処理」という)を行う。監視モジュール部130は本発明の「処理部」の一例である。ここでいう復号化されたデータは、ウェブサーバ20から送信されてきたデータを第1通信部251が第1共通鍵を用いて復号化したデータである場合と、ウェブアプリ部110から送信されてきたデータを第2通信部252が第2共通鍵を用いて復号化したデータである場合とがある。監視モジュール部130は、第1通信部251及び第2通信部252の動作を監視して、復号化されたデータがRAMに記憶された場合に、RAMからそのデータを読み出して、読み出したデータ(すなわち復号化されたデータ)を用いた復号化データ処理を行う。   The monitoring module unit 130 performs processing (hereinafter referred to as “decoded data processing”) using data decoded in the transfer processing by the data transfer unit 125 described above. The monitoring module unit 130 is an example of the “processing unit” in the present invention. The decrypted data here is data that is transmitted from the web application unit 110 when the first communication unit 251 decrypts the data transmitted from the web server 20 using the first common key. In some cases, the second communication unit 252 decrypts the received data using the second common key. The monitoring module unit 130 monitors the operations of the first communication unit 251 and the second communication unit 252. When the decoded data is stored in the RAM, the monitoring module unit 130 reads the data from the RAM and reads the read data ( That is, decrypted data processing using the decrypted data) is performed.

監視モジュール部130は、本実施例では、転送処理において復号化されたデータを記録する記録処理と、その復号化されたデータが条件を満たす場合にそのデータの通信を中止させる中止処理とを復号化データ処理として行う。監視モジュール部130は、例えば、復号化されたデータと、そのデータがウェブアプリ部110又はウェブサーバ20から送信されてきた時刻の情報とを監視サーバ30に送信する処理を記録処理として行う。送信されたデータ及び時刻の情報は、監視サーバ30の記録部301に供給され、記録部301は、供給されたデータ及び時刻の情報を対応付けて記録する。   In this embodiment, the monitoring module unit 130 decodes a recording process for recording the data decoded in the transfer process, and a stop process for stopping communication of the data when the decoded data satisfies the condition. As a data processing. For example, the monitoring module unit 130 performs, as a recording process, a process of transmitting the decrypted data and information on the time when the data is transmitted from the web application unit 110 or the web server 20 to the monitoring server 30. The transmitted data and time information are supplied to the recording unit 301 of the monitoring server 30, and the recording unit 301 records the supplied data and time information in association with each other.

なお、監視モジュール部130は、データそのものではなく、復号化されたデータを特定する情報(データのファイル名や属性など)を送信してもよい。また、監視モジュール部130は、例えば復号化されたデータ内の文字列を解析し、決められたレベル以上の機密情報が含まれていると判断された場合に、転送部253にそのデータの転送を中止するように指示する。転送部253はこの指示を受け取ると、第1通信部251及び第2通信部252の間のデータの転送を中止する。なお、監視モジュール部130は、第1通信部251又は第2通信部252に、転送部253から転送されてきたデータの暗号化又は暗号化したデータの送信のいずれかの中止を指示してもよい。いずれの場合も、データ転送部125において復号化されたデータの通信が中止される。   Note that the monitoring module unit 130 may transmit information (such as a file name or attribute of data) specifying the decrypted data instead of the data itself. Further, the monitoring module unit 130 analyzes, for example, a character string in the decrypted data, and when it is determined that confidential information of a predetermined level or higher is included, the data is transferred to the transfer unit 253. Instruct to stop. Upon receiving this instruction, the transfer unit 253 stops data transfer between the first communication unit 251 and the second communication unit 252. Note that the monitoring module unit 130 may instruct the first communication unit 251 or the second communication unit 252 to stop either the encryption of the data transferred from the transfer unit 253 or the transmission of the encrypted data. Good. In either case, communication of data decrypted by the data transfer unit 125 is stopped.

また、監視モジュール部130は、復号化されたデータの解析結果に加えてそのデータの送信先に応じて転送の中止の有無を判断してもよい。例えば復号化されたデータに含まれる機密情報のレベルが決められたレベル未満であれば、監視モジュール部130は、企業内で運用されているウェブサーバ20への転送は許可し、外部のウェブサーバ20への転送は中止させるといった具合である。   In addition to the analysis result of the decrypted data, the monitoring module unit 130 may determine whether or not to stop the transfer according to the transmission destination of the data. For example, if the level of the confidential information included in the decrypted data is less than a predetermined level, the monitoring module unit 130 permits transfer to the web server 20 operated in the company, and the external web server The transfer to 20 is stopped.

通信監視システム1が備える各装置は、上記構成に基づいて、ウェブアプリ部110とウェブサーバ20との通信を監視する通信監視処理を行う。
図6は通信監視処理における動作手順の一例を表す。図6では、ユーザ装置10の動作をウェブアプリ部110、ローカルプロキシ部120及び監視モジュール部130に分けて表している。この動作手順は、例えばユーザがユーザ装置10を操作してウェブサーバ20のURLを入力又は選択する操作を行うことを契機に開始される。
Each device provided in the communication monitoring system 1 performs communication monitoring processing for monitoring communication between the web application unit 110 and the web server 20 based on the above configuration.
FIG. 6 shows an example of an operation procedure in the communication monitoring process. In FIG. 6, the operation of the user device 10 is divided into the web application unit 110, the local proxy unit 120, and the monitoring module unit 130. This operation procedure is started when, for example, the user operates the user device 10 to input or select the URL of the web server 20.

まず、ウェブアプリ部110(サーバ証明書要求部111)は、ウェブサーバ20にサーバ証明書を要求する(ステップS11)。ローカルプロキシ部120(要求転送部121)は、このサーバ証明書の要求をウェブサーバ20に転送する(ステップS12)。ウェブサーバ20(サーバ証明書送信部201)は、要求されたサーバ証明書を送信する(ステップS13)。ローカルプロキシ部120(代替証明書提供部122)は、サーバ証明書を受け取ると、代替証明書を発行し(ステップS14)、発行した代替証明書をウェブアプリ部110に提供する(ステップS15)。   First, the web application unit 110 (server certificate request unit 111) requests a server certificate from the web server 20 (step S11). The local proxy unit 120 (request transfer unit 121) transfers the request for the server certificate to the web server 20 (step S12). The web server 20 (server certificate transmission unit 201) transmits the requested server certificate (step S13). When receiving the server certificate, the local proxy unit 120 (alternative certificate providing unit 122) issues an alternative certificate (step S14), and provides the issued alternative certificate to the web application unit 110 (step S15).

次に、ローカルプロキシ部120(セッション確立部123)とウェブサーバ20(セッション確立部202)とが第1の暗号化通信のセッションを確立する(ステップS21)。このときに第1共通鍵がローカルプロキシ部120とウェブサーバ20との間で交換される。また、ウェブアプリ部110(セッション確立部112)とローカルプロキシ部120(セッション確立部124)とが第2の暗号化通信のセッションを確立する(ステップS22)。このときに第2共通鍵がウェブアプリ部110とローカルプロキシ部120との間で交換される。ステップS21及びS22はどちらが先に行われてもよいし、並行して行われてもよい。   Next, the local proxy unit 120 (session establishment unit 123) and the web server 20 (session establishment unit 202) establish a first encrypted communication session (step S21). At this time, the first common key is exchanged between the local proxy unit 120 and the web server 20. Further, the web application unit 110 (session establishment unit 112) and the local proxy unit 120 (session establishment unit 124) establish a second encrypted communication session (step S22). At this time, the second common key is exchanged between the web application unit 110 and the local proxy unit 120. Either of steps S21 and S22 may be performed first or in parallel.

続いて、ウェブアプリ部110(暗号化データ送受信部113)が第2共通鍵で暗号化したデータをウェブサーバ20に向けて送信する(ステップS31)。ローカルプロキシ部120(第1通信部251)は、ウェブアプリ部110から送信されたデータを、第2共通鍵を用いて復号化する(ステップS32)。次に、監視モジュール部130が、復号化されたデータを参照し(ステップS41)、そのデータの転送を中止させる条件が満たされたか否か(例えば所定のレベル以上の機密情報が含まれているか否か)を判断する(ステップS42)。   Subsequently, the web application unit 110 (encrypted data transmission / reception unit 113) transmits the data encrypted with the second common key to the web server 20 (step S31). The local proxy unit 120 (first communication unit 251) decrypts the data transmitted from the web application unit 110 using the second common key (step S32). Next, the monitoring module unit 130 refers to the decrypted data (step S41), and whether or not a condition for stopping the transfer of the data is satisfied (for example, whether confidential information of a predetermined level or higher is included) (No) is determined (step S42).

監視モジュール部130は、条件が満たされている(YES)と判断した場合には、ローカルプロキシ部120(転送部253)に転送の中止を指示し(ステップS43)、ローカルプロキシ部120(転送部253)はその指示に従い復号化されたデータの転送を中止する(ステップS33)。監視モジュール部130は、条件が満たされていない(NO)と判断した場合には、ローカルプロキシ部120(転送部253)に転送の許可を通知する(ステップS44)。ローカルプロキシ部120(転送部253)は、その通知を受け取ると、ステップS32で復号化されたデータを転送する(ステップS34)。   If the monitoring module unit 130 determines that the condition is satisfied (YES), the monitoring module unit 130 instructs the local proxy unit 120 (transfer unit 253) to cancel the transfer (step S43), and the local proxy unit 120 (transfer unit). 253) stops the transfer of the decrypted data according to the instruction (step S33). When the monitoring module unit 130 determines that the condition is not satisfied (NO), the monitoring module unit 130 notifies the local proxy unit 120 (transfer unit 253) of transfer permission (step S44). Upon receiving the notification, the local proxy unit 120 (transfer unit 253) transfers the data decrypted in step S32 (step S34).

そして、ローカルプロキシ部120(第2通信部252)は、転送されたデータを第2共通鍵で暗号化し(ステップS35)、ウェブサーバ20に送信する(ステップS36)。なお、ステップS35(データの暗号化)の動作は、ステップS33よりも前に行われていてもよい。また、監視モジュール部130は、ステップS41で参照した復号化されたデータを監視サーバ30に送信し(ステップS61)、監視サーバ30(記録部301)がそのデータを記録する(ステップS62)。なお、ステップS61及びS62の動作は、ステップS42よりも前に行われてもよいし、それと並行して行われてもよい。   Then, the local proxy unit 120 (second communication unit 252) encrypts the transferred data with the second common key (step S35) and transmits it to the web server 20 (step S36). Note that the operation in step S35 (data encryption) may be performed before step S33. In addition, the monitoring module unit 130 transmits the decrypted data referred in step S41 to the monitoring server 30 (step S61), and the monitoring server 30 (recording unit 301) records the data (step S62). Note that the operations in steps S61 and S62 may be performed before step S42 or may be performed in parallel therewith.

本実施例では、ウェブアプリ部110とウェブサーバ20との間で暗号化されたデータの通信が行われる場合に、その通信を中継するローカルプロキシ部120において復号化されたデータに対して監視モジュール部130による復号化データ処理が行われる。これにより、暗号化通信でやり取りされるデータの内容に応じた処理を行うことができる。具体的には、例えばやり取りされるデータを記録する処理や、そのデータの内容に応じてデータのやり取りを中止させる処理を行うことができる。   In this embodiment, when communication of encrypted data is performed between the web application unit 110 and the web server 20, the monitoring module is used for data decrypted in the local proxy unit 120 that relays the communication. Decoded data processing by the unit 130 is performed. Thereby, the process according to the content of the data exchanged by encryption communication can be performed. Specifically, for example, it is possible to perform processing for recording data to be exchanged and processing for stopping data exchange according to the contents of the data.

また、本実施例では、ウェブアプリ部110が、サーバ証明書を要求し、それに応答して提供される代替証明書を用いて暗号化データ通信のセッションを確立して暗号化データ通信を行う。また、ウェブサーバ20は、ユーザ装置10からの要求に応答してサーバ証明書を送信し、そのユーザ装置10から提供される第1共通鍵を用いて暗号化データ通信を行う。このように、ウェブアプリ部110及びウェブサーバ20が通常のSSL通信の動作を行っていても、前述のとおり暗号化通信でやり取りされるデータの内容に応じた処理を行うことができる。   In this embodiment, the web application unit 110 requests a server certificate, establishes an encrypted data communication session using an alternative certificate provided in response thereto, and performs encrypted data communication. In addition, the web server 20 transmits a server certificate in response to a request from the user device 10, and performs encrypted data communication using the first common key provided from the user device 10. As described above, even if the web application unit 110 and the web server 20 perform normal SSL communication operations, processing according to the contents of data exchanged by encrypted communication can be performed as described above.

[2]第2実施例
本発明の第2実施例について、以下、第1実施例と異なる点を中心に説明する。第1実施例では、ウェブアプリ部110とウェブサーバ20とのデータのやり取りが全てローカルプロキシ部120によって中継されていたが、第2実施例では、この中継がされない場合がある。
[2] Second Embodiment Hereinafter, a second embodiment of the present invention will be described focusing on differences from the first embodiment. In the first embodiment, all data exchanges between the web application unit 110 and the web server 20 are relayed by the local proxy unit 120. However, in the second embodiment, this relay may not be performed.

図7は第2実施例に係る通信監視システム1aの全体構成の一例を表す。通信監視システム1aは、ユーザ装置10−1及び10−2(ハードウェア構成が図2に表すユーザ装置10と共通し、区別しない場合は「ユーザ装置10a」という)と、社内ウェブサーバ20−1及び社外ウェブサーバ20−2(ハードウェア構成が図3に表すウェブサーバ20と共通し、区別しない場合は「ウェブサーバ20a」という)と、監視サーバ30とを備える。   FIG. 7 illustrates an example of the overall configuration of the communication monitoring system 1a according to the second embodiment. The communication monitoring system 1a includes user devices 10-1 and 10-2 (the hardware configuration is the same as that of the user device 10 illustrated in FIG. And an external web server 20-2 (the hardware configuration is the same as that of the web server 20 shown in FIG.

ユーザ装置10−1はイントラネット2に接続されており、ユーザ装置10−2は例えば移動体通信や無線LANの通信によりインターネット3に接続されている。社内ウェブサーバ20−1は、ユーザ装置10aを利用するユーザの会社が運営するウェブサーバである。社内ウェブサーバ20−1は、イントラネット2に接続されていて、ワークフローシステムや社内掲示板などの社内の業務に関連するサービスを提供する。社内ウェブサーバ20−1には、ユーザ装置10−2のように、インターネット3からイントラネット2を経由しても通信可能となっている。社外ウェブサーバ20−2は、ユーザ装置10aを利用するユーザの会社以外の主体が運営するウェブサーバである。社外ウェブサーバ20−2は、インターネット3に接続されており、ウェブページ等を提供する。   The user device 10-1 is connected to the intranet 2, and the user device 10-2 is connected to the Internet 3 by, for example, mobile communication or wireless LAN communication. The in-house web server 20-1 is a web server operated by a company of a user who uses the user device 10a. The in-house web server 20-1 is connected to the intranet 2 and provides services related to in-house operations such as a workflow system and an in-house bulletin board. The in-house web server 20-1 can also communicate from the Internet 3 via the intranet 2 like the user device 10-2. The external web server 20-2 is a web server operated by a subject other than the company of the user who uses the user device 10a. The external web server 20-2 is connected to the Internet 3 and provides a web page and the like.

図8は本実施例で各装置が実現する機能構成を表す。ユーザ装置10aは、図5に表す各部に加えて振分部140を備える。振分部140は、ユーザ装置10aに記憶されている振分プログラムにより実現される。振分部140は、ウェブアプリ部110がウェブサーバ20に向けて送信するデータの経路を振り分ける。具体的には、振分部140は、ウェブアプリ部110からウェブサーバ20に向けて送信されたデータを受け取り、ローカルプロキシ部120のデータ転送部125(すなわち第1通信部251、第2通信部252及び転送部253)を経由する第1通信路と、データ転送部125を経由しない第2通信路のいずれかにデータの経路を振り分ける。   FIG. 8 shows a functional configuration realized by each device in this embodiment. The user device 10a includes a distribution unit 140 in addition to the units illustrated in FIG. The distribution unit 140 is realized by a distribution program stored in the user device 10a. The distribution unit 140 distributes the route of data that the web application unit 110 transmits to the web server 20. Specifically, the allocating unit 140 receives data transmitted from the web application unit 110 to the web server 20, and the data transfer unit 125 (that is, the first communication unit 251 and the second communication unit) of the local proxy unit 120. 252 and the transfer unit 253), and the data path is distributed to either the first communication path that does not pass through the data transfer unit 125.

第1通信路を経由したデータは、データ転送部125によって復号化及び暗号化がされてウェブサーバ20に転送され、その際に復号化されたデータを用いて復号化データ処理が監視モジュール部130によって行われる。一方、第2通信路を経由したデータは、データ転送部125によって復号化されないため、監視モジュール部130による復号化データ処理の対象にならない。   Data that has passed through the first communication path is decrypted and encrypted by the data transfer unit 125 and transferred to the web server 20, and decrypted data processing is performed using the decrypted data at that time. Is done by. On the other hand, since the data transmitted through the second communication path is not decrypted by the data transfer unit 125, the data is not subjected to decrypted data processing by the monitoring module unit 130.

振分部140は、第1通信路を経由させる場合には、サーバ証明書要求部111からのサーバ証明書の要求、代替証明書提供部122からの代替証明書、セッション確立部112からの暗号化された第2共通鍵、暗号化データ送受信部113からの暗号化されたデータ、及び第2通信部252からの暗号化されたデータを受け取り、図5の説明で述べたそれぞれの送り先に対してそれらを転送する。これにより、ウェブアプリ部110とウェブサーバ20との間で第1実施例と同様の通信が行われる。   The distribution unit 140 requests the server certificate from the server certificate request unit 111, the alternative certificate from the alternative certificate provision unit 122, and the encryption from the session establishment unit 112 when passing through the first communication path. The encrypted second common key, the encrypted data from the encrypted data transmission / reception unit 113, and the encrypted data from the second communication unit 252 are received, and each destination described in the description of FIG. Forward them. Thereby, the same communication as in the first embodiment is performed between the web application unit 110 and the web server 20.

一方、振分部140は、第2通信路を経由させる場合には、サーバ証明書要求部111からのサーバ証明書の要求を要求転送部121に転送し、セッション確立部112からの暗号化された第2共通鍵をウェブサーバ20aのセッション確立部202に転送し、暗号化データ送受信部113からの暗号化されたデータ及び暗号化データ送受信部203からの暗号化されたデータを、互いを送り先として転送する。これにより、ウェブアプリ部110とウェブサーバ20との間でローカルプロキシ部120のデータ転送部125(第1通信部251、第2通信部252及び転送部253)を経由しない第2通信路での通信が行われる。   On the other hand, the distribution unit 140 transfers the request for the server certificate from the server certificate request unit 111 to the request transfer unit 121 when encrypted via the second communication path, and is encrypted from the session establishment unit 112. The second common key is transferred to the session establishing unit 202 of the web server 20a, and the encrypted data from the encrypted data transmitting / receiving unit 113 and the encrypted data from the encrypted data transmitting / receiving unit 203 are sent to each other. Transfer as. Thereby, the second communication path that does not pass through the data transfer unit 125 (the first communication unit 251, the second communication unit 252, and the transfer unit 253) of the local proxy unit 120 between the web application unit 110 and the web server 20 is provided. Communication takes place.

振分部140は、例えば、ウェブアプリ部110から送信されたデータを処理するウェブサーバ(言い換えるとウェブアプリ部110の通信相手のウェブサーバ)の種類に応じてデータの経路を振り分ける。本実施例では、振分部140は、ウェブアプリ部110の通信相手のウェブサーバ20aがイントラネット2に接続されているもの(図7の例では社内ウェブサーバ20−1)であれば第2通信路を経由させ、イントラネット2に接続されていないもの(図7の例では社外ウェブサーバ20−2)であれば第1通信路を経由させるように経路を振り分ける。この場合、イントラネット2だけを経由するため通信路のセキュリティが確保されている社内ウェブサーバ20−1との通信では上述した中止処理(データの転送を中止する処理)が行われないが、通信路にインターネット3を含む社外ウェブサーバ20−2との通信では中止処理が行われる。   For example, the distribution unit 140 distributes the data path according to the type of the web server that processes the data transmitted from the web application unit 110 (in other words, the web server of the communication partner of the web application unit 110). In this embodiment, the allocating unit 140 performs the second communication if the web server 20a of the communication partner of the web application unit 110 is connected to the intranet 2 (in-house web server 20-1 in the example of FIG. 7). If the route is routed and is not connected to the intranet 2 (external web server 20-2 in the example of FIG. 7), the route is routed so as to be routed through the first communication path. In this case, the above-described cancellation processing (processing for canceling data transfer) is not performed in communication with the in-house web server 20-1 in which the security of the communication path is ensured because it passes through the intranet 2 only. In the communication with the external web server 20-2 including the Internet 3, the cancellation process is performed.

このように、本実施例によれば、通信の監視が必要な場合には第1通信路を経由させて中止処理が行われるようにしてセキュリティを高め、通信の監視が不要な場合には第2通信路を経由させて転送部253によるデータの復号化及び暗号化をなくして通信速度を速めることができる。なお、ウェブサーバ20aの種類はこれに限らない。例えば振分部140は、通信が推奨されないウェブサーバ20aのリストを記憶しておき、通信相手のウェブサーバ20aがそのリストに含まれている場合に第1通信路を経由させ、含まれていない場合に第2通信路を経由させるように経路を振り分けてもよい。   As described above, according to the present embodiment, when monitoring of communication is necessary, the stop process is performed via the first communication path to improve security, and when monitoring of communication is unnecessary, the first is performed. It is possible to increase the communication speed by eliminating the decryption and encryption of data by the transfer unit 253 via the two communication paths. The type of web server 20a is not limited to this. For example, the allocating unit 140 stores a list of web servers 20a whose communication is not recommended, and when the communication partner web server 20a is included in the list, the distribution unit 140 passes through the first communication path and is not included. In some cases, the route may be distributed so as to pass through the second communication path.

また、振分部140は、ウェブアプリ部110を実現するウェブアプリケーションプログラムの種類に応じてデータの経路を振り分けてもよい。振分部140は、例えば、ウェブページの閲覧に用いられるブラウザや社外のシステムのクライアント用のプログラムによりウェブアプリ部110が実現されている場合には、第1通信路を経由させる。一方、振分部140は、社内のシステムのクライアント用のプログラムによりウェブアプリ部110が実現されている場合には、第2通信路を経由させる。   Further, the distribution unit 140 may distribute the data path according to the type of the web application program that implements the web application unit 110. For example, when the web application unit 110 is realized by a browser used for browsing a web page or a program for a client of an external system, the distribution unit 140 passes the first communication path. On the other hand, the distribution unit 140 causes the second communication path to pass through when the web application unit 110 is realized by a program for a client in an in-house system.

また、振分部140は、ウェブアプリ部110が送信するデータの通信に用いられる通信プロトコルの種類に応じてデータの経路を振り分けてもよい。振分部140は、例えば、この通信プロトコルの種類がSMTP(Simple Mail Transfer Protocol)及びFTP(File Transfer Protocol)である場合には第1通信路を経由させ、SNTP(Simple Network Management Protocol)である場合には第2通信路を経由させるように経路を振り分ける。   Further, the distribution unit 140 may distribute the data path according to the type of communication protocol used for communication of data transmitted by the web application unit 110. For example, when the type of the communication protocol is SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol), the distribution unit 140 passes the first communication path and is SNTP (Simple Network Management Protocol). In this case, the route is distributed so as to pass through the second communication path.

いずれの場合も、セキュリティと通信速度との兼ね合いで、セキュリティを高めたい場合には第1通信路を経由させ、通信速度を速くしたい場合には第2通信路を経由させればよい。このように、本実施例によれば、上述したウェブサーバ20aの種類、ウェブアプリケーションプログラムの種類及び通信プロトコルの種類毎に、セキュリティを高めたり、通信速度を速めたりすることができる。   In any case, the balance between security and communication speed may be achieved by going through the first communication path when it is desired to increase security and via the second communication path when increasing the communication speed. As described above, according to the present embodiment, it is possible to increase the security or increase the communication speed for each type of the web server 20a, the type of the web application program, and the type of the communication protocol.

[3]変形例
上述した各実施形態は、それぞれが本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、各実施形態及び各変形例は必要に応じてそれぞれ組み合わせてもよい。
[3] Modifications Each of the above-described embodiments is merely an example of the implementation of the present invention, and may be modified as follows. Moreover, you may combine each embodiment and each modification as needed.

[3−1]複数の第2の証明書
代替証明書提供部122が代替証明書を生成する際に用いられる第2の証明書が複数あってもよい。例えば、ウェブアプリ部110には、有効期間が異なる複数の前記第2の証明書が登録されている。代替証明書提供部122は、それら複数の第2の証明書の中から、ウェブアプリ部110から送信されたデータを処理するウェブサーバ(ウェブアプリ部110の通信相手のウェブサーバ)の種類に応じた第2の証明書を選択し、選択した第2の証明書により証明される署名がされた代替証明書をウェブアプリ部110に提供する。
[3-1] A plurality of second certificates There may be a plurality of second certificates used when the alternative certificate providing unit 122 generates an alternative certificate. For example, in the web application unit 110, a plurality of the second certificates having different validity periods are registered. The alternative certificate providing unit 122 corresponds to the type of the web server (web server of the communication partner of the web application unit 110) that processes the data transmitted from the web application unit 110 among the plurality of second certificates. The second certificate is selected, and an alternative certificate signed by the selected second certificate is provided to the web application unit 110.

ユーザ装置10には、第2の証明書と、その有効期間と、通信相手の種類とを対応付けた有効期間テーブルが記憶されている。
図9は有効期間テーブルの一例を表す。図9の例では、「R01.xx.xx.crt」という第2の証明書に「20xx.07.01〜20xx.07.31」という有効期間(つまり有効期間が1ヶ月)と「社外ウェブサーバ」という通信相手の種類とが対応付けられている。また、「R02.xx.xx.crt」という第2の証明書に「20xx.07.01〜20xx.12.31」という有効期間(つまり有効期間が6ヶ月)と「社内ウェブサーバ」という通信相手の種類とが対応付けられている。「R01.xx.xx.crt」及び「R02.xx.xx.crt」は有効期間が異なる第2の証明書の例である。
The user device 10 stores a validity period table in which the second certificate, its validity period, and the type of communication partner are associated with each other.
FIG. 9 shows an example of the validity period table. In the example of FIG. 9, the second certificate “R01.xx.xx.crt” includes an effective period of “20xx.07.01 to 20xx.07.31” (that is, an effective period of one month) and “external web”. The type of communication partner “server” is associated with the server. In addition, the second certificate “R02.xx.xx.crt” includes an effective period “20xx.07.01 to 20xx.12.31” (that is, an effective period is 6 months) and communication “in-house web server”. The type of partner is associated. “R01.xx.xx.crt” and “R02.xx.xx.crt” are examples of second certificates having different validity periods.

代替証明書提供部122は、図7の例において、通信相手が社外ウェブサーバ20−2である場合、ウェブサーバの種類が社外ウェブサーバであるので、「R01.xx.xx.crt」という第2の証明書を用いて生成した代替証明書をウェブアプリ部110に提供する。また、代替証明書提供部122は、通信相手が社内ウェブサーバ20−1である場合、通信相手の種類が社内ウェブサーバであるので、「R02.xx.xx.crt」という第2の証明書を用いて生成した代替証明書をウェブアプリ部110に提供する。   In the example of FIG. 7, when the communication partner is the external web server 20-2, the alternative certificate providing unit 122 has the first “R01.xx.xx.crt” because the web server type is the external web server. The alternative certificate generated using the second certificate is provided to the web application unit 110. Further, when the communication partner is the in-house web server 20-1, the alternative certificate providing unit 122 uses the second certificate “R02.xx.xx.crt” because the type of the communication partner is the in-house web server. The web application unit 110 is provided with the alternative certificate generated using the.

ただし、代替証明書提供部122は、現在の日時が有効期間を過ぎている場合には、代替証明書を提供せず、例えば有効期間を過ぎている旨を自装置の表示部14に表示する。ユーザ装置10においては、有効期間が過ぎる前に新しい有効期間のルート証明書を第2の証明書としてウェブアプリ部110に登録しておけば、切れ目なく継続して暗号化通信を行うことができる。また、有効期間が過ぎた後も、新しい有効期間のルート証明書を第2の証明書として登録すれば、それ以降は再び暗号化通信を行うことができる。つまり、「R01.xx.xx.crt」という第2の証明書は1ヶ月ごとに新たな有効期間のルート証明書を第2の証明書としてウェブアプリ部110に登録する登録作業を行わなければならない一方、「R02.xx.xx.crt」という第2の証明書についてはその登録作業を6ヶ月ごとに行えばよい。   However, the alternative certificate providing unit 122 does not provide the alternative certificate when the current date and time has passed the valid period, and displays, for example, on the display unit 14 of the own apparatus that the valid period has expired. . In the user apparatus 10, if a root certificate with a new valid period is registered in the web application unit 110 as the second certificate before the valid period expires, encrypted communication can be performed continuously without interruption. . Even after the validity period has expired, if a root certificate with a new validity period is registered as the second certificate, encrypted communication can be performed again thereafter. In other words, the second certificate “R01.xx.xx.crt” must be registered to register the root certificate with a new validity period as the second certificate in the web application unit 110 every month. On the other hand, for the second certificate “R02.xx.xx.crt”, the registration work may be performed every six months.

このように、図9の例では、第2の証明書の登録作業が求められる時期の間隔が、通信相手のウェブサーバ20の種類に応じて異なっている。この間隔が短いほど、登録作業の手間が増えたり有効期間が過ぎていて暗号化通信ができない事態が生じたりしてユーザの利便性が減少するが、万が一第2の証明書が漏洩したとしても、暗号化したデータが不正に復号化されるおそれのある期間が短くなる。つまり、図9の例によれば、通信するデータが漏洩すると影響が大きい通信相手の場合には「R01.xx.xx.crt」を用いて代替証明書を生成することで、第2の証明書が漏洩したときのリスクを小さくすることができる。また、通信するデータが漏洩しても影響が小さい通信相手の場合には「R02.xx.xx.crt」を用いて代替証明書を生成することで、登録作業の手間を減らすことができる。   As described above, in the example of FIG. 9, the interval between the times when the registration work of the second certificate is required differs depending on the type of the web server 20 of the communication partner. The shorter this interval is, the more time is required for registration work, or the validity period has expired and the situation where encrypted communication cannot be performed decreases. However, even if the second certificate is leaked, The period during which the encrypted data may be illegally decrypted is shortened. In other words, according to the example of FIG. 9, in the case of a communication partner that has a large influence when data to be communicated leaks, the second certificate is generated by generating an alternative certificate using “R01.xx.xx.crt”. Risk when a book is leaked can be reduced. Further, in the case of a communication partner having a small influence even if data to be communicated is leaked, it is possible to reduce the labor of registration work by generating an alternative certificate using “R02.xx.xx.crt”.

なお、代替証明書提供部122は、ウェブアプリ部110を実現するウェブアプリケーションプログラムの種類に応じた第2の証明書を選択してもよい。代替証明書提供部122は、例えば、ウェブページの閲覧に用いられるブラウザや社外のシステムのクライアント用のプログラムによりウェブアプリ部110が実現されている場合には有効期間が短い第2の証明書を選択し、社内のシステムのクライアント用のプログラムによりウェブアプリ部110が実現されている場合には、有効期間が長い第2の証明書を選択する。   The alternative certificate providing unit 122 may select a second certificate corresponding to the type of web application program that implements the web application unit 110. For example, when the web application unit 110 is realized by a browser used for browsing a web page or a program for a client of an external system, the alternative certificate providing unit 122 obtains a second certificate with a short validity period. When the web application unit 110 is realized by a client program of an in-house system, a second certificate having a long validity period is selected.

また、代替証明書提供部122は、ウェブアプリ部110が送信するデータの通信に用いられる通信プロトコルの種類に応じた第2の証明書を選択してもよい。代替証明書提供部122は、例えば、この通信プロトコルの種類がSMTP及びFTPである場合には有効期間が短い第2の証明書を選択し、SNTPである場合には有効期間が長い第2の証明書を選択する。   The alternative certificate providing unit 122 may select a second certificate corresponding to the type of communication protocol used for communication of data transmitted by the web application unit 110. For example, when the communication protocol type is SMTP or FTP, the alternative certificate providing unit 122 selects the second certificate having a short valid period, and when the communication protocol type is SNTP, the alternative certificate providing unit 122 selects the second certificate having a long valid period. Select a certificate.

いずれの場合も、通信するデータが漏洩したときの影響の大きさと、上述したユーザの利便性(インストールの手間など)との兼ね合いで、データ漏洩の影響を小さくしたい場合には有効期間が短い第2の証明書を選択し、ユーザの利便性をよくしたい場合には有効期間が長い第2の証明書を選択すればよい。このように、本実施例によれば、上述したウェブサーバ20の種類、ウェブアプリケーションプログラムの種類及び通信プロトコルの種類毎に、データが漏洩したときの影響を小さくしたり、ユーザの利便性の減少を抑えたりすることができる。   In either case, the effective period is short when it is desired to reduce the influence of data leakage in consideration of the magnitude of the influence when the data to be communicated is leaked and the above-described user convenience (installation effort, etc.). If the second certificate is selected and the user's convenience is to be improved, the second certificate having a long validity period may be selected. As described above, according to the present embodiment, for each type of the web server 20, the type of the web application program, and the type of the communication protocol, the influence when the data is leaked is reduced or the convenience of the user is reduced. Can be suppressed.

[3−2]監視対象
実施例では、ウェブアプリ部110から送信されたデータ及びウェブサーバ20から送信されたデータの両方、すなわち上りの通信及び下りの通信の両方について監視モジュール部130による監視が行われたが、いずれか一方についてのみ監視が行われてもよい。上りの通信の監視が行われた場合には、機密データが漏洩する可能性を減らすことができる。また、下りの通信の監視が行われた場合には、外部からウィルスプログラムが侵入する可能性を減らすことができる。
[3-2] Monitoring Target In the embodiment, monitoring by the monitoring module unit 130 is performed on both the data transmitted from the web application unit 110 and the data transmitted from the web server 20, that is, both upstream communication and downstream communication. Although it was performed, monitoring may be performed for only one of them. When upstream communication is monitored, the possibility of leakage of confidential data can be reduced. In addition, when downstream communication is monitored, the possibility of a virus program entering from the outside can be reduced.

[3−3]代替証明書
実施例では図5に表す代替証明書提供部122が自身を第2の認証局として代替証明書を発行したが、これに限らない。例えばイントラネット2又はインターネット3に接続されている外部装置が第2の認証局として代替証明書を発行してもよい。この場合、代替証明書提供部122は、例えばサーバ証明書が供給されるとそのサーバ証明書に基づく代替証明書の発行を外部装置に要求し、その要求に応答して外部装置により発行された代替証明書をウェブアプリ部110に提供する。
[3-3] Alternative Certificate In the embodiment, the alternative certificate providing unit 122 illustrated in FIG. 5 issues the alternative certificate using itself as the second certificate authority. However, the present invention is not limited to this. For example, an external device connected to the intranet 2 or the Internet 3 may issue a substitute certificate as the second certificate authority. In this case, for example, when a server certificate is supplied, the alternative certificate providing unit 122 requests the external device to issue an alternative certificate based on the server certificate, and is issued by the external device in response to the request. An alternative certificate is provided to the web application unit 110.

また、実施例では、ウェブサーバのURLをコモンネームとする代替証明書が発行されたが、これに限らず、ウェブサーバ名やウェブサーバの装置IDをコモンネームとする代替証明書が発行されてもよいし、ウェブサーバに関連しないコモンネームが用いられてもよい。また、実施例では、サーバ証明書が送信されてくる度に代替証明書が発行されたが、これに限らない。例えば過去に同じウェブサーバとデータをやり取りしていれば、その際に発行された代替証明書が提供されてもよい。   In the embodiment, an alternative certificate with the common name of the URL of the web server is issued, but not limited to this, an alternative certificate with the common name of the web server name and the web server device ID is issued. Alternatively, a common name not related to the web server may be used. In the embodiment, the alternative certificate is issued every time the server certificate is transmitted. However, the present invention is not limited to this. For example, if data has been exchanged with the same web server in the past, an alternative certificate issued at that time may be provided.

また、発行された代替証明書が複数の異なるウェブサーバとのデータのやり取りにおいて用いられてもよい。この場合、代替証明書にはウェブサーバに関連しないコモンネームが用いられればよい。いずれの場合も、代替証明書提供部122が、第2の認証局により発行され且つ第2の公開鍵を含む証明書を代替証明書としてウェブアプリ部110に提供することで、第2の暗号化通信が行われることになる。   Further, the issued alternative certificate may be used in data exchange with a plurality of different web servers. In this case, a common name not related to the web server may be used for the substitute certificate. In any case, the alternative certificate providing unit 122 provides the web application unit 110 with a certificate issued by the second certificate authority and including the second public key as an alternative certificate, thereby enabling the second encryption. Communication will be performed.

[3−4]暗号化通信
実施例では、交換された共通鍵による暗号化通信が行われたが、これに限らない。例えば、公開鍵及び秘密鍵により暗号化及び復号化がされる暗号化通信が行われてもよい。この場合、ウェブアプリ部110の暗号化データ送受信部113は代替証明書に含まれる第2の公開鍵を用いてデータを暗号化し、ローカルプロキシ部120の第2通信部252はローカルプロキシ部120が保有する第2の秘密鍵を用いてそのデータを復号化する。
[3-4] Encrypted Communication In the embodiment, the encrypted communication using the exchanged common key is performed, but the present invention is not limited to this. For example, encrypted communication in which encryption and decryption are performed using a public key and a secret key may be performed. In this case, the encrypted data transmitting / receiving unit 113 of the web application unit 110 encrypts the data using the second public key included in the alternative certificate, and the second proxy unit 120 of the local proxy unit 120 The data is decrypted using the second secret key held.

また、ローカルプロキシ部120の第1通信部251はサーバ証明書に含まれる第1の公開鍵を用いてデータを暗号化し、ウェブサーバ20は自装置が保有する第1の秘密鍵を用いてデータを復号化する。また、これらの鍵に限らず、例えば送信元が暗号化用アルゴリズムを記憶し、送信先が復号化用アルゴリズムを記憶しておくことで暗号化通信が行われてもよい。これ以外にも、データの暗号化及び復号化がなされる周知の暗号化通信の技術が用いられてもよい。   In addition, the first communication unit 251 of the local proxy unit 120 encrypts data using the first public key included in the server certificate, and the web server 20 uses the first secret key held by the own device to perform data Is decrypted. Further, not limited to these keys, for example, encrypted communication may be performed when the transmission source stores the encryption algorithm and the transmission destination stores the decryption algorithm. In addition to this, a known encryption communication technique for encrypting and decrypting data may be used.

[3−5]復号化データ処理
復号化データ処理は、実施例で述べた記録処理及び中止処理に限らない。例えば、復号化されたデータが条件を満たした場合(例えば機密情報がデータに含まれていた場合)に、その旨を報知する処理が復号化データ処理として行われてもよい。また、復号化されたデータの内容を差し替える処理が復号化データ処理として行われてもよい。この場合、例えば、復号化されたデータを、監視モジュールによるデータの内容の確認が行われたことや、そのデータに機密情報が含まれていたのでデータの転送を中止させたことなどをユーザに通知する画面を表す画像データに差し替える処理が行われる。これらのように、復号化されたデータを用いた処理であれば、どのような処理が復号化データ処理として行われてもよい。
[3-5] Decrypted Data Process The decrypted data process is not limited to the recording process and the cancellation process described in the embodiment. For example, when the decrypted data satisfies a condition (for example, when confidential information is included in the data), a process for notifying the fact may be performed as the decrypted data process. Further, the process of replacing the content of the decrypted data may be performed as a decrypted data process. In this case, for example, the user confirms that the decrypted data has been confirmed by the monitoring module, or that the data transfer was stopped because the data contained confidential information. Processing to replace the image data representing the screen to be notified is performed. As long as these are processes using the decrypted data, any process may be performed as the decrypted data process.

[3−6]プログラム
実施例では、プロキシプログラムによりローカルプロキシ部120が実現され、監視プログラムにより監視モジュール部130が実現されたが、これに限らない。例えばプロキシプログラムによりローカルプロキシ部120及び監視モジュール部130の両方が実現されてもよい。また、言い換えると、ローカルプロキシ部120に監視モジュール部130の機能が含まれていてもよい。これは図8に表す振分部140及びそれを実現する振分プログラムについても同様である。要するに、ユーザ装置で1以上のプログラムが実行されることで、図5等で述べたローカルプロキシ部120、監視モジュール部130及び振分部140の各機能が実現されればよい。
[3-6] Program In the embodiment, the local proxy unit 120 is realized by the proxy program and the monitoring module unit 130 is realized by the monitoring program. However, the present invention is not limited to this. For example, both the local proxy unit 120 and the monitoring module unit 130 may be realized by a proxy program. In other words, the local proxy unit 120 may include the function of the monitoring module unit 130. The same applies to the distribution unit 140 shown in FIG. 8 and the distribution program that implements it. In short, the functions of the local proxy unit 120, the monitoring module unit 130, and the distribution unit 140 described in FIG. 5 and the like may be realized by executing one or more programs on the user device.

[3−7]発明のカテゴリ
本発明は、ユーザ装置のような通信装置の他、ユーザ装置、ウェブサーバ、監視サーバを備える通信監視システムとしても捉えられる。また、それらの装置が実施する処理を実現するための情報処理方法やそれらの装置を制御するコンピュータを機能させるためのプログラム(ウェブアプリ、プロキシプログラム、監視プログラム、振分プログラム又はこれらを組み合わせたプログラムなど)としても捉えられる。これらのプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[3-7] Category of Invention The present invention can be understood as a communication monitoring system including a user device, a web server, and a monitoring server in addition to a communication device such as a user device. In addition, an information processing method for realizing processing performed by these devices and a program for causing a computer that controls these devices to function (a web application, a proxy program, a monitoring program, a distribution program, or a combination thereof) Etc.). These programs may be provided in the form of a recording medium such as an optical disk in which they are stored, or may be downloaded to a computer via a network such as the Internet, installed and made available for use. May be provided.

1…通信監視システム、2…イントラネット、3…インターネット、10…ユーザ装置、20…ウェブサーバ、30…監視サーバ、11、21、31…制御部、12、22、32…記憶部、13、23、33…通信部、14…表示部、15…操作部、110…ウェブアプリ部、120…ローカルプロキシ部、130…監視モジュール部、140…振分部、111…サーバ証明書要求部、112、123、124、202…セッション確立部、113、203…暗号化データ送受信部、114…データ処理部、121…要求転送部、122…代替証明書提供部、125…第1通信部、126…第2通信部、127…転送部、201…サーバ証明書送信部、301…記録部 DESCRIPTION OF SYMBOLS 1 ... Communication monitoring system, 2 ... Intranet, 3 ... Internet, 10 ... User apparatus, 20 ... Web server, 30 ... Monitoring server, 11, 21, 31 ... Control part, 12, 22, 32 ... Storage part, 13, 23 33 ... Communication unit, 14 ... Display unit, 15 ... Operation unit, 110 ... Web application unit, 120 ... Local proxy unit, 130 ... Monitoring module unit, 140 ... Distribution unit, 111 ... Server certificate request unit, 112, 123, 124, 202 ... session establishment unit, 113, 203 ... encrypted data transmission / reception unit, 114 ... data processing unit, 121 ... request transfer unit, 122 ... alternative certificate providing unit, 125 ... first communication unit, 126 ... first 2 communication unit, 127 ... transfer unit, 201 ... server certificate transmission unit, 301 ... recording unit

Claims (10)

ウェブサーバと第1の暗号化通信を行う第1通信部と、
前記ウェブサーバにより処理されるデータを送信するウェブアプリ部と、
前記ウェブアプリ部と第2の暗号化通信を行う第2通信部と、
前記ウェブアプリ部から送信されてきて前記第2通信部により復号化されたデータを前記第1通信部に転送する転送部と、
前記復号化されたデータを用いた処理を行う処理部と
を備える通信装置。
A first communication unit that performs first encrypted communication with a web server;
A web application unit that transmits data to be processed by the web server;
A second communication unit that performs second encrypted communication with the web application unit;
A transfer unit that transfers data transmitted from the web application unit and decrypted by the second communication unit to the first communication unit;
And a processing unit that performs processing using the decrypted data.
前記ウェブサーバは、前記ウェブアプリ部により処理されるデータを送信し、
前記転送部は、前記ウェブサーバから送信されてきて前記第1通信部により復号化されたデータを前記第2通信部に転送する
請求項1に記載の通信装置。
The web server transmits data to be processed by the web application unit,
The communication device according to claim 1, wherein the transfer unit transfers data transmitted from the web server and decrypted by the first communication unit to the second communication unit.
前記処理部は、前記復号化されたデータを記録する処理又は当該データが条件を満たす場合に当該データの通信を中止させる処理又は当該データの内容を差し替える処理を前記処理として行う
請求項1又は2に記載の通信装置。
The processing unit performs a process of recording the decrypted data, a process of stopping communication of the data when the data satisfies a condition, or a process of replacing the content of the data as the process. The communication apparatus as described in.
前記第1通信部は、前記ウェブアプリ部からの要求に応答して前記ウェブサーバから送信されてくるサーバ証明書に含まれる公開鍵又は当該公開鍵を用いて前記ウェブアプリ部と交換した共通鍵を用いて前記第1の暗号化通信を行う
請求項1から3のいずれか1項に記載の通信装置。
The first communication unit includes a public key included in a server certificate transmitted from the web server in response to a request from the web application unit or a common key exchanged with the web application unit using the public key The communication device according to any one of claims 1 to 3, wherein the first encrypted communication is performed by using a computer.
認証局により発行され且つ公開鍵を含む証明書を前記ウェブアプリ部に提供する証明書提供部を備え、
前記ウェブアプリ部には、前記認証局の署名を有するルート証明書が登録されており、
前記第2通信部は、前記公開鍵に対応する秘密鍵又は当該秘密鍵を用いて前記ウェブアプリ部と交換した共通鍵を用いて前記第2の暗号化通信を行う
請求項1から4のいずれか1項に記載の通信装置。
A certificate providing unit that provides a certificate issued by a certificate authority and including a public key to the web application unit;
In the web application unit, a root certificate having a signature of the certificate authority is registered,
The second communication unit performs the second encrypted communication using a secret key corresponding to the public key or a common key exchanged with the web application unit using the secret key. The communication apparatus according to claim 1.
前記証明書提供部は、自身を前記認証局として、前記ウェブアプリ部に提供する証明書を発行する
請求項5に記載の通信装置。
The communication apparatus according to claim 5, wherein the certificate providing unit issues a certificate to be provided to the web application unit using itself as the certificate authority.
前記ウェブアプリ部には、複数の前記ルート証明書が登録されており、
前記証明書提供部は、前記複数のルート証明書の中から、前記ウェブサーバの種類、前記ウェブアプリ部を実現するウェブアプリケーションプログラムの種類又は前記ウェブアプリ部が送信するデータの通信に用いられる通信プロトコルの種類に応じたルート証明書を選択し、選択したルート証明書により証明される署名がされた前記証明書を前記ウェブアプリ部に提供する
請求項5又は6に記載の通信装置。
A plurality of the root certificates are registered in the web application unit,
The certificate providing unit is a communication used for communication of a type of the web server, a type of a web application program that realizes the web application unit, or data transmitted by the web application unit among the plurality of root certificates. The communication apparatus according to claim 5 or 6, wherein a root certificate corresponding to a protocol type is selected, and the web application unit is provided with the certificate signed by the selected root certificate.
前記ウェブアプリ部から前記ウェブサーバに向けて送信されたデータを受け取り、前記第1通信部、前記第2通信部及び前記転送部を経由する第1通信路と、当該各部を経由しない第2通信路のいずれかに当該データの経路を振り分ける振分部を備える
請求項1から7のいずれか1項に記載の通信装置。
A first communication path that receives data transmitted from the web application section to the web server and passes through the first communication section, the second communication section, and the transfer section, and a second communication that does not pass through the sections. The communication device according to claim 1, further comprising a distribution unit that distributes the route of the data to any one of the routes.
前記振分部は、前記ウェブサーバの種類、前記ウェブアプリ部を実現するウェブアプリケーションプログラムの種類又は前記ウェブアプリ部が送信するデータの通信に用いられる通信プロトコルの種類に応じて当該データの経路を振り分ける
請求項8に記載の通信装置。
The distribution unit determines the route of the data according to the type of the web server, the type of web application program that realizes the web application unit, or the type of communication protocol used for communication of data transmitted by the web application unit. The communication device according to claim 8.
ウェブサーバにより処理されるデータを送信するウェブアプリ部を備える通信装置を制御するコンピュータを、
前記ウェブサーバと第1の暗号化通信を行う第1通信部と、
前記ウェブアプリ部と第2の暗号化通信を行う第2通信部と、
前記ウェブサーバから送信されてきて前記第1通信部により復号化されたデータを前記第2通信部に転送する転送部と、
前記復号化されたデータを用いた処理を行う処理部
として機能させるためのプログラム。
A computer that controls a communication device including a web application unit that transmits data processed by a web server,
A first communication unit that performs first encrypted communication with the web server;
A second communication unit that performs second encrypted communication with the web application unit;
A transfer unit that transfers data transmitted from the web server and decrypted by the first communication unit to the second communication unit;
A program for causing a processing unit to perform processing using the decrypted data.
JP2015098463A 2015-05-13 2015-05-13 Communication device and program Active JP6529820B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015098463A JP6529820B2 (en) 2015-05-13 2015-05-13 Communication device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015098463A JP6529820B2 (en) 2015-05-13 2015-05-13 Communication device and program

Publications (2)

Publication Number Publication Date
JP2016213793A true JP2016213793A (en) 2016-12-15
JP6529820B2 JP6529820B2 (en) 2019-06-12

Family

ID=57552095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015098463A Active JP6529820B2 (en) 2015-05-13 2015-05-13 Communication device and program

Country Status (1)

Country Link
JP (1) JP6529820B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000508854A (en) * 1996-04-17 2000-07-11 インテル・コーポレーション Data re-encryption apparatus and method
JP2006165678A (en) * 2004-12-02 2006-06-22 Hitachi Ltd Relaying method for encryption communication, gateway server apparatus, program for encryption communication, and program storage medium for encryption communication
JP2009225108A (en) * 2008-03-17 2009-10-01 Mitsubishi Electric Corp Communication device, and server device
JP2011151785A (en) * 2009-12-25 2011-08-04 Canon It Solutions Inc Relay processing apparatus, relay processing method and program
US20140143852A1 (en) * 2008-08-21 2014-05-22 Ntrepid Corporation Secure network privacy system
US20140337613A1 (en) * 2013-05-08 2014-11-13 Phantom Technologies, Inc. Selectively performing man in the middle decryption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000508854A (en) * 1996-04-17 2000-07-11 インテル・コーポレーション Data re-encryption apparatus and method
JP2006165678A (en) * 2004-12-02 2006-06-22 Hitachi Ltd Relaying method for encryption communication, gateway server apparatus, program for encryption communication, and program storage medium for encryption communication
JP2009225108A (en) * 2008-03-17 2009-10-01 Mitsubishi Electric Corp Communication device, and server device
US20140143852A1 (en) * 2008-08-21 2014-05-22 Ntrepid Corporation Secure network privacy system
JP2011151785A (en) * 2009-12-25 2011-08-04 Canon It Solutions Inc Relay processing apparatus, relay processing method and program
US20140337613A1 (en) * 2013-05-08 2014-11-13 Phantom Technologies, Inc. Selectively performing man in the middle decryption

Also Published As

Publication number Publication date
JP6529820B2 (en) 2019-06-12

Similar Documents

Publication Publication Date Title
US9749292B2 (en) Selectively performing man in the middle decryption
JP4863777B2 (en) Communication processing method and computer system
JP4372446B2 (en) Secure ad hoc access to documents and services
KR20060100920A (en) Trusted third party authentication for web services
JP2007293760A (en) Single sign-on cooperation method and system using individual authentication
JP2010072916A (en) Data protection system and data protection method
Kambourakis et al. A PKI approach for deploying modern secure distributed e-learning and m-learning environments
JP2006018399A (en) Information processor, information processing method and program
JP6293245B1 (en) Transaction mutual monitoring system with enhanced security
Cai et al. BCSolid: a blockchain-based decentralized data storage and authentication scheme for solid
JP2006260321A (en) Service providing system and user authentication method therefor
JP6529820B2 (en) Communication device and program
JP2012181662A (en) Account information cooperation system
Millen et al. Certificate revocation the responsible way
JP2003169049A (en) Communication mediating device
Gritzalis Enhancing privacy and data protection in electronic medical environments
Hazari Challenges of implementing public key infrastructure in Netcentric enterprises
JP2009122921A (en) Authentication information transmission system, remote access management device, authentication information relay method and authentication information relay program
Ibrahim et al. A new customizable security framework for preventing WSDL attacks
CN109302287A (en) Message forwarding method and system
JP2018107625A (en) Data distribution system, data generation device, mediation device, data distribution method, and program
JP7000961B2 (en) File operation management system and file operation management method
JP4406263B2 (en) Management device, client device, and system including these devices
Reddy et al. A Novel Proxy Re-Encryption Technique for Secure Data Sharing in Cloud Environment
Binding Token Binding Working Group G. Mandyam Internet-Draft L. Lundblade Intended status: Standards Track J. Azen Expires: March 9, 2018 Qualcomm Technologies Inc. September 5, 2017

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190515

R150 Certificate of patent or registration of utility model

Ref document number: 6529820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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