[go: up one dir, main page]

JP2005301530A - Program, computer and data processing method - Google Patents

Program, computer and data processing method Download PDF

Info

Publication number
JP2005301530A
JP2005301530A JP2004114871A JP2004114871A JP2005301530A JP 2005301530 A JP2005301530 A JP 2005301530A JP 2004114871 A JP2004114871 A JP 2004114871A JP 2004114871 A JP2004114871 A JP 2004114871A JP 2005301530 A JP2005301530 A JP 2005301530A
Authority
JP
Japan
Prior art keywords
data
communication
hash
procedure
communication destination
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.)
Abandoned
Application number
JP2004114871A
Other languages
Japanese (ja)
Inventor
Yoshito Ishibashi
義人 石橋
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004114871A priority Critical patent/JP2005301530A/en
Priority to TW094110747A priority patent/TW200607288A/en
Priority to US10/557,169 priority patent/US20070044160A1/en
Priority to EP05728436A priority patent/EP1736892A1/en
Priority to PCT/JP2005/006633 priority patent/WO2005098640A1/en
Priority to KR1020057022195A priority patent/KR20070009371A/en
Publication of JP2005301530A publication Critical patent/JP2005301530A/en
Abandoned legal-status Critical Current

Links

Images

Abstract

【課題】 コンピュータを用いたユーザの操作を長期的に監視されることなく、当該コンピュータを通信先に識別させて当該通信先と通信を行うことを可能にするプログラムを提供する。
【解決手段】 クライアント装置12_1は、ユーザの属性を示すエージェントデータのハッシュデータをサーバ装置10に送信する。サーバ装置10は、当該ハッシュデータを基に、クライアント装置12_1を識別する。エージェントデータは、クライアント装置12_1のユーザの操作に応じて所定の条件で更新され、それに伴いハッシュデータも更新される。
【選択図】 図1
PROBLEM TO BE SOLVED: To provide a program that enables a computer to identify a communication destination and communicate with the communication destination without monitoring a user operation using the computer for a long period of time.
A client device 12_1 transmits hash data of agent data indicating a user attribute to a server device 10. The server device 10 identifies the client device 12_1 based on the hash data. The agent data is updated under a predetermined condition according to the operation of the user of the client device 12_1, and the hash data is also updated accordingly.
[Selection] Figure 1

Description

本発明は、通信先と通信を行うコンピュータが実行するプログラム、そのコンピュータおよびデータ処理方法に関する。   The present invention relates to a program executed by a computer that communicates with a communication destination, the computer, and a data processing method.

例えば、ネットワークを介して複数のコンピュータが通信を行う通信システムがある。
このような通信システムでは、通常、各コンピュータは、通信先のコンピュータに固有かつ固定的に割り当てられた識別データを基に、当該通信先のコンピュータを識別している。
For example, there is a communication system in which a plurality of computers communicate via a network.
In such a communication system, each computer normally identifies the communication destination computer based on identification data uniquely and fixedly assigned to the communication destination computer.

しかしながら、上述した従来の通信システムでは、各コンピュータに固定的に割り当てられた識別データを用いてネットワーク上で各コンピュータを識別するため、ユーザの操作に応じた各コンピュータのネットワークを介した振る舞い(処理)が長期的に監視される可能性があり、各コンピュータのアクセス先の情報などユーザのプライバシーに係わる情報が不正に利用されることがあるという問題がある。   However, in the conventional communication system described above, since each computer is identified on the network using identification data fixedly assigned to each computer, the behavior (process) of each computer according to the user's operation is processed. ) May be monitored over a long period of time, and there is a problem that information related to the user's privacy such as information on the access destination of each computer may be used illegally.

本発明は、上述した従来技術に鑑みてなされ、コンピュータを用いたユーザの操作を長期的に監視されることなく、当該コンピュータを通信先に識別させて当該通信先と通信を行うことを可能にするプログラム、コンピュータおよびデータ処理方法を提供することを目的とする。
また、本発明は、通信先のユーザの操作が長期的に監視されることなく、当該通信先を識別して通信を行うことを可能にするプログラム、コンピュータおよびデータ処理方法を提供することを目的とする。
The present invention has been made in view of the above-described prior art, and enables a computer to be identified as a communication destination and communicate with the communication destination without monitoring a user's operation using the computer for a long period of time. An object is to provide a program, a computer, and a data processing method.
Another object of the present invention is to provide a program, a computer, and a data processing method that enable communication by identifying the communication destination without monitoring the operation of the user of the communication destination over the long term. And

上述した従来技術の問題点を解決し、上述した目的を達成するために、第1の発明のプログラムは、通信先と通信を行うコンピュータが実行するプログラムであって、前記コンピュータとの通信に前記通信先で用いられ所定の条件で更新される通信用データのハッシュデータを生成する第1の手順と、前記第1の手順で生成した前記ハッシュデータを前記通信用データに付加して前記通信先に送信する第2の手順と、前記第2の手順の後に、前記第1の手順で生成した前記ハッシュデータを前記コンピュータの識別データとして用いて、前記通信先と通信を行う第3の手順とを前記コンピュータに実行させる。   In order to solve the above-described problems of the prior art and achieve the above-described object, a program according to a first invention is a program executed by a computer that communicates with a communication destination, and is used for communication with the computer. A first procedure for generating hash data of communication data used at a communication destination and updated under a predetermined condition, and the communication destination by adding the hash data generated in the first procedure to the communication data And a third procedure for communicating with the communication destination using the hash data generated in the first procedure as identification data of the computer after the second procedure, Is executed by the computer.

第1の発明のプログラムの作用は以下のようになる。
第1の発明のプログラムをコンピュータが実行する。
そして、当該プログラムの第1の手順に従って、コンピュータが、当該コンピュータとの通信に前記通信先で用いられ所定の条件で更新される通信用データのハッシュデータを生成する。
次に、当該プログラムの第2の手順に従って、前記コンピュータが、前記第1の手順で生成した前記ハッシュデータを前記通信用データに付加して前記通信先に送信する。
次に、当該プログラムの第3の手順に従って、前記コンピュータが、前記第2の手順の後に、前記第1の手順で生成した前記ハッシュデータを前記コンピュータの識別データとして用いて、前記通信先と通信を行う。
The operation of the program of the first invention is as follows.
A computer executes the program of the first invention.
Then, according to the first procedure of the program, the computer generates hash data of communication data that is used at the communication destination for communication with the computer and is updated under a predetermined condition.
Next, according to the second procedure of the program, the computer adds the hash data generated in the first procedure to the communication data and transmits it to the communication destination.
Next, in accordance with the third procedure of the program, the computer communicates with the communication destination using the hash data generated in the first procedure as the identification data of the computer after the second procedure. I do.

第2の発明のプログラムは、通信先と通信を行うコンピュータが実行するプログラムであって、所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信する第1の手順と、前記第1の手順で受信した前記ハッシュデータを基に前記通信先を識別し、前記第1の手順で受信した前記通信用データを基に前記通信先と通信を行う第2の手順とを前記コンピュータに実行させる。   The program of the second invention is a program executed by a computer that communicates with a communication destination, and associates communication data updated under a predetermined condition with hash data of the communication data from the communication destination. Identifying the communication destination based on the first procedure to be received and the hash data received in the first procedure, and communicating with the communication destination based on the communication data received in the first procedure And causing the computer to execute a second procedure to be performed.

第2の発明のプログラムをコンピュータが実行する。
そして、当該プログラムの第1の手順に従って、前記コンピュータが、所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信する。
次に、当該プログラムの第2の手順に従って、前記コンピュータが、前記第1の手順で受信した前記ハッシュデータを基に前記通信先を識別し、前記第1の手順で受信した前記通信用データを基に前記通信先と通信を行う。
A computer executes the program of the second invention.
Then, according to the first procedure of the program, the computer associates the communication data updated under a predetermined condition with the hash data of the communication data and receives the data from the communication destination.
Next, according to the second procedure of the program, the computer identifies the communication destination based on the hash data received in the first procedure, and the communication data received in the first procedure is Based on the communication destination, communication is performed.

第3の発明のコンピュータは、アプリケーションプログラムが記憶されたメモリと、前記メモリから読み出した前記アプリケーションプログラムを実行する実行回路と、通信先とデータ授受を行うインタフェースとを有するコンピュータであって、前記実行回路は、前記アプリケーションプログラムに従って、前記通信先で前記コンピュータとの通信に用いられ所定の条件で更新される通信用データのハッシュデータを生成し、当該生成した前記ハッシュデータを前記通信用データに付加して前記通信先に前記インタフェースを介して送信し、前記ハッシュデータを前記コンピュータの識別データとして用いて前記通信先と通信を行う。   A computer according to a third aspect of the present invention is a computer having a memory in which an application program is stored, an execution circuit for executing the application program read from the memory, and an interface for exchanging data with a communication destination. The circuit generates hash data of communication data used for communication with the computer at the communication destination and updated under a predetermined condition according to the application program, and adds the generated hash data to the communication data The data is transmitted to the communication destination via the interface, and the hash data is used as identification data for the computer to communicate with the communication destination.

第3の発明のコンピュータの作用は以下のようになる。
先ず、実行回路が、前記アプリケーションプログラムに従って、前記通信先で前記コンピュータとの通信に用いられ所定の条件で更新される通信用データのハッシュデータを生成する。
次に、前記実行回路が、前記生成した前記ハッシュデータを前記通信用データに付加して前記通信先に前記インタフェースを介して送信し、前記ハッシュデータを前記コンピュータの識別データとして用いて前記通信先と通信を行う。
The operation of the computer of the third invention is as follows.
First, an execution circuit generates hash data of communication data used for communication with the computer at the communication destination and updated under a predetermined condition according to the application program.
Next, the execution circuit adds the generated hash data to the communication data and transmits the hash data to the communication destination via the interface, and uses the hash data as identification data of the computer. Communicate with.

第4の発明のコンピュータは、通信先と通信を行うコンピュータであって、プログラムを記憶するメモリと、所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信するインタフェースと、前記メモリから読み出した前記プログラムを実行し、当該プログラムに従って、前記インタフェースが受信した前記ハッシュデータを基に前記通信先を識別し、前記インタフェースが受信した前記通信用データを基に前記通信先と通信を行う実行回路とを有する。   A computer according to a fourth aspect of the present invention is a computer that communicates with a communication destination, and associates a memory for storing a program, communication data updated under a predetermined condition, and hash data of the communication data. An interface received from a communication destination and the program read from the memory are executed, the communication destination is identified based on the hash data received by the interface according to the program, and the communication data received by the interface And an execution circuit for communicating with the communication destination based on the communication destination.

第4の発明のコンピュータの作用は以下のようになる。
実行回路が、メモリからプログラムを読み出して実行する。
そして、実行回路が前記プログラムに従って、前記インタフェースが受信した前記ハッシュデータを基に前記通信先を識別し、前記インタフェースが受信した前記通信用データを基に前記通信先と通信を行う。
The operation of the computer of the fourth invention is as follows.
The execution circuit reads the program from the memory and executes it.
Then, according to the program, the execution circuit identifies the communication destination based on the hash data received by the interface, and communicates with the communication destination based on the communication data received by the interface.

第5の発明のデータ処理方法は、通信先と通信を行うコンピュータが実行するデータ処理方法であって、前記コンピュータとの通信に前記通信先で用いられ所定の条件で更新される通信用データのハッシュデータを生成する第1の工程と、前記第1の工程で生成した前記ハッシュデータを前記通信用データに付加して前記通信先に送信する第2の工程と、前記第2の工程の後に、前記第1の工程で生成した前記ハッシュデータを前記コンピュータの識別データとして用いて、前記通信先と通信を行う第3の工程とを有する。   A data processing method according to a fifth aspect of the present invention is a data processing method executed by a computer that communicates with a communication destination, and is used for communication data used at the communication destination for communication with the computer and updated under predetermined conditions. A first step of generating hash data, a second step of adding the hash data generated in the first step to the communication data and transmitting it to the communication destination, and after the second step And a third step of communicating with the communication destination using the hash data generated in the first step as identification data of the computer.

第6の発明のデータ処理方法は、通信先と通信を行うコンピュータが実行するデータ処理方法であって、所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信する第1の工程と、前記第1の工程で受信した前記ハッシュデータを基に前記通信先を識別し、前記第1の工程で受信した前記通信用データを基に前記通信先と通信を行う第2の工程とを有する。   A data processing method according to a sixth aspect of the present invention is a data processing method executed by a computer that communicates with a communication destination, wherein communication data updated under a predetermined condition is associated with hash data of the communication data. The first step of receiving from the communication destination and the communication destination based on the communication data received in the first step by identifying the communication destination based on the hash data received in the first step A second step of communicating with the destination.

第1、第3および第5の発明によれば、コンピュータを用いたユーザの操作を長期的に監視されることなく、当該コンピュータを通信先に識別させて当該通信先と通信を行うことを可能にするプログラム、コンピュータおよびデータ処理方法を提供することができる。
第2、第4および第6の発明によれば、通信先のユーザの操作が長期的に監視されることなく、当該通信先を識別して通信を行うことを可能にするプログラム、コンピュータおよびデータ処理方法を提供することができる。
According to the first, third, and fifth inventions, it is possible to identify a computer as a communication destination and communicate with the communication destination without monitoring a user's operation using the computer for a long period of time. A program, a computer, and a data processing method can be provided.
According to the second, fourth, and sixth inventions, a program, a computer, and data that make it possible to identify and communicate with a communication destination without monitoring the operation of the communication destination user over a long period of time A processing method can be provided.

