Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6573880B2 - 更新プログラム及び方法、及び、管理プログラム及び方法 - Google Patents
[go: Go Back, main page]

JP6573880B2 - 更新プログラム及び方法、及び、管理プログラム及び方法 - Google Patents

更新プログラム及び方法、及び、管理プログラム及び方法 Download PDF

Info

Publication number
JP6573880B2
JP6573880B2 JP2016528666A JP2016528666A JP6573880B2 JP 6573880 B2 JP6573880 B2 JP 6573880B2 JP 2016528666 A JP2016528666 A JP 2016528666A JP 2016528666 A JP2016528666 A JP 2016528666A JP 6573880 B2 JP6573880 B2 JP 6573880B2
Authority
JP
Japan
Prior art keywords
public key
client
temporary
certificate
server
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
JP2016528666A
Other languages
English (en)
Other versions
JPWO2015193945A1 (ja
Inventor
丸山 秀史
秀史 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2015193945A1 publication Critical patent/JPWO2015193945A1/ja
Application granted granted Critical
Publication of JP6573880B2 publication Critical patent/JP6573880B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、セキュアな通信技術に関する。
近年、インターネット等を介したデータ通信をセキュアに行うために、一般的には、通信上の秘匿データに対して一時鍵を適用することにより、鍵の推定を事実上防いでいる。また、公開鍵を用いてデータを暗号化することが行われている。
公開鍵方式を使ったセキュアな通信方式においては、最初にデータ要求元から送信データに付加する要求元の電子署名を検証するための公開鍵証明書をデータ要求先に送付し、要求先ではその公開鍵証明書の正当性をチェックした上で、データ要求元から受信したデータの署名を公開鍵証明書の中の公開鍵を使ってチェックすることにより、受信したデータが正しい要求元で作成されたものなのかどうかを確認している。
しかしながら、データの署名検証に使われる公開鍵証明書は、データ要求元に固有の鍵ペア(公開鍵と秘密鍵)を更新しない限りは常に同じものが使われ、第三者がある程度長い時間をかければ、その公開鍵に対応する秘密鍵を推定できてしまう可能性が高く、秘密鍵が推定された場合、データ要求元のクライアントのなりすましが可能となり、データの不正利用、不正改竄が可能となってしまう。
鍵ペア(公開鍵と秘密鍵)を更新するために、クライアント・サーバ間の通信セッションの開設において、双方の公開鍵証明書を互いに認証した後、互いに作成した一時公開鍵を相手から受け取った公開鍵証明書内の公開鍵を使って署名検証することによって双方の一時公開鍵の正当性を確認し、互いに相手から受け取った一時公開鍵と自分の一時秘密鍵から一時対称鍵を共有することで、共有した一時対称鍵を用いて通信データを暗号化及び復号する技術等が提案されている。
米国特許第5657390号明細書 特開2004−23224号公報 特開2005−204144号公報
上述した技術により、通信環境を開設する毎に一時公開鍵が変わるため、第三者が通信データから一時公開鍵に対応する一時秘密鍵を推定することが困難である。そのため、暗号化された通信データを第三者が復号して推定することは非常に難しい。
しかしながら、最初にクライアント・サーバ間で交換する双方の通信データのチェックに使用する公開鍵証明書は、更新することが困難であることから、有効期限が長く設定され、長期間にわたり変更されることなく利用される。長期間にわたり同じ公開鍵証明書を使用し続けた場合には、第三者が、公開鍵証明書に含まれる公開鍵に対応する秘密鍵を推定することは比較的容易になってくる。
第三者があるクライアントの公開鍵証明書の秘密鍵を推定できた場合、第三者は完全にそのクライアントに成り済ますことができる。第三者は、クライアントに成り済まし、正規のコンテンツを獲得することができ、獲得した正規のコンテンツを無制限に複写して不特定多数の人々に配布することも可能である。
したがって、1つの側面では、本発明は、クライアントの公開鍵証明書をセキュアに更新可能とすることを目的とする。
一態様によれば、メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバに対し一時的に利用する一時サーバ公開鍵を要求し、一時的に利用する一時クライアント鍵ペアを生成し、該一時クライアント鍵ペアのうち一時クライアント秘密鍵と前記サーバから前記セキュアな通信により受信した前記一時サーバ公開鍵とで一時共通鍵を生成し、前記セキュアな通信において、前記一時クライアント秘密鍵とペアとなる一時クライアント公開鍵と、生成した前記一時共通鍵で暗号化した第2の公開鍵証明書に対応付けられるクライアント公開鍵とを、前記第1の公開鍵証明書を用い、前記第1の公開鍵証明書に対応する前記第1のクライアント秘密鍵による前記電子署名を付与して前記サーバへ送信することで、該第2の公開鍵証明書の発行要求を行い、前記サーバから、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を前記セキュアな通信により受領し、該一時共通鍵で該第2の公開鍵証明書を復号し、前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記セキュアな通信において、前記第2の公開鍵証明書に対応する第2のクライアント秘密鍵による電子署名をメッセージに付与して前記サーバと通信する処理をコンピュータに実行させる更新プログラムを提供する。
また、上記処理をコンピュータが実行する更新方法、端末装置、及び、上記プログラムを記憶した記憶媒体とすることもできる。
他の態様によれば、データを送信したクライアントの正当性と、該データの正当性の確認に用いられる公開鍵証明書の管理プログラムであって、メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、一時的に利用する一時サーバ公開鍵を新たに生成し、前記クライアントに送信し、前記セキュアな通信により、前記クライアントから、前記第1の公開鍵証明書を用い、一時クライアント公開鍵と、前記一時サーバ公開鍵と一時クライアント秘密鍵から生成された一時共通鍵によって暗号化されたクライアント公開鍵とを含む第2の公開鍵証明書の発行要求を受信し、前記一時サーバ公開鍵とペアとなる一時サーバ秘密鍵と、前記クライアントから受信した前記一時クライアント公開鍵とで前記一時共通鍵を生成し、生成した該一時共通鍵を用いて前記クライアント公開鍵を復号し、前記セキュアな通信による前記クライアントからの第2の公開鍵証明書の発行要求に対して、復号した前記クライアント公開鍵を用いて該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する処理をコンピュータに実行させる管理プログラムを提供する。
また、上記処理をコンピュータが実行する管理方法、サーバ、及び、上記プログラムを記憶した記憶媒体とすることもできる。
クライアントの固有の公開鍵証明書と秘密鍵のペアをセキュアに更新することができる。
本実施例にけるデータ通信システムの概要を説明するための図である。 サーバのハードウェア構成を示す図である。 クライアントのハードウェア構成を示す図である。 サーバのハードウェア構成を示す図である。 クライアントのハードウェア構成を示す図である。 クライアントの第1の機能構成例を示す図である。 サーバの第1の機能構成例を示す図である。 通信データ構成の他の例を示す図である。 クライアントの第2の機能構成例を示す図である。 証明書管理情報テーブルのデータ構成例を示す図である。 サーバの第2の機能構成例を示す図である。 サーバにおける証明書管理情報テーブルのデータ構成例を示す図である。 ステップ(I)におけるクライアントでの処理を説明するためのフローチャート図である。 ステップ(I)及び(II)におけるサーバでの処理を説明するためのフローチャート図(その1)である。 ステップ(I)及び(II)におけるサーバでの処理を説明するためのフローチャート図(その2)である。 ステップ(II)及び(III)におけるクライアントでの処理を説明するためのフローチャート図(その1)である。 ステップ(II)及び(III)におけるクライアントでの処理を説明するためのフローチャート図(その2)である。 ステップ(III)及び(IV)におけるサーバでの処理を説明するためのフローチャート図(その1)である。 ステップ(III)及び(IV)におけるサーバでの処理を説明するためのフローチャート図(その2)である。 ステップ(III)及び(IV)におけるサーバでの処理を説明するためのフローチャート図(その3)である。 ステップ(IV)におけるクライアントでの処理を説明するためのフローチャート図である。 図22(A)は、関連技術の場合を示し、図22(B)は、本実施例の場合を示す図である。
以下、本発明の実施の形態を図面に基づいて説明する。公開鍵方式を使ったセキュアな通信方式において、ある程度長い鍵長の鍵を使えば、秘密鍵が第三者によって導出される心配はほぼないと考えられてきた。ECC(Elliptic Curve Cryptography)の場合、鍵長は素体224ビット以上である。また、RSA(Rivest Shamir Adleman)の場合、鍵長は2048ビット以上である。
(1)しかしながら、近年、各情報処理装置のCPU(Central Processing Unit)性能、メモリ容量等のパフォーマンスは飛躍的に向上し、また、インターネット上の非常に多数の情報処理装置を利用した並列計算処理の技術が進歩している。従って、同じクライアント公開鍵を使い続けていると、秘密鍵を推定されて要求元のアプリケーションプログラム、ファームウェアが成り済まされる可能性が高くなっている。また、どの程度の鍵長とすれば十分であるかは、確定されたものではなく、秘密鍵を推定する技術の進歩とともに要求元が成り済まされるリスクが高くなる。
(2)新しいクライアント公開鍵証明書及び新しい秘密鍵を埋め込んだ、要求元となるアプリケーションプログラム又はファームウェアを適当な期間で更新することが考えられる。この場合、アプリケーションプログラム又はファームウェアを更新する運用に負担が掛り、また、更新するためにはコストが掛る。
(3)コストを掛けてアプリケーションプログラム又はファームウェアを更新する場合であっても、更新要求に付加される、正当な要求元であることを示す署名には、同様にクライアント公開鍵証明書が使用される。即ち、更新時に使用するクライアント公開鍵証明書に関して、上記(1)の問題が同様に存在し、結局、成り済ましのリスクを解消することができない。
上述より、十分に安全な期間での要求元のクライアント公開鍵証明書の更新は難しく、セキュリティに関するリスクを包含していても、要求元のクライアント公開鍵証明書の期限を非常に長いものにして運用するのが一般的である。
図1は、本実施例にけるデータ通信システムの概要を説明するための図である。図1において、本実施例にけるデータ通信システム1000は、1以上のクライアント5と、サーバ100とが、ネットワーク2を介して接続される。各クライアント5とサーバ100との間では、PKI(Public Key Infrastructure)により暗号化されたデータで通信が行われる。クライアント5が、現行世代クライアント公開鍵証明書6kを、次世代クライアント公開鍵証明書6k'に更新する処理の概要について説明する。
先ず、クライアント5は、サーバ100との間で、PKIによる通信によって一時共通鍵3mの共有処理21pを行う。共有処理21pを行う時点では、クライアント5は、現行世代クライアント公開鍵6aと現行世代クライアント秘密鍵6bとによる現行世代クライアント鍵ペア6p、及び、現行世代クライアント公開鍵証明書6kと保持する。
クライアント5からサーバ100へのデータ送信は、これら現行世代クライアント鍵ペア6pと現行世代クライアント公開鍵証明書6kとが用いられ、PKIにより暗号化されたデータがサーバ100へと送信される。
クライアント5とサーバ100間で一時共通鍵3mが共有されると、クライアント5は、一時共通鍵3mを用いた更新処理22pをサーバ100との間で行う。クライアント5は、次世代クライアント鍵ペア6p'を生成し、サーバ100と共有した一時共通鍵3mで、次世代クライアント公開鍵6a'を暗号化して、サーバ100から次世代クライアント公開鍵証明書6k'を取得する。
図1のデータ通信システム100において、サーバ100は、テキスト、静止画、動画等の種々の情報をクライアント5に提供するセンタに相当する。クライアント5のユーザは、サーバ100を運営するプロバイダとの間で所定の契約を結ぶことで、サーバ100は、クライアント5の正当性を確認したうえで、情報提供を行う。
本実施例におけるデータ通信システム1000では、以下の<仕組みI>及び<仕組みII>を提供する。
<仕組みI>では、現行世代クライアント秘密鍵6に対する長時間にわたる推定に対抗する仕組みを提供する。
<仕組みII>では、更新処理22pの実行中における不正な解析に対処する仕組みを提供する。
<仕組みI>
PKI暗号化による通信において、上述した共有処理21p及び更新処理22pを行う通信シーケンス例について図2及び図3で説明する。図2及び図3において、PKIに基づき暗号化されたデータは、送信元の公開鍵を示す公開鍵証明書6k(又は7k)と、メッセージ1mと、送信元の電子署名6e(又は7e)とを含む。公開鍵証明書6k(又は7k)により、送信元の公開鍵の正当性を示し、電子署名によって正しいデータであることを示す。電子署名は、送信元の秘密鍵で作成される。他の図においても同様である。
図2は、共有処理における通信シーケンス及び通信データ構成の例を示す図である。ステップ(I)において、クライアント5は、一時共通鍵3mをサーバ100と共有するために、データ31dをサーバ100に送信する。データ31dは、PKIに基づき暗号化されたデータである。
データ31dは、現行世代クライアント公開鍵6aを示す現行世代クライアント公開鍵証明書6kと、メッセージ1mと、現行世代クライアント秘密鍵6bによる電子署名6eとを有する。クライアント5は、一時クライアント鍵ペア4pを生成しておく。
ステップ(II)において、サーバ100は、PKIに基づき、データ31dの現行世代クライアント公開鍵証明書6kによりクライアント5の正当性を確認し、現行世代クライアント公開鍵証明書6kで示される現行世代クライアント公開鍵6を使って電子署名6eの正当性を判断する。
サーバ100は、クライアント5の電子署名6eの正当性を確認した後、一時サーバ鍵ペア2pを生成する。そして、サーバ100は、サーバ公開鍵7aを示すサーバ公開鍵証明書kと、一時サーバ公開鍵2aを含むメッセージ1mと、サーバ秘密鍵bによる電子署名eとを含むデータ32dを作成して、クライアント5に送信する。
ステップ(IIIa)において、クライアント5は、サーバ100からデータ32dを受信すると、PKIに基づき、データ32dが正当なサーバ100からの正しいデータであることを確認後、メッセージ1mに含まれる一時サーバ公開鍵2aと一時クライアント秘密鍵4bとで一時共通鍵3mを生成する。そして、クライアント5は、PKIに基づき、メッセージ1mに一時クライアント公開鍵4aを含むデータ33d−1を作成し、サーバ100に送信する。
サーバ100は、データ33d−1を受信すると、PKIに基づき、データ33d−1が正当なクライアント5からの正しいデータであることを確認後、メッセージ1mから一時クライアント公開鍵aを取り出して、取り出した一時クライアント公開鍵aと一時サーバ秘密鍵2bとで一時共通鍵3mを生成する。
これにより、クライアント5とサーバ100間の通信に使用する一時共通鍵3mが、クライアント5とサーバ100の夫々に設定される。クライアント5とサーバ100間は、一時共通鍵3mを使用した一時的な通信を確立する。
図3は、更新処理における通信シーケンス及び通信データ構成の例を示す図である。ステップ(IIIb)において、図2のデータ33d−1に続いて、クライアント5は、次世代クライアント鍵ペア6p'を生成し、PKIに基づき、メッセージ1mに次世代クライアント公開鍵6a'を含むデータ33d−2を作成し、サーバ100に送信する。
サーバ100は、データ33d−2を受信すると、PKIに基づきデータ33d−2が正当なクライアント5からの正しいデータであることを確認後、メッセージ1mから次世代クライアント公開鍵6a'を取り出す。
ステップ(IV)において、そして、サーバ100は、メッセージ1mから取り出した次世代クライアント公開鍵6a'に対してクライアント公開鍵証明書6k'を発行する。サーバ100は、クライアント公開鍵証明書6k'を一時共通鍵3mで暗号化してメッセージ1に含めて、PKIに基づいてデータ34dを作成し、クライアント5へ送信する。
クライアント5は、データ34dを受信すると、PKIに基づきデータ34dが正当なクライアント5からの正しいデータであることを確認後、メッセージ1mから次世代クライアント公開鍵証明書6k'を一時共通鍵3mで復号して、取得する。
このように、更新処理毎に、クライアント5とサーバ100とは新たに一時共通鍵3m生成して共有する。一時共通鍵3mは、1回の更新処理にのみ生成され共有されるため、公開鍵証明書の更新用の鍵ペア及び公開鍵証明書を長期間、保持する場合に比べて、一時共通鍵3mの期間は相当に短い。長期間とは、数年から凡そ10年等の年単位である。一時共通鍵3mの期間は、時間単位、又は日単位の長さである。
上述したように、次世代クライアント公開鍵6a'と次世代クライアント公開鍵証明書6k'とは,一時共通鍵3mで暗号化されるためセキュアに更新を行うことができる。また、更新処理毎に、クライアント5とサーバ100とは新たな一時共通鍵3mを短期間の間だけ共有するため、解読されるリスクを極めて少なくすることができる。
クライアント5の現行世代クライアント秘密鍵6bが推定される前に新たな次世代クライアント鍵ペア6p'に切り替えていくことが可能となり、第三者によるクライアントの現行世代クライアント秘密鍵6bの推定は非常に困難になる。第三者による現行世代クライアント公開鍵6aに対する長時間にわたる推定に対抗することができる。
クライアント5が、サーバ100から次世代クライアント公開鍵証明書6k'を受信する前に、クライアントの現行世代クライアント公開鍵証明書6kの期限が経過した場合、通常は、クライアントベンダーは別の手続きによって新たなクライアント公開鍵証明書の発行申請を行う。その際、クライアントベンダーは、現行世代クライアント公開鍵証明書6kの失効を申請する。
そして、クライアントベンダーは、次世代クライアント公開鍵証明書6k'及び次世代クライアント秘密鍵を組み込んだ、クライアント5で動作するアプリケーションプログラム又はファームウェアを流通させるようにする。
具体的には、クライアントベンダーは、クライアント5に相当する機器をメーカー又は代理店に返品し、アプリケーションプログラム又はファームウェアに次世代クライアント公開鍵証明書6k'及び次世代クライアント秘密鍵を組み込んだ機器を再送してもらう。或いは、ユーザが再認証して、アプリケーションプログラム又はファームウェアをインターネット経由で更新して次世代クライアント公開鍵証明書6k'及び次世代クライアント秘密鍵を取得する。
上述したように、本実施例では、次世代クライアント公開鍵6a'と次世代クライアント公開鍵証明書6k'とは、クライアント5とサーバ100との間で一時共通鍵3mを共有した後、その一時共通鍵3mにより暗号化し、また復号する。
従って、次世代クライアント公開鍵6a'は、それに対する次世代クライアント公開鍵証明書6k'を現行世代クライアント公開鍵証明書6kとして使用開始するまで、ネットワーク2上に現れることはない。
つまり、一時共通鍵3mが使用されて推定可能な状態になるまで、第三者は、次世代クライアント公開鍵6a'を推定開始することができない。
<仕組みII>
サーバ100からクライアント5への次世代クライアント公開鍵証明書6k'の返信を阻害する行為に対して、サーバ100は、サーバ100から次世代クライアント公開鍵証明書6k'を未だ受信していない状態によるクライアント5からのメッセージの受信回数をカウントし、運用で定めた規定値を超えた場合は、その次世代クライアント公開鍵証明書6k'を失効し、また、その次世代クライアント公開鍵証明書6k'を使った要求を拒絶する制御を行う。この<仕組みII>により、再送攻撃による不正な解析に対処できる。
図4は、サーバのハードウェア構成を示す図である。図4において、サーバ100は、コンピュータによって制御される装置であって、プロセッサとしてのCPU(Central Processing Unit)11aと、主記憶装置12aと、補助記憶装置13aと、入力装置14aと、表示装置15aと、通信I/F(インターフェース)17aと、ドライブ装置18aとを有し、バスBに接続される。
CPU11aは、主記憶装置12aに格納されたプログラムに従ってサーバ100を制御する。主記憶装置12aには、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11aにて実行されるプログラム、CPU11aでの処理に必要なデータ、CPU11aでの処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置13aには、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13aに格納されているプログラムの一部が主記憶装置12aにロードされ、CPU11aに実行されることによって、各種処理が実現される。記憶部130aは、主記憶装置12a及び/又は補助記憶装置13aに相当する。
入力装置14aは、マウス、キーボード等を有し、ユーザがサーバ100による処理に必要な各種情報を入力するために用いられる。表示装置15aは、CPU11aの制御のもとに必要な各種情報を表示する。通信I/F17aは、有線又は無線などのネットワークを通じて通信を行う。通信I/F17aによる通信は無線又は有線に限定されるものではない。
サーバ100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の非一時的で有形の媒体である記憶媒体19aによってサーバ100に提供される。
ドライブ装置18aは、ドライブ装置18aにセットされた記憶媒体19a(CD−ROM等)とサーバ100とのインターフェースを行う。
また、記憶媒体19aに、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体19に格納されたプログラムは、ドライブ装置18aを介してサーバ100にインストールされる。インストールされたプログラムは、サーバ100により実行可能となる。
尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
装置14aは、ユーザに種々の情報を表示したり、ユーザがサーバ100による処理に必要な各種情報を入力するために用いられる。入力装置14aと表示装置15aとは、一体化されたタッチパネルであっても良い。
クライアント5は、コンピュータを有する電子機器(以下、単に「機器」と言う)に相当し、テレビ、STB(Set Top Box)、他家電製品等である。クライアント5は、生体情報に係る管理装置等であっても良い。クライアント5は、図3に示すようなハードウェア構成を有する。図5は、クライアントのハードウェア構成を示す図である。
図5において、クライアント5は、コンピュータによって制御される電子機器であって、プロセッサとしてのCPU(Central Processing Unit)11bと、主記憶装置12bと、特定処理装置14bと、ユーザI/F(インターフェース)16bと、通信I/F17bと、ドライブ装置18bとを有し、バスB2に接続される。
CPU11bは、主記憶装置12bに格納されたプログラムに従ってクライアント5を制御する。主記憶装置12bには、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11bにて実行されるプログラム、CPU11bでの処理に必要なデータ、CPU11bでの処理にて得られたデータ等を記憶又は一時保存する。主記憶装置12bに格納されているプログラムが、CPU11bに実行されることによって、各種処理が実現される。
特定処理装置14bは、電子機器が目的とする、テレビ、STB(Set Top Box)、他家電製品、生体情報に係る管理装置等としての特定処理を行う。ユーザI/F16bは、CPU11bの制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。
通信I/F17bは、1又は複数の通信プロトコルに対応し、有線又は無線などのネットワーク2を介してサーバ装置100との通信を行うインタフェースである。通信I/F17bによる通信は無線又は有線に限定されるものではない。
クライアント5によって行われる処理を実現するプログラム、ネットワーク2を介して外部サーバからダウンロードされても良い。或いはプログラムは、クライアント5の主記憶装置12bに記憶されていても良い。
ドライブ装置18bは、ドライブ装置18bにセットされた、非一時的で有形の媒体である記憶媒体19b(例えば、SDカード等)と、クライアント5とのインターフェースを行う。主記憶装置12b及び/又は記憶媒体19bが記憶部130bに相当る。
クライアント5は、特定処理装置14bに着脱可能な、又は、特定処理装置14bと通信I/F17bを介して通信可能な、デスクトップ型、ノートブック型、ラップトップ型等の情報処理端末であっても良く、そのハードウェア構成は、図3に示す構成から特定処理装置14bを除いてほぼ同様であるので、その説明を省略する。
次に、<仕組みI>及び<仕組みII>を実現するための機能構成例について説明する。図中に示す略語と名称との対応付けは以下の通りである。
・CC_PUBは、現行世代クライアント公開鍵を表す。
・CC_CRTは、現行世代クライアント公開鍵証明書を表す。
・CC_PRVは、現行世代クライアント秘密鍵を表す。
・NC_PUBは、次世代クライアント公開鍵を表す。
・NC_CRTは、次世代クライアント公開鍵証明書を表す。
・NC_PRVは、次世代クライアント秘密鍵を表す。
・TM_COMは、一時共通鍵を表す。
・TMC_PUBは、一時クライアント公開鍵を表す。
・TMC_PRVは、一時クライアント秘密鍵を表す。
・RT_CRTは、ルート公開鍵証明書を表す。
・S_PUBは、サーバ公開鍵を表す。
・S_CRTは、サーバ公開鍵証明書を表す。
・S_PRVは、サーバ秘密鍵を表す。
・TMS_PUBは、一時サーバ公開鍵を表す。
・TMS_PRVは、一時サーバ秘密鍵を表す。
図6は、クライアントの第1の機能構成例を示す図である。図6において、クライアント5は、更新部50と、一時ペア生成部52と、一時共通鍵生成部53とを有する。更新部50と、一時鍵ペア生成部52と、一時共通鍵生成部53とは、CPU11bが対応するプログラムを実行することで行われる処理に相当する。
また、クライアント5では、記憶部130bに、現行世代クライアント公開鍵6a、現行世代クライアント公開鍵証明書6k、現行世代クライアント秘密鍵6b、次世代クライアント公開鍵6a'、次世代クライアント公開鍵証明書6k'、次世代クライアント秘密鍵6b'、一時サーバ公開鍵a、一時クライアント公開鍵4a、一時クライアント秘密鍵4b等を記憶する。
更新部50は、現行世代クライアント公開鍵証明書6kの更新するための図1に示す共有処理21p及び更新処理22pを制御する。一時鍵ペア生成部52は、一時共通鍵3mを生成するための一時クライアント鍵ペア4pを生成する。一時クライアント鍵ペア4pとなる一時クライアント公開鍵4a及び一時クライアント秘密鍵4bが記憶部130bに格納される。
一時共通鍵生成部53は、一時サーバ公開鍵2aと一時クライアント秘密鍵4bとで、サーバ100と共有する一時共通鍵3mを生成する。一時共通鍵3mは記憶部130bに格納される。
先ず、上述した<仕組みI>に係る処理を説明する。ステップは、図1及び図2で示すステップに対応する。
ステップ(I)において、一時サーバ公開鍵2aを要求する。更新部50は、メッセージ1mに対して、現行世代クライアント公開鍵6aを示す現行世代クライアント公開鍵証明書6kと、現行世代クライアント秘密鍵6bによる電子署名6eとを付加したデータ31dを作成する。更新部50は、データ31dをサーバ100へ送信する。
一方、更新部50は、一時鍵ペア生成部52によって、一時クライアント鍵ペア4pを生成する。一時クライアント鍵ペア4pの生成により、記憶部130bに、一時クライアント公開鍵4aと一時クライアント秘密鍵4bとが記憶される。
ステップ(II)において、一時共通鍵3mを共有する。一時共通鍵生成部53は、サーバ100からデータ32dを受信する。データ32dは、サーバ公開鍵7aを示すサーバ公開鍵証明書7kと、一時サーバ公開鍵2aを含むメッセージ1mと、サーバ秘密鍵7bによる電子名6eとを含む。
一時共通鍵生成部53は、データ32dのサーバ公開鍵証明書7kの正当性を確認後、サーバ公開鍵証明書7kで示されるサーバ公開鍵7aを用いて電子署名7eの正当性を確認して、正当なサーバ100が作成した正しいデータであることを確認する。
その後、一時共通鍵生成部53は、データ32dのメッセージ1mから一時サーバ公開鍵2aを取得して、取得した一時サーバ公開鍵2aと、一時鍵ペア生成部52で生成された一時クライアント秘密鍵4bとで一時共通鍵3mを生成する。一時共通鍵生成部53によって生成された一時共通鍵3mは、記憶部130bに格納される。
一方、クライアント5は、データ32dを受信せず、サーバ100からエラー終了通知を受信する場合がある。サーバ100によって、現行世代クライアント公開鍵証明書6kの期限が経過していると判断された場合である。エラー終了通知部59は、サーバ100から受信したエラー終了通知を更新部50に通知する。
更新部50は、現世代クライアント公開鍵証明書6kの更新に失敗したことを示すメッセージをユーザI/F16bに表示してユーザに通知する。この場合、ユーザは、サーバ100を運営するプロバイダへ連絡をして、所定の手続きを行い、次世代クライアント公開鍵証明書6k'を取得する。
ステップ(IIIa)において、一時クライアント公開鍵4aを通知する。更新部50は、一時クライアント公開鍵4aを含むメッセージに対して、現行世代クライアント公開鍵6aを示す現行世代クライアント公開鍵証明書6kと、現行世代クライアント秘密鍵6bによる電子署名6eとを付加したデータ33d-1を作成する。更新部50は、データ33d-1をサーバ100へ送信する。サーバ100でも一時共通鍵3mが生成される。
ステップ(IIIb)において、次世代クライアント公開鍵証明書6k'を要求する。更新部50は、次世代クライアント公開鍵6a'を一時共通鍵3mで暗号化する。更新部50は、暗号化した次世代クライアント公開鍵6a'を含むメッセージ1mに対して、現行世代クライアント公開鍵6aを示す現行世代クライアント公開鍵証明書6kと、現行世代クライアント秘密鍵6bによる電子署名6eとを付加したデータ33d−2を作成する。更新部50は、データ33d−2をサーバ100へ送信する。
ステップ(IV)において、次世代クライアント公開鍵証明書6k'を取得する。更新部50は、サーバ100からデータ34dを受信する。データ34dは、サーバ公開鍵7aを示すサーバ公開鍵証明書7kと、次世代クライアント公開鍵証明書6k'を含むメッセージ1mと、サーバ秘密鍵7bによる電子eとを含む。一時共通鍵3mによって次世代クライアント公開鍵証明書6k'は暗号化されている。
更新部50は、データ34dのサーバ公開鍵証明書7kの正当性を確認後、サーバ公開鍵証明書7kで示されるサーバ公開鍵7aを用いて電子署名7eの正当性を確認して、正規のサーバ100が作成されたデータであることを確認する。
その後、更新部50は、データ34dのメッセージ1mの次世代クライアント公開鍵証明書6k'を、一時共通鍵3mで復号する。復号された次世代クライアント公開鍵証明書6k'は、記憶部130bに記憶される。
上述したように、互いに正当なクライアント5及びサーバ100であることを確認し、一時共通鍵3mによる通信を確立することで、一時共通鍵3mを用いてセキュアに次世代クライアント公開鍵証明書6k'を取得できる。
一時共通鍵3mは、次世代クライアント公開鍵証明書6k'の取得のみに使用される秘密鍵であるため、長期間にわたり使用することがない。
また、現行世代クライアント公開鍵証明書6kを使用する初期の段階で、次世代クライアント鍵ペア6p'を生成し、サーバ100から次世代クライアント公開鍵証明書6k'を取得するため、現行世代クライアント鍵ペア6pの使用期間を短く設定することができる。
一方、更新部50は、ステップ(IIIa)及び(IIIb)の後、サーバ100から次世代クライアント公開鍵証明書6k'を所定期間受信しない場合、即ち、ステップ(IV)が行われない場合、データ33d−1及びデータ33d−2を再送しても良い。その結果、サーバ100からエラー終了通知を受信する場合がある。サーバ100からのエラー終了通知は、エラー終了通知部59によって更新部50に通知される。
更新部50は、サーバ100からの次世代クライアント公開鍵証明書6k'(データ34d)の返信が阻害された場合があると判断し、現世代クライアント公開鍵証明書6kの更新に失敗したことを示すメッセージをユーザI/F16bに表示してユーザに通知する。この場合、ユーザは、サーバ100を運営するプロバイダへ連絡をして、所定の手続きを行い、次世代クライアント公開鍵証明書6k'を取得する。
図7は、サーバの第1の機能構成例を示す図である。図7に示すサーバ100の第1の機能構成例は、図6のクライアント5の第1の機能構成例に対応する構成を示している。
図7において、サーバ100は、正当性確認部81と、一時鍵ペア生成部83と、一時共通鍵生成部85と、管理部90と、エラー検出部99とを有する。正当性確認部81と、一時鍵ペア生成部83と、一時共通鍵生成部85と、管理部90と、エラー検出部99とは、CPU11aが対応するプログラムを実行することで行われる処理に相当する。
また、サーバ100では、記憶部130aに、一時サーバ公開鍵2a、一時サーバ秘密鍵2b、失効リスト2f、一時共通鍵3m、一時クライアント公開鍵4a、次世代クライアント公開鍵証明書6k'、ルート公開鍵証明書9b等を記憶する。
正当性確認部81は、クライアント5から受信したデータ31の現行世代クライアント公開鍵証明書6kの正当性を確認する。一時鍵ペア生成部83は、一時共通鍵ペア7pを生成するための一時サーバ鍵ペア2pを生成する。一時サーバ鍵ペア2pとなる一時サーバ公開鍵2a及び一時サーバ秘密鍵2bが記憶部130aに格納される。
一時共通鍵生成部85は、一時鍵ペア生成部83によって生成された一時サーバ秘密鍵2bと、クライアント5から送信された一時クライアント公開鍵4aとを用いて、一時共通鍵3mを生成する。一時共通鍵3mは記憶部130aに格納される。
管理部90は、クライアント5に対して発行した各クライアント公開鍵証明書を管理する。また、管理部90は、クライアント5からのデータ31d及び33dの電子署名6eの確認及び正当な要求であることを確認し、クライアント公開鍵証明書の発行を行う。
管理部90は、電子署名6eを用いて、現世代クライアント公開鍵証明書6kの正当性を確認し、現世代クライアント公開鍵証明書6kの期限をチェックする。また、管理部90は、次世代クライアント公開鍵証明書6k'が未登録であることを確認して、次世代クライアント公開鍵証明書6k'を生成及び登録する。更に、管理部90は、クライアント5からの要求が不当要求回数制限を超えていないかを確認する。
エラー検出部99は、正当性確認部81又は管理部90により、正当性が十分に確認できなかった場合、クライアント5へエラー終了を通知する。
サーバ100での処理を、図6のステップ(I)、(II)、(IIIa)、(IIIb)、及び(IV)に対応させて説明する。
ステップ(I)において、一時サーバ公開鍵2aの要求を受信する。サーバ100において、一時サーバ公開鍵2aを要求するメッセージ1mを含むデータ31dを受信すると、正当性確認部81は、ルート公開鍵証明書9bに基づいて、現行世代クライアント公開鍵証明書6kを確認する。
また、正当性確認部81は、現行世代クライアント公開鍵証明書6kで示される現行世代クライアント公開鍵6aを用いて、電子署名6eをチェックすることで、データ31dが、正当なクライアント5によって作成された正しいデータであることを確認する。
更に、正当性確認部81は、現行世代クライアント公開鍵証明書6kが登録済みの証明書であることを確認し、現行世代クライアント公開鍵証明書6kの証明書期限に基づいて、証明書期限前であることを確認する。現行世代クライアント公開鍵証明書6kが未登録の場合、現行世代クライアント公開鍵証明書6kの期限が経過している場合、エラー検出部99がクライアント5へエラー終了通知を送信する。
ステップ(II)において、一時共通鍵3mを共有するために一時サーバ鍵ペア2pを生成する。一時鍵ペア生成部83は、一時サーバ鍵ペア2pを生成する。一時サーバ鍵ペア2pである、サーバ公開鍵7a及びサーバ秘密鍵7bが記憶部130aに記憶される。
サーバ公開鍵7aを示すサーバ公開鍵証明書7kと、一時サーバ公開鍵2aを含むメッセージ1mと、サーバ秘密鍵7bによる電子eとを含むデータ32dが生成され、クライアント5へ送信される。
ステップ(IIIa)において、一時クライアント公開鍵4aを受信する。正当性確認部81は、一時クライアント公開鍵4aを含むデータ33d−1に対して、現行世代クライアント公開鍵証明書6kの正当性を確認し、現行世代クライアント公開鍵証明書6kによって示される現行世代クライアント公開鍵6aで電子署名6eを確認する。データ33d−1が正当なクライアント5によって作成されたデータであることが確認された後、一時クライアント公開鍵4aがメッセージ1mから取得される。
管理部90が不当要求回数制限値以内であることを確認した後、一時共通鍵生成部85は、一時クライアント公開鍵4aと、一時サーバ秘密鍵2bとを用いて、一時共通鍵3mを生成する。生成された一時共通鍵3mは、記憶部130aに記憶される。
ステップ(IIIb)において、次世代クライアント公開鍵証明書6k'の要求を受信する。正当性確認部81は、暗号化された次世代クライアント公開鍵6a'を含むデータ33d−2に対して、ルート公開鍵証明書9bを参照して現行世代クライアント公開鍵証明書6kの正当性を確認し、現行世代クライアント公開鍵証明書6kによって示される現行世代クライアント公開鍵6aを用いて電子署名6eを確認する。
正当性の確認後、管理部90は、次世代クライアント公開鍵6a'に対する次世代クライアント公開鍵証明書6k'が既に登録されているか否かを判断する。また、管理部90は、現行世代クライアント公開鍵証明書6kの証明書期限を確認する。更に、管理部90は、不当要求回数制限値以下の要求であることを確認する。
不当要求回数制限値以下の要求であることの確認後、管理部90は、メッセージ1m内の次世代クライアント公開鍵6a'を一時共通鍵3mで復号して、次世代クライアント公開鍵6a'に対する次世代クライアント公開鍵証明書6k'を生成する。生成された次世代クライアント公開鍵証明書6k'は、記憶部130bに格納される。
ステップ(IV)において、更新証明書暗号化部87は、管理部90によって生成された次世代クライアント公開鍵証明書6k'を一時共通鍵3mで暗号化してメッセージ1mに含めたデータ34dを作成し、クライアント5へ送信する。データ34dには、サーバ公開鍵7aを示すサーバ公開鍵証明書7kと、暗号化された次世代クライアント公開鍵証明書6k'を含むメッセージ1mと、サーバ秘密鍵7bによる電子名6eとが含まれる。
管理部90は、次世代クライアント公開鍵証明書6k'を含んだデータ34dをクライアント5に送信した後に、クライアント5から、再度、データ33d−1又は33d−2を受信する場合には、受信回数をカウントする。受信回数が予め定めた不当要求回数制限値を超えた場合、サーバ100が送信した次世代クライアント公開鍵証明書6k'(データ34d)が阻害された場合があると判断する。この場合、エラー検出部99が、クライアント5へエラー終了通知を送信する。
上述した図6のクライアント5の第1の機能構成及び図7のサーバ100の第1の機能構成では、クラアント5が、一時クライアント公開鍵4aと、一時共通鍵3mで暗号化した次世代クライアント公開鍵6a'とを、夫々別のデータ33d−1及び33d−2でサーバ100へ送信したが、ステップ(IIIa)において、更新部50は、メッセージ1mに一時クライアント公開鍵4aと、一時共通鍵3mで暗号化した次世代クライアント公開鍵6a'とを含めて1回の通信でサーバ100へ送信しても良い。
この場合、サーバ100は、メッセージ1mに次世代クライアント公開鍵6a'と、一時共通鍵3mで暗号化した次世代クライアント公開鍵6a'とが含まれたデータを受信しても良い。ステップ(IIIa)とステップ(IIIb)の処理を1つのデータに対して行えば良い。
図8は、通信データ構成の他の例を示す図である。図8において、ステップ(IIIa)とステップ(IIIb)でのデータを1つで行う場合の通信データ構成を示す。この場合をステップ(III)とする。
クライアント5は、一時共通鍵3mを生成した後、ステップ(III)において、クライアント5の更新部50は、次世代クライアント公開鍵6a'を一時共通鍵3mで暗号化する。
そして、更新部50は、一時クライアント公開鍵4aと、一時共通鍵3mで暗号化した次世代クライアント公開鍵6a'とをメッセージ1mに含め、メッセージ1mに対して、現行世代クライアント公開鍵6aを示す現行世代クライアント公開鍵証明書6kと、現行世代クライアント秘密鍵6bによる電子署名6eとを付加したデータ33を作成する。
ステップ(III)において、サーバ100は、一時クライアント公開鍵4aと、一時共通鍵3mで暗号化した次世代クライアント公開鍵6a'とを含んだデータ33dを受信する。
サーバ100の正当性確認部81は、データ33dに対して、現行世代クライアント公開鍵証明書6kの正当性を確認し、現行世代クライアント公開鍵証明書6kによって示される現行世代クライアント公開鍵6aで電子署名6eを確認する。データ33d正当なクライアント5によって作成されたデータであることが確認された後、一時クライアント公開鍵4aがメッセージ1mから取得される。
一時共通鍵生成部85は、一時クライアント公開鍵4aと、一時サーバ秘密鍵2bとを用いて、一時共通鍵3mを生成する。生成された一時共通鍵3mは、記憶部130aに記憶される。
管理部90は、現行世代クライアント公開鍵証明書6kが登録済みの証明書であることを確認し、現行世代クライアント公開鍵証明書6kの証明書期限に基づいて、証明書期限前であることを確認する。更に、管理部90は、不当要求回数制限値以内であることを確認する。
不当要求回数制限値以下の要求であることの確認後、管理部90は、メッセージ1m内の次世代クライアント公開鍵6a'を一時共通鍵3mで復号して、次世代クライアント公開鍵6a'に対する次世代クライアント公開鍵証明書6k'を生成する。生成された次世代クライアント公開鍵証明書6k'は、記憶部130bに格納される。
そして、ステップ(IV)において、サーバ100から次世代クライアント公開鍵証明書6k'がクライアント5へと提供される。
以下に、クライアント5及びサーバ100の第1の機能構成を詳細にした第2の機能構成について図9及び図10で説明する。図9及び図10では、図8に示すステップ(III)によるデータ33の場合で説明する。
図9は、クライアントの第2の機能構成例を示す図である。図9において、クライアント5は、更新部50と、サーバ正当性判断部51と、一時鍵ペア生成部52と、一時共通鍵生成部53と、暗号化部54と、電子署名付与部55と、電子署名チェック部56と、復号部57と、エラー終了通知部59とを有する。
更新部50と、サーバ正当性判断部51と、一時鍵ペア生成部52と、一時共通鍵生成部53と、暗号化部54と、電子署名付与部55と、電子署名チェック部56と、復号部57とは、CPU11bが対応するプログラムを実行することで行われる処理に相当する。
また、クライアント5では、記憶部130bに、一時サーバ公開鍵2a、一時クライアント鍵ペア4p、一時共通鍵3m、現行世代クライアント鍵ペア6p、現行世代クライアント公開鍵証明書6k、次世代クライアント鍵ペア6p'、次世代クライアント公開鍵証明書6k'、電子署名付き次世代クライアント公開鍵6k'−2、サーバ公開鍵証明書7k、ルート公開鍵証明書9b、データ31d〜34d、秘密データ33s及び34s等を記憶する。
更新部50は、現行世代クライアント公開鍵証明書6kの更新するための図1に示す共有処理21p及び更新処理22pを制御する。
更新部50は、現行世代クライアント公開鍵証明書6の期限チェックを行う。また、更新部50は、次世代クライアント公開鍵証明書6'をサーバ100から受信済みであるかを確認する。次世代クライアント公開鍵証明書6'を受信していない場合、共有処理21p及び更新処理22pを行う。更新処理22pにおいて、更新部50は、次世代クライアント鍵ペア6p'を生成し、サーバ100から次世代クライアント公開鍵証明書6'を受信した場合、次世代クライアント公開鍵証明書6'を登録する
ステップ(I)において、更新部50は、期限チェックにより、現行世代クライアント公開鍵証明書6の更新時期であると判断すると、現行世代クライアント公開鍵証明書6kを含むデータ31dをサーバ100へ送信する。データ31dは、一時共通鍵3mを生成するための一時サーバ公開鍵の要求に相当する。
ステップ(II)において、クライアント5がサーバ100からデータ32dを受信すると、サーバ正当性判断部51は、データ32dが、正当なサーバ100によって作成された、改竄されていない正しいデータであるか否かを判断する。
ステップ(III)において、一時鍵ペア生成部52は、サーバ正当性判断部51によって正しいデータであると判断された場合、一時共通鍵3mをサーバ100と共有するために、一時クライアント鍵ペア4pを生成する。一時クライアント鍵ペア4pとして、一時クライアント公開鍵4a及び一時クライアント秘密鍵4bが記憶部130bに格納される。
そして、一時共通鍵生成部53は、一時クライアント秘密鍵4bとサーバ100の一時サーバ公開鍵2aとを用いて、一時共通鍵3mを生成する。
暗号化部54は、サーバ100へ提供する、秘密データ33sと、電子署名付き次世代クライアント公開鍵6k'−2とからメッセージ1mを作成し、一時共通鍵3mを用いて暗号化する。そして、暗号化部54は、一時クライアント公開鍵4aをメッセージ1mに設定する。
電子署名付き次世代クライアント公開鍵6k'−2は、更新部50により、サーバ100から受信した次世代クライアント公開鍵証明書6k'に、利用や複製を制御・制限するDRMにより電子署名が付加された公開鍵証明書である。
次に、電子署名付与部55は、秘密データ33sに対して、現行世代クライアント秘密鍵6bとを用いて電子署名を作成して、データ33dを作成する。データ33dは、現行世代クライアント公開鍵6aを示す現行世代クライアント公開鍵証明書6kと、秘密データ33sと、電子署名付き次世代クライアント公開鍵と、一時クライアント公開鍵と、現行世代クライアント秘密鍵による電子署名とにより作成される。データ33dのメッセージ1mには、秘密データ33sと、電子署名付き次世代クライアント公開鍵と、一時クライアント公開鍵とが含まれる。データ33dは、サーバ100へ送信される。
ステップ(IV)において、電子署名チェック部56は、データ34dの電子署名をチェックして、データ34dが正当なサーバ100からの正しいデータであるを判断する。復号部57は、データ34dのメッセージ1mから秘密データ34sを取得し、一時共通鍵3mを用いて、次世代クライアント公開鍵証明書6k'を復号する。秘密データ34sは記憶部130b格納され、次世代クライアント公開鍵証明書6k'が更新部50に通知される。
更新部50は、復号部57から通知された次世代クライアント公開鍵証明書6k'の電子署名をチェックして、次世代クライアントペア6p'と対応付けて登録し管理する。
エラー終了通知部59による処理は、図6の第1の機能構成における処理と同様であるので、その説明を省略する。
クライアント5は、現世代クライアント公開鍵証明書6k、次世代クライアント公開鍵証明書6k'等を管理するために、図10に示すような証明書管理情報テーブル60を有する。図10は、クライアントにおける証明書管理情報テーブルのデータ構成例を示す図である。
図10において、クライアント5で保持される証明書管理情報テーブル60は、記憶部130bに保持され、エレメント番号、証明書ID、カレントフラグ、鍵種別、鍵長、公開鍵、秘密鍵、次世代証明書エレメント番号、前世代証明書エレメント番号、期限、クライアント公開鍵証明書等の項目を有する。
エレメント番号は、現世代クライアント公開鍵証明書6kに対して付与される管理用の番号である。エレメント番号は、レコードを特定するレコード番号であっても良い。
証明書IDは、クライアント公開鍵証明書の識別情報であり、証明書発行元IDと、証明書シリアル番号とを示す。この例では、証明書IDが、証明書発行元IDと、証明書シリアル番号とによる2段の階層構造で示されるが、3段以上の階層構造であっても良い。
証明書発行元IDは、発行元であるサーバ100の識別情報を示し、証明書シリアル番号は、サーバ100が発行した各公開鍵証明書に付与したシリアル番号を示す。
カレントフラグは、証明書IDが現行世代クライアント公開鍵証明書6であるか否かを示すフラグである。即ち、現在使用中のクライアント公開鍵証明書であることを示すフラグである。
現行世代クライアント公開鍵証明書6の場合、カレントフラグは「1」を示す。一方、クライアント公開鍵証明書が未使用世代である場合、カレントフラグは「0」を示す。また、カレントフラグの初期値は「0」である。
鍵種別は、暗号化方式を指定する。鍵種別「E」は、楕円曲線暗号化(Elliptic Curve Cryptography(ECC))であることを示す。鍵種別「R」は、RSA(Rivest Shamir Adleman)であることを示す。鍵長は、ビット長を示す。
公開鍵は、公開鍵の値(バイナリ)を示し、暗号化された状態で格納される。秘密鍵は、秘密鍵の値(バイナリ)を示し、暗号化された状態で格納される。
次世代証明書エレメント番号は、次世代クライアント証明書のエレメント番号を示す。前世代証明書エレメント番号は、前世代クライアント証明書のエレメント番号を示す。
期限は、クライアント公開鍵証明書の期限をYYYYMMDD:hhmmss(協定世界時(UTC))の形式で示す。クライアント公開鍵証明は、X509に準拠したクライアント公開鍵証明の実体(バイナリ)を示す。
更新部50は、現行世代クライアント公開鍵証明書6kの期限が切れていた場合、又は、サーバ100から現行世代クライアント公開鍵証明書6kを拒絶された場合、次世代証明書エレメント番号が示すレコードのカレントフラグを「1」に設定した後、現行世代クライアント公開鍵証明書6kのレコードを削除する。また、更新部50は、次世代クライアント公開鍵証明書6k'を新しい現行世代クライアント公開鍵証明書として使用する。
クライアント5の要求(データ33d)に対して次世代クライアント公開鍵証明書6k'が送信されると、更新部50は、公開鍵に次世代クライアント公開鍵6a'を格納し、秘密鍵に次世代クライアント秘密鍵6b'を格納する。
また、更新部50は、前世代証明書エレメント番号には、現行世代クライアント公開鍵証明書6kのレコードのエレメント番号を設定する。その後、更新部50は、現行世代クライアント公開鍵証明書6kのレコードの次世代証明書エレメント番号に追加登録したレコードのエレメント番号を設定する。このようにして、現行世代クライアント公開鍵証明書6kと、次世代クライアント公開鍵証明書6k'との関連付けが行われる。
更新部50は、クライアント5から現行世代クライアント公開鍵証明書6kを指定してサーバ100にデータ33dを送信する時に、現行世代クライアント公開鍵証明書6kのレコードの次世代証明書エレメント番号に値が存在するか否かを確認する。
更新部50は、次世代証明書エレメント番号に値が存在しない場合、次世代クライアント鍵ペア6p'を生成して、次世代クライアント公開鍵6a'を一時共通鍵3mで暗号化してメッセージ1mに設定し、サーバ100へ送信する。
クライアント5の証明書管理情報テーブル60の初期状態では、サーバ100から2つ以上のクライアント公開鍵証明書を発行してもらい、これら証明書を現行世代クライアント公開鍵証明書6kと次世代クライアント公開鍵証明書6k'として関連付けて、登録することが望ましい。サーバ100から最初の次世代クライアント公開鍵証明書6k'が返信されてくる前に、現行世代クライアント公開鍵証明書6kの期限が切れてしまう事態に対処可能とするためである。
図11は、サーバの第2の機能構成例を示す図である。図11に示すサーバ100の第2の機能構成例は、図9のクライアント5の第2の機能構成例に対応する構成を示している。
図11において、サーバ100は、正当性確認部81と、電子署名チェック部82と、一時鍵ペア生成部83と、公開鍵暗号化部84と、一時共通鍵生成部85と、復号部86と、更新証明書暗号化部87と、検索部91と、証明書管理部92とを有する。
正当性確認部81と、電子署名チェック部82と、一時鍵ペア生成部83と、公開鍵暗号化部84と、一時共通鍵生成部85と、復号部86と、更新証明書暗号化部87と、検索部91と、証明書管理部92とは、CPU11aが対応するプログラムを実行することによって行われる処理に相当する。
また、サーバ100では、記憶部130aは、一時サーバペア2p、一時クライアント公開鍵4a、次世代クライアント公開鍵6a'、次世代クライアント公開鍵証明書6k'、サーバペア7p、データ31d〜34d等を記憶する。
検索部91と証明書管理部92とが、図7の管理部90に相当する。また、正当性確認部81と、検索部91と、電子署名チェック部82と、一時鍵ペア生成部83、公開鍵暗号化部84とによる処理が、図1に示す共有処理21pに相当する。更に、電子署名チェック部82と、一時共通鍵生成部85と、復号部86と、証明書管理部92とによる処理が、更新処理22pに相当する。
ステップ(I)において、クライアント5からデータ31dを受信すると、正当性確認部81は、受信したデータ31dの現行世代クライアント公開鍵証明書6kの正当性を確認する。
電子署名チェック部82は、データ31dの電子署名6eをチェックし、データ31dが改竄されていない正しいデータであるか否かをチェックする。また、電子署名チェック部82は、データ33dに対しても同様の電子署名チェックを行う。
ステップ(II)において、一時鍵ペア生成部83は、一時共通鍵3mを生成するための一時サーバ鍵ペア2pを生成する。一時サーバ鍵ペア2pとなる一時サーバ公開鍵2a及び一時サーバ秘密鍵2bが記憶部130aに格納される。
公開鍵暗号化部84は、一時共通鍵3mをクライアント5で作成するための一時サーバ公開鍵2aをPKIで暗号化して、データ32dを作成する。公開鍵暗号化部84は、サーバ秘密鍵7bを用いて電子署名7eを作成する。データ32dは、サーバ公開鍵7aを示すサーバ公開鍵証明書7kと、一時サーバ公開鍵2aと、サーバ秘密鍵7bによる電子署名7eとを有する。一時サーバ公開鍵2aはメッセージ1mに含まれる。データ32dは、クライアント5へ送信される。
ステップ(III)において、クライアント5からデータ33dを受信すると、一時共通鍵生成部85は、データ33dから取得した一時クライアント公開鍵4aと、一時鍵ペア生成部83によって生成された一時サーバ秘密鍵2bとを用いて、一時共通鍵3mを生成する。
復号部86は、データ33dのメッセージ1mに含まれる次世代クライアント公開鍵6a'を復号して、証明書管理部92へ通知する。
証明書管理部92は、クライアント5の現行世代クライアント公開鍵証明書6kが登録済みであることを確認し、クライアント5からの次世代クライアント公開鍵証明書6k'の要求が不当要求と判断される不当要求回数制限値以内であることを確認する。また、証明書管理部92は、データ33dのメッセージ1m内に次世代クライアント公開鍵証明書k'が含まれていない場合に、現行世代クライアント公開鍵証明書6kに対応付けて次世代クライアント公開鍵証明書k'が登録されていることを確認する。
証明書管理部92は、上記事項の確認ができなかった場合、エラー検出部99にエラー終了通知をクライアント5に行わせる。
ステップ(IV)において、証明書管理部92は、上記事項の確認ができた場合、次世代クライアント公開鍵証明書6k'を発行する。更新証明書暗号部87は、証明書管理部92によって発行された次世代クライアント公開鍵証明書6k'に電子署名を付加する。次世代クライアント公開鍵証明書6k'に付加する電子署名は、利用や複製を制御・制限するDRMにより行う。電子署名付き次世代クライアント公開鍵証明書6k'は、秘密データ34sと共にメッセージ1mに含められ、更に、PKI暗号化されることにより、データ34dが作成される。
データ34dは、サーバ公開鍵証明書7kと秘密データ34sとを含むメッセージ1mと、次世代クライアント公開鍵証明書6k'と、サーバ秘密鍵7bによる電子署名7eとを含む。データ34dは、クライアント5に送信される。
エラー検出部99による処理は、図7の第2の機能構成における処理と同様であるので、その説明を省略する。
サーバ100は、現世代クライアント公開鍵証明書6k、次世代クライアント公開鍵証明書6k'等を管理するために、図12に示すような証明書管理情報テーブル80を有する。図12は、サーバにおける証明書管理情報テーブルのデータ構成例を示す図である。
図12において、サーバ100で保持される証明書管理情報テーブル80は、記憶部130aに保持され、各クライアント5に対して用意されるテーブルであり、エレメント番号、証明書ID、現行世代証明書フラグ、受信回数、返信完了前送信回数、公開鍵、秘密鍵、次世代証明書エレメント番号、前世代証明書エレメント番号、期限、クライアント公開鍵証明書等の項目を有する。
エレメント番号は、現世代クライアント公開鍵証明書6kに対して付与される管理用の番号である。エレメント番号は、レコードを特定するレコード番号であっても良い。
証明書IDは、クライアント公開鍵証明書の識別情報であり、証明書発行元IDと、証明書シリアル番号とを示す。
現行世代証明書フラグは、証明書IDが現行世代クライアント公開鍵証明書6であるか否かを示すフラグである。現行世代クライアント公開鍵証明書6の場合、カレントフラグは「1」を示す。一方、クライアント公開鍵証明書が未使用世代である場合、カレントフラグは「0」を示す。また、カレントフラグの初期値は、「0」である。
受信回数は、クライアント5から次世代クライアント公開鍵証明書を指定した要求の総受信回数を示す。返信完了前送信回数は、サーバ100がデータ34dをクライアント5への返信後の状態において、クライアント5から次世代クライアント公開鍵証明書6k'の発行申請を受信した回数を示す。
公開鍵は、公開鍵の値(バイナリ)を示し、暗号化された状態で格納される。秘密鍵は、秘密鍵の値(バイナリ)を示し、暗号化された状態で格納される。
次世代証明書エレメント番号は、次世代クライアント証明書のエレメント番号を示す。前世代証明書エレメント番号は、前世代クライアント証明書のエレメント番号を示す。
期限は、クライアント公開鍵証明書の期限をYYYYMMDD:hhmmss(協定世界時(UTC))の形式で示す。クライアント公開鍵証明は、X509に準拠したクライアント公開鍵証明の実体(バイナリ)を示す。
証明書管理部92は、クライアント5から送られてきた現行世代クライアント公開鍵証明書6kが未登録であり、新規に登録する場合、新たにレコードを作成し、証明書管理情報テーブル80に登録する。登録時に、証明書管理部92は、現行世代証明書フラグに「1」を設定する。
証明書管理部92は、クライアント5からの要求で指定された現行世代クライアント公開鍵証明書6kについて、この現行世代クライアント公開鍵証明書6kが指定された要求を受信した回数を、現行世代クライアント公開鍵証明書6kのレコードの受信回数に設定する。つまり、クライアント5からの要求を受信する毎に、指定されてきた現行世代クライアント公開鍵証明書6kのレコードの受信回数の値をインクリメントする。
受信回数の値は、現行世代クライアント公開鍵証明書6kの使用回数がある規定範囲内の間に次世代クライアント公開鍵証明書をクライアント5に送信しなければならないときに参照される。
クライアント5からの要求に次世代クライアント公開鍵証明書6k'が指定されている場合、証明書管理部92は、次世代クライアント公開鍵証明書6k'を発行する。指定さてきた現行世代クライアント公開鍵証明書6k'の使用回数が規定回数を超えていた場合、サーバ100の証明書管理部92は、クライアント5との通信は安全ではないと判断して、次世代クライアント公開鍵証明書6k'の発行を抑止する。
よって、規定回数以内に、次世代クライアント公開鍵証明書6k'がクライアントに返信されて登録されなければ、現行世代クライアント公開鍵証明書6kの期限までしかクライアント5からはサーバ100に要求を行えないことになる。
クライアント5からのある特定の現行世代クライアント公開鍵証明書6kを指定したメッセージ1mについて、次世代クライアント公開鍵6a'が指定されたメッセージがある規定回数を超えて受信された場合、サーバ100側では再送攻撃メッセージの可能性があると判断して、エラー検出部99に通知する。
具体的には、証明書管理部92は、クライアント5から次世代クライアント公開鍵6a'が指定された要求メッセージを受信する毎に、現行世代クライアント公開鍵証明書6kのレコードの返信完了前送信回数をインクリメントする。そして、証明書管理部92は、返信完了前送信回数が規定回数を超えたら、エラー検出部99に通知する。
次世代クライアント公開鍵証明書6k'の生成時に、証明書管理部92は、現行世代クライアント公開鍵証明書6kのレコードでは、次世代証明書エレメント番号にこの生成した次世代クライアント公開鍵証明書6k'のレコードのエレメント番号を設定する。
また、証明書管理部92は、次世代クライアント公開鍵証明書6k'のレコードでは、前世代証明書エレメント番号に現行世代クライアント公開鍵証明書6kのレコードのエレメント番号を設定する。
証明書管理部92は、下記の第1の条件が成立する場合、
・クライアント5から送信された現行世代クライアント公開鍵証明書6kのレコードが既に登録されていて、
・そのレコードの現行世代証明書フラグには未使用世代を示す値「0」が設定されていて、かつ、
・そのレコードの前世代証明書エレメント番号でポイントされているレコードの現行世代証明書フラグには現行世代クライアント公開鍵証明書6kを示す値「1」が設定されている場合、
このレコードのクライアント公開鍵証明書(証明書ID)を失効リスト2fに登録して、証明書管理情報テーブル80からこのレコードを削除する。
また、証明書管理部92は、クライアント5から送信された現行世代クライアント公開鍵証明書6kのレコードについては、現行世代証明書フラグに現行世代クライアント公開鍵証明書6kを示す値「1」を設定する。よって、次世代クライアント公開鍵証明書6k'が、現行世代クライアント公開鍵証明書6kに切り替えられる。
また、証明書管理部92は、下記の第2の条件が成立する場合においても、クライアント公開鍵証明書(証明書ID)を失効させる。
・クライアント5から送信された現行世代クライアント公開鍵証明書6kのレコードが既に登録されていて、
・そのレコードの現行世代証明書フラグには、現行世代クライアント公開鍵証明書6kを示す値「1」が設定されていない、かつ
・そのレコードの次世代証明書エレメント番号でポイントされているレコードの現行先行証明書フラグには、現行世代クライアント公開鍵証明書6kを示す値「1」が設定されている場合、
クライアント5から送信されてきた現行世代クライアント公開鍵証明書6k(証明書ID)を失効リスト2fに登録して、証明書管理情報テーブル80から、このレコードを削除する。
上記第2の条件が成立することは、通常は発生しないが、次世代クライアント公開鍵証明書6k'を現行世代クライアント公開鍵証明書6kに切り替える場合に、その処理が何らかの原因で中断されたことにより、旧現行世代クライアント公開鍵証明書のレコードが残っていた場合に発生する。
次に、クライアント5とサーバ100との間で一時共通鍵3mを共有する共有処理(図1)に係るステップ(I)及び(II)について、図13〜図16で詳細に説明する
図13は、ステップ(I)におけるクライアントでの処理を説明するためのフローチャート図である。図13において、クライアント5の更新部50は、証明書管理情報テーブル60を参照して、現行世代クライアント公開鍵証明書6kを検索する(ステップS501)。
現行世代クライアント公開鍵証明書(CC_CRT)6kが存在しない場合、更新部50は、エラー終了する。一方、存在する場合、更新部50は、現行世代クライアント公開鍵証明書6kが期限切れか否かを判断する(ステップS502)。期限内の場合、更新部50での処理を終了し、共有処理は、ステップS505へと進む。
一方、現行世代クライアント公開鍵証明書6kが期限切れの場合、更新部50は、証明書管理情報テーブル60を参照して、次世代クライアント公開鍵証明書6k'が存在するか否かを判断する(ステップS503)。存在しない場合、更新部50は、エラー終了する。一方、存在する場合、更新部50は、現行世代クライアント公開鍵証明書6kを次世代クライアント公開鍵証明書6k'に更新すると判断する(ステップS504)。
電子署名付与部55は、ステップS501で検索した現行世代クライアント公開鍵証明書6kに対応する現行世代クライアント秘密鍵6bで電子署名を生成して、送信するデータ31dに設定する(ステップS505)。
電子署名付与部55は、ステップS501で検索した現行世代クライアント公開鍵証明書6kを送信するデータ31dに設定して(ステップS506)、サーバ100に送信する(ステップS507)。データ31dは、一時共通鍵3mを共有するための一時サーバ公開鍵2aの要求データに相当する。
図14及び図15は、ステップ(I)及び(II)におけるサーバでの処理を説明するためのフローチャート図である。図14において、サーバ100は、クライアント5から一時サーバ公開鍵2aを要求するデータ31dを受信する(ステップS101)。
正当性確認部81は、ルート公開鍵証明書9bを用いて、データ31dの現行世代クライアント公開鍵証明書6kが正当な公開鍵証明書であるか否かをチェックする(ステップS102)。チェック結果がエラーの場合、図15のステップS110へと進む。
一方、チェック結果が正常の場合、正当性確認部81は、更に、失効リスト2fを参照して、現行世代クライアント公開鍵証明書6kが失効状態でないかをチェックする(ステップS103)。失効リスト2fに現行世代クライアント公開鍵証明書6kが存在した場合、正当性確認部81は、現行世代クライアント公開鍵証明書6kは失効していると判断し、エラー検出部99に、エラーを通知する。この場合、サーバ100は、図15のステップS110へと進む。
一方、失効リスト2fに現行世代クライアント公開鍵証明書6kが存在しない場合、正当性確認部81は、現行世代クライアント公開鍵証明書6kは失効していないと判断する。この場合、電子署名チェック部82が、現行世代クライアント公開鍵証明書6kの期限、及び電子署名6eをチェックする(ステップS10)。期限切れである場合、又は、電子署名6eのチェックが正常に終了しない場合、電子署名チェック部82は、エラー検出部99にエラーを通知する。この場合、サーバ100は、図15のステップS110へと進む。
一方、電子署名チェック部82によるチェックが正常に終了した場合、検索部91は、現行世代クライアント公開鍵証明書6kを証明書管理情報テーブル80から検索する(ステップS105)。現行世代クライアント公開鍵証明書6kが証明書管理情報テーブル80に登録済みである場合、検索部91は、ステップS107へと進む。
現行世代クライアント公開鍵証明書6kが証明書管理情報テーブル80に未登録の場合、検索部91は、現行世代クライアント公開鍵証明書6kを証明書管理情報テーブル80に登録し(ステップS106)、ステップS107へと進む。検索部91は、証明書管理情報テーブル80から、受信した現行世代クライアント公開鍵証明書6kが次世代クライアント公開鍵証明書6k'となっているレコード検索する(ステップS107)。レコードが存在しない場合、検索部91での処理は終了し、サーバ100は、図15のステップS109へと進む。
一方、レコードが存在する場合、検索部91は、ステップS105で検索した現行世代クライアント公開鍵証明書6kを失効リスト2fに登録し、ステップS107で検索されたレコードを削除する(ステップS108)。
図15にて、一時鍵ペア生成部83は、一時サーバ鍵ペア2pを生成して、一時サーバ公開鍵をメッセージ1mに対して設定する(ステップS109)。また、公開鍵暗号化部84は、メッセージ1mに対してサーバ秘密鍵7bによる電子署名7eと、サーバ公開鍵7aを示すサーバ公開鍵証明書7kとを付加して、PKI暗号化したデータ32dを作成する(ステップS111)。
そして、データ32dがクライアントに送信する(ステップS112)。データ32dは、クライアント5からの要求に相当するデータ31dに対する返信データとして、サーバ100からクライアント5へと送信される。
図14のステップS102、S103、又はS104にてエラーが通知された場合について説明する。図15にて、エラーが通知されたエラー検出部99は、エラーの内容を示すエラー情報をメッセージ1mに設定する(ステップS110)。ステップS102でのエラーでは、現行世代クライアント公開鍵証明書6kの正当性を確認できなかったことがエラー情報によって示される。ステップS103でのエラーでは、現行世代クライアント公開鍵証明書6kの失効がエラー情報によって示される。ステップS104でのエラーでは、期限切れ又は電子署名6eの正当性が確認できなかったことがエラー情報によって示される。
エラー検出部99は、公開鍵暗号化部84によって、エラー情報が設定されたメッセージ1mに対してサーバ秘密鍵7bによる電子署名7eと、サーバ公開鍵7aを示すサーバ公開鍵証明書7kとを付加して、PKI暗号化したデータを作成する(ステップS111)。そして、エラー検出部99は、エラー情報を含むデータをクライアント5へと送信する(S112)。
クライアント5は、このようなエラー情報を含むデータを受信すると、エラー終了通知部59が、更新部50へエラー終了を通知する。更新部50はエラー情報によりエラーの原因を知ることができる。
クライアント5では、データ31dをサーバ100から受信すると、図16及び図17に示すような処理を行う。
図16及び図17は、ステップ(II)及び(III)におけるクライアントでの処理を説明するためのフローチャート図である。図16において、クライアント5は、サーバ100からデータ32dを受信する(ステップS521)。
サーバ正当性判断部51は、サーバ100から受信したデータ32dのサーバ公開鍵証明書7k及び電子署名7eをチェックする(ステップS522)。チェック結果がエラーを示す場合、サーバ正当性判断部51は、エラー終了とする。
一方、チェック結果が正常を示す場合、更新部50は、証明書管理情報テーブル60において、現行世代クライアント公開鍵証明書6kに対して次世代クライアント公開鍵証明書6k'が登録されているか否かを判断する(ステップS523)。次世代クライアント公開鍵証明書6k'が登録済みの場合、更新部50は、図17のステップS526へと進む。
一方、次世代クライアント公開鍵証明書6k'が未登録の場合、更新部50は、次世代クライアント鍵ペア6p'を生成する(ステップS524)。そして、更新部50は、ステップS524で生成した次世代クライアント鍵ペア6p'に現行世代クライアント秘密鍵6bで作成した電子署名6eを付加する(ステップS525)。
図17において、一時鍵ペア生成部52は、一時クライアント鍵ペア4pを生成する(ステップS526)。そして、一時共通鍵生成部53は、一時クライアント秘密鍵4bと、サーバ100から受信したデータ32dの一時サーバ公開鍵2aとから一時共通鍵3mを生成する(ステップS527)。
そして、暗号化部54は、秘密データ33sと、ステップS254の電子署名付きの次世代クライアント公開鍵6a'からメッセージ1mを作成し、ステップS257で生成した一時共通鍵3mで暗号化する(ステップS528)。暗号化部54は、メッセージ1mにステップS256で生成した一時クライアント公開鍵4aを設定する(ステップS529)。
次に、電子署名付与部55は、メッセージ1mに対して現行世代クライアント秘密鍵6bで作成した電子署名6eと現行世代クライアント公開鍵証明書6を付加して、データ33dが作成される(ステップS530)。そして、データ33dが、クライアント5からサーバ100に送信される(ステップS531)。データ33dは、次世代クライアント公開鍵証明書6k'を取得するための要求データに相当する。
図18、図19、及び図20は、ステップ(III)及び(IV)におけるサーバでの処理を説明するためのフローチャート図である。図18において、サーバ100は、クライアント5からデータ33dを受信すると、正当性確認部81により現行世代クライアント公開鍵証明書6kの正当性を確認した後、復号部86は、受信したデータ33dの電子署名6eを現行世代クライアント公開鍵証明書6kにより検証する(ステップS121)。検証結果がエラーを示す場合、復号部86は、エラーメッセージを生成する(ステップS122)。サーバ100は、図20のステップS137へと進む。
一方、検証結果が正常を示す場合、一時共通鍵生成部85は、データ33dから取得した一時クライアント公開鍵4と、一時サーバ秘密鍵2bとから一時共通鍵3mを生成する(ステップS123)。
復号部86は、データ33dのメッセージ1m内の暗号化データを一時共通鍵3mで復号して、次世代クライアント公開鍵6a'を取得する(ステップS124)。
図19において、証明書管理部92は、証明書管理情報テーブル80から、データ33d内のメッセージ内の現行世代クライアント公開鍵証明書6kを示すレコードを検索する(ステップS125)。証明書IDがメッセージ1m内の現行世代クライアント公開鍵証明書6kと一致するレコードが検索される。証明書管理部92は、検索したレコードの受信回数をインクリメントする(ステップS126)。
そして、証明書管理部92は、メッセージ1m内に次世代クライアント公開鍵6a'が指定されているか否かを確認する(ステップS127)。次世代クライアント公開鍵6a'が指定されていない場合、証明書管理部92は、ステップS125で検索したレコードに次世代クライアント公開鍵証明書6k'が登録済みか否かを判断する(ステップS128)。
次世代クライアント公開鍵証明書6k'が未登録の場合、証明書管理部92は、エラーメッセージを生成する(ステップS129)。サーバ100は、図20のステップS136へと進む。この場合、エラーメッセージがメッセージ1mに相当する。一方、次世代クライアント公開鍵証明書6k'が登録済みの場合、サーバ100は図20のステップS135へと進む。
ステップS127において、メッセージ1m内に次世代クライアント公開鍵6a'が指定されてる場合、証明書管理部92は、ステップS125で検索したレコードの受信回数が規定値を超えているか否かを判断する(ステップS130)。受信回数が規定値を超えている場合、サーバ100は図20のステップS135へと進む。
一方、受信回数が規定値を超えていない場合、証明書管理部92は、ステップS125で検索したレコードの返信完了前送信数をインクリメントし、規定値を超えているか否かを確認する(ステップS131)。返信完了前送信回数が規定値を超えている場合、即ち、返信完了前送信回数が許容範囲外を示す場合、証明書管理部92は、エラーメッセージを生成する(ステップS132)。サーバ100は、図20のステップS136へと進む。この場合、エラーメッセージがメッセージ1mに相当する。
一方、返信完了前送信回数が規定値以下である場合、即ち、返信完了前送信回数が許容範囲内を示す場合、証明書管理部92は、次世代クライアント公開鍵6a'に対して次世代クライアント公開鍵証明書6k'を生成し、証明書管理情報テーブル80に登録する(ステップS133)。
そして、証明書管理部92は、ステップS133で生成した次世代クライアント公開鍵証明書6k'にサーバ秘密鍵7bによる電子署名7eを付加して、メッセージ1mに設定する(ステップS134)。サーバ100は、図20のステップS135へと進む。
図20にて、証明書管理部92において、ステップS128でYES、ステップS130でYES、又は、ステップS134に続いて、サーバ100は、サービス固有の処理を実行する(ステップS135)。サービス固有の処理の結果が秘密データ34sに相当する。秘密データ34sがメッセージ1mに設定される。
更新証明書暗号化部87は、ステップS129、ステップS132、又は、ステップS135によって得られたメッセージ1mを、一時共通鍵3mにより暗号化する(ステップS136)。
更に、更新証明書暗号化部87は、暗号化したメッセージ1mに、サーバ秘密鍵7bで生成した電子署名7eと、サーバ公開鍵証明書7kとを付加してデータ34dを作成する(ステップS137)。更新証明書暗号化部87は、作成したデータ34dをクライアント5へ送信する。エラーメッセージがクライアント5へ送信される場合には、データ34dのメッセージ1mには、次世代クライアント公開鍵証明書6k'は含まれない。
図21は、ステップ(IV)におけるクライアントでの処理を説明するためのフローチャート図である。図21において、クライアント5は、サーバ100から、ステップS531(図17)の要求に対して返信されたデータ34dを受信する(ステップS541)。
電子署名チェック部56は、データ34dの電子署名7eをチェックする(ステップS542)。復号部57は、データ34dのメッセー1mを一時共通鍵3mにより復号する(ステップS543)。
次に、更新部50は、データ34dのメッセージ1mに次世代クライアント公開鍵証明書6k'が有るか否かを確認する(ステップS544)。次世代クライアント公開鍵証明書6k'がない場合、クライアント5は、アプリケーション固有の処理を実行する(ステップS547)。
次に、長期間にわたり同一のクライアント公開鍵証明書6kを利用し続ける関連技術と、クライアント公開鍵証明書6kを短い期間でセキュアに更新可能な本実施例との比較を説明する。
図22(A)は、関連技術の場合を示し、図22(B)は、本実施例の場合を示す図である。図22(A)及び図22(B)において、右方向は、時間の経過の長さを表している。
図22(A)では、関連技術におけるクライアント公開鍵証明書1kを凡そ10年という長期にわたり利用した場合のリスクを示している。図22(A)において、時刻T0で、クライアント公開鍵証明書1kを利用開始する。
時刻T1から、第三者により、クライアント公開鍵証明書1kのクライアント秘密鍵1bの推定が開始される。第三者は、複数回にわたり通信を傍受し、長期間の推定により、時刻T25で、クライアント秘密鍵1bの推定に成功する。結果、第三者は、クライアント公開鍵証明書1k及びクライアント公開鍵1aを推定できる。
第三者は、推定に成功したクライアント公開鍵証明書1kを用いて、クライアント5になりすまして、クライアント5の秘密データ34sを不正利用することができる。
クライアント5のユーザ、及び、サーバ100の管理者は、なりすましを検出することが困難であるため、クライアント公開鍵証明書1kが、利用開始から5年、10年等の後に期限切れになるまで、第三者は、クライアント5の秘密データ34sを不正に利用し続けることができる。
図22(B)では、現行世代クライアント公開鍵証明書6kの推定が成功する可能性のある期間より十分に短い期間で、現行世代クライアント公開鍵証明書6kを更新する本実施例を適用した場合のリスクを示している。図22(B)では、第1世代から第4世代までの更新例を示している。
図22(B)において、クライアント5は、時刻T0で、第1世代クライアント公開鍵証明書61kの利用をクライアント秘密鍵61bを用いて開始する。時刻T2から、第三者は、クライアント秘密鍵61bの傍受及び推定を開始する。
第1世代クライアント公開鍵証明書61kの利用開始時(時刻T0)のクライアント5からの要求に応じて、サーバ100から、更新用の第2世代クライアント公開鍵証明書62kが一時共通鍵31mを用いた暗号化により転送される。時刻T3から、第三者は、一時共通鍵31mの傍受及び推定を行う。
第三者が推定可能な時刻T25より前の時刻T20で、クライアント5は、予め取得しておいた第2世代クライアント公開鍵証明書62kに切り替える。従って、第三者は、第1世代クライアント秘密鍵61bの推定に失敗する。
時刻T20で、クライアント5は、第1世代クライアント公開鍵証明書61kから第2世代クライアント公開鍵証明書62kへと更新し、第2世代クライアント公開鍵証明書62kの利用を開始することで、第三者は、一時共通鍵31mの推定を断念する。
第2世代クライアント公開鍵証明書62kの利用開始時(時刻T20)のクライアント5からの要求に応じて、サーバ100から、更新用の第3世代クライアント公開鍵証明書63kが一時共通鍵32mを用いた暗号化により転送される。時刻T23から、第三者は、一時共通鍵32mの傍受及び推定を行う。
時刻T30で、クライアント5は、予め取得しておいた第3世代クライアント公開鍵証明書63kに切り替える。従って、第三者は、第2世代クライアント秘密鍵62bの推定に失敗する。
時刻T30で、クライアント5は、第2世代クライアント公開鍵証明書62kから第3世代クライアント公開鍵証明書63kへと更新し、第3世代クライアント公開鍵証明書63kの利用を開始することで、第三者は、一時共通鍵32mの推定を断念する。
第3世代クライアント公開鍵証明書63kの利用開始時(時刻T30)のクライアント5からの要求に応じて、サーバ100から、更新用の第4世代クライアント公開鍵証明書64kが一時共通鍵33mを用いた暗号化により転送される。第三者は、一時共通鍵33mの傍受及び推定を行う。
時刻T40で、クライアント5は、予め取得しておいた第4世代クライアント公開鍵証明書64kに切り替える。従って、第三者は、第3世代クライアント秘密鍵63bの推定に失敗する。
時刻T40で、クライアント5は、第3世代クライアント公開鍵証明書63kから第4世代クライアント公開鍵証明書64kへと更新し、第4世代クライアント公開鍵証明書64kの利用を開始することで、第三者は、一時共通鍵33mの推定を断念する。
このように、第三者による暗号解読が成功する前に、一時共通鍵によりクライアント公開鍵証明書を更新することで、セキュアな通信を実現できる。
また、本実施例では、クライアント公開鍵証明書の更新に専用の暗号鍵及び復号鍵を、サーバ100によるサービス提供可能な期間において保持し続けることがない。したがって、クライアント5のなりすましによる不正な行為を防御することができる。
更に、クライアント5及びサーバ100における夫々の、一時鍵ペア4p及び2pの生成、及び、一時共通鍵mの生成は、ユーザの手間を不要とするため、更新毎にユーザに負担を掛けることがない。
本実施例では、クライアント5とサーバ100との間の相互認証のための次世代クライアント公開鍵証明書6k'をサーバ100側で更新できる。従って、クライアント5自体、或いは、一部を置き換えることがない。
また、クライアント5内で、次世代クライアント鍵ペア6p'が生成されるため、クライアント5に対して、相互認証のための次世代クライアント公開鍵証明書6k'と次世代クライアント秘密鍵6b'とをリモートで更新する等の処理を行うことがない。次世代クライアント秘密鍵6b'が傍受されるリスクを低減することができる。
したがって、現行世代クライアント公開鍵証明書6kに対する長期の攻撃をほぼ無意味とし、第三者によるクライアント5になりすます不正な行為を防ぐことができる。
本実施例では、サーバ100が、次世代クライアント公開鍵証明書6k'を発行するため、次世代クライアント公開鍵証明書6k'の期限を従来よりは短くすることができる。従って、現行世代クライアント秘密鍵6bが推定されるリスクを大幅に低減することができる。
第1に、現行世代クライアント公開鍵証明書6kに対する長期間にわたる推定に対抗するために、本実施例では、現行世代クライアント公開鍵証明書6kが使用されてからなるべく早い時期において、現行世代クライアント公開鍵証明書6kがクライアント5からサーバ100に送信されたタイミングで、サーバ100から次世代クライアント公開鍵証明書6k'をセキュアにクライアント5に返信する。
サーバ100からクライアント5へ次世代クライアント公開鍵証明書6k'を返信する時期は、サーバ100側でパラメータとして指定可能とする。パラメータにより、所定月数後の日時が指定されれば良い。
現行世代クライアント公開鍵証明書6kの期限が来たら、クライアント5は、現行世代クライアント公開鍵証明書6kから次世代クライアント公開鍵証明書6k'へと切り替えて、最初に次世代クライアント公開鍵証明書6k'を使用したタイミングからなるべく早い時期に,サーバ100から次々世代クライアント公開鍵証明書6k'をセキュアにクライアント5に返信する。従って、現行世代クライアント公開鍵6aが第三者に推定される前に、次世代クライアント公開鍵6a'に切り替えることが可能となる。
第2に、サーバ100からの次世代クライアント公開鍵証明書6k'の返信を阻害する行為に対して、サーバ100からの返信が届いていない状態でのクライアント5からの返信完了前送信回数をカウントし、予め定めた規定値を超えた場合、その次世代クライアント公開鍵証明書6k'を失効し、次世代クライアント公開鍵証明書6k'を使った要求を拒絶するように制御する。従って、不正な解析に対抗することができる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
2a 一時サーバ公開鍵 2b 一時サーバ秘密鍵
2p 一時サーバ鍵ペア
4a 一時クライアント公開鍵 4b 一時クライアント秘密鍵
4p 一時クライアント鍵ペア
6a 現行世代クライアント公開鍵 6b 現行世代クライアント秘密鍵
6p 現行世代クライアント鍵ペア 6k 次世代クライアント公開鍵証明書
6a' 次世代クライアント公開鍵 6b' 次世代クライアント秘密鍵
6p' 次世代クライアント鍵ペア 6k' 次世代クライアント公開鍵証明書
7a サーバ公開鍵 7b サーバ秘密鍵
7p サーバ鍵ペア 7k サーバ公開鍵証明書
11a、11b CPU
12a、12b 主記憶装置
13a 補助記憶装置
14a 入力装置
15a 表示装置
16b ユーザI/F
17a、17b 通信I/F
18a、18b ドライブ装置
19a、19b 記憶媒体
31d、32d、33d、33d−1、33d−2、34d データ
33s、34s 秘密データ
50 更新部 51 サーバ正当性判断部
52 一時鍵ペア生成部 53 一時共通鍵生成部
54 暗号化部 55 電子署名付与部
56 電子署名チェック部 57 復号部
59 エラー終了通知部
81 正当性確認部 82 電子署名チェック部
83 一時鍵ペア生成部 84 公開鍵暗号化部
85 一時共通鍵生成部 86 復号部
87 更新証明書暗号化部
90 管理部
91 検索部 92 証明書管理部

Claims (17)

  1. メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバに対し一時的に利用する一時サーバ公開鍵を要求し、
    一時的に利用する一時クライアント鍵ペアを生成し、該一時クライアント鍵ペアのうち一時クライアント秘密鍵と前記サーバから前記セキュアな通信により受信した前記一時サーバ公開鍵とで一時共通鍵を生成し、
    前記セキュアな通信において、前記一時クライアント秘密鍵とペアとなる一時クライアント公開鍵と、生成した前記一時共通鍵で暗号化した第2の公開鍵証明書に対応付けられるクライアント公開鍵とを、前記第1の公開鍵証明書を用い、前記第1の公開鍵証明書に対応する前記第1のクライアント秘密鍵による前記電子署名を付与して前記サーバへ送信することで、該第2の公開鍵証明書の発行要求を行い、
    前記サーバから、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を前記セキュアな通信により受領し、該一時共通鍵で該第2の公開鍵証明書を復号し、
    前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記セキュアな通信において、前記第2の公開鍵証明書に対応する第2のクライアント秘密鍵による電子署名をメッセージに付与して前記サーバと通信する
    処理をコンピュータに実行させる更新プログラム。
  2. 前記一時クライアント公開鍵を前記サーバに送信することで、該サーバとの間で一時共通鍵が共有され、前記第2の公開鍵証明書に対応付けられるクライアント公開鍵を送信することで、該サーバに前記第2の公開鍵証明書の発行要求を行うことを特徴とする請求項1記載の更新プログラム。
  3. 前記第2の公開鍵証明書の取得後においても、前記第1の公開鍵証明書は前記有効期限まで使用可能とし、該有効期限が過ぎたことにより該第2の公開鍵証明書へと切り替えられ前記サーバへ初めて送出たタイミングで、次の公開鍵証明書の発行要求を行う請求項1記載の更新プログラム。
  4. メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバに対し一時的に利用する一時サーバ公開鍵を要求し、
    一時的に利用する一時クライアント鍵ペアを生成し、該一時クライアント鍵ペアのうち一時クライアント秘密鍵と前記サーバから前記セキュアな通信により受信した前記一時サーバ公開鍵とで一時共通鍵を生成し、
    前記セキュアな通信において、前記一時クライアント秘密鍵とペアとなる一時クライアント公開鍵と、生成した前記一時共通鍵で暗号化した、第2の公開鍵証明書に対応付けられるクライアント公開鍵とをメッセージに含め、前記第1の公開鍵証明書を用い、前記第1の公開鍵証明書に対応する前記第1のクライアント秘密鍵による前記電子署名を付与して前記サーバへ送信することで、該第2の公開鍵証明書の発行要求を行い、
    前記サーバから、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を前記セキュアな通信により受領し、該一時共通鍵で該第2の公開鍵証明書を復号し、
    前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記セキュアな通信において、前記第2の公開鍵証明書に対応する第2のクライアント秘密鍵による電子署名をメッセージに付与して前記サーバと通信する
    処理をコンピュータが行う更新方法。
  5. プロセッサと、
    要求元及びデータの正当性の確認に用いられる第1の公開鍵証明書を記憶した記憶部と、
    を有する端末装置であって、
    前記プロセッサは、
    メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、前記第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバに対し一時的に利用する一時サーバ公開鍵を要求し、
    一時的に利用する一時クライアント鍵ペアを生成し、該一時クライアント鍵ペアのうち一時クライアント秘密鍵と前記サーバから前記セキュアな通信により受信した前記一時サーバ公開鍵とで一時共通鍵を生成し、
    前記セキュアな通信において、前記一時クライアント秘密鍵とペアとなる一時クライアント公開鍵と、生成した前記一時共通鍵で暗号化した、第2の公開鍵証明書に対応付けられるクライアント公開鍵とを、前記第1の公開鍵証明書を用い、前記第1の公開鍵証明書に対応する前記第1のクライアント秘密鍵による前記電子署名を付与して前記サーバへ送信することで、該第2の公開鍵証明書の発行要求を行い
    前記サーバから、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を前記セキュアな通信により受領し、該一時共通鍵で該第2の公開鍵証明書を復号し、
    前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記セキュアな通信において、前記第2の公開鍵証明書に対応する第2のクライアント秘密鍵による電子署名をメッセージに付与して前記サーバと通信する端末装置。
  6. データを送信したクライアントの正当性と、該データの正当性の確認に用いられる公開鍵証明書の管理プログラムであって、
    メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、一時的に利用する一時サーバ公開鍵を新たに生成し、前記クライアントに送信し、
    前記セキュアな通信により、前記クライアントから、前記第1の公開鍵証明書を用い、一時クライアント公開鍵と、前記一時サーバ公開鍵と一時クライアント秘密鍵から生成された一時共通鍵によって暗号化されたクライアント公開鍵とを含む第2の公開鍵証明書の発行要求を受信し、
    前記一時サーバ公開鍵とペアとなる一時サーバ秘密鍵と、前記クライアントから受信した前記一時クライアント公開鍵とで前記一時共通鍵を生成し、生成した該一時共通鍵を用いて前記クライアント公開鍵を復号し、
    前記セキュアな通信による前記クライアントからの第2の公開鍵証明書の発行要求に対して、復号した前記クライアント公開鍵を用いて該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する
    処理をコンピュータに実行させる管理プログラム。
  7. クライアント毎に、前記第1の公開鍵証明書と、該第1の公開鍵証明書を更新する前記第2の公開鍵証明書とを関連付けてテーブルに記憶する
    処理を前記コンピュータに実行させる請求項6記載の管理プログラム。
  8. 前記発行要求の回数をカウントし、該発行要求の回数が規定値を超えたら、不正な要求であると判断してエラーにする
    処理を前記コンピュータに実行させる請求項6記載の管理プログラム。
  9. 前記クライアントから、前記第2の公開鍵証明書に対応する、暗号化された前記クライアント公開鍵を受信し、
    前記クライアント公開鍵を前記一時共通鍵で復号し、
    復号された前記クライアント公開鍵に対して前記第2の公開鍵証明書を生成する
    処理を前記コンピュータに実行させる請求項6記載の管理プログラム。
  10. データを送信したクライアントの正当性と、データの正当性の確認に用いられる公開鍵証明書の管理方法であって、
    メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、一時的に利用する一時サーバ公開鍵を新たに生成し、前記クライアントに送信し、
    前記セキュアな通信により、前記クライアントから、前記第1の公開鍵証明書を用い、一時クライアント公開鍵と、前記一時サーバ公開鍵と一時クライアント秘密鍵から生成された一時共通鍵によって暗号化されたクライアント公開鍵とを含む第2の公開鍵証明書の発行要求を受信し、
    前記一時サーバ公開鍵とペアとなる一時サーバ秘密鍵と、前記クライアントから受信した前記一時クライアント公開鍵とで前記一時共通鍵を生成し、生成した該一時共通鍵を用いて前記クライアント公開鍵を復号し、
    前記セキュアな通信による前記クライアントからの第2の公開鍵証明書の発行要求に対して、復号した前記クライアント公開鍵を用いて該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する
    処理をコンピュータが行う管理方法。
  11. プロセッサと、
    データを送信したクライアントの正当性と、該データの正当性の確認に用いられる第1の公開鍵証明書を記憶する記憶部とを有するサーバであって、
    前記プロセッサは、
    メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、一時的に利用する一時サーバ公開鍵を新たに生成し、前記クライアントに送信し、
    前記セキュアな通信により、前記クライアントから、前記第1の公開鍵証明書を用い、一時クライアント公開鍵と、前記一時サーバ公開鍵と一時クライアント秘密鍵から生成された一時共通鍵によって暗号化されたクライアント公開鍵とを含む第2の公開鍵証明書の発行要求を受信し、
    前記一時サーバ公開鍵とペアとなる一時サーバ秘密鍵と、前記クライアントから受信した前記一時クライアント公開鍵とで前記一時共通鍵を生成し、生成した該一時共通鍵を用いて前記クライアント公開鍵を復号し、
    前記セキュアな通信により、前記クライアントからの第2の公開鍵証明書の発行要求に対して、復号した前記クライアント公開鍵を用いて該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する
    処理を実行するサーバ。
  12. メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバとでそれぞれの一時公開鍵を交換し、クライアントの一時秘密鍵と該サーバの一時公開鍵とで一時共通鍵を生成し、
    前記セキュアな通信において、前記サーバに対し、前記第1の公開鍵証明書を用い、生成した前記一時共通鍵で暗号化したクライアント公開鍵を含む第2の公開鍵証明書の発行要求を行い、
    前記セキュアな通信において、前記クライアント公開鍵を用いて生成され、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を受領し、
    前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記セキュアな通信において、前記一時共通鍵で復号した前記第2の公開鍵証明書に対応する第2のクライアント秘密鍵による電子署名をメッセージに付与して前記サーバとセキュアな通信を行う
    処理をコンピュータに実行させる更新プログラム。
  13. メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバとでそれぞれの一時公開鍵を交換し、クライアントの一時秘密鍵と該サーバの一時公開鍵とで一時共通鍵を生成し、
    前記セキュアな通信において、前記サーバに対し、前記第1の公開鍵証明書を用い、生成した前記一時共通鍵で暗号化したクライアント公開鍵を含む第2の公開鍵証明書の発行要求を行い、
    前記セキュアな通信において、前記クライアント公開鍵を用いて生成され、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を受領し、
    前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記一時共通鍵で復号した前記第2の公開鍵証明書を用いて前記サーバとセキュアな通信を行う
    処理をコンピュータが行う更新方法。
  14. プロセッサと、
    要求元及びデータの正当性の確認に用いられる第1の公開鍵証明書を記憶した記憶部と、
    を有する端末装置であって、
    前記プロセッサは、
    メッセージを暗号化して送受信するサーバとのセキュアな通信において、暗号化された該メッセージに対して、前記第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該サーバへの接続のときに、該サーバとでそれぞれの一時公開鍵を交換し、クライアントの一時秘密鍵と該サーバの一時公開鍵とで一時共通鍵を生成し、
    前記セキュアな通信において、前記サーバに対し、前記第1の公開鍵証明書を用い、生成した前記一時共通鍵で暗号化したクライアント公開鍵を含む第2の公開鍵証明書の発行要求を行い、
    前記セキュアな通信において、前記クライアント公開鍵を用いて生成され、前記一時共通鍵で暗号化された前記第2の公開鍵証明書を受領し、
    前記第1の公開鍵証明書の有効期限が過ぎた場合は、前記一時共通鍵で復号した前記第2の公開鍵証明書を用いて前記サーバとセキュアな通信を行う端末装置。
  15. データを送信したクライアントの正当性と、該データの正当性の確認に用いられる公開鍵証明書の管理プログラムであって、
    メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、該クライアントとでそれぞれの一時公開鍵を交換し、サーバの一時秘密鍵と該クライアントの一時公開鍵とで一時共通鍵を生成し、
    前記クライアントからの、前記第1の公開鍵証明書を用い、該クライアントの一時秘密鍵と前記サーバの一時公開鍵とで生成した一時共通鍵で暗号化されたクライアント公開鍵を含む第2の公開鍵証明書の発行要求に対して、前記サーバの一時秘密鍵と該クライアントの一時公開鍵とで生成した前記一時共通鍵で該クライアント公開鍵を復元して、該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する
    処理をコンピュータに実行させる管理プログラム。
  16. データを送信したクライアントの正当性と、データの正当性の確認に用いられる公開鍵証明書の管理方法であって、
    メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、該クライアントとでそれぞれの一時公開鍵を交換し、サーバの一時秘密鍵と該クライアントの一時公開鍵とで一時共通鍵を生成し、
    前記クライアントからの、前記第1の公開鍵証明書を用い、該クライアントの一時秘密鍵と前記サーバの一時公開鍵とで生成した一時共通鍵で暗号化されたクライアント公開鍵を含む第2の公開鍵証明書の発行要求に対して、前記サーバの一時秘密鍵と該クライアントの一時公開鍵とで生成した前記一時共通鍵で該クライアント公開鍵を復元して、該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する
    処理をコンピュータが行う管理方法。
  17. プロセッサと、
    データを送信したクライアントの正当性と、該データの正当性の確認に用いられる第1の公開鍵証明書を記憶する記憶部とを有するサーバであって、
    前記プロセッサは、
    メッセージを暗号化して送受信する前記クライアントとのセキュアな通信において、暗号化された該メッセージに対して、第1の公開鍵証明書に対応する第1のクライアント秘密鍵による電子署名を付与し、有効期限付きの該第1の公開鍵証明書を初めて用いた、該クライアントからの接続のときに、該クライアントとでそれぞれの一時公開鍵を交換し、サーバの一時秘密鍵と該クライアントの一時公開鍵とで一時共通鍵を生成し、
    前記クライアントからの、前記第1の公開鍵証明書を用い、該クライアントの一時秘密鍵と前記サーバの一時公開鍵とで生成した一時共通鍵で暗号化されたクライアント公開鍵を含む第2の公開鍵証明書の発行要求に対して、前記サーバの一時秘密鍵と該クライアントの一時公開鍵とで生成した前記一時共通鍵で該クライアント公開鍵を復元して、該第2の公開鍵証明書を生成し、該第2の公開鍵証明書を前記一時共通鍵で暗号化して該クライアントに送信する
    処理を実行するサーバ。
JP2016528666A 2014-06-16 2014-06-16 更新プログラム及び方法、及び、管理プログラム及び方法 Expired - Fee Related JP6573880B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/065903 WO2015193945A1 (ja) 2014-06-16 2014-06-16 更新プログラム及び方法、及び、管理プログラム及び方法

Publications (2)

Publication Number Publication Date
JPWO2015193945A1 JPWO2015193945A1 (ja) 2017-04-20
JP6573880B2 true JP6573880B2 (ja) 2019-09-11

Family

ID=54934978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016528666A Expired - Fee Related JP6573880B2 (ja) 2014-06-16 2014-06-16 更新プログラム及び方法、及び、管理プログラム及び方法

Country Status (3)

Country Link
US (1) US10708047B2 (ja)
JP (1) JP6573880B2 (ja)
WO (1) WO2015193945A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916567B1 (en) * 2013-03-15 2018-03-13 Vantiv, Llc Systems, methods and apparatus for payment terminal management
CN106789018B (zh) * 2016-12-20 2019-10-08 百富计算机技术(深圳)有限公司 密钥远程获取方法和装置
CN108667609B (zh) * 2017-04-01 2021-07-20 西安西电捷通无线网络通信股份有限公司 一种数字证书管理方法及设备
JP6644037B2 (ja) * 2017-09-08 2020-02-12 株式会社東芝 通信制御システム
CN109905243B (zh) * 2017-12-11 2022-06-03 航天信息股份有限公司 一种处理数字证书更新请求的方法及服务器
JP6907111B2 (ja) * 2017-12-28 2021-07-21 株式会社日立製作所 電子証明書管理システムおよび電子証明書管理方法
US10715338B2 (en) * 2018-02-21 2020-07-14 Microsoft Technology Licensing, Llc Management of public key certificates within a distributed architecture
JP6952661B2 (ja) * 2018-08-30 2021-10-20 株式会社東芝 情報処理装置、通信機器、情報処理システム、情報処理方法、および情報処理プログラム
US11611430B2 (en) * 2019-04-15 2023-03-21 Axell Corporation Arithmetic apparatus, arithmetic system and arithmetic method
EP3866428B1 (en) * 2020-02-13 2021-12-29 Axis AB A method for re-provisioning a digital security certificate and a system and a non-transitory computer program product thereof
US11244525B2 (en) * 2020-03-02 2022-02-08 International Business Machines Corporation Authentication security
JP7254753B2 (ja) * 2020-09-18 2023-04-10 株式会社東芝 システムおよびサーバ装置
JP7687031B2 (ja) * 2021-04-14 2025-06-03 Toppanホールディングス株式会社 通信システム、通信方法及びプログラム
CN113346998B (zh) * 2021-08-06 2021-10-15 苏州浪潮智能科技有限公司 密钥更新及文件共享方法、装置、设备、计算机存储介质
US12585754B2 (en) 2022-06-14 2026-03-24 Microsoft Technology Licensing, Llc Trusted root recovery

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657390A (en) 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
JP2001111538A (ja) 1999-10-05 2001-04-20 Dainippon Printing Co Ltd 通信システムとその方法、通信装置およびicカード
JP2001320356A (ja) 2000-02-29 2001-11-16 Sony Corp 公開鍵系暗号を使用したデータ通信システムおよびデータ通信システム構築方法
JP2002297548A (ja) 2001-03-30 2002-10-11 Matsushita Electric Ind Co Ltd 端末登録システムとそれを構成する装置及び方法
JP3933999B2 (ja) 2002-06-13 2007-06-20 セイコープレシジョン株式会社 デジタル証明書発行システム及びそのシステムプログラム
US8015399B2 (en) * 2003-09-30 2011-09-06 Ricoh Company, Ltd. Communication apparatus, communication system, certificate transmission method and program
JP4284198B2 (ja) 2004-01-16 2009-06-24 日本電信電話株式会社 公開鍵証明書の更新方法および装置
JP4671783B2 (ja) 2004-07-20 2011-04-20 株式会社リコー 通信システム
US8615653B2 (en) * 2004-09-01 2013-12-24 Go Daddy Operating Company, LLC Methods and systems for dynamic updates of digital certificates via subscription
US8181017B2 (en) * 2004-10-22 2012-05-15 Nds Limited Certificate renewal
US8195945B2 (en) * 2005-12-01 2012-06-05 Sony Mobile Communications Ab Secure digital certificate storing scheme for flash memory and electronic apparatus
JP2007329731A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd 証明書更新方法、システム及びプログラム
JP4787730B2 (ja) * 2006-12-22 2011-10-05 Necインフロンティア株式会社 無線lan端末及び無線lanシステム
US7822976B2 (en) * 2007-03-08 2010-10-26 Kinghood Technology Co., Ltd. Network data security system and protecting method thereof
JP5002419B2 (ja) * 2007-11-08 2012-08-15 キヤノン株式会社 記録装置、記録方法
US8826006B2 (en) * 2008-10-31 2014-09-02 Motorola Solutions, Inc. Method and device for enabling a trust relationship using an unexpired public key infrastructure (PKI) certificate
US8423761B2 (en) * 2008-10-31 2013-04-16 Motorola Solutions, Inc. Method and device for enabling a trust relationship using an expired public key infrastructure (PKI) certificate
US9319300B2 (en) * 2008-12-09 2016-04-19 Glue Networks, Inc. Systems and methods for determining endpoint configurations for endpoints of a virtual private network (VPN) and deploying the configurations to the endpoints
CN101521883B (zh) * 2009-03-23 2011-01-19 中兴通讯股份有限公司 一种数字证书的更新和使用方法及系统
US9680819B2 (en) * 2009-12-23 2017-06-13 Symantec Corporation Method and system for co-termination of digital certificates
JP5576985B2 (ja) * 2011-07-15 2014-08-20 株式会社日立製作所 署名に用いる暗号アルゴリズムの決定方法、検証サーバおよびプログラム
JP2013179419A (ja) * 2012-02-28 2013-09-09 Ricoh Co Ltd ネットワークシステム、証明書管理方法及び証明書管理プログラム
US8856514B2 (en) * 2012-03-12 2014-10-07 International Business Machines Corporation Renewal processing of digital certificates in an asynchronous messaging environment
US8966260B1 (en) * 2013-01-30 2015-02-24 Palo Alto Networks, Inc. Credentials management in large scale virtual private network deployment
US20140379596A1 (en) * 2013-06-23 2014-12-25 Cisco Technology, Inc. Cloud-based auditing and management of licenses to use computer products
US9332003B2 (en) * 2014-03-20 2016-05-03 Symantec Corporation Systems and methods for discovering website certificate information
US9467442B2 (en) * 2014-05-23 2016-10-11 Symantec Corporation Automated step-up digital certificate installation process

Also Published As

Publication number Publication date
US20170093570A1 (en) 2017-03-30
JPWO2015193945A1 (ja) 2017-04-20
WO2015193945A1 (ja) 2015-12-23
US10708047B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
JP6573880B2 (ja) 更新プログラム及び方法、及び、管理プログラム及び方法
US12143476B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
JP7364674B2 (ja) 安全な無線ファームウェアアップグレード
JP5815525B2 (ja) 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
JP5201716B2 (ja) 暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム
TWI507006B (zh) 在一次往返中的金鑰認證
JP5136012B2 (ja) データ送付方法
US9124561B2 (en) Method of transferring the control of a security module from a first entity to a second entity
US20060129847A1 (en) Methods and systems for providing a secure data distribution via public networks
US20110138177A1 (en) Online public key infrastructure (pki) system
BR112017017425B1 (pt) Meio de armazenamento legível por computador não transitório configurado para armazenar instruções de método e processo implementado por computador
JP2006060779A (ja) 証明書送信装置、通信システム、証明書送信方法、プログラム及び記録媒体
EP2954639A1 (en) Method and apparatus for embedding secret information in digital certificates
EP4096147A1 (en) Secure enclave implementation of proxied cryptographic keys
EP4096160B1 (en) Shared secret implementation of proxied cryptographic keys
WO2019239591A1 (ja) 認証システム、認証方法、アプリケーション提供装置、認証装置、及び認証用プログラム
EP4145763B1 (en) Exporting remote cryptographic keys
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
KR20090084545A (ko) Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
JP5012574B2 (ja) 共通鍵自動共有システム及び共通鍵自動共有方法
US20080091947A1 (en) Software registration system
US20230376574A1 (en) Information processing device and method, and information processing system
JP2013223171A (ja) 公開鍵認証基盤統制システム、認証局サーバ、利用者端末、公開鍵認証基盤統制方法、およびプログラム
WO2015173900A1 (ja) 認証局管理方法、ネットワーク装置およびプログラム
JP2010245712A (ja) Id有効性管理装置及び通信装置及びid有効性管理方法及びデータ処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170911

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180518

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180525

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190814

R150 Certificate of patent or registration of utility model

Ref document number: 6573880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees