JP4504083B2 - Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program - Google Patents

Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program Download PDF

Info

Publication number
JP4504083B2
JP4504083B2 JP2004134113A JP2004134113A JP4504083B2 JP 4504083 B2 JP4504083 B2 JP 4504083B2 JP 2004134113 A JP2004134113 A JP 2004134113A JP 2004134113 A JP2004134113 A JP 2004134113A JP 4504083 B2 JP4504083 B2 JP 4504083B2
Authority
JP
Japan
Prior art keywords
node
interest
client
server
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004134113A
Other languages
Japanese (ja)
Other versions
JP2004350267A (en
Inventor
寛朗 榎田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004134113A priority Critical patent/JP4504083B2/en
Publication of JP2004350267A publication Critical patent/JP2004350267A/en
Application granted granted Critical
Publication of JP4504083B2 publication Critical patent/JP4504083B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明は、上位ノードが下位ノードを従える形式で複数段に亘って構成したクライアント・サーバシステムの各ノード間の認証処理に使用するデジタル証明書の正当性を確認するために用いる証明鍵を、その各ノードと通信可能なデジタル証明書管理装置によって更新する際の更新手順を定める更新手順決定方法、コンピュータを上記のデジタル証明書管理装置として機能させるためのプログラム、上記の更新手順決定方法を用いて定めた更新手順に従って上記の証明鍵を更新するデジタル証明書管理装置と上記のクライアント・サーバシステムとによって構成されるデジタル証明書管理装置、および上記の更新手順決定方法を用いて定めた更新手順に従って上記の証明鍵を更新するデジタル証明書管理装置に関する。   The present invention provides a certification key used for confirming the validity of a digital certificate used for authentication processing between nodes of a client / server system configured in a plurality of stages in a form in which an upper node follows a lower node. Using an update procedure determination method for determining an update procedure when updating by a digital certificate management device communicable with each node, a program for causing a computer to function as the digital certificate management device, and the update procedure determination method described above The digital certificate management apparatus configured to update the certification key according to the update procedure determined in advance and the client / server system, and the update procedure defined using the update procedure determination method The present invention relates to a digital certificate management apparatus that updates the certification key according to the above.

従来から、PC等のコンピュータを複数台ネットワークを介して通信可能に接続し、少なくとも1台をサーバ装置(サーバ)、別の少なくとも1台をクライアント装置(クライアント)としたクライアント・サーバシステムを構成することが行われている。
このようなクライアント・サーバシステムにおいては、クライアント装置からサーバ装置に要求を送信し、サーバ装置がその要求に従った処理を行ってクライアント装置に対して応答を返す。そして、このようなクライアント・サーバシステムは、クライアント装置から商品の注文要求を送信し、サーバ装置においてその注文を受け付けるといった、いわゆる電子商取引にも広く用いられるようになっている。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
2. Description of the Related Art Conventionally, a client / server system is configured in which a plurality of computers such as PCs are communicably connected via a network, and at least one is a server device (server) and another at least one is a client device (client). Things have been done.
In such a client / server system, a request is transmitted from the client device to the server device, and the server device performs processing according to the request and returns a response to the client device. Such a client / server system is widely used for so-called electronic commerce in which an order request for a product is transmitted from a client device and the server device accepts the order. In addition, a system has also been proposed in which various electronic devices are connected via a network with the functions of a client device or a server device, and the electronic device is remotely managed by communication between them.

このような場合においては、通信相手が適切か、あるいは送信される情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。   In such a case, it is important to confirm whether the communication partner is appropriate or whether the transmitted information has been tampered with. In particular, in the Internet, since information often passes through an irrelevant computer until it reaches a communication partner, it is necessary to prevent the contents from being stolen when transmitting confidential information. As a communication protocol that meets such requirements, for example, a protocol called SSL (Secure Socket Layer) has been developed and widely used. By performing communication using this protocol, it is possible to combine a public key cryptosystem and a common key cryptosystem to authenticate a communication partner and to prevent tampering and eavesdropping by encrypting information.

ここで、公開鍵暗号方式を用いて認証処理を行う場合の通信手順及びその際に使用するデジタル証明書について説明する。なおここでは、クライアント装置がサーバ装置を認証する場合を例として説明する。
この場合、認証処理を行うために、サーバ装置側にサーバ私有鍵及びサーバ公開鍵証明書(サーバ証明書)を記憶させると共に、クライアント装置側にルート鍵証明書を記憶させておく。ここで、サーバ私有鍵は、認証局(CA:certificate authority)がサーバ装置に対して発行した私有鍵である。そして、サーバ公開鍵証明書は、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAがデジタル署名に用いた証明用私有鍵であるルート私有鍵と対応する証明用公開鍵(以下「証明鍵」ともいう)であるルート鍵に、デジタル署名を付してデジタル証明書としたものである。
Here, a communication procedure when performing an authentication process using a public key cryptosystem and a digital certificate used at that time will be described. Here, a case where the client device authenticates the server device will be described as an example.
In this case, in order to perform authentication processing, the server private key and the server public key certificate (server certificate) are stored on the server device side, and the root key certificate is stored on the client device side. Here, the server private key is a private key issued to a server device by a certificate authority (CA). The server public key certificate is a certificate obtained by adding a digital signature to the public key corresponding to the private key. In addition, the root key certificate attaches a digital signature to the root key that is the certification public key (hereinafter also referred to as “certification key”) corresponding to the root private key that is the private key for certification used by the CA for the digital signature. It is a digital certificate.

図58にこれらの関係を示す。
図58(a)に示すように、サーバ公開鍵は、サーバ私有鍵を用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA),発行相手(サーバ装置),有効期限等の情報を含む書誌情報とによって構成される。そして、CAは、鍵本体や書誌情報が改竄されていないことを示すため、サーバ公開鍵をハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名としてサーバ公開鍵に付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵の書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、サーバ公開鍵証明書である。
FIG. 58 shows these relationships.
As shown in FIG. 58A, the server public key includes a key body for decrypting a document encrypted using the server private key, an issuer (CA) of the public key, and an issuer (server Device) and bibliographic information including information such as an expiration date. The CA encrypts the hash value obtained by hashing the server public key using the root private key to indicate that the key body or bibliographic information has not been tampered with, and uses it as a digital signature in the server public key. Attached. At this time, the identification information of the root private key used for the digital signature is added as signature key information to the bibliographic information of the public key. The public key certificate with the digital signature is a server public key certificate.

このサーバ公開鍵証明書を認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにCAによって付されたことがわかる。また、サーバ公開鍵部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこのサーバ公開鍵を用いて正常に復号化できれば、そのデータは、サーバ私有鍵の持ち主、つまりサーバ装置から送信されたものであることがわかる。あとは、書誌情報を参照して、CAの信頼性やサーバ装置の登録有無等によって認証の正否を決定すればよい。   When this server public key certificate is used for authentication processing, the digital signature included therein is decrypted using the key body of the root key which is a public key corresponding to the root private key. If this decryption is carried out normally, it can be seen that the digital signature is certainly attached by the CA. Further, if the hash value obtained by hashing the server public key portion matches the hash value obtained by decryption, it is understood that the key itself has not been damaged or tampered. Further, if the received data can be normally decrypted using this server public key, it is understood that the data is transmitted from the server private key owner, that is, the server device. After that, referring to the bibliographic information, whether the authentication is correct or not may be determined based on the reliability of the CA, the presence / absence of registration of the server device, or the like.

ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図58(b)に示すように、CAがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。   Here, in order to perform authentication, it is necessary to store a root key in advance. This root key is also a root key certificate with a digital signature attached by the CA, as shown in FIG. Remember. This root key certificate is a self-signed form in which a digital signature can be decrypted with a public key included in the root key certificate. When the root key is used, the digital signature is decrypted using the key body included in the root key certificate, and compared with the hash value obtained by hashing the root key. If they match, it can be confirmed that the root key is not damaged.

そして、以上のようなクライアント装置とサーバ装置とによって構成されるクライアント・サーバシステムにおいてクライアント装置がサーバ装置に通信を要求する場合、これらの各装置はそれぞれ以下のような処理を行う。
まずサーバ装置は、クライアント装置からの通信要求に応じて乱数を生成すると共に、これをサーバ私有鍵で暗号化し、その暗号化した乱数をサーバ公開鍵証明書と共にクライアント装置に送信する。
すると、これを受信したクライアント装置は、受信したサーバ公開鍵証明書の正当性をルート鍵証明書を用いて確認する。これには、上述のように損傷や改竄を受けていないことを確認するのみならず、書誌情報を参照してサーバ装置が適当な通信相手であることを確認する処理を含む。
When the client device requests communication to the server device in the client / server system constituted by the client device and the server device as described above, each of these devices performs the following processing.
First, the server device generates a random number in response to a communication request from the client device, encrypts it with the server private key, and transmits the encrypted random number together with the server public key certificate to the client device.
Then, the client device that has received this confirms the validity of the received server public key certificate using the root key certificate. This includes a process of confirming that the server apparatus is an appropriate communication partner by referring to the bibliographic information as well as confirming that no damage or tampering has occurred as described above.

そして確認ができると、受信したサーバ公開鍵証明書に含まれるサーバ公開鍵を用いて受信した乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かにサーバ公開鍵証明書の発行対象であるサーバ装置から受信したものだと確認できる。従って、以上の処理により、サーバ装置を正当な通信相手として認証することができる。
また、上記の公開鍵や私有鍵で暗号化して共通鍵暗号の鍵を交換するようにすれば、安全に共通鍵を交換し、通信内容を共通鍵暗号によって暗号化した安全な通信経路を確立することができる。
If the confirmation can be made, the received random number is decrypted using the server public key included in the received server public key certificate. Here, if the decryption is successful, it can be confirmed that the first random number is certainly received from the server device to which the server public key certificate is issued. Therefore, the server device can be authenticated as a valid communication partner by the above processing.
In addition, if the common key encryption key is exchanged by encrypting with the above public key or private key, the common key is exchanged safely, and a secure communication path is established by encrypting the communication contents with the common key encryption. can do.

ところで、公開鍵暗号方式においては、鍵長にもよるが、時間をかければ公開鍵から私有鍵を導くことができる。そして、私有鍵がわかってしまえば、第3者がその私有鍵の持ち主になりすますことが可能になるので、認証の確実性や通信の安全性が保たれない。そこで、上述のように鍵に有効期限を設け、所定期間毎に鍵のセットを更新するというセキュリティポリシーを採用するユーザが増えている。このため、例えば上記のような認証処理を利用した遠隔管理システム等を提供する場合には、顧客に対し、鍵の更新が可能なシステムであるという保証を行う必要が生じている。これは、ルート鍵とルート私有鍵についても同様である。なお、鍵の更新事由としては、所定の有効期限の到来の他にも、私有鍵の第3者への漏洩が判明した場合等が考えられる。
このような鍵の更新に関する技術としては、例えば特許文献1に記載のものが挙げられる。
特開平11−122238号公報
By the way, in the public key cryptosystem, although depending on the key length, a private key can be derived from the public key over time. Once the private key is known, a third party can impersonate the owner of the private key, so authentication reliability and communication security cannot be maintained. Therefore, as described above, an increasing number of users adopt a security policy in which an expiration date is set for a key and a set of keys is updated every predetermined period. For this reason, for example, when providing a remote management system or the like using the authentication process as described above, it is necessary to guarantee to the customer that the system can update the key. The same applies to the root key and the root private key. In addition to the arrival of a predetermined expiration date, it is conceivable that the reason for renewing the key is when the leakage of a private key to a third party is found.
As a technique related to such key update, for example, a technique described in Patent Document 1 can be cited.
Japanese Patent Laid-Open No. 11-122238

しかしながら、特許文献1には、各装置に対して発行した鍵の更新に関する記載はあるが、ルート鍵の更新についての記載はない。
公開鍵暗号方式の場合、各装置に発行した鍵のペアを更新する場合には、その装置には新たな私有鍵に対応した新たな公開鍵証明書が記憶されることになり、通信相手にこれを渡せば、上述のような認証処理を支障なく行うことができる。
しかし、ルート鍵を更新する場合、新たなルート鍵では従前のデジタル証明書に付されたデジタル署名を復号化することができないため、新たなルート鍵と対応する新たなルート私有鍵を用いて各装置の公開鍵証明書を作成し直し、これを配布しなければ、認証処理の実行に支障を来してしまう(ただし、各装置の私有鍵は必ずしも更新する必要はない)。
However, Patent Document 1 has a description about updating a key issued to each device, but there is no description about updating a root key.
In the case of the public key cryptosystem, when a key pair issued to each device is updated, a new public key certificate corresponding to the new private key is stored in the device, and the communication partner is notified. If this is passed, the authentication process as described above can be performed without any trouble.
However, when updating the root key, the new root key cannot decrypt the digital signature attached to the previous digital certificate, so each new root key and the corresponding new root private key are used. If the public key certificate of the device is not recreated and distributed, it will hinder the execution of the authentication process (however, the private key of each device does not necessarily need to be updated).

そして、認証処理に支障を来さずにこのようなルート鍵を更新する方式が知られていなかったため、更新の必要な装置にルート鍵をネットワークを介して安全に送信することができなかった。そこで、ルート鍵証明書や新たな公開鍵証明書を別の安全な経路で各装置に届ける必要があった。すなわち、ルート鍵更新用の特別な通信経路を設ける必要があったのである。
この経路としては、例えば書留郵便が考えられ、証明書のデータを記録したメモリカードやフレキシブルディスク等の記録媒体を装置の管理者に書留郵便で送付し、管理者が装置の鍵を更新するという方式が考えられる。しかし、この方式では、クライアントやサーバの各装置について十分な知識を持った管理者がいる場合にしか適用できないし、CA側は記録媒体を送付した後の処理については装置の管理者を信用するしかなかった。従って、管理者が更新処理を怠ったり誤ったりした場合には、認証処理が行えなくなってしまうという問題があった。
Further, since there has been no known method for updating such a root key without hindering the authentication process, the root key cannot be securely transmitted to a device that needs to be updated via the network. Therefore, it has been necessary to deliver a root key certificate and a new public key certificate to each device through another secure route. That is, it is necessary to provide a special communication path for updating the root key.
As this route, for example, registered mail is conceivable, and a recording medium such as a memory card or a flexible disk in which certificate data is recorded is sent to the apparatus administrator by registered mail, and the administrator updates the apparatus key. A method is conceivable. However, this method can be applied only when there is an administrator who has sufficient knowledge about each device of the client and the server, and the CA side trusts the administrator of the device for processing after sending the recording medium. There was only. Therefore, if the administrator neglects or mistakes the update process, there is a problem that the authentication process cannot be performed.

一方管理者側も、受け取った証明書が正しいものであるか否かは、封筒やデータに記載された送り主の名称等を信用して判断するしかなく、CAの名を騙る別人から受け取ったニセの証明書を装置に記憶させてしまうといった危険は常につきまとうことになる。
また、CAやクライアント・サーバシステムによるサービスの提供者が、各装置の配置先にサービスマンを派遣して鍵の更新を行うことも考えられるが、広い地域でこのような方式を採るには多数のサービス拠点が必要になり、コストが嵩むことになる。また、サービスマンの教育や不正防止、更新作業用の管理者IDの管理も問題となる。例えば、認証情報を手入力する単純な方式を採ろうとすると、退職したサービスマンについての更新権限を抹消するためには、各装置に記憶させている認証情報を変更する必要があるが、顧客先に設置された多数の装置にこのような変更を行うことは困難である。
On the other hand, the administrator can only judge whether the received certificate is correct or not by trusting the name of the sender described in the envelope or data, etc. There is always a danger of having the certificate stored in the device.
In addition, it is conceivable that a service provider using a CA or client / server system dispatches a service person to the location of each device to update the key. Service bases are required, which increases costs. In addition, education of service personnel, fraud prevention, and management of an administrator ID for update work are also problems. For example, when trying to adopt a simple method for manually entering authentication information, it is necessary to change the authentication information stored in each device in order to cancel the update authority for a retired serviceman. It is difficult to make such a change to a large number of devices installed in the factory.

結局のところ、ネットワークを介さずに証明書の安全な配布経路を確保するためには、人間を信用する他なく、そこには欺瞞が入りこむ余地が出てしまう。そして、この余地を小さくするよう管理することはできるが、そのためには膨大なコストが生じてしまい、欺瞞の危険を考慮しなくて済むレベルの経路を証明書の配布のために構築することは、現実的ではなかった。   After all, in order to secure a secure distribution route for certificates without going through the network, there is no choice but to trust humans, leaving room for fraud. And although it can be managed to reduce this room, it will entail huge costs, and it is not possible to construct a path for distributing certificates that does not take into account the risk of fraud It was not realistic.

また、更新用の特別な通信経路としては、通常の通信に使用するデジタル証明書及びルート鍵証明書とは別の、更新処理用デジタル証明書及び更新処理用ルート鍵証明書を用いた通信経路を用意することも考えられる。しかしながら、クライアント装置がサーバ装置を認証するシステムの場合、このような手法には問題がある。
すなわち、この場合サーバ装置は、クライアント装置から接続要求があった場合にデジタル証明書をクライアント装置に送信するのであるが、不特定多数のクライアント装置から任意のタイミングで接続要求を受け得るサーバ装置の場合、通常通信用と更新処理用のいずれのデジタル証明書をクライアント装置に送信すればよいかを適切に判断することは困難である。
In addition, as a special communication path for update, a communication path using a digital certificate for update processing and a root key certificate for update processing different from the digital certificate and root key certificate used for normal communication It is also possible to prepare. However, such a method has a problem in a system in which the client device authenticates the server device.
In other words, in this case, the server device transmits a digital certificate to the client device when a connection request is received from the client device, but the server device can receive a connection request at an arbitrary timing from an unspecified number of client devices. In this case, it is difficult to appropriately determine which digital certificate for normal communication or update processing should be transmitted to the client device.

仮に判断しようとすれば、例えば通信要求の際のソースエンドポイントアイデンティファイア、デスティネーションエンドポイントアイデンティファイアやURL(Uniform Resource Locator)のようなセッション識別子を利用して判断することが考えられる。しかしながら、このような判断を行うためには、クライアント装置側に通常通信か更新用通信かに応じてセッション識別子(例えばURL)を切換える機能を設けたり、サーバ装置側にソースエンドポイントアイデンティファイアと送信すべきデジタル証明書との対応関係を管理する機能を設けたりする必要が生じる。そして、このような機能を設けることは、コストアップにつながる。   If a determination is made, for example, it is conceivable to use a session identifier such as a source endpoint identifier, a destination endpoint identifier, or a URL (Uniform Resource Locator) at the time of a communication request. However, in order to make such a determination, the client device side is provided with a function for switching the session identifier (for example, URL) depending on whether it is normal communication or update communication, or the server device side has a source endpoint identifier and It becomes necessary to provide a function for managing the correspondence with the digital certificate to be transmitted. Providing such a function leads to an increase in cost.

従って、サーバ装置に、セッション識別子のような通信開始前の情報に基づいてクライアント装置に送信すべきデジタル証明書を選択する機能を設けることは避けたいという要求があった。また、同じプロトコルを利用して2種の通信経路を設けると、認証が失敗した場合に、それがデジタル証明書の異常によるものか、セッション識別子の誤りによるものかを区別し難いという問題も生じる。
以上のように、ルート鍵更新用の特別な通信経路を設けることは、コストや管理の負担を増すことになるので、このような特別な通信経路を設けることなく、ルート鍵を安全に更新したいという要求があった。
Accordingly, there has been a demand to avoid providing the server device with a function of selecting a digital certificate to be transmitted to the client device based on information before the start of communication such as a session identifier. In addition, when two types of communication paths are provided using the same protocol, there is a problem that when authentication fails, it is difficult to distinguish whether it is due to a digital certificate error or a session identifier error. .
As described above, providing a special communication path for updating the root key increases the cost and burden of management, so it is desirable to update the root key safely without providing such a special communication path. There was a request.

この発明は、このような問題を解決し、クライアント・サーバシステムにおける認証処理でデジタル証明書の正当性を確認するために用いる証明鍵を、更新用の特別な通信経路を設けることなく安全に更新できるようにすることを目的とする。   The present invention solves such problems, and securely updates a certification key used for confirming the validity of a digital certificate in authentication processing in a client / server system without providing a special communication path for updating. The purpose is to be able to.

上記の目的を達成するため、この発明の更新手順決定方法は、上位ノードが下位ノードを従える形式で複数段に亘って構成したクライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を、上記各ノードと通信可能なデジタル証明書管理装置によって更新する際の更新手順を定める更新手順決定方法において、上記デジタル証明書管理装置が、上記クライアント・サーバシステムを構成する各ノードについての、そのノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、上記更新手順を、更新用の新証明鍵及び/又は、その新証明鍵を用いて正当性を確認可能な、対象のノードが上記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定め、その際に、上記各ノードに対する上記送信手順の実行順を作成する手順を実行し、その手順において、まずいずれかのノードを上記実行順に追加し、その後、そのノードから始めて上記クライアント・サーバシステムを構成する各ノードを順次注目ノードとし、その注目ノードの通信相手となるノードであって上記実行順に追加されていないノードが存在する場合、その通信相手のそれぞれについて、上記注目ノードがその通信相手と通信とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその通信相手を上記実行順のうち上記注目ノードよりも後に追加し、サーバであればその通信相手を上記実行順のうち上記注目ノードよりも前に追加するようにしたものである。   In order to achieve the above object, the update procedure determining method according to the present invention stores each node in a client / server system configured in a plurality of stages in a form in which a higher order node follows a lower order node. In the update procedure determining method for determining the update procedure when the certification key used for confirming the validity of the digital certificate used for authentication is updated by the digital certificate management apparatus capable of communicating with each of the nodes, the digital certificate On the basis of information on whether each of the nodes constituting the client / server system functions as a client or a server between the communication partner of the node and the communication partner, Is used for the above authentication by the target node that can confirm the validity using the new certification key for update and / or the new certification key. A new digital certificate for transmission is determined to include a transmission procedure for transmitting simultaneously for each node, and at that time, a procedure for creating an execution order of the transmission procedure for each of the nodes is executed. These nodes are added in the order of execution, and then each node constituting the client / server system starting from that node is set as the node of interest in order, and the node is the communication partner of the node of interest and is added in the order of execution. When there is no node, it is determined for each of the communication partners whether the node of interest functions as a client or a server when communicating with the communication partner. If the server is added after the node of interest in the order, the communication partner is In which it was to be added to the front than the eye node.

また、この発明は、上位ノードが下位ノードを従える形式で複数段に亘って構成したクライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を、上記各ノードと通信可能なデジタル証明書管理装置によって更新する際の更新手順を定める更新手順決定方法において、上記デジタル証明書管理装置が、上記クライアント・サーバシステムを構成する各ノードについての、そのノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、上記更新手順を、更新用の新証明鍵及び/又は、その新証明鍵を用いて正当性を確認可能な、対象のノードが上記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定め、その際に、上記各ノードに対する上記送信手順の実行順を作業リストとして作成する手順を実行し、その手順において、上記作業リストを初期化する手順と、上記クライアント・サーバシステムを構成するノードのうち最上位のノードを注目ノードとすると共に上記作業リストに追加する手順とを実行し、注目ノードになったノードを記憶しておき、その後全てのノードが注目ノードになったと判断するまで以下の手順(1)及び(2)を繰り返すようにした更新手順決定方法も提供する。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストの後端に追加し、サーバであればその下位ノードを上記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードと同順位であってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに、そのようなノードがなければ、上記順位が注目ノードの下位であってまだ注目ノードになっていないいずれかのノードに変更する手順
Further, the present invention stores the validity of a digital certificate used for authentication between each node by storing it in each node of a client / server system configured in a plurality of stages in such a manner that the upper node follows the lower node. In an update procedure determining method for determining an update procedure when a certification key used for confirmation is updated by a digital certificate management apparatus communicable with each of the nodes, the digital certificate management apparatus includes the client / server system. For each of the nodes constituting the node, based on the information on the communication partner of the node and whether the node functions as a client or a server, the above update procedure is performed using a new certification key for update and / or A new digital certificate that can be verified using the new certification key and is used by the target node for the above authentication It is determined to include a transmission procedure that transmits simultaneously, and at that time, a procedure for creating an execution order of the transmission procedure for each of the nodes as a work list is executed, and in the procedure, the procedure for initializing the work list, The top node among the nodes constituting the client / server system is set as the node of interest and the procedure for adding to the work list is executed, and the node that has become the node of interest is stored, and then all nodes are noted. An update procedure determination method is also provided in which the following procedures (1) and (2) are repeated until it is determined that the node has been reached.
(1) When there are subordinate nodes in the node of interest, the rank is set below the node of interest for each of the subordinate nodes, and when the node of interest uses the subordinate node as a communication partner, either the client or the server If it is a client, its lower node is added to the rear end of the work list, and if it is a server, its lower node is added to the front end of the work list. If there is a node that has the same rank as that of the node of interest and has not yet become a node of interest, if there is no such node, the above rank is lower than the node of interest and is still a node of interest To change to one of the nodes

このような更新手順決定方法において、上記デジタル証明書管理装置が、上記手順(1)に代えて、注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストのうち上記注目ノードの直後に追加し、サーバであればその下位ノードを上記作業リストのうち上記注目ノードの直前に追加する手順を実行するようにしてもよい。   In such an update procedure determination method, when the digital certificate management apparatus has a lower node in the node of interest instead of the procedure (1), the rank of each of the lower nodes is subordinate to the node of interest. And determines whether the node of interest functions as a client or a server when the lower node is a communication partner. If it is a client, the lower node is immediately after the node of interest in the work list. If it is a server, a procedure for adding a subordinate node immediately before the node of interest in the work list may be executed.

また、上記デジタル証明書管理装置が、上記手順(1)及び(2)に代えて次の手順(1)及び(2)を繰り返すようにしてもよい。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストの後端に追加し、サーバであればその下位ノードを上記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードの下位ノードであってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに変更し、そのようなノードがなければ、上位に向かってノードを順に辿り、まだ注目ノードになっていない下位ノードを持つノードがあった場合にその下位ノードのいずれかに変更する手順
The digital certificate management apparatus may repeat the following procedures (1) and (2) instead of the procedures (1) and (2).
(1) When there are subordinate nodes in the node of interest, it is determined whether each of the subordinate nodes functions as a client or a server when the node of interest uses the subordinate node as a communication partner. If the server is a server, add the lower node to the rear end of the work list. If it is a server, add the lower node to the front end of the work list. If there is a node that is not a node, change it to one of them, and if there is no such node, follow the nodes in order toward the upper level, and there is a node with a lower level node that has not yet become a target node To change to one of its subordinate nodes in case

さらに、上記デジタル証明書管理装置が、上記手順(1)に代えて、注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストのうち上記注目ノードの直後に追加し、サーバであればその下位ノードを上記作業リストのうち上記注目ノードの直前に追加する手順を実行するようにしてもよい。   Further, when the digital certificate management apparatus has a lower node in the node of interest instead of the procedure (1), when the node of interest uses the lower node as a communication partner for each of the lower nodes. If it is a client, its lower node is added immediately after the node of interest in the work list, and if it is a server, its lower node is added to the attention node of the work list. You may make it perform the procedure added just before a node.

また、上記の更新手順決定方法において、上記デジタル証明書管理装置が、上記注目ノードの変更先を定めるための注目点リストを作成し、上記作業リストを初期化する手順において上記注目点リストも初期化し、上記手順(2)において、上記注目ノードに下位ノードがある場合にはその注目ノードを上記注目点リストの後端に追加し、その後、上記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ上記注目点リストの前端のノードをその注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか上記注目点リストが空になるまで繰り返し、上記注目点リストが空になった場合に全てのノードが注目ノードになったと判断するようにしてもよい。   In the update procedure determination method, the digital certificate management apparatus creates a point of interest list for determining a change destination of the node of interest, and the point-of-interest list is also initialized in a procedure for initializing the work list. In the step (2), if there is a lower node in the target node, the target node is added to the rear end of the target point list. If there is a node that is not the node of interest, change the node of interest to that node, and if not, whether or not the new node of interest is determined by the node-of-interest change procedure for deleting the node at the front end of the above point of interest list from the node of interest Repeat until the point of interest list is empty, and if the point of interest list is empty, determine that all nodes have become nodes of interest It may be.

あるいは、上記デジタル証明書管理装置が、上記注目ノードの変更先を定めるための注目点リストを作成し、上記作業リストを初期化する手順において上記注目点リストも初期化し、上記手順(2)において、上記注目ノードに下位ノードがある場合にはその注目ノードを上記注目点リストの前端に追加し、その後、上記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ上記注目点リストの前端のノードをその注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか上記注目点リストが空になるまで繰り返し、上記注目点リストが空になった場合に全てのノードが注目ノードになったと判断するようにしてもよい。   Alternatively, the digital certificate management apparatus creates a point-of-interest list for determining the change destination of the node of interest, initializes the point-of-interest list in the procedure for initializing the work list, and in step (2) If there is a subordinate node in the target node, the target node is added to the front end of the target point list, and then there is a node that has not yet become a target node in the lower node of the front end node of the target point list. Change the attention node to that node, and if not, change the attention node change procedure to delete the node at the front end of the attention point list from the attention point list until a new attention node is determined or the attention point list becomes empty Repeatedly, when the attention point list becomes empty, it may be determined that all nodes have become attention nodes.

さらに、上記注目ノード変更手順において、上記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードが1つであった場合には、注目ノードをそのノードに変更する際に、上記注目点リストの前端のノードを上記注目点リストから削除するようにしてもよい。
さらにまた、上記の各更新手順決定方法において、上記各ノードの間の上記認証を、SSL又はTLSのプロトコルに従った認証とし、上記デジタル証明書をそれぞれ上記各ノードの公開鍵証明書とするとよい。
Furthermore, in the node-of-interest changing procedure, if there is one node that has not yet become a node of interest among the lower nodes of the node at the front end of the point-of-interest list, when changing the node of interest to that node, The node at the front end of the attention point list may be deleted from the attention point list.
Furthermore, in each of the update procedure determination methods, the authentication between the nodes may be authentication according to an SSL or TLS protocol, and the digital certificate may be a public key certificate of each node. .

また、この発明のプログラムは、上位ノードが下位ノードを従える形式で複数段に亘って構成されるクライアント・サーバシステムの各ノードと通信可能なデジタル証明書管理装置を制御するコンピュータに、上記クライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を更新する機能を実現させるためのプログラムにおいて、上記コンピュータに、上記クライアント・サーバシステムを構成する各ノードについての、そのノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、上記更新手順を、更新用の新証明鍵及び/又は、その新証明鍵を用いて正当性を確認可能な、対象のノードが上記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定める機能を実現させ、上記更新手順を定める際に、上記各ノードに対する上記送信手順の実行順を成する手順を実行させ、その手順において、まずいずれかのノードを上記実行順に追加し、その後、そのノードから始めて上記クライアント・サーバシステムを構成する各ノードを順次注目ノードとし、その注目ノードの通信相手となるノードであって上記実行順に追加されていないノードが存在する場合、その通信相手のそれぞれについて、上記注目ノードがその通信相手と通信とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその通信相手を上記実行順のうち上記注目ノードよりも後に追加し、サーバであればその通信相手を上記実行順のうち上記注目ノードよりも前に追加する手順を実行させるためのプログラムである。   Further, the program of the present invention provides a computer that controls a digital certificate management apparatus capable of communicating with each node of a client / server system configured in a plurality of stages in such a manner that an upper node follows a lower node. In a program for realizing a function of updating a certification key used for checking the validity of a digital certificate used for authentication between each node stored in each node of the server system, For each node that constitutes a client / server system, the above update procedure is changed to a new one for update based on the communication partner of the node and whether the node functions as a client or a server. The target node that can confirm the validity using the certification key and / or the new certification key is A procedure for realizing a function for defining a new digital certificate to be used for each node to include a transmission procedure for transmitting simultaneously for each node, and for determining the update procedure, forming a sequence for executing the transmission procedure for each node In that procedure, first, add any node in the above execution order, then start from that node and make each node that constitutes the above-mentioned client / server system one by one as the node of interest and become the communication partner of the node of interest When there is a node that is not added in the execution order, it is determined for each of the communication partners whether the node of interest functions as a client or a server when communicating with the communication partner, If it is a client, the communication partner is added after the node of interest in the execution order, and the server The communication partner is a program for executing the steps to add before the target node among the execution order if Re.

また、この発明は、上位ノードが下位ノードを従える形式で複数段に亘って構成されるクライアント・サーバシステムの各ノードと通信可能なデジタル証明書管理装置を制御するコンピュータに、上記クライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を更新する機能を実現させるためのプログラムであって、上記コンピュータに、上記クライアント・サーバシステムを構成する各ノードについての、そのノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、上記更新手順を、更新用の新証明鍵及び/又は、その新証明鍵を用いて正当性を確認可能な、対象のノードが上記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定める機能を実現させ、上記更新手順を定める際に、上記各ノードに対する上記送信手順の実行順を作業リストとして作成する手順を実行させ、その手順において、上記作業リストを初期化する手順と、上記クライアント・サーバシステムを構成するノードのうち最上位のノードを注目ノードとすると共に上記作業リストに追加する手順とを実行させ、さらに、注目ノードになったノードを記憶しておき、その後全てのノードが注目ノードになったと判断するまで以下の手順(1)及び(2)を繰り返し実行させるためのプログラムも提供する。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストの後端に追加し、サーバであればその下位ノードを上記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードと同順位であってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに、そのようなノードがなければ、上記順位が注目ノードの下位であってまだ注目ノードになっていないいずれかのノードに変更する手順
In addition, the present invention provides a computer that controls a digital certificate management apparatus capable of communicating with each node of a client / server system configured in a plurality of stages in such a manner that an upper node follows a lower node. Is stored in each node, and a program for realizing a function of updating a certification key used for confirming the validity of a digital certificate used for authentication between the nodes, and For each node that constitutes a client / server system, the above update procedure is changed to a new one for update based on the communication partner of the node and whether the node functions as a client or a server. Used for the above authentication by the target node that can confirm the validity using the certification key and / or the new certification key Of creating a new digital certificate for each node at the same time so as to include a transmission procedure for simultaneously transmitting each node, and creating an execution order of the transmission procedure for each node when determining the update procedure In the procedure, the procedure for initializing the work list and the procedure for setting the highest node among the nodes constituting the client / server system as the target node and adding to the work list are executed. Further, a program for storing the node that has become the attention node and repeatedly executing the following procedures (1) and (2) until it is determined that all the nodes have become the attention node is provided.
(1) When there are subordinate nodes in the node of interest, the rank is set below the node of interest for each of the subordinate nodes, and when the node of interest uses the subordinate node as a communication partner, either the client or the server If it is a client, its lower node is added to the rear end of the work list, and if it is a server, its lower node is added to the front end of the work list. If there is a node that has the same rank as that of the node of interest and has not yet become a node of interest, if there is no such node, the above rank is lower than the node of interest and is still a node of interest To change to one of the nodes

このようなプログラムにおいて、上記コンピュータに、上記手順(1)に代えて、注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストのうち上記注目ノードの直後に追加し、サーバであればその下位ノードを上記作業リストのうち上記注目ノードの直前に追加する手順を実行させるようにしてもよい。   In such a program, instead of the procedure (1) in the computer, when there are subordinate nodes in the node of interest, the rank is set below the node of interest for each of the subordinate nodes, and the node of interest Determines whether it functions as a client or a server when its lower node is a communication partner. If it is a client, the lower node is added immediately after the node of interest in the work list. You may make it perform the procedure which adds the subordinate node just before the said attention node in the said work list | wrist.

あるいは、上記コンピュータに、上記手順(1)及び(2)に代えて以下の手順(1)及び(2)を繰り返し実行させるようにしてもよい。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストの後端に追加し、サーバであればその下位ノードを上記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードの下位ノードであってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに変更し、そのようなノードがなければ、上位に向かってノードを順に辿り、まだ注目ノードになっていない下位ノードを持つノードがあった場合にその下位ノードのいずれかに変更する手順
Alternatively, the computer may be caused to repeatedly execute the following procedures (1) and (2) instead of the procedures (1) and (2).
(1) When there are subordinate nodes in the node of interest, it is determined whether each of the subordinate nodes functions as a client or a server when the node of interest uses the subordinate node as a communication partner. If the server is a server, add the lower node to the rear end of the work list. If it is a server, add the lower node to the front end of the work list. If there is a node that is not a node, change it to one of them, and if there is no such node, follow the nodes in order toward the upper level, and there is a node with a lower level node that has not yet become a target node To change to one of its subordinate nodes in case

さらに、上記コンピュータに、上記手順(1)に代えて、注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、上記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを上記作業リストのうち上記注目ノードの直後に追加し、サーバであればその下位ノードを上記作業リストのうち上記注目ノードの直前に追加する手順を実行させるようにしてもよい。   Further, if there is a lower node in the target node instead of the procedure (1) in the computer, for each lower node, when the target node makes the lower node a communication partner, the client and server If it is a client, its lower node is added immediately after the node of interest in the work list, and if it is a server, its lower node is added immediately before the node of interest in the work list. You may make it perform the procedure to add.

また、上記のプログラムにおいて、上記コンピュータに、上記注目ノードの変更先を定めるための注目点リストを作成する機能を実現させ、上記作業リストを初期化する手順において上記注目点リストも初期化させ、上記手順(2)において、上記注目ノードに下位ノードがある場合にはその注目ノードを上記注目点リストの後端に追加させ、その後、上記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ上記注目点リストの前端のノードをその注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか上記注目点リストが空になるまで繰り返させ、上記注目点リストが空になった場合に全てのノードが注目ノードになったと判断させるためのプログラムをさらに含めるようにしてもよい。   Further, in the above program, the computer realizes a function of creating a point of interest list for determining a change destination of the node of interest, and initializes the point of interest list in a procedure for initializing the work list, In step (2), if there is a lower node in the node of interest, the node of interest is added to the rear end of the point of interest list, and then the node of interest is still a lower node of the node at the front end of the point of interest list. If there is a node that is not, the attention node is changed to that node, and if not, the attention node changing procedure for deleting the node at the front end of the attention point list from the attention point list is performed. Repeat until the list of points is empty, and when the list of points of interest is empty, it is determined that all nodes have become nodes of interest. It may further include the order of the program.

