[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5518158B2 - Data verification apparatus and program - Google Patents

Data verification apparatus and program Download PDF

Info

Publication number
JP5518158B2
JP5518158B2 JP2012213158A JP2012213158A JP5518158B2 JP 5518158 B2 JP5518158 B2 JP 5518158B2 JP 2012213158 A JP2012213158 A JP 2012213158A JP 2012213158 A JP2012213158 A JP 2012213158A JP 5518158 B2 JP5518158 B2 JP 5518158B2
Authority
JP
Japan
Prior art keywords
data
verification
check
unit
communication data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012213158A
Other languages
Japanese (ja)
Other versions
JP2014068271A (en
Inventor
裕之 榊原
鐘治 桜井
彰子 高木
渉 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
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 Mitsubishi Electric Corp, Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012213158A priority Critical patent/JP5518158B2/en
Publication of JP2014068271A publication Critical patent/JP2014068271A/en
Application granted granted Critical
Publication of JP5518158B2 publication Critical patent/JP5518158B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マルウエアに対処するための技術に関する。   The present invention relates to a technique for dealing with malware.

近年、マルウエアが機密情報を組織外に漏洩させる事故が問題となっている。
マルウエアを用いたサイバー攻撃は高度化され、非特許文献1に示されるAdvanced Persistent Threat(以下、「APT」という)と呼ばれる攻撃では、電子メールの添付ファイルなどで組織に侵入したマルウエアが、計算機に感染し、さらに、攻撃者が運用するインターネット上のCommand & Controlサーバ(以下、「C&Cサーバ」という」と通信し、新しいマルウエアや攻撃ツールをダウンロードしたり自身をアップデートする。
そして、マルウエアは、組織内を偵察し、ファイルサーバを見つけ、機密ファイルをC&Cサーバへ漏洩する。
マルウエアがC&Cサーバとの通信やファイルの漏洩に用いる通信は、一般的に組織とインターネット間で許可されているプロトコルであるHTTP(HyperText Transfer Protocol)が多く、ファイルの漏洩はPOSTが多い。
また、APTにおいては、マルウエアはユーザの計算機の画面をキャプチャしてC&Cサーバへ送信し、攻撃者は画面キャプチャを観察してどのような操作をユーザが実施しているか把握するケースもある。
また、C&Cサーバの命令を受け、マルウエアがファイルを検索しファイルを移動する、などの操作を行う場合もある。
このように、近年の組織へのサイバー攻撃は高度化しており、決定的な対策が無い状況にある。
In recent years, accidents in which malware leaks confidential information outside the organization have become a problem.
Cyber attacks using malware have become sophisticated, and in attacks called Advanced Persistent Threat (hereinafter referred to as “APT”) shown in Non-Patent Document 1, malware that has invaded an organization via email attachments etc. Infected, it communicates with a command & control server (hereinafter referred to as “C & C server”) on the Internet operated by the attacker, downloads new malware and attack tools, and updates itself.
The malware then scouts the organization, finds the file server, and leaks the confidential file to the C & C server.
The communication that Malware uses for communication with the C & C server and file leakage is generally HTTP (HyperText Transfer Protocol), which is a protocol that is permitted between the organization and the Internet, and file leakage is often POST.
In APT, the malware captures the screen of the user's computer and sends it to the C & C server, and the attacker may observe what the user is performing by observing the screen capture.
Also, in response to an instruction from the C & C server, the malware may perform an operation such as searching for a file and moving the file.
In this way, cyber attacks on organizations in recent years have become sophisticated and there is no definitive countermeasure.

インターネットへのファイルの情報漏洩対策として、非特許文献2に記載の技術がある。
当技術では、ファイルが組織外に送信されようとしていることを検知し、そのファイルの情報が、流通許可リストに登録されているか否かをもって、送信の可否を判断する。
As a countermeasure for information leakage of files to the Internet, there is a technique described in Non-Patent Document 2.
In the present technology, it is detected that a file is about to be transmitted outside the organization, and whether or not transmission is possible is determined based on whether or not the information of the file is registered in the distribution permission list.

「新しいタイプの攻撃」の対策に向けた設計・運用ガイド 改訂第2版,IPADesign and operation guide for countermeasures against "new types of attacks", revised 2nd edition, IPA P2Pファイル交換ソフトウエア環境におけるノード型情報流通防止機能の提案、松岡他、2008−CSEC−42Proposal of node type information distribution prevention function in P2P file exchange software environment, Matsuoka et al., 2008-CSEC-42

非特許文献2に記載の技術では、ユーザは、事前に流通許可リストへ公開可能なファイルの情報を登録する必要があり、さらに、公開可能なファイルの情報を追加/削除し常にメンテナンスする必要がある。
また、流通許可リストへのファイルの情報の登録方法についてはGUI(Graphical User Interface)を使うなどの具体的な方法が記述されていない。
近年の高度化したサイバー攻撃においては、前述したように、攻撃者がユーザの操作を観察し、どのような処理を行っているか把握したうえで、マルウエアを操作するので、流通許可リストの登録方法を模擬し、漏洩したいファイルの情報を流通許可リストに登録して、ファイルを漏洩する可能性がある。
In the technique described in Non-Patent Document 2, the user needs to register information on a file that can be disclosed in advance in the distribution permission list, and further needs to add / delete information on a file that can be disclosed and maintain it constantly. is there.
In addition, a specific method such as using GUI (Graphical User Interface) is not described as a method for registering file information in the distribution permission list.
In recent cyber attacks, as described above, the attacker operates the malware after observing the user's operation and understanding what kind of processing is being performed. There is a possibility of leaking the file by registering the information of the file to be leaked in the distribution permission list.

本発明は、上述のような事情に鑑みたものであり、公開可能なファイルの情報を登録せずに、マルウエア又は不正なユーザによる情報漏洩を防止することを主な目的とする。   The present invention has been made in view of the circumstances as described above, and has as its main object to prevent information leakage by malware or an unauthorized user without registering information on a file that can be made public.

本発明に係るデータ検証装置は、
検証の対象となる検証対象データが含まれる通信データを受信する通信データ受信部と、
前記検証対象データがマルウエア及び不正なユーザの少なくともいずれかにより不正に操作されたデータでないことを検証するのに用いられる検証情報が前記通信データに含まれているか否かを検証し、前記通信データに前記検証情報が含まれている場合に、前記検証対象データと前記検証情報とを用いて、前記検証対象データが不正に操作されたデータでないことを検証するデータ検証部と、
前記データ検証部により前記検証対象データが不正に操作されたデータでないと判定された場合に、前記通信データから前記検証情報を除外し、前記検証情報が除外された通信データを転送する通信データ転送部とを有することを特徴とする。
The data verification device according to the present invention is:
A communication data receiving unit that receives communication data including verification target data to be verified;
Verifying whether the verification data used for verifying that the verification target data is not data illegally operated by at least one of malware and an unauthorized user is included in the communication data; A data verification unit that verifies that the verification target data is not illegally operated data using the verification target data and the verification information,
Communication data transfer for excluding the verification information from the communication data and transferring the communication data excluding the verification information when the data verification unit determines that the verification target data is not illegally operated data Part.

本発明によれば、通信データに検証対象データとともに検証情報が含まれ、検証情報により検証対象データが不正に操作されたデータでないと検証できた場合のみ、通信データから検証情報を除外し、通信データを転送する。
このため、公開可能なファイルの情報を登録せずに、マルウエア又は不正なユーザによる情報漏洩を防止することができる。
According to the present invention, the verification information is included in the communication data, and the verification information is included in the communication data, and the verification information is excluded from the communication data only when the verification information includes the verification information. Transfer data.
For this reason, it is possible to prevent information leakage by malware or an unauthorized user without registering information of a file that can be opened.

実施の形態1に係る端末装置の構成例を示す図。FIG. 3 shows a configuration example of a terminal apparatus according to the first embodiment. 実施の形態1に係る検印処理部の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of a check processing unit according to the first embodiment. 実施の形態1に係る検印データの生成手順を示すフローチャート図。FIG. 3 is a flowchart showing a procedure for generating check data according to the first embodiment. 実施の形態1に係る検印データの生成手順を示すフローチャート図。FIG. 3 is a flowchart showing a procedure for generating check data according to the first embodiment. 実施の形態1に係る検査サーバ装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of an inspection server device according to the first embodiment. 実施の形態1に係る検査サーバ装置の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of the inspection server device according to the first embodiment. 実施の形態1に係る検印データの検証手順を示すフローチャート図。FIG. 4 is a flowchart showing a procedure for verifying verification data according to the first embodiment. 実施の形態1に係る検印データの検証手順を示すフローチャート図。FIG. 4 is a flowchart showing a procedure for verifying verification data according to the first embodiment. 実施の形態1に係る通信システムの概要を示す図。1 is a diagram showing an outline of a communication system according to Embodiment 1. FIG. 実施の形態1に係る検印処理用画面の例を示す図。FIG. 4 is a diagram showing an example of a check processing screen according to the first embodiment. 実施の形態1に係る検印付きファイルの例を示す図。The figure which shows the example of the file with a check which concerns on Embodiment 1. FIG. 実施の形態2に係る端末装置の構成例を示す図。FIG. 6 shows a configuration example of a terminal apparatus according to Embodiment 2. 実施の形態2に係る検印処理部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a check processing unit according to the second embodiment. 実施の形態3に係る端末装置の構成例を示す図。FIG. 9 shows a configuration example of a terminal apparatus according to Embodiment 3. 実施の形態3に係る検印処理部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a marking processing unit according to the third embodiment. 実施の形態4に係る検印処理部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a check processing unit according to the fourth embodiment. 実施の形態4に係るシステム構成例を示す図。FIG. 10 is a diagram illustrating an example of a system configuration according to a fourth embodiment. 実施の形態5に係る検印処理用画面の例を示す図。FIG. 10 is a diagram illustrating an example of a check processing screen according to a fifth embodiment. 実施の形態5に係る検印付きファイルの例を示す図。The figure which shows the example of the file with a check which concerns on Embodiment 5. FIG. 実施の形態5に係る端末装置の構成例を示す図。FIG. 6 shows a configuration example of a terminal apparatus according to Embodiment 5. 実施の形態6に係る検印追加部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a marking addition unit according to a sixth embodiment. 実施の形態6に係る検査対象データ分解部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an inspection target data decomposition unit according to a sixth embodiment. 実施の形態6に係る検印追加部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a marking addition unit according to a sixth embodiment. 実施の形態6に係る検査対象データ分解部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an inspection target data decomposition unit according to a sixth embodiment. 実施の形態6に係る検印追加部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a marking addition unit according to a sixth embodiment. 実施の形態6に係る検査対象データ分解部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an inspection target data decomposition unit according to a sixth embodiment. 実施の形態7に係る通信システムの概要を示す図。FIG. 18 shows an overview of a communication system according to a seventh embodiment. 実施の形態8に係る通信システムの概要を示す図。FIG. 19 is a diagram showing an outline of a communication system according to an eighth embodiment. 実施の形態1〜8に係る端末装置及び検査サーバ装置のハードウエア構成例を示す図。The figure which shows the hardware structural example of the terminal device which concerns on Embodiment 1-8, and an inspection server apparatus.

実施の形態1〜8では、HTTP POSTや電子メールの添付ファイルで組織外に送信するファイルに検印を付与し、プロキシサーバやメールサーバで検印を確認し、検印が正しく付与されている場合に、検印を除去したうえで組織外に送信を許可することで、マルウエアによる情報漏洩を防止する構成を説明する。
つまり、実施の形態1〜8では、ユーザがHTTP POSTでインターネット上のWebサイトへファイル送信を行っていることを確実に識別し、それ以外のHTTP POSTによるファイル送信をブロックすることで、ユーザが意図せぬファイル送信をブロックし、情報漏洩を防止する。
そして、本方式では、組織外に送信可能なリストを管理する必要が無く、マルウエアによる本方式の模擬による不正なHTTP POSTについても対策を講じてある。
In the first to eighth embodiments, when a check is given to a file to be transmitted outside the organization using an HTTP POST or an email attachment, and the check is confirmed by a proxy server or a mail server, the check is correctly given. A configuration for preventing information leakage by malware by permitting transmission outside the organization after removing the seal will be described.
In other words, in the first to eighth embodiments, the user can be surely identified that the user is performing file transmission to a website on the Internet using HTTP POST, and the user can block the file transmission using the other HTTP POST. Block unintentional file transmission and prevent information leakage.
In this method, it is not necessary to manage a list that can be transmitted outside the organization, and countermeasures are taken against illegal HTTP POST by malware simulating this method.

実施の形態1.
本実施の形態に係る通信システムの構成例と動作の概要を図9に示す。
Embodiment 1 FIG.
FIG. 9 shows a configuration example of the communication system according to the present embodiment and an outline of the operation.

図9において、端末装置5000は、ユーザ5005が利用するコンピュータである。
端末装置5000は、通信装置の例に相当する。
端末装置5000は、ハードウエアとして、例えば、CPU(Central Processing Unit)、メモリ、ハードディスク装置、通信カードが配備されている。
また、端末装置5000には、ソフトウエアとして、例えば、ブラウザ5004と検印処理部5002が含まれている。
ファイル5001は、端末装置5000が、ブラウザ5004を用いて、Webサーバ装置5012にHTTPにより送信するファイルである。
検印処理部5002は、ファイル5001に検印を付与する手段である。
検印付きファイル5003は、検印処理部5002によりファイル5001に検印が付与されたファイルである。
In FIG. 9, a terminal device 5000 is a computer used by a user 5005.
The terminal device 5000 corresponds to an example of a communication device.
The terminal device 5000 is provided with, for example, a CPU (Central Processing Unit), a memory, a hard disk device, and a communication card as hardware.
Further, the terminal device 5000 includes, for example, a browser 5004 and a check processing unit 5002 as software.
A file 5001 is a file that the terminal device 5000 transmits to the Web server device 5012 using the browser 5004 by HTTP.
A check processing unit 5002 is a means for giving a check to the file 5001.
A file 5003 with a check is a file in which a check is given to the file 5001 by the check processing unit 5002.

検査サーバ装置5009は、プロキシサーバ装置5008と連携し、HTTP POSTデータ内のデータを検査し、HTTP POSTされる内容を検査する。
検査サーバ装置5009は、データ検証装置の例に相当する。
The inspection server device 5009 cooperates with the proxy server device 5008 to inspect data in the HTTP POST data and inspect the contents to be HTTP POSTed.
The inspection server device 5009 corresponds to an example of a data verification device.

動作の概要について図9を用いて以下に記述する。
なお、以下の(1)〜(5)は、図9の(1)〜(5)に対応している。
An outline of the operation will be described below with reference to FIG.
The following (1) to (5) correspond to (1) to (5) in FIG.

(1)ユーザ5005は、Webサーバ装置5012にHTTPでPOSTしたいファイル5001に対して、本実施の形態に係る検印処理部5002で検印を付与し、検印付きファイル5003を生成する。
検印付きファイル5003は、もとのファイル5001と検印データとユーザ識別子に分離可能である。
検印データ及びユーザ識別子は、ファイル5001がマルウエアにより操作されたデータでないことを検証するのに用いられる情報である。
(1) The user 5005 gives a check to the file 5001 to be POSTed to the Web server apparatus 5012 using the check processing unit 5002 according to this embodiment, and generates a file 5003 with a check.
The file with check 5003 can be separated into the original file 5001, check data, and a user identifier.
The check data and the user identifier are information used to verify that the file 5001 is not data operated by malware.

(2)ユーザ5005は、ブラウザ5004でWebサーバ装置5012のWebページを表示し、ファイル送信のページにおいて、ファイル5001の代わりに、検印付きファイル5003を端末装置5000から送信する。
この時、ブラウザ5004は、HTTPのボディ(メッセージボディ、以下、HTTPボディと表記する)に、検印付きファイル5003を含めるが、この処理は一般のブラウザに備わっている機能である。
なお、端末装置5000からは、検印付きファイル5003はHTTP POSTデータ5006として送信される。
HTTP POSTデータ5006は、HTTPヘッダとHTTPボディで構成される。
なお、厳密には、HTTP POSTデータ5006には、HTTPヘッダとHTTPボディの他に、リクエストラインや空行も含まれるが、これらは、本実施の形態の説明に直接関係しないため割愛する。
(2) The user 5005 displays the Web page of the Web server device 5012 using the browser 5004, and transmits a file 5003 with a check from the terminal device 5000 instead of the file 5001 on the file transmission page.
At this time, the browser 5004 includes a file 5003 with a check mark in the HTTP body (message body, hereinafter referred to as an HTTP body), and this processing is a function provided in a general browser.
Note that the file 5003 with a check is transmitted as HTTP POST data 5006 from the terminal device 5000.
The HTTP POST data 5006 includes an HTTP header and an HTTP body.
Strictly speaking, the HTTP POST data 5006 includes a request line and a blank line in addition to the HTTP header and the HTTP body, but these are omitted because they are not directly related to the description of the present embodiment.

(3)検印付きファイル5003が含まれるHTTP POSTデータ5006は、端末装置5000からLAN5013を経由し、(ネットワーク)スイッチ5007を通りプロキシサーバ装置5008に送信される。
なお、プロキシサーバ装置5008へは、HTTP POSTデータ5006にIPヘッダ、TCPヘッダ等が付加されたパケットとして送信される。
(3) The HTTP POST data 5006 including the file 5003 with the check mark is transmitted from the terminal device 5000 to the proxy server device 5008 via the LAN 5013, through the (network) switch 5007.
Note that the proxy server device 5008 is transmitted as a packet in which an IP header, a TCP header, and the like are added to the HTTP POST data 5006.

(4)プロキシサーバ装置5008は、受信した、検印付きファイル5003を含んだHTTP POSTデータ5006をネットワーク経由などで検査サーバ装置5009に転送する。
プロキシサーバ装置5008が外部機能を利用するプロトコルである「internet content adaptation protocol」などを使用してもよい。
なお、ネットワーク経由だけでなく、プロキシサーバ装置5008と検査サーバ装置5009間において、検印付きファイル5003を含んだHTTP POSTデータ5006を物理媒体経由(オフライン)で受け渡しするようにしてもよい。
(4) The proxy server device 5008 transfers the received HTTP POST data 5006 including the file 5003 with a check to the inspection server device 5009 via a network or the like.
The proxy server device 5008 may use “internet content adaptation protocol” which is a protocol using an external function.
Note that the HTTP POST data 5006 including the file 5003 with a check may be transferred not only via the network but also between the proxy server device 5008 and the inspection server device 5009 via a physical medium (offline).

(5)検査サーバ装置5009は、検印付きファイル5003を含んだHTTP POSTデータ5006を受信する。
また、検査サーバ装置5009は、抽出したHTTP POSTデータ5006の検印を検証する。
つまり、検査サーバ装置5009は、HTTP POSTデータ5006に検印データ及びユーザ識別子が含まれているかを判定し、HTTP POSTデータ5006に検印データ及びユーザ識別子が含まれている場合は、ファイル5001がマルウエアにより操作されたデータでないかどうかを検証する。
検印データ及びユーザ識別子が存在し、検印データ及びユーザ識別子が正しければ(ファイル5001がマルウエアにより操作されたデータでなければ)、検査サーバ装置5009は、検印付きファイル5003から検印データ及びユーザ識別子を削除し、ファイル5001を含んだHTTP POSTデータ5010を生成する。
一方、HTTP POSTデータ5006に検証データ及びユーザ識別子が含まれていない場合や、検印データ及びユーザ識別子が正しくない場合は、検査サーバ装置5009は、エラーを出力する。
(5) The inspection server device 5009 receives the HTTP POST data 5006 including the file 5003 with a seal.
Also, the inspection server device 5009 verifies the marking of the extracted HTTP POST data 5006.
In other words, the inspection server device 5009 determines whether the HTTP POST data 5006 includes the check data and the user identifier. If the HTTP POST data 5006 includes the check data and the user identifier, the file 5001 is created by malware. Verifies that the data is not manipulated.
If the check data and user identifier exist and the check data and user identifier are correct (if the file 5001 is not data operated by malware), the inspection server device 5009 deletes the check data and user identifier from the file 5003 with the check. Then, HTTP POST data 5010 including the file 5001 is generated.
On the other hand, when the verification data and the user identifier are not included in the HTTP POST data 5006, or when the check data and the user identifier are not correct, the inspection server device 5009 outputs an error.

(6)検査サーバ装置5009は、検印データ及びユーザ識別子が正しい場合は、ファイル5001を含んだHTTP POSTデータ5010をプロキシサーバ装置5008へネットワーク経由などで転送する。
検査サーバ装置5009がエラーを出力した場合は、これをプロキシサーバ装置5008へ転送する。
(6) When the check data and the user identifier are correct, the inspection server device 5009 transfers the HTTP POST data 5010 including the file 5001 to the proxy server device 5008 via a network or the like.
If the inspection server device 5009 outputs an error, it transfers this to the proxy server device 5008.

(7)プロキシサーバ装置5008は、検査サーバ装置5009から受け取った、ファイル5001を含んだHTTP POSTデータ5010を、インターネット5011を経由してWebサーバ装置5012へ送信する。
プロキシサーバ装置5008は、検査サーバ装置5009からエラーを受け取った場合は、インターネットへ何も送信せず、ユーザ5005の端末装置5000へHTTPのエラーメッセージを送る。
(7) The proxy server device 5008 transmits the HTTP POST data 5010 including the file 5001 received from the inspection server device 5009 to the Web server device 5012 via the Internet 5011.
When the proxy server device 5008 receives an error from the inspection server device 5009, it sends nothing to the Internet and sends an HTTP error message to the terminal device 5000 of the user 5005.

次に、図9の端末装置5000の詳細を図1及び図2を用いて説明する。
図1は、端末装置5000の内部構成例を示し、図2は、端末装置5000の動作例を示す。
なお、図1及び図2では、端末装置1及び検印処理部100と表記している。
また、図1では、本実施の形態の説明に必要な要素だけを示しており、図1に示す以外の要素が端末装置1に追加されてもよい。
Next, details of the terminal device 5000 in FIG. 9 will be described with reference to FIGS. 1 and 2.
FIG. 1 shows an internal configuration example of the terminal device 5000, and FIG. 2 shows an operation example of the terminal device 5000.
In FIG. 1 and FIG. 2, the terminal device 1 and the check processing unit 100 are described.
Further, FIG. 1 shows only elements necessary for the description of the present embodiment, and elements other than those shown in FIG. 1 may be added to the terminal device 1.

図1に示すように、検印処理部100は、データ入力部101、検印生成部102、検印鍵保存部103、検印追加部105及び検印データ出力部106に大別される。   As shown in FIG. 1, the check processing unit 100 is roughly divided into a data input unit 101, a check generation unit 102, a check key storage unit 103, a check addition unit 105, and a check data output unit 106.

検印処理部100において、データ入力部101は、検印対象データ1201を入力する。
検印対象データ1201は、例えば、図9におけるファイル5001である。
データ入力部101は、入力された検印対象データ1201を被検印データ1101として出力する(図2のS101)。
データ入力部101は、例えば、ファイル5001のファイル構造から、実際のデータ部分を取り出す処理を行い、被検印データ1101として出力する。
なお、被検印データ1101は検証対象データの例に相当する。
In the check processing unit 100, the data input unit 101 inputs the check target data 1201.
The check target data 1201 is, for example, the file 5001 in FIG.
The data input unit 101 outputs the input check target data 1201 as the check mark data 1101 (S101 in FIG. 2).
For example, the data input unit 101 performs a process of extracting an actual data portion from the file structure of the file 5001 and outputs it as test mark data 1101.
The test mark data 1101 corresponds to an example of verification target data.

検印生成部102は、被検印データ1101を入力し、また、ユーザ5005の識別子である、ユーザ識別子1207を入力する。
ユーザ識別子1207は、GUIから入力してもよいし、設定ファイルから読み込んでもよい。
次に、検印生成部102は、検印鍵保存部103に検印鍵読み込み命令1102を出力する。
検印鍵読み込み命令1102には、ユーザ識別子1207が含まれている。
The check mark generation unit 102 inputs the check mark data 1101 and also inputs a user identifier 1207 that is an identifier of the user 5005.
The user identifier 1207 may be input from a GUI or may be read from a setting file.
Next, the check mark generation unit 102 outputs a check key read command 1102 to the check key storage unit 103.
The verification key read command 1102 includes a user identifier 1207.

検印鍵保存部103は、内部に、ユーザ識別子1207に対応付けて検印鍵1103を保存している。
検印鍵保存部103は、検印鍵読み込み命令1102に含まれるユーザ識別子1207に該当する検印鍵1103を取り出し、取り出した検印鍵1103を検印生成部102に出力し、検印生成部102は、検印鍵1103を入力する(図2のS102_1)。
検印鍵1103は、図9のユーザ5005が保持する公開鍵暗号のprivate keyであり、ユーザ5005しかその値を知らないものである。
The check key storage unit 103 stores a check key 1103 in association with the user identifier 1207 inside.
The check key storage unit 103 takes out the check key 1103 corresponding to the user identifier 1207 included in the check key read command 1102, outputs the extracted check key 1103 to the check generation unit 102, and the check generation unit 102 receives the check key 1103. Is input (S102_1 in FIG. 2).
The verification key 1103 is a private key for private key encryption held by the user 5005 in FIG. 9, and only the user 5005 knows its value.

検印生成部102は、被検印データ1101に対して、検印鍵1103を用いて検印データ1105を生成する(図2のS102_2)。
検印データの生成手順を、図3のフローチャートを用いて説明する。
The check mark generation unit 102 generates check mark data 1105 for the check mark data 1101 using the check key 1103 (S102_2 in FIG. 2).
The procedure for generating the check data will be described with reference to the flowchart of FIG.

検印生成部102は、被検印データ1101を一方向性ハッシュ関数h()に入力する(図3のS201_sp1)。
次に、検印生成部102は、一方向性ハッシュ関数h()の出力を、検印鍵1103(private key)で暗号化する。
この処理は、一般的な公開鍵暗号を用いた署名処理である。
そして、暗号化した結果を、検印データ1105とする(図3のS201_sp2)。
The check mark generation unit 102 inputs the check mark data 1101 to the one-way hash function h () (S201_sp1 in FIG. 3).
Next, the check generation unit 102 encrypts the output of the one-way hash function h () with a check key 1103 (private key).
This process is a signature process using general public key cryptography.
Then, the result of encryption is used as verification data 1105 (S201_sp2 in FIG. 3).

検印生成部102は、生成した検印データ1105を検印追加部105へ出力する(図2のS102_3)。   The check generation unit 102 outputs the generated check data 1105 to the check addition unit 105 (S102_3 in FIG. 2).

検印追加部105は、被検印データ1101と、検印データ1105と、ユーザ識別子1207を入力し、これらを連結して検印付きデータ1106を生成し、生成した検印付きデータ1106を検印データ出力部106へ出力する(図2のS105)。
検印データ1105及びユーザ識別子1207は検証情報の例に相当する。
The check adding unit 105 inputs the check mark data 1101, the check data 1105, and the user identifier 1207, concatenates them to generate the data 1106 with the check, and the generated data 1106 with the check to the check data output unit 106. This is output (S105 in FIG. 2).
The check data 1105 and the user identifier 1207 correspond to examples of verification information.

検印データ出力部106は入力した検印付きデータ1106を検印付きデータ1204として出力する。
検印付きデータ1204は、例えば、図9における検印付きファイル5003である(図2のS106)。
検印データ出力部106は、検印付きデータ1106をファイル構造へ変換して出力する。
The check data output unit 106 outputs the input data 1106 with the check as data 1204 with the check.
The data 1204 with a seal is, for example, the file 5003 with a seal in FIG. 9 (S106 in FIG. 2).
The check data output unit 106 converts the data 1106 with the check into a file structure and outputs it.

パケット生成部107は、検印データ出力部106から検印付きデータ1204を入力し、検印付きデータ1204をHTTPボディとし、HTTPボディにHTTPヘッダを付加してHTTP POSTデータを生成する。
このHTTP POSTデータが通信データの例に相当する。
更に、パケット生成部107は、HTTP POSTデータにIPヘッダ、TCPヘッダ等を追加して、パケットを生成する。
パケット生成部107は、例えば、ブラウザ5004に含まれる機能である。
The packet generator 107 receives the data 1204 with the seal from the seal data output unit 106, uses the data 1204 with the seal as an HTTP body, and adds an HTTP header to the HTTP body to generate HTTP POST data.
This HTTP POST data corresponds to an example of communication data.
Further, the packet generation unit 107 generates a packet by adding an IP header, a TCP header, and the like to the HTTP POST data.
The packet generation unit 107 is a function included in the browser 5004, for example.

パケット送信部108は、パケット生成部107により生成されたパケットをLAN5013に送信する。
パケット送信部108も、例えば、ブラウザ5004に含まれる機能である。
The packet transmission unit 108 transmits the packet generated by the packet generation unit 107 to the LAN 5013.
The packet transmission unit 108 is also a function included in the browser 5004, for example.

次に、検査サーバ装置5009の詳細を図5及び図6を用いて説明する。
図5は、検査サーバ装置5009の内部構成例を示し、図6は、検査サーバ装置5009の動作例を示す。
なお、図5及び図6では、検査サーバ装置3と表記している。
また、図5では、本実施の形態の説明に必要な要素だけを示しており、図5に示す以外の要素が検査サーバ装置3に追加されてもよい。
Next, details of the inspection server device 5009 will be described with reference to FIGS.
FIG. 5 shows an example of the internal configuration of the inspection server device 5009, and FIG. 6 shows an operation example of the inspection server device 5009.
5 and 6, the inspection server device 3 is described.
FIG. 5 shows only elements necessary for the description of the present embodiment, and elements other than those shown in FIG. 5 may be added to the inspection server device 3.

検査サーバ装置3において、データ入力部301は、送信対象データ3201を入力する。
送信対象データ3201は、端末装置1から送信されたパケットである。
送信対象データ3201は、ネットワークから入力されるため、図9における、検印付きファイル5003を含んだHTTP POSTデータ5006以外の要素を含む。
検印付きファイル5003を含んだHTTP POSTデータ5006は、送信対象データ3201のボディ部に含まれる。
ボディ部以外は、ヘッダ部であり、HTTP POSTデータ5006とは関係がない。
このため、データ入力部301は送信対象データ3201を解釈し、送信対象データ3201からボディ部を取り出すことで、検印付きファイルを含んだHTTP POSTデータ5006を取り出す処理を行う。
この取り出したデータを、送信対象データ3101とする。
つまり、データ入力部301は、入力された送信対象データ3201を送信対象データ3101として出力する(図6のS301)。
In the inspection server device 3, the data input unit 301 inputs transmission target data 3201.
The transmission target data 3201 is a packet transmitted from the terminal device 1.
Since the transmission target data 3201 is input from the network, the transmission target data 3201 includes elements other than the HTTP POST data 5006 including the check-added file 5003 in FIG.
HTTP POST data 5006 including a file 5003 with a seal is included in the body part of the transmission target data 3201.
The part other than the body part is a header part and has nothing to do with the HTTP POST data 5006.
For this reason, the data input unit 301 interprets the transmission target data 3201 and extracts the body part from the transmission target data 3201 to perform processing for extracting the HTTP POST data 5006 including the file with the check mark.
This extracted data is set as transmission target data 3101.
That is, the data input unit 301 outputs the input transmission target data 3201 as the transmission target data 3101 (S301 in FIG. 6).

送信対象データ分解部302は、送信対象データ3101を入力し、非検査対象データ3103と検査対象データ3102に分解し、各々を出力する(図6のS302)。
例えば、検印付きファイル5003を含んだHTTP POSTデータ5006を送信対象データ3101とした場合、非検査対象データ3103は、HTTPヘッダが該当し、検査対象データ3102は、HTTPボディが該当する。
The transmission target data decomposition unit 302 receives the transmission target data 3101, decomposes it into non-inspection target data 3103 and inspection target data 3102, and outputs each of them (S302 in FIG. 6).
For example, when the HTTP POST data 5006 including the file 5003 with the check mark is the transmission target data 3101, the non-inspection target data 3103 corresponds to the HTTP header, and the inspection target data 3102 corresponds to the HTTP body.

以下はHTTP POSTデータのフォーマット例であるが、リクエストライン〜空行までは、前記のHTTPヘッダが該当し、メッセージボディが、前記のHTTPボディに該当する。
なお、xxxには実際には適切な値が設定される。
The following is an example format of HTTP POST data. From the request line to the blank line, the HTTP header corresponds to the message body, and the message body corresponds to the HTTP body.
Note that an appropriate value is actually set for xxx.

・リクエストライン
POST/cgi−bin/submit.xxx HTTP/1.1
・リクエスト・ヘッダフィールド
Accept:xxx
Accept−Language:ja
Accept−Encoding:xxx
Referer:http://○○○.sample.△△△/shinsei.html
User−Agent:xxx
Host:○○○.sample.△△△
・一般ヘッダフィールド
Pragma:xxx
Cookie:xxx
・エンティティヘッダフィールド
Content−Type:xxx
Content−Length:xx
・空行(CR(0x0d)+LF(0x0a)のみの行)
・メッセージ・ボディ(POSTするファイルのデータが入る)
xxx
Request line POST / cgi-bin / submit. xxx HTTP / 1.1
Request header field Accept: xxx
Accept-Language: ja
Accept-Encoding: xxx
Referer: http: // OOXXX. sample. ΔΔΔ / shinsei. html
User-Agent: xxx
Host: XXX. sample. △△△
General header field Pragma: xxx
Cookie: xxx
Entity header field Content-Type: xxx
Content-Length: xx
・ Empty line (CR (0x0d) + LF (0x0a) only line)
-Message body (contains data of the file to be posted)
xxx

検査対象データ分解部303は、検査対象データ3102を入力し、検印データ3104と被検印データ3105とユーザ識別子3109に分解して各々を出力する(図6のS303)。
検印データ3104は、図1における検印データ1105であり、被検印データ3105は、図1における被検印データ1101である。
ユーザ識別子3109は、図1におけるユーザ識別子1207である。
The inspection object data decomposing unit 303 receives the inspection object data 3102, decomposes it into the check data 3104, the test mark data 3105, and the user identifier 3109 and outputs each of them (S 303 in FIG. 6).
The check data 3104 is the check data 1105 in FIG. 1, and the check data 3105 is the check data 1101 in FIG.
The user identifier 3109 is the user identifier 1207 in FIG.

検印検証部304は、検印データ3104と被検印データ3105とユーザ識別子1207を入力する。
検印検証部304は、検証鍵保存部305に、検証鍵読み込み命令3106を出力する。
検証鍵読み込み命令3106には、ユーザ識別子3109が含まれる。
検証鍵保存部305は、ユーザ識別子3109に該当する検証鍵3107を取り出し、取り出した検証鍵3107を検印検証部304へ出力し、検印検証部304は検証鍵3107を入力する(図6のS304_1)。
The check verification unit 304 inputs the check data 3104, the check data 3105, and the user identifier 1207.
The verification verification unit 304 outputs a verification key read command 3106 to the verification key storage unit 305.
The verification key read command 3106 includes a user identifier 3109.
The verification key storage unit 305 extracts the verification key 3107 corresponding to the user identifier 3109, outputs the extracted verification key 3107 to the verification verification unit 304, and the verification verification unit 304 inputs the verification key 3107 (S304_1 in FIG. 6). .

検印検証部304は、検証鍵3107を用いて、検印データ3104と被検印データ3105から、検印データ3104を検証する(図6のS304_2)。
検印データ3104の検証手順を図7のフローチャートを用いて説明する。
The seal verification unit 304 verifies the seal data 3104 from the seal data 3104 and the seal data 3105 using the verification key 3107 (S304_2 in FIG. 6).
A verification procedure of the check data 3104 will be described with reference to the flowchart of FIG.

検印検証部304は、被検印データ3105を一方向性ハッシュ関数h()に入力し、この結果をh1とする(図7のS304_vp1)。
また、検印検証部304は、検印データ3104を検証鍵3107(図9のユーザ5005の公開鍵暗号のpublic key)で復号し、結果をh2とする(図7のS304_vp2)。
次に、検印検証部304は、前記h1と、h2の結果を比較し、一致するか確認する(図7のS304_vp3)。
一致すれば検印データ3104は検証成功と判断する(図7のS304_vp4)。
つまり、被検印データ3105はマルウエアにより送信されたものではないと判断する。
一方、h1とh2が一致しない場合は、検証失敗と判断する(図7のS304_vp5)。
この処理は、一般的な公開鍵暗号による署名の検証処理である。
暗号化/復号処理においては、データをpublic keyで暗号化し、private keyで復号を行うが、署名/検証処理においては、private keyで暗号化し、public keyで復号する。
また、署名対象のデータが大きい場合に、署名対象のデータそのものではなく、一方向性ハッシュ関数で縮小したデータに対して署名/検証を行う(本実施の形態で示した例が該当する)。
The check verification unit 304 inputs the check mark data 3105 to the one-way hash function h (), and sets the result as h1 (S304_vp1 in FIG. 7).
Further, the seal verification unit 304 decrypts the seal data 3104 with the verification key 3107 (the public key encryption public key of the user 5005 in FIG. 9), and sets the result as h2 (S304_vp2 in FIG. 7).
Next, the seal verification unit 304 compares the results of h1 and h2, and confirms whether they match (S304_vp3 in FIG. 7).
If they match, it is determined that the verification data 3104 is successfully verified (S304_vp4 in FIG. 7).
That is, it is determined that the test mark data 3105 is not transmitted by malware.
On the other hand, if h1 and h2 do not match, it is determined that the verification has failed (S304_vp5 in FIG. 7).
This process is a signature verification process using general public key cryptography.
In the encryption / decryption process, data is encrypted with the public key and decrypted with the private key. In the signature / verification process, the data is encrypted with the private key and decrypted with the public key.
Further, when the data to be signed is large, the signature / verification is performed not on the data to be signed itself but on the data reduced by the one-way hash function (the example shown in this embodiment corresponds).

なお、検印処理部100における検印生成部102が保持する一方向性ハッシュ関数と、公開鍵暗号のアルゴリズムは、各々、検査サーバ装置3における検印検証部304が保持する一方向性ハッシュ関数と、公開鍵暗号のアルゴリズムと一致させる。
予め、検印処理部100と検査サーバ装置3で使用するアルゴリズムを合意し、実装してもよい。
また、複数のアルゴリズムを実装可能である場合、署名のフォーマットに何のアルゴリズムを使用したか含める方法がある。
検印処理部100は、署名に使用した一方向性ハッシュ関数と、公開鍵暗号のアルゴリズムの識別子を署名のフォーマットに含め、検査サーバ装置3は署名のフォーマットから署名に使用した一方向性ハッシュ関数と、公開鍵暗号のアルゴリズムの識別子を取り出し、検証に使用するアルゴリズムを判断する。
この様な方法は、既存の技術を使用してもよい。
It should be noted that the one-way hash function held by the check-mark generation unit 102 in the check-processing unit 100 and the public key encryption algorithm are the one-way hash function held by the check-verification unit 304 in the check server device 3 and the public one, respectively. Match the key encryption algorithm.
An algorithm used in advance by the check processing unit 100 and the inspection server device 3 may be agreed and implemented.
In addition, when a plurality of algorithms can be implemented, there is a method of including what algorithm is used in the signature format.
The check processing unit 100 includes the one-way hash function used for the signature and the identifier of the algorithm of the public key encryption in the signature format, and the inspection server device 3 uses the one-way hash function used for the signature from the signature format. Then, the identifier of the public key encryption algorithm is taken out and the algorithm used for verification is determined.
Such a method may use existing technology.

検印検証部304は、検印データ3104が空ではなく、かつ、検印が正しければ、被検印データ3105を出力する(図7のS304_3)。
検印検証部304は、検印データ3104が空の場合(検印データ3104が存在しない)、或いは、検印データの検証が正しく無い場合は、エラー通知3203を出力する。
If the verification data 3104 is not empty and the verification is correct, the verification verification unit 304 outputs the verification data 3105 (S304_3 in FIG. 7).
The check verification unit 304 outputs an error notification 3203 when the check data 3104 is empty (the check data 3104 does not exist) or when the check data is not verified correctly.

送信データ生成部306は、被検印データ3105と非検査対象データ3103を入力し、これらを連結し、修正送信データ3108を出力する(図7のS306)。
修正送信データ3108は、図9における、ファイル5001を含んだHTTP POSTデータ5010が該当する。
すなわち、修正送信データ3108は、送信対象データ3101から検印データ3104及びユーザ識別子3109が除外されたデータである。
The transmission data generation unit 306 inputs the inspection mark data 3105 and the non-inspection target data 3103, concatenates them, and outputs the corrected transmission data 3108 (S306 in FIG. 7).
The modified transmission data 3108 corresponds to the HTTP POST data 5010 including the file 5001 in FIG.
That is, the corrected transmission data 3108 is data obtained by excluding the verification data 3104 and the user identifier 3109 from the transmission target data 3101.

データ出力部307は、修正送信データ3108を入力し、修正送信データ3202を出力する(図7のS307)。
修正送信データ3202は、例えば、ネットワークへ出力されるため、ファイル5001を含んだHTTP POSTデータ5010をボディ部に含めたネットワークデータ(パケット)である必要がある。
データ出力部307はネットワークデータを生成し、ボディ部にファイル5001を含んだHTTP POSTデータ5010を含めることで、ネットワークデータとして修正送信データ3202を出力する。
The data output unit 307 receives the corrected transmission data 3108 and outputs the corrected transmission data 3202 (S307 in FIG. 7).
The modified transmission data 3202 is output to a network, for example, and therefore needs to be network data (packet) including HTTP POST data 5010 including the file 5001 in the body portion.
The data output unit 307 generates network data, and includes the HTTP POST data 5010 including the file 5001 in the body part, thereby outputting the corrected transmission data 3202 as network data.

なお、図5において、データ入力部301は通信データ受信部の例に相当し、検印検証部304はデータ検証部の例に相当し、送信データ生成部306及びデータ出力部307は通信データ転送部の例に相当する。   In FIG. 5, the data input unit 301 corresponds to an example of a communication data receiving unit, the seal verification unit 304 corresponds to an example of a data verification unit, and the transmission data generation unit 306 and the data output unit 307 are communication data transfer units. It corresponds to the example.

図9の検印処理部5002(図1の検印処理部100)がユーザ5005に提示する画面データの例を検印処理用画面6001として、図10に示す。
検印処理用画面6001において、ユーザ5005は、送信するファイルを、送信対象ファイル6002の欄において指定する。
図10の例では、「C:¥work¥sample.csv」を指定している。
次に、ユーザ5005は、検印したファイルを出力するファイル名を、検印付きファイルの出力パス6003の欄に指定する。
図10の例では、「C:¥work¥sample.csv.sig」を指定している。
次に、ユーザ5005は、検印ボタン6004を押す。
この時、検印処理部5002(検印処理部100)は、認証画面6005を表示して、ユーザ5005にパスワードを入力させてもよい。
この結果、「C:¥work¥sample.csv」(図9のファイル5001に相当)に検印を付与したファイルである、「C:¥work¥sample.csv.sig」が出力される(図9の検印付きファイル5003に相当)。
また、図1においては、送信対象ファイル6002は、送信対象ファイル1205に該当し、検印付きファイルの出力パス6003は、検印付きファイルの出力パス1206に該当する。
An example of screen data presented to the user 5005 by the check processing unit 5002 in FIG. 9 (the check processing unit 100 in FIG. 1) is shown as a check processing screen 6001 in FIG.
In the check processing screen 6001, the user 5005 designates a file to be transmitted in the field of the transmission target file 6002.
In the example of FIG. 10, “C: ¥ work ¥ sample.csv” is designated.
Next, the user 5005 designates the file name for outputting the checked file in the column of the output path 6003 of the file with the check.
In the example of FIG. 10, “C: ¥ work ¥ sample.csv.sig” is designated.
Next, the user 5005 presses a check button 6004.
At this time, the check processing unit 5002 (the check processing unit 100) may display the authentication screen 6005 and allow the user 5005 to input a password.
As a result, “C: ¥ work ¥ sample.csv.sig”, which is a file to which “C: ¥ work ¥ sample.csv” (corresponding to the file 5001 in FIG. 9) is added, is output (FIG. 9). Equivalent to a file 5003 with a check mark).
In FIG. 1, the transmission target file 6002 corresponds to the transmission target file 1205, and the output path 6003 of the file with a check corresponds to the output path 1206 of the file with a check.

図9のファイル5001と、検印付きファイル5003の関係を図11に示す。
ファイル7001(図9のファイル5001)に検印を付与すると、検印付きファイル7002(図9の検印付きファイル5003)の様に、ファイル7001の前に検印データ(B&M9`@/Q!…)とユーザ識別子が連結される。
なお、図11の形式は一例であり、検印のアルゴリズムによっては、他のフォーマットをとり得る。
FIG. 11 shows the relationship between the file 5001 in FIG. 9 and the file 5003 with a check.
When a check is added to the file 7001 (file 5001 in FIG. 9), the check data (B & M9 ` @ / Q! ...) and the user are added to the file 7001 like the file 7002 with the check (file 5003 with the check in FIG. 9). Identifiers are concatenated.
Note that the format of FIG. 11 is an example, and other formats may be used depending on the algorithm of the check.

本実施の形態における、検印鍵1103と検証鍵3107の運用は例えば以下がある。   Examples of operations of the verification key 1103 and the verification key 3107 in the present embodiment are as follows.

ユーザ5005が、公開鍵暗号の鍵ペア(private key/public key)を生成し、private keyをユーザ識別子1207と共に検印処理部100の検印鍵保存部103に保存する。
さらに、検査サーバ装置3の管理者に依頼して、public keyをユーザ5005のユーザ識別子1207と共に検査サーバ装置3の検証鍵保存部305に保存してもらう。
The user 5005 generates a public key encryption key pair (private key / public key), and stores the private key together with the user identifier 1207 in the check key storage unit 103 of the check processing unit 100.
Further, the administrator of the inspection server device 3 is requested to have the public key stored in the verification key storage unit 305 of the inspection server device 3 together with the user identifier 1207 of the user 5005.

或いは、ユーザ5005が、公開鍵暗号の鍵ペア(private key/public key)を生成し、private keyをユーザ識別子1207と共に検印処理部100の検印鍵保存部103に保存する。
さらに、ユーザ5005は認証局にpublic key とユーザ識別子1207を提示し、公開鍵証明書として発行してもらう(ユーザ識別子を含む)。
さらに、ユーザ5005は、検査サーバ装置3の管理者に依頼して、公開鍵証明書を検査サーバ装置3の検証鍵保存部305に保存してもらう。
この場合、ユーザ識別子は公開鍵証明書に含まれている。
Alternatively, the user 5005 generates a public key encryption key pair (private key / public key), and stores the private key together with the user identifier 1207 in the verification key storage unit 103 of the verification processing unit 100.
Furthermore, the user 5005 presents the public key and the user identifier 1207 to the certificate authority, and is issued as a public key certificate (including the user identifier).
Further, the user 5005 requests the administrator of the inspection server device 3 to store the public key certificate in the verification key storage unit 305 of the inspection server device 3.
In this case, the user identifier is included in the public key certificate.

検証鍵保存部305は、図6のS304_1において、外部の公開鍵証明書のレポジトリと通信し、ユーザ識別子1207に相当する公開外証明書をレポジトリから取得してもよい。   In S304_1 in FIG. 6, the verification key storage unit 305 may communicate with an external public key certificate repository and obtain an unpublished certificate corresponding to the user identifier 1207 from the repository.

本実施の形態では、検印の方法として、公開鍵暗号に基づく方法を示したが、以下の様に共通鍵暗号に基づく方法を適用してもよい。
以下にて、共通鍵暗号を適用する場合の差異のみ示す。
In the present embodiment, a method based on public key cryptography is shown as a method for checking, but a method based on common key cryptography may be applied as follows.
Only the differences when applying the common key encryption are shown below.

まず、検印処理部100の動作について差異のみ説明する。
図1における検印鍵保存部103に保存されている検印鍵1103は、検印処理部100を保持するユーザと、検査サーバ装置3で共有している、共通鍵暗号の共通鍵である。
そして、検印生成部102の検印の処理は、図4に従う。
まず、被検印データ1101と検印鍵1103(共通鍵)を連結する(図4のS201_skh1)。
次に、被検印データ1101と検印鍵1103(共通鍵)を連結した結果を、一方向性ハッシュ関数h()に入力し結果を検印データ1105とする(図4のS201_skh2)。
First, only the differences in the operation of the check processing unit 100 will be described.
The verification key 1103 stored in the verification key storage unit 103 in FIG. 1 is a common key encryption common key shared by the inspection server device 3 with the user holding the verification processing unit 100.
Then, the check processing of the check generation unit 102 follows FIG.
First, the seal data 1101 and the seal key 1103 (common key) are connected (S201_skh1 in FIG. 4).
Next, the result of concatenating the check data 1101 and the check key 1103 (common key) is input to the one-way hash function h (), and the result is set as the check data 1105 (S201_skh2 in FIG. 4).

次に、検査サーバ装置3の動作について差異のみ説明する。
図5における検証鍵保存部305に保存されている検証鍵3107は、検印処理部100を保持するユーザと、検査サーバ装置3で共有している共通鍵暗号の共通鍵である。
検印検証部304の検印の検証の処理は、図8に従う。
まず、被検印データ3105と検証鍵3107(共通鍵)を連結する(図8のS304_vkh1)。
次に、被検印データ3105と検証鍵3107(共通鍵)を連結した結果を一方向性ハッシュ関数h()に入力する(結果をh1とする)(図8のS304_vkh2)。
次にh1と検印データ3104は一致するか確認する(図8のS304_vkh3)。
一致した場合、検証成功と判断する(図8のS304_vkh4)。
一致しない場合は、検証失敗と判断する(図8のS304_vkh5)。
Next, only the differences in the operation of the inspection server device 3 will be described.
A verification key 3107 stored in the verification key storage unit 305 in FIG. 5 is a common key encryption common key shared between the inspection server apparatus 3 and the user holding the check processing unit 100.
The verification verification process of the verification verification unit 304 follows FIG.
First, the test mark data 3105 and the verification key 3107 (common key) are connected (S304_vkh1 in FIG. 8).
Next, the result of concatenating the test mark data 3105 and the verification key 3107 (common key) is input to the one-way hash function h () (the result is h1) (S304_vkh2 in FIG. 8).
Next, it is confirmed whether h1 and the check data 3104 match (S304_vkh3 in FIG. 8).
If they match, it is determined that the verification is successful (S304_vkh4 in FIG. 8).
If they do not match, it is determined that the verification has failed (S304_vkh5 in FIG. 8).

また、検印において、暗号を用いた検印の例を示してきたが、例えば、検印処理部100が固定で保持するキーワードを検印データ1105としてもよい。
検印処理部100と検査サーバ装置3の動作について、差異のみ示す。
この場合は、検印処理部100において、検印鍵保存部103は使用しない(図2のS102_1を行わない)。
ここでは、例えば「abcdefghijklmn」という文字列を、検印データ1105とする(図2のS102_2を当処理に置き換える)。
この文字列は、検査サーバ装置3側でも予め固定で保持する。
検査サーバ装置3においては、検印データ3104として、「abcdefghijklmn」が現れた場合に、検印が正しいと判断する(図6のS304_2を当処理に置き換える)。
この場合、検査サーバ装置3において、検証鍵保存部305は使用しない(図6のS304_1を行わない)。
In addition, although an example of a seal using encryption has been shown, for example, a keyword that the seal processing unit 100 holds in a fixed manner may be used as the seal data 1105.
Only the differences between the operations of the inspection processing unit 100 and the inspection server device 3 are shown.
In this case, the check key storage unit 103 is not used in the check processing unit 100 (S102_1 in FIG. 2 is not performed).
Here, for example, a character string “abcdefghijklmn” is used as the check data 1105 (S102_2 in FIG. 2 is replaced with this processing).
This character string is also held fixed in advance on the inspection server device 3 side.
In the inspection server device 3, when “abcdefghijklmn” appears as the check data 3104, it is determined that the check is correct (replace S304_2 in FIG. 6 with this processing).
In this case, in the inspection server device 3, the verification key storage unit 305 is not used (S304_1 in FIG. 6 is not performed).

この様に、本実施の形態では、ユーザは、HTTP POSTするファイルに検印を付与し、検査サーバ装置では、HTTPデータのボディ部に検印が付与されたファイルのデータが存在するか検査する。
マルウエアは、通常、ファイルをそのままHTTP POSTするため、検査サーバ装置で検査した場合に、HTTPデータのボディ部に検印が存在しないため、エラー通知が発生し、検査サーバ装置からプロキシサーバ装置へ、POSTしようとしているHTTPデータが転送されない。
従って、マルウエアはインターネットへファイルを漏洩できない。
In this way, in this embodiment, the user gives a check to a file to be HTTP POSTed, and the inspection server device checks whether the data of the file with the check attached to the body portion of the HTTP data exists.
Since the malware normally HTTP-posts the file as it is, when the inspection server device inspects the file, there is no seal in the body part of the HTTP data, so an error notification is generated, and the inspection server device transfers to the proxy server device. The HTTP data that is about to be transferred is not transferred.
Therefore, malware cannot leak files to the Internet.

このように、本実施の形態によれば、マルウエアは、インターネットへファイルを送信できないため、マルウエアによるインターネットへのファイルの漏洩を防止する効果がある。
さらに、検印処理部や、検査サーバ装置において、送信を許可するファイルのリストを管理する必要が無いという効果がある。
As described above, according to this embodiment, since malware cannot transmit a file to the Internet, there is an effect of preventing leakage of the file to the Internet by the malware.
Further, there is an effect that it is not necessary to manage a list of files permitted to be transmitted in the check processing unit or the inspection server device.

実施の形態2.
本実施の形態では、高度な機能を持つマルウエアが、端末上のファイルを盗み、検印処理部を起動して、検印付きファイルとしてHTTP POSTする場合への対策として、検印時の処理において、USB(Universal Serial Bus)トークンやスマートカードなどの外部デバイスを組み合わせる構成を説明する。
なお、以下では、実施の形態1との差異のみ説明する。
また、以下では、検印の方法は、公開鍵暗号と一方向性ハッシュ関数を用いる例で示す。
Embodiment 2. FIG.
In this embodiment, as a countermeasure against a case where malware with advanced functions steals a file on the terminal, activates the check processing unit, and performs HTTP POST as a file with a check, in the process at the time of check, USB ( A configuration in which an external device such as a Universal Serial Bus) token or a smart card is combined will be described.
In the following, only differences from the first embodiment will be described.
In the following, a method for checking is shown by an example using public key cryptography and a one-way hash function.

図12は、本実施の形態に係る端末装置1の構成例を示す。
図12では、図1の構成と比較して、検印鍵保存部103が省略され、代わりに、外部機器2とのインタフェースとなる外部機器連携部104が設けられている。
外部機器2は、例えば、USBトークンやスマートカードである。
他の要素は、図1に示したものと同様であるため、説明を省略する。
FIG. 12 shows a configuration example of the terminal device 1 according to the present embodiment.
In FIG. 12, compared to the configuration of FIG. 1, the verification key storage unit 103 is omitted, and an external device cooperation unit 104 serving as an interface with the external device 2 is provided instead.
The external device 2 is, for example, a USB token or a smart card.
The other elements are the same as those shown in FIG.

次に、本実施の形態に係る検印処理を、図13を参照して説明する。   Next, the marking process according to the present embodiment will be described with reference to FIG.

本実施の形態に係る検印処理部100では、検印生成部102は、検印鍵保存部103を使用せず、外部機器連携部104へ、被検印データ1101と検印命令1104を出力する(図13のS102_es1)。
検印命令1104は、被検印データ1101に対して、一方向性ハッシュ関数h()と公開鍵暗号のprivate keyによる暗号化を行え、という命令である。
例えば、図示していないが、外部機器2が、どのように検印を行うべきか(この場合は、公開鍵暗号と一方向性ハッシュ関数を用いた電子署名)の識別子や、一方向性ハッシュ関数h()や公開鍵暗号のアルゴリズムの識別子で構成される。
また、検印命令1104にはユーザ識別子も含まれる。
In the check processing unit 100 according to the present embodiment, the check generation unit 102 does not use the check key storage unit 103 but outputs the check mark data 1101 and the check command 1104 to the external device linkage unit 104 (FIG. 13). S102_es1).
The check instruction 1104 is an instruction that the check data 1101 can be encrypted using a one-way hash function h () and a public key encryption private key.
For example, although not shown, an identifier of how the external device 2 should perform a check (in this case, an electronic signature using public key cryptography and a one-way hash function), or a one-way hash function h () and public key encryption algorithm identifiers.
The check command 1104 also includes a user identifier.

外部機器連携部104は、外部機器2とデータを受け渡し可能なフォーマットに、被検印データ1101と検印命令1104を変換し、各々、被検印データ2201と検印命令2202として外部機器2に出力する(図13のS104_es1)。   The external device linkage unit 104 converts the test mark data 1101 and the check command 1104 into a format that can exchange data with the external device 2, and outputs the data to the external device 2 as the test mark data 2201 and the check command 2202, respectively (see FIG. 13 S104_es1).

外部機器2は、実施の形態1の検印生成部102における検印の処理の代わりに、被検印データ2201に検印を行い、検印データ2203を生成し、外部機器連携部104へ出力する(図13のS2_es1)。
検印の際に、外部機器2内に保存されているprivate keyを探す必要があるが、外部機器2は、ユーザ識別子と併せて管理されているprivate keyを探す。
The external device 2 performs a check on the check mark data 2201 instead of the check processing in the check mark generation unit 102 of the first embodiment, generates the check data 2203, and outputs it to the external device link unit 104 (FIG. 13). S2_es1).
At the time of marking, it is necessary to search for a private key stored in the external device 2, but the external device 2 searches for a private key managed together with the user identifier.

