ホームネットワークシステム及びその管理方法
【課題】 本発明は、UPnPプロトコルを基盤として、ユーザインターフェースを通じてユーザが直接ドメインの構成機器の加入及び脱退などを制御し、ドメインの構成機器の変動を効果的に制御できるホームネットワークシステム及び管理方法を提供する。
【解決手段】 ホームネットワークシステムは、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成して、ドメインを構成する被制御機器に所定のドメインキーを提供し、ドメインの構成に変動が発生する度に新たなドメインキーを生成して、ドメインに残っている被制御機器に提供するマスタ機器と、ドメインの構成をユーザが直接変更できるようにユーザインターフェースを提供するコントロールポイントとを備える。
【解決手段】 ホームネットワークシステムは、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成して、ドメインを構成する被制御機器に所定のドメインキーを提供し、ドメインの構成に変動が発生する度に新たなドメインキーを生成して、ドメインに残っている被制御機器に提供するマスタ機器と、ドメインの構成をユーザが直接変更できるようにユーザインターフェースを提供するコントロールポイントとを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホームネットワークのドメインに存在する機器の管理方法に係り、特に、ユーザインターフェースを通じてユーザが直接ドメインの構成機器の加入及び脱退などを制御し、ドメインの構成機器の変動を効果的に制御できるホームネットワークシステム及び管理方法に関する。
【背景技術】
【0002】
最近、ホームネットワークに対する関心が高まりつつ、ホームネットワーク上でコンテンツを保護するための技術が提案されているが、トムソン社で提案した‘SmartRight’、シスコ社で提案した‘OCCAM(Open Conditional Content Access Management)’、IBM社で提案した‘xCP Cluster Protocol’のようなものが代表的な例であると言える。
【0003】
‘SmartRight’は、ホームネットワークを構成するそれぞれの機器ごとに公開キー認証書を含んでいるスマートカードを備えて、このスマートカードを利用して機器相互間に前記認証書を交換することによって、ホームネットワークのためのキーを生成する方式である。
【0004】
‘OCCAM’は、ホームネットワーク内の機器がそれぞれのコンテンツについての固有のチケットを利用してコンテンツを使用する方式である。
【0005】
‘xCP Cluster Protocol’は、ブロードエンクリプション基盤の技術であって、クラスタというドメイン概念を導入して、このクラスタに属した機器間には、コンテンツを自由に使用させる方式である。
【0006】
図1には、マスタ機器110及びスレーブ機器120、130、140から構成された、認証されたホームドメイン100が例示されており、マスタ機器110とスレーブ機器120、130、140との間にドメイン管理を行う。
【0007】
このようなマスタ−スレーブ構造によって、‘xCP Cluster Protocol’を基盤とするコンテンツの再生過程を図2を参照して説明する。図2によるコンテンツの再生過程は、大きくクラスタ形成過程(S200)、機器認証過程(S210)、コンテンツ暗号化過程(S220)及びコンテンツ復号化過程(S230)に分けられ、細部的に説明すれば、次の通りである。任意のホームネットワークに最初に接続したサーバは、前記ネットワークに対するバインディングID(IDb)を生成する(S200)。このとき、前記バインディングIDは、前記サーバの製造当時に設定された固有の識別子であるか、ユーザが任意に定めた固有の識別子でありうる。このように、バインディングIDが生成されれば、バインディングIDとして識別されるクラスタが形成される。
【0008】
前記サーバに存在するコンテンツを利用しようとする機器は、自身のデバイスキーセットを利用して、MKB(メディアキーブロック)からメディアキー(Km)を抽出する(S212)。その後、前記機器は、前記ステップ(S212)で抽出したメディアキー(Km)及び機器自身の識別子であるIDpを利用して、機器自身の固有キーであるKpを生成する(S214)。前記機器は、機器認証を受けるために、前記サーバに対して機器認証を要請する(S216)。すなわち、前記機器は、前記クラスタ内、または前記ホームネットワークの外部に存在する機器認証のためのサーバに自身の固有の識別子であるIDpと、自身が何なる種類の機器であるかを表す類型識別子である‘type’と、機器自身の識別子であるIDpと、‘type’のハッシュ値h=MAC(IDp||type)Kpを前記サーバに伝送する。
【0009】
前記サーバは、Km及びIDpからKp’を求め、前記Kp’を利用して得られたハッシュ値h’=MAC(IDp||type)Kp’を、前記機器から受信した前記ハッシュ値hと比較して同じであるか否かを確認する。もし、h値とh’値とが同じである場合には、前記機器に、Kpを利用してIDbを暗号化したE(IDb)Kp及び前記機器の固有のIDpを伝送し、サーバ自身の認証テーブル‘auth.tab’に前記IDpを追加する。このとき、前記機器は、前記サーバから受信したE(IDb)KpからIDbを抽出することによって、機器認証が行われる(S218)。
【0010】
一方、機器認証が終わった後、前記サーバは、前記機器に伝送するコンテンツを暗号化する(S220)。まず、IDb、auth.tab、Kmを利用してバインディングキー(Kb)を生成するが、このとき、前記バインディングキー(Kb)は、Kb=H[IDbH[auth.tab],Km]のような式を満足する(S222)。
【0011】
バインディングキー(Kb)が生成された後に、前記サーバは、コンテンツを保護するために、タイトルキー(Kt)で前記コンテンツを暗号化する(S224)。一方、それぞれのコンテンツには、複写制御情報、外部伝達許容如何、使用権限、使用許容期間などが含まれたUR(Usage Rule)情報が含まれているので、前記Kbを利用して
(外1)
のように、UR情報及びタイトルキー(Kt)を暗号化する(S226)。
【0012】
一方、前記機器は、前記サーバから前記auth.tabを受信し、既抽出したKm及びIDbを利用して、
(外2)
からバインディングキー(Kb)を得て(S232)、
(外3)
からタイトルキー(Kt)を抽出した後(S234)、前記抽出されたタイトルキー(Kt)を利用して、前記サーバから受信したコンテンツを復号化する(S236)。
【0013】
このように動作するxCP Cluster Protocolは、ドメインに含まれる機器の選択過程なしに、通信範囲内のあらゆる機器が自動で加入でき、また、それぞれの機器が新たにバインディングキー(Kb)を作る度に、auth.tabをサーバから受信して計算せねばならないという不便さがある。したがって、ユーザの制御によってホームドメインの構成機器を決定でき、外部と独立したホームドメインを構築して、さらに安全にコンテンツを保護する必要がある。
【0014】
一方、最近、UPnP(Universal Plug and Play)を基盤にしたホームネットワークの管理方法が広範に提案されている。UPnPは、本来、コンピュータの周辺装置を汎用コンピュータに連結するだけで自動で認識させる標準化された機能を意味し、さらに、コンピュータの周辺装置だけでなく、家電製品及び無線装備などをネットワークに接続させたとき、これを自動で認識できるホームネットワークミドルウェア標準として発展している。また、UPnPは、既存の標準インターネットプロトコルを使用するために、既存のネットワークにスムーズに統合可能であり、特定の運営体制や物理的な媒体に依存しないなど、多くの長所を有する。しかし、まだ、UPnPを利用してドメイン管理を具現する方法は知られていないので、UPnPを利用して効果的にドメイン管理を具現する方法を講ずる必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明の目的は、ユーザが直接ドメインの形成を制御し、外部と独立したドメインをさらに安全に構築できるホームネットワークの管理方法を提供することである。
【0016】
また、本発明の目的は、既存の標準インターネットプロトコルを使用するネットワークにスムーズに統合可能なUPnP基盤のホームネットワークシステムを提供することである。
【0017】
また、本発明の目的は、ホームネットワークのドメインの構成機器の変動をユーザが直接制御し、構成機器の変動による新たなドメインキーの生成をマスタ機器が担当し、スレーブ機器は、マスタ機器で生成されたドメインキーを伝達されるようにすることによって、ドメイン構成の変更によるドメインキーの変更手続を簡素化することである。
【0018】
また、本発明の目的は、ドメインID及びドメインキー以外にも、ドメインが共有する情報としてセッションIDを導入することによって、頻繁なドメインキーの変更を防止することである。
【課題を解決するための手段】
【0019】
前記目的を達成するために、本発明は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成して、前記ドメインを構成する被制御機器に所定のドメインキーを提供し、前記ドメインの構成に変動が発生する度に新たなドメインキーを生成して、前記ドメインに残っている被制御機器に提供するマスタ機器と、前記ドメインの構成をユーザが直接変更できるようにユーザインターフェースを提供するコントロールポイントと、を備えるホームネットワークシステムを提供する。
【0020】
このとき、前記マスタ機器は、前記ドメインを形成する被制御機器に所定のコンテンツを提供し、前記ドメインキーは、前記所定のコンテンツの暗号化に利用されるコンテンツキーの暗号化に利用され、また、前記ドメインキーは、前記所定のコンテンツを提供される被制御機器の公開キーを利用して暗号化され、前記暗号化されたドメインキーは、前記公開キーと対をなす所定の秘密キーで解読され得る。
【0021】
また、前記ホームネットワークシステムは、UPnPを基盤として構成され、前記ドメインキーは、前記ドメインを形成する機器の機器情報を利用して生成され、前記コントロールポイントは、前記マスタ機器及び前記ドメインを形成する被制御機器の動作に必要な情報を、前記マスタ機器及び前記ドメインを形成する被制御機器に伝達できる。
【0022】
また、前記ドメインは、前記ドメインを形成する構成機器の変動によって変動されるセッションIDを共有し、前記マスタ機器は、前記ドメインに連結される機器のセッションIDが自身のセッションIDと同じでない場合に、前記連結された機器に自身が保有しているドメインキーを伝達することが望ましい。
【0023】
このとき、前記被制御機器は、スレーブ状態及びゲスト状態を機器モードとして有し、前記マスタ機器は、前記ドメインに連結される機器のセッションIDが自身のセッションIDと同じでなく、また前記連結された機器が自身が保有しているスレーブ機器リストに存在する場合に、前記連結された機器に、自身が保有しているドメインキーを伝達することが望ましい。
【0024】
さらに、前記スレーブ機器リストに前記連結された機器が存在していない場合に、前記連結された機器の機器モードは、ゲスト状態に変更されうる。また、前記マスタ機器は、前記ドメインに連結される機器のドメインIDが、自身が保有しているドメインIDと一致していない場合には、前記ドメインキーを前記連結された機器に伝達ことが望ましい。また、前記マスタ機器は、前記ドメインに連結される機器の機器モードがスレーブ状態ではない場合には、前記ドメインキーを前記連結された機器に伝達しないことが望ましい。
【0025】
また、前記セッションIDは、固有ID以外にも日付情報及び/またはバージョン情報をさらに含むことが望ましい。
【0026】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成して、前記ドメインを構成する被制御機器に所定のドメインキーを提供するマスタ機器、及びユーザインターフェースを提供するコントロールポイントを備えるホームネットワークシステムの管理方法において、(a)前記ユーザインターフェースを通じたユーザの指示によって前記ドメインの構成を変更するステップと、(b)前記マスタ機器で、前記ドメインの構成変更によって新たなドメインキーを生成するステップと、(c)前記生成されたドメインキーを、前記ドメインに残っている被制御機器に提供するステップとを含むホームネットワークの管理方法を提供する。
【0027】
このとき、前記ホームネットワークシステムは、UPnPを基盤として構成され、前記ドメインキーは、前記ドメインを形成する機器の機器情報を利用して生成されうる。
【0028】
また、前記ホームネットワークの管理方法は、(d)前記ドメインの構成機器の変動によって変動されるセッションIDを、前記ドメインの構成機器が共有するステップと、(e)前記ドメインに連結される機器のセッションIDが、前記ドメインのセッションIDと同じでない場合に、前記連結された機器に前記ドメインのドメインキーを提供するステップとをさらに含むことが望ましい。
【0029】
このとき、前記被制御機器は、スレーブ状態及びゲスト状態を機器モードとして有し、前記(e)ステップは、前記ドメインに連結される機器のセッションIDが、前記ドメインのセッションIDと同じでなく、また、前記連結された機器が、前記マスタ機器が保有しているスレーブ機器リストに存在する場合に、前記連結された機器に前記ドメインキーを提供することが望ましい。
【0030】
さらに、前記(e)ステップは、前記ドメインに連結される機器が前記スレーブ機器リストに存在していない場合に、前記連結された機器の機器モードをゲスト状態として設定することが望ましく、前記(e)ステップは、前記ドメインに連結される機器のドメインIDが、前記ドメインのドメインIDと一致していない場合に、前記ドメインキーを前記連結された機器に提供しないステップを含むことが望ましく、前記(e)ステップは、前記ドメインに連結される機器の機器モードがスレーブ状態でない場合には、前記ドメインキーを前記連結された機器に提供しないステップを含むことが望ましい。
【0031】
また、前記セッションIDは、固有ID以外にも日付情報及び/またはバージョン情報をさらに含むことが望ましい。
【0032】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器を備えるホームネットワークシステムのホームネットワークの管理制御装置において、前記ドメインの構成をユーザが直接変動できるように、ユーザインターフェースを提供するユーザインターフェース提供部と、前記ユーザインターフェースを通じたユーザの入力によって、前記ドメインの構成機器の動作に必要な情報を前記ドメインの構成機器に提供する機器動作情報提供部とを備えるホームネットワークの管理制御装置を提供する。
【0033】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器を備えるホームネットワークシステムのホームネットワークの管理制御装置において、前記ドメインの構成をユーザが直接変動できるように、ユーザインターフェースを提供するユーザインターフェース提供部と、前記ホームネットワークの管理制御装置に接続する機器を検出する機器検出部と、前記接続された機器の情報を前記マスタ機器に提供して、前記マスタ機器での処理結果を前記接続された機器に提供する機器動作情報提供部とを備えるホームネットワークの管理制御装置を提供する。
【0034】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器において、前記被制御機器の認証を行う被制御機器管理部と、前記ドメインを識別するドメインIDを生成して、前記ドメインの構成機器に提供するドメインID管理部と、前記ドメインの構成変動によって変動するセッションIDを生成して、前記ドメインの構成機器に提供するセッションID管理部と、前記ドメインの構成変動によって変動するドメインキーを生成して、前記ドメインの構成機器に提供するドメインキー管理部とを備えるマスタ機器を提供する。
【0035】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器により前記被制御機器を管理する方法において、(a)前記被制御機器の認証を行うステップと、(b)前記ドメインを識別するドメインIDを生成して、前記ドメインの構成機器に提供するステップと、(c)前記ドメインの構成変動によって変動するセッションIDを生成して、前記ドメインの構成機器に提供するステップと、(d)前記ドメインの構成変動によって変動するドメインキーを生成して、前記ドメインの構成機器に提供するステップとを含む被制御機器の管理方法及びこの方法を実行するプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【0036】
前記のような目的を達成するために、本発明の他の態様は、スレーブ状態及びゲスト状態を機器モードとして有しうる一つ以上の被制御機器のうち、機器モードがスレーブ状態であるスレーブ機器と共にドメインを形成するマスタ機器において、前記ドメインに接続する機器の認証及び機器モードの判別を行い、スレーブ機器リストを生成及び変更し、前記接続機器が前記スレーブ機器リストに存在しているか否かを判別する被制御機器管理部と、前記ドメインを識別できるドメインIDを生成し、前記マスタ機器と前記接続機器とのドメインIDを比較するドメインID管理部と、前記ドメインの構成変動によって変動する前記マスタ機器のセッションIDを、前記接続機器のセッションIDと比較するセッションID管理部と、前記ドメインの構成変動によって変動するドメインキーを生成し、前記ドメインID管理部の比較結果一致し、前記セッションID管理部の比較結果一致せず、前記被制御機器管理部の判別結果、前記接続機器が前記スレーブ機器リストに存在すれば、前記マスタ機器のドメインキーを前記接続機器に提供するドメインキー管理部とを備えるマスタ機器を提供する。
【0037】
前記のような目的を達成するために、本発明の他の態様は、スレーブ状態及びゲスト状態を機器モードとして有しうる一つ以上の被制御機器のうち、機器モードがスレーブ状態のスレーブ機器と共にドメインを形成するマスタ機器による被制御機器の管理方法において、(a)前記ドメインに接続する機器を認証するステップと、(b)前記認証が成功すれば、前記接続機器の機器モードを判別するステップと、(c)前記ステップ(b)の判別結果、前記接続機器の機器モードがスレーブ状態である場合には、前記ドメインの構成変動によって変動する前記マスタ機器のセッションIDを、前記接続機器のセッションIDと比較するステップと、(d)前記ステップ(c)の比較結果、一致しなければ、スレーブ状態である被制御機器を表すスレーブ機器リストに前記接続機器が存在しているかを判別するステップと、(e)前記ステップ(d)の判別結果、存在すれば、前記ドメインの構成変動によって変動する前記マスタ機器のドメインキーを前記接続機器に提供するステップとを含む被制御機器の管理方法及びこの方法を実行するプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【0038】
このとき、少なくとも前記(c)ステップ以前に前記ドメインを識別でき、前記ドメインの構成機器により共有されるドメインIDと前記接続機器のドメインIDとを比較するステップをさらに含むが、前記ステップドメインIDが一致しなければ、後続ステップを進行させないことが望ましい。
【図面の簡単な説明】
【0039】
【図1】一般的なドメイン管理の構造を示す図である。
【図2】従来のマスタ−スレーブ構造によって‘xCP Cluster Protocol’を基盤とするコンテンツ再生過程を示すフローチャートである。
【図3】公開キー基盤構造のドメインの形成方法を示すフローチャートである。
【図4】本発明の実施形態に係るドメインの形成方法をUPnPに適用した例を示すブロック図である。
【図5】コントロールポイントと被制御機器との間に行われる一般的なUPnP動作を示す図である。
【図6】本発明の実施形態に関連してマスタ機器を定める過程を示すフローチャートである。
【図7】図6の過程に続く機器認証過程を示すフローチャートである。
【図8】図7の過程に続くスレーブ機器を定める過程を示すフローチャートである。
【図9A】コントロールポイントが提供するユーザインターフェース画面の構成例である。
【図9B】コントロールポイントが提供するユーザインターフェース画面の構成例である。
【図9C】コントロールポイントが提供するユーザインターフェース画面の構成例である。
【図10】本発明の実施形態に関連して、マスタ機器を定める他の過程を示すフローチャートである。
【図11】図10の過程に続く機器認証過程を示すフローチャートである。
【図12】図11の過程に続くスレーブ機器を定める過程を示すフローチャートである。
【図13】本発明の実施形態に係る、ドメインキーの生成過程を示すフローチャートである。
【図14】スレーブ機器の連結/切断によるドメインの状態を説明するための図である。
【図15】スレーブ機器の連結/切断による他のドメインの状態を説明するための図である。
【図16】本発明の実施形態によって、ドメインに新たに接続する機器に対する処理過程を示すフローチャートである。
【図17】本発明の実施に係るコントロールポイントのブロック図である。
【図18】は本発明の実施形態に係るマスタ機器のブロック図である。
【発明を実施するための形態】
【0040】
以下では、添付された図面を参照して、本発明の実施形態を説明する。
【0041】
図3は、公開キー基盤構造のドメインの形成方法を示すフローチャートである。以下の説明のために、コンテンツを提供するサーバに対してコンテンツを要請する各種の機器は、機器製造時にそれぞれの機器ごとに固有の秘密キーの集合及び公開キーまたは公開キーの生成機能を有していると仮定する。このとき、前記秘密キーの集合は、ブロードキャスティング暗号方式を通じて提供される秘密情報ブロック(Secret Information Block;SIB)から秘密値の抽出に使用される。前記SIBは、機器の廃棄如何を検証するための情報であって、廃棄処分された機器は、SIBから意図された秘密値を抽出できず、正当な機器は、共通された秘密値を抽出できる。
【0042】
単一のドメイン内には、ドメインの形成に関与するサーバ320が存在するが、サーバ320は、外部サーバ310からブロードキャスト暗号方式によりSIBを伝達される(S332)。その後、ドメイン内にある機器330が有線または無線ネットワークを通じて自身の存在をサーバ320に知らせるか、またはサーバ320が機器330を探すことによって、サーバ320が機器330の存在を認識する(S334)。
【0043】
サーバ320は、自身が認識した機器330をディスプレイ装置を通じてユーザに提供し、ユーザは、前記ディスプレイ装置を通じて表れた機器のうち、ドメインに登録しようとする機器330を選択する(S336)。その後、サーバ320は、ユーザにより選択された機器330に対して外部サーバ310から既受信したSIBを伝達し(S338)、前記SIBを受信した機器330は、前記SIBから秘密値を抽出し(S340)、前記抽出された秘密値を利用して、自身の公開キーについての認証書を作成する(S342)。
【0044】
機器330が前記認証書、機器の固有識別子(ID)及び機器自身が有している公開キーをサーバ320に伝達すれば(S344)、サーバ320は、認証書を検証することによって、機器の正当性を検証し(S346)、認証された機器の固有識別子(ID)及び公開キーを記録した認証リストを作成する(S348)。このとき、認証可能な機器の数は、ユーザにより任意に制限してもよい。
【0045】
サーバ320が認証リストを作成した後、前記認証リストにある機器についての情報及びサーバ自身が生成した乱数を利用して、固有のドメインID及びドメインキーを生成する(S350)。このとき、前記ドメインキーは、ユーザの選択により形成されたドメインに属する機器のみが共有する秘密キーであって、前記ドメインを構成する機器が変更される度に共に変更され、前記ドメインIDは、他のドメインと区別するための識別子として使用される。
【0046】
サーバ320は、ドメイン内にある認証された機器330にそれぞれの機器の公開キーを利用して、前記ドメインID及び前記ドメインキーを暗号化して伝達し(S352)、前記機器330は、自身の秘密キーを利用して前記ドメインキーを復旧することによって(S354)、コンテンツを利用するためのドメインが形成される。コンテンツ共有のためのドメインが形成されれば、サーバ320は、コンテンツをコンテンツキーにより暗号化し、前記コンテンツキーは、前記ドメインキーにより暗号化される。暗号化されたコンテンツは、コンテンツを利用しようとする機器がドメインキーを利用して復号化することによって、コンテンツを利用できる。
【0047】
図4は、本発明に係るドメインの形成方法をUPnPに適用した例を示すブロック図である。図1と同じ構成要素については、同じ参照符号を使用する。それぞれの被制御機器(Controlled Device:以下、‘CD’とも称す)110ないし160は、コントロールポイント(Control Point:以下、‘CP’とも称す)190によって命令をやり取りし、各機器が有するサービスを提供する。被制御機器110ないし160のうち何れか一つの機器をマスタキー機器110として設定し、それ以外の機器のうち、ユーザが選択した機器をスレーブ機器120、130、140として設定して、ドメインを形成できる。
【0048】
被制御機器のうち、マスタやスレーブとして設定されない、すなわち、ドメインに含まれていない機器150、160は、ゲストと命名する。マスタ機器110及びスレーブ機器120ないし140は、認証されたホームドメインを形成し、CP 190及び被制御機器110ないし160全体は、ホームネットワーク200を形成する。
【0049】
図5は、CP 190とCD 120ないし160との間で行われる一般的なUPnP動作を示す図である。まず、アドレス指定ステップが行われる。UPnPネットワーキングの基盤は、TCP/IPプロトコルであり、このプロトコルの核心は、アドレスの指定機能である。各機器は、動的ホスト構成プロトコル(Dynamic Host Configuration Protocol;DHCP)クライアントを有さねばならず、機器が、最初にネットワークに連結されれば、DHCPサーバを検索する。もし、DHCPサーバがあれば、該当機器は、割当てられたIPアドレスを使用する。もし、使用可能なDHCPサーバがない場合には、機器は、アドレスを確保するために、‘自動IP’を使用する。
【0050】
次いで、ディスカバリーステップである。一旦、機器がネットワークに連結され、適切なアドレスが指定されれば、検索作業が進み得る。検索作業は、SSDP(Simple Service Discovery Protocol)を利用して処理する。機器がネットワークに追加されれば、SSDPは、この機器が提供するサービスを、ネットワーク上にあるコントロールポイントに知らせる役割を行う。
【0051】
UPnPネットワーキングの次のステップは、ディスクリプションステップである。コントロールポイントが機器を検索したとしても、コントロールポイントは、相変らず機器について知っている情報が非常に少ない。このコントロールポイントが機器及び機器の機能についての情報を詳細に把握して相互作用を行おうとするには、コントロールポイントは、検索メッセージと該当する機器が提供するURLから機器の説明内容を確認せねばならない。機器についてのUPnPの説明は、XMLで表現されており、供給メーカ固有の製造情報(モデル名、シリアルナンバー、メーカ名、メーカのURL等)を含んでいる。この説明は、また、制御、イベント及びプレゼンテーションのためのURLだけでなく、多くの内蔵された機器及びサービスに関するリストも含んでいる。
【0052】
前記アドレスの指定、検索、デスクリプションのステップ以後には、本格的なUPnP動作ステップが行われる。このようなステップは、制御、イベント作業及びプレゼンテーションなどの動作を通じて行われる。前記制御動作を見れば、コントロールポイントは、機器のデスクリプションを確保した後に、機器制御のための必須作業を行う。機器を制御するために、コントロールポイントは、機器のサービスに動作命令を送る。そのために、コントロールポイントは、適切な制御メッセージを該当サービスについての制御URL(機器説明書にある)に送る。制御メッセージも、SOAP(Simple Object Access Protocol)を使用して、XMLで表現される。該当サービスは、この制御メッセージに対する応答として、特定の動作値や障害コードを提供する。
【0053】
また、前記イベント作業の動作を見れば、各機器は、前述した命令を受けて、自身の状態の変化が発生すれば、これをイベントメッセージを通じてコントロールポイントに知らせる。このようなメッセージは、1個以上の状態変数名及びそれらの変数の現在値を含んでおり、XML形式で表現され、GENA(Generic Event Notification Architecture)を通じてフォーマットされる。イベントの内容は、周期的に更新されて持続的にコントロールポイントに通報され、GENAを使用して加入を取り消してもよい。
【0054】
そして、前記プレゼンテーション動作を見れば、もし、機器がプレゼンテーション用URLを有していれば、コントロールポイントは、このURLを通じてページを検索でき、このページをブラウザーにロードでき、ユーザは、前記ページを利用して機器を制御するか、または機器状態を照会できる。この機能を行えるレベルは、プレゼンテーションページ及び機器の特定の機能による。
【0055】
図6は、UPnP基盤のホームネットワークの形成過程のうち、マスタ機器を定める過程を示す。まず、全体被制御機器110ないし160が、コントロールポイント190にSSDPを利用して、自身がホームネットワークに連結されたことを知らせる(S601)。それにより、コントロールポイント190は、機器110ないし160から機器情報及びDRM情報をHTTPを通じて得る(S602)。前記機器情報は、UPnPで使用する一般的な機器情報を意味し、前記DRM情報は、機器属性及び機器モードを意味する。ここで、機器属性は、被制御機器がenmasterableであるか、またはdismasterableであるかを決定する値であって、被制御機器が、ドメインマスタとして作動できるか否かを知らせる情報である。そして、機器モードは、マスタ、スレーブ、ゲストのうち、現在、何なるもので動作しているかを決定する値である。初期に、被制御機器は、何れもゲストとして設定されており、以後、マスタやスレーブとして設定されれば、前記機器モード値が変更される。
【0056】
前記DRM情報のうち、機器モードでマスタとして動作する被制御機器の存否を判断して、マスタとして動作する機器がない場合には、enmasterableである被制御機器の一つをマスタとして選択する(S603)。このようなマスタを設定することは、コントロールポイント190のユーザインターフェースを通じて、ユーザが直接選択する過程を通じて行われる。前記ユーザインターフェースの例を図9Aに示す。前記ユーザインターフェースでは、マスタとして動作できる機器‘main nexus’及び‘sub nexus’を表しており、それらは、現在ゲストとして設定されている。この機器のうち、ユーザがマスタとして設定しようとする機器をチェックすればよい。本例では、被制御機器1110がマスタとして決定された。
【0057】
次いで、コントロールポイント190は、SOAPを通じて前記マスタとして設定された被制御機器1110からマネージャ認証情報を得る(S604)。このようなマネージャ認証情報は、例えば、マスタ機器のスマートカードから得られ、前記マスタとして決定したユーザが、マネージャであるか否かを確認する手続で必要である。コントロールポイント190では、前記マネージャ認証情報を利用してユーザインターフェースを出力し、ユーザからマネージャID及びパスワードを入力される方式でマネージャ認証を行う(S605)。図9Bには、このようなユーザインターフェースの例が示されている。
【0058】
マネージャ認証を経た後、コントロールポイント190は、被制御機器1110をドメインマスタとして設定し、コントロールポイント自身が有していた機器リストを被制御機器1110に提供する(S606)。以後には、被制御機器1110の機器モード値は、‘マスタ’となる。マスタとして設定された機器110は、初期には自身のみを構成機器とする新たなドメインを生成する(S607)。
【0059】
図7は、図6のマスタ機器を定める過程に続く機器認証過程を示す。まず、ドメインマスタ110で、前記頭3の説明過程と同じ方法で外部のサーバを通じて新たなSIBを伝達される(S711)。それにより、コントロールポイント190は、残りの被制御機器120ないし160に、SOAPを利用して前記SIBが保存されたURL情報を伝達する(S712)。前記残りの被制御機器120ないし160は、前記URLに存在するSIBを、HTTPを通じて得る(S713)。そして、前記得たSIBを利用して秘密値を抽出し、前記秘密値と、自身が有している機器ID及び公開キーとを利用して認証書を生成する(S714)。このような認証書は、不法機器を区別するためのものであって、例えば、特定のメーカが生産する機器のみを合法的な機器として認める認証政策を維持するならば、そのメーカ以外のメーカが生産した機器は、不法機器として見なされる。
【0060】
その後、コントロールポイント190が、マスタ機器110に前記認証書が保存されたURL情報をSOAPを通じて伝達すれば(S715)、マスタ機器110は、前記残りの被制御機器120ないし160から、HTTPを利用して認証書、機器ID及び公開キーを得る(S716)。そして、前記得た認証書を検証して、認証機器についてのリストを作成する(S717)。このように、認証書を検証して、不法な機器として見なされた機器は、以後、ドメインから除かれ、スレーブ機器として指定される可能性がない。
【0061】
図8は、図7の機器認証過程に続くスレーブ機器を定める過程を示す。まず、コントロールポイント190は、前記認証書の検証結果、合法的な機器として認証された機器120ないし140を対象として、SOAPを利用してドメイン属性を検証する(S821)。前記ドメイン属性には、ドメインキー、ドメインに属する機器の名称、ドメインに属する機器の数などが該当される。もし、前記機器にドメイン属性が存在していない場合には、コントロールポイント190は、前記機器のリストをユーザインターフェースを通じてディスプレイし(S822)、ユーザをしてスレーブ機器を選択させる(S823)。図9Cには、合法的な機器120ないし140のリストを表したユーザインターフェースの例を表した。ユーザは、それらのリストのうち、ドメインに含めようとする機器をチェックすることによって、スレーブ機器を選択できる。このようなスレーブ機器は、マスタ機器とは異なり、複数の機器が選択されてもよい。この後、図6でのマスタ選択過程と同様に、マネージャ認証情報を得て(S824)、マネージャ認証を行う過程(S825)を経る。
【0062】
次いで、コントロールポイント190は、前記リストのうち選択されたスレーブ機器のリストを、SOAPを通じてマスタ機器110に伝達する一方(S826)、SOAPを通じて前記選択された機器をスレーブモードとして設定する(S827)。スレーブモードとして設定された機器は、以後には機器モード値を‘スレーブ’として有する。その後、マスタ機器110は、前記スレーブリストを利用してドメインID及びドメインキーを生成する(S828)。そして、スレーブ機器に対する公開キーを利用して、ドメインID及びドメインキーを暗号化する(S829)。また、マスタ機器110は、スレーブとして選択された機器についてのスレーブ機器リストを保存する。
【0063】
次いで、コントロールポイント190は、ドメイン属性値を保存しているマスタ機器のURL情報を、SOAPを通じて前記スレーブとして設定された機器に伝達する(S830)。それにより、前記スレーブとして設定された機器が、前記URLに存在するドメイン属性を、HTTPを通じて得る(S831)。前述したように、前記ドメイン属性は、ドメインキー、ドメインに属する機器の名称、ドメインに属する機器の数などの情報を含む。
【0064】
図10ないし図12は、図6ないし図8とは異なり、コントロールポイント190の機能のうち、重要な部分を離してマスタ機器110に移した場合の動作過程を示すフローチャートである。このとき、コントロールポイント190は、ユーザインターフェースに関連したことを処理するように機能を限定する。結局、マスタ機器110は、被制御機器としての機能及びコントロールポイントとしての機能のうち、コントロールポイント190が有する機能以外の機能をさらに有する。結果的に、コントロールポイント190の役割が相当減り、もし、コントロールポイント190が不法機器である場合にも、保安上の問題点が発生させない。また、マスタ機器にユーザインターフェースが存在しなくても問題がない。
【0065】
図10は、マスタ機器を定める過程を示す図であって、この過程中である機器1110は、単に被制御機器としてのみ動作するので、図6での動作と同じである。
【0066】
図11は、図10のマスタ機器を定める過程に続く機器認証過程を示す図である。まず、コントロールポイント190は、マスタ機器110にSOAPを通じて機器認証過程が開始されることを知らせる(S1101)。本過程で、マスタ機器110は、CDとして動作する。それにより、マスタ機器110(CPで動作)は、残りの被制御機器120ないし160に、SOAPを利用して前記SIBを直接伝達する(S1102)。それにより、前記残りの被制御機器120ないし160は、前記得たSIBを利用して秘密値を抽出し、前記秘密値と自身が有している機器ID及び公開キーとを利用して認証書を生成する(S1103)。
【0067】
その後、前記残りの被制御機器120ないし160は、マスタ機器110(CPで動作)に、SOAPを利用して前記認証書、機器ID及び公開キーを直接伝達する(S1104)。それにより、マスタ機器110は、前記伝達された認証書を検証し、各機器に対する認証リストを作成する(S1105)。このように、認証書を検証して、不法な機器として見なされた機器は、以後にドメインから除かれ、スレーブ機器として指定される可能性がない。そして、マスタ機器110(CDとして動作)は、GENAを利用してコントロールポイント190に、前記検証した機器のIDをイベントメッセージで通知する(S1106)。それにより、コントロールポイント190は、SOAPを利用して前記機器の検証結果をマスタ機器110(CDとして動作)から得た後(S1107)、ユーザインターフェースを通じて、検証結果機器が不法であるか否かを外部に表示する(S1108)。
【0068】
図12は、図11の機器認証過程に続くスレーブ機器を定める過程を示す図である。まず、コントロールポイント190は、前記認証書の検証結果、合法的な機器として認証された機器120ないし160を対象として、SOAPを利用してドメイン属性を検証する(S1201)。もし、前記機器にドメイン属性が存在していない場合には、コントロールポイント190は、前記機器のリストをユーザインターフェースを通じてディスプレイし(S1202)、ユーザをしてスレーブ機器を選択せしめる(S1203)。図9Cでは、合法的な機器のリストを表すユーザインターフェースの例を示した。ユーザは、それらのリストのうち、ドメインに含めようとする機器をチェックすることによって、スレーブ機器を選択できる。以後、前記図6でのマスタの選択過程と同様に、マネージャ認証情報を得て(S1204)、マネージャ認証を行う過程(S1205)を経る。
【0069】
次いで、コントロールポイント190がマスタ機器110(CDとして動作)に、前記リストから選択されたスレーブ機器120ないし140のリストを、SOAPを通じて伝達する(S1206)。その後、マスタ機器110は、ドメインID及びドメインキーを生成する(S1207)。一方、ドメインIDは、他のドメインとの識別に利用されるものであって、該当ドメインに固有のものであれば、いかなるものでもよい。したがって、ドメインIDは、乱数生成器から生成された乱数であるか、またはスレーブ機器の機器IDと任意の乱数とを合成した値のハッシュ値であってもよく、特定の方法に限定されて生成されるものではない。また、ドメインキーは、ドメインIDと同様に、乱数生成器から生成された乱数であるか、またはスレーブ機器の機器IDと任意の乱数とを合成した値のハッシュ値となりうる。しかし、ドメインキーは、ドメインの構成機器の変動によって変動されるものであるので、スレーブ機器の機器IDを利用して生成されることがさらに望ましい。
【0070】
次いで、ドメインID及びドメインキーが生成されれば、スレーブ機器に対する公開キーを利用して、ドメインID及びドメインキーを暗号化する(S1208)。マスタ機器110(CPとして動作)は、直接SOAPを通じて前記選択された機器をスレーブモードとして設定し、前記設定された機器のドメイン属性を伝達する(S1209)。また、マスタ機器110は、スレーブとして選択された機器に対するスレーブ機器リストを保存する。
【0071】
図13は、本実施形態によって現在生成されている認証されたドメインにゲストであった被制御機器150、160が、スレーブとして追加される場合の動作を示すフローチャートである。また、図13は、コントロールポイントの重要な機能がマスタ機器に移され、コントロールポイントは、主にユーザインターフェース機能のみを行う場合の動作を示す。
【0072】
スレーブ機器を追加するために、ユーザが、コントロールポイント190が提供するユーザインターフェースを通じてスレーブ機器追加メニューを選択すれば、コントロールポイント190は、前記認証書の検証結果、合法的な機器として認証された機器120ないし160を対象として、SOAPを利用してドメイン属性を検証する(S1201)。もし、前記機器にドメイン属性が存在していない機器150、160が存在する場合に、この機器のリストを、ユーザインターフェースを通じてディスプレイし(S1302)、ユーザをしてスレーブ機器を選択せしめる(S1303)。ユーザは、図9Cのようなユーザインターフェース画面を通じて、合法的に認証された機器のうち、ゲスト状態である機器をチェックすることによってスレーブ機器を選択できる。以後、前記図6でのマスタ選択過程と同様に、マネージャ認証情報を得て(S1304)、マネージャ認証を行う過程(S1305)を経る。
【0073】
次いで、コントロールポイント190がマスタ機器110に、前記リストから選択されたスレーブ機器150、160のリストを、SOAPを通じて伝達する(S1306)。その後、マスタ機器110は、以前にスレーブ機器として選択された機器120ないし140のリストと、現在新たにスレーブ機器として選択されたスレーブ機器150、160の機器情報(例えば、機器ID)とを利用して、新たなドメインキーを生成する(S1307)。すなわち、ドメインキーは、ドメインの構成機器が共有せねばならない秘密キーであるので、ドメインの構成機器の情報を利用して生成されることが望ましく、したがって、ドメインの構成機器の変更によって新たなドメインキーを生成する。このとき、ドメインIDは、外部ドメインとの識別のための識別子であるので、マスタ機器110が変わらない限り変わらない。そして、スレーブ機器に対する公開キーを利用して、新たなドメインキーを暗号化する(S1308)。マスタ機器110は、直接SOAPを通じて、前記選択された機器をスレーブモードとして設定し、新たなドメインキーを含む新たなドメイン属性をスレーブ機器に伝達する(S1309)。
【0074】
以上、認証されたドメインに新たなスレーブ機器を追加する過程を説明したが、スレーブとして設定されていた機器を認証されたドメインから脱退させるために、ユーザは、コントロールポイント190が提供するユーザインターフェース画面を通じて機器の脱退を選択できる。このときにも、図13に示す過程と同様に脱退したスレーブ機器を、マスタ機器110のスレーブ機器リストから削除し、残りのスレーブ機器の情報を利用して、新たなドメインキーを生成する。
【0075】
一方、本明細書で追加及び脱退という用語は、スレーブ機器がコントロールポイントを通じたユーザの許可によってスレーブリストを変更することによって、ドメインの構成が変更される場合を表す。したがって、追加及び脱退は、コントロールポイントを通じたユーザの許可によらずに、スレーブ機器がコントロールポイントに物理的に付加されるか、またはスレーブ機器の電源が‘オン’になる場合のように、スレーブ機器がドメインに連結されることと、コントロールポイントを通じたユーザの許可によらずに、スレーブ機器がコントロールポイントから物理的に分離されるか、またはスレーブの機器の電源が‘オフ’になる場合のように、スレーブ機器がドメインから切断されることとに区別される。
【0076】
一方、認証されたドメインのスレーブ機器(例えば、120ないし140)のうち、スレーブ機器120が脱退し、その間に他のゲスト機器(例えば、150、160)のうち、ゲスト機器150が認証されたドメインにスレーブ機器として追加された場合には、スレーブ機器の追加によって、図13のような過程を経て、新たなドメインキーを生成すればよく、脱退したスレーブ機器120が、再びドメインに追加される場合には、スレーブ機器120の機器情報を反映して、新たなドメインキーを生成すればよい。しかし、スレーブ機器の追加及び脱退は、ユーザの意思によって決定されるものであって、あまり頻繁に発生する状況ではないが、例えば、スレーブ機器が電子製品である場合には、電源のオン/オフ(すなわち、連結/切断)が頻繁に発生するため、その度にドメインキーを変更することは面倒なだけでなく、システムにも負担になる。
【0077】
したがって、本発明は、スレーブ機器の追加/脱退及び連結/切断の状況を区分するための識別子として、‘セッションID’を導入した。セッションIDは、スレーブ機器の追加/脱退によって変動され、スレーブ機器の連結/切断によっては変動されず、マスタとスレーブが共有する。また、セッションIDは、ドメインIDと同様に、ランダムに生成されるか、またはドメインの構成機器の情報を利用して生成され、スレーブ機器の公開キーで暗号化してスレーブ機器に伝達されることが望ましい。また、セッションIDは、固有ID、日付情報及びバージョン情報などを含みうる。
【0078】
一方、スレーブ機器がドメインに連結または切断される状況により、いくつかの考慮すべき問題がある。
【0079】
図14に示すように、スレーブ機器S1が、コントロールポイントCPから切断され、所定時間以後に再びコントロールポイントCPに連結される場合には、切断時及び連結時にマスタ機器M及びスレーブ機器S1、S2、S3が共有するセッションID及びドメインキーの変動がないので、スレーブ機器S1は、切断される前のドメインキーを利用して、コンテンツを利用できる。
【0080】
しかし、図15に示すように、スレーブ機器S1がコントロールポイントCPから切断された状態で、他のスレーブ機器S4がドメインに追加された場合には、マスタ機器M及びスレーブ機器S1、S2、S3、S4が共有するセッションID及びドメインキーが変更されるため、スレーブ機器S1が再びドメインに連結される場合に、スレーブ機器S1は、ドメインが共有しているコンテンツを良好に再生または利用できなくなる。したがって、マスタ機器Mは、新たにドメインに連結される機器のセッションIDとマスタ機器のセッションIDとを比較して、セッションIDが一致していない場合には、スレーブ機器S4の追加時に新たに生成されたドメインキーDK2をスレーブ機器S1に伝達する。また、スレーブ機器S1が切断される間にスレーブ機器S2が脱退する場合にも、マスタ機器Mの細線ID及びドメインキーが変更されるため、図15と同じ手続が進行される。コントロールポイントCPは、所定の機器が連結される場合に、これを感知して、その機器のセッションIDをマスタ機器Mに伝達する役割を行い、マスタ機器Mからの情報をドメインの構成機器に伝達する役割を行う。
【0081】
一方、マスタ機器Mに保存されているスレーブリストは、ユーザがコントロールポイントを通じて変更しない限り、スレーブ機器の連結及び切断時には変更されない。したがって、スレーブ機器S1が切断された間に、ユーザが、スレーブ機器S1をスレーブリストから削除したなら、スレーブ機器S1は、スレーブ機器の地位を喪失する。しかし、切断されたスレーブ機器S1は、相変らず機器モードがスレーブ状態として設定されているため、スレーブ機器S1が再び連結される場合に、マスタ機器Mは、セッションID以外にもスレーブリストにスレーブ機器S1が存在しているかも検査して、スレーブリストに存在していない機器の機器モードをゲストモードに変更する必要がある。それとも、実質的にゲスト状態であるスレーブ機器S1が、ユーザの許可なしに新たなドメインキーを共有してシステム全体の構造が崩壊される。
【0082】
図16には、ドメインに新たに連結される機器に対する処理過程を示す。コントロールポイントがドメインに連結される新たな機器を発見すれば(S1601)、図7のような機器認証過程を経て(S1603)、認証が失敗すれば、連結された機器を不法機器と見なして手続を終了し、認証が成功すれば、連結された機器の機器モードがスレーブ状態であるかを確認する(S1605)。
【0083】
連結された機器の機器モードがゲスト状態である場合には、以後の手続進行が無意味であるので手続を終了し、連結された機器のモードがスレーブ状態である場合には、マスタ機器とセッションIDとが同じであるかを判断する(S1607)。もし、連結された機器のセッションIDが、マスタ機器とセッションIDとが同じであれば、ドメインキーも変更がないため、それでも手続を終了する。しかし、セッションIDが同じではなければ、マスタ機器が保有したドメインキーと、連結された機器が保有したドメインキーとが同じではないという意味であるため、新たなドメインキーを連結された機器に伝達する必要がある。しかし、マスタ機器と連結された機器とのセッションIDが同じではないといって、直ぐ連結された機器に新たなドメインキーを伝達することは、前述したように、実質的に機器モードがゲスト状態である機器をスレーブ機器として認めることになるため、連結された機器が、マスタ機器Mが保有しているスレーブリストに存在するかを検査せねばならない(S1609)。
【0084】
検査結果、連結された機器がスレーブリストに存在すれば、連結された機器は、スレーブ機器としての地位をそのまま維持していると見なされるため、新たなドメインキーを連結された機器に伝送し(S1611)、そうでない場合には、連結された機器の機器モードをゲストに変更する(S1613)。機器モードがゲストに変更された連結された機器は、図8と同じ過程を経てスレーブ機器として選択されうる。
【0085】
一方、スレーブ機器がいくつかのドメインに参加できるマルチドメイン政策を取る場合には、セッションIDを比較する前にドメインIDを比較することによって、該当ドメインIDを保有していない連結された機器に対しては、後続手続(S1605ないしS1611)を進行する必要なしに手続を終了してもよい。また、マルチドメイン政策を取らず、スレーブ機器が一つのドメインIDのみを有しうる場合にも、他のドメインに参加して、ドメインIDが変更された機器に対しても後続手続(S1605ないしS1611)を進行する必要なく手続を終了してもよい。したがって、この場合には、少なくともステップ(S1607)以前に、連結された機器のドメインIDと現在ドメインのドメインIDとを比較するステップを追加する。
【0086】
前述したように、セッションIDは、固有ID以外にも日付情報及び/またはバージョン情報をさらに含んでもよい。セッションIDに日付情報やバージョン情報を含めば、過去のセッションIDと現在のセッションIDとをさらに明らかに区別でき、このような情報を利用して多様なサービスを提供できる。例えば、マスタ機器が切断されたとき、コントロールポイントは、スレーブ機器等のセッションIDの日付情報及びバージョン情報を確認するが、このとき、ドメインIDは同じであり、セッションIDが異なる場合には、スレーブ機器が切断されている間にドメインの構成が変更されたということが分かる。したがって、マスタがドメインにない場合にも、日付情報やバージョン情報を利用して、最新のセッションID及びドメインキーを有しているスレーブ機器を利用して、残りのスレーブ機器のセッションID及びドメインキーを変更できる。
【0087】
図17には、本発明が適用される図4に示すコントロールポイント190の構成例が示されている。コントロールポイント190は、ユーザに図9Aないし図9Cのようなユーザインターフェースを提供するためのユーザインターフェース提供部192と、コントロールポイント190に接続する機器の動作に必要な情報をマスタ機器及びスレーブ機器に提供する機器動作情報提供部194と、コントロールポイント190に接続する機器を検出するための機器検出部196とを備える。
【0088】
インターフェース提供部192は、ユーザインターフェース画面に機器リストの表示及び機器認証結果の表示を行う。ユーザは、ユーザインターフェース提供部192が提供するユーザインターフェースを通じて、マスタ機器及びスレーブ機器の選択、そして、スレーブリストの変更などを行え、機器認証結果によってマスタ機器に不法機器リストを保存してもよい。機器動作情報提供部194は、図6ないし図8及び図10ないし図12に示すように、機器等の動作に必要な情報を機器に伝達する。機器検出部196は、コントロールポイント190に連結または切断される機器を探知して、該当機器の情報を機器動作情報提供部194に伝達し、機器動作情報提供部194は、例えば、この情報を機器に伝達することによって、図16に示す手続を行わせる。
【0089】
図18には、本発明が適用される図4に示すマスタ機器110の構成例が示されている。マスタ機器110は、コントロールポイント190を通じてマスタ機器110に接続した被制御機器の認証、機器モードの判別及びスレーブ機器リストの管理などを行う被制御機器管理部113と、ドメインIDの生成及びドメインに接続する機器のドメインIDの検査などを行うドメインID管理部115と、セッションIDの生成、変更及びドメインに接続する機器のセッションIDの検査などを行うセッションID管理部117と、ドメインキーの生成、変更及びスレーブ機器へのドメインキーの提供などを行うドメインキー管理部119とを備える。
【0090】
被制御機器管理部113は、図7または図11のフローチャートによってドメインに接続する被制御機器の認証を行って、図16のステップ(S1603)で機器認証の成敗を判断する。このとき、認証が失敗すれば、接続された被制御機器を不法機器と見做して、不法機器リストに別に保存できる。また、被制御機器管理部113は、図16のステップ(S1605)でドメインに接続する被制御機器の機器モードがスレーブ状態であるか、またはゲスト状態であるかを判別する。このとき、スレーブ状態ではなければ、エラー信号を出力し、ユーザは、エラー信号によって接続された被制御機器を正常的な手続によって、スレーブ機器として再び登録するか、またはそのまま放置してもよい。また、被制御機器管理部113は、コントロールポイントを通じたユーザの指示によって、スレーブ機器リストを作成及び変更し、図16のステップ(S1609)では、マスタ機器110とセッションIDとが一致していない接続機器が、スレーブ機器リストに存在しているかを判別して、存在しなければ接続機器の機器モードをゲストに変更するように接続機器を制御する。
【0091】
ドメインID管理部115は、ドメインIDを生成してドメインの構成機器に提供し、ドメインに新たな被制御機器が接続した場合には、少なくとも、図16のステップ(S1607)以前にマスタ機器110のドメインIDと、ドメインに接続した被制御機器のドメインIDとを比較して、一致しなければ、エラー信号を出力し、ユーザは、エラー信号によって所定の処理を行う。
【0092】
セッションID管理部117は、セッションIDを生成し、スレーブ機器リストの変動によって、新たなセッションIDを生成し、図16のステップ(S1607)では、ドメインに接続した機器とマスタ機器110のセッションIDとを比較して、セッションIDが一致しなければ、該当接続機器にマスタ機器110のセッションIDを提供する。
【0093】
ドメインキー管理部119は、ドメインキーを生成し、ドメインの構成変動によって新たなドメインキーを生成し、生成されたドメインキーをスレーブ機器に提供する。
【0094】
以上、本発明についてその望ましい実施例を中心に説明した。当業者は、本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態で具現され得るということを理解できる。したがって、開示された実施例は、限定的な観点ではなく、説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異点は、本発明に含まれたものと解釈されねばならない。
【産業上の利用可能性】
【0095】
本発明によれば、ユーザが直接ドメインの形成を制御し、外部と独立したドメインをさらに安全に構築できる。
【0096】
また、本発明によれば、既存の標準インターネットプロトコルを使用するネットワークにスムーズに統合可能なUPnP基盤のホームネットワークシステムを具現できる。
【0097】
また、本発明によれば、ホームネットワークのドメインの構成機器の変動をユーザが直接制御し、構成機器の変動による新たなドメインキーの生成をマスタ機器が担当し、スレーブ機器は、マスタ機器で生成されたドメインキーを伝達されるようにすることによって、ドメイン構成変更によるドメインキー変更の手続を簡素化する効果がある。
【0098】
また、本発明によれば、ドメインID及びドメインキー以外にも、ドメインが共有する情報としてセッションIDを導入することによって、頻繁に発生するスレーブ機器の連結/切断時にはメインキーを変更しないことによって、頻繁なドメインキーの変更を防止できる。
【符号の説明】
【0099】
200 ホームネットワーク
100 認証されたホームドメイン
110〜160 機器
190 コントロールポイント
192 ユーザインターフェース
194 機器動作情報提供部
196 機器検出部
113 被制御機器管理部
115 ドメインID管理部
117 セッションID管理部
119 ドメインキー管理部
【技術分野】
【0001】
本発明は、ホームネットワークのドメインに存在する機器の管理方法に係り、特に、ユーザインターフェースを通じてユーザが直接ドメインの構成機器の加入及び脱退などを制御し、ドメインの構成機器の変動を効果的に制御できるホームネットワークシステム及び管理方法に関する。
【背景技術】
【0002】
最近、ホームネットワークに対する関心が高まりつつ、ホームネットワーク上でコンテンツを保護するための技術が提案されているが、トムソン社で提案した‘SmartRight’、シスコ社で提案した‘OCCAM(Open Conditional Content Access Management)’、IBM社で提案した‘xCP Cluster Protocol’のようなものが代表的な例であると言える。
【0003】
‘SmartRight’は、ホームネットワークを構成するそれぞれの機器ごとに公開キー認証書を含んでいるスマートカードを備えて、このスマートカードを利用して機器相互間に前記認証書を交換することによって、ホームネットワークのためのキーを生成する方式である。
【0004】
‘OCCAM’は、ホームネットワーク内の機器がそれぞれのコンテンツについての固有のチケットを利用してコンテンツを使用する方式である。
【0005】
‘xCP Cluster Protocol’は、ブロードエンクリプション基盤の技術であって、クラスタというドメイン概念を導入して、このクラスタに属した機器間には、コンテンツを自由に使用させる方式である。
【0006】
図1には、マスタ機器110及びスレーブ機器120、130、140から構成された、認証されたホームドメイン100が例示されており、マスタ機器110とスレーブ機器120、130、140との間にドメイン管理を行う。
【0007】
このようなマスタ−スレーブ構造によって、‘xCP Cluster Protocol’を基盤とするコンテンツの再生過程を図2を参照して説明する。図2によるコンテンツの再生過程は、大きくクラスタ形成過程(S200)、機器認証過程(S210)、コンテンツ暗号化過程(S220)及びコンテンツ復号化過程(S230)に分けられ、細部的に説明すれば、次の通りである。任意のホームネットワークに最初に接続したサーバは、前記ネットワークに対するバインディングID(IDb)を生成する(S200)。このとき、前記バインディングIDは、前記サーバの製造当時に設定された固有の識別子であるか、ユーザが任意に定めた固有の識別子でありうる。このように、バインディングIDが生成されれば、バインディングIDとして識別されるクラスタが形成される。
【0008】
前記サーバに存在するコンテンツを利用しようとする機器は、自身のデバイスキーセットを利用して、MKB(メディアキーブロック)からメディアキー(Km)を抽出する(S212)。その後、前記機器は、前記ステップ(S212)で抽出したメディアキー(Km)及び機器自身の識別子であるIDpを利用して、機器自身の固有キーであるKpを生成する(S214)。前記機器は、機器認証を受けるために、前記サーバに対して機器認証を要請する(S216)。すなわち、前記機器は、前記クラスタ内、または前記ホームネットワークの外部に存在する機器認証のためのサーバに自身の固有の識別子であるIDpと、自身が何なる種類の機器であるかを表す類型識別子である‘type’と、機器自身の識別子であるIDpと、‘type’のハッシュ値h=MAC(IDp||type)Kpを前記サーバに伝送する。
【0009】
前記サーバは、Km及びIDpからKp’を求め、前記Kp’を利用して得られたハッシュ値h’=MAC(IDp||type)Kp’を、前記機器から受信した前記ハッシュ値hと比較して同じであるか否かを確認する。もし、h値とh’値とが同じである場合には、前記機器に、Kpを利用してIDbを暗号化したE(IDb)Kp及び前記機器の固有のIDpを伝送し、サーバ自身の認証テーブル‘auth.tab’に前記IDpを追加する。このとき、前記機器は、前記サーバから受信したE(IDb)KpからIDbを抽出することによって、機器認証が行われる(S218)。
【0010】
一方、機器認証が終わった後、前記サーバは、前記機器に伝送するコンテンツを暗号化する(S220)。まず、IDb、auth.tab、Kmを利用してバインディングキー(Kb)を生成するが、このとき、前記バインディングキー(Kb)は、Kb=H[IDbH[auth.tab],Km]のような式を満足する(S222)。
【0011】
バインディングキー(Kb)が生成された後に、前記サーバは、コンテンツを保護するために、タイトルキー(Kt)で前記コンテンツを暗号化する(S224)。一方、それぞれのコンテンツには、複写制御情報、外部伝達許容如何、使用権限、使用許容期間などが含まれたUR(Usage Rule)情報が含まれているので、前記Kbを利用して
(外1)
のように、UR情報及びタイトルキー(Kt)を暗号化する(S226)。
【0012】
一方、前記機器は、前記サーバから前記auth.tabを受信し、既抽出したKm及びIDbを利用して、
(外2)
からバインディングキー(Kb)を得て(S232)、
(外3)
からタイトルキー(Kt)を抽出した後(S234)、前記抽出されたタイトルキー(Kt)を利用して、前記サーバから受信したコンテンツを復号化する(S236)。
【0013】
このように動作するxCP Cluster Protocolは、ドメインに含まれる機器の選択過程なしに、通信範囲内のあらゆる機器が自動で加入でき、また、それぞれの機器が新たにバインディングキー(Kb)を作る度に、auth.tabをサーバから受信して計算せねばならないという不便さがある。したがって、ユーザの制御によってホームドメインの構成機器を決定でき、外部と独立したホームドメインを構築して、さらに安全にコンテンツを保護する必要がある。
【0014】
一方、最近、UPnP(Universal Plug and Play)を基盤にしたホームネットワークの管理方法が広範に提案されている。UPnPは、本来、コンピュータの周辺装置を汎用コンピュータに連結するだけで自動で認識させる標準化された機能を意味し、さらに、コンピュータの周辺装置だけでなく、家電製品及び無線装備などをネットワークに接続させたとき、これを自動で認識できるホームネットワークミドルウェア標準として発展している。また、UPnPは、既存の標準インターネットプロトコルを使用するために、既存のネットワークにスムーズに統合可能であり、特定の運営体制や物理的な媒体に依存しないなど、多くの長所を有する。しかし、まだ、UPnPを利用してドメイン管理を具現する方法は知られていないので、UPnPを利用して効果的にドメイン管理を具現する方法を講ずる必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明の目的は、ユーザが直接ドメインの形成を制御し、外部と独立したドメインをさらに安全に構築できるホームネットワークの管理方法を提供することである。
【0016】
また、本発明の目的は、既存の標準インターネットプロトコルを使用するネットワークにスムーズに統合可能なUPnP基盤のホームネットワークシステムを提供することである。
【0017】
また、本発明の目的は、ホームネットワークのドメインの構成機器の変動をユーザが直接制御し、構成機器の変動による新たなドメインキーの生成をマスタ機器が担当し、スレーブ機器は、マスタ機器で生成されたドメインキーを伝達されるようにすることによって、ドメイン構成の変更によるドメインキーの変更手続を簡素化することである。
【0018】
また、本発明の目的は、ドメインID及びドメインキー以外にも、ドメインが共有する情報としてセッションIDを導入することによって、頻繁なドメインキーの変更を防止することである。
【課題を解決するための手段】
【0019】
前記目的を達成するために、本発明は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成して、前記ドメインを構成する被制御機器に所定のドメインキーを提供し、前記ドメインの構成に変動が発生する度に新たなドメインキーを生成して、前記ドメインに残っている被制御機器に提供するマスタ機器と、前記ドメインの構成をユーザが直接変更できるようにユーザインターフェースを提供するコントロールポイントと、を備えるホームネットワークシステムを提供する。
【0020】
このとき、前記マスタ機器は、前記ドメインを形成する被制御機器に所定のコンテンツを提供し、前記ドメインキーは、前記所定のコンテンツの暗号化に利用されるコンテンツキーの暗号化に利用され、また、前記ドメインキーは、前記所定のコンテンツを提供される被制御機器の公開キーを利用して暗号化され、前記暗号化されたドメインキーは、前記公開キーと対をなす所定の秘密キーで解読され得る。
【0021】
また、前記ホームネットワークシステムは、UPnPを基盤として構成され、前記ドメインキーは、前記ドメインを形成する機器の機器情報を利用して生成され、前記コントロールポイントは、前記マスタ機器及び前記ドメインを形成する被制御機器の動作に必要な情報を、前記マスタ機器及び前記ドメインを形成する被制御機器に伝達できる。
【0022】
また、前記ドメインは、前記ドメインを形成する構成機器の変動によって変動されるセッションIDを共有し、前記マスタ機器は、前記ドメインに連結される機器のセッションIDが自身のセッションIDと同じでない場合に、前記連結された機器に自身が保有しているドメインキーを伝達することが望ましい。
【0023】
このとき、前記被制御機器は、スレーブ状態及びゲスト状態を機器モードとして有し、前記マスタ機器は、前記ドメインに連結される機器のセッションIDが自身のセッションIDと同じでなく、また前記連結された機器が自身が保有しているスレーブ機器リストに存在する場合に、前記連結された機器に、自身が保有しているドメインキーを伝達することが望ましい。
【0024】
さらに、前記スレーブ機器リストに前記連結された機器が存在していない場合に、前記連結された機器の機器モードは、ゲスト状態に変更されうる。また、前記マスタ機器は、前記ドメインに連結される機器のドメインIDが、自身が保有しているドメインIDと一致していない場合には、前記ドメインキーを前記連結された機器に伝達ことが望ましい。また、前記マスタ機器は、前記ドメインに連結される機器の機器モードがスレーブ状態ではない場合には、前記ドメインキーを前記連結された機器に伝達しないことが望ましい。
【0025】
また、前記セッションIDは、固有ID以外にも日付情報及び/またはバージョン情報をさらに含むことが望ましい。
【0026】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成して、前記ドメインを構成する被制御機器に所定のドメインキーを提供するマスタ機器、及びユーザインターフェースを提供するコントロールポイントを備えるホームネットワークシステムの管理方法において、(a)前記ユーザインターフェースを通じたユーザの指示によって前記ドメインの構成を変更するステップと、(b)前記マスタ機器で、前記ドメインの構成変更によって新たなドメインキーを生成するステップと、(c)前記生成されたドメインキーを、前記ドメインに残っている被制御機器に提供するステップとを含むホームネットワークの管理方法を提供する。
【0027】
このとき、前記ホームネットワークシステムは、UPnPを基盤として構成され、前記ドメインキーは、前記ドメインを形成する機器の機器情報を利用して生成されうる。
【0028】
また、前記ホームネットワークの管理方法は、(d)前記ドメインの構成機器の変動によって変動されるセッションIDを、前記ドメインの構成機器が共有するステップと、(e)前記ドメインに連結される機器のセッションIDが、前記ドメインのセッションIDと同じでない場合に、前記連結された機器に前記ドメインのドメインキーを提供するステップとをさらに含むことが望ましい。
【0029】
このとき、前記被制御機器は、スレーブ状態及びゲスト状態を機器モードとして有し、前記(e)ステップは、前記ドメインに連結される機器のセッションIDが、前記ドメインのセッションIDと同じでなく、また、前記連結された機器が、前記マスタ機器が保有しているスレーブ機器リストに存在する場合に、前記連結された機器に前記ドメインキーを提供することが望ましい。
【0030】
さらに、前記(e)ステップは、前記ドメインに連結される機器が前記スレーブ機器リストに存在していない場合に、前記連結された機器の機器モードをゲスト状態として設定することが望ましく、前記(e)ステップは、前記ドメインに連結される機器のドメインIDが、前記ドメインのドメインIDと一致していない場合に、前記ドメインキーを前記連結された機器に提供しないステップを含むことが望ましく、前記(e)ステップは、前記ドメインに連結される機器の機器モードがスレーブ状態でない場合には、前記ドメインキーを前記連結された機器に提供しないステップを含むことが望ましい。
【0031】
また、前記セッションIDは、固有ID以外にも日付情報及び/またはバージョン情報をさらに含むことが望ましい。
【0032】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器を備えるホームネットワークシステムのホームネットワークの管理制御装置において、前記ドメインの構成をユーザが直接変動できるように、ユーザインターフェースを提供するユーザインターフェース提供部と、前記ユーザインターフェースを通じたユーザの入力によって、前記ドメインの構成機器の動作に必要な情報を前記ドメインの構成機器に提供する機器動作情報提供部とを備えるホームネットワークの管理制御装置を提供する。
【0033】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器を備えるホームネットワークシステムのホームネットワークの管理制御装置において、前記ドメインの構成をユーザが直接変動できるように、ユーザインターフェースを提供するユーザインターフェース提供部と、前記ホームネットワークの管理制御装置に接続する機器を検出する機器検出部と、前記接続された機器の情報を前記マスタ機器に提供して、前記マスタ機器での処理結果を前記接続された機器に提供する機器動作情報提供部とを備えるホームネットワークの管理制御装置を提供する。
【0034】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器において、前記被制御機器の認証を行う被制御機器管理部と、前記ドメインを識別するドメインIDを生成して、前記ドメインの構成機器に提供するドメインID管理部と、前記ドメインの構成変動によって変動するセッションIDを生成して、前記ドメインの構成機器に提供するセッションID管理部と、前記ドメインの構成変動によって変動するドメインキーを生成して、前記ドメインの構成機器に提供するドメインキー管理部とを備えるマスタ機器を提供する。
【0035】
前記のような目的を達成するために、本発明の他の態様は、一つ以上の被制御機器のうち少なくとも一部と共にドメインを形成するマスタ機器により前記被制御機器を管理する方法において、(a)前記被制御機器の認証を行うステップと、(b)前記ドメインを識別するドメインIDを生成して、前記ドメインの構成機器に提供するステップと、(c)前記ドメインの構成変動によって変動するセッションIDを生成して、前記ドメインの構成機器に提供するステップと、(d)前記ドメインの構成変動によって変動するドメインキーを生成して、前記ドメインの構成機器に提供するステップとを含む被制御機器の管理方法及びこの方法を実行するプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【0036】
前記のような目的を達成するために、本発明の他の態様は、スレーブ状態及びゲスト状態を機器モードとして有しうる一つ以上の被制御機器のうち、機器モードがスレーブ状態であるスレーブ機器と共にドメインを形成するマスタ機器において、前記ドメインに接続する機器の認証及び機器モードの判別を行い、スレーブ機器リストを生成及び変更し、前記接続機器が前記スレーブ機器リストに存在しているか否かを判別する被制御機器管理部と、前記ドメインを識別できるドメインIDを生成し、前記マスタ機器と前記接続機器とのドメインIDを比較するドメインID管理部と、前記ドメインの構成変動によって変動する前記マスタ機器のセッションIDを、前記接続機器のセッションIDと比較するセッションID管理部と、前記ドメインの構成変動によって変動するドメインキーを生成し、前記ドメインID管理部の比較結果一致し、前記セッションID管理部の比較結果一致せず、前記被制御機器管理部の判別結果、前記接続機器が前記スレーブ機器リストに存在すれば、前記マスタ機器のドメインキーを前記接続機器に提供するドメインキー管理部とを備えるマスタ機器を提供する。
【0037】
前記のような目的を達成するために、本発明の他の態様は、スレーブ状態及びゲスト状態を機器モードとして有しうる一つ以上の被制御機器のうち、機器モードがスレーブ状態のスレーブ機器と共にドメインを形成するマスタ機器による被制御機器の管理方法において、(a)前記ドメインに接続する機器を認証するステップと、(b)前記認証が成功すれば、前記接続機器の機器モードを判別するステップと、(c)前記ステップ(b)の判別結果、前記接続機器の機器モードがスレーブ状態である場合には、前記ドメインの構成変動によって変動する前記マスタ機器のセッションIDを、前記接続機器のセッションIDと比較するステップと、(d)前記ステップ(c)の比較結果、一致しなければ、スレーブ状態である被制御機器を表すスレーブ機器リストに前記接続機器が存在しているかを判別するステップと、(e)前記ステップ(d)の判別結果、存在すれば、前記ドメインの構成変動によって変動する前記マスタ機器のドメインキーを前記接続機器に提供するステップとを含む被制御機器の管理方法及びこの方法を実行するプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【0038】
このとき、少なくとも前記(c)ステップ以前に前記ドメインを識別でき、前記ドメインの構成機器により共有されるドメインIDと前記接続機器のドメインIDとを比較するステップをさらに含むが、前記ステップドメインIDが一致しなければ、後続ステップを進行させないことが望ましい。
【図面の簡単な説明】
【0039】
【図1】一般的なドメイン管理の構造を示す図である。
【図2】従来のマスタ−スレーブ構造によって‘xCP Cluster Protocol’を基盤とするコンテンツ再生過程を示すフローチャートである。
【図3】公開キー基盤構造のドメインの形成方法を示すフローチャートである。
【図4】本発明の実施形態に係るドメインの形成方法をUPnPに適用した例を示すブロック図である。
【図5】コントロールポイントと被制御機器との間に行われる一般的なUPnP動作を示す図である。
【図6】本発明の実施形態に関連してマスタ機器を定める過程を示すフローチャートである。
【図7】図6の過程に続く機器認証過程を示すフローチャートである。
【図8】図7の過程に続くスレーブ機器を定める過程を示すフローチャートである。
【図9A】コントロールポイントが提供するユーザインターフェース画面の構成例である。
【図9B】コントロールポイントが提供するユーザインターフェース画面の構成例である。
【図9C】コントロールポイントが提供するユーザインターフェース画面の構成例である。
【図10】本発明の実施形態に関連して、マスタ機器を定める他の過程を示すフローチャートである。
【図11】図10の過程に続く機器認証過程を示すフローチャートである。
【図12】図11の過程に続くスレーブ機器を定める過程を示すフローチャートである。
【図13】本発明の実施形態に係る、ドメインキーの生成過程を示すフローチャートである。
【図14】スレーブ機器の連結/切断によるドメインの状態を説明するための図である。
【図15】スレーブ機器の連結/切断による他のドメインの状態を説明するための図である。
【図16】本発明の実施形態によって、ドメインに新たに接続する機器に対する処理過程を示すフローチャートである。
【図17】本発明の実施に係るコントロールポイントのブロック図である。
【図18】は本発明の実施形態に係るマスタ機器のブロック図である。
【発明を実施するための形態】
【0040】
以下では、添付された図面を参照して、本発明の実施形態を説明する。
【0041】
図3は、公開キー基盤構造のドメインの形成方法を示すフローチャートである。以下の説明のために、コンテンツを提供するサーバに対してコンテンツを要請する各種の機器は、機器製造時にそれぞれの機器ごとに固有の秘密キーの集合及び公開キーまたは公開キーの生成機能を有していると仮定する。このとき、前記秘密キーの集合は、ブロードキャスティング暗号方式を通じて提供される秘密情報ブロック(Secret Information Block;SIB)から秘密値の抽出に使用される。前記SIBは、機器の廃棄如何を検証するための情報であって、廃棄処分された機器は、SIBから意図された秘密値を抽出できず、正当な機器は、共通された秘密値を抽出できる。
【0042】
単一のドメイン内には、ドメインの形成に関与するサーバ320が存在するが、サーバ320は、外部サーバ310からブロードキャスト暗号方式によりSIBを伝達される(S332)。その後、ドメイン内にある機器330が有線または無線ネットワークを通じて自身の存在をサーバ320に知らせるか、またはサーバ320が機器330を探すことによって、サーバ320が機器330の存在を認識する(S334)。
【0043】
サーバ320は、自身が認識した機器330をディスプレイ装置を通じてユーザに提供し、ユーザは、前記ディスプレイ装置を通じて表れた機器のうち、ドメインに登録しようとする機器330を選択する(S336)。その後、サーバ320は、ユーザにより選択された機器330に対して外部サーバ310から既受信したSIBを伝達し(S338)、前記SIBを受信した機器330は、前記SIBから秘密値を抽出し(S340)、前記抽出された秘密値を利用して、自身の公開キーについての認証書を作成する(S342)。
【0044】
機器330が前記認証書、機器の固有識別子(ID)及び機器自身が有している公開キーをサーバ320に伝達すれば(S344)、サーバ320は、認証書を検証することによって、機器の正当性を検証し(S346)、認証された機器の固有識別子(ID)及び公開キーを記録した認証リストを作成する(S348)。このとき、認証可能な機器の数は、ユーザにより任意に制限してもよい。
【0045】
サーバ320が認証リストを作成した後、前記認証リストにある機器についての情報及びサーバ自身が生成した乱数を利用して、固有のドメインID及びドメインキーを生成する(S350)。このとき、前記ドメインキーは、ユーザの選択により形成されたドメインに属する機器のみが共有する秘密キーであって、前記ドメインを構成する機器が変更される度に共に変更され、前記ドメインIDは、他のドメインと区別するための識別子として使用される。
【0046】
サーバ320は、ドメイン内にある認証された機器330にそれぞれの機器の公開キーを利用して、前記ドメインID及び前記ドメインキーを暗号化して伝達し(S352)、前記機器330は、自身の秘密キーを利用して前記ドメインキーを復旧することによって(S354)、コンテンツを利用するためのドメインが形成される。コンテンツ共有のためのドメインが形成されれば、サーバ320は、コンテンツをコンテンツキーにより暗号化し、前記コンテンツキーは、前記ドメインキーにより暗号化される。暗号化されたコンテンツは、コンテンツを利用しようとする機器がドメインキーを利用して復号化することによって、コンテンツを利用できる。
【0047】
図4は、本発明に係るドメインの形成方法をUPnPに適用した例を示すブロック図である。図1と同じ構成要素については、同じ参照符号を使用する。それぞれの被制御機器(Controlled Device:以下、‘CD’とも称す)110ないし160は、コントロールポイント(Control Point:以下、‘CP’とも称す)190によって命令をやり取りし、各機器が有するサービスを提供する。被制御機器110ないし160のうち何れか一つの機器をマスタキー機器110として設定し、それ以外の機器のうち、ユーザが選択した機器をスレーブ機器120、130、140として設定して、ドメインを形成できる。
【0048】
被制御機器のうち、マスタやスレーブとして設定されない、すなわち、ドメインに含まれていない機器150、160は、ゲストと命名する。マスタ機器110及びスレーブ機器120ないし140は、認証されたホームドメインを形成し、CP 190及び被制御機器110ないし160全体は、ホームネットワーク200を形成する。
【0049】
図5は、CP 190とCD 120ないし160との間で行われる一般的なUPnP動作を示す図である。まず、アドレス指定ステップが行われる。UPnPネットワーキングの基盤は、TCP/IPプロトコルであり、このプロトコルの核心は、アドレスの指定機能である。各機器は、動的ホスト構成プロトコル(Dynamic Host Configuration Protocol;DHCP)クライアントを有さねばならず、機器が、最初にネットワークに連結されれば、DHCPサーバを検索する。もし、DHCPサーバがあれば、該当機器は、割当てられたIPアドレスを使用する。もし、使用可能なDHCPサーバがない場合には、機器は、アドレスを確保するために、‘自動IP’を使用する。
【0050】
次いで、ディスカバリーステップである。一旦、機器がネットワークに連結され、適切なアドレスが指定されれば、検索作業が進み得る。検索作業は、SSDP(Simple Service Discovery Protocol)を利用して処理する。機器がネットワークに追加されれば、SSDPは、この機器が提供するサービスを、ネットワーク上にあるコントロールポイントに知らせる役割を行う。
【0051】
UPnPネットワーキングの次のステップは、ディスクリプションステップである。コントロールポイントが機器を検索したとしても、コントロールポイントは、相変らず機器について知っている情報が非常に少ない。このコントロールポイントが機器及び機器の機能についての情報を詳細に把握して相互作用を行おうとするには、コントロールポイントは、検索メッセージと該当する機器が提供するURLから機器の説明内容を確認せねばならない。機器についてのUPnPの説明は、XMLで表現されており、供給メーカ固有の製造情報(モデル名、シリアルナンバー、メーカ名、メーカのURL等)を含んでいる。この説明は、また、制御、イベント及びプレゼンテーションのためのURLだけでなく、多くの内蔵された機器及びサービスに関するリストも含んでいる。
【0052】
前記アドレスの指定、検索、デスクリプションのステップ以後には、本格的なUPnP動作ステップが行われる。このようなステップは、制御、イベント作業及びプレゼンテーションなどの動作を通じて行われる。前記制御動作を見れば、コントロールポイントは、機器のデスクリプションを確保した後に、機器制御のための必須作業を行う。機器を制御するために、コントロールポイントは、機器のサービスに動作命令を送る。そのために、コントロールポイントは、適切な制御メッセージを該当サービスについての制御URL(機器説明書にある)に送る。制御メッセージも、SOAP(Simple Object Access Protocol)を使用して、XMLで表現される。該当サービスは、この制御メッセージに対する応答として、特定の動作値や障害コードを提供する。
【0053】
また、前記イベント作業の動作を見れば、各機器は、前述した命令を受けて、自身の状態の変化が発生すれば、これをイベントメッセージを通じてコントロールポイントに知らせる。このようなメッセージは、1個以上の状態変数名及びそれらの変数の現在値を含んでおり、XML形式で表現され、GENA(Generic Event Notification Architecture)を通じてフォーマットされる。イベントの内容は、周期的に更新されて持続的にコントロールポイントに通報され、GENAを使用して加入を取り消してもよい。
【0054】
そして、前記プレゼンテーション動作を見れば、もし、機器がプレゼンテーション用URLを有していれば、コントロールポイントは、このURLを通じてページを検索でき、このページをブラウザーにロードでき、ユーザは、前記ページを利用して機器を制御するか、または機器状態を照会できる。この機能を行えるレベルは、プレゼンテーションページ及び機器の特定の機能による。
【0055】
図6は、UPnP基盤のホームネットワークの形成過程のうち、マスタ機器を定める過程を示す。まず、全体被制御機器110ないし160が、コントロールポイント190にSSDPを利用して、自身がホームネットワークに連結されたことを知らせる(S601)。それにより、コントロールポイント190は、機器110ないし160から機器情報及びDRM情報をHTTPを通じて得る(S602)。前記機器情報は、UPnPで使用する一般的な機器情報を意味し、前記DRM情報は、機器属性及び機器モードを意味する。ここで、機器属性は、被制御機器がenmasterableであるか、またはdismasterableであるかを決定する値であって、被制御機器が、ドメインマスタとして作動できるか否かを知らせる情報である。そして、機器モードは、マスタ、スレーブ、ゲストのうち、現在、何なるもので動作しているかを決定する値である。初期に、被制御機器は、何れもゲストとして設定されており、以後、マスタやスレーブとして設定されれば、前記機器モード値が変更される。
【0056】
前記DRM情報のうち、機器モードでマスタとして動作する被制御機器の存否を判断して、マスタとして動作する機器がない場合には、enmasterableである被制御機器の一つをマスタとして選択する(S603)。このようなマスタを設定することは、コントロールポイント190のユーザインターフェースを通じて、ユーザが直接選択する過程を通じて行われる。前記ユーザインターフェースの例を図9Aに示す。前記ユーザインターフェースでは、マスタとして動作できる機器‘main nexus’及び‘sub nexus’を表しており、それらは、現在ゲストとして設定されている。この機器のうち、ユーザがマスタとして設定しようとする機器をチェックすればよい。本例では、被制御機器1110がマスタとして決定された。
【0057】
次いで、コントロールポイント190は、SOAPを通じて前記マスタとして設定された被制御機器1110からマネージャ認証情報を得る(S604)。このようなマネージャ認証情報は、例えば、マスタ機器のスマートカードから得られ、前記マスタとして決定したユーザが、マネージャであるか否かを確認する手続で必要である。コントロールポイント190では、前記マネージャ認証情報を利用してユーザインターフェースを出力し、ユーザからマネージャID及びパスワードを入力される方式でマネージャ認証を行う(S605)。図9Bには、このようなユーザインターフェースの例が示されている。
【0058】
マネージャ認証を経た後、コントロールポイント190は、被制御機器1110をドメインマスタとして設定し、コントロールポイント自身が有していた機器リストを被制御機器1110に提供する(S606)。以後には、被制御機器1110の機器モード値は、‘マスタ’となる。マスタとして設定された機器110は、初期には自身のみを構成機器とする新たなドメインを生成する(S607)。
【0059】
図7は、図6のマスタ機器を定める過程に続く機器認証過程を示す。まず、ドメインマスタ110で、前記頭3の説明過程と同じ方法で外部のサーバを通じて新たなSIBを伝達される(S711)。それにより、コントロールポイント190は、残りの被制御機器120ないし160に、SOAPを利用して前記SIBが保存されたURL情報を伝達する(S712)。前記残りの被制御機器120ないし160は、前記URLに存在するSIBを、HTTPを通じて得る(S713)。そして、前記得たSIBを利用して秘密値を抽出し、前記秘密値と、自身が有している機器ID及び公開キーとを利用して認証書を生成する(S714)。このような認証書は、不法機器を区別するためのものであって、例えば、特定のメーカが生産する機器のみを合法的な機器として認める認証政策を維持するならば、そのメーカ以外のメーカが生産した機器は、不法機器として見なされる。
【0060】
その後、コントロールポイント190が、マスタ機器110に前記認証書が保存されたURL情報をSOAPを通じて伝達すれば(S715)、マスタ機器110は、前記残りの被制御機器120ないし160から、HTTPを利用して認証書、機器ID及び公開キーを得る(S716)。そして、前記得た認証書を検証して、認証機器についてのリストを作成する(S717)。このように、認証書を検証して、不法な機器として見なされた機器は、以後、ドメインから除かれ、スレーブ機器として指定される可能性がない。
【0061】
図8は、図7の機器認証過程に続くスレーブ機器を定める過程を示す。まず、コントロールポイント190は、前記認証書の検証結果、合法的な機器として認証された機器120ないし140を対象として、SOAPを利用してドメイン属性を検証する(S821)。前記ドメイン属性には、ドメインキー、ドメインに属する機器の名称、ドメインに属する機器の数などが該当される。もし、前記機器にドメイン属性が存在していない場合には、コントロールポイント190は、前記機器のリストをユーザインターフェースを通じてディスプレイし(S822)、ユーザをしてスレーブ機器を選択させる(S823)。図9Cには、合法的な機器120ないし140のリストを表したユーザインターフェースの例を表した。ユーザは、それらのリストのうち、ドメインに含めようとする機器をチェックすることによって、スレーブ機器を選択できる。このようなスレーブ機器は、マスタ機器とは異なり、複数の機器が選択されてもよい。この後、図6でのマスタ選択過程と同様に、マネージャ認証情報を得て(S824)、マネージャ認証を行う過程(S825)を経る。
【0062】
次いで、コントロールポイント190は、前記リストのうち選択されたスレーブ機器のリストを、SOAPを通じてマスタ機器110に伝達する一方(S826)、SOAPを通じて前記選択された機器をスレーブモードとして設定する(S827)。スレーブモードとして設定された機器は、以後には機器モード値を‘スレーブ’として有する。その後、マスタ機器110は、前記スレーブリストを利用してドメインID及びドメインキーを生成する(S828)。そして、スレーブ機器に対する公開キーを利用して、ドメインID及びドメインキーを暗号化する(S829)。また、マスタ機器110は、スレーブとして選択された機器についてのスレーブ機器リストを保存する。
【0063】
次いで、コントロールポイント190は、ドメイン属性値を保存しているマスタ機器のURL情報を、SOAPを通じて前記スレーブとして設定された機器に伝達する(S830)。それにより、前記スレーブとして設定された機器が、前記URLに存在するドメイン属性を、HTTPを通じて得る(S831)。前述したように、前記ドメイン属性は、ドメインキー、ドメインに属する機器の名称、ドメインに属する機器の数などの情報を含む。
【0064】
図10ないし図12は、図6ないし図8とは異なり、コントロールポイント190の機能のうち、重要な部分を離してマスタ機器110に移した場合の動作過程を示すフローチャートである。このとき、コントロールポイント190は、ユーザインターフェースに関連したことを処理するように機能を限定する。結局、マスタ機器110は、被制御機器としての機能及びコントロールポイントとしての機能のうち、コントロールポイント190が有する機能以外の機能をさらに有する。結果的に、コントロールポイント190の役割が相当減り、もし、コントロールポイント190が不法機器である場合にも、保安上の問題点が発生させない。また、マスタ機器にユーザインターフェースが存在しなくても問題がない。
【0065】
図10は、マスタ機器を定める過程を示す図であって、この過程中である機器1110は、単に被制御機器としてのみ動作するので、図6での動作と同じである。
【0066】
図11は、図10のマスタ機器を定める過程に続く機器認証過程を示す図である。まず、コントロールポイント190は、マスタ機器110にSOAPを通じて機器認証過程が開始されることを知らせる(S1101)。本過程で、マスタ機器110は、CDとして動作する。それにより、マスタ機器110(CPで動作)は、残りの被制御機器120ないし160に、SOAPを利用して前記SIBを直接伝達する(S1102)。それにより、前記残りの被制御機器120ないし160は、前記得たSIBを利用して秘密値を抽出し、前記秘密値と自身が有している機器ID及び公開キーとを利用して認証書を生成する(S1103)。
【0067】
その後、前記残りの被制御機器120ないし160は、マスタ機器110(CPで動作)に、SOAPを利用して前記認証書、機器ID及び公開キーを直接伝達する(S1104)。それにより、マスタ機器110は、前記伝達された認証書を検証し、各機器に対する認証リストを作成する(S1105)。このように、認証書を検証して、不法な機器として見なされた機器は、以後にドメインから除かれ、スレーブ機器として指定される可能性がない。そして、マスタ機器110(CDとして動作)は、GENAを利用してコントロールポイント190に、前記検証した機器のIDをイベントメッセージで通知する(S1106)。それにより、コントロールポイント190は、SOAPを利用して前記機器の検証結果をマスタ機器110(CDとして動作)から得た後(S1107)、ユーザインターフェースを通じて、検証結果機器が不法であるか否かを外部に表示する(S1108)。
【0068】
図12は、図11の機器認証過程に続くスレーブ機器を定める過程を示す図である。まず、コントロールポイント190は、前記認証書の検証結果、合法的な機器として認証された機器120ないし160を対象として、SOAPを利用してドメイン属性を検証する(S1201)。もし、前記機器にドメイン属性が存在していない場合には、コントロールポイント190は、前記機器のリストをユーザインターフェースを通じてディスプレイし(S1202)、ユーザをしてスレーブ機器を選択せしめる(S1203)。図9Cでは、合法的な機器のリストを表すユーザインターフェースの例を示した。ユーザは、それらのリストのうち、ドメインに含めようとする機器をチェックすることによって、スレーブ機器を選択できる。以後、前記図6でのマスタの選択過程と同様に、マネージャ認証情報を得て(S1204)、マネージャ認証を行う過程(S1205)を経る。
【0069】
次いで、コントロールポイント190がマスタ機器110(CDとして動作)に、前記リストから選択されたスレーブ機器120ないし140のリストを、SOAPを通じて伝達する(S1206)。その後、マスタ機器110は、ドメインID及びドメインキーを生成する(S1207)。一方、ドメインIDは、他のドメインとの識別に利用されるものであって、該当ドメインに固有のものであれば、いかなるものでもよい。したがって、ドメインIDは、乱数生成器から生成された乱数であるか、またはスレーブ機器の機器IDと任意の乱数とを合成した値のハッシュ値であってもよく、特定の方法に限定されて生成されるものではない。また、ドメインキーは、ドメインIDと同様に、乱数生成器から生成された乱数であるか、またはスレーブ機器の機器IDと任意の乱数とを合成した値のハッシュ値となりうる。しかし、ドメインキーは、ドメインの構成機器の変動によって変動されるものであるので、スレーブ機器の機器IDを利用して生成されることがさらに望ましい。
【0070】
次いで、ドメインID及びドメインキーが生成されれば、スレーブ機器に対する公開キーを利用して、ドメインID及びドメインキーを暗号化する(S1208)。マスタ機器110(CPとして動作)は、直接SOAPを通じて前記選択された機器をスレーブモードとして設定し、前記設定された機器のドメイン属性を伝達する(S1209)。また、マスタ機器110は、スレーブとして選択された機器に対するスレーブ機器リストを保存する。
【0071】
図13は、本実施形態によって現在生成されている認証されたドメインにゲストであった被制御機器150、160が、スレーブとして追加される場合の動作を示すフローチャートである。また、図13は、コントロールポイントの重要な機能がマスタ機器に移され、コントロールポイントは、主にユーザインターフェース機能のみを行う場合の動作を示す。
【0072】
スレーブ機器を追加するために、ユーザが、コントロールポイント190が提供するユーザインターフェースを通じてスレーブ機器追加メニューを選択すれば、コントロールポイント190は、前記認証書の検証結果、合法的な機器として認証された機器120ないし160を対象として、SOAPを利用してドメイン属性を検証する(S1201)。もし、前記機器にドメイン属性が存在していない機器150、160が存在する場合に、この機器のリストを、ユーザインターフェースを通じてディスプレイし(S1302)、ユーザをしてスレーブ機器を選択せしめる(S1303)。ユーザは、図9Cのようなユーザインターフェース画面を通じて、合法的に認証された機器のうち、ゲスト状態である機器をチェックすることによってスレーブ機器を選択できる。以後、前記図6でのマスタ選択過程と同様に、マネージャ認証情報を得て(S1304)、マネージャ認証を行う過程(S1305)を経る。
【0073】
次いで、コントロールポイント190がマスタ機器110に、前記リストから選択されたスレーブ機器150、160のリストを、SOAPを通じて伝達する(S1306)。その後、マスタ機器110は、以前にスレーブ機器として選択された機器120ないし140のリストと、現在新たにスレーブ機器として選択されたスレーブ機器150、160の機器情報(例えば、機器ID)とを利用して、新たなドメインキーを生成する(S1307)。すなわち、ドメインキーは、ドメインの構成機器が共有せねばならない秘密キーであるので、ドメインの構成機器の情報を利用して生成されることが望ましく、したがって、ドメインの構成機器の変更によって新たなドメインキーを生成する。このとき、ドメインIDは、外部ドメインとの識別のための識別子であるので、マスタ機器110が変わらない限り変わらない。そして、スレーブ機器に対する公開キーを利用して、新たなドメインキーを暗号化する(S1308)。マスタ機器110は、直接SOAPを通じて、前記選択された機器をスレーブモードとして設定し、新たなドメインキーを含む新たなドメイン属性をスレーブ機器に伝達する(S1309)。
【0074】
以上、認証されたドメインに新たなスレーブ機器を追加する過程を説明したが、スレーブとして設定されていた機器を認証されたドメインから脱退させるために、ユーザは、コントロールポイント190が提供するユーザインターフェース画面を通じて機器の脱退を選択できる。このときにも、図13に示す過程と同様に脱退したスレーブ機器を、マスタ機器110のスレーブ機器リストから削除し、残りのスレーブ機器の情報を利用して、新たなドメインキーを生成する。
【0075】
一方、本明細書で追加及び脱退という用語は、スレーブ機器がコントロールポイントを通じたユーザの許可によってスレーブリストを変更することによって、ドメインの構成が変更される場合を表す。したがって、追加及び脱退は、コントロールポイントを通じたユーザの許可によらずに、スレーブ機器がコントロールポイントに物理的に付加されるか、またはスレーブ機器の電源が‘オン’になる場合のように、スレーブ機器がドメインに連結されることと、コントロールポイントを通じたユーザの許可によらずに、スレーブ機器がコントロールポイントから物理的に分離されるか、またはスレーブの機器の電源が‘オフ’になる場合のように、スレーブ機器がドメインから切断されることとに区別される。
【0076】
一方、認証されたドメインのスレーブ機器(例えば、120ないし140)のうち、スレーブ機器120が脱退し、その間に他のゲスト機器(例えば、150、160)のうち、ゲスト機器150が認証されたドメインにスレーブ機器として追加された場合には、スレーブ機器の追加によって、図13のような過程を経て、新たなドメインキーを生成すればよく、脱退したスレーブ機器120が、再びドメインに追加される場合には、スレーブ機器120の機器情報を反映して、新たなドメインキーを生成すればよい。しかし、スレーブ機器の追加及び脱退は、ユーザの意思によって決定されるものであって、あまり頻繁に発生する状況ではないが、例えば、スレーブ機器が電子製品である場合には、電源のオン/オフ(すなわち、連結/切断)が頻繁に発生するため、その度にドメインキーを変更することは面倒なだけでなく、システムにも負担になる。
【0077】
したがって、本発明は、スレーブ機器の追加/脱退及び連結/切断の状況を区分するための識別子として、‘セッションID’を導入した。セッションIDは、スレーブ機器の追加/脱退によって変動され、スレーブ機器の連結/切断によっては変動されず、マスタとスレーブが共有する。また、セッションIDは、ドメインIDと同様に、ランダムに生成されるか、またはドメインの構成機器の情報を利用して生成され、スレーブ機器の公開キーで暗号化してスレーブ機器に伝達されることが望ましい。また、セッションIDは、固有ID、日付情報及びバージョン情報などを含みうる。
【0078】
一方、スレーブ機器がドメインに連結または切断される状況により、いくつかの考慮すべき問題がある。
【0079】
図14に示すように、スレーブ機器S1が、コントロールポイントCPから切断され、所定時間以後に再びコントロールポイントCPに連結される場合には、切断時及び連結時にマスタ機器M及びスレーブ機器S1、S2、S3が共有するセッションID及びドメインキーの変動がないので、スレーブ機器S1は、切断される前のドメインキーを利用して、コンテンツを利用できる。
【0080】
しかし、図15に示すように、スレーブ機器S1がコントロールポイントCPから切断された状態で、他のスレーブ機器S4がドメインに追加された場合には、マスタ機器M及びスレーブ機器S1、S2、S3、S4が共有するセッションID及びドメインキーが変更されるため、スレーブ機器S1が再びドメインに連結される場合に、スレーブ機器S1は、ドメインが共有しているコンテンツを良好に再生または利用できなくなる。したがって、マスタ機器Mは、新たにドメインに連結される機器のセッションIDとマスタ機器のセッションIDとを比較して、セッションIDが一致していない場合には、スレーブ機器S4の追加時に新たに生成されたドメインキーDK2をスレーブ機器S1に伝達する。また、スレーブ機器S1が切断される間にスレーブ機器S2が脱退する場合にも、マスタ機器Mの細線ID及びドメインキーが変更されるため、図15と同じ手続が進行される。コントロールポイントCPは、所定の機器が連結される場合に、これを感知して、その機器のセッションIDをマスタ機器Mに伝達する役割を行い、マスタ機器Mからの情報をドメインの構成機器に伝達する役割を行う。
【0081】
一方、マスタ機器Mに保存されているスレーブリストは、ユーザがコントロールポイントを通じて変更しない限り、スレーブ機器の連結及び切断時には変更されない。したがって、スレーブ機器S1が切断された間に、ユーザが、スレーブ機器S1をスレーブリストから削除したなら、スレーブ機器S1は、スレーブ機器の地位を喪失する。しかし、切断されたスレーブ機器S1は、相変らず機器モードがスレーブ状態として設定されているため、スレーブ機器S1が再び連結される場合に、マスタ機器Mは、セッションID以外にもスレーブリストにスレーブ機器S1が存在しているかも検査して、スレーブリストに存在していない機器の機器モードをゲストモードに変更する必要がある。それとも、実質的にゲスト状態であるスレーブ機器S1が、ユーザの許可なしに新たなドメインキーを共有してシステム全体の構造が崩壊される。
【0082】
図16には、ドメインに新たに連結される機器に対する処理過程を示す。コントロールポイントがドメインに連結される新たな機器を発見すれば(S1601)、図7のような機器認証過程を経て(S1603)、認証が失敗すれば、連結された機器を不法機器と見なして手続を終了し、認証が成功すれば、連結された機器の機器モードがスレーブ状態であるかを確認する(S1605)。
【0083】
連結された機器の機器モードがゲスト状態である場合には、以後の手続進行が無意味であるので手続を終了し、連結された機器のモードがスレーブ状態である場合には、マスタ機器とセッションIDとが同じであるかを判断する(S1607)。もし、連結された機器のセッションIDが、マスタ機器とセッションIDとが同じであれば、ドメインキーも変更がないため、それでも手続を終了する。しかし、セッションIDが同じではなければ、マスタ機器が保有したドメインキーと、連結された機器が保有したドメインキーとが同じではないという意味であるため、新たなドメインキーを連結された機器に伝達する必要がある。しかし、マスタ機器と連結された機器とのセッションIDが同じではないといって、直ぐ連結された機器に新たなドメインキーを伝達することは、前述したように、実質的に機器モードがゲスト状態である機器をスレーブ機器として認めることになるため、連結された機器が、マスタ機器Mが保有しているスレーブリストに存在するかを検査せねばならない(S1609)。
【0084】
検査結果、連結された機器がスレーブリストに存在すれば、連結された機器は、スレーブ機器としての地位をそのまま維持していると見なされるため、新たなドメインキーを連結された機器に伝送し(S1611)、そうでない場合には、連結された機器の機器モードをゲストに変更する(S1613)。機器モードがゲストに変更された連結された機器は、図8と同じ過程を経てスレーブ機器として選択されうる。
【0085】
一方、スレーブ機器がいくつかのドメインに参加できるマルチドメイン政策を取る場合には、セッションIDを比較する前にドメインIDを比較することによって、該当ドメインIDを保有していない連結された機器に対しては、後続手続(S1605ないしS1611)を進行する必要なしに手続を終了してもよい。また、マルチドメイン政策を取らず、スレーブ機器が一つのドメインIDのみを有しうる場合にも、他のドメインに参加して、ドメインIDが変更された機器に対しても後続手続(S1605ないしS1611)を進行する必要なく手続を終了してもよい。したがって、この場合には、少なくともステップ(S1607)以前に、連結された機器のドメインIDと現在ドメインのドメインIDとを比較するステップを追加する。
【0086】
前述したように、セッションIDは、固有ID以外にも日付情報及び/またはバージョン情報をさらに含んでもよい。セッションIDに日付情報やバージョン情報を含めば、過去のセッションIDと現在のセッションIDとをさらに明らかに区別でき、このような情報を利用して多様なサービスを提供できる。例えば、マスタ機器が切断されたとき、コントロールポイントは、スレーブ機器等のセッションIDの日付情報及びバージョン情報を確認するが、このとき、ドメインIDは同じであり、セッションIDが異なる場合には、スレーブ機器が切断されている間にドメインの構成が変更されたということが分かる。したがって、マスタがドメインにない場合にも、日付情報やバージョン情報を利用して、最新のセッションID及びドメインキーを有しているスレーブ機器を利用して、残りのスレーブ機器のセッションID及びドメインキーを変更できる。
【0087】
図17には、本発明が適用される図4に示すコントロールポイント190の構成例が示されている。コントロールポイント190は、ユーザに図9Aないし図9Cのようなユーザインターフェースを提供するためのユーザインターフェース提供部192と、コントロールポイント190に接続する機器の動作に必要な情報をマスタ機器及びスレーブ機器に提供する機器動作情報提供部194と、コントロールポイント190に接続する機器を検出するための機器検出部196とを備える。
【0088】
インターフェース提供部192は、ユーザインターフェース画面に機器リストの表示及び機器認証結果の表示を行う。ユーザは、ユーザインターフェース提供部192が提供するユーザインターフェースを通じて、マスタ機器及びスレーブ機器の選択、そして、スレーブリストの変更などを行え、機器認証結果によってマスタ機器に不法機器リストを保存してもよい。機器動作情報提供部194は、図6ないし図8及び図10ないし図12に示すように、機器等の動作に必要な情報を機器に伝達する。機器検出部196は、コントロールポイント190に連結または切断される機器を探知して、該当機器の情報を機器動作情報提供部194に伝達し、機器動作情報提供部194は、例えば、この情報を機器に伝達することによって、図16に示す手続を行わせる。
【0089】
図18には、本発明が適用される図4に示すマスタ機器110の構成例が示されている。マスタ機器110は、コントロールポイント190を通じてマスタ機器110に接続した被制御機器の認証、機器モードの判別及びスレーブ機器リストの管理などを行う被制御機器管理部113と、ドメインIDの生成及びドメインに接続する機器のドメインIDの検査などを行うドメインID管理部115と、セッションIDの生成、変更及びドメインに接続する機器のセッションIDの検査などを行うセッションID管理部117と、ドメインキーの生成、変更及びスレーブ機器へのドメインキーの提供などを行うドメインキー管理部119とを備える。
【0090】
被制御機器管理部113は、図7または図11のフローチャートによってドメインに接続する被制御機器の認証を行って、図16のステップ(S1603)で機器認証の成敗を判断する。このとき、認証が失敗すれば、接続された被制御機器を不法機器と見做して、不法機器リストに別に保存できる。また、被制御機器管理部113は、図16のステップ(S1605)でドメインに接続する被制御機器の機器モードがスレーブ状態であるか、またはゲスト状態であるかを判別する。このとき、スレーブ状態ではなければ、エラー信号を出力し、ユーザは、エラー信号によって接続された被制御機器を正常的な手続によって、スレーブ機器として再び登録するか、またはそのまま放置してもよい。また、被制御機器管理部113は、コントロールポイントを通じたユーザの指示によって、スレーブ機器リストを作成及び変更し、図16のステップ(S1609)では、マスタ機器110とセッションIDとが一致していない接続機器が、スレーブ機器リストに存在しているかを判別して、存在しなければ接続機器の機器モードをゲストに変更するように接続機器を制御する。
【0091】
ドメインID管理部115は、ドメインIDを生成してドメインの構成機器に提供し、ドメインに新たな被制御機器が接続した場合には、少なくとも、図16のステップ(S1607)以前にマスタ機器110のドメインIDと、ドメインに接続した被制御機器のドメインIDとを比較して、一致しなければ、エラー信号を出力し、ユーザは、エラー信号によって所定の処理を行う。
【0092】
セッションID管理部117は、セッションIDを生成し、スレーブ機器リストの変動によって、新たなセッションIDを生成し、図16のステップ(S1607)では、ドメインに接続した機器とマスタ機器110のセッションIDとを比較して、セッションIDが一致しなければ、該当接続機器にマスタ機器110のセッションIDを提供する。
【0093】
ドメインキー管理部119は、ドメインキーを生成し、ドメインの構成変動によって新たなドメインキーを生成し、生成されたドメインキーをスレーブ機器に提供する。
【0094】
以上、本発明についてその望ましい実施例を中心に説明した。当業者は、本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態で具現され得るということを理解できる。したがって、開示された実施例は、限定的な観点ではなく、説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異点は、本発明に含まれたものと解釈されねばならない。
【産業上の利用可能性】
【0095】
本発明によれば、ユーザが直接ドメインの形成を制御し、外部と独立したドメインをさらに安全に構築できる。
【0096】
また、本発明によれば、既存の標準インターネットプロトコルを使用するネットワークにスムーズに統合可能なUPnP基盤のホームネットワークシステムを具現できる。
【0097】
また、本発明によれば、ホームネットワークのドメインの構成機器の変動をユーザが直接制御し、構成機器の変動による新たなドメインキーの生成をマスタ機器が担当し、スレーブ機器は、マスタ機器で生成されたドメインキーを伝達されるようにすることによって、ドメイン構成変更によるドメインキー変更の手続を簡素化する効果がある。
【0098】
また、本発明によれば、ドメインID及びドメインキー以外にも、ドメインが共有する情報としてセッションIDを導入することによって、頻繁に発生するスレーブ機器の連結/切断時にはメインキーを変更しないことによって、頻繁なドメインキーの変更を防止できる。
【符号の説明】
【0099】
200 ホームネットワーク
100 認証されたホームドメイン
110〜160 機器
190 コントロールポイント
192 ユーザインターフェース
194 機器動作情報提供部
196 機器検出部
113 被制御機器管理部
115 ドメインID管理部
117 セッションID管理部
119 ドメインキー管理部
【特許請求の範囲】
【請求項1】
所定プロトコルを基盤として、DRMが適用されるドメインの形成方法において、
(a)前記ドメインの形成を管理するコントロールポイントに、前記ドメインを有するネットワークに機器が連結されたことを知らせるステップと、
(b)前記知らせを受信したコントロールポイントが前記機器から前記機器のDRM情報を獲得するステップと、
(c)前記獲得されたDRM情報に基づいて前記ドメインを形成するステップと、
を含むことを特徴とする方法。
【請求項2】
前記所定プロトコルは、UPnPである、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記(a)ステップは、前記UPnPのディスカバリーステップで、SSDPを利用して前記ネットワークに機器が連結されたことを知らせる、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記(b)ステップは、前記UPnPのデスクリプションステップでHTTP
GETを通じて前記DRM情報を獲得する、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記DRM情報は、前記DRMが適用されるドメインで前記機器として動作する機器モードを有し、
前記(c)ステップは、前記機器モードに基づいて前記ドメインを形成する、
ことを特徴とする請求項1に記載の方法。
【請求項6】
所定プロトコルを基盤として、DRMが適用されるドメインを形成する方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記方法は、
前記ドメインの形成を管理するコントロールポイントに、前記ドメインを有するネットワークに機器が連結されたことを知らせるステップと、
前記知らせを受信したコントロールポイントが、前記機器から前記機器のDRM情報を獲得するステップと、
前記獲得されたDRM情報に基づいて前記ドメインを形成するステップと、
を含む、
ことを特徴とする、コンピュータで読み取り可能な記録媒体。
【請求項7】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器の認識方法において、
(a)前記機器が、前記ドメインを有するネットワークに連結されたことを通報されるステップと、
(b)前記機器から前記機器のDRM情報を選択的に獲得することによって前記機器を認識するステップと、
を含むことを特徴とする方法。
【請求項8】
前記所定プロトコルは、UPnPである、
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記(a)ステップは、前記UPnPのディスカバリーステップで、SSDPを利用して前記ネットワークに機器が連結されたことを通報される、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記(b)ステップは、前記UPnPのデスクリプションステップで、HTTP
GETを通じて前記DRM情報を獲得する、
ことを特徴とする請求項8に記載の方法。
【請求項11】
前記DRM情報は、前記DRMが適用されるドメインで前記機器として動作する機器モードを有し、
前記(b)ステップは、前記機器モードに基づいて、前記機器を認識する、
ことを特徴とする請求項7に記載の方法。
【請求項12】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器の認識方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記方法は、
前記機器が、前記ドメインを有するネットワークに連結されたことを通報されるステップと、
前記機器から前記機器のDRM情報を選択的に獲得することによって前記機器を認識するステップと、
を含む、
ことを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項13】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器のDRM情報の提供方法であって、
前記方法は、
(a)前記機器が、前記ドメインを有するネットワークに連結されたことを知らせるステップと、
(b)前記知らせを受信したコントロールポイントに、前記機器のDRM情報を提供するステップと、
を含み、
前記コントロールポイントは、前記ドメインの形成を管理する、
ことを特徴とする方法。
【請求項14】
前記所定プロトコルは、UPnPである、
ことを特徴とする請求項13に記載の方法。
【請求項15】
前記(a)ステップは、前記UPnPのディスカバリーステップで、SSDPを利用して前記ネットワークに機器が連結されたことを知らせる、
ことを特徴とする請求項14に記載の方法。
【請求項16】
前記(b)ステップは、前記UPnPのデスクリプションステップで、HTTP
GETを通じてコントロールポイントに前記DRM情報を提供する、
ことを特徴とする請求項14に記載の方法。
【請求項17】
前記DRM情報は、前記DRMが適用されるドメインで前記機器として動作する機器モードを有し、
前記ドメインは、前記機器モードに基づいて形成される、
ことを特徴とする請求項13に記載の方法。
【請求項18】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器のDRM情報の提供方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記方法は、
前記機器が、前記ドメインを有するネットワークに連結されたことを知らせるステップと、
前記知らせを受信したコントロールポイントに、前記機器のDRM情報を提供するステップと、
を含み、
前記コントロールポイントは、前記ドメインの形成を管理する、
ことを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項1】
所定プロトコルを基盤として、DRMが適用されるドメインの形成方法において、
(a)前記ドメインの形成を管理するコントロールポイントに、前記ドメインを有するネットワークに機器が連結されたことを知らせるステップと、
(b)前記知らせを受信したコントロールポイントが前記機器から前記機器のDRM情報を獲得するステップと、
(c)前記獲得されたDRM情報に基づいて前記ドメインを形成するステップと、
を含むことを特徴とする方法。
【請求項2】
前記所定プロトコルは、UPnPである、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記(a)ステップは、前記UPnPのディスカバリーステップで、SSDPを利用して前記ネットワークに機器が連結されたことを知らせる、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記(b)ステップは、前記UPnPのデスクリプションステップでHTTP
GETを通じて前記DRM情報を獲得する、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記DRM情報は、前記DRMが適用されるドメインで前記機器として動作する機器モードを有し、
前記(c)ステップは、前記機器モードに基づいて前記ドメインを形成する、
ことを特徴とする請求項1に記載の方法。
【請求項6】
所定プロトコルを基盤として、DRMが適用されるドメインを形成する方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記方法は、
前記ドメインの形成を管理するコントロールポイントに、前記ドメインを有するネットワークに機器が連結されたことを知らせるステップと、
前記知らせを受信したコントロールポイントが、前記機器から前記機器のDRM情報を獲得するステップと、
前記獲得されたDRM情報に基づいて前記ドメインを形成するステップと、
を含む、
ことを特徴とする、コンピュータで読み取り可能な記録媒体。
【請求項7】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器の認識方法において、
(a)前記機器が、前記ドメインを有するネットワークに連結されたことを通報されるステップと、
(b)前記機器から前記機器のDRM情報を選択的に獲得することによって前記機器を認識するステップと、
を含むことを特徴とする方法。
【請求項8】
前記所定プロトコルは、UPnPである、
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記(a)ステップは、前記UPnPのディスカバリーステップで、SSDPを利用して前記ネットワークに機器が連結されたことを通報される、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記(b)ステップは、前記UPnPのデスクリプションステップで、HTTP
GETを通じて前記DRM情報を獲得する、
ことを特徴とする請求項8に記載の方法。
【請求項11】
前記DRM情報は、前記DRMが適用されるドメインで前記機器として動作する機器モードを有し、
前記(b)ステップは、前記機器モードに基づいて、前記機器を認識する、
ことを特徴とする請求項7に記載の方法。
【請求項12】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器の認識方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記方法は、
前記機器が、前記ドメインを有するネットワークに連結されたことを通報されるステップと、
前記機器から前記機器のDRM情報を選択的に獲得することによって前記機器を認識するステップと、
を含む、
ことを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項13】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器のDRM情報の提供方法であって、
前記方法は、
(a)前記機器が、前記ドメインを有するネットワークに連結されたことを知らせるステップと、
(b)前記知らせを受信したコントロールポイントに、前記機器のDRM情報を提供するステップと、
を含み、
前記コントロールポイントは、前記ドメインの形成を管理する、
ことを特徴とする方法。
【請求項14】
前記所定プロトコルは、UPnPである、
ことを特徴とする請求項13に記載の方法。
【請求項15】
前記(a)ステップは、前記UPnPのディスカバリーステップで、SSDPを利用して前記ネットワークに機器が連結されたことを知らせる、
ことを特徴とする請求項14に記載の方法。
【請求項16】
前記(b)ステップは、前記UPnPのデスクリプションステップで、HTTP
GETを通じてコントロールポイントに前記DRM情報を提供する、
ことを特徴とする請求項14に記載の方法。
【請求項17】
前記DRM情報は、前記DRMが適用されるドメインで前記機器として動作する機器モードを有し、
前記ドメインは、前記機器モードに基づいて形成される、
ことを特徴とする請求項13に記載の方法。
【請求項18】
所定プロトコルを基盤として、DRMが適用されるドメインを構成する機器のDRM情報の提供方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記方法は、
前記機器が、前記ドメインを有するネットワークに連結されたことを知らせるステップと、
前記知らせを受信したコントロールポイントに、前記機器のDRM情報を提供するステップと、
を含み、
前記コントロールポイントは、前記ドメインの形成を管理する、
ことを特徴とするコンピュータで読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−97597(P2011−97597A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2010−252256(P2010−252256)
【出願日】平成22年11月10日(2010.11.10)
【分割の表示】特願2006−542493(P2006−542493)の分割
【原出願日】平成16年11月25日(2004.11.25)
【出願人】(503447036)サムスン エレクトロニクス カンパニー リミテッド (2,221)
【Fターム(参考)】
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願日】平成22年11月10日(2010.11.10)
【分割の表示】特願2006−542493(P2006−542493)の分割
【原出願日】平成16年11月25日(2004.11.25)
【出願人】(503447036)サムスン エレクトロニクス カンパニー リミテッド (2,221)
【Fターム(参考)】
[ Back to top ]