あるいは、上記コンピュータに、上記注目ノードの変更先を定めるための注目点リストを作成する機能を実現させ、上記作業リストを初期化する手順において上記注目点リストも初期化させ、上記手順(2)において、上記注目ノードに下位ノードがある場合にはその注目ノードを上記注目点リストの前端に追加させ、その後、上記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ上記注目点リストの前端のノードをその注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか上記注目点リストが空になるまで繰り返させ、上記注目点リストが空になった場合に全てのノードが注目ノードになったと判断させるためのプログラムをさらに含めるようにしてもよい。   Alternatively, the computer realizes a function of creating a point of interest list for determining a change destination of the node of interest, and initializes the point of interest list in the procedure of initializing the work list, and the procedure (2) In the case where there is a lower node in the target node, the target node is added to the front end of the target point list, and then a node that is not a target node among the lower nodes of the front end node of the target point list is If there is a new attention node, the attention node list is emptied by changing the attention node changing procedure to change the attention node to that node if there is, or to delete the node at the front end of the attention point list from the attention point list. Until the above list of attention points is empty, and a program for determining that all nodes have become attention nodes It may be included in La.

さらに、上記の各プログラムにおいて、上記認証を、SSL又はTLSのプロトコルに従った認証とし、上記デジタル証明書をそれぞれ上記各ノードの公開鍵証明書としてもよい。   Further, in each of the above programs, the authentication may be authentication according to an SSL or TLS protocol, and the digital certificate may be a public key certificate of each node.

また、この発明のデジタル証明書管理システムは、上位ノードが下位ノードを従える形式で複数段に亘って構成され、各ノード間でデジタル証明書を用いて認証を行うようにしたクライアント・サーバシステムに、上記各ノードと通信可能なデジタル証明書管理装置を接続したデジタル証明書管理システムにおいて、上記デジタル証明書管理装置に、上記各ノードが上記認証に使用する上記デジタル証明書の正当性を確認するための証明鍵を更新する証明鍵更新手段と、上記クライアント・サーバシステムを構成する各ノードについて、そのノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、上記証明鍵更新手段による証明鍵の更新手順を制御する更新順制御手段とを設け、その証明鍵更新手段に、更新用の新証明鍵を取得する手段と、その新証明鍵を用いて正当性を確認可能な、上記認証に使用するための新デジタル証明書を取得する手段と、上記各ノードのための新デジタル証明書及び/又は上記新証明鍵をそれぞれ対応するノードに送信する送信手段とを設け、上記更新順制御手段を、上記のいずれかの更新手順決定方法を用いて定めた更新手順に従って上記制御を行う手段としたものである。   The digital certificate management system according to the present invention is a client / server system that is configured in a plurality of stages so that an upper node follows a lower node, and performs authentication using a digital certificate between the nodes. In the digital certificate management system in which a digital certificate management device communicable with each node is connected, the digital certificate management device confirms the validity of the digital certificate used by each node for the authentication. Information about whether to function as a client or a server between the communication partner of the node and the communication partner of each node constituting the client / server system. Based on the above, update order control means for controlling the certification key update procedure by the certification key update means is provided. Means for obtaining a new certification key for updating in the key updating means, means for obtaining a new digital certificate for use in the authentication, the validity of which can be confirmed using the new certification key, A transmission means for transmitting the new digital certificate for the node and / or the new certification key to the corresponding node, and the update order control means is determined using any one of the update procedure determination methods described above It is a means for performing the control according to the update procedure.

また、この発明のデジタル証明書管理装置は、上位ノードが下位ノードを従える形式で複数段に亘って構成され、各ノード間でデジタル証明書を用いて認証を行うようにしたクライアント・サーバシステムを構成する各ノードと通信可能なデジタル証明書管理装置において、上記各ノードが上記認証に使用する上記デジタル証明書の正当性を確認するための証明鍵を更新する証明鍵更新手段と、上記クライアント・サーバシステムを構成する各ノードについて、そのノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、上記証明鍵更新手段による証明鍵の更新手順を制御する更新順制御手段とを設け、その証明鍵更新手段に、更新用の新証明鍵を取得する手段と、その新証明鍵を用いて正当性を確認可能な、上記認証に使用するための新デジタル証明書を取得する手段と、上記各ノードのための新デジタル証明書及び/又は上記新証明鍵をそれぞれ対応するノードに送信する送信手段とを設け、上記更新順制御手段を、上記のいずれかの更新手順決定方法を用いて定めた更新手順に従って上記制御を行う手段としたものである。   The digital certificate management apparatus according to the present invention comprises a client / server system configured in a plurality of stages in such a manner that an upper node follows a lower node, and performs authentication using a digital certificate between the nodes. In a digital certificate management apparatus communicable with each node constituting, a certification key update means for updating a certification key for confirming the validity of the digital certificate used by each node for the authentication, and the client For each node constituting the server system, the certification key update procedure by the certification key update means is performed based on the communication partner of the node and whether the node functions as a client or a server. An update order control means for controlling is provided, and a means for acquiring a new certification key for updating and a new certification key are used as the certification key updating means. Means for obtaining a new digital certificate for use in the authentication that can be verified, and transmission for transmitting the new digital certificate and / or the new certification key for each of the nodes to a corresponding node. And the update order control means is a means for performing the control according to an update procedure determined using any one of the update procedure determination methods described above.

以上のようなこの発明の更新手順決定方法によれば、クライアント・サーバシステムにおける認証処理でデジタル証明書の正当性を確認するために用いる証明鍵を更新するための更新処理の適切な手順を決定できるので、適当な更新装置にこの手順に従って更新処理を行わせることにより、上記の証明鍵を、更新用の特別な通信経路を設けることなく安全に更新できるようにすることができる。
また、この発明のデジタル証明書管理システム及びデジタル証明書管理装置によれば、上記のような証明鍵の更新を、適切な手順で実行することができるので、上記と同様な効果を得ることができる。
また、この発明のプログラムによれば、コンピュータにデジタル証明書管理装置を制御させてこのようなデジタル証明書管理装置の特徴を実現し、同様な効果を得ることができる。
According to the update procedure determination method of the present invention as described above, an appropriate procedure of update processing for updating the certification key used for confirming the validity of the digital certificate in the authentication processing in the client / server system is determined. Therefore, by causing an appropriate update device to perform the update process according to this procedure, the certification key can be updated safely without providing a special communication path for update.
In addition, according to the digital certificate management system and the digital certificate management apparatus of the present invention, the certification key can be updated as described above in an appropriate procedure, so that the same effect as described above can be obtained. it can.
Further, according to the program of the present invention, the digital certificate management apparatus can be controlled by a computer to realize the characteristics of such a digital certificate management apparatus, and the same effect can be obtained.

以下、この発明の好ましい実施の形態を図面を参照して説明する。
〔第1の実施形態:図1乃至図9〕
まず、この発明によるデジタル証明書管理装置である証明書管理装置と、クライアント・サーバシステムを構成するクライアント及びサーバによって構成される、この発明のデジタル証明書管理システムの第1の実施形態の構成について説明する。この実施形態においては、各1つのクライアント及びサーバによってクライアント・サーバシステムを構成しており、この実施形態は、この発明を最も基本的なシステムに適用した例である。図2に、このデジタル証明書管理システムを構成する各装置の、この実施形態の特徴となる部分の機能構成を示す機能ブロック図を示す。図2において、この実施形態の特徴と関連しない部分の図示は省略している。
Preferred embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment: FIGS. 1 to 9]
First, a configuration of a first embodiment of a digital certificate management system according to the present invention, which is constituted by a certificate management device which is a digital certificate management device according to the present invention, and a client and a server constituting a client / server system. explain. In this embodiment, each client and server constitutes a client / server system, and this embodiment is an example in which the present invention is applied to the most basic system. FIG. 2 is a functional block diagram showing a functional configuration of a part that is a feature of this embodiment of each apparatus constituting the digital certificate management system. In FIG. 2, illustration of portions not related to the features of this embodiment is omitted.

図2に示すように、このデジタル証明書管理システムは、証明書管理装置10,サーバ装置30,クライアント装置40によって構成される。
そして、クライアント装置(クライアント)40及びサーバ装置(サーバ)30は、公開鍵暗号とデジタル証明書を用いる認証方式であるSSLによる認証処理によって互いを正当な通信相手として認証した場合に、互いに通信を確立させるようにしている。この認証が、互いが互いを認証する相互認証でも一方が他方を認証する片方向認証であってもよいことは、後述する通りである。そして、クライアント装置40が送信した要求に対し、サーバ装置30が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。証明書管理装置10は、その認証処理に用いるデジタル証明書を発行し、またそのデジタル証明書の管理や更新等を行うための装置であり、CAに相当する。
As shown in FIG. 2, the digital certificate management system includes a certificate management device 10, a server device 30, and a client device 40.
When the client device (client) 40 and the server device (server) 30 authenticate each other as a valid communication partner by an authentication process using SSL, which is an authentication method using public key cryptography and a digital certificate, they communicate with each other. I try to establish it. As described later, this authentication may be mutual authentication in which each other authenticates each other or one-way authentication in which one authenticates the other. In response to the request transmitted by the client device 40, the server device 30 performs a necessary process and returns a response, thereby functioning as a client / server system. The certificate management apparatus 10 is an apparatus for issuing a digital certificate used for the authentication process and managing or updating the digital certificate, and corresponds to a CA.

なお、実際のシステムにおいては、サーバ装置30がクライアントの機能を併せ持ったり、クライアント装置40がサーバの機能を併せ持ったりすることも考えられる。そして、サーバ装置30がクライアントとして機能して、サーバとして機能するクライアント装置40に要求を送信することもありうるが、このような場合には、後述する変形例に準ずる動作を行うようにすればよい。従って、ここでは後述するルート鍵更新処理においてサーバとして機能する装置をサーバ装置、クライアントとして機能する装置をクライアント装置と呼ぶものとする。   In an actual system, the server device 30 may have a client function, or the client device 40 may have a server function. The server device 30 may function as a client and transmit a request to the client device 40 functioning as a server. In such a case, if an operation according to a modified example described later is performed, Good. Therefore, here, a device functioning as a server in a root key update process described later is referred to as a server device, and a device functioning as a client is referred to as a client device.

このようなデジタル証明書管理システムにおいて、上述のクライアント装置40からサーバ装置30への送信も含め、証明書管理装置10,サーバ装置30,クライアント装置40の各ノードは、RPC(remote procedure call)により、相互の実装するアプリケーションプログラムのメソッドに対する処理の依頼である「要求」を送信し、この依頼された処理の結果である「応答」を取得することができるようになっている。   In such a digital certificate management system, each node of the certificate management device 10, the server device 30, and the client device 40, including transmission from the client device 40 to the server device 30, is performed by RPC (remote procedure call). In addition, a “request” that is a request for a process for a method of an application program to be mounted on each other can be transmitted, and a “response” that is a result of the requested process can be acquired.

すなわち、サーバ装置30又はクライアント装置40では、証明書管理装置10への要求を生成してこれを証明書管理装置10へ引き渡し、この要求に対する応答を取得できる一方で、証明書管理装置10は、クライアント・サーバシステム側への要求を生成してこれをサーバ装置30へ引き渡し、この要求に対する応答を取得できるようになっている。この要求には、サーバ装置30にクライアント装置40に対して各種要求を送信させ、クライアント装置40からの応答をサーバ装置30を介して取得することも含まれる。
なお、RPCを実現するために、SOAP(Simple Object Access Protocol),HTTP(Hyper Text Transfer Protocol),FTP(File Transfer Protocol),COM(Component Object Model),CORBA(Common Object Request Broker Architecture)等の既知のプロトコル(通信規格),技術,仕様などを利用することができる。
That is, the server device 30 or the client device 40 can generate a request to the certificate management device 10 and deliver it to the certificate management device 10 to obtain a response to the request. A request to the client / server system side is generated and delivered to the server device 30 to obtain a response to the request. This request includes causing the server device 30 to transmit various requests to the client device 40 and obtaining a response from the client device 40 via the server device 30.
In order to realize RPC, SOAP (Simple Object Access Protocol), HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), COM (Component Object Model), CORBA (Common Object Request Broker Architecture), etc. are known. Protocols (communication standards), technology, specifications, etc. can be used.

この送受信のデータ送受モデルを図3の概念図に示す。
(A)は、証明書管理装置10でクライアント装置40に対する要求が発生したケースである。このケースでは、証明書管理装置10が管理装置側要求aを生成し、これをサーバ装置30を経由して受け取ったクライアント装置40がこの要求に対する応答aを返すというモデルになる。なお、(A)では、応答aだけでなく応答遅延通知a′を返信するケースが表記されている。これは、クライアント装置40が、サーバ装置30を経由して管理装置側要求aを受け取って、当該要求に対する応答を即座に返せないと判断したときには、応答遅延通知を通知して一旦接続状態を切断し、次回の接続の際に上記要求に対する応答を改めて引き渡す構成としているためである。
なおここでは、サーバ装置30からクライアント装置40に対して通信を要求することはできないので、サーバ装置30からクライアント装置40に対して送信すべき要求は、クライアント装置40からサーバ装置30に対して接続要求があった場合に、これに対する応答として送信することになる。
The transmission / reception data transmission / reception model is shown in the conceptual diagram of FIG.
(A) is a case where a request for the client device 40 has occurred in the certificate management device 10. In this case, the certificate management apparatus 10 generates a management apparatus side request a, and the client apparatus 40 that receives the request via the server apparatus 30 returns a response a to the request. Note that (A) shows a case in which not only the response a but also a response delay notification a ′ is returned. When the client device 40 receives the management device side request a via the server device 30 and determines that the response to the request cannot be returned immediately, it notifies the response delay notification and temporarily disconnects the connection state. This is because the response to the request is delivered again at the next connection.
Here, since the server device 30 cannot request the client device 40 to communicate, a request to be transmitted from the server device 30 to the client device 40 is connected from the client device 40 to the server device 30. If there is a request, it will be sent as a response to this.

(B)は、クライアント装置40で証明書管理装置10に対する要求が発生したケースである。このケースでは、クライアント装置40がクライアント装置側要求bを生成し、これをサーバ装置30を経由して受け取った証明書管理装置10が、当該要求に対する応答bを返すというモデルになっている。なお、(B)のケースでも、応答を即座に返せないときに応答遅延通知b′を返すことは(A)のケースと同様である。   (B) is a case where a request for the certificate management apparatus 10 has occurred in the client apparatus 40. In this case, the client device 40 generates a client device side request b, and the certificate management device 10 that has received the request b via the server device 30 returns a response b to the request. Even in the case of (B), the response delay notification b ′ is returned in the same manner as in the case of (A) when the response cannot be returned immediately.

次に、このデジタル証明書管理システムを構成する各装置の構成と機能についてより詳細に説明する。
図1は、図2に示した証明書管理装置のハードウェア構成を示すブロック図である。この図に示す通り、証明書管理装置10は、CPU11,ROM12,RAM13,HDD14,通信インタフェース(I/F)15を備え、これらがシステムバス16によって接続されている。そして、CPU11がROM12やHDD14に記憶している各種制御プログラムを実行することによってこの証明書管理装置10の動作を制御し、後述するようにこの発明に係る各手段(証明鍵更新手段,更新順制御手段,送信手段,その他の手段)として機能させる。
なお、証明書管理装置10のハードウェアとしては、適宜公知のコンピュータを採用することができる。もちろん、必要に応じて他のハードウェアを付加してもよい。
Next, the configuration and function of each device constituting the digital certificate management system will be described in more detail.
FIG. 1 is a block diagram showing a hardware configuration of the certificate management apparatus shown in FIG. As shown in this figure, the certificate management apparatus 10 includes a CPU 11, a ROM 12, a RAM 13, an HDD 14, and a communication interface (I / F) 15, which are connected by a system bus 16. Then, the CPU 11 controls the operation of the certificate management apparatus 10 by executing various control programs stored in the ROM 12 and the HDD 14, and as will be described later, each means (certification key update means, update order) according to the present invention. Control means, transmission means, and other means).
As hardware of the certificate management apparatus 10, a known computer can be adopted as appropriate. Of course, other hardware may be added as necessary.

クライアント・サーバシステムを構成するクライアント装置及びサーバ装置については、装置の遠隔管理,電子商取引等の目的に応じて種々の構成をとることができる。例えば、遠隔管理の場合には、プリンタ,FAX装置,コピー機,スキャナ,デジタル複合機等の画像処理装置を始め、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等の電子装置を被管理装置であるサーバ装置とし、これらの被管理装置から情報を収集したり、コマンドを送って動作させたりするための管理装置をクライアント装置とすることが考えられる。   The client device and the server device constituting the client / server system can have various configurations depending on purposes such as remote management of the device and electronic commerce. For example, in the case of remote management, image processing devices such as printers, fax machines, copiers, scanners, digital multifunction devices, network home appliances, vending machines, medical equipment, power supply devices, air conditioning systems, gas / water / An electronic device such as an electric metering system, an automobile, or an aircraft is a server device that is a managed device, and a client device is a management device that collects information from these managed devices or sends commands to operate. It can be considered.

しかし、クライアント装置及びサーバ装置は、少なくともそれぞれCPU,ROM,RAM,ネットワークを介して外部装置と通信するための通信I/F、および認証処理に必要な情報を記憶する記憶手段を備え、CPUがROM等に記憶した所要の制御プログラムを実行することにより、装置をクライアントあるいはサーバとして機能させることができるものとする。
なお、この通信には、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を採用することができる。証明書管理装置10との間の通信についても同様である。
However, each of the client device and the server device includes at least a CPU, a ROM, a RAM, a communication I / F for communicating with an external device via a network, and storage means for storing information necessary for authentication processing. It is assumed that the device can function as a client or a server by executing a required control program stored in a ROM or the like.
Note that various communication lines (communication paths) capable of constructing a network can be adopted for this communication regardless of wired or wireless. The same applies to communication with the certificate management apparatus 10.

図2には、上述のように、各装置のこの実施形態の特徴となる部分の機能構成を示している。
まず、証明書管理装置10は、証明用鍵作成部21,証明書発行部22,証明書管理部23,証明書更新部24,通信機能部25,構成記憶部26,更新順制御部27を備えている。
証明用鍵作成部21は、デジタル署名の作成に用いる証明用私有鍵であるルート私有鍵と、そのデジタル証明書の正当性を確認するための、ルート私有鍵と対応する証明用公開鍵(証明鍵)であるルート鍵とを作成する証明用鍵作成手段の機能を有する。
As described above, FIG. 2 shows the functional configuration of the part of each embodiment that is a feature of this embodiment.
First, the certificate management apparatus 10 includes a certification key creation unit 21, a certificate issuance unit 22, a certificate management unit 23, a certificate update unit 24, a communication function unit 25, a configuration storage unit 26, and an update order control unit 27. I have.
The certification key creation unit 21 has a root private key, which is a private key for certification used for creating a digital signature, and a certification public key (certification corresponding to the root private key for confirming the validity of the digital certificate). It has a function of a certification key creation means for creating a root key that is a key.

証明書発行部22は、サーバ装置30とクライアント装置40との間の認証処理に用いる認証情報であるクライアント公開鍵およびサーバ公開鍵にデジタル署名を付して、デジタル証明書であるクライアント公開鍵証明書およびサーバ公開鍵証明書として発行する証明書発行手段の機能を有する。また、クライアント公開鍵,クライアント私有鍵,サーバ公開鍵,サーバ私有鍵の作成及び、ルート鍵にデジタル署名を付したデジタル証明書であるルート鍵証明書の作成も、この証明書発行部22の機能である。
証明書管理部23は、証明書発行部22が発行したデジタル証明書、その作成に用いたルート私有鍵、およびそのルート私有鍵と対応するルート鍵を管理する証明書管理手段の機能を有する。そして、これらの証明書や鍵を、その有効期限や発行先、ID、更新の有無等の情報と共に記憶する。
The certificate issuing unit 22 attaches a digital signature to the client public key and server public key, which are authentication information used for authentication processing between the server device 30 and the client device 40, and is a client public key certificate that is a digital certificate. Certificate issuing means for issuing a certificate and a server public key certificate. The function of the certificate issuing unit 22 is also used to create a client public key, a client private key, a server public key, a server private key, and a root key certificate that is a digital certificate with a digital signature attached to the root key. It is.
The certificate management unit 23 has a function of a certificate management unit that manages the digital certificate issued by the certificate issuing unit 22, the root private key used to create the certificate, and the root key corresponding to the root private key. These certificates and keys are stored together with information such as the expiration date, issue destination, ID, and presence / absence of update.

証明書更新部24は、ルート鍵の更新を行う場合に、有効なルート私有鍵の各々について、新たなルート私有鍵(新ルート私有鍵)及びこれと対応する新たなルート鍵(新ルート鍵)を証明用鍵作成部21に作成させ、これらを更新する証明用鍵更新手段の機能を有する。さらに、この更新に当たって、証明書発行部22に新ルート私有鍵を用いてデジタル署名を付した新たなクライアント公開鍵証明書(新クライアント公開鍵証明書)、新たなサーバ公開鍵証明書(新サーバ公開鍵証明書)及び新たなルート鍵証明書(新ルート鍵証明書)を発行させ、通信機能部25によってこれらをサーバ装置30及びクライアント装置40に送信させ、サーバ装置30及びクライアント装置40にこれらの更新を要求させる機能も有する。また、詳細は後述するが、更新に必要な各処理の手順や進捗状況の管理は、更新順制御部27が行う。   When updating the root key, the certificate updating unit 24 creates a new root private key (new root private key) and a corresponding new root key (new root key) for each valid root private key. Are created by the certification key creation unit 21 and have a function of certification key update means for updating them. Further, upon this update, a new client public key certificate (new client public key certificate) digitally signed using a new root private key to the certificate issuing unit 22, a new server public key certificate (new server) Public key certificate) and a new root key certificate (new root key certificate) are issued, and these are transmitted to the server device 30 and the client device 40 by the communication function unit 25. It also has a function for requesting an update of. Although details will be described later, the update order control unit 27 manages the procedures and progress of each process necessary for the update.

通信機能部25は、ネットワークを介して外部装置と通信する機能を有し、証明書更新部24の指示に応じて必要なデータをサーバ装置30及びクライアント装置40に送信したり、受信したデータを証明書更新部24に渡したりする。
構成記憶部26は、証明書管理装置10がデジタル証明書の管理を行う対象であるクライアント・サーバシステムを構成する各ノード(ここではサーバ装置30及びクライアント装置40)について、少なくとも該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報を記憶し、構成記憶手段の機能を有する。ここではさらに、各ノードが相互認証に使用する私有鍵、公開鍵証明書、およびルート鍵証明書のID及び、鍵や証明書の更新状態に関する情報も記憶するものとする。
The communication function unit 25 has a function of communicating with an external device via a network, and transmits necessary data to the server device 30 and the client device 40 according to an instruction from the certificate update unit 24, and receives received data. To the certificate renewal unit 24.
The configuration storage unit 26 has at least communication partners of the nodes (here, the server device 30 and the client device 40) constituting the client / server system that is the object of which the certificate management device 10 manages digital certificates. And information on whether to function as a client or a server with the communication partner, and has a function of a configuration storage means. Here, it is also assumed that private nodes, public key certificates, and root key certificate IDs used by each node for mutual authentication, and information on the update status of the keys and certificates are also stored.

更新順制御部27は、ルート鍵の更新の必要が生じた場合に、構成記憶部26に記憶している情報をもとに、証明書更新部24による鍵や証明書の更新手順を定め、証明書更新部24に更新動作を行わせると共にこれを制御する更新順制御手段として機能する。
そして、これらの各部の機能は、図1に示したCPU11が所要の制御プログラムを実行して証明書管理装置10の各部の動作を制御することにより実現される。
The update order control unit 27 determines a key or certificate update procedure by the certificate update unit 24 based on the information stored in the configuration storage unit 26 when the root key needs to be updated. The certificate update unit 24 performs an update operation and functions as an update order control unit that controls the update operation.
The functions of these units are realized by the CPU 11 shown in FIG. 1 executing a required control program and controlling the operations of the units of the certificate management apparatus 10.

一方、サーバ装置30は、証明書記憶部31,通信機能部32,サーバ機能部33を備えている。
証明書記憶部31は、SSLによる認証処理に用いる鍵を記憶する機能を有し、例えば相互認証を行う場合には、ルート鍵証明書、サーバ私有鍵、およびサーバ公開鍵証明書を記憶する。
通信機能部32は、ネットワークを介して外部装置と通信する機能を有し、受信したデータをサーバ機能部33に渡し、またサーバ機能部33の指示に従ってデータを外部装置に送信する。
On the other hand, the server device 30 includes a certificate storage unit 31, a communication function unit 32, and a server function unit 33.
The certificate storage unit 31 has a function of storing keys used for SSL authentication processing. For example, when performing mutual authentication, the certificate storage unit 31 stores a root key certificate, a server private key, and a server public key certificate.
The communication function unit 32 has a function of communicating with an external device via a network, passes received data to the server function unit 33, and transmits data to the external device in accordance with an instruction from the server function unit 33.

サーバ機能部33は、クライアント装置40から受信した要求に対して所要の処理を行って応答を返すサーバとしての機能を有する。また、以下に詳述するが、証明書管理装置10から受信した証明書更新等の要求に対しても、所要の処理を行って応答を返す。
そして、これらの各部の機能は、サーバ装置30のCPUが所要の制御プログラムを実行してサーバ装置30の各部の動作を制御することにより実現される。
The server function unit 33 has a function as a server that performs a required process on the request received from the client device 40 and returns a response. Further, as will be described in detail below, in response to a request for certificate update or the like received from the certificate management apparatus 10, a required process is performed and a response is returned.
The functions of these units are realized by the CPU of the server device 30 executing a required control program and controlling the operations of the units of the server device 30.

また、クライアント装置40は、証明書記憶部41,通信機能部42,クライアント機能部43を備えている。
証明書記憶部41は、SSLによる認証処理に用いる鍵を記憶する機能を有し、例えば相互認証を行う場合には、ルート鍵証明書、クライアント私有鍵、およびクライアント公開鍵証明書を記憶する。
通信機能部42は、ネットワークを介して外部装置と通信する機能を有し、受信したデータをクライアント機能部43に渡し、またクライアント機能部43の指示に従ってデータを外部装置に送信する。
The client device 40 includes a certificate storage unit 41, a communication function unit 42, and a client function unit 43.
The certificate storage unit 41 has a function of storing keys used for SSL authentication processing. For example, when performing mutual authentication, the certificate storage unit 41 stores a root key certificate, a client private key, and a client public key certificate.
The communication function unit 42 has a function of communicating with an external device via a network, passes received data to the client function unit 43, and transmits data to the external device in accordance with an instruction from the client function unit 43.

クライアント機能部43は、ユーザからの操作、図示しないセンサが検出した状態変化、あるいは図示しないタイマによって計測した所定時間経過等をトリガとして、サーバ装置30に対して所要の要求を送信し、サーバ装置30からこれに対する応答を受信した場合にはその内容に従った処理を行うクライアントとしての機能を有する。また、以下に詳述するが、応答として証明書管理装置10からの証明書更新等の要求を受信した場合には、所要の処理を行って応答を返す。
そして、これらの各部の機能は、クライアント装置40のCPUが所要の制御プログラムを実行してクライアント装置40の各部の動作を制御することにより実現される。
The client function unit 43 transmits a required request to the server device 30 triggered by an operation from the user, a state change detected by a sensor (not shown), or a predetermined time measured by a timer (not shown). When a response to this is received from 30, it has a function as a client that performs processing according to the content. Further, as will be described in detail below, when a request for certificate renewal or the like from the certificate management apparatus 10 is received as a response, a required process is performed and a response is returned.
The functions of these units are realized by the CPU of the client device 40 executing a required control program and controlling the operations of the units of the client device 40.

なお、このデジタル証明書管理装置において、証明書管理装置10が直接通信可能なのは、クライアント・サーバシステムを構成する装置のうちサーバ装置30のみであり、証明書管理装置10からクライアント装置40に対する要求は、サーバ装置30が中継して送るものとする。クライアント装置40から証明書管理装置10への応答も、同様である。
また、上記のサーバ装置30及びクライアント装置40には、工場出荷時あるいはそれに順ずる時期、少なくともユーザが認証処理の運用を開始する前に、初めのルート鍵を記憶させておくものとする。このとき、公開鍵証明書及び私有鍵も共に記憶させるようにするとよい。
In this digital certificate management apparatus, the certificate management apparatus 10 can communicate directly only with the server apparatus 30 among the apparatuses constituting the client / server system. A request from the certificate management apparatus 10 to the client apparatus 40 is as follows. The server device 30 relays and sends it. The same applies to the response from the client device 40 to the certificate management device 10.
The server device 30 and the client device 40 store the initial root key at the time of shipment from the factory or at the same time, at least before the user starts the authentication process. At this time, both the public key certificate and the private key may be stored.

次に、このような基本的な機能を有する図2に示したデジタル証明書管理システムにおけるこの実施形態の特徴に関連する処理である、ルート鍵更新処理およびそのために必要な構成について説明する。
なお、以下の説明に用いるシーケンス図に記載するサーバ装置30とクライアント装置40と間の通信処理に際しては、個々に図示はしていないが、安全な通信経路の確立前にSSLによる認証処理を行い、認証が成功した場合のみ、そのSSLによって確保した通信経路でデータの転送を行うものとする。そして、この認証処理に支障を来さないようにルート鍵証明書を更新可能であることが、この実施形態の特徴である。以下の実施形態についても同様である。
またここでは、証明書管理装置10とサーバ装置30との間の通信は、直通回線等の、安全(データの改竄や盗聴がなされないこと)を確保できる通信経路を介して行うものとする。
Next, a root key update process, which is a process related to the feature of this embodiment in the digital certificate management system shown in FIG. 2 having such basic functions, and a configuration necessary for the process will be described.
In the communication process between the server apparatus 30 and the client apparatus 40 described in the sequence diagram used in the following description, although not shown individually, an authentication process by SSL is performed before a secure communication path is established. Only when the authentication is successful, the data is transferred through the communication path secured by the SSL. A feature of this embodiment is that the root key certificate can be updated so as not to hinder the authentication processing. The same applies to the following embodiments.
Here, the communication between the certificate management apparatus 10 and the server apparatus 30 is performed via a communication path such as a direct communication line that can ensure safety (no data tampering or wiretapping).

ここで、まず、上述のSSLを用いて認証処理を行う場合の通信手順について説明する。この認証処理としては、互いが互いを認証する相互認証と、一方が他方を認証する片方向認証とが考えられ、各実施形態においてどちらの方式を採用してもよいが、まず、相互認証について説明する。
図4は、クライアント装置とサーバ装置とがSSLによる相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図4に示すように、SSLによる相互認証を行う際には、まずクライアント装置40側にルート鍵証明書,クライアント私有鍵,クライアント公開鍵証明書(クライアント証明書)を記憶させておく。クライアント私有鍵は、証明書管理装置10がクライアント装置40に対して発行した私有鍵である。そして、クライアント公開鍵証明書は、その私有鍵と対応する公開鍵に証明書管理装置10がデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、証明書管理装置10がデジタル署名に用いた証明用私有鍵であるルート私有鍵と対応する証明用公開鍵(以下「証明鍵」ともいう)であるルート鍵に、デジタル署名を付してデジタル証明書としたものである。
Here, first, a communication procedure when the authentication process is performed using the above-described SSL will be described. As this authentication process, mutual authentication in which each other authenticates each other and one-way authentication in which one authenticates the other can be considered, and either method may be adopted in each embodiment. explain.
FIG. 4 is a diagram illustrating a flowchart of processing executed in each device when the client device and the server device perform mutual authentication by SSL, together with information used for the processing.
As shown in FIG. 4, when performing mutual authentication by SSL, first, a root key certificate, a client private key, and a client public key certificate (client certificate) are stored on the client device 40 side. The client private key is a private key issued to the client device 40 by the certificate management device 10. The client public key certificate is a certificate obtained by adding a digital signature to the public key corresponding to the private key by the certificate management apparatus 10. The root key certificate is a root key that is a certification public key (hereinafter also referred to as “certification key”) corresponding to a root private key that is a private key for certification used by the certificate management apparatus 10 for digital signature. This is a digital certificate with a digital signature.

また、サーバ装置30側には、ルート鍵証明書,サーバ私有鍵,サーバ公開鍵証明書(サーバ証明書)を記憶させておく。サーバ私有鍵及びサーバ公開鍵証明書は、証明書管理装置10がサーバ装置30に対して発行した私有鍵及び公開鍵証明書である。ここではクライアント装置40とサーバ装置30に対して同じ証明書管理装置10が同じルート私有鍵を用いて証明書を発行しているものとし、従ってルート鍵証明書はクライアント装置40とサーバ装置30で共通となる。
これらの各鍵や証明書の関係は、背景技術の項で図58を用いて説明した通りである。
Further, a root key certificate, a server private key, and a server public key certificate (server certificate) are stored on the server device 30 side. The server private key and the server public key certificate are a private key and a public key certificate issued to the server device 30 by the certificate management device 10. Here, it is assumed that the same certificate management apparatus 10 issues a certificate using the same root private key to the client apparatus 40 and the server apparatus 30, and therefore the root key certificate is the client apparatus 40 and the server apparatus 30. It becomes common.
The relationship between these keys and certificates is as described with reference to FIG. 58 in the background art section.

フローチャートの説明に入る。なお、図4において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。   The description of the flowchart begins. In FIG. 4, the arrow between the two flowcharts indicates data transfer, the transmission side performs the transfer process at the step at the base of the arrow, and the reception side receives the information, the process at the tip of the arrow Shall be performed. In addition, if the process of each step is not completed normally, an authentication failure response is returned at that time and the process is interrupted. The same applies to the case where an authentication failure response is received from the other party or the process times out.

クライアント装置40のCPUは、サーバ装置30に通信を要求する場合、所要の制御プログラムを実行することにより、図4の左側に示すフローチャートの処理を開始する。そして、ステップS11でサーバ装置に対して接続要求を送信する。
一方サーバ装置30のCPUは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図4の右側に示すフローチャートの処理を開始する。そして、ステップS21で第1の乱数を生成し、これをサーバ私有鍵を用いて暗号化する。そして、ステップS22でその暗号化した第1の乱数とサーバ公開鍵証明書とをクライアント装置40に送信する。
When the CPU of the client device 40 requests the server device 30 to perform communication, the CPU of the client device 40 starts the processing of the flowchart shown on the left side of FIG. 4 by executing a required control program. In step S11, a connection request is transmitted to the server device.
On the other hand, when receiving the connection request, the CPU of the server device 30 starts the processing of the flowchart shown on the right side of FIG. 4 by executing a required control program. In step S21, a first random number is generated, and this is encrypted using the server private key. In step S22, the encrypted first random number and server public key certificate are transmitted to the client device 40.

クライアント装置40側では、これを受信すると、ステップS12でルート鍵証明書を用いてサーバ公開鍵証明書の正当性を確認する。これには、損傷や改竄を受けていないことを確認するのみならず、書誌情報を参照してサーバ装置30が適当な通信相手であることを確認する処理を含む。
そして確認ができると、ステップS13で、受信したサーバ公開鍵証明書に含まれるサーバ公開鍵を用いて第1の乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かにサーバ公開鍵証明書の発行対象であるサーバ装置30から受信したものだと確認できる。そして、サーバ装置30を正当な通信相手として認証する。
Upon receiving this, the client device 40 confirms the validity of the server public key certificate using the root key certificate in step S12. This includes processing for confirming that the server device 30 is an appropriate communication partner by referring to the bibliographic information as well as confirming that there is no damage or tampering.
If it can be confirmed, in step S13, the first random number is decrypted using the server public key included in the received server public key certificate. If the decryption is successful, it can be confirmed that the first random number has been received from the server device 30 that is the server public key certificate issuance target. Then, the server device 30 is authenticated as a valid communication partner.

その後、ステップS14でこれとは別に第2の乱数及び第3の乱数を生成する。そして、ステップS15で第2の乱数をクライアント私有鍵を用いて暗号化し、第3の乱数をサーバ公開鍵を用いて暗号化し、ステップS16でこれらをクライアント公開鍵証明書と共にサーバ装置30に送信する。第3の乱数の暗号化は、サーバ装置30以外の装置に乱数を知られないようにするために行うものである。   Thereafter, in step S14, a second random number and a third random number are generated separately. In step S15, the second random number is encrypted using the client private key, and the third random number is encrypted using the server public key. In step S16, these are transmitted to the server device 30 together with the client public key certificate. . The encryption of the third random number is performed so that the random number is not known to devices other than the server device 30.

サーバ装置30側では、これを受信すると、ステップS23でルート鍵証明書を用いてクライアント公開鍵証明書の正当性を確認する。これにも、ステップS12の場合と同様、クライアント装置40が適当な通信相手であることを確認する処理を含む。そして確認ができると、ステップS24で、受信したクライアント公開鍵証明書に含まれるクライアント公開鍵を用いて第2の乱数を復号化する。ここで復号化が成功すれば、第2の乱数は確かにクライアント公開鍵証明書の発行対象であるクライアント装置40から受信したものだと確認できる。そして、クライアント装置40を正当な通信相手として認証する。   Upon receiving this, the server device 30 confirms the validity of the client public key certificate using the root key certificate in step S23. This also includes processing for confirming that the client device 40 is an appropriate communication partner, as in step S12. If it can be confirmed, in step S24, the second random number is decrypted using the client public key included in the received client public key certificate. Here, if the decryption is successful, it can be confirmed that the second random number is certainly received from the client device 40 that is the client public key certificate issuance target. Then, the client device 40 is authenticated as a valid communication partner.

その後、ステップS25でサーバ私有鍵を用いて第3の乱数を復号化する。ここまでの処理で、サーバ側とクライアント側に共通の第1乃至第3の乱数が共有されたことになる。そして、少なくとも第3の乱数は、生成したクライアント装置40と、サーバ私有鍵を持つサーバ装置30以外の装置が知ることはない。ここまでの処理が成功すると、ステップS26でクライアント装置40に対して認証成功の応答を返す。   Thereafter, in step S25, the third random number is decrypted using the server private key. Through the processing so far, the first to third random numbers common to the server side and the client side are shared. And at least the third random number is not known by any device other than the generated client device 40 and the server device 30 having the server private key. If the processing so far is successful, a response of successful authentication is returned to the client device 40 in step S26.

クライアント装置40側では、これを受信すると、ステップS17で第1乃至第3の乱数から共通鍵を生成し、以後の通信の暗号化に用いるものとして認証処理を終了する。サーバ装置30側でも、ステップS27で同様の処理を行って終了する。そして、以上の処理によって互いに通信を確立し、以後はステップS17又はS27で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行う。
このような処理を行うことにより、クライアント装置40とサーバ装置30が互いに相手を認証した上で安全に共通鍵を交換することができ、通信を確かな相手と安全に行うことができる。
When this is received, the client device 40 generates a common key from the first to third random numbers in step S17, and ends the authentication process as being used for subsequent communication encryption. On the server device 30 side, the same processing is performed in step S27 and the process is terminated. Then, communication is established with the above processing, and thereafter, communication is performed by encrypting data by the common key encryption method using the common key generated in step S17 or S27.
By performing such processing, the client device 40 and the server device 30 can securely exchange a common key after mutually authenticating each other, and can securely communicate with a certain partner.

なお、片方向認証の場合、図4に示した処理は、図5に示すように簡略化することができる。すなわち、この場合には、第2の乱数をクライアント私有鍵で暗号化し、公開鍵証明書Aを通信装置Bに送信することは必須ではない。この場合、サーバ装置30側のステップS23及びS24の処理は不要になる。このようにすると、サーバ装置30がクライアント装置40を認証することはできないが、クライアント装置40がサーバ装置30を認証するだけでよい場合にはこの処理で十分である。
そしてこの場合には、クライアント装置40に記憶させるのはルート鍵証明書のみでよく、クライアント私有鍵及びクライアント公開鍵証明書は不要である。また、サーバ装置30にはルート鍵証明書を記憶させる必要はない。従ってこの場合、以下に説明する各ルート鍵証明書の更新処理も、クライアント装置40のルート鍵証明書とサーバ装置30のサーバ公開鍵証明書のみを更新する処理に簡略化することが可能である。
In the case of one-way authentication, the process shown in FIG. 4 can be simplified as shown in FIG. That is, in this case, it is not essential to encrypt the second random number with the client private key and send the public key certificate A to the communication device B. In this case, the processing of steps S23 and S24 on the server device 30 side is not necessary. In this way, the server device 30 cannot authenticate the client device 40, but this processing is sufficient when the client device 40 only needs to authenticate the server device 30.
In this case, only the root key certificate may be stored in the client device 40, and the client private key and the client public key certificate are unnecessary. Further, it is not necessary for the server device 30 to store the root key certificate. Therefore, in this case, the update process of each root key certificate described below can be simplified to the process of updating only the root key certificate of the client device 40 and the server public key certificate of the server device 30. .

次に、ルート鍵証明書の更新処理の説明に移るが、ここで説明するルート鍵更新処理は、図6乃至図9のシーケンス図に示す処理を、この順で実行するものである。以下の各図に示す処理は、証明書管理装置10,サーバ装置30,クライアント装置40の各CPUが、所要の制御プログラムを実行することによって行うものである。
このデジタル証明書管理システムの証明書管理装置10は、ルート鍵の更新事由を検出すると、図6のシーケンス図に示す処理を開始する。
Next, the description will proceed to the update process of the root key certificate. In the root key update process described here, the processes shown in the sequence diagrams of FIGS. 6 to 9 are executed in this order. The processes shown in the following drawings are performed by the CPUs of the certificate management apparatus 10, the server apparatus 30, and the client apparatus 40 by executing a required control program.
When the certificate management apparatus 10 of this digital certificate management system detects the reason for updating the root key, it starts the processing shown in the sequence diagram of FIG.

まず図6のシーケンス図に処理Sとしてルート鍵証明書作成処理を示す。
この処理においては、証明書管理装置10はステップS101で、有効なルート私有鍵について、新たなルート私有鍵とルート鍵のペアを作成する。ここで、「有効な」ルート私有鍵とは、その時点でクライアント・サーバシステムにおける認証処理に使用中のルート私有鍵という意味であり、より正確には、そのルート私有鍵を用いてデジタル署名を付した証明書が、認証処理に用いられる状態でサーバ装置30又はクライアント装置40に記憶されているものをいうものとする。過去に作成した私有鍵が有効か否かは、証明書管理部23に記憶している公開鍵証明書及びルート鍵証明書の有効期限、その更新の有無の情報や、構成記憶部26に記憶している各ノードが使用している公開鍵証明書及びルート鍵証明書のIDの情報、および証明書に含まれる、デジタル署名に使用したルート私有鍵の識別情報等の情報を基に判断することができる。また、新たな鍵と置き換えられるべきそれまでの鍵を、「従前の」鍵と呼ぶことにする。証明書についても同様である。
First, the root key certificate creation process is shown as process S in the sequence diagram of FIG.
In this process, the certificate management apparatus 10 creates a new root private key / root key pair for a valid root private key in step S101. Here, the “valid” root private key means the root private key currently used for authentication processing in the client / server system. More precisely, the root private key is used to sign a digital signature. It is assumed that the attached certificate is stored in the server device 30 or the client device 40 in a state used for authentication processing. Whether or not the private key created in the past is valid is stored in the configuration storage unit 26, the expiration date of the public key certificate and the root key certificate stored in the certificate management unit 23, information on whether or not to update the certificate. Judgment is based on information such as the ID information of the public key certificate and root key certificate used by each node and the identification information of the root private key used for the digital signature included in the certificate. be able to. Also, the previous key that should be replaced with the new key will be referred to as the “old” key. The same applies to certificates.

次のステップS102では、ステップS101で作成した新ルート鍵に従前のルート私有鍵を用いたデジタル署名を付し、第1の証明鍵証明書である配布用ルート鍵証明書を作成する。
そしてさらに、ステップS103において、ステップS101で作成した新ルート鍵に新ルート私有鍵を用いたデジタル署名を付して第2の証明鍵証明書として新ルート鍵証明書を作成する。
以上がルート鍵証明書作成処理である。
In the next step S102, a digital signature using the previous root private key is attached to the new root key created in step S101, and a distribution root key certificate which is a first certification key certificate is created.
Further, in step S103, a digital signature using the new root private key is attached to the new root key created in step S101 to create a new root key certificate as a second certification key certificate.
The above is the root key certificate creation process.

その後、続いて図7のシーケンス図に示す処理1を行う。
ここではまず、ステップS111で、証明書管理装置10が、クライアント装置40に対して発行してあるクライアント公開鍵に、新ルート私有鍵を用いたデジタル署名を付して新クライアント公開鍵証明書を作成する。なお、クライアント私有鍵は更新しないので、クライアント公開鍵自体も更新する必要はない。
Then, the process 1 shown in the sequence diagram of FIG. 7 is performed.
Here, first, in step S111, the certificate management apparatus 10 attaches a digital signature using the new root private key to the client public key issued to the client apparatus 40, and obtains a new client public key certificate. create. Since the client private key is not updated, it is not necessary to update the client public key itself.

そしてステップS112で、証明書管理装置10がサーバ装置30に対して、図6のステップS102で作成した配布用ルート鍵証明書と、図6のステップS103で作成した新ルート鍵証明書と、ステップS111で作成した新クライアント公開鍵証明書と共に、これらについての更新要求をクライアント装置40に送信するよう要求する更新要求送信要求を送信する。
サーバ装置30は、これに応じてクライアント装置40に対して配布用ルート鍵証明書とその更新要求とを送信するのであるが、サーバ装置30側から送信要求を行うことはできない。そこで、クライアント装置40が所定のタイミングで定期的にサーバ装置30に対して通信要求を送信して通信を要求するようにし(S113)、これに対する応答として配布用ルート鍵証明書とその更新要求とを送信するようにしている(S114)。
In step S112, the certificate management apparatus 10 sends the distribution root key certificate created in step S102 of FIG. 6, the new root key certificate created in step S103 of FIG. Along with the new client public key certificate created in S111, an update request transmission request for transmitting an update request for these to the client device 40 is transmitted.
In response to this, the server device 30 transmits the distribution root key certificate and its update request to the client device 40, but cannot send a transmission request from the server device 30 side. Therefore, the client device 40 periodically transmits a communication request to the server device 30 at a predetermined timing to request communication (S113), and in response to this, a distribution root key certificate and its update request Is transmitted (S114).

なお、クライアント装置40がサーバ装置30に対する通信要求や接続要求をHTTPリクエストとして送信し、サーバ装置30からクライアント装置40に対して送信する要求やデータをこれに対する応答であるHTTPレスポンスとして送信するようにするとよい。このようにすれば、クライアント装置40がファイアウォールの内側に設置されている場合でも、これを越えてサーバ装置30からクライアント装置40にデータを転送することができる。   The client device 40 transmits a communication request or connection request to the server device 30 as an HTTP request, and transmits a request or data to be transmitted from the server device 30 to the client device 40 as an HTTP response that is a response thereto. Good. In this way, even when the client device 40 is installed inside the firewall, data can be transferred from the server device 30 to the client device 40 beyond this.

ファイアウォールを越える手段はこれに限られるものではなく、例えば、SMTP(Simple Mail Transfer Protocol)を利用して、送信したいデータを記載あるいは添付したメールを送信することも考えられる。ただし、信頼性の面ではHTTPが優れている。
以上の処理により、証明書管理装置10からクライアント装置40に、サーバ装置30を介して各証明書とその更新要求とが送信されることになり、ステップS112の処理が送信手順の処理であり、この処理においては、証明書管理装置10のCPU11が送信手段として機能する。
Means beyond the firewall are not limited to this, and it is also conceivable to use, for example, SMTP (Simple Mail Transfer Protocol) to transmit a mail in which data to be transmitted is described or attached. However, HTTP is superior in terms of reliability.
Through the above process, each certificate and its update request are transmitted from the certificate management apparatus 10 to the client apparatus 40 via the server apparatus 30, and the process of step S112 is the process of the transmission procedure. In this process, the CPU 11 of the certificate management apparatus 10 functions as a transmission unit.

クライアント装置40は、この要求を受け取ると、ステップS115で、従前のルート鍵証明書を用いて配布用ルート鍵証明書の正当性を確認する。上述のように、配布用ルート鍵証明書には、従前のルート私有鍵を用いたデジタル署名を付しているので、従前のルート鍵証明書に含まれる従前のルート鍵を用いてその内容を復号化し、確かに証明書管理装置10によって発行されたものであることを確認できる。また、このとき、従来の技術の項で図73を用いて説明したように、ルート鍵が損傷や改竄等を受けていないことも確認できる。従って、このような配布用ルート鍵証明書を用いることにより、受け取ったルート鍵の正当性を人手によらず確認できることになる。
そして、これが確認できると、次のステップS116で配布用ルート鍵証明書を証明書記憶部31に記憶する。
Upon receiving this request, the client device 40 confirms the validity of the distribution root key certificate using the previous root key certificate in step S115. As described above, the distribution root key certificate has a digital signature using the previous root private key, so the contents are stored using the previous root key included in the previous root key certificate. It is possible to confirm that it has been decrypted and has been issued by the certificate management apparatus 10. At this time, as described with reference to FIG. 73 in the section of the prior art, it can also be confirmed that the root key is not damaged or falsified. Therefore, by using such a distribution root key certificate, the legitimacy of the received root key can be confirmed without manual intervention.
If this can be confirmed, the distribution root key certificate is stored in the certificate storage unit 31 in the next step S116.

そしてさらにステップS117で、配布用ルート鍵証明書を用いて新ルート鍵証明書の正当性を確認する。上述のように、新ルート鍵証明書には、新ルート私有鍵を用いたデジタル署名を付しているので、配布用ルート鍵証明書に含まれる新ルート鍵を用いてその内容を復号化し、確かに証明書管理装置10によって発行されたものであることを確認できる。
そして、これが確認できると、次のステップS118で新ルート鍵証明書を証明書記憶部31に記憶する。この時点で配布用ルート鍵は消去してしまってもよいが、ここでは記憶したままとする。従って、証明書記憶部31には3つのルート鍵証明書が記憶された状態となる。
In step S117, the validity of the new root key certificate is confirmed using the distribution root key certificate. As described above, since the digital signature using the new root private key is attached to the new root key certificate, the contents are decrypted using the new root key included in the distribution root key certificate, It can be confirmed that the certificate has been issued by the certificate management apparatus 10.
If this can be confirmed, the new root key certificate is stored in the certificate storage unit 31 in the next step S118. At this point, the distribution root key may be deleted, but it is stored here. Accordingly, three root key certificates are stored in the certificate storage unit 31.

この状態で認証処理を行う場合、受信した公開鍵証明書の正当性を確認する際には、従前のルート鍵証明書及び新ルート鍵証明書を順次用いて確認を試み、どちらかのルート鍵証明書を用いて確認が成功すれば、正当性が確認できたものとする。従って、新旧どちらのルート私有鍵を用いてデジタル署名を付したデジタル証明書であっても、その正当性を確認することができる。   When performing authentication processing in this state, when verifying the validity of the received public key certificate, the authentication is attempted using the previous root key certificate and the new root key certificate in sequence, and either of the root keys is verified. If the confirmation is successful using the certificate, the validity is confirmed. Accordingly, it is possible to confirm the validity of a digital certificate with a digital signature using either the old or new root private key.

次に、ステップS119で、ステップS118で記憶した新ルート鍵証明書を用いて新クライアント公開鍵証明書の正当性を確認する。上述のように、新クライアント公開鍵証明書には、新ルート私有鍵を用いたデジタル署名を付しているので、新ルート鍵証明書に含まれる新ルート鍵を用いてその内容を復号化し、確かに証明書管理装置10によってクライアント装置40に対して発行されたものであることを確認できる。そして、これが確認できると、次のステップS120で新クライアント公開鍵証明書を証明書記憶部41に記憶する。
以上のステップS115乃至S120において、クライアント装置40のCPUがクライアント側更新手段として機能する。
In step S119, the validity of the new client public key certificate is confirmed using the new root key certificate stored in step S118. As described above, since the new client public key certificate has a digital signature using the new root private key, the contents are decrypted using the new root key included in the new root key certificate. It can be confirmed that the certificate has been issued to the client device 40 by the certificate management device 10. If this can be confirmed, the new client public key certificate is stored in the certificate storage unit 41 in the next step S120.
In steps S115 to S120 described above, the CPU of the client device 40 functions as a client-side update unit.

このとき、まだ従前のクライアント公開鍵証明書は消去しない。従って、証明書記憶部41には2つのクライアント公開鍵証明書が記憶された状態となる。この状態で認証処理を行い、通信相手に対して公開鍵証明書を送信する場合には、まず新公開鍵証明書を送信するものとする。
この場合、通信相手が既に新ルート鍵を(配布用ルート鍵証明書又は新ルート鍵証明書として)記憶していれば、新公開鍵証明書のデジタル署名を復号化できるので、問題なく認証を受けることができる。一方、通信相手がまだ新ルート鍵を記憶していない場合には、新公開鍵証明書のデジタル署名を復号化できず、認証が失敗した旨の応答を受けることになる。しかしこの場合でも、再度通信を要求し、この際に従前の公開鍵証明書を送信するようにすれば、従前のルート鍵によってそこに付されたデジタル署名を復号化できるので、問題なく認証を受けることができる。
At this time, the previous client public key certificate is not yet deleted. Therefore, the certificate storage unit 41 stores two client public key certificates. When authentication processing is performed in this state and a public key certificate is transmitted to a communication partner, first, a new public key certificate is transmitted.
In this case, if the communication partner has already stored the new root key (as a distribution root key certificate or a new root key certificate), the digital signature of the new public key certificate can be decrypted. Can receive. On the other hand, if the communication partner has not yet stored the new root key, the digital signature of the new public key certificate cannot be decrypted, and a response indicating that the authentication has failed is received. However, even in this case, if the communication is requested again and the previous public key certificate is transmitted at this time, the digital signature attached to the previous root key can be decrypted, so that the authentication can be performed without any problem. Can receive.

従って、2つの公開鍵証明書を記憶しておけば、通信相手が新ルート鍵を記憶していない場合に多少のオーバーヘッドが生じることはあるが、問題なく認証処理を行うことができる。なお、2つの公開鍵証明書に含まれる公開鍵本体は同じものであるので、クライアント私有鍵を用いて暗号化したデータの復号化は、どちらの公開鍵証明書を用いた場合でも同じように行うことができる。
ここではまだサーバ装置30に新ルート鍵を記憶させていないので、サーバ装置30は新公開鍵証明書のデジタル署名を復号化できず、認証が失敗した旨の応答を受けることになる。しかし上述のように、再度通信を要求し、この際に従前の公開鍵証明書を送信すれば、従前のルート鍵によってそこに付されたデジタル署名を復号化できるので、問題なく認証を受けることができるのである。
Therefore, if two public key certificates are stored, some overhead may occur when the communication partner does not store the new root key, but the authentication process can be performed without any problem. Since the public key bodies included in the two public key certificates are the same, the decryption of the data encrypted using the client private key is the same regardless of which public key certificate is used. It can be carried out.
Here, since the new root key is not stored in the server device 30 yet, the server device 30 cannot decrypt the digital signature of the new public key certificate and receives a response indicating that the authentication has failed. However, as described above, if communication is requested again and the previous public key certificate is transmitted at this time, the digital signature attached thereto can be decrypted by the previous root key, so that authentication can be performed without any problem. Can do it.

なお、ステップS119及びS120の処理を、ステップS117及びS118の処理より前に行うようにしてもよい。この場合には、ステップS119における正当性の確認は、配布用ルート鍵証明書を用いて行うことになる。
クライアント装置40はその後、ステップS121で証明書管理装置10に対して更新要求に対する応答として結果通知を返し、各証明書の記憶が成功していればその旨を、何らかの理由で失敗していればその旨を伝える。なお、この結果通知は、少なくともクライアント装置40が配布用ルート鍵証明書、新ルート鍵証明書、および新クライアント公開鍵証明書を受信したことを示す情報である。以下の結果通知も同様な意味を持つものとする。また、この結果通知はまずサーバ装置30に対して送信し、サーバ装置30がステップS122で証明書管理装置に対して送信する。
Note that the processing in steps S119 and S120 may be performed before the processing in steps S117 and S118. In this case, the validity is confirmed in step S119 using the distribution root key certificate.
Thereafter, in step S121, the client device 40 returns a result notification to the certificate management device 10 as a response to the update request. If the storage of each certificate has been successful, that fact indicates that it has failed for some reason. Tell that. This result notification is information indicating that at least the client device 40 has received the distribution root key certificate, the new root key certificate, and the new client public key certificate. The following result notifications have the same meaning. The result notification is first transmitted to the server device 30, and the server device 30 transmits it to the certificate management device in step S122.

その後、続いて図8のシーケンス図に示す処理2を行う。
ここではまず、ステップS123で証明書管理装置10が、クライアント装置40に対して発行してあるサーバ公開鍵に新ルート私有鍵を用いたデジタル署名を付して、新サーバ公開鍵証明書を作成する。サーバ公開鍵自体の更新が不要であることは、上述のクライアント公開鍵の場合と同様である。
Subsequently, the process 2 shown in the sequence diagram of FIG. 8 is performed.
Here, first, in step S123, the certificate management apparatus 10 creates a new server public key certificate by attaching a digital signature using the new root private key to the server public key issued to the client apparatus 40. To do. The fact that the server public key itself does not need to be updated is similar to the case of the client public key described above.

そして、ステップS124で、証明書管理装置10がサーバ装置30に対して、図6のステップS102で作成した配布用ルート鍵証明書と、図6のステップS103で作成した新ルート鍵証明書と、ステップS123で作成した新サーバ公開鍵証明書と共に、これらについての更新要求を送信する。このステップS124の処理も送信手順の処理であり、この処理においては、証明書管理装置10のCPU11が送信手段として機能する。
サーバ装置30は、この要求を受け取ると、ステップS125及びS126で、図7のステップS115及びS116の場合と同様に、従前のルート鍵証明書を用いて配布用ルート鍵証明書の正当性を確認し、これが確認できると配布用ルート鍵証明書を証明書記憶部31に記憶する。このとき、まだ従前のルート鍵証明書は消去しない。
In step S124, the certificate management apparatus 10 sends the server apparatus 30 the distribution root key certificate created in step S102 in FIG. 6, the new root key certificate created in step S103 in FIG. An update request for these is sent together with the new server public key certificate created in step S123. The process of step S124 is also a transmission procedure process. In this process, the CPU 11 of the certificate management apparatus 10 functions as a transmission unit.
Upon receiving this request, the server device 30 confirms the validity of the distribution root key certificate using the previous root key certificate in steps S125 and S126, as in steps S115 and S116 of FIG. If this can be confirmed, the distribution root key certificate is stored in the certificate storage unit 31. At this time, the previous root key certificate is not deleted yet.

そしてさらにステップS127で、図7のステップS117の場合と同様に、記憶した配布用ルート鍵証明書を用いて新ルート鍵証明書の正当性を確認する。そして、これが確認できると、次のステップS128で新ルート鍵証明書を証明書記憶部31に記憶すると共に、配布用ルート鍵証明書と従前のルート鍵証明書を廃棄する。
このようにすると、従前のルート私有鍵を用いてデジタル署名を付したデジタル証明書は復号化できなくなってしまうが、この時点では既にクライアント装置40に新クライアント公開鍵証明書を記憶させてあるので、クライアント装置40から送られてくる公開鍵証明書の確認に支障はなく、認証処理に支障を来すことはない。従って、従前のルート鍵は不要であり、改めて廃棄要求を行うよりもここで廃棄してしまった方が処理の手順が簡単になるので、このようにしたものである。もちろん、証明書管理装置10が改めて廃棄要求を行い、その要求を受信した時点で廃棄を行うようにしてもよい。
In step S127, the validity of the new root key certificate is confirmed using the stored distribution root key certificate in the same manner as in step S117 of FIG. If this can be confirmed, the new root key certificate is stored in the certificate storage unit 31 in the next step S128, and the distribution root key certificate and the previous root key certificate are discarded.
In this case, the digital certificate with the digital signature using the conventional root private key cannot be decrypted. At this point, the client device 40 has already stored the new client public key certificate. The confirmation of the public key certificate sent from the client device 40 is not hindered, and the authentication process is not hindered. Therefore, the conventional root key is unnecessary, and the processing procedure becomes simpler if it is discarded here rather than making a request for discarding again. Of course, the certificate management apparatus 10 may make a request for discarding again and discard the request when the request is received.

次に、ステップS129及びS130で、図7のステップS119及びS120の場合と同様に、新ルート鍵証明書を用いて新サーバ公開鍵証明書の正当性を確認し、これが確認できると、新サーバ公開鍵証明書を証明書記憶部31に記憶する。ただし、ここでは新サーバ公開鍵証明書を従前のサーバ公開鍵証明書と置き換える。
以上のステップS125乃至S130において、サーバ装置30のCPUがサーバ側更新手段として機能する。
Next, in steps S129 and S130, as in steps S119 and S120 in FIG. 7, the validity of the new server public key certificate is confirmed using the new root key certificate. The public key certificate is stored in the certificate storage unit 31. However, here, the new server public key certificate is replaced with the previous server public key certificate.
In steps S125 to S130 described above, the CPU of the server device 30 functions as a server-side update unit.

ここで、サーバ装置30の場合には、クライアント装置40の場合と異なり、新公開鍵証明書を記憶させる際に従前のものに追加するのではなくこれと置き換えるようにしているが、この点について説明する。
サーバ装置30の場合には、クライアント装置40から接続要求があった場合に公開鍵証明書をクライアント装置40に送信するのであるが、サーバ公開鍵証明書を複数記憶していたとすると、送信毎にそのうちいずれかを選択して送信することになる。そして、クライアント装置40側でデジタル証明書を復号化できないようなサーバ公開鍵証明書を送信してしまった場合には、認証は失敗することになる。例えば、クライアント装置40が新ルート鍵を記憶する前に新サーバ公開鍵証明書を送信した場合等である。
Here, in the case of the server device 30, unlike the case of the client device 40, when the new public key certificate is stored, it is replaced with this instead of being added to the previous one. explain.
In the case of the server device 30, the public key certificate is transmitted to the client device 40 when there is a connection request from the client device 40, but if a plurality of server public key certificates are stored, One of them will be selected and transmitted. If the server public key certificate that cannot decrypt the digital certificate is transmitted on the client device 40 side, the authentication fails. For example, when the client device 40 transmits a new server public key certificate before storing the new root key.

たとえ失敗したとしても、次に接続要求があった場合にもう一方のサーバ公開鍵証明書を送信すればよいという考え方もあるが、不特定多数のクライアント装置から任意のタイミングで接続要求を受け得るサーバ装置の場合、クライアント装置毎に送信すべきサーバ公開鍵証明書を選択することは、現実的ではない。また、クライアント装置がどのような装置であるかは、サーバ装置側では認証が済むまで通常わからないので、最初に送信するサーバ公開鍵証明書を適切に選択することも困難である。従って、サーバ装置にはサーバ公開鍵証明書を1つだけ記憶させ、クライアント装置から接続要求を受けた場合には常にこれを送信するようにする必要があるのである。   Even if it fails, there is an idea that the next server public key certificate should be sent when there is a next connection request, but it can receive a connection request from an unspecified number of client devices at any time In the case of a server device, it is not realistic to select a server public key certificate to be transmitted for each client device. In addition, it is difficult to properly select the server public key certificate to be transmitted first because the server device usually does not know what the client device is until authentication is completed. Therefore, it is necessary to store only one server public key certificate in the server device and always transmit this when a connection request is received from the client device.

このため、サーバ装置30では新サーバ公開鍵証明書を記憶させた時点で従前のサーバ公開鍵証明書を削除してしまうのであるが、クライアント装置40に新ルート鍵を記憶させる前にこれを行ってしまうと、クライアント装置側でサーバ公開鍵証明書のデジタル署名を復号化できなくなり、認証処理を行えなくなってしまう。そこで、サーバ装置30に公開鍵証明書を記憶させる処理は、クライアント装置に新ルート鍵を記憶させる処理の完了後に行う必要がある。
ここでは、ステップS130の時点では既にクライアント装置40に新ルート鍵を記憶させてあるので、サーバ装置30に新サーバ公開鍵証明書を記憶させておけば、認証処理には全く問題ない。
For this reason, the server device 30 deletes the previous server public key certificate when the new server public key certificate is stored, but this is performed before the client device 40 stores the new root key. If this happens, the digital signature of the server public key certificate cannot be decrypted on the client device side, and authentication processing cannot be performed. Therefore, the process for storing the public key certificate in the server apparatus 30 needs to be performed after the process for storing the new root key in the client apparatus is completed.
Here, since the new root key is already stored in the client device 40 at the time of step S130, there is no problem in the authentication process if the new server public key certificate is stored in the server device 30.

なお、ステップS129及びS130の処理を、ステップS127及びS128の処理より前に行うようにしてもよい。この場合には、ステップS129における正当性の確認は、配布用ルート鍵証明書を用いて行うことになる。
サーバ装置30はその後、ステップS131で証明書管理装置10に対して更新要求に対する応答として結果通知を返す。
以上の図8に示す処理により、サーバ装置30側ではルート鍵更新処理が完了する。
Note that the processing in steps S129 and S130 may be performed before the processing in steps S127 and S128. In this case, confirmation of validity in step S129 is performed using the distribution root key certificate.
The server device 30 then returns a result notification as a response to the update request to the certificate management device 10 in step S131.
With the processing shown in FIG. 8, the root key update processing is completed on the server device 30 side.

その後、続いて図9のシーケンス図に示す処理3を行う。
ここではまずステップS132で、証明書管理装置10がサーバ装置30に対して、不要になったデジタル証明書の廃棄を求める旧鍵廃棄要求をクライアント装置40に送信するよう要求する旧鍵廃棄要求送信要求を送信する。サーバ装置30は、これに応じて、図7のステップS113及びS114の場合と同様に、クライアント装置40からの通信要求(S133)に対する応答として旧鍵廃棄要求を送信するようにしている(S134)。
以上の処理により、証明書管理装置10からクライアント装置40にサーバ装置30を介して上記の旧鍵廃棄要求が送信されることになる。
Thereafter, the process 3 shown in the sequence diagram of FIG. 9 is performed.
Here, first, in step S132, the certificate management apparatus 10 requests the server apparatus 30 to transmit to the client apparatus 40 an old key discard request that requests the server apparatus 30 to discard an unnecessary digital certificate. Send a request. In response to this, the server device 30 transmits an old key discard request as a response to the communication request (S133) from the client device 40 (S134), as in steps S113 and S114 of FIG. .
Through the above processing, the old key discard request is transmitted from the certificate management apparatus 10 to the client apparatus 40 via the server apparatus 30.

クライアント装置40は、この要求を受け取ると、ステップS135で、証明書記憶部41に記憶している配布用ルート鍵証明書、従前のルート鍵証明書、および従前のクライアント公開鍵証明書を廃棄する。この時点では、サーバ装置30に新ルート鍵証明書及び新サーバ公開鍵証明書が記憶されているので、これらの証明書を消去しても認証処理に影響はない。むしろ、これらの証明書はもはや認証処理に使用しないので、記憶領域の節約のためにも消去してしまった方がよい。
クライアント装置40はその後、ステップS136で証明書管理装置10に対して更新要求に対する応答として結果通知を返すが、これはまずサーバ装置30に対して送信し、サーバ装置30がステップS137で証明書管理装置10に対して送信する。
以上により、ルート鍵更新処理を終了する。
Upon receiving this request, the client device 40 discards the distribution root key certificate, the previous root key certificate, and the previous client public key certificate stored in the certificate storage unit 41 in step S135. . At this time, since the new root key certificate and the new server public key certificate are stored in the server device 30, even if these certificates are deleted, the authentication process is not affected. Rather, since these certificates are no longer used for authentication processing, they should be deleted to save storage space.
Thereafter, the client device 40 returns a result notification as a response to the update request to the certificate management device 10 in step S136. This is first transmitted to the server device 30, and the server device 30 manages the certificate in step S137. Transmit to the device 10.
Thus, the root key update process is completed.

なお、処理1〜3はそれぞれ、証明書管理装置10が、送信した要求に対する成功の応答を受け取った場合に完了したものとすることができる。この応答が、送信した証明書等を受信した旨を示す情報も含むことは、上述した通りである。更新失敗の応答を受け取った場合や処理がタイムアウトした場合には、再度同じ処理を試みるとよいが、所定回数続けて失敗した場合には更新処理全体が失敗したものとするとよい。   Each of the processes 1 to 3 can be completed when the certificate management apparatus 10 receives a successful response to the transmitted request. As described above, this response also includes information indicating that the transmitted certificate or the like has been received. If an update failure response is received or if the process times out, the same process may be tried again, but if the process fails for a predetermined number of times, the entire update process may have failed.

また、ここでは、図8等に示したように、証明書管理装置10がサーバ装置30に更新要求を送信した場合、サーバ装置30が受信した証明書等の記憶を完了してから結果通知を返す例について説明した。しかし、図10(ステップS126乃至S129の図示は省略した)に示すように、サーバ装置30が更新要求を受信した場合に直ちに受信応答を返す(S124′)ようにしてもよい。このようにした場合、ステップS124′の受信応答が、証明書管理装置10が送信した更新要求及び配布用ルート鍵証明書等を正常に受信した旨の情報となる。また、ステップS131の結果通知は、更新の成否やその原因等を伝える情報となる。そして、この結果通知に対しても、証明書管理装置10が受信応答を返す(S131′)ようにするとよい。このようにすれば、サーバ装置30側でも、結果通知が正常に証明書管理装置10に受信されたことが把握できる。   Here, as shown in FIG. 8 and the like, when the certificate management apparatus 10 transmits an update request to the server apparatus 30, the server apparatus 30 completes storage of the received certificate and the like, and notifies the result notification. Explained how to return. However, as shown in FIG. 10 (illustration of steps S126 to S129 is omitted), when the server device 30 receives an update request, a reception response may be immediately returned (S124 ′). In this case, the reception response in step S124 ′ becomes information indicating that the update request and the distribution root key certificate transmitted by the certificate management apparatus 10 have been normally received. In addition, the result notification in step S131 is information that conveys the success or failure of the update and the cause thereof. In response to this result notification, the certificate management apparatus 10 may return a reception response (S131 ′). In this way, the server apparatus 30 can also grasp that the result notification has been received normally by the certificate management apparatus 10.

また、サーバ装置30とクライアント装置40との間の通信についても、同様な手順とし、何らかの要求を受信した場合に、その送信元に対して直ちに受信応答を返し、結果通知についても、これを受信した場合にその送信元に対して直ちに受信応答を返すようにするとよい。図7に示したシーケンスに上記のような考え方を採り入れたシーケンスを図11に示す。ただし、ステップS116乃至S119の図示は省略した。
なお、ステップS114′での受信応答が、クライアント装置40が更新要求及び配布用ルート鍵証明書等を受信した旨の情報となるが、図7に示したシーケンスに単に上記の考え方を採り入れたシーケンスでは、この情報はサーバ装置30がステップS122の結果通知を行うまで証明書管理装置10には伝わらない。
そこで、図11に破線で示したように、サーバ装置30が、クライアント装置40からの受信応答があった後、送信の成否のみを送信結果通知として証明書管理装置10へ通知するようにしてもよい。このようにすれば、クライアント装置40への送信の成否を速やかに証明書管理装置10に伝えることができる。
The communication procedure between the server device 30 and the client device 40 is the same procedure. When any request is received, a reception response is immediately returned to the transmission source, and the result notification is also received. In such a case, a reception response should be immediately returned to the transmission source. FIG. 11 shows a sequence in which the above concept is adopted in the sequence shown in FIG. However, illustration of steps S116 to S119 is omitted.
Note that the reception response in step S114 ′ is information indicating that the client device 40 has received the update request, the distribution root key certificate, etc., but the sequence simply adopts the above concept in the sequence shown in FIG. Then, this information is not transmitted to the certificate management apparatus 10 until the server apparatus 30 notifies the result of step S122.
Therefore, as indicated by a broken line in FIG. 11, after receiving a reception response from the client device 40, the server device 30 may notify the certificate management device 10 of only transmission success / failure as a transmission result notification. Good. In this way, success or failure of transmission to the client device 40 can be promptly notified to the certificate management device 10.

また、以上のように結果通知を行うようにした場合、各処理の実行タイミング管理において、証明書等の送信先から受信応答があった場合に、送信先において証明書の記憶や設定は滞りなく進行するであろうという予測の下に処理を先の段階に進めてしまうことも可能である。具体的には、処理1が全て完了しなくても、図11のステップSAに示したような送信結果通知があった場合に処理1が完了したものとみなして処理2の開始時期を決定するようにしてもよい。また、処理2が全て完了しなくても、図10のステップS124′に示したような受信応答があった場合に処理2が完了したものとみなして処理3の開始時期を決定するようにしてもよい。
また、ここでは、図10及び図11に、それぞれ図8及び図7のシーケンスの変形例を示したのみであるが、以上のような考え方は、以降の実施例及び変形例に示すものも含め、全ての処理及びシーケンスに適用可能なものである。
In addition, when the result notification is performed as described above, in the execution timing management of each process, when there is a reception response from the transmission destination such as a certificate, the storage and setting of the certificate is not delayed at the transmission destination. It is also possible to proceed to the previous stage with the prediction that it will proceed. Specifically, even if the process 1 is not completely completed, if there is a transmission result notification as shown in step SA of FIG. 11, the process 1 is determined to be completed and the start time of the process 2 is determined. You may do it. Even if the processing 2 is not completed, if there is a reception response as shown in step S124 ′ in FIG. 10, it is assumed that the processing 2 is completed and the start time of the processing 3 is determined. Also good.
10 and FIG. 11 only show modified examples of the sequences of FIG. 8 and FIG. 7, respectively. However, the above concept includes those shown in the following examples and modified examples. It can be applied to all processes and sequences.

このデジタル証明書管理システムにおいては、ルート鍵更新処理をこのような手順で行うことにより、サーバ装置30とクライアント装置40との間の認証処理に大きな影響を与えることなく、ルート鍵を自動制御で更新することができる。また、従前の(更新前の)ルート鍵や公開鍵証明書を用いた認証を行ってSSLによる通信経路を確保し、その通信経路で更新用の新ルート鍵や新公開鍵証明書を送信することができる。また、更新終了後は、その新ルート鍵や新公開鍵証明書を用いた認証を行ってSSLによる通信経路を確保できる状態にすることができる。従って、このようなデジタル証明書管理システムを用いることにより、ルート鍵更新用の特別な通信経路を用意せずにルート鍵を更新することができるので、通信に際してSSLによる認証処理を行うクライアント・サーバシステムを、低コストで運用することができる。この点は、以後の各実施形態についても同様である。   In this digital certificate management system, the root key can be automatically controlled without greatly affecting the authentication process between the server apparatus 30 and the client apparatus 40 by performing the root key update process in such a procedure. Can be updated. Also, authentication is performed using the previous (before update) root key and public key certificate to secure a communication path by SSL, and a new root key and new public key certificate for update are transmitted through the communication path. be able to. Further, after the update is completed, authentication using the new root key or new public key certificate can be performed so that a communication path by SSL can be secured. Therefore, by using such a digital certificate management system, the root key can be updated without preparing a special communication path for updating the root key. The system can be operated at low cost. This also applies to each of the subsequent embodiments.

また、証明書管理装置10とサーバ装置30との間には、これとは別の安全な通信経路を設ける必要があるが、これは、期限切れ等に伴う公開鍵証明書の更新のような、通常必要な処理に使用するものと共通の通信経路でよい。また、このような通信経路は証明書管理装置10と1つの装置のみとの間に設ければよいので、特に大きな負担にはならない。証明書管理装置10とサーバ装置30とが物理的に近接している場合には専用ケーブルで結ぶ等してこのような経路を設けることは容易であり、この実施形態はこのような場合に好ましいものであると言える。   In addition, it is necessary to provide a separate secure communication path between the certificate management apparatus 10 and the server apparatus 30. This is because, for example, renewal of a public key certificate due to expiration, etc. A common communication path may be used for processing normally required. In addition, since such a communication path only needs to be provided between the certificate management apparatus 10 and only one apparatus, there is no particular burden. When the certificate management apparatus 10 and the server apparatus 30 are physically close to each other, it is easy to provide such a path by connecting with a dedicated cable, and this embodiment is preferable in such a case. It can be said that it is a thing.

また、図6乃至図9に示した処理手順において、この実施形態の特徴となるのは、まず、サーバ装置30に公開鍵証明書を記憶させる処理を、少なくともクライアント装置40に新ルート鍵を記憶させる処理の後で、すなわちクライアント装置40から少なくとも配布用ルート鍵証明書を受信した旨の応答があった後で実行する点である。
図8のステップS129及びS130の説明において上述したように、サーバ装置30については公開鍵証明書を同時に2つ記憶させると不都合が生じるので、新サーバ公開鍵証明書を記憶させる際には従前のものを廃棄する必要があるのであるが、このような書き換えを行ってしまっても、クライアント装置40に新ルート鍵を記憶させた後であれば、認証処理に支障が生じることがない。
In the processing procedures shown in FIGS. 6 to 9, the feature of this embodiment is that the server device 30 first stores the public key certificate, and at least the client device 40 stores the new root key. This is a point to be executed after the processing to be performed, that is, after a response indicating that at least the distribution root key certificate has been received from the client device 40.
As described above in the description of steps S129 and S130 in FIG. 8, it is inconvenient to store two public key certificates at the same time for the server device 30. Therefore, when storing a new server public key certificate, Even if such rewriting is performed, the authentication process will not be hindered after the new root key is stored in the client device 40.

なお、この実施形態では、サーバ装置30に新ルート鍵を記憶させる前にクライアント装置40に新クライアント公開鍵証明書を記憶させるので、サーバ装置30に新ルート鍵を記憶させるまでは、通信に、新クライアント公開鍵証明書のデジタル署名をサーバ装置30が復号化できないことによるオーバーヘッドが生じる。
そして、オーバーヘッドが生じないようにするためには、サーバ装置30及びクライアント装置40の両方に新ルート鍵を記憶させた後でサーバ装置30及びクライアント装置40のそれぞれに新公開鍵証明書を記憶させ、さらにこれが完了した後でそれぞれの従前のルート鍵や公開鍵証明書を廃棄させることも考えられる。しかし、このようにすると、証明書管理装置10からサーバ装置30(あるいはサーバ装置30を介してクライアント装置40)に計6回の要求送信が必要になる。
In this embodiment, since the new client public key certificate is stored in the client device 40 before the server device 30 stores the new root key, the communication until the server device 30 stores the new root key. There is an overhead due to the server device 30 being unable to decrypt the digital signature of the new client public key certificate.
In order to prevent overhead, the new root key is stored in both the server device 30 and the client device 40, and then the new public key certificate is stored in each of the server device 30 and the client device 40. It is also possible to discard each previous root key or public key certificate after this is completed. However, if this is done, a total of six request transmissions from the certificate management device 10 to the server device 30 (or the client device 40 via the server device 30) are required.

しかし、この実施形態で用いた手順であれば、計3回の要求を送信するのみでルート鍵の更新処理を行うことができる。従って、処理手順の管理やプログラムの設計が容易であるという効果がある。ルート鍵証明書を更新すべきサーバ装置やクライアント装置の数が多い場合には、この効果はより大きくなり、この実施形態が有効である。
また、処理1や処理2において、各証明書について正当性を確認した後で必要なものを一括して記憶するようにすれば、証明書を記憶する不揮発メモリへのアクセス回数を低減し、処理負荷を低減すると共に処理を高速化することができる。
However, according to the procedure used in this embodiment, the root key update process can be performed only by transmitting a total of three requests. Therefore, there is an effect that the management of the processing procedure and the design of the program are easy. When the number of server devices and client devices to update the root key certificate is large, this effect becomes even greater, and this embodiment is effective.
Further, in the processing 1 and processing 2, if the validity of each certificate is confirmed and the necessary items are stored in a lump, the number of accesses to the nonvolatile memory storing the certificate can be reduced, and processing can be performed. It is possible to reduce the load and speed up the processing.

なお、従前のルート鍵証明書、配布用ルート鍵証明書、および公開鍵証明書の廃棄は必須の処理ではないが、これらをいつまでも記憶させておくとすると、記憶容量を無駄に消費することになる。鍵や証明書の記憶には、信頼性の高い記憶手段を用いることが好ましく、従って容量当たりのコストが高いので、この点は大きな問題になる。また、配布用ルート鍵証明書は、自己署名形式でないので、使用する際に従前のルート鍵証明書を参照する必要があり、処理効率が悪い。そこで、これらの証明書は、不要になった時点で速やかに廃棄するようにするとよい。   Note that discarding the previous root key certificate, distribution root key certificate, and public key certificate is not an indispensable process, but if these are stored indefinitely, the storage capacity is wasted. Become. For storing keys and certificates, it is preferable to use a highly reliable storage means, and therefore the cost per capacity is high, which is a big problem. Further, since the distribution root key certificate is not in a self-signed form, it is necessary to refer to the previous root key certificate when used, and the processing efficiency is poor. Therefore, these certificates should be promptly discarded when they are no longer needed.

また、ルート鍵は一旦記憶してしまえば一般に外部に送信する必要はないので、その後の破損や改竄は考えにくいことから、ルート鍵証明書ではなく、鍵部分のみを記憶することも考えられる。このような場合には、配布用ルート鍵証明書に含まれる新ルート鍵を記憶してしまえばよいので、証明書管理装置10から新ルート鍵証明書を別途送信する必要はない。また、不要なルート鍵証明書の廃棄に代えて、従前のルート鍵の廃棄のみを行うようにすればよい。
さらにまた、ルート鍵を使用する際に、デジタル署名の確認を行わないようにすることもできるが、この場合にも、新ルート鍵証明書を別途送信する必要はなく、不要なルート鍵証明書の廃棄の際には従前のルート鍵証明書のみを廃棄すればよい。
In addition, once the root key is stored, it is generally not necessary to transmit it to the outside, and subsequent damage or tampering is unlikely. Therefore, it is also possible to store only the key portion instead of the root key certificate. In such a case, it is only necessary to store the new root key included in the distribution root key certificate, so there is no need to separately transmit the new root key certificate from the certificate management apparatus 10. Further, instead of discarding unnecessary root key certificates, it is only necessary to discard the previous root key.
Furthermore, when using a root key, it is possible not to check the digital signature, but in this case there is no need to send a new root key certificate separately, and an unnecessary root key certificate is required. Only the previous root key certificate needs to be discarded when the certificate is discarded.

また、この実施形態において、サーバ装置30からクライアント装置40への送信は、クライアント装置40からの通信要求に対する応答として行う例について説明したが、サーバ装置30がクライアントとしても機能できるようにし、クライアント装置40がサーバとしても機能できるようにし、これらの機能によって、サーバ装置30からクライアント装置40へデータや要求を直接送信できるようにしてもよい。このような場合は、クライアント装置40による通信要求は不要である。この点は、以下の実施形態においても同様である。   In this embodiment, the example in which the transmission from the server device 30 to the client device 40 is performed as a response to the communication request from the client device 40 has been described. However, the server device 30 can also function as a client, and the client device 40 may function as a server, and by these functions, data and requests may be transmitted directly from the server apparatus 30 to the client apparatus 40. In such a case, a communication request by the client device 40 is not necessary. This also applies to the following embodiments.

〔第1の実施形態の変形例:図12〕
次に、上述した第1の実施形態の変形例について説明する。
この変形例は、各1つのクライアント及びサーバによってクライアント・サーバシステムを構成する点は上述した第1の実施形態の場合と同様であるが、証明書管理装置10の直接の通信相手となる装置がクライアント装置40である点が第1の実施形態の場合と異なる。
この変形例のデジタル証明書管理システムを構成する各装置の機能構成を、図2と対応する図12の機能ブロック図に示す。この図において、図2と対応する部分には同一の符号を付している。
[Modification of First Embodiment: FIG. 12]
Next, a modification of the above-described first embodiment will be described.
This modification is the same as in the first embodiment described above in that the client / server system is configured by each one client and server, but the apparatus that is the direct communication partner of the certificate management apparatus 10 is the same. The client device 40 is different from the first embodiment.
The functional configuration of each device constituting the digital certificate management system of this modification is shown in the functional block diagram of FIG. 12 corresponding to FIG. In this figure, parts corresponding to those in FIG.

この図からわかるように、この変形例においては、クライアント装置40にもサーバ機能部44を設けている。そして、このサーバ機能部44は、受信した要求に対して所要の処理を行って応答を返すサーバとしての機能を有し、証明書管理装置10との通信のために設けたものである。クライアント装置40がクライアント機能部43しか有しないとすると、証明書管理装置10からクライアント装置40にデータや要求等を送信する場合に、クライアント装置40からの通信要求を待つ必要が生じてしまう。   As can be seen from this figure, in this modification, the client device 40 is also provided with a server function unit 44. The server function unit 44 has a function as a server that performs a required process on the received request and returns a response, and is provided for communication with the certificate management apparatus 10. If the client device 40 has only the client function unit 43, it is necessary to wait for a communication request from the client device 40 when transmitting data, a request, or the like from the certificate management device 10 to the client device 40.

しかし、ルート鍵の更新処理は頻繁に行われるものではなく、例えば年に1回程度であるので、このためにクライアント装置40が証明書管理装置10に対して定期的に通信要求を送信するとすると、ほとんどの通信が無駄になることになる。そこで、クライアント装置40にサーバ機能部44を設け、証明書管理装置10側から通信を要求できるようにしたものである。このサーバ機能部44の機能も、クライアント装置40のCPUが所要の制御プログラムを実行してクライアント装置40の各部の動作を制御することにより実現されるものである。   However, the root key update process is not frequently performed, for example, once a year. For this reason, when the client device 40 periodically transmits a communication request to the certificate management device 10. Most communication will be wasted. Therefore, a server function unit 44 is provided in the client device 40 so that communication can be requested from the certificate management device 10 side. The function of the server function unit 44 is also realized by the CPU of the client device 40 executing a required control program and controlling the operation of each unit of the client device 40.

ただし、クライアント・サーバシステムを構成するサーバ装置30との関係においては、クライアント装置40は常にクライアントとして機能する。従って、証明書管理装置10からサーバ装置30への通信を仲介する場合には、通信機能部42が証明書管理装置10から受信したデータや要求を、サーバ機能部44が受け取り、これをクライアント機能部43に渡して、クライアント機能部43の指示に基づいてサーバ装置30に対する通信を要求してサーバ装置30に送信することになる。サーバ装置30からの応答を証明書管理装置10に返す場合には、この逆の処理となる。   However, the client device 40 always functions as a client in relation to the server device 30 constituting the client / server system. Therefore, when mediating communication from the certificate management device 10 to the server device 30, the server function unit 44 receives the data and request received from the certificate management device 10 by the communication function unit 42, and this is received by the client function. Passed to the unit 43, communication with the server device 30 is requested based on an instruction from the client function unit 43 and transmitted to the server device 30. When a response from the server device 30 is returned to the certificate management device 10, the process is reversed.

これらの変更に伴ってルート鍵更新処理のシーケンスは変更されるが、証明書管理装置10からクライアント装置40に対する要求は直接送信でき、サーバ装置30に対する要求は、クライアント装置40が仲介して送信するが通信要求を待つことなく送信できる点が第1の実施形態の場合と異なるのみである。そして、クライアント装置40に先に配布用ルート鍵証明書,新ルート鍵証明書,新クライアント公開鍵証明書を送信して記憶させ、その後サーバ装置30にこれらの証明書を送信して記憶させると共に従前の証明書及び配布用ルート鍵証明書を廃棄させ、さらにその後クライアント装置40にも不要になった証明書を廃棄させるという手順は同じである。
従って、詳細な処理シーケンスの図示は省略するが、この変形例の構成においても、上述した第1の実施形態の場合と同様に、サーバ装置30とクライアント装置40との間の認証処理に大きな影響を与えることなく、ルート鍵を自動制御で更新することができ、クライアント・サーバシステムにおけるSSLによる認証処理を、低コストで運用することができる。
Although the sequence of the root key update process is changed in accordance with these changes, a request for the client device 40 can be directly transmitted from the certificate management device 10, and a request for the server device 30 is transmitted via the client device 40. Is different from the case of the first embodiment in that transmission can be performed without waiting for a communication request. Then, the distribution root key certificate, the new root key certificate, and the new client public key certificate are transmitted and stored in the client device 40, and then these certificates are transmitted and stored in the server device 30. The procedure for discarding the previous certificate and the distribution root key certificate and then discarding the unnecessary certificate in the client device 40 is the same.
Therefore, although detailed illustration of the processing sequence is omitted, the configuration of this modified example also has a great influence on the authentication processing between the server device 30 and the client device 40, as in the case of the first embodiment described above. Therefore, the root key can be updated by automatic control, and the authentication process by SSL in the client / server system can be operated at a low cost.

〔第2の実施形態:図13乃至図37〕
次に、この発明によるデジタル証明書管理装置である証明書管理装置と、クライアント・サーバシステムを構成するクライアント装置及びサーバ装置とによって構成される、この発明のデジタル証明書管理システムの第2の実施形態の構成について説明する。
このデジタル証明書管理システムにおいては、図13に示すように、クライアント・サーバシステムを、上位ノードが下位ノードを従える形式で複数段に亘って構成している。すなわち、証明書管理装置の直接の通信相手となるノードOが最上位ノードであり、そのノードOの通信相手となるノードXとノードYがその下位に位置し、ノードXの通信相手となるノードAとノードBがその下位に位置し、ノードYの通信相手となるノードCとノードDがその下位に位置し、といったように、O,X,Y,A,B,C,Dの7つのノードによってクライアント・サーバシステムを構成している。
[Second Embodiment: FIGS. 13 to 37]
Next, a second embodiment of the digital certificate management system according to the present invention, comprising a certificate management device which is a digital certificate management device according to the present invention, and a client device and a server device constituting a client / server system. The configuration of the form will be described.
In this digital certificate management system, as shown in FIG. 13, the client / server system is configured in a plurality of stages in such a form that the upper node follows the lower node. That is, the node O that is the direct communication partner of the certificate management apparatus is the highest node, the node X and the node Y that are the communication counterparts of the node O are located below it, and the node that is the communication partner of the node X A and node B are located in the lower order, node C and node D, which are the communication partners of node Y, are located in the lower order, and so on, and seven of O, X, Y, A, B, C and D A client / server system is configured by nodes.

そして、これらの各ノードは、そのノードに対して発行されたデジタル証明書である公開鍵証明書と、通信相手から送られてくる公開鍵証明書の正当性を確認するためのルート鍵を含むルート鍵証明書とを記憶し、これらを用いたSSLによる認証処理によって相手を正当な通信相手として認証した場合に、通信を確立させるようにしている。ここで、各ノードには、工場出荷時あるいはそれに順ずる時期、少なくともユーザが認証処理の運用を開始する前に、初めのルート鍵を記憶させておくものとする。このとき、公開鍵証明書及び私有鍵も共に記憶させるようにするとよい。
なおここでは、ノードO以外は、図に矢印で示したノード間以外では直接通信を行うことができないように認証処理の基準を設定してあるものとする。ただし、各ノードは、直接の通信相手とはならないノードや証明書管理装置10との通信を、間にある各ノードに仲介させて行うことができ、またこのような仲介を行うことができる。
Each of these nodes includes a public key certificate, which is a digital certificate issued to the node, and a root key for confirming the validity of the public key certificate sent from the communication partner. The root key certificate is stored, and communication is established when the other party is authenticated as a valid communication party by SSL authentication processing using these. Here, it is assumed that the initial root key is stored in each node at the time of factory shipment or at the same time, at least before the user starts the operation of the authentication process. At this time, both the public key certificate and the private key may be stored.
Here, it is assumed that, except for the node O, the authentication processing standard is set so that direct communication cannot be performed except between the nodes indicated by arrows in the drawing. However, each node can perform communication with a node that is not a direct communication partner or the certificate management apparatus 10 with each node in between, and can perform such mediation.

この場合において、ノードO以外の各ノードが証明書管理装置10と通信を行う場合には、必ずノードOが仲介して行い、その通信の可否をノードOに依存することになる。このような関係がある場合、ノードOを他のノードよりも上位のノードと呼ぶものとする。同様に、ノードXはノードA,Bよりも上位のノードである。下位のノードについては、上位のノードと逆の関係を指すものとする。すなわち、ノードC,DはノードYよりも下位のノードである。また、直接の通信相手となる上位のノードを単に「上位ノード」、直接の通信相手となる下位のノードを単に「下位ノード」と呼ぶことにする。
このようなクライアント・サーバシステムにおいて、各ノードは、通信相手と通信を行う際、クライアントとサーバのいずれか一方として機能する。第1の実施形態で説明したとおり、クライアントは通信に際して接続要求を発する側、サーバはそれに対して応答を返す側である。
なおここでは、クライアントから接続要求があった場合に認証処理を行うために1つの公開鍵証明書をそのクライアントに返す構成単位が、1つのサーバであると考える。例えば共通のハードウェアをバーチャルサーバ等の機能を利用して複数のサーバとして機能させ、その各サーバについて異なった公開鍵証明書を用いるようにすることも考えられるが、このような場合には使用する公開鍵証明書毎に別々のサーバであるものと考え、同じハードウェアが複数のノードとして機能しているものとして取り扱う。
In this case, when each node other than the node O communicates with the certificate management apparatus 10, the node O always acts as an intermediary, and the availability of the communication depends on the node O. When there is such a relationship, the node O is referred to as a higher node than other nodes. Similarly, the node X is a higher order node than the nodes A and B. For the lower nodes, the reverse relationship with the upper nodes is assumed. That is, nodes C and D are lower-order nodes than node Y. Further, an upper node serving as a direct communication partner is simply referred to as an “upper node”, and a lower node serving as a direct communication partner is simply referred to as a “lower node”.
In such a client / server system, each node functions as either a client or a server when communicating with a communication partner. As described in the first embodiment, the client is the side that issues a connection request for communication, and the server is the side that returns a response to it.
In this case, it is assumed that one server is a structural unit that returns one public key certificate to a client in order to perform authentication processing when a connection request is made from the client. For example, it is possible to make common hardware function as multiple servers using functions such as a virtual server, and use different public key certificates for each server. Each public key certificate is considered to be a separate server, and the same hardware is treated as functioning as a plurality of nodes.

この実施形態においては、図13に示すように、ノードOとノードXとが通信する際にはノードOがクライアントとして、ノードXがサーバとして機能する。しかし、ノードXはノードAと通信する際にはクライアントとして機能し、このときノードAはサーバとして機能する。このように、ノードによっては、通信相手に応じてサーバとクライアントの両方として機能する場合もある。
また、図13に示す構成には含まれていないが、どのノードと通信する場合もクライアントとして機能したり、どのノードと通信する場合もサーバとして機能したりというように、サーバとクライアントの一方のみとして機能するノードもありうる。
In this embodiment, as shown in FIG. 13, when the node O and the node X communicate with each other, the node O functions as a client and the node X functions as a server. However, the node X functions as a client when communicating with the node A, and at this time, the node A functions as a server. Thus, depending on the communication partner, some nodes may function as both a server and a client.
Although not included in the configuration shown in FIG. 13, only one of the server and the client functions as a client when communicating with any node, or functions as a server when communicated with any node. There can also be a node that functions as:

なお、やはり図13に示す構成には含まれていないが、ノード間の通信において、場合によってノードの機能が入れ替わる構成もあり得る。即ち、同じノードと通信する場合でも、1つのノードがある時にはサーバとして機能し、ある時にはクライアントとして機能するような場合もある。
しかし、この実施形態においては、後述するように更新手順を決定する際、あるノードが同じ通信相手と通信する際の機能は、一意に定まっている必要がある。従って、上記のような場合には、機能の一方を自動又は手動で選択し、その一方の機能のみで通信を行うものとして取り扱ってルート鍵更新処理を行う必要がある。この場合、上位ノードがクライアントとなる方の機能を選択することが好ましい。後述のように、クライアントからサーバへは通信要求を待つことなくデータを送信することができるので、証明書管理装置10から対象ノードへ要求を送信する際に、通信要求待ちによる時間のロスを低減することができるためである。
Although not included in the configuration shown in FIG. 13, there may be a configuration in which the functions of the nodes are switched in some cases in communication between the nodes. That is, even when communicating with the same node, it may function as a server when there is one node, and may function as a client at other times.
However, in this embodiment, when an update procedure is determined as described later, a function when a certain node communicates with the same communication partner needs to be uniquely determined. Therefore, in the above case, it is necessary to select one of the functions automatically or manually, and handle the communication as only one of the functions and perform the root key update process. In this case, it is preferable to select the function of the higher-level node that becomes the client. As will be described later, since data can be transmitted from the client to the server without waiting for a communication request, when transmitting a request from the certificate management apparatus 10 to the target node, time loss due to waiting for the communication request is reduced. This is because it can be done.

なお、選択しなかった方の機能を使用した場合の認証処理は更新処理中に一時成立しなくなる恐れがあるが、このような場合でも、選択した方の機能を使用した場合の認証処理は問題なく実行できるので、通信が途絶してしまうことはない。また、双方のノードについて更新が完了すれば、再度両機能で認証処理が可能になる。
そこで、このようにノードの機能が入れ替わる場合を考慮すると説明が複雑になることも鑑み、以後はこのような場合を考慮せずに説明を行うが、この発明は上記のように場合によって機能が入れ替わるノードがある場合にも適用可能であることは強調しておく。
いずれにせよ、各ノードは通信が行う際には、一方がサーバとして機能する場合には他方はクライアントとして機能し、逆もまた然りである。
Note that the authentication process when the function that was not selected is used may not be temporarily established during the update process. Even in such a case, the authentication process when the function that is selected is used is a problem. Because it can be executed without interruption, communication will not be interrupted. Further, when the update is completed for both nodes, the authentication process can be performed again with both functions.
Therefore, in consideration of the fact that the description becomes complicated when considering the case where the function of the node is switched in this way, the following description will be given without considering such a case, but the present invention has a function depending on the case as described above. It should be emphasized that this is applicable even when there are nodes to be replaced.
In any case, when communicating, when one node functions as a server, the other functions as a client, and vice versa.

個々のノードの機能や構成については、証明書管理装置10は第1の実施形態で図2を用いて説明した証明書管理装置10と同様であり、サーバのみとして機能するノード、クライアントのみとして機能するノードは、同じくそれぞれサーバ装置30あるいはクライアント装置40と同様である。
ただし、最上位ノードが下位ノードとの関係でクライアントのみとして機能する場合でも、第1の実施形態の変形例で図12を用いて説明したクライアント装置40と同様、証明書管理装置10との通信においてはサーバとして機能する。サーバとクライアントの両方として機能するノードについても、概ね図12に示したクライアント装置40と同様な機能を有するが、証明書管理装置10以外のノードとの通信においてもサーバ機能部44を用いる点、クライアント機能部43も証明書等を受信して証明書記憶部41に記憶させる動作を行う場合もある点が変形例の場合と異なる。
Regarding the function and configuration of each node, the certificate management apparatus 10 is the same as the certificate management apparatus 10 described with reference to FIG. 2 in the first embodiment, and functions only as a node and a client that function only as a server. Similarly, the nodes to be performed are the same as the server device 30 or the client device 40, respectively.
However, even when the highest node functions only as a client in relation to the lower nodes, communication with the certificate management apparatus 10 is performed in the same manner as the client apparatus 40 described with reference to FIG. 12 in the modification of the first embodiment. Functions as a server. The node functioning as both the server and the client also has the same function as that of the client device 40 shown in FIG. 12, but the server function unit 44 is also used for communication with nodes other than the certificate management device 10, The client function unit 43 is different from the modified example in that the client function unit 43 may perform an operation of receiving a certificate or the like and storing it in the certificate storage unit 41.

ところで、図14に、このデジタル証明書管理システムにおける、証明書管理装置10の構成記憶部26での、クライアント・サーバシステムを構成する各ノードの情報の記憶形式を示す。この図に示すように、構成記憶部26は、まず各ノード毎に、ノードID、ノード状態、世代数を記憶している。さらに、そのノードの通信相手となる各ノードのIDと共に、その通信相手と通信する際にクライアントとサーバのいずれとして機能するかを示す情報、その通信相手と通信する際に使用するルート鍵の情報、その通信相手における更新手順決定の処理の進行状況を示すリンク状態の情報を記憶している。
ここで、「通信相手」とは、図13に矢印で示したように、認証処理を行った上で通信を行う相手を指すものとする。そして、「リンク」とは、あるノードとそのノードの通信相手となる他のノードとの間の通信経路を指すものとし、ここでは通信相手となるノードのID及びその通信相手と通信する際にクライアントとサーバのいずれとして機能するかを示す情報によってその内容が示される。
FIG. 14 shows a storage format of information of each node constituting the client / server system in the configuration storage unit 26 of the certificate management apparatus 10 in this digital certificate management system. As shown in this figure, the configuration storage unit 26 first stores a node ID, a node state, and the number of generations for each node. Further, together with the ID of each node that is a communication partner of the node, information indicating whether to function as a client or a server when communicating with the communication partner, and information of a route key used when communicating with the communication partner The link state information indicating the progress of the update procedure determination process in the communication partner is stored.
Here, the “communication partner” refers to a partner that performs communication after performing an authentication process, as indicated by an arrow in FIG. The “link” refers to a communication path between a certain node and another node that is a communication partner of the node, and here, when communicating with the ID of the node that is a communication partner and the communication partner. The contents are indicated by information indicating whether the client or server functions.

また、「世代数」とは、上述したノードの上位下位を相対的に表す数値であり、「順位」と呼ぶこともできる。そしてここでは、証明書管理装置10の直接の通信相手となる最上位のノードで1、以下証明書管理装置10との間にノードを1つはさむ毎に1ずつ増加するものとする。そして、世代数が大きくなるほど、順位は下位である。ただし、この情報は必須ではなく、証明書管理装置10の直接の通信相手となるか否かのみを識別できれば足りる。
これらの情報が、構成情報である。
The “number of generations” is a numerical value that relatively represents the upper and lower ranks of the above-described nodes, and can also be referred to as “order”. Here, it is assumed that the highest node that is the direct communication partner of the certificate management apparatus 10 increases by 1, and every time one node is inserted between the certificate management apparatus 10 and 1 each. And the higher the number of generations, the lower the ranking. However, this information is not indispensable, and it is only necessary to identify whether or not the certificate management apparatus 10 is a direct communication partner.
These pieces of information are configuration information.

また、図示は省略したが、各ノードの情報として、そのノードが保有しているルート鍵証明書や公開鍵証明書のIDを、その有効期限と共に記憶するようにしてもよい。
なお、「ノード状態」及び「リンク状態」は、後述するこの発明の更新順決定方法に係る処理において使用する情報であり、処理の進行に従って順次書き換え、処理の進行状況を示すために用いる。そして、「ノード状態」は、その情報を持つノードについての処理がどの程度進んだかを示す情報であり、「未処理」、「追加済」、「注目済」の状態を有し、通常はこの順に変化する。また、「リンク状態」は、その情報を持つノードからリンクの先の下位ノードを辿る処理がどの程度進んだかを示す情報であり、「未処理」、「処理待ち」、「処理済」の状態を有し、通常はこの順に変化する。これらの情報についてのより詳細な説明は、更新順決定処理の説明と共に後述する。
Although not shown, the root key certificate and public key certificate ID held by each node may be stored together with the expiration date as information of each node.
Note that “node state” and “link state” are information used in processing related to the update order determination method of the present invention, which will be described later, and are used for sequentially rewriting and indicating the progress of the processing according to the progress of the processing. The “node state” is information indicating how much the processing for the node having the information has progressed, and has the states of “unprocessed”, “added”, and “attentioned”. It changes in order. The “link status” is information indicating how far the process of tracing the subordinate node at the link destination has progressed from the node having the information. The status of “unprocessed”, “waiting for processing”, “processed” It usually changes in this order. A more detailed description of these pieces of information will be described later together with the description of the update order determination process.

図15に、図14に示した形式で記憶する情報の具体例を示す。ここでは、図13に示した各ノードに関する情報を記憶する場合の例を示している。ただし、ノード状態及びリンク状態については、全て「未処理」としている。
すなわち、ノードOについては、(a)に示すようにノードIDとして「ノードO」を記憶し、証明書管理装置10の直接の通信相手となるので世代数として「1」を記憶している。そして、通信相手となる下位ノードの情報として、ノードXとノードYの情報をそれぞれ記憶している。また、ノードXと通信する際にノードOはクライアントとして機能するのでその旨を記憶し、使用するルート鍵の情報としてはここでは「ルート鍵A」を記憶している。また、ノードYと通信する際にノードOはサーバとして機能するのでその旨を記憶し、使用するルート鍵の情報としてはこちらも「ルート鍵A」を記憶している。
FIG. 15 shows a specific example of information stored in the format shown in FIG. Here, an example is shown in which information regarding each node shown in FIG. 13 is stored. However, the node state and link state are all “unprocessed”.
That is, with respect to the node O, “node O” is stored as the node ID as shown in (a), and “1” is stored as the generation number because it is the direct communication partner of the certificate management apparatus 10. And the information of the node X and the node Y is each memorize | stored as information of the low-order node used as a communicating party. Further, since the node O functions as a client when communicating with the node X, this fact is stored, and “root key A” is stored here as information on the root key to be used. Further, since the node O functions as a server when communicating with the node Y, it stores that fact and also stores “root key A” as information on the root key to be used.

他の各ノードX,Y,A〜Dについては、それぞれ同様に図15(b)〜(g)のような情報を記憶している。これらのノードについて、通信相手の情報としては下位ノードの情報のみを記憶している。これは、上位ノードとの通信に関する情報は、上位ノード側で記憶済みであり、サーバ/クライアントの別等もその情報から導き出せるので、下位ノード側で新たに記憶する必要がないためである。
上位ノードの情報も記憶するようにすれば、対象ノードについての情報を参照するのみでそのノードの通信相手となる全てのノードを知ることができるが、下位ノードの情報のみを記憶するようにすることにより、情報の記憶容量を抑えることができる。しかし、どちらの形態を取るにせよ、各ノードの通信相手及びその通信相手との間でクライアントとサーバのいずれとして機能するかの情報は記憶できているので、これを参照して後述のように証明鍵の更新手順を定めることができる。
For each of the other nodes X, Y, A to D, information as shown in FIGS. 15B to 15G is stored in the same manner. For these nodes, only information on lower nodes is stored as communication partner information. This is because the information related to communication with the upper node is already stored on the upper node side, and the server / client distinction can be derived from the information, so that it is not necessary to newly store it on the lower node side.
If information on the upper node is also stored, it is possible to know all the nodes that are communication partners of the node only by referring to the information on the target node, but only information on the lower node is stored. As a result, the storage capacity of information can be suppressed. However, whichever form it takes, the information about the communication partner of each node and whether it functions as a client or a server between the communication partners can be stored. A certification key update procedure can be defined.

なお、図15に示したような情報を証明書管理装置10に集めるためには、各ノードが、自身に関する情報として、通信相手となる下位ノード、そのノードと通信する際にクライアントとサーバのいずれとして機能するかの情報、およびその通信相手と通信する際に使用するルート鍵の情報を収集しておき、各ノードが初めて証明書管理装置10と通信する際に、各ノードから証明書管理装置10にこれらの情報を通知するようにするとよい。また、変更があった場合にも速やかに証明書管理装置10に通知するようにするとよい。そして、証明書管理装置10が、各ノードから通知された情報をもとに、各ノードについて、世代数やルート鍵の更新要否を判断し、これらの情報を設定するようにするとよい。   In order to collect the information as shown in FIG. 15 in the certificate management apparatus 10, each node, as information relating to itself, either a lower-level node that is a communication partner or a client or a server when communicating with that node Information about whether to function as a communication partner, and root key information used when communicating with the communication partner, and when each node communicates with the certificate management device 10 for the first time, the certificate management device from each node 10 may be notified of such information. Further, it is preferable to notify the certificate management apparatus 10 promptly even when there is a change. Then, the certificate management apparatus 10 may determine the number of generations and necessity of updating the root key for each node based on the information notified from each node, and set the information.

また、世代数の情報については、各ノードの接続関係や通信相手が変更されるとそれに応じて変化するので、後述のように、少なくともルート鍵更新処理を行う度に設定し直すようにしている。ただし、世代数「1」のノードに変更があった場合には、手動または自動にて直ちにその変更を反映させるものとする。
また、場合によってはノード毎に認証処理に用いるルート鍵が異なる場合も考えられるが、この場合には、共通のルート鍵を使用するグループ毎に更新処理を行うものとする。すなわち、後述するものも含め、第1乃至第3の実施形態及びそれらの変形例をグループ毎に適用することにより、グループ毎に独立して更新処理を行うことができる。
In addition, since the information on the number of generations changes according to changes in the connection relationship and communication partner of each node, as described later, it is reset at least every time the root key update process is performed. . However, if there is a change in the generation number “1” node, the change is immediately reflected manually or automatically.
In some cases, the root key used for the authentication process may be different for each node. In this case, the update process is performed for each group using a common root key. That is, by applying the first to third embodiments and their modifications including those described later for each group, the update process can be performed independently for each group.

次に、図16を用いて、図13に示した第2の実施形態のデジタル証明書管理システムの場合のように、上位ノードが下位ノードを従える形式で複数段に亘って構成したクライアント・サーバシステムにおける各ノードへ、証明書管理装置10から要求を伝達する際の通信手順について説明する。図16はこの通信手順について説明するためのシーケンス図である。
図16には、1つの例として、最上位ノードPから最下位ノードTまでの5つのノードによって構成されるクライアント・サーバシステムにおいて、証明書管理装置10から最下位ノードTに対して要求を送信し、その要求に対応する処理を実行させて応答を受け取るまでの処理シーケンスを示している。各ノードが他のノードと通信する場合にクライアントとサーバのいずれとして機能するかは、ノード名の下側にC又はSの符号で示している。そしてこの処理は、証明書管理装置10及び各ノードのCPUが、所要の制御プログラムを実行することによって行うものである。
Next, referring to FIG. 16, as in the case of the digital certificate management system according to the second embodiment shown in FIG. A communication procedure for transmitting a request from the certificate management apparatus 10 to each node in the system will be described. FIG. 16 is a sequence diagram for explaining this communication procedure.
In FIG. 16, as an example, a request is sent from the certificate management apparatus 10 to the lowest node T in the client / server system including five nodes from the highest node P to the lowest node T. The processing sequence from the execution of the processing corresponding to the request to the reception of the response is shown. Whether each node functions as a client or a server when communicating with other nodes is indicated by a symbol C or S below the node name. This process is performed by the certificate management apparatus 10 and the CPU of each node executing a required control program.

この図に示すように、証明書管理装置10がノードTに対して何らかの動作要求を行おうとする場合、構成記憶部26に記憶している情報を参照してノードTまでの通信パスを定め(ここではP→Q→R→S→T)、まず最上位のノードPに対してノードT宛要求送信要求を送信する(S201)。この要求は、ノードTを送信先として、その送信先に向けて動作要求及び必要な情報を送信する動作を行うよう要求するものである。   As shown in this figure, when the certificate management apparatus 10 tries to make an operation request to the node T, the communication path to the node T is determined with reference to the information stored in the configuration storage unit 26 ( Here, P → Q → R → S → T), first, a request transmission request addressed to the node T is transmitted to the highest node P (S201). This request is for requesting the node T as a transmission destination to perform an operation request and an operation of transmitting necessary information toward the transmission destination.

ここで、ノードTはノードPの通信相手となるノードではないので、証明書管理装置10側でノードTまでの通信パスを示す情報を送信要求に含めておくようにするとよい。ただし、各ノードに、少なくとも自己より下位のノードについての通信相手の情報を記憶しておくようにすれば、宛先情報のみで以後の通信パスを探索することができる。
ノードT宛要求送信要求を受け取ったノードPは、処理内容や通信経路から判断して短時間で応答が返せないと判断した場合には、証明書管理装置10に対して応答遅延通知を返して通信を切断する(S202)。短時間で応答が返せると判断した場合にはそのまま次に進む。そして、ノードTまでの通信パスを辿り、次のノードQに対してノードT宛要求送信要求を送信する(S203)。ノードPはノードQと通信する場合にはクライアントとして機能するので、自分から通信を要求してこの送信を行うことができる。
Here, since the node T is not a node that is a communication partner of the node P, information indicating a communication path to the node T on the certificate management apparatus 10 side may be included in the transmission request. However, if each node stores information on the communication partner for at least a node lower than itself, a subsequent communication path can be searched using only destination information.
The node P that has received the request transmission request addressed to the node T returns a response delay notification to the certificate management apparatus 10 when determining that the response cannot be returned in a short time based on the processing contents and the communication path. The communication is disconnected (S202). If it is determined that a response can be returned in a short time, the process proceeds as it is. Then, the communication path to the node T is traced, and a request transmission request addressed to the node T is transmitted to the next node Q (S203). Since the node P functions as a client when communicating with the node Q, the node P can request this communication and perform this transmission.

