JP6401875B2 - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP6401875B2
JP6401875B2 JP2017567893A JP2017567893A JP6401875B2 JP 6401875 B2 JP6401875 B2 JP 6401875B2 JP 2017567893 A JP2017567893 A JP 2017567893A JP 2017567893 A JP2017567893 A JP 2017567893A JP 6401875 B2 JP6401875 B2 JP 6401875B2
Authority
JP
Japan
Prior art keywords
key
data
user terminal
server
user
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
JP2017567893A
Other languages
English (en)
Other versions
JPWO2017141399A1 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017141399A1 publication Critical patent/JPWO2017141399A1/ja
Application granted granted Critical
Publication of JP6401875B2 publication Critical patent/JP6401875B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Description

本発明は、データ処理システムに係り、特に、クラウドサービスなどによりデータ預託をおこなった場合に、処理負荷をあまりかけずに、データの完全性を検証するのに好適なデータ処理システムに関する。
情報システムの開発の効率化、運用管理費の低減などを目的に、近年、情報システムを自身で保持せず、外部業者に委託するクラウドと呼ばれる運用管理形態の利用が広がっている。しかし、効率化やコスト低減の反面、クラウドにおいては、情報システムを管理する業者が、情報システムを利用するユーザとは異なるため、ユーザは外部業者も含めた第三者への機密情報漏えいや改ざんについて不安を抱くことになる。
機密情報漏洩や改ざんに対しては、暗号技術が有効であり、AES暗号やメッセージ認証子、デジタル署名などの従来技術によりこれらのセキュリティ要件を達成することが可能である。
一方、情報システムの適用が広がり、通常の計算機の計算能力より低い能力しか持たないセンサーや組み込み機器などにも通信機能を持たせ、情報収集などをさせる動きがある(モノのインターネット、IoT:Internet of Thingsなどと呼ばれる)。収集される情報は有用であり、また場合によっては個人のプライバシーに関わる情報であることもあり、これらの情報の秘匿性や完全性を保証することが必要であるが、一般にセンサーなどでは計算能力が低いことからデジタル署名等の公開鍵暗号技術を適用することは効率面から望ましくないのが現状である。
共通鍵暗号技術では実装規模や処理効率の面で上記状況には適しているが、暗復号化や、メッセージ認証子の生成/検証の鍵は共通であり、送受信者が異なる場合にはその鍵の共有が問題となる。またユーザ(センサー)数が多い場合にも同一の鍵で運用するのはセキュリティ上の脆弱性を生み、望ましくない。よって、各ユーザが別々の鍵を用いるシステムが必要である。
クラウドを介して情報を送受信/共有するシステムにおいては、クラウド上の計算リソースを活用することが考えられる。共通鍵暗号技術を用いて上記の個別鍵による情報共有システムを運用する場合、クラウド管理者が全ての個別鍵を集約して持ち、復号やメッセージ認証子の再生成などをおこなったうえで、送信する方法が考えられるが、クラウドなどの計算リソースアウトソーシングにおいて、その管理者は外部のものであり、情報の漏えい、改ざんに対して強い保証をすることは困難である。そこでクラウド上の計算リソースを利用しつつ、クラウド管理者へも情報を漏らさない、また改ざんの能力を与えない方法が望まれる。
このような諸問題に関して、公開鍵暗号技術に基づく再暗号化技術を用いれば、クラウド管理者などへの情報漏えいを防ぎつつ、個別の鍵による情報の完全性保証や情報漏えい防止などが実現可能である。この公開鍵暗号技術をもとにした再暗号化技術については、例えば、特許文献1に開示がある。
国際公開第2012/147869号明細書
上記特許文献1に記載の再暗号化技術では、再暗号化装置が、第1ユーザの秘密鍵、第2ユーザの公開鍵、および、乱数に基づいて、再暗号化鍵を生成することにより、プロキシ再暗号化方式において、ユーザとサーバの管理者が結託した場合でも、復号権限が移譲元の許可なく再移譲されることを阻止しうるものとしている。
しかしながら、特許文献1に記載された公開鍵をベースにした再暗号化技術では、多大な処理負荷がかかるため、上記のIoT分野における計算リソースの乏しいセンサーなどでは利用が困難であるという問題点があった。
また、上記特許文献1に記載の再暗号化技術では、データを移譲されたユーザがどのようにデータの完全性を確認するかについても考慮されていない。
本発明は、上記問題点を解決するためになされたもので、その目的は、データ預託をおこなった場合に、データを移譲されたものが、処理負荷をあまりかけずに、データの完全性を検証でき、データが暗号化されている場合には、処理負荷をあまりかけずに、復号しうるデータ処理システムを提供することにある。
本発明のデータ処理システムの構成は、ユーザ端末Aからデータをデータ保管サーバにアップロードして、ユーザ端末Bからデータをアクセスするデータ処理システムであり、ユーザ端末Aとユーザ端末Bは、それぞれ第一の固有鍵、第二の固有鍵を有し、データ保管サーバは、付替鍵を有している。そして、ユーザ端末Aは、一時鍵を生成し、データと一時鍵により、メッセージ認証子を生成し、一時鍵と第一の固有鍵により、第一の合成鍵を生成し、データ、第一の合成鍵、メッセージ認証子を、データ保管サーバに送信する。データ保管サーバは、受信した第一の合成鍵と付替鍵より、第二の合成鍵を生成し、データ、第二の合成鍵、メッセージ認証子を、ユーザ端末Bに送信する。ユーザ端末Bは、受信した第二の合成鍵と第二の固有鍵により、一時鍵を生成し、データと生成した一時鍵により、メッセージ認証子を生成し、生成したメッセージ認証子と、受信したメッセージ認証子を比較するようにしたものである。
また、本発明のデータ処理システムの別の構成は、ユーザ端末Aからデータをデータ保管サーバにアップロードして、第二の端末からデータをアクセスするデータ処理システムであって、第一の端末と第二の端末は、それぞれ第一の固有鍵、第二の固有鍵を有し、データ保管サーバは、付替鍵を有している。そして、第一の端末は、一時鍵を生成し、一時鍵により、平文データより暗号化データを生成し、一時鍵と第一の固有鍵により、第一の合成鍵を生成し、暗号化データ、第一の合成鍵を、データ保管サーバに送信する。データ保管サーバは、受信した第一の合成鍵と付替鍵より、第二の合成鍵を生成し、暗号化データ、第二の合成鍵を、第二の端末に送信する。第二の端末は、受信した第二の合成鍵と第二の固有鍵により、一時鍵を生成し、生成した一時鍵により、暗号化データを復号するようにしたものである。
本発明によれば、データ預託をおこなった場合に、データを移譲されたものが、処理負荷をあまりかけずに、データの完全性を検証でき、データが暗号化されている場合には、処理負荷をあまりかけずに、復号しうるデータ処理システムを提供することができる。
第一の実施形態に係るデータ処理システムの全体構成を示す図である。 データ保管サーバの機能構成図である。 鍵生成サーバの機能構成図である。 ユーザ端末Aの機能構成図である。 ユーザ端末A(コンピュータ)のハードウェア構成図である。 データ、鍵情報、メッセージ認証子の組をユーザ端末Aが作成するまでの概要図である。 ユーザ端末Bがデータ保管サーバに格納されたデータのデータ完全性を検証するまでの概要図である。 データ、鍵情報、メッセージ認証子の組をユーザ端末Aが作成し、データ保管サーバに送信するまでの処理を示すフローチャートである。 鍵生成サーバが付替鍵を生成し、データ保管サーバに送信する処理を示すフローチャートである。 データ保管サーバがデータ、鍵情報、メッセージ認証子の組を生成し、ユーザ端末Bに送信するまでの処理を示すフローチャートである。 ユーザ端末Bがデータ完全性の検証をおこなう処理を示すフローチャートである。 データ処理システムの処理の全体の処理を示すシーケンス図である。 ユーザ端末Aから暗号化したデータが、アップロードされたときの処理の概要図である。 第二の実施形態におけるデータと鍵の受け渡しの階層構造を説明する図である(その一)。 第二の実施形態におけるデータと鍵の受け渡しの階層構造を説明する図である(その二)。
以下、本発明に係る各実施形態を、図1ないし図14Bを用いて説明する。
〔実施形態1〕
以下、本発明の第一の実施形態を、図1ないし図13を用いて説明する。
先ず、図1ないし図5を用いて本発明の第一の実施形態に係るデータ処理システムのシステム構成について説明する。
図1は、第一の実施形態に係るデータ処理システムの全体構成を示す図である。
図2は、データ保管サーバの機能構成図である。
図3は、鍵生成サーバの機能構成図である。
図4は、ユーザ端末Aの機能構成図である。
図5は、ユーザ端末A(コンピュータ)のハードウェア構成図である。
本実施形態のデータ処理システムは、図1に示されるように、ユーザ端末A300、ユーザ端末B400、鍵生成サーバ100、データ保管サーバ200がネットワーク60により互いに接続された形態である。
本実施形態で、ユーザAがユーザ端末A300により、データ保管サーバ200にデータ預託をおこない、ユーザBがユーザ端末B400によりそのデータをアクセスする例を想定する。
データ保管サーバ200は、ユーザのデータを保管し、それのアクセスを許認可するためのサーバであり、例えば、クラウドサービスによりデータ保管のサービスをおこなう事業者が運営するサーバであり、サービスを享受するエンドユーザは、ユーザ端末からデータ保管サーバ200にデータをアップロードしたり、ダウンロードすることが可能である。ここで、ユーザ端末は、エンドユーザが、インターネットによりデータ保管サーバ200のデータにアクセスするデスクトップコンピュータ、ノートブックコンピュータ、タブレット、スマートフォンなどの機器である。
鍵生成サーバ100は、本実施形態のデータ処理に必要なための暗号化のための鍵を生成して、エンドユーザのユーザ端末やデータ保管サーバ200に配布するサーバである。
データ保管サーバ200は、図2に示されるように、機能構成として、制御部210と、記録部220と、入力部201と、出力部202と、通信部203を備える。
入力部201と、出力部202は、それぞれ情報の入力と出力をおこなう部分である。通信部203は、外部装置とのデータの送受信をおこなう部分である。制御部210は、この装置の各部を制御し、プログラムを実行する部分である。記録部220は、データやプログラムを記憶する部分である。
制御部210は、全体処理部211と、鍵付替処理部212を備える。
全体処理部211は、データ保管サーバ200における処理を制御し、入力部201を介して、受け付けた情報を記録部220に格納する。また、ユーザ端末300、400との情報の送受信を制御する。さらに、全体処理部211は、データを出力部202に表示する処理をおこない、記録部220に格納されているデータを読み込み、通信部203を介して、そのデータをユーザ端末300、400へ送信する。
記録部220は、データ記録部230と、一時情報記録部250を備える。
データ記録部230には、ユーザデータ231が格納されている。ユーザデータ231は、ユーザ端末からアップロードされるデータであり、暗号化されていることもあるし、平文のまま格納されることもある。
鍵記録部240は、付替鍵241が格納されている。
付替鍵241は、ユーザの固有鍵から、固有の群演算により生成される鍵(後述)である。
一時情報記録部250には、制御部210での処理で一時的に必要となるワークデータが格納される。
ユーザ端末A300は、図3に示されるように、制御部310と、記録部320と、入力部301と、出力部302と、通信部303を備える。
入力部301と、出力部302は、それぞれ情報の入力と出力をおこなう部分である。通信部303は、外部装置とのデータの送受信をおこなう部分である。制御部310は、この装置の各部を制御し、プログラムを実行する部分である。記録部320は、データやプログラムを記憶する部分である。
制御部310は、全体処理部311と、認証子生成/暗号化処理部312と、復号化/認証子検証処理部313を備える。
全体処理部311は、ユーザ端末300における処理を制御し、入力部301を介して、受け付けた情報を記録部320に格納する。また、データ保管サーバ200との情報の送受信を制御する。
さらに、全体処理部311は、データを出力部302に表示する処理をおこない、記録部320に格納されているデータを読み込み、それぞれ、認証子生成/暗号化処理部312にデータに対するメッセージ認証子の生成やデータの暗号化をさせ、復号化/認証子検証処理部313に暗号化データの復号化やメッセージ認証子の検証をさせ、データを、通信部303を介して、データ保管サーバ200へ送信する。
記録部320は、データ記録部330と、鍵記録部340と、一時情報記録部350を備える。
データ記録部330には、ユーザAデータ331が記録されている。
鍵記録部340には、ユーザA固有鍵341が格納されている。
一時情報記録部250には、制御部210での処理で一時的に必要となるワークデータが格納される。
図示しなかったが、ユーザ端末Bの機能構成は、制御部310に、データ保管サーバ200に保管されている他のユーザデータにアクセスし、そのデータの完全性を検証する処理部を有している。
鍵生成サーバ100は、図4に示されるように、制御部110と、記録部120と、入力部101と、出力部102と、通信部103を備える。
入力部101と、出力部102は、それぞれ情報の入力と出力をおこなう部分である。通信部103は、外部装置とのデータの送受信をおこなう部分である。制御部110は、この装置の各部を制御し、プログラムを実行する部分である。記録部120は、データやプログラムを記憶する部分である。
制御部110は、全体処理部111と、鍵生成部112と、付替鍵生成部113を備える。
全体処理部111は、鍵生成サーバ100における処理を制御し、入力部101を介して、受け付けた情報を記録部120に格納する。また、ユーザ端末300、400や、データ保管サーバ200との情報の送受信を制御する。
さらに、全体処理部111は、データを出力部102に表示する処理をおこない、記録部120に格納されているデータを読み込み、それぞれ、鍵生成部112にメッセージ認証子生成/検証鍵や暗号化鍵を生成させ、付替鍵生成部113に付替鍵を生成する。さらに生成された鍵をユーザ端末300、400へ送信し、付替鍵をデータ保管サーバ200へ送信する。
記録部120は、鍵記録部140と、一時情報記録部150を備える。
鍵記録部140には、ユーザ固有鍵141と、付替鍵142が格納される。
一時情報記録部150には、制御部110での処理で一時的に必要となるワークデータが格納される。
以上に示したユーザ端末A300は、例えば、図5に示すような、CPU(Central Processing Unit)401と、主記憶装置402と、補助記憶装置403と、読書装置407と、入力装置406と、出力装置405と、通信装置404と、システムバス409とを備えた一般的なコンピュータ400で実現できる。
CPU401は、主記憶装置402上のプログラムを命令語として実行する半導体装置である。主記憶装置402は、ワークデータやプログラムを記憶するRAM(Random Access Memory)などの記憶装置である。補助記憶装置403は、SDD(Solid State Drive)やHDD(Hard Disk Drive)等の大容量のデータ記憶装置である。読書装置407は、CDやDVD等の可搬性を有する記録媒体408に対して情報を読み書きするディスクドライブなどの装置である。入力装置406は、キーボードやマウス等のユーザが情報を入力する装置である。出力装置405は、ディスプレイやプリンタ等の情報を表示、印刷するための装置である。通信装置404は、NIC(Network Interface Card)等の通信ネットワークに接続するための装置である。
例えば、記録部320は、CPU401がメモリ402または補助記憶装置403を利用することにより実現可能であり、制御部310と制御部310に含まれる各処理部は、補助記憶装置403に記録されている所定のプログラムをメモリ402にロードしてCPU401で実行することで実現可能である。また、入力部301は、CPU401が入力装置406を利用することで実現可能であり、出力部302は、CPU401が出力装置405を利用することで実現可能であり、通信部303は、CPU401が通信装置404を利用することで実現可能である。
この所定のプログラムは、読書装置407を介して記録媒体408から、あるいは、通信装置404を介してネットワークから、補助記憶装置403に記録(ダウンロード)され、それから、メモリ402上にロードされて、CPU401により実行されるようにしてもよい。また、読書装置407を介して、記録媒体408から、あるいは通信装置404を介してネットワークから、メモリ402上に直接ロードされ、CPU401により実行されるようにしてもよい。
データ保管サーバ200や鍵生成サーバ100も同様に、図5に示すような一般的な情報処理装置の形態で実現することができる。
次に、図6ないし図13を用いて第一の実施形態に係るデータ処理システムの処理について説明する。
図6は、データ、鍵情報、メッセージ認証子の組をユーザ端末Aが作成するまでの概要図である。
図7は、ユーザ端末Bがデータ保管サーバに格納されたデータのデータ完全性を検証するまでの概要図である。
図8は、データ、鍵情報、メッセージ認証子の組をユーザ端末Aが作成し、データ保管サーバに送信するまでの処理を示すフローチャートである。
図9は、鍵生成サーバが付替鍵を生成し、データ保管サーバに送信する処理を示すフローチャートである。
図10は、データ保管サーバがデータ、鍵情報、メッセージ認証子の組を生成し、ユーザ端末Bに送信するまでの処理を示すフローチャートである。
図11は、ユーザ端末Bがデータ完全性の検証をおこなう処理を示すフローチャートである。
図12は、データ処理システムの処理の全体の処理を示すシーケンス図である。
図13は、ユーザ端末Aから暗号化したデータが、アップロードされたときの処理の概要図である。
本実施形態では、ユーザAがユーザ端末A300より、データMをデータ保管サーバ200にアップロードし、ユーザBがユーザ端末B400より、そのデータMをダウンロードして利用する際に、そのデータ完全性を検証するものとする。
先ず、鍵生成サーバ100は、ユーザA固有鍵(Kと表記)を生成し(図12のS01)、ユーザ端末A300に送信し(A01)、同様に、ユーザB固有鍵(Kと表記)を生成し(S02)、ユーザ端末B400に送信する(A02)。ユーザA固有鍵K、ユーザB固有鍵Kは、所定の長さのビット列で、ランダムに生成すればよい。
ユーザAは、ユーザ端末AにデータMを入力するか、格納されているデータMを指定し、鍵生成サーバ100により送信されてきたユーザA固有鍵Kを指定する(S601)。
次に、ユーザ端末A300は、乱数Rを生成する(S602、S03)。
次に、生成された乱数Rを鍵とするメッセージ認証子(tag=MAC(R,M)と表記)を計算する(S603、S03)。ここで、S603で利用するメッセージ認証子は、ハッシュ関数を用いたものやブロック暗号を用いたものなど一般的に用いられているものでよい。
次に、乱数RとユーザA固有鍵Kの合成鍵であるk=(R*K)を計算する(S604、S03)。ここで*は、ビット列(固定長でよい)の集合上に定義された任意の群演算を表す。例えば、ビットごとの排他的論理和XORなどを用いることができる。
次に、ユーザ端末A300は、C=(M,k,tag)をデータ保管サーバ200に送信する(A04)。ここで「( , )」はビット列の結合を表し、順番は入れ替えてもよい。
次に、鍵生成サーバ100は、鍵記録部140の固有鍵141に記録しているユーザA固有鍵KとユーザB固有鍵Kを読み出し(S701)、付替鍵(KA→Bと表記)を生成する(S04)。付替鍵KA→Bは、(K−1*Kにより計算される(S702)。ここで、(K−1は、群演算*におけるKの逆元である。なお、*がビットごとの排他的論理和の場合はKA−1=KAになる。そして、鍵生成サーバ100は、生成した付替鍵KA→Bを、データ保管サーバ200に送信する(S703、A03)。なお、鍵生成サーバ100は、生成した付替鍵KA→Bを、鍵記録部120に記録して保管してもよい。
次に、ユーザBがデータ保管サーバ200にアップロードされたデータを入手して、データの完全性を確認する手順を説明する。
ユーザBは、ユーザ端末B400より、アクセス認証をおこなう(A05)。データ保管サーバ200は、認証処理をおこない(S05)、ユーザBにデータのアクセス権限があると認めたときは、認証OKの通知をおこなう(A06)。認証の手段は、パスワード認証、生体認証などがある。
次に、データ保管サーバ200は、付替鍵KA→Bを用いてk′=k*KA→Bを計算する(S801、S06)。
次に、データ保管サーバ200は、C′=(M,k′,tag)を、ユーザ端末B400に送信する(S802、A07)。
これを受信したユーザ端末B400は、乱数R=k′*K −1を計算し(S901、S07)、乱数Rを用いてメッセージ認証子(M,tag)の検証をおこなう(S902、S08)。その結果に応じて種々の対応をおこなってもよい。例えば、メッセージ認証子の検証でNGの場合は付替サーバに再送や、データ完全性の確認依頼をするなどしてよい。
S805で、乱数R=k′*K −1となるのは、k′=k*KA→B=(R*K)*(K −1*K)=R*(K*K −1)*K=R*Kであるから、両辺に左から、K −1をかけて、目的の式を得ることができる。
そして、ユーザ端末B400で、MとRより、メッセージ認証子tag′を生成し、受信したtagと一致するか否かを判定することにより、データMの完全性を検証することができる。
また、ユーザAが、データMを暗号化してデータ保管サーバ200に格納するときには、図13に示されるようにすればよい。ここでは、ユーザ端末A300で乱数Rを生成し、その乱数Rにより暗号化する(S1000)(データMを、暗号化した暗号化データをC(M)と表記する)ものとする。
そして、暗号化データC(M)と、合成鍵kの合成C=(C(M),k)を、データ保管サーバ200に送信する(A101)。データ保管サーバ200は、C′=(M,k′)を生成し、ユーザ端末B400に送信する(A102)。ここで、付替鍵KA→B=K −1*K、合成鍵k=R*K、合成鍵k′=k*KA→Bの定義は、上記と全く同様である。
ユーザB端末では、上記同様に、受信したk′と、自身のユーザB固有鍵Kにより、鍵となる乱数R=k′*K −1を計算し(S1010)、それにより、受信したC(M)を復号することができる(S1011)。
このように、本実施形態の手法によれば、上記のようにメッセージ認証子によるデータ完全性の確認のみならず、通常のAES(Advanced Encryption Standard:高度暗号化標準)のような共通鍵暗号を用いた暗号化、あるいはメッセージ認証と暗号化を同時に実行できる認証暗号の場合の復号にも適用することができる。
以上のように、本実施形態によれば、データの保管を委託された業者(データ保管サーバの運営業者)は、そのデータと、再暗号化方式による暗号文しか見ることができず、ユーザの固有鍵を個別にみることができないため、保管されているデータの改ざんをすること、また、暗号化してデータが保管されている場合は、その平文を導出することができない。しかしながら、付替鍵により鍵を付け替える技法により、各々のユーザに対して他のユーザの固有鍵の情報を開示することなく、別のユーザが検証や復号可能な状態に変換することができる。そのため、各ユーザは外部に預託しても情報の改ざんや情報漏えいを心配することなく、またデータ本体に比べ少ない固定長の通信を追加で行うだけで鍵の付替えに必要な計算をすべてサービス事業者である外部業者に委託することができる。
〔実施形態2〕
以下、本発明に係る第二の実施形態を、図14Aおよび図14Bを用いて説明する。
図14A、図14Bは、第二の実施形態におけるデータと鍵の受け渡しの階層構造を説明する図である。
本実施形態では、図Nに示されるように、階層的なツリー構造であり、ルートにあたる所に、ルートサーバ800があり、各ノードは、ユーザがサービスを受けるノードになっている。
本実施形態のルートサーバ800は、データ預託の上向きの最終地点であると同時に、下位階層にデータを配布するときのスタート地点でもある。また、下位から受け渡された鍵を、下位階層に受け渡す機能も有する。
各ノードの固有鍵や付替鍵は、このルートサーバ800が生成して配布するようにしてもよいし、第一の実施形態のように、別途、鍵生成サーバを設けて、それが配布するようにしてもよい。
本実施形態のデータ処理システムでは、以下のルールを仮定する。
(ルール1)各ノードは、そのノードに固有の固有鍵を有する。
(ルール2)各ノードは、接続されたノードに、データと鍵情報の受け渡しが可能であり、受け渡し先への付替鍵を知っている(利用できる)。
また、群演算*は、全てのノードに共通であるとする。
このルールの下で、図14Aに示したルートサーバ800は、ユーザ端末Aからユーザ端末Bへの付替鍵を知っており、ユーザ端末B400は、下位階層のノードであるユーザ端末B1(4001)、ユーザ端末B1(4002)、ユーザ端末B3(4003)の受け渡し先への付替鍵を知っているものとする。
このときに、ユーザAから鍵kがルートサーバ800に受け渡されときには、ルートサーバ800では、付替鍵KA→B=K −1*Kを用いて、k′=k*KA→Bに変換して、鍵情報を送信する。
そして、ユーザ端末B400が、例えば、ユーザ端末B1(4001)に鍵情報を送信するときには、付替鍵KB→B1=K −1*KB1を用いて、k′′=k*KB→B1に変換して、鍵情報を送信する。
これにより、ユーザB1(4001)は、データが送信されてきたときに、自身の固有鍵Kにより、メッセージ認証子によるデータの完全性検証や、暗号化されたデータの復号が可能となる。
データ預託の場合にも(ルール2)の代わりに、以下の(ルール2′)を適用することにより、ツリーのノード間で、鍵情報を受け渡すことが可能である。
(ルール2′)各ノードは、接続されたノードに、データと鍵情報の受け渡しが可能であり、受け渡し先のノードは、受け渡し元からの付替鍵を知っている(利用できる)。
この前提の下で、ユーザ端末A300は、ユーザ端末A1(3001)、ユーザ端末A2(3002)からデータと鍵情報が送られてきたときの付替鍵を知っているものとする。
このとき、例えば、ユーザ端末A1(3001)が、データMを上位のノードのユーザ端末A300に預託し、ユーザ端末A300は、さらに、ルートサーバ800にデータを預託するものとする。
ユーザ端末A1(3001)では、乱数Rを生成し、合成鍵k=R*KA1を作成する(実施形態1の図6:S602相当)。次に、メッセージ認証子tag=MAC(R,M)を計算し(実施形態1の図6:S603相当)、C=(M,k,tag)を、ユーザ端末A300に送信する。
ユーザ端末A300では、付替鍵KA1→A=KA1 −1*Kを用いて、合成鍵k′=k*KA1→Aを生成し、C′=(M,k′,tag)を、ルートサーバ800に送信する。
このようなツリー構造の階層システムで、鍵情報を運用する場合は、例えば、ユーザ端末A1(3001)やユーザ端末A2(3002)などが末端のセンサーノードであり、膨大な個数存在するときには、すべての付替鍵の管理をルートサーバ800に委託すると処理負荷が膨大になる場合がある。このときはユーザ端末A300にいくつかの子ノード(図のように、ユーザ端末A1(3001)やユーザ端末A2(3002)など)を負担させ、ルートサーバ800に送信する際は、ユーザ端末A300自身の鍵に付替えて送信することにより、ルートサーバ800で扱う付替鍵の個数を減らすことが可能である。
さらに、図14A、図14Bでは、3段のツリー構造で説明したが、さらに段数を増やすことにより、ルートサーバ800が管理する付替鍵の個数を指数関数的に減らすことができる。
また、本実施形態の手法によれば、上記のようにメッセージ認証子によるデータ完全性の確認のみならず、通常のAESのような共通鍵暗号を用いた暗号化、あるいはメッセージ認証と暗号化を同時に実行できる認証暗号の場合の復号にも適用することができる。
60…ネットワーク
100…鍵生成サーバ
200…データ保管サーバ
201…入力部
202…出力部
203…通信部
210…制御部
211…全体処理部
212…鍵付替処理部
220…記録部
230…データ記録部
231…ユーザデータ
240…鍵記録部
250…一時情報記録部
300…ユーザ端末A
301…入力部
302…出力部
303…通信部
310…制御部
311…全体処理部
312…認証子生成/暗号化処理部
313…復号化/認証子検証処理部
320…記録部
330…データ記録部
340…鍵記録部
341…固有鍵
350…一時情報記録部
400…ユーザ端末B
3001、3002、4001〜4003…ユーザ端末
101…入力部
102…出力部
103…通信部
110…制御部
111…全体処理部
112…鍵生成部
113…付替鍵生成部
120…記録部
140…鍵記録部
141…固有鍵
142…付替鍵
150…一時情報記録部

Claims (2)

  1. 第一のユーザ端末からデータをサーバにアップロードして、第二のユーザ端末から前記データをアクセスするデータ処理システムであって、
    前記第一のユーザ端末と前記第二のユーザ端末は、それぞれ第一の固有鍵、第二の固有鍵を有し、
    前記サーバは、付替鍵を有し、
    前記第一のユーザ端末は、一時鍵を生成し、
    前記第一のユーザ端末は、前記データと前記一時鍵により、メッセージ認証子を生成し、
    前記第一のユーザ端末は、前記一時鍵と前記第一の固有鍵により、第一の合成鍵を生成し、
    前記第一のユーザ端末は、前記データ、前記第一の合成鍵、前記メッセージ認証子を、前記サーバに送信し、
    前記サーバは、受信した前記第一の合成鍵と前記付替鍵より、第二の合成鍵を生成し、
    前記サーバは、前記データ、前記第二の合成鍵、前記メッセージ認証子を、前記第二のユーザ端末に送信し、
    前記第二のユーザ端末は、受信した前記第二の合成鍵と前記第二の固有鍵により、前記一時鍵を生成し、
    前記第二のユーザ端末は、前記データと前記生成した一時鍵により、メッセージ認証子を生成し、生成したメッセージ認証子と、受信したメッセージ認証子を比較することにより、受信したデータの完全性を判定することを特徴とするデータ処理システム。
  2. 前記第一の固有鍵、前記第二の固有鍵、前記付替鍵、前記一時鍵、前記第一の合成鍵、前記第二の合成鍵を定義するデータ空間に、群演算*が定義されており、
    前記第一の合成鍵は、前記一時鍵と前記第一の固有鍵を群演算*により演算したものであり、
    前記付替鍵は、前記第一の固有鍵の逆元と前記第二の固有鍵を群演算*により演算したものであり、
    前記第二の合成鍵は、前記第一の合成鍵と前記付替鍵を群演算*により演算したものであることを特徴とする請求項1記載のデータ処理システム。
JP2017567893A 2016-02-18 2016-02-18 データ処理システム Active JP6401875B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/054719 WO2017141399A1 (ja) 2016-02-18 2016-02-18 データ処理システム

Publications (2)

Publication Number Publication Date
JPWO2017141399A1 JPWO2017141399A1 (ja) 2018-05-31
JP6401875B2 true JP6401875B2 (ja) 2018-10-10

Family

ID=59625695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017567893A Active JP6401875B2 (ja) 2016-02-18 2016-02-18 データ処理システム

Country Status (3)

Country Link
US (1) US11290277B2 (ja)
JP (1) JP6401875B2 (ja)
WO (1) WO2017141399A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11895240B2 (en) * 2016-12-15 2024-02-06 Nec Corporation System, apparatus, method and program for preventing illegal distribution of an access token
JP6842090B2 (ja) 2018-01-18 2021-03-17 日本電信電話株式会社 通信装置、サーバ装置、秘匿通信システム、その方法、及びプログラム
JP7486688B2 (ja) 2022-04-13 2024-05-17 三菱電機株式会社 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
JP7486693B2 (ja) 2022-04-13 2024-05-17 三菱電機株式会社 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5133850B2 (ja) 2008-11-06 2013-01-30 独立行政法人科学技術振興機構 ストレージノード用再暗号化システム及びネットワークストレージ
JP5423512B2 (ja) 2010-03-18 2014-02-19 日本電気株式会社 放送型データストリーム保護システム、方法及びユーザ端末特定プログラム
SG194762A1 (en) 2011-04-27 2013-12-30 Toshiba Kk Re-encryption key generator, re-encryption apparatus, and program
JP6348004B2 (ja) 2014-06-30 2018-06-27 Kddi株式会社 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム

Also Published As

Publication number Publication date
US20210194694A1 (en) 2021-06-24
WO2017141399A1 (ja) 2017-08-24
JPWO2017141399A1 (ja) 2018-05-31
US11290277B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
US11108753B2 (en) Securing files using per-file key encryption
Yan et al. Deduplication on encrypted big data in cloud
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
KR101648364B1 (ko) 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
JP6401875B2 (ja) データ処理システム
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
US11075753B2 (en) System and method for cryptographic key fragments management
Nalinipriya et al. Extensive medical data storage with prominent symmetric algorithms on cloud-a protected framework
Kaushik et al. Secure cloud data using hybrid cryptographic scheme
Grover et al. A framework for cloud data security
Ghutugade et al. Privacy preserving auditing for shared data in cloud
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
Thota et al. Split key management framework for Open Stack Swift object storage cloud
JP2021141524A (ja) 復号システム
Ramane et al. A metadata verification scheme for data auditing in cloud environment
Anjali et al. Design and implementation of secure cloud storage system using hybrid cryptography algorithms with role based access control model
Pathak et al. Enhanced security for multi cloud storage using AES algorithm
Gonthireddy et al. Secure Big Data Deduplication with Dynamic Ownership Management in Cloud Computing
Siopi et al. DeCStor: A Framework for Privately and Securely Sharing Files Using a Public Blockchain
Vanitha et al. Secured data destruction in cloud based multi-tenant database architecture
US11683159B2 (en) Hybrid content protection architecture
Dhokate et al. Attribute-Based Storage Supporting Secure De-duplication of Encrypted Data in Cloud using DROP Technique
Ashok Reddy et al. Identity-Based Remote Data Integrity Checking Using Lattice Approach by Third-Party Auditor
Aissaoui et al. Data Security and Access Management in Cloud Computing: Capability list-based Cyrptography
NageswaraRao et al. Breaking Down and Reduplication of Information in Cloud for Best Overall Performance and Protection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180907

R150 Certificate of patent or registration of utility model

Ref document number: 6401875

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150