JP2007336040A - Program management system and terminal - Google Patents

Program management system and terminal Download PDF

Info

Publication number
JP2007336040A
JP2007336040A JP2006163249A JP2006163249A JP2007336040A JP 2007336040 A JP2007336040 A JP 2007336040A JP 2006163249 A JP2006163249 A JP 2006163249A JP 2006163249 A JP2006163249 A JP 2006163249A JP 2007336040 A JP2007336040 A JP 2007336040A
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.)
Granted
Application number
JP2006163249A
Other languages
Japanese (ja)
Other versions
JP4818824B2 (en
Inventor
Keisuke Takemori
敬祐 竹森
Masaru Miyake
優 三宅
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/en
Publication of JP2007336040A publication Critical patent/JP2007336040A/en
Application granted granted Critical
Publication of JP4818824B2 publication Critical patent/JP4818824B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program management system and a terminal wherein the presence/absence of falsification of a program started on the terminal can be verified. <P>SOLUTION: A download software program which the terminal 2 downloads from a management station 1 is embedded with a shared key and various processes and a self-signature is attached thereto. The terminal 2 verifies the self-signature and transmits a result of the verification to the management station 1. The management station 1 verifies the presence/absence of falsification of the download software program on the basis of a result of the verification. Moreover, the terminal 2 encrypts a random number received from the management station 1 by using the shared key to produce signature information and transmits the signature information to the management station 1. The management station 1 verifies the random number obtained by decrypting the signature information by the shared key to authenticate the download software program. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、端末装置上で起動されるプログラムの状態を確認するプログラム管理システムに関する。また、本発明は、プログラムが起動される端末装置にも関する。   The present invention relates to a program management system for confirming the state of a program started on a terminal device. The present invention also relates to a terminal device on which a program is started.

安全性の不明な端末装置の完全性(改竄されていないこと)を検証する仕組みとして、TPM(Trusted Platform Module)がある(例えば非特許文献1参照)。これは、BIOS(Basic Input/Output System)、ブートローダ、OS(Operating System)、アプリケーションが正しい状態であるときのそれらのハッシュ値をTPM内のハッシュ格納領域に保存しておき、ホストが起動する度にそれらのハッシュ値を、保存されている正しいとされるハッシュ値と比較することで改変を検知する仕組みである。   There is a TPM (Trusted Platform Module) as a mechanism for verifying the integrity of a terminal device whose safety is unknown (that it has not been tampered with) (see, for example, Non-Patent Document 1). This is because the hash values of the BIOS (Basic Input / Output System), boot loader, OS (Operating System), and applications in the correct state are stored in the hash storage area in the TPM, and the host is started. It is a mechanism for detecting alterations by comparing these hash values with stored correct hash values.

ハッシュ値同士の比較による改変の有無の確認は以下の手順で行われる。まず、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
Confirmation of alteration by comparing hash values is performed in the following procedure. First, check whether the BIOS has been modified, confirm that the BIOS is in the correct state, and then check whether the boot loader has been modified from this correct BIOS. If there is no modification, it is assumed that the boot loader is in a correct state, and the OS is started from the next boot loader that is assumed to be correct. If the OS is not modified, the application is started from this OS assuming that the OS is in the correct state. At this time, if the application is not altered, it is considered that the correct application has been started.
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で正しい状態の連鎖を管理する手順は規定されていない。   For OS and applications, status updates are frequently made to fix security patches and bugs. However, since the hash value once stored in the hash storage area in the TPM cannot be changed in accordance with the update of the OS or application, it is impossible to correctly confirm whether or not there is a modification. There is no defined procedure for managing the correct chain of states in the TPM for those states that change over time.

本発明は、上述した問題点に鑑みてなされたものであって、端末装置上で起動されるプログラムの改竄の有無を検証することができるプログラム管理システムおよび端末装置を提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a program management system and a terminal device capable of verifying whether or not a program started on the terminal device has been tampered with. .

本発明は、上記の課題を解決するためになされたもので、共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムに従った処理を実行する端末装置と、前記プログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置とを備えたプログラム管理システムであって、前記端末装置は、前記プログラムを記憶する第1の記憶手段と、前記第1の記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理であり、前記管理装置は、前記端末装置から受信した前記検証結果情報に基づいて前記プログラムの改竄の有無を検証する第1の検証手段と、前記検証用情報を前記端末装置へ送信し、前記端末装置から受信した前記第2の署名情報を前記共通鍵で復号化して得た前記検証用情報を検証することにより前記プログラムを認証する認証手段とを備えたことを特徴とするプログラム管理システムである。   The present invention has been made to solve the above-described problems, and is based on a program in which a common key, signature verification processing, and first signature processing are embedded, and first signature information is added. A program management system comprising: a terminal device that executes the process; and a management device that verifies whether the program has been tampered with and authenticates the program, wherein the terminal device stores the program Storage means and program execution means for reading the program from the first storage means and executing processing according to the program, wherein the signature verification process verifies the first signature information, and a verification result A process of transmitting information to the management apparatus, wherein the first signature process receives verification information from the management apparatus and encrypts the verification information with the common key A process of generating second signature information and transmitting the second signature information to the management apparatus, wherein the management apparatus determines whether the program has been tampered with based on the verification result information received from the terminal apparatus Verifying the verification information obtained by transmitting the verification information to the terminal device and decrypting the second signature information received from the terminal device with the common key Thus, there is provided a program management system comprising authentication means for authenticating the program.

また、本発明のプログラム管理システムは、前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれており、前記管理装置はさらに、前記端末装置から前記実行結果情報および前記第3の署名情報を受信し、前記第3の署名情報を検証する第2の検証手段を備えたことを特徴とする。   The program management system of the present invention generates third signature information for execution result information generated by executing processing according to the program, and transmits the second signature information to the management apparatus together with the execution result information. Processing is embedded in the program, and the management device further includes second verification means for receiving the execution result information and the third signature information from the terminal device and verifying the third signature information. It is characterized by having.

また、本発明のプログラム管理システムにおいて、前記管理装置はさらに、前記プログラムを生成して前記端末装置へ送信するプログラム生成手段と、前記共通鍵および前記第1の署名処理の少なくともいずれかを前記プログラムに埋め込む位置を制御する埋め込み位置制御手段とを備えたことを特徴とする。   In the program management system of the present invention, the management device further includes at least one of program generation means for generating the program and transmitting the program to the terminal device, the common key, and the first signature processing. And an embedding position control means for controlling the embedding position.

また、本発明のプログラム管理システムにおいて、前記管理装置はさらに、前記共通鍵の識別情報と前記共通鍵の有効期限が関連付けられた有効期限情報を記憶する第2の記憶手段と、前記第2の記憶手段から前記有効期限情報を読み出し、前記有効期限情報に基づいて前記共通鍵が有効であるか否かを判定する判定手段とを備えたことを特徴とする。   In the program management system of the present invention, the management device further includes second storage means for storing expiration date information in which identification information of the common key and an expiration date of the common key are associated with each other, and And determining means for reading the expiration date information from the storage means and determining whether the common key is valid based on the expiration date information.

また、本発明のプログラム管理システムにおいて、前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行中のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする。   In the program management system of the present invention, the program is an aggregate of a plurality of partial programs, and each of the partial programs is embedded with a state confirmation process for confirming a process state during execution of the other partial programs. It is characterized by being.

また、本発明は、共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置と通信する端末装置であって、前記プログラムを記憶する記憶手段と、前記記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理であることを特徴とする端末装置である。   In addition, the present invention verifies the presence or absence of falsification of a program to which the common key, the signature verification process, and the first signature process are embedded, adds the first signature information, and authenticates the program. A terminal device that communicates with a management device, comprising: a storage unit that stores the program; and a program execution unit that reads the program from the storage unit and executes a process according to the program. , Verifying the first signature information, and transmitting verification result information to the management device, wherein the first signature processing receives verification information from the management device and sends the verification information to the management device. The terminal device is a process for generating second signature information by encrypting with a common key and transmitting the second signature information to the management device.

また、本発明の端末装置において、前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれていることを特徴とする。   Also, in the terminal device of the present invention, second signature processing for generating third signature information for the execution result information generated by executing the processing according to the program and transmitting the third signature information to the management device together with the execution result information Is embedded in the program.

また、本発明の端末装置において、前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行時のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする。   In the terminal device of the present invention, the program is an aggregate of a plurality of partial programs, and each of the partial programs is embedded with a state confirmation process for confirming a process state at the time of execution of the other partial program. It is characterized by.

本発明によれば、プログラムに埋め込まれている署名検証処理を実行し、プログラムに付加されている第1の署名情報を検証することによって、記憶手段に格納されているプログラムの改竄の有無を検証することができるという効果が得られる。また、第2の署名情報を復号化して得た検証用情報を検証することによって、プログラムの認証を行うことができるという効果が得られる。   According to the present invention, the signature verification process embedded in the program is executed, and the first signature information added to the program is verified, thereby verifying whether the program stored in the storage means has been tampered with. The effect that it can do is acquired. Further, by verifying the verification information obtained by decrypting the second signature information, an effect that the program can be authenticated is obtained.

以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態によるプログラム管理システムの構成を示している。本プログラム管理システムは、信頼性のある管理局1(本発明の管理装置に対応)と、安全性の不明な端末2(本発明の端末装置に対応)とから構成されている。管理局1と端末2は、図示せぬ通信ネットワーク(有線あるいは無線のLAN(Local Area Network)等の小ネットワーク、および小ネットワークどうしを結ぶ基幹ネットワークの集合体としてのネットワーク)を介して通信を行う。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows the configuration of a program management system according to an embodiment of the present invention. The program management system is composed of a reliable management station 1 (corresponding to the management apparatus of the present invention) and a terminal 2 whose safety is unknown (corresponding to the terminal apparatus of the present invention). The management station 1 and the terminal 2 communicate via a communication network (not shown) (a network as a collection of a small network such as a wired or wireless LAN (Local Area Network) and a backbone network connecting the small networks). .

端末2は、携帯電話、PHS(Personal Handyphone System)、PDA(Personal Digital Assistance)等の端末であり、図1では1台のみが図示されているが、当然、複数台が存在していてもよい。また、管理局1および端末2の構成に関して、図1では本実施形態で必須となる構成のみが示されており、管理局1および端末2が、図1に示される構成以外の構成を備えていても構わない。   The terminal 2 is a terminal such as a mobile phone, a PHS (Personal Handyphone System), a PDA (Personal Digital Assistance), etc. Only one unit is shown in FIG. 1, but a plurality of units may naturally exist. . Further, regarding the configurations of the management station 1 and the terminal 2, only the configuration essential in the present embodiment is shown in FIG. 1, and the management station 1 and the terminal 2 have configurations other than the configuration shown in FIG. It doesn't matter.

管理局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を備えている。   In the management station 1, the HDD (Hard Disk Drive) 10 has download software that is a program downloaded by the terminal 2, software for operation of the management station 1, public and private keys of the management station 1, shared with the terminal 2. The common key to be stored is stored. A CPU (Central Processing Unit) 11 (corresponding to each unit included in the management apparatus of the present invention) reads the operation software from the HDD 10 when the management station 1 is activated, loads the operation software onto the memory 12, and converts it into the operation software. Execute the process according to. The communication control unit 13 is provided in, for example, a network interface card, and controls communication with the terminal 2. Similarly to the management station 1, the terminal 2 includes an HDD 20 (corresponding to the storage means of the present invention), a CPU 21 (corresponding to the program execution means of the present invention), a memory 22, and a communication control unit 23.

本プログラム管理システムの動作を説明する。本プログラム管理システムの動作によって、端末2がダウンロードするダウンロードソフトウェアの完全性の検証(改竄の有無の検証)が可能となると共に、ダウンロードソフトウェアの認証が可能となる。特に、ダウンロードソフトウェアの完全性の検証に関しては、HDD20に格納されたダウンロードソフトウェアの完全性の検証と、メモリ22上にロードされた起動中のダウンロードソフトウェアの出力結果の完全性の検証とが可能となる。   The operation of this program management system will be described. By the operation of this program management system, it is possible to verify the integrity of the download software downloaded by the terminal 2 (verification of whether or not tampering has occurred) and to authenticate the download software. In particular, regarding the verification of the integrity of the download software, it is possible to verify the integrity of the download software stored in the HDD 20 and to verify the integrity of the output result of the downloaded download software loaded on the memory 22. Become.

本実施形態におけるダウンロードソフトウェアは、例えばネットショッピング等で発生した料金を端末2のユーザに請求するのに必要な情報を収集して管理局1に通知するソフトウェアである。正常な料金請求を行うため、ダウンロードソフトウェアの完全性の検証とダウンロードソフトウェアの出力結果の検証が必要となる。   The download software in the present embodiment is software that collects information necessary to charge the user of the terminal 2 for a fee generated by, for example, online shopping and notifies the management station 1 of the information. In order to charge normally, it is necessary to verify the integrity of the download software and the output result of the download software.

次に、図1および図2を参照しながら本プログラム管理システムの動作を説明する。管理局1のCPU11は、ダウンロードソフトウェアを生成する際に、共通鍵を生成し(ステップS10)、ダウンロードソフトウェアに対して共通鍵と各種処理を埋め込む(ステップS20)。各種処理とは、起動通知と署名処理(本発明の第1の署名処理に対応)、自己署名検証処理(本発明の署名検証処理に対応)、結果署名と通知処理(本発明の第2の署名処理に対応)であり、各処理の詳細は後述する。   Next, the operation of the program management system will be described with reference to FIG. 1 and FIG. When generating the download software, the CPU 11 of the management station 1 generates a common key (step S10), and embeds the common key and various processes in the download software (step S20). The various types of processing include activation notification and signature processing (corresponding to the first signature processing of the present invention), self-signature verification processing (corresponding to the signature verification processing of the present invention), result signature and notification processing (second processing of the present invention). The details of each processing will be described later.

続いて、CPU11は、生成したダウンロードソフトウェアのハッシュ値を算出し、HDD10から読み出した管理局1の秘密鍵でハッシュ値を暗号化することによって電子署名を生成し(ステップS30)、その電子署名を自己署名(本発明の第1の署名情報に対応)として付加したダウンロードソフトウェアをHDD10に格納する。   Subsequently, the CPU 11 calculates a hash value of the generated download software, generates an electronic signature by encrypting the hash value with the secret key of the management station 1 read from the HDD 10 (step S30), and the electronic signature is Download software added as a self-signature (corresponding to the first signature information of the present invention) is stored in the HDD 10.

端末2からの要求に応じて、管理局1はダウンロードソフトウェアを端末2へ送信する。このとき、管理局1のCPU11はHDD10からダウンロードソフトウェアを読み出し、メモリ12に一時的に格納しながら、通信制御部13へダウンロードソフトウェアを出力する。通信制御部13は、通信ネットワークを介してダウンロードソフトウェアを端末2へ送信する(ステップS40)。   In response to a request from the terminal 2, the management station 1 transmits download software to the terminal 2. At this time, the CPU 11 of the management station 1 reads the download software from the HDD 10 and outputs the download software to the communication control unit 13 while temporarily storing it in the memory 12. The communication control unit 13 transmits the download software to the terminal 2 via the communication network (Step S40).

端末2の通信制御部23はダウンロードソフトウェアを受信し、CPU21へ出力する。CPU21は、ダウンロードソフトウェアをメモリ22に一時的に格納しながら、受信された全てのダウンロードソフトウェアを最終的にHDD20に格納する(ステップS50)。   The communication control unit 23 of the terminal 2 receives the download software and outputs it to the CPU 21. The CPU 21 finally stores all the received download software in the HDD 20 while temporarily storing the download software in the memory 22 (step S50).

続いて、ユーザまたは起動中の他のソフトウェアからの指示を受け、CPU21はHDD20からダウンロードソフトウェアを読み出してメモリ22上にロードする(ステップS60)。これによって、ダウンロードソフトウェアが起動され、CPU21は、ダウンロードソフトウェアに従った処理を実行する。   Subsequently, in response to an instruction from the user or other running software, the CPU 21 reads the downloaded software from the HDD 20 and loads it onto the memory 22 (step S60). As a result, the download software is activated, and the CPU 21 executes processing according to the download software.

まず、CPU21は、ダウンロードソフトウェアに埋め込まれている自己署名検証処理を実行する。この自己署名検証処理は、HDD20に格納されたダウンロードソフトウェアの完全性の検証に必要な処理である。CPU21はHDD20からダウンロードソフトウェアを読み出し、そのダウンロードソフトウェアに付加されている自己署名を検証する。すなわち、CPU21は、HDD20に予め格納されている管理局1の公開鍵を読み出し、その公開鍵で自己署名を復号化してハッシュ値を取得すると共に、ダウンロードソフトウェアのハッシュ値を算出し、2つのハッシュ値を比較することにより、自己署名の検証を行う(ステップS70)。   First, the CPU 21 executes a self-signature verification process embedded in the download software. This self-signature verification process is a process necessary for verifying the integrity of the download software stored in the HDD 20. The CPU 21 reads the download software from the HDD 20 and verifies the self-signature added to the download software. That is, the CPU 21 reads the public key of the management station 1 stored in advance in the HDD 20, decrypts the self-signature with the public key, obtains a hash value, calculates a hash value of the download software, and calculates two hashes By comparing the values, the self-signature is verified (step S70).

本実施形態では、2つのハッシュ値が一致した場合には、ダウンロードソフトウェアが改竄されていないとみなされ、2つのハッシュ値が一致しなかった場合には、ダウンロードソフトウェアが改竄されているとみなされる。ダウンロードソフトウェアの完全性を確認できた場合には、以下で説明するように、その旨が管理局1に通知される。また、ダウンロードソフトウェアの完全性を確認できなかった場合には、例えばその旨が管理局1に通知される、あるいはダウンロードソフトウェアの起動が中止される。   In the present embodiment, if two hash values match, it is considered that the download software has not been tampered with, and if the two hash values do not match, the download software is regarded as tampered. . If the integrity of the download software can be confirmed, the management station 1 is notified to that effect, as will be described below. If the integrity of the download software cannot be confirmed, for example, the fact is notified to the management station 1 or the activation of the download software is stopped.

続いて、CPU21は、ダウンロードソフトウェアに埋め込まれている起動通知と署名処理を行う。この起動通知と署名処理は、ダウンロードソフトウェアの完全性を管理局1に通知し、管理局1による認証を受けるのに必要な処理である。CPU21はダウンロードソフトウェアの完全性を示す起動通知を生成し、通信制御部23へ出力する。通信制御部23は、通信ネットワークを介して起動通知を管理局1へ送信する(ステップS80)。   Subsequently, the CPU 21 performs activation notification and signature processing embedded in the download software. This activation notification and signature processing are necessary for notifying the management station 1 of the integrity of the download software and receiving authentication by the management station 1. The CPU 21 generates a startup notification indicating the integrity of the downloaded software and outputs it to the communication control unit 23. The communication control unit 23 transmits an activation notification to the management station 1 via the communication network (step S80).

管理局1の通信制御部13は起動通知を受信し、CPU11へ出力する。CPU11は、起動通知に基づいて、ダウンロードソフトウェアの認証処理を開始する。すなわち、CPU11は乱数(本発明の検証用情報に対応)を生成し、通信制御部13へ出力する。通信制御部13は、通信ネットワークを介して乱数を端末2へ送信する(ステップS90)。   The communication control unit 13 of the management station 1 receives the activation notification and outputs it to the CPU 11. The CPU 11 starts download software authentication processing based on the activation notification. That is, the CPU 11 generates a random number (corresponding to the verification information of the present invention) and outputs it to the communication control unit 13. The communication control unit 13 transmits a random number to the terminal 2 via the communication network (step S90).

端末2の通信制御部23は乱数を受信し、CPU21へ出力する。CPU21は、ダウンロードソフトウェアに埋め込まれている共通鍵を取り出し、共通鍵で乱数を暗号化することにより署名情報(本発明の第2の署名情報に対応)を生成し、通信制御部23へ出力する。通信制御部23は、通信ネットワークを介して署名情報を管理局1へ送信する(ステップS100)。   The communication control unit 23 of the terminal 2 receives the random number and outputs it to the CPU 21. The CPU 21 extracts the common key embedded in the download software, encrypts a random number with the common key, generates signature information (corresponding to the second signature information of the present invention), and outputs the signature information to the communication control unit 23. . The communication control unit 23 transmits signature information to the management station 1 via the communication network (step S100).

管理局1の通信制御部13は署名情報を受信し、CPU11へ出力する。CPU11は共通鍵で署名情報を復号化して乱数を取得し、端末2へ送信した乱数と比較することにより、署名の検証を行う。本実施形態では、2つの乱数が一致した場合には、端末2が使用した共通鍵が管理局1の所持する共通鍵と同一であることが保証され、端末2で起動しているダウンロードソフトウェアが、管理局1で生成されたダウンロードソフトウェアである(認証成功)とみなされる。一方、2つの乱数が一致しなかった場合には、端末2で起動しているダウンロードソフトウェアが、管理局1で生成されたダウンロードソフトウェアではない(認証失敗)とみなされる。また、ダウンロードソフトウェアの認証に失敗した場合には、例えばその後に端末2から送信されてくるダウンロードソフトウェアの出力結果を信頼できないと判断される。   The communication control unit 13 of the management station 1 receives the signature information and outputs it to the CPU 11. The CPU 11 decrypts the signature information with the common key to obtain a random number, and compares the random number transmitted to the terminal 2 to verify the signature. In the present embodiment, when the two random numbers match, it is guaranteed that the common key used by the terminal 2 is the same as the common key possessed by the management station 1, and the download software running on the terminal 2 is It is assumed that the download software is generated by the management station 1 (successful authentication). On the other hand, if the two random numbers do not match, it is assumed that the download software running on the terminal 2 is not the download software generated by the management station 1 (authentication failure). If the download software authentication fails, for example, it is determined that the output result of the download software transmitted from the terminal 2 thereafter cannot be trusted.

CPU21は、ダウンロードソフトウェアに従って処理を実行した結果をHDD20に格納する際には、ダウンロードソフトウェアに埋め込まれている結果署名と通知処理を行う。この結果署名と通知処理は、メモリ22上にロードされた起動中のダウンロードソフトウェアの出力結果の完全性の検証に必要な処理である。CPU21は、ダウンロードソフトウェアの出力結果(本発明の実行結果情報に対応)を生成した際に、出力結果のハッシュ値を算出し、ダウンロードソフトウェアに埋め込まれている共通鍵でハッシュ値を暗号化することによって署名情報(本発明の第3の署名情報に対応)を生成し、その署名情報を結果署名として付加した出力結果をHDD20に格納する(ステップS110)。   When the CPU 21 stores the result of executing the process according to the download software in the HDD 20, the CPU 21 performs a result signature embedded in the download software and a notification process. This result signature and notification process is a process necessary for verifying the integrity of the output result of the downloaded download software loaded on the memory 22. The CPU 21 calculates the hash value of the output result when generating the output result of the download software (corresponding to the execution result information of the present invention), and encrypts the hash value with the common key embedded in the download software Thus, signature information (corresponding to the third signature information of the present invention) is generated, and an output result obtained by adding the signature information as a result signature is stored in the HDD 20 (step S110).

続いて、CPU21は、結果署名の付加された出力結果を通信制御部23へ出力する。通信制御部23は、通信ネットワークを介して出力結果を管理局1へ送信する(ステップS120)。管理局1の通信制御部13は出力結果を受信し、CPU11へ出力する。CPU11は共通鍵で結果署名を復号化してハッシュ値を取得すると共に、出力結果のハッシュ値を算出し、2つのハッシュ値を比較することにより、結果署名の検証を行う(ステップS130)。本実施形態では、2つのハッシュ値が一致した場合には、ダウンロードソフトウェアの出力結果が改竄されていないとみなされ、2つのハッシュ値が一致しなかった場合には、ダウンロードソフトウェアの出力結果が改竄されているとみなされる。   Subsequently, the CPU 21 outputs the output result to which the result signature is added to the communication control unit 23. The communication control unit 23 transmits the output result to the management station 1 via the communication network (step S120). The communication control unit 13 of the management station 1 receives the output result and outputs it to the CPU 11. The CPU 11 decrypts the result signature with the common key to obtain a hash value, calculates the hash value of the output result, and compares the two hash values to verify the result signature (step S130). In this embodiment, when two hash values match, it is considered that the output result of the download software is not falsified, and when the two hash values do not match, the output result of the download software is falsified. It is regarded as being done.

上記の処理によれば、ダウンロードソフトウェアに埋め込まれている自己署名検証処理を端末2が実行し、ダウンロードソフトウェアに付加されている自己署名を検証することによって、HDD20に格納されたダウンロードソフトウェアの改竄の有無を検証することができる。TPMでは、OSやアプリケーションが更新される場合には、それらの完全性を保証することができないが、本実施形態によれば、ダウンロードソフトウェアに埋め込まれている自己署名検証処理の実行により、ダウンロードソフトウェアの完全性が保証される。   According to the above process, the terminal 2 executes the self-signature verification process embedded in the download software, and verifies the self-signature added to the download software, thereby falsifying the download software stored in the HDD 20. Existence can be verified. In TPM, when the OS and applications are updated, their integrity cannot be guaranteed. However, according to the present embodiment, the download software is executed by executing the self-signature verification process embedded in the download software. Completeness is guaranteed.

また、端末2から受信した署名情報(管理局1から受信した乱数を端末2が共通鍵で暗号化したもの)を復号化して得た乱数を管理局1が検証することによって、ダウンロードソフトウェアの認証を行うことができる。さらに、端末2から受信した結果署名(ダウンロードソフトウェアの出力結果に対する端末2の署名)を管理局1が検証することによって、ダウンロードソフトウェアの出力結果の改竄の有無を行うことができる。   Also, the management station 1 verifies the random number obtained by decrypting the signature information received from the terminal 2 (the random number received from the management station 1 and encrypted by the terminal 2 using the common key), thereby authenticating the download software. It can be performed. Further, the management station 1 verifies the result signature received from the terminal 2 (the signature of the terminal 2 with respect to the output result of the download software), thereby making it possible to check whether or not the output result of the download software is falsified.

上記において、本プログラム管理システムの基本的な機能および動作を説明したが、以下のような変形も可能である。まず、共通鍵の管理方法を説明する。ダウンロードソフトウェアに埋め込まれる共通鍵を複数のダウンロードソフトウェアで共通にしてもよいが、ダウンロードソフトウェア毎に異なる共通鍵を埋め込むことが望ましい。その場合には、管理局1は、共通鍵毎に異なる共通鍵IDを付与し、各共通鍵IDを管理する。   In the above, the basic function and operation of the program management system have been described, but the following modifications are possible. First, a common key management method will be described. A common key embedded in the download software may be shared by a plurality of download software, but it is desirable to embed a different common key for each download software. In that case, the management station 1 assigns a different common key ID to each common key, and manages each common key ID.

具体的には、以下のようにして共通鍵IDが管理される。管理局1のHDD10には、共通鍵とその共通鍵IDとが関連付けられた共通鍵情報が格納される。これにより、図2のステップS80〜S100に対応した処理は以下のようになる(図3参照)。前述した動作と同様にして、管理局1は端末2へ乱数を送信する(ステップS210)。端末2はこの乱数を受信する。   Specifically, the common key ID is managed as follows. The HDD 10 of the management station 1 stores common key information in which a common key and its common key ID are associated. Thereby, the processing corresponding to steps S80 to S100 in FIG. 2 is as follows (see FIG. 3). Similar to the operation described above, the management station 1 transmits a random number to the terminal 2 (step S210). Terminal 2 receives this random number.

端末2のCPU21は、ダウンロードソフトウェアに埋め込まれている共通鍵で乱数を暗号化することにより署名情報を生成する。署名情報は共通鍵IDと共に管理局1へ送信される(ステップS220)。管理局1は署名情報と共通鍵IDを受信する。管理局1のCPU11は、署名情報に付加されている共通鍵IDに対応する共通鍵をHDD10から読み出し、その共通鍵で署名情報を復号化して乱数を取得し(ステップS230)、端末2へ送信した乱数と比較することにより、署名の検証を行う(ステップS240)。ダウンロードソフトウェアの出力結果に付加される結果署名の検証の際にも端末2から管理局1に共通鍵IDが通知され、その共通鍵IDに対応した共通鍵が結果署名の復号化に使用される。   The CPU 21 of the terminal 2 generates signature information by encrypting a random number with a common key embedded in the download software. The signature information is transmitted to the management station 1 together with the common key ID (step S220). The management station 1 receives the signature information and the common key ID. The CPU 11 of the management station 1 reads out the common key corresponding to the common key ID added to the signature information from the HDD 10, decrypts the signature information with the common key, obtains a random number (step S230), and transmits it to the terminal 2 The signature is verified by comparing with the random number (step S240). When verifying the result signature added to the output result of the download software, the common key ID is notified from the terminal 2 to the management station 1, and the common key corresponding to the common key ID is used for decrypting the result signature. .

管理局1が上記のように共通鍵と共通鍵IDの対応関係だけでなく、ダウンロードソフトウェアのダウンロード先の端末と共通鍵の対応関係も管理するようにしてもよい。図4はこの様子を示している。管理局1のHDD10には、端末IDと共通鍵IDが関連付けられたダウンロードソフトウェア管理リスト400が格納される。この場合には、上述したステップS220で端末2が管理局1へ共通鍵IDを送信しなくてもよい。   The management station 1 may manage not only the correspondence between the common key and the common key ID as described above, but also the correspondence between the terminal to which the download software is downloaded and the common key. FIG. 4 shows this state. The HDD 10 of the management station 1 stores a download software management list 400 in which a terminal ID and a common key ID are associated. In this case, the terminal 2 does not need to transmit the common key ID to the management station 1 in step S220 described above.

端末2によるダウンロード毎に同じ共通鍵を使用した場合、端末2側でダウンロードソフトウェアから共通鍵が取り出されて、偽のソフトウェアに組み込まれる可能性がある。また、毎回ソフトウェアの同じ位置に共通鍵と署名処理(前述した起動通知と署名処理)を埋め込んだ場合にも、悪意のユーザに共通鍵を抜き出される可能性がある。   When the same common key is used for each download by the terminal 2, there is a possibility that the common key is extracted from the download software on the terminal 2 side and incorporated in the fake software. In addition, even when the common key and signature processing (the activation notification and signature processing described above) are embedded at the same position in the software every time, there is a possibility that the malicious user can extract the common key.

そこで、共通鍵にワンタイム性を持たせるために、共通鍵を頻繁に更新する機能と、共通鍵と署名処理のソフトウェアへの埋め込み位置を変化させる機能を管理局1は有している。共通鍵の更新に関して、管理局1は共通鍵の有効期限を管理する。管理局1のHDD10には、共通鍵IDと有効期限が関連付けられた有効期限リスト(図5参照)(本発明の有効期限情報に対応)が格納されている。   Therefore, in order to give the common key one-time property, the management station 1 has a function of frequently updating the common key and a function of changing the embedded position of the common key and signature processing software. Regarding the update of the common key, the management station 1 manages the expiration date of the common key. The HDD 10 of the management station 1 stores an expiration date list (see FIG. 5) in which the common key ID and the expiration date are associated (corresponding to the expiration date information of the present invention).

端末2は、管理局1から受信した乱数を共通鍵で暗号化した署名情報と共通鍵IDを管理局1へ送信する。管理局1のCPU11は、HDD10に格納されている有効期限リストを読み出し、受信された共通鍵IDに基づいて、有効期限リストから、該当する共通鍵の有効期限を検索する。CPU11は署名情報の検証と共通鍵の有効期限の確認(共通鍵が有効であるか否かの判定)を行った結果に基づいて、ダウンロードソフトウェアの認証を行う。このとき、例えば共通鍵の有効期限が切れていた場合には、ダウンロードソフトウェアの認証に失敗したと判断される。   The terminal 2 transmits the signature information obtained by encrypting the random number received from the management station 1 with the common key and the common key ID to the management station 1. The CPU 11 of the management station 1 reads the expiration date list stored in the HDD 10 and searches the expiration date list for the corresponding common key based on the received common key ID. The CPU 11 authenticates the download software based on the result of verifying the signature information and confirming the expiration date of the common key (determining whether the common key is valid). At this time, for example, if the validity period of the common key has expired, it is determined that authentication of the download software has failed.

また、端末2は、ダウンロードソフトウェアの出力結果のハッシュ値を共通鍵で暗号化した署名情報と共通鍵IDを管理局1へ送信する。管理局1のCPU11は、上記と同様にして、署名情報の検証と共通鍵の有効期限の確認(共通鍵が有効であるか否かの判定)を行った結果に基づいて、出力結果の検証を行う。このとき、例えば共通鍵の有効期限が切れていた場合には、出力結果の検証に失敗したと判断される。   Further, the terminal 2 transmits to the management station 1 signature information and a common key ID obtained by encrypting the hash value of the output result of the download software with the common key. Similarly to the above, the CPU 11 of the management station 1 verifies the output result based on the result of verifying the signature information and confirming the expiration date of the common key (determining whether the common key is valid). I do. At this time, for example, if the validity period of the common key has expired, it is determined that the verification of the output result has failed.

共通鍵と署名処理のソフトウェアへの埋め込み位置に関して、管理局1のCPU11は、ダウンロードソフトウェアを生成する毎に、共通鍵と署名処理の少なくともいずれかをダウンロードソフトウェアに埋め込む位置を制御する機能を有する。一般にソフトウェアは、複数の機能がサブルーチン毎の小さな単位に分けられており、CPU11はランダムにサブルーチンの間の位置を選択し、その位置に共通鍵と署名処理を埋め込む。   Regarding the position where the common key and signature processing are embedded in the software, the CPU 11 of the management station 1 has a function of controlling the position where at least one of the common key and signature processing is embedded in the download software every time the download software is generated. In general, in software, a plurality of functions are divided into small units for each subroutine, and the CPU 11 randomly selects a position between the subroutines, and embeds a common key and signature processing at that position.

これにより、同じダウンロードソフトウェアであっても、ダウンロード毎に共通鍵と署名処理の埋め込み位置がランダムに変化する。共通鍵と署名処理を1つの機能にまとめてもよいし、それぞれ分離してもよい。上記のように共通鍵と署名処理の埋め込み位置を変化させることによって、ダウンロードソフトウェアに埋め込まれた共通鍵を悪意のユーザが取り出して使用することがより困難になる。   Thereby, even if it is the same download software, a common key and the embedding position of a signature process change at random every time it downloads. The common key and signature processing may be combined into one function, or may be separated from each other. By changing the embedding position of the common key and the signature process as described above, it becomes more difficult for a malicious user to extract and use the common key embedded in the download software.

管理局1のCPU11は以下のようにしてダウンロードソフトウェアを生成する(図6参照)。HDD10には、ダウンロードソフトウェアのソース(ソースファイル)について、本来の機能のソースがサブルーチン単位で格納されている。また、本実施形態で提供される各種の付加機能(完全性検証や認証等に必要な機能)のソースについても、サブルーチン単位でHDD10に格納されている。   The CPU 11 of the management station 1 generates download software as follows (see FIG. 6). The HDD 10 stores the source of the original function of the download software source (source file) in subroutine units. Further, the sources of various additional functions (functions necessary for integrity verification, authentication, etc.) provided in the present embodiment are also stored in the HDD 10 in units of subroutines.

CPU11は、ダウンロードソフトウェアを生成する際に、本来の機能のサブルーチン、付加機能のサブルーチン、および共通鍵の配置位置を決定してダウンロードソフトウェアのソースを構成し、ソースファイル600を生成する。CPU11は、コンパイラの機能に従って、ソースファイル600から実行ファイル601を生成する。CPU11は実行ファイル601のハッシュ値を算出し、そのハッシュ値を管理局1の秘密鍵で暗号化することによって電子署名(自己署名603)を生成し、実行ファイル601に添付する。   When generating the download software, the CPU 11 determines the subroutine of the original function, the subroutine of the additional function, and the arrangement position of the common key, configures the source of the download software, and generates the source file 600. The CPU 11 generates an execution file 601 from the source file 600 according to the function of the compiler. The CPU 11 calculates a hash value of the execution file 601, encrypts the hash value with the secret key of the management station 1, generates an electronic signature (self-signature 603), and attaches it to the execution file 601.

次に、ダウンロードソフトウェアの攻撃耐性を高める方法を説明する。起動されたソフトウェアが、起動後に他のプロセスに入れ替えられる攻撃や、バッファオーバフロー攻撃により改竄される可能性がある。そこで、1つのダウンロードソフトウェアを複数の部分ソフトウェア(本発明の部分プログラムに対応)に分割し、各部分ソフトウェアが相互に実行中のプロセス状態をシステムコール等で確認するようにする。   Next, a method for increasing the attack resistance of download software will be described. There is a possibility that the activated software is altered by an attack that is replaced with another process after the activation or a buffer overflow attack. Therefore, one download software is divided into a plurality of partial software (corresponding to the partial program of the present invention), and the process statuses of the respective partial software being mutually executed are confirmed by a system call or the like.

ダウンロードソフトウェアは複数の部分ソフトウェアの集合体であり、各々の部分ソフトウェアには、他の部分ソフトウェアの実行中のプロセス状態を確認する状態確認処理が埋め込まれている。図7に示される例では、機能Aの部分ソフトウェアであるダウンロードソフトウェアモジュール700と、機能Bの部分ソフトウェアであるダウンロードソフトウェアモジュール701が端末2のHDD20に格納されている。   The download software is an aggregate of a plurality of partial software, and a state confirmation process for confirming a process state during execution of other partial software is embedded in each partial software. In the example shown in FIG. 7, a download software module 700 that is partial software for function A and a download software module 701 that is partial software for function B are stored in the HDD 20 of the terminal 2.

機能Aのダウンロードソフトウェアモジュール700には、機能Bのダウンロードソフトウェアモジュール701のプロセス状態を確認する状態確認処理702が埋め込まれている。また、機能Bのダウンロードソフトウェアモジュール701には、機能Aのダウンロードソフトウェアモジュール700のプロセス状態を確認する状態確認処理703が埋め込まれている。   In the function A download software module 700, a state confirmation process 702 for confirming the process state of the function B download software module 701 is embedded. Further, in the download software module 701 of the function B, a state confirmation process 703 for confirming the process state of the download software module 700 of the function A is embedded.

端末2のCPU21は、HDD20からダウンロードソフトウェアモジュール700と701を読み出してメモリ22上にロードする。これによって、ダウンロードソフトウェアが起動され、CPU21は、ダウンロードソフトウェアに従った処理を実行する。プロセスの実行中において、状態確認処理702により、機能Bのダウンロードソフトウェアモジュール701のプロセスIDの変更や異常なプロセス時間の増加の有無が確認される。また、状態確認処理703により、機能Aのダウンロードソフトウェアモジュール700のプロセスIDの変更や異常なプロセス時間の増加の有無が確認される。   The CPU 21 of the terminal 2 reads the download software modules 700 and 701 from the HDD 20 and loads them onto the memory 22. As a result, the download software is activated, and the CPU 21 executes processing according to the download software. During the execution of the process, the state confirmation processing 702 confirms whether or not the process ID of the download software module 701 of the function B has been changed or whether the abnormal process time has increased. Further, the status confirmation processing 703 confirms whether or not the process ID of the download software module 700 of the function A has been changed and whether or not the abnormal process time has increased.

ダウンロードソフトウェアが複数の部分ソフトウェアの集合体として構成されていない場合には、攻撃を受けてダウンロードソフトウェアが動作を停止してしまうと、管理局1は端末2の異常を検知することができない。これに対して、ダウンロードソフトウェアが複数の部分ソフトウェアの集合体として構成されている場合には、例えば攻撃により機能Aのダウンロードソフトウェアモジュール700が動作を停止してしまっても、動作中のダウンロードソフトウェアモジュール701の状態確認処理703により、ダウンロードソフトウェアモジュール700の異常が検出される。   If the download software is not configured as an aggregate of a plurality of partial software, the management station 1 cannot detect the abnormality of the terminal 2 if the download software stops operating due to an attack. On the other hand, when the download software is configured as an aggregate of a plurality of partial software, even if the download software module 700 of the function A stops its operation due to, for example, an attack, the download software module in operation An abnormality of the download software module 700 is detected by the state confirmation processing 703 of 701.

各状態確認処理の中に管理局1への異常通知処理を組み込んでおけば、いずれかの部分ソフトウェアの異常が検出された場合に、管理局1にその旨が通知される。これによって、管理局1が端末2の異常を検出することができる。   If an abnormality notification process to the management station 1 is incorporated in each state confirmation process, the management station 1 is notified when an abnormality of any partial software is detected. Thereby, the management station 1 can detect the abnormality of the terminal 2.

以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。   The embodiment of the present invention has been described in detail above with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like without departing from the gist of the present invention.

本発明の一実施形態によるプログラム管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the program management system by one Embodiment of this invention. 本発明の一実施形態によるプログラム管理システムの動作の手順を示すシーケンス図である。It is a sequence diagram which shows the procedure of the operation | movement of the program management system by one Embodiment of this invention. 本発明の一実施形態における共通鍵の管理方法を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the management method of the common key in one Embodiment of this invention. 本発明の一実施形態における共通鍵の管理方法を説明するための説明図である。It is explanatory drawing for demonstrating the management method of the common key in one Embodiment of this invention. 本発明の一実施形態における有効期限管理リストの内容を示す参考図である。It is a reference figure which shows the content of the expiration date management list in one Embodiment of this invention. 本発明の一実施形態におけるダウンロードソフトウェアの生成方法を説明するための説明図である。It is explanatory drawing for demonstrating the generation method of the download software in one Embodiment of this invention. 本発明の一実施形態におけるダウンロードソフトウェアの攻撃耐性を高める方法を説明するための説明図である。It is explanatory drawing for demonstrating the method to raise the attack tolerance of the download software in one Embodiment of this invention.

符号の説明Explanation of symbols

1・・・管理局、2・・・端末、10,20・・・HDD、11,21・・・CPU、12,22・・・メモリ、13,23・・・通信制御部

DESCRIPTION OF SYMBOLS 1 ... Management station, 2 ... Terminal, 10, 20 ... HDD, 11, 21 ... CPU, 12, 22 ... Memory, 13, 23 ... Communication control part

Claims (8)

共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムに従った処理を実行する端末装置と、前記プログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置とを備えたプログラム管理システムであって、
前記端末装置は、
前記プログラムを記憶する第1の記憶手段と、
前記第1の記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、
前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、
前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理であり、
前記管理装置は、
前記端末装置から受信した前記検証結果情報に基づいて前記プログラムの改竄の有無を検証する第1の検証手段と、
前記検証用情報を前記端末装置へ送信し、前記端末装置から受信した前記第2の署名情報を前記共通鍵で復号化して得た前記検証用情報を検証することにより前記プログラムを認証する認証手段とを備えた
ことを特徴とするプログラム管理システム。
A terminal device that executes processing according to the program in which the common key, signature verification processing, and first signature processing are embedded and the first signature information is added, and verifies whether the program has been tampered with And a program management system comprising a management device for authenticating the program,
The terminal device
First storage means for storing the program;
Program execution means for reading the program from the first storage means and executing processing according to the program;
The signature verification process is a process of verifying the first signature information and transmitting verification result information to the management device;
The first signature processing receives verification information from the management device, encrypts the verification information with the common key to generate second signature information, and stores the second signature information in the management device Process to send to
The management device
First verification means for verifying the presence or absence of falsification of the program based on the verification result information received from the terminal device;
Authentication means for authenticating the program by transmitting the verification information to the terminal device and verifying the verification information obtained by decrypting the second signature information received from the terminal device with the common key And a program management system.
前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれており、
前記管理装置はさらに、前記端末装置から前記実行結果情報および前記第3の署名情報を受信し、前記第3の署名情報を検証する第2の検証手段を備えた
ことを特徴とする請求項1に記載のプログラム管理システム。
Second signature processing for generating third signature information for execution result information generated by execution of processing according to the program and transmitting the execution result information to the management apparatus together with the execution result information is embedded in the program,
The said management apparatus is further provided with the 2nd verification means which receives the said execution result information and the said 3rd signature information from the said terminal device, and verifies the said 3rd signature information. The program management system described in 1.
前記管理装置はさらに、
前記プログラムを生成して前記端末装置へ送信するプログラム生成手段と、
前記共通鍵および前記第1の署名処理の少なくともいずれかを前記プログラムに埋め込む位置を制御する埋め込み位置制御手段と、
を備えたことを特徴とする請求項1または請求項2に記載のプログラム管理システム。
The management device further includes:
Program generation means for generating and transmitting the program to the terminal device;
Embedded position control means for controlling a position where at least one of the common key and the first signature process is embedded in the program;
The program management system according to claim 1 or 2, further comprising:
前記管理装置はさらに、前記共通鍵の識別情報と前記共通鍵の有効期限が関連付けられた有効期限情報を記憶する第2の記憶手段と、
前記第2の記憶手段から前記有効期限情報を読み出し、前記有効期限情報に基づいて前記共通鍵が有効であるか否かを判定する判定手段と、
を備えたことを特徴とする請求項1〜請求項3のいずれかに記載のプログラム管理システム。
The management device further includes second storage means for storing expiration date information in which identification information of the common key and an expiration date of the common key are associated;
Determining means for reading the expiration date information from the second storage means and determining whether the common key is valid based on the expiration date information;
The program management system according to claim 1, further comprising:
前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行中のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする請求項1〜請求項4のいずれかに記載のプログラム管理システム。   The program is an aggregate of a plurality of partial programs, and each of the partial programs is embedded with a state confirmation process for confirming a process state during execution of another partial program. The program management system in any one of Claims 1-4. 共通鍵と署名検証処理と第1の署名処理とが埋め込まれていると共に、第1の署名情報が付加されているプログラムの改竄の有無を検証すると共に前記プログラムを認証する管理装置と通信する端末装置であって、
前記プログラムを記憶する記憶手段と、
前記記憶手段から前記プログラムを読み出し、前記プログラムに従った処理を実行するプログラム実行手段とを備え、
前記署名検証処理は、前記第1の署名情報を検証し、検証結果情報を前記管理装置へ送信する処理であり、
前記第1の署名処理は、前記管理装置から検証用情報を受信し、前記検証用情報を前記共通鍵で暗号化して第2の署名情報を生成し、前記第2の署名情報を前記管理装置へ送信する処理である
ことを特徴とする端末装置。
A terminal in which a common key, signature verification processing, and first signature processing are embedded, verifies whether the program to which the first signature information is added has been tampered with, and communicates with a management apparatus that authenticates the program A device,
Storage means for storing the program;
Program execution means for reading the program from the storage means and executing processing according to the program,
The signature verification process is a process of verifying the first signature information and transmitting verification result information to the management device;
The first signature processing receives verification information from the management device, encrypts the verification information with the common key to generate second signature information, and stores the second signature information in the management device A terminal device characterized in that it is a process of transmitting to a terminal device.
前記プログラムに従った処理の実行により生成される実行結果情報に対する第3の署名情報を生成し、前記実行結果情報と共に前記管理装置へ送信する第2の署名処理が前記プログラムに埋め込まれていることを特徴とする請求項6に記載の端末装置。   Embedded in the program is a second signature process for generating third signature information for the execution result information generated by executing the process according to the program, and transmitting the third signature information to the management apparatus together with the execution result information. The terminal device according to claim 6. 前記プログラムが複数の部分プログラムの集合体であり、各々の前記部分プログラムには、他の前記部分プログラムの実行時のプロセス状態を確認する状態確認処理が埋め込まれていることを特徴とする請求項6または請求項7に記載の端末装置。

The program is an aggregate of a plurality of partial programs, and each of the partial programs is embedded with a state confirmation process for confirming a process state at the time of execution of another partial program. The terminal device according to claim 6 or claim 7.

JP2006163249A 2006-06-13 2006-06-13 Program management system and terminal device Expired - Fee Related JP4818824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006163249A JP4818824B2 (en) 2006-06-13 2006-06-13 Program management system and terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006163249A JP4818824B2 (en) 2006-06-13 2006-06-13 Program management system and terminal device

Publications (2)

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

Family

ID=38935119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006163249A Expired - Fee Related JP4818824B2 (en) 2006-06-13 2006-06-13 Program management system and terminal device

Country Status (1)

Country Link
JP (1) JP4818824B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150581A (en) * 2010-01-22 2011-08-04 Jcb:Kk Settlement system
JP2013172305A (en) * 2012-02-21 2013-09-02 Nec Corp Information processing device, information processing method, and information processing program
JP2013196123A (en) * 2012-03-16 2013-09-30 Ntt Data Corp Package generation device, package generation method, and program
JP2019071065A (en) * 2014-04-29 2019-05-09 ディスカバリー・リミテッドDiscovery Limited System and method for acquiring vehicle telematics data
JP7329703B2 (en) 2020-06-08 2023-08-18 グーグル エルエルシー Security Token Expiration Using Signing Key Rotation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131567A (en) * 2001-10-19 2003-05-09 Sky Com:Kk Alteration preventing method, program, alteration prevention system, recipient-side processor, reporter-side processor, data recording system, game service system with game log alteration preventing means, provider-side processor, and user-side processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131567A (en) * 2001-10-19 2003-05-09 Sky Com:Kk Alteration preventing method, program, alteration prevention system, recipient-side processor, reporter-side processor, data recording system, game service system with game log alteration preventing means, provider-side processor, and user-side processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150581A (en) * 2010-01-22 2011-08-04 Jcb:Kk Settlement system
JP2013172305A (en) * 2012-02-21 2013-09-02 Nec Corp Information processing device, information processing method, and information processing program
JP2013196123A (en) * 2012-03-16 2013-09-30 Ntt Data Corp Package generation device, package generation method, and program
JP2019071065A (en) * 2014-04-29 2019-05-09 ディスカバリー・リミテッドDiscovery Limited System and method for acquiring vehicle telematics data
JP7329703B2 (en) 2020-06-08 2023-08-18 グーグル エルエルシー Security Token Expiration Using Signing Key Rotation

Also Published As

Publication number Publication date
JP4818824B2 (en) 2011-11-16

Similar Documents

Publication Publication Date Title
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
JP4912879B2 (en) Security protection method for access to protected resources of processor
JP5519773B2 (en) Device justification and / or authentication for communication with the network
US8479000B2 (en) Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit
US9830456B2 (en) Trust transference from a trusted processor to an untrusted processor
CN100454322C (en) Information processing device having activation verification function
KR101216306B1 (en) Updating configuration parameters in a mobile terminal
KR102444625B1 (en) Secure os boot as per reference platform manifest and data sealing
US20210073003A1 (en) Integrity manifest certificate
EP2278514A1 (en) System and method for providing secure virtual machines
US20110040960A1 (en) Method and System for Securely Updating Field Upgradeable Units
JP2007293873A (en) Method for securing electronic device, security system, and electronic device
US20110044451A1 (en) Information processing apparatus and falsification verification method
CN110688660B (en) Method and device for safely starting terminal and storage medium
CN101983375A (en) Binding a cryptographic module to a platform
JP2004280284A (en) Control processor, electronic equipment, and program starting method for electronic equipment, and system module updating method for electronic equipment
CN113661681A (en) Loading software on a secure device to generate a device identity for authentication with a remote server
CN103679005A (en) Method to enable development mode of a secure electronic control unit
JP6387908B2 (en) Authentication system
JP2009175923A (en) Platform integrity verification system and method
US9843451B2 (en) Apparatus and method for multi-state code signing
JP4818824B2 (en) Program management system and terminal device
KR102256249B1 (en) SECURE FIRMWARE UPDATE METHOD OF IoT DEVICE USING AN INTEGRATED SECURITY SoC
CN112699343A (en) Software integrity protection and verification method and device
CN116561734A (en) Verification method, verification device, computer and computer configuration system

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