JP2017092929A - フォーマット維持ベースマスキングシステムおよび方法 - Google Patents

フォーマット維持ベースマスキングシステムおよび方法 Download PDF

Info

Publication number
JP2017092929A
JP2017092929A JP2016040905A JP2016040905A JP2017092929A JP 2017092929 A JP2017092929 A JP 2017092929A JP 2016040905 A JP2016040905 A JP 2016040905A JP 2016040905 A JP2016040905 A JP 2016040905A JP 2017092929 A JP2017092929 A JP 2017092929A
Authority
JP
Japan
Prior art keywords
characters
character
maskable
sets
dynamic map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016040905A
Other languages
English (en)
Other versions
JP6239661B2 (ja
Inventor
ラヴィンドラ シーティ ニーシャ
Ravindra Shetty Nisha
ラヴィンドラ シーティ ニーシャ
ロイ アシム
Roy Ashim
ロイ アシム
クルシュナ ゴーデスワー ラウール
Krushna Ghodeswar Rahul
クルシュナ ゴーデスワー ラウール
サクハラム マンドゥペ アシュヴィニ
Sakharam Mandpe Ashvini
サクハラム マンドゥペ アシュヴィニ
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.)
Tata Consultancy Services Ltd
Original Assignee
Tata Consultancy Services Ltd
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 Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of JP2017092929A publication Critical patent/JP2017092929A/ja
Application granted granted Critical
Publication of JP6239661B2 publication Critical patent/JP6239661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/04Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
    • 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/04Masking or blinding
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】フォーマットを維持し、データをマスキングするフォーマット維持ベースマスキングシステムおよび方法を提供する。【解決手段】複数の字の第1のセットと、プライベートキーとを取得し、第1のセットおよびプライベートキーを用いて、複数の字の第1のセットを暗号化し、複数の暗号化済みの字のリストを取得する。複数の暗号化済みの字のリストは、複数の暗号化済みの字のセットを含む。複数の暗号化済みの字に基づいて、動的マップを作成する。動的マップは、1つ以上のキーを含み、キーのそれぞれは、複数の字の第1のセット内の字に対して特有である。動的マップを用いて、複数の字の第2のセット内の複数のマスキング可能な字のそれぞれの位置を算出する。動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行する。【選択図】図2

Description

関連出願への相互参照および優先権
本出願は、2015年11月7日出願のインド国特許出願第4244/MUM/2015号に基づく優先権を主張し、該インド国特許出願の開示内容の全てが、参照によりここに組み込まれる。
本発明は、一般に、情報プライバシーシステムに関し、より具体的には、フォーマット維持ベースマスキングシステムおよび方法(format preservation based masking system and method)に関する。
複数の組織が、非生産環境(non-production environment)において、ある目的をテストするために、意図せず、製品データを共有してしまうことがある。これは、データブリーチ(data breach:セキュアに管理すべきデータが漏洩してしまうこと)のリスクを増大させることになる。極秘データ(sensitive data)のマスキングは、複数の組織がデータプライバシー規則を順守するために導入する発見的問題解決(heuristic)アプローチである。現在のデータマスキングツールは、高いデータ有用性(data utility)を維持し、さらに、顧客の極秘データの非開示を維持する非生産環境におけるデータ共有のために、複数の組織によって用いられている。これらのツールは、極秘データをマスキングし、いくつかのデータプライバシー予想(data privacy expectations)を満たすことができる様々なマスキング技術を提供している。しかしながら、これらのツールは、オリジナルデータを置き換えるための所定の静的ルックアップ(static lookup)を用いることにより、データをマスキングする。このような技術(またはツール)を用いると、オリジナルデータを容易に復元(または解読)することができるため、有用性およびプライバシーへの不正アクセスに繋がる脆弱なセキュリティになってしまう。さらに、既存の方法では、データを特定の範囲内で特定する必要がある。
さらに、既存の方法は、オリジナルおよびマスキングされたデータマッピングの物理ルックアップに対して作用する。これは、提供可能(presentable)かつ安全なフォーマットでのデータの生成、更新、および処理の観点から、より多くのディスクスペースおよびより多くの時間を消費する演算システムを必要とする。そのため、データのフォーマットを破壊することなく、企業レベルでのデータ共有の整合性(consistency)を維持することが課題となっている。
以下の記述は、本発明の基本的な理解を提供するために、本発明のいくつかの実施形態の簡略化された概要を提供する。この概要は、実施形態の詳細な概観ではない。本概要は、本発明の重要/決定的な要素を特定、または本発明の範囲を正確に記述するよう意図されたものではない。本概要の唯一つの目的は、以下に提供されるより詳細な記述の前置きとして、簡略化された形式で、いくつかの実施形態を提供することにある。
上述の事項を参照し、実施形態の1つにおいて、フォーマット維持ベースマスキングシステムが提供される。フォーマット維持ベースマスキングシステムは、複数の命令を保存しているメモリーと、該メモリーに接続されたハードウェアプロセッサーとを含む。ハードウェアプロセッサーは、複数の命令によって、ユーザーから、複数の字(letters)の入力セットおよびプライベートキーを取得する工程と、複数の字のセットおよびプライベートキーを用いて、複数の字のセットを暗号化し、複数の暗号化済みの字のリストを取得する工程と、複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いてマスキングされる複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行するよう構成されている。ここで、複数の暗号化済みの字のリストは、複数の暗号化済みの字のセットを含み、動的マップは、複数のキーのセットを含む。また、複数のキーのそれぞれは、複数の字のセット内の字にそれぞれ特有(specific:特有、固有、一意的)である。
複数の字のセットおよび複数の字の入力セットは、文字(characters)、数字、および記号の少なくとも1つを含む。さらに、複数の字のセットおよび複数の字の入力セットは、1つ以上の言語から選択される。複数の字の入力セットが1つ以上の数字を含む場合、ハードウェアプロセッサーは、さらに、複数の命令によって、1つ以上の数字の最重要ビット(MSB:Most Significant Bit)マップを作成する工程と、動的マップおよびMSBマップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップおよびMSBマップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行するよう構成されている。
さらに、ハードウェアプロセッサーは、複数の命令によって、複数の暗号化済みの字のリスト内の複数の字の順番を判別する工程と、複数の字の順番から、複数の暗号化済みの字のリストをソートし、ソートされた複数の暗号化済みの字のリストを取得する工程と、ソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いてマスキングされる複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行するよう構成されている。ここで、動的マップは、複数のキーのセットと、複数の値を含み、複数のキーのそれぞれは、複数の字のセット内の少なくとも1つの字に特有であり、複数の値のそれぞれは、複数の字のセットからマスキングされる1つ以上の置換された字を含む。さらに、動的マップは、複数の字のセット内のそれぞれの字用のマスキングされ、置換された字を示すインデックスを含む。
1つ以上の数字が特定の範囲を示す場合、1つ以上の数字を含む複数のマスキング可能な字は、特定の範囲内においてマスキングされる。
別の様態において、コンピューター実施のフォーマット維持ベースマスキング方法が提供される。該方法は、ユーザーから、複数の字の入力セットおよびプライベートキーを取得する工程と、複数の字のセットおよびプライベートキーを用いて、複数の字のセットを暗号化し、複数の暗号化済みの字のセットを含む複数の暗号化済みの字のリストを取得する工程と、複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いてマスキングされる複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を含む。ここで、動的マップは、複数のキーのセットを含み、複数のキーのそれぞれは、複数の字のセット内の字に特有である。
複数の字のセットおよび複数の字の入力セットは、文字、数字、および記号の少なくとも1つを含む。さらに、複数の字のセットおよび複数の字の入力セットは、1つ以上の言語から選択される。
複数の字の入力セットが1つ以上の数字を含む場合、該方法は、1つ以上の数字の最重要ビット(MSB)マップを作成する工程と、動的マップおよびMSBマップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップおよびMSBマップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を含む。
該方法は、複数の暗号化済みの字のリスト内の複数の字の順番を判別する工程と、複数の字の順番から、複数の暗号化済みの字のリストをソート(sort)し、ソートされた複数の暗号化済みの字のリストを取得する工程と、ソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いてマスキングされる複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を含む。ここで、動的マップは、複数のキーのセットと、複数の値とを含み、複数のキーのそれぞれは、複数の字のセット内の少なくとも1つの字に特有であり、複数の値のそれぞれは、複数の字のセットからマスキングされる1つ以上の再配置された字を含む。
さらに別の様態において、1つ以上の命令を含む非一時的マシーン可読情報記憶媒体(non-transitory machine readable information storage medium)が提供される。1つ以上の命令は、1つ以上のハードウェアプロセッサーによって実行されたとき、ユーザーから、複数の字の入力セットおよびプライベートキーを取得する工程と、複数の字のセットおよびプライベートキーを用いて、複数の字のセットを暗号化し、複数の暗号化済みの字のセットを含む複数の暗号化済みの字のリストを取得する工程と、複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いてマスキングされる複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行させる。ここで、動的マップは、複数のキーのセットを含み、複数のキーのそれぞれは、複数の字のセット内の字に特有である。
複数の字のセットおよび複数の字の入力セットは、文字、数字、および記号の少なくとも1つを含む。さらに、複数の字のセットおよび複数の字の入力セットは、1つ以上の言語から選択される。
複数の字の入力セットが1つ以上の数字を含む場合、1つ以上の命令は、1つ以上のハードウェアプロセッサーによって実行されたとき、1つ以上の数字の最重要ビット(MSB)マップを作成する工程と、動的マップおよびMSBマップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップおよびMSBマップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行させる。
さらに、1つ以上の命令は、1つ以上のハードウェアプロセッサーによって実行されたとき、複数の暗号化済みの字のリスト内の複数の字の順番を判別する工程と、複数の字の順番から、複数の暗号化済みの字のリストをソートし、ソートされた複数の暗号化済みの字のリストを取得する工程と、ソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いてマスキングされる複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行させる。ここで、動的マップは、複数のキーのセットと、複数の値とを含み、複数のキーのそれぞれは、複数の字のセット内の少なくとも1つの字に特有であり、複数の値のそれぞれは、複数の字のセットからマスキングされる1つ以上の再配置された字を含む。さらに、1つ以上の数字が特定の範囲を示す場合、1つ以上の数字を含む複数のマスキング可能な字は、特定の範囲内においてマスキングされる。
本分野における当業者であれば、ここに提供される任意のブロック図が、本発明の原理を具体化する説明のシステムの概念図を表すことを適切に理解できるであろう。同様に、任意のフローチャート、フロー図、状態遷移図、擬似コード等は、コンピューター可読媒体内において実質的に実現され、明示的に図示または図示されない演算デバイスまたはプロセッサーによって実行される様々な処理を表すことは、適切に理解されるであろう。
ここに開示される本発明は、図面を参照した以下の詳細な説明から、より深く理解されるであろう。
図1は、本発明の実施形態に係るフォーマット維持ベースマスキングシステム100のブロック図である。
図2は、本発明の実施形態に係る図1のフォーマット維持ベースマスキングシステムを用いたコンピューター実施のフォーマット維持ベースマスキング方法を示すフロー図である。
図3Aは、本発明の1つ以上の実施形態に係る複数の文字(例えば、所在地住所)を含む複数の字のセットのオリジナルデータおよびマスキングされたデータの例示的な比較図である。
図3Bは、本発明の1つ以上の実施形態に係る特定の範囲内の最低給料のオリジナルデータおよびマスキングされたデータの例示的な図である。
図3Cは、本発明の1つ以上の実施形態に係る特定の範囲内ではない最低給料のオリジナルデータおよびマスキングされたデータの例示的な図である。
図3Dは、本発明の1つ以上の実施形態に係る漢字のオリジナルデータおよびマスキングされたデータの例示的な図である。
図3Eは、本発明の1つ以上の実施形態に係る所定の値でマスキングされる特定の値を示す例外シナリオのオリジナルデータおよびマスキングされたデータの例示的な図である。
本発明、並びに、その様々な特徴および利点の詳細は、添付の図面に示され、以下の詳細な説明において記述される非限定的な実施形態を参照することにより、さらに十分に説明される。ここで用いられる実施例は、本発明を実施可能とし、さらに、本分野における当業者が本発明を実施可能とするような様態での発明の理解を容易とするためにのみ用いられるものである。したがって、実施例は、本発明の範囲の限定として解釈されるべきではない。
用語「含む(comprising)」、「有する(having)」、「含む/含有する(containing)」、「備える(including)」、およびこれらの他の形式は、同等の意味を表すものであり、これらの任意の1つの用語に続く1つまたは複数の項目が含まれるオープンエンドなリストを意味し、これらの1つまたは複数の項目の完全網羅的なリスト(クローズドエンドなリスト)を意味するものではなく、リストされた1つまたは複数の項目にのみ限定されるという意味ではない。
本明細書および添付の特許請求の範囲において用いられる単数形「a」、「an」、および「the」は、文脈が明示的に示していない限り、複数への参照を含むことに留意すべきである。ここに記述されるものと同様または同等の任意のシステムおよび方法は、本発明の実施形態の実施またはテストにおいて使用可能であるが、好適なシステムおよび方法が、以下に記述される。
その全ての特徴が説明される本発明のいくつかの実施形態が、詳細に記述される。開示の実施形態は、様々な形態において実施可能な本発明の例示にすぎない。
詳細な例示を説明する前に、以下の議論の全ては、記述される特定の実施形態に関わらず、限定のためではなく、事実上、説明のためのものであることを留意されたし。
図面、より具体的には図1から図3Eを参照すると、同様の参照記号が、対応する特徴に、全ての図面を通して一貫して付されている。好適な実施形態が示され、これらの実施形態が以下の例示的なシステムおよび/または方法の文脈において記述される。
図1は、本発明の実施形態に係るフォーマット維持ベースマスキングシステムのブロック図を示している。用語「フォーマット維持ベースマスキングシステム」および「システム」は、本明細書において、ほぼ同じ意味で用いられる。フォーマット維持ベースマスキングシステム100は、メモリー102と、ハードウェアプロセッサー104と、入力/出力(I/O)インターフェース106とを含む。さらに、メモリー102は、1つ以上のモジュール108を含む。メモリー102、ハードウェアプロセッサー104、入力/出力(I/O)インターフェース106、および/またはモジュール108は、システムバスまたは同様のメカニズムによって接続されている。
メモリー102は、本発明の機能(または実施形態)を実施するためにコンピューターシステム、例えば、フォーマット維持ベースマスキングシステム100によって用いられる複数の命令、任意の数の情報およびデータを保存している。メモリー102は、例えば、揮発性メモリーおよび/または不揮発性メモリーを含む。揮発性メモリーの例としては、これに限定されるものではないが、揮発性ランダムアクセスメモリー(RAM)が挙げられる。不揮発性メモリーは、追加的または代替的に、電気的消去可能プラグラム可能リードオンリーメモリー(EEPROM)、フラッシュメモリー、ハードドライブ等を含む。揮発性メモリーのいくつかの例としては、これに限定されるものではないが、ランダムアクセスメモリー、ダイナミックランダムアクセスメモリー、スタティックランダムアクセスメモリー等が挙げられる。非揮発性メモリーのいくつかの例としては、これに限定されるものではないが、ハードディスク、磁気テープ、光ディスク、プログラム可能リードオンリーメモリー、消去可能プログラム可能リードオンリーメモリー、電気的消去可能プログラム可能リードオンリーメモリー、フラッシュメモリー等が挙げられる。メモリー102は、フォーマット維持ベースマスキングシステム100が様々な例示的な実施形態に係る様々な機能を実行することを可能とする情報、データ、アプリケーション、命令等を保存するよう構成されている。
追加的または代替的に、メモリー102は、ハードウェアプロセッサー104によって実行されたとき、フォーマット維持ベースマスキングシステム100に、様々な実施形態において記述される方法(例えば、動的マップ作成、データのマスキング、複数の字のリストの暗号化、および複数の暗号化済みの字のリストのソート)を実行させる複数の命令を保存するよう構成されている。メモリー102は、情報、例えば、少なくとも1つの字等を含む情報を保存している。複数の字は、文字(character)、数字、記号、および空白/空欄(whitespace/blank space)の少なくとも1つを含む。文字は、大文字または小文字の少なくとも一方である。複数の字は、1つ以上の言語(例えば、英語、ヒンディー語、カンナダ語、タミル語、テルグ語、中国語、日本語等)を含む。
ハードウェアプロセッサー104は、1つ以上のマイクロプロセッサー、マイクロコンピューター、マイクロコントローラー、デジタル信号プロセッサー、中央演算ユニット(CPU)、状態マシーン、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実施される。さらに、ハードウェアプロセッサー104は、マルチコアアーキテクチャを含んでいてもよい。機能の中でも特に、ハードウェアプロセッサー104は、メモリー102内に保存されている複数のコンピューター可読命令(computer-readable instruction)またはモジュールをフェッチ(fetch:命令コードを読み出すこと)および実行するよう構成されている。ハードウェアプロセッサー104は、特に、通信関連の音声および論理機能を実施する電気回路を含んでいてもよい。例えば、ハードウェアプロセッサー104は、これに限定されるものではないが、1つ以上のデジタル信号プロセッサー(DSPs)、1つ以上のマイクロプロセッサー、1つ以上の特殊用途コンピューターチップ、1つ以上のフィールドプログラマブルゲートアレイ(FPGAs)、1つ以上の特定用途向け集積回路(ASICs)、1つ以上のコンピューター、様々なアナログ−デジタルコンバーター、デジタル−アナログコンバーター、および/またはその他のサポート回路を含む。
また、このハードウェアプロセッサー104は、メッセージおよび/またはデータ、または情報を暗号化(エンコード)する機能を含む。ハードウェアプロセッサー104は、特に、ハードウェアプロセッサー104の動作をサポートするよう構成されたクロック、演算論理ユニット(ALU)、および論理ゲートを含む。さらに、ハードウェアプロセッサー104は、メモリー102またはハードウェアプロセッサー104がアクセス可能な他の媒体内に保存された1つ以上のソフトウェアプログラムを実行する機能を含む。
ハードウェアプロセッサー104は、メモリー102内に保存されている複数の命令によって設定される。複数の命令によって設定されたとき、ハードウェアプロセッサー104は、入力として、複数の字のセットとプライベートキーとを取得する。入力は、1人以上のユーザーから、1つ以上の言語で取得される。入力は、上述のように、1つ以上の入力デバイス(例えば、マルチ言語キーボード)を介した1つ以上の言語からの複数の字の選択を含む。複数の字のセット(以下、「Charset」とも称される)およびプライベートキー(以下、「ユーザーキー」とも称される)は、以下のようなものであるとする。
複数の字のセット={a,b,c,d,e,....x,y,z}
プライベートキー=「Key」
ハードウェアプロセッサー104は、ユーザーから、複数の字の入力セット(例えば、名前、給料、所在地住所等)を受信するよう構成されている。フォーマット維持ベースマスキングシステム100が英文字キーボードを利用する場合(例えば、英語キーボードを用いるクライアントシステムの場合)、複数の字のセットは、任意(オプショナル)である。複数の字のセット(以下、複数の字の第1のセットとも称される)、および複数の字の入力セット(複数の字の第2のセット)が非英語の文字の場合、複数の字のセットおよび複数の字の入力セットは、1つ以上の入力デバイス(例えば、非英語キーボード、または非英語の字を提供可能な任意の仮想キーボード)からの入力として受信される。実施形態の1つにおいて、複数の非英語の字は、メモリー102内に保存されなくてもよい。(1つ以上の言語の)複数の字のセットおよび複数の字の入力セットは、メモリー102内に保存されても、保存されなくてもよい。別の実施形態において、(1つ以上の言語の)複数の字のセットおよび複数の字の入力セットは、リアルタイムまたは準リアルタイム(near real time)で、1つ以上のソース(例えば、クラウド、遠隔サーバー、および/またはサードパーティーソース)から、取得可能となっている。さらに、ハードウェアプロセッサー104は、複数の命令によって設定され、1つ以上の暗号化技術を用いて、複数の字のセット(例えば、複数の字の第1のセット)を暗号化する。ハードウェアプロセッサー104は、プライベートキーをパラメーターの1つとし、複数の字のセットに対し暗号化を実行する。換言すれば、ハードウェアプロセッサー104は、複数の字のセットおよびプライベートキーを用いて、複数の字のセットを暗号化し、複数の暗号化済みの字のリストを取得する。複数の暗号化済みの字のリストは、以下の表1に示すような複数の暗号化済みの字のセットを含む。
表1
Figure 2017092929
暗号化の後、ハードウェアプロセッサー104は、リストがソートされた複数の暗号化済みの字のセットを含んでいるか否かをチェックする。複数の暗号化済みの字のセットを含む複数の暗号化済みの字のリストが特定の順番(例えば、昇順)でソートされていることが判明した場合、ハードウェアプロセッサー104は、ソートを実行せずに、複数の暗号化済みの字のセットに基づいて、動的マップを作成する。動的マップは、複数のキーのセットを含む。ここで、複数のキーのそれぞれは、複数の字のセット内の字に特有である。
複数の暗号化済みの字のセットを含む複数の暗号化済みの字のリストが、別の特定の順番(例えば、許容できない順番)で並んでいると判明した場合、ハードウェアプロセッサー104は、複数の暗号化済みの字のセット(例えば、ソートされていない複数の暗号化済みの字)をソートし、フォーマット維持ベースマスキングシステム100が以下の表2に示すようなソートされた複数の暗号化済みの字のリストを出力できるようにする。
表2
Figure 2017092929
(必要であれば)ソートを実行した後、ハードウェアプロセッサー104は、その後、以下の表3に示すような動的マップを作成する。
表3
Figure 2017092929
フォーマット維持ベースマスキングシステム100がソートされた複数の暗号化済みの字のリストを出力したとき、ソートされた複数の暗号化済みの字のリストを用いて作成された動的マップは、複数のキーのセットと、複数の値とを含む。複数の値のそれぞれは、複数の字のセットからマスキングされる1つ以上の再配置された字を含む。作成された動的マップは、プライベートキーに変化があった場合、異なったものとなる。さらに、ハードウェアプロセッサー104は、動的マップを用いて、複数の字の入力セット(例えば、これに限定されるものではないが、名前、給料、所在地住所等の複数の字の第2のセット)内の複数のマスキング可能な字のそれぞれの位置を算出し、さらに、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得するよう構成されている。例えば、プライベートキー=「My key」の場合、マスキングされたデータは、以下の表4に示すようなものである。
表4
Figure 2017092929
さらに、上述のように、生成された動的マップは、プライベートキーに変化があった場合、異なったものとなる。例えば、プライベートキーが「New Key」である場合、マスキングされたデータは、以下の表5に示すようなものである。
表5
Figure 2017092929
上記の表4および表5からわかるように、フォーマットの、またはオリジナルの複数の字(複数の文字)は、データがマスクキングされたときでも、維持される。動的マップは、上記の表からわかるように、複数の字のセット内のそれぞれの字用にマスキングされ、置換された字を示すインデックスを含んでいる。また、入力が複数の数字(数字のみ、または、文字と記号との組み合わせ)を含む場合の課題が残っている。
また、本発明の実施形態は、ユニークなマスキングされた数値を生成し、上述のアプローチにおける主要な課題の1つを解決する。1つ以上の数字を含む複数の字のセットを想定すると、ハードウェアプロセッサー104は、1つ以上の数字の非最重要ビット(非MSB:Non-Most Significant Bit)マップを作成し、さらに、非MSBマップ(および、入力が文字と数字の双方を含む場合には、既に生成されている動的マップ)を用いて、複数の暗号化済みの字のリスト内の複数のマスキング可能な字(この場合には、複数のマスキング可能な数字)のそれぞれの位置を算出する。複数の暗号化済みの字は、暗号化されている複数の字のセットおよび1つ以上の数字を含む。その後、ハードウェアプロセッサー104は、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字(または数字)のマスキングを実行し、マスキングされたデータを取得する。プライベートキー=「Key」である場合、1つ以上の数字(入力として取得されたもの)のマスキングされたデータの図示の例は、以下の表6(非MSBマップテーブル6)に示すようなものとなる。
表6
Figure 2017092929
非MSBマップに基づき、マスキングされた値は、以下の表7に示すようなものとなる。
表7
Figure 2017092929
ハードウェアプロセッサー104(または、フォーマット維持ベースマスキングシステム100)は、数字データタイプのデータの最重要ビット(MSB)マップを作成する。このMSBマップは、非ゼロ(non-zero)の数字にのみ生成される。これにより、その一意性(uniqueness)を損なうことなく、一貫したデータ(consistent data)を取得および保証することができる。例えば、プライベートキー=「Key」の場合、MSBマップは、以下の表8(MSBマップテーブル8)に示すようなものとなる。
表8
Figure 2017092929
表6および表8に基づき、マスキングされた値のマップは、以下の表9に示すようなものとなる。
表9
Figure 2017092929
表4から、動的マップを用いた場合であっても、マスキングされた値の作成がセキュア(安全)であることがわかる。しかしながら、ユーザーが特定のキー値のマップ情報を理解している場合、マスキングされたデータからオリジナルデータを突き止めることは依然として可能である。そのため、データマスキングをより安全で、データ一貫性のあるものとするため、任意のデータの最終的なマスキングされた出力は、データ内の個々の字(文字、数字、または記号)の位置に応じたものとなる。
ここに説明される本発明の実施形態のより深い理解のため、動的マップ作成の例が記述される。動的マップ(A〜Z、a〜z、0〜9、ユーザー入力数値およびアルファベット)が形成される。ここで、キーは、オリジナルの文字であり、一方、値は、ソートされたマスキング済みアレイ内のマスキングされた文字のリストインデックス(list-index)と、ソートされたマスキング済みアレイポインター(sorted masked array pointer)とを含む。同時に、マップが形成され、該マップの形成では、キーは、ソートされたマスキング済みアレイポインターであり、値は、ソートされたマスキング済みアレイである。多言語文字のマスキングは、ユーザーに、複数の非英語の文字と、[0〜9]以外の複数の数字とを取り込む選択肢を提供する事によって実行される。これらの文字は、取り込まれた後、動的マップ形成と同じ手順を経る。さらに、入力データのマスキングされた値は、このマップと、このマップ内の個々の文字の位置に応じたものとなる。
代替的に、フォーマット維持ベースマスキングシステム100は、入力処理モジュールを含む複数のモジュールを実行してもよい。入力処理モジュールは、ハードウェアプロセッサー104によって実行されたとき、(ユーザーが複数の字を、1つ以上の入力デバイス、例えば、キーボードを用いて入力することによって)複数の字のセットと、プライベートキーとを取得し、暗号化のために処理する。フォーマット維持ベースマスキングシステム100は、暗号化モジュールを含む複数のモジュールを実行する。暗号化モジュールは、ハードウェアプロセッサー104によって実行されたとき、複数の字およびプライベートキーを用いて、複数の字を暗号化し、複数の暗号化済みの字のリストを取得する。フォーマット維持ベースマスキングシステム100は、マップ作成モジュールを含む複数のモジュールを実行する。マップ作成モジュールは、ハードウェアプロセッサー104によって実行されたとき、複数の暗号化済みの字のセットに基づいて、動的マップを作成する。フォーマット維持ベースマスキングシステム100は、位置算出モジュールを含む複数のモジュールを実行する。位置算出モジュールは、ハードウェアプロセッサー104によって実行されたとき、動的マップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する。
フォーマット維持ベースマスキングシステム100は、マスキングモジュールを含む複数のモジュールを実行する。マスキングモジュールは、ハードウェアプロセッサー104によって実行されたとき、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する。フォーマット維持ベースマスキングシステム100は、ソートモジュールを含む複数のモジュールを実行する。ソートモジュールは、ハードウェアプロセッサー104によって実行されたとき、複数の暗号化済みの字のリスト内の複数の字の順番を判別し、複数の字の順番から、複数の暗号化済みの字のリストをソートし、ソートされた複数の暗号化済みの字のリストを取得する。これにより、マップ作成モジュールがソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成することが可能となる。ソートされた複数の暗号化済みの字のリストを用いて作成された動的マップは、複数のキーのセットと、複数の値とを含む。複数の値のそれぞれは、複数の字のセットからマスキングされる1つ以上の再配置された字を含む。
その後、位置算出モジュールは、動的マップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する。さらに、マスキングモジュールは、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する。複数の字が複数の数字を含む場合、マップ作成モジュールは、1つ以上の数字の最重要ビット(MSB)マップを作成する。これにより、位置算出モジュールが、動的マップおよびMSBマップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出することが可能となる。その後、マスキングモジュールは、動的マップおよびMSBマップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する。
複数のモジュール(例えば、入力処理モジュール、暗号化モジュール、マップ生成モジュール、位置算出モジュール、マスキングモジュール、およびソートモジュール)は、ソフトウェアプログラムの論理的自己完結型の部分(a logically self-contained part of a software program)、自己完結型のハードウェアコンポーネント、および/または、ソフトウェアプログラムの論理的自己完結型の部分がハードウェアコンポーネント内に実装され、実行されたとき、任意の実施形態において説明された上述の方法を実行する自己完結型のハードウェアコンポーネントの少なくとも1つとして実施することができる。
図1に関連する図2は、本発明の実施形態に係る図1のフォーマット維持ベースマスキングシステム100を用いたコンピューター実施のフォーマット維持ベースマスキング方法を図示するフロー図である。工程202において、複数の字のセットおよびプライベートキーが、(例えば、ユーザーから)取得される。複数の字の入力セット(例えば、名前、住所、国名等)は、複数の字のセット(例えば、a、b、c、d、e、....x、y、z)とは別に、追加的に受信される。フォーマット維持ベースマスキングシステム100が英文字キーボードを利用する場合(例えば、英語キーボードを用いたクライアントシステムである場合)、複数の字のセットは、任意(オプショナル)である。複数の非英語の文字の場合、複数の字のセットは、原則的に、入力として受信される。ここで、複数の非英語の文字は、メモリー102内に保存されない。しかしながら、(1つ以上の言語の)複数の字のセットは、メモリー102内に保存されてもよく、または、(1つ以上の言語の)複数の字のセットは、リアルタイムまたは準リアルタイムで、1つ以上のソース(例えば、クラウド、遠隔サーバー、および/またはサードパーティーソース)から取得されてもよい。工程204において、複数の字のセットが、複数の字のセットおよびプライベートキーを用いて暗号化され、複数の暗号化済みの字のリストが取得される。複数の暗号化済みの字のリストは、複数の暗号化済みの字のセットを含む。
工程206において、複数の暗号化済みの字のリスト内の複数の暗号化済みの字のセットに基づいて(または、複数の暗号化済みの字のセットを用いて)、動的マップが作成される。動的マップは、複数のキーのセットを含む。ここで、複数のキーのそれぞれは、複数の字のセット内の字(例えば、文字)に特有である。工程208において、複数の字の入力セット内のマスキング可能な字のそれぞれの位置が、動的マップを用いて、算出される。
工程210において、複数のマスキング可能な字のそれぞれの位置および動的マップに基づいて(または、複数のマスキング可能な字のそれぞれの位置および動的マップを用いて)、複数のマスキング可能な字のマスキングが実行され、マスキングされたデータが取得される。上述のように、複数の字が複数の数字を含む場合、フォーマット維持ベースマスキングシステム102は、MSBマップを生成する。換言すれば、本方法は、複数の数字の最重要ビット(MSB)マップを生成する工程と、動的マップおよびMSBマップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップおよびMSBマップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程とを含む。
さらに、本方法は、複数の暗号化済みの字のリスト内の複数の字の順番を判別する工程と、複数の字の順番から、複数の暗号化済み字のリストをソートし、ソートされた複数の暗号化済みの字のリストを取得する工程と、ソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、動的マップを用いて、複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、動的マップを用い、複数のマスキング可能な字のそれぞれの位置に基づいて、複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程とを含む。ここで、動的マップは、複数のキーのセットと、複数の値とを含んでおり、複数のキーのそれぞれは、複数の字のセット内の少なくとも1つの字に特有であり、複数の値のそれぞれは、複数の字のセットからマスキングされる1つ以上の置換された字を含む。1つ以上の数字が、特定の範囲を示す場合、1つ以上の数字を含む複数のマスキング可能な字は、特定の範囲内でマスキングされる。
本実施形態のより深い理解のため、以下の実施例を用いて、提案の方法が説明される。
複数の字のセットの動的マップが形成される。オリジナル入力データである複数の字A〜Z、a〜z、0〜9、ユーザー入力数字、およびアルファベットを想定する。上述のように、ここでは、キーは、オリジナルの文字であり、一方、値は、ソートされたマスキング済みアレイ内のマスキング済みの字のリストインデックスと、ソートされたマスキング済みアレイポインターとを含む。同時に、マップが形成される。マップにおいて、キーは、ソートされたマスキング済みアレイポインターであり、値は、ソートされたマスキング済みアレイである。動的マップを作成したのと同様の方法で、複数の数字(ゼロ以外の数)のMSBマップが形成される。複数のマスキング可能な文字(動的マップ内に存在する複数の文字)の数と、オリジナル入力データ内の第1のマスキング可能な文字のインデックスとが算出される。これらの値は、オリジナルデータのフォーマットを維持するために後に必要とされる。第1のマスキング可能な文字が数字である場合、その後、マスキングされる。この文字がゼロである場合、その後、マスキングされない。すなわち、非ゼロの文字に到達するまで(非ゼロの文字が特定されるまで)、先行するゼロ(preceding zeros)の全ては、ゼロのまま維持される。例えば、1234567890は、上述のように、2143658709にマスキングされる。同様に、123−456−7890は、特殊文字「−」が存在していないものとして、214−365−8709にマスキングされる。動的マップ内において、マスキングの間、特殊文字「−」は無視される。
実施例を参照して、任意の所与の文字の最終的なマスキング済み値が説明される。
実施例:123−ABC−pqr
Figure 2017092929
第1のマスキング可能な文字に、複数のマスキング可能な文字の合計数であるインデックス値が割り当てられ、さらに、次に続く文字用に、インデックス値が「1」だけインクリメント(値を増加)される。上述のように、このインデックス値は、オリジナルの文字の第1のマスキング可能文字を取得するためのパラメーターの1つとして後に必要とされる。入力データは、1文字ずつ繰り返される(iterated character by character)。第1の文字は、数字なので、MSBマップが作成されることになる。キー「1」用のMSBマップからの値は、以下のようになる。
a.マスキングされた文字:6
b.リストインデックス:1
c.ソートされたマスキング済みアレイポインター(アレイ(5,4,3,2,7,1,8,6,9)へのポインティング)
得られるインデックス=(インデックス値+リストインデックス)%(ソートされたマスキング済みアレイのサイズ)
=(9+1)%9
=10%9
=1
インデックス値「1」における文字が取得される。この場合、5である。同様に、残りの複数の文字のマスキングされた文字が、動的マップを用いて取得され、さらに、マスキングされた文字列へ追加される。そのため、マスキングされた出力は、501−GIS−ksjとなる。フォーマット維持ベースマスキングシステム100は、データのマスキング、特に、入力が1つ以上の数字(特定の範囲内または特定の範囲外の数字)を含む場合のデータのマスキングを可能とする。
図1および図2に関連する図3A〜図3Eは、本発明の1つ以上の実施形態に係るオリジナルデータおよびマスキングされたデータの例示的な図を示している。具体的には、図3Aは、本発明の1つ以上の実施形態に係る複数の文字(例えば、所在地住所)を含む複数の字のセットのオリジナルデータおよびマスキングされたデータの例示的な比較図を示している。図3Bは、本発明の1つ以上の実施形態に係る最低給料(例えば、データを特定の範囲内(最小値:1000、最大値25000)でマスキングするための入力として受信された数字(給料))のオリジナルデータおよびマスキングされたデータの例示的な図を示している。この範囲は特定されているため、マスキングされたデータの出力もまた、この範囲内となり、ユーザーは、この範囲を入力するための設定を行う。1つ以上の数字が、特定の範囲を示す場合、1つ以上の数字を含む複数のマスキング可能な文字は、特定の範囲内でマスキングされる。換言すれば、この範囲は、数字を含む複数の字が提供されるときに、ユーザーによって提供される。フォーマット維持ベースマスキングシステム100は、特定の範囲内において、複数の数字をマスキングする。
図3Cは、本発明の1つ以上の実施形態に係る最低給料(例えば、特定の範囲外においてデータをマスキングするための入力として受信される複数の数字)のオリジナルデータおよびマスキングされたデータの例示的な図を示している。範囲が特定されていない場合、入力値の範囲から外れた複数の値が存在し得る。例えば、最低給料15000は、最低給料69628にマスキングされる。
図3Dは、本発明の1つ以上の実施形態に係る非英語の文字のオリジナルデータおよびマスキングされたデータの例示的な図を示している。具体的には、図3Dは、漢字のオリジナルデータおよびマスキングされたデータの例示的な図を示している。図3Eは、ユーザーが、特定の値は所定の値によってマスキングされなければならないと指定した場合の例外的な状況におけるオリジナルデータおよびマスキングされたデータの例示的な図を示している。フォーマット維持ベースマスキングシステム100は、オーストラリアが英国にマスキングされ、イタリアがシンガポールにマスキングされるように設定されている。そのため、これら2つの値がいつ発生しようと、それぞれの所定の値によってマスキングされることとなり、これらの値は、文字置換マスキングを経ない。
上記の記述は、本分野における当業者が本発明を実施および使用することを可能とするために、本発明を説明するものである。本発明の範囲は、特許請求の範囲によって規定され、本分野における当業者が想到し得るその他の変形例を含む。そのようなその他の変形例が特許請求の範囲の文言と変わらない同等の要素を有するか、特許請求の範囲の文言と実質的に変わらない同等の要素を含んでいるのであれば、そのようなその他の変形例は、特許請求の範囲の権利範囲内に含まれる。
本開示の実施形態は、データの一貫性を企業レベルで保ち、入力データのフォーマットを維持し、マスキングされたデータが解読可能ではないことを保証し、データセキュリティに繋がるフォーマット維持ベースマスキングシステムおよび方法を実施する。さらに、フォーマット維持ベースマスキングシステム100は、非英語の文字および数字をサポートする。セキュリティの低い方法を用いてデータの生成、更新、および処理するために、より多くのディスクスペースと、より多くの時間を消費する静的ルックアップテーブルを作成する従来のシステムや方法と異なり、複数のマップ(データのマスキングを実行するための参照として用いられる、実行中における動的ルックアップテーブルとして機能する動的マップ、非MSBマップ、およびMSBマップ)を動的に生成するフォーマット維持ベースマスキングシステム100は、より少ないディスクスペース消費(または、より少ないメモリースペース消費)、より少ないデータ更新時間、および、より少ないデータ処理時間を可能とする。従来のマスキングツールと異なり、フォーマット維持ベースマスキングシステム100は、それぞれの字の最終的な置換(または、マスキング)の決定において重要な役割を果たす入力データ内の字の位置を算出する。
しかしながら、本発明による保護範囲は、メッセージを有するコンピューター可読手段に加え、プログラムにも及ぶことは理解されるであろう。そのようなコンピューター可読記憶媒体は、サーバー、携帯デバイス、または任意の適切なプログラム可能デバイス上でプログラムが実行されたとき、本発明の方法の1つ以上の工程を実施するプログラムコード手段(program-code means)を含む。ハードウェアデバイスは、例えば、サーバー、パーソナルコンピューター等、または、これらの組み合わせの任意の種類のコンピューターを含む任意の種類のプログラム可能なデバイスであってもよい。また、デバイスは、例えば、ハードウェア手段(例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA))、ハードウェア手段およびソフトウェア手段の組み合わせ(例えば、ASICおよびFPGA)、少なくとも1つのマイクロプロセッサー、および、ソフトウェアモジュールが内部に保存されている少なくとも1つのメモリーのような手段を含む。よって、手段は、ハードウェア手段と、ソフトウェア手段の双方を含む。本発明の方法は、ハードウェアおよびソフトウェアにおいて実施可能である。また、デバイスは、ソフトウェア手段を含んでいてもよい。代替的に、本発明は、複数の異なるハードウェアデバイス、例えば、複数のCPUを用いて、実施されていてもよい。
本発明は、ハードウェア要素と、ソフトウェア要素とを含むことができる。本発明は、ソフトウェアにおいて実施することができ、これに限定されるものではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。ここに説明された様々なモジュールによって実行される機能は、他のモジュールや他のモジュールの組み合わせにおいて実施されてもよい。説明の目的のため、コンピューター使用可能またはコンピューター可読媒体は、命令実行システム、装置、またはデバイスによって使用可能またはこれらに関連したプログラムを含み、保存し、通信し、伝播し、または伝送可能な任意の装置であってもよい。
媒体は、電気、磁気、光、電磁気、赤外線、半導体システム(または、装置やデバイス)、または、伝播媒体であってもよい。コンピューター可読媒体の例としては、半導体または固体メモリー、磁気テープ、リムーバブルコンピューターディスケット、ランダムアクセスモメリー(RAM)、リードオンリーメモリー(ROM)、リジッド磁気ディスク、および光ディスクが挙げられる。光ディスクの最近の例としては、コンパクトディスク−リードオンリーメモリー(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)、およびDVDが挙げられる。
プログラムコードの保存および/または実行に適したデータ処理システムは、メモリー要素に直接的またはシステムバスを介して間接的に接続された少なくとも1つのプロセッサーを含む。メモリー要素は、プログラムコードの実際の実行の際に用いられるローカルメモリー、大容量記憶装置、および、実行の間に大容量記憶装置からの必須読み出しの回数を低減させるために少なくとも複数のプログラムコードの一時保存を提供するキャッシュメモリーを含む。
入力/出力(I/O)デバイス(これに限定されるものではないが、キーボード、ディスプレイ、ポインティングデバイス等を含む)は、システムに直接的またはI/Oコントローラーを介して接続されている。また、ネットワークアダプターは、システムに接続され、データ処理システムが、プライベートまたは公共ネットワークを介して、他のデータ処理システム、遠隔プリンター、または記憶デバイスに接続されることを可能とする。モデム、ケーブルモデム、およびイーサネット(登録商標)カードは、ネットワークアダプターの現在使用可能なタイプのいくつかの例である。
本発明を実施するための代表的なハードウェア環境は、本発明に係る情報操作/コンピューターシステムのハードウェア構成を含む。システムは、少なくとも1つのプロセッサーまたは中央演算ユニット(CPU)を含む。CPUは、システムバスを介して、様々なデバイス(例えば、ランダムアクセスメモリー(RAM)、リードオンリーメモリー(ROM)、入力/出力(I/O)アダプター)に相互接続されている。I/Oアダプターは、周辺機器(例えば、ディスクユニット、テープドライバー)や、システムによって読み込まれることが可能なその他のプログラム記憶デバイスを接続することができる。システムは、プログラム記憶デバイス上の複数の命令を読み込み、これらの命令に従って、本発明の方法を実行可能である。
さらに、システムは、キーボード、マウス、スピーカー、マイク、および/または、タッチスクリーンデバイス(図示せず)のようなその他のユーザーインターフェースデバイスをバスに接続し、ユーザー入力を収集するユーザーインターフェースアダプターを含む。追加的に、通信アダプターは、バスをデータ処理ネットワークに接続し、表示アダプターは、バスを、例えば、モニター、プリンター、送信機のような出力デバイスとしても実装可能な表示デバイスに接続する。
上記の記述が、様々な実施形態を参照して提供された。本発明の属する分野および技術における当業者であれば、記述された構造および動作方法における変形および変更が、本発明の原理、考え方、および範囲から有意に逸脱することなく、実行可能であることを理解できるであろう。

Claims (12)

  1. フォーマット維持ベースマスキングシステムであって、
    複数の命令を保存しているメモリーと、
    前記メモリーに接続されたハードウェアプロセッサーと、を含み、
    前記ハードウェアプロセッサーは、前記複数の命令によって、
    ユーザーから、複数の字の入力セットおよびプライベートキーを取得する工程と、
    複数の字のセットおよび前記プライベートキーを用いて、前記複数の字のセットを暗号化し、複数の暗号化済みの字のリストを取得する工程と、
    前記複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、
    前記動的マップを用いてマスキングされる前記複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、
    前記動的マップを用い、前記複数のマスキング可能な字のそれぞれの前記位置に基づいて、前記複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行するよう構成されており、
    前記複数の暗号化済みの字のリストは、複数の暗号化済みの字のセットを含み、
    前記動的マップは、複数のキーのセットを含み、
    前記複数のキーのそれぞれは、前記複数の字のセット内の字に特有であることを特徴とするフォーマット維持ベースマスキングシステム。
  2. 前記複数の字のセットおよび前記複数の字の入力セットは、文字、数字、および記号の少なくとも1つを含む請求項1に記載のフォーマット維持ベースマスキングシステム。
  3. 前記複数の字のセットおよび前記複数の字の入力セットは、1つ以上の言語から選択される請求項1に記載のフォーマット維持ベースマスキングシステム。
  4. 前記複数の字の入力セットが1つ以上の数字を含む場合、前記ハードウェアプロセッサーは、さらに、前記複数の命令によって、
    前記1つ以上の数字の最重要ビット(MSB)マップを作成する工程と、
    前記動的マップおよび前記MSBマップを用いて、前記複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、
    前記動的マップおよび前記MSBマップを用い、前記複数のマスキング可能な字のそれぞれの前記位置に基づいて、前記複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行するよう構成されている請求項1に記載のフォーマット維持ベースマスキングシステム。
  5. 前記ハードウェアプロセッサーは、さらに、前記複数の命令によって、
    前記複数の暗号化済みの字のリスト内の複数の字の順番を判別する工程と、
    前記複数の字の順番から、前記複数の暗号化済みの字のリストをソートし、ソートされた複数の暗号化済みの字のリストを取得する工程と、
    前記ソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、
    前記動的マップを用いてマスキングされる前記複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、
    前記動的マップを用い、前記複数のマスキング可能な字のそれぞれの前記位置に基づいて、前記複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を実行するよう構成されており、
    前記動的マップは、複数のキーのセットと、複数の値とを含み、
    前記複数のキーのそれぞれは、前記複数の字のセット内の少なくとも1つの字に特有であり、
    前記複数の値のそれぞれは、前記複数の字のセットからマスキングされる1つ以上の再配置された字を含む請求項1に記載のフォーマット維持ベースマスキングシステム。
  6. 前記動的マップは、前記複数の字のセット内のそれぞれの字用にマスキングされ、置換された字を示すインデックスをさらに含む請求項1に記載のフォーマット維持ベースマスキングシステム。
  7. 前記1つ以上の数字が、特定の範囲を示す場合、前記1つ以上の数字を含む前記複数のマスキング可能な字は、前記特定の範囲内においてマスキングされる請求項4に記載のフォーマット維持ベースマスキングシステム。
  8. コンピューター実施のフォーマット維持ベースマスキング方法であって、
    ユーザーから、複数の字の入力セットおよびプライベートキーを取得する工程と、
    複数の字のセットおよび前記プライベートキーを用いて、前記複数の字のセットを暗号化し、複数の暗号化済みの字のリストを取得する工程と、
    前記複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、
    前記動的マップを用いてマスキングされる前記複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、
    前記動的マップを用い、前記複数のマスキング可能な字のそれぞれの前記位置に基づいて、前記複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、を含み、
    前記複数の暗号化済みの字のリストは、複数の暗号化済みの字のセットを含み、
    前記動的マップは、複数のキーのセットを含み、
    前記複数のキーのそれぞれは、前記複数の字のセット内の字に特有であることを特徴とするコンピューター実施のフォーマット維持ベースマスキング方法。
  9. 前記複数の字のセットおよび前記複数の字の入力セットは、文字、数字、および記号の少なくとも1つを含み、
    前記複数の字のセットおよび前記複数の字の入力セットは、1つ以上の言語から選択される請求項8に記載のコンピューター実施のフォーマット維持ベースマスキング方法。
  10. 前記複数の字の入力セットが1つ以上の数字を含む場合、前記コンピューター実施のフォーマット維持ベースマスキング方法は、
    前記1つ以上の数字の最重要ビット(MSB)マップを作成する工程と、
    前記動的マップおよび前記MSBマップを用いて、前記複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、
    前記動的マップおよび前記MSBマップを用い、前記複数のマスキング可能な字のそれぞれの前記位置に基づいて、前記複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、をさらに含む請求項8に記載のコンピューター実施のフォーマット維持ベースマスキング方法。
  11. 前記複数の暗号化済みの字のリスト内の複数の字の順番を判別する工程と、
    前記複数の字の順番から、前記複数の暗号化済みの字のリストをソートし、ソートされた複数の暗号化済みの字のリストを取得する工程と、
    前記ソートされた複数の暗号化済みの字のリストに基づいて、動的マップを作成する工程と、
    前記動的マップを用いてマスキングされる前記複数の字の入力セット内の複数のマスキング可能な字のそれぞれの位置を算出する工程と、
    前記動的マップを用い、前記複数のマスキング可能な字のそれぞれの前記位置に基づいて、前記複数のマスキング可能な字のマスキングを実行し、マスキングされたデータを取得する工程と、をさらに含み、
    前記動的マップは、複数のキーのセットと、複数の値とを含み、
    前記複数のキーのそれぞれは、前記複数の字のセット内の少なくとも1つの字に特有であり、
    前記複数の値のそれぞれは、前記複数の字のセットからマスキングされる1つ以上の再配置された字を含む請求項8に記載のコンピューター実施のフォーマット維持ベースマスキング方法。
  12. 前記1つ以上の数字が、特定の範囲を示す場合、前記1つ以上の数字を含む前記複数のマスキング可能な字は、前記特定の範囲内においてマスキングされる請求項10に記載のコンピューター実施のフォーマット維持ベースマスキング方法。
JP2016040905A 2015-11-07 2016-03-03 フォーマット維持ベースマスキングシステムおよび方法 Active JP6239661B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN4244/MUM/2015 2015-11-07
IN4244MU2015 2015-11-07

Publications (2)

Publication Number Publication Date
JP2017092929A true JP2017092929A (ja) 2017-05-25
JP6239661B2 JP6239661B2 (ja) 2017-11-29

Family

ID=55345675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016040905A Active JP6239661B2 (ja) 2015-11-07 2016-03-03 フォーマット維持ベースマスキングシステムおよび方法

Country Status (6)

Country Link
US (1) US10242203B2 (ja)
EP (1) EP3166041A1 (ja)
JP (1) JP6239661B2 (ja)
AU (2) AU2016201060A1 (ja)
MX (1) MX364426B (ja)
MY (1) MY181115A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019522269A (ja) * 2016-05-23 2019-08-08 インフォマティカ エルエルシー データ関連アプリケーションデータをマスキングする方法、装置、およびコンピュータ読み取り可能な媒体

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528766B2 (en) * 2016-06-02 2020-01-07 Jpmorgan Chase Bank, N.A. Techniques for masking electronic data
US10671753B2 (en) 2017-03-23 2020-06-02 Microsoft Technology Licensing, Llc Sensitive data loss protection for structured user content viewed in user applications
US10410014B2 (en) 2017-03-23 2019-09-10 Microsoft Technology Licensing, Llc Configurable annotations for privacy-sensitive user content
US10380355B2 (en) * 2017-03-23 2019-08-13 Microsoft Technology Licensing, Llc Obfuscation of user content in structured user data files
KR101790325B1 (ko) 2017-07-26 2017-10-25 주식회사 차칵 암호화 및 복호화 시스템
US11646876B2 (en) * 2017-07-31 2023-05-09 Koninklijke Philips N.V. Distributing a computation output
US10943027B2 (en) * 2018-03-28 2021-03-09 Sap Se Determination and visualization of effective mask expressions
US11741253B2 (en) * 2019-01-31 2023-08-29 Hewlett Packard Enterprise Development Lp Operating system service sanitization of data associated with sensitive information
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
DK3787217T3 (da) 2019-08-27 2022-01-10 Tata Consultancy Services Ltd Systemer og fremgangsmåder til maskering og afmaskering af følsomme data
US11451371B2 (en) * 2019-10-30 2022-09-20 Dell Products L.P. Data masking framework for information processing system
CN110795762B (zh) * 2019-10-30 2023-04-11 贵州大学 基于流密码的保留格式加密方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233067A (ja) * 1990-07-31 1997-09-05 Hiroichi Okano 知的情報処理方法および装置
JP2005141282A (ja) * 2003-11-04 2005-06-02 Fujitsu Ltd 文字データの暗号化プログラム
JP2013098869A (ja) * 2011-11-02 2013-05-20 Chiba Inst Of Technology 音声システム
WO2015114835A1 (ja) * 2014-02-03 2015-08-06 A・Tコミュニケーションズ株式会社 文章認識装置、文章認識方法、及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5929792A (en) * 1997-06-30 1999-07-27 Sun Microsystems, Inc. Method and apparatus for encoding multiple character sets
US6909783B2 (en) * 1999-10-29 2005-06-21 Joseph Samuel Incarnato Alphabet soup cryptography
US8855296B2 (en) 2006-06-28 2014-10-07 Voltage Security, Inc. Data processing systems with format-preserving encryption and decryption engines
US7864952B2 (en) * 2006-06-28 2011-01-04 Voltage Security, Inc. Data processing systems with format-preserving encryption and decryption engines
US8209549B1 (en) * 2006-10-19 2012-06-26 United Services Automobile Association (Usaa) Systems and methods for cryptographic masking of private data
GB2479074B (en) * 2007-01-16 2012-01-18 Voltage Security Inc Format-preserving cryptographic systems
US8055668B2 (en) * 2008-02-13 2011-11-08 Camouflage Software, Inc. Method and system for masking data in a consistent manner across multiple data sources
US8938067B2 (en) * 2009-10-30 2015-01-20 Voltage Security, Inc. Format preserving encryption methods for data strings with constraints
US8375224B2 (en) 2009-11-10 2013-02-12 Oracle International Corporation Data masking with an encrypted seed
US9059851B2 (en) * 2010-02-23 2015-06-16 Salesforce.Com, Inc. Method and computer program product for order preserving symbol based encryption
US8458487B1 (en) 2010-03-03 2013-06-04 Liaison Technologies, Inc. System and methods for format preserving tokenization of sensitive information
US8607041B2 (en) 2010-07-13 2013-12-10 Computer Associates Think, Inc. Perimeter encryption method and system
US9122880B2 (en) * 2013-03-14 2015-09-01 Cellco Partnership Sensitive personal information data protection
US9830464B2 (en) * 2016-01-21 2017-11-28 Passport Health Communications, Inc. Format preserving encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233067A (ja) * 1990-07-31 1997-09-05 Hiroichi Okano 知的情報処理方法および装置
JP2005141282A (ja) * 2003-11-04 2005-06-02 Fujitsu Ltd 文字データの暗号化プログラム
JP2013098869A (ja) * 2011-11-02 2013-05-20 Chiba Inst Of Technology 音声システム
WO2015114835A1 (ja) * 2014-02-03 2015-08-06 A・Tコミュニケーションズ株式会社 文章認識装置、文章認識方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019522269A (ja) * 2016-05-23 2019-08-08 インフォマティカ エルエルシー データ関連アプリケーションデータをマスキングする方法、装置、およびコンピュータ読み取り可能な媒体

Also Published As

Publication number Publication date
JP6239661B2 (ja) 2017-11-29
MY181115A (en) 2020-12-18
EP3166041A1 (en) 2017-05-10
MX364426B (es) 2019-04-25
AU2017268583B2 (en) 2019-12-05
AU2017268583A1 (en) 2017-12-21
US20170132420A1 (en) 2017-05-11
US10242203B2 (en) 2019-03-26
AU2016201060A1 (en) 2017-05-25
MX2016002467A (es) 2017-09-08

Similar Documents

Publication Publication Date Title
JP6239661B2 (ja) フォーマット維持ベースマスキングシステムおよび方法
US9697327B2 (en) Dynamic genome reference generation for improved NGS accuracy and reproducibility
EP3218811B1 (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
US9202021B2 (en) License verification method and apparatus, and computer readable storage medium storing program therefor
US10541982B1 (en) Techniques for protecting electronic data
US20050071645A1 (en) Algorithmic generation of passwords
CN101118520A (zh) 防护数据结构的方法和数据处理系统
US9940479B2 (en) Identifying and tracking sensitive data
JP6781373B2 (ja) 検索プログラム、検索方法、および検索装置
US9002772B2 (en) Scalable rule-based processing system with trigger rules and rule evaluator
US10108587B2 (en) Geo-cultural information based dynamic character variant rendering
US9880636B2 (en) Configurable character variant unification
JP2018067264A (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP6549786B2 (ja) データクレンジングシステム、方法、及び、プログラム
CN112559497B (zh) 一种数据处理方法、一种信息传输方法、装置及电子设备
JP2019020795A (ja) 文書管理装置、文書管理システム及びプログラム
JP2019135593A (ja) 言語処理方法及び言語処理システム
JP2016153930A (ja) 設定情報管理装置、設定情報管理方法、及び、設定情報管理プログラム
JP6832687B2 (ja) トレーサビリティ管理装置、トレーサビリティ管理方法およびトレーサビリティ管理プログラム
JP2017525235A (ja) プレーンasciiデータストリームの符号化
US11580676B1 (en) Method for embedding user information in webpages and electronic device implementing method
WO2022264385A1 (ja) 検索方法、検索プログラムおよび情報処理装置
JP7200474B2 (ja) 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム
JP2017062716A (ja) 校正支援装置、校正支援方法および校正支援プログラム
KR20220060864A (ko) 입력 수단을 고려한 문서 유사도 판별 방법 및 이를 수행하기 위한 컴퓨팅 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171101

R150 Certificate of patent or registration of utility model

Ref document number: 6239661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250