JP6950162B2 - 暗号化システム、暗号化方法、暗号化装置および暗号化プログラム - Google Patents

暗号化システム、暗号化方法、暗号化装置および暗号化プログラム Download PDF

Info

Publication number
JP6950162B2
JP6950162B2 JP2016198455A JP2016198455A JP6950162B2 JP 6950162 B2 JP6950162 B2 JP 6950162B2 JP 2016198455 A JP2016198455 A JP 2016198455A JP 2016198455 A JP2016198455 A JP 2016198455A JP 6950162 B2 JP6950162 B2 JP 6950162B2
Authority
JP
Japan
Prior art keywords
dictionary
encryption
item
data
unit
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
JP2016198455A
Other languages
English (en)
Other versions
JP2018061171A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016198455A priority Critical patent/JP6950162B2/ja
Priority to US15/717,013 priority patent/US10706163B2/en
Publication of JP2018061171A publication Critical patent/JP2018061171A/ja
Application granted granted Critical
Publication of JP6950162B2 publication Critical patent/JP6950162B2/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/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • 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
    • 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/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3204Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium
    • H04N2201/3205Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a user, sender, addressee, machine or electronic recording medium of identification information, e.g. name or ID code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3281Encryption; Ciphering

Description

本発明は、暗号化システム、暗号化方法、暗号化装置および暗号化プログラムに関する。
近年、例えば、マイナンバー(個人番号)をはじめとする、機密性の高い情報が増え、今後も増加すると考えられる。マイナンバーは、日本において、社会保障・税番号制度(所謂マイナンバー制度)に基づき、個々の人にそれぞれ定められた公的な番号である。マイナンバーには、個人に関する様々な情報が関連付けられる。このため、マイナンバーは、漏洩を避けるべき機密情報である。したがって、今後は、機密情報を、従来よりさらに高いセキュリティ強度で秘匿する技術が求められることが予測される。通常、機密情報を含むファイルを秘匿する場合、ファイル全体を暗号化することが考えられる。
特開2015−41319号公報 国際公開第2014/092180号 特開2009−87160号公報 米国特許出願公開第2015/0317483号明細書
しかしながら、機密情報を含むファイルを利用する場合、機密情報の表示や記載が不要である場合がある。例えば、源泉徴収票は、収入証明に利用する際、マイナンバーを記載しないことが定められている。このような場合、マイナンバーの情報は、復号する必要はなく、復号されることによって情報漏洩のリスクが高まる。
また、複数のユーザの機密情報を含むファイル全体を暗号化した場合、何れかのユーザの機密情報を使用する際に全体を復号化しなければならず、情報漏洩のリスクが高まる。例えば、100人分の機密情報を含むファイル全体を暗号化した場合、特定の1人のユーザの機密情報だけを利用する際に、復号する必要のない99人の機密情報も復号され、情報漏洩のリスクが高まる。
一つの側面では、情報漏洩のリスクを抑えて情報を提供できる暗号化システム、暗号化方法、暗号化装置および暗号化プログラムを提供することを目的とする。
第1の案では、暗号化システムは、暗号化装置と、復号化装置とを備える。暗号化装置は、符号化部と、生成部と、送信部とを有する。符号化部は、複数の項目を有するレコードを複数備えたデータの少なくとも一部の項目を、各レコードの項目単位で符号化する。生成部は、符号化部による符号化において用いられた辞書を、辞書単位で暗号化した暗号化辞書を生成する。送信部は、データに含まれる一部のレコードの要求に応じて、要求元に、符号化された一部のレコードと暗号化辞書とを送付する。復号化装置は、要求部と、復号化部とを有する。要求部は、暗号化装置に対してデータに含まれる一部のレコードを要求する。復号化部は、要求部からの要求に応じて暗号化装置から受信した一部のレコードを暗号化辞書を用いて復号化する。
本発明の1実施態様によれば、情報漏洩のリスクを抑えて情報を提供できるという効果を奏する。
図1は、帳票を印刷する流れを概略的に示した図である。 図2は、暗号化装置の構成の一例を示す図である。 図3は、テキストファイルの一例を示す図である。 図4は、符号化データの一例を示す図である。 図5は、符号化辞書の一例を示す図である。 図6は、復号化装置の構成の一例を示す図である。 図7は、暗号化処理の手順の一例を示すフローチャートである。 図8は、復号化処理の手順の一例を示すフローチャートである。 図9は、暗号化プログラムを実行するコンピュータの一例を示す図である。 図10は、復号化プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する暗号化システム、暗号化方法、暗号化装置および暗号化プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの権利範囲が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[処理概要]
最初に、図1を用いて、機密情報を含んだテキストファイルの符号化および復号化の概要について説明する。以下では、帳票を印刷するシステムに適用した場合を例に説明する。図1は、帳票を印刷する流れを概略的に示した図である。図1には、基幹システム11と、2つ印刷拠点12(12A、12B)が示されている。基幹システム11には、機密情報が格納されたDB(database)13と、機密情報以外の情報が格納されたDB14とを有する。DB13には、社員番号に対応づけて、機密情報として、社員のマイナンバーが格納されている。DB14には、社員番号に対応づけて社員の氏名、性別などが格納されている。
基幹システム11は、帳票処理部20と、符号化部21と、生成部22と、送信部23とを有する。帳票処理部20は、帳票の印刷に使用する帳票用データを生成する。例えば、帳票処理部20は、帳票用データとして、帳票に印刷する複数の項目のデータを有するレコードを複数備えたCSV(comma-separated values)ファイルなどのテキストデータを生成する。CSVファイルは、複数の項目の情報を列挙する際に、各項目の情報の区切る区切り文字(デリミタ)にカンマ“,”を用いたテキストファイルである。CSVファイルは、テーブル構造を表現するテキストデータとして、表計算やデータベース、帳票などの多様なアプリケーションの入出力形式として、幅広く利用されている。例えば、帳票処理部20は、社員に関する帳票用データとして、社員番号、氏名、性別、マイナンバーなどの各項目のデータを記憶したCSVファイル30を作成する。
ここで、CSVファイル30には、マイナンバーのデータが含まれている。マイナンバーは、漏洩を避けるべき機密情報である。CSVファイル30をそのまま帳票用データとして印刷拠点12に送信した場合、各社員のマイナンバーのデータが漏洩するリスクが高まる。
そこで、符号化部21は、CSVファイル30の少なくとも一部の項目を、各レコードの項目単位で符号化する。例えば、符号化部21は、CSVファイル30のマイナンバーの項目を、各レコードの項目単位で符号化する。例えば、符号化部21は、CSVファイル30のマイナンバーの項目を単語または数値単位で符号化した、符号化データ31および符号化辞書32を生成する。例えば、符号化部21は、マイナンバーの項目を数値単位で符号化してマイナンバーの項目に対応した符号化辞書32を生成する。そして、符号化部21は、符号化辞書32に基づいて、マイナンバーの項目のデータを符号化した符号化データ31を生成する。なお、マイナンバーの項目以外の項目も、項目ごとに符号化辞書32を生成してデータを符号化してもよい。例えば、符号化部21は、一部の項目のデータに、項目単位で一意となるように符号を割り当てて符号化すると共に、項目単位で割り当てた符号とデータを対応付けた符号化辞書32を生成してもよい。
生成部22は、マイナンバーの項目に対応した符号化辞書32を暗号化キーにより暗号化する。なお、符号化部21が複数の項目をそれぞれ項目単位で符号化した場合、項目単位で生成された符号化辞書32を、異なる暗号化キーにより暗号化した暗号化辞書33を生成してもよい。
送信部23は、印刷拠点12からの要求に応じて、データを要求元の印刷拠点12に送信する。例えば、送信部23は、帳票への出力対象の社員の識別情報を含んだ、データの送信要求を印刷拠点12から受け付ける。出力対象の社員の識別情報は、社員番号や氏名など、社員を識別できれば何れの情報を用いて指定してもよい。送信部23は、要求に応じて、符号化データ31から出力対象の社員のレコードを抽出し、抽出したレコードを記憶した符号化データ34と暗号化辞書33とを要求元に送付する。また、送信部23は、暗号化辞書33を暗号化した暗号化キーに対応する復号化キーを印刷拠点12へ送信する。なお、印刷拠点12が復号化キーを記憶している場合や、別途取得可能である場合、復号化キーは、印刷拠点12へ送信しなくてもよい。
印刷拠点12は、帳票の印刷を行う。例えば、印刷拠点12は、各社員がそれぞれ勤務する事業所であり、事業所に所属する社員の帳票を印刷する。印刷拠点12は、要求部40と、復号化部41と、印刷処理部42とを有する。
要求部40は、基幹システム11に対して、帳票の出力対象とする社員のデータの送信を要求する。例えば、要求部40は、帳票への出力対象の社員の識別情報を含んだ、データの送信要求を基幹システム11に送信する。図1の例では、印刷拠点12Aの要求部40は、「田中 太郎」、「鈴木 次郎」を帳票の出力対象の社員として、データの送信要求を基幹システム11に送信する。印刷拠点12Bの要求部40は、「山田 三郎」を帳票の出力対象の社員として、データの送信要求を基幹システム11に送信する。これにより、印刷拠点12Aには、基幹システム11から、「田中 太郎」、「鈴木 次郎」のレコードを含んだ符号化データ34Aと暗号化辞書33とを印刷拠点12Aに送付される。印刷拠点12Bには、基幹システム11から、「山田 三郎」のレコードを含んだ符号化データ34Bと暗号化辞書33とを印刷拠点12Bに送付される。暗号化辞書33は、まだ暗号化キーにより暗号化されている。このため、マイナンバーは、復号化できない。
復号化部41は、暗号化辞書33を用いて、基幹システム11から受信した符号化データ34に含まれるレコードを復号化する。例えば、復号化部41は、マイナンバーが出力する項目である場合、復号化キーを用いて、暗号化辞書33を符号化辞書32に復元する。図1の例では、印刷拠点12A、12Bの復号化部41は、共に暗号化辞書33を符号化辞書32に復元する。そして、復号化部41は、復元した符号化辞書32を用いて、符号化データ34をCSVファイル35に復号化する。例えば、復号化部41は、復元した符号化辞書32を用いて、基幹システム11から受信した符号化データ34に含まれるレコードのマイナンバーの項目の符号を、当該符号に対応するマイナンバーに復号化する。図1の例では、印刷拠点12Aの復号化部41は、「田中 太郎」、「鈴木 次郎」のレコードを含んだ符号化データ34AをCSVファイル35Aに復号化する。印刷拠点12Bの復号化部41は、「山田 三郎」のレコードを含んだ符号化データ34BをCSVファイル35Bに復号化する。一方、復号化部41は、マイナンバーが出力する必要のない項目である場合、暗号化辞書33を復号化しない。例えば、源泉徴収票は、収入証明に利用する際、マイナンバーを記載しないことが定められている。このような場合、復号化部41は、暗号化辞書33を復号化しない。そして、例えば、復号化部41は、符号化データ34をそのままCSVファイル35とする。これにより、印刷拠点12では、マイナンバーが出力する必要のない項目である場合、符号化辞書32が復元されないため、マイナンバーのデータを保護できる。
印刷処理部42は、復号化されたCSVファイル35を用いて印刷用データを生成し、帳票を印刷する。なお、印刷処理部42は、復号化されたCSVファイル35を用いてPDF(Portable Document Format)などの印刷イメージのデータを生成して出力してもよい。
ここで、例えば、収入証明に利用するために社員の源泉徴収票を印刷する場合など、マイナンバーが出力する項目ではない場合、マイナンバーの項目は、暗号化された状態であるため、正しくマイナンバーが印刷されない。一方、マイナンバーが出力する項目である場合は、復号化部41により、CSVファイル35にマイナンバーのデータが復号化されるため、正しくマイナンバーを印刷される。このように、同じ符号化データ34を用いて、マイナンバーのデータを柔軟に保護できる。マイナンバーを印刷しない場合は、符号化辞書32が暗号化された状態である。このため、マイナンバーのデータは、復元できない。これにより、例えば、印刷を行うアプリケーションの一時データが参照されるような危険な状態であっても、印刷されないマイナンバーのデータを保護できる。すなわち、単純に印刷の際にマイナンバーのデータの表示、非表示を切り替えているわけではない。
また、印刷拠点12には、CSVファイル30のうち、印刷拠点12で帳票の出力対象とされた社員のレコードのデータのみが送信される。これにより、印刷拠点12では、符号化辞書32を用いても、出力対象とされた社員以外の社員については、マイナンバーを照合することができない。すなわち、符号化辞書32に記憶された、出力対象とされた社員以外のマイナンバーは、社員に対応付けることができず、意味を持たないデータとなる。このため、情報漏洩のリスクを低減できる。このように、CSVファイル30の項目単位でデータを符号化し、符号化辞書32を暗号化することにより、CSVファイル30の項目単位でデータを保護できる。また、CSVファイル30のレコードのうち、出力対象とされた一部のレコードのみを送信することにより、CSVファイル30のレコード単位でデータを保護できる。
[装置構成]
次に、各装置の構成について説明する。最初に、暗号化装置50の構成について説明する。図2は、暗号化装置50の構成の一例を示す図である。暗号化装置50は、圧縮や暗号化などの符号化を行う装置である。暗号化装置50は、例えば、パーソナルコンピュータ、サーバコンピュータなどのコンピュータや、タブレット端末、スマートフォンなどの情報処理装置である。例えば、図1の例では、暗号化装置50は、基幹システム11として動作するコンピュータである。暗号化装置50は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、暗号化装置50を1台のコンピュータとした場合を例として説明する。図2に示すように、暗号化装置50は、外部I/F(interface)部51と、記憶部52と、制御部53とを有する。なお、暗号化装置50は、コンピュータや情報処理装置が有する上記の機器以外の他の機器を有してもよい。
外部I/F部51は、例えば、他の装置と各種の情報を送受信するインタフェースである。外部I/F部51は、フラッシュメモリなどの記憶媒体に対してデータを入出力するポート、ケーブルなどにより有線通信を行う通信ポート、又は、無線通信を行う通信インタフェースである。
記憶部52は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部52は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
記憶部52は、制御部53で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部52は、後述する暗号化処理を行うプログラムを記憶する。さらに、記憶部52は、制御部53で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部52は、テキストファイル60と、符号化データ61と、符号化辞書62と、暗号化辞書63と、符号化データ64とを記憶する。
テキストファイル60は、符号化対象の各種の情報が記憶されたデータである。例えば、テキストファイル60は、図1に示したCSVファイル30など、デリミタにより区切られた複数の項目からなる複数のレコードを有する。例えば、テキストファイル60には、帳票に印刷する複数の項目のデータを有するレコードが記憶される。
図3は、テキストファイル60の一例を示す図である。図3には、帳票用データの項目として「社員番号」、「氏名」、「性別」および「マイナンバー」の項目を有するレコードが複数示されている。図3に示すテキストファイル60には、社員番号「150001」として、氏名「田中 太郎」、性別「男」、マイナンバー「123456・・・」が記憶されている。また、テキストファイル60には、社員番号「150002」として、氏名「鈴木 次郎」、性別「男」、マイナンバー「987654・・・」が記憶されている。また、テキストファイル60には、社員番号「150003」として、氏名「山田 三郎」、性別「男」、マイナンバー「456789・・・」が記憶されている。
符号化データ61は、テキストファイル60の各項目のデータを符号化辞書62により符号化したデータである。例えば、符号化データ61は、図1の例の符号化データ31が対応する。
図4は、符号化データ61の一例を示す図である。図4に示す符号化データ61では、テキストファイル60の「マイナンバー」の項目の各データが、それぞれ符号化される。例えば、社員番号「150001」のマイナンバー「123456・・・」が「1A」に符号化される。社員番号「150002」のマイナンバー「987654・・・」が「1B」に符号化される。社員番号「150003」のマイナンバー「456789・・・」が「1C」に符号化される。
符号化辞書62は、データの符号化および復号化に用いる辞書のデータである。例えば、符号化辞書62は、図1の例の符号化辞書32が対応する。ここで、本実施例では、テキストファイル60のデリミタにより区切られた複数の項目のデータを符号化する際に、1つまたは複数の項目ごとに、符号化辞書62を切り替えて符号化を行う。例えば、テキストファイル60の機密情報が記憶される項目については、1つの項目ごとに、符号化辞書62を切り替えて符号化を行う。また、テキストファイル60の機密情報ではない項目については、複数の項目を1つの符号化辞書62で符号化を行う。符号化辞書62は、符号化する項目ごとに、項目のデータに対応する符号を記憶する。例えば、符号化辞書62は、符号化する項目ごとに、項目に出現する単語または数値単位に、単語または数値単位の特性に対応して、動的に割り当てられた符号を記憶する。例えば、出現頻度の高い単語または数値に対して短い符号を割り当てており、符号化辞書62は、動的に割り当てられた符号が記憶される。なお、符号化する項目ごとに、出現する文字列や数字などのパターンが特定のパターンに定まる場合は、符号化辞書62には、特定のパターンと符号を対応付けて予め記憶させてもよい。また、符号化辞書62には、符号化した項目を示す項目情報を含めてもよい。
図5は、符号化辞書62の一例を示す図である。図5に示す符号化辞書62では、図3に示す「マイナンバー」の項目の各データと、図4に示す符号化データ61の「マイナンバー」の項目の各符号とが「CODE」と「VALUE」の項目に関連付けて記憶される。例えば、「CODE」の「1A」が、「VALUE」の「123456・・・」に関連付けて記憶される。また、「CODE」の「1B」が、「VALUE」の「987654・・・」に関連付けて記憶される。また、「CODE」の「1C」が、「VALUE」の「456789・・・」に関連付けて記憶される。
暗号化辞書63は、符号化辞書62を暗号化したデータである。例えば、暗号化辞書63は、機密情報の項目に対応する符号化辞書62を暗号化したデータである。
符号化データ64は、要求に応じたレコードを符号化データ61から抽出したデータである。例えば、符号化データ64は、図1の例の符号化データ34が対応する。符号化データ64は、符号化データ61と同様のデータ構成であるため、詳細な説明を省略する。
制御部53は、暗号化装置50を制御するデバイスである。制御部53としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部53は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部53は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部53は、第1生成部70と、符号化部71と、第2生成部72と、送信部73とを有する。
第1生成部70は、複数の項目のデータをデリミタにより区切った複数のレコードを有するテキストファイル60を生成する。第1生成部70は、図1の例の帳票処理部20が対応する。なお、テキストファイル60は、他の装置で生成されたものであってもよい。
符号化部71は、テキストファイル60の各項目のデータを、項目に応じた符号化方式により符号化する。符号化部71は、図1の例の符号化部21が対応する。符号化部71は、テキストファイル60の少なくとも一部の項目を、各レコードの項目単位で符号化する。例えば、符号化部71は、テキストファイル60からデータを符号化した符号化データ61および符号化辞書62を生成する。例えば、機密情報とされたマイナンバーの項目を符号化対象の項目とする。例えば、符号化部71は、テキストファイル60の符号化対象の項目のデータに符号を割り当て、当該項目に対応した符号化辞書62に、符号と当該符号を割り当てたデータを対応付けて登録する。符号は、各項目のデータに含まれる単語または数値に対して出現頻度を求め、出現頻度の高い単語または数値に対して短い符号を割り当てる。なお、出現する文字列や数字などのパターンが特定のパターンに定まる場合は、符号化辞書62には、特定のパターンと符号を対応付けて予め記憶させてもよい。また、符号化部71は、異なるデータが出現するごとに、短い符号から順に割り当ててもよい。そして、符号化部71は、符号化辞書62を用いて、テキストファイル60の符号化対象の項目のデータを符号に変換し、データを符号に変換した符号化データ61を生成する。例えば、符号化部71は、テキストファイル60の符号化対象の項目のデータに単語または数値が含まれる場合、符号化辞書62に記憶された単語または数値に対応した符号に変換する。
なお、符号化部71は、符号化辞書62に、符号化した項目を示す項目情報を含めてもよい。この場合、符号化部71は、符号化する項目ごとに、一意となるように符号を割り当てて、当該項目に対応した符号化辞書62に登録してもよい。すなわち、符号化対象の項目が複数ある場合、項目ごとに、符号が重複してもよい。例えば、符号化部71は、符号化対象の項目ごとに、当該項目のデータに対して一意となるように符号を割り当て、当該項目に対応した符号化辞書62に登録する。符号は、符号化対象の項目ごとに、データに含まれる単語または数値に対して出現頻度を求め、出現頻度の高い単語または数値に対して短い符号を割り当てる。このように、符号化対象の項目ごとに、一意となるように符号を割り当てることにより、符号化対象の項目ごとに、短い符号を重複させて割り当てることができるため、符号化対象の項目ごとに、データを高い圧縮率で符号化できる。なお、符号化対象の項目ごとに、出現する文字列や数字などのパターンが特定のパターンに定まる場合は、符号化対象の項目に対応する符号化辞書62には、特定のパターンと符号を対応付けて予め記憶させてもよい。また、符号化部71は、符号化対象の項目ごとに、異なるデータが出現するごとに、短い符号から順に割り当ててもよい。また、符号化部71は、符号化データ61を生成した後、テキストファイル60を削除してもよい。
第2生成部72は、符号化辞書62を暗号化した暗号化辞書63を生成する。第2生成部72は、図1の例の生成部22が対応する。例えば、第2生成部72は、機密情報が格納された項目に対応する符号化辞書62をそれぞれ個別に暗号化する。暗号化キーは、暗号化の際に所定の規則に沿って生成してもよく、予め定められていてもよい。また、第2生成部72は、機密情報が格納された項目以外の他の項目についても符号化辞書62を暗号化してもよい。
送信部73は、要求に応じて、符号化された一部のレコードと暗号化辞書63とを要求元へ送付する。送信部73は、図1の例の送信部23が対応する。例えば、送信部73は、印刷拠点12から帳票の出力対象の社員を特定するデータ、たとえば、社員番号や氏名、所属部署などのデータの送信の要求を受け付ける。送信部73は、要求に応じて、要求元に、符号化データ61のうち、出力対象とされた社員のレコードを記憶した符号化データ64と暗号化辞書63とを送付する。例えば、送信部73は、符号化データ61から要求に応じたレコードを抽出し、抽出したレコードによる符号化データ64を生成する。そして、送信部73は、符号化データ64と暗号化辞書63とを要求元の印刷拠点12へ送信する。また、送信部73は、暗号化辞書63を暗号化した暗号化キーに対応する復号化キーを印刷拠点12へ送信する。なお、印刷拠点12が復号化キーを記憶している場合や、別途取得可能である場合、復号化キーは、印刷拠点12へ送信しなくてもよい。ここで、図1の例では、符号化データ31は、社員番号、氏名の項目は符号化されていない。これにより、符号化データ31から出力対象の社員のレコードを容易に抽出できる。
次に、復号化装置80の構成について説明する。図6は、復号化装置80の構成の一例を示す図である。復号化装置80は、圧縮や暗号化されたデータの復号化を行う装置である。復号化装置80は、例えば、パーソナルコンピュータ、サーバコンピュータなどのコンピュータや、タブレット端末、スマートフォンなどの情報処理装置である。例えば、図1の例では、復号化装置80は、印刷拠点12でデータを復号化するコンピュータである。復号化装置80は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、復号化装置80を1台のコンピュータとした場合を例として説明する。図6に示すように、復号化装置80は、外部I/F部81と、記憶部82と、制御部83とを有する。なお、復号化装置80は、コンピュータや情報処理装置が有する上記の機器以外の他の機器を有してもよい。
外部I/F部81は、例えば、他の装置と各種の情報を送受信するインタフェースである。外部I/F部81は、フラッシュメモリなどの記憶媒体に対してデータを入出力するポート、ケーブルなどにより有線通信を行う通信ポート、又は、無線通信を行う通信インタフェースである。
記憶部82は、ハードディスク、SSD、光ディスクなどの記憶装置である。なお、記憶部82は、RAM、フラッシュメモリ、NVSRAMなどのデータを書き換え可能な半導体メモリであってもよい。
記憶部82は、制御部83で実行されるOSや各種プログラムを記憶する。例えば、記憶部82は、後述する復号化処理を行うプログラムを記憶する。さらに、記憶部82は、制御部83で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部82は、符号化データ90と、暗号化辞書91と、符号化辞書92と、テキストファイル93とを記憶する。
符号化データ90は、暗号化装置50から受信した、出力対象とされた社員のレコードを記憶した符号化データを記憶したものである。例えば、符号化データ90は、図1の例の符号化データ34が対応する。
暗号化辞書91は、暗号化装置50から受信した、出力対象とされた暗号化辞書63を記憶したものである。例えば、暗号化辞書91は、図1の例の暗号化辞書33が対応する。
符号化辞書92は、暗号化辞書91を復号化したデータを記憶したものである。例えば、符号化辞書92は、図1の例の符号化辞書32が対応する。暗号化辞書91が正当な復号化キーで復号化された場合、符号化辞書92は、符号化辞書62と同一に復元される。
テキストファイル93は、符号化データ90を符号化辞書92により復号化したデータを記憶したものである。例えば、テキストファイル93は、図1の例のCSVファイル35が対応する。暗号化辞書91が正当な復号化キーで復号化された場合、テキストファイル93に符号化されたデータは、元のデータに復元される。
制御部83は、復号化装置80を制御するデバイスである。制御部83としては、CPU、MPU等の電子回路や、ASIC、FPGA等の集積回路を採用できる。制御部83は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部83は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部83は、要求部100と、復号化部101と、出力部102とを有する。
要求部100は、暗号化装置50に対して、帳票の出力対象とするデータの送信を要求する。要求部100は、図1の例の要求部40が対応する。例えば、要求部100は、帳票の出力対象の社員を通知して、テキストファイル60に含まれる帳票の出力対象の社員のレコードを要求する。これにより、暗号化装置50から、出力対象とされた社員のレコードを記憶した符号化データや暗号化辞書33が送信される。要求部100は、暗号化装置50から受信した、出力対象とされた社員のレコードを記憶した符号化データを符号化データ90として記憶部82に格納する。また、要求部100は、暗号化装置50から受信した暗号化辞書33を暗号化辞書91として記憶部82に格納する。
復号化部101は、暗号化辞書91を用いて符号化データ90を復号化する。復号化部101は、図1の例の復号化部41が対応する。例えば、復号化部101は、符号化データ90に含まれる機密情報の項目が出力対象の項目である場合、復号化キーを用いて、暗号化辞書91を符号化辞書92に復元する。復号化キーは、ユーザに入力させてもよく、暗号化装置50から送信されたものを用いてもよく、ユーザごとにユーザの権限に応じて各項目の復号化キーを記憶した装置から取得してもよい。そして、復号化部41は、復元した符号化辞書92を用いて、符号化データ90に含まれるレコードの機密情報の項目の符号を、当該符号に対応するデータに変換して、符号化データ90に含まれるレコードをテキストファイル93に出力する。
一方、復号化部101は、機密情報の項目が出力する必要のない項目である場合、暗号化辞書91を復号化しない。例えば、復号化部101は、出力する必要のない項目については符号をそのままとして、符号化データ90のレコードをテキストファイル93に出力する。なお、復号化部101は、符号に対応するデータが無い場合、符号を特定の文字に変換して出力してもよく、空白に変換して出力してもよい。
出力部102は、テキストファイル93を用いて、各種の出力を行う。出力部102は、図1の例の印刷処理部42が対応する。例えば、出力部102は、テキストファイル93を用いて印刷用データを生成し、帳票を印刷する。なお、出力部102は、生成したテキストファイル93を他のプログラムや他の装置へ出力してもよい。
ここで、例えば、従来、機密情報を含むファイルを秘匿する場合、ファイル全体を暗号化することが考えられる。例えば、CSVファイルを、Zip形式などの圧縮形式を用いてZIPファイルなどに圧縮し、圧縮ファイルを暗号化する方法が考えられる。しかし、ファイル全体を暗号化した場合、復号化時に全ての情報が復号されてしまい、情報漏洩のリスクがある。
また、例えば、CSVファイルをレコードごとに暗号化することが考えられる。しかし、CSVファイルをレコードごとに暗号化を行う場合、暗号化された暗号化ファイルを利用する際に、使用する全ての行を復号化しなければならず、処理速度が遅くなる。また、CSVファイルをレコードごとに暗号化を行う場合、全ての行に対して、別の鍵を用意しなければならず、レコード数が多いデータに対しては現実的でない。さらに、暗号化を行った上で圧縮する形となり、圧縮率が低くなる。
また、例えば、CSVファイルにおいて、機密情報の項目のみを暗号化する方法が考えられる。しかし、CSVファイルは、可変長データであり、「,」などの区切り文字によって、列として認識される。一方で、機密情報の項目を暗号化した結果、偶然、例えば、「,」などの区切り文字を示す文字コードが生成される可能性がある。このため、機密情報の項目のみを暗号化する方法は、CSVファイルのデータ構造を正しく読み込めなくなるという問題がある。そこで、項目のデータの長さ(文字数)を別途定義して、機密情報の項目を固定長で暗号化する方法も考えられる。しかし、機密情報の項目を固定長で暗号化する方法は、項目のデータに無駄が発生する。例えば、データ長の比較的短いカラム(マイナンバー・氏名・性別など)に対し、128ビットのAES(Advanced Encryption Standard)ブロック暗号などの所定サイズごとの暗号化を行う場合を考える。この場合、暗号化する項目のデータを所定サイズとするため、パディングビットが付加され、CSVファイルのデータサイズが増大する。例えば、12桁のマイナンバーは、BCD数値の場合、48ビットである。この12桁のマイナンバーを128ビットのAESブロック暗号を行う場合、パディングビットを付加して128ビットされるため、データのサイズが、2.5倍以上に肥大化する。
また、例えば、CSVファイルには機密情報を含めず、機密情報を閲覧する権限がある場合には、機密情報のみを別途取得する方法が考えられる。しかし、機密情報のみを別途取得することになるため、同一のデータであることが保証できない。例えば、文書には、原本を保存することが求められているものがある。例えば、マイナンバーを含む帳票や、病院のカルテ、法令上保存義務のある文書は、文書の原本を保存することが求められている。原本の保存は、電子データで保存することも認められている。これに対し、機密情報とCSVファイルを別々に持ち、機密情報のみを別途取得する方法は、原本保存に従わない結果となり、問題となる可能性がある。
また、例えば、暗号化装置50が、要求に応じて、暗号化辞書63と符号化データ61を要求元に送信する方法が考えられる。すなわち、暗号化装置50が、出力対象とされた社員のレコード以外の社員のレコードを送信する方法が考えられる。しかし、符号化データ61は、出力対象とされた社員のレコード以外の社員のレコードも含まれるため、情報漏洩のリスクがある。
これに対し、本実施例の暗号化システムは、CSVファイルなどのテキストファイル60を機密情報の項目など、一部の項目を、各レコードの項目単位で符号化するので、テキストファイル60を高い圧縮率で圧縮できる。また、本実施例の暗号化システムは、符号化において用いられた符号化辞書62を、辞書単位で暗号化した暗号化辞書63を生成するので、項目ごとに情報を柔軟に保護できる。また、本実施例の暗号化システムは、暗号化で項目のデータに、データサイズの増大をまねくパディングビットなどを付加しないため、符号化データ61のデータサイズが増大することを抑制でききる。また、本実施例の暗号化システムは、符号化データ61と暗号化辞書63を合わせて1つのファイルとして保存することで、原本保存に対応することができる。また、本実施例の暗号化システムでは、復号化装置80が、暗号化装置50に対してデータに含まれる一部のレコードを要求する。暗号化装置50が、データに含まれる一部のレコードの要求に応じて、要求元に、符号化データ64の符号化された一部のレコード(符号化データ64)と暗号化辞書63とを送付する。復号化装置80が、暗号化装置50から受信した一部のレコード(符号化データ90)を暗号化辞書91を用いて復号化する。このように、暗号化装置50から復号化装置80へ、符号化データ64の符号化された一部のレコードしか送信されないため、符号化データ64の送信されない他のレコードのデータの情報漏洩を抑制できる。
[処理の流れ]
次に、本実施例に係る暗号化装置50および復号化装置80が実行する各種の処理の流れについて説明する。最初に、暗号化装置50が、符号化データ64と暗号化辞書63を生成して要求に応じて送信する暗号化処理の流れについて説明する。図7は、暗号化処理の手順の一例を示すフローチャートである。この暗号化処理は、所定のタイミング、例えば、帳票に印刷するデータの生成が指示されたタイミングで実行される。
図7に示すように、第1生成部70は、複数の項目のデータをデリミタにより区切った複数のレコードを有するテキストファイル60を生成する(S10)。例えば、第1生成部70は、帳票用データとして、帳票に印刷する複数の項目のデータを有するレコードを複数備えたCSVファイルなどのテキストファイル60を生成する。
符号化部71は、テキストファイル60の少なくとも一部の項目を、各レコードの項目単位で符号化する(S11)。例えば、符号化部71は、テキストファイル60から、機密情報とされたマイナンバーの項目のデータを符号化した符号化データ61および符号化辞書62を生成する。
第2生成部72は、符号化辞書62を暗号化した暗号化辞書63を生成する(S12)。
送信部73は、帳票の出力対象とするデータの送信の要求を復号化装置80から受信したか否かを判定する(S13)。要求を受信していない場合(S13否定)、再度、S13へ移行する。
一方、要求を受信した場合(S13肯定)、送信部73は、符号化された一部のレコードと暗号化辞書63とを要求元へ送付し(S14)処理を終了する。例えば、送信部73は、要求に応じて、要求元に、符号化データ61のうち、出力対象とされた社員のレコードを記憶した符号化データ64および暗号化辞書63とを送付する。
次に、復号化装置80が符号化データ64を復号化する復号化処理の流れについて説明する。図8は、復号化処理の手順の一例を示すフローチャートである。この復号化処理は、所定のタイミング、例えば、帳票の出力対象とする社員など、帳票の出力対象とするデータが指示されたタイミングで実行される。
図8に示すように、要求部100は、暗号化装置50に対して、帳票の出力対象とするデータの送信を要求する(S20)。例えば、要求部100は、帳票の出力対象の社員を通知して、テキストファイル60に含まれる帳票の出力対象の社員のレコードを要求する。
要求部100は、暗号化装置50から符号化データ64および暗号化辞書63を受信したか否かを判定する(S21)。符号化データ64および暗号化辞書63を受信していない場合(S21否定)、再度、S21へ移行する。
一方、符号化データ64および暗号化辞書63を受信した場合(S21肯定)、要求部100は、符号化データ64および暗号化辞書63を、符号化データ90および暗号化辞書91として記憶部82に格納する(S22)。復号化部101は、暗号化辞書91を用いて符号化データ90をテキストファイル93に復号化する(S23)。
出力部102は、テキストファイル93を用いて印刷用データを生成し、帳票を印刷し(S24)、処理を終了する。
[効果]
上述してきたように、本実施例に係る暗号化装置50は、複数の項目を有するレコードを複数備えたデータ(テキストファイル60)の少なくとも一部の項目を、各レコードの項目単位で符号化する。暗号化装置50は、符号化において用いられた符号化辞書62を、辞書単位で暗号化した暗号化辞書63を生成する。復号化装置80は、暗号化装置50に対してデータに含まれる一部のレコードを要求する。暗号化装置50は、データに含まれる一部のレコードの要求に応じて、要求元に、符号化された一部のレコード(符号化データ64)と暗号化辞書63とを送付する。復号化装置80は、要求に応じて暗号化装置50から受信した一部のレコード(符号化データ90)を暗号化辞書91を用いて復号化する。これにより、情報漏洩のリスクを抑えて情報を提供できる。
また、本実施例に係る暗号化装置50は、少なくとも一部の項目のデータに、項目単位で一意となるように符号を割り当てて符号化すると共に、項目単位で割り当てた符号とデータを対応付けた符号化辞書62を生成する。これにより、符号化対象の項目ごとに、短い符号を重複させて割り当てることができるため、符号化対象の項目ごとに、データを高い圧縮率で符号化できる。
また、本実施例に係る暗号化装置50は、少なくとも一部の項目のデータに含まれる単語または数値に対して出現頻度を求め、出現頻度の高い単語または数値に対して短い符号を割り当てる。これにより、符号化対象の項目ごとに、短い符号を重複させて割り当てることができるため、符号化対象の項目ごとに、データを高い圧縮率で符号化できる。
[暗号化プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。最初に、暗号化処理を行う暗号化プログラムについて説明する。図9は、暗号化プログラムを実行するコンピュータの一例を示す図である。
図9に示すように、コンピュータ400は、CPU(Central Processing Unit)410、HDD(Hard Disk Drive)420、RAM(Random Access Memory)440を有する。これら400〜440の各部は、バス500を介して接続される。
HDD420には上記の暗号化装置50の第1生成部70(帳票処理部20)、符号化部71(符号化部21)、第2生成部72(生成部22)、送信部73(送信部23)と同様の機能を発揮する暗号化プログラム420aが予め記憶される。なお、暗号化プログラム420aについては、適宜分離してもよい。
また、HDD420は、各種情報を記憶する。例えば、HDD420は、OSや符号化に用いる各種データを記憶する。
そして、CPU410が、暗号化プログラム420aをHDD420から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、暗号化プログラム420aは、第1生成部70、符号化部71、第2生成部72、送信部73と同様の動作を実行する。
なお、上記した暗号化プログラム420aについては、必ずしも最初からHDD420に記憶させることを要しない。
[復号化プログラム]
次に、復号化処理を行う復号化プログラムについて説明する。図10は、復号化プログラムを実行するコンピュータの一例を示す図である。なお、図9と同一の部分については同一の符号を付して、説明を省略する。
図10に示すように、HDD420には上記の要求部100(要求部40)、復号化部101(復号化部41)、出力部102(印刷処理部42)と同様の機能を発揮する復号化プログラム420bが予め記憶される。なお、復号化プログラム420bについては、適宜分離してもよい。
また、HDD420は、各種情報を記憶する。例えば、HDD420は、OSや検索に用いる各種データを記憶する。
そして、CPU410が、復号化プログラム420bをHDD420から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、復号化プログラム420bは、要求部100、復号化部101、出力部102と同様の動作を実行する。
なお、上記した復号化プログラム420bについても、必ずしも最初からHDD420に記憶させることを要しない。
また、例えば、暗号化プログラム420aおよび復号化プログラム420bは、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させてもよい。そして、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ400に接続される「他のコンピュータ(又はサーバ)」などにプログラムを記憶させておく。そして、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
11 基幹システム
12 印刷拠点
20 帳票処理部
21 符号化部
22 生成部
23 送信部
30 CSVファイル
31 符号化データ
32 符号化辞書
33 暗号化辞書
34 符号化データ
35 CSVファイル
40 要求部
41 復号化部
42 印刷処理部
50 暗号化装置
52 記憶部
53 制御部
60 テキストファイル
61 符号化データ
62 符号化辞書
63 暗号化辞書
64 符号化データ
70 第1生成部
71 符号化部
72 第2生成部
73 送信部
80 復号化装置
82 記憶部
83 制御部
90 符号化データ
91 暗号化辞書
92 符号化辞書
93 テキストファイル
100 要求部
101 復号化部
102 出力部

Claims (6)

  1. 機密情報の項目を含む複数の項目を有するレコードを複数備えたデータの各レコードの少なくとも前記機密情報の項目を含む一部の項目を項目単位で符号化する符号化部と、前記符号化部による符号化において用いられた辞書を、辞書単位で暗号化した暗号化辞書を生成する生成部と、前記データに含まれる一部のレコードの要求に応じて、要求元に、符号化された前記一部のレコードと前記暗号化辞書とを送付する送信部と、を有する暗号化装置と、
    前記暗号化装置に対して前記データに含まれる一部のレコードを要求する要求部と、前記要求部からの要求に応じて前記暗号化装置から受信した前記暗号化辞書のうち、出力する必要のない項目の前記暗号化辞書は復元せず、出力対象の項目の前記暗号化辞書を前記辞書に復元し、復元した前記辞書を用いて、前記暗号化装置から受信した前記一部のレコードを復号化する復号化部とを有する復号化装置と、
    を備えた暗号化システム。
  2. 前記符号化部は、前記少なくとも一部の項目の項目データに、項目単位で一意となるように符号を割り当てて符号化すると共に、項目単位で割り当てた符号と項目データを対応付けた辞書を生成し、
    前記生成部は、前記符号化部による符号化において項目単位で生成された辞書を、辞書ごとに異なる暗号化キーにより暗号化した暗号化辞書を生成する請求項1に記載の暗号化システム。
  3. 前記符号化部は、前記少なくとも一部の項目の項目データに含まれる単語または数値に対して項目ごとに項目データに出現する出現頻度を求め、項目ごとに、出現頻度の高い単語または数値に対して短い符号を割り当てる請求項1または2に記載の暗号化システム。
  4. 暗号化装置と復号化装置による暗号化方法であって、
    前記暗号化装置が、
    機密情報の項目を含む複数の項目を有するレコードを複数備えたデータの各レコードの少なくとも前記機密情報の項目を含む一部の項目を項目単位で符号化し、
    前記符号化において用いられた辞書を、辞書単位で暗号化した暗号化辞書を生成し、
    前記データに含まれる一部のレコードの要求に応じて、要求元に、符号化された前記一部のレコードと前記暗号化辞書とを送付し、
    前記復号化装置が、
    前記暗号化装置に対して前記データに含まれる一部のレコードを要求し、
    前記要求に応じて前記暗号化装置から受信した前記暗号化辞書のうち、出力する必要のない項目の前記暗号化辞書は復元せず、出力対象の項目の前記暗号化辞書を前記辞書に復元し、復元した前記辞書を用いて、前記暗号化装置から受信した前記一部のレコードを復号化する
    処理を実行する暗号化方法。
  5. 機密情報の項目を含む複数の項目を有するレコードを複数備えたデータの各レコードの少なくとも前記機密情報の項目を含む一部の項目を項目単位で符号化する符号化部と、
    前記符号化部による符号化において用いられた辞書を、辞書単位で暗号化した暗号化辞書を生成する生成部と、
    前記データに含まれる一部のレコードの要求に応じて、要求元に、符号化された前記一部のレコードと前記暗号化辞書とを送付する送信部と、
    を有する暗号化装置。
  6. コンピュータに、
    機密情報の項目を含む複数の項目を有するレコードを複数備えたデータの各レコードの少なくとも前記機密情報の項目を含む一部の項目を項目単位で符号化し、
    前記符号化において用いられた辞書を、辞書単位で暗号化した暗号化辞書を生成し、
    前記データに含まれる一部のレコードの要求に応じて、要求元に、符号化された前記一部のレコードと前記暗号化辞書とを送付する、
    処理を実行させる暗号化プログラム。
JP2016198455A 2016-10-06 2016-10-06 暗号化システム、暗号化方法、暗号化装置および暗号化プログラム Active JP6950162B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016198455A JP6950162B2 (ja) 2016-10-06 2016-10-06 暗号化システム、暗号化方法、暗号化装置および暗号化プログラム
US15/717,013 US10706163B2 (en) 2016-10-06 2017-09-27 Encryption system, encryption method and encryption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016198455A JP6950162B2 (ja) 2016-10-06 2016-10-06 暗号化システム、暗号化方法、暗号化装置および暗号化プログラム

Publications (2)

Publication Number Publication Date
JP2018061171A JP2018061171A (ja) 2018-04-12
JP6950162B2 true JP6950162B2 (ja) 2021-10-13

Family

ID=61829011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016198455A Active JP6950162B2 (ja) 2016-10-06 2016-10-06 暗号化システム、暗号化方法、暗号化装置および暗号化プログラム

Country Status (2)

Country Link
US (1) US10706163B2 (ja)
JP (1) JP6950162B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6867583B2 (ja) * 2017-03-23 2021-04-28 富士通株式会社 データ生成プログラム、データ生成方法、およびデータ生成装置
WO2024078023A1 (zh) * 2022-10-13 2024-04-18 苏州浩辰软件股份有限公司 一种用于cad文件的局部加密方法、系统及计算机程序产品

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4050050B2 (ja) * 2001-12-17 2008-02-20 株式会社アクアキャスト リレーショナルデータベース及びそのリレーショナルデータベースにおけるインデックステーブルの作成方法並びに該リレーショナルデータベースにおける範囲検索の方法およびその範囲検索のための順位検索方法
US20060085737A1 (en) * 2004-10-18 2006-04-20 Nokia Corporation Adaptive compression scheme
JP5003680B2 (ja) * 2006-06-23 2012-08-15 富士通株式会社 伸張制御方法、伸張制御システム、伸張制御プログラム、および伸張装置
JP2009087160A (ja) 2007-10-01 2009-04-23 Fuji Xerox Co Ltd ログ集計システム、暗号化ログ生成装置及びプログラム
US8166313B2 (en) * 2008-05-08 2012-04-24 Fedtke Stephen U Method and apparatus for dump and log anonymization (DALA)
JP5895545B2 (ja) * 2012-01-17 2016-03-30 富士通株式会社 プログラム、圧縮ファイル生成方法、圧縮符号伸張方法、情報処理装置、および記録媒体
WO2014092180A1 (ja) 2012-12-13 2014-06-19 日本電気株式会社 中間サーバ、データベース問い合わせ処理方法およびプログラム
JP6107513B2 (ja) * 2013-07-29 2017-04-05 富士通株式会社 情報処理システム、情報処理方法、および情報処理プログラム
JP2015041319A (ja) 2013-08-23 2015-03-02 株式会社リコー データ管理装置、データ管理方法、及びプログラム

Also Published As

Publication number Publication date
JP2018061171A (ja) 2018-04-12
US10706163B2 (en) 2020-07-07
US20180101687A1 (en) 2018-04-12

Similar Documents

Publication Publication Date Title
US9736142B2 (en) Tokenization using multiple reversible transformations
US8666065B2 (en) Real-time data encryption
JP4893750B2 (ja) データ圧縮装置およびデータ復元装置
US8949625B2 (en) Systems for structured encryption using embedded information in data strings
JP6364287B2 (ja) データ秘匿・復元装置、方法およびプログラム、データ秘匿・復元システム、ならびに帳票作成装置
JP6867583B2 (ja) データ生成プログラム、データ生成方法、およびデータ生成装置
CN111984987B (zh) 一种用于电子病历脱敏及还原的方法、装置、系统和介质
JP6950162B2 (ja) 暗号化システム、暗号化方法、暗号化装置および暗号化プログラム
US10552635B2 (en) Encoding method, encoding device, decoding method and decoding device
JP6907948B2 (ja) ファイル生成プログラム、ファイル生成方法及びファイル生成装置
KR100910303B1 (ko) 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
JP2001142396A (ja) 暗号化装置とその方法、暗号復号化装置とその方法および通信システム
CN107533617B (zh) 服务器装置、信息管理系统、信息管理方法以及计算机程序
US20100250602A1 (en) Computer storage apparatus for multi-tiered data security
US11816242B2 (en) Log compression and obfuscation using embeddings
JP5865565B2 (ja) 文章認識装置、文章認識方法、及びプログラム
JP6202969B2 (ja) 情報処理装置、暗号化方法
JP2006004301A (ja) データを管理する方法および情報処理装置
US11829512B1 (en) Protecting membership in a secure multi-party computation and/or communication
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform
WO2023167266A1 (ja) データ管理システム
US9507734B2 (en) Corrupting data structures for privacy protection
Savant et al. Data Solution
SRIDEVI et al. Information Security through Compression and Cryptography Techniques
CN113761320A (zh) 针对敏感数据的安全相似性搜索

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210906

R150 Certificate of patent or registration of utility model

Ref document number: 6950162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150