説明

情報処理装置および情報アクセス方法

【課題】アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減できる情報処理装置を提供する。
【解決手段】暗号化された情報を含む暗号化情報を記憶する情報記憶部121と、データ構造の単位であるボックスのサイズとボックスの種類と実体情報とをデータ構造の要素として含むボックスで表され、暗号化情報の記憶位置を含む位置情報と暗号化情報を復号化する復号鍵を特定する鍵情報とを実体情報として含む参照ボックスを記憶する参照記憶部122と、参照ボックスに含まれる記憶位置の暗号化情報を情報記憶部121から取得する取得部101と、取得した暗号化情報を、参照ボックスに含まれる鍵情報で特定される復号鍵で復号する復号部102と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、セキュリティを考慮したデータ構造の情報を処理する情報処理装置および情報アクセス方法に関する。
【背景技術】
【0002】
近年、デジタルデータに対する著作権の保護やプライバシーの保護という観点から、セキュリティに対する要望が高まっており、異なるロールを持つアクセスに対して、異なった利用権限を持たせるなど高度なセキュリティが要求されている。
【0003】
例えば、JPEG2000に準拠した画像データのように、画像中の所望の位置、所望の解像度、所望の品質に対応した部分データに対して任意にアクセスすることができるような画像フォーマットで符号化された画像データが存在する。また、このようなJPEG2000の任意アクセスの特徴を生かしたセキュリティを扱う規格として、上記フォーマットの画像データの部分データそれぞれに対して異なる暗号化を施すなどの処理を行った符号を利用するツールの枠組みが標準化されている。
【0004】
部分データそれぞれに対して異なる暗号化を行った場合、部分データそれぞれに対して異なる復号鍵が必要となるため鍵管理が煩雑となる。そこで、特許文献1では、上階層の鍵から下階層の鍵を生成できるようにすることで、異なる鍵を持つ利用者ごとに、画像への違ったアクセスを許し、かつ鍵管理を容易にする技術が提案されている。
【0005】
また、特許文献2では、チャンク単位で暗号化されたマルチメディアデータに対して、チャンクの位置情報を記述したデータを持つボックスを別に保持することで、暗号化されたデータの任意の位置へアクセスする技術が提案されている。
【0006】
【特許文献1】特開2003−324418号公報
【特許文献2】特許第3748437号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の方法では、あるユーザに対して、そのユーザのアクセス権限のない部分のデータを配送しないことで、データ転送量を必要最小限にするような仕組みは実現されていない。すなわち、アクセス権限によるアクセスをより効率的に実現するには、画像データの再構成方法に対応してセキュリティが施される形態が望ましい。
【0008】
また、特許文献2の方法は、暗号化された実体データの任意の位置へのスキップのみを考慮しており、データを再構成する仕組みは提供されていない。また、再利用できるオブジェクトの単位で独立に暗号化される場合の鍵管理の容易性は考慮されていない。
【0009】
本発明は、上記に鑑みてなされたものであって、アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減できる情報処理装置および情報アクセス方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得手段と、取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号手段と、を備えたことを特徴とする。
【0011】
また、請求項2にかかる発明は、請求項1にかかる発明において、前記情報記憶手段は、前記ボックスで表された前記暗号化情報を記憶すること、を特徴とする。
【0012】
また、請求項3にかかる発明は、請求項2にかかる発明において、前記情報記憶手段は、前記実体情報が暗号化された前記暗号化情報を記憶すること、を特徴とする。
【0013】
また、請求項4にかかる発明は、請求項2にかかる発明において、前記情報記憶手段は、前記実体情報がさらに前記ボックスで表された前記暗号化情報を記憶すること、を特徴とする。
【0014】
また、請求項5にかかる発明は、請求項1にかかる発明において、前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と、前記部分情報のサイズとを前記実体情報として含む前記ボックスで表され、前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記開始位置から前記サイズの前記部分情報を取得し、前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、を特徴とする。
【0015】
また、請求項6にかかる発明は、請求項1にかかる発明において、前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と前記部分情報のサイズとを特定可能なインデックスを前記実体情報として含む前記ボックスで表され、前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記インデックスで特定される開始位置から前記インデックスで特定される前記サイズの前記部分情報を取得し、前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、を特徴とする。
【0016】
また、請求項7にかかる発明は、請求項1にかかる発明において、前記参照ボックスは、復号化した前記暗号化情報を出力形式に変換する変換方法を前記実体情報として含む前記ボックスで表された変換方法ボックスをさらに含み、前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記変換方法で前記出力形式に変換する変換手段をさらに備えたこと、を特徴とする。
【0017】
また、請求項8にかかる発明は、請求項7にかかる発明において、前記変換方法ボックスは、前記変換方法ごとに予め定められた前記鍵情報を前記実体情報として含む前記ボックスで表された鍵情報ボックスを含むこと、を特徴とする。
【0018】
また、請求項9にかかる発明は、請求項7にかかる発明において、前記変換方法ボックスは、前記変換方法で利用するパラメータを前記実体情報として含む前記ボックスで表されたパラメータボックスを含み、前記変換手段は、前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記パラメータを用いて、前記参照ボックスに含まれる前記変換方法で前記出力形式に変換すること、を特徴とする。
【0019】
また、請求項10にかかる発明は、請求項1にかかる発明において、前記参照ボックスは、前記暗号化情報の種類を表す種類情報を前記実体情報としてさらに含むこと、を特徴とする。
【0020】
また、請求項11にかかる発明は、情報処理装置で実行される情報アクセス方法であって、前記情報処理装置は、暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、を備え、取得手段が、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得ステップと、復号手段が、取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号ステップと、を備えたことを特徴とする。
【発明の効果】
【0021】
本発明によれば、アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減できるという効果を奏する。
【発明を実施するための最良の形態】
【0022】
以下に添付図面を参照して、この発明にかかる情報処理装置の最良な実施の形態を詳細に説明する。
【0023】
本実施の形態にかかる情報処理装置は、実体データにアクセスするときに、実体データのうち取得するデータ(部分データ)を参照するための情報(位置情報)、暗号化された実体データを復元するための鍵情報、および実体データの再構成方法などを含み、ボックスと呼ばれるデータ構造で表された保護データ参照ボックスを利用する。すなわち、直接実体データにアクセスするのではなく、保護データ参照ボックスにアクセスし、保護データ参照ボックスで指定された位置から取得した部分データを鍵情報で復元し、再構成方法に従って再構成して、アクセス元に出力する。
【0024】
なお、ISO/IEC 15444−6では、JPEG2000のpart6として、複数の画像要素から構成される一枚の画像であるJPMという画像フォーマットを規定している。JPMフォーマットはボックスを用いたフォーマットであり、文書画像は複数のページの集まりであり、ページは複数のレイアウトオブジェクトの集まりである、という情報をボックスの入れ子構造によって表現する。さらに対象画像に含まれるような、文書の文字情報をメタデータとして使用するために、HTX(Hidden Text Metadata)と呼ばれるテキストデータを隠し文字として保持することが可能となっている。
【0025】
ここで、JPMフォーマットで示すような画像と文字データを関連付けるような文書画像のフォーマットのセキュリティを考慮すると、画像データと同様にテキストデータもまた任意にアクセスおよび再構成され、再構成方法に対応したセキュリティが施されることが望ましい。
【0026】
本実施の形態にかかる情報処理装置で利用する保護データ参照ボックスは、画像データやテキストデータなどのデータの形態に依存しないデータ構造を有するため、この要求を実現することができる。
【0027】
図1は、本実施の形態にかかる情報処理装置100の構成を示すブロック図である。同図に示すように情報処理装置100は、情報記憶部121と、参照記憶部122と、取得部101と、復号部102と、変換部103と、を備えている。
【0028】
情報記憶部121は、暗号化された情報を含む暗号化情報を記憶する。暗号化情報としては、JPEG2000に準拠した画像データ(JPEG2000ファイル)や、タグ単位で暗号化した要素を含むXML(eXtensible Markup Language)データ(XMLファイル)などが挙げられる。なお、情報記憶部121をネットワークなどを介して接続された外部装置(図示せず)に備え、外部装置から暗号化情報を取得するように構成してもよい。
【0029】
参照記憶部122は、情報記憶部121に記憶された暗号化情報にアクセスするための保護データ参照ボックスを記憶する。上述のように保護データ参照ボックスには、実体データを参照するための位置情報、暗号化された実体データを復号化する復号鍵を特定する鍵情報、および実体データの再構成方法などが含まれる。保護データ参照ボックスのデータ構造の詳細は後述する。
【0030】
取得部101は、保護データ参照ボックスを用いて、保護データ参照ボックスに含まれる位置情報を参照して、情報記憶部121から暗号化情報を取得する。
【0031】
復号部102は、取得された暗号化情報を、保護データ参照ボックスに含まれる鍵情報で特定される復号鍵で復号する。
【0032】
変換部103は、復号された暗号化情報を、保護データ参照ボックスに含まれるツールボックス(後述)で指定される変換方法で変換する。変換方法としては、例えば、階層構造を有するJPEG2000符号から、最も解像度の低い部分データのみを抽出し、サムネイルとして再構成する方法などが挙げられる。また、XMLファイルのうち一部のタグで囲まれる部分データのみを抽出して別のXMLファイルとして出力する変換方法を用いることもできる。
【0033】
次に、本実施の形態で扱うデータ構造の詳細について説明する。本実施の形態は、例えば複数の画像と文字から成るオブジェクトが文書の中に入っていることを表すようなデータ構造や、文書が複数のページから構成されるようなデータ構造で、あるオブジェクトやページを共有するような場合に効果的である。
【0034】
図2は、データを共有するように設定された保護データ参照ボックス、参照先であるデータ、および鍵情報の対応関係を表す概念図である。矩形201〜210は、それぞれボックスを表している。ボックスとボックスを結ぶ実線は、上位のボックスが下位のボックスから構成されることを表している。点線は、矢印の基が矢印の先の実体データまたは実体データを含むボックスからデータを再構成することを表している。また、ボックスとボックスの間を結ぶ線に対して付与された鍵は、その鍵を得ることによって、関連先のデータの暗号化が解除できることを表している。
【0035】
例えば、ページは、オブジェクトAとオブジェクトBとキーワードオブジェクトとを含んでいる。また、オブジェクトAは、画像として画像データAを含み、テキストデータとしてメタデータAを含んでいる。ただし、画像データAは暗号化されており、鍵1で暗号化を解除できる。メタデータAも暗号化されており鍵2で暗号化を解除できる。このとき、オブジェクトA内の、画像オブジェクトAへの参照を表すデータである保護データ参照ボックスには、鍵1の情報が格納されているため、画像オブジェクトAの内容を展開することができる。また、画像オブジェクトA内のJPEG2000ファイルへの参照を表すデータには鍵10の情報、およびJPEG2000ファイルからデータを再構成する方法に関する情報が格納されているため、画像オブジェクトAを構成する画像データを作成することができる。
【0036】
(文書データの構成)
図2に示すような文書要素の関係をデータ化する場合には、ISO/IEC 15444−6で規定されたフォーマットのようなデータ構造で表現するのが好適である。すなわち、ページを表すボックス、オブジェクトを表すボックス、画像のコードストリームを表すボックス、テキストデータを表すボックス、および、それらのヘッダ情報を表すボックスが階層的に配置できるようなデータ構造である。
【0037】
図2で、画像オブジェクトAは、画像を表すためのコードストリームとして、JPEG2000ファイルのデータの一部を抽出し再構成したコードストリームを利用する。オブジェクトAは、画像オブジェクトA中のコードストリームをさらに再構成したコードストリームを利用する。
【0038】
(ボックスの情報構造)
図3は、ボックスのデータ構造を表す図である。図3のようなデータ構造は、JPEG2000やMPEG(Moving Picture Experts Group)−4などで用いられている全てのボックスに共通のデータ構造である。以下では、このようなボックス構造を用いた例について説明するが、適用可能なデータ構造はこれに限られるものではない。
【0039】
同図に示すように、ボックスの先頭4バイトであるフィールド41は、LBOXと呼ばれ、ボックス全体のサイズを表す値が格納される。サイズの値としては、LBOXの長さ(4バイト)と、TBOX(後述)の長さ(4バイト)と、DBOX(後述)の長さ(データの長さ)とを加算した値が格納される。例外的に、長さがXLBOX(後述)で記述される場合には、LBOXには1が格納される。
【0040】
ボックスには、入れ子構造で他のボックスを中に持つことのできるスーパーボックスが存在する。図4は、スーパーボックスのサイズの関係を表す模式図である。図4に示すように、スーパーボックスの場合のサイズは、入れ子構造で含む各ボックスの長さに、自身のLBOXの長さ(4バイト)とTBOXの長さ(4バイト)とを加算した値が格納される。
【0041】
LBOXの次の4バイトであるフィールド42は、TBOXと呼ばれ、ボックスのタイプを表す情報が格納される。TBOXには、例えば「ftyp(File Type Box)」のように、4つの1バイトキャラクターで表された情報が格納される。
【0042】
また、上述したように、ボックスの長さが4バイトで表せないような場合には、LBOXの値には1が設定される。そして、次に続く8バイトのフィールド43が、XLBOXであり、ボックスの長さが格納される。
【0043】
TBOXまたはXLBOXの後のフィールド44は、DBOXと呼ばれ、ボックスに格納する実体データの内容が格納される。
【0044】
(ボックスの暗号化)
ここで、ボックスが暗号化されるとは、ボックスのうちデータ内容を表すDBOXのみが暗号化されることを意味する。すなわち、LBOX、TBOX、XLBOXは暗号化されない。図5は、LBOX(サイズ)の値が1以外の場合のボックスの暗号化の一例を表す模式図である。また、図6は、LBOX(サイズ)の値が1の場合のボックスの暗号化の一例を表す模式図である。
【0045】
(保護データ参照ボックスの構造)
次に保護データ参照ボックスのデータ構造の例を説明する。図7は、実体データを参照する保護データ参照ボックスのデータ構造の一例を示す図である。図7に示すように、保護データ参照ボックス51は、タイプフィールド52、フラグメントリストボックス53、ツールボックス54を含んでいる。
【0046】
タイプフィールド52は、保護データ参照ボックスによって参照される実体データ55のタイプを格納する。例えば、タイプフィールド52は、ボックス構造のTBOXと同様の値を格納する。
【0047】
フラグメントリストボックス53は、参照先の実体データ55の記憶位置を特定するための情報を格納する。ツールボックス54は、参照先の実体データ55に適用されるツールを特定するための情報を格納する。参照先の実体データ55を当該ツールに適用して得られた結果が、データアクセス元のアプリケーションがアクセスするデータとして出力される。
【0048】
ツールボックス54の詳細については後述するが、場合によって複数のツールを適用するように構成することもできる。この場合、例えば、ツールボックスは適用する順番に並べるように構成することができる。
【0049】
上記のようなデータ構造の保護データ参照ボックスは、アプリケーションによって解釈されると、あたかも実体データを含むボックスのように振舞う。すなわち、ボックスのタイプは保護データ参照ボックス中のタイプフィールドで決定され、実体データは保護データ参照ボックスのフラグメントリストボックスで決定されるデータに、ツールボックスで示されるツールを適用した結果得られるコードストリームであるようなボックスとして振舞うことになる。
【0050】
(フラグメントリストボックスの構造)
フラグメントリストボックス53は、参照先の実体データまたは参照先のボックスを特定するための情報が格納されるボックスである。フラグメントリストボックス53は、複数のファイルに断片化されたデータ(フラグメント)を参照するための情報を格納できる。
【0051】
図8は、フラグメントリストボックス53のデータ構造の一例を示す図である。図8に示すように、フラグメントリストボックス53は、参照するフラグメントの数を表すフィールド(フラグメント数)と、オフセット、長さ、およびファイルのURL(Uniform Resource Locator)を表すフラグメント数分のフィールドとを含む。なお、同図では、フラグメント数をnfとしている。
【0052】
オフセットは、URLが指し示すファイルの先頭からの相対アドレスを表す。ファイルのURLを表すフィールドが空文字を表す場合には、直前のURLが指し示すファイルと同一のファイルを参照するように構成してもよい。長さは、オフセットが表すアドレスから取得するデータのサイズを表す。
【0053】
フラグメントリストボックス53は、アプリケーションによって解釈されると一つの連続した暗号コードストリームとなる。すなわち、断片化されたデータを繋ぎ合わせたデータが暗号化解除の対象となる。
【0054】
(ツールボックスの構造)
ツールボックス54は、参照先のデータに適用されるツールの情報を格納したボックスである。図9は、ツールボックス54のデータ構造の一例を示す図である。図9に示すように、ツールボックス54は、ツールタイプフィールド56、キーリストボックス57、パラメータボックス58を含んでいる。
【0055】
ツールタイプフィールド56は、フラグメントリストボックス53によって参照される暗号コードストリームに対して適用される暗号化解除ツールを特定するインデックス(ツールタイプインデックス)を格納する。ツールタイプインデックスは、別のボックスや別の方法で事前に登録する。そして、ツールタイプインデックスを指定することで、対応するツールを適用できるようにしておく。暗号化(暗号化解除)ツールとしては、例えばTDES(Triple Data Encryption Standard)、AES(Advanced Encryption Standard)、Rijndaelなど従来から用いられているあらゆる暗号化方式を適用できる。通常は、暗号化時に使用されたツールと同じ方式を使用する。
【0056】
なお、ツールタイプによって特定されるツールの機能は、暗号化解除のみに限定されるものではない。例えば、データから部分データを抽出し再構成するようなツールであってもよい。具体的には、例えば、JPEG2000方式で符号化された画像データのうち、低解像度の画像を表すデータのみを抽出し再構成するようなツールが利用できる。このようなツールの実現方法として、JPIP(ISO/IEC 15444−9)標準に準拠した画像配信サーバの仕組みを用いることも可能である。このようなツールは、後述するパラメータボックスに格納されたJPIP標準に準拠したリクエストを解釈し、JPEG2000符号から部分データを抽出後、新たにJPEG2000符号を再構成する。
【0057】
キーリストボックス57は、ツールタイプフィールド56で特定されるツールが暗号化解除に用いる鍵(キー)の情報(鍵情報)を格納したボックスである。図10は、キーリストボックス57のデータ構造の一例を示す図である。図10に示すように、キーリストボックス57は、キーの数を表すフィールド(キー数)と、キーを識別するためのキーインデックス、キー長、およびキーを表すキー数分のフィールドとを含む。なお、同図では、キー数をnkとしている。
【0058】
このように、本実施の形態では、ツールボックス内に、ツールで用いる鍵情報を含むキーリストボックスを格納することができる。このため、例えば部分データそれぞれに対して異なる暗号化を行った場合であっても、適切な鍵情報をキーリストボックスから容易に取得することができる。すなわち、セキュリティ確保のために用いる鍵情報の管理負荷を軽減することが可能となる。
【0059】
図9に戻り、パラメータボックス58は、ツールタイプフィールド56で特定されるツールが暗号化解除およびデータ再構成に用いるパラメータ情報を格納したボックスである。図11は、パラメータボックス58のデータ構造の一例を示す図である。図11に示すように、パラメータボックス58は、パラメータの数を表すフィールド(パラメータ数)と、パラメータを識別するためのパラメータインデックス、パラメータ長、およびパラメータを表すパラメータ数分のフィールドとを含む。なお、同図では、パラメータ数をnpとしている。
【0060】
これまでは、図7に示すように実体データ55を参照先データとする例について説明した。実体データ55のデータ構造は問わないが、例えばボックス構造のデータを参照するように構成してもよい。図12は、他のボックスを参照する保護データ参照ボックスのデータ構造の一例を示す図である。
【0061】
図12に示すように、ボックス65を参照する保護データ参照ボックス61は、タイプフィールド62、フラグメントリストボックス63、およびツールボックス64を含んでいる。タイプフィールド62、フラグメントリストボックス63、およびツールボックス64のデータ構造は、図7の保護データ参照ボックス51と同様である。
【0062】
なお、フラグメントリストボックス63中のオフセットは、参照するボックス65のファイル先頭からの相対アドレスとなる。フラグメントリストボックス63を用いた場合は、1つの保護データ参照ボックス61は、1つのボックスを参照できる。
【0063】
次に、フラグメントリストボックス63の代わりに、ID参照ボックスを利用する例について説明する。ID参照ボックスは、参照する同一または別のボックス内のファイルを識別するインデックスを指定することにより参照先データを表すためのデータ構造である。図13は、ID参照ボックスを含む保護データ参照ボックスのデータ構造の一例を示す図である。
【0064】
図13に示すように、ボックス75を参照する保護データ参照ボックス71は、タイプフィールド72、ID参照ボックス73、およびツールボックス74を含んでいる。タイプフィールド72、およびツールボックス74のデータ構造は、図7の保護データ参照ボックス51と同様である。
【0065】
(ID参照ボックス)
図14は、ID参照ボックスのデータ構造の一例を示す図である。図14に示すように、ID参照ボックス73は、参照するデータの数を表す参照数フィールドと、参照するデータを識別するためのインデックス、およびURLを表すキー数分のフィールドとを含む。なお、同図では、参照数をnrとしている。URLは、対象となるボックスが含まれるファイルの位置を格納する。
【0066】
インデックスは、参照するファイル中でボックスを識別するためのユニークな番号である。このインデックスは、対象となるファイル中でインデックスを定義したIDエントリーボックスなどに格納される。すなわち、IDエントリーボックスには、ボックスのインデックスとファイル中のオフセットアドレスとの対応関係などが定義される。これにより、インデックスを指定するだけで参照先のボックスを特定可能となる。すなわち、フラグメントリストボックスで参照先を指定する場合のようにデータのオフセット等を指定する必要がなくなる。なお、インデックスの構造はこれに限られず、参照先のデータを特定可能なものであればあらゆる構造のインデックスを適用できる。
【0067】
(保護データ参照ボックスへの参照)
次に、保護データ参照ボックスを利用したデータ参照方法の例について説明する。これまでに記載したように、保護データ参照ボックスはアプリケーションによって解釈されると、あたかも1つのボックスのように振舞う。このため、保護データ参照ボックスが、他の保護データ参照ボックスをさらに参照することによって、階層的なデータ保護(暗号化)が可能となる。
【0068】
図15は、階層的に構成した保護データ参照ボックスの一例を示す図である。図15に示すように、例えば、ファイル中の実体データを含むコードストリームボックスを、実体データではなく保護データ参照ボックス(2)で置き換えることにより、別ファイルへの保護データ参照としておく。さらに、文書中のあるオブジェクトを表すボックス(例えばISO/IEC 15444−6:Compound Image File Formatの、Object boxおよびObject Header boxなど)のうち、画像コードストリームの位置を指し示す先を、保護データ参照ボックス(2)とする。このような構成により、階層的なデータ保護を実現できる。
【0069】
(再構成方法の具体例)
画像のコードストリームや、テキストデータを記述したファイルなどを再構成する方法としては、JPEG2000画像のデータを再構成する方法や、XMLファイルから一部のテキストデータを抽出して再構成する方法などが挙げられる。
【0070】
JPEG2000画像のデータを再構成する方法では、階層構造を持つJPEG2000符号から、特定のタイル、コンポーネント、解像度、位置、品質の部分データを抽出する。例えば、最も解像度の低い部分のデータのみを抽出し、サムネイルとして再構成する場合や、オブジェクトを表す領域の部分データのみを抽出して再構成する場合などが挙げられる。
【0071】
なお、JPEG2000画像符号の場合、あるタイル、コンポーネント、解像度、位置、品質のデータを表すパケットと呼ばれるデータ単位の内容の部分、すなわちパケットボディだけを暗号化すれば、暗号化されていない場合と同様に部分データを抽出できる。
【0072】
XMLファイルからテキストデータを再構成する方法では、XMLファイル内の特定のタグで囲まれる部分データを抽出する。図16は、XMLファイルの一例を示す図である。例えば、図16に示されるようなXML形式のテキストデータが文書に付与されている場合、特定のページ中の特定のオブジェクトに関わるテキストデータを抽出するためには、対象となるオブジェクトに対応する「<object>」タグで囲まれる部分のみを抽出すればよい。
【0073】
また、XMLファイル内のテキストデータを暗号化する場合は、例えば、予め「<object>」タグで囲まれるデータのみを、オブジェクトごとに異なる暗号鍵で暗号化する。そして、それ以外の「<document>」タグ、「<page>」タグおよび「<object>」タグの部分は暗号化しないでおく。したがって、この場合は「<object>」タグ内のデータのみを抜き出した後で暗号化を解除すればよい。さらに、暗号化を施した後に、「<page>」タグで囲まれる部分を再度別の鍵で暗号化することで、階層的なテキストデータ保護を実現することもできる。
【0074】
次に、このように構成された本実施の形態にかかる情報処理装置100によるデータアクセス処理について説明する。図17は、本実施の形態におけるデータアクセス処理の全体の流れを示すフローチャートである。
【0075】
まず、取得部101は、アクセス先として指定された保護データ参照ボックスのタイプフィールドを取得する(ステップS1701)。取得したタイプフィールドは、フラグメントリストボックスまたはID参照ボックスによって特定されたデータ(符号ストリーム)が、どのようなタイプのデータ(ボックス)なのかを識別するために用いる。
【0076】
次に、取得部101は、タイプフィールドに続くボックスであるフラグメントリストボックスまたはID参照ボックスを取得する(ステップS1702)。次に、取得部101は、取得したボックスがフラグメントリストボックスであるか否かを判断する(ステップS1703)。
【0077】
フラグメントリストボックスを取得した場合は(ステップS1703:YES)、取得部101は、リスト内のURL、オフセット、長さで特定される情報を取得して結合する(ステップS1704)。具体的には、取得部101は、URLによって特定されるファイル中の、オフセットで表されるデータ領域を読みこみ、フラグメント数の分だけ読みこんだデータを結合する。
【0078】
ID参照ボックスを取得した場合は(ステップS1703:NO)、取得部101は、ID参照ボックス内のインデックスで特定される情報を取得する(ステップS1705)。
【0079】
次に、取得部101は、保護データ参照ボックス内の未処理のツールボックスを取得する(ステップS1706)。そして、復号部102および変換部103によって、ステップS1704またはステップS1705で得られたデータに対して、ツールボックスで決定されるデータ復号処理および再構成処理を実行する(ステップS1707)。
【0080】
具体的には、すなわち、ツールタイプで特定されるツールを用いて、キーリストボックスから得られる暗号化解除キー、およびパラメータボックスから得られるパラメータを入力としてデータ復号処理およびデータ再構成処理を実行する。なお、ツールタイプによっては、データ復号処理およびデータ再構成処理の少なくとも一方を実行すればよい。
【0081】
次に、取得部101は、すべてのツールボックスを処理したか否かを判断し(ステップS1708)、処理していない場合は(ステップS1708:NO)、次のツールボックスを取得して処理を繰り返す(ステップS1706)。なお、後続のツールボックスの処理では、前のツールボックスによる処理で得られたデータを処理の対象とする。
【0082】
すべてのツールボックスを処理した場合は(ステップS1708:YES)、取得部101は、再構成後のデータを参照ボックスの指し示すデータとして展開し(ステップS1709)、データアクセス処理を終了する。
【0083】
保護データ参照ボックスが参照された場合は、このような処理によって展開されたデータが、ボックスの内容としてアプリケーションに解釈される。
【0084】
このように、本実施の形態にかかる情報処理装置では、実体データにアクセスするときに、実体データのうち取得するデータ(部分データ)を参照するための位置情報、鍵情報、および再構成方法などを含む保護データ参照ボックスを利用することができる。これにより、アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減することができる。また、保護データ参照ボックスを適用可能なデータ形式は限定されないため、画像データやテキストデータなどのデータの形態に依存せずに同じ方法でデータアクセスを実現できる。
【0085】
また、複数の保護データ参照ボックスが同じ実体データを参照するように構成することによって、画像データおよびテキストデータの実体データを再利用することができる。このため、メモリ消費量を最小限に抑えることができ、かつ権限の異なるユーザに対してデータ転送量を最小限に抑えるようなデータアクセスを実現することができる。
【図面の簡単な説明】
【0086】
【図1】本実施の形態にかかる情報処理装置の構成を示すブロック図である。
【図2】保護データ参照ボックス、参照先であるデータ、および鍵情報の対応関係を表す概念図である。
【図3】ボックスのデータ構造を表す図である。
【図4】スーパーボックスのサイズの関係を表す模式図である。
【図5】ボックスの暗号化の一例を表す模式図である。
【図6】ボックスの暗号化の一例を表す模式図である。
【図7】保護データ参照ボックスのデータ構造の一例を示す図である。
【図8】フラグメントリストボックスのデータ構造の一例を示す図である。
【図9】ツールボックスのデータ構造の一例を示す図である。
【図10】キーリストボックスのデータ構造の一例を示す図である。
【図11】パラメータボックスのデータ構造の一例を示す図である。
【図12】保護データ参照ボックスのデータ構造の一例を示す図である。
【図13】保護データ参照ボックスのデータ構造の一例を示す図である。
【図14】ID参照ボックスのデータ構造の一例を示す図である。
【図15】階層的に構成した保護データ参照ボックスの一例を示す図である。
【図16】XMLファイルの一例を示す図である。
【図17】本実施の形態におけるデータアクセス処理の全体の流れを示すフローチャートである。
【符号の説明】
【0087】
41〜44 フィールド
51 保護データ参照ボックス
52 タイプフィールド
53 フラグメントリストボックス
54 ツールボックス
55 実体データ
56 ツールタイプフィールド
57 キーリストボックス
58 パラメータボックス
61 保護データ参照ボックス
62 タイプフィールド
63 フラグメントリストボックス
64 ツールボックス
65 ボックス
71 保護データ参照ボックス
72 タイプフィールド
73 参照ボックス
74 ツールボックス
75 ボックス
100 情報処理装置
101 取得部
102 復号部
103 変換部
121 情報記憶部
122 参照記憶部
201〜210 矩形

【特許請求の範囲】
【請求項1】
暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、
データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、
前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得手段と、
取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号手段と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記情報記憶手段は、前記ボックスで表された前記暗号化情報を記憶すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記情報記憶手段は、前記実体情報が暗号化された前記暗号化情報を記憶すること、
を特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記情報記憶手段は、前記実体情報がさらに前記ボックスで表された前記暗号化情報を記憶すること、
を特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と、前記部分情報のサイズとを前記実体情報として含む前記ボックスで表され、
前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記開始位置から前記サイズの前記部分情報を取得し、
前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と前記部分情報のサイズとを特定可能なインデックスを前記実体情報として含む前記ボックスで表され、
前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記インデックスで特定される開始位置から前記インデックスで特定される前記サイズの前記部分情報を取得し、
前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記参照ボックスは、復号化した前記暗号化情報を出力形式に変換する変換方法を前記実体情報として含む前記ボックスで表された変換方法ボックスをさらに含み、
前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記変換方法で前記出力形式に変換する変換手段をさらに備えたこと、
を特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記変換方法ボックスは、前記変換方法ごとに予め定められた前記鍵情報を前記実体情報として含む前記ボックスで表された鍵情報ボックスを含むこと、
を特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記変換方法ボックスは、前記変換方法で利用するパラメータを前記実体情報として含む前記ボックスで表されたパラメータボックスを含み、
前記変換手段は、前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記パラメータを用いて、前記参照ボックスに含まれる前記変換方法で前記出力形式に変換すること、
を特徴とする請求項7に記載の情報処理装置。
【請求項10】
前記参照ボックスは、前記暗号化情報の種類を表す種類情報を前記実体情報としてさらに含むこと、
を特徴とする請求項1に記載の情報処理装置。
【請求項11】
情報処理装置で実行される情報アクセス方法であって、
前記情報処理装置は、
暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、
データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、を備え、
取得手段が、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得ステップと、
復号手段が、取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号ステップと、
を備えたことを特徴とする情報アクセス方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate