JP2004164491A - プログラム更新方法およびサーバ - Google Patents

プログラム更新方法およびサーバ Download PDF

Info

Publication number
JP2004164491A
JP2004164491A JP2002331992A JP2002331992A JP2004164491A JP 2004164491 A JP2004164491 A JP 2004164491A JP 2002331992 A JP2002331992 A JP 2002331992A JP 2002331992 A JP2002331992 A JP 2002331992A JP 2004164491 A JP2004164491 A JP 2004164491A
Authority
JP
Japan
Prior art keywords
program
key
plaintext
shared key
lsi
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
JP2002331992A
Other languages
English (en)
Other versions
JP2004164491A5 (ja
JP4099039B2 (ja
Inventor
Mutsumi Fujiwara
睦 藤原
Yusuke Nemoto
祐輔 根本
Junichi Yasui
純一 安井
Takuji Maeda
卓治 前田
Takayuki Ito
孝幸 伊藤
Taiji Yamada
泰司 山田
Shinji Inoue
信治 井上
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 JP2002331992A priority Critical patent/JP4099039B2/ja
Priority to US10/696,621 priority patent/US7546468B2/en
Priority to DE60303476T priority patent/DE60303476T2/de
Priority to EP03026010A priority patent/EP1422591B1/en
Priority to EP05016583A priority patent/EP1594030B1/en
Priority to DE60313368T priority patent/DE60313368T2/de
Priority to TW097130619A priority patent/TW200903215A/zh
Priority to TW092132054A priority patent/TW200409516A/zh
Priority to CNA200310114997A priority patent/CN1505311A/zh
Publication of JP2004164491A publication Critical patent/JP2004164491A/ja
Publication of JP2004164491A5 publication Critical patent/JP2004164491A5/ja
Priority to US11/798,367 priority patent/US7539312B2/en
Priority to US12/081,889 priority patent/US7849331B2/en
Application granted granted Critical
Publication of JP4099039B2 publication Critical patent/JP4099039B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】固有鍵で暗号化されたプログラムを実行可能なLSIについて、高いセキュリティを保ちつつ、プログラムを更新可能にする。
【解決手段】セキュアLSI1を含むシステムは、サーバ3との通信路を確立し(UD1)、サーバ3から送信された,共有鍵で暗号化された共有鍵暗号化プログラムを受信する(UD6,UD7)。そして、受信した共有鍵暗号化プログラムを復号して平文プログラムを生成し、さらに、平文プログラムを固有鍵で再暗号化し、新たな固有鍵暗号化プログラムとして外部メモリに格納する。
【選択図】 図11

Description

【0001】
【発明の属する技術分野】
本発明は、鍵実装されたシステムやこれに用いるLSIにおいて、セキュリティを保ちつつ、プログラムを更新する技術に関する。
【0002】
【従来の技術】
従来、LSIを動作させるプログラムを不正な処理から守るために、予め定まったメーカー鍵で暗号化したプログラムをメモリに記憶しておき、復号化して実行することが行われている。しかしながら、このようなシステムでは共通のメーカー鍵で暗号化されたプログラムを実行するLSIが大量にあるため、たとえ1個の製品からでもメーカー鍵の情報が不正に漏洩すると、大量の製品においてプログラムを改ざん可能になってしまい、したがって、セキュリティを高めることができないという課題がある。
【0003】
この課題を解決するために、LSIを動作させるプログラムをLSI毎に固有の固有鍵で暗号化し、製品としては固有鍵で暗号化されたプログラムのみを実行可能とする手法がある(特願2002−215096、特願2002−258481参照)。この手法を用いることにより、1個の製品で鍵情報が不正に漏洩したとしても、その他の製品への影響はないので、セキュリティを高めることができる。また、この手法の前提として、鍵を二重に暗号化する手法がある(特願2001−286881参照。)。
【0004】
なお、ここで挙げた特許出願はいずれも未だ出願公開されておらず、このため、記載すべき先行技術文献情報はない。
【0005】
【発明が解決しようとする課題】
一般に、製品となっているLSIに実装されたプログラムのアップデート(更新)は、SSL接続によって通信路を安全に確保し、平文プログラム、またはメーカー鍵で暗号化されたプログラムをサーバからLSIへ送信することによって行われている。しかしながら、この手法では、通信路を不正にアクセスされると、大量の製品で実行可能なプログラムが不正に入手されてしまうので、プログラム更新におけるセキュリティを高めることができない。
【0006】
これを解決するために、上述の手法を用いた場合、LSIは固有鍵で暗号化されたプログラムのみを実行するので、平文プログラムやメーカー鍵で暗号化されたプログラムを送信しても、そのままでは実行することができない。
【0007】
また、LSI毎に異なる鍵で暗号化されたプログラムをサーバ側で準備し、LSI毎に鍵情報を管理した上で、サーバからLSIへ、LSI毎に異なる鍵で暗号化されたプログラムを送信する方法も考えられるが、この方法では、莫大な手間とコストを必要とするため、現実的ではない。
【0008】
前記の問題に鑑み、本発明は、LSI固有の固有鍵で暗号化されたプログラムを実行可能なLSIについて、高いセキュリティを保ちつつ、プログラムを更新する方法を提供することを課題とする。
【0009】
【課題を解決するための手段】
前記の課題を解決するために、本発明が講じた解決手段は、LSIと外部メモリとを含むシステムにおいて、前記外部メモリに格納され、前記LSI固有の固有鍵で暗号化された固有鍵暗号化プログラムを更新する方法として、前記システムが、サーバから送信された共有鍵で暗号化された共有鍵暗号化プログラムを受信する第1ステップと、前記システムが、受信した前記共有鍵暗号化プログラムを復号することによって平文プログラムを生成する第2ステップと、前記システムが、前記平文プログラムを前記固有鍵で再暗号化し、新たな固有鍵暗号化プログラムとして前記外部メモリに格納する第3ステップとを備えたものである。
【0010】
前記本発明に係るプログラム更新方法において、前記サーバから送信された共有鍵情報を受信するステップと、受信した前記共有鍵情報を用いて平文共有鍵を生成するステップとをさらに備え、前記第2ステップにおいて、前記平文共有鍵を用いて前記共有鍵暗号化プログラムを復号するのが好ましい。
【0011】
さらに、前記共有鍵情報は、前記平文共有鍵を平文第1中間鍵で暗号化した暗号化共有鍵と、前記平文第1中間鍵を平文第2中間鍵で暗号化した暗号化第1中間鍵とを含むのが好ましい。
【0012】
また、前記本発明に係るプログラム更新方法において、前記LSIは、固有鍵情報が格納された内部メモリを備えており、前記システムは、その起動時に、前記内部メモリに格納された固有鍵情報を用いて平文固有鍵を生成するものとし、前記第3ステップにおいて、前記平文プログラムの再暗号化のために前記平文固有鍵を用いるものとする。
【0013】
さらに、前記固有鍵情報は、前記平文固有鍵を平文第3中間鍵で暗号化した暗号化固有鍵と、前記平文第3中間鍵を平文第4中間鍵で暗号化した暗号化第2中間鍵とを含むのが好ましい。あるいは、生成された前記平文固有鍵は、前記LSI内のレジスタに格納され、前記固有鍵暗号化プログラムを実行する際の平文プログラムへの復号化のために用いられるのが好ましい。
【0014】
また、前記本発明に係るプログラム更新方法において、前記LSIは、ブートプログラムが格納されたブートROMを備えており、前記外部メモリは、サーバとの送受信を実行するための取得プログラムが格納されており、前記システムは、前記共有鍵暗号化プログラムの受信を、前記外部メモリに格納された取得プログラムによって実行し、受信後の更新処理を、前記ブートROMに格納されたブートプログラムによって制御するのが好ましい。
【0015】
また、前記本発明に係るプログラム更新方法において、前記サーバから送信された前記平文プログラムのハッシュ値を受信するステップを備え、前記第2ステップにおいて、復号した平文プログラムについて、受信したハッシュ値を用いてハッシュ検証を行うのが好ましい。
【0016】
また、本発明が講じた解決手段は、LSIを含むシステムにおけるプログラム更新のために動作するサーバとして、前記システムから前記LSIのIDと更新対象プログラムの識別情報であるアプリIDとを受信する第1ステップと、アプリIDとLSIIDとの対応関係を示す第1のテーブルを参照して、前記更新対象プログラムを前記システムに送信するか否かを決定する第2ステップと、前記第2ステップで送信すると決定したとき、前記システムへ、前記更新対象プログラムを共有鍵で暗号化した共有鍵暗号化プログラム、および前記共有鍵の基になる共有鍵情報を送信する第3ステップとを実行するものである。
【0017】
そして、前記本発明に係るサーバにおいて、前記システムから、前記更新対象プログラムの実行に必要なアプリ固有情報を要求する信号を受信する第4ステップと、アプリ固有情報の送信履歴とLSIIDとの対応関係を示す第2のテーブルを参照して、前記第4のステップで要求されたアプリ固有情報を送信するか否かを決定する第5のステップとを実行するのが好ましい。
【0018】
また、前記本発明に係るサーバにおいて、前記共有鍵情報は、平文共有鍵を平文第1中間鍵で暗号化した暗号化共有鍵と、前記平文第1中間鍵を平文第2中間鍵で暗号化した暗号化第1中間鍵とを含むのが好ましい。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。なお、以下の説明では、X(鍵またはプログラム)を鍵Yを用いて暗号化して得た、暗号化された鍵またはプログラムのことを、Enc(X,Y)と表すものとする。
【0020】
図1は本実施形態に係る半導体装置としてのセキュアLSIの内部構成を示すブロック図である。図1において、セキュアLSI1は外部バス120を介して、外部メモリ(フラッシュメモリ)100や外部ツール110などと接続可能に構成されている。また、モードIDを与えることによって、その動作モードを設定することが可能になっている。
【0021】
本実施形態に関わる主な構成要素について、簡単に説明する。
【0022】
まず、セキュアLSI1は、書き換え不可領域11を含むセキュアメモリ(セキュアFlash)10を備えている。この書き換え不可領域11には、書き換え不可領域書き込みフラグ12が設けられている。書き換え不可領域書き込みフラグ12は、モードIDが一度セキュアメモリ10に書き込まれると、そのフラグ値が“可”から“済”になり、それ以降の書き換え不可領域への書き込みが不能になる。なお、本実施形態では、セキュアメモリ10および外部メモリ100はフラッシュメモリによって構成されているが、もちろんこれに限定されるものではなく、不揮発性のメモリであればどのようなものであってもかまわない。
【0023】
また、暗号化部2はプログラムの暗号化や復号化を行うものであり、秘密鍵演算処理部20と、鍵生成・更新シーケンサ30とを備えている。秘密鍵演算処理部20は各種の鍵、およびプログラム暗号種を格納するレジスタ(プログラム共有鍵格納レジスタ21、プログラム固有鍵格納レジスタ22、暗号鍵格納レジスタ23等)を備えており、プログラムの暗号化処理又は復号化処理を含む複数のシーケンスを実行可能である。鍵生成・更新シーケンサ30は秘密鍵演算処理部20が実行可能な各シーケンスについて実行の諾否を判断し、実行が許されないと判断したシーケンスについて秘密鍵演算処理部20の動作を禁止する。鍵生成更新シーケンサ30はモードID格納レジスタ31を有しており、このモードID格納レジスタ31に格納されているモードIDに応じて、各シーケンスの実行の諾否を判断する。また、鍵またはプログラムがどのようなアルゴリズムや鍵長で暗号化されているかを示す暗号種別識別子を格納する暗号種別識別子格納レジスタ32、およびプログラム暗号種を記憶する記憶部33を備えている。
【0024】
モードシーケンサ40も、モードID格納レジスタ41を備えており、モードID格納レジスタ41に格納されているモードIDと、ジャンパ43の値に応じて、外部ホストインターフェース(I/F)50の動作、すなわち、外部メモリ100に格納されたプログラムやデータをどのI/Fを介して読み込むか、を制御する。これにより、外部メモリ100に格納された平文プログラムが実行できるか否かを制御することができる。さらに、モードシーケンサ40は、鍵がどの手法によって暗号化されているかを示す暗号種別識別子を格納する暗号種別識別子格納レジスタ42を備えている。
【0025】
外部ホストI/F50は、モードシーケンサ40の制御に従って、プログラム処理部51が有する暗号化用スルー部52、実行用スルー部53およびプログラム復号用暗号エンジン54、並びに、データ処理部55が有するスルー部56およびコンテンツ暗号・復号用暗号エンジン57のうちのいずれかを介して、外部メモリ100や外部ツール110との間でプログラムやデータの入出力を行う。またプログラム復号用暗号エンジン54は、プログラムの復号に用いるプログラム固有鍵を格納するためのプログラム固有鍵可能レジスタ58を備えている。
【0026】
ここで、後述する鍵生成モードと商品動作モードにおいては、実行用スルー部53を介してプログラムを取り込むことが出来ないように構成されている。すなわち、セキュアLSI1は後述する鍵生成モードと商品動作モードにおいては、固有鍵で暗号化されたプログラム以外へは動作を遷移しないように構成されている。
【0027】
ブートROM60は、セキュアLSI1の起動動作を制御するブートプログラムを格納している。HASH演算部70は、セキュアLSI1に読み込まれたプログラムについてその正当性を検証するために、HASH値を演算する。
【0028】
また、外部メモリ100には、プログラムやコンテンツが格納されている。外部ツール110には、セキュアLSI1の最初の起動時にセキュアメモリ10に格納する各種の初期値が格納されている。この初期値の種類は、設定される動作モードに応じて、異なったものになる。
【0029】
図2は図1のセキュアLSI1を用いた開発および製品化の全体の流れを表す図である。図2に示すように、セキュアLSI1は、アドミニストレータモード(モードID:00)、鍵生成モード(モードID:01)、開発モード(モードID:10)および商品動作モード(モードID:11)の4種類の動作モードで、動作する。
【0030】
まず、アドミニストレータモードに設定されたセキュアLSI1は、管理者用LSIとして、動作する。管理者用LSIでは、鍵生成プログラムが開発され(PA1)、また、その鍵生成プログラムが任意の鍵生成鍵を用いて暗号化される(PA2)。
【0031】
鍵生成モードに設定されたセキュアLSI1は、鍵生成用LSIとして、動作する。鍵生成用LSIでは、管理者用LSIにおいて生成された、暗号化された鍵生成プログラムが実装され(PB1)、この鍵生成プログラムを実行することによって、各種の鍵が生成される(PB2)。
【0032】
開発モードに設定されたセキュアLSI1は、開発用LSIとして、動作する。開発用LSIでは、実際の製品で実行されるアプリケーション用プログラムが開発される(PC1)。そして、このアプリケーション用プログラムが、プログラム共有鍵を用いて暗号化される(PC2)。
【0033】
商品動作モードに設定されたセキュアLSI1は、実際の商品LSIとして、動作する。商品LSIでは、開発用LSIにおいて生成された、プログラム共有鍵で暗号化されたアプリケーション用プログラムが実装され、その内部で、プログラム固有鍵で暗号化されたアプリケーション用プログラムに、変換される(PD1)。その後、通常の商品LSIとして動作する(PD2)。なお、この変換処理は、開発用LSIでも、アプリケーション用プログラムのデバッグのために、実行可能になっている(PC3)。
【0034】
以下、上記のように構成されたセキュアLSI1の商品動作モードにおける通常動作およびセキュアアップデート動作の詳細について、フローチャートおよびデータフローを参照して、説明する。
【0035】
図3はブートプログラムの全体的な処理の流れを示すフローチャートである。セキュアLSI1に電源が投入されると、ブートROM60に格納されたブートプログラムがCPU65によって実行される。図3に示すように、まず、各ハードウェアを初期化する(SZ0)。そして、外部ツール110からさまざまな初期値を読み込み、セキュアメモリ10に設定する(SZ1)。
【0036】
図4は初期値設定処理SZ1のフローチャートである。まず、ジャンパ44で、セキュアメモリ10がLSI内に実装されているか否かの判定を行う(SZ11)。次に、書き換え不可領域書き込みフラグ12が“済”であるか否かを判定し(SZ12)、“済”であるときは(Yes)すでにセキュアメモリ10に初期値が設定されているので、処理SZ1を終了する。書き換え不可領域書き込みフラグ12が“可”であるときは(No)、セキュアメモリ10に初期値を書き込んでいく(SZ13〜SZ18)。モードIDに加えて、暗号化されたプログラム固有鍵、アドレス管理情報、データ固有鍵をセキュアメモリ10の書き換え不可領域11に書き込む。なお、最初の判定の結果、セキュアメモリ10がLSIの外部にあると判定されたときは(SZ14でNo)、モードIDは商品動作モードを表す値に上書きされる(SZ15)。これにより、セキュアメモリ10がLSIパッケージ外にあるような不正な製品は、商品動作モードでしか動作できない。
【0037】
次に、書き込み不可領域書き込みフラグ12を“済”にセットする(SZ19)。これによって、以後の書き換え不可領域11の書き換えはできなくなる。さらに、通常領域13,14に暗号種別識別子および実装モードフラグを書き込む(SZ1A)。そして、モードIDがアドミニストレータモード以外のモードを示すときは(SZ1BでNo)、これらに加えて、暗号化された共有鍵/鍵生成鍵も通常領域13,14に書き込む(SZ1C)。
【0038】
その後、前処理SZ2を実行する。ここでは、セキュアメモリ10の書き込み不可領域11に設定されたモードIDが、鍵生成・更新シーケンサ30のモードID格納レジスタ31と、モードシーケンサ40のモードID格納レジスタ41とに設定される。また、セキュアメモリ10の第1の通常領域13に設定された暗号種別識別子が、鍵生成・更新シーケンサ30の暗号種別識別子格納レジスタ32と、モードシーケンサ40の暗号種別識別子格納レジスタ42とに設定される。さらに、セキュアメモリ10の書き換え不可領域11に格納されたアドレス管理情報が、MEMC80の暗号アドレス区分格納レジスタ81に設定される。ここまでの動作は、図2における初期値設定フェーズPA0,PB0,PC0,PD0に対応している。
【0039】
その後は、モードIDの値に応じて、それぞれのモードにおける動作を行う(SZ3)。このようにモードIDの値に応じて、セキュアLSIで行う動作を制限することによりプログラムの秘匿性を高めている。
【0040】
次に通常の商品動作(通常ブート処理)について詳細に説明する。
【0041】
モードIDが「11」のとき、セキュアLSI1は商品動作モードになり、実装モードフラグの値に応じて(SD0)、プログラム実装処理SD1、または通常ブート処理SD2を実行する。
【0042】
図5はプログラム実装処理SD1のフローチャート、図6、7はデータフローである。プログラム実装処理SD1においては、セキュアメモリ10に格納された固有鍵情報を用いてプログラム固有鍵を(SD11、SD12)、共有鍵情報を用いてプログラム共有鍵を復号し(SD13、SD14)、復号されたプログラム共有鍵とプログラム固有鍵を用いて外部メモリ100に格納されたプログラムEnc(プログラム、プログラム共有鍵)をEnc(プログラム、プログラム固有鍵)へと変換する(SD15−SD17)。その後、プログラムの正当性の検証を行い(SD18)、正当であるならば実装モードフラグをOFFに設定する(SD19)。これにより次回の起動時からはプログラム実装処理SD1は行われない。そして最後にセキュアメモリ10に格納されたプログラム共有鍵と、外部メモリ100に格納されたプログラムEnc(プログラム、プログラム共有鍵)は削除される(SD1A、SD1B)。
【0043】
図8は通常ブート処理SD2のフローチャート、図9、10はデータフローである。通常ブート処理SD2においては、まず、内部メモリとしてのセキュアメモリ10の書き込み不可領域11に格納された、固有鍵鍵情報としての暗号化されたプログラム固有鍵、すなわち、暗号化固有鍵Enc(プログラム固有鍵(平文)、MK0(平文第3中間鍵))および暗号化第2中間鍵Enc(MK0,CK0(平文第4中間鍵))を秘密鍵演算処理部20の暗号鍵格納レジスタに設定する(SD21)。そして、この暗号化されたプログラム固有鍵を、鍵生成・更新シーケンサ30に実装されたプログラム暗号種を用いて復号し、プログラム固有鍵を得る(SD22)。得られたプログラム固有鍵は秘密鍵演算処理部20のプログラム固有鍵格納レジスタ22と、外部ホストI/F50のプログラム復号用暗号エンジン54のプログラム固有鍵格納レジスタ58に設定する(SD23)。
【0044】
その後、セキュアメモリ10の書き込み不可領域11に格納されているデータ固有IDを秘密鍵演算処理部20の固有ID格納レジスタに設定する(SD24)。また、CPU65によって乱数を生成し、秘密鍵演算処理部20の乱数格納レジスタに設定する(SD25)。そして、秘密鍵演算処理部20によって、データ固有IDと乱数からデータ固有鍵を生成する(SD26)。コンテンツの再生にはデータ固有鍵を用いて行う。データ固有鍵は乱数を用いて生成されるため、起動毎に異なることとなり、コンテンツ再生の安全性が高まる。
【0045】
その後、外部メモリ100に格納されていた,プログラム固有鍵で暗号化されたプログラムEnc(プログラム,プログラム固有鍵)を、外部ホストI/F50が有するプログラム処理部51のプログラム復号用暗号エンジン54を介して復号し、HASH演算部70に取り込み、HASH値を演算する(SD27)。復号に用いられる鍵としては外部ホストI/Fのプログラム固有鍵格納レジスタ58に格納されたプログラム固有鍵が用いられる。そして、この演算したHASH値と、セキュアメモリ10の通常領域13に格納されていたHASH値とを比較し、プログラムが改ざんされていないかどうかをチェックする(SD28)。HASH値が一致していたとき(SD29でNo)、外部メモリ100に格納されていたプログラムEnc(プログラム,プログラム固有鍵)に処理を遷移し、アプリケーションを実行する(SD2A)。一方、HASH値が一致していないとき(SD29でYes)は、何らかの不正が行われたものと推定して、不正アクセス時制御による処理を実行する(SD2B)。
【0046】
ここで、上述のように商品として動作するセキュアLSIについて、プログラムの更新を行う処理について、図面を参照しながら説明する。図11はプログラム更新の際に、サーバ3とセキュアLSI1を含むシステムとの間におけるデータのやり取りを示すフローである。
【0047】
図11に示すように、まず、セキュアLSI1がプログラム更新処理を起動すると、サーバ3はシステムからセキュアLSI1のIDを受信してID認証を行い、認証した場合は、セキュアLSI1とSSL接続する(UD1)。これにより、サーバ3とセキュアLSI1を含むシステムとの間の通信路の安全性が一応確保される。
【0048】
通信路が確保されると、システムは、更新対象プログラムの識別情報であるアプリIDをサーバ3へ送信する(UD2)。サーバ3は、更新可能なプログラムのアプリIDと、プログラムを動作させて良いLSIのIDとの対応関係を示す第1のテーブル4を管理しており、この第1のテーブル4に基づいて、プログラムを送信してよいか否かを判断する。セキュアLSI1のIDと、更新を要求されたプログラムのアプリIDとの対応が確認されると、サーバ3は、この更新対象プログラムの送信を開始する。
【0049】
まず、サーバ3から、更新対象プログラムの付加情報をセキュアLSI1へ送信する(UD3)。ここでの付加情報は、セキュアLSI1側でプログラムを更新してよいか否かを認証させるための署名、更新対象プログラムのサイズ、および、更新対象プログラムのハッシュ値(平文での値)等を含む。セキュアLSI1は、付加情報として送信された署名を用いて認証を行い、また、送信されたプログラムサイズを基にして、外部メモリ100に更新可能な空き領域があるか否かを判断する。そして、更新が可能であると判断した場合は、サーバ3に対して、共有鍵情報を送信するよう要求する(UD4)。
【0050】
サーバ3は、要求を受信すると、共有鍵情報として、暗号化共有鍵Enc(プログラム共有鍵(平文),MK1(平文第1中間鍵))および暗号化第1中間鍵Enc(MK1,CK1(平文第2中間鍵))をセキュアLSI1へ送信する(UD5)。セキュアLSI1は、共有鍵情報を用いてプログラム共有鍵を復号し、復号された状態でハッシュ演算を行い、正当性の検証をする。プログラム共有鍵を正常に復号すると、システムはサーバ3に対して、共有鍵暗号化プログラムを送信するよう要求する(UD6)。サーバ3は、要求を受信すると、プログラムEnc(プログラム、プログラム共有鍵)をシステムへ送信する(UD7)。セキュアLSI1は、Enc(プログラム、プログラム共有鍵)をEnc(プログラム、プログラム固有鍵)へと変換する。さらに、変換されたEnc(プログラム、プログラム固有鍵)を平文プログラムに復号し、ハッシュ演算して、先に付加情報として受信したハッシュ値との比較によって、正当性を検証する。ここでの処理については、後で詳細に説明する。
【0051】
共有鍵暗号化プログラムが固有鍵暗号化プログラムに正常に変換できたとき、セキュアLSI1を含むシステムはサーバ3へ、アプリ固有情報を送信するよう要求する(UD8)。アプリ固有情報はプログラムの実行に必要な情報を含んでおり、アプリ固有情報がないと、セキュアLSI1は更新したプログラムを実行できない。サーバ3は、アプリ固有情報の送信履歴とLSIのIDとの対応関係を示す第2のテーブル5も管理しており、同一のセキュアLSIには複数のアプリ固有情報を送信しないようにする。よって、同一のセキュアLSIは複数回、同一のプログラムを更新することができない。
【0052】
サーバ3は、アプリ固有情報を送信してよいと判断したとき、アプリ固有情報をセキュアLSI1を含むシステムへ送信し(UD9)、セキュアLSI1がこれをハッシュ演算して正当性を検証すると、プログラム更新が終了し、通信は切断される(UD10)。
【0053】
なお、本発明におけるサーバ3とセキュアLSIを含むシステムとの間におけるデータのやり取りは上述のフローに限定されるものではない。例えば、サーバ3は、必ずしも、第2のテーブルを管理し、同一のセキュアLSIに複数のアプリ固有情報を送信しないようにする必要はない。しかしながら、同一のセキュアLSIに複数回、同一のプログラムを送信しないようにすることにより、プログラムの秘匿性はより高まる。
【0054】
また、付加情報、共有鍵情報、共有鍵暗号化プログラムは、必ずしも、サーバ3からセキュアLSIへと別々に送信する必要はなく、その一部、または全部をまとめたプログラムパッケージとして一度に送信してもよい。
【0055】
セキュアLSI1における、共有鍵暗号化プログラムEnc(プログラム、プログラム共有鍵)から固有鍵暗号化プログラムEnc(プログラム、プログラム固有鍵)への変換について、図面を参照しながら詳述する。図12は外部メモリ100に格納された、プログラム更新に係わるプログラムの構成を示す図である。
【0056】
図12に示すように、外部メモリ100には、固有鍵でそれぞれ暗号化された、暗号化制御プログラム200(Enc(制御プログラム、プログラム固有鍵))、および暗号化アプリケーションプログラム210(Enc(アプリケーションプログラム、プログラム固有鍵))が格納されている。
【0057】
暗号化制御プログラム200はアプリケーション起動部201およびプログラム更新制御部205を備え、プログラム更新制御部205は共有鍵復号部206、プログラム固有鍵暗号化処理部207およびプログラム更新成否判定部208を備えている。
【0058】
アプリケーション起動部201はブートROM60に格納されたブートプログラムからの指示を受けて、暗号化アプリケーションプログラム210を起動する。共有鍵復号部206はサーバ3から送信された共有鍵情報を基にして、鍵生成・更新シーケンサ30を用いて、プログラム共有鍵を復号する。プログラム固有鍵暗号化処理部207は鍵生成・更新シーケンサ30を用いて、共有鍵暗号化プログラムEnc(プログラム、プログラム共有鍵)から固有鍵暗号化プログラムEnc(プログラム、プログラム固有鍵)への変換を行う。プログラム更新成否判定部208は、固有鍵暗号化プログラムEnc(プログラム、プログラム固有鍵)を平文プログラムに復号し、ハッシュ検証によってプログラム更新の成否を判定する。そして、プログラム更新が成功したときは、古いプログラムを削除し、プログラム格納先・サイズなどの情報をセキュアメモリ10に格納する。
【0059】
暗号化アプリケーションプログラム210は、通常のアプリケーションプログラムである通常動作部211の他、サーバや記録媒体から新しいアプリケーションプログラムを取得するためのプログラム取得部212もアプリケーションプログラムとして備えている。プログラムの更新は、これらのような外部メモリ100に格納されたプログラムを用いて行われる。
【0060】
図13は共有鍵暗号化プログラムから固有鍵暗号化プログラムへの変換処理を含む、プログラム更新処理を示すフローチャートである。
【0061】
アプリケーションプログラムの実行中(SX1)に、ユーザの操作等の外部要因によってプログラムの更新が要求されると、システムはこれを検知し、プログラム更新を開始するために、通常動作部211が暗号化アプリケーションプログラム210の取得プログラムとしてのプログラム取得部212を起動する(SX2)。
【0062】
プログラム取得部212はサーバ3と通信して、認証や、共有鍵情報・プログラムの取得を行う(SX3)。サーバ3から共有鍵情報を取得すると、共有鍵復号部206はプログラム共有鍵を復号する(SX4,SX5)。すなわち、共有鍵鍵情報としての暗号化されたプログラム共有鍵Enc(プログラム共有鍵,MK2)、Enc(MK2,CK)を秘密鍵演算処理部20の暗号鍵格納レジスタ23に設定し、この暗号化されたプログラム共有鍵を、鍵生成・更新シーケンサ30に実装されたプログラム暗号種を用いて復号し、プログラム共有鍵を得る。得られたプログラム共有鍵は秘密鍵演算処理部20のプログラム共有鍵格納レジスタ21に格納される。
【0063】
次に、プログラム固有鍵暗号化処理部207が、共有鍵暗号化プログラムから固有鍵暗号化プログラムへの変換を行う。すなわち、サーバ3から送信され外部メモリ100に格納されていたプログラムEnc(プログラム,プログラム共有鍵)を、外部ホストI/F50が有するプログラム処理部51の暗号化用スルー部52を介して、秘密鍵演算処理部20に取り込む(SX6)。そして、取り込んだプログラムを、プログラム共有鍵格納レジスタ21に格納されたプログラム共有鍵で復号した後、プログラム固有鍵格納レジスタ22に格納されたプログラム固有鍵で暗号化し、プログラムEnc(プログラム,プログラム固有鍵)を得る。なお、上述したように、プログラム固有鍵はシステムの起動時にすでに復号されており、秘密鍵演算処理部20のプログラム固有鍵格納レジスタ22に格納されている。
【0064】
最後に、プログラム更新成否判定部208が、プログラム更新の成否を判定する。すなわち、Enc(プログラム,プログラム固有鍵)を外部メモリ100に書き込んだ(SX8)後、外部ホストI/F50が有するプログラム処理部51のプログラム復号用暗号エンジン53を用いて、復号して取り込み(SX9)、平文状態でのハッシュ値を演算する(SX10)。演算されたハッシュ値は、プログラム取得部212が暗号化プログラムとともに取得したハッシュ値と比較され、この比較によって更新の成否が判定される(SX11)。更新が成功したときは、古いプログラムを消去する(SX12)一方、更新が失敗したときは、送信されたプログラムを消去する(SX13)。そしてプログラム格納先、サイズなどの情報をセキュアメモリ10に書き込み(SX14)、更新処理が終了する。
【0065】
上述のプログラム更新方法を用いることによって、サーバからプログラム共有鍵暗号化プログラムを送信すると、セキュアLSIにおいて、暗号化する鍵がプログラム共有鍵からプログラム固有鍵に変換されて、システムに実装される。このため、たとえサーバからセキュアLSIへの通信路が不正にアクセスされプログラム共有鍵暗号化プログラムが盗み出されたとしても、このプログラムによってセキュアLSIを動作させることは、できない。また更新の結果、ユーザの持つ各製品では、互いに異なる固有鍵によって暗号化されたプログラムが実装されることになり、秘匿性が向上する。また、万一、暗号を破られた場合でも、被害を受ける製品の数が限定されることになり、従来よりもセキュリティが高まる。
【0066】
なお、本実施形態において、共有鍵情報をサーバから取得しているが、これは、商品動作モード「11」におけるプログラム実装(SD1)の最後において、復号されたプログラム共有鍵およびセキュアメモリ10上の共有鍵情報を削除しているためであり、これらを削除しない場合は、共有鍵情報はサーバから取得する必要はなく、セキュアメモリ10から読み出して復号すればよい。
【0067】
また、本実施形態では、外部要因によってプログラムの更新の開始が指示され、通常瞳サブ211がプログラム取得部212を起動し、プログラムの取得後はブートプログラムによって各処理を指示するものとしたが、本発明はこれに限られるものではない。例えば、ブートプログラムがプログラム取得部212を起動する構成にすることによって、さらにセキュリティを高めることができる。
【0068】
また、プログラム固有鍵は必ずしも製品毎に固有である必要はなく、品種ごとまたは複数個毎に同一であっても良い。1個の製品において暗号を破られたときに被害を少なくするのが本願発明のねらいであり、同一の鍵で暗号化されたプログラムを有するLSIの数を少しでも減らすだけで効果は充分に発揮できる。さらに言えば、プログラム固有鍵は全て共通であったとしても、通信路が破られ共有鍵暗号化プログラムが盗み出されたとしてもそのままではセキュアLSIで動作できないので、鍵を共有鍵から固有鍵に書き換えるだけでも、効果は発揮できる。
【0069】
【発明の効果】
以上のように本発明によると、プログラムをLSI毎の固有鍵で再暗号化して実行する秘匿性の高いセキュアLSIにおいても、サーバから同一のプログラムを送信するだけで、プログラムの更新をすること可能となる。
【0070】
また、サーバからセキュアLSIへの通信路が不正にアクセスされて共有鍵暗号化プログラムが盗み出されたとしても、そのプログラムではセキュアLSIを動作させることができないので、秘匿性が向上する。また、万一、暗号を破られた場合でも、被害を受ける製品の数が限定されることになり、従来よりもセキュリティが高まる。
【0071】
さらに、サーバから受信した共有鍵やプログラムの正当性を平文状態のハッシュ値を用いて行うので、通信路における暗号化状態でのハッシュ値で行うよりもハッシュ値の改ざんが行いにくくなり、セキュリティは高まる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るセキュアLSIの構成を示すブロック図である。
【図2】図1のセキュアLSIを用いた開発および製品化の全体の流れを表す図である。
【図3】ブートプログラムの全体的な処理の流れを示すフローチャートである。
【図4】セキュアメモリ初期値設定SZ1のデータフローである。
【図5】商品動作モードにおけるプログラム実装処理SD1のフローチャートである。
【図6】プログラム実装処理SD1のデータフロー1である。
【図7】プログラム実装処理SD1のデータフロー2である。
【図8】商品動作モードにおける通常ブート処理SD2のフローチャートである。
【図9】通常ブート処理SD2のデータフロー1である。
【図10】通常ブート処理SD2のデータフロー1である。
【図11】プログラム更新におけるサーバとの通信を示すフローチャートである。
【図12】外部メモリ100に格納された,プログラム更新に係わるプログラムの構成を示す図である。
【図13】プログラムの更新処理を示すフローチャートである。
【符号の説明】
1 セキュアLSI
3 サーバ
4 第1のテーブル
5 第2のテーブル
10 セキュアメモリ(内部メモリ)
58 プログラム固有鍵格納レジスタ
60 ブートROM
100 外部メモリ

Claims (11)

  1. LSIと外部メモリとを含むシステムにおいて、前記外部メモリに格納され、前記LSI固有の固有鍵で暗号化された固有鍵暗号化プログラムを更新する方法であって、
    前記システムが、サーバから送信された,共有鍵で暗号化された共有鍵暗号化プログラムを受信する第1ステップと、
    前記システムが、受信した前記共有鍵暗号化プログラムを復号することによって、平文プログラムを生成する第2ステップと、
    前記システムが、前記平文プログラムを、前記固有鍵で再暗号化し、新たな固有鍵暗号化プログラムとして前記外部メモリに格納する第3ステップとを備えたことを特徴とするプログラム更新方法。
  2. 請求項1記載のプログラム更新方法において、
    前記サーバから送信された共有鍵情報を、受信するステップと、
    受信した前記共有鍵情報を用いて、平文共有鍵を生成するステップとをさらに備え、
    前記第2ステップにおいて、前記平文共有鍵を用いて、前記共有鍵暗号化プログラムを復号する
    ことを特徴とするプログラム更新方法。
  3. 請求項2記載のプログラム更新方法において、
    前記共有鍵情報は、前記平文共有鍵を平文第1中間鍵で暗号化した暗号化共有鍵と、前記平文第1中間鍵を平文第2中間鍵で暗号化した暗号化第1中間鍵とを含むものである
    ことを特徴とするプログラム更新方法。
  4. 請求項1記載のプログラム更新方法において、
    前記LSIは、固有鍵情報が格納された内部メモリを備えており、
    前記システムは、その起動時に、前記内部メモリに格納された固有鍵情報を用いて、平文固有鍵を生成するものであり、
    前記第3ステップにおいて、前記平文プログラムの再暗号化のために、前記平文固有鍵を用いる
    ことを特徴とするプログラム更新方法。
  5. 請求項4記載のプログラム更新方法において、
    前記固有鍵情報は、前記平文固有鍵を平文第3中間鍵で暗号化した暗号化固有鍵と、前記平文第3中間鍵を平文第4中間鍵で暗号化した暗号化第2中間鍵とを含むものである
    ことを特徴とするプログラム更新方法。
  6. 請求項4記載のプログラム更新方法において、
    生成された前記平文固有鍵は、前記LSI内のレジスタに格納され、前記固有鍵暗号化プログラムを実行する際の、平文プログラムへの復号化のために、用いられる
    ことを特徴とするプログラム更新方法。
  7. 請求項1記載のプログラム更新方法において、
    前記LSIは、ブートプログラムが格納されたブートROMを備えており、
    前記外部メモリは、サーバとの送受信を実行するための取得プログラムが格納されており、
    前記システムは、前記共有鍵暗号化プログラムの受信を、前記外部メモリに格納された取得プログラムによって実行し、受信後の更新処理を、前記ブートROMに格納されたブートプログラムによって制御する
    ことを特徴とするプログラム更新方法。
  8. 請求項1記載のプログラム更新方法において、
    前記サーバから送信された、前記平文プログラムのハッシュ値を受信するステップを備え、
    前記第2ステップにおいて、復号した平文プログラムについて、受信したハッシュ値を用いてハッシュ検証を行う
    ことを特徴とするプログラム更新方法。
  9. LSIを含むシステムにおけるプログラム更新のために、動作するサーバであって、
    前記システムから、前記LSIのIDと、更新対象プログラムの識別情報であるアプリIDとを受信する第1ステップと、
    アプリIDとLSIIDとの対応関係を示す第1のテーブルを参照して、前記更新対象プログラムを前記システムに送信するか否かを決定する第2ステップと、
    前記第2ステップで送信すると決定したとき、前記システムへ、前記更新対象プログラムを共有鍵で暗号化した共有鍵暗号化プログラム、および前記共有鍵の基になる共有鍵情報を送信する第3ステップとを実行する
    ことを特徴とするサーバ。
  10. 請求項9記載のサーバにおいて、
    前記システムから、前記更新対象プログラムの実行に必要なアプリ固有情報を要求する信号を受信する第4ステップと、
    アプリ固有情報の送信履歴とLSIIDとの対応関係を示す第2のテーブルを参照して、前記第4のステップで要求されたアプリ固有情報を送信するか否かを決定する第5のステップとを実行する
    ことを特徴とするサーバ。
  11. 請求項9記載のサーバにおいて、
    前記共有鍵情報は、平文共有鍵を平文第1中間鍵で暗号化した暗号化共有鍵と、前記平文第1中間鍵を平文第2中間鍵で暗号化した暗号化第1中間鍵とを含むものである
    ことを特徴とするサーバ。
JP2002331992A 2002-11-15 2002-11-15 プログラム更新方法 Expired - Lifetime JP4099039B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP2002331992A JP4099039B2 (ja) 2002-11-15 2002-11-15 プログラム更新方法
US10/696,621 US7546468B2 (en) 2002-11-15 2003-10-30 Program update method and server
EP03026010A EP1422591B1 (en) 2002-11-15 2003-11-11 Program update method and server
EP05016583A EP1594030B1 (en) 2002-11-15 2003-11-11 Program update method and server
DE60313368T DE60313368T2 (de) 2002-11-15 2003-11-11 Verfahren und Server zum Aktualisieren von Software
DE60303476T DE60303476T2 (de) 2002-11-15 2003-11-11 Verfahren und server für eine programm-aktualisierung
TW097130619A TW200903215A (en) 2002-11-15 2003-11-14 Program update method and server
TW092132054A TW200409516A (en) 2002-11-15 2003-11-14 Program update method and server
CNA200310114997A CN1505311A (zh) 2002-11-15 2003-11-14 程序更新方法及服务器
US11/798,367 US7539312B2 (en) 2002-11-15 2007-05-14 Program update method and server
US12/081,889 US7849331B2 (en) 2002-11-15 2008-04-23 Program update method and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002331992A JP4099039B2 (ja) 2002-11-15 2002-11-15 プログラム更新方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007148054A Division JP2007272923A (ja) 2007-06-04 2007-06-04 サーバ

Publications (3)

Publication Number Publication Date
JP2004164491A true JP2004164491A (ja) 2004-06-10
JP2004164491A5 JP2004164491A5 (ja) 2005-04-07
JP4099039B2 JP4099039B2 (ja) 2008-06-11

Family

ID=32212042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002331992A Expired - Lifetime JP4099039B2 (ja) 2002-11-15 2002-11-15 プログラム更新方法

Country Status (6)

Country Link
US (3) US7546468B2 (ja)
EP (2) EP1594030B1 (ja)
JP (1) JP4099039B2 (ja)
CN (1) CN1505311A (ja)
DE (2) DE60313368T2 (ja)
TW (2) TW200903215A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179317A (ja) * 2005-12-28 2007-07-12 Nec Electronics Corp マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム
JP2008084140A (ja) * 2006-09-28 2008-04-10 Hitachi Software Eng Co Ltd 二次記憶装置書込み禁止システム
JP2008521091A (ja) * 2004-11-15 2008-06-19 マイクロソフト コーポレーション 分離コンピューティング環境をプログラムするためのシステムおよび方法
JP2008535049A (ja) * 2005-03-22 2008-08-28 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. トラステッドデータのための方法、デバイス、およびデータ構造体
WO2009028137A1 (ja) * 2007-08-28 2009-03-05 Panasonic Corporation 鍵端末装置、暗号処理用lsi、固有鍵生成方法及びコンテンツシステム
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US9189605B2 (en) 2005-04-22 2015-11-17 Microsoft Technology Licensing, Llc Protected computing environment
US9218478B2 (en) 2012-12-19 2015-12-22 Socionext Inc. Microcomputer, middleware, and operating method for the same
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
JP2017058873A (ja) * 2015-09-15 2017-03-23 ルネサスエレクトロニクス株式会社 半導体装置
JP2017108293A (ja) * 2015-12-10 2017-06-15 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびデータ処理装置
JP6381857B1 (ja) * 2017-06-23 2018-08-29 三菱電機株式会社 ラダープログラム不正利用防止システム、ラダープログラム不正利用防止方法、およびエンジニアリングツール
US10354073B2 (en) 2015-07-30 2019-07-16 Kabushiki Kaisha Toshiba Information processor device verifying software and method of controlling information processor device
WO2020195348A1 (ja) * 2019-03-28 2020-10-01 オムロン株式会社 制御システム、セキュリティ装置および方法

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
EP1715616A1 (en) * 2004-03-30 2006-10-25 Matsushita Electric Industrial Co., Ltd. Update system for cipher system
US7512939B2 (en) * 2004-10-05 2009-03-31 Neopost Technologies System and method of secure updating of remote device software
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8464348B2 (en) 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US20090235003A1 (en) * 2005-06-09 2009-09-17 Takaharu Tanaka Memory control device and memory control method
US7600166B1 (en) * 2005-06-28 2009-10-06 David Dunn Method and system for providing trusted access to a JTAG scan interface in a microprocessor
FR2892876A1 (fr) * 2005-11-02 2007-05-04 Gemplus Sa Procede de depot securise de donnees numeriques, procede associe de recuperation de donnees numeriques, dispositifs associes pour la mise en oeuvre des procedes, et systeme comprenant les dits dispositifs
US7941640B1 (en) * 2006-08-25 2011-05-10 Marvell International Ltd. Secure processors having encoded instructions
US8364975B2 (en) * 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
US20080178257A1 (en) * 2007-01-20 2008-07-24 Takuya Mishina Method for integrity metrics management
JP4933286B2 (ja) * 2007-01-26 2012-05-16 株式会社日立製作所 暗号化パケット通信システム
JP4903071B2 (ja) * 2007-03-15 2012-03-21 株式会社リコー 情報処理装置、ソフトウェア更新方法及び画像処理装置
US20090025066A1 (en) * 2007-07-17 2009-01-22 Protectia Corporation Systems and methods for first and second party authentication
CN101822025B (zh) * 2007-10-15 2013-10-23 Nxp股份有限公司 用于管理被存储在移动通信设备中的已过期或已消耗的应用的方法和服务提供商
US9069990B2 (en) * 2007-11-28 2015-06-30 Nvidia Corporation Secure information storage system and method
US9158896B2 (en) * 2008-02-11 2015-10-13 Nvidia Corporation Method and system for generating a secure key
US20090204801A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Mechanism for secure download of code to a locked system
US20090204803A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Handling of secure storage key in always on domain
US8719585B2 (en) * 2008-02-11 2014-05-06 Nvidia Corporation Secure update of boot image without knowledge of secure key
US9069706B2 (en) * 2008-02-11 2015-06-30 Nvidia Corporation Confidential information protection system and method
US9613215B2 (en) 2008-04-10 2017-04-04 Nvidia Corporation Method and system for implementing a secure chain of trust
TWI680117B (zh) * 2008-05-23 2019-12-21 派洛泰克藥物股份有限公司 四環素化合物之甲苯磺酸鹽及同素異形體
US8397084B2 (en) * 2008-06-12 2013-03-12 Microsoft Corporation Single instance storage of encrypted data
US8386800B2 (en) * 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
WO2011119137A1 (en) 2010-03-22 2011-09-29 Lrdc Systems, Llc A method of identifying and protecting the integrity of a set of source data
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
US20120213370A1 (en) * 2011-02-18 2012-08-23 General Instrument Corporation Secure management and personalization of unique code signing keys
US10110380B2 (en) * 2011-03-28 2018-10-23 Nxp B.V. Secure dynamic on chip key programming
US8560662B2 (en) * 2011-09-12 2013-10-15 Microsoft Corporation Locking system for cluster updates
US8876108B2 (en) * 2011-12-26 2014-11-04 Canon Kabushiki Kaisha Sheet transport apparatus and image forming apparatus
DE102013101508A1 (de) * 2012-02-20 2013-08-22 Denso Corporation Datenkommunikationsauthentifizierungssystem für ein Fahrzeug, Netzkopplungsvorrichtung für ein Fahrzeug, Datenkommunikationssystem für ein Fahrzeug und Datenkommunikationsvorrichtung für ein Fahrzeug
US9489924B2 (en) 2012-04-19 2016-11-08 Nvidia Corporation Boot display device detection and selection techniques in multi-GPU devices
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
DE102015108336A1 (de) * 2015-05-27 2016-12-01 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Ausführen einer sicherheitsrelevanten Anwendung, Computersystem und Anordnung
US10044514B1 (en) * 2015-09-25 2018-08-07 Xilinx, Inc. Secure external key storage for programmable ICS
US9935945B2 (en) * 2015-11-05 2018-04-03 Quanta Computer Inc. Trusted management controller firmware
US9448785B1 (en) * 2015-11-06 2016-09-20 AO Kaspersky Lab System and method updating full disk encryption software
US11675587B2 (en) 2015-12-03 2023-06-13 Forrest L. Pierson Enhanced protection of processors from a buffer overflow attack
US10564969B2 (en) * 2015-12-03 2020-02-18 Forrest L. Pierson Enhanced protection of processors from a buffer overflow attack
EP3293978A1 (en) * 2016-09-09 2018-03-14 Nagravision S.A. Method for implementing a new default configuration in a host device and system therefor
EP3977670A4 (en) 2019-05-24 2023-06-28 ARRIS Enterprises LLC Key-ladder protected personalization data conversion from global to unique encryption
CN110621014B (zh) * 2019-09-18 2022-06-17 深圳市元征科技股份有限公司 一种车载设备及其程序升级方法、服务器

Family Cites Families (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218738A (en) * 1978-05-05 1980-08-19 International Business Machines Corporation Method for authenticating the identity of a user of an information system
US4864615A (en) * 1988-05-27 1989-09-05 General Instrument Corporation Reproduction of secure keys by using distributed key generation data
US4941176A (en) * 1988-08-11 1990-07-10 International Business Machines Corporation Secure management of keys using control vectors
US5037497A (en) * 1988-08-30 1991-08-06 Cochlear Corporation Method of fabricating an array of recessed radially oriented bipolar electrodes
US4914176A (en) * 1989-03-17 1990-04-03 Shell Oil Company Poly(heterocyclic) polymers
US5029207A (en) * 1990-02-01 1991-07-02 Scientific-Atlanta, Inc. External security module for a television signal decoder
US5307497A (en) * 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
JPH0713705A (ja) * 1993-06-16 1995-01-17 Hitachi Ltd ディスク装置
US5416840A (en) * 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
US5666411A (en) * 1994-01-13 1997-09-09 Mccarty; Johnnie C. System for computer software protection
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
JPH0822390A (ja) 1994-07-05 1996-01-23 Advance Co Ltd ソフトウエア防衛方式
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5999629A (en) * 1995-10-31 1999-12-07 Lucent Technologies Inc. Data encryption security module
US6577734B1 (en) * 1995-10-31 2003-06-10 Lucent Technologies Inc. Data encryption key management system
JP3627384B2 (ja) * 1996-01-17 2005-03-09 富士ゼロックス株式会社 ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5812671A (en) * 1996-07-17 1998-09-22 Xante Corporation Cryptographic communication system
US5771287A (en) * 1996-08-01 1998-06-23 Transcrypt International, Inc. Apparatus and method for secured control of feature set of a programmable device
US6523119B2 (en) * 1996-12-04 2003-02-18 Rainbow Technologies, Inc. Software protection device and method
JPH10214232A (ja) * 1997-01-30 1998-08-11 Rohm Co Ltd Icカードおよびicカードの運用方法
EP0878796B1 (en) * 1997-05-13 2006-04-19 Kabushiki Kaisha Toshiba Information recording apparatus, information reproducing apparatus, and information distribution system
US6987854B2 (en) * 1997-09-25 2006-01-17 Thomson Licensing S.A. Method and apparatus for recording of encrypted digital data
EP0912052A1 (en) 1997-09-25 1999-04-28 CANAL+ Société Anonyme Method and apparatus for recording of encrypted digital data
JP3272283B2 (ja) * 1997-11-14 2002-04-08 富士通株式会社 電子データ保管装置
US6333983B1 (en) * 1997-12-16 2001-12-25 International Business Machines Corporation Method and apparatus for performing strong encryption or decryption data using special encryption functions
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
GB2336005A (en) 1998-03-28 1999-10-06 Motorola Ltd Maintaining security in development tools
JPH11282667A (ja) 1998-03-31 1999-10-15 Nakamichi Corp 多重鍵方式の暗号処理機能を有するマイクロプロセッサ
WO1999050992A1 (fr) * 1998-04-01 1999-10-07 Matsushita Electric Industrial Co., Ltd. Procede d'emission/reception de donnees, emetteur de donnees, recepteur de donnees, systeme d'emission/reception de donnees, procede d'emission de contenu audiovisuel, procede de reception de contenu audiovisuel, emetteur de contenu audiovisuel, recepteur de contenu audiovisuel, et support d'enregistrement de programme
JP3995338B2 (ja) * 1998-05-27 2007-10-24 富士通株式会社 ネットワーク接続制御方法及びシステム
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6834346B1 (en) * 1998-07-30 2004-12-21 Sony Corporation Content processing system
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
JP2000122931A (ja) 1998-10-15 2000-04-28 Toshiba Corp デジタル集積回路
JP2000181803A (ja) * 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
US6791580B1 (en) * 1998-12-18 2004-09-14 Tangis Corporation Supplying notifications related to supply and consumption of user context data
JP2000231608A (ja) * 1999-02-10 2000-08-22 Hitachi Ltd 移動体識別装置及びicカード
JP3779837B2 (ja) 1999-02-22 2006-05-31 松下電器産業株式会社 コンピュータ及びプログラム記録媒体
WO2000057290A1 (fr) 1999-03-19 2000-09-28 Hitachi, Ltd. Processeur d'informations
AU3629400A (en) 1999-03-19 2000-10-09 Cybersource Corporation Method and apparatus for verifying address information
US6367019B1 (en) * 1999-03-26 2002-04-02 Liquid Audio, Inc. Copy security for portable music players
JP2000347852A (ja) 1999-03-30 2000-12-15 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2000347847A (ja) 1999-03-30 2000-12-15 Sony Corp 情報処理装置および方法、半導体ic、情報処理システム、並びにプログラム格納媒体
US6988199B2 (en) * 2000-07-07 2006-01-17 Message Secure Secure and reliable document delivery
US6324647B1 (en) * 1999-08-31 2001-11-27 Michel K. Bowman-Amuah System, method and article of manufacture for security management in a development architecture framework
US6643259B1 (en) * 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
JP4090166B2 (ja) * 1999-11-22 2008-05-28 株式会社東京アールアンドデー 電動装置及び電動装置システム
JP3677001B2 (ja) * 1999-12-03 2005-07-27 三洋電機株式会社 データ配信システムおよびそれに用いられる記録装置
CN1257508C (zh) * 1999-12-28 2006-05-24 松下电器产业株式会社 记录装置
JP2001274786A (ja) 2000-01-21 2001-10-05 Victor Co Of Japan Ltd コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
JP2001211149A (ja) 2000-01-25 2001-08-03 Sony Corp データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US7270193B2 (en) 2000-02-14 2007-09-18 Kabushiki Kaisha Toshiba Method and system for distributing programs using tamper resistant processor
JP3888823B2 (ja) * 2000-02-14 2007-03-07 松下電器産業株式会社 半導体集積回路
US20020021804A1 (en) * 2000-02-18 2002-02-21 Ledzius Robert C. System and method for data encryption
JP4622064B2 (ja) * 2000-04-06 2011-02-02 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP2001290671A (ja) 2000-04-10 2001-10-19 Matsushita Electric Ind Co Ltd インサーキットエミュレータおよび記録媒体およびミドルウェア発行システム
US7003107B2 (en) * 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
JP2001339383A (ja) * 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
JP3505482B2 (ja) * 2000-07-12 2004-03-08 株式会社東芝 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体
US20020016917A1 (en) * 2000-08-04 2002-02-07 Tomohiko Kitamura System integrated circuit
JP3811340B2 (ja) * 2000-08-11 2006-08-16 Kpe株式会社 表示装置及び遊技機
US7051211B1 (en) * 2000-08-21 2006-05-23 International Business Machines Corporation Secure software distribution and installation
US6857067B2 (en) * 2000-09-01 2005-02-15 Martin S. Edelman System and method for preventing unauthorized access to electronic data
CN1219382C (zh) 2000-09-05 2005-09-14 中兴通讯股份有限公司 一种新的加密装置
JP4269501B2 (ja) * 2000-09-07 2009-05-27 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP4595182B2 (ja) * 2000-09-07 2010-12-08 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
WO2002023349A1 (fr) * 2000-09-18 2002-03-21 Kabushiki Kaisha Toshiba Support electronique portable
JP4153653B2 (ja) 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
US20020078380A1 (en) 2000-12-20 2002-06-20 Jyh-Han Lin Method for permitting debugging and testing of software on a mobile communication device in a secure environment
US6970565B1 (en) * 2000-12-22 2005-11-29 Xm Satellite Radio Inc. Apparatus for and method of securely downloading and installing a program patch in a processing device
JP4710132B2 (ja) * 2000-12-26 2011-06-29 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体
DE10065684A1 (de) * 2000-12-29 2002-07-18 Aladdin Knowledge Systems Gmbh System und Verfahren zum Erteilen der Laufberechtigung für ein auf einem Rechner installiertes Programm
US20020095382A1 (en) * 2001-01-10 2002-07-18 Hiroki Taoka Content decryption device
US7174568B2 (en) * 2001-01-31 2007-02-06 Sony Computer Entertainment America Inc. Method and system for securely distributing computer software products
JP2002244989A (ja) * 2001-02-20 2002-08-30 Nec Corp デバイスドライバ作動方法
JP2002251326A (ja) 2001-02-22 2002-09-06 Hitachi Ltd 耐タンパ計算機システム
US20030211793A1 (en) * 2001-03-05 2003-11-13 Eugene Bell Injectable bio-compatible material and methods of use
JP3995894B2 (ja) 2001-03-16 2007-10-24 日本電信電話株式会社 アプリケーション又はデータ格納メモリを具えた装置の使用可能記憶容量増大方法
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
JP3918448B2 (ja) * 2001-04-02 2007-05-23 日本ビクター株式会社 エージェントシステムにおける認証方法
US20020174264A1 (en) * 2001-05-17 2002-11-21 David Fuller System and method for obtaining driver software and documentation for a detected hardware and software configuration
US20020184512A1 (en) * 2001-05-31 2002-12-05 Cardoso Augusto C. Method and apparatus for supporting remote configuration to facilitate subscriber management
JP2002358092A (ja) * 2001-06-01 2002-12-13 Sony Corp 音声合成システム
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7062718B2 (en) 2001-08-14 2006-06-13 National Instruments Corporation Configuration diagram which graphically displays program relationship
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
JP3773431B2 (ja) * 2001-09-20 2006-05-10 松下電器産業株式会社 鍵実装システムおよびこれを実現するためのlsi、並びに鍵実装方法
JP2003110543A (ja) * 2001-09-27 2003-04-11 Toshiba Corp 暗号キー設定システム、無線通信装置および暗号キー設定方法
US7117352B1 (en) * 2002-02-13 2006-10-03 Lsi Logic Corporation Debug port disable mechanism
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image
US20040088176A1 (en) * 2002-11-04 2004-05-06 Balaji Rajamani System and method of automated licensing of an appliance or an application
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008521091A (ja) * 2004-11-15 2008-06-19 マイクロソフト コーポレーション 分離コンピューティング環境をプログラムするためのシステムおよび方法
JP2008535049A (ja) * 2005-03-22 2008-08-28 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. トラステッドデータのための方法、デバイス、およびデータ構造体
JP4732508B2 (ja) * 2005-03-22 2011-07-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. トラステッドデータのための方法、デバイス、およびデータ構造体
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9189605B2 (en) 2005-04-22 2015-11-17 Microsoft Technology Licensing, Llc Protected computing environment
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
JP2007179317A (ja) * 2005-12-28 2007-07-12 Nec Electronics Corp マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム
JP2008084140A (ja) * 2006-09-28 2008-04-10 Hitachi Software Eng Co Ltd 二次記憶装置書込み禁止システム
WO2009028137A1 (ja) * 2007-08-28 2009-03-05 Panasonic Corporation 鍵端末装置、暗号処理用lsi、固有鍵生成方法及びコンテンツシステム
US8189793B2 (en) 2007-08-28 2012-05-29 Panasonic Corporation Key terminal apparatus, crypto-processing LSI, unique key generation method, and content system
JP5180182B2 (ja) * 2007-08-28 2013-04-10 パナソニック株式会社 鍵端末装置、暗号処理用lsi、固有鍵生成方法及びコンテンツシステム
US9218478B2 (en) 2012-12-19 2015-12-22 Socionext Inc. Microcomputer, middleware, and operating method for the same
US10354073B2 (en) 2015-07-30 2019-07-16 Kabushiki Kaisha Toshiba Information processor device verifying software and method of controlling information processor device
JP2017058873A (ja) * 2015-09-15 2017-03-23 ルネサスエレクトロニクス株式会社 半導体装置
JP2017108293A (ja) * 2015-12-10 2017-06-15 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびデータ処理装置
JP6381857B1 (ja) * 2017-06-23 2018-08-29 三菱電機株式会社 ラダープログラム不正利用防止システム、ラダープログラム不正利用防止方法、およびエンジニアリングツール
WO2018235268A1 (ja) * 2017-06-23 2018-12-27 三菱電機株式会社 ラダープログラム不正利用防止システム、ラダープログラム不正利用防止方法、エンジニアリングツール、ライセンス配信サーバおよびプログラマブルコントローラ
WO2020195348A1 (ja) * 2019-03-28 2020-10-01 オムロン株式会社 制御システム、セキュリティ装置および方法
JP2020166317A (ja) * 2019-03-28 2020-10-08 オムロン株式会社 制御システム、セキュリティ装置および方法
JP7300866B2 (ja) 2019-03-28 2023-06-30 オムロン株式会社 制御システム

Also Published As

Publication number Publication date
US7546468B2 (en) 2009-06-09
US7539312B2 (en) 2009-05-26
DE60303476T2 (de) 2006-08-10
EP1594030B1 (en) 2007-04-18
DE60313368T2 (de) 2008-05-15
CN1505311A (zh) 2004-06-16
DE60313368D1 (de) 2007-05-31
US20040105548A1 (en) 2004-06-03
TW200409516A (en) 2004-06-01
US20090138728A1 (en) 2009-05-28
EP1594030A2 (en) 2005-11-09
US7849331B2 (en) 2010-12-07
EP1594030A3 (en) 2005-12-28
EP1422591A1 (en) 2004-05-26
TW200903215A (en) 2009-01-16
DE60303476D1 (de) 2006-04-20
US20070217614A1 (en) 2007-09-20
EP1422591B1 (en) 2006-02-08
JP4099039B2 (ja) 2008-06-11

Similar Documents

Publication Publication Date Title
JP4099039B2 (ja) プログラム更新方法
KR101735023B1 (ko) 민감한 코드와 데이터를 보호하는 아키텍처를 포함하는 방법 및 장치
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
US8670568B2 (en) Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
JP5116325B2 (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
TWI567579B (zh) 用於對硬體裝置提供金鑰的方法和設備
US8190912B2 (en) Program development method, program development supporting system, and program installation method
US20150186679A1 (en) Secure processor system without need for manufacturer and user to know encryption information of each other
US20110113235A1 (en) PC Security Lock Device Using Permanent ID and Hidden Keys
JP2009032282A (ja) データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復
JP2017157018A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及びトラステッド・プラットフォーム・モジュール
JP2016146618A (ja) 情報処理装置
JP5582231B2 (ja) 情報処理装置、真正性確認方法、及び記録媒体
JP2007282064A (ja) データ処理装置、データ処理方法、記憶媒体、プログラム
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
JP4580030B2 (ja) セキュアデバイス
JP2007272923A (ja) サーバ
JP2007272923A5 (ja)
JP4676547B2 (ja) 半導体装置およびそのブート方法
JP2010033603A (ja) 情報処理装置
JP2008003774A (ja) マイクロコンピュータ
JP2013191226A (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP5234217B2 (ja) 情報処理装置、ソフトウェア更新方法及びプログラム
JP5310897B2 (ja) 情報処理装置、ソフトウェア更新方法及び記録媒体
JP2009169989A (ja) プログラム実装方法および情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080314

R150 Certificate of patent or registration of utility model

Ref document number: 4099039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140321

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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