以下、本発明の実施形態に係わる通信システムについて説明する。
図1は、本発明の実施形態に係わる通信システム1の全体構成図である。
図1に示すように、通信システム1は、例えば、サーバ装置10およびクライアント装置12_1,12_2を有する。
サーバ装置10、クライアント装置12_1およびクライアント装置12_1は、ネットワーク9を介して相互に通信を行う。
なお、本実施形態では、多数のサーバ装置10および2つのクライアント装置12_1,12_3で通信を行う場合を例示するが、本発明は、複数のサーバ装置を用いてもよいし、単数または3個以上のクライアント装置を用いてもよい。
Hereinafter, a communication system according to an embodiment of the present invention will be described.
FIG. 1 is an overall configuration diagram of a communication system 1 according to an embodiment of the present invention.
As illustrated in FIG. 1, the communication system 1 includes, for example, a server device 10 and client devices 12_1 and 12_2.
The server device 10, the client device 12_1, and the client device 12_1 communicate with each other via the network 9.
In this embodiment, a case where communication is performed by a large number of server apparatuses 10 and two client apparatuses 12_1 and 12_3 is illustrated, but the present invention may use a plurality of server apparatuses, or a single or three or more. The client device may be used.

先ず、図1に示す通信システム1の概要を説明する。
クライアント装置12_1は、ユーザの操作履歴データを基に、当該ユーザの好みなどの属性を示す公開エ−ジェントデータAGENT_DP1を生成する。
当該公開エ−ジェントデータAGENT_DP1には、クライアント装置12_1のユーザの好みなどの属性を示すエージェントデータAGENT_D1と、エージェントデータAGENT_D1のハッシュデータHASH_D1とが含まれている。
そして、クライアント装置12_1は、公開エ−ジェントデータAGENT_DP1をサーバ装置10に送信する。
また、以後、クライアント装置12_1は、公開エ−ジェントデータAGENT_DP1に含めたハッシュデータHASH_D1を、自らの識別データとして用いてサーバ装置10と通信を行う。
サーバ装置10は、クライアント装置12_1から受信した公開エ−ジェントデータAGENT_DP1に含まれるハッシュデータHASH_D1を以後、クライアント装置12_1を識別するための識別データとして用いる。
また、サーバ装置10は、公開エ−ジェントデータAGENT_DP1を基に、クライアント装置12_1のユーザの好みなどの特性に適合した種々のサービスデータ、例えばコンテンツデータをインタフェース21を介して、ハッシュデータHASH_D1を識別データとして用いてクライアント装置12_1に送信する。
なお、エージェントデータAGENT_D1は所定の条件で更新され、それに応じてハッシュデータHASH_D1も更新される。すなわち、クライアント装置12_1の識別データが更新される。
First, an outline of the communication system 1 shown in FIG. 1 will be described.
Based on the user operation history data, the client device 12_1 generates public agent data AGENT_DP1 indicating attributes such as the user's preference.
The public agent data AGENT_DP1 includes agent data AGENT_D1 indicating attributes such as user preferences of the client device 12_1 and hash data HASH_D1 of the agent data AGENT_D1.
Then, the client device 12_1 transmits the public agent data AGENT_DP1 to the server device 10.
Thereafter, the client device 12_1 communicates with the server device 10 using the hash data HASH_D1 included in the public agent data AGENT_DP1 as its own identification data.
The server device 10 uses the hash data HASH_D1 included in the public agent data AGENT_DP1 received from the client device 12_1 as identification data for identifying the client device 12_1.
Further, the server device 10 identifies the hash data HASH_D1 through the interface 21 with various service data, for example, content data, adapted to characteristics such as user preferences of the client device 12_1 based on the public agent data AGENT_DP1. It is used as data and transmitted to the client device 12_1.
Note that the agent data AGENT_D1 is updated under a predetermined condition, and the hash data HASH_D1 is also updated accordingly. That is, the identification data of the client device 12_1 is updated.

通信システム1では、クライアント装置12_1が、所定の条件で更新されるハッシュデータHASH_D1を自らの識別データとして用いて、サーバ装置10と通信を行う。
そのため、ネットワーク9上でハッシュデータHASH_D1を基に、クライアント装置12_1のユーザの操作(行動)を監視しても、ハッシュデータHASH_D1が更新された後には監視を継続することができない。従って、クライアント装置12_1のユーザの操作が長期的に継続して監視されることを防止でき、ユーザのプライバシーを保護できる。
In the communication system 1, the client device 12_1 communicates with the server device 10 using the hash data HASH_D1 updated under a predetermined condition as its identification data.
Therefore, even if the operation (behavior) of the user of the client device 12_1 is monitored on the network 9 based on the hash data HASH_D1, the monitoring cannot be continued after the hash data HASH_D1 is updated. Therefore, it is possible to prevent the user's operation of the client device 12_1 from being continuously monitored over a long period of time and to protect the user's privacy.

以下、本実施形態を図1〜図10を参照して説明する。
先ず、本実施形態の各構成要素と本発明の構成要素との対応関係を説明する。
図2に示すアプリケーションプログラムAP_Sが第2および第4の発明のプログラムに対応している。
図5等に示すブ−トプログラムB_PRGが、第3の発明のブ−トプログラムに対応している。
また、図5等に示すエージェントプログラムAGENT_P1等が、第1の発明のプログラム、並びに第3の発明のアプリケーションプログラムに対応している。
また、図1に示すクライアント装置12_1が第1および第3の発明のコンピュータに対応し、図1に示すサーバ装置10およびクライアント装置12_2が第1および第3の発明の通信先に対応している。
また、図1に示すサーバ装置10が第2および第4の発明のコンピュータに対応し、図1に示すクライアント装置12_1が第2および第4の発明の通信先に対応している。
また、公開エ−ジェントデータAGENT_DP1内のエージェントデータAGENT_D1,AGENT_D2が本発明の通信用データに対応し、ハッシュデータHASH_D1,HASH_D2が本発明のハッシュデータに対応している。
また、証明データAP_CERが、本発明の証明データに対応している。
Hereinafter, the present embodiment will be described with reference to FIGS.
First, the correspondence between each component of the present embodiment and the component of the present invention will be described.
The application program AP_S shown in FIG. 2 corresponds to the programs of the second and fourth inventions.
The boot program B_PRG shown in FIG. 5 and the like corresponds to the boot program of the third invention.
Also, the agent program AGENT_P1 and the like shown in FIG. 5 and the like correspond to the program of the first invention and the application program of the third invention.
The client device 12_1 shown in FIG. 1 corresponds to the computers of the first and third inventions, and the server device 10 and the client device 12_2 shown in FIG. 1 correspond to the communication destinations of the first and third inventions. .
The server device 10 shown in FIG. 1 corresponds to the computers of the second and fourth inventions, and the client device 12_1 shown in FIG. 1 corresponds to the communication destination of the second and fourth inventions.
Further, agent data AGENT_D1 and AGENT_D2 in the public agent data AGENT_DP1 correspond to the communication data of the present invention, and the hash data HASH_D1 and HASH_D2 correspond to the hash data of the present invention.
Further, the certification data AP_CER corresponds to the certification data of the present invention.

図8に示すステップST37が第1の発明の第1の手順に対応し、図8に示すステップST38および図9に示すステップST54が第1の発明の第2の手順に対応し、ステップST55が第2の発明の第3の手順に対応している。
また、図3に示すステップST7が第2の発明の第1の手順に対応し、ステップST9,ST10が第2の発明の第2の手順に対応している。
Step ST37 shown in FIG. 8 corresponds to the first procedure of the first invention, step ST38 shown in FIG. 8 and step ST54 shown in FIG. 9 correspond to the second procedure of the first invention, and step ST55 This corresponds to the third procedure of the second invention.
Also, step ST7 shown in FIG. 3 corresponds to the first procedure of the second invention, and steps ST9 and ST10 correspond to the second procedure of the second invention.

〔サーバ装置10〕
図2は、図1に示すサーバ装置10の構成図である。
図2に示すように、サーバ装置10は、例えば、インタフェース21、メモリ22およびCPU23を有し、これらがデータ線20を介して接続されている。
ここで、インタフェース21が第4の発明のインタフェースに対応し、メモリ22が第4の発明のメモリに対応し、CPU23が第4の発明の実行回路に対応している。
[Server device 10]
FIG. 2 is a configuration diagram of the server apparatus 10 shown in FIG.
As shown in FIG. 2, the server device 10 includes, for example, an interface 21, a memory 22, and a CPU 23, which are connected via a data line 20.
Here, the interface 21 corresponds to the interface of the fourth invention, the memory 22 corresponds to the memory of the fourth invention, and the CPU 23 corresponds to the execution circuit of the fourth invention.

インタフェース21は、ネットワーク9を介して、クライアント装置12_1,12_2との間でデータ送受信を行う。
メモリ22は、アプリケーションプログラムAP_Sを記憶する。
アプリケーションプログラムAP_Sは、後述するように、クライアント装置12_1から受信した公開エ−ジェントデータAGENT_DP1に含まれるハッシュデータHASH_D1を登録し、その後のクライアント装置12_1との通信で、ハッシュデータHASH_D1をクライアント装置12_1の識別データとして用いることを規定している。
また、アプリケーションプログラムAP_Sは、後述するように、クライアント装置12_1,12_2から受信した公開エ−ジェントデータAGENT_DP1,AGENT_DP2を基に、クライアント装置12_1,12_2のユーザの好みなどの特性に適合した種々のサービスをクライアント装置12_1,12_2に対して提供することを規定している。
The interface 21 transmits and receives data to and from the client devices 12_1 and 12_2 via the network 9.
The memory 22 stores the application program AP_S.
As will be described later, the application program AP_S registers the hash data HASH_D1 included in the public agent data AGENT_DP1 received from the client device 12_1, and then transmits the hash data HASH_D1 to the client device 12_1 through communication with the client device 12_1. It is specified to be used as identification data.
Further, as will be described later, the application program AP_S performs various services adapted to characteristics such as user preferences of the client apparatuses 12_1 and 12_2 based on the public agent data AGENT_DP1 and AGENT_DP2 received from the client apparatuses 12_1 and 12_2. Is provided to the client devices 12_1 and 12_2.

メモリ22は、サーバ装置10の秘密鍵データSK_S、公開鍵データPK_S、公開鍵証明データPKC_S、並びに識別データID_Sを記憶する。
また、メモリ22は、クライアント装置12_1から受信した公開エ−ジェントデータAGENT_DP1を記憶する。
また、メモリ22は、クライアント装置12_1との通信などにより、クライアント装置12_1の公開鍵データPK_C1および公開鍵証明データPKC_C1を記憶する。 また、メモリ22は、クライアント装置12_2から受信した公開エ−ジェントデータAGENT_DP2を記憶する。
また、メモリ22は、クライアント装置12_2との通信などにより、クライアント装置12_2の公開鍵データPK_C2および公開鍵証明データPKC_C2を記憶する。
The memory 22 stores the secret key data SK_S, public key data PK_S, public key certification data PKC_S, and identification data ID_S of the server device 10.
The memory 22 stores public agent data AGENT_DP1 received from the client device 12_1.
The memory 22 stores the public key data PK_C1 and the public key certification data PKC_C1 of the client device 12_1 through communication with the client device 12_1. The memory 22 stores public agent data AGENT_DP2 received from the client device 12_2.
Further, the memory 22 stores the public key data PK_C2 and the public key certification data PKC_C2 of the client device 12_2 through communication with the client device 12_2 or the like.

CPU23は、アプリケーションプログラムAP_Sを実行し、サーバ装置10の動作を統括的に制御する。
CPU23が行う処理については、サーバ装置10の動作例と関連付けて説明する。
The CPU 23 executes the application program AP_S and comprehensively controls the operation of the server device 10.
The processing performed by the CPU 23 will be described in association with an operation example of the server device 10.

以下、図2に示すサーバ装置10がクライアント装置12_1と通信を行う場合の動作例を説明する。
図3は、図2に示すサーバ装置10がクライアント装置12_1と通信を行う場合の動作例を説明するためのフローチャートである。
以下に示す各ステップは、アプリケーションプログラムAP_Sによって規定されている。
ステップST1:
サーバ装置10のCPU23が、ユーザから指定されたアプリケーションプログラムAP_Sをメモリ22から読み出して実行する。
アプリケーションプログラムAP_Sは、例えば、検索エンジン、あるいは、ビデオやオーディオなどのコンテンツデータをクライアント装置に提供するプログラムであり、これに対応した識別データAP_IDを持つプログラムとのみコンテンツデータを送受信するプログラムである。当該コンテンツデータは、例えば、著作権に係わるものである。
Hereinafter, an operation example when the server apparatus 10 illustrated in FIG. 2 communicates with the client apparatus 12_1 will be described.
FIG. 3 is a flowchart for explaining an operation example when the server apparatus 10 shown in FIG. 2 communicates with the client apparatus 12_1.
Each step shown below is defined by the application program AP_S.
Step ST1:
The CPU 23 of the server device 10 reads the application program AP_S designated by the user from the memory 22 and executes it.
The application program AP_S is, for example, a program that provides a client device with content data such as a search engine or video and audio, and is a program that transmits and receives content data only with a program having identification data AP_ID corresponding thereto. The content data relates to copyright, for example.

ステップST2:
CPU23は、例えば、メモリ22から読み出した秘密鍵データSK_S、公開鍵データPK_C1および公開鍵証明データPKC_C1を基に、インタフェース21を介してクライアント装置12_1との間で相互認証を行う。
当該相互認証としては、例えば、ISO/IEC 9798−3方式などが用いられる。
CPU23は、当該相互認証により互いの正当性が確認されると、クライアント装置12_1との間の以後の通信に用いるセッション鍵データをクライアント装置12_1と共用し、以後の通信において当該セッション鍵データを基にデータを暗号化する。
本実施形態では、例えば、CPU23は、クライアント装置12_1のブ−トプログラムB_PRGのハッシュデータの検証は行わないでよい。
ステップST3:
CPU23は、ステップST2で行った相互認証によって互いの正当性が確認されると、ステップST4に進み、そうでない場合には処理を終了かエラー処理を行う。
Step ST2:
For example, the CPU 23 performs mutual authentication with the client device 12_1 via the interface 21 based on the secret key data SK_S, the public key data PK_C1, and the public key certification data PKC_C1 read from the memory 22, for example.
As the mutual authentication, for example, ISO / IEC 9798-3 method or the like is used.
When the mutual authenticity is confirmed by the mutual authentication, the CPU 23 shares the session key data used for the subsequent communication with the client device 12_1 with the client device 12_1, and based on the session key data in the subsequent communication. Encrypt the data.
In the present embodiment, for example, the CPU 23 may not verify the hash data of the boot program B_PRG of the client device 12_1.
Step ST3:
The CPU 23 proceeds to step ST4 when mutual validity is confirmed by the mutual authentication performed in step ST2, and ends the process or performs error processing if not.

ステップST4:
CPU23は、インタフェース21を介してクライアント装置12_1から署名データSIGが付された証明データAP_CERを受信する。
証明データAP_CERは、例えば、後述するように、クライアント装置12_1で起動され、その正当性が確認されたアプリケーションプログラムAP_C1の識別データAP_ID、製造識別データMF_ID、バージョンVERおよびハッシュデータHASHを図4に示すように対応付けて示している。
本実施形態では、アプリケーションプログラムAP_C1の一つとして、エージェントプログラムAGENT_P1が用いられる。
Step ST4:
The CPU 23 receives the certification data AP_CER attached with the signature data SIG from the client device 12_1 via the interface 21.
For example, as will be described later, the certification data AP_CER includes identification data AP_ID, manufacturing identification data MF_ID, version VER, and hash data HASH of the application program AP_C1 that has been activated by the client device 12_1 and has been validated. They are shown in association with each other.
In the present embodiment, an agent program AGENT_P1 is used as one of the application programs AP_C1.

ステップST5:
CPU23は、ステップST4で受信した証明データAP_CERの正当性を検証する。
このとき、CPU23は、例えば、証明データAP_CERのハッシュデータをハッシュ関数を基に生成する。そして、CPU23は、上記生成したハッシュデータと、図4に示す証明データAP_CERに付加された署名データSIGとが一致しているか否かを判断し、一致していれば、証明データAP_CER1が改竄されていない正当なものであると判断する。
ここで、ハッシュ関数は、与えられた原文から固定長のデータを生成する関数であり、ハッシュ値から原文を再現できず、且つ、同じハッシュ値を持つ異なるデータを生成することも極めて困難であるという特性を有している。
そして、CPU23は、証明データAP_CERが正当であると判断した場合にステップST6に進み、そうでない場合に処理を終了するかエラー処理を行う。
なお、クライアント装置12_1が上記ハッシュデータをクライアント装置12_1の
秘密鍵SK_C1で暗号化して署名データSIGを生成した場合には、CPU23は、署名データSIGをクライアント装置12_1の公開鍵PK_C1で復号し、復号されたデータと上記ハッシュデータを比較する。このとき、ネットワーク9上ではデータはセッション鍵で暗号化されているため、処理時間のかかるディジタル署名技術を用いなくても所望の目的を達成できる。すなわち、ハッシュデータそのものはセッション鍵で暗号化されており、ディジタル署名とほぼ同じ機能を実現できるからである。
また、過去にやりとりされたデータを不正に再利用することを防止するために、通常はデータ(本例では図4に示す証明データAP_CER)に乱数データを追加し、乱数を含む全データに対しハッシュデータを計算し、それを署名データSIGとして利用する。また、秘密鍵SK_C1で暗号化する場合には、この乱数データを含んだデータに対するハッシュデータに対して暗号化を行う。
Step ST5:
The CPU 23 verifies the validity of the certification data AP_CER received in step ST4.
At this time, for example, the CPU 23 generates hash data of the certification data AP_CER based on the hash function. Then, the CPU 23 determines whether or not the generated hash data matches the signature data SIG added to the certification data AP_CER shown in FIG. 4, and if they match, the certification data AP_CER1 is falsified. Judge that it is not legitimate.
Here, the hash function is a function that generates fixed-length data from a given original text, and the original text cannot be reproduced from the hash value, and it is extremely difficult to generate different data having the same hash value. It has the characteristic.
If the CPU 23 determines that the proof data AP_CER is valid, the CPU 23 proceeds to step ST6. If not, the CPU 23 ends the process or performs error processing.
When the client device 12_1 generates the signature data SIG by encrypting the hash data with the secret key SK_C1 of the client device 12_1, the CPU 23 decrypts the signature data SIG with the public key PK_C1 of the client device 12_1 and decrypts it. The obtained data is compared with the hash data. At this time, since the data is encrypted with the session key on the network 9, a desired object can be achieved without using a digital signature technique that takes a long processing time. That is, the hash data itself is encrypted with the session key, and almost the same function as the digital signature can be realized.
In addition, in order to prevent the data exchanged in the past from being illegally reused, usually random number data is added to the data (in this example, the certification data AP_CER shown in FIG. 4), and all data including random numbers is added. Hash data is calculated and used as signature data SIG. Further, when encrypting with the secret key SK_C1, encryption is performed on the hash data for the data including the random number data.

ステップST6:
CPU23は、指定されたアプリケーションプログラムAP_C1(本実施形態では、エージェントプログラムAGENT_P1)の識別データAP_IDが、ステップST4で受信した証明データAP_CERに含まれているか否かを判断し、当該識別データAP_IDが含まれている(クライアント装置12_1においてエージェントプログラムAGENT_P1の正当性が確認され且つ起動されている)と判断するとステップST7に進み、そうでない場合には処理を終了する。
ここで、エージェントプログラムAGENT_P1は、例えば、上述したように、クライアント装置12_1のユーザの公開エ−ジェントデータAGENT_DP1を生成するプログラムである。
なお、CPU23は、当該ステップの上記検証において、識別データAP_IDの他に製造識別データMF_IDおよびバージョンデータVERが所望のものであるか否かを検証してもよい。
Step ST6:
The CPU 23 determines whether or not the identification data AP_ID of the designated application program AP_C1 (in this embodiment, the agent program AGENT_P1) is included in the certification data AP_CER received in step ST4, and the identification data AP_ID is included. If it is determined that the validity of the agent program AGENT_P1 has been confirmed and activated in the client device 12_1, the process proceeds to step ST7, and if not, the process ends.
Here, the agent program AGENT_P1 is a program that generates the public agent data AGENT_DP1 of the user of the client device 12_1, for example, as described above.
Note that the CPU 23 may verify whether the manufacturing identification data MF_ID and the version data VER are desired in addition to the identification data AP_ID in the verification in the step.

ステップST7:
インタフェース21は、クライアント装置12_1から公開エ−ジェントデータAGENT_DP1を受信する。
ステップST8:
CPU23は、ステップST7で受信した図6に示す公開エ−ジェントデータAGENT_DP1に付された署名データSIGDの正当性を検証し、正当であると判断するとステップST9に進み、そうでない場合には処理を終了するかエラー処理を行う。
Step ST7:
The interface 21 receives the public agent data AGENT_DP1 from the client device 12_1.
Step ST8:
The CPU 23 verifies the validity of the signature data SIGD attached to the public agent data AGENT_DP1 shown in FIG. 6 received in step ST7, and proceeds to step ST9 if it is determined to be valid. Exit or perform error handling.

ステップST9:
CPU23は、ステップST7で受信した図6に示す公開エ−ジェントデータAGENT_DP内のハッシュデータHASH_D1を、クライアント装置12_1の識別データとして登録(特定)する。
ステップST10:
CPU23は、ステップST9で登録したハッシュデータHASH_D1をクライアント装置12_1の識別データとして用いて、クライアント装置12_1と通信を行う。
このとき、CPU23は、公開エ−ジェントデータAGENT_DP1内のエージェントデータAGENT_D1を解析して、クライアント装置12_1のユーザの好みなどの特性に適合した種々のサービスデータ、例えばコンテンツデータをインタフェース21を介してクライアント装置12_1に送信する。
CPU23は、例えば、アプリケーションプログラムAP_Sが検索エンジンである場合に、クライアント装置12_1のユーザが入力した所定の検索キーワードの他に、上記ユーザの好みを基に決定された当該検索キ−ワードに関連するキ−ワードをさらに用いて、データの検索、並びに検索結果の表示を行う。
例えば、CPU23は、ユーザが「パッケ−ジツア−」を検索キ−ワードとして入力し、公開エ−ジェントデータAGENT_DP1が当該ユーザの好みは「車」であることを示す場合に、パッケ−ジツアーのデータのなかで、車を使って現地まで行くプランや、レンタカープランに関するデータを優先して選択してクライアント装置12_1に送信する。
Step ST9:
The CPU 23 registers (specifies) the hash data HASH_D1 in the public agent data AGENT_DP shown in FIG. 6 received in step ST7 as identification data of the client device 12_1.
Step ST10:
The CPU 23 communicates with the client device 12_1 using the hash data HASH_D1 registered in step ST9 as identification data of the client device 12_1.
At this time, the CPU 23 analyzes the agent data AGENT_D1 in the public agent data AGENT_DP1, and sends various service data, for example, content data, adapted to characteristics such as user preferences of the client device 12_1 to the client via the interface 21. It transmits to the device 12_1.
For example, when the application program AP_S is a search engine, the CPU 23 relates to the search keyword determined based on the user's preference in addition to the predetermined search keyword input by the user of the client device 12_1. The keyword is further used to search for data and display the search result.
For example, when the user inputs “package tour” as a search keyword, and the public agent data AGENT_DP1 indicates that the user's preference is “car”, the CPU 23 displays package tour data. Among them, a plan to go to the site using a car or data on a rental car plan is preferentially selected and transmitted to the client device 12_1.

上述したように、サーバ装置10は、クライアント装置12_1から受信した公開エ−ジェントデータAGENT_DP1内のハッシュデータHASH_D1を識別データとしてクライアント装置12_1を識別する。
ここで、ハッシュデータHASH_D1は後述するように所定の条件で更新されるため、サーバ装置10は、ハッシュデータHASH_D1が更新されるまでの間はハッシュデータHASH_D1を基にクライアント装置12_1のユーザの操作を監視できるが、ハッシュデータHASH_D1が更新された後は、更新前のハッシュデータHASH_D1を基にクライアント装置12_1のユーザの操作を監視できない。
ここで、公開鍵証明書には、クライアント装置12_1を特定できるID情報が含まれていることが普通であるため、ハッシュデータHASH_D1の更新タイミングよりも短いスパンで秘密鍵SK_C1、公開鍵PK_C1、公開鍵証明書PKC_C1を更新する必要がある。公開鍵証明書PCK_C1の更新だけではなく、公開鍵ペアの更新が必要な理由は、公開鍵PK_C1を識別データとして使われないようにするためである。なお、公開鍵認証を用いず、通信路を秘匿化するためにSSL(Secure Socket Layer)を用いるだけの場合であれば、クライアント装置12_1の公開鍵PK_C1、公開鍵証明書PCK_C1は不要になるため、このような処理も不要となる。
以上により、クライアント装置12_1の操作が、長期的に監視されることを防止できる。
また、サーバ装置10は、クライアント装置12_1のユーザの操作履歴データを蓄積することなく、クライアント装置12_1から受信した公開エ−ジェントデータAGENT_DP1を基に、エージェント機能を実現できる。
As described above, the server device 10 identifies the client device 12_1 using the hash data HASH_D1 in the public agent data AGENT_DP1 received from the client device 12_1 as identification data.
Here, since the hash data HASH_D1 is updated under a predetermined condition as will be described later, the server device 10 does not operate the user of the client device 12_1 based on the hash data HASH_D1 until the hash data HASH_D1 is updated. Although it can be monitored, after the hash data HASH_D1 is updated, it is not possible to monitor the user operation of the client device 12_1 based on the hash data HASH_D1 before the update.
Here, since the public key certificate usually includes ID information that can identify the client device 12_1, the secret key SK_C1, the public key PK_C1, and the public key are shorter than the update timing of the hash data HASH_D1. It is necessary to update the key certificate PKC_C1. The reason for not only updating the public key certificate PCK_C1 but also updating the public key pair is to prevent the public key PK_C1 from being used as identification data. Note that the public key PK_C1 and the public key certificate PCK_C1 of the client device 12_1 are unnecessary if only SSL (Secure Socket Layer) is used to conceal the communication path without using public key authentication. Such processing is also unnecessary.
As described above, it is possible to prevent the operation of the client device 12_1 from being monitored for a long time.
Further, the server device 10 can realize an agent function based on the public agent data AGENT_DP1 received from the client device 12_1 without accumulating user operation history data of the client device 12_1.

〔クライアント装置12_1〕
図5は、図1に示すクライアント装置12_1の構成図である。
図5に示すように、クライアント装置12_1は、例えば、インタフェース31、メモリ32、CPU33、操作部37およびセキュリティモジュール回路SMを有し、これらがデータ線30を介して接続されている。
ここで、インタフェース31が第3の発明のインタフェースに対応し、メモリ32が第3の発明のメモリに対応し、セキュリティモジュール回路SMが第3の発明の回路モジュールに対応し、CPU33が第3の発明の実行回路に対応している。
本実施形態において、クライアント装置12_1は、例えば、コンピュータ、PDA(Personal Digital Assistants) 、並びに携帯電話などである。
[Client device 12_1]
FIG. 5 is a configuration diagram of the client apparatus 12_1 illustrated in FIG.
As illustrated in FIG. 5, the client device 12_1 includes, for example, an interface 31, a memory 32, a CPU 33, an operation unit 37, and a security module circuit SM, which are connected via a data line 30.
Here, the interface 31 corresponds to the interface of the third invention, the memory 32 corresponds to the memory of the third invention, the security module circuit SM corresponds to the circuit module of the third invention, and the CPU 33 corresponds to the third module. This corresponds to the execution circuit of the invention.
In the present embodiment, the client device 12_1 is, for example, a computer, a PDA (Personal Digital Assistants), a mobile phone, or the like.

インタフェース31は、ネットワーク9を介して、サーバ装置10およびクライアント装置12_2との間で通信を行う。
メモリ32は、アプリケーションプログラムAP_C1を記憶する。
メモリ32は、アプリケーションプログラムAP_C1の一つとして、エージェントプログラムAGENT_P1を記憶する。
メモリ32は、半導体メモリあるいはハードディスクドライブである。
セキュリティモジュール回路SMは、例えば、メモリ35および演算回路36を有する。
セキュリティモジュール回路SMは、耐タンパ性の回路であり、メモリ35の記憶データの改竄および監視、並びに演算回路36の処理の監視を防止する機能が備えられている。
耐タンパ性の回路は、外部からの当該回路に対する攻撃(内部データの不正読み出し、入力周波数や入力電圧を所定外に設定したりする攻撃)を加えたときに、誤動作や内部データの漏洩を起こさないように構成された回路である。具体的には、内部データの読み出しを防止するために、回路構成を多層構造とし、メモリを最下層に配置すると共に、上下層にダミー層(例えばアルミ層)を取り入れることで、外部からメモリ入出力I/Fにアクセスすることを困難にしている。また、回路周波数検知回路や電圧検知回路を備え、周波数や電圧が所定の範囲内にない場合に動作しなように構成されている。
The interface 31 performs communication between the server device 10 and the client device 12_2 via the network 9.
The memory 32 stores the application program AP_C1.
The memory 32 stores an agent program AGENT_P1 as one of the application programs AP_C1.
The memory 32 is a semiconductor memory or a hard disk drive.
The security module circuit SM includes, for example, a memory 35 and an arithmetic circuit 36.
The security module circuit SM is a tamper-resistant circuit and has a function of preventing tampering and monitoring of data stored in the memory 35 and monitoring of processing of the arithmetic circuit 36.
A tamper-resistant circuit causes malfunction or leakage of internal data when an attack against the circuit from the outside (an attack that illegally reads internal data or sets the input frequency or input voltage outside of the specified range) is applied. The circuit is configured so as not to exist. Specifically, in order to prevent the reading of internal data, the circuit configuration has a multilayer structure, the memory is arranged at the lowest layer, and dummy layers (for example, aluminum layers) are incorporated in the upper and lower layers, so that the memory can be input from the outside. It is difficult to access the output I / F. In addition, a circuit frequency detection circuit and a voltage detection circuit are provided, and are configured not to operate when the frequency and voltage are not within a predetermined range.

メモリ35は、クライアント装置12_1の秘密鍵データSK_C1、公開鍵データPK_C1、公開鍵証明データPKC_C1、並びに識別データID_C1を記憶する。
また、メモリ22は、サーバ装置10との通信などにより、サーバ装置10の公開鍵データPK_Sおよび公開鍵証明データPKC_Sを記憶する。
また、メモリ35は、クライアント装置12_2との通信などにより、クライアント装置12_2の公開鍵データPK_C2および公開鍵証明データPKC_C2を記憶する。 また、メモリ35は、クライアント装置12_2から受信した公開エ−ジェントデータAGENT_DP2を記憶する。
The memory 35 stores secret key data SK_C1, public key data PK_C1, public key certification data PKC_C1, and identification data ID_C1 of the client device 12_1.
In addition, the memory 22 stores the public key data PK_S and the public key certification data PKC_S of the server device 10 through communication with the server device 10 or the like.
The memory 35 stores the public key data PK_C2 and the public key certification data PKC_C2 of the client device 12_2 through communication with the client device 12_2 or the like. The memory 35 stores public agent data AGENT_DP2 received from the client device 12_2.

操作部37は、キ−ボード、マウス、タッチパネルなどの操作手段であり、ユーザの操作に応じた操作信号をCPU33に出力する。   The operation unit 37 is an operation unit such as a keyboard, a mouse, or a touch panel, and outputs an operation signal corresponding to a user operation to the CPU 33.

CPU33は、ブ−トプログラムB_PRG、アプリケーションプログラムAP_C1、並びに操作部37からの操作信号に基づいて種々の処理を行う。   The CPU 33 performs various processes based on the boot program B_PRG, the application program AP_C1, and operation signals from the operation unit 37.

また、CPU33は、セキュリティモジュール回路SM内のメモリ35から、データ線30を介してブ−トプログラムB_PRGをセキュアな状態で読み出し、これを実行する。
CPU33は、ブ−トプログラムB_PRGに従って、図4に示す証明データAP_CERを生成し、これをサーバ装置10およびクライアント装置12_2に送信する。
なお、上記セキュアな状態での読み出しを実現するために、CPU33とセキュリティモジュール回路SMとで共通の暗号鍵データを共有し、データ線30上のデータを暗号化したり、CPU33とセキュリティモジュール回路SMとの間で相互認証を行い、互いに共有したセッション鍵データでデータ線30上のデータを暗号化したり、CPU33とセキュリティモジュール回路SMとを1つのパッケージにモールドし、外部からデータ線30上のデータへのアクセスを防止するなどの手法が用いられる。
また、セキュリティモジュール回路SMを、他のクライアント装置に組み込むことを防止するために、クライアント装置12_1に装置固有のメモリデータ(ID、乱数、鍵などのデータ)を分散化して保持させ、起動時にセキュリティモジュール回路SMが上記メモリデータの検証を行うようにしてもよい。また、インタフェース31への入出力動作を複雑化するなどして、CPU33のブートメカニズムを複雑化し、許諾を受けた製造者のみが、そのメカニズムを知るようにすることで、ブ−トプログラムB_PRGの起動の信頼性をさらに高めてもよい。
Further, the CPU 33 reads the boot program B_PRG in a secure state from the memory 35 in the security module circuit SM via the data line 30, and executes it.
The CPU 33 generates certification data AP_CER shown in FIG. 4 according to the boot program B_PRG, and transmits this to the server device 10 and the client device 12_2.
In order to realize reading in the secure state, the CPU 33 and the security module circuit SM share common encryption key data, encrypt the data on the data line 30, and the CPU 33 and the security module circuit SM. The data on the data line 30 is encrypted with the session key data shared with each other, the CPU 33 and the security module circuit SM are molded into one package, and the data on the data line 30 is transferred from the outside. For example, a method of preventing access is used.
In addition, in order to prevent the security module circuit SM from being incorporated into another client device, the client device 12_1 distributes and holds memory data (data such as IDs, random numbers, and keys) unique to the device, thereby providing security at startup. The module circuit SM may verify the memory data. Further, the boot mechanism of the CPU 33 is complicated by making the input / output operation to the interface 31 complicated, and only the licensed manufacturer knows the mechanism so that the boot program B_PRG can be read. The activation reliability may be further increased.

また、CPU33は、メモリ32からアプリケーションプログラムAP_C1を読み出し、これを実行する。
本実施形態では、CPU33は、メモリ32からエージェントプログラムAGENT_P1を読み出し、これを実行する。
CPU33は、エージェントプログラムAGENT_P1に従って、図6に示す公開エ−ジェントデータAGENT_DP1を生成し、これをサーバ装置10およびクライアント装置12_2に送信する。
図6に示すように、公開エ−ジェントデータAGENT_DP1は、例えば、エージェントプログラムAGENT_P1の識別データID(Agent Software ID) 、製造識別データ(Agent Software Manufacture ID) 、バージョンデータ、その他、当該エージェントプログラムAGENT_P1に関する情報、エージェンデータAGENT_D1、エージェンデータAGENT_D1のハッシュデータHASH_D1、セキュリティモジュールSMのバージョン、並びにエージェントプログラムAGENT_P1の署名データSIGDを有する。
CPU33は、アプリケーションプログラムAP_C1に従って、エージェントデータAGENT_D1のハッシュデータHASH_D1を生成し、これを含む公開エ−ジェントデータAGENT_DP1を生成する。
また、CPU33は、ハッシュデータHASH_D1を自らの識別データとして用いて、サーバ装置10およびクライアント装置12_2と通信を行う。
ここで、エージェントデータAGENT_D1は、後述するように、クライアント装置12_1のユーザの操作履歴を解析して得られた当該ユーザの好みなどの属性データを基に逐次更新されるデータである。
エージェントデータAGENT_D1は所定の条件で更新されるので、ハッシュデータHASH_D1も所定の条件で更新され、クライアント装置12_1のユーザの操作が長期的に監視されることを回避できる。
また、ハッシュデータHASH_D1は、エージェントデータAGENT_D1として全く同一のものが生成されされる確率が非常に低いため、非常に高い確率でクライアント装置12_1に固有の値になる。そのため、ハッシュデータHASH_D1は、サーバ装置10およびクライアント装置12_2との通信において、クライアント装置12_1の識別データとして機能を十分に発揮できる。
なお、CPU33は、クライアント装置12_1のデバイス、例えば、セキュリティモジュール回路SMを特定できる識別データを公開エ−ジェントデータAGENT_DP1内に含ませるか否かを、ユーザからの指示に応じて決定してもよい。
Further, the CPU 33 reads the application program AP_C1 from the memory 32 and executes it.
In the present embodiment, the CPU 33 reads the agent program AGENT_P1 from the memory 32 and executes it.
The CPU 33 generates public agent data AGENT_DP1 shown in FIG. 6 according to the agent program AGENT_P1, and transmits it to the server device 10 and the client device 12_2.
As shown in FIG. 6, the public agent data AGENT_DP1 is related to, for example, the identification data ID (Agent Software ID), manufacturing identification data (Agent Software Manufacture ID), version data, and the like of the agent program AGENT_P1. Information, agent data AGENT_D1, hash data HASH_D1 of agent data AGENT_D1, version of security module SM, and signature data SIGD of agent program AGENT_P1.
In accordance with the application program AP_C1, the CPU 33 generates hash data HASH_D1 of the agent data AGENT_D1, and generates public agent data AGENT_DP1 including the hash data HASH_D1.
The CPU 33 communicates with the server device 10 and the client device 12_2 using the hash data HASH_D1 as its own identification data.
Here, the agent data AGENT_D1 is data that is sequentially updated based on attribute data such as user preferences obtained by analyzing the user operation history of the client device 12_1, as will be described later.
Since the agent data AGENT_D1 is updated under a predetermined condition, the hash data HASH_D1 is also updated under a predetermined condition, so that it is possible to avoid long-term monitoring of the user operation of the client device 12_1.
Further, the hash data HASH_D1 has a very low probability that exactly the same data is generated as the agent data AGENT_D1, and therefore, the hash data HASH_D1 becomes a value unique to the client device 12_1 with a very high probability. Therefore, the hash data HASH_D1 can sufficiently function as identification data of the client device 12_1 in communication with the server device 10 and the client device 12_2.
The CPU 33 may determine whether or not to include identification data that can specify a device of the client device 12_1, for example, the security module circuit SM, in the public agent data AGENT_DP1, in accordance with an instruction from the user. .

CPU33は、クライアント装置12_1の動作を統括的に制御する。
CPU33が行う処理については、クライアント装置12_1の動作例と関連付けて説明する。
The CPU 33 comprehensively controls the operation of the client device 12_1.
The processing performed by the CPU 33 will be described in association with an operation example of the client device 12_1.