外部機器連携部104は、外部機器2から、検印データ2203を入力し、検印生成部102が解釈可能なフォーマットに変換して、検印データ1105として出力する(図13のS104_es2)。   The external device cooperation unit 104 receives the check data 2203 from the external device 2, converts it into a format that can be interpreted by the check generation unit 102, and outputs it as the check data 1105 (S104_es2 in FIG. 13).

検印生成部102は、外部機器連携部104から検印データ1105を入力し、入力した検印データ1105を検印追加部105へ出力する(図2のS102_3に相当する処理であり、図13ではS102_es2として示している)。   The seal generation unit 102 receives the seal data 1105 from the external device cooperation unit 104 and outputs the input seal data 1105 to the seal addition unit 105 (this is a process corresponding to S102_3 in FIG. 2 and is indicated as S102_es2 in FIG. 13). ing).

外部機器2は、公開鍵暗号と一方向性ハッシュ関数を処理可能なスマートカードやUSBトークンである。
外部機器連携部104は、外部機器2がUSBトークンであれば、USBの機能を呼び出すソフトウエア機能として実装する。
外部機器2がスマートカードであれば、外部機器連携部104と、外部機器2の間に(図示していないが)、リーダライタが介在する。
そして、外部機器連携部は、リーダライタの機能を呼び出すソフトウエア機能として実装する。
The external device 2 is a smart card or a USB token that can process public key cryptography and a one-way hash function.
If the external device 2 is a USB token, the external device cooperation unit 104 is implemented as a software function that calls a USB function.
If the external device 2 is a smart card, a reader / writer is interposed between the external device cooperation unit 104 and the external device 2 (not shown).
Then, the external device cooperation unit is implemented as a software function for calling a reader / writer function.

また、外部機器2において、公開鍵暗号の処理のみを実施する場合は次のように処理する。
検印生成部102から外部機器連携部104へ出力する被検印データ1101を、「データ入力部101の出力である被検印データ1101」に対し検印生成部102が一方向性ハッシュ関数を適用した値に置き換える。
この値は、被検印データ2201として外部機器2に出力されるので、外部機器2は、被検印データ2201に対して、公開鍵暗号のprivate keyによる暗号化のみ行い、検印データ2203を生成する。
さらに、外部機器2は、検印データ2203を外部機器連携部104へ出力する。
この場合、検印命令1104は、被検印データ1101に対して、公開鍵暗号のprivate keyによる暗号化を行え、という命令である。
When the external device 2 performs only public key encryption processing, the following processing is performed.
The test mark data 1101 output from the mark generation unit 102 to the external device cooperation unit 104 is set to a value obtained by applying the one-way hash function to the test mark data 1101 output from the data input unit 101. replace.
Since this value is output to the external device 2 as the inspected seal data 2201, the external device 2 performs only the encryption with the public key encryption private key on the inspected seal data 2201, and generates the inspected data 2203.
Further, the external device 2 outputs the check data 2203 to the external device cooperation unit 104.
In this case, the verification instruction 1104 is an instruction that the data to be checked 1101 can be encrypted by a public key encryption private key.

上記した処理以外は、端末装置1及び検査サーバ装置3において実施の形態1と同じ処理が行われる。
検印の生成は、実施の形態1に示したように共通鍵暗号を使う方式でもよい。
Except for the processing described above, the same processing as in the first embodiment is performed in the terminal device 1 and the inspection server device 3.
As shown in the first embodiment, the method of using the common key cryptography may be used for generating the seal.

本実施の形態では、検印の生成処理の一部を外部機器に処理させるので、外部機器を利用できないマルウエアは、ファイルに検印を付与できないので、インターネット上のWebサーバ装置にHTTP POSTしても、検査サーバ装置における検印の検査でエラーとなり、ファイルを漏洩できない効果がある。
このため、高度化されたマルウエアが、当方式を悪用しファイルを漏洩しようとしても、外部機器による検印が必要となり、悪用できない効果がある。
In this embodiment, since a part of the generation process of the seal is processed by the external device, malware that cannot use the external device cannot attach the seal to the file. Therefore, even if HTTP POST is performed on the Web server device on the Internet, There is an effect that an error occurs in the inspection of the seal in the inspection server device and the file cannot be leaked.
For this reason, even if sophisticated malware attempts to misuse this method and leak a file, it requires an inspection by an external device and has an effect that cannot be exploited.

実施の形態3.
実施の形態2では、外部機器2に検印の生成処理の一部を処理させた。
本実施の形態では、外部機器2に検印の生成処理の一部を処理させるのではなく、検印の生成処理を行うために、外部機器が存在することを条件とする方式を示す。
以下では、検印時の処理について実施の形態2との差異のみ説明する。
Embodiment 3 FIG.
In the second embodiment, the external device 2 is caused to process a part of the generation process of the seal.
In the present embodiment, a method is shown in which the external device 2 does not process a part of the generation process of the checkmark but performs the check mark generation process on the condition that the external apparatus exists.
Below, only the difference from Embodiment 2 is demonstrated about the process at the time of a check.

本実施の形態では、検印生成部102と外部機器連携部104と外部機器2の間で入出力する追加のデータは図14のようになる。
図14では、作図上の理由で図示を省略しているが、図12と同様に、被検印データ1101、検印命令1104、検印データ1105、被検印データ2201、検印命令2202、検印データ2203が入出力されるとともに、図14に示すデータが入出力される。
In the present embodiment, additional data to be input / output among the marking generation unit 102, the external device cooperation unit 104, and the external device 2 is as shown in FIG.
In FIG. 14, the illustration is omitted for the reason of drawing. However, as in FIG. 12, the check mark data 1101, the check instruction 1104, the check data 1105, the check mark data 2201, the check instruction 2202, and the check data 2203 are input. In addition to the output, the data shown in FIG. 14 is input / output.

図15は、本実施の形態における検印生成の処理を示したものである。
検印処理部100における他の動作は、実施の形態1に同じである。
図14と図15を用いて本実施の形態における検印生成部102の処理を示す。
FIG. 15 shows the process of generating a seal in the present embodiment.
Other operations in the check processing unit 100 are the same as those in the first embodiment.
Processing of the marking generation unit 102 in the present embodiment will be described using FIGS. 14 and 15.

まず、検印生成部102は、検印処理を行う前に、外部機器連携部104に対して、認証命令1107を出力する(図15のS102_a1)。   First, the sign generation unit 102 outputs an authentication command 1107 to the external device cooperation unit 104 before performing the check process (S102_a1 in FIG. 15).

外部機器連携部104は、認証命令1107を入力すると、外部機器2との間で認証情報2205の交換を行い、外部機器2の認証を行う(図15のS104_1)。
例えば、認証方法として、外部機器2が保持している社員IDを外部機器連携部104が読み出せるか否かをチェックする。
この場合は、外部機器連携部104は、外部機器2に対して、社員ID読み出しの命令を出力し、外部機器2は内部に格納している社員IDを読み出し、外部機器連携部104へ出力する。
従って、社員ID読み出しの命令と社員IDが、認証情報2205に該当する。
この例では、外部機器2が内部の決められた場所に社員IDを保存しており、外部機器連携部104に対して、社員IDを読み出して提供できることをもって、外部機器2を認証する、簡易な認証の例である。
When the authentication command 1107 is input, the external device cooperation unit 104 exchanges authentication information 2205 with the external device 2 and authenticates the external device 2 (S104_1 in FIG. 15).
For example, as an authentication method, it is checked whether or not the external device cooperation unit 104 can read the employee ID held by the external device 2.
In this case, the external device cooperation unit 104 outputs an instruction for reading the employee ID to the external device 2, and the external device 2 reads the employee ID stored therein and outputs it to the external device cooperation unit 104. .
Therefore, the employee ID read command and the employee ID correspond to the authentication information 2205.
In this example, the external device 2 stores the employee ID in a predetermined place inside, and can authenticate the external device 2 by being able to read and provide the employee ID to the external device cooperation unit 104. It is an example of authentication.

別の例として、チャレンジアンドレスポンスの認証情報を交換する例を示す。
この場合、外部機器連携部104が生成した乱数Cを外部機器2に出力すると、外部機器2はCに対して、予め外部機器連携部104と外部機器2の間で共有している鍵(SK)と関数fを用い演算を施す。
これを、R=f(C,SK)と表す。
関数fは、アルゴリズムとして、外部機器連携部104と外部機器2で予め実装しておく。
外部機器2は、この結果のRを外部機器連携部104へ出力する。
外部機器連携部104は、Cに対して、自身の保持している鍵SKを用いて、R’=f(C,SK)を演算する。
そして、外部機器2から入力されたRとR’の比較を行い、R’=Rであるか否かを確認する。
R’=Rであれば、外部機器2は、外部機器連携部104と同じ鍵SKを共有していると判断し、認証成功とする。
この例においては、CとRが認証情報2205に該当する。
As another example, an example of exchanging challenge and response authentication information is shown.
In this case, when the random number C generated by the external device cooperation unit 104 is output to the external device 2, the external device 2 has a key (SK) previously shared between the external device cooperation unit 104 and the external device 2 with respect to C. ) And the function f.
This is expressed as R = f (C, SK).
The function f is implemented in advance by the external device cooperation unit 104 and the external device 2 as an algorithm.
The external device 2 outputs the result R to the external device cooperation unit 104.
The external device cooperation unit 104 calculates R ′ = f (C, SK) for C using the key SK held by the external device cooperation unit 104.
Then, R and R ′ input from the external device 2 are compared to check whether R ′ = R.
If R ′ = R, it is determined that the external device 2 shares the same key SK as the external device cooperation unit 104, and authentication is successful.
In this example, C and R correspond to the authentication information 2205.

次に、外部機器連携部104は外部機器2を認証した結果を、認証結果1109として検印生成部102へ出力する(図15のS104_2)。   Next, the external device cooperation unit 104 outputs the result of authenticating the external device 2 to the seal generation unit 102 as an authentication result 1109 (S104_2 in FIG. 15).

検印生成部102は、認証結果1109がOK(外部機器2の認証成功)かNG(外部機器2の認証失敗)を調べる(図15のS102_a2)。
OKの場合、検印生成部102は、図2(実施の形態1)のS102_1、S102_2、S103_3を処理する(図15のS102_123)。
NGの場合、検印生成部102は、エラー通知1208を検印処理部の外へ出力する(図15のS102_a3)。
NGの場合、検印処理部100は、ユーザに、GUIにエラーメッセージを表示するなどで、検印処理部100がエラーとなったことをユーザへ通知する。
この場合は、検印付きデータは検印処理部100からは出力されない。
The check mark generation unit 102 checks whether the authentication result 1109 is OK (authentication success of the external device 2) or NG (failure of authentication of the external device 2) (S102_a2 in FIG. 15).
In the case of OK, the marking generation unit 102 processes S102_1, S102_2, and S103_3 in FIG. 2 (Embodiment 1) (S102_123 in FIG. 15).
In the case of NG, the check generation unit 102 outputs an error notification 1208 to the outside of the check processing unit (S102_a3 in FIG. 15).
In the case of NG, the check processing unit 100 notifies the user that the check processing unit 100 has an error, for example, by displaying an error message on the GUI.
In this case, the data with a check is not output from the check processing unit 100.

また、外部機器2を使用する場合に、外部機器2を利用するための認証データ2204を外部機器2に入力してもよい。
認証データ2204を外部機器2に入力する方法は、外部機器2に依存するが、外部機器2に端末装置5000(図9)から入力するための、専用のGUI(アプリケーション)が別途用意される場合がある。
また、検印処理部100において、認証データ2204を入力するためのGUIを表示し、ユーザに認証データ2204を入力させ、外部機器連携部104を経由して、外部機器2に対して入力する方法がある(図14の破線)。
When using the external device 2, authentication data 2204 for using the external device 2 may be input to the external device 2.
The method of inputting the authentication data 2204 to the external device 2 depends on the external device 2, but a dedicated GUI (application) for inputting from the terminal device 5000 (FIG. 9) to the external device 2 is separately prepared. There is.
Also, there is a method of displaying a GUI for inputting the authentication data 2204 in the check processing unit 100, allowing the user to input the authentication data 2204, and inputting to the external device 2 via the external device cooperation unit 104. Yes (broken line in FIG. 14).

本実施の形態では、検印処理に外部機器との連携を必要とするため、外部機器を利用できないマルウエアは、ファイルに検印を付与できないので、インターネット上のWebサーバ装置にHTTP POSTしても、検査サーバ装置における検印の検査でエラーとなり、ファイルを漏洩できない効果がある。
このため、高度化されたマルウエアが、当方式を悪用しファイルを漏洩しようとしても、外部機器が必要となり、悪用できない効果がある。
In the present embodiment, since cooperation with an external device is required for the check processing, malware that cannot use the external device cannot attach a check to the file. Therefore, even if HTTP POST is performed on the Web server device on the Internet, the check is not performed. There is an effect that an error occurs in the inspection of the seal in the server device and the file cannot be leaked.
For this reason, even if sophisticated malware tries to exploit this method and leak a file, an external device is required and there is an effect that cannot be exploited.

実施の形態4.
本実施の形態では、検印生成部102において、画像による認証を行う。
検印時の処理について実施の形態1との差異のみ説明する。
Embodiment 4 FIG.
In the present embodiment, the marking generation unit 102 performs authentication using an image.
Only the difference between the first embodiment and the processing at the time of the check will be described.

検印生成部102は、検印の処理の前に、検印処理部100を使用するユーザに対して、CAPTCHAなどの画像による認証を要求する。
画像による認証に成功した場合に、実施の形態1に従った検印処理を行う。
本実施の形態に係る端末装置1の構成は、図1、図12又は図14に示す構成と同じである。
The check generation unit 102 requests the user who uses the check processing unit 100 to authenticate with an image such as CAPTCHA before the check processing.
When the authentication by the image is successful, the marking process according to the first embodiment is performed.
The configuration of terminal device 1 according to the present embodiment is the same as the configuration shown in FIG. 1, FIG. 12, or FIG.

本実施の形態に係る検印生成部102の処理を、図16を用いて説明する。   Processing of the marking generation unit 102 according to the present embodiment will be described with reference to FIG.

検印生成部102は、「歪んだ文字列の画像と、その画像で表示された実際の文字列の対」を検印処理部100の起動前に予め、複数対、保存する。
そして、検印処理部100の起動タイミングで、前記複数対のうちの一対をランダムに選択する。
そして、検印生成部102は、画像による認証データとして選択した「歪んだ文字列の画像」をGUIでユーザに表示する(図16のS102_ag1)。
ここで、歪んだ文字列の画像の表示は、ユーザに対する認証データの要求である。
また、このGUIは、歪んだ文字列の画像の表示の他に、文字列を入力するインタフェースも備えている。
The marking generation unit 102 stores “a pair of a distorted character string image and an actual character string displayed in the image” in a plurality of pairs in advance before the activation of the marking processing unit 100.
Then, at the start timing of the check processing unit 100, a pair of the plurality of pairs is selected at random.
Then, the check mark generation unit 102 displays the “distorted character string image” selected as the authentication data based on the image on the GUI (S102_ag1 in FIG. 16).
Here, the display of the distorted character string image is a request for authentication data to the user.
In addition to displaying a distorted character string image, this GUI also includes an interface for inputting a character string.

次に、ユーザは、歪んだ画像の文字列を、何の文字列か目視で判断して、GUIに文字列を入力する。
入力した文字列は、図14に示す、ユーザからの認証データ1203に該当する(図16のS102_ag2)。
Next, the user visually determines the character string of the distorted image and inputs the character string to the GUI.
The input character string corresponds to the authentication data 1203 from the user shown in FIG. 14 (S102_ag2 in FIG. 16).

検印生成部102は、入力された認証データと、GUIで表示した歪んだ文字列の画像と対になる文字列(内部に保存している)の一致を比較し(図16のS102_ag3)、一致している場合(Yes)、図2のS102_1,S102_2,S102_3を処理する(図16のS102_123)。
一致していない場合(No)、検印生成部102は、エラー通知1208を検印処理部100の外へ出力する(図16のS102_ag4)。
The check mark generation unit 102 compares the match between the input authentication data and the character string (stored inside) that is paired with the image of the distorted character string displayed on the GUI (S102_ag3 in FIG. 16). If yes (Yes), S102_1, S102_2, and S102_3 of FIG. 2 are processed (S102_123 of FIG. 16).
If they do not match (No), the check generation unit 102 outputs an error notification 1208 to the outside of the check processing unit 100 (S102_ag4 in FIG. 16).

マルウエアがGUIからの入力文字列を監視して悪用する可能性があるため、検印生成部102は歪んだ画像のパターン、及び、対となる文字列の組を、検印生成部102自身で生成し、あらかじめ大量に保持し、検印処理部100を起動するたびにランダムに表示してもよい。   Since the malware may monitor and misuse the input character string from the GUI, the check mark generation unit 102 generates a distorted image pattern and a pair of character strings to be paired by the check mark generation unit 102 itself. Alternatively, a large amount may be held in advance and displayed randomly each time the check processing unit 100 is activated.

或いは、例えば図17において、システムの管理者が、画像系認証データ配信サーバ装置4を運用し、画像による認証データ(例:歪んだ画像のパターン)と対になる文字列について、複数の対を、画像系認証データ1024として生成し、ネットワークを通じて、検印処理部100に配信する。
検印処理部100の検印生成部102(図17では、それ以外の要素の記載は省いている)における通信部1022は、画像系認証データ1024を受信し、画像系認証データ更新部1021に入力する。
画像系認証データ更新部1021は、画像系認証データ保存部1023に、画像系認証データ1024を更新保存する。
そして、検印処理部100が起動されるたびに、検印生成部102は、画像系認証データ保存部1023から、ランダムに、或いは、決まった順番で、画像による認証データと対になる文字列を選択し、画像による認証データを、図14の認証データ要求1202としてGUIで表示してもよい。
或いは、この例における、画像系認証データ1024をネットワーク経由で、検印処理部100に取り込むのではなく、ファイルなどで、画像系認証データ更新部1021に入力してもよい。
Alternatively, for example, in FIG. 17, the system administrator operates the image-based authentication data distribution server apparatus 4 and sets a plurality of pairs for character strings that are paired with image authentication data (eg, distorted image patterns). The image-based authentication data 1024 is generated and distributed to the inspection processing unit 100 through the network.
The communication unit 1022 in the check generation unit 102 (not shown in FIG. 17 omits other elements) of the check processing unit 100 receives the image authentication data 1024 and inputs it to the image authentication data update unit 1021. .
The image system authentication data update unit 1021 updates and stores the image system authentication data 1024 in the image system authentication data storage unit 1023.
Each time the check processing unit 100 is activated, the check generation unit 102 selects a character string paired with the authentication data based on the image from the image-based authentication data storage unit 1023 at random or in a predetermined order. Then, the authentication data based on the image may be displayed on the GUI as the authentication data request 1202 in FIG.
Alternatively, the image-based authentication data 1024 in this example may be input to the image-based authentication data update unit 1021 as a file instead of being taken into the check processing unit 100 via the network.

また、画像を用いた認証の方法は、CAPTCHAでなくてもよく、複数の異なる動物の画像を表示して、ライオンは何番の画像か答えよ、という認証方法でもよい。
この場合は、認証データ要求1202は、複数の異なる動物の画像であり、認証データ1203は、“3番目の画像”である。
この認証データ1203が、答えとして適切かを、検印生成部102が確認する。
Further, the authentication method using the image may not be CAPTCHA, and may be an authentication method in which images of a plurality of different animals are displayed and the lion answers what number the image is.
In this case, the authentication data request 1202 is an image of a plurality of different animals, and the authentication data 1203 is “third image”.
The seal generation unit 102 confirms whether the authentication data 1203 is appropriate as an answer.

本実施の形態では、検印処理に画像認証を必須とするため、画像認証をパスできないマルウエアは、ファイルに検印を付与できないので、インターネット上のWebサーバ装置にHTTP POSTしても、検査サーバ装置における検印の検査でエラーとなり、ファイルを漏洩できない効果がある。
このため、高度化されたマルウエアが、当方式を悪用しファイルを漏洩しようとしても、外部機器が必要となり、悪用できない効果がある。
In this embodiment, since image authentication is essential for the check processing, malware that cannot pass image authentication cannot give a check to a file. Therefore, even if HTTP POST is performed on a Web server device on the Internet, There is an effect that the file cannot be leaked due to an error in the inspection of the seal.
For this reason, even if sophisticated malware tries to exploit this method and leak a file, an external device is required and there is an effect that cannot be exploited.

実施の形態5.
本実施の形態では、PC内部でマルウエアが検印付きファイルを横取りして、C&CサーバにHTTP POSTする場合への対策を示す。
以下では、検印時の処理について実施の形態1との差異のみ説明する。
Embodiment 5 FIG.
In the present embodiment, a countermeasure is shown for when the malware intercepts a file with a check inside the PC and performs HTTP POST to the C & C server.
Below, only the difference from Embodiment 1 is demonstrated about the process at the time of a check.

検印生成部102は、検印の処理の前に、検印処理部100を使用するユーザに対して、送信先のURL(Uniform Resource Locator)を入力させる。
送信先URLは、検証対象データの宛先アドレスの例に相当する。
検印処理部100のGUIの表示画面例を図18に示す。
図18において、ユーザは、検印処理用画面1301を用いて、送信対象ファイル1302と検印付きファイルの出力パス1303を入力し、さらに、送信先URL1304を入力する。
この時、認証画面1306を表示して、ユーザにパスワードを入力させてもよい。
この結果、検印付きファイル(図1の検印付きデータ1204)が出力される。
The check generation unit 102 allows a user who uses the check processing unit 100 to input a destination resource URL (Uniform Resource Locator) before the check processing.
The transmission destination URL corresponds to an example of the destination address of the verification target data.
An example of a GUI display screen of the check processing unit 100 is shown in FIG.
In FIG. 18, the user inputs a transmission target file 1302 and an output path 1303 of a file with a check using a check processing screen 1301, and further inputs a transmission destination URL 1304.
At this time, an authentication screen 1306 may be displayed to allow the user to input a password.
As a result, a file with a check (data 1204 with a check in FIG. 1) is output.

本実施の形態に係る端末装置1は、例えば、図20に示す構成となる。
検印生成部102は、検印データ1105に送信先URLを含めて検印付きファイルを生成する。
検印生成部102は、送信先URL1208と被検印データ1101を入力し、送信先URL1208と被検印データ1101を結合し、URL付きの被検印データとし、URL付きの被検印データを、検印対象のデータとして扱う。
つまり、図2のS102_2において処理した被検印データ1101を、「送信先URL1208と被検印データ1101を結合したURL付きの被検印データ」に置き換えて処理する。
検印生成部102は、URL付きの被検印データに対して実施の形態1と同様の手順で検印データ1105を生成し、生成した検印データ1105と、送信先URL1208(不図示)を検印追加部105に出力する。
検印追加部105は、検印データ1105と、送信先URL1208(不図示)と、被検印データ1101と、ユーザ識別子1207を結合して、検印付きデータ1106とする。
The terminal device 1 according to the present embodiment has a configuration shown in FIG. 20, for example.
The check generation unit 102 generates a file with a check including the transmission destination URL in the check data 1105.
The check mark generation unit 102 inputs the destination URL 1208 and the check mark data 1101, combines the send destination URL 1208 and the check mark data 1101, and sets the check mark data with the URL as the data to be checked. Treat as.
That is, the test mark data 1101 processed in S102_2 in FIG. 2 is processed by replacing it with “test mark data with a URL obtained by combining the destination URL 1208 and the test mark data 1101”.
The check mark generation unit 102 generates check data 1105 for the check mark data with a URL in the same procedure as in the first embodiment, and the generated check data 1105 and the destination URL 1208 (not shown) are the check addition unit 105. Output to.
The seal adding unit 105 combines the seal data 1105, the transmission destination URL 1208 (not shown), the seal data 1101, and the user identifier 1207 into the data 1106 with the seal.

図19は、検印生成部102及び検印追加部105による処理の例を示す。
検印生成部102は、送信対象である、ファイル1401(被検印データ1101に該当)に対して、送信先URL1404を結合し、URL付き被検印データ1405とする。
URL付き被検印データ1405に対して検印を生成した結果が、検印データ1402である。
検印追加部105は、URL付き被検印データ1405(ファイル1401と送信先URL1404)にユーザ識別子1403と検印データ1402を結合して、検印付きデータ1406とする。
なお、ここでは、URL付き被検印データ1405(ファイル1401と送信先URL1404)に対して検印データ1402を生成することとしているが、実施の形態1と同様に、ファイル1401に対して検印データ1402を生成するようにしてもよい。
FIG. 19 illustrates an example of processing performed by the seal generation unit 102 and the seal addition unit 105.
The check mark generation unit 102 combines the transmission destination URL 1404 with the file 1401 (corresponding to the check mark data 1101) that is the transmission target to obtain the check mark data with URL 1405.
The result of generating a check for the URL-attached check mark data 1405 is the check data 1402.
The check adding unit 105 combines the user identifier 1403 and the check data 1402 with the URL check target data 1405 (the file 1401 and the transmission destination URL 1404) to obtain the check-added data 1406.
Note that here, the check data 1402 is generated for the check data with URL 1405 (file 1401 and destination URL 1404), but the check data 1402 is set for the file 1401 as in the first embodiment. You may make it produce | generate.

その後、図20のパケット生成部107が、検印データ出力部106から検印付きデータ1406を入力し、検印付きデータ1406をHTTPボディとし、HTTPボディにHTTPヘッダを付加してHTTP POSTデータを生成する。
また、パケット生成部107は、HTTPのヘッダに、宛先ホスト名を含ませる(通常はブラウザが含める処理を行う)。
このHTTP POSTデータが通信データの例に相当する。
更に、パケット生成部107は、HTTP POSTデータにIPヘッダ、TCPヘッダ等を追加して、パケットを生成する。
そして、パケット送信部108が、パケット生成部107が生成したパケットを送信する。
After that, the packet generation unit 107 in FIG. 20 inputs the data with verification 1406 from the verification data output unit 106, uses the data with verification 1406 as an HTTP body, adds an HTTP header to the HTTP body, and generates HTTP POST data.
Further, the packet generation unit 107 includes the destination host name in the HTTP header (usually a process included in the browser).
This HTTP POST data corresponds to an example of communication data.
Further, the packet generation unit 107 generates a packet by adding an IP header, a TCP header, and the like to the HTTP POST data.
Then, the packet transmission unit 108 transmits the packet generated by the packet generation unit 107.

なお、本実施の形態では、検印生成部102が検証情報生成部及び宛先アドレス入力部の例に相当し、検印追加部105がデータ結合部の例に相当し、パケット生成部107が通信データ生成部の例に相当し、パケット送信部108が通信データ送信部の例に相当する。   In the present embodiment, the check generation unit 102 corresponds to an example of a verification information generation unit and a destination address input unit, the check addition unit 105 corresponds to an example of a data combination unit, and the packet generation unit 107 generates communication data. The packet transmission unit 108 corresponds to an example of a communication data transmission unit.

次に、図5の検査サーバ装置3の検査対象データ分解部303は、被検印データ3105を得るが、その内容は、図19における、URL付き被検印データ1405である。
つまり、以下である。
http://○○○.sample.△△△/cgi−bin/submit.xxx
0123456789abcdefghij
Next, the inspection object data disassembling unit 303 of the inspection server device 3 in FIG. 5 obtains the inspection mark data 3105, and the content is the URL-inspected inspection mark data 1405 in FIG.
That is, it is as follows.
http: // OOXXX. sample. ΔΔΔ / cgi-bin / submit. xxx
0123456789abcdefghij

次に、図5の検印検証部304では、実施の形態1と同じ処理を行う。   Next, the check verification unit 304 in FIG. 5 performs the same processing as in the first embodiment.

本実施の形態では、検査対象データ分解部303は、被検印データ3105(図19のURL付き被検印データ1405)を検印検証部304だけでなく、送信データ生成部306にも出力する。
送信データ生成部306は、入力した被検印データ3105から、その最初に示されるURL(図19の送信先URL1404)を取り出す。
つまり、以下を取り出す。
http://○○○.sample.△△△/cgi−bin/submit.xxx
In the present embodiment, the inspection object data decomposing unit 303 outputs the test mark data 3105 (the test mark data with URL 1405 in FIG. 19) not only to the check verification unit 304 but also to the transmission data generation unit 306.
The transmission data generation unit 306 takes out the URL shown first (transmission destination URL 1404 in FIG. 19) from the inputted test mark data 3105.
That is, the following is taken out.
http: // OOXXX. sample. ΔΔΔ / cgi-bin / submit. xxx

次に、送信データ生成部306は、非検査対象データ3103を入力するが、この中に含まれるHTTPヘッダから、宛先ホスト名を得る。
そして、送信データ生成部306は、このホスト名が、前記URLのホスト名部分と一致するかを検査する。
以下に、HTTP POSTデータのフォーマット例を示す(実際にはxxxに適切な値が設定される)。
Next, the transmission data generation unit 306 inputs the non-inspection target data 3103, and obtains the destination host name from the HTTP header included therein.
Then, the transmission data generation unit 306 checks whether the host name matches the host name portion of the URL.
A format example of HTTP POST data is shown below (in practice, an appropriate value is set for xxx).

・リクエストライン
POST/cgi−bin/submit.xxx HTTP/1.1
・リクエスト・ヘッダフィールド
Accept:xxx
Accept−Language:ja
Accept−Encoding:xxx
Referer:http://○○○.sample.△△△/shinsei.html
User−Agent:xxx
Host:○○○.sample.△△△ ← 宛先ホスト名
・一般ヘッダフィールド
Pragma:xxx
Cookie:xxx
・エンティティヘッダフィールド
Content−Type:xxx
Content−Length:xx
・空行(CR(0x0d)+LF(0x0a)のみの行)
・メッセージ・ボディ(POSTするファイルのデータが入る)
xxx
Request line POST / cgi-bin / submit. xxx HTTP / 1.1
Request header field Accept: xxx
Accept-Language: ja
Accept-Encoding: xxx
Referer: http: // OOXXX. sample. ΔΔΔ / shinsei. html
User-Agent: xxx
Host: XXX. sample. △△△ ← Destination host name / general header field Pragma: xxx
Cookie: xxx
Entity header field Content-Type: xxx
Content-Length: xx
・ Empty line (CR (0x0d) + LF (0x0a) only line)
-Message body (contains data of the file to be posted)
xxx

ここで、送信データ生成部306は、「Host:」に指定されるホスト名を取得し、ホスト名が、「○○○.sample.△△△」であれば、被検印データ3105(図19のURL付き被検印データ1405)から取り出したURLである「http://○○○.sample.△△△/cgi−bin/submit.xxx」のホスト部分と一致する。
これらが一致しなかった場合は、検印検証部304は、エラー通知3203を出力する。
なお、本実施の形態では、検印検証部304とともに送信データ生成部306もデータ検証部の例に相当する。
Here, the transmission data generation unit 306 obtains the host name specified in “Host:”, and if the host name is “XXX.sample.ΔΔΔ”, the test mark data 3105 (FIG. 19). The URL matches the host portion of “http: //◯◯◯.sample.ΔΔΔ/cgi-bin/submit.xxx”, which is the URL extracted from the URL-inspected seal data 1405).
If they do not match, the seal verification unit 304 outputs an error notification 3203.
In the present embodiment, the transmission data generation unit 306 together with the seal verification unit 304 corresponds to an example of the data verification unit.

次に、送信データ生成部306は、被検印データ3105から当URLを除去したデータを得る。
つまり、図19における、URL付き被検印データ1405から、当URLを削除することになるので、以下の様になる。
・URL削除前
http://○○○.sample.△△△/cgi−bin/submit.xxx
0123456789abcdefghij
・URL削除後
0123456789abcdefghij
Next, the transmission data generation unit 306 obtains data obtained by removing the URL from the test mark data 3105.
That is, the URL is deleted from the URL-inspected mark data 1405 in FIG.
・ Before URL deletion http: // XXX. sample. ΔΔΔ / cgi-bin / submit. xxx
0123456789abcdefghij
・ After URL deletion 0123456789abcdefghij

次に、送信データ生成部306は、非検査対象データ3103と上記のURLを除去したデータから、修正送信データ3108を生成する。
つまり、上記のURLを除去したデータが、HTTPリクエストのボディに入る。
これは、元々送信しようとしていた図9のファイル5001の内容がHTTPリクエストのボディに入ることになる。
前記HTTP POSTデータのフォーマット例を使用すると、以下の様になる。
・リクエストライン
POST/cgi−bin/submit.xxx HTTP/1.1
・リクエスト・ヘッダフィールド
Accept:xxx
Accept−Language:ja
Accept−Encoding:xxx
Referer:http://○○○.sample.△△△/shinsei.html
User−Agent:xxx
Host:○○○.sample.△△△
・一般ヘッダフィールド
Pragma:xxx
Cookie:xxx
・エンティティヘッダフィールド
Content−Type:xxx
Content−Length:xx
・空行(CR(0x0d)+LF(0x0a)のみの行)
・メッセージ・ボディ(POSTするファイルのデータが入る)
0123456789abcdefghij
Next, the transmission data generation unit 306 generates the corrected transmission data 3108 from the non-inspection target data 3103 and the data from which the URL is removed.
That is, the data from which the URL is removed enters the body of the HTTP request.
This means that the content of the file 5001 in FIG. 9 that was originally transmitted enters the body of the HTTP request.
When the format example of the HTTP POST data is used, the format is as follows.
Request line POST / cgi-bin / submit. xxx HTTP / 1.1
Request header field Accept: xxx
Accept-Language: ja
Accept-Encoding: xxx
Referer: http: // OOXXX. sample. ΔΔΔ / shinsei. html
User-Agent: xxx
Host: XXX. sample. △△△
General header field Pragma: xxx
Cookie: xxx
Entity header field Content-Type: xxx
Content-Length: xx
・ Empty line (CR (0x0d) + LF (0x0a) only line)
-Message body (contains data of the file to be posted)
0123456789abcdefghij

この様に、ユーザが送信したいWebサーバ装置のURLを検印に含めることで、もしマルウエアが検印付きファイルを横取りして、C&CサーバにHTTP POSTしようとしても、検査サーバ装置が、HTTPヘッダのホスト名と、検印に含まれたURLのホスト名部分の一致を検査するため、マルウエアはC&CサーバへファイルをHTTP POSTできない効果がある。   In this way, by including the URL of the Web server device that the user wants to transmit in the verification, even if the malware attempts to intercept the file with the verification and try to HTTP POST to the C & C server, the inspection server device will host the host name in the HTTP header. In this case, the malware cannot check HTTP POST of the file to the C & C server.

実施の形態6.
本実施の形態では、検印付きファイルを暗号化し、検査サーバ装置で復号することで、マルウエアの盗聴から保護する方式を示す。
ネットワークの盗聴への対策として、プロキシサーバ装置への接続をSecure Sockets Layerなどのプロトコルで暗号化する方法があるが、本実施の形態では、端末装置に存在する、検印付きのファイルを、端末装置上でマルウエアが横取りした場合を考える。
マルウエアは、横取りした検印付きファイルをプロキシサーバ装置経由でC&Cサーバへ送信すると、検査サーバ装置が検印付きファイルを正しいものとして確認する。
その結果として、検印付きファイルはC&Cサーバへ送信されてしまう。
そこで、端末装置上でマルウエアが検印付きファイルを横取りしても、端末装置上では何が記載されたファイルか分からないようにする方式を示す。
以下では、検印時の処理について実施の形態1との差異のみ説明する。
Embodiment 6 FIG.
In the present embodiment, a method is shown in which a file with a seal is encrypted and decrypted by an inspection server device to protect against malware eavesdropping.
As a countermeasure against eavesdropping on the network, there is a method of encrypting the connection to the proxy server device with a protocol such as Secure Sockets Layer. In this embodiment, a file with a check, which exists in the terminal device, Consider the case where malware intercepted above.
When the malware transmits the intercepted file with a check to the C & C server via the proxy server device, the check server device confirms that the file with the check is correct.
As a result, the file with a check is transmitted to the C & C server.
Therefore, even if malware intercepts a file with a check on the terminal device, a method is shown to prevent the terminal device from knowing what is written.
Below, only the difference from Embodiment 1 is demonstrated about the process at the time of a check.

図1の検印処理部100の検印追加部105の処理において、検印データ1105と被検印データ1101とユーザ識別子1207から検印付きデータ1106を生成するが、この検印付きデータ1106を検査サーバ装置3の公開鍵暗号のpublic keyで暗号化したものを、検印追加部1106が、検印データ出力部106に、検印付きデータ1106の代わりに出力する。
図21を用いて説明すると、検印追加部105の連結部1051は、検印データ1105と被検印データ1101とユーザ識別子1207を連結し、検印付きデータ1053を出力する。
次に、公開鍵暗号部1052は、検印付きデータ1053を入力し、検査サーバ装置3の公開鍵1054を用いて、検印付きデータ1053を暗号化し、検印付きデータ1106’(暗号化された、検印付きデータ)として出力する。
これは、検印付きデータ1106として検印データ出力部106(図1)に入力される。
In the processing of the seal adding unit 105 of the seal processing unit 100 in FIG. 1, data 1106 with a seal is generated from the seal data 1105, the data to be tested 1101, and the user identifier 1207. The signature adding unit 1106 outputs the data encrypted with the public key of the key encryption to the verification data output unit 106 instead of the data 1106 with the verification.
Referring to FIG. 21, the connecting unit 1051 of the check adding unit 105 connects the check data 1105, the check mark data 1101, and the user identifier 1207, and outputs the data 1053 with the check.
Next, the public key encryption unit 1052 inputs the data 1053 with the seal, encrypts the data 1053 with the seal using the public key 1054 of the inspection server device 3, and the data 1106 ′ with the seal (encrypted seal) Data).
This is input to the check data output unit 106 (FIG. 1) as data 1106 with a check.

図5の検査サーバ装置3においては、検査対象データ分解部303において、検査対象データ3102(検査サーバ装置の公開鍵で暗号化されている)を検査サーバ装置3の公開鍵暗号のprivate keyで復号したうえで、検印データ3104と被検印データ3105とユーザ識別子3109に分解し出力する。
図22を用いて説明すると、検査対象データ分解部303における公開鍵復号部3031は、検査対象データ3102(暗号化された、検印付きデータ)を検査サーバ装置のprivate key 3033で復号し、検印付きデータ3034を出力する。
分解部3032は、検印付きデータ3034を検印データ3104と被検印データ3105とユーザ識別子3109に分解し出力する。
In the inspection server device 3 of FIG. 5, the inspection target data decomposition unit 303 decrypts the inspection target data 3102 (encrypted with the public key of the inspection server device) with the private key of the public key encryption of the inspection server device 3. After that, it is decomposed into the check data 3104, the check data 3105, and the user identifier 3109 and output.
Referring to FIG. 22, the public key decryption unit 3031 in the inspection target data decomposing unit 303 decrypts the inspection target data 3102 (encrypted data with verification) with the private key 3033 of the inspection server device, and with verification. Data 3034 is output.
The disassembling unit 3032 decomposes the data 3034 with the check into check data 3104, check mark data 3105, and a user identifier 3109, and outputs them.

上記例では、公開鍵暗号による暗号化の例を示したが、検印処理部100と検査サーバ装置3で共通鍵暗号の鍵を予め共有してそれらの鍵で暗号化/復号してもよい。
その場合、検印処理部100の動作を、図23を用いて説明すると、検印追加部105の連結部1051は、検印データ1105と被検印データ1101とユーザ識別子1207を連結し、検印付きデータ1053を出力する。
次に、共通鍵暗号部1055は、検印付きデータ1053を入力し、検査サーバ装置3と共有している共通鍵1056を用いて、検印付きデータ1053を暗号化し、検印付きデータ1106’(暗号化された、検印付きデータ)として出力する。
これは、検印付きデータ1106として検印データ出力部106(図1)に入力される。
In the above example, an example of encryption by public key encryption has been shown, but the key processing unit 100 and the inspection server device 3 may share a common key encryption key in advance and encrypt / decrypt with these keys.
In this case, the operation of the seal processing unit 100 will be described with reference to FIG. Output.
Next, the common key encryption unit 1055 inputs the data 1053 with the seal, encrypts the data 1053 with the seal using the common key 1056 shared with the inspection server device 3, and data 1106 ′ with the seal 1 (encryption). Output as data with a check mark).
This is input to the check data output unit 106 (FIG. 1) as data 1106 with a check.

検査サーバ装置3の動作を図24を用いて説明すると、検査対象データ分解部303における共通鍵復号部3035は、検査対象データ3102(暗号化された、検印付きデータ)を検印処理部100と共有している共通鍵3036(共通鍵1056と同じ)で復号し、検印付きデータ3034を出力する。
分解部3032は、検印付きデータ3034を検印データ3104と被検印データ3105に分解し出力する。
The operation of the inspection server device 3 will be described with reference to FIG. 24. The common key decryption unit 3035 in the inspection target data decomposing unit 303 shares the inspection target data 3102 (encrypted, data with verification) with the verification processing unit 100. The common key 3036 (same as the common key 1056) is decrypted, and the data 3034 with a check is output.
The disassembling unit 3032 decomposes the data 3034 with the check into the check data 3104 and the check mark data 3105 and outputs them.

また、検印処理部100の検印追加部105で、テンポラリの共通鍵暗号の鍵を生成し、テンポラリの共通鍵暗号の鍵で、検印付きデータ1106を暗号化し、テンポラリの共通鍵暗号の鍵を検査サーバ装置3の公開鍵で暗号化し、検印付きデータ1106と連結して検印データ出力部106に出力する。
検印データ出力部106は、この暗号化鍵が連結された検印付きデータを、検印付きデータ1204として検印処理部100の外に出力する。
In addition, the seal adding unit 105 of the seal processing unit 100 generates a temporary common key encryption key, encrypts the data 1106 with the seal with the temporary common key encryption key, and checks the temporary common key encryption key. The encrypted data is encrypted with the public key of the server device 3, connected to the data 1106 with a seal, and output to the seal data output unit 106.
The check data output unit 106 outputs the data with the check to which the encryption key is connected to the outside of the check processing unit 100 as the data 1204 with the check.

検印処理部100の検印追加部105の動作を図25で説明すると、検印追加部105のテンポラリ共通鍵生成部1054は、テンポラリの共通鍵1056を生成し、公開鍵暗号部1052へ出力する。
公開鍵暗号部1052は、テンポラリの共通鍵1056を検査サーバ装置3のpublic key1053で暗号化し、暗号化された共通鍵1057を出力する。
また、第1の連結部1051は、検印データ1105と被検印データ1101とユーザ識別子1207を連結し、検印付きデータ1058として共通鍵暗号部1055に出力する。
共通鍵暗号部1055は、テンポラリの共通鍵1056を用い、検印付きデータ1058を共通鍵暗号で暗号化し、暗号化検印付きデータ1059を第2の連結部10510へ出力する。
第2の連結部10510は、暗号化された共通鍵1057と暗号化検印付きデータ1059を連結し、検印付きデータ(暗号化された、検印付きデータ)と暗号化された共通鍵1106’を、出力する。
これは、検印付きデータ1106として検印データ出力部106(図1)に入力される。
The operation of the seal adding unit 105 of the seal processing unit 100 will be described with reference to FIG. 25. The temporary common key generating unit 1054 of the check adding unit 105 generates a temporary common key 1056 and outputs it to the public key encryption unit 1052.
The public key encryption unit 1052 encrypts the temporary common key 1056 with the public key 1053 of the inspection server device 3, and outputs the encrypted common key 1057.
The first concatenating unit 1051 concatenates the check data 1105, the check target data 1101, and the user identifier 1207 and outputs the data 1058 with the check to the common key encryption unit 1055.
The common key encryption unit 1055 uses the temporary common key 1056 to encrypt the signed data 1058 with the common key encryption, and outputs the encrypted signed data 1059 to the second connecting unit 10510.
The second concatenating unit 10510 concatenates the encrypted common key 1057 and the data with encrypted verification 1059, and provides the data with verification (encrypted data with verification) and the encrypted common key 1106 ′. Output.
This is input to the check data output unit 106 (FIG. 1) as data 1106 with a check.

図5の検査サーバ装置3においては、検査対象データ分解部303において、検査対象データ3102’(テンポラリの共通鍵暗号の鍵で暗号化された検印付きデータに、検査サーバ装置3のpublic keyで暗号化されたテンポラリの鍵が連結されたもの)について、まず、検査サーバ装置3のpublic keyで暗号化されたテンポラリの共通鍵を、検査サーバ装置3のprivate keyで復号し、テンポラリの共通鍵を得る。
次に、このテンポラリの共通鍵で、暗号化された検印付きデータを復号する。
そして、検印データ3104と被検印データ3105とユーザ識別子3109に分解し出力する。
検査サーバ装置3の検査対象データ分解部303の動作を図26で説明すると、検査対象データ分解部303の第1の分解部3037は、「検査対象データ(暗号化された、検印付きデータ)と暗号化された共通鍵3102’」を、暗号化された検印付きデータ3039と、暗号化された共通鍵3038に分解する。
そして、公開鍵復号部3031は、暗号化された共通鍵3038を入力し、検査サーバ装置3のprivate key3033を用いて、暗号化された共通鍵3038を公開鍵暗号で復号し、復号した結果であるテンポラリの共通鍵30310を共通鍵復号部3035に出力する。
共通鍵復号部3035は、暗号化された検印付きデータ3039を入力し、テンポラリの共通鍵30310を用いて、共通鍵暗号で復号し、復号した結果である検印付きデータ3034を第2の分解部3032に出力する。
第2の分解部3032は、検印付きデータ3034を、検印データ3104と被検印データ3105とユーザ識別子3109に分解し、出力する。
In the inspection server device 3 of FIG. 5, the inspection target data decomposition unit 303 encrypts the inspection target data 3102 ′ (data with a seal encrypted with the temporary common key encryption key with the public key of the inspection server device 3). First, the temporary common key encrypted with the public key of the inspection server device 3 is decrypted with the private key of the inspection server device 3, and the temporary common key is decrypted. obtain.
Next, the encrypted data with a seal is decrypted with the temporary common key.
Then, it is decomposed into the check data 3104, the check data 3105, and the user identifier 3109 and output.
The operation of the inspection object data decomposing unit 303 of the inspection server device 3 will be described with reference to FIG. 26. The first decomposing unit 3037 of the inspection object data decomposing unit 303 indicates that “inspection object data (encrypted data with a seal)” The encrypted common key 3102 ′ ”is decomposed into encrypted data 3039 with a seal and encrypted common key 3038.
Then, the public key decryption unit 3031 inputs the encrypted common key 3038, decrypts the encrypted common key 3038 with the public key encryption using the private key 3033 of the inspection server device 3, and uses the decrypted result as a result. A temporary common key 30310 is output to the common key decryption unit 3035.
The common key decryption unit 3035 receives the encrypted data 3039 with the seal, decrypts it with the common key encryption using the temporary common key 30310, and decrypts the data 3034 with the seal as a result of the decryption. Output to 3032.
The second decomposing unit 3032 decomposes the data 3034 with the check into the check data 3104, the check mark data 3105, and the user identifier 3109, and outputs them.

また、実施の形態1では、図10の検印処理用画面6001において、検印付きファイルの出力パス6003を指定させたが、出力パスにおいて、フォルダパスのみ指定させ、ファイル名は、検印処理用画面6001がランダム、或いは検印を付与したタイムスタンプなど、自動的に付与してもよい。
ユーザに検印付きファイルの出力パス6003を、ファイル名まで含めて指定させると、元の拡張子や、元のファイル名を含めてしまいがちで、この結果、マルウエアがファイルの内容を推測できることがある。
例えば、「極秘_顧客リスト2012.zzz」(zzzは拡張子、以下同様)というファイル名の場合、顧客の個人情報が入っているファイルと推測できる(マルウエアは、極秘、顧客、などのキーワードをファイル名に含んだファイルを探す場合が考えられる)。
もしマルウエアが、ディレクトリに置かれているファイル名をリストアップした場合、この様な名前が付与されたファイルを入手するかもしれない。
そこで、検印処理用画面6001は、検印付きファイル5003(図9)の名前を、例えば、「P9$uq71hr.zzz.sig」や、「201208011036.zzz.sig」などの様にファイル名から内容を推測できないファイルに変換してもよい。
また、「P9$uq71hr.sig、201208011036.sig」のように元の拡張子を除去してもよい。
更に、「P9$uq71hr」や「201208011036」の様に拡張子を完全に除去し、そもそも何のファイルなのか分からなくしてもよい。
Further, in the first embodiment, the output path 6003 of the file with a check mark is specified on the check processing screen 6001 in FIG. 10, but only the folder path is specified in the output path, and the file name is the check processing screen 6001. May be given automatically, such as a random or time stamp with a check.
If the user specifies the output path 6003 of the file with a seal including the file name, the user tends to include the original extension and the original file name, and as a result, the malware may be able to guess the contents of the file. .
For example, in the case of the file name “Top Secret_Customer List 2012.zzz” (zzz is an extension, the same applies hereinafter), it can be inferred that the file contains the customer's personal information (malware uses keywords such as top secret, customer, etc.) You may be looking for a file that is included in the file name).
If the malware lists file names in the directory, it may get a file with such a name.
Therefore, the check processing screen 6001 displays the contents of the file with the check 5003 (FIG. 9) from the file name such as “P9 $ uq71hr.zzz.sig” or “201208011036.zzz.sig”. You may convert it to a file that cannot be guessed.
Further, the original extension may be removed as in “P9 $ uq71hr.sig, 201208011036.sig”.
Further, the extension may be completely removed as in “P9 $ uq71hr” or “201208011036” so that the file itself is unknown.

図9のWebサーバ装置5012は、「P9$uq71hr.zzz.sig」のようなファイル名で受け取ると、何のファイルなのかファイルを開いてみないと分からないことがある。
また、「P9$uq71hr.sig」や「P9$uq71hr」のような場合は何のアプリケーションで開いてよいか分からない。
予め、Webサーバ装置5012と開くアプリケーションを取り決めておけば解決できるかもしれないが、元もとのファイル名を知りたい場合の処理について説明する。
図1の検印処理部100において、公開鍵暗号で検印付きデータを暗号化する場合で説明する。
図21において、検印追加部105の連結部1051は、検印データ1105と、被検印データ1101と、ユーザ識別子1207に加えて、検印処理部100(図1)に入力された、検印付きファイルの出力パス1206(フルパスか、パスを含まないファイル名のみの何れか、例えば、「極秘_顧客リスト2012.zzz」)(図1)を、入力し、検印付きデータ1053と検印付きファイルの出力パス1206を連結して、公開鍵暗号部1052に出力する。
この結果、検印付きデータ1106’(暗号化された、検印付きデータ)には、元のファイル名(「極秘_顧客リスト2012.zzz」)が含まれる。
また、検印処理部100が出力する検印付きファイルの名前は元のファイル名を推測できないランダムなものとし、例えば、「P9$uq71hr」である。
When the Web server apparatus 5012 in FIG. 9 receives a file name such as “P9 $ uq71hr.zzz.sig”, it may not be understood unless the file is opened.
In addition, in the case of “P9 $ uq71hr.sig” or “P9 $ uq71hr”, it is not known by which application it can be opened.
Processing that is performed when it is desired to know the original file name will be described, although it may be solved if the Web server device 5012 and the application to be opened are arranged in advance.
The case where the data with a seal is encrypted by public key encryption in the seal processing unit 100 of FIG. 1 will be described.
In FIG. 21, the linking unit 1051 of the seal addition unit 105 outputs a file with a seal that is input to the seal processing unit 100 (FIG. 1) in addition to the seal data 1105, the seal data 1101, and the user identifier 1207. A path 1206 (either a full path or only a file name that does not include a path, for example, “Top Secret_Customer List 2012.zzz”) (FIG. 1) is input, and the output path 1206 of the data with seal 1053 and the file with seal Are output to the public key encryption unit 1052.
As a result, the data with a seal 1106 ′ (encrypted data with a seal) includes the original file name (“confidential_customer list 2012.zzz”).
In addition, the name of the file with a check output from the check processing unit 100 is assumed to be a random name from which the original file name cannot be estimated, and is, for example, “P9 $ quq71hr”.

図9のブラウザ5004で検印付きファイル5003である「P9$uq71hr」をPOSTすると、HTTPのヘッダ(例えばContent−Disposition)にファイル名として、「P9$uq71hr」が設定される。   When “P9 $ uq71hr”, which is a file 5003 with a seal, is POSTed by the browser 5004 in FIG. 9, “P9 $ uq71hr” is set as the file name in the HTTP header (for example, Content-Disposition).

そして、検査サーバ装置3における、図22の検査対象データ分解部303の分解部3302は、検印データ3104、被検印データ3105、ユーザ識別子3109に加えて、検印付きファイルの出力パス1206を出力する。
検査サーバ装置3の送信データ生成部306(図1)では、HTTPデータのヘッダ(例えばContent−Disposition)において、検印付きファイルの出力パス1206を設定する。
この結果、修正送信データ3108に含まれるファイル名の情報は、元のファイル名「極秘_顧客リスト2012.zzz」となり、図9のWebサーバ装置5012は、ファイル名「極秘_顧客リスト2012.zzz」として受け取ることができる。
Then, the decomposition unit 3302 of the inspection object data decomposition unit 303 in FIG. 22 in the inspection server device 3 outputs the output path 1206 of the file with the check in addition to the check data 3104, the check mark data 3105, and the user identifier 3109.
In the transmission data generation unit 306 (FIG. 1) of the inspection server device 3, the output path 1206 of the file with a check is set in the header of HTTP data (for example, Content-Disposition).
As a result, the file name information included in the corrected transmission data 3108 is the original file name “confidential_customer list 2012.zzz”, and the Web server device 5012 in FIG. 9 has the file name “confidential_customer list 2012.zzz”. Can be received as.

この様に、検印処理部が出力する、検印付きデータ1204を暗号化することで、マルウエアが、検印付きデータ1204を横取りしても、何のファイルなのか識別させないため、必要なファイルを漏洩することを防止する効果がある。   In this way, by encrypting the data 1204 with a check output from the check processing unit, even if the malware intercepts the data 1204 with a check, it does not identify what file it is, so it leaks a necessary file. There is an effect to prevent that.

実施の形態7.
本実施の形態では、マルウエアがファイルを添付メール(電子メールの添付ファイル)で組織外へ漏洩することを防止する実施の形態を示す。
以下では、実施の形態1との差異を示す。
Embodiment 7 FIG.
In the present embodiment, an embodiment will be described in which malware prevents a file from being leaked outside the organization by an attached mail (attached file of an electronic mail).
Hereinafter, differences from the first embodiment will be described.

図27は、本実施の形態における構成図である。
図9との差異を示す。
ユーザ5005はメーラ5004’を使用し((2))、添付メールで検印付きファイル5003を送信することで、検印付きファイル5003が添付されたメール5006’がLAN5013に送られ((3))、スイッチ5007を経由しメールサーバ装置5008’において受信される。
メールサーバ装置5008’は、検査サーバ装置5009に検印付きファイル5003が添付されたメール5006’を転送する。
検査サーバ装置5009は、検印付きファイル5003が添付されたメール5006’において、検印を検査し、成功した場合に、検印付きファイル5300から検印を除去し((5))、ファイルが添付されたメール5010’としてメールサーバ装置5008’に転送する((6))。
メールサーバ装置5008’はインターネット5011にファイルが添付されたメール5010’を送信し((7))、メール送信先5012’で受信する。
FIG. 27 is a configuration diagram in the present embodiment.
The difference from FIG. 9 is shown.
The user 5005 uses the mailer 5004 ′ ((2)), and by sending the file 5003 with a check with an attached mail, the mail 5006 ′ with the file 5003 with the check attached is sent to the LAN 5013 ((3)). It is received by the mail server device 5008 ′ via the switch 5007.
The mail server device 5008 ′ transfers the mail 5006 ′ with the file 5003 with the check mark attached to the inspection server device 5009.
The inspection server device 5009 inspects the seal in the mail 5006 ′ to which the file with the seal 5003 is attached, and when successful, removes the seal from the file with the seal 5300 ((5)), and the mail to which the file is attached. 5010 ′ is transferred to the mail server device 5008 ′ ((6)).
The mail server device 5008 ′ transmits a mail 5010 ′ with a file attached to the Internet 5011 ((7)) and receives it at the mail transmission destination 5012 ′.

検印処理部100の動作は、実施の形態1に同じである。
図5の検査サーバ装置3の動作は、送信対象データ分解部302は、検査対象データ3102として、検印付き添付ファイルを出力する。
また、メールの本文やヘッダ部分を非検査対象データ3103として出力する。
また、送信データ生成部306において、被検印データ3105と非検査対象データ3103を連結することで、検印データが付与されていないファイルを添付ファイルとしたメールが、修正送信データ3108として出力される。
The operation of the check processing unit 100 is the same as that in the first embodiment.
In the operation of the inspection server device 3 in FIG. 5, the transmission target data decomposition unit 302 outputs an attached file with a check as the inspection target data 3102.
In addition, the mail text and header part are output as non-inspection target data 3103.
In addition, the transmission data generation unit 306 concatenates the inspection mark data 3105 and the non-inspection target data 3103, so that a mail with a file to which no check data is attached as an attached file is output as the corrected transmission data 3108.

また、マルウエアによる検印付きファイルの横取りへの対策として、実施の形態5の方式を応用できるが、その場合は、送信先URLの代わりに、送信先のメールアドレスを指定すればよい。   In addition, as a countermeasure against the interception of a file with a check mark by malware, the method of the fifth embodiment can be applied. In this case, a destination mail address may be specified instead of the destination URL.

本実施の形態では、Webサーバ装置に送信するファイルへの検印処理部100による検印の付与と、検査サーバ装置3における検印の検証と除去の方式を、添付つき電子メールにも適用したので、マルウエアがファイルを添付メールで組織外へ漏洩することを防止する効果がある。   In the present embodiment, the method of applying a check by the check processing unit 100 to the file to be transmitted to the Web server device and the method of verifying and removing the check in the inspection server device 3 are also applied to the attached e-mail. Has the effect of preventing files from being leaked outside the organization via attached emails.

実施の形態8.
本実施の形態では、マルウエアがブログサイトの掲示板へデータ漏洩することを防止する実施の形態を示す。
以下では、実施の形態1との差異を示す。
Embodiment 8 FIG.
In the present embodiment, an embodiment for preventing malware from leaking data to a bulletin board of a blog site will be described.
Hereinafter, differences from the first embodiment will be described.

図28を用いて実施の形態1との差異を説明する。
ユーザ5005は、ブログサイトへ投稿したい文書(投稿データ5015)を、テキストエディタ5013で記述し、ファイル5001に保存する。
さらに検印処理部5002を使用して、検印付きファイル5003を生成する((1))。
さらにユーザ5005は、検印付きファイル5003をテキストエディタ5013で開き、検印付きファイルの内容(検印付き投稿データ5014)をコピーし、ブラウザ5004を用いて、掲示板のWebサーバ装置の投稿欄にペーストして投稿する((2))。
この結果、検印付き投稿データを含んだHTTP POSTデータ5006’’((3))が、プロキシサーバ装置5008へ送信される。
この時、HTTPボディに含まれるのは、検印付き投稿データ5014である。
プロキシサーバ装置5008は、検印付き投稿データを含んだHTTP POSTデータ5006’’を検査サーバ装置5009に転送すると((4))、検査サーバ装置5009は、検印付き投稿データを含んだHTTP POSTデータ5006’’において、検印付き投稿データの検印を検証する。
検証に成功すれば、検印付き投稿データ5014から検印を除去し、投稿データ5015を含んだHTTP POSTデータ5010’’をプロキシサーバ装置5008へ転送する。
プロキシサーバ装置5008は、投稿データを含んだHTTP POSTデータ5010’’をインターネット5011を経由して、Webサーバ装置5012へ送信する。
Differences from the first embodiment will be described with reference to FIG.
The user 5005 describes a document (post data 5015) to be posted on the blog site with the text editor 5013 and saves it in the file 5001.
Further, the check processing unit 5002 is used to generate a file 5003 with a check ((1)).
Further, the user 5005 opens the file 5003 with the seal with a text editor 5013, copies the content of the file with the seal (post data 5014 with the seal), and pastes it in the post field of the Web server device of the bulletin board using the browser 5004. Post ((2)).
As a result, HTTP POST data 5006 '' ((3)) including post data with a check mark is transmitted to the proxy server device 5008.
At this time, post data 5014 with a seal is included in the HTTP body.
When the proxy server device 5008 transfers the HTTP POST data 5006 ″ including post data with a check to the inspection server device 5009 ((4)), the inspection server device 5009 includes HTTP POST data 5006 including post data with a check. In '', verification of the post data with seal is verified.
If the verification is successful, the seal is removed from the post data with seal 5014, and the HTTP POST data 5010 ″ including the post data 5015 is transferred to the proxy server device 5008.
The proxy server device 5008 transmits HTTP POST data 5010 ″ including post data to the Web server device 5012 via the Internet 5011.

本実施の形態では、実施の形態1をブログサイトへの投稿データにも応用したので、マルウエアによるブログサイトへのデータ漏洩も防止する効果がある。   In this embodiment, since Embodiment 1 is also applied to data posted to a blog site, there is an effect of preventing data leakage to the blog site by malware.

以上の実施の形態1〜8では、以下の処理が行われる情報漏洩防止システムを説明した。
端末装置は、WebサイトへPOSTしたいファイルを、検印処理部を用いて検印し、プロキシサーバ装置へ送信する(HTTPデータ)。
プロキシサーバ装置は、受信したHTTPデータを検査サーバ装置へフォワードし、検査サーバ装置は、検印があり、検印の検証に成功することをもって、検印部分を削除したHTTPデータを生成しなおし、プロキシサーバ装置へフォワードする。
プロキシは、検印部分を削除したHTTPデータをWebサイトへPOSTする。
検印が無い場合、及び、検証に失敗した場合は、検査サーバ装置は、エラーをプロキシに通知する。
In the above first to eighth embodiments, the information leakage prevention system in which the following processing is performed has been described.
The terminal device uses a check processing unit to check a file to be posted to the Web site, and transmits the file to the proxy server device (HTTP data).
The proxy server device forwards the received HTTP data to the inspection server device, and the inspection server device regenerates HTTP data from which the verification portion has been deleted when there is a verification and the verification of the verification is successful, and the proxy server device Forward to.
The proxy POSTs the HTTP data from which the verification part is deleted to the Web site.
When there is no check and when verification fails, the inspection server device notifies the proxy of an error.

また、実施の形態1〜8では、情報漏洩防止システムは、検印の手段として以下を適用することを説明した。
固定の文字列
公開鍵暗号と一方向性ハッシュ関数を用いた電子署名
共通鍵暗号と一方向性ハッシュ関数を用いた電子署名
Further, in the first to eighth embodiments, it has been described that the information leakage prevention system applies the following as a means for checking.
Fixed string Digital signature using public key cryptography and one-way hash function Electronic signature using common key cryptography and one-way hash function

また、実施の形態1〜8では、
以下の、マルウエアによる本方式の悪用対策を含む情報漏洩防止システムを説明した。
検印データに、送信先URLを含み、検査サーバ装置において、HTTPヘッダ情報に示されるホスト名がURLに含まれることで、正当なWebサイトへ送信を行うことを確認する。
検印付きファイルを、検査サーバ装置のみが復号できるように暗号化する。
検印処理部が、外部機器の認証を必要とする。
検印処理部が、外部機器の暗号処理を必要とする。
検印処理部が、画像認証を必要とする。
In the first to eighth embodiments,
The following information leakage prevention system including countermeasures against the abuse of this method by malware was described.
The verification data includes the transmission destination URL, and the inspection server apparatus confirms that the transmission is made to a valid Web site by including the host name indicated in the HTTP header information in the URL.
The file with a seal is encrypted so that only the inspection server device can decrypt it.
The check processing unit requires authentication of the external device.
The check processing unit requires encryption processing of the external device.
The check processing unit requires image authentication.

また、実施の形態1〜8では、
マルウエアによる、WebサイトへのファイルのHTTP POSTだけでなく、ブログサイトへのデータ送信、添付メールによるファイル送信による情報漏洩を防止する情報漏洩防止システムを説明した。
In the first to eighth embodiments,
An information leakage prevention system for preventing information leakage due to data transmission to a blog site and file transmission by an attached mail as well as HTTP POST of a file to a website by malware has been described.

以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
As mentioned above, although embodiment of this invention was described, you may implement in combination of 2 or more among these embodiment.
Alternatively, one of these embodiments may be partially implemented.
Alternatively, two or more of these embodiments may be partially combined.
In addition, this invention is not limited to these embodiment, A various change is possible as needed.

また、上記の実施の形態では、端末装置をユーザが操作し、送信したいファイルに検印を付与し、Webサイトへ送信したり電子メールに添付して送信したが、当端末装置をサーバ化(検印サーバ)し、ユーザが、検印サーバへ、送付したいファイルと送信先を転送すると、検印が付与され、プロキシサーバ(Webサイトへ送信する場合)やメールサーバ(電子メールとして送信する場合)へ検印付きのファイルが転送されるように構成してもよい。
また、検印鍵保存部103に保存するprivate keyや共通鍵はユーザ固有として記述したが、複数のユーザで共通のprivate keyや共通鍵を保持して運用してもよい。
また、以上の実施の形態では、マルウエアが不正にデータを操作する例を用いて説明を行ったが、検印を付与できない不正な内部ユーザがデータを不正に操作する場合も、上記の実施の形態で説明した仕組みを適用できる。
つまり、検査サーバ装置は、検印を付与できない不正な内部ユーザにより不正に操作されたデータを検出することができる。
In the above embodiment, the user operates the terminal device, adds a seal to the file to be transmitted, and transmits it to the website or attaches it to the e-mail. Server), and when the user transfers the file and destination to be sent to the check server, the check is given and the check is added to the proxy server (when sending to the website) or mail server (when sending as e-mail) The file may be transferred.
In addition, although the private key and common key stored in the verification key storage unit 103 are described as user-specific, a plurality of users may use a common private key or common key.
Further, in the above embodiment, the description has been given using an example in which malware illegally manipulates data. However, the above embodiment also applies to an unauthorized internal user who cannot give a checkmark. The mechanism described in (4) can be applied.
That is, the inspection server device can detect data that has been illegally operated by an unauthorized internal user who cannot give a seal.

図29において、端末装置1及び検査サーバ装置3は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウエアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜8で説明した「検印鍵保存部103」及び「検証鍵保存部305」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 29, the terminal device 1 and the inspection server device 3 include a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an SSD (Solid State Drive), an optical disk device, or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
The “check key storage unit 103” and the “verification key storage unit 305” described in the first to eighth embodiments are realized by the RAM 914, the magnetic disk device 920, and the like.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、図9等に示すように、ネットワークに接続されている。   The communication board 915 is connected to a network as shown in FIG.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
端末装置1及び検査サーバ装置3の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the terminal device 1 and the inspection server device 3 are activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜8の説明において「〜部」(「検印鍵保存部103」及び「検証鍵保存部305」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。
プログラムは、CPU911により読み出され実行される。
The program group 923 executes the function described as “˜part” in the description of the first to eighth embodiments (other than “verification key storage unit 103” and “verification key storage unit 305”). The program is stored.
The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜8の説明において、「〜の判断」、「〜の判定」、「〜の計算」、「〜の演算」、「〜の比較」、「〜の検証」、「〜の生成」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の連結」、「〜の暗号化」、「〜の復号」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が、ディスクやメモリなどの記憶媒体にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、ディスクやメモリなどの記憶媒体にファイルとして記憶されてもよい。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記憶媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜8で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 924, in the description of the first to eighth embodiments, “determination of”, “determination of”, “calculation of”, “calculation of”, “comparison of”, “verification of” "," Generate "," Evaluate "," Update "," Set up "," Register "," Select "," Concatenate "," Encrypt " , Information, data, signal values, and variable values indicating the results of the processing described as “decoding of”, “input of”, “output of”, etc. as files on a storage medium such as a disk or memory It is remembered.
The encryption key / decryption key, random number value, and parameter may be stored as a file in a storage medium such as a disk or memory.
The “˜file” and “˜database” are stored in a storage medium such as a disk or a memory.
Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit.
The read information, data, signal value, variable value, and parameter are used for CPU operations such as extraction, search, reference, comparison, calculation, calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
The arrows in the flowcharts described in the first to eighth embodiments mainly indicate input / output of data and signals.
Data and signal values are recorded on a storage medium such as a memory of the RAM 914, a flexible disk of the FDD 904, a compact disk of the CDD 905, a magnetic disk of the magnetic disk device 920, other optical disks, a Blu-ray (registered trademark) disk, and a DVD.
Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態1〜8の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
また、端末装置1及び検査サーバ装置3の処理をデータ処理方法として捉えることができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウエアで実現されていても構わない。
或いは、ソフトウエアのみ、或いは、素子・デバイス・基板・配線などのハードウエアのみ、或いは、ソフトウエアとハードウエアとの組み合わせ、さらには、ファームウエアとの組み合わせで実施されても構わない。
ファームウエアとソフトウエアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1〜8の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜8の「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “to part” in the description of the first to eighth embodiments may be “to circuit”, “to device”, “to device”, and “to step”, It may be “˜procedure” or “˜processing”.
Moreover, the process of the terminal device 1 and the test | inspection server apparatus 3 can be grasped | ascertained as a data processing method.
In addition, what is described as “to part” may be realized by firmware stored in the ROM 913.
Alternatively, only software, hardware such as an element, a device, a substrate, and wiring, a combination of software and hardware, or a combination of firmware may be used.
Firmware and software are stored as programs in a storage medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, and a DVD.
The program is read by the CPU 911 and executed by the CPU 911.
That is, the program causes the computer to function as “to part” in the first to eighth embodiments. Alternatively, the computer executes the procedure and method of “to unit” in the first to eighth embodiments.

このように、実施の形態1〜8に示す端末装置1及び検査サーバ装置3は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the terminal device 1 and the inspection server device 3 shown in the first to eighth embodiments are output devices such as a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, and the like. A computer including a display device, a communication board, and the like.
Then, as described above, the functions indicated as “˜units” are realized using these processing devices, storage devices, input devices, and output devices.

1 端末装置、2 外部機器、3 検査サーバ装置、4 画像系認証データ配信サーバ装置、100 検印処理部、101 データ入力部、102 検印生成部、103 検印鍵保存部、104 外部機器連携部、105 検印追加部、106 検印データ出力部、107 パケット生成部、108 パケット送信部、301 データ入力部、302 送信対象データ分解部、303 検査対象データ分解部、304 検印検証部、305 検証鍵保存部、306 送信データ生成部、307 データ出力部。   DESCRIPTION OF SYMBOLS 1 Terminal device, 2 External apparatus, 3 Inspection server apparatus, 4 Image system authentication data delivery server apparatus, 100 Marking processing part, 101 Data input part, 102 Marking production | generation part, 103 Sealing key preservation | save part, 104 External apparatus cooperation part, 105 Check addition unit, 106 Check data output unit, 107 Packet generation unit, 108 Packet transmission unit, 301 Data input unit, 302 Transmission target data decomposition unit, 303 Inspection target data decomposition unit, 304 Check verification unit, 305 Verification key storage unit, 306 Transmission data generation unit, 307 Data output unit.

Claims (6)

ヘッダとボディとに区分される通信データであって、前記通信データの宛先ホスト名が前記ヘッダに含まれ、検証の対象となる検証対象データが前記ボディに含まれる通信データを受信する通信データ受信部と、
前記検証対象データがマルウエア及び不正なユーザの少なくともいずれかにより不正に操作されたデータでないことを検証するのに用いられる検証情報が前記通信データのボディに含まれているか否かを検証するとともに、前記通信データの送信元の装置の利用者が指定した前記検証対象データの宛先アドレスが前記通信データのボディに含まれているか否かを検証し、前記検証情報が前記通信データのボディに含まれている場合に、前記検証対象データと前記検証情報とを用いて、前記検証対象データが不正に操作されたデータでないことを検証し、前記宛先アドレスが前記通信データのボディに含まれている場合に、前記通信データのヘッダの宛先ホスト名とボディの宛先アドレスとを照合し、前記宛先ホスト名で示される宛先ホストと前記宛先アドレスで示される宛先ホストとが一致するか否かを判定するデータ検証部と、
前記データ検証部により前記検証対象データが不正に操作されたデータでないと判定され、更に、前記宛先ホスト名で示される宛先ホストと前記宛先アドレスで示される宛先ホストとが一致すると判定された場合に、前記ボディから前記検証情報及び前記宛先アドレスを除外し、前記検証情報及び前記宛先アドレスが除外された通信データを転送する通信データ転送部とを有することを特徴とするデータ検証装置。
Communication data that is classified into a header and a body, wherein the destination host name of the communication data is included in the header, and the verification target data to be verified receives the communication data included in the body And
Verifying whether or not the verification data used to verify that the verification target data is not data that has been illegally operated by at least one of malware and an unauthorized user is included in the body of the communication data ; It verifies whether or not the destination address of the verification target data specified by the user of the device that is the transmission source of the communication data is included in the body of the communication data, and the verification information is included in the body of the communication data The verification target data and the verification information are used to verify that the verification target data is not illegally manipulated data, and the destination address is included in the body of the communication data And comparing the destination host name in the header of the communication data with the destination address in the body, and the destination host indicated by the destination host name A data verifying unit to determine whether the destination host matches indicated by the serial destination address,
When the data verification unit determines that the verification target data is not illegally manipulated data, and further determines that the destination host indicated by the destination host name matches the destination host indicated by the destination address And a communication data transfer unit that excludes the verification information and the destination address from the body and transfers the communication data from which the verification information and the destination address are excluded .
前記データ検証部は、
前記通信データに前記検証情報が含まれていない場合及び前記検証対象データが不正に操作されたデータであると判定した場合の少なくともいずれかにおいて、前記通信データ転送部に前記通信データの転送を実施させることなく、前記通信データの送信元の装置に対してエラーを通知することを特徴とする請求項1に記載のデータ検証装置。
The data verification unit
The communication data is transferred to the communication data transfer unit at least one of when the verification information is not included in the communication data and when it is determined that the verification target data is illegally operated data The data verification apparatus according to claim 1, wherein an error is notified to a transmission source apparatus of the communication data without causing the communication data to be transmitted.
前記データ検証部は、
前記通信データのボディに前記宛先アドレスが含まれていない場合及び前記宛先ホスト名で示される宛先ホストと前記宛先アドレスで示される宛先ホストとが一致しないと判定した場合の少なくともいずれかにおいて、前記通信データ転送部に前記通信データの転送を実施させることなく、前記通信データの送信元の装置に対してエラーを通知することを特徴とする請求項に記載のデータ検証装置。
The data verification unit
The communication in at least one of the case where the destination address is not included in the body of the communication data and the case where it is determined that the destination host indicated by the destination host name does not match the destination host indicated by the destination address without performing the communication data transferred to the data transfer unit, the data verification system according to claim 1, characterized in that notifies an error to the transmission source device of the communication data.
前記通信データ受信部は、
前記ボディの内容が暗号化されている通信データを受信し、
前記データ検証装置は、更に、
前記通信データのボディの内容を復号する復号部を有し、
前記データ検証部は、
前記復号部により前記通信データのボディの内容が復号された後に、前記検証情報が前記通信データのボディに含まれているか否かを検証するとともに、前記宛先アドレスが前記通信データのボディに含まれているか否かを検証することを特徴とする請求項に記載のデータ検証装置。
The communication data receiving unit
Receiving communication data in which the content of the body is encrypted;
The data verification device further includes:
A decoding unit for decoding the content of the body of the communication data;
The data verification unit
After the content of the body of the communication data is decrypted by the decryption unit, it is verified whether the verification information is included in the body of the communication data, and the destination address is included in the body of the communication data. The data verification apparatus according to claim 1 , wherein the data verification apparatus verifies whether the data is present.
前記通信データ受信部は、
前記検証対象データとして、HTTP(HyperText Transfer Protocol)データ及び電子メールデータのいずれかが含まれる通信データを受信することを特徴とする請求項1に記載のデータ検証装置。
The communication data receiving unit
The data verification apparatus according to claim 1, wherein communication data including HTTP (HyperText Transfer Protocol) data and e-mail data is received as the verification target data.
ヘッダとボディとに区分される通信データであって、前記通信データの宛先ホスト名が前記ヘッダに含まれ、検証の対象となる検証対象データが前記ボディに含まれる通信データを受信する通信データ受信処理と、Communication data that is classified into a header and a body, wherein the destination host name of the communication data is included in the header, and the verification target data to be verified receives the communication data included in the body Processing,
前記検証対象データがマルウエア及び不正なユーザの少なくともいずれかにより不正に操作されたデータでないことを検証するのに用いられる検証情報が前記通信データのボディに含まれているか否かを検証するとともに、前記通信データの送信元の装置の利用者が指定した前記検証対象データの宛先アドレスが前記通信データのボディに含まれているか否かを検証し、前記検証情報が前記通信データのボディに含まれている場合に、前記検証対象データと前記検証情報とを用いて、前記検証対象データが不正に操作されたデータでないことを検証し、前記宛先アドレスが前記通信データのボディに含まれている場合に、前記通信データのヘッダの宛先ホスト名とボディの宛先アドレスとを照合し、前記宛先ホスト名で示される宛先ホストと前記宛先アドレスで示される宛先ホストとが一致するか否かを判定するデータ検証処理と、Verifying whether or not the verification data used to verify that the verification target data is not data that has been illegally operated by at least one of malware and an unauthorized user is included in the body of the communication data; It verifies whether or not the destination address of the verification target data specified by the user of the device that is the transmission source of the communication data is included in the body of the communication data, and the verification information is included in the body of the communication data The verification target data and the verification information are used to verify that the verification target data is not illegally manipulated data, and the destination address is included in the body of the communication data And comparing the destination host name in the header of the communication data with the destination address in the body, and the destination host indicated by the destination host name And determining data verification processing whether the destination host matches indicated by the serial destination address,
前記データ検証処理により前記検証対象データが不正に操作されたデータでないと判定され、更に、前記宛先ホスト名で示される宛先ホストと前記宛先アドレスで示される宛先ホストとが一致すると判定された場合に、前記ボディから前記検証情報及び前記宛先アドレスを除外し、前記検証情報及び前記宛先アドレスが除外された通信データを転送する通信データ転送処理とをコンピュータに実行させることを特徴とするプログラム。When it is determined by the data verification processing that the verification target data is not illegally manipulated data, and it is further determined that the destination host indicated by the destination host name matches the destination host indicated by the destination address A program for causing a computer to execute communication data transfer processing for excluding the verification information and the destination address from the body and transferring the communication data from which the verification information and the destination address are excluded.
JP2012213158A 2012-09-26 2012-09-26 Data verification apparatus and program Expired - Fee Related JP5518158B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012213158A JP5518158B2 (en) 2012-09-26 2012-09-26 Data verification apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012213158A JP5518158B2 (en) 2012-09-26 2012-09-26 Data verification apparatus and program

Publications (2)

Publication Number Publication Date
JP2014068271A JP2014068271A (en) 2014-04-17
JP5518158B2 true JP5518158B2 (en) 2014-06-11

Family

ID=50744247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012213158A Expired - Fee Related JP5518158B2 (en) 2012-09-26 2012-09-26 Data verification apparatus and program

Country Status (1)

Country Link
JP (1) JP5518158B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017067587A1 (en) * 2015-10-21 2017-04-27 Rwe Ag Meter of a supply system and supply system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143793A (en) * 1997-11-14 1999-05-28 Nec Corp Electronic mail preparation supporting method and device therefor and recording medium
JP3945708B2 (en) * 2004-01-23 2007-07-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing system, conversion processing system, inverse conversion processing system, conversion method, conversion program, and recording medium
JP2008187316A (en) * 2007-01-29 2008-08-14 Sharp Corp Image data processing method and device
JP4907371B2 (en) * 2007-02-01 2012-03-28 株式会社日立ソリューションズ Virus infection and confidential information leakage prevention system
JP2008199513A (en) * 2007-02-15 2008-08-28 Yokogawa Electric Corp Translator device and authentication communicating method
JP2009027534A (en) * 2007-07-20 2009-02-05 Sony Corp Device, system and method for performing file transmission/reception utilizing http

Also Published As

Publication number Publication date
JP2014068271A (en) 2014-04-17

Similar Documents

Publication Publication Date Title
Specter et al. The ballot is busted before the blockchain: A security analysis of voatz, the first internet voting application used in {US}. federal elections
Springall et al. Security analysis of the Estonian internet voting system
US8468351B2 (en) Digital data authentication
Mannan et al. Using a personal device to strengthen password authentication from an untrusted computer
Li et al. The {Emperor’s} new password manager: Security analysis of web-based password managers
KR101878149B1 (en) Device, system, and method of secure entry and handling of passwords
Fett et al. Spresso: A secure, privacy-respecting single sign-on system for the web
JP6654985B2 (en) System and method for secure online authentication
Wang et al. Vulnerability assessment of oauth implementations in android applications
CN109075976A (en) Certificate depending on key authentication is issued
JP2017112592A (en) System and method for encrypted transmission of web page
JP2016531508A (en) Data secure storage
Wang et al. The achilles heel of OAuth: a multi-platform study of OAuth-based authentication
Cao et al. Protecting web-based single sign-on protocols against relying party impersonation attacks through a dedicated bi-directional authenticated secure channel
Calzavara et al. Sub-session hijacking on the web: Root causes and prevention
Pereira et al. Formal analysis of the FIDO 1. x protocol
Chothia et al. Why banker Bob (still) can’t get TLS right: A Security Analysis of TLS in Leading UK Banking Apps
Mannan et al. Leveraging personal devices for stronger password authentication from untrusted computers
Levillain Implementation flaws in TLS stacks: lessons learned and study of TLS 1.3 benefits
Raddum et al. Security analysis of mobile phones used as OTP generators
JP5518158B2 (en) Data verification apparatus and program
Tolbert Vulnerabilities of Multi-factor Authentication in Modern Computer Networks
Kusreynada et al. Android Apps Vulnerability Detection with Static and Dynamic Analysis Approach using MOBSF
Wüest “Phishing In The Middle Of The Stream”-Today’s Threats To Online Banking
Alanazi et al. The history of web application security risks

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5518158

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

LAPS Cancellation because of no payment of annual fees