JP4755772B2 - Program data remote update system for terminal equipment - Google Patents

Program data remote update system for terminal equipment Download PDF

Info

Publication number
JP4755772B2
JP4755772B2 JP2001121859A JP2001121859A JP4755772B2 JP 4755772 B2 JP4755772 B2 JP 4755772B2 JP 2001121859 A JP2001121859 A JP 2001121859A JP 2001121859 A JP2001121859 A JP 2001121859A JP 4755772 B2 JP4755772 B2 JP 4755772B2
Authority
JP
Japan
Prior art keywords
data
processing unit
program
terminal device
volatile memory
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.)
Expired - Lifetime
Application number
JP2001121859A
Other languages
Japanese (ja)
Other versions
JP2002318632A (en
Inventor
真 椿
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.)
Tempearl Industrial Co Ltd
Original Assignee
Tempearl 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 Tempearl Industrial Co Ltd filed Critical Tempearl Industrial Co Ltd
Priority to JP2001121859A priority Critical patent/JP4755772B2/en
Publication of JP2002318632A publication Critical patent/JP2002318632A/en
Application granted granted Critical
Publication of JP4755772B2 publication Critical patent/JP4755772B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、データセンターと多数の端末装置とを通信回線設備を介し、接続してサービスを行うシステムにおいて、センターから端末装置のプログラムデータを遠隔変更する方法に関するものである。
【0002】
【従来の技術】
上記システムにおいて、ソフトウエアのバージョンアップにより、端末装置の例えば表示器に従来できなかった表示も可能にするなど、既設の端末装置の機能を変更することが行なわれている。従来の機能遠隔変更方法は、機能変更しようとする端末装置、つまり通信相手を特定するためにその端末装置のID番号のようなものだけを用いていた。例えば、データセンターと端末装置を中継する通信回線設備として一般公衆電話網を使用する場合は、端末装置のID番号としてそれぞれの電話番号を用いていた。また、センター装置と端末装置を中継する通信回線設備として閉域回線(LAN)を使用する場合はそれぞれのIPアドレスを用いていた。システムによっては更に高位レイヤのプロトコルにおいて互いのIDを確認するものもあるが、ID番号のようなものを用いていることに変わりはない。一方、従来の機能変更方法の多くは、このような相手確認面の不安やシステムの複雑化を避け、直接、端末装置の置かれている場所に作業者が出向いてその端末装置をアクセスして変更する方法であって遠隔で行うことはなかった。
【0003】
【発明が解決しようとする課題】
しかしながら端末装置の数が多くなるに従い、直接、端末装置の置かれる場所に出向いてアクセスする方法は、運用コストや機能変更に要する時間の面で不利になる。また、ID番号のようなものだけで通信相手を特定する機能遠隔変更方法では、セキュリティ処理や料金処理関連機能の変更などを実施するには信頼性、安全性が十分でない。
【0004】
一方、信頼性、安全性を保ちながら、遠隔の通信相手とデータをやりとりする技術として、例えば“電子通信学会編現代暗号理論”や“辻井、笠原編暗号と情報セキュリティ”などに示されるように、DESやFEALなどの秘密鍵暗号方式や、それらを応用した相手認証法、鍵配送法が存在する。また、RSAなどの公開鍵暗号方式やそれらを応用したディジタル署名法、鍵配送法が存在する。
【0005】
この発明は、データセンターから端末装置の機能を遠隔変更する方法において、前記のような暗号技術を採り入れた信頼性の高い相手認証方法を組み入れることにより、信頼性を保ちつつ、運用コストを押さえ、迅速で柔軟な機能変更を実現することを目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するために、請求項1の発明では、データセンターから通信回線を介して多数の端末装置で動作している複数のプログラム及びデータを更新するプログラムデータ遠隔更新システムにおいて、端末装置内には、通信処理部と、中央処理装置と、更新処理部と、揮発性メモリーと、前記複数のプログラム及びデータを格納する不揮発性メモリーと、更新するプログラム及びデータを退避させる第2の不揮発性メモリーを含み、データセンターには、端末装置の遠隔制御部と、更新用のプログラム及びデータを格納する外部記憶装置を含み、データセンターから端末装置に対して前記複数のプログラム及びデータを更新するにあたり、データセンターと通信処理部の間で秘密鍵対称暗号又は公開鍵非対称暗号技術を用いて相互認証を行ない、お互いに正当性を確認した場合に、前記遠隔制御部は、機能更新しようとする端末装置の新版のプログラムのプログラムファイル名と版数を外部記憶装置から読み出し、そのうちのプログラムファイル名を暗号化し、その暗号化したデータを端末装置に送信し、端末装置における通信処理部は、前記暗号化したデータを受信すると、その暗号化データを復号化して得られたプログラムファイル名を更新処理部に送信し、更新処理部は、受信したプログラムファイル名と一致する不揮発性メモリーに書きこまれたプログラムのプログラムファイル名の版数を読み出し、通信処理部に送信し、通信処理部は、受信した版数を暗号化してデータセンターに送信し、前記遠隔制御部は、暗号化したデータを受信して、暗号化データを復号化して版数を得て、新版のプログラムのプログラムファイル名の版数と比較し、受信した版数の方が小さい場合に、データセンターは新版プログラム及びデータを暗号化した信号を送信し、通信処理部はその信号を受信して復号化し、前記新版プログラム及びデータを揮発性メモリーに書きこんだ後、更新処理部に更新信号を送信し、更新処理部は、前記更新信号をうけて旧版プログラム及びデータを第2の不揮発性メモリーに退避し、中央処理装置が待機状態になるのを見計らって、新版プログラム及びデータの書きこまれた揮発性メモリーの内容を中央処理装置の実行プログラムが書きこまれている不揮発性メモリーに書きこみ、新版のプログラムで中央処理装置を動作させ、新版のプログラムで中央処理装置を動作させることに失敗したとき、不揮発性メモリーの内容を旧版プログラム及びデータの書きこまれている第2の不揮発性メモリーの内容に書き換えて旧版プログラムで中央処理装置を動作させることを特徴とする端末装置のプログラムデータ遠隔更新システムを提供する。
【0007】
削除
【0008】
削除
【0009】
削除
【0010】
【作用】
請求項1に述べた手段により、データセンターと端末装置のなりすましや、新版のプログラム及びデータの内容を不正に読み取られることを防ぎながら、新版プログラム及びデータによって予期できないプログラムエラーが発生した場合でも、自動的に更新前の状態へ戻すことができ、これによって信頼性が向上する。
【0011】
削除
【0012】
削除
【0013】
また、データセンターは端末装置からの更新するプログラム及びデータの版数の情報を得ることによって、端末装置で動作しているプログラムを必要以上に更新することを防ぐことができる。
【0014】
【発明の実施の形態】
以下、本発明について図面を用いて詳細に説明する。
【0015】
図1に本件発明請求項1の実施例を示す。図1は請求項1の実施例のブロック図である。まず、プログラム遠隔更新システムではデータセンター1と端末装置3とが通信回線2を介して接続されている。通信回線2は一般公衆電話網であっても良いし、閉域回線(LAN)やインターネット回線、またその混合であっても良い。
【0016】
データセンター1は遠隔制御部10、保守センター11、外部記憶装置12で構成される。遠隔制御部10は端末装置3の遠隔制御、保守センター11はシステムの制御・運用監視を行ない、外部記憶装置12は不揮発性データを格納する媒体であり、更新用の新版のプログラム及びデータを格納している。
【0017】
端末装置3は、通信処理部4と中央処理装置9と、更新処理部5と、揮発性メモリー6と、不揮発性メモリー7、第2の不揮発性メモリー8から構成される。通信処理部4は遠隔制御部10との間でプログラム及びデータの交換を行う。中央処理装置9は端末装置3の全体の処理を行う部分で、例えば外部への画像表示や、通信処理部4を介してデータセンター1以外のWEBサイトやASP間等とデータ交換などを行うが、これら全体の処理は不揮発性メモリー8に書きこまれているプログラムで行われている。揮発性メモリー6には、通信処理部4が受信して新版のプログラム及びデータに復号化したものを一時的に書きこまれる。
【0018】
まず、新版のプログラム及びデータへの更新の手順を説明する。データセンター1の保守センター11は遠隔制御部10に対し、端末装置3のプログラム及びデータを外部記憶装置12に書きこまれている新版のプログラム及びデータに更新するように指示すると、遠隔制御部10は、端末装置3の通信処理部4との間で、秘密鍵対称暗号又は公開鍵非対称暗号技術を用いて相互認証する。
【0019】
ここでは、秘密鍵暗号方式を用いた相互認証の手順の1例について図2のフローを用いて説明する。データセンター1と端末装置3は事前に秘密鍵を共有している。まずデータセンター1の遠隔制御部10は乱数データを生成し(S1)、その乱数データを含むデータを通信相手の端末装置3の更新処理部5に送信する(S2)。これを端末装置3の通信処理部4は受信し(S3)、乱数データを生成し(S4)、データセンター識別子を不揮発性メモリー7から読み出し(S5)、生成した乱数データと受信した乱数データとデータセンター識別子とを含むデータを暗号化する(S6)。つぎに、該暗号化データを含むデータを、通信相手のデータセンター1の遠隔制御部10に送信する(S7)。これをデータセンター1の遠隔制御部10は受信し(S7)、受信データの暗号化部分を復号化し(S9)、端末装置3の通信処理部4が受信したとしている乱数データと以前に端末装置3の通信処理部4に送信した乱数データとを照合し(S10)、更に、端末装置3の通信処理部4が発信したデータセンター識別子を自装置識別子と照合する(S11)。以上のステップS10、S11がOKなら、データセンター1の遠隔制御部10は、通信相手の端末装置3を正当な端末と認識する(S12)。
【0020】
つぎに、データセンター1の遠隔制御部10は、以前に端末装置3の通信処理部4に送信した乱数データと端末装置3の通信処理部4が発生した受信乱数データとを含むデータを暗号化し(S13)、その暗号化データを含むデータを、通信相手の端末装置3の通信処理部4に送信する(S14)。これを端末装置3の通信処理部は受信し(S15)、受信データの暗号化部分を復号化し(S16)、そこに含まれる2種の乱数データを抽出し(S17)、これら乱数データがそれぞれ、最初にセンター装置1から受信したデータならびに自装置3で発生してセンター装置1に送信したデータに合致するかどうかを確認する(S18)。この確認がOKなら、端末装置3は、通信相手のデータセンター1を正当センターと認識する(S19)。以上が相互認証手順の1例である。また、データの再利用抑止のために、送信データに時間情報やシーケンス番号を含める手順例もある。なお、以上で説明した相互認証で、データセンター1と端末装置2がどちらか一方でも正当性を認証できなかった場合、プログラムの遠隔更新作業を終了する。
【0021】
次にデータセンター1と端末装置2がお互いに正当であると認証すると、遠隔制御部10は、機能更新しようとする端末装置3の機能を実現する新版のプログラム及びデータを暗号化し、その暗号化データを含むプログラム及びデータを端末装置3に送信する。これを通信処理部4は受信して、その暗号化データを復号し、新版のプログラム及びデータを揮発性メモリー6に書込む。
【0022】
通信処理部4はプログラムおよびデータの受信を終了すると更新信号を送信する。更新処理部5はこの更新信号を受けて不揮発性メモリー7の旧版プログラム及びデータを第2の不揮発性メモリー8に退避する。
【0023】
更新処理部5は、中央処理装置9が待機状態になるのを見計らって、中央処理装置9の動作を停止させる。更新処理部5は新版プログラム及びデータの格納された揮発性メモリーの内容を中央処理装置9の実行プログラムが格納されている不揮発性メモリー8に書きこみ、中央処理装置9を再立ち上げさせる。また、新版のプログラムで中央処理装置を動作させることに失敗したとき、不揮発性メモリーの内容を旧版プログラム及びデータの書きこまれている第2の不揮発性メモリーの内容に書き換えて旧版プログラムで中央処理装置を再動作させる。
【0024】
ここでは新版のプログラムで中央処理装置9を再動作させた後の処理について説明する。中央処理装置が正常に動作しているかどうかを確認する方法としてウオッチ・ドッグ・タイマーを用いる方法がある。ここでは、このウオッチ・ドッグ・タイマーを用いた中央処理装置の動作状態の確認方法について図3を用いて説明する。この図は、請求項1の端末装置3の構成にウオッチ・ドッグ・タイマー13を加えたものである。ウオッチ・ドッグ・タイマーは、内部に加算タイマーを持っており、外部からWDTリセット信号を受けるとタイマーのカウントの加算を0から開始し、カウント値がT秒に達すると中央処理装置リセット信号を出力して停止するようなものである。
【0025】
まず、中央処理装置9はプログラム処理によって、T1秒の間隔でWDTリセット信号を出力させるように設定されている。更新処理部5は中央処理装置9を再立ち上げさせ、中央処理装置が動作開始する時間が経過したのちにウオッチ・ドッグ・タイマー13にWDTリセット信号を出力し、その後T秒間、ウオッチ・ドッグ・タイマー13の中央処理装置リセット信号を監視する。ウオッチ・ドッグ・タイマー13はWDTリセット信号を受けて、タイマーのカウントの加算を開始する。中央処理装置9が正常に動作している場合、ウオッチ・ドッグ・タイマー13はカウント値がT秒に達する前に中央処理装置9からWDTリセット信号をうけるため中央処理装置リセット信号を出力しない。また、中央処理装置9が正常に動作していない場合、ウオッチ・ドッグ・タイマー13は、カウント値がT秒に達しても中央処理装置9からWDTリセット信号をうけないため中央処理装置リセット信号を出力する。
【0026】
更新処理部5は、ウオッチ・ドッグ・タイマー13にWDTリセット信号を出力した後のT秒間に、ウオッチ・ドッグ・タイマー13から中央処理装置リセット信号が出力され無かった場合、正常と判断して更新処理を終了し、また、中央処理装置リセット信号が出力された場合、中央処理装置9が再動作に失敗したと判断する。
【0027】
更新処理部5は、中央処理装置9の再動作に失敗したと判断した場合、不揮発性メモリーの内容を旧版プログラム及びデータの書きこまれている第2の不揮発性メモリー8の内容に書き換えを行い、旧版プログラムで中央処理装置を再動作させる。
【0028】
次に図1の実施例を用いて他の例の説明を行なう。データセンター1と端末装置3の間の認証が確認された後の更新処理部5の様態である。
【0029】
まず、遠隔制御部10は、機能更新しようとする端末装置3の機能を実現する新版のプログラム及びデータを暗号化し、その暗号化データを含むプログラム及びデータを端末装置3に送信する。通信処理部4は、これを受信後、暗号化データを復号化して、新版のプログラム及びデータを揮発性メモリー6に書込む。
【0030】
通信処理部4は新版のプログラム及びデータの受信が全て終了すると更新信号を出力し、更新処理部5は、この更新信号を受けて旧版のプログラムを第2の不揮発性メモリーに退避する。
【0031】
ここでは、更新処理部5の旧版プログラムを退避させる方法について説明する。まず、更新処理部5は、揮発性メモリー6に書きこまれた新版のプログラム及びデータのうち、データに含まれる新版のプログラムのファイル名、プログラム容量、プログラム開始アドレス情報に基づいて、該当する不揮発性メモリー7の旧版のプログラムを第2の不揮発性メモリー8に退避させる。次に不揮発性メモリー7のプログラムを消去して該当する揮発性メモリー6のプログラムを書きこむ。
【0032】
なお、不揮発性メモリー7、第2の不揮発性メモリー8にはフラッシュメモリを用いることができる。フラッシュメモリを用いる場合、その特性上メモリーをブロック毎に消去しなければプログラムの書きこみが行えないが、請求項2の方法を用いると、新版のプログラムのアドレス情報とプログラム容量をフラッシュメモリのブロックのアドレスと、ブロックのメモリー容量に一致させておけば、フラッシュメモリのブロック毎にプログラムの更新が実現できる。この時、更新用の第2の不揮発性メモリー8のメモリー容量は、不揮発性メモリー7の1ブロック分の大きさ分ほど搭載すればよい。この後、新版のプログラムで中央処理装置9を再立ち上げさせるが、この部分については、請求項1の実施例で説明しているので説明は省略する。
【0033】
次に図1の実施例を用いて他の例の説明を行なう。データセンター1と端末装置3の間の認証が確認された後の、データセンター1の様態である。
【0034】
データセンター1と端末装置3の間の認証が確認された後、遠隔制御部10は、機能更新しようとする端末装置3の機能を実現する新版のプログラム及びデータを暗号化し、その暗号化データを含むプログラム及びデータを端末装置3に分割して送信する。これを通信処理部4は受信して、その暗号化データを復号化し、新版のプログラム及びデータを揮発性メモリー6に書込む。通信処理部4は新版のプログラム及びデータの受信が全て終了すると更新信号を出力し、前記データセンターは、前記新版プログラム及びデータを時分割して前記端末装置に送信するものである。なお、分割後のデータ容量は、中央処理装置9からの通信処理部のタスク処理に影響がない程度の大きさにする。
【0035】
次に図1の実施例を用いてデータセンター1と端末装置3の間の認証が確認された後の更新処理部5の実施様態について説明を行う。
【0036】
まず、遠隔制御部10は、機能更新しようとする端末装置3の新版のプログラムのプログラムファイル名と版数を外部記憶装置12から読み出し、そのうちのプログラムファイル名を暗号化し、その暗号化したデータを端末装置3に送信する。通信処理部4はこの暗号化したデータを受信して、その暗号化データを復号化して得られたプログラムファイル名を、更新処理部5に送信する。
【0037】
更新処理部5は、受信したプログラムファイル名と一致する不揮発性メモリー7に書きこまれたプログラムのプログラムファイル名の版数を読み出し、通信処理部4に送信する。
【0038】
通信処理部4は、受信した版数を暗号化してデータセンター3に送信する。遠隔制御部10はこの暗号化したデータを受信して、その暗号化データを復号化して版数を得て、新版のプログラムのプログラムファイル名の版数と比較する。新版のプログラムファイル名と版数のうち、受信した版数の方が小さければ、新版プログラム及びデータの遠隔更新をおこなう。また、新版のプログラムファイル名と版数のうち、受信した版数の方が大きければ更新処理を行わない。なお、これ以降の遠隔更新作業については、請求項1〜3の実施例と同じなので省略する。
【0039】
【発明の効果】
請求項1に述べた手段により、データセンターと端末装置のなりすましや、新版のプログラム及びデータの内容を不正に読み取られることを防ぎながら、新版プログラム及びデータによって予期できないプログラムエラーが発生した場合でも、自動的に更新前の状態へ戻すことができ、これによって信頼性が向上する。
【0040】
削除
【0041】
削除
【0042】
また、データセンターは、端末装置の更新するプログラム及びデータの版数の情報を得ることによって、端末装置で動作しているプログラムを必要以上に更新することを防ぐことができる。
【図面の簡単な説明】
【図1】実施例の説明の図
【図2】相互認証のフロー図
【図3】中央処理装置が正常に作動しているかどうかを検証する方法を説明した図
【符号の説明】
1 データセンター
2 通信回線設備
3 端末装置
4 通信処理部
5 更新処理部
6 揮発性メモリー
7 不揮発性メモリー
8 第2の不揮発性メモリー
9 中央処理装置
10 遠隔制御部
11 保守センター
12 外部記憶装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for remotely changing program data of a terminal device from the center in a system that provides services by connecting a data center and a large number of terminal devices via a communication line facility.
[0002]
[Prior art]
In the above system, the function of an existing terminal device is changed by upgrading the software so that, for example, a display that has not been possible on a terminal device can be displayed. In the conventional function remote change method, only the terminal device whose function is to be changed, that is, the ID number of the terminal device is used to specify the communication partner. For example, when a general public telephone network is used as a communication line facility that relays between a data center and a terminal device, each telephone number is used as the ID number of the terminal device. In addition, when a closed line (LAN) is used as a communication line facility for relaying between the center device and the terminal device, each IP address is used. Some systems confirm each other's ID in a higher layer protocol, but there is no change in using something like an ID number. On the other hand, many of the conventional function changing methods avoid such anxiety of the other party confirmation side and complexity of the system, and an operator visits the terminal device directly and accesses the terminal device. It was a way to change and not remotely.
[0003]
[Problems to be solved by the invention]
However, as the number of terminal devices increases, the method of directly visiting and accessing the place where the terminal device is placed becomes disadvantageous in terms of operation cost and time required for function change. In addition, in the function remote change method that specifies the communication partner only with an ID number or the like, the reliability and safety are not sufficient for changing the security processing and the charge processing related function.
[0004]
On the other hand, technologies that exchange data with remote communication partners while maintaining reliability and safety are shown in, for example, “Modern cryptography edited by the Institute of Electronics and Communication Engineers” and “Science and Kasahara”. There are secret key cryptosystems such as DES and FEAL, and other party authentication methods and key distribution methods applying them. There are also public key cryptosystems such as RSA, digital signature methods and key distribution methods applying them.
[0005]
This invention, in the method of remotely changing the function of the terminal device from the data center, by incorporating a highly reliable partner authentication method adopting the encryption technology as described above, while maintaining the reliability, suppress the operation cost, The purpose is to realize quick and flexible function change.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, in a program data remote update system for updating a plurality of programs and data operating in a large number of terminal devices from a data center via communication lines, the terminal device The communication processing unit, the central processing unit, the update processing unit, the volatile memory, the non-volatile memory for storing the plurality of programs and data, and the second non-volatile for saving the program and data to be updated The data center includes a remote control unit of the terminal device and an external storage device for storing the update program and data, and updates the plurality of programs and data from the data center to the terminal device. In such cases, mutual recognition between the data center and the communication processing unit using secret key symmetric encryption or public key asymmetric encryption technology The performed, when confirming the legitimacy of each other, the remote control unit reads a program file name and the version number of the program of the new plate of the terminal device to be functional updates from the external storage device, a program file name of which Encrypt and transmit the encrypted data to the terminal device, and when the communication processing unit in the terminal device receives the encrypted data, the update processing unit updates the program file name obtained by decrypting the encrypted data The update processing unit reads the version number of the program file name of the program written in the non-volatile memory that matches the received program file name, transmits it to the communication processing unit, and the communication processing unit receives The version number is encrypted and transmitted to the data center. The remote control unit receives the encrypted data and decrypts the encrypted data. To obtain the version number and, compared to the version number of the program file name of the new edition of the program, in the case towards the number plate received is small, data centers, a new version program and data and sends the encrypted signal, The communication processing unit receives and decodes the signal, writes the new version program and data into the volatile memory, and then transmits an update signal to the update processing unit. The update processing unit receives the update signal and receives the old version. The program and data are saved in the second non-volatile memory, and the execution of the central processing unit writes the contents of the volatile memory in which the new version program and data are written, in anticipation of the central processing unit becoming standby. Failed to operate the central processing unit with the new version of the program, and to write the data into the non-volatile memory. Program data remote of the terminal device, wherein the contents of the non-volatile memory are rewritten to the contents of the second non-volatile memory in which the old version program and data are written and the central processing unit is operated by the old version program Provide an update system.
[0007]
Delete [0008]
Delete [0009]
Delete [0010]
[Action]
Even if an unexpected program error occurs due to the new version program and data while preventing impersonation of the data center and the terminal device and illegally reading the contents of the new version program and data by the means described in claim 1, It is possible to automatically return to the state before the update, thereby improving the reliability.
[0011]
Delete [0012]
Delete [0013]
Further, data centers by obtaining the version information of the update program and data from the terminal device, it is possible to prevent the updating more than necessary programs running on the terminal device.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings.
[0015]
FIG. 1 shows an embodiment of claim 1 of the present invention. FIG. 1 is a block diagram of an embodiment of claim 1. First, in the program remote update system, a data center 1 and a terminal device 3 are connected via a communication line 2. The communication line 2 may be a general public telephone network, a closed line (LAN), an Internet line, or a mixture thereof.
[0016]
The data center 1 includes a remote control unit 10, a maintenance center 11, and an external storage device 12. The remote control unit 10 performs remote control of the terminal device 3, the maintenance center 11 performs system control and operation monitoring, and the external storage device 12 is a medium for storing nonvolatile data, and stores a new version program and data for update. is doing.
[0017]
The terminal device 3 includes a communication processing unit 4, a central processing unit 9, an update processing unit 5, a volatile memory 6, a nonvolatile memory 7, and a second nonvolatile memory 8. The communication processing unit 4 exchanges programs and data with the remote control unit 10. The central processing unit 9 is a part that performs the entire processing of the terminal device 3. For example, the central processing unit 9 displays images externally and exchanges data with a WEB site other than the data center 1 or between ASPs via the communication processing unit 4. These entire processes are performed by a program written in the nonvolatile memory 8. The volatile memory 6 is temporarily written with a new version of the program and data received by the communication processing unit 4 and decrypted.
[0018]
First, a procedure for updating to a new version of the program and data will be described. When the maintenance center 11 of the data center 1 instructs the remote control unit 10 to update the program and data of the terminal device 3 to the new version of the program and data written in the external storage device 12, the remote control unit 10 Performs mutual authentication with the communication processing unit 4 of the terminal device 3 using secret key symmetric encryption or public key asymmetric encryption technology.
[0019]
Here, an example of the mutual authentication procedure using the secret key cryptosystem will be described with reference to the flow of FIG. The data center 1 and the terminal device 3 share a secret key in advance. First, the remote control unit 10 of the data center 1 generates random number data (S1), and transmits data including the random number data to the update processing unit 5 of the terminal device 3 of the communication partner (S2). The communication processing unit 4 of the terminal device 3 receives this (S3), generates random number data (S4), reads the data center identifier from the nonvolatile memory 7 (S5), generates the generated random number data, the received random number data, and Data including the data center identifier is encrypted (S6). Next, the data including the encrypted data is transmitted to the remote control unit 10 of the communication partner data center 1 (S7). The remote control unit 10 of the data center 1 receives this (S7), decrypts the encrypted portion of the received data (S9), and the random number data that the communication processing unit 4 of the terminal device 3 has received and the terminal device previously 3 is collated with the random number data transmitted to the communication processing unit 4 (S10), and the data center identifier transmitted by the communication processing unit 4 of the terminal device 3 is collated with its own device identifier (S11). If the above steps S10 and S11 are OK, the remote control unit 10 of the data center 1 recognizes the communication partner terminal device 3 as a valid terminal (S12).
[0020]
Next, the remote control unit 10 of the data center 1 encrypts data including the random number data previously transmitted to the communication processing unit 4 of the terminal device 3 and the received random number data generated by the communication processing unit 4 of the terminal device 3. (S13), data including the encrypted data is transmitted to the communication processing unit 4 of the terminal device 3 of the communication partner (S14). The communication processing unit of the terminal device 3 receives this (S15), decrypts the encrypted portion of the received data (S16), extracts two types of random data included therein (S17), First, it is confirmed whether or not the data received from the center apparatus 1 and the data generated in the own apparatus 3 and transmitted to the center apparatus 1 are matched (S18). If this confirmation is OK, the terminal device 3 recognizes the data center 1 of the communication partner as a valid center (S19). The above is one example of the mutual authentication procedure. In addition, there is a procedure example in which time information and a sequence number are included in transmission data in order to suppress data reuse. In addition, when the data center 1 and the terminal device 2 cannot authenticate either one by the mutual authentication described above, the remote update operation of the program is terminated.
[0021]
Next, when the data center 1 and the terminal device 2 authenticate each other, the remote control unit 10 encrypts a new version of the program and data for realizing the function of the terminal device 3 whose function is to be updated, and the encryption A program including data and data are transmitted to the terminal device 3. The communication processing unit 4 receives this, decrypts the encrypted data, and writes the new version of the program and data into the volatile memory 6.
[0022]
When the communication processing unit 4 finishes receiving the program and data, it transmits an update signal. In response to this update signal, the update processing unit 5 saves the old version program and data in the nonvolatile memory 7 to the second nonvolatile memory 8.
[0023]
The update processing unit 5 stops the operation of the central processing unit 9 in anticipation of the central processing unit 9 entering a standby state. The update processing unit 5 writes the contents of the volatile memory in which the new version program and data are stored in the nonvolatile memory 8 in which the execution program of the central processing unit 9 is stored, and restarts the central processing unit 9. In addition, when it fails to operate the central processing unit with the new version of the program, the contents of the non-volatile memory are overwritten with the contents of the old version program and the second non-volatile memory in which data is written, and the central processing is performed with the old version program. Restart the device.
[0024]
Here, the processing after the central processing unit 9 is reactivated with the new version of the program will be described. As a method for confirming whether the central processing unit is operating normally, there is a method using a watch dog timer. Here, a method for confirming the operation state of the central processing unit using the watch dog timer will be described with reference to FIG. In this figure, a watch dog timer 13 is added to the configuration of the terminal device 3 of claim 1. The watchdog timer has an internal timer. When a WDT reset signal is received from the outside, the timer count starts counting from 0. When the count value reaches T seconds, a central processing unit reset signal is output. It's like stopping.
[0025]
First, the central processing unit 9 is set to output a WDT reset signal at intervals of T1 seconds by program processing. The update processing unit 5 restarts the central processing unit 9, outputs a WDT reset signal to the watch dog timer 13 after the time for the central processing unit to start operation, and then watches the watch dog for T seconds. The central processing unit reset signal of the timer 13 is monitored. Upon receiving the WDT reset signal, the watch dog timer 13 starts adding the timer count. When the central processing unit 9 is operating normally, the watch dog timer 13 receives a WDT reset signal from the central processing unit 9 before the count value reaches T seconds, and therefore does not output a central processing unit reset signal. If the central processing unit 9 is not operating normally, the watch dog timer 13 does not receive a WDT reset signal from the central processing unit 9 even if the count value reaches T seconds, and therefore outputs a central processing unit reset signal. Output.
[0026]
The update processing unit 5 determines that the central processing unit reset signal is not output from the watch dog timer 13 for T seconds after the WDT reset signal is output to the watch dog timer 13, and updates it. When the processing is terminated and the central processing unit reset signal is output, it is determined that the central processing unit 9 has failed in the re-operation.
[0027]
When the update processing unit 5 determines that the re-operation of the central processing unit 9 has failed, the update processing unit 5 rewrites the contents of the nonvolatile memory with the contents of the second nonvolatile memory 8 in which the old version program and data are written. Then, restart the central processing unit with the old version program.
[0028]
Next, another example will be described using the embodiment of FIG. This is a state of the update processing unit 5 after the authentication between the data center 1 and the terminal device 3 is confirmed.
[0029]
First, the remote control unit 10 encrypts a new version of the program and data that realizes the function of the terminal device 3 whose function is to be updated, and transmits the program and data including the encrypted data to the terminal device 3. After receiving this, the communication processing unit 4 decrypts the encrypted data and writes the new version of the program and data into the volatile memory 6.
[0030]
The communication processing unit 4 outputs an update signal when the reception of the new version of the program and data is completed, and the update processing unit 5 receives the update signal and saves the old version of the program in the second nonvolatile memory.
[0031]
Here, a method for saving the old version program of the update processing unit 5 will be described. First, the update processing unit 5 selects a corresponding non-volatile memory based on the file name, program capacity, and program start address information of the new version of the program and data written in the volatile memory 6. The old version of the program in the volatile memory 7 is saved in the second nonvolatile memory 8. Next, the program in the nonvolatile memory 7 is erased, and the program in the corresponding volatile memory 6 is written.
[0032]
A flash memory can be used for the nonvolatile memory 7 and the second nonvolatile memory 8. When a flash memory is used, the program cannot be written unless the memory is erased block by block. However, when the method of claim 2 is used, the address information and program capacity of the new version of the program are stored in the flash memory block. If the address is matched with the memory capacity of the block, the program can be updated for each block of the flash memory. At this time, the memory capacity of the second nonvolatile memory 8 for update may be mounted as much as one block of the nonvolatile memory 7. Thereafter, the central processing unit 9 is restarted by a new version of the program, but since this portion has been described in the embodiment of claim 1, the description thereof will be omitted.
[0033]
Next, another example will be described using the embodiment of FIG. This is a state of the data center 1 after the authentication between the data center 1 and the terminal device 3 is confirmed.
[0034]
After the authentication between the data center 1 and the terminal device 3 is confirmed, the remote control unit 10 encrypts a new version of the program and data that realizes the function of the terminal device 3 to be updated, and stores the encrypted data. The included program and data are divided and transmitted to the terminal device 3. The communication processing unit 4 receives this, decrypts the encrypted data, and writes the new version of the program and data into the volatile memory 6. The communication processing unit 4 outputs an update signal when the reception of the new version of the program and data is completed, and the data center transmits the new version of the program and data to the terminal device in a time-sharing manner. Note that the divided data capacity is set to a size that does not affect the task processing of the communication processing unit from the central processing unit 9.
[0035]
Next, an embodiment of the update processing unit 5 after the authentication between the data center 1 and the terminal device 3 is confirmed will be described using the embodiment of FIG.
[0036]
First, the remote control unit 10 reads the program file name and version number of the new version of the terminal device 3 whose function is to be updated from the external storage device 12, encrypts the program file name, and stores the encrypted data. It transmits to the terminal device 3. The communication processing unit 4 receives this encrypted data, and transmits the program file name obtained by decrypting the encrypted data to the update processing unit 5.
[0037]
The update processing unit 5 reads the version number of the program file name of the program written in the nonvolatile memory 7 that matches the received program file name, and transmits it to the communication processing unit 4.
[0038]
The communication processing unit 4 encrypts the received version number and transmits it to the data center 3. The remote control unit 10 receives this encrypted data, decrypts the encrypted data, obtains the version number, and compares it with the version number of the program file name of the new version program. If the received version number is smaller among the program file name and version number of the new version, the new version program and data are remotely updated. Also, if the received version number is greater than the new version program file name and version number, the update process is not performed. The subsequent remote update operations are the same as those in the first to third embodiments, and are therefore omitted.
[0039]
【The invention's effect】
Even if an unexpected program error occurs due to the new version program and data while preventing impersonation of the data center and the terminal device and illegally reading the contents of the new version program and data by the means described in claim 1, It is possible to automatically return to the state before the update, thereby improving the reliability.
[0040]
Delete [0041]
Delete [0042]
In addition, the data center can prevent the program running on the terminal device from being updated more than necessary by obtaining information about the program to be updated by the terminal device and the version number of the data.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining an embodiment. FIG. 2 is a flowchart for mutual authentication. FIG. 3 is a diagram for explaining a method for verifying whether a central processing unit is operating normally.
1 Data Center 2 Communication Line Equipment 3 Terminal Device 4 Communication Processing Unit 5 Update Processing Unit 6 Volatile Memory 7 Nonvolatile Memory 8 Second Nonvolatile Memory 9 Central Processing Unit 10 Remote Control Unit 11 Maintenance Center 12 External Storage Device

Claims (1)

データセンターから通信回線を介して多数の端末装置で動作している複数のプログラム及びデータを更新するプログラムデータ遠隔更新システムにおいて、
端末装置内には、通信処理部と、中央処理装置と、更新処理部と、揮発性メモリーと、前記複数のプログラム及びデータを格納する不揮発性メモリーと、更新するプログラム及びデータを退避させる第2の不揮発性メモリーを含み、
データセンターには、端末装置の遠隔制御部と、更新用のプログラム及びデータを格納する外部記憶装置を含み、
データセンターから端末装置に対して前記複数のプログラム及びデータを更新するにあたり、
データセンターと通信処理部の間で秘密鍵対称暗号又は公開鍵非対称暗号技術を用いて相互認証を行ない、お互いに正当性を確認した場合に、
前記遠隔制御部は、
機能更新しようとする端末装置の新版のプログラムのプログラムファイル名と版数を外部記憶装置から読み出し、そのうちのプログラムファイル名を暗号化し、その暗号化したデータを端末装置に送信し、
端末装置における通信処理部は、
前記暗号化したデータを受信すると、その暗号化データを復号化して得られたプログラムファイル名を更新処理部に送信し、
更新処理部は、受信したプログラムファイル名と一致する不揮発性メモリーに書きこまれたプログラムのプログラムファイル名の版数を読み出し、通信処理部に送信し、通信処理部は、受信した版数を暗号化してデータセンターに送信し、
前記遠隔制御部は、
暗号化したデータを受信して、暗号化データを復号化して版数を得て、新版のプログラムのプログラムファイル名の版数と比較し、
受信した版数の方が小さい場合に、
データセンターは
新版プログラム及びデータを暗号化した信号を送信し、通信処理部はその信号を受信して復号化し、前記新版プログラム及びデータを揮発性メモリーに書きこんだ後、更新処理部に更新信号を送信し、更新処理部は、前記更新信号をうけて旧版プログラム及びデータを第2の不揮発性メモリーに退避し、中央処理装置が待機状態になるのを見計らって、新版プログラム及びデータの書きこまれた揮発性メモリーの内容を中央処理装置の実行プログラムが書きこまれている不揮発性メモリーに書きこみ、新版のプログラムで中央処理装置を動作させ、新版のプログラムで中央処理装置を動作させることに失敗したとき、不揮発性メモリーの内容を旧版プログラム及びデータの書きこまれている第2の不揮発性メモリーの内容に書き換えて旧版プログラムで中央処理装置を動作させることを特徴とする端末装置のプログラムデータ遠隔更新システム。
In a program data remote update system for updating a plurality of programs and data operating on a large number of terminal devices from a data center via communication lines,
In the terminal device, a communication processing unit, a central processing unit, an update processing unit, a volatile memory, a non-volatile memory for storing the plurality of programs and data, and a second program for saving programs and data to be updated . Including non-volatile memory,
The data center includes a remote control unit of the terminal device and an external storage device for storing an update program and data.
In updating the plurality of programs and data from the data center to the terminal device,
When mutual authentication is performed between the data center and the communication processing unit using a secret key symmetric encryption or public key asymmetric encryption technology, and the mutual validity is confirmed ,
The remote control unit is
Read the program file name and version number of the new version of the terminal device whose function is to be updated from the external storage device, encrypt the program file name, and send the encrypted data to the terminal device.
The communication processing unit in the terminal device
Upon receiving the encrypted data, the program file name obtained by decrypting the encrypted data is sent to the update processing unit,
The update processing unit reads the version number of the program file name of the program written in the non-volatile memory that matches the received program file name and transmits it to the communication processing unit. The communication processing unit encrypts the received version number. And send it to the data center,
The remote control unit is
Receive the encrypted data, decrypt the encrypted data to get the version number, compare it with the version number of the program file name of the new version program,
If the received version is smaller,
Data center,
The new version program and data encrypted signal are transmitted, and the communication processing unit receives and decrypts the signal, writes the new version program and data into the volatile memory, and then transmits the update signal to the update processing unit. The update processing unit receives the update signal, saves the old version program and data to the second non-volatile memory, and waits for the central processing unit to be in a standby state, and then writes the new version program and data to the volatile memory. When the contents of the volatile memory are written to the non-volatile memory in which the execution program of the central processing unit is written, the central processing unit is operated with the new version of the program, and the central processing unit fails to operate with the new version Rewrite the contents of the non-volatile memory to the contents of the second non-volatile memory in which the old version program and data are written. Program data remote updating system of the terminal apparatus characterized by operating the central processing unit in grams.
JP2001121859A 2001-04-20 2001-04-20 Program data remote update system for terminal equipment Expired - Lifetime JP4755772B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001121859A JP4755772B2 (en) 2001-04-20 2001-04-20 Program data remote update system for terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001121859A JP4755772B2 (en) 2001-04-20 2001-04-20 Program data remote update system for terminal equipment

