(57)【要約】【課題】家電機器のソフトウェアの更新を安全にしかも効率的に行うこと。【解決手段】現用データを新規データに更新する家電機器１００において、受信部１４０は、暗号化された新規データと、更新対象データのシリアル番号と、を受信する。鍵生成部１１２は、更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、現用データに関連付けられた固有情報に施して鍵を生成する。更新部１１３は、新規データを鍵で復号化する。【選択図】図１
2008017462.tif 000002
【特許請求の範囲】
【請求項１】
ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納手段と、
鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、
前記データ及び前記第１の生成情報と第２の生成情報とを更新する更新手段と、
から構成されるデータ格納装置であって、
前記鍵生成情報記憶手段に格納されている
第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、
第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、
ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータが格納されているデータ格納装置を更新対象とするデータＰｎをデータＰｋ（Ｍ≧ｋ≧１）に更新する更新情報を受信した場合に、
前記鍵生成手段が、
第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記Ｘ(ｎ＋ｊ，Ａ)とＹ(Ｍ−ｎ＋ｉ，Ｂ)とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、
前記更新手段が、
前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、
前記データ格納手段に格納されているデータＰｎをデータＰｋに更新し、
前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する
ことを特徴とするデータ格納装置。
【請求項２】
前記鍵生成手段が、
前記生成したＸ（ｎ＋ｊ，Ａ）及びＹ（Ｍ−ｎ＋ｉ，Ｂ）と前記ｋとから鍵情報Ｆ（Ｘ（ｎ＋ｊ，Ａ)，Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｋ)（Ｆは任意の関数）を生成し、
前記更新手段が、
前記生成した鍵情報Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｋ）を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得する
ことを特徴とする請求項１記載のデータ格納装置。
【請求項３】
前記データＰｎ及びデータＰｋが前記データ格納装置の動作を制御する制御コードである
ことを特徴とする請求項１または請求項２記載のデータ格納装置。
【請求項４】
さらに、データ通信を行う通信手段と、
前記データ格納装置の識別情報を管理装置に登録する登録手段と、
を備え、
前記通信手段が通信可能になった際に、前記登録手段が前記通信手段を介して自身の識別情報を前記管理装置に登録し、
前記通信手段を介して前記管理装置から前記更新情報を受信する
ことを特徴とする請求項１または請求項２記載のデータ格納装置。
【請求項５】
前記データ格納手段に格納されているデータＰｎを新しいデータＰｋに更新する前に、
前記更新手段が前記データ格納手段に格納されているデータＰｎと、
前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを連結したデータを、前記生成した鍵情報を用いて暗号化し、外部にバックアップする
ことを特徴とする請求項１または請求項２記載のデータ格納装置。
【請求項６】
第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、
から構成される管理サーバであって、
ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納装置に対して、
前記生成情報生成手段が、
前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、
前記第１の秘密情報Ａに不可逆演算Ｘをｎ回行って第１の生成情報Ｘ（ｎ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行って第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）を生成する
ことを特徴とする管理サーバ。
【請求項７】
第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する暗号鍵生成手段と、
データ格納装置に送信する更新情報を生成する更新情報生成手段と
から構成される管理サーバであって、
ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータを格納するデータ格納装置に対して、ｋ番目（Ｍ≧ｋ≧１）のリリースとなるデータＰｋを含む更新情報を生成する場合に、
前記生成情報生成手段が
前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、
前記第１の秘密情報Ａに不可逆演算Ｘをｋ回行って第１の生成情報Ｘ（ｋ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｋ回行って第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）を生成し、
前記暗号鍵生成手段が
前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記生成したＸ（ｎ＋ｋ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、
前記更新情報生成手段が
前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結して、さらに前記鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて暗号化し、
さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成する
ことを特徴とする管理サーバ。
【請求項８】
前記暗号鍵生成手段が
前記生成したＸ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）と前記ｋから鍵情報Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｋ）（Ｆは任意の関数）を生成し、
前記更新情報生成手段が
前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結したデータを前記鍵情報Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｋ）を用いて暗号化する
ことを特徴とする請求項７記載の管理サーバ。
【請求項９】
ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納装置に搭載される集積回路であって、
鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、
前記データ格納装置に格納されたデータと前記第１の生成情報と第２の生成情報とを更新する更新手段と、
を備え、
前記鍵生成情報記憶手段に格納されている
第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、
第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、
ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータが格納されているデータ格納装置を更新対象とするデータＰｎをデータＰｋ（Ｍ≧ｋ≧１）に更新する更新情報を受信した場合に、
前記鍵生成手段が、
第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ(ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、
前記更新手段が、
前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、
前記データ格納装置に格納されているデータＰｎをデータＰｋに更新し、
前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する
ことを特徴とする集積回路。
【請求項１０】
前記鍵生成手段が、
前記生成したＸ（ｎ＋ｊ，Ａ）及びＹ（Ｍ−ｎ＋ｉ，Ｂ）と前記ｋとから鍵情報Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｋ）（Ｆは任意の関数）を生成し、
前記更新手段が、
前記生成した鍵情報Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｋ）を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得する
ことを特徴とする請求項９記載の集積回路。
【請求項１１】
さらに、データ通信を行う通信手段と、
前記データ格納装置の識別情報を管理装置に登録する登録手段と、
を備え、
前記通信手段が通信可能になった際に、前記登録手段が前記通信手段を介して前記データ格納装置の識別情報を前記管理装置に登録し、
前記通信手段を介して前記管理装置から前記更新情報を受信する
ことを特徴とする請求項９または請求項１０記載の集積回路。
【請求項１２】
前記データ格納装置に格納されているデータＰｎを新しいデータＰｋに更新する前に、
前記更新手段が前記データ格納装置に格納されているデータＰｎと、
前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを連結したデータを、前記生成した鍵情報を用いて暗号化し、外部にバックアップする
ことを特徴とする請求項９または請求項１０記載の集積回路。
【請求項１３】
リリースの異なるデータをそれぞれ搭載した複数のデータ格納装置と、
前記データ格納装置に搭載されているデータを更新する管理サーバと
から構成されるデータ更新システムであって、
前記データ格納装置は、
ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納手段と、
鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、
前記データ及び前記第１の生成情報と第２の生成情報とを更新する更新手段と、
を備え、
前記鍵生成情報記憶手段に格納されている
第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、
第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、
前記管理サーバは、
第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する暗号鍵生成手段と、
データ格納装置に送信する更新情報を生成する更新情報生成手段と
を備え、
ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータを搭載するデータ格納装置の前記データを、ｋ番目（Ｍ≧ｋ≧１）のリリースとなるデータＰｋに更新する場合に、
前記管理サーバは、
前記生成情報生成手段が
前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、
前記第１の秘密情報Ａに不可逆演算Ｘをｋ回行って第１の生成情報Ｘ（ｋ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｋ回行って第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）を生成し、
前記暗号鍵生成手段が
前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記生成したＸ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、
前記更新情報生成手段が
前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結して、さらに前記鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて暗号化し、
さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、
前記生成した更新情報を前記複数のデータ格納装置に配信し、
前記更新情報を受信した、データＰｎを搭載しているデータ格納装置は、
前記鍵生成手段が、
第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を生成し、
前記更新手段が、
前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、
前記データ格納手段に格納されているデータＰｎをデータＰｋに更新し、
前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する
ことを特徴とするデータ更新システム。
【請求項１４】
ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納装置と、
前記データ格納装置の機器情報を保持する管理装置と、
前記データ格納装置に搭載されているデータを更新する管理サーバと
から構成されるデータ更新システムであって、
前記データ格納装置は、
データＰｎを格納するデータ格納手段と、
鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、
前記データ及び前記第１の生成情報と第２の生成情報とを更新する更新手段と、
を備え、
前記鍵生成情報記憶手段に格納されている
第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、
第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、
前記管理装置は、
前記データ格納装置から登録された機器情報を保持する機器情報管理手段と、
前記データ格納装置が格納するデータを更新するデータ更新手段と
を備え、
前記管理サーバは、
第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、
前記第１の生成情報と第２の生成情報とから鍵情報を生成する暗号鍵生成手段と、
データ格納装置に送信する更新情報を生成する更新情報生成手段と
を備え、
前記データ更新手段は、さらに、
更新情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合する照合手段と、
更新情報を保持する保持手段と、
前記データ格納装置との間で行う前記データ格納装置が格納するデータを更新する処理を制御する更新処理制御手段と
を備え、
ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータを搭載するデータ格納装置の前記データを、ｋ番目（Ｍ≧ｋ≧１）のリリースとなるデータＰｋに更新する場合に、
前記管理サーバは、
前記生成情報生成手段が
前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、
前記第１の秘密情報Ａに不可逆演算Ｘをｋ回行って第１の生成情報Ｘ（ｋ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｋ回行って第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）を生成し、
前記暗号鍵生成手段が
前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記生成したＸ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、
前記更新情報生成手段が
前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結して、さらに前記鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて暗号化し、
さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、
前記生成した更新情報を前記管理装置に配信し、
前記更新情報を受信した管理装置は、
前記照合手段が前記受信した更新情報の前記制御情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合して、機器情報が一致するデータ格納装置の機器情報が登録されていた場合に、
前記更新処理制御手段が前記受信した更新情報を前記保持手段に格納し、さらに機器情報が一致したデータ格納装置に対して前記更新情報を送信し、
前記更新情報を受信したデータ格納装置は、
前記鍵生成手段が、
第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、
第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、
更に、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を生成し、
前記更新手段が、
前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、
前記データ格納手段に格納されているデータＰｎをデータＰｋに更新し、
前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する
ことを特徴とするデータ更新システム。
【請求項１５】
現用データを新規データに更新する家電機器において、
暗号化された前記新規データと、更新対象データのシリアル番号と、を受信する受信部と、
前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成部と、
前記新規データを前記鍵で復号化する復号化部と、
を有する家電機器。
【請求項１６】
前記受信部は、
前記更新対象データのシリアル番号の最大値および最小値を受信し、
前記生成部は、
第１および第２の不可逆演算の実行により、第１の秘密情報に前記第１の不可逆演算を前記最大値と同じ回数だけ繰り返し施してなる第１の鍵成分と、第２の秘密情報に前記第２の不可逆演算を所定値から前記最小値を減算して得られる値と同じ回数だけ繰り返し施してなる第２の鍵成分と、を取得する演算部と、
前記第１および第２の鍵成分を合成して前記鍵を得る合成部と、
を有する請求項１５記載の家電機器。
【請求項１７】
前記第１の秘密情報に前記第１の不可逆演算を、前記現用データのシリアル番号と同じ回数だけ繰り返し施してなる第１の固有情報と、前記第２の秘密情報に前記第２の不可逆演算を、前記所定値から前記現用データのシリアル番号を減算して得られる値と同じ回数だけ繰り返し施してなる第２の固有情報と、を記憶する記憶部をさらに有し、
前記演算部は、
前記最大値および最小値が受信されると、前記第１の固有情報に前記第１の不可逆演算を、前記最大値から前記現用データのシリアル番号を減算して得られる値と同じ回数だけ繰り返し施すことにより前記第１の鍵成分を取得し、前記第２の固有情報に前記第２の不可逆演算を、前記現用データのシリアル番号から前記最小値を減算して得られる値と同じ回数だけ繰り返し施すことにより前記第２の鍵成分を取得する、
請求項１６記載の家電機器。
【請求項１８】
前記第１および第２の鍵成分で前記第１および第２の固有情報を更新する更新部をさらに有する、
請求項１７記載の家電機器。
【請求項１９】
現用データから新規データへの更新に用いるデータ更新方法において、
暗号化された前記新規データと、更新対象データのシリアル番号と、を取得する取得ステップと、
前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成ステップと、
前記新規データを前記鍵で復号化する復号化ステップと、
を有するデータ更新方法。
【請求項２０】
データの暗号化または復号化に用いる鍵を生成する暗復号鍵生成方法であって、
前記データに関連付けられた固有情報と前記データのシリアル番号と、を取得する取得ステップと、
前記データのシリアル番号に応じた回数だけ、所定の不可逆演算を前記固有情報に施して鍵を生成する生成ステップと、
を有する暗復号鍵生成方法。
【請求項２１】
データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、
前記データに関連付けられた第１の秘密情報Ａと第２の秘密情報Ｂとを取得する取得ステップと、
前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回（ｎ≧０、ｊ≧０）行ってＸ（ｎ＋ｊ，Ａ）を生成するステップと、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回（Ｍ≧０、ｉ≧０）行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成するステップと、
前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とを含む情報から鍵を合成するステップと、
を有する暗号鍵生成方法。
【請求項２２】
データの復号化に用いる鍵を生成する復号鍵生成方法であって、
前記データに関連付けられた第１の生成情報Ｃａと第２の生成情報Ｃｂとを取得する取得ステップと、
前記第１の生成情報Ｃａに不可逆演算Ｘをｊ回（ｊ≧０）行ってＸ（ｊ，Ｃａ）を生成するステップと、
前記第２の生成情報Ｃｂに不可逆演算Ｙをｉ回（ｉ≧０）行ってＹ（ｉ，Ｃｂ）を生成するステップと、
前記Ｘ（ｊ，Ｃａ）とＹ（ｉ，Ｃｂ）とを含む情報から鍵を合成するステップと、
を有する復号鍵生成方法。
【請求項２３】
データを暗号化する暗号化方法であって、
前記データに関連付けられた第１の秘密情報Ａと第２の秘密情報Ｂと第３の秘密情報Ｃと第４の秘密情報Ｄとを取得する取得ステップと、
前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回（ｎ≧０、ｊ≧０）行ってＸ（ｎ＋ｊ，Ａ）を生成するステップと、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回（Ｍ≧０、ｉ≧０）行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成するステップと、
前記第３の秘密情報Ｃに不可逆演算ＵをＮ＋ｑ回（Ｎ≧０、ｑ≧０）行ってＵ（Ｎ＋ｑ，Ｃ）を生成するステップと、
前記第４の秘密情報Ｄに不可逆演算ＶをＭ−Ｎ＋ｐ回（ｐ≧０）行ってＶ（Ｍ−Ｎ＋ｐ，Ｄ）を生成するステップと、
前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とを含む情報から鍵を合成するステップと、
前記Ｕ（Ｎ＋ｑ，Ｃ）とＶ（Ｍ−Ｎ＋ｐ，Ｄ）とを含む情報から鍵を合成するステップと、
暗号鍵Ｋを生成するステップと、
前記暗号鍵Ｋを用いてデータを暗号化するステップと、
前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とを含む情報から合成された鍵を用いて前記暗号鍵Ｋを暗号化するステップと、
前記Ｕ（Ｎ＋ｑ，Ｃ）とＶ（Ｍ−Ｎ＋ｐ，Ｄ）とを含む情報から合成された鍵を用いて前記暗号鍵Ｋを暗号化するステップと、
を有する暗号化方法。
【請求項２４】
データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、
前記データに関連付けられた第１の秘密情報Ａと第２の秘密情報Ｂと第３の秘密情報Ｃと第４の秘密情報Ｄとを取得する取得ステップと、
前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回（ｎ≧０、ｊ≧０）行ってＸ（ｎ＋ｊ，Ａ）を生成するステップと、
前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回（Ｍ≧０、ｉ≧０）行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成するステップと、
前記第３の秘密情報Ｃに不可逆演算Ｕをｓ＋ｑ回（ｓ≧０、ｑ≧０）行ってＵ（ｓ＋ｑ，Ｃ）を生成するステップと、
前記第４の秘密情報Ｄに不可逆演算ＶをＭ−ｓ＋ｐ回（ｐ≧０）行ってＶ（Ｍ−ｓ＋ｐ，Ｄ）を生成するステップと、
前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とＵ（ｓ＋ｑ，Ｃ）とＶ（Ｍ−ｓ＋ｐ，Ｄ）とを含む情報から鍵を合成するステップと、
を有する暗号鍵生成方法。
【請求項２５】
データの復号化に用いる鍵を生成する復号鍵生成方法であって、
前記データに関連付けられた第１の生成情報Ｃａと第２の生成情報Ｃｂと第３の生成情報Ｃｃと第４の生成情報Ｃｄとを取得する取得ステップと、
前記第１の生成情報Ｃａに不可逆演算Ｘをｊ回（ｊ≧０）行ってＸ（ｊ，Ｃａ）を生成するステップと、
前記第２の生成情報Ｃｂに不可逆演算Ｙをｉ回（ｉ≧０）行ってＹ（ｉ，Ｃｂ）を生成するステップと、
前記第３の生成情報Ｃｃに不可逆演算Ｕをｑ回（ｑ≧０）行ってＵ（ｑ，Ｃｃ）を生成するステップと、
前記第４の生成情報Ｃｄに不可逆演算Ｖをｐ回（ｐ≧０）行ってＶ（ｐ，Ｃｄ）を生成するステップと、
前記Ｘ（ｊ，Ｃａ）とＹ（ｉ，Ｃｂ）とＵ（ｑ，Ｃｃ）とＶ（ｐ，Ｃｄ）とを含む情報から鍵を合成するステップと、
を有する復号鍵生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法に関する。
【背景技術】
【０００２】
近年、エアコンや冷蔵庫、携帯音楽プレーヤなどの家電機器に搭載されるソフトウェアの高機能化が進んでいる。これに伴い、出荷後にソフトウェアの不具合などが発見されることがあり、場合によっては、ソフトウェアの更新や家電機器自体の回収が必要となる。
【０００３】
パーソナルコンピュータの場合は、ハードディスクなどの大容量記憶装置、およびＬＡＮ（Local Area Network）カードやインターネットモデムなどのインターネット接続機能を標準装備しているため、比較的容易な方法によりソフトウェアの自動更新が可能である。例えば、ソフトウェア自動更新用のソフトウェアモジュールを大容量記憶装置にインストールし、このモジュールを用いてインターネットを介して定期的にサーバに接続してサーバからソフトウェアの最新バージョンを受信して大容量記憶装置に格納する。
【０００４】
一方、家電機器の場合は、大容量記憶装置およびインターネット接続機能が標準装備されていることはまれであるため、パーソナルコンピュータと同様の方法でソフトウェアを更新することは困難である。
【０００５】
仮に、家電機器にインターネット接続機能が標準装備されたとしても、ソフトウェア更新のための設備を整えるのは困難である。その理由としては、家電機器は大量にかつ不特定多数の消費者により使用されること、家電機器のソフトウェアは機種によって異なること、および、同機種の家電機器間でもその出荷時期によってはソフトウェアのバージョンが異なり得ることが、挙げられる。
【０００６】
さらに、家電機器用ソフトウェアの更新を行うには、配信されるソフトウェアに対するセキュリティも重要である。例えば、悪意の第三者の操作により、配信されるソフトウェアに不正なコードが混入されてソフトウェアが改ざんされたり、配信される情報の中からその家電機器に関するノウハウやアルゴリズムなどの秘密情報が解読されたりすることは、確実に防止されなければならない。そのためには、ソフトウェアおよびそれに付随する情報は、配信の際に暗号化する必要がある。
【０００７】
これらに対処するための方式が、例えば特許文献１に記載されている。この装置では、実行プログラムを第１の記憶手段に書き換え可能に格納する。また、新たな実行プログラムとモジュール識別情報とを含むダウンロードモジュールを第２の記憶手段に格納する。また、第１の記憶手段に格納された実行プログラムとモジュール識別情報とから作成された暗号鍵で暗号化されたダウンロードモジュールを受信して、第２の記憶手段に格納する。そして、第１の記憶手段内の実行プログラムと第２の記憶手段内のダウンロードモジュールとから作成される暗号鍵でダウンロードモジュールを復号化する。ダウンロードモジュール中に暗号化されている格納開始アドレス、データ長およびチェックディジットが正当な値に平文化された場合、復号化された新たな実行プログラムで第１の記憶手段内の実行プログラムを置き換える。つまり、現在の実行プログラムとダウンロードモジュールの識別情報とを利用して、暗号化されたダウンロードモジュールを受信することにより、実行プログラムの改ざんや解読を防止する。
【特許文献１】国際公開第２００２／０５７９０４号パンフレット
【特許文献２】特開２００２−２９０３９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来の更新方式においては、現在の実行プログラムとダウンロードモジュール識別情報とから暗号鍵が生成されるため、バージョンごとに異なる暗号鍵でダウンロードモジュールを暗号化して配信する必要が生じる。よって、更新対象のプログラムが多数のバージョンを含む場合には、莫大なコストが必要となる。
【０００９】
また、別の方式として、特許文献２に記載された鍵束を用いた通信方式の応用が考えられる。この方法では、各家電機器に予め複数の鍵を含む鍵束を格納しておき、その鍵束の中から一つの鍵を選択して、配信する情報を選択鍵で暗号化し、暗号化した情報を選択鍵の識別情報とともに各家電機器に配信する。例えば、図２３（ａ）に示すように、互いに異なるバージョンのソフトウェアが搭載された家電機器を想定する。各家電機器には、鍵Ｋ１〜Ｋｎのｎ個の鍵からなる鍵束が格納されている。これらの家電機器に対して、図２３（ｂ）に示すように、最新バージョンのソフトウェアを配信する場合、サーバは、鍵束の中からいずれかの鍵Ｋａを選択して、選択鍵Ｋａでソフトウェアを暗号化して、暗号化したソフトウェアを選択鍵Ｋａの識別情報ａとともに配信する。各家電機器は、識別情報ａに従って鍵Ｋａを選択してソフトウェアを復号化してソフトウェアの置き換えを実行する。
【００１０】
この方式によれば、複数の家電機器に対して配信する情報を一つの共通する鍵で暗号化すればよいため、配信サーバ側のコストを抑制することができる。しかし、この方式において一定のセキュリティレベルを維持するには、鍵束に多数の鍵を含めることが必要である。よって、鍵束を格納するのに十分な記憶容量を各家電機器に設けることが求められるため、家電機器自体のコストが増大し得る。
【００１１】
本発明は、かかる点に鑑みてなされたもので、家電機器等の装置のソフトウェアの更新を安全にしかも効率的に行うことができるデータ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のデータ格納装置は、ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納手段と、鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、前記データ及び前記第１の生成情報と第２の生成情報とを更新する更新手段と、から構成されるデータ格納装置であって、前記鍵生成情報記憶手段に格納されている第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータが格納されているデータ格納装置を更新対象とするデータＰｎをデータＰｋ（Ｍ≧ｋ≧１）に更新する更新情報を受信した場合に、前記鍵生成手段が、第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記Ｘ(ｎ＋ｊ，Ａ)とＹ(Ｍ−ｎ＋ｉ，Ｂ)とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、前記更新手段が、前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、前記データ格納手段に格納されているデータＰｎをデータＰｋに更新し、前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する、構成を採る。
【００１３】
本発明の管理サーバは、第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、から構成される管理サーバであって、ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納装置に対して、前記生成情報生成手段が、前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、前記第１の秘密情報Ａに不可逆演算Ｘをｎ回行って第１の生成情報Ｘ（ｎ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行って第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）を生成する、構成を採る。
【００１４】
本発明の管理サーバは、第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する暗号鍵生成手段と、データ格納装置に送信する更新情報を生成する更新情報生成手段とから構成される管理サーバであって、ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータを格納するデータ格納装置に対して、ｋ番目（Ｍ≧ｋ≧１）のリリースとなるデータＰｋを含む更新情報を生成する場合に、前記生成情報生成手段が前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、前記第１の秘密情報Ａに不可逆演算Ｘをｋ回行って第１の生成情報Ｘ（ｋ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｋ回行って第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）を生成し、前記暗号鍵生成手段が前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記生成したＸ（ｎ＋ｋ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、前記更新情報生成手段が前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結して、さらに前記鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて暗号化し、さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成する、構成を採る。
【００１５】
本発明の集積回路は、ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納装置に搭載される集積回路であって、鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、前記データ格納装置に格納されたデータと前記第１の生成情報と第２の生成情報とを更新する更新手段と、を備え、前記鍵生成情報記憶手段に格納されている第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータが格納されているデータ格納装置を更新対象とするデータＰｎをデータＰｋ（Ｍ≧ｋ≧１）に更新する更新情報を受信した場合に、前記鍵生成手段が、第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ(ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、前記更新手段が、前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、前記データ格納装置に格納されているデータＰｎをデータＰｋに更新し、前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する、構成を採る。
【００１６】
本発明のデータ更新システムは、リリースの異なるデータをそれぞれ搭載した複数のデータ格納装置と、前記データ格納装置に搭載されているデータを更新する管理サーバとから構成されるデータ更新システムであって、前記データ格納装置は、ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納手段と、鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、前記データ及び前記第１の生成情報と第２の生成情報とを更新する更新手段と、を備え、前記鍵生成情報記憶手段に格納されている第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、前記管理サーバは、第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する暗号鍵生成手段と、データ格納装置に送信する更新情報を生成する更新情報生成手段とを備え、ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータを搭載するデータ格納装置の前記データを、ｋ番目（Ｍ≧ｋ≧１）のリリースとなるデータＰｋに更新する場合に、前記管理サーバは、前記生成情報生成手段が前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、前記第１の秘密情報Ａに不可逆演算Ｘをｋ回行って第１の生成情報Ｘ（ｋ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｋ回行って第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）を生成し、前記暗号鍵生成手段が前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記生成したＸ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、前記更新情報生成手段が前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結して、さらに前記鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて暗号化し、さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、前記生成した更新情報を前記複数のデータ格納装置に配信し、前記更新情報を受信した、データＰｎを搭載しているデータ格納装置は、前記鍵生成手段が、第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を生成し、前記更新手段が、前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、前記データ格納手段に格納されているデータＰｎをデータＰｋに更新し、前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する、構成を採る。
【００１７】
本発明のデータ更新システムは、ｎ番目（ｎ≧１）にリリースされたデータＰｎを格納するデータ格納装置と、前記データ格納装置の機器情報を保持する管理装置と、前記データ格納装置に搭載されているデータを更新する管理サーバとから構成されるデータ更新システムであって、前記データ格納装置は、データＰｎを格納するデータ格納手段と、鍵情報を生成するための第１の生成情報と第２の生成情報とを格納する鍵生成情報記憶手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する鍵生成手段と、前記データ及び前記第１の生成情報と第２の生成情報とを更新する更新手段と、を備え、前記鍵生成情報記憶手段に格納されている第１の生成情報は、第１の秘密情報Ａに不可逆演算Ｘをｎ回行ったＸ（ｎ，Ａ）、第２の生成情報は、第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ回（Ｍ−ｎ≧１）行ったＹ（Ｍ−ｎ，Ｂ）であり、前記管理装置は、前記データ格納装置から登録された機器情報を保持する機器情報管理手段と、前記データ格納装置が格納するデータを更新するデータ更新手段とを備え、前記管理サーバは、第１の秘密情報Ａと第２の秘密情報Ｂとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第１の生成情報と第２の生成情報を生成する生成情報生成手段と、前記第１の生成情報と第２の生成情報とから鍵情報を生成する暗号鍵生成手段と、データ格納装置に送信する更新情報を生成する更新情報生成手段とを備え、前記データ更新手段は、さらに、更新情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合する照合手段と、更新情報を保持する保持手段と、前記データ格納装置との間で行う前記データ格納装置が格納するデータを更新する処理を制御する更新処理制御手段とを備え、ｎ−ｉ番目〜ｎ＋ｊ番目（Ｍ≧ｎ＋ｊ≧ｎ≧ｎ−ｉ≧１）にリリースされたデータを搭載するデータ格納装置の前記データを、ｋ番目（Ｍ≧ｋ≧１）のリリースとなるデータＰｋに更新する場合に、前記管理サーバは、前記生成情報生成手段が前記秘密情報保持手段から第１の秘密情報Ａと第２の秘密情報Ｂを読み出し、前記第１の秘密情報Ａに不可逆演算Ｘをｋ回行って第１の生成情報Ｘ（ｋ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｋ回行って第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）を生成し、前記暗号鍵生成手段が前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記生成したＸ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））（Ｇは任意の関数）を生成し、前記更新情報生成手段が前記データＰｋと第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを連結して、さらに前記鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて暗号化し、さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、前記生成した更新情報を前記管理装置に配信し、前記更新情報を受信した管理装置は、前記照合手段が前記受信した更新情報の前記制御情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合して、機器情報が一致するデータ格納装置の機器情報が登録されていた場合に、前記更新処理制御手段が前記受信した更新情報を前記保持手段に格納し、さらに機器情報が一致したデータ格納装置に対して前記更新情報を送信し、前記更新情報を受信したデータ格納装置は、前記鍵生成手段が、第１の生成情報に不可逆演算Ｘをｊ回行ってＸ（ｎ＋ｊ，Ａ）を生成し、第２の生成情報に不可逆演算Ｙをｉ回行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成し、更に、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とから鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を生成し、前記更新手段が、前記生成した鍵情報Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を用いて前記更新情報の暗号を復号化して、データＰｋ及び第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とを取得し、前記データ格納手段に格納されているデータＰｎをデータＰｋに更新し、前記鍵生成情報記憶手段に格納されている第１の生成情報Ｘ（ｎ，Ａ）と第２の生成情報Ｙ（Ｍ−ｎ，Ｂ）とを、それぞれ、第１の生成情報Ｘ（ｋ，Ａ）と第２の生成情報Ｙ（Ｍ−ｋ，Ｂ）とに更新する、構成を採る。
【００１８】
本発明の家電機器は、現用データを新規データに更新する家電機器において、暗号化された前記新規データと、更新対象データのシリアル番号と、を受信する受信部と、前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成部と、前記新規データを前記鍵で復号化する復号化部と、を有する構成を採る。
【００１９】
本発明のデータ更新方法は、現用データから新規データへの更新に用いるデータ更新方法において、暗号化された前記新規データと、更新対象データのシリアル番号と、を取得する取得ステップと、前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成ステップと、前記新規データを前記鍵で復号化する復号化ステップと、を有するようにした。
【００２０】
本発明の暗復号鍵生成方法は、データの暗号化または復号化に用いる鍵を生成する暗復号鍵生成方法であって、前記データに関連付けられた固有情報と前記データのシリアル番号と、を取得する取得ステップと、前記データのシリアル番号に応じた回数だけ、所定の不可逆演算を前記固有情報に施して鍵を生成する生成ステップと、を有するようにした。
【００２１】
本発明の暗号鍵生成方法は、データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、前記データに関連付けられた第１の秘密情報Ａと第２の秘密情報Ｂとを取得する取得ステップと、前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回（ｎ≧０、ｊ≧０）行ってＸ（ｎ＋ｊ，Ａ）を生成するステップと、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回（Ｍ≧０、ｉ≧０）行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成するステップと、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とを含む情報から鍵を合成するステップと、を有するようにした。
【００２２】
本発明の復号鍵生成方法は、データの復号化に用いる鍵を生成する復号鍵生成方法であって、前記データに関連付けられた第１の生成情報Ｃａと第２の生成情報Ｃｂとを取得する取得ステップと、前記第１の生成情報Ｃａに不可逆演算Ｘをｊ回（ｊ≧０）行ってＸ（ｊ，Ｃａ）を生成するステップと、前記第２の生成情報Ｃｂに不可逆演算Ｙをｉ回（ｉ≧０）行ってＹ（ｉ，Ｃｂ）を生成するステップと、前記Ｘ（ｊ，Ｃａ）とＹ（ｉ，Ｃｂ）とを含む情報から鍵を合成するステップと、を有するようにした。
【００２３】
本発明の暗号化方法は、データを暗号化する暗号化方法であって、前記データに関連付けられた第１の秘密情報Ａと第２の秘密情報Ｂと第３の秘密情報Ｃと第４の秘密情報Ｄとを取得する取得ステップと、前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回（ｎ≧０、ｊ≧０）行ってＸ（ｎ＋ｊ，Ａ）を生成するステップと、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回（Ｍ≧０、ｉ≧０）行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成するステップと、前記第３の秘密情報Ｃに不可逆演算ＵをＮ＋ｑ回（Ｎ≧０、ｑ≧０）行ってＵ（Ｎ＋ｑ，Ｃ）を生成するステップと、前記第４の秘密情報Ｄに不可逆演算ＶをＭ−Ｎ＋ｐ回（ｐ≧０）行ってＶ（Ｍ−Ｎ＋ｐ，Ｄ）を生成するステップと、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とを含む情報から鍵を合成するステップと、前記Ｕ（Ｎ＋ｑ，Ｃ）とＶ（Ｍ−Ｎ＋ｐ，Ｄ）とを含む情報から鍵を合成するステップと、暗号鍵Ｋを生成するステップと、前記暗号鍵Ｋを用いてデータを暗号化するステップと、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とを含む情報から合成された鍵を用いて前記暗号鍵Ｋを暗号化するステップと、前記Ｕ（Ｎ＋ｑ，Ｃ）とＶ（Ｍ−Ｎ＋ｐ，Ｄ）とを含む情報から合成された鍵を用いて前記暗号鍵Ｋを暗号化するステップと、を有するようにした。
【００２４】
本発明の暗号鍵生成方法は、データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、前記データに関連付けられた第１の秘密情報Ａと第２の秘密情報Ｂと第３の秘密情報Ｃと第４の秘密情報Ｄとを取得する取得ステップと、前記第１の秘密情報Ａに不可逆演算Ｘをｎ＋ｊ回（ｎ≧０、ｊ≧０）行ってＸ（ｎ＋ｊ，Ａ）を生成するステップと、前記第２の秘密情報Ｂに不可逆演算ＹをＭ−ｎ＋ｉ回（Ｍ≧０、ｉ≧０）行ってＹ（Ｍ−ｎ＋ｉ，Ｂ）を生成するステップと、前記第３の秘密情報Ｃに不可逆演算Ｕをｓ＋ｑ回（ｓ≧０、ｑ≧０）行ってＵ（ｓ＋ｑ，Ｃ）を生成するステップと、前記第４の秘密情報Ｄに不可逆演算ＶをＭ−ｓ＋ｐ回（ｐ≧０）行ってＶ（Ｍ−ｓ＋ｐ，Ｄ）を生成するステップと、前記Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）とＵ（ｓ＋ｑ，Ｃ）とＶ（Ｍ−ｓ＋ｐ，Ｄ）とを含む情報から鍵を合成するステップと、を有するようにした。
【００２５】
本発明の復号鍵生成方法は、データの復号化に用いる鍵を生成する復号鍵生成方法であって、前記データに関連付けられた第１の生成情報Ｃａと第２の生成情報Ｃｂと第３の生成情報Ｃｃと第４の生成情報Ｃｄとを取得する取得ステップと、前記第１の生成情報Ｃａに不可逆演算Ｘをｊ回（ｊ≧０）行ってＸ（ｊ，Ｃａ）を生成するステップと、前記第２の生成情報Ｃｂに不可逆演算Ｙをｉ回（ｉ≧０）行ってＹ（ｉ，Ｃｂ）を生成するステップと、前記第３の生成情報Ｃｃに不可逆演算Ｕをｑ回（ｑ≧０）行ってＵ（ｑ，Ｃｃ）を生成するステップと、前記第４の生成情報Ｃｄに不可逆演算Ｖをｐ回（ｐ≧０）行ってＶ（ｐ，Ｃｄ）を生成するステップと、前記Ｘ（ｊ，Ｃａ）とＹ（ｉ，Ｃｂ）とＵ（ｑ，Ｃｃ）とＶ（ｐ，Ｃｄ）とを含む情報から鍵を合成するステップと、を有するようにした。
【発明の効果】
【００２６】
本発明によれば、家電機器等の装置のソフトウェアの更新を安全にしかも効率的に行うことができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２８】
（実施の形態１）
図１は、本発明の実施の形態１に係るソフトウェア更新システムとしてのデータ通信システムである。このソフトウェア更新システムは、ソフトウェア更新機能を備えた家電機器１００と、暗号化した新しいソフトウェアを含む更新情報を家電機器１００に対して配信する機器管理サーバ１５０と、家電機器１００と機器管理サーバ１５０との間のデータ通信を可能にする通信路１６０と、から構成される。機器管理サーバ１５０は、家電機器１００のソフトウェアを管理する製造会社や販売会社などによって設置、管理される。
【００２９】
家電機器１００は、配信された更新情報を受信する受信部１４０と、家電機器１００の本来の機能に関する実際の物理的動作を行うハードウェアによって構成される機構部１３０と、機構部１３０の動作を制御する制御部１２０と、制御部１２０に格納されているソフトウェアを更新する機器管理モジュール１１０と、から構成される。
【００３０】
また、制御部１２０は、制御コード格納部１２１を備え、制御コード格納部１２１には、家電機器１００のソフトウェアとしての制御コード１２２と、ユーザにより設定された情報であるユーザ設定１２３と、が格納されている。また、制御部１２０は、制御コード１２２を実行して機構部１３０を制御するＣＰＵ（Central Processing Unit）と、制御コード格納部１２１を形成するメモリと、から構成される。
【００３１】
機器管理モジュール１１０は、暗復号化処理に用いられる鍵を生成するための鍵成分である生成情報Ｃａ１１４、生成情報Ｃｂ１１５を格納する生成情報記憶部１１１と、これらの生成情報から鍵を生成する、取得部、演算部、合成部および生成部としての鍵生成部１１２と、生成された鍵を用いて更新情報を復号化する復号化部としての機能を有しかつ復号化された更新情報によりソフトウェアを更新する更新部１１３と、から構成される。また、機器管理モジュール１１０は、集積回路により構成され、この集積回路は、鍵生成部１１２と更新部１１３とに相当するソフトウェアモジュールを実行するＣＰＵと、生成情報記憶部１１１を形成するメモリと、から構成され、望ましくは耐タンパ性を備えた集積回路であるとする。
【００３２】
機器管理サーバ１５０は、秘密情報保持部１５１、生成情報生成部１５２、暗号鍵生成部１５３、更新情報生成部１５４、更新情報配信部１５５および更新状況管理部１５６から構成される。
【００３３】
秘密情報保持部１５１は、生成情報を生成するための元情報である秘密情報Ａ１５７、秘密情報Ｂ１５８を保持する。
【００３４】
ここで、これらの秘密情報は、通常は家電機器の機種ごとに異なり、外部に公開されることなく、機器管理サーバ１５０に厳重に管理される。機器管理サーバ１５０が複数の機種の家電機器に対して更新情報を配信する場合には、機種ごとに秘密情報ＡおよびＢのペアを管理する。なお、機種が異なる家電機器であっても同じソフトウェアを使用する場合には、同じ秘密情報を割り当てるようにしても良い。
【００３５】
生成情報生成部１５２は、秘密情報Ａ１５７および秘密情報Ｂ１５８から生成情報を生成する。
【００３６】
暗号鍵生成部１５３は、生成された生成情報を合成して鍵を生成する。
【００３７】
更新情報生成部１５４は、生成された鍵を用いて新しいソフトウェアを暗号化して更新情報を生成する。
【００３８】
更新情報配信部１５５は、生成された更新情報を家電機器１００に配信する。
【００３９】
更新状況管理部１５６は、家電機器１００のソフトウェア更新状況を管理する。
【００４０】
通信路１６０は、例えば、テレビ放送などの放送網、インターネットなどの有線通信網、携帯電話などの無線通信網である。なお、家電機器１００と機器管理サーバ１５０との間のデータ通信は、通信路１６０を介する代わりに、メモリカードなどの蓄積メディアやＩＣカードを介しても良い。
【００４１】
図２は、家電機器１００に格納されるデータ、すなわち、制御コードおよび２つの生成情報Ｃａ、Ｃｂの相互関係を示す図である。
【００４２】
生成情報Ｃａ、Ｃｂは、それぞれ秘密情報Ａ１５７、秘密情報Ｂ１５８から機器管理サーバ１５０の生成情報生成部１５２が生成した情報であり、家電機器１００のソフトウェアバージョンのシリアル番号によって異なっている。ここで、ソフトウェアバージョンのシリアル番号とは、ソフトウェアのリリースの順番を示す番号であり、新しいバージョンのリリースの度にカウントアップするものとする。最初のバージョンのソフトウェアのシリアル番号を“１”とし、新しいバージョンのリリースごとに“１”カウントアップする番号とする。例えば、ソフトウェアの最初のバージョンのバージョン番号がVersion 1.0.0で、次にリリースされたソフトウェアのバージョン番号がVersion 1.0.1、その次にリリースされたソフトウェアのバージョン番号がVersion 1.0.2、さらに次にリリースされたソフトウェアのバージョン番号がVersion 1.1.0であった場合、Version 1.0.0のソフトウェアバージョンのシリアル番号は１、Version 1.0.1のソフトウェアバージョンのシリアル番号は２、Version 1.0.2のソフトウェアバージョンのシリアル番号は３、Version 1.1.0のソフトウェアバージョンのシリアル番号は４、というようになる。
【００４３】
図２において、例えば、ソフトウェアバージョンのシリアル番号が１の場合、家電機器１００には、制御コードＰ１と、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃａ＝Ｘ（１，Ａ）と生成情報Ｃｂ＝Ｙ（Ｍ−１，Ｂ）と、が格納される。同様に、ソフトウェアバージョンのシリアル番号がｎの場合、家電機器１００には制御コードＰｎと、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃａ＝Ｘ（ｎ，Ａ）と生成情報Ｃｂ＝Ｙ（Ｍ−ｎ，Ｂ）と、が格納される。換言すれば、現在使用されているソフトウェアバージョンのシリアル番号がｎであれば、使用中のソフトウェア自体（またはその一部）が制御コードＰｎである。また、生成情報Ｃａ＝Ｘ（ｎ，Ａ）、生成情報Ｃｂ＝Ｙ（Ｍ−ｎ，Ｂ）は、制御コードＰｎに固有の情報としてそれぞれ保持され、鍵成分として鍵の生成に用いられる。
【００４４】
ここで、ＸおよびＹは互いに異なる所定の不可逆演算を示している。Ｘ（ｐ，ａ）は、データａに対して不可逆演算Ｘをｐ回繰り返した結果を示し、Ｙ（ｑ，ｂ）はデータｂに対して不可逆演算Ｙをｑ回繰り返した結果を示す。したがって、生成情報Ｘ（１，Ａ）は、秘密情報Ａに不可逆演算Ｘを１回行った場合の結果であり、生成情報Ｙ（Ｍ−１，Ｂ）は、秘密情報Ｂに不可逆演算ＹをＭ−１回繰り返した場合の結果である。Ｍ−１は、ソフトウェアバージョンのシリアル番号の最大値を示し、Ｍ（Ｍ−１≧１の整数）は十分に大きい値であるとする。
【００４５】
生成情報Ｘ（ｎ，Ａ）は、秘密情報Ａに不可逆演算Ｘをｎ回繰り返した場合の結果であり、生成情報Ｘ（ｎ，Ａ）から秘密情報Ａを算出することは出来ない。また、生成情報Ｙ（Ｍ−ｎ，Ｂ）は、秘密情報Ｂに不可逆演算ＹをＭ−ｎ回繰り返した場合の結果であり、生成情報Ｙ（Ｍ−ｎ，Ｂ）から秘密情報Ｂを算出することは出来ない。
【００４６】
次に、家電機器１００のソフトウェアを更新する動作について説明する。
【００４７】
機器管理サーバ１５０は、機器管理サーバ１５０が管理する機種の家電機器のソフトウェアを新しいソフトウェアに更新する必要が発生した場合、更新の対象となる家電機器に搭載されているソフトウェアのバージョンに基づいて新しいソフトウェアを暗号化し、更新情報を生成して、それを、通信路１６０を介して各家電機器へ配信する。
【００４８】
ここで、図３（ａ）に示すように、ソフトウェアバージョンのシリアル番号がｎ−ｉ〜ｎ＋ｊ（ｉ，ｊは１≦ｎ−ｉ≦ｎ＋ｊ≦Ｍ−１を満たす整数）のソフトウェア（つまり、更新対象ソフトウェア）を、シリアル番号がｎ＋ｋ（ｋは１≦ｎ＋ｋ≦Ｍ−１を満たす整数）のソフトウェア（つまり、新規ソフトウェア）に更新する必要がある場合を例にとって説明する。なお、家電機器１００において現在使用されているソフトウェア（つまり、現用ソフトウェア）のバージョンのシリアル番号はｎ（ｎはｎ−ｉ≦ｎ≦ｎ＋ｊを満たす整数）であるとする。
【００４９】
図４（ａ）のフロー図に示すように、まず、機器管理サーバ１５０の生成情報生成部１５２が、秘密情報保持部１５１から家電機器１００に対応する秘密情報Ａ１５７と秘密情報Ｂ１５８を読み出して、秘密情報Ａ１５７に不可逆演算Ｘをｎ＋ｊ回行って生成情報Ｘ（ｎ＋ｊ，Ａ）を生成し、さらに不可逆演算Ｘをｋ−ｊ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣａであるＸ（ｎ＋ｋ，Ａ）を生成し（ステップ４０１）、秘密情報Ｂ１５８に不可逆演算ＹをＭ−ｎ−ｋ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣｂであるＹ（Ｍ−ｎ−ｋ，Ｂ）を生成し、さらに不可逆演算Ｙをｋ＋ｉ回行って生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成する（ステップ４０２）。次に、暗号鍵生成部１５３が、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）と生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）とシリアル番号ｎ＋ｋとを合成して鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）を生成する（ステップ４０３）。ここで、鍵Ｆ（ｘ，ｙ，ｚ）は、ｘ、ｙ、ｚを変数とする任意の関数であり、例えば、Ｆ（ｘ，ｙ，ｚ）＝Ｈ（ｘ｜｜ｙ｜｜ｚ）（ｘとｙとｚのデータ連結にハッシュ演算を施したもの）といった関数が用いられる。
【００５０】
次に、更新情報生成部１５４が、シリアル番号ｎ＋ｋの場合の生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と制御コードＰｎ＋ｋとを、生成した鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）を用いて暗号化し（ステップ４０４）、さらに制御情報を付加して、図３（ｂ）に示すようなデータ構造の更新情報を生成する。
【００５１】
次に、更新情報配信部１５５が、生成した更新情報を通信路１６０を介して家電機器１００を含む各家電機器へ配信する。
【００５２】
ここで、制御情報は、更新情報を受信した家電機器１００における更新情報の処理を制御する情報である。制御情報には、更新の対象となっている家電機器の機種を規定する情報が含まれている。具体的には、例えば、製造会社を示すメーカーコードと、家電機器の型式番号と、ソフトウェアバージョンのシリアル番号とが含まれ、さらに製造シリアル番号の範囲を示す情報が含まれていても良い。また、制御情報には、更新後のソフトウェアバージョンを規定する情報として更新後のソフトウェアバージョンのシリアル番号が含まれている。さらに、制御情報には、実際に家電機器上で実行されるプログラムデータが含まれていても良く、さらに、そのプログラムデータの正当性を検証するための電子署名等の検証データが含まれていても良い。本実施の形態の場合には、制御コード格納部１２１に格納されているユーザ設定１２３を、新しいソフトウェアにおいても有効なデータ形式に変換するプログラムデータが含まれているとする。
【００５３】
次に、更新情報を受信した家電機器１００は、更新情報の制御情報に基づき、生成情報から更新情報の暗号を復号化するための鍵を生成し、更新情報の暗号を復号化して、ソフトウェアを更新情報に含まれていたものに更新する。ここでは、家電機器１００に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がｎ（ｎ−ｉ≦ｎ≦ｎ＋ｊ）であった場合を例にとって説明する。
【００５４】
図４（ｂ）のフロー図に示すように、まず、家電機器１００の受信部１４０が、機器管理サーバ１５０から配信された更新情報を通信路１６０を介して受信する。家電機器１００の機器管理モジュール１１０の更新部１１３が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する（ステップ４１０）。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器１００のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器１００のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ４１０の更新の要否判定において、「更新不要」と判定した場合には、更新部１１３は受信した更新情報をそのまま廃棄する。
【００５５】
「更新が必要」と判定された場合は、鍵生成部１１２が、生成情報記憶部１１１から生成情報Ｃａ（＝Ｘ（ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））を読み出して、生成情報Ｃａ（＝Ｘ（ｎ，Ａ））に不可逆演算Ｘをｊ回行って生成情報Ｘ（ｎ＋ｊ，Ａ）を生成し（ステップ４１１）、生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））に不可逆演算Ｙをｉ回行って生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成し（ステップ４１２）、更に、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）、Ｙ（Ｍ−ｎ＋ｉ，Ｂ）およびシリアル番号ｎ＋ｋから、鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）を生成する（ステップ４１３）。
【００５６】
次に、更新部１１３が、更新情報の暗号化されている部分を復号化し（ステップ４１４）、シリアル番号がｎ＋ｋの場合の生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と制御コードＰｎ＋ｋとを取り出して、制御コード格納部１２１の制御コードＰｎを制御コードＰｎ＋ｋに更新し、生成情報記憶部１１１の生成情報Ｃａ（＝Ｘ（ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））を、それぞれ生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））に更新する。
【００５７】
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部１２１に格納されているユーザ設定１２３を、新しい制御コードＰｎ＋ｋにおいても有効なデータ形式に変換することにより、ユーザ設定１２３を更新して、ソフトウェアの更新を完了する。この時、更新部１１３は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
【００５８】
以上のように、更新対象の複数の家電機器の中に複数のソフトウェアバージョンの機器が混在する場合でも、搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンの家電機器であれば（シリアル番号ｎ：ｎ−ｉ≦ｎ≦ｎ＋ｊ）、更新情報の暗号化されている部分を復号化するための鍵を生成することができ、ソフトウェアの更新を行うことが出来る。この時、機器管理サーバ１５０側は、家電機器のバージョンごとに複数の更新情報を配信する必要はなく、１種類の鍵で暗号化された更新情報を配信するだけで良く、処理の負荷が小さくてすむので、サーバ設備にかかるコストを抑えることが出来る。また、家電機器１００側は、２つの生成情報を持つだけで、少ないデータ量で、しかもハッシュ演算という負荷の小さな処理を行うだけで良く、一方で、更新ごとに配信される更新情報の暗復号鍵を変えることが出来るので、更新情報の配信の安全性が向上する。
【００５９】
一方、家電機器に搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンではない場合、更新情報の暗号化されている部分を復号化するための鍵を生成することは出来ないので、ソフトウェアを更新することも出来ない。例えば、上記の例の場合で、家電機器に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がｎ−ｉ−１の場合には、生成情報記憶部１１１に格納されている生成情報ＣｂはＹ（Ｍ−ｎ＋ｉ＋１，Ｂ）なので、この生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ＋ｉ＋１，Ｂ））から生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成することは出来ない。したがってこの場合、更新情報の暗号化されている部分を復号化するための鍵を生成することは出来ない。また、家電機器に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がｎ＋ｊ＋１の場合には、生成情報記憶部１１１に格納されている生成情報ＣａはＸ（ｎ＋ｊ＋１，Ａ）なので、この生成情報Ｃａ（＝Ｘ（ｎ＋ｊ＋１，Ａ））から生成情報Ｘ（ｎ＋ｊ，Ａ）を生成することは出来ない。したがってこの場合も、更新情報の暗号化されている部分を復号化するための鍵を生成することは出来ない。このように、家電機器に搭載されているソフトウェアのソフトウェアバージョンが更新対象ではない場合には、更新情報の暗号化されている部分を復号化するための鍵を生成することさえ出来ないので、ユーザの誤操作などによるソフトウェアの誤更新を防止することが出来る。
【００６０】
なお、上記では、更新情報を暗号化する鍵をＦ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）としたが、Ｘ（ｎ＋ｊ，Ａ）とＹ（Ｍ−ｎ＋ｉ，Ｂ）だけを変数とするＧ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を、更新情報を暗号化する鍵として用いるようにしても良い。ここで、Ｇ（ｘ，ｙ）は、ｘ、ｙを変数とする任意の関数であり、例えば、Ｇ（ｘ，ｙ）＝Ｈ（ｘ｜｜ｙ）（ｘとｙのデータ連結にハッシュ演算を施したもの）といった関数が用いられる。
【００６１】
この場合、家電機器１００の鍵生成部１１２は、ステップ４１３の処理において、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）、Ｙ（Ｍ−ｎ＋ｉ，Ｂ）から、更新情報の暗号化されている部分を復号化する鍵Ｇ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ））を生成する。更新対象のソフトウェアバージョンが同じ場合には、鍵も同じものとなるが、この場合でも、更新対象のソフトウェアバージョンを限定することができ、また、家電機器側での鍵生成処理を簡略化することが出来る。
【００６２】
なお、上記では、機器管理モジュール１１０を、制御部１２０のＣＰＵとは別のＣＰＵを持つ集積回路であるとしたが、機器管理モジュール１１０の機能を、制御部１２０のＣＰＵとメモリとによって構成するようにしても良い。
【００６３】
また、上記では、家電機器１００に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器１００に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
【００６４】
また、上記では、家電機器１００に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器１００に格納される特定のデータを更新することで、家電機器１００の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器１００の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器１００の一部の機能または全ての機能を無効化する。
【００６５】
（実施の形態２）
図５は、本発明の実施の形態２に係るソフトウェア更新システムの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、実施の形態１で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、実施の形態１で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【００６６】
本実施の形態のソフトウェア更新システムは、家電機器と機器管理サーバとの間に家電機器管理装置が接続されるという点で、実施の形態１のソフトウェア更新システムと相違する。これは、特に、外部ネットワークに接続する機能を持たない家電機器のソフトウェアの更新を、確実にかつ効率的に行えるようにするためのものである。
【００６７】
したがって、本実施の形態のソフトウェア更新システムは、図５に示すように、ソフトウェアを更新する機能を備えた家電機器５００と、暗号化した新しいソフトウェアを含む実施の形態１と同様の更新情報を家電機器５００に対して配信する機器管理サーバ５５０と、家電機器５００を含む家庭内の複数の家電機器を管理する家電機器管理装置５７０と、から構成される。
【００６８】
家電機器５００は、実施の形態１で説明した制御部１２０および機構部１３０、ならびに制御部１２０に格納されているソフトウェアを更新する機器管理モジュールから構成される。
【００６９】
機器管理モジュール５１０は、実施の形態１で説明した生成情報記憶部１１１、鍵生成部１１２および更新部１１３に、ローカルネットワーク５６１を介して家電機器管理装置５７０と通信を行う受信部および転送部としてのローカル通信部５１７と、ローカルネットワーク５６１を介して常に家電機器管理装置５７０に家電機器５００の機器情報を登録する通知部としての機器情報登録部５１６と、を加えた構成となっている。ここで、ローカルネットワーク５６１としては、電力線を介して通信を行う電力線ネットワーク、非接触ＩＣカードの無線通信や赤外線などの近距離無線通信を用いた近距離無線ネットワーク、ＬＡＮネットワーク、または無線ＬＡＮネットワークであっても良い。
【００７０】
また、機器管理モジュール５１０は、鍵生成部１１２と更新部１１３と機器情報登録部５１６とに相当するソフトウェアモジュールを実行するＣＰＵと、生成情報記憶部１１１を形成するメモリと、ローカル通信部５１７を形成するモデム回路と、から構成される集積回路によって構成される。
【００７１】
機器情報登録部５１６は、予め、ローカル通信部５１７を通じ、家電機器５００が設置されている家の中のローカルネットワーク５６１を介して、自身の機器情報を家電機器管理装置５７０に通知することにより、機器情報の登録を行う。機器情報管理部５７３に登録される機器情報には、その家電機器のメーカーコード、型式番号および製造番号、ならびにその家電機器のソフトウェアバージョンのシリアル番号が含まれる。
【００７２】
機器管理サーバ５５０は、実施の形態１で説明した機器管理サーバ１５０と同一の内部構成を有する。本実施の形態の場合は、生成された更新情報は、家電機器管理装置５７０へ配信される。
【００７３】
家電機器管理装置５７０は、通信路５６０を介して機器管理サーバ５５０から更新情報を受信する更新情報受信部５７１と、ローカルネットワーク５６１を介して家電機器と通信をするローカル通信部５７２と、各家電機器から登録のために通知された機器情報を家電機器ごとに管理し機器情報リスト５７６として保持する機器情報管理部５７３と、各家電機器の機器管理モジュールと連携して各家電機器のソフトウェアを更新するデータ更新部５７４と、各家電機器のソフトウェアの更新の結果を機器情報と共に機器管理サーバ５５０へ通知する通信部５７５と、から構成される。
【００７４】
また、データ更新部５７４において、照合部５７７が、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト５７６の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する。更新対象の家電機器と機器情報が一致する家電機器が登録されていた場合に、更新処理制御部５７９が、ローカルネットワーク５６１を介して該当する家電機器５００と通信して、ソフトウェアの更新処理を行う。この時の更新処理の過程で、データ保持部５７８には、受信した更新情報が保持され、また、家電機器５００から更新前のソフトウェアがデータ保持部５７８にバックアップされる。
【００７５】
ここで、通信路５６０としては、テレビ放送などの放送網、インターネットなどの有線通信網、携帯電話などの無線通信網であってもよく、また複数の種類の通信網によって構成されていてもよい。また、機器情報管理部５７３は、機器情報リスト５７６を格納する不揮発性メモリを備える。また、データ更新部５７４は、照合部５７７と更新処理制御部５７９とに相当するソフトウェアモジュールを実行するＣＰＵと、データ保持部５７８を形成するメモリと、から構成される。更新処理の際、データ保持部５７８には、受信した更新情報と暗号化された家電機器の更新前のソフトウェアが保持される。
【００７６】
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理装置５７０に登録しておき、家電機器管理装置５７０が更新情報を機器管理サーバ５５０から受信して、ソフトウェアを更新する必要がある場合に、家電機器管理装置５７０を介して個々の家電機器が更新情報を受信してソフトウェの更新を行うように構成する。これにより、個々の家電機器に、更新情報を機器管理サーバ５５０から直接受信する機能や外部のネットワークに接続する機能、例えば、テレビチューナーやインターネットモデムなどの機能を持つ必要がなくなるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することが出来る。
【００７７】
また、本実施の形態によれば、家電機器管理装置５７０が機器管理サーバ５５０から配信される更新情報を受信する。これにより、各家電機器のソフトウェアの更新を確実に行うことが出来る。更新情報が機器管理サーバ５５０から配信される時に、各家電機器は必ずしも電源オンの状態である必要はなく、電源がオンになった際に、家電機器管理装置５７０との間で更新処理を行うことで、ソフトウェアの更新を確実に行うことが出来る。
【００７８】
さらに、家電機器管理装置５７０のデータ更新部５７４のデータ保持部５７８を、更新情報のバッファ領域および更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。なお、実際には、更新処理に失敗した場合の処理は、機器管理サーバ５５０によって設定された更新情報の制御情報に含まれるプログラムデータに基づいて行われる場合がある。また、そのプログラムデータに基づいて、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻す場合もあれば、元に戻すことはぜずに、安全のために家電機器を機能停止状態に設定する場合もある。
【００７９】
なお、上記では、機器管理モジュール５１０を、制御部１２０のＣＰＵとは別のＣＰＵを持つ集積回路であるとしたが、機器管理モジュール５１０の機能を、制御部１２０のＣＰＵとメモリとによって構成するようにしても良い。
【００８０】
また、上記では、機器管理モジュール５１０にローカル通信部５１７が内蔵されるとしたが、機器管理モジュール５１０とは独立に、家電機器管理装置５７０とローカル通信を行うローカル通信モジュールを備えるようにしても良い。
【００８１】
また、機器管理サーバ５５０の更新状況管理部１５６に、さらに、家電機器５００のユーザのユーザ情報とロイヤリティポイント情報を管理する機能を備え、家電機器５００のソフトウェアを更新したユーザに対してロイヤリティポイントを付与するようにしても良い。この場合、家電機器５００のソフトウェアが更新されたことを家電機器管理装置５７０から機器管理サーバ５５０に通知する情報には、家電機器５００を管理するユーザの識別情報が含まれる。家電機器５００のソフトウェアの更新が行われたことが家電機器管理装置５７０から機器管理サーバ５５０に通知されると、更新状況管理部１５６が、家電機器５００のソフトウェアの更新状況を更新し、さらに、家電機器５００のユーザのロイヤリティポイント情報に予め決められたポイントを加算する。このように、家電機器５００のソフトウェアを更新することでユーザにロイヤリティポイントを付与した場合、本発明のソフトウェア更新システムに対応した家電機器５００や家電機器管理装置５７０の購入者の増加が期待でき、またソフトウェア更新システムの利用者の増加が期待できる。
【００８２】
また、上記では、家電機器５００のソフトウェアを更新することで、ユーザにロイヤリティポイントを付与するとしたが、逆に、家電機器５００のソフトウェアを更新することで、ユーザのロイヤリティポイント情報から予め決められたポイントを減算するようにしてもよい。これは、ソフトウェアの不具合などが要因でソフトウェアを更新するのではなく、新たな機能が追加された最新のソフトウェアにアップグレードするなど、有償でソフトウェアの更新を行う場合に、対価としてロイヤリティポイントを使用するというものである。
【００８３】
また、上記では、家電機器５００に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器５００に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
【００８４】
また、上記では、家電機器５００に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器５００に格納される特定のデータを更新することで、家電機器５００の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器５００の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器５００の一部の機能または全ての機能を無効化する。
【００８５】
（実施の形態３）
図６Ａは、本発明の実施の形態３に係るソフトウェア更新システムの構成を示すブロック図である。また、図６Ｂは、本発明の実施の形態３に係る機器管理モジュールの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、前述の実施の形態で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【００８６】
本実施の形態のソフトウェア更新システムでは、実施の形態２と同様に、家電機器と機器管理サーバとの間に家電機器管理装置が接続される。また、本実施の形態のソフトウェア更新システムは、実施の形態２で説明した家電機器管理装置を、据え置き型の装置、例えばテレビ受信機に適用したものである。
【００８７】
したがって、本実施の形態のソフトウェア更新システムは、図６Ａに示すように、実施の形態２で説明した家電機器５００と、家電機器５００と共通の内部構成を有する家電機器５０１と、家電機器管理装置としての家電機器管理テレビ受信機６７０と、実施の形態２で説明した機器管理サーバ５５０と、ＴＶ番組などを放送する放送局６５９と、から構成される。また、機器管理サーバ５５０と放送局６５９とは所定の通信線により通信可能に接続される。また、放送局６５９と家電機器管理テレビ受信機６７０とは放送網６６０により通信可能に接続される。また、機器管理サーバ５５０と家電機器管理テレビ受信機６７０とはインターネット６６２により通信可能に接続される。また、家電機器管理テレビ受信機６７０と家電機器５００、５０１とは電力線ネットワーク６６１により通信可能に接続される。
【００８８】
家電機器５００、５０１としては、例えば、冷蔵庫やエアコンなどの、通常、電力線に接続されている据え置きタイプの機器が想定される。また、図６Ｂに示すように、家電機器５００、５０１の機器管理モジュール５１０は、生成情報記憶部１１１、鍵生成部１１２、更新部１１３および機器情報登録部５１６のほかに、電力線ネットワーク６６１を介して家電機器管理テレビ受信機６７０と通信をするローカル通信部としての電力線通信部１５０１を備える。
【００８９】
家電機器管理テレビ受信機６７０は、実施の形態２で説明したデータ更新部５７４および機器情報管理部５７３、実施の形態２で説明した更新情報受信部５７１、ローカル通信部５７２および通信部５７５にそれぞれ相当する放送受信部６７１、電力線通信部６７２およびインターネット通信部６７５、ならびにテレビ機能部６７６から構成される。
【００９０】
放送受信部６７１は、通常のテレビ放送および放送データの中に含まれる更新情報を受信する。電力線通信部６７２は、電力線ネットワーク６６１を介して家電機器と通信をする。インターネット通信部６７５は、各家電機器のソフトウェアの更新結果を、インターネット６６２を介して機器管理サーバ５５０へ通知する。テレビ機能部６７６は、通常のテレビ放送を表示する。
【００９１】
図７は、本実施の形態におけるソフトウェア更新処理のフローを示している。
【００９２】
まず、家電機器５００、５０１が、電力線ネットワーク６６１を介して、機器情報を家電機器管理テレビ受信機６７０に登録する（ステップ１：機器情報の登録）。
【００９３】
次に、家電機器５００のソフトウェアを更新する必要が発生すると、機器管理サーバ５５０が、更新情報を生成する（ステップ２：更新情報の生成）。更新情報を生成する手順は、実施の形態１で説明した手順と同じである。
【００９４】
次に、機器管理サーバ５５０が、放送局６５９に更新情報の配信を依頼し（ステップ３：更新情報の配信依頼）、放送局６５９が、放送網６６０を通じて家電機器管理テレビ受信機６７０に更新情報を配信する（ステップ４：機器更新情報の配信）。
【００９５】
放送受信部６７１を通じて更新情報を受信した家電機器管理テレビ受信機６７０において、照合部５７７が更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト５７６の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する（ステップ５：機器情報の照合）。
【００９６】
照合された情報が一致する家電機器が登録されていた場合に、更新処理制御部５７９が、更新情報をデータ保持部５７８に格納し、電力線通信部６７２を介して該当する家電機器５００に、更新情報の中の制御情報の部分を含む更新要求メッセージを送信する（ステップ６：更新要求）。この時、何らかの原因で家電機器５００との通信が出来ず、更新要求メッセージの送信に失敗した場合は（家電機器５００が電力線ネットワーク６６１に接続されていなかった場合など）、更新処理制御部５７９がテレビ画面に家電機器５００のソフトウェアの更新が必要であることを表示して、ユーザに家電機器５００の電力線ネットワーク６６１への接続を促す。家電機器５００との通信が可能になると、改めて、家電機器５００に更新要求メッセージを送信する。
【００９７】
家電機器管理テレビ受信機６７０から更新要求メッセージを受信した家電機器５００において、機器管理モジュール５１０が、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する（ステップ７：鍵生成）。鍵を生成する手順は、実施の形態１で説明した手順と同じである。
【００９８】
次に、機器管理モジュール５１０は、更新前の生成情報Ｃａ、Ｃｂと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理テレビ受信機６７０のデータ保持部５７８にバックアップのために転送する（ステップ８：バックアップ）。
【００９９】
次に、家電機器管理テレビ受信機６７０の更新処理制御部５７９が、更新情報の中の暗号化されている生成情報Ｃａ、Ｃｂと制御コードの部分とを電力線通信部６７２を介して家電機器５００に送信する（ステップ９：更新データ送信）。
【０１００】
次に、家電機器５００の機器管理モジュール５１０が、更新情報の暗号を復号化して、制御コードと生成情報Ｃａ、Ｃｂとを更新する（ステップ１０：データ更新）。
【０１０１】
次に、家電機器管理テレビ受信機６７０の更新処理制御部５７９が、ソフトウェアの更新が行われた家電機器５００の機器情報を更新処理の結果とともに、インターネット通信部６７５を介して機器管理サーバ５５０の更新状況管理部１５６に通知して更新処理を完了する（ステップ１１：更新完了通知）。
【０１０２】
ここで、ステップ９、１０の処理では、暗号化された更新情報をまとめて送信し、それを家電機器５００側で復号化するのではなく、暗号のブロック単位で家電機器５００に送信し、ブロック単位で復号化をして更新処理を行う。
【０１０３】
なお、家電機器５０１のソフトウェアの更新の手順は、家電機器５００のソフトウェアの更新の手順と同じである。
【０１０４】
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理テレビ受信機６７０に登録しておき、家電機器管理テレビ受信機６７０が放送網６６０を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理テレビ受信機６７０を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ５５０から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
【０１０５】
また、家電機器管理テレビ受信機６７０が放送網６６０を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
【０１０６】
さらに、家電機器管理テレビ受信機６７０のデータ更新部５７４のデータ保持部５７８を、更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
【０１０７】
なお、上記では、家電機器管理テレビ受信機６７０は更新情報を放送受信部６７１を介して受信するとしたが、インターネット通信部６７５を介してインターネット６６２経由で機器管理サーバ５５０から更新情報を受信するようにしても良い。
【０１０８】
この場合、機器情報リスト５７６には、さらに機器情報の一つとして機器管理サーバ５５０のＵＲＬ（Uniform Resource Locator）が予め登録される。家電機器管理テレビ受信機６７０は、定期的に、更新処理制御部５７９からインターネット通信部６７５を介して、そのＵＲＬが示す機器管理サーバ５５０へ更新情報要求を送信する。機器管理サーバ５５０は、配信が必要な更新情報が存在する場合に、家電機器管理テレビ受信機６７０へ更新情報を送信する。家電機器管理テレビ受信機６７０は、インターネット通信部６７５を介して受信した更新情報に対して、放送受信部６７１を介して受信した更新情報と同様の処理を行う。
【０１０９】
また、上記において、家電機器管理テレビ受信機６７０が機器管理サーバ５５０へ送信する更新情報要求を、家電機器管理テレビ受信機６７０が家電機器５００、５０１から受信した更新処理要求に基づいて送信するようにしても良い。更新処理要求は、家電機器５００、５０１が家電機器管理テレビ受信機６７０に対してソフトウェアの更新処理を要求するメッセージである。電力線通信部６７２を介して更新処理要求を受信した家電機器管理テレビ受信機６７０は、機器管理サーバ５５０へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
【０１１０】
（実施の形態４）
図８Ａは、本発明の実施の形態４に係るソフトウェア更新システムの構成を示すブロック図である。また、図８Ｂは、本実施の形態に係る機器管理モジュールの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、前述の実施の形態で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【０１１１】
本実施の形態のソフトウェア更新システムでは、実施の形態２と同様に、家電機器と機器管理サーバとの間に家電機器管理装置が接続される。また、本実施の形態のソフトウェア更新システムは、実施の形態２で説明した家電機器管理装置を、デジタル放送受信機能を備えたポータブル型の装置、例えば携帯電話などの携帯端末に適用してなるものである。
【０１１２】
したがって、本実施の形態のソフトウェア更新システムは、図８Ａに示すように、実施の形態２で説明した家電機器５００と、実施の形態３で説明した家電機器５０１と、家電機器管理装置としての家電機器管理携帯端末８７０と、実施の形態２で説明した機器管理サーバ５５０と、ＴＶ番組などのワンセグ放送サービスを提供する放送局８５９と、から構成される。また、機器管理サーバ５５０と放送局８５９とは所定の通信線により通信可能に接続される。また、放送局８５９と家電機器管理携帯端末８７０とは放送網８６０により通信可能に接続される。また、機器管理サーバ５５０と家電機器管理携帯端末８７０とはインターネット８６２により通信可能に接続される。また、家電機器管理携帯端末８７０と家電機器５００、５０１とは無線を介して接続される。
【０１１３】
家電機器５００、５０１としては、例えば、ポータブル音楽プレーヤなどの、バッテリーによって駆動されるポータブルタイプの機器が想定される。また、図８Ｂに示すように、家電機器５００、５０１の機器管理モジュール５１０は、生成情報記憶部１１１、鍵生成部１１２、更新部１１３および機器情報登録部５１６のほかに、近距離無線を介して家電機器管理携帯端末８７０と通信するローカル通信部としての近距離無線通信部１５０２を備える。
【０１１４】
家電機器管理携帯端末８７０は、実施の形態２で説明したデータ更新部５７４および機器情報管理部５７３、実施の形態２で説明した更新情報受信部５７１、ローカル通信部５７２および通信部５７５にそれぞれ相当するデジタル放送受信部８７１、近距離無線通信部８７２およびインターネット通信部８７５、ならびにテレビ機能部８７６から構成される。
【０１１５】
デジタル放送受信部８７１は、ワンセグ（１セグメント）放送などのデジタル放送のデータの中に含まれる更新情報を受信する。近距離無線通信部８７２は、赤外線やブルートゥース、ＮＦＣ（Near Field Communication）などの近距離無線を介して家電機器と通信をする。インターネット通信部８７５は、各家電機器のソフトウェアの更新結果を、無線通信によってインターネット８６２を介して機器管理サーバ５５０へ通知する。テレビ機能部８７６は、通常のデジタルテレビ放送を表示する。
【０１１６】
図９は、本実施の形態のソフトウェア更新処理のフローを示している。
【０１１７】
まず、家電機器５００、５０１が、近距離無線を介して、機器情報を家電機器管理携帯端末８７０に登録する（ステップ１：機器情報の登録）。例えば、家電機器５００、５０１は、電源がオンになる度に、自動的に機器情報を家電機器管理携帯端末８７０に登録するようになっている。
【０１１８】
次に、家電機器５００のソフトウェアを更新する必要が発生すると、機器管理サーバ５５０が、更新情報を生成する（ステップ２：更新情報の生成）。更新情報を生成する手順は、実施の形態１で説明した手順と同じである。
【０１１９】
次に、機器管理サーバ５５０は、放送局８５９に更新情報の配信を依頼し（ステップ３：更新情報の配信依頼）、放送局８５９は、放送網８６０を通じて家電機器管理携帯端末８７０に更新情報を配信する（ステップ４：機器更新情報の配信）。
【０１２０】
デジタル放送受信部８７１を通じて更新情報を受信した家電機器管理携帯端末８７０において、照合部５７７は、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト５７６の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する（ステップ５：機器情報の照合）。
【０１２１】
照合された情報が一致する家電機器が登録されていた場合に、データ更新部５７４の更新処理制御部５７９が、更新情報をデータ保持部５７８に格納し、近距離無線通信部８７２を介して該当する家電機器５００に、更新情報の中の制御情報の部分を含む更新要求メッセージを送信する（ステップ６：更新要求）。この時、何らかの原因で家電機器５００との通信が出来ず、更新要求メッセージの送信に失敗した場合は（家電機器５００の電源がオフになっている場合など）、更新処理制御部５７９が家電機器管理携帯端末８７０の画面に家電機器５００のソフトウェアの更新が必要であることを表示して、ユーザに家電機器５００の電源オンや、近距離無線通信による通信が可能な距離への移動を促す。家電機器５００との通信が可能になると、改めて、家電機器５００に更新要求メッセージを送信する。
【０１２２】
家電機器管理携帯端末８７０から更新要求メッセージを受信した家電機器５００において、機器管理モジュール５１０は、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する（ステップ７：鍵生成）。鍵を生成する手順は、実施の形態１で説明した手順と同じである。
【０１２３】
次に、家電機器５００の機器管理モジュール５１０は、更新前の生成情報Ｃａ、Ｃｂと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理携帯端末８７０のデータ保持部５７８にバックアップのために転送する（ステップ８：バックアップ）。
【０１２４】
次に、家電機器管理携帯端末８７０の更新処理制御部５７９が、更新情報の中の暗号化されている生成情報Ｃａ、Ｃｂと制御コードの部分とを、近距離無線通信部８７２を介して家電機器５００に送信し（ステップ９：更新データ送信）、家電機器５００の機器管理モジュール５１０が、更新情報の暗号を復号化して、制御コードと生成情報Ｃａ、Ｃｂとを更新する（ステップ１０：データ更新）。
【０１２５】
次に、家電機器管理携帯端末８７０の更新処理制御部５７９が、ソフトウェアの更新が行われた家電機器５００の機器情報を更新処理の結果とともに、インターネット通信部８７５を介して機器管理サーバ５５０の更新状況管理部１５６に通知して更新処理を完了する（ステップ１１：更新完了通知）。この時、ステップ９、１０の処理では、暗号化された更新情報をまとめて送信し、それを家電機器５００側で復号化するのではなく、暗号のブロック単位で家電機器５００に送信し、ブロック単位で復号化をして更新処理を行う。
【０１２６】
なお、家電機器５０１のソフトウェアの更新の手順は、家電機器５００のソフトウェアの更新の手順と同じである。
【０１２７】
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理携帯端末８７０に登録しておき、家電機器管理携帯端末８７０が放送網８６０を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理携帯端末８７０を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ５５０から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
【０１２８】
また、家電機器管理携帯端末８７０が放送網８６０を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
【０１２９】
さらに、家電機器管理携帯端末８７０のデータ更新部５７４のデータ保持部５７８を、更新のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
【０１３０】
なお、上記では、家電機器管理携帯端末８７０は、更新情報をデジタル放送受信部８７１を介して受信するとしたが、インターネット通信部８７５を介してインターネット８６２経由で機器管理サーバ５５０から更新情報を受信するようにしても良い。
【０１３１】
この場合、機器情報リスト５７６には、さらに機器情報の一つとして機器管理サーバ５５０のＵＲＬが予め登録される。家電機器管理携帯端末８７０は、定期的に、更新処理制御部５７９からインターネット通信部８７５を介して、そのＵＲＬが示す機器管理サーバ５５０へ更新情報要求を送信する。機器管理サーバ５５０は、配信が必要な更新情報が存在する場合に、家電機器管理携帯端末８７０へ更新情報を送信する。家電機器管理携帯端末８７０は、インターネット通信部８７５を介して受信した更新情報に対して、デジタル放送受信部８７１を介して受信した更新情報と同様の処理を行う。
【０１３２】
また、上記において、家電機器管理携帯端末８７０が機器管理サーバ５５０へ送信する更新情報要求を、家電機器管理携帯端末８７０が家電機器５００、５０１から受信した更新処理要求に基づいて送信するようにしても良い。更新処理要求は、家電機器５００、５０１が家電機器管理携帯端末８７０に対してソフトウェアの更新処理を要求するメッセージである。近距離無線通信部８７２を介して更新処理要求を受信した家電機器管理携帯端末８７０は、機器管理サーバ５５０へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
【０１３３】
（実施の形態５）
図１０Ａは、本発明の実施の形態５に係るソフトウェア更新システムの構成を示すブロック図である。また、図１０Ｂは、本実施の形態に係る機器管理モジュールの構成を示すブロック図である。図１０Ｃは、本実施の形態に係る別の機器管理モジュールの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、前述の実施の形態で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【０１３４】
本実施の形態のソフトウェア更新システムでは、実施の形態２と同様に、家電機器と機器管理サーバとの間に家電機器管理装置が接続される。また、本実施の形態のソフトウェア更新システムは、実施の形態２で説明した家電機器管理装置を、ブロードバンド対応の通信機器、例えばルーターに適用したものである。
【０１３５】
したがって、本実施の形態のソフトウェア更新システムは、図１０Ａに示すように、実施の形態２で説明した家電機器５００と、実施の形態３で説明した家電機器５０１と、家電機器管理装置としての家電機器管理ルーター１０７０と、実施の形態２で説明した機器管理サーバ５５０と、から構成される。また、機器管理サーバ５５０と家電機器管理ルーター１０７０とはインターネット６６２により通信可能に接続される。また、家電機器管理ルーター１０７０と家電機器５００、５０１とは宅内の有線ＬＡＮ、無線ＬＡＮまたは電力線ネットワークを介して接続される。
【０１３６】
家電機器５００、５０１としては、例えば、ＤＶＤレコーダーや無線ＬＡＮテレビ受像機などの機器が想定される。また、図１０Ｂに示すように、家電機器５００の機器管理モジュール５１０は、生成情報記憶部１１１、鍵生成部１１２、更新部１１３および機器情報登録部５１６のほかに、有線ＬＡＮを介して家電機器管理ルーター１０７０と通信するローカル通信部としての有線ＬＡＮ通信部１５０３を備える。また、図１０Ｃに示すように、家電機器５０１の機器管理モジュール５１０は、生成情報記憶部１１１、鍵生成部１１２、更新部１１３および機器情報登録部５１６のほかに、無線ＬＡＮを介して家電機器管理ルーター１０７０と通信するローカル通信部としての無線ＬＡＮ通信部１５０４を備える。なお、家電機器５００、５０１のほかに、電力線ネットワークを介して家電機器管理ルーター１０７０と通信する家電機器が存在していても良い。
【０１３７】
家電機器管理ルーター１０７０は、実施の形態２で説明したデータ更新部５７４および機器情報管理部５７３、実施の形態２で説明したローカル通信部５７２に相当するローカル通信部１０７２、実施の形態２で説明した更新情報受信部５７１および通信部５７５に相当するインターネット通信部１０７５、ならびにルーター機能部１０７６から構成される。また、家電機器管理ルーター１０７０は、家電機器管理ルーター１０７０の内部状態を示すＬＥＤ（図示せず）を備えていても良い。
【０１３８】
インターネット通信部１０７５は、インターネット６６２を介して、機器管理サーバ５５０から更新情報を受信する。また、インターネット通信部１０７５は、家電機器のソフトウェアの更新結果を機器管理サーバ５５０へ通知する。ローカル通信部１０７２は、有線ＬＡＮ、無線ＬＡＮまたは電力線ネットワークを介して家電機器と通信をする。ルーター機能部１０７６は、宅内の有線ＬＡＮ、無線ＬＡＮまたは電力線ネットワークのルーターとして機能する。
【０１３９】
図１１は、本実施の形態のソフトウェア更新処理のフローを示している。
【０１４０】
まず、家電機器５００、５０１がそれぞれ、有線ＬＡＮと無線ＬＡＮを介して、機器情報を家電機器管理ルーター１０７０に登録する（ステップ１：機器情報の登録）。
【０１４１】
次に、家電機器５００のソフトウェアを更新する必要が発生すると、機器管理サーバ５５０が、更新情報を生成する（ステップ２：更新情報の生成）。更新情報を生成する手順は、実施の形態１で説明した手順と同じである。
【０１４２】
次に、家電機器管理ルーター１０７０が、インターネット６６２を通じて機器管理サーバ５５０に更新情報要求を送信する（ステップ３：更新情報要求）。機器管理サーバ５５０は、インターネット６６２を通じて家電機器管理ルーター１０７０に更新情報を送信する（ステップ４：機器更新情報の配信）。この場合、機器情報リスト５７６には、さらに機器情報の一つとして機器管理サーバ５５０のＵＲＬが登録されている。家電機器管理ルーター１０７０は、定期的に、更新処理制御部５７９からインターネット通信部１０７５を介して、そのＵＲＬが示す機器管理サーバ５５０へ更新情報要求を送信する。機器管理サーバ５５０は、配信が必要な更新情報が存在する場合に、家電機器管理ルーター１０７０へ更新情報を送信する。
【０１４３】
インターネット通信部１０７５を通じて更新情報を受信した家電機器管理ルーター１０７０において、照合部５７７が、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト５７６の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する（ステップ５：機器情報の照合）。
【０１４４】
照合された情報が一致する家電機器が登録されていた場合に、更新処理制御部５７９が、更新情報をデータ保持部５７８に格納し、ローカル通信部１０７２を介して該当する家電機器５００に、更新情報の中の制御情報の部分を含む更新要求メッセージを送信する（ステップ６：更新要求）。この時、何らかの原因で家電機器５００との通信が出来ず、更新要求メッセージの送信に失敗した場合は（家電機器５００の電源がオフになっている場合など）、更新処理制御部５７９が、家電機器５００のソフトウェアの更新が必要であることを示すＨＴＭＬ（Hyper Text Markup Language）データを生成して、家電機器管理ルーター１０７０に接続する宅内の機器での、その生成したＨＴＭＬデータの表示を可能にし、さらにソフトウェアを更新する必要がある家電機器が存在することを示すＬＥＤを点灯させて、ユーザに家電機器５００の電源オンを促す。家電機器５００との通信が可能になると、改めて、家電機器５００に更新要求メッセージを送信する。
【０１４５】
家電機器管理ルーター１０７０から更新要求メッセージを受信した家電機器５００において、機器管理モジュール５１０が、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する（ステップ７：鍵生成）。鍵を生成する手順は、実施の形態１で説明した手順と同じである。
【０１４６】
次に、家電機器５００の機器管理モジュール５１０は、更新前の生成情報Ｃａ、Ｃｂと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理ルーター１０７０のデータ保持部５７８にバックアップのために転送する（ステップ８：バックアップ）。
【０１４７】
次に、家電機器管理ルーター１０７０の更新処理制御部５７９が、更新情報の中の暗号化されている生成情報Ｃａ、Ｃｂと制御コードの部分とを、ローカル通信部１０７２を介して家電機器５００に送信し（ステップ９：更新データ送信）、家電機器５００の機器管理モジュール５１０が、更新情報の暗号を復号化して、制御コードと生成情報Ｃａ、Ｃｂとを更新する（ステップ１０：データ更新）。
【０１４８】
次に、家電機器管理ルーター１０７０の更新処理制御部５７９が、ソフトウェアの更新が行われた家電機器５００の機器情報を更新処理の結果とともに、インターネット通信部１０７５を介して機器管理サーバ５５０の更新状況管理部１５６に通知して更新処理を完了する（ステップ１１：更新完了通知）。この時、ステップ９、１０の処理では、暗号化された更新情報をまとめて送信し、それを家電機器５００側で復号化するのではなく、暗号のブロック単位で家電機器５００に送信し、ブロック単位で復号化をして更新処理を行う。
【０１４９】
なお、家電機器５０１のソフトウェアの更新の手順は、家電機器５００のソフトウェアの更新の手順と同じである。
【０１５０】
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理ルーター１０７０に登録しておき、家電機器管理ルーター１０７０がインターネット６６２を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理ルーター１０７０を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ５５０から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
【０１５１】
また、家電機器管理ルーター１０７０がインターネット６６２を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
【０１５２】
さらに、家電機器管理ルーター１０７０のデータ更新部５７４のデータ保持部５７８を、更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
【０１５３】
なお、上記において、家電機器管理ルーター１０７０が機器管理サーバ５５０へ送信する更新情報要求を、家電機器管理ルーター１０７０が家電機器５００、５０１から受信した更新処理要求に基づいて送信するようにしても良い。更新処理要求は、家電機器５００、５０１が家電機器管理ルーター１０７０に対してソフトウェアの更新処理を要求するメッセージである。ローカル通信部１０７２を介して更新処理要求を受信した家電機器管理ルーター１０７０は、機器管理サーバ５５０へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
【０１５４】
（実施の形態６）
図１２は、本発明の実施の形態６に係るソフトウェア更新システムの構成を示すブロック図である。なお、本実施の形態のソフトウェア更新システムは、前述のソフトウェア更新システムと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照番号を付し、その詳細な説明を省略する。
【０１５５】
本実施の形態のソフトウェア更新システムは、家電機器と機器管理サーバとの間に家電機器管理装置が接続された点では、実施の形態２〜５と同様であるが、ネットワークに接続する機能を備えていない家電機器がＩＣ（Integrated circuit）カードを介して家電機器管理装置と通信を行うという点で、実施の形態２〜５と相違する。これは、ネットワークに接続する機能を備えていない家電機器のソフトウェアの更新を、確実にかつ効率的に行えるようにするためのものである。
【０１５６】
本実施の形態のソフトウェア更新システムは、図１２に示すように、ソフトウェアを更新する機能を備えた家電機器１２００と、実施の形態２で説明した機器管理サーバ５５０と、家の中の家電機器を管理する家電機器管理ＩＣカード１２２０と、家電機器管理ＩＣカード１２２０の装着が可能であり機器管理サーバ５５０から更新情報を受信する家電機器管理装置１２７０と、から構成される。機器管理サーバ５５０と家電機器管理装置１２７０とは、実施の形態２で説明した通信路５６０を介して接続される。
【０１５７】
家電機器管理ＩＣカード１２２０は、接触型と非接触型の両方の外部インターフェイスを備えたＩＣカードである。
【０１５８】
家電機器１２００は、実施の形態１で説明した制御部１２０および機構部１３０、ならびに制御部に格納されているソフトウェアを更新する機器管理モジュール１２１０から構成される。
【０１５９】
機器管理モジュール１２１０は、実施の形態１で説明した生成情報記憶部１１１、鍵生成部１１２および更新部１１３、ならびに実施の形態２で説明した機器情報登録部５１６を有する。さらに、機器管理モジュール１２１０は、家電機器管理ＩＣカード１２２０と非接触通信を行うＩＣカード通信部１２１７を有する。また、機器管理モジュール１２１０は、鍵生成部１１２と更新部１１３と機器情報登録部５１６とに相当するソフトウェアモジュールを実行するＣＰＵと、生成情報記憶部１１１を形成するメモリと、ＩＣカード通信部１２１７を形成するＲＦ回路および通信制御回路と、から構成される集積回路によって構成される。なお、ＩＣカード通信部１２１７は、家電機器管理ＩＣカード１２２０と接触通信を行うタイプであっても良く、その場合は、ＩＣカード通信部１２１７は、家電機器管理ＩＣカード１２２０に接続する端子および通信制御回路から構成される。
【０１６０】
家電機器管理装置１２７０は、実施の形態２で説明した更新情報受信部５７１および通信部と、家電機器管理ＩＣカード１２２０と接触通信を行うＩＣカード通信部１２７２と、から構成される。実際には、家電機器管理装置１２７０は、ポータブルタイプや据え置きタイプなど複数のタイプのものが存在していても良く、ユーザは更新情報の受信が可能ないずれかの家電機器管理装置１２７０に家電機器管理ＩＣカード１２２０を装着しておくものとする。なお、ＩＣカード通信部１２７２は、家電機器管理ＩＣカード１２２０と非接触通信を行うタイプであっても良く、その場合は、ＩＣカード通信部１２７２は、ＲＦ回路および通信制御回路から構成される。
【０１６１】
家電機器管理ＩＣカード１２２０は、実施の形態２で説明した機器情報管理部５７３、データ更新部５７４と、家電機器管理装置１２７０または各家電機器と通信する接触型外部インターフェイスおよび非接触型外部インターフェイス（図示せず）と、から構成される。なお、家電機器管理ＩＣカード１２２０の形状としては、名刺サイズの一般的なＩＣカードの形状や携帯電話などに装着されるＳＩＭカードの形状でも良いし、メモリカードの形状であっても良い。
【０１６２】
上記構成を有するソフトウェア更新システムにおいて、予め、家電機器管理ＩＣカード１２２０を家電機器１２００のＩＣカード通信部１２１７に近づけることで、家電機器１２００の機器情報登録部５１６は、ＩＣカード通信部１２１７を通じ、自身の機器情報を家電機器管理ＩＣカード１２２０の機器情報管理部５７３に登録する。機器情報管理部５７３に登録される機器情報には、その家電機器のメーカーコード、型式番号および製造番号、ならびにその家電機器のソフトウェアバージョンのシリアル番号が含まれる。機器情報管理部５７３は、各家電機器から登録された機器情報を家電機器ごとに管理し、機器情報リスト５７６として保持する。
【０１６３】
家電機器管理ＩＣカード１２２０は、通常、家電機器管理装置１２７０に装着されている。更新情報は、通信路５６０を介して機器管理サーバ５５０から家電機器管理装置１２７０へ配信される。
【０１６４】
家電機器管理ＩＣカード１２２０は、家電機器管理装置１２７０の更新情報受信部５７１を通じて更新情報を受信し、照合部５７７が更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト５７６の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する。
【０１６５】
そして、照合された情報が一致する家電機器が登録されていた場合、データ更新部５７４のデータ保持部５７８には受信した更新情報が保持される。さらに、家電機器管理ＩＣカード１２２０からのレスポンスデータに基づいて、家電機器管理装置１２７０には家電機器１２００のソフトウェアの更新が必要である旨が表示され、ユーザに対して家電機器管理ＩＣカード１２２０を用いて家電機器１２００のソフトウェアを更新する操作が促される。
【０１６６】
ユーザが家電機器管理ＩＣカード１２２０を該当する家電機器１２００のＩＣカード通信部１２１７に近づけると、更新処理制御部５７９が家電機器１２００と通信して、ソフトウェアの更新処理を行う。この時の更新処理の過程で、データ更新部５７４のデータ保持部５７８には、家電機器１２００から更新前のソフトウェアがバックアップのために転送される。
【０１６７】
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理ＩＣカード１２２０に登録しておき、家電機器管理ＩＣカード１２２０が家電機器管理装置１２７０を介して更新情報を機器管理サーバ５５０から受信し、ソフトウェアを更新する必要がある場合に、家電機器管理ＩＣカード１２２０を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ５５０から直接受信する機能や外部のネットワークに接続する機能、例えば、テレビチューナーやインターネットモデムなどの機能を持つ必要がなくなるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することが出来る。
【０１６８】
また、更新情報の受信が可能な状態の家電機器管理装置１２７０を介して、家電機器管理ＩＣカード１２２０が機器管理サーバ５５０から配信される更新情報を受信することで、各家電機器のソフトウェアの更新を確実に行うことが出来る。更新情報が機器管理サーバ５５０から配信される時に、各家電機器は必ずしも電源オンの状態である必要はなく、電源がオンになった際に、家電機器管理ＩＣカード１２２０との間で更新処理を行うことで、ソフトウェアの更新を確実に行うことが出来る。
【０１６９】
さらに、家電機器管理ＩＣカード１２２０のデータ更新部５７４のデータ保持部５７８を、更新情報のバッファ領域および更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。実際には、更新処理に失敗した場合の処理は、機器管理サーバ５５０によって設定された更新情報の制御情報に含まれるプログラムデータに基づいて行われる場合がある。また、そのプログラムデータに基づいて、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻す場合もあれば、元に戻すことはぜずに、安全のために家電機器を機能停止状態に設定する場合もある。
【０１７０】
なお、上記では、機器管理モジュール１２１０を、制御部１２０のＣＰＵとは別のＣＰＵを持つ集積回路であるとしたが、機器管理モジュール１２１０の機能を、制御部１２０のＣＰＵとメモリとによって構成するようにしても良い。
【０１７１】
また、上記では、機器管理モジュール１２１０にＩＣカード通信部１２１７が内蔵されるとしたが、機器管理モジュール１２１０とは独立に、例えばＩＣカードリーダーライターを備えるようにしても良い。
【０１７２】
また、上記では、家電機器１２００に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器１２００に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
【０１７３】
また、上記では、家電機器１２００に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器１２００に格納される特定のデータを更新することで、家電機器１２００の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器１２００の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器１２００の一部の機能または全ての機能を無効化する。
【０１７４】
また、上記では、家電機器管理ＩＣカード１２２０は、接触型外部インターフェイスおよび非接触型外部インターフェイスの、２種類の外部インターフェイスを備えるとしたが、いずれか１種類の外部インターフェイスだけを備えるように構成しても良い。その場合、ＩＣカード通信部１２１７およびＩＣカード通信部１２７２は、家電機器管理ＩＣカード１２２０との通信が可能なタイプとなる。
【０１７５】
（実施の形態７）
図１３は、本発明の実施の形態７に係るソフトウェア更新システムの構成を示すブロック図である。なお、本実施の形態のソフトウェア更新システムは、前述の実施の形態と基本的に同様の構成を有している。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【０１７６】
本実施の形態のソフトウェア更新システムでは、実施の形態６と同様に、ネットワーク接続機能を備えていない家電機器がＩＣカードを介して家電機器管理装置と通信を行う。また、本実施の形態のソフトウェア更新システムは、実施の形態６で説明した家電機器管理装置を、デジタル放送受信機能を備えたポータブル型の装置、例えば携帯電話などの携帯端末に適用したものである。
【０１７７】
したがって、本実施の形態のソフトウェア更新システムは、図１３に示すように、実施の形態６で説明した家電機器１２００と、家電機器１２００と共通の内部構成を有する家電機器１２０１と、家電機器管理装置としての家電機器管理携帯端末１３７０と、実施の形態２で説明した機器管理サーバ５５０と、実施の形態４で説明した放送局８５９と、家電機器管理ＩＣカード１２６０と、から構成される。また、機器管理サーバ５５０と放送局８５９とは所定の通信線により通信可能に接続される。また、放送局８５９と家電機器管理携帯端末１３７０とは放送網８６０により通信可能に接続される。また、機器管理サーバ５５０と家電機器管理携帯端末１３７０とはインターネット８６２により通信可能に接続される。家電機器管理ＩＣカード１２６０は、接触通信または非接触通信によって家電機器１２００、１２０１と接続され、また、インターネット８６２を介して機器管理サーバ５５０に通信可能に接続される。
【０１７８】
家電機器１２００、１２０１はそれぞれ、実施の形態１で説明した制御部１２０および機構部１３０、ならびに実施の形態６で説明した機器管理モジュール１２１０を備える。また、家電機器１２００、１２０１としては、例えば、ポータブル音楽プレーヤなどの、バッテリーによって駆動されるポータブルタイプの機器が想定される。
【０１７９】
家電機器管理携帯端末１３７０は、実施の形態６で説明したＩＣカード通信部１２７２、ならびに実施の形態４で説明したデジタル放送受信部８７１、インターネット通信部８７５およびテレビ機能部８７６から構成される。
【０１８０】
家電機器管理ＩＣカード１２６０は、実施の形態２で説明した機器情報管理部５７３およびデータ更新部５７４、ならびに、家電機器管理携帯端末１３７０または各家電機器と通信する接触型外部インターフェイスおよび非接触型外部インターフェイス（図示せず）から構成される。
【０１８１】
図１４は、本実施の形態のソフトウェア更新処理のフローを示している。
【０１８２】
まず、家電機器管理ＩＣカード１２６０を家電機器１２００、１２０１のＩＣカード通信部１２１７にそれぞれ近づけることで、家電機器１２００、１２０１がＩＣカード通信部１２１７を介して、機器情報を家電機器管理ＩＣカード１２６０に登録する（ステップ１：機器情報の登録）。例えば、家電機器１２００、１２０１は、メッセージを表示するなどして、ユーザに対して、この家電機器管理ＩＣカード１２６０に機器情報を登録する操作を促すようになっている。
【０１８３】
次に、家電機器１２００のソフトウェアを更新する必要が発生すると、機器管理サーバ５５０が、更新情報を生成する（ステップ２：更新情報の生成）。更新情報を生成する手順は、実施の形態１で説明した手順と同じである。
【０１８４】
次に、機器管理サーバ５５０は、放送局８５９に更新情報の配信を依頼し（ステップ３：更新情報の配信依頼）、放送局８５９は、放送網８６０を通じて家電機器管理携帯端末１３７０に更新情報を配信する。さらに更新情報は、家電機器管理ＩＣカード１２６０に伝送される（ステップ４：機器更新情報の配信）。
【０１８５】
家電機器管理携帯端末１３７０のデジタル放送受信部８７１を通じて更新情報を受信した家電機器管理ＩＣカード１２６０において、照合部５７７が、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト５７６の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する（ステップ５：機器情報の照合）。
【０１８６】
照合された情報が一致する家電機器が登録されていた場合に、更新処理制御部５７９が、更新情報をデータ保持部５７８に格納して、レスポンスデータを家電機器管理携帯端末１３７０に送信する。家電機器管理携帯端末１３７０は、受信したレスポンスデータに基づいて、家電機器１２００のソフトウェアの更新が必要である旨を表示し、ユーザに対して家電機器管理ＩＣカード１２６０を用いて家電機器１２００のソフトウェアを更新する操作を促す。ユーザが家電機器管理ＩＣカード１２６０を該当する家電機器１２００のＩＣカード通信部１２１７に近づけると、家電機器管理ＩＣカード１２６０のデータ更新部５７４の更新処理制御部５７９が、家電機器１２００へ更新情報の中の制御情報の部分を含む更新要求メッセージを送信する（ステップ６：更新要求）。
【０１８７】
家電機器管理ＩＣカード１２６０から更新要求メッセージを受信した家電機器１２００において、機器管理モジュール１２１０が、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する（ステップ７：鍵生成）。鍵を生成する手順は、実施の形態１で説明した手順と同じである。
【０１８８】
次に、家電機器１２００の機器管理モジュール１２１０は、更新前の生成情報Ｃａ、Ｃｂと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理ＩＣカード１２６０のデータ保持部５７８にバックアップのために転送する（ステップ８：バックアップ）。
【０１８９】
次に、家電機器管理ＩＣカード１２６０の更新処理制御部５７９が、更新情報の中の暗号化されている生成情報Ｃａ、Ｃｂと制御コードの部分とを、家電機器１２００に送信する（ステップ９：更新データ送信）。次に、家電機器１２００の機器管理モジュール１２１０が、更新情報の暗号を復号化して、制御コードと生成情報Ｃａ、Ｃｂとを更新する（ステップ１０：データ更新）。
【０１９０】
次に、家電機器管理ＩＣカード１２６０が、家電機器管理携帯端末１３７０に装着されると、更新処理制御部５７９が、ソフトウェアの更新が行われた家電機器１２００の機器情報を更新処理の結果とともに、家電機器管理携帯端末１３７０のインターネット通信部８７５を通じて機器管理サーバ５５０の更新状況管理部１５６に通知して更新処理を完了する（ステップ１１：更新完了通知）。この時、ステップ９、１０の処理では、暗号化された更新情報をまとめて送信し、それを家電機器１２００側で復号化するのではなく、暗号のブロック単位で家電機器１２００に送信し、ブロック単位で復号化をして更新処理を行う。
【０１９１】
なお、家電機器１２０１のソフトウェアの更新の手順は、家電機器１２００のソフトウェアの更新の手順と同じである。
【０１９２】
このように、家電機器の機器情報を家電機器管理ＩＣカード１２６０に登録しておき、家電機器管理携帯端末１３７０に装着された家電機器管理ＩＣカード１２６０が放送網８６０を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理ＩＣカード１２６０を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ５５０から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
【０１９３】
また、家電機器管理携帯端末１３７０に装着された家電機器管理ＩＣカード１２６０が放送網８６０を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
【０１９４】
さらに、家電機器管理ＩＣカード１２６０のデータ更新部５７４のデータ保持部５７８を、更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
【０１９５】
なお、上記では、家電機器管理ＩＣカード１２６０は更新情報を家電機器管理携帯端末１３７０のデジタル放送受信部８７１を介して受信するとしたが、インターネット通信部８７５を介してインターネット８６２経由で機器管理サーバ５５０から更新情報を受信するようにしても良い。この場合、機器情報リスト５７６には、さらに機器情報の一つとして機器管理サーバ５５０のＵＲＬが登録される。家電機器管理携帯端末１３７０に装着された家電機器管理ＩＣカード１２６０は、定期的に、更新処理制御部５７９からインターネット通信部８７５を介して、そのＵＲＬが示す機器管理サーバ５５０へ更新情報要求を送信し、機器管理サーバ５５０は、配信が必要な更新情報が存在する場合に、家電機器管理ＩＣカード１２６０へ更新情報を送信する。家電機器管理ＩＣカード１２６０は、家電機器管理携帯端末１３７０のインターネット通信部８７５を介して受信した更新情報に対して、デジタル放送受信部８７１を介して受信した更新情報と同様の処理を行う。
【０１９６】
また、上記において、家電機器管理携帯端末１３７０に装着された家電機器管理ＩＣカード１２６０が機器管理サーバ５５０へ送信する更新情報要求を、家電機器管理ＩＣカード１２６０が家電機器１２００、１２０１から受信した更新処理要求に基づいて送信するようにしても良い。この場合、更新処理要求は、家電機器１２００、１２０１が家電機器管理ＩＣカード１２６０に対してソフトウェアの更新処理を要求するメッセージである。家電機器管理ＩＣカード１２６０を家電機器のＩＣカード通信部１２１７に近づけた際に、更新処理要求を受信した家電機器管理ＩＣカード１２６０は、家電機器管理携帯端末１３７０に装着されるとインターネット通信部８７５を介して機器管理サーバ５５０へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
【０１９７】
（実施の形態８）
図１５は、本発明の実施の形態８に係るソフトウェア更新システムとしてのデータ通信システムである。
【０１９８】
本実施の形態は、更新対象の機器のソフトウェアバージョンのシリアル番号が連続していない場合でも、ソフトウェアの更新が可能となるように構成したものである。
【０１９９】
なお、本実施の形態で説明するソフトウェア更新システムは、実施の形態１で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、実施の形態１で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【０２００】
本実施の形態の場合、家電機器１００の機器管理モジュール１１０の生成情報記憶部１１１には、生成情報Ｃａ１１４と生成情報Ｃｂ１１５の他に、さらに、もう一組の生成情報Ｃｃ１１６と生成情報Ｃｄ１１７が格納されている。
【０２０１】
一方、機器管理サーバ１５０の秘密情報保持部１５１は、家電機器の一つの機種に対して秘密情報Ａ１５７と秘密情報Ｂ１５８の他に、さらに、もう一組の秘密情報Ｃ１５９と秘密情報Ｄ１６０を保持する。
【０２０２】
図１６は、家電機器１００に格納されるデータ、すなわち、制御コードおよび４つの生成情報Ｃａ、Ｃｂ、Ｃｃ、Ｃｄの相互関係を示す図である。
【０２０３】
生成情報Ｃａ、Ｃｂは、それぞれ秘密情報Ａ１５７、秘密情報Ｂ１５８から、生成情報Ｃｃ、Ｃｄは、それぞれ秘密情報Ｃ１５９、秘密情報Ｄ１６０から機器管理サーバ１５０の生成情報生成部１５２が生成した情報であり、家電機器１００のソフトウェアバージョンのシリアル番号によって異なっている。
【０２０４】
図１６において、例えば、ソフトウェアバージョンのシリアル番号が１の場合、家電機器１００には、制御コードＰ１と、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃａ＝Ｘ（１，Ａ）と生成情報Ｃｂ＝Ｙ（Ｍ−１，Ｂ）と生成情報Ｃｃ＝Ｕ（１，Ｃ）と生成情報Ｃｄ＝Ｖ（Ｍ−１，Ｄ）と、が格納される。同様に、ソフトウェアバージョンのシリアル番号がｎの場合、家電機器１００には制御コードＰｎと、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃａ＝Ｘ（ｎ，Ａ）と生成情報Ｃｂ＝Ｙ（Ｍ−ｎ，Ｂ）と、生成情報Ｃｃ＝Ｕ（ｎ，Ｃ）と生成情報Ｃｄ＝Ｖ（Ｍ−ｎ，Ｄ）と、が格納される。換言すれば、現在使用されているソフトウェアバージョンのシリアル番号がｎであれば、使用中のソフトウェア自体（またはその一部）が制御コードＰｎである。また、生成情報Ｃａ＝Ｘ（ｎ，Ａ）、生成情報Ｃｂ＝Ｙ（Ｍ−ｎ，Ｂ）、生成情報Ｃｃ＝Ｕ（ｎ，Ｃ）、生成情報Ｃｄ＝Ｖ（Ｍ−ｎ，Ｄ）は、制御コードＰｎに固有の情報としてそれぞれ保持され、鍵成分として鍵の生成に用いられる。
【０２０５】
ここで、ＵおよびＶは互いに異なる所定の不可逆演算を示している。Ｕ（ｐ，ａ）は、データａに対して不可逆演算Ｕをｐ回繰り返した結果を示し、Ｖ（ｑ，ｂ）はデータｂに対して不可逆演算Ｖをｑ回繰り返した結果を示す。したがって、生成情報Ｕ（１，Ｃ）は、秘密情報Ｃに不可逆演算Ｕを１回行った場合の結果であり、生成情報Ｖ（Ｍ−１，Ｄ）は、秘密情報Ｄに不可逆演算ＶをＭ−１回繰り返した場合の結果である。
【０２０６】
生成情報Ｕ（ｎ，Ｃ）は、秘密情報Ｃに不可逆演算Ｕをｎ回繰り返した場合の結果であり、生成情報Ｕ（ｎ，Ｃ）から秘密情報Ｃを算出することは出来ない。また、生成情報Ｖ（Ｍ−ｎ，Ｄ）は、秘密情報Ｄに不可逆演算ＶをＭ−ｎ回繰り返した場合の結果であり、生成情報Ｖ（Ｍ−ｎ，Ｄ）から秘密情報Ｄを算出することは出来ない。
【０２０７】
次に、家電機器１００のソフトウェアを更新する動作について説明する。
【０２０８】
機器管理サーバ１５０は、機器管理サーバ１５０が管理する機種の家電機器のソフトウェアを新しいソフトウェアに更新する必要が発生した場合、更新の対象となる家電機器に搭載されているソフトウェアのバージョンに基づいて新しいソフトウェアを暗号化し、更新情報を生成して、それを、通信路１６０を介して各家電機器へ配信する。
【０２０９】
ここで、図１７Ａに示すように、ソフトウェアバージョンのシリアル番号がｎ−ｉ〜ｎ＋ｊとＮ−ｐ〜Ｎ＋ｑ（ｎ，Ｎ，ｉ，ｊ，ｐ，ｑは１≦ｎ−ｉ≦ｎ＋ｊ＜ｎ＋ｊ＋１≦Ｎ−ｐ−１＜Ｎ−ｐ≦Ｎ＋ｑ≦Ｍ−１を満たす整数）のソフトウェア（つまり、更新対象ソフトウェア）を、シリアル番号がｎ＋ｋ（ｋは１≦ｎ＋ｋ≦Ｍ−１を満たす整数）のソフトウェア（つまり、新規ソフトウェア）に更新する必要がある場合を例にとって説明する。
【０２１０】
なお、ソフトウェアバージョンのシリアル番号がｎ＋ｊ＋１〜Ｎ−ｐ−１のソフトウェアは更新対象ではなく、更新対象の機器のソフトウェアバージョンのシリアル番号は必ずしも連続しておらず、
また、家電機器１００において現在使用されているソフトウェア（つまり、現用ソフトウェア）のバージョンのシリアル番号はｎ（ｎはｎ−ｉ≦ｎ≦ｎ＋ｊを満たす整数）またはＮ（ＮはＮ−ｐ≦Ｎ≦Ｎ＋ｑを満たす整数）であるとする。
【０２１１】
図１８Ａのフロー図に示すように、まず、
機器管理サーバ１５０の生成情報生成部１５２が、秘密情報保持部１５１から家電機器１００に対応する秘密情報Ａ１５７と秘密情報Ｂ１５８と秘密情報Ｃ１５９と秘密情報Ｄ１６０を読み出して、秘密情報Ａ１５７に不可逆演算Ｘをｎ＋ｊ回行って生成情報Ｘ（ｎ＋ｊ，Ａ）を生成し、さらに不可逆演算Ｘをｋ−ｊ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣａであるＸ（ｎ＋ｋ，Ａ）を生成し（ステップ１９０１）、
秘密情報Ｂ１５８に不可逆演算ＹをＭ−ｎ−ｋ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣｂであるＹ（Ｍ−ｎ−ｋ，Ｂ）を生成し、さらに不可逆演算Ｙをｋ＋ｉ回行って生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成し（ステップ１９０２）、
秘密情報Ｃ１５９に不可逆演算ＵをＮ＋ｑ回行って生成情報Ｕ（Ｎ＋ｑ，Ｃ）を生成し、さらに不可逆演算Ｕをｎ＋ｋ−Ｎ−ｑ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣｃであるＵ（ｎ＋ｋ，Ｃ）を生成し（ステップ１９０３）、
秘密情報Ｄ１６０に不可逆演算ＶをＭ−ｎ−ｋ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣｄであるＶ（Ｍ−ｎ−ｋ，Ｄ）を生成し、さらに不可逆演算Ｖをｎ＋ｋ−Ｎ＋ｐ回行って生成情報Ｖ（Ｍ−Ｎ＋ｐ，Ｄ）を生成する（ステップ１９０４）。
【０２１２】
次に、暗号鍵生成部１５３が、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）と生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）とシリアル番号ｎ＋ｋとを合成して鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）を生成し（ステップ１９０５）、生成情報Ｕ（Ｎ＋ｑ，Ｃ）と生成情報Ｖ（Ｍ−Ｎ＋ｐ，Ｄ）とシリアル番号ｎ＋ｋとを合成して鍵Ｆ（Ｕ（Ｎ＋ｑ，Ｃ），Ｖ（Ｍ−Ｎ＋ｐ，Ｄ），ｎ＋ｋ）を生成し（ステップ１９０６）、さらに、暗号鍵Ｋを生成する（ステップ１９０７）。ここで暗号鍵Ｋは乱数をシードとする任意の共通鍵方式の鍵である。
【０２１３】
次に、更新情報生成部１５４が、シリアル番号ｎ＋ｋの場合の生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｎ＋ｋ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｎ−ｋ，Ｄ））と制御コードＰｎ＋ｋとを、生成した暗号鍵Ｋを用いて暗号化し（ステップ１９０８）、
さらに、暗号鍵Ｋを
生成した鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）と
生成した鍵Ｆ（Ｕ（Ｎ＋ｑ，Ｃ），Ｖ（Ｍ−Ｎ＋ｐ，Ｄ），ｎ＋ｋ）と
を用いてそれぞれ暗号化し（ステップ１９０９）、さらに制御情報を付加して、図１７Ｂに示すようなデータ構造の更新情報を生成する。
【０２１４】
次に、更新情報配信部１５５が、生成した更新情報を通信路１６０を介して家電機器１００を含む各家電機器へ配信する。
【０２１５】
ここで、制御情報は、更新情報を受信した家電機器１００における更新情報の処理を制御する情報である。制御情報には、更新の対象となっている家電機器の機種を規定する情報が含まれている。具体的には、例えば、製造会社を示すメーカーコードと、家電機器の型式番号と、ソフトウェアバージョンのシリアル番号とが含まれ、さらに製造シリアル番号の範囲を示す情報が含まれていても良い。また、制御情報には、更新後のソフトウェアバージョンを規定する情報として更新後のソフトウェアバージョンのシリアル番号が含まれている。さらに、制御情報には、実際に家電機器上で実行されるプログラムデータが含まれていても良く、さらに、そのプログラムデータの正当性を検証するための電子署名等の検証データが含まれていても良い。本実施の形態の場合には、制御コード格納部１２１に格納されているユーザ設定１２３を、新しいソフトウェアにおいても有効なデータ形式に変換するプログラムデータが含まれているとする。
【０２１６】
次に、更新情報を受信した家電機器１００は、更新情報の制御情報に基づき、生成情報から更新情報の暗号を復号化するための鍵を生成し、更新情報の暗号を復号化して、ソフトウェアを更新情報に含まれていたものに更新する。ここでは、家電機器１００に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がｎ（ｎ−ｉ≦ｎ≦ｎ＋ｊ）であった場合とＮ（Ｎ−ｑ≦Ｎ≦Ｎ＋ｐ）であった場合を例にとって説明する。
【０２１７】
まず、家電機器１００に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がｎであった場合、図１８Ｂのフロー図に示すように、まず、家電機器１００の受信部１４０が、機器管理サーバ１５０から配信された更新情報を通信路１６０を介して受信する。家電機器１００の機器管理モジュール１１０の更新部１１３が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する（ステップ１９１０）。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器１００のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器１００のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ１９１０の更新の要否判定において、「更新不要」と判定した場合には、更新部１１３は受信した更新情報をそのまま廃棄する。
【０２１８】
「更新が必要」と判定された場合は、鍵生成部１１２が、生成情報記憶部１１１から生成情報Ｃａ（＝Ｘ（ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））を読み出して、生成情報Ｃａ（＝Ｘ（ｎ，Ａ））に不可逆演算Ｘをｊ回行って生成情報Ｘ（ｎ＋ｊ，Ａ）を生成し（ステップ１９１１）、生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））に不可逆演算Ｙをｉ回行って生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成し（ステップ１９１２）、更に、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）、Ｙ（Ｍ−ｎ＋ｉ，Ｂ）およびシリアル番号ｎ＋ｋから、鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）を生成する（ステップ１９１３）。
【０２１９】
次に、更新部１１３が、鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），ｎ＋ｋ）で暗号化されている暗号鍵Ｋの暗号を復号化し（ステップ１９１４）、
復号化した暗号鍵Ｋを用いて
更新情報の暗号化されている部分を復号化し（ステップ１９１５）、シリアル番号がｎ＋ｋの場合の生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｎ＋ｋ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｎ−ｋ，Ｄ））と制御コードＰｎ＋ｋとを取り出して、制御コード格納部１２１の制御コードＰｎを制御コードＰｎ＋ｋに更新し、生成情報記憶部１１１の生成情報Ｃａ（＝Ｘ（ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｎ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｎ，Ｄ））を、それぞれ生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｎ＋ｋ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｎ−ｋ，Ｄ））に更新する。
【０２２０】
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部１２０に格納されているユーザ設定１２３を、新しい制御コードＰｎ＋ｋにおいても有効なデータ形式に変換することにより、ユーザ設定１２３を更新して、ソフトウェアの更新を完了する。この時、更新部１１３は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
【０２２１】
また、家電機器１００に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がＮであった場合、図１８Ｃのフロー図に示すように、まず、家電機器１００の受信部１４０が、機器管理サーバ１５０から配信された更新情報を通信路１６０を介して受信する。家電機器１００の機器管理モジュール１１０の更新部１１３が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する（ステップ１９２０）。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器１００のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器１００のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ１９２０の更新の要否判定において、「更新不要」と判定した場合には、更新部１１３は受信した更新情報をそのまま廃棄する。
【０２２２】
「更新が必要」と判定された場合は、鍵生成部１１２が、生成情報記憶部１１１から生成情報Ｃｃ（＝Ｕ（Ｎ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−Ｎ，Ｄ））を読み出して、生成情報Ｃｃ（＝Ｕ（Ｎ，Ｃ））に不可逆演算Ｕをｑ回行って生成情報Ｕ（Ｎ＋ｑ，Ｃ）を生成し（ステップ１９２１）、生成情報Ｃｄ（＝Ｖ（Ｍ−Ｎ，Ｄ））に不可逆演算Ｖをｐ回行って生成情報Ｖ（Ｍ−Ｎ＋ｐ，Ｄ）を生成し（ステップ１９２２）、更に、生成された生成情報Ｕ（Ｎ＋ｑ，Ｃ）、Ｖ（Ｍ−Ｎ＋ｐ，Ｄ）およびシリアル番号ｎ＋ｋから、鍵Ｆ（Ｕ（Ｎ＋ｑ，Ｃ），Ｖ（Ｍ−Ｎ＋ｐ，Ｄ），ｎ＋ｋ）を生成する（ステップ１９２３）。
【０２２３】
次に、更新部１１３が、鍵Ｆ（Ｕ（Ｎ＋ｑ，Ｃ），Ｖ（Ｍ−Ｎ＋ｐ，Ｄ），ｎ＋ｋ）で暗号化されている暗号鍵Ｋの暗号を復号化し（ステップ１９２４）、
復号化した暗号鍵Ｋを用いて
更新情報の暗号化されている部分を復号化し（ステップ１９２５）、シリアル番号がｎ＋ｋの場合の生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｎ＋ｋ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｎ−ｋ，Ｄ））と制御コードＰｎ＋ｋとを取り出して、制御コード格納部１２１の制御コードＰＮを制御コードＰｎ＋ｋに更新し、生成情報記憶部１１１の生成情報Ｃａ（＝Ｘ（Ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−Ｎ，Ｂ））と生成情報Ｃｃ（＝Ｕ（Ｎ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−Ｎ，Ｄ））を、それぞれ生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｎ＋ｋ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｎ−ｋ，Ｄ））に更新する。
【０２２４】
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部１２１に格納されているユーザ設定１２３を、新しい制御コードＰｎ＋ｋにおいても有効なデータ形式に変換することにより、ユーザ設定１２３を更新して、ソフトウェアの更新を完了する。この時、更新部１１３は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
【０２２５】
以上のように、
更新対象の機器のソフトウェアバージョンのシリアル番号が必ずしも連続していない場合でも、搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンの家電機器であれば、更新情報の暗号化されている部分を復号化する暗号鍵Ｋに施された暗号を復号化するための鍵を生成することができ、ソフトウェアの更新を行うことが出来る。この時、機器管理サーバ１５０側は、家電機器のバージョンごとに複数の更新情報を配信する必要はなく、１種類の更新情報を配信するだけで良く、処理の負荷が小さくてすむので、サーバ設備にかかるコストを抑えることが出来る。また、家電機器１００側は、ハッシュ演算という負荷の小さな処理を行うだけで良く、一方で、更新ごとに配信される更新情報の暗復号鍵を変えることが出来るので、更新情報の配信の安全性が向上する。
【０２２６】
一方、家電機器に搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンではない場合、更新情報の暗号化されている部分を復号化する暗号鍵Ｋに施された暗号を復号化するための鍵を生成することは出来ないので、ソフトウェアを更新することも出来ない。
【０２２７】
なお、上記では、機器管理モジュール１１０を、制御部１２０のＣＰＵとは別のＣＰＵを持つ集積回路であるとしたが、機器管理モジュール１１０の機能を、制御部１２０のＣＰＵとメモリとによって構成するようにしても良い。
【０２２８】
また、上記では、家電機器１００に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器１００に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
【０２２９】
また、上記では、家電機器１００に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器１００に格納される特定のデータを更新することで、家電機器１００の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器１００の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器１００の一部の機能または全ての機能を無効化する。
【０２３０】
また、上記では、説明を簡単にするため、更新対象の機器のソフトウェアバージョンのシリアル番号が連続していない箇所が１個の場合の形態について説明したが、連続していない箇所が２個以上の場合についても、秘密情報および生成情報を２個ずつ増加させることで、同様の仕組みでソフトウェアの更新を行うことができる。
【０２３１】
（実施の形態９）
図１９は、本発明の実施の形態９に係るソフトウェア更新システムとしてのデータ通信システムである。
【０２３２】
本実施の形態は、機器のソフトウェアが複数のソフトウェアから構成され、それぞれのソフトウェアのリリースのタイミングが異なる場合でも、それぞれのソフトウェアの更新が可能となるように構成したものである。例えば、機器に搭載されるソフトウェアが、ＯＳ、ミドルウェア、アプリケーションといったように複数のソフトウェアから構成され、特に、それぞれが異なるベンダーから提供されるソフトウェアである場合、ソフトウェアのリリースのタイミングはそれぞれ異なるため、ソフトウェアバージョンのシリアル番号は異なることになる。また、ソフトウェア間ではバージョンごとに相性が存在する場合があり、必ずしも、それぞれのソフトウェアを個別に更新すれば良いわけでなく、特定の組み合わせでそれぞれのソフトウェアを更新する必要がある場合がある。
【０２３３】
なお、本実施の形態で説明するソフトウェア更新システムは、実施の形態１で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、実施の形態１で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
【０２３４】
また、本実施の形態の場合、機器のソフトウェアを構成する複数のソフトウェアとしては、説明を簡単にするため、２つのソフトウェアから構成されるとし、家電機器１００の制御部１２０の制御コード格納部１２１には、実施の形態１における制御コード１２２の代わりに、制御モジュールＰ１２５と制御モジュールＱ１２６の２つのソフトウェアが格納されており、また、機器管理モジュール１１０の生成情報記憶部１１１には、生成情報Ｃａ１１４と生成情報Ｃｂ１１５の他に、さらに、もう一組の生成情報Ｃｃ１１６と生成情報Ｃｄ１１７が格納されている。ここで、生成情報Ｃａ１１４と生成情報Ｃｂ１１５は、制御モジュールＰ１２５に対応する２つの生成情報であり、生成情報Ｃｃ１１６と生成情報Ｃｄ１１７は、制御モジュールＱ１２６に対応する２つの生成情報である。
【０２３５】
一方、機器管理サーバ１５０の秘密情報保持部１５１は、家電機器の一つの機種に対して秘密情報Ａ１５７と秘密情報Ｂ１５８の他に、さらに、もう一組の秘密情報Ｃ１５９と秘密情報Ｄ１６０を保持する。ここで、秘密情報Ａ１５７と秘密情報Ｂ１５８は制御モジュールＰ１２５に対応する２つの秘密情報であり、秘密情報Ｃ１５９と秘密情報Ｄ１６０は制御モジュールＱ１２６に対応する２つの秘密情報である。
【０２３６】
図２０は、家電機器１００に格納されるデータ、すなわち、制御モジュールＰ１２５と制御モジュールＱ１２６および４つの生成情報Ｃａ、Ｃｂ、Ｃｃ、Ｃｄの相互関係を示す図である。
【０２３７】
生成情報Ｃａ、Ｃｂは、それぞれ秘密情報Ａ１５７、秘密情報Ｂ１５８から、生成情報Ｃｃ、Ｃｄは、それぞれ秘密情報Ｃ１５９、秘密情報Ｄ１６０から機器管理サーバ１５０の生成情報生成部１５２が生成した情報であり、生成情報Ｃａ、Ｃｂは、制御モジュールＰ１２５のバージョンのシリアル番号によって異なっており、生成情報Ｃｃ、Ｃｄは、制御モジュールＱ１２６のバージョンのシリアル番号によって異なっている。
【０２３８】
図２０において、例えば、制御モジュールＰ１２５のバージョンのシリアル番号が１の場合、制御モジュールＰとして家電機器１００には制御モジュールＰ１が格納され、さらに、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃａ＝Ｘ（１，Ａ）と生成情報Ｃｂ＝Ｙ（Ｍ−１，Ｂ）と、が格納される。同様に、制御モジュールＰ１２５のバージョンのシリアル番号がｎの場合、制御モジュールＰとして家電機器１００には制御モジュールＰｎが格納され、さらに、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃａ＝Ｘ（ｎ，Ａ）と生成情報Ｃｂ＝Ｙ（Ｍ−ｎ，Ｂ）と、が格納される。
【０２３９】
また制御モジュールＱ１２６のバージョンのシリアル番号が１の場合、制御モジュールＱとして家電機器１００には制御モジュールＱ１が格納され、さらに、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃｃ＝Ｕ（１，Ａ）と生成情報Ｃｄ＝Ｖ（Ｍ−１，Ｂ）と、が格納される。同様に、制御モジュールＱ１２６のバージョンのシリアル番号がｓの場合、制御モジュールＱとして家電機器１００には制御モジュールＱｓが格納され、さらに、機器管理サーバ１５０の生成情報生成部１５２が生成した、生成情報Ｃｃ＝Ｕ（ｓ，Ｃ）と生成情報Ｃｄ＝Ｖ（Ｍ−ｓ，Ｄ）と、が格納される。
【０２４０】
換言すれば、現在使用されているソフトウェアを構成する制御モジュールＰ１２５と制御モジュールＱ１２６のバージョンのシリアル番号が、それぞれ、ｎとｓ、であれば、使用中のソフトウェア自体（またはその一部）が制御モジュールＰｎと制御モジュールＱｓによって構成される。また、生成情報Ｃａ＝Ｘ（ｎ，Ａ）、生成情報Ｃｂ＝Ｙ（Ｍ−ｎ，Ｂ）は、制御コードＰｎに固有の情報としてそれぞれ保持され、生成情報Ｃｃ＝Ｕ（ｓ，Ｃ）、生成情報Ｃｄ＝Ｖ（Ｍ−ｓ，Ｄ）は、制御コードＱｓに固有の情報としてそれぞれ保持され、鍵成分として鍵の生成に用いられる。
【０２４１】
ここで、ＵおよびＶは互いに異なる所定の不可逆演算を示している。Ｕ（ｐ，ａ）は、データａに対して不可逆演算Ｕをｐ回繰り返した結果を示し、Ｖ（ｑ，ｂ）はデータｂに対して不可逆演算Ｖをｑ回繰り返した結果を示す。したがって、生成情報Ｕ（１，Ｃ）は、秘密情報Ｃに不可逆演算Ｕを１回行った場合の結果であり、生成情報Ｖ（Ｍ−１，Ｄ）は、秘密情報Ｄに不可逆演算ＶをＭ−１回繰り返した場合の結果である。
【０２４２】
生成情報Ｕ（ｎ，Ｃ）は、秘密情報Ｃに不可逆演算Ｕをｎ回繰り返した場合の結果であり、生成情報Ｕ（ｎ，Ｃ）から秘密情報Ｃを算出することは出来ない。また、生成情報Ｖ（Ｍ−ｎ，Ｄ）は、秘密情報Ｄに不可逆演算ＶをＭ−ｎ回繰り返した場合の結果であり、生成情報Ｖ（Ｍ−ｎ，Ｄ）から秘密情報Ｄを算出することは出来ない。
【０２４３】
次に、家電機器１００のソフトウェアを更新する動作について説明する。
【０２４４】
機器管理サーバ１５０は、機器管理サーバ１５０が管理する機種の家電機器のソフトウェアを新しいソフトウェアに更新する必要が発生した場合、更新の対象となる家電機器に搭載されているソフトウェアのバージョンに基づいて新しいソフトウェアを暗号化し、更新情報を生成して、それを、通信路１６０を介して各家電機器へ配信する。
【０２４５】
ここで、図２１Ａに示すように、制御モジュールＰのバージョンのシリアル番号がｎ−ｉ〜ｎ＋ｊ（ｎ，ｉ，ｊは１≦ｎ−ｉ≦ｎ＋ｊ≦Ｍ−１を満たす整数）かつ制御モジュールＱのバージョンのシリアル番号がｓ−ｐ〜ｓ＋ｑ（ｓ，ｐ，ｑは１≦ｓ−ｐ≦ｓ＋ｑ≦Ｍ−１を満たす整数）から構成されるソフトウェア（つまり、更新対象ソフトウェア）を、制御モジュールＰのバージョンのシリアル番号がｎ＋ｋ（ｋは１≦ｎ＋ｋ≦Ｍ−１を満たす整数）、制御モジュールＱのバージョンのシリアル番号がｓ＋ｔ（ｔは１≦ｎ＋ｔ≦Ｍ−１を満たす整数）のソフトウェア（つまり、新規ソフトウェア）に更新する必要がある場合を例にとって説明する。
【０２４６】
なお、家電機器１００において現在使用されているソフトウェア（つまり、現用ソフトウェア）は、制御モジュールＰのバージョンのシリアル番号がｎ、制御モジュールＱのバージョンのシリアル番号がｓであるとする。
【０２４７】
図２２Ａのフロー図に示すように、まず、
機器管理サーバ１５０の生成情報生成部１５２が、秘密情報保持部１５１から家電機器１００に対応する秘密情報Ａ１５７と秘密情報Ｂ１５８と秘密情報Ｃ１５９と秘密情報Ｄ１６０を読み出して、秘密情報Ａ１５７に不可逆演算Ｘをｎ＋ｊ回行って生成情報Ｘ（ｎ＋ｊ，Ａ）を生成し、さらに不可逆演算Ｘをｋ−ｊ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣａであるＸ（ｎ＋ｋ，Ａ）を生成し（ステップ２３０１）、
秘密情報Ｂ１５８に不可逆演算ＹをＭ−ｎ−ｋ回行ってシリアル番号ｎ＋ｋの場合の生成情報ＣｂであるＹ（Ｍ−ｎ−ｋ，Ｂ）を生成し、さらに不可逆演算Ｙをｋ＋ｉ回行って生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成し（ステップ２３０２）、
秘密情報Ｃ１５９に不可逆演算Ｕをｓ＋ｑ回行って生成情報Ｕ（ｓ＋ｑ，Ｃ）を生成し、さらに不可逆演算Ｕをｔ−ｑ回行ってシリアル番号ｓ＋ｔの場合の生成情報ＣｃであるＵ（ｓ＋ｔ，Ｃ）を生成し（ステップ２３０３）、
秘密情報Ｄ１６０に不可逆演算ＶをＭ−ｓ−ｔ回行ってシリアル番号ｓ＋ｔの場合の生成情報ＣｄであるＶ（Ｍ−ｓ−ｔ，Ｄ）を生成し、さらに不可逆演算Ｖをｔ＋ｐ回行って生成情報Ｖ（Ｍ−ｓ＋ｐ，Ｄ）を生成する（ステップ２３０４）。
【０２４８】
次に、暗号鍵生成部１５３が、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）と生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）と生成情報Ｕ（ｓ＋ｑ，Ｃ）と生成情報Ｖ（Ｍ−ｓ＋ｐ，Ｄ）とシリアル番号ｎ＋ｋとｓ＋ｔとを合成して鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），Ｕ（ｓ＋ｑ，Ｃ），Ｖ（Ｍ−ｓ＋ｐ，Ｄ），ｎ＋ｋ，ｓ＋ｔ）を生成し（ステップ２３０５）、
次に、更新情報生成部１５４が、生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｓ＋ｔ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｓ−ｔ，Ｄ））と制御コードＰｎ＋ｋと制御コードＱｓ＋ｔとを、生成した鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），Ｕ（ｓ＋ｑ，Ｃ），Ｖ（Ｍ−ｓ＋ｐ，Ｄ），ｎ＋ｋ，ｓ＋ｔ）を用いて暗号化し（ステップ２３０６）、さらに制御情報を付加して、図２１Ｂに示すようなデータ構造の更新情報を生成する。
【０２４９】
この場合、鍵Ｆ（ａ，ｂ，ｃ，ｄ）は、ａ、ｂ、ｃ、ｄを変数とする任意の関数であり、例えば、Ｆ（ａ，ｂ，ｃ，ｄ）＝Ｈ（ａ｜｜ｂ｜｜ｃ｜｜ｄ）（ａとｂとｃとｄのデータ連結にハッシュ演算を施したもの）といった関数が用いられる。
【０２５０】
次に、更新情報配信部１５５が、生成した更新情報を通信路１６０を介して家電機器１００を含む各家電機器へ配信する。
【０２５１】
ここで、制御情報は、更新情報を受信した家電機器１００における更新情報の処理を制御する情報である。制御情報には、更新の対象となっている家電機器の機種を規定する情報が含まれている。具体的には、例えば、製造会社を示すメーカーコードと、家電機器の型式番号と、ソフトウェアバージョンのシリアル番号とが含まれ、さらに製造シリアル番号の範囲を示す情報が含まれていても良い。また、制御情報には、更新後のソフトウェアバージョンを規定する情報として更新後のソフトウェアバージョンのシリアル番号が含まれている。さらに、制御情報には、実際に家電機器上で実行されるプログラムデータが含まれていても良く、さらに、そのプログラムデータの正当性を検証するための電子署名等の検証データが含まれていても良い。本実施の形態の場合には、制御コード格納部１２１に格納されているユーザ設定１２３を、新しいソフトウェアにおいても有効なデータ形式に変換するプログラムデータが含まれているとする。
【０２５２】
次に、更新情報を受信した家電機器１００は、更新情報の制御情報に基づき、生成情報から更新情報の暗号を復号化するための鍵を生成し、更新情報の暗号を復号化して、ソフトウェアを更新情報に含まれていたものに更新する。ここでは、家電機器１００に搭載されている制御モジュールＰのバージョンのシリアル番号がｎ、制御モジュールＱのバージョンのシリアル番号がｓであった場合を例にとって説明する。
【０２５３】
図２２Ｂのフロー図に示すように、まず、家電機器１００の受信部１４０が、機器管理サーバ１５０から配信された更新情報を通信路１６０を介して受信する。家電機器１００の機器管理モジュール１１０の更新部１１３が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する（ステップ２３１０）。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器１００のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器１００のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ２３１０の更新の要否判定において、「更新不要」と判定した場合には、更新部１１３は受信した更新情報をそのまま廃棄する。
【０２５４】
「更新が必要」と判定された場合は、鍵生成部１１２が、生成情報記憶部１１１から生成情報Ｃａ（＝Ｘ（ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｓ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｓ，Ｄ））を読み出して、生成情報Ｃａ（＝Ｘ（ｎ，Ａ））に不可逆演算Ｘをｊ回行って生成情報Ｘ（ｎ＋ｊ，Ａ）を生成し（ステップ２３１１）、生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））に不可逆演算Ｙをｉ回行って生成情報Ｙ（Ｍ−ｎ＋ｉ，Ｂ）を生成し（ステップ２３１２）、生成情報Ｃｃ（＝Ｕ（ｓ，Ｃ））に不可逆演算Ｕをｑ回行って生成情報Ｕ（ｓ＋ｑ，Ｃ）を生成し（ステップ２３１３）、生成情報Ｃｄ（＝Ｖ（Ｍ−ｓ，Ｄ））に不可逆演算Ｖをｐ回行って生成情報Ｖ（Ｍ−ｓ＋ｐ，Ｄ）を生成し（ステップ２３１４）、更に、生成された生成情報Ｘ（ｎ＋ｊ，Ａ）、Ｙ（Ｍ−ｎ＋ｉ，Ｂ）、Ｕ（ｓ＋ｑ，Ｃ）、Ｖ（Ｍ−ｓ＋ｐ，Ｄ）およびシリアル番号ｎ＋ｋとs＋tから、鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），Ｕ（ｓ＋ｑ，Ｃ），Ｖ（Ｍ−ｓ＋ｐ，Ｄ），ｎ＋ｋ，ｓ＋ｔ）を生成する（ステップ２３１５）。
【０２５５】
次に、更新部１１３が、鍵Ｆ（Ｘ（ｎ＋ｊ，Ａ），Ｙ（Ｍ−ｎ＋ｉ，Ｂ），Ｕ（ｓ＋ｑ，Ｃ），Ｖ（Ｍ−ｓ＋ｐ，Ｄ），ｎ＋ｋ，ｓ＋ｔ）で更新情報の暗号化されている部分を復号化し（ステップ２３１６）、生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｓ＋ｔ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｓ−ｔ，Ｄ））と制御モジュールＰｎ＋ｋと制御モジュールＱｓ＋ｔとを取り出して、制御コード格納部１２１の制御モジュールＰｎを制御モジュールＰｎ＋ｋに、制御モジュールＱｓを制御モジュールＱｓ＋ｔに、それぞれ更新し、生成情報記憶部１１１の生成情報Ｃａ（＝Ｘ（ｎ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｓ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｓ，Ｄ））を、それぞれ生成情報Ｃａ（＝Ｘ（ｎ＋ｋ，Ａ））と生成情報Ｃｂ（＝Ｙ（Ｍ−ｎ−ｋ，Ｂ））と生成情報Ｃｃ（＝Ｕ（ｓ＋ｔ，Ｃ））と生成情報Ｃｄ（＝Ｖ（Ｍ−ｓ−ｔ，Ｄ））に更新する。
【０２５６】
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部１２１に格納されているユーザ設定１２３を、新しい制御モジュールＰｎ＋ｋおよび制御モジュールＱｓ＋ｔにおいても有効なデータ形式に変換することにより、ユーザ設定１２３を更新して、ソフトウェアの更新を完了する。この時、更新部１１３は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
【０２５７】
以上のように、
更新対象の機器のソフトウェアが複数のソフトウェアから構成される場合でも、搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンの家電機器であれば、更新情報の暗号化されている部分を復号化する暗号鍵Ｋに施された暗号を復号化するための鍵を生成することができ、ソフトウェアの更新を行うことが出来る。この時、機器管理サーバ１５０側は、家電機器のバージョンごとに複数の更新情報を配信する必要はなく、１種類の更新情報を配信するだけで良く、処理の負荷が小さくてすむので、サーバ設備にかかるコストを抑えることが出来る。また、家電機器１００側は、ハッシュ演算という負荷の小さな処理を行うだけで良く、一方で、更新ごとに配信される更新情報の暗復号鍵を変えることが出来るので、更新情報の配信の安全性が向上する。
【０２５８】
一方、家電機器に搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンではない場合、更新情報の暗号化されている部分を復号化する暗号鍵Ｋに施された暗号を復号化するための鍵を生成することは出来ないので、ソフトウェアを更新することも出来ない。
【０２５９】
なお、上記では、機器管理モジュール１１０を、制御部１２０のＣＰＵとは別のＣＰＵを持つ集積回路であるとしたが、機器管理モジュール１１０の機能を、制御部１２０のＣＰＵとメモリとによって構成するようにしても良い。
【０２６０】
また、上記では、家電機器１００に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器１００に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
【０２６１】
また、上記では、家電機器１００に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器１００に格納される特定のデータを更新することで、家電機器１００の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器１００の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器１００の一部の機能または全ての機能を無効化する。
【０２６２】
また、上記では、説明を簡単にするため、機器のソフトウェアが２つのソフトウェアから構成される場合の形態について説明したが、機器のソフトウェアが３つ以上のソフトウェアから構成される場合についても、秘密情報および生成情報を２個ずつ増加させることで、同様の仕組みでソフトウェアの更新を行うことができる。
【０２６３】
以上、本発明の実施の形態について説明した。なお、以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されない。例えば、実施の形態１〜９で説明した幾つかの特徴を適宜組み合わせて実施することができる。また、各実施の形態において使用した通信方式や各機器の個数などは、前述したものだけに限定されるべきではない。また、各実施の形態で説明した構成は一例であり、よって、本発明の範囲においてこの構成例の様々な変更および修正が可能であることは明らかである。
【産業上の利用可能性】
【０２６４】
本発明の家電機器は、使用するデータのバージョンアップが可能な家電機器として有用である。また、本発明のデータ格納装置、管理サーバ、集積回路、データ更新システム、データ更新方法、暗号化方法、および、暗復号鍵生成方法は、家電機器において使用するデータのバージョンアップの用途に適している。
【図面の簡単な説明】
【０２６５】
【図１】本発明の実施の形態１に係るソフトウェア更新システムの構成を示すブロック図
【図２】本発明の実施の形態１に係る家電機器に格納されるデータの相互関係を示す図
【図３】（ａ）本発明の実施の形態１に係る現用データ、更新対象データおよび新規データを示す図（ｂ）本発明の実施の形態１に係る更新情報および制御情報を示す図
【図４】（ａ）本発明の実施の形態１に係る機器管理サーバによる暗号化処理のフロー図（ｂ）本発明の実施の形態１に係る家電機器による復号化処理のフロー図
【図５】本発明の実施の形態２に係るソフトウェア更新システムの構成を示すブロック図
【図６Ａ】本発明の実施の形態３に係るソフトウェア更新システムの構成を示すブロック図
【図６Ｂ】本発明の実施の形態３に係る機器管理モジュールの構成を示すブロック図
【図７】本発明の実施の形態３に係るソフトウェア更新システムにおける更新処理のフローを示す図
【図８Ａ】本発明の実施の形態４に係るソフトウェア更新システムの構成を示す図
【図８Ｂ】本発明の実施の形態４に係る機器管理モジュールの構成を示すブロック図
【図９】本発明の実施の形態４に係るソフトウェア更新システムにおける更新処理のフローを示す図
【図１０Ａ】本発明の実施の形態５に係るソフトウェア更新システムの構成を示す図
【図１０Ｂ】本発明の実施の形態５に係る機器管理モジュールの構成を示す図
【図１０Ｃ】本発明の実施の形態５に係る別の機器管理モジュールの構成を示す図
【図１１】本発明の実施の形態５に係るソフトウェア更新システムにおける更新処理のフローを示す図
【図１２】本発明の実施の形態６に係るソフトウェア更新システムの構成を示すブロック図
【図１３】本発明の実施の形態７に係るソフトウェア更新システムの構成を示すブロック図
【図１４】本発明の実施の形態７に係るソフトウェア更新システムにおける更新処理のフローを示す図
【図１５】本発明の実施の形態８に係るソフトウェア更新システムの構成を示すブロック図
【図１６】本発明の実施の形態８に係る家電機器に格納されるデータの相互関係を示す図
【図１７Ａ】本発明の実施の形態８に係る現用データ、更新対象データおよび新規データを示す図
【図１７Ｂ】本発明の実施の形態８に係る更新情報および制御情報を示す図
【図１８Ａ】本発明の実施の形態８に係る機器管理サーバによる暗号化処理のフロー図
【図１８Ｂ】本発明の実施の形態８に係る家電機器による復号化処理のフロー図（搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がｎ（ｎ−ｉ≦ｎ≦ｎ＋ｊ）の場合）
【図１８Ｃ】本発明の実施の形態８に係る家電機器による復号化処理のフロー図（搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がＮ（Ｎ−ｐ≦Ｎ≦Ｎ＋ｑ）の場合）
【図１９】本発明の実施の形態９に係るソフトウェア更新システムの構成を示すブロック図
【図２０】本発明の実施の形態９に係る家電機器に格納されるデータの相互関係を示す図
【図２１Ａ】本発明の実施の形態９に係る現用データ、更新対象データおよび新規データを示す図
【図２１Ｂ】本発明の実施の形態９に係る更新情報および制御情報を示す図
【図２２Ａ】本発明の実施の形態９に係る機器管理サーバによる暗号化処理のフロー図
【図２２Ｂ】本発明の実施の形態９に係る家電機器による復号化処理のフロー図
【図２３】従来のソフトウェア更新方式の一例を示す図
【符号の説明】
【０２６６】
１００、５００、１２００  家電機器
１１０、５１０、１２１０  機器管理モジュール
１１１  生成情報記憶部
１１２  鍵生成部
１１３  更新部
１５０、５５０  機器管理サーバ
１５１  秘密情報保持部
１５２  生成情報生成部
１５３  暗号鍵生成部
１５４  更新情報生成部
１５５  更新情報配信部
５１６  機器情報登録部
５１７、５７２  ローカル通信部
５７０、１２７０  家電機器管理装置
５７１  更新情報受信部
５７３  機器情報管理部
５７４  データ更新部
５７５  通信部
１２１７、１２７２  ＩＣカード通信部
【図１】
2008017462.tif 000003
【図２】
2008017462.tif 000004
【図３】
2008017462.tif 000005
【図４】
2008017462.tif 000006
【図５】
2008017462.tif 000007
【図６Ａ】
2008017462.tif 000008
【図６Ｂ】
2008017462.tif 000009
【図７】
2008017462.tif 000010
【図８Ａ】
2008017462.tif 000011
【図８Ｂ】
2008017462.tif 000012
【図９】
2008017462.tif 000013
【図１０Ａ】
2008017462.tif 000014
【図１０Ｂ】
2008017462.tif 000015
【図１０Ｃ】
2008017462.tif 000016
【図１１】
2008017462.tif 000017
【図１２】
2008017462.tif 000018
【図１３】
2008017462.tif 000019
【図１４】
2008017462.tif 000020
【図１５】
2008017462.tif 000021
【図１６】
2008017462.tif 000022
【図１７Ａ】
2008017462.tif 000023
【図１７Ｂ】
2008017462.tif 000024
【図１８Ａ】
2008017462.tif 000025
【図１８Ｂ】
2008017462.tif 000026
【図１８Ｃ】
2008017462.tif 000027
【図１９】
2008017462.tif 000028
【図２０】
2008017462.tif 000029
【図２１Ａ】
2008017462.tif 000030
【図２１Ｂ】
2008017462.tif 000031
【図２２Ａ】
2008017462.tif 000032
【図２２Ｂ】
2008017462.tif 000033
【図２３】
2008017462.tif 000034