以下、図5に示すクライアント装置12_1がブ−トプログラムB_PRGに従って証明データAP_CERを生成する動作を説明する。
図7は、図5に示すクライアント装置12_1が証明データAP_CERを生成する動作を説明するためのフローチャートである。
以下に示す各ステップは、ブ−トプログラムB_PRGによって規定されている。
ステップST11:
クライアント装置12_1が起動されると、セキュリティモジュール回路SMの演算回路36が、メモリ35からブ−トプログラムB_PRGを読み出し、当該ブ−トプログラムB_PRGの正当性を検証する。
このとき、演算回路36は、例えば、ブ−トプログラムB_PRGのハッシュデータをハッシュ関数を基に生成し、当該生成したハッシュデータと、予め用意されたブ−トプログラムB_PRGのハッシュデータとを比較し、一致していれば、メモリ35に記憶されているブ−トプログラムB_PRGが正当である(改竄されていない)と判断する。
ステップST12:
クライアント装置12_1は、ステップST11でブ−トプログラムB_PRGが正当であると判断されるとステップST13に進み、そうでない場合にはエラー処理を行う。
Hereinafter, an operation in which the client device 12_1 illustrated in FIG. 5 generates the certification data AP_CER according to the boot program B_PRG will be described.
FIG. 7 is a flowchart for explaining an operation in which the client device 12_1 shown in FIG. 5 generates the certification data AP_CER.
Each step shown below is defined by the boot program B_PRG.
Step ST11:
When the client device 12_1 is activated, the arithmetic circuit 36 of the security module circuit SM reads the boot program B_PRG from the memory 35 and verifies the validity of the boot program B_PRG.
At this time, for example, the arithmetic circuit 36 generates hash data of the boot program B_PRG based on the hash function, and compares the generated hash data with the hash data of the boot program B_PRG prepared in advance. If they match, it is determined that the boot program B_PRG stored in the memory 35 is valid (not tampered).
Step ST12:
If it is determined in step ST11 that the boot program B_PRG is valid, the client device 12_1 proceeds to step ST13, and if not, performs error processing.

ステップST13:
クライアント装置12_1のCPU33が、データ線30を介して、メモリ35からブ−トプログラムB_PRGをセキュアな状態で読み出す。
ステップST14:
CPU33が、ステップST13で読み出したブ−トプログラムB_PRGを実行する。
ステップST15:
CPU33が、ブ−トプログラムB_PRGに従って、ユーザにより指定された複数のアプリケーションプログラムAP_C1のうち未選択のアプリケーションプログラムAP_C1を選択する。 本実施形態では、アプリケーションプログラムAP_C1として、エージェントプログラムAGENT_P1が指定される。
Step ST13:
The CPU 33 of the client device 12_1 reads the boot program B_PRG from the memory 35 through the data line 30 in a secure state.
Step ST14:
The CPU 33 executes the boot program B_PRG read in step ST13.
Step ST15:
In accordance with the boot program B_PRG, the CPU 33 selects an unselected application program AP_C1 among the plurality of application programs AP_C1 designated by the user. In the present embodiment, the agent program AGENT_P1 is designated as the application program AP_C1.

ステップST16:
CPU33が、ステップST15で選択したアプリケーションプログラムAP_C1をメモリ32から読み出して、その正当性を検証する。
このとき、CPU33は、例えば、アプリケーションプログラムAP_C1のハッシュデータをハッシュ関数を基に生成し、当該生成したハッシュデータと、予め用意されたアプリケーションプログラムAP_C1のハッシュデータとを比較し、一致していれば、メモリ32に記憶されているアプリケーションプログラムAP_C1が正当であると判断する。
また、CPU33は、アプリケーションプログラムAP_C1に対応付けられた所定の署名データを公開鍵データを基に検証してもよい。当該署名データは、アプリケーションプログラムAP_C1に付加されていてもよいし、メモリ32に、アプリケーションプログラムAP_C1とは別に記憶されていてもよい。
Step ST16:
The CPU 33 reads the application program AP_C1 selected in step ST15 from the memory 32 and verifies its validity.
At this time, for example, the CPU 33 generates hash data of the application program AP_C1 based on the hash function, compares the generated hash data with the hash data of the application program AP_C1 prepared in advance, and if they match, The application program AP_C1 stored in the memory 32 is determined to be valid.
Further, the CPU 33 may verify predetermined signature data associated with the application program AP_C1 based on public key data. The signature data may be added to the application program AP_C1, or may be stored in the memory 32 separately from the application program AP_C1.

ステップST17:
CPU33は、ステップST16でアプリケーションプログラムAP_C1が正当であると判断するとステップST18に進み、そうでない場合にはステップST20に進む。 ステップST18:
CPU33は、ステップST16で正当であると判断したアプリケーションプログラムAP_C1の識別データAP_ID、製造識別データMF_ID,バージョンデータVERおよびハッシュデータHASH(以下、単に、識別データAP_IDとも記す)を、証明データAP_CERに追加する。
ステップST19:
CPU33は、ステップST16で正当性であると判断されたアプリケーションプログラムAP_C1を起動する。
本実施形態では、アプリケーションプログラムAP_C1が正当であるとステップST16で判断したことを条件に、アプリケーションプログラムAP_C1を起動する場合を例示するが、その他、アプリケーションプログラムAP_C1が正当であると判断されなかった場合に、その旨をユーザに通知し、ユーザの同意を得てアプリケーションプログラムAP_C1を起動してもよい。但し、この場合には、CPU33は、アプリケーションプログラムAP_C1の識別データAP_IDを、証明データAP_CERに追加しない。
ステップST20:
CPU33は、ユーザにより指定された全てのアプリケーションプログラムAP_C1がステップST15で選択されたか否かを判断し、選択されたと判断すると処理を終了し、そうでない場合にはステップST15に戻る。
本実施形態では、エージェントプログラムAGENT_P1が正当であられば、CPU33がエージェントプログラムAGENT_P1を起動すると共に、その識別データAP_IDが証明データAP_CER内に追加される。
Step ST17:
If the CPU 33 determines in step ST16 that the application program AP_C1 is valid, the process proceeds to step ST18, and if not, the process proceeds to step ST20. Step ST18:
The CPU 33 adds the identification data AP_ID, manufacturing identification data MF_ID, version data VER, and hash data HASH (hereinafter also simply referred to as identification data AP_ID) of the application program AP_C1 determined to be valid in step ST16 to the certification data AP_CER. To do.
Step ST19:
The CPU 33 activates the application program AP_C1 determined to be valid in step ST16.
In the present embodiment, the case where the application program AP_C1 is started is exemplified on the condition that the application program AP_C1 is determined to be valid in step ST16. However, in the case where the application program AP_C1 is not determined to be valid. Alternatively, the user may be notified of this, and the application program AP_C1 may be activated with the user's consent. However, in this case, the CPU 33 does not add the identification data AP_ID of the application program AP_C1 to the certification data AP_CER.
Step ST20:
The CPU 33 determines whether or not all application programs AP_C1 designated by the user have been selected in step ST15. If it is determined that the application program AP_C1 has been selected, the process ends. If not, the process returns to step ST15.
In this embodiment, if the agent program AGENT_P1 is valid, the CPU 33 activates the agent program AGENT_P1, and the identification data AP_ID is added to the certification data AP_CER.

以下、図5に示すクライアント装置12_1がエージェントプログラムAGENT_P1に従って、公開エ−ジェントデータAGENT_DP1を更新(生成)する場合の動作例を説明する。
図8は、図5に示すクライアント装置12_1が公開エ−ジェントデータAGENT_DP1を更新(生成)する場合の動作例を説明するためのフローチャートである。
図8に示す各ステップは、CPU33が、エージェントプログラムAGENT_P1に従って実行する。
以下の動作は、例えば、検索エンジンなどの他のアプリケーションプログラムAP_C1の動作と並行して実行される。
Hereinafter, an operation example when the client apparatus 12_1 illustrated in FIG. 5 updates (generates) the public agent data AGENT_DP1 according to the agent program AGENT_P1 will be described.
FIG. 8 is a flowchart for explaining an operation example when the client device 12_1 shown in FIG. 5 updates (generates) the public agent data AGENT_DP1.
Each step shown in FIG. 8 is executed by the CPU 33 in accordance with the agent program AGENT_P1.
The following operation is executed in parallel with the operation of another application program AP_C1 such as a search engine, for example.

ステップST31:
CPU33は、メモリ32からエージェントデータAGENT_D1を読み出す。
ステップST32:
CPU33は、操作部37からの操作信号を基に、クライアント装置12_1のユーザの操作履歴データを更新する。
そして、CPU33が、当該更新した操作履歴データを解析し、上記ユーザの好みなどの属性を示す属性データを生成する。
CPU33は、当該生成した属性データを基に、現エージェントデータAGENT_D1を更新する。
Step ST31:
The CPU 33 reads the agent data AGENT_D1 from the memory 32.
Step ST32:
The CPU 33 updates the operation history data of the user of the client device 12_1 based on the operation signal from the operation unit 37.
Then, the CPU 33 analyzes the updated operation history data and generates attribute data indicating attributes such as the user's preference.
The CPU 33 updates the current agent data AGENT_D1 based on the generated attribute data.

ステップST33:
CPU33は、時間カウンタ(図示せず)のカウタン値を基に、所定の時間が経過したか否かを判断し、経過したと判断するとステップST36に進み、そうでない場合にステップST34に進む。
本実施形態において、上記所定の時間は、例えば、1週間、1か月あるいは3か月などである。
ステップST34:
CPU33は、更新回数カウンタのカウンタ値が示す値(ステップST32の更新回数)、あるいは属性データが更新された内容の程度(更新量)や更新頻度が所定のしきい値を越えたか否かを判断し、越えたと判断するとステップST36に進み、そうでない場合にはステップST35に進む。
ステップST35:
CPU33は、操作部37からの操作信号を基に、公開エ−ジェントデータAGENT_DP1の更新指示をユーザから受けたか否かを判断し、更新指示を受けたと判断するとステップST36に進み、そうでない場合にはステップST32に戻る。
Step ST33:
Based on the counter value of a time counter (not shown), the CPU 33 determines whether or not a predetermined time has elapsed. If it is determined that the predetermined time has elapsed, the CPU 33 proceeds to step ST36, otherwise proceeds to step ST34.
In the present embodiment, the predetermined time is, for example, one week, one month, or three months.
Step ST34:
The CPU 33 determines whether the value indicated by the counter value of the update count counter (update count of step ST32), the degree of update of the attribute data (update amount), and whether the update frequency has exceeded a predetermined threshold value. If it is determined that the value has been exceeded, the process proceeds to step ST36.
Step ST35:
Based on the operation signal from the operation unit 37, the CPU 33 determines whether or not an update instruction for the public agent data AGENT_DP1 has been received from the user. If it is determined that the update instruction has been received, the process proceeds to step ST36. Returns to step ST32.

ステップST36:
CPU33は、メモリ32から図6に示す公開エ−ジェントデータAGENT_DP1を読み出し、そのエージェントデータAGENT_D1を、ステップST32で更新したエージェントデータAGENT_D1で更新する。
ステップST37:
CPU33は、更新後のエージェントデータAGENT_D1のハッシュデータHASH_D1を生成するとともに、更新前のエージェントデータAGENT_D1のハッシュデータHASH_D1を生成する。
ステップST38:
CPU33は、ステップST37で生成したハッシュデータHASH_D1で、公開エ−ジェントデータAGENT_DP1のハッシュデータHASH_D1を更新する。
Step ST36:
The CPU 33 reads the public agent data AGENT_DP1 shown in FIG. 6 from the memory 32, and updates the agent data AGENT_D1 with the agent data AGENT_D1 updated in step ST32.
Step ST37:
The CPU 33 generates hash data HASH_D1 of the updated agent data AGENT_D1, and also generates hash data HASH_D1 of the updated agent data AGENT_D1.
Step ST38:
The CPU 33 updates the hash data HASH_D1 of the public agent data AGENT_DP1 with the hash data HASH_D1 generated in step ST37.

ステップST39:
CPU33は、ステップST38で更新した公開エ−ジェントデータAGENT_DP1の署名データSIGDを生成し、これを図6に示す公開エ−ジェントデータAGENT_DP1に付加する。
ステップST40:
CPU33は、時間カウンタおよび更新回数カウンタのカウンタ値をリセットする。
Step ST39:
The CPU 33 generates the signature data SIGD of the public agent data AGENT_DP1 updated in step ST38, and adds this to the public agent data AGENT_DP1 shown in FIG.
Step ST40:
The CPU 33 resets the counter values of the time counter and the update count counter.

以下、図5に示すクライアント装置12_1がサーバ装置10と通信を行う場合の動作例を説明する。
図9は、図5に示すクライアント装置12_1がサーバ装置10と通信を行う場合の動作例を説明するためのフローチャートである。
以下に示すステップST51〜ST54は、ブ−トプログラムB_PRGによって規定されている。
Hereinafter, an operation example when the client device 12_1 illustrated in FIG. 5 communicates with the server device 10 will be described.
FIG. 9 is a flowchart for explaining an operation example when the client device 12_1 shown in FIG. 5 communicates with the server device 10.
Steps ST51 to ST54 shown below are defined by the boot program B_PRG.

ステップST51:
クライアント装置12_1のCPU33は、セキュリティモジュール回路SMのメモリ35から読み出した秘密鍵データSK_C1、公開鍵データPK_Sおよび公開鍵証明データPKC_Sを基に、インタフェース31を介してサーバ装置10との間で相互認証を行う。
CPU33は、当該相互認証により互いの正当性が確認されると、サーバ装置10との間の以後の通信に用いるセッション鍵データをサーバ装置10と共用し、以後の通信において当該セッション鍵データを基にデータを暗号化する。
なお、上記相互認証において、CPU33は、サーバ装置10のAC(Attribute Certificate) やURL(Uniform Resource Locator)を基に、サーバ装置10の正当性を認証してもよい。ここで、ACは、所定の認証機関(AC発行機関)が公開鍵証明データの識別データIDにリンクして被発行者の機能や属性を証明する電子データであり、本例では、所定のコンテンツデータを配信するサーバであることを示している。
ステップST52:
CPU33は、ステップST51で行った相互認証によって互いの正当性が確認されるとステップST53に進み、そうでない場合には処理を終了する。
Step ST51:
The CPU 33 of the client device 12_1 performs mutual authentication with the server device 10 via the interface 31 based on the secret key data SK_C1, the public key data PK_S, and the public key certification data PKC_S read from the memory 35 of the security module circuit SM. I do.
When the mutual authenticity is confirmed by the mutual authentication, the CPU 33 shares the session key data used for the subsequent communication with the server device 10 with the server device 10, and based on the session key data in the subsequent communication. Encrypt the data.
In the mutual authentication, the CPU 33 may authenticate the validity of the server device 10 based on an AC (Attribute Certificate) or URL (Uniform Resource Locator) of the server device 10. Here, AC is electronic data in which a predetermined certification authority (AC issuing authority) is linked to the identification data ID of the public key certification data to prove the functions and attributes of the issuer. This indicates that the server distributes data.
Step ST52:
CPU33 will progress to step ST53, if mutual validity is confirmed by the mutual authentication performed by step ST51, and if that is not right, it will complete | finish a process.

ステップST53:
CPU33は、図7を基に説明した処理を経て生成した証明データAP_CERのハッシュデータを生成し、これを署名データSIGとして証明データAP_CERに付加する。
ステップST54:
CPU33は、ステップST53で生成した署名付き証明データAP_CERと公開エ−ジェントデータAGENT_DP1とを、インタフェース31を介してサーバ装置10に送信する。
ステップST55:
CPU33は、ステップST53で送信した公開エ−ジェントデータAGENT_DP1内のハッシュデータHASH_D1を自らの識別データとしてサーバ装置10と通信を行う。
CPU33は、所定のアプリケーションプログラムAP_C1あるいはエージェントプログラムAGENT_P1に従って、インタフェース31を介してサーバ装置10から受信したデータ、例えばコンテンツデータを利用する。
このとき、サーバ装置10からクライアント装置12_1へのデータ送信は、前述したように、クライアント装置12_1がサーバ装置10に送信した公開エ−ジェントデータAGENT_DP1を基に行われているため、クライアント装置12_1のユーザの好みなどの属性を反映したものになっている。
Step ST53:
The CPU 33 generates hash data of the certification data AP_CER generated through the processing described based on FIG. 7, and adds this to the certification data AP_CER as signature data SIG.
Step ST54:
The CPU 33 transmits the signed certificate data AP_CER and the public agent data AGENT_DP1 generated in step ST53 to the server device 10 via the interface 31.
Step ST55:
The CPU 33 communicates with the server device 10 using the hash data HASH_D1 in the public agent data AGENT_DP1 transmitted in step ST53 as its own identification data.
The CPU 33 uses data received from the server device 10 via the interface 31, for example, content data, in accordance with a predetermined application program AP_C1 or agent program AGENT_P1.
At this time, data transmission from the server device 10 to the client device 12_1 is performed based on the public agent data AGENT_DP1 transmitted from the client device 12_1 to the server device 10 as described above. It reflects attributes such as user preferences.

なお、アプリケーションプログラムAP_C1には、例えば、著作権保護機能が備えられており、その機能により、コンテンツデータの著作権が保護される。
また、上述した実施形態では、CPU33が、セキュリティモジュール回路SMから読み出したブ−トプログラムB_PRGを基に、認証処理、並びに署名データSIGの生成処理を行う場合を例示したが、セキュリティモジュール回路SMの演算回路36が当該処理を行ってもよい。
この場合には、クライアント装置12_1は、サーバ装置10から受信したデータのうち、認証に必要なデータをセキュリティモジュール回路SMに提供する。そして、セキュリティモジュール回路SMの演算回路36が、当該データを基に演算処理を行い、その結果をインタフェース31を介してサーバ装置10に送信する。また、セキュリティモジュール回路SMの演算回路36が、証明データAP_CERの署名データSIGを生成し、署名データSIGが付加させた証明データAP_CERをインタフェース31を介してサーバ10に送信する。
Note that the application program AP_C1 has, for example, a copyright protection function, and the copyright of the content data is protected by this function.
In the above-described embodiment, the case where the CPU 33 performs the authentication process and the generation process of the signature data SIG based on the boot program B_PRG read from the security module circuit SM is illustrated. The arithmetic circuit 36 may perform the processing.
In this case, the client device 12_1 provides data necessary for authentication among the data received from the server device 10 to the security module circuit SM. Then, the arithmetic circuit 36 of the security module circuit SM performs arithmetic processing based on the data, and transmits the result to the server device 10 via the interface 31. Further, the arithmetic circuit 36 of the security module circuit SM generates the signature data SIG of the certification data AP_CER, and transmits the certification data AP_CER added with the signature data SIG to the server 10 via the interface 31.

以下、図5に示すクライアント装置12_1が図1に示すクライアント装置12_2との間で通信を行う場合の動作例を説明する。
図10は、図5に示すクライアント装置12_1が図1に示すクライアント装置12_2との間で通信を行う場合の動作例を説明するためのフローチャートである。
図10に示すステップST61〜ST67はブ−トプログラムB_PRGに従って実行され、ステップST68〜ST71はエージェントプログラムAGENT_P1に従って実行される。
ステップST61:
クライアント装置12_1のCPU33は、セキュリティモジュール回路SMのメモリ35から読み出した秘密鍵データSK_C1、公開鍵データPK_C2および公開鍵証明データPKC_C2を基に、インタフェース31を介してクライアント装置12_2との間で相互認証を行う。
CPU33は、当該相互認証により互いの正当性が確認されると、クライアント装置12_2との間の以後の通信に用いるセッション鍵データをクライアント装置12_2と共用し、以後の通信において当該セッション鍵データを基にデータを暗号化する。
なお、本実施形態では、メモリ35に公開鍵データPK_2および公開鍵証明データPKC_2が記憶されているとしたが、認証に先立って、クライアント装置12_2から受信するようにしてもよい。
ステップST62:
CPU33は、ステップST61で行った相互認証によって互いの正当性が確認されるとステップST63に進み、そうでない場合には処理を終了かエラー処理を行う。
Hereinafter, an operation example when the client apparatus 12_1 illustrated in FIG. 5 performs communication with the client apparatus 12_2 illustrated in FIG. 1 will be described.
FIG. 10 is a flowchart for explaining an operation example when the client apparatus 12_1 illustrated in FIG. 5 performs communication with the client apparatus 12_2 illustrated in FIG.
Steps ST61 to ST67 shown in FIG. 10 are executed according to the boot program B_PRG, and steps ST68 to ST71 are executed according to the agent program AGENT_P1.
Step ST61:
The CPU 33 of the client device 12_1 performs mutual authentication with the client device 12_2 via the interface 31 based on the secret key data SK_C1, the public key data PK_C2, and the public key certification data PKC_C2 read from the memory 35 of the security module circuit SM. I do.
When the mutual authenticity is confirmed by the mutual authentication, the CPU 33 shares the session key data used for the subsequent communication with the client device 12_2 with the client device 12_2, and based on the session key data in the subsequent communication. Encrypt the data.
In the present embodiment, the public key data PK_2 and the public key certification data PKC_2 are stored in the memory 35, but may be received from the client device 12_2 prior to authentication.
Step ST62:
CPU33 will progress to step ST63, if mutual validity is confirmed by the mutual authentication performed by step ST61, and when that is not right, it will complete | finish a process or will perform an error process.

ステップST63:
CPU33は、図7を基に説明した処理を経て生成した証明データAP_CERのハッシュデータを生成し、これを署名データSIGとして証明データAP_CER1に付加する。
ステップST64:
CPU33は、ステップST63で生成した署名付き証明データAP_CER1を、インタフェース31を介してクライアント装置12_2に送信する。
ステップST65:
CPU33は、図7を用いて説明した処理と同様の処理をクライアント装置12_2が行って生成された署名データSIGが付された証明データAP_CER2を、インタフェース31を介してクライアント装置12_2から受信する。
証明データAP_CER2は、前述したように、クライアント装置12_2で起動され、その正当性が確認されたアプリケーションプログラムAP_C2の識別データAP_ID、製造識別データMF_ID、バージョンVERおよびハッシュデータHASHを図4に示すように、対応付けて示している。
Step ST63:
The CPU 33 generates hash data of the certification data AP_CER generated through the processing described with reference to FIG. 7, and adds this to the certification data AP_CER1 as signature data SIG.
Step ST64:
The CPU 33 transmits the signed certification data AP_CER1 generated in step ST63 to the client device 12_2 via the interface 31.
Step ST65:
The CPU 33 receives the certification data AP_CER2 with the signature data SIG generated by the client apparatus 12_2 performing the same process as described with reference to FIG. 7 from the client apparatus 12_2 via the interface 31.
As described above, the certification data AP_CER2 is activated by the client device 12_2, and the identification data AP_ID, manufacturing identification data MF_ID, version VER, and hash data HASH of the application program AP_C2 whose validity has been confirmed as shown in FIG. Are shown in association with each other.

ステップST66:
CPU33は、ステップST64で受信した証明データAP_CER2の正当性を検証する。
このとき、CPU33は、例えば、証明データAP_CER2のハッシュデータをハッシュ関数を基に生成する。そして、CPU33は、上記生成したハッシュデータと、署名データSIGとが一致しているか否かを判断し、一致していれば、証明データAP_CER2が改竄されていない正当なものであると判断する。
そして、CPU33は、証明データAP_CER2が正当であると判断した場合にステップST67に進み、そうでない場合に処理を終了するかエラー処理を行う。
Step ST66:
The CPU 33 verifies the validity of the certification data AP_CER2 received in step ST64.
At this time, for example, the CPU 33 generates hash data of the certification data AP_CER2 based on the hash function. Then, the CPU 33 determines whether or not the generated hash data matches the signature data SIG. If they match, the CPU 33 determines that the certification data AP_CER2 is a legitimate one that has not been tampered with.
If the CPU 33 determines that the certification data AP_CER2 is valid, the process proceeds to step ST67. If not, the CPU 33 ends the process or performs error processing.

ステップST67:
CPU33は、ユーザによって指定されたアプリケーションプログラムAP_C2の識別データAP_IDが、ステップST65で受信した証明データAP_CER2に含まれているか否かを判断し、当該識別データAP_IDが含まれている(クライアント装置12_2においてアプリケーションプログラムAP_C2の正当性が確認され且つ起動されている)と判断するとステップST68に進み、そうでない場合には処理を終了するかエラー処理を行う。
なお、CPU33は、当該ステップにおいて、識別データAP_IDの他に製造識別データMF_IDおよびバージョンデータVERが所望のものであるか否かを判断してもよい。
Step ST67:
The CPU 33 determines whether or not the identification data AP_ID of the application program AP_C2 designated by the user is included in the certification data AP_CER2 received in step ST65, and the identification data AP_ID is included (in the client device 12_2) If it is determined that the validity of the application program AP_C2 is confirmed and activated), the process proceeds to step ST68. If not, the process is terminated or an error process is performed.
In this step, the CPU 33 may determine whether the manufacturing identification data MF_ID and the version data VER are desired in addition to the identification data AP_ID.

ステップST68:
CPU33は、例えば、既に起動しているエージェントプログラムAGENT_P1に従って、図8に示す手順で生成した公開エ−ジェントデータAGENT_DP1を、インタフェース31を介してクライアント装置12_2に送信する。
インタフェース31は、クライアント装置12_2から、当該クライアント装置12_1が生成した公開エ−ジェントデータAGENT_DP2を受信する。
Step ST68:
For example, the CPU 33 transmits the public agent data AGENT_DP1 generated by the procedure shown in FIG. 8 to the client device 12_2 via the interface 31 in accordance with the already started agent program AGENT_P1.
The interface 31 receives the public agent data AGENT_DP2 generated by the client device 12_1 from the client device 12_2.

ステップST69:
CPU33は、ステップST68で受信した公開エ−ジェントデータAGENT_DP2に付された署名データSIGDの正当性を検証する。
CPU33は、署名データSIGDが正当であると判断するとステップST70に進み、そうでない場合には処理を終了するかエラー処理を行う。
ステップST70:
CPU33は、ステップST68で受信した公開エ−ジェントデータAGENT_DP2に含まれるハッシュデータHASH_D2を、クライアント装置12_2の識別データとして登録する。
ハッシュデータHASH_D2は、クライアント装置12_2において、前述したクライアント装置12_1がハッシュデータHASH_D1を生成するのと同じ方法で生成されたものである。
Step ST69:
The CPU 33 verifies the validity of the signature data SIGD attached to the public agent data AGENT_DP2 received in step ST68.
If the CPU 33 determines that the signature data SIGD is valid, the process proceeds to step ST70. If not, the process is terminated or an error process is performed.
Step ST70:
The CPU 33 registers the hash data HASH_D2 included in the public agent data AGENT_DP2 received in step ST68 as identification data of the client device 12_2.
The hash data HASH_D2 is generated by the client device 12_2 in the same manner as the client device 12_1 described above generates the hash data HASH_D1.

ステップST71:
CPU33は、クライアント装置12_1の識別データとしてハッシュデータHASH_D1を用い、クライアント装置12_1の識別データとしてステップST70で登録したハッシュデータHASH_D2を用いて、クライアント装置12_2との間で通信を行う。
例えば、CPU33は、エージェントプログラムAGENT_P1に従って、所定のコンテンツデータなどのデータを暗号化して、インタフェース31を介してクライアント装置12_2に送信する。
このとき、CPU33は、ステップST68で受信した公開エ−ジェントデータAGENT_DP2を基に、クライアント装置12_1のユーザの好みなどの特性に適合したデータをクライアント装置12_2に送信する。
CPU33は、その他、例えば、公開エ−ジェントデータAGENT_DP2を基に、クライアント装置12_2のユーザがメール、チャット、ボイスメールおよび通話の何れの利用頻度が高いかを判断し、利用頻度が高い媒体を用いて当該ユーザと通信を行うようにしてもよい。
また、CPU33は、インタフェース31を介してクライアント装置12_2から受信したコンテンツデータなどのデータを利用する。
Step ST71:
The CPU 33 communicates with the client device 12_2 using the hash data HASH_D1 as identification data of the client device 12_1 and using the hash data HASH_D2 registered in step ST70 as identification data of the client device 12_1.
For example, the CPU 33 encrypts data such as predetermined content data in accordance with the agent program AGENT_P1, and transmits the encrypted data to the client device 12_2 via the interface 31.
At this time, based on the public agent data AGENT_DP2 received in step ST68, the CPU 33 transmits data suitable for characteristics such as user preferences of the client device 12_1 to the client device 12_2.
For example, the CPU 33 determines whether the user of the client device 12_2 uses mail, chat, voice mail, or a telephone call based on the public agent data AGENT_DP2, and uses a medium with high use frequency. May communicate with the user.
The CPU 33 uses data such as content data received from the client device 12_2 via the interface 31.

なお、クライアント装置12_2は、上述したクライアント装置12_1と同じ構成を有している。   The client device 12_2 has the same configuration as the client device 12_1 described above.

以下、図1に示す通信システム1の全体動作例を説明する。
クライアント装置12_1,12_2は、前述した図7に示す処理を行って証明データAP_CER,AP_CER2を、それぞれクライアント装置12_1,12_2の図5に示すセキュリティモジュール回路SM内のメモリ35に書き込む。
また、クライアント装置12_1,12_2の各々は、図8に示す処理を行ってユーザの好みなどの属性を示す公開エ−ジェントデータAGENT_DP1,AGENT_DP2を生成し、これをメモリ32に書き込む。
そして、クライアント装置12_1,12_2は、公開エ−ジェントデータAGENT_DP1,AGENT_DP2をサーバ装置10に送信する。
サーバ装置10は、公開エ−ジェントデータAGENT_DP1内のハッシュデータHASH_D1を基にクライアント装置12_1を識別すると共に、エージェントデータAGENT_D1を基に、クライアント装置12_1のユーザの好みなどの特性に適合した種々のサービスデータ、例えばコンテンツデータをインタフェース21を介してクライアント装置12_1に送信する。
また、サーバ装置10は、公開エ−ジェントデータAGENT_DP2内のハッシュデータHASH_D2を基にクライアント装置12_2を識別すると共に、クライアント装置12_2のユーザの好みなどの特性に適合した種々のサービスデータ、例えばコンテンツデータをインタフェース21を介してクライアント装置12_2に送信する。
一方、クライアント装置12_1は、クライアント装置12_2との間で通信を行う場合には、クライアント装置12_2に公開エ−ジェントデータAGENT_DP1を送信すると共に、クライアント装置12_2から公開エ−ジェントデータAGENT_DP2を受信する。
そして、クライアント装置12_1は、ハッシュデータHASH_D1を基に自らをクライアント装置12_2に識別させ、ハッシュデータHASH_D2を基にクライアント装置12_2を識別してクライアント装置12_2と通信を行う。
また、クライアント装置12_1は、公開エ−ジェントデータAGENT_DP2を基に、クライアント装置12_2のユーザの好みなどの特性に適合したデータ、あるいは適合した形態でデータをクライアント装置12_2に送信する。
Hereinafter, an example of the overall operation of the communication system 1 shown in FIG. 1 will be described.
The client apparatuses 12_1 and 12_2 perform the process shown in FIG. 7 and write the certification data AP_CER and AP_CER2 in the memory 35 in the security module circuit SM shown in FIG. 5 of the client apparatuses 12_1 and 12_2, respectively.
Each of the client devices 12_1 and 12_2 generates public agent data AGENT_DP1 and AGENT_DP2 indicating attributes such as user preferences by performing the processing shown in FIG.
Then, the client devices 12_1 and 12_2 transmit the public agent data AGENT_DP1 and AGENT_DP2 to the server device 10.
The server device 10 identifies the client device 12_1 based on the hash data HASH_D1 in the public agent data AGENT_DP1, and various services adapted to characteristics such as user preferences of the client device 12_1 based on the agent data AGENT_D1. Data, for example, content data is transmitted to the client device 12_1 via the interface 21.
In addition, the server device 10 identifies the client device 12_2 based on the hash data HASH_D2 in the public agent data AGENT_DP2, and various service data, for example, content data, adapted to characteristics such as user preferences of the client device 12_2 Is transmitted to the client apparatus 12_2 through the interface 21.
On the other hand, when communicating with the client device 12_2, the client device 12_1 transmits the public agent data AGENT_DP1 to the client device 12_2 and receives the public agent data AGENT_DP2 from the client device 12_2.
Then, the client device 12_1 makes the client device 12_2 identify itself based on the hash data HASH_D1, and identifies the client device 12_2 based on the hash data HASH_D2, and communicates with the client device 12_2.
In addition, the client device 12_1 transmits data to the client device 12_2 in a form adapted to the data such as the user preference of the client device 12_2 or a suitable form based on the public agent data AGENT_DP2.

以上説明したように、通信システム1では、クライアント装置12_1,12_2が、所定の条件で更新されるハッシュデータHASH_D1,HASH_D2を自らの識別データとして用いて、サーバ装置10と通信を行う。
そのため、ネットワーク9上でハッシュデータHASH_D1,HASH_D2を基に、クライアント装置12_1,12_2のユーザの操作(行動)を監視しても、ハッシュデータHASH_D1,HASH_D2が更新された後には監視を継続することができない。従って、クライアント装置12_1,12_2のユーザの操作が長期的に継続して監視されることを防止でき、ユーザのプライバシーを保護できる。
As described above, in the communication system 1, the client devices 12_1 and 12_2 communicate with the server device 10 using the hash data HASH_D1 and HASH_D2 updated under a predetermined condition as their own identification data.
Therefore, even if the user operation (behavior) of the client devices 12_1 and 12_2 is monitored on the network 9 based on the hash data HASH_D1 and HASH_D2, the monitoring may be continued after the hash data HASH_D1 and HASH_D2 are updated. Can not. Therefore, it is possible to prevent the user's operation of the client devices 12_1 and 12_2 from being continuously monitored for a long time, and to protect the user's privacy.

また、通信システム1によれば、サーバ装置10が各ユーザの操作履歴データを保持することなく、少ない負担で、エージェント機能を実現できる。
また、通信システム1によれば、クライアント装置12_1,12_2の相互間で、記憶容量および処理の観点から少ない負担で、エ−ジェント機能を利用した円滑な通信を行うことが可能になる。
例えば、クライアント装置12_1,12_2との間でデータ交換を行う場合に、相手の好みに適合したデータを送信することができる。
Moreover, according to the communication system 1, the server apparatus 10 can implement | achieve an agent function with little burden, without hold | maintaining operation history data of each user.
Further, according to the communication system 1, it is possible to perform smooth communication using the agent function between the client apparatuses 12_1 and 12_2 with a small burden from the viewpoint of storage capacity and processing.
For example, when data is exchanged with the client apparatuses 12_1 and 12_2, data suitable for the preference of the other party can be transmitted.

また、通信システム1によれば、クライアント装置12_1,12_2の各々が自らが起動するアプリケーションプログラムAP_C1,AP_C2の正当性を検証し、その結果を示す証明データAP_CER1,AP_CER2をサーバ装置10に送信する。
そのため、サーバ装置10は、クライアント装置12_1,12_2が実行するアプリケーションプログラムのハッシュデータを全て保持する必要がなく、また、その正当性の検証処理を行う必要がない。従って、クライアント装置12_1,12_2で起動されているアプリケーションプログラムの正当性の判断に伴うサーバ装置10の負荷を軽減できる。
Further, according to the communication system 1, each of the client devices 12_1 and 12_2 verifies the validity of the application programs AP_C1 and AP_C2 that it starts, and transmits certification data AP_CER1 and AP_CER2 indicating the results to the server device 10.
Therefore, the server device 10 does not need to hold all the hash data of the application programs executed by the client devices 12_1 and 12_2, and does not need to perform verification processing of the validity. Therefore, it is possible to reduce the load on the server apparatus 10 due to the determination of the validity of the application program activated on the client apparatuses 12_1 and 12_2.

また、通信システム1によれば、クライアント装置12_1,12_2において、図5に示すように、上述した証明データAP_CERを生成するブ−トプログラムB_PRGが証明データAP_CER1,AP_CER2内に記憶され、且つ、それがデータ線30を介してセキュアな状態でCPU33に読み出されるので、証明データAP_CERの信頼性を高めることができる。
また、通信システム1によれば、サーバ装置10は、クライアント装置12_1,12_2と相互認証を行ってから、署名付きの証明データAP_CERを受信し、その署名データSIGを検証するため、サーバ装置10は、クライアント装置12_1,12_2で起動されているアプリケーションプログラムの正当性を高い信頼性で判断できる。
Further, according to the communication system 1, in the client devices 12_1 and 12_2, as shown in FIG. 5, the boot program B_PRG for generating the above-described certification data AP_CER is stored in the certification data AP_CER1 and AP_CER2, and Is read out to the CPU 33 in a secure state via the data line 30, so that the reliability of the certification data AP_CER can be improved.
Further, according to the communication system 1, the server apparatus 10 performs mutual authentication with the client apparatuses 12_1 and 12_2, receives the proof data AP_CER with the signature, and verifies the signature data SIG. Therefore, it is possible to determine the legitimacy of the application program activated on the client devices 12_1 and 12_2 with high reliability.

また、通信システム1によれば、サーバ装置10とクライアント装置12_1,12_2との間のみならず、クライアント装置12_1と12_2との間でコンテンツデータを送受信する場合にも、クライアント装置12_1,12_2の一方は、他方で起動されているアプリケーションプログラムの正当性を小さな負荷で判断できる。   Further, according to the communication system 1, not only between the server device 10 and the client devices 12_1 and 12_2 but also when content data is transmitted and received between the client devices 12_1 and 12_2, one of the client devices 12_1 and 12_2. Can determine the legitimacy of the application program activated on the other side with a small load.

なお、上述した相互認証は、公開鍵認証に限定されるのではなく、相互認証できる方法またはシステムであればどのような認証方法でもよい。   The mutual authentication described above is not limited to public key authentication, and any authentication method may be used as long as it is a method or system capable of mutual authentication.

本発明は、コンピュータ間で通信を行うシステムに適用可能である。   The present invention is applicable to a system that performs communication between computers.

図1は、本発明の実施形態に係わる通信システムの全体構成図である。FIG. 1 is an overall configuration diagram of a communication system according to an embodiment of the present invention. 図2は、図1に示すサーバ装置の構成図である。FIG. 2 is a configuration diagram of the server apparatus shown in FIG. 図3は、図2に示すサーバ装置がクライアント装置と通信を行う場合の動作例を説明するためのフローチャートである。FIG. 3 is a flowchart for explaining an operation example when the server apparatus shown in FIG. 2 communicates with the client apparatus. 図4は、本発明の実施形態に係わる証明データを説明するための図である。FIG. 4 is a diagram for explaining proof data according to the embodiment of the present invention. 図5は、図1に示すクライアント装置の構成図である。FIG. 5 is a block diagram of the client device shown in FIG. 図6は、本発明の実施形態における公開エ−ジェントデータAGENT_DPを説明するための図である。FIG. 6 is a diagram for explaining public agent data AGENT_DP in the embodiment of the present invention. 図7は、図5に示すクライアント装置が証明データAP_CERを生成する動作を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining an operation in which the client device shown in FIG. 5 generates the certification data AP_CER. 図8は、図5に示すクライアント装置が公開エ−ジェントデータAGENT_DPを生成する動作例を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining an operation example in which the client device shown in FIG. 5 generates public agent data AGENT_DP. 図9は、図5に示すクライアント装置がサーバ装置と通信を行う場合の動作例を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining an operation example when the client device shown in FIG. 5 communicates with the server device. 図10は、図5に示すクライアント装置12_1が図1に示すクライアント装置12_2と通信を行う場合の動作例を説明するためのフローチャートである。FIG. 10 is a flowchart for explaining an operation example when the client apparatus 12_1 shown in FIG. 5 communicates with the client apparatus 12_2 shown in FIG.

符号の説明Explanation of symbols

1…通信システム、10…サーバ装置、12_1,12_2…クライアント装置、20…データ線、21…インタフェース、22…メモリ、23…CPU、30…データ線、31…インタフェース、32…メモリ、33…CPU、SM…セキュリティモジュール回路、35…メモリ、36…演算回路、AP_S,AP_C1…アプリケーションプログラム 、B_PRG…ブ−トプログラム、AP_CER…証明データ、AGENT_DP1…公開エ−ジェントデータ、AGENT_D…エージェントデータ、AGENT_P1…エージェントプログラム、HASH_D1,HASH_D2…ハッシュデータ
DESCRIPTION OF SYMBOLS 1 ... Communication system, 10 ... Server apparatus, 12_1, 12_2 ... Client apparatus, 20 ... Data line, 21 ... Interface, 22 ... Memory, 23 ... CPU, 30 ... Data line, 31 ... Interface, 32 ... Memory, 33 ... CPU , SM ... security module circuit, 35 ... memory, 36 ... arithmetic circuit, AP_S, AP_C1 ... application program, B_PRG ... boot program, AP_CER ... certification data, AGENT_DP1 ... public agent data, AGENT_D ... agent data, AGENT_P1 ... Agent program, HASH_D1, HASH_D2 ... Hash data

Claims (14)

通信先と通信を行うコンピュータが実行するプログラムであって、
前記コンピュータとの通信に前記通信先で用いられ所定の条件で更新される通信用データのハッシュデータを生成する第1の手順と、
前記第1の手順で生成した前記ハッシュデータを前記通信用データに付加して前記通信先に送信する第2の手順と、
前記第2の手順の後に、前記第1の手順で生成した前記ハッシュデータを前記コンピュータの識別データとして用いて、前記通信先と通信を行う第3の手順と
を前記コンピュータに実行させるプログラム。
A program executed by a computer that communicates with a communication destination,
A first procedure for generating hash data of communication data used in communication with the computer and updated under a predetermined condition;
A second procedure of adding the hash data generated in the first procedure to the communication data and transmitting it to the communication destination;
A program that causes the computer to execute a third procedure for communicating with the communication destination using the hash data generated in the first procedure as identification data of the computer after the second procedure.
前記通信用データを前記所定の条件で更新する第4の手順
をさらに有し、
前記第1の手順は前記第4の手順による前記更新後の前記通信用データのハッシュデーサを生成し、
前記第3の手順は、前記更新後の前記通信用データの前記ハッシュデータを、前記コンピュータの識別データとして用いて、前記通信先と通信を行う
請求項1に記載のプログラム。
A fourth procedure for updating the communication data under the predetermined condition;
The first procedure generates a hash data of the communication data after the update according to the fourth procedure,
The program according to claim 1, wherein the third procedure communicates with the communication destination by using the hash data of the updated communication data as identification data of the computer.
前記通信用データを生成する第5の手順
をさらに有する
請求項1に記載のプログラム。
The program according to claim 1, further comprising: a fifth procedure for generating the communication data.
前記第5の手順は、ユーザによる前記コンピュータの操作履歴を基に、前記ユーザの属性を示す前記通信用データを生成する
請求項3に記載のプログラム。
The program according to claim 3, wherein the fifth procedure generates the communication data indicating an attribute of the user based on an operation history of the computer by the user.
前記第1の手順は、前記操作履歴を基に、前記ユーザの好みを判断する指標となる前記属性を示す前記通信用データを生成する
請求項4に記載のプログラム。
The program according to claim 4, wherein the first procedure generates the communication data indicating the attribute serving as an index for determining the user's preference based on the operation history.
通信先と通信を行うコンピュータが実行するプログラムであって、
所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信する第1の手順と、
前記第1の手順で受信した前記ハッシュデータを基に前記通信先を識別し、前記第1の手順で受信した前記通信用データを基に前記通信先と通信を行う第2の手順と
を前記コンピュータに実行させるプログラム。
A program executed by a computer that communicates with a communication destination,
A first procedure in which communication data updated under a predetermined condition and hash data of the communication data are associated with each other and received from the communication destination;
A second procedure for identifying the communication destination based on the hash data received in the first procedure and communicating with the communication destination based on the communication data received in the first procedure; A program to be executed by a computer.
前記第1の手順は、前記通信先のユーザの操作履歴を基に得られた前記ユーザの属性を示す前記通信用データを受信し、
前記第2の手順は、前記第1の手順で受信した前記通信用データを基に、前記ユーザの属性に適合したデータ、あるいは適合した形態で前記通信先にデータを送信する
請求項6に記載のプログラム。
The first procedure receives the communication data indicating the attribute of the user obtained based on the operation history of the user of the communication destination,
7. The second procedure transmits data to the communication destination in a data conforming to the user attribute or in a conformed form based on the communication data received in the first procedure. Program.
前記通信先の正当性を認証する第3の手順と、
前記第3の手順で正当であると認証したことを条件に、前記通信先によって正当であると判断され当該通信先で起動されるアプリケーションプログラムの識別データを示す証明データを前記通信先から受信する第4の手順と、
所望の識別データが、前記第4の手順で受信した前記証明データに含まれているか否かを判断する第5の手順と、
前記第5の手順で前記所望の識別データが含まれていると判断したことを条件に、前記第2の手順を実行させる第6の手順と
を有する請求項6に記載のプログラム。
A third procedure for authenticating the authenticity of the communication destination;
On the condition that it is authenticated as valid in the third procedure, certification data indicating identification data of an application program that is judged valid by the communication destination and started at the communication destination is received from the communication destination. A fourth procedure;
A fifth procedure for determining whether desired identification data is included in the proof data received in the fourth procedure;
The program according to claim 6, further comprising: a sixth procedure that causes the second procedure to be executed on the condition that it is determined that the desired identification data is included in the fifth procedure.
アプリケーションプログラムが記憶されたメモリと、
前記メモリから読み出した前記アプリケーションプログラムを実行する実行回路と、
通信先とデータ授受を行うインタフェースと
を有するコンピュータであって、
前記実行回路は、前記アプリケーションプログラムに従って、前記通信先で前記コンピュータとの通信に用いられ所定の条件で更新される通信用データのハッシュデータを生成し、当該生成した前記ハッシュデータを前記通信用データに付加して前記通信先に前記インタフェースを介して送信し、前記ハッシュデータを前記コンピュータの識別データとして用いて前記通信先と通信を行う
コンピュータ。
A memory storing application programs;
An execution circuit for executing the application program read from the memory;
A computer having a communication destination and an interface for exchanging data,
The execution circuit generates hash data of communication data used for communication with the computer at the communication destination and updated under a predetermined condition in accordance with the application program, and the generated hash data is used as the communication data. A computer that transmits to the communication destination via the interface and communicates with the communication destination using the hash data as identification data of the computer.
記憶データの改竄および監視を防止する機能が備えられ、ブ−トプログラムを記憶する回路モジュール
をさらに有し、
前記実行回路は、前記回路モジュールからセキュアな状態で読み出した前記ブ−トプログラムをさらに実行し、当該ブ−トプログラムに従って、前記アプリケーションプログラムの正当性を検証し、正当であると判断した前記アプリケーションプログラムの識別データを示す証明データを前記回路モジュールに記憶させ、前記回路モジュールから読み出した前記証明データを,前記インタフェースを介して前記通信先に送信する
請求項9に記載のコンピュータ。
A function module for preventing falsification and monitoring of stored data, and a circuit module for storing a boot program;
The execution circuit further executes the boot program read in a secure state from the circuit module, verifies the validity of the application program according to the boot program, and determines that the application is valid. 10. The computer according to claim 9, wherein proof data indicating program identification data is stored in the circuit module, and the proof data read from the circuit module is transmitted to the communication destination via the interface.
通信先と通信を行うコンピュータであって、
プログラムを記憶するメモリと、
所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信するインタフェースと、
前記メモリから読み出した前記プログラムを実行し、当該プログラムに従って、前記インタフェースが受信した前記ハッシュデータを基に前記通信先を識別し、前記インタフェースが受信した前記通信用データを基に前記通信先と通信を行う実行回路と
を有するコンピュータ。
A computer that communicates with a communication destination,
A memory for storing the program;
An interface that receives communication data updated under a predetermined condition and hash data of the communication data in association with the communication destination;
Executes the program read from the memory, identifies the communication destination based on the hash data received by the interface according to the program, and communicates with the communication destination based on the communication data received by the interface And a computer having an execution circuit.
前記インタフェースは、前記通信先で起動され当該他のコンテンツデータによって正当性が認められたアプリケーションプログラムの識別データを示す証明データを前記通信先から受信し、
前記実行回路は、前記プログラムに従って、通信先が正当であると認証したことを条件に、前記インタフェースを介して受信した前記証明データに所望の識別データが含まれているか否かを判断し、前記所望の識別データが含まれていると判断したことを条件に、前記インタフェースを介して前記通信先と通信を行う
請求項11に記載のコンピュータ。
The interface receives certification data indicating identification data of an application program that is activated at the communication destination and validated by the other content data from the communication destination,
The execution circuit determines whether or not desired identification data is included in the certification data received via the interface on the condition that the communication destination is authenticated according to the program. The computer according to claim 11, wherein communication is performed with the communication destination via the interface on condition that it is determined that desired identification data is included.
通信先と通信を行うコンピュータが実行するデータ処理方法であって、
前記コンピュータとの通信に前記通信先で用いられ所定の条件で更新される通信用データのハッシュデータを生成する第1の工程と、
前記第1の工程で生成した前記ハッシュデータを前記通信用データに付加して前記通信先に送信する第2の工程と、
前記第2の工程の後に、前記第1の工程で生成した前記ハッシュデータを前記コンピュータの識別データとして用いて、前記通信先と通信を行う第3の工程と
を有するデータ処理方法。
A data processing method executed by a computer that communicates with a communication destination,
A first step of generating hash data of communication data used at the communication destination for communication with the computer and updated under a predetermined condition;
A second step of adding the hash data generated in the first step to the communication data and transmitting it to the communication destination;
A data processing method comprising: a third step of communicating with the communication destination using the hash data generated in the first step as identification data of the computer after the second step.
通信先と通信を行うコンピュータが実行するデータ処理方法であって、
所定の条件で更新される通信用データと、当該通信用データのハッシュデータとを関連付けて前記通信先から受信する第1の工程と、
前記第1の工程で受信した前記ハッシュデータを基に前記通信先を識別し、前記第1の工程で受信した前記通信用データを基に前記通信先と通信を行う第2の工程と
を有するデータ処理方法。
A data processing method executed by a computer that communicates with a communication destination,
A first step of receiving communication data updated under a predetermined condition and hash data of the communication data in association with the communication destination;
A second step of identifying the communication destination based on the hash data received in the first step and communicating with the communication destination based on the communication data received in the first step. Data processing method.
JP2004114871A 2004-04-05 2004-04-09 Program, computer and data processing method Abandoned JP2005301530A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004114871A JP2005301530A (en) 2004-04-09 2004-04-09 Program, computer and data processing method
TW094110747A TW200607288A (en) 2004-04-05 2005-04-04 Program, computer, and data processing method
US10/557,169 US20070044160A1 (en) 2004-04-05 2005-04-05 Program, computer, and data processing method
EP05728436A EP1736892A1 (en) 2004-04-05 2005-04-05 Program, computer, and data processing method
PCT/JP2005/006633 WO2005098640A1 (en) 2004-04-05 2005-04-05 Program, computer, and data processing method
KR1020057022195A KR20070009371A (en) 2004-04-05 2005-04-05 How programs, computers, and data are processed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004114871A JP2005301530A (en) 2004-04-09 2004-04-09 Program, computer and data processing method

Publications (1)

Publication Number Publication Date
JP2005301530A true JP2005301530A (en) 2005-10-27

Family

ID=35333007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004114871A Abandoned JP2005301530A (en) 2004-04-05 2004-04-09 Program, computer and data processing method

Country Status (1)

Country Link
JP (1) JP2005301530A (en)

Similar Documents

Publication Publication Date Title
US20240039714A1 (en) Secure Circuit For Encryption Key Generation
JP4906854B2 (en) Information processing apparatus, information recording apparatus, information processing system, program update method, program, and integrated circuit
JP7174237B2 (en) Key generation device, key update method and key update program
US7263608B2 (en) System and method for providing endorsement certificate
US20040088541A1 (en) Digital-rights management system
JP2005527900A (en) Inclusive verification of platform to data center
KR101452708B1 (en) CE device management server, method for issuing DRM key using CE device management server, and computer readable medium
CN101325485A (en) Method, system, electronic device and processing block for processing information in electronic device
JP2004280284A (en) Control processor, electronic device, method of starting program of electronic device, and method of updating system module of electronic device
JP2008005156A (en) Information processing terminal and status notification method
CN108335105B (en) Data processing method and related equipment
CN101102464A (en) Set-top box terminal and verification method thereof
US20070044160A1 (en) Program, computer, and data processing method
JP4818664B2 (en) Device information transmission method, device information transmission device, device information transmission program
JP4998314B2 (en) Communication control method and communication control program
CN118520445A (en) Identity authentication method and device, storage medium and electronic equipment
JP2005293504A (en) Program, computer and data processing method
CN115618306B (en) Software protection method, device, system, CPU chip and electronic equipment
JP4337608B2 (en) Program, computer and data processing method
CN101657822A (en) Data storage method, client device, storage device, and program
JP2007312128A (en) Electronic data browsing system, apparatus and program
JP2005301530A (en) Program, computer and data processing method
JP2002132145A (en) Authentication method, authentication system, recording medium and information processor
JPH11215121A (en) Device and method for authentication
JP2005301531A (en) Program, computer and data processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061012

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090813