鍵生成プログラム、鍵記録プログラム、鍵生成装置、PKIカード及び鍵記録システム
【課題】PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成プログラム、鍵記録プログラム、鍵生成装置、PKIカード、及び鍵記録システムを提供する。
【解決手段】電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と証明書用公開鍵に対応する証明書用秘密鍵とを生成し、証明書用秘密鍵を安全が確保された通信路を用いてPKIカードに送信し、証明書用公開鍵の証明書用公開鍵証明書を生成し、署名書用公開鍵と署名書用公開鍵に対応する署名書用秘密鍵とを生成し、署名書用公開鍵の署名書用公開鍵証明書を生成し、生成された署名書用公開鍵証明書、及び署名書用秘密鍵を、証明書用公開鍵証明書に示された証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成し、暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いてPKIカードに送信する。
【解決手段】電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と証明書用公開鍵に対応する証明書用秘密鍵とを生成し、証明書用秘密鍵を安全が確保された通信路を用いてPKIカードに送信し、証明書用公開鍵の証明書用公開鍵証明書を生成し、署名書用公開鍵と署名書用公開鍵に対応する署名書用秘密鍵とを生成し、署名書用公開鍵の署名書用公開鍵証明書を生成し、生成された署名書用公開鍵証明書、及び署名書用秘密鍵を、証明書用公開鍵証明書に示された証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成し、暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いてPKIカードに送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鍵生成プログラム、鍵記録プログラム、鍵生成装置、PKIカード及び鍵記録システムに関する。
【背景技術】
【0002】
特許文献1には、予めカードに複数の秘密鍵を記録し、切り換えて使用する技術が開示されている。特許文献2には、ICカード内で生成した乱数データをカード内に格納した複数の秘密鍵を用いて暗号化し、その復号が可能であることを確認する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−102463号公報
【特許文献2】特開平2−31290号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成プログラム、鍵記録プログラム、鍵生成装置、PKIカード及び鍵記録システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、請求項1の発明は、コンピュータを、電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を、前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、して機能させるための鍵生成プログラムである。
【0006】
また、請求項2の発明は、請求項1の発明において、タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を前記PKIカードに送信する第3送信手段として前記コンピュータを更に機能させ、前記第2送信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を送信するものである。
【0007】
上記目的を達成するために、請求項3の発明は、コンピュータを、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、して機能させるための鍵記録プログラムである。
【0008】
請求項4の発明は、請求項3の発明において、タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を受信する第3受信手段として前記コンピュータを更に機能させ、前記第2受信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を受信し、前記第2受信手段により受信されたタイムスタンプを前記第3受信手段により受信された認証局公開鍵証明書を用いて前記時刻認証事業者が発行したものか否か検証すると共に、前記時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する検証手段として前記コンピュータを更に機能させ、前記署名用秘密鍵記録手段は、前記検証手段により前記タイムスタンプに示される日時が予め定められた期間内の日時であることが検証された場合に、前記署名用秘密鍵を記録手段に記録するものである。
【0009】
上記目的を達成するために、請求項5の発明は、電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、を有する鍵生成装置である。
【0010】
上記目的を達成するために、請求項6の発明は、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する署名用秘密鍵記録手段と、を有するPKIカードである。
【0011】
上記目的を達成するために、請求項7の発明は、鍵生成装置、及びPKIカードを有する鍵記録システムであって、前記鍵生成装置は、電子署名に用いられる署名用秘密鍵を前記PKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、前記第2生成手段により生成された証明書用公開鍵証明書を第1記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、前記第1記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、を有し、前記PKIカードは、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、前記第1受信手段により受信された前記証明書用秘密鍵を第2記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、前記暗号化署名書用秘密鍵を、前記第2記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、を有する鍵記録システムである。
【発明の効果】
【0012】
請求項1の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成プログラムを提供することができる。
【0013】
また、請求項2記載の発明によれば、秘密鍵を記録可能な期間を制限するために用いられるタイムスタンプを送信することができる。
【0014】
また、請求項3の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵記録プログラムを提供することができる。
【0015】
また、請求項4記載の発明によれば、タイムスタンプを用いることにより、秘密鍵を記録可能な期間を制限することができる。
【0016】
請求項5の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成装置を提供することができる。
【0017】
また、請求項6の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができるPKIカードを提供することができる。
【0018】
また、請求項7の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵記録システムを提供することができる。
【図面の簡単な説明】
【0019】
【図1】鍵生成装置のハードウェア構成の一例を示す図である。
【図2】PKIカードのハードウェア構成の一例を示す図である。
【図3】鍵記録システムの機能構成例を示す図である(その1)。
【図4】鍵記録システムの機能構成例を示す図である(その2)。
【図5】鍵生成プログラム、及び鍵記録プログラムの処理の流れの一例を示すシーケンス図である。
【図6】記録処理の流れの一例を示すフローチャートである。
【図7】本実施の形態の処理に係る運用例を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【0021】
図1は、鍵生成装置30のハードウェア構成の一例を示している。鍵生成装置30は、CPU(Central Processing Unit)11と、フラッシュメモリ12と、RAM(Random Access Memory)13と、UI(User Interface)14と、HDD(Hard Disk Drive)15と、通信I/F(インタフェース)16と、バスBとを含む。
【0022】
CPU11は、鍵生成装置30の全体の動作を司るものであり、後述するシーケンス図に示される処理は、CPU11により実行される。フラッシュメモリ12は、RAM13に展開されるプログラム及び起動する際に動作するブートプログラム等が記憶されている。
【0023】
RAM13は、OS(Operating System)、プログラム、画像情報等が展開される記憶装置である。UI14は、ユーザが鍵生成装置30の操作や情報を入力する際に用いられるものである。HDD15は、鍵生成プログラム等の各種情報が記録される記憶装置である。
【0024】
通信I/F16は、ネットワークに接続するためのNIC(Network Interface Card)やそのドライバ、或いはUSBデバイス等を含んで構成される。また、PKIカードとのやり取りを行うことができる。バスBは、情報のやりとりが行われる際に使用される。
【0025】
次に、図2を用いて、PKIカード50のハードウェア構成の一例を示す。PKIカード50は、通常1チップで構成されているが、ここではそのチップに含まれる構成を示している。
【0026】
同図に示されるようにPKIカード50は、CPU21と、フラッシュメモリ22と、RAM23と、通信I/F24と、バスBとを含む。CPU21は、PKIカード50の全体の動作を司るものであり、後述するシーケンス図、及びフローチャートに示される処理は、CPU21により実行される。フラッシュメモリ22は、PKIに関する情報(秘密鍵等)、鍵記録プログラム及び起動する際に動作するブートプログラム等が記憶されている。RAM23は、OSが展開されたり、通信により得られた情報が一時的に展開される。通信I/F24は鍵生成装置30とのやり取りや、署名する際に通信を行なうためのインタフェースである。
【0027】
なお、上述したHDD15及びフラッシュメモリ22には、それぞれ鍵生成プログラム、鍵記録プログラム、及びそのプログラムが用いるデータなどが記録される。このプログラムは、必ずしもHDD15やフラッシュメモリ22に記録されたプログラムでなくても良い。HDD15以外の記録媒体として、具体的には可搬型の記録媒体にプログラムを記録したものが挙げられる。鍵生成プログラムの場合、鍵生成装置30に、可搬型の記録媒体を読み取るための読み取り装置を設け、可搬型の記録媒体は読み取り装置に対して、磁気、光、電気等のエネルギーの変化状態を引き起こし、それに対応する信号の形式で、読み取り装置にプログラムの記述内容を伝達できるものである。
【0028】
可搬型の記録媒体として、例えば光磁気ディスク、光ディスク(CDやDVDなどを含む)、磁気ディスク、メモリ(ICカード、メモリカードなどを含む)などが挙げられる。
【0029】
次に、上述した鍵生成装置30、及びPKIカード50で構成される鍵記録システムとしての鍵生成装置30、及びPKIカード50の機能構成例について、図3を用いて説明する。
【0030】
まず、鍵生成装置30は、証明書ストア41、公開鍵証明書生成部42、鍵ペア生成部43、及び暗号化部44で構成される。
【0031】
このうち、鍵ペア生成部43は、基本的に公開鍵とそれに対応する秘密鍵を生成するものである。特に本実施の形態における鍵ペア生成部43は、電子署名に用いられる署名用秘密鍵をPKIカード50に記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成し、更に電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する。
【0032】
また、公開鍵証明書生成部42は、証明書用公開鍵の証明書用公開鍵証明書を生成し、更に署名書用公開鍵の署名書用公開鍵証明書を生成する。
【0033】
上記証明書ストア41は、HDD15上に設けられ、証明書用公開鍵証明書が記録される。
【0034】
また、暗号化部44は、署名書用公開鍵証明書、及び署名書用秘密鍵を、証明書用公開鍵証明書に示された証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する。
【0035】
上述した証明書用秘密鍵は、同図に示されるように、安全が確保された通信路でPKIカード50に送信される。一方、暗号化された署名書用公開鍵証明書、及び署名書用秘密鍵は、安全が確保されていない通信路でPKIカード50に送信される。もちろん、安全が確保された通信路でPKIカード50に送信するようにしても良い。
【0036】
次にPKIカード50であるが、PKIカード50は、復号化部61で構成される。また、証明書用秘密鍵62、署名書用秘密鍵63が記録される。復号化部61は、上記暗号化署名書用秘密鍵を証明書用秘密鍵62で復号する。
【0037】
次に、タイムスタンプを用いた鍵記録システムとしての鍵生成装置30、及びPKIカード50の機能構成例について、図4を用いて説明する。この図4において、図3で説明した構成についての説明は省略する。
【0038】
鍵生成装置30は、図3に示した構成に、タイムスタンプ付与部45が加わる。タイムスタンプ付与部45は、上記暗号化署名書用秘密鍵にTSA(Time Stamp Authority:時刻認証事業者)70とやり取りすることで得られたタイムスタンプを付与する。また、鍵生成装置30は、タイムスタンプを発行するTSA70を示す認証局公開鍵証明書を送信する。
【0039】
一方、PKIカード50は、図3に示した構成に、タイムスタンプ検証部64が加わる。また、上記認証局公開鍵証明書が記録される。タイムスタンプ検証部64は、認証局公開鍵証明書を用いてTSA70が発行したものか否か検証すると共に、TSA70が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する。
【0040】
以上説明した構成で行なわれる鍵生成プログラム、及び鍵記録プログラムの処理の流れの一例を、図5を用いて説明する。
【0041】
図5は、鍵生成装置30における鍵生成処理、PKIカード50における鍵記録処理の流れを示すシーケンス図である。鍵生成処理は、上記CPU11により行なわれ、鍵記録処理は上記CPU21により行なわれる。
【0042】
まず、ステップ101で、鍵生成装置30は、証明書用鍵ペア生成する。具体的に、鍵生成装置30は、電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する。
【0043】
次のステップ102で、鍵生成装置30は、生成された証明書用秘密鍵を安全が確保された通信路を用いてPKIカード50に送信する。このとき、タイムスタンプを利用する場合には、認証局公開鍵証明書を更に送信する。
【0044】
PKIカード50は、ステップ110で、証明書用秘密鍵を受信する。タイムスタンプを利用する場合には、認証局公開鍵証明書を更に受信する。そして、ステップ111で、証明書用秘密鍵をフラッシュメモリ22に記録する。タイムスタンプを利用する場合には、認証局公開鍵証明書を更にフラッシュメモリ22に記録する。
【0045】
ステップ103で、鍵生成装置30は、証明書用公開鍵の証明書用公開鍵証明書を生成し、ステップ104で、証明書用公開鍵証明書を証明書ストアに記録する。
【0046】
更に、鍵生成装置30は、ステップ105で、署名書用鍵ペア生成する。具体的に、鍵生成装置30は、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する。
【0047】
そして、ステップ106で、鍵生成装置30は、署名書用公開鍵の署名書用公開鍵証明書を生成する。次のステップ107で、鍵生成装置30は、証明書ストアから書き換え対象カードの証明書用公開鍵証明書を取得し、ステップ108で、証明書用公開鍵証明書の署名書用公開鍵で署名用秘密鍵と公開鍵証明書を暗号化した暗号化署名書用秘密鍵を生成する。
【0048】
ステップ109で、鍵生成装置30は、暗号化署名書用秘密鍵をPKIカード50に送信する。タイムスタンプを利用する場合には、暗号化署名書用秘密鍵にタイムスタンプを付与して送信する。
【0049】
ステップ112で、PKIカード50は、暗号化署名書用秘密鍵を受信する。タイムスタンプを利用する場合には、タイムスタンプが付与された暗号化署名書用秘密鍵を受信する。そして、ステップ113で署名用秘密鍵を記録する記録処理を行なう。
【0050】
この記録処理の流れの一例を、図6のフローチャートを用いて説明する。PKIカード50は、まずステップ201で、タイムスタンプを検証する。この検証は、上述したように、認証局公開鍵証明書を用いて時刻認証事業者が発行したものか否か検証すると共に、時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する。
【0051】
上述したステップ201の処理はタイムスタンプを利用する場合の処理であり、そうでない場合は、ステップ202から開始される。
【0052】
ステップ202で、PKIカード50は、上記検証結果がOKか否か判定する。ステップ202で否定判定した場合には、PKIカード50はそのまま処理を終了する。検証結果がOKの場合、すなわち時刻認証事業者が発行し、タイムスタンプに示される日時が予め定められた期間内の日時である場合、PKIカード50は、ステップ203で、暗号化署名書用秘密鍵を証明書用秘密鍵で復号し、ステップ204で正しく復号できたか否か判定する。
【0053】
ステップ204で否定判定した場合、PKIカード50はそのまま処理を終了する。一方、ステップ204で、肯定判定した場合、PKIカード50ステップ205で証明書用公開鍵証明書発行者を検証する。
【0054】
ステップ206で、検証結果が、発行者は正当な発行者であると判定した場合、ステップ207でPKIカード50は暗号化署名書用秘密鍵を証明書用秘密鍵で復号したことで得られた署名用秘密鍵をフラッシュメモリ22に記録して、処理を終了する。一方、ステップ206で否定判定した場合、PKIカード50はそのまま処理を終了する。
【0055】
上述した実施の形態の処理に係る運用例は、図7に示されるように、CA局3がCA局1、CA局2の証明書を書き込み、CA局3はPKIカードに記録された他のCA局の秘密鍵を取り出せないので、CA局1、CA局2の秘密鍵を知ることは出来ないため、複数のCA局が発行する秘密鍵をPKIカードに記録することができる。
【0056】
以上説明した処理において、PKIカード50に記録させる署名用秘密鍵を送信する場合、送信しようとしているPKIカードがどのPKIカードか特定できるようにしても良い。なお、仮にPKIカードを特定できなくても、上述した本実施の形態による処理では、そのPKIカード50に適合しない署名用秘密鍵を記録することはない。
【0057】
特定方法の一つは、PKIカードに一意的なIDを割り当てる方法である。この場合、証明書ストアに証明書用公開鍵証明書とともにIDを記録しておく。もう一つの方法は、PKIカードに予めランダムデータを与え、そのランダムデータをPKIカードにより暗号化させ、その暗号化させたランダムデータを取得して、それを証明書ストアに証明書用公開鍵証明書とともに記録しておく方法である。
【0058】
なお、以上説明したシーケンス図、及びフローチャートの処理の流れは一例であり、本発明の主旨を逸脱しない範囲内で処理順序を入れ替えたり、新たなステップを追加したり、不要なステップを削除したりすることができることは言うまでもない。
【符号の説明】
【0059】
11、21 CPU
12、22 フラッシュメモリ
13、23 RAM
15 HDD
16、24 通信I/F
30 鍵生成装置
41 証明書ストア
42 公開鍵証明書生成部
43 鍵ペア生成部
44 暗号化部
45 タイムスタンプ付与部
50 PKIカード
61 復号化部
62 証明書用秘密鍵
63 署名書用秘密鍵
64 タイムスタンプ検証部
65 TSA証明書
70 TSA
【技術分野】
【0001】
本発明は、鍵生成プログラム、鍵記録プログラム、鍵生成装置、PKIカード及び鍵記録システムに関する。
【背景技術】
【0002】
特許文献1には、予めカードに複数の秘密鍵を記録し、切り換えて使用する技術が開示されている。特許文献2には、ICカード内で生成した乱数データをカード内に格納した複数の秘密鍵を用いて暗号化し、その復号が可能であることを確認する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−102463号公報
【特許文献2】特開平2−31290号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成プログラム、鍵記録プログラム、鍵生成装置、PKIカード及び鍵記録システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、請求項1の発明は、コンピュータを、電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を、前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、して機能させるための鍵生成プログラムである。
【0006】
また、請求項2の発明は、請求項1の発明において、タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を前記PKIカードに送信する第3送信手段として前記コンピュータを更に機能させ、前記第2送信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を送信するものである。
【0007】
上記目的を達成するために、請求項3の発明は、コンピュータを、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、して機能させるための鍵記録プログラムである。
【0008】
請求項4の発明は、請求項3の発明において、タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を受信する第3受信手段として前記コンピュータを更に機能させ、前記第2受信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を受信し、前記第2受信手段により受信されたタイムスタンプを前記第3受信手段により受信された認証局公開鍵証明書を用いて前記時刻認証事業者が発行したものか否か検証すると共に、前記時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する検証手段として前記コンピュータを更に機能させ、前記署名用秘密鍵記録手段は、前記検証手段により前記タイムスタンプに示される日時が予め定められた期間内の日時であることが検証された場合に、前記署名用秘密鍵を記録手段に記録するものである。
【0009】
上記目的を達成するために、請求項5の発明は、電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、を有する鍵生成装置である。
【0010】
上記目的を達成するために、請求項6の発明は、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する署名用秘密鍵記録手段と、を有するPKIカードである。
【0011】
上記目的を達成するために、請求項7の発明は、鍵生成装置、及びPKIカードを有する鍵記録システムであって、前記鍵生成装置は、電子署名に用いられる署名用秘密鍵を前記PKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、前記第2生成手段により生成された証明書用公開鍵証明書を第1記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、前記第1記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、を有し、前記PKIカードは、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、前記第1受信手段により受信された前記証明書用秘密鍵を第2記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、前記暗号化署名書用秘密鍵を、前記第2記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、を有する鍵記録システムである。
【発明の効果】
【0012】
請求項1の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成プログラムを提供することができる。
【0013】
また、請求項2記載の発明によれば、秘密鍵を記録可能な期間を制限するために用いられるタイムスタンプを送信することができる。
【0014】
また、請求項3の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵記録プログラムを提供することができる。
【0015】
また、請求項4記載の発明によれば、タイムスタンプを用いることにより、秘密鍵を記録可能な期間を制限することができる。
【0016】
請求項5の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵生成装置を提供することができる。
【0017】
また、請求項6の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができるPKIカードを提供することができる。
【0018】
また、請求項7の発明によれば、本発明を適用しない場合に比較して、PKIカードの運用性を損なわずにPKIカードの秘密鍵を記録することができる鍵記録システムを提供することができる。
【図面の簡単な説明】
【0019】
【図1】鍵生成装置のハードウェア構成の一例を示す図である。
【図2】PKIカードのハードウェア構成の一例を示す図である。
【図3】鍵記録システムの機能構成例を示す図である(その1)。
【図4】鍵記録システムの機能構成例を示す図である(その2)。
【図5】鍵生成プログラム、及び鍵記録プログラムの処理の流れの一例を示すシーケンス図である。
【図6】記録処理の流れの一例を示すフローチャートである。
【図7】本実施の形態の処理に係る運用例を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【0021】
図1は、鍵生成装置30のハードウェア構成の一例を示している。鍵生成装置30は、CPU(Central Processing Unit)11と、フラッシュメモリ12と、RAM(Random Access Memory)13と、UI(User Interface)14と、HDD(Hard Disk Drive)15と、通信I/F(インタフェース)16と、バスBとを含む。
【0022】
CPU11は、鍵生成装置30の全体の動作を司るものであり、後述するシーケンス図に示される処理は、CPU11により実行される。フラッシュメモリ12は、RAM13に展開されるプログラム及び起動する際に動作するブートプログラム等が記憶されている。
【0023】
RAM13は、OS(Operating System)、プログラム、画像情報等が展開される記憶装置である。UI14は、ユーザが鍵生成装置30の操作や情報を入力する際に用いられるものである。HDD15は、鍵生成プログラム等の各種情報が記録される記憶装置である。
【0024】
通信I/F16は、ネットワークに接続するためのNIC(Network Interface Card)やそのドライバ、或いはUSBデバイス等を含んで構成される。また、PKIカードとのやり取りを行うことができる。バスBは、情報のやりとりが行われる際に使用される。
【0025】
次に、図2を用いて、PKIカード50のハードウェア構成の一例を示す。PKIカード50は、通常1チップで構成されているが、ここではそのチップに含まれる構成を示している。
【0026】
同図に示されるようにPKIカード50は、CPU21と、フラッシュメモリ22と、RAM23と、通信I/F24と、バスBとを含む。CPU21は、PKIカード50の全体の動作を司るものであり、後述するシーケンス図、及びフローチャートに示される処理は、CPU21により実行される。フラッシュメモリ22は、PKIに関する情報(秘密鍵等)、鍵記録プログラム及び起動する際に動作するブートプログラム等が記憶されている。RAM23は、OSが展開されたり、通信により得られた情報が一時的に展開される。通信I/F24は鍵生成装置30とのやり取りや、署名する際に通信を行なうためのインタフェースである。
【0027】
なお、上述したHDD15及びフラッシュメモリ22には、それぞれ鍵生成プログラム、鍵記録プログラム、及びそのプログラムが用いるデータなどが記録される。このプログラムは、必ずしもHDD15やフラッシュメモリ22に記録されたプログラムでなくても良い。HDD15以外の記録媒体として、具体的には可搬型の記録媒体にプログラムを記録したものが挙げられる。鍵生成プログラムの場合、鍵生成装置30に、可搬型の記録媒体を読み取るための読み取り装置を設け、可搬型の記録媒体は読み取り装置に対して、磁気、光、電気等のエネルギーの変化状態を引き起こし、それに対応する信号の形式で、読み取り装置にプログラムの記述内容を伝達できるものである。
【0028】
可搬型の記録媒体として、例えば光磁気ディスク、光ディスク(CDやDVDなどを含む)、磁気ディスク、メモリ(ICカード、メモリカードなどを含む)などが挙げられる。
【0029】
次に、上述した鍵生成装置30、及びPKIカード50で構成される鍵記録システムとしての鍵生成装置30、及びPKIカード50の機能構成例について、図3を用いて説明する。
【0030】
まず、鍵生成装置30は、証明書ストア41、公開鍵証明書生成部42、鍵ペア生成部43、及び暗号化部44で構成される。
【0031】
このうち、鍵ペア生成部43は、基本的に公開鍵とそれに対応する秘密鍵を生成するものである。特に本実施の形態における鍵ペア生成部43は、電子署名に用いられる署名用秘密鍵をPKIカード50に記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成し、更に電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する。
【0032】
また、公開鍵証明書生成部42は、証明書用公開鍵の証明書用公開鍵証明書を生成し、更に署名書用公開鍵の署名書用公開鍵証明書を生成する。
【0033】
上記証明書ストア41は、HDD15上に設けられ、証明書用公開鍵証明書が記録される。
【0034】
また、暗号化部44は、署名書用公開鍵証明書、及び署名書用秘密鍵を、証明書用公開鍵証明書に示された証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する。
【0035】
上述した証明書用秘密鍵は、同図に示されるように、安全が確保された通信路でPKIカード50に送信される。一方、暗号化された署名書用公開鍵証明書、及び署名書用秘密鍵は、安全が確保されていない通信路でPKIカード50に送信される。もちろん、安全が確保された通信路でPKIカード50に送信するようにしても良い。
【0036】
次にPKIカード50であるが、PKIカード50は、復号化部61で構成される。また、証明書用秘密鍵62、署名書用秘密鍵63が記録される。復号化部61は、上記暗号化署名書用秘密鍵を証明書用秘密鍵62で復号する。
【0037】
次に、タイムスタンプを用いた鍵記録システムとしての鍵生成装置30、及びPKIカード50の機能構成例について、図4を用いて説明する。この図4において、図3で説明した構成についての説明は省略する。
【0038】
鍵生成装置30は、図3に示した構成に、タイムスタンプ付与部45が加わる。タイムスタンプ付与部45は、上記暗号化署名書用秘密鍵にTSA(Time Stamp Authority:時刻認証事業者)70とやり取りすることで得られたタイムスタンプを付与する。また、鍵生成装置30は、タイムスタンプを発行するTSA70を示す認証局公開鍵証明書を送信する。
【0039】
一方、PKIカード50は、図3に示した構成に、タイムスタンプ検証部64が加わる。また、上記認証局公開鍵証明書が記録される。タイムスタンプ検証部64は、認証局公開鍵証明書を用いてTSA70が発行したものか否か検証すると共に、TSA70が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する。
【0040】
以上説明した構成で行なわれる鍵生成プログラム、及び鍵記録プログラムの処理の流れの一例を、図5を用いて説明する。
【0041】
図5は、鍵生成装置30における鍵生成処理、PKIカード50における鍵記録処理の流れを示すシーケンス図である。鍵生成処理は、上記CPU11により行なわれ、鍵記録処理は上記CPU21により行なわれる。
【0042】
まず、ステップ101で、鍵生成装置30は、証明書用鍵ペア生成する。具体的に、鍵生成装置30は、電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する。
【0043】
次のステップ102で、鍵生成装置30は、生成された証明書用秘密鍵を安全が確保された通信路を用いてPKIカード50に送信する。このとき、タイムスタンプを利用する場合には、認証局公開鍵証明書を更に送信する。
【0044】
PKIカード50は、ステップ110で、証明書用秘密鍵を受信する。タイムスタンプを利用する場合には、認証局公開鍵証明書を更に受信する。そして、ステップ111で、証明書用秘密鍵をフラッシュメモリ22に記録する。タイムスタンプを利用する場合には、認証局公開鍵証明書を更にフラッシュメモリ22に記録する。
【0045】
ステップ103で、鍵生成装置30は、証明書用公開鍵の証明書用公開鍵証明書を生成し、ステップ104で、証明書用公開鍵証明書を証明書ストアに記録する。
【0046】
更に、鍵生成装置30は、ステップ105で、署名書用鍵ペア生成する。具体的に、鍵生成装置30は、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する。
【0047】
そして、ステップ106で、鍵生成装置30は、署名書用公開鍵の署名書用公開鍵証明書を生成する。次のステップ107で、鍵生成装置30は、証明書ストアから書き換え対象カードの証明書用公開鍵証明書を取得し、ステップ108で、証明書用公開鍵証明書の署名書用公開鍵で署名用秘密鍵と公開鍵証明書を暗号化した暗号化署名書用秘密鍵を生成する。
【0048】
ステップ109で、鍵生成装置30は、暗号化署名書用秘密鍵をPKIカード50に送信する。タイムスタンプを利用する場合には、暗号化署名書用秘密鍵にタイムスタンプを付与して送信する。
【0049】
ステップ112で、PKIカード50は、暗号化署名書用秘密鍵を受信する。タイムスタンプを利用する場合には、タイムスタンプが付与された暗号化署名書用秘密鍵を受信する。そして、ステップ113で署名用秘密鍵を記録する記録処理を行なう。
【0050】
この記録処理の流れの一例を、図6のフローチャートを用いて説明する。PKIカード50は、まずステップ201で、タイムスタンプを検証する。この検証は、上述したように、認証局公開鍵証明書を用いて時刻認証事業者が発行したものか否か検証すると共に、時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する。
【0051】
上述したステップ201の処理はタイムスタンプを利用する場合の処理であり、そうでない場合は、ステップ202から開始される。
【0052】
ステップ202で、PKIカード50は、上記検証結果がOKか否か判定する。ステップ202で否定判定した場合には、PKIカード50はそのまま処理を終了する。検証結果がOKの場合、すなわち時刻認証事業者が発行し、タイムスタンプに示される日時が予め定められた期間内の日時である場合、PKIカード50は、ステップ203で、暗号化署名書用秘密鍵を証明書用秘密鍵で復号し、ステップ204で正しく復号できたか否か判定する。
【0053】
ステップ204で否定判定した場合、PKIカード50はそのまま処理を終了する。一方、ステップ204で、肯定判定した場合、PKIカード50ステップ205で証明書用公開鍵証明書発行者を検証する。
【0054】
ステップ206で、検証結果が、発行者は正当な発行者であると判定した場合、ステップ207でPKIカード50は暗号化署名書用秘密鍵を証明書用秘密鍵で復号したことで得られた署名用秘密鍵をフラッシュメモリ22に記録して、処理を終了する。一方、ステップ206で否定判定した場合、PKIカード50はそのまま処理を終了する。
【0055】
上述した実施の形態の処理に係る運用例は、図7に示されるように、CA局3がCA局1、CA局2の証明書を書き込み、CA局3はPKIカードに記録された他のCA局の秘密鍵を取り出せないので、CA局1、CA局2の秘密鍵を知ることは出来ないため、複数のCA局が発行する秘密鍵をPKIカードに記録することができる。
【0056】
以上説明した処理において、PKIカード50に記録させる署名用秘密鍵を送信する場合、送信しようとしているPKIカードがどのPKIカードか特定できるようにしても良い。なお、仮にPKIカードを特定できなくても、上述した本実施の形態による処理では、そのPKIカード50に適合しない署名用秘密鍵を記録することはない。
【0057】
特定方法の一つは、PKIカードに一意的なIDを割り当てる方法である。この場合、証明書ストアに証明書用公開鍵証明書とともにIDを記録しておく。もう一つの方法は、PKIカードに予めランダムデータを与え、そのランダムデータをPKIカードにより暗号化させ、その暗号化させたランダムデータを取得して、それを証明書ストアに証明書用公開鍵証明書とともに記録しておく方法である。
【0058】
なお、以上説明したシーケンス図、及びフローチャートの処理の流れは一例であり、本発明の主旨を逸脱しない範囲内で処理順序を入れ替えたり、新たなステップを追加したり、不要なステップを削除したりすることができることは言うまでもない。
【符号の説明】
【0059】
11、21 CPU
12、22 フラッシュメモリ
13、23 RAM
15 HDD
16、24 通信I/F
30 鍵生成装置
41 証明書ストア
42 公開鍵証明書生成部
43 鍵ペア生成部
44 暗号化部
45 タイムスタンプ付与部
50 PKIカード
61 復号化部
62 証明書用秘密鍵
63 署名書用秘密鍵
64 タイムスタンプ検証部
65 TSA証明書
70 TSA
【特許請求の範囲】
【請求項1】
コンピュータを、
電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、
前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、
前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、
前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を、前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、
して機能させるための鍵生成プログラム。
【請求項2】
タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を前記PKIカードに送信する第3送信手段として前記コンピュータを更に機能させ、
前記第2送信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を送信する請求項1に記載の鍵生成プログラム。
【請求項3】
コンピュータを、
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、
前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、
前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、
して機能させるための鍵記録プログラム。
【請求項4】
タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を受信する第3受信手段として前記コンピュータを更に機能させ、
前記第2受信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を受信し、
前記第2受信手段により受信されたタイムスタンプを前記第3受信手段により受信された認証局公開鍵証明書を用いて前記時刻認証事業者が発行したものか否か検証すると共に、前記時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する検証手段として前記コンピュータを更に機能させ、
前記署名用秘密鍵記録手段は、前記検証手段により前記タイムスタンプに示される日時が予め定められた期間内の日時であることが検証された場合に、前記署名用秘密鍵を記録手段に記録する請求項3に記載の鍵記録プログラム。
【請求項5】
電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、
前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、
前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、
前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、
を有する鍵生成装置。
【請求項6】
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、
前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、
前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する署名用秘密鍵記録手段と、
を有するPKIカード。
【請求項7】
鍵生成装置、及びPKIカードを有する鍵記録システムであって、
前記鍵生成装置は、
電子署名に用いられる署名用秘密鍵を前記PKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、
前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、
前記第2生成手段により生成された証明書用公開鍵証明書を第1記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、
前記第1記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、
を有し、
前記PKIカードは、
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、
前記第1受信手段により受信された前記証明書用秘密鍵を第2記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、
前記暗号化署名書用秘密鍵を、前記第2記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、
を有する鍵記録システム。
【請求項1】
コンピュータを、
電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、
前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、
前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、
前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を、前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、
して機能させるための鍵生成プログラム。
【請求項2】
タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を前記PKIカードに送信する第3送信手段として前記コンピュータを更に機能させ、
前記第2送信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を送信する請求項1に記載の鍵生成プログラム。
【請求項3】
コンピュータを、
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、
前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、
前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、
して機能させるための鍵記録プログラム。
【請求項4】
タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を受信する第3受信手段として前記コンピュータを更に機能させ、
前記第2受信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を受信し、
前記第2受信手段により受信されたタイムスタンプを前記第3受信手段により受信された認証局公開鍵証明書を用いて前記時刻認証事業者が発行したものか否か検証すると共に、前記時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する検証手段として前記コンピュータを更に機能させ、
前記署名用秘密鍵記録手段は、前記検証手段により前記タイムスタンプに示される日時が予め定められた期間内の日時であることが検証された場合に、前記署名用秘密鍵を記録手段に記録する請求項3に記載の鍵記録プログラム。
【請求項5】
電子署名に用いられる署名用秘密鍵をPKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、
前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、
前記第2生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、
前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、
を有する鍵生成装置。
【請求項6】
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、
前記第1受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、
前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する署名用秘密鍵記録手段と、
を有するPKIカード。
【請求項7】
鍵生成装置、及びPKIカードを有する鍵記録システムであって、
前記鍵生成装置は、
電子署名に用いられる署名用秘密鍵を前記PKIカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第1生成手段と、
前記第1生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記PKIカードに送信する第1送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第2生成手段と、
前記第2生成手段により生成された証明書用公開鍵証明書を第1記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第3生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第4生成手段と、
前記第1記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第4生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第5生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記PKIカードに送信する第2送信手段と、
を有し、
前記PKIカードは、
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第1受信手段と、
前記第1受信手段により受信された前記証明書用秘密鍵を第2記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第2受信手段と、
前記暗号化署名書用秘密鍵を、前記第2記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、
を有する鍵記録システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【公開番号】特開2010−226366(P2010−226366A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2009−70680(P2009−70680)
【出願日】平成21年3月23日(2009.3.23)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願日】平成21年3月23日(2009.3.23)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]