Publications (2)

Publication Number Publication Date
JP2002318632A JP2002318632A (en) 2002-10-31
JP4755772B2 true JP4755772B2 (en) 2011-08-24

Family

ID=18971650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001121859A Expired - Lifetime JP4755772B2 (en) 2001-04-20 2001-04-20 Program data remote update system for terminal equipment

Country Status (1)

Country Link
JP (1) JP4755772B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011717A (en) * 2004-06-24 2006-01-12 Toshiba Corp Software update system and portable terminal used in this system
JP4911959B2 (en) * 2005-12-02 2012-04-04 株式会社日立製作所 Distributed monitoring and control system
JP4902846B2 (en) * 2006-03-03 2012-03-21 三菱電機株式会社 Information processing apparatus, encryption method, and program
JP4838109B2 (en) * 2006-12-15 2011-12-14 三菱電機株式会社 Program correction system and program correction device
JP5151531B2 (en) * 2008-02-15 2013-02-27 株式会社リコー Image forming apparatus and data management method
JP5543949B2 (en) * 2011-09-21 2014-07-09 株式会社東芝 Control device and monitor program
CN110688341B (en) * 2019-09-25 2021-01-29 支付宝(杭州)信息技术有限公司 Method and device for realizing efficient contract calling on FPGA (field programmable Gate array)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01259422A (en) * 1988-04-11 1989-10-17 Fujitsu Ltd Firmware remote correction system
JPH0520087A (en) * 1991-07-10 1993-01-29 Fujitsu Ltd Automatic initial program loading system
JPH09152960A (en) * 1995-11-30 1997-06-10 Fujitsu Ltd Information processor and information processing system
JPH09218788A (en) * 1996-02-09 1997-08-19 Fujitsu Ltd Inservice direct down loading system
JPH10145354A (en) * 1996-11-14 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> Remote function changing method
JPH10171663A (en) * 1996-12-06 1998-06-26 Nec Corp Release and build-in management system for many terminal equipments
JP2000330779A (en) * 1999-05-18 2000-11-30 Nec Corp System and method for remotely updating firmware program

