JP4818824B2 - プログラム管理システムおよび端末装置 - Google Patents

プログラム管理システムおよび端末装置 Download PDF

Info

Publication number
JP4818824B2
JP4818824B2 JP2006163249A JP2006163249A JP4818824B2 JP 4818824 B2 JP4818824 B2 JP 4818824B2 JP 2006163249 A JP2006163249 A JP 2006163249A JP 2006163249 A JP2006163249 A JP 2006163249A JP 4818824 B2 JP4818824 B2 JP 4818824B2
Authority
JP
Japan
Prior art keywords
program
signature
information
common key
verification
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 - Fee Related
Application number
JP2006163249A
Other languages
English (en)
Other versions
JP2007336040A (ja
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2006163249A priority Critical patent/JP4818824B2/ja
Publication of JP2007336040A publication Critical patent/JP2007336040A/ja
Application granted granted Critical
Publication of JP4818824B2 publication Critical patent/JP4818824B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、端末装置上で起動されるプログラムの状態を確認するプログラム管理システムに関する。また、本発明は、プログラムが起動される端末装置にも関する。
安全性の不明な端末装置の完全性(改竄されていないこと)を検証する仕組みとして、TPM(Trusted Platform Module)がある(例えば非特許文献1参照)。これは、BIOS(Basic Input/Output System)、ブートローダ、OS(Operating System)、アプリケーションが正しい状態であるときのそれらのハッシュ値をTPM内のハッシュ格納領域に保存しておき、ホストが起動する度にそれらのハッシュ値を、保存されている正しいとされるハッシュ値と比較することで改変を検知する仕組みである。
ハッシュ値同士の比較による改変の有無の確認は以下の手順で行われる。まず、BIOSの改変の有無を確認して、BIOSが正しい状態であることを確認した後に、この正しいBIOSからブートローダの改変の有無を確認する。改変が無い場合には、ブートローダが正しい状態であるとして、次に正しいとされるブートローダからOSを起動する。OSに改変が無い場合には、OSが正しい状態であるとして、このOSからアプリケーションを起動する。このとき、アプリケーションにも改変が無い場合には、正しいアプリケーションが起動されたとみなされる。
R. Sailer, X. Zhang, T. Jaeger, and L. v. Doorn, "Design and Implementation of a TCG-based Integrity Measurement Architecture," Proceedings of 13th USENIX Security Symposium, pp.223-238, August, 2004
OSやアプリケーションについては、セキュリティパッチやバグを修正するための状態更新が頻繁に行われる。しかし、TPM内のハッシュ格納領域に一旦保存されたハッシュ値をOSやアプリケーションの更新に合わせて変更することができないため、改変の有無の確認を正しく行うことができなくなる。こうした時間の経過と共に変化する状態について、TPMで正しい状態の連鎖を管理する手順は規定されていない。
本発明は、上述した問題点に鑑みてなされたものであって、端末装置上で起動されるプログラムの改竄の有無を検証することができるプログラム管理システムおよび端末装置を提供することを目的とする。
本発明は、上記の課題を解決するためになされたもので、共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムに従った処理を実行する端末装置と、前記プログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置とを備えたプログラム管理システムであって、前記端末装置は、前記プログラムを記憶する第1の記憶手段と、前記第1の記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理であり、前記管理装置は、前記端末装置から受信した前記検証結果情報に基づいて前記プログラムの改竄の有無を検証する第1の検証手段と、前記検証用情報を前記端末装置へ送信し、前記端末装置から受信した前記第2の署名情報を前記共通鍵で復号化して得た前記検証用情報を検証することにより前記プログラムを認証する認証手段とを備えたことを特徴とするプログラム管理システムである。
また、本発明のプログラム管理システムは、前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれており、前記管理装置はさらに、前記端末装置から前記実行結果情報および前記第3の署名情報を受信し、前記第3の署名情報を検証する第2の検証手段を備えたことを特徴とする。
また、本発明のプログラム管理システムにおいて、前記管理装置はさらに、前記プログラムを生成して前記端末装置へ送信するプログラム生成手段と、前記共通鍵および前記第1の署名処理の少なくともいずれかを前記プログラムに埋め込む位置を制御する埋め込み位置制御手段とを備えたことを特徴とする。
また、本発明のプログラム管理システムにおいて、前記管理装置はさらに、前記共通鍵の識別情報と前記共通鍵の有効期限が関連付けられた有効期限情報を記憶する第2の記憶手段と、前記第2の記憶手段から前記有効期限情報を読み出し、前記有効期限情報に基づいて前記共通鍵が有効であるか否かを判定する判定手段とを備えたことを特徴とする。
また、本発明のプログラム管理システムにおいて、前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行中のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする。
また、本発明は、共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置と通信する端末装置であって、前記プログラムを記憶する記憶手段と、前記記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理であることを特徴とする端末装置である。
また、本発明の端末装置において、前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれていることを特徴とする。
また、本発明の端末装置において、前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行時のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする。
本発明によれば、プログラムに埋め込まれている署名検証処理を実行し、プログラムに付加されている第1の署名情報を検証することによって、記憶手段に格納されているプログラムの改竄の有無を検証することができるという効果が得られる。また、第2の署名情報を復号化して得た検証用情報を検証することによって、プログラムの認証を行うことができるという効果が得られる。
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態によるプログラム管理システムの構成を示している。本プログラム管理システムは、信頼性のある管理局1(本発明の管理装置に対応)と、安全性の不明な端末2(本発明の端末装置に対応)とから構成されている。管理局1と端末2は、図示せぬ通信ネットワーク(有線あるいは無線のLAN(Local Area Network)等の小ネットワーク、および小ネットワークどうしを結ぶ基幹ネットワークの集合体としてのネットワーク)を介して通信を行う。
端末2は、携帯電話、PHS(Personal Handyphone System)、PDA(Personal Digital Assistance)等の端末であり、図1では1台のみが図示されているが、当然、複数台が存在していてもよい。また、管理局1および端末2の構成に関して、図1では本実施形態で必須となる構成のみが示されており、管理局1および端末2が、図1に示される構成以外の構成を備えていても構わない。
管理局1において、HDD(Hard Disk Drive)10には、端末2がダウンロードするプログラムであるダウンロードソフトウェアや、管理局1の動作用のソフトウェア、管理局1の公開鍵および秘密鍵、端末2と共有する共通鍵が格納される。CPU(Central Processing Unit)11(本発明の管理装置が備える各手段に対応)は、管理局1が起動されるとHDD10から動作用ソフトウェアを読み出し、メモリ12上にロードして、動作用ソフトウェアに従った処理を実行する。通信制御部13は、例えばネットワークインタフェースカード内に設けられており、端末2との通信を制御する。端末2も管理局1と同様に、HDD20(本発明の記憶手段に対応)、CPU21(本発明のプログラム実行手段に対応)、メモリ22、および通信制御部23を備えている。
本プログラム管理システムの動作を説明する。本プログラム管理システムの動作によって、端末2がダウンロードするダウンロードソフトウェアの完全性の検証(改竄の有無の検証)が可能となると共に、ダウンロードソフトウェアの認証が可能となる。特に、ダウンロードソフトウェアの完全性の検証に関しては、HDD20に格納されたダウンロードソフトウェアの完全性の検証と、メモリ22上にロードされた起動中のダウンロードソフトウェアの出力結果の完全性の検証とが可能となる。
本実施形態におけるダウンロードソフトウェアは、例えばネットショッピング等で発生した料金を端末2のユーザに請求するのに必要な情報を収集して管理局1に通知するソフトウェアである。正常な料金請求を行うため、ダウンロードソフトウェアの完全性の検証とダウンロードソフトウェアの出力結果の検証が必要となる。
次に、図1および図2を参照しながら本プログラム管理システムの動作を説明する。管理局1のCPU11は、ダウンロードソフトウェアを生成する際に、共通鍵を生成し(ステップS10)、ダウンロードソフトウェアに対して共通鍵と各種処理を埋め込む(ステップS20)。各種処理とは、起動通知と署名処理(本発明の第1の署名処理に対応)、自己署名検証処理(本発明の署名検証処理に対応)、結果署名と通知処理(本発明の第2の署名処理に対応)であり、各処理の詳細は後述する。
続いて、CPU11は、生成したダウンロードソフトウェアのハッシュ値を算出し、HDD10から読み出した管理局1の秘密鍵でハッシュ値を暗号化することによって電子署名を生成し(ステップS30)、その電子署名を自己署名(本発明の第1の署名情報に対応)として付加したダウンロードソフトウェアをHDD10に格納する。
端末2からの要求に応じて、管理局1はダウンロードソフトウェアを端末2へ送信する。このとき、管理局1のCPU11はHDD10からダウンロードソフトウェアを読み出し、メモリ12に一時的に格納しながら、通信制御部13へダウンロードソフトウェアを出力する。通信制御部13は、通信ネットワークを介してダウンロードソフトウェアを端末2へ送信する(ステップS40)。
端末2の通信制御部23はダウンロードソフトウェアを受信し、CPU21へ出力する。CPU21は、ダウンロードソフトウェアをメモリ22に一時的に格納しながら、受信された全てのダウンロードソフトウェアを最終的にHDD20に格納する(ステップS50)。
続いて、ユーザまたは起動中の他のソフトウェアからの指示を受け、CPU21はHDD20からダウンロードソフトウェアを読み出してメモリ22上にロードする(ステップS60)。これによって、ダウンロードソフトウェアが起動され、CPU21は、ダウンロードソフトウェアに従った処理を実行する。
まず、CPU21は、ダウンロードソフトウェアに埋め込まれている自己署名検証処理を実行する。この自己署名検証処理は、HDD20に格納されたダウンロードソフトウェアの完全性の検証に必要な処理である。CPU21はHDD20からダウンロードソフトウェアを読み出し、そのダウンロードソフトウェアに付加されている自己署名を検証する。すなわち、CPU21は、HDD20に予め格納されている管理局1の公開鍵を読み出し、その公開鍵で自己署名を復号化してハッシュ値を取得すると共に、ダウンロードソフトウェアのハッシュ値を算出し、2つのハッシュ値を比較することにより、自己署名の検証を行う(ステップS70)。
本実施形態では、2つのハッシュ値が一致した場合には、ダウンロードソフトウェアが改竄されていないとみなされ、2つのハッシュ値が一致しなかった場合には、ダウンロードソフトウェアが改竄されているとみなされる。ダウンロードソフトウェアの完全性を確認できた場合には、以下で説明するように、その旨が管理局1に通知される。また、ダウンロードソフトウェアの完全性を確認できなかった場合には、例えばその旨が管理局1に通知される、あるいはダウンロードソフトウェアの起動が中止される。
続いて、CPU21は、ダウンロードソフトウェアに埋め込まれている起動通知と署名処理を行う。この起動通知と署名処理は、ダウンロードソフトウェアの完全性を管理局1に通知し、管理局1による認証を受けるのに必要な処理である。CPU21はダウンロードソフトウェアの完全性を示す起動通知を生成し、通信制御部23へ出力する。通信制御部23は、通信ネットワークを介して起動通知を管理局1へ送信する(ステップS80)。
管理局1の通信制御部13は起動通知を受信し、CPU11へ出力する。CPU11は、起動通知に基づいて、ダウンロードソフトウェアの認証処理を開始する。すなわち、CPU11は乱数(本発明の検証用情報に対応)を生成し、通信制御部13へ出力する。通信制御部13は、通信ネットワークを介して乱数を端末2へ送信する(ステップS90)。
端末2の通信制御部23は乱数を受信し、CPU21へ出力する。CPU21は、ダウンロードソフトウェアに埋め込まれている共通鍵を取り出し、共通鍵で乱数を暗号化することにより署名情報(本発明の第2の署名情報に対応)を生成し、通信制御部23へ出力する。通信制御部23は、通信ネットワークを介して署名情報を管理局1へ送信する(ステップS100)。
管理局1の通信制御部13は署名情報を受信し、CPU11へ出力する。CPU11は共通鍵で署名情報を復号化して乱数を取得し、端末2へ送信した乱数と比較することにより、署名の検証を行う。本実施形態では、2つの乱数が一致した場合には、端末2が使用した共通鍵が管理局1の所持する共通鍵と同一であることが保証され、端末2で起動しているダウンロードソフトウェアが、管理局1で生成されたダウンロードソフトウェアである(認証成功)とみなされる。一方、2つの乱数が一致しなかった場合には、端末2で起動しているダウンロードソフトウェアが、管理局1で生成されたダウンロードソフトウェアではない(認証失敗)とみなされる。また、ダウンロードソフトウェアの認証に失敗した場合には、例えばその後に端末2から送信されてくるダウンロードソフトウェアの出力結果を信頼できないと判断される。
CPU21は、ダウンロードソフトウェアに従って処理を実行した結果をHDD20に格納する際には、ダウンロードソフトウェアに埋め込まれている結果署名と通知処理を行う。この結果署名と通知処理は、メモリ22上にロードされた起動中のダウンロードソフトウェアの出力結果の完全性の検証に必要な処理である。CPU21は、ダウンロードソフトウェアの出力結果(本発明の実行結果情報に対応)を生成した際に、出力結果のハッシュ値を算出し、ダウンロードソフトウェアに埋め込まれている共通鍵でハッシュ値を暗号化することによって署名情報(本発明の第3の署名情報に対応)を生成し、その署名情報を結果署名として付加した出力結果をHDD20に格納する(ステップS110)。
続いて、CPU21は、結果署名の付加された出力結果を通信制御部23へ出力する。通信制御部23は、通信ネットワークを介して出力結果を管理局1へ送信する(ステップS120)。管理局1の通信制御部13は出力結果を受信し、CPU11へ出力する。CPU11は共通鍵で結果署名を復号化してハッシュ値を取得すると共に、出力結果のハッシュ値を算出し、2つのハッシュ値を比較することにより、結果署名の検証を行う(ステップS130)。本実施形態では、2つのハッシュ値が一致した場合には、ダウンロードソフトウェアの出力結果が改竄されていないとみなされ、2つのハッシュ値が一致しなかった場合には、ダウンロードソフトウェアの出力結果が改竄されているとみなされる。
上記の処理によれば、ダウンロードソフトウェアに埋め込まれている自己署名検証処理を端末2が実行し、ダウンロードソフトウェアに付加されている自己署名を検証することによって、HDD20に格納されたダウンロードソフトウェアの改竄の有無を検証することができる。TPMでは、OSやアプリケーションが更新される場合には、それらの完全性を保証することができないが、本実施形態によれば、ダウンロードソフトウェアに埋め込まれている自己署名検証処理の実行により、ダウンロードソフトウェアの完全性が保証される。
また、端末2から受信した署名情報(管理局1から受信した乱数を端末2が共通鍵で暗号化したもの)を復号化して得た乱数を管理局1が検証することによって、ダウンロードソフトウェアの認証を行うことができる。さらに、端末2から受信した結果署名(ダウンロードソフトウェアの出力結果に対する端末2の署名)を管理局1が検証することによって、ダウンロードソフトウェアの出力結果の改竄の有無を行うことができる。
上記において、本プログラム管理システムの基本的な機能および動作を説明したが、以下のような変形も可能である。まず、共通鍵の管理方法を説明する。ダウンロードソフトウェアに埋め込まれる共通鍵を複数のダウンロードソフトウェアで共通にしてもよいが、ダウンロードソフトウェア毎に異なる共通鍵を埋め込むことが望ましい。その場合には、管理局1は、共通鍵毎に異なる共通鍵IDを付与し、各共通鍵IDを管理する。
具体的には、以下のようにして共通鍵IDが管理される。管理局1のHDD10には、共通鍵とその共通鍵IDとが関連付けられた共通鍵情報が格納される。これにより、図2のステップS80〜S100に対応した処理は以下のようになる(図3参照)。前述した動作と同様にして、管理局1は端末2へ乱数を送信する(ステップS210)。端末2はこの乱数を受信する。
端末2のCPU21は、ダウンロードソフトウェアに埋め込まれている共通鍵で乱数を暗号化することにより署名情報を生成する。署名情報は共通鍵IDと共に管理局1へ送信される(ステップS220)。管理局1は署名情報と共通鍵IDを受信する。管理局1のCPU11は、署名情報に付加されている共通鍵IDに対応する共通鍵をHDD10から読み出し、その共通鍵で署名情報を復号化して乱数を取得し(ステップS230)、端末2へ送信した乱数と比較することにより、署名の検証を行う(ステップS240)。ダウンロードソフトウェアの出力結果に付加される結果署名の検証の際にも端末2から管理局1に共通鍵IDが通知され、その共通鍵IDに対応した共通鍵が結果署名の復号化に使用される。
管理局1が上記のように共通鍵と共通鍵IDの対応関係だけでなく、ダウンロードソフトウェアのダウンロード先の端末と共通鍵の対応関係も管理するようにしてもよい。図4はこの様子を示している。管理局1のHDD10には、端末IDと共通鍵IDが関連付けられたダウンロードソフトウェア管理リスト400が格納される。この場合には、上述したステップS220で端末2が管理局1へ共通鍵IDを送信しなくてもよい。
端末2によるダウンロード毎に同じ共通鍵を使用した場合、端末2側でダウンロードソフトウェアから共通鍵が取り出されて、偽のソフトウェアに組み込まれる可能性がある。また、毎回ソフトウェアの同じ位置に共通鍵と署名処理(前述した起動通知と署名処理)を埋め込んだ場合にも、悪意のユーザに共通鍵を抜き出される可能性がある。
そこで、共通鍵にワンタイム性を持たせるために、共通鍵を頻繁に更新する機能と、共通鍵と署名処理のソフトウェアへの埋め込み位置を変化させる機能を管理局1は有している。共通鍵の更新に関して、管理局1は共通鍵の有効期限を管理する。管理局1のHDD10には、共通鍵IDと有効期限が関連付けられた有効期限リスト(図5参照)(本発明の有効期限情報に対応)が格納されている。
端末2は、管理局1から受信した乱数を共通鍵で暗号化した署名情報と共通鍵IDを管理局1へ送信する。管理局1のCPU11は、HDD10に格納されている有効期限リストを読み出し、受信された共通鍵IDに基づいて、有効期限リストから、該当する共通鍵の有効期限を検索する。CPU11は署名情報の検証と共通鍵の有効期限の確認(共通鍵が有効であるか否かの判定)を行った結果に基づいて、ダウンロードソフトウェアの認証を行う。このとき、例えば共通鍵の有効期限が切れていた場合には、ダウンロードソフトウェアの認証に失敗したと判断される。
また、端末2は、ダウンロードソフトウェアの出力結果のハッシュ値を共通鍵で暗号化した署名情報と共通鍵IDを管理局1へ送信する。管理局1のCPU11は、上記と同様にして、署名情報の検証と共通鍵の有効期限の確認(共通鍵が有効であるか否かの判定)を行った結果に基づいて、出力結果の検証を行う。このとき、例えば共通鍵の有効期限が切れていた場合には、出力結果の検証に失敗したと判断される。
共通鍵と署名処理のソフトウェアへの埋め込み位置に関して、管理局1のCPU11は、ダウンロードソフトウェアを生成する毎に、共通鍵と署名処理の少なくともいずれかをダウンロードソフトウェアに埋め込む位置を制御する機能を有する。一般にソフトウェアは、複数の機能がサブルーチン毎の小さな単位に分けられており、CPU11はランダムにサブルーチンの間の位置を選択し、その位置に共通鍵と署名処理を埋め込む。
これにより、同じダウンロードソフトウェアであっても、ダウンロード毎に共通鍵と署名処理の埋め込み位置がランダムに変化する。共通鍵と署名処理を1つの機能にまとめてもよいし、それぞれ分離してもよい。上記のように共通鍵と署名処理の埋め込み位置を変化させることによって、ダウンロードソフトウェアに埋め込まれた共通鍵を悪意のユーザが取り出して使用することがより困難になる。
管理局1のCPU11は以下のようにしてダウンロードソフトウェアを生成する(図6参照)。HDD10には、ダウンロードソフトウェアのソース(ソースファイル)について、本来の機能のソースがサブルーチン単位で格納されている。また、本実施形態で提供される各種の付加機能(完全性検証や認証等に必要な機能)のソースについても、サブルーチン単位でHDD10に格納されている。
CPU11は、ダウンロードソフトウェアを生成する際に、本来の機能のサブルーチン、付加機能のサブルーチン、および共通鍵の配置位置を決定してダウンロードソフトウェアのソースを構成し、ソースファイル600を生成する。CPU11は、コンパイラの機能に従って、ソースファイル600から実行ファイル601を生成する。CPU11は実行ファイル601のハッシュ値を算出し、そのハッシュ値を管理局1の秘密鍵で暗号化することによって電子署名(自己署名603)を生成し、実行ファイル601に添付する。
次に、ダウンロードソフトウェアの攻撃耐性を高める方法を説明する。起動されたソフトウェアが、起動後に他のプロセスに入れ替えられる攻撃や、バッファオーバフロー攻撃により改竄される可能性がある。そこで、1つのダウンロードソフトウェアを複数の部分ソフトウェア(本発明の部分プログラムに対応)に分割し、各部分ソフトウェアが相互に実行中のプロセス状態をシステムコール等で確認するようにする。
ダウンロードソフトウェアは複数の部分ソフトウェアの集合体であり、各々の部分ソフトウェアには、他の部分ソフトウェアの実行中のプロセス状態を確認する状態確認処理が埋め込まれている。図7に示される例では、機能Aの部分ソフトウェアであるダウンロードソフトウェアモジュール700と、機能Bの部分ソフトウェアであるダウンロードソフトウェアモジュール701が端末2のHDD20に格納されている。
機能Aのダウンロードソフトウェアモジュール700には、機能Bのダウンロードソフトウェアモジュール701のプロセス状態を確認する状態確認処理702が埋め込まれている。また、機能Bのダウンロードソフトウェアモジュール701には、機能Aのダウンロードソフトウェアモジュール700のプロセス状態を確認する状態確認処理703が埋め込まれている。
端末2のCPU21は、HDD20からダウンロードソフトウェアモジュール700と701を読み出してメモリ22上にロードする。これによって、ダウンロードソフトウェアが起動され、CPU21は、ダウンロードソフトウェアに従った処理を実行する。プロセスの実行中において、状態確認処理702により、機能Bのダウンロードソフトウェアモジュール701のプロセスIDの変更や異常なプロセス時間の増加の有無が確認される。また、状態確認処理703により、機能Aのダウンロードソフトウェアモジュール700のプロセスIDの変更や異常なプロセス時間の増加の有無が確認される。
ダウンロードソフトウェアが複数の部分ソフトウェアの集合体として構成されていない場合には、攻撃を受けてダウンロードソフトウェアが動作を停止してしまうと、管理局1は端末2の異常を検知することができない。これに対して、ダウンロードソフトウェアが複数の部分ソフトウェアの集合体として構成されている場合には、例えば攻撃により機能Aのダウンロードソフトウェアモジュール700が動作を停止してしまっても、動作中のダウンロードソフトウェアモジュール701の状態確認処理703により、ダウンロードソフトウェアモジュール700の異常が検出される。
各状態確認処理の中に管理局1への異常通知処理を組み込んでおけば、いずれかの部分ソフトウェアの異常が検出された場合に、管理局1にその旨が通知される。これによって、管理局1が端末2の異常を検出することができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明の一実施形態によるプログラム管理システムの構成を示すブロック図である。 本発明の一実施形態によるプログラム管理システムの動作の手順を示すシーケンス図である。 本発明の一実施形態における共通鍵の管理方法を説明するためのシーケンス図である。 本発明の一実施形態における共通鍵の管理方法を説明するための説明図である。 本発明の一実施形態における有効期限管理リストの内容を示す参考図である。 本発明の一実施形態におけるダウンロードソフトウェアの生成方法を説明するための説明図である。 本発明の一実施形態におけるダウンロードソフトウェアの攻撃耐性を高める方法を説明するための説明図である。
符号の説明
1・・・管理局、2・・・端末、10,20・・・HDD、11,21・・・CPU、12,22・・・メモリ、13,23・・・通信制御部

Claims (8)

  1. 共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムに従った処理を実行する端末装置と、前記プログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置とを備えたプログラム管理システムであって、
    前記端末装置は、
    前記プログラムを記憶する第1の記憶手段と、
    前記第1の記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、
    前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、
    前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理であり、
    前記管理装置は、
    前記端末装置から受信した前記検証結果情報に基づいて前記プログラムの改竄の有無を検証する第1の検証手段と、
    前記検証用情報を前記端末装置へ送信し、前記端末装置から受信した前記第2の署名情報を前記共通鍵で復号化して得た前記検証用情報を検証することにより前記プログラムを認証する認証手段とを備えた
    ことを特徴とするプログラム管理システム。
  2. 前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれており、
    前記管理装置はさらに、前記端末装置から前記実行結果情報および前記第3の署名情報を受信し、前記第3の署名情報を検証する第2の検証手段を備えた
    ことを特徴とする請求項1に記載のプログラム管理システム。
  3. 前記管理装置はさらに、
    前記プログラムを生成して前記端末装置へ送信するプログラム生成手段と、
    前記共通鍵および前記第1の署名処理の少なくともいずれかを前記プログラムに埋め込む位置を制御する埋め込み位置制御手段と、
    を備えたことを特徴とする請求項1または請求項2に記載のプログラム管理システム。
  4. 前記管理装置はさらに、前記共通鍵の識別情報と前記共通鍵の有効期限が関連付けられた有効期限情報を記憶する第2の記憶手段と、
    前記第2の記憶手段から前記有効期限情報を読み出し、前記有効期限情報に基づいて前記共通鍵が有効であるか否かを判定する判定手段と、
    を備えたことを特徴とする請求項1〜請求項3のいずれかに記載のプログラム管理システム。
  5. 前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行中のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする請求項1〜請求項4のいずれかに記載のプログラム管理システム。
  6. 共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置と通信する端末装置であって、
    前記プログラムを記憶する記憶手段と、
    前記記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、
    前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、
    前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理である
    ことを特徴とする端末装置。
  7. 前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれていることを特徴とする請求項6に記載の端末装置。
  8. 前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行時のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする請求項6または請求項7に記載の端末装置。

JP2006163249A 2006-06-13 2006-06-13 プログラム管理システムおよび端末装置 Expired - Fee Related JP4818824B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006163249A JP4818824B2 (ja) 2006-06-13 2006-06-13 プログラム管理システムおよび端末装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006163249A JP4818824B2 (ja) 2006-06-13 2006-06-13 プログラム管理システムおよび端末装置

Publications (2)

Publication Number Publication Date
JP2007336040A JP2007336040A (ja) 2007-12-27
JP4818824B2 true JP4818824B2 (ja) 2011-11-16

Family

ID=38935119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006163249A Expired - Fee Related JP4818824B2 (ja) 2006-06-13 2006-06-13 プログラム管理システムおよび端末装置

Country Status (1)

Country Link
JP (1) JP4818824B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5575493B2 (ja) * 2010-01-22 2014-08-20 株式会社ジェーシービー 決済システム
JP5617855B2 (ja) * 2012-02-21 2014-11-05 日本電気株式会社 情報処理装置、情報処理方法および情報処理用プログラム
JP5798959B2 (ja) * 2012-03-16 2015-10-21 株式会社エヌ・ティ・ティ・データ パッケージ生成装置、パッケージ生成方法、プログラム
DE202014011597U1 (de) * 2014-04-29 2023-02-13 Cambridge Mobile Telematics System zum Erhalten von Fahrzeugtelematikdaten
US11405197B2 (en) * 2020-06-08 2022-08-02 Google Llc Security token expiration using signing key rotation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131567A (ja) * 2001-10-19 2003-05-09 Sky Com:Kk 改竄防止方法、プログラム、改竄防止システム、受取者側処理装置、報告者側処理装置、データ記録システム、ゲームログ改竄防止手段付ゲームサービスシステム、プロバイダ側処理装置及び利用者側処理装置

Also Published As

Publication number Publication date
JP2007336040A (ja) 2007-12-27

Similar Documents

Publication Publication Date Title
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
JP5519773B2 (ja) ネットワークとの通信のためのデバイスの正当化および/または認証
US8479000B2 (en) Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit
KR101216306B1 (ko) 이동 단말기에서의 구성 파라미터 갱신
US9830456B2 (en) Trust transference from a trusted processor to an untrusted processor
CN100454322C (zh) 具有启动验证功能的信息处理装置
KR102444625B1 (ko) 참조 플랫폼 매니페스트 및 데이터 씰링에 따른 보안 os 부팅 기법
US20210073003A1 (en) Integrity manifest certificate
JP4993122B2 (ja) プラットフォーム完全性検証システムおよび方法
TW201732669A (zh) 受控的安全碼鑑認
US20210377004A1 (en) Onboarding Software on Secure Devices to Generate Device Identities for Authentication with Remote Servers
JP2007293873A (ja) 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置
US20110044451A1 (en) Information processing apparatus and falsification verification method
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
WO2011006997A1 (en) System and method for providing secure virtual machines
CN101983375A (zh) 将密码模块绑定到平台
CN103679005A (zh) 启用安全电子控制单元的开发模式的方法
JP6387908B2 (ja) 認証システム
CN110326266A (zh) 一种数据处理的方法及装置
US9843451B2 (en) Apparatus and method for multi-state code signing
JP4818824B2 (ja) プログラム管理システムおよび端末装置
KR102256249B1 (ko) 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
CN116561734A (zh) 一种验证方法、装置、计算机及计算机配置***

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071017

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

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

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

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

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees