(57)【特許請求の範囲】
【請求項１】
ネットワークを介してコンテンツデータの一部である部分データをサーバ装置からクライアント装置に提供するためのデータ処理方法であって、
前記クライアント装置が、該クライアント装置が保持しているコンテンツデータの一部である部分データが不足している場合に、該クライアント装置から前記サーバ装置に該部分データの送信を要求する要求工程と、
前記サーバ装置が、該サーバ装置が保持している前記コンテンツデータにおける前記部分データ以外の一部であるデータに基づいた暗号鍵により該部分データを暗号化する暗号化工程と、
前記サーバ装置が、前記暗号化された部分データと、該サーバ装置が保持しているコンテンツデータにおける前記暗号鍵とされたデータの位置情報とを、該サーバ装置から前記クライアント装置に送信する送信工程と、
前記クライアント装置が、該クライアント装置が保持しているコンテンツデータの前記位置情報におけるデータに基づいた復号鍵により前記送信された部分データを復号化する復号化工程と、
を有することを特徴とするデータ処理方法。
【請求項２】
前記暗号鍵は、前記サーバ装置が保持しているコンテンツデータの前記部分データ以外の一部であるデータであることを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記暗号鍵は、前記サーバ装置が保持しているコンテンツデータの前記部分データ以外の一部であるデータに演算処理を施したデータであることを特徴とする請求項１に記載のデータ処理方法。
【請求項４】
前記位置情報は、前記サーバ装置が保持しているコンテンツデータの一部の開始位置と、該開始位置からのデータ長を含むことを特徴とする請求項１乃至３の何れか１項に記載のデータ処理方法。
【請求項５】
前記サーバ装置が、該サーバ装置が保持しているコンテンツデータの前記部分データ以外の一部であるデータの該コンテンツデータにおける認証用位置情報を、該サーバ装置から前記クライアント装置に送信する認証送信工程と、
前記クライアント装置が、該クライアント装置が保持しているコンテンツデータの前記認証用位置情報における認証用データを、該クライアント装置から前記サーバ装置に送信する認証返信工程と、
前記サーバ装置が、前記サーバ装置が保持しているコンテンツデータの前記クライアント装置認証用位置情報におけるデータと、前記認証用データとが一致するか否かを確認する認証工程と
を更に有することを特徴とする請求項１乃至請求項４の何れか１項に記載のデータ処理方法。
【請求項６】
請求項１乃至５の何れか１項に記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
ネットワークを介してコンテンツデータの一部である部分データをサーバ装置からクライアント装置に提供するための、該サーバ装置及び該クライアント装置を備えるデータ処理システムであって、
前記サーバ装置が、
前記コンテンツデータの一部である部分データの送信を要求されたことに応じて、前記サーバ装置が保持しているコンテンツデータにおける前記部分データ以外の一部であるデータに基づいた暗号鍵により該部分データを暗号化する暗号化手段と、
前記暗号化された部分データと、前記サーバ装置が保持しているコンテンツデータにおける前記暗号鍵とされたデータの位置情報とを、前記クライアント装置に送信する送信手段と、
を備え、
前記クライアント装置が、
前記クライアント装置が保持している前記コンテンツデータの一部である前記部分データが不足している場合に、該クライアント装置から該部分データの送信を要求する要求手段と、
前記クライアント装置が保持しているコンテンツデータの前記位置情報におけるデータに基づいた復号鍵により前記送信された部分データを復号化する復号化手段と、
を備えることを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを送受信する際のセキュリティに関する。
【背景技術】
【０００２】
従来、インターネット等を通してサーバ・クライアント間でコンテンツをやり取りする際のセキュリティを確保する手法として主に２つの処理が行われている。クライアントがコンテンツを受け取る権利を持つか否かを判断する認証処理、コンテンツが権利を持たないクライアントに渡った際にその利用を防ぐ暗号化処理である。この認証処理、暗号化処理においては、正規のクライアントのみが保持している情報を判定の鍵として用いる。例えば、ユーザの定めたパスワードや、機器出荷時に埋め込まれた機器のＩＤ等である（例えば［特許文献１］参照）。
【特許文献１】特開２００４―３５０１５０
【発明の開示】
【発明が解決しようとする課題】
【０００３】
クライアント側で、不足したり一部欠けたりしたコンテンツデータをサーバから取得する場合にも不正使用を防ぐためにセキュリティを確保することが重要である。この場合、サーバ側がコンテンツデータを提供してよいかどうか認証する方法や、提供データを暗号化する方法も特有な手法が考えられる。
【０００４】
不足したり一部欠けたりしたコンテンツデータを提供するときに、複数回にわたりコンテンツデータを要求し、全データを取得してしまう不正な要求を防ぐことが望まれる。
【課題を解決するための手段】
【０００５】
上記の課題は、以下の方法により解決できる。
【０００６】
ネットワークを介してコンテンツデータの一部である部分データをサーバ装置からクライアント装置に提供するためのデータ処理方法であって、
前記クライアント装置が、該クライアント装置が保持しているコンテンツデータの一部である部分データが不足している場合に、該クライアント装置から前記サーバ装置に該部分データの送信を要求する要求工程と、
前記サーバ装置が、該サーバ装置が保持している前記コンテンツデータにおける前記部分データ以外の一部であるデータに基づいた暗号鍵により該部分データを暗号化する暗号化工程と、
前記サーバ装置が、前記暗号化された部分データと、該サーバ装置が保持しているコンテンツデータにおける前記暗号鍵とされたデータの位置情報とを、該サーバ装置から前記クライアント装置に送信する送信工程と、
前記クライアント装置が、該クライアント装置が保持しているコンテンツデータの前記位置情報におけるデータに基づいた復号鍵により前記送信された部分データを復号化する復号化工程と、
を有することを特徴とするデータ処理方法。
【０００７】
上記の課題は、以下のシステムによっても解決できる。
【０００８】
ネットワークを介してコンテンツデータの一部である部分データをサーバ装置からクライアント装置に提供するための、該サーバ装置及び該クライアント装置を備えるデータ処理システムであって、
前記サーバ装置が、
前記コンテンツデータの一部である部分データの送信を要求されたことに応じて、前記サーバ装置が保持しているコンテンツデータにおける前記部分データ以外の一部であるデータに基づいた暗号鍵により該部分データを暗号化する暗号化手段と、
前記暗号化された部分データと、前記サーバ装置が保持しているコンテンツデータにおける前記暗号鍵とされたデータの位置情報とを、前記クライアント装置に送信する送信手段と、
を備え、
前記クライアント装置が、
前記クライアント装置が保持している前記コンテンツデータの一部である前記部分データが不足している場合に、該クライアント装置から該部分データの送信を要求する要求手段と、
前記クライアント装置が保持しているコンテンツデータの前記位置情報におけるデータに基づいた復号鍵により前記送信された部分データを復号化する復号化手段と、
を備えることを特徴とするデータ処理システム。
【発明の効果】
【００２３】
不足したり一部欠けたりしたコンテンツデータを取得するときの不正使用を防ぎ、セキュリティを確保する。クライアントにおいては、不足部分以外からセキュリティを確保するための情報を作成することができる。サーバにおいては、不足部分以外を保持しているクライアントに不足部分を提供することができる。
【発明を実施するための最良の形態】
【００２４】
＜実施形態１＞
メディアの破損等により一部が再生困難なデータを、サーバから提供された補完データを用いることで再生困難部分を含めたコンテンツ再生を実現する、コンテンツ再生システムでの適用例を述べる。メディア再生装置には、少々傷がついても訂正して再生する機能があるが、本実施形態ではそのようなエラー訂正機能でも修復できない場合を想定している。
【００２５】
図１は、コンテンツ再生システムの構成を示すものである。コンテンツを購入したユーザが再生に利用するコンテンツ再生装置（１０１）がクライアント機器である。補完データ提供装置（１０２）は、コンテンツを販売した企業が用いるサーバ機器である。装置１０１と装置１０２は、インターネット（１０３）を通じてネットワーク接続可能な状態にある。
【００２６】
図２は、コンテンツ再生装置１０１の内部構成である。ＣＰＵ２０１は装置を制御するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔである。ＲＡＭ２０２は実行するプログラムや実行中に生じるデータを一時記憶するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙである。ＲＯＭ２０３はコンテンツ再生装置１０１の動作を定めるプログラムを記憶しているＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙである。ＨＤＤ２０４は補完データを保存するＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅである。
【００２７】
液晶パネル２０５は、ユーザにコンテンツ再生装置１０１の動作状況を知らせる。メディア読み取り装置２０６は、再生するメディアを読み取る。ネットワークインターフェース２０７は、インターネット１０３を通じて補完データ提供装置１０２と接続するためのネットワークインターフェースである。ネットワークインターフェース２０７を用いて、コンテンツ再生装置１０１から補完データ提供装置１０３へ補完データの要求データが送信され、補完データ提供装置から補完データを受信する。入出力インターフェース２０８は、外部装置と接続する。出力装置２０９はコンテンツの再生内容を出力する。例えば、音、静止画像、動画、テキストなどを出力する。リモートコントローラ２１０はユーザがコンテンツ再生装置１０１を操作するために用いる。
【００２８】
図３は、補完データ提供装置１０３の内部構成である。ＣＰＵ３０１は装置を制御する。ＲＡＭ３０２は実行するプログラムや実行中に生じるデータを一時記憶する。ＨＤＤ３０３はコンテンツデータを保持している。ネットワークインターフェース３０４は、インターネット１０３を通じてコンテンツ再生装置１０１と接続する。入出力インターフェース３０５は、外部装置と接続する。ディスプレイ３０６は操作者に装置の動作状況を知らせる。キーボード３０７は操作者が情報を入力する。マウス３０８で操作者が情報を入力する。
【００２９】
なお、コンテンツ再生装置１０１や補完データ提供装置１０３の機能はそれぞれ単一の装置で実現してもよいし、必要に応じた複数の装置に各機能を分散して実現してもよい。複数の装置で構成される場合は、装置間は互いに通信可能なようにＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で接続される。
【００３０】
図４は、コンテンツ再生装置１０１が補完データ提供装置１０３から補完データを取得する際のメッセージシーケンス図である。まず、補完データ提供装置１０３はコンテンツ再生装置１０１からの補完データ取得要求（４０１）を受ける。
【００３１】
図５が補完データ取得要求の内容である。コンテンツ再生装置１０１がメディアから読み取れず、補完データとして送信を希望するコンテンツのＩＤ（５０１）、補完部分の開始位置（５０２）、長さ（５０３）が含まれている。この要求を受信して、補完データ提供装置１０３は、コンテンツ再生装置１０１がコンテンツを受け取る正当な権利を有しているかどうかを認証する。コンテンツを受け取る権利を有しているかどうかは、コンテンツを保有していることの確認で行う。保有していることの具体的な確認方法としては、補完要求のあった部分を除くコンテンツデータの任意の一部分をパス（認証）コードとして要求し、その真贋をもって確認する。
【００３２】
図６は、補完要求のあったコンテンツのデータ配置図である。コンテンツのサイズは６００００バイトである。補完要求が１００００バイト目から１００バイト分であったので、それ以外の部分である０−９９９９バイトの部分、１０１００−５９９９９バイトの部分はクライアントが保持しているはずであり、認証用のパスコードの生成対象となる部分である。この範囲の中で、どこをパス（認証）コードに用いるかは補完データ提供装置がランダムに決める。ランダムとすることで、パス（認証）コード部分だけのデータを持ったなりすましを防ぐ。ここでは、パス（認証）コードの領域を２１５８９バイト目から２５バイト分とした。
【００３３】
パス（認証）コードの指定を、補完要求データ部分の情報を用いて行うこともある。上記の例では、補完要求データ部分が始まる１０００バイト目からランダムに決定した１０６を減算した８９４バイト目から１８バイト分をパスコードにするなどである。
【００３４】
パス（認証）コードの指定を、補完要求データ部分をまたがって行っても良い。上記のように１００００バイト目から１００バイト分が補完要求部分である場合に、補完要求データ部分をまたがって、さらに補完要求データ部分の情報と関連させた例を述べる。補完要求部分の５０バイト前から始まり、補完要求しているデータの長さ分またはランダムに決定した１００６バイトを加算した１１０６バイト分のデータを補完要求データ部分をまたがってパス（認証）コードとして指定することを行う。補完要求部分をまたがるだけで、補完要求部分の情報を利用しないこともある。
【００３５】
パス（認証）コードの領域を決定すると、補完データ提供装置はコンテンツ再生装置にパス（認証）コードの要求を行う（４０２）。パス（認証）コードの要求には図７に示すように、その開始位置（７０１）と長さ（７０２）が含まれる。この要求を受けて、コンテンツ再生装置１０１はコンテンツデータからパス（認証）コード部分のデータを読み取り、補完データ提供装置１０３に送信する（４０３）。次に補完データ提供装置１０３は、受信したパス（認証）コードの真贋を判定する。これはＨＤＤ３０３に格納されているコンテンツデータの該当部分との比較となる。パス（認証）コードが正しいことが確認できれば、補完データ提供装置１０３は送信する補完データの生成を行う。
【００３６】
補完データは暗号化して送信する。暗号化は共通鍵による暗号化とする。暗号化アルゴリズムはＴｒｉｐｌｅ  ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等とする。本提案に暗号化アルゴリズムの種類は影響しないので、いかなる種類の暗号化アルゴリズムでもよい。共通鍵は、パス（認証）コードと同様にしてコンテンツデータの任意の一部分を用いることとする。やはり補完要求のあった部分とは異なる部分から選択する。先のパス（認証）コードと同じ部分でも良いが、異なる部分の方が安全性が高まる。ここでは、２１８５バイト目から２１バイト分を鍵に採用することとする。
【００３７】
補完データ提供装置は、ＨＤＤ３０３に格納されているコンテンツデータから補完要求のあった部分のデータを読み出し、先に定めた鍵を用いて暗号化する。そして、暗号化した補完データと、鍵として用いたコンテンツデータの位置情報（２１８５バイト目から２１バイト分など）をコンテンツ再生装置に送信する（４０４）。鍵はそのものを送信せず、図８のようにコンテンツデータ内の位置情報で送信する。鍵をやり取りせず鍵位置情報をやり取りするのは、万一通信路でデータが盗まれても、補完データの復号を防ぐためである。
【００３８】
コンテンツ再生装置１０１は、暗号化された補完データ及びこの鍵位置情報をそのままＨＤＤ２０４に格納する。ＨＤＤ２０４に格納されている鍵位置情報を読み出して、ＲＯＭまたはＲＡＭにあるコンテンツデータから鍵を作成しないと暗号化された補完データを復号できない。ＨＤＤ内のデータが盗まれても補完データの復号は出来ないようにするための措置である。コンテンツ再生装置１０１は、コンテンツを再生する際に、鍵位置情報から鍵を生成し、その鍵で補完データを復号して再生に用いる。
【００３９】
本実施形態は、例えば、レンタルショップでレンタル料金を払って借りてきたＣＤの読み取れないデータを保管してもらうときの認証・暗号化処理に用いることができる。コンテンツ再生装置１０１をユーザが持ち、補完データ提供装置１０３をレンタルショップ側が持ち、それぞれの装置をネットワーク１０２で接続して実現する。
【００４０】
＜実施形態２＞
実施形態１では、コンテンツ再生装置１０１は補完要求部分以外のコンテンツデータを保持しているとしていた。しかし、補完要求部分と保持していない部分が一致しない場合には、補完データの取得要求をする際、保持していない部分の情報を取得要求に含め、取得要求している部分以外にも保持していない部分があることを明示する。
【００４１】
補完データ提供装置１０３は、補完要求部分以外からパス（認証）コードと共通鍵を生成するのではなく、この保持していない部分からパス（認証）コードと共通鍵を生成することとすれば、他の部分は実施形態１から変更無しで実現できる。なお、この実施形態の場合、保持していない部分を著しく大きく申請することで、パス（認証）コードや共通鍵を作る領域を限定し、不正にコンテンツを手に入れやすくする方法が考えられる。対処法として、コンテンツ再生装置が保持しているべきコンテンツの割合を定めて、それに満たない場合は要求に応じないという制限を設けることで不正な要求を退けることができる。
【００４２】
＜実施形態３＞
実施例１では、パス（認証）コードおよび共通鍵はコンテンツデータの任意の一部分とした。不正な解析を困難にするために、さらにそのデータに一定の演算を行ったものをパス（認証）コード、共通鍵としても実現できる。計算には、例えばハッシュ関数を用い、ハッシュ値をパス（認証）コードおよび共通鍵とする。
【００４３】
＜実施形態４＞
実施形態１では、補完データの要求を１つの開始位置と長さで指定しているが、コンテンツデータの領域を一意に特定できる表現であれば、いかなる形態でも実現可能である。例えば、補完領域が複数ある場合は、開始位置と長さの組を複数記述することで表現できる。また、コンテンツを格納するメディアの読み出し単位（トラック、セクタなど）を用いた表現でもよい。以上のことは、パス（認証）コードや共通鍵の位置情報も同様で、開始位置と長さで指定する以外にもメディアの読み出し単位を用いてパス（認証）コードや共通鍵の位置情報を指定できる。
【００４４】
＜実施形態５＞
実施形態１では、コンテンツ再生装置の補完データ要求に対して、補完データ提供装置がパス（認証）コードの要求を行っていた。本実施形態では、コンテンツ再生装置が補完データ要求に合わせてパス（認証）コードの送信も行うこととする。パス（認証）コードとするデータ列は、コンテンツ再生装置が定めるものとする。
【００４５】
本形態は、コンテンツ再生装置がコンテンツの一部しか保持しておらず、補完データを受け取る権利を有しない場合にも、保持している一部分をパス（認証）コードとすることで、補完データを受け取ることが出来る可能性が高まる。実施形態１では、補完データ提供装置がパス（認証）コードをランダムに定めることで、この問題を回避している。本実施例では、パス（認証）コードとして、偽証の困難な大きなサイズのデータ列しか受け付けないといった工夫を行う。
【００４６】
＜実施形態６＞
破損したりして修復不能になったデータを復元するとき以外にも、書き換え可能なメディアなどでデータを誤って上書き・消去してしまった場合や、ソフトウェアデータをアップデートする場合などにも適用できる。実施形態１と同様に要求部分データ以外のデータを用いて認証用データ、鍵の情報を作成する。
【００４７】
＜実施形態７＞
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、供給先のコンピュータが前記プログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００４９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００５０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる場合もある。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００５１】
【図１】システムを構成する装置の構成
【図２】コンテンツ再生装置の内部構成
【図３】補完データ提供装置の内部構成
【図４】コンテンツ再生装置が補完データ提供装置から補完データを取得する際のメッセージシーケンス図
【図５】補完データ取得要求の内容
【図６】補完要求のあったコンテンツのデータ配置図
【図７】パス（認証）コード要求の内容
【図８】鍵位置情報の内容
【符号の説明】
【００５２】
４０１  補完データの取得要求
４０２  パス（認証）コードの要求
４０３  パス（認証）コードの送信
４０４  補完データと鍵位置情報の送信
【図１】
0004590333.tif 000002
【図２】
0004590333.tif 000003
【図３】
0004590333.tif 000004
【図４】
0004590333.tif 000005
【図５】
0004590333.tif 000006
【図６】
0004590333.tif 000007
【図７】
0004590333.tif 000008
【図８】
0004590333.tif 000009