JP5324813B2 - 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム - Google Patents

鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム Download PDF

Info

Publication number
JP5324813B2
JP5324813B2 JP2008116706A JP2008116706A JP5324813B2 JP 5324813 B2 JP5324813 B2 JP 5324813B2 JP 2008116706 A JP2008116706 A JP 2008116706A JP 2008116706 A JP2008116706 A JP 2008116706A JP 5324813 B2 JP5324813 B2 JP 5324813B2
Authority
JP
Japan
Prior art keywords
key
certificate
public key
secret key
generated
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
JP2008116706A
Other languages
English (en)
Other versions
JP2009267900A (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.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2008116706A priority Critical patent/JP5324813B2/ja
Publication of JP2009267900A publication Critical patent/JP2009267900A/ja
Application granted granted Critical
Publication of JP5324813B2 publication Critical patent/JP5324813B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、サービスの提供に用いられる鍵生成装置、証明書生成装置、鍵生成方法、証明書生成方法および生成された鍵と証明書を用いたサービス提供システム、サービス提供方法およびプログラムに関する。
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスでは、利用者を認証するためや、データを秘匿するために様々な暗号方式が使用されている。また、暗号化の一方式である公開鍵暗号については、公開鍵暗号・署名技術の電子署名、暗号化への利用のため、公開鍵の所有者を認証し、公開鍵証明書を発行する認証基盤(PKI)の標準化・実用化が進んでいる。
ここで、公開鍵暗号については、鍵生成時において、利用者のバイオメトリクス情報Bを求め、秘密情報Rを求め、バイオメトリクス情報Bと秘密情報Rを用いて公開鍵暗号の秘密鍵SKを生成し、本人性を認証する際に、秘密情報Rと利用者の第1のバイオメトリクス情報Bを用いて生成されたRSA公開鍵方式における秘密鍵SKについて、利用者の第2のバイオメトリクス情報B’を求め、第2のバイオメトリクス情報B’を用いて、秘密鍵SKが、秘密情報Rと第1のバイオメトリクス情報Bから生成されたことを検証することにより、認証局で発行する公開鍵証明書の信頼性を高める技術が知られている(例えば、特許文献1参照。)。
特開2003−323116号公報
しかしながら、一般に安全性と利便性はトレードオフの関係にあり、1つの方式がすべての機器に、適しているとは限らない。特に公開鍵暗号は、鍵長によって大きく処理時間が異なるため、要求条件に合わせて適切な長さの鍵を使用することが望ましいが、既存のPKIにおいては、公開鍵証明書を事前発行しなければならないため、常に、鍵長が固定された公開鍵と秘密鍵のペアを生成して使用していた。
そこで、本発明は、ユーザの単一の秘密鍵から、複数の秘密鍵と対応する公開鍵を複数生成し、その公開鍵を証明書内に格納することで、サービスの要求するセキュリティレベルに合わせて使用する鍵長を可変にする鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラムを提供することを目的とする。
本発明は、上述の課題を解決するために、以下の事項を提案している。
(1)本発明は、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する入力手段と、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する部分秘密鍵生成手段と、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する秘密鍵生成手段と、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する公開鍵生成手段と、を備えたことを特徴とする鍵生成装置を提案している。
この発明によれば、入力手段は、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する。部分秘密鍵生成手段は、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。秘密鍵生成手段は、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する。公開鍵生成手段は、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。したがって、ユーザが、ただ1つのマスター秘密鍵を管理し、通常使用する秘密鍵は、任意の鍵長で、動的に生成することができる。
(2)本発明は、(1)の鍵生成装置について、同一の鍵長の秘密鍵、公開鍵を複数生成する場合に、インデックス番号を前記入力手段に入力することを特徴とする鍵生成装置を提案している。
この発明によれば、同一の鍵長の秘密鍵、公開鍵を複数生成する場合に、インデックス番号を入力手段に入力することから、仮に部分秘密鍵が第三者に露見しても、マスター秘密鍵のセキュリティを保つことができる。
(3)本発明は、(1)または(2)の鍵生成装置について、前記一方向性関数がハッシュ関数であることを特徴とする鍵生成装置を提案している。
この発明によれば、一方向性関数がハッシュ関数であることから高速な演算処理を実現することができる。
(4)本発明は、(1)または(2)の鍵生成装置について、前記入力手段、前記部分秘密鍵生成手段、前記秘密鍵生成手段を耐タンパデバイス内に設けたことを特徴とする鍵生成装置を提案している。
この発明によれば、入力手段、部分秘密鍵生成手段、秘密鍵生成手段を耐タンパデバイス内に設けたことから、マスター秘密鍵を保護しつつ、高速な暗号処理を実現することができる。
(5)本発明は、()から(4)の鍵生成装置が生成した公開鍵を入力する公開鍵入力手段と、該入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出するハッシュ値算出手段と、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う署名手段と、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する格納手段と、を備えたことを特徴とする証明書生成装置を提案している。
この発明によれば、公開鍵入力手段は、鍵生成装置が生成した公開鍵を入力する。ハッシュ値算出手段は、入力した公開鍵をハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する。署名手段は、認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値とを結合して、認証局サーバが保有する秘密鍵で署名を行う。格納手段は、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納する。したがって、公開鍵証明書の署名が、各公開鍵のハッシュ値と、その他の情報のハッシュ値を連結した値に対して計算するため、個々の公開鍵の開示/非開示を制御できる。
(6)本発明は、鍵生成装置と証明書生成装置と、サービス提供者が運営するサービス提供サーバとからなるサービス提供システムであって、前記鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する入力手段と、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する部分秘密鍵生成手段と、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する秘密鍵生成手段と、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する公開鍵生成手段と、を備え、前記証明書生成装置が、前記鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出するハッシュ値算出手段と、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う署名手段と、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する格納手段と、前記公開鍵証明書をユーザ端末に送信する公開鍵証明書送信手段と、を備え、前記サービス提供サーバが、前記ユーザ端末から前記公開鍵証明書を受信する受信手段と、該受信した公開鍵証明書の正当性を検証する検証手段と、前記ユーザ端末に送付するデータを、前記サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する暗号化手段と、該暗号化したデータと前記選択した公開鍵の情報を前記ユーザ端末に送信するデータ送信手段と、を備え、前記ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、該生成した秘密鍵によりデータを復号化することを特徴とするサービス提供システムを提案している。
この発明によれば、鍵生成装置の入力手段は、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する。部分秘密鍵生成手段は、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。秘密鍵生成手段は、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する。公開鍵生成手段は、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。証明書生成装置のハッシュ値算出手段は、鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する。署名手段は、認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値とを結合して、認証局サーバが保有する秘密鍵で署名を行う。格納手段は、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納する。サービス提供サーバの受信手段は、ユーザ端末から公開鍵証明書を受信する。検証手段は、受信した公開鍵証明書の正当性を検証する。暗号化手段は、ユーザ端末に送付するデータを、サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する。データ送信手段は、暗号化したデータと選択した公開鍵の情報をユーザ端末に送信する。そして、ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、生成した秘密鍵によりデータを復号化する。したがって、複数の鍵長の異なる公開鍵、秘密鍵を求められるセキュリティレベルに応じて使い分けることで効率的な暗号処理を実現することができる。また、複数の公開鍵・秘密鍵をサービスごとに使い分けることで、安全性を強化したり、署名レベルをコントロールすることができる。
(7)本発明は、入力手段、部分秘密鍵生成手段、秘密鍵生成手段、および公開鍵生成手段を備える鍵生成装置が、サービスの提供に用いる鍵を任意の鍵長で生成する鍵生成方法であって、前記入力手段が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、前記部分秘密鍵生成手段が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、前記秘密鍵生成手段が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、前記公開鍵生成手段が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、を備えたことを特徴とする鍵生成方法を提案している。
この発明によれば、入力手段が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力し、部分秘密鍵生成手段が、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。そして、秘密鍵生成手段が、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成し、公開鍵生成手段が、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。したがって、ユーザが、ただ1つのマスター秘密鍵を管理し、通常使用する秘密鍵は、任意の鍵長で、動的に生成することができる。
(8)本発明は、公開鍵入力手段、ハッシュ値算出手段、署名手段、および格納手段を備える証明書生成装置が、(7)により生成された鍵に基づいて、証明書を生成する証明書生成方法であって、前記公開鍵入力手段が、(7)により生成された公開鍵を入力する第1のステップと、前記ハッシュ値算出手段が、該入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第2のステップと、前記署名手段が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第3のステップと、前記格納手段が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第4のステップと、を備えたことを特徴とする証明書生成方法を提案している。
この発明によれば、公開鍵入力手段が、鍵生成装置により生成された公開鍵を入力し、ハッシュ値算出手段が、入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する。署名手段が、認証局サーバ保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行う。そして、格納手段が、公開鍵証明書に、証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する。したがって、公開鍵証明書の署名が、各公開鍵のハッシュ値と、その他の情報のハッシュ値を連結した値に対して計算するため、個々の公開鍵の開示/非開示を制御できる。
(9)本発明は、鍵生成装置と証明書生成装置と、サービス提供者が運営するサービス提供サーバとからなるサービス提供システムにおけるサービス提供方法であって、前記鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、前記鍵生成装置が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、前記鍵生成装置が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、前記鍵生成装置が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、前記証明書生成装置が、前記鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する第5のステップと、前記証明書生成装置が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第6のステップと、前記証明書生成装置が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第7のステップと、前記証明書生成装置が、前記公開鍵証明書をユーザ端末に送信する第8のステップと、前記サービス提供サーバが、前記ユーザ端末から前記公開鍵証明書を受信する第9のステップと、前記サービス提供サーバが、該受信した公開鍵証明書の正当性を検証する第10のステップと、前記サービス提供サーバが、前記ユーザ端末に送付するデータを、前記サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する第11のステップと、前記サービス提供サーバが、該暗号化したデータと前記選択した公開鍵の情報を前記ユーザ端末に送信する第12のステップと、前記ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、該生成した秘密鍵によりデータを復号化する第13のステップと、を備えることを特徴とするサービス提供方法を提案している。
この発明によれば、鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力し、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。そして、鍵生成装置が、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成し、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。一方、証明書生成装置は、鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出し、認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行う。そして、証明書生成装置は、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納し、公開鍵証明書をユーザ端末に送信する。サービス提供サーバは、ユーザ端末から公開鍵証明書を受信し、受信した公開鍵証明書の正当性を検証する。サービス提供サーバは、ユーザ端末に送付するデータを、サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化し、暗号化したデータと選択した公開鍵の情報をユーザ端末に送信する、そして、ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、生成した秘密鍵によりデータを復号化する。したがって、複数の鍵長の異なる公開鍵、秘密鍵を求められるセキュリティレベルに応じて使い分けることで効率的な暗号処理を実現することができる。また、複数の公開鍵・秘密鍵をサービスごとに使い分けることで、安全性を強化したり、署名レベルをコントロールすることができる。
(10)本発明は、入力手段、部分秘密鍵生成手段、秘密鍵生成手段、および公開鍵生成手段を備え、サービスの提供に用いる鍵を任意の鍵長で生成する鍵生成装置における鍵生成方法をコンピュータに実行させるためのプログラムであって、前記入力手段が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、前記部分秘密鍵生成手段が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、前記秘密鍵生成手段が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、前記公開鍵生成手段が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、入力手段が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力し、部分秘密鍵生成手段が、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。そして、秘密鍵生成手段が、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成し、公開鍵生成手段が、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。したがって、ユーザが、ただ1つのマスター秘密鍵を管理し、通常使用する秘密鍵は、任意の鍵長で、動的に生成することができる。
(11)本発明は、公開鍵入力手段、ハッシュ値算出手段、署名手段、および格納手段を備え、(10)により生成された鍵に基づいて、証明書を生成する証明書生成装置における証明書生成方法をコンピュータに実行させるためのプログラムであって、前記公開鍵入力手段が、(10)により生成された公開鍵を入力する第1のステップと、前記ハッシュ値算出手段が、該入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第2のステップと、前記署名手段が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第3のステップと、前記格納手段が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第4のステップと、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、公開鍵入力手段が、鍵生成装置により生成された公開鍵を入力し、ハッシュ値算出手段が、入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する。署名手段が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行う。そして、格納手段が、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納する。したがって、公開鍵証明書の署名が、各公開鍵のハッシュ値と、その他の情報のハッシュ値を連結した値に対して計算するため、個々の公開鍵の開示/非開示を制御できる。
(12)本発明は、鍵生成装置と証明書生成装置と、サービス提供者が運営するサービス提供サーバとからなるサービス提供システムにおけるサービス提供方法をコンピュータに実行させるためのプログラムであって、前記鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、前記鍵生成装置が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、前記鍵生成装置が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、前記鍵生成装置が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、前記証明書生成装置が、前記鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第5のステップと、前記証明書生成装置が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第6のステップと、前記証明書生成装置が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第7のステップと、前記証明書生成装置が、前記公開鍵証明書をユーザ端末に送信する第8のステップと、前記サービス提供サーバが、前記ユーザ端末から前記公開鍵証明書を受信する第9のステップと、前記サービス提供サーバが、該受信した公開鍵証明書の正当性を検証する第10のステップと、前記サービス提供サーバが、前記ユーザ端末に送付するデータを、前記サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する第11のステップと、前記サービス提供サーバが、該暗号化したデータと前記選択した公開鍵の情報を前記ユーザ端末に送信する第12のステップと、前記ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、該生成した秘密鍵によりデータを復号化する第13のステップと、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力し、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。そして、鍵生成装置が、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成し、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。一方、証明書生成装置は、鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出し、認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行う。そして、証明書生成装置が、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納し、公開鍵証明書をユーザ端末に送信する。サービス提供サーバは、ユーザ端末から公開鍵証明書を受信し、受信した公開鍵証明書の正当性を検証する。サービス提供サーバが、ユーザ端末に送付するデータを、サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化し、暗号化したデータと選択した公開鍵の情報をユーザ端末に送信する、そして、ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、生成した秘密鍵によりデータを復号化する。したがって、複数の鍵長の異なる公開鍵、秘密鍵を求められるセキュリティレベルに応じて使い分けることで効率的な暗号処理を実現することができる。また、複数の公開鍵・秘密鍵をサービスごとに使い分けることで、安全性を強化したり、署名レベルをコントロールすることができる。
本発明によれば、個々のサービスにおいて最適な鍵長で暗号処理ができるようになり、処理時間の短縮による利便性の向上を図れるとともに、適切なセキュリティ対策が可能となるという効果がある。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
図1から図7を用いて、本発明に係るサービス提供システムについて、詳細に説明する。
<サービス提供システムの構成>
本実施形態に係るサービス提供システムは、図1に示すように、鍵生成装置1と、証明書生成装置2と、認証局サーバ3と、ユーザ端末4と、サービス提供サーバ5と、ネットワーク6とから構成されている。
鍵生成装置1は、ユーザが管理するマスター秘密鍵から、通常使用する任意の鍵長の秘密鍵を動的に生成する。証明書生成装置2は、鍵生成装置1が生成した複数の公開鍵、それら公開鍵のハッシュ値を格納するとともに、鍵生成装置1が生成した複数の公開鍵のハッシュ値および認証局サーバ3が保持する証明書情報のハッシュ値を連結して、認証局サーバ3が保持する秘密鍵により行った署名を格納して、証明書を生成する。
認証局サーバ3は、証明書情報および署名に用いる秘密鍵を保持する。ユーザ端末4は、証明書生成装置2から公開鍵証明書を受信するとともに、受信した公開鍵証明書をサービス提供サーバ5にネットワーク6を介して、送信する。
サービス提供サーバ5は、ユーザ端末4から公開鍵証明書を受信し、受信した公開鍵証明書の正当性を検証する。そして、ユーザ端末4に送付するデータを、セキュリティレベルに合わせて選択された公開鍵で暗号化し、暗号化したデータと選択した公開鍵の情報をユーザ端末4に送信する。
<鍵生成装置の構成>
図2を用いて、本実施形態に係る鍵生成装置の構成について説明する。
本実施形態に係る鍵生成装置は、図2に示すように、入力部11と、部分秘密鍵生成部12と、秘密鍵生成部13と、公開鍵生成部14とから構成されている。
入力部11は、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)、インデックス値とを入力する。部分秘密鍵生成部12は、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長と、インデックス値とをハッシュ関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長と、インデックス値と、直前に生成された部分秘密鍵とをハッシュ関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する。
なお、秘密鍵の動的生成処理が、ハッシュ関数のみで構成されていることから、高速な演算を実現することができる。また、入力部11、部分秘密鍵生成部12、秘密鍵生成部13を耐タンパデバイス内に格納すれば、マスター秘密鍵を保護しつつ、高速な暗号処理を実現することができる。
秘密鍵生成部13は、部分秘密鍵生成部12において、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する。公開鍵生成部14は、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する。なお、生成された公開鍵は、証明書生成装置2に送信される。
<証明書生成装置の構成>
図3を用いて、本実施形態に係る証明書生成装置の構成について説明する。
本実施形態に係る証明書生成装置は、図3に示すように、ハッシュ値算出部21a、21b、21cと、署名部22とから構成されている。
ハッシュ値算出部21a、21b、21cは、鍵生成装置から入力した公開鍵と、認証局サーバ3が保持する証明書情報をハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する。なお、ハッシュ値を算出する処理については、認証局サーバ3で実行してもよい。
署名部22は、認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行う。なお、証明書生成装置は、認証局サーバ3が保有する公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納するために、これらの情報を送信する。
<サービス提供サーバの構成>
図4を用いて、本実施形態に係るサービス提供サーバの構成について説明する。
本実施形態に係るサービス提供サーバは、図4に示すように、受信部31と、検証部32と、暗号化部33と、送信部34とから構成されている。
受信部31は、ユーザ端末4から公開鍵証明書を受信する。検証部32は、受信した公
開鍵証明書の正当性を検証する。暗号化部33は、ユーザ端末4に送付するデータを、サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する。送信部34は、暗号化したデータと選択した公開鍵の情報をユーザ端末4に送信する。
<鍵生成装置の処理>
図5を用いて、本実施形態に係る鍵生成装置の処理について説明する。まず、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力し(ステップS101)、入力したマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する(ステップS102)。
生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成し(ステップS103)、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する(ステップS104)。
したがって、ユーザが、ただ1つのマスター秘密鍵を管理し、通常使用する秘密鍵は、任意の鍵長で、動的に生成することができる。
<証明書生成装置の処理>
図6を用いて、本実施形態に係る証明書生成装置の処理について説明する。
まず、鍵生成装置により生成された公開鍵を入力し(ステップS201)、入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出する(ステップS202)。
認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行い(ステップS203)、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納する(ステップS204)。
したがって、公開鍵証明書の署名が、各公開鍵のハッシュ値と、その他の情報のハッシュ値を連結した値に対して計算するため、個々の公開鍵の開示/非開示を制御できる。
<サービス提供システムの処理>
図7を用いて、本実施形態に係るサービス提供システムの処理について説明する。
まず、鍵生成装置は、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力し(ステップS301)、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する(ステップS302)。
そして、生成された複数の部分秘密鍵を結合して、生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する(ステップS303)。そして、生成した秘密鍵を一方向性関数で処理して公開鍵を生成する(ステップS304)。
証明書生成装置は、入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および証明書情報のハッシュ値を算出し(ステップS305)、認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、算出したそれぞれの公開鍵のハッシュ値を結合して、認証局サーバが保有する秘密鍵で署名を行う(ステップS306)。そして、公開鍵証明書に、証明書情報、それぞれの公開鍵、公開鍵のハッシュ値、署名を格納し(ステップS307)、公開鍵証明書をユーザに送信する(ステップS308)。
サービス提供サーバは、ユーザ端末4から公開鍵証明書を受信し(ステップS309)、受信した公開鍵証明書の正当性を検証する(ステップS310)。そして、サービス提供サーバ5は、ユーザ端末4に送付するデータを、サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化し(ステップS311)、暗号化したデータと選択した公開鍵の情報をユーザ端末4に送信する(ステップS312)。
ユーザ端末4は、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、生成した秘密鍵によりデータを復号化する(ステップS313)。
したがって、複数の鍵長の異なる公開鍵、秘密鍵を求められるセキュリティレベルに応じて使い分けることで効率的な暗号処理を実現することができる。また、複数の公開鍵・秘密鍵をサービスごとに使い分けることで、安全性を強化したり、署名レベルをコントロールすることができる。
なお、鍵生成装置、証明書生成装置およびサービス提供システムの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを鍵生成装置、証明書生成装置およびサービス提供システムに読み込ませ、実行することによって本発明の鍵生成装置、証明書生成装置およびサービス提供システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本実施形態に係るサービス提供システムの構成図である。 本実施形態に係る鍵生成装置の構成図である。 本実施形態に係る証明書生成装置の構成図である。 本実施形態に係るサービス提供サーバの構成図である。 本実施形態に係る鍵生成装置の処理フローである。 本実施形態に係る証明書生成装置の処理フローである。 本実施形態に係るサービス提供サーバの処理フローである。
符号の説明
1・・・鍵生成装置
2・・・証明書生成装置
3・・・認証局サーバ
4・・・ユーザ端末
5・・・サービス提供サーバ
6・・・ネットワーク
11・・・入力部
12・・・部分秘密鍵生成部
13・・・秘密鍵生成部
14・・・公開鍵生成部
21a、21b、21c・・・ハッシュ値算出部
22・・・署名部
31・・・受信部
32・・・検証部
33・・・暗号化部
34・・・送信部

Claims (12)

  1. ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する入力手段と、
    該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する部分秘密鍵生成手段と、
    該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する秘密鍵生成手段と、
    該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する公開鍵生成手段と、
    を備えたことを特徴とする鍵生成装置。
  2. 同一の鍵長の秘密鍵、公開鍵を複数生成する場合に、インデックス番号を前記入力手段に入力することを特徴とする請求項1に記載の鍵生成装置。
  3. 前記一方向性関数がハッシュ関数であることを特徴とする請求項1または請求項2に記載の鍵生成装置。
  4. 前記入力手段、前記部分秘密鍵生成手段、前記秘密鍵生成手段を耐タンパデバイス内に設けたことを特徴とする請求項1または請求項2に記載の鍵生成装置。
  5. 前記請求項1から請求項4に記載の鍵生成装置が生成した公開鍵を入力する公開鍵入力手段と、
    該入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出するハッシュ値
    算出手段と、
    前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う署名手段と、
    公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する格納手段と、
    を備えたことを特徴とする証明書生成装置。
  6. 鍵生成装置と証明書生成装置と、サービス提供者が運営するサービス提供サーバとからなるサービス提供システムであって、
    前記鍵生成装置が、
    ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する入力手段と、
    該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する部分秘密鍵生成手段と、
    該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する秘密鍵生成手段と、
    該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する公開鍵生成手段と、
    を備え、
    前記証明書生成装置が、
    前記鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出するハッシュ値算出手段と、
    前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う署名手段と、
    公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する格納手段と、
    前記公開鍵証明書をユーザ端末に送信する公開鍵証明書送信手段と、
    を備え、
    前記サービス提供サーバが、
    前記ユーザ端末から前記公開鍵証明書を受信する受信手段と、
    該受信した公開鍵証明書の正当性を検証する検証手段と、
    前記ユーザ端末に送付するデータを、前記サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する暗号化手段と、
    該暗号化したデータと前記選択した公開鍵の情報を前記ユーザ端末に送信するデータ送信手段と、
    を備え、
    前記ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、該生成した秘密鍵によりデータを復号化することを特徴とするサービス提供システム。
  7. 入力手段、部分秘密鍵生成手段、秘密鍵生成手段、および公開鍵生成手段を備える鍵生成装置が、サービスの提供に用いる鍵を任意の鍵長で生成する鍵生成方法であって、
    前記入力手段が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、
    前記部分秘密鍵生成手段が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、
    前記秘密鍵生成手段が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、
    前記公開鍵生成手段が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、
    を備えたことを特徴とする鍵生成方法。
  8. 公開鍵入力手段、ハッシュ値算出手段、署名手段、および格納手段を備える証明書生成装置が、前記請求項7により生成された鍵に基づいて、証明書を生成する証明書生成方法であって、
    前記公開鍵入力手段が、前記請求項7により生成された公開鍵を入力する第1のステップと、
    前記ハッシュ値算出手段が、該入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第2のステップと、
    前記署名手段が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第3のステップと、
    前記格納手段が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第4のステップと、
    を備えたことを特徴とする証明書生成方法。
  9. 鍵生成装置と証明書生成装置と、サービス提供者が運営するサービス提供サーバとからなるサービス提供システムにおけるサービス提供方法であって、
    前記鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、
    前記鍵生成装置が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、
    前記鍵生成装置が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、
    前記鍵生成装置が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、
    前記証明書生成装置が、前記鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第5のステップと、
    前記証明書生成装置が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第6のステップと、
    前記証明書生成装置が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第7のステップと、
    前記証明書生成装置が、前記公開鍵証明書をユーザ端末に送信する第8のステップと、
    前記サービス提供サーバが、前記ユーザ端末から前記公開鍵証明書を受信する第9のステップと、
    前記サービス提供サーバが、該受信した公開鍵証明書の正当性を検証する第10のステップと、
    前記ユーザ端末に送付するデータを、前記サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する第11のステップと、
    前記サービス提供サーバが、該暗号化したデータと前記選択した公開鍵の情報を前記ユーザ端末に送信する第12のステップと、
    前記ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、該生成した秘密鍵によりデータを復号化する第13のステップと、
    を備えることを特徴とするサービス提供方法。
  10. 入力手段、部分秘密鍵生成手段、秘密鍵生成手段、および公開鍵生成手段を備え、サービスの提供に用いる鍵を任意の鍵長で生成する鍵生成装置における鍵生成方法をコンピュータに実行させるためのプログラムであって、
    前記入力手段が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、
    前記部分秘密鍵生成手段が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、
    前記秘密鍵生成手段が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、
    前記公開鍵生成手段が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、
    をコンピュータに実行させるためのプログラム。
  11. 公開鍵入力手段、ハッシュ値算出手段、署名手段、および格納手段を備え、前記請求項10により生成された鍵に基づいて、証明書を生成する証明書生成装置における証明書生成方法をコンピュータに実行させるためのプログラムであって、
    前記公開鍵入力手段が、前記請求項10により生成された公開鍵を入力する第1のステップと、
    前記ハッシュ値算出手段が、該入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第2のステップと、
    前記署名手段が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第3のステップと、
    前記格納手段が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第4のステップと、
    をコンピュータに実行させるためのプログラム。
  12. 鍵生成装置と証明書生成装置と、サービス提供者が運営するサービス提供サーバとからなるサービス提供システムにおけるサービス提供方法をコンピュータに実行させるためのプログラムであって、
    前記鍵生成装置が、ユーザが所有するマスター秘密鍵と、生成したい秘密鍵の鍵長(Lビット)とを少なくとも入力する第1のステップと、
    前記鍵生成装置が、該入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報を一方向性関数で処理して、nビットの部分秘密鍵を生成するとともに、以降、前記入力されたマスター秘密鍵と、生成したい秘密鍵の鍵長とを含む情報と、直前に生成された部分秘密鍵とを一方向性関数で処理して、複数(N:Nは正の整数)の部分秘密鍵を生成する第2のステップと、
    前記鍵生成装置が、該生成された複数の部分秘密鍵を結合して、前記生成したい秘密鍵の鍵長(L=nNビット)の秘密鍵を生成する第3のステップと、
    前記鍵生成装置が、該生成した秘密鍵を一方向性関数で処理して公開鍵を生成する第4のステップと、
    前記証明書生成装置が、前記鍵生成装置から入力した公開鍵と認証局サーバが保持する証明書情報とをハッシュ関数で処理して、それぞれの公開鍵のハッシュ値および前記証明書情報のハッシュ値を算出する第5のステップと、
    前記証明書生成装置が、前記認証局サーバが保有する証明書情報をハッシュ関数で処理して得たハッシュ値と、該算出したそれぞれの公開鍵のハッシュ値を結合して、前記認証局サーバが保有する秘密鍵で署名を行う第6のステップと、
    前記証明書生成装置が、公開鍵証明書に、前記証明書情報、それぞれの公開鍵、該公開鍵のハッシュ値、署名を格納する第7のステップと、
    前記証明書生成装置が、前記公開鍵証明書をユーザ端末に送信する第8のステップと、
    前記サービス提供サーバが、前記ユーザ端末から前記公開鍵証明書を受信する第9のステップと、
    前記サービス提供サーバが、該受信した公開鍵証明書の正当性を検証する第10のステップと、
    前記サービス提供サーバが、前記ユーザ端末に送付するデータを、前記サービス提供者がセキュリティレベルに合わせて選択した公開鍵で暗号化する第11のステップと、
    前記サービス提供サーバが、該暗号化したデータと前記選択した公開鍵の情報を前記ユーザ端末に送信する第12のステップと、
    前記ユーザ端末が、選択された公開鍵に対応する秘密鍵をマスター秘密鍵から生成し、該生成した秘密鍵によりデータを復号化する第13のステップと、
    をコンピュータに実行させるためのプログラム。
