Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5046852B2 - Key generation device, terminal device, storage server, and computer program - Google Patents
[go: Go Back, main page]

JP5046852B2 - 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
JP5046852B2
JP5046852B2 JP2007276380A JP2007276380A JP5046852B2 JP 5046852 B2 JP5046852 B2 JP 5046852B2 JP 2007276380 A JP2007276380 A JP 2007276380A JP 2007276380 A JP2007276380 A JP 2007276380A JP 5046852 B2 JP5046852 B2 JP 5046852B2
Authority
JP
Japan
Prior art keywords
key
distributed
terminal device
data
group member
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
JP2007276380A
Other languages
Japanese (ja)
Other versions
JP2009103968A (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 JP2007276380A priority Critical patent/JP5046852B2/en
Publication of JP2009103968A publication Critical patent/JP2009103968A/en
Application granted granted Critical
Publication of JP5046852B2 publication Critical patent/JP5046852B2/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.

本発明は、暗号化された共有データ(後述する実施形態の共有データMG、MG’に対応)を保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置(後述する実施形態の認証局に対応)とを備えたデータ共有システムに含まれる前記鍵生成装置において、公開鍵と秘密鍵を生成するグループ鍵生成部と、第1の分散鍵(後述する実施形態の分散鍵ski,U(i=1,・・・,N)に対応)と第2の分散鍵(後述する実施形態の分散鍵ski,S(i=1,・・・,N)に対応)とからなる1組の分散鍵から前記秘密鍵を生成することが可能な分散鍵の組を生成する方法である秘密分散法を用いて、前記秘密鍵を生成することが可能な前記第1の分散鍵と前記第2の分散鍵との組をN組生成する分散鍵生成部と、前記分散鍵生成部で生成したN組の前記分散鍵の組に含まれるN個の前記第1の分散鍵をN台の前記端末装置に1個ずつ配布し、N台の前記端末装置それぞれに前記公開鍵を配布し、N組の前記分散鍵の組に含まれるN個の前記第2の分散鍵を前記ストレージサーバに配布する鍵配布部と、移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を受信する受信部と、を備え、前記受信部が前記端末装置移行情報を受信した際に、前記分散鍵生成部は、前記第1の分散鍵と前記第2の分散鍵との組を1組生成し、前記鍵配布部は、前記分散鍵生成部で生成した1組の前記分散鍵の組に含まれる1個の前記第1の分散鍵と前記公開鍵とを前記移行先端末装置に配布し、前記分散鍵生成部で生成した1組の前記分散鍵の組に含まれる1個の前記第2の分散鍵を前記ストレージサーバに配布することを特徴とする鍵生成装置である。 The present invention relates to a storage server that stores encrypted shared data (corresponding to shared data MG and MG ′ in an embodiment described later), N (N is an integer of 1 or more) terminal devices, and a key generation device (Corresponding to a certificate authority in an embodiment to be described later), a group key generation unit that generates a public key and a secret key, and a first distributed key (an implementation to be described later) Corresponding to the distributed keys ski, U (i = 1,..., N) of the form and the second distributed key (distributed keys ski, S (i = 1,..., N) of the embodiment described later). The secret key can be generated using a secret sharing method, which is a method for generating a set of distributed keys that can generate the secret key from a set of distributed keys. A distributed key generation unit that generates N sets of one distributed key and the second distributed key; The N first distributed keys included in the N sets of distributed keys generated by the distributed key generation unit are distributed to N terminal devices one by one, and each of the N terminal devices is distributed. A key distribution unit that distributes the public key and distributes the N second distributed keys included in the N sets of distributed keys to the storage server, and a terminal that is the destination of the environment of the source terminal device A receiving unit that receives terminal device migration information including migration destination terminal device information that uniquely identifies a migration destination terminal device that is a device, and when the receiving unit receives the terminal device migration information, the distribution The key generation unit generates one set of the first distributed key and the second distributed key, and the key distribution unit generates a set of the distributed keys generated by the distributed key generation unit. Distributing the included first distributed key and public key to the destination terminal device, A key generating apparatus characterized by distributing one of said second distributed key in the set of the set of distributed key generated in Chikagi generation unit to the storage server.

また、本発明は、ストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムに含まれるストレージサーバにおいて、前記鍵生成装置が端末装置移行情報を受信した際に生成した、移行元端末装置の環境の移行先の端末装置である移行先端末装置に配布する第1の分散鍵と前記ストレージサーバに配布する第2の分散鍵との組に含まれる当該第2の分散鍵を前記鍵生成装置より受信し、前記移行先端末装置より暗号化された共有データと第1の鍵復元用情報とを受信する受信部と、前記受信部が受信した前記共有データと前記第1の鍵復元用情報とを関連付けて記憶し、前記受信部が受信した前記第2の分散鍵を記憶する記憶部と、前記受信部が前記移行先端末装置より前記第1の鍵復元用情報を受信した場合、当該移行先端末装置に対応する前記第2の分散鍵を特定し、当該第1の鍵復元用情報と、特定した当該第2の分散鍵とに基づいて、第2の鍵復元用情報を生成する鍵復元用情報生成部と、暗号化された共有データと、前記第1の鍵復元用情報と、前記第2の鍵復元用情報とを前記移行先端末装置に送信する送信部と、を備えたことを特徴とするストレージサーバである。 The present invention also provides a migration source generated when the key generation device receives the terminal device migration information in a storage server included in a data sharing system including a storage server, a terminal device, and a key generation device. The second distribution key included in the set of the first distribution key distributed to the transfer destination terminal apparatus that is the transfer destination terminal apparatus of the environment of the terminal apparatus and the second distribution key distributed to the storage server is and Ri受 signal by the key generation device, the destination terminal and a receiving section for receiving the shared data and the first key recovery information encrypted by the device, the shared data and the first received by the receiver The key restoration information in association with each other, the storage unit storing the second distributed key received by the reception unit, and the reception unit receiving the first key restoration information from the destination terminal device. If received, the destination Identifying the second distributed key corresponding to end devices, said the first key recovery information, based on the specified and the second distributed key, the key recovery for generating a second key recovery information And a transmission unit that transmits the encrypted shared data, the first key recovery information, and the second key recovery information to the migration destination terminal device. Is a storage server characterized by

また、本発明は、演算処理部と通信部とを備えたコンピュータに、前記演算処理部が公開鍵と秘密鍵を生成するグループ鍵生成ステップと、前記演算処理部が第1の分散鍵と第2の分散鍵とからなる1組の分散鍵から前記秘密鍵を生成することが可能な分散鍵の組を生成する方法である秘密分散法を用いて、前記秘密鍵を生成することが可能な前記第1の分散鍵と前記第2の分散鍵との組をN組(Nは1以上の整数)生成する分散鍵生成ステップと、前記分散鍵生成ステップで前記演算処理部が生成したN組の前記分散鍵の組に含まれるN個の前記第1の分散鍵を前記通信部がN台の前記端末装置に1個ずつ送信し、N台の前記端末装置それぞれに前記通信部が前記公開鍵を送信し、N組の前記分散鍵の組に含まれるN個の前記第2の分散鍵を前記通信部が前記ストレージサーバに送信する鍵配布ステップと、移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を前記通信部が受信する受信ステップと、を実行させ、前記受信ステップで前記通信部が端末装置移行情報を受信した際に、前記分散鍵生成ステップでは、前記演算処理部が前記第1の分散鍵と前記第2の分散鍵との組を1組生成し、前記鍵配布ステップでは、前記分散鍵生成ステップで前記演算処理部が生成した1組の前記分散鍵の組に含まれる1個の前記第1の分散鍵と前記公開鍵とを前記通信部が前記移行先端末装置に送信し、前記分散鍵生成ステップで前記演算処理部が生成した1組の前記分散鍵の組に含まれる1個の前記第2の分散鍵を前記通信部が前記ストレージサーバに送信することを特徴とするプログラムである。 In addition, the present invention provides a computer including an arithmetic processing unit and a communication unit, a group key generating step in which the arithmetic processing unit generates a public key and a secret key, and the arithmetic processing unit includes a first distributed key and a first distributed key. The secret key can be generated by using a secret sharing method, which is a method for generating a set of distributed keys that can generate the secret key from a set of distributed keys composed of two distributed keys. A distributed key generation step of generating N sets (N is an integer of 1 or more) of the first distributed key and the second distributed key; and the N sets generated by the arithmetic processing unit in the distributed key generation step The communication unit transmits N pieces of the first distributed keys included in the set of distributed keys to the N terminal devices one by one, and the communication unit transmits the public information to each of the N terminal devices. sending the key, N pieces of the second distributed key included in the N sets of the set of distributed key And key distribution step by the communication unit is transmitted to the storage server, a terminal device migration information including the destination terminal apparatus information uniquely identifying the migration source terminal device of the migration destination terminal device a destination terminal device environment A receiving step received by the communication unit, and when the communication unit receives the terminal device transition information in the receiving step, in the distributed key generation step, the arithmetic processing unit is configured to execute the first distributed key. And a pair of the second distributed key are generated, and in the key distribution step, one set of the distributed keys included in the one set of the distributed keys generated by the arithmetic processing unit in the distributed key generation step The communication unit transmits the first distributed key and the public key to the destination terminal device, and one included in the set of distributed keys generated by the arithmetic processing unit in the distributed key generation step Said second distributed key A program, wherein the communication unit is transmitted to the storage server.

また、本発明は、演算処理部と通信部と記憶部とを備えたコンピュータに、鍵生成装置が移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を受信した際に生成した、移行元端末装置の環境の移行先の端末装置である移行先端末装置に配布する第1の分散鍵と前記ストレージサーバに配布する第2の分散鍵との組に含まれる当該第2の分散鍵を前記通信部が前記鍵生成装置より受信し、前記移行先端末装置より暗号化された共有データと第1の鍵復元用情報とを前記通信部が受信する受信ステップと、前記受信ステップで前記通信部が受信した前記共有データと前記第1の鍵復元用情報とを前記記憶部が関連付けて記憶し、前記受信ステップで受信した前記第2の分散鍵を前記記憶部が記憶する記憶ステップと、前記通信部が前記移行先端末装置より前記第1の鍵復元用情報を受信した場合、前記記憶部が記憶する前記第2の分散鍵のうち当該移行先端末装置に対応する前記第2の分散鍵を特定し、当該第1の鍵復元用情報と、特定した当該第2の分散鍵とに基づいて、第2の鍵復元用情報を生成する鍵復元用情報生成ステップと、暗号化された共有データと、前記第1の鍵復元用情報と、前記第2の鍵復元用情報とを前記移行先端末装置に前記通信部が送信する送信ステップと、をコンピュータに実行させるためのプログラムである。 Further, the present invention provides a computer that includes an arithmetic processing unit, a communication unit, and a storage unit, in which a key generation device uniquely identifies a migration destination terminal device that is a migration destination terminal device of the migration source terminal device environment. The first distribution key generated when receiving the terminal device migration information including the destination terminal device information and distributed to the migration destination terminal device that is the migration destination terminal device of the environment of the migration source terminal device and the distribution to the storage server the second of the communication unit to distributed key is Ri受 signal by the key generation device, the encrypted shared data and the first key from the destination terminal apparatus contained in the set of the second distributed key to a receiving step of receiving and restoring information is the communication unit, and stores the said shared data by the communication unit is received in the receiving step the first key recovery information the storage unit in association with the received Said second minute received in step A storage step of storing the key the storage unit, when the communication unit receives the first key recovery information from said destination terminal device, the one of the second distributed key which the storage unit stores The second shared key corresponding to the transfer destination terminal device is specified, and second key recovery information is generated based on the first key recovery information and the specified second shared key. A key recovery information generation step, a transmission step in which the communication unit transmits the encrypted shared data, the first key recovery information, and the second key recovery information to the destination terminal device. Is a program for causing a computer to execute.

本発明によれば、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能であり、初めて共有データを公開する際の処理の負荷の軽減が可能であり、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である。   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 0005046852
Figure 0005046852

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

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

Figure 0005046852
Figure 0005046852

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

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

Figure 0005046852
Figure 0005046852

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

Figure 0005046852
Figure 0005046852

(参考文献:「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は、本実施形態によるデータ共有システムを示す構成図である。図示する例では、データ共有システムはグループメンバ端末(端末装置)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 according to the present embodiment. In the illustrated example, the data sharing system includes group member terminals (terminal devices) 1-1, 1-2,..., 1-N, a storage server 2, a certificate authority (key generation device) 3, and a communication 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))、λ(n)=2p’q’、gcd(e,λ(n))=1である。 (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)), λ (n) = 2p′q ′, gcd (e, λ (n)) = 1.

(ステップP1−2)認証局3は、グループメンバ端末ごとに、(2,2)閾値秘密分散法を用いてskを2個の分散鍵に分割する。グループメンバ端末1−1用の分散鍵は(sk1,U,sk1,S)である。グループメンバ端末1−2用の分散鍵は(sk2,U,sk2,S)である。具体的には、各グループメンバ端末に対応するする有限体GF(λ(n))上の多項式f(x)を生成し、分散鍵ski,U,ski,Sを生成する。なお、ski,U,ski,Sは、以下の(7)式から(13)式を満たす。また、aは乱数(a=1,・・・,λ(n)−1)、IDはグループメンバ端末iのID、IDはストレージサーバのIDである。また、i=1,・・・,N(Nはデータ共有システムに含まれるグループメンバ端末数であり、Nは1以上の整数)である。 (Step P1-2) The certificate authority 3 divides sk G into two distributed keys using the (2, 2) threshold secret sharing method for each group member terminal. The distributed key for the group member terminal 1-1 is (sk 1, U , sk 1, S ). The distributed key for the group member terminal 1-2 is (sk 2, U , sk 2, S ). Specifically, a polynomial f i (x) on a finite field GF (λ (n)) corresponding to each group member terminal is generated, and distributed keys sk i, U , sk i, S are generated. Note that sk i, U , sk i, S satisfy the following formulas (7) to (13). A i is a random number (a i = 1,..., Λ (n) −1), ID i is an ID of the group member terminal i, and ID S is an ID of the storage server. Further, i = 1,..., N (N is the number of group member terminals included in the data sharing system, and N is an integer of 1 or more).

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

(ステップP1−3)認証局3は、データ共有システムに含まれる各グループメンバ端末にグループ用公開鍵pkを一つずつ配布する。また、認証局3は、ステップP1−2で各端末用に生成した分散鍵ski,U(i=1,・・・,N)を、対応する端末に配布する。また、認証局3は、ステップP1−2で各端末用に生成した分散鍵ski,S(i=1,・・・,N)を、ストレージサーバ2にすべて配布する。 (Step P1-3) The certification authority 3 distributes one group public key pk G to each group member terminal included in the data sharing system. Further, the certificate authority 3 distributes the distributed keys sk i, U (i = 1,..., N) generated for each terminal in step P1-2 to the corresponding terminals. Further, the certificate authority 3 distributes all the distributed keys sk i, S (i = 1,..., N) generated for each terminal in step P1-2 to the storage server 2.

