JP2020048107A - データ管理方法、データ管理装置及びデータ管理プログラム - Google Patents

データ管理方法、データ管理装置及びデータ管理プログラム Download PDF

Info

Publication number
JP2020048107A
JP2020048107A JP2018175986A JP2018175986A JP2020048107A JP 2020048107 A JP2020048107 A JP 2020048107A JP 2018175986 A JP2018175986 A JP 2018175986A JP 2018175986 A JP2018175986 A JP 2018175986A JP 2020048107 A JP2020048107 A JP 2020048107A
Authority
JP
Japan
Prior art keywords
data
encrypted
encrypted data
original data
data management
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.)
Pending
Application number
JP2018175986A
Other languages
English (en)
Inventor
寺尾 太郎
Taro Terao
太郎 寺尾
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018175986A priority Critical patent/JP2020048107A/ja
Priority to US16/566,893 priority patent/US11442922B2/en
Publication of JP2020048107A publication Critical patent/JP2020048107A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】同じコンテンツからは同じ暗号化テキストを得ることができるデータ管理方法を提供する。【解決手段】データ管理方法は、Aを記号の集合、A*をAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、暗号学的ハッシュ関数h:A*→Aに対して、hの部分写像hL:L→h(L)の逆hL−1を複数のピアが保持しており、元データMとその暗号化データCがあり、hL−1において、暗号化データCが保持され、元データMとその暗号化データCとの対応を証明するにあたって、ハッシュ値h(M)を計算するステップと暗号化データCをkで復号するステップと上記復号の結果と元データMとを比較するステップを有する。【選択図】図1

Description

本発明は、データ管理方法、データ管理装置及びデータ管理プログラムに関する。
特許文献1には、特定の情報に対する秘匿性を担保することができる情報処理装置、情報処理方法およびプログラムを提供することを課題とし、情報処理装置は、ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納し、また、予め記憶している第1公開鍵とは異なる第2公開鍵を、ブロックチェーンで連結されたブロックから取得し、そして、第2公開鍵で共通鍵を暗号化し、暗号化した共通鍵をブロックチェーンで連結されるブロックに格納することが開示されている。
特開2017−195627号公報
Handbook of Applied Cryptography by Menezes, van Oorschot and Vanstone.
仮想通貨、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムであるGit等において、ブロックチェーンと呼ばれている分散型電子台帳技術が用いられている。その分散型電子台帳技術では、コンテンツの内容によらず鍵が決定されることから、その鍵を紛失した場合に、暗号化前のテキストと暗号化されたコンテンツの同一性を証明することができない。
本発明は、同じコンテンツからは同じ暗号化テキストを得ることができるデータ管理方法、データ管理装置及びデータ管理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持しており、元データMとその暗号化データCがあり、h −1において、暗号化データCが保持され、元データMとその暗号化データCとの対応を証明するにあたって、ハッシュ値h(M)を計算するステップと、暗号化データCをkで復号するステップと、上記復号の結果と元データMとを比較するステップを有するデータ管理方法である。
請求項2の発明は、元データMのハッシュ値k=h(M)を特権識別子とし、対応する暗号化データCのハッシュ値p=h(C)を公開識別子とし、元データ達M∈Lsecretを特定の管理者のピアが秘匿して保持する、請求項1に記載のデータ管理方法である。
請求項3の発明は、Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持する保持手段と、元データMとその暗号化データCがあり、h −1において、暗号化データCが保持され、元データMとその暗号化データCとの対応を証明するにあたって、ハッシュ値h(M)を計算する計算手段と、暗号化データCをkで復号する復号手段と、上記復号の結果と元データMとを比較する比較手段を有するデータ管理装置である。
請求項4の発明は、コンピュータを、Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持する保持手段と、元データMとその暗号化データCがあり、h −1において、暗号化データCが保持され、元データMとその暗号化データCとの対応を証明するにあたって、ハッシュ値h(M)を計算する計算手段と、暗号化データCをkで復号する復号手段と、上記復号の結果と元データMとを比較する比較手段として機能させるためのデータ管理プログラムである。
請求項1のデータ管理方法によれば、同じコンテンツからは同じ暗号化テキストを得ることができる。
請求項2のデータ管理方法によれば、元データを特定の管理者によって秘匿して保持することができる。
請求項3のデータ管理装置によれば、同じコンテンツからは同じ暗号化テキストを得ることができる。
請求項4のデータ管理プログラムによれば、同じコンテンツからは同じ暗号化テキストを得ることができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を利用したシステム構成例を示す説明図である。 分散型電子台帳技術による管理方法例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 対象となるディレクトリとファイルの構造例を示す説明図である。 メタデータの一例を示す説明図である。 共有キーバリューストアのデータ構造例を示す説明図である。 秘匿キーバリューストアのデータ構造例を示す説明図である。 公開識別子・特権識別子ペアのデータ構造例を示す説明図である。 対象となるディレクトリとファイルの構造例を示す説明図である。 メタデータの一例を示す説明図である。 共有キーバリューストアのデータ構造例を示す説明図である。 秘匿キーバリューストアのデータ構造例を示す説明図である。 公開識別子・特権識別子ペアのデータ構造例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態であるデータ管理装置100は、分散型電子台帳技術に適合する暗号化方式に関する機能を有しており、図1の例に示すように、記憶モジュール110、計算モジュール120、復号モジュール130、比較モジュール140を有している。分散型電子台帳技術が用いられているものとして、例えば、ブロックチェーン、バージョン管理装置であるGitがある。
データ管理装置100において、Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とする。
そして、データ管理装置100は、暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持するデータ管理装置である。
元データMとその暗号化データCがあり、h −1において、暗号化データCが保持されている(つまり、C∈L)。
データ管理装置100は、元データMとその暗号化データCとの対応を証明する。つまり、データ管理装置100では、分散型電子台帳技術において、コンテンツのハッシュ値によりコンテンツの特定を行う。
記憶モジュール110は、暗号化データCが保持されている。
また、データ管理装置100は、元データMのハッシュ値k=h(M)を特権識別子とし、対応する暗号化データCのハッシュ値p=h(C)を公開識別子とし、元データ達M∈Lsecretを特定の管理者のピアが秘匿して保持するようにしてもよい。
計算モジュール120は、ハッシュ値h(M)を計算する。
復号モジュール130は、暗号化データCをkで復号する。
比較モジュール140は、復号モジュール130による復号の結果と元データMとを比較する。
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
データ管理装置100、ユーザー端末200A、ユーザー端末200B、ユーザー端末200C、バージョン管理装置250は、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、データ管理装置100による機能は、クラウドサービスとして実現してもよい。
データ管理装置100は、ユーザー端末200又はバージョン管理装置250から、暗号化されたデータと、その暗号化されたデータの元データ(暗号化される前のデータ)を受信し、暗号化されたデータと元データは対応がとれているか否かの判断を行い、その結果を返信する。ここで「対応がとれている」とは、対象となっている暗号化されたデータは、元データから暗号化されたものであることをいう。
分散型電子台帳技術は、中央集権的エンティティを前提とすることなく改竄不能な分散型台帳を実現できることで注目を集めている。
分かりやすい実用例として、あるエンティティから他のエンティティへの送金(トランザクション)の履歴を台帳で記録するデータとすることで暗号貨幣を実装するビットコイン(登録商標)が有名である。
ブロックチェーンが改竄できないということは、ビットコインの場合のプルーフ・オブ・ワークの部分を捨象するならば、データ実体のバリューとそれを指し示すキーの結合から任意性を排除し、バリューからキーが自動的に決まることによっている。キーとバリューの結合の自由さが改竄の余地と等価と考えられるからである。
ブロックチェーンの一般化された定式化について説明する。
本実施の形態において、ブロックチェーンとは、暗号学的ハッシュ関数hを構造射とするアルファベットのこと、つまり、
Figure 2020048107
のことであると定式化する。
このアルファベット上の文字列(語とも呼ばれる)は、そのハッシュ値たる文字(記号とも呼ばれる)に対応付けることができる。文字列をいつでも文字に簡約することができるので、例えば、チェーンと呼ばれる時系列データも表せる。
しかも、文字が文字列を指すキーとすると、このキーは値たる文字列から自動的に(一意に)決まるため、いわゆる改竄ができないデータ構造を実現できる。
パブリックなブロックチェーンというのは、このhの部分写像
Figure 2020048107
のことと看做せる。ここでは、LはA上の言語、つまりAの部分集合であり、h(L)はhによるLの像である。このような定式化のもとでは、分散台帳は、h−1 を系に参加するピアが共有するデータ保持方法およびプロトコルと看做せる。
この定式化のもとでは、通常ブロックチェーンの語で参照されることは無いが、Gitにおけるデータ(オブジェクト)もブロックチェーンと見做すことができる。
例えば、ビットコインのユースケースでは、トランザクションはエンティティ間の送金データであり、エンティティが実在の誰に相等するのかが不明確であるという想定があったが、台帳に記録するデータ自体を秘匿したい、例えば、機微性の高い内容を含む契約書などのドキュメントの場合、がある。
このときデータをランダムに生成された暗号鍵で暗号化すると鍵の管理が問題になる。
例えば、鍵紛失の場合がある。
元データはプライベートなリポジトリに安全に保存され、一方、パブリックなブロックチェーンには暗号化データCが保存され、タイムスタンプによる時間存在性が担保されているケースを考える。
このケースで、ランダムに生成された暗号鍵kを紛失した場合、元データMと暗号化データCとから暗号鍵kを再現することは難しい。したがって、元データとブロックチェーン上のデータとの関連を証明することができなくなり、非改竄性や時間存在性を検証できなくなる。つまり、従来技術では、元データMと暗号化データCとが対応することを証明できない。
図3は、一般的な分散型電子台帳技術による管理方法例を示す説明図である。つまり、本実施の形態による技術を用いない場合(いわゆる従来技術)での処理例を示すものである。
コンテンツA:300を鍵Aによって暗号化して暗号化されたテキスト350を生成する。また、同じコンテンツA:300を鍵Bによって暗号化して暗号化されたテキスト360を生成する。そして、暗号化されたテキスト350、暗号化されたテキスト360は、分散型電子台帳技術により管理される。
鍵を紛失した場合に、暗号化前のテキスト(この例では、コンテンツA:300)と暗号化されたコンテンツ(暗号化されたテキスト350と暗号化されたテキスト360)の同一性を証明することができない。つまり、鍵Aを紛失した場合には、コンテンツA:300を暗号化されたものが暗号化されたテキスト350であることを証明することができないことになる。これは、コンテンツの内容によらず鍵が決定されるからである。鍵Aと鍵Bは異なるので、同じコンテンツA:300に対して暗号化を施しても、暗号化されたテキスト350と暗号化されたテキスト360は異なるものとなる。
本実施の形態であるデータ管理装置100では、同じデータ(図3の例ではコンテンツA:300)からは同じ暗号化データが得られる。したがって、暗号化前のテキストと暗号化されたコンテンツの同一性を証明することができる。
パブリックブロックチェーン等の分散型電子台帳技術において、データの秘匿性の要求がある。一方、クリアテキスト(暗号化対象のデータ)からサーファーテクスト(暗号化後のデータ)とその暗号鍵を決める収束暗号化技術は、その要求に応えることができる。
本実施の形態であるデータ管理装置100では、以下の処理を行う。
収束暗号化によって
Figure 2020048107
として、元データMから暗号化鍵k=h(M)と暗号化データC=E(M)を定め、ペア(p,k)、ここでp=h(C)は暗号化データCのハッシュ値、を安全に保管する。
非改竄性や時間存在性を証明する場合、ペア(p,k)の保持者(証明者)が検証者に対して、kを提示することで、検証者は
Figure 2020048107
を確認することができる。
暗号化鍵kは常に元データMより再現できるので、先に述べた鍵紛失時の元データと暗号化データの対応証明が損なわれることは無い。
図4は、本実施の形態による処理例を示すフローチャートである。
ステップS402では、計算モジュール120は、ハッシュ値h(M)を計算する。
ステップS404では、復号モジュール130は、暗号化データCをkで復号処理を行う。
ステップS406では、比較モジュール140は、ステップS404での復号結果と元データMの比較を行い、同じ場合はステップS408へ進み、異なる場合はステップS410へ進む。
ステップS408では、「元データMと対象としている暗号化データCは対応している」と判断する。
ステップS410では、「元データMと対象としている暗号化データCは対応していない」と判断する。
ステップS412では、比較結果をユーザー(又は、依頼したユーザー端末200等)に提示する。
データ構造等を具体化して説明する。
Gitのデータ構造に基本的にしたがっている。ただし、永続化データは収束暗号化されたケースを考える。もちろんのことながら、以下の記載でハッシュ値や暗号鍵に見えるものの具体的な値は、説明用の値(いわゆるフェイク)である。
Gitにおいて、git/objectsディレクトリに暗号化されたオブジェクトが保存される例を用いる。ひとつのファイルからなるリポジトリから始めて、そのファイルが更新され、また、もう一つのファイルが追加されたときに、暗号化された分散台帳h−1 の変動について説明する。
最初のコンテンツとして、図5の例を用いる。図5は、対象となるディレクトリとファイルの構造例を示す説明図である。
ディレクトリ(repo)510の下層に1つのファイル(README)520がある。
ファイル(README)520のハッシュ値が
39dd2bdd604cc5613f2f8102a84f051a(特権識別子)
であり、
そのハッシュ値でファイル(README)520を暗号化したもののハッシュ値が
6fbd8a88a07cb5a632c8be3271889fae(公開識別子)
とする。
また、ディレクトリ(repo)510を表すメタデータ(Gitにおいては、ツリーオブジェクト)は、
6fbd8a88a07cb5a632c8be3271889fae README
のハッシュ値が
9338444555ef099749997f99983ba0a9(特権識別子)
で、そのハッシュ値でメタデータを暗号化したもののハッシュ値が
85c7c764a9a093f489c24c0dbc79aba8(公開識別子)
とする。
そして、このスナップショットのコミットを表すメタデータ(Gitにおいては、コミットオブジェクト)を、図6のメタデータ600に例示する。つまり、メタデータ600は、以下の通りである。
−−−−− −−−−− −−−−−
tree 85c7c764a9a093f489c24c0dbc79aba8
author Scott Chacon<schacon@gmaiX.com>1243040974 −0700
committer Scott Chacon<schacon@gmaiX.com>1243040974 −0700

first commit
−−−−− −−−−− −−−−−
このメタデータ600のハッシュ値が
da53d207fba1d9d2e6b39e77232b1c6d(特権識別子)
で、そのハッシュ値でメタデータを暗号化したもののハッシュ値が
e5df2509c5b30b4c5785a0e85c2fba36(公開識別子)
とする。
このとき、共有されるキーバリューストアには、図7の例に示す共有キーバリューストア700が記録される。図7は、共有キーバリューストア700のデータ構造例を示す説明図である。共有キーバリューストア700は、key欄710、value欄720を有している。key欄710は、keyを記憶している。value欄720は、valueを記憶している。
一方、秘匿されるキーバニューストアには、図8の例に示す秘匿キーバリューストア800が記録される。図8は、秘匿キーバリューストア800のデータ構造例を示す説明図である。秘匿キーバリューストア800のデータ構造は、共有キーバリューストア700と同等である。秘匿キーバリューストア800は、key欄810、value欄820を有している。key欄810は、keyを記憶している。value欄820は、valueを記憶している。
また、公開識別子と特権識別子のペア(p,k)は、図9の例に示す公開識別子・特権識別子ペア900が記録される。図9は、公開識別子・特権識別子ペア900のデータ構造例を示す説明図である。公開識別子・特権識別子ペア900は、p欄910、k欄920を有している。p欄910は、p(公開識別子)を記憶している。k欄920は、k(特権識別子)を記憶している。
ただし、このペア(公開識別子・特権識別子ペア900)は「秘匿されるキーバリューストア」(秘匿キーバリューストア800)からいつでも再生することができる。したがって、「秘匿されるキーバリューストア」(秘匿キーバリューストア800)は持たず、「公開識別子と特権識別子のペア」(公開識別子・特権識別子ペア900)のみを持つことも可能である。
次に、図5の例に示す構造から、図10の例に示すように、ファイル(README)520を修正し、新たにファイル(index.js)1030が追加されたものとする。図10は、対象となるディレクトリとファイルの構造例を示す説明図である。ディレクトリ(repo)510の下層にファイル(README)520の他に、ファイル(index.js)1030が追加された。
そして、更新されたメタデータ1100(コミットオブジェクト)を図11の例に示す。つまり、メタデータ1100は、以下の通りである。
−−−−− −−−−− −−−−−
tree f0bf2d66672b706489d592fbea1f2d83
parent e5df2509c5b30b4c5785a0e85c2fba36
author Scott Chacon<schacon@gmaiX.com>1521698626 −0700
committer Scott Chacon<schacon@gmaiX.com>1521698626 −0700

update README and add index.js
−−−−− −−−−− −−−−−
直前のコミットオブジェクトの公開識別子がparentとして含まれてチェーンとなっている。
共有されるキーバリューストアには、共有キーバリューストア1200が追加される。図12は、共有キーバリューストア1200のデータ構造例を示す説明図である。共有キーバリューストア1200は、key欄1210、value欄1220を有している。key欄1210は、keyを記憶している。value欄1220は、valueを記憶している。
そして、秘匿されるキーバリューストアには、秘匿キーバリューストア1300が追加される。図13は、秘匿キーバリューストア1300のデータ構造例を示す説明図である。秘匿キーバリューストア1300は、key欄1310、value欄1320を有している。key欄1310は、keyを記憶している。value欄1320は、valueを記憶している。
そして、公開識別子と特権識別子のペア(p,k)は、公開識別子・特権識別子ペア1400が追加される。図14は、公開識別子・特権識別子ペア1400のデータ構造例を示す説明図である。
公開識別子・特権識別子ペア1400は、p欄1410、k欄1420を有している。p欄1410は、p(公開識別子)を記憶している。k欄1420は、k(特権識別子)を記憶している。
以上のようにブロックチェーンを構成することによって、たとえコンテンツの暗号鍵を紛失しても、元のコンテンツより公開識別子と特権識別子は再構築が可能で、共有ブロックチェーンに含まれる暗号化コンテンツと元のコンテンツの対応関係を証明することができる。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図15に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1501を用い、記憶装置としてRAM1502、ROM1503、HDD1504を用いている。HDD1504として、例えば、HDD(Hard Disk Drive)、フラッシュ・メモリであるSSD(Solid State Drive)等を用いてもよい。計算モジュール120、復号モジュール130、比較モジュール140等のプログラムを実行するCPU1501と、そのプログラムやデータを記憶するRAM1502と、本コンピュータを起動するためのプログラム等が格納されているROM1503と、記憶モジュール110等としての機能を有する補助記憶装置であるHDD1504と、キーボード、マウス、タッチスクリーン、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいてデータを受け付ける受付装置1506と、CRT、液晶ディスプレイ、スピーカー等の出力装置1505と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース1507、そして、それらをつないでデータのやりとりをするためのバス1508により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図15に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図15に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)や再構成可能な集積回路(field−programmable gate array:FPGA)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図15に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…データ管理装置
110…記憶モジュール
120…計算モジュール
130…復号モジュール
140…比較モジュール
200…ユーザー端末
250…バージョン管理装置
290…通信回線

Claims (4)

  1. Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、
    暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持しており、
    元データMとその暗号化データCがあり、h −1において、暗号化データCが保持され、
    元データMとその暗号化データCとの対応を証明するにあたって、
    ハッシュ値h(M)を計算するステップと、
    暗号化データCをkで復号するステップと、
    上記復号の結果と元データMとを比較するステップ
    を有するデータ管理方法。
  2. 元データMのハッシュ値k=h(M)を特権識別子とし、
    対応する暗号化データCのハッシュ値p=h(C)を公開識別子とし、
    元データ達M∈Lsecretを特定の管理者のピアが秘匿して保持する、
    請求項1に記載のデータ管理方法。
  3. Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、
    暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持する保持手段と、
    元データMとその暗号化データCがあり、h −1において、暗号化データCが保持され、
    元データMとその暗号化データCとの対応を証明するにあたって、
    ハッシュ値h(M)を計算する計算手段と、
    暗号化データCをkで復号する復号手段と、
    上記復号の結果と元データMとを比較する比較手段
    を有するデータ管理装置。
  4. コンピュータを、
    Aを記号の集合、AをAの記号から構成されるすべての文字列の集合、LをAの部分集合、h(L)をhによるLの像とするとき、
    暗号学的ハッシュ関数h:A→Aに対して、hの部分写像h:L→h(L)の逆h −1を複数のピアが保持する保持手段と、
    元データMとその暗号化データCがあり、h −1において、暗号化データCが保持され、
    元データMとその暗号化データCとの対応を証明するにあたって、
    ハッシュ値h(M)を計算する計算手段と、
    暗号化データCをkで復号する復号手段と、
    上記復号の結果と元データMとを比較する比較手段
    として機能させるためのデータ管理プログラム。
JP2018175986A 2018-09-20 2018-09-20 データ管理方法、データ管理装置及びデータ管理プログラム Pending JP2020048107A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018175986A JP2020048107A (ja) 2018-09-20 2018-09-20 データ管理方法、データ管理装置及びデータ管理プログラム
US16/566,893 US11442922B2 (en) 2018-09-20 2019-09-11 Data management method, data management apparatus, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018175986A JP2020048107A (ja) 2018-09-20 2018-09-20 データ管理方法、データ管理装置及びデータ管理プログラム

Publications (1)

Publication Number Publication Date
JP2020048107A true JP2020048107A (ja) 2020-03-26

Family

ID=69885463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018175986A Pending JP2020048107A (ja) 2018-09-20 2018-09-20 データ管理方法、データ管理装置及びデータ管理プログラム

Country Status (2)

Country Link
US (1) US11442922B2 (ja)
JP (1) JP2020048107A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966065A (zh) * 2021-05-10 2021-06-15 炬星科技(深圳)有限公司 导航地图数据管理方法、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220029814A1 (en) * 2021-06-02 2022-01-27 Fujitsu Limited Non-transitory computer-readable storage medium, information processing method, and information processing apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003508995A (ja) * 1999-09-07 2003-03-04 イーエムシー・コーポレーション 内容が参照可能な情報を、安全に記憶し転送し検索するためのシステムおよび方法
US20070250717A1 (en) * 2006-04-20 2007-10-25 Kazuyuki Kumagai Image forming apparatus, image reproducing apparatus and image processing system
US20180025167A1 (en) * 2015-02-13 2018-01-25 Nec Europe Ltd. Method for storing a data file of a client on a storage entity

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6620000A (en) * 1999-08-06 2001-03-05 Frank W Sudia Blocked tree authorization and status systems
US10250589B2 (en) * 2010-05-20 2019-04-02 Cyberark Software Ltd. System and method for protecting access to authentication systems
US20170063530A1 (en) * 2013-08-13 2017-03-02 Michael Stephen Fiske NADO Cryptography with Key Generators
US11876889B2 (en) * 2015-09-03 2024-01-16 Fiske Software, Llc NADO cryptography with key generators
JP6302592B2 (ja) 2017-06-23 2018-03-28 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム
US11146395B2 (en) * 2017-10-04 2021-10-12 Amir Keyvan Khandani Methods for secure authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003508995A (ja) * 1999-09-07 2003-03-04 イーエムシー・コーポレーション 内容が参照可能な情報を、安全に記憶し転送し検索するためのシステムおよび方法
US20070250717A1 (en) * 2006-04-20 2007-10-25 Kazuyuki Kumagai Image forming apparatus, image reproducing apparatus and image processing system
JP2007288747A (ja) * 2006-04-20 2007-11-01 Ricoh Co Ltd 画像処理システムおよび画像処理システムの制御方法および画像形成装置および画像再生装置
US20180025167A1 (en) * 2015-02-13 2018-01-25 Nec Europe Ltd. Method for storing a data file of a client on a storage entity

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966065A (zh) * 2021-05-10 2021-06-15 炬星科技(深圳)有限公司 导航地图数据管理方法、设备及存储介质

Also Published As

Publication number Publication date
US11442922B2 (en) 2022-09-13
US20200097457A1 (en) 2020-03-26

Similar Documents

Publication Publication Date Title
CN110537183B (zh) 数据标记化方法和系统
US10608811B2 (en) Private set intersection encryption techniques
US10116645B1 (en) Controlling use of encryption keys
US10756887B2 (en) Method and system for securely replicating encrypted deduplicated storages
EP3565174B1 (en) Access management system, access management method, and program
US9430664B2 (en) Data protection for organizations on computing devices
JP2020528224A (ja) 信頼できる実行環境におけるスマート契約動作のセキュアな実行
US8489889B1 (en) Method and apparatus for restricting access to encrypted data
AU2018299716A1 (en) Key attestation statement generation providing device anonymity
US20120036365A1 (en) Combining request-dependent metadata with media content
US20200202041A1 (en) Blockchain-type data storage
US20180288020A1 (en) Data operations using a proxy encryption key
US20120198235A1 (en) Secure messaging with read-undeniability and deletion-verifiability
JP2017515413A (ja) 継続的な所有者アクセスを伴う、暗号化された仮想マシンの安全なトランスポート
US10003467B1 (en) Controlling digital certificate use
US10218693B2 (en) Management of digital certificates
KR20230078706A (ko) 포스트 양자 암호화를 사용하는 인증서 기반 보안
US10116442B2 (en) Data storage apparatus, data updating system, data processing method, and computer readable medium
US20200356670A1 (en) Tpm-based secure multiparty computing system using a non-bypassable gateway
US10592682B2 (en) Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
US9667415B1 (en) Domain-server public-key reference
JP2020048107A (ja) データ管理方法、データ管理装置及びデータ管理プログラム
JP2013058006A (ja) 情報処理装置及び情報処理プログラム
US20230336534A1 (en) Decentralized messaging inbox
JP6320943B2 (ja) 鍵共有装置、鍵共有システム、鍵共有方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221206