これを受け取ったノードQも、ノードPの場合と同様に、短時間で応答が返せないと判断した場合には応答遅延通知を返し(S204)、そうでない場合にはそのまま次に進み、ノードTまでの通信パスを辿って次のノードRに対してノードE宛要求送信要求を送信する(S205)。
ノードRも同様に、必要な場合に応答遅延通知を返し(S206)、ノードTまでの通信パスを辿って次のノードSに対してノードT宛要求送信要求を送信する。しかし、ノードRはノードSと通信する場合にはサーバとして機能するので、図7のステップS113及びS114の場合のように、ノードSからの通信要求(S207)を待ち、これに対する応答として送信するようにする(S208)。
Similarly to the case of the node P, the node Q that has received this also returns a response delay notification when it is determined that a response cannot be returned in a short time (S204). A request transmission request addressed to the node E is transmitted to the next node R following the communication path up to (S205).
Similarly, the node R returns a response delay notification when necessary (S206), follows the communication path to the node T, and transmits a request transmission request addressed to the node T to the next node S. However, since the node R functions as a server when communicating with the node S, it waits for a communication request (S207) from the node S and transmits it as a response to this, as in steps S113 and S114 of FIG. (S208).

ノードT宛要求送信要求を受け取ったノードSは、ノードTを下位ノードとするので、ノードT宛要求送信要求からノードTに送信すべき要求や情報を取り出し、ノードTに対してその要求を送信する(S209)。
ノードTは、この要求を受け取ると、ステップS210でそれに対応する処理(デジタル証明書の更新等)を行い、応答を返す(S211)。要求には送信元の情報が含まれており、ノードTは応答を証明書管理装置10に返すべきことは認識できるので、応答の送信先として証明書管理装置10を指定し、まず上位ノードであるノードSに送信する。そして、ノードSはこれをさらに上位のノードRに送信する(S212)。
The node S that has received the request transmission request addressed to the node T extracts the request and information to be transmitted to the node T from the request transmission request addressed to the node T, and transmits the request to the node T. (S209).
Upon receiving this request, the node T performs corresponding processing (such as digital certificate update) in step S210 and returns a response (S211). Since the request includes the information of the transmission source and the node T can recognize that the response should be returned to the certificate management apparatus 10, the certificate management apparatus 10 is designated as the response transmission destination. Transmit to a certain node S. Then, the node S transmits this to the higher-order node R (S212).

ノードRも上位のノードQに送信するが、ステップS206の応答遅延通知を行っている場合には、通信が一旦切断されており、ノードR側からは通信を要求できないので、ノードQからの通信要求(S213)を待ち、これに対する応答として送信する(S214)。応答遅延通知を行っていない場合には、ノードT宛要求送信要求に対する応答としてこれを送信することができる。ノードQからノードP、ノードPから証明書管理装置10への送信も、同様である(S215〜S218)。
以上の処理により、証明書管理装置10は、最下位のノードTに対して要求を送信して動作を行わせ、応答を受け取ってその動作の成否を知ることができる。
The node R also transmits to the upper node Q. However, if the response delay notification in step S206 is performed, the communication is temporarily cut off and communication cannot be requested from the node R side. It waits for a request (S213) and transmits it as a response (S214). When the response delay notification is not performed, this can be transmitted as a response to the request transmission request for the node T. The same applies to transmission from the node Q to the node P and from the node P to the certificate management apparatus 10 (S215 to S218).
Through the above processing, the certificate management apparatus 10 can send a request to the lowest node T to perform an operation, receive a response, and know the success or failure of the operation.

なお、ここではノードTに対する要求を行う場合の例について説明したが、途中のノードに対しても同様に要求を送信し、応答を取得することができる。対象ノードのすぐ上位のノードまでは要求送信要求とし、そのノードから対象ノードに対して動作要求を送信するようにすればよい。また、ノードの数や、各ノード間でのクライアント/サーバの関係が変わった場合でも、それに応じて手順を変化させれば、同様な動作を行うことができる。
ここでは説明を簡単にするために各ノードが1つ(又は0)の下位ノードを有する場合の例について説明したが、図13に示した例の場合のように、下位ノードを複数有するノードが存在する場合であっても、動作要求の送信先を1つのノードに定めれば、ノードを順に辿る送信パスを定めることができ、以後は図16を用いて説明した例と同様に処理を行うことができる。
In addition, although the example in the case of performing the request | requirement with respect to the node T was demonstrated here, a request | requirement can be similarly transmitted also to the node in the middle, and a response can be acquired. A request transmission request may be made up to a node immediately above the target node, and an operation request may be transmitted from the node to the target node. Even when the number of nodes and the client / server relationship between the nodes change, the same operation can be performed by changing the procedure accordingly.
Here, in order to simplify the description, an example in which each node has one (or 0) lower node has been described. However, as in the example shown in FIG. Even if it exists, if the transmission destination of the operation request is defined as one node, a transmission path that sequentially follows the nodes can be determined. Thereafter, the same processing as in the example described with reference to FIG. 16 is performed. be able to.

次に、このデジタル証明書管理システムにおけるルート鍵更新処理について説明する。
この処理は、第1の実施形態で図6を用いて説明した処理Sを実行した後、図17,図18に示す処理11,12を後述する順番で実行するものである。そこで、まず図17及び図18の各シーケンス図に示す処理の内容を説明してから、図19を用いてその実行順について説明する。そしてこれらの処理は、証明書管理装置10及び各ノードのCPUが、所要の制御プログラムを実行することによって行うものである。
Next, root key update processing in this digital certificate management system will be described.
In this process, after executing the process S described with reference to FIG. 6 in the first embodiment, the processes 11 and 12 shown in FIGS. 17 and 18 are executed in the order described later. First, the processing contents shown in the sequence diagrams of FIGS. 17 and 18 will be described, and then the execution order will be described with reference to FIG. These processes are performed by the certificate management apparatus 10 and the CPU of each node executing a required control program.

まず、図17のシーケンス図に処理11として各ノードの証明書記憶処理を示す。この処理は、各々のノードを対象として行うものであり、対象ノードに応じて証明書管理装置10から対象ノードまでの要求送信及び結果の通知の部分が異なるが、この部分の処理は図16を用いて説明したような手順で適宜行うものとし、ここでは一般的な説明のみに留める。
この処理においてはまずステップS311で、証明書管理装置10が、対象ノードに対して発行してある公開鍵に新ルート私有鍵を用いたデジタル署名を付して新公開鍵証明書を作成する。なお新ルート私有鍵は、図6のステップS101で作成したものを用いるものとする。また、対象ノードの私有鍵は更新しないので、公開鍵自体は更新する必要はない。
First, the certificate storage processing of each node is shown as processing 11 in the sequence diagram of FIG. This process is performed for each node, and the part of request transmission from the certificate management apparatus 10 to the target node and the result notification differ depending on the target node. It is assumed that the process is appropriately performed according to the procedure described above, and only general description is given here.
In this process, first, in step S311, the certificate management apparatus 10 creates a new public key certificate by attaching a digital signature using the new root private key to the public key issued to the target node. Note that the new root private key is the one created in step S101 of FIG. Further, since the private key of the target node is not updated, it is not necessary to update the public key itself.

そしてステップS312で、証明書管理装置10が最上位のノードに対して、図6のステップS102で作成した配布用ルート鍵証明書と、図6のステップS103で作成した新ルート鍵証明書と、ステップS311で作成した新公開鍵証明書と共に、これらについての更新要求を対象ノードに送信するよう要求する更新要求送信要求を送信する。
そして、対象ノードまでの通信パスに当たる各ノードは、図16を用いて説明したような手順で順次送信要求を伝えていく。この要求が対象ノードのすぐ上位のノードまで到達すると、そのノードは、送信要求に係る各証明書と更新要求とを対象ノードに送信する(S314)。この場合において、送信元が対象ノードとの関係においてサーバとして機能する場合には、対象ノードからの通信要求(S313)に対する応答として送信する。
In step S312, the certificate management apparatus 10 sends the distribution root key certificate created in step S102 of FIG. 6 and the new root key certificate created in step S103 of FIG. Along with the new public key certificate created in step S311, an update request transmission request for transmitting an update request for these to the target node is transmitted.
Then, each node corresponding to the communication path to the target node sequentially transmits a transmission request according to the procedure described with reference to FIG. When this request reaches a node immediately above the target node, the node transmits each certificate and update request related to the transmission request to the target node (S314). In this case, when the transmission source functions as a server in relation to the target node, it is transmitted as a response to the communication request (S313) from the target node.

なお、対象ノードが最上位のノードである場合には、証明書管理装置10からそのノードに対して各証明書とこれらについての更新要求とを直接送信する。
以上の処理により、証明書管理装置10から対象ノードに(もしあれば)上位のノードを介して上記の各証明書とそれらについての更新要求とが送信されることになり、ステップS312が送信手順の処理であり、この処理の処理においては、証明書管理装置10のCPU11が送信手段として機能する。
If the target node is the highest node, the certificate management apparatus 10 directly transmits each certificate and an update request for these certificates to the node.
Through the above processing, each certificate and the update request for them are transmitted from the certificate management apparatus 10 to the target node (if any) via the upper node, and step S312 is a transmission procedure. In this processing, the CPU 11 of the certificate management apparatus 10 functions as a transmission unit.

対象ノードは、この要求を受け取ると、ステップS315及びS316で、図7のステップS115及びS116の場合と同様に、従前のルート鍵証明書を用いて配布用ルート鍵証明書の正当性を確認し、これが確認できると配布用ルート鍵証明書を証明書記憶部に記憶する。このとき、まだ従前のルート鍵証明書は消去しない。
そしてさらにステップS317で、図7のステップS117の場合と同様に、記憶した配布用ルート鍵証明書を用いて新ルート鍵証明書の正当性を確認する。そして、これが確認できると、次のステップS318で新ルート鍵証明書を証明書記憶部に記憶する。この時点で配布用ルート鍵は消去してしまってもよいが、ここでは記憶したままとする。
Upon receiving this request, the target node confirms the validity of the distribution root key certificate in steps S315 and S316 using the previous root key certificate, as in steps S115 and S116 of FIG. If this can be confirmed, the distribution root key certificate is stored in the certificate storage unit. At this time, the previous root key certificate is not deleted yet.
Further, in step S317, as in the case of step S117 of FIG. 7, the validity of the new root key certificate is confirmed using the stored distribution root key certificate. If this can be confirmed, the new root key certificate is stored in the certificate storage unit in the next step S318. At this point, the distribution root key may be deleted, but it is stored here.

次に、ステップS319及びS320で、図7のステップS119及びS120の場合と同様に、対象ノードの新公開鍵証明書の正当性を確認し、これが確認できると、新公開鍵証明書を証明書記憶部に記憶する。ただし、ここでは既に新ルート鍵証明書を記憶しているので、新公開鍵証明書の正当性は、配布用ルート鍵証明書ではなく新ルート鍵証明書を用いて行うことができる。以上のステップS315乃至S320において、対象ノードのCPUが更新手段として機能する。
ところで、ステップS320で新公開鍵証明書を記憶する際の従前の公開鍵証明書の扱いは、対象ノードの機能によって異なり、表1に示す通りである。
Next, in steps S319 and S320, as in the case of steps S119 and S120 of FIG. 7, the validity of the new public key certificate of the target node is confirmed. Store in the storage unit. However, since the new root key certificate is already stored here, the validity of the new public key certificate can be performed using the new root key certificate instead of the distribution root key certificate. In steps S315 to S320 described above, the CPU of the target node functions as an updating unit.
By the way, the handling of the previous public key certificate when storing the new public key certificate in step S320 differs depending on the function of the target node, as shown in Table 1.

Figure 0004504083
Figure 0004504083

まず、クライアントのみとして機能する場合には、この時点ではまだ従前の公開鍵証明書は消去しない。従って、証明書記憶部には2つのクライアント公開鍵証明書が記憶された状態となる。そして、図7のステップS120において説明したように、通信相手に対して公開鍵証明書を送信する場合にまず新公開鍵証明書を送信し、認証が失敗した旨の応答を受けた場合に、再度通信を要求して従前の公開鍵証明書を送信する。このようにすれば、通信相手に新ルート鍵証明書が記憶されているか否かに関わらず、問題なく認証を受けることができる。
一方、サーバのみとして機能する場合には、ステップS320において従前の公開鍵証明書を廃棄する。図8のステップS130の説明において述べたように、サーバは常に同一の公開鍵証明書をクライアントに送信する必要があるためである。
First, when functioning only as a client, the previous public key certificate is not yet deleted at this point. Accordingly, the certificate storage unit stores two client public key certificates. Then, as described in step S120 of FIG. 7, when a public key certificate is transmitted to a communication partner, a new public key certificate is first transmitted, and when a response indicating that the authentication has failed is received, Request communication again and send the previous public key certificate. In this way, authentication can be performed without any problem regardless of whether the new root key certificate is stored in the communication partner.
On the other hand, if the server functions only as a server, the previous public key certificate is discarded in step S320. This is because the server must always transmit the same public key certificate to the client as described in the description of step S130 in FIG.

しかし、クライアントとサーバの両方として機能する場合には、同様に従前の公開鍵証明書を廃棄してしまうと、通信相手が新ルート鍵証明書を記憶するまで、クライアントとして機能する場合の通信に支障が生じてしまう。そこで、廃棄はしないがサーバとして機能する場合には従前の公開鍵証明書を使用しないように設定し、クライアントとして機能する場合のみ、新公開鍵証明書での認証が失敗した場合に使用するようにする。
なお、ステップS319及びS320の処理を、ステップS317及びS318の処理より前に行うようにしてもよい。この場合には、ステップS319における正当性の確認は、配布用ルート鍵証明書を用いて行うことになる。
However, when functioning as both a client and a server, if the previous public key certificate is discarded in the same manner, communication with the client functioning until the communication partner stores the new root key certificate is performed. It will cause trouble. Therefore, if the server functions as a server but does not discard it, it is set not to use the previous public key certificate, and is used only when it functions as a client and authentication with the new public key certificate fails. To.
Note that the processing in steps S319 and S320 may be performed before the processing in steps S317 and S318. In this case, the validity is confirmed in step S319 using the distribution root key certificate.

対象ノードはその後、ステップS321で、証明書管理装置10に対して更新要求に対する応答として結果通知を返すが、これは上位の各ノードを介して証明書管理装置10に送信される(S322)。ただし、対象ノードが最上位のノードである場合には、直接証明書管理装置10に送信する。
以上が各ノードの証明書記憶処理である。
Thereafter, in step S321, the target node returns a result notification to the certificate management apparatus 10 as a response to the update request, which is transmitted to the certificate management apparatus 10 via each upper node (S322). However, if the target node is the highest node, it is transmitted directly to the certificate management apparatus 10.
The above is the certificate storing process of each node.

次に、図18のシーケンス図に処理12として各ノードの旧鍵廃棄処理を示す。この処理も、各々のノードを対象として行うものであるが、処理11の場合と同様にここでは一般的な説明のみに留める。
ここではまずステップS331で、証明書管理装置10が最上位のノードに対して、不要になったデジタル証明書の廃棄を求める旧鍵廃棄要求を対象ノードに送信するよう要求する旧鍵廃棄要求送信要求を送信する。そして、対象ノードまでの通信パスに当たる各ノードは、図16を用いて説明したような手順で順次送信要求を伝えていく。この要求が対象ノードのすぐ上位のノードまで到達すると、そのノードは、旧鍵廃棄要求を対象ノードに送信する(S333)。この場合において、送信元が対象ノードとの関係においてサーバとして機能する場合には、対象ノードからの通信要求(S332)に対する応答として送信する。
なお、対象ノードが最上位のノードである場合には、証明書管理装置10からそのノードに対して旧鍵廃棄要求を直接送信する。
以上の処理により、証明書管理装置10から対象ノードに(もしあれば)上位のノードを介して上記の旧鍵廃棄要求が送信されることになる。
Next, the old key discard processing of each node is shown as processing 12 in the sequence diagram of FIG. This processing is also performed for each node, but only general description is given here as in the case of processing 11.
Here, first, in step S331, the certificate management apparatus 10 sends an old key discard request transmission requesting the highest node to transmit an old key discard request for discarding an unnecessary digital certificate to the target node. Send a request. Then, each node corresponding to the communication path to the target node sequentially transmits a transmission request according to the procedure described with reference to FIG. When this request reaches a node immediately above the target node, the node transmits an old key discard request to the target node (S333). In this case, when the transmission source functions as a server in relation to the target node, it is transmitted as a response to the communication request (S332) from the target node.
If the target node is the highest node, the certificate management apparatus 10 directly transmits an old key discard request to that node.
With the above processing, the old key discard request is transmitted from the certificate management apparatus 10 to the target node via the upper node (if any).

対象ノードは、この要求を受け取ると、ステップS334で、証明書記憶部に記憶している配布用ルート鍵証明書及び従前のルート鍵証明書を廃棄し、さらに、図17のステップS320の時点で廃棄していなければ従前のクライアント公開鍵証明書も廃棄する。
対象ノードはその後、ステップS335で、証明書管理装置10に対して更新要求に対する応答として結果通知を返すが、これは上位の各ノードを介して証明書管理装置10に送信される(S336)。ただし、対象ノードが最上位のノードである場合には、直接証明書管理装置10に送信する。
以上が各ノードの旧鍵廃棄処理である。
Upon receiving this request, the target node discards the distribution root key certificate and the previous root key certificate stored in the certificate storage unit in step S334, and at the time of step S320 in FIG. If not discarded, the previous client public key certificate is also discarded.
Thereafter, in step S335, the target node returns a result notification as a response to the update request to the certificate management apparatus 10, which is transmitted to the certificate management apparatus 10 via each higher-level node (S336). However, if the target node is the highest node, it is transmitted directly to the certificate management apparatus 10.
The above is the old key discard processing of each node.

上述した証明書作成処理(処理S),証明書記憶処理(処理11)及び旧鍵廃棄処理(処理12)の実行タイミングは、図19に示すようなものになる。すなわち、ルート鍵の更新を行う場合には、まず図6に示した処理Sを実行し、その後処理11を各ノードを対象として実行し、その後処理12を各ノードを対象として実行する。そして処理11は、クライアント・サーバシステムの構成に従って後述する図20及び図21に示す処理等によって定める順番で、1番目から最後まで各ノードについて順次行っていくが、処理11を各ノードに対してどの順番で行うかが、この実施形態の主要な特徴である。   The execution timing of the certificate creation process (process S), certificate storage process (process 11), and old key discard process (process 12) is as shown in FIG. That is, when updating the root key, first, the process S shown in FIG. 6 is executed, then the process 11 is executed for each node, and then the process 12 is executed for each node. Then, the process 11 is sequentially performed for each node from the first to the last in the order determined by the processes shown in FIGS. 20 and 21 to be described later according to the configuration of the client / server system. The order in which they are performed is the main feature of this embodiment.

結論から述べると、各ノードに対する処理11の実行順は、サーバとして機能するノード(クライアントとサーバの両方として機能するものを含む)についての処理11を、そのノードの通信相手となる際にクライアントとして機能するノードの全てについて処理11が完了してから行うという条件を満たす順番である。
サーバとして機能する場合には、新公開鍵証明書を記憶させた時点で従前の公開鍵証明書を認証処理に使用しないようにすることは上述したが、この処理を、通信相手のクライアントに新ルート鍵(新ルート鍵証明書あるいは配布用ルート鍵証明書)を記憶させる前に行うと、認証処理が行えなくなってしまう。
If it says from a conclusion, the execution order of the process 11 with respect to each node will determine the process 11 for a node that functions as a server (including those that function as both a client and a server) as a client when it becomes a communication partner of that node. This is an order that satisfies the condition that the process 11 is completed after all the functioning nodes are completed.
In the case of functioning as a server, it has been described above that when a new public key certificate is stored, the previous public key certificate is not used for authentication processing. If the root key (new root key certificate or distribution root key certificate) is stored before being stored, the authentication process cannot be performed.

従って、サーバとして機能するノードに対して新公開鍵証明書を送信してこれを記憶するよう要求する処理を、そのノードの通信相手となる際にクライアントとして機能するノードの全てから新証明鍵を記憶した旨の応答があった後に行う必要があるのであるが、処理11においては、新ルート鍵証明書と新公開鍵証明書とを同時に送信して一連の処理で記憶させるため、上記のような順序で実行する必要があるのである。
ただし、上記の条件を満たすのであれば、前のノードについての処理が完了するまで次のノードについての処理の開始を待つことは、必須ではない。また、図17のステップS311の新公開鍵証明書の作成処理を、ステップS312の送信処理の直前で行うことは必須ではなく、新公開鍵証明書が送信処理の前に用意できていればよい。例えば、処理Sで各ノードに送信すべき新公開鍵証明書を全て作成してしまってもよい。
このような更新手順は、証明書管理装置10の更新順制御部27が構成記憶部26に記憶している構成情報をもとに作成して管理する。そして、この更新手順の作成は、この発明の更新手順決定方法に係る処理である。
Therefore, the process of sending a new public key certificate to the node functioning as a server and requesting the storage of the new public key certificate is performed by receiving a new certification key from all the nodes functioning as clients when the node becomes a communication partner of the node. Although it is necessary to perform the processing after the response indicating that it has been stored, in the processing 11, since the new root key certificate and the new public key certificate are simultaneously transmitted and stored in a series of processing, as described above. It is necessary to execute in the correct order.
However, if the above condition is satisfied, it is not essential to wait for the start of the process for the next node until the process for the previous node is completed. Also, it is not essential to perform the new public key certificate creation process in step S311 in FIG. 17 immediately before the transmission process in step S312. It is only necessary that the new public key certificate is prepared before the transmission process. . For example, all new public key certificates to be transmitted to each node may be created in process S.
Such an update procedure is created and managed based on the configuration information stored in the configuration storage unit 26 by the update order control unit 27 of the certificate management apparatus 10. The creation of the update procedure is a process related to the update procedure determination method of the present invention.

図20及び図21にこの更新手順の作成処理のうち、各ノードに対する記憶手順である処理11の実行順を作成する処理のフローチャートを示す。
この処理においては、まずステップS401で初期化処理を行い、構成記憶部26に記憶している情報を参照して最上位のノードを特定すると共に、その他のノードについての世代数の情報をクリアし、さらに全てのノードおよびリンクについて、状態を「未処理」に設定する。また、最上位ノードの特定は、自身が直接通信する装置が最上位ノードであるとして行うことができる。
そして、処理11の実行順を格納する作業リストと、作業リストを作成する際の注目ノードを決めるための後述する注目点リストも初期化する。新たに空のリストを作成してもよい。
そして、ステップS402で最上位ノードを注目ノードとすると共に作業リストに追加し、そのノード状態を「注目済」に設定する。この「注目済」は、そのノードが既に注目ノードになったことを示すデータである。
FIG. 20 and FIG. 21 show a flowchart of the process for creating the execution order of the process 11 which is the storage procedure for each node in the process for creating the update procedure.
In this process, an initialization process is first performed in step S401, the highest node is identified with reference to the information stored in the configuration storage unit 26, and the generation number information for other nodes is cleared. In addition, the state is set to “unprocessed” for all nodes and links. Further, the highest node can be specified on the assumption that the device with which it directly communicates is the highest node.
Then, a work list for storing the execution order of the process 11 and an attention point list (to be described later) for determining a node of interest when the work list is created are also initialized. A new empty list may be created.
In step S402, the highest node is set as the attention node and added to the work list, and the node state is set to “attention finished”. This “attention finished” is data indicating that the node has already become a noticed node.

次のステップS403では、注目ノードについての情報を参照し、注目ノードにリンク状態が「未処理」のリンクがあるか否か判断する。あれば、その中からリンクを1つ選択し、ステップS404に進み、以下そのリンクについてステップS410までの処理あるいはステップS411の処理を行う。このとき、候補が複数あった場合には、上位ノードがクライアントとして機能するリンクを優先的に選択するとよいが、任意の順番で選択してよい。
ステップS404では、ステップS403で選択したリンクについて、そのリンク先の下位ノードについての情報を参照し、その下位ノードのノード状態が「未処理」であるか否か判断する。そして、「未処理」であればステップS405に進み、その下位ノードの世代数を注目ノードの世代数+1に設定する。
In the next step S403, it is determined whether or not there is a link whose link state is “unprocessed” with reference to information on the node of interest. If there is, one link is selected from them, and the process proceeds to step S404, and the process up to step S410 or the process of step S411 is performed on the link. At this time, when there are a plurality of candidates, the link in which the upper node functions as a client may be preferentially selected, but may be selected in an arbitrary order.
In step S404, with respect to the link selected in step S403, information about the link destination lower node is referred to, and it is determined whether or not the node state of the lower node is “unprocessed”. If “unprocessed”, the process advances to step S405 to set the generation number of the lower node to the generation number + 1 of the target node.

次のステップS406では、注目ノードがそのリンク先の下位ノードを通信相手とする際にクライアントとして機能するか否か、すなわち、リンクがクライアント→サーバのリンクであるか否か判断する。この判断は、注目ノードについての構成情報を参照して行うことができる。そして、注目ノードがクライアントとして機能する場合(YESの場合)には、下位ノードについての処理11を注目ノードについての処理11よりも後で行う必要があることから、ステップS407に進み、下位ノードを作業リストの後端(後側)に追加する。逆に、注目ノードがサーバとして機能する場合(NOの場合)には、下位ノードについての処理11を注目ノードについての処理11よりも前に行う必要があることから、ステップS408に進み、下位ノードを作業リストの前端(前側)に追加する。   In the next step S406, it is determined whether or not the node of interest functions as a client when the link destination lower node is a communication partner, that is, whether or not the link is a client-to-server link. This determination can be made with reference to the configuration information about the node of interest. When the node of interest functions as a client (in the case of YES), it is necessary to perform the process 11 for the lower node after the process 11 for the node of interest. Add to the end (rear) of the work list. Conversely, if the target node functions as a server (in the case of NO), it is necessary to perform the process 11 for the lower node before the process 11 for the target node. Is added to the front end (front side) of the work list.

ステップS407あるいはステップS408の後は、ステップS409に進み、リンク状態を「処理待ち」に設定し、次にステップS410で、作業リストに追加した下位ノードのノード状態を「追加済」に設定する。
ここで、「処理待ち」は、リンクを辿ってその先の下位ノードを作業リストに追加したが、後で下位ノードを注目ノードとするためにもう一度そのリンクを辿る必要があることを示す情報である。また、「追加済」は、そのノードが既に作業リストに追加されたことを示す情報である。
ステップS410の終了後は、ステップS403に戻って処理を繰り返す。
また、ステップS404の判断がNOの場合には、ステップS411に進んでリンク状態を「処理済」に設定し、ステップS403に戻って処理を繰り返す。ここで、「処理済」は、もはやそのリンクを辿る必要がないということを示す情報である。
After step S407 or step S408, the process proceeds to step S409, where the link state is set to “waiting for processing”, and then in step S410, the node state of the lower node added to the work list is set to “added”.
Here, “waiting for processing” is information indicating that a link has been followed to add the lower node to the work list, but it is necessary to follow the link again in order to make the lower node a target node later. is there. “Added” is information indicating that the node has already been added to the work list.
After the end of step S410, the process returns to step S403 to repeat the process.
If the determination in step S404 is no, the process proceeds to step S411 to set the link state to “processed”, and the process returns to step S403 to repeat the process. Here, “processed” is information indicating that it is no longer necessary to follow the link.

上記の定義に従えば、リンク状態が「未処理」のリンクの先の下位ノードはまだ参照されておらず、ノード状態は「未処理」のはずである。しかし、複数の上位ノードの通信相手となる共通の下位ノードがある場合、一方の上位ノードからリンクを辿ってその下位ノードを作業リストに追加し、下位ノードのノード状態が「追加済」になったり、その下位ノードを注目ノードとし、下位ノードのノード状態が「注目済」になったりした場合でも、他の上位ノードからその下位ノードへのリンクのリンク状態は「未処理」であることがある。そして、このような場合にはステップS404の判断はNOになる。そこで、このような場合に共通の下位ノードについて二重に処理を行うことを防止するため、初めに辿ったリンク以外のリンクは、何も処理することなくリンク状態を「処理済」にしてしまうのである。
以上の処理を繰り返し、注目ノードについてリンク状態が「未処理」のリンクがなくなるか、初めからこのようなリンクがない場合、ステップS403の判断がNOになり、図21のステップS412に進む。
According to the above definition, the lower-level node ahead of the link whose link state is “unprocessed” has not been referred to yet, and the node state should be “unprocessed”. However, if there is a common lower node that communicates with multiple upper nodes, follow the link from one upper node, add the lower node to the work list, and the node status of the lower node becomes "Added" Even if the lower-level node is the target node, and the node status of the lower-level node becomes “focused”, the link status of the link from another higher-level node to the lower-level node may be “unprocessed” is there. In such a case, the determination in step S404 is NO. Therefore, in order to prevent double processing for a common lower node in such a case, links other than the first traced link are set to “processed” without any processing. It is.
The above process is repeated, and if there is no link whose link state is “unprocessed” for the node of interest or there is no such link from the beginning, the determination in step S403 is NO, and the process proceeds to step S412 in FIG.

そして、ステップS412では、注目ノードに下位ノードがあるか否か判断し、あればステップS413に進み、注目ノードを注目点リストの後端に追加してステップS414に進む。なければ、そのままステップS414に進む。
ここで、注目点リストは、後でリンクを参照して下位ノードを辿ったり、注目ノードにしたりする必要があるノードのデータをスタックしておくリストであり、注目ノードに下位ノードがない場合には、そのノードの下位には作業リストに追加すべきノードがなく、もはやそのノードの情報を参照する必要がないため、注目点リストには追加しないのである。
次のステップS414では、注目点リストにノードがあるか否か判断する。そして、あればステップS415に進み、注目点リストから前端のノードを削除し、そのノードの情報を参照する。
In step S412, it is determined whether or not there is a subordinate node in the target node. If there is a lower node, the process proceeds to step S413, the target node is added to the rear end of the target point list, and the process proceeds to step S414. If not, the process proceeds to step S414 as it is.
Here, the point of interest list is a list in which data of nodes that need to be traced later or referred to as a node of interest by referring to a link is stacked. Is not added to the attention list because there is no node to be added to the work list below the node and it is no longer necessary to refer to the information of the node.
In the next step S414, it is determined whether or not there is a node in the attention point list. If there is, the process advances to step S415 to delete the node at the front end from the attention point list and refer to the information of the node.

ステップS416でそのノードのノード状態が「注目済」であるか否か判断し、「注目済」でなければ、そのノードはまだ注目ノードになっていないので、ステップS420に進み、そのノードを注目ノードに定めて注目ノードをそのノードに変更し、注目ノードになったことを示すため、ノード状態を「注目済」に設定する。そして、図20のステップS403に戻って処理を繰り返す。
一方、ステップS416で「注目済」であった場合には、そのノードは既に注目ノードになっているので、もう一度注目ノードに定めることなく、ステップS417に進む。そして、そのノードについてリンク状態が「処理済」でないリンクを検索し、このようなリンクを発見したか否か判断する。
In step S416, it is determined whether or not the node state of the node is “focused”. If it is not “focused”, the node is not yet the focused node, so the process proceeds to step S420, and the node is focused. As a node, the node of interest is changed to that node, and the node state is set to “attentioned” to indicate that it has become the node of interest. Then, the process returns to step S403 in FIG.
On the other hand, if the node has been “attentioned” in step S416, the node has already become the node of interest, and the process proceeds to step S417 without setting it as the node of interest again. Then, a link whose link status is not “processed” is searched for the node, and it is determined whether or not such a link has been found.

発見した場合にはステップS418に進み、参照中のノードを後で再度参照するために注目点リストの前端に追加する。そしてステップS419で、ステップS417で発見したリンクの1つについて、リンク状態を「処理済」に設定すると共に、そのリンクの先の下位ノードを注目点リストの前端に追加し、ステップS414に戻って処理を繰り返す。
ここで、ステップS419で作業リストに追加されるノードは、図20のステップS409でリンク状態が「処理待ち」に設定されたリンクの先の下位ノード、すなわち、ステップS410でノード状態が「追加済」に設定され、まだ注目ノードになっていない下位ノードである。従って、このノードが注目点リストの前端にあってステップS415で参照される場合には、ステップS416の判断は常にNOになり、注目ノードがこのノードに変更されることになる。
If found, the process proceeds to step S418, and the node being referred to is added to the front end of the attention point list for later reference again. In step S419, for one of the links found in step S417, the link state is set to “processed”, and the lower node ahead of the link is added to the front end of the attention point list, and the flow returns to step S414. Repeat the process.
Here, the node added to the work list in step S419 is the lower node after the link whose link status is set to “waiting for processing” in step S409 of FIG. 20, that is, the node status is “added” in step S410. Is a subordinate node that is not yet a target node. Therefore, when this node is at the front end of the attention point list and is referred to in step S415, the determination in step S416 is always NO, and the attention node is changed to this node.

また、注目ノードの変更先はこの処理においては常にこの手順で決定されるため、ステップS419でリンク状態が「処理済」に設定されたリンクの先の下位ノードは、ステップS420で注目ノードに定められ、ノード状態が「注目済」に変更されることになる。
この場合、ステップS415で初めに削除された注目点リストの前端のノードは、ステップS418で元通り前端に追加され、ステップS419で前端に追加された下位ノードはステップS414に戻ってからの次のステップS415で削除されるので、実質的に注目点リストの内容は変化しない。従ってその後のステップS420までで、注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあった場合に注目ノードをそのノードに変更する処理を行ったことになる。
In addition, since the change destination of the attention node is always determined in this procedure in this process, the subordinate node of the link whose link state is set to “processed” in step S419 is determined as the attention node in step S420. And the node state is changed to “focused”.
In this case, the node at the front end of the attention point list first deleted in step S415 is added to the front end as before in step S418, and the lower node added to the front end in step S419 is the next node after returning to step S414. Since it is deleted in step S415, the content of the attention point list is not substantially changed. Accordingly, in the subsequent steps up to step S420, when there is a node that has not yet become the attention node among the lower nodes of the node at the front end of the attention point list, the processing for changing the attention node to that node has been performed.

また、ステップS417で「処理済」でないリンクがない場合にはそのままステップS414に戻って処理を繰り返すが、このようになるのは、注目点リストの前端のノードの下位ノードにまだ注目ノードになっていないノードがない場合であり、この場合にはステップS415で削除されたノードが元に戻されることはないので、注目点リストの前端のノードをリストから削除する処理を行ったことになる。
以上の処理を繰り返し、全てのノードが注目ノードになると注目点リストが空になるので、この場合にステップS414の判断がNOになり、全てのノードが注目ノードになったと判断して処理を終了する。
以上の処理により、上述した条件を満たす処理11の実行順を作業リストとして作成することができる。
なお、上述した処理において、世代数に係る処理は必須ではない。
If there is no link that has not been “processed” in step S417, the process returns to step S414 as it is, and the processing is repeated. However, this is because the node below the node at the front end of the attention point list is still the attention node. This is a case where there is no node that has not been deleted. In this case, since the node deleted in step S415 is not restored, the process of deleting the node at the front end of the point-of-interest list from the list has been performed.
The above processing is repeated, and when all nodes become attention nodes, the attention point list becomes empty. In this case, the determination in step S414 is NO, and it is determined that all nodes have become attention nodes, and the processing ends. To do.
Through the above processing, the execution order of the processing 11 that satisfies the above-described conditions can be created as a work list.
In the above-described processing, the processing related to the number of generations is not essential.

ここで、図22乃至図39を用いて、クライアント・サーバシステムが図13に示した構成である場合の、上述した処理による作業リストの作成例について説明する。図22乃至図39はそれぞれ、作業リストの作成過程の種々の時点における構成情報、作業リスト、注目点リストの状態を示す図である。
作業リストの作成を行う場合には、まず図20のステップS401において、初期化処理を行う。構成情報から最上位ノードはノードOと特定され、各ノードについての情報の初期状態は、図15に示した状態から最上位ノードであるノードO以外の世代数の情報を消去したものである。そして、ステップS402でこのノードを注目ノードとし、作業リストに追加すると共にノード状態を「注目済」に設定する。そしてステップS403では、リンク状態が「未処理」のリンクがあるのでまずノードXへのリンクを選択して次に進む。
Here, an example of creating a work list by the above-described processing when the client / server system has the configuration shown in FIG. 13 will be described with reference to FIGS. FIG. 22 to FIG. 39 are diagrams showing the state of the configuration information, the work list, and the attention point list at various points in the work list creation process.
When creating a work list, first, initialization processing is performed in step S401 of FIG. The highest node is identified as node O from the configuration information, and the initial state of information for each node is obtained by deleting information on the number of generations other than node O, which is the highest node, from the state shown in FIG. In step S402, this node is set as the attention node, added to the work list, and the node state is set to “attention already”. In step S403, since there is a link whose link status is “unprocessed”, the link to the node X is first selected and the process proceeds.

ノードXのノード状態は「未処理」であるので、ステップS404の判断はYESとなり、ステップS405でノードXの世代数に1+1で「2」を設定し、ノードOはノードXと通信する際にクライアントとして機能するのでステップS407でノードXを作業リストの後端に追加する。そして、ステップS409でノードOからノードXへのリンクのリンク状態を「処理待ち」に設定し、ステップS410でノードXのノード状態を「追加済」に設定する。
そしてステップS403に戻るが、まだノードYへのリンクが「未処理」であるので、今度はこのリンクについて同様な処理を行う。ただし、ノードOはノードYと通信する際にサーバとして機能するのでノードYはステップS408で作業リストの前端に追加する。
Since the node status of the node X is “unprocessed”, the determination in step S404 is YES, and in step S405, “2” is set to 1 + 1 as the generation number of the node X. When the node O communicates with the node X, Since it functions as a client, node X is added to the end of the work list in step S407. In step S409, the link state of the link from the node O to the node X is set to “waiting for processing”, and in step S410, the node state of the node X is set to “added”.
Then, the process returns to step S403, but since the link to the node Y is still “unprocessed”, the same process is performed for this link. However, since the node O functions as a server when communicating with the node Y, the node Y is added to the front end of the work list in step S408.

