[go: up one dir, main page]

JP7629271B2 - 機密データを送信するシステムおよび方法 - Google Patents

機密データを送信するシステムおよび方法 Download PDF

Info

Publication number
JP7629271B2
JP7629271B2 JP2020016861A JP2020016861A JP7629271B2 JP 7629271 B2 JP7629271 B2 JP 7629271B2 JP 2020016861 A JP2020016861 A JP 2020016861A JP 2020016861 A JP2020016861 A JP 2020016861A JP 7629271 B2 JP7629271 B2 JP 7629271B2
Authority
JP
Japan
Prior art keywords
data
substructure
server
client
network node
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
JP2020016861A
Other languages
English (en)
Other versions
JP2020173783A (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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2020173783A publication Critical patent/JP2020173783A/ja
Application granted granted Critical
Publication of JP7629271B2 publication Critical patent/JP7629271B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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
    • 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
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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
    • 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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は一般に、情報セキュリティの分野に関し、より具体的には、クライアントサーバアーキテクチャにおけるデータルーティングに対して匿名性を保証するシステムおよび方法に関する。
世界における法律の変化により、情報セキュリティの専門家達は、パーソナル電子機器から送信されるデータを管理するための新しい方法を開拓せざるを得ない状況となっている。たとえば、ロシア連邦においては、インタネットサービスによって使用されるロシア人個人を特定することができる情報は、ロシア領域内で保持されなければならないという法律が定められ、スイス連邦においては、銀行も、連邦政府の司法領域からユーザデータが流出してしまうことがないように要求されており、また、多くの国々においては、個人を特定できる情報を公開された状態で保持することが禁止されている。編み出される解決策は、コンピュータシステムのユーザの作業を、より困難なものとするものではなく、操作中、ユーザにトランスペアレントなものであるべきである。
一般データ保護規則(General Data Protection Regulation:GDPR)の登場により、各種サービス側のネットワークインフラストラクチャにおいて保持され、かつ、ユーザから受信する個人データの量は、最少となる傾向にある。ユーザから得たデータを、その一意性を失うことなく、分散して保存および処理することが必要である。
こうした方針は、企業および民間の領域においてクラウドインフラストラクチャを採用する上で難題を生じさせている。この難題を解決することができる解決策が必要とされよう。
本開示は、送信するデータの匿名性を保ち、かつ、分析および統計構築のためにサーバが必要とする情報の完全性および代表性が欠けることなく、クライアントサーバアーキテクチャにおいてデータを送信するように設計されている。
本開示の技術的成果は、重大データをサーバに送信することを可能にすることである。
本開示の1つ以上の態様の目的は、重大データをサーバに送信する方法であって、サーバに送信されることになっているデータ構造を、クライアント側で、重大データ(以下、CD)を含む下部構造と、CDを含まない下部構造とに分割する、方法である。CDを含む下部構造を、クライアント側で、少なくとも2つの下部構造にさらに分割し、その結果生じた下部構造を、変換モジュールを有するノードを介して、サーバに連続して送信する。CDを含まない下部構造を、変換モジュールを有するノードをバイパスして、サーバに直接送信する。下部構造を受信した後、下部構造をサーバ側で結合して単一データ構造を形成する。重大データは、クライアントまたは権限のある機関が位置している管轄区域を有する国の法律を基準にして、収集、保存、アクセス、普及、および処理についての規制が課せられているデータである。一態様では、重大データは、機密データ、すなわち、クライアントが位置している管轄区域の国の法律によって保護されるいずれのデータであり、特定の例において、そのようなデータは個人データである。
変換モジュールを有するネットワークノードは、サーバが位置している地域ネットワークとは異なる地域ネットワークに位置していてもよく、サーバまたはクライアントと同じイントラネット内になくてもよい。変換手段を有するネットワークノードの地域ネットワークとサーバの地域ネットワークは、異なる管轄区域に位置していてもよい。地域ネットワークは、同時に、全国ネットワークであってもよい。
ノードの変換モジュールが、変換モジュールを通過する各データ下部構造を変換してもよく、その場合、下部構造が変換モジュールを通過する際に、前記変換を連続して実行してもよく、また、特定の例では、元の下部構造および変換後の下部構造は、変換後にノードで保存されることはない。特定の例において、変換モジュールは、匿名化モジュールであり、前記変換自体を暗号化によって行ってもよい。
特定の例において、CDを含まない下部構造のデータを、非対称暗号化の方法を用いて変換モジュールによって変換するが、この場合、公開鍵をクライアントに送信し、一方、秘密鍵をサーバで保持する。
別の特定の例において、変換モジュールによってデータを逆変換される可能性なく、クライアント側でデータ下部構造の第1の変換を実行し、一方、変換モジュールは、サーバまたはクライアント側で逆変換する可能性なく、変換モジュールを通過するデータ下部構造の第2の変換を実行する。
態様例の上記簡略概要は、本開示の基本的な理解を提供する役割を果たす。この概要は、全ての企図された態様の広範な概観ではなく、全ての態様の主要または重大要素を特定することを意図するものではなく、本開示の任意または全ての態様の範囲を叙述することを意図するものでもない。その唯一の目的は、以下の本開示のより詳細な説明の前置きとして、1つ以上の態様を簡略化した形で提示することである。前述の目的を達成するために、本開示の1つ以上の態様は、特許請求の範囲に記載され、例示的に指摘される側面を含む。
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成するものであるが、本開示の1つ以上の態様例を示し、詳細な説明とともに、態様例の原理および実施を説明する役割を果たす。
クライアントサーバアーキテクチャにおけるデータルーティングのシステムを示す。 クライアントによってデータ構造を下部構造に分割する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の変形例を示す。 要求を実行する際に匿名化モジュールによってデータ構造の下部構造を識別する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の変形例を示す。 クライアントによってデータ構造の下部構造を識別する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の変形例を示す。 要求を実行する際にクライアントによってデータ構造を下部構造に分割する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の変形例を示す。 (統計を構築するための)データを送信する際にクライアントによってデータ構造を下部構造に分割する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の例示的な態様を示す。 図6Aの方法によって収集した情報に基づいて、クライアントをターゲットとした攻撃を検出する際の、クライアントサーバアーキテクチャにおけるデータルーティングの方法の例示的な態様を示す。 要求を実行する際に匿名化モジュールによってデータ構造の下部構造を識別する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の一態様を示す。 クライアントによってデータ構造の下部構造を識別する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の一態様を示す。 要求を実行する際にクライアントによってデータ構造を下部構造に分割する、クライアントサーバアーキテクチャにおけるデータルーティングの方法の一態様を示す。 クライアントサーバアーキテクチャの匿名データ交換のシステムを示す。 クライアントサーバアーキテクチャにおけるデータ交換の方法の変形例を示す。前記方法は、サーバ側で統計を構築するためにクライアントからデータを得るのに用いられる。 データ交換の方法の変形例を示す。前記方法は、クライアントからサーバへの要求を実行する際に用いられる。 データ交換の方法の変形例を示す。前記方法は、クライアントからサーバへの要求を実行する際に用いられ、下部構造を結合することを含む。 クライアントからサーバへの要求を実行する際の、データ交換の方法の例示的な態様を示す。 非同期モードでクライアントからサーバへの要求を実行する際の、データ交換の方法の例示的な態様を示す。 クライアントサーバアーキテクチャにおいて重大データを送信する方法の変形例を示す。 クライアントサーバアーキテクチャにおいて重大データを送信する方法の実施形態例を示す。 本開示の態様による調整モジュールのルール例の表を示す。 例示的な態様によって本開示のシステムおよび方法を実施することができるコンピュータシステムの一例を示す。
例示的な態様を、クライアントサーバアーキテクチャにおいて重大データを送信するためのシステム、方法、およびコンピュータプログラム製品に関連して、本明細書において説明する。当業者であれば、以下の説明は例示的なものにすぎず、決して限定することを意図するものではないことを理解するであろう。他の態様は、本開示の恩恵を受ける当業者に容易に連想されるであろう。添付の図面に例示されている態様例の実施を詳細に言及する。図面と以下の説明の全体にわたって、同一または同様のものについては、可能な限り、同一の参照符号を用いるものとする。
図1は、クライアントサーバアーキテクチャにおけるデータルーティングのためのシステム100を示す。システム100は、クライアント102と、サーバ104と、匿名化モジュール108を有するネットワークノード106とを含む。サーバ104は、クラウドインフラストラクチャ(図示せず)の一部であってもよく、一方、クライアントはユーザのデバイスであってもよい。匿名化モジュール108を有するノード106は、前記サーバが位置している地域ネットワークとは異なる地域ネットワーク107に位置していてもよく(すなわち、地域ネットワーク2と地域ネットワーク3)、サーバ104またはクライアント102と同じイントラネットに位置しない。本明細書において用いられるように、地域ネットワーク107は、地理的に分散したネットワークを意味し、通信手段によって異なる地点にあるコンピュータを集めて一つにまとめ、地域ネットワークが集合してグローバネットワーク109を形成する。本開示の文脈において、異なる地域ネットワーク107は、地理的に分離しているのみならず、異なる管轄区域に位置し(すなわち、異なる規制に従うことになろう)、その結果、本開示の文脈において、異なる地域ネットワークはまた、各国のノードが集められているネットワーク(全国ネットワーク)を含んでもよい。たとえば、図1において、地域ネットワーク「1」は、アメリカ合衆国のネットワークであり、地域ネットワーク「2」は、ドイツおよび/または欧州連合のネットワークであり、地域ネットワーク「3」は、ロシア連邦のネットワークである。
図1のグローバネットワーク109は、全ての地域ネットワーク107の総体、または世界ネットワーク(インターネット)である。GDPRの用語において、たとえば、サーバが位置するロシア連邦(the Russian Federation:RF)の地域ネットワークは、第三者の地域ネットワークであるとみなされるであろう。
特定の例において、匿名化モジュール108を有するノード106の地域ネットワーク107は、クライアント102の地域ネットワークとは異なる。図1中の矢印は、クライアントからではなく、ネットワークから始まるように描かれているが、これは、一般的に、外部IPアドレスは、内部アドレス秘匿技術、特に、プロキシサーバ、ネットワークアドレス変換(Network Address Translation:NAT)の使用により、表示可能であるからである。
クライアント102は、(たとえば、クライアントからサーバにデータを送信するために作成された)1つ以上のデータ構造を下部構造に分割し、かつ、得られた下部構造のためのルートを選択するように構成された変更モジュール110を含んでもよい。データ構造は、クライアント102とサーバ104とを含むシステム100のコンポーネントによって形成かつ保持されるデータ値の集合である。なお、データ構造におけるデータ値のうちのいくつかは、「個人データ」でありえるので、データ機密ポリシーと規制の対象となるであろう。よって、下部構造は、元のデータ構造からのデータ値の部分集合を含むデータ構造の一種である。たとえば、データ構造におけるデータ値は、データ送信、ユーザ要求、データ照会および/または照会結果、ログデータ、アプリケーションの状態に関するデータ、ユーザトランザクションレコード、ユーザ作成コンテンツ、ならびに、クライアントサーバアーキテクチャにおける交換に好適な他の形式のデータを含んでもよい。いくつかの例において、データ構造は、メモリ内データ構造(たとえば、連結リスト、ハッシュテーブル、ツリー、配列、データベースレコード)、または、オンディスクデータ構造(たとえば、ファイル、BLOB)であってもよい。他の例において、データ構造は、本明細書に含まれるデータ値を、クライアントからサーバに送信するように構成された1つ以上のネットワークデータパケットであってもよい。データ構造を、テキストフォーマットか、構造化フォーマット(たとえば、Extendible Markup Language、略してXML、JavaScript Object Notation、略してJSON)か、または、情報交換用の他のフォーマットで、直列化してもよい。
データ構造を下部構造に分割するための様々な基準があってもよい。そのような基準の1つは、(GDPRの用語における)個人データ(個人識別情報)または個人データの特別なカテゴリの有無であってもよく、それによって、ある下部構造は、個人データ(以下、PDまたはPII)または個人データの特別なカテゴリを含み、別の下部構造は、個人データではないデータを含む(すなわち、別の下部構造はPDを含まない)といったように、データ構造が分割される。個人データとしてのデータの特徴付けと割り当てを、たとえば、以下に説明するシステムにおいてクライアントであるデバイスのユーザが位置する管轄区域を有する国の法律によって、すなわち、データソースの位置に応じて定めることができる。
データ構造を下部構造に分割するための別の基準は、重大データの有無である。重大データは、法律または権限のある機関によって、データの収集、保存、アクセス、普及、および処理についての規制が課せられるデータである。重大データは、一般に、暴露、普及、および漏洩に対して、注意を要するものであり、その理由は、法律によって保護されているような、ユーザの権利および合法的に保護されている利益が、上記イベントが発生することによって侵害されるからであり、そのようなデータの収集、保存、アクセス、および処理に対する規則に違反する人々は、その責任を負わなくてはいけないからである。重大データの特別なケースは、機密データ(要注意データ)、または機密情報である。本願の文脈において、機密データと機密情報は、同義的に用いられる。機密データは、以下に説明するシステムにおいてクライアントであるデバイスのユーザが位置する管轄区域を有する国の法律に準拠して保護されるデータを意味する。特定のケースにおいて、機密データとして、個人データ(PD)、ならびに、商業上の秘密、税に関する秘密、銀行関連秘密、医療上の秘密、公証人が知りうる秘密、弁護士が知りうる秘密、監査上の秘密、通信上の秘密、保険に関する秘密、遺言に関する秘密、採用上の秘密、告解に関する秘密、調査上の秘密、法廷訴訟手続き上の秘密、被保護人に関する情報、および国に関する秘密を含むデータが挙げられる。一態様において、重大データは、GDPR下で指定されているような、注意を要する個人データを含んでもよく、注意を要する個人データは、人種または民族の素性、政見、信教または哲学信条、および労働組合員資格が明らかになるデータ、健康または性生活および性的嗜好に関するデータ、ならびに(たとえば、自然人を一意に識別するための)遺伝データまたは生体情報の、いずれのデータでもある。
匿名化モジュール108は、匿名化モジュール108を有するノード106を通るルートを有する下部構造の変換および逆変換を実行するように構成されている。一態様において、下部構造の変換は、下部構造に含まれるデータの変換であってもよい。特定の例において、下部構造のデータの変換方法は、量子化、ソーティング、マージング(ペースト)、グループ分け、データセット構成、値のテーブル置換、計算値、データの符号化、暗号化、および正規化(スケーリング)のうち、1つ以上を含んでもよい。
ある種類の変換は、下部構造における個別データのみならず、下部構造全体に適用されてもよく、たとえば、トークン化および/または暗号化が挙げられる。特定の例において、変換は、ノードの匿名化モジュール108以外の手段により、逆変換の可能性はなく、実行される。逆変換は、変換前の変換対象(データ、下部構造)の元の形式を回復する変換を意味する。一般に、変換は、あるセットのそのセット自体に対するマッピング(関数)であってもよく、または、言い換えると、変換は、あるセットを別のセットに翻訳するマッピングのことである。
同じクライアントからの下部構造を、同じ方法または異なる方法を用いて、匿名化モジュール108によって変換してもよい。前記変換を同じ方法によって実行する場合、変換された下部構造、または同じクライアントからの下部構造のデータは、同一の外観を有するであろうし、そうでなければ、下部構造のデータが異なり、同じクライアントの統計を構築する(プロファイリングを実行する)ことは不可能であろう。
サーバ104は、結合モジュール112を含んでもよい。結合モジュール112は、クライアント側で分割されたデータ構造を結合するように構成されている。結合モジュール112は、たとえば一意識別子に基づいて、データを結合してもよく、一意識別子は、分割中に各下部構造に割り当てられ、同じ構造の下部構造に対しては同一である。結合モジュール112は、様々なネットワークルートでサーバ104に到達する下部構造を受信し、その下部構造を結合して構造を形成する。前記構造は、クライアント側で分割された元の構造とは明らかに異なるであろう。これは、匿名化モジュール108を有するノードを通過する下部構造が、そのモジュール108によって変換されるからである。結果として生じた構造は、データベース(図示せず)において保存してもよい。
特定の例において、匿名化モジュール108は、クライアントの変更モジュール110によって下部構造に分割されない構造(たとえば、サーバへの要求の構造)を、クライアントから得る。この場合、サーバに送信するための匿名化モジュール108は、得られた構造において、PDを含む下部構造を識別し、下部構造のデータ変換を行う。例を以下に挙げる。
説明したシステム100は、サーバ104に送信する要求、および、クライアント102に送信する、前記要求に対する応答を匿名化するために用いられ、また、統計の構築に使用される、クライアント102からのデータを得るために用いられる。
図2は、クライアントサーバアーキテクチャにおけるデータルーティングの方法による例示的な操作のブロック図であり、特定の例において、前記方法は、統計構築のためにクライアントからデータを得るのに用いられる。ステップ200では、(たとえば、クライアント102上で実行する)変更モジュール110は、基準、そのような基準の一つは、場合によっては構造におけるPDの有無である基準に従って、サーバへ送信されることになっている構造201を分割し、分割の結果、PDを含む下部構造(たとえば、図2では、下部構造1)と、PDを含まない下部構造(図2では、下部構造2に相当する)と、が得られる。以降、本願の文脈において、本開示の態様例では、一般に、たとえ、PDに有効なことが重大または機密データにも有効であるとしても、前記基準の一例として、重大または機密データの有無ではなく、PDの有無を使用する。特定の例において、分割を実行するための複数の基準のみならず、第1のタイプと第2のタイプといったように複数の下部構造があってもよい。
ステップ210では、変更モジュール110は、得られた下部構造をサーバ104に発信(すなわち送信)する。前記発信は、様々なルート(ルートAおよびルートB)によって行われ、前記様々なルートの1つ(たとえば、ルートA)は、匿名化モジュール108を有するネットワークノード106を含む。一態様において、データ下部構造の1つに含まれる個人データに基づき、変更モジュール110は、少なくとも2つのデータ下部構造を発信するための少なくとも2つのルートを決定してもよい。ネットワークノード106は、サーバ104が位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアント102と同じイントラネット内にはない。サーバへ発送されることになっている下部構造のうちの1つがPDを含む場合、下部構造は、匿名化モジュール108を有するノードを介してサーバに誘導されるであろう(ルートA)。
その後、ステップ220において、匿名化モジュール108を有するノード106を通過する下部構造を、そのモジュール108によって変換し、その後、変換された状態の下部構造を、サーバ104に送信する(ステップ221)。一般的な場合、同じクライアントからの下部構造は、異なる時点で、異なるように変換される。たとえば、第1の時に送信され、クライアント識別子を有する下部構造は、変換されて、匿名識別子(匿名ID1)を含む。前記匿名識別子(匿名ID1)は、同じクライアントから送られ、同じクライアント識別子を有していたとしても、第2の時に送信される下部構造からの次の匿名識別子(匿名ID2)とは異なる(すなわち、クライアントID→匿名ID1≠匿名ID2≠匿名ID3など)。上記内容は全ての例に関連しうる。特定の例において、あるセキュリティシステムが特定のクライアントに関する情報を組立てる(統計を構築する)ことが必要な場合、前記変換は、同じクライアントからの下部構造に対しては同一になりうる(たとえば、クライアントID→匿名ID1=匿名ID2=匿名ID3など)。
最後に、ステップ230において、クライアントから得られた下部構造を結合して構造231(構造′)を形成する。少なくとも1つの下部構造が匿名化モジュール108によって変換されているので、結果として生じた構造(構造′)は、元の構造とは異なることは明らかである。結果として生じた構造231もまた、サーバ側でインフラストラクチャによりデータベースにおいて使用されることになる。例証を明瞭にするため、インフラストラクチャおよびデータベースを、図では省略している。要求プロセッサ302や攻撃検知モジュール602などの個々のインフラストラクチャ素子を、他の図で示す。匿名化モジュール108による下部構造および/または下部構造のデータの変換は、匿名化モジュール108を有するネットワークノード106以外の任意の手段によって、下部構造および/または下部構造のデータを逆変換しないようにして実施する。
図3は、特定の場合において、サーバに関連してクライアントの要求301を実行するために用いるルーティング方法を示す。ステップ300において、クライアント側で発生した要求を、変更モジュール110によって、匿名化モジュール108を有するネットワークノード106を含むルートで、クライアント102からサーバ104に発信する。前記ネットワークノードは、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネット内にない。特定の例において、要求データ(機密データを含まない)のうちのいくつかを、クライアント側で変更モジュール110によって変換してもよく、その変換を匿名化モジュール108が逆変換を行うことができないように実施してもよく(図4のステップ311)、サーバ104だけが逆変換を行うことができる(図4のステップ325)。たとえば、クライアント102が公開鍵を有し、かつ、サーバ104が秘密鍵を有するという、非対称暗号化技術を使用して、前記変換および逆変換を実施してもよい。本明細書においては、特段の指示がない限り、用語「変換」は、フォワード変換を意味する。
次に、ステップ310では、匿名化モジュール108は、基準、そのような基準の一つは場合によってはPDの有無である基準に従って、サーバへ発信することになっている要求を有するデータ構造における下部構造を識別し、識別の結果、PDを含む下部構造(たとえば、図3では、上記の例と同様、下部構造1)と、PDを含まない下部構造(図3では、下部構造2)と、が得られる。ステップ320では、匿名化モジュール108を用いて、PDを含むデータ下部構造(および/または下部構造におけるデータ)の変換(変換される元の構造からのフォワード変換)を実施し、そして、匿名化モジュール108を用いて、PDを含む変換された下部構造を有する、結果として生じた要求データ構造を、サーバに発信する(ステップ321)。
受信した要求に応じて、ステップ330においてサーバは、要求プロセッサ302を使用して、応答323を作成する。特定の例において、クライアント102が変換したかもしれない要求のデータに関して、サーバ104は、まず、逆変換(以後に記載されるような、図4のステップ325)を実施する。PDを有する前記例において、要求への応答のデータ構造323は、以下の下部構造を含むことになる。(1)匿名化モジュール108によって変換された、PDを含む少なくとも1つの下部構造(要求構造から抽出された、下部構造1′)と、PDを含まない少なくとも1つの下部構造(要求への応答の本体または応答のペイロードを含む、下部構造3)。
匿名化モジュール108による逆変換(下部構造3′)の可能性なく、PDを含まないデータ(下部構造3)を変換(フォワード変換)してもよい。前記変換は、ステップ340で実行される。このデータの逆変換は、クライアントの変更モジュール110によって実行されるのみであってもよく(たとえば、サーバが公開鍵を有し、クライアントが秘密鍵を有する非対称暗号化)、ステップ350では、結果として生じる、要求への応答のデータ構造324を、サーバから匿名化モジュール108を有するネットワークノードへ発信する。ステップ360において、匿名化モジュール108を使用して、PDを含む、要求に対する応答324のデータ下部構造(下部構造′1)の逆変換を行う。逆変換は、ステップ320で変換されたデータに対して実施する(変換されたデータから、クライアントからの要求に最初に含まれているオリジナルデータへの逆変換)。得られたデータ構造をクライアントにリダイレクトし(ステップ370)、ステップ380において、クライアントの変更モジュール110を用いて、ステップ340でサーバによって変換された、PDを含まない、要求への応答のデータ下部構造の逆変換を実施する。その結果、クライアント102は、サーバによって変換された、Pを含まない、要求への応答のデータ下部構造を含むデータ構造381を作成する。
図4は、図3に示した方法の変形例を示すが、下部構造を識別するための変形例のステップ310は、匿名化モジュール108ではなく、クライアントの変更モジュール110によって実行され、続いて、ステップ311で下部構造の変換が行われる。図3における変形例と同様、PDを含まない下部構造(下部構造2)を変換する。したがって、匿名化モジュール108を有するノードに送信される要求のオリジナルデータ構造ではなく、ステップ310および311の実行後の変換構造412であるという点で、図4におけるステップ300′は、図3に示した方法の類似ステップ300とは異なる。したがって、この変形例では、ステップ325が追加され、ステップ325では、まず、ステップ311で変換された下部構造(本例では、PDを含まない下部構造2′)の逆変換を、ステップ330を実施する前に実行する。
図5は、クライアントサーバアーキテクチャにおけるデータルーティングの方法の変形例を示す。この変形例では、ステップ200~230は、図2に示す方法のステップと類似し、一方、ステップ300~380は、図3に示す方法のステップと類似する。特定のケースでは、図4のステップ311と同様、サーバに直接発信する前の下部構造2を、まず、変換してもよく、その後、ステップ311に加えて、ステップ325を前記方法の流れ図に追加する。
特定の例では、図3~図5に示す方法の全ての態様において、ステップ370で匿名化モジュール108を有するノード106によってクライアント102に発信されたデータ構造は、PDを有するデータ下部構造(本例では下部構造1)を含まない。応答の受信者を決定するために、このステップまでその下部構造を保存する必要があるが、決定後は、特定の例においては、その保存の必要はない。
図6Aは、図2に示した方法の例示的な操作を示す。クライアント102は、攻撃検知モジュール602など、サーバ側に位置し、標的攻撃を遠隔検出するためのシステムに、通信可能に接続される。攻撃検知モジュール602をフル運転するために、様々な時点で検出された悪意のあるコードを有するファイル(悪意のあるファイル)に関する情報を、クライアント102から得て、得られた情報に基づいて統計を構築すること(個人データに関する国の法律に従って、匿名で統計構築を行う必要があることがよくある)が必要となる場合がある。クライアントから受信した情報に基づいて、いくつかの悪意のあるファイルを検出すると、標的攻撃がクライアント上で検出されたという判定がサーバ側でなされる。
検出された悪意のあるファイルに関係する情報をサーバへ送信するために、クライアント102は、データ構造601を作成する。データ構造601は、クライアント識別子(「クライアントID」)と、検出された悪意のあるファイルが有する検出された悪意のあるファイルに関係する情報(「MD5」)とを含む。ステップ200において、変更モジュール110は、サーバに発信することになっている、作成した構造601を、下部構造に分割し、分割の結果、クライアントIDを含む下部構造とファイルのMD5を含む下部構造とを得る。前記下部構造がどの構造に関係するのかを知るために、それらの下部構造に対して、識別子(図では、識別子を構造IDと示す)を割り当てる。ステップ210では、クライアントの変更モジュール110は、得られた下部構造を、サーバ104に送信する。前記送信は、異なるルート(ルートAおよびルートB)によって行われ、ルートのうちの1つ(ルートA)は、匿名化モジュール108を有するネットワークノード106を含む。前記ノード106は、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネット内にない。クライアントIDを含む下部構造は、匿名化モジュール108を有するノード106を通過してサーバ104の方へ誘導される(ルートA)。ステップ220において、匿名化モジュール108は、クライアントIDの変換を実行するが、その変換において、クライアントIDを、ノードで保存し、下部構造におけるクライアントIDをトークン匿名IDと交換する(特定の例において、クライアントIDを暗号化してもよい)。得た下部構造を、サーバに発信する(ステップ221)。最後に、ステップ230において、クライアントから受信した下部構造を結合して構造603を形成する。少なくとも1つの下部構造が匿名化モジュール108によって変換されたので、結果として生じた構造603は、元の構造(601)とは異なることは明らかである。結果として生じた構造603を、サーバ104に(またはサーバが属するインフラストラクチャの所定のデータベースに)保存し、サーバがその構造を用いて、構造の入手先であるクライアント102についての情報(図では、統計と表示する)をまとめる。ステップ240において、まとめた情報は、攻撃検知モジュール602によって使用され、攻撃検知モジュール602が攻撃を検出すると、ステップ250において、攻撃検知モジュール602はデータ構造623を作成する。データ構造623は、匿名IDを有する下部構造と、攻撃に関する情報(図では、攻撃IDと表示する)を含む下部構造とを含む。得られた構造623を、攻撃を通知するために、クライアントに向けてアドレス指定することになる。
送付方法の一例を、図6Bのステップ340~380に示す。ステップ340~380は、図8に示す例のステップと類似する。特定の例においては、攻撃に関する情報を、変換せず、オープン形式で発信してよい。その場合、本例は、ステップ340および380を欠くことになる。本開示の他の図と同様、図6Bに示す態様において、任意の態様および代替態様は、ステップ370で得られた応答におけるクライアントIDフィールドなど、破線または淡くイタリック体のフォントで描写されている。
図7は、本開示の別の操作例を示す。クライアントデバイス102は新しいファイルを検出しており、サーバ104を用いて、悪意のあるコードの有無に関して前記ファイルを走査する必要がある。このため、ファイルに関する情報をサーバに発信することが必要であり、本例においては、これは、クライアントが要求データ構造701を作成する、ファイルのMD5である。したがって、応答が送付されるサーバに伝達するために、(たとえば、クライアント102で実行される)変更モジュール110はクライアントIDを要求データ構造701に挿入し、その結果、要求データ構造701がクライアントIDおよびファイルMD5を含む。ステップ300において、変更モジュール110は、作成した要求を、サーバに発信する。そのルートには、匿名化モジュール108を有するネットワークノード106が含まれる。前記ノードは、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネットにはない。次に、ステップ310において、匿名化モジュール108は、サーバに送付することになっている構造701の下部構造を識別し、識別の結果、クライアントIDを含む下部構造とファイルのMD5を含む下部構造とを得る。ステップ320において、匿名化モジュール108は、クライアントIDを変換するが、その変換において、クライアントIDを、ノード106で保存し、下部構造においてトークン匿名IDと交換する(特定の例において、クライアントIDを暗号化してもよい)。変換された下部構造を有する、得られた要求データ構造を、サーバに発信する(ステップ321)。受信した要求に対する応答723を、サーバ104の要求プロセッサ302がステップ330で作成する。要求プロセッサ302は、構造からファイルMD5を抽出し、クライアントでの分析に基づきファイルに悪意があることを示す判定結果、たとえば「MD5-BAD」を出す。要求に対する応答のデータ構造723は、以下の下部構造を含む。(1)トークン匿名ID(または匿名化モジュール108によって暗号化されたクライアントID)を含む少なくとも1つの下部構造と、(2)ファイルの判定結果(MD5-BAD)を含む少なくとも1つの下部構造。
この点において、ステップ340では、たとえば公開鍵で判定結果を暗号化する(図では、変換された判定結果を、暗号化判定結果と表示する)ことによって、判定結果を、匿名化モジュール108による逆変換の可能性なく、サーバ104が変換する。秘密鍵はクライアントによって保持され、また、逆変換は、クライアントの変更モジュール110によって実行されるのみであってもよい。ステップ350では、要求に対する得られた応答データ構造724を、サーバから匿名化モジュール108を有するネットワークノード106に発信する。ステップ360において、匿名化モジュール108は、要求に対する応答データ下部構造724を逆変換し、前記応答データ下部構造は匿名化モジュール108によって匿名化したトークン匿名IDを含む。ここで、トークンの場合、トークンを、以前に保存したクライアントIDと交換し、クライアントIDがすでに暗号化されていた場合は、復号化する。このように、変換は、ステップ320で変換されたデータに関して実行される。得られたデータ構造を、クライアントにリダイレクトし(ステップ370)、ステップ380において、クライアントの変更モジュール110は、ステップ340においてサーバが変換した判定結果を逆変換する。本例では、秘密鍵を用いて判定結果を復号化する。特定の例では、匿名IDは、同じクライアントIDのためのものであるが、異なる送信では、異なるものとなろう。
図8は、図7に示した例の変形例を示す。この変形例において、下部構造の識別後、ステップ310は、匿名化モジュール108ではなく、クライアント102の変更モジュール110によって実施され、その後、下部構造を変換して、公開鍵を用いた暗号化によってファイル情報(ファイルのMD5)を保存する(図では、変換されたファイル情報は、暗号化MD5と表示する)。この場合、秘密鍵をサーバで保持し、逆変換をサーバのみにおいて実施してもよい。したがって、匿名化モジュール108を有するノードに送信されるのは、元の要求構造(たとえば801)ではなく、ステップ310および311の後、変換された構造(データ構造812)であるという点で、図8に示す例のステップ300′は、図7に示した例の類似ステップとは異なる。したがって、ステップ325が追加され、ステップ325では、ステップ330を実施する前に、暗号化されたファイル情報に対して、秘密鍵を用いて復号化することによって逆変換を実施する。
図9は、クライアントサーバアーキテクチャにおけるデータルーティングの例を示す。本例において、ステップ200~230は、図6Aに示す例のステップと類似しており、一方、ステップ330~380は、図7に示す例のステップと類似する。特定の例において、ファイル情報をサーバに直接発信する前に、まず、図8の例におけるステップ311と同様に変換し、その結果、ステップ311に加えて、ステップ325が本例に追加される。
クライアントの変更モジュール110は、サーバに発信されることになっている構造901を捕捉し、確立しているルールに従って、構造901を分割し、そして、ルールに従って、これらの下部構造のためのルートを選択する。特定の例において、クライアントデバイス102(ソース)が動作している管轄区域における既存の規制および法律を遵守するように構成されている1つ以上の情報技術ポリシーにしたがって、変更モジュール110を機能させるルールが確立されている。したがって、そのルールを適用するために、クライアントの変更モジュール110は、デバイス(ソース)の位置、形成されたデータ構造901におけるデータのタイプ、データ構造の目的(たとえば、送信タイプ:要求または統計。この場合、サーバ側で統計をまとめるためにサーバにデータを発信する)、および、データ受信者の位置を決定する。上記に基づき、ルールに従って、変更モジュール110は、データのルート、分割の変形例、および、クライアント側での変換方法を選択する。形式化したルールのうち、1つの変形例を、図15の表1に示す。表1において、「方法」列は、関連する変形方法が下記のアプローチを含みうることを示す。「方法1」は、クライアント側でのデータ構造の分割を含むことを特徴とする(2参照)。「方法2」は、匿名化モジュール108を有するノードでのデータ構造の識別を含むことを特徴とする(図3参照)。「方法3」は、クライアント側でのデータ構造の識別を含むことを特徴とする(図4参照)。
上述したように、ルールは、規制/法律(GDPRなど)の要求によって定めてもよい。また、任意の所定の法規範が仮説と処置を含むのと同様に、アルゴリズム言語においても対応するif-then構成がある。したがって、提供した表1では、下記フォーマットによってルールを形式化する。
IF[タイプ、ソース、受信者、個人データ(yes/no)]、THEN[方法、匿名ノードの位置、データの変換方法]
表1:ルールフォーマット例
データ構造例について考える。データ構造例において、変更モジュール110は、下記のように判定する。すなわち、送信タイプは要求であり、ソース(クライアント)はドイツであり、受信者(サーバ)はロシア連邦であり、かつ、構造は個人データを含む。ルールに従って、変更モジュール110は、(図4のステップ310と同様。方法2)クライアント側でPDを含む下部構造を識別し、下部構造をアメリカを介して発信し、PDを含まない下部構造を公開鍵によって暗号化し(図4のステップ311と同様)、匿名化モジュール108を用いて暗号化によって個人識別可能な情報を変換する。
図10は、クライアントサーバアーキテクチャにおける匿名データ交換の変形例のシステム1000を示す。システム1000は、記憶モジュール1004を有するネットワークノード1002を含むこと以外は、図1に示すシステムと類似する。記憶モジュール1004は、1つ以上の記憶装置を含んでもよい。記憶モジュール1004を有するネットワークノード1002は、サーバが位置する地域ネットワークとは異なる地域ネットワーク107に位置し、サーバまたはクライアントと同じイントラネット内にない。特定の例において、記憶モジュール1004を有するネットワークノード1002は、匿名化モジュール108を有するネットワークノード106と同じ地域ネットワーク、たとえば図10に「地域ネットワークN」と示したネットワークなどにあってもよい。記憶モジュール1004を有するネットワークノード1002の目的は、クライアント102の外部IPアドレスをサーバ104からは非表示の状態にし、匿名化モジュール108が位置するノード106の負担を軽減することであり、その結果、匿名化モジュール108を有するノード106を通過する通信の量が減少する。記憶モジュール1004を有するネットワークノード1002は、クライアントによってサーバと交換するデータのための中間リポジトリである。
図10に示すシステム1000は、クライアントとサーバの間のデータ匿名交換に使用され、データ匿名交換の目的は、統計を構築するために使用するデータをクライアントから送信することと、「要求-応答」タイプのクライアント-サーバ相互作用と、を含む。図11は、クライアントとサーバの間のデータの匿名交換の方法を示し、特定の例において、データ匿名交換は、サーバ側で統計を構築するためにクライアントからデータを得るのに用いられる。ステップ200、221、220、および230は、図2に示すステップと類似する。ステップ210′は、類似ステップとは異なり、ステップ222が追加される。図2では、ルートBは、クライアントから、直接、サーバに至ったが、図11に記載する態様においては、このルートは分岐し、クライアントが、下部構造2を、サーバではなく、記憶モジュール1004を有するノードへ発信する。その後、ステップ222において、サーバがこの下部構造を受信する。ステップ222において、サーバへのこの下部構造の送信のイニシエータは、記憶モジュール1004を有するノード1002であっても、サーバ104であってもよく、記憶モジュール1004を有するネットワークノード1002によって保存された下部構造2の識別子を有する下部構造1′を、ルートA経由でイニシエータが受信すると、イニシエータは下部構造2をオンデマンドでダウンロードする。
図12は、特定の例において、サーバへのクライアントの要求を実行するのに用いるデータ交換の方法を示す。ステップ200、221、220、および230は、図2に示すステップと類似し、ステップ210′および222は、図11に示すステップと類似し、ステップ330は、図3に示す同じステップと類似する。したがって、図11に示すように、サーバへの要求の発信は、統計を構築するための、サーバへのデータの発信と類似する。上述した全てとの相違には、ステップ330で作成した応答の発信方法が含まれる。ステップ330で作成した、要求に対する応答の構造は、ステップ331で少なくとも2つの下部構造に分割される。すなわち、(1)匿名化モジュール108によって変換された、PDを含む少なくとも1つの下部構造(たとえば、要求構造から抽出された下部構造1′)、および、(2)PDを含まない少なくとも1つの下部構造(要求への応答の本体または応答のペイロードを含む、下部構造3)である。
ステップ350aにおいて、PDを含む下部構造を、サーバ104から、匿名化モジュール108を有するノード106へ発信し、ステップ360において、ノード106では、ステップ220で実施した変換の逆である変換を実施する。ステップ350bにおいて、PDを含まない下部構造(図12の下部構造3)を、記憶モジュール1004を有するネットワークノード1002に発信する。次に、ステップ371において、PDを含まない下部構造を、クライアントに送信する。クライアントがステップ371で下部構造を受信する変形例は、様々であってよい。ステップ350aを実行する場合、その後、ステップ360での変換後に、匿名化モジュール108を有するノードは、ステップ370aにおいて、応答の準備は整っているという通知(メッセージ)をクライアントへ発信する。その後、クライアントは、記憶モジュール1004を有するノードにアクセスし、記憶モジュール1004を有するノードから、PDを含まない下部構造を受信する。ステップ370aにおける通知には、たとえば、ステップ331において要求に対する応答構造を分割するプロセスで下部構造3に割り当てられた一意の識別子が含まれていてもよく、この識別子を有する下部構造は、記憶モジュール1004を有するネットワークノード1002から、クライアントによって要求されたものである。特定の例においては、ステップ350a、360、および370aを実施しないこともありうる。この場合、ステップ200において分割のプロセスで下部構造に割り当てられた識別子は、ステップ331において割り当てられた識別子と類似しており、ステップ371において、クライアントは、対応する識別子を有する下部構造の到着に関して、記憶モジュール1004を有するノードを定期的にポーリングすることによって、下部構造3を獲得する。ステップ350a、360、および370aを実施しない場合、要求に対する応答の構造は、PDを含まない下部構造(下部構造3)と同じであり、一意の識別子が割り当てられる。別の特定の例において、ステップ371では、記憶モジュール1004を有するノードは、独自に、下部構造3をクライアントへ発信する。この場合、セッション識別子が用いられる。セッション識別子は、ステップ210を実施するために、クライアントと記憶モジュール1004を有するノードの間で確立されものである。この場合、ステップ200および331で下部構造に割り当てられた一意の識別子は互いに等しく、また、セッション識別子とも等しい。この場合、ステップ350bにおいてノードが下部構造3を受信すると、ノードは、下部構造3の識別子を読取り、同じ識別子を有するセッションのクライアントへ転送する。この変形例を実行するための主要な条件は、要求を実行して応答を発信する際に、クライアントとサーバのデータ交換が終了するまで、クライアントと記憶モジュール1004を有するノードとの間のセッションを保持することである。
特定の例において、図12で説明した仕組みは、非同期モードで機能させてもよい。この場合、ステップ230を実施せずに、ステップ330を実施し、下部構造2のデータを使用し、ステップ331を省略して、得た下部構造3を記憶モジュール1004を有するノードに発信する(ステップ350b)。ステップ330とは関係なく、ステップ230を実施することになる。そのようなモードによってサーバの反応速度は増加する。CDを含まない下部構造に含まれているデータのみを要求の処理に必要とする場合に、前記モードを用いる。そのような場合、図12aで示す例と同様、下部構造の結合(ステップ230)は、統計を構築するためにのみ必要とされる。
図13は、クライアント側で検出したファイルに対する判定結果(危険/悪意がある、または、安全である)をサーバから得るために、図12に例証した方法を使用する例を示す。検出したファイルに関する情報(本例においては、ファイルに関する情報はファイルのMD5である)をサーバへ送信するために、クライアントIDと検出したファイルのMD5とを含むデータ構造を作成する。ステップ200において、変更モジュール110は、サーバへ送信されることになっている作成した構造を、下部構造に分割し、その分割の結果、クライアントIDを含む下部構造と、ファイルのMD5を含む下部構造とを得る。下部構造が関係する構造を知るために、下部構造に識別子(図では、識別子を構造IDと表示する)を割り当てる。ステップ210において、クライアントの変更モジュール110は、得た下部構造を発信する。前記発信は、異なるルート(ルートAおよびルートB)によって、異なる受信者に対して実施される。ルートAによって、下部構造をサーバに発信する。ルートAは、匿名化モジュール108を有するネットワークノードを含む。前記ノードは、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネット内にない。クライアントIDを含む下部構造を、匿名化モジュール108を有するノードを介して(ルートA)、サーバへ送信する。ルートBによって、下部構造を、記憶モジュール1004を有するネットワークノード1002に発信する。前記ノードは、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネット内にない。ファイルのMD5を含む下部構造を、記憶モジュール1004を有するネットワークノード1002へ送信する(ルートB)。ステップ220において、匿名化モジュール108を使用して、クライアントIDの変換を実行する。前記変換において、クライアントIDをノードで保存し、下部構造におけるクライアントIDをトークン匿名IDに置き換える(特定の例において、クライアントIDを暗号化してもよい)。得た下部構造を、サーバへ発信する(ステップ221)。ステップ222において、ファイルのMD5を有する下部構造をサーバが受信することになる。同期モードで前記方法を実行する場合、ステップ230において、ステップ221およびステップ222でサーバが得た下部構造を結合し、応答をステップ330で処理することになる。本例において、悪意のあるファイルと安全なファイルのデータベースによって、MD5を走査し、走査の結果により、判定結果を作成し、要求に対する応答を作成する(本例においては、悪意があると証明されたファイル。MD5-BAD)。要求に対して作成した応答を、ステップ331において、2つの下部構造に分割し、分割の結果、クライアントIDを含む下部構造と、判定結果(MD5)を含む下部構造とを得る。下部構造が関係する構造を知るために、前記下部構造それぞれに、識別子(図では、構造IDと表示する)を割り当てる。特定の例において、識別子は、ステップ200において下部構造に割り当てられた識別子と同じであってもよい。ステップ350bにおいて、判定結果を有する下部構造を、記憶モジュール1004を有するネットワークノード1002に発信し、ステップ371において、下部構造を、クライアントへ転送するか(構造IDが、ステップ210で確立したノードとクライアントとのセッションIDに相当する場合)、または、必要になるまで保存する。ステップ350a、360、および370aを実施した結果、受信した匿名化モジュール108を有するノードから、クライアントの通知を受信した場合に、上記下部構造はクライアントによって必要とされるであろう。別の態様において、ノードにおける応答下部構造の有無に関して(この場合、ステップ200および331で下部構造に割り当てられた構造IDは同じ)、クライアントは、記憶モジュール1004を有するネットワークノード1002を、絶えずポーリングしてもよい。ステップ372において、クライアントは応答を処理する。前記方法を非同期モードで実行する場合(図13a)、ステップ230およびステップ330を、それぞれ別個に実施する。ステップ330における構造IDは、変化することがなく、ステップ200における構造IDと同じであり、特定の例においては、クライアントと記憶モジュール1004を有するノードの間の、ステップ210のセッションIDと等しい。この文脈においては、ステップ371においても、下部構造を送信する。
本開示の態様によって、クライアントからのデータを分散化することが可能となり、それによって、クライアントであるデバイスのユーザに匿名性が付与される。クライアントがサーバと交換するデータを、サーバにアクセスする際にクライアントと関連付けることはできない。サーバにのみ知られているデータもあれば、匿名化モジュール108を有するネットワークノードにのみ知られているデータもある。また、これらのシステムコンポーネントに同時アクセスすることなく、データの匿名性を解除することはできず、一方、地理的な点と領域的管轄権の両方の点で異なる、様々な地域ネットワーク間にシステムコンポーネントを分配することによって、政府機構によるものを含む、コンポーネントへの同時アクセスが不可能になることが確実となる。また、記憶モジュール1004を有するノードを利用する場合、本開示の態様によって、クライアントの外部IPアドレスをサーバからは非表示にすることが可能となり(サーバは、下部構造をクライアントから直接受信するのではなく、代わりに、記憶モジュール1004を有するノードを介して受信する)、匿名化モジュール108を有するノードへの負担が軽減される。
あるケースでは、データ構造を2つのデータ下部構造に分割した後、そのうちの1つは機密データを含み、その所与の下部構造をさらに分割することが必要となる。このような分割は、ある特定の例では、たとえばIPアドレスとタイムスタンプが組み合わされたときに個人データとなるなど、データが一緒に見つかった時にのみ重大である場合に実施される。このような関連性が見つかった下部構造を、IPアドレスを有する下部構造とタイムスタンプを有する下部構造とに分割することで、データはその個人的属性を失い、また、これらの構造を結合させることができないノードによって、重大データ(所与のケースでは、個人データ)の処理に関する法律による規制なしに、そのデータを処理してもよい。しかし、そのような場合、サーバへデータを送信する機構は、より複雑になる。
図14は、クライアントサーバアーキテクチャで重大データを送信する方法を示す。前記方法は、特定の例において、統計構築のためにクライアントからデータを得るのに使用される。他の図に示す個々のインフラストラクチャ素子(たとえば、要求プロセッサ、攻撃検出モジュール、データベース)は、明確化のためにのみ、図14から省略されていることは理解されよう。
ステップ200において、(たとえば、クライアントデバイス102上で実行する)変更モジュール110は、基準にしたがって、サーバ104に送信することとなっている構造を分割する。前記基準の1つは、構造における重大データ(たとえば、個人データを含む、機密データ)の有無であってもよい。分割の結果、重大データを含む第1のデータ下部構造(図14の例では下部構造1)と、重大データを含まない第2のデータ下部構造(図14では下部構造2に相当する)とを得る。ステップ201において、変更モジュール110は、重大データを含んでいる下部構造を、少なくとも2つの下部構造(図14の例では、下部構造3および下部構造4)にさらに分割する。ステップ210において、変更モジュール110は、下部構造2をルートBによってサーバへ送信する。ステップ211において、重大データを含む下部構造を分割する際に得られた下部構造を、ルートBとは異なる別のルートによって、連続して送付する。このとき、前記代替ルート(図14の例ではルートA)は、変換モジュールを有するネットワークノードを含み、特定の例において、このネットワークノードは、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネット内にない。
次に、ステップ220において、変換モジュールを有するノード106を通過する下部構造を、そのモジュールによって変換し、変換された状態で、サーバへと前方送信する(ステップ223)。一般的な場合、同じクライアントからの下部構造は、異なる時点で、異なるように変換される(たとえば、クライアントID→匿名ID1≠匿名ID2≠匿名ID3など)。これは全ての例に当てはまるが、特定の例において、あるセキュリティシステムが、同じクライアントからの下部構造に対して、特定のクライアントに関する情報を収集する(統計を構築する)ことが必要である場合、前記変換は同じとなる(たとえば、クライアントID→匿名ID1=匿名ID2=匿名ID3など)。最後に、ステップ230において、クライアントから得られた下部構造を結合してデータ構造(構造′)を形成する。最終データ構造(構造′)は、元のデータ構造とは明らかに異なる。これは、少なくとも2つの下部構造が匿名化モジュール108によって変換されているからである。データベースにおける最終構造は、たとえばプロフィールを構築するために、サーバ側でインフラストラクチャモジュールによって使用されることになる。変換モジュールによる下部構造および/または下部構造のデータの変換は、変換モジュールを有するネットワークノードのモジュール以外の任意のモジュールによって下部構造および/または下部構造のデータが逆変換される可能性を排除する方法によって実施される。
図14aは、重大データを送信する方法の実施を示す。クライアントのIPアドレスと、タイムスタンプ(TimeStamp)と、あるファイルのMD5とを含む構造を、サーバに送信するために、クライアント側で作成する。ステップ200において、変更モジュール110は、サーバに送信することになっている構造を分割し、分割の結果、IPアドレスとタイムスタンプとを含む下部構造と、ファイルのMD5を含む下部構造とを得る。ステップ201において、変更モジュール110は、さらに、IPアドレスとタイムスタンプとを含む下部構造を、2つの下部構造(図14aでは、IPアドレスを有する下部構造、および、タイムスタンプを有する下部構造)に分割する。MD5を含むどの下部構造が、IP下部構造およびタイムスタンプ下部構造に関係があるか知るために、IP下部構造およびタイムスタンプ下部構造に、識別子(図では、識別子は、構造ID1、および構造ID2と表示する)を割り当て、これらの同じ識別子は、MD5下部構造に置かれる。ステップ210において、変更モジュールは、ルートBによって、MD5を有する下部構造をサーバへ送信する。ステップ211では、変更モジュールは、ルートBとは異なる別のルートによって、IPアドレスを有する下部構造とタイムスタンプを有する下部構造とを連続して送付する。このとき、前記代替ルート(図14aの例では、ルートA)は、変換モジュール108を有するネットワークノード106を含み、特定の例において、変換モジュールを有する前記ノードは、サーバが位置するネットワークとは異なる地域ネットワークに位置し、サーバまたはクライアントと同じイントラネット内にない。その後、ステップ220において、IPアドレスを有する下部構造およびタイムスタンプを有する下部構造を変換し、変換された形式で、サーバへと前方送信する(ステップ223)。下部構造を受信するときに、前記変換を実施する。最後に、ステップ230では、クライアントから受信した下部構造を結合して、変換されたIPアドレスと、変換されたタイムスタンプと、MD5とを含む構造を形成する。
変更モジュール、匿名化モジュール、結合モジュール、要求プロセッサ、攻撃検知モジュール、および記憶モジュールは、本開示において、実世界の機器、システム、コンポーネント、コンポーネント群を意味し、これらは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)もしくはフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)などのハードウェアを用いて実現されるか、または、たとえば、マイクロプロセッサシステムとプログラム命令一式などソフトウェアとハードウェアの組み合わせの形で実現され、ニューロモーフィックチップ(ニューロシナプティックチップ)をベースにしている。前記手段の機能は、ハードウェア単独で実現してもよく、また、ソフトウェアによって実現する機能もあれば、ハードウェアによって実現する機能もあるという組み合わせの形で実現してもよい。様々な態様において、前記モジュールを、(図16に示すプロセッサなど)コンピュータのプロセッサ上で実行してもよい。前記データベースは、任意の可能な方法によって実現してもよく、前記データベースは、ローカルおよびリモート両方の、1つの物理媒体または様々な物理媒体上のうち、いずれに含まれてもよい。
図14は、コンピュータシステム20を示すブロック図であり、クライアントサーバアーキテクチャにおいて重大データを送信するシステムおよび方法の態様を、例示的な態様にしたがって実施してもよい。なお、コンピュータシステム20は、たとえば、上述した、クライアント102、サーバ104、ならびに、ネットワークノード106および1002に相当しうる。コンピュータシステム20は、複数のコンピューティングデバイスの形態、または単一のコンピューティングデバイスの形態でもありうる。たとえば、デスクトップコンピュータ、ノート型コンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、スマートフォン、タブレットコンピュータ、サーバ、メインフレーム、組み込みデバイス、および、他の形式のコンピューティングデバイスが挙げられる。
上述したように、コンピュータシステム20は、中央処理装置(Central Processing Unit:CPU)21と、システムメモリ22と、中央処理装置21に関連するメモリを含む様々なシステムコンポーネントを接続するシステムバス23と、を含む。システムバス23は、バスメモリまたはバスメモリコントローラと、周辺バスと、他のバス方式と相互作用可能なローカルバスと、を含んでもよい。前記バスとして、たとえば、PCI、ISA、PCI Express、HyperTransport(登録商標)、InfiniBand(登録商標)、Serial ATA、 IC、および他の好適な相互接続が挙げられる。中央処理装置21(プロセッサとも称する)は、1つまたは複数のコアを有する、1つまたは複数のプロセッサのセットを含みうる。プロセッサ21は、本開示の技術を実行する、コンピュータ実行可能なコードを1つ以上実行してもよい。システムメモリ22は、本明細書で使用するデータおよび/またはプロセッサ21によって実行可能なコンピュータプログラムを保存するための、任意のメモリであってもよい。システムメモリ22は、ランダムアクセスメモリ(Random Access Memory:RAM)25などの揮発性メモリ、読み出し専用メモリ(Read Only Memory:ROM)24やフラッシュメモリなどの不揮発性メモリ、またはこれらの組み合わせを含んでもよい。バイオス(Basic Input Output System:BIOS)26が、ROM24を用いてオペレーティングシステムをロードする時の手順など、コンピュータシステム20の素子間における情報送信のための基本的な手順を保存してもよい。
コンピュータシステム20は、1つ以上の記憶装置、たとえば、1つ以上の着脱可能な記憶装置27、1つ以上の着脱不可能な記憶装置28、またはそれらの組み合わせを含んでもよい。1つ以上の着脱可能な記憶装置27および着脱不可能な記憶装置28は、ストレージインターフェース32を介して、システムバス23に接続されている。一態様において、記憶装置および対応するコンピュータ可読記憶媒体は、コンピュータシステム20の、コンピュータ命令、データ構造、プログラムモジュール、および他のデータを保存するための電源非依存のモジュールである。システムメモリ22、着脱可能な記憶装置27、および着脱不可能な記憶装置28は、様々なコンピュータ可読記憶媒体を使用してもよい。コンピュータ可読記憶媒体として、たとえば、キャッシュ、スタティックラム(Static Random Access Memory:SRAM)、ダイナミックラム(Dynamic Random Access Memory:DRAM)、零点コンデンサRAM、ツイントランジスタRAM、eDRAM(Enhanced Dynamic Random Access Memory)、EDO RAM(Extended Data Output Random Access Memory)、DDR RAM(Double Data Rate Random Access Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、NRAM(Nanotube Random Access Memory)、RRAM(Resistive Random Access Memory)、SONOS(Silicon Oxide Nitride Oxide Semiconductor)型メモリ、またはPRAM(Phase-change Random Access Memory)などの機械メモリと、フラッシュメモリ、またはソリッドステートドライブ(SSD)もしくはフラッシュドライブにおける他のメモリ技術と、磁気カセット、磁気テープ、および、ハードディスクドライブまたはフロッピーディスクなどにおける磁気ディスク記憶装置と、コンパクトディスク(CD-ROM)またはディジタル多用途ディスク(Digital Versatile Disk:DVD)における光学記憶装置と、所望データを保存するために使用してもよく、コンピュータシステム20によってアクセス可能な他の媒体とが挙げられる。
コンピュータシステム20の、システムメモリ22、着脱可能な記憶装置27、および着脱不可能な記憶装置28を使用して、オペレーティングシステム35、付加的プログラムアプリケーション37、他のプログラムモジュール38、およびプログラムデータ39を保存してもよい。コンピュータシステム20は、キーボード、マウス、スタイラス、ゲームコントローラ、音声入力装置、タッチ入力装置などの入力装置40、または、プリンタもしくはスキャナーなどの他の周辺機器から、シリアルポート、パラレルポート、ユニバーサルシリアルバス(Universal Serial Bus:USB)、他の周辺インターフェースなどの1つ以上のI/Oポートを介してデータを伝達するための周辺インターフェース46を含んでもよい。1つ以上のモニタ、プロジェクタ、または統合ディスプレイなどの表示装置47もまた、ビデオアダプタなどの出力インターフェース48を介してシステムバス23に接続してもよい。表示装置47に加えて、コンピュータシステム20は、スピーカおよび他の視聴覚装置など、他の周辺出力装置(図示せず)を備えていてもよい。
コンピュータシステム20は、1つ以上のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境で操作してもよい。リモートコンピュータ(単数または複数)49は、コンピュータシステム20の特徴を説明した際の上記素子のほとんどまたは全てを含む、ローカルコンピュータワークステーションまたはサーバであってもよい。他のデバイスは、ルータ、ネットワークステーション、ピア接続の機器、または他のネットワークノードなど、コンピュータネットワーク内にあってもよいが、これらに限定されない。コンピュータシステム20は、ローカルエリアコンピュータネットワーク(Local-Area Computer Network:LAN)50、ワイドエリアコンピュータネットワーク(Wide-Area Computer Network:WAN)、イントラネット、およびインターネットなどの1つ以上のネットワークを介してリモートコンピュータ49と通信するための、1つ以上のネットワークインターフェース51またはネットワークアダプタを含んでもよい。ネットワークインターフェース51として、たとえば、イーサネットインターフェース、フレームリレーインターフェース、SONETインターフェース、および無線インターフェースが挙げられる。
本開示の態様は、システム、方法、および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、本開示の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(単数または複数)を含んでもよい。
コンピュータ可読記憶媒体は、コンピューティングシステム20などコンピューティングデバイスのプロセッサがアクセス可能な、命令またはデータ構造の形式のプログラムコードを保持かつ保存することができる有形の装置であり得る。コンピュータ可読記憶媒体は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、またはこれらの好適な任意の組合せであってもよい。たとえば、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM(Portable Compact Disc Read-Only Memory)、DVD、フラッシュメモリ、ハードディスク、ポータブルコンピュータディスケット、メモリスティック、フロッピーディスク、またはさらに、命令を記録する溝における穿孔カードもしくは浮出し構造などの機械的符号化デバイスまでも含みうる。本明細書において、コンピュータ可読記憶媒体は、それ自体が一時的な信号、たとえば、電波もしくは他の自由に伝播する電磁波、導波管か伝送媒体を介して伝播する電磁波、またはワイヤを介して送信される電気信号などであるように解釈することはできない。
本明細書に記載したコンピュータ可読プログラム命令はそれぞれ、コンピュータ可読記憶媒体から、対応するコンピューティングデバイスに、または外部コンピュータもしくは外部記憶装置に、ネットワーク、たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または無線ネットワークを介して、ダウンロードすることができる。前記ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含んでもよい。各コンピューティングデバイスのネットワークインターフェースは、前記ネットワークから、コンピュータ可読プログラム命令を受信し、対応するそれぞれのコンピューティングデバイス内のコンピュータ可読記憶媒体に保存するためのコンピュータ可読プログラム命令を転送する。
本開示の操作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(Instruction Set Architecture:ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、オブジェクト指向プログラミング言語および従来の手続型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、独立型のソフトウェアパッケージとして、全てをユーザコンピュータ上で実行してもよく、部分的にユーザコンピュータ上で実行してもよく、また、部分的にユーザコンピュータ上で、かつ部分的にリモートコンピュータ上で実行してもよく、または、全てをリモートコンピュータまたはサーバ上で実行してもよい。後者のシナリオにおいては、リモートコンピュータは、LANもしくはWANを含む任意のタイプのネットワークを介してユーザコンピュータに接続してもよく、または、外部コンピュータに(たとえば、インターネットを介して)接続してもよい。いくつかの実施形態において、たとえば、プログラマブルロジック回路、書き換え可能ゲートアレイ(Field Programmable Gate Array:FPGA)、またはプログラマブルロジックアレイ(Programmable Logic Array:PLA)を含む電子回路が、本開示の態様を実施するために、電子回路を個別化するためのコンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行してもよい。
様々な実施形態において、本開示に記載したシステムおよび方法を、モジュールとして実装することができる。本明細書において、用語「モジュール」は、実世界の機器、コンポーネント、または、コンポーネント配置であり、これらは、たとえば、ASICもしくはFPGAなどによって、ハードウェアを用いて実装されるか、または、たとえば、モジュールの機能を実行するマイクロプロセッサシステムおよび命令セットなど、ハードウェアとソフトウェアの組み合わせとして実装される。上記ハードウェアやハードウェアとソフトウェアの上記組み合わせは、(実行中に)マイクロプロセッサシステムを特定目的の機器に変換する。モジュールは、ハードウェア単体により促進される機能と、ハードウェアとソフトウェアの組み合わせによって促進される別の機能という2つの組み合わせとして実装されてもよい。ある実装において、モジュールの少なくとも一部、場合によっては、モジュールの全てを、コンピュータシステムのプロセッサ(図16においてより詳細に記載したものなど)上で実行してもよい。したがって、各モジュールを様々な好適な構成で実現してもよく、本明細書に例示した特定の実装に限定されるものではない。
なお、態様の通常の機能のうちの全てを本明細書において開示しているわけではない。本開示のいずれの実際の実装を開発する場合において、開発者の具体的な目標を達成するためには多くの実装に固有の決定が必要であり、これらの具体的な目標は実装および開発者ごとに異なることに留意されたい。そのような開発努力は、複雑で時間を要するものであるが、本開示の利益を享受し得る当業者にとってはエンジニアリングの日常の業務であると理解されたい。
さらに、本明細書で使用される用語または表現は、説明のためであり、限定するものではない。したがって、本明細書の用語また表現は、関連技術の熟練の知識と組み合わせて、本明細書に示される教示および指針に照らして当業者に解釈されるものであると理解されたい。さらに、明示的な記載がない限り、本明細書または特許請求の範囲におけるいずれの用語に対しても、珍しいまたは特別な意味を帰することは意図されていない。
本明細書において開示する様々な態様は、説明を介して本明細書で言及される既知のモジュールの、現在および将来の既知の等価物を包含する。さらに、態様および適用を示し、説明しているが、本開示の利益を享受する当業者には、本明細書に開示された発明の概念から逸脱することなく、上述よりも多くの変更が可能であることは明らかであろう。

Claims (18)

  1. クライアントデバイスとサーバとの間において重大データを送信するためのコンピュータ実装方法であって、
    前記サーバへ送信されることになっている第1のデータ構造を、少なくとも、重大データを含む第1のデータ下部構造と、重大データを含まない第2のデータ下部構造とに、前記クライアントデバイスで分割する工程であって、前記重大データは、前記第1のデータ下部構造に一緒に保存されており、前記クライアントデバイスが位置する管轄区域の法律によって、収集、保存、アクセス、普及、および処理に関して規制されている複数の個人データの項目および関連するデータの項目を含む、工程と、
    データの重大性が、少なくとも部分的に、前記第1のデータ下部構造に一緒に保存されている少なくとも2つの個人データの項目および関連するデータの項目を見つけることに基づいている場合、前記重大データを含む前記第1のデータ下部構造を、少なくとも、第3のデータ下部構造と第4のデータ下部構造とに分割し、少なくとも2つの前記個人データの項目のうちの1つを前記第3のデータ下部構造に置き、少なくとも2つの前記個人データの項目のうちのもう1つを前記第4のデータ下部構造に置く工程と、
    少なくとも前記第3のデータ下部構造と前記第4のデータ下部構造を、再結合することなく、変換を実行するように構成されている匿名化モジュールを有するネットワークノードを介して、前記サーバに送信する工程と、
    重大データを含まない前記第2のデータ下部構造を、前記匿名化モジュールを有する前記ネットワークノードをバイパスして、前記サーバに送信する工程と、
    を含み、
    前記第2のデータ下部構造、前記第3のデータ下部構造および前記第4のデータ下部構造を得た後に、前記サーバで前記第2のデータ下部構造、前記第3のデータ下部構造および前記第4のデータ下部構造を結合して第2のデータ構造を形成し、かつ、
    変更モジュールによって、データの逆変換の可能性なく、前記クライアントデバイスにおいて、前記第3のデータ下部構造および前記第4のデータ下部構造の第1次変換を実施し、前記変更モジュールは、前記サーバまたは前記クライアントデバイスにおいて、逆変換の可能性なく、前記ネットワークノードを通過する前記第3のデータ下部構造および前記第4のデータ下部構造の第2次変換を実施する、方法。
  2. 前記匿名化モジュールを有する前記ネットワークノードは、前記サーバが位置する地域ネットワークとは異なる地域ネットワークに位置し、前記サーバまたは前記クライアントデバイスと同じイントラネット内にない、請求項1に記載の方法。
  3. 前記匿名化モジュールを有する前記ネットワークノードの前記地域ネットワークと前記サーバの前記地域ネットワークとは、異なる管轄区域に位置する、請求項2に記載の方法。
  4. 前記ネットワークノードの前記匿名化モジュールは、前記第3のデータ下部構造および前記第4のデータ下部構造が前記ネットワークノードを通過する際に、各データ下部構造を連続して変換するように構成されている、請求項1に記載の方法。
  5. 前記第3のデータ下部構造および前記第4のデータ下部構造のオリジナルコピーおよび変換された前記第3のデータ下部構造および前記第4のデータ下部構造を、前記変換の後に前記ネットワークノードには保存しない、請求項4に記載の方法。
  6. 前記匿名化モジュールは、暗号化アルゴリズムを使用して各データ下部構造を変換するように構成されている匿名化モジュールである、請求項1に記載の方法。
  7. データを、秘密暗号鍵および公開暗号鍵を使用する非対称暗号化を用いて前記変更モジュールによって変換し、前記非対称暗号化において、前記公開暗号鍵を前記クライアントデバイスに送信し、前記秘密暗号鍵を前記サーバに保存する、請求項1に記載の方法。
  8. クライアントデバイスとサーバとの間において重大データを送信するためのシステムであって、
    第1のデータ構造を保存するように構成されたメモリデバイスと、
    前記メモリデバイスと通信可能に接続されるハードウェアプロセッサと、
    を含み、
    前記ハードウェアプロセッサは、
    前記サーバへ送信されることになっている第1のデータ構造を、少なくとも、重大データを含む第1のデータ下部構造と、重大データを含まない第2のデータ下部構造とに分割し、前記重大データは、前記第1のデータ下部構造に一緒に保存されており、前記クライアントデバイスが位置する管轄区域の法律によって、収集、保存、アクセス、普及、および処理に関して規制されている複数の個人データの項目および関連するデータの項目を含み、
    データの重大性が、少なくとも部分的に、前記第1のデータ下部構造に一緒に保存されている少なくとも2つの個人データの項目および関連するデータの項目を見つけることに基づいている場合、前記重大データを含む前記第1のデータ下部構造を、少なくとも、第3のデータ下部構造と第4のデータ下部構造とに分割し、少なくとも2つの前記個人データの項目のうちの1つを前記第3のデータ下部構造に置き、少なくとも2つの前記個人データの項目のうちのもう1つを前記第4のデータ下部構造に置き、
    少なくとも前記第3のデータ下部構造と前記第4のデータ下部構造を、再結合することなく、変換を実行するように構成されている匿名化モジュールを有するネットワークノードを介して、前記サーバに送信し、かつ、
    重大データを含まない前記第2のデータ下部構造を、前記匿名化モジュールを有する前記ネットワークノードをバイパスして、前記サーバに送信する、
    ように構成されており、
    前記第2のデータ下部構造、前記第3のデータ下部構造および前記第4のデータ下部構造を得た後に、前記サーバで前記第2のデータ下部構造、前記第3のデータ下部構造および前記第4のデータ下部構造が結合されて第2のデータ構造が形成され、かつ、
    変更モジュールによって、データの逆変換の可能性なく、前記クライアントデバイスにおいて前記第3のデータ下部構造および前記第4のデータ下部構造の第1次変換を実施し、前記変更モジュールは、前記サーバまたは前記クライアントデバイスにおいて、逆変換の可能性なく、前記ネットワークノードを通過する前記第3のデータ下部構造および前記第4のデータ下部構造の第2次変換を実施する、
    システム。
  9. 前記匿名化モジュールを有する前記ネットワークノードは、前記サーバが位置する地域ネットワークとは異なる地域ネットワークに位置し、前記サーバまたは前記クライアントデバイスと同じイントラネット内にない、請求項8に記載のシステム。
  10. 前記匿名化モジュールを有する前記ネットワークノードの前記地域ネットワークと前記サーバの前記地域ネットワークとは、異なる管轄区域に位置する、請求項9に記載のシステム。
  11. 前記ネットワークノードの前記匿名化モジュールは、前記第3のデータ下部構造および前記第4のデータ下部構造が前記ネットワークノードを通過する際に、各データ下部構造を連続して変換するように構成されている、請求項8に記載のシステム。
  12. 前記第3のデータ下部構造および前記第4のデータ下部構造のオリジナルコピーおよび変換された前記第3のデータ下部構造および前記第4のデータ下部構造を、前記変換の後に前記ネットワークノードには保存しない、請求項11に記載のシステム。
  13. 前記匿名化モジュールは、暗号化アルゴリズムを使用してデータ下部構造を変換するように構成されている匿名化モジュールである、請求項8に記載のシステム。
  14. データを、秘密暗号鍵および公開暗号鍵を使用する非対称暗号化を用いて前記変更モジュールによって変換し、前記非対称暗号化において、前記公開暗号鍵を前記クライアントデバイスに送信し、前記秘密暗号鍵を前記サーバに保存する、請求項8に記載のシステム。
  15. クライアントデバイスとサーバとの間において重大データを送信するためのコンピュータ実行可能命令を含む非一時的なコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、
    前記クライアントデバイスにおいて、前記サーバへ送信されることになっている第1のデータ構造を、少なくとも、重大データを含む第1のデータ下部構造と、重大データを含まない第2のデータ下部構造とに分割し、前記重大データは、前記第1のデータ下部構造に一緒に保存されており、前記クライアントデバイスが位置する管轄区域の法律によって、収集、保存、アクセス、普及、および処理に関して規制されている複数の個人データの項目および関連するデータの項目を含み、
    データの重大性が、少なくとも部分的に、前記第1のデータ下部構造に一緒に保存されている少なくとも2つの個人データの項目および関連するデータの項目を見つけることに基づいている場合、前記重大データを含む前記第1のデータ下部構造を、少なくとも、第3のデータ下部構造と第4のデータ下部構造とに分割し、少なくとも2つの前記個人データの項目のうちの1つを前記第3のデータ下部構造に置き、少なくとも2つの前記個人データの項目のうちのもう1つを前記第4のデータ下部構造に置き、
    少なくとも前記第3のデータ下部構造と前記第4のデータ下部構造を、再結合することなく、変換を実行するように構成されている匿名化モジュールを有するネットワークノードを介して、前記サーバに送信し、かつ、
    重大データを含まない前記第2のデータ下部構造を、前記匿名化モジュールを有する前記ネットワークノードをバイパスして、前記サーバに送信する、
    ための命令を含み、
    前記第2のデータ下部構造、前記第3のデータ下部構造および前記第4のデータ下部構造を得た後に、前記サーバで前記第2のデータ下部構造、前記第3のデータ下部構造および前記第4のデータ下部構造を結合して第2のデータ構造を形成し、かつ、
    変更モジュールによって、データの逆変換の可能性なく、前記クライアントデバイスにおいて前記第3のデータ下部構造および前記第4のデータ下部構造の第1次変換を実施し、前記変更モジュールは、前記サーバまたは前記クライアントデバイスにおいて、逆変換の可能性なく、前記ネットワークノードを通過する前記第3のデータ下部構造および前記第4のデータ下部構造の第2次変換を実施する、
    非一時的なコンピュータ可読媒体。
  16. 前記匿名化モジュールを有する前記ネットワークノードは、前記サーバが位置する地域ネットワークとは異なる地域ネットワークに位置し、前記サーバまたは前記クライアントデバイスと同じイントラネット内になく、前記匿名化モジュールを有する前記ネットワークノードの前記地域ネットワークと前記サーバの前記地域ネットワークとは、異なる管轄区域に位置する、請求項15に記載の非一時的なコンピュータ可読媒体。
  17. 前記ネットワークノードの前記匿名化モジュールは、前記第3のデータ下部構造および前記第4のデータ下部構造が前記ネットワークノードを通過する際に、各データ下部構造を連続して変換するように構成されており、前記第3のデータ下部構造および前記第4のデータ下部構造のオリジナルコピーおよび変換された前記第3のデータ下部構造および前記第4のデータ下部構造を、前記変換の後に前記ネットワークノードには保存しない、請求項15に記載の非一時的なコンピュータ可読媒体。
  18. データを、秘密暗号鍵および公開暗号鍵を使用する非対称暗号化を用いて前記変更モジュールによって変換し、前記非対称暗号化において、前記公開暗号鍵を前記クライアントデバイスに送信し、前記秘密暗号鍵を前記サーバに保存する、請求項15に記載の非一時的なコンピュータ可読媒体。
JP2020016861A 2019-03-29 2020-02-04 機密データを送信するシステムおよび方法 Active JP7629271B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2019109171 2019-03-29
RU2019109171A RU2728503C1 (ru) 2019-03-29 2019-03-29 Способ передачи конфиденциальных данных
US16/547,114 US11297166B2 (en) 2019-03-29 2019-08-21 System and method of transmitting confidential data
US16/547,114 2019-08-21

Publications (2)

Publication Number Publication Date
JP2020173783A JP2020173783A (ja) 2020-10-22
JP7629271B2 true JP7629271B2 (ja) 2025-02-13

Family

ID=72086049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020016861A Active JP7629271B2 (ja) 2019-03-29 2020-02-04 機密データを送信するシステムおよび方法

Country Status (4)

Country Link
US (2) US11297166B2 (ja)
JP (1) JP7629271B2 (ja)
CN (2) CN111756684B (ja)
RU (1) RU2728503C1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2696240C1 (ru) * 2018-03-30 2019-07-31 Акционерное общество "Лаборатория Касперского" Способ анонимного обмена данными в клиент-серверной архитектуре
US11647041B2 (en) * 2019-04-08 2023-05-09 United States Of America As Represented By The Secretary Of The Air Force System and method for privacy preservation in cyber threat
US11201741B2 (en) * 2020-03-03 2021-12-14 The Prudential Insurance Company Of America System for improving data security

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034209A (ja) 2009-07-30 2011-02-17 Nec Soft Ltd データセキュリティシステム及び方法、データセキュリティシステムの端末
US20160134595A1 (en) 2013-12-10 2016-05-12 Progress Software Corporation Semantic Obfuscation of Data in Real Time

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601598B2 (en) * 2006-09-29 2013-12-03 Microsoft Corporation Off-premise encryption of data storage
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US9722973B1 (en) * 2011-03-08 2017-08-01 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8930381B2 (en) * 2011-04-07 2015-01-06 Infosys Limited Methods and systems for runtime data anonymization
US9021135B2 (en) 2011-04-27 2015-04-28 Perspecsys Corp. System and method for tokenization of data for storage in a cloud
EP2697943B1 (en) * 2011-05-27 2019-10-30 Hewlett-Packard Enterprise Development LP Transaction gateway
EP2761804B1 (en) * 2011-09-30 2019-07-24 eBay Inc. Differential client-side encryption of information originating from a client
US9602472B2 (en) * 2012-06-15 2017-03-21 Alcatel Lucent Methods and systems for privacy protection of network end users including profile slicing
US9665722B2 (en) * 2012-08-10 2017-05-30 Visa International Service Association Privacy firewall
US9137222B2 (en) 2012-10-31 2015-09-15 Vmware, Inc. Crypto proxy for cloud storage services
US20150088752A1 (en) * 2013-09-20 2015-03-26 Mastercard International Incorporated Methods, apparatus, systems and computer readable mediums for anonymized identification of payment card accounts belonging to a same entity
US10043035B2 (en) * 2013-11-01 2018-08-07 Anonos Inc. Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments
US11030341B2 (en) * 2013-11-01 2021-06-08 Anonos Inc. Systems and methods for enforcing privacy-respectful, trusted communications
CN103780622B (zh) * 2014-01-24 2016-09-28 华中科技大学 一种面向云存储的数据分类加密方法
US9819650B2 (en) * 2014-07-22 2017-11-14 Nanthealth, Inc. Homomorphic encryption in a healthcare network environment, system and methods
EP3256981B1 (en) * 2015-01-14 2021-03-03 Hewlett-Packard Enterprise Development LP System, apparatus and method for anonymizing data prior to threat detection analysis
US10454901B2 (en) * 2016-01-19 2019-10-22 Datavant, Inc. Systems and methods for enabling data de-identification and anonymous data linkage
US10609065B2 (en) * 2016-08-30 2020-03-31 Kivu Consulting, Inc. Systems and methods for identifying and mapping sensitive data on an enterprise
EP3293933A1 (en) * 2016-09-09 2018-03-14 Koninklijke KPN N.V. Communication content protection
EP3779758B1 (en) 2019-03-29 2023-11-08 AO Kaspersky Lab System and method for anonymously transmitting data in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034209A (ja) 2009-07-30 2011-02-17 Nec Soft Ltd データセキュリティシステム及び方法、データセキュリティシステムの端末
US20160134595A1 (en) 2013-12-10 2016-05-12 Progress Software Corporation Semantic Obfuscation of Data in Real Time

Also Published As

Publication number Publication date
CN111756684A (zh) 2020-10-09
RU2728503C1 (ru) 2020-07-29
US20200314215A1 (en) 2020-10-01
CN111756684B (zh) 2022-10-14
US11297166B2 (en) 2022-04-05
JP2020173783A (ja) 2020-10-22
CN112134882A (zh) 2020-12-25
US11394764B2 (en) 2022-07-19
US20210006641A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
US10771240B2 (en) Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
US10318762B1 (en) Third-party platform for tokenization and detokenization of network packet data
US12400036B2 (en) Facilitating entity resolution, keying, and search match without transmitting personally identifiable information in the clear
US20180285591A1 (en) Document redaction with data isolation
US10986068B2 (en) System and method for routing data when executing queries
US11397833B2 (en) System and method for anonymously collecting malware related data from client devices
JP7629271B2 (ja) 機密データを送信するシステムおよび方法
EP3547733B1 (en) System and method for anonymous data exchange between server and client
EP3779758B1 (en) System and method for anonymously transmitting data in a network
CN110324298B (zh) 用于在执行查询时路由数据的系统、方法和介质
EP3971752B1 (en) System and method for anonymously collecting malware related data from client devices
EP3547638B1 (en) System and method of routing data during statistics collection
EP3757845B1 (en) Systems and methods for anonymous and consistent data routing in a client-server architecture
CN114254311A (zh) 从客户端设备匿名收集与恶意软件相关的数据的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240123

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250131

R150 Certificate of patent or registration of utility model

Ref document number: 7629271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150