JP2008116706A 2008-04-28 2008-04-28 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム Expired - Fee Related JP5324813B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008116706A JP5324813B2 (ja) 2008-04-28 2008-04-28 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008116706A JP5324813B2 (ja) 2008-04-28 2008-04-28 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009267900A JP2009267900A (ja) 2009-11-12
JP5324813B2 true JP5324813B2 (ja) 2013-10-23

Family

ID=41393160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008116706A Expired - Fee Related JP5324813B2 (ja) 2008-04-28 2008-04-28 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5324813B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103651B (zh) * 2009-12-21 2012-11-14 中国移动通信集团公司 一种一卡通系统的实现方法和系统以及一种智能卡
US10044683B2 (en) 2013-07-19 2018-08-07 Sony Corporation Content transmission and reception device compatible to switch to a new encryption scheme
JPWO2017168903A1 (ja) 2016-03-29 2019-02-07 ソニー株式会社 音響再生装置
CN106571912B (zh) * 2016-10-31 2019-10-01 全球能源互联网研究院有限公司 一种面向电力系统的两方认证方法
JP6548687B2 (ja) * 2017-03-31 2019-07-24 セコム株式会社 通信システム及び端末装置
US20210194705A1 (en) * 2018-08-28 2021-06-24 Panasonic lntellectual Property Management Co., Ltd. Certificate generation method
TW202107871A (zh) * 2019-08-01 2021-02-16 張英輝 產生非對稱算法密鑰對之方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3967252B2 (ja) * 2002-11-06 2007-08-29 三菱電機株式会社 暗号通信システム及び暗号通信装置
JP2006222505A (ja) * 2005-02-08 2006-08-24 Kddi R & D Laboratories Inc 公開鍵証明書認証基盤設計支援装置および方法ならびにプログラム
DE602005002652T2 (de) * 2005-08-05 2008-07-10 Sap Ag System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
JP4891035B2 (ja) * 2006-11-16 2012-03-07 株式会社Kddi研究所 暗号プロトコル生成装置、暗号プロトコル生成方法およびプログラム