Also Published As

Publication number Publication date
JP2002318632A (en) 2002-10-31

Similar Documents

Publication Publication Date Title
KR100975682B1 (en) Content transmitting apparatus, content receiving apparatus and content transmitting method
US7584351B2 (en) Method of transferring digital certificate,apparatus for transferring digital certificate, and system, program, and recording medium for transferring digital certificate
JP4668619B2 (en) Device key
US9787663B2 (en) Replaying a batch of secure commands in a secure channel
US7721101B2 (en) Communication apparatus and authentication apparatus
US20040059916A1 (en) Memory card
US9578019B2 (en) Method and system for managing an embedded secure element eSE
US9124561B2 (en) Method of transferring the control of a security module from a first entity to a second entity
JP7174237B2 (en) Key generation device, key update method and key update program
JP2003087238A (en) Security realizing system in domestic network
JP4489067B2 (en) Method and apparatus for realizing secure clock in device not provided with built-in power supply
JP5400611B2 (en) MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, NONVOLATILE STORAGE SYSTEM, AND ACCESS DEVICE
WO2008018457A1 (en) Memory controller, secure memory card, and secure memory card system
JPH10145354A (en) Remote function changing method
US8341703B2 (en) Authentication coordination system, terminal apparatus, storage medium, authentication coordination method, and authentication coordination program
JP2004272770A (en) Relay apparatus of network device, system and method for managing the same, authentication server and update server
JP2003242054A (en) Server device, communication apparatus, communication apparatus setting information control method, program and recording medium
JP4755772B2 (en) Program data remote update system for terminal equipment
JP5223860B2 (en) Time information distribution system, time distribution station, terminal, time information distribution method and program
JP5391743B2 (en) Payment processing security information distribution method, payment processing security information distribution system, center device thereof, server device, payment terminal, and program
CZ301928B6 (en) Method of and device for guaranteeing the integrity and authenticity of a data file
JP6965790B2 (en) Electronic information storage media, command processing methods, and programs
JP2002016592A (en) Encryption key management system and encryption key management method
JP2003208406A (en) Service providing system, authentication device, and computer-readable recording medium recording authentication program
JP2002182923A (en) Device control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

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: 20110524

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: 20110530

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4755772

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term