Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6506884B2 - 機密性を保持しつつデータ損失を防止するためのシステムおよび方法 - Google Patents
[go: Go Back, main page]

JP6506884B2 - 機密性を保持しつつデータ損失を防止するためのシステムおよび方法 - Google Patents

機密性を保持しつつデータ損失を防止するためのシステムおよび方法 Download PDF

Info

Publication number
JP6506884B2
JP6506884B2 JP2018515222A JP2018515222A JP6506884B2 JP 6506884 B2 JP6506884 B2 JP 6506884B2 JP 2018515222 A JP2018515222 A JP 2018515222A JP 2018515222 A JP2018515222 A JP 2018515222A JP 6506884 B2 JP6506884 B2 JP 6506884B2
Authority
JP
Japan
Prior art keywords
host
encrypted
data communication
software agent
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.)
Active
Application number
JP2018515222A
Other languages
English (en)
Other versions
JP2018533054A (ja
Inventor
メドベージェフ,イバン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2018533054A publication Critical patent/JP2018533054A/ja
Application granted granted Critical
Publication of JP6506884B2 publication Critical patent/JP6506884B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

背景
分野
本明細書に記載の主題は、概して機密性を保持しつつもデータ損失を防止する方法およびシステムに関し、より具体的には秘密情報を保護するようにデータ損失を防止するための外部ホストと企業との間のプロトコルに関する。
関連技術
関連技術において、企業は、機密データの漏洩、損失、または過度の共有を防止するための技術を採用しなければならない。関連する手法は、データ損失防止または検出(「DLP」(data loss prevention))システムを含む。このシステムにおいて、企業は、データ損失を検出および防止するためのアルゴリズムを実装する。関連技術のアルゴリズムは、直接的またはコンテキストアウェア型のパターンマッチング手法を含む。たとえば、企業Aが、アカウント名、アカウント番号、またはその他の秘密情報等のデータの機密性の保護を求める場合がある。その場合、企業Aは、外に出るいかなるデータ(たとえば電子メール、ダウンロード、エクスポート)に対しても、データ損失(たとえばアカウント番号、アカウント名等の送信)が発生したか否かを判断することを試みるためのアルゴリズムを含むソフトウェアを実行する。
しかしながら、この関連技術の手法には、さまざまな問題および短所がある。たとえば、関連技術のパターンマッチングアルゴリズムは、保護対象のエンティティ(たとえば企業自体、または企業のユーザ)がどのデータを機密データとみなしているかを判断することができない。そのため、この関連技術の手法では、結果として検出漏れおよび高レベルのノイズが発生する。上記の例の場合は、企業Aが、データ損失候補の検出に失敗する、または、外に出るデータを、実際はデータ損失ではない場合にデータ損失として特徴付ける危険性がある。ある状況において、企業Aのメンバーが、企業Aが所有する情報に類似するように見える個人情報(たとえば、企業Aとは無関係の個人アカウント情報)を有する場合がある。この類似性のために、企業Aは、このメンバーの個人情報を、データ漏洩でない場合にデータ漏洩として特徴付けることになる。
その他の関連技術の手法は、漏洩する可能性がある機密データを特定するポリシーまたはルールを企業またはデータ所有者から受ける、クラウドサービスプロバイダを含むDLPベンダーまたはホスティング会社等の外部ホストを必要とする。たとえば、企業Aは、企業Aの情報のデータ漏洩を検査しその結果を企業Aに報告する外部ホストBと契約する場合がある。
しかしながら、これらの関連技術の手法にも問題および短所がある。たとえば、企業またはデータ所有者は、機密データを第三者に提供しなければならず、それは結果として、機密データをDLP外部ホスト(たとえば、損失防止システムベンダー、サービス、またはホスティング会社)に対して開示する危険性を伴う。上記の例において、外部ホストBは企業Aの機密データを有する。したがって、企業Aの機密データは企業Aのファイアウォールの外部の第三者に対して開示されることになり、企業Aは外部ホストBで機密データに起こっていることを管理できない。さらに、企業Aの検出パターンが実際の機密データの代わりに外部DLPに対して開示された場合、この場合も高レベルのノイズが生じる可能性がある(たとえば秘密情報が間違ってデータ漏洩として特徴付けられる)。
概要
主題は、データ漏洩を検出するための、コンピュータによって実現される方法を含み、この方法は、企業のファイアウォールの外部のホストにおいて、企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するステップと、ホストが、データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断するステップと、ホストが、データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与えるステップとを含む。コンピュータによって実現される方法はまた、ソフトウェアエージェントが、ホストが暗号化したデータ通信を受信したことに応じて、共通暗号化キーを用いることにより、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化するステップと、ソフトウェアエージェントが暗号化した企業情報のデータベースおよび再度暗号化したデータ通信をホストに与えるステップと、ホストが、再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成するステップとを含む。加えて、コンピュータによって実現される方法は、マッチング動作を実行し、暗号化した企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断するステップと、一致があると判断した場合、ホストが一致をソフトウェアエージェントに報告し、ソフトウェアエージェントが第1のアクションを実行するステップと、一致がないと判断した場合、ホストが第2のアクションを実行するステップとを含む。
主題はまた、企業のファイアウォールの外部のホストにおいてデータ漏洩を検出する、コンピュータによって実現される方法を含み、この方法は、企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するステップと、データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断するステップと、データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与えるステップと、ソフトウェアエージェントが暗号化した企業情報のデータベースと、ホストが暗号化しソフトウェアエージェントが再度暗号化したデータ通信とを受信するステップとを含む。コンピュータによって実現される方法はまた、再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成するステップと、マッチング動作を実行し、暗号化した企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断するステップと、一致があると判断した場合、一致をソフトウェアエージェントに報告するステップと、一致がないと判断した場合、ホストがアクションを実行するステップとを含む。
加えて、主題は、ソフトウェアエージェントを有する企業からのデータ漏洩を検出する、コンピュータによって実現される方法を含む。この方法は、企業のファイアウォールの外部のホストから、企業に関連するユーザデバイスのオンラインアカウントに由来する、ホストが暗号化したデータ通信を受信するステップと、共通暗号化キーを用いて、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化するステップと、暗号化した企業情報のデータベースと再度暗号化したデータ通信とをホストに与えるステップと、暗号化した企業情報のデータベースと再度暗号化したデータ通信との間に一致があることを示す報告をホストから受信するステップと、第1のアクションを実行するステップとを含む。
上記方法は、1以上のコンピューティングデバイスおよび/またはシステムを用いて実現される。上記方法は、コンピュータ読取可能な媒体に格納されてもよい。
主題はまた、企業のファイアウォールの外部のホストにおいてデータ漏洩を検出するためのシステムを含み、企業のファイアウォールの外部のホストを備え、ホストは、ハードウェアプロセッサを含み、コンピュータ読取可能な媒体に格納された、実行可能な命令を有する。ホストにおける命令は、企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信することと、データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断することと、データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与えることと、ソフトウェアエージェントが暗号化した企業情報のデータベースとホストが暗号化しソフトウェアエージェントが再度暗号化したデータ通信とを受信することとを含む。命令はさらに、再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成することと、マッチング動作を実行し、暗号化した企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断することと、一致があると判断した場合、一致をソフトウェアエージェントに報告することと、一致がないと判断した場合、ソフトウェアエージェントが第1のアクションを実行することとを含む。さらに、企業は、ハードウェアプロセッサを含み、これは、コンピュータ読取可能な媒体に格納された、実行可能な命令を有し、企業のファイアウォールの外部のホストから、ホストが暗号化したデータ通信を受信することと、共通暗号化キーを用いて、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化し、ソフトウェアエージェントが暗号化したデータベースと再度暗号化したデータ通信とをホストに与えることと、暗号化した企業情報のデータベースとソフトウェアエージェントが暗号化したデータ通信との間に一致があることを示す報告をホストから受信することと、第2のアクションを実行することとを含む。
加えて、主題は、データ漏洩を検出するためのシステムおよび方法を含む。これは、企業のファイアウォールの外部のホストにおいて、企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するための手段を含み、ホストは、データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断し、ホストは、データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与え、ソフトウェアエージェントが、ホストが暗号化したデータ通信を受信したことに応じて、共通暗号化キーを用いることにより、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化し、ソフトウェアエージェントが暗号化した企業情報のデータベースと、再度暗号化したデータ通信とをホストに与えるための手段を含み、ホストは、再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読してソフトウェアエージェントが暗号化したデータ通信を生成し、マッチング動作を実行して暗号化した企業情報のデータベースとソフトウェアエージェントが暗号化したデータ通信との間に一致があるか否かを判断するための手段を含み、一致があると判断した場合、ホストはこの一致をソフトウェアエージェントに報告し、ソフトウェアエージェントは第1のアクションを実行し、一致がないと判断した場合、ホストは第2のアクションを実行する。
本主題に従うと、エージェントが平文データ通信を認識することはなく、ホストが企業のデータベースの平文情報を認識することはない。
また、機密保持共通集合アルゴリズムが、ホストにより、マッチングを実行するために用いられる。
さらに、ホストは、データ通信を部分的にのみ暗号化し、一部を元の平文として残してもよい。これに代えて、ホストは、データ通信全体を暗号化してもよい。
加えて、ソフトウェアエージェントは、暗号化したデータベースにノイズを追加してホストに送信してもよい。
さらに、ホストによるコンテキストベースの解析において、ブルームフィルタを使用してデータ通信は候補であると判断してもよい。
ソフトウェアエージェントはまた、ホストが暗号化したデータ通信の再暗号化において数字を並べ替えてもよい。
加えて、ソフトウェアエージェントによる第1のアクションは、メッセージを削除すること、メッセージを隔離すること、または、メッセージを警告とともに受信者に送信することを含み、ホストによる第2のアクションは、結果(たとえば企業におけるユーザのノイズまたは個人アカウントを示す)をソフトウェアエージェントに報告しないことを含む。
ある実装例に係るプロトコルを有するクライアントおよびホストを含むシステムを示す図である。 この実装例に係るプロトコルの一例を示す図である。 ある実装例に係るクライアントおよびホストを含むプロトコルのプロセスの一例を示す図である。 ある実装例に係るホストを含むプロトコルのプロセスの一例を示す図である。 ある実装例に係るクライアントを含むプロトコルのプロセスの一例を示す図である。 いくつかの実装例に適した環境の一例を示す図である。 いくつかの実装例で使用される外部ホストに関連するコンピューディングデバイスの一例とともにコンピューティング環境の一例を示す図である。 いくつかの実装例で使用されるクライアントに関連するコンピューティングデバイスの一例とともにコンピューティング環境の一例を示す図である。
詳細な説明
本明細書に記載の主題は実装例によって教示される。明確にするため、かつ主題が曖昧にならないようにするために、さまざまな詳細事項の説明は省略している。以下に示す例は、機密性を保持しつつデータ損失を防止するためのシステムおよび方法を実現するための構造および機能に関する。
実装例の側面は、データの漏洩、損失、または過度の共有を検出および/または防止するためのシステムおよび方法に関し、これは、保護対象の当事者からの協力のもとで行なわれる標準的なパターンマッチングおよびコンテキストアウェア機密情報検出を含む。上記システムおよび方法は、自動機密防止手法によって実行される。限定される訳ではないが、たとえば、この例のシステムおよび方法は、機密保持共通集合アルゴリズム(privacy preserving set intersection algorithm)を含む暗号法を用い得る。アルゴリズムは機密保持共通集合アルゴリズムに限定されない。より具体的には、機密保持共通集合アルゴリズムは、異なる当事者に属する2つ(以上)のデータ集合の共通部分を、いずれの当事者も他の当事者の全データ集合の知識を得ることなく、求めることを可能にする、アルゴリズムまたは方法であってもよい。
関連技術において、第1の企業Aが、第2の企業Bのために文書をホストする場合がある。企業Aは、DLPサービス(たとえば、限定される訳ではないが企業Bに関連する法人クレジットカード番号等の機密データの損失を防止する)を提供したいと考える。企業Aは、企業Bの共有または電子メール文書におけるクレジットカード番号のように見える番号すべてを検出し得る。しかしながら、これらの番号は、クレジットカード番号ではない番号(たとえばノイズ)、または、企業に関連はなく企業Bのメンバー(たとえば従業員)の個人用クレジットカード番号(たとえば企業Bとは無関係の結果)を含み得る。
このような番号が含まれていると、個人的な機密情報が企業Bに対して露出する可能性がある(たとえば、企業Bに関連するメンバーが機密財産情報を含む文書をこのメンバーの企業電子メールアカウントを介して送信するかもしれない)。企業Bは、上記問題に対し、検出すべき法人クレジットカード番号のデータベースを企業Aに提供することによって対処することが可能であるが、このような行為は、企業Bの秘匿情報を企業Aに対して露出することになる。
実装例に従い、機密保持共通集合プロトコルが使用される。上記例において、企業Aは、暗号化された結果を企業Bと共有するだけであり(たとえばキーは共有しない)、企業Bは、暗号化された法人カード番号を企業Aと共有するだけである。機密保持共通集合プロトコルの実装次第で、結果は、どちらの集合にも存在する要素の数、または、どちらの集合にも存在する要素そのもののリストとなる。このため、これらの集合自体はどちらの当事者にも暴露されない。その結果、発見されたものすべてが企業Bに報告される訳ではないので、個々のユーザおよび企業Aの機密性は保持され、法人カードデータベースは企業Aと共有されないので、企業Bの機密性も保持される。
上記単純なプロトコルを実現するユースケースの一例は次の通りである。本明細書では特定のデータおよびコンテキストが説明のために提供されるが、本実装例はこれに限定される訳ではなく、発明の範囲から逸脱することなくその他のデータおよび/またはコンテキストが代わりに使用されてもよい。さらに、クレジットカード番号が説明のために使用されるが、実装例はこれに限定される訳ではなく、代わりに、機密性が保持されるべきその他の機密データが使用される場合もあり、これは、限定される訳ではないが、アカウント識別子、政府発行アカウント(たとえば運転免許証または社会保障番号情報)、またはその他の機密情報を含むことが、当業者には理解されるであろう。
第1の動作において、企業A(たとえばDLPサービスプロバイダ)は、出力電子メールの解析を実行する。解析の結果、2つのクレジットカード番号候補として、1111(この実装例では企業Bのメンバーの個人用クレジットカード番号)および2111(この実装例では企業Bの顧客のクレジットカード情報等の、企業Bの公的クレジットカード番号)が識別される。この状況は、企業Bのメンバーが企業Bの機密データのリストをこのメンバーの個人アカウントに送信した場合(たとえば無断借用(siphoning))、または、あるユーザが電子メールアカウントを個人使用した場合(たとえば個人的な購入の支払いを個人用クレジットカードを用いてオンラインで行なった場合)、または、上記メンバーが、共通ユーザインターフェイスまたはユーザ履歴から個人アカウントおよび企業Aのアカウントいずれにも通信できるオプションを含む複合メールボックスを有する場合にも、発生し得る。
企業Aはこれらのクレジットカード番号候補を、通信特性を有する暗号文を用いてキーAで暗号化する。したがって、企業Aは、企業Bに、結果として、A(1111)、A(2111)を送信する。よって、企業Bは、当該クレジットカード番号の正しい(たとえば平文)IDを受信するのではなく、クレジット番号を暗号化したものだけを受信する。
次に、企業B(たとえばDLPクライアント)は、その法人カード番号(たとえば2111、2112および2113)のデータベースを取出し、このデータベースをキーBで暗号化する。企業Bも、企業Aから受信したデータ(すなわちA(1111)、A(2111))をキーBで暗号化する。次に、企業Bは、企業Aに、結果として、B(2111)、B(2112)、B(2113)、およびB(A(1111))、B(A(2111))を送信する。結果として、企業Aは、企業Bのアカンウント番号のデータベースを暗号化したものを、企業Aが最初に企業Bに送信したA(1111)、A(2111)のようなクレジットカード番号候補を(キーBを用いて)暗号化したものとともに、受信する。
B(2111)、B(2112)、B(2113)、およびB(A(1111))、B(A(2111))を受信した後、企業Aは、自身の暗号文を二重暗号化要素B(A(1111))およびB(A(2111))から取除くことにより、B(1111)およびB(2111)を生成する。次に、企業Aは、解読した要素(たとえばB(1111)およびB(2111))を、企業Bから受信した要素(たとえば(B(2111)、B(2112)、B(2113))と比較する。この比較に基づいて、企業Aは、いずれの集合にも存在しているのはB(2111)であると判断する。言い換えると、このクレジットカード番号(2111)は、企業Aによって電子メールにおいて検出されたものであり、かつ、企業Bのアカウントのデータベースでも検出されたものであるのに対し、企業Aによって検出されたその他のクレジットカード番号A(1111)は、企業Bのアカウントのデータベースには存在しない。
この比較が完了し、一致する値を求めた後に、企業Aは、発見した(B(2111))を企業Bに送信する。企業Bは、暗号キーBを有しているので、出力電子メールにおいてどのようなクレジットカード番号が発見されたかを正確に知っている(2111)。しかしながら、企業Aは、Bの法人カード番号のデータベースを持っておらずこれを判断できない。また、企業Bは、その法人カード番号と一致しない暗号化結果に関連する実際の情報を有しない。
上記例のユースケースは、その他の選択的側面を含み得る。たとえば、発見物の特定の特徴のみ(たとえばクレジットカード番号の最後の4桁)を、企業Aから企業Bに送信することにより、カード番号のデータベース全体を暗号化して送信することを不要にしてもよい。さらに、企業Aによりランダムノイズを発見物に追加することで、企業Bへの情報漏洩を防止してもよい。加えて、要素の順序を調整することにより、企業Aが、どの発見物が法人カードを表わしているかを判断できないようにしてもよい。別の代替実装例に従うと、クライアントは,機密情報のデータベースに対してブルームフィルタ(Bloom filter)を構築してもよい。この手法は、大量のデータ漏洩(たとえば単一のメッセージに多数のカード番号がある)を検出するために実現されてもよい。
なお、企業Aは、企業BのためにDLPサービスをホストするだけでなく、より一般的に企業Bのためのホスト(たとえばクラウドサービスプロバイダ)であってもよく、したがって、サービス、アプリケーション、およびデータをホストしてもよい(たとえば企業Aは企業Bのためのクラウドホスト)。しかしながら、このような環境でさえ、企業Aは、企業Bの「ファイアウォール」の内部にあると考えられる企業Bの情報にアクセスすることはできない。たとえば、限定される訳ではないが、企業Aが企業Bをホストしているときに、ある暗号化手法を用いて企業Bのためのファイアウォールを作成してもよい。
当該実装例はさまざまな利益および利点を有し得る。たとえば、限定される訳ではないが、機密性は、DLPクライアントのメンバー(たとえば個々のユーザ)のために保持されてもよく、機密性はまた、DLPクライアントおよびDLPサービスプロバイダのために保持されてもよい。したがって、DLPは、信頼できる外部の当事者(たとえば出力データの実際の内容または平文を処理し認識する第三者)に頼らなくても提供できる。このようにして機密情報の機密性は保持される。これが意味するのは、この例において、DLPサービスプロバイダの信用が失われ、DLPクライアント構造からの情報の信用が失われ、そのデータが漏洩した場合であっても、DLPクライアントの情報の信用は失われないことを意味する。なぜなら、DLPサービスプロバイダはこのような暗号化された表現の情報を扱うからである。本実装例はクラウドベース環境に組込まれてもよく、クラウドベース環境では、プロトコルのクライアント側を実現するクラウドコンポーネントが、均一的でスケーラブルなやり方でデプロイされてもよい。
図1は、ある実装例に従うシステム100である。より具体的には、クライアント101(たとえばDLPクライアント)とDLPホスト103(たとえばDLPサービスプロバイダ)とが、インターネット105等のネットワークを介して結合される。DLPホスト103は、DLPホストサーバ107と、コンテキストアウェア・パターンマッチング109と、機密保持共通集合比較器111と、暗号化/解読エンジン113と、アクションルール115とを含む。クライアント101は、エージェント117と、クライアント情報119と、暗号化/解読エンジン121と、アクションルール123と、メンバーのデバイス125とを含む。DLPホスト103は、クライアント101のファイアウォールの内側に存在していない。このプロトコルに従うと、動作のうちの一部はクライアント101におけるエージェント117によって実行され、その他の動作はDLPホスト103におけるDLPホストサーバ107によって実行される。
システム100において、クライアント101のメンバーのデバイス125からインターネット105を介して送信された出力データは、DLPホスト103のDLPホストサーバ107によって受信される。たとえば、限定される訳ではないが、この出力データは、DLPクライアントのメンバーであるユーザの電子メールを含み得るものであり、1以上のクレジットカード番号候補、または個人に関連するかもしれないその他の機密情報を含み得る。
受信すると、DLPホストサーバ107は、コンテキストアウェア・パターンマッチング109を用いて、出力データに対してコンテキストベースの解析を実行することにより、漏洩情報の候補を探す。たとえば、限定される訳ではないが、コンテキストアウェア・パターンマッチング109は、パターン(たとえば連続する文字の数または連続する文字の一部またはすべての値)を探そうと試みてもよい。任意で、DLPホスト103は、上記ブルームフィルタを適用することにより、このデータ通信がデータ漏洩候補であると判断するための解析を実行して、このデータ通信がデータ漏洩候補であると判断してもよい。
漏洩情報候補を含む出力データに対し、暗号化/解読エンジン113を用いて、DLPホスト103にありクライアント101には与えられないキーに基づいてこの漏洩情報候補を暗号化する。次に、DLPホスト107は、暗号化された漏洩情報候補をクライアント101のエージェント117に与える。
エージェント117は、暗号化された漏洩情報候補を受信すると、暗号化/解読エンジン121を適用することにより、受信した、一度暗号化された漏洩情報候補に対して二度目の暗号化を実行し、クライアント情報119(たとえばクライアント情報のデータベース)も暗号化する。エージェント117は、クライアント情報119にアクセスでき、クライアント101の環境(たとえばDLPホスト103または別のホストによってホストされるクライアント101のクラウド空間)の中に存在している。暗号化/解読エンジン121は、クライアント101にありDLPホスト103に与えられないキーを用いる。エージェント117は、二度暗号化された漏洩情報候補と、暗号化されたクライアント情報とを、インターネット105等のネットワークを介してDLPホスト103に送信する。
DLPホストサーバ107は、二度暗号化された漏洩情報候補と、暗号化されたクライアント情報とを受信すると、二度暗号化された漏洩情報候補に対し、暗号化/解読エンジン113を介して解読動作を実行することにより、最初に適用した暗号化を取除く。結果として、いずれもクライアント101によって暗号化された、暗号化漏洩情報候補および暗号化クライアント情報は、DLPホスト103に残る。
次に、DLPホストサーバ107は、機密保持共通集合比較器111を適用することにより、暗号化された漏洩情報候補および暗号化されたクライアント情報の値に対してマッチング動作を実行する。マッチング動作の結果、一致があると判断した場合、DLPホストサーバ107は、一致する暗号化された漏洩情報候補を含む報告を、クライアント101のエージェント117に与え、エージェントは、アクションルール123を適用することにより、実行すべきアクションを決定する。これについては以下で詳述する。マッチング動作の結果、一致がないと判断した場合は、アクションルール115が適用され、DLPホストがアクションを実行する。これについては以下で詳述する。
この実装例において、DLPホスト103は、クライアント101のファイアウォールの外部のホストである。さらに、クライアントは、限定される訳ではないが企業を含み得る。したがって、出力データは、限定される訳ではないが、企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を含み得る。したがって、DLPホスト103は、データ通信のコンテキストに基づいて解析を実行することにより、データ通信がデータ漏洩候補であると判断し、データ通信を暗号化して、ホストが暗号化したデータ通信を、企業のソフトウェアエージェント117に与える。
さらに、ソフトウェアエージェント117は、ホストが暗号化したデータ通信を受信したことに応じて、共通の(たとえば共有)暗号化キーを用いることにより、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化し、ソフトウェアエージェントが暗号化した企業情報のデータベースと再度暗号化したデータ通信とを、DLPホスト103に与えてもよい。ホストは、再度暗号化されたデータ通信のうちの、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成し、マッチング動作を実行することにより、暗号化された企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に一致があるか否かを判断してもよい。再度暗号化されたデータのうちの、ホストが暗号化したアスペクトを解読すること(たとえば、通信に対して先に適用した暗号化を解読することにより、ソフトウェアエージェントが暗号化したデータ通信を得ること)は、ホストによって最初に通信に適用された暗号化を、解読によって取除くことにより、ソフトウェアエージェントによる暗号化は適用されているがホストによる暗号化は適用されていない、データ通信を得る(たとえばソフトウェアエージェントが暗号化したデータ通信)。上述のように、再度暗号化されたデータのうちのホストによって暗号化されたアスペクトを解読する機能は、適宜選択される、使用されている暗号方式の特定のプロパティを含む。
一致があると判断した場合、DLPホスト103は、この一致をソフトウェアエージェント117に報告してもよく、ソフトウェアエージェント117は第1のアクションを実行してもよい。このソフトウェアエージェント117によるアクションは、データ通信を削除すること、このデータ通信を隔離すること、および、このデータ通信を警告とともに受信者に送信することのうちの、1つ以上を含み得る。たとえば、限定される訳ではないが、データ通信の元の送信者は、機密情報を送信しようとしたときに警告を受けてもよく(たとえばメッセージを編集して送信前に機密データを削除することを促すダイアログボックスまたはメッセージポップアップを介して)、または、クライアント101のアドミニストレータが、漏洩が生じているかもしれないという警告を受けてもよい。しかしながら、本実装例はこれに限定される訳ではなく、代わりに、発明の範囲から逸脱することなく、当業者が理解するであろうその他の警告を代わりに適用してもよい。
一致はないと判断した場合、DLPホスト103は、第2のアクションを実行してもよい。DLPホスト103による第2のアクションは、ソフトウェアエージェント117に対して報告を提供しないことを含み得る。
先に述べたように、クライアント101(たとえば企業)におけるソフトウェアエージェントには、DLPホスト103がオンラインアカウントに由来するデータ通信を暗号化するのに使用するキーは提供されず、DLPホスト103には、ソフトウェアエージェント117の共通暗号化キーは提供されない。
ある実装例に従うと、DLPホスト103は、データ通信を部分的に暗号化してもよく、当該データ通信のうちの暗号化されていない部分を、平文として残す。さらに、DLPホスト103は、部分的に暗号化したデータ通信と平文とを、ソフトウェアエージェントに与えてもよい。結果として、処理の必要事項を低減することができる。なぜなら、データ通信におけるすべての漏洩情報候補の全ストリングを暗号化しDLPホスト103とクライアント101との間で送信し解読する必要はないからである。
先に述べたように、ソフトウェアエージェント117は、暗号化したデータベースにノイズを追加し、暗号化したデータベースをこのノイズとともにDLPホスト103に送信してもよい。同様に、ソフトウェアエージェント117は、ホストによって暗号化されたデータ通信の再暗号化中に、ホストによって暗号化されたデータ通信における値を並べ替えてもよい。このような手法を採用することで、DLPホスト103がデータベースの実際のコンテンツに関する情報を取得することはより難しくなるであろう。
図2は、上記実装例に係る一例としてのユースケース200を示す。201において、上記実装例および以下で説明し図3〜6に記載されているプロセスを実現するDLPプロバイダは、値「1111」および「2111」を有するアカウント番号候補を発見している。
203において、クライアント企業は、値「2111」、「2112」および「2113」を含む法人番号のデータベースを有する。203において、クライアント企業は、201におけるDLPプロバイダの上記情報を与えられておらず、201におけるDLPプロバイダも203におけるクライアント企業の上記情報を与えられていない。
205において、DLPプロバイダは、アカウント番号候補をキーAで暗号化し、暗号化した値A(1111)、A(2111)をクライアント企業に与える。207において、クライアント企業は、その法人番号のデータベースにおける値を、キーAと異なるキーBで暗号化し、暗号化した値B(2111)、B(2112)、B(2113)をDLPプロバイダに与える。加えて、クライアント企業は、暗号化されたアカウント番号候補A(1111)、A(2111)をキーBを用いて暗号化し、その結果B(A(1111))、B(A(2111))をDLPプロバイダに与える。
209において、DLPプロバイダは、キーAの暗号化を取除くことにより、B(1111)、B(2111)を得る。次に、DLPプロバイダは、これらの値B(1111)、B(2111)と、暗号化された法人番号B(2111)、B(2112)、B(2113)との共通部分を発見する。DLPプロバイダは、共通部分B(2111)をクライアント企業に送信する。クライアント企業は、B(2111)を解読し、したがって、2111が関連するアカウント番号であると判断することができる。
図3は、システム100のある実装例に係るプロセス300を示す。301において、受信者に対して送信されることが公表されていない、DLPクライアントのメンバーのデバイスから送信中の出力データが、DLPホストによって受信される。DLPホストは、たとえば、この出力データがクライアントの顧客に関連する情報を含むか否かに関するその他の情報を受信も格納もしない。303において、受信されると、漏洩情報候補を探すために、出力データに対して、コンテキストアウェア・パターンマッチング動作(たとえばコンテキストベースの解析)が実行される。
305において、出力データの中において漏洩情報候補が発見されない場合、このプロセスは終了する(たとえば、DLPホストは出力データに漏洩はないと判断する)。305において出力データが漏洩情報候補を含むと判断した場合、このプロセスは307に進む。
307において、漏洩情報候補は、DLPホストにありクライアントホストに与えられないキーに基づいて、暗号化され、クライアントに与えられる。たとえば、309において、エージェント(たとえば、クライアントのために命令を実行するクライアントのソフトウェアプログラム)が、暗号化された漏洩情報候補を受信してもよい。
311において、エージェントは、キーを用いて、受信した、一度暗号化された漏洩情報候補に対して二度目の暗号化を実行し、クライアント情報(たとえばクライアント情報のデータベース)も暗号化する。エージェントが使用するキーは、DLPホストには与えられないので、DLPホストは、エージェントが暗号化した内容を解読できない。また、311において、エージェントは、二度暗号化した漏洩情報候補と暗号化したクライアント情報とをDLPホストに与える。
313において、DLPホストは、二度暗号化された漏洩情報候補と、暗号化されたクライアント情報とを受信し、解読動作を実行することにより、二度暗号化された漏洩情報候補に最初に適用された暗号化を取除く。
315において、暗号化された漏洩情報候補および暗号化されたクライアント情報の値に対し、マッチング動作が(たとえば機密保持共通集合比較器によって)実行される。
317において、一致が発見されたか否かが判断される。317におけるマッチング動作の結果、一致が存在すると判断された場合、319において、DLPホストは、一致する暗号化された漏洩情報候補を含む報告をエージェントに与え、エージェントは、上述のように、実行すべきアクションを判断する。317において、マッチング動作の結果一致が存在しないと判断された場合、321において、上述のようにDLPホストは任意でアクションを実行する。
図4は、DLPホスト103の実装例に係るプロセス400を示す。401において、DLPクライアントのメンバーのデバイスから出力データを受信する。403において、受信後、この出力データに対してコンテキストアウェア・パターンマッチング(たとえばコンテキストベースの解析)を実行することにより、漏洩情報候補を探す。
405において、出力データの中において漏洩情報候補が発見されない場合、このプロセスは終了する(たとえば、DLPホストは出力データに漏洩はないと判断する)。405において出力データが漏洩情報候補を含むと判断した場合、このプロセスは407に進む。
407において、漏洩情報候補(たとえば漏洩の可能性があるデータ)を、DLPホストにありクライアントに与えられないキーに基づいて暗号化し、クライアント(たとえばクライアントにおけるエージェント)に与える。
409において、DLPホストは、DLPホストが使用できないキーを用いて暗号化された、二度暗号化された漏洩情報候補と、暗号化された情報とを受信する。たとえば、限定される訳ではないが、エージェントは、キーを用いて、受信した、一度暗号化されば漏洩情報候補に対し、二度目の暗号化を実行してもよく、クライアント情報(たとえばクライアント情報のデータベース)も暗号化する。エージェントが使用するキーはDLPホストには与えられないので、DLPホストはエージェントが暗号化した内容を解読できない。
411において、DLPホストは、解読動作を実行することにより、二度暗号化された漏洩情報候補に最初に適用された暗号化を取除く。
413において、暗号化された漏洩情報候補および暗号化されたクライアント情報に対し、(たとえば機密保持共通集合比較器によって)マッチング動作が実行される。
415において、一致が発見されたか否かが判断される。415におけるマッチング動作の結果、一致が存在すると判断された場合、417において、DLPホストは、暗号化された、一致する漏洩情報候補を含む報告を、エージェントに与える。415におけるマッチング動作の結果、一致が存在しないと判断された場合、先に述べたように、419においてDLPホストは任意でアクションを実行する。
図5は、クライアント101の実装例に係るプロセス500を示す。501において、クライアントにおけるエージェントは、暗号化された漏洩情報候補をDLPホストから受信する。エージェント、およびこの場合のクライアントは、漏洩情報候補の暗号化に使用されたキーにアクセスできないので、漏洩情報候補の実際の値を判断することはできない。
503において、エージェントは、受信した、一度暗号化された漏洩情報候補に対し、キーを用いて二度目の暗号化を実行し、505において、エージェントは、クライアント情報(たとえばクライアント情報のデータベース)を暗号化する。エージェントが使用するキーはDLPホストに与えられないので、DLPホストは、エージェントによって暗号化された内容を解読できない。
507において、エージェントは、二度暗号化した漏洩情報候補と、暗号化したクライアント情報とをDLPホストに与える。
509において、エージェントは、暗号化されたクライアントデータベースの情報に一致する暗号化された一致漏洩情報候補を含む報告を、DLPホストから受信する。
511において、エージェントは、上述のように、実行すべきアクションを判断する。
いくつかの例において、図3〜図5に示される上記プロセスは、異なる、より少ない、またはより多いブロックで実現されてもよい。プロセス300、400、および/または500は、媒体に格納され1以上のコンピューティングデバイスの1以上のプロセッサにロードされ、コンピュータによって実現される方法として実行されることができる、コンピュータによって実行可能な命令として、実現されてもよい。
図6は、いくつかの実装例に適した環境の一例を示す。環境600は、デバイス605〜645を含み、各デバイスは、たとえばネットワーク660を介して(たとえば有線および/または無線接続により)少なくとも1つの他のデバイスに通信可能に接続される。いくつかの装置は、1以上の記憶装置630および645に通信可能に接続し得る。
1以上のデバイス605〜645の一例は、それぞれ図7および図8にそれぞれ記載されているコンピューティングデバイス705および/または805であってもよい。デバイス605〜645は、限定される訳ではないが、コンピュータ605(たとえばラップトップコンピューティングデバイス)、モバイルデバイス610(たとえばスマートフォンまたはタブレット)、テレビ615、車両に関連するデバイス620、サーバコンピュータ625、コンピューティングデバイス635〜640、ならびに記憶装置630および645を含み得る。
いくつかの実装例において、デバイス605〜620は、企業のユーザに関連するユーザデバイス(たとえば、ユーザが、企業のファイアウォールの内部で、たとえばソーシャルネットワーク上のサービスにアクセスするためおよび/またはたとえばソーシャルネットワーク上に要求を出すため、または個人のオンライン情報にアクセスするために使用するデバイス)とみなすことができる。デバイス625〜645は、(たとえば、外部ホストが、先に図3〜図5に関連して説明したサービスを提供するため、および/またはウェブページ、テキスト、テキストの一部、画像、画像の一部、音声、音声セグメント、映像、映像セグメント、および/またはそれに関する情報等のデータを格納するために使用する)サービスプロバイダに関連するデバイスであってもよい。
たとえば、企業の従業員であるユーザ(たとえばアリス)が、1以上のデバイス625〜645によってサポートされているソーシャルネットワーク上で、ユーザデバイス605または610を使用して、企業の機密データに関連するまたは関連しない可能性がある個人用コンテンツにアクセスし、これを閲覧し、および/または共有する場合がある。企業に関係がないアリスの個人用コンテンツは、企業のファイアウォールの内部で、個人用アカウントまたはフォルダ(たとえば「アリスの非業務関連メッセージ」)からアクセスされる個人用アカウント名または番号を含み得る。企業に関係があるアリスの個人用コンテンツは、企業のファイアウォールの内部で、アリスの業務関連アカウントまたはフォルダ(たとえば「アリスの業務関連メッセージ」)からアクセスされる企業のアカウントフォルダのアカウント名または番号情報を含み得る。外部ホストである受信者(たとえばボブ)は、図3〜図5に関連して先に述べたプロセスに従い、デバイス615または620を用いてアリスの共有コンテンツにアクセスするおよび/またはこれを閲覧することができる。
図7は、いくつかの実装例で使用される、外部ホストに関連するコンピューティングデバイスの一例とともに、コンピューティング環境の一例を示す。コンピューティング環境700内のコンピューティングデバイス705は、1以上の処理ユニット、コア、またはプロセッサ710、メモリ725(たとえばRAM、ROM、および/またはその他)、内部記憶装置720(たとえば磁気、光学、ソリッドステート記憶装置、および/または有機)、および/またはI/Oインターフェイス715を含み得る。これらのうちのいずれも、情報を伝達するために通信機構またはバス730に結合することができる、またはコンピューティングデバイス705に埋込むことができる。
コンピューティングデバイス705は、入力/ユーザインターフェイス735および出力デバイス/インターフェイス740に、通信可能に結合することができる。入力/ユーザインターフェイス735および出力デバイス/インターフェイス740のうちのいずれか一方または双方は、有線または無線インターフェイスであってもよく、取外し可能であってもよい。入力/ユーザインターフェイス735は、入力を与えるために使用することができる、いかなる物理または仮想デバイス、コンポーネント、センサ、またはインターフェイスであってもよい(たとえばボタン、タッチスクリーンインターフェイス、キーボード、ポインティング/カーソルコントロール、マイク、カメラ、点字、モーションセンサ、光学読取装置および/またはその他)。出力デバイス/インターフェイス740は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字等を含み得る。いくつかの実装例において、入力/ユーザインターフェイス735および出力デバイス/インターフェイス740は、コンピューティングデバイス705とともに埋め込まれてもよく、またはコンピューティングデバイス705に物理的に結合されてもよい。その他の実装例において、その他のコンピューティングデバイスが、コンピューティングデバイス705のための入力/ユーザインターフェイス735および出力デバイス/インターフェイス740として機能してもよく、またはその機能を提供してもよい。
コンピューティングデバイス705の例は、限定される訳ではないが、高度モバイルデバイス(たとえばスマートフォン、車両およびその他のマシン内のデバイス、人間および動物が携行するデバイス等)、モバイルデバイス(たとえばタブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオ等)、および移動用に設計されていないデバイス(たとえばデスクトップコンピュータ、その他のコンピュータ、インフォメーションセンター、1以上のプロセッサが埋込まれているおよび/または結合されているテレビ、ラジオ等)を含み得る。
コンピューティングデバイス705は、同一のまたは異なる構成の1以上のコンピューティングデバイスを含む、任意の数のネットワーク化されたコンポーネント、デバイス、およびシステムと通信するために、(たとえばI/Oインターフェイス715を介して)外部記憶装置745およびネットワーク750に通信可能に結合することができる。コンピューティングデバイス705または接続されているいずれのコンピューティングデバイスも、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、または別のラベルとして機能することができる、そのサービスを提供できる、またはそう呼ぶことができる。
I/Oインターフェイス715は、音声および/またはデータネットワークによる無線通信を容易にする無線通信コンポーネント(図示せず)を含み得る。無線通信コンポーネントは、1以上のアンテナを有するアンテナシステム、無線システム、ベースバンドシステム、またはその任意の組合わせを含み得る。無線周波数(RF)信号を、無線システムの管理下で、アンテナシステムにより無線で送受信してもよい。
I/Oインターフェイス715は、限定される訳ではないが、コンピューティング環境700における、少なくともすべての、接続されているコンポーネント、デバイス、およびネットワークにおよび/またはから、情報を伝達するために、任意の通信またはI/Oプロトコルまたは規格(たとえばイーサネット(登録商標)、802.11x、ユニバーサルシステムバス、WiMax(登録商標)、モデム、セルラーネットワークプロトコル等)を含み得る。ネットワーク750は、任意のネットワークまたはネットワークの組合わせであってもよい(たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話網、セルラーネットワーク、衛星ネットワーク等)。
コンピューティングデバイス705は、一時的な媒体および非一時的な媒体を含む、コンピュータによって使用可能なまたはコンピュータによって読取可能な媒体を、使用することができる、および/またはこれを用いて通信することができる。一時的な媒体は、送信媒体(たとえば金属ケーブル、光ファイバ)、信号、搬送波等を含む。非一時的な媒体は、磁気媒体(たとえばディスクおよびテープ)、光学媒体(たとえばCD ROM、デジタルビデオディスク、ブルーレイディスク(登録商標))、ソリッドステート媒体(たとえばRAM、ROM、フラッシュメモリ、ソリッドステート記憶装置)、およびその他の不揮発性記憶装置またはメモリを含む。
いくつかのコンピューティング環境の例では、コンピューティングデバイス705を用いて、技術、方法、アプリケーション、プロセス、またはコンピュータによって実行可能な命令を、実現することができる。コンピュータによって実行可能な命令は、一時的な媒体から取出し、非一時的な媒体に格納しこの媒体から取出すことができる。実行可能な命令は、任意のプログラミング言語、スクリプト言語、およびマシン言語(たとえばC、C++、C#、Java(登録商標)、Visual Basic(登録商標)、パイソン、パール、JavaScript(登録商標)、およびその他)のうちの1つ以上に由来し得る。
プロセッサ710は、自然または仮想環境において、任意のオペレーティングシステム(OS)(図示せず)のもとで実行することができる。論理ユニット760と、アプリケーションプログラミングインターフェイス(API)ユニット765と、入力ユニット770と、出力ユニット775と、機密情報判断ユニット780と、機密情報暗号化ユニット785と、解読およびマッチングユニット790と、アクション判断ユニット793と、さまざまなユニットが相互に、OSと、およびその他のアプリケーション(図示せず)と通信するためのユニット間通信機構795とを含む、1以上のアプリケーションをデプロイすることができる。たとえば、機密情報判断ユニット780、機密情報暗号化ユニット785、解読およびマッチングユニット790、およびアクション判断ユニット793が、図3および図4に示される1以上のプロセスを実現してもよい。上記ユニットおよび要素は、設計、機能、構成、または実装が変更されてもよく、本明細書の記載に限定されない。
いくつかの実装例において、情報または実行命令は、APIユニット765によって受信されると、1以上の他のユニット(たとえば論理ユニット760、入力ユニット770、出力ユニット775、機密情報判断ユニット780、機密情報暗号化ユニット785、解読およびマッチングユニット790、およびアクション判断ユニット793)に伝達されてもよい。
たとえば、入力ユニット770は、クライアントのあるメンバーの出力情報に関連する出力データを受信した後に、APIユニット765を用いて、ユーザ表示を機密情報判断ユニット780に送信する。たとえば、機密情報判断ユニット780は、コンテキストベースの解析を用いることで、クライアントからの出力情報は洩れ情報候補を含むと判断する場合がある。
機密情報判断ユニット780は、APIユニット765を介して、機密情報暗号化ユニット785とやり取りすることにより、漏洩情報候補を暗号化してもよい。機密情報判断ユニット780は、APIユニット765を用いて、解読およびマッチングユニット790とやり取りすることにより、(たとえばクライアントからの)二度暗号化された漏洩情報候補を受信し、機密情報暗号化ユニット785によって適用された暗号化が取除かれるように解読してから、暗号化された漏洩情報候補と、暗号化されたクライアントデータベース情報とのマッチングを実行することにより、一致があるか否かを判断してもよい。アクション判断ユニット793は、解読およびマッチングユニット790によって一致はないと判断されたときに、実行すべきアクションを判断してもよい。
いくつかのインスタンスにおいて、論理ユニット760は、上記実装例のうちのいくつかにおける、ユニット間の情報の流れを制御し、APIユニット765、入力ユニット770、出力ユニット775、機密情報判断ユニット780、機密情報暗号化ユニット785、解読およびマッチングユニット790、およびアクション判断ユニット793によって提供されるサービスを導くように、構成されてもよい。たとえば、1以上のプロセスまたは実装例の流れを、論理ユニット760が単独で制御してもよく、または、APIユニット765とともに制御してもよい。
図8は、いくつかの実装例で使用される、企業に関連するコンピューティングデバイスの一例とともに、コンピューティング環境の一例を示す。コンピューティング環境800内のコンピューティングデバイス805は、1以上の処理ユニット、コア、またはプロセッサ810、メモリ825(たとえばRAM、ROM、および/またはその他)、内部記憶装置820(たとえば磁気、光学、ソリッドステート記憶装置、および/または有機)、および/またはI/Oインターフェイス815を含み得る。これらのうちのいずれも、情報を伝達するために通信機構またはバス830に結合することができる、またはコンピューティングデバイス805に埋込むことができる。
コンピューティングデバイス805は、入力/ユーザインターフェイス835および出力デバイス/インターフェイス840に、通信可能に結合することができる。入力/ユーザインターフェイス835および出力デバイス/インターフェイス840のうちのいずれか一方または双方は、有線または無線インターフェイスであってもよく、取外し可能であってもよい。入力/ユーザインターフェイス835は、入力を与えるために使用することができる、いかなる物理または仮想デバイス、コンポーネント、センサ、またはインターフェイスであってもよい(たとえばボタン、タッチスクリーンインターフェイス、キーボード、ポインティング/カーソルコントロール、マイク、カメラ、点字、モーションセンサ、光学読取装置および/またはその他)。出力デバイス/インターフェイス840は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字等を含み得る。いくつかの実装例において、入力/ユーザインターフェイス835および出力デバイス/インターフェイス840は、コンピューティングデバイス805とともに埋め込まれてもよく、またはコンピューティングデバイス805に物理的に結合されてもよい。その他の実装例において、その他のコンピューティングデバイスが、コンピューティングデバイス805のための入力/ユーザインターフェイス835および出力デバイス/インターフェイス840として機能してもよく、またはその機能を提供してもよい。
コンピューティングデバイス805の例は、限定される訳ではないが、高度モバイルデバイス(たとえばスマートフォン、車両およびその他のマシン内のデバイス、人間および動物が持ち運ぶデバイス等)、モバイルデバイス(たとえばタブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオ等)、および移動用に設計されていないデバイス(たとえばデスクトップコンピュータ、その他のコンピュータ、インフォメーションセンター、1以上のプロセッサが埋込まれているおよび/または結合されているテレビ、ラジオ等)を含み得る。
コンピューティングデバイス805は、同一のまたは異なる構成の1以上のコンピューティングデバイスを含む、任意の数のネットワーク化されたコンポーネント、デバイス、およびシステムと通信するために、(たとえばI/Oインターフェイス815を介して)外部記憶装置845およびネットワーク850に通信可能に結合することができる。コンピューティングデバイス805または接続されているいずれのコンピューティングデバイスも、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、または別のラベルとして機能することができる、そのサービスを提供できる、またはそう呼ぶことができる。
I/Oインターフェイス815は、音声および/またはデータネットワークによる無線通信を容易にする無線通信コンポーネント(図示せず)を含み得る。無線通信コンポーネントは、1以上のアンテナを有するアンテナシステム、無線システム、ベースバンドシステム、またはその任意の組合わせを含み得る。無線周波数(RF)信号を、無線システムの管理下で、アンテナシステムにより無線で送受信してもよい。
I/Oインターフェイス815は、限定される訳ではないが、コンピューティング環境800における、少なくともすべての、接続されているコンポーネント、デバイス、およびネットワークにおよび/またはから、情報を伝達するために、任意の通信またはI/Oプロトコルまたは規格(たとえばイーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラーネットワークプロトコル等)を含み得る。ネットワーク850は、任意のネットワークまたはネットワークの組合わせであってもよい(たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話網、セルラーネットワーク、衛星ネットワーク等)。
コンピューティングデバイス805は、一時的な媒体および非一時的な媒体を含む、コンピュータによって使用可能なまたはコンピュータによって読取可能な媒体を、使用することができる、および/またはこれを用いて通信することができる。一時的な媒体は、送信媒体(たとえば金属ケーブル、光ファイバ)、信号、搬送波等を含む。非一時的な媒体は、磁気媒体(たとえばディスクおよびテープ)、光学媒体(たとえばCD ROM、デジタルビデオディスク、ブルーレイディスク)、ソリッドステート媒体(たとえばRAM、ROM、フラッシュメモリ、ソリッドステート記憶装置)、およびその他の不揮発性記憶装置またはメモリを含む。
いくつかのコンピューティング環境の例では、コンピューティングデバイス805を用いて、技術、方法、アプリケーション、プロセス、またはコンピュータによって実行可能な命令を、実現することができる。コンピュータによって実行可能な命令は、一時的な媒体から取出し、非一時的な媒体に格納しこの媒体から取出すことができる。実行可能な命令は、任意のプログラミング言語、スクリプト言語、およびマシン言語(たとえばC、C++、C#、Java、Visual Basic、パイソン、パール、JavaScript、およびその他)のうちの1つ以上に由来し得る。
プロセッサ810は、自然または仮想環境において、任意のオペレーティングシステム(OS)(図示せず)のもとで実行することができる。論理ユニット860と、アプリケーションプログラミングインターフェイス(API)ユニット865と、入力ユニット870と、出力ユニット875と、データベース暗号化ユニット880と、受信データ暗号化ユニット885と、DLPアクション判断ユニット890と、さまざまなユニットが相互に、OSと、およびその他のアプリケーション(図示せず)と通信するためのユニット間通信機構895とを含む、1以上のアプリケーションをデプロイすることができる。たとえば、データベース暗号化ユニット880、受信データ暗号化ユニット885、およびDLPアクション判断ユニット890が、図3および図5に示される1以上のプロセスを実現してもよい。上記ユニットおよび要素は、設計、機能、構成、または実装が変更されてもよく、本明細書の記載に限定されない。
いくつかの実装例において、情報または実行命令は、APIユニット865によって受信されると、1以上の他のユニット(たとえば論理ユニット860、入力ユニット870、出力ユニット875、データベース暗号化ユニット880、受信データ暗号化ユニット885、およびDLPアクション判断ユニット890)に伝達されてもよい。
たとえば、入力ユニット870は、暗号化された漏洩情報候補をDLPホストから受信した後に、APIユニット865を用いて、この情報を、クライアント情報データベースを暗号化するデータベース暗号化ユニット880に伝達してもよい。データベース暗号化ユニット880は、APIユニット865を介して、受信データ暗号化ユニット885とやり取りすることにより、DLPホストから受信した、暗号化された漏洩情報候補を暗号化してもよい。DLPアクション判断ユニット890は、APIユニット865を用いて、漏洩情報候補とクライアント情報データベースとの一致を示すDLPホストから受信した情報に基づいて、実行すべきアクションを判断してもよい。
いくつかのインスタンスにおいて、論理ユニット860は、上記実装例のうちのいくつかにおける、ユニット間の情報の流れを制御し、APIユニット865、入力ユニット870、出力ユニット875、データベース暗号化ユニット880、受信データ暗号化ユニット885、およびDLPアクション判断ユニット890によって提供されるサービスを導くように、構成されてもよい。たとえば、1以上のプロセスまたは実装例の流れを、論理ユニット860が単独で制御してもよく、または、APIユニット865とともに制御してもよい。
本明細書に記載のソフトウェアコンポーネントはいずれも、さまざまな形態を取り得る。たとえば、あるコンポーネントは、スタンドアロンソフトウェアパッケージであってもよく、または、より大きなソフトウェアプロダクトに「ツール」として組込まれたソフトウェアパッケージであってもよい。これは、スタンドアロンプロダクトとしてまたは既存のソフトウェアアプリケーションにインストールするためのアドインパッケージとして、ネットワーク、たとえばウェブサイトからダウンロード可能であってもよい。これはまた、クライアント−サーバソフトウェアアプリケーションとして、ウェブで使用可能なソフトウェアアプリケーションとして、および/またはモバイルアプリケーションとして、利用できるものであってもよい。
本明細書に記載のシステムがユーザに関する個人情報を収集するまたは個人情報を利用し得る状況において、ユーザ(たとえば統合された業務用アカウントおよび非業務用アカントどちらも有する企業のユーザ)は、プログラムまたは特徴がユーザ情報(たとえばユーザのソーシャルネットワーク、社会的行動または活動、職業、ユーザの嗜好、またはユーザの現在位置に関する情報)を収集するか否かを管理する機会、または、ユーザにより関連性が高いであろうコンテンツをコンテンツサーバから受けるか否かおよび/または受ける方法を管理する機会が与えられてもよい。加えて、特定のデータは、格納または使用される前に、個人を特定できる情報が削除されるように1以上の方法で処理されてもよい。たとえば、ユーザのIDは、ユーザ個人を特定できる情報を判別できないように扱われてもよく、または、位置情報が取得されるユーザの地理的位置を、(たとえば市、郵便番号、または州レベルまで)一般化することにより、ユーザの特定の位置を判別できないようにしてもよい。このように、ユーザは、ユーザに関する情報が如何にして収集されコンテンツサーバによって使用されるかを管理してもよい。
2、3の実装例を示して説明したが、これらの実装例は、本明細書に記載の主題をこの分野に精通した人々に伝えるために提供される。本明細書に記載の主題は、記載されている実装例に限定されることなく、さまざまな形態で実現し得ることが理解されるはずである。本明細書に記載の主題は、具体的に定義または記載されている事項がなくても、または記載されていないその他または異なる要素または事項を用いて、実施することが可能である。この分野の当業者は、これらの実装例を、下記請求項で規定されている本明細書に記載の主題およびその均等物から逸脱することなく変更し得ることを、理解するであろう。これまでの説明、関連する図面、および請求項に示される教示の恩恵を受ける、本発明が関連する技術の当業者は、その他多くの修正および本発明のその他の実施形態に想到するであろう。この修正は、開示されている特徴の関連する何らかの組合わせを含む。
その他の実装例を以下の例において要約する。
例1:コンピュータによって実現されるデータ漏洩検出方法であって、この方法は、
企業のファイアウォールの外部のホストにおいて、企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するステップと、
ホストが、データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断するステップと、
ホストが、データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与えるステップと、
ソフトウェアエージェントが、ホストが暗号化したデータ通信を受信したことに応じて、共通暗号化キーを用いることにより、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化するステップと、
ソフトウェアエージェントが暗号化した企業情報のデータベースおよび再度暗号化したデータ通信をホストに与えるステップと、
ホストが、再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成するステップと、
マッチング動作を実行し、暗号化した企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断するステップと、
一致があると判断した場合、ホストが一致をソフトウェアエージェントに報告し、ソフトウェアエージェントが第1のアクションを実行するステップと、
一致がないと判断した場合、ホストが第2のアクションを実行するステップとを含む。
例2:ソフトウェアエージェントにおける暗号化は、オンラインアカウントに由来するデータ通信をホストが暗号化するときに使用したキーと異なるキーを用いて実行され、ホストにおける暗号化は、ソフトウェアエージェントの共通暗号化キーと異なるキーを用いて実行される、例1に記載のコンピュータによって実現される方法。
例3:マッチング動作を実行するステップは、機密保持共通集合アルゴリズムを適用するステップを含む、例1または2に記載のコンピュータによって実現される方法。
例4:ホストは、データ通信を部分的に暗号化し、データ通信のうちの暗号化されていない部分を平文として残し、部分的に暗号化したデータ通信と平文とをソフトウェアエージェントに与える、例1〜3のいずれかに記載のコンピュータによって実現される方法。
例5:ソフトウェアエージェントがノイズを暗号化したデータベースに追加し、ノイズが追加された暗号化したデータベースをホストに送信するステップをさらに含む、例1〜4のいずれかに記載のコンピュータによって実現される方法。
例6:ホストが解析を実行しデータ通信はデータ漏洩候補であると判断するステップは、ブルームフィルタを適用してデータ通信はデータ漏洩候補であると判断するステップを含む、例1〜5のいずれかに記載のコンピュータによって実現される方法。
例7:ソフトウェアエージェントが、ホストが暗号化したデータ通信の再暗号化中に、ホストが暗号化したデータ通信の値を並び替えるステップをさらに含む、例1〜6のいずれかに記載のコンピュータによって実現される方法。
例8:ソフトウェアエージェントによる第1のアクションは、データ通信を削除すること、データ通信を隔離すること、および、データ通信を警告とともに受信者に送信することのうちの、少なくとも1つを含む、例1〜7のいずれかに記載のコンピュータによって実現される方法。
例9:ホストによる第2のアクションは、報告をソフトウェアエージェントに送信することを禁止することを含む、例1〜8のいずれかに記載のコンピュータによって実現される方法。
例10:企業のファイアウォールの外部のホストにおいてデータ漏洩を検出する、コンピュータによって実現される方法であって、この方法は、
企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するステップと、
データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断するステップと、
データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与えるステップと、
ソフトウェアエージェントが暗号化した企業情報のデータベースと、ホストが暗号化しソフトウェアエージェントが再度暗号化したデータ通信とを受信するステップと、
再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成するステップと、
マッチング動作を実行し、暗号化した企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断するステップと、
一致があると判断した場合、一致をソフトウェアエージェントに報告するステップと、
一致がないと判断した場合、ホストがアクションを実行するステップとを含む。
例11:マッチング動作を実行するステップは、機密保持共通集合アルゴリズムを適用するステップを含む、例10に記載のコンピュータによって実現される方法。
例12:ホストは、データ通信を部分的に暗号化し、データ通信のうちの暗号化されていない部分を平文として残し、部分的に暗号化したデータ通信と平文とをソフトウェアエージェントに与える、例10または11に記載のコンピュータによって実現される方法。
例13:ホストが解析を実行しデータ通信はデータ漏洩候補であると判断するステップは、ブルームフィルタを適用してデータ通信はデータ漏洩候補であると判断するステップを含む、例10〜12のいずれかに記載のコンピュータによって実現される方法。
例14:ソフトウェアエージェントを有する企業からのデータ漏洩を検出する、コンピュータによって実現される方法であって、この方法は、
企業のファイアウォールの外部のホストから、企業に関連するユーザデバイスのオンラインアカウントに由来する、ホストが暗号化したデータ通信を受信するステップと、
共通暗号化キーを用いて、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化するステップと、
暗号化した企業情報のデータベースと再度暗号化したデータ通信とをホストに与えるステップと、
暗号化した企業情報のデータベースと再度暗号化したデータ通信との間に一致があることを示す報告をホストから受信するステップと、
第1のアクションを実行するステップとを含む。
例15:ソフトウェアエージェントにおける暗号化は、オンラインアカウントに由来するデータ通信をホストが暗号化するときに使用したキーと異なるキーを用いて実行され、ホストにおける暗号化は、ソフトウェアエージェントの共通暗号化キーと異なるキーを用いて実行される、例14に記載のコンピュータによって実現される方法。
例16:ソフトウェアエージェントがノイズを暗号化したデータベースに追加し、ノイズが追加された暗号化したデータベースをホストに送信するステップをさらに含む、例14または15に記載のコンピュータによって実現される方法。
例17:ソフトウェアエージェントが、ホストが暗号化したデータ通信の再暗号化中に、ホストが暗号化したデータ通信の値を並び替えるステップをさらに含む、例14〜16のいずれかに記載のコンピュータによって実現される方法。
例18:ソフトウェアエージェントによる第1のアクションは、データ通信を削除すること、データ通信を隔離すること、および、データ通信を警告とともに受信者に送信することのうちの、少なくとも1つを含む、例14〜17のいずれかに記載のコンピュータによって実現される方法。
例19:企業のファイアウォールの外部のホストにおいてデータ漏洩を検出するためのシステムであって、システムは、
企業のファイアウォールの外部のホストを備え、ホストは、ハードウェアプロセッサを含み、コンピュータ読取可能な媒体に格納された、実行可能な命令を有し、ホストにおける命令は、
企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信することと、
データ通信のコンテキストに基づいて解析を実行しデータ通信はデータ漏洩候補であると判断することと、
データ通信を暗号化し、ホストが暗号化したデータ通信を企業におけるソフトウェアエージェントに与えることと、
ソフトウェアエージェントが暗号化した企業情報のデータベースとホストが暗号化しソフトウェアエージェントが再度暗号化したデータ通信とを受信することと、
再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成することと、
マッチング動作を実行し、暗号化した企業情報のデータベースと、ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断することと、
一致があると判断した場合、一致をソフトウェアエージェントに報告することと、
一致がないと判断した場合、ソフトウェアエージェントが第1のアクションを実行することとを含み、
企業は、ハードウェアプロセッサを含み、コンピュータ読取可能な媒体に格納された、実行可能な命令を有し、
企業のファイアウォールの外部のホストから、ホストが暗号化したデータ通信を受信することと、
共通暗号化キーを用いて、企業情報のデータベースを暗号化し、ホストが暗号化したデータ通信を再度暗号化し、ソフトウェアエージェントが暗号化したデータベースと再度暗号化したデータ通信とをホストに与えることと、
暗号化した企業情報のデータベースとソフトウェアエージェントが暗号化したデータ通信との間に一致があることを示す報告をホストから受信することと、
第2のアクションを実行することとを含む。
例20:ソフトウェアエージェントにおける暗号化は、オンラインアカウントに由来するデータ通信をホストが暗号化するときに使用したキーと異なるキーを用いて実行され、ホストにおける暗号化は、ソフトウェアエージェントの共通暗号化キーと異なるキーを用いて実行される、例19に記載のシステム。
例21:1以上のコンピュータに例1〜18のいずれか1つに記載の方法を実行させるためのプログラム。
例22:例21に記載のプログラムが格納された非一時的なコンピュータ読取可能な記録媒体。

Claims (21)

  1. コンピュータによって実現されるデータ漏洩検出方法であって、前記方法は、
    企業のファイアウォールの外部のホストにおいて、前記企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するステップと、
    前記ホストが、前記データ通信のコンテキストに基づいて解析を実行し前記データ通信はデータ漏洩候補であると判断するステップと、
    前記ホストが、前記データ通信を暗号化し、前記ホストが暗号化したデータ通信を前記企業におけるソフトウェアエージェントに与えるステップと、
    前記ソフトウェアエージェントが、前記ホストが暗号化したデータ通信を受信したことに応じて、共通暗号化キーを用いることにより、企業情報のデータベースを暗号化し、前記ホストが暗号化したデータ通信を再度暗号化するステップと、
    前記ソフトウェアエージェントが暗号化した企業情報のデータベースおよび前記再度暗号化したデータ通信を前記ホストに与えるステップと、
    前記ホストが、前記再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成するステップと、
    マッチング動作を実行し、前記暗号化した企業情報のデータベースと、前記ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断するステップと、
    前記一致があると判断した場合、前記ホストが前記一致を前記ソフトウェアエージェントに報告し、前記ソフトウェアエージェントが第1のアクションを実行するステップと、
    前記一致がないと判断した場合、前記ホストが第2のアクションを実行するステップとを含む、コンピュータによって実現される方法。
  2. 前記ソフトウェアエージェントにおける前記暗号化は、前記オンラインアカウントに由来する前記データ通信を前記ホストが暗号化するときに使用したキーと異なるキーを用いて実行され、前記ホストにおける前記暗号化は、前記ソフトウェアエージェントの前記共通暗号化キーと異なるキーを用いて実行される、請求項1に記載のコンピュータによって実現される方法。
  3. 前記マッチング動作を実行するステップは、機密保持共通集合アルゴリズムを適用するステップを含む、請求項1または2に記載のコンピュータによって実現される方法。
  4. 前記ホストは、前記データ通信を部分的に暗号化し、前記データ通信のうちの暗号化されていない部分を平文として残し、前記部分的に暗号化したデータ通信と前記平文とを前記ソフトウェアエージェントに与える、請求項1〜3のいずれかに記載のコンピュータによって実現される方法。
  5. 前記ソフトウェアエージェントがノイズを前記暗号化したデータベースに追加し、前記ノイズが追加された前記暗号化したデータベースを前記ホストに送信するステップをさらに含む、請求項1〜4のいずれかに記載のコンピュータによって実現される方法。
  6. 前記ホストが前記解析を実行し前記データ通信は前記データ漏洩候補であると判断するステップは、ブルームフィルタを適用して前記データ通信は前記データ漏洩候補であると判断するステップを含む、請求項1〜5のいずれかに記載のコンピュータによって実現される方法。
  7. 前記ソフトウェアエージェントが、前記ホストが暗号化したデータ通信の再暗号化中に、前記ホストが暗号化したデータ通信の値を並び替えるステップをさらに含む、請求項1〜6のいずれかに記載のコンピュータによって実現される方法。
  8. 前記ソフトウェアエージェントによる前記第1のアクションは、前記データ通信を削除すること、前記データ通信を隔離すること、および、前記データ通信を警告とともに受信者に送信することのうちの、少なくとも1つを含む、請求項1〜7のいずれかに記載のコンピュータによって実現される方法。
  9. 前記ホストによる前記第2のアクションは、報告を前記ソフトウェアエージェントに送信することを禁止することを含む、請求項1〜8のいずれかに記載のコンピュータによって実現される方法。
  10. 企業のファイアウォールの外部のホストにおいてデータ漏洩を検出する、コンピュータによって実現される方法であって、前記方法は、
    前記企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信するステップと、
    前記データ通信のコンテキストに基づいて解析を実行し前記データ通信はデータ漏洩候補であると判断するステップと、
    前記データ通信を暗号化し、前記ホストが暗号化したデータ通信を前記企業におけるソフトウェアエージェントに与えるステップと、
    ソフトウェアエージェントが暗号化した企業情報のデータベースと、前記ホストが暗号化し前記ソフトウェアエージェントが再度暗号化したデータ通信とを受信するステップと、
    前記再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成するステップと、
    マッチング動作を実行し、前記暗号化した企業情報のデータベースと、前記ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断するステップと、
    前記一致があると判断した場合、前記一致を前記ソフトウェアエージェントに報告するステップと、
    前記一致がないと判断した場合、前記ホストがアクションを実行するステップとを含む、コンピュータによって実現される方法。
  11. 前記マッチング動作を実行するステップは、機密保持共通集合アルゴリズムを適用するステップを含む、請求項10に記載のコンピュータによって実現される方法。
  12. 前記ホストは、前記データ通信を部分的に暗号化し、前記データ通信のうちの暗号化されていない部分を平文として残し、前記部分的に暗号化したデータ通信と前記平文とを前記ソフトウェアエージェントに与える、請求項10または11に記載のコンピュータによって実現される方法。
  13. 前記ホストが前記解析を実行し前記データ通信は前記データ漏洩候補であると判断するステップは、ブルームフィルタを適用して前記データ通信は前記データ漏洩候補であると判断するステップを含む、請求項10〜12のいずれかに記載のコンピュータによって実現される方法。
  14. ソフトウェアエージェントを有する企業からのデータ漏洩を検出する、コンピュータによって実現される方法であって、前記方法は、
    前記企業のファイアウォールの外部のホストから、前記企業に関連するユーザデバイスのオンラインアカウントに由来する、ホストが暗号化したデータ通信を受信するステップと、
    共通暗号化キーを用いて、企業情報のデータベースを暗号化し、前記ホストが暗号化したデータ通信を再度暗号化するステップと、
    前記暗号化した企業情報のデータベースと前記再度暗号化したデータ通信とを前記ホストに与えるステップと、
    前記暗号化した企業情報のデータベースと前記再度暗号化したデータ通信との間に一致があることを示す報告を前記ホストから受信するステップと、
    第1のアクションを実行するステップとを含む、コンピュータによって実現される方法。
  15. 前記ソフトウェアエージェントにおける前記暗号化は、前記オンラインアカウントに由来する前記データ通信を前記ホストが暗号化するときに使用したキーと異なるキーを用いて実行され、前記ホストにおける前記暗号化は、前記ソフトウェアエージェントの前記共通暗号化キーと異なるキーを用いて実行される、請求項14に記載のコンピュータによって実現される方法。
  16. 前記ソフトウェアエージェントがノイズを前記暗号化したデータベースに追加し、前記ノイズが追加された前記暗号化したデータベースを前記ホストに送信するステップをさらに含む、請求項14または15に記載のコンピュータによって実現される方法。
  17. 前記ソフトウェアエージェントが、前記ホストが暗号化したデータ通信の再暗号化中に、前記ホストが暗号化したデータ通信の値を並び替えるステップをさらに含む、請求項14〜16のいずれかに記載のコンピュータによって実現される方法。
  18. 前記ソフトウェアエージェントによる前記第1のアクションは、前記データ通信を削除すること、前記データ通信を隔離すること、および、前記データ通信を警告とともに受信者に送信することのうちの、少なくとも1つを含む、請求項14〜17のいずれかに記載のコンピュータによって実現される方法。
  19. 企業のファイアウォールの外部のホストにおいてデータ漏洩を検出するためのシステムであって、前記システムは、
    前記企業のファイアウォールの外部のホストを備え、前記ホストは、ハードウェアプロセッサを含み、コンピュータ読取可能な媒体に格納された、実行可能な命令を有し、前記ホストにおける前記命令は、
    前記企業に関連するユーザデバイスのオンラインアカウントに由来するデータ通信を受信することと、
    前記データ通信のコンテキストに基づいて解析を実行し前記データ通信はデータ漏洩候補であると判断することと、
    前記データ通信を暗号化し、前記ホストが暗号化したデータ通信を前記企業におけるソフトウェアエージェントに与えることと、
    ソフトウェアエージェントが暗号化した企業情報のデータベースと前記ホストが暗号化し前記ソフトウェアエージェントが再度暗号化したデータ通信とを受信することと、
    前記再度暗号化したデータ通信の、ホストが暗号化したアスペクトを解読することにより、ソフトウェアエージェントが暗号化したデータ通信を生成することと、
    マッチング動作を実行し、前記暗号化した企業情報のデータベースと、前記ソフトウェアエージェントが暗号化したデータ通信との間に、一致があるか否かを判断することと、
    前記一致があると判断した場合、前記一致を前記ソフトウェアエージェントに報告することと、
    前記一致がないと判断した場合、前記ソフトウェアエージェントが第1のアクションを実行することととを含み、
    前記企業は、ハードウェアプロセッサを備え、コンピュータ読取可能な媒体に格納された、実行可能な命令を有し、
    前記企業のファイアウォールの外部の前記ホストから、前記ホストが暗号化したデータ通信を受信することと、
    共通暗号化キーを用いて、企業情報のデータベースを暗号化し、前記ホストが暗号化したデータ通信を再度暗号化し、前記ソフトウェアエージェントが暗号化したデータベースと前記再度暗号化したデータ通信とを前記ホストに与えることと、
    前記暗号化した情報のデータベースと前記ソフトウェアエージェントが暗号化したデータ通信との間に一致があることを示す報告を前記ホストから受信することと、
    第2のアクションを実行することとを含む、システム。
  20. 前記ソフトウェアエージェントにおける前記暗号化は、前記オンラインアカウントに由来する前記データ通信を前記ホストが暗号化するときに使用したキーと異なるキーを用いて実行され、前記ホストにおける前記暗号化は、前記ソフトウェアエージェントの前記共通暗号化キーと異なるキーを用いて実行される、請求項19に記載のシステム。
  21. 1以上のコンピュータに請求項1〜18のいずれか1項に記載の方法を実行させるためのプログラム。
JP2018515222A 2015-09-22 2016-09-22 機密性を保持しつつデータ損失を防止するためのシステムおよび方法 Active JP6506884B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/862,086 US9740877B2 (en) 2015-09-22 2015-09-22 Systems and methods for data loss prevention while preserving privacy
US14/862,086 2015-09-22
PCT/US2016/053116 WO2017053571A1 (en) 2015-09-22 2016-09-22 Systems and methods for data loss prevention while preserving privacy

Publications (2)

Publication Number Publication Date
JP2018533054A JP2018533054A (ja) 2018-11-08
JP6506884B2 true JP6506884B2 (ja) 2019-04-24

Family

ID=58282994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018515222A Active JP6506884B2 (ja) 2015-09-22 2016-09-22 機密性を保持しつつデータ損失を防止するためのシステムおよび方法

Country Status (8)

Country Link
US (1) US9740877B2 (ja)
EP (1) EP3338401B1 (ja)
JP (1) JP6506884B2 (ja)
KR (1) KR102066025B1 (ja)
CN (1) CN108432179B (ja)
DE (1) DE112016004274B4 (ja)
GB (1) GB2558821A (ja)
WO (1) WO2017053571A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6001781B2 (ja) * 2013-07-05 2016-10-05 日本電信電話株式会社 不正アクセス検知システム及び不正アクセス検知方法
US10397193B2 (en) * 2016-07-11 2019-08-27 Sonicwall Inc. Blind cloud data leak protection
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US11005890B2 (en) * 2017-03-30 2021-05-11 Mcafee, Llc Secure software defined storage
CN106850701B (zh) * 2017-04-13 2020-10-27 深信服科技股份有限公司 一种移动终端分享隔离方法及系统
CN109711171B (zh) * 2018-05-04 2021-07-20 360企业安全技术(珠海)有限公司 软件漏洞的定位方法及装置、系统、存储介质、电子装置
US11064013B2 (en) * 2018-05-22 2021-07-13 Netskope, Inc. Data loss prevention using category-directed parsers
US11178117B2 (en) * 2018-12-18 2021-11-16 International Business Machines Corporation Secure multiparty detection of sensitive data using private set intersection (PSI)
US12277564B2 (en) * 2019-08-21 2025-04-15 Visa International Service Association Method, system, and computer program product for detecting duplicate authorization requests
JP7411526B2 (ja) * 2020-09-25 2024-01-11 株式会社日立製作所 情報処理システム及び情報処理方法
IL283674B2 (en) * 2021-06-03 2024-09-01 Google Llc Privacy-preserving cross-domain experimental group partitioning and monitoring
KR102568418B1 (ko) * 2021-08-26 2023-08-18 하이파이브랩 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법
CN116595562B (zh) * 2023-06-06 2024-07-19 北京火山引擎科技有限公司 数据处理方法和电子设备
US12537795B2 (en) * 2024-07-10 2026-01-27 Celerium Inc. Reflex-reaction server leakage containment system
US12425369B1 (en) * 2024-07-10 2025-09-23 Celerium Inc Reflex-reaction server leakage containment system
JP7767674B1 (ja) * 2025-07-22 2025-11-11 株式会社シーイーシー 情報処理システム、情報処理装置、情報処理方法およびプログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1105200A (en) 1998-10-09 2000-05-01 Bankers Trust Company Method, system, and computer program product for providing enhanced electronic mail services
JP2006279938A (ja) * 2005-03-01 2006-10-12 Matsushita Electric Works Ltd 暗号通信復号装置
US9055093B2 (en) 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US8607350B2 (en) * 2006-03-30 2013-12-10 International Business Machines Corporation Sovereign information sharing service
US8181036B1 (en) * 2006-09-29 2012-05-15 Symantec Corporation Extrusion detection of obfuscated content
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US9130986B2 (en) * 2008-03-19 2015-09-08 Websense, Inc. Method and system for protection against information stealing software
US7996374B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for automatically correlating related incidents of policy violations
US8065739B1 (en) 2008-03-28 2011-11-22 Symantec Corporation Detecting policy violations in information content containing data in a character-based language
US8181250B2 (en) * 2008-06-30 2012-05-15 Microsoft Corporation Personalized honeypot for detecting information leaks and security breaches
US8826443B1 (en) 2008-09-18 2014-09-02 Symantec Corporation Selective removal of protected content from web requests sent to an interactive website
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8572758B1 (en) 2009-03-30 2013-10-29 Symantec Corporation DLP-enforced loss scanning, sequestering, and content indexing
US8555383B1 (en) 2010-09-28 2013-10-08 Amazon Technologies, Inc. Network data transmission auditing
US8416709B1 (en) 2010-09-28 2013-04-09 Amazon Technologies, Inc. Network data transmission analysis management
US8565108B1 (en) 2010-09-28 2013-10-22 Amazon Technologies, Inc. Network data transmission analysis
KR20120076661A (ko) * 2010-12-09 2012-07-09 한국전자통신연구원 정보자산 관리 장치, 서버, 에이전트 및 방법
US8726396B1 (en) 2011-01-14 2014-05-13 Symantec Corporation Scanning protected files for violations of a data loss prevention policy
US8800045B2 (en) 2011-02-11 2014-08-05 Achilles Guard, Inc. Security countermeasure management platform
US8868654B2 (en) * 2011-06-06 2014-10-21 Microsoft Corporation Privacy-preserving matching service
US8526603B2 (en) * 2011-07-08 2013-09-03 Sap Ag Public-key encrypted bloom filters with applications to private set intersection
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US20130246336A1 (en) 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
JP5833146B2 (ja) * 2012-02-09 2015-12-16 株式会社日立製作所 機密データ漏えい防止装置および方法
US9077703B1 (en) 2013-07-10 2015-07-07 Symantec Corporation Systems and methods for protecting user accounts
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
CA2899996C (en) 2013-12-11 2020-04-14 Intralinks, Inc. Customizable secure data exchange environment
US9477839B2 (en) * 2014-04-04 2016-10-25 Palo Alto Research Center Incorporated Methods for centralized privacy-preserving collaborative threat mitigation

Also Published As

Publication number Publication date
US20170083717A1 (en) 2017-03-23
GB2558821A (en) 2018-07-18
CN108432179B (zh) 2021-09-10
EP3338401A1 (en) 2018-06-27
DE112016004274B4 (de) 2020-06-18
EP3338401B1 (en) 2020-03-25
CN108432179A (zh) 2018-08-21
KR102066025B1 (ko) 2020-01-14
DE112016004274T5 (de) 2018-05-30
GB201805592D0 (en) 2018-05-23
JP2018533054A (ja) 2018-11-08
US9740877B2 (en) 2017-08-22
KR20180056719A (ko) 2018-05-29
WO2017053571A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
JP6506884B2 (ja) 機密性を保持しつつデータ損失を防止するためのシステムおよび方法
JP6553819B2 (ja) 機密性を保持しつつ機密情報漏洩を検出するためのシステムおよび方法
CN106295367A (zh) 数据加密方法及装置
US11770243B2 (en) Grouping data in an organized storage system
CN112287372A (zh) 用于保护剪贴板隐私的方法和装置
US20250088350A1 (en) Organized data storage system
Alauthman et al. Unintended Data Behaviour Analysis Using Cryptography Stealth Approach Against Security and Communication Network
US9537842B2 (en) Secondary communications channel facilitating document security
CN110008654A (zh) 电子文件处理方法和装置
US20150156175A1 (en) Methods for securing a communication to a social media application and devices thereof
US10621333B2 (en) Install-time security analysis of mobile applications
US20260057083A1 (en) Browser-based protection of data files
Prakash et al. Secure Image Retrieval in an Untrusted Cloud Environment Using Homomorphic and Attribute-Based Encryption
Muthupandian et al. SecureCloud: A Cross-Platform Encrypted File Sharing Solution with Forensic Imaging Capability
HK1228537B (zh) 数据脱敏方法和系统
JP2016090603A (ja) 暗号化処理装置、暗号化処理システムおよび暗号化処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190329

R150 Certificate of patent or registration of utility model

Ref document number: 6506884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250