JP5103095B2 - Key generation device, terminal device, storage server, and computer program - Google Patents
Key generation device, terminal device, storage server, and computer program Download PDFInfo
- Publication number
- JP5103095B2 JP5103095B2 JP2007220847A JP2007220847A JP5103095B2 JP 5103095 B2 JP5103095 B2 JP 5103095B2 JP 2007220847 A JP2007220847 A JP 2007220847A JP 2007220847 A JP2007220847 A JP 2007220847A JP 5103095 B2 JP5103095 B2 JP 5103095B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- information
- shared data
- encryption
- terminal device
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、鍵生成装置、端末装置、ストレージサーバおよびコンピュータプログラムに関する。 The present invention relates to a key generation device, a terminal device, a storage server, and a computer program.
従来、共有データを暗号化してグループ内で共有する方法が知られている(例えば、特許文献1参照)。ある共有データをグループ内で共有する場合、まずグループ内で共有したいデータ(MG)を、暗号鍵(KM)を用いて共通鍵暗号で暗号化(EKM(MG))する。そして、当該グループの全メンバ(U1,...,UN)が所有する公開鍵(pk1,...,pkN)でKMを暗号化(Epk1(KM),...,EpkN(KM))し、それをリスト化して、EKM(MG)と共にサーバ等に保存する。データを参照するグループメンバ(Ui)は、リスト内から自身の公開鍵(pki)で暗号化されたKM(Epki(KM)とEKM(MG)を取得し、暗号化されたKMを自身の秘密鍵(ski)を用いて復号することにより、KMを得る。そして、KMでEKM(MG)を復号し、元データMGを得る。
しかしながら、特許文献1に記載の技術においては、グループメンバの所有する端末装置が悪意の第三者に使用された場合、端末装置が共有データの暗号化に使用している秘密鍵を保持しているため秘密鍵が漏洩してしまう可能性がある。そのため、他のグループメンバによって共有データが暗号化されていたとしても、漏洩した秘密鍵を使用して第三者が共有データの内容を復号化できる可能性があるという問題があった。また、グループメンバが共有データを初めて公開する際、共有データの暗号化に使用した鍵をグループメンバが所有する公開鍵で暗号化する、すなわち、グループメンバの人数分鍵暗号化処理を行う必要があった。そのため、初めて共有データを公開する時の処理の負荷が大きいという問題があった。また、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する場合もグループメンバの人数分鍵暗号化処理を行う必要があった。そのため、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する時の処理の負荷が大きいという問題があった。
However, in the technique described in
本発明は上記の課題を解決するためになされたものであり、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能であり、初めて共有データを公開する際の処理の負荷の軽減が可能であり、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である鍵生成装置、端末装置、ストレージサーバおよびコンピュータプログラムを提供することを目的とする。 The present invention has been made to solve the above-described problems. Even if a terminal device owned by a group member is used by a malicious third party and a key held by the terminal device is leaked, It is possible to reduce the possibility that the shared data encrypted by a group member will be decrypted by a third party, and to reduce the processing load when the shared data is published for the first time. An object of the present invention is to provide a key generation device, a terminal device, a storage server, and a computer program that can reduce the processing load when sharing data is first disclosed after updating the encryption key used for encryption.
本発明は、暗号化された共有データ(後述する実施形態の共有データMG、MG’に対応)の復号に必須な第2の分散鍵(後述する実施形態の分散鍵sk2に対応)と暗号化された前記共有データとを保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記鍵生成装置において、公開鍵と秘密鍵を生成するグループ鍵生成部と、第1の分散鍵(後述する実施形態の分散鍵sk1に対応)を生成する分散鍵生成部と、前記第1の分散鍵と秘密鍵とに基づいて、前記第1の分散鍵と前記第2の分散鍵より前記秘密鍵を生成することが可能な前記第2の分散鍵を生成する第2分散鍵生成部と、前記第1の分散鍵をN+1個の互いに異なる分割鍵(後述する実施形態の分割鍵sk1,1、sk1,2、・・・、sk1,N、sk1,Sに対応)に分割する分散鍵分割部と、前記分散鍵分割部で分割したN+1個の分割鍵を、N台の前記端末装置と前記ストレージサーバに1個ずつ配布し、N台の前記端末装置それぞれに前記公開鍵を配布し、前記ストレージサーバに前記第2の分散鍵を配布する鍵配布部と、を備え、前記第1の分散鍵は、2種類以上の前記分割鍵より生成可能であることを特徴とする鍵生成装置である。 The present invention provides a second distributed key (corresponding to a distributed key sk 2 in an embodiment described later) essential for decrypting encrypted shared data (corresponding to shared data M G , M G ′ in an embodiment described later). In the key generation device included in a data sharing system comprising: a storage server that stores the encrypted shared data; and N (N is an integer of 1 or more) terminal devices; and a key generation device. A group key generation unit that generates a public key and a secret key, a distributed key generation unit that generates a first distributed key (corresponding to a distributed key sk 1 in an embodiment described later), and the first distributed key and secret key Based on the first distributed key and the second distributed key, a second distributed key generation unit that generates the second distributed key capable of generating the secret key, and the first distributed key, The distributed key is divided into N + 1 different divided keys (divided in the embodiment described later). (Corresponding to keys sk 1,1 , sk 1,2 ,..., Sk 1, N , sk 1, S )) and N + 1 divided keys divided by the distributed key dividing unit A key distribution unit that distributes one each to the N terminal devices and the storage server, distributes the public key to each of the N terminal devices, and distributes the second distributed key to the storage server; , And the first distributed key can be generated from two or more types of the split keys.
また、本発明は、前記端末装置の環境を移行する元の端末装置である移行元端末装置を一意に特定する移行元端末装置情報と、前記移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報とを含む端末装置移行情報を受信する受信部と、前記受信部で端末装置移行情報を受信した際に、分割鍵を更新するための情報である分割鍵更新情報(後述する実施形態の分割鍵更新用シェアSR,1、SR,Sに対応)を生成する分割鍵更新情報生成部と、前記分割鍵更新情報生成部で生成した前記分割鍵更新情報を前記端末装置移行情報に含まれていない端末装置とストレージサーバとに配布する更新情報配布部と、を備え、前記分散鍵分割部は、前記移行先端末装置が使用する分割鍵を生成し、前記鍵配布部は前記分散鍵分割部が生成した前記分割鍵と、前記公開鍵とを前記移行先端末装置に送信することを特徴とする鍵生成装置である。 Further, the present invention provides migration source terminal device information that uniquely identifies a migration source terminal device that is an original terminal device that migrates the environment of the terminal device, and a terminal device that is a migration destination of the environment of the migration source terminal device. A receiving unit that receives terminal device migration information including migration destination terminal device information that uniquely identifies a certain migration destination terminal device, and for updating a split key when the receiving unit receives the terminal device migration information Generated by the split key update information generating unit that generates split key update information (corresponding to split key update shares SR , 1 , SR , S in embodiments described later), and the split key update information generating unit An update information distribution unit that distributes the split key update information to a terminal device and a storage server that are not included in the terminal device transfer information, and the distributed key split unit is used by the transfer destination terminal device Generate a split key And the divided key the distributed key dividing unit has generated the distribution unit, a key generation device and transmits the said public key to said destination terminal device.
また、本発明は、暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記端末装置において、前記鍵生成装置より送付された公開鍵から暗号鍵(後述する実施形態の暗号鍵KMに対応)と第1の鍵復元用情報(後述する実施形態の鍵復元用情報C0,1に対応)とを生成する暗号鍵生成部と、前記暗号鍵を使用して共有データを暗号化する暗号部と、暗号化した前記共有データと、前記第1の鍵復元用情報とを前記ストレージサーバに送信する送信部と、暗号化された共有データと、第2の鍵復元用情報(後述する実施形態の鍵復元用情報C1に対応)と、第3の鍵復元用情報(後述する実施形態の鍵復元用情報C2に対応)とを前記ストレージサーバから受信する受信部と、前記鍵生成装置より送付された分割鍵と、前記受信部で受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元する暗号鍵復元部と、前記暗号鍵復元部で復元した前記暗号鍵を用いて、前記受信部で受信した暗号化された前記共有データを復号する復号部と、を備えたことを特徴とする端末装置である。 The present invention also provides a storage server for storing a second distributed key essential for decrypting encrypted shared data and the encrypted shared data, a terminal device, and data including a key generation device in the terminal device included in the shared system, from said public key sent from the key generation apparatus (corresponding to the encryption key K M embodiments to be described later) encryption key with the first key recovery information (in embodiments described later The key recovery information C 0,1 ), an encryption unit that encrypts shared data using the encryption key, the encrypted shared data, and the first a transmission unit for transmitting the key recovery information to the storage server, the encrypted shared data, and second key recovery information (corresponding to the key recovery information C 1 embodiment to be described later), a third Key recovery information (key recovery in the embodiment described later) A receiving unit and use information corresponding to C 2) received from the storage server, a division key sent from the key generation device, and the second key recovery information received by the receiving unit, the third An encryption key restoring unit for restoring an encryption key based on the key restoration information, and decrypting the encrypted shared data received by the receiving unit using the encryption key restored by the encryption key restoring unit And a decoding unit.
また、本発明は、前記鍵生成装置より分割鍵更新情報を受信する更新情報受信部と、前記更新情報受信部が受信した前記分割鍵更新情報に基づいて、前記分割鍵を更新する分割鍵更新部と、を備えたことを特徴とする端末装置である。 The present invention also provides an update information receiving unit that receives split key update information from the key generation device, and a split key update that updates the split key based on the split key update information received by the update information receiving unit. A terminal device.
また、本発明は、2つの情報のみで前記暗号鍵を生成可能な情報である、第1のシェア(後述する実施形態のシェアS1,1に対応)と第2のシェア(後述する実施形態のシェアS1,2に対応)とを生成するシェア生成部を備え、前記送信部は、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを前記ストレージサーバに送信し、前記受信部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記第2のシェアとを受信し、前記暗号鍵復元部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記第1のシェアと前記第2のシェアとに基づいて暗号鍵を復元することを特徴とする端末装置である。 Further, the present invention provides a first share (corresponding to shares S1 and 1 in the embodiments described later) and a second share (information in the embodiments described later), which are information that can generate the encryption key using only two pieces of information. Share generation unit for generating the share S1, 2), and the transmission unit transmits the encrypted shared data, the first key recovery information, and the second share to the storage server. transmitted to, the receiver, if the encryption key the encryption unit is used in the encryption of the shared data is updated, the shared data and the second key recovery information encrypted when, and said third key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and said second share of the The encryption key restoration unit is configured so that the encryption unit When the encryption key used for encryption of the data is updated, the split key sent from the key generation device, the second key restoration information received by the receiving unit, and the third key It restores the encryption key on the basis of on the key recovery information, if the encryption key is not updated, and Turkey restore the encryption key on the basis of the second share between the first share Is a terminal device.
また、本発明は、暗号鍵を生成する基の情報であるマスタシェア(後述する実施形態のマスタシェアSMに対応)を記憶する記憶部と、2つの情報のみで前記マスタシェアを復元することが可能な情報である、第1の分割シェア(後述する実施形態の分割シェアSM1に対応)と第2の分割シェア(後述する実施形態の分割シェアSM2に対応)とを生成する分割シェア生成部と、前記暗号鍵と前記マスタシェアとに基づいて、前記マスタシェアと暗号鍵シェアの2つの情報のみで前記暗号鍵を生成可能な情報である暗号鍵シェア(後述する実施形態の暗号鍵シェアSKM,1に対応)を生成するシェア生成部と、を備え、前記送信部は、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを前記ストレージサーバに送信し、前記受信部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記暗号鍵シェアとを受信し、前記暗号鍵復元部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記マスタシェアと、前記暗号鍵シェアとに基づいて暗号鍵を復元することを特徴とする端末装置である。 Further, the present invention is to restore a storage unit for storing the master share the information of the group that produces the encryption key (corresponding to the master share SM embodiments to be described later), the master share only two pieces of information Is a split share generation unit that generates a first split share (corresponding to a split share SM1 in an embodiment described later) and a second split share (corresponding to a split share SM2 in an embodiment described later). If, before SL on the basis of the encryption key and said master share the master share the encryption key two only cryptographic key shares embodiment of the encryption key shares (described later is capable of generating information the encryption key information share SKM, 1 to and a share generator for generating a corresponding), and the transmission unit, the a shared data encrypted, and the first key recovery information, the storage server and the encryption key shares Transmitted to, the receiver, if the encryption key the encryption unit is used in the encryption of the shared data is updated, the shared data and the second key recovery information encrypted when, and said third key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and the encryption key shares, the cryptographic When the encryption key used by the encryption unit for encryption of the shared data is updated, the key restoration unit is configured to transmit the split key sent from the key generation device and the first received by the reception unit. 2 based on the key recovery information and the third key recovery information, and when the encryption key has not been updated , based on the master share and the encryption key share. terminal and wherein the benzalkonium restore the encryption key Te A.
また、本発明は、ストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムに含まれるストレージサーバにおいて、前記端末装置より暗号化された共有データと第1の鍵復元用情報とを受信する受信部と、前記受信部で受信した前記共有データと前記第1の鍵復元用情報とを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、分割鍵とを記憶する記憶部と、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、第2の鍵復元用情報と、第3の鍵復元用情報とを生成する鍵復元用情報生成部と、暗号化された共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを端末装置に送信する送信部と、を備えたことを特徴とするストレージサーバである。 Further, the present invention provides a storage server included in a data sharing system including a storage server, a terminal device, and a key generation device, and the shared data encrypted by the terminal device and the first key recovery information. And a second distributed key essential for decrypting the encrypted shared data, storing the associated data received by the receiving unit and the first key recovery information in association with each other, and A second key restoration information and a third key based on the storage unit for storing the division key, the first key restoration information, the division key, and the second distributed key. A key recovery information generating unit that generates recovery information, a transmission unit that transmits the encrypted shared data, the second key recovery information, and the third key recovery information to the terminal device And a storage server characterized by comprising:
また、本発明は、前記鍵生成装置より分割鍵を更新するための情報である分割鍵更新情報を受信する更新情報受信部と、前記更新情報受信部が受信した前記分割鍵更新情報に基づいて、前記分割鍵を更新する分割鍵更新部と、を備えたことを特徴とするストレージサーバである。 Further, the present invention is based on an update information receiving unit that receives split key update information that is information for updating a split key from the key generation device, and the split key update information received by the update information receiving unit. And a split key update unit that updates the split key.
また、本発明のストレージサーバにおいて、前記受信部は、前記端末装置より暗号化された前記共有データと、第1の鍵復元用情報と、第2のシェアとを受信し、前記記憶部は、前記受信部で受信した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な前記第2の分散鍵と、前記分割鍵とを記憶し、前記鍵復元用情報生成部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、前記送信部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記第2のシェアとを前記端末装置に送信することを特徴とする。 Further, the storage server of the present invention, the receiving unit, said a shared data encrypted from the terminal device, the first key recovery information, and receives a second share, the storage unit, The shared data received by the receiving unit, the first key recovery information, and the second share are stored in association with each other, and the second distribution essential for decrypting the encrypted shared data A key and the split key, and the key recovery information generation unit, when the encryption key used for encryption of the shared data is updated in the terminal device, the first key recovery Generating the second key recovery information and the third key recovery information based on the information for use, the split key, and the second distributed key, and the transmitting unit includes the terminal if the encryption key used to encrypt the shared data in device is updated, And Goka been the shared data, and the second key recovery information, transmits the said third key recovery information to the terminal device, when the encryption key has not been updated, encrypting wherein the shared data, and said second share it characterized and Turkey be transmitted to the terminal device.
また、本発明のストレージサーバにおいて、前記受信部は、前記端末装置より暗号化された前記共有データと、第1の鍵復元用情報と、暗号鍵シェアとを受信し、前記記憶部は、前記受信部で受信した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、前記分割鍵とを記憶し、前記鍵復元用情報生成部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、前記送信部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記暗号鍵シェアとを前記端末装置に送信することを特徴とする。 Further, the storage server of the present invention, the receiving unit, said a shared data encrypted from the terminal device, the first key recovery information, and receives the encryption key shares, the storage unit, the Storing the shared data received by the reception unit, the first key recovery information, and the encryption key share in association with each other , and a second distributed key essential for decrypting the encrypted shared data; Storing the split key, and when the encryption key used for encrypting the shared data in the terminal device is updated , the key recovery information generation unit and the first key recovery information , Generating the second key recovery information and the third key recovery information based on the split key and the second distributed key, and the transmitting unit is configured to if the encryption key used to encrypt the shared data is updated, encryption And the shared data, and the second key recovery information, transmits the said third key recovery information to the terminal device, when the encryption key has not been updated, the encrypted and the shared data, it characterized that you send and the encryption key shares to the terminal device.
また、本発明は、暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置とを備えたデータ共有システムにおいて、公開鍵と秘密鍵を生成するグループ鍵生成ステップと、第1の分散鍵を生成する分散鍵生成ステップと、前記第1の分散鍵と秘密鍵とに基づいて、前記第1の分散鍵と前記第2の分散鍵より前記秘密鍵を生成することが可能な前記第2の分散鍵を生成する第2分散鍵生成ステップと、前記第1の分散鍵をN+1個の互いに異なる分割鍵に分割する分散鍵分割ステップと、前記分散鍵分割ステップで分割したN+1個の分割鍵を、N台の前記端末装置と前記ストレージサーバに1個ずつ配布し、N台の前記端末装置それぞれに前記公開鍵を配布し、前記ストレージサーバに前記第2の分散鍵を配布する鍵配布ステップと、をコンピュータに実行させるためのコンピュータプログラムである。 The present invention also provides a storage server for storing the second distributed key essential for decrypting encrypted shared data and the encrypted shared data, and N terminals (N is an integer of 1 or more). In a data sharing system comprising an apparatus and a key generation apparatus, a group key generation step for generating a public key and a secret key, a distribution key generation step for generating a first distribution key, and the first distribution key A second distributed key generation step of generating the second distributed key capable of generating the secret key from the first distributed key and the second distributed key based on a secret key; A distributed key dividing step of dividing one distributed key into N + 1 different divided keys, and N + 1 divided keys divided in the distributed key dividing step, one for each of the N terminal devices and the storage server Distribute and N said terminals Said distributed public key to each location, is a computer program for executing a key distribution step of distributing said second distributed key to the storage server, to the computer.
また、本発明は、前記端末装置の環境を移行する元の端末装置である移行元端末装置を一意に特定する移行元端末装置情報と、前記移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報とを含む端末装置移行情報を受信する受信ステップと、前記受信ステップで端末装置移行情報を受信した際に、分割鍵を更新するための情報である分割鍵更新情報を生成する分割鍵更新情報生成ステップと、前記分割鍵更新情報生成ステップで生成した前記分割鍵更新情報を前記端末装置移行情報に含まれていない端末装置とストレージサーバとに配布する更新情報配布ステップと、をコンピュータに実行させ、前記分散鍵分割ステップは、前記移行先端末装置が使用する分割鍵を生成し、前記鍵配布ステップは前記分散鍵分割ステップが生成した前記分割鍵と、前記公開鍵とを前記移行先端末装置に送信することを特徴とするコンピュータプログラムである。 Further, the present invention provides migration source terminal device information that uniquely identifies a migration source terminal device that is an original terminal device that migrates the environment of the terminal device, and a terminal device that is a migration destination of the environment of the migration source terminal device. A receiving step for receiving terminal device migration information including migration destination terminal device information for uniquely identifying a certain migration destination terminal device, and for updating a split key when receiving the terminal device migration information in the receiving step A split key update information generation step for generating split key update information as information, and a terminal device and a storage server that do not include the split key update information generated in the split key update information generation step in the terminal device migration information; An update information distribution step to be distributed to the computer, and the distributed key splitting step generates a split key used by the transfer destination terminal device, and the key distribution step. Is a computer program, wherein said split key that the distributed key dividing step has generated, to send said public key to said destination terminal device.
また、本発明は、暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムにおいて、前記鍵生成装置より送付された公開鍵から暗号鍵と第1の鍵復元用情報を生成する暗号鍵生成ステップと、前記暗号鍵を使用して共有データを暗号化する暗号ステップと、暗号化した前記共有データと、前記第1の鍵復元用情報とを前記ストレージサーバに送信する送信ステップと、暗号化された共有データと、第2の鍵復元用情報と、第3の鍵復元用情報とを前記ストレージサーバから受信する受信ステップと、前記鍵生成装置より送付された分割鍵と、前記受信ステップで受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元する暗号鍵復元ステップと、前記暗号鍵復元ステップで復元した前記暗号鍵を用いて、前記受信ステップで受信した暗号化された前記共有データを復号する復号ステップと、をコンピュータに実行させるためのコンピュータプログラムである。 The present invention also provides a storage server for storing a second distributed key essential for decrypting encrypted shared data and the encrypted shared data, a terminal device, and data including a key generation device In a shared system, an encryption key generation step for generating an encryption key and first key recovery information from a public key sent from the key generation device, and an encryption step for encrypting shared data using the encryption key; Transmitting the encrypted shared data and the first key recovery information to the storage server, the encrypted shared data, the second key recovery information, and a third key A receiving step for receiving restoration information from the storage server; a split key sent from the key generation device; the second key restoration information received in the receiving step; and the third key restoration use. Affection A decryption step for decrypting the encrypted shared data received in the reception step using the encryption key restored in the encryption key restoration step; Is a computer program for causing a computer to execute.
また、本発明は、2つの情報のみで前記暗号鍵を生成可能な情報である、第1のシェアと第2のシェアとを生成するシェア生成ステップと、を含み、前記送信ステップでは、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを前記ストレージサーバに送信し、前記受信ステップでは、前記暗号部ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記第2のシェアとを受信し、前記暗号鍵復元ステップでは、前記暗号ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記第1のシェアと前記第2のシェアとに基づいて暗号鍵を復元することを特徴とするコンピュータプログラムである。 In addition, the present invention includes a share generation step of generating a first share and a second share, which is information capable of generating the encryption key with only two pieces of information, and the transmission step includes encryption. The shared data, the first key recovery information, and the second share are transmitted to the storage server, and in the receiving step, the encryption unit step used for encrypting the shared data. If the encryption key is updated, the the encrypted shared data, and the second key recovery information, and the third key recovery information received from the storage server, the encryption key is If not updated, the shared data the encrypted, receives the second share, in the encryption key restoring step, the encryption key used in the encryption of the shared data in the encryption step Updated In this case, the encryption key is restored based on the split key sent from the key generation device, the second key restoration information received by the receiving unit, and the third key restoration information. and, when the encryption key has not been updated is a computer program which is characterized that you recover the encryption key on the basis of the second share between the first share.
また、本発明は、暗号鍵を生成する基の情報であるマスタシェアを記憶する記憶ステップと、2つの情報のみで前記マスタシェアを復元することが可能な情報である、第1の分割シェアと第2の分割シェアとを生成する分割シェア生成ステップと、前記暗号鍵と前記マスタシェアとに基づいて、前記マスタシェアと暗号鍵シェアの2つの情報のみで前記暗号鍵を生成可能な情報である暗号鍵シェアを生成するシェア生成ステップと、を含み、前記送信ステップでは、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを前記ストレージサーバに送信し、前記受信ステップでは、前記暗号ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記暗号鍵シェアとを受信し、前記暗号鍵復元ステップでは、前記暗号ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記マスタシェアと、前記暗号鍵シェアとに基づいて暗号鍵を復元することを特徴とするコンピュータプログラムである。 Further, the present invention includes: a storage step of storing the master share the information of the group that produces the encryption key is information capable of restoring the master share only two information, the first split share When the split share generation step of generating a second split share before SL on the basis of the encryption key and said master share the master share and two only can generate information the encryption key information of the cryptographic key shares A share generating step for generating an encryption key share , wherein the transmitting step transmits the encrypted shared data, the first key recovery information, and the encryption key share to the storage server. and, in said receiving step, when the encryption key used in the encryption of the shared data in the encryption step is updated, and the encrypted shared data, the second key The original information, and the third key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and the encryption key shares In the encryption key restoration step, when the encryption key used in the encryption of the shared data is updated in the encryption step, the split key sent from the key generation device and the reception unit receive An encryption key is restored based on the second key restoration information and the third key restoration information, and when the encryption key is not updated, the master share and the encryption key share a computer program characterized that you recover the encryption key based on and.
また、本発明は、ストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムにおいて、前記端末装置より暗号化された共有データと第1の鍵復元用情報とを受信する受信ステップと、前記受信ステップで受信した前記共有データと前記第1の鍵復元用情報とを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、分割鍵とを記憶する記憶ステップと、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、第2の鍵復元用情報と、第3の鍵復元用情報とを生成する鍵復元用情報生成ステップと、暗号化された共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを端末装置に送信する送信ステップと、をコンピュータに実行させるためのコンピュータプログラムである。 In addition, the present invention provides a data sharing system including a storage server, a terminal device, and a key generation device, and receives the encrypted shared data and the first key recovery information from the terminal device. And storing the shared data received in the receiving step and the first key recovery information in association with each other, a second distributed key essential for decrypting the encrypted shared data, and a split key Based on the storing step, the first key recovery information, the split key, and the second distributed key, the second key recovery information and the third key recovery information are stored. A key recovery information generation step to be generated, a transmission step of transmitting the encrypted shared data, the second key recovery information, and the third key recovery information to the terminal device; Computer program for execution A gram.
また、本発明のプログラムにおいて、前記受信ステップでは、前記端末装置より暗号化された前記共有データと、第1の鍵復元用情報と、第2のシェアとを受信し、前記記憶ステップでは、前記受信ステップで受信した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な前記第2の分散鍵と、前記分割鍵とを記憶し、前記鍵復元用情報生成ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、前記送信ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記第2のシェアとを前記端末装置に送信することを特徴とする。 Further, in the program of the present invention, in the receiving step, the the encrypted shared data from the terminal device, the first key recovery information, and receives a second share, in the storing step, wherein The shared data received in the receiving step, the first key recovery information, and the second share are stored in association with each other, and the second distributed key essential for decrypting the encrypted shared data And the split key, and in the key recovery information generation step, when the encryption key used for encryption of the shared data is updated in the terminal device, the first key recovery Based on the information, the split key, and the second distributed key, the second key recovery information and the third key recovery information are generated, and in the transmission step, the terminal device Used to encrypt the shared data If the serial encryption key is updated, and transmits the corresponding shared data encrypted, and the second key recovery information, and the third key recovery information to the terminal device, the encryption key There if not updated, characterized said the encrypted shared data, that you send a second share of the terminal device.
また、本発明のプログラムにおいて、前記受信ステップでは、前記端末装置より暗号化された前記共有データと、第1の鍵復元用情報と、暗号鍵シェアとを受信し、前記記憶ステップでは、前記受信ステップで受信した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、前記分割鍵とを記憶し、前記鍵復元用情報生成ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、前記送信ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記暗号鍵シェアとを前記端末装置に送信することを特徴とする。 Further, in the program of the present invention, in the receiving step, the the encrypted shared data from the terminal device, the first key recovery information, and receives the encryption key shares, in the storing step, the received Storing the shared data received in step, the first key recovery information, and the encryption key share in association with each other, the second distributed key essential for decrypting the encrypted shared data, A split key, and in the key recovery information generation step, when the encryption key used for encryption of the shared data in the terminal device is updated, the first key recovery information; Based on the split key and the second distributed key, the second key recovery information and the third key recovery information are generated. In the transmission step, the shared information is generated by the terminal device. Used for data encryption When the No. key is updated, and the encrypted shared data, and the second key recovery information, transmits the said third key recovery information to the terminal device, the encryption key is If not updated, the encrypted shared data and the encryption key share are transmitted to the terminal device .
本発明によれば、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能であり、初めて共有データを公開する際の処理の負荷の軽減が可能であり、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である。 According to the present invention, even if a terminal device owned by a group member is used by a malicious third party and the key held by the terminal device leaks, the shared data encrypted by another group member is It is possible to reduce the possibility of decryption by the three parties, it is possible to reduce the processing load when sharing data is first disclosed, and for the first time after updating the encryption key used for encryption of shared data It is possible to reduce the processing load when releasing shared data.
以下、本発明の第1の実施形態から第3の実施形態について説明する。はじめに、本発明の第1の実施形態から第3の実施形態で使用している秘密分散法について説明する。秘密分散法とは、秘密情報を数人で分散して保管することで、元の秘密情報を安全に保管する方法である。(k,n)閾値秘密分散法は、秘密分散法の一種であり、秘密情報をn個の分割情報(シェア)に分割してそれぞれ保管し、その内のk個以上の分割情報を入手することができれば、元の秘密情報を復元することができるものである。(参考文献:「A. Shamir,“How to share a secret,“Communications of the ACM,Vol.22,No.11,pp.612−613,1979」) Hereinafter, the first to third embodiments of the present invention will be described. First, the secret sharing method used in the first to third embodiments of the present invention will be described. The secret sharing method is a method for securely storing original secret information by distributing and storing secret information by several people. The (k, n) threshold secret sharing method is a kind of secret sharing method, and the secret information is divided into n pieces of divided information (shares) and stored, and k or more pieces of divided information are obtained. If possible, the original secret information can be restored. (Reference: “A. Shamir,“ How to share a secret, ”Communications of the ACM, Vol. 22, No. 11, pp. 612-613, 1979”)
また、共通鍵暗号で利用する暗号鍵を、公開鍵暗号を用いて安全に配送するための鍵カプセル化技術(KEM:Key Encapsulation Mechanism)であるRSA(アールエスエー)暗号をベースとしたRSA−KEMについて説明する。RSA−KEMの手順の概要は以下の通りである。
[鍵生成手順]RSA秘密鍵(e,n)および公開鍵(d,(n))を生成する。ここで、n=pq (p,qは素数)、ed≡1(mod λ(n))(eとλ(n)は互いに素、λ(n)=LCM(p−1,q−1)(LCM(a,b)はaとbの最小公倍数))である。
[暗号化、暗号鍵生成手順](ステップS101)乱数rを生成する。ここでrは(1)式を満たす。
In addition, RSA-KEM based on RSA (RSA) cipher, which is a key encapsulation technique (KEM) for securely delivering a cipher key used in common key cipher using public key cipher. Will be described. The outline of the procedure of RSA-KEM is as follows.
[Key Generation Procedure] An RSA private key (e, n) and a public key (d, (n)) are generated. Here, n = pq (p and q are prime numbers), ed≡1 (mod λ (n)) (e and λ (n) are prime and λ (n) = LCM (p−1, q−1) (LCM (a, b) is the least common multiple of a and b)).
[Encryption and Encryption Key Generation Procedure] (Step S101) A random number r is generated. Here, r satisfies the formula (1).
(ステップS102)rを(2)式で文字列に変換する。ここで、I2OSPはinterger to octet string conversionである。 (Step S102) r is converted into a character string using equation (2). Here, I2OSP is an inter-to-octet string conversion.
(ステップS103)暗号文C0を(3)式で生成する。 (Step S103) generated in the ciphertext C 0 (3) expression.
(ステップS104)暗号鍵Kを(4)式で生成する。ここで、KDFは(Key Derivation Functionであり、KeyLenは暗号鍵の鍵長である。 (Step S104) The encryption key K is generated by equation (4). Here, KDF is (Key Delivery Function), and KeyLen is the key length of the encryption key.
[復号、暗号鍵復元手順](ステップS110)文字列Rを(5)式で復元する。 [Decryption and Encryption Key Restoration Procedure] (Step S110) The character string R is restored by the equation (5).
(ステップS111)暗号鍵Kを(6)式で復元する。 (Step S111) The encryption key K is restored by the equation (6).
(参考文献:「V.Shoup,“FCD 18033−2 Encryption algorithms−Part 2:Asymmetric ciphers”,http://shoup.net/iso/std6.pdf」) (Reference: “V. Shop,“ FCD 18033-2 Encryption algorithms-Part 2: Asymmetric ciphers ”, http://shoop.net/iso/std6.pdf”)
(第1の実施形態)
次に、本発明の第1の実施形態について図面を参照して説明する。図1は、本実施形態によるデータ共有システム100を示す構成図である。図示する例では、データ共有システム100はグループメンバ端末(端末装置)1−1、1−2、・・・、1−Nと、ストレージサーバ2と、認証局(鍵生成装置)3と、通信ネットワーク4とを備える。グループメンバ端末1−1、1−2、・・・、1−Nは、通信ネットワーク4を介してストレージサーバ2にアクセスし、ストレージサーバ2との間でデータを送受することができる。なお、通信ネットワーク4は、無線ネットワークであっても、有線ネットワークであってもよい。例えば、通信ネットワーク4は、インターネットと固定電話網や移動電話網などから構成されてもよい。
(First embodiment)
Next, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram showing a data sharing system 100 according to the present embodiment. In the illustrated example, the data sharing system 100 includes group member terminals (terminal devices) 1-1, 1-2,..., 1-N, a
グループメンバ端末1−1、1−2、・・・、1−Nは、移動しながら使用可能な装置(例えば、携帯型装置)であってもよく、或いは、固定して使用される装置(例えば、パーソナルコンピュータ等の据置き型装置)であってもよい。また、携帯型の端末装置としては、例えば、移動通信事業者が提供する移動通信網の端末装置(例えば、データ通信機能を有する携帯電話機、データ通信端末装置等)、PDA(Personal Digital Assistants:個人用情報機器)などが挙げられる。また、PDAの場合、通信手段を内蔵していてもよく、外部から通信手段を接続するものであってもよい。 The group member terminals 1-1, 1-2,..., 1-N may be devices that can be used while moving (for example, portable devices), or devices that are used in a fixed manner ( For example, a stationary apparatus such as a personal computer may be used. Examples of the portable terminal device include a mobile communication network terminal device provided by a mobile communication carrier (for example, a mobile phone having a data communication function, a data communication terminal device, etc.), a PDA (Personal Digital Assistants: personal). Information equipment). In the case of a PDA, a communication unit may be built in or a communication unit may be connected from the outside.
グループメンバ端末1−1、1−2、・・・、1−Nは、演算処理部、記憶部、通信部、入力部、表示部、外部インタフェースなどを備える。演算処理部は、CPU(中央処理装置)およびメモリ等から構成される。記憶部は、例えば、ハードディスク装置、光磁気ディスク装置、DVD(Digital Versatile Disk)等の光ディスク装置、フラッシュメモリ等の不揮発性のメモリ、DRAM(DynamicRandom Access Memory)等の揮発性のメモリ、などの記憶装置、あるいはそれらの組み合わせにより構成される。記憶部は、CPUで実行されるコンピュータプログラム等の各種データを記憶する。通信部は、通信ネットワーク4を介したデータ通信を行う。入力部は、キーボード、テンキー、マウス等の入力デバイスから構成され、ユーザの操作に応じたデータ入力を行う。表示部は、CRT(Cathode Ray Tube)や液晶表示装置等の表示デバイスから構成され、データ表示を行う。外部インタフェースは、外部機器との間で有線又は無線により直接にデータを送受する。
The group member terminals 1-1, 1-2,..., 1-N include an arithmetic processing unit, a storage unit, a communication unit, an input unit, a display unit, an external interface, and the like. The arithmetic processing unit includes a CPU (central processing unit), a memory, and the like. The storage unit stores, for example, a hard disk device, a magneto-optical disk device, an optical disk device such as a DVD (Digital Versatile Disk), a nonvolatile memory such as a flash memory, and a volatile memory such as a DRAM (Dynamic Random Access Memory). It is comprised by the apparatus or those combination. The storage unit stores various data such as a computer program executed by the CPU. The communication unit performs data communication via the
グループメンバ端末1−1、1−2、・・・、1−Nは、CPUがコンピュータプログラムを実行することにより、暗号鍵生成機能と、送信機能と、受信機能と、暗号鍵復元機能と、復号機能と、更新情報受信機能と、分割鍵更新機能と、シェア生成機能とを実現する。なお、コンピュータプログラムは、グループメンバ端末1−1、1−2、・・・、1−Nに固定的にインストールされていてもよく、或いは、サーバ上にあるコンピュータプログラムが必要なときに通信回線を介してダウンロードされてもよい。 The group member terminals 1-1, 1-2,..., 1 -N execute an encryption program generation function, a transmission function, a reception function, an encryption key restoration function, A decryption function, an update information reception function, a split key update function, and a share generation function are realized. The computer program may be fixedly installed in the group member terminals 1-1, 1-2,..., 1-N, or a communication line when a computer program on the server is required. It may be downloaded via.
ストレージサーバ2は、演算処理部、記憶部、通信部、入力部、表示部、外部インタフェースなどを備える。演算処理部は、CPUおよびメモリ等から構成される。記憶部は、例えば、ハードディスク装置、光磁気ディスク装置、DVD等の光ディスク装置、フラッシュメモリ等の不揮発性のメモリ、DRAM等の揮発性のメモリなどの記憶装置、あるいはそれらの組み合わせにより構成される。記憶部は、CPUで実行されるコンピュータプログラム等の各種データを記憶する。通信部は、通信ネットワーク4を介したデータ通信を行う。入力部は、キーボード、テンキー、マウス等の入力デバイスから構成され、ユーザの操作に応じたデータ入力を行う。表示部は、CRTや液晶表示装置等の表示デバイスから構成され、データ表示を行う。外部インタフェースは、外部機器との間で有線又は無線により直接にデータを送受する。また、記憶部は、グループメンバ端末1−1、1−2、・・・、1−Nから送られてきた各種データを記憶するデータ管理機能を有する。ストレージサーバ2の受信機能と、記憶機能と、鍵復元用情報生成機能と、送信機能と、分割鍵更新機能とは、ストレージサーバ2のCPUが上記機能を実現するためのコンピュータプログラムを実行することにより実現される。
The
認証局3は、演算処理部、記憶部、通信部、入力部、表示部、外部インタフェースなどを備える。演算処理部は、CPUおよびメモリ等から構成される。記憶部は、例えば、ハードディスク装置、光磁気ディスク装置、DVD等の光ディスク装置、フラッシュメモリ等の不揮発性のメモリ、DRAM等の揮発性のメモリなどの記憶装置、あるいはそれらの組み合わせにより構成される。記憶部は、CPUで実行されるコンピュータプログラム等の各種データを記憶する。通信部は、通信ネットワーク4を介したデータ通信を行う。入力部は、キーボード、テンキー、マウス等の入力デバイスから構成され、ユーザの操作に応じたデータ入力を行う。表示部は、CRTや液晶表示装置等の表示デバイスから構成され、データ表示を行う。外部インタフェースは、外部機器との間で有線又は無線により直接にデータを送受する。認証局3のグループ鍵生成機能と、分散鍵生成機能と、分散鍵分割機能と、鍵配布機能と、受信機能と、分割鍵更新情報生成機能と、更新情報配布機能とは、認証局3のCPUが上記機能を実現するためのコンピュータプログラムを実行することにより実現される。
The
[事前準備]
次に、本実施形態での事前準備について図2を参照して説明する。図2は、本実施形態での事前準備の処理動作を示すシーケンス図である。事前準備では、認証局3は暗号用の鍵を作成し、作成した鍵をグループメンバ端末1−1、1−2と、ストレージサーバ2に配布する。
[Advance preparation]
Next, preparations in the present embodiment will be described with reference to FIG. FIG. 2 is a sequence diagram showing a preparatory processing operation in the present embodiment. In advance preparation, the
(ステップP1−1)認証局3はグループ用公開鍵と秘密鍵のペア(pkG、skG)を生成する。以下、RSA暗号の公開鍵をpkG、秘密鍵をskGとして説明する。すなわち、pkG=(e,n)、skG=(d)、ここでn=pq (p,qは素数、p=2p’+1,q=2q’+1,p’,q’は素数)、ed≡1(mod λ(n))(eとλ(n)は互いに素、λ(n)=LCM(p−1,q−1)=2p’q’)である。
(ステップP1−2)認証局3は分散鍵sk1をランダムに生成する。ここで、分散鍵sk1は1≦sk1≦λ(n)−1を満たす偶数である。なお、分散鍵sk1と後述する分散鍵sk2とを用いてステップP1−1で生成したskGを生成することが可能である。続いて、認証局3は分散鍵sk1と、ステップP1−1で生成したskGとを用いて、以下の(7)式を満たす分散鍵sk2を求める。
(Step P1-1) The
(Step P1-2) the
(ステップP1−3)認証局3は、(2,N+1)閾値秘密分散法を用いて、分散鍵sk1をN+1個に分割し、sk1,1、sk1,2、・・・、sk1,N、sk1,Sの分割鍵を生成する。ここでNはデータ共有システムに含まれるグループメンバ端末数であり、Nは1以上の整数である。また、(2,N+1)閾値秘密分散法を用いて分散鍵sk1を分割しているため、分散鍵sk1をN+1個に分割したsk1,1、sk1,2、・・・、sk1,N、sk1,Sの分割鍵のうち少なくとも2種類の分割鍵を用いて分散鍵sk1を生成することが可能である。sk1,i(i=1,・・・,N)は以下の(8)式を満たす。ここで、f(x)=sk1+ax(aは乱数)、f(x)は有限体GF(λ(n))上の多項式である。また、Xi=2×IDi(IDiはグループメンバ端末1−iのID)である。sk1,Sは以下の(9)式を満たす。
(Step P1-3) The
続いて、認証局3は、データ共有システムに含まれる各グループメンバ端末にグループ用公開鍵pkGと、sk1,i(i=1,・・・,N)とを配布し、ストレージサーバ2にsk1,sとsk2とを配布する。図2に図示する例ではデータ共有システムに含まれるグループメンバ端末は2台であり、グループメンバ端末1−1にはpkGと、sk1,1とを配布し、グループメンバ端末1−2にはpkGと、sk1,2とを配布し、ストレージサーバ2にsk1,sとsk2とを配布する。
Subsequently, the
[共有データ保存処理:共有データ新規保存、共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での共有データの新規保存または共有データの更新保存の処理について図3から図6を参照して説明する。図3は、本実施形態において、グループメンバ端末の記憶部が記憶するデータのリスト(ローカルデータリスト)のデータフォーマット(以下、メンバ端末フォーマットと記す。)を示した図である。図示する例では、メンバ端末フォーマットはデータIDと、データラベルと、最終参照時刻と、暗号化データとの4つの属性を持つ。データIDは、データ共有システム内でデータを一意に識別するための識別子である。データラベルは、例えばファイル名など、データの内容や形態を表す名称である。最終参照時刻は、共有データを最後に参照した時刻である。暗号化データは、共有データを暗号化したデータである。
[Shared data storage processing: Shared data new storage, shared data update storage (with key update)]
Next, processing for newly saving shared data or updating and saving shared data in the present embodiment when there is a key update will be described with reference to FIGS. FIG. 3 is a diagram showing a data format (hereinafter referred to as a member terminal format) of a list of data (local data list) stored in the storage unit of the group member terminal in the present embodiment. In the illustrated example, the member terminal format has four attributes of data ID, data label, last reference time, and encrypted data. The data ID is an identifier for uniquely identifying data within the data sharing system. The data label is a name representing the content and form of data such as a file name. The last reference time is the time when shared data was last referenced. Encrypted data is data obtained by encrypting shared data.
図4は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータのデータフォーマット(以下、ストレージサーバフォーマットと記す。)を示した図である。図示する例では、ストレージサーバフォーマットはデータIDと、ユーザIDと、データラベルと、最終更新時刻と、暗号化データと、鍵復元用情報との6つの属性を持つ。データIDと、データラベルと、暗号化データの3つの属性は、メンバ端末フォーマットの属性と同様である。ユーザIDは、暗号化データを生成したグループメンバ端末を一意に識別するための識別子である。最終更新時刻は共有データを最後に更新した時刻である。鍵復元用情報は、暗号化データを復号化する際に使用する鍵を作成する際に使用する情報である。
FIG. 4 is a diagram showing a data format (hereinafter referred to as a storage server format) of data stored in the storage unit of the
図5は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータの例を示した図である。図示する例では、ストレージサーバ2の記憶部はデータレコード1からデータレコードXまでのX個のデータを記憶する。各データレコードのフォーマットは図4と同様である。
FIG. 5 is a diagram illustrating an example of data stored in the storage unit of the
図6は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。
FIG. 6 is a sequence diagram illustrating a processing operation in which the group member terminal 1-1 stores group shared data in the
(ステップW1−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMGを用意する。また、MGのファイル名をデータラベルL1とする。
(ステップW1−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkGから暗号鍵KMと鍵復元用情報C0,1とを生成する。
User using the (step W1-1) group member terminal 1-1 operates the group member terminal 1-1, to prepare a shared data M G to group member terminal 1-1. In addition, the file name of M G and the data label L 1.
(Step W1-2) Using the key encapsulation technique, the group member terminal 1-1 generates the encryption key K M and the key recovery information C 0,1 from pk G.
(ステップW1−3)共通鍵暗号により、グループメンバ端末1−1は、KMを用いて共有データMGを暗号化する。暗号化後の共有データ(暗号化データ)はEKM(MG)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMGとKMとを削除する。
(ステップW1−4)グループメンバ端末1−1は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。
(Step W1-3) common key encryption, the group member terminal 1-1, encrypts the shared data M G with K M. The shared data after encryption (encrypted data) is E KM (M G ). After encryption completion, the group member terminal 1-1 deletes the M G and K M for the group member terminal 1-1 stores.
(Step W1-4) The group member terminal 1-1 prompts the user to input information for user authentication, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップW1−5)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID1)と、EKM(MG)と、C0,1と、L1と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW1−6)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2はグループメンバ端末1−1より受信した当該データの組にデータID(D1)を割り当てる。また、ストレージサーバ2はID1と、EKM(MG)と、C0,1と、L1と、D1と、最終更新時刻(TS,1)とをストレージサーバフォーマットに従ってストレージサーバ2の記憶部に格納する。最新更新時刻(TS,1)は、当該格納時の時刻である。
(Step W1-5) The group member terminal 1-1 has the ID (ID 1 ), E KM (M G ), C 0 , 1 , L 1 , and UID possessed by the group member terminal 1-1. The PN is sent to the
(Step W1-6) The
(ステップW1−7)ステップW1−6での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはD1とTS,1とが含まれる。
(ステップW1−8)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1を削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、D1をデータIDとして、L1をデータラベルとして、T1,1(=TS,1)を最終参照時刻として、EKM(MG)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W1-7) The
(Step W1-8) After receiving the ACK message from the
[共有データ保存処理:共有データ更新保存(鍵更新なし)]
次に、鍵の更新がない場合での本実施形態での共有データの更新保存の処理について図7を参照して説明する。鍵の更新がない共有データの更新保存の場合としては、共有データを更新するグループメンバ端末が、以前に自身でストレージサーバに登録した共有データを更新する場合などがある。この場合は、以前に共有データを保存した際に使用した暗号鍵KMを用いて、再度更新対象の共有データの暗号化を行うことができるため、鍵生成手順を省略する。
[Shared data storage processing: Shared data update storage (no key update)]
Next, shared data update storage processing in the present embodiment when there is no key update will be described with reference to FIG. As an example of the case of updating and storing shared data without a key update, there is a case where a group member terminal that updates shared data updates shared data previously registered in the storage server. In this case, by using the encryption key K M was used when you save the shared data before, it is possible to encrypt the shared data again updated, omitted key generation procedure.
図7は、本実施形態において、暗号鍵を更新しないで、グループメンバ端末1−1がストレージサーバ2にグループ共有データを更新保存する処理動作を示したシーケンス図である。
FIG. 7 is a sequence diagram illustrating a processing operation in which the group member terminal 1-1 updates and saves the group shared data in the
(ステップWa1−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMG’を用意する。また、MG’のファイル名をデータラベルL1’とする。
(ステップWa1−2)共通鍵暗号により、グループメンバ端末1−1は、KMを用いて共有データMG’を暗号化する。暗号化後の共有データ(暗号化データ)はEKM(MG’)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMG’を削除する。
(ステップWa1−3)グループメンバ端末1−1は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。
(Step Wa1-1) The user who uses the group member terminal 1-1 operates the group member terminal 1-1 to prepare shared data M G ′ on the group member terminal 1-1. In addition, to 'the file name of the data label L 1' M G and.
(Step Wa1-2) common key encryption, the group member terminal 1-1, encrypts the shared data M G 'using a K M. Shared data encrypted (encrypted data) and E KM (M G '). After completing the encryption, the group member terminal 1-1 deletes M G ′ stored in the group member terminal 1-1.
(Step Wa1-3) The group member terminal 1-1 prompts the user to input information for user authentication, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップW1a−4)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID1)と、EKM(MG’)と、L1’と、データID(D1)と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW1a−5)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2はID1と、EKM(MG’)と、L1’と、最終更新時刻(TS,1’)とをストレージサーバフォーマットのフォーマットに従って、更新前のデータを記憶するストレージサーバ2の記憶部に上書きする。最新更新時刻(TS,1’)は、当該上書き時の時刻である。
(Step W1a-4)
(Step W1a-5) The
(ステップW1a−6)ステップW1a−5での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACKメッセージをユーザ端末1に送信する。ACKメッセージにはTS,1’が含まれる。
(ステップW1a−7)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はローカルデータリストの当該データ用のエントリに、D1をデータIDとして、L1’をデータラベルとして、T1,1’(=TS,1’)を最終参照時刻として、EKM(MG’)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(MG’)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W1a-6) The
(Step W1a-7) After receiving the ACK message from the
[共有データ参照処理]
次に、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が参照する際の処理について図8、図9を参照して説明する。
[Shared data reference processing]
Next, processing when the group member terminal 1-2 refers to the shared data registered in the
図8は、本実施形態において、ストレージサーバが各グループメンバ端末に送信するデータリストを示した図である。データリストは、ストレージサーバ2の記憶部が記憶するデータのデータラベルを記憶する。また、データリストはデータラベルと当該データラベルの最終更新時刻とを関連付けて記憶する。図示する例では、ストレージサーバ2が記憶するデータのデータラベルは、データラベル1(D1)、データラベル2(D2)、・・・、データラベルX(DX)である。また、データラベル1(D1)の最終更新時刻は、最終更新時刻1(L1)、データラベル2(D2)の最終更新時刻は、最終更新時刻2(L2)、・・・、データラベルX(DX)の最終更新時刻は、最終更新時刻X(LX)である。
FIG. 8 is a diagram showing a data list transmitted from the storage server to each group member terminal in the present embodiment. The data list stores data labels of data stored in the storage unit of the
図9は、本実施形態において、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が参照する際の処理動作を示したシーケンス図である。
FIG. 9 is a sequence diagram showing processing operations when the group member terminal 1-2 refers to the shared data registered in the
(ステップR1−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。
(Step R1-0) The
(ステップR1−1)グループメンバ端末1−2は、ユーザから共有データの参照要求の入力を受け付ける。続いて、グループメンバ端末1−2は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step R1-1) The group member terminal 1-2 receives an input of a reference request for shared data from the user. Subsequently, the group member terminal 1-2 prompts the user to input user authentication information, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップR1−2)グループメンバ端末1−2は、参照するデータMGのデータID(D1)と、グループメンバ端末1−2が持つID(ID2)と、UIDと、PNとをデータ要求メッセージとしてストレージサーバ2に送付する。当該データを過去に参照したことがある場合は、当該データの最終参照時刻(T2,1)をデータ要求メッセージに追加する。なお、グループメンバ端末内の暗号化データEKM(MG)の有無を知らせる情報をデータ要求メッセージ内に追加しても良い。図示する例では、グループメンバ端末1−2はデータMGを初めて参照するため、要求メッセージ内に最終参照時刻(T2,1)は含まれていない。
(Step R1-2) group member terminal 1-2, the data ID of the reference data M G (D 1), the ID of the group member terminal 1-2 has (ID 2), UID and data and a PN The message is sent to the
(ステップR1−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、C0,1と、sk1,Sと、sk2とを用いて、ストレージサーバ2は鍵復元用情報C1=C0,1 W1と、C2=C0,1とを生成する。なお、W1は以下の(10)式を満たす。
(Step R1-3) The
(ステップR1−4)ストレージサーバ2は、EKM(MG)と、最終更新時刻(TS,1)と、C1と、C2とをグループメンバ端末1−2に送付する。なお、ステップR1−0で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(MG)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末より送られた最終参照時刻(T2,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。
(Step R1-4) The
(ステップR1−5)グループメンバ端末1−2は、sk1,2と、C1と、C2とを用いてKMを復元する。また、最終参照時刻(T2,1)をTS,1に更新する。なお、KMの復元方法は以下の通りである。まず、以下の(11)式よりrを復元する。続いて以下の(12)式よりKMを復元する。 (Step R1-5) group member terminal 1-2, and sk 1, 2, and C 1, to restore the K M by using a C 2. The last reference time (T 2,1 ) is updated to T S, 1 . Incidentally, restoration method of K M are as follows. First, r is restored from the following equation (11). Subsequently, KM is restored from the following equation (12).
(ステップR1−6)グループメンバ端末1−2は、KMを用いてEKM(MG)を復号し、MGを取得する。
(ステップR1−7)MGの参照後、グループメンバ端末1−2はKMと、MGと、C1と、C2とを削除する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step R1-6) group member terminal 1-2 uses the K M decrypts the E KM (M G), to obtain the M G.
(Step R1-7) after reference M G, group member terminal 1-2 and K M, and M G, and C 1, to remove the C 2. Note that E KM (M G ) may or may not be deleted, and may be selected by setting a setting file or the like.
[環境移行処理]
次に、グループメンバ端末1−2が紛失され、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行する手順について図10を参照して説明する。環境移行とは、あるグループメンバ端末が有している共有データの暗号化・復号化を実行可能な環境を、別のグループメンバ端末に移行することを言う。本実施形態では、移行元の端末装置はグループメンバ端末1−2であり、移行先の端末装置はグループメンバ端末1−3である。図10は、本実施形態において、グループメンバ端末1−2が有している共有データの暗号化・復号化を実行可能な環境を、グループメンバ端末1−3に移行する処理動作を示したシーケンス図である。
[Environment migration process]
Next, a procedure for shifting the environment of the group member terminal 1-2 to the group member terminal 1-3 when the group member terminal 1-2 is lost will be described with reference to FIG. The environment migration means that an environment capable of executing encryption / decryption of shared data possessed by a certain group member terminal is migrated to another group member terminal. In this embodiment, the transfer source terminal device is the group member terminal 1-2, and the transfer destination terminal device is the group member terminal 1-3. FIG. 10 is a sequence showing a processing operation for migrating an environment capable of executing encryption / decryption of shared data of the group member terminal 1-2 to the group member terminal 1-3 in the present embodiment. FIG.
(ステップRE1−1)グループメンバ端末1−3は、グループメンバ端末1−2の紛失と、グループメンバ端末1−2の環境をグループメンバ端末1−3へ移行する要求とを含む端末装置移行情報を認証局3に通知する。端末装置移行情報には、端末装置の環境を移行する元の端末装置としてグループメンバ端末1−2の端末IDと、端末装置の環境を移行する先の端末装置としてグループメンバ端末1−3の端末IDとが含まれる。なお、通知方法はオンラインで通知しても良く、オフラインで通知しても良い。
(Step RE1-1) The group member terminal 1-3 receives terminal device transition information including the loss of the group member terminal 1-2 and a request to migrate the environment of the group member terminal 1-2 to the group member terminal 1-3. To the
(ステップRE1−2)認証局3は、グループメンバ端末1−3より端末移行情報を受信する。続いて認証局3は、端末環境情報に含まれていないグループメンバ端末1−1と、ストレージサーバに対して、既存の分割鍵を更新する分割鍵更新用シェア(分割鍵更新情報)SR,1とSR,Sとを生成し、グループメンバ端末1−1に分割鍵更新用シェアSR,1を送付し、ストレージサーバ2に分割鍵更新用シェアSR,Sを送付する。なお、SR,i(i=1,…,N)は以下の(13)式を満たす。SR,Sは以下の(14)式を満たす。ここで、fk(x)=akx(akは乱数)、fk(x)は有限体GF(λ(n))上の多項式である。
(Step RE1-2) The
(ステップRE1−3)グループメンバ端末1−1は認証局3より分割鍵更新用シェアSR,1を受信し、受信したSR,1を用いて既存の分割鍵sk1,1を更新し、sk’1,1を生成する。生成後、グループメンバ端末1−1はSR,1とsk1,1とを削除する。ストレージサーバ2は認証局3より分割鍵更新用シェアSR,Sを受信し、受信したSR,Sを用いて既存の分割鍵sk1,Sを更新し、sk’1,Sを生成する。生成後、ストレージサーバ2はSR,Sとsk1,Sとを削除する。なお、sk’1,i(i=1,…,N)は以下の(15)式を用いて生成する。sk’1,Sは以下の(16)式を用いて生成する。
(Step RE1-3) group member terminal 1-1 receives the split key update shares S R, 1 from the
(ステップRE1−4)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3を生成する。なお、生成は上記(15)式を用いて行う。
(ステップRE1−5)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3と公開鍵pkGとをグループメンバ端末1−3に送付する。
(ステップRE1−6)認証局3は、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行したことをストレージサーバ2に通知する。
(Step RE1-4) The
(Step RE1-5) The
(Step RE1-6) The
以上より、暗号化された共有データの復号化には、必ずストレージサーバが保持する分散鍵sk2が必要であるため、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能である。また、従来、初めて共有データを公開する際に必要であった、共有データの暗号化に使用した鍵をグループメンバが所有する公開鍵で暗号化する、すなわち、グループメンバの人数分鍵暗号化処理を行う必要がないため、初めて共有データを公開する際の処理の負荷の軽減が可能である。また、従来、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する場合に必要であった、グループメンバの人数分の鍵暗号化処理を行う必要がないため、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である。 As described above, since the shared key sk 2 held by the storage server is necessary for decryption of the encrypted shared data, the terminal device owned by the group member is used by a malicious third party, and the terminal Even if the key held by the apparatus is leaked, it is possible to reduce the possibility that shared data encrypted by other group members can be decrypted by a third party. In addition, the key used for encrypting the shared data, which was conventionally required when publicly sharing the shared data for the first time, is encrypted with the public key owned by the group member, that is, the key encryption process for the number of group members. It is possible to reduce the processing load when sharing data is first disclosed. In addition, since it is not necessary to perform key encryption processing for the number of group members, which was necessary when the shared data was released for the first time after updating the encryption key used to encrypt the shared data, It is possible to reduce the processing load when the shared data is made public for the first time after updating the encryption key used for encryption.
(第2の実施形態)
次に、本発明の第2の実施形態について図面を参照して説明する。本実施形態では、第1の実施形態の鍵カプセル化技術による鍵交換処理に加え、秘密分散による鍵交換処理を追加する。具体的には、グループメンバ端末は、新規に共有データをストレージサーバに登録する際、または初めて共有データを参照する際に、当該データの暗号鍵を秘密分散法でS1とS2との2つのシェアに分散する。なお、暗号鍵は分散した2つのシェアS1とS2のみを用いて生成可能である。続いて、グループメンバ端末はシェアS1をストレージサーバに送付し、シェアS2を自端末内に保持する。また、本実施形態によるデータ共有システムは第1の実施形態のデータ共有システムと同様である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to the drawings. In this embodiment, in addition to the key exchange process by the key encapsulation technique of the first embodiment, a key exchange process by secret sharing is added. Specifically, when newly registering shared data in the storage server or referring to shared data for the first time, the group member terminal uses the secret sharing method to set the encryption key of the data to 2 of S 1 and
[事前準備]
次に、本実施形態での事前準備について説明する。本実施形態での事前準備の処理動作は第1の実施形態の事前準備の処理動作と同様に行う。
[Advance preparation]
Next, advance preparation in the present embodiment will be described. The preparatory processing operation in the present embodiment is performed in the same manner as the preparatory processing operation of the first embodiment.
[共有データ保存処理:共有データ新規保存、共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での共有データの新規保存または共有データの更新保存の処理について図11から図13を参照して説明する。図11は、本実施形態において、グループメンバ端末の記憶部が記憶するデータのリスト(ローカルデータリスト)のデータフォーマット(以下、メンバ端末フォーマットと記す。)を示した図である。図示する例では、メンバ端末フォーマットはデータIDと、データラベルと、最終参照時刻と、最終鍵参照時刻と、暗号鍵シェアと、暗号化データとの6つの属性を持つ。データIDは、データ共有システム内でデータを一意に識別するための識別子である。データラベルは、例えばファイル名など、データの内容や形態を表す名称である。最終参照時刻は、共有データを最後に参照した時刻である。最終鍵参照時刻は、暗号鍵を最後に参照した時刻である。暗号鍵シェアは、グループメンバ端末が暗号鍵を秘密分散法で分散して作成したシェアである。暗号化データは、共有データを暗号化したデータである。
[Shared data storage processing: Shared data new storage, shared data update storage (with key update)]
Next, processing for newly saving shared data or updating and saving shared data in the present embodiment when there is a key update will be described with reference to FIGS. FIG. 11 is a diagram showing a data format (hereinafter referred to as a member terminal format) of a list of data (local data list) stored in the storage unit of the group member terminal in the present embodiment. In the illustrated example, the member terminal format has six attributes: data ID, data label, last reference time, last key reference time, encryption key share, and encrypted data. The data ID is an identifier for uniquely identifying data within the data sharing system. The data label is a name representing the content and form of data such as a file name. The last reference time is the time when shared data was last referenced. The last key reference time is the time when the encryption key was last referenced. The encryption key share is a share created by group member terminals by distributing an encryption key by a secret sharing method. Encrypted data is data obtained by encrypting shared data.
図12は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータのデータフォーマット(以下、ストレージサーバフォーマットと記す。)を示した図である。図示する例では、ストレージサーバフォーマットはデータIDと、データラベルと、最終更新時刻と、最終鍵更新時刻と、暗号化データと、鍵復元用情報と、ユーザIDと、暗号鍵シェアとの8つの属性を持つ。データIDと、データラベルと、暗号化データと、暗号鍵シェアとの4つの属性は、メンバ端末フォーマットの属性と同様である。ユーザIDはグループメンバ端末を一意に識別するための識別子である。最終更新時刻は共有データを最後に更新した時刻である。最終鍵更新時刻は暗号鍵を最後に更新した時刻である。鍵復元用情報は、暗号化データを復号化する際に使用する鍵を作成する際に使用する情報である。
FIG. 12 is a diagram showing a data format (hereinafter referred to as a storage server format) of data stored in the storage unit of the
図13は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。
FIG. 13 is a sequence diagram illustrating a processing operation in which the group member terminal 1-1 stores group shared data in the
(ステップW2−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMGを用意する。また、MGのファイル名をデータラベルL1とする。
(ステップW2−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkGから暗号鍵KMと鍵復号用情報C0,1とを生成する。
User using the (step W2-1) group member terminal 1-1 operates the group member terminal 1-1, to prepare a shared data M G to group member terminal 1-1. In addition, the file name of M G and the data label L 1.
Using (step W2-2) key encapsulation technique, group member terminal 1-1 generates the encryption key K M and the key decoding information C 0, 1 from pk G.
(ステップW2−3)共通鍵暗号により、グループメンバ端末1−1は、KMを用いて共有データMGを暗号化する。暗号化後の共有データ(暗号化データ)はEKM(MG)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMGを削除する。
(ステップW2−4)グループメンバ端末1−1は、(2,2)閾値分散法を用いてKMに対応するシェアS1,1とシェアS1,2とを作成する。なお、KMは分散した2つのシェアS1,1とシェアS1,2のみを用いて生成可能である。シェアを作成後、KMを削除する。なお、シェアSi,1は以下の(17)式を用いて生成する。ここで、Xi,1=h(IDi)(hはハッシュ関数)、u1(x)=c1x+KM、u1(x)は有限体GF(2b−1)上の多項式(bは暗号鍵の鍵長)である。
(Step W2-3) common key encryption, the group member terminal 1-1, encrypts the shared data M G with K M. The shared data after encryption (encrypted data) is E KM (M G ). After encryption completion, the group member terminal 1-1 deletes the M G group members terminal 1-1 stores.
(Step W2-4) group member terminal 1-1 creates the share S 1,1 and share S 1, 2 corresponding to the K M with (2,2) threshold dispersion method. Incidentally, K M can be generated using only two shares S 1,1 and share S 1, 2 dispersed. After creating a share, to remove the K M. The share S i, 1 is generated using the following equation (17). Here, X i, 1 = h (ID i ) (h is a hash function), u 1 (x) = c 1 x + K M , u 1 (x) is a polynomial on a finite field GF (2 b −1) ( b is the key length of the encryption key).
また、シェアSi,2は以下の(18)式を用いて生成する。ここで、Xi,2=h(IDi‖r1)(r1は乱数、hはハッシュ関数)である。 The share S i, 2 is generated using the following equation (18). Here, X i, 2 = h (ID i ‖r 1 ) (where r 1 is a random number and h is a hash function).
(ステップW2−5)グループメンバ端末1−1は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step W2-5) The group member terminal 1-1 prompts the user to input user authentication information, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップW2−6)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID1)と、S1,1と、EKM(MG)と、C0,1と、L1と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW2−7)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNとの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は当該データにデータID(D1)を割り当てる。また、ストレージサーバ2はID1と、L1と、EKM(MG)と、C0,1と、S1,1と、D1と、最終更新時刻(TS,1)と、最終鍵更新時刻(TKS,1)とをストレージサーバフォーマットのフォーマットに従ってストレージサーバ2の記憶部に格納する。最新更新時刻(TS,1)および最終鍵更新時刻(TKS,1)は、当該格納時の時刻である。
(Step W2-6) The group member terminal 1-1 has the ID (ID 1 ), S 1,1 , E KM (M G ), C 0,1 , and L held by the group member terminal 1-1. 1 , UID, and PN are sent to the
(Step W2-7) The
(ステップW2−8)ステップW2−7での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはD1とTS,1とTKS,1とが含まれる。
(ステップW2−9)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1とS1,1とを削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、D1をデータIDとして、L1をデータラベルとして、T1,1(=TS,1)を最終参照時刻として、TK1,1(=TKS,1)を最終鍵参照時刻として、S1,2を暗号鍵シェアとして、EKM(MG)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W2-8) The
(Step W2-9) After receiving the ACK message from the
[共有データ保存処理:共有データ更新保存(鍵更新なし)]
次に、鍵の更新がない場合での本実施形態での共有データの更新保存の処理について説明する。鍵の更新がない場合での本実施形態での共有データの更新保存の処理動作は、第1の実施形態の鍵の更新がない場合での共有データの更新保存の処理動作と同様に行う。
[Shared data storage processing: Shared data update storage (no key update)]
Next, shared data update storage processing in the present embodiment when there is no key update will be described. The shared data update storage processing operation in the present embodiment when there is no key update is performed in the same manner as the shared data update storage processing operation in the first embodiment when there is no key update.
[共有データ参照処理]
次に、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が参照する際の処理について図14を参照して説明する。図14は、本実施形態において、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が参照する際の処理動作を示したシーケンス図である。
[Shared data reference processing]
Next, processing when the group member terminal 1-2 refers to the shared data registered in the
(ステップR2−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。
(Step R2-0) The
(ステップR2−1)グループメンバ端末1−2は、ユーザから共有データの参照要求の入力を受け付ける。続いて、グループメンバ端末1−2は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step R2-1) The group member terminal 1-2 receives an input of a reference request for shared data from the user. Subsequently, the group member terminal 1-2 prompts the user to input user authentication information, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップR2−2)グループメンバ端末1−2は、参照するデータMGのデータID(D1)と、グループメンバ端末1−2が持つID(ID2)と、UIDと、PNとをデータ要求メッセージとしてストレージサーバ2に送付する。当該データを過去に参照したことがある場合は、当該データの最終参照時刻(T2,1)と、最終鍵参照時刻(TK2,1)とをデータ要求メッセージに追加する。なお、グループメンバ端末内の暗号化データEKM(MG)の有無を知らせる情報をデータ要求メッセージ内に追加しても良い。図示する例では、グループメンバ端末1−2はデータMGを初めて参照するため、要求メッセージ内に最終参照時刻(T2,1)と、最終鍵参照時刻(TK2,1)とは含まれていない。
(Step R2-2) group member terminal 1-2, the data ID of the reference data M G (D 1), the ID of the group member terminal 1-2 has (ID 2), UID and data and a PN The message is sent to the
(ステップR2−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は、グループメンバ端末1−2が当該データを参照した後に自身が保持している当該データ用の暗号鍵が更新されたか否か判断する。ここで、当該データ用の暗号鍵の更新の有無の判定方法として、例えば、グループメンバ端末より送られた暗号鍵の最終鍵参照時刻(TK2,1)と、ストレージサーバ2内に格納されている当該データ用の暗号鍵の最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。
(Step R2-3) The
(ステップR2−4)共有データを新規に参照する場合、もしくは鍵の更新がある共有データを参照する場合、グループメンバ端末は、鍵を作成して共有データを参照する。参照方法は後述する。
(ステップR2−5)グループメンバ端末は、鍵の更新がない共有データを参照する。参照方法は後述する。
(Step R2-4) When the shared data is newly referred to or when the shared data with the key update is referred to, the group member terminal creates a key and refers to the shared data. The reference method will be described later.
(Step R2-5) The group member terminal refers to shared data that has no key update. The reference method will be described later.
次に、ステップR2−4で、グループメンバ端末が鍵を作成して共有データを参照する際の手順について図15を参照して説明する。図15はグループメンバ端末が鍵を作成して共有データを参照する処理動作を示したシーケンス図である。 Next, a procedure when the group member terminal creates a key and refers to the shared data in step R2-4 will be described with reference to FIG. FIG. 15 is a sequence diagram showing a processing operation in which a group member terminal creates a key and refers to shared data.
(ステップR2−4a)ストレージサーバ2は、C0,1と、sk1,Sと、sk2とを用いて鍵復元用情報C1=C0,1 W1と、C2=C0,1 W2とを生成する。なお、W1は上記の(10)式を満たす。また、W2は上記の(11)式を満たす。
(Step R2-4a) The
(ステップR2−4b)ストレージサーバ2は、D1と、EKM(MG)と、最終更新時刻(TS,1)と、最終鍵更新時刻(TKS,1)と、C1と、C2とをグループメンバ端末1−2に送付する。
(ステップR2−4c)グループメンバ端末1−2は、sk1,2と、C1と、C2とを用いてKMを復元する。なお、KMの復元方法は以下の通りである。まず、上記の(13)式よりrを復元する。続いて上記の(14)式よりKMを復元する。
(Step R2-4b) The
(Step R2-4c) group member terminal 1-2, and sk 1, 2, and C 1, to restore the K M by using a C 2. Incidentally, restoration method of K M are as follows. First, r is restored from the above equation (13). Subsequently, KM is restored from the above equation (14).
(ステップR2−4d)グループメンバ端末1−2は、KMを用いてEKM(MG)を復号し、MGを取得する。
(ステップR2−4e)グループメンバ端末1−2は、(2,2)閾値分散法を用いてKMに対応するシェアS2,1とシェアS2,2とを作成する。
(ステップR2−4f)グループメンバ端末1−2は、D1と、ID2と、S2,1とをストレージサーバ2に送付する。また、MGの参照後、グループメンバ端末1−2はKMと、MGと、C1と、C2と、S2,1とを削除する。また、ローカルデータリストに当該データ用のエントリに、D1をデータIDとして、L1をデータラベルとして、T’2,1(=TS,1)を最終参照時刻として、TK’2,1(=TKS,1)を最終鍵参照時刻として、S2,2を暗号鍵シェアとして、EKM(MG)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step R2-4d) group member terminal 1-2 uses the K M decrypts the E KM (M G), to obtain the M G.
(Step R2-4e) The group member terminal 1-2 creates a share S 2,1 and a share S 2,2 corresponding to K M using the (2,2) threshold distribution method.
(Step R2-4f) group member terminal 1-2, and D 1, and ID 2, it sends a S 2,1 to the
次に、ステップR2−5で、グループメンバ端末が鍵の更新がない共有データを参照する際の手順について図16を参照して説明する。図16はグループメンバ端末が鍵の更新がない共有データを参照する処理動作を示したシーケンス図である。 Next, the procedure when the group member terminal refers to the shared data with no key update in step R2-5 will be described with reference to FIG. FIG. 16 is a sequence diagram showing a processing operation in which a group member terminal refers to shared data with no key update.
(ステップR2−5a)ストレージサーバ2は、暗号鍵シェアS2,1と、EKM(MG)と、最終更新時刻(TS,1)とをグループメンバ端末1−2に送付する。なお、ステップR2−1で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(MG)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末より送られた最終参照時刻(T2,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。
(Step R2-5a) The
(ステップR2−5b)グループメンバ端末1−2は、S2,2と、S2,1とを用いてKMを復元する。
(ステップR2−5c)グループメンバ端末1−2は、KMを用いてEKM(MG)を復号し、MGを取得する。
(ステップR2−5d)MGの参照後、グループメンバ端末1−2はKMと、MGと、S2,1とを削除する。また、グループメンバ端末1−2は、ローカルデータリストの当該データ用のエントリのT’2,1の値をTS,1の値として上書きする。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step R2-5b) group member terminal 1-2, restores the K M with the S 2, 2, and S 2,1.
(Step R2-5c) group member terminal 1-2 uses the K M decrypts the E KM (M G), to obtain the M G.
(Step R2-5d) after reference M G, group member terminal 1-2 deletes the K M, and M G, and S 2,1. Further, the group member terminal 1-2 overwrites the value of T′2,1 of the entry for the data in the local data list as the value of TS , 1 . Note that E KM (M G ) may or may not be deleted, and may be selected by setting a setting file or the like.
[環境移行処理]
次に、グループメンバ端末1−2が紛失され、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行する手順について説明する。本実施形態での移行手順は、第1の実施形態での移行手順と同様に行う。
[Environment migration process]
Next, a procedure for shifting the environment of the group member terminal 1-2 to the group member terminal 1-3 when the group member terminal 1-2 is lost will be described. The migration procedure in this embodiment is performed in the same manner as the migration procedure in the first embodiment.
以上、第2の実施形態について説明したとおり、本実施形態では第1の実施形態の鍵カプセル化技術による鍵交換処理に加え、秘密分散による鍵交換処理を追加する形態とした。よって、グループメンバ端末が同じ暗号鍵を用いた暗号化データを参照する際に、鍵復元情報C1およびC2をストレージサーバより取得する必要がなく、シェアS1だけを送付すればよい。そのため、ユーザ端末とストレージサーバ間のメッセージサイズを削減できる。例えば、公開鍵暗号の鍵長を1024ビット、共通鍵暗号の鍵長を256ビットにしたとすると、1回のデータ参照あたり1792ビットを削減できる。また、ユーザ端末側でべき乗演算および乗算を行う必要もなくなるため、ユーザ端末の負荷が軽減される。 As described above with respect to the second embodiment, in this embodiment, a key exchange process based on secret sharing is added to the key exchange process based on the key encapsulation technique of the first embodiment. Therefore, when the group member terminal refers to the encrypted data using the same encryption key, it is not necessary to acquire the key recovery information C 1 and C 2 from the storage server, and only the share S 1 needs to be sent. Therefore, the message size between the user terminal and the storage server can be reduced. For example, if the key length of the public key encryption is 1024 bits and the key length of the common key encryption is 256 bits, 1792 bits can be reduced per data reference. Moreover, since it is not necessary to perform exponentiation and multiplication on the user terminal side, the load on the user terminal is reduced.
(第3の実施形態)
次に、本発明の第3の実施形態について図面を参照して説明する。本実施形態では、暗号鍵を生成する基の情報であるマスタシェアと呼ばれる情報をグループメンバ端末内に生成し、生成したマスタシェアを用いて暗号鍵と暗号鍵シェアを生成する。なお、暗号鍵は暗号鍵シェアとマスタシェアのみを用いて生成可能である。また、マスタシェアを秘密分散法で分割シェアSMS,1(第1の分割シェア)と分割シェアSMS,2(第2の分割シェア)との2つの分割シェアに分散する。なお、マスタシェアは分散した2つの分割シェアSMS,1とSMS,2のみを用いて生成可能である。また、本実施形態によるデータ共有システムは第1の実施形態のデータ共有システムと同様である。
(Third embodiment)
Next, a third embodiment of the present invention will be described with reference to the drawings. In the present embodiment, information called a master share, which is basic information for generating an encryption key, is generated in a group member terminal, and an encryption key and an encryption key share are generated using the generated master share. The encryption key can be generated using only the encryption key share and the master share. Further, the master share is distributed to two divided shares of the divided share SMS, 1 (first divided share) and the divided share SMS, 2 (second divided share) by the secret sharing method. The master share can be generated using only two divided shares SMS, 1 and SMS, 2 distributed. The data sharing system according to the present embodiment is the same as the data sharing system according to the first embodiment.
[事前準備]
次に、本実施形態での事前準備について説明する。
(ステップP3−1)認証局3はグループ用公開鍵と秘密鍵のペア(pkG、skG)を生成する。以下、RSA暗号の公開鍵をpkG、秘密鍵をskGとして説明する。
(ステップP3−2)認証局3は分散鍵sk1をランダムに生成する。続いて、認証局3は分散鍵sk1と、ステップP1−1で生成したskGとを用いて、前記(7)式を満たす分散鍵sk2を求める。
[Advance preparation]
Next, advance preparation in the present embodiment will be described.
(Step P3-1) The
(Step P3-2) the
(ステップP3−3)認証局3は、(2,N+1)閾値秘密分散法を用いて、分散鍵sk1をN+1個に分割し、sk1,1、sk1,2、・・・、sk1,N、sk1,Sを生成する。ここでNはデータ共有システムに含まれるグループメンバ端末数であり、またS=N+1とする。続いて、認証局3は、データ共有システムに含まれる各グループメンバ端末にグループ用公開鍵pkGと、sk1,i(i=1,・・・,N)とを配布し、ストレージサーバ2にsk1,Sとsk2とを配布する。
(ステップP3−4)各グループメンバ端末はマスタシェアの初期設定を行い、自端末内にマスタシェア(MSi)を保持する。マスタシェアの初期設定方法は後述する。
(Step P3-3) The
(Step P3-4) Each group member terminal performs an initial setting of the master share, and holds the master share (MS i ) in its own terminal. An initial setting method of the master share will be described later.
次に、ステップP3−4で、グループメンバ端末がマスタシェアの初期設定を行う手順について図17を参照して説明する。図17はグループメンバ端末がマスタシェアの初期設定を行う処理動作を示したシーケンス図である。 Next, the procedure in which the group member terminal performs the initial setting of the master share in step P3-4 will be described with reference to FIG. FIG. 17 is a sequence diagram showing the processing operation in which the group member terminal performs the initial setting of the master share.
(ステップP3−4a)グループメンバ端末1−1はマスタシェアMS1を生成する。なお、マスタシェアMSiは以下の(19)式より生成される。ここで、XMS,i=h(IDi)(hはハッシュ関数、i=1,…,N+1)、g(x)は有限体GF(2b−1)上の多項式(bは暗号鍵の鍵長)である。 (Step P3-4a) The group member terminal 1-1 generates a master share MS 1 . The master share MS i is generated from the following equation (19). Here, X MS, i = h (ID i ) (h is a hash function, i = 1,..., N + 1), g (x) is a polynomial over a finite field GF (2 b −1) (b is an encryption key) Key length).
(ステップP3−4b)グループメンバ端末1−1は、(2,2)閾値分散法を用いてマスタシェアMS1に対応する分割シェアSMS,1,1と分割シェアSMS,1,2とを生成する。なお、マスタシェアMS1は分割シェアSMS,1,1と分割シェアSMS,1,2のみを用いて生成可能である。また、分割シェアSMS,i,1は以下の(20)式を用いて生成する。 (Step P3-4b) The group member terminal 1-1 uses the (2, 2) threshold distribution method , and the split share SMS , 1, 1 and the split share SMS , 1 , 2 , corresponding to the master share MS 1 , Is generated. Incidentally, the master share MS 1 is divided share S MS, 1, 1 and the split share S MS, can be generated using only 1,2. Further, the divided share SMS, i, 1 is generated using the following equation (20).
また、分割シェアSMS,i,2は以下の(21)式を用いて生成する。ここで、XMS,1,2=h(IDi‖r3)(r3は乱数、hはハッシュ関数、i=1,…,N+1)である。 Further, the divided share SMS, i, 2 is generated using the following equation (21). Here, XMS , 1,2 = h (ID i ‖r 3 ) (r 3 is a random number, h is a hash function, i = 1,..., N + 1).
(ステップP3−4c)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID1)と、SMS,1,2とをストレージサーバ2に送付する。
(ステップP3−4d)グループメンバ端末1−1は、SMS,1,1を外部デバイスに送付する。外部デバイスは例えば、USBメモリなどの記憶装置である。
(ステップP3−4e)グループメンバ端末1−1は、SMS,1,1とSMS,1,2とを削除する。
(Step P3-4c) The group member terminal 1-1 sends the ID (ID 1 ) of the group member terminal 1-1 and the SMS , 1, 2 to the
(Step P3-4d) The group member terminal 1-1 sends SMS , 1, 1 to the external device. The external device is, for example, a storage device such as a USB memory.
(Step P3-4e) The group member terminal 1-1 deletes SMS , 1, 1 and SMS , 1 , 2 .
[共有データ保存処理:共有データ新規保存]
次に、共有データの新規保存の処理について図18から図20を参照して説明する。図18は、本実施形態において、グループメンバ端末の記憶部が記憶するデータのリスト(ローカルデータリスト)のデータフォーマット(以下、メンバ端末フォーマットと記す。)を示した図である。図示する例では、メンバ端末フォーマットはデータIDと、データラベルと、最終参照時刻と、暗号化データとの4つの属性を持つ。データIDは、データ共有システム内でデータを一意に識別するための識別子である。データラベルは、例えばファイル名など、データの内容や形態を表す名称である。最終参照時刻は、共有データを最後に参照した時刻である。暗号化データは、共有データを暗号化したデータである。
[Shared data storage processing: Shared data new storage]
Next, shared data new storage processing will be described with reference to FIGS. FIG. 18 is a diagram showing a data format (hereinafter referred to as a member terminal format) of a list of data (local data list) stored in the storage unit of the group member terminal in the present embodiment. In the illustrated example, the member terminal format has four attributes of data ID, data label, last reference time, and encrypted data. The data ID is an identifier for uniquely identifying data within the data sharing system. The data label is a name representing the content and form of data such as a file name. The last reference time is the time when shared data was last referenced. Encrypted data is data obtained by encrypting shared data.
図19は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータのデータフォーマット(以下、ストレージサーバフォーマットと記す。)を示した図である。図示する例では、ストレージサーバフォーマットはデータIDと、データラベルと、最終更新時刻と、暗号化データと、鍵復元用情報と、ユーザIDと、暗号鍵シェアとの7つの属性を持つ。データIDと、データラベルと、暗号化データと、暗号鍵シェアとの4つの属性は、メンバ端末フォーマットの属性と同様である。ユーザIDはグループメンバ端末を一意に識別するための識別子である。最終更新時刻は共有データを最後に更新した時刻である。鍵復元用情報は、暗号化データを復号化する際に使用する鍵を作成する際に使用する情報である。
FIG. 19 is a diagram showing a data format (hereinafter referred to as a storage server format) of data stored in the storage unit of the
図20は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。
FIG. 20 is a sequence diagram illustrating a processing operation in which the group member terminal 1-1 stores group shared data in the
(ステップW3−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMGを用意する。また、MGのファイル名をデータラベルL1とする。
(ステップW3−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkGから暗号鍵KMと鍵復号用情報C0,1とを生成する。
User using the (step W3-1) group member terminal 1-1 operates the group member terminal 1-1, to prepare a shared data M G to group member terminal 1-1. In addition, the file name of M G and the data label L 1.
(Step W3-2) Using the key encapsulation technique, the group member terminal 1-1 generates the encryption key K M and the key decryption information C 0,1 from pk G.
(ステップW3−3)共通鍵暗号により、グループメンバ端末1−1は、KMを用いて共有データMGを暗号化する。暗号化後の共有データ(暗号化データ)はEKM(MG)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMGを削除する。
(ステップW3−4)グループメンバ端末1−1は、マスタシェアMS1を用いてKMに対応する暗号鍵シェアSKM,1を生成する。暗号鍵シェアSKM,1は以下の(22)式を用いて生成する。ここで、XKM,1=h(ID1‖r2)(r2は乱数、hはハッシュ関数)である。なお、KMはマスタシェアMS1と暗号鍵シェアSKM,1のみを用いて生成可能である。
(Step W3-3) common key encryption, the group member terminal 1-1, encrypts the shared data M G with K M. The shared data after encryption (encrypted data) is E KM (M G ). After encryption completion, the group member terminal 1-1 deletes the M G group members terminal 1-1 stores.
(Step W3-4)
(ステップW3−5)グループメンバ端末1−1は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step W3-5) The group member terminal 1-1 prompts the user to input information for user authentication, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップW3−6)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID1)と、EKM(MG)と、C0,1と、L1と、SKM,1と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW3−7)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNとの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は当該データにデータID(D1)を割り当てる。また、ストレージサーバ2はID1と、L1と、EKM(MG)と、C0,1と、SKM,1と、D1と、最終更新時刻(TS,1)とをストレージサーバフォーマットのフォーマットに従ってストレージサーバ2の記憶部に格納する。最新更新時刻(TS,1)は、当該格納時の時刻である。
(Step W3-6) The group member terminal 1-1 receives the ID (ID 1 ), E KM (M G ), C 0,1 , L 1 , and S KM, which the group member terminal 1-1 has . 1 , UID, and PN are sent to the
(Step W3-7) The
(ステップW3−8)ステップW3−7での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはD1とTS,1とTKS,1とが含まれる。
(ステップW3−9)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1とSKM,1とを削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、D1をデータIDとして、L1をデータラベルとして、T1,1(=TS,1)を最終参照時刻として、EKM(MG)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W3-8) In order to notify the group member terminal 1-1 that the storage process in step W3-7 has been completed, the
(Step W3-9) After receiving the ACK message from the
[共有データ保存処理:共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での更新保存の処理について図21を参照して説明する。図21は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。
[Shared data storage processing: Shared data update storage (with key update)]
Next, update storage processing in the present embodiment when there is a key update will be described with reference to FIG. FIG. 21 is a sequence diagram illustrating a processing operation in which the group member terminal 1-1 stores group shared data in the
(ステップW3a−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMG’を用意する。また、MG’のファイル名をデータラベルL1とする。
(ステップW3a−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkGから暗号鍵KM’と鍵復号用情報C0,1’とを生成する。
(Step W3a-1) The user who uses the group member terminal 1-1 operates the group member terminal 1-1 to prepare the shared data M G ′ on the group member terminal 1-1. In addition, the file name of M G 'with the data label L 1.
(Step W3a-2) Using the key encapsulation technique, the group member terminal 1-1 generates the encryption key K M ′ and key decryption information C 0,1 ′ from pk G.
(ステップW3a−3)共通鍵暗号により、グループメンバ端末1−1は、KM’を用いて共有データMG’を暗号化する。暗号化後の共有データ(暗号化データ)はEKM’(MG’)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMG’を削除する。
(ステップW3a−4)グループメンバ端末1−1は、マスタシェアMS1を用いてKM’に対応する暗号鍵シェアSKM,1’を生成する。暗号鍵シェアSKM,1’は上記の(22)式を用いて生成する。
(Step W3a-3) By the common key encryption, the group member terminal 1-1 encrypts the shared data M G ′ using K M ′. The encrypted shared data (encrypted data) is E KM ′ (M G ′). After completing the encryption, the group member terminal 1-1 deletes M G ′ stored in the group member terminal 1-1.
(Step W3a-4)
(ステップW3a−5)グループメンバ端末1−1は、グループメンバ端末1−1は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step W3a-5) The group member terminal 1-1 prompts the user to input information for user authentication, and accepts the input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップW3a−6)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID1)と、EKM’(MG’)と、C0,1’と、L1と、SKM,1’と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW3a−7)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNとの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は当該データにデータID(D1)を割り当てる。また、ストレージサーバ2はID1と、L1と、EKM’(MG’)と、C0,1’と、SKM,1’と、D1と、最終更新時刻(TS,1’)とをストレージサーバフォーマットのフォーマットに従ってストレージサーバ2の記憶部に格納する。最新更新時刻(TS,1’)は、当該格納時の時刻である。
(Step W3a-6)
(Step W3a-7) The
(ステップW3a−8)ステップW3a−7での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはD1とTS,1’とが含まれる。
(ステップW3a−9)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1’とSKM,1’とを削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、D1をデータIDとして、L1をデータラベルとして、T1,1’(=TS,1’)を最終参照時刻として、EKM’(MG’)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM’(MG’)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(ステップW3a−10)ストレージサーバ2は、SKM,1とSKM,1’に基づいて、MGに関して他のユーザ(IDi)が使用する暗号鍵シェアSKM,iをSKM,i’に更新する。暗号鍵シェアSKM,i’は以下の(23)式を用いて生成する。ここで、XMS,i=h(IDMS,i)は、メンバ端末iのマスタシェアMSiのx座標、XKM,i=h(IDi‖r2)は暗号鍵シェアSKM,iのx座標、r2は乱数である(i=1,…,N+1)。
(Step W3a-8) The
(Step W3a-9) After receiving the ACK message from the
(Step W3a-10) The storage server 2, S KM, based on 1 and S KM, 1 ', the encryption key shares S KM another user (ID i) is used with respect to M G, a i S KM, i Update to '. The encryption key share S KM, i ′ is generated using the following equation (23). Here, X MS, i = h (ID MS, i ) is the x coordinate of the master share MS i of the member terminal i, and X KM, i = h (ID i ‖r 2 ) is the encryption key share S KM, i X 2 and r 2 are random numbers (i = 1,..., N + 1).
[共有データ保存処理:共有データ更新保存(鍵更新なし)]
次に、鍵の更新がない場合での本実施形態での共有データの更新保存の処理について説明する。鍵の更新がない場合での本実施形態での共有データの更新保存の処理動作は、第1の実施形態の鍵の更新がない場合での共有データの更新保存の処理動作と同様に行う。
[Shared data storage processing: Shared data update storage (no key update)]
Next, shared data update storage processing in the present embodiment when there is no key update will be described. The shared data update storage processing operation in the present embodiment when there is no key update is performed in the same manner as the shared data update storage processing operation in the first embodiment when there is no key update.
[共有データ参照処理(新規参照)]
次に、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が初めて参照する際の処理について図22を参照して説明する。図22は、本実施形態において、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が初めて参照する際の処理動作を示したシーケンス図である。
[Shared data reference processing (new reference)]
Next, processing when the group member terminal 1-2 refers to the shared data registered in the
(ステップR3−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。
(Step R3-0) The
(ステップR3−1)グループメンバ端末1−2は、ユーザから共有データの参照要求の入力を受け付ける。続いて、グループメンバ端末1−2は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step R3-1) The group member terminal 1-2 receives an input of a reference request for shared data from the user. Subsequently, the group member terminal 1-2 prompts the user to input user authentication information, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップR3−2)グループメンバ端末1−2は、参照するデータMGのデータID(D1)と、グループメンバ端末1−2が持つID(ID2)と、UIDと、PNとをデータ要求メッセージとしてストレージサーバ2に送付する。
(Step R3-2) group member terminal 1-2, the data ID of the reference data M G (D 1), the ID of the group member terminal 1-2 has (ID 2), UID and data and a PN The message is sent to the
(ステップR3−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は、C0,1と、sk1,Sと、sk2とを用いて鍵復元用情報C1=C0,1 W1と、C2=C0,1 W2とを生成する。なお、W1は上記(10)式を満たす。また、W2は上記(11)式を満たす。
(Step R3-3) The
(ステップR3−4)ストレージサーバ2は、D1と、EKM(MG)と、最終更新時刻(TS,1)と、C1と、C2とをグループメンバ端末1−2に送付する。
(ステップR3−5)グループメンバ端末1−2は、sk1,2と、C1と、C2とを用いてKMを復元する。なお、KMの復元方法はステップR2−4cで復元した方法と同様である。
(ステップR3−6)グループメンバ端末1−2は、KMを用いてEKM(MG)を復号し、MGを取得する。
(ステップR3−7)グループメンバ端末1−2は、マスタシェアMS2を用いてKMに対応する暗号化シェアSKM,2を生成する。
(Step R3-4) the
(Step R 35) group member terminal 1-2, and sk 1, 2, and C 1, to restore the K M by using a C 2. Incidentally, restoration method of K M is the same as the method restored in the step R2-4c.
(Step R3-6) group member terminal 1-2 uses the K M decrypts the E KM (M G), to obtain the M G.
(Step R3-7) group member terminal 1-2, to generate an encrypted share S KM, 2 corresponding to the K M using the master share MS 2.
(ステップR3−8)グループメンバ端末1−2は、D1と、ID2と、SKM,2とをストレージサーバ2に送付する。また、MGの参照後、グループメンバ端末1−2はKMと、MGと、C1と、C2と、SKM,2とを削除する。また、ローカルデータリストの当該データ用のエントリに、D1をデータIDとして、L1をデータラベルとして、T2,1(=TS,1)を最終参照時刻として、EKM(MG)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step R3-8) group member terminal 1-2, and D 1, and ID 2, sends the S KM, 2 to the
[共有データ参照処理(再参照)]
次に、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が再度参照する際の処理について図23を参照して説明する。図23は、本実施形態において、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が再度参照する際の処理動作を示したシーケンス図である。
[Shared data reference processing (re-reference)]
Next, processing when the group member terminal 1-2 refers again to the shared data registered in the
(ステップR3a−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。
(Step R3a-0) The
(ステップR3a−1)グループメンバ端末1−2は、ユーザから共有データの参照要求の入力を受け付ける。続いて、グループメンバ端末1−2は、ユーザに対してユーザ認証用情報の入力を促し、ユーザからの認証情報の入力を受け付ける。ユーザ認証用情報は、ユーザID(UID)と認証情報(PN)である。認証情報は例えば暗証番号である。 (Step R3a-1) The group member terminal 1-2 receives an input of a shared data reference request from the user. Subsequently, the group member terminal 1-2 prompts the user to input user authentication information, and accepts input of authentication information from the user. The user authentication information is a user ID (UID) and authentication information (PN). The authentication information is, for example, a password.
(ステップR3a−2)グループメンバ端末1−2は、参照するデータMGのデータID(D1)と、グループメンバ端末1−2が持つID(ID2)と、UIDと、PNと、当該データの最終参照時刻(T2,1)とをデータ要求メッセージとしてストレージサーバ2に送付する。なお、グループメンバ端末内の暗号化データEKM(MG)の有無を知らせる情報をデータ要求メッセージ内に追加しても良い。
(Step R3a-2) group member terminal 1-2, the data ID of the data M G reference (D 1), the ID of the group member terminal 1-2 has (ID 2), the UID, the PN, the The data last reference time (T 2,1 ) is sent to the
(ステップR3a−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は、暗号鍵シェアSKM,2と、EKM(MG)と、最終更新時刻(TS,1)とをグループメンバ端末1−2に送付する。なお、ステップR3a−2で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(MG)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末1−iより送られた最終参照時刻(Ti,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。
(Step R3a-3) The
(ステップR3a−4)グループメンバ端末1−2は、SKM,2と、MS2とを用いてKMを復元する。
(ステップR3a−5)グループメンバ端末1−2は、KMを用いてEKM(MG)を復号し、MGを取得する。
(ステップR3a−6)MGの参照後、グループメンバ端末1−2はKMと、MGと、SKM,2とを削除する。また、ローカルデータリストの当該データ用のエントリに、T2,1(=TS,1)を最終参照時刻としてメンバ端末フォーマットに従って格納する。なお、EKM(MG)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step R3a-4) group member terminal 1-2, restores the K M with the S KM, 2, and MS 2.
(Step R3a-5) group member terminal 1-2 uses the K M decrypts the E KM (M G), to obtain the M G.
(Step R3a-6) after reference M G, group member terminal 1-2 deletes the K M, and M G, and S KM, 2. Further, T 2,1 (= T S, 1 ) is stored in the entry for the data in the local data list as the last reference time according to the member terminal format. Note that E KM (M G ) may or may not be deleted, and may be selected by setting a setting file or the like.
[環境移行処理]
次に、グループメンバ端末1−2が紛失され、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行する手順について図24を参照して説明する。図24は、本実施形態において、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行する処理動作を示したシーケンス図である。
[Environment migration process]
Next, a procedure for shifting the environment of the group member terminal 1-2 to the group member terminal 1-3 when the group member terminal 1-2 is lost will be described with reference to FIG. FIG. 24 is a sequence diagram showing a processing operation for shifting the environment of the group member terminal 1-2 to the group member terminal 1-3 in the present embodiment.
(ステップRE3−1)グループメンバ端末1−3は、グループメンバ端末1−2の紛失と、グループメンバ端末1−2の環境をグループメンバ端末1−3へ移行する要求とを認証局3に通知する。また、グループメンバ端末1−3は、ステップP3−4dで外部デバイスに保管したSMS,2,1を取得する。
(ステップRE3−2)認証局3は、グループメンバ端末1−1に分割鍵更新用シェアSR,1を送付し、ストレージサーバ2に分割鍵更新用シェアSR,Sを送付する。なお、SR,iは上記の(15)式を満たす。
(Step RE3-1) The group member terminal 1-3 notifies the
(Step RE 3-2) The
(ステップRE3−3)グループメンバ端末1−1はSR,1を用いてsk1,1を更新し、sk’1,1を生成する。生成後、グループメンバ端末1−1はSR,1とsk1,1とを削除する。ストレージサーバ2はSR,Sを用いてsk1,Sを更新し、sk’1,Sを生成する。生成後、ストレージサーバ2はSR,Sとsk1,Sとを削除する。なお、sk’1,iは上記の(16)式を用いて生成する。
(Step RE3-3) The group member terminal 1-1 updates sk 1,1 using SR , 1 , and generates sk ' 1,1 . After the generation, the group member terminal 1-1 deletes S R, 1 and sk 1,1 . The
(ステップRE3−4)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3を生成する。なお、生成は上記の(16)式を用いて行う。
(ステップRE3−5)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3と公開鍵pkGとをグループメンバ端末1−3に送付する。
(Step RE3-4) The
(Step RE3-5) The
(ステップRE3−6)ストレージサーバ2は分割シェアS’MS,2,2を生成し、それをグループメンバ端末1−3へ送付する。分割シェアS’MS,i,2は以下の(24)式を用いて生成する。ここで、gk(x)=bkx(bkは乱数)である。
(Step RE3-6) The
グループメンバ端末1−3は、S’MS,2,2と、SMS,2,1とよりMS3を生成する。なお、MS3は以下の式(25)を満たす。 The group member terminal 1-3 generates MS 3 from S ′ MS, 2,2 and SMS, 2,1 . MS 3 satisfies the following formula (25).
(ステップRE3−7)認証局3は、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行したことをストレージサーバ2に通知する。
(Step RE3-7) The
以上、第3の実施形態について説明したとおり、本実施形態では、暗号鍵を生成する基の情報であるマスタシェアと呼ばれる情報をグループメンバ端末内に生成し、生成したマスタシェアを用いて暗号鍵と暗号鍵シェアを生成する形態とした。また、グループメンバ端末が暗号鍵を変更して共有データを更新保存した場合、更新された暗号鍵の情報に基づいて、ストレージサーバはステップWa−10にて、ストレージサーバが記憶する全グループメンバ端末の暗号鍵シェアを更新する。よって、グループメンバ端末が暗号鍵を変更して共有データを更新保存した後に、他のグループメンバ端末が一度参照したデータを再度参照するときには、再度鍵カプセル化技術による鍵復元を行わずに秘密分散法による鍵復元を利用することができる。 As described above with respect to the third embodiment, in this embodiment, information called a master share, which is information on the basis for generating the encryption key, is generated in the group member terminal, and the generated key share is used to generate the encryption key. The encryption key share is generated. When the group member terminal changes the encryption key and updates and saves the shared data, the storage server, based on the updated encryption key information, stores all the group member terminals stored in the storage server in step Wa-10. Update the encryption key share for. Therefore, after the group member terminal changes the encryption key and updates and saves the shared data, when the group member terminal refers to the data once referenced again, the secret sharing is performed without performing the key restoration again by the key encapsulation technique. Key recovery by law can be used.
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.
なお、ステップR2−3の鍵更新判定には、暗号鍵のハッシュ値HK=h(KM)を用いて判定してもよい。具体的には、グループメンバ端末は、データ保存処理時にハッシュ値を生成し、ストレージサーバ2に送信する。その後、データ参照処理時において、グループメンバ端末は、ステップR2−2で暗号鍵のハッシュ値をストレージサーバ2に送付する。ストレージサーバ2はデータ保存処理時の暗号鍵のハッシュ値と、ステップR2−2の暗号鍵のハッシュ値とを比較し、一致した場合は暗号鍵の更新がないと判断しても良い。
The key update determination in step R2-3 may be performed using the hash value HK = h (KM) of the encryption key. Specifically, the group member terminal generates a hash value during data storage processing and transmits it to the
また、上述した実施形態におけるグループメンバ端末の暗号鍵生成機能、送信機能、受信機能、暗号鍵復元機能、復号機能、更新情報受信機能、分割鍵更新機能、シェア生成機能の各処理機能全体あるいはその一部、ストレージサーバの受信機能、記憶機能、鍵復元用情報生成機能、送信機能、分割鍵更新機能の各処理機能全体あるいはその一部、認証局のグループ鍵生成機能、分散鍵生成機能、分散鍵分割機能、鍵配布機能、受信機能、分割鍵更新情報生成機能、更新情報配布機能の各処理機能全体あるいはその一部は、これらの機能実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。 In addition, the entire processing functions of the encryption key generation function, transmission function, reception function, encryption key restoration function, decryption function, update information reception function, split key update function, share generation function of the group member terminal in the above-described embodiment or its Part of storage server reception function, storage function, key recovery information generation function, transmission function, split key update function as a whole or part of it, certificate authority group key generation function, distributed key generation function, distributed All or some of the processing functions of the key splitting function, key distribution function, receiving function, split key update information generation function, and update information distribution function are recorded on a computer-readable recording medium. Then, the program recorded on the recording medium may be read by the computer system and executed. Here, the “computer system” includes an OS and hardware such as peripheral devices.
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してコンピュータプログラムを送信する場合の通信線のように、短時間の間、動的にコンピュータプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間コンピュータプログラムを保持しているものも含むものとする。また上記コンピュータプログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているコンピュータプログラムとの組み合わせで実現できるものであっても良い。
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a computer program that is dynamically stored for a short time, such as a communication line when a computer program is transmitted via a network such as the Internet or a communication line such as a telephone line. What is held, and what holds a computer program for a certain period of time, such as volatile memory inside a computer system serving as a server or client in that case, are included. Further, the computer program may be for realizing a part of the functions described above, and may be implemented in combination with a computer program already recorded in the computer system. good.
1−1〜1−N・・・グループメンバ端末、2・・・ストレージサーバ、3・・・認証局、4・・・ 通信ネットワーク、100・・・データ共有システム 1-1 to 1-N: Group member terminal, 2 ... Storage server, 3 ... Certificate authority, 4 ... Communication network, 100 ... Data sharing system
Claims (18)
公開鍵と秘密鍵を生成するグループ鍵生成部と、
第1の分散鍵を生成する分散鍵生成部と、
前記第1の分散鍵と秘密鍵とに基づいて、前記第1の分散鍵と前記第2の分散鍵より前記秘密鍵を生成することが可能な前記第2の分散鍵を生成する第2分散鍵生成部と、
前記第1の分散鍵をN+1個の互いに異なる分割鍵に分割する分散鍵分割部と、
前記分散鍵分割部で分割したN+1個の分割鍵を、N台の前記端末装置と前記ストレージサーバに1個ずつ配布し、N台の前記端末装置それぞれに前記公開鍵を配布し、前記ストレージサーバに前記第2の分散鍵を配布する鍵配布部と、
を備え、
前記第1の分散鍵は、2種類以上の前記分割鍵より生成可能である
ことを特徴とする鍵生成装置。 A storage server for storing a second distributed key essential for decrypting encrypted shared data and the encrypted shared data, N (N is an integer of 1 or more) terminal devices, and a key generation device In the key generation device included in the data sharing system comprising:
A group key generation unit for generating a public key and a secret key;
A distributed key generation unit for generating a first distributed key;
Based on the first distributed key and the secret key, a second distribution that generates the second distributed key that can generate the secret key from the first distributed key and the second distributed key A key generation unit;
A distributed key splitting unit that splits the first shared key into N + 1 different split keys;
N + 1 divided keys divided by the distributed key dividing unit are distributed to N terminal devices and the storage server one by one, the public key is distributed to each of the N terminal devices, and the storage server A key distribution unit for distributing the second distributed key to
With
The key generation apparatus characterized in that the first distributed key can be generated from two or more types of the split keys.
前記受信部で端末装置移行情報を受信した際に、分割鍵を更新するための情報である分割鍵更新情報を生成する分割鍵更新情報生成部と、
前記分割鍵更新情報生成部で生成した前記分割鍵更新情報を前記端末装置移行情報に含まれていない端末装置とストレージサーバとに配布する更新情報配布部と、
を備え、
前記分散鍵分割部は、前記移行先端末装置が使用する分割鍵を生成し、
前記鍵配布部は前記分散鍵分割部が生成した前記分割鍵と、前記公開鍵とを前記移行先端末装置に送信する
ことを特徴とする請求項1に記載の鍵生成装置。 Migration source terminal device information that uniquely identifies a migration source terminal device that is an original terminal device that migrates the environment of the terminal device, and a migration destination terminal device that is a migration destination terminal device of the environment of the migration source terminal device. A receiving unit for receiving terminal device transition information including the destination terminal device information uniquely specified;
A split key update information generating unit that generates split key update information that is information for updating a split key when the receiving unit receives the terminal device transition information;
An update information distribution unit that distributes the split key update information generated by the split key update information generation unit to a terminal device and a storage server that are not included in the terminal device migration information;
With
The distributed key splitting unit generates a split key used by the transfer destination terminal device,
The key generation device according to claim 1, wherein the key distribution unit transmits the split key generated by the distributed key splitting unit and the public key to the transfer destination terminal device.
前記鍵生成装置より送付された公開鍵から暗号鍵と第1の鍵復元用情報を生成する暗号鍵生成部と、
前記暗号鍵を使用して共有データを暗号化する暗号部と、
暗号化した前記共有データと、前記第1の鍵復元用情報とを前記ストレージサーバに送信する送信部と、
暗号化された共有データと、第2の鍵復元用情報と、第3の鍵復元用情報とを前記ストレージサーバから受信する受信部と、
前記鍵生成装置より送付された分割鍵と、前記受信部で受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元する暗号鍵復元部と、
前記暗号鍵復元部で復元した前記暗号鍵を用いて、前記受信部で受信した暗号化された前記共有データを復号する復号部と、
を備えたことを特徴とする端末装置。 The data sharing system includes a storage server that stores a second distributed key essential for decrypting encrypted shared data and the encrypted shared data, a terminal device, and a key generation device. In the terminal device,
An encryption key generation unit that generates an encryption key and first key recovery information from a public key sent from the key generation device;
An encryption unit for encrypting shared data using the encryption key;
A transmitting unit that transmits the encrypted shared data and the first key recovery information to the storage server;
A receiving unit that receives the encrypted shared data, the second key recovery information, and the third key recovery information from the storage server;
An encryption key restoration unit for restoring an encryption key based on the split key sent from the key generation device, the second key restoration information received by the reception unit, and the third key restoration information; ,
A decryption unit for decrypting the encrypted shared data received by the reception unit using the encryption key restored by the encryption key restoration unit;
A terminal device comprising:
前記更新情報受信部が受信した前記分割鍵更新情報に基づいて、前記分割鍵を更新する分割鍵更新部と、
を備えたことを特徴とする請求項3に記載の端末装置。 An update information receiving unit for receiving split key update information from the key generation device;
A split key update unit that updates the split key based on the split key update information received by the update information receiving unit;
The terminal device according to claim 3, further comprising:
を備え、
前記送信部は、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを前記ストレージサーバに送信し、
前記受信部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記第2のシェアとを受信し、
前記暗号鍵復元部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記第1のシェアと前記第2のシェアとに基づいて暗号鍵を復元する
ことを特徴とする請求項3に記載の端末装置。 A share generation unit that generates a first share and a second share, which is information capable of generating the encryption key with only two pieces of information
With
The transmitting unit transmits the the shared data encrypted, and the first key recovery information, and said second share of the storage server,
The receiving unit, when the encryption key the encryption unit is used in the encryption of the shared data is updated, the the encrypted shared data, and the second key recovery information, the first 3 of the key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and said second share
When the encryption key used by the encryption unit to encrypt the shared data is updated, the encryption key restoration unit receives the split key sent from the key generation device and the reception unit. An encryption key is restored based on the second key restoration information and the third key restoration information, and when the encryption key is not updated, the first share and the second key restore the encryption key on the basis of the share
Terminal device according to claim 3, wherein the this.
2つの情報のみで前記マスタシェアを復元することが可能な情報である、第1の分割シェアと第2の分割シェアとを生成する分割シェア生成部と、
前記暗号鍵と前記マスタシェアとに基づいて、前記マスタシェアと暗号鍵シェアの2つの情報のみで前記暗号鍵を生成可能な情報である暗号鍵シェアを生成するシェア生成部と、
を備え、
前記送信部は、
暗号化した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを前記ストレージサーバに送信し、
前記受信部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記暗号鍵シェアとを受信し、
前記暗号鍵復元部は、前記暗号部が前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記マスタシェアと、前記暗号鍵シェアとに基づいて暗号鍵を復元する
ことを特徴とする請求項3に記載の端末装置。 A storage unit for storing the master share the information of the group that produces the encryption key,
A split share generating unit that generates a first split share and a second split share, which is information capable of restoring the master share with only two pieces of information ;
Wherein the front Symbol encryption key based on the master share a share generator for generating an encryption key shares are only two pieces of information in generating information that can be the encryption key of the master share a cryptographic key shares,
With
The transmitter is
Send the the shared data encrypted, and the first key recovery information, and the encryption key shares to the storage server,
The receiving unit, when the encryption key the encryption unit is used in the encryption of the shared data is updated, the the encrypted shared data, and the second key recovery information, the first 3 of the key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and the encryption key shares,
When the encryption key used by the encryption unit to encrypt the shared data is updated, the encryption key restoration unit receives the split key sent from the key generation device and the reception unit. An encryption key is restored based on the second key restoration information and the third key restoration information, and when the encryption key is not updated, the master share, the encryption key share, restore the encryption key based on the
Terminal device according to claim 3, wherein the this.
前記端末装置より暗号化された共有データと第1の鍵復元用情報とを受信する受信部と、
前記受信部で受信した前記共有データと前記第1の鍵復元用情報とを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、分割鍵とを記憶する記憶部と、
前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、第2の鍵復元用情報と、第3の鍵復元用情報とを生成する鍵復元用情報生成部と、
暗号化された共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを端末装置に送信する送信部と、
を備えたことを特徴とするストレージサーバ。 In a storage server included in a data sharing system including a storage server, a terminal device, and a key generation device,
A receiving unit that receives the encrypted shared data and the first key recovery information from the terminal device;
The shared data received by the receiving unit and the first key recovery information are stored in association with each other, and a second distributed key essential for decrypting the encrypted shared data and a split key are stored A storage unit;
Key recovery information for generating second key recovery information and third key recovery information based on the first key recovery information, the split key, and the second distributed key. A generator,
A transmitting unit that transmits the encrypted shared data, the second key recovery information, and the third key recovery information to the terminal device;
A storage server comprising:
前記更新情報受信部が受信した前記分割鍵更新情報に基づいて、前記分割鍵を更新する分割鍵更新部と、
を備えたことを特徴とする請求項7に記載のストレージサーバ。 An update information receiving unit that receives split key update information that is information for updating the split key from the key generation device;
A split key update unit that updates the split key based on the split key update information received by the update information receiving unit;
The storage server according to claim 7, further comprising:
前記記憶部は、前記受信部で受信した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な前記第2の分散鍵と、前記分割鍵とを記憶し、
前記鍵復元用情報生成部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、
前記送信部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記第2のシェアとを前記端末装置に送信する
ことを特徴とする請求項7に記載のストレージサーバ。 The receiving unit receives the the encrypted shared data from the terminal device, the first key recovery information, and a second share,
The storage unit stores the shared data received by the receiving unit, the first key recovery information, and the second share in association with each other, and is essential for decrypting the encrypted shared data Storing the second distributed key and the split key ;
The key recovery information generation unit, when the encryption key used for encryption of the shared data in the terminal device is updated, the first key recovery information, the split key, and the first key Generating the second key recovery information and the third key recovery information based on the two distributed keys;
And the transmission unit, when the encryption key used to encrypt the shared data in the terminal device is updated, and the encrypted shared data, and the second key recovery information, the first 3 of the key recovery information is transmitted to the terminal device, when the encryption key has not been updated, that sends the the encrypted shared data, and said second share of the terminal device
The storage server according to claim 7, wherein the this.
前記記憶部は、前記受信部で受信した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、前記分割鍵とを記憶し、
前記鍵復元用情報生成部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、
前記送信部は、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記暗号鍵シェアとを前記端末装置に送信する
ことを特徴とする請求項7に記載のストレージサーバ。 The receiving unit receives the the encrypted shared data from the terminal device, the first key recovery information, a cryptographic key shares,
The storage unit stores the shared data received by the receiving unit, the first key recovery information, and the encryption key share in association with each other, and is essential for decrypting the encrypted shared data. 2 distributed keys and the split key are stored ,
The key recovery information generation unit, when the encryption key used for encryption of the shared data in the terminal device is updated, the first key recovery information, the split key, and the first key Generating the second key recovery information and the third key recovery information based on the two distributed keys;
And the transmission unit, when the encryption key used to encrypt the shared data in the terminal device is updated, and the encrypted shared data, and the second key recovery information, the first 3 is transmitted to the terminal device, and if the encryption key is not updated, the encrypted shared data and the encryption key share are transmitted to the terminal device.
The storage server according to claim 7, wherein the this.
公開鍵と秘密鍵を生成するグループ鍵生成ステップと、
第1の分散鍵を生成する分散鍵生成ステップと、
前記第1の分散鍵と秘密鍵とに基づいて、前記第1の分散鍵と前記第2の分散鍵より前記秘密鍵を生成することが可能な前記第2の分散鍵を生成する第2分散鍵生成ステップと、
前記第1の分散鍵をN+1個の互いに異なる分割鍵に分割する分散鍵分割ステップと、
前記分散鍵分割ステップで分割したN+1個の分割鍵を、N台の前記端末装置と前記ストレージサーバに1個ずつ配布し、N台の前記端末装置それぞれに前記公開鍵を配布し、前記ストレージサーバに前記第2の分散鍵を配布する鍵配布ステップと、
をコンピュータに実行させるためのコンピュータプログラム。 A storage server for storing a second distributed key essential for decrypting encrypted shared data and the encrypted shared data, N (N is an integer of 1 or more) terminal devices, and a key generation device In a data sharing system with
A group key generation step for generating a public key and a private key;
A distributed key generation step of generating a first distributed key;
Based on the first distributed key and the secret key, a second distribution that generates the second distributed key that can generate the secret key from the first distributed key and the second distributed key A key generation step;
A distributed key splitting step of splitting the first distributed key into N + 1 different split keys;
The N + 1 divided keys divided in the distributed key dividing step are distributed one by one to the N terminal devices and the storage server, and the public key is distributed to each of the N terminal devices, and the storage server A key distribution step of distributing the second distributed key to:
A computer program for causing a computer to execute.
前記受信ステップで端末装置移行情報を受信した際に、分割鍵を更新するための情報である分割鍵更新情報を生成する分割鍵更新情報生成ステップと、
前記分割鍵更新情報生成ステップで生成した前記分割鍵更新情報を前記端末装置移行情報に含まれていない端末装置とストレージサーバとに配布する更新情報配布ステップと、
をコンピュータに実行させ、
前記分散鍵分割ステップは、前記移行先端末装置が使用する分割鍵を生成し、
前記鍵配布ステップは前記分散鍵分割ステップが生成した前記分割鍵と、前記公開鍵とを前記移行先端末装置に送信する
ことを特徴とする請求項11に記載のコンピュータプログラム。 Migration source terminal device information that uniquely identifies a migration source terminal device that is an original terminal device that migrates the environment of the terminal device, and a migration destination terminal device that is a migration destination terminal device of the environment of the migration source terminal device. A receiving step for receiving terminal device transition information including uniquely specifying destination terminal device information;
A split key update information generating step for generating split key update information, which is information for updating the split key when receiving the terminal device transition information in the receiving step;
An update information distribution step for distributing the split key update information generated in the split key update information generation step to a terminal device and a storage server not included in the terminal device migration information;
To the computer,
The distributed key splitting step generates a split key used by the transfer destination terminal device,
The computer program according to claim 11, wherein the key distribution step transmits the split key generated by the distributed key split step and the public key to the transfer destination terminal device.
前記鍵生成装置より送付された公開鍵から暗号鍵と第1の鍵復元用情報を生成する暗号鍵生成ステップと、
前記暗号鍵を使用して共有データを暗号化する暗号ステップと、
暗号化した前記共有データと、前記第1の鍵復元用情報とを前記ストレージサーバに送信する送信ステップと、
暗号化された共有データと、第2の鍵復元用情報と、第3の鍵復元用情報とを前記ストレージサーバから受信する受信ステップと、
前記鍵生成装置より送付された分割鍵と、前記受信ステップで受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元する暗号鍵復元ステップと、
前記暗号鍵復元ステップで復元した前記暗号鍵を用いて、前記受信ステップで受信した暗号化された前記共有データを復号する復号ステップと、
をコンピュータに実行させるためのコンピュータプログラム。 In a data sharing system comprising a storage server for storing a second distributed key essential for decrypting encrypted shared data and the encrypted shared data, a terminal device, and a key generation device,
An encryption key generation step of generating an encryption key and first key restoration information from a public key sent from the key generation device;
An encryption step of encrypting shared data using the encryption key;
A transmission step of transmitting the encrypted shared data and the first key recovery information to the storage server;
Receiving the encrypted shared data, the second key recovery information, and the third key recovery information from the storage server;
An encryption key restoring step for restoring an encryption key based on the split key sent from the key generation device, the second key restoration information received in the receiving step, and the third key restoration information; ,
A decryption step of decrypting the encrypted shared data received in the reception step using the encryption key restored in the encryption key restoration step;
A computer program for causing a computer to execute.
を含み、
前記送信ステップでは、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを前記ストレージサーバに送信し、
前記受信ステップでは、前記暗号部ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記第2のシェアとを受信し、
前記暗号鍵復元ステップでは、前記暗号ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記第1のシェアと前記第2のシェアとに基づいて暗号鍵を復元する
ことを特徴とする請求項13に記載のコンピュータプログラム。 A share generation step of generating a first share and a second share, which is information that can generate the encryption key only with two pieces of information;
Including
In the transmission step, the encrypted shared data, the first key recovery information, and the second share are transmitted to the storage server,
In the receiving step, when the encryption key used in the encryption of the shared data in the encryption unit step is updated, the the encrypted shared data, and the second key recovery information, the and a third key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and said second share
In the encryption key restoration step, when the encryption key used in the encryption of the shared data is updated in the encryption step, the split key sent from the key generation device and the reception unit have received An encryption key is restored based on the second key restoration information and the third key restoration information, and when the encryption key is not updated, the first share and the second key restore the encryption key on the basis of the share
The computer program according to claim 13 .
2つの情報のみで前記マスタシェアを復元することが可能な情報である、第1の分割シェアと第2の分割シェアとを生成する分割シェア生成ステップと、
前記暗号鍵と前記マスタシェアとに基づいて、前記マスタシェアと暗号鍵シェアの2つの情報のみで前記暗号鍵を生成可能な情報である暗号鍵シェアを生成するシェア生成ステップと、
を含み、
前記送信ステップでは、暗号化した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを前記ストレージサーバに送信し、
前記受信ステップでは、前記暗号ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、暗号化された前記共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記ストレージサーバより受信し、前記暗号鍵が更新されていない場合は、前記暗号化された共有データと、前記暗号鍵シェアとを受信し、
前記暗号鍵復元ステップでは、前記暗号ステップで前記共有データの暗号化で用いた前記暗号鍵が更新された場合には、前記鍵生成装置より送付された前記分割鍵と、前記受信部が受信した前記第2の鍵復元用情報と、前記第3の鍵復元用情報とに基づいて暗号鍵を復元し、前記暗号鍵が更新されていない場合には、前記マスタシェアと、前記暗号鍵シェアとに基づいて暗号鍵を復元する
ことを特徴とする請求項13に記載のコンピュータプログラム。 A storage step of storing the master share the information of the group that produces the encryption key,
A split share generation step of generating a first split share and a second split share, which is information capable of restoring the master share with only two pieces of information ;
Wherein the front Symbol encryption key based on the master share a share generation step of generating a cryptographic key shares are only two pieces of information in generating information that can be the encryption key of the master share a cryptographic key shares,
Including
In the transmission step, the encrypted shared data, the first key recovery information, and the encryption key share are transmitted to the storage server,
In the receiving step, when the encryption key used in the encryption of the shared data in the encryption step is updated, the the encrypted shared data, and the second key recovery information, the first 3 of the key recovery information received from the storage server, if the encryption key has not been updated, and receives the shared data the encrypted, and the encryption key shares,
In the encryption key restoration step, when the encryption key used in the encryption of the shared data is updated in the encryption step, the split key sent from the key generation device and the reception unit have received An encryption key is restored based on the second key restoration information and the third key restoration information, and when the encryption key is not updated, the master share, the encryption key share, restore the encryption key based on the
The computer program according to claim 13 .
前記端末装置より暗号化された共有データと第1の鍵復元用情報とを受信する受信ステップと、
前記受信ステップで受信した前記共有データと前記第1の鍵復元用情報とを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、分割鍵とを記憶する記憶ステップと、
前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、第2の鍵復元用情報と、第3の鍵復元用情報とを生成する鍵復元用情報生成ステップと、
暗号化された共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを端末装置に送信する送信ステップと、
をコンピュータに実行させるためのコンピュータプログラム。 In a data sharing system including a storage server, a terminal device, and a key generation device,
Receiving the encrypted shared data and the first key recovery information from the terminal device;
The shared data received in the receiving step and the first key recovery information are stored in association with each other, and a second distributed key essential for decrypting the encrypted shared data and a split key are stored. A memory step;
Key recovery information for generating second key recovery information and third key recovery information based on the first key recovery information, the split key, and the second distributed key. Generation step;
A transmission step of transmitting the encrypted shared data, the second key recovery information, and the third key recovery information to the terminal device;
A computer program for causing a computer to execute.
前記記憶ステップでは、前記受信ステップで受信した前記共有データと、前記第1の鍵復元用情報と、前記第2のシェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な前記第2の分散鍵と、前記分割鍵とを記憶し、
前記鍵復元用情報生成ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、
前記送信ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記第2のシェアとを前記端末装置に送信する
ことを特徴とする請求項16に記載のコンピュータプログラム。 In the receiving step, receiving said the encrypted shared data from the terminal device, the first key recovery information, and a second share,
In the storing step, the shared data received in the receiving step, the first key recovery information, and the second share are stored in association with each other , and indispensable for decrypting the encrypted shared data Storing the second distributed key and the split key ;
In the key recovery information generation step, when the encryption key used for encryption of the shared data is updated in the terminal device, the first key recovery information, the split key, and the first key are updated. Generating the second key recovery information and the third key recovery information based on the two distributed keys;
Wherein the transmitting step, when the encryption key used to encrypt the shared data in the terminal device is updated, and the encrypted shared data, and the second key recovery information, the first 3 of the key recovery information is transmitted to the terminal device, when the encryption key has not been updated, that sends the the encrypted shared data, and said second share of the terminal device
The computer program according to claim 16 .
前記記憶ステップでは、前記受信ステップで受信した前記共有データと、前記第1の鍵復元用情報と、前記暗号鍵シェアとを関連付けて記憶し、暗号化された前記共有データの復号に必須な第2の分散鍵と、前記分割鍵とを記憶し、
前記鍵復元用情報生成ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、前記第1の鍵復元用情報と、前記分割鍵と、前記第2の分散鍵とに基づいて、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを生成し、
前記送信ステップでは、前記端末装置で前記共有データの暗号化に用いた前記暗号鍵が更新された場合には、暗号化された当該共有データと、前記第2の鍵復元用情報と、前記第3の鍵復元用情報とを前記端末装置に送信し、前記暗号鍵が更新されていない場合には、暗号化された前記共有データと、前記暗号鍵シェアとを前記端末装置に送信する
ことを特徴とする請求項16に記載のコンピュータプログラム。 In the receiving step, receiving said the encrypted shared data from the terminal device, the first key recovery information, a cryptographic key shares,
In the storing step, the shared data received in the receiving step, the first key recovery information, and the encryption key share are stored in association with each other , and the indispensable for decrypting the encrypted shared data 2 distributed keys and the split key are stored ,
In the key recovery information generation step, when the encryption key used for encryption of the shared data is updated in the terminal device, the first key recovery information, the split key, and the first key are updated. Generating the second key recovery information and the third key recovery information based on the two distributed keys;
Wherein the transmitting step, when the encryption key used to encrypt the shared data in the terminal device is updated, and the encrypted shared data, and the second key recovery information, the first 3 is transmitted to the terminal device, and if the encryption key is not updated, the encrypted shared data and the encryption key share are transmitted to the terminal device.
The computer program according to claim 16 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007220847A JP5103095B2 (en) | 2007-08-28 | 2007-08-28 | Key generation device, terminal device, storage server, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007220847A JP5103095B2 (en) | 2007-08-28 | 2007-08-28 | Key generation device, terminal device, storage server, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009055402A JP2009055402A (en) | 2009-03-12 |
JP5103095B2 true JP5103095B2 (en) | 2012-12-19 |
Family
ID=40506050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007220847A Expired - Fee Related JP5103095B2 (en) | 2007-08-28 | 2007-08-28 | Key generation device, terminal device, storage server, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5103095B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5046852B2 (en) * | 2007-10-24 | 2012-10-10 | Kddi株式会社 | Key generation device, terminal device, storage server, and computer program |
JP5446566B2 (en) | 2009-08-07 | 2014-03-19 | ソニー株式会社 | Information processing apparatus, information processing method, operation terminal, and information processing system |
CN109194465B (en) | 2018-09-30 | 2022-02-18 | 巍乾全球技术有限责任公司 | Method for managing keys, user equipment, management device and storage medium |
CN115632890B (en) * | 2022-12-23 | 2023-04-07 | 北京锘崴信息科技有限公司 | Secure decryption method and device for private data and financial private data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099548A (en) * | 2004-09-30 | 2006-04-13 | Hitachi Ltd | Data sharing system, data sharing method, data holder device and data server |
-
2007
- 2007-08-28 JP JP2007220847A patent/JP5103095B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009055402A (en) | 2009-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601585B1 (en) | Methods and apparatus for blockchain encryption | |
CN105553951B (en) | Data transmission method and device | |
JP3657396B2 (en) | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program | |
CN104160674A (en) | Content-centric networking | |
CN109359472B (en) | Data encryption and decryption processing method and device and related equipment | |
CN105610793A (en) | Outsourced data encrypted storage and cryptograph query system and application method therefor | |
CN108199847B (en) | Digital security processing method, computer device, and storage medium | |
CN113239403A (en) | Data sharing method and device | |
JPWO2018016330A1 (en) | Communication terminal, server device, program | |
JP5103095B2 (en) | Key generation device, terminal device, storage server, and computer program | |
JP6592851B2 (en) | Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, program | |
CN113300999B (en) | Information processing method, electronic device, and readable storage medium | |
CN114142995B (en) | Key security distribution method and device for block chain relay communication network | |
JP6058514B2 (en) | Cryptographic processing method, cryptographic system, and server | |
CN115150821A (en) | Offline package transmission and storage method and device | |
US10673629B2 (en) | Data transmission and reception method and system | |
CN114499836A (en) | Key management method, key management device, computer equipment and readable storage medium | |
CN111404671A (en) | Mobile quantum secret communication method, gateway, mobile terminal and server | |
JP5046852B2 (en) | Key generation device, terminal device, storage server, and computer program | |
CN103188665A (en) | System, method and device of improving safety of cell phone receiving advertising | |
CN106487761B (en) | Message transmission method and network equipment | |
KR20070062632A (en) | Mobile message and file security implementation by cryptography | |
JP5491713B2 (en) | ENCRYPTION DEVICE, ENCRYPTION PROGRAM, AND METHOD | |
US11082406B2 (en) | System and method for providing end-to-end security of data and metadata | |
JP2000101566A (en) | Dynamic secure grouping communication method for mobile communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120813 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120814 |
|
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: 20120904 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121001 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151005 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |