JP2005301530A - Program, computer and data processing method - Google Patents
Program, computer and data processing method Download PDFInfo
- 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
Links
Images
Abstract
【課題】 コンピュータを用いたユーザの操作を長期的に監視されることなく、当該コンピュータを通信先に識別させて当該通信先と通信を行うことを可能にするプログラムを提供する。
【解決手段】 クライアント装置12_1は、ユーザの属性を示すエージェントデータのハッシュデータをサーバ装置10に送信する。サーバ装置10は、当該ハッシュデータを基に、クライアント装置12_1を識別する。エージェントデータは、クライアント装置12_1のユーザの操作に応じて所定の条件で更新され、それに伴いハッシュデータも更新される。
【選択図】 図1PROBLEM 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
As illustrated in FIG. 1, the
The
In this embodiment, a case where communication is performed by a large number of
先ず、図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
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
Thereafter, the client device 12_1 communicates with the
The
Further, the
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
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
The
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
As shown in FIG. 2, the
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
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
The processing performed by the CPU 23 will be described in association with an operation example of the
以下、図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
FIG. 3 is a flowchart for explaining an operation example when the
Each step shown below is defined by the application program AP_S.
Step ST1:
The CPU 23 of the
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
Here, since the hash data HASH_D1 is updated under a predetermined condition as will be described later, the
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
〔クライアント装置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
Here, the
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
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
The security module circuit SM is a tamper-resistant circuit and has a function of preventing tampering and monitoring of data stored in the
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
In addition, the memory 22 stores the public key data PK_S and the public key certification data PKC_S of the
The
操作部37は、キ−ボード、マウス、タッチパネルなどの操作手段であり、ユーザの操作に応じた操作信号をCPU33に出力する。
The
CPU33は、ブ−トプログラムB_PRG、アプリケーションプログラムAP_C1、並びに操作部37からの操作信号に基づいて種々の処理を行う。
The
また、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
The
In order to realize reading in the secure state, the
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
また、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
In the present embodiment, the
The
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
The
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
The
CPU33は、クライアント装置12_1の動作を統括的に制御する。
CPU33が行う処理については、クライアント装置12_1の動作例と関連付けて説明する。
The
The processing performed by the
以下、図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
At this time, for example, the
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
Step ST14:
The
Step ST15:
In accordance with the boot program B_PRG, the
ステップ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
At this time, for example, the
Further, the
ステップ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
The
Step ST19:
The
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
Step ST20:
The
In this embodiment, if the agent program AGENT_P1 is valid, the
以下、図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
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
Step ST32:
The
Then, the
The
ステップ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
In the present embodiment, the predetermined time is, for example, one week, one month, or three months.
Step ST34:
The
Step ST35:
Based on the operation signal from the
ステップ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
Step ST37:
The
Step ST38:
The
ステップST39:
CPU33は、ステップST38で更新した公開エ−ジェントデータAGENT_DP1の署名データSIGDを生成し、これを図6に示す公開エ−ジェントデータAGENT_DP1に付加する。
ステップST40:
CPU33は、時間カウンタおよび更新回数カウンタのカウンタ値をリセットする。
Step ST39:
The
Step ST40:
The
以下、図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
FIG. 9 is a flowchart for explaining an operation example when the client device 12_1 shown in FIG. 5 communicates with the
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
When the mutual authenticity is confirmed by the mutual authentication, the
In the mutual authentication, the
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
Step ST54:
The
Step ST55:
The
The
At this time, data transmission from the
なお、アプリケーションプログラム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
In this case, the client device 12_1 provides data necessary for authentication among the data received from the
以下、図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
When the mutual authenticity is confirmed by the mutual authentication, the
In the present embodiment, the public key data PK_2 and the public key certification data PKC_2 are stored in the
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
Step ST64:
The
Step ST65:
The
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
At this time, for example, the
If the
ステップ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
In this step, the
ステップST68:
CPU33は、例えば、既に起動しているエージェントプログラムAGENT_P1に従って、図8に示す手順で生成した公開エ−ジェントデータAGENT_DP1を、インタフェース31を介してクライアント装置12_2に送信する。
インタフェース31は、クライアント装置12_2から、当該クライアント装置12_1が生成した公開エ−ジェントデータAGENT_DP2を受信する。
Step ST68:
For example, the
The
ステップ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
If the
Step ST70:
The
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
For example, the
At this time, based on the public agent data AGENT_DP2 received in step ST68, the
For example, the
The
なお、クライアント装置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
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
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
The
In addition, the
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
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
Further, according to the
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
Therefore, the
また、通信システム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
Further, according to the
また、通信システム1によれば、サーバ装置10とクライアント装置12_1,12_2との間のみならず、クライアント装置12_1と12_2との間でコンテンツデータを送受信する場合にも、クライアント装置12_1,12_2の一方は、他方で起動されているアプリケーションプログラムの正当性を小さな負荷で判断できる。
Further, according to the
なお、上述した相互認証は、公開鍵認証に限定されるのではなく、相互認証できる方法またはシステムであればどのような認証方法でもよい。 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…通信システム、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
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.
をさらに有し、
前記第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.
をさらに有する
請求項1に記載のプログラム。 The program according to claim 1, further comprising: a fifth procedure for generating the communication data.
請求項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.
請求項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.
前記第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の手順で正当であると認証したことを条件に、前記通信先によって正当であると判断され当該通信先で起動されるアプリケーションプログラムの識別データを示す証明データを前記通信先から受信する第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.
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) |
-
2004
- 2004-04-09 JP JP2004114871A patent/JP2005301530A/en not_active Abandoned
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 |