JP2008017462A - データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法 - Google Patents

データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法 Download PDF

Info

Publication number
JP2008017462A
JP2008017462A JP2007146869A JP2007146869A JP2008017462A JP 2008017462 A JP2008017462 A JP 2008017462A JP 2007146869 A JP2007146869 A JP 2007146869A JP 2007146869 A JP2007146869 A JP 2007146869A JP 2008017462 A JP2008017462 A JP 2008017462A
Authority
JP
Japan
Prior art keywords
information
generation
data
update
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007146869A
Other languages
English (en)
Other versions
JP5090066B2 (ja
Inventor
Hisashi Takayama
久 高山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007146869A priority Critical patent/JP5090066B2/ja
Priority to US12/303,420 priority patent/US8155320B2/en
Priority to PCT/JP2007/061383 priority patent/WO2007142240A1/ja
Publication of JP2008017462A publication Critical patent/JP2008017462A/ja
Application granted granted Critical
Publication of JP5090066B2 publication Critical patent/JP5090066B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】家電機器のソフトウェアの更新を安全にしかも効率的に行うこと。
【解決手段】現用データを新規データに更新する家電機器100において、受信部140は、暗号化された新規データと、更新対象データのシリアル番号と、を受信する。鍵生成部112は、更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、現用データに関連付けられた固有情報に施して鍵を生成する。更新部113は、新規データを鍵で復号化する。
【選択図】図1

Description

本発明は、データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法に関する。
近年、エアコンや冷蔵庫、携帯音楽プレーヤなどの家電機器に搭載されるソフトウェアの高機能化が進んでいる。これに伴い、出荷後にソフトウェアの不具合などが発見されることがあり、場合によっては、ソフトウェアの更新や家電機器自体の回収が必要となる。
パーソナルコンピュータの場合は、ハードディスクなどの大容量記憶装置、およびLAN(Local Area Network)カードやインターネットモデムなどのインターネット接続機能を標準装備しているため、比較的容易な方法によりソフトウェアの自動更新が可能である。例えば、ソフトウェア自動更新用のソフトウェアモジュールを大容量記憶装置にインストールし、このモジュールを用いてインターネットを介して定期的にサーバに接続してサーバからソフトウェアの最新バージョンを受信して大容量記憶装置に格納する。
一方、家電機器の場合は、大容量記憶装置およびインターネット接続機能が標準装備されていることはまれであるため、パーソナルコンピュータと同様の方法でソフトウェアを更新することは困難である。
仮に、家電機器にインターネット接続機能が標準装備されたとしても、ソフトウェア更新のための設備を整えるのは困難である。その理由としては、家電機器は大量にかつ不特定多数の消費者により使用されること、家電機器のソフトウェアは機種によって異なること、および、同機種の家電機器間でもその出荷時期によってはソフトウェアのバージョンが異なり得ることが、挙げられる。
さらに、家電機器用ソフトウェアの更新を行うには、配信されるソフトウェアに対するセキュリティも重要である。例えば、悪意の第三者の操作により、配信されるソフトウェアに不正なコードが混入されてソフトウェアが改ざんされたり、配信される情報の中からその家電機器に関するノウハウやアルゴリズムなどの秘密情報が解読されたりすることは、確実に防止されなければならない。そのためには、ソフトウェアおよびそれに付随する情報は、配信の際に暗号化する必要がある。
これらに対処するための方式が、例えば特許文献1に記載されている。この装置では、実行プログラムを第1の記憶手段に書き換え可能に格納する。また、新たな実行プログラムとモジュール識別情報とを含むダウンロードモジュールを第2の記憶手段に格納する。また、第1の記憶手段に格納された実行プログラムとモジュール識別情報とから作成された暗号鍵で暗号化されたダウンロードモジュールを受信して、第2の記憶手段に格納する。そして、第1の記憶手段内の実行プログラムと第2の記憶手段内のダウンロードモジュールとから作成される暗号鍵でダウンロードモジュールを復号化する。ダウンロードモジュール中に暗号化されている格納開始アドレス、データ長およびチェックディジットが正当な値に平文化された場合、復号化された新たな実行プログラムで第1の記憶手段内の実行プログラムを置き換える。つまり、現在の実行プログラムとダウンロードモジュールの識別情報とを利用して、暗号化されたダウンロードモジュールを受信することにより、実行プログラムの改ざんや解読を防止する。
国際公開第2002/057904号パンフレット 特開2002−290396号公報
しかしながら、上記従来の更新方式においては、現在の実行プログラムとダウンロードモジュール識別情報とから暗号鍵が生成されるため、バージョンごとに異なる暗号鍵でダウンロードモジュールを暗号化して配信する必要が生じる。よって、更新対象のプログラムが多数のバージョンを含む場合には、莫大なコストが必要となる。
また、別の方式として、特許文献2に記載された鍵束を用いた通信方式の応用が考えられる。この方法では、各家電機器に予め複数の鍵を含む鍵束を格納しておき、その鍵束の中から一つの鍵を選択して、配信する情報を選択鍵で暗号化し、暗号化した情報を選択鍵の識別情報とともに各家電機器に配信する。例えば、図23(a)に示すように、互いに異なるバージョンのソフトウェアが搭載された家電機器を想定する。各家電機器には、鍵K1〜Knのn個の鍵からなる鍵束が格納されている。これらの家電機器に対して、図23(b)に示すように、最新バージョンのソフトウェアを配信する場合、サーバは、鍵束の中からいずれかの鍵Kaを選択して、選択鍵Kaでソフトウェアを暗号化して、暗号化したソフトウェアを選択鍵Kaの識別情報aとともに配信する。各家電機器は、識別情報aに従って鍵Kaを選択してソフトウェアを復号化してソフトウェアの置き換えを実行する。
この方式によれば、複数の家電機器に対して配信する情報を一つの共通する鍵で暗号化すればよいため、配信サーバ側のコストを抑制することができる。しかし、この方式において一定のセキュリティレベルを維持するには、鍵束に多数の鍵を含めることが必要である。よって、鍵束を格納するのに十分な記憶容量を各家電機器に設けることが求められるため、家電機器自体のコストが増大し得る。
本発明は、かかる点に鑑みてなされたもので、家電機器等の装置のソフトウェアの更新を安全にしかも効率的に行うことができるデータ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法を提供することを目的とする。
本発明のデータ格納装置は、n番目(n≧1)にリリースされたデータPnを格納するデータ格納手段と、鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、前記データ及び前記第1の生成情報と第2の生成情報とを更新する更新手段と、から構成されるデータ格納装置であって、前記鍵生成情報記憶手段に格納されている第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータが格納されているデータ格納装置を更新対象とするデータPnをデータPk(M≧k≧1)に更新する更新情報を受信した場合に、前記鍵生成手段が、第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、前記更新手段が、前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、前記データ格納手段に格納されているデータPnをデータPkに更新し、前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する、構成を採る。
本発明の管理サーバは、第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、から構成される管理サーバであって、n番目(n≧1)にリリースされたデータPnを格納するデータ格納装置に対して、前記生成情報生成手段が、前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、前記第1の秘密情報Aに不可逆演算Xをn回行って第1の生成情報X(n,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行って第2の生成情報Y(M−n,B)を生成する、構成を採る。
本発明の管理サーバは、第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する暗号鍵生成手段と、データ格納装置に送信する更新情報を生成する更新情報生成手段とから構成される管理サーバであって、n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータを格納するデータ格納装置に対して、k番目(M≧k≧1)のリリースとなるデータPkを含む更新情報を生成する場合に、前記生成情報生成手段が前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、前記第1の秘密情報Aに不可逆演算Xをk回行って第1の生成情報X(k,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−k回行って第2の生成情報Y(M−k,B)を生成し、前記暗号鍵生成手段が前記第1の秘密情報Aに不可逆演算Xをn+j回行ってX(n+j,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−n+i回行ってY(M−n+i,B)を生成し、更に、前記生成したX(n+k,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、前記更新情報生成手段が前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結して、さらに前記鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて暗号化し、さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成する、構成を採る。
本発明の集積回路は、n番目(n≧1)にリリースされたデータPnを格納するデータ格納装置に搭載される集積回路であって、鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、前記データ格納装置に格納されたデータと前記第1の生成情報と第2の生成情報とを更新する更新手段と、を備え、前記鍵生成情報記憶手段に格納されている第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータが格納されているデータ格納装置を更新対象とするデータPnをデータPk(M≧k≧1)に更新する更新情報を受信した場合に、前記鍵生成手段が、第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、前記更新手段が、前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、前記データ格納装置に格納されているデータPnをデータPkに更新し、前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する、構成を採る。
本発明のデータ更新システムは、リリースの異なるデータをそれぞれ搭載した複数のデータ格納装置と、前記データ格納装置に搭載されているデータを更新する管理サーバとから構成されるデータ更新システムであって、前記データ格納装置は、n番目(n≧1)にリリースされたデータPnを格納するデータ格納手段と、鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、前記データ及び前記第1の生成情報と第2の生成情報とを更新する更新手段と、を備え、前記鍵生成情報記憶手段に格納されている第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、前記管理サーバは、第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する暗号鍵生成手段と、データ格納装置に送信する更新情報を生成する更新情報生成手段とを備え、n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータを搭載するデータ格納装置の前記データを、k番目(M≧k≧1)のリリースとなるデータPkに更新する場合に、前記管理サーバは、前記生成情報生成手段が前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、前記第1の秘密情報Aに不可逆演算Xをk回行って第1の生成情報X(k,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−k回行って第2の生成情報Y(M−k,B)を生成し、前記暗号鍵生成手段が前記第1の秘密情報Aに不可逆演算Xをn+j回行ってX(n+j,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−n+i回行ってY(M−n+i,B)を生成し、更に、前記生成したX(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、前記更新情報生成手段が前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結して、さらに前記鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて暗号化し、さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、前記生成した更新情報を前記複数のデータ格納装置に配信し、前記更新情報を受信した、データPnを搭載しているデータ格納装置は、前記鍵生成手段が、第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))を生成し、前記更新手段が、前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、前記データ格納手段に格納されているデータPnをデータPkに更新し、前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する、構成を採る。
本発明のデータ更新システムは、n番目(n≧1)にリリースされたデータPnを格納するデータ格納装置と、前記データ格納装置の機器情報を保持する管理装置と、前記データ格納装置に搭載されているデータを更新する管理サーバとから構成されるデータ更新システムであって、前記データ格納装置は、データPnを格納するデータ格納手段と、鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、前記データ及び前記第1の生成情報と第2の生成情報とを更新する更新手段と、を備え、前記鍵生成情報記憶手段に格納されている第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、前記管理装置は、前記データ格納装置から登録された機器情報を保持する機器情報管理手段と、前記データ格納装置が格納するデータを更新するデータ更新手段とを備え、前記管理サーバは、第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、前記第1の生成情報と第2の生成情報とから鍵情報を生成する暗号鍵生成手段と、データ格納装置に送信する更新情報を生成する更新情報生成手段とを備え、前記データ更新手段は、さらに、更新情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合する照合手段と、更新情報を保持する保持手段と、前記データ格納装置との間で行う前記データ格納装置が格納するデータを更新する処理を制御する更新処理制御手段とを備え、n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータを搭載するデータ格納装置の前記データを、k番目(M≧k≧1)のリリースとなるデータPkに更新する場合に、前記管理サーバは、前記生成情報生成手段が前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、前記第1の秘密情報Aに不可逆演算Xをk回行って第1の生成情報X(k,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−k回行って第2の生成情報Y(M−k,B)を生成し、前記暗号鍵生成手段が前記第1の秘密情報Aに不可逆演算Xをn+j回行ってX(n+j,A)を生成し、前記第2の秘密情報Bに不可逆演算YをM−n+i回行ってY(M−n+i,B)を生成し、更に、前記生成したX(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、前記更新情報生成手段が前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結して、さらに前記鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて暗号化し、さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、前記生成した更新情報を前記管理装置に配信し、前記更新情報を受信した管理装置は、前記照合手段が前記受信した更新情報の前記制御情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合して、機器情報が一致するデータ格納装置の機器情報が登録されていた場合に、前記更新処理制御手段が前記受信した更新情報を前記保持手段に格納し、さらに機器情報が一致したデータ格納装置に対して前記更新情報を送信し、前記更新情報を受信したデータ格納装置は、前記鍵生成手段が、第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))を生成し、前記更新手段が、前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、前記データ格納手段に格納されているデータPnをデータPkに更新し、前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する、構成を採る。
本発明の家電機器は、現用データを新規データに更新する家電機器において、暗号化された前記新規データと、更新対象データのシリアル番号と、を受信する受信部と、前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成部と、前記新規データを前記鍵で復号化する復号化部と、を有する構成を採る。
本発明のデータ更新方法は、現用データから新規データへの更新に用いるデータ更新方法において、暗号化された前記新規データと、更新対象データのシリアル番号と、を取得する取得ステップと、前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成ステップと、前記新規データを前記鍵で復号化する復号化ステップと、を有するようにした。
本発明の暗復号鍵生成方法は、データの暗号化または復号化に用いる鍵を生成する暗復号鍵生成方法であって、前記データに関連付けられた固有情報と前記データのシリアル番号と、を取得する取得ステップと、前記データのシリアル番号に応じた回数だけ、所定の不可逆演算を前記固有情報に施して鍵を生成する生成ステップと、を有するようにした。
本発明の暗号鍵生成方法は、データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、前記データに関連付けられた第1の秘密情報Aと第2の秘密情報Bとを取得する取得ステップと、前記第1の秘密情報Aに不可逆演算Xをn+j回(n≧0、j≧0)行ってX(n+j,A)を生成するステップと、前記第2の秘密情報Bに不可逆演算YをM−n+i回(M≧0、i≧0)行ってY(M−n+i,B)を生成するステップと、前記X(n+j,A)とY(M−n+i,B)とを含む情報から鍵を合成するステップと、を有するようにした。
本発明の復号鍵生成方法は、データの復号化に用いる鍵を生成する復号鍵生成方法であって、前記データに関連付けられた第1の生成情報Caと第2の生成情報Cbとを取得する取得ステップと、前記第1の生成情報Caに不可逆演算Xをj回(j≧0)行ってX(j,Ca)を生成するステップと、前記第2の生成情報Cbに不可逆演算Yをi回(i≧0)行ってY(i,Cb)を生成するステップと、前記X(j,Ca)とY(i,Cb)とを含む情報から鍵を合成するステップと、を有するようにした。
本発明の暗号化方法は、データを暗号化する暗号化方法であって、前記データに関連付けられた第1の秘密情報Aと第2の秘密情報Bと第3の秘密情報Cと第4の秘密情報Dとを取得する取得ステップと、前記第1の秘密情報Aに不可逆演算Xをn+j回(n≧0、j≧0)行ってX(n+j,A)を生成するステップと、前記第2の秘密情報Bに不可逆演算YをM−n+i回(M≧0、i≧0)行ってY(M−n+i,B)を生成するステップと、前記第3の秘密情報Cに不可逆演算UをN+q回(N≧0、q≧0)行ってU(N+q,C)を生成するステップと、前記第4の秘密情報Dに不可逆演算VをM−N+p回(p≧0)行ってV(M−N+p,D)を生成するステップと、前記X(n+j,A)とY(M−n+i,B)とを含む情報から鍵を合成するステップと、前記U(N+q,C)とV(M−N+p,D)とを含む情報から鍵を合成するステップと、暗号鍵Kを生成するステップと、前記暗号鍵Kを用いてデータを暗号化するステップと、前記X(n+j,A)とY(M−n+i,B)とを含む情報から合成された鍵を用いて前記暗号鍵Kを暗号化するステップと、前記U(N+q,C)とV(M−N+p,D)とを含む情報から合成された鍵を用いて前記暗号鍵Kを暗号化するステップと、を有するようにした。
本発明の暗号鍵生成方法は、データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、前記データに関連付けられた第1の秘密情報Aと第2の秘密情報Bと第3の秘密情報Cと第4の秘密情報Dとを取得する取得ステップと、前記第1の秘密情報Aに不可逆演算Xをn+j回(n≧0、j≧0)行ってX(n+j,A)を生成するステップと、前記第2の秘密情報Bに不可逆演算YをM−n+i回(M≧0、i≧0)行ってY(M−n+i,B)を生成するステップと、前記第3の秘密情報Cに不可逆演算Uをs+q回(s≧0、q≧0)行ってU(s+q,C)を生成するステップと、前記第4の秘密情報Dに不可逆演算VをM−s+p回(p≧0)行ってV(M−s+p,D)を生成するステップと、前記X(n+j,A)とY(M−n+i,B)とU(s+q,C)とV(M−s+p,D)とを含む情報から鍵を合成するステップと、を有するようにした。
本発明の復号鍵生成方法は、データの復号化に用いる鍵を生成する復号鍵生成方法であって、前記データに関連付けられた第1の生成情報Caと第2の生成情報Cbと第3の生成情報Ccと第4の生成情報Cdとを取得する取得ステップと、前記第1の生成情報Caに不可逆演算Xをj回(j≧0)行ってX(j,Ca)を生成するステップと、前記第2の生成情報Cbに不可逆演算Yをi回(i≧0)行ってY(i,Cb)を生成するステップと、前記第3の生成情報Ccに不可逆演算Uをq回(q≧0)行ってU(q,Cc)を生成するステップと、前記第4の生成情報Cdに不可逆演算Vをp回(p≧0)行ってV(p,Cd)を生成するステップと、前記X(j,Ca)とY(i,Cb)とU(q,Cc)とV(p,Cd)とを含む情報から鍵を合成するステップと、を有するようにした。
本発明によれば、家電機器等の装置のソフトウェアの更新を安全にしかも効率的に行うことができる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るソフトウェア更新システムとしてのデータ通信システムである。このソフトウェア更新システムは、ソフトウェア更新機能を備えた家電機器100と、暗号化した新しいソフトウェアを含む更新情報を家電機器100に対して配信する機器管理サーバ150と、家電機器100と機器管理サーバ150との間のデータ通信を可能にする通信路160と、から構成される。機器管理サーバ150は、家電機器100のソフトウェアを管理する製造会社や販売会社などによって設置、管理される。
家電機器100は、配信された更新情報を受信する受信部140と、家電機器100の本来の機能に関する実際の物理的動作を行うハードウェアによって構成される機構部130と、機構部130の動作を制御する制御部120と、制御部120に格納されているソフトウェアを更新する機器管理モジュール110と、から構成される。
また、制御部120は、制御コード格納部121を備え、制御コード格納部121には、家電機器100のソフトウェアとしての制御コード122と、ユーザにより設定された情報であるユーザ設定123と、が格納されている。また、制御部120は、制御コード122を実行して機構部130を制御するCPU(Central Processing Unit)と、制御コード格納部121を形成するメモリと、から構成される。
機器管理モジュール110は、暗復号化処理に用いられる鍵を生成するための鍵成分である生成情報Ca114、生成情報Cb115を格納する生成情報記憶部111と、これらの生成情報から鍵を生成する、取得部、演算部、合成部および生成部としての鍵生成部112と、生成された鍵を用いて更新情報を復号化する復号化部としての機能を有しかつ復号化された更新情報によりソフトウェアを更新する更新部113と、から構成される。また、機器管理モジュール110は、集積回路により構成され、この集積回路は、鍵生成部112と更新部113とに相当するソフトウェアモジュールを実行するCPUと、生成情報記憶部111を形成するメモリと、から構成され、望ましくは耐タンパ性を備えた集積回路であるとする。
機器管理サーバ150は、秘密情報保持部151、生成情報生成部152、暗号鍵生成部153、更新情報生成部154、更新情報配信部155および更新状況管理部156から構成される。
秘密情報保持部151は、生成情報を生成するための元情報である秘密情報A157、秘密情報B158を保持する。
ここで、これらの秘密情報は、通常は家電機器の機種ごとに異なり、外部に公開されることなく、機器管理サーバ150に厳重に管理される。機器管理サーバ150が複数の機種の家電機器に対して更新情報を配信する場合には、機種ごとに秘密情報AおよびBのペアを管理する。なお、機種が異なる家電機器であっても同じソフトウェアを使用する場合には、同じ秘密情報を割り当てるようにしても良い。
生成情報生成部152は、秘密情報A157および秘密情報B158から生成情報を生成する。
暗号鍵生成部153は、生成された生成情報を合成して鍵を生成する。
更新情報生成部154は、生成された鍵を用いて新しいソフトウェアを暗号化して更新情報を生成する。
更新情報配信部155は、生成された更新情報を家電機器100に配信する。
更新状況管理部156は、家電機器100のソフトウェア更新状況を管理する。
通信路160は、例えば、テレビ放送などの放送網、インターネットなどの有線通信網、携帯電話などの無線通信網である。なお、家電機器100と機器管理サーバ150との間のデータ通信は、通信路160を介する代わりに、メモリカードなどの蓄積メディアやICカードを介しても良い。
図2は、家電機器100に格納されるデータ、すなわち、制御コードおよび2つの生成情報Ca、Cbの相互関係を示す図である。
生成情報Ca、Cbは、それぞれ秘密情報A157、秘密情報B158から機器管理サーバ150の生成情報生成部152が生成した情報であり、家電機器100のソフトウェアバージョンのシリアル番号によって異なっている。ここで、ソフトウェアバージョンのシリアル番号とは、ソフトウェアのリリースの順番を示す番号であり、新しいバージョンのリリースの度にカウントアップするものとする。最初のバージョンのソフトウェアのシリアル番号を“1”とし、新しいバージョンのリリースごとに“1”カウントアップする番号とする。例えば、ソフトウェアの最初のバージョンのバージョン番号がVersion 1.0.0で、次にリリースされたソフトウェアのバージョン番号がVersion 1.0.1、その次にリリースされたソフトウェアのバージョン番号がVersion 1.0.2、さらに次にリリースされたソフトウェアのバージョン番号がVersion 1.1.0であった場合、Version 1.0.0のソフトウェアバージョンのシリアル番号は1、Version 1.0.1のソフトウェアバージョンのシリアル番号は2、Version 1.0.2のソフトウェアバージョンのシリアル番号は3、Version 1.1.0のソフトウェアバージョンのシリアル番号は4、というようになる。
図2において、例えば、ソフトウェアバージョンのシリアル番号が1の場合、家電機器100には、制御コードP1と、機器管理サーバ150の生成情報生成部152が生成した、生成情報Ca=X(1,A)と生成情報Cb=Y(M−1,B)と、が格納される。同様に、ソフトウェアバージョンのシリアル番号がnの場合、家電機器100には制御コードPnと、機器管理サーバ150の生成情報生成部152が生成した、生成情報Ca=X(n,A)と生成情報Cb=Y(M−n,B)と、が格納される。換言すれば、現在使用されているソフトウェアバージョンのシリアル番号がnであれば、使用中のソフトウェア自体(またはその一部)が制御コードPnである。また、生成情報Ca=X(n,A)、生成情報Cb=Y(M−n,B)は、制御コードPnに固有の情報としてそれぞれ保持され、鍵成分として鍵の生成に用いられる。
ここで、XおよびYは互いに異なる所定の不可逆演算を示している。X(p,a)は、データaに対して不可逆演算Xをp回繰り返した結果を示し、Y(q,b)はデータbに対して不可逆演算Yをq回繰り返した結果を示す。したがって、生成情報X(1,A)は、秘密情報Aに不可逆演算Xを1回行った場合の結果であり、生成情報Y(M−1,B)は、秘密情報Bに不可逆演算YをM−1回繰り返した場合の結果である。M−1は、ソフトウェアバージョンのシリアル番号の最大値を示し、M(M−1≧1の整数)は十分に大きい値であるとする。
生成情報X(n,A)は、秘密情報Aに不可逆演算Xをn回繰り返した場合の結果であり、生成情報X(n,A)から秘密情報Aを算出することは出来ない。また、生成情報Y(M−n,B)は、秘密情報Bに不可逆演算YをM−n回繰り返した場合の結果であり、生成情報Y(M−n,B)から秘密情報Bを算出することは出来ない。
次に、家電機器100のソフトウェアを更新する動作について説明する。
機器管理サーバ150は、機器管理サーバ150が管理する機種の家電機器のソフトウェアを新しいソフトウェアに更新する必要が発生した場合、更新の対象となる家電機器に搭載されているソフトウェアのバージョンに基づいて新しいソフトウェアを暗号化し、更新情報を生成して、それを、通信路160を介して各家電機器へ配信する。
ここで、図3(a)に示すように、ソフトウェアバージョンのシリアル番号がn−i〜n+j(i,jは1≦n−i≦n+j≦M−1を満たす整数)のソフトウェア(つまり、更新対象ソフトウェア)を、シリアル番号がn+k(kは1≦n+k≦M−1を満たす整数)のソフトウェア(つまり、新規ソフトウェア)に更新する必要がある場合を例にとって説明する。なお、家電機器100において現在使用されているソフトウェア(つまり、現用ソフトウェア)のバージョンのシリアル番号はn(nはn−i≦n≦n+jを満たす整数)であるとする。
図4(a)のフロー図に示すように、まず、機器管理サーバ150の生成情報生成部152が、秘密情報保持部151から家電機器100に対応する秘密情報A157と秘密情報B158を読み出して、秘密情報A157に不可逆演算Xをn+j回行って生成情報X(n+j,A)を生成し、さらに不可逆演算Xをk−j回行ってシリアル番号n+kの場合の生成情報CaであるX(n+k,A)を生成し(ステップ401)、秘密情報B158に不可逆演算YをM−n−k回行ってシリアル番号n+kの場合の生成情報CbであるY(M−n−k,B)を生成し、さらに不可逆演算Yをk+i回行って生成情報Y(M−n+i,B)を生成する(ステップ402)。次に、暗号鍵生成部153が、生成された生成情報X(n+j,A)と生成情報Y(M−n+i,B)とシリアル番号n+kとを合成して鍵F(X(n+j,A),Y(M−n+i,B),n+k)を生成する(ステップ403)。ここで、鍵F(x,y,z)は、x、y、zを変数とする任意の関数であり、例えば、F(x,y,z)=H(x||y||z)(xとyとzのデータ連結にハッシュ演算を施したもの)といった関数が用いられる。
次に、更新情報生成部154が、シリアル番号n+kの場合の生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と制御コードPn+kとを、生成した鍵F(X(n+j,A),Y(M−n+i,B),n+k)を用いて暗号化し(ステップ404)、さらに制御情報を付加して、図3(b)に示すようなデータ構造の更新情報を生成する。
次に、更新情報配信部155が、生成した更新情報を通信路160を介して家電機器100を含む各家電機器へ配信する。
ここで、制御情報は、更新情報を受信した家電機器100における更新情報の処理を制御する情報である。制御情報には、更新の対象となっている家電機器の機種を規定する情報が含まれている。具体的には、例えば、製造会社を示すメーカーコードと、家電機器の型式番号と、ソフトウェアバージョンのシリアル番号とが含まれ、さらに製造シリアル番号の範囲を示す情報が含まれていても良い。また、制御情報には、更新後のソフトウェアバージョンを規定する情報として更新後のソフトウェアバージョンのシリアル番号が含まれている。さらに、制御情報には、実際に家電機器上で実行されるプログラムデータが含まれていても良く、さらに、そのプログラムデータの正当性を検証するための電子署名等の検証データが含まれていても良い。本実施の形態の場合には、制御コード格納部121に格納されているユーザ設定123を、新しいソフトウェアにおいても有効なデータ形式に変換するプログラムデータが含まれているとする。
次に、更新情報を受信した家電機器100は、更新情報の制御情報に基づき、生成情報から更新情報の暗号を復号化するための鍵を生成し、更新情報の暗号を復号化して、ソフトウェアを更新情報に含まれていたものに更新する。ここでは、家電機器100に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がn(n−i≦n≦n+j)であった場合を例にとって説明する。
図4(b)のフロー図に示すように、まず、家電機器100の受信部140が、機器管理サーバ150から配信された更新情報を通信路160を介して受信する。家電機器100の機器管理モジュール110の更新部113が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する(ステップ410)。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器100のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器100のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ410の更新の要否判定において、「更新不要」と判定した場合には、更新部113は受信した更新情報をそのまま廃棄する。
「更新が必要」と判定された場合は、鍵生成部112が、生成情報記憶部111から生成情報Ca(=X(n,A))と生成情報Cb(=Y(M−n,B))を読み出して、生成情報Ca(=X(n,A))に不可逆演算Xをj回行って生成情報X(n+j,A)を生成し(ステップ411)、生成情報Cb(=Y(M−n,B))に不可逆演算Yをi回行って生成情報Y(M−n+i,B)を生成し(ステップ412)、更に、生成された生成情報X(n+j,A)、Y(M−n+i,B)およびシリアル番号n+kから、鍵F(X(n+j,A),Y(M−n+i,B),n+k)を生成する(ステップ413)。
次に、更新部113が、更新情報の暗号化されている部分を復号化し(ステップ414)、シリアル番号がn+kの場合の生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と制御コードPn+kとを取り出して、制御コード格納部121の制御コードPnを制御コードPn+kに更新し、生成情報記憶部111の生成情報Ca(=X(n,A))と生成情報Cb(=Y(M−n,B))を、それぞれ生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))に更新する。
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部121に格納されているユーザ設定123を、新しい制御コードPn+kにおいても有効なデータ形式に変換することにより、ユーザ設定123を更新して、ソフトウェアの更新を完了する。この時、更新部113は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
以上のように、更新対象の複数の家電機器の中に複数のソフトウェアバージョンの機器が混在する場合でも、搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンの家電機器であれば(シリアル番号n:n−i≦n≦n+j)、更新情報の暗号化されている部分を復号化するための鍵を生成することができ、ソフトウェアの更新を行うことが出来る。この時、機器管理サーバ150側は、家電機器のバージョンごとに複数の更新情報を配信する必要はなく、1種類の鍵で暗号化された更新情報を配信するだけで良く、処理の負荷が小さくてすむので、サーバ設備にかかるコストを抑えることが出来る。また、家電機器100側は、2つの生成情報を持つだけで、少ないデータ量で、しかもハッシュ演算という負荷の小さな処理を行うだけで良く、一方で、更新ごとに配信される更新情報の暗復号鍵を変えることが出来るので、更新情報の配信の安全性が向上する。
一方、家電機器に搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンではない場合、更新情報の暗号化されている部分を復号化するための鍵を生成することは出来ないので、ソフトウェアを更新することも出来ない。例えば、上記の例の場合で、家電機器に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がn−i−1の場合には、生成情報記憶部111に格納されている生成情報CbはY(M−n+i+1,B)なので、この生成情報Cb(=Y(M−n+i+1,B))から生成情報Y(M−n+i,B)を生成することは出来ない。したがってこの場合、更新情報の暗号化されている部分を復号化するための鍵を生成することは出来ない。また、家電機器に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がn+j+1の場合には、生成情報記憶部111に格納されている生成情報CaはX(n+j+1,A)なので、この生成情報Ca(=X(n+j+1,A))から生成情報X(n+j,A)を生成することは出来ない。したがってこの場合も、更新情報の暗号化されている部分を復号化するための鍵を生成することは出来ない。このように、家電機器に搭載されているソフトウェアのソフトウェアバージョンが更新対象ではない場合には、更新情報の暗号化されている部分を復号化するための鍵を生成することさえ出来ないので、ユーザの誤操作などによるソフトウェアの誤更新を防止することが出来る。
なお、上記では、更新情報を暗号化する鍵をF(X(n+j,A),Y(M−n+i,B),n+k)としたが、X(n+j,A)とY(M−n+i,B)だけを変数とするG(X(n+j,A),Y(M−n+i,B))を、更新情報を暗号化する鍵として用いるようにしても良い。ここで、G(x,y)は、x、yを変数とする任意の関数であり、例えば、G(x,y)=H(x||y)(xとyのデータ連結にハッシュ演算を施したもの)といった関数が用いられる。
この場合、家電機器100の鍵生成部112は、ステップ413の処理において、生成された生成情報X(n+j,A)、Y(M−n+i,B)から、更新情報の暗号化されている部分を復号化する鍵G(X(n+j,A),Y(M−n+i,B))を生成する。更新対象のソフトウェアバージョンが同じ場合には、鍵も同じものとなるが、この場合でも、更新対象のソフトウェアバージョンを限定することができ、また、家電機器側での鍵生成処理を簡略化することが出来る。
なお、上記では、機器管理モジュール110を、制御部120のCPUとは別のCPUを持つ集積回路であるとしたが、機器管理モジュール110の機能を、制御部120のCPUとメモリとによって構成するようにしても良い。
また、上記では、家電機器100に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器100に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
また、上記では、家電機器100に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器100に格納される特定のデータを更新することで、家電機器100の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器100の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器100の一部の機能または全ての機能を無効化する。
(実施の形態2)
図5は、本発明の実施の形態2に係るソフトウェア更新システムの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、実施の形態1で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、実施の形態1で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
本実施の形態のソフトウェア更新システムは、家電機器と機器管理サーバとの間に家電機器管理装置が接続されるという点で、実施の形態1のソフトウェア更新システムと相違する。これは、特に、外部ネットワークに接続する機能を持たない家電機器のソフトウェアの更新を、確実にかつ効率的に行えるようにするためのものである。
したがって、本実施の形態のソフトウェア更新システムは、図5に示すように、ソフトウェアを更新する機能を備えた家電機器500と、暗号化した新しいソフトウェアを含む実施の形態1と同様の更新情報を家電機器500に対して配信する機器管理サーバ550と、家電機器500を含む家庭内の複数の家電機器を管理する家電機器管理装置570と、から構成される。
家電機器500は、実施の形態1で説明した制御部120および機構部130、ならびに制御部120に格納されているソフトウェアを更新する機器管理モジュールから構成される。
機器管理モジュール510は、実施の形態1で説明した生成情報記憶部111、鍵生成部112および更新部113に、ローカルネットワーク561を介して家電機器管理装置570と通信を行う受信部および転送部としてのローカル通信部517と、ローカルネットワーク561を介して常に家電機器管理装置570に家電機器500の機器情報を登録する通知部としての機器情報登録部516と、を加えた構成となっている。ここで、ローカルネットワーク561としては、電力線を介して通信を行う電力線ネットワーク、非接触ICカードの無線通信や赤外線などの近距離無線通信を用いた近距離無線ネットワーク、LANネットワーク、または無線LANネットワークであっても良い。
また、機器管理モジュール510は、鍵生成部112と更新部113と機器情報登録部516とに相当するソフトウェアモジュールを実行するCPUと、生成情報記憶部111を形成するメモリと、ローカル通信部517を形成するモデム回路と、から構成される集積回路によって構成される。
機器情報登録部516は、予め、ローカル通信部517を通じ、家電機器500が設置されている家の中のローカルネットワーク561を介して、自身の機器情報を家電機器管理装置570に通知することにより、機器情報の登録を行う。機器情報管理部573に登録される機器情報には、その家電機器のメーカーコード、型式番号および製造番号、ならびにその家電機器のソフトウェアバージョンのシリアル番号が含まれる。
機器管理サーバ550は、実施の形態1で説明した機器管理サーバ150と同一の内部構成を有する。本実施の形態の場合は、生成された更新情報は、家電機器管理装置570へ配信される。
家電機器管理装置570は、通信路560を介して機器管理サーバ550から更新情報を受信する更新情報受信部571と、ローカルネットワーク561を介して家電機器と通信をするローカル通信部572と、各家電機器から登録のために通知された機器情報を家電機器ごとに管理し機器情報リスト576として保持する機器情報管理部573と、各家電機器の機器管理モジュールと連携して各家電機器のソフトウェアを更新するデータ更新部574と、各家電機器のソフトウェアの更新の結果を機器情報と共に機器管理サーバ550へ通知する通信部575と、から構成される。
また、データ更新部574において、照合部577が、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト576の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する。更新対象の家電機器と機器情報が一致する家電機器が登録されていた場合に、更新処理制御部579が、ローカルネットワーク561を介して該当する家電機器500と通信して、ソフトウェアの更新処理を行う。この時の更新処理の過程で、データ保持部578には、受信した更新情報が保持され、また、家電機器500から更新前のソフトウェアがデータ保持部578にバックアップされる。
ここで、通信路560としては、テレビ放送などの放送網、インターネットなどの有線通信網、携帯電話などの無線通信網であってもよく、また複数の種類の通信網によって構成されていてもよい。また、機器情報管理部573は、機器情報リスト576を格納する不揮発性メモリを備える。また、データ更新部574は、照合部577と更新処理制御部579とに相当するソフトウェアモジュールを実行するCPUと、データ保持部578を形成するメモリと、から構成される。更新処理の際、データ保持部578には、受信した更新情報と暗号化された家電機器の更新前のソフトウェアが保持される。
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理装置570に登録しておき、家電機器管理装置570が更新情報を機器管理サーバ550から受信して、ソフトウェアを更新する必要がある場合に、家電機器管理装置570を介して個々の家電機器が更新情報を受信してソフトウェの更新を行うように構成する。これにより、個々の家電機器に、更新情報を機器管理サーバ550から直接受信する機能や外部のネットワークに接続する機能、例えば、テレビチューナーやインターネットモデムなどの機能を持つ必要がなくなるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することが出来る。
また、本実施の形態によれば、家電機器管理装置570が機器管理サーバ550から配信される更新情報を受信する。これにより、各家電機器のソフトウェアの更新を確実に行うことが出来る。更新情報が機器管理サーバ550から配信される時に、各家電機器は必ずしも電源オンの状態である必要はなく、電源がオンになった際に、家電機器管理装置570との間で更新処理を行うことで、ソフトウェアの更新を確実に行うことが出来る。
さらに、家電機器管理装置570のデータ更新部574のデータ保持部578を、更新情報のバッファ領域および更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。なお、実際には、更新処理に失敗した場合の処理は、機器管理サーバ550によって設定された更新情報の制御情報に含まれるプログラムデータに基づいて行われる場合がある。また、そのプログラムデータに基づいて、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻す場合もあれば、元に戻すことはぜずに、安全のために家電機器を機能停止状態に設定する場合もある。
なお、上記では、機器管理モジュール510を、制御部120のCPUとは別のCPUを持つ集積回路であるとしたが、機器管理モジュール510の機能を、制御部120のCPUとメモリとによって構成するようにしても良い。
また、上記では、機器管理モジュール510にローカル通信部517が内蔵されるとしたが、機器管理モジュール510とは独立に、家電機器管理装置570とローカル通信を行うローカル通信モジュールを備えるようにしても良い。
また、機器管理サーバ550の更新状況管理部156に、さらに、家電機器500のユーザのユーザ情報とロイヤリティポイント情報を管理する機能を備え、家電機器500のソフトウェアを更新したユーザに対してロイヤリティポイントを付与するようにしても良い。この場合、家電機器500のソフトウェアが更新されたことを家電機器管理装置570から機器管理サーバ550に通知する情報には、家電機器500を管理するユーザの識別情報が含まれる。家電機器500のソフトウェアの更新が行われたことが家電機器管理装置570から機器管理サーバ550に通知されると、更新状況管理部156が、家電機器500のソフトウェアの更新状況を更新し、さらに、家電機器500のユーザのロイヤリティポイント情報に予め決められたポイントを加算する。このように、家電機器500のソフトウェアを更新することでユーザにロイヤリティポイントを付与した場合、本発明のソフトウェア更新システムに対応した家電機器500や家電機器管理装置570の購入者の増加が期待でき、またソフトウェア更新システムの利用者の増加が期待できる。
また、上記では、家電機器500のソフトウェアを更新することで、ユーザにロイヤリティポイントを付与するとしたが、逆に、家電機器500のソフトウェアを更新することで、ユーザのロイヤリティポイント情報から予め決められたポイントを減算するようにしてもよい。これは、ソフトウェアの不具合などが要因でソフトウェアを更新するのではなく、新たな機能が追加された最新のソフトウェアにアップグレードするなど、有償でソフトウェアの更新を行う場合に、対価としてロイヤリティポイントを使用するというものである。
また、上記では、家電機器500に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器500に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
また、上記では、家電機器500に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器500に格納される特定のデータを更新することで、家電機器500の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器500の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器500の一部の機能または全ての機能を無効化する。
(実施の形態3)
図6Aは、本発明の実施の形態3に係るソフトウェア更新システムの構成を示すブロック図である。また、図6Bは、本発明の実施の形態3に係る機器管理モジュールの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、前述の実施の形態で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
本実施の形態のソフトウェア更新システムでは、実施の形態2と同様に、家電機器と機器管理サーバとの間に家電機器管理装置が接続される。また、本実施の形態のソフトウェア更新システムは、実施の形態2で説明した家電機器管理装置を、据え置き型の装置、例えばテレビ受信機に適用したものである。
したがって、本実施の形態のソフトウェア更新システムは、図6Aに示すように、実施の形態2で説明した家電機器500と、家電機器500と共通の内部構成を有する家電機器501と、家電機器管理装置としての家電機器管理テレビ受信機670と、実施の形態2で説明した機器管理サーバ550と、TV番組などを放送する放送局659と、から構成される。また、機器管理サーバ550と放送局659とは所定の通信線により通信可能に接続される。また、放送局659と家電機器管理テレビ受信機670とは放送網660により通信可能に接続される。また、機器管理サーバ550と家電機器管理テレビ受信機670とはインターネット662により通信可能に接続される。また、家電機器管理テレビ受信機670と家電機器500、501とは電力線ネットワーク661により通信可能に接続される。
家電機器500、501としては、例えば、冷蔵庫やエアコンなどの、通常、電力線に接続されている据え置きタイプの機器が想定される。また、図6Bに示すように、家電機器500、501の機器管理モジュール510は、生成情報記憶部111、鍵生成部112、更新部113および機器情報登録部516のほかに、電力線ネットワーク661を介して家電機器管理テレビ受信機670と通信をするローカル通信部としての電力線通信部1501を備える。
家電機器管理テレビ受信機670は、実施の形態2で説明したデータ更新部574および機器情報管理部573、実施の形態2で説明した更新情報受信部571、ローカル通信部572および通信部575にそれぞれ相当する放送受信部671、電力線通信部672およびインターネット通信部675、ならびにテレビ機能部676から構成される。
放送受信部671は、通常のテレビ放送および放送データの中に含まれる更新情報を受信する。電力線通信部672は、電力線ネットワーク661を介して家電機器と通信をする。インターネット通信部675は、各家電機器のソフトウェアの更新結果を、インターネット662を介して機器管理サーバ550へ通知する。テレビ機能部676は、通常のテレビ放送を表示する。
図7は、本実施の形態におけるソフトウェア更新処理のフローを示している。
まず、家電機器500、501が、電力線ネットワーク661を介して、機器情報を家電機器管理テレビ受信機670に登録する(ステップ1:機器情報の登録)。
次に、家電機器500のソフトウェアを更新する必要が発生すると、機器管理サーバ550が、更新情報を生成する(ステップ2:更新情報の生成)。更新情報を生成する手順は、実施の形態1で説明した手順と同じである。
次に、機器管理サーバ550が、放送局659に更新情報の配信を依頼し(ステップ3:更新情報の配信依頼)、放送局659が、放送網660を通じて家電機器管理テレビ受信機670に更新情報を配信する(ステップ4:機器更新情報の配信)。
放送受信部671を通じて更新情報を受信した家電機器管理テレビ受信機670において、照合部577が更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト576の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する(ステップ5:機器情報の照合)。
照合された情報が一致する家電機器が登録されていた場合に、更新処理制御部579が、更新情報をデータ保持部578に格納し、電力線通信部672を介して該当する家電機器500に、更新情報の中の制御情報の部分を含む更新要求メッセージを送信する(ステップ6:更新要求)。この時、何らかの原因で家電機器500との通信が出来ず、更新要求メッセージの送信に失敗した場合は(家電機器500が電力線ネットワーク661に接続されていなかった場合など)、更新処理制御部579がテレビ画面に家電機器500のソフトウェアの更新が必要であることを表示して、ユーザに家電機器500の電力線ネットワーク661への接続を促す。家電機器500との通信が可能になると、改めて、家電機器500に更新要求メッセージを送信する。
家電機器管理テレビ受信機670から更新要求メッセージを受信した家電機器500において、機器管理モジュール510が、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する(ステップ7:鍵生成)。鍵を生成する手順は、実施の形態1で説明した手順と同じである。
次に、機器管理モジュール510は、更新前の生成情報Ca、Cbと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理テレビ受信機670のデータ保持部578にバックアップのために転送する(ステップ8:バックアップ)。
次に、家電機器管理テレビ受信機670の更新処理制御部579が、更新情報の中の暗号化されている生成情報Ca、Cbと制御コードの部分とを電力線通信部672を介して家電機器500に送信する(ステップ9:更新データ送信)。
次に、家電機器500の機器管理モジュール510が、更新情報の暗号を復号化して、制御コードと生成情報Ca、Cbとを更新する(ステップ10:データ更新)。
次に、家電機器管理テレビ受信機670の更新処理制御部579が、ソフトウェアの更新が行われた家電機器500の機器情報を更新処理の結果とともに、インターネット通信部675を介して機器管理サーバ550の更新状況管理部156に通知して更新処理を完了する(ステップ11:更新完了通知)。
ここで、ステップ9、10の処理では、暗号化された更新情報をまとめて送信し、それを家電機器500側で復号化するのではなく、暗号のブロック単位で家電機器500に送信し、ブロック単位で復号化をして更新処理を行う。
なお、家電機器501のソフトウェアの更新の手順は、家電機器500のソフトウェアの更新の手順と同じである。
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理テレビ受信機670に登録しておき、家電機器管理テレビ受信機670が放送網660を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理テレビ受信機670を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ550から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
また、家電機器管理テレビ受信機670が放送網660を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
さらに、家電機器管理テレビ受信機670のデータ更新部574のデータ保持部578を、更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
なお、上記では、家電機器管理テレビ受信機670は更新情報を放送受信部671を介して受信するとしたが、インターネット通信部675を介してインターネット662経由で機器管理サーバ550から更新情報を受信するようにしても良い。
この場合、機器情報リスト576には、さらに機器情報の一つとして機器管理サーバ550のURL(Uniform Resource Locator)が予め登録される。家電機器管理テレビ受信機670は、定期的に、更新処理制御部579からインターネット通信部675を介して、そのURLが示す機器管理サーバ550へ更新情報要求を送信する。機器管理サーバ550は、配信が必要な更新情報が存在する場合に、家電機器管理テレビ受信機670へ更新情報を送信する。家電機器管理テレビ受信機670は、インターネット通信部675を介して受信した更新情報に対して、放送受信部671を介して受信した更新情報と同様の処理を行う。
また、上記において、家電機器管理テレビ受信機670が機器管理サーバ550へ送信する更新情報要求を、家電機器管理テレビ受信機670が家電機器500、501から受信した更新処理要求に基づいて送信するようにしても良い。更新処理要求は、家電機器500、501が家電機器管理テレビ受信機670に対してソフトウェアの更新処理を要求するメッセージである。電力線通信部672を介して更新処理要求を受信した家電機器管理テレビ受信機670は、機器管理サーバ550へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
(実施の形態4)
図8Aは、本発明の実施の形態4に係るソフトウェア更新システムの構成を示すブロック図である。また、図8Bは、本実施の形態に係る機器管理モジュールの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、前述の実施の形態で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
本実施の形態のソフトウェア更新システムでは、実施の形態2と同様に、家電機器と機器管理サーバとの間に家電機器管理装置が接続される。また、本実施の形態のソフトウェア更新システムは、実施の形態2で説明した家電機器管理装置を、デジタル放送受信機能を備えたポータブル型の装置、例えば携帯電話などの携帯端末に適用してなるものである。
したがって、本実施の形態のソフトウェア更新システムは、図8Aに示すように、実施の形態2で説明した家電機器500と、実施の形態3で説明した家電機器501と、家電機器管理装置としての家電機器管理携帯端末870と、実施の形態2で説明した機器管理サーバ550と、TV番組などのワンセグ放送サービスを提供する放送局859と、から構成される。また、機器管理サーバ550と放送局859とは所定の通信線により通信可能に接続される。また、放送局859と家電機器管理携帯端末870とは放送網860により通信可能に接続される。また、機器管理サーバ550と家電機器管理携帯端末870とはインターネット862により通信可能に接続される。また、家電機器管理携帯端末870と家電機器500、501とは無線を介して接続される。
家電機器500、501としては、例えば、ポータブル音楽プレーヤなどの、バッテリーによって駆動されるポータブルタイプの機器が想定される。また、図8Bに示すように、家電機器500、501の機器管理モジュール510は、生成情報記憶部111、鍵生成部112、更新部113および機器情報登録部516のほかに、近距離無線を介して家電機器管理携帯端末870と通信するローカル通信部としての近距離無線通信部1502を備える。
家電機器管理携帯端末870は、実施の形態2で説明したデータ更新部574および機器情報管理部573、実施の形態2で説明した更新情報受信部571、ローカル通信部572および通信部575にそれぞれ相当するデジタル放送受信部871、近距離無線通信部872およびインターネット通信部875、ならびにテレビ機能部876から構成される。
デジタル放送受信部871は、ワンセグ(1セグメント)放送などのデジタル放送のデータの中に含まれる更新情報を受信する。近距離無線通信部872は、赤外線やブルートゥース、NFC(Near Field Communication)などの近距離無線を介して家電機器と通信をする。インターネット通信部875は、各家電機器のソフトウェアの更新結果を、無線通信によってインターネット862を介して機器管理サーバ550へ通知する。テレビ機能部876は、通常のデジタルテレビ放送を表示する。
図9は、本実施の形態のソフトウェア更新処理のフローを示している。
まず、家電機器500、501が、近距離無線を介して、機器情報を家電機器管理携帯端末870に登録する(ステップ1:機器情報の登録)。例えば、家電機器500、501は、電源がオンになる度に、自動的に機器情報を家電機器管理携帯端末870に登録するようになっている。
次に、家電機器500のソフトウェアを更新する必要が発生すると、機器管理サーバ550が、更新情報を生成する(ステップ2:更新情報の生成)。更新情報を生成する手順は、実施の形態1で説明した手順と同じである。
次に、機器管理サーバ550は、放送局859に更新情報の配信を依頼し(ステップ3:更新情報の配信依頼)、放送局859は、放送網860を通じて家電機器管理携帯端末870に更新情報を配信する(ステップ4:機器更新情報の配信)。
デジタル放送受信部871を通じて更新情報を受信した家電機器管理携帯端末870において、照合部577は、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト576の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する(ステップ5:機器情報の照合)。
照合された情報が一致する家電機器が登録されていた場合に、データ更新部574の更新処理制御部579が、更新情報をデータ保持部578に格納し、近距離無線通信部872を介して該当する家電機器500に、更新情報の中の制御情報の部分を含む更新要求メッセージを送信する(ステップ6:更新要求)。この時、何らかの原因で家電機器500との通信が出来ず、更新要求メッセージの送信に失敗した場合は(家電機器500の電源がオフになっている場合など)、更新処理制御部579が家電機器管理携帯端末870の画面に家電機器500のソフトウェアの更新が必要であることを表示して、ユーザに家電機器500の電源オンや、近距離無線通信による通信が可能な距離への移動を促す。家電機器500との通信が可能になると、改めて、家電機器500に更新要求メッセージを送信する。
家電機器管理携帯端末870から更新要求メッセージを受信した家電機器500において、機器管理モジュール510は、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する(ステップ7:鍵生成)。鍵を生成する手順は、実施の形態1で説明した手順と同じである。
次に、家電機器500の機器管理モジュール510は、更新前の生成情報Ca、Cbと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理携帯端末870のデータ保持部578にバックアップのために転送する(ステップ8:バックアップ)。
次に、家電機器管理携帯端末870の更新処理制御部579が、更新情報の中の暗号化されている生成情報Ca、Cbと制御コードの部分とを、近距離無線通信部872を介して家電機器500に送信し(ステップ9:更新データ送信)、家電機器500の機器管理モジュール510が、更新情報の暗号を復号化して、制御コードと生成情報Ca、Cbとを更新する(ステップ10:データ更新)。
次に、家電機器管理携帯端末870の更新処理制御部579が、ソフトウェアの更新が行われた家電機器500の機器情報を更新処理の結果とともに、インターネット通信部875を介して機器管理サーバ550の更新状況管理部156に通知して更新処理を完了する(ステップ11:更新完了通知)。この時、ステップ9、10の処理では、暗号化された更新情報をまとめて送信し、それを家電機器500側で復号化するのではなく、暗号のブロック単位で家電機器500に送信し、ブロック単位で復号化をして更新処理を行う。
なお、家電機器501のソフトウェアの更新の手順は、家電機器500のソフトウェアの更新の手順と同じである。
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理携帯端末870に登録しておき、家電機器管理携帯端末870が放送網860を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理携帯端末870を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ550から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
また、家電機器管理携帯端末870が放送網860を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
さらに、家電機器管理携帯端末870のデータ更新部574のデータ保持部578を、更新のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
なお、上記では、家電機器管理携帯端末870は、更新情報をデジタル放送受信部871を介して受信するとしたが、インターネット通信部875を介してインターネット862経由で機器管理サーバ550から更新情報を受信するようにしても良い。
この場合、機器情報リスト576には、さらに機器情報の一つとして機器管理サーバ550のURLが予め登録される。家電機器管理携帯端末870は、定期的に、更新処理制御部579からインターネット通信部875を介して、そのURLが示す機器管理サーバ550へ更新情報要求を送信する。機器管理サーバ550は、配信が必要な更新情報が存在する場合に、家電機器管理携帯端末870へ更新情報を送信する。家電機器管理携帯端末870は、インターネット通信部875を介して受信した更新情報に対して、デジタル放送受信部871を介して受信した更新情報と同様の処理を行う。
また、上記において、家電機器管理携帯端末870が機器管理サーバ550へ送信する更新情報要求を、家電機器管理携帯端末870が家電機器500、501から受信した更新処理要求に基づいて送信するようにしても良い。更新処理要求は、家電機器500、501が家電機器管理携帯端末870に対してソフトウェアの更新処理を要求するメッセージである。近距離無線通信部872を介して更新処理要求を受信した家電機器管理携帯端末870は、機器管理サーバ550へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
(実施の形態5)
図10Aは、本発明の実施の形態5に係るソフトウェア更新システムの構成を示すブロック図である。また、図10Bは、本実施の形態に係る機器管理モジュールの構成を示すブロック図である。図10Cは、本実施の形態に係る別の機器管理モジュールの構成を示すブロック図である。なお、本実施の形態で説明するソフトウェア更新システムは、前述の実施の形態で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
本実施の形態のソフトウェア更新システムでは、実施の形態2と同様に、家電機器と機器管理サーバとの間に家電機器管理装置が接続される。また、本実施の形態のソフトウェア更新システムは、実施の形態2で説明した家電機器管理装置を、ブロードバンド対応の通信機器、例えばルーターに適用したものである。
したがって、本実施の形態のソフトウェア更新システムは、図10Aに示すように、実施の形態2で説明した家電機器500と、実施の形態3で説明した家電機器501と、家電機器管理装置としての家電機器管理ルーター1070と、実施の形態2で説明した機器管理サーバ550と、から構成される。また、機器管理サーバ550と家電機器管理ルーター1070とはインターネット662により通信可能に接続される。また、家電機器管理ルーター1070と家電機器500、501とは宅内の有線LAN、無線LANまたは電力線ネットワークを介して接続される。
家電機器500、501としては、例えば、DVDレコーダーや無線LANテレビ受像機などの機器が想定される。また、図10Bに示すように、家電機器500の機器管理モジュール510は、生成情報記憶部111、鍵生成部112、更新部113および機器情報登録部516のほかに、有線LANを介して家電機器管理ルーター1070と通信するローカル通信部としての有線LAN通信部1503を備える。また、図10Cに示すように、家電機器501の機器管理モジュール510は、生成情報記憶部111、鍵生成部112、更新部113および機器情報登録部516のほかに、無線LANを介して家電機器管理ルーター1070と通信するローカル通信部としての無線LAN通信部1504を備える。なお、家電機器500、501のほかに、電力線ネットワークを介して家電機器管理ルーター1070と通信する家電機器が存在していても良い。
家電機器管理ルーター1070は、実施の形態2で説明したデータ更新部574および機器情報管理部573、実施の形態2で説明したローカル通信部572に相当するローカル通信部1072、実施の形態2で説明した更新情報受信部571および通信部575に相当するインターネット通信部1075、ならびにルーター機能部1076から構成される。また、家電機器管理ルーター1070は、家電機器管理ルーター1070の内部状態を示すLED(図示せず)を備えていても良い。
インターネット通信部1075は、インターネット662を介して、機器管理サーバ550から更新情報を受信する。また、インターネット通信部1075は、家電機器のソフトウェアの更新結果を機器管理サーバ550へ通知する。ローカル通信部1072は、有線LAN、無線LANまたは電力線ネットワークを介して家電機器と通信をする。ルーター機能部1076は、宅内の有線LAN、無線LANまたは電力線ネットワークのルーターとして機能する。
図11は、本実施の形態のソフトウェア更新処理のフローを示している。
まず、家電機器500、501がそれぞれ、有線LANと無線LANを介して、機器情報を家電機器管理ルーター1070に登録する(ステップ1:機器情報の登録)。
次に、家電機器500のソフトウェアを更新する必要が発生すると、機器管理サーバ550が、更新情報を生成する(ステップ2:更新情報の生成)。更新情報を生成する手順は、実施の形態1で説明した手順と同じである。
次に、家電機器管理ルーター1070が、インターネット662を通じて機器管理サーバ550に更新情報要求を送信する(ステップ3:更新情報要求)。機器管理サーバ550は、インターネット662を通じて家電機器管理ルーター1070に更新情報を送信する(ステップ4:機器更新情報の配信)。この場合、機器情報リスト576には、さらに機器情報の一つとして機器管理サーバ550のURLが登録されている。家電機器管理ルーター1070は、定期的に、更新処理制御部579からインターネット通信部1075を介して、そのURLが示す機器管理サーバ550へ更新情報要求を送信する。機器管理サーバ550は、配信が必要な更新情報が存在する場合に、家電機器管理ルーター1070へ更新情報を送信する。
インターネット通信部1075を通じて更新情報を受信した家電機器管理ルーター1070において、照合部577が、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト576の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する(ステップ5:機器情報の照合)。
照合された情報が一致する家電機器が登録されていた場合に、更新処理制御部579が、更新情報をデータ保持部578に格納し、ローカル通信部1072を介して該当する家電機器500に、更新情報の中の制御情報の部分を含む更新要求メッセージを送信する(ステップ6:更新要求)。この時、何らかの原因で家電機器500との通信が出来ず、更新要求メッセージの送信に失敗した場合は(家電機器500の電源がオフになっている場合など)、更新処理制御部579が、家電機器500のソフトウェアの更新が必要であることを示すHTML(Hyper Text Markup Language)データを生成して、家電機器管理ルーター1070に接続する宅内の機器での、その生成したHTMLデータの表示を可能にし、さらにソフトウェアを更新する必要がある家電機器が存在することを示すLEDを点灯させて、ユーザに家電機器500の電源オンを促す。家電機器500との通信が可能になると、改めて、家電機器500に更新要求メッセージを送信する。
家電機器管理ルーター1070から更新要求メッセージを受信した家電機器500において、機器管理モジュール510が、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する(ステップ7:鍵生成)。鍵を生成する手順は、実施の形態1で説明した手順と同じである。
次に、家電機器500の機器管理モジュール510は、更新前の生成情報Ca、Cbと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理ルーター1070のデータ保持部578にバックアップのために転送する(ステップ8:バックアップ)。
次に、家電機器管理ルーター1070の更新処理制御部579が、更新情報の中の暗号化されている生成情報Ca、Cbと制御コードの部分とを、ローカル通信部1072を介して家電機器500に送信し(ステップ9:更新データ送信)、家電機器500の機器管理モジュール510が、更新情報の暗号を復号化して、制御コードと生成情報Ca、Cbとを更新する(ステップ10:データ更新)。
次に、家電機器管理ルーター1070の更新処理制御部579が、ソフトウェアの更新が行われた家電機器500の機器情報を更新処理の結果とともに、インターネット通信部1075を介して機器管理サーバ550の更新状況管理部156に通知して更新処理を完了する(ステップ11:更新完了通知)。この時、ステップ9、10の処理では、暗号化された更新情報をまとめて送信し、それを家電機器500側で復号化するのではなく、暗号のブロック単位で家電機器500に送信し、ブロック単位で復号化をして更新処理を行う。
なお、家電機器501のソフトウェアの更新の手順は、家電機器500のソフトウェアの更新の手順と同じである。
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理ルーター1070に登録しておき、家電機器管理ルーター1070がインターネット662を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理ルーター1070を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ550から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
また、家電機器管理ルーター1070がインターネット662を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
さらに、家電機器管理ルーター1070のデータ更新部574のデータ保持部578を、更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
なお、上記において、家電機器管理ルーター1070が機器管理サーバ550へ送信する更新情報要求を、家電機器管理ルーター1070が家電機器500、501から受信した更新処理要求に基づいて送信するようにしても良い。更新処理要求は、家電機器500、501が家電機器管理ルーター1070に対してソフトウェアの更新処理を要求するメッセージである。ローカル通信部1072を介して更新処理要求を受信した家電機器管理ルーター1070は、機器管理サーバ550へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
(実施の形態6)
図12は、本発明の実施の形態6に係るソフトウェア更新システムの構成を示すブロック図である。なお、本実施の形態のソフトウェア更新システムは、前述のソフトウェア更新システムと基本的に同様の構成を有する。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照番号を付し、その詳細な説明を省略する。
本実施の形態のソフトウェア更新システムは、家電機器と機器管理サーバとの間に家電機器管理装置が接続された点では、実施の形態2〜5と同様であるが、ネットワークに接続する機能を備えていない家電機器がIC(Integrated circuit)カードを介して家電機器管理装置と通信を行うという点で、実施の形態2〜5と相違する。これは、ネットワークに接続する機能を備えていない家電機器のソフトウェアの更新を、確実にかつ効率的に行えるようにするためのものである。
本実施の形態のソフトウェア更新システムは、図12に示すように、ソフトウェアを更新する機能を備えた家電機器1200と、実施の形態2で説明した機器管理サーバ550と、家の中の家電機器を管理する家電機器管理ICカード1220と、家電機器管理ICカード1220の装着が可能であり機器管理サーバ550から更新情報を受信する家電機器管理装置1270と、から構成される。機器管理サーバ550と家電機器管理装置1270とは、実施の形態2で説明した通信路560を介して接続される。
家電機器管理ICカード1220は、接触型と非接触型の両方の外部インターフェイスを備えたICカードである。
家電機器1200は、実施の形態1で説明した制御部120および機構部130、ならびに制御部に格納されているソフトウェアを更新する機器管理モジュール1210から構成される。
機器管理モジュール1210は、実施の形態1で説明した生成情報記憶部111、鍵生成部112および更新部113、ならびに実施の形態2で説明した機器情報登録部516を有する。さらに、機器管理モジュール1210は、家電機器管理ICカード1220と非接触通信を行うICカード通信部1217を有する。また、機器管理モジュール1210は、鍵生成部112と更新部113と機器情報登録部516とに相当するソフトウェアモジュールを実行するCPUと、生成情報記憶部111を形成するメモリと、ICカード通信部1217を形成するRF回路および通信制御回路と、から構成される集積回路によって構成される。なお、ICカード通信部1217は、家電機器管理ICカード1220と接触通信を行うタイプであっても良く、その場合は、ICカード通信部1217は、家電機器管理ICカード1220に接続する端子および通信制御回路から構成される。
家電機器管理装置1270は、実施の形態2で説明した更新情報受信部571および通信部と、家電機器管理ICカード1220と接触通信を行うICカード通信部1272と、から構成される。実際には、家電機器管理装置1270は、ポータブルタイプや据え置きタイプなど複数のタイプのものが存在していても良く、ユーザは更新情報の受信が可能ないずれかの家電機器管理装置1270に家電機器管理ICカード1220を装着しておくものとする。なお、ICカード通信部1272は、家電機器管理ICカード1220と非接触通信を行うタイプであっても良く、その場合は、ICカード通信部1272は、RF回路および通信制御回路から構成される。
家電機器管理ICカード1220は、実施の形態2で説明した機器情報管理部573、データ更新部574と、家電機器管理装置1270または各家電機器と通信する接触型外部インターフェイスおよび非接触型外部インターフェイス(図示せず)と、から構成される。なお、家電機器管理ICカード1220の形状としては、名刺サイズの一般的なICカードの形状や携帯電話などに装着されるSIMカードの形状でも良いし、メモリカードの形状であっても良い。
上記構成を有するソフトウェア更新システムにおいて、予め、家電機器管理ICカード1220を家電機器1200のICカード通信部1217に近づけることで、家電機器1200の機器情報登録部516は、ICカード通信部1217を通じ、自身の機器情報を家電機器管理ICカード1220の機器情報管理部573に登録する。機器情報管理部573に登録される機器情報には、その家電機器のメーカーコード、型式番号および製造番号、ならびにその家電機器のソフトウェアバージョンのシリアル番号が含まれる。機器情報管理部573は、各家電機器から登録された機器情報を家電機器ごとに管理し、機器情報リスト576として保持する。
家電機器管理ICカード1220は、通常、家電機器管理装置1270に装着されている。更新情報は、通信路560を介して機器管理サーバ550から家電機器管理装置1270へ配信される。
家電機器管理ICカード1220は、家電機器管理装置1270の更新情報受信部571を通じて更新情報を受信し、照合部577が更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト576の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する。
そして、照合された情報が一致する家電機器が登録されていた場合、データ更新部574のデータ保持部578には受信した更新情報が保持される。さらに、家電機器管理ICカード1220からのレスポンスデータに基づいて、家電機器管理装置1270には家電機器1200のソフトウェアの更新が必要である旨が表示され、ユーザに対して家電機器管理ICカード1220を用いて家電機器1200のソフトウェアを更新する操作が促される。
ユーザが家電機器管理ICカード1220を該当する家電機器1200のICカード通信部1217に近づけると、更新処理制御部579が家電機器1200と通信して、ソフトウェアの更新処理を行う。この時の更新処理の過程で、データ更新部574のデータ保持部578には、家電機器1200から更新前のソフトウェアがバックアップのために転送される。
このように、本実施の形態によれば、家電機器の機器情報を家電機器管理ICカード1220に登録しておき、家電機器管理ICカード1220が家電機器管理装置1270を介して更新情報を機器管理サーバ550から受信し、ソフトウェアを更新する必要がある場合に、家電機器管理ICカード1220を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ550から直接受信する機能や外部のネットワークに接続する機能、例えば、テレビチューナーやインターネットモデムなどの機能を持つ必要がなくなるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することが出来る。
また、更新情報の受信が可能な状態の家電機器管理装置1270を介して、家電機器管理ICカード1220が機器管理サーバ550から配信される更新情報を受信することで、各家電機器のソフトウェアの更新を確実に行うことが出来る。更新情報が機器管理サーバ550から配信される時に、各家電機器は必ずしも電源オンの状態である必要はなく、電源がオンになった際に、家電機器管理ICカード1220との間で更新処理を行うことで、ソフトウェアの更新を確実に行うことが出来る。
さらに、家電機器管理ICカード1220のデータ更新部574のデータ保持部578を、更新情報のバッファ領域および更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。実際には、更新処理に失敗した場合の処理は、機器管理サーバ550によって設定された更新情報の制御情報に含まれるプログラムデータに基づいて行われる場合がある。また、そのプログラムデータに基づいて、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻す場合もあれば、元に戻すことはぜずに、安全のために家電機器を機能停止状態に設定する場合もある。
なお、上記では、機器管理モジュール1210を、制御部120のCPUとは別のCPUを持つ集積回路であるとしたが、機器管理モジュール1210の機能を、制御部120のCPUとメモリとによって構成するようにしても良い。
また、上記では、機器管理モジュール1210にICカード通信部1217が内蔵されるとしたが、機器管理モジュール1210とは独立に、例えばICカードリーダーライターを備えるようにしても良い。
また、上記では、家電機器1200に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器1200に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
また、上記では、家電機器1200に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器1200に格納される特定のデータを更新することで、家電機器1200の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器1200の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器1200の一部の機能または全ての機能を無効化する。
また、上記では、家電機器管理ICカード1220は、接触型外部インターフェイスおよび非接触型外部インターフェイスの、2種類の外部インターフェイスを備えるとしたが、いずれか1種類の外部インターフェイスだけを備えるように構成しても良い。その場合、ICカード通信部1217およびICカード通信部1272は、家電機器管理ICカード1220との通信が可能なタイプとなる。
(実施の形態7)
図13は、本発明の実施の形態7に係るソフトウェア更新システムの構成を示すブロック図である。なお、本実施の形態のソフトウェア更新システムは、前述の実施の形態と基本的に同様の構成を有している。よって、本実施の形態において、前述の実施の形態で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
本実施の形態のソフトウェア更新システムでは、実施の形態6と同様に、ネットワーク接続機能を備えていない家電機器がICカードを介して家電機器管理装置と通信を行う。また、本実施の形態のソフトウェア更新システムは、実施の形態6で説明した家電機器管理装置を、デジタル放送受信機能を備えたポータブル型の装置、例えば携帯電話などの携帯端末に適用したものである。
したがって、本実施の形態のソフトウェア更新システムは、図13に示すように、実施の形態6で説明した家電機器1200と、家電機器1200と共通の内部構成を有する家電機器1201と、家電機器管理装置としての家電機器管理携帯端末1370と、実施の形態2で説明した機器管理サーバ550と、実施の形態4で説明した放送局859と、家電機器管理ICカード1260と、から構成される。また、機器管理サーバ550と放送局859とは所定の通信線により通信可能に接続される。また、放送局859と家電機器管理携帯端末1370とは放送網860により通信可能に接続される。また、機器管理サーバ550と家電機器管理携帯端末1370とはインターネット862により通信可能に接続される。家電機器管理ICカード1260は、接触通信または非接触通信によって家電機器1200、1201と接続され、また、インターネット862を介して機器管理サーバ550に通信可能に接続される。
家電機器1200、1201はそれぞれ、実施の形態1で説明した制御部120および機構部130、ならびに実施の形態6で説明した機器管理モジュール1210を備える。また、家電機器1200、1201としては、例えば、ポータブル音楽プレーヤなどの、バッテリーによって駆動されるポータブルタイプの機器が想定される。
家電機器管理携帯端末1370は、実施の形態6で説明したICカード通信部1272、ならびに実施の形態4で説明したデジタル放送受信部871、インターネット通信部875およびテレビ機能部876から構成される。
家電機器管理ICカード1260は、実施の形態2で説明した機器情報管理部573およびデータ更新部574、ならびに、家電機器管理携帯端末1370または各家電機器と通信する接触型外部インターフェイスおよび非接触型外部インターフェイス(図示せず)から構成される。
図14は、本実施の形態のソフトウェア更新処理のフローを示している。
まず、家電機器管理ICカード1260を家電機器1200、1201のICカード通信部1217にそれぞれ近づけることで、家電機器1200、1201がICカード通信部1217を介して、機器情報を家電機器管理ICカード1260に登録する(ステップ1:機器情報の登録)。例えば、家電機器1200、1201は、メッセージを表示するなどして、ユーザに対して、この家電機器管理ICカード1260に機器情報を登録する操作を促すようになっている。
次に、家電機器1200のソフトウェアを更新する必要が発生すると、機器管理サーバ550が、更新情報を生成する(ステップ2:更新情報の生成)。更新情報を生成する手順は、実施の形態1で説明した手順と同じである。
次に、機器管理サーバ550は、放送局859に更新情報の配信を依頼し(ステップ3:更新情報の配信依頼)、放送局859は、放送網860を通じて家電機器管理携帯端末1370に更新情報を配信する。さらに更新情報は、家電機器管理ICカード1260に伝送される(ステップ4:機器更新情報の配信)。
家電機器管理携帯端末1370のデジタル放送受信部871を通じて更新情報を受信した家電機器管理ICカード1260において、照合部577が、更新情報の制御情報の中の更新対象の家電機器の機種を規定する情報と機器情報リスト576の機器情報とを照合して、ソフトウェアを更新する必要がある家電機器が登録されているかどうかを判定する(ステップ5:機器情報の照合)。
照合された情報が一致する家電機器が登録されていた場合に、更新処理制御部579が、更新情報をデータ保持部578に格納して、レスポンスデータを家電機器管理携帯端末1370に送信する。家電機器管理携帯端末1370は、受信したレスポンスデータに基づいて、家電機器1200のソフトウェアの更新が必要である旨を表示し、ユーザに対して家電機器管理ICカード1260を用いて家電機器1200のソフトウェアを更新する操作を促す。ユーザが家電機器管理ICカード1260を該当する家電機器1200のICカード通信部1217に近づけると、家電機器管理ICカード1260のデータ更新部574の更新処理制御部579が、家電機器1200へ更新情報の中の制御情報の部分を含む更新要求メッセージを送信する(ステップ6:更新要求)。
家電機器管理ICカード1260から更新要求メッセージを受信した家電機器1200において、機器管理モジュール1210が、更新要求メッセージの中に含まれていた更新情報の制御情報に基づき、更新情報の暗号を復号化するための鍵を生成する(ステップ7:鍵生成)。鍵を生成する手順は、実施の形態1で説明した手順と同じである。
次に、家電機器1200の機器管理モジュール1210は、更新前の生成情報Ca、Cbと制御コードとユーザ設定とを生成した鍵で暗号化し、家電機器管理ICカード1260のデータ保持部578にバックアップのために転送する(ステップ8:バックアップ)。
次に、家電機器管理ICカード1260の更新処理制御部579が、更新情報の中の暗号化されている生成情報Ca、Cbと制御コードの部分とを、家電機器1200に送信する(ステップ9:更新データ送信)。次に、家電機器1200の機器管理モジュール1210が、更新情報の暗号を復号化して、制御コードと生成情報Ca、Cbとを更新する(ステップ10:データ更新)。
次に、家電機器管理ICカード1260が、家電機器管理携帯端末1370に装着されると、更新処理制御部579が、ソフトウェアの更新が行われた家電機器1200の機器情報を更新処理の結果とともに、家電機器管理携帯端末1370のインターネット通信部875を通じて機器管理サーバ550の更新状況管理部156に通知して更新処理を完了する(ステップ11:更新完了通知)。この時、ステップ9、10の処理では、暗号化された更新情報をまとめて送信し、それを家電機器1200側で復号化するのではなく、暗号のブロック単位で家電機器1200に送信し、ブロック単位で復号化をして更新処理を行う。
なお、家電機器1201のソフトウェアの更新の手順は、家電機器1200のソフトウェアの更新の手順と同じである。
このように、家電機器の機器情報を家電機器管理ICカード1260に登録しておき、家電機器管理携帯端末1370に装着された家電機器管理ICカード1260が放送網860を通じて更新情報を受信して、ソフトウェアを更新する必要がある場合に、家電機器管理ICカード1260を介して個々の家電機器が更新情報を受信してソフトウェアの更新を行う。これにより、個々の家電機器に、更新情報を機器管理サーバ550から直接受信する機能や外部のネットワークに接続する機能を持つ必要がなく、また、更新情報の暗号を復号化するために個々の家電機器に必要となるメモリの容量を抑えることができるので、ソフトウェアの更新機能を備えた家電機器を低いコストで構成することができる。
また、家電機器管理携帯端末1370に装着された家電機器管理ICカード1260が放送網860を通じて更新情報を確実に受信し、各家電機器のソフトウェアの更新を確実に行うことができる。
さらに、家電機器管理ICカード1260のデータ更新部574のデータ保持部578を、更新前のソフトウェアのバックアップ領域として用いることができるので、個々の家電機器において更新処理の為に必要となるメモリを最小限に抑えることができる。また、仮に更新処理に失敗した場合でも、バックアップしておいた更新前のソフトウェアを元に戻すことで元の状態に戻すことも出来るので、更新処理の安全性を更に高めることが出来る。
なお、上記では、家電機器管理ICカード1260は更新情報を家電機器管理携帯端末1370のデジタル放送受信部871を介して受信するとしたが、インターネット通信部875を介してインターネット862経由で機器管理サーバ550から更新情報を受信するようにしても良い。この場合、機器情報リスト576には、さらに機器情報の一つとして機器管理サーバ550のURLが登録される。家電機器管理携帯端末1370に装着された家電機器管理ICカード1260は、定期的に、更新処理制御部579からインターネット通信部875を介して、そのURLが示す機器管理サーバ550へ更新情報要求を送信し、機器管理サーバ550は、配信が必要な更新情報が存在する場合に、家電機器管理ICカード1260へ更新情報を送信する。家電機器管理ICカード1260は、家電機器管理携帯端末1370のインターネット通信部875を介して受信した更新情報に対して、デジタル放送受信部871を介して受信した更新情報と同様の処理を行う。
また、上記において、家電機器管理携帯端末1370に装着された家電機器管理ICカード1260が機器管理サーバ550へ送信する更新情報要求を、家電機器管理ICカード1260が家電機器1200、1201から受信した更新処理要求に基づいて送信するようにしても良い。この場合、更新処理要求は、家電機器1200、1201が家電機器管理ICカード1260に対してソフトウェアの更新処理を要求するメッセージである。家電機器管理ICカード1260を家電機器のICカード通信部1217に近づけた際に、更新処理要求を受信した家電機器管理ICカード1260は、家電機器管理携帯端末1370に装着されるとインターネット通信部875を介して機器管理サーバ550へ更新情報要求を送信する。それ以降の処理は、上記で説明した手順と同じである。
(実施の形態8)
図15は、本発明の実施の形態8に係るソフトウェア更新システムとしてのデータ通信システムである。
本実施の形態は、更新対象の機器のソフトウェアバージョンのシリアル番号が連続していない場合でも、ソフトウェアの更新が可能となるように構成したものである。
なお、本実施の形態で説明するソフトウェア更新システムは、実施の形態1で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、実施の形態1で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
本実施の形態の場合、家電機器100の機器管理モジュール110の生成情報記憶部111には、生成情報Ca114と生成情報Cb115の他に、さらに、もう一組の生成情報Cc116と生成情報Cd117が格納されている。
一方、機器管理サーバ150の秘密情報保持部151は、家電機器の一つの機種に対して秘密情報A157と秘密情報B158の他に、さらに、もう一組の秘密情報C159と秘密情報D160を保持する。
図16は、家電機器100に格納されるデータ、すなわち、制御コードおよび4つの生成情報Ca、Cb、Cc、Cdの相互関係を示す図である。
生成情報Ca、Cbは、それぞれ秘密情報A157、秘密情報B158から、生成情報Cc、Cdは、それぞれ秘密情報C159、秘密情報D160から機器管理サーバ150の生成情報生成部152が生成した情報であり、家電機器100のソフトウェアバージョンのシリアル番号によって異なっている。
図16において、例えば、ソフトウェアバージョンのシリアル番号が1の場合、家電機器100には、制御コードP1と、機器管理サーバ150の生成情報生成部152が生成した、生成情報Ca=X(1,A)と生成情報Cb=Y(M−1,B)と生成情報Cc=U(1,C)と生成情報Cd=V(M−1,D)と、が格納される。同様に、ソフトウェアバージョンのシリアル番号がnの場合、家電機器100には制御コードPnと、機器管理サーバ150の生成情報生成部152が生成した、生成情報Ca=X(n,A)と生成情報Cb=Y(M−n,B)と、生成情報Cc=U(n,C)と生成情報Cd=V(M−n,D)と、が格納される。換言すれば、現在使用されているソフトウェアバージョンのシリアル番号がnであれば、使用中のソフトウェア自体(またはその一部)が制御コードPnである。また、生成情報Ca=X(n,A)、生成情報Cb=Y(M−n,B)、生成情報Cc=U(n,C)、生成情報Cd=V(M−n,D)は、制御コードPnに固有の情報としてそれぞれ保持され、鍵成分として鍵の生成に用いられる。
ここで、UおよびVは互いに異なる所定の不可逆演算を示している。U(p,a)は、データaに対して不可逆演算Uをp回繰り返した結果を示し、V(q,b)はデータbに対して不可逆演算Vをq回繰り返した結果を示す。したがって、生成情報U(1,C)は、秘密情報Cに不可逆演算Uを1回行った場合の結果であり、生成情報V(M−1,D)は、秘密情報Dに不可逆演算VをM−1回繰り返した場合の結果である。
生成情報U(n,C)は、秘密情報Cに不可逆演算Uをn回繰り返した場合の結果であり、生成情報U(n,C)から秘密情報Cを算出することは出来ない。また、生成情報V(M−n,D)は、秘密情報Dに不可逆演算VをM−n回繰り返した場合の結果であり、生成情報V(M−n,D)から秘密情報Dを算出することは出来ない。
次に、家電機器100のソフトウェアを更新する動作について説明する。
機器管理サーバ150は、機器管理サーバ150が管理する機種の家電機器のソフトウェアを新しいソフトウェアに更新する必要が発生した場合、更新の対象となる家電機器に搭載されているソフトウェアのバージョンに基づいて新しいソフトウェアを暗号化し、更新情報を生成して、それを、通信路160を介して各家電機器へ配信する。
ここで、図17Aに示すように、ソフトウェアバージョンのシリアル番号がn−i〜n+jとN−p〜N+q(n,N,i,j,p,qは1≦n−i≦n+j<n+j+1≦N−p−1<N−p≦N+q≦M−1を満たす整数)のソフトウェア(つまり、更新対象ソフトウェア)を、シリアル番号がn+k(kは1≦n+k≦M−1を満たす整数)のソフトウェア(つまり、新規ソフトウェア)に更新する必要がある場合を例にとって説明する。
なお、ソフトウェアバージョンのシリアル番号がn+j+1〜N−p−1のソフトウェアは更新対象ではなく、更新対象の機器のソフトウェアバージョンのシリアル番号は必ずしも連続しておらず、
また、家電機器100において現在使用されているソフトウェア(つまり、現用ソフトウェア)のバージョンのシリアル番号はn(nはn−i≦n≦n+jを満たす整数)またはN(NはN−p≦N≦N+qを満たす整数)であるとする。
図18Aのフロー図に示すように、まず、
機器管理サーバ150の生成情報生成部152が、秘密情報保持部151から家電機器100に対応する秘密情報A157と秘密情報B158と秘密情報C159と秘密情報D160を読み出して、秘密情報A157に不可逆演算Xをn+j回行って生成情報X(n+j,A)を生成し、さらに不可逆演算Xをk−j回行ってシリアル番号n+kの場合の生成情報CaであるX(n+k,A)を生成し(ステップ1901)、
秘密情報B158に不可逆演算YをM−n−k回行ってシリアル番号n+kの場合の生成情報CbであるY(M−n−k,B)を生成し、さらに不可逆演算Yをk+i回行って生成情報Y(M−n+i,B)を生成し(ステップ1902)、
秘密情報C159に不可逆演算UをN+q回行って生成情報U(N+q,C)を生成し、さらに不可逆演算Uをn+k−N−q回行ってシリアル番号n+kの場合の生成情報CcであるU(n+k,C)を生成し(ステップ1903)、
秘密情報D160に不可逆演算VをM−n−k回行ってシリアル番号n+kの場合の生成情報CdであるV(M−n−k,D)を生成し、さらに不可逆演算Vをn+k−N+p回行って生成情報V(M−N+p,D)を生成する(ステップ1904)。
次に、暗号鍵生成部153が、生成された生成情報X(n+j,A)と生成情報Y(M−n+i,B)とシリアル番号n+kとを合成して鍵F(X(n+j,A),Y(M−n+i,B),n+k)を生成し(ステップ1905)、生成情報U(N+q,C)と生成情報V(M−N+p,D)とシリアル番号n+kとを合成して鍵F(U(N+q,C),V(M−N+p,D),n+k)を生成し(ステップ1906)、さらに、暗号鍵Kを生成する(ステップ1907)。ここで暗号鍵Kは乱数をシードとする任意の共通鍵方式の鍵である。
次に、更新情報生成部154が、シリアル番号n+kの場合の生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(n+k,C))と生成情報Cd(=V(M−n−k,D))と制御コードPn+kとを、生成した暗号鍵Kを用いて暗号化し(ステップ1908)、
さらに、暗号鍵Kを
生成した鍵F(X(n+j,A),Y(M−n+i,B),n+k)と
生成した鍵F(U(N+q,C),V(M−N+p,D),n+k)と
を用いてそれぞれ暗号化し(ステップ1909)、さらに制御情報を付加して、図17Bに示すようなデータ構造の更新情報を生成する。
次に、更新情報配信部155が、生成した更新情報を通信路160を介して家電機器100を含む各家電機器へ配信する。
ここで、制御情報は、更新情報を受信した家電機器100における更新情報の処理を制御する情報である。制御情報には、更新の対象となっている家電機器の機種を規定する情報が含まれている。具体的には、例えば、製造会社を示すメーカーコードと、家電機器の型式番号と、ソフトウェアバージョンのシリアル番号とが含まれ、さらに製造シリアル番号の範囲を示す情報が含まれていても良い。また、制御情報には、更新後のソフトウェアバージョンを規定する情報として更新後のソフトウェアバージョンのシリアル番号が含まれている。さらに、制御情報には、実際に家電機器上で実行されるプログラムデータが含まれていても良く、さらに、そのプログラムデータの正当性を検証するための電子署名等の検証データが含まれていても良い。本実施の形態の場合には、制御コード格納部121に格納されているユーザ設定123を、新しいソフトウェアにおいても有効なデータ形式に変換するプログラムデータが含まれているとする。
次に、更新情報を受信した家電機器100は、更新情報の制御情報に基づき、生成情報から更新情報の暗号を復号化するための鍵を生成し、更新情報の暗号を復号化して、ソフトウェアを更新情報に含まれていたものに更新する。ここでは、家電機器100に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がn(n−i≦n≦n+j)であった場合とN(N−q≦N≦N+p)であった場合を例にとって説明する。
まず、家電機器100に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がnであった場合、図18Bのフロー図に示すように、まず、家電機器100の受信部140が、機器管理サーバ150から配信された更新情報を通信路160を介して受信する。家電機器100の機器管理モジュール110の更新部113が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する(ステップ1910)。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器100のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器100のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ1910の更新の要否判定において、「更新不要」と判定した場合には、更新部113は受信した更新情報をそのまま廃棄する。
「更新が必要」と判定された場合は、鍵生成部112が、生成情報記憶部111から生成情報Ca(=X(n,A))と生成情報Cb(=Y(M−n,B))を読み出して、生成情報Ca(=X(n,A))に不可逆演算Xをj回行って生成情報X(n+j,A)を生成し(ステップ1911)、生成情報Cb(=Y(M−n,B))に不可逆演算Yをi回行って生成情報Y(M−n+i,B)を生成し(ステップ1912)、更に、生成された生成情報X(n+j,A)、Y(M−n+i,B)およびシリアル番号n+kから、鍵F(X(n+j,A),Y(M−n+i,B),n+k)を生成する(ステップ1913)。
次に、更新部113が、鍵F(X(n+j,A),Y(M−n+i,B),n+k)で暗号化されている暗号鍵Kの暗号を復号化し(ステップ1914)、
復号化した暗号鍵Kを用いて
更新情報の暗号化されている部分を復号化し(ステップ1915)、シリアル番号がn+kの場合の生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(n+k,C))と生成情報Cd(=V(M−n−k,D))と制御コードPn+kとを取り出して、制御コード格納部121の制御コードPnを制御コードPn+kに更新し、生成情報記憶部111の生成情報Ca(=X(n,A))と生成情報Cb(=Y(M−n,B))と生成情報Cc(=U(n,C))と生成情報Cd(=V(M−n,D))を、それぞれ生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(n+k,C))と生成情報Cd(=V(M−n−k,D))に更新する。
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部120に格納されているユーザ設定123を、新しい制御コードPn+kにおいても有効なデータ形式に変換することにより、ユーザ設定123を更新して、ソフトウェアの更新を完了する。この時、更新部113は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
また、家電機器100に搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がNであった場合、図18Cのフロー図に示すように、まず、家電機器100の受信部140が、機器管理サーバ150から配信された更新情報を通信路160を介して受信する。家電機器100の機器管理モジュール110の更新部113が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する(ステップ1920)。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器100のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器100のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ1920の更新の要否判定において、「更新不要」と判定した場合には、更新部113は受信した更新情報をそのまま廃棄する。
「更新が必要」と判定された場合は、鍵生成部112が、生成情報記憶部111から生成情報Cc(=U(N,C))と生成情報Cd(=V(M−N,D))を読み出して、生成情報Cc(=U(N,C))に不可逆演算Uをq回行って生成情報U(N+q,C)を生成し(ステップ1921)、生成情報Cd(=V(M−N,D))に不可逆演算Vをp回行って生成情報V(M−N+p,D)を生成し(ステップ1922)、更に、生成された生成情報U(N+q,C)、V(M−N+p,D)およびシリアル番号n+kから、鍵F(U(N+q,C),V(M−N+p,D),n+k)を生成する(ステップ1923)。
次に、更新部113が、鍵F(U(N+q,C),V(M−N+p,D),n+k)で暗号化されている暗号鍵Kの暗号を復号化し(ステップ1924)、
復号化した暗号鍵Kを用いて
更新情報の暗号化されている部分を復号化し(ステップ1925)、シリアル番号がn+kの場合の生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(n+k,C))と生成情報Cd(=V(M−n−k,D))と制御コードPn+kとを取り出して、制御コード格納部121の制御コードPNを制御コードPn+kに更新し、生成情報記憶部111の生成情報Ca(=X(N,A))と生成情報Cb(=Y(M−N,B))と生成情報Cc(=U(N,C))と生成情報Cd(=V(M−N,D))を、それぞれ生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(n+k,C))と生成情報Cd(=V(M−n−k,D))に更新する。
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部121に格納されているユーザ設定123を、新しい制御コードPn+kにおいても有効なデータ形式に変換することにより、ユーザ設定123を更新して、ソフトウェアの更新を完了する。この時、更新部113は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
以上のように、
更新対象の機器のソフトウェアバージョンのシリアル番号が必ずしも連続していない場合でも、搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンの家電機器であれば、更新情報の暗号化されている部分を復号化する暗号鍵Kに施された暗号を復号化するための鍵を生成することができ、ソフトウェアの更新を行うことが出来る。この時、機器管理サーバ150側は、家電機器のバージョンごとに複数の更新情報を配信する必要はなく、1種類の更新情報を配信するだけで良く、処理の負荷が小さくてすむので、サーバ設備にかかるコストを抑えることが出来る。また、家電機器100側は、ハッシュ演算という負荷の小さな処理を行うだけで良く、一方で、更新ごとに配信される更新情報の暗復号鍵を変えることが出来るので、更新情報の配信の安全性が向上する。
一方、家電機器に搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンではない場合、更新情報の暗号化されている部分を復号化する暗号鍵Kに施された暗号を復号化するための鍵を生成することは出来ないので、ソフトウェアを更新することも出来ない。
なお、上記では、機器管理モジュール110を、制御部120のCPUとは別のCPUを持つ集積回路であるとしたが、機器管理モジュール110の機能を、制御部120のCPUとメモリとによって構成するようにしても良い。
また、上記では、家電機器100に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器100に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
また、上記では、家電機器100に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器100に格納される特定のデータを更新することで、家電機器100の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器100の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器100の一部の機能または全ての機能を無効化する。
また、上記では、説明を簡単にするため、更新対象の機器のソフトウェアバージョンのシリアル番号が連続していない箇所が1個の場合の形態について説明したが、連続していない箇所が2個以上の場合についても、秘密情報および生成情報を2個ずつ増加させることで、同様の仕組みでソフトウェアの更新を行うことができる。
(実施の形態9)
図19は、本発明の実施の形態9に係るソフトウェア更新システムとしてのデータ通信システムである。
本実施の形態は、機器のソフトウェアが複数のソフトウェアから構成され、それぞれのソフトウェアのリリースのタイミングが異なる場合でも、それぞれのソフトウェアの更新が可能となるように構成したものである。例えば、機器に搭載されるソフトウェアが、OS、ミドルウェア、アプリケーションといったように複数のソフトウェアから構成され、特に、それぞれが異なるベンダーから提供されるソフトウェアである場合、ソフトウェアのリリースのタイミングはそれぞれ異なるため、ソフトウェアバージョンのシリアル番号は異なることになる。また、ソフトウェア間ではバージョンごとに相性が存在する場合があり、必ずしも、それぞれのソフトウェアを個別に更新すれば良いわけでなく、特定の組み合わせでそれぞれのソフトウェアを更新する必要がある場合がある。
なお、本実施の形態で説明するソフトウェア更新システムは、実施の形態1で説明したものと基本的に同様の構成を有する。よって、本実施の形態において、実施の形態1で説明したものと同一の構成要素には同一の参照符号を付し、その詳細な説明を省略する。
また、本実施の形態の場合、機器のソフトウェアを構成する複数のソフトウェアとしては、説明を簡単にするため、2つのソフトウェアから構成されるとし、家電機器100の制御部120の制御コード格納部121には、実施の形態1における制御コード122の代わりに、制御モジュールP125と制御モジュールQ126の2つのソフトウェアが格納されており、また、機器管理モジュール110の生成情報記憶部111には、生成情報Ca114と生成情報Cb115の他に、さらに、もう一組の生成情報Cc116と生成情報Cd117が格納されている。ここで、生成情報Ca114と生成情報Cb115は、制御モジュールP125に対応する2つの生成情報であり、生成情報Cc116と生成情報Cd117は、制御モジュールQ126に対応する2つの生成情報である。
一方、機器管理サーバ150の秘密情報保持部151は、家電機器の一つの機種に対して秘密情報A157と秘密情報B158の他に、さらに、もう一組の秘密情報C159と秘密情報D160を保持する。ここで、秘密情報A157と秘密情報B158は制御モジュールP125に対応する2つの秘密情報であり、秘密情報C159と秘密情報D160は制御モジュールQ126に対応する2つの秘密情報である。
図20は、家電機器100に格納されるデータ、すなわち、制御モジュールP125と制御モジュールQ126および4つの生成情報Ca、Cb、Cc、Cdの相互関係を示す図である。
生成情報Ca、Cbは、それぞれ秘密情報A157、秘密情報B158から、生成情報Cc、Cdは、それぞれ秘密情報C159、秘密情報D160から機器管理サーバ150の生成情報生成部152が生成した情報であり、生成情報Ca、Cbは、制御モジュールP125のバージョンのシリアル番号によって異なっており、生成情報Cc、Cdは、制御モジュールQ126のバージョンのシリアル番号によって異なっている。
図20において、例えば、制御モジュールP125のバージョンのシリアル番号が1の場合、制御モジュールPとして家電機器100には制御モジュールP1が格納され、さらに、機器管理サーバ150の生成情報生成部152が生成した、生成情報Ca=X(1,A)と生成情報Cb=Y(M−1,B)と、が格納される。同様に、制御モジュールP125のバージョンのシリアル番号がnの場合、制御モジュールPとして家電機器100には制御モジュールPnが格納され、さらに、機器管理サーバ150の生成情報生成部152が生成した、生成情報Ca=X(n,A)と生成情報Cb=Y(M−n,B)と、が格納される。
また制御モジュールQ126のバージョンのシリアル番号が1の場合、制御モジュールQとして家電機器100には制御モジュールQ1が格納され、さらに、機器管理サーバ150の生成情報生成部152が生成した、生成情報Cc=U(1,A)と生成情報Cd=V(M−1,B)と、が格納される。同様に、制御モジュールQ126のバージョンのシリアル番号がsの場合、制御モジュールQとして家電機器100には制御モジュールQsが格納され、さらに、機器管理サーバ150の生成情報生成部152が生成した、生成情報Cc=U(s,C)と生成情報Cd=V(M−s,D)と、が格納される。
換言すれば、現在使用されているソフトウェアを構成する制御モジュールP125と制御モジュールQ126のバージョンのシリアル番号が、それぞれ、nとs、であれば、使用中のソフトウェア自体(またはその一部)が制御モジュールPnと制御モジュールQsによって構成される。また、生成情報Ca=X(n,A)、生成情報Cb=Y(M−n,B)は、制御コードPnに固有の情報としてそれぞれ保持され、生成情報Cc=U(s,C)、生成情報Cd=V(M−s,D)は、制御コードQsに固有の情報としてそれぞれ保持され、鍵成分として鍵の生成に用いられる。
ここで、UおよびVは互いに異なる所定の不可逆演算を示している。U(p,a)は、データaに対して不可逆演算Uをp回繰り返した結果を示し、V(q,b)はデータbに対して不可逆演算Vをq回繰り返した結果を示す。したがって、生成情報U(1,C)は、秘密情報Cに不可逆演算Uを1回行った場合の結果であり、生成情報V(M−1,D)は、秘密情報Dに不可逆演算VをM−1回繰り返した場合の結果である。
生成情報U(n,C)は、秘密情報Cに不可逆演算Uをn回繰り返した場合の結果であり、生成情報U(n,C)から秘密情報Cを算出することは出来ない。また、生成情報V(M−n,D)は、秘密情報Dに不可逆演算VをM−n回繰り返した場合の結果であり、生成情報V(M−n,D)から秘密情報Dを算出することは出来ない。
次に、家電機器100のソフトウェアを更新する動作について説明する。
機器管理サーバ150は、機器管理サーバ150が管理する機種の家電機器のソフトウェアを新しいソフトウェアに更新する必要が発生した場合、更新の対象となる家電機器に搭載されているソフトウェアのバージョンに基づいて新しいソフトウェアを暗号化し、更新情報を生成して、それを、通信路160を介して各家電機器へ配信する。
ここで、図21Aに示すように、制御モジュールPのバージョンのシリアル番号がn−i〜n+j(n,i,jは1≦n−i≦n+j≦M−1を満たす整数)かつ制御モジュールQのバージョンのシリアル番号がs−p〜s+q(s,p,qは1≦s−p≦s+q≦M−1を満たす整数)から構成されるソフトウェア(つまり、更新対象ソフトウェア)を、制御モジュールPのバージョンのシリアル番号がn+k(kは1≦n+k≦M−1を満たす整数)、制御モジュールQのバージョンのシリアル番号がs+t(tは1≦n+t≦M−1を満たす整数)のソフトウェア(つまり、新規ソフトウェア)に更新する必要がある場合を例にとって説明する。
なお、家電機器100において現在使用されているソフトウェア(つまり、現用ソフトウェア)は、制御モジュールPのバージョンのシリアル番号がn、制御モジュールQのバージョンのシリアル番号がsであるとする。
図22Aのフロー図に示すように、まず、
機器管理サーバ150の生成情報生成部152が、秘密情報保持部151から家電機器100に対応する秘密情報A157と秘密情報B158と秘密情報C159と秘密情報D160を読み出して、秘密情報A157に不可逆演算Xをn+j回行って生成情報X(n+j,A)を生成し、さらに不可逆演算Xをk−j回行ってシリアル番号n+kの場合の生成情報CaであるX(n+k,A)を生成し(ステップ2301)、
秘密情報B158に不可逆演算YをM−n−k回行ってシリアル番号n+kの場合の生成情報CbであるY(M−n−k,B)を生成し、さらに不可逆演算Yをk+i回行って生成情報Y(M−n+i,B)を生成し(ステップ2302)、
秘密情報C159に不可逆演算Uをs+q回行って生成情報U(s+q,C)を生成し、さらに不可逆演算Uをt−q回行ってシリアル番号s+tの場合の生成情報CcであるU(s+t,C)を生成し(ステップ2303)、
秘密情報D160に不可逆演算VをM−s−t回行ってシリアル番号s+tの場合の生成情報CdであるV(M−s−t,D)を生成し、さらに不可逆演算Vをt+p回行って生成情報V(M−s+p,D)を生成する(ステップ2304)。
次に、暗号鍵生成部153が、生成された生成情報X(n+j,A)と生成情報Y(M−n+i,B)と生成情報U(s+q,C)と生成情報V(M−s+p,D)とシリアル番号n+kとs+tとを合成して鍵F(X(n+j,A),Y(M−n+i,B),U(s+q,C),V(M−s+p,D),n+k,s+t)を生成し(ステップ2305)、
次に、更新情報生成部154が、生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(s+t,C))と生成情報Cd(=V(M−s−t,D))と制御コードPn+kと制御コードQs+tとを、生成した鍵F(X(n+j,A),Y(M−n+i,B),U(s+q,C),V(M−s+p,D),n+k,s+t)を用いて暗号化し(ステップ2306)、さらに制御情報を付加して、図21Bに示すようなデータ構造の更新情報を生成する。
この場合、鍵F(a,b,c,d)は、a、b、c、dを変数とする任意の関数であり、例えば、F(a,b,c,d)=H(a||b||c||d)(aとbとcとdのデータ連結にハッシュ演算を施したもの)といった関数が用いられる。
次に、更新情報配信部155が、生成した更新情報を通信路160を介して家電機器100を含む各家電機器へ配信する。
ここで、制御情報は、更新情報を受信した家電機器100における更新情報の処理を制御する情報である。制御情報には、更新の対象となっている家電機器の機種を規定する情報が含まれている。具体的には、例えば、製造会社を示すメーカーコードと、家電機器の型式番号と、ソフトウェアバージョンのシリアル番号とが含まれ、さらに製造シリアル番号の範囲を示す情報が含まれていても良い。また、制御情報には、更新後のソフトウェアバージョンを規定する情報として更新後のソフトウェアバージョンのシリアル番号が含まれている。さらに、制御情報には、実際に家電機器上で実行されるプログラムデータが含まれていても良く、さらに、そのプログラムデータの正当性を検証するための電子署名等の検証データが含まれていても良い。本実施の形態の場合には、制御コード格納部121に格納されているユーザ設定123を、新しいソフトウェアにおいても有効なデータ形式に変換するプログラムデータが含まれているとする。
次に、更新情報を受信した家電機器100は、更新情報の制御情報に基づき、生成情報から更新情報の暗号を復号化するための鍵を生成し、更新情報の暗号を復号化して、ソフトウェアを更新情報に含まれていたものに更新する。ここでは、家電機器100に搭載されている制御モジュールPのバージョンのシリアル番号がn、制御モジュールQのバージョンのシリアル番号がsであった場合を例にとって説明する。
図22Bのフロー図に示すように、まず、家電機器100の受信部140が、機器管理サーバ150から配信された更新情報を通信路160を介して受信する。家電機器100の機器管理モジュール110の更新部113が、更新情報の制御情報に基づいて、ソフトウェアを更新する必要があるかどうかを判定する(ステップ2310)。具体的には、制御情報を取得し、取得した制御情報の中で規定されているメーカーコードと型式番号が、家電機器100のメーカーコードと型式番号とそれぞれ一致し、更に、制御情報の中で規定されている更新対象のソフトウェアバージョンのシリアル番号に、家電機器100のソフトウェアバージョンのシリアル番号が含まれる場合に、「更新が必要」であると判定する。ステップ2310の更新の要否判定において、「更新不要」と判定した場合には、更新部113は受信した更新情報をそのまま廃棄する。
「更新が必要」と判定された場合は、鍵生成部112が、生成情報記憶部111から生成情報Ca(=X(n,A))と生成情報Cb(=Y(M−n,B))と生成情報Cc(=U(s,C))と生成情報Cd(=V(M−s,D))を読み出して、生成情報Ca(=X(n,A))に不可逆演算Xをj回行って生成情報X(n+j,A)を生成し(ステップ2311)、生成情報Cb(=Y(M−n,B))に不可逆演算Yをi回行って生成情報Y(M−n+i,B)を生成し(ステップ2312)、生成情報Cc(=U(s,C))に不可逆演算Uをq回行って生成情報U(s+q,C)を生成し(ステップ2313)、生成情報Cd(=V(M−s,D))に不可逆演算Vをp回行って生成情報V(M−s+p,D)を生成し(ステップ2314)、更に、生成された生成情報X(n+j,A)、Y(M−n+i,B)、U(s+q,C)、V(M−s+p,D)およびシリアル番号n+kとs+tから、鍵F(X(n+j,A),Y(M−n+i,B),U(s+q,C),V(M−s+p,D),n+k,s+t)を生成する(ステップ2315)。
次に、更新部113が、鍵F(X(n+j,A),Y(M−n+i,B),U(s+q,C),V(M−s+p,D),n+k,s+t)で更新情報の暗号化されている部分を復号化し(ステップ2316)、生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(s+t,C))と生成情報Cd(=V(M−s−t,D))と制御モジュールPn+kと制御モジュールQs+tとを取り出して、制御コード格納部121の制御モジュールPnを制御モジュールPn+kに、制御モジュールQsを制御モジュールQs+tに、それぞれ更新し、生成情報記憶部111の生成情報Ca(=X(n,A))と生成情報Cb(=Y(M−n,B))と生成情報Cc(=U(s,C))と生成情報Cd(=V(M−s,D))を、それぞれ生成情報Ca(=X(n+k,A))と生成情報Cb(=Y(M−n−k,B))と生成情報Cc(=U(s+t,C))と生成情報Cd(=V(M−s−t,D))に更新する。
さらに、制御情報に含まれるプログラムデータを実行して、制御コード格納部121に格納されているユーザ設定123を、新しい制御モジュールPn+kおよび制御モジュールQs+tにおいても有効なデータ形式に変換することにより、ユーザ設定123を更新して、ソフトウェアの更新を完了する。この時、更新部113は、更新情報の暗号化されている部分を復号化した際に、復号化されたデータのパリティビットなどをチェックして、復号化処理が正常に行われたことをチェックする。
以上のように、
更新対象の機器のソフトウェアが複数のソフトウェアから構成される場合でも、搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンの家電機器であれば、更新情報の暗号化されている部分を復号化する暗号鍵Kに施された暗号を復号化するための鍵を生成することができ、ソフトウェアの更新を行うことが出来る。この時、機器管理サーバ150側は、家電機器のバージョンごとに複数の更新情報を配信する必要はなく、1種類の更新情報を配信するだけで良く、処理の負荷が小さくてすむので、サーバ設備にかかるコストを抑えることが出来る。また、家電機器100側は、ハッシュ演算という負荷の小さな処理を行うだけで良く、一方で、更新ごとに配信される更新情報の暗復号鍵を変えることが出来るので、更新情報の配信の安全性が向上する。
一方、家電機器に搭載されているソフトウェアのソフトウェアバージョンが、更新情報の制御情報で規定されている更新対象のソフトウェアバージョンではない場合、更新情報の暗号化されている部分を復号化する暗号鍵Kに施された暗号を復号化するための鍵を生成することは出来ないので、ソフトウェアを更新することも出来ない。
なお、上記では、機器管理モジュール110を、制御部120のCPUとは別のCPUを持つ集積回路であるとしたが、機器管理モジュール110の機能を、制御部120のCPUとメモリとによって構成するようにしても良い。
また、上記では、家電機器100に格納される制御コードの更新を行うとしたが、制御コードだけではなく、家電機器100に格納される特定のデータを同様の仕組みで更新するようにしても良く、その特定のデータとしては、マルチメディア・コンテンツや、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれる。
また、上記では、家電機器100に格納される制御コードの更新を行うとしたが、同様の仕組みで、家電機器100に格納される特定のデータを更新することで、家電機器100の一部の機能または全ての機能を無効化するようにしても良い。その特定のデータとしては、制御コードや、家電機器100の内部の制御フラグ情報、暗号処理に用いる鍵データ、マルチメディア・コンテンツ、ライセンス情報、制御コードが参照するテーブル情報やデータベースなどが含まれ、それらを無効なデータに更新することで、家電機器100の一部の機能または全ての機能を無効化する。
また、上記では、説明を簡単にするため、機器のソフトウェアが2つのソフトウェアから構成される場合の形態について説明したが、機器のソフトウェアが3つ以上のソフトウェアから構成される場合についても、秘密情報および生成情報を2個ずつ増加させることで、同様の仕組みでソフトウェアの更新を行うことができる。
以上、本発明の実施の形態について説明した。なお、以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されない。例えば、実施の形態1〜9で説明した幾つかの特徴を適宜組み合わせて実施することができる。また、各実施の形態において使用した通信方式や各機器の個数などは、前述したものだけに限定されるべきではない。また、各実施の形態で説明した構成は一例であり、よって、本発明の範囲においてこの構成例の様々な変更および修正が可能であることは明らかである。
本発明の家電機器は、使用するデータのバージョンアップが可能な家電機器として有用である。また、本発明のデータ格納装置、管理サーバ、集積回路、データ更新システム、データ更新方法、暗号化方法、および、暗復号鍵生成方法は、家電機器において使用するデータのバージョンアップの用途に適している。
本発明の実施の形態1に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態1に係る家電機器に格納されるデータの相互関係を示す図 (a)本発明の実施の形態1に係る現用データ、更新対象データおよび新規データを示す図(b)本発明の実施の形態1に係る更新情報および制御情報を示す図 (a)本発明の実施の形態1に係る機器管理サーバによる暗号化処理のフロー図(b)本発明の実施の形態1に係る家電機器による復号化処理のフロー図 本発明の実施の形態2に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態3に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態3に係る機器管理モジュールの構成を示すブロック図 本発明の実施の形態3に係るソフトウェア更新システムにおける更新処理のフローを示す図 本発明の実施の形態4に係るソフトウェア更新システムの構成を示す図 本発明の実施の形態4に係る機器管理モジュールの構成を示すブロック図 本発明の実施の形態4に係るソフトウェア更新システムにおける更新処理のフローを示す図 本発明の実施の形態5に係るソフトウェア更新システムの構成を示す図 本発明の実施の形態5に係る機器管理モジュールの構成を示す図 本発明の実施の形態5に係る別の機器管理モジュールの構成を示す図 本発明の実施の形態5に係るソフトウェア更新システムにおける更新処理のフローを示す図 本発明の実施の形態6に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態7に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態7に係るソフトウェア更新システムにおける更新処理のフローを示す図 本発明の実施の形態8に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態8に係る家電機器に格納されるデータの相互関係を示す図 本発明の実施の形態8に係る現用データ、更新対象データおよび新規データを示す図 本発明の実施の形態8に係る更新情報および制御情報を示す図 本発明の実施の形態8に係る機器管理サーバによる暗号化処理のフロー図 本発明の実施の形態8に係る家電機器による復号化処理のフロー図(搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がn(n−i≦n≦n+j)の場合) 本発明の実施の形態8に係る家電機器による復号化処理のフロー図(搭載されているソフトウェアのソフトウェアバージョンのシリアル番号がN(N−p≦N≦N+q)の場合) 本発明の実施の形態9に係るソフトウェア更新システムの構成を示すブロック図 本発明の実施の形態9に係る家電機器に格納されるデータの相互関係を示す図 本発明の実施の形態9に係る現用データ、更新対象データおよび新規データを示す図 本発明の実施の形態9に係る更新情報および制御情報を示す図 本発明の実施の形態9に係る機器管理サーバによる暗号化処理のフロー図 本発明の実施の形態9に係る家電機器による復号化処理のフロー図 従来のソフトウェア更新方式の一例を示す図
符号の説明
100、500、1200 家電機器
110、510、1210 機器管理モジュール
111 生成情報記憶部
112 鍵生成部
113 更新部
150、550 機器管理サーバ
151 秘密情報保持部
152 生成情報生成部
153 暗号鍵生成部
154 更新情報生成部
155 更新情報配信部
516 機器情報登録部
517、572 ローカル通信部
570、1270 家電機器管理装置
571 更新情報受信部
573 機器情報管理部
574 データ更新部
575 通信部
1217、1272 ICカード通信部

Claims (25)

  1. n番目(n≧1)にリリースされたデータPnを格納するデータ格納手段と、
    鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、
    前記データ及び前記第1の生成情報と第2の生成情報とを更新する更新手段と、
    から構成されるデータ格納装置であって、
    前記鍵生成情報記憶手段に格納されている
    第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、
    第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、
    n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータが格納されているデータ格納装置を更新対象とするデータPnをデータPk(M≧k≧1)に更新する更新情報を受信した場合に、
    前記鍵生成手段が、
    第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、
    第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、
    更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、
    前記更新手段が、
    前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、
    前記データ格納手段に格納されているデータPnをデータPkに更新し、
    前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する
    ことを特徴とするデータ格納装置。
  2. 前記鍵生成手段が、
    前記生成したX(n+j,A)及びY(M−n+i,B)と前記kとから鍵情報F(X(n+j,A),Y(M−n+i,B),k)(Fは任意の関数)を生成し、
    前記更新手段が、
    前記生成した鍵情報F(X(n+j,A),Y(M−n+i,B),k)を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得する
    ことを特徴とする請求項1記載のデータ格納装置。
  3. 前記データPn及びデータPkが前記データ格納装置の動作を制御する制御コードである
    ことを特徴とする請求項1または請求項2記載のデータ格納装置。
  4. さらに、データ通信を行う通信手段と、
    前記データ格納装置の識別情報を管理装置に登録する登録手段と、
    を備え、
    前記通信手段が通信可能になった際に、前記登録手段が前記通信手段を介して自身の識別情報を前記管理装置に登録し、
    前記通信手段を介して前記管理装置から前記更新情報を受信する
    ことを特徴とする請求項1または請求項2記載のデータ格納装置。
  5. 前記データ格納手段に格納されているデータPnを新しいデータPkに更新する前に、
    前記更新手段が前記データ格納手段に格納されているデータPnと、
    前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを連結したデータを、前記生成した鍵情報を用いて暗号化し、外部にバックアップする
    ことを特徴とする請求項1または請求項2記載のデータ格納装置。
  6. 第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
    データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、
    から構成される管理サーバであって、
    n番目(n≧1)にリリースされたデータPnを格納するデータ格納装置に対して、
    前記生成情報生成手段が、
    前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、
    前記第1の秘密情報Aに不可逆演算Xをn回行って第1の生成情報X(n,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行って第2の生成情報Y(M−n,B)を生成する
    ことを特徴とする管理サーバ。
  7. 第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
    データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する暗号鍵生成手段と、
    データ格納装置に送信する更新情報を生成する更新情報生成手段と
    から構成される管理サーバであって、
    n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータを格納するデータ格納装置に対して、k番目(M≧k≧1)のリリースとなるデータPkを含む更新情報を生成する場合に、
    前記生成情報生成手段が
    前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、
    前記第1の秘密情報Aに不可逆演算Xをk回行って第1の生成情報X(k,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−k回行って第2の生成情報Y(M−k,B)を生成し、
    前記暗号鍵生成手段が
    前記第1の秘密情報Aに不可逆演算Xをn+j回行ってX(n+j,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−n+i回行ってY(M−n+i,B)を生成し、
    更に、前記生成したX(n+k,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、
    前記更新情報生成手段が
    前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結して、さらに前記鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて暗号化し、
    さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成する
    ことを特徴とする管理サーバ。
  8. 前記暗号鍵生成手段が
    前記生成したX(n+j,A)とY(M−n+i,B)と前記kから鍵情報F(X(n+j,A),Y(M−n+i,B),k)(Fは任意の関数)を生成し、
    前記更新情報生成手段が
    前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結したデータを前記鍵情報F(X(n+j,A),Y(M−n+i,B),k)を用いて暗号化する
    ことを特徴とする請求項7記載の管理サーバ。
  9. n番目(n≧1)にリリースされたデータPnを格納するデータ格納装置に搭載される集積回路であって、
    鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、
    前記データ格納装置に格納されたデータと前記第1の生成情報と第2の生成情報とを更新する更新手段と、
    を備え、
    前記鍵生成情報記憶手段に格納されている
    第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、
    第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、
    n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータが格納されているデータ格納装置を更新対象とするデータPnをデータPk(M≧k≧1)に更新する更新情報を受信した場合に、
    前記鍵生成手段が、
    第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、
    第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、
    更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、
    前記更新手段が、
    前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、
    前記データ格納装置に格納されているデータPnをデータPkに更新し、
    前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する
    ことを特徴とする集積回路。
  10. 前記鍵生成手段が、
    前記生成したX(n+j,A)及びY(M−n+i,B)と前記kとから鍵情報F(X(n+j,A),Y(M−n+i,B),k)(Fは任意の関数)を生成し、
    前記更新手段が、
    前記生成した鍵情報F(X(n+j,A),Y(M−n+i,B),k)を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得する
    ことを特徴とする請求項9記載の集積回路。
  11. さらに、データ通信を行う通信手段と、
    前記データ格納装置の識別情報を管理装置に登録する登録手段と、
    を備え、
    前記通信手段が通信可能になった際に、前記登録手段が前記通信手段を介して前記データ格納装置の識別情報を前記管理装置に登録し、
    前記通信手段を介して前記管理装置から前記更新情報を受信する
    ことを特徴とする請求項9または請求項10記載の集積回路。
  12. 前記データ格納装置に格納されているデータPnを新しいデータPkに更新する前に、
    前記更新手段が前記データ格納装置に格納されているデータPnと、
    前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを連結したデータを、前記生成した鍵情報を用いて暗号化し、外部にバックアップする
    ことを特徴とする請求項9または請求項10記載の集積回路。
  13. リリースの異なるデータをそれぞれ搭載した複数のデータ格納装置と、
    前記データ格納装置に搭載されているデータを更新する管理サーバと
    から構成されるデータ更新システムであって、
    前記データ格納装置は、
    n番目(n≧1)にリリースされたデータPnを格納するデータ格納手段と、
    鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、
    前記データ及び前記第1の生成情報と第2の生成情報とを更新する更新手段と、
    を備え、
    前記鍵生成情報記憶手段に格納されている
    第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、
    第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、
    前記管理サーバは、
    第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
    データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する暗号鍵生成手段と、
    データ格納装置に送信する更新情報を生成する更新情報生成手段と
    を備え、
    n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータを搭載するデータ格納装置の前記データを、k番目(M≧k≧1)のリリースとなるデータPkに更新する場合に、
    前記管理サーバは、
    前記生成情報生成手段が
    前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、
    前記第1の秘密情報Aに不可逆演算Xをk回行って第1の生成情報X(k,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−k回行って第2の生成情報Y(M−k,B)を生成し、
    前記暗号鍵生成手段が
    前記第1の秘密情報Aに不可逆演算Xをn+j回行ってX(n+j,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−n+i回行ってY(M−n+i,B)を生成し、
    更に、前記生成したX(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、
    前記更新情報生成手段が
    前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結して、さらに前記鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて暗号化し、
    さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、
    前記生成した更新情報を前記複数のデータ格納装置に配信し、
    前記更新情報を受信した、データPnを搭載しているデータ格納装置は、
    前記鍵生成手段が、
    第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、
    第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、
    更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))を生成し、
    前記更新手段が、
    前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、
    前記データ格納手段に格納されているデータPnをデータPkに更新し、
    前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する
    ことを特徴とするデータ更新システム。
  14. n番目(n≧1)にリリースされたデータPnを格納するデータ格納装置と、
    前記データ格納装置の機器情報を保持する管理装置と、
    前記データ格納装置に搭載されているデータを更新する管理サーバと
    から構成されるデータ更新システムであって、
    前記データ格納装置は、
    データPnを格納するデータ格納手段と、
    鍵情報を生成するための第1の生成情報と第2の生成情報とを格納する鍵生成情報記憶手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する鍵生成手段と、
    前記データ及び前記第1の生成情報と第2の生成情報とを更新する更新手段と、
    を備え、
    前記鍵生成情報記憶手段に格納されている
    第1の生成情報は、第1の秘密情報Aに不可逆演算Xをn回行ったX(n,A)、
    第2の生成情報は、第2の秘密情報Bに不可逆演算YをM−n回(M−n≧1)行ったY(M−n,B)であり、
    前記管理装置は、
    前記データ格納装置から登録された機器情報を保持する機器情報管理手段と、
    前記データ格納装置が格納するデータを更新するデータ更新手段と
    を備え、
    前記管理サーバは、
    第1の秘密情報Aと第2の秘密情報Bとをデータ格納装置の種類ごとに保持する秘密情報保持手段と、
    データ格納装置に格納する第1の生成情報と第2の生成情報を生成する生成情報生成手段と、
    前記第1の生成情報と第2の生成情報とから鍵情報を生成する暗号鍵生成手段と、
    データ格納装置に送信する更新情報を生成する更新情報生成手段と
    を備え、
    前記データ更新手段は、さらに、
    更新情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合する照合手段と、
    更新情報を保持する保持手段と、
    前記データ格納装置との間で行う前記データ格納装置が格納するデータを更新する処理を制御する更新処理制御手段と
    を備え、
    n−i番目〜n+j番目(M≧n+j≧n≧n−i≧1)にリリースされたデータを搭載するデータ格納装置の前記データを、k番目(M≧k≧1)のリリースとなるデータPkに更新する場合に、
    前記管理サーバは、
    前記生成情報生成手段が
    前記秘密情報保持手段から第1の秘密情報Aと第2の秘密情報Bを読み出し、
    前記第1の秘密情報Aに不可逆演算Xをk回行って第1の生成情報X(k,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−k回行って第2の生成情報Y(M−k,B)を生成し、
    前記暗号鍵生成手段が
    前記第1の秘密情報Aに不可逆演算Xをn+j回行ってX(n+j,A)を生成し、
    前記第2の秘密情報Bに不可逆演算YをM−n+i回行ってY(M−n+i,B)を生成し、
    更に、前記生成したX(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))(Gは任意の関数)を生成し、
    前記更新情報生成手段が
    前記データPkと第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを連結して、さらに前記鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて暗号化し、
    さらに更新情報を受信したデータ格納装置における更新情報の処理を制御する制御情報を連結して更新情報を生成し、
    前記生成した更新情報を前記管理装置に配信し、
    前記更新情報を受信した管理装置は、
    前記照合手段が前記受信した更新情報の前記制御情報に含まれる機器情報と前記機器情報管理手段が保持する機器情報とを照合して、機器情報が一致するデータ格納装置の機器情報が登録されていた場合に、
    前記更新処理制御手段が前記受信した更新情報を前記保持手段に格納し、さらに機器情報が一致したデータ格納装置に対して前記更新情報を送信し、
    前記更新情報を受信したデータ格納装置は、
    前記鍵生成手段が、
    第1の生成情報に不可逆演算Xをj回行ってX(n+j,A)を生成し、
    第2の生成情報に不可逆演算Yをi回行ってY(M−n+i,B)を生成し、
    更に、前記X(n+j,A)とY(M−n+i,B)とから鍵情報G(X(n+j,A),Y(M−n+i,B))を生成し、
    前記更新手段が、
    前記生成した鍵情報G(X(n+j,A),Y(M−n+i,B))を用いて前記更新情報の暗号を復号化して、データPk及び第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とを取得し、
    前記データ格納手段に格納されているデータPnをデータPkに更新し、
    前記鍵生成情報記憶手段に格納されている第1の生成情報X(n,A)と第2の生成情報Y(M−n,B)とを、それぞれ、第1の生成情報X(k,A)と第2の生成情報Y(M−k,B)とに更新する
    ことを特徴とするデータ更新システム。
  15. 現用データを新規データに更新する家電機器において、
    暗号化された前記新規データと、更新対象データのシリアル番号と、を受信する受信部と、
    前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成部と、
    前記新規データを前記鍵で復号化する復号化部と、
    を有する家電機器。
  16. 前記受信部は、
    前記更新対象データのシリアル番号の最大値および最小値を受信し、
    前記生成部は、
    第1および第2の不可逆演算の実行により、第1の秘密情報に前記第1の不可逆演算を前記最大値と同じ回数だけ繰り返し施してなる第1の鍵成分と、第2の秘密情報に前記第2の不可逆演算を所定値から前記最小値を減算して得られる値と同じ回数だけ繰り返し施してなる第2の鍵成分と、を取得する演算部と、
    前記第1および第2の鍵成分を合成して前記鍵を得る合成部と、
    を有する請求項15記載の家電機器。
  17. 前記第1の秘密情報に前記第1の不可逆演算を、前記現用データのシリアル番号と同じ回数だけ繰り返し施してなる第1の固有情報と、前記第2の秘密情報に前記第2の不可逆演算を、前記所定値から前記現用データのシリアル番号を減算して得られる値と同じ回数だけ繰り返し施してなる第2の固有情報と、を記憶する記憶部をさらに有し、
    前記演算部は、
    前記最大値および最小値が受信されると、前記第1の固有情報に前記第1の不可逆演算を、前記最大値から前記現用データのシリアル番号を減算して得られる値と同じ回数だけ繰り返し施すことにより前記第1の鍵成分を取得し、前記第2の固有情報に前記第2の不可逆演算を、前記現用データのシリアル番号から前記最小値を減算して得られる値と同じ回数だけ繰り返し施すことにより前記第2の鍵成分を取得する、
    請求項16記載の家電機器。
  18. 前記第1および第2の鍵成分で前記第1および第2の固有情報を更新する更新部をさらに有する、
    請求項17記載の家電機器。
  19. 現用データから新規データへの更新に用いるデータ更新方法において、
    暗号化された前記新規データと、更新対象データのシリアル番号と、を取得する取得ステップと、
    前記更新対象データのシリアル番号に応じた回数だけ、所定の不可逆演算を、前記現用データに関連付けられた固有情報に施して鍵を生成する生成ステップと、
    前記新規データを前記鍵で復号化する復号化ステップと、
    を有するデータ更新方法。
  20. データの暗号化または復号化に用いる鍵を生成する暗復号鍵生成方法であって、
    前記データに関連付けられた固有情報と前記データのシリアル番号と、を取得する取得ステップと、
    前記データのシリアル番号に応じた回数だけ、所定の不可逆演算を前記固有情報に施して鍵を生成する生成ステップと、
    を有する暗復号鍵生成方法。
  21. データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、
    前記データに関連付けられた第1の秘密情報Aと第2の秘密情報Bとを取得する取得ステップと、
    前記第1の秘密情報Aに不可逆演算Xをn+j回(n≧0、j≧0)行ってX(n+j,A)を生成するステップと、
    前記第2の秘密情報Bに不可逆演算YをM−n+i回(M≧0、i≧0)行ってY(M−n+i,B)を生成するステップと、
    前記X(n+j,A)とY(M−n+i,B)とを含む情報から鍵を合成するステップと、
    を有する暗号鍵生成方法。
  22. データの復号化に用いる鍵を生成する復号鍵生成方法であって、
    前記データに関連付けられた第1の生成情報Caと第2の生成情報Cbとを取得する取得ステップと、
    前記第1の生成情報Caに不可逆演算Xをj回(j≧0)行ってX(j,Ca)を生成するステップと、
    前記第2の生成情報Cbに不可逆演算Yをi回(i≧0)行ってY(i,Cb)を生成するステップと、
    前記X(j,Ca)とY(i,Cb)とを含む情報から鍵を合成するステップと、
    を有する復号鍵生成方法。
  23. データを暗号化する暗号化方法であって、
    前記データに関連付けられた第1の秘密情報Aと第2の秘密情報Bと第3の秘密情報Cと第4の秘密情報Dとを取得する取得ステップと、
    前記第1の秘密情報Aに不可逆演算Xをn+j回(n≧0、j≧0)行ってX(n+j,A)を生成するステップと、
    前記第2の秘密情報Bに不可逆演算YをM−n+i回(M≧0、i≧0)行ってY(M−n+i,B)を生成するステップと、
    前記第3の秘密情報Cに不可逆演算UをN+q回(N≧0、q≧0)行ってU(N+q,C)を生成するステップと、
    前記第4の秘密情報Dに不可逆演算VをM−N+p回(p≧0)行ってV(M−N+p,D)を生成するステップと、
    前記X(n+j,A)とY(M−n+i,B)とを含む情報から鍵を合成するステップと、
    前記U(N+q,C)とV(M−N+p,D)とを含む情報から鍵を合成するステップと、
    暗号鍵Kを生成するステップと、
    前記暗号鍵Kを用いてデータを暗号化するステップと、
    前記X(n+j,A)とY(M−n+i,B)とを含む情報から合成された鍵を用いて前記暗号鍵Kを暗号化するステップと、
    前記U(N+q,C)とV(M−N+p,D)とを含む情報から合成された鍵を用いて前記暗号鍵Kを暗号化するステップと、
    を有する暗号化方法。
  24. データの暗号化に用いる鍵を生成する暗号鍵生成方法であって、
    前記データに関連付けられた第1の秘密情報Aと第2の秘密情報Bと第3の秘密情報Cと第4の秘密情報Dとを取得する取得ステップと、
    前記第1の秘密情報Aに不可逆演算Xをn+j回(n≧0、j≧0)行ってX(n+j,A)を生成するステップと、
    前記第2の秘密情報Bに不可逆演算YをM−n+i回(M≧0、i≧0)行ってY(M−n+i,B)を生成するステップと、
    前記第3の秘密情報Cに不可逆演算Uをs+q回(s≧0、q≧0)行ってU(s+q,C)を生成するステップと、
    前記第4の秘密情報Dに不可逆演算VをM−s+p回(p≧0)行ってV(M−s+p,D)を生成するステップと、
    前記X(n+j,A)とY(M−n+i,B)とU(s+q,C)とV(M−s+p,D)とを含む情報から鍵を合成するステップと、
    を有する暗号鍵生成方法。
  25. データの復号化に用いる鍵を生成する復号鍵生成方法であって、
    前記データに関連付けられた第1の生成情報Caと第2の生成情報Cbと第3の生成情報Ccと第4の生成情報Cdとを取得する取得ステップと、
    前記第1の生成情報Caに不可逆演算Xをj回(j≧0)行ってX(j,Ca)を生成するステップと、
    前記第2の生成情報Cbに不可逆演算Yをi回(i≧0)行ってY(i,Cb)を生成するステップと、
    前記第3の生成情報Ccに不可逆演算Uをq回(q≧0)行ってU(q,Cc)を生成するステップと、
    前記第4の生成情報Cdに不可逆演算Vをp回(p≧0)行ってV(p,Cd)を生成するステップと、
    前記X(j,Ca)とY(i,Cb)とU(q,Cc)とV(p,Cd)とを含む情報から鍵を合成するステップと、
    を有する復号鍵生成方法。
JP2007146869A 2006-06-08 2007-06-01 データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法 Expired - Fee Related JP5090066B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007146869A JP5090066B2 (ja) 2006-06-08 2007-06-01 データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法
US12/303,420 US8155320B2 (en) 2006-06-08 2007-06-05 Data storage device, management server, integrated circuit, data update system, home electric apparatuses, data update method, encryption method, and encryption/decryption key generation method
PCT/JP2007/061383 WO2007142240A1 (ja) 2006-06-08 2007-06-05 データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006160284 2006-06-08
JP2006160284 2006-06-08
JP2007146869A JP5090066B2 (ja) 2006-06-08 2007-06-01 データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法

Publications (2)

Publication Number Publication Date
JP2008017462A true JP2008017462A (ja) 2008-01-24
JP5090066B2 JP5090066B2 (ja) 2012-12-05

Family

ID=38801491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007146869A Expired - Fee Related JP5090066B2 (ja) 2006-06-08 2007-06-01 データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法

Country Status (3)

Country Link
US (1) US8155320B2 (ja)
JP (1) JP5090066B2 (ja)
WO (1) WO2007142240A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018170806A (ja) * 2018-08-09 2018-11-01 Kddi株式会社 通信システム、通信方法、及びプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101445394B1 (ko) * 2008-03-28 2014-09-26 삼성전자주식회사 휴대 방송 시스템에서 단말기의 소프트웨어 업데이트 방법 및 장치
US20090254482A1 (en) * 2008-04-07 2009-10-08 Microsoft Corporation Time-based licenses
KR20110010052A (ko) * 2009-07-14 2011-01-31 삼성전자주식회사 방송 네트워크 및 인터넷 네트워크에 접속 가능한 클라이언트의 어플리케이션을 수신하는 방법 및 장치
EP2312437A1 (en) * 2009-09-30 2011-04-20 Thomson Licensing Detecting client software versions
US8971209B2 (en) * 2009-12-04 2015-03-03 Cradlepoint, Inc. System to configure and manage routers through wireless communication
US8666368B2 (en) * 2010-05-03 2014-03-04 Apple Inc. Wireless network authentication apparatus and methods
US8996002B2 (en) 2010-06-14 2015-03-31 Apple Inc. Apparatus and methods for provisioning subscriber identity data in a wireless network
US8555067B2 (en) 2010-10-28 2013-10-08 Apple Inc. Methods and apparatus for delivering electronic identification components over a wireless network
US9450759B2 (en) 2011-04-05 2016-09-20 Apple Inc. Apparatus and methods for controlling distribution of electronic access clients
US9135020B2 (en) * 2011-09-30 2015-09-15 Ncr Corporation Correlation of resources
KR101917749B1 (ko) * 2011-12-09 2018-11-14 삼성전자주식회사 방송 수신 장치, 서버, 방송 수신 장치의 제어 방법, 및 서버의 제어 방법
CN103248399A (zh) * 2012-02-08 2013-08-14 台达电子工业股份有限公司 电力线通讯方法及电力线通讯系统
US9407434B2 (en) 2013-01-07 2016-08-02 Cisco Technology, Inc. Secrets renewability
EP3806017A1 (en) * 2014-04-09 2021-04-14 Shifman, Orit Methods, platforms and systems for paying persons for use of their personal intelligence profile data
JP2015215727A (ja) * 2014-05-09 2015-12-03 富士通株式会社 ストレージ制御装置およびプログラム
US10089101B2 (en) 2016-05-11 2018-10-02 Haier Us Appliance Solutions, Inc. Updating a software configuration of an appliance

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772793A (ja) * 1993-09-07 1995-03-17 Matsushita Electric Ind Co Ltd 秘密データ配送装置
JP2001320357A (ja) * 2000-05-10 2001-11-16 Nippon Telegr & Teleph Corp <Ntt> データ管理方法および装置とデータ管理プログラムを記録した記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002057904A1 (ja) 2001-01-19 2004-05-27 富士通株式会社 ダウンロード機能を有する制御装置
JP2002290396A (ja) 2001-03-23 2002-10-04 Toshiba Corp 暗号鍵更新システムおよび暗号鍵更新方法
US20060005046A1 (en) * 2004-06-30 2006-01-05 Seagate Technology Llc Secure firmware update procedure for programmable security devices
ATE365938T1 (de) * 2005-01-07 2007-07-15 Ericsson Telefon Ab L M Aktualisierung von speicherinhalt in einem datenverarbeitungssystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772793A (ja) * 1993-09-07 1995-03-17 Matsushita Electric Ind Co Ltd 秘密データ配送装置
JP2001320357A (ja) * 2000-05-10 2001-11-16 Nippon Telegr & Teleph Corp <Ntt> データ管理方法および装置とデータ管理プログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018170806A (ja) * 2018-08-09 2018-11-01 Kddi株式会社 通信システム、通信方法、及びプログラム

Also Published As

Publication number Publication date
US8155320B2 (en) 2012-04-10
US20090172419A1 (en) 2009-07-02
WO2007142240A1 (ja) 2007-12-13
JP5090066B2 (ja) 2012-12-05

Similar Documents

Publication Publication Date Title
JP5090066B2 (ja) データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法
CN100380274C (zh) 用于对上下文加密密钥进行备份和恢复的方法和系统
CN101667240B (zh) 智能卡及其写卡方法、设备和系统
US8712041B2 (en) Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
CN101019427B (zh) 提供对数字内容授权访问的系统和方法
EP2827266B1 (en) Information distribution system, and server, on-board terminal and communication terminal used therefor
CN1960363B (zh) 一种利用网络实现信息安全设备远程更新的方法
US20150222426A1 (en) Method and System for Transferring Firmware or Software to a Plurality of Devices
EP1204054A2 (en) Contents delivery method, and server, terminal and computer program therefor
CN101571900A (zh) 一种软件版权保护方法、设备和系统
CN103138932B (zh) 一种Mifare卡扇区密钥的配置方法及系统
CN103403729A (zh) 唯一代码签名密钥的安全管理和个性化
CN112311528A (zh) 一种基于国密算法的数据安全传输方法
US20080279385A1 (en) Method and host device for using content using mobile card, and mobile card
JP4884509B2 (ja) コンテンツ管理サーバ、コンテンツ管理システム、およびコンテンツ管理方法
CN102831357B (zh) 二次开发嵌入式应用程序的加密和认证保护的方法及系统
JP2010212805A (ja) 決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム
JP6350548B2 (ja) 受信装置及び受信方法
US9571275B1 (en) Single use identifier values for network accessible devices
CN111290884A (zh) 收银设备的数据备份方法及装置
JP2003158513A (ja) Icカード、その書き込み方法及び書き込み装置並びにicカードシステム
JP4868322B2 (ja) 情報処理システム、及び情報処理方法
CN101467385A (zh) 数据存储装置、管理服务器、集成电路、数据更新系统、家电设备、数据更新方法、解密方法、以及加密/解密密钥生成方法
CN1716850B (zh) 对机顶盒芯片进行安全验证的方法和系统
JP2015228570A (ja) 認証システム、及び携帯通信端末

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120912

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5090066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees