(57)【要約】【課題】アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減できる情報処理装置を提供する。【解決手段】暗号化された情報を含む暗号化情報を記憶する情報記憶部１２１と、データ構造の単位であるボックスのサイズとボックスの種類と実体情報とをデータ構造の要素として含むボックスで表され、暗号化情報の記憶位置を含む位置情報と暗号化情報を復号化する復号鍵を特定する鍵情報とを実体情報として含む参照ボックスを記憶する参照記憶部１２２と、参照ボックスに含まれる記憶位置の暗号化情報を情報記憶部１２１から取得する取得部１０１と、取得した暗号化情報を、参照ボックスに含まれる鍵情報で特定される復号鍵で復号する復号部１０２と、を備えた。【選択図】        図１
2009206571.tif 000002
【特許請求の範囲】
【請求項１】
暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、
データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、
前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得手段と、
取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記情報記憶手段は、前記ボックスで表された前記暗号化情報を記憶すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報記憶手段は、前記実体情報が暗号化された前記暗号化情報を記憶すること、
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報記憶手段は、前記実体情報がさらに前記ボックスで表された前記暗号化情報を記憶すること、
を特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と、前記部分情報のサイズとを前記実体情報として含む前記ボックスで表され、
前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記開始位置から前記サイズの前記部分情報を取得し、
前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と前記部分情報のサイズとを特定可能なインデックスを前記実体情報として含む前記ボックスで表され、
前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記インデックスで特定される開始位置から前記インデックスで特定される前記サイズの前記部分情報を取得し、
前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記参照ボックスは、復号化した前記暗号化情報を出力形式に変換する変換方法を前記実体情報として含む前記ボックスで表された変換方法ボックスをさらに含み、
前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記変換方法で前記出力形式に変換する変換手段をさらに備えたこと、
を特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記変換方法ボックスは、前記変換方法ごとに予め定められた前記鍵情報を前記実体情報として含む前記ボックスで表された鍵情報ボックスを含むこと、
を特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記変換方法ボックスは、前記変換方法で利用するパラメータを前記実体情報として含む前記ボックスで表されたパラメータボックスを含み、
前記変換手段は、前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記パラメータを用いて、前記参照ボックスに含まれる前記変換方法で前記出力形式に変換すること、
を特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記参照ボックスは、前記暗号化情報の種類を表す種類情報を前記実体情報としてさらに含むこと、
を特徴とする請求項１に記載の情報処理装置。
【請求項１１】
情報処理装置で実行される情報アクセス方法であって、
前記情報処理装置は、
暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、
データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、を備え、
取得手段が、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得ステップと、
復号手段が、取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号ステップと、
を備えたことを特徴とする情報アクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、セキュリティを考慮したデータ構造の情報を処理する情報処理装置および情報アクセス方法に関する。
【背景技術】
【０００２】
近年、デジタルデータに対する著作権の保護やプライバシーの保護という観点から、セキュリティに対する要望が高まっており、異なるロールを持つアクセスに対して、異なった利用権限を持たせるなど高度なセキュリティが要求されている。
【０００３】
例えば、ＪＰＥＧ２０００に準拠した画像データのように、画像中の所望の位置、所望の解像度、所望の品質に対応した部分データに対して任意にアクセスすることができるような画像フォーマットで符号化された画像データが存在する。また、このようなＪＰＥＧ２０００の任意アクセスの特徴を生かしたセキュリティを扱う規格として、上記フォーマットの画像データの部分データそれぞれに対して異なる暗号化を施すなどの処理を行った符号を利用するツールの枠組みが標準化されている。
【０００４】
部分データそれぞれに対して異なる暗号化を行った場合、部分データそれぞれに対して異なる復号鍵が必要となるため鍵管理が煩雑となる。そこで、特許文献１では、上階層の鍵から下階層の鍵を生成できるようにすることで、異なる鍵を持つ利用者ごとに、画像への違ったアクセスを許し、かつ鍵管理を容易にする技術が提案されている。
【０００５】
また、特許文献２では、チャンク単位で暗号化されたマルチメディアデータに対して、チャンクの位置情報を記述したデータを持つボックスを別に保持することで、暗号化されたデータの任意の位置へアクセスする技術が提案されている。
【０００６】
【特許文献１】特開２００３−３２４４１８号公報
【特許文献２】特許第３７４８４３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、あるユーザに対して、そのユーザのアクセス権限のない部分のデータを配送しないことで、データ転送量を必要最小限にするような仕組みは実現されていない。すなわち、アクセス権限によるアクセスをより効率的に実現するには、画像データの再構成方法に対応してセキュリティが施される形態が望ましい。
【０００８】
また、特許文献２の方法は、暗号化された実体データの任意の位置へのスキップのみを考慮しており、データを再構成する仕組みは提供されていない。また、再利用できるオブジェクトの単位で独立に暗号化される場合の鍵管理の容易性は考慮されていない。
【０００９】
本発明は、上記に鑑みてなされたものであって、アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減できる情報処理装置および情報アクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得手段と、取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号手段と、を備えたことを特徴とする。
【００１１】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記情報記憶手段は、前記ボックスで表された前記暗号化情報を記憶すること、を特徴とする。
【００１２】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記情報記憶手段は、前記実体情報が暗号化された前記暗号化情報を記憶すること、を特徴とする。
【００１３】
また、請求項４にかかる発明は、請求項２にかかる発明において、前記情報記憶手段は、前記実体情報がさらに前記ボックスで表された前記暗号化情報を記憶すること、を特徴とする。
【００１４】
また、請求項５にかかる発明は、請求項１にかかる発明において、前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と、前記部分情報のサイズとを前記実体情報として含む前記ボックスで表され、前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記開始位置から前記サイズの前記部分情報を取得し、前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、を特徴とする。
【００１５】
また、請求項６にかかる発明は、請求項１にかかる発明において、前記位置情報は、前記記憶位置に記憶された前記暗号化情報のうち取得する部分情報の開始位置と前記部分情報のサイズとを特定可能なインデックスを前記実体情報として含む前記ボックスで表され、前記取得手段は、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報のうち、前記インデックスで特定される開始位置から前記インデックスで特定される前記サイズの前記部分情報を取得し、前記復号手段は、取得した前記部分情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号すること、を特徴とする。
【００１６】
また、請求項７にかかる発明は、請求項１にかかる発明において、前記参照ボックスは、復号化した前記暗号化情報を出力形式に変換する変換方法を前記実体情報として含む前記ボックスで表された変換方法ボックスをさらに含み、前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記変換方法で前記出力形式に変換する変換手段をさらに備えたこと、を特徴とする。
【００１７】
また、請求項８にかかる発明は、請求項７にかかる発明において、前記変換方法ボックスは、前記変換方法ごとに予め定められた前記鍵情報を前記実体情報として含む前記ボックスで表された鍵情報ボックスを含むこと、を特徴とする。
【００１８】
また、請求項９にかかる発明は、請求項７にかかる発明において、前記変換方法ボックスは、前記変換方法で利用するパラメータを前記実体情報として含む前記ボックスで表されたパラメータボックスを含み、前記変換手段は、前記復号手段によって復号された前記暗号化情報を前記参照ボックスに含まれる前記パラメータを用いて、前記参照ボックスに含まれる前記変換方法で前記出力形式に変換すること、を特徴とする。
【００１９】
また、請求項１０にかかる発明は、請求項１にかかる発明において、前記参照ボックスは、前記暗号化情報の種類を表す種類情報を前記実体情報としてさらに含むこと、を特徴とする。
【００２０】
また、請求項１１にかかる発明は、情報処理装置で実行される情報アクセス方法であって、前記情報処理装置は、暗号化された情報を含む暗号化情報を記憶する情報記憶手段と、データ構造の単位であるボックスのサイズと、前記ボックスの種類と、実体情報とを前記データ構造の要素として含む前記ボックスで表され、前記暗号化情報の記憶位置を含む位置情報と前記暗号化情報を復号化する復号鍵を特定する鍵情報とを前記実体情報として含む参照ボックスを記憶する参照記憶手段と、を備え、取得手段が、前記参照ボックスに含まれる前記記憶位置の前記暗号化情報を前記情報記憶手段から取得する取得ステップと、復号手段が、取得した前記暗号化情報を、前記参照ボックスに含まれる前記鍵情報で特定される前記復号鍵で復号する復号ステップと、を備えたことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減できるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、この発明にかかる情報処理装置の最良な実施の形態を詳細に説明する。
【００２３】
本実施の形態にかかる情報処理装置は、実体データにアクセスするときに、実体データのうち取得するデータ（部分データ）を参照するための情報（位置情報）、暗号化された実体データを復元するための鍵情報、および実体データの再構成方法などを含み、ボックスと呼ばれるデータ構造で表された保護データ参照ボックスを利用する。すなわち、直接実体データにアクセスするのではなく、保護データ参照ボックスにアクセスし、保護データ参照ボックスで指定された位置から取得した部分データを鍵情報で復元し、再構成方法に従って再構成して、アクセス元に出力する。
【００２４】
なお、ＩＳＯ／ＩＥＣ  １５４４４−６では、ＪＰＥＧ２０００のｐａｒｔ６として、複数の画像要素から構成される一枚の画像であるＪＰＭという画像フォーマットを規定している。ＪＰＭフォーマットはボックスを用いたフォーマットであり、文書画像は複数のページの集まりであり、ページは複数のレイアウトオブジェクトの集まりである、という情報をボックスの入れ子構造によって表現する。さらに対象画像に含まれるような、文書の文字情報をメタデータとして使用するために、ＨＴＸ（Hidden Text Metadata）と呼ばれるテキストデータを隠し文字として保持することが可能となっている。
【００２５】
ここで、ＪＰＭフォーマットで示すような画像と文字データを関連付けるような文書画像のフォーマットのセキュリティを考慮すると、画像データと同様にテキストデータもまた任意にアクセスおよび再構成され、再構成方法に対応したセキュリティが施されることが望ましい。
【００２６】
本実施の形態にかかる情報処理装置で利用する保護データ参照ボックスは、画像データやテキストデータなどのデータの形態に依存しないデータ構造を有するため、この要求を実現することができる。
【００２７】
図１は、本実施の形態にかかる情報処理装置１００の構成を示すブロック図である。同図に示すように情報処理装置１００は、情報記憶部１２１と、参照記憶部１２２と、取得部１０１と、復号部１０２と、変換部１０３と、を備えている。
【００２８】
情報記憶部１２１は、暗号化された情報を含む暗号化情報を記憶する。暗号化情報としては、ＪＰＥＧ２０００に準拠した画像データ（ＪＰＥＧ２０００ファイル）や、タグ単位で暗号化した要素を含むＸＭＬ（eXtensible Markup Language）データ（ＸＭＬファイル）などが挙げられる。なお、情報記憶部１２１をネットワークなどを介して接続された外部装置（図示せず）に備え、外部装置から暗号化情報を取得するように構成してもよい。
【００２９】
参照記憶部１２２は、情報記憶部１２１に記憶された暗号化情報にアクセスするための保護データ参照ボックスを記憶する。上述のように保護データ参照ボックスには、実体データを参照するための位置情報、暗号化された実体データを復号化する復号鍵を特定する鍵情報、および実体データの再構成方法などが含まれる。保護データ参照ボックスのデータ構造の詳細は後述する。
【００３０】
取得部１０１は、保護データ参照ボックスを用いて、保護データ参照ボックスに含まれる位置情報を参照して、情報記憶部１２１から暗号化情報を取得する。
【００３１】
復号部１０２は、取得された暗号化情報を、保護データ参照ボックスに含まれる鍵情報で特定される復号鍵で復号する。
【００３２】
変換部１０３は、復号された暗号化情報を、保護データ参照ボックスに含まれるツールボックス（後述）で指定される変換方法で変換する。変換方法としては、例えば、階層構造を有するＪＰＥＧ２０００符号から、最も解像度の低い部分データのみを抽出し、サムネイルとして再構成する方法などが挙げられる。また、ＸＭＬファイルのうち一部のタグで囲まれる部分データのみを抽出して別のＸＭＬファイルとして出力する変換方法を用いることもできる。
【００３３】
次に、本実施の形態で扱うデータ構造の詳細について説明する。本実施の形態は、例えば複数の画像と文字から成るオブジェクトが文書の中に入っていることを表すようなデータ構造や、文書が複数のページから構成されるようなデータ構造で、あるオブジェクトやページを共有するような場合に効果的である。
【００３４】
図２は、データを共有するように設定された保護データ参照ボックス、参照先であるデータ、および鍵情報の対応関係を表す概念図である。矩形２０１〜２１０は、それぞれボックスを表している。ボックスとボックスを結ぶ実線は、上位のボックスが下位のボックスから構成されることを表している。点線は、矢印の基が矢印の先の実体データまたは実体データを含むボックスからデータを再構成することを表している。また、ボックスとボックスの間を結ぶ線に対して付与された鍵は、その鍵を得ることによって、関連先のデータの暗号化が解除できることを表している。
【００３５】
例えば、ページは、オブジェクトＡとオブジェクトＢとキーワードオブジェクトとを含んでいる。また、オブジェクトＡは、画像として画像データＡを含み、テキストデータとしてメタデータＡを含んでいる。ただし、画像データＡは暗号化されており、鍵１で暗号化を解除できる。メタデータＡも暗号化されており鍵２で暗号化を解除できる。このとき、オブジェクトＡ内の、画像オブジェクトＡへの参照を表すデータである保護データ参照ボックスには、鍵１の情報が格納されているため、画像オブジェクトＡの内容を展開することができる。また、画像オブジェクトＡ内のＪＰＥＧ２０００ファイルへの参照を表すデータには鍵１０の情報、およびＪＰＥＧ２０００ファイルからデータを再構成する方法に関する情報が格納されているため、画像オブジェクトＡを構成する画像データを作成することができる。
【００３６】
（文書データの構成）
図２に示すような文書要素の関係をデータ化する場合には、ＩＳＯ／ＩＥＣ  １５４４４−６で規定されたフォーマットのようなデータ構造で表現するのが好適である。すなわち、ページを表すボックス、オブジェクトを表すボックス、画像のコードストリームを表すボックス、テキストデータを表すボックス、および、それらのヘッダ情報を表すボックスが階層的に配置できるようなデータ構造である。
【００３７】
図２で、画像オブジェクトＡは、画像を表すためのコードストリームとして、ＪＰＥＧ２０００ファイルのデータの一部を抽出し再構成したコードストリームを利用する。オブジェクトＡは、画像オブジェクトＡ中のコードストリームをさらに再構成したコードストリームを利用する。
【００３８】
（ボックスの情報構造）
図３は、ボックスのデータ構造を表す図である。図３のようなデータ構造は、ＪＰＥＧ２０００やＭＰＥＧ（Moving Picture Experts Group）−４などで用いられている全てのボックスに共通のデータ構造である。以下では、このようなボックス構造を用いた例について説明するが、適用可能なデータ構造はこれに限られるものではない。
【００３９】
同図に示すように、ボックスの先頭４バイトであるフィールド４１は、ＬＢＯＸと呼ばれ、ボックス全体のサイズを表す値が格納される。サイズの値としては、ＬＢＯＸの長さ（４バイト）と、ＴＢＯＸ（後述）の長さ（４バイト）と、ＤＢＯＸ（後述）の長さ（データの長さ）とを加算した値が格納される。例外的に、長さがＸＬＢＯＸ（後述）で記述される場合には、ＬＢＯＸには１が格納される。
【００４０】
ボックスには、入れ子構造で他のボックスを中に持つことのできるスーパーボックスが存在する。図４は、スーパーボックスのサイズの関係を表す模式図である。図４に示すように、スーパーボックスの場合のサイズは、入れ子構造で含む各ボックスの長さに、自身のＬＢＯＸの長さ（４バイト）とＴＢＯＸの長さ（４バイト）とを加算した値が格納される。
【００４１】
ＬＢＯＸの次の４バイトであるフィールド４２は、ＴＢＯＸと呼ばれ、ボックスのタイプを表す情報が格納される。ＴＢＯＸには、例えば「ftyp（File Type Box）」のように、４つの１バイトキャラクターで表された情報が格納される。
【００４２】
また、上述したように、ボックスの長さが４バイトで表せないような場合には、ＬＢＯＸの値には１が設定される。そして、次に続く８バイトのフィールド４３が、ＸＬＢＯＸであり、ボックスの長さが格納される。
【００４３】
ＴＢＯＸまたはＸＬＢＯＸの後のフィールド４４は、ＤＢＯＸと呼ばれ、ボックスに格納する実体データの内容が格納される。
【００４４】
（ボックスの暗号化）
ここで、ボックスが暗号化されるとは、ボックスのうちデータ内容を表すＤＢＯＸのみが暗号化されることを意味する。すなわち、ＬＢＯＸ、ＴＢＯＸ、ＸＬＢＯＸは暗号化されない。図５は、ＬＢＯＸ（サイズ）の値が１以外の場合のボックスの暗号化の一例を表す模式図である。また、図６は、ＬＢＯＸ（サイズ）の値が１の場合のボックスの暗号化の一例を表す模式図である。
【００４５】
（保護データ参照ボックスの構造）
次に保護データ参照ボックスのデータ構造の例を説明する。図７は、実体データを参照する保護データ参照ボックスのデータ構造の一例を示す図である。図７に示すように、保護データ参照ボックス５１は、タイプフィールド５２、フラグメントリストボックス５３、ツールボックス５４を含んでいる。
【００４６】
タイプフィールド５２は、保護データ参照ボックスによって参照される実体データ５５のタイプを格納する。例えば、タイプフィールド５２は、ボックス構造のＴＢＯＸと同様の値を格納する。
【００４７】
フラグメントリストボックス５３は、参照先の実体データ５５の記憶位置を特定するための情報を格納する。ツールボックス５４は、参照先の実体データ５５に適用されるツールを特定するための情報を格納する。参照先の実体データ５５を当該ツールに適用して得られた結果が、データアクセス元のアプリケーションがアクセスするデータとして出力される。
【００４８】
ツールボックス５４の詳細については後述するが、場合によって複数のツールを適用するように構成することもできる。この場合、例えば、ツールボックスは適用する順番に並べるように構成することができる。
【００４９】
上記のようなデータ構造の保護データ参照ボックスは、アプリケーションによって解釈されると、あたかも実体データを含むボックスのように振舞う。すなわち、ボックスのタイプは保護データ参照ボックス中のタイプフィールドで決定され、実体データは保護データ参照ボックスのフラグメントリストボックスで決定されるデータに、ツールボックスで示されるツールを適用した結果得られるコードストリームであるようなボックスとして振舞うことになる。
【００５０】
（フラグメントリストボックスの構造）
フラグメントリストボックス５３は、参照先の実体データまたは参照先のボックスを特定するための情報が格納されるボックスである。フラグメントリストボックス５３は、複数のファイルに断片化されたデータ（フラグメント）を参照するための情報を格納できる。
【００５１】
図８は、フラグメントリストボックス５３のデータ構造の一例を示す図である。図８に示すように、フラグメントリストボックス５３は、参照するフラグメントの数を表すフィールド（フラグメント数）と、オフセット、長さ、およびファイルのＵＲＬ（Uniform Resource Locator）を表すフラグメント数分のフィールドとを含む。なお、同図では、フラグメント数をｎｆとしている。
【００５２】
オフセットは、ＵＲＬが指し示すファイルの先頭からの相対アドレスを表す。ファイルのＵＲＬを表すフィールドが空文字を表す場合には、直前のＵＲＬが指し示すファイルと同一のファイルを参照するように構成してもよい。長さは、オフセットが表すアドレスから取得するデータのサイズを表す。
【００５３】
フラグメントリストボックス５３は、アプリケーションによって解釈されると一つの連続した暗号コードストリームとなる。すなわち、断片化されたデータを繋ぎ合わせたデータが暗号化解除の対象となる。
【００５４】
（ツールボックスの構造）
ツールボックス５４は、参照先のデータに適用されるツールの情報を格納したボックスである。図９は、ツールボックス５４のデータ構造の一例を示す図である。図９に示すように、ツールボックス５４は、ツールタイプフィールド５６、キーリストボックス５７、パラメータボックス５８を含んでいる。
【００５５】
ツールタイプフィールド５６は、フラグメントリストボックス５３によって参照される暗号コードストリームに対して適用される暗号化解除ツールを特定するインデックス（ツールタイプインデックス）を格納する。ツールタイプインデックスは、別のボックスや別の方法で事前に登録する。そして、ツールタイプインデックスを指定することで、対応するツールを適用できるようにしておく。暗号化（暗号化解除）ツールとしては、例えばＴＤＥＳ（Triple Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）、Ｒｉｊｎｄａｅｌなど従来から用いられているあらゆる暗号化方式を適用できる。通常は、暗号化時に使用されたツールと同じ方式を使用する。
【００５６】
なお、ツールタイプによって特定されるツールの機能は、暗号化解除のみに限定されるものではない。例えば、データから部分データを抽出し再構成するようなツールであってもよい。具体的には、例えば、ＪＰＥＧ２０００方式で符号化された画像データのうち、低解像度の画像を表すデータのみを抽出し再構成するようなツールが利用できる。このようなツールの実現方法として、ＪＰＩＰ（ＩＳＯ／ＩＥＣ  １５４４４−９）標準に準拠した画像配信サーバの仕組みを用いることも可能である。このようなツールは、後述するパラメータボックスに格納されたＪＰＩＰ標準に準拠したリクエストを解釈し、ＪＰＥＧ２０００符号から部分データを抽出後、新たにＪＰＥＧ２０００符号を再構成する。
【００５７】
キーリストボックス５７は、ツールタイプフィールド５６で特定されるツールが暗号化解除に用いる鍵（キー）の情報（鍵情報）を格納したボックスである。図１０は、キーリストボックス５７のデータ構造の一例を示す図である。図１０に示すように、キーリストボックス５７は、キーの数を表すフィールド（キー数）と、キーを識別するためのキーインデックス、キー長、およびキーを表すキー数分のフィールドとを含む。なお、同図では、キー数をｎｋとしている。
【００５８】
このように、本実施の形態では、ツールボックス内に、ツールで用いる鍵情報を含むキーリストボックスを格納することができる。このため、例えば部分データそれぞれに対して異なる暗号化を行った場合であっても、適切な鍵情報をキーリストボックスから容易に取得することができる。すなわち、セキュリティ確保のために用いる鍵情報の管理負荷を軽減することが可能となる。
【００５９】
図９に戻り、パラメータボックス５８は、ツールタイプフィールド５６で特定されるツールが暗号化解除およびデータ再構成に用いるパラメータ情報を格納したボックスである。図１１は、パラメータボックス５８のデータ構造の一例を示す図である。図１１に示すように、パラメータボックス５８は、パラメータの数を表すフィールド（パラメータ数）と、パラメータを識別するためのパラメータインデックス、パラメータ長、およびパラメータを表すパラメータ数分のフィールドとを含む。なお、同図では、パラメータ数をｎｐとしている。
【００６０】
これまでは、図７に示すように実体データ５５を参照先データとする例について説明した。実体データ５５のデータ構造は問わないが、例えばボックス構造のデータを参照するように構成してもよい。図１２は、他のボックスを参照する保護データ参照ボックスのデータ構造の一例を示す図である。
【００６１】
図１２に示すように、ボックス６５を参照する保護データ参照ボックス６１は、タイプフィールド６２、フラグメントリストボックス６３、およびツールボックス６４を含んでいる。タイプフィールド６２、フラグメントリストボックス６３、およびツールボックス６４のデータ構造は、図７の保護データ参照ボックス５１と同様である。
【００６２】
なお、フラグメントリストボックス６３中のオフセットは、参照するボックス６５のファイル先頭からの相対アドレスとなる。フラグメントリストボックス６３を用いた場合は、１つの保護データ参照ボックス６１は、１つのボックスを参照できる。
【００６３】
次に、フラグメントリストボックス６３の代わりに、ＩＤ参照ボックスを利用する例について説明する。ＩＤ参照ボックスは、参照する同一または別のボックス内のファイルを識別するインデックスを指定することにより参照先データを表すためのデータ構造である。図１３は、ＩＤ参照ボックスを含む保護データ参照ボックスのデータ構造の一例を示す図である。
【００６４】
図１３に示すように、ボックス７５を参照する保護データ参照ボックス７１は、タイプフィールド７２、ＩＤ参照ボックス７３、およびツールボックス７４を含んでいる。タイプフィールド７２、およびツールボックス７４のデータ構造は、図７の保護データ参照ボックス５１と同様である。
【００６５】
（ＩＤ参照ボックス）
図１４は、ＩＤ参照ボックスのデータ構造の一例を示す図である。図１４に示すように、ＩＤ参照ボックス７３は、参照するデータの数を表す参照数フィールドと、参照するデータを識別するためのインデックス、およびＵＲＬを表すキー数分のフィールドとを含む。なお、同図では、参照数をｎｒとしている。ＵＲＬは、対象となるボックスが含まれるファイルの位置を格納する。
【００６６】
インデックスは、参照するファイル中でボックスを識別するためのユニークな番号である。このインデックスは、対象となるファイル中でインデックスを定義したＩＤエントリーボックスなどに格納される。すなわち、ＩＤエントリーボックスには、ボックスのインデックスとファイル中のオフセットアドレスとの対応関係などが定義される。これにより、インデックスを指定するだけで参照先のボックスを特定可能となる。すなわち、フラグメントリストボックスで参照先を指定する場合のようにデータのオフセット等を指定する必要がなくなる。なお、インデックスの構造はこれに限られず、参照先のデータを特定可能なものであればあらゆる構造のインデックスを適用できる。
【００６７】
（保護データ参照ボックスへの参照）
次に、保護データ参照ボックスを利用したデータ参照方法の例について説明する。これまでに記載したように、保護データ参照ボックスはアプリケーションによって解釈されると、あたかも１つのボックスのように振舞う。このため、保護データ参照ボックスが、他の保護データ参照ボックスをさらに参照することによって、階層的なデータ保護（暗号化）が可能となる。
【００６８】
図１５は、階層的に構成した保護データ参照ボックスの一例を示す図である。図１５に示すように、例えば、ファイル中の実体データを含むコードストリームボックスを、実体データではなく保護データ参照ボックス（２）で置き換えることにより、別ファイルへの保護データ参照としておく。さらに、文書中のあるオブジェクトを表すボックス（例えばＩＳＯ／ＩＥＣ  １５４４４−６：Ｃｏｍｐｏｕｎｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔの、Ｏｂｊｅｃｔ  ｂｏｘおよびＯｂｊｅｃｔ  Ｈｅａｄｅｒ  ｂｏｘなど）のうち、画像コードストリームの位置を指し示す先を、保護データ参照ボックス（２）とする。このような構成により、階層的なデータ保護を実現できる。
【００６９】
（再構成方法の具体例）
画像のコードストリームや、テキストデータを記述したファイルなどを再構成する方法としては、ＪＰＥＧ２０００画像のデータを再構成する方法や、ＸＭＬファイルから一部のテキストデータを抽出して再構成する方法などが挙げられる。
【００７０】
ＪＰＥＧ２０００画像のデータを再構成する方法では、階層構造を持つＪＰＥＧ２０００符号から、特定のタイル、コンポーネント、解像度、位置、品質の部分データを抽出する。例えば、最も解像度の低い部分のデータのみを抽出し、サムネイルとして再構成する場合や、オブジェクトを表す領域の部分データのみを抽出して再構成する場合などが挙げられる。
【００７１】
なお、ＪＰＥＧ２０００画像符号の場合、あるタイル、コンポーネント、解像度、位置、品質のデータを表すパケットと呼ばれるデータ単位の内容の部分、すなわちパケットボディだけを暗号化すれば、暗号化されていない場合と同様に部分データを抽出できる。
【００７２】
ＸＭＬファイルからテキストデータを再構成する方法では、ＸＭＬファイル内の特定のタグで囲まれる部分データを抽出する。図１６は、ＸＭＬファイルの一例を示す図である。例えば、図１６に示されるようなＸＭＬ形式のテキストデータが文書に付与されている場合、特定のページ中の特定のオブジェクトに関わるテキストデータを抽出するためには、対象となるオブジェクトに対応する「<object>」タグで囲まれる部分のみを抽出すればよい。
【００７３】
また、ＸＭＬファイル内のテキストデータを暗号化する場合は、例えば、予め「<object>」タグで囲まれるデータのみを、オブジェクトごとに異なる暗号鍵で暗号化する。そして、それ以外の「<document>」タグ、「<page>」タグおよび「<object>」タグの部分は暗号化しないでおく。したがって、この場合は「<object>」タグ内のデータのみを抜き出した後で暗号化を解除すればよい。さらに、暗号化を施した後に、「<page>」タグで囲まれる部分を再度別の鍵で暗号化することで、階層的なテキストデータ保護を実現することもできる。
【００７４】
次に、このように構成された本実施の形態にかかる情報処理装置１００によるデータアクセス処理について説明する。図１７は、本実施の形態におけるデータアクセス処理の全体の流れを示すフローチャートである。
【００７５】
まず、取得部１０１は、アクセス先として指定された保護データ参照ボックスのタイプフィールドを取得する（ステップＳ１７０１）。取得したタイプフィールドは、フラグメントリストボックスまたはＩＤ参照ボックスによって特定されたデータ（符号ストリーム）が、どのようなタイプのデータ（ボックス）なのかを識別するために用いる。
【００７６】
次に、取得部１０１は、タイプフィールドに続くボックスであるフラグメントリストボックスまたはＩＤ参照ボックスを取得する（ステップＳ１７０２）。次に、取得部１０１は、取得したボックスがフラグメントリストボックスであるか否かを判断する（ステップＳ１７０３）。
【００７７】
フラグメントリストボックスを取得した場合は（ステップＳ１７０３：ＹＥＳ）、取得部１０１は、リスト内のＵＲＬ、オフセット、長さで特定される情報を取得して結合する（ステップＳ１７０４）。具体的には、取得部１０１は、ＵＲＬによって特定されるファイル中の、オフセットで表されるデータ領域を読みこみ、フラグメント数の分だけ読みこんだデータを結合する。
【００７８】
ＩＤ参照ボックスを取得した場合は（ステップＳ１７０３：ＮＯ）、取得部１０１は、ＩＤ参照ボックス内のインデックスで特定される情報を取得する（ステップＳ１７０５）。
【００７９】
次に、取得部１０１は、保護データ参照ボックス内の未処理のツールボックスを取得する（ステップＳ１７０６）。そして、復号部１０２および変換部１０３によって、ステップＳ１７０４またはステップＳ１７０５で得られたデータに対して、ツールボックスで決定されるデータ復号処理および再構成処理を実行する（ステップＳ１７０７）。
【００８０】
具体的には、すなわち、ツールタイプで特定されるツールを用いて、キーリストボックスから得られる暗号化解除キー、およびパラメータボックスから得られるパラメータを入力としてデータ復号処理およびデータ再構成処理を実行する。なお、ツールタイプによっては、データ復号処理およびデータ再構成処理の少なくとも一方を実行すればよい。
【００８１】
次に、取得部１０１は、すべてのツールボックスを処理したか否かを判断し（ステップＳ１７０８）、処理していない場合は（ステップＳ１７０８：ＮＯ）、次のツールボックスを取得して処理を繰り返す（ステップＳ１７０６）。なお、後続のツールボックスの処理では、前のツールボックスによる処理で得られたデータを処理の対象とする。
【００８２】
すべてのツールボックスを処理した場合は（ステップＳ１７０８：ＹＥＳ）、取得部１０１は、再構成後のデータを参照ボックスの指し示すデータとして展開し（ステップＳ１７０９）、データアクセス処理を終了する。
【００８３】
保護データ参照ボックスが参照された場合は、このような処理によって展開されたデータが、ボックスの内容としてアプリケーションに解釈される。
【００８４】
このように、本実施の形態にかかる情報処理装置では、実体データにアクセスするときに、実体データのうち取得するデータ（部分データ）を参照するための位置情報、鍵情報、および再構成方法などを含む保護データ参照ボックスを利用することができる。これにより、アクセスごとに必要な情報のみを取得可能とし、セキュリティ確保のために用いる鍵情報の管理負荷を軽減することができる。また、保護データ参照ボックスを適用可能なデータ形式は限定されないため、画像データやテキストデータなどのデータの形態に依存せずに同じ方法でデータアクセスを実現できる。
【００８５】
また、複数の保護データ参照ボックスが同じ実体データを参照するように構成することによって、画像データおよびテキストデータの実体データを再利用することができる。このため、メモリ消費量を最小限に抑えることができ、かつ権限の異なるユーザに対してデータ転送量を最小限に抑えるようなデータアクセスを実現することができる。
【図面の簡単な説明】
【００８６】
【図１】本実施の形態にかかる情報処理装置の構成を示すブロック図である。
【図２】保護データ参照ボックス、参照先であるデータ、および鍵情報の対応関係を表す概念図である。
【図３】ボックスのデータ構造を表す図である。
【図４】スーパーボックスのサイズの関係を表す模式図である。
【図５】ボックスの暗号化の一例を表す模式図である。
【図６】ボックスの暗号化の一例を表す模式図である。
【図７】保護データ参照ボックスのデータ構造の一例を示す図である。
【図８】フラグメントリストボックスのデータ構造の一例を示す図である。
【図９】ツールボックスのデータ構造の一例を示す図である。
【図１０】キーリストボックスのデータ構造の一例を示す図である。
【図１１】パラメータボックスのデータ構造の一例を示す図である。
【図１２】保護データ参照ボックスのデータ構造の一例を示す図である。
【図１３】保護データ参照ボックスのデータ構造の一例を示す図である。
【図１４】ＩＤ参照ボックスのデータ構造の一例を示す図である。
【図１５】階層的に構成した保護データ参照ボックスの一例を示す図である。
【図１６】ＸＭＬファイルの一例を示す図である。
【図１７】本実施の形態におけるデータアクセス処理の全体の流れを示すフローチャートである。
【符号の説明】
【００８７】
４１〜４４  フィールド
５１  保護データ参照ボックス
５２  タイプフィールド
５３  フラグメントリストボックス
５４  ツールボックス
５５  実体データ
５６  ツールタイプフィールド
５７  キーリストボックス
５８  パラメータボックス
６１  保護データ参照ボックス
６２  タイプフィールド
６３  フラグメントリストボックス
６４  ツールボックス
６５  ボックス
７１  保護データ参照ボックス
７２  タイプフィールド
７３  参照ボックス
７４  ツールボックス
７５  ボックス
１００  情報処理装置
１０１  取得部
１０２  復号部
１０３  変換部
１２１  情報記憶部
１２２  参照記憶部
２０１〜２１０  矩形
【図１】
2009206571.tif 000003
【図２】
2009206571.tif 000004
【図３】
2009206571.tif 000005
【図４】
2009206571.tif 000006
【図５】
2009206571.tif 000007
【図６】
2009206571.tif 000008
【図７】
2009206571.tif 000009
【図８】
2009206571.tif 000010
【図９】
2009206571.tif 000011
【図１０】
2009206571.tif 000012
【図１１】
2009206571.tif 000013
【図１２】
2009206571.tif 000014
【図１３】
2009206571.tif 000015
【図１４】
2009206571.tif 000016
【図１５】
2009206571.tif 000017
【図１６】
2009206571.tif 000018
【図１７】
2009206571.tif 000019