図3は、本実施形態における鍵の配布方法を示した図である。図示する例では、認証局3は、グループ用公開鍵pkと、グループ用秘密鍵skとを有している。また、認証局3は、グループ用秘密鍵skから多項式f(x)を生成し、生成した多項式f(x)から分散鍵sk1,Sとsk1,Uとを生成している。また、認証局3は、グループ用秘密鍵skから多項式f(x)を生成し、生成した多項式f(x)から分散鍵sk2,Sとsk2,Uとを生成している。以下同様に、認証局3は、データ共有システムに含まれているグループメンバ端末(1−1〜1−N)数と同数の分散鍵skN,SとskN,Uとを生成している。 FIG. 3 is a diagram showing a key distribution method in the present embodiment. In the illustrated example, the certificate authority 3 has a group public key pk G and a group secret key sk G. The authentication station 3 generates polynomial f 1 (x) from the group secret key sk G, are generated and distributed key sk 1, S and sk 1, U from the generated polynomial f 1 (x) . The authentication station 3 generates polynomial f 2 (x) from the group secret key sk G, are generated and distributed key sk 2, S and sk 2, U from the generated polynomial f 2 (x) . Similarly, the certificate authority 3 generates as many distributed keys sk N, S and sk N, U as the number of group member terminals (1-1 to 1-N) included in the data sharing system. .

認証局3は、グループ用公開鍵pkと、分散鍵sk1,Uとをグループメンバ端末1−1に配布する。また、認証局3は、グループ用公開鍵pkと、分散鍵sk2,Uとをグループメンバ端末1−2に配布する。以下同様に、認証局3は、データ共有システムに含まれているグループメンバ端末(1−1〜1−N)それぞれに、グループ用公開鍵pkと、分散鍵skN,Uとを配布する。認証局3は、分散鍵sk1,S〜skN,Sをストレージサーバ2に配布する。なお、認証局3がグループメンバ端末(1−1〜1−N)およびストレージサーバ2へ分散鍵を配布する方法としては、ネットワーク通信で配布してもよく、記録媒体などの外部デバイスを介して配布しても良い。 The certificate authority 3 distributes the group public key pk G and the distributed keys sk 1, U to the group member terminal 1-1. The certificate authority 3 distributes the group public key pk G and the distributed keys sk 2 and U to the group member terminal 1-2. Similarly, the certificate authority 3 distributes the group public key pk G and the distributed keys sk N and U to the group member terminals (1-1 to 1-N) included in the data sharing system. . The certificate authority 3 distributes the distributed keys sk 1, S to sk N, S to the storage server 2. In addition, as a method for the certificate authority 3 to distribute the distributed key to the group member terminals (1-1 to 1-N) and the storage server 2, it may be distributed by network communication or via an external device such as a recording medium. You may distribute it.

[共有データ保存処理:共有データ新規保存、共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での共有データの新規保存または共有データの更新保存の処理について図4から図6を参照して説明する。図4は、本実施形態において、グループメンバ端末(1−1〜1−N)の記憶部が記憶するデータのリスト(ローカルデータリスト)のデータフォーマット(以下、メンバ端末フォーマットと記す。)を示した図である。図示する例では、メンバ端末フォーマットはデータID(D)と、データラベル(L)と、最終参照時刻(T1,1)と、暗号化データ(EKM(M))との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. 4 shows 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 terminals (1-1 to 1-N) in the present embodiment. It is a figure. In the illustrated example, the member terminal format is 4 of data ID (D 1 ), data label (L 1 ), last reference time (T 1,1 ), and encrypted data (E KM (M G )). Has one attribute. 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.

図5は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータのデータフォーマット(以下、ストレージサーバフォーマットと記す。)を示した図である。図示する例では、ストレージサーバフォーマットはデータID(D)と、ユーザID(ID)と、データラベル(L)と、最終更新時刻(TS,1)と、暗号化データ(EKM(M))と、鍵復元用情報(C0,1)との6つの属性を持つ。データIDと、データラベルと、暗号化データの3つの属性は、メンバ端末フォーマットの属性と同様である。ユーザIDは、暗号化データを生成したグループメンバ端末を一意に識別するための識別子である。最終更新時刻は共有データを最後に更新した時刻である。鍵復元用情報は、暗号化データを復号化する際に使用する鍵を作成する際に使用する情報である。 FIG. 5 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 includes a data ID (D 1 ), a user ID (ID 1 ), a data label (L 1 ), a last update time (T S, 1 ), and encrypted data (E KM (M G )) and key recovery information (C 0,1 ). 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.

図6は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータの例を示した図である。図示する例では、ストレージサーバ2の記憶部はデータレコード1からデータレコードXまでのX個のデータを記憶する。各データレコードのフォーマットは図4と同様である。   FIG. 6 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.

図7は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。   FIG. 7 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が記憶するKと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 K M and 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.

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

図8は、本実施形態において、暗号鍵を更新しないで、グループメンバ端末1−1がストレージサーバ2にグループ共有データを更新保存する処理動作を示したシーケンス図である。   FIG. 8 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が参照する際の処理について図9、図10を参照して説明する。
[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.

図9は、本実施形態において、ストレージサーバが各グループメンバ端末に送信するデータリストを示した図である。データリストは、ストレージサーバ2の記憶部が記憶するデータのデータラベルを記憶する。また、データリストはデータラベルと当該データラベルの最終更新時刻とを関連付けて記憶する。図示する例では、ストレージサーバ2が記憶するデータのデータラベルは、データラベル1(D)、データラベル2(D)、・・・、データラベルX(D)である。また、データラベル1(D)の最終更新時刻は、最終更新時刻1(L)、データラベル2(D)の最終更新時刻は、最終更新時刻2(L)、・・・、データラベルX(D)の最終更新時刻は、最終更新時刻X(L)である。 FIG. 9 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 ).

図10は、本実施形態において、グループメンバ端末1−1がストレージサーバ2に登録した共有データを、グループメンバ端末1−2が参照する際の処理動作を示したシーケンス図である。   FIG. 10 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と、sk2,Sとを用いて、ストレージサーバ2は鍵復元用情報C1,1=C0,1 W1を生成する。なお、W1は以下の(14)式を満たす。 (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 and sk 2, S to generate key recovery information C 1,1 = C 0,1 W1 . W1 satisfies the following expression (14).

Figure 0005046852
Figure 0005046852

(ステップR1−4)ストレージサーバ2は、EKM(M)と、最終更新時刻(TS,1)と、C0,1と、C1,1とをグループメンバ端末1−2に送付する。なお、ステップR1−0で要求メッセージ内に「グループメンバ端末内に暗号化データ有」を知らせる情報が付加されており、なおかつ当該データの更新がない場合はEKM(M)を送付しない処理としても良い。ここで、当該データの更新の有無の判定方法として、例えば、グループメンバ端末より送られた最終参照時刻(T2,1)と、ストレージサーバ2内に格納されている最終更新時刻(TS,1)とを比較し、値が異なっている場合は更新されたと判定する方法がある。 (Step R1-4) The storage server 2 sends E KM (M G ), last update time (T S, 1 ), C 0,1 and C 1,1 to the group member terminal 1-2. To do. 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は、sk2,Uと、C0,1と、C1,1とを用いてKを復元する。また、最終参照時刻(T2,1)をTS,1に更新する。なお、Kの復元方法は以下の通りである。まず、以下の(15)式よりrを復元する。続いて以下の(16)式よりKを復元する。なお、W2は以下の(17)式を満たす。 (Step R1-5) group member terminal 1-2, restores the K M with the sk 2, U, and C 0, 1, and C 1, 1. 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 (15). Subsequently, KM is restored from the following equation (16). W2 satisfies the following expression (17).

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

Figure 0005046852
Figure 0005046852

(ステップR1−6)グループメンバ端末1−2は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR1−7)Mの参照後、グループメンバ端末1−2はKと、Mと、C0,1と、C1,1とを削除する。なお、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 0, 1, to remove the C 1, 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に移行する手順について図11を参照して説明する。環境移行とは、あるグループメンバ端末が有している共有データの暗号化・復号化を実行可能な環境を、別のグループメンバ端末に移行することを言う。本実施形態では、移行元の端末装置はグループメンバ端末1−2であり、移行先の端末装置はグループメンバ端末1−3である。図11は、本実施形態において、グループメンバ端末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. 11 is a sequence diagram showing processing operations for migrating the environment in which the group member terminal 1-2 can execute encryption / decryption of shared data to the group member terminal 1-3 in this 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−3用の分割鍵sk’2,Uと分割鍵sk’2,Sとを生成する。生成方法は、ステップP1−2と同様である。
(ステップRE1−3)認証局3は、分割鍵sk’2,Sをストレージサーバ2に送付する。ストレージサーバ2は、分割鍵sk’2,Sを受信後、グループメンバ端末1−2用の分割鍵sk2,Sを削除する。
(ステップRE1−4)認証局3は、グループメンバ端末1−3用の分割鍵sk’2,Uと公開鍵pkとをグループメンバ端末1−3に送付する。
(Step RE1-2) The certificate authority 3 receives terminal transition information from the group member terminal 1-3. Subsequently, the certificate authority 3 generates a split key sk ′ 2, U and a split key sk ′ 2, S for the group member terminal 1-3. The generation method is the same as in Step P1-2.
(Step RE1-3) The certificate authority 3 sends the split keys sk ′ 2 and S to the storage server 2. After receiving the split key sk ′ 2, S , the storage server 2 deletes the split key sk 2, S for the group member terminal 1-2.
(Step RE1-4) The certification authority 3 sends the split key sk ′ 2, U and the public key pk G for the group member terminal 1-3 to the group member terminal 1-3.

以上より、暗号化された共有データの復号化には、必ずストレージサーバが保持する分散鍵sk2,Sと鍵復元用情報C0,1とが必要であるため、グループメンバの所有する端末装置が悪意の第三者に使用され、当該端末装置が保有している鍵が漏洩したとしても、他のグループメンバが暗号化した共有データを第三者によって復号化される可能性を軽減することが可能である。また、従来、初めて共有データを公開する際に必要であった、共有データの暗号化に使用した鍵をグループメンバが所有する公開鍵で暗号化する、すなわち、グループメンバの人数分鍵暗号化処理を行う必要がないため、初めて共有データを公開する際の処理の負荷の軽減が可能である。また、従来、共有データの暗号化に使用する暗号鍵を更新した後に初めて共有データを公開する場合に必要であった、グループメンバの人数分の鍵暗号化処理を行う必要がないため、共有データの暗号化に使用する暗号鍵の更新後に初めて共有データを公開する際の処理の負荷の軽減が可能である。 As described above, since the shared key sk 2, S and the key recovery information C 0,1 held by the storage server are necessary for the decryption of the encrypted shared data, the terminal device owned by the group member To reduce the possibility that shared data encrypted by other group members will be decrypted by a third party even if the key held by the terminal device is leaked Is possible. 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.

[共有データ保存処理:共有データ新規保存、共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での共有データの新規保存または共有データの更新保存の処理について図12から図14を参照して説明する。図12は、本実施形態において、グループメンバ端末の記憶部が記憶するデータのリスト(ローカルデータリスト)のデータフォーマット(以下、メンバ端末フォーマットと記す。)を示した図である。図示する例では、メンバ端末フォーマットはデータID(D)と、データラベル(L)と、最終参照時刻(T1,1)と、最終鍵参照時刻(TK1,1)と、暗号鍵シェア(S1,2)と、暗号化データ(EKM(M))との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. 12 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 includes data ID (D 1 ), data label (L 1 ), last reference time (T 1,1 ), last key reference time (TK 1,1 ), and encryption key. It has six attributes of share (S 1,2 ) and encrypted data (E KM (M G )). 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.

図13は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータのデータフォーマット(以下、ストレージサーバフォーマットと記す。)を示した図である。図示する例では、ストレージサーバフォーマットはデータID(D)と、データラベル(L)と、最終更新時刻(TS,1)と、最終鍵更新時刻(TKS,1)と、暗号化データ(EKM(M))と、鍵復元用情報(C0,1)と、ユーザID(ID)と、暗号鍵シェア(S1,1)との8つの属性を持つ。データIDと、データラベルと、暗号化データと、暗号鍵シェアとの4つの属性は、メンバ端末フォーマットの属性と同様である。ユーザIDはグループメンバ端末を一意に識別するための識別子である。最終更新時刻は共有データを最後に更新した時刻である。最終鍵更新時刻は暗号鍵を最後に更新した時刻である。鍵復元用情報は、暗号化データを復号化する際に使用する鍵を作成する際に使用する情報である。 FIG. 13 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 example shown in the figure, the storage server format is data ID (D 1 ), data label (L 1 ), last update time (T S, 1 ), last key update time (TK S, 1 ), and encryption. It has eight attributes of data (E KM (M G )), key recovery information (C 0,1 ), user ID (ID 1 ), and encryption key share (S 1,1 ). 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.

図14は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。   FIG. 14 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は以下の(18)式を用いて生成する。ここで、Xi,1=h(ID)(hはハッシュ関数)、u(x)=bx+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 (18). Here, X i, 1 = h (ID i ) (h is a hash function), u 1 (x) = b 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 0005046852
Figure 0005046852

また、シェアSi,2は以下の(19)式を用いて生成する。ここで、Xi,2=h(ID‖r)(rは乱数、hはハッシュ関数)である。 The share S i, 2 is generated using the following equation (19). Here, X i, 2 = h (ID i ‖r 1 ) (where r 1 is a random number and h is a hash function).

Figure 0005046852
Figure 0005046852

(ステップ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が記憶するKと、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, group member terminal 1-1 deletes the K M for storing a group member terminal 1-1, and C 0, 1 and S 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が参照する際の処理について図15を参照して説明する。図15は、本実施形態において、グループメンバ端末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. 15 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内に格納されている当該データ用の暗号鍵の最終更新時刻(TKS,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 (TK S, 1 ) of the encryption key for the data and determining that the data 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で、グループメンバ端末が鍵を作成して共有データを参照する際の手順について図16を参照して説明する。図16はグループメンバ端末が鍵を作成して共有データを参照する処理動作を示したシーケンス図である。   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. 16 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と、sk2,Sとを用いて、鍵復元用情報C1,1=C0,1 W1を生成する。なお、鍵復元用情報の生成方法はステップR1−3と同様である。 (Step R2-4a) The storage server 2 uses C 0,1 and sk 2, S to generate key recovery information C 1,1 = C 0,1 W1 . The method for generating the key recovery information is the same as in step R1-3.

(ステップR2−4b)ストレージサーバ2は、Dと、EKM(M)と、最終更新時刻(TS,1)と、最終鍵更新時刻(TKS,1)と、C0,1と、C1,1とをグループメンバ端末1−2に送付する。
(ステップR2−4c)グループメンバ端末1−2は、sk2,Uと、C0,1と、C1,1とを用いてKを復元する。なお、Kの復元方法はステップR1−5と同様である。
(Step R2-4b) the storage server 2, and D 1, and E KM (M G), a last update time (T S, 1), the last key update time (TK S, 1), C 0,1 and, sending the C 1,1 to a group member terminals 1-2.
(Step R2-4c) group member terminal 1-2, restores the K M with the sk 2, U, and C 0, 1, and C 1, 1. Incidentally, restoration method of K M is the same as step R1-5.

(ステップ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と、C0,1と、C1,1と、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 0, 1, and C 1, 1, to remove the S 2,1. In addition, in the entry for the data in the local data list, TK ′ 2,1 is set with D 1 as the data ID, L 1 as the data label, and T ′ 2,1 (= T S, 1 ) as the last 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で、グループメンバ端末が鍵の更新がない共有データを参照する際の手順について図17を参照して説明する。図17はグループメンバ端末が鍵の更新がない共有データを参照する処理動作を示したシーケンス図である。   Next, the procedure when the group member terminal refers to the shared data without the key update in step R2-5 will be described with reference to FIG. FIG. 17 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の実施形態の鍵カプセル化技術による鍵交換処理に加え、秘密分散による鍵交換処理を追加する形態とした。よって、グループメンバ端末が同じ暗号鍵を用いた暗号化データを参照する際に、鍵復元情報CおよびCをストレージサーバより取得する必要がなく、シェアSだけを送付すればよい。そのため、ユーザ端末とストレージサーバ間のメッセージサイズを削減できる。例えば、公開鍵暗号の鍵長を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 obtain the key recovery information C 0 and C 1 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と分割シェアSMS,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 this 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 and the divided share SMS, 2 by the secret sharing method. The master share can be generated using only two divided shares SMS, 1 and SMS, 2 . 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として説明する。
[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.

(ステップP3−2)認証局3は、グループメンバ端末ごとに、(2,2)閾値秘密分散法を用いてskを2個の分散鍵に分割する。グループメンバ端末1−1用の分散鍵は(sk1,U,sk1,S)である。グループメンバ端末1−2用の分散鍵は(sk2,U,sk2,S)である。なお、分散鍵の生成方法はステップP1−2と同様である。 (Step P3-2) The certification authority 3 divides sk G into two distributed keys by using the (2, 2) threshold secret sharing method for each group member terminal. The distributed key for the group member terminal 1-1 is (sk 1, U , sk 1, S ). The distributed key for the group member terminal 1-2 is (sk 2, U , sk 2, S ). The method for generating the distributed key is the same as in step P1-2.

(ステップP3−3)認証局3は、データ共有システムに含まれる各グループメンバ端末にグループ用公開鍵pkを一つずつ配布する。また、認証局3は、ステップP3−2で各端末用に生成した分散鍵ski,U(i=1,・・・,N)を、対応する端末に配布する。また、認証局3は、ステップP3−2で各端末用に生成した分散鍵ski,S(i=1,・・・,N)を、ストレージサーバ2にすべて配布する。
(ステップP3−4)各グループメンバ端末はマスターシェアの初期設定を行い、自端末内にマスターシェア(MS)を保持する。マスターシェアの初期設定方法は後述する。
(Step P3-3) The certificate authority 3 distributes one group public key pk G to each group member terminal included in the data sharing system. Further, the certificate authority 3 distributes the distributed keys sk i, U (i = 1,..., N) generated for each terminal in step P3-2 to the corresponding terminals. Further, the certificate authority 3 distributes all the distributed keys ski i, S (i = 1,..., N) generated for each terminal in step P3-2 to the storage server 2.
(Step P3-4) Each group member terminal performs initial setting of the master share, and holds the master share (MS i ) in its own terminal. A method for initial setting of the master share will be described later.

次に、ステップP3−4で、グループメンバ端末がマスターシェアの初期設定を行う手順について図18を参照して説明する。図18はグループメンバ端末がマスターシェアの初期設定を行う処理動作を示したシーケンス図である。   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. 18 is a sequence diagram showing processing operations in which the group member terminals perform initial setting of the master share.

(ステップP3−4a)グループメンバ端末1−1はマスターシェアMSを生成する。なお、マスターシェアMSは以下の(20)式より生成される。ここで、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 (20). 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 0005046852
Figure 0005046852

(ステップP3−4b)グループメンバ端末1−1は、(2,2)閾値分散法を用いてマスターシェアMSに対応する分割シェアSMS,1,1と分割シェアSMS,1,2とを生成する。なお、マスターシェアMSは分割シェアSMS,1,1と分割シェアSMS,1,2のみを用いて生成可能である。また、分割シェアSMS,i,1は以下の(21)式を用いて生成する。 (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. The master share MS 1 can be generated using only the split shares SMS 1, 1, 1 and the split shares SMS 1 , 2, 1 . Further, the divided share SMS, i, 1 is generated using the following equation (21).

Figure 0005046852
Figure 0005046852

また、分割シェアSMS,i,2は以下の(22)式を用いて生成する。ここで、Xi,2=h(ID‖r)(rは乱数、hはハッシュ関数、i=1,…,N+1)である。 Further, the divided share SMS, i, 2 is generated using the following equation (22). Here, X i, 2 = h (ID i ‖r 3 ) (r 3 is a random number, h is a hash function, i = 1,..., N + 1).

Figure 0005046852
Figure 0005046852

(ステップP3−4c)グループメンバ端末1−1は、グループメンバ端末1−1が持つID(ID)と、SMS,1,2とをストレージサーバ2に送付する。
(ステップP3−4d)グループメンバ端末1−1は、SMS,1,1を外部デバイスに送付する。外部デバイスは例えば、USBメモリなどの記憶装置である。なお、SMS,1,1を記憶した外部デバイスは、グループメンバ端末1−1から取り外され、金庫など安全な場所に保管される。また、外部デバイスは、環境復元処理以外の処理であるデータ保存処理やデータ参照処理には使用されない。
(ステップ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. The external device storing the SMS, 1, 1 is detached from the group member terminal 1-1 and stored in a safe place such as a safe. The external device is not used for data storage processing and data reference processing that are processing other than environment restoration processing.
(Step P3-4e) The group member terminal 1-1 deletes SMS , 1, 1 and SMS , 1 , 2 .

なお、マスターシェアは、グループメンバ端末1−1内に保持され、データ保存処理、データ参照処理の暗号鍵生成、暗号鍵分散処理に利用される。また、マスターシェアをグループメンバ端末1−1内で暗号化し、ストレージサーバ2へのユーザ認証後、ストレージサーバからマスターシェア復号用の鍵を取得することにより、マスターシェアが復号されるような処理を行うことで、安全性を高めても良い。   The master share is held in the group member terminal 1-1 and used for data storage processing, encryption key generation for data reference processing, and encryption key distribution processing. Further, the master share is encrypted in the group member terminal 1-1, and after the user authentication to the storage server 2, the master share decryption key is obtained from the storage server, so that the master share is decrypted. Doing so may increase safety.

[共有データ保存処理:共有データ新規保存]
次に、共有データの新規保存の処理について図19から図21を参照して説明する。図19は、本実施形態において、グループメンバ端末の記憶部が記憶するデータのリスト(ローカルデータリスト)のデータフォーマット(以下、メンバ端末フォーマットと記す。)を示した図である。図示する例では、メンバ端末フォーマットはデータID(D)と、データラベル(L)と、最終参照時刻(T1,1)と、暗号化データ(EKM(M))との4つの属性を持つ。データIDは、データ共有システム内でデータを一意に識別するための識別子である。データラベルは、例えばファイル名など、データの内容や形態を表す名称である。最終参照時刻は、共有データを最後に参照した時刻である。暗号化データは、共有データを暗号化したデータである。
[Shared data storage processing: Shared data new storage]
Next, a process for newly saving shared data will be described with reference to FIGS. FIG. 19 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 is 4 of data ID (D 1 ), data label (L 1 ), last reference time (T 1,1 ), and encrypted data (E KM (M G )). Has one attribute. 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.

図20は、本実施形態において、ストレージサーバ2の記憶部が記憶するデータのデータフォーマット(以下、ストレージサーバフォーマットと記す。)を示した図である。図示する例では、ストレージサーバフォーマットはデータID(D)と、データラベル(L)と、最終更新時刻(TS,1)と、暗号化データ(EKM(M))と、鍵復元用情報(C0,1)と、ユーザID(ID)と、暗号鍵シェア(SKM,1)との7つの属性を持つ。データIDと、データラベルと、暗号化データと、暗号鍵シェアとの4つの属性は、メンバ端末フォーマットの属性と同様である。ユーザIDはグループメンバ端末を一意に識別するための識別子である。最終更新時刻は共有データを最後に更新した時刻である。鍵復元用情報は、暗号化データを復号化する際に使用する鍵を作成する際に使用する情報である。 FIG. 20 is a diagram illustrating a data format of data stored in the storage unit of the storage server 2 (hereinafter referred to as a storage server format) in the present embodiment. In the illustrated example, the storage server format includes a data ID (D 1 ), a data label (L 1 ), a last update time (T S, 1 ), encrypted data (E KM (M G )), a key It has seven attributes: restoration information (C 0,1 ), user ID (ID 1 ), and encryption key share (S KM, 1 ). 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.

図21は、本実施形態において、グループメンバ端末1−1がストレージサーバ2にグループ共有データを保存する処理動作を示したシーケンス図である。   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.

(ステップ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は以下の(23)式を用いて生成する。ここで、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 (23). 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 0005046852
Figure 0005046852

(ステップ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が記憶するKと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, group member terminal 1-1 deletes the K M and C 0, 1 and S KM, 1 stored by 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.

[共有データ保存処理:共有データ更新保存(鍵更新あり)]
次に、鍵の更新がある場合での本実施形態での更新保存の処理について図22を参照して説明する。図22は、本実施形態において、グループメンバ端末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. 22 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’の生成方法は、ステップW3−4と同様である。
(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 method for generating the encryption key share S KM, 1 ′ is the same as in step W3-4.

(ステップW3a−5)グループメンバ端末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 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が記憶するKと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’は以下の(24)式を用いて生成する。ここで、X=h(ID)は、グループメンバ端末1−1のマスターシェアMSのx座標、X=h(ID)は、グループメンバ端末iのマスターシェアMSのx座標、XKM,iは暗号鍵シェアSKM,iのx座標である。
(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, delete group members terminal 1-1 'and S KM, 1' K M and C 0, 1 for storing a group member terminal 1-1 and To do. 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 (24). Here, X 1 = h (ID 1 ) is the x coordinate of the master share MS 1 of the group member terminal 1-1, and X i = h (ID i ) is the x coordinate of the master share MS i of the group member terminal i. , X KM, i is the x coordinate of the encryption key share S KM, i .

Figure 0005046852
Figure 0005046852

[共有データ保存処理:共有データ更新保存(鍵更新なし)]
次に、鍵の更新がない場合での本実施形態での共有データの更新保存の処理について説明する。鍵の更新がない場合での本実施形態での共有データの更新保存の処理動作は、第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が初めて参照する際の処理について図23を参照して説明する。図23は、本実施形態において、グループメンバ端末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. 23 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 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と、sk2,Sとを用いて鍵復元用情報C1,1=C0,1 W1を生成する。なお、鍵復元用情報の生成方法は、ステップR1−3と同様である。 (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 and sk 2, S to generate key recovery information C 1,1 = C 0,1 W1 . The method for generating the key recovery information is the same as in step R1-3.

(ステップR3−4)ストレージサーバ2は、Dと、EKM(M)と、最終更新時刻(TS,1)と、C0,1と、C1,1とをグループメンバ端末1−2に送付する。
(ステップR3−5)グループメンバ端末1−2は、sk2,Uと、C0,1と、C1,1とを用いてKを復元する。なお、Kの復元方法は、ステップR1−5と同様である。
(Step R3-4) the storage server 2, and D 1, E and KM (M G), the last update time and (T S, 1), and C 0, 1, C 1, 1 and group member terminal 1 -2.
(Step R 35) group member terminal 1-2, restores the K M with the sk 2, U, and C 0, 1, and C 1, 1. Incidentally, restoration method of K M is the same as step R1-5.

(ステップR3−6)グループメンバ端末1−2は、Kを用いてEKM(M)を復号し、Mを取得する。
(ステップR3−7)グループメンバ端末1−2は、マスターシェアMSを用いてKに対応する暗号化シェアSKM,2を生成する。
(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と、C0,1と、C1,1と、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 0, 1, and C 1, 1, 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が再度参照する際の処理について図24を参照して説明する。図24は、本実施形態において、グループメンバ端末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. 24 is a sequence diagram showing a processing operation 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に移行する手順について図25を参照して説明する。図25は、本実施形態において、グループメンバ端末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. 25 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を取得する。 (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.

(ステップRE3−2)認証局3は、グループメンバ端末1−3より端末移行情報を受信する。続いて認証局3は、グループメンバ端末1−3用の分割鍵sk’2,Uと分割鍵sk’2,Sとを生成する。生成方法は、ステップP1−2と同様である。
(ステップRE3−3)認証局3は、分割鍵sk’2,Uと公開鍵pkとをグループメンバ端末1−3に送付する。また、認証局3は、分割鍵sk’2,Sをストレージサーバ2に送付する。ストレージサーバ2は、分割鍵sk’2,Sを受信後、グループメンバ端末1−2用の分割鍵sk2,Sを削除する。
(Step RE3-2) The certificate authority 3 receives terminal transition information from the group member terminal 1-3. Subsequently, the certificate authority 3 generates a split key sk ′ 2, U and a split key sk ′ 2, S for the group member terminal 1-3. The generation method is the same as in Step P1-2.
(Step RE3-3) The certificate authority 3 sends the split key sk ′ 2, U and the public key pk G to the group member terminal 1-3. In addition, the certificate authority 3 sends the split keys sk ′ 2 and S to the storage server 2. After receiving the split key sk ′ 2, S , the storage server 2 deletes the split key sk 2, S for the group member terminal 1-2.

(ステップRE3−4)ストレージサーバ2は分割シェアS’MS,2,2を生成し、それをグループメンバ端末1−3へ送付する。分割シェアS’MS,i,2は以下の(25)式を用いて生成する。ここで、g(x)=bx(bは乱数)である。 (Step RE3-4) 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 (25). Here, g j (x) = b j x (b j is a random number).

Figure 0005046852
Figure 0005046852

グループメンバ端末1−3は、S’MS,2,2と、SMS,2,1とよりMSを生成する。なお、MSは以下の式(26)を満たす。 The group member terminal 1-3 generates MS 3 from S ′ MS, 2,2 and SMS, 2,1 . MS 3 satisfies the following formula (26).

Figure 0005046852
Figure 0005046852

(ステップRE3−5)認証局3は、グループメンバ端末1−2の環境をグループメンバ端末1−3に移行したことをストレージサーバ2に通知する。   (Step RE3-5) 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の実施形態について説明したとおり、本実施形態では、暗号鍵を生成する基の情報であるマスターシェアと呼ばれる情報をグループメンバ端末内に生成し、生成したマスターシェアを用いて暗号鍵と暗号鍵シェアを生成する形態とした。また、グループメンバ端末が暗号鍵を変更して共有データを更新保存した場合、更新された暗号鍵の情報に基づいて、ストレージサーバはステップW3a−10にて、ストレージサーバが記憶する全グループメンバ端末の暗号鍵シェアを更新する。よって、グループメンバ端末が暗号鍵を変更して共有データを更新保存した後に、他のグループメンバ端末が一度参照したデータを再度参照するときには、再度鍵カプセル化技術による鍵復元を行わずに秘密分散法による鍵復元を利用することができる。   As described above with respect to the third embodiment, 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 is generated using the generated master share. The encryption key share is generated. Further, when the group member terminal changes the encryption key and updates and saves the shared data, the storage server stores all group member terminals stored in the storage server in step W3a-10 based on the updated encryption key information. 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 the figure which showed the key distribution method 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 processing operations 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・・・通信ネットワーク 1-1 to 1-N: Group member terminals, 2 ... Storage server, 3 ... Certificate authority, 4 ... Communication network

Claims (4)

暗号化された共有データを保管するストレージサーバと、N台(Nは1以上の整数)の端末装置と、鍵生成装置とを備えたデータ共有システムに含まれる前記鍵生成装置において、
公開鍵と秘密鍵を生成するグループ鍵生成部と、
第1の分散鍵と第2の分散鍵とからなる1組の分散鍵から前記秘密鍵を生成することが可能な分散鍵の組を生成する方法である秘密分散法を用いて、前記秘密鍵を生成することが可能な前記第1の分散鍵と前記第2の分散鍵との組をN組生成する分散鍵生成部と、
前記分散鍵生成部で生成したN組の前記分散鍵の組に含まれるN個の前記第1の分散鍵をN台の前記端末装置に1個ずつ配布し、N台の前記端末装置それぞれに前記公開鍵を配布し、N組の前記分散鍵の組に含まれるN個の前記第2の分散鍵を前記ストレージサーバに配布する鍵配布部と、
移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を受信する受信部と、
を備え、
前記受信部が前記端末装置移行情報を受信した際に、前記分散鍵生成部は、前記第1の分散鍵と前記第2の分散鍵との組を1組生成し、
前記鍵配布部は、前記分散鍵生成部で生成した1組の前記分散鍵の組に含まれる1個の前記第1の分散鍵と前記公開鍵とを前記移行先端末装置に配布し、前記分散鍵生成部で生成した1組の前記分散鍵の組に含まれる1個の前記第2の分散鍵を前記ストレージサーバに配布する
ことを特徴とする鍵生成装置。
In the key generation device included in a data sharing system comprising a storage server for storing encrypted shared data, N (N is an integer of 1 or more) terminal devices, and a key generation device,
A group key generation unit for generating a public key and a secret key;
Using the secret sharing method, which is a method of generating a set of distributed keys capable of generating the secret key from a set of distributed keys consisting of a first distributed key and a second distributed key, the secret key A distributed key generation unit that generates N sets of the first distributed key and the second distributed key capable of generating
The N first distributed keys included in the N sets of distributed keys generated by the distributed key generation unit are distributed to N terminal devices one by one, and each of the N terminal devices is distributed. A key distribution unit that distributes the public key and distributes the N second distributed keys included in the N sets of distributed keys to the storage server;
A receiving unit that receives terminal device migration information including migration destination terminal device information that uniquely identifies a migration destination terminal device that is a migration destination terminal device in the environment of the migration source terminal device;
With
When the receiving unit receives the terminal device transition information, the distributed key generation unit generates one set of the first distributed key and the second distributed key,
The key distribution unit distributes the first shared key and the public key included in the set of distributed keys generated by the distributed key generation unit to the migration destination terminal device, and A key generation device that distributes one second distributed key included in a set of the distributed keys generated by a distributed key generation unit to the storage server .
ストレージサーバと、端末装置と、鍵生成装置とを備えたデータ共有システムに含まれるストレージサーバにおいて、
前記鍵生成装置が移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を受信した際に生成した、移行元端末装置の環境の移行先の端末装置である移行先端末装置に配布する第1の分散鍵と前記ストレージサーバに配布する第2の分散鍵との組に含まれる当該第2の分散鍵を前記鍵生成装置より受信し、前記移行先端末装置より暗号化された共有データと第1の鍵復元用情報とを受信する受信部と、
前記受信部が受信した前記共有データと前記第1の鍵復元用情報とを関連付けて記憶し、前記受信部が受信した前記第2の分散鍵を記憶する記憶部と、
前記受信部が前記移行先端末装置より前記第1の鍵復元用情報を受信した場合、当該移行先端末装置に対応する前記第2の分散鍵を特定し、当該第1の鍵復元用情報と、特定した当該第2の分散鍵とに基づいて、第2の鍵復元用情報を生成する鍵復元用情報生成部と、
暗号化された共有データと、前記第1の鍵復元用情報と、前記第2の鍵復元用情報とを前記移行先端末装置に送信する送信部と、
を備えたことを特徴とするストレージサーバ。
In a storage server included in a data sharing system including a storage server, a terminal device, and a key generation device,
The migration source terminal generated when the key generation device receives the terminal device migration information including the migration destination terminal device information that uniquely identifies the migration destination terminal device that is the migration destination terminal device of the environment of the migration source terminal device The second distributed key included in the set of the first distributed key distributed to the transfer destination terminal device that is the transfer destination terminal device of the environment of the device and the second distributed key distributed to the storage server is the key. a receiving unit generator by and Ri受 signal, receives the encrypted shared data and the first key recovery information from said destination terminal device,
A storage unit that stores the shared data received by the receiving unit in association with the first key recovery information, and stores the second distributed key received by the receiving unit;
When the receiving unit receives the first key recovery information from the transfer destination terminal device, the second shared key corresponding to the transfer destination terminal device is identified, and the first key recovery information and A key recovery information generation unit that generates second key recovery information based on the identified second distributed key;
A transmitting unit that transmits the encrypted shared data, the first key recovery information, and the second key recovery information to the destination terminal device;
A storage server comprising:
演算処理部と通信部とを備えたコンピュータに、
前記演算処理部が公開鍵と秘密鍵を生成するグループ鍵生成ステップと、
前記演算処理部が第1の分散鍵と第2の分散鍵とからなる1組の分散鍵から前記秘密鍵を生成することが可能な分散鍵の組を生成する方法である秘密分散法を用いて、前記秘密鍵を生成することが可能な前記第1の分散鍵と前記第2の分散鍵との組をN組(Nは1以上の整数)生成する分散鍵生成ステップと、
前記分散鍵生成ステップで前記演算処理部が生成したN組の前記分散鍵の組に含まれるN個の前記第1の分散鍵を前記通信部がN台の前記端末装置に1個ずつ送信し、N台の前記端末装置それぞれに前記通信部が前記公開鍵を送信し、N組の前記分散鍵の組に含まれるN個の前記第2の分散鍵を前記通信部が前記ストレージサーバに送信する鍵配布ステップと、
移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を前記通信部が受信する受信ステップと、
を実行させ、
前記受信ステップで前記通信部が端末装置移行情報を受信した際に、前記分散鍵生成ステップでは、前記演算処理部が前記第1の分散鍵と前記第2の分散鍵との組を1組生成し、
前記鍵配布ステップでは、前記分散鍵生成ステップで前記演算処理部が生成した1組の前記分散鍵の組に含まれる1個の前記第1の分散鍵と前記公開鍵とを前記通信部が前記移行先端末装置に送信し、前記分散鍵生成ステップで前記演算処理部が生成した1組の前記分散鍵の組に含まれる1個の前記第2の分散鍵を前記通信部が前記ストレージサーバに送信する
ことを特徴とするプログラム。
In a computer equipped with an arithmetic processing unit and a communication unit,
A group key generating step in which the arithmetic processing unit generates a public key and a secret key;
A secret sharing method is used in which the arithmetic processing unit generates a set of distributed keys that can generate the secret key from a set of distributed keys composed of a first distributed key and a second distributed key. A distributed key generation step of generating N sets (N is an integer of 1 or more) of the first distributed key and the second distributed key capable of generating the secret key;
The communication unit transmits N pieces of the first distributed keys included in the N sets of distributed keys generated by the arithmetic processing unit in the distributed key generation step to the N terminal devices one by one. the transmitted communication unit said public key to each N number of the terminal device, transmitting the N number of the second distributed key contained in the N sets of the set of distributed key the communication unit in the storage server Key distribution step to perform,
A receiving step in which the communication unit receives terminal device migration information including migration destination terminal device information that uniquely identifies a migration destination terminal device that is a migration destination terminal device in the environment of the migration source terminal device;
And execute
When the communication unit receives the terminal device transition information in the receiving step, in the distributed key generation step, the arithmetic processing unit generates one set of the first distributed key and the second distributed key And
In the key distribution step, the communication unit transmits the first distributed key and the public key included in the set of the distributed keys generated by the arithmetic processing unit in the distributed key generation step. The communication unit transmits to the storage server one second distributed key included in one set of the distributed key that is transmitted to the transfer destination terminal device and generated by the arithmetic processing unit in the distributed key generation step. Send
A program characterized by that .
演算処理部と通信部と記憶部とを備えたコンピュータに、
鍵生成装置が移行元端末装置の環境の移行先の端末装置である移行先端末装置を一意に特定する移行先端末装置情報を含む端末装置移行情報を受信した際に生成した、移行元端末装置の環境の移行先の端末装置である移行先端末装置に配布する第1の分散鍵と前記ストレージサーバに配布する第2の分散鍵との組に含まれる当該第2の分散鍵を前記通信部が前記鍵生成装置より受信し、前記移行先端末装置より暗号化された共有データと第1の鍵復元用情報とを前記通信部が受信する受信ステップと、
前記受信ステップで前記通信部が受信した前記共有データと前記第1の鍵復元用情報とを前記記憶部が関連付けて記憶し、前記受信ステップで受信した前記第2の分散鍵を前記記憶部が記憶する記憶ステップと、
前記通信部が前記移行先端末装置より前記第1の鍵復元用情報を受信した場合、前記記憶部が記憶する前記第2の分散鍵のうち当該移行先端末装置に対応する前記第2の分散鍵を特定し、当該第1の鍵復元用情報と、特定した当該第2の分散鍵とに基づいて、第2の鍵復元用情報を生成する鍵復元用情報生成ステップと、
暗号化された共有データと、前記第1の鍵復元用情報と、前記第2の鍵復元用情報とを前記移行先端末装置に前記通信部が送信する送信ステップと、
をコンピュータに実行させるためのプログラム。
In a computer equipped with an arithmetic processing unit, a communication unit, and a storage unit,
The source terminal device generated when the key generation device receives the terminal device migration information including the destination device information that uniquely identifies the destination device that is the destination device in the environment of the source terminal device. The second shared key included in the set of the first distributed key distributed to the transfer destination terminal device that is the transfer destination terminal device of the environment and the second distributed key distributed to the storage server is the communication unit. a receiving step but the key generating apparatus by then Ri受 signal, for receiving said destination terminal shared data and the first key recovery information encrypted by the device is the communication unit,
Storing said reception step in said shared data and said first key recovery information to the communication unit has received said storage unit is associated with the storage unit the second distributed key received by the receiving step A storage step for storing;
When the communication unit receives the first key recovery information from the transfer destination terminal device, the second distribution corresponding to the transfer destination terminal device among the second distributed keys stored in the storage unit identify key, and the first key recovery information, identified based on the said second distributed key, and the key recovery information generating step of generating a second key recovery information,
A transmission step in which the communication unit transmits the encrypted shared data, the first key recovery information, and the second key recovery information to the migration destination terminal device;
A program that causes a computer to execute.
JP2007276380A 2007-10-24 2007-10-24 Key generation device, terminal device, storage server, and computer program Expired - Fee Related JP5046852B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007276380A JP5046852B2 (en) 2007-10-24 2007-10-24 Key generation device, terminal device, storage server, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007276380A JP5046852B2 (en) 2007-10-24 2007-10-24 Key generation device, terminal device, storage server, and computer program

Publications (2)

Publication Number Publication Date
JP2009103968A JP2009103968A (en) 2009-05-14
JP5046852B2 true JP5046852B2 (en) 2012-10-10

Family

ID=40705693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007276380A Expired - Fee Related JP5046852B2 (en) 2007-10-24 2007-10-24 Key generation device, terminal device, storage server, and computer program

Country Status (1)

Country Link
JP (1) JP5046852B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7077873B2 (en) 2018-08-29 2022-05-31 日本電気株式会社 Information processing equipment, information processing methods, and programs
JP2024013488A (en) * 2022-07-20 2024-02-01 株式会社シーイーシー Scan service system, scan service method and computer program
CN115987691B (en) * 2023-03-20 2023-06-16 成都蓝瑟回音文化传媒有限公司 Mobile application management system and method based on cloud computing and pervasive computing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177341A (en) * 1996-07-26 1998-06-30 Nippon Telegr & Teleph Corp <Ntt> Secret key escrow method and system in RSA encryption
JP3662828B2 (en) * 2000-10-04 2005-06-22 北陸日本電気ソフトウェア株式会社 File encryption system
JP2004048479A (en) * 2002-07-12 2004-02-12 Kddi Corp Encryption key management method for shared encrypted information
JP4521514B2 (en) * 2004-03-30 2010-08-11 独立行政法人情報通信研究機構 Medical information distribution system, information access control method thereof, and computer program
JP2007089100A (en) * 2005-09-20 2007-04-05 Chaosware Inc Delivery system of encryption key
JP5103095B2 (en) * 2007-08-28 2012-12-19 Kddi株式会社 Key generation device, terminal device, storage server, and computer program

Also Published As

Publication number Publication date
JP2009103968A (en) 2009-05-14

Similar Documents

Publication Publication Date Title
US10601585B1 (en) Methods and apparatus for blockchain encryption
JP3657396B2 (en) Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program
JP2016158189A (en) Key change direction control system and key change direction control method
US20110320815A1 (en) Key Sharing System, Communication Terminal, Management Device, Key Sharing Method, and Computer Program
CN113300999B (en) Information processing methods, electronic devices and readable storage media
US20210250762A1 (en) Key generation method, device, and system
JP6592851B2 (en) Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, program
CN111404671B (en) Mobile quantum secure communication method, gateway, mobile terminal and server
JP6058514B2 (en) Cryptographic processing method, cryptographic system, and server
CN113824713A (en) Key generation method, system and storage medium
JP5103095B2 (en) Key generation device, terminal device, storage server, and computer program
JP5046852B2 (en) Key generation device, terminal device, storage server, and computer program
US11082406B2 (en) System and method for providing end-to-end security of data and metadata
CN109120576A (en) Data sharing method and device, computer equipment and storage medium
CN114499836A (en) Key management method, key management device, computer equipment and readable storage medium
JP7577284B2 (en) Download terminal, key terminal, and storage server of a storage system for processing encrypted files while keeping a private key secret in the key terminal
CN118041635A (en) Data encryption method, device, equipment, storage medium and computer product
JP5491713B2 (en) ENCRYPTION DEVICE, ENCRYPTION PROGRAM, AND METHOD
JP5014977B2 (en) Terminal device, data management device, and computer program
JP2014017763A (en) Encryption update system, encryption update request device, encryption update device, decryption device, encryption update method, and computer program
CN119996081B (en) Information processing method and apparatus, storage medium, and computer program product
KR20070062632A (en) How to provide mobile message and file security through encryption
JP4104315B2 (en) Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program
JP7721073B2 (en) Cryptographic system, terminal, and method
JP2015231077A (en) Re-encryption key registration method, re-encryption device, and re-encryption system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120528

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

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