JP5889177B2 - データベースシステム及びその更新方法 - Google Patents

データベースシステム及びその更新方法 Download PDF

Info

Publication number
JP5889177B2
JP5889177B2 JP2012280799A JP2012280799A JP5889177B2 JP 5889177 B2 JP5889177 B2 JP 5889177B2 JP 2012280799 A JP2012280799 A JP 2012280799A JP 2012280799 A JP2012280799 A JP 2012280799A JP 5889177 B2 JP5889177 B2 JP 5889177B2
Authority
JP
Japan
Prior art keywords
value
encrypted
database
exclusive
query
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
JP2012280799A
Other languages
English (en)
Other versions
JP2014126577A (ja
Inventor
健 長沼
健 長沼
康広 藤井
康広 藤井
尚宜 佐藤
尚宜 佐藤
雅之 吉野
雅之 吉野
進 芹田
進 芹田
原田 邦彦
邦彦 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012280799A priority Critical patent/JP5889177B2/ja
Publication of JP2014126577A publication Critical patent/JP2014126577A/ja
Application granted granted Critical
Publication of JP5889177B2 publication Critical patent/JP5889177B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データベース内の各データ(value)に対して一意の識別子(key)を割り当て、保管、管理、更新処理を行うKVS(key−value store)データベースシステムに関する。
近年、サービス業者のデータベースサーバ上でデータの預託・管理を行うクラウドサービスが爆発的な普及をみせている。このようなクラウドサービスの利点として、データ預託者、つまりクラウドユーザは、自身でサーバの管理・運用を行う必要がなく、また自身の需要に応じて柔軟にサーバリソースを増減可能なことがあげられる。しかし、このような利点はあるものの、ユーザがサービス業者にデータを預託する際、預託するデータをどのように保護するかが課題となる。
データを保護する方法として、データ預託者であるユーザがデータをサービス業者のデータベースサーバに格納する際に暗号化する。例えば、KVSシステムにおいては、ユーザがvalueを暗号化し、keyと対応付けて保管することで、クラウド上のデータベースにあるデータ(暗号化したvalue)を保護できる。このとき、valueが暗号化されているため、データベース側では、格納しているデータ(暗号化したvalue)に対する処理が行えない。
KVSにおける代表的な処理関数として、get,put,remove,replaceの4つのユーザ定義関数がある。この中でget,put,removeは、データベース側はkeyの値を知れば処理を実行できるため、valueが暗号化されていても問題はない。しかし、replace関数は、古いvalue(先に格納したものとして、ユーザが保存しているvalue)の値と実際に格納されているvalueの値が一致した場合に、格納されているvalueを新しいvalueの値に更新するため、valueの一致をデータベース側で判断する必要がある。通常の確率的暗号方式では、同じデータを異なるタイミングで暗号化すると、異なる暗号文が出力されるため、古いvalueの値と保管されているvalueの値の一致を、暗号文を復号しなければデータベース側では判定できない。
特許文献1では、データの暗号化に用いる秘密鍵をデータベースに渡し、処理を行う際にはデータベース上で復号を行う方法が述べられている。これによってデータベース内のデータは暗号化されているため、データ漏えいや外部からのハッキングに対してデータを保護している。
特表2007−500912号公報
確率的暗号方式で暗号化されたvalueに対する一致、不一致を判定するデータベース側の課題に対して、暗号方式に決定的な(確率的でない)方式を利用することが考えられる。しかし、当然のことながら、決定的な暗号方式は確率的な暗号方式に対して安全性が低く、例えば、頻度分析攻撃などを受け易い。
他に、ユーザがアクセスしている間、ユーザとデータベースの間にセッションを張る方法が考えられる。セッションを張り、更新処理に必要なデータをユーザがダウンロードし、ユーザ側で復号し、ユーザが更新する。しかし、更新処理中は張ったセッションを継続し、他のユーザからの処理をブロックするため、他のユーザに処理待ち時間が発生し、全体としてデータベースのスループットが低下する。
特許文献1に記載された方式では、秘密鍵をデータベース側に預託するため、データベース管理者がユーザの意思に反しデータを復号化し、閲覧できる。第3者であるサービス業者のデータベースにデータを格納するクラウドシステムでは、データベース管理者からの不正アクセスの可能性があるので、データベース側に秘密鍵を渡さずに処理を行う必要がある。
開示するKVSデータベースシステムは、データベースを有するデータベースサーバとネットワークを介して接続するデータ端末を含む。データ端末は、Valueのデータベースへの格納時に、秘密鍵を生成し、秘密鍵を用いてValueを暗号化し、暗号化したValueと第1の乱数との排他的論理和をとって第1の排他的論理和結果を得、第1の乱数を第1の排他的論理和結果と併せた暗号化ValueにValueを識別するkeyを付して送信し、データベースに格納されている暗号化したValueの新たなValueへの更新時に、秘密鍵を用いて新たなValueを暗号化し、暗号化した新たなValueと第2の乱数との排他的論理和をとって第2の排他的論理和結果を得、暗号化したValueと、第2の乱数に第2の排他的論理和結果を併せた暗号化新たなValueとに、Valueを識別するkeyを付した暗号化クエリを送信する。データベースサーバは、データ端末からのkeyと暗号化Valueの受信に応答して、keyと暗号化Valueとを対応付けてデータベースに格納し、データ端末からの暗号化クエリの受信に応答して、暗号化クエリに含まれるkeyに対応付けて格納されている暗号化Valueをデータベースから検索し、検索した暗号化Valueに含まれる第1の排他的論理和結果と暗号化クエリに含まれる暗号化したValueとの第3の排他的論理和結果を得、第3の排他的論理和結果が検索した暗号化Valueに含まれる第1の乱数に一致するとき、データベースに格納されている暗号化Valueを、暗号化クエリに含まれる暗号化新たなValueに更新する。
本発明によるKVSシステムにおいては、ユーザは秘密鍵をデータベース側に渡すことなく更新処理(replace関数)が実行可能となる。
セキュアKVSシステムの概略図である。 ユーザ端末の構成図である。 データベースサーバの構成図である。 valueが平文の場合のKVSシステムで用いるデータである。 データベースに格納されるkey−valueのペアのvalueが暗号化されている場合を示す図である。 データベースサーバによるreplace関数の実行の様子を示す図である。 暗号化アルゴリズムの一例を示す図である。 クエリ生成アルゴリズムの一例を示す図である。 マッチングアルゴリズムの一例と、マッチングしたときの暗号化Valueの置換を示す図である。 暗号化key−valueデータをデータベースに格納する処理フローである。 暗号化クエリに応答して、replace処理を実行する処理フローである。
以下、本発明の一実施形態を図面に基づいて詳細に説明する。
図1は、KVSデータベースシステムの概略図である。図示するように、本システムは、ユーザ端末200とデータベースサーバ300とを備え、ユーザ端末200とデータベースサーバ300はネットワーク100を介して相互にデータを送受信する。
図2は、ユーザ端末200の構成図である。図示するように、ユーザ端末200は、CPU201と、補助記憶装置202と、メモリ203と、表示装置205と、入出力インターフェース206と、通信装置207とが内部信号線204で接続し、構成される。また、補助記憶装置202にはプログラムコードが格納されている。プログラムコードは、メモリ203にロードされCPU201によって実行される。通信装置207は、ネットワーク100を介してデータベースサーバ300とデータを送受信する。
図3は、データベースサーバ300の構成図である。図示するように、データベースサーバ300は、CPU301と、補助記憶装置302と、メモリ303と、表示装置305と、入出力インターフェース306と、通信装置307とが内部信号線304で接続し、構成される。また、補助記憶装置302には、プログラムコードおよび、データ(value)と各データに対して一意の識別子(key)を割り当てた、key−valueのペアが格納される。このkey−valueのペアを格納する領域が、KVSデータベース(以下、データベース)である。プログラムコードは、補助記憶装置302からメモリ303にロードされCPU301によって実行される。key−valueのペアが格納される領域がデータベースである。通信装置307は、ネットワーク100を介してユーザ端末200とデータを送受信する。
後の説明を分かりやすくするために、データベースに格納されるkey−valueのペアのvalueが平文の場合のreplace関数の実行について説明する。Valueは、以下の説明から明らかなように、所定のデータ単位の値である。
図4は、valueが平文の場合のKVS(key−value store)システムで用いるデータを示す。図4(a)が、ユーザがユーザ端末200からデータベースサーバ300へ送信し、データベースに格納されるデータD100である。データD100は、KeyD101とValueD102のペアである。図4(b)が、データベースに格納されているValueを新たなValueに更新するために、ユーザがユーザ端末200からデータベースサーバ300に送信するクエリD110である。クエリD110は、データベースサーバ300にreplace関数を実行させるための要求データであり、KeyD101、更新されるべきOld ValueD103(データベースに格納されているとユーザ端末側で認識しているValue)及び更新するNew ValueD104の組合せである。クエリD110を受信したデータベースサーバ300は、replace関数を実行する。データベースサーバ300は、クエリD110のKeyD101とペアでデータベースに格納されているValueD102を検索し、検索したValueD102とクエリD110のOld ValueD103の値が一致するならば、検索したValueD102をクエリD110のNew ValueD104と置換する。図4(c)が、データベースサーバ300がreplace関数を実行した結果、更新され、データベースに格納されるデータD120である。データD120は、KeyD101のペアとしてクエリD110のNew ValueD104が格納される。
なお、KeyD101は、同じ項目のvalueに対して同一であるので、以下の説明ではKeyD101に関する説明を省略することがある。
図5に、データベースに格納されるkey−valueのペアのvalueが暗号化されている場合を示す。図5(a)が、ユーザがユーザ端末200からデータベースサーバ300へ送信し、データベースに格納する暗号文に対応する平文であり、図4(a)のデータD100と同じとする。ユーザ端末200は、ValueD102を暗号化した暗号化ValueD105とKeyD101をペアにしたデータD130を、データベースサーバ300へ送信する。図5(b)が、データD100のValueD102を暗号化したデータD130である。データD130は、KeyD101と暗号化ValueD105のペアである。データD130を受信したデータベースサーバ300はデータD130をデータベースに格納する。
図6に、暗号化したクエリに対応して、データベースサーバ300によるreplace関数の実行の様子を示す。図6(a)が、平文のクエリD110であり、図4(b)と同じである。replace関数の場合、ユーザは、ユーザ端末200で、更新されるべきOld ValueD103を暗号化してクエリとしての暗号化Old ValueD106を求め、更新する暗号化New ValueD107として、New ValueD104を暗号化し、KeyD101を対応させたクエリD110としてデータベースサーバ300へ送信する。図6(b)が、平文のクエリD110に対応する暗号化クエリD140である。暗号化クエリD140は、KeyD101、更新されるべき暗号化Old ValueD106及び更新する暗号化New ValueD107の組合せである。データベースサーバ300がreplace関数の実行を開始すると、データベースサーバ300は、クエリD140のKeyD101とペアでデータベースに格納されている暗号化ValueD105(図5(b))を検索し、検索した暗号化ValueD105とクエリD140の暗号化Old ValueD106が、それぞれに対応する平文として一致するならば、検索した暗号化ValueD105をクエリD140の暗号化New ValueD107と置換する。図6(c)が、データベースサーバ300がreplace関数を実行した結果、更新され、データベースに格納される暗号化データD150である。データD150は、KeyD101のペアとして暗号化クエリD140の暗号化New ValueD107が格納される。
データベースサーバ300が秘密鍵を用いずに、図6の説明の、データベースに格納されている暗号化ValueD105と暗号化Old ValueD106のそれぞれに対応する平文としての一致を判定(マッチング処理)する方法を、以下に説明する。
通常の確率的暗号化および復号化を行う共通鍵暗号機能に加えて暗号化したまま(復号することなく)一致判定(マッチング処理)ができる暗号方式を検索可能暗号と呼ぶ。暗号化、復号化、および検索の際に利用する暗号化クエリの生成は、秘密鍵を持つユーザにおいて実行可能である。一方、暗号文と暗号化クエリのマッチング処理は誰でも(秘密鍵を持たないデータベース管理者(サービス業者))実行可能である。検索可能暗号を実現する検索可能暗号アルゴリズム(秘密鍵生成アルゴリズム、暗号化アルゴリズム、復号アルゴリズム、クエリ生成アルゴリズム、暗号文マッチングアルゴリズム)には、いくつかの方法を考え得るが、その一例を説明する。復号アルゴリズムに関しては、本実施形態では復号化せずにマッチング処理を実行するので、説明を省略する。
秘密鍵生成アルゴリズムは、鍵シードを入力とし、特定のビット長(たとえば、128ビット)のバイナリデータを出力する一般的なものである。
暗号化アルゴリズムの一例を、図7を用いて説明する。暗号化アルゴリズムは、平文と秘密鍵を入力とし暗号文を出力する。まず、秘密鍵生成アルゴリズムにより秘密鍵701を生成する。生成した秘密鍵701を用いて、平文のValueD102を暗号化関数702により暗号化し、暗号化中間Value703を得る。乱数X705を生成し、暗号化中間Value703と乱数Xとの排他的論理和(Exclusive−OR)704をとる。一方、Hash関数706により乱数X705のHash値707を求め、排他的論理和704の結果のビット列に、乱数XのHash値707のビット列を並べ(併置し)、暗号化ValueD105を得る。暗号化ValueD105のビット長は、暗号化中間Value703のビット長とHash値707のビット長との和になる。秘密鍵701を用いて、平文のValueD102の暗号化から暗号化ValueD105を得ることまでの一連の処理が暗号化アルゴリズムによる処理である。
クエリ生成アルゴリズムの一例を、図8を用いて説明する。クエリ生成アルゴリズムによる処理は、平文クエリ(図6を用いて説明したように、replace関数においては、更新されるべきOld ValueD103)を暗号化して、暗号化クエリとしての暗号化Old ValueD106を求める。秘密鍵701を用いて、Old ValueD103を暗号化関数702により暗号化し、暗号化Old ValueD106を得る。平文クエリとしてのOld ValueD103と平文のValueD102が一致し、同じ秘密鍵を使用すれば、暗号化Old ValueD106は図7の暗号化中間Value703と一致する。図6を用いて説明したように、クエリ生成アルゴリズムにより生成される暗号化クエリD140は、KeyD101、更新(置換)されるべき暗号化Old ValueD106及び更新(置換)する暗号化New ValueD107の組合せである。暗号化New ValueD107は、図7の暗号化アルゴリズムによって生成される。
データベースに格納されている暗号化Value D105と暗号化クエリの暗号化Old ValueD106との暗号化マッチングアルゴリズムの一例と、マッチングしたときの暗号化Value D105の暗号化New ValueD107への更新(置換)を、図9を用いて説明する。マッチングアルゴリズムは、暗号文(暗号化Value D105)と暗号化クエリ(暗号化Old ValueD106)を入力とし、それぞれに対応する平文が一致した場合に、[一致]を出力し、そうでない場合、[不一致]を出力する。
データベースに格納されているHash値707のビット列を除いた暗号化Value D105(暗号化Value D105に併置されたHash値707を除いたビット列)と暗号化クエリD140の暗号化Old ValueD106との排他的論理和(Exclusive−OR)704をとる。排他的論理和の結果は、乱数Y901となるので、Hash関数706により乱数Y901のHash値902を求め、暗号化Value D105中に併置されていたHash値707のビット列と比較903する。乱数Y901が、図7における乱数X705と等しければ、Hash値707とHash値902は等しく、このとき暗号化Value D105と暗号化Old ValueD106のそれぞれに対応する平文が一致しているので、比較903の結果が[一致]となり、暗号化Value D105を暗号化New ValueD107へ置換904する。このようにして、データベースサーバ300では、秘密鍵701を用いずに、replace関数を実行することができる。
なぜならば、ビット列P=Hash値707のビット列を除いた暗号化Value D105、ビット列Q=暗号化Old ValueD106=暗号化中間Value702、ビット列R=乱数X705(又は乱数Y901)とし、排他的論理和(Exclusive−OR)を(E‐OR)とするとき、P(E‐OR)Q=P(E‐OR)R=Q(E‐OR)Rであるからである。
なお、乱数Y901が、図7における乱数X705と等しいか否かをHash値707とHash値902を用いて判定していることから明らかなように、必ずしもHash値を用いる必要はない。図7において、Hash値707の代わりに暗号化Value D105に乱数X705を含めば、図9の処理において、乱数X705と乱数Y901の比較で、暗号化Value D105と暗号化Old ValueD106のそれぞれに対応する平文が一致しているか否かを判定できる。ただし、Hash値を用いると、暗号の強度(復号化され難さ)が増し、暗号化Value D105全体のビット長を短くできる。
一方、他のユーザにより暗号化Old ValueD106を生成するための、OldValueD103、秘密鍵701、及び暗号化関数702の少なくとも一つが、正規のユーザが用いたものと異なれば、乱数Y901と乱数X705とは異なり、Hash値707とHash値902も異なり、このとき暗号化Value D105と暗号化Old ValueD106のそれぞれに対応する平文が不一致として比較903の結果が[不一致]となり、暗号化Value D105を暗号化New ValueD107へ置換904できないので、正規のユーザのデータである暗号化Value D105を保護できる。
以下、ユーザ端末200とデータベースサーバ300との間のデータ送受信の流れを説明する。図10は、ユーザ端末200がデータベースサーバ300へ暗号化されたvalueをkeyとペアの暗号化key−valueデータを送信し、データベースに格納する処理フローである。
ユーザ端末200は、暗号化復号化に用いる秘密鍵を生成するために、前述の秘密鍵生成処理(S100)を実行し、生成した秘密鍵を補助記憶装置202またはメモリ203に保管する。
ユーザ端末200は、図5及び図7を用いて説明したように、秘密鍵生成処理(S100)で生成した秘密鍵を用いて、key−valueデータD100のvalueD102を暗号化し(S200)、暗号化した暗号化key−valueデータD130をデータベースサーバ300に送信する。暗号化key−valueデータD130を受信したデータベースサーバ300は、keyD101(0023a181)と暗号化されたvalueデータD105(keciaqqt)を対応させたまま補助記憶装置302(データベース)に暗号化key−valueデータD130を格納する(S300)。
図11は、ユーザ端末200が暗号化クエリD140をデータベースサーバ300へ送信し、データベースサーバ300が、受信した暗号化クエリD140に応答して、replace処理(replace関数)を実行する処理フローである。
ユーザ端末200は、保存した暗号化key−valueデータD130の更新処理を行うために、図8を用いて説明したように、replace関数をデータベースサーバ300に実行させるための暗号化クエリD140を生成し(S400)、生成した暗号化クエリD140をデータベースサーバ300に送信する。暗号化クエリD140を受信したデータベースサーバ300は、暗号化されたvalueD105(keciaqqt)の更新処理のための暗号文replace関数を実行し、その処理結果をユーザ端末200に送信し、処理を終える。
暗号文replace関数の実行を具体的に説明する。データベースサーバ300は受信した暗号化クエリD140のkeyD101(0023a181)に対応するデータベース内の暗号化key−valueデータD130を読み出し、図9を用いて説明したように、暗号化valueD105(keciaqqt)と暗号化クエリD140の暗号化Old ValueD106(ownabajr)とのマッチング処理を実行する(S500)。図9を用いて説明したように、マッチング処理において、暗号化valueD105(keciaqqt)は、Hash値707のビット列を除いた部分を用いる。マッチング処理の結果は、暗号化valueD105(keciaqqt)と暗号化Old ValueD106(ownabajr)のそれぞれに対応する平文D102,D103が一致又は不一致として得られる。マッチング処理の結果を判定し(S600)、処理結果が不一致の場合、ユーザ端末200に処理結果を送信するために処理結果「失敗」を用意する(S700)。一方、処理結果が一致の場合、図9を用いて説明したように、暗号化valueD105(keciaqqt)を暗号化クエリD140の暗号化New ValueD107(oeaawatb)に更新(置換)し(S800)、処理結果[成功]を用意する(S900)。ユーザ端末200からの暗号化クエリ(更新処理の要求)に対する応答として、ユーザ端末200に[成功]または[失敗]の処理結果D1000を送信する。
なお,KVSデータベースシステムは,上述の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
例えば、本実施形態ではデータベースサーバ300は、1つのデータベースサーバで構成されているが、一般に、ユーザ端末200がネットワーク100を介して接続するデータベースサーバは1つである必要はなく、複数に分散し、データの格納、管理を行ってもよい、
その際には、上述の実施形態で述べた暗号化されたvalueを保管するデータベースサーバ300と平文を保管するデータベースサーバが併用されていてもよい。このようなシステム構成においては、ユーザ端末200が、replace関数を用いたvalueの更新処理を実行する場合、平文valueに対するreplace関数処理と暗号文valueに対するreplace関数処理とのどちらを実行するかをデータベースサーバ300が判断可能な識別情報をクエリ(replace関数を実行させるための要求データ)に含んで、データベースサーバ200にクエリを送信することにより、データベースサーバ200は識別情報に対応して平文または暗号文のvalueに対するreplace関数処理を実行できる。
さらに、暗号化されたvalueの所定部分のバイナリ列に限定して、検索可能暗号を用いた暗号文マッチング処理を実行し、その処理結果が[一致]だった場合、 replace処理(置換)を実行してもよい。このとき、ユーザ端末200が部分バイナリ列のアドレス(所定部分を識別する情報)を指定し、データベースサーバ200に指定したアドレスをクエリに付加して送信する。
以上説明したように、本実施形態では、ユーザが秘密鍵をデータベース側に渡すことなく更新処理(replace関数)が実行可能なデータベースシステムを実現できる。
100:ネットワーク、200:ユーザ端末、201:CPU、202:補助記憶装置(記憶装置)、203:メモリ、204:内部信号線、205:表示装置、206:入出力インターフェース、207:通信装置、300:データベースサーバ、301:CPU、302:補助記憶装置(記憶装置)、303:メモリ、304:内部信号線、305:表示装置、306:入出力インターフェース、307:通信装置。

Claims (8)

  1. Valueのデータベースへの格納時に、秘密鍵を生成し、前記秘密鍵を用いて前記Valueを暗号化し、暗号化した前記Valueと第1の乱数との排他的論理和をとって第1の排他的論理和結果を得、前記第1の乱数に前記第1の排他的論理和結果を併置した暗号化Valueに前記Valueを識別するkeyを付して送信し、
    前記データベースに格納されている暗号化した前記Valueの新たなValueへの更新時に、前記秘密鍵を用いて前記新たなValueを暗号化し、暗号化した前記新たなValueと第2の乱数との排他的論理和をとって第2の排他的論理和結果を得、暗号化した前記Valueと、前記第2の乱数に前記第2の排他的論理和結果を併置した暗号化新たなValueとに、前記Valueを識別するkeyを付した暗号化クエリを送信するデータ端末、及び、
    前記データベースを備え、前記データ端末とネットワークを介して接続し、
    前記データ端末からの前記keyと前記暗号化Valueの受信に応答して、前記keyと前記暗号化Valueとを対応付けて前記データベースに格納し、
    前記データ端末からの前記暗号化クエリの受信に応答して、前記暗号化クエリに含まれる前記keyに対応付けて格納されている前記暗号化Valueを前記データベースから検索し、検索した前記暗号化Valueに含まれる前記第1の排他的論理和結果と前記暗号化クエリに含まれる暗号化した前記Valueとの第3の排他的論理和結果を得、前記第3の排他的論理和結果が検索した前記暗号化Valueに含まれる前記第1の乱数に一致するとき、前記データベースに格納されている前記暗号化Valueを、前記暗号化クエリに含まれる前記暗号化新たなValueに置換するデータベースサーバを有することを特徴とするデータベースシステム。
  2. 前記データ端末による、前記秘密鍵を用いた前記Value及び前記新たなValueの暗号化は、それぞれ前記Value及び前記新たなValueの所定部分の暗号化であり、
    前記データベースに格納されている暗号化した前記Valueの前記新たなValueへの更新時に、前記暗号化クエリに前記所定部分を識別する情報を含んで送信し、
    前記データベースサーバは、検索した前記暗号化Valueに含まれる前記所定部分の前記第1の排他的論理和結果と受信した前記所定部分を暗号化した前記Valueとの前記第3の排他的論理和結果を得ることを特徴とする請求項1にデータベースシステム。
  3. 前記暗号化Value及び前記暗号化新たなValueに各々含む前記第1の乱数及び前記第2の乱数は、前記第1の乱数及び前記第2の乱数の各々のHash値であり、前記データベースサーバは、前記第3の排他的論理和結果のHash値が検索した前記暗号化Valueに含まれる前記第1の乱数のHash値に一致するとき、前記データベースに格納されている前記暗号化Valueを、受信した前記暗号化新たなValueに置換することを特徴とする請求項1または2に記載のデータベースシステム。
  4. 前記データ端末が、前記ネットワークを介して他のデータベースサーバにさらに接続し、
    前記他のデータベースサーバが、他のデータベースを備え、前記Valueの平文を前記keyと対応付けて前記他のデータベースに格納し、前記Valueの平文と、前記Valueの平文を更新する前記新たなValueの平文とに、前記keyを付したクエリに応答して、前記他のデータベースに格納されている前記Valueの平文を前記クエリに含まれる前記新たなValueの平文に更新するとき、前記データ端末は、前記暗号化クエリ及び前記クエリに、前記keyと前記暗号化Valueとを対応付けて格納する前記データベース及び前記keyと前記Valueの平文とを対応付けて格納する前記他のデータベースのいずれか一方を識別する識別情報を含むことを特徴とする請求項3に記載のデータベースシステム。
  5. データベースを有するデータベースサーバと、前記データベースサーバとネットワークを介して接続するデータ端末を含むデータベースシステムのデータ更新方法であって、
    前記データ端末は、Valueの前記データベースへの格納時に、秘密鍵を生成し、前記秘密鍵を用いて前記Valueを暗号化し、暗号化した前記Valueと第1の乱数との排他的論理和をとって第1の排他的論理和結果を得、前記第1の乱数に前記第1の排他的論理和結果を併せた暗号化Valueに前記Valueを識別するkeyを付して送信し、
    前記データベースに格納されている暗号化した前記Valueの新たなValueへの更新時に、前記秘密鍵を用いて前記新たなValueを暗号化し、暗号化した前記新たなValueと第2の乱数との排他的論理和をとって第2の排他的論理和結果を得、暗号化した前記Valueと、前記第2の乱数に前記第2の排他的論理和結果を併せた暗号化新たなValueとに、前記Valueを識別するkeyを付した暗号化クエリを送信し、
    前記データベースサーバは、前記データ端末からの前記keyと前記暗号化Valueの受信に応答して、前記keyと前記暗号化Valueとを対応付けて前記データベースに格納し、
    前記データ端末からの前記暗号化クエリの受信に応答して、前記暗号化クエリに含まれる前記keyに対応付けて格納されている前記暗号化Valueを前記データベースから検索し、検索した前記暗号化Valueに含まれる前記第1の排他的論理和結果と前記暗号化クエリに含まれる暗号化した前記Valueとの第3の排他的論理和結果を得、前記第3の排他的論理和結果が検索した前記暗号化Valueに含まれる前記第1の乱数に一致するとき、前記データベースに格納されている前記暗号化Valueを、前記暗号化クエリに含まれる前記暗号化新たなValueに更新することを特徴とするデータ更新方法。
  6. 前記データ端末による、前記秘密鍵を用いた前記Value及び前記新たなValueの暗号化は、それぞれ前記Value及び前記新たなValueの所定部分の暗号化であり、
    前記データベースに格納されている暗号化した前記Valueの前記新たなValueへの更新時に、前記暗号化クエリに前記所定部分を識別する情報を含んで送信し、
    前記データベースサーバは、検索した前記暗号化Valueに含まれる前記所定部分の前記第1の排他的論理和結果と受信した前記所定部分を暗号化した前記Valueとの前記第3の排他的論理和結果を得ることを特徴とする請求項5にデータ更新方法。
  7. 前記暗号化Value及び前記暗号化新たなValueに各々含む前記第1の乱数及び前記第2の乱数は、前記第1の乱数及び前記第2の乱数の各々のHash値であり、前記データベースサーバは、前記第3の排他的論理和結果のHash値が検索した前記暗号化Valueに含まれる前記第1の乱数のHash値に一致するとき、前記データベースに格納されている前記暗号化Valueを、受信した前記暗号化新たなValueに更新することを特徴とする請求項5または6に記載のデータ更新方法。
  8. 前記データ端末が、前記ネットワークを介して他のデータベースサーバにさらに接続し、
    前記他のデータベースサーバが、他のデータベースを備え、前記Valueの平文を前記keyと対応付けて前記他のデータベースに格納し、前記Valueの平文と、前記Valueの平文を更新する前記新たなValueの平文とに、前記keyを付したクエリに応答して、前記他のデータベースに格納されている前記Valueの平文を前記クエリに含まれる前記新たなValueの平文に更新するとき、前記データ端末は、前記暗号化クエリ及び前記クエリに、前記keyと前記暗号化Valueとを対応付けて格納する前記データベース及び前記keyと前記Valueの平文とを対応付けて格納する前記他のデータベースのいずれか一方を識別する識別情報を含むことを特徴とする請求項7に記載のデータ更新方法。
JP2012280799A 2012-12-25 2012-12-25 データベースシステム及びその更新方法 Expired - Fee Related JP5889177B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012280799A JP5889177B2 (ja) 2012-12-25 2012-12-25 データベースシステム及びその更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012280799A JP5889177B2 (ja) 2012-12-25 2012-12-25 データベースシステム及びその更新方法

Publications (2)

Publication Number Publication Date
JP2014126577A JP2014126577A (ja) 2014-07-07
JP5889177B2 true JP5889177B2 (ja) 2016-03-22

Family

ID=51406151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012280799A Expired - Fee Related JP5889177B2 (ja) 2012-12-25 2012-12-25 データベースシステム及びその更新方法

Country Status (1)

Country Link
JP (1) JP5889177B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502602B (zh) * 2019-08-14 2023-10-17 平安科技(深圳)有限公司 数据存储方法、装置、设备和计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5412414B2 (ja) * 2010-12-08 2014-02-12 株式会社日立製作所 検索可能暗号処理システム

Also Published As

Publication number Publication date
JP2014126577A (ja) 2014-07-07

Similar Documents

Publication Publication Date Title
CN110046521B (zh) 去中心化隐私保护方法
US11063760B2 (en) Method for ensuring security of an internet of things network
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN110569668B (zh) 基于区块链的数据加密存储方法、装置、设备和介质
CN110059503B (zh) 可追溯的社交信息防泄露方法
JP5100286B2 (ja) 暗号モジュール選定装置およびプログラム
JP4993733B2 (ja) 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
CA2913444C (en) System and method for user authentication
JP5201716B2 (ja) 暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム
TW201918049A (zh) 可信遠端證明方法、裝置和系統
EP3356988A1 (en) Method and system for verifiable searchable symmetric encryption
CN110191153B (zh) 基于区块链的社交通信方法
CN108810017B (zh) 业务处理安全验证方法及装置
GB2514428A (en) Enabling access to data
CN106941404A (zh) 密钥保护方法及装置
CN113626802B (zh) 一种设备密码的登录验证系统及方法
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
CN108055285B (zh) 一种基于ospf路由协议的入侵防护方法和装置
GB2488753A (en) Encrypted communication
JP2023522119A (ja) ブロックチェーンネットワークにおけるポイズニングされたトランザクションによるブロック伝搬
CN110620668B (zh) 基于区块链的抗量子计算公钥池更新方法和系统
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
WO2024098550A1 (zh) 数据中用户标识的加解密方法、系统及设备
JP5889177B2 (ja) データベースシステム及びその更新方法
JP2022523068A (ja) 安全な電子データ転送のためのシステムと方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160216

R150 Certificate of patent or registration of utility model

Ref document number: 5889177

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees