【0001】
【発明の属する技術分野】
本発明は、CPU、主記憶、プログラム・データ格納用の内容が更新可能な内部記憶装置、及び外部から記憶装置の内容を更新できる機能を持つコンピュータ組込み機器に係り、特に製造時以降に変更された本組込み機器用の制御プログラムやデータを外部から更新する方法に関するものである。
【0002】
【従来の技術】
従来、組込み機器のプログラムを更新する際には、その組込み機器が持つ外部インタフェースを用いて、組込み機器が持つ更新可能な内部記憶装置にプログラムやデータを格納する方法がとられている。この更新可能な内部記憶装置として、電気的に内容の消去と再書き込みができるフラッシュメモリを用いて、プログラムや初期値データなどはここに格納されて主記憶の一部としてそのまま実行する場合が一般的である。また外部インタフェースとしてはシリアルインタフェースや、フラッシュメモリなどを外部記憶装置として用いるためのメモリインタフェースなどが一般的である。この方式においては、主記憶上に展開されたフラッシュメモリなどの内部記憶装置の書換えプログラムが外部インタフェースから入力される更新プログラムまたはデータを受信して、内部記憶装置上の元のプログラムやデータを更新する。例えば特開平9−69043号公報に示された「マイクロコンピュータ組込み制御装置」がこれに相当する。また、この例では更新プログラムを固定の位置にしか配置できないため、任意の位置に配置できるような他の方法が「内蔵プログラム更新メモリ」と題する特開2002−169700号公報に示されている。
【0003】
上記の「内蔵プログラム更新メモリ」を従来例として示すと、特開2002−169700号の明細書の図1によれば、例えばCPUと主メモリとを持つクライアント側の組込み制御装置100において、制御装置を動かすシステムプログラム10と、組込み制御装置100の立ち上がり時にシステムプログラムを主メモリにロードするブートローダ・プログラムと11、内蔵プログラムの更新を行う更新プログラム12とを内蔵する内蔵プログラムメモリ104を備え、また更新プログラムに配置情報解析手段14を設けて、更新が必要な部分プログラムには配置情報を付加して提供を受けて、この供給を受けた部分プログラムに記載の配置情報に基づいて内蔵プログラムメモリの上記配置情報アドレスに書き込みを行うようにしている。この発明によれば、内蔵プログラムの任意位置に部分プログラムが書き込めてプログラム更新処理の柔軟性が高まる効果があることが示されている。また更に、配置情報テーブル、またはプログラム待避領域を設けたので、内蔵プログラムの更新が安全に行える効果があることも示されている。
【0004】
【特許文献1】
特開平9−69043号公報
【特許文献2】
特開2002−169700号公報
【0005】
【発明が解決しようとする課題】
従来の内蔵プログラム更新の方法は上記のように構成されており、内蔵プログラムの更新に自由度があるものの、特に民生向け組込み機器の場合には逆に悪意のあるプログラムやデータを自由に書き込む手段を提供することになり、製造者にとっては都合が悪い場合が多い。例えば、携帯電話機などの組込み機器では他人の携帯電話番号に書き換えることで自分には通話料金がかからないようにすることも技術的には可能である。使用者による勝手なプログラムやデータの更新を防止するために、外部からこれらを更新する手段を物理的に排除することも一つの解決法ではあるが、こうした場合、製造・販売後に発見された制御プログラムやデータの修正を製造者が行う必要が生じた際に、まず外部から更新情報を内部記憶装置に格納するための物理的な手段が必要になり多くの工数が必要となってしまう。このように従来の方法においては、製造者によるプログラム更新の工数削減と第三者によるプログラム・データ更新を制限することを両立させることができないという問題があった。
【0006】
また、製造者にとっては出荷後のプログラム修正に対し、個々の機器の更新状況を把握しておきたい場合が多い。例えば、オンラインサービスを提供するにあたって、プログラム修正を行っていない組込み機器を利用すると問題が起きるような場合にあらかじめその組込み機器からの要求を遮断したり、プログラム修正を促したい場合がある。
【0007】
また、同じ型番の組込み機器製品でも出荷時期によって制御プログラムやデータが異なる場合も多く、そのような場合に個々の組込み機器に応じた適切なプログラムやデータを更新する必要がある。
【0008】
本発明の目的は、上記のようなプログラム更新の際に生じる問題点に対し、使用者によるプログラム更新に制限をかけながら、製造者によるプログラム更新を容易に行える手段を提供することにある。
【0009】
【課題を解決するための手段】
本発明においては上記課題を解決するために以下のことを特徴とする。
【0010】
本発明の第1の特徴は、外部インターフェースと、プログラム・データ格納用の内部記憶装置との間に復号化装置または認証装置を備え、外部インタフェースから内部記憶装置にプログラムまたはデータを格納する際には暗号化または認証情報が付加されたプログラムまたはデータのみ受け付け、内部記憶装置には復号化された、または認証情報が除去されたプログラムまたはデータが格納される組込み機器プログラム更新方法であることを特徴とする。
【0011】
本発明の第2の特徴は、組込み機器に固有な識別情報を備え、外部インタフェースに接続された外部の記憶装置から更新プログラムやデータを取得する前に、外部の記憶装置に自分の識別情報を送信し、その識別情報に応じたプログラムを取得できる組込み機器プログラム更新方法であることを特徴とする。
【0012】
したがって本発明の上記第1の特徴構成においては、外部インタフェースと内蔵記憶装置の間に復号化装置または認証装置を備えたことにより、内蔵記憶装置へのプログラムやデータの格納には指定の暗号化を施す必要があり、これにより第三者や使用者による独自に作成したプログラムへの更新を制限することができる反面、出荷後に製造者によって作成された更新プログラムに限っては組込み機器内のプログラムを更新することができる。またプログラムやデータが暗号化されているため、第三者がその内容を不正に解析することを制限することができる。
【0013】
また本発明の上記第2の特徴構成においては、上記第1の特徴構成に加えて機器固有の識別情報を付加し、更新プログラム取得時に製造者に通知することによって、同じ名称・型番を持つが出荷時期に応じて仕様が異なるような製品であった場合においても、それぞれの機器に応じた更新プログラムを使用者に提供することが可能となる。また、製造者に通知することによって各機器のプログラム更新状況などを製造者側で把握することも可能となる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。
【0015】
図2は本発明の実施の形態1を示すブロック図である。501は組込み機器である携帯情報端末、505は組込み機器501の内部を示したもので、外部インタフェースとしてシリアルインタフェース506、外部インタフェース制御装置507、復号化装置508、復号化キー407、内部バス405、メモリ制御装置403、メモリ404、CPU402を備えている。またこの携帯情報端末501にはシリアルインタフェース505に接続されたプログラム更新用コンピュータ502が接続されており、暗号化された更新プログラム504を格納したCD−ROM503を読み取って携帯情報端末501に送信することができる。
【0016】
携帯情報端末501のプログラムを更新する必要が生じた際に、携帯情報端末501の製造者が製造者固有の暗号化キーで暗号化されたプログラム504を格納したCD−ROM503を使用者に配布する。使用者は配布されたCD−ROM503上の暗号化されたプログラム504を使用者のコンピュータ502で読み取り、シリアルインタフェース505経由で暗号化されたプログラム504を携帯情報端末501に送信する。送信された暗号化済みプログラム504は外部インタフェース制御装置507を経由して復号化装置508に送られる。復号化装置508は携帯情報端末501にあらかじめ組み込まれていた復号化キー407を用いて暗号化されたプログラム504を復号化し、内部バス405、メモリ制御装置403を経由して非暗号化された元のプログラム513としてメモリ404内に格納しプログラムの更新が終了する。
【0017】
なお、本実施例では製造者から配布されるプログラムは暗号化されているが、復号化装置508と復号化キー407をそれぞれ認証確認装置と認証情報に変更し、暗号化プログラム504の代わりに製造者の認証情報を付加した更新プログラムを配布する方法も可能である。
【0018】
本実施例により、第三者や使用者による独自に作成したプログラムへの更新を制限しつつ、出荷後に製造者によって更新されたプログラムに限り組込み機器内のプログラムを更新することができる。またプログラムやデータが暗号化されているため、第三者がその内容を不正に解析することを制限することができる。
【0019】
また図3は本発明の実施の形態2を示すブロック図である。本発明の実施の形態1の構成のプログラム更新方法のうち、更新プログラムの配布方法としてCD−ROM503の代わりにインターネット618を利用し、さらに更新プログラムの暗号化にもう一つの暗号化キー610を付加したものである。組込み機器601の内部を示したものが608で、内部バス405、メモリ制御装置403、メモリ404、CPU402、外部インタフェースとしてシリアルインタフェース506、外部インタフェース制御装置611、復号化装置612、復号化キー407を備えている点は実施の形態1と同様である。本実施の形態2では、さらに機器に固有の暗号化キー610と対応する復号化キー613を備え、またCD−ROM503の代わりにインターネット618に接続可能なクライアントコンピュータ602と更新プログラムを保存できる記憶装置603を備えている。インターネット618上には、製造者固有の暗号化キーで暗号化された更新プログラム504を格納した記憶装置605が接続されたサーバコンピュータ604が存在し、606はサーバコンピュータ604の内部を示している。サーバコンピュータ606の内部には暗号化装置607が備わっている。
【0020】
携帯情報端末601のプログラムを更新する必要が生じた際に、携帯情報端末601の製造者が製造者固有の暗号化キーで暗号化されたプログラム620をインターネット618上のサーバ604に接続された記憶装置605上に格納して、携帯情報端末の使用者にプログラムが更新されたことを郵便や電子メールなどで通知する。通知を受けた使用者はクライアントコンピュータ602と携帯情報端末601を接続し、さらにインターネット618に接続してクライアントコンピュータ上で携帯情報端末601用プログラム更新のためのプログラムを実行する。このプログラムはまず携帯情報端末601の各機器に固有な暗号化キー610を外部インタフェース制御装置611及びシリアルインタフェース506を経由してクライアントコンピュータ602上に取得し、さらにその暗号化キー610をインターネット618を経由してサーバ604に送信する。サーバ604では要求のあった携帯情報端末用プログラムの暗号化された更新プログラム620を記憶装置605から取り出し、インターネット618経由で送られてきた暗号化キー610を用いて、暗号化装置607でさらに暗号化する。この二重に暗号化されたプログラムはサーバ604によりインターネット618を経由してクライアントコンピュータ602に送信される。二重に暗号化されたプログラムを受信したクライアントコンピュータ602は一旦記憶装置603上に格納し、すべて受信が終わった時点でこの二重に暗号化されたプログラム619を携帯情報端末601に送信する。シリアルインターフェース506及び外部インタフェース制御装置611を経由して送信された二重に暗号化されたプログラム619は、復号化装置612内で、製造者固有の復号化キー407及び機器固有の復号化キー613を用いて復号化され、内部バス405、メモリ制御装置403を経由して復号化されたプログラム513としてメモリ404上に格納され、プログラムの更新が終了する。
【0021】
本実施例のように、製造者固有の暗号化に加えて組込み機器固有の暗号化を行うことで、同じ名称・型番を持つが出荷時期に応じて仕様が異なるような製品であった場合においても、それぞれの機器に応じた更新プログラムを使用者に提供することが可能となる。また、クライアントコンピュータ602からの要求をサーバ604などで記録しておくことによって、各機器のプログラム更新状況などを製造者側で把握することも可能となる。
【0022】
図4は本発明の実施の形態3を示すブロック図である。本発明の実施の形態2の構成のプログラム更新方法のうち、クライアントコンピュータ602の代わりに、外部インタフェース制御装置711に接続された無線送受信装置710を持ち自らインターネットに接続可能な組込み機器である携帯電話701に変え、さらにクライアントコンピュータ602に接続されていた記憶装置603の代わりに、外部メモリ713とのインタフェースである外部メモリ用スロット712を外部インタフェース制御装置711に付加したものである。
【0023】
本発明の実施の形態2と同様に、携帯電話701用のプログラムの更新要求を通知された使用者は、プログラム更新用のプログラムを携帯電話701上で実行し、携帯電話701の無線通信を用いたインターネット接続機能を用いて、インターネット618に接続したのち、機器固有の暗号化キー610をインターネット618経由でサーバ604に送信する。サーバ604は本発明の実施の形態2と同様の手順で二重に暗号化されたプログラム619を生成し、インターネット618経由で携帯電話701に送信する。二重に暗号化されたプログラム619を受信した携帯電話701は無線送受信装置710を経由して外部インタフェース制御装置711に該当プログラムを送信し、外部メモリ用スロット712を経由して二重に暗号化されたままのプログラム619が外部メモリ713上に格納される。プログラム更新用のプログラムは、すべての受信が終了した後に、外部メモリ713上に格納された二重に暗号化されたプログラム619を外部メモリ用スロット712、外部インタフェース制御装置711を経由して復号化装置612に転送され、以降は本発明の実施の形態2と同様に非暗号化プログラムがメモリ404上に格納され、プログラムの更新が終了する。
【0024】
本実施例により、通信機能を持つ組込み機器を用いることで、クライアントコンピュータなどを別に用意することなく、容易かつ安全に組み込み機器のプログラムの更新を行うことができる。本実施例及び実施の形態2では、二重に暗号化されたものを一旦外部メモリ713やクライアントコンピュータ602に接続された記憶装置603に保存したが、これはインターネット618との接続が途中で切断される可能性を考慮したためで、インターネットやその他の通信手段の通信品質が保証される場合には、これらの一時的な記憶用の装置は不要で、直接暗号化されたプログラムを復号化装置に転送して復号化し、内部記憶装置に格納することも可能である。
【0025】
また本発明の実施の形態1では更新プログラムの配布にCD−ROMを利用したが、実施の形態2や形態3のようにインターネットなどのネットワークを利用することも可能である。
【0026】
【発明の効果】
以上述べたように、本発明においては組込み機器の外部インタフェースと内部記憶装置の間に復号化装置や認証装置を備えたことにより、製造者固有のキーで暗号化された、または認証情報が付加された正規のプログラムやデータを使用者が外部インタフェース経由で容易に組込み機器の内部記憶装置に格納することを可能にしつつ、製造者固有のキーで暗号化されていない、または認証情報が付加されていない例えば第三者により不正に作成されたプログラムやデータが内蔵記憶装置の内容を更新することを制限することが可能となる。また同時に、プログラムやデータを暗号化することによって、第三者がその内容を不正に解析することを制限することが可能となる。
【0027】
さらに、上記構成に機器固有の暗号化キーおよび、そのための復号化装置を付加し動的に更新プログラムを暗号化したものを取得することで、機器固有のプログラム更新及び製造者による各使用者の組込み機器のプログラム・データ更新状況の把握が可能となる。
【図面の簡単な説明】
【図1】請求項1に記載した本発明の実施形態の一例の組込み機器プログラム更新方法を示す図。
【図2】本発明の実施の形態1の組込み機器プログラム更新方法を示す図。
【図3】本発明の実施の形態2の組込み機器プログラム更新方法を示す図。
【図4】本発明の実施の形態3の組込み機器プログラム更新方法を示す図。
【符号の説明】
401…組込み機器、402…CPU、403…内部記憶装置コントローラ、404…内部記憶装置、405…内部装置用バス、406…復号化装置、407…復号化キー、408…外部インタフェース、409…外部インタフェース制御装置、501…携帯情報端末、502…携帯情報端末プログラム更新用コンピュータ、503…更新プログラム格納用CD−ROM、504…暗号化された更新プログラム、505…携帯情報端末(内部)、506…シリアルインタフェース、507…外部インタフェース制御装置、508…復号化装置、513…復号化されたプログラム、601…携帯情報端末、602…携帯情報端末プログラム更新用コンピュータ、603…携帯情報端末プログラム更新用コンピュータ用記憶装置、604…暗号化プログラム配信用サーバコンピュータ、605…暗号化プログラム配信用サーバコンピュータ用記憶装置、606…暗号化プログラム配信用サーバコンピュータ(内部)、607…暗号化装置、608…携帯情報端末(内部)、610…機器固有暗号化キー、611…外部インタフェース制御装置、612…復号化装置、613…機器固有復号化キー、618…インターネット、619…二重暗号化されたプログラム、701…携帯電話、708…携帯電話(内部)、710…無線送受信装置、711…外部インタフェース制御装置、712…外部メモリ用スロット、713…携帯電話用外部メモリ。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a CPU, a main memory, an internal storage device capable of updating contents for storing program data, and a computer-embedded device having a function capable of updating the contents of the storage device from the outside. And a method for externally updating a control program and data for the embedded device.
[0002]
[Prior art]
Conventionally, when a program of an embedded device is updated, a method of storing a program or data in an updatable internal storage device of the embedded device by using an external interface of the embedded device has been adopted. In general, a flash memory capable of electrically erasing and rewriting the contents is used as the updatable internal storage device, and programs and initial value data are stored here and executed as part of the main storage. It is a target. As the external interface, a serial interface or a memory interface for using a flash memory or the like as an external storage device is generally used. In this method, a rewrite program for an internal storage device such as a flash memory developed on a main memory receives an update program or data input from an external interface and updates an original program or data on the internal storage device. I do. For example, a "microcomputer embedded control device" disclosed in Japanese Patent Application Laid-Open No. 9-69043 corresponds to this. In this example, since the update program can be arranged only at a fixed position, another method that can be arranged at an arbitrary position is disclosed in Japanese Patent Application Laid-Open No. 2002-169700 entitled "Built-in Program Update Memory".
[0003]
If the above “built-in program update memory” is shown as a conventional example, according to FIG. 1 of the specification of JP-A-2002-169700, for example, in the client-side embedded control device 100 having a CPU and a main memory, the control device And a built-in program memory 104 containing a boot loader program 11 for loading the system program into the main memory when the embedded controller 100 starts up, and an update program 12 for updating the built-in program. The program is provided with arrangement information analysis means 14 to provide arrangement information to partial programs that need to be updated, and to receive the information. Based on the arrangement information described in the supplied partial programs, Writing is performed to the arrangement information address. According to the present invention, it is shown that a partial program can be written at an arbitrary position of a built-in program, and there is an effect that the flexibility of the program updating process is enhanced. Further, it is also shown that the arrangement information table or the program save area is provided, so that the built-in program can be updated safely.
[0004]
[Patent Document 1]
Japanese Patent Application Laid-Open No. 9-69043 [Patent Document 2]
JP-A-2002-169700
[Problems to be solved by the invention]
The conventional method of updating a built-in program is configured as described above, and although there is a degree of freedom in updating the built-in program, a method of freely writing a malicious program or data, particularly in the case of a consumer embedded device. , Which is often inconvenient for the manufacturer. For example, it is technically possible for a built-in device such as a mobile phone to rewrite the mobile phone number of another person so that the user is not charged for the call. In order to prevent users from updating programs and data without permission, physically eliminating the means to update them externally is one solution. When a manufacturer needs to modify a program or data, a physical means for storing update information in an internal storage device from the outside is first required, which requires many man-hours. As described above, in the conventional method, there is a problem that it is not possible to simultaneously reduce the number of steps of updating the program by the manufacturer and restrict the update of the program data by a third party.
[0006]
In many cases, the manufacturer wants to know the update status of each device in response to the program correction after shipment. For example, in providing an online service, when a problem occurs when a built-in device that has not been modified is used, there is a case where it is desired to cut off a request from the built-in device or to prompt a program modification in advance.
[0007]
In addition, even in the case of embedded device products of the same model number, the control program and data often differ depending on the shipping time. In such a case, it is necessary to update appropriate programs and data according to the individual embedded devices.
[0008]
SUMMARY OF THE INVENTION An object of the present invention is to provide a means for easily updating a program by a manufacturer while restricting the program update by a user with respect to the above-mentioned problems occurring at the time of updating the program.
[0009]
[Means for Solving the Problems]
The present invention is characterized by the following in order to solve the above problems.
[0010]
A first feature of the present invention is that a decryption device or an authentication device is provided between an external interface and an internal storage device for storing program data, and when a program or data is stored in the internal storage device from the external interface. Is an embedded device program updating method that accepts only programs or data to which encryption or authentication information is added, and stores a decrypted or authentication information-removed program or data in an internal storage device. And
[0011]
A second feature of the present invention is that an identification information unique to an embedded device is provided, and before acquiring an update program or data from an external storage device connected to an external interface, the identification information is stored in the external storage device. It is an embedded device program updating method capable of transmitting and acquiring a program corresponding to the identification information.
[0012]
Therefore, in the first feature configuration of the present invention, by providing a decryption device or an authentication device between the external interface and the built-in storage device, designated encryption is performed for storing programs and data in the built-in storage device. This makes it possible to restrict updates to programs created independently by third parties and users, but only for programs created by the manufacturer after shipment, programs in embedded devices Can be updated. Further, since the programs and data are encrypted, it is possible to restrict a third party from illegally analyzing the contents.
[0013]
In the second feature configuration of the present invention, the same name and model number are provided by adding device-specific identification information in addition to the first feature configuration and notifying the manufacturer when an update program is obtained. Even if the product has different specifications depending on the shipping time, it is possible to provide the user with an update program corresponding to each device. Further, by notifying the manufacturer, the manufacturer can grasp the program update status of each device and the like.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0015]
FIG. 2 is a block diagram showing Embodiment 1 of the present invention. Reference numeral 501 denotes a portable information terminal which is an embedded device, and 505 denotes the inside of the embedded device 501. As external interfaces, a serial interface 506, an external interface control device 507, a decryption device 508, a decryption key 407, an internal bus 405, A memory control device 403, a memory 404, and a CPU 402 are provided. A program updating computer 502 connected to the serial interface 505 is connected to the portable information terminal 501. The portable information terminal 501 reads a CD-ROM 503 storing an encrypted update program 504 and transmits the read CD-ROM 503 to the portable information terminal 501. Can be.
[0016]
When it becomes necessary to update the program of the portable information terminal 501, the manufacturer of the portable information terminal 501 distributes the CD-ROM 503 storing the program 504 encrypted with the encryption key unique to the manufacturer to the user. . The user reads the encrypted program 504 on the distributed CD-ROM 503 by the user's computer 502, and transmits the encrypted program 504 to the portable information terminal 501 via the serial interface 505. The transmitted encrypted program 504 is sent to the decryption device 508 via the external interface control device 507. The decryption device 508 decrypts the encrypted program 504 using the decryption key 407 incorporated in the portable information terminal 501 in advance, and decrypts the encrypted program 504 via the internal bus 405 and the memory control device 403. The program 513 is stored in the memory 404, and the updating of the program ends.
[0017]
In this embodiment, the program distributed from the manufacturer is encrypted. However, the decryption device 508 and the decryption key 407 are changed to an authentication confirmation device and authentication information, respectively, and the program is manufactured instead of the encryption program 504. A method of distributing an update program to which authentication information of a user is added is also possible.
[0018]
According to this embodiment, it is possible to update a program in an embedded device only for a program updated by a manufacturer after shipment, while limiting an update to a program created independently by a third party or a user. Further, since the programs and data are encrypted, it is possible to restrict a third party from illegally analyzing the contents.
[0019]
FIG. 3 is a block diagram showing Embodiment 2 of the present invention. Among the program update methods having the configuration of the first embodiment of the present invention, the Internet 618 is used instead of the CD-ROM 503 as an update program distribution method, and another encryption key 610 is added to the encryption of the update program. It was done. 608 shows the inside of the embedded device 601, and includes an internal bus 405, a memory control device 403, a memory 404, a CPU 402, a serial interface 506 as an external interface, an external interface control device 611, a decryption device 612, and a decryption key 407. This is the same as the first embodiment. In the second embodiment, a client computer 602 that can be connected to the Internet 618 instead of the CD-ROM 503 and a storage device that can store an update program is further provided with a device-specific encryption key 610 and a corresponding decryption key 613. 603 is provided. On the Internet 618, there is a server computer 604 to which a storage device 605 storing an update program 504 encrypted with an encryption key unique to a manufacturer is connected, and 606 indicates the inside of the server computer 604. An encryption device 607 is provided inside the server computer 606.
[0020]
When the program of the portable information terminal 601 needs to be updated, the manufacturer of the portable information terminal 601 stores the program 620 encrypted with the manufacturer's unique encryption key in the storage connected to the server 604 on the Internet 618. The program is stored on the device 605, and the user of the portable information terminal is notified of the update of the program by mail, e-mail, or the like. The user who has received the notification connects the client computer 602 and the portable information terminal 601, and further connects to the Internet 618 to execute a program for updating the program for the portable information terminal 601 on the client computer. This program first obtains an encryption key 610 unique to each device of the portable information terminal 601 on the client computer 602 via the external interface control device 611 and the serial interface 506, and further transfers the encryption key 610 to the Internet 618. The data is transmitted to the server 604 via the server. The server 604 retrieves the encrypted update program 620 of the requested portable information terminal program from the storage device 605, and further encrypts the update program 620 at the encryption device 607 using the encryption key 610 sent via the Internet 618. Become The doubly encrypted program is transmitted by the server 604 to the client computer 602 via the Internet 618. The client computer 602 that has received the double-encrypted program temporarily stores it in the storage device 603, and transmits the double-encrypted program 619 to the portable information terminal 601 when the reception is completed. The double-encrypted program 619 transmitted via the serial interface 506 and the external interface control device 611 is stored in the decryption device 612 by the manufacturer-specific decryption key 407 and the device-specific decryption key 613. , And stored in the memory 404 as the decrypted program 513 via the internal bus 405 and the memory control device 403, and the updating of the program ends.
[0021]
As in the present embodiment, by performing encryption specific to the embedded device in addition to encryption specific to the manufacturer, in the case where the products have the same name and model number but have different specifications depending on the shipping time, Also, it is possible to provide the user with an update program corresponding to each device. Further, by recording the request from the client computer 602 in the server 604 or the like, it becomes possible for the manufacturer to grasp the program update status of each device.
[0022]
FIG. 4 is a block diagram showing Embodiment 3 of the present invention. In the program updating method having the configuration of the second embodiment of the present invention, a mobile phone which is a built-in device having a wireless transmitting / receiving device 710 connected to an external interface control device 711 instead of the client computer 602 and capable of connecting to the Internet by itself 701, a slot 712 for an external memory, which is an interface with an external memory 713, is added to the external interface control device 711 instead of the storage device 603 connected to the client computer 602.
[0023]
As in the second embodiment of the present invention, the user who has been notified of the update request for the program for mobile phone 701 executes the program for updating the program on mobile phone 701 and uses the wireless communication of mobile phone 701. After connecting to the Internet 618 by using the Internet connection function, the encryption key 610 unique to the device is transmitted to the server 604 via the Internet 618. The server 604 generates a double-encrypted program 619 in the same procedure as in the second embodiment of the present invention, and transmits it to the mobile phone 701 via the Internet 618. The mobile phone 701 that has received the double-encrypted program 619 transmits the program to the external interface control device 711 via the wireless transmission / reception device 710, and is double-encrypted via the external memory slot 712. The program 619 that has been executed is stored on the external memory 713. The program for program update decrypts the double-encrypted program 619 stored in the external memory 713 via the external memory slot 712 and the external interface control device 711 after all receptions are completed. The program is transferred to the device 612, and thereafter, the non-encrypted program is stored in the memory 404 as in the second embodiment of the present invention, and the updating of the program ends.
[0024]
According to this embodiment, by using an embedded device having a communication function, it is possible to easily and safely update a program of the embedded device without separately preparing a client computer or the like. In the present embodiment and the second embodiment, the double encrypted data is temporarily stored in the external memory 713 or the storage device 603 connected to the client computer 602. When the communication quality of the Internet and other communication means is guaranteed, the temporary storage device is not necessary, and the directly encrypted program is directly stored in the decryption device. It is also possible to transfer, decode, and store in an internal storage device.
[0025]
Further, in the first embodiment of the present invention, the CD-ROM is used for distributing the update program, but it is also possible to use a network such as the Internet as in the second and third embodiments.
[0026]
【The invention's effect】
As described above, in the present invention, by providing the decryption device and the authentication device between the external interface of the embedded device and the internal storage device, the device is encrypted with the key unique to the manufacturer or the authentication information is added. Authorized programs and data can be easily stored in the internal storage device of the embedded device via an external interface, while not being encrypted with the manufacturer's unique key or having authentication information added. For example, it is possible to restrict a program or data illegally created by a third party from updating the contents of the internal storage device. At the same time, by encrypting the program or data, it is possible to restrict a third party from illegally analyzing the contents.
[0027]
Furthermore, a device-specific encryption key and a decryption device therefor are added to the above configuration to obtain a dynamically encrypted update program, so that the device-specific program update and the manufacturer's The program / data update status of the embedded device can be grasped.
[Brief description of the drawings]
FIG. 1 is a diagram showing an embedded device program updating method according to an embodiment of the present invention described in claim 1;
FIG. 2 is a diagram showing an embedded device program updating method according to the first embodiment of the present invention.
FIG. 3 is a diagram showing an embedded device program updating method according to the second embodiment of the present invention.
FIG. 4 is a diagram showing an embedded device program updating method according to the third embodiment of the present invention.
[Explanation of symbols]
401 embedded device, 402 CPU, 403 internal storage controller, 404 internal storage device, 405 internal device bus, 406 decryption device, 407 decryption key, 408 external interface, 409 external interface Control device, 501: portable information terminal, 502: computer for updating portable information terminal program, 503: CD-ROM for storing update program, 504: encrypted update program, 505: portable information terminal (internal), 506: serial Interface, 507: External interface control device, 508: Decoding device, 513: Decrypted program, 601: Portable information terminal, 602: Computer for updating portable information terminal program, 603: Storage for computer for updating portable information terminal program Device, 604 ... Encryption Server computer for program distribution, 605: storage device for server computer for distribution of encrypted program, 606: server computer for distribution of encrypted program (internal), 607: encryption device, 608: portable information terminal (internal), 610: device Unique encryption key, 611: external interface control device, 612: decryption device, 613: device-specific decryption key, 618: Internet, 619: double-encrypted program, 701: mobile phone, 708: mobile phone ( (Internal), 710: wireless transmission / reception device, 711: external interface control device, 712: external memory slot, 713: external memory for mobile phone.