(57)【要約】【課題】  ＤＲＭシステムにおいてシステムキーを共有及び生成する方法、並びにその装置を提供する。【解決手段】  ａ）ｋ個の任意の乱数を係数とするｋ−１次の多項式を定義するステップと、ｂ）多項式にｎ個の定数を代入することにより、ｎ個の多項式値を生成するステップと、ｃ）多項式値と、デバイスごとに固有の情報であるｎ個のシステム情報とをＸＯＲ演算することにより、固有情報を生成してデバイスに保存するステップと、ｄ）多項式の係数のうち、何れか一つをシステムキーとして決定し、ライセンスサーバーに伝送するステップと、を含み、固有情報は、システム情報のうちの一部が変更された場合に、システムキーと同じキーの生成に使用される。【選択図】  図４
2006121689.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＭシステムで、デバイスがライセンスサーバーとシステムキーを共有する方法において、
ａ）ｋ個の任意の乱数を係数とするｋ−１次の多項式を定義するステップと、
ｂ）前記多項式にｎ個の定数を代入することにより、ｎ個の多項式値を生成するステップと、
ｃ）前記多項式値と、前記デバイスごとに固有の情報であるｎ個のシステム情報とをＸＯＲ演算することにより、固有情報を生成して前記デバイスに保存するステップと、
ｄ）前記多項式の係数のうち、何れか一つをシステムキーとして決定し、前記ライセンスサーバーに伝送するステップと、を含み、
前記固有情報は、前記システム情報のうちの一部が変更された場合に、前記システムキーと同じキーの生成に使用されることを特徴とする方法。
【請求項２】
ｅ）前記係数を、前記デバイスで削除するステップを更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記システム情報は、ＣＰＵシリアル番号、ネットワークカードのマックアドレス、ハードディスクのボリュームラベル、メモリサイズ、バイオスバージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号のうち何れか一つ、またはそれらの組合わせを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記ｎ個のシステム情報は、前記システム情報のビット数が前記多項式値のビット数と同じであるようにハッシュされることを特徴とする請求項１に記載の方法。
【請求項５】
ＤＲＭシステムで、デバイスがシステムキーを生成する方法において、
ａ）ｎ個の変更後のシステム情報とｎ個の固有情報とをＸＯＲ演算することにより、ｎ個の変更後の多項式値を生成するステップと、
ｂ）前記ｎ個の変更後の多項式値のうち、任意のｋ個の変更後の多項式値を利用して、前記システムキーを生成するステップと、を含み、
ここで、前記変更後のシステム情報は、前記デバイスごとに固有の情報であるｎ個のシステム情報のうち、その一部が変更された情報を示し、
前記固有情報は、任意のｋ−１次の多項式に任意の定数を代入することにより生成された多項式値と、前記ｎ個のシステム情報とをＸＯＲ演算することにより生成された情報を示し、
前記システムキーは、前記多項式の係数のうち、任意に選択されたことを特徴とする方法。
【請求項６】
前記ｂ）ステップは、
｛前記任意の定数、前記任意の定数に対応する前記変更後の多項式値｝の座標を前記多項式に代入することにより、前記システムキーを決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ｂ）ステップは、
ｂ１）前記ｎ個の変更後の多項式値のうち、前記ｋ個の任意の定数に対応する変更後の多項式値を選択するステップと、
ｂ２）｛前記任意の定数、前記任意の定数に対応するｋ個の選択された多項式値｝の座標を前記多項式に代入することにより、候補システムキーを生成するステップと、
ｂ３）前記候補システムキーを利用して、ライセンスサーバーから受信した暗号化されたライセンスを復号化する復号化の成敗に基づいて、前記候補システムキーが前記システムキーであるか否かを検査するステップと、を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ｂ）ステップは、
ｂ４）もし、復号化が成功すれば、前記候補システムキーをシステムキーとして決定するステップを更に含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記ｂ）ステップは、
ｂ５）もし、復号化が失敗すれば、前記ｂ１）ステップで選択した多項式値と異なるｋ個の変更後の多項式値を選択し、前記ステップｂ２）ないしｂ３）を繰り返すステップを更に含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記変更後のシステム情報は、ＣＰＵシリアル番号、ネットワークカードのマックアドレス、ハードディスクのボリュームラベル、メモリサイズ、バイオスバージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号のうち、何れか一つまたはそれらの組合わせを備えることを特徴とする請求項５に記載の方法。
【請求項１１】
前記変更後のシステム情報は、前記変更後のシステム情報のビット数が、前記固有情報のビット数と同じであるようにハッシュされることを特徴とする請求項５に記載の方法。
【請求項１２】
ＤＲＭシステムで、ライセンスサーバーとシステムキーとを共有する装置において、
ａ）デバイスごとに固有の情報であるｎ個のシステム情報を保存、検索及び編集するシステム情報データベースと、
ｂ）多項式の係数を任意に選択することにより、次数ｋ−１の多項式を生成し、選択された多項式の係数のうち、何れか一つをシステムキーとして決定し、ライセンスサーバーに伝送する多項式生成部と、
ｃ）前記多項式にｎ個の任意の定数を代入することにより、ｎ個の多項式値を生成する多項式値計算部と、
ｄ）前記多項式値と前記システム情報とをＸＯＲ演算することにより、固有情報を生成するＸＯＲ演算部と、を備え、
前記固有情報は、前記デバイス内のあらかじめ決定された領域に保存され、前記システム情報のうちの一部が変更された場合に、前記システムキーと同じキーの生成に使用されることを特徴とする装置。
【請求項１３】
前記多項式生成部は、前記システムキーを前記ライセンスサーバーに伝送した後、前記デバイス内で削除することを特徴とする請求項１２に記載の装置。
【請求項１４】
前記システム情報は、ＣＰＵシリアル番号、ネットワークカードのマックアドレス、ハードディスクのボリュームラベル、メモリサイズ、バイオスバージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号のうち、何れか一つ、またはそれらの組合わせを備えることを特徴とする請求項１２に記載の装置。
【請求項１５】
前記システム情報は、前記システム情報のビット数が前記多項式値のビット数と同じであるようにハッシュされることを特徴とする請求項１２に記載の装置。
【請求項１６】
ＤＲＭシステムで、システムキーを生成する装置において、
ａ）デバイスごとに固有の情報であるｎ個のシステム情報を保存するシステム情報データベースと、
ｂ）任意のｋ−１次の多項式に任意の定数を代入することにより生成された多項式値と、前記ｎ個のシステム情報とをＸＯＲ演算することにより生成された固有情報を保存する固有情報データベースと、
ｃ）前記ｎ個のシステム情報のうち、その一部が変更された情報を示すｎ個の変更後のシステム情報と、前記ｎ個の固有情報とをＸＯＲ演算することにより、ｎ個の変更後の多項式値を生成するＸＯＲ演算部と、
ｄ）前記ｎ個の変更後の多項式値のうち、任意のｋ個の変更後の多項式値を利用して、前記システムキーを生成するシステムキー生成部と、を備え、
ここで、前記システムキーは、前記多項式の係数のうち、任意に選択されたことを特徴とする装置。
【請求項１７】
前記ｄ）システムキー生成部は、
｛前記任意の定数、前記任意の定数に対応する前記変更後の多項式値｝の座標を前記多項式に代入することにより、前記システムキーを決定することを特徴とする請求項１６に記載の装置。
【請求項１８】
前記ｄ）前記システムキー生成部は、
ｄ１）前記ｎ個の変更後の多項式値のうち、前記ｋ個の任意の定数に対応する変更後の多項式値を選択する選択部と、
ｄ２）｛前記任意の定数、前記任意の定数に対応するｋ個の選択された多項式値｝の座標を前記多項式に代入することにより、候補システムキーを生成するキー生成部と、
ｄ３）前記候補システムキーを利用して、ライセンスサーバーから受信した暗号化されたライセンスを復号化する復号化の成敗に基づいて、前記候補システムキーが前記システムキーであるか否かを検査するキー検証部と、を備えることを特徴とする請求項１６に記載の装置。
【請求項１９】
前記ｄ３）キー検証部は、
もし、前記復号化が成功した場合、前記候補システムキーをシステムキーとして決定することを特徴とする請求項１８に記載の装置。
【請求項２０】
前記ｄ３）キー検証部は、
もし、前記復号化が失敗した場合、前記選択部をして、前記選択部が選択した多項式値と異なるｋ個の変更後の多項式値を選択せしめる更新信号を生成して、前記選択部に伝送することを特徴とする請求項１８に記載の装置。
【請求項２１】
前記変更後のシステム情報は、ＣＰＵシリアル番号、ネットワークカードのマックアドレス、ハードディスクのボリュームラベル、メモリサイズ、バイオスバージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号のうち、何れか一つ、またはそれらの組合わせを備えることを特徴とする請求項１６に記載の装置。
【請求項２２】
前記変更後のシステム情報は、前記変更後のシステム情報のビット数が前記固有情報のビット数と同じであるようにハッシュされることを特徴とする請求項１６に記載の装置。
【請求項２３】
請求項５に記載の方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムキーの生成方法及び装置に係り、より詳細には、デジタル権限管理システムでシステム情報のアップグレードの可能なシステムキーの生成方法及び装置に関する。
【背景技術】
【０００２】
デジタル権限管理（Ｄｉｇｉｔａｌ Ｒｉｇｈｔ Ｍａｎａｇｅｍｅｎｔ：以下、ＤＲＭ）とは、正当な権限条件の場合のみにコンテンツが使用されるように、コンテンツの流通を管理する技術である。ここで、正当な権限条件とは、使用主体、再生期間、再生回数、再生場所などに関する条件を含む。
【０００３】
コンテンツが正当な使用主体のみで使用されうるように権限条件を設定する方法には、２つがある。
一つは、ユーザー識別子及びパスワードを利用する方法であって、これは、正当なユーザーが他の不法なユーザーと共謀して、正当なユーザーが、複写されたコンテンツ及びパスワードを不法なユーザーと共有することを防止できないという短所を有する。
他の一つの方法は、機器内のみで存在するシステム情報を利用して、特定機器のみでコンテンツを再生させる方法である。システム情報とは、機器ごとに固有に存在する情報であって、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）シリアル番号、ネットワークカードのマックアドレス（ＭＡＣ ａｄｄｒｅｓｓ）、ハードディスクのボリュームラベル、メモリサイズ、バイオス（Ｂａｓｉｃ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ：ＢＩＯＳ）バージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号などを含む。この方法は、機器ごとに固有の情報を利用するため、ユーザーが他のユーザーと共謀できないため有用である。
【０００４】
図１は、ＤＲＭシステムの概要を示す図面である。
ＤＲＭシステムは、コンテンツサーバー１０、ライセンスサーバー２０及びデバイス３０を備える。デバイス３０は、コンテンツを使用する機器であり、一般的に、ＤＶＤなどの動画コンテンツを再生する機器、ゲーム機器、携帯電話、ＰＤＡなどでありうる。
コンテンツサーバー１０は、デバイス３０に暗号化されたコンテンツＥ（Ｋ＿ｃｏｎｔ，Ｃｏｎｔ）を提供する。暗号化されたコンテンツＥ（Ｋ＿ｃｏｎｔ，Ｃｏｎｔ）は、コンテンツキーＫ＿ｃｏｎｔを利用してコンテンツＣｏｎｔを暗号したものである。
【０００５】
ライセンスサーバー２０は、デバイス３０に対する認証過程を行った後、コンテンツ使用権限が認められれば、暗号化されたライセンスＥ（Ｓ，Ｌｉｃ）をデバイス３０に伝送する。暗号化されたライセンスＥ（Ｓ，Ｌｉｃ）は、システムキーＳを利用してライセンスＬｉｃを暗号化したものである。ここでライセンスＬｉｃは、権限条件に関する情報を備えるファイルであり、コンテンツＣｏｎｔの復号化に使用されるコンテンツキーＫ＿ｃｏｎｔを含む。また、システムキーＳは、あらかじめ決定された規則によってそれぞれの機器に含まれたシステム情報により、それぞれのデバイス３０で生成可能なキーである。
【０００６】
図２は、デバイスがコンテンツを再生する過程を示す図面である。
まず、デバイス３０は、コンテンツサーバーから暗号化されたコンテンツＥ（Ｋ＿ｃｏｎｔ）及び暗号化されたライセンスＥ（Ｓ，Ｌｉｃ）を受信する。その後、デバイス３０は、システムキーＳを利用して暗号化されたライセンスＥ（Ｓ，Ｌｉｃ）を復号化することにより、ライセンスＬｉｃを生成する。次いで、デバイス３０は、ライセンスＬｉｃ内に含まれたコンテンツキーＫ＿ｃｏｎｔを抽出し、抽出されたコンテンツキーＫ＿ｃｏｎｔを利用して、暗号化されたコンテンツＥ（Ｋ＿ｃｏｎｔ，Ｃｏｎｔ）を復号化することによりコンテンツＣｏｎｔを生成した後、これを再生する。
【０００７】
図３は、図２でデバイスがシステムキーＳを生成する過程を示す図面である。
システムキーＳは、一つ以上のシステム情報３０１、３０２、・・・を利用して生成される。例えば、Ａｐｐｌｅ社のｉＴｕｎｅの場合、デバイス３０は、Ｃドライブのシリアル番号、バイオスバージョン、ＣＰＵ名、Ｗｉｎｄｏｗｓ運営体制の製造識別子及び付加情報を互いに連結した後、これを、ＭＤ５ハッシュ関数を利用してハッシュすることによりシステムキーを生成する。
【０００８】
システムキーＳは、ライセンスサーバー２０との認証手続の後にデバイス３０により生成されて、ライセンスサーバー２０と共有された後、デバイス３０で除去される。ハッキングの恐れがあるためである。デバイス３０は、システムキーＳの生成に必要な情報、すなわちシステム情報のみをデバイス３０内に保存し、システムキーＳを保存するものではない。デバイス３０は、コンテンツを再生するたびにシステムキーＳを生成する。正当ではないデバイスは、システムキーを生成するために、機器内に存在する何なる情報を利用するか、及びこの情報に何なる関数を適用するかが分からないため、ライセンスサーバー２０が、ライセンスの暗号化に使用したシステムキーを生成できない。このような方法により、権限管理が行われる。
【０００９】
しかし、図３によるシステムキーの生成方法は、デバイス３０内のシステム情報３１０が、一つでも変わる場合、以前に保存されたコンテンツの再生が不可能であるという問題点を有する。なぜなら、システム情報３１０のうち、何れか一つでも変更されれば、デバイス３０は、最初のシステムキー、すなわちライセンスサーバー２０と共有したシステムキーと同じシステムキーを生成できないためである。
【００１０】
特に、一般的にシステム情報として使用される情報は、前記のように、Ｃドライブのシリアル番号、バイオスバージョン、ＣＰＵ名、ウィンドウ運営体制の製造識別子などであり、デバイス３０のハードウェア的、またはソフトウェア的なアップグレードにより頻繁に変更されるため、このような問題点が更に深刻である。
【特許文献１】特開平11-24918号公報
【特許文献２】特開2003-318896号公報
【特許文献３】特開平8-69419号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、前記問題点を解決するためになされたものであって、デバイスのシステム情報が部分的に変更されても、依然として変更されていない残りのシステム情報を利用して、システムキーを生成可能にするシステムキーの生成方法を提供するところにその目的はある。
【課題を解決するための手段】
【００１２】
前記課題を解決するための本発明は、ＤＲＭシステムで、デバイスがライセンスサーバーとシステムキーを共有する方法において、ａ）ｋ個の任意の乱数を係数とするｋ−１次の多項式を定義するステップと、ｂ）前記多項式にｎ個の定数を代入することにより、ｎ個の多項式値を生成するステップと、ｃ）前記多項式値と、前記デバイスごとに固有の情報であるｎ個のシステム情報とをＸＯＲ演算することにより、固有情報を生成して前記デバイスに保存するステップと、ｄ）前記多項式の係数のうち、何れか一つをシステムキーとして決定し、前記ライセンスサーバーに伝送するステップと、を含み、前記固有情報は、前記システム情報のうちの一部が変更された場合に、前記システムキーと同じキーの生成に使用されることを特徴とする。
【００１３】
ここで、前記システム情報は、ＣＰＵシリアル番号、ネットワークカードのマックアドレス、ハードディスクのボリュームラベル、メモリサイズ、バイオスバージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号のうち何れか一つ、またはそれらの組合わせを備える。
また、変形された実施例で、前記ｎ個のシステム情報は、前記システム情報のビット数が前記多項式値のビット数と同じであるようにハッシュされる。
【００１４】
また、本発明は、ＤＲＭシステムで、デバイスがシステムキーを生成する方法において、ａ）ｎ個の変更後のシステム情報とｎ個の固有情報とをＸＯＲ演算することにより、ｎ個の変更後の多項式値を生成するステップと、ｂ）前記ｎ個の変更後の多項式値のうち、任意のｋ個の変更後の多項式値を利用して、前記システムキーを生成するステップと、を含み、ここで、前記変更後のシステム情報は、前記デバイスごとに固有の情報であるｎ個のシステム情報のうち、その一部が変更された情報を示し、前記固有情報は、任意のｋ−１次の多項式に任意の定数を代入することにより生成された多項式値と、前記ｎ個のシステム情報とをＸＯＲ演算することにより生成された情報を示し、前記システムキーは、前記多項式の係数のうち、任意に選択されたことを特徴とする。
【００１５】
ここで、前記ｂ）ステップは、ｂ１）前記ｎ個の変更後の多項式値のうち、前記ｋ個の任意の定数に対応する変更後の多項式値を選択するステップと、ｂ２）｛前記任意の定数、前記任意の定数に対応するｋ個の選択された多項式値｝の座標を前記多項式に代入することにより、候補システムキーを生成するステップと、ｂ３）前記候補システムキーを利用して、ライセンスサーバーから受信した暗号化されたライセンスを復号化する復号化の成敗に基づいて、前記候補システムキーが前記システムキーであるか否かを検査するステップと、を含む。
また、ここで、前記ｂ）ステップは、ｂ４）もし、復号化が成功すれば、前記候補システムキーをシステムキーとして決定するステップを更に含み、ｂ５）もし、復号化が失敗すれば、前記ｂ１）ステップで選択した多項式値と異なるｋ個の変更後の多項式値を選択し、前記ステップｂ２）ないしｂ３）を繰り返すステップを更に含む。
【００１６】
また、本発明は、ＤＲＭシステムで、ライセンスサーバーとシステムキーとを共有する装置において、ａ）デバイスごとに固有の情報であるｎ個のシステム情報を保存、検索及び編集するシステム情報データベースと、ｂ）多項式の係数を任意に選択することにより、次数ｋ−１の多項式を生成し、選択された多項式の係数のうち、何れか一つをシステムキーとして決定し、ライセンスサーバーに伝送する多項式生成部と、ｃ）前記多項式にｎ個の任意の定数を代入することにより、ｎ個の多項式値を生成する多項式値計算部と、ｄ）前記多項式値と前記システム情報とをＸＯＲ演算することにより、固有情報を生成するＸＯＲ演算部と、を備え、前記固有情報は、前記デバイス内のあらかじめ決定された領域に保存され、前記システム情報のうちの一部が変更された場合に、前記システムキーと同じキーの生成に使用される。
【００１７】
また、本発明は、ＤＲＭシステムで、システムキーを生成する装置において、ａ）デバイスごとに固有の情報であるｎ個のシステム情報を保存するシステム情報データベースと、ｂ）任意のｋ−１次の多項式に任意の定数を代入することにより生成された多項式値と、前記ｎ個のシステム情報とをＸＯＲ演算することにより生成された固有情報を保存する固有情報データベースと、ｃ）前記ｎ個のシステム情報のうち、その一部が変更された情報を示すｎ個の変更後のシステム情報と、前記ｎ個の固有情報とをＸＯＲ演算することにより、ｎ個の変更後の多項式値を生成するＸＯＲ演算部と、ｄ）前記ｎ個の変更後の多項式値のうち、任意のｋ個の変更後の多項式値を利用して、前記システムキーを生成するシステムキー生成部と、を備え、ここで、前記システムキーは、前記ｄ）前記システムキー生成部は、ｄ１）前記ｎ個の変更後の多項式値のうち、前記ｋ個の任意の定数に対応する変更後の多項式値を選択する選択部と、ｄ２）｛前記任意の定数、前記任意の定数に対応するｋ個の選択された多項式値｝の座標を前記多項式に代入することにより、候補システムキーを生成するキー生成部と、ｄ３）前記候補システムキーを利用して、ライセンスサーバーから受信した暗号化されたライセンスを復号化する復号化の成敗に基づいて、前記候補システムキーが前記システムキーであるか否かを検査するキー検証部と、を備える。
【発明の効果】
【００１８】
本発明によれば、デバイスが有するシステム情報の一部が変更されても、デバイスは、このようなシステム情報を利用してシステムキーを生成できる。
【発明を実施するための最良の形態】
【００１９】
以下、添付された図面を参照して、本発明に係る好ましい一実施形態を詳細に説明する。
図４は、デバイスがシステムキーを決定した後、これをライセンスサーバーと共有する方法を示す時間フローチャートである。
前記のように、デバイス３０は、システムキーＳを生成してライセンスサーバー２０と共有する。区別のために、以下では、ライセンスサーバー２０と共有するシステムキー、すなわち、デバイス３０及びライセンスサーバー２０の認証手続の後に生成されたシステムキーを共有システムキーＳと称し、以後にコンテンツを再生する度に、デバイス３０が生成するシステムキーをデバイスシステムキーＳ＿ｄｅｖと称する。正当なデバイスであれば、デバイス３０は、共有システムキーＳと同じデバイスシステムキーＳ＿ｄｅｖを生成できる。図４は、デバイス３０が、今後のコンテンツの伝送に使用する共有システムキーＳを決定し、これをライセンスサーバー２０と共有する方法を示す。
【００２０】
ステップ４１０で、デバイス３０は、ｎ個のシステム情報ｇ１，ｇ２，・・・，ｇｎを収集する。システム情報ｇ１，ｇ２，・・・，ｇｎは、デバイス内のあらかじめ決定された保存領域に保存可能である。
ステップ４２０で、デバイス３０は、ｋ個の任意の乱数Ｓ、ａ１、ａ２、・・・ａｋ−１を係数とするｋ−１次の多項式を定義する。この多項式は、式(1)の通りに表現される。
【００２１】
【数１】
2006121689.tif 000003
【００２２】
ステップ４３０で、デバイス３０は、多項式ｆ（ｘ）にｎ個の任意の定数を代入することにより、ｎ個の多項式値を生成する。例えば、デバイス３０は、多項式ｆ（ｘ）に１、２，・・・，ｎを代入することにより、ｎ個の値多項式値ｆ（１）＝ｆ１、ｆ（２）＝ｆ２，・・・，ｆ（ｎ）＝ｆｎを生成する。
ステップ４４０で、デバイス３０は、多項式値ｆ１、ｆ２，・・・，ｆｎ及びシステム情報ｇ１，ｇ２、・・・ｇｎをＸＯＲ演算することにより、固有情報ｈ１，ｈ２，・・・，ｈｎを生成した後、デバイス３０内のあらかじめ決定された保存領域に保存する。固有情報は、今後にデバイスシステムキーの生成に使用される。
【００２３】
ステップ４５０で、デバイス３０は、ステップ４２０で決定された多項式の係数のうち、任意の係数をシステムキーとして決定し、ライセンスサーバー２０に伝送する。例えば、デバイス３０は、係数Ｓをシステムキーとして決定し、これをライセンスサーバー２０に伝送する。
システムキーＳは、ライセンスサーバー２０との認証手続の後にデバイス３０により生成されて、ライセンスサーバー２０と共有された後、デバイス３０で除去される。それは、ハッキングの恐れがあるためである。デバイス３０は、システムキーＳの生成に必要な情報、すなわち、システム情報のみをデバイス３０内に保存し、システムキーＳを保存するものではない。デバイス３０は、コンテンツを再生する度にシステムキーＳを生成する。
【００２４】
図５は、本発明に係るシステムキーを生成する方法を示す時間フローチャートである。
ステップ５１０で、デバイス３０は、変更後のシステム情報ｇ１’，ｇ２’，・・・，ｇｉ’，・・・，ｇｎ’と、固有情報ｈ１，ｈ２，・・・，ｈｉ，・・・，ｈｎとをＸＯＲ演算することにより、変更された多項式値ｆ１’，ｆ２’，・・・，ｆｉ’，・・・，ｆｎ’をそれぞれ生成する。変更後のシステム情報ｇ１’，ｇ２’，・・・，ｇｉ’，・・・，ｇｎ’は、デバイスのアップグレードにより、システム情報ｇ１，ｇ２，・・・，ｇｉ，・・・，ｇｎのうちの一部のシステム情報が変更された後の値である。
ここで、添字ｉ（１、２，・・・，ｎ）は、任意の定数であり、同じ添字のシステム情報、多項式値及び固有情報は、何れも互いに対応する。例えば、添字ｉ＝７の任意の定数が１３０である場合、ｆ７＝ｆ(１３０)であり、ｇ７ ＸＯＲ ｆ７＝ｈ７の関係を有する。
【００２５】
一方、ＸＯＲ演算の特性により、ｇ ＸＯＲ ｆ＝ｈであれば、ｇ ＸＯＲ ｈ＝ｆであり、変更されたシステム情報ｇ１’，ｇ２’，・・・，ｇｎ’のうちの一部は、システム情報ｇ１，ｇ２，・・・，ｇｎと同じであるため、変更された多項式値ｆ１’，ｆ２’，・・・，ｆｎ’も、その一部の値は、多項式値ｆ１、ｆ２，・・・，ｆｎと同じであり、システム情報変更の影響を受けた残りの一部は異なる。例えば、ｇ１，ｇ２，・・・，ｇ７のシステム情報のうち、ｇ１，ｇ２のみがｇ１’，ｇ２’に変更されたとすれば、変更後のシステム情報は、ｇ１’，ｇ２’，ｇ３，ｇ４，ｇ５，ｇ６，ｇ７であるため、結局、変更後の多項式値は、ｆ１’＝ｇ１’ ＸＯＲ ｈ１、ｆ２’＝ｇ２’ ＸＯＲ ｈ２であり、ｆ３’＝ｇ３’ ＸＯＲ ｈ３＝ｇ３ ＸＯＲ ｈ３＝ｆ３、ｆ４’＝ｇ４’ ＸＯＲ ｈ４＝ｇ４ ＸＯＲ ｈ４＝ｆ４、ｆ５’＝ｇ５’ ＸＯＲ ｈ５＝ｇ５ ＸＯＲ ｈ５＝ｆ５、ｆ６’＝ｇ６’ ＸＯＲ ｈ６＝ｇ６ ＸＯＲ ｈ６＝ｆ６、ｆ７’＝ｇ７’ ＸＯＲ ｈ７＝ｇ７ ＸＯＲ ｈ７＝ｆ７である。すなわち、ｆ１’，ｆ２’のみが変更前の値と異なり、ｆ３’ないしｆ７’は、変更前と同じである。
【００２６】
前記の例で、変更されずに同じく維持された多項式値の数（前記の例で、５）が、多項式ｆ（ｘ）の次数ｋ−１に１を合算した値、すなわち（ｋ−１）＋１＝ｋと同じであるか、またはそれより大きければ、変更されていない多項式値の座標（前記の例で、（３，ｆ３）、（４，ｆ４）、（５，ｆ５）、（６，ｆ６）、（７，ｆ７））を多項式ｆ（ｘ）に入力することにより、多項式の係数Ｓを計算できる。すなわち、共有システムキーＳを生成できる。以下のステップ５２０ないしステップ５４０は、このような過程を説明する。
【００２７】
ステップ５２０で、デバイス３０は、ステップ５１０で生成された変更後の多項式値ｆ１’，ｆ２’，・・・，ｆｎ’のうち、任意のｋ個を選択する。
ステップ５３０で、デバイス３０は、選択された変更後の多項式値による座標を多項式ｆ（ｘ）に代入することにより、候補システムキー＝Ｓ＿ｃａｎを生成する。ここで座標とは、（任意の定数、任意の定数に対応する変更後の多項式値）を意味する。
【００２８】
ステップ５４０で、デバイス３０は、ステップ５３０で生成された候補システムキーＳ＿ｃａｎを利用して、ライセンスサーバー２０から受信した暗号化されたライセンスＥ（Ｓ，Ｌｉｃ）を復号化することにより、候補システムキーＳ＿ｃａｎが共有システムキーＳであるか否かを検査する。
ステップ５５０で、もし、復号化が成功すれば、すなわち、復号化により暗号化されたライセンスＥ（Ｓ，Ｌｉｃ）からライセンスＬｉｃが抽出可能であれば、候補システムキーＳ＿ｃａｎを共有システムキーＳとして決定し、手続を終了する。
ステップ５６０で、もし、復号化が失敗すれば、ステップ５２０ないしステップ５４０を繰り返す。すなわち、以前のステップ５２０で選択した変更後の多項式値と異なるｋ個の変更後の多項式値を再選択し、候補システムキーを生成した後、候補システムキーに対する検査過程を行う。
【００２９】
図４及び図５の実施例で、システム情報が何れも同じビット数を有していない場合には、ＸＯＲ演算の直前にハッシュ関数を利用して、システム情報のビット数を何れも同じく統一させる。すなわち、ステップ４４０で、システム情報ｇ１，ｇ２，・・・，ｇｎは、ハッシュされた後に多項式値ｆ１、ｆ２，・・・，ｆｎとＸＯＲ演算され、同様にステップ５１０で、変更後のシステム情報ｇ１’，ｇ２’，・・・，ｇｎ’は、ハッシュされた後に固有情報ｈ１，ｈ２，・・・，ｈｎとＸＯＲ演算される。
【００３０】
図６は、本発明に係るシステムキー共有装置を示す図面である。
本発明に係るシステムキーを共有する装置は、システム情報データベース６１０、ハッシュ部６２０、ＸＯＲ演算部６３０、多項式生成部６４０、多項式値計算部６５０及び固有情報データベース６６０を備える。
システム情報データベース６１０は、ｎ個のシステム情報６１２を備える。システム情報６１２は、機器ごとに固有に存在する情報であって、ＣＰＵシリアル番号、ネットワークカードのマックアドレス、ハードディスクのボリュームラベル、メモリサイズ、バイオスバージョン、運営体制の種類、運営体制のバージョン、運営体制の製造識別子、サウンドカードのシリアル番号などを含む。
【００３１】
ハッシュ部６２０は、システム情報データベース６１０からシステム情報６１２を抽出してハッシュすることにより、ハッシュされたシステム情報６２２を生成する。システム情報６１２をハッシュする理由は、システム情報のビット数を一致させるためである。したがって、変形された実施例で、あらゆるシステム情報６１２のビット数が同じであれば、ハッシュ部６２０は省略可能である。ハッシュされたシステム情報６２２、すなわち、ビット数が一致したシステム情報は、以下でシステム情報ｇ１，ｇ２，・・・ｇｎとして表される。
【００３２】
多項式生成部６４０は、多項式の次数ｋ−１及び多項式の係数Ｓ，ａ１，ａ２，・・・ａｋ−１を任意に選択することにより、数式１のような多項式ｆ（ｘ） ６４２を生成し、多項式の係数Ｓ ６４４をライセンスサーバー２０に伝送する。ライセンスサーバー２０は、多項式の係数Ｓをシステムキーとして決定し、システムキーＳ６４４を利用してライセンスＬｉｃを暗号化する。
多項式の係数Ｓ，ａ１，ａ２，・・・ａｋ−１は、乱数の生成により選択可能である。多項式の次数ｋ−１の選択は、システム情報６１２の数ｎと関連する。システム情報６１２が多いほど、そして、システム情報６１２のうちの変更されていないシステム情報の数が少ないほど、ｋ値を大きくすることができる。
【００３３】
多項式値計算部６５０は、多項式ｆ（ｘ）に任意の定数、例えば、１，２，・・・，ｎを代入することにより、前記任意の定数に対応するｎ個の多項式値ｆ（１）＝ｆ１、ｆ（２）＝ｆ２，・・・、ｆ（ｎ）＝ｆｎ ６５２を生成する。
ＸＯＲ演算部６３０は、ｎ個の多項式値６５２及びｎ個のハッシュされたシステム情報６２２をそれぞれＸＯＲ演算することにより、固有情報６３２を生成した後、前記デバイス内のあらかじめ決定された領域、例えば、固有情報データベース６６０に保存する。多項式値ｆ１、ｆ２，・・・，ｆｎ、ハッシュされたシステム情報ｇ１，ｇ２、・・・ｇｎ及び固有情報ｈ１，ｈ２，・・・，ｈｎの関係は、以下の式(2)の通りである。
【００３４】
【数２】
2006121689.tif 000004
【００３５】
図７は、本発明に係るシステムキーの生成装置を示す図面である。
システムキーの生成装置は、システム情報データベース７１０、ハッシュ部７２０、ＸＯＲ演算部７３０、固有情報データベース７６０及びシステムキー生成部７７０を備える。
システム情報データベース７１０は、ｎ個のシステム情報７１２を保存、検索及び編集する。デバイス３０がアップグレードされた場合には、システム情報７１２の一部は、図６のシステム情報６１２と異なる。同様に、ハッシュされたシステム情報７２２の一部は、図６のハッシュされたシステム情報６２２と異なる。図６の場合と同様に、変形された実施で、あらゆるシステム情報７１２のビット数が同じであれば、ハッシュ部７２０は省略可能である。図７のハッシュされたシステム情報７２２は、以下の変更後のシステム情報ｇ１’，ｇ２’，・・・，ｇｎ’として表される。
【００３６】
固有情報データベース７６０は、固有情報７６２を保存、検索及び編集する。図６で説明したように、固有情報７６２は、システムキーの生成に使用された多項式ｆ（ｘ）に任意の定数を代入することにより、生成されたｎ個の多項式値６５２とｎ個のハッシュされたシステム情報６２２とをＸＯＲ演算することにより生成された値である。
ＸＯＲ演算部７３０は、変更後システム情報７２２と固有情報７６２とをＸＯＲ演算することにより、変更後の多項式値７３２を生成する。固有情報７６２は、固有情報データベース７６０から抽出され、デバイス３０がシステムキーＳを選択する時、図６の過程により生成されて、低固有情報データベース７６０に保存された状態である。
【００３７】
システムキー生成部７７０は、変更後の多項式値７３２を利用してシステムキー７７７を生成する。
変更後のシステム情報７２２、固有情報７６２及び変更後多項式値７３２の関係は、式(3)の通りである。
【００３８】
【数３】
2006121689.tif 000005
【００３９】
前記式(3)で変更後のシステム情報ｇ１’，ｇ２’，・・・，ｇｎ’のうちの一部は、変更されずにシステム情報ｇ１，ｇ２，・・・，ｇｎと同じである。また、ｇ＝ｇ’である場合には、ｆ’＝ｇ’ ＸＯＲ ｈ＝ｇ ＸＯＲ ｈ＝ｈ ＸＯＲ ｇ＝（ｆ ＸＯＲ ｇ）ＸＯＲ ｇ＝ｆ ＸＯＲ（ｇ ＸＯＲ ｇ）＝ｆ ＸＯＲ ０＝ｆである。すなわち、ｇ＝ｇ’である場合には、変更後の多項式値ｆ’は、多項式ｆ（ｘ）を満たす値であり、結局、システムキーＳは、ｋ個の座標、すなわち（ｉ，ｆｉ’）値をｆ（ｘ）に代入することにより生成可能である。システムキー生成部７７０は、このような過程を行う。
【００４０】
システムキー生成部７７０は、選択部７７２、キー計算部７７４及びキー検証部７７６を備える。
選択部７７２は、ＸＯＲ演算部７３０からのｎ個の変更後の多項式値７３２のうち、ｋ個の変更後の多項式値７７３を選択する。
キー計算部７７４は、選択された多項式値７７３を多項式ｆ（ｘ）に代入することにより候補システムキー７７５を生成する。
キー検証部７７６は、候補システムキーを利用して、ライセンスサーバーから受信した暗号化されたライセンスを復号化する復号化の成功如何に基づいて、候補システムキー７７５が真のシステムキーであるか否かを検査する。
復号化が可能であれば、該当候補システムキー７７５を真のシステムキー７７７として決定して出力する。
【００４１】
復号化が不可能であれば、更新信号７７９を選択部７７２に伝送することにより、選択部７７２をして新たなｋ個の変更後の多項式値７３２を選択するように指示する。結局、システムキー生成部７７０は、候補システムキー生成及びこれに対する検証により、真のシステムキー７７７を出力する。
【００４２】
図８は、本発明に使用される多様な値の数学的な関係を示す図面である。
点線の上部は、システム情報が変更される前に固有情報が生成されて保存され、システムキーが決定される数学的な関係を示す。
固有情報ｈ１，ｈ２，・・・，ｈｎは、システム情報ｇ１，ｇ２、・・・ｇｎと多項式値ｆ１，ｆ２，・・・，ｆｎとのＸＯＲ演算により生成される。多項式値ｆ１、ｆ２，・・・，ｆｎは、多項式ｆ（ｘ）に１，２，・・・ｎを代入することにより生成された関数値であり、多項式ｆ（ｘ）は、ｋ−１次の多項式ｆ（ｘ）＝Ｓ＋ａ１ｘ＋ａ２ｘ２＋・・・＋ａｋ−１ｘｋ−１である。ここで係数Ｓは、システムキーとして決定されて、ライセンスサーバー２０に伝送される。固有情報ｈ１，ｈ２，・・・，ｈｎは、デバイス３０に保存される。
【００４３】
点線の下部は、システム情報が変更された後に、デバイス３０がシステムキーを生成する過程を示す。
固有情報ｈ１，ｈ２，・・・，ｈｎと変更後のシステム情報ｇ１’，ｇ２’，・・・，ｇｎ’とのＸＯＲ演算により、変更後の多項式値ｆ１’，ｆ２’，・・・，ｆｎ’が生成される。ｇｉ＝ｇｉ’である場合には、ＸＯＲ演算の特性及び固有情報の定義により、変更後の多項式値から構成された座標（ｉ，ｆｉ’）は、多項式ｆ（ｘ）を満たす。
したがって、ｇｉ＝ｇｉ’を満たす変更後の多項式値（ｉ，ｆｉ’）がｋ個以上であれば、デバイス３０は、変更後の多項式値から構成された座標（ｉ，ｆｉ’）をｆ（ｘ）に入力することにより、システムキーＳを生成できる。
【００４４】
一方、本発明に係るシステムキーの生成方法は、コンピュータプログラムで作成可能である。前記プログラムを構成するコード及びコードセグメントは、該当分野のコンピュータプログラマーによって容易に推論されうる。また、前記プログラムは、コンピュータで読み取り可能な情報保存媒体に保存され、コンピュータによって読み取られて実行されることにより、システムキーの生成方法を具現する。前記情報保存媒体は、磁気記録媒体、光記録媒体、及びキャリアウェーブ媒体を含む。
【００４５】
以上、本発明について、その好ましい実施例を中心に説明した。当業者ならば、本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態に具現されうることが理解できるであろう。したがって、開示された実施例は、限定的な観点ではなく、説明的な観点から考慮されねばならない。本発明の範囲は、前記の説明でなく、特許請求の範囲に示されており、それと同等な範囲内のあらゆる差異点は、本発明に含まれたものとして解釈されねばならない。
【産業上の利用可能性】
【００４６】
本発明は、コンテンツサーバー、ライセンスサーバー及びデバイスから構成されるデジタル権限管理システムに関連した技術分野に適用可能である。
【図面の簡単な説明】
【００４７】
【図１】ＤＲＭシステムの概要を示す図面である。
【図２】デバイスがコンテンツを再生する過程を示す図面である。
【図３】図２でデバイスがシステムキーＳを生成する過程を示す図面である。
【図４】デバイスがシステムキーを決定した後、これをライセンスサーバーと共有する方法を示す時間フローチャートである。
【図５】本発明に係るシステムキーを生成する方法を示す時間フローチャートである。
【図６】本発明に係るシステムキーの共有装置を示す図面である。
【図７】本発明に係るシステムキーの生成装置を示す図面である。
【図８】本発明に使用される多様な値の数学的な関係を示す図面である。
【符号の説明】
【００４８】
１０    コンテンツサーバー
２０    ライセンスサーバー
３０    デバイス
【図１】
2006121689.tif 000006
【図２】
2006121689.tif 000007
【図３】
2006121689.tif 000008
【図４】
2006121689.tif 000009
【図５】
2006121689.tif 000010
【図６】
2006121689.tif 000011
【図７】
2006121689.tif 000012
【図８】
2006121689.tif 000013