次にステップS403に戻った時には、もう「未処理」のリンクはないので、図21のステップS412に進む。そして、注目ノードであるノードOには下位ノードがあるので、ステップS413でノードOを注目点リストに追加してステップS414に進む。ここまでの処理で、ノードO,X,Yについての情報は図22に示すように変更され、他のノードについての情報は初期状態から変化していない。作業リストと注目点リストはそれぞれ図23に示す内容となっている。
次に、ステップS414では注目点リストにノードがあるので、ステップS415に進み、前端のノードOをリストから削除してノードOの情報を参照する。そして、ノードOのノード状態は図22に示したように「注目済」であるので、ステップS416からS417に進む。また、ノードX,Yのどちらへのリンクも「処理済」でないので、ステップS418に進んで、ステップS415から参照中のノードOを注目点リストの前端に追加する。ステップS419ではノードXへのリンクについて処理を行うとすると、ノードXを注目点リストの前端に追加すると共にそのリンクのリンク状態を「処理済」に設定する。
Next, when returning to step S403, since there is no “unprocessed” link, the process proceeds to step S412 in FIG. Since node O, which is the node of interest, has lower nodes, node O is added to the point of interest list in step S413, and the flow proceeds to step S414. In the processing so far, the information about the nodes O, X, and Y is changed as shown in FIG. 22, and the information about the other nodes is not changed from the initial state. The work list and attention point list have the contents shown in FIG.
Next, in step S414, since there is a node in the attention point list, the process proceeds to step S415, and the node O at the front end is deleted from the list and the information of the node O is referred to. Then, since the node state of the node O is “focused” as shown in FIG. 22, the process proceeds from step S416 to S417. Further, since the link to either node X or Y is not “processed”, the process proceeds to step S418, and the node O being referred from step S415 is added to the front end of the attention point list. If it is determined in step S419 that the process is to be performed on the link to the node X, the node X is added to the front end of the attention point list and the link state of the link is set to “processed”.

ここまでの処理で、ノードOについての情報は図24に示すように変更され、他のノードについての情報は図22の時点から変化していない。作業リストと注目点リストはそれぞれ図25に示す内容となっている。なお、図25において破線で囲ったノードは、注目点リストから削除されたノードであり、「追加」と記載されたノードは、前の図(ここでは図23)に示した状態から新たにリストに追加されたノードを示す。以下の対応する図面についても同様である。例えば図25は、図23に示した状態からノードOが削除されると共にノードOとノードXが追加され、注目点リストにはノードXとノードOがこの順で含まれていることを示している。   In the processing so far, the information about the node O is changed as shown in FIG. 24, and the information about the other nodes is not changed from the time of FIG. The work list and attention point list have the contents shown in FIG. In FIG. 25, nodes surrounded by a broken line are nodes deleted from the attention point list, and a node described as “added” is a new list from the state shown in the previous figure (here, FIG. 23). Indicates the added node. The same applies to the following corresponding drawings. For example, FIG. 25 shows that node O is deleted from the state shown in FIG. 23 and node O and node X are added, and the attention point list includes node X and node O in this order. Yes.

次に、処理はステップS414に戻り、ステップS415に進んで注目点リストの前端のノードXを削除し、その情報を参照する。そして、ノードXのノード状態は図22に示した通り「追加済」であるので、ステップS416からステップS420に進んで注目ノードをノードXに変更し、そのノード状態を「注目済」に変更する。
そして、図20のステップS403に戻って処理を繰り返し、ノードXの下位ノードであるノードAとノードBを作業リストに追加すると共にこれらのノードへのリンクのリンク状態を「処理待ち」とし、これらのノードのノード状態を「追加済」とする。このとき、ノードXはノードAと通信する際にはクライアントとして機能するのでノードAは作業リストの後端に追加し、ノードXはノードBと通信する際にはサーバとして機能するのでノードBは作業リストの前端に追加する。これらの処理が完了し、注目ノードであるノードXに「未処理」のリンクがなくなると、再度ステップS403から図21のステップS412に進む。そして、ノードXには下位ノードがあるので、ステップS413で注目点リストの後端にノードXを追加する。
Next, the process returns to step S414, proceeds to step S415, deletes the node X at the front end of the attention point list, and refers to the information. Since the node state of the node X is “added” as shown in FIG. 22, the process proceeds from step S416 to step S420, the node of interest is changed to the node X, and the node state is changed to “attentioned”. .
Then, the process returns to step S403 in FIG. 20 to repeat the process, and add node A and node B, which are lower nodes of node X, to the work list and set the link status of the links to these nodes to “waiting for processing”. The node state of the node is “added”. At this time, since node X functions as a client when communicating with node A, node A is added to the end of the work list, and node X functions as a server when communicating with node B. Add to the front of the work list. When these processes are completed and there is no “unprocessed” link in the node X that is the target node, the process proceeds from step S403 to step S412 in FIG. 21 again. Since the node X includes lower nodes, the node X is added to the rear end of the attention point list in step S413.

ここまでの処理で、ノードX,A,Bについての情報はそれぞれ図26(a)〜(c)に示すように変更され、他のノードについての情報は図24の時点から変化していない。作業リストと注目点リストはそれぞれ図27に示す内容となっている。そして、ステップS413でノードXを注目点リストの後端に追加しているので、ノードXの下位ノードについての処理は後で行い、ノードOの別の下位ノード、すなわちノードXと同世代であってまだ注目ノードになっていないノードを先に探索することになる。   In the processing so far, the information about the nodes X, A, and B has been changed as shown in FIGS. 26A to 26C, and the information about the other nodes has not changed from the time of FIG. The work list and attention point list have the contents shown in FIG. In step S413, node X is added to the rear end of the list of points of interest, so that the processing for the lower node of node X is performed later, and it is the same generation as another lower node of node O, that is, node X. The node that has not yet become the attention node is searched first.

次に、ステップS414からステップS415に進み、再度前端のノードOを注目点リストから削除してノードOの情報を参照する。ノードOのノード状態はこの時点でも図24に示したように「注目済」であるので、ステップS416からS417に進む。そして、ノードYへのリンクは「処理済」でないので、ステップS418に進んでノードOを注目点リストの前端に追加する。そして、ステップS419ではノードYへのリンクについて処理を行い、ノードYを注目点リストの前端に追加すると共にそのリンクのリンク状態を「処理済」に設定する。
ここまでの処理で、ノードOについての情報は図28に示すように変更され、他のノードについての情報は図26の時点から変化していない。作業リストと注目点リストはそれぞれ図29に示す内容となっている。
Next, the process proceeds from step S414 to step S415, the node O at the front end is deleted from the attention point list again, and the information of the node O is referenced. Since the node state of the node O is “attention already” as shown in FIG. 24 at this time, the process proceeds from step S416 to S417. Since the link to the node Y is not “processed”, the process advances to step S418 to add the node O to the front end of the attention point list. In step S419, the link to the node Y is processed, the node Y is added to the front end of the attention point list, and the link state of the link is set to “processed”.
In the processing so far, the information about the node O is changed as shown in FIG. 28, and the information about the other nodes is not changed from the time of FIG. The work list and attention point list have the contents shown in FIG.

次に、処理は再度ステップS414に戻り、ステップS415に進んで注目点リストの前端のノードYを削除し、その情報を参照する。そして、ノードYのノード状態は図22に示した時点のまま「追加済」であるので、ステップS416からステップS420に進んで注目ノードをノードYに変更し、そのノード状態を「注目済」に変更する。
そして、図20のステップS403に戻って処理を繰り返し、ノードYの下位ノードであるノードCとノードDを作業リストに追加すると共にこれらのノードへのリンクのリンク状態を「処理待ち」とし、これらのノードのノード状態を「追加済」とする。このとき、ノードYはノードCと通信する際にはクライアントとして機能するのでノードCは作業リストの後端に追加し、ノードYはノードDと通信する際にはサーバとして機能するのでノードDは作業リストの前端に追加する。これらの処理が完了し、注目ノードであるノードYに「未処理」のリンクがなくなると、再度ステップS403から図21のステップS412に進む。そして、ノードYには下位ノードがあるので、ステップS413で注目点リストの後端にノードYを追加する。
Next, the process returns to step S414 again, proceeds to step S415, deletes the node Y at the front end of the attention point list, and refers to the information. Then, since the node state of the node Y is “added” as shown in FIG. 22, the process proceeds from step S416 to step S420, the node of interest is changed to the node Y, and the node state is changed to “attentioned”. change.
Then, the process returns to step S403 in FIG. 20 to repeat the process, and add node C and node D, which are subordinate nodes of node Y, to the work list and set the link status of the links to these nodes to “waiting for processing”. The node state of the node is “added”. At this time, since node Y functions as a client when communicating with node C, node C is added to the end of the work list, and node Y functions as a server when communicating with node D, so node D Add to the front of the work list. When these processes are completed and there is no “unprocessed” link in the node Y that is the target node, the process proceeds from step S403 to step S412 in FIG. 21 again. Since the node Y has lower nodes, the node Y is added to the rear end of the attention point list in step S413.

ここまでの処理で、ノードY,C,Dについての情報はそれぞれ図30(a)〜(c)に示すように変更され、他のノードについての情報は図28の時点から変化していない。作業リストと注目点リストはそれぞれ図31に示す内容となっている。   In the processing so far, the information about the nodes Y, C, and D is changed as shown in FIGS. 30A to 30C, and the information about the other nodes is not changed from the time of FIG. The work list and the attention point list have the contents shown in FIG.

次に、ステップS414からステップS415に進み、再度前端のノードOを注目点リストから削除してノードOの情報を参照する。ノードOのノード状態はこの時点でも図28に示したように「注目済」であるので、ステップS416からS417に進む。しかし、もう「処理済」でないリンクはないので、そのままステップS414に戻り、もはや注目点リストに追加されることはない。この時点では、作業リストと注目点リストはそれぞれ図32に示す内容となる。   Next, the process proceeds from step S414 to step S415, the node O at the front end is deleted from the attention point list again, and the information of the node O is referred to. Since the node state of the node O is “attention already” as shown in FIG. 28 at this point, the process proceeds from step S416 to S417. However, since there is no link that is not “processed” anymore, the process directly returns to step S414 and is no longer added to the attention point list. At this point, the work list and the attention point list have the contents shown in FIG.

しかし、注目点リストにはまだノードが残っているので、ステップS415で前端のノードXをリストから削除してその情報を参照する。ノードXのノード状態はこの時点では図26に示したように「注目済」であるので、ステップS416からS417に進む。そして、ノードA,Bのどちらへのリンクも「処理済」でないので、ステップS418に進んでノードXを注目点リストの前端に追加する。ステップS419ではノードAへのリンクについて処理を行うとすると、ノードAを注目点リストの前端に追加すると共にそのリンクのリンク状態を「処理済」に設定する。
ここまでの処理で、ノードXについての情報は図33に示すように変更され、他のノードについての情報は図30の時点から変化していない。作業リストと注目点リストはそれぞれ図34に示す内容となっている。
However, since there are still nodes in the attention point list, the node X at the front end is deleted from the list and the information is referred to in step S415. Since the node status of the node X is “attention focused” as shown in FIG. 26 at this time, the process proceeds from step S416 to S417. Since neither of the links to the nodes A and B is “processed”, the process proceeds to step S418, and the node X is added to the front end of the attention point list. In step S419, if processing is performed on the link to the node A, the node A is added to the front end of the attention point list, and the link state of the link is set to “processed”.
In the processing so far, the information about the node X is changed as shown in FIG. 33, and the information about the other nodes is not changed from the time of FIG. The work list and attention point list have the contents shown in FIG.

次に、処理は再度ステップS414に戻り、ステップS415に進んで注目点リストの前端のノードAを削除し、その情報を参照する。そして、ノードAのノード状態は図26に示した通り「追加済」であるので、ステップS416からステップS420に進んで注目ノードをノードAに変更し、そのノード状態を「注目済」に変更する。
そして、図20のステップS403に戻るが、ノードAにはそもそも下位ノードへのリンクがないので、そのままステップS412に進む。そして、ノードAには下位ノードがないので、注目点リストに追加することなくステップS414に進む。
ここまでの処理で、ノードAについての情報は図35に示すように変更され、他のノードについての情報は図33の時点から変化していない。作業リストと注目点リストはそれぞれ図36に示す内容となる。
以後、注目点リストが空になるまで同様に処理を繰り返すが、これ以後は作業リストに追加するノードはなく、このことを確認するための処理である。
Next, the process returns to step S414 again, proceeds to step S415, deletes node A at the front end of the attention point list, and refers to the information. Then, since the node state of the node A is “added” as shown in FIG. 26, the process proceeds from step S416 to step S420, the node of interest is changed to the node A, and the node state is changed to “attentioned”. .
Then, the process returns to step S403 in FIG. 20, but since node A does not have a link to a lower node in the first place, the process proceeds to step S412 as it is. Since node A has no lower nodes, the process proceeds to step S414 without adding it to the attention point list.
In the processing so far, the information about the node A is changed as shown in FIG. 35, and the information about the other nodes is not changed from the time of FIG. The work list and the attention point list have the contents shown in FIG.
Thereafter, the same processing is repeated until the attention point list becomes empty, but there is no node to be added to the work list thereafter, and this is a process for confirming this.

そこで、注目点リストの変化のみを図37に示し、詳細な説明は省略する。図37には、処理がステップS414に達する毎に、その時点までの注目点リストの変化を示している。
図36に示した時点の後には、前端のノードXについてノードBへのリンクが「処理済」になっていないので、ノードXとノードBを注目点リストの前端に追加し(1)、ノードBが次の注目ノードとなる。しかしノードBには下位ノードはないのでそのままステップS414に戻ってくる(2)。そして、再度ノードXについてステップS415以下の処理を行うが、もう「処理済」でないリンクはないので、やはりそのままステップS414に戻ってくる(3)。
Therefore, only changes in the attention point list are shown in FIG. 37, and detailed description thereof is omitted. In FIG. 37, every time the process reaches step S414, a change in the attention point list up to that point is shown.
After the time point shown in FIG. 36, since the link to the node B is not “processed” for the node X at the front end, the node X and the node B are added to the front end of the attention point list (1), B becomes the next node of interest. However, since there is no lower node in node B, the process returns to step S414 as it is (2). Then, the process from step S415 is performed again on the node X. However, since there is no link that is not “processed”, the process returns to step S414 as it is (3).

続いてノードYについてステップS415以下の処理を行って、リンク状態が「処理待ち」であるリンクの先のノードCを次の注目ノードとするが(4,5)、やはり下位ノードがないのでそのままステップS414に戻ってくる。その後ノードDを次の注目ノードとした場合も同様である(6,7)。そして、ノードYについても「処理済」でないリンクがなくなると、ノードYが注目点リストから消去されてももはや追加されるノードはなく、注目点リストが空になるので(8)、処理を終了する。
以上により作業リストが完成する。この状態では、各ノードについての情報はそれぞれ図38(a)〜(g)に示すようになっており、全てのノードのノード状態が「注目済」、全てのリンクのリンク状態が「処理済」になっている。また、作業リスト及び注目点リストは図39に示す内容となっており、作業リストは図36に示す状態から変化していないが、注目点リストは空になっている。
従って、処理11の実行順は、この完成した作業リストの通りD→B→Y→O→X→A→Cの順となる。そしてこの順は、サーバとして機能するノードについての処理を、そのノードの通信相手となる際にクライアントとして機能するノードの全てについて処理が完了してから行うという条件を満たす。
Subsequently, the process from step S415 onward for node Y is performed, and the node C ahead of the link whose link state is “waiting for processing” is set as the next node of interest (4, 5). The process returns to step S414. The same applies when node D is set as the next node of interest (6, 7). If there is no link that is not “processed” for node Y, no node will be added even if node Y is deleted from the point of interest list, and the point of interest list will be empty (8), thus ending the process. To do.
The work list is completed as described above. In this state, the information about each node is as shown in FIGS. 38A to 38G. The node states of all the nodes are “focused” and the link states of all the links are “processed”. "It has become. Further, the work list and the attention point list have the contents shown in FIG. 39, and the work list has not changed from the state shown in FIG. 36, but the attention point list is empty.
Therefore, the execution order of the process 11 is the order of D → B → Y → O → X → A → C as shown in the completed work list. This order satisfies the condition that processing for a node functioning as a server is performed after processing for all of the nodes functioning as clients when it becomes a communication partner of that node.

なお注目ノードは、上述のように、最上位のOから始まって、O→X→Y→A→B→C→Dの順で変更される。従って、注目ノードは、注目ノードと同順位であってまだ注目ノードになっていないノードがあれば優先的にそのノードに変更し、そのようなノードがない場合に世代数が注目ノード+1すなわち順位が注目ノードの下位であってまだ注目ノードになっていないいずれかのノードに変更していることになる。
このような順番で注目ノードを変更できるのは、図21のステップS413で注目ノードを注目点リストの後端に追加し、注目ノードの下位ノードよりも、その上位ノードから見た別の下位ノードを先に次の注目ノードにして探索するようにしているためである。そして、この処理を繰り返すうちに注目ノードと同世代のノードが注目点リストに蓄積され、同世代の全てのノードが注目ノードになった後に、次世代のノードを順次探索して注目ノードにすることができるのである。
Note that the node of interest is changed in the order of O → X → Y → A → B → C → D, starting from the topmost O as described above. Therefore, if there is a node that has the same rank as the target node and is not yet the target node, the target node is preferentially changed to that node. Is changed to one of the nodes below the node of interest and not yet the node of interest.
The attention node can be changed in this order because the attention node is added to the rear end of the attention point list in step S413 in FIG. 21, and another lower node viewed from the upper node than the lower node of the attention node. This is because the search is made with the next node of interest as the first node of interest. As this process is repeated, nodes of the same generation as the node of interest are accumulated in the point of interest list, and after all nodes of the same generation have become nodes of interest, the next generation nodes are sequentially searched to become nodes of interest. It can be done.

以上のように処理11の実行順を作成し、その前に処理Sを実行し、その後に各ノードに対して任意の順、例えば世代数の小さい順に処理12を実行するようにすれば、ルート鍵更新の適切な処理手順を定めることができる。この場合、最上位以外の各ノードに対する旧鍵廃棄要求送信要求及び最上位ノードに対する旧鍵廃棄要求を1つのドキュメントにまとめて最上位ノードに送信し、各ノードに対して実行要求を送信させるようにすることもできる。
なお、処理12については、必ずしも全てのノードについて処理11が終了していなくても、少なくとも対象ノード及びそのノードの通信相手となる全てのノードについて処理11が完了していれば、開始して構わない。通信相手となる全てのノードに新ルート鍵及び新公開鍵証明書が記憶されていれば、もはや認証処理に従前のルート鍵や公開鍵証明書は不要だからである。
If the execution order of the process 11 is created as described above, the process S is executed before that, and then the process 12 is executed for each node in an arbitrary order, for example, in ascending order of the number of generations, the route Appropriate processing procedures for key updates can be defined. In this case, the old key discard request transmission request for each node other than the highest node and the old key discard request for the highest node are combined into one document and transmitted to the highest node so that an execution request is transmitted to each node. It can also be.
Note that the process 12 may be started if the process 11 is not necessarily completed for all nodes, but has been completed for at least the target node and all nodes that are communication partners of the node. Absent. This is because if the new root key and the new public key certificate are stored in all the nodes that are communication partners, the root key and the public key certificate before the authentication process are no longer necessary.

以上のような処理を行うことにより、クライアント・サーバシステムを、上位ノードが下位ノードを従える形式で複数段に亘って構成した場合でも、上述した第1の実施形態の場合と同様に、各ノードの間の認証処理に大きな影響を与えることなく、ルート鍵を自動制御で更新することができる。
従って、このようなデジタル証明書管理システムを用いることにより、ルート鍵更新用の特別な通信経路を用意せずにルート鍵を更新することができるので、通信に際してSSLによる認証処理を行うクライアント・サーバシステムを、低コストで運用することができる。
By performing the processing as described above, even when the client / server system is configured in a plurality of stages in a form in which the upper node follows the lower node, each node is the same as in the case of the first embodiment described above. The root key can be updated by automatic control without greatly affecting the authentication process between the two.
Therefore, by using such a digital certificate management system, it is possible to update the root key without preparing a special communication path for updating the root key. The system can be operated at low cost.

なお、図19のフローチャートに示した各処理は、更新要求に対する更新成功の応答を受け取った場合に完了したものとすることができる。また、図10や図11を用いて説明したような受信応答や送信結果通知を受信した場合に完了したものとすることもできる。更新失敗の応答を受け取った場合や処理がタイムアウトした場合には、再度同じ処理を試みるとよいが、所定回数続けて失敗した場合には更新処理全体が失敗したものとするとよい。ルート鍵更新処理を上述の手順で行う場合、通信相手となる各ノード間では処理のどの時点であってもSSLによる認証処理を行うことができるので、このように更新処理が途中で中断してしまっても、各ノード間の通信に大きな支障はない。従って、更新処理が失敗した場合に時間をかけて失敗の原因を特定した上で改めて更新処理を行っても、特に大きな問題はない。以後の各実施形態についても同様である。   Each process shown in the flowchart of FIG. 19 can be completed when a response indicating that the update is successful is received in response to the update request. Further, it may be completed when a reception response or a transmission result notification as described with reference to FIGS. 10 and 11 is received. If an update failure response is received or if the process times out, the same process may be tried again, but if the process fails for a predetermined number of times, the entire update process may have failed. When performing the root key update process according to the above-described procedure, the authentication process by SSL can be performed at any point of the process between the nodes that are communication partners, and thus the update process is interrupted in the middle. Even if this happens, there is no major hindrance to communication between the nodes. Therefore, even if the update process fails, it takes no time to specify the cause of the failure and then perform the update process again. The same applies to the subsequent embodiments.

また、この実施形態の更新手順では、第1の実施形態の場合と同様に、一部通信のオーバーヘッドが生じるが、処理手順の管理やプログラムの設計が容易であるという効果がある。ルート鍵証明書を更新すべきノードの数が多い場合には、この効果はより大きくなり、この実施形態が有効である。
また、この実施形態は、クライアント・サーバシステムの構成が図13に示すものである場合に限らず、上位ノードが下位ノードを従える形式で複数段に亘って構成される場合には、ノード数や各ノードのクライアント/サーバの機能の別によらずに適用することができる。図14に示すような形式で各ノードについての情報を記憶しておけば、どのような構成であってもこれを参照して図20及び図21に示す処理によって適切な更新手順を定めることができ、それに従って更新処理を行うことにより、各ノードの間の認証処理に大きな影響を与えることなく、ルート鍵を自動制御で更新することができる。これは後述の変形例及び第3の実施形態の場合も同様である。
In addition, in the update procedure of this embodiment, as in the case of the first embodiment, some communication overhead occurs, but there is an effect that the management of the processing procedure and the design of the program are easy. This effect becomes more significant when the number of nodes to update the root key certificate is large, and this embodiment is effective.
Further, this embodiment is not limited to the case where the configuration of the client / server system is as shown in FIG. 13, but when the upper node is configured in a plurality of stages in a format in which the lower node follows the lower node, the number of nodes and The present invention can be applied regardless of the function of the client / server of each node. If the information about each node is stored in the format shown in FIG. 14, an appropriate update procedure can be determined by the processing shown in FIG. 20 and FIG. By performing update processing accordingly, the root key can be updated by automatic control without greatly affecting the authentication processing between the nodes. The same applies to the modified example described later and the third embodiment.

〔第2の実施形態の変形例:図40乃至図42〕
次に、上述した第2の実施形態の変形例について説明する。
まず、図21のフローチャートに示した処理において、ステップS417とステップS418の間に図40に示すようにステップS421の処理を追加すると、更新順決定の処理におけるループ回数を低減することができる。
具体的には、ステップS417で探索した結果、リンク状態が「処理済」でないリンクを1つだけ発見した場合に、参照中のノードを注目点リストに追加せずにステップS421からステップS419に進むようにするのである。このような場合には、ステップS419でリンクのリンク状態を「処理済」にすると、参照中のノードにリンク状態が「処理済」でないリンクがなくなることになり、再度同じノードを参照する必要がないためである。
このような場合、初めにステップS415で注目点リストから前端のノードを削除してそのノードの情報を参照した後、その下位ノードのみを注目点リストに追加し、その後ステップS414に戻ってからの次のステップS415ではこの下位ノードを削除してしまうので、結果的には注目ノードをその下位ノードに変更する際に注目点リストの前端のノードを注目点リストから削除する処理を行うことになる。
[Modification of Second Embodiment: FIGS. 40 to 42]
Next, a modification of the above-described second embodiment will be described.
First, in the process shown in the flowchart of FIG. 21, if the process of step S421 is added between step S417 and step S418 as shown in FIG. 40, the number of loops in the update order determination process can be reduced.
Specifically, when only one link whose link state is not “processed” is found as a result of the search in step S417, the process proceeds from step S421 to step S419 without adding the currently referenced node to the attention point list. To do so. In such a case, if the link status of the link is set to “processed” in step S419, there will be no link whose link status is not “processed” in the referenced node, and it is necessary to refer to the same node again. This is because there is not.
In such a case, first, after deleting the node at the front end from the attention point list in step S415 and referring to the information of that node, only the lower node is added to the attention point list, and then the process returns to step S414. In the next step S415, this lower node is deleted. As a result, when the attention node is changed to the lower node, a process of deleting the node at the front end of the attention point list from the attention point list is performed. .

第2の実施形態で図37を用いて説明した部分の処理について、上記の変形を適用した場合の注目点リストの推移を図41に示す。この図においても、図37の場合と同様に、処理がステップS414の直前に達する毎にその時点の注目点リストの状態を示している。
この部分の処理において、図36に示した状態の後に前端のノードXについてステップS416以降の処理を行う際には、「処理済」でないリンクはノードBへのもののみであるので、ノードBのみを注目点リストの前端に追加し、ノードXは追加しない(1)。ノードBが次の注目ノードとなる点は図37の場合と同じであるが、下位ノードがなく処理がステップS414に戻った際には、注目点リストにはノードYのみが含まれることになる(2)。そして、次はノードYについてステップS415以下の処理を行って、リンク状態が「処理待ち」であるリンクの先のノードCを次の注目ノードとするが(3,4)、やはり下位ノードがないのでそのままステップS414に戻ってくる。
FIG. 41 shows the transition of the attention point list when the above-described modification is applied to the processing of the portion described with reference to FIG. 37 in the second embodiment. Also in this figure, as in the case of FIG. 37, every time the process reaches immediately before step S414, the state of the attention point list at that time is shown.
In the processing of this part, when the processing of step S416 and subsequent steps is performed on the front-end node X after the state shown in FIG. 36, since the link that is not “processed” is only to the node B, only the node B Is added to the front end of the attention point list, and the node X is not added (1). The point that node B becomes the next attention node is the same as in FIG. 37, but when there is no lower node and the process returns to step S414, only the node Y is included in the attention point list. (2). Next, the process from step S415 onward for node Y is performed, and the node C ahead of the link whose link state is “waiting for processing” is set as the next node of interest (3, 4), but there is no lower node as well. Therefore, the process returns to step S414 as it is.

その後ノードYについてステップS416以降の処理を行う際には、「処理済」でないリンクはノードDへのもののみであるので、ノードDのみを注目点リストの前端に追加し、ノードYは追加しない(5)。従って、ノードDにも下位ノードがなくそのままステップS414に戻ってくると、注目点リストが空になっているので(6)、処理を終了する。
このように、変形例を適用することにより、ステップS414以下の処理を8回繰り返していたところが6回で済むようになり、処理を短縮して更新順決定の処理負荷を低減することができる。
After that, when the processing after step S416 is performed on the node Y, the link that is not “processed” is only to the node D. Therefore, only the node D is added to the front end of the attention point list, and the node Y is not added. (5). Therefore, if there is no lower node in node D and the process returns to step S414 as it is, the point of interest list is empty (6), and the process is terminated.
As described above, by applying the modification example, the process of step S414 and the subsequent steps is repeated 8 times, and the process can be shortened to reduce the processing load for determining the update order.

また、別の変形例として、新たなノードを作業リストに追加する場合、リストの前端又は後端ではなく、注目ノードの直前又は直後に追加するようにしてもよい。このようにすると、作業リストは図42に示すように作成される。
すなわち、初めに最上位ノードを作業リストに追加した時点(1)と、最上位ノードを注目ノードとしてその下位ノードを作業リストに追加した時点(2)では上述の場合と変わらないが、その後ノードXを注目ノードとしてその下位ノードを作業リストに追加した時点(3)と、さらにその後ノードYを注目ノードとしてその下位ノードを作業リストに追加した時点(4)の作業リストは、図27や図31に示したものとは異なる。その後ノードA〜Dが注目ノードになった場合でも、新たなノードが作業リストに追加されることはないので、最終的に完成する作業リストも図42(4)に示すものである。
As another modification, when a new node is added to the work list, it may be added immediately before or after the node of interest instead of the front end or the rear end of the list. In this way, the work list is created as shown in FIG.
That is, when the top node is first added to the work list (1) and when the top node is the target node and its lower nodes are added to the work list (2), there is no difference from the above case, but the subsequent nodes The work list at the time point (3) when X is the attention node and its lower node is added to the work list and the time point (4) when the lower node is added to the work list after node Y is the attention node is shown in FIG. Different from that shown in FIG. Even if the nodes A to D become nodes of interest thereafter, a new node is not added to the work list, so the work list that is finally completed is also shown in FIG. 42 (4).

そして、このようにしても、完成する作業リストにおける更新順は、サーバとして機能するノードについての処理をそのノードの通信相手となる際にクライアントとして機能するノードの全てについて処理が完了してから行うという条件を満たす。従って、適当な更新順は一通りではないと言える。また、これ以外にも、注目ノードが下位ノードと通信する際の機能に応じて、注目ノードがサーバとして機能する場合には下位ノードを作業リスト中の注目ノードより前の任意の位置に追加し、注目ノードがクライアントとして機能する場合には下位ノードを作業リスト中の注目ノードより後の任意の位置に追加するようにしてもよい。
また、注目点リストについては、このようなリストを作成することは必須の要件ではなく、何らかの処理によって上述した順序で注目ノードを変更できるようにすればよい。そしてこのような処理は、例えば処理の再帰呼び出し等を用いて実現することもできる。また、作業リストについても、リストの形式で作成することは必須の要件ではなく、証明書管理装置10が各ノードに対する送信手順の実行順を認識できる形式であればよい。
Even in this case, the update order in the completed work list is performed after the processing for the node functioning as the server is completed for all of the nodes functioning as clients when the node is the communication partner of the node. This condition is satisfied. Therefore, it can be said that there is no single appropriate update order. In addition, depending on the function when the node of interest communicates with the lower node, if the node of interest functions as a server, the lower node is added to an arbitrary position before the node of interest in the work list. When the node of interest functions as a client, a lower node may be added at an arbitrary position after the node of interest in the work list.
In addition, regarding the attention point list, it is not essential to create such a list, and the attention node may be changed in the above-described order by some processing. Such processing can also be realized using, for example, recursive calling of processing. Also, it is not essential that the work list be created in the form of a list, and any form may be used as long as the certificate management apparatus 10 can recognize the execution order of transmission procedures for each node.

〔第3の実施形態:図43乃至図49〕
次に、この発明によるデジタル証明書管理装置である証明書管理装置と、クライアント・サーバシステムを構成するクライアント装置及びサーバ装置とによって構成される、この発明のデジタル証明書管理システムの第3の実施形態の構成について説明する。
このデジタル証明書管理システムは、クライアント・サーバシステムや証明書管理装置の構成については第2の実施形態の場合と同様であり、作業リストの作成手順が第2の実施形態の場合と異なるのみであるので、この点についてのみ説明する。この実施形態における更新手順も、証明書管理装置10の更新順制御部27が構成記憶部26に記憶している構成情報をもとに作成して管理し、この更新手順の作成も、この発明の更新手順決定方法に係る処理である。
[Third Embodiment: FIGS. 43 to 49]
Next, a third embodiment of the digital certificate management system according to the present invention, which is constituted by a certificate management device which is a digital certificate management device according to the present invention, and a client device and a server device constituting a client / server system, is described. The configuration of the form will be described.
In this digital certificate management system, the configurations of the client / server system and the certificate management apparatus are the same as those in the second embodiment, and only the work list creation procedure is different from that in the second embodiment. Only this point will be described. The update procedure in this embodiment is also created and managed by the update order control unit 27 of the certificate management apparatus 10 based on the configuration information stored in the configuration storage unit 26. The creation of this update procedure is also the present invention. This is processing related to the update procedure determination method.

この実施形態においては、処理11の実行順を作成する処理において、第2の実施形態における図21の処理に代えて、図43に示す処理を実行する。すなわち、図20のステップS403の判断がNOの場合に図43のステップS412に進み、図43のステップS420の次に図20のステップS403に進む。そして、図43に示す処理は、ステップS413に代えてステップS422の処理を行うようにすると共に、上述の変形例で説明したようにステップS417とステップS418の間でステップS421の処理を行うようにした点が、図21に示した処理と異なるのみである。
ステップS422については、注目ノードに下位ノードがある場合に注目ノードを注目点リストに追加する位置を、後端ではなく前端にした点が、第2の実施形態の場合と異なる。第3の実施形態における処理は、第2の実施形態の場合とほぼ同じなのであるが、このようにしたことより、更新手順を作成する際の注目ノードの変更順が大きく異なるのである。この点について、以下にこの実施形態における作業リストの作成例を用いて説明する。
In this embodiment, in the process of creating the execution order of the processes 11, the process shown in FIG. 43 is executed instead of the process of FIG. 21 in the second embodiment. That is, when the determination in step S403 in FIG. 20 is NO, the process proceeds to step S412 in FIG. 43, and after step S420 in FIG. 43, the process proceeds to step S403 in FIG. In the process shown in FIG. 43, the process of step S422 is performed instead of step S413, and the process of step S421 is performed between step S417 and step S418 as described in the above modification. The only difference is the processing shown in FIG.
The step S422 differs from the second embodiment in that the position where the attention node is added to the attention point list is not the rear end but the front end when there is a lower node in the attention node. The processing in the third embodiment is almost the same as in the second embodiment. However, because of this, the order of change of the node of interest when creating the update procedure is greatly different. This point will be described below using an example of creating a work list in this embodiment.

図44乃至図49はそれぞれ、作業リストの作成過程の種々の時点における各ノードの情報、作業リスト、注目点リストの状態を示す図である。
この実施形態においても、クライアント・サーバシステムの構成は図13に示したものであり、各ノードについての情報の初期状態は、第2の実施形態の場合と同様である。そして、作業リストの作成を行う場合には、図20のステップS401から処理を開始する。その後、初めに最上位のノードOを注目ノードとしてその下位のノードX,Yを作業リストに追加し、続いてノードXを注目ノードとしてその下位ノードのノードA,Bを作業リストに追加するまでの処理は、第2の実施形態の場合と同様である。そしてこの時点では、ノードOについての情報は図24に示した通りに、ノードX,A,Bについての情報は図26に示した通りに、ノードYについての情報は図22(c)に示した通りになっている。
FIGS. 44 to 49 are diagrams showing information of each node, the work list, and the attention point list at various points in the process of creating the work list.
Also in this embodiment, the configuration of the client / server system is as shown in FIG. 13, and the initial state of information about each node is the same as that in the second embodiment. Then, when creating a work list, the processing starts from step S401 in FIG. Thereafter, the node O and the subordinate nodes X and Y are added to the work list first with the highest node O as the attention node, and then the nodes A and B of the subordinate nodes are added to the work list with the node X as the attention node. This process is the same as in the case of the second embodiment. At this time, the information about the node O is shown in FIG. 24, the information about the nodes X, A, and B is shown in FIG. 26, and the information about the node Y is shown in FIG. It ’s right.

そして、ノードA,Bを作業リストに追加した後、注目ノードであるノードXに「未処理」のリンクがなくなると図20のステップS403から図43のステップS412に進み、注目ノードであるノードXには下位ノードがあるので、ステップS422で注目点リストの前端に追加する。この時点での作業リスト及び注目点リストは、図44に示すようになる。この状態では、注目ノードが作業リストの前端にあるので、ステップS414以下の処理においては、注目ノードの同世代ではなく、下位のノードを先に探索することになる。   Then, after adding the nodes A and B to the work list, if there is no “unprocessed” link in the node X that is the node of interest, the process proceeds from step S403 in FIG. 20 to step S412 in FIG. Since there is a lower node, it is added to the front end of the attention point list in step S422. The work list and attention point list at this time are as shown in FIG. In this state, since the node of interest is at the front end of the work list, in the processing from step S414, the lower node is searched first, not the same generation of the node of interest.

次に、ステップS414からS415に進み、前端のノードXをリストから削除してノードXの情報を参照する。ノードXのノード状態は図26に示したように「注目済」であるので、ステップS416からS417に進み、「処理済」でないリンクが2つあるので、ステップS421からS418に進んでノードXを注目点リストの前端に追加する。ステップS419ではノードAへのリンクについて処理を行うとすると、ノードAを注目点リストの前端に追加すると共にそのリンクのリンク状態を「処理済」に設定する。
ここまでの処理で、ノードXについての情報は図45に示すように変更され、他のノードについての情報は図26の時点から変化していない。作業リストと注目点リストはそれぞれ図46に示す内容となっている。
Next, the process proceeds from step S414 to S415, the node X at the front end is deleted from the list, and the information of the node X is referred to. Since the node state of the node X is “attentioned” as shown in FIG. 26, the process proceeds from step S416 to S417, and since there are two links that are not “processed”, the process proceeds from step S421 to S418. Add to the front end of the list of points of interest. In step S419, if processing is performed on the link to the node A, the node A is added to the front end of the attention point list, and the link state of the link is set to “processed”.
In the processing so far, the information about the node X is changed as shown in FIG. 45, and the information about the other nodes is not changed from the time of FIG. The work list and the attention point list have the contents shown in FIG.

次に、処理はステップS414に戻り、ステップS415に進んで注目点リストの前端のノードAを削除し、その情報を参照する。そして、ノードAのノード状態は図26に示した通り「追加済」であるので、ステップS416からステップS420に進んで注目ノードをノードAに変更し、そのノード状態を「注目済」に変更する。そして、図20のステップS403に戻るが、ノードAにはそもそも下位ノードへのリンクがないので、そのままステップS412に進む。そして、ノードAには下位ノードがないので、注目点リストに追加することなくステップS414に進む。ここまでの処理で、注目点リストは図47(1)に示す内容となる。作業リストは図46に示した状態から変化していない。   Next, the process returns to step S414, proceeds to step S415, deletes node A at the front end of the attention point list, and refers to the information. Then, since the node state of the node A is “added” as shown in FIG. 26, the process proceeds from step S416 to step S420, the node of interest is changed to the node A, and the node state is changed to “attentioned”. . Then, the process returns to step S403 in FIG. 20, but since node A does not have a link to a lower node in the first place, the process proceeds to step S412 as it is. Since node A has no lower nodes, the process proceeds to step S414 without adding it to the attention point list. In the processing so far, the attention point list has the contents shown in FIG. The work list has not changed from the state shown in FIG.

次にステップS414からS415に進み、注目点リストの前端のノードXを削除し、その情報を参照する。ノードAには下位ノードがないことから、上位に向かってノードを辿り、まだ注目ノードになっていない下位ノードを持つノードを探すのである。
ノードXのノード状態は図45に示したように「注目済」であるので、ステップS416からS417に進む。そして、「処理済」でないリンクはノードBへの1つのみあるので、ステップS421からS418は飛ばしてステップS419に進み、ノードBを注目点リストの前端に追加すると共にそのリンクのリンク状態を「処理済」に設定する。ここまでの処理で、注目点リストは図47(2)に示す内容となる。作業リストは図46に示した状態から変化していない。
そして、次はこのノードBが注目ノードとなるが、ノードBにも下位ノードへのリンクがないので、ステップS403からそのままステップS412に戻ってくる。そして、ノードBを注目点リストに追加することなくステップS414に進む。ここまでの処理で、注目点リストは図47(3)に示す内容となる。
Next, the process proceeds from step S414 to S415, the node X at the front end of the attention point list is deleted, and the information is referred to. Since there is no lower node in node A, the node is traced upward to search for a node having a lower node that has not yet become a target node.
Since the node state of the node X is “focused” as shown in FIG. 45, the process proceeds from step S416 to S417. Since there is only one link to node B that is not “processed”, steps S421 to S418 are skipped and the process proceeds to step S419, where node B is added to the front end of the point of interest list and the link status of the link is changed to “ Set to Processed. In the processing so far, the attention point list has the contents shown in FIG. The work list has not changed from the state shown in FIG.
Next, this node B becomes the node of interest, but the node B also has no link to a lower node, so the process returns from step S403 to step S412 as it is. Then, the process proceeds to step S414 without adding the node B to the attention point list. In the process so far, the attention point list has the contents shown in FIG.

次にステップS414からS415に進み、注目点リストの前端のノードOを削除し、その情報を参照する。ノードBにもその上位のノードXにもまだ注目ノードになっていない下位ノードがなくなったことから、さらに上位のノードについて、まだ注目ノードになっていない下位ノードを持つノードを探すのである。
そして、ノードOのノード状態は図24に示したように「注目済」であるので、ステップS416からS417に進み、「処理済」でないリンクはノードYへの1つのみあるので、ステップS421からS418は飛ばしてステップS419に進み、ノードYを注目点リストの前端に追加すると共にそのリンクのリンク状態を「処理済」に設定する。ここまでの処理で、注目点リストは図47(4)に示す内容となる。
Next, the process proceeds from step S414 to S415, and the node O at the front end of the attention point list is deleted and the information is referred to. Since there is no lower node that has not yet become the attention node in the node B or the upper node X, a node having a lower node that has not yet become the attention node is searched for for the upper node.
Then, since the node state of the node O is “focused” as shown in FIG. 24, the process proceeds from step S416 to S417, and since there is only one link to the node Y that is not “processed”, from step S421. In step S418, the process skips to step S419, where the node Y is added to the front end of the attention point list and the link state of the link is set to “processed”. With the processing so far, the attention point list has the contents shown in FIG.

次に注目点リストの前端のノードYを削除し、その情報を参照するが、ノードYのノード状態は図22(c)に示した時点のまま「追加済」であるので、次はこれが注目ノードとなる。すなわち、前の注目ノードであるノードBから上位に向かってノードを順に辿り、まだ注目ノードになっていない下位ノードを持つノードOの下位ノードが、次の注目ノードとなる。そして、図20のステップS403以下の処理により、ノード状態が「未処理」となっているノードC,Dが作業リストに追加される。ここまでの処理で、作業リストと注目点リストはそれぞれ図48に示す内容となる。
これで全てのノードが作業リストに追加されたことになるが、処理中にはこのことはわからないため、以後、注目点リストが空になるまで同様に処理を繰り返す。そして、以後の注目点リストの変化は図49に示すようになる。図49には、処理がステップS414に達する毎に、その時点の注目点リストの状態を示している。
Next, the node Y at the front end of the attention point list is deleted and the information is referred to. However, the node state of the node Y is “added” as shown in FIG. Become a node. That is, the nodes are sequentially traced from the previous node of interest B to the upper level, and the lower node of the node O having the lower node that has not yet become the target node becomes the next target node. Then, nodes C and D in which the node state is “unprocessed” are added to the work list by the processing after step S403 in FIG. In the processing so far, the work list and the point of interest list each have the contents shown in FIG.
All nodes are now added to the work list. However, since this is not known during processing, the same processing is repeated until the attention point list becomes empty. The subsequent changes in the attention point list are as shown in FIG. FIG. 49 shows the state of the attention point list at that time each time the process reaches step S414.

図48に示した状態の後には、前端のノードYについてノードC及びDへの2つのリンクが「処理済」になっていないので、ノードYを注目点リストの前端に追加すると共に、まずノードCを同様に追加し(1)、ノードCが次の注目ノードとなる。しかしノードCには下位ノードはないのでそのままステップS414に戻ってくる(2)。そして、再度ノードYについてステップS415以下の処理を行うが、今度は「処理済」でないリンクはノードDへの1つだけであるので、ノードDのみを注目点リストの前端に追加する(3)。そして、ノードDが次の注目ノードになるが、ノードDには下位ノードはないのでそのままステップS414に戻ってくる(4)。そして、この時点で注目点リストが空になっているので、処理を終了する。   After the state shown in FIG. 48, since the two links to the nodes C and D are not “processed” for the node Y at the front end, the node Y is added to the front end of the attention list, and the node first Similarly, C is added (1), and the node C becomes the next node of interest. However, since node C has no lower nodes, the process returns to step S414 as it is (2). Then, the process from step S415 is performed again on the node Y, but this time, since there is only one link to the node D that is not “processed”, only the node D is added to the front end of the attention point list (3). . Then, the node D becomes the next node of interest, but the node D does not have a lower node, so the process returns to the step S414 as it is (4). Since the attention point list is empty at this point, the process is terminated.

以上により作業リストが完成し、図48に示した通り、D→B→Y→O→X→A→Cの順で処理11を行うことになる。この順は、結果的に第2の実施形態で説明したものと同じであるが、注目ノードは、上述のように最上位のOから始まってO→X→A→B→Y→C→Dの順で変更される。従って、注目ノードは、注目ノードの下位ノードであってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに変更し、そのようなノードがなければ、上位に向かってノードを順に辿り、まだ注目ノードになっていない下位ノードを持つノードがあった場合にその下位ノードのいずれかに変更していることになる。   Thus, the work list is completed, and processing 11 is performed in the order of D → B → Y → O → X → A → C as shown in FIG. This order is the same as that described in the second embodiment as a result, but the node of interest starts from the topmost O as described above, and O → X → A → B → Y → C → D. It is changed in the order. Therefore, if there is a node that is a lower node of the target node and not yet the target node, the target node is changed to one of the nodes, and if there is no such node, the nodes are sequentially traced upward. When there is a node having a lower node that has not yet become a target node, the node is changed to one of the lower nodes.

このような順番で注目ノードを変更できるのは、図43のステップS422で注目ノードを注目点リストの前端に追加し、注目ノードの下位ノードをその上位ノードから見た別の下位ノードより先に次の注目ノードにして探索するようにしているためである。そして、この処理を繰り返すうちに最上位ノードから下位のノードに向かって辿ったノードが注目点リストに蓄積される。従って、下位ノードを持たない最下位のノードが注目ノードとなった後に、注目点リストをもとに上位のノードを順次探索してまだ注目ノードになっていない別の下位ノードを探すことができるのである。   The attention node can be changed in this order because the attention node is added to the front end of the attention point list in step S422 in FIG. 43, and the lower node of the attention node is preceded by another lower node viewed from the upper node. This is because the next attention node is searched. Then, as this process is repeated, the nodes traced from the highest node to the lower nodes are accumulated in the attention point list. Therefore, after the lowest node that does not have a lower node becomes the attention node, it is possible to sequentially search higher nodes based on the attention point list to find another lower node that has not yet become the attention node. It is.

以上のように処理11の実行順を作成し、その前に処理Sを実行し、その後に各ノードに対して任意の順、例えば世代数の小さい順に処理12を実行するようにすれば、第2の実施形態の場合と同様にルート鍵更新の適切な処理手順を定めることができ、同様な効果を得ることができる。
この場合において、第2の実施形態のようにステップS421の処理を行わないようにしてもよいし、その他第2の実施形態の場合と同様な変形を適用することができる。
If the execution order of the process 11 is created as described above, the process S is executed before that, and then the process 12 is executed for each node in any order, for example, in ascending order of the number of generations, the first As in the case of the second embodiment, an appropriate processing procedure for updating the root key can be determined, and the same effect can be obtained.
In this case, the processing in step S421 may not be performed as in the second embodiment, and other modifications similar to those in the second embodiment may be applied.

〔第2の実施形態と第3の実施形態の特徴:図50乃至図54〕
上述した第2及び第3の実施形態のデジタル証明書管理システムの説明においては、クライアント・サーバシステムの構成が図13に示したものである場合について説明したため、両者の実施形態の処理によって作成した作業リストも同じものになったし、処理中における注目点リストの長さも同程度であった。しかし、クライアント・サーバシステムの構成が複雑になった場合、これらの処理は異なった結果をもたらし、それによって異なった効果を生じる。
[Characteristics of the second and third embodiments: FIGS. 50 to 54]
In the description of the digital certificate management system of the second and third embodiments described above, the case where the configuration of the client / server system is as shown in FIG. 13 has been described. The work list became the same, and the length of the attention list during processing was similar. However, when the configuration of the client / server system becomes complicated, these processes give different results, and thereby produce different effects.

ここで、図50に示す構成のデジタル証明書管理システムについて上述の第2及び第3の実施形態で説明した手順で作業リストを作成する場合の処理について説明すると共に、これらの実施形態が個別に有する特徴について説明する。このデジタル証明書管理システムにおいては、クライアント・サーバシステムは4世代に亘る13のノードで構成されている。各ノードの通信相手及び、その通信相手と通信する場合にクライアントとサーバのいずれとして機能するかは、図13の場合と同様に矢印及び「S」と「C」の記号で示している。また、これらの各ノードについての構成情報は、図14に示した形式で証明書管理装置10の構成記憶部26に記憶しているが、ノードの数が多いため、これらの図示は省略する。   Here, the processing for creating a work list in the procedure described in the second and third embodiments described above for the digital certificate management system having the configuration shown in FIG. 50 will be described, and these embodiments will be individually described. The characteristic which has is demonstrated. In this digital certificate management system, the client / server system is composed of 13 nodes over 4 generations. The communication partner of each node and whether it functions as a client or a server when communicating with the communication partner are indicated by arrows and symbols “S” and “C” as in the case of FIG. Further, the configuration information about each of these nodes is stored in the configuration storage unit 26 of the certificate management apparatus 10 in the format shown in FIG. 14, but the illustration thereof is omitted because of the large number of nodes.

まず、このような構成のクライアント・サーバシステムについて、第2の実施形態で説明した処理によって作業リストを作成する場合の処理の流れについて説明する。ただし、処理を短縮するため、上述した変形例のように図40に示したステップS421の処理を行うものとする。
この処理の流れは、図51及び図52に示している。これらの図には、処理中の注目点リスト及び作業リストの内容と注目ノードとを順を追って示しており、ステップS301は図20のステップS402の時点の状態、以降のステップは処理が図21のステップS414に達する度にその時点の状態を示している。また、注目点リスト及び作業リストにおいて、アルファベットの一文字が1つのノードを表わし(例えば「A」はノードA)、下線を付した文字は前のステップの時点と比べて追加されている情報を、小文字は前のステップの時点と比べて削除されている情報を示す。
First, for the client / server system having such a configuration, a flow of processing when a work list is created by the processing described in the second embodiment will be described. However, in order to shorten the process, it is assumed that the process of step S421 illustrated in FIG. 40 is performed as in the above-described modification.
The flow of this process is shown in FIGS. In these drawings, the contents of the attention point list and work list being processed and the attention node are shown in order, step S301 is the state at the time of step S402 in FIG. 20, and the subsequent steps are the processing in FIG. Each time step S414 is reached, the current state is shown. In the attention point list and the work list, one letter of the alphabet represents one node (for example, “A” is node A), and the underlined character is information added compared to the time of the previous step, Lower case letters indicate information that has been deleted compared to the time of the previous step.

これらの図からわかるように、第2の実施形態で説明した処理を行う場合には、注目ノードはO→X→Y→A→B→C→D→E→F→G→H→I→Jの順で変化する。従って、同世代のノードで注目ノードになっていないノードがあればまずそれを注目ノードとし、同世代のノードが全て注目ノードになった後で下位のノードを注目ノードとしていることになる。そして、このようにするため、ある世代のノードを順次注目ノードに定めている時点では、その世代のノードを注目点リストに蓄積していき、後でその下位ノードを参照するようにしている。従って、注目点リストの最大長は、最下位ノード以外のノードの数が最も多い世代のノード数程度となる。   As can be seen from these figures, when the processing described in the second embodiment is performed, the node of interest is O → X → Y → A → B → C → D → E → F → G → H → I → It changes in the order of J. Therefore, if there is a node of the same generation that is not the target node, that node is first set as the target node, and after all the nodes of the same generation have become the target node, the lower level node is set as the target node. In order to do this, when a node of a certain generation is determined as a node of interest sequentially, the node of that generation is accumulated in the point of interest list, and its lower nodes are referenced later. Therefore, the maximum length of the attention point list is about the number of nodes of the generation having the largest number of nodes other than the lowest node.

一方、同じ世代のノードを順次注目ノードに定めるので、作業リストにも、同じ世代のノードがまとまって配置されることになる。ここで示した例では、第4世代のJ,H,G,EやC,F,Iがまとまっているし、数は少ないが第3世代のD,BやA,Cもまとまって配置されている。同世代のノードは直接通信相手となることがないので、これらのまとまって配置されたノードについては、前のノードについての処理の完了を待つことなく次のノードについての処理を開始できる。従って、ルート鍵更新処理を行う場合のスループットを向上させることができる。   On the other hand, since nodes of the same generation are sequentially determined as nodes of interest, nodes of the same generation are arranged together in the work list. In the example shown here, the fourth generation J, H, G, E and C, F, I are collected, and the third generation D, B, A, C are also arranged in a small number. ing. Since nodes of the same generation do not directly communicate with each other, the processing for the next node can be started without waiting for the completion of the processing for the previous node with respect to these nodes arranged together. Therefore, the throughput when performing the root key update process can be improved.

なお、作業リストにおいて、ノードEとノードGのように直接通信可能でないノードについての前後関係は、特に問題とならない。これは、仮にノードEとノードGが共通の上位ノードと通信可能である場合でも同様である。ノードEとノードGはどちらも上位ノードと通信する際にクライアントとして機能するので、作業リストにおいて上位ノードよりは前に位置することになるが、ノードEとノードGのどちらがより前に位置するかは、更新順決定処理を行う順番に依存することになる。そして、更新順決定処理を行う順番は、通常、ノードの情報の記載順に依存する。従って、更新処理をまとめて行いたいノードの情報をまとめて記載しておくことにより、それらのノードが近い位置に配置された作業リストが作成されるようにするといった対応も可能である。このようにすることによっても、上述の場合と同様、ルート鍵更新処理を行う場合のスループットを向上させることができる。   Note that the context of nodes that are not directly communicable, such as node E and node G, in the work list is not particularly problematic. This is the same even when the node E and the node G can communicate with a common upper node. Since both the node E and the node G function as clients when communicating with the upper node, the node E and the node G are positioned before the upper node in the work list. Depends on the order of performing the update order determination process. The order in which the update order determination process is performed usually depends on the description order of the node information. Accordingly, it is also possible to cope with the creation of a work list in which the nodes are arranged at close positions by collectively describing information on nodes that are desired to be updated together. Also by doing this, as in the case described above, the throughput in the case of performing the root key update process can be improved.

次に、第3の実施形態で説明した処理によって作業リストを作成する場合の処理の流れについて説明する。この処理の流れは、図53及び図54に示しており、図示した記号の意味は図50及び図51の場合と同様である。
これらの図からわかるように、第3の実施形態で説明した処理を行う場合には、注目ノードはO→X→A→E→F→B→G→Y→C→H→D→I→Jの順で変化する。従って、まず下位ノードを順に辿って注目ノードとし、最下位ノードに達した場合に上位ノードに戻ってまだ注目ノードになっていない別の下位ノードを注目ノードとしていることになる。そして、このようにするため、下位ノードを順に辿って注目ノードに定めている時点では、その辿った経路を注目点リストに蓄積していき、後でそこに戻って下位ノードを参照するようにしている。従って、注目点リストの最大長は、最下位ノードの世代数程度となる。
Next, the flow of processing when creating a work list by the processing described in the third embodiment will be described. The flow of this process is shown in FIGS. 53 and 54, and the meanings of the symbols shown are the same as those in FIGS.
As can be seen from these figures, when the processing described in the third embodiment is performed, the node of interest is O → X → A → E → F → B → G → Y → C → H → D → I → It changes in the order of J. Accordingly, the lower node is first traced to be the attention node, and when the lowest node is reached, the lower node is returned to the upper node and another lower node that has not yet become the attention node is regarded as the attention node. In order to do this, when the lower nodes are traced in order and set as the attention node, the traced route is accumulated in the attention point list and later returned to refer to the lower node. ing. Therefore, the maximum length of the attention point list is about the number of generations of the lowest node.

例えばクライアント・サーバシステムによる遠隔管理システムや電子商取引システムにおけるルート鍵の更新にこの実施形態を適用することを考えた場合、1台の管理装置と多数の端末装置との間で通信可能なシステムが構築されることもあり、このような場合には同一世代の装置が数千台あるいは数万台以上に及ぶことも考えられる。しかし、このような場合でも、世代数がこのような数になることは通常ないため、第3の実施形態で説明した処理によれば注目点リストが短くて済み、処理に必要なワークエリアの量を低減することができる。   For example, when applying this embodiment to updating a root key in a remote management system by a client / server system or an electronic commerce system, there is a system that can communicate between one management device and many terminal devices. In such a case, it is possible that the same generation of devices may reach several thousand or tens of thousands of devices. However, even in such a case, since the number of generations does not normally become such a number, according to the processing described in the third embodiment, the attention point list can be shortened, and the work area required for the processing can be reduced. The amount can be reduced.

〔上述した各実施形態についての他の変形例:図55乃至図57〕
以上説明した各実施形態では、クライアント装置40とサーバ装置30あるいは各ノードが、図4又は図5を用いて説明したようなSSLによる認証処理を行う場合の例について説明した。しかし、この認証処理が必ずしもこのようなものでなくてもこの実施形態は効果を発揮する。
SSLを改良したTLS(Transport Layer Security)も知られているが、このプロトコルに基づく認証処理を行う場合にも当然適用可能である。
[Other Modifications of Each Embodiment described above: FIGS. 55 to 57]
In each of the embodiments described above, an example has been described in which the client device 40 and the server device 30 or each node performs an authentication process using SSL as described with reference to FIG. 4 or FIG. However, even if this authentication process is not necessarily such, this embodiment is effective.
TLS (Transport Layer Security) improved from SSL is also known, but it is naturally applicable to the case where authentication processing based on this protocol is performed.

また、上述した実施形態では、証明書管理装置10をクライアント・サーバシステムを構成するノードとは別に設ける例について説明したが、これと一体として設けることを妨げるものではない。この場合、証明書管理装置10の機能を実現するためのCPU,ROM,RAM等の部品を独立して設けてもよいが、最上位となるノードのCPU,ROM,RAM等を使用し、そのCPUに適当なソフトウェアを実行させることにより、証明書管理装置10として機能させるようにしてもよい。   In the above-described embodiment, the example in which the certificate management apparatus 10 is provided separately from the nodes constituting the client / server system has been described, but this does not prevent the certificate management apparatus 10 from being provided integrally therewith. In this case, components such as a CPU, a ROM, and a RAM for realizing the function of the certificate management apparatus 10 may be provided independently. The certificate management apparatus 10 may be caused to function by causing the CPU to execute appropriate software.

このような場合において、証明書管理装置10と、これと一体になっているノードとの間の通信には、ハードウェアを証明書管理装置10として機能させるためのプロセスと、ハードウェアをそのノードとして機能させるためのプロセスとの間のプロセス間通信を含むものとする。
さらに、上述した各実施形態では、証明書管理装置10が証明鍵やデジタル証明書を自ら作成してこれを取得する例について説明したが、図2及び図12に示した証明用鍵作成部21や証明書発行部22の機能を証明書管理装置10とは別の装置に設け、証明書管理装置10がその装置から証明鍵やデジタル証明書の供給を受けてこれらを取得するようにしてもよい。
In such a case, for communication between the certificate management apparatus 10 and a node integrated with the certificate management apparatus 10, a process for causing the hardware to function as the certificate management apparatus 10 and the hardware are connected to the node. Inter-process communication with a process for functioning as
Furthermore, in each of the above-described embodiments, the certificate management device 10 has created an example of creating a certificate key or a digital certificate and acquiring the certificate key, but the certificate key creating unit 21 illustrated in FIGS. 2 and 12 has been described. And the function of the certificate issuing unit 22 may be provided in an apparatus different from the certificate management apparatus 10 so that the certificate management apparatus 10 obtains the certificate key and the digital certificate supplied from the apparatus. Good.

また、証明書管理装置10が複数のノードと直接の通信相手となる構成としても構わない。しかし、このような場合でも、直接的に通信相手となるノードのうち1つを選択して最上位のノードとし、これを基準にルート鍵の更新手順を定めるとよい。このようにすると、各シーケンス図に示した通信シーケンスは、証明書管理装置10が複数のノードと直接通信が可能であることに伴って異なったものになるが、処理の順序は上述した各実施形態の場合と同様である。このようにしても、上述した各実施形態の効果を得ることができる。   The certificate management apparatus 10 may be configured to directly communicate with a plurality of nodes. However, even in such a case, it is preferable to select one of the nodes directly serving as communication partners to be the highest node and to determine the route key update procedure based on this. In this way, the communication sequence shown in each sequence diagram becomes different as the certificate management apparatus 10 can directly communicate with a plurality of nodes. It is the same as the case of the form. Even if it does in this way, the effect of each embodiment mentioned above can be acquired.

また、第1実施形態の変形例においては、証明書管理装置10とクライアント装置40との間で通信を行う際にも、SSLによる認証処理を行うようにすることができる。第2及び第3の実施形態あるいはその変形例において、最上位のノードが下位ノードと通信する際にクライアントとして機能する場合についても同様である。
このようにするには、図55に示すように、クライアント装置40(最上位のノード)に、サーバ装置30(下位ノード)との認証処理に用いるクライアント私有鍵、クライアント公開鍵証明書及びルート鍵証明書(実施形態において説明したもの)とは別に、もう一組の私有鍵、公開鍵証明書及びルート鍵証明書(「第2のクライアント私有鍵」、「第2のクライアント公開鍵証明書」及び「第2のルート鍵証明書」と呼ぶ)を記憶させ、証明書管理装置10との認証処理にこれらを用いるようにすればよい。
Further, in the modification of the first embodiment, when performing communication between the certificate management device 10 and the client device 40, authentication processing by SSL can be performed. The same applies to the case where the uppermost node functions as a client when communicating with a lower node in the second and third embodiments or modifications thereof.
To do this, as shown in FIG. 55, the client device 40 (the highest node) has a client private key, a client public key certificate, and a root key used for authentication processing with the server device 30 (lower node). Apart from the certificate (as described in the embodiment), another set of private key, public key certificate and root key certificate ("second client private key", "second client public key certificate") And “second root key certificate”), and these may be used for authentication processing with the certificate management apparatus 10.

この場合、証明書管理装置10にも、管理装置用私有鍵、管理装置用公開鍵証明書及び上記の第2のルート鍵証明書を記憶させ、認証処理に用いる。そして、第2のクライアント公開鍵証明書及び管理装置用公開鍵証明書は、第2のルート鍵証明書に含まれる第2のルート鍵で内容が確認できるものとする。すなわち、その第2のルート鍵と対応するルート私有鍵(第2のルート私有鍵)を用いてデジタル署名を付すようにする。
このようにすれば、証明書管理装置10とクライアント装置40との間の認証処理と、クライアント装置40とサーバ装置30との間の認証処理とを、全く独立して行うことができる。
In this case, the certificate management apparatus 10 also stores the management apparatus private key, the management apparatus public key certificate, and the second root key certificate, and uses them for the authentication process. The contents of the second client public key certificate and the management apparatus public key certificate can be confirmed by the second root key included in the second root key certificate. That is, the digital signature is attached using the root private key (second root private key) corresponding to the second root key.
In this way, the authentication process between the certificate management apparatus 10 and the client apparatus 40 and the authentication process between the client apparatus 40 and the server apparatus 30 can be performed completely independently.

第1実施形態の変形例におけるクライアント装置40は、図12を用いて説明したように、証明書管理装置10との通信はサーバ機能部44が、サーバ装置30との通信はクライアント機能部43が通信機能部42を介して行う。従って、証明書管理装置10から通信を要求される通信と、サーバ装置30に要求する通信とは明確に区別することができるため、これらとの間で別々の鍵や証明書を用いた認証処理を行うことができるのである。
このような場合において、証明書管理装置10からの要求に応じてクライアント装置40とサーバ装置30との間の認証処理に用いるルート鍵証明書や公開鍵証明書を更新したとしても、証明書管理装置10とクライアント装置40との間の認証処理には全く影響がない。
As described with reference to FIG. 12, the client device 40 in the modification of the first embodiment is communicated with the certificate management device 10 by the server function unit 44, and communicated with the server device 30 by the client function unit 43. This is performed via the communication function unit 42. Accordingly, the communication requested from the certificate management apparatus 10 and the communication requested from the server apparatus 30 can be clearly distinguished, so that authentication processing using different keys and certificates is performed between them. Can be done.
In such a case, even if the root key certificate or public key certificate used for the authentication process between the client device 40 and the server device 30 is updated in response to a request from the certificate management device 10, the certificate management There is no effect on the authentication process between the device 10 and the client device 40.

各実施形態で説明した手順によって更新処理を行えば、クライアント装置40とサーバ装置30との間の認証処理にも大きな影響を与えることなく更新処理を行えることは上述した通りであるので、図55に示した構成をとることにより、各ノード間の認証処理を維持したままルート鍵を更新できると言える。
なお、第2のルート鍵証明書を更新しようとする場合には、証明書管理装置10をクライアント、クライアント装置40をサーバとして、上述したいずれかの実施形態の手順に従って更新処理を行えばよい。このような更新処理を行っても、クライアント装置40とサーバ装置30との間の認証処理には全く影響がない。
If the update process is performed according to the procedure described in each embodiment, the update process can be performed without greatly affecting the authentication process between the client apparatus 40 and the server apparatus 30, as described above. It can be said that the root key can be updated while maintaining the authentication process between the nodes by adopting the configuration shown in FIG.
When the second root key certificate is to be updated, update processing may be performed according to the procedure of any of the above-described embodiments using the certificate management apparatus 10 as a client and the client apparatus 40 as a server. Even if such update processing is performed, there is no influence on the authentication processing between the client device 40 and the server device 30.

また、上述した各実施形態においては、各ノードが相互認証を行う際に必要な、全てのノードに記憶させているルート鍵証明書及び公開鍵証明書を更新する例について説明した。しかし、図5に示したような片方向認証を行うのであれば、クライアントのみとして機能するノードにはルート鍵証明書のみを、サーバのみとして機能するノードには公開鍵証明書及び私有鍵のみを記憶させておけば足りる。そして、クライアントとサーバの両方として機能するノードには、ルート鍵証明書と公開鍵証明書と私有鍵とを全て記憶させる。ただし、サーバのみとして機能するノードにもルート鍵証明書を記憶させておくようにすれば、ルート鍵の更新時に、新公開鍵証明書の正当性を確認してから記憶できるようにすることができる。   Further, in each of the above-described embodiments, the example in which the root key certificate and the public key certificate stored in all the nodes necessary for each node to perform mutual authentication has been described. However, if one-way authentication as shown in FIG. 5 is performed, only a root key certificate is given to a node functioning only as a client, and only a public key certificate and a private key are assigned to a node functioning only as a server. It is enough if you remember it. The node functioning as both the client and the server stores all the root key certificate, public key certificate, and private key. However, if the root key certificate is also stored in a node that functions only as a server, it can be stored after the validity of the new public key certificate is confirmed when the root key is updated. it can.

このようにする場合、第2,第3の実施形態及びその変形例に示したルート鍵証明書の更新処理を、以下のように変形するとよい。
すなわち、クライアントのみとして機能するノードについて、図19に示した証明書記憶処理として、図17に示した処理11に代えて、以下の図56に示す処理11′又は図57に示す処理11″を行うようにすればよい。
In this case, the root key certificate update process shown in the second and third embodiments and the modified examples may be modified as follows.
That is, for the node that functions only as a client, the certificate storage process shown in FIG. 19 is replaced with the process 11 ′ shown in FIG. 56 or the process 11 ″ shown in FIG. 57, instead of the process 11 shown in FIG. You just have to do it.

図56に示す処理11′は、クライアントのみとして機能するノードには公開鍵証明書を記憶させる必要がないことから、新公開鍵証明書の生成及び送信を行わないようにしたものである。このことに伴い、処理11′には、処理11におけるステップS311に対応する処理はなく、またステップS312′及びS314′においては、新公開鍵証明書の送信を行わないようにしている。そして、対象ノード側において新公開鍵証明書を記憶する処理であるステップS319とステップS320に対応する処理も行わないようにしている。
このような処理を行うことにより、クライアントのみとして機能するノードに新ルート鍵証明書を送信して記憶させることができる。
The process 11 ′ shown in FIG. 56 is such that a new public key certificate is not generated and transmitted because there is no need to store the public key certificate in a node that functions only as a client. Accordingly, the processing 11 ′ has no processing corresponding to step S311 in the processing 11, and the new public key certificate is not transmitted in steps S312 ′ and S314 ′. The processing corresponding to step S319 and step S320, which is a process of storing the new public key certificate on the target node side, is also not performed.
By performing such processing, the new root key certificate can be transmitted and stored in a node that functions only as a client.

一方、図57に示す処理11″は、処理11の場合と同様に新公開鍵証明書の生成と送信は行うが、対象ノードにおいてその新公開鍵証明書を無視するようにしたものである。従って、処理11″は、処理11から単にステップS319とS320を削除したものである。このような処理によっても、クライアントのみとして機能するノードに新ルート鍵証明書を送信して記憶させることができる。
このような処理を採用した場合、証明書管理装置10及び上位のノードにおける処理は対象ノードがサーバのみとして機能したりクライアントとサーバの両方として機能したりする場合と共通化できる。従って、新公開鍵証明書を無駄に作成/送信することにはなるが、更新処理手順の管理は単純化することができる。
On the other hand, in the process 11 ″ shown in FIG. 57, the new public key certificate is generated and transmitted as in the case of the process 11, but the new public key certificate is ignored at the target node. Therefore, the process 11 ″ is obtained by simply deleting steps S319 and S320 from the process 11. Even with such processing, the new root key certificate can be transmitted and stored in a node that functions only as a client.
When such a process is adopted, the process in the certificate management apparatus 10 and the upper node can be shared with the case where the target node functions as only a server or functions as both a client and a server. Therefore, although the new public key certificate is created / transmitted unnecessarily, the management of the update processing procedure can be simplified.

なお、サーバのみとして機能するノードとクライアントとサーバの両方として機能するノードについては、ルート鍵証明書と公開鍵証明書の双方を記憶させるので、図17に示した処理11を行う。サーバのみとして機能するノードにルート鍵証明書を記憶させないのであれば、ステップS312とS314では新公開鍵証明書と更新要求(送信要求)を送信するのみでよく、対象ノードにおけるステップS315乃至S318の処理は不要である。   Note that the node functioning as only the server and the node functioning as both the client and the server store both the root key certificate and the public key certificate, so the process 11 shown in FIG. 17 is performed. If the root key certificate is not stored in the node functioning only as the server, it is only necessary to transmit the new public key certificate and the update request (transmission request) in steps S312 and S314, and in steps S315 to S318 in the target node. No processing is necessary.

このようにした場合でも、第2,第3の実施形態あるいはその変形例で説明したような更新順決定処理によって各ノードに対する処理11,11′又は11″の実行順を定めることにより、上述した各実施形態あるいは変形例の場合と同様に、各ノード間の認証処理に大きな影響を与えることなく、ルート鍵を自動制御で更新することができる。
第1の実施形態についても同様にこのような変形を適用可能であることは、いうまでもない。
Even in this case, the execution order of the process 11, 11 ′ or 11 ″ with respect to each node is determined by the update order determination process as described in the second and third embodiments or the modifications thereof. As in the case of each embodiment or modification, the root key can be updated by automatic control without greatly affecting the authentication process between the nodes.
It goes without saying that such a modification can be applied to the first embodiment as well.

なお、上述の各実施形態及び変形例で説明した技術を相互に組み合わせて用いることも当然可能である。
また、この発明によるプログラムは、クライアント・サーバシステムを構成する複数の装置とネットワークを介して直接的又は間接的に通信可能なコンピュータに、クライアント・サーバシステムの各ノードの間で認証処理に使用するデジタル証明書の正当性を確認するために用いる証明鍵を更新する機能を実現させるためのプログラムであって、構成情報を記憶し、これをもとに上述の各実施形態で説明したような処理を実行して証明鍵の更新手順を定める機能を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
Of course, the techniques described in the above embodiments and modifications may be used in combination.
The program according to the present invention is used for authentication processing between each node of the client / server system to a computer capable of communicating directly or indirectly with a plurality of devices constituting the client / server system via a network. A program for realizing a function of updating a certification key used for confirming the validity of a digital certificate, storing configuration information, and processing as described in each of the above embodiments based on this program The above-described effects can be obtained by causing a computer to execute a program for realizing a function for determining the update procedure of the certification key.

このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
Such a program may be stored in a storage means such as a ROM or HDD provided in the computer from the beginning, but a non-volatile recording such as a CD-ROM or flexible disk, SRAM, EEPROM, memory card or the like as a recording medium. It can also be recorded on a medium (memory) and provided. Each procedure described above can be executed by installing a program recorded in the memory in a computer and causing the CPU to execute the program, or causing the CPU to read and execute the program from the memory.
Furthermore, it is also possible to download and execute an external device that is connected to a network and includes a recording medium that records the program, or an external device that stores the program in the storage unit.

以上説明してきた通り、この発明の更新手順決定方法、プログラム、デジタル証明書管理システム及びデジタル証明書管理装置を利用することにより、クライアント・サーバシステムにおける認証処理でデジタル証明書の正当性を確認するために用いる証明鍵を、更新用の特別な通信経路を設けることなく安全に更新できるようにすることができる。
従って、この発明を、クライアント・サーバシステムにおいて認証処理に使用する証明書の管理に適用することにより、安全に認証用公開鍵の更新が可能なシステムを安価に提供することができる。
As described above, by using the update procedure determination method, program, digital certificate management system, and digital certificate management apparatus of the present invention, the validity of the digital certificate is confirmed by the authentication process in the client / server system. Therefore, it is possible to safely update the certification key used for this purpose without providing a special communication path for updating.
Therefore, by applying the present invention to management of a certificate used for authentication processing in a client / server system, a system capable of updating the authentication public key safely can be provided at low cost.

この発明のデジタル証明書管理装置の実施形態である証明書管理装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the certificate management apparatus which is embodiment of the digital certificate management apparatus of this invention. この発明のデジタル証明書管理システムの第1の実施形態を構成する各装置の、この発明の特徴となる部分の機能構成を示す機能ブロック図である。It is a functional block diagram which shows the function structure of the part which becomes the characteristic of this invention of each apparatus which comprises 1st Embodiment of the digital certificate management system of this invention. 図2に示したデジタル証明書管理システムにおけるデータ送受モデルを示す概念図である。It is a conceptual diagram which shows the data transmission / reception model in the digital certificate management system shown in FIG. クライアント装置とサーバ装置とがSSLによる相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。It is a figure which shows the flowchart of the process performed in each apparatus at the time of a client apparatus and a server apparatus performing mutual authentication by SSL with the information used for the process. クライアント装置とサーバ装置とがSSLによる片方向認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。It is a figure which shows the flowchart of the process performed in each apparatus at the time of a client apparatus and a server apparatus performing one-way authentication by SSL with the information used for the process. 図2に示したデジタル証明書管理システムにおけるルート鍵更新処理の一部を示すシーケンス図である。FIG. 3 is a sequence diagram showing a part of root key update processing in the digital certificate management system shown in FIG. 2. 図6の続きの処理を示すシーケンス図である。FIG. 7 is a sequence diagram showing processing subsequent to FIG. 6. 図7の続きの処理を示すシーケンス図である。FIG. 8 is a sequence diagram showing processing subsequent to FIG. 7. 図8の続きの処理を示すシーケンス図である。FIG. 9 is a sequence diagram illustrating processing subsequent to FIG. 8. 図8に示したシーケンスの変形例を示す図である。It is a figure which shows the modification of the sequence shown in FIG.