Also Published As

Publication number Publication date
JP2009267900A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
US20240007308A1 (en) Confidential authentication and provisioning
US10142107B2 (en) Token binding using trust module protected keys
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
US11874935B2 (en) Protecting data from brute force attack
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
JP2018023029A (ja) 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
KR20080004165A (ko) 브로드캐스트 암호화를 이용한 디바이스 인증 방법
CN101212293A (zh) 一种身份认证方法及系统
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
US20180227278A1 (en) Communication of Messages Over Networks
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
JP6627043B2 (ja) Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
CN103684798A (zh) 一种用于分布式用户服务间认证系统
CN112784284B (zh) 加密处理系统、加密处理方法以及记录介质
Kaur et al. Security in cloud computing using hybrid of algorithms
JP4840575B2 (ja) 端末装置、証明書発行装置、証明書発行システム、証明書取得方法および証明書発行方法
US8484471B2 (en) Multi-party distributed multiplication device, multi-party distributed multiplication system and method
KR20140071775A (ko) 암호키 관리 시스템 및 방법
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
JP5393594B2 (ja) 効率的相互認証方法,プログラム,及び装置
CN101883096A (zh) 电子签名工具之间安全传递数据的方法、装置及系统
CN103916372A (zh) 一种第三方登录信息托管方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130613

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: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130719

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees