暗号化転置インデックステーブルに対するk−匿名性更新のための方法および装置
【課題】 暗号化された転置インデックステーブルに対するk−匿名性更新のための方式と装置を提案する。
【解決手段】 この方法は、外部記憶装置から暗号化されたデータ項目のn行を取得するステップと、前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号するステップと、復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成するステップと、更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化するステップと、前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするステップとを含み、nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)。
【解決手段】 この方法は、外部記憶装置から暗号化されたデータ項目のn行を取得するステップと、前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号するステップと、復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成するステップと、更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化するステップと、前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするステップとを含み、nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報アップデート技術の分野に関し、特に、暗号化転置インデックステーブルに対するk−匿名(k-anonymity)更新のための方法および装置に関する。n行のデータがあると仮定すると、各行はそれぞれ1つ以上の暗号化された項目と共にインデックスとして暗号化されたキーワードを有する。n行のうち1つが更新しようとする目標行として選択されていると仮定する。すなわち、新たな暗号化された項目を該当する行に追加し、あるいは、暗号化された項目を該当する行から削除しようとする場合である。本発明の目的は、k−匿名性を実現することにある。すなわち、更新の前と後にn行を観察する好奇心が強いが誠実な攻撃者(curious but honest attacker:不正に情報を入手しようとする攻撃者)は、どの行が目標行かを多くても確率1/kで見分けることができる。ここで、kは予め定義されたセキュリティパラメータである。
【背景技術】
【0002】
現在、2つの増加傾向が出現している。すなわち、個人のプライバシーの保護に対する普遍的な関心と、ストレージサーバに対して外部委託する個人データである。ストレージサーバに対して個人データを外部委託する利用において、外部委託したドキュメントとそれらについて構築された転置インデックスの両方とも、機密保持とプライバシー上の理由のために暗号化形式が採用される。暗号化転置インデックステーブル(Encrypted Inverted Index Table:以下、「EIIT」と称する)は、様々な長さの多くの無関係な行から構成される代表的なデータ構造を有し、完全には信頼できないストレージサーバ(semi-trusted storage server)が検索者のために指定の暗号化キーワードの整合結果を見つけ出すことを可能にする機能を提供する。専用の暗号化キーワードでマーク付けされた各暗号化行は、そのキーワードに関する全ての暗号化ファイル情報を含む。暗号化キーワードの値は「行識別子」と呼ばれ、行内の暗号化されたファイル情報は「データ項目」と呼ばれる。
【0003】
同じ出願人による2つの特許出願、「高速検索可能な暗号化のための方法、装置及びシステム」の名称の中国特許出願200810098359.1(特許文献1)と中国特許出願200810145083.8(特許文献2)が暗号化された転置インデックステーブル(EIIT)を構築する方法を開示している。EIITは何千もの行を有する場合がある。上述したn行は、EIITから取り出された一部あるいはEIITの全行である。
【0004】
ドキュメントが更新され、新たなキーワードがドキュメントに追加される場合(あるいは、キーワードがドキュメントから削除される場合)、唯一の行、すなわち、EIITの目標行を更新する必要がある。
【0005】
しかしながら、単にEIITの目標行を更新することは、信頼されていない当事者(すなわち、EIITを格納するストレージサーバ)に対して、キーワードとドキュメント間の関連を露呈することになる。図1は、この問題を直感的な方法で示している。
【0006】
中国特許出願200810098359.1(特許文献1)と中国特許出願200810145083.8(特許文献2)には、「高速検索可能な暗号化方式」(Fast Searchable Encryption Method(FSE)と呼ばれるいくつかの技術的解決法が存在する。図2、図3を参照してその方法を概説する。図2はFSE方式および装置について説明する概略図である。また、図3は、FSE方式および装置が暗号化された行をどのように更新するかを示す概略図である。
(1)データ所有者は、まず、暗号化されたターゲットドキュメント(ETD)について実行される更新に従ってストレージサーバから希望の暗号化された行をすべて取得し、取得した行を出力する。
(2)暗号化された行について、データ所有者は、マスターキーを使用して、その行内のデータ所有者に知られている所定の位置に位置する特別項目E(マスターキー,行キー)の復号を実行し、行キーを取得する。その後、データ所有者は、行キーを使用して項目のプレーンテキスト形式を取得することができる。
(3)削除すべきオリジナルのプレーンテキスト項目について、データ所有者はこの行からそれを除去する。また、追加すべき新たなプレーンテキスト項目について、データ所有者はその行にそれを追加する。
(4)データ所有者は、すべての更新行のプレーンテキスト形式と暗号キーを入力とし、暗号キーで更新行のプレーンテキストを一つずつ暗号化し、特別項目を形成するために、マスターキーで暗号キーに対応する復号キー(新たな行キー)を暗号化し、それらの暗号化形式を出力し、ストレージサーバにそれらをアップロードする。
【0007】
この更新ルーチンの明白な欠点は、それらは両方とも暗号化された形式であるけれども、ストレージサーバがEIITとETD内の更新行間の引用関係を知っていることである。
最も関する技術分野においては、修正済(項目が追加されまたは削除された)ドキュメントと暗号化された索引テーブルの行間の関連は、インデックステーブルが暗号化されていても、更新の前と更新の後の行の長さを比較することにより露呈することができる。それはセキュリティとプライバシーの観点からすると危険である。
【0008】
その危険性は更新回数が増加するに従って激化するであろう。また、プライバシーはひどく危険にさらされるだろう。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】中国特許出願200810098359.1
【特許文献2】中国特許出願200810145083.8
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述したように、特許文献1及び特許文献2に記載される更新ルーチンの明白な欠点は、それらは両方とも暗号化された形式であるけれども、ストレージサーバがEIITとETD内の更新行間の引用関係を知っていることである。最も関する技術分野においては、修正済(項目が追加されまたは削除された)ドキュメントと暗号化された索引テーブルの行間の関連は、インデックステーブルが暗号化されていても、更新の前と更新の後の行の長さを比較することにより露呈することができる。それはセキュリティとプライバシーの観点からすると危険である。また、その危険性は更新回数が増加するに従って激化する。また、プライバシーはひどく危険にさらされることになる。
【課題を解決するための手段】
【0011】
n行(以下、n行の集合を「nサイズ行集合」と称し、略して「RS」と称する)の一行が最初の更新のための目標行として選択されると仮定する。すなわち、1つの新たな暗号化された項目が目標行に追加され、あるいは、1つの暗号化された項目が目標行から削除される場合に、更新の前と後にn行を観察する好奇心が強いが誠実な攻撃者(curious but honest attacker)がどの行が目標行かを多くても確率1/kで見分けるという可能性を保証する。ここで、kは予め定義されたセキュリティパラメータである。
【0012】
端的に言えば、更新を実行する時各行にダミーを導入することにより上記の目的を達成する。
【0013】
本発明の第1の態様によれば、暗号化された転置インデックステーブルに対するk−匿名性更新方法であって、外部記憶装置から暗号化されたデータ項目のn行を取得するステップと、前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号するステップと、復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成するステップと、更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化するステップと、前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするステップとを含み、nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とする。
【0014】
好ましい態様では、目標行更新と疑似演算実行ステップが、更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行に1つの新たな復号したデータ項目を追加し、復号したデータ項目の残るn−1行の各行に1つのダミーに追加することを特徴とする。
【0015】
好ましい態様では、目標行更新と疑似演算実行ステップが、更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする。
【0016】
好ましい態様では、復号ステップの前に、暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、暗号化されたデータ項目のn行がすべて初期化された行であれば、復号ステップを実行するステップを含み、目標行更新と疑似演算実行ステップが、少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを決定し、目標行の内に少なくとも1つのダミーがあれば、更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、nは
【数1】
として決定されることを特徴とする。さらに、目標行の内にダミーがなければ、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持する。
【0017】
好ましい態様では、復号ステップの前に、暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、暗号化されたデータ項目のn行がすべて初期化された行ならば、復号ステップを実行するステップとを含み、目標行更新と疑似演算実行ステップが、更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする。
【0018】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、復号ステップを実行し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0019】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする。
【0020】
好ましい態様では、新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする。
【0021】
好ましい態様では、新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさない場合、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0022】
好ましい態様では、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする。
【0023】
好ましい態様では、初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする。
【0024】
好ましい態様では、暗号化ステップの前に、更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除することを特徴とする。
【0025】
本発明の第1の態様によれば、暗号化された転置インデックステーブルに対するk−匿名更新のための装置であって、外部記憶装置から暗号化されたデータ項目のn行を取得する取得ユニットと、前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号する復号ユニットと、復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成する更新ユニットと、更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化する暗号化ユニットと、前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするアップロードユニットとを備え、nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とする。
【0026】
好ましい態様では、更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行に1つの新たな復号データ項目を追加し、復号されたデータ項目の残るn−1行の各行に1つのダミーを追加することを特徴とする。
【0027】
好ましい態様では、更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする。
【0028】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、前記更新ユニットは、少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを判定し、目標行の内に少なくとも1つのダミーがあれば、更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、nは
【数2】
として決定されることを特徴とする。また、目標行の内にダミーがなければ、前記更新ユニットは、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持する。
【0029】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする。
【0030】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記初期化ユニットは、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0031】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記取得ユニットは、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする。
【0032】
好ましい態様では、新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする。
【0033】
好ましい態様では、初期化ユニットが、新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさないと判定すると、前記初期化ユニットは、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0034】
好ましい態様では、初期化ユニットは、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする。
【0035】
好ましい態様では、初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする。
【0036】
好ましい態様では、更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、
以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除する調整ユニットをさらに備えることを特徴とする。
【0037】
本発明の方法では、目標行に1つの新たな項目を追加する場合、同時に他のn−1のダミー行のそれぞれに対してダミー項目を追加する。これにより、全てのn行の暗号化データが変更されるが、全てのn行の長さが「1」だけ増加する。目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。他のn−1のダミー行の長さは、そのままである。このように、暗号化されたデータはすべてのn行において変更されるが、全てのn行の長さは不変である。これにより、nがn≧kとしてセットされる場合、RSのn行のうちの目標行は、好奇心が強いが誠実な攻撃者によって最大限でも確率1/kで識別されることになる。
【0038】
本発明の他の方法では、目標行に1つの新たな項目を追加する場合、目標行内に少なくとも1つのダミーが存在する場合、このダミーを新たな項目に置き換え、RS内の任意の行に他のダミーを追加する。他方、目標行がダミーを有しない場合は、単に目標行に新たな項目を追加し、付加的なダミーを他のn−1行に追加しない。このように、更新済みRSの内では、暗号化データはすべてのn行において変更されるが、目標行は、1項目だけ増加し(目標行内にダミーが無い場合)、あるいはn−1個の他の行の1行が1項目だけ増加する(目標行内に少なくとも1つのダミーがある場合)。すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。RSから少なくとも1つのダミーを有する1つの行を任意に選択し、次に、選択した行から1つのダミーを削除する。取得したn行内にダミーが全く存在しない最悪の削除状況では、置き換えステップで目標行に1つの新たなダミーを導入する。すなわち、この処理中、少なくとも1つのダミーを有する行を必ず見つけ出すことができる。このように、暗号化データはすべてのn行において変更されるが、更新済みRSの内では、目標行が、1項目だけ減少し(選択した行が目標行である場合)、あるいは他のn−1行の1行が1項目だけ減少する(選択した行が目標行でない場合)。すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。
【0039】
これにより、追加の場合、nが
【数3】
としてセットされ、削除の場合、nがn ≧kとしてセットされると、RSのn行のうちの目標行は、好奇心が強いが誠実な攻撃者によって最大限でも確率1/kで識別されることになる。更に、より少ないダミーが、同じセキュリティの強度の維持しつつスペース効率を向上させるために導入されるだろう。すなわち、本発明の他の方法によれば、1つの新たな項目を追加するか、暗号化された項目を削除するかに関係なく、ダミーの数は固定的で変わらない。
【0040】
本発明のさらに他の方法では、一定の条件が満たせば、スペース効率をさらに向上することができる。具体的には、sを現在の全てのn行におけるダミーの共有数(common number)であると仮定する。すなわち、全ての行は、少なくともs個のダミーを含んでいる。もし、s-1≧1でかつ各行の現在の長さが少なくともs+1ならば、各行からS−1個のダミーが削除される。これにより、より少ないダミーが同じセキュリティの強度の維持しつつ導入される。
【発明の効果】
【0041】
本発明は、所定のセキュリティパラメータkに対して、好奇心が強いが誠実な攻撃者が更新された行集合から目標行を識別する確率を多くても1/kとすることを可能にする。
【図面の簡単な説明】
【0042】
本発明の前述した目的、特徴及び効果と他の目的、特徴及び効果は、添附の図面を参照した本発明の限定されない実施の形態に関する以下の説明からより明らかになるであろう。
【図1】好奇心が強いが誠実な攻撃者が修正済の行をどのように見つけ出すかを示す概略図である。
【図2】FSE方式および装置について説明する概略図である。
【図3】FSE方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【図4】本発明の第1の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図5】本発明の第1の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図6】本発明の第1の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【図7】本発明の第2の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図8】本発明の第2の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図9】本発明の第2の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【図10】本発明の第3の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図11】本発明の第3の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図12】本発明の第3の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【発明を実施するための形態】
【0043】
以下、図面を参照して本発明について説明する。以下の説明において、幾つかの特定の実施の形態は説明のみの目的で使用される。これらの実施の形態はあくまで例示であり、本発明を限定するものとして理解してはならない。また、本発明の理解が多少曖昧になる可能性はあるが、従来技術の構成・構造の説明は省略する。
【0044】
k−匿名性更新の場合、二人の当事者(すなわちデータ所有者と好奇心が強いが誠実な観察者)が関与する。ストレージサーバは明らかに好奇心が強いが誠実な観察者(curious
but honest observer)である。具体的な工程を説明する前に、いくつかの特殊記号および略語を以下に定義する。
k:予め定義されたセキュリティパラメータ、定数
n:パラメータnは、k−匿名性更新を満たす毎に取得された行の合計数である。また、nは行集合RSの大きさである。
好奇心が強いが誠実な攻撃者:攻撃者は予め定められた工程を遵守するが、保護された情報を探りたい。
AIM:k−匿名方式に基づいてデータ項目を追加する方法。
DIM:k−匿名方式に基づいてデータ項目を削除する方法。
EIIT:暗号化転置インデックステーブル(Inverted Index Table)。より具体的には、EIITはm行から成る。各行は、指定されたキーワードに関する暗号化ファイル情報とおよび(または)1つ以上の乱数(ダミー)を含んでおり、キーワードとマスターキーから導き出した任意の値でマーク付けされる。
RS:nサイズの行集合、1つの目標行とn−1個のダミー行を含んでいる。
【0045】
本発明は3つの実施の形態を含んでいる。以下に、本発明の詳細な説明を記載する。
【0046】
(第1の実施の形態)
第1の実施の形態に関して、行集合(=n)のサイズが所定のセキュリティパラメータkに対してn≧kとしてセットされる場合(nとkは正の整数)、好奇心が強いが誠実な攻撃者が更新された行集合から目標行を識別する確率は最大で1/kである。
【0047】
図4および図5は、本発明の第1の実施の形態によるk−匿名更新方法および装置を説明する概略図である。追加する場合のブロック図を図4に示し、削除する場合のブロック図を図5に示す。
【0048】
(第1の実施の形態におけるAIM)
目標行に1つの新たな項目を追加する場合、同時に他のn−1のダミー行のそれぞれに対してダミー項目を追加する。これにより、全てのn行の暗号化データが変更されるが、全てのn行の長さが「1」だけ増加する。
【0049】
第1の実施の形態における1つの新たな項目の追加に関する構成要素を図4を参照して以下に説明する。
(1)RS取得ユニットは、外部記憶装置(信頼できない記憶装置−外部EIITユニット)から、暗号化された形式でnサイズのRSを取得する。
nは所定の値kから計算される。
ここで、所定の値kは、RS取得ユニットに予め設定されるか、あるいは利用者によって入力される。
(2)キー記憶ユニットは、RS内のデータ項目を暗号化し、復号するために使用するマスターキーを格納する。
(3)前処理ユニットは、取得した暗号化RSおよびマスターキーを入力として、RS内の暗号化された項目をすべて復号し、もとのRSのプレーンテキスト形式を出力する。
この復号において、まず、マスターキー(master key)が行キーを得るための復号を実行するのに使用される。次に、行鍵キーがもとのRSのプレーンテキスト形式を得るための復号を実行するのに使用される。
(4)入力項目記憶ユニットは、追加する新たな項目を格納する。
(5)入力RS記憶ユニットは、前処理ユニットの出力を格納する。
(6)項目挿入ユニットは、追加する項目およびRSのプレーンテキスト形式を入力とし、目標行に項目を追加し、目標行に追加された入力項目を有する更新済みRSのプレーンテキスト形式を出力する。
(7)第1レベルRS記憶ユニットは、項目挿入ユニットの出力を格納する。
(8)ダミー挿入ユニットは、更新済みRSを入力とし、他のn−1のダミー行のそれぞれに対してダミー項目を追加し、また目標行に追加された入力項目と、他のn−1のダミー行のそれぞれに追加されたダミー項目を有する更新済みRSのプレーンテキスト形式を出力する。
(9)第2レベルRS記憶ユニットは、ダミー挿入ユニットの出力を格納する。
(10)後処理ユニットは、更新済みRSのプレーンテキスト形式およびマスターキーを入力とし、更新済みRS内の項目を一行づつすべて再暗号化し、更新済みRSの暗号化形式を出力する。
この暗号化において、1つの暗号キーあるいは複数の暗号キーが更新済みRS内のそれぞれの行における項目を再暗号化するために使用される。また、マスターキーは、特別項目を形成するためにそれぞれの行について使用された暗号キーに対応する解読キーあるいは暗号キー(新たな行キー(row key))を暗号化するために使用される。それにより、更新済みRSの暗号化形式が生成される。
(11)更新RS記憶ユニットは、後処理ユニットの出力を格納する。
(12)RSアップロードユニットは、暗号化形式のnサイズの更新済みRSを入力とし、外部記憶装置にnサイズの更新済みRSをアップロードし、アップロード状態によって「真」か「偽」の何れかを出力する(すなわち、アップロードが成功すれば、「真」を返却し、そうでなければ、「偽」を返却する)。
【0050】
ここで、マスターキーおよび/または行キーとしては、対称暗号化スキーム(symmetric cryptography scheme)において使用される対称キー、ペアワイズ暗号化スキームにおいて使用されるペアの公開キーと秘密キー、あるいは周知の暗号化スキームにおいて使用される他のキーを利用することが可能である。本発明において、暗号化/復号スキームは特に限定されない。
【0051】
(第1の実施の形態におけるDIM)
目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。他のn−1のダミー行の長さは、そのままである。このように、暗号化されたデータはすべてのn行において変更されるが、全てのn行の長さは不変である。
【0052】
第1の実施の形態における1つの無用な項目の削除に関する構成要素を図5を参照して以下に説明する。
(1)RS取得ユニット、キー記憶ユニット、前処理ユニット、入力RS記憶ユニット、第1レベルRS記憶ユニット、後処理ユニット、更新RS記憶ユニットとRSアップロードユニットは、第1の実施の形態における1つの新たな項目を追加する場合と同じように動作する。これらについては、既に第1の実施の形態におけるAIMで説明した通りであり、それらの詳細な説明は説明を分かり易くするために省略する。
(2)入力項目記憶ユニットは、削除項目を格納する。
(3)項目置換ユニットは、削除項目およびRSのプレーンテキスト形式を入力とし、削除する項目の位置を特定し、目標行内のその項目をダミーで置き換え、ダミーと置き換えられた削除項目を有する更新済みRSのプレーンテキスト形式を出力する。
【0053】
(第1の実施の形態の具体例)
図6は、本発明の第1の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。これにより、第1の実施の形態による新たな1項目を追加する場合と1項目を削除する場合を、直感的に理解できるであろう。
【0054】
最も関連する技術と比較して、行集合(=n)のサイズが所定のセキュリティパラメータkに対してn≧kとしてセットされる場合(nとkは正の整数)、好奇心が強いが誠実な攻撃者が更新済みRSから目標行を識別する確率は最大で1/kである。
【0055】
(第2の実施の形態)
1つの新たな項目を追加する場合、第1の実施の形態においては、n−1個のダミーが追加される。また、1つの暗号化項目を削除する場合、第1の実施の形態においては、1個のダミーが追加される。空間効率を向上させるためには、同じセキュリティの強度を保持しながら、より少数のダミーを導入すべきである。
【0056】
第2の実施の形態においては、好奇心が強いが誠実な攻撃者が更新済みRSから目標行を識別する確率が最大で1/kであるという要求を満たすために、RS(=n)のサイズが、所定のセキュリティパラメータkに対して、追加の場合、
【数4】
としてセットされ、削除の場合、n ≧kとしてセットされる。ここで、nとkは正の整数である、eは、数学的な定数(「オイラーの数」、e≒2.71828として知られている)である。また、
【数5】
は上位の整関数であり、
【数6】
は、Xより大きいか或いは等しい最も小さな整数を示している。
【0057】
図7および図8は、本発明の第2の実施の形態によるk−匿名更新方式および装置について説明する概略図である。追加する場合のブロック図を図7に示し、削除する場合のブロック図を図8に示す。
【0058】
(第2の実施の形態におけるAMI)
目標行に1つの新たな項目を追加する場合、目標行内に少なくとも1つのダミーが存在する場合、このダミーを新たな項目に置き換え、RS内の任意の行に他のダミーを追加する。他方、目標行がダミーを有しない場合は、単に目標行に新たな項目を追加し、付加的なダミーを他のn−1行に追加しない。このように、更新済みRSの内では、暗号化データはすべてのn行において変更されるが、目標行は、1項目だけ増加し(目標行内にダミーが無い場合)、あるいはn−1個の他の行の1行が1項目だけ増加する(目標行内に少なくとも1つのダミーがある場合)。すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。
【0059】
第2の実施の形態における1つの新たな項目の追加に関する構成要素を図7を参照して以下に説明する。
(1)RS取得ユニット、キー記憶ユニット、前処理ユニット、入力項目記憶ユニット、入力RS記憶ユニット、第1レベルRS記憶ユニット、更新RS記憶ユニット、後処理ユニット、RSアップロードユニットは、第1の実施の形態における1つの新たな項目を追加する場合と同じように動作する。これらについては、既に第1の実施の形態におけるAIMで説明した通りであり、それらの詳細な説明は説明を分かり易くするために省略する。
(2)項目挿入ユニットは、追加する項目およびRSのプレーンテキスト形式を入力とし、目標行内に少なくとも1つのダミーがあれば、目標行内のダミーを入力項目と置き換え、そうでなければ目標行に直接入力項目を追加する。
項目挿入ユニットは、置き換えによって目標行に追加した新たな項目あるいは目標行に直接追加した新たな項目を有する更新済みRSのプレーンテキスト形式を出力する。
(3)ダミー挿入制御ユニットは、項目挿入ユニットにおいて置き換えが生じるかどうかを記録し、その状態によって「真」か「偽」の何れかを出力する(すなわち、置き換えが生じれば、「真」を返却し、そうでなければ、「偽」を出力する)。
(4)ダミー挿入ユニットは、更新済RSのプレーンテキスト形式を入力とし、RSから1行を任意に選択し、置き換えが生じると(すなわち、ダミー挿入制御ユニットが「真」を出力すると)、選択した行に1つのダミーを追加する。そうでなければ(すなわち、ダミー挿入制御ユニットが「偽」を出力すると)、ダミー挿入ユニットは、項目挿入ユニットから出力される更新済みRSのプレーンテキスト形式に対して何も行わない。ダミー挿入ユニットは、追加した別のダミーを有する更新済みRSのプレーンテキスト形式を出力する。
(5)第2レベルRS記憶ユニットは、ダミー挿入ユニットの出力を格納する。
【0060】
(第2の実施の形態におけるDIM)
目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。RSから少なくとも1つのダミーを有する1つの行を任意に選択し、次に、選択した行から1つのダミーを削除する。
取得したn行内にダミーが全く存在しない最悪の削除状況では、最初のステップで取得したオリジナルのn行の1つに1つの新たなダミーを導入する。
すなわち、この処理中、少なくとも1つのダミーを有する行を必ず見つけ出すことができる。
このように、暗号化データはすべてのn行において変更されるが、更新済みRSの内では、目標行は、1項目だけ減少し(選択した行が目標行である場合)、あるいはn−1個の他の行の1行が1項目だけ減少する(選択した行が目標行でない場合)。
すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。
【0061】
第2の実施の形態における1つの無用な項目の削除に関する構成要素を図8を参照して以下に説明する。
(1) RS取得ユニット、キー記憶ユニット、前処理ユニット、入力項目記憶ユニット、入力RS記憶ユニット、項目置換ユニット、第1レベルRS記憶ユニット、更新RS記憶ユニット、後処理ユニットとRSアップロードユニットは、第1の実施の形態における1つの新たな項目を追加する場合と同じように動作する。これらについては、既に第1の実施の形態におけるDIMで説明した通りであり、それらの詳細な説明は説明を分かり易くするために省略する。
(2)ダミー削除ユニットは、更新済RSのプレーンテキスト形式を入力とし、RSから少なくとも1つのダミーを有する1つの行を任意に選択し、選択した行から1つのダミーを削除する。
ダミー削除ユニットは、1つのダミーと置き換えられて削除される項目及び任意に選択したRSの行から削除された別のダミー(ただ1つのダミー)を有する更新済RSのプレーンテキスト形式を出力する。
(3)第2レベルRS記憶ユニットは、ダミー削除ユニットの出力を格納する。
【0062】
(第2の実施の形態の具体例)
図9は、本発明の第2の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。これにより、第2の実施の形態による新たな1項目を追加する場合と1項目を削除する場合を、直感的に理解できるであろう。
【0063】
第1の実施の形態と比較して、第2の実施の形態においてはスペース効率が向上する。
1つの新たな項目を追加するか、暗号化された項目を削除するかに関係なく、追加ダミーの数は「0」である。すなわち、固定的で変わらない。
さらに、RS(=n)のサイズが、所定のセキュリティパラメータkに対して、追加の場合、
【数7】
としてセットされ、削除の場合、n ≧kとしてセットされる場合、好奇心が強いが誠実な攻撃者が更新済みRSから目標行を識別する確率が最大で1/kである。
【数8】
は、Xより大きいか或いは等しい最も小さな整数を示している。
【0064】
更に、第2の実施の形態のAIMあるいはDIMにおいては、各行の長さが最初の初期化の後に2以上であること、また、取得したRS(n行)内の全ての行が初期化されることを保証するために初期化処理が導入される、
【0065】
(初期化処理)
各行において、特別項目E(master
key、row key)が、初期化処理がその行に対して実行されているかどうかを識別するために使用される。
例えば、E(master key、row
key)は、専用のシンボル「$」を導入することによってE(master key、row key||$)へ拡張される。
項目E(master key、row
key)は、その行が初期化されていない行であることを示し、一方、項目E(master key、row key||$)は、その行が初期化された行であることを示している。
EIIT中に合計でm行存在すると仮定した場合、初期化処理は以下の説明のように実行される。
(1)所定のセキュリティパラメータkについて、
【数9】
を計算する。
m≧nであれば、(2)に進み、そうでなければ初期化処理を中止する。
(2)取得したn行について、初期化された行であるかどうかを一行ずつ全ての行をチェックする。
初期化されていない行である場合は、少なくとも1つのダミーを追加し、E(master key, row key)をE(master key, row key||$)に変更する。そうでなければ、その行をそのままとする。
(3)nサイズのRSの全ての行が(2)に従って処理されると、第2の実施の形態のAIMあるいはDIMを起動する。
【0066】
最初の第2の実施の形態のAIMあるいはDIMの実行において、上記のステップ(1)−(3)が実行される。しかし、2回目及びそれ以降の第2の実施の形態のAIMあるいはDIMの実行においては、上記のステップ(1)を省略することが可能である。
【0067】
すなわち、第2の実施の形態のAIMあるいはDIMにおいて、まず、n行(暗号化された行)が取得される。その後、n行(暗号化された)がすべて初期化された行かどうかを判定する。すべて初期化されていれば、第2の実施の形態のAIMあるいはDIMが開始する。
そうでなければ、初期化されていない各行に対して、少なくとも1つのダミーが行(復号された行)に追加される。また、追加されたダミーを有する行(すぐにあるいは後で)再び暗号化され)は、初期化された行としてマーク付けされる。
これにより、第2の実施の形態のAIMあるいはDIMが開始する時、すべての取得したn行はすべて初期化された行となる。
一方、取得したn行がすべて初期化された行でない場合、すぐに初期化処理を実行する代わりに、他のn行(それらは先に取得したn行とは部分的に異なることがある)を新たに取得してもよい。
連続的な取得が絶え間なく続くのを防ぐため、回数(例えば、3回または5回)を予め定義し、新しく取得した他のn行が、n行全てが初期化された行であるという条件を予め定義した回数連続して満たさない場合、初期化処理を実行するようにする。
【0068】
従って、上記初期化処理の後、各行の長さは「2」以上となり、また、取得したRS(n行)内の全ての行が初期化される。
初めてのAIMあるいはDIMの実行では、全てのn行(各行は少なくとも1つのデータ項目を有する)は、ダミーを全く有しない。従って、初期化処理が各行について実行され、それにより、n行が初期化され、各行が最初の初期化後に2以上の長さを有するようになる。
第2の実施の形態におけるAIMあるいはDIMの以後の動作については、上記の条件が満たされるように、まず各未初期化行が初期化される。
【0069】
(第3の実施の形態)
第2の実施の形態において、1つの新たな項目を追加するかあるいは1つの暗号化項目を削除するかどうかに関係なく、ダミーの数は固定的である。
一定の条件が満たせば、スペース効率をさらに向上することができる。
第3の実施の形態における主要な特徴は、以下の追加の調整工程を除き、第2の実施の形態と同じである。
【0070】
(調整工程)
sを現在の全てのn行におけるダミーの共有数(common number)であると仮定する。すなわち、全ての行は、少なくともs個のダミーを含んでいる。
もし、s-1≧1でかつ各行の現在の長さが少なくともs+1ならば、各行からS−1個のダミーが削除される。
【0071】
調整工程の後、その行が目標行であるための最大で1/kの確率をなお保持する。
【0072】
図10および図11は、本発明の第3の実施の形態によるk−匿名更新方式と装置について説明する概略図である。追加する場合のブロック図を図10に示し、削除する場合のブロック図を図11に示す。
【0073】
図7および8と比較して、2つのブロックだけが調整工程を実行するために図10および11にそれぞれ追加される。すなわち、調整ユニットと第3レベルRS記憶ユニットである。
従って、これら2つのブロックについて詳細に説明する。その他のブロックについては、第2の実施の形態におけるブロックと同じであり、それらの詳細な説明は説明を分かり易くするために省略する。
(1)調整ユニットは、更新済みRSのプレーンテキスト形式を入力とし、以下の動作を実行する。
sを現在の全てのn行におけるダミーの共有数(common number)であると仮定する。すなわち、全ての行は、少なくともs個のダミーを含んでいる。
もし、s-11≧1でかつ各行の現在の長さが少なくともs+1ならば、調整ユニットは、各行からS−1個のダミーを削除する。
調整ユニットは、調整した更新済みRSのプレーンテキスト形式を出力する。
(2)第3レベルRS記憶ユニットは、調整した更新済みのRSのプレーンテキスト形式を格納する。
【0074】
(第3の実施の形態の具体例)
図12は、本発明の第3の実施の形態に従ってk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。これにより、第3の実施の形態に従って1つの新たな項目を追加する場合と1つの項目を削除する場合における調整工程を、直感的に理解できるであろう。
【0075】
第2の実施の形態と比較して、第3の実施の形態におけるスペース効率はさらに向上する。
1つの新たな項目を追加するか、暗号化された項目を削除するかに関係なく、しかも不変に保持することなく、追加ダミーの数は最大でも「0」である。
【0076】
上述したユニットは、図面において個別のブロックとして示しているけれども、どのユニットも1つの構成要素として他のものと組み合わせることが可能あるし、さらにいくつかの構成要素に分けることも可能である。
上記説明において複数のユニットを示したが、本発明は、その機能を実行することができれば、1ユニットを幾つかのユニットに分割し、あるいは1ユニットに幾つかのユニットを組み合わせることでも実現可能である。
【0077】
以上の説明は、本発明の好ましい実施の形態のみを提示するものであり、本発明に対していかなる限定も加えるものではない。従って、本発明の精神及び原則内においてなされた任意の変形、置き換え、改良などは本発明の範囲に含まれるものである。
【技術分野】
【0001】
本発明は、情報アップデート技術の分野に関し、特に、暗号化転置インデックステーブルに対するk−匿名(k-anonymity)更新のための方法および装置に関する。n行のデータがあると仮定すると、各行はそれぞれ1つ以上の暗号化された項目と共にインデックスとして暗号化されたキーワードを有する。n行のうち1つが更新しようとする目標行として選択されていると仮定する。すなわち、新たな暗号化された項目を該当する行に追加し、あるいは、暗号化された項目を該当する行から削除しようとする場合である。本発明の目的は、k−匿名性を実現することにある。すなわち、更新の前と後にn行を観察する好奇心が強いが誠実な攻撃者(curious but honest attacker:不正に情報を入手しようとする攻撃者)は、どの行が目標行かを多くても確率1/kで見分けることができる。ここで、kは予め定義されたセキュリティパラメータである。
【背景技術】
【0002】
現在、2つの増加傾向が出現している。すなわち、個人のプライバシーの保護に対する普遍的な関心と、ストレージサーバに対して外部委託する個人データである。ストレージサーバに対して個人データを外部委託する利用において、外部委託したドキュメントとそれらについて構築された転置インデックスの両方とも、機密保持とプライバシー上の理由のために暗号化形式が採用される。暗号化転置インデックステーブル(Encrypted Inverted Index Table:以下、「EIIT」と称する)は、様々な長さの多くの無関係な行から構成される代表的なデータ構造を有し、完全には信頼できないストレージサーバ(semi-trusted storage server)が検索者のために指定の暗号化キーワードの整合結果を見つけ出すことを可能にする機能を提供する。専用の暗号化キーワードでマーク付けされた各暗号化行は、そのキーワードに関する全ての暗号化ファイル情報を含む。暗号化キーワードの値は「行識別子」と呼ばれ、行内の暗号化されたファイル情報は「データ項目」と呼ばれる。
【0003】
同じ出願人による2つの特許出願、「高速検索可能な暗号化のための方法、装置及びシステム」の名称の中国特許出願200810098359.1(特許文献1)と中国特許出願200810145083.8(特許文献2)が暗号化された転置インデックステーブル(EIIT)を構築する方法を開示している。EIITは何千もの行を有する場合がある。上述したn行は、EIITから取り出された一部あるいはEIITの全行である。
【0004】
ドキュメントが更新され、新たなキーワードがドキュメントに追加される場合(あるいは、キーワードがドキュメントから削除される場合)、唯一の行、すなわち、EIITの目標行を更新する必要がある。
【0005】
しかしながら、単にEIITの目標行を更新することは、信頼されていない当事者(すなわち、EIITを格納するストレージサーバ)に対して、キーワードとドキュメント間の関連を露呈することになる。図1は、この問題を直感的な方法で示している。
【0006】
中国特許出願200810098359.1(特許文献1)と中国特許出願200810145083.8(特許文献2)には、「高速検索可能な暗号化方式」(Fast Searchable Encryption Method(FSE)と呼ばれるいくつかの技術的解決法が存在する。図2、図3を参照してその方法を概説する。図2はFSE方式および装置について説明する概略図である。また、図3は、FSE方式および装置が暗号化された行をどのように更新するかを示す概略図である。
(1)データ所有者は、まず、暗号化されたターゲットドキュメント(ETD)について実行される更新に従ってストレージサーバから希望の暗号化された行をすべて取得し、取得した行を出力する。
(2)暗号化された行について、データ所有者は、マスターキーを使用して、その行内のデータ所有者に知られている所定の位置に位置する特別項目E(マスターキー,行キー)の復号を実行し、行キーを取得する。その後、データ所有者は、行キーを使用して項目のプレーンテキスト形式を取得することができる。
(3)削除すべきオリジナルのプレーンテキスト項目について、データ所有者はこの行からそれを除去する。また、追加すべき新たなプレーンテキスト項目について、データ所有者はその行にそれを追加する。
(4)データ所有者は、すべての更新行のプレーンテキスト形式と暗号キーを入力とし、暗号キーで更新行のプレーンテキストを一つずつ暗号化し、特別項目を形成するために、マスターキーで暗号キーに対応する復号キー(新たな行キー)を暗号化し、それらの暗号化形式を出力し、ストレージサーバにそれらをアップロードする。
【0007】
この更新ルーチンの明白な欠点は、それらは両方とも暗号化された形式であるけれども、ストレージサーバがEIITとETD内の更新行間の引用関係を知っていることである。
最も関する技術分野においては、修正済(項目が追加されまたは削除された)ドキュメントと暗号化された索引テーブルの行間の関連は、インデックステーブルが暗号化されていても、更新の前と更新の後の行の長さを比較することにより露呈することができる。それはセキュリティとプライバシーの観点からすると危険である。
【0008】
その危険性は更新回数が増加するに従って激化するであろう。また、プライバシーはひどく危険にさらされるだろう。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】中国特許出願200810098359.1
【特許文献2】中国特許出願200810145083.8
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述したように、特許文献1及び特許文献2に記載される更新ルーチンの明白な欠点は、それらは両方とも暗号化された形式であるけれども、ストレージサーバがEIITとETD内の更新行間の引用関係を知っていることである。最も関する技術分野においては、修正済(項目が追加されまたは削除された)ドキュメントと暗号化された索引テーブルの行間の関連は、インデックステーブルが暗号化されていても、更新の前と更新の後の行の長さを比較することにより露呈することができる。それはセキュリティとプライバシーの観点からすると危険である。また、その危険性は更新回数が増加するに従って激化する。また、プライバシーはひどく危険にさらされることになる。
【課題を解決するための手段】
【0011】
n行(以下、n行の集合を「nサイズ行集合」と称し、略して「RS」と称する)の一行が最初の更新のための目標行として選択されると仮定する。すなわち、1つの新たな暗号化された項目が目標行に追加され、あるいは、1つの暗号化された項目が目標行から削除される場合に、更新の前と後にn行を観察する好奇心が強いが誠実な攻撃者(curious but honest attacker)がどの行が目標行かを多くても確率1/kで見分けるという可能性を保証する。ここで、kは予め定義されたセキュリティパラメータである。
【0012】
端的に言えば、更新を実行する時各行にダミーを導入することにより上記の目的を達成する。
【0013】
本発明の第1の態様によれば、暗号化された転置インデックステーブルに対するk−匿名性更新方法であって、外部記憶装置から暗号化されたデータ項目のn行を取得するステップと、前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号するステップと、復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成するステップと、更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化するステップと、前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするステップとを含み、nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とする。
【0014】
好ましい態様では、目標行更新と疑似演算実行ステップが、更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行に1つの新たな復号したデータ項目を追加し、復号したデータ項目の残るn−1行の各行に1つのダミーに追加することを特徴とする。
【0015】
好ましい態様では、目標行更新と疑似演算実行ステップが、更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする。
【0016】
好ましい態様では、復号ステップの前に、暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、暗号化されたデータ項目のn行がすべて初期化された行であれば、復号ステップを実行するステップを含み、目標行更新と疑似演算実行ステップが、少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを決定し、目標行の内に少なくとも1つのダミーがあれば、更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、nは
【数1】
として決定されることを特徴とする。さらに、目標行の内にダミーがなければ、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持する。
【0017】
好ましい態様では、復号ステップの前に、暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、暗号化されたデータ項目のn行がすべて初期化された行ならば、復号ステップを実行するステップとを含み、目標行更新と疑似演算実行ステップが、更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする。
【0018】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、復号ステップを実行し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0019】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする。
【0020】
好ましい態様では、新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする。
【0021】
好ましい態様では、新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさない場合、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0022】
好ましい態様では、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする。
【0023】
好ましい態様では、初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする。
【0024】
好ましい態様では、暗号化ステップの前に、更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除することを特徴とする。
【0025】
本発明の第1の態様によれば、暗号化された転置インデックステーブルに対するk−匿名更新のための装置であって、外部記憶装置から暗号化されたデータ項目のn行を取得する取得ユニットと、前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号する復号ユニットと、復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成する更新ユニットと、更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化する暗号化ユニットと、前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするアップロードユニットとを備え、nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とする。
【0026】
好ましい態様では、更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行に1つの新たな復号データ項目を追加し、復号されたデータ項目の残るn−1行の各行に1つのダミーを追加することを特徴とする。
【0027】
好ましい態様では、更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする。
【0028】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、前記更新ユニットは、少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを判定し、目標行の内に少なくとも1つのダミーがあれば、更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、nは
【数2】
として決定されることを特徴とする。また、目標行の内にダミーがなければ、前記更新ユニットは、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持する。
【0029】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする。
【0030】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記初期化ユニットは、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0031】
好ましい態様では、暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記取得ユニットは、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする。
【0032】
好ましい態様では、新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする。
【0033】
好ましい態様では、初期化ユニットが、新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさないと判定すると、前記初期化ユニットは、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする。
【0034】
好ましい態様では、初期化ユニットは、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする。
【0035】
好ましい態様では、初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする。
【0036】
好ましい態様では、更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、
以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除する調整ユニットをさらに備えることを特徴とする。
【0037】
本発明の方法では、目標行に1つの新たな項目を追加する場合、同時に他のn−1のダミー行のそれぞれに対してダミー項目を追加する。これにより、全てのn行の暗号化データが変更されるが、全てのn行の長さが「1」だけ増加する。目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。他のn−1のダミー行の長さは、そのままである。このように、暗号化されたデータはすべてのn行において変更されるが、全てのn行の長さは不変である。これにより、nがn≧kとしてセットされる場合、RSのn行のうちの目標行は、好奇心が強いが誠実な攻撃者によって最大限でも確率1/kで識別されることになる。
【0038】
本発明の他の方法では、目標行に1つの新たな項目を追加する場合、目標行内に少なくとも1つのダミーが存在する場合、このダミーを新たな項目に置き換え、RS内の任意の行に他のダミーを追加する。他方、目標行がダミーを有しない場合は、単に目標行に新たな項目を追加し、付加的なダミーを他のn−1行に追加しない。このように、更新済みRSの内では、暗号化データはすべてのn行において変更されるが、目標行は、1項目だけ増加し(目標行内にダミーが無い場合)、あるいはn−1個の他の行の1行が1項目だけ増加する(目標行内に少なくとも1つのダミーがある場合)。すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。RSから少なくとも1つのダミーを有する1つの行を任意に選択し、次に、選択した行から1つのダミーを削除する。取得したn行内にダミーが全く存在しない最悪の削除状況では、置き換えステップで目標行に1つの新たなダミーを導入する。すなわち、この処理中、少なくとも1つのダミーを有する行を必ず見つけ出すことができる。このように、暗号化データはすべてのn行において変更されるが、更新済みRSの内では、目標行が、1項目だけ減少し(選択した行が目標行である場合)、あるいは他のn−1行の1行が1項目だけ減少する(選択した行が目標行でない場合)。すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。
【0039】
これにより、追加の場合、nが
【数3】
としてセットされ、削除の場合、nがn ≧kとしてセットされると、RSのn行のうちの目標行は、好奇心が強いが誠実な攻撃者によって最大限でも確率1/kで識別されることになる。更に、より少ないダミーが、同じセキュリティの強度の維持しつつスペース効率を向上させるために導入されるだろう。すなわち、本発明の他の方法によれば、1つの新たな項目を追加するか、暗号化された項目を削除するかに関係なく、ダミーの数は固定的で変わらない。
【0040】
本発明のさらに他の方法では、一定の条件が満たせば、スペース効率をさらに向上することができる。具体的には、sを現在の全てのn行におけるダミーの共有数(common number)であると仮定する。すなわち、全ての行は、少なくともs個のダミーを含んでいる。もし、s-1≧1でかつ各行の現在の長さが少なくともs+1ならば、各行からS−1個のダミーが削除される。これにより、より少ないダミーが同じセキュリティの強度の維持しつつ導入される。
【発明の効果】
【0041】
本発明は、所定のセキュリティパラメータkに対して、好奇心が強いが誠実な攻撃者が更新された行集合から目標行を識別する確率を多くても1/kとすることを可能にする。
【図面の簡単な説明】
【0042】
本発明の前述した目的、特徴及び効果と他の目的、特徴及び効果は、添附の図面を参照した本発明の限定されない実施の形態に関する以下の説明からより明らかになるであろう。
【図1】好奇心が強いが誠実な攻撃者が修正済の行をどのように見つけ出すかを示す概略図である。
【図2】FSE方式および装置について説明する概略図である。
【図3】FSE方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【図4】本発明の第1の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図5】本発明の第1の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図6】本発明の第1の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【図7】本発明の第2の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図8】本発明の第2の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図9】本発明の第2の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【図10】本発明の第3の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図11】本発明の第3の実施の形態によるk−匿名更新方式および装置について説明する概略図である。
【図12】本発明の第3の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。
【発明を実施するための形態】
【0043】
以下、図面を参照して本発明について説明する。以下の説明において、幾つかの特定の実施の形態は説明のみの目的で使用される。これらの実施の形態はあくまで例示であり、本発明を限定するものとして理解してはならない。また、本発明の理解が多少曖昧になる可能性はあるが、従来技術の構成・構造の説明は省略する。
【0044】
k−匿名性更新の場合、二人の当事者(すなわちデータ所有者と好奇心が強いが誠実な観察者)が関与する。ストレージサーバは明らかに好奇心が強いが誠実な観察者(curious
but honest observer)である。具体的な工程を説明する前に、いくつかの特殊記号および略語を以下に定義する。
k:予め定義されたセキュリティパラメータ、定数
n:パラメータnは、k−匿名性更新を満たす毎に取得された行の合計数である。また、nは行集合RSの大きさである。
好奇心が強いが誠実な攻撃者:攻撃者は予め定められた工程を遵守するが、保護された情報を探りたい。
AIM:k−匿名方式に基づいてデータ項目を追加する方法。
DIM:k−匿名方式に基づいてデータ項目を削除する方法。
EIIT:暗号化転置インデックステーブル(Inverted Index Table)。より具体的には、EIITはm行から成る。各行は、指定されたキーワードに関する暗号化ファイル情報とおよび(または)1つ以上の乱数(ダミー)を含んでおり、キーワードとマスターキーから導き出した任意の値でマーク付けされる。
RS:nサイズの行集合、1つの目標行とn−1個のダミー行を含んでいる。
【0045】
本発明は3つの実施の形態を含んでいる。以下に、本発明の詳細な説明を記載する。
【0046】
(第1の実施の形態)
第1の実施の形態に関して、行集合(=n)のサイズが所定のセキュリティパラメータkに対してn≧kとしてセットされる場合(nとkは正の整数)、好奇心が強いが誠実な攻撃者が更新された行集合から目標行を識別する確率は最大で1/kである。
【0047】
図4および図5は、本発明の第1の実施の形態によるk−匿名更新方法および装置を説明する概略図である。追加する場合のブロック図を図4に示し、削除する場合のブロック図を図5に示す。
【0048】
(第1の実施の形態におけるAIM)
目標行に1つの新たな項目を追加する場合、同時に他のn−1のダミー行のそれぞれに対してダミー項目を追加する。これにより、全てのn行の暗号化データが変更されるが、全てのn行の長さが「1」だけ増加する。
【0049】
第1の実施の形態における1つの新たな項目の追加に関する構成要素を図4を参照して以下に説明する。
(1)RS取得ユニットは、外部記憶装置(信頼できない記憶装置−外部EIITユニット)から、暗号化された形式でnサイズのRSを取得する。
nは所定の値kから計算される。
ここで、所定の値kは、RS取得ユニットに予め設定されるか、あるいは利用者によって入力される。
(2)キー記憶ユニットは、RS内のデータ項目を暗号化し、復号するために使用するマスターキーを格納する。
(3)前処理ユニットは、取得した暗号化RSおよびマスターキーを入力として、RS内の暗号化された項目をすべて復号し、もとのRSのプレーンテキスト形式を出力する。
この復号において、まず、マスターキー(master key)が行キーを得るための復号を実行するのに使用される。次に、行鍵キーがもとのRSのプレーンテキスト形式を得るための復号を実行するのに使用される。
(4)入力項目記憶ユニットは、追加する新たな項目を格納する。
(5)入力RS記憶ユニットは、前処理ユニットの出力を格納する。
(6)項目挿入ユニットは、追加する項目およびRSのプレーンテキスト形式を入力とし、目標行に項目を追加し、目標行に追加された入力項目を有する更新済みRSのプレーンテキスト形式を出力する。
(7)第1レベルRS記憶ユニットは、項目挿入ユニットの出力を格納する。
(8)ダミー挿入ユニットは、更新済みRSを入力とし、他のn−1のダミー行のそれぞれに対してダミー項目を追加し、また目標行に追加された入力項目と、他のn−1のダミー行のそれぞれに追加されたダミー項目を有する更新済みRSのプレーンテキスト形式を出力する。
(9)第2レベルRS記憶ユニットは、ダミー挿入ユニットの出力を格納する。
(10)後処理ユニットは、更新済みRSのプレーンテキスト形式およびマスターキーを入力とし、更新済みRS内の項目を一行づつすべて再暗号化し、更新済みRSの暗号化形式を出力する。
この暗号化において、1つの暗号キーあるいは複数の暗号キーが更新済みRS内のそれぞれの行における項目を再暗号化するために使用される。また、マスターキーは、特別項目を形成するためにそれぞれの行について使用された暗号キーに対応する解読キーあるいは暗号キー(新たな行キー(row key))を暗号化するために使用される。それにより、更新済みRSの暗号化形式が生成される。
(11)更新RS記憶ユニットは、後処理ユニットの出力を格納する。
(12)RSアップロードユニットは、暗号化形式のnサイズの更新済みRSを入力とし、外部記憶装置にnサイズの更新済みRSをアップロードし、アップロード状態によって「真」か「偽」の何れかを出力する(すなわち、アップロードが成功すれば、「真」を返却し、そうでなければ、「偽」を返却する)。
【0050】
ここで、マスターキーおよび/または行キーとしては、対称暗号化スキーム(symmetric cryptography scheme)において使用される対称キー、ペアワイズ暗号化スキームにおいて使用されるペアの公開キーと秘密キー、あるいは周知の暗号化スキームにおいて使用される他のキーを利用することが可能である。本発明において、暗号化/復号スキームは特に限定されない。
【0051】
(第1の実施の形態におけるDIM)
目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。他のn−1のダミー行の長さは、そのままである。このように、暗号化されたデータはすべてのn行において変更されるが、全てのn行の長さは不変である。
【0052】
第1の実施の形態における1つの無用な項目の削除に関する構成要素を図5を参照して以下に説明する。
(1)RS取得ユニット、キー記憶ユニット、前処理ユニット、入力RS記憶ユニット、第1レベルRS記憶ユニット、後処理ユニット、更新RS記憶ユニットとRSアップロードユニットは、第1の実施の形態における1つの新たな項目を追加する場合と同じように動作する。これらについては、既に第1の実施の形態におけるAIMで説明した通りであり、それらの詳細な説明は説明を分かり易くするために省略する。
(2)入力項目記憶ユニットは、削除項目を格納する。
(3)項目置換ユニットは、削除項目およびRSのプレーンテキスト形式を入力とし、削除する項目の位置を特定し、目標行内のその項目をダミーで置き換え、ダミーと置き換えられた削除項目を有する更新済みRSのプレーンテキスト形式を出力する。
【0053】
(第1の実施の形態の具体例)
図6は、本発明の第1の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。これにより、第1の実施の形態による新たな1項目を追加する場合と1項目を削除する場合を、直感的に理解できるであろう。
【0054】
最も関連する技術と比較して、行集合(=n)のサイズが所定のセキュリティパラメータkに対してn≧kとしてセットされる場合(nとkは正の整数)、好奇心が強いが誠実な攻撃者が更新済みRSから目標行を識別する確率は最大で1/kである。
【0055】
(第2の実施の形態)
1つの新たな項目を追加する場合、第1の実施の形態においては、n−1個のダミーが追加される。また、1つの暗号化項目を削除する場合、第1の実施の形態においては、1個のダミーが追加される。空間効率を向上させるためには、同じセキュリティの強度を保持しながら、より少数のダミーを導入すべきである。
【0056】
第2の実施の形態においては、好奇心が強いが誠実な攻撃者が更新済みRSから目標行を識別する確率が最大で1/kであるという要求を満たすために、RS(=n)のサイズが、所定のセキュリティパラメータkに対して、追加の場合、
【数4】
としてセットされ、削除の場合、n ≧kとしてセットされる。ここで、nとkは正の整数である、eは、数学的な定数(「オイラーの数」、e≒2.71828として知られている)である。また、
【数5】
は上位の整関数であり、
【数6】
は、Xより大きいか或いは等しい最も小さな整数を示している。
【0057】
図7および図8は、本発明の第2の実施の形態によるk−匿名更新方式および装置について説明する概略図である。追加する場合のブロック図を図7に示し、削除する場合のブロック図を図8に示す。
【0058】
(第2の実施の形態におけるAMI)
目標行に1つの新たな項目を追加する場合、目標行内に少なくとも1つのダミーが存在する場合、このダミーを新たな項目に置き換え、RS内の任意の行に他のダミーを追加する。他方、目標行がダミーを有しない場合は、単に目標行に新たな項目を追加し、付加的なダミーを他のn−1行に追加しない。このように、更新済みRSの内では、暗号化データはすべてのn行において変更されるが、目標行は、1項目だけ増加し(目標行内にダミーが無い場合)、あるいはn−1個の他の行の1行が1項目だけ増加する(目標行内に少なくとも1つのダミーがある場合)。すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。
【0059】
第2の実施の形態における1つの新たな項目の追加に関する構成要素を図7を参照して以下に説明する。
(1)RS取得ユニット、キー記憶ユニット、前処理ユニット、入力項目記憶ユニット、入力RS記憶ユニット、第1レベルRS記憶ユニット、更新RS記憶ユニット、後処理ユニット、RSアップロードユニットは、第1の実施の形態における1つの新たな項目を追加する場合と同じように動作する。これらについては、既に第1の実施の形態におけるAIMで説明した通りであり、それらの詳細な説明は説明を分かり易くするために省略する。
(2)項目挿入ユニットは、追加する項目およびRSのプレーンテキスト形式を入力とし、目標行内に少なくとも1つのダミーがあれば、目標行内のダミーを入力項目と置き換え、そうでなければ目標行に直接入力項目を追加する。
項目挿入ユニットは、置き換えによって目標行に追加した新たな項目あるいは目標行に直接追加した新たな項目を有する更新済みRSのプレーンテキスト形式を出力する。
(3)ダミー挿入制御ユニットは、項目挿入ユニットにおいて置き換えが生じるかどうかを記録し、その状態によって「真」か「偽」の何れかを出力する(すなわち、置き換えが生じれば、「真」を返却し、そうでなければ、「偽」を出力する)。
(4)ダミー挿入ユニットは、更新済RSのプレーンテキスト形式を入力とし、RSから1行を任意に選択し、置き換えが生じると(すなわち、ダミー挿入制御ユニットが「真」を出力すると)、選択した行に1つのダミーを追加する。そうでなければ(すなわち、ダミー挿入制御ユニットが「偽」を出力すると)、ダミー挿入ユニットは、項目挿入ユニットから出力される更新済みRSのプレーンテキスト形式に対して何も行わない。ダミー挿入ユニットは、追加した別のダミーを有する更新済みRSのプレーンテキスト形式を出力する。
(5)第2レベルRS記憶ユニットは、ダミー挿入ユニットの出力を格納する。
【0060】
(第2の実施の形態におけるDIM)
目標行から1つの暗号化された項目を削除する場合、目標行内の暗号化された項目をダミーで置き換える。RSから少なくとも1つのダミーを有する1つの行を任意に選択し、次に、選択した行から1つのダミーを削除する。
取得したn行内にダミーが全く存在しない最悪の削除状況では、最初のステップで取得したオリジナルのn行の1つに1つの新たなダミーを導入する。
すなわち、この処理中、少なくとも1つのダミーを有する行を必ず見つけ出すことができる。
このように、暗号化データはすべてのn行において変更されるが、更新済みRSの内では、目標行は、1項目だけ減少し(選択した行が目標行である場合)、あるいはn−1個の他の行の1行が1項目だけ減少する(選択した行が目標行でない場合)。
すなわち、目標行は、更新済みRS内の行長さの変動と何ら関係を有しない。
【0061】
第2の実施の形態における1つの無用な項目の削除に関する構成要素を図8を参照して以下に説明する。
(1) RS取得ユニット、キー記憶ユニット、前処理ユニット、入力項目記憶ユニット、入力RS記憶ユニット、項目置換ユニット、第1レベルRS記憶ユニット、更新RS記憶ユニット、後処理ユニットとRSアップロードユニットは、第1の実施の形態における1つの新たな項目を追加する場合と同じように動作する。これらについては、既に第1の実施の形態におけるDIMで説明した通りであり、それらの詳細な説明は説明を分かり易くするために省略する。
(2)ダミー削除ユニットは、更新済RSのプレーンテキスト形式を入力とし、RSから少なくとも1つのダミーを有する1つの行を任意に選択し、選択した行から1つのダミーを削除する。
ダミー削除ユニットは、1つのダミーと置き換えられて削除される項目及び任意に選択したRSの行から削除された別のダミー(ただ1つのダミー)を有する更新済RSのプレーンテキスト形式を出力する。
(3)第2レベルRS記憶ユニットは、ダミー削除ユニットの出力を格納する。
【0062】
(第2の実施の形態の具体例)
図9は、本発明の第2の実施の形態によるk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。これにより、第2の実施の形態による新たな1項目を追加する場合と1項目を削除する場合を、直感的に理解できるであろう。
【0063】
第1の実施の形態と比較して、第2の実施の形態においてはスペース効率が向上する。
1つの新たな項目を追加するか、暗号化された項目を削除するかに関係なく、追加ダミーの数は「0」である。すなわち、固定的で変わらない。
さらに、RS(=n)のサイズが、所定のセキュリティパラメータkに対して、追加の場合、
【数7】
としてセットされ、削除の場合、n ≧kとしてセットされる場合、好奇心が強いが誠実な攻撃者が更新済みRSから目標行を識別する確率が最大で1/kである。
【数8】
は、Xより大きいか或いは等しい最も小さな整数を示している。
【0064】
更に、第2の実施の形態のAIMあるいはDIMにおいては、各行の長さが最初の初期化の後に2以上であること、また、取得したRS(n行)内の全ての行が初期化されることを保証するために初期化処理が導入される、
【0065】
(初期化処理)
各行において、特別項目E(master
key、row key)が、初期化処理がその行に対して実行されているかどうかを識別するために使用される。
例えば、E(master key、row
key)は、専用のシンボル「$」を導入することによってE(master key、row key||$)へ拡張される。
項目E(master key、row
key)は、その行が初期化されていない行であることを示し、一方、項目E(master key、row key||$)は、その行が初期化された行であることを示している。
EIIT中に合計でm行存在すると仮定した場合、初期化処理は以下の説明のように実行される。
(1)所定のセキュリティパラメータkについて、
【数9】
を計算する。
m≧nであれば、(2)に進み、そうでなければ初期化処理を中止する。
(2)取得したn行について、初期化された行であるかどうかを一行ずつ全ての行をチェックする。
初期化されていない行である場合は、少なくとも1つのダミーを追加し、E(master key, row key)をE(master key, row key||$)に変更する。そうでなければ、その行をそのままとする。
(3)nサイズのRSの全ての行が(2)に従って処理されると、第2の実施の形態のAIMあるいはDIMを起動する。
【0066】
最初の第2の実施の形態のAIMあるいはDIMの実行において、上記のステップ(1)−(3)が実行される。しかし、2回目及びそれ以降の第2の実施の形態のAIMあるいはDIMの実行においては、上記のステップ(1)を省略することが可能である。
【0067】
すなわち、第2の実施の形態のAIMあるいはDIMにおいて、まず、n行(暗号化された行)が取得される。その後、n行(暗号化された)がすべて初期化された行かどうかを判定する。すべて初期化されていれば、第2の実施の形態のAIMあるいはDIMが開始する。
そうでなければ、初期化されていない各行に対して、少なくとも1つのダミーが行(復号された行)に追加される。また、追加されたダミーを有する行(すぐにあるいは後で)再び暗号化され)は、初期化された行としてマーク付けされる。
これにより、第2の実施の形態のAIMあるいはDIMが開始する時、すべての取得したn行はすべて初期化された行となる。
一方、取得したn行がすべて初期化された行でない場合、すぐに初期化処理を実行する代わりに、他のn行(それらは先に取得したn行とは部分的に異なることがある)を新たに取得してもよい。
連続的な取得が絶え間なく続くのを防ぐため、回数(例えば、3回または5回)を予め定義し、新しく取得した他のn行が、n行全てが初期化された行であるという条件を予め定義した回数連続して満たさない場合、初期化処理を実行するようにする。
【0068】
従って、上記初期化処理の後、各行の長さは「2」以上となり、また、取得したRS(n行)内の全ての行が初期化される。
初めてのAIMあるいはDIMの実行では、全てのn行(各行は少なくとも1つのデータ項目を有する)は、ダミーを全く有しない。従って、初期化処理が各行について実行され、それにより、n行が初期化され、各行が最初の初期化後に2以上の長さを有するようになる。
第2の実施の形態におけるAIMあるいはDIMの以後の動作については、上記の条件が満たされるように、まず各未初期化行が初期化される。
【0069】
(第3の実施の形態)
第2の実施の形態において、1つの新たな項目を追加するかあるいは1つの暗号化項目を削除するかどうかに関係なく、ダミーの数は固定的である。
一定の条件が満たせば、スペース効率をさらに向上することができる。
第3の実施の形態における主要な特徴は、以下の追加の調整工程を除き、第2の実施の形態と同じである。
【0070】
(調整工程)
sを現在の全てのn行におけるダミーの共有数(common number)であると仮定する。すなわち、全ての行は、少なくともs個のダミーを含んでいる。
もし、s-1≧1でかつ各行の現在の長さが少なくともs+1ならば、各行からS−1個のダミーが削除される。
【0071】
調整工程の後、その行が目標行であるための最大で1/kの確率をなお保持する。
【0072】
図10および図11は、本発明の第3の実施の形態によるk−匿名更新方式と装置について説明する概略図である。追加する場合のブロック図を図10に示し、削除する場合のブロック図を図11に示す。
【0073】
図7および8と比較して、2つのブロックだけが調整工程を実行するために図10および11にそれぞれ追加される。すなわち、調整ユニットと第3レベルRS記憶ユニットである。
従って、これら2つのブロックについて詳細に説明する。その他のブロックについては、第2の実施の形態におけるブロックと同じであり、それらの詳細な説明は説明を分かり易くするために省略する。
(1)調整ユニットは、更新済みRSのプレーンテキスト形式を入力とし、以下の動作を実行する。
sを現在の全てのn行におけるダミーの共有数(common number)であると仮定する。すなわち、全ての行は、少なくともs個のダミーを含んでいる。
もし、s-11≧1でかつ各行の現在の長さが少なくともs+1ならば、調整ユニットは、各行からS−1個のダミーを削除する。
調整ユニットは、調整した更新済みRSのプレーンテキスト形式を出力する。
(2)第3レベルRS記憶ユニットは、調整した更新済みのRSのプレーンテキスト形式を格納する。
【0074】
(第3の実施の形態の具体例)
図12は、本発明の第3の実施の形態に従ってk−匿名更新方式および装置が暗号化された行をどのように更新するかを示す概略図である。これにより、第3の実施の形態に従って1つの新たな項目を追加する場合と1つの項目を削除する場合における調整工程を、直感的に理解できるであろう。
【0075】
第2の実施の形態と比較して、第3の実施の形態におけるスペース効率はさらに向上する。
1つの新たな項目を追加するか、暗号化された項目を削除するかに関係なく、しかも不変に保持することなく、追加ダミーの数は最大でも「0」である。
【0076】
上述したユニットは、図面において個別のブロックとして示しているけれども、どのユニットも1つの構成要素として他のものと組み合わせることが可能あるし、さらにいくつかの構成要素に分けることも可能である。
上記説明において複数のユニットを示したが、本発明は、その機能を実行することができれば、1ユニットを幾つかのユニットに分割し、あるいは1ユニットに幾つかのユニットを組み合わせることでも実現可能である。
【0077】
以上の説明は、本発明の好ましい実施の形態のみを提示するものであり、本発明に対していかなる限定も加えるものではない。従って、本発明の精神及び原則内においてなされた任意の変形、置き換え、改良などは本発明の範囲に含まれるものである。
【特許請求の範囲】
【請求項1】
暗号化された転置インデックステーブルに対するk−匿名性更新方法であって、
外部記憶装置から暗号化されたデータ項目のn行を取得するステップと、
前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号するステップと、
復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成するステップと、
更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化するステップと、
前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするステップとを含み、
nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とするk−匿名性更新方法。
【請求項2】
前記目標行更新と疑似演算実行ステップが、
更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行に1つの新たな復号したデータ項目を追加し、復号したデータ項目の残るn−1行の各行に1つのダミーに追加することを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項3】
前記目標行更新と疑似演算実行ステップが、
更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項4】
前記復号ステップの前に、
暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、
暗号化されたデータ項目のn行がすべて初期化された行であれば、復号ステップを実行するステップを含み、
前記目標行更新と疑似演算実行ステップが、
少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを決定し、
目標行の内に少なくとも1つのダミーがあれば、
更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、
nは
【数10】
として決定されることを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項5】
目標行の内にダミーがなければ、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持することを特徴とする請求項4に記載のk−匿名性更新方法。
【請求項6】
前記復号ステップの前に、
暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、
暗号化されたデータ項目のn行がすべて初期化された行ならば、復号ステップを実行するステップとを含み、
前記目標行更新と疑似演算実行ステップが、
更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、
復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項7】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、
復号ステップを実行し、各初期化されていない行について、
初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項4から請求項6の何れかに記載のk−匿名性更新方法。
【請求項8】
暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項7に記載のk−匿名性更新方法。
【請求項9】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項8に記載のk−匿名性更新方法。
【請求項10】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする請求項4から請求項6の何れかに記載のk−匿名性更新方法。
【請求項11】
新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする請求項10に記載のk−匿名性更新方法。
【請求項12】
新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさない場合、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項10又は請求項11に記載のk−匿名性更新方法。
【請求項13】
暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項12に記載のk−匿名性更新方法。
【請求項14】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項13に記載のk−匿名性更新方法。
【請求項15】
前記暗号化ステップの前に、
更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、
以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除することを特徴とする請求項4から請求項14の何れかに記載のk−匿名性更新方法。
【請求項16】
暗号化された転置インデックステーブルに対するk−匿名更新のための装置であって、
外部記憶装置から暗号化されたデータ項目のn行を取得する取得ユニットと、
前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号する復号ユニットと、
復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成する更新ユニットと、
更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化する暗号化ユニットと、
前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするアップロードユニットとを備え、
nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とするk−匿名更新のための装置。
【請求項17】
前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行に1つの新たな復号データ項目を追加し、復号されたデータ項目の残るn−1行の各行に1つのダミーを追加することを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項18】
前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項19】
暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、
前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、
前記更新ユニットは、少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを判定し、目標行の内に少なくとも1つのダミーがあれば、
更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、
nは
【数11】
として決定される
ことを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項20】
目標行の内にダミーがなければ、前記更新ユニットは、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持することを特徴とする請求項19に記載のk−匿名更新のための装置。
【請求項21】
暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、
前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、
前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項22】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記初期化ユニットは、
各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項19から請求項21の何れかに記載のk−匿名更新のための装置。
【請求項23】
前記初期化ユニットは、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項21に記載のk−匿名更新のための装置。
【請求項24】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項23に記載のk−匿名更新のための装置。
【請求項25】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記取得ユニットは、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする請求項19から請求項21の何れかに記載のk−匿名更新のための装置。
【請求項26】
新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする請求項25に記載のk−匿名更新のための装置。
【請求項27】
前記初期化ユニットが、新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさないと判定すると、
前記初期化ユニットは、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項25又は請求項26に記載のk−匿名更新のための装置。
【請求項28】
前記初期化ユニットは、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項27に記載のk−匿名更新のための装置。
【請求項29】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項28に記載のk−匿名更新のための装置。
【請求項30】
更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、
以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除する調整ユニットをさらに備えることを特徴とする請求項19から請求項29の何れかに記載のk−匿名更新のための装置。
【請求項1】
暗号化された転置インデックステーブルに対するk−匿名性更新方法であって、
外部記憶装置から暗号化されたデータ項目のn行を取得するステップと、
前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号するステップと、
復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成するステップと、
更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化するステップと、
前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするステップとを含み、
nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とするk−匿名性更新方法。
【請求項2】
前記目標行更新と疑似演算実行ステップが、
更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行に1つの新たな復号したデータ項目を追加し、復号したデータ項目の残るn−1行の各行に1つのダミーに追加することを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項3】
前記目標行更新と疑似演算実行ステップが、
更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項4】
前記復号ステップの前に、
暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、
暗号化されたデータ項目のn行がすべて初期化された行であれば、復号ステップを実行するステップを含み、
前記目標行更新と疑似演算実行ステップが、
少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを決定し、
目標行の内に少なくとも1つのダミーがあれば、
更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、
nは
【数10】
として決定されることを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項5】
目標行の内にダミーがなければ、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持することを特徴とする請求項4に記載のk−匿名性更新方法。
【請求項6】
前記復号ステップの前に、
暗号化されたデータ項目のn行がすべて初期化された行かどうかを決定するステップと、
暗号化されたデータ項目のn行がすべて初期化された行ならば、復号ステップを実行するステップとを含み、
前記目標行更新と疑似演算実行ステップが、
更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、
復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする請求項1に記載のk−匿名性更新方法。
【請求項7】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、
復号ステップを実行し、各初期化されていない行について、
初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項4から請求項6の何れかに記載のk−匿名性更新方法。
【請求項8】
暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項7に記載のk−匿名性更新方法。
【請求項9】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項8に記載のk−匿名性更新方法。
【請求項10】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする請求項4から請求項6の何れかに記載のk−匿名性更新方法。
【請求項11】
新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする請求項10に記載のk−匿名性更新方法。
【請求項12】
新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさない場合、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項10又は請求項11に記載のk−匿名性更新方法。
【請求項13】
暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項12に記載のk−匿名性更新方法。
【請求項14】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項13に記載のk−匿名性更新方法。
【請求項15】
前記暗号化ステップの前に、
更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、
以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除することを特徴とする請求項4から請求項14の何れかに記載のk−匿名性更新方法。
【請求項16】
暗号化された転置インデックステーブルに対するk−匿名更新のための装置であって、
外部記憶装置から暗号化されたデータ項目のn行を取得する取得ユニットと、
前記暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号する復号ユニットと、
復号されたデータ項目のn行の中の1つの目標行を更新し、復号されたデータ項目の残るn−1行の各行に疑似演算を実行して、更新済みデータ項目のn行を形成する更新ユニットと、
更新済みデータ項目のn行を更新済み暗号化データ項目のn行として暗号化する暗号化ユニットと、
前記外部記憶装置に更新済み暗号化データ項目のn行をアップロードするアップロードユニットとを備え、
nは所定のセキュリティパラメータkによってn≧kとして決定される(nとkは正の整数)ことを特徴とするk−匿名更新のための装置。
【請求項17】
前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行に1つの新たな復号データ項目を追加し、復号されたデータ項目の残るn−1行の各行に1つのダミーを追加することを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項18】
前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号したデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号したデータ項目の残るn−1行を不変に保持することを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項19】
暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、
前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、
前記更新ユニットは、少なくとも1つのダミーが復号されたデータ項目のn行の中の目標行の内にあるかどうかを判定し、目標行の内に少なくとも1つのダミーがあれば、
更新済みのデータ項目のn行を形成するために、目標行内の1つのダミーを、1つの新たな復号されたデータ項目で置き換え、復号されたデータ項目のn行から任意に選択された1つの行に1つのダミーに追加し、
nは
【数11】
として決定される
ことを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項20】
目標行の内にダミーがなければ、前記更新ユニットは、更新済みのデータ項目のn行を形成するために、目標行に1つの新たな復号されたデータ項目を追加し、復号されたデータ項目の残るn−1行を不変に保持することを特徴とする請求項19に記載のk−匿名更新のための装置。
【請求項21】
暗号化されたデータ項目のn行がすべて初期化された行かどうか決定するのための初期化ユニットを備え、
前記初期化ユニットは、暗号化されたデータ項目のn行がすべて初期化された行でなければ、初期化処理を実行し、そうでなければ、初期化処理を実行せず、
前記更新ユニットは、目標行更新および疑似演算を完了して更新済みのデータ項目のn行を形成するために、復号されたデータ項目のn行の中の目標行内の1つの復号されたデータ項目を1つのダミーで置き換え、復号されたデータ項目のn行から任意に選択された少なくとも1つのダミーを有する1つの行から1つのダミーを削除することを特徴とする請求項16に記載のk−匿名更新のための装置。
【請求項22】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記初期化ユニットは、
各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項19から請求項21の何れかに記載のk−匿名更新のための装置。
【請求項23】
前記初期化ユニットは、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項21に記載のk−匿名更新のための装置。
【請求項24】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項23に記載のk−匿名更新のための装置。
【請求項25】
暗号化されたデータ項目のn行がすべて初期化された行でなければ、前記取得ユニットは、暗号化されたデータ項目の他のn行を、外部記憶装置から新たに取得することを特徴とする請求項19から請求項21の何れかに記載のk−匿名更新のための装置。
【請求項26】
新たに取得した暗号化されたデータ項目の他のn行と先に取得した暗号化されたデータ項目のn行は、部分的に異なることを特徴とする請求項25に記載のk−匿名更新のための装置。
【請求項27】
前記初期化ユニットが、新たに取得した暗号化されたデータ項目の他のn行が、暗号化されたデータ項目のn行が全てが初期化された行であるという条件を所定回数連続して満たさないと判定すると、
前記初期化ユニットは、暗号化されたデータ項目のn行を復号されたデータ項目のn行として復号し、各初期化されていない行について、初期化されていない行から復号された、復号されたデータ項目の1つの行に少なくとも1つのダミーを追加し、初期化された行の中に初期化されていない行をマーク付けする初期化処理を実行することを特徴とする請求項25又は請求項26に記載のk−匿名更新のための装置。
【請求項28】
前記初期化ユニットは、暗号化されたデータ項目の1つの行が初期化された行かどうかを、暗号化されたデータ項目の1つの行の所定の位置にある専用項目を識別することにより決定することを特徴とする請求項27に記載のk−匿名更新のための装置。
【請求項29】
初期化されていない行を識別する専用項目が、E(master key, row key)であり、初期化された行を識別する専用項目が、E(master key, row key||$)であり、シンボル”$”が初期化されていない行と初期化された行を区別するための専用のシンボルであることを特徴とする請求項28に記載のk−匿名更新のための装置。
【請求項30】
更新済みのデータ項目のn行の各行が少なくともs個のダミーを有する場合の最大の整数sを決定し、
以下の2つの条件1)および2)を満たすかどうか決定し、
1) s−1≧1
2)更新済みのデータ項目のn行の各行における更新済みのデータ項目の数≧s+1
2つの条件1)と2)を満たせば、更新済みのデータ項目のn行の各行からs−1個のダミーを削除する調整ユニットをさらに備えることを特徴とする請求項19から請求項29の何れかに記載のk−匿名更新のための装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−186163(P2010−186163A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−278185(P2009−278185)
【出願日】平成21年12月8日(2009.12.8)
【出願人】(505418870)エヌイーシー(チャイナ)カンパニー, リミテッド (108)
【氏名又は名称原語表記】NEC(China)Co.,Ltd.
【Fターム(参考)】
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−278185(P2009−278185)
【出願日】平成21年12月8日(2009.12.8)
【出願人】(505418870)エヌイーシー(チャイナ)カンパニー, リミテッド (108)
【氏名又は名称原語表記】NEC(China)Co.,Ltd.
【Fターム(参考)】
[ Back to top ]