(57)【要約】【課題】  秘密鍵に一意に対応する電子証明書の検証結果に従って秘密鍵の利用を制御する秘密鍵制御装置、秘密鍵制御システムおよび秘密鍵制御プログラムを提供することを目的とする。【解決手段】  暗号データ復号部４４で認証局から送られた電子証明書を受信し、証明書確認部４５で予め定められた認証局より発行されたか否かを確認し、電子証明書は電子証明書保存部４７に保存し、電子証明書に対応する秘密鍵を鍵保存部４６に保存し、秘密鍵を使用する処理要求を暗号処理部４８で受け付け、電子証明書保存部４７に保存された電子証明書を証明書検証部４９が検証し、受け付けた処理要求に対して鍵保存部４６に保存される秘密鍵を使用を許可する。【選択図】  図２
2008294552.tif 000002
【特許請求の範囲】
【請求項１】
電子証明書を認証局より受信する受信手段と、
前記受信手段で受信した電子証明書が予め定められた認証局より発行されたものであるかを確認する確認手段と、
前記確認手段で確認された電子証明書を保存する電子証明書保存手段と、
前記電子証明書保存手段で保存される電子証明書の公開鍵に対応する秘密鍵を保存する鍵保存手段と、
前記秘密鍵を使用する所定の処理要求を受け付ける受付手段と、
前記電子証明書保存手段に保存する電子証明書の有効性を検証する検証手段と、
前記検証手段により当該電子証明書が有効であった場合に、前記受付手段で受け付けた前記秘密鍵を使用する所定の処理要求に対して、前記鍵保存手段に保存する秘密鍵の使用を許可する許可手段と
を備える秘密鍵制御装置。
【請求項２】
前記認証局が保存する共有鍵と同じ共有鍵を保存する共有鍵保存手段
を更に備え、
前記受信手段は、暗号化された電子証明書を含むデータを受信し、
前記確認手段は、前記受信手段で受信したデータが前記共有鍵によって復号できるかにより、当該電子証明書の認証局の確認を行う請求項１に記載の秘密鍵制御装置。
【請求項３】
前記認証局と同じ共有鍵を保存する共有鍵保存手段
を更に備え、
前記受信手段は、電子署名が付加された電子証明書を含むデータを受信し、
前記確認手段は、前記受信手段で受信した電子署名の前記共有鍵による検証結果より、前記電子証明書の認証局の確認を行う請求項１に記載の秘密鍵制御装置。
【請求項４】
前記認証局の証明書を保存する証明書保存手段
を更に備え、
前記確認手段は、前記受信手段で受信した電子証明書に記載される発行元の認証局と、前記証明書保存手段で保存される証明書の認証局とが同じであるかにより、前記電子証明書の認証局の確認を行う請求項１に記載の秘密鍵制御装置。
【請求項５】
前記鍵保存手段は、前記認証局から送信された秘密鍵を受信して保存する請求項１乃至４のいずれかに記載の秘密鍵制御装置。
【請求項６】
データの暗号化に使用される暗号鍵を生成する生成手段と、
前記生成手段で生成した暗号鍵を前記認証局に送信する暗号鍵送信手段
とを更に備え、
前記鍵保存手段は、前記認証局から前記暗号鍵送信手段で送信した暗号鍵で暗号化された暗号データを受信し、前記生成手段で生成した暗号鍵で当該暗号データを復号することにより秘密鍵を得、当該秘密鍵を保存する請求項５に記載の秘密鍵制御装置。
【請求項７】
秘密鍵と当該秘密鍵に対応する公開鍵とを生成する生成手段と、
前記生成手段で生成した公開鍵を前記認証局に送信する公開鍵送信手段
とを更に備え、
前記受信手段は、前記公開鍵送信手段で送信された公開鍵を含む電子証明書を前記認証局から受信し、
前記鍵保存手段は、前記生成手段で生成された秘密鍵を保存する請求項１乃至４のいずれかに記載の秘密鍵制御装置。
【請求項８】
電子証明書を発行する認証局と、
前記電子証明書を受信する秘密鍵制御装置と
を具備し、
前記秘密鍵制御装置は、
電子証明書を認証局より受信する受信手段と、
前記受信手段で受信した電子証明書が予め定められた認証局より発行されたものであるかを確認する確認手段と、
前記確認手段で確認された電子証明書を保存する電子証明書保存手段と、
前記電子証明書保存手段で保存される電子証明書の公開鍵に対応する秘密鍵を保存する鍵保存手段と、
前記秘密鍵を使用する所定の処理要求を受け付ける受付手段と、
前記電子証明書保存手段に保存する電子証明書の有効性を検証する検証手段と、
前記検証手段により当該電子証明書が有効であった場合に、前記受付手段で受け付けた前記秘密鍵を使用する所定の処理要求に対して、前記鍵保存手段に保存する秘密鍵の使用を許可する許可手段と
を備える秘密鍵制御システム。
【請求項９】
コンピュータを
電子証明書を認証局より受信する受信手段と、
前記受信手段で受信した電子証明書が予め定められた認証局より発行されたものであるかを確認する確認手段と、
前記確認手段で確認された電子証明書を保存する電子証明書保存手段と、
前記電子証明書保存手段で保存される電子証明書の公開鍵に対応する秘密鍵を保存する鍵保存手段と、
前記秘密鍵を使用する所定の処理要求を受け付ける受付手段と、
前記電子証明書保存手段に保存する電子証明書の有効性を検証する検証手段と、
前記検証手段により当該電子証明書が有効であった場合に、前記受付手段で受け付けた前記秘密鍵を使用する所定の処理要求に対して、前記鍵保存手段に保存する秘密鍵の使用を許可する許可手段
として機能させる秘密鍵制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密鍵制御装置、秘密鍵制御システムおよび秘密鍵制御プログラムに関する。
【背景技術】
【０００２】
近年、電子文書のセキュリティを維持すべく、様々な対策が講じられている。
【０００３】
セキュリティ対策の一つとして、一般に公開される公開鍵と、公開しない秘密鍵とを利用する技術が存在する。  公開鍵と秘密鍵を利用した技術では、文書の通信間における暗号化や電子メールの署名などが行われる。
【０００４】
暗号化に関しては、通信相手の公開鍵で文書を暗号化してデータを送信し、データを受信した方は自らの秘密鍵でデータを復号して文書を閲覧する。  これにより、秘密鍵を持っている受信側でないと送信された文書を閲覧することはできなくなる。
【０００５】
また、電子メールの署名に関しては、電子メールのハッシュ値を送信者の秘密鍵で暗号化した署名を電子メールに付加して通信相手に送信し、受信した相手は、電子メールに付加されたデータを送信者の公開鍵で復号した値と電子メールが得られるハッシュ値とを比べることで、送信者の正当性確認と電子メールが改ざんされていないことの確認が可能となる。
【０００６】
そして、特許文献１には、公開鍵によって暗号化された電子文書の復号において、暗号化に使用された公開鍵の電子証明書を検証し、検証結果によって、復号の使用可否判断を行う情報復号方法および装置並びにプログラム、暗号化情報作成方法および装置並びにプログラム、暗号化情報、文書編集方法および装置並びにプログラムが提案されている。
【０００７】
また、特許文献２には、複合機の電子メール送信部において、暗号化あるいは署名に使用される電子証明書を検証し、検証結果によって、暗号化あるいは署名の可否判断を行う情報処理装置、データ送信方法、プログラムが提案されている。
【特許文献１】特願２００５−１０９６６１号公報
【特許文献２】特願２００６−０７４６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
先に示した特許文献１の発明では、秘密鍵が第三者に漏洩したといった場合や、企業において退職社員が秘密鍵の返却を怠った場合などに、それら秘密鍵を使った不正な文書閲覧を禁止することが可能となる。  しかし、この特許文献１の発明においては、秘密鍵を使用した署名、認証に関する対策には触れられておらず、漏洩した秘密鍵や退職時に返却されなかった秘密鍵を利用した署名や認証についての制御はできない。
【０００９】
また、特許文献２の発明では、電子証明書を失効させることで、電子メールの暗号化や署名を制御することが可能となる。  しかし、この特許文献２の発明においては、秘密鍵と電子証明書との対応については触れられておらず、別の認証局を利用して作成した偽の電子証明書を対応させることによって電子証明書の検証に成功させ、不正に署名メールを作成することを防ぐことはできない。
【００１０】
これらの課題を解決する為には、秘密鍵そのものに対して一意に割り当てられた電子証明書を検証するようにして、その結果により、暗号／復号／署名／認証などの秘密鍵を必要とする処理を制御する方式が考えられる。  この方式では、秘密鍵に対して電子証明書を一意に決定する必要がある。
【００１１】
そこで、この発明は、秘密鍵に一意に対応する電子証明書の検証結果に従って秘密鍵の利用を制御する秘密鍵制御装置、秘密鍵制御システムおよび秘密鍵制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１の発明の秘密鍵制御装置は、電子証明書を認証局より受信する受信手段と、前記受信手段で受信した電子証明書が予め定められた認証局より発行されたものであるかを確認する確認手段と、前記確認手段で確認された電子証明書を保存する電子証明書保存手段と、前記電子証明書保存手段で保存される電子証明書の公開鍵に対応する秘密鍵を保存する鍵保存手段と、前記秘密鍵を使用する所定の処理要求を受け付ける受付手段と、前記電子証明書保存手段に保存する電子証明書の有効性を検証する検証手段と、前記検証手段により当該電子証明書が有効であった場合に、前記受付手段で受け付けた前記秘密鍵を使用する所定の処理要求に対して、前記鍵保存手段に保存する秘密鍵の使用を許可する許可手段とを備えるように構成される。
【００１３】
また、請求項２の発明は、請求項１の発明において、前記認証局が保存する共有鍵と同じ共有鍵を保存する共有鍵保存手段を更に備え、前記受信手段は、暗号化された電子証明書を含むデータを受信し、前記確認手段は、前記受信手段で受信したデータが前記共有鍵によって復号できるかにより、当該電子証明書の認証局の確認を行うように構成される。
【００１４】
また、請求項３の発明は、請求項１の発明において、前記認証局と同じ共有鍵を保存する共有鍵保存手段を更に備え、前記受信手段は、電子署名が付加された電子証明書を含むデータを受信し、前記確認手段は、前記受信手段で受信した電子署名の前記共有鍵による検証結果により、前記電子証明書の認証局の確認を行うように構成される。
【００１５】
また、請求項４の発明は、請求項１の発明において、前記認証局の証明書を保存する証明書保存手段を更に備え、前記確認手段は、前記受信手段で受信した電子証明書に記載される発行元の認証局と、前記証明書保存手段で保存される証明書の認証局とが同じであるかにより、前記電子証明書の認証局の確認を行うように構成される。
【００１６】
また、請求項５の発明は、請求項１乃至４に記載のいずれかの発明において、前記鍵保存手段は、前記認証局から送信された秘密鍵を受信して保存するように構成される。
【００１７】
また、請求項６の発明は、請求項５の発明において、データの暗号化に使用される暗号鍵を生成する生成手段と、前記生成手段で生成した暗号鍵を前記認証局に送信する暗号鍵送信手段とを更に備え、前記鍵保存手段は、前記認証局から前記暗号鍵送信手段で送信した暗号鍵で暗号化された暗号データを受信し、前記生成手段で生成した暗号鍵で当該暗号データを復号することにより秘密鍵を得、当該秘密鍵を保存するように構成される。
【００１８】
また、請求項７の発明は、請求項１乃至４に記載のいずれかの発明において、秘密鍵と当該秘密鍵に対応する公開鍵とを生成する生成手段と、前記生成手段で生成した公開鍵を前記認証局に送信する公開鍵送信手段とを更に備え、前記受信手段は、前記公開鍵送信手段で送信された公開鍵を含む電子証明書を前記認証局から受信し、前記鍵保存手段は、前記生成手段で生成された秘密鍵を保存するように構成される。
【００１９】
また、請求項８の発明の秘密鍵制御システムは、電子証明書を発行する認証局と、前記電子証明書を受信する秘密鍵制御装置とを具備し、前記秘密鍵制御装置は、電子証明書を認証局より受信する受信手段と、前記受信手段で受信した電子証明書が予め定められた認証局より発行されたものであるかを確認する確認手段と、前記確認手段で確認された電子証明書を保存する電子証明書保存手段と、前記電子証明書保存手段で保存される電子証明書の公開鍵に対応する秘密鍵を保存する鍵保存手段と、前記秘密鍵を使用する所定の処理要求を受け付ける受付手段と、前記電子証明書保存手段に保存する電子証明書の有効性を検証する検証手段と、前記検証手段により当該電子証明書が有効であった場合に、前記受付手段で受け付けた前記秘密鍵を使用する所定の処理要求に対して、前記鍵保存手段に保存する秘密鍵の使用を許可する許可手段とを備えるように構成される。
【００２０】
また、請求項９の発明の秘密鍵制御プログラムは、コンピュータを電子証明書を認証局より受信する受信手段と、前記受信手段で受信した電子証明書が予め定められた認証局より発行されたものであるかを確認する確認手段と、前記確認手段で確認された電子証明書を保存する電子証明書保存手段と、前記電子証明書保存手段で保存される電子証明書の公開鍵に対応する秘密鍵を保存する鍵保存手段と、前記秘密鍵を使用する所定の処理要求を受け付ける受付手段と、前記電子証明書保存手段に保存する電子証明書の有効性を検証する検証手段と、前記検証手段により当該電子証明書が有効であった場合に、前記受付手段で受け付けた前記秘密鍵を使用する所定の処理要求に対して、前記鍵保存手段に保存する秘密鍵の使用を許可する許可手段として機能させるように構成される。
【発明の効果】
【００２１】
請求項１または請求項８または請求項９の発明によれば、秘密鍵の使用に際して、秘密鍵と対応する電子証明書の有効性を検証して初めて使用することができるようにすることができるという効果を奏する。
【００２２】
また、請求項２の発明によれば、共有鍵でデータを復号することにより、電子証明書を送信した認証局を確認することができるという効果を奏する。
【００２３】
また、請求項３の発明によれば、共有鍵で署名を検証することにより、電子証明書を送信した認証局を確認することができるという効果を奏する。
【００２４】
また、請求項４の発明によれば、保存された証明書によって、電子証明書を送信した認証局を確認することができるという効果を奏する。
【００２５】
また、請求項５の発明によれば、電子証明書の有効性の検証後に使用を許可する秘密鍵を認証局から送信されるようにすることができるという効果を奏する。
【００２６】
また、請求項６の発明によれば、認証局から送信される秘密鍵を暗号化された状態で受信することができるという効果を奏する。
【００２７】
また、請求項７の発明によれば、秘密鍵制御装置で生成した秘密鍵とペアの公開鍵に対応する電子証明書により、その秘密鍵の使用を制御することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下、本発明に係わる秘密鍵制御システムの実施例について添付図面を参照して詳細に説明する。
【００２９】
まず、本発明に係わる秘密鍵制御システム１００の構成の概略について図１を参照して説明する。
【００３０】
図１は、秘密鍵制御システム１００の構成について示した概略図である。
【００３１】
図１（ａ）は、本発明に係わる秘密鍵制御システム１００の構成の概略を示した図であり、秘密鍵制御システム１００は、事業所１に配置されるパーソナルコンピュータ（以下、ＰＣと略す）４／６（実施例１、実施例２ではＰＣ４が使用され、実施例３、実施例４ではＰＣ６が使用される）と認証局２に配置されるＰＣ５／７（実施例１、実施例２ではＰＣ５が使用され、実施例３、実施例４ではＰＣ７が使用される）とが通信回線３により接続されて構成される。
【００３２】
認証局２とは、事業所１内のＰＣ４／６で使用される秘密鍵に対応する公開鍵を証明する電子証明書の発行、管理を行う機関である。
【００３３】
認証局２は、ＣＡ(Certificate Authority)であり、パブリックＣＡ（不特定多数の広い範囲で電子証明書の保証を行う）でもプライベートＣＡ（企業内などの閉じた範囲で電子証明書の保証を行う）でもよい。
【００３４】
図１（ｂ）について説明すると、事業所１内で使用されるＰＣ４内に秘密鍵制御モジュール４０が備えられ、そして、認証局２内で使用されるＰＣ５内には認証局モジュール５０が備えられる例については、実施例１で説明を行う。
【００３５】
また、図１（ｂ）について、事業所内で使用されるＰＣ４内に秘密鍵制御モジュール６０が備えられ、そして、認証局２内で使用されるＰＣ５内には認証局モジュール７０が備えられる例については、実施例２で説明を行う。
【００３６】
また、図１（ｃ）について説明すると、事業所１内で使用されるＰＣ６内に秘密鍵制御モジュール９０が備えられ、そして、認証局２内で使用されるＰＣ７内には認証局モジュール１１０が備えられる例については、実施例３で説明を行う。
【００３７】
また、図１（ｃ）について、事業所内で使用されるＰＣ６内に秘密鍵制御モジュール１２０が備えられ、そして、認証局２内で使用されるＰＣ７内には認証局モジュール１４０が備えられる例については、実施例４で説明を行う。
【００３８】
まず、実施例１で説明される事業所１内のＰＣ４は、図１（ｂ）に示すように、認証局証明書登録部１０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール４０を備える。  そして、実施例１で説明される認証局２内のＰＣ５は、図１（ｂ）に示すように、認証局モジュール５０を備える。
【００３９】
ＰＣ４内の認証局証明書登録部１０には、認証局２の認証局証明書が記憶される。  認証局証明書登録部１０に記憶される認証局２の認証局証明書は、ＰＣ４が製品として工場から出荷される時点で既に記憶されている。  しかし、ＰＣ４の工場出荷時点では認証局証明書登録部１０には認証局２の認証局証明書は記憶されておらず、後でユーザが認証局証明書登録部１０に認証局２の認証局証明書を記憶させるようにしてもよい。
【００４０】
電子証明書登録部２０は、ＰＣ４のキーボードなどから入力されるユーザからの電子証明書登録要求を受け付ける。
【００４１】
データ処理部３０は、各種データの処理を行い、データの処理において秘密鍵が必要である場合には秘密鍵制御モジュール４０にそのデータを送って秘密鍵による処理を要求する。  秘密鍵が必要な処理とは、暗号／復号／署名／認証などの処理である。  データ処理部３０から秘密鍵制御モジュール４０に送られるデータは、暗合化されるデータや、復号が必要な暗号データや、署名の元となるハッシュ値や、認証に必要なデータなどである。  秘密鍵制御モジュール４０では、これらのデータが送られて、電子証明書の有効性の確認が行われた後に、秘密鍵を使用したデータの処理（暗号／復号／署名／認証）が行われる。
【００４２】
秘密鍵制御モジュール４０は、秘密鍵とその秘密鍵に対応する電子証明書を登録し、データ処理部３０からデータの暗号／復号／署名／認証のいずれかの要求を受け付けて、その秘密鍵を使用した暗号／復号／署名／認証のいずれかの処理を行う。
【００４３】
秘密鍵制御モジュール４０には１つの秘密鍵だけが登録され、また、登録される電子証明書は、対応される秘密鍵に対して一意なものである。
【００４４】
認証局モジュール５０は、ＰＣ４の秘密鍵制御モジュール４０から暗号キーが送られると、秘密鍵とその秘密鍵に対応する電子証明書を生成して、秘密鍵制御モジュール４０から送られた暗号キーで、生成した秘密鍵とその秘密鍵に対応する電子証明書を暗号化して秘密鍵制御モジュール４０に送信する。
【００４５】
次に、実施例２で説明される事業所１内のＰＣ４は、図１（ｂ）に示すように、認証局証明書登録部１０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール６０を備える。  そして、実施例２で説明される認証局２内のＰＣ５は、図１（ｂ）に示すように、認証局モジュール７０を備える。
【００４６】
実施例２で説明されるＰＣ４内の認証局証明書登録部１０、電子証明書登録部２０、データ処理部３０は、実施例１で説明されるＰＣ４内のそれぞれと同じである。
【００４７】
秘密鍵制御モジュール６０は、公開鍵と秘密鍵のペアを生成し、そして、秘密鍵とその秘密鍵に対応する電子証明書とを登録する。  そして、秘密鍵制御モジュール６０は、データ処理部３０からデータの暗号／復号／署名／認証のいずれかの要求を受け付けて、その暗号／復号／署名／認証のいずれかの処理を登録した秘密鍵を使用して行う。  秘密鍵制御モジュール６０には１つの秘密鍵だけが登録され、また、登録される電子証明書は、対応される秘密鍵に対して一意なものである。
【００４８】
認証局モジュール７０は、ＰＣ４の秘密鍵制御モジュール６０から公開鍵が送られると、その公開鍵の電子証明書を生成して秘密鍵制御モジュール６０に送信する。
【００４９】
次に、実施例３で説明される事業所１内のＰＣ６は、図１（ｃ）に示すように、SharedSecret登録部８０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール９０を備える。  そして、実施例３で説明される認証局２内のＰＣ７は、図１（ｃ）に示すように、認証局モジュール１１０を備える。
【００５０】
実施例３で説明されるＰＣ６内の電子証明書登録部２０、データ処理部３０は、実施例１で説明されるＰＣ４内のそれぞれと同じである。
【００５１】
SharedSecret登録部８０は、認証局２内のＰＣ７の認証局モジュール１４０に記憶されるSharedSecretと同じSharedSecretを記憶する。  SharedSecretは、データを暗復号できる共通鍵の一種である。
【００５２】
秘密鍵制御モジュール９０は、秘密鍵とその秘密鍵に対応する電子証明書を登録し、データ処理部３０からデータの暗号／復号／署名／認証のいずれかの要求を受け付けて、その秘密鍵を使用した暗号／復号／署名／認証のいずれかの処理を行う。  秘密鍵制御モジュール９０には１つの秘密鍵だけが登録され、また、登録される電子証明書は、対応される秘密鍵に対して一意なものである。
【００５３】
認証局モジュール１１０は、ＰＣ７の秘密鍵制御モジュール９０から暗号キーが送られると、秘密鍵とその秘密鍵に対応する電子証明書を生成して暗号キーで暗号化し、暗号化したデータにSharedSecretによる署名を付加して秘密鍵制御モジュール９０に送信する。
【００５４】
次に、実施例４で説明される事業所１内のＰＣ６は、図１（ｃ）に示すように、SharedSecret登録部８０、電子証明書登録部２０、データ処理部３０、秘密制御モジュール１２０を備える。  そして、実施例４で説明される認証局２内のＰＣ７は、図１（ｃ）に示すように、認証局モジュール１４０を備える。
【００５５】
実施例４で説明されるＰＣ６内の電子証明書登録部２０、データ処理部３０は、実施例１で説明されるＰＣ４内のそれぞれと同じである。
【００５６】
秘密鍵制御モジュール１２０は、公開鍵と秘密鍵のペアを生成し、そして、秘密鍵とその秘密鍵に対応する電子証明書とを登録する。  そして、秘密鍵制御モジュール１２０は、データ処理部３０からデータの暗号／復号／署名／認証のいずれかの要求を受け付けて、その秘密鍵を使用した暗号／復号／署名／認証のいずれかの処理を行う。  秘密鍵制御モジュール１２０には１つの秘密鍵だけが登録され、また、登録される電子証明書は、対応される秘密鍵に対して一意なものである。
【００５７】
認証局モジュール１４０は、ＰＣ６の秘密鍵制御モジュール１２０から公開鍵が送られると、その公開鍵の電子証明書を生成して、SharedSecretによる署名を付加して秘密鍵制御モジュール１２０に送信する。
【００５８】
このように、秘密鍵制御システム１００は、事業所１のＰＣ４／６と認証局２のＰＣ５／７とが通信回線３によって接続された状態である。  そして、秘密鍵制御システム１００を説明する実施例は、事業所１、認証局２内に備えられるＰＣの違いにより実施例を変えて説明する。  具体的には、実施例１では、認証局証明書登録部１０、秘密鍵制御モジュール４０を備えるＰＣ４と認証局モジュール５０を備えるＰＣ５とで構成される秘密鍵制御システム１００について説明し、実施例２では、認証局証明書登録部１０、秘密鍵制御モジュール６０を備えるＰＣ４と認証局モジュール７０を備えるＰＣ５とで構成される秘密鍵制御システム１００について説明し、実施例３では、SharedSecret登録部８０、秘密鍵制御モジュール９０を備えるＰＣ６と認証局モジュール１１０を備えるＰＣ７とで構成される秘密鍵制御システム１００について説明し、実施例４では、SharedSecret登録部８０、秘密鍵制御モジュール１２０を備えるＰＣ６と認証局モジュール１４０を備えるＰＣ７とで構成される秘密鍵制御システム１００について説明する。
【実施例１】
【００５９】
本実施例では、事業所１内で使用されるＰＣ４内に認証局証明書登録部１０、秘密鍵制御モジュール４０などが備えられ、認証局２内で使用されるＰＣ５内に認証局モジュール５０が備えられる秘密鍵制御システム１００について説明を行う（図１（ｂ）を参照して説明した構成）。
【００６０】
まず、秘密鍵制御モジュール４０と認証局モジュール５０などの構成について図２を参照して説明を行う。
【００６１】
図２は、秘密鍵制御モジュール４０と認証局モジュール５０などの構成について示したブロック図である。
【００６２】
事業所１内のＰＣ４内には、認証局証明書登録部１０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール４０が備えられ、認証局２内のＰＣ５内には、認証局モジュール５０が備えられる。
【００６３】
秘密鍵制御モジュール４０は、認証局証明書保存部４１、暗号キー生成部４２、暗号キー保存部４３、暗号データ復号部４４、証明書確認部４５、鍵保存部４６、電子証明書保存部４７、暗号処理部４８、証明書検証部４９を備える。
【００６４】
認証局モジュール５０は、暗号データ生成部５１、証明書生成部５２、鍵生成部５３を備える。
【００６５】
認証局証明書保存部４１は、認証局証明書登録部１０より受け付けた認証局証明書を記憶保存することにより、認証局証明書の登録を行う。  そして、認証局証明書保存部４１は、１つの認証局証明書しか登録しない。
【００６６】
暗号キー生成部４２は、電子証明書登録部２０よりユーザからの電子証明書登録要求を受け付け、認証局証明書保存部４１に認証局証明書が登録されていることを確認し、認証局モジュール５０に送信する暗号キーを生成する。  暗号キー生成部４２は、生成した暗号キーを暗号キー保存部４３に登録し、生成した暗号キーを認証局モジュール５０に送信する。
【００６７】
暗号キー保存部４３は、暗号キー生成部４２で生成された暗号キーを記憶保存することで、暗号キーの登録を行う。  暗号キー保存部４３に登録される暗号キーは１つである。  そして、一旦、暗号キー保存部４３に暗号キーが登録されると、暗号キー保存部４３には常に１つだけの暗号キーが登録された状態となる。
【００６８】
暗号データ復号部４４は、認証局モジュール５０より受信した暗号データを、暗号キー保存部４３に登録されている暗号キーで復号する。  暗号データ復号部４４は、暗号キーによって復号した暗号データから、電子証明書と秘密鍵を入手すると、電子証明書を証明書確認部４５に渡し、秘密鍵を鍵保存部４６に渡す。
【００６９】
証明書確認部４５は、暗号データ復号部４４より渡される電子証明書を受け取り、そして、その電子証明書が認証局証明書保存部４１に登録されている認証局証明書より証明される認証局から発行されたものであることを確認する。  その後、証明書確認部４５は、渡された電子証明書に含まれる公開鍵が、鍵保存部４６に登録される秘密鍵に対応すること確認して、確認後、その電子証明書を電子証明書保存部４７に登録する。
【００７０】
鍵保存部４６は、暗号データ復号部４４より秘密鍵を受け取り、その秘密鍵を記憶保存することで、秘密鍵の登録を行う。  鍵保存部４６には、１つだけの秘密鍵が登録され、一旦、秘密鍵が登録されると、新たな秘密鍵の登録は行われず、鍵保存部４６には常に１つだけの秘密鍵が登録された状態となる。  また、鍵保存部４６は、証明書確認部４５や暗号処理部４８より秘密鍵を要求されると、登録する秘密鍵を要求を行った証明書確認部４５や暗号処理部４８に渡す。
【００７１】
電子証明書保存部４７は、証明書確認部４５より渡された電子証明書を記憶保存することで、電子証明書の登録を行う。
【００７２】
暗号処理部４８は、文書操作部３０から秘密鍵が必要な暗号／復号／署名／認証のいずれかの処理が要求されると、電子証明書保存部４７から電子証明書を取得し、取得した電子証明書を証明書検証部４９に渡して、電子証明書の有効性の確認を行わせる。  暗号処理部４８は、電子証明書の有効性が確認されると、鍵保存部４６に登録される秘密鍵を入手して、文書操作部３０より要求された暗号／復号／署名／認証のいずれかの処理を実行する。
【００７３】
証明書検証部４９は、暗号処理部４８から電子証明書を受け取ると、受け取った電子証明書の有効性の確認を行う。  証明書検証部４９が行う電子証明書の有効性を確認する処理は、電子証明書の有効期限を確認する処理、或いは、ユーザに電子証明書の内容を表示する処理、或いは、予め設定された条件に電子証明書の内容が合致しているか否かを確認する処理などによって行われる。
【００７４】
認証局モジュール５０が備える暗号データ生成部５１は、秘密鍵制御モジュール４０から暗号キーを受信すると、鍵生成部５３に公開鍵と秘密鍵のペアを生成するように要求し、鍵生成部５３によって生成された公開鍵を証明書生成部５２に渡して電子証明書を生成させる。  その後、暗号データ生成部５１は、生成された電子証明書と秘密鍵とを秘密鍵制御モジュール４０から受信した暗号キーによって暗号化し、暗号化した暗号データを秘密鍵制御モジュール４０に送信する。
【００７５】
証明書生成部５２は、暗号データ生成部５１から公開鍵を受信して電子証明書の生成要求を受けると、受信した公開鍵より電子証明書を生成して、生成した電子証明書を暗号データ生成部５１に渡す。
【００７６】
鍵生成部５３は、暗号データ生成部５１から要求があると、公開鍵と秘密鍵のペアを生成する。
【００７７】
次に、ＰＣ４内の秘密鍵制御モジュール４０に秘密鍵とその秘密鍵に一意な電子証明書が登録される処理について図３、図４を参照して説明を行う。
【００７８】
図３、図４は、秘密鍵制御モジュール４０に、秘密鍵とその秘密鍵に一意な電子証明書が登録される処理を示したフローチャートである。
【００７９】
まず、認証局証明書登録部１０に記憶される認証局２の認証局証明書が、秘密鍵制御モジュール４０内の認証局証明書保存部４１に登録される処理が行われる（ステップ３０１）。
【００８０】
認証局証明書保存部４１には１つの認証局証明書しか登録されないので、認証局証明書登録部１０から認証局証明書保存部４１への登録は、秘密鍵制御システム１００において１度だけである。  したがって、認証局証明書登録部１０から認証局証明書保存部４１へ認証局証明書の登録が試みられるときに、認証局証明書保存部４１に既に認証局証明書が登録されていたときには登録の処理は行われない。  つまり、認証局証明書保存部４１に、一旦、認証局証明書が登録されると新たな認証局証明書は登録されず、認証局証明書保存部４１には常に１つの認証局証明書が登録された状態となる。
【００８１】
認証局証明書保存部４１に認証局証明書が登録された後に、ＰＣ４のキーボードなどから認証局２への電子証明書を生成する要求をユーザから受け付けることができる。
【００８２】
ＰＣ４のキーボードなどから、認証局２へ電子証明書を生成する要求が行われると、電子証明書登録部２０がその要求を受け付けて、電子証明書登録部２０が暗号キー生成部４２に電子証明書登録要求を行う。
【００８３】
暗号キー生成部４２が電子証明書登録部２０からの電子証明書登録要求を受け付けると（ステップ３０２）、暗号キー生成部４２は、認証局証明書保存部４１に認証局２の認証局証明書が登録されていることを確認して（ステップ３０３でＹＥＳ）、認証局モジュール５０に送信する暗号キーを生成する（ステップ３０４）。  生成される暗号キーは、認証局モジュール５０で、秘密鍵モジュール４０に送信するデータを暗号化するためのものである。  暗号キー生成部４２で生成された暗号キーは暗号キー保存部４３に登録され（ステップ３０５）、そして、暗号キー保存部４３に登録された暗号キーと同じ暗号キーが暗号キー生成部４２から認証局モジュール５０に送信される（ステップ３０６）。
【００８４】
なお、ステップ３０３で認証局証明書保存部４１に認証局２の認証局証明書が登録されていなかった場合には（ステップ３０３でＮＯ）、エラーとして処理は中断される（ステップ３１９）。
【００８５】
また、ステップ３０５で暗号キー保存部４３に登録される暗号キーは１つだけであり、暗号キー保存部４３に暗号キーが登録されると、暗号キー保存部４３には常に１つの暗号キーが登録された状態となる。
【００８６】
暗号キー生成部４２から暗号キーの送信を受けた認証局モジュール５０は、暗号データ生成部５１が暗号キーを受信する（ステップ３０７）。
【００８７】
暗号データ生成部は暗号キーを受信すると、鍵生成部５３に、公開鍵と秘密鍵のペアを生成する公開鍵ペア生成要求を渡す。
【００８８】
公開鍵ペア生成要求が渡された鍵生成部５３は、公開鍵と秘密鍵のペアを生成する（ステップ３０８）。
【００８９】
そして、鍵生成部５３は、生成した公開鍵と秘密鍵のペアを暗号データ生成部５１に渡す。
【００９０】
公開鍵と秘密鍵のペアを渡された暗号データ生成部５１は、その公開鍵を証明書生成部５２に渡す。
【００９１】
証明書生成部５２は、渡された公開鍵から電子証明書を生成して（ステップ３０９）、暗号データ生成部５１に生成した電子証明書を渡す。
【００９２】
この時点で、暗号データ生成部５１は、秘密鍵制御モジュール４０から渡された暗号キーと、認証局モジュール５０内で生成した秘密鍵とその秘密鍵に対応する電子証明書とを取得している。
【００９３】
そして、暗号データ生成部５１は、秘密鍵とその秘密鍵に対応する電子証明書を暗号キーで暗号化して（ステップ３１０）、秘密鍵制御モジュール４０に送信する暗号データを生成する。  生成された暗号データは、認証局２のＰＣ５の暗号データ生成部５１から、事業所１に備えられるＰＣ４内の秘密鍵制御モジュール４０の暗号データ復号部４４に送信される（ステップ３１１）。
【００９４】
認証局２から送られた暗号データは、ＰＣ４内の暗号データ復号部４４で受信される（ステップ３１２）。
【００９５】
暗号データ復号部４４は、暗号データ受信後に、暗号キー保存部４３より暗号キーを取得して、認証局２より受信した暗号データの復号を取得した暗号キーを使って行う。
【００９６】
暗号キー保存部４３より暗号キーを取得できなかった場合や暗号データの復号ができなかった場合には、秘密鍵制御システム１００における処理がエラーとして中断される（ステップ３１３でＮＯ）。
【００９７】
しかし、暗号キーが取得され暗号データの復号が行われた場合には（ステップ３１３でＹＥＳ）、復号されることによって、暗号データ復号部４４は暗号データに含まれていた秘密鍵とその秘密鍵に対応する電子証明書とを取得する。  暗号データ復号部４４は取得した秘密鍵を鍵保存部４６に渡す。
【００９８】
秘密鍵が渡された鍵保存部４６で、既に秘密鍵が登録されていた場合には（ステップ３１４でＮＯ）、エラーとして処理は中断される（ステップ３１９）。  また、秘密鍵が渡された鍵保存部４６で、未だ秘密鍵が登録されていない場合には（ステップ３１４でＹＥＳ）、鍵保存部４６は渡された秘密鍵を登録する（ステップ３１５）。
【００９９】
そして、暗号データ復号部４４は取得した電子証明書を証明書確認部４５に渡す。
【０１００】
証明書確認部４５は、認証局証明書保存部４１より認証局証明書保存部４１に登録される認証局証明書を取得して、渡された電子証明書の認証局が取得した認証局証明書の認証局であることを確認する。
【０１０１】
このとき、証明書確認部４５が認証局証明書保存部４１より認証局証明書を取得できない場合や、取得できたとしても渡された電子証明書の認証局と取得した認証局証明書の認証局とが異なっていた場合は、電子証明書の認証局の確認が行われなかったものとされ（ステップ３１６でＮＯ）、エラーとして処理は中断される（ステップ３１９）。
【０１０２】
証明書確認部４５で、渡された電子証明書の認証局が、取得した認証局証明書の認証局であることが確認できた場合には（ステップ３１６でＹＥＳ）、次に、証明書確認部４５は、鍵保存部４６から鍵保存部４６に登録される秘密鍵を取得する。  そして、証明書確認部４５は、暗号データ復号部４４から渡された電子証明書の公開鍵が、鍵保存部４６より取得した秘密鍵と対応関係にあることを確認する。
【０１０３】
このとき、証明書確認部４５が鍵保存部４６より秘密鍵を取得できなかった場合や、暗号データ復号部４４から渡された電子証明書の公開鍵が秘密鍵と対応関係になかった場合には、電子証明書の公開鍵の確認が行われなかったものとされ（ステップ３１７でＮＯ）、エラーとして処理は中断される（ステップ３１９）。
【０１０４】
電子証明書の認証局の確認（ステップ３１６でＹＥＳ）と、電子証明書の公開鍵の確認（ステップ３１７でＹＥＳ）とがされると、証明書確認部４５は、認証局と公開鍵との確認が行われた電子証明書を電子証明書保存部４７に登録する（ステップ３１８）。  ここで、電子証明書保存部４７に登録される電子証明書は１つだけであり、一旦、電子証明書保存部４７に電子証明書が登録されると新たな電子証明書の登録は行われず、電子証明書保存部４７には常に１つだけの電子証明書が登録された状態となる。
【０１０５】
このようにして、ＰＣ４に秘密鍵とその秘密鍵に一意な電子証明書の登録が完了する。  秘密鍵の使用が要求される場合には、登録された電子証明書の有効性が確認された後に秘密鍵の使用が行われるように、秘密鍵制御モジュール４０は制御される。
【０１０６】
次に、ＰＣ４で秘密鍵が必要なデータの暗号等の要求が行われる処理について図５を参照して説明を行う。
【０１０７】
図５は、ＰＣ４で秘密鍵が必要なデータの暗号等の要求が行われる処理について示したフローチャートである。
【０１０８】
ＰＣ４において、秘密鍵を必要とするデータの暗号／復号／署名／認証のいずれかの処理の要求が発生すると、データ処理部３０が処理要求を暗号処理部４８に対して送る。
【０１０９】
データ処理部３０が暗号処理部４８に送る処理要求には、要求が、暗号ならば暗号化されるデータ、復号ならば暗号データ、署名ならばメッセージから割り出したハッシュ値等、認証ならば認証に必要なデータが含まれる。  これらの処理要求はいずれも秘密鍵の使用が必要な処理である。
【０１１０】
暗号処理部４８は、暗号／復号／署名／認証のいずれかの処理要求をデータ処理部３０より受け付けると（ステップ５０１）、電子証明書保存部４７より電子証明書を取得する。
【０１１１】
電子証明書保存部４７に電子証明書が登録されてないなどの理由により、暗号処理部４８が電子証明書保存部４７より電子証明書を取得できなかったら（ステップ５０２でＮＯ）、エラーとして処理は中断される（ステップ５０８）。
【０１１２】
暗号処理部４８が電子証明書保存部４７より電子証明書を取得すると（ステップ５０２でＹＥＳ）、暗号処理部４８は、電子証明書を証明書検証部４９に渡して、電子証明書の有効性の確認を行わせる。
【０１１３】
証明書検証部４９は、渡された電子証明書の有効性を確認する処理を、電子証明書の有効期限を確認する処理、或いは、ユーザに電子証明書の内容を表示する処理、或いは、予め設定された条件に電子証明書の内容が合致しているか否かを確認する処理によって行う（ステップ５０３）。
【０１１４】
証明書検証部４９によって、電子証明書の有効性が確認されなかったら（ステップ５０４でＮＯ）、エラーとして処理は中断される（ステップ５０８）。  処理が中断されると、データ処理部３０より要求された処理は行われない。
【０１１５】
また、証明書検証部４９によって、電子証明書の有効性が確認されたら（ステップ５０４でＹＥＳ）秘密鍵の使用が許可され、暗号処理部４８は、鍵保存部４６に登録される秘密鍵を鍵保存部４６から取得する（ステップ５０５）。
【０１１６】
暗号処理部４８は、鍵保存部４６より取得した秘密鍵を使用して、データ処理部３０から受け付けた処理要求に対する処理を行う（ステップ５０６）。  つまり、処理要求が、暗号であれば秘密鍵が使用されてデータの暗号化が行われ、復号であれば秘密鍵が使用されて暗号データの復号が行われ、署名であれば秘密鍵が使用されてハッシュ値の暗号化が行われ、認証ならば秘密鍵が使用されて認証が行われる。
【０１１７】
そして、暗号処理部４８で行われた処理により生成されたデータが、暗号処理部４８からデータ処理部３０に送られる（ステップ５０７）。  暗号処理部４８からデータ処理部３０に送られるデータは、暗号化されたデータ、或いは、復号されたデータ、或いは、署名、或いは、認証結果などである。
【０１１８】
このようなデータが送られたデータ処理部３０は、送られるデータを受信し、処理要求の結果を得る。
【０１１９】
次に、本発明に係わる秘密鍵制御システム１００の応用例について図６を参照して説明を行う。
【０１２０】
図６は、秘密鍵制御システム１００の応用例について示した図である。
【０１２１】
図６（ａ）に示すように、秘密鍵制御システム１００の応用例としては、認証局２に配置されるＰＣ５と事業所１に配置されるＰＣ４とが通信回線３により接続され、そして、事業所１内のＰＣ４にはＩＣ(Integrated Circuit)カード読書き装置６０１が接続される。
【０１２２】
ＩＣカード読書き装置６０１は、ＩＣカード６０２に記録された情報を読み取ることができ、また、ＩＣカード６０２に対して情報を書き込むことができる。
【０１２３】
ＰＣ４は、認証証明書登録部１０、電子証明書登録部２０、データ処理部３０を備える。  そして、ＩＣカード６０２には、秘密鍵制御モジュール４０の機能がプログラムとして組み込まれている。
【０１２４】
ＩＣカード６０２に配置される秘密鍵制御モジュール４０は、図１（ｂ）を参照して説明したＰＣ４に備えられる秘密鍵制御モジュール４０の機能がプログラムとしてＩＣカード６０２内に組み込まれた状態である。
【０１２５】
図３、図４を参照して説明した、秘密鍵制御モジュール４０への秘密鍵とその秘密鍵に一意な電子証明書の登録は、ＩＣカード６０２がＩＣカード読書き装置６０１にセットされた状態で行われる。  ＩＣカード６０２内の秘密鍵制御モジュール４０への秘密鍵とその秘密鍵に一意な電子証明書の登録の処理は、ＰＣ４内に配置される認証局証明書登録部１０、電子証明書登録部２０、データ処理部３０と、ＩＣカード６０２内にプログラムとして組み込まれた秘密鍵制御モジュール４０によって、図３、図４を参照して説明したように行われるが、ＩＣカード６０２内に外部との情報の授受を行う図示しない通信インタフェースが存在して、秘密鍵制御モジュール４０と情報の授受が行われる。  そして、ＩＣカード６０２内の秘密鍵制御モジュール４０への秘密鍵とその秘密鍵に一意な電子証明書の登録の処理は、図３、図４を参照して説明したＰＣ４内に備えられる秘密鍵制御モジュール４０への秘密鍵とその秘密鍵に一意な電子証明書の登録の処理とほぼ同じであるため、説明は省略する（ＩＣカード６０２内の秘密鍵制御モジュール４０は図示しない通信インタフェースにより外部と情報の授受を行う点が異なる）。
【０１２６】
ＩＣカード６０２内に秘密鍵とその秘密鍵に一意な電子証明書が登録されると、そのＩＣカード６０２内の秘密鍵を使用した暗号／復号／署名／認証のいずれかの処理が可能となる。
【０１２７】
例えば、図６（ｂ）に示すように、ＩＣカード６０２内の秘密鍵制御モジュール４０に秘密鍵とその秘密鍵に一意な電子証明書が登録されたＩＣカード６０２が、認証装置６０３にかざされると、秘密鍵制御モジュール４０に登録される電子証明書の有効性が確認されて、そして、ＩＣカード６０２内の秘密鍵制御モジュール４０内に登録される秘密鍵が使用されて認証の処理が行われる。  図１（ｂ）を参照して説明したＰＣ４では、ＰＣ４内のデータ処理部３０が、ＰＣ４内の秘密鍵制御モジュール４０に秘密鍵の使用が必要なデータの処理要求を行うように説明したが、図６（ｂ）を参照して説明する認証の処理では、ＰＣ４内のデータ処理部３０の代わりに認証装置６０３が、ＩＣカード６０２内の秘密鍵制御モジュール４０に秘密鍵の使用が必要なデータの処理要求を行う。  そして、認証装置６０３によってＩＣカード６０２の認証が行われる処理は、図５を参照して説明した秘密鍵が必要なデータの暗号等の要求が行われる処理とほぼ同じである為、説明は省略する（ＩＣカード６０２内の秘密鍵制御モジュール４０はＩＣカード６０２内の図示しない通信インタフェースにより外部と情報の授受を行う点が異なる）。
【０１２８】
なお、秘密鍵制御システム１００において、秘密鍵制御モジュール４０に秘密鍵とその秘密鍵に対応する電子証明書の登録が行われる際（図３、図４のフローチャートに相当）には、事業所１内のＰＣ４と認証局２内のＰＣ５とが接続可能な状態である必要があるが、データ処理部３０によって処理要求が行われる際（図５のフローチャートに相当）には、事業所１内のＰＣ４と認証局２内のＰＣ５とが接続可能な状態である必要はない。
【０１２９】
なお、ステップ５０３において証明書検証部４９が行う電子証明書の有効性を確認する処理は、記述した以外の処理で行われても良い。例えば、秘密鍵制御モジュール４０内に認証局が発行した証明書失効リストを受信するリスト受信部を備えて、リスト受信部内の証明書失効リストをチェックすることで電子証明書の有効性を確認する処理などである。
【実施例２】
【０１３０】
本実施例では、事業所１内で使用されるＰＣ４内に認証局証明書登録部１０、秘密鍵制御モジュール６０などが備えられ、認証局２内で使用されるＰＣ５内に認証局モジュール７０が備えられる秘密鍵制御システム１００について説明を行う（図１（ｂ）を参照して説明した構成）。
【０１３１】
まず、秘密鍵制御モジュール６０と認証局モジュール７０などの構成について図７を参照して説明を行う。
【０１３２】
図７は、秘密鍵制御モジュール６０と認証局モジュール７０などの構成について示したブロック図である。
【０１３３】
事業所１内のＰＣ４内には、認証局証明書登録部１０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール６０が備えられ、認証局２内のＰＣ５内には、認証局モジュール７０が備えられる。
【０１３４】
秘密鍵制御モジュール６０は、認証局証明書保存部６１、鍵生成部６２、証明書要求生成部６３、証明書確認部６４、電子証明書保存部６５、鍵保存部６６、暗号処理部６７、証明書検証部６８を備える。
【０１３５】
認証局モジュール７０は、証明書生成部７１を備える。
【０１３６】
認証局証明書保存部６１は、認証局証明書登録部１０より受け付けた認証局証明書を記憶保存することにより、認証局証明書の登録を行う。  そして、認証局証明書保存部６１は、１つの認証局証明書しか登録しない。  認証局証明書保存部６１に、一旦、認証局証明書が登録されると、認証局証明書保存部６１には常に１つだけの認証局証明書が登録された状態になる。
【０１３７】
鍵生成部６２は、公開鍵と秘密鍵のペアを生成する処理を行う。
【０１３８】
証明書要求生成部６３は、電子証明書登録部２０よりユーザからの電子証明書登録要求を受け付け、認証局証明書保存部６１に認証局証明書が登録されていることを確認し、鍵生成部６２に公開鍵と秘密鍵のペアを生成させる。  そして、証明書要求生成部６３は、鍵生成部６２が生成した公開鍵を使用して、認証局モジュール７０に送信する電子証明書要求を生成する。  証明書要求生成部６３によって生成される電子証明書要求には、鍵生成部６２が生成した公開鍵が含まれる。  認証書要求生成部６３は、電子証明書要求を生成して、生成した電子証明書要求を認証局モジュール７０に送信する。
【０１３９】
証明書確認部６４は、認証局モジュール７０から電子証明書を受け取り、そして、その電子証明書が、認証局証明書保存部６１に登録されている認証局証明書より証明される認証局から発行されたものであることを確認する。  その後、証明書確認部６４は、渡された電子証明書に含まれる公開鍵が、鍵保存部６６に登録される秘密鍵に対応することを確認して、確認後、電子証明書を電子証明書保存部６５に登録させる。
【０１４０】
電子証明書保存部６５は、証明書確認部６４から渡された電子証明書を記憶保存することにより、電子証明書の登録を行う。
【０１４１】
鍵保存部６６は、証明書要求生成部６３より秘密鍵を受け取り、その秘密鍵を記憶保存することにより、秘密鍵の登録を行う。  鍵保存部６６には１つの秘密鍵だけが登録され、一旦、鍵保存部６６に秘密鍵が登録されると新たな秘密鍵の登録は行われず、鍵保存部６６には常に１つだけの秘密鍵が登録された状態となる。
【０１４２】
暗号処理部６７は、文書操作部３０から秘密鍵を必要とする暗号／復号／署名／認証のいずれかの処理が要求されると、電子証明書保存部６５から電子証明書を取得し、取得した電子証明書を証明書検証部６８に渡して、電子証明書の有効性の確認を行わせる。  暗号処理部６７は、証明書検証部６８により電子証明書の有効性が確認されると、鍵保存部６６に登録される秘密鍵を使用して、文書操作部３０より要求された暗号／復号／署名／認証のいずれかの処理を実行する。
【０１４３】
証明書検証部６８は、暗号処理部６７から電子証明書を受け取ると、受け取った電子証明書の有効性の確認を行う。  証明書検証部６８が行う電子証明書の有効性を確認する処理は、電子証明書の有効期限を確認する処理、或いは、ユーザに電子証明書の内容を表示する処理、或いは、予め設定された条件に電子証明書の内容が合致しているか否かを確認する処理などによって行われる。
【０１４４】
次に、ＰＣ４内の秘密鍵制御モジュール６０に秘密鍵とその秘密鍵に一意な電子証明書が登録される処理について図８を参照して説明を行う。
【０１４５】
図８は、秘密鍵制御モジュール６０に、秘密鍵とその秘密鍵に一意な電子証明書が登録される処理を示したフローチャートである。
【０１４６】
まず、認証局証明書登録部１０に記憶される認証局２の認証局証明書が、認証局証明書保存部６１に登録される処理が行われる（ステップ８０１）。
【０１４７】
認証局証明書保存部６１に登録される認証局証明書は１つの認証局証明書しか登録されないので、認証局証明書登録部１０から認証局証明書保存部６１への登録は、秘密鍵制御システム１００において１度だけである。  だから、認証局証明書登録部１０から認証局証明書保存部６１へ認証局証明書の登録が試みられるときに、認証局証明書保存部６１に既に認証局証明書が登録されていたときには登録の処理は行われない。
【０１４８】
認証局証明書保存部６１に認証局証明書が登録された後に、ＰＣ４のキーボードなどから認証局２への電子証明書を生成する要求をユーザから受け付けることができる。
【０１４９】
ＰＣ４のキーボードなどから、認証局２へ電子証明書を生成する要求が行われると、電子証明書登録部２０が、その要求を受け付けて、証明書要求生成部６３に電子証明書登録要求を行う。
【０１５０】
電子証明書登録部２０が行った電子証明書登録要求は、証明書要求生成部６３で受け付けられる（ステップ８０２）。
【０１５１】
電子証明書の登録要求を受け付けた証明書要求生成部６３は、認証局証明書保存部６１に認証局２の認証局証明書が登録されていることを確認して（ステップ８０３でＹＥＳ）、鍵生成部６２に公開鍵と秘密鍵のペアの生成を要求する。
【０１５２】
鍵生成部６２で公開鍵と秘密鍵のペアが生成されると（ステップ８０４）、鍵生成部６２は、生成した公開鍵と秘密鍵のペアを証明書要求生成部６３に渡す。  公開鍵と秘密鍵のペアが渡された証明書要求生成部６３は、渡された秘密鍵を鍵保存部６６へ渡す。
【０１５３】
秘密鍵が渡された鍵保存部６６で、既に秘密鍵が登録されていた場合には（ステップ８０５でＮＯ）、エラーとして処理は中断される（ステップ８１４）。  秘密鍵が渡された鍵保存部１２７で、未だ秘密鍵が登録されていない場合には（ステップ８０５でＹＥＳ）、鍵保存部１２７は、渡された秘密鍵を登録する（ステップ８０６）。
【０１５４】
鍵保存部６６に登録される鍵は１つだけである。  ここで、一旦、鍵保存部６６に秘密鍵が登録されると新たな秘密鍵の登録は行われず、鍵保存部６６には常に１つだけの秘密鍵が登録された状態となる。
【０１５５】
鍵保存部６６に鍵が登録されると、証明書要求生成部６３は、鍵生成部６２から渡された公開鍵を使用して電子証明書要求を生成し、認証局モジュール７０に、生成した電子証明書要求を送信する（ステップ８０７）。  この認証局モジュール７０に送られる電子証明書要求は、証明書要求生成部６３が鍵生成部６２から渡された公開鍵を含むものである。
【０１５６】
証明書生成部７１は、電子証明書要求を受信し、電子証明書要求に含まれる公開鍵を使用して電子証明書を生成する（ステップ８０８）。  そして、生成された電子証明書は、証明書生成部７１から秘密鍵制御モジュール６０の証明書確認部６４に送信される（ステップ８０９）。
【０１５７】
証明書生成部７１から送られた電子証明書は、証明書確認部６４で受信される（ステップ８１０）。
【０１５８】
電子証明書が送られた証明書確認部６４は、秘密鍵制御モジュール６０内の認証局証明書保存部６１から認証局証明書を取得し、そして、認証局モジュール７０から送られた電子証明書が、取得した認証局証明書より証明される認証局から発行されたものであることを確認する。  このように電子証明書の発行元の認証局の確認が行われる際に、証明書確認部６４が、認証局証明書保存部６１から認証局証明書を取得できない場合や、認証局証明書の取得後に認証局の確認ができなかった場合には、電子証明書が発行された認証局の確認が行われなかったものとされ（ステップ８１１でＮＯ）、エラーとして処理は中断される（ステップ８１４）。
【０１５９】
次に、証明書確認部６４は、鍵保存部６６に登録される秘密鍵を鍵保存部６６より取得し、そして、認証局モジュール７０から送られた電子証明書の公開鍵が、取得した秘密鍵と対応していることを確認する。  証明書確認部６４が、電子証明書の公開鍵の確認を行う際に、鍵保存部６６に登録される秘密鍵を取得できない場合や、電子証明書の公開鍵が取得した秘密鍵と対応していない場合には、電子証明書の公開鍵の確認が行われなかったものとされ（ステップ８１２でＮＯ）、エラーとして処理は中断される（ステップ８１４）。
【０１６０】
認証局モジュール７０から送られた電子証明書の、認証局の確認（ステップ８１１でＹＥＳ）と、公開鍵の確認（ステップ８１２でＹＥＳ）とが行われると、証明書確認部６４は、両方の確認が行われた電子証明書を電子証明書保存部６５に登録する（ステップ８１３）。  なお、電子証明書保存部６５に登録される電子証明書は１つだけである。  ここで、一旦、電子証明書保存部６５に電子証明書が登録されると新たな電子証明書の登録は行われず、電子証明書保存部６５には常に１つだけの電子証明書が登録された状態となる。
【０１６１】
このようにしてＰＣ４に秘密鍵とその秘密鍵に一意な電子証明書の登録が完了する。  秘密鍵の使用が要求される場合には、登録された電子証明書の有効性が確認されるようにし、その後、秘密鍵が使用されるように制御される。
【０１６２】
次に、ＰＣ４で秘密鍵が必要なデータの暗号等の要求が行われることについての説明は、実施例１において、図５を参照して説明した内容と同じであるため詳細な説明は省略する。  但し、実施例１における記述において、秘密鍵制御モジュール４０、鍵保存部４６、電子証明書保存部４７、暗号処理部４８、証明書検証部４９は、それぞれ、秘密鍵制御モジュール６０、鍵保存部６６、電子証明書保存部６５、暗号処理部６７、証明書検証部６８に置き換えて説明されるものとする。
【０１６３】
なお、本実施例においても、実施例１で図６を参照して説明したように、ＰＣ内の秘密鍵モジュールである秘密鍵制御モジュール６０の機能をＩＣカード６０２内にプログラムとして組み込んで、ＩＣカード６０２で秘密鍵が必要な暗号／復号／署名／認証のいずれかの処理が行われるようにすることができる。  その際、図６に示す認証局２のＰＣ５内には、認証局モジュール７０が認証局モジュール５０の代わりに配置される。  そして、図６に示すＩＣカード６０２には、秘密鍵制御モジュール６０が秘密鍵制御モジュール４０の代わりに備えられ、外部との情報の授受を行う図示しない通信インタフェースが存在して、その通信インタフェースが秘密鍵制御モジュール６０と情報の授受を行う。
【０１６４】
なお、秘密鍵制御システム１００において、秘密鍵制御モジュール６０に秘密鍵とその秘密鍵に対応する電子証明書の登録が行われる際（図８のフローチャートに相当）には、事業所１内のＰＣ４と認証局２内のＰＣ５とが接続可能な状態である必要があるが、データ処理部３０によって処理要求が行われる際には、事業所１内のＰＣ４と認証局２内のＰＣ５とが接続可能な状態である必要はない。
【実施例３】
【０１６５】
本実施例では、事業所１内で使用されるＰＣ６内にSharedSecret登録部８０、秘密鍵制御モジュール９０などが備えられ、認証局２内で使用されるＰＣ７内に認証局モジュール１１０が備えられる秘密鍵制御システム１００について説明を行う（図１（ｃ）を参照して説明した構成）。
【０１６６】
まず、秘密鍵制御モジュール９０と認証局モジュール１１０などの構成について図９を参照して説明を行う。
【０１６７】
図９は、秘密鍵制御モジュール９０と認証局モジュール１１０などの構成を示したブロック図である。
【０１６８】
事業所１内のＰＣ６内には、SharedSecret登録部８０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール９０が備えられ、認証局２内のＰＣ７内には、認証局モジュール１１０が備えられる。
【０１６９】
秘密鍵制御モジュール９０は、SharedSecret保存部９１、暗号キー保存部９２、暗号キー生成部９３、SharedSecret検証部９４、暗号データ復号部９５、証明書確認部９６、電子証明書保存部９７、鍵保存部９８、暗号処理部９９、証明書検証部１００を備える。
【０１７０】
認証局モジュール１１０は、SharedSecret保存部１１１、SharedSecret処理部１１２、暗号データ生成部１１３、証明書生成部１１４、鍵生成部１１５を備える。
【０１７１】
SharedSecret保存部９１は、SharedSecret登録部８０より受け付けたSharedSecretを記憶保存することで、SharedSecretの登録を行う。  SharedSecret保存部９１に保存されるSharedSecretは、認証局モジュール１１０内のSharedSecret保存部１１１に記憶されるSharedSecretと同じである。  そして、SharedSecret保存部９１は、１つのSharedSecretしか登録しない。
【０１７２】
一旦、SharedSecret保存部９１にSharedSecretが登録されると、SharedSecret保存部９１には常に１つだけのSharedSecretが登録される状態となる。
【０１７３】
暗号キー保存部９２は、暗号キー生成部９３によって認証局モジュール１１０に送信される暗号キーを記憶保存することにより、暗号キーの登録を行う。  暗号キー保存部４３に登録される暗号キーは１つである。  そして、一旦、暗号キー保存部４３に暗号キーが登録されると、暗号キー保存部４３には常に１つだけの暗号キーが登録された状態となる。
【０１７４】
暗号キー生成部９３は、電子証明書登録部２０よりユーザからの電子証明書登録要求を受け付け、認証局証明書保存部９１に証明局証明書が登録されていることを確認し、認証局モジュール１１０に送信する暗号キーを生成する。  暗号キー生成部９３は、生成した暗号キーを暗号キー保存部９２に登録し、生成した暗号キーを認証局モジュール１１０に送信する。
【０１７５】
SharedSecret検証部９４は、SharedSecret保存部９１よりSharedSecretを入手して、認証局モジュール１１０より受信した暗号データに付加された署名の検証を行う。  そして、SharedSecret検証部９４は、認証局モジュール１１０から受信した暗号データからSharedSecret署名を削除した暗号データを、暗号データ復号部９５に渡す。
【０１７６】
暗号データ復号部９５は、暗号キー保存部９２から暗号キーを取得し、SharedSecret検証部９４から渡された暗号データの復号を行う。  そして、復号の結果得られる秘密鍵を鍵保存部９８に渡し、復号の結果得られる電子証明書を証明書確認部９６に渡す。
【０１７７】
証明書確認部９６は、鍵保存部９８から秘密鍵を取得して、暗号データ復号部９５から渡された電子証明書の公開鍵と取得した秘密鍵とが対応することを確認する。  そして、証明書確認部９６は、確認した電子証明書を、電子証明書保存部９７に渡す。
【０１７８】
電子証明書保存部９７は、証明書確認部９６から渡された電子証明書を記憶保存することにより、電子証明書の登録を行う。  電子証明書保存部９７に登録される電子証明書は１つである。  一旦、電子証明書保存部９７に電子証明書が登録されると新たな電子証明書の登録は行われず、電子証明書保存部９７には常に１つだけの電子証明書が登録された状態となる。
【０１７９】
鍵保存部９８は、暗号データ復号部９５より渡された秘密鍵を記憶保存することにより、秘密鍵の登録を行う。  鍵保存部９８には、１つだけの秘密鍵が登録され、一旦、鍵保存部９８に秘密鍵が登録されると新たな秘密鍵の登録は行われず、鍵保存部９８には常に１つだけの秘密鍵が登録された状態となる。
【０１８０】
暗号処理部９９は、文書操作部３０から秘密鍵を必要とする暗号／復号／署名／認証のいずれかの処理が要求されると、電子証明書保存部９７から電子証明書を取得し、取得した電子証明書を証明書検証部１００に渡して、電子証明書の有効性の確認を行わせる。暗号処理部９９は、証明書検証部１００により電子証明書の有効性が確認されると、鍵保存部９８に登録される秘密鍵を使用して、文書操作部３０より要求された暗号／復号／署名／認証のいずれかの処理を実行する。
【０１８１】
証明書検証部１００は、暗号処理部９９から電子証明書を受け取ると、受け取った電子証明書の有効性の確認を行う。  証明書検証部１００が行う電子証明書の有効性を確認する処理は、電子証明書の有効期限を確認する処理、或いは、ユーザに電子証明書の内容を表示する処理、或いは、予め設定された条件に電子証明書の内容が合致しているか否かを確認する処理などによって行われる。
【０１８２】
認証局モジュール１１０内のSharedSecret保存部１１１は、SharedSecret保存部９１に記憶されるSharedSecretと同じSharedSecretを記憶する。
【０１８３】
SharedSecret処理部１１２は、暗号データ生成部１１３から渡された暗号データのハッシュ値をSharedSecretを使用して暗号化することで署名を生成し、渡された暗号データに生成した署名を付加する。  そして、SharedSecret処理部は署名を付加した暗号データを秘密鍵制御モジュール９０に送信する。
【０１８４】
暗号データ生成部１１３は、秘密鍵制御モジュール９０から暗号キーを受信し、証明書生成部１１４と鍵生成部１１５で生成された電子証明書と秘密鍵とを暗号キーで暗号化して暗号データを生成する。  そして、生成した暗号データをSharedSecret処理部１１２に渡す。
【０１８５】
証明書生成部１１４は、暗号データ生成部１１３から渡された公開鍵より電子証明書を生成する。
【０１８６】
鍵生成部１１５は、公開鍵と秘密鍵のペアを生成する。
【０１８７】
次に、ＰＣ６内の秘密鍵制御モジュール９０に秘密鍵とその秘密鍵に一意な電子証明書が登録される処理について図１０、図１１を参照して説明を行う。
【０１８８】
図１０、図１１は、秘密鍵制御モジュール９０に、秘密鍵とその秘密鍵に一意な電子証明書が登録される処理について示したフローチャートである。
【０１８９】
まず、SharedSecret登録部８０に登録されるSharedSecretが、SharedSecret保存部９１に登録される処理が行われる（ステップ１００１）。  SharedSecret保存部９１には、１つのSharedSecretしか登録されない。
【０１９０】
SharedSecret保存部９１にSharedSecretが登録された後に、ＰＣ６では、認証局２への電子証明書を生成する要求をキーボードなどを通じてユーザから受け付けることができる。
【０１９１】
ＰＣ６のキーボードなどから、認証局２へ電子証明書を生成する要求が行われると、電子証明書登録部２０がその要求を受け付けて、電子証明書登録部２０が暗号キー生成部９３に電子証明書登録要求を行う。
【０１９２】
電子証明書登録要求は、暗号キー生成部９３で受け付けられる（ステップ１００２）。
【０１９３】
電子証明書を登録する要求を受け付けた暗号キー生成部９３は、SharedSecret保存部９１にSharedSecretが登録されていることを確認する（ステップ１００３でＹＥＳ）。  SharedSecretがSharedSecret保存部９１に登録されていない場合は（ステップ１００３でＮＯ）、エラーとして処理は中断される（ステップ１０２２）。
【０１９４】
SharedSecret保存部９１にSharedSecretが登録されていることが確認されると（ステップ１００３でＹＥＳ）、暗号キー生成部９３は、認証局モジュール１１０に送信する暗号キーを生成する（ステップ１００４）。
【０１９５】
生成された暗号キーは暗号キー保存部９２に登録され（ステップ１００５）、また、生成された暗号キーは、暗号キー生成部９３より認証局モジュール５０に送信される（ステップ１００６）。
【０１９６】
認証局モジュール５０に送信された暗号キーは、暗号データ生成部１１３で受信される（ステップ１００７）。
【０１９７】
暗号キーを受信した暗号データ生成部１１３は、鍵生成部１１５に公開鍵と秘密鍵のペアを生成させる。
【０１９８】
鍵生成部１１５は、公開鍵と秘密鍵のペアを生成して（ステップ１００８）、暗号データ生成部１１３に生成した公開鍵と秘密鍵のペアを渡す。
【０１９９】
そして、暗号データ生成部１１３は、渡された公開鍵を証明書生成部１１４に渡して、電子証明書を生成させる。
【０２００】
証明書生成部１１４は、渡された公開鍵から電子証明書を生成する（ステップ１００９）。
【０２０１】
生成された電子証明書は、証明書生成部１１４から暗号データ生成部１１３に渡される。
【０２０２】
暗号データ生成部１１３では、証明書生成部１１４から渡された電子証明書と、鍵生成部１１５から渡された秘密鍵（証明書生成部１１４から渡される電子証明書の公開鍵に対応）とを、秘密鍵制御モジュール９０より送信された暗号キーによって暗号化し、１つの暗号データを生成する（ステップ１０１０）。
【０２０３】
暗号データ生成部１１３で生成された１つの暗号データは、暗号データ生成部１１３からSharedSecret処理部１１２に送られる。  SharedSecret処理部１１２では、SharedSecret保存部１１１からSharedSecretを取得して（ステップ１０１１）、暗号データ生成部１１３から送られた１つの暗号データに対して、取得したSharedSecretによる署名を付加する（ステップ１０１２）。  SharedSecretによる署名は、暗号データ生成部１１３から送られた１つの暗号データのハッシュ値がSharedSecretにより暗号化されて生成される。
【０２０４】
そして、SharedSecret処理部１１２は、SharedSecretによる署名が付加された暗号データを秘密鍵制御モジュール９０に送信する（ステップ１０１３）。
【０２０５】
認証局モジュール１１０から送信された暗号データは、秘密鍵制御モジュール９０のSharedSecret検証部９４で受信される（ステップ１０１４）。  SharedSecret検証部９４は、SharedSecret保存部９１からSharedSecretを取得して（ステップ１０１５）、取得したSharedSecretを使用して認証局モジュール１１０から受信した暗号データの署名検証を行う。
【０２０６】
署名の検証は、署名がSharedSecretで復号されることによってSharedSecretを共有している認証局２から送信されたと確認され、復号されたデータが署名が付加された暗号データから得られるハッシュ値と同じであることによって送信された暗号データが改ざんされていないことが確認される。
【０２０７】
署名検証に関しては、署名がSharedSecretで復号されることにより得られるハッシュ値と、暗号データから得られるハッシュ値とが等しい場合に、署名が有効とされる。
【０２０８】
SharedSecret検証部９４が署名検証を行った結果、署名が無効であった場合には（ステップ１０１６でＮＯ）、エラーとして処理は中断される（ステップ１０２２）。
【０２０９】
また、SharedSecret検証部９４が署名検証を行った結果、署名が有効であった場合には（ステップ１０１６でＹＥＳ）、SharedSecret検証部９４は、認証局モジュール１１０より受信した暗号データから署名を削除した暗号データを、暗号データ復号部９５に渡す。
【０２１０】
暗号データ復号部９５は、暗号キー保存部９２より暗号キーを取得して、SharedSecret検証部９４から渡された暗号データの復号を、取得した暗号キーを用いて行う（ステップ１０１７）。
【０２１１】
暗号データ復号部９５は、暗号データの復号によって、電子証明書と秘密鍵を取得する。  そして、暗号データ復号部９５は、復号によって取得した秘密鍵を鍵保存部９８に渡す。
【０２１２】
秘密鍵が渡された鍵保存部９８で既に秘密鍵が登録されていた場合には（ステップ１０１８でＮＯ）、エラーとして処理は中断される（ステップ１０２２）。  秘密鍵が渡された鍵保存部９７で、未だ秘密鍵が登録されていない場合には（ステップ１０１８でＹＥＳ）、鍵保存部９７は、渡された秘密鍵を登録する（ステップ１０１９）。
【０２１３】
鍵保存部９８に登録される秘密鍵は、１つだけである。  ここで、一旦、鍵保存部９８に秘密鍵が登録されると新たな秘密鍵の登録は行われず、鍵保存部９８には常に１つの秘密鍵が登録された状態となる。
【０２１４】
また、暗号データ復号部９５は、暗号データの復号によって取得した電子証明書を証明書確認部９６に渡す。  証明書確認部９６は、暗号データ復号部９５より電子証明書を渡されると、鍵保存部９８から秘密鍵を取得し、電子証明書の公開鍵が取得した秘密鍵と対応されていることの確認を行う。  その際、証明書確認部９６が鍵保存部９８から秘密鍵を取得できなかった場合や、電子証明書の公開鍵と秘密鍵とが対応されていなかった場合には、電子証明書の公開鍵の確認ができなかったものとして（ステップ１０２０でＮＯ）、エラーとして処理は中断される（ステップ１０２２）。
【０２１５】
証明書確認部９６により、電子証明書の公開鍵と秘密鍵との対応の確認が行われた場合には（ステップ１０２０でＹＥＳ）、確認された電子証明書が、証明書確認部９６から電子証明書保存部９７に渡され、電子証明書保存部９７で登録される（ステップ１０２１）。  なお、電子証明書保存部９７に登録される電子証明書は１つだけである。
【０２１６】
このようにして、ＰＣ６に、秘密鍵とその秘密鍵に一意な電子証明書との登録が完了する。  秘密鍵が必要なデータの処理が要求される場合には、登録された電子証明書の有効性の確認が行われた後に秘密鍵の使用が行われるように、秘密鍵制御モジュール９０は制御される。
【０２１７】
次に、ＰＣ６で秘密鍵が必要なデータの暗号等の要求が行われる処理についての説明は、実施例１において、図５を参照して説明した内容と同じであるため詳細な説明は省略する。  但し、実施例１における記述において、ＰＣ４、秘密鍵制御モジュール４０、鍵保存部４６、電子証明書保存部４７、暗号処理部４８、証明書検証部４９は、それぞれ、ＰＣ６、秘密鍵制御モジュール９０、鍵保存部９８、電子証明書保存部９７、暗号処理部９９、証明書検証部１００に置き換えて説明されるものとする。
【０２１８】
なお、本実施例においても、実施例１で図６を参照して説明したように、秘密鍵制御モジュール９０の機能をＩＣカード６０２内にプログラムとして組み込んで、ＩＣカード６０２による暗号／復号／署名／認証のいずれかの処理が行われるようにすることができる。  その際、図６に示す事業所１内には、SharedSecret登録部８０、電子証明書登録部２０、データ処理部３０を備えたＰＣ６がＰＣ４の代わりに配置され、ＰＣ６にはＩＣカード読書き装置６０１が接続される。  そして、図６に示す認証局２内には、認証局モジュール１１０を備えるＰＣ７がＰＣ５の代わりに配置される。  そして、図６に示すＩＣカード６０２には、秘密鍵制御モジュール９０が秘密鍵制御モジュール４０の代わりに備えられ、外部との情報の授受を行う図示しない通信インタフェースが存在して、その通信インタフェースが秘密鍵制御モジュール９０と情報の授受を行う。
【０２１９】
なお、秘密鍵制御システム１００において、秘密鍵制御モジュール９０に秘密鍵とその秘密鍵に対応する電子証明書の登録が行われる際（図１０、図１１のフローチャートに相当）には、事業所１内のＰＣ６と認証局２内のＰＣ７とが接続可能な状態である必要があるが、データ処理部３０によって処理要求が行われる際には、事業所１内のＰＣ６と認証局２内のＰＣ７とが接続可能な状態である必要はない。
【０２２０】
なお、ステップ１０１２では、暗号データ生成部１１３から送られた１つの暗号データに対してSharedSecretによる署名を付加するのではなくて、暗号データ生成部１１３から送られた１つの暗号データをSharedSecretによって暗号化するようにして、秘密鍵制御モジュール９０に送信されるデータが生成されるようにしてもよい。  その際には、SharedSecretによって暗号化されたデータを受信した秘密鍵制御モジュール９０は、ステップ１０１６において暗号データの署名検証を行わずに、認証局モジュール１１０から受信したデータをSharedSecretによって復号する処理を行う。  そして、SharedSecretによって復号できた場合には、ステップ１０１６でＹＥＳの処理へと進む。
【実施例４】
【０２２１】
本実施例では、事業所１内で使用されるＰＣ６内にSharedSecret登録部８０、秘密鍵制御モジュール１２０などが備えられ、認証局２内で使用されるＰＣ７内に認証局モジュール１４０が備えられる秘密鍵制御システム１００について説明を行う（図１（ｃ）を参照して説明した構成）。
【０２２２】
まず、秘密鍵制御モジュール１２０と認証局モジュール１４０などの構成について図１２を参照して説明を行う。
【０２２３】
図１２は、秘密鍵制御モジュール１２０と認証局モジュール１４０などの構成を示したブロック図である。
【０２２４】
事業所１内のＰＣ６内には、SharedSecret登録部８０、電子証明書登録部２０、データ処理部３０、秘密鍵制御モジュール１２０が備えられ、認証局２内のＰＣ７内には、認証局モジュール１４０が備えられる。
【０２２５】
秘密鍵制御モジュール１２０は、SharedSecret保存部１２１、鍵生成部１２２、証明書要求生成部１２３、証明書確認部１２４、SharedSecret検証部１２５、電子証明書保存部１２６、鍵保存部１２７、暗号処理部１２８、証明書検証部１２９を備える。
【０２２６】
認証局モジュール１４０は、証明書生成部１４１、SharedSecret処理部１４２、SharedSecret管理部１４３を備える。
【０２２７】
SharedSecret保存部１２１は、SharedSecret登録部８０より受け付けたSharedSecretを記憶保存することにより、SharedSecretの登録を行う。  SharedSecret保存部１２１に保存されるSharedSecretは、認証局モジュール１４０内のSharedSecret管理部１４３に記憶されるSharedSecretと同じである。  そして、SharedSecret保存部１２１は、１つのSharedSecretしか登録しない。  一旦、SharedSecret保存部１２１にSharedSecretが登録されると、SharedSecret保存部１２１には常に１つだけのSharedSecretが登録された状態となる。
【０２２８】
鍵生成部１２２は、公開鍵と秘密鍵のペアを生成する。
【０２２９】
証明書要求生成部１２３は、電子証明書登録受付部２０よりユーザからの電子証明書登録要求を受け付け、SharedSecret保存部１２１にSharedSecretが登録されていることを確認し、鍵生成部１２２に公開鍵と秘密鍵のペアを生成させる。  そして、証明書要求生成部１２３は、鍵生成部１２２が生成した公開鍵を使用して、認証局モジュール７０に送信する電子証明書要求を生成する。  証明書要求生成部１２３によって生成される電子証明書要求には、鍵生成部１２２が生成した公開鍵が含まれる。  証明書要求生成部１２３は、電子証明書要求を生成して、生成した電子証明書要求を認証局モジュール１４０に送信する。
【０２３０】
SharedSecret検証部１２５は、SharedSecret保存部１２１からSharedSecretを入手して、認証局モジュール１４０より受信した電子証明書に付加される署名の検証を行う。  そして、SharedSecret検証部１２５は、認証局モジュール１４０から受信した電子証明書からSharedSecret署名を削除した電子証明書を、証明書確認部１２４に渡す。
【０２３１】
証明書確認部１２４は、SharedSecret検証部１２５から電子証明書が渡されると、鍵保存部１２７から秘密鍵を取得し、渡された電子証明書の公開鍵が、取得した秘密鍵と対応されていることを確認する。  そして、証明書確認部１２４は、秘密鍵との対応が確認された電子証明書を電子証明書保存部１２６に渡す。
【０２３２】
電子証明書保存部１２６は、証明書確認部１２４から渡された電子証明書を記憶保存することにより、電子証明書の登録を行う。
【０２３３】
鍵保存部１２７は、証明書要求生成部１２３が生成した秘密鍵を証明書要求生成部１２３から渡されてその秘密鍵を記憶保存することにより、秘密鍵の登録を行う。  鍵保存部１２７に登録される秘密鍵は１つだけであり、一旦、鍵保存部１２７に秘密鍵が登録されると新たな秘密鍵の登録は行われず、鍵保存部１２７には常に１つだけの秘密鍵が登録された状態となる。  そして、鍵保存部１２７は、証明書確認部１２４より秘密鍵を要求された場合や、暗号処理部１２８より秘密鍵を要求された場合に、鍵保存部１２７に登録される秘密鍵を、証明書確認部１２４や暗号処理部１２８に渡す。
【０２３４】
暗号処理部１２８は、文書操作部３０から秘密鍵を必要とする暗号／復号／署名／認証のいずれかの処理が要求されると、電子証明書保存部１２６から電子証明書を取得し、取得した電子証明書を証明書検証部１２９に渡して、電子証明書の有効性の確認を行わせる。  暗号処理部１２８は、証明書検証部１２９により電子証明書の有効性が確認されると、鍵保存部１２７に登録される秘密鍵を鍵保存部１２７より入手して、文書操作部３０より要求された暗号／復号／署名／認証のいずれかの処理を実行する。
【０２３５】
証明書検証部１２９は、暗号処理部１２８から電子証明書を受け取ると、受け取った電子証明書の有効性の確認を行う。  証明書検証部１２９が行う電子証明書の有効性を確認する処理は、電子証明書の有効期限を確認する処理、或いは、ユーザに電子証明書の内容を表示する処理、或いは、予め設定された条件に電子証明書の内容が合致しているか否かを確認する処理などによって行われる。
【０２３６】
認証局モジュール１４０が備える証明書生成部１４１は、秘密鍵制御モジュール１２０から受信した電子証明書生成要求より、電子証明書生成要求に含まれる公開鍵を使用して、電子証明書を生成する。  また、証明書生成部１４１は、生成した電子証明書をSharedSecret処理部１４２に渡す。
【０２３７】
SharedSecret処理部１４２は、証明書生成部１４１から渡された電子証明書のハッシュ値をSharedSecretを使用して暗号化することで署名を生成し、生成した署名を電子証明書に付加する。
【０２３８】
SharedSecret管理部１４３は、事業所１内のＰＣ６のSharedSecret登録部８０に記憶されるSharedSecretと同じSharedSecretを記憶する。
【０２３９】
次に、ＰＣ６内の秘密鍵制御モジュール１２０に秘密鍵とその秘密鍵に一意な電子証明書が登録される処理について図１３、図１４を参照して説明を行う。
【０２４０】
図１３、図１４は、秘密鍵制御モジュール１２０に、秘密鍵とその秘密鍵に一意な電子証明書が登録される処理について示したフローチャートである。
【０２４１】
まず、SharedSecret登録部８０に登録されるSharedSecretが、SharedSecret保存部１２１に登録される処理が行われる（ステップ１３０１）。  SharedSecret保存部１２１には、１つのSharedSecretだけが登録される。
【０２４２】
SharedSecret保存部１２１にSharedSecretが登録されると、電子証明書登録部２０は、電子証明書を生成する要求を、ユーザが操作するＰＣ６のキーボードなどから受け付けることが可能となる。
【０２４３】
要求を受け付けた電子証明書登録部２０は、証明書要求生成部１２３に電子証明書登録要求を渡す。  証明書要求生成部１２３は、電子証明書要求受付部９０より電子証明書登録要求を受け付ける（ステップ１３０２）。
【０２４４】
証明書要求生成部１２３は、SharedSecret保存部１２１にSharedSecretが登録されていることを確認して（ステップ１３０３でＹＥＳ）、鍵生成部１２２に公開鍵と秘密鍵のペアを生成させる。  SharedSecret保存部１２１にSharedSecretが登録されていなかった場合には、エラーとして処理は中断される（ステップ１３１７）。
【０２４５】
鍵生成部１２２で公開鍵と秘密鍵のペアが生成されると（ステップ１３０４）、生成された公開鍵と秘密鍵のペアは、証明書要求生成部１２３に渡される。  証明書要求生成部１２３は、渡された秘密鍵を鍵保存部１２７に渡す。  
秘密鍵が渡された鍵保存部１２７で、既に秘密鍵が登録されていた場合には（ステップ１３０５ＮＯ）、エラーとして処理は中断される（ステップ１３１７）。  秘密鍵が渡された鍵保存部１２７で未だ秘密鍵が登録されていない場合には（ステップ１３０５ＹＥＳ）、鍵保存部１２７は、渡された秘密鍵を登録する（ステップ１３０６）。
【０２４６】
また、証明書要求生成部１２３は、渡された公開鍵から、認証局モジュール１４０に送る電子証明書要求を生成し、生成した電子証明書要求を認証局モジュール１４０に送信する（ステップ１３０７）。  送信される電子証明書要求には、公開鍵が含まれている。
【０２４７】
認証局モジュール１４０に送信された電子証明書要求は、認証局モジュール１４０内の証明書生成部１４１で受信される。  証明書生成部１４１は、電子証明書要求を受信すると、受信した電子証明書要求に含まれる公開鍵を使用して、電子証明書を生成する（ステップ１３０８）。  証明書生成部１４１で生成された電子証明書は、SharedSecret処理部１４２に渡される。
【０２４８】
SharedSecret処理部１４２は、電子証明書を受信して、SharedSecret管理部１４３よりSharedSecretを取得し（ステップ１３０９）、取得したSharedSecretを使用して電子証明書から署名を生成し、電子証明書に生成した署名を付加する（ステップ１３１０）。
【０２４９】
SharedSecret処理部１４２で署名が付加された電子証明書は、SharedSecret処理部１４２から秘密鍵制御モジュール１２０に送信される（ステップ１３１１）。
【０２５０】
秘密鍵制御モジュール１２０内のSharedSecret検証部１２５は、認証局モジュール１４０内のSharedSecret処理部１４２から送られた署名付の電子証明書を受信する（ステップ１３１２）。  そして、SharedSecret検証部１２５は、SharedSecret保存部１２１に登録されるSharedSecretを取得し（ステップ１３１３）、受信した電子証明書に付加された署名の検証を、取得したSharedSecretを用いて行う。
【０２５１】
署名の検証は、SharedSecretにより署名が復号されることによってSharedSecretを共有している認証局２から送信されたと確認され、復号されたデータが電子証明書から得られるハッシュ値と同じであることによって送信された電子証明書が改ざんされていないことが確認される。
【０２５２】
署名検証に関しては、署名がSharedSecretで復号されることにより得られるハッシュ値と、電子証明書から得られるハッシュ値とが等しい場合に、署名が有効とされる。
【０２５３】
署名が検証される際に、SharedSecret保存部１２１よりSharedSecretが取得されない場合や、検証の結果復号されたデータがハッシュ値と同じであることが確認されなかった場合には、署名が有効でなかったものとして（ステップ１３１４でＮＯ）、エラーとして処理は中断される（ステップ１３１７）。
【０２５４】
また、署名の検証の結果、署名が有効であったら（ステップ１３１４でＹＥＳ）、SharedSecret検証部１２５は、署名を削除した電子証明書を、証明書確認部１２４に渡す。  証明書確認部１２４は、電子証明書が渡されると、鍵保存部１２７から秘密鍵を取得する。  そして、証明書確認部１２４は、取得した秘密鍵とSharedSecret検証部１２５より渡された電子証明書の公開鍵とが対応することを確認する。  証明書確認部１２４による電子証明書の公開鍵の確認が行われる際に、鍵保存部１２７から秘密鍵が取得できなかった場合や、電子証明書の公開鍵が秘密鍵と対応することが確認されなかった場合には、電子証明書の公開鍵の確認がされなかったものとして（ステップ１３１５でＮＯ）、エラーとして処理は中断される（ステップ１３１７）。
【０２５５】
認証局モジュール１４０から送信された署名付電子証明書の署名の有効性が確認され（ステップ１３１４でＹＥＳ）、電子証明書の公開鍵の確認が行われると（ステップ１３１５でＹＥＳ）、証明書確認部１２４は、両方の確認が行われた電子証明書を電子証明書保存部１２６に渡して、登録させる。
【０２５６】
電子証明書が渡された電子証明書保存部１２６は、その電子証明書を登録する（ステップ１３１６）。  ここで、電子証明書保存部１２６に登録される電子証明書は１つだけであり、一旦、電子証明書保存部１２６に電子証明書が登録されると新たな電子証明書の登録は行われず、電子証明書保存部１２６には常に１つだけの電子証明書が登録された状態となる。
【０２５７】
次に、ＰＣ６で秘密鍵が必要なデータの暗号化等の要求が行われる処理については、実施例１において、図５を参照して説明した内容と同じであるため詳細な説明は省略する。  但し、実施例１の記述において、ＰＣ４、秘密鍵制御モジュール４０、鍵保存部４６、電子証明書保存部４７、暗号処理部４８、証明書検証部４９は、それぞれ、ＰＣ６、秘密鍵制御モジュール１２０、鍵保存部１２７、電子証明書保存部１２６、暗号処理部１２８、証明書検証部１２９に置き換えて説明されるものとする。
【０２５８】
なお、本実施例においても、実施例１で図６を参照して説明したように、ＰＣ内の秘密鍵制御モジュールである秘密鍵制御モジュール１２０の機能をＩＣカード６０２内にプログラムとして組み込んで、ＩＣカード６０２で秘密鍵が必要な暗号／復号／署名／認証のいずれかの処理が行われるようにすることができる。  その際、図６に示す事業所１内には、SharedSecret登録部８０、電子証明書登録部２０、データ処理部３０を備えたＰＣ６がＰＣ４の代わりに配置され、ＰＣ６にはＩＣカード読書き装置６０１が接続される。  そして、図６に示す認証局２内には、認証局モジュール１４０を備えるＰＣ７がＰＣ５の代わりに配置される。  そして、図６に示すＩＣカード６０２には、秘密鍵制御モジュール１２０が秘密鍵制御モジュール４０の代わりに備えられ、外部との情報の授受を行う図示しない通信インタフェースが存在して、その通信インタフェースが秘密鍵制御モジュール１２０と情報の授受を行う。
【０２５９】
なお、秘密鍵制御システム１００において、秘密鍵制御モジュール１２０に秘密鍵とその秘密鍵に対応する電子証明書の登録が行われる際（図１３、図１４のフローチャートに相当）には、事業所１内のＰＣ６と認証局２内のＰＣ７とが接続可能な状態である必要があるが、データ処理部３０によって処理要求が行われる際には、事業所１内のＰＣ６と認証局２内のＰＣ７とが接続可能な状態である必要はない。
【０２６０】
なお、ステップ１３１０では、電子証明書にSharedSecretによる署名が付加されて秘密鍵制御モジュール１２０に送信されるデータが生成されたが、そうではなくて、電子証明書がSharedSecretによって暗号化されて秘密鍵制御モジュール１２０に送信されるデータが生成されても良い。  その際には、SharedSecretによって暗号化されたデータを受信した秘密鍵制御モジュール１２０は、ステップ１３１４において電子証明書に付加された署名の検証を行わずに、認証局モジュール１４０から受信したデータをSharedSecretで復号する処理を行う。  そして、SharedSecretによって復号できた場合には、ステップ１３１４でＹＥＳの処理へと進む。
【産業上の利用可能性】
【０２６１】
この発明は、秘密鍵制御装置、秘密鍵制御システムおよび秘密鍵制御プログラムにおいて利用可能である。
【０２６２】
本発明に係わる秘密鍵制御プログラムをＩＣカード、ＵＳＢ(Universal Serial Bus)メモリ、ＳＤ(Secure Digital memory card)カードなどに記憶させて秘密鍵制御装置として利用することも可能である。
【図面の簡単な説明】
【０２６３】
【図１】秘密鍵制御システム１００の構成について示した概略図。
【図２】秘密鍵制御モジュール４０、認証局モジュール５０などの構成を示すブロック図。
【図３】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【図４】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【図５】秘密鍵の使用時に行われる処理を示したフローチャート。
【図６】秘密鍵制御システム１００の応用例について示した図。
【図７】秘密鍵制御モジュール６０、認証局モジュール７０などの構成を示すブロック図。
【図８】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【図９】秘密鍵制御モジュール９０、認証局モジュール１１０などの構成を示すブロック図。
【図１０】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【図１１】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【図１２】秘密鍵制御モジュール１２０、認証局モジュール１４０などの構成を示すブロック図。
【図１３】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【図１４】秘密鍵と電子証明書の登録が行われる処理を示したフローチャート。
【符号の説明】
【０２６４】
１    事業所
２    認証局
３    通信回線
４、６    ＰＣ（事業所）
５、７    ＰＣ（認証局）
１０    認証局証明書登録部
２０    電子証明書登録部
３０    データ処理部
４０、６０、９０、１２０    秘密鍵制御モジュール
５０、７０、１１０、１４０    認証局モジュール
８０    SharedSecret登録部
６０１    ＩＣカード読書き装置
６０２    ＩＣカード
６０３    認証装置
【図１】
2008294552.tif 000003
【図２】
2008294552.tif 000004
【図３】
2008294552.tif 000005
【図４】
2008294552.tif 000006
【図５】
2008294552.tif 000007
【図６】
2008294552.tif 000008
【図７】
2008294552.tif 000009
【図８】
2008294552.tif 000010
【図９】
2008294552.tif 000011
【図１０】
2008294552.tif 000012
【図１１】
2008294552.tif 000013
【図１２】
2008294552.tif 000014
【図１３】
2008294552.tif 000015
【図１４】
2008294552.tif 000016