JP5014977B2 - Terminal device, data management device, and computer program - Google Patents
Terminal device, data management device, and computer program Download PDFInfo
- Publication number
- JP5014977B2 JP5014977B2 JP2007341082A JP2007341082A JP5014977B2 JP 5014977 B2 JP5014977 B2 JP 5014977B2 JP 2007341082 A JP2007341082 A JP 2007341082A JP 2007341082 A JP2007341082 A JP 2007341082A JP 5014977 B2 JP5014977 B2 JP 5014977B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- terminal
- share
- encryption key
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
本発明は、端末装置、データ管理装置およびコンピュータプログラムに関する。 The present invention relates to a terminal device, a data management device, and a computer program.
従来、情報秘匿技術として、例えば非特許文献1に記載の秘密分散法が知られている。秘密分散法とは、秘密情報を数人で分散して保管することで、元の秘密情報を安全に保管する方法である。非特許文献1に記載の(k, n)閾値秘密分散法は、秘密分散法の一種であり、秘密情報をn個の分割情報(シェア)に分割してそれぞれ保管し、その内のk個以上の分割情報を入手することができれば、元の秘密情報を復元することができるものである。
Conventionally, as an information concealment technique, for example, a secret sharing method described in Non-Patent
また、特許文献1記載の従来技術では、あるデータを共有化する場合、まずグループ内で共有したいデータ(MG)を、暗号鍵(KM)を用いて共通鍵暗号方式で暗号化(EKM(MG))する。そして、当該グループの全メンバ(U1,...,UN)が所有する公開鍵(pk1,...,pkN)でKMを暗号化(Epk1(KM), ..., EpkN(KM))し、それをリスト化して、EKM(MG)と共にサーバ等に保存する。データを参照するグループメンバ(Ui)は、リスト内から自身の公開鍵(pki)で暗号化されたKM(Epki(KM))とEKM(MG)を取得し、暗号化されたKMを自身の秘密鍵(ski)を用いて復号することにより、KMを得る。そして、KMでEKM(MG)を復号し、元データMGを得る。
しかしながら、特許文献1に記載の技術では、共有データを公開する際に、グループメンバの人数(N)分、すなわちN回公開鍵暗号処理を行う必要があり、データ公開者の処理負荷が大きくなる。又、グループメンバの所有する端末装置が盗難にあうなどし悪意の第三者に使用された場合、共有データの暗号化に使用している秘密鍵が該端末装置から漏洩してしまう可能性がある。この場合、秘密鍵を更新することで漏えい被害を抑えることができるが、共有データ公開時と同様、N回公開鍵暗号処理を行うことになり処理負荷が大きい。
However, in the technique described in
本発明は、このような事情を考慮してなされたもので、その目的は、グループメンバの所有する端末装置から鍵が漏洩するような場合の共有データの安全性確保に貢献すると共に、共有データ公開時などの処理負荷軽減を図ることのできる端末装置、データ管理装置およびコンピュータプログラムを提供することにある。 The present invention has been made in consideration of such circumstances, and its purpose is to contribute to ensuring the safety of shared data when a key leaks from a terminal device owned by a group member, and to share data. It is an object to provide a terminal device, a data management device, and a computer program that can reduce processing load at the time of disclosure.
上記の課題を解決するために、本発明に係る端末装置は、メンバ間でデータを共有するグループに属するメンバの端末装置と、前記端末装置と通信回線を介して接続されるデータ管理装置とを有するデータ共有システムにおける前記端末装置であり、前記グループ内で共通の共通シェア用鍵と自端末固有のマスターシェアとから共通シェアを生成し、該共通シェア及び自己の端末識別子を前記データ管理装置に送り登録要求する端末登録手段と、暗号鍵を用いて共通鍵暗号方式により共有データを暗号化し、該暗号鍵と前記マスターシェアとから暗号鍵シェアを生成し、該暗号化データ、暗号鍵シェア及び自己の端末識別子を前記データ管理装置に送り保存要求するデータ保存手段と、前記データ管理装置から暗号化データ及び自己用の暗号鍵シェアを取得し、該暗号鍵シェア及び前記マスターシェアを用いて暗号鍵を復元し、該暗号鍵を用いて前記データ管理装置から取得した暗号化データを復号するデータ参照手段と、を備えたことを特徴とする。 In order to solve the above problems, a terminal device according to the present invention includes a member terminal device belonging to a group sharing data among members, and a data management device connected to the terminal device via a communication line. The terminal device in the data sharing system having, generating a common share from a common share key common within the group and a master share unique to the own terminal, and the common share and its own terminal identifier to the data management device Terminal registration means for sending registration request, encrypting shared data by a common key cryptosystem using an encryption key, generating an encryption key share from the encryption key and the master share, the encrypted data, encryption key share and Data storage means for sending the terminal identifier of the terminal device to the data management device and requesting storage, encrypted data from the data management device and encryption for own use A data reference means for acquiring a share, restoring the encryption key using the encryption key share and the master share, and decrypting the encrypted data acquired from the data management device using the encryption key; It is characterized by.
本発明に係るデータ管理装置は、メンバ間でデータを共有するグループに属するメンバの端末装置と、前記端末装置と通信回線を介して接続されるデータ管理装置とを有するデータ共有システムにおける前記データ管理装置であり、端末装置から登録要求された共通シェア及び端末識別子を関連付けて記録する端末登録手段と、端末装置から保存要求された暗号化データ、暗号鍵シェア及び端末識別子に関し、暗号化データに対して暗号鍵シェアと端末識別子の組を関連付けて記録するデータ保存手段と、前記端末装置から参照要求された前記データ保存手段に格納される暗号化データと、該要求元の端末装置用の暗号鍵シェアとを該要求元の端末装置に送るデータ参照手段と、を備えたことを特徴とする。 The data management device according to the present invention provides the data management in a data sharing system comprising: a terminal device of a member belonging to a group that shares data between members; and a data management device connected to the terminal device via a communication line A terminal registration unit that records a shared share and a terminal identifier that are requested to be registered by the terminal device, and encrypted data that is requested to be stored by the terminal device, an encryption key share, and a terminal identifier. A data storage unit that records a pair of an encryption key share and a terminal identifier in association with each other, encrypted data stored in the data storage unit requested to be referenced from the terminal device, and an encryption key for the requesting terminal device Data reference means for sending the share to the requesting terminal device.
本発明に係るデータ管理装置において、前記データ参照手段は、データ参照要求元の端末装置用の暗号鍵シェアが参照対象の暗号化データに関連付けて記録されていない場合、参照対象の暗号化データに関連付けて記録されている任意の端末装置用の暗号鍵シェア及び該端末装置の共通シェア、並びにデータ参照要求元の端末装置の共通シェアから、データ参照要求元の端末装置用の暗号鍵シェアを生成し、該データ参照要求元の端末装置用の暗号鍵シェアを参照対象の暗号化データに関連付けて記録することを特徴とする。 In the data management device according to the present invention, when the encryption key share for the terminal device of the data reference request source is not recorded in association with the encrypted data to be referred to, the data reference means stores the encrypted data to be referred to Generates the encryption key share for the terminal device of the data reference request source from the encryption key share for the arbitrary terminal device recorded in association with the common share of the terminal device and the common share of the terminal device of the data reference request source The encryption key share for the terminal device that is the data reference request source is recorded in association with the encrypted data to be referred to.
本発明に係る端末装置において、暗号鍵を用いて共通鍵暗号方式により更新対象の共有データを暗号化し、該暗号鍵と前記マスターシェアとから暗号鍵シェアを生成し、該暗号化データ、暗号鍵シェア及び自己の端末識別子を前記データ管理装置に送り更新要求するデータ更新手段を備えたことを特徴とする。 In the terminal device according to the present invention, the shared data to be updated is encrypted by the common key encryption method using the encryption key, the encryption key share is generated from the encryption key and the master share, the encrypted data, the encryption key Data update means for sending a share and its own terminal identifier to the data management device and requesting an update is provided.
本発明に係るデータ管理装置において、前記端末装置から受け取った更新対象の暗号化データ、暗号鍵シェア及び端末識別子によって更新対象の保存データを書き換えるデータ更新手段を備えたことを特徴とする。 The data management device according to the present invention is characterized by comprising data updating means for rewriting the storage data to be updated with the encrypted data to be updated, encryption key share and terminal identifier received from the terminal device.
本発明に係るデータ管理装置において、前記データ更新手段は、更新対象の暗号化データに関連付けて記録されている未更新の暗号鍵シェアを、更新後の暗号鍵に対応する暗号鍵シェアに更新することを特徴とする。 In the data management apparatus according to the present invention, the data updating unit updates an unupdated encryption key share recorded in association with the encrypted data to be updated to an encryption key share corresponding to the updated encryption key. It is characterized by that.
本発明に係るデータ管理装置において、前記データ更新手段は、前記暗号鍵シェアの更新をまとめて行うことを特徴とする。 In the data management apparatus according to the present invention, the data update means collectively updates the encryption key share.
本発明に係るデータ管理装置において、前記データ更新手段は、前記暗号鍵シェアの更新を、端末装置毎にデータ参照時に行うことを特徴とする。 In the data management device according to the present invention, the data update means updates the encryption key share at the time of data reference for each terminal device.
本発明に係るデータ管理装置において、前記グループに属するメンバの端末装置として失効した端末装置に関するデータを全て消去する環境移行手段を備えたことを特徴とする。 The data management device according to the present invention is characterized in that it comprises an environment transition means for erasing all data relating to terminal devices that have expired as terminal devices of members belonging to the group.
本発明に係るコンピュータプログラムは、メンバ間でデータを共有するグループに属するメンバの端末装置と、前記端末装置と通信回線を介して接続されるデータ管理装置とを有するデータ共有システムの前記端末装置におけるデータ共有処理を行うためのコンピュータプログラムであって、前記グループ内で共通の共通シェア用鍵と自端末固有のマスターシェアとから共通シェアを生成し、該共通シェア及び自己の端末識別子を前記データ管理装置に送り登録要求する端末登録機能と、暗号鍵を用いて共通鍵暗号方式により共有データを暗号化し、該暗号鍵と前記マスターシェアとから暗号鍵シェアを生成し、該暗号化データ、暗号鍵シェア及び自己の端末識別子を前記データ管理装置に送り保存要求するデータ保存機能と、前記データ管理装置から暗号化データ及び自己用の暗号鍵シェアを取得し、該暗号鍵シェア及び前記マスターシェアを用いて暗号鍵を復元し、該暗号鍵を用いて前記データ管理装置から取得した暗号化データを復号するデータ参照機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の端末装置がコンピュータを利用して実現できるようになる。
A computer program according to the present invention is provided in the terminal device of a data sharing system including a terminal device of a member belonging to a group that shares data among members, and a data management device connected to the terminal device via a communication line. A computer program for performing data sharing processing, wherein a common share is generated from a common share key common within the group and a master share unique to the own terminal, and the data management is performed on the common share and the own terminal identifier. A terminal registration function that sends a registration request to the device, and encrypts the shared data by a common key encryption method using the encryption key, generates an encryption key share from the encryption key and the master share, and the encrypted data, encryption key A data storage function for sending a share and its own terminal identifier to the data management device and requesting storage; Obtaining encrypted data and a self-use encryption key share from the device, restoring the encryption key using the encryption key share and the master share, and obtaining the encrypted data obtained from the data management device using the encryption key A data reference function for decoding is realized by a computer.
As a result, the terminal device described above can be realized using a computer.
本発明に係るコンピュータプログラムは、メンバ間でデータを共有するグループに属するメンバの端末装置と、前記端末装置と通信回線を介して接続されるデータ管理装置とを有するデータ共有システムの前記データ管理装置におけるデータ共有処理を行うためのコンピュータプログラムであって、端末装置から登録要求された共通シェア及び端末識別子を関連付けて記録する端末登録機能と、端末装置から保存要求された暗号化データ、暗号鍵シェア及び端末識別子に関し、暗号化データに対して暗号鍵シェアと端末識別子の組を関連付けて記録するデータ保存機能と、前記端末装置から参照要求された前記データ保存手段に格納される暗号化データと、該要求元の端末装置用の暗号鍵シェアとを該要求元の端末装置に送るデータ参照機能と、をコンピュータに実現させることを特徴とする。
これにより、前述のデータ管理装置がコンピュータを利用して実現できるようになる。
The computer program according to the present invention provides the data management device of a data sharing system comprising: a terminal device of a member belonging to a group that shares data among members; and a data management device connected to the terminal device via a communication line A computer program for performing a data sharing process in which a terminal registration function that records a common share and a terminal identifier requested to be registered in association with a terminal device, encrypted data requested to be stored from the terminal device, and encryption key share And a terminal identifier, a data storage function for associating and recording a set of encryption key shares and terminal identifiers with respect to encrypted data, encrypted data stored in the data storage means requested for reference from the terminal device, Data reference function for sending encryption key share for requesting terminal device to requesting terminal device , Characterized in that to realize the computer.
As a result, the data management apparatus described above can be realized using a computer.
本発明によれば、グループメンバの所有する端末装置から鍵が漏洩するような場合の共有データの安全性確保に貢献すると共に、共有データ公開時などの処理負荷軽減を図ることができるという効果が得られる。 According to the present invention, it is possible to contribute to ensuring the safety of shared data when a key leaks from a terminal device owned by a group member, and to reduce the processing load when the shared data is disclosed. can get.
以下、図面を参照し、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係るデータ共有システムの全体構成を示すブロック図である。図1において、図1において、グループメンバ端末1は、メンバ間でデータを共有するグループに属するメンバの端末装置である。図1にはN台のグループメンバ端末1−1〜Nが示されている。グループメンバ端末(以下、端末と称する)1は、通信ネットワーク4を介してストレージサーバ2にアクセスし、ストレージサーバ2との間でデータを送受することができる。なお、通信ネットワーク4は、無線ネットワークであっても、有線ネットワークであってもよい。例えば、通信ネットワーク4は、インターネットと固定電話網や移動電話網などから構成されてもよい。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing the overall configuration of a data sharing system according to an embodiment of the present invention. In FIG. 1, a
端末1は、移動しながら使用可能な装置(例えば、携帯型装置)であってもよく、或いは、固定して使用される装置(例えば、パーソナルコンピュータ等の据置き型装置)であってもよい。また、携帯型の端末装置としては、例えば、移動通信事業者が提供する移動通信網の端末装置(例えば、データ通信機能を有する携帯電話機、データ通信端末装置等)、PDA(Personal Digital Assistants:個人用情報機器)などが挙げられる。また、PDAの場合、通信手段を内蔵していてもよく、外部から通信手段を接続するものであってもよい。
The
端末1は、演算処理部、記憶部、通信部、入力部、表示部、外部インタフェースなどを備える。演算処理部は、CPU(中央処理装置)およびメモリ等から構成される。記憶部は、例えば、ハードディスク装置、光磁気ディスク装置、DVD(Digital Versatile Disk)等の光ディスク装置、フラッシュメモリ等の不揮発性のメモリ、DRAM(Dynamic Random Access Memory)等の揮発性のメモリ、などの記憶装置、あるいはそれらの組み合わせにより構成される。記憶部は、CPUで実行されるコンピュータプログラム等の各種データを記憶する。通信部は、通信ネットワーク4を介したデータ通信を行う。入力部は、キーボード、テンキー、マウス等の入力デバイスから構成され、ユーザの操作に応じたデータ入力を行う。表示部は、CRT(Cathode Ray Tube)や液晶表示装置等の表示デバイスから構成され、データ表示を行う。外部インタフェースは、外部機器との間で有線又は無線により直接にデータを送受する。
The
端末1は、CPUがコンピュータプログラムを実行することにより、データ共有機能を実現する。データ共有機能を実現するためのコンピュータプログラムは、端末1に固定的にインストールされていてもよく、或いは、サーバ上にあるコンピュータプログラムが必要なときに通信回線を介してダウンロードされてもよい。
The
ストレージサーバ2は、CPUおよびメモリ等から構成される演算処理部、ハードディスク装置等の記憶装置から構成される記憶部、通信部などを備える。記憶部は、端末1から送られてきたデータ等、各種データを記憶する。ストレージサーバ2のデータ保管機能は、ストレージサーバ2のCPUがデータ保管機能を実現するためのコンピュータプログラムを実行することにより実現される。
The
鍵管理サーバ3は、CPUおよびメモリ等から構成される演算処理部、ハードディスク装置等の記憶装置から構成される記憶部などを備える。記憶部は、鍵管理に係る各種データを記憶する。鍵管理サーバ3の鍵管理機能は、鍵管理サーバ3のCPUが鍵管理機能を実現するためのコンピュータプログラムを実行することにより実現される。なお、鍵管理サーバ3は、通信部を有し通信ネットワーク4に接続されていてもよく、或いは、通信部を有さず通信ネットワーク4に接続されていなくてもよい。鍵管理サーバ3は、通信ネットワーク4に接続されている場合、通信ネットワーク4を介して端末1及びストレージサーバ2との間でデータを送受することができる。鍵管理サーバ3は、通信ネットワーク4に接続されていない場合には、外部デバイス5を介して端末1及びストレージサーバ2との間でデータを送受する。外部デバイス5は、データの書き込み及び読み出しが可能な記録媒体である。外部デバイス5としては、例えば、メモリカード、ICカード、USB(Universal Serial Bus)メモリなどが利用可能である。
The
以下、図1に示すデータ共有システムの動作を順次詳細に説明する。 Hereinafter, the operation of the data sharing system shown in FIG. 1 will be sequentially described in detail.
[メンバ端末登録段階]
まず図2を参照してメンバ端末登録段階の処理を説明する。
図2は、本実施形態に係るデータ共有処理のメンバ端末登録段階の手順を示すシーケンスチャートである。図2においては、グループメンバ(ユーザ識別子(ユーザID)=UIDi)の端末1−i(端末識別子(端末ID)=IDi)が登録されるとする。
[Member terminal registration stage]
First, the member terminal registration process will be described with reference to FIG.
FIG. 2 is a sequence chart showing the procedure of the member terminal registration stage of the data sharing process according to the present embodiment. In Figure 2, the group members (user identifier (user ID) = UID i) of the terminal 1-i (terminal identifier (terminal ID) = ID i) is to be registered.
ステップP1−0;鍵管理サーバ3は、あらかじめグループ用の共通シェア用鍵CKGを生成する。
ステップP1−1;鍵管理サーバ3は、端末1−iに対して、共通シェア用鍵CKGを配布する。この鍵配布方法は、セキュリティの確保された通信路を介して配布してもよいし、外部デバイス5を介して配布してもよい。また、鍵管理サーバ3は、端末1−iのメンバのユーザID(UIDi)と認証情報AUTHiをストレージサーバに送る。
Step P1-0;
Step P1-1;
ステップP1−2;端末1−iは、マスターシェアMSiをランダムに生成する。マスターシェアMSiは次式により算出する。
MSi=(XMS,i,YMS,i)
XMS,i=h(IDi)
但し、hはハッシュ関数である。YMS,iはランダムに生成する。ここで、XMS,i及びYMS,iの絶対値は、共通鍵暗号方式の鍵長b以下である。
Step P1-2: The terminal 1-i randomly generates a master share MS i . The master share MS i is calculated by the following formula.
MS i = (X MS, i , Y MS, i )
X MS, i = h (ID i )
Here, h is a hash function. Y MS, i is generated randomly. Here, the absolute values of XMS, i and YMS, i are not more than the key length b of the common key cryptosystem.
ステップP1−3;端末1−iは、共通シェア用鍵CKGとマスターシェアMSiから、共通シェアCSiを生成する。共通シェアCSiは次式により算出する。
CSi=(XCS,i,YCS,i)
XCS,i=h(IDi||r1)
YCS,i=fi(XCS,i)
但し、「IDi||r1」はIDiとr1の連結データである。r1は乱数である。fi(x)は「fi(x)={(YMS,i−CKG)/XMS,i}×x+CKG mod(2b−1)」となる多項式である。x mod(y)は、xに対してモジュロyをとった値である。
Step P1-3; terminal 1-i from the key CK G and the master share MS i for the common share generates a common share CS i. The common share CS i is calculated by the following formula.
CS i = (X CS, i , Y CS, i )
X CS, i = h (ID i || r 1 )
Y CS, i = f i (X CS, i )
However, “ID i || r 1 ” is concatenated data of ID i and r 1 . r 1 is a random number. f i (x) is a polynomial such that “f i (x) = {(Y MS, i −CK G ) / X MS, i } × x + CK G mod (2 b −1)”. x mod (y) is a value obtained by taking modulo y with respect to x.
ステップP1−4;端末1−iは、ユーザに対して認証情報の入力を促す。ユーザは、ユーザ認証用のための情報として、ユーザID(UIDi)と認証情報AUTHi’を入力する。
ステップP1−5;端末1−iは、端末ID(IDi)、ユーザID(UIDi)、認証情報AUTHi’及び共通シェアCSiをストレージサーバ2に送信する。
Step P1-4: The terminal 1-i prompts the user to input authentication information. The user inputs a user ID (UID i ) and authentication information AUTH i ′ as information for user authentication.
Step P1-5: The terminal 1-i transmits the terminal ID (ID i ), user ID (UID i ), authentication information AUTHi ′, and common share CS i to the
ステップP1−6;ストレージサーバ2は、鍵管理サーバ3から受け取ったユーザID及び認証情報に基づいて、端末1−iから受け取ったユーザID(UIDi)および認証情報AUTHi’を検証する。ストレージサーバ2は、端末1−iの使用者が正当なユーザであると確認できた場合に、端末1−iから受け取った端末ID(IDi)及び共通シェアCSiを関連付けて記録する。
Step P1-6: The
ステップP1−7;端末1−iは、共通シェア用鍵CKG及び共通シェアCSiを消去する。なお、共通シェア用鍵CKGが外部デバイス5を介して配布された場合は、外部デバイス5内の共通シェア用鍵CKGも消去する。
端末1−iは、端末ID(IDi)とマスターシェアMSiを保持する。
Step P1-7; terminal 1-i deletes the key CK G and the common share CS i for the common share. Incidentally, if the common share key CK G is distributed via the
The terminal 1-i holds a terminal ID (ID i ) and a master share MS i .
[データ保存段階]
次に、図3を参照してデータ保存段階の処理を説明する。
図3は、本実施形態に係るデータ共有処理のデータ保存段階の手順を示すシーケンスチャートである。図3において、ユーザは、端末1−iにより、共有データMGをストレージサーバ2に保存するための操作を行う。
[Data storage stage]
Next, the data storage stage process will be described with reference to FIG.
FIG. 3 is a sequence chart showing the procedure of the data storage stage of the data sharing process according to the present embodiment. In FIG. 3, the user performs an operation for saving the shared data MG in the
ステップW1−1;ユーザは、端末1−iを操作して共有データMGを生成する。
ステップW1−2;端末1−iは、暗号鍵Kdをランダムに生成し、暗号鍵Kdを用いて共通鍵暗号方式により共有データMGを暗号化し、暗号化データEKd(MG)を生成する。暗号化後、共有データMGを消去する。
Step W1-1; user, generates a shared data M G by operating the terminal 1-i.
Step W1-2; terminal 1-i is a cryptographic key K d randomly generated by encrypting the shared data M G by a common key encryption method using an encryption key K d, the encrypted data E Kd (M G) Is generated. After encryption, the shared data MG is deleted.
ステップW1−3;端末1−iは、マスターシェアMSiを用いて暗号鍵シェアSKd,iを生成する。暗号鍵シェアSKd,iは次式により算出する。
SKd,i=(XKd,i,YKd,i)
XKd,i=XCS,i
YKd,i=gd(XKd,i)
但し、gd(x)は「gd(x)={(YMS,i−Kd)/XMS,i}×x+Kd mod(2b−1)」となる多項式である。又、マスターシェアMSi=(XMS,i,YMS,i)である。
Step W1-3: The terminal 1-i generates an encryption key share S Kd, i using the master share MS i . The encryption key share S Kd, i is calculated by the following equation.
S Kd, i = (X Kd, i , Y Kd, i )
X Kd, i = X CS, i
Y Kd, i = g d (X Kd, i )
Here, g d (x) is a polynomial that becomes “g d (x) = {(Y MS, i −K d ) / X MS, i } × x + K d mod (2 b −1)”. Master share MS i = (X MS, i , Y MS, i ).
ステップW1−4;端末1−iは、ユーザに対して認証情報の入力を促す。ユーザは、ユーザ認証用のための情報として、ユーザID(UIDi)と認証情報AUTHi’を入力する。
ステップW1−5;端末1−iは、端末ID(IDi)、ユーザID(UIDi)、認証情報AUTHi’、暗号化データEKd(MG)、暗号鍵シェアSKd,i及びデータラベルLdをストレージサーバ2に送信し、データ保存を要求する。
Step W1-4: The terminal 1-i prompts the user to input authentication information. The user inputs a user ID (UID i ) and authentication information AUTH i ′ as information for user authentication.
Step W1-5; the terminal 1-i has a terminal ID (ID i ), a user ID (UID i ), authentication information AUTHi ′, encrypted data E Kd (M G ), encryption key share S Kd, i, and data label L d is transmitted to the
なお、暗号化データEKd(MG)の送信に関しては、端末アイドル時、大容量通信利用可能時など、暗号鍵シェアSKd,iの送信タイミングとは別のタイミングで送信するようにしてもよい。 The encrypted data E Kd (M G ) may be transmitted at a timing different from the transmission timing of the encryption key share S Kd, i , such as when the terminal is idle or when large capacity communication is available. Good.
ステップW1−6;ストレージサーバ2は、鍵管理サーバ3から受け取ったユーザID及び認証情報に基づいて、端末1−iから受け取ったユーザID(UIDi)および認証情報AUTHi’を検証する。ストレージサーバ2は、端末1−iの使用者が正当なユーザであると確認できた場合に、端末1−iから受け取った端末ID(IDi)、暗号化データEKd(MG)、暗号鍵シェアSKd,i及びデータラベルLdを関連付けて記録する。さらに、該記録データに対してデータ識別子(データID)「DIDd」を割り当てて、該記録データとデータID(DIDd)を関連付ける。さらに、該記録時点の時刻TS,dを、該記録データの最終更新時刻として該記録データに追加する。
なお、データラベルとは、データの内容や形態を表す名称であり、例えばファイル名である。
Step W1-6: The
Note that the data label is a name representing the content and form of data, for example, a file name.
ステップW1−7;ストレージサーバ2は、データ保存が完了したことを伝えるために、データID(DIDd)及び最終更新時刻TS,dを含む応答(ACK)メッセージを端末1−iに送信する。
ステップW1−8;端末1−iは、ストレージサーバ2からのACKメッセージを受信すると、暗号鍵Kdと暗号鍵シェアSKd,iを消去する。さらに、ローカルデータリストに当該共有データのエントリを新規に作成し、データID(DIDd)、最終更新時刻TS,d、暗号化データEKd(MG)及びデータラベルLdを組にして格納する。但し、ストレージサーバ2から通知された最終更新時刻TS,dは、最終参照時刻(Ti,d=TS,d)として格納する。図4に端末記憶部の構成が示されている。
Step W1-7: The
Step W1-8; terminal 1-i deletes receives the ACK message from the
なお、暗号化データEKd(MG)については端末1−iで保持せず、消去するようにしてもよい。その暗号化データEKd(MG)の消去に関しては、設定ファイルなどにより、消去する/しないの設定を行うようにしてもよい。 The encrypted data E Kd (M G ) may be erased without being held in the terminal 1-i. With regard to erasure of the encrypted data E Kd (M G ), it may be set to be erased or not by a setting file or the like.
図5に、ストレージサーバ2の記憶部の構成が示されている。データを共有するグループの識別子(GID)に関連付けて、当該グループで共有されるデータレコードが記憶される。個々のデータレコードにはデータID(DID)が付与される。図6に、データレコードの構成が示されている。データレコードは、データラベル、最終更新時刻、暗号化データ、端末ID及び暗号鍵シェアを含む。端末ID及び暗号鍵シェアは、端末別のデータである。
FIG. 5 shows the configuration of the storage unit of the
図7に本実施形態に係る鍵配布図を示す。図7において、鍵管理サーバ3は、共通シェア用鍵CKGを保管する。共通シェア用鍵CKGは、外部デバイス5等を介してデータ共有グループに属するメンバの端末1−1〜Nへ配布される。端末1−i(i=1〜N)は、自己に固有のマスターシェアMSiを有する。ストレージサーバ2は、端末1−iの共通シェアCSiを保管する。さらに、ストレージサーバ2は、共有される暗号化データに関連付けて端末1−iの暗号鍵シェアSKd,iを記録する。
FIG. 7 shows a key distribution diagram according to this embodiment. 7, the
[データ参照段階]
次に、図8を参照してデータ参照段階の処理を説明する。
図8は、本実施形態に係るデータ共有処理のデータ参照段階の手順を示すシーケンスチャートである。図8において、ユーザは、端末1−jにより、ストレージサーバ2に保存されている暗号化データEKd(MG)を初めて参照するための操作を行う。
[Data reference stage]
Next, the data reference stage process will be described with reference to FIG.
FIG. 8 is a sequence chart showing the procedure of the data reference stage of the data sharing process according to the present embodiment. In FIG. 8, the user performs an operation for referring to the encrypted data E Kd (M G ) stored in the
ステップR1−0;ストレージサーバ2は、各端末1にデータリストを送信する。図9にデータリストの構成が示されている。データリストには、送信先の端末1が属するグループで共有される全てのデータレコードの情報(データラベル、データID及び最終更新時刻)が記載される。
Step R1-0: The
なお、データリストの送信タイミングは、データリストの更新時であってもよく、或いは、端末1からの要求時であってもよい。 Note that the data list transmission timing may be when the data list is updated, or when the data list is requested.
ステップR1−1;ユーザは、端末1−jを操作し、データリスト中の所望のデータラベルのデータID(DIDd)を指定してデータ参照要求を行う。端末1−jは、ユーザによるデータ参照要求に応じて、ユーザに対して認証情報の入力を促す。ユーザは、ユーザ認証用のための情報として、ユーザID(UIDj)と認証情報AUTHj’を入力する。
ステップR1−2;端末1−jは、参照対象の暗号化データEKd(MG)に関するデータID(DIDd)、端末ID(IDj)、ユーザID(UIDj)、認証情報AUTHj’をデータ要求メッセージに含めてストレージサーバ2に送信する。
Step R1-1: The user operates the terminal 1-j to designate a data ID (DID d ) of a desired data label in the data list and make a data reference request. The terminal 1-j prompts the user to input authentication information in response to a data reference request from the user. The user inputs a user ID (UID j ) and authentication information AUTH j ′ as information for user authentication.
Step R1-2: The terminal 1-j receives the data ID (DID d ), the terminal ID (ID j ), the user ID (UID j ), and the authentication information AUTHj ′ related to the encrypted data E Kd (M G ) to be referenced. It is included in the data request message and transmitted to the
ステップR1−3;ストレージサーバ2は、鍵管理サーバ3から受け取ったユーザID及び認証情報に基づいて、端末1−jから受け取ったユーザID(UIDj)および認証情報AUTHj’を検証する。
ステップR1−4;ストレージサーバ2は、端末1−jの使用者が正当なユーザであると確認できた場合に、端末1−jから受け取ったデータID(DIDd)に対応するデータレコードを参照し、端末1−jの暗号鍵シェアSKd,jがあるか調べる。ここでは、初めての参照なので、端末1−jの暗号鍵シェアSKd,jは当該データレコードに含まれていない。
Step R1-3: The
Step R1-4: The
ステップR1−5;ストレージサーバ2は、端末1−jの暗号鍵シェアSKd,jがデータレコードに含まれていないことを確認すると、当該データレコード内の任意の端末1−iの暗号鍵シェアSKd,i、該端末1−iの共通シェアCSi及び端末1−jの共通シェアCSjを取得する。そして、その取得した暗号鍵シェアSKd,i、共通シェアCSi,CSjを用いて、端末1−jの暗号鍵シェアSKd,jを生成する。暗号鍵シェアSKd,jは次式により算出する。
SKd,j=(XKd,j,YKd,j)
XKd,j=XCS,j
YKd,j=YCS,j+(Li/Lj)×(YKd,i−YCS,i)mod(2b−1)
但し、Lr=XMS,r/(XMS,r−XCS,r)mod(2b−1)、である。又、共通シェアCSi=(XCS,i,YCS,i)である。
Step R1-5: When the
S Kd, j = (X Kd, j , Y Kd, j )
X Kd, j = X CS, j
Y Kd, j = Y CS, j + (L i / L j ) × (Y Kd, i −Y CS, i ) mod (2 b −1)
However, Lr = X MS, r / (X MS, r −X CS, r ) mod (2 b −1). The common share CS i = (X CS, i , Y CS, i ).
ステップR1−6;ストレージサーバ2は、当該データレコード内の暗号化データEKd(MG)、最終更新時刻TS,d及び暗号鍵シェアSKd,jを端末1−jに送信する。又、ストレージサーバ2は、端末1−jの端末ID(IDj)及び暗号鍵シェアSKd,jを当該データレコードに追加し記録する。
Step R1-6: The
ステップR1−7;端末1−jは、ストレージサーバ2から受け取った暗号鍵シェアSKd,j及び自己のマスターシェアMSjを用いて、暗号鍵Kdを復元する。暗号鍵Kdは次式により算出する。
Kd=YMS,j×XKd,j/(XKd,j−XMS,j)+YKd,j×XMS,j/(XMS,j−XKd,j) mod(2b−1)
但し、マスターシェアMSj=(XMS,j,YMS,j)である。
ステップR1−8;端末1−jは、暗号鍵Kdを用いて暗号化データEKd(MG)を復号し、共有データMGを得る。
Step R1-7; terminal 1-j is the encryption key shares S Kd received from the storage server 2, using j and its master share MS j, to recover the encryption key K d. The encryption key Kd is calculated by the following equation.
K d = Y MS, j × X Kd, j / (X Kd, j −X MS, j ) + Y Kd, j × X MS, j / (X MS, j −X Kd, j ) mod (2 b − 1)
However, the master share MS j = (X MS, j , Y MS, j ).
Step R1-8: The terminal 1-j decrypts the encrypted data E Kd (M G ) using the encryption key K d to obtain shared data M G.
ステップR1−9;端末1−jは、データ参照後に、暗号鍵Kd、暗号鍵シェアSKd,j及び共有データMGを消去する。端末1−jは、当該共有データMGに関するローカルデータリスト中のエントリを、ストレージサーバ2から通知された最終更新時刻TS,dにより最終参照時刻(Tj,d=TS,d)として更新する。なお、暗号化データEKd(MG)の消去に関しては、設定ファイルなどにより、消去する/しないの設定を行うようにしてもよい。 Step R1-9; terminal 1-j after data referenced deletes the encryption key K d, the encryption key shares S Kd, the j and shared data M G. Terminal 1-j is the entry in the local data list related to the shared data M G, last update time notified from the storage server 2 T S, the last reference time by d (T j, d = T S, d) as Update. Note that regarding the erasure of the encrypted data E Kd (M G ), it may be set to be erased or not by a setting file or the like.
次に、図10を参照して2回目以降のデータ参照段階の処理を説明する。
図10は、本実施形態に係るデータ共有処理の2回目以降のデータ参照段階の手順を示すシーケンスチャートである。図10において、ユーザは、端末1−iにより、ストレージサーバ2に保存されている暗号化データEKd(MG)を再度参照するための操作を行う。
Next, the second and subsequent data reference stages will be described with reference to FIG.
FIG. 10 is a sequence chart showing the procedure of the data reference stage after the second time of the data sharing processing according to the present embodiment. In FIG. 10, the user performs an operation for referring again to the encrypted data E Kd (M G ) stored in the
ステップR2−0;ストレージサーバ2は、各端末1にデータリストを送信する。
ステップR2−1;ユーザは、端末1−iを操作し、データリスト中の所望のデータラベル(データID(DIDd))を指定してデータ参照要求を行う。端末1−iは、ユーザによるデータ参照要求に応じて、ユーザに対して認証情報の入力を促す。ユーザは、ユーザ認証用のための情報として、ユーザID(UIDj)と認証情報AUTHj’を入力する。
ステップR2−2;端末1−iは、参照対象の暗号化データEKd(MG)に関するデータID(DIDd)、端末ID(IDi)、ユーザID(UIDi)、認証情報AUTHi’をデータ要求メッセージに含めてストレージサーバ2に送信する。
Step R2-0: The
Step R2-1: The user operates the terminal 1-i to make a data reference request by designating a desired data label (data ID (DID d )) in the data list. The terminal 1-i prompts the user to input authentication information in response to a data reference request from the user. The user inputs a user ID (UID j ) and authentication information AUTH j ′ as information for user authentication.
Step R2-2: The terminal 1-i receives the data ID (DID d ), terminal ID (ID i ), user ID (UID i ), and authentication information AUTHi ′ related to the encrypted data E Kd (M G ) to be referenced. It is included in the data request message and transmitted to the
ステップR2−3;ストレージサーバ2は、鍵管理サーバ3から受け取ったユーザID及び認証情報に基づいて、端末1−iから受け取ったユーザID(UIDi)および認証情報AUTHi’を検証する。
ステップR2−4;ストレージサーバ2は、端末1−iの使用者が正当なユーザであると確認できた場合に、端末1−iから受け取ったデータID(DIDd)に対応するデータレコードを参照し、端末1−iの暗号鍵シェアSKd,iがあるか調べる。ここでは、2回目以降の参照なので、端末1−iの暗号鍵シェアSKd,iは当該データレコードに含まれている。
Step R2-3: The
Step R2-4: The
ステップR2−5;ストレージサーバ2は、端末1−iの暗号鍵シェアSKd,iがデータレコードに含まれていることを確認すると、当該データレコードから端末1−iの暗号鍵シェアSKd,i、暗号化データEKd(MG)及び最終更新時刻TS,dを取得する。そして、その取得した暗号鍵シェアSKd,i、暗号化データEKd(MG)及び最終更新時刻TS,dを端末1−iに送信する。
Step R2-5: When the
ステップR2−6;端末1−iは、ストレージサーバ2から受け取った暗号鍵シェアSKd,i及び自己のマスターシェアMSiを用いて、暗号鍵Kdを復元する。暗号鍵Kdは次式により算出する。
Kd=YMS,i×XKd,i/(XKd,i−XMS,i)+YKd,i×XMS,i/(XMS,i−XKd,i) mod(2b−1)
但し、マスターシェアMSi=(XMS,i,YMS,i)である。
ステップR2−7;端末1−iは、暗号鍵Kdを用いて暗号化データEKd(MG)を復号し、共有データMGを得る。
Step R2-6; terminal 1-i is the encryption key shares S Kd received from the storage server 2, using a i and its master share MS i, to recover the encryption key K d. The encryption key Kd is calculated by the following equation.
K d = Y MS, i × X Kd, i / (X Kd, i −X MS, i ) + Y Kd, i × X MS, i / (X MS, i −X Kd, i ) mod (2 b − 1)
However, the master share MS i = (X MS, i , Y MS, i ).
Step R2-7: The terminal 1-i decrypts the encrypted data E Kd (M G ) using the encryption key K d to obtain shared data M G.
ステップR2−8;端末1−iは、データ参照後に、暗号鍵Kd、暗号鍵シェアSKd,i及び共有データMGを消去する。端末1−iは、当該共有データMGに関するローカルデータリスト中のエントリを、ストレージサーバ2から通知された最終更新時刻TS,dにより最終参照時刻(Ti,d=TS,d)として更新する。なお、暗号化データEKd(MG)の消去に関しては、設定ファイルなどにより、消去する/しないの設定を行うようにしてもよい。 Step R2-8; terminal 1-i after data referenced deletes the encryption key K d, the encryption key shares S Kd, i and shared data M G. Terminal 1-i is an entry in the local data list related to the shared data M G, last update time notified from the storage server 2 T S, the last reference time by d (T i, d = T S, d) as Update. Note that regarding the erasure of the encrypted data E Kd (M G ), it may be set to be erased or not by a setting file or the like.
[データ更新段階]
次に、図11を参照してデータ更新段階の処理を説明する。
図11は、本実施形態に係るデータ共有処理のデータ更新段階の手順を示すシーケンスチャートである。図11において、ユーザは、端末1−jにより、ストレージサーバ2に保存されている暗号化データEKd(MG)を更新するための操作を行う。
[Data update stage]
Next, processing in the data update stage will be described with reference to FIG.
FIG. 11 is a sequence chart showing the procedure of the data update stage of the data sharing process according to the present embodiment. In FIG. 11, the user performs an operation for updating the encrypted data E Kd (M G ) stored in the
ステップW2−1;ユーザは、端末1−jを操作し、更新対象のデータラベル(データID(DIDd))を指定して共有データMG2を生成する。
ステップW2−2;端末1−jは、暗号鍵Kd2をランダムに生成し、暗号鍵Kd2を用いて共通鍵暗号方式により共有データMG2を暗号化し、暗号化データEKd2(MG2)を生成する。暗号化後、共有データMG2を消去する。
Step W2-1: The user operates the terminal 1-j to specify the data label to be updated (data ID (DID d )) and generate the shared data M G2 .
Step W2-2; terminal 1-j is the encryption key K d2 generated at random, it encrypts the shared data M G2 by a common key encryption method using an encryption key K d2, encrypted data E Kd2 (M G2) Is generated. After encryption, the shared data MG2 is deleted.
ステップW2−3;端末1−jは、マスターシェアMSjを用いて暗号鍵シェアSKd2,jを生成する。暗号鍵シェアSKd2,jは次式により算出する。
SKd2,j=(XKd2,j,YKd2,j)
XKd2,j=XCS,j
YKd2,j=gd2(XKd2,j)
但し、gd2(x)は「gd2(x)={(YMS,j−Kd2)/XMS,j}×x+Kd2 mod(2b−1)」となる多項式である。
Step W2-3: The terminal 1-j generates an encryption key share S Kd2, j using the master share MS j . The encryption key share S Kd2, j is calculated by the following equation.
S Kd2, j = (X Kd2, j , Y Kd2, j )
X Kd2, j = X CS, j
Y Kd2, j = g d2 (X Kd2, j )
However, g d2 (x) is a polynomial that becomes “g d2 (x) = {(Y MS, j −K d2 ) / X MS, j } × x + K d2 mod (2 b −1)”.
ステップW2−4;端末1−jは、ユーザに対して認証情報の入力を促す。ユーザは、ユーザ認証用のための情報として、ユーザID(UIDj)と認証情報AUTHj’を入力する。
ステップW2−5;端末1−jは、更新対象のデータID(DIDd)、端末ID(IDj)、ユーザID(UIDj)、認証情報AUTHj’、暗号化データEKd2(MG2)、暗号鍵シェアSKd2,j及びデータラベルLd2をストレージサーバ2に送信し、データ更新を要求する。
Step W2-4: The terminal 1-j prompts the user to input authentication information. The user inputs a user ID (UID j ) and authentication information AUTH j ′ as information for user authentication.
Step W2-5; the terminal 1-j updates the data ID (DID d ), terminal ID (ID j ), user ID (UID j ), authentication information AUTHj ′, encrypted data E Kd2 (M G2 ), The encryption key share S Kd2, j and the data label L d2 are transmitted to the
ステップW2−6;ストレージサーバ2は、鍵管理サーバ3から受け取ったユーザID及び認証情報に基づいて、端末1−jから受け取ったユーザID(UIDj)および認証情報AUTHj’を検証する。ストレージサーバ2は、端末1−jの使用者が正当なユーザであると確認できた場合に、更新対象のデータID(DIDd)のデータレコードを書き換える。このデータレコード書き換えでは、データラベル、暗号化データをそれぞれデータラベルLd2、暗号化データEKd2(MG2)に書き換える。さらに、端末ID(IDj)の暗号鍵シェアを暗号鍵シェアSKd2,jに書き換える。さらに、最終更新時刻を現在時刻TS,d2に書き換える。
Step W2-6: The
ステップW2−7;ストレージサーバ2は、データ更新が完了したことを伝えるために、データID(DIDd)及び最終更新時刻TS,d2を含む応答(ACK)メッセージを端末1−jに送信する。
ステップW2−8;端末1−jは、ストレージサーバ2からのACKメッセージを受信すると、暗号鍵Kd2と暗号鍵シェアSKd2,jを消去する。さらに、ローカルデータリスト中の当該共有データのエントリを、最終参照時刻(Ti,d=TS,d2)、暗号化データEKd2(MG2)及びデータラベルLd2で書き換える。
Step W2-7: The
Step W2-8; terminal 1-j receives the ACK message from the
ステップW2−9;ストレージサーバ2は、端末1−j以外の他の端末1−iに関し、更新対象のデータID(DIDd)のデータレコードに更新前の暗号鍵Kdに対応する暗号鍵シェアSKd,iがある場合、該暗号鍵シェアを更新後の暗号鍵Kd2に対応する暗号鍵シェアSKd2,iに更新する。暗号鍵シェアSKd2,iは次式により算出する。
SKd2,i=(XKd2,i,YKd2,i)
XKd2,i=XCS,i
YKd2,i=YCS,i+(Lj/Li)×(YKd2,j−YCS,j)mod(2b−1)
但し、Lr=XMS,r/(XMS,r−XCS,r)mod(2b−1)、である。
Step W2-9;
S Kd2, i = (X Kd2, i , Y Kd2, i )
X Kd2, i = X CS, i
Y Kd2, i = Y CS, i + (L j / L i ) × (Y Kd2, j −Y CS, j ) mod (2 b −1)
However, Lr = X MS, r / (X MS, r −X CS, r ) mod (2 b −1).
なお、端末1−j以外の他の端末1−iの暗号鍵シェアの更新は、他の端末1−iが当該データレコードへのアクセスを要求した際に行うようにしてもよい。この場合、当該データレコードに、暗号鍵シェアの更新状況(未更新/更新済)を示す情報を含めておく。 The update of the encryption key share of the terminal 1-i other than the terminal 1-j may be performed when the other terminal 1-i requests access to the data record. In this case, information indicating the update status (unupdated / updated) of the encryption key share is included in the data record.
[環境移行段階]
次に、図12を参照して環境移行段階の処理を説明する。
図12は、本実施形態に係るデータ共有処理の環境移行段階の手順を示すシーケンスチャートである。環境移行段階は、ユーザが端末を紛失等した場合に、該端末の環境を他の端末に移行するためのものである。図12において、ユーザは、端末1−iの環境を他の端末1−i’に移行する。端末1−i’の端末IDはIDi'である。
[Environmental transition stage]
Next, processing in the environment transition stage will be described with reference to FIG.
FIG. 12 is a sequence chart showing the procedure of the environment transition stage of the data sharing process according to the present embodiment. The environment transition stage is for shifting the environment of the terminal to another terminal when the user loses the terminal or the like. In FIG. 12, the user shifts the environment of the terminal 1-i to another terminal 1-i ′. The terminal ID of the terminal 1-i ′ is ID i ′ .
ステップRE1−1;ユーザは、端末1−i’を操作し、端末1−iの環境を端末1−i’に移行することを鍵管理サーバ3に通知する。なお、この環境移行通知はオフラインで行ってもよい。
ステップRE1−2;鍵管理サーバ3は、端末1−i’に対して、端末1−iが属するグループ用の共通シェア用鍵CKGを配布する。この共通シェア用鍵CKGの配布は、セキュリティの確保された通信路を介して配布してもよいし、或いは、外部デバイス5を介して配布してもよい。さらに、鍵管理サーバ3は、端末1−iが当該グループに所属のメンバの端末として失効したことをストレージサーバ2に通知する。
Step RE1-1: The user operates the terminal 1-i ′ to notify the
Step RE1-2;
ステップRE1−3;ストレージサーバ2は、端末1−iに関するデータ(暗号鍵シェア等)を全て消去する。
ステップRE1−4;端末1−i’は、マスターシェアMSi'をランダムに生成する。マスターシェアMSi'は次式により算出する。
MSi'=(XMS,i',YMS,i')
XMS,i'=h(IDi')
但し、hはハッシュ関数である。YMS,i'はランダムに生成する。ここで、XMS,i'及びYMS,i'の絶対値は、共通鍵暗号方式の鍵長b以下である。
Step RE1-3: The
Step RE1-4: The terminal 1-i ′ generates a master share MS i ′ at random. The master share MS i ′ is calculated by the following formula.
MS i ' = (X MS, i' , Y MS, i ' )
X MS, i ' = h (ID i' )
Here, h is a hash function. Y MS, i ′ is randomly generated. Here, the absolute values of X MS, i ′ and Y MS, i ′ are less than or equal to the key length b of the common key cryptosystem.
ステップRE1−5;端末1−i’は、共通シェア用鍵CKGとマスターシェアMSi'から、共通シェアCSi'を生成する。共通シェアCSi'は次式により算出する。
CSi'=(XCS,i',YCS,i')
XCS,i'=h(IDi'||r1)
YCS,i'=fi'(XCS,i')
但し、「IDi'||r1」はIDi'とr1の連結データである。r1は乱数である。fi'(x)は「fi'(x)={(YMS,i'−CKG)/XMS,i'}×x+CKG mod(2b−1)」となる多項式である。
Step RE1-5; terminal 1-i ', the key CK G and the master share MS i for the common share' from generates a common share CS i '. The common share CS i ′ is calculated by the following formula.
CS i ' = (X CS, i' , Y CS, i ' )
X CS, i ' = h (ID i' || r 1 )
Y CS, i ' = f i' (X CS, i ' )
However, “ID i ′ || r 1 ” is concatenated data of ID i ′ and r 1 . r 1 is a random number. f i ′ (x) is a polynomial that becomes “f i ′ (x) = {(Y MS, i ′ −CK G ) / X MS, i ′ } × x + CK G mod (2 b −1)”.
ステップRE1−6;端末1−i’は、ユーザに対して認証情報の入力を促す。ユーザは、ユーザ認証用のための情報として、ユーザID(UIDi)と認証情報AUTHi’を入力する。
ステップRE1−7;端末1−i’は、端末ID(IDi')、ユーザID(UIDi)、認証情報AUTHi’及び共通シェアCSi'をストレージサーバ2に送信する。
Step RE1-6: The terminal 1-i ′ prompts the user to input authentication information. The user inputs a user ID (UID i ) and authentication information AUTH i ′ as information for user authentication.
Step RE1-7: The terminal 1-i ′ transmits the terminal ID (ID i ′ ), the user ID (UID i ), the authentication information AUTHi ′, and the common share CS i ′ to the
ステップRE1−8;ストレージサーバ2は、鍵管理サーバ3から受け取ったユーザID及び認証情報に基づいて、端末1−i’から受け取ったユーザID(UIDi)および認証情報AUTHi’を検証する。ストレージサーバ2は、端末1−i’の使用者が正当なユーザであると確認できた場合に、端末1−i’から受け取った端末ID(IDi')及び共通シェアCSi'を関連付けて記録する。
Step RE1-8: The
ステップRE1−9;端末1−i’は、共通シェア用鍵CKG及び共通シェアCSi'を消去する。なお、共通シェア用鍵CKGが外部デバイス5を介して配布された場合は、外部デバイス5内の共通シェア用鍵CKGも消去する。
端末1−i’は、端末ID(IDi')とマスターシェアMSi'を保持する。
Step RE1-9; terminal 1-i 'is the common share key CK G and the common share CS i' to erase. Incidentally, if the common share key CK G is distributed via the
The terminal 1-i ′ holds a terminal ID (ID i ′ ) and a master share MS i ′ .
以上が本実施形態に係るデータ共有システムの動作の説明である。 The above is the description of the operation of the data sharing system according to the present embodiment.
上述した実施形態によれば、以下に示すような効果が得られる。
(1)共有データの暗号化に使用している暗号鍵は、ストレージサーバで保管される暗号鍵シェアが無いと復元できないので、盗難、紛失などにより端末がグループメンバ以外の者の手に渡ったとしても、共有データの漏洩を防ぐ効果が得られる。又、同じグループに属する複数のメンバの端末がグループメンバ以外の者の手に渡ったとしても、同様に暗号鍵の復元を行うことができないので、共有データの安全性確保に貢献することができる。又、ストレージサーバで保管される共通シェア及び暗号鍵シェアがたとえ漏洩したとしても、端末で保持される端末固有のマスターシェアが無いと暗号鍵を復元できないので、共有データの安全性確保に貢献することができる。
According to the embodiment described above, the following effects can be obtained.
(1) Since the encryption key used for encryption of shared data cannot be restored without the encryption key share stored in the storage server, the terminal was handed over to someone other than the group member due to theft or loss. However, the effect of preventing the leakage of shared data can be obtained. In addition, even if the terminals of a plurality of members belonging to the same group reach the hands of persons other than the group members, the encryption key cannot be restored in the same manner, which can contribute to ensuring the safety of the shared data. . In addition, even if the common share and encryption key share stored in the storage server are leaked, the encryption key cannot be restored without the terminal-specific master share held in the terminal, which contributes to ensuring the safety of the shared data. be able to.
(2)公開鍵暗号方式を利用せずに、(2,2)しきい値秘密分散法と共通鍵暗号方式のみで実現できるため、データ共有システム全体の処理負荷を軽減することができる。また、グループ内データ共有機能を容易に実現することが可能になる。 (2) Since it can be realized only by the (2, 2) threshold secret sharing method and the common key encryption method without using the public key encryption method, the processing load of the entire data sharing system can be reduced. In addition, the intra-group data sharing function can be easily realized.
なお、(k,n)しきい値秘密分散法とは、秘密分散法の一種であり、秘密情報をn個の分割情報(シェア)に分割してそれぞれ保管し、その内のk個以上の分割情報を入手することができれば、元の秘密情報を復元することができるものである。秘密分散法とは、秘密情報を数人で分散して保管することで、元の秘密情報を安全に保管する方法である。 Note that the (k, n) threshold secret sharing method is a kind of secret sharing method, which divides secret information into n pieces of divided information (shares) and stores each of them in k pieces or more. If the division information can be obtained, the original secret information can be restored. The secret sharing method is a method for securely storing original secret information by distributing and storing secret information by several people.
なお、図2、3、8、10〜12に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、データ共有処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
In addition, the program for realizing each step shown in FIGS. 2, 3, 8, 10 to 12 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. By doing so, data sharing processing may be performed. Here, the “computer system” may include an OS and hardware such as peripheral devices.
“Computer-readable recording medium” refers to a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disk), and a built-in computer system. A storage device such as a hard disk.
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Further, the “computer-readable recording medium” means a volatile memory (for example, DRAM (Dynamic DRAM) in a computer system that becomes a server or a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. Random Access Memory)), etc., which hold programs for a certain period of time.
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。 As mentioned above, although embodiment of this invention was explained in full detail with reference to drawings, the specific structure is not restricted to this embodiment, The design change etc. of the range which does not deviate from the summary of this invention are included.
1…グループメンバ端末(端末装置)、2…ストレージサーバ(データ管理装置)、3…鍵管理サーバ、4…通信ネットワーク、5…外部デバイス
DESCRIPTION OF
Claims (10)
前記グループ内で共通の共通シェア用鍵と自端末固有のマスターシェアとから共通シェアを生成し、該共通シェア及び自己の端末識別子を前記データ管理装置に送り登録要求する端末登録手段と、
暗号鍵を用いて共通鍵暗号方式により共有データを暗号化し、該暗号鍵と前記マスターシェアとから暗号鍵シェアを生成し、該暗号化データ、暗号鍵シェア及び自己の端末識別子を前記データ管理装置に送り保存要求するデータ保存手段と、
前記データ管理装置から暗号化データ及び自己用の暗号鍵シェアを取得し、該暗号鍵シェア及び前記マスターシェアを用いて暗号鍵を復元し、該暗号鍵を用いて前記データ管理装置から取得した暗号化データを復号するデータ参照手段と、
を備えたことを特徴とする端末装置。 The terminal device in a data sharing system having a terminal device of a member belonging to a group sharing data between members and a data management device connected to the terminal device via a communication line,
A terminal registration unit that generates a common share from a common share key that is common within the group and a master share that is unique to the terminal, sends the common share and the terminal identifier of the terminal to the data management device, and requests registration.
The shared data is encrypted by a common key cryptosystem using an encryption key, an encryption key share is generated from the encryption key and the master share, and the encrypted data, the encryption key share, and its own terminal identifier are stored in the data management device. Data storage means for sending and requesting storage;
Obtaining encrypted data and a self-use encryption key share from the data management device, restoring the encryption key using the encryption key share and the master share, and obtaining the encryption from the data management device using the encryption key Data reference means for decoding the encrypted data;
A terminal device comprising:
端末装置から登録要求された共通シェア及び端末識別子を関連付けて記録する端末登録手段と、
端末装置から保存要求された暗号化データ、暗号鍵シェア及び端末識別子に関し、暗号化データに対して暗号鍵シェアと端末識別子の組を関連付けて記録するデータ保存手段と、
前記端末装置から参照要求された前記データ保存手段に格納される暗号化データと、該要求元の端末装置用の暗号鍵シェアとを該要求元の端末装置に送るデータ参照手段と、を備え、
前記データ参照手段は、データ参照要求元の端末装置用の暗号鍵シェアが参照対象の暗号化データに関連付けて記録されていない場合、参照対象の暗号化データに関連付けて記録されている任意の端末装置用の暗号鍵シェア及び該端末装置の共通シェア、並びにデータ参照要求元の端末装置の共通シェアから、データ参照要求元の端末装置用の暗号鍵シェアを生成し、該データ参照要求元の端末装置用の暗号鍵シェアを参照対象の暗号化データに関連付けて記録する、
ことを特徴とするデータ管理装置。 The data management device in a data sharing system comprising: a terminal device of a member belonging to a group that shares data between members; and a data management device connected to the terminal device via a communication line;
A terminal registration means for recording the common share and the terminal identifier requested to be registered from the terminal device in association with each other;
Data storage means for recording the encryption data, encryption key share, and terminal identifier requested to be stored from the terminal device in association with the encrypted data and a pair of the terminal identifier and the encrypted data;
Data reference means for sending the encrypted data stored in the data storage means requested to be referred to from the terminal device and the encryption key share for the requesting terminal device to the requesting terminal device ;
If the encryption key share for the terminal device that is the data reference request is not recorded in association with the reference target encrypted data, the data reference means is an arbitrary terminal recorded in association with the reference target encrypted data Generating an encryption key share for the terminal device of the data reference request source from the encryption key share for the device, the common share of the terminal device, and the common share of the terminal device of the data reference request source, and the terminal of the data reference request source Record the device's encryption key share in association with the reference encryption data.
A data management apparatus characterized by that.
前記グループ内で共通の共通シェア用鍵と自端末固有のマスターシェアとから共通シェアを生成し、該共通シェア及び自己の端末識別子を前記データ管理装置に送り登録要求する端末登録機能と、
暗号鍵を用いて共通鍵暗号方式により共有データを暗号化し、該暗号鍵と前記マスターシェアとから暗号鍵シェアを生成し、該暗号化データ、暗号鍵シェア及び自己の端末識別子を前記データ管理装置に送り保存要求するデータ保存機能と、
前記データ管理装置から暗号化データ及び自己用の暗号鍵シェアを取得し、該暗号鍵シェア及び前記マスターシェアを用いて暗号鍵を復元し、該暗号鍵を用いて前記データ管理装置から取得した暗号化データを復号するデータ参照機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。 A computer for performing data sharing processing in a terminal device of a data sharing system having a terminal device of a member belonging to a group sharing data between members and a data management device connected to the terminal device via a communication line A program,
A terminal registration function for generating a common share from a common share key common within the group and a master share unique to the terminal, sending the common share and the terminal identifier of the terminal to the data management device, and requesting registration,
The shared data is encrypted by a common key cryptosystem using an encryption key, an encryption key share is generated from the encryption key and the master share, and the encrypted data, the encryption key share, and its own terminal identifier are stored in the data management device. A data storage function to send and request storage,
Obtaining encrypted data and a self-use encryption key share from the data management device, restoring the encryption key using the encryption key share and the master share, and obtaining the encryption from the data management device using the encryption key A data reference function for decrypting encrypted data;
A computer program for causing a computer to realize the above.
端末装置から登録要求された共通シェア及び端末識別子を関連付けて記録する端末登録機能と、
端末装置から保存要求された暗号化データ、暗号鍵シェア及び端末識別子に関し、暗号化データに対して暗号鍵シェアと端末識別子の組を関連付けて記録するデータ保存機能と、
前記端末装置から参照要求された前記データ保存機能に格納される暗号化データと、該要求元の端末装置用の暗号鍵シェアとを該要求元の端末装置に送るデータ参照機能と、をコンピュータに実現させるためのコンピュータプログラムであり、
前記データ参照機能は、データ参照要求元の端末装置用の暗号鍵シェアが参照対象の暗号化データに関連付けて記録されていない場合、参照対象の暗号化データに関連付けて記録されている任意の端末装置用の暗号鍵シェア及び該端末装置の共通シェア、並びにデータ参照要求元の端末装置の共通シェアから、データ参照要求元の端末装置用の暗号鍵シェアを生成し、該データ参照要求元の端末装置用の暗号鍵シェアを参照対象の暗号化データに関連付けて記録する、
ことを特徴とするコンピュータプログラム。 Data sharing processing in the data management device of a data sharing system having a terminal device of a member belonging to a group sharing data between members and a data management device connected to the terminal device via a communication line A computer program,
A terminal registration function that records the common share and the terminal identifier requested to be registered from the terminal device;
A data storage function for recording the encryption data, the encryption key share, and the terminal identifier that are requested to be stored from the terminal device, by associating the encryption data with a set of the encryption key share and the terminal identifier
A data reference function for sending to the computer the encrypted data stored in the data storage function requested by the terminal device and the encryption key share for the requesting terminal device to the requesting terminal device. A computer program for realizing,
If the encryption key share for the terminal device that is the data reference request source is not recorded in association with the reference target encrypted data, the data reference function is any terminal that is recorded in association with the reference target encrypted data. Generating an encryption key share for the terminal device of the data reference request source from the encryption key share for the device, the common share of the terminal device, and the common share of the terminal device of the data reference request source, and the terminal of the data reference request source Record the device's encryption key share in association with the reference encryption data.
A computer program characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007341082A JP5014977B2 (en) | 2007-12-28 | 2007-12-28 | Terminal device, data management device, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007341082A JP5014977B2 (en) | 2007-12-28 | 2007-12-28 | Terminal device, data management device, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009163415A JP2009163415A (en) | 2009-07-23 |
JP5014977B2 true JP5014977B2 (en) | 2012-08-29 |
Family
ID=40965977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007341082A Expired - Fee Related JP5014977B2 (en) | 2007-12-28 | 2007-12-28 | Terminal device, data management device, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5014977B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244513B (en) * | 2021-12-31 | 2024-02-09 | 日晷科技(上海)有限公司 | Key negotiation method, device and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3587045B2 (en) * | 1998-02-04 | 2004-11-10 | 三菱電機株式会社 | Authentication management device and authentication management system |
JP3662828B2 (en) * | 2000-10-04 | 2005-06-22 | 北陸日本電気ソフトウェア株式会社 | File encryption system |
JP2002198947A (en) * | 2000-12-26 | 2002-07-12 | Mitsubishi Materials Corp | Information reserving server, information reserving method, and recording medium |
JP2004234344A (en) * | 2003-01-30 | 2004-08-19 | Kddi Corp | Database access system |
-
2007
- 2007-12-28 JP JP2007341082A patent/JP5014977B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009163415A (en) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yan et al. | Heterogeneous data storage management with deduplication in cloud computing | |
CN102546176B (en) | DNS security is supported in multiagent environment | |
CN110704860A (en) | Longitudinal federal learning method, device and system for improving safety and storage medium | |
CN113346998B (en) | Key updating and file sharing method, device, equipment and computer storage medium | |
CN102571329B (en) | Password key management | |
US20110320815A1 (en) | Key Sharing System, Communication Terminal, Management Device, Key Sharing Method, and Computer Program | |
JP6404481B2 (en) | Method and apparatus for managing heterogeneous data storage in cloud computing | |
CN101019368A (en) | Method of delivering direct proof private keys to devices using a distribution CD | |
WO2014034018A1 (en) | Re-encryption system, re-encryption method and re-encryption program | |
CN113098849A (en) | Access control method based on attribute and identity encryption, terminal and storage medium | |
JP2018148434A (en) | Key generation device and key generation method | |
CN110417547B (en) | Secret key updating method and system for secret communication based on certificateless cryptography | |
JPWO2018016330A1 (en) | Communication terminal, server device, program | |
CN114679340A (en) | File sharing method, system, device and readable storage medium | |
US20240086562A1 (en) | User data management method and related device | |
JP2024025805A (en) | Storage system download terminal, key terminal, and storage server processing encrypted file while keeping private key hidden in key terminal | |
JP6294882B2 (en) | Key storage device, key storage method, and program thereof | |
JP2006279269A (en) | Information management device, information management system, network system, user terminal, and their programs | |
JP5103095B2 (en) | Key generation device, terminal device, storage server, and computer program | |
JP5014977B2 (en) | Terminal device, data management device, and computer program | |
CN108495309B (en) | Information processing method, electronic device, and storage medium | |
CN113824713B (en) | Key generation method, system and storage medium | |
JP2019121999A (en) | Data sharing method, data sharing system, communication terminal, data sharing server, and program | |
JP5046852B2 (en) | Key generation device, terminal device, storage server, and computer program | |
KR102512871B1 (en) | Centralized private key management method for multiple user devices related to a single public key |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120501 |
|
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: 20120522 |
|
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: 20120606 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 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 |