説明

安全なデータ配信のための識別情報に基づく暗号化システム

通信ネットワークを介して暗号化コンテンツをユーザに配信し得るシステムを提供する。ポリシー強制サービスは、識別情報に基づく暗号化アルゴリズムを用いて、公開パラメータ情報および秘密鍵を生成し得る。データコンテンツを、配信の前に識別情報に基づく暗号化エンジンを用いて暗号化し得る。暗号化エンジンは、ポリシーサービスおよび公開鍵情報から公開パラメータ情報を用いてデータを暗号化し得る。公開鍵情報は、ポリシー情報に基づき得る。それは、どのような種類のユーザがその公開鍵を用いて暗号化するデータにアクセスできるかを、特定するものである。ユーザは、公開鍵を含むポリシー強制サービスに鍵要求を行うことにより、特定の暗号化データのロックを解除する秘密鍵を得ることもできる。ポリシー強制サービスは、ポリシー情報から与えられるポリシーを実施して、秘密鍵を認証されたユーザだけに供給し得る。

【発明の詳細な説明】
【背景技術】
【0001】
(発明の背景)
本発明は暗号化に関し、特に詳しくは、データを安全に配信するための識別情報に基づく暗号化手法に関する。
【0002】
歌および映像等のコンテンツを、デジタル形式で保存することが一般的になっている。暗号技術を用いて、このようなコンテンツを不正使用から保護するように支援することもできる。
【0003】
データを暗号化する際に、多数の暗号技術を利用することができる。例えば、対称鍵技術が幅広く用いられている。対称鍵の構成により、一方の者が、対称鍵を用いてもう一方の者のデータを暗号化する。もう一方の者は、同じ対称鍵を用いて暗号化データを復号化する。対称鍵システムは、当事者の間で安全なやり方で対称鍵を交換する必要がある。
【0004】
RSA暗号システム等の公開鍵暗号システムでは、2種類の鍵を用いる。公開鍵および秘密鍵である。任意の者へのデータを、その者に一意の公開鍵を用いて暗号化することができる。各当事者は、暗号化データの復号に用いる対応する秘密鍵を有している。
【0005】
識別情報に基づく暗号化手法についても提案されている。このような識別情報に基づく暗号化手法では、公開パラメータを用いてデータを暗号化することもできる。これらの手法が”識別情報に基づく”ものと言われているのは、特定のユーザの電子メールアドレス等のユーザ固有の識別情報を、暗号化アルゴリズムの入力の1つとして用いているからである。各ユーザは、ユーザの識別に基づいた、暗号化データを復号化する一意の秘密鍵を有している。この種類の手法では、1つのセットの公開パラメータ(暗号化および復号化処理の間に用いる)を、多くのユーザの間で共有することもできる。
【発明の開示】
【課題を解決するための手段】
【0006】
(発明の要旨)
本発明によれば、識別情報に基づく暗号化手法を用いてコンテンツを安全に配信するシステムを提供する。この手法を用いる識別情報に基づく暗号化アルゴリズムでは、公開鍵に基づくポリシー情報を、1人のユーザに固有の実際の識別情報というよりもむしろ、1つの入力として用いる。このシステムを用いて、コンテンツを配信することもできる。デジタル符号化した映画または他の映像、デジタル符号化した歌(例えば、MP3ファイル)、または他の適したオーディオファイル、テキスト(例えば、本または雑誌)、グラフィックス(例えば、デジタル画像)、株式売買または決済記録、ソフトウェア(例えば、ゲームおよび他のアプリケーション)、企業の在庫表またはサプライチェーンデータ、または任意のその他のコンテンツ等である。
【0007】
コンテンツプロバイダ(例えば、メディア関連コンテンツの場合は、映画会社、レコード会社、またはテレビジョンネットワーク、金融レコードコンテンツの場合は、証券会社または銀行または他の金融機関、ゲームおよび他のアプリケーションの場合は、サプライチェーンデータ生成企業、ソフトウェア販売店またはデベロッパまたは任意の他の適切な機関または関係者)が、データ(コンテンツ)を生成して配信することもできる。データパッケージサービスを用いて、データを暗号化することもできる。
【0008】
暗号化されるデータは、指定、日付、タイトル、所有者の名前、価格等の対応付けられた属性を有することもできる。属性は、属性名(例えば,”rating”)および対応付けられた属性値(例えば、”R”)を有することもできる。データ属性を、データ(例えば、映画の指定)から分けることもできるし、データ自体の一部とすることもできる(例えば、データおよび属性の両方の役割を果たすXMLフィールドからなるXMLデータ構造の場合)。所望の場合には、データパッケージサービスが、暗号化されるデータを有するデータ構造に属性を含めることもできる。データ構造の種類(例えば、”movie”)を、データ構造に対応付けることもできる。
【0009】
一旦暗号化されたならば、暗号化されるデータに対応付けられた属性のある部分または全部をポリシー情報として用いて、データに対するアクセスを調整することもできる。一般に、いずれの任意のデータに対応付けられた特定の属性は、関連するデータの種類に依存する。
【0010】
データパッケージサービスは、識別情報に基づく暗号化エンジン(暗号化処理)を用いて、データを暗号化することもできる(例えば、データ構造のコンテンツを暗号化する)。識別情報に基づく暗号化エンジンは、暗号化されるデータを取得して、対応する暗号化データを生成する。データを暗号化する際に、エンジンは少なくとも2つの入力を用いる。第1の入力は公開パラメータ情報である。例えば、以下に述べるように、ボネー(Boneh)およびフランクリン(Franklin)の研究に関する、識別情報に基づく暗号化公開パラメータPおよびsPのセットの形式の公開パラメータ情報である。第2の入力は、提案する識別情報に基づく暗号化アルゴリズムで用いられる”識別”の代わりをするものである。この第2の入力を、ここでは”識別”ではなくむしろ”公開鍵”と呼ぶのは、ユーザの電子メールアドレス等の一意のユーザ固有の識別を用いる場合のように、1人のユーザではなくむしろ、複数のユーザに対応付けられたものであるからである。各ユーザの一意の識別に基づく識別情報に基づく暗号化手法と、本アプローチとの間のこの違いに関わらず、本アプローチを、ここではやはり”識別情報に基づく”暗号化手法と呼んで、RSA公開鍵アプローチ等の従来の公開鍵暗号化アプローチとはっきりと区別する。識別情報に基づく暗号化エンジンは、システムデータベースまたは構成要素と通信することなく、公開パラメータおよび公開鍵を用いてデータを暗号化することもできる。
【0011】
本識別ベースの暗号化手法の公開鍵は、特定のユーザに対応付けられたものではなく、むしろ、複数のユーザのアクセス権を調整する汎用ポリシー情報に基づくものである(例えば、数百、数千、または数百万ものユーザである)。公開鍵のポリシー情報は、例えば、データの属性を用いて生成することもできる。属性から公開鍵を構成する例示の方法の1つは、属性名および値の連結を必要とする。例えば、デジタル映像では、公開鍵を、”secure−video://Name=Matrix;Distributor=Paramount;Date=Aug−2002;Rating”R”とすることもできる。所望の場合には、データをXMLデータ構造にまとめることもできる。XMLベースのフォーマットを用いてデータおよび属性情報を処理することは、XMLベースの属性基準が業界で受け入れられている状況では利点がある。
【0012】
暗号化されるデータを、異なる種類のデータ構造にまとめることもできる。例えば、あるデータ構造の種類が”movie”で、もう一つのものが”song”という場合である。特定の暗号化されるデータの属性を用いて公開鍵を生成する方法(例えば、どの特定の属性を用いて、用いられる任意の連結処理でどの順序で用いるか)を、データタイプ暗号化ポリシー情報を用いて指定することもできる。属性をXMLレコードで維持する場合には、データタイプ暗号化ポリシー情報を用いて、どのXMLレコードエントリを用いて公開鍵を生成するか、これらのエントリをどのように用いるかを、指定することもできる(例えば、特定のエントリを連結するべき順序等)。所望の場合には、データタイプ暗号化ポリシー情報自体を、XMLフォーマットを用いて保存することもできる。また、公開鍵を、XMLを用いて生成することもできる(例えば、公開鍵をXMLフォーマットにすることもできる)。
【0013】
データをまず復号化してからでないと、暗号化データのコンテンツにアクセスすることはできない。これは、データの暗号化に用いる公開鍵に対応する、適した秘密鍵を用いなければ、達成することができない。任意の暗号化データを取得したユーザ(例えば、データパッケージサービスから直接、または対応付けられた配信サービスから、またはピアツーピアトランザクションの別のユーザから)に、ポリシー強制サービスを介して、暗号化データのコンテンツに対するアクセスを許可することもできる(例えば、適した秘密鍵を供給することによる)。
【0014】
ポリシー強制サービスは、任意のユーザにアクセスを許可するかどうか判定する際に、各種の種類のポリシー情報を用いることもできる。例えば、グローバルポリシー情報は、R指定の映像を17歳未満のユーザに公開してはならないと命令することもできる。また、ポリシー情報を用いて、商業的加入契約規則を実施することもできる(例えば、”ユーザが”スピルバーグスペシャルプラン”を申し込めば、スティーブン・スピルバーグ監督の映画すべてに対して秘密鍵を発行することもできる)。ポリシー強制サービスが用いるポリシー情報は通常、公開鍵を含むアクセス要求の形式で、ユーザがポリシー強制サービスに提供するものである(ポリシー情報も含む)が、グローバルポリシー情報(例えば、ポリシー強制サービスがすでに知っている情報)を再送信する必要はなく、アクセス要求に含まれたポリシー情報を補ったり、オーバーライドしたりするのに用いることもできる。データに対してユーザアクセスを調整する際に、ポリシー強制サーバが用いるグローバルポリシー情報は、あらかじめ決められた業界基準または政府の規定等に基づくこともできる。このようなポリシー情報をユーザがポリシー強制サービスに提供する必要がないのは、ポリシー強制サービスをすでに有しているからである。
【0015】
ポリシー強制サービスを、管理者の加入契約サービスの管理に用いることもできる(例えば、クレジットカード等を用いた購買トランザクションの処理)。秘密鍵を取得して特定の暗号化データを復号化したいと思うユーザは、適した認証情報を提供することもできる(例えば、ユーザ識別情報、ユーザ年齢情報、ユーザアカウント情報、ユーザセキュリティ許容度、ユーザ会員ステータス、ユーザ性別、ユーザクレジットカードステータス、または他の適したユーザ依存の特性等のユーザ特性に関する情報)。ポリシー情報が述べるポリシー規定を実行してユーザが暗号化データのコンテンツへのアクセスを許可されているかどうか判定する際に、ポリシー強制サービスは、ユーザ特性に関するこの情報を用いることもできる。ユーザが許可されていれば、ユーザに必要な秘密鍵を提供することもできる(例えば、セキュアソケットレイヤ(SSL)経路等の安全な通信経路を介する)。
【0016】
一旦、ユーザが秘密鍵を取得したならば、ユーザは、識別情報に基づく復号化エンジンを用いて、暗号化データを復号化することにより、暗号化されていない形式のデータにアクセスして用いることもできる。識別情報に基づく復号化エンジンを、ユーザの装置で実行する独立型ソフトウェアとして備えることもできるし、他のユーザソフトウェアに組み込んだり、これと共に動作したりするように備えることもできる。例えば、映像およびオーディオファイルの再生に適したメディアプレーヤを、ユーザの装置上で実行することもできる。識別情報に基づく復号化エンジン機能をメディアプレーヤに組み込んだり、ユーザがあるコンテンツを再生したり、視聴したりしたい時にメディアプレーヤがこれを自動的に起動したりすることもできる。
【0017】
本識別情報に基づく暗号化コンテンツ配信アプローチの利点は、各コンテンツ受信者に対して公開秘密鍵対を管理する必要がなく、コンテンツを安全な方法で配信することができる点である。本アプローチでは、1つの公開鍵を用いて、大多数のユーザを規制するポリシーを指定することもできる。秘密鍵を各公開鍵に対して生成するが、公開鍵は、異なるポリシーを実行する際に生成するだけである(例えば、異なる指定の映画または加入契約プランを配信する際)。個別のユーザに対してそれぞれ公開鍵を生成したり、一意の識別情報に基づく暗号化処理を実行したりする必要がない。
【0018】
一般に、ユーザに公開された秘密鍵を用いて、多数の異なる暗号化データ項目を復号化することもできる(すなわち、1つの秘密鍵を用いて、同じ公開鍵ポリシー情報を用いて暗号化した暗号化データ項目すべてを復号化することもできる)。しかしながら、秘密鍵はポリシーが適切であるという根拠に基づいて公開されているので、ユーザは、ユーザの認証レベルに適した秘密鍵を与えられるだけである。これは、システムの完全性を維持するのに役立つものである。例えば、秘密鍵を取得してG指定を含む公開鍵で暗号化した映画のロックを解除するユーザは、R指定の映画のロックを解除するのにその秘密鍵を用いることはできない(秘密鍵が、このようなR指定の映画の暗号化に用いられるR指定ベースの公開鍵と一致しないからである)。(この例の)ユーザが復号化できる映画はすべて、G指定レベルである。別の例として、ユーザが、R指定の映画をユーザが復号できる秘密鍵を受信した場合は、秘密鍵を用いて別のR指定の映画を復号化することもできる。しかしながら、ユーザが第1のR指定コンテンツにアクセスできる適切な年齢(例えば、17歳を越えている)をすでに越えていると確認されているので、ユーザに、ユーザのアクセス権のレベル以外の権利を供給することはない。同時に、システム管理が煩わしくなってしまうことになる、全く別のユーザ固有の公開鍵を用いて、各データを暗号化する必要はない。
【0019】
本発明のさらなる特徴、その性質および各種の利点については、添付の図面および以下の好適な実施の形態についての詳細な説明から、いっそう明らかになるであろう。
【発明を実施するための最良の形態】
【0020】
(好ましい実施形態の詳細な説明)
例示の、本発明によるコンテンツをユーザに配信するための識別情報に基づく暗号システム10を、図1に示す。システム10は、様々な場所にいるユーザが、識別情報に基づく暗号化およびデータ配信手法を用いて保護したデータを受信できるようにするものである。システムのユーザは、個人、組織、または任意の他の適したもの、またはエンティティとすることができる。ユーザは、対応付けられたユーザデバイスまたは装置22を有するものである。装置22は、例えば、パーソナルコンピュータ、ポータブルコンピュータ、メインフレームコンピュータ、ネットワーク接続コンピュータまたは端末、電気通信装置、ハンドヘルドコンピュータまたは携帯情報端末または携帯電話等の計算装置を含むものである。複数のユーザが、同じデバイスを用いることもできる。例えば、ユーザ群が、ローカルエリアネットワークのホストコンピュータに接続した1つのコンピュータ端末を共有して用いることもできる。これらは単に、システム10のユーザが用いることもできる例示の種類のプラットフォームである。所望の場合には、ユーザ装置22は、任意の適した電子装置に基づくこともできる。
【0021】
ユーザ装置デバイスを、通信ネットワーク12で相互接続することもできる。ネットワーク12は、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、公衆交換電話網、仮想私設網、ワイヤードネットワーク、ワイヤレスネットワーク、専用通信回線、ネットワークに基づく光ファイバまたはケーブル経路または他のワイヤードまたはワイヤレス経路、または任意の他の適したネットワーク技術を用いて構成したネットワークまたはこのようなネットワークも組み合わせとすることもできる。
【0022】
各種の計算装置を、ネットワーク12に接続して識別ベースの暗号化手法の機能をサポートすることもできる。例えば、1つ以上のコンテンツプロバイダ14に配置された計算装置を用いて、コンテンツを保存して提供することもできる。システム10を用いて配信するコンテンツは、メディア(例えば、デジタル映像またはオーディオ)、ビジネスレコードデータ(例えば、株式売買データ、電子決済または他の金融レコード、サプライチェーンデータ等)、ソフトウェア(例えば、ゲームまたは他のアプリケーション)、または任意の他の適したデータとすることもできる。コンテンツプロバイダ14(データプロバイダとも呼ばれる)は、コンテンツに対応付けられた任意の適したエンティティまたは企業とすることもできる。例えば、配信するコンテンツが、映画または歌等のメディアコンテンツの場合は、コンテンツプロバイダ14は、映画会社またはレコード会社とすることもできる。配信するコンテンツが株式売買トランザクションまたは電子決済アカウントレコードの場合は、コンテンツプロバイダ14は、銀行または他の金融機関とすることもできる。配信するデータがソフトウェアを含む場合は、コンテンツプロバイダ14は、ソフトウェア販売店またはデベロッパとすることもできる。
【0023】
図1では個別にコンテンツプロバイダ14を示しているが、コンテンツプロバイダ14の機能(コンテンツの生成、保存、維持および提供)を、1つ以上の実際のエンティティ、または組織、および1つ以上の適したコンピュータ装置の設置施設に分散することもできる。理解しやすいように、図1に示すように、このような分散型エンティティおよび装置の動作について、1つ以上の個別のコンテンツプロバイダという文脈で、初めに説明する。
【0024】
構成のあるものでは、図1に示すコンテンツプロバイダ14および他のエンティティの計算装置を用いて、サーバの機能を、クライアントサーバアーキテクチャに備えることもできる。理解しやすいように、本発明では、しばしば、このようなサーバベースの構成という文脈で説明する。これは、しかしながら、単に説明のためだけである。所望の場合には、任意の適した計算装置の構成を用いて、システム10の情報を配信することもできる。典型的なサーバベースの構成では、1つ以上のコンピュータを用いてサーバの機能を備えている。サーバを、1つのコンピュータまたは複数のコンピュータを用いて構成することもできる。所望の場合には、1つのサーバの機能を、多数の異なる物理位置に分散したコンピュータで備えることもできる。
【0025】
図1のコンテンツプロバイダ14および他のエンティティは、通信ネットワーク12に接続したサーバベースのプラットフォーム等の、適した計算プラットフォームに基づくこともできる。
【0026】
データ配信の開始を決定する等の、システム10のアクティビティのあるもの、または暗号化データへのアクセス要求等のユーザアクティビティは、手動操作が関わる(または必要となる)ものもある。
【0027】
システム10の他のアクティビティ(ユーザアクティビティを含む)を、自動化または半自動化することもできる。これらのアクティビティは、手動操作がほとんどなく、あるいはまったくなく発生することもできる。単なる一例として、データまたはコンテンツプロバイダ14を、音楽または映像配信サービスに対応付けることもできる。暗号化通信を用いて、通信ネットワーク12を介して、暗号化映画または歌をユーザデバイス22のアカウントを持つユーザに配信しようとするものである。一旦システムを適切に設定してしまえば、配信サービス装置でのオペレータの操作が全く必要ないように、配信処理を自動化することもできる。ユーザが暗号化コンテンツを受信することについても、自動化することもできる。
【0028】
コンテンツプロバイダ14からのデータを、データパッケージサービス16等のデータパッケージサービスに(例えば、電子的に通信ネットワーク12を介して)提供することもできる。データパッケージサービスは、データをユーザに提供する前に、データを暗号化することもできる。所望の場合には、データパッケージサービス16が、暗号化されるコンテンツをデータ構造に組み込むこともできる(例えば、この機能がコンテンツプロバイダ14で前もって行われていなかった場合には)。データ属性は、データに対応付けられたものである。例えば、指定属性は映画コンテンツに対応付けられており、供給者識別はサプライチェーンデータに対応付けられており、アーティストは歌データ等に対応付けられている。複数のデータ属性を、同じデータ項目に対応付けることもできる。例えば、歌データは、リリース日付、アーティスト、タイトル、レコード会社、ジャンル、指定等の、対応付けられた属性を有することもできる。
【0029】
データパッケージサービスは、データを任意の適したデータ構造の種類のデータ構造に組み込むこともできる。例えば、コンテンツプロバイダ14が提供した映画の映像コンテンツを、”movie”の種類のデータ構造に組み込むこともできる。映画データは、例えば、”rating=R”、”Director=Spielberg”、”Price=$10.00”等の対応付けられた属性を有する。
【0030】
データパッケージサービス16を、任意の適した計算装置を用いて実行することもできる(例えば、パーソナルコンピュータ、メインフレーム、分散型またはネットワーク型のコンピュータの集合、サーバ等)。データパッケージサービス16のデータパッケージおよび/または暗号化および他の機能を、暗号化サービス16、または任意の他の適したサービスプロバイダ、またはエンティティ16により備えることもできる。これらのサービスは、独立型サービスとすることもできるし、他のサービスおよびエンティティに組み込むこともできる。理解しやすいように、このような暗号化サービスについて一般に、ここでは”データパッケージサービス”と呼ぶ。
【0031】
サービス16(例えば、データパッケージサービス16、暗号化サービス16、または他の適した独立型または一体型サービス)は、識別情報に基づく暗号化エンジンを実行するために用いる計算装置を有するものである。識別情報に基づく暗号化エンジンは、少なくとも2つの入力を有している。ポリシー強制サービス20から受信した公開パラメータからなる第1の入力と、ポリシー情報からなる第2の入力(いわゆる公開鍵)とである。公開鍵入力は、通常、識別情報に基づく暗号化手法で用いられるユーザ識別情報で行われる。
【0032】
識別情報に基づく暗号化手法を、多数の異なる暗号アルゴリズムを用いて実行することができる。このような手法の1つは、平方剰余に基づくものである(例えば、”平方剰余に基づく識別情報に基づく暗号化手法(An Identity Based Encryption Scheme Based on Quadratic Residues)”クリフォード・コックス(Clifford Cocks)、第8回IMA国際会議暗号技術およびコーディング(IMA International Conference on Cryptography and Coding)、2001年12月、王立農業大学(Royal Agricultural College)、サイレンスター、英国、を参照)。別の適した手法は、楕円曲線に基づくものである(例えば、”ワイルペアリングからの識別情報に基づく暗号化(Identity−Based Encryption from the Weil Pairing)”ダン・ボネー(Dan Boneh)およびマシュー・フランクリン(Matthew Franklin)、改訂アブストラクト、Advances in Cryptology−Crypto2001、コンピュータサイエンスレクチャーノート、2139巻、シュプリンガー出版、231−229頁、2001年8月。ダン・ボネーおよびマシュー・フランクリンによる、http://eprint.iacr.org/2001/090についても参照のこと)。理解しやすいように、本発明の側面については、しばしば、ボネーおよびフランクリンの楕円曲線インプリメンテーション等の、識別情報に基づく暗号化手法の文脈で説明する。しかしながら、これは単に説明のためだけである。所望の場合には、識別情報に基づく暗号化の任意の適したアプローチをシステム10とともに用いることもできる。
【0033】
用いられる特定の種類の識別情報に基づく暗号化手法に関わらず、暗号化手法は一般に、暗号化されるデータの他に、少なくとも2つの入力を用いる。
【0034】
第1の入力は公開パラメータ情報である(例えば、ボネーおよびフランクリンの研究における公開パラメータPおよびsPである。ただし、sは、識別情報に基づく暗号化アルゴリズムで用いられる、いわゆる”マスタシークレット”である)。システム10では、マスタシークレットを、ポリシー強制サービス20により維持する。サービス20は、マスタシークレットを用いて公開パラメータ情報(例えば、パラメータPおよびsP)を生成することもできる。公開パラメータ情報をデータパッケージサービス16に提供して、データ構造を暗号化する際に用いることもできる(すなわち、データ暗号化エンジンへの第1の入力として用いる)。
【0035】
データ暗号化エンジンが用いる第2の入力は、ポリシー情報を含む公開鍵である(例えば、公開鍵は、映画の指定に関する情報または映画の指定から抽出されるが異なる形式の対応する情報を含む。これは、何歳のユーザならこの映画を見ることができるかを命令するものである)。従来の識別情報に基づく暗号化手法を用いて、(例えば)メッセージ送信者とメッセージ受信者との間でのメッセージの暗号化をサポートする場合は、暗号化エンジンは、受信者の識別を識別情報に基づく暗号化エンジンへの入力として利用する。逆に、システム10のコンテンツ配信手法では、ポリシー情報に基づく公開鍵(Qと呼ぶ)を第2の入力として用いる。この第2の入力は、1人のユーザに固有のものではない。
【0036】
暗号化エンジンに対する第1および第2の入力を、データパッケージサービスが用いてデータを暗号化する(例えば、データ構造のコンテンツ)。次に、暗号化データをユーザデバイス22のユーザに安全に通信する(例えば、インターネットを介して)。所望の場合には、データを暗号化するのに用いるポリシー情報(例えば、指定例での要件となるユーザ年齢)を、データとともにユーザに供給することもできる(または、適切な対応付けられたポリシー情報に関する情報を、例えばコードでユーザに通信することもできる)。ユーザはまた、特定のグローバルポリシーが実施されているのか暗黙で知る、または知るように期待されている(例えば、18歳未満のユーザは特定の種類のコンテンツにアクセスできない等)。
【0037】
暗号化されるデータは、複数のデータ属性を有することもできる。例えば、暗号化される映画が、対応付けられた指定データ属性(例えば、R)と、対応付けられた映画会社データ属性(例えば、ソニー)とを有することもできる。データを暗号化する際に公開鍵として用いられるポリシー情報は、1つ以上のこのようなデータ属性に基づくものである。ポリシー情報を複数のデータ属性に基づかせる利点は、このアプローチにより、1つのデータ属性しか用いない場合よりも、データパッケージ(暗号化)サービスがデータを保護して、ユーザの種類によってきめ細かく合わせて配信できるようになる(所望の場合には、1つのデータ属性をポリシー情報に基づいて用いることもできるが)。例えば、ポリシー情報を、rating=Rおよびstudio=Sony等の、映画の複数のデータ属性を用いて生成することもできる。ユーザ認証の間に、ポリシー強制サービスは、この複数の属性ポリシー情報および暗号化データへのアクセス要求をしている任意のユーザの特性に関する情報(例えば、age=30およびstudio membership status=Sony)を用いて、要求ユーザに暗号化データを復号に必要な秘密鍵を抵抗するかどうか判定することもできる。
【0038】
ユーザは、データパッケージサービスから受信したポリシー情報(または、適切な適応可能なポリシー情報を識別するデータパッケージサービスから受信した情報)を用いて、アクセス要求を生成することもできる。アクセス要求を用いて、ポリシー強制サービスから暗号化コンテンツへのアクセス許可を取得する。特定の暗号化データ項目へのアクセスのアクセス要求が許可されたら、ポリシー強制サービスは、ユーザに適切な秘密鍵を提供して暗号化データ項目を復号化させることもできる。
【0039】
所望の場合には、ユーザは、アクセス要求に基づいて、データパッケージサービスから受信したポリシー情報を用いることもできる。例えば、ユーザは、受信したポリシー情報をポリシー強制サービスへ転送することもできる。別の例として、ユーザは、ポリシー情報自体全部は含まないアクセス要求を生成することもできる(または、ポリシー情報を全く含まないもの)。しかし、どの公開鍵(および対応するポリシー)およびどの秘密鍵がアクセス要求に対応しているのかポリシー強制サービスに通知するのに十分な情報を含んでいる。アクセス要求(またはユーザとポリシー強制サービスとの間のフォローアップ通信)は、ユーザ特性に関する情報を含むこともできる(例えば、ユーザ年齢、会員ステータス、セキュリティ許容度等)。
【0040】
特定の形式およびアクセス要求の内容に関わらず、アクセス要求は好ましくは、要求された秘密鍵を識別するのに十分な情報を含んでいる。その結果、アクセス要求は、ポリシー強制サービスが、データの暗号化に用いられた公開鍵に対応する秘密鍵を供給するように命令する。ポリシー強制サービス20は、アクセス要求を用いて、どのアクセスポリシーをユーザに適用して、ポリシー強制サービスに供給するユーザ特性に関する情報と組み合わせてこのポリシーを用いるか判定して(例えば、年齢情報、クレジットカードステータス、運転免許証番号、会員ステータス等)、ユーザが暗号化データへのアクセスを許可されているかどうか確認する。
【0041】
ポリシー強制サービスが、ユーザ(例えば、ユーザ特性に関する情報)はポリシーが課すポリシー制約条件を満たしているので、ユーザの暗号化データのコンテンツへのアクセスを許可すると判定した場合には、ポリシー強制サービスは、データを暗号化するのに用いた公開鍵(Q)に対応する秘密鍵(例えば、ボネーおよびフランクリンの研究に記載の種類のシステムで用いられるsQ)をユーザに提供することもできる。ユーザは、秘密鍵(例えば、sQ)およびユーザの装置22で実行する識別情報に基づく復号化エンジンを用いて、暗号化データを復号化することにより、所望のコンテンツにアクセスすることもできる。あるポリシー情報(例えば、法的に規定されるポリシーに基づくグローバルポリシー情報)は、業界でよく知られているので、ユーザまたは他のエンティティがこの情報をポリシー強制サービス20に転送する必要はない。むしろ、このようなポリシー情報をポリシー強制サービス20に前もって保存しておくこともできる。グローバルポリシー情報を用いて、公開鍵が表すポリシー情報を補足したりオーバーライドしたりすることもできる。
【0042】
配信サーバ18を用いて、データ配信処理を容易にすることもできる。例えば、様々な国々または国内のいろいろな場所での配信サービスは、ダウンロードサービスまたは中間の転送装置として作用する。暗号化コンテンツをユーザに供給する場合。暗号化データを、ユーザの要求により配信サービスからダウンロードすることもできるし、またはユーザにプッシュすることもできる(例えば、ブロードキャスト構成を用いる)。また、暗号化コンテンツを、ハードコピーアプローチを用いて配信することもできる(例えば、DVDまたはCDディスクまたは他の記憶媒体等で暗号化コンテンツを供給する)。所望の場合には、任意の適した技術を用いて、データパッケージサービスが暗号化した暗号化データをユーザに配信することもできる。また、ポリシー情報を、ユーザに暗号化データを用いて提供することができ、または別の通信で供給することもできる。グローバルポリシー情報(例えば、各種指定の映像に対する許可されたアクセス年齢等の情報)をいつでも提供することもでき、ユーザに再送信したり、ユーザがポリシー強制サービス20に提供したりする必要はない。
【0043】
システム10では、識別情報に基づく暗号化エンジン(Q)に対する第2の入力を識別ではなくむしろ公開鍵と呼ぶのは、この第2の入力が個別のユーザに固有のものではなく、多くのユーザに配信するデータを暗号化するのに用いるからである。
【0044】
公開鍵Qを、データに対応付けられた属性から生成することもできる。例えば、データ属性の1つ(例えば、指定=R)を公開鍵として用いることもできる。別の例として、複数のデータ属性をともに連結して、Qを生成することもできる。一例として、映画の公開鍵Qを、”secure−video://Name=Matrix;distributor=Paramount;Date=Aug−2002;Rating=”R”とすることもできる。
【0045】
データおよびデータ属性を、データ構造とともにまとめることもできる。例えば、図6に示すように、MP3ファイルデータ構造は、データ(例えば、音楽データ)および対応付けられた属性(例えばタイトル情報、アーティスト情報、トラック情報等)の両方を含むこともできる。
【0046】
所望の場合には、データを、コンテンツ(例えば、ビデオファイル)およびコンテンツの属性(例えば、指定、監督、日付、価格等)を含むXMLデータ構造とすることもできる。XMLベースのフォーマットを用いて属性情報を処理することは、XMLベースの属性基準が業界で承認されているといった状況では有利である。
【0047】
所望の場合には、特定のデータの属性を用いてそのデータの公開鍵Qを生成する方法を、データタイプ暗号化ポリシー情報を用いて指定することもできる。属性をXMLレコードで維持する場合には、データタイプ暗号化ポリシー情報を用いて、どのXMLレコードエントリを用いて公開鍵を生成して、これらのエントリをどのように用いるか指定することもできる(例えば、特定のエントリを連結する順序等である)。所望の場合には、データタイプ暗号化ポリシー情報自体を、XMLフォーマットを用いて保存することもできる。
【0048】
この種類の構成の一例を、図7a、図7b、および図7cに示す。図7aに示すように、XMLフォーマットデータ構造は、部品番号データ、数量データ、地域データ供給者データ等のサプライチェーンデータを含むこともできる。サプライチェーンデータは単に説明のためだけである。所望の場合には、任意の適したデータの種類を、図7aに示す種類のXMLデータ構造に備えることもできる。
【0049】
XMLフォーマットに備えられた例示のデータタイプ暗号化ポリシー情報を、図7bに示す。図7bの例では、データタイプ暗号化ポリシー情報は、図7aのXMLデータ構造のデータ構造フィールドをどのように用いてポリシー情報を生成するかを指定する、XMLフィールドを含んでいる。例えば、図7bの供給者フィールドは、ポリシー要件”must−be−a−customer−of”をどのように図7aのデータ構造、”company=Delco”の供給者フィールドに適用するかを指定する。また、図7bの地域フィールドは、ポリシー要件”must−be−in−region”をどのように図7aの地域フィールド”region=US”に適用するかを指定する。
【0050】
XMLデータタイプ暗号化ポリシー情報を用いて、図7aのXMLデータ構造属性をどのように用いるかを指定した結果のポリシー情報を、図7cに示す。所望の場合には、公開鍵に用いるポリシー情報を、XMLを用いて提供することもできる(例えば、公開鍵をXMLフォーマット公開鍵とすることもできる)。
【0051】
システム10に用いる識別情報に基づく暗号化処理は、2つのステップの処理が必要となる。2つのステップのうちの一方では、識別情報に基づく暗号化を用い、2つのステップのうちのもう一方では、対称鍵アプローチ等の非識別情報に基づくアプローチを用いる。例えば、データコンテンツ(例えば、データ構造のコンテンツ)を直接識別情報に基づく暗号化を用いて暗号化する必要はないが、むしろ、対称鍵を用いて暗号化することもできる。識別情報に基づく暗号化を用いて順に暗号化して、データを対応付けて保存する(例えば、暗号化データを含む暗号化データ構造の一部として)。暗号化対称鍵の受信者は、対称鍵を復号化して、これを用いてコンテンツを復号化することができる。
【0052】
この場合は、識別情報に基づく暗号化を用いて直接暗号化するのではなく、大量のデータペイロード(例えば、データ構造ビデオまたは他のコンテンツ)を、それ自体が識別情報に基づく暗号化を用いて暗号化された対称鍵を用いて暗号化する。一般に、これにより、埋め込み対称鍵アプローチを用いることなく、識別情報に基づく暗号化を直接用いて全データを暗号化するという利点を備える。なぜなら、対称鍵暗号化/復号化は非常に効率的だからである。システム10では、これらのアプローチのいずれか(直接または間接の識別情報に基づく暗号化)を基本的に同じやり方で用いるのは、理解しやすいように、データ暗号化アプローチ(1つのステップおよび2つのステップ)をともに、ここでは”識別情報に基づく暗号化”と呼ぶからである。
【0053】
図1の構成では、暗号化データをユーザに配信する際の支援に用いることもできるデータ配信サービス18(例えば、サーバに基づく)を、データパッケージサービス16およびコンテンツプロバイダ14と別々に示しているが、所望の場合には、コンテンツプロバイダ14、データパッケージサービス16、および1つ以上の配信サービス18を同じ場所に配置したり、それらの機能を適した数の計算装置設置施設またはサービスを用いたりして備えることもできる。
【0054】
所望の場合には配信サービスにより、ユーザは、コンテンツリストを閲覧して、所望のコンテンツ項目を選択してダウンロードすることができる。また、コンテンツを、スケジュールに従って、サーバ18を用いて自動的に配信したり、任意の他の適したアプローチを用いて配信したりすることもできる。
【0055】
識別情報に基づく暗号手法および図1の装置を用いてコンテンツをユーザデバイス22に配信するステップを、図2、図3、図4、および図5に示す。配信されているコンテンツは、安全なやり方で送信される任意のデジタル情報(例えば、テキスト、グラフィックス、オーディオ、映像、コマンド、実行用コード、データ等)とすることもできる。
【0056】
図2のステップは、システム10でポリシー強制サービス20を設定して用いることに関する。図2のステップ24で、図1のポリシー強制サービス20がマスタシークレットsを取得する。例えば、ポリシー強制サービス20は、タンパー防止エンクロージャ内に格納した処理装置がサービスでランダムに生成した数字から、マスタシークレットを生成することもできる。また、マスタシークレットをオフサイトで生成して、ポリシー強制サービス20に送信することもできる。マスタシークレット(しばしば、秘密マスタキーまたはマスタキーとも呼ぶ)は秘密情報である。これをポリシー強制サービス20が続いて用いて、システムのユーザ22が暗号化データを復号化する際に用いる秘密鍵を生成して(例えば、ボネーおよびフランクリンの研究に記載の種類のシステムで用いられる秘密鍵Qである)、データパッケージサービス16が配信の前にデータ(例えば、データ構造のデータ)を暗号化する際に用いる公開パラメータ情報(例えば、PおよびsP)を生成する。
【0057】
ステップ24の間、ポリシー強制サービス20は、公開パラメータ情報を生成することもできる。例えば、ポリシー強制サービス20が公開パラメータPを取得、または生成することもできる。用いられる識別情報に基づく暗号化の指定の種類によるが、他の公開パラメータ情報についても生成することもできる。例えば、ボネーおよびフランクリンの研究に記載の種類の識別情報に基づく暗号化手法の場合は、マスタシークレットsおよび公開パラメータPの値を、ポリシー強制サービス20が用いて、さらに対応する公開パラメータsPを生成することもできる。従って、ボネーおよびフランクリンの手法に基づくシステムでは、公開パラメータ情報は、PおよびsPをともに含むことになる。
【0058】
ボネーおよびフランクリンの研究に記載の種類のシステムにおけるパラメータPおよびSPは、数字である。一般に、数字、文字、符号、および他の情報を表すこのような手法の間には等価性がある。ある情報(例えば、マスタシークレットまたは公開パラメータ)を、しばしば数字の形式として記述したり、特定の情報(例えば、ポリシー情報として用いることもできるデータ属性)を少なくとも部分的に文字の形式で記述したりすることもある(例えば、指定の形式等)。これらの異なる表現手法の間の固有の等価性のために、文字または符号を数字に変換する技術や、複数の数字またはストリングを1つの数字として表したりする技術や、または他のこのような動作については、ここでは詳細に説明しない。
【0059】
ステップ24では、ポリシー強制サービス20は、公開パラメータ情報(例えば、パラメータPおよびsP)を、コンテンツを暗号化するデータパッケージサービス16または任意の他のサービスまたはエンティティ等のデータパッケージサービスが利用できるようにすることもできる。例えば、公開パラメータ情報を、ポリシー強制サービス20の計算装置を用いて(例えば、サーバ)、通信ネットワーク12を介して利用できるようにすることもできる。公開パラメータ情報を、宅配業者を通じてデータパッケージサービスに供給することもできる(例えば、ディスケットまたは他の記憶媒体)、等である。公開パラメータ情報(例えば、パラメータPおよびsP)を、ダウンロード可能な、または前もってインストールしたソフトウェアモジュールまたはパッケージの一部として、データパッケージサービス16等のサービスに提供することもできる。例えば、公開パラメータ情報(例えば、公開パラメータPおよびsP)を、データパッケージサービスが用いる識別情報に基づく暗号化エンジンソフトウェアパッケージに組み込んだり、これを用いて提供したりすることもできる。
【0060】
パラメータPおよびsP等の公開パラメータを、いっしょに、あるいは別々にデータパッケージサービス16が利用できるようにすることもできる。パラメータPおよびSP等のパラメータを別々に配信する場合は、各パラメータを、異なる配信機構を用いて配信することもできる。例えば、Pをデータパッケージサービスのソフトウェアに組み込んで、sPをインターネットを介して配信することともできる。また、PおよびSPを組み合わせて、1つの数字またはパラメータの等価物として生成したり(理解しやすいようにするのと便宜上のため、ここではやはり複数の形式の”パラメータ”を用いて呼ぶ)、細分化したりすることもできる(例えば、3つ以上の公開パラメータのサブパートを生成する)。所望の場合には、公開パラメータPおよびsPを、印刷した郵便物で、ポリシー強制サービス20からデータパッケージサービス16に提供することもできる。これらは単に説明のためだけである。所望の場合には、任意の適した技術を用いて、公開パラメータPおよびSP等の公開パラメータ情報をステップ26でデータパッケージサービス16が利用できるようにすることもできる。
【0061】
一旦、公開パラメータ情報(例えば、パラメータPおよびsP)をデータパッケージサービス16に提供したならば、データパッケージサービスは、データを暗号化することもできる(例えば、データパッケージサービスがコンテンツプロバイダ14から取得したコンテンツを含むデータ構造)。暗号化データを、ユーザ22に配信することもできる(例えば、データ配信サービス18および通信ネットワーク12を介して)。暗号化データのコンテンツへのアクセスするためのアクセス規定を管理するポリシー情報を用いて、データを暗号化する際の入力として用いられ、後からコンテンツにアクセスできるものを決定する際に用いることもできる公開鍵を生成することもできる(すなわち、暗号化されていないバージョンの暗号化データ)。システム10で用いるポリシー情報のあるものを、世界的に周知のものとすることもできる(例えば、ユーザが17歳以上でなければならないR指定の映画)。他のポリシー情報を、世界中で周知ものとしなくてもよい(例えば、この映画の価格が10ドルであるとか、どの年齢の人でも見ることができるG指定の映画)。ポリシー情報(例えば、公開鍵内のポリシー情報や、世界的に周知でないもの)を、通信ネットワーク12を介してユーザ22およびポリシー強制サービス20に送信することもできる。
【0062】
特定の暗号化データ項目にアクセスしたいと思うユーザは、ポリシー強制サービスへアクセス要求を生成することもできる。アクセス要求は、ポリシー強制サービスに、そのデータ項目を暗号化するのに用いられた公開鍵に対応する秘密鍵をユーザに提供するように命令する(ユーザが認証されれば)。アクセス要求は、公開鍵およびその公開鍵が表すポリシー情報(または、当該公開鍵をポリシー強制サービスに対して識別する情報を含むこともできる)を含むこともでき、これを、通信ネットワーク12を介してポリシー強制サービス20に提供することもできる。
【0063】
ステップ28では、ポリシー強制サービスが、ユーザがデータパッケージサービス16から受信した暗号化データの特定の項目のコンテンツへのアクセスを希望するユーザからのアクセス要求を受信することもできる。アクセス要求は、実際上は、ユーザがアクセス要求を介して提供または識別中で、且つ、データパッケージサービスの識別情報に基づく暗号化エンジンがデータ構造を暗号化するのに用いた公開鍵に対応する秘密鍵のコピーを要求する、ユーザからの要求である。
【0064】
ステップ30では、ポリシー強制サービス20が、ポリシー強制サービスが知っているマスタシークレットsおよび公開鍵(ポリシー情報)Qを用いて、そして、識別情報に基づく暗号化アルゴリズムを用いて、秘密鍵(sQ)を生成することもできる。ステップ30の間、ポリシー強制サービスは、公開鍵のポリシー情報を用いて、要求中のユーザが秘密鍵を受信する資格があるかどうか判定することもできる。例えば、公開鍵(ポリシー情報)が指定であれば(例えば、指定=R)、ポリシー強制サービス20は、秘密鍵をユーザに提供する前に、ユーザがR指定コンテンツの視聴を許可されているかどうか確認しようとする。例えば、ポリシー強制サーバが、ユーザの年齢を確認して、ユーザの年齢をR指定コンテンツに対応付けられた年齢と比較することもできる(年齢情報を公開鍵内のポリシー情報の一部とすることもできるし、ポリシー強制サービスがすでにわかっている関連グローバルポリシー情報とすることもできる)。ポリシー強制サービスが維持するグローバルポリシー情報をポリシー強制サービスが用いて、公開鍵に記述したポリシー情報を補足したりオーバーライドしたりすることもできる(例えば、制約条件をさらに追加することもできる)。アクセス要求がはっきりと必要なポリシー情報すべてを含んでいない時には、十分な情報をポリシー強制サービスに提供して当該ポリシーを識別するというよりもむしろ、ルックアップテーブルまたは他の適したデータベース構成をポリシー強制サービスが用いて、ポリシー強制サービスが適切な公開鍵および対応するポリシーを識別できるようにすることもできる(従って、要求された適切な秘密鍵を識別する)。
【0065】
ステップ30の確認処理の間、ポリシー強制サービス20は、ユーザについての特定の情報を確認する必要がある(例えば、年齢、加入契約プラン、場所等)。ユーザ情報を、任意の適したストリング、数字、符号等で表すこともできる。秘密鍵を、データパッケージサービス16で暗号化する間に用いられる公開鍵を用いて、自動的に現在時間を連結することにより、システム10で自動的に失効することもできる(例えば、今年の現在の日、年、現在の月、または任意の他の適した時間関連の日付スタンプ情報)。理解しやすいように、公開鍵について、一般に、ここでは値Qで説明する。適した数学的関数を用いて、公開鍵(ポリシー情報)のストリング表現から、または任意の他の適した表現から、ポリシー強制サービス20で用いる識別情報に基づく暗号化秘密鍵生成アルゴリズムに対する入力として用いるのに適したQの値を決定することもできる。
【0066】
ユーザのアクセス許可をステップ30で確認する際に、任意の適した手動または自動の認証技術をポリシー強制サービス20が用いることもできる。例えば、ユーザ情報を含むレターを、ユーザの名入り便せんで秘密鍵生成器16にファックスするか郵送するかユーザに尋ねることもできる。これを、スタッフまたは秘密鍵生成器の自動装置が信憑性を調べる。別の例として、生物測定認証技術(例えば、指紋分析、眼球スキャン、掌紋または声紋分析、顔面認識方法、または直接認証チェック)を用いることもできる。認証処理にユーザとポリシー強制サービス20との間で電子通信が必要な場合は、ユーザとポリシー強制サービス20との間の通信経路を保護する必要がある。信頼できないものが利用できないようになっていれば、通信経路は保護されていると考えることもできる。例えば、ポリシー強制サービス20とユーザ22との間のネットワークを、ポリシー強制サービス20または別の信頼できる権威者により制御されている専用回線とすることもできる。別の例として、保護されたチャネルを、保護されたウェブブラウザリンクを用いてサポートすることもできる(例えば、セキュアソケットプロトコルを用いる)。ユーザについて適切な情報を収集して、ポリシー強制サービス20が適切なポリシー規定を適用して、(暗号化データに対応付けられた公開鍵ポリシー情報から)ユーザの認証を確認して、ステップ30で秘密鍵を受信した後、ステップ32で秘密鍵をユーザに提供することもできる(例えば、ネットワーク12を介して、セキュアソケットレイヤ(SSL)リンク等の保護された経路を用いる)。これは単に、秘密鍵をユーザに提供する例示の技術である。所望の場合には、任意の適した技術を用いることもできる。
【0067】
ポリシー強制サービス20がステップ26で秘密鍵を受信者に提供した後、ステップ28で処理を継続することもできるので(ライン34で示す)、ポリシー強制サービス20は、他のユーザが提供する公開鍵に基づいて、他のユーザから秘密鍵の要求をさらに受信することもできる。
【0068】
システム10でデータパッケージサービス16を用いる際に必要なステップについて、図3に示す。ステップ36で、データパッケージサービス16は、識別情報に基づく暗号化公開パラメータ情報を取得することもできる(例えば、公開パラメータPおよびsP)。この情報を、ポリシー強制サービス20に供給することもできる。公開パラメータ情報を、任意の適した技術を用いて供給することもできる。例えば、サービス16に、電子的にネットワーク12を介して公開パラメータ情報を提供したりすることもできるし、または公開パラメータ情報を、識別情報に基づく暗号化エンジンソフトウェアの一部として提供したりすることもできる。
【0069】
ステップ38では、データパッケージサービス16が暗号化されるデータを取得することもできる。メディア、ソフトウェア、テキスト、グラフィックス、金融レコードまたは他のデータ等の、任意の適したコンテンツを、システム10を用いて配信することもできる。一例として、デジタル版の映画を、衛星アップリンク(ネットワーク12の一部)を用いてデータパッケージサービス16に提供したり、または映画ファイルを含むCDまたはDVDをサービス16に提供したりすることもできる。
【0070】
ステップ40では、所望の場合には、データパッケージサービス16が特定の種類のデータ構造を生成することもできる(例えば、”movie”タイプ)。映画のコンテンツを、データ構造に組み込むこともできる。属性をデータに対応付けることもできる。例えば、このような属性が、ポリシー情報を定義することもできる。一例として、映画の属性は、映画のタイトル、監督、上映時間、公開年、指定(例えばG、PG、PG−13、R、X等)、価格等を含む。データに対応付けられた属性を、(少なくとも初めは)データと別々に維持することもできるし(例えば、映画を含むVCRテープの外側に指定ラベルを貼ってある場合など)、または暗号化されるコンテンツとともにデータ構造に組み込むこともできる(例えば、トラック、アーティスト、タイトル、および他の属性を、歌のデータとともにMP3データ構造に組み込む場合)。
【0071】
属性のいくつかまたはすべて、およびデータの使用を管理する他の適切な情報を、ポリシー情報として用いることもできる。このポリシー情報を、公開鍵Qを生成してデータ構造を暗号化する際に、データパッケージサービスが用いることもできる。映画に適した公開鍵の一例として、映画の指定とすることもできる。(例えば、rating=R)。所望の場合には、ポリシー関連の属性をさらに用いて公開鍵を生成することもできる。一例として、多数のデジタル映像の属性をともに連結して、公開鍵Qを生成することもできる(例えば、”secure−video://Name=Matrix;Distributor=Paramount;Date=Aug−2002/Rating=”R”等の属性。所望の場合には、暗号化されるデータを、XMLデータ構造等のデータ構造に組み込むこともできる。データパッケージサービス16が公開鍵Qとして用いるポリシーデータ(属性)を手動で選択したり、自動的に選択したりすることもできる。所望の場合には、データタイプ暗号化ポリシー情報を用いて、Qを生成する際に、どの属性とポリシー情報とを用いるか定義することもできる。1つのセットの属性を1つのタイプのデータを暗号化するのに用いることもできるが、(例えば、映画タイプのデータ構造内のデータを暗号化する場合)、別のセットの属性を用いて他のタイプのデータを暗号化することもできる(例えば、歌のタイプのデータ構造内のデータを暗号化する場合)。所望の場合には、データタイプ暗号化ポリシー情報を、XMLフォーマットで提供することもできる。
【0072】
ステップ40で、データパッケージサービス16で識別情報に基づく暗号化エンジンを用いてデータを暗号化することもできる。識別情報に基づく暗号化エンジンは、識別情報に基づく暗号化アルゴリズムを実行して、暗号化されていない情報を、暗号化情報に基づく公開パラメータ情報および識別情報に変換する(図1のシステム10という文脈で公開鍵と呼ぶ)。特に、識別情報に基づく暗号化エンジンは、識別情報に基づく暗号化公開鍵Qおよび識別情報に基づく暗号化公開パラメータ情報を、暗号化データの他に、識別情報に基づく暗号化エンジンに対する第1および第2の入力として用いることもできる。
【0073】
ステップ42で、得られる暗号化データ(所望の場合には、選択として公開鍵Qおよび他の適したポリシーデータ)を、ユーザが利用できるようにすることもできる。例えば、暗号化データ構造を、配信サービス18を用いて通信ネットワーク12を介して、ユーザ装置22に配信することもできる。また、CDおよびDVD等の記憶媒体を用いて、暗号化データ構造を配信することもできる。データが暗号化されているので、ピアツーピア配信処理を用いることもできる(例えば、1人のユーザ22が、通信ネットワーク12を介して、受信した暗号化データ構造またはデータ項目を別のユーザ22に電子メールで送信したり、別の方法で送信したりすることもできる)。ユーザ22は、暗号化データをダウンロードすることもできる(例えば、配信サービス18上で提供するリポジトリから)。また、もともとユーザデバイス22を受け取った場合、ユーザは、暗号化データを受信することもできる(例えば、暗号化データがユーザデバイス22のハードウェアにすでに格納されていて、ユーザがユーザデバイスを受け取った場合)。一旦、ステップ42で暗号化データをユーザが利用できるようにしたなら、ライン44で示しているように、ステップ38でさらにコンテンツを取得することもできる(すなわち、処理を継続することもできる)。
【0074】
ユーザが(暗号化されていない版の)暗号化データのコンテンツに対するアクセスを取得できるようにさせる例示のステップを、図4に示す。ステップ46で、システムを設定することもできる。例えば、ユーザの装置がアクセス機能および対応付けられたパラメータを実行するのに用いるソフトウェアを、ステップ46で取得することもできる。必要なソフトウェアを、ユーザの装置に前もってインストールしたり、ダウンロードしたり、またはディスケット、CD、または他の記憶媒体を介して取得することもできる。ソフトウェアを、特定の機関(例えば、銀行)が提供するソフトウェアパッケージとすることもできるし、または販売店または汎用ソフトウェア製造業者(例えば、メディアプレーヤソフトウェアのプロバイダ)が提供するソフトウェアとすることもできる。暗号化データがデジタル映画ファイルの場合は、例えば、ソフトウェアは、デジタル加入映画サービスに対応付けられたものが提供する映像ソフトウェアまたはメディアプレーヤソフトウェアである。映像ソフトウェアを用いて、配信サーバ18が提供するリストに列挙された各種のタイトルから所望の映画を選択する処理を行うこともできる。映像ソフトウェアを用いて、暗号化された版の映画をダウンロードすることもできる。次に、映像ソフトウェアをユーザが用いて、アクセス要求を生成して(適切な公開鍵を含む)、ポリシー強制サービスから適切な対応する秘密鍵を受信して、映画を復号化してユーザが視聴する処理を行うこともできる。
【0075】
ステップ46でシステムを設定した後、ユーザは、アクセスする暗号化データを取得することもできる。例えば、ユーザは、1つ以上の配信サービス18または他の適した装置を介して、データパッキングサービス16から暗号化データを取得することもできる。また、暗号化データについてもユーザのハードドライブに前もって格納することもできる。この場合は、暗号化データの取得処理には、ローカルディスクアクセス機能が必要となる。ポリシー情報(例えば、公開鍵Qにふくまれる等の情報)を、暗号化データとしてユーザに動じに(または別の時に)提供することもできるし、ユーザの装置に前もって格納することもできる(例えば、秘密鍵をポリシー強制サービスに提供する時間の場合は、ユーザがアクセスするテーブル内)。これにより、認証および鍵生成処理を簡単にすることができるのは、ユーザが単に、当該ポリシー情報をポリシー強制サービス20に鍵要求の一部として転送することもできるからである。
【0076】
ステップ50では、ユーザは、手動または自動的に(映像再生ソフトウェア等の適切なユーザソフトウェアを用いて)鍵要求を生成することもできる(すなわち、ユーザは、ポリシー強制サービス20に、暗号化データ構造を復号化する適切な秘密鍵を生成してユーザに提供するように照会することもできる)。前もって格納したグローバルポリシー情報を除いた、公開鍵/ポリシー情報をすべて含む鍵要求、(いわゆる、システム10のユーザ全員に影響を与えるので)、または、でなければ、どのポリシーを適用して、どの秘密鍵を生成するか判断できるように、適切な情報を含んだかぎ要求を、ポリシー強制サービス20(例えば、ネットワーク12を介して)送信することもできる。鍵要求処理の間、ポリシー強制サービス20は、データについて適切なポリシー情報を用いて(すなわち、ユーザが識別するか、または実際にポリシー強制サービスおよび/またはグローバルまたは前もって格納したポリシー情報等に転送した、データに対応付けられたポリシー情報)、ユーザにコンテンツへのアクセスを許可するかどうか判定する。一例として、ポリシー情報は、ユーザの許可年齢幅を指定する情報を含むこともできる。例えば、ポリシー情報を、ユーザの年齢17歳以上のものだけが対応付けられた暗号化データのコンテンツにアクセスできると命令する映画指定Rとすることもできる。別の例として、特定の加入契約タイプの全ユーザ(例えば、”シルバープラン”)のアクセスを許可することもできる。これらは単に、用いられるポリシータイプを説明するためだけのものである。所望の場合には、異なる、さらに複雑なポリシーを用いることもできる。また、ステップ50の要求処理には、ポリシー強制サービスがユーザ識別を認証することが必要とすることもできる(あるいは、少なくとも年齢等のユーザ特性)。所望の場合には、任意の適した検証技術を用いることもできる。また、ユーザがポリシー強制サービスと通信する間に、さらに情報を提供するかユーザに紹介することもできる。このような追加の情報は、例えば、ユーザのクレジットカード番号等の支払い情報を含むこともできる(必要の場合には、例えばポリシー情報から)。
【0077】
ユーザが適切な情報をポリシー強制サービス20に提供して、ポリシー強制サービスがポリシー情報およびユーザ情報に記載されたポリシーを用いてユーザが暗号化データにアクセスすることを認証されていると正常に確認した場合は、ポリシー強制サービス20は、秘密鍵をユーザに発行して、ユーザはステップ52でこの鍵を取得することもできる。秘密鍵(sQ)は、データを暗号化するのに用いて、アクセス要求が識別した、あるいは提供した、公開鍵Qに対応する。従って、ステップ52で、ユーザは、秘密鍵sQを用いて暗号化データを復号化して、データのコンテンツにアクセスして用いることもできる。暗号化映画についての例示の場合では、例えば、ユーザは、ユーザの映像ソフトウェアを用いて映画を復号化して再生することもできる。鍵要求処理の詳細についてはユーザから隠すことができるので、ユーザは、ユーザのソフトウェアで要求したその鍵について知る必要はない。ライン54で示すように、ユーザは、ステップ48から開始する処理を繰り返すことにより、さらにコンテンツの取得を継続することもできる。
【0078】
システム10を用いて配信するデータは一般に、任意のフォーマットとすることもできる。例えば、デジタル映画をMPEGファイルとして保存することもでき、歌をMP3ファイルとして保存することもできる、等である。所望の場合には、データを、XMLフォーマットを用いたデータ構造等のデータ構造に保存することもできる。(データコンテンツはやはり、MPEGまたはMP3ファイルフォーマットである。)
特定のフォーマット情報を用いて、続いてデータを暗号化するのに用いられる公開鍵Qを生成する際に、どのデータ属性(例えば、指定、またはある他の属性、または属性の特定の組み合わせ)を用いるか判定することもできる。このいわゆるデータタイプ暗号化ポリシー情報は、関連する特定のデータタイプに固有のものとすることもできる。例えば、データタイプ暗号化ポリシー情報を用いて、1つのセットのポリシー情報を用いて全映画を暗号化するように命令したり、別のセットのポリシー情報を用いて歌を暗号化するように命令したりすることもできる。所望の場合には、データタイプ暗号化ポリシー情報自体をXMLフォーマットで提供することもできる。データおよびデータタイプ暗号化ポリシー情報をともにXMLを用いて提供する例示のシナリオについて、図7a、7bおよび7cとともに上記で述べている。
【0079】
XMLデータタイプ暗号化ポリシー情報を用いてどのようにデータを暗号化するか判定することについての例示のステップを、図5に示す。ステップ56では、サービス16の識別情報ベースの暗号化エンジンが、暗号化するデータ(例えば、データ構造内のデータ)を取得および/または生成することもできる。このデータは、コンテンツ(例えば、映画または歌)を含むこともできるし、データタイプ情報(例えば、”movie”または”song”)を含むこともできるし、他の対応付けられた属性(例えば、G、PG、R、およびXの取り得る値から選択したその対応する属性値”R”の”指定”を付けられた属性)を含むか、あるいは有することもできる。コンテンツは一般に、コンテンツプロバイダ14が提供する。データの他の情報(例えば、データタイプおよび他の属性情報)を、データパッケジャー、コンテンツプロバイダ、または他の適したエンティティまたはこのようなエンティティの組み合わせが提供することもできる。
【0080】
ステップ58では、データパッケージサービス16が、データタイプ暗号化ポリシー情報を取得することもできる。この情報を、コンテンツプロバイダから取得することもできるし、データパッケージサービス16のスタッフが生成することもできるし、または任意の他の適したエンティティが生成することもできる。例えば、データ構造タイプ暗号化ポリシー情報は、データタイプ”映画”として、属性”rating”は、公開鍵Qを生成する際に用いられるたった1つの属性であることを指定することもできる。別の例として、データタイプ暗号化ポリシー情報は、データタイプ”song”として、2つの属性”artist”および”price”をともに連結してQを生成することを指定することもできる。これらは単に、データタイプ暗号化ポリシー情報の説明のための例である。所望の場合には、任意の適したデータタイプ暗号化ポリシー情報を用いることもできる。
【0081】
データタイプ暗号化ポリシー情報を、XMLフォーマットまたは任意の他の適した形式で提供して維持することもできる。
【0082】
ステップ60では、データパッケージサービス16が、データタイプ暗号化ポリシー情報およびデータに対応付けられた属性情報を用いて公開鍵Qを生成することもできる。次にデータパッケージサービスは、識別情報に基づく暗号化エンジンを用いて、データおよびその対応付けられたコンテンツを暗号化することもできる。識別情報に基づく暗号化エンジンは、入力として、ポリシー強制サービス20が提供した公開パラメータ情報(P、sP)およびポリシー情報(Q)から生成した公開鍵を用いることもできる。
【0083】
上記は、本発明の原理を単に説明するためだけのものであり、本発明の範囲および精神から逸脱することなく、当業者が各種の変更を行うことができる。
【図面の簡単な説明】
【0084】
【図1】図1は、本発明による、コンテンツをユーザに配信するための識別情報に基づく暗号化システムを説明する図である。
【図2】図2は、図1に示す本発明によるシステムを利用した、ポリシー強制サービスを用いて暗号化コンテンツ配信をサポートする際のステップを説明するフローチャートである。
【図3】図3は、本発明によるパッケージサービスおよび配信サービスを用いてデータ構造を暗号化して配信する際のステップを説明するフローチャートである。
【図4】図4は、本発明による図1に示すシステムでユーザに暗号化データを復号化させる際のステップを説明するフローチャートである。
【図5】図5は、本発明によるデータ構造を暗号化する際のステップを説明する図である。
【図6】図6は、本発明による、音楽データコンテンツおよび対応するデータ属性をどのように1つのデータ構造にまとめるかを示す、説明のためのMP3ファイルを示す図である。
【図7】図7aは、本発明による説明のためのデータ構造(XMLフォーマット)を示す図である。図7bは、本発明によるデータ構造のデータを暗号化する際に用いる公開鍵を生成する時に、図7aに示すデータのデータ属性をどのように用いるか決定するのに用いられるデータタイプ暗号化ポリシー情報(XMLフォーマット)を説明する図である。図7cは、本発明による図7bに示すデータタイプ暗号化ポリシー情報に基づく図7aのデータ構造属性から生成される公開鍵(これはXMLフォーマットで提供)を示す図である。

【特許請求の範囲】
【請求項1】
データをシステム内のユーザに配信する方法であって、識別情報に基づく暗号化公開パラメータ情報および公開鍵に基づいて、識別情報に基づく暗号化エンジンを用いてデータを暗号化して、公開鍵は1人のユーザに固有のものではなく、どのタイプのユーザが暗号化データの復号化を許可されているか指定するポリシー情報を含み、暗号化データの復号化を希望する任意のユーザがアクセス要求をポリシー強制サービスに送信して、これがポリシー強制サービスにデータの暗号化に用いた公開鍵に対応する秘密鍵を提供するように命令する方法であって、
任意のユーザからのアクセス要求をポリシー強制サービスで受信して、
公開鍵のポリシー情報および任意のユーザの少なくとも1つの特性に関する情報をポリシー強制サービスで用いて、任意のユーザが、公開鍵に対応する秘密鍵の受領を許可されているかどうか判定して、
任意のユーザが認証されれば、ポリシー強制サービスを用いて、公開鍵に対応する秘密鍵をユーザに送信する、方法。
【請求項2】
ユーザが識別情報に基づく復号化エンジンを実行するユーザ装置を有し、方法はさらに、ユーザ暗号化データのコンテンツにアクセスできるように、秘密鍵および復号化エンジンを用いてデータを暗号化することを含む、請求項1に記載の方法。
【請求項3】
ポリシー情報が指定情報を含み、方法はさらに、任意のユーザが公開鍵に対応する秘密鍵の受領を許可されているかどうか判定する際に、指定情報を用いることを含む、請求項1に記載の方法。
【請求項4】
ポリシー情報が、G指定、PG指定、PG−13指定、R指定、およびX指定からなるグループから選択した指定情報を含む、請求項1に記載の方法。
【請求項5】
ユーザがメディアプレーヤを実行するユーザ装置を有し、方法はさらに、メディアプレーヤを用いてデータのコンテンツにアクセスするアクセス要求を生成することを含む、請求項1に記載の方法。
【請求項6】
識別情報に基づく暗号化エンジンを用いて、データタイプ暗号化ポリシー情報に基づいて、データを自動的に暗号化することをさらに含む、請求項1に記載の方法。
【請求項7】
識別情報に基づく暗号化エンジンを用いて、XMLフォーマットのデータタイプ暗号化ポリシー情報に基づいて、データを自動的に暗号化することをさらに含む、請求項1に記載の方法。
【請求項8】
データがXMLフォーマットで、方法はさらに、XMLフォーマットのデータタイプ暗号化ポリシー情報に基づいて、識別情報に基づく暗号化エンジンを用いて、自動的にXMLフォーマットデータを暗号化することを含む、請求項1に記載の方法。
【請求項9】
データがXMLフォーマットで、方法はさらに、データタイプ暗号化ポリシー情報に基づいて、識別情報に基づく暗号化エンジンを用いて、自動的にXMLフォーマットデータを暗号化することを含む、請求項1に記載の方法。
【請求項10】
公開鍵がXMLフォーマットの公開鍵を含み、公開鍵のポリシー情報および任意のユーザの少なくとも1つの特性に関する情報をポリシー強制サービスで用いて、任意のユーザが公開鍵に対応する秘密鍵の受領を許可されているかどうか判定して、
さらに、XMLフォーマットの公開鍵を用いて、任意のユーザが公開鍵に対応する秘密鍵の受領を許可されているかどうか判定することを含む、請求項1に記載の方法。
【請求項11】
データが歌を含み、方法はさらに、歌をユーザがピアツーピア構成を用いて配信して、データを復号化する前に、あるユーザが電子的に歌を別のユーザへ送信することを含む、請求項1に記載の方法。
【請求項12】
暗号化データを復号化する前に、ピアツーピア構成で暗号化データをあるユーザから別のユーザに配信することをさらに含む、請求項1に記載の方法。
【請求項13】
対称鍵暗号化を用いてデータ内のコンテンツを暗号化せずに、識別情報に基づく暗号化アルゴリズムを直接用いてデータを暗号化することをさらに含む、請求項1に記載の方法。
【請求項14】
2段階の処理を用いてデータを暗号化することをさらに含み、対称鍵を用いてデータ内のコンテンツを暗号化して、識別情報に基づく暗号化アルゴリズムを用いて対称鍵を暗号化する、請求項1に記載の方法。
【請求項15】
通信ネットワークを介して、公開鍵をデータパッケージサービスからユーザへ送信することをさらに含む、請求項1に記載の方法。
【請求項16】
任意のユーザが公開鍵に対応する秘密鍵の受領を許可されているかどうか判定する際に、ポリシー強制サービスでグローバルポリシー情報を用いることをさらに含む、請求項1に記載の方法。
【請求項17】
ユーザの特性に関する情報が、ユーザの年齢に関する情報を含み、方法はさらに、ポリシー強制サービスで公開鍵のポリシー情報およびユーザの年齢に関する情報を用いて、任意のユーザが公開鍵に対応する秘密鍵の受領を許可されているかどうか判定することをさらに含む、請求項1に記載の方法。
【請求項18】
データをシステム内のユーザに配信する方法であって、識別情報に基づく暗号化公開パラメータ情報および公開鍵に基づいて、識別情報に基づく暗号化エンジンを用いてデータを暗号化して、データは対応付けられたデータ属性を有し、公開鍵は1人のユーザに固有のものではなく、どのタイプのユーザが暗号化データの復号化を許可されているか指定するポリシー情報を含み、公開鍵のポリシー情報は、複数のデータ属性に基づいていて、暗号化データの復号化を希望する任意のユーザがアクセス要求をポリシー強制サービスに送信して、これがポリシー強制サービスにデータの暗号化に用いた公開鍵に対応する秘密鍵を提供するように命令する方法であって、
任意のユーザからのアクセス要求をポリシー強制サービスで受信して、
ポリシー強制サービスで複数のデータ属性に基づく公開鍵のポリシー情報を用いて、任意のユーザが、公開鍵に対応する秘密鍵の受領を許可されているかどうか判定して、
任意のユーザが認証されれば、ポリシー強制サービスを用いて、公開鍵に対応する秘密鍵をユーザに送信することを含む、方法。
【請求項19】
公開鍵を用いてデータを暗号化して、ネットワークを介して暗号化データとしてユーザに配信する方法であって、データは対応付けられたデータ属性を有し、暗号化データの復号化を希望する任意のユーザがアクセス要求をポリシー強制サービスに送信して、これがポリシー強制サービスにデータの暗号化に用いた公開鍵に対応する秘密鍵を提供するように命令して、ポリシー強制サービスが任意のユーザからアクセス要求を受信して、公開鍵に対応付けられたポリシー情報を用いて、任意のユーザが、公開鍵に対応する秘密鍵の受領が許可されているかどうか判定して、任意のユーザが認証されれば、公開鍵に対応する秘密鍵をネットワークを介して任意のユーザに送信する方法であって、
識別情報に基づく暗号化エンジンを用いて、識別情報に基づく暗号化公開パラメータ情報および公開鍵に基づいて、データを暗号化して、公開鍵は1人のユーザに固有のものではなく、どのタイプのユーザが暗号化データの復号化を許可されているか指定するポリシー情報を含む、方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2006−516873(P2006−516873A)
【公表日】平成18年7月6日(2006.7.6)
【国際特許分類】
【出願番号】特願2006−503306(P2006−503306)
【出願日】平成16年2月3日(2004.2.3)
【国際出願番号】PCT/US2004/003144
【国際公開番号】WO2004/073230
【国際公開日】平成16年8月26日(2004.8.26)
【出願人】(505295547)ボルテージ セキュリティー, インコーポレイテッド (7)
【Fターム(参考)】