(57)【要約】【課題】コンテンツを容易に悪用することを防止することのできる情報処理装置、システム及びプログラムを提供すること。【解決手段】本発明によれば、受付部と提供部とを備え、前記受付部は、通信可能な端末からの取得要求を受け付け可能に構成され、前記提供部は、前記取得要求に応じて前記端末に該端末で利用可能なコンテンツを提供可能に構成され、ここで、前記コンテンツは、暗号文と平文とを含む複数種類のデータを含み、前記暗号文を復号するための復号鍵が前記平文に含まれる、情報処理装置が提供される。【選択図】図１
2020178154.tif 000002
【特許請求の範囲】
【請求項１】
受付部と提供部とを備え、
前記受付部は、通信可能な端末からの取得要求を受け付け可能に構成され、
前記提供部は、前記取得要求に応じて前記端末に該端末で利用可能なコンテンツを提供可能に構成され、
ここで、前記コンテンツは、暗号文と平文とを含む複数種類のデータを含み、前記暗号文を復号するための復号鍵が前記平文に含まれる、
情報処理装置。
【請求項２】
前記平文の一部を前記復号鍵として用いる
請求項１に記載の情報処理装置。
【請求項３】
前記復号鍵は、任意に生成され、前記平文に追加される
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記復号鍵は、複数である
請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記暗号文は、暗号化前の平文を複数回暗号化したものであり、
前記復号鍵の数は、前記暗号化の回数に応じた数である
請求項４に記載の情報処理装置。
【請求項６】
前記復号鍵の数は、前記暗号化に使用した暗号鍵の数よりも大きい数である
請求項４又は請求項５に記載の情報処理装置。
【請求項７】
前記復号鍵は、前記コンテンツ毎に異なるものである
請求項１乃至請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
前記復号鍵は、前記提供部による前記コンテンツの提供毎に異なるものである
請求項１乃至請求項７のいずれか１項に記載の情報処理装置。
【請求項９】
コンテンツ保持装置と、暗号化装置と、情報処理装置とを備え、
前記コンテンツ保持装置は、端末で利用可能なコンテンツを記憶保持し、
ここで、前記コンテンツは、複数種類のデータを含み、
前記暗号化装置は、前記コンテンツの一部を暗号化した暗号文を生成可能に構成され、
ここで、前記暗号文を復号するための復号鍵は、前記コンテンツのうち、暗号化していない平文に含まれ、
前記情報処理装置は、受付部と提供部とを備え、
前記受付部は、前記端末からの取得要求を受け付け可能に構成され、
前記提供部は、前記取得要求に応じて前記端末に前記コンテンツを提供可能に構成される
システム。
【請求項１０】
コンピュータを、コンテンツを提供する情報処理装置として機能させるプログラムであって、
前記情報処理装置は、受付部と提供部とを備え、
前記受付部は、通信可能な端末からの取得要求を受け付け可能に構成され、
前記提供部は、前記取得要求に応じて前記端末に該端末で利用可能なコンテンツを提供可能に構成され、
ここで、前記コンテンツは、暗号文と平文とを含む複数種類のデータを含み、前記暗号文を復号するための復号鍵が前記平文に含まれる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、システム及びプログラムに関する。
【背景技術】
【０００２】
近年、インターネットを利用して配信されるコンテンツの種類は増加する傾向にあり、文字や写真のみならず、音楽や映像も配信されるようになっている。また、最近では、ウェブブラウザにＷｅｂＧＬが標準搭載されたことから、３Ｄモデルが配信される機会も増加している。
【０００３】
一方で、ウェブブラウザで表示可能なコンテンツの多くは、容易に悪用することが可能であり、コンテンツ保護の観点から問題となることがある。
【０００４】
コンテンツを悪意のあるユーザから保護する技術としては、例えば、特許文献１に記載されたものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−１７０５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１に記載された技術は、物体の形状を表すモデルデータをエンコードし、これをデコードプログラムであるシェーダプログラムとともに送信するものである。
【０００７】
しかしながら、デコードプログラムは、エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成されるものであるため、このデコードプログラムが解析された場合には、モデルデータを保護しきれないこととなる。
【０００８】
本発明は、かかる事情を鑑みてなされたものであり、コンテンツを容易に悪用することを防止することのできる情報処理装置、システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、受付部と提供部とを備え、前記受付部は、通信可能な端末からの取得要求を受け付け可能に構成され、前記提供部は、前記取得要求に応じて前記端末に該端末で利用可能なコンテンツを提供可能に構成され、ここで、前記コンテンツは、暗号文と平文とを含む複数種類のデータを含み、前記暗号文を復号するための復号鍵が前記平文に含まれる、情報処理装置が提供される。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る情報処理装置３０を含めたシステム１の全体構成を示した図である。
【図２】コンテンツ提供の流れを説明するための図である。
【図３】頂点データの暗号化処理を説明するための図である。
【図４】暗号化を複数回行う場合の例を説明するための図である。
【図５】マテリアルデータ内のパラメータ自体を復号鍵として用いる方法を説明するための図である。
【図６】任意の復号鍵をパラメータに偽装してマテリアルデータに含める方法を説明するための図である。
【図７】復号に使用しない復号鍵をパラメータに偽装してマテリアルデータに含める方法を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【００１２】
１．全体構成
図１は、本発明の実施形態に係る情報処理装置３０を含めたシステム１の全体構成を示した図である。同図に示すように、システム１は、コンテンツ保持装置１０と、暗号化装置２０と、情報処理装置３０とを有している。
【００１３】
また、情報処理装置３０は、ネットワーク４０を介して、端末５０、端末８０等の端末と通信可能である。
【００１４】
コンテンツ保持装置１０は、端末５０、端末８０等の端末で利用可能なコンテンツを記憶保持する。このコンテンツは、複数種類のデータを含むものである。具体的には、コンテンツは、３Ｄのモデルを画面上に表示させるものであり、頂点データやテクスチャデータ、ボーンデータ、アニメーションデータ、マテリアルデータ等の複数種類のデータと、スクリプト等の命令群により構成される。
【００１５】
暗号化装置２０は、コンテンツ保持装置１０が保持するコンテンツの一部を暗号化した暗号文を生成可能に構成される。具体的には、コンテンツを構成する複数種類のデータのうち、例えば、頂点データとテクスチャデータを暗号化する。
【００１６】
情報処理装置３０は、受付部３１と提供部３２を有する。
【００１７】
受付部３１は、通信可能な端末からの取得要求を受け付け可能に構成される。具体的には、受付部３１は、端末５０や端末８０等の端末から、コンテンツの取得要求、例えば、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が示すコンテンツの取得要求を受け付ける。
【００１８】
提供部３２は、受付部３１が受け付けた取得要求に応じて端末５０や端末８０等の端末に、これら端末で利用可能なコンテンツを提供可能に構成される。提供するコンテンツは、暗号文と平文とを含む複数種類のデータを含み、この暗号文を復号するための復号鍵が平文のデータに含まれる。具体的には、コンテンツに含まれる複数種類のデータのうち、一部のデータ、例えば、頂点データとテクスチャデータは、暗号化装置２０で暗号化したものを提供し、他のデータ、例えば、ボーンデータとアニメーションデータとマテリアルデータは、コンテンツ保持装置１０に記憶保持されているものを、平文のまま提供する。
【００１９】
ネットワーク４０は、情報処理装置３０と端末５０、端末８０の間での通信を可能にするもので、例えば、インターネットを含むネットワークである。
【００２０】
端末５０は、例えば、デスクトップ型のパーソナルコンピュータであり、処理部５１と画像処理部５２を有するとともに、入力装置６０と表示装置７０が接続されている。また、処理部５１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、画像処理部５２は、例えば、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。入力装置６０は、例えば、マウスやキーボードであり、表示装置７０は、例えば、モニタである。
【００２１】
端末８０は、例えば、ノート型のパーソナルコンピュータやスマートフォンであり、処理部８１、画像処理部８２、入力部８３、表示部８４を有する。処理部８１は、例えば、ＣＰＵであり、画像処理部８２は、例えば、ＧＰＵである。入力部８３は、例えば、キーボードであり、表示部８４は、例えば、モニタである。なお、入力部８３と表示部８４には、両者を一体化させたタッチパネル式ディスプレイを採用するようにしてもよい。
【００２２】
なお、コンテンツ保持装置１０、暗号化装置２０及び情報処理装置３０は、それぞれ、コンピュータをプログラムにしたがって動作させることで実現でき、これらを複数のコンピュータにより実現してもよく、同一のコンピュータにより実現するようにしてもよい。
【００２３】
２．コンテンツ提供の流れ
次に、情報処理装置３０によるコンテンツ提供の流れについて説明する。図２は、コンテンツ提供の流れを説明するための図である。
【００２４】
情報処理装置３０が提供するコンテンツは、コンテンツの提供者により予めコンテンツ保持装置１０に記憶保持される。
【００２５】
コンテンツ保持装置１０に記憶保持されているコンテンツのうち、第１データ１０１と暗号鍵１０２は、暗号化装置２０に渡される。
【００２６】
第１データ１０１は、例えば、頂点データとテクスチャデータである。暗号鍵１０２は、頂点データとテクスチャデータを暗号化するために必要な暗号鍵である。
【００２７】
暗号化装置２０では、暗号鍵１０２を用いて第１データ１０１を暗号化データ１０３に変換する。変換した暗号化データ１０３は、情報処理装置３０に渡される。
【００２８】
一方、コンテンツ保持装置１０に記憶保持されているコンテンツのうち、プログラム１０４と第２データ１０５と復号鍵１０６は、情報処理装置３０に渡される。
【００２９】
プログラム１０４は、端末５０の処理部５１や端末８０の処理部８１で実行されるスクリプトと、端末５０の画像処理部５２や端末８０の画像処理部８２で実行されるシェーダプログラムである。第２データ１０５は、例えば、ボーンデータとアニメーションデータとマテリアルデータである。復号鍵１０６は、暗号化データ１０３を復号化するために必要な情報であり、第２データ１０５の一部に含まれる。
【００３０】
なお、暗号化データ１０３、プログラム１０４、第２データ１０５及び復号鍵１０６が情報処理装置３０に渡されるまでの処理は、予め行ってもよく、情報処理装置３０が端末５０等からコンテンツの取得要求を受けてから行うようにしてもよい。
【００３１】
情報処理装置３０は、端末、例えば、端末５０からのコンテンツ取得要求に応じて、暗号化データ１０３、プログラム１０４、第２データ１０５及び復号鍵１０６を端末５０に提供する。
【００３２】
端末５０は、情報処理装置３０から提供されたスクリプトに基づいて処理部５１を動作させ、情報処理装置３０から提供された暗号化データ１０３と第２データ１０５と復号鍵１０６を、指定された順序で、順次、画像処理部５２へ入力する。また、端末５０は、情報処理装置３０から提供されたシェーダプログラムに基づいて画像処理部５２を動作させ、処理部５１から入力された暗号化データ１０３を復号鍵１０６によって第１データ１０１に復号化し、この第１データ１０１と第２データ１０５とに基づいて、画像データを生成する。
【００３３】
このように、画像処理部５２で暗号化データ１０３の復号化を行うことにより、従来のようにスクリプトによりＣＰＵを動作させて復号化を行う必要がないため、スクリプトの復号化ルーチンを解読されることもなく、暗号化されたコンテンツの悪意により解読される可能性が低下する。
【００３４】
３．暗号化
次に、暗号化装置２０による暗号化について説明する。暗号化装置２０による暗号化の手法は、基本的には、任意のものを利用できるが、画像処理部５２等で復号化を行うため、第１データ１０１のうち、画像処理部５２へ入力する単位毎に、暗号化を行う。
【００３５】
例えば、頂点データを暗号化する場合には、その頂点毎に暗号化を行う。これは、画像処理部５２における処理では、一般に、頂点毎にデータの処理を行うためである。また、テクスチャデータを暗号化する場合には、ピクセル毎に暗号化を行う。これは、テクスチャサンプラの補間機能を有効に利用するためである。
【００３６】
ここで、頂点データを暗号化する場合を例にして、暗号化処理について説明する。図３は、頂点データの暗号化処理を説明するための図である。
【００３７】
頂点データを暗号化する場合は、例えば、第１データ１０１中の頂点１０１ａを暗号鍵１０２ａにより暗号化頂点１０３ａに暗号化する。同様に、頂点１０１ｂを暗号鍵１０２ｂにより暗号化頂点１０３ｂに暗号化し、頂点１０１ｃを暗号鍵１０２ｃにより暗号化頂点１０３ｃに暗号化する。これら暗号化頂点１０３ａ、暗号化頂点１０３ｂ、暗号化頂点１０３ｃ等の集合が暗号化データ１０３となる。
【００３８】
また、暗号化頂点１０３ａ、暗号化頂点１０３ｂ、暗号化頂点１０３ｃは、それぞれ、復号鍵１０６ａ、復号鍵１０６ｂ、復号鍵１０６ｃにより、頂点１０１ａ、頂点１０１ｂ、頂点１０１ｃに復号化される。
【００３９】
なお、暗号鍵１０２ａ、暗号鍵１０２ｂ、暗号鍵１０２ｃは、同一の暗号鍵であってもよく、それぞれが異なる暗号鍵であってもよい。暗号鍵１０２ａ、暗号鍵１０２ｂ、暗号鍵１０２ｃが同一の暗号鍵である場合には、当然のことながら、復号鍵１０６ａ、復号鍵１０６ｂ、復号鍵１０６ｃも同一の復号鍵となり、暗号鍵１０２ａ、暗号鍵１０２ｂ、暗号鍵１０２ｃがそれぞれ異なる暗号鍵である場合には、復号鍵１０６ａ、復号鍵１０６ｂ、復号鍵１０６ｃもそれぞれ異なる復号鍵となる。つまり、復号鍵は、単数である場合もあり、複数である場合もある。
【００４０】
また、暗号鍵１０２ａと復号鍵１０６ａを同じ鍵、つまり、暗号化と復号化に同じ鍵を用いるように暗号化及び復号化を行うようにしてもよい。
【００４１】
また、頂点データを暗号化する際に、暗号化を複数行うようにしてもよい。図４は、暗号化を複数回行う場合の例を説明するための図である。
【００４２】
同図に示すように、頂点１０１ｐを暗号化する場合、例えば、暗号鍵１０２ｐにより頂点１０１ｐを暗号化して、暗号化頂点１０３ｐを得る。そして、暗号化頂点１０３ｐをさらに暗号鍵１０２ｐ’で暗号化して暗号化頂点１０３ｐ’を得る。
【００４３】
一方、暗号化頂点１０３ｐ’を復号化する場合には、まず、暗号化頂点１０３ｐ’を復号鍵１０６ｐ’で暗号化頂点１０３ｐに復号化し、さらに復号鍵１０６ｐで頂点１０１ｐに復号化する。
【００４４】
このように、暗号化を複数回行う場合には、暗号鍵と復号鍵のそれぞれを、暗号化の数に応じた数だけ利用することとなる。
【００４５】
暗号化を複数回行う場合、各暗号化を比較的単純な手法で行ったとしても、これを解読することは困難となる。例えば、１回目の暗号化手法として、頂点の座標（ｘ，ｙ，ｚ）を入れ替える処理を行ったとすると、その結果は、６通りのパターンのうちのいずれかとなる。これに２回目の暗号化手法として、頂点の座標（ｘ，ｙ，ｚ）のそれぞれに「−１」を乗じる処理を行うとすれば、この処理も６通りのパターンがあるため、両者を組み合わせると、３６通りのパターンのうちのいずれかが暗号化の結果となる。したがって、暗号化されたコンテンツの悪意の解読がより困難となる。
【００４６】
また、暗号化装置２０による暗号化においては、情報処理装置３０が提供するコンテンツ毎に異なる暗号鍵を用いるようにしてもよく、また、同じコンテンツであっても、情報処理装置３０によるコンテンツの提供毎に異なる暗号鍵を用いるようにしてもよい。当然のことながら、コンテンツ毎に異なる暗号鍵を用いる場合には、復号鍵もコンテンツ毎に異なるものとなり、コンテンツの提供毎に異なる暗号鍵を用いる場合には、復号鍵もコンテンツの提供毎に異なるものとなるため、暗号化されたコンテンツの悪意の解読がより困難となる。
【００４７】
４．復号鍵
次に、復号鍵の配信方法について説明する。復号鍵は、暗号化せずに平文のまま提供されるデータ、例えば、ボーンデータ、アニメーションデータ、マテリアルデータに含められて提供される。例えば、復号鍵をマテリアルデータに含める場合には、マテリアルデータ内のパラメータ自体を復号鍵として用いる方法、つまり、平文の一部を復号鍵として用いる方法と、任意の復号鍵をパラメータに偽装してマテリアルデータに含める方法、つまり、任意に生成された復号鍵を平文に追加する方法とがある。
【００４８】
まず、マテリアルデータ内のパラメータ自体を復号鍵として用いる方法について説明する。図５は、マテリアルデータ内のパラメータ自体を復号鍵として用いる方法を説明するための図である。
【００４９】
同図に示すように、マテリアルデータ１０７ｘは、パラメータとして「ＤｉｆｆｕｓｅＣｏｌｏｒ」、「ＤｉｆｆｕｓｅＦａｃｔｏｒ」、「ＳｐｅｃｕｌａｒＣｏｌｏｒ」、「ＳｐｅｃｕｌａｒＦａｃｔｏｒ」、「ＥｍｉｓｓｉｖｅＣｏｌｏｒ」、「ＥｍｉｓｓｉｖｅＦａｃｔｏｒ」、「ＡｍｂｉｅｎｔＣｏｌｏｒ」、「ＡｍｂｉｅｎｔＦａｃｔｏｒ」を含むものとする。そして、「ＤｉｆｆｕｓｅＣｏｌｏｒ」を復号鍵１０６ｘとして用いる場合には、暗号化装置２０は、復号鍵が「２５５１９２１６８」となるような暗号鍵を用いて暗号化処理を行う。
【００５０】
次に、任意の復号鍵をパラメータに偽装してマテリアルデータに含める方法について説明する。図６は、任意の復号鍵をパラメータに偽装してマテリアルデータに含める方法を説明するための図である。
【００５１】
例えば、暗号化装置２０が、復号鍵が「１２３４５６７８９」となるような暗号鍵を用いて暗号化処理を行った場合には、図６に示すマテリアルデータ１０７ｙのように、本来のパラメータ群に、パラメータ「ＡｐｐｌｅＦａｃｔｏｒ」として「１２３４５」を、パラメータ「ＢａｎａｎａＦａｃｔｏｒ」として「６７８９」を、偽装した復号鍵１０６ｙとして追加する。なお、ここでは、復号鍵１０６ｘをパラメータ「ＡｐｐｌｅＦａｃｔｏｒ」とパラメータ「ＢａｎａｎａＦａｃｔｏｒ」とに分割して追加したが、例えば、パラメータ「ＡｐｐｌｅＦａｃｔｏｒ」として、「１２３４５６７８９」を追加するようにしてもよい。
【００５２】
また、任意の復号鍵をパラメータに偽装してマテリアルデータに含める方法では、復号に使用しない復号鍵、厳密には、復号鍵に類似するものをマテリアルデータに追加するようにしてもよい。図７は、復号に使用しない復号鍵をパラメータに偽装してマテリアルデータに含める方法を説明するための図である。
【００５３】
図７に示したマテリアルデータ１０７ｚは、図６に示したマテリアルデータ１０７ｙに、復号鍵ではないパラメータ「ＳｕｇａｒＦａｃｔｏｒ」とパラメータ「ＳａｌｔＦａｃｔｏｒ」を使用しない復号鍵１０６Ｚとして含めたものである。つまり、マテリアルデータに含まれる復号鍵の数は、暗号化に使用した暗号鍵の数よりも大きい数となる。
【００５４】
これにより、復号鍵の特定がより困難となり、暗号化されたコンテンツの悪意の解読も、より困難となる。
【００５５】
以上説明した処理により、情報処理装置３０が提供するサービスを利用することで、以下の効果を得ることができる。
・コンテンツを容易に悪用することを防止するこができる。
・暗号化したコンテンツを復号するための復号鍵の特定を困難にすることができる。
【００５６】
＜その他＞
なお、前述の説明では、復号鍵を平文に含めて提供するものとしたが、暗号文と復号鍵とを別々の通信タイミング、別々の通信方法、別々の通信プロトコルのいずれかで提供するようにすることも可能である。
【００５７】
本発明は、以下の態様でも実施可能である。コンピュータを、コンテンツを提供する情報処理装置として機能させるプログラムであって、前記情報処理装置は、受付部と提供部とを備え、前記受付部は、通信可能な端末からの取得要求を受け付け可能に構成され、前記提供部は、前記取得要求に応じて前記端末に該端末で利用可能なコンテンツを提供可能に構成され、ここで、前記コンテンツは、暗号文と平文とを含む複数種類のデータを含み、前記暗号文を復号するための復号鍵が前記平文に含まれるプログラム。
【００５８】
また、上述のプログラムを格納する、コンピュータ読み取り可能な非一時的な記録媒体として提供してもよい。
【符号の説明】
【００５９】
１          ：システム
１０        ：コンテンツ保持装置
２０        ：暗号化装置
３０        ：情報処理装置
３１        ：受付部
３２        ：提供部
４０        ：ネットワーク
５０        ：端末
５１        ：処理部
５２        ：画像処理部
６０        ：入力装置
７０        ：表示装置
８０        ：端末
８１        ：処理部
８２        ：画像処理部
８３        ：入力部
８４        ：表示部
１０１      ：第１データ
１０１ａ    ：頂点
１０１ｂ    ：頂点
１０１ｃ    ：頂点
１０１ｐ    ：頂点
１０２      ：暗号鍵
１０２ａ    ：暗号鍵
１０２ｂ    ：暗号鍵
１０２ｃ    ：暗号鍵
１０２ｐ    ：暗号鍵
１０２ｐ’  ：暗号鍵
１０３      ：暗号化データ
１０３ａ    ：暗号化頂点
１０３ｂ    ：暗号化頂点
１０３ｃ    ：暗号化頂点
１０３ｐ    ：暗号化頂点
１０３ｐ’  ：暗号化頂点
１０４      ：プログラム
１０５      ：第２データ
１０６      ：復号鍵
１０６Ｚ    ：復号鍵
１０６ａ    ：復号鍵
１０６ｂ    ：復号鍵
１０６ｃ    ：復号鍵
１０６ｐ    ：復号鍵
１０６ｐ’  ：復号鍵
１０６ｘ    ：復号鍵
１０６ｙ    ：復号鍵
１０７ｘ    ：マテリアルデータ
１０７ｙ    ：マテリアルデータ
１０７ｚ    ：マテリアルデータ
【図１】
2020178154.tif 000003
【図２】
2020178154.tif 000004
【図３】
2020178154.tif 000005
【図４】
2020178154.tif 000006
【図５】
2020178154.tif 000007
【図６】
2020178154.tif 000008
【図７】
2020178154.tif 000009