図7に示したシーケンスの変形例を示す図である。It is a figure which shows the modification of the sequence shown in FIG. この発明のデジタル証明書管理システムの第1の実施形態の変形例を構成する各装置の、この発明の特徴となる部分の機能構成を示す機能ブロック図である。It is a functional block diagram which shows the function structure of the part which becomes the characteristic of this invention of each apparatus which comprises the modification of 1st Embodiment of the digital certificate management system of this invention. この発明のデジタル証明書管理システムの第2の実施形態を構成する各装置の関係を示すブロック図である。It is a block diagram which shows the relationship of each apparatus which comprises 2nd Embodiment of the digital certificate management system of this invention. 図2に示した構成記憶部に記憶する各ノードの情報の記憶形式の例を示す図である。It is a figure which shows the example of the storage format of the information of each node memorize | stored in the structure memory | storage part shown in FIG. 図13に示したデジタル証明書管理システムにおいてクライアント・サーバシステムを構成する各ノードについて、図14に示した形式で情報を記載した場合の記載例を示す図である。FIG. 15 is a diagram illustrating a description example when information is described in the format illustrated in FIG. 14 for each node configuring the client / server system in the digital certificate management system illustrated in FIG. 13. 証明書管理装置から下位のノードに対して要求を送信する際の通信手順について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the communication procedure at the time of transmitting a request | requirement with respect to a low-order node from a certificate management apparatus. 図13に示したデジタル証明書管理システムにおけるルート鍵更新処理のうち、各ノードについての証明書記憶処理を示すシーケンス図である。FIG. 14 is a sequence diagram showing certificate storage processing for each node in the root key update processing in the digital certificate management system shown in FIG. 13. 同じく、各ノードについての旧鍵廃棄処理を示すシーケンス図である。Similarly, it is a sequence diagram showing an old key discard process for each node. 第2の実施形態のルート鍵更新処理における、図6,図17及び図18のシーケンス図に示した各処理の実行順を示す図である。It is a figure which shows the execution order of each process shown in the sequence diagram of FIG.6, FIG.17 and FIG.18 in the root key update process of 2nd Embodiment. 第2の実施形態のルート鍵更新処理に関する更新手順の作成処理のうち、各ノードに対する証明書記憶処理の実行順を作業リストとして作成する処理の一部を示すフローチャートである。It is a flowchart which shows a part of process which produces the execution order of the certificate memory | storage process with respect to each node as a work list among the preparation processes of the update procedure regarding the root key update process of 2nd Embodiment.

図20の続きの処理を示すフローチャートである。FIG. 21 is a flowchart illustrating processing subsequent to FIG. 20. FIG. 図20及び図21に示した処理を実行中のある時点でのノードO,X,Yについての情報の内容をそれぞれ示す図である。FIG. 22 is a diagram illustrating the contents of information about nodes O, X, and Y at a certain point in time when the processing illustrated in FIGS. 20 and 21 is being performed. 図22と同じ時点での作業リストと注目点リストの状態を示す図である。It is a figure which shows the state of the work list | wrist and an attention point list | wrist in the same time as FIG. 図22の時点より後のある時点でのノードOについての情報の内容を示す図である。It is a figure which shows the content of the information regarding the node O at a certain time after the time of FIG. 図23に示した時点から図24と同じ時点までの作業リストと注目点リストの変化を示す図である。FIG. 25 is a diagram showing changes in the work list and the point of interest list from the time point shown in FIG. 23 to the same time point as in FIG. 24. 図24の時点より後のある時点でのノードX,A,Bについての情報の内容をそれぞれ示す図である。It is a figure which respectively shows the content of the information about the nodes X, A, and B at a certain time after the time of FIG. 図25に示した時点から図26と同じ時点までの作業リストと注目点リストの変化を示す図である。FIG. 26 is a diagram showing changes in the work list and the attention point list from the time point shown in FIG. 25 to the same time point as in FIG. 26. 図26の時点より後のある時点でのノードOについての情報の内容を示す図である。It is a figure which shows the content of the information regarding the node O at a certain time after the time of FIG. 図27に示した時点から図28と同じ時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist and the attention point list | wrist from the time shown in FIG. 27 to the same time as FIG. 図28の時点より後のある時点でのノードY,C,Dについての情報の内容をそれぞれ示す図である。It is a figure which respectively shows the content of the information about the nodes Y, C, and D at a certain time after the time of FIG.

図29に示した時点から図30と同じ時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist and the attention point list | wrist from the time shown in FIG. 29 to the same time as FIG. 図30に示した時点からその後のある時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist and the attention point list | wrist from the time shown in FIG. 30 to a certain time after that. 図32の時点より後のある時点でのノードXについての情報の内容を示す図である。It is a figure which shows the content of the information regarding the node X at a certain time after the time of FIG. 図32に示した時点から図33と同じ時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist and the attention point list | wrist from the time shown in FIG. 32 to the same time as FIG. 図33の時点より後のある時点でのノードAについての情報の内容を示す図である。It is a figure which shows the content of the information about the node A at a certain time after the time of FIG. 図34に示した時点から図35と同じ時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist and the attention point list | wrist from the time shown in FIG. 34 to the same time as FIG. 図36に示した時点より後の注目点リストの変化を順を追って示す図である。It is a figure which shows the change of the attention point list after the time shown in FIG. 36 later on. 作業リストが完成した時点での各ノードについての情報の内容を示す図である。It is a figure which shows the content of the information about each node at the time of a work list being completed. 作業リストが完成した時点での作業リストと注目点リストの内容を示す図である。It is a figure which shows the contents of the work list and the attention point list when the work list is completed. 第2の実施形態の変形例における更新手順の作成処理のうち、図21に示した処理を変更する部分を示すフローチャートである。It is a flowchart which shows the part which changes the process shown in FIG. 21 among the preparation processes of the update procedure in the modification of 2nd Embodiment.

図40に示す処理を行った場合の、図37に対応する部分の注目点リストの変化を順を追って示す図である。It is a figure which shows the change of the attention point list | wrist of the part corresponding to FIG. 37 later on when the process shown in FIG. 40 is performed. 第2の実施形態の別の変形例における更新手順の作成処理を行った場合の作業リストの作成過程を示す図である。It is a figure which shows the creation process of the work list | wrist at the time of performing the preparation process of the update procedure in another modification of 2nd Embodiment. 第3の実施形態のルート鍵更新処理に関する更新手順の作成処理のうち、各ノードに対する証明書記憶処理の実行順を作成する処理の一部を示すフローチャートである。It is a flowchart which shows a part of process which produces the execution order of the certificate memory | storage process with respect to each node among the preparation processes of the update procedure regarding the root key update process of 3rd Embodiment. 上記の処理の実行中のある時点での作業リスト及び注目点リストの状態を示す図である。It is a figure which shows the state of the work list | wrist and an attention point list | wrist in the time of performing said process. 図44に示した時点よりも後のある時点でのノードXについての情報の内容を示す図である。FIG. 45 is a diagram illustrating the content of information regarding a node X at a certain time after the time illustrated in FIG. 44. 図44に示した時点から図45と同じ時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist from the time shown in FIG. 44 to the same time as FIG. 45, and an attention point list | wrist. 図46に示した時点より後の注目点リストの変化を順を追って示す図である。It is a figure which shows the change of the attention point list after the time shown in FIG. 46 later on. 図47(4)に示した時点からそれより後のある時点までの作業リストと注目点リストの変化を示す図である。It is a figure which shows the change of the work list | wrist and the attention point list | wrist from the time shown to FIG. 47 (4) to a certain time after it. 図48に示した時点より後の注目点リストの変化を順を追って示す図である。It is a figure which shows the change of the attention point list after the time shown in FIG. 48 later on. この発明のデジタル証明書管理システムの図13とは異なる構成例における各装置の関係を示すブロック図である。It is a block diagram which shows the relationship of each apparatus in the structural example different from FIG. 13 of the digital certificate management system of this invention.

図50に示した構成のデジタル証明書管理システムにおいて第2の実施形態の変形例の場合と同様な処理によって作業リストを作成する場合の、注目点リスト、注目ノード及び作業リストの変化を順を追って示す図である。In the digital certificate management system having the configuration shown in FIG. 50, when the work list is created by the same processing as in the modification of the second embodiment, the changes in the attention point list, the attention node, and the work list are performed in order. It is a figure shown later. 図51の続きを示す図である。It is a figure which shows the continuation of FIG. 第3の実施形態の場合と同様な処理によって作業リストを作成する場合の、注目点リスト、注目ノード及び作業リストの変化を順を追って示す、図51と対応する図である。FIG. 52 is a diagram corresponding to FIG. 51, showing changes in the attention point list, the attention node, and the work list step by step when a work list is created by the same process as in the third embodiment. 図53の続きを示す図である。It is a figure which shows the continuation of FIG. 各実施形態の別の変形例における、鍵及び証明書の記憶状態及びその場合のルート鍵更新処理について説明するための図である。It is a figure for demonstrating the storage state of a key and a certificate, and the root key update process in that case in another modification of each embodiment. 各実施形態の変形例を適用する場合に実行する、図17に示した証明書記憶処理の変形例を示すシーケンス図である。FIG. 18 is a sequence diagram illustrating a modification of the certificate storage process illustrated in FIG. 17 that is executed when a modification of each embodiment is applied. その別の例を示すシーケンス図である。It is a sequence diagram which shows the other example. 公開鍵暗号方式を用いた認証処理におけるルート鍵、ルート私有鍵、およびサーバ公開鍵の関係について説明するための図である。It is a figure for demonstrating the relationship between the root key, root private key, and server public key in the authentication process using a public key cryptosystem.

符号の説明Explanation of symbols

10:証明書管理装置 11:CPU
12:ROM 13:RAM
14:HDD 15:通信I/F
16:システムバス 21:証明用鍵作成部
22:証明書発行部 23:証明書管理部
24:証明書更新部 25,32,42:通信機能部
30:サーバ装置 31,41:証明書記憶部
33,44:サーバ機能部 40:クライアント装置
43:クライアント機能部
10: Certificate management device 11: CPU
12: ROM 13: RAM
14: HDD 15: Communication I / F
16: System bus 21: Certificate key generation unit 22: Certificate issuing unit 23: Certificate management unit 24: Certificate update unit 25, 32, 42: Communication function unit 30: Server device 31, 41: Certificate storage unit 33, 44: Server function unit 40: Client device 43: Client function unit

Claims (19)

上位ノードが下位ノードを従える形式で複数段に亘って構成したクライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を、前記各ノードと通信可能なデジタル証明書管理装置によって更新する際の更新手順を定める更新手順決定方法であって、
前記デジタル証明書管理装置が、
前記クライアント・サーバシステムを構成する各ノードについての、該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、前記更新手順を、更新用の新証明鍵及び/又は、該新証明鍵を用いて正当性を確認可能な、対象のノードが前記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定め、
その際に、前記各ノードに対する前記送信手順の実行順を作成する手順を実行し、該手順において、
まずいずれかのノードを前記実行順に追加し、その後、そのノードから始めて前記クライアント・サーバシステムを構成する各ノードを順次注目ノードとし、該注目ノードの通信相手となるノードであって前記実行順に追加されていないノードが存在する場合、その通信相手のそれぞれについて、前記注目ノードがその通信相手と通信とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその通信相手を前記実行順のうち前記注目ノードよりも後に追加し、サーバであればその通信相手を前記実行順のうち前記注目ノードよりも前に追加するようにしたことを特徴とする更新手順決定方法。
A certificate used to confirm the validity of a digital certificate used for authentication between each node in a client / server system configured in multiple stages in a format in which the upper node follows the lower node. An update procedure determining method for determining an update procedure when a key is updated by a digital certificate management apparatus capable of communicating with each of the nodes,
The digital certificate management device is
For each node constituting the client / server system, the update procedure is performed based on the communication partner of the node and information on whether the node functions as a client or a server. It is determined to include a transmission procedure for simultaneously transmitting a new certificate key and / or a new digital certificate that can be verified using the new certificate key and that is used by the target node for the authentication. ,
At that time, execute the procedure of creating the execution order of the transmission procedure for each node,
First, add any of the nodes in the execution order, and then start each node constituting the client / server system in turn as a node of interest and add to the node of communication with the node of interest and in the order of execution If there is a node that is not connected, for each of the communication partners, it is determined whether the node of interest functions as a client or a server when communicating with the communication partner. A method for determining an update procedure, wherein the update procedure is added after the node of interest in the execution order, and if it is a server, the communication partner is added before the node of interest in the execution order.
上位ノードが下位ノードを従える形式で複数段に亘って構成したクライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を、前記各ノードと通信可能なデジタル証明書管理装置によって更新する際の更新手順を定める更新手順決定方法であって、
前記デジタル証明書管理装置が、
前記クライアント・サーバシステムを構成する各ノードについての、該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、前記更新手順を、更新用の新証明鍵及び/又は、該新証明鍵を用いて正当性を確認可能な、対象のノードが前記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定め、
その際に、前記各ノードに対する前記送信手順の実行順を作業リストとして作成する手順を実行し、該手順において、
前記作業リストを初期化する手順と、前記クライアント・サーバシステムを構成するノードのうち最上位のノードを注目ノードとすると共に前記作業リストに追加する手順とを実行し、
注目ノードになったノードを記憶しておき、その後全てのノードが注目ノードになったと判断するまで以下の手順(1)及び(2)を繰り返すようにしたことを特徴とする更新手順決定方法。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストの後端に追加し、サーバであればその下位ノードを前記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードと同順位であってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに、そのようなノードがなければ、前記順位が注目ノードの下位であってまだ注目ノードになっていないいずれかのノードに変更する手順
A certificate used to confirm the validity of a digital certificate used for authentication between each node in a client / server system configured in multiple stages in a format in which the upper node follows the lower node. An update procedure determining method for determining an update procedure when a key is updated by a digital certificate management apparatus capable of communicating with each of the nodes,
The digital certificate management device is
For each node constituting the client / server system, the update procedure is performed based on the communication partner of the node and information on whether the node functions as a client or a server. It is determined to include a transmission procedure for simultaneously transmitting a new certificate key and / or a new digital certificate that can be verified using the new certificate key and that is used by the target node for the authentication. ,
At that time, execute a procedure of creating an execution order of the transmission procedure for each node as a work list,
A step of initializing the work list, and a step of setting the highest node among the nodes constituting the client / server system as a target node and adding to the work list,
A method for determining an update procedure, characterized in that a node that has become a node of interest is stored, and thereafter the following procedures (1) and (2) are repeated until it is determined that all nodes have become nodes of interest.
(1) When there is a subordinate node in the node of interest, the rank is set below the node of interest for each of the subordinate nodes, and when the node of interest uses the subordinate node as a communication partner, either client or server (2) Procedure for adding the lower node to the rear end of the work list if it is a client, and adding the lower node to the front end of the work list if it is a server (2) If there is a node that has the same rank as that of the node of interest and has not yet become a node of interest, if there is no such node, the rank is lower than the node of interest and is still the node of interest To change to one of the nodes
請求項2記載の更新手順決定方法であって、
前記デジタル証明書管理装置が、前記手順(1)に代えて、
注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストのうち前記注目ノードの直後に追加し、サーバであればその下位ノードを前記作業リストのうち前記注目ノードの直前に追加する手順
を実行するようにしたことを特徴とする更新手順決定方法。
An update procedure determination method according to claim 2, comprising:
The digital certificate management device replaces the procedure (1) with
When there are subordinate nodes in the target node, the rank is set to the subordinate of the target node for each of the subordinate nodes, and the target node functions as either a client or a server when the subordinate node is the communication partner. If it is a client, its lower node is added immediately after the node of interest in the work list, and if it is a server, its lower node is added immediately before the node of interest in the work list. An update procedure determination method characterized by being executed.
請求項2記載の更新手順決定方法であって、
前記デジタル証明書管理装置が、
前記手順(1)及び(2)に代えて次の手順(1)及び(2)を繰り返すようにしたことを特徴とする更新手順決定方法。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストの後端に追加し、サーバであればその下位ノードを前記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードの下位ノードであってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに変更し、そのようなノードがなければ、上位に向かってノードを順に辿り、まだ注目ノードになっていない下位ノードを持つノードがあった場合にその下位ノードのいずれかに変更する手順
An update procedure determination method according to claim 2, comprising:
The digital certificate management device is
An updating procedure determination method characterized by repeating the following procedures (1) and (2) instead of the procedures (1) and (2).
(1) When there are subordinate nodes in the node of interest, it is determined whether each of the subordinate nodes functions as a client or a server when the node of interest uses the subordinate node as a communication partner. If the server is a server, add the lower node to the rear end of the work list, and if it is a server, add the sub node to the front end of the work list. If there is a node that is not a node, change it to one of them, and if there is no such node, follow the nodes in order toward the upper level, and there is a node with a lower level node that has not yet become a target node To change to one of its subordinate nodes in case
請求項4記載の更新手順決定方法であって、
前記デジタル証明書管理装置が、前記手順(1)に代えて、
注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストのうち前記注目ノードの直後に追加し、サーバであればその下位ノードを前記作業リストのうち前記注目ノードの直前に追加する手順
を実行するようにしたことを特徴とする更新手順決定方法。
An update procedure determination method according to claim 4,
The digital certificate management device replaces the procedure (1) with
When there are subordinate nodes in the target node, it is determined for each of the subordinate nodes whether the target node functions as a client or a server when the subordinate node is the communication partner. A node is added immediately after the node of interest in the work list, and if it is a server, a procedure for adding a subordinate node immediately before the node of interest in the work list is executed. Procedure decision method.
請求項2又は3記載の更新手順決定方法であって、
前記デジタル証明書管理装置が、
前記注目ノードの変更先を定めるための注目点リストを作成し、
前記作業リストを初期化する手順において前記注目点リストも初期化し、
前記手順(2)において、
前記注目ノードに下位ノードがある場合には該注目ノードを前記注目点リストの後端に追加し、
その後、前記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ前記注目点リストの前端のノードを該注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか前記注目点リストが空になるまで繰り返し、
前記注目点リストが空になった場合に全てのノードが注目ノードになったと判断するようにしたことを特徴とする更新手順決定方法。
The update procedure determination method according to claim 2 or 3,
The digital certificate management device is
Create a point of interest list for determining the change destination of the node of interest;
In the procedure for initializing the work list, the attention point list is also initialized,
In the procedure (2),
If the node of interest has a lower node, add the node of interest to the end of the list of points of interest;
After that, if there is a node that is not a target node yet in the lower node of the front end node of the target point list, the target node is changed to that node, and if not, the front end node of the target point list is changed from the target point list. The attention node changing procedure to be deleted is repeated until a new attention node is determined or the attention point list becomes empty,
An update procedure determination method, characterized in that, when the attention point list becomes empty, it is determined that all nodes have become attention nodes.
請求項4又は5記載の更新手順決定方法であって、
前記デジタル証明書管理装置が、
前記注目ノードの変更先を定めるための注目点リストを作成し、
前記作業リストを初期化する手順において前記注目点リストも初期化し、
前記手順(2)において、
前記注目ノードに下位ノードがある場合には該注目ノードを前記注目点リストの前端に追加し、
その後、前記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ前記注目点リストの前端のノードを該注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか前記注目点リストが空になるまで繰り返し、
前記注目点リストが空になった場合に全てのノードが注目ノードになったと判断するようにしたことを特徴とする更新手順決定方法。
The update procedure determination method according to claim 4 or 5,
The digital certificate management device is
Create a point of interest list for determining the change destination of the node of interest;
In the procedure for initializing the work list, the attention point list is also initialized,
In the procedure (2),
If there is a lower node in the node of interest, add the node of interest to the front end of the list of points of interest;
After that, if there is a node that is not a target node yet in the lower node of the front end node of the target point list, the target node is changed to that node, and if not, the front end node of the target point list is changed from the target point list. The attention node changing procedure to be deleted is repeated until a new attention node is determined or the attention point list becomes empty,
An update procedure determination method, characterized in that, when the attention point list becomes empty, it is determined that all nodes have become attention nodes.
請求項6又は7記載の更新手順決定方法であって、
前記注目ノード変更手順において、前記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードが1つであった場合には、注目ノードをそのノードに変更する際に、前記注目点リストの前端のノードを前記注目点リストから削除するようにしたことを特徴とする更新手順決定方法。
The update procedure determination method according to claim 6 or 7,
In the node-of-interest changing procedure, if there is one node that is not yet the node of interest among the lower nodes of the node at the front end of the point-of-interest list, A method for determining an update procedure, wherein a node at the front end of a point list is deleted from the point of interest list.
請求項1乃至8のいずれか一項記載の更新手順決定方法であって、
前記各ノードの間の前記認証は、SSL又はTLSのプロトコルに従った認証であり、
前記デジタル証明書はそれぞれ前記各ノードの公開鍵証明書であることを特徴とする更新手順決定方法。
An update procedure determination method according to any one of claims 1 to 8,
The authentication between the nodes is an authentication according to an SSL or TLS protocol,
The digital certificate is a public key certificate of each of the nodes, respectively.
上位ノードが下位ノードを従える形式で複数段に亘って構成されるクライアント・サーバシステムの各ノードと通信可能なデジタル証明書管理装置を制御するコンピュータに、
前記クライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を更新する機能を実現させるためのプログラムであって、
前記コンピュータに、
前記クライアント・サーバシステムを構成する各ノードについての、該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、前記更新手順を、更新用の新証明鍵及び/又は、該新証明鍵を用いて正当性を確認可能な、対象のノードが前記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定める機能を実現させ、
前記更新手順を定める際に、前記各ノードに対する前記送信手順の実行順を作成する手順を実行させ、該手順において、
まずいずれかのノードを前記実行順に追加し、その後、そのノードから始めて前記クライアント・サーバシステムを構成する各ノードを順次注目ノードとし、該注目ノードの通信相手となるノードであって前記実行順に追加されていないノードが存在する場合、その通信相手のそれぞれについて、前記注目ノードがその通信相手と通信とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその通信相手を前記実行順のうち前記注目ノードよりも後に追加し、サーバであればその通信相手を前記実行順のうち前記注目ノードよりも前に追加する手順を実行させるためのプログラム。
To a computer that controls a digital certificate management device that can communicate with each node of a client / server system configured in a plurality of stages in a form in which an upper node follows a lower node,
A program for realizing a function of storing a certificate key used for confirming the validity of a digital certificate used for authentication between each node stored in each node of the client / server system,
In the computer,
For each node constituting the client / server system, the update procedure is performed based on the communication partner of the node and information on whether the node functions as a client or a server. A new certification key and / or a new digital certificate that can be verified using the new certification key and used by the target node for the authentication are defined to include a transmission procedure for simultaneously transmitting each node. Realize the function,
In determining the update procedure, the procedure for creating the execution order of the transmission procedure for each node is executed,
First, add any of the nodes in the execution order, and then start each node constituting the client / server system in turn as a node of interest and add to the node of communication with the node of interest and in the order of execution If there is a node that is not connected, for each of the communication partners, it is determined whether the node of interest functions as a client or a server when communicating with the communication partner. A program that is added after the node of interest in the execution order and that executes a procedure for adding a communication partner before the node of interest in the execution order if it is a server.
上位ノードが下位ノードを従える形式で複数段に亘って構成されるクライアント・サーバシステムの各ノードと通信可能なデジタル証明書管理装置を制御するコンピュータに、
前記クライアント・サーバシステムの各ノードに記憶させ、その各ノードの間で認証に使用するデジタル証明書の正当性を確認するために用いる証明鍵を更新する機能を実現させるためのプログラムであって、
前記コンピュータに、
前記クライアント・サーバシステムを構成する各ノードについての、該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、前記更新手順を、更新用の新証明鍵及び/又は、該新証明鍵を用いて正当性を確認可能な、対象のノードが前記認証に使用するための新デジタル証明書を、ノード毎に同時に送信する送信手順を含むよう定める機能を実現させ、
前記更新手順を定める際に、前記各ノードに対する前記送信手順の実行順を作業リストとして作成する手順を実行させ、該手順において、
前記作業リストを初期化する手順と、前記クライアント・サーバシステムを構成するノードのうち最上位のノードを注目ノードとすると共に前記作業リストに追加する手順とを実行させ、
さらに、注目ノードになったノードを記憶しておき、その後全てのノードが注目ノードになったと判断するまで以下の手順(1)及び(2)を繰り返し実行させるためのプログラム。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストの後端に追加し、サーバであればその下位ノードを前記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードと同順位であってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに、そのようなノードがなければ、前記順位が注目ノードの下位であってまだ注目ノードになっていないいずれかのノードに変更する手順
To a computer that controls a digital certificate management device that can communicate with each node of a client / server system configured in a plurality of stages in a form in which an upper node follows a lower node,
A program for realizing a function of storing a certificate key used for confirming the validity of a digital certificate used for authentication between each node stored in each node of the client / server system,
In the computer,
For each node constituting the client / server system, the update procedure is performed based on the communication partner of the node and information on whether the node functions as a client or a server. A new certification key and / or a new digital certificate that can be verified using the new certification key and used by the target node for the authentication are defined to include a transmission procedure for simultaneously transmitting each node. Realize the function,
When defining the update procedure, the procedure for creating the execution order of the transmission procedure for each node as a work list is executed,
A step of initializing the work list, and a step of setting the highest node among the nodes constituting the client / server system as a node of interest and adding to the work list,
Furthermore, a program for storing nodes that have become nodes of interest and repeatedly executing the following procedures (1) and (2) until it is determined that all nodes have subsequently become nodes of interest.
(1) When there is a subordinate node in the node of interest, the rank is set below the node of interest for each of the subordinate nodes, and when the node of interest uses the subordinate node as a communication partner, either client or server (2) Procedure for adding the lower node to the rear end of the work list if it is a client, and adding the lower node to the front end of the work list if it is a server (2) If there is a node that has the same rank as that of the node of interest and has not yet become a node of interest, if there is no such node, the rank is lower than the node of interest and is still the node of interest To change to one of the nodes
請求項11記載のプログラムであって、
前記コンピュータに、前記手順(1)に代えて、
注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、順位を注目ノードの下位に設定すると共に、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストのうち前記注目ノードの直後に追加し、サーバであればその下位ノードを前記作業リストのうち前記注目ノードの直前に追加する手順
を実行させるためのプログラム。
The program according to claim 11, wherein
Instead of the procedure (1), the computer
When there are subordinate nodes in the target node, the rank is set to the subordinate of the target node for each of the subordinate nodes, and the target node functions as either a client or a server when the subordinate node is the communication partner. If it is a client, its lower node is added immediately after the node of interest in the work list, and if it is a server, its lower node is added immediately before the node of interest in the work list. A program to be executed.
請求項11記載のプログラムであって、
前記コンピュータに、
前記手順(1)及び(2)に代えて以下の手順(1)及び(2)を繰り返し実行させるためのプログラム。
(1)注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストの後端に追加し、サーバであればその下位ノードを前記作業リストの前端に追加する手順
(2)注目ノードを、その注目ノードの下位ノードであってまだ注目ノードになっていないノードがあればそのうちいずれかのノードに変更し、そのようなノードがなければ、上位に向かってノードを順に辿り、まだ注目ノードになっていない下位ノードを持つノードがあった場合にその下位ノードのいずれかに変更する手順
The program according to claim 11, wherein
In the computer,
A program for repeatedly executing the following procedures (1) and (2) instead of the procedures (1) and (2).
(1) When there are subordinate nodes in the node of interest, it is determined whether each of the subordinate nodes functions as a client or a server when the node of interest uses the subordinate node as a communication partner. If the server is a server, add the lower node to the rear end of the work list, and if it is a server, add the sub node to the front end of the work list. If there is a node that is not a node, change it to one of them, and if there is no such node, follow the nodes in order toward the upper level, and there is a node with a lower level node that has not yet become a target node To change to one of its subordinate nodes in case
請求項13記載のプログラムであって、
前記コンピュータに、前記手順(1)に代えて、
注目ノードに下位ノードが存在する場合、その下位ノードのそれぞれについて、前記注目ノードがその下位ノードを通信相手とする際にクライアントとサーバのいずれとして機能するかを判断し、クライアントであればその下位ノードを前記作業リストのうち前記注目ノードの直後に追加し、サーバであればその下位ノードを前記作業リストのうち前記注目ノードの直前に追加する手順
を実行させるためのプログラム。
14. The program according to claim 13, wherein
Instead of the procedure (1), the computer
When there are subordinate nodes in the target node, it is determined for each of the subordinate nodes whether the target node functions as a client or a server when the subordinate node is the communication partner. A program for adding a node immediately after the node of interest in the work list and adding a lower node of the work list immediately before the node of interest in the work list.
請求項11又は12記載のプログラムであって、
前記コンピュータに、
前記注目ノードの変更先を定めるための注目点リストを作成する機能を実現させ、
前記作業リストを初期化する手順において前記注目点リストも初期化させ、
前記手順(2)において、
前記注目ノードに下位ノードがある場合には該注目ノードを前記注目点リストの後端に追加させ、
その後、前記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ前記注目点リストの前端のノードを該注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか前記注目点リストが空になるまで繰り返させ、
前記注目点リストが空になった場合に全てのノードが注目ノードになったと判断させるためのプログラムをさらに含むことを特徴とするプログラム。
A program according to claim 11 or 12,
In the computer,
Realizing a function of creating a list of points of interest for determining a change destination of the node of interest;
In the procedure for initializing the work list, the attention point list is also initialized,
In the procedure (2),
If there is a lower node in the node of interest, the node of interest is added to the end of the list of points of interest;
After that, if there is a node that is not a target node yet in the lower node of the front end node of the target point list, the target node is changed to that node, and if not, the front end node of the target point list is changed from the target point list. The attention node changing procedure to be deleted is repeated until a new attention node is determined or the attention point list is empty,
A program further comprising a program for determining that all nodes have become attention nodes when the attention point list becomes empty.
請求項13又は14記載のプログラムであって、
前記コンピュータに、
前記注目ノードの変更先を定めるための注目点リストを作成する機能を実現させ、
前記作業リストを初期化する手順において前記注目点リストも初期化させ、
前記手順(2)において、
前記注目ノードに下位ノードがある場合には該注目ノードを前記注目点リストの前端に追加させ、
その後、前記注目点リストの前端のノードの下位ノードでまだ注目ノードになっていないノードがあれば注目ノードをそのノードに変更し、なければ前記注目点リストの前端のノードを該注目点リストから削除する注目ノード変更手順を、新たな注目ノードが定まるか前記注目点リストが空になるまで繰り返させ、
前記注目点リストが空になった場合に全てのノードが注目ノードになったと判断させるためのプログラムをさらに含むことを特徴とするプログラム。
The program according to claim 13 or 14,
In the computer,
Realizing a function of creating a list of points of interest for determining a change destination of the node of interest;
In the procedure for initializing the work list, the attention point list is also initialized,
In the procedure (2),
If there is a lower node in the node of interest, the node of interest is added to the front end of the list of points of interest;
After that, if there is a node that is not a target node yet in the lower node of the front end node of the target point list, the target node is changed to that node, and if not, the front end node of the target point list is changed from the target point list. The attention node changing procedure to be deleted is repeated until a new attention node is determined or the attention point list is empty,
A program further comprising a program for determining that all nodes have become attention nodes when the attention point list becomes empty.
請求項10乃至16のいずれか一項記載のプログラムであって、
前記認証は、SSL又はTLSのプロトコルに従った認証であり、
前記デジタル証明書はそれぞれ前記各ノードの公開鍵証明書であることを特徴とするプログラム。
A program according to any one of claims 10 to 16,
The authentication is authentication according to a protocol of SSL or TLS,
The digital certificate is a public key certificate of each node, respectively.
上位ノードが下位ノードを従える形式で複数段に亘って構成され、各ノード間でデジタル証明書を用いて認証を行うようにしたクライアント・サーバシステムに、前記各ノードと通信可能なデジタル証明書管理装置を接続したデジタル証明書管理システムであって、
前記デジタル証明書管理装置に、
前記各ノードが前記認証に使用する前記デジタル証明書の正当性を確認するための証明鍵を更新する証明鍵更新手段と、
前記クライアント・サーバシステムを構成する各ノードについて、該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、前記証明鍵更新手段による証明鍵の更新手順を制御する更新順制御手段とを設け、
該証明鍵更新手段に、
更新用の新証明鍵を取得する手段と、
該新証明鍵を用いて正当性を確認可能な、前記認証に使用するための新デジタル証明書を取得する手段と、
前記各ノードのための新デジタル証明書及び/又は前記新証明鍵をそれぞれ対応するノードに送信する送信手段とを設け、
前記更新順制御手段が、請求項1乃至9のいずれか一項記載の更新手順決定方法を用いて定めた更新手順に従って前記制御を行う手段であることを特徴とするデジタル証明書管理システム。
Digital certificate management capable of communicating with each node in a client / server system in which a higher level node follows a lower level node and is configured in a plurality of stages and performs authentication using a digital certificate between the nodes. A digital certificate management system connected with devices,
In the digital certificate management device,
A certification key updating means for updating a certification key for confirming the validity of the digital certificate used by each node for the authentication;
For each node constituting the client / server system, based on the communication partner of the node and information on whether it functions as a client or a server between the communication partner, An update order control means for controlling the update procedure;
In the certification key update means,
Means for obtaining a new certification key for renewal;
Means for obtaining a new digital certificate for use in the authentication, the validity of which can be confirmed using the new certification key;
Transmitting means for transmitting the new digital certificate and / or the new certification key for each node to the corresponding node, respectively.
10. The digital certificate management system according to claim 1, wherein the update order control means is means for performing the control according to an update procedure determined using the update procedure determination method according to any one of claims 1 to 9.
上位ノードが下位ノードを従える形式で複数段に亘って構成され、各ノード間でデジタル証明書を用いて認証を行うようにしたクライアント・サーバシステムを構成する各ノードと通信可能なデジタル証明書管理装置であって、
前記各ノードが前記認証に使用する前記デジタル証明書の正当性を確認するための証明鍵を更新する証明鍵更新手段と、
前記クライアント・サーバシステムを構成する各ノードについて、該ノードの通信相手及び該通信相手との間でクライアントとサーバのいずれとして機能するかの情報をもとに、前記証明鍵更新手段による証明鍵の更新手順を制御する更新順制御手段とを設け、
該証明鍵更新手段に、
更新用の新証明鍵を取得する手段と、
該新証明鍵を用いて正当性を確認可能な、前記認証に使用するための新デジタル証明書を取得する手段と、
前記各ノードのための新デジタル証明書及び/又は前記新証明鍵をそれぞれ対応するノードに送信する送信手段とを設け、
前記更新順制御手段が、請求項1乃至9のいずれか一項記載の更新手順決定方法を用いて定めた更新手順に従って前記制御を行う手段であることを特徴とするデジタル証明書管理装置。
Digital certificate management that can be communicated with each node that constitutes a client / server system in which a higher level node follows a lower level node and is configured in multiple stages, and each node authenticates using a digital certificate. A device,
A certification key updating means for updating a certification key for confirming the validity of the digital certificate used by each node for the authentication;
For each node constituting the client / server system, based on the communication partner of the node and information on whether it functions as a client or a server between the communication partner, An update order control means for controlling the update procedure;
In the certification key update means,
Means for obtaining a new certification key for renewal;
Means for obtaining a new digital certificate for use in the authentication, the validity of which can be confirmed using the new certification key;
Transmitting means for transmitting the new digital certificate and / or the new certification key for each node to the corresponding node, respectively.
10. A digital certificate management apparatus, wherein the update order control means is means for performing the control according to an update procedure determined using the update procedure determining method according to any one of claims 1 to 9.
JP2004134113A 2003-04-28 2004-04-28 Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program Expired - Fee Related JP4504083B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004134113A JP4504083B2 (en) 2003-04-28 2004-04-28 Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003124383 2003-04-28
JP2004134113A JP4504083B2 (en) 2003-04-28 2004-04-28 Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program

Publications (2)

Publication Number Publication Date
JP2004350267A JP2004350267A (en) 2004-12-09
JP4504083B2 true JP4504083B2 (en) 2010-07-14

Family

ID=33543373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004134113A Expired - Fee Related JP4504083B2 (en) 2003-04-28 2004-04-28 Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program

Country Status (1)

Country Link
JP (1) JP4504083B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100667820B1 (en) * 2005-09-30 2007-01-12 삼성전자주식회사 Method and system for security, and computer readable medium recording the method
JP2007174314A (en) * 2005-12-22 2007-07-05 Ricoh Co Ltd Electronic certificate managing method and image processor
KR101213160B1 (en) 2006-11-16 2012-12-17 삼성전자주식회사 Method of updating group key and group key update device using the same
JP6644037B2 (en) 2017-09-08 2020-02-12 株式会社東芝 Communication control system
WO2020085014A1 (en) * 2018-10-25 2020-04-30 ソニー株式会社 Communication device, communication method, and data structure
JP2020108070A (en) 2018-12-28 2020-07-09 株式会社東芝 Communication control device and communication control system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251297A (en) * 2000-03-07 2001-09-14 Cti Co Ltd Information processor, and cipher communication system and method provided with the processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251297A (en) * 2000-03-07 2001-09-14 Cti Co Ltd Information processor, and cipher communication system and method provided with the processor

Also Published As

Publication number Publication date
JP2004350267A (en) 2004-12-09

Similar Documents

Publication Publication Date Title
JP4504099B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program
US7366906B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, program and computer readable information recording medium
JP4712325B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP4607567B2 (en) Certificate transfer method, certificate transfer apparatus, certificate transfer system, program, and recording medium
JP4576210B2 (en) Certificate transfer device, certificate transfer system, certificate transfer method, program, and recording medium
US20060182042A1 (en) Managed device, management system, method for controlling a managed device and medium
JP4758095B2 (en) Certificate invalidation device, communication device, certificate invalidation system, program, and recording medium
JP2006060779A (en) Certificate transmission apparatus, communication system, certificate transmission method, program and recording medium
JP6278651B2 (en) Network system, management server system, control method and program
JP4522771B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM
JP4504083B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program
JP4504067B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program
JP4611676B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP2018156492A (en) Remote management system, mediation device, remote management method, and remote management program
JP4504047B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method and program
JP4494827B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method and program
JP2008287587A (en) Electronic mail system
JP4611678B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP4509675B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
JP5729057B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM
JP5434956B2 (en) Certificate invalidation device, certificate invalidation system, program, and recording medium
JP2011166312A (en) Virtual private network system, communication method and computer program
JP4570919B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM
JP2021196734A (en) Deadline management system and deadline management method
JP2009031976A (en) E-mail system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100420

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees