(57)【特許請求の範囲】
【請求項１】
電子機器が利用可能なコンテンツを構成する電子ファイル、および、前記電子機器の機種毎の利用可能な前記コンテンツのリストを記憶する記憶手段を備え、
前記電子機器を特定するためのIDであって、前記電子機器の認証を行う認証サーバで発行されてから前記認証サーバに戻ってくるまでの間有効なIDであるワンタイムIDを前記電子機器から受信し、
受信した前記ワンタイムIDを前記認証サーバに送信し、
前記ワンタイムIDにより特定される前記電子機器の機種を表す機種コードを前記認証サーバから受信し、
前記機種コードにより特定される機種で利用可能な前記コンテンツのリストを前記電子機器に送信し、
送信した前記コンテンツのリストに示される前記コンテンツと前記電子機器が有する前記コンテンツとの差分を示す差分情報を前記電子機器から受信し、
前記差分情報に対応する前記電子ファイルを前記電子機器に送信する
ことを特徴とする情報処理装置。
【請求項２】
前記コンテンツのリストは、前記コンテンツを構成する前記電子ファイルを識別する電子ファイル識別子を含み、
前記差分情報は、前記電子機器が有していない前記電子ファイルの前記電子ファイル識別子を含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記コンテンツのリストは、前記コンテンツを識別するコンテンツ識別子、および、前記コンテンツのバージョン情報を含み、
前記差分情報は、前記コンテンツのリストに示されるバージョンと前記電子機器が有しているバージョンとが異なる前記コンテンツの前記コンテンツ識別子を含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記認証サーバに前記電子機器の認証の代行を申請し、
前記認証サーバにより認証の代行が許可された場合、前記認証サーバが正当であるか否かを確認するためにアクセスするサイトを示す認証サーバ確認情報を前記認証サーバから受信し、
前記電子機器から前記電子ファイルの提供を要求されたとき、前記認証サーバ確認情報を前記電子機器に送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
電子機器が利用可能なコンテンツを構成する電子ファイル、および、前記電子機器の機種毎の利用可能な前記コンテンツのリストを記憶する記憶手段を備える情報処理装置が、
前記電子機器を特定するためのIDであって、前記電子機器の認証を行う認証サーバで発行されてから前記認証サーバに戻ってくるまでの間有効なIDであるワンタイムIDを前記電子機器から受信し、
受信した前記ワンタイムIDを前記認証サーバに送信し、
前記ワンタイムIDにより特定される前記電子機器の機種を表す機種コードを前記認証サーバから受信し、
前記機種コードにより特定される機種で利用可能な前記コンテンツのリストを前記電子機器に送信し、
送信した前記コンテンツのリストに示される前記コンテンツと前記電子機器が有する前記コンテンツとの差分を示す差分情報を前記電子機器から受信し、
前記差分情報に対応する前記電子ファイルを前記電子機器に送信する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法に関し、特に、適切な電子ファイルを提供することができるようにした情報処理装置および方法に関する。
【０００２】
【従来の技術】
クライアント機器にインストールされているソフトウエアが改訂されたとき、ソフトウエアの提供元が、ネットワークを介してその旨を通知し、その通知に基づく要求に応じて、改訂されたソフトウエアを、ネットワークを介してクライアント機器に提供するサービスが存在する（例えば、特許文献１参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、クライアント機器の、例えば機種毎にソフトウエアを管理し、ソフトウエアの提供またはバージョンアップの要求があったクライアント機器に、その機種に対応するソフトウエアのリストを送信し、そのリストに基づく要求に応じて、ソフトウエアを提供するサービスは存在しない。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、クライアント機器の、例えば機種に応じてソフトウエアを提供することができるようにするものである。
【０００５】
【特許文献１】
特開平１０−３０１７８６号公報
【０００６】
【課題を解決するための手段】
本発明の情報処理装置は、電子機器が利用可能なコンテンツを構成する電子ファイル、および、電子機器の機種毎の利用可能なコンテンツのリストを記憶する記憶手段を備え、電子機器を特定するためのIDであって、電子機器の認証を行う認証サーバで発行されてから認証サーバに戻ってくるまでの間有効なIDであるワンタイムIDを電子機器から受信し、受信したワンタイムIDを認証サーバに送信し、ワンタイムIDにより特定される電子機器の機種を表す機種コードを認証サーバから受信し、機種コードにより特定される機種で利用可能なコンテンツのリストを電子機器に送信し、送信したコンテンツのリストに示されるコンテンツと電子機器が有するコンテンツとの差分を示す差分情報を電子機器から受信し、差分情報に対応する電子ファイルを電子機器に送信することを特徴とする。
【０００７】
コンテンツのリストに、コンテンツを構成する電子ファイルを識別する電子ファイル識別子を含ませ、差分情報に、電子機器が有していない電子ファイルの電子ファイル識別子を含ませることができる。
【０００８】
コンテンツのリストに、コンテンツを識別するコンテンツ識別子、および、コンテンツのバージョン情報を含ませ、差分情報に、コンテンツのリストに示されるバージョンと電子機器が有しているバージョンとが異なるコンテンツのコンテンツ識別子を含ませることができる。
【０００９】
情報処理装置には、認証サーバに電子機器の認証の代行を申請させ、認証サーバにより認証の代行が許可された場合、認証サーバが正当であるか否かを確認するためにアクセスするサイトを示す認証サーバ確認情報を認証サーバから受信させ、電子機器から電子ファイルの提供を要求されたとき、認証サーバ確認情報を電子機器に送信させることができる。
【００１６】
本発明の情報処理方法は、電子機器が利用可能なコンテンツを構成する電子ファイル、および、電子機器の機種毎の利用可能なコンテンツのリストを記憶する記憶手段を備える情報処理装置が、電子機器を特定するためのIDであって、電子機器の認証を行う認証サーバで発行されてから認証サーバに戻ってくるまでの間有効なIDであるワンタイムIDを電子機器から受信し、受信したワンタイムIDを認証サーバに送信し、ワンタイムIDにより特定される電子機器の機種を表す機種コードを認証サーバから受信し、機種コードにより特定される機種で利用可能なコンテンツのリストを電子機器に送信し、送信したコンテンツのリストに示されるコンテンツと電子機器が有するコンテンツとの差分を示す差分情報を電子機器から受信し、差分情報に対応する電子ファイルを電子機器に送信することを特徴とする。
【００１７】
本発明の情報処理装置および情報処理方法においては、電子機器を特定するためのIDであって、電子機器の認証を行う認証サーバで発行されてから認証サーバに戻ってくるまでの間有効なIDであるワンタイムIDが電子機器から受信され、受信されたワンタイムIDが認証サーバに送信され、ワンタイムIDにより特定される電子機器の機種を表す機種コードが認証サーバから受信され、機種コードにより特定される機種で利用可能なコンテンツのリストが電子機器に送信され、送信されたコンテンツのリストに示されるコンテンツと電子機器が有するコンテンツとの差分を示す差分情報が電子機器から受信され、差分情報に対応する電子ファイルが電子機器に送信される。
【００２９】
【発明の実施の形態】
図１は、本発明を適用したソフトウエア提供システムの構成例を示している。CE機器１乃至CE機器製造所４が、インターネットを含むネットワーク５に接続されている。
【００３０】
複数のCE(Consumer Electronics)機器１−１，１−２，・・・（以下、個々に区別する必要がない場合、単に、CE機器１と称する。他の場合についても同様である）は、ユーザにより使用されるパーソナルコンピュータ、携帯情報端末装置、テレビジョン受像機、オーディオプレーヤ、ビデオデッキ、カーナビゲーション装置、電子レンジ、冷蔵庫、または洗濯機などの家電製品で、ネットワーク５に接続する機能を有するものである。
【００３１】
CE機器１は、機器ID等、CE機器１の認証に必要な所定の認証情報を認証代行サーバ２に送信して認証を要求し、認証代行サーバ２によって認証されたとき、サービスサーバ３から、所望のソフトウエアの提供を受けることができる。
【００３２】
認証代行サーバ２は、CE機器１から送信されてきた認証情報に基づいて、例えば、CE機器１がソフトウエア提供サービスを利用することができる機器であるか否かの認証を、サービスサーバ３に代わって行う。
【００３３】
サービスサーバ３は、認証代行サーバ２によりCE機器１が認証されたとき、要求があったソフトウエアをCE機器１に提供する。
【００３４】
CE機器製造所４は、所定の情報をCE機器１に格納してCE機器１を製造するとともに、所定の情報を、ネットワーク５を介して認証代行サーバ２に供給する。
【００３５】
なお、以下においては、適宜、説明を簡単にするために、例えば、ネットワーク５を介して行われる送受信を、「ネットワーク５を介する」の語を省略して、単に、送受信と記述する。
【００３６】
次に、ソフトウエア提供サービスの概略を、図２を参照して説明する。
【００３７】
サービスサーバ３は、CE機器１が利用可能なソフトウエアを、CE機器１の機種毎に管理している。具体的には、サービスサーバ３は、例えば、CE機器１の機種毎のファイル格納部３１Ａ，３１Ｂ，・・・とリスト格納部３２Ａ，３２Ｂ，・・・を有しており、所定の機種のCE機器１が利用できるソフトウエアを構成するファイルを、機種に対応するファイル格納部３１に格納し、そのソフトウエアのリストを、リスト格納部３２に格納している。
【００３８】
図２の例では、ファイル格納部３１Ａには、機種ＡのCE機器１が利用可能なソフトウエアのファイルが格納されており、リスト格納部３２Ａには、そのソフトウエアのリストが格納されている。またファイル格納部３１Ｂには、機種ＢのCE機器１が利用可能なソフトウエアのファイルが格納されており、リスト格納部３２Ｂには、そのソフトウエアのリストが格納されている。
【００３９】
ここでソフトウエアとは、ファームウエア、カーネル、ミドルウエア、アプリケーション用のソフトウエア等を意味する。またファイルとは、ソフトウエアを構成するプログラムのデータ、機能拡張のための追加データ等を意味する。またここではソフトウエアとしているが、CE機器１が利用可能なものであれば、ソフトウエアに限らない他のコンテンツでもよい。
【００４０】
サービスサーバ３は、例えば、CE機器１の要求に応じて、そのCE機器１の機種に対応するリスト格納部３２に格納されているリストを、CE機器１に送信する（番号１）。
【００４１】
CE機器１は、CE機器１にインストールされているソフトウエアを構成するファイルをファイル格納部１１に格納し、インストールされているソフトウエアのリストを、リスト格納部１２に格納している。
【００４２】
CE機器１は、サービスサーバ３から送信されてきた、自分の機種に応じたソフトウエアのリストを受信すると、そのリストと、リスト格納部１２に格納されているリストとの差分を、サービスサーバ３に通知する（番号２）。
【００４３】
サービスサーバ３は、CE機器１から通知された差分に対応するファイル、すなわち例えば、CE機器１にインストールされていないソフトウエア、またはバージョンが古いソフトウエアを構成するファイルを、CE機器１の機種に対応するファイル格納部３１から読み出し、CE機器１に送信する（番号３）。
【００４４】
CE機器１は、サービスサーバ３から送信されてきたファイルに基づいて、ソフトウエアをインストールまたはアップデートする。
【００４５】
図３は、CE機器１の構成例を表している。
【００４６】
CPU４１は、ROM４２またはファイル格納部１１からRAM４３にロードされたソフトウエアに従って各種の処理を実行する。RAM４３にはまた、CPU４１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００４７】
CPU４１、ROM４２、およびRAM４３は、バス４４を介して相互に接続されている。このバス４４にはまた、入出力インタフェース４５も接続されている。
【００４８】
入出力インタフェース４５には、キーボード、マウスなどよりなる入力部４６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部４７、記憶部４８、ファイル格納部１１、リスト格納部１２、およびモデム、ターミナルアダプタなどより構成される通信部４９が接続されている。通信部４９は、ネットワーク５を介しての通信処理を行う。
【００４９】
入出力インタフェース４５にはまた、必要に応じてドライブ５０が接続され、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、またはメモリカード６４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部４８にインストールされる。
【００５０】
図４は、サービスサーバ３の構成例を示している。この構成は、CE機器１の構成と、基本的に同様であるので、その詳細な説明は省略するが、CE機器１の機種毎に設けられたファイル格納部３１には、所定のソフトウエアを構成するファイルが格納されている。CE機器１の機種毎に設けられたリスト格納部３２には、ソフトウエアのリストが格納されている。なお、このリストのデータ構造については、後述する。
【００５１】
次に、CE機器１の製造時の処理を、図５のフローチャートを参照して説明する。
【００５２】
認証代行サーバ２は、ステップＳ１１において、CE機器１の機器IDおよびユーザには解読できない乱数(以下、パスフレーズと称する)を生成する。ステップＳ１２において、認証代行サーバ２は、チャレンジ公開鍵およびチャレンジ秘密鍵を生成して保存する。
【００５３】
ステップＳ１３において、認証代行サーバ２は、機器ID、パスフレーズ、およびチャレンジ公開鍵を、CE機器製造所４に送信する。
【００５４】
CE機器製造所４は、ステップＳ１において、認証代行サーバ２からの機器ID、パスフレーズ、およびチャレンジ公開鍵を受信すると、ステップＳ２において、機器IDを元に、機器顧客登録コードを、図６のフローチャートに示すような手順で生成する。
【００５５】
機器IDが、４桁の数列である場合、ステップＳ３１において、機器IDの各桁の数字を足し合わせた合計値が９で除算され、その余りが、機器IDの２桁目の数字と３桁目の数字の間に挿入される。
【００５６】
例えば、機器IDが「1234」である場合、「1234」の各桁を足し合わせた合計の値１０が値９で除算され、そのときの余り値１が、「1234」の２桁目の数字「２」と３桁目の数字「３」の間に挿入され、数列「12134」が生成される。
【００５７】
次に、ステップＳ３２において、ステップＳ３１で生成された数列の１桁目の数字と５桁目の数字が入れ替えられる。
【００５８】
例えば、数列「12134」の1桁目の数字「１」と5桁目の数字「４」が入れ替えられ、数列「42131」が生成される。
【００５９】
ステップＳ３３において、ステップＳ３２で生成された数列の各桁を足し合わせた合計の値に２が乗算され、その結果得られた値の１桁目の数字が、ステップＳ３２で生成された数列の４桁目の数字と５桁目の数字の間に挿入される。その結果得られた数列が、機器顧客登録コードとされる。
【００６０】
例えば、数列「42131」の各桁の合計の値１１に２が乗算され、その結果得られた値２２の1桁目の数字「２」が、数列「42131」の４桁目の数字「３」と５桁目の数字「１」の間に挿入され、機器顧客登録コード「421321」が生成される。
【００６１】
図５に戻り、ステップＳ３において、CE機器製造所４は、ステップＳ１で受信した機器ID、パスフレーズ、およびチャレンジ公開鍵を、CE機器１の記憶部４８に記憶させて、CE機器１を製造する。CE機器製造所４はまた、ステップＳ２で生成した機器顧客登録コードを、例えば、シール等に印刷して、CE機器１とともに箱詰し、CE機器１に添付する。
【００６２】
次に、ステップＳ４において、CE機器製造所４は、機器ID、パスフレーズ、並びにCE機器１の機種を表す機種コードなどのCE機器１に関する情報（以下、機器情報と称する）を格納して、データベースである機器登録マスタ４Ａを生成する。
【００６３】
ステップＳ５において、CE機器製造所４は、ステップＳ４で生成した機器登録マスタ４Ａを、ネットワーク５を介して認証代行サーバ２に送信する。認証代行サーバ２は、ステップＳ１４において、CE機器製造所４から送信されてきたCE機器１の機器登録マスタ４Ａを保存する。
【００６４】
なお、CE機器製造所４は、機器登録マスタ４Ａを、認証代行サーバ２に送信する際、第３者により機器登録マスタ４Ａが不正に取得されないように、機器登録マスタ４Ａを所定の手段により暗号化して、認証代行サーバ２に送信する。またCE機器１、認証代行サーバ２、またはサービスサーバ３間で送受信される情報も、適宜、所定の手段により暗号化されているものとする。
【００６５】
次に、ステップＳ６において、CE機器１の販売が開始される。例えば、CE機器１は、ネットワーク５を介して通信販売される。
【００６６】
次に、サービスサーバ３が行うソフトウエア提供サービスについて、サービスサーバ３に代わって認証代行サーバ２が認証することができるように、ソフトウエア提供サービスを認証代行サーバ２に登録する処理を、図７のフローチャートを参照して説明する。
【００６７】
はじめに、サービスサーバ３は、ステップＳ５１において、ソフトウエア提供サービスの認証代行を認証代行サーバ２に申請する。
【００６８】
認証代行サーバ２は、ステップＳ４１において、サービスサーバ３を審査し、ステップＳ４２において、その審査結果に基づいて、ソフトウエア提供サービスを、認証代行することができるサービスとして登録することができるか否かを判定し、登録することができないと判定した場合、後述するステップＳ４３，４４の処理を行わず、処理を終了させる。
【００６９】
一方、ステップＳ４２で、ソフトウエア提供サービスを登録することができると判定された場合、ステップＳ４３に進み、認証代行サーバ２は、ソフトウエア提供サービスを提供するサイト（サービスサーバ３が管理するサイト）のURL等を保存する。次に、ステップＳ４４において、認証代行サーバ２は、後述する図１２のステップＳ１５３で、CE機器１が、認証代行サーバ２が正当なサーバであるか否かを確認するときにアクセスするサイトのURL等が記述された情報（以下、認証代行サーバ確認情報と称する）を生成し、サービスサーバ３に送信する。
【００７０】
サービスサーバ３は、ステップＳ５２において、認証代行サーバ確認情報が受信されたか否かを判定し、受信されなかったと判定した場合（認証代行サーバ２におけるステップＳ４２でNOの判定がなされ、ステップＳ４４の処理が行われず、認証代行サーバ確認情報が送信されなかったとき）、処理を終了させる。
【００７１】
ステップＳ５２で、認証代行サーバ確認情報が受信されたと判定された場合、ステップＳ５３に進み、サービスサーバ３は、その認証代行サーバ確認情報を保存する。
【００７２】
以上のようにして、ソフトウエア提供サービスが、認証代行することができるサービスとして認証代行サーバ２に登録される。
【００７３】
次に、認証代行サーバ２が、上述したように登録されたソフトウエア提供サービスについてCE機器１を認証することができるように、CE機器１を認証代行サーバ２に登録する処理を、図８のフローチャートを参照して説明する。
【００７４】
ステップＳ６１において、CE機器１を購入したユーザが、CE機器１の登録用アプリケーション（例えばブラウザ、またはCE機器登録用の専用アプリケーション）を起動すると、CE機器１は、ユーザ情報を取得する。
【００７５】
具体的には、CE機器１は、例えば、図９に示すような、ユーザの名前、住所、電話番号の他、例えば郵便番号、生年月日、性別、およびクレジットカードの種類、番号、有効期限等のユーザに関する情報(以下、認証用のユーザ情報と称する)を入力するための入力画面を、出力部４７のディスプレイに表示させる。なお、図９の例では、CE機器１には、機器IDが記憶されているので（図５のステップＳ３）、機器IDが入力画面に表示されている。
【００７６】
ユーザが、認証用のユーザ情報を、図９の入力画面に入力した後、確認ボタン４７Ａを操作して、入力した内容を、図１０に示すように表示させて確認し、その画面の登録ボタン４７Ｂを操作すると、CE機器１は、図９の入力画面に入力された情報を、ユーザの認証用のユーザ情報として取得する。
【００７７】
次に、ステップＳ６２において、CE機器１は、認証代行サーバ２が運営しているCE機器登録用のサイトにアクセスし、ステップＳ６１で取得した認証用のユーザ情報を、記憶部４８に記憶されている機器IDとパスフレーズ（図５のステップＳ３）とともに、認証代行サーバ２に送信する。
【００７８】
認証代行サーバ２は、ステップＳ７１において、CE機器１から送信されてきた認証用のユーザ情報、機器ID、およびパスフレーズを受信し、ステップＳ７２において、受信した機器IDとパスフレーズが登録されている、機器登録マスタ４Ａ（図５のステップＳ１４）が存在するか否かを確認して、CE機器１が、正当に出荷された機器（正規の機器）であるか否かを判定する。
【００７９】
ステップＳ７２で、CE機器１が正規の機器であると判定された場合、すなわちステップＳ７１で受信された機器IDとパスフレーズが登録されている機器登録マスタ４Ａが存在する場合、ステップＳ７３に進み、認証代行サーバ２は、ステップＳ７１で受信した認証用のユーザ情報を、機器登録マスタ４Ａに登録されている機器IDと対応付けて登録し、顧客登録マスタ２Ａを生成し、保存する。これにより、認証代行サーバ２は、機器IDを基に、機器情報の他、認証用のユーザ情報も検索することができる。
【００８０】
次に、ステップＳ７４において、認証代行サーバ２は、登録が完了した旨をCE機器１に通知する。
【００８１】
ステップＳ７２で、CE機器１が正規の機器ではないと判定された場合、ステップＳ７５に進み、登録ができなかった旨がCE機器１に通知される。
【００８２】
ステップＳ７４またはステップＳ７５で、所定のメッセージが通知されたとき、認証代行サーバ２は、処理を終了させる。
【００８３】
CE機器１は、ステップＳ６３において、認証代行サーバ２から通知された登録が完了した旨または登録ができなかった旨を受信し、それに対応したメッセージを表示する。その後処理は、終了する。
【００８４】
このようにして、CE機器１が、認証できる機器として認証代行サーバ２に登録される。
【００８５】
次に、CE機器１が、ソフトウエア提供サービスを利用することができるように、CE機器１をサービスサーバ３に登録する処理を、図１１のフローチャートを参照して説明する。
【００８６】
サービスサーバ３は、ステップＳ９１において、サービス登録用のユーザ情報をCE機器１に要求する。
【００８７】
CE機器１は、ステップＳ８１において、機器顧客登録コードを入力する入力画面を、出力部４７に表示して、機器顧客登録コードを取得し、またサービス登録用のユーザ情報を入力する入力画面を表示して、サービス登録用のユーザ情報を取得する。
【００８８】
次に、ステップＳ８２において、CE機器１は、サービスサーバ３が運営するCE機器登録用のサイトにアクセスし、ステップＳ８１で取得したユーザ情報および機器顧客登録コードを送信する。
【００８９】
サービスサーバ３は、ステップＳ９２において、CE機器１から送信されてきた機器顧客登録コードを認証代行サーバ２に送信し、CE機器１の機器IDの供給を要求する。
【００９０】
認証代行サーバ２は、ステップＳ１０１において、サービスサーバ３から送信されてきた機器顧客登録コードから機器IDを算出する。機器顧客登録コードは、図６を参照して説明したように機器IDに基づく演算により求められているので、機器顧客登録コードに対してその逆の演算を行うことにより、機器IDを算出することができる。
【００９１】
次に、ステップＳ１０２において、認証代行サーバ２は、算出した機器IDを、サービスサーバ３に送信する。
【００９２】
サービスサーバ３は、ステップＳ９３において、CE機器１からのユーザ情報を、認証代行サーバ２からの機器IDに関連付けて登録し、顧客登録マスタ３Ａを生成し、保存する。これにより、サービスサーバ３は、機器IDを元に、ユーザ情報を検索することができる。
【００９３】
次に、CE機器１が、ソフトウエア提供サービスを利用する場合のCE機器１、認証代行サーバ２、およびサービスサーバ３の動作を、図１２のフローチャートを参照して説明する。
【００９４】
ユーザの入力部４６に対する操作により、ソフトウエア提供サービスを利用する指示がなされると、CE機器１は、ステップＳ１５１において、サービスサーバ３にアクセスし、ソフトウエア提供サービスの利用を要求する。
【００９５】
サービスサーバ３は、CE機器１から、ソフトウエア提供サービスの利用が要求されると、ステップＳ１７１において、後述するステップＳ１７７の処理でCE機器１とのセッションが確立されているか否かを判定し、CE機器１とのセッションが確立されていると判定した場合、後述するステップＳ１７２乃至ステップＳ１７７の処理をスキップして、ステップＳ１７８に進む。
【００９６】
一方、ステップＳ１７１で、セッションが確立されていないと判定された場合、ステップＳ１７２に進み、サービスサーバ３は、図７のステップＳ５３で保存した認証代行サーバ確認情報をCE機器１に送信する。
【００９７】
認証代行サーバ確認情報には、認証代行サーバ２が正当なサーバであるか否かを確認するときにアクセスされるサイトのURL等が埋め込まれている。
【００９８】
CE機器１は、ステップＳ１５２において、サービスサーバ３からの認証代行サーバ確認情報が受信されたか否かを判定し、受信されなかったと判定した場合（サービスサーバ３におけるステップＳ１７１でYESの判定がなされ、ステップＳ１７２の処理が行われず、認証代行サーバ確認情報が送信されなかったとき）、後述するステップＳ１５３乃至ステップＳ１５７の処理をスキップして、ステップＳ１５８に進む。
【００９９】
ステップＳ１５２で、認証代行サーバ確認情報が受信されたと判定された場合、ステップＳ１５３に進み、CE機器１は、受信された認証代行サーバ確認情報を利用して、認証代行サーバ２が正当なサーバであるか否かを確認する処理を行う。
【０１００】
具体的には、CE機器１は、乱数(以下、ここで発生される乱数を、適宜、チャレンジと称する)を生成し、その乱数（チャレンジ）を、認証代行サーバ確認情報に示されるURLのサイトに送信する。
【０１０１】
認証代行サーバ確認情報に示されるURLのサイトは、CE機器１からの乱数（チャレンジ）を、図５のステップＳ１２で生成したチャレンジ秘密鍵で暗号化し、CE機器１に送信する。
【０１０２】
CE機器１は、認証代行サーバ２から送信されてきた、チャレンジ秘密鍵で暗号化された乱数（チャレンジ）を、図５のステップＳ３で記憶部４８に記憶されたチャレンジ公開鍵で復号し、先に発生したチャレンジと照合する。その照合の結果、両チャレンジが一致する場合、認証代行サーバ２は、正当なサーバであると認識される。
【０１０３】
ステップＳ１５４において、CE機器１は、ステップＳ１５３での確認結果に基づいて、認証代行サーバ２が正当なサーバであるか否かを判定し、正当なサーバではないと判定した場合、後述するステップＳ１５５乃至ステップＳ１５９の処理を行わず、処理を終了させる。
【０１０４】
一方、ステップＳ１５４で、認証代行サーバ２が正当なサーバであると判定された場合、ステップＳ１５５に進み、CE機器１は、図５のステップＳ３で記憶部４８に記憶された機器IDとパスフレーズ、並びにソフトウエア提供サービスを実際に行うサービスサーバ３のサイトのURLを、認証代行サーバ２に送信し、ソフトウエア提供サービスを利用するための認証を要求する。
【０１０５】
認証代行サーバ２は、ステップＳ１９１において、CE機器１における認証代行サーバ確認処理（ステップＳ１５３）に対応する処理を行った後、ステップＳ１９２において、CE機器１から認証が要求されたか否かを判定し、認証が要求されなかったと判定した場合（CE機器１におけるステップＳ１５４の処理で、NOの判定がなされ、ステップＳ１５５の処理が行われず、認証が要求されなかったとき）、後述するステップＳ１９３乃至ステップＳ１９７の処理を行わず、処理を終了させる。
【０１０６】
一方、ステップＳ１９２で、CE機器１から認証が要求されたと判定された場合、ステップＳ１９３に進み、認証代行サーバ２は、CE機器１がその利用を要求するソフトウエア提供サービスが、認証代行サーバ２が認証を代行することができるサービスとして登録されているか否かを判定する。具体的には、認証代行サーバ２は、図７のステップＳ４３で、登録したサービスのURLを保存しているので、CE機器１から送信されてきたURLと同一のものが、登録したサービスのURLとして保存されているか否かを判定する。
【０１０７】
ステップＳ１９３で、ソフトウエア提供サービスが登録されていると判定された場合、ステップＳ１９４に進み、認証代行サーバ２は、ステップＳ１９２で受信された機器IDおよびパスフレーズが登録されている機器登録マスタ４Ａが存在するか否かを確認して、CE機器１を認証する。
【０１０８】
ステップＳ１９３で、ソフトウエア提供サービスが登録されていないと判定されたとき、またはステップＳ１９４で、CE機器１が認証されなかったとき、後述するステップＳ１９５乃至ステップＳ１９７の処理は行われず、処理は終了する。
【０１０９】
ステップＳ１９４で、CE機器１が認証されたとき、ステップＳ１９５に進み、認証代行サーバ２は、後述するステップＳ１９６で無効とされるまでの間CE機器１を特定するワンタイムIDを発行し、CE機器１に送信する。
【０１１０】
CE機器１は、ステップＳ１５６において、認証代行サーバ２からのワンタイムIDが受信されたか否かを判定し、受信されなかったと判定した場合（認証代行サーバ２におけるステップＳ１９３またはステップＳ１９４でNOの判定がなされ、ステップＳ１９５の処理が行われず、ワンタイムIDが送信されなかった場合）、後述するステップＳ１５７乃至ステップＳ１５９の処理を行わず、処理を終了させる。
【０１１１】
一方、ステップＳ１５６で、ワンタイムIDが受信されたと判定された場合、ステップＳ１５７に進み、CE機器１は、ステップＳ１５６で受信したワンタイムIDを、サービスサーバ３に送信する。
【０１１２】
サービスサーバ３は、ステップＳ１７３において、CE機器１からのワンタイムIDが受信されたか否かを判定し、受信されなかったと判定した場合（CE機器１におけるステップＳ１５６の処理でNOの判定がなされ、ステップＳ１５７の処理が行われず、ワンタイムIDが送信されなかった場合）、後述するステップＳ１７４乃至ステップＳ１７８の処理を行わず、処理を終了させる。
【０１１３】
一方、ステップＳ１７３で、ワンタイムIDが受信されたと判定された場合、ステップＳ１７４に進み、サービスサーバ３は、ステップＳ１７３で受信したワンタイムIDを、認証代行サーバ２に送信するとともに、CE機器１の機種コードの提供を要求する。
【０１１４】
認証代行サーバ２は、ステップＳ１９６において、サービスサーバ３から送信されてきたワンタイムIDを受信するとともに、それが、ステップＳ１９２で受信したURLに対応するサーバから送信されてきたものであるか否かを確認する。ワンタイムIDは、その後、無効となる。
【０１１５】
次に、ステップＳ１９７において、認証代行サーバ２は、ステップＳ１９６で受信したワンタイムIDにより特定されるCE機器１の機種コードを、CE機器１の機器登録マスタ４Ａから検索し、サービスサーバ３に送信する。
【０１１６】
サービスサーバ３は、ステップＳ１７５において、認証代行サーバ２から送信されてきたCE機器１の機種コードを受信すると、ステップＳ１７６において、CE機器１が、ソフトウエア提供サービスを利用することができる機器としてサービスサーバ３に登録されているか否かを判定し、登録されていないと判定した場合、後述するステップＳ１７７，Ｓ１７８の処理を行わず、処理を終了させる。
【０１１７】
一方、ステップＳ１７６で、CE機器１が登録されていると判定された場合、ステップＳ１７７に進み、サービスサーバ３は、CE機器１とのセッションを確立する。なお、CE機器１とのセッションが継続している間は、原則、CE機器１の認証は、認証代行サーバ２に要求されない（ステップＳ１７１でYESの判定がなされ、ステップＳ１７２乃至ステップＳ１７６の処理がスキップされる）。
【０１１８】
ステップＳ１７１で、セッションが確立されていると判定されたとき、またはステップＳ１７７で、セッションが確立されたとき、ステップＳ１７８に進み、サービスサーバ３は、CE機器１の機種に応じたソフトウエアを提供するサービスを開始し、適宜、所定のソフトウエアをCE機器１に提供する。
【０１１９】
CE機器１は、ステップＳ１５２で、認証代行サーバ確認情報が受信されなかったと判定された場合（セッションが既に確立されている可能性がある場合）、またはステップＳ１５７で、ワンタイムIDを認証代行サーバ２に送信したとき、ステップＳ１５８に進み、サービスサーバ３におけるソフトウエア提供サービスが開始されたか否かを判定し、開始されたと判定した場合、ステップＳ１５９に進み、ソフトウエアの提供を受けるための所定の処理を実行する。
【０１２０】
次に、図１２の、CE機器１におけるステップＳ１５８，１５９、およびサービスサーバ３におけるステップＳ１７８の処理の詳細について、図１３のフローチャートを参照して説明する。
【０１２１】
ステップＳ２６１において、サービスサーバ３は、図１２のステップＳ１７５で受信した機種コードに対応するリスト格納部３２を検出し、ステップＳ２６２において、検出したリスト格納部３２に格納されているリスト（CE機器１の機種に対応するリスト）を、CE機器１に送信する。
【０１２２】
リストには、例えば、図１４に示すように、所定の機種のCE機器１がインストールすることができるソフトウエアのID、およびそれを構成するファイルのIDが設定されているもの、または図１５に示すように、所定の機種のCE機器１がインストールすることができるソフトウエアのID、およびそのバージョン番号が設定されているものなどがある。
【０１２３】
なお、図１４と図１５を組み合わせ、ソフトウエアID、バージョン番号、およびファイルIDからリストを構成することもできる。またファイルの大きさを付加することもできる。
【０１２４】
図１３に戻り、CE機器１は、ステップＳ２５１において、サービスサーバ３からのリストが受信されたか否かを判定し、受信されたと判定した場合、ステップＳ２５２に進む。
【０１２５】
ステップＳ２５２において、CE機器１は、ステップＳ２５１で受信したリストと、リスト格納部１２に格納されているリスト（サービスサーバ３が管理するものと同様の形態のもの（図１４，１５））との差分を検出し、ステップＳ２５３において、検出した差分を示す情報（差分情報）を、サービスサーバ３に送信する。
【０１２６】
例えば、サービスサーバ３からのリストに含まれているが、CE機器１のリスト（図１４または図１５）には含まれていないソフトウエアIDがあった場合、そのソフトウエアIDが差分情報として送信される。
【０１２７】
また、サービスサーバ３からのリストに存在するソフトウエアIDと同一のものが、CE機器１のリスト（図１４）に設定されているが、サービスサーバ３からのリストに含まれているが、CE機器１のリストに含まれていない、そのソフトウエアを構成するファイルのIDがあった場合、そのファイルIDが差分情報として送信される。
【０１２８】
またサービスサーバ３からのリストに存在するソフトウエアIDと同一のものが、CE機器１のリストに設定されているが、ソフトウエアのバージョン番号が異なる場合（図１５）、そのソフトウエアIDが差分情報として送信される。
【０１２９】
サービスサーバ３は、ステップＳ２６３において、CE機器１からの差分情報を受信するとともに、その差分情報に対応するファイルを、CE機器１の機種に対応するファイル格納部３１から読み出す。
【０１３０】
例えば、ソフトウエアIDが送信されてきた場合、そのIDを有するソフトウエアの最新のバージョンを構成するファイルが、ファイル格納部３１から読み出される。
【０１３１】
またファイルIDが送信されてきた場合、そのIDを有するファイルがファイル格納部３１から読み出される。
【０１３２】
ステップＳ２６４において、サービスサーバ３は、ステップＳ２６３で検出したファイルを、CE機器１に送信する。
【０１３３】
CE機器１は、ステップＳ２５４において、サービスサーバ３から送信されてきたファイルを受信するとともに、受信したファイルをファイル格納部１１に格納し、適宜、ソフトウエアのインストールまたはソフトウエアのバージョンアップを行う。
【０１３４】
このようにして、CE機器１の機種に応じたソフトウエアがCE機器１に提供される。
【０１３５】
なお、以上においては、機器IDと機種コードとがそれぞれ別個に存在したが、機器IDを、機種コードとそれに続くシリアル番号から構成し、機器IDから機種コードを検出することができるようにすることもできる。
【０１３６】
また以上においては、CE機器１の機種に応じて、ソフトウエアを提供したが、例えば、CE機器１の製造メーカ、または製造年月日等に応じてソフトウエアを提供することもできる。
【０１３７】
さらに、以上においては、CE機器１の認証が、認証代行サーバ２によって行われたが、サービスサーバ３自身が行うようにすることもできる。
【０１３８】
図１６のフローチャートは、サービスサーバ３自身がCE機器１の認証を行う場合の、ソフトウエア提供サービスを利用するための処理手順を示している。
【０１３９】
ステップＳ３０１において、CE機器１は、サービスサーバ３にアクセスし、ソフトウエア提供サービスの利用を要求する。
【０１４０】
サービスサーバ３は、CE機器１から、ソフトウエア提供サービスの利用が要求されると、ステップＳ３１１において、CE機器１を認証する。
【０１４１】
具体的には、図８を参照して説明したように、サービスサーバ３は、CE機器１の機器IDとユーザ情報とが設定されているCE機器１のユーザの顧客登録マスタ３Ａを保存しているので、CE機器１がサービスの利用を要求する際に、例えば、機器IDを送信させ、その機器IDが設定された顧客登録マスタ３Ａが存在するか否かを確認する。
【０１４２】
ステップＳ３１１で、CE機器１が認証されなかった場合、後述するステップＳ３１２乃至ステップＳ３１５の処理は行われず、処理は終了する。
【０１４３】
ステップＳ３１１で、CE機器１が認証されたと判定された場合、ステップＳ３１２に進み、サービスサーバ３は、CE機器１の機種に対応するリスト格納部３２を検出し、ステップＳ３１３において、それをCE機器１に送信する。なお、この場合、CE機器１の機器は、ステップＳ３０１でサービスの利用が要求される際に、CE機器１から機種コードが送信されるか、機器IDから機種コードが抽出されることによって認識されるものとする。
【０１４４】
CE機器１におけるステップＳ３０２乃至ステップＳ３０５においては、図１３のステップＳ２５１乃至ステップＳ２５４における場合と同様の処理が行われ、サービスサーバ３におけるステップＳ３１４，Ｓ３１５においては、図１３のステップＳ２６３，２６４における場合と同様の処理が行われるので、その説明は省略する。
【０１４５】
※この場合のメリットは、複数のソフトウェア提供サイトがある場合に認証代行を依頼することができると供に、ソフトウェア提供サイトには機器のセキュアな機器コードを開示しなくて済む点です。
【０１４６】
なお、無償でソフトウエアを提供する場合は必要ないが、有償でソフトウエアを提供する場合、ステップＳ３１１で、CE機器１が認証された後、CE機器１に、ユーザのパスワードなどの入力を要求し、課金のためにユーザ認証を行うようにすることもできる。
【０１４７】
また、サービスサーバ３が管理するソフトウエアのファイルの改訂等は、図１７に示すように、ソフトウエアの製造元が管理するソフトウエア管理サーバ１０１が、例えば、ネットワーク５または専用線を介してサービスサーバ３と通信することによって行うようにすることもできる。
【０１４８】
【発明の効果】
本発明によれば、適切な電子ファイルを提供することができる。
【図面の簡単な説明】
【図１】本発明を適用したソフトウエア提供システムの構成例を示す図である。
【図２】ソフトウエア提供システムの概要を説明するための図である。
【図３】図１のCE機器の構成例を示すブロック図である。
【図４】図１のサービスサーバの構成例を示すブロック図である。
【図５】図１のCE機器の製造時の処理を説明するフローチャートである。
【図６】機器顧客登録コードの生成処理を説明するフローチャートである。
【図７】図１のサービスサーバを認証代行サーバに登録する処理を説明するフローチャートである。
【図８】図１のCE機器を認証代行サーバに登録する処理を説明するフローチャートである。
【図９】認証用のユーザ情報の入力画面の例を示す図である。
【図１０】認証用のユーザ情報の確認画面の例を示す図である。
【図１１】図１のCE機器をサービスサーバに登録する処理を説明するフローチャートである。
【図１２】ソフトウエア提供サービスを利用する場合の処理手順を説明するフローチャートである。
【図１３】図１２のステップＳ１５８，Ｓ１５９，Ｓ１７８の処理を詳細に説明するフローチャートである。
【図１４】図２のリスト格納部に格納されているリストのデータ構造を示す図である。
【図１５】図２のリスト格納部に格納されているリストの他のデータ構造を示す図である。
【図１６】ソフトウエア提供サービスを利用する場合の他の処理手順を説明するフローチャートである。
【図１７】ソフトウエア管理サーバについて説明する図である。
【符号の説明】
１  CE機器，  ２  認証代行サーバ，  ３  サービスサーバ，  ４  CE機器製造所，  １０１  ソフトウエア管理サーバ
【図１】
0004292457.tif 000002
【図２】
0004292457.tif 000003
【図３】
0004292457.tif 000004
【図４】
0004292457.tif 000005
【図５】
0004292457.tif 000006
【図６】
0004292457.tif 000007
【図７】
0004292457.tif 000008
【図８】
0004292457.tif 000009
【図９】
0004292457.tif 000010
【図１０】
0004292457.tif 000011
【図１１】
0004292457.tif 000012
【図１２】
0004292457.tif 000013
【図１３】
0004292457.tif 000014
【図１４】
0004292457.tif 000015
【図１５】
0004292457.tif 000016
【図１６】
0004292457.tif 000017
【図１７】
0004292457.tif 000018