(57)【要約】【課題】ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができる鍵生成プログラム、鍵記録プログラム、鍵生成装置、ＰＫＩカード、及び鍵記録システムを提供する。【解決手段】電子署名に用いられる署名用秘密鍵をＰＫＩカードに記録する際に用いられる証明書用公開鍵と証明書用公開鍵に対応する証明書用秘密鍵とを生成し、証明書用秘密鍵を安全が確保された通信路を用いてＰＫＩカードに送信し、証明書用公開鍵の証明書用公開鍵証明書を生成し、署名書用公開鍵と署名書用公開鍵に対応する署名書用秘密鍵とを生成し、署名書用公開鍵の署名書用公開鍵証明書を生成し、生成された署名書用公開鍵証明書、及び署名書用秘密鍵を、証明書用公開鍵証明書に示された証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成し、暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いてＰＫＩカードに送信する。【選択図】図５
2010226366.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
電子署名に用いられる署名用秘密鍵をＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第１生成手段と、
前記第１生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記ＰＫＩカードに送信する第１送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第２生成手段と、
前記第２生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第３生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第４生成手段と、
前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第４生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を、前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第５生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記ＰＫＩカードに送信する第２送信手段と、
して機能させるための鍵生成プログラム。
【請求項２】
タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を前記ＰＫＩカードに送信する第３送信手段として前記コンピュータを更に機能させ、
前記第２送信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を送信する請求項１に記載の鍵生成プログラム。
【請求項３】
コンピュータを、
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第１受信手段と、
前記第１受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第２受信手段と、
前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、
して機能させるための鍵記録プログラム。
【請求項４】
タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を受信する第３受信手段として前記コンピュータを更に機能させ、
前記第２受信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を受信し、
前記第２受信手段により受信されたタイムスタンプを前記第３受信手段により受信された認証局公開鍵証明書を用いて前記時刻認証事業者が発行したものか否か検証すると共に、前記時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する検証手段として前記コンピュータを更に機能させ、
前記署名用秘密鍵記録手段は、前記検証手段により前記タイムスタンプに示される日時が予め定められた期間内の日時であることが検証された場合に、前記署名用秘密鍵を記録手段に記録する請求項３に記載の鍵記録プログラム。
【請求項５】
電子署名に用いられる署名用秘密鍵をＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第１生成手段と、
前記第１生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記ＰＫＩカードに送信する第１送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第２生成手段と、
前記第２生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第３生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第４生成手段と、
前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第４生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第５生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記ＰＫＩカードに送信する第２送信手段と、
を有する鍵生成装置。
【請求項６】
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第１受信手段と、
前記第１受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第２受信手段と、
前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する署名用秘密鍵記録手段と、
を有するＰＫＩカード。
【請求項７】
鍵生成装置、及びＰＫＩカードを有する鍵記録システムであって、
前記鍵生成装置は、
電子署名に用いられる署名用秘密鍵を前記ＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第１生成手段と、
前記第１生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記ＰＫＩカードに送信する第１送信手段と、
前記証明書用公開鍵の証明書用公開鍵証明書を生成する第２生成手段と、
前記第２生成手段により生成された証明書用公開鍵証明書を第１記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第３生成手段と、
前記署名書用公開鍵の署名書用公開鍵証明書を生成する第４生成手段と、
前記第１記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、
前記第４生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第５生成手段と、
前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記ＰＫＩカードに送信する第２送信手段と、
を有し、
前記ＰＫＩカードは、
電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第１受信手段と、
前記第１受信手段により受信された前記証明書用秘密鍵を第２記録手段に記録する手段と、
電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第２受信手段と、
前記暗号化署名書用秘密鍵を、前記第２記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、
前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、
を有する鍵記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵生成プログラム、鍵記録プログラム、鍵生成装置、ＰＫＩカード及び鍵記録システムに関する。
【背景技術】
【０００２】
特許文献１には、予めカードに複数の秘密鍵を記録し、切り換えて使用する技術が開示されている。特許文献２には、ＩＣカード内で生成した乱数データをカード内に格納した複数の秘密鍵を用いて暗号化し、その復号が可能であることを確認する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１０２４６３号公報
【特許文献２】特開平２−３１２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができる鍵生成プログラム、鍵記録プログラム、鍵生成装置、ＰＫＩカード及び鍵記録システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１の発明は、コンピュータを、電子署名に用いられる署名用秘密鍵をＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第１生成手段と、前記第１生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記ＰＫＩカードに送信する第１送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第２生成手段と、前記第２生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第３生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第４生成手段と、前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第４生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を、前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第５生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記ＰＫＩカードに送信する第２送信手段と、して機能させるための鍵生成プログラムである。
【０００６】
また、請求項２の発明は、請求項１の発明において、タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を前記ＰＫＩカードに送信する第３送信手段として前記コンピュータを更に機能させ、前記第２送信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を送信するものである。
【０００７】
上記目的を達成するために、請求項３の発明は、コンピュータを、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第１受信手段と、前記第１受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第２受信手段と、前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、して機能させるための鍵記録プログラムである。
【０００８】
請求項４の発明は、請求項３の発明において、タイムスタンプを発行する時刻認証事業者を示す認証局公開鍵証明書を受信する第３受信手段として前記コンピュータを更に機能させ、前記第２受信手段は、タイムスタンプが付与された前記暗号化署名書用秘密鍵を受信し、前記第２受信手段により受信されたタイムスタンプを前記第３受信手段により受信された認証局公開鍵証明書を用いて前記時刻認証事業者が発行したものか否か検証すると共に、前記時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する検証手段として前記コンピュータを更に機能させ、前記署名用秘密鍵記録手段は、前記検証手段により前記タイムスタンプに示される日時が予め定められた期間内の日時であることが検証された場合に、前記署名用秘密鍵を記録手段に記録するものである。
【０００９】
上記目的を達成するために、請求項５の発明は、電子署名に用いられる署名用秘密鍵をＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第１生成手段と、前記第１生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記ＰＫＩカードに送信する第１送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第２生成手段と、前記第２生成手段により生成された証明書用公開鍵証明書を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第３生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第４生成手段と、前記記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第４生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第５生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記ＰＫＩカードに送信する第２送信手段と、を有する鍵生成装置である。
【００１０】
上記目的を達成するために、請求項６の発明は、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第１受信手段と、前記第１受信手段により受信された前記証明書用秘密鍵を記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第２受信手段と、前記暗号化署名書用秘密鍵を、前記記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する署名用秘密鍵記録手段と、を有するＰＫＩカードである。
【００１１】
上記目的を達成するために、請求項７の発明は、鍵生成装置、及びＰＫＩカードを有する鍵記録システムであって、前記鍵生成装置は、電子署名に用いられる署名用秘密鍵を前記ＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する第１生成手段と、前記第１生成手段により生成された前記証明書用秘密鍵を安全が確保された通信路を用いて前記ＰＫＩカードに送信する第１送信手段と、前記証明書用公開鍵の証明書用公開鍵証明書を生成する第２生成手段と、前記第２生成手段により生成された証明書用公開鍵証明書を第１記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する第３生成手段と、前記署名書用公開鍵の署名書用公開鍵証明書を生成する第４生成手段と、前記第１記録手段に記録された証明書用公開鍵証明書を取得する取得手段と、前記第４生成手段により生成された前記署名書用公開鍵証明書、及び前記署名書用秘密鍵を前記取得手段により取得された前記証明書用公開鍵証明書に示された前記証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する第５生成手段と、前記暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて前記ＰＫＩカードに送信する第２送信手段と、を有し、前記ＰＫＩカードは、電子署名に用いられる証明書用秘密鍵を安全が確保された通信路を用いて受信する第１受信手段と、前記第１受信手段により受信された前記証明書用秘密鍵を第２記録手段に記録する手段と、電子署名に用いられる署名書用公開鍵の署名書用公開鍵証明書、及び該署名書用公開鍵に対応する署名書用秘密鍵を、前記証明書用秘密鍵に対応する証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を、安全が確保された通信路、又は安全が確保されていない通信路を用いて受信する第２受信手段と、前記暗号化署名書用秘密鍵を、前記第２記録手段に記録された前記証明書用秘密鍵で復号する復号手段と、前記復号手段により復号して得られた署名書用公開鍵証明書が前記署名書用秘密鍵を発行する秘密鍵発行認証局を示す場合に、前記復号手段により復号して得られた署名用秘密鍵を前記記録手段に記録する手段と、を有する鍵記録システムである。
【発明の効果】
【００１２】
請求項１の発明によれば、本発明を適用しない場合に比較して、ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができる鍵生成プログラムを提供することができる。
【００１３】
また、請求項２記載の発明によれば、秘密鍵を記録可能な期間を制限するために用いられるタイムスタンプを送信することができる。
【００１４】
また、請求項３の発明によれば、本発明を適用しない場合に比較して、ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができる鍵記録プログラムを提供することができる。
【００１５】
また、請求項４記載の発明によれば、タイムスタンプを用いることにより、秘密鍵を記録可能な期間を制限することができる。
【００１６】
請求項５の発明によれば、本発明を適用しない場合に比較して、ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができる鍵生成装置を提供することができる。
【００１７】
また、請求項６の発明によれば、本発明を適用しない場合に比較して、ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができるＰＫＩカードを提供することができる。
【００１８】
また、請求項７の発明によれば、本発明を適用しない場合に比較して、ＰＫＩカードの運用性を損なわずにＰＫＩカードの秘密鍵を記録することができる鍵記録システムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】鍵生成装置のハードウェア構成の一例を示す図である。
【図２】ＰＫＩカードのハードウェア構成の一例を示す図である。
【図３】鍵記録システムの機能構成例を示す図である（その１）。
【図４】鍵記録システムの機能構成例を示す図である（その２）。
【図５】鍵生成プログラム、及び鍵記録プログラムの処理の流れの一例を示すシーケンス図である。
【図６】記録処理の流れの一例を示すフローチャートである。
【図７】本実施の形態の処理に係る運用例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００２１】
図１は、鍵生成装置３０のハードウェア構成の一例を示している。鍵生成装置３０は、ＣＰＵ（Central Processing Unit）１１と、フラッシュメモリ１２と、ＲＡＭ（Random Access Memory）１３と、ＵＩ（User Interface）１４と、ＨＤＤ（Hard Disk Drive）１５と、通信Ｉ／Ｆ（インタフェース）１６と、バスＢとを含む。
【００２２】
ＣＰＵ１１は、鍵生成装置３０の全体の動作を司るものであり、後述するシーケンス図に示される処理は、ＣＰＵ１１により実行される。フラッシュメモリ１２は、ＲＡＭ１３に展開されるプログラム及び起動する際に動作するブートプログラム等が記憶されている。
【００２３】
ＲＡＭ１３は、ＯＳ（Operating System）、プログラム、画像情報等が展開される記憶装置である。ＵＩ１４は、ユーザが鍵生成装置３０の操作や情報を入力する際に用いられるものである。ＨＤＤ１５は、鍵生成プログラム等の各種情報が記録される記憶装置である。
【００２４】
通信Ｉ／Ｆ１６は、ネットワークに接続するためのＮＩＣ（Network Interface Card）やそのドライバ、或いはＵＳＢデバイス等を含んで構成される。また、ＰＫＩカードとのやり取りを行うことができる。バスＢは、情報のやりとりが行われる際に使用される。
【００２５】
次に、図２を用いて、ＰＫＩカード５０のハードウェア構成の一例を示す。ＰＫＩカード５０は、通常１チップで構成されているが、ここではそのチップに含まれる構成を示している。
【００２６】
同図に示されるようにＰＫＩカード５０は、ＣＰＵ２１と、フラッシュメモリ２２と、ＲＡＭ２３と、通信Ｉ／Ｆ２４と、バスＢとを含む。ＣＰＵ２１は、ＰＫＩカード５０の全体の動作を司るものであり、後述するシーケンス図、及びフローチャートに示される処理は、ＣＰＵ２１により実行される。フラッシュメモリ２２は、ＰＫＩに関する情報（秘密鍵等）、鍵記録プログラム及び起動する際に動作するブートプログラム等が記憶されている。ＲＡＭ２３は、ＯＳが展開されたり、通信により得られた情報が一時的に展開される。通信Ｉ／Ｆ２４は鍵生成装置３０とのやり取りや、署名する際に通信を行なうためのインタフェースである。
【００２７】
なお、上述したＨＤＤ１５及びフラッシュメモリ２２には、それぞれ鍵生成プログラム、鍵記録プログラム、及びそのプログラムが用いるデータなどが記録される。このプログラムは、必ずしもＨＤＤ１５やフラッシュメモリ２２に記録されたプログラムでなくても良い。ＨＤＤ１５以外の記録媒体として、具体的には可搬型の記録媒体にプログラムを記録したものが挙げられる。鍵生成プログラムの場合、鍵生成装置３０に、可搬型の記録媒体を読み取るための読み取り装置を設け、可搬型の記録媒体は読み取り装置に対して、磁気、光、電気等のエネルギーの変化状態を引き起こし、それに対応する信号の形式で、読み取り装置にプログラムの記述内容を伝達できるものである。
【００２８】
可搬型の記録媒体として、例えば光磁気ディスク、光ディスク（ＣＤやＤＶＤなどを含む）、磁気ディスク、メモリ（ＩＣカード、メモリカードなどを含む）などが挙げられる。
【００２９】
次に、上述した鍵生成装置３０、及びＰＫＩカード５０で構成される鍵記録システムとしての鍵生成装置３０、及びＰＫＩカード５０の機能構成例について、図３を用いて説明する。
【００３０】
まず、鍵生成装置３０は、証明書ストア４１、公開鍵証明書生成部４２、鍵ペア生成部４３、及び暗号化部４４で構成される。
【００３１】
このうち、鍵ペア生成部４３は、基本的に公開鍵とそれに対応する秘密鍵を生成するものである。特に本実施の形態における鍵ペア生成部４３は、電子署名に用いられる署名用秘密鍵をＰＫＩカード５０に記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成し、更に電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する。
【００３２】
また、公開鍵証明書生成部４２は、証明書用公開鍵の証明書用公開鍵証明書を生成し、更に署名書用公開鍵の署名書用公開鍵証明書を生成する。
【００３３】
上記証明書ストア４１は、ＨＤＤ１５上に設けられ、証明書用公開鍵証明書が記録される。
【００３４】
また、暗号化部４４は、署名書用公開鍵証明書、及び署名書用秘密鍵を、証明書用公開鍵証明書に示された証明書用公開鍵で暗号化した暗号化署名書用秘密鍵を生成する。
【００３５】
上述した証明書用秘密鍵は、同図に示されるように、安全が確保された通信路でＰＫＩカード５０に送信される。一方、暗号化された署名書用公開鍵証明書、及び署名書用秘密鍵は、安全が確保されていない通信路でＰＫＩカード５０に送信される。もちろん、安全が確保された通信路でＰＫＩカード５０に送信するようにしても良い。
【００３６】
次にＰＫＩカード５０であるが、ＰＫＩカード５０は、復号化部６１で構成される。また、証明書用秘密鍵６２、署名書用秘密鍵６３が記録される。復号化部６１は、上記暗号化署名書用秘密鍵を証明書用秘密鍵６２で復号する。
【００３７】
次に、タイムスタンプを用いた鍵記録システムとしての鍵生成装置３０、及びＰＫＩカード５０の機能構成例について、図４を用いて説明する。この図４において、図３で説明した構成についての説明は省略する。
【００３８】
鍵生成装置３０は、図３に示した構成に、タイムスタンプ付与部４５が加わる。タイムスタンプ付与部４５は、上記暗号化署名書用秘密鍵にＴＳＡ（Time Stamp Authority：時刻認証事業者）７０とやり取りすることで得られたタイムスタンプを付与する。また、鍵生成装置３０は、タイムスタンプを発行するＴＳＡ７０を示す認証局公開鍵証明書を送信する。
【００３９】
一方、ＰＫＩカード５０は、図３に示した構成に、タイムスタンプ検証部６４が加わる。また、上記認証局公開鍵証明書が記録される。タイムスタンプ検証部６４は、認証局公開鍵証明書を用いてＴＳＡ７０が発行したものか否か検証すると共に、ＴＳＡ７０が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する。
【００４０】
以上説明した構成で行なわれる鍵生成プログラム、及び鍵記録プログラムの処理の流れの一例を、図５を用いて説明する。
【００４１】
図５は、鍵生成装置３０における鍵生成処理、ＰＫＩカード５０における鍵記録処理の流れを示すシーケンス図である。鍵生成処理は、上記ＣＰＵ１１により行なわれ、鍵記録処理は上記ＣＰＵ２１により行なわれる。
【００４２】
まず、ステップ１０１で、鍵生成装置３０は、証明書用鍵ペア生成する。具体的に、鍵生成装置３０は、電子署名に用いられる署名用秘密鍵をＰＫＩカードに記録する際に用いられる証明書用公開鍵と該証明書用公開鍵に対応する証明書用秘密鍵とを生成する。
【００４３】
次のステップ１０２で、鍵生成装置３０は、生成された証明書用秘密鍵を安全が確保された通信路を用いてＰＫＩカード５０に送信する。このとき、タイムスタンプを利用する場合には、認証局公開鍵証明書を更に送信する。
【００４４】
ＰＫＩカード５０は、ステップ１１０で、証明書用秘密鍵を受信する。タイムスタンプを利用する場合には、認証局公開鍵証明書を更に受信する。そして、ステップ１１１で、証明書用秘密鍵をフラッシュメモリ２２に記録する。タイムスタンプを利用する場合には、認証局公開鍵証明書を更にフラッシュメモリ２２に記録する。
【００４５】
ステップ１０３で、鍵生成装置３０は、証明書用公開鍵の証明書用公開鍵証明書を生成し、ステップ１０４で、証明書用公開鍵証明書を証明書ストアに記録する。
【００４６】
更に、鍵生成装置３０は、ステップ１０５で、署名書用鍵ペア生成する。具体的に、鍵生成装置３０は、電子署名に用いられる署名書用公開鍵と該署名書用公開鍵に対応する署名書用秘密鍵とを生成する。
【００４７】
そして、ステップ１０６で、鍵生成装置３０は、署名書用公開鍵の署名書用公開鍵証明書を生成する。次のステップ１０７で、鍵生成装置３０は、証明書ストアから書き換え対象カードの証明書用公開鍵証明書を取得し、ステップ１０８で、証明書用公開鍵証明書の署名書用公開鍵で署名用秘密鍵と公開鍵証明書を暗号化した暗号化署名書用秘密鍵を生成する。
【００４８】
ステップ１０９で、鍵生成装置３０は、暗号化署名書用秘密鍵をＰＫＩカード５０に送信する。タイムスタンプを利用する場合には、暗号化署名書用秘密鍵にタイムスタンプを付与して送信する。
【００４９】
ステップ１１２で、ＰＫＩカード５０は、暗号化署名書用秘密鍵を受信する。タイムスタンプを利用する場合には、タイムスタンプが付与された暗号化署名書用秘密鍵を受信する。そして、ステップ１１３で署名用秘密鍵を記録する記録処理を行なう。
【００５０】
この記録処理の流れの一例を、図６のフローチャートを用いて説明する。ＰＫＩカード５０は、まずステップ２０１で、タイムスタンプを検証する。この検証は、上述したように、認証局公開鍵証明書を用いて時刻認証事業者が発行したものか否か検証すると共に、時刻認証事業者が発行したタイムスタンプである場合に、該タイムスタンプに示される日時が予め定められた期間内の日時であるか否かを検証する。
【００５１】
上述したステップ２０１の処理はタイムスタンプを利用する場合の処理であり、そうでない場合は、ステップ２０２から開始される。
【００５２】
ステップ２０２で、ＰＫＩカード５０は、上記検証結果がＯＫか否か判定する。ステップ２０２で否定判定した場合には、ＰＫＩカード５０はそのまま処理を終了する。検証結果がＯＫの場合、すなわち時刻認証事業者が発行し、タイムスタンプに示される日時が予め定められた期間内の日時である場合、ＰＫＩカード５０は、ステップ２０３で、暗号化署名書用秘密鍵を証明書用秘密鍵で復号し、ステップ２０４で正しく復号できたか否か判定する。
【００５３】
ステップ２０４で否定判定した場合、ＰＫＩカード５０はそのまま処理を終了する。一方、ステップ２０４で、肯定判定した場合、ＰＫＩカード５０ステップ２０５で証明書用公開鍵証明書発行者を検証する。
【００５４】
ステップ２０６で、検証結果が、発行者は正当な発行者であると判定した場合、ステップ２０７でＰＫＩカード５０は暗号化署名書用秘密鍵を証明書用秘密鍵で復号したことで得られた署名用秘密鍵をフラッシュメモリ２２に記録して、処理を終了する。一方、ステップ２０６で否定判定した場合、ＰＫＩカード５０はそのまま処理を終了する。
【００５５】
上述した実施の形態の処理に係る運用例は、図７に示されるように、ＣＡ局３がＣＡ局１、ＣＡ局２の証明書を書き込み、ＣＡ局３はＰＫＩカードに記録された他のＣＡ局の秘密鍵を取り出せないので、ＣＡ局１、ＣＡ局２の秘密鍵を知ることは出来ないため、複数のＣＡ局が発行する秘密鍵をＰＫＩカードに記録することができる。
【００５６】
以上説明した処理において、ＰＫＩカード５０に記録させる署名用秘密鍵を送信する場合、送信しようとしているＰＫＩカードがどのＰＫＩカードか特定できるようにしても良い。なお、仮にＰＫＩカードを特定できなくても、上述した本実施の形態による処理では、そのＰＫＩカード５０に適合しない署名用秘密鍵を記録することはない。
【００５７】
特定方法の一つは、ＰＫＩカードに一意的なＩＤを割り当てる方法である。この場合、証明書ストアに証明書用公開鍵証明書とともにＩＤを記録しておく。もう一つの方法は、ＰＫＩカードに予めランダムデータを与え、そのランダムデータをＰＫＩカードにより暗号化させ、その暗号化させたランダムデータを取得して、それを証明書ストアに証明書用公開鍵証明書とともに記録しておく方法である。
【００５８】
なお、以上説明したシーケンス図、及びフローチャートの処理の流れは一例であり、本発明の主旨を逸脱しない範囲内で処理順序を入れ替えたり、新たなステップを追加したり、不要なステップを削除したりすることができることは言うまでもない。
【符号の説明】
【００５９】
１１、２１  ＣＰＵ
１２、２２  フラッシュメモリ
１３、２３  ＲＡＭ
１５  ＨＤＤ
１６、２４  通信Ｉ／Ｆ
３０  鍵生成装置
４１  証明書ストア
４２  公開鍵証明書生成部
４３  鍵ペア生成部
４４  暗号化部
４５  タイムスタンプ付与部
５０  ＰＫＩカード
６１  復号化部
６２  証明書用秘密鍵
６３  署名書用秘密鍵
６４  タイムスタンプ検証部
６５  ＴＳＡ証明書
７０  ＴＳＡ
【図１】
2010226366.tif 000003
【図２】
2010226366.tif 000004
【図３】
2010226366.tif 000005
【図４】
2010226366.tif 000006
【図５】
2010226366.tif 000007
【図６】
2010226366.tif 000008
【図７】
2010226366.tif 000009