JP5103095B2 - Key generation device, terminal device, storage server, and computer program - Google Patents

Key generation device, terminal device, storage server, and computer program Download PDF

Info

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
Application number
JP2007220847A
Other languages
Japanese (ja)
Other versions
JP2009055402A (en
Inventor
隆志 松中
貴之 蕨野
洋司 岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2007220847A priority Critical patent/JP5103095B2/en
Publication of JP2009055402A publication Critical patent/JP2009055402A/en
Application granted granted Critical
Publication of JP5103095B2 publication Critical patent/JP5103095B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、鍵生成装置、端末装置、ストレージサーバおよびコンピュータプログラムに関する。   The present invention relates to a key generation device, a terminal device, a storage server, and a computer program.

従来、共有データを暗号化してグループ内で共有する方法が知られている(例えば、特許文献1参照)。ある共有データをグループ内で共有する場合、まずグループ内で共有したいデータ(M)を、暗号鍵(K)を用いて共通鍵暗号で暗号化(EKM(M))する。そして、当該グループの全メンバ(U,...,U)が所有する公開鍵(pk,...,pk)でKを暗号化(Epk1(K),...,EpkN(K))し、それをリスト化して、EKM(M)と共にサーバ等に保存する。データを参照するグループメンバ(U)は、リスト内から自身の公開鍵(pk)で暗号化されたK(Epki(K)とEKM(M)を取得し、暗号化されたKを自身の秘密鍵(sk)を用いて復号することにより、Kを得る。そして、KでEKM(M)を復号し、元データMを得る。
特開2005−223953号公報
Conventionally, a method of encrypting shared data and sharing it within a group is known (see, for example, Patent Document 1). When sharing certain shared data within a group, first, the data (M G ) desired to be shared within the group is encrypted (E KM (M G )) with the common key encryption using the encryption key (K M ). Then, K M is encrypted (E pk1 (K M ),..., P K N ) with public keys (pk 1 ,..., Pk N ) owned by all members (U 1 ,..., U N ) of the group. , E pkN (K M )), list it, and store it together with E KM (M G ) in a server or the like. The group member (U i ) who refers to the data obtains K M (E pki (K M ) and E KM (M G ) encrypted with his / her public key (pk i ) from the list, and encrypts it. by decoding using its own secret key (sk i) have been K M, obtaining a K M. then, it decrypts the E KM (M G) in K M, to obtain the original data M G.
Japanese Patent Application Laid-Open No. 2005-223953

しかしながら、特許文献1に記載の技術においては、グループメンバの所有する端末装置が悪意の第三者に使用された場合、端末装置が共有データの暗号化に使用している秘密鍵を保持しているため秘密鍵が漏洩してしまう可能性がある。そのため、他のグループメンバによって共有データが暗号化されていたとしても、漏洩した秘密鍵を使用して第三者が共有データの内容を復号化できる可能性があるという問題があった。また、グループメンバが共有データを初めて公開する際、共有データの暗号化に使用した鍵をグループメンバが所有する公開鍵で暗号化する、すなわち、グループメンバの人数分鍵暗号化処理を行う必要があった。そのため、初めて共有データを公開する時の処理の負荷が大きいという問題があった。また、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する場合もグループメンバの人数分鍵暗号化処理を行う必要があった。そのため、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する時の処理の負荷が大きいという問題があった。   However, in the technique described in Patent Document 1, when a terminal device owned by a group member is used by a malicious third party, the terminal device holds a secret key used for encryption of shared data. The private key may be leaked. Therefore, even if the shared data is encrypted by another group member, there is a problem that a third party may be able to decrypt the content of the shared data using the leaked secret key. In addition, when a group member publishes shared data for the first time, it is necessary to encrypt the key used to encrypt the shared data with a public key owned by the group member, that is, to perform key encryption processing for the number of group members. there were. Therefore, there has been a problem that the processing load when the shared data is first disclosed is large. In addition, even when the shared data is made public for the first time after the encryption key used for encrypting the shared data is updated, it is necessary to perform the key encryption process for the number of group members. Therefore, there has been a problem that the processing load when the shared data is made public for the first time after updating the encryption key used for encrypting the shared data is large.

本発明は上記の課題を解決するためになされたものであり、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能であり、初めて共有データを公開する際の処理の負荷の軽減が可能であり、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である鍵生成装置、端末装置、ストレージサーバおよびコンピュータプログラムを提供することを目的とする。   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.

本発明は、暗号化された共有データ(後述する実施形態の共有データM、M’に対応)の復号に必須な第2の分散鍵(後述する実施形態の分散鍵skに対応)と暗号化された前記共有データとを保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記鍵生成装置において、公開鍵と秘密鍵を生成するグループ鍵生成部と、第1の分散鍵(後述する実施形態の分散鍵skに対応)を生成する分散鍵生成部と、前記第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の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記端末装置において、前記鍵生成装置より送付された公開鍵から暗号鍵(後述する実施形態の暗号鍵Kに対応)と第1の鍵復元用情報(後述する実施形態の鍵復元用情報C0,1に対応)とを生成する暗号鍵生成部と、前記暗号鍵を使用して共有データを暗号化する暗号部と、暗号化した前記共有データと、前記第1の鍵復元用情報とを前記ストレージサーバに送信する送信部と、暗号化された共有データと、第2の鍵復元用情報(後述する実施形態の鍵復元用情報Cに対応)と、第3の鍵復元用情報(後述する実施形態の鍵復元用情報Cに対応)とを前記ストレージサーバから受信する受信部と、前記鍵生成装置より送付された分割鍵と、前記受信部で受信した前記第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).

Figure 0005103095
Figure 0005103095

(ステップ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.

Figure 0005103095
Figure 0005103095

(ステップS103)暗号文Cを(3)式で生成する。 (Step S103) generated in the ciphertext C 0 (3) expression.

Figure 0005103095
Figure 0005103095

(ステップ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.

Figure 0005103095
Figure 0005103095

[復号、暗号鍵復元手順](ステップS110)文字列Rを(5)式で復元する。 [Decryption and Encryption Key Restoration Procedure] (Step S110) The character string R is restored by the equation (5).

Figure 0005103095
Figure 0005103095

(ステップS111)暗号鍵Kを(6)式で復元する。 (Step S111) The encryption key K is restored by the equation (6).

Figure 0005103095
Figure 0005103095

(参考文献:「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 storage server 2, a certificate authority (key generation device) 3, and communication. And a network 4. The group member terminals 1-1, 1-2,..., 1 -N can access the storage server 2 via the communication network 4 and send / receive data to / from the storage server 2. The communication network 4 may be a wireless network or a wired network. For example, the communication network 4 may be composed of the Internet, a fixed telephone network, a mobile telephone network, and the like.

グループメンバ端末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 communication network 4. The input unit includes input devices such as a keyboard, a numeric keypad, and a mouse, and performs data input according to user operations. The display unit includes a display device such as a CRT (Cathode Ray Tube) or a liquid crystal display device, and performs data display. The external interface directly transmits / receives data to / from an external device by wire or wireless.

グループメンバ端末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 storage server 2 includes 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 and a memory. The storage unit includes, for example, a hard disk device, a magneto-optical disk device, an optical disk device such as a DVD, a nonvolatile memory such as a flash memory, a storage device such as a volatile memory such as a DRAM, or a combination thereof. The storage unit stores various data such as a computer program executed by the CPU. The communication unit performs data communication via the communication network 4. The input unit includes input devices such as a keyboard, a numeric keypad, and a mouse, and performs data input according to user operations. The display unit is composed of a display device such as a CRT or a liquid crystal display device, and displays data. The external interface directly transmits / receives data to / from an external device by wire or wireless. Further, the storage unit has a data management function for storing various data transmitted from the group member terminals 1-1, 1-2, ..., 1-N. The reception function, storage function, key recovery information generation function, transmission function, and split key update function of the storage server 2 execute a computer program for the CPU of the storage server 2 to realize the above functions. It is realized by.

認証局3は、演算処理部、記憶部、通信部、入力部、表示部、外部インタフェースなどを備える。演算処理部は、CPUおよびメモリ等から構成される。記憶部は、例えば、ハードディスク装置、光磁気ディスク装置、DVD等の光ディスク装置、フラッシュメモリ等の不揮発性のメモリ、DRAM等の揮発性のメモリなどの記憶装置、あるいはそれらの組み合わせにより構成される。記憶部は、CPUで実行されるコンピュータプログラム等の各種データを記憶する。通信部は、通信ネットワーク4を介したデータ通信を行う。入力部は、キーボード、テンキー、マウス等の入力デバイスから構成され、ユーザの操作に応じたデータ入力を行う。表示部は、CRTや液晶表示装置等の表示デバイスから構成され、データ表示を行う。外部インタフェースは、外部機器との間で有線又は無線により直接にデータを送受する。認証局3のグループ鍵生成機能と、分散鍵生成機能と、分散鍵分割機能と、鍵配布機能と、受信機能と、分割鍵更新情報生成機能と、更新情報配布機能とは、認証局3のCPUが上記機能を実現するためのコンピュータプログラムを実行することにより実現される。   The certificate authority 3 includes 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 and a memory. The storage unit includes, for example, a hard disk device, a magneto-optical disk device, an optical disk device such as a DVD, a nonvolatile memory such as a flash memory, a storage device such as a volatile memory such as a DRAM, or a combination thereof. The storage unit stores various data such as a computer program executed by the CPU. The communication unit performs data communication via the communication network 4. The input unit includes input devices such as a keyboard, a numeric keypad, and a mouse, and performs data input according to user operations. The display unit is composed of a display device such as a CRT or a liquid crystal display device, and displays data. The external interface directly transmits / receives data to / from an external device by wire or wireless. The group key generation function, the distributed key generation function, the distributed key division function, the key distribution function, the reception function, the divided key update information generation function, and the update information distribution function of the certificate authority 3 This is realized by the CPU executing a computer program for realizing the above functions.

[事前準備]
次に、本実施形態での事前準備について図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 certificate authority 3 creates a key for encryption, and distributes the created key to the group member terminals 1-1 and 1-2 and the storage server 2.

(ステップP1−1)認証局3はグループ用公開鍵と秘密鍵のペア(pk、sk)を生成する。以下、RSA暗号の公開鍵をpk、秘密鍵をskとして説明する。すなわち、pk=(e,n)、sk=(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は分散鍵skをランダムに生成する。ここで、分散鍵skは1≦sk≦λ(n)−1を満たす偶数である。なお、分散鍵skと後述する分散鍵skとを用いてステップP1−1で生成したskを生成することが可能である。続いて、認証局3は分散鍵skと、ステップP1−1で生成したskとを用いて、以下の(7)式を満たす分散鍵skを求める。
(Step P1-1) The certificate authority 3 generates a pair (pk G , sk G ) of a group public key and a secret key. Hereinafter, the public key of RSA encryption will be described as pk G and the secret key will be described as sk G. That is, pk G = (e, n), sk G = (d), where n = pq (p and q are prime numbers, p = 2p ′ + 1, q = 2q ′ + 1, p ′ and q ′ are prime numbers) Ed≡1 (mod λ (n)) (e and λ (n) are relatively prime and λ (n) = LCM (p−1, q−1) = 2p′q ′).
(Step P1-2) the certificate authority 3 generates randomly distributed key sk 1. Here, the distributed key sk 1 is an even number that satisfies 1 ≦ sk 1 ≦ λ (n) −1. Note that it is possible to generate sk G generated in step P1-1 using the distributed key sk 1 and a distributed key sk 2 described later. Subsequently, the certificate authority 3 uses the distributed key sk 1 and the sk G generated in step P1-1 to obtain a distributed key sk 2 that satisfies the following expression (7).

Figure 0005103095
Figure 0005103095

(ステップP1−3)認証局3は、(2,N+1)閾値秘密分散法を用いて、分散鍵skをN+1個に分割し、sk1,1、sk1,2、・・・、sk1,N、sk1,Sの分割鍵を生成する。ここでNはデータ共有システムに含まれるグループメンバ端末数であり、Nは1以上の整数である。また、(2,N+1)閾値秘密分散法を用いて分散鍵skを分割しているため、分散鍵skをN+1個に分割したsk1,1、sk1,2、・・・、sk1,N、sk1,Sの分割鍵のうち少なくとも2種類の分割鍵を用いて分散鍵skを生成することが可能である。sk1,i(i=1,・・・,N)は以下の(8)式を満たす。ここで、f(x)=sk+ax(aは乱数)、f(x)は有限体GF(λ(n))上の多項式である。また、X=2×ID(IDはグループメンバ端末1−iのID)である。sk1,Sは以下の(9)式を満たす。 (Step P1-3) The certification authority 3 divides the distributed key sk 1 into N + 1 pieces by using the (2, N + 1) threshold secret sharing method, and sk 1,1 , sk 1 , 2 ,. 1, N , sk 1, S split keys are generated. Here, N is the number of group member terminals included in the data sharing system, and N is an integer of 1 or more. Also, since the distributed key sk 1 is divided using the (2, N + 1) threshold secret sharing scheme, sk 1,1 , sk 1,2 ,..., Sk obtained by dividing the distributed key sk 1 into N + 1 pieces. It is possible to generate the distributed key sk 1 using at least two types of split keys among 1, N , sk 1, and S split keys. sk 1, i (i = 1,..., N) satisfies the following expression (8). Here, f (x) = sk 1 + ax (a is a random number), and f (x) is a polynomial over a finite field GF (λ (n)). Further, X i = 2 × ID i (ID i is the ID of the group member terminal 1-i). sk 1, S satisfies the following expression (9).

Figure 0005103095
Figure 0005103095

Figure 0005103095
Figure 0005103095

続いて、認証局3は、データ共有システムに含まれる各グループメンバ端末にグループ用公開鍵pkと、sk1,i(i=1,・・・,N)とを配布し、ストレージサーバ2にsk1,sとskとを配布する。図2に図示する例ではデータ共有システムに含まれるグループメンバ端末は2台であり、グループメンバ端末1−1にはpkと、sk1,1とを配布し、グループメンバ端末1−2にはpkと、sk1,2とを配布し、ストレージサーバ2にsk1,sとskとを配布する。 Subsequently, the certificate authority 3 distributes the group public key pk G and sk 1, i (i = 1,..., N) to each group member terminal included in the data sharing system, and the storage server 2. Distribute sk 1, s and sk 2 . In the example shown in FIG. 2, the data sharing system includes two group member terminals. Pk G and sk 1,1 are distributed to the group member terminal 1-1, and the group member terminal 1-2 is distributed. Distributes pk G and sk 1 and 2 , and distributes sk 1, s and sk 2 to the storage server 2.

[共有データ保存処理:共有データ新規保存、共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での共有データの新規保存または共有データの更新保存の処理について図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 storage server 2 in the present embodiment. In the illustrated example, the storage server format has six attributes: a data ID, a user ID, a data label, a last update time, encrypted data, and key recovery information. The three attributes of data ID, data label, and encrypted data are the same as the attributes of the member terminal format. The user ID is an identifier for uniquely identifying the group member terminal that generated the encrypted data. The last update time is the time when the shared data was last updated. The key recovery information is information used when creating a key used when decrypting encrypted data.

図5は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータの例を示した図である。図示する例では、ストレージサーバ2の記憶部はデータレコード1からデータレコードXまでのX個のデータを記憶する。各データレコードのフォーマットは図4と同様である。   FIG. 5 is a diagram illustrating an example of data stored in the storage unit of the storage server 2 in the present embodiment. In the illustrated example, the storage unit of the storage server 2 stores X data from the data record 1 to the data record X. The format of each data record is the same as in FIG.

図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 storage server 2 in the present embodiment.

(ステップW1−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMを用意する。また、Mのファイル名をデータラベルLとする。
(ステップW1−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkから暗号鍵Kと鍵復元用情報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は、Kを用いて共有データMを暗号化する。暗号化後の共有データ(暗号化データ)はEKM(M)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMとKとを削除する。
(ステップ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(ID)と、EKM(M)と、C0,1と、Lと、UIDと、PNとをストレージサーバ2に送付する。
(ステップW1−6)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2はグループメンバ端末1−1より受信した当該データの組にデータID(D)を割り当てる。また、ストレージサーバ2はIDと、EKM(M)と、C0,1と、Lと、Dと、最終更新時刻(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 storage server 2.
(Step W1-6) The storage server 2 collates whether the set of UID and PN transmitted from the group member terminal 1-1 matches the previously stored set of UID and PN. If they match, the storage server 2 assigns a data ID (D 1 ) to the data set received from the group member terminal 1-1. Also, the storage server 2 stores ID 1 , E KM (M G ), C 0,1 , L 1 , D 1, and the last update time (T S, 1 ) according to the storage server format. Stored in the storage unit. The latest update time (T S, 1 ) is the time at the time of storage.

(ステップW1−7)ステップW1−6での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはDとTS,1とが含まれる。
(ステップW1−8)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1を削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、DをデータIDとして、Lをデータラベルとして、T1,1(=TS,1)を最終参照時刻として、EKM(M)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W1-7) The storage server 2 transmits an ACK (Acknowledgement) message to the user terminal 1 in order to notify the group member terminal 1-1 that the storage process in Step W1-6 has been completed. The ACK message includes D 1 and T S, 1 .
(Step W1-8) After receiving the ACK message from the storage server 2, the group member terminal 1-1 deletes C 0,1 stored in the group member terminal 1-1. The group member terminal 1-1 creates an entry for the data to the local data list to the new, the D 1 as the data ID, and L 1 as the data label, T 1, 1 a (= T S, 1) As the last reference time, E KM (M G ) is stored as encrypted data 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.

[共有データ保存処理:共有データ更新保存(鍵更新なし)]
次に、鍵の更新がない場合での本実施形態での共有データの更新保存の処理について図7を参照して説明する。鍵の更新がない共有データの更新保存の場合としては、共有データを更新するグループメンバ端末が、以前に自身でストレージサーバに登録した共有データを更新する場合などがある。この場合は、以前に共有データを保存した際に使用した暗号鍵Kを用いて、再度更新対象の共有データの暗号化を行うことができるため、鍵生成手順を省略する。
[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 storage server 2 without updating the encryption key in the present embodiment.

(ステップWa1−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データM’を用意する。また、M’のファイル名をデータラベルL’とする。
(ステップWa1−2)共通鍵暗号により、グループメンバ端末1−1は、Kを用いて共有データM’を暗号化する。暗号化後の共有データ(暗号化データ)はEKM(M’)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するM’を削除する。
(ステップ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(ID)と、EKM(M’)と、L’と、データID(D)と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW1a−5)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2はIDと、EKM(M’)と、L’と、最終更新時刻(TS,1’)とをストレージサーバフォーマットのフォーマットに従って、更新前のデータを記憶するストレージサーバ2の記憶部に上書きする。最新更新時刻(TS,1’)は、当該上書き時の時刻である。
(Step W1a-4) group member terminal 11, the ID (ID 1) of the group member terminal 1-1 has, 'and, L 1 E KM (M G )' and, a data ID (D 1) UID and PN are sent to the storage server 2.
(Step W1a-5) The storage server 2 collates whether or not the set of UID and PN transmitted from the group member terminal 1-1 matches the set of UID and PN stored in advance. If they match, the storage server 2 sets ID 1 , E KM (M G '), L 1 ', and the last update time (T S, 1 ') according to the format of the storage server format. The storage unit of the storage server 2 to be stored is overwritten. The latest update time (T S, 1 ′) is the time at the time of the overwriting.

(ステップW1a−6)ステップW1a−5での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACKメッセージをユーザ端末1に送信する。ACKメッセージにはTS,1’が含まれる。
(ステップW1a−7)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はローカルデータリストの当該データ用のエントリに、DをデータIDとして、L’をデータラベルとして、T1,1’(=TS,1’)を最終参照時刻として、EKM(M’)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(M’)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W1a-6) The storage server 2 transmits an ACK message to the user terminal 1 in order to notify the group member terminal 1-1 that the storage process in Step W1a-5 has been completed. The ACK message includes T S, 1 '.
(Step W1a-7) After receiving the ACK message from the storage server 2, the group member terminal 1-1 uses D 1 as the data ID and L 1 ′ as the data label in the entry for the data in the local data list. Store T 1,1 ′ (= T S, 1 ′) as the last reference time and E KM (M G ′) as encrypted data according to the member terminal format. Note that E KM (M G ′) may or may not be deleted, and may be selected by setting of a setting file or the like.

[共有データ参照処理]
次に、グループメンバ端末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 storage server 2 by the group member terminal 1-1 will be described with reference to FIGS.

図8は、本実施形態において、ストレージサーバが各グループメンバ端末に送信するデータリストを示した図である。データリストは、ストレージサーバ2の記憶部が記憶するデータのデータラベルを記憶する。また、データリストはデータラベルと当該データラベルの最終更新時刻とを関連付けて記憶する。図示する例では、ストレージサーバ2が記憶するデータのデータラベルは、データラベル1(D)、データラベル2(D)、・・・、データラベルX(D)である。また、データラベル1(D)の最終更新時刻は、最終更新時刻1(L)、データラベル2(D)の最終更新時刻は、最終更新時刻2(L)、・・・、データラベルX(D)の最終更新時刻は、最終更新時刻X(L)である。 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 storage server 2. The data list stores the data label and the last update time of the data label in association with each other. In the illustrated example, the data labels of data stored in the storage server 2 are data label 1 (D 1 ), data label 2 (D 2 ),..., Data label X (D X ). Further, the last update time of the data label 1 (D 1 ) is the last update time 1 (L 1 ), the last update time of the data label 2 (D 2 ) is the last update time 2 (L 2 ),. The last update time of the data label X (D X ) is the last update time X (L X ).

図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 storage server 2 by the group member terminal 1-1 in the present embodiment.

(ステップR1−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。   (Step R1-0) The storage server 2 sends a data list to the group member terminal 1-1 and the group member terminal 1-2. For example, the data list transmission timing may be transmitted every time the data list is updated. Further, it may be transmitted only when there is a data access request from the user terminal.

(ステップ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は、参照するデータMのデータID(D)と、グループメンバ端末1−2が持つID(ID)と、UIDと、PNとをデータ要求メッセージとしてストレージサーバ2に送付する。当該データを過去に参照したことがある場合は、当該データの最終参照時刻(T2,1)をデータ要求メッセージに追加する。なお、グループメンバ端末内の暗号化データEKM(M)の有無を知らせる情報をデータ要求メッセージ内に追加しても良い。図示する例では、グループメンバ端末1−2はデータMを初めて参照するため、要求メッセージ内に最終参照時刻(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 storage server 2 as a request message. If the data has been referred to in the past, the last reference time (T 2,1 ) of the data is added to the data request message. Information indicating the presence / absence of encrypted data E KM (M G ) in the group member terminal may be added to the data request message. In the illustrated example, since the group member terminal 1-2 refers to the data MG for the first time, the last reference time (T 2,1 ) is not included in the request message.

(ステップR1−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、C0,1と、sk1,Sと、skとを用いて、ストレージサーバ2は鍵復元用情報C=C0,1 W1と、C=C0,1とを生成する。なお、W1は以下の(10)式を満たす。 (Step R1-3) The storage server 2 collates whether the set of UID and PN transmitted from the group member terminal 1-2 matches the set of UID and PN stored in advance. If they match, the storage server 2 uses C 0,1 , sk 1, S and sk 2 to obtain the key recovery information C 1 = C 0,1 W1 and C 2 = C 0,1 Generate. W1 satisfies the following expression (10).

Figure 0005103095
Figure 0005103095

(ステップR1−4)ストレージサーバ2は、EKM(M)と、最終更新時刻(TS,1)と、Cと、Cとをグループメンバ端末1−2に送付する。なお、ステップR1−0で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(M)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末より送られた最終参照時刻(T2,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。 (Step R1-4) The storage server 2 sends E KM (M G ), the last update time (T S, 1 ), C 1 and C 2 to the group member terminal 1-2. In step R1-0, processing for not sending E KM (M G ) when information notifying that “the encrypted data exists in the group member terminal” is added to the request message and there is no update of the data. It is also good. Here, as a method for determining whether or not the data has been updated, for example, the last reference time (T 2,1 ) sent from the group member terminal and the last update time (TS , 1 ), and if the values are different, there is a method of determining that the value has been updated.

(ステップR1−5)グループメンバ端末1−2は、sk1,2と、Cと、Cとを用いてKを復元する。また、最終参照時刻(T2,1)をTS,1に更新する。なお、Kの復元方法は以下の通りである。まず、以下の(11)式よりrを復元する。続いて以下の(12)式よりKを復元する。 (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).

Figure 0005103095
Figure 0005103095

Figure 0005103095
Figure 0005103095

(ステップR1−6)グループメンバ端末1−2は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR1−7)Mの参照後、グループメンバ端末1−2はKと、Mと、Cと、Cとを削除する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(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 certificate authority 3. The terminal device migration information includes the terminal ID of the group member terminal 1-2 as the original terminal device that migrates the environment of the terminal device, and the terminal of the group member terminal 1-3 as the destination terminal device that migrates the environment of the terminal device. ID is included. The notification method may be notified online or may be notified offline.

(ステップ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)式を満たす。ここで、f(x)=ax(aは乱数)、f(x)は有限体GF(λ(n))上の多項式である。 (Step RE1-2) The certificate authority 3 receives terminal transition information from the group member terminal 1-3. Subsequently, the certification authority 3 updates the split key update share (split key update information) SR , which updates the existing split key to the group member terminal 1-1 not included in the terminal environment information and the storage server . 1 and S R, generates and S, and sends the split key update shares S R, 1 in the group member terminal 1-1, share a split key update to the storage server 2 S R, and sends the S. S R, i (i = 1,..., N) satisfies the following expression (13). S R and S satisfy the following expression (14). Here, f k (x) = a k x (a k is a random number), and f k (x) is a polynomial over a finite field GF (λ (n)).

Figure 0005103095
Figure 0005103095

Figure 0005103095
Figure 0005103095

(ステップ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 authentication station 3, using the received S R, 1 to update an existing split key sk 1, 1 , Sk ′ 1,1 are generated. After the generation, the group member terminal 1-1 deletes S R, 1 and sk 1,1 . The storage server 2 receives the split key update shares S R, S from the certificate authority 3, updates the existing split keys sk 1, S using the received S R, S , and generates sk ' 1, S. . After generation, the storage server 2 deletes S R, S and sk 1, S. Note that sk ′ 1, i (i = 1,..., N) is generated using the following equation (15). sk ′ 1, S is generated using the following equation (16).

Figure 0005103095
Figure 0005103095

Figure 0005103095
Figure 0005103095

(ステップRE1−4)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3を生成する。なお、生成は上記(15)式を用いて行う。
(ステップRE1−5)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3と公開鍵pkとをグループメンバ端末1−3に送付する。
(ステップRE1−6)認証局3は、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行したことをストレージサーバ2に通知する。
(Step RE1-4) The certificate authority 3 generates secret key shares sk ′ 1,3 for the group member terminals 1-3. The generation is performed using the above equation (15).
(Step RE1-5) The certification authority 3 sends the secret key shares sk ′ 1,3 for the group member terminal 1-3 and the public key pk G to the group member terminal 1-3.
(Step RE1-6) The certification authority 3 notifies the storage server 2 that the environment of the group member terminal 1-2 has been shifted to the group member terminal 1-3.

以上より、暗号化された共有データの復号化には、必ずストレージサーバが保持する分散鍵skが必要であるため、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能である。また、従来、初めて共有データを公開する際に必要であった、共有データの暗号化に使用した鍵をグループメンバが所有する公開鍵で暗号化する、すなわち、グループメンバの人数分鍵暗号化処理を行う必要がないため、初めて共有データを公開する際の処理の負荷の軽減が可能である。また、従来、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する場合に必要であった、グループメンバの人数分の鍵暗号化処理を行う必要がないため、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である。 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の実施形態の鍵カプセル化技術による鍵交換処理に加え、秘密分散による鍵交換処理を追加する。具体的には、グループメンバ端末は、新規に共有データをストレージサーバに登録する際、または初めて共有データを参照する際に、当該データの暗号鍵を秘密分散法でSとSとの2つのシェアに分散する。なお、暗号鍵は分散した2つのシェアSとSのみを用いて生成可能である。続いて、グループメンバ端末はシェアSをストレージサーバに送付し、シェアSを自端末内に保持する。また、本実施形態によるデータ共有システムは第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 S 2. Divide into two shares. Note that the encryption key can be generated using only two shares S 1 and dispersed S 2. Then, the group member terminal may send the shares S 1 to the storage server holds shares S 2 in the own terminal. The data sharing system according to the present embodiment is the same as the data sharing system according to the first embodiment.

[事前準備]
次に、本実施形態での事前準備について説明する。本実施形態での事前準備の処理動作は第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 storage server 2 in the present embodiment. In the illustrated example, the storage server format has eight data IDs, data labels, last update time, last key update time, encrypted data, key recovery information, user ID, and encryption key share. Has attributes. The four attributes of data ID, data label, encrypted data, and encryption key share are the same as those of the member terminal format. The user ID is an identifier for uniquely identifying the group member terminal. The last update time is the time when the shared data was last updated. The last key update time is the time when the encryption key was last updated. The key recovery information is information used when creating a key used when decrypting encrypted data.

図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 storage server 2 in the present embodiment.

(ステップW2−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMを用意する。また、Mのファイル名をデータラベルLとする。
(ステップW2−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkから暗号鍵Kと鍵復号用情報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は、Kを用いて共有データMを暗号化する。暗号化後の共有データ(暗号化データ)はEKM(M)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMを削除する。
(ステップW2−4)グループメンバ端末1−1は、(2,2)閾値分散法を用いてKに対応するシェアS1,1とシェアS1,2とを作成する。なお、Kは分散した2つのシェアS1,1とシェアS1,2のみを用いて生成可能である。シェアを作成後、Kを削除する。なお、シェアSi,1は以下の(17)式を用いて生成する。ここで、Xi,1=h(ID)(hはハッシュ関数)、u(x)=cx+K、u(x)は有限体GF(2−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).

Figure 0005103095
Figure 0005103095

また、シェアSi,2は以下の(18)式を用いて生成する。ここで、Xi,2=h(ID‖r)(rは乱数、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).

Figure 0005103095
Figure 0005103095

(ステップ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(ID)と、S1,1と、EKM(M)と、C0,1と、Lと、UIDと、PNとをストレージサーバ2に送付する。
(ステップW2−7)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNとの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は当該データにデータID(D)を割り当てる。また、ストレージサーバ2はIDと、Lと、EKM(M)と、C0,1と、S1,1と、Dと、最終更新時刻(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 storage server 2.
(Step W2-7) The storage server 2 collates whether or not the pair of UID and PN transmitted from the group member terminal 1-1 matches the pair of UID and PN stored in advance. If they match, the storage server 2 assigns a data ID (D 1 ) to the data. Also, the storage server 2 has ID 1 , L 1 , E KM (M G ), C 0 , 1 , S 1 , 1 , D 1 , last update time (T S, 1 ), and last The key update time (TK S, 1 ) is stored in the storage unit of the storage server 2 according to the format of the storage server format. The latest update time (T S, 1 ) and the last key update time (TK S, 1 ) are the times at the time of storage.

(ステップW2−8)ステップW2−7での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはDとTS,1とTKS,1とが含まれる。
(ステップW2−9)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1とS1,1とを削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、DをデータIDとして、Lをデータラベルとして、T1,1(=TS,1)を最終参照時刻として、TK1,1(=TKS,1)を最終鍵参照時刻として、S1,2を暗号鍵シェアとして、EKM(M)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(Step W2-8) The storage server 2 transmits an ACK (Acknowledgement) message to the user terminal 1 in order to notify the group member terminal 1-1 that the storage process in Step W2-7 has been completed. The ACK message includes D 1 and T S, 1 and TK S, 1 .
(Step W2-9) After receiving the ACK message from the storage server 2, the group member terminal 1-1 deletes C 0,1 and S 1,1 stored in the group member terminal 1-1. The group member terminal 1-1 creates an entry for the data to the local data list to the new, the D 1 as the data ID, and L 1 as the data label, T 1, 1 a (= T S, 1) As the final reference time, TK 1,1 (= TK S, 1 ) is stored as the final key reference time, S 1,2 is stored as the encryption key share, and E KM (M G ) is stored as the encrypted data according to the member terminal format. To do. 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の実施形態の鍵の更新がない場合での共有データの更新保存の処理動作と同様に行う。
[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 storage server 2 by the group member terminal 1-1 will be described with reference to FIG. FIG. 14 is a sequence diagram showing processing operations when the group member terminal 1-2 refers to the shared data registered in the storage server 2 by the group member terminal 1-1 in the present embodiment.

(ステップR2−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。   (Step R2-0) The storage server 2 sends the data list to the group member terminal 1-1 and the group member terminal 1-2. For example, the data list transmission timing may be transmitted every time the data list is updated. Further, it may be transmitted only when there is a data access request from the user terminal.

(ステップ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は、参照するデータMのデータID(D)と、グループメンバ端末1−2が持つID(ID)と、UIDと、PNとをデータ要求メッセージとしてストレージサーバ2に送付する。当該データを過去に参照したことがある場合は、当該データの最終参照時刻(T2,1)と、最終鍵参照時刻(TK2,1)とをデータ要求メッセージに追加する。なお、グループメンバ端末内の暗号化データEKM(M)の有無を知らせる情報をデータ要求メッセージ内に追加しても良い。図示する例では、グループメンバ端末1−2はデータMを初めて参照するため、要求メッセージ内に最終参照時刻(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 storage server 2 as a request message. If the data has been referred to in the past, the last reference time (T 2,1 ) and the last key reference time (TK 2,1 ) of the data are added to the data request message. Information indicating the presence / absence of encrypted data E KM (M G ) in the group member terminal may be added to the data request message. In the illustrated example, since the group member terminal 1-2 refers to the data MG for the first time, the last reference time (T 2,1 ) and the last key reference time (TK 2,1 ) are included in the request message. Not.

(ステップR2−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は、グループメンバ端末1−2が当該データを参照した後に自身が保持している当該データ用の暗号鍵が更新されたか否か判断する。ここで、当該データ用の暗号鍵の更新の有無の判定方法として、例えば、グループメンバ端末より送られた暗号鍵の最終鍵参照時刻(TK2,1)と、ストレージサーバ2内に格納されている当該データ用の暗号鍵の最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。 (Step R2-3) The storage server 2 collates whether the set of UID and PN transmitted from the group member terminal 1-2 matches the previously stored set of UID and PN. If they match, the storage server 2 determines whether or not the encryption key for the data held by the storage server 2 has been updated after the group member terminal 1-2 refers to the data. Here, as a method for determining whether or not the encryption key for the data is updated, for example, the last key reference time (TK 2,1 ) of the encryption key sent from the group member terminal and the storage server 2 store the data. There is a method of comparing the last update time (T S, 1 ) of the encryption key for the data and determining that it has been updated if the values are different.

(ステップ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と、skとを用いて鍵復元用情報C=C0,1 W1と、C=C0,1 W2とを生成する。なお、W1は上記の(10)式を満たす。また、W2は上記の(11)式を満たす。 (Step R2-4a) The storage server 2 uses C 0,1 , sk 1, S , and sk 2 to use key recovery information C 1 = C 0,1 W1 and C 2 = C 0,1. W2 is generated. Note that W1 satisfies the above equation (10). Further, W2 satisfies the above equation (11).

(ステップR2−4b)ストレージサーバ2は、Dと、EKM(M)と、最終更新時刻(TS,1)と、最終鍵更新時刻(TKS,1)と、Cと、Cとをグループメンバ端末1−2に送付する。
(ステップR2−4c)グループメンバ端末1−2は、sk1,2と、Cと、Cとを用いてKを復元する。なお、Kの復元方法は以下の通りである。まず、上記の(13)式よりrを復元する。続いて上記の(14)式よりKを復元する。
(Step R2-4b) The storage server 2 has D 1 , E KM (M G ), last update time (T S, 1 ), last key update time (TK S, 1 ), C 1 , to send a C 2 to group members terminal 1-2.
(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は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR2−4e)グループメンバ端末1−2は、(2,2)閾値分散法を用いてKに対応するシェアS2,1とシェアS2,2とを作成する。
(ステップR2−4f)グループメンバ端末1−2は、Dと、IDと、S2,1とをストレージサーバ2に送付する。また、Mの参照後、グループメンバ端末1−2はKと、Mと、Cと、Cと、S2,1とを削除する。また、ローカルデータリストに当該データ用のエントリに、DをデータIDとして、Lをデータラベルとして、T’2,1(=TS,1)を最終参照時刻として、TK’2,1(=TKS,1)を最終鍵参照時刻として、S2,2を暗号鍵シェアとして、EKM(M)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(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 storage server 2. Moreover, after the reference of M G, group member terminal 1-2 and K M, and M G, and C 1, and C 2, to remove the S 2,1. In addition, TK ′ 2,1 is an entry for the data in the local data list, D 1 is a data ID, L 1 is a data label, and T ′ 2,1 (= T S, 1 ) is a final reference time. Store (= TK S, 1 ) as the last key reference time, S 2,2 as the encryption key share, and E KM (M G ) as the encrypted data 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.

次に、ステップ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(M)と、最終更新時刻(TS,1)とをグループメンバ端末1−2に送付する。なお、ステップR2−1で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(M)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末より送られた最終参照時刻(T2,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。 (Step R2-5a) The storage server 2 sends the encryption key shares S 2,1 , E KM (M G ), and the last update time (T S, 1 ) to the group member terminal 1-2. In step R2-1, information notifying that “the encrypted data exists in the group member terminal” is added to the request message, and if there is no update of the data, processing for not sending E KM (M G ) It is also good. Here, as a method for determining whether or not the data has been updated, for example, the last reference time (T 2,1 ) sent from the group member terminal and the last update time (TS , 1 ), and if the values are different, there is a method of determining that the value has been updated.

(ステップR2−5b)グループメンバ端末1−2は、S2,2と、S2,1とを用いてKを復元する。
(ステップR2−5c)グループメンバ端末1−2は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR2−5d)Mの参照後、グループメンバ端末1−2はKと、Mと、S2,1とを削除する。また、グループメンバ端末1−2は、ローカルデータリストの当該データ用のエントリのT’2,1の値をTS,1の値として上書きする。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(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はグループ用公開鍵と秘密鍵のペア(pk、sk)を生成する。以下、RSA暗号の公開鍵をpk、秘密鍵をskとして説明する。
(ステップP3−2)認証局3は分散鍵skをランダムに生成する。続いて、認証局3は分散鍵skと、ステップP1−1で生成したskとを用いて、前記(7)式を満たす分散鍵skを求める。
[Advance preparation]
Next, advance preparation in the present embodiment will be described.
(Step P3-1) The certificate authority 3 generates a pair (pk G , sk G ) of a group public key and a secret key. Hereinafter, the public key of RSA encryption will be described as pk G and the secret key will be described as sk G.
(Step P3-2) the certificate authority 3 generates randomly distributed key sk 1. Subsequently, the certificate authority 3 uses the distributed key sk 1 and the sk G generated in step P1-1 to obtain a distributed key sk 2 that satisfies the equation (7).

(ステップP3−3)認証局3は、(2,N+1)閾値秘密分散法を用いて、分散鍵skをN+1個に分割し、sk1,1、sk1,2、・・・、sk1,N、sk1,Sを生成する。ここでNはデータ共有システムに含まれるグループメンバ端末数であり、またS=N+1とする。続いて、認証局3は、データ共有システムに含まれる各グループメンバ端末にグループ用公開鍵pkと、sk1,i(i=1,・・・,N)とを配布し、ストレージサーバ2にsk1,Sとskとを配布する。
(ステップP3−4)各グループメンバ端末はマスタシェアの初期設定を行い、自端末内にマスタシェア(MS)を保持する。マスタシェアの初期設定方法は後述する。
(Step P3-3) The certificate authority 3 divides the distributed key sk 1 into N + 1 pieces by using the (2, N + 1) threshold secret sharing method, and sk 1,1 , sk 1 , 2 ,. 1, N , sk 1, S are generated. Here, N is the number of group member terminals included in the data sharing system, and S = N + 1. Subsequently, the certificate authority 3 distributes the group public key pk G and sk 1, i (i = 1,..., N) to each group member terminal included in the data sharing system, and the storage server 2. Distribute sk 1, S and sk 2 .
(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はマスタシェアMSを生成する。なお、マスタシェアMSは以下の(19)式より生成される。ここで、XMS,i=h(ID)(hはハッシュ関数、i=1,…,N+1)、g(x)は有限体GF(2−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).

Figure 0005103095
Figure 0005103095

(ステップP3−4b)グループメンバ端末1−1は、(2,2)閾値分散法を用いてマスタシェアMSに対応する分割シェアSMS,1,1と分割シェアSMS,1,2とを生成する。なお、マスタシェアMSは分割シェア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).

Figure 0005103095
Figure 0005103095

また、分割シェアSMS,i,2は以下の(21)式を用いて生成する。ここで、XMS,1,2=h(ID‖r)(rは乱数、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).

Figure 0005103095
Figure 0005103095

(ステップP3−4c)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID)と、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 storage server 2.
(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 storage server 2 in the present embodiment. In the illustrated example, the storage server format has seven attributes: data ID, data label, last update time, encrypted data, key recovery information, user ID, and encryption key share. The four attributes of data ID, data label, encrypted data, and encryption key share are the same as those of the member terminal format. The user ID is an identifier for uniquely identifying the group member terminal. The last update time is the time when the shared data was last updated. The key recovery information is information used when creating a key used when decrypting encrypted data.

図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 storage server 2 in the present embodiment.

(ステップW3−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データMを用意する。また、Mのファイル名をデータラベルLとする。
(ステップW3−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkから暗号鍵Kと鍵復号用情報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は、Kを用いて共有データMを暗号化する。暗号化後の共有データ(暗号化データ)はEKM(M)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するMを削除する。
(ステップW3−4)グループメンバ端末1−1は、マスタシェアMSを用いてKに対応する暗号鍵シェアSKM,1を生成する。暗号鍵シェアSKM,1は以下の(22)式を用いて生成する。ここで、XKM,1=h(ID‖r)(rは乱数、hはハッシュ関数)である。なお、KはマスタシェアMSと暗号鍵シェア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) group member terminal 11, generates an encryption key shares S KM, 1 corresponding to the K M using the master share MS 1. The encryption key share S KM, 1 is generated using the following equation (22). Here, X KM, 1 = h (ID 1 ‖r 2 ) (r 2 is a random number and h is a hash function). Incidentally, K M can be generated using only the master share MS 1 and the encryption key shares S KM, 1.

Figure 0005103095
Figure 0005103095

(ステップ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(ID)と、EKM(M)と、C0,1と、Lと、SKM,1と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW3−7)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNとの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は当該データにデータID(D)を割り当てる。また、ストレージサーバ2はIDと、Lと、EKM(M)と、C0,1と、SKM,1と、Dと、最終更新時刻(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 storage server 2.
(Step W3-7) The storage server 2 collates whether or not the pair of UID and PN transmitted from the group member terminal 1-1 matches the pair of UID and PN stored in advance. If they match, the storage server 2 assigns a data ID (D 1 ) to the data. The storage server 2 also stores ID 1 , L 1 , E KM (M G ), C 0 , 1 , S KM, 1 , D 1 and the last update time (T S, 1 ). The data is stored in the storage unit of the storage server 2 according to the server format. The latest update time (T S, 1 ) is the time at the time of storage.

(ステップW3−8)ステップW3−7での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはDとTS,1とTKS,1とが含まれる。
(ステップW3−9)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1とSKM,1とを削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、DをデータIDとして、Lをデータラベルとして、T1,1(=TS,1)を最終参照時刻として、EKM(M)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(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 storage server 2 transmits an ACK (acknowledgement) message to the user terminal 1. The ACK message includes D 1 and T S, 1 and TK S, 1 .
(Step W3-9) After receiving the ACK message from the storage server 2, the group member terminal 1-1 deletes C 0,1 and S KM, 1 stored in the group member terminal 1-1. The group member terminal 1-1 creates an entry for the data to the local data list to the new, the D 1 as the data ID, and L 1 as the data label, T 1, 1 a (= T S, 1) As the last reference time, E KM (M G ) is stored as encrypted data 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.

[共有データ保存処理:共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での更新保存の処理について図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 storage server 2 in the present embodiment.

(ステップW3a−1)グループメンバ端末1−1を使用するユーザは、グループメンバ端末1−1を操作して、グループメンバ端末1−1に共有データM’を用意する。また、M’のファイル名をデータラベルLとする。
(ステップW3a−2)鍵カプセル化技術を用いて、グループメンバ端末1−1はpkから暗号鍵K’と鍵復号用情報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は、K’を用いて共有データM’を暗号化する。暗号化後の共有データ(暗号化データ)はEKM’(M’)とする。暗号化完了後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するM’を削除する。
(ステップW3a−4)グループメンバ端末1−1は、マスタシェアMSを用いてK’に対応する暗号鍵シェア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) group member terminal 11, generates the 'encryption key shares S KM, 1 corresponding to' K M using the master share MS 1. The encryption key share S KM, 1 ′ is generated using the above equation (22).

(ステップ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(ID)と、EKM’(M’)と、C0,1’と、Lと、SKM,1’と、UIDと、PNとをストレージサーバ2に送付する。
(ステップW3a−7)ストレージサーバ2は、グループメンバ端末1−1より送信されたUIDとPNとの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は当該データにデータID(D)を割り当てる。また、ストレージサーバ2はIDと、Lと、EKM’(M’)と、C0,1’と、SKM,1’と、Dと、最終更新時刻(TS,1’)とをストレージサーバフォーマットのフォーマットに従ってストレージサーバ2の記憶部に格納する。最新更新時刻(TS,1’)は、当該格納時の時刻である。
(Step W3a-6) group member terminal 11, the ID of the group member terminal 1-1 has (ID 1), E KM and '(M G'), and C 0, 1 ', and L 1, S KM, 1 ′, UID, and PN are sent to the storage server 2.
(Step W3a-7) The storage server 2 collates whether or not the pair of UID and PN transmitted from the group member terminal 1-1 matches the pair of UID and PN stored in advance. If they match, the storage server 2 assigns a data ID (D 1 ) to the data. Further, the storage server 2 to the ID 1, and L 1, E KM and '(M G'), 'and, S KM, 1' C 0,1 and, as D 1, last update time (T S, 1 ') Is stored in the storage unit of the storage server 2 in accordance with the format of the storage server format. The latest update time (T S, 1 ′) is the time at the time of storage.

(ステップW3a−8)ステップW3a−7での格納処理が終了したことをグループメンバ端末1−1に通知するために、ストレージサーバ2はACK(アック、Acknowledgement)メッセージをユーザ端末1に送信する。ACKメッセージにはDとTS,1’とが含まれる。
(ステップW3a−9)ストレージサーバ2からACKメッセージを受信した後、グループメンバ端末1−1はグループメンバ端末1−1が記憶するC0,1’とSKM,1’とを削除する。また、グループメンバ端末1−1はローカルデータリストに当該データ用のエントリを新規に作成し、DをデータIDとして、Lをデータラベルとして、T1,1’(=TS,1’)を最終参照時刻として、EKM’(M’)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM’(M’)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(ステップW3a−10)ストレージサーバ2は、SKM,1とSKM,1’に基づいて、Mに関して他のユーザ(ID)が使用する暗号鍵シェアSKM,iをSKM,i’に更新する。暗号鍵シェアSKM,i’は以下の(23)式を用いて生成する。ここで、XMS,i=h(IDMS,i)は、メンバ端末iのマスタシェアMSのx座標、XKM,i=h(ID‖r)は暗号鍵シェアSKM,iのx座標、rは乱数である(i=1,…,N+1)。
(Step W3a-8) The storage server 2 transmits an ACK (acknowledgement) message to the user terminal 1 in order to notify the group member terminal 1-1 that the storage process in step W3a-7 has been completed. The ACK message includes D 1 and T S, 1 ′.
(Step W3a-9) After receiving the ACK message from the storage server 2, the group member terminal 1-1 deletes C 0,1 ′ and S KM, 1 ′ stored in the group member terminal 1-1. The group member terminal 1-1 creates an entry for the data to the local data list to the new, the D 1 as the data ID, and L 1 as the data label, T 1,1 '(= T S , 1' ) As the last reference time and E KM ′ (M G ′) as encrypted data according to the member terminal format. Note that E KM ′ (M G ′) may or may not be deleted, and may be selected according to settings such as a setting file.
(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).

Figure 0005103095
Figure 0005103095

[共有データ保存処理:共有データ更新保存(鍵更新なし)]
次に、鍵の更新がない場合での本実施形態での共有データの更新保存の処理について説明する。鍵の更新がない場合での本実施形態での共有データの更新保存の処理動作は、第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 storage server 2 by the group member terminal 1-1 for the first time will be described with reference to FIG. FIG. 22 is a sequence diagram showing a processing operation when the group member terminal 1-2 refers to the shared data registered in the storage server 2 by the group member terminal 1-1 for the first time in this embodiment.

(ステップR3−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。   (Step R3-0) The storage server 2 sends a data list to the group member terminal 1-1 and the group member terminal 1-2. For example, the data list transmission timing may be transmitted every time the data list is updated. Further, it may be transmitted only when there is a data access request from the user terminal.

(ステップ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は、参照するデータMのデータID(D)と、グループメンバ端末1−2が持つID(ID)と、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 storage server 2 as a request message.

(ステップR3−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は、C0,1と、sk1,Sと、skとを用いて鍵復元用情報C=C0,1 W1と、C=C0,1 W2とを生成する。なお、W1は上記(10)式を満たす。また、W2は上記(11)式を満たす。 (Step R3-3) The storage server 2 collates whether the set of UID and PN transmitted from the group member terminal 1-2 matches the set of UID and PN stored in advance. If they match, the storage server 2 uses C 0,1 , sk 1, S , and sk 2 to recover the key recovery information C 1 = C 0,1 W1 , C 2 = C 0,1 W2 Is generated. W1 satisfies the above expression (10). W2 satisfies the above expression (11).

(ステップR3−4)ストレージサーバ2は、Dと、EKM(M)と、最終更新時刻(TS,1)と、Cと、Cとをグループメンバ端末1−2に送付する。
(ステップR3−5)グループメンバ端末1−2は、sk1,2と、Cと、Cとを用いてKを復元する。なお、Kの復元方法はステップR2−4cで復元した方法と同様である。
(ステップR3−6)グループメンバ端末1−2は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR3−7)グループメンバ端末1−2は、マスタシェアMSを用いてKに対応する暗号化シェアSKM,2を生成する。
(Step R3-4) the storage server 2, and D 1, and E KM (M G), a last update time (T S, 1), sending a C 1, and C 2 to the group member terminal 1-2 To do.
(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は、Dと、IDと、SKM,2とをストレージサーバ2に送付する。また、Mの参照後、グループメンバ端末1−2はKと、Mと、Cと、Cと、SKM,2とを削除する。また、ローカルデータリストの当該データ用のエントリに、DをデータIDとして、Lをデータラベルとして、T2,1(=TS,1)を最終参照時刻として、EKM(M)を暗号化データとして、メンバ端末フォーマットに従って格納する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。 (Step R3-8) group member terminal 1-2, and D 1, and ID 2, sends the S KM, 2 to the storage server 2. Moreover, after the reference of M G, group member terminal 1-2 and K M, and M G, and C 1, and C 2, to remove the S KM, 2. In addition, in the entry for the data in the local data list, D 1 is a data ID, L 1 is a data label, T 2,1 (= T S, 1 ) is a final reference time, and E KM (M G ) Is stored as encrypted data in accordance with 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−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 storage server 2 by the group member terminal 1-1 will be described with reference to FIG. FIG. 23 is a sequence diagram showing processing operations when the group member terminal 1-2 refers again to the shared data registered in the storage server 2 by the group member terminal 1-1 in the present embodiment.

(ステップR3a−0)ストレージサーバ2はグループメンバ端末1−1とグループメンバ端末1−2とにデータリストを送付する。例えば、データリスト送付のタイミングは、データリストの更新がある度に送信しても良い。また、ユーザ端末からデータアクセス要求があった場合のみ送信しても良い。   (Step R3a-0) The storage server 2 sends a data list to the group member terminal 1-1 and the group member terminal 1-2. For example, the data list transmission timing may be transmitted every time the data list is updated. Further, it may be transmitted only when there is a data access request from the user terminal.

(ステップ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は、参照するデータMのデータID(D)と、グループメンバ端末1−2が持つID(ID)と、UIDと、PNと、当該データの最終参照時刻(T2,1)とをデータ要求メッセージとしてストレージサーバ2に送付する。なお、グループメンバ端末内の暗号化データEKM(M)の有無を知らせる情報をデータ要求メッセージ内に追加しても良い。 (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 storage server 2 as a data request message. Information indicating the presence / absence of encrypted data E KM (M G ) in the group member terminal may be added to the data request message.

(ステップR3a−3)ストレージサーバ2は、グループメンバ端末1−2より送信されたUIDとPNの組と、予め記憶しているUIDとPNとの組とが一致するか否か照合する。一致した場合、ストレージサーバ2は、暗号鍵シェアSKM,2と、EKM(M)と、最終更新時刻(TS,1)とをグループメンバ端末1−2に送付する。なお、ステップR3a−2で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(M)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末1−iより送られた最終参照時刻(Ti,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。 (Step R3a-3) The storage server 2 collates whether the set of UID and PN transmitted from the group member terminal 1-2 matches the set of UID and PN stored in advance. If they match, the storage server 2 sends the encryption key share S KM, 2 , E KM (M G ), and the last update time (T S, 1 ) to the group member terminal 1-2. Incidentally, Step R3a-2 and information indicating the added "encrypted data perforated in the group member terminals" request in the message, in the case yet no updating of the data does not send E KM (M G) process It is also good. Here, as a method for determining whether or not the data has been updated, for example, the last reference time (T i, 1 ) sent from the group member terminal 1-i and the last update time stored in the storage server 2 ( T S, 1 ) is compared, and if the values are different, there is a method of determining that the value has been updated.

(ステップR3a−4)グループメンバ端末1−2は、SKM,2と、MSとを用いてKを復元する。
(ステップR3a−5)グループメンバ端末1−2は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR3a−6)Mの参照後、グループメンバ端末1−2はKと、Mと、SKM,2とを削除する。また、ローカルデータリストの当該データ用のエントリに、T2,1(=TS,1)を最終参照時刻としてメンバ端末フォーマットに従って格納する。なお、EKM(M)の削除は行っても行わなくても良く、設定ファイルなどの設定により選択するようにしても良い。
(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 certificate authority 3 of the loss of the group member terminal 1-2 and a request to move the environment of the group member terminal 1-2 to the group member terminal 1-3. To do. Further, the group member terminal 1-3 acquires the SMS , 2, 1 stored in the external device in step P3-4d.
(Step RE 3-2) The certification authority 3 sends the split key update share S R, 1 to the group member terminal 1-1 and sends the split key update share S R, S to the storage server 2. S R, i satisfies the above equation (15).

(ステップ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 storage server 2 updates sk 1 and S using S R and S to generate sk ′ 1 and S. After generation, the storage server 2 deletes S R, S and sk 1, S. Note that sk ′ 1, i is generated using the above equation (16).

(ステップRE3−4)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3を生成する。なお、生成は上記の(16)式を用いて行う。
(ステップRE3−5)認証局3は、グループメンバ端末1−3用の秘密鍵シェアsk’1,3と公開鍵pkとをグループメンバ端末1−3に送付する。
(Step RE3-4) The certificate authority 3 generates secret key shares sk ′ 1,3 for the group member terminals 1-3. The generation is performed using the above equation (16).
(Step RE3-5) The certification authority 3 sends the secret key shares sk ′ 1,3 for the group member terminal 1-3 and the public key pk G to the group member terminal 1-3.

(ステップRE3−6)ストレージサーバ2は分割シェアS’MS,2,2を生成し、それをグループメンバ端末1−3へ送付する。分割シェアS’MS,i,2は以下の(24)式を用いて生成する。ここで、g(x)=bx(bは乱数)である。 (Step RE3-6) The storage server 2 generates a divided share S ′ MS, 2, 2 and sends it to the group member terminal 1-3. The divided share S ′ MS, i, 2 is generated using the following equation (24). Here, g k (x) = b k x (b k is a random number).

Figure 0005103095
Figure 0005103095

グループメンバ端末1−3は、S’MS,2,2と、SMS,2,1とよりMSを生成する。なお、MSは以下の式(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).

Figure 0005103095
Figure 0005103095

(ステップRE3−7)認証局3は、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行したことをストレージサーバ2に通知する。   (Step RE3-7) The certification authority 3 notifies the storage server 2 that the environment of the group member terminal 1-2 has been shifted to the group member terminal 1-3.

以上、第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 storage server 2. Thereafter, at the time of data reference processing, the group member terminal sends the hash value of the encryption key to the storage server 2 in step R2-2. The storage server 2 may compare the hash value of the encryption key at the time of data storage processing with the hash value of the encryption key in step R2-2, and if they match, may determine that the encryption key has not been updated.

また、上述した実施形態におけるグループメンバ端末の暗号鍵生成機能、送信機能、受信機能、暗号鍵復元機能、復号機能、更新情報受信機能、分割鍵更新機能、シェア生成機能の各処理機能全体あるいはその一部、ストレージサーバの受信機能、記憶機能、鍵復元用情報生成機能、送信機能、分割鍵更新機能の各処理機能全体あるいはその一部、認証局のグループ鍵生成機能、分散鍵生成機能、分散鍵分割機能、鍵配布機能、受信機能、分割鍵更新情報生成機能、更新情報配布機能の各処理機能全体あるいはその一部は、これらの機能実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、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 is a configuration diagram illustrating a data sharing system according to a first embodiment. FIG. 第1の実施形態での事前準備の処理動作を示すシーケンス図である。It is a sequence diagram which shows the processing operation of the preparatory in 1st Embodiment. 第1の実施形態において、グループメンバ端末の記憶部が記憶するデータのリストのデータフォーマットを示した図である。It is a figure showing the data format of the list of the data which the storage part of a group member terminal memorizes in a 1st embodiment. 第1の実施形態において、ストレージサーバの記憶部が記憶するデータのデータフォーマットを示した図である。It is a figure showing the data format of the data which the storage part of a storage server memorizes in a 1st embodiment. 第1の実施形態において、ストレージサーバの記憶部が記憶するデータの例を示した図である。FIG. 3 is a diagram illustrating an example of data stored in a storage unit of a storage server in the first embodiment. 第1の実施形態において、グループメンバ端末がストレージサーバにグループ共有データを保存する処理動作を示したシーケンス図である。FIG. 5 is a sequence diagram illustrating a processing operation in which a group member terminal stores group shared data in a storage server in the first embodiment. 第1の実施形態において、暗号鍵を更新しないで、グループメンバ端末がストレージサーバにグループ共有データを更新保存する処理動作を示したシーケンス図である。FIG. 5 is a sequence diagram illustrating a processing operation in which a group member terminal updates and stores group shared data in a storage server without updating the encryption key in the first embodiment. 第1の実施形態において、ストレージサーバが各グループメンバ端末に送信するデータリストを示した図である。FIG. 6 is a diagram illustrating a data list transmitted from the storage server to each group member terminal in the first embodiment. 第1の実施形態において、グループメンバ端末1−1がストレージサーバに登録した共有データを、グループメンバ端末1−2が参照する際の処理動作を示したシーケンス図である。FIG. 6 is a sequence diagram showing processing operations when the group member terminal 1-2 refers to the shared data registered in the storage server by the group member terminal 1-1 in the first embodiment. 第1の実施形態において、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行する処理動作を示したシーケンス図である。FIG. 6 is a sequence diagram illustrating a processing operation for shifting the environment of the group member terminal 1-2 to the group member terminal 1-3 in the first embodiment. 第2の実施形態において、グループメンバ端末の記憶部が記憶するデータのリストのデータフォーマットを示した図である。In 2nd Embodiment, it is the figure which showed the data format of the list | wrist of the data which the memory | storage part of a group member terminal memorize | stores. 第2の実施形態において、ストレージサーバの記憶部が記憶するデータのデータフォーマットを示した図である。In 2nd Embodiment, it is the figure which showed the data format of the data which the memory | storage part of a storage server memorize | stores. 第2の実施形態において、グループメンバ端末1−1がストレージサーバにグループ共有データを保存する処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation in which a group member terminal 1-1 stores group shared data in a storage server in the second embodiment. 第2の実施形態において、グループメンバ端末1−1がストレージサーバに登録した共有データを、グループメンバ端末1−2が参照する際の処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation when a group member terminal 1-2 refers to shared data registered in a storage server by a group member terminal 1-1 in the second embodiment. 第2の実施形態において、グループメンバ端末が鍵を作成して共有データを参照する処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation in which a group member terminal creates a key and refers to shared data in the second embodiment. 第2の実施形態において、グループメンバ端末が鍵の更新がない共有データを参照する処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation in which a group member terminal refers to shared data with no key update in the second embodiment. 第3の実施形態において、グループメンバ端末がマスタシェアの初期設定の処理動作を示したシーケンス図である。In the third embodiment, a group member terminal is a sequence diagram showing a processing operation for initial setting of a master share. 第3の実施形態において、グループメンバ端末の記憶部が記憶するデータのリストのデータフォーマットを示した図である。In 3rd Embodiment, it is the figure which showed the data format of the list | wrist of the data which the memory | storage part of a group member terminal memorize | stores. 第3の実施形態において、ストレージサーバの記憶部が記憶するデータのデータフォーマットを示した図である。In 3rd Embodiment, it is the figure which showed the data format of the data which the memory | storage part of a storage server memorize | stores. 第3の実施形態において、グループメンバ端末1−1がストレージサーバにグループ共有データを保存する処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation in which a group member terminal 1-1 stores group shared data in a storage server in the third embodiment. 第3の実施形態において、グループメンバ端末1−1がストレージサーバにグループ共有データを保存する処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation in which a group member terminal 1-1 stores group shared data in a storage server in the third embodiment. 第3の実施形態において、グループメンバ端末1−1がストレージサーバに登録した共有データを、グループメンバ端末1−2が初めて参照する際の処理動作を示したシーケンス図である。FIG. 15 is a sequence diagram illustrating processing operations when a group member terminal 1-2 refers to shared data registered in a storage server by a group member terminal 1-1 for the first time in the third embodiment. 第3の実施形態において、グループメンバ端末1−1がストレージサーバに登録した共有データを、グループメンバ端末1−2が再度参照する際の処理動作を示したシーケンス図である。FIG. 15 is a sequence diagram showing processing operations when the group member terminal 1-2 refers again to the shared data registered in the storage server by the group member terminal 1-1 in the third embodiment. 第3の実施形態において、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行する処理動作を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing operation for shifting the environment of the group member terminal 1-2 to the group member terminal 1-3 in the third embodiment.

符号の説明Explanation of symbols

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)

暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記鍵生成装置において、
公開鍵と秘密鍵を生成するグループ鍵生成部と、
第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.
暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記端末装置において、
前記鍵生成装置より送付された公開鍵から暗号鍵と第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のシェアとを生成するシェア生成部
を備え、
前記送信部は、暗号化した前記共有データと、前記第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のシェアとを受信
前記記憶部は、前記受信部で受信した前記共有データと、前記第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の鍵復元用情報と、暗号鍵シェアとを受信
前記記憶部は、前記受信部で受信した前記共有データと、前記第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.
暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置とを備えたデータ共有システムにおいて、
公開鍵と秘密鍵を生成するグループ鍵生成ステップと、
第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.
暗号化された共有データの復号に必須な第2の分散鍵と暗号化された前記共有データとを保管するストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムにおいて、
前記鍵生成装置より送付された公開鍵から暗号鍵と第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のシェアとを生成するシェア生成ステップと、
を含み、
前記送信ステップでは、暗号化した前記共有データと、前記第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のシェアとを受信
前記記憶ステップでは、前記受信ステップで受信した前記共有データと、前記第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の鍵復元用情報と、暗号鍵シェアとを受信
前記記憶ステップでは、前記受信ステップで受信した前記共有データと、前記第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 .
JP2007220847A 2007-08-28 2007-08-28 Key generation device, terminal device, storage server, and computer program Expired - Fee Related JP5103095B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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