(57)【要約】【課題】クライアントからの要求に基づかないサーバによる処理の実行を防止することを目的とする。【解決手段】セキュリティサーバ４０は、ＲＡ２０が送信した証明書発行依頼と乱数とを受信したＣＡ１０から、証明書を発行するために必要な情報の生成コマンドと乱数とを受信する。セキュリティサーバ４０は、受信した乱数に基づき、ＲＡ２０が証明書発行依頼をＣＡ１０へ送信したことを確認して受信した生成コマンドを実行するか否かを判定する。セキュリティサーバ４０は、生成コマンドを実行すると判定した場合、生成コマンドが実行されて生成された実行結果をＣＡ１０へ送信して、ＣＡ１０に実行結果に基づき証明書を発行させる。【選択図】図３
2010015285.tif 000002
【特許請求の範囲】
【請求項１】
クライアントが送信した処理依頼情報を上記クライアントの認証情報とともに受信した処理サーバから、上記処理依頼情報が示す処理を実行するために必要な情報の生成指示と上記認証情報とを通信装置を介して受信する生成指示受信部と、
上記生成指示受信部が受信した認証情報に基づき、上記クライアントが処理依頼を送信したことを確認して、その確認結果に基づいて上記生成指示受信部が受信した生成指示が示す生成処理を実行するか否かを処理装置により判定する実行判定部と、
上記生成処理を実行すると上記実行判定部が判定した場合、上記生成処理が実行されて生成された処理結果情報を上記処理サーバへ通信装置を介して送信して、上記処理サーバに上記処理結果情報に基づき依頼された処理を実行させる結果情報送信部と
を備えることを特徴とする実行判定装置。
【請求項２】
上記実行判定装置は、さらに、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記クライアントから認証情報を通信装置を介して受信する認証情報受信部を備え、
上記実行判定部は、上記生成指示受信部が受信した認証情報と、上記認証情報受信部が受信した認証情報とを比較した結果に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項１に記載の実行判定装置。
【請求項３】
上記実行判定装置は、さらに、
認証情報を処理装置により生成する認証情報生成部と、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記認証情報生成部が生成した認証情報を上記クライアントへ通信装置を介して送信して、上記クライアントの認証情報として上記処理依頼情報とともに上記処理サーバへ送信させる認証情報送信部とを備え、
上記実行判定部は、上記生成指示受信部が受信した認証情報と、上記認証情報生成部が生成した認証情報とを比較した結果に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項１に記載の実行判定装置。
【請求項４】
上記実行判定装置は、さらに、
上記生成指示受信部が受信した認証情報を上記クライアントへ通信装置を介して送信して、送信した認証情報と上記クライアントが上記処理サーバへ送信した認証情報との比較処理を依頼するとともに、比較処理の比較結果情報を通信装置を介して受信する比較依頼部を備え、
上記実行判定部は、上記比較依頼部が受信した比較結果情報に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項１に記載の実行判定装置。
【請求項５】
上記実行判定装置は、さらに、
認証情報を処理装置により生成する認証情報生成部と、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記認証情報生成部が生成した認証情報を上記クライアントへ通信装置を介して送信して、上記クライアントの認証情報として上記処理依頼情報とともに上記処理サーバへ送信させる認証情報送信部と、
上記生成指示受信部が受信した認証情報を上記クライアントへ通信装置を介して送信して、送信した認証情報と上記認証情報送信部が先に送信した認証情報との比較処理を依頼するとともに、比較処理の比較結果情報を通信装置を介して受信する比較依頼部とを備え、
上記実行判定部は、上記比較依頼部が受信した比較結果情報に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項１に記載の実行判定装置。
【請求項６】
上記実行判定装置は、さらに、
生成処理を実行するために必要なユーザ情報を予め記憶装置に記憶するユーザ情報記憶部を備え、
上記実行判定部は、上記生成処理を実行すると判定した場合、上記ユーザ情報記憶部が記憶したユーザ情報を入力して上記生成処理を実行させる
ことを特徴とする請求項１から５までのいずれかに記載の実行判定装置。
【請求項７】
上記実行判定装置は、さらに、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、生成処理を実行するために必要なユーザ情報を上記クライアントから通信装置を介して受信するユーザ情報受信部を備え、
上記実行判定部は、上記生成処理を実行すると判定した場合、上記ユーザ情報受信部が受信したユーザ情報を入力して上記生成処理を実行させる
ことを特徴とする請求項１から５までのいずれかに記載の実行判定装置。
【請求項８】
上記生成指示受信部は、生成処理を実行するために必要なユーザ情報であって、上記クライアントにより所定の暗号化鍵で暗号化されたユーザ情報を認証情報として受信し、
上記実行判定装置は、さらに、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記暗号化鍵に対応する復号鍵を通信装置を介して受信する鍵受信部と、
上記生成指示受信部が受信した暗号化されたユーザ情報を、上記鍵受信部が受信した復号鍵で処理装置により復号する復号部とを備え、
上記実行判定部は、上記復号部がユーザ情報を復号できたか否かにより、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項１に記載の実行判定装置。
【請求項９】
上記実行判定装置は、さらに、
暗号化鍵と、上記暗号化鍵に対応する復号鍵とを処理装置より生成する鍵生成部と、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記鍵生成部が生成した暗号化鍵を上記クライアントへ通信装置を介して送信する鍵送信部とを備え、
上記生成指示受信部は、生成処理を実行するために必要なユーザ情報であって、上記クライアントにより上記鍵送信部が送信した暗号化鍵で暗号化されたユーザ情報を認証情報として受信し、
上記実行判定装置は、さらに、
上記生成指示受信部が受信した暗号化されたユーザ情報を、上記鍵生成部が生成した復号鍵で処理装置により復号する復号部とを備え、
上記実行判定部は、上記復号部がユーザ情報を復号できたか否かにより、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項１に記載の実行判定装置。
【請求項１０】
上記実行判定装置は、さらに、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記クライアントから乱数を通信装置を介して受信する乱数受信部を備え、
上記生成指示受信部は、所定の暗号化鍵で暗号化されたユーザ情報とともに、上記クライアントにより上記所定の暗号化鍵で暗号化された乱数を認証情報として受信し、
上記復号部は、暗号化されたユーザ情報を復号するとともに、上記生成指示受信部が受信した暗号化された乱数を復号し、
上記実行判定部は、上記復号部がユーザ情報を復号できたか否かとともに、上記復号部が復号した乱数と、上記認証情報受信部が受信した乱数とを比較した結果に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項８又は９に記載の実行判定装置。
【請求項１１】
上記実行判定装置は、さらに、
乱数を処理装置により生成する乱数生成部と、
上記クライアントが処理依頼情報を上記処理サーバへ送信する場合に、上記乱数生成部が生成した乱数を上記クライアントへ通信装置を介して送信して、上記乱数を上記所定の暗号化鍵で暗号化させて上記処理依頼情報とともに上記処理サーバへ送信させる認証情報送信部とを備え、
上記生成指示受信部は、所定の暗号化鍵で暗号化されたユーザ情報とともに、上記クライアントにより上記暗号化された乱数を認証情報として受信し、
上記復号部は、暗号化されたユーザ情報を復号するとともに、上記生成指示受信部が受信した暗号化された乱数を復号し、
上記実行判定部は、上記復号部がユーザ情報を復号できたか否かとともに、上記復号部が復号した乱数と、上記乱数生成部が生成した乱数とを比較した結果に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成処理を実行するか否かを判定する
ことを特徴とする請求項８又は９に記載の実行判定装置。
【請求項１２】
クライアントが送信した証明書発行依頼を上記クライアントの認証情報とともに受信した証明書発行サーバから、証明書を発行するために必要な情報を生成するコマンドと上記認証情報とを通信装置を介して受信する生成指示受信部と、
上記生成指示受信部が受信した認証情報に基づき、上記クライアントが証明書発行依頼を送信したことを確認して、上記生成指示受信部が受信したコマンドを実行するか否かを処理装置により判定する実行判定部と、
上記コマンドを実行すると上記実行判定部が判定した場合、上記コマンドが実行されて生成された処理結果情報を上記証明書発行サーバへ通信装置を介して送信して、上記証明書発行サーバに上記処理結果情報に基づき証明書を発行させる結果情報送信部と
を備えることを特徴とする実行判定装置。
【請求項１３】
クライアントと処理サーバと実行判定装置とがネットワークを介して接続された実行判定システムであり、
上記クライアントは、
所定の処理の実行を依頼する処理依頼情報を認証情報とともに上記処理サーバへ通信装置を介して送信する依頼送信部を備え、
上記処理サーバは、
上記依頼送信部が送信した処理依頼情報と認証情報とを通信装置を介して受信する依頼受信部と、
上記依頼受信部が受信した処理依頼情報が示す上記所定の処理を実行するために必要な情報の生成指示と上記認証情報とを通信装置を介して送信する生成指示送信部とを備え、
上記実行判定装置は、
上記生成指示送信部が送信した上記生成指示と上記認証情報とを通信装置を介して受信する生成指示受信部と、
上記生成指示受信部が受信した認証情報に基づき、上記クライアントが処理依頼を送信したことを確認して、上記生成指示受信部が受信した生成指示が示す生成処理を実行するか否かを処理装置により判定する実行判定部と、
上記生成処理を実行すると上記実行判定部が判定した場合、上記生成処理が実行されて生成された処理結果情報を上記処理サーバへ通信装置を介して送信する結果情報送信部とを備え、
上記処理サーバは、さらに、
上記結果情報送信部が送信した処理結果情報に基づき、上記所定の処理を実行する処理実行部
を備えることを特徴とする実行判定システム。
【請求項１４】
通信装置が、クライアントが送信した処理依頼情報を上記クライアントの認証情報とともに受信した処理サーバから、上記処理依頼情報が示す処理を実行するために必要な情報の生成指示と上記認証情報とを受信する生成指示受信ステップと、
処理装置が、上記生成指示受信ステップで受信した認証情報に基づき、上記クライアントが処理依頼を送信したことを確認して、その確認結果に基づいて上記生成指示受信ステップで受信した生成指示が示す生成処理を実行するか否かを判定する実行判定ステップと、
通信装置が、上記生成処理を実行すると上記実行判定ステップで判定した場合、上記生成処理が実行されて生成された処理結果情報を上記処理サーバへ送信して、上記処理サーバに上記処理結果情報に基づき依頼された処理を実行させる結果情報送信ステップと
を備えることを特徴とする実行判定方法。
【請求項１５】
クライアントが送信した処理依頼情報を上記クライアントの認証情報とともに受信した処理サーバから、上記処理依頼情報が示す処理を実行するために必要な情報の生成指示と上記認証情報とを受信する生成指示受信処理と、
上記生成指示受信処理で受信した認証情報に基づき、上記クライアントが処理依頼を送信したことを確認して、その確認結果に基づいて上記生成指示受信処理で受信した生成指示が示す生成処理を実行するか否かを判定する実行判定処理と、
上記生成処理を実行すると上記実行判定処理で判定した場合、上記生成処理で実行されて生成された処理結果情報を上記処理サーバへ送信して、上記処理サーバに上記処理結果情報に基づき依頼された処理を実行させる結果情報送信処理と
をコンピュータに実行させることを特徴とする実行判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、証明書発行サーバによる電子証明書（以下、証明書）の発行等、サーバによる処理の実行を制御する技術に関する。
【背景技術】
【０００２】
従来の証明書発行システムでは、ユーザの依頼（操作）により、ＲＡ（Ｒｅｇｉｓｔｒａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ，クライアントの一例）が証明書の発行依頼をＣＡ（Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ，証明書発行サーバ，処理サーバの一例）へ送信する。ＣＡは、ＲＡから証明書の発行依頼を受信すると、予め記憶していたユーザのＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）とコマンドとをセキュリティモジュールへ渡して、ＰＩＮによる認証が受けられた場合、セキュリティモジュールからコマンドの実行結果を受信する。そして、ＣＡは、受信したコマンドの実行結果に基づき証明書を発行して、ＲＡへ送信する。
【０００３】
特許文献１では、アクセスコントロールリストに基づきセキュリティモジュールがアクセス制御を行うことで、セキュリティモジュールでの処理の実行を制御する技術についての記載がある。
【特許文献１】特開２００６−１０７３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の証明書発行システムでは、ＣＡがセキュリティモジュールとセキュリティモジュールの実行に必要なＰＩＮとを有する。そのため、実質的にＣＡが証明書の発行権限を保有している。言い換えると、ＲＡやＲＡへ証明書の発行を依頼するユーザは、ＣＡによる証明書の発行処理を制御することができない。したがって、証明書の発行を依頼するユーザはＣＡの正当性を信頼せざるを得ない。
証明書の発行以外の処理であっても同様であり、クライアントやクライアントを使用するユーザ（以下、単に「クライアント」という。）からの要求に基づかないサーバによるセキュリティモジュールにおける処理の実行を防止することができない。そのため、セキュリティモジュールにおける処理をサーバに悪用される虞がある。
この発明は、クライアントからの要求に基づかないサーバによる処理の実行を防止することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る実行判定装置は、例えば、クライアントが送信した処理依頼情報を上記クライアントの認証情報とともに受信した処理サーバから、上記処理依頼情報が示す処理を実行するために必要な情報の生成指示と上記認証情報とを通信装置を介して受信する生成指示受信部と、
上記生成指示受信部が受信した認証情報に基づき、上記クライアントが処理依頼を送信したことを確認して、その確認結果に基づいて上記生成指示受信部が受信した生成指示が示す生成処理を実行するか否かを処理装置により判定する実行判定部と、
上記生成処理を実行すると上記実行判定部が判定した場合、上記生成処理が実行されて生成された処理結果情報を上記処理サーバへ通信装置を介して送信して、上記処理サーバに上記処理結果情報に基づき依頼された処理を実行させる結果情報送信部と
を備えることを特徴とする。
【発明の効果】
【０００６】
この発明に係る実行判定装置は、クライアントが処理依頼を送信したことを確認して、クライアントから依頼された処理を実行するのに必要な情報を処理サーバへ送信する。そのため、処理サーバは、クライアントから処理依頼を受信した場合でなければ、依頼された処理を実行することができない。つまり、この発明に係る実行判定装置によれば、クライアントによりサーバの処理を制御することができる。
【発明を実施するための最良の形態】
【０００７】
以下の説明では、証明書発行システム１００における証明書発行処理を例として、クライアントからの要求に基づかないサーバによる処理の実行を防止する実行判定システムについて説明する。
【０００８】
実施の形態１．
【０００９】
この実施の形態に係る証明書発行システム１００の基本構成である証明書発行システム１０１について説明する。
図１は、証明書発行システム１０１の機能を示す機能ブロック図である。
証明書発行システム１０１は、ＣＡ１０、ＲＡ２０を備える。ＣＡ１０は、証明書を発行する装置であり、処理サーバの一例である。ＣＡ１０は、証明書発行受付部１１（依頼受信部の一例）、ＰＩＮ入力部１２、証明書発行部１３（処理実行部の一例）、セキュリティモジュール６０を備える。セキュリティモジュール６０は、コマンド実行部６１を備える。ＲＡ２０は、証明書の発行を依頼する装置であり、クライアントの一例であり、例えば携帯電話機等である。ＲＡ２０は、証明書発行依頼部２１（依頼送信部の一例）、証明書検証部２２を備える。
【００１０】
証明書発行システム１０１の動作について説明する。
図２は、証明書発行システム１０１の動作を示すフローチャートである。
まず、図２に示す処理の事前準備として、ＣＡ１０のＰＩＮ入力部１２は、管理者２の端末が秘密に保持するＰＩＮを取得して記憶装置に記憶しておく。
＜Ｓ１０１＞：ユーザ１からの要求により、ＲＡ２０が処理を開始する。まず証明書発行依頼部２１は、発行用情報を含む証明書発行依頼（処理依頼情報の一例）をＣＡ１０へ通信装置を介して送信する。
＜Ｓ１０２＞：次にＣＡが処理を開始する。証明書発行受付部１１は、ＲＡ２０から証明書発行依頼を通信装置を介して受信する。証明書発行受付部１１は、証明書発行依頼から発行用情報を取り出し証明書発行部１３へ送信する。
＜Ｓ１０３＞：証明書発行部１３は、発行用情報を証明書発行受付部１１から受信するとともに、ＰＩＮをＰＩＮ入力部１２から受信する。証明書発行部１３は、発行用情報を利用して証明書作成のためのコマンド（生成指示の一例）を処理装置により生成する。そして、証明書発行部１３は、生成したコマンドとＰＩＮとをセキュリティモジュール６０のコマンド実行部６１へ送信する。
＜Ｓ１０４＞：コマンド実行部６１は、コマンドとＰＩＮとを証明書発行部１３から受信する。コマンド実行部６１は、ＰＩＮが正しいか検証する。コマンド実行部６１は、例えば、予め内部に記憶したＰＩＮと受信したＰＩＮとを比較して、ＰＩＮが正しいか検証する。コマンド実行部６１は、ＰＩＮが正しい場合、受信したコマンドと、セキュリティモジュール６０に保持される保護情報とに基づき実行結果（処理結果情報の一例）を処理装置により生成する。なお、保護情報とは、例えば、公開鍵暗号方式における秘密鍵である。コマンド実行部６１は、例えば、受信したコマンドの指示に従い、秘密鍵に基づき電子署名を作成する。コマンド実行部６１は、生成した実行結果を証明書発行部１３へ送信する。
＜Ｓ１０５＞：証明書発行部１３は、コマンド実行部６１から実行結果を受信する。証明書発行部１３は、受信した実行結果に基づき証明書を処理装置により発行する。証明書発行部１３は、発行した証明書を証明書発行受付部１１へ送信する。
＜Ｓ１０６＞：証明書発行受付部１１は、証明書発行部１３から発行された証明書を受信する。証明書発行受付部１１は、受信した証明書をＲＡ２０へ通信装置を介して送信する。
＜Ｓ１０７＞：次にＲＡ２０が処理を開始する。証明書発行依頼部２１は、ＣＡ１０から証明書を通信装置を介して受信する。証明書発行依頼部２１は、受信した証明書を証明書検証部２２へ送信する。
＜Ｓ１０８＞：証明書検証部２２は、証明書発行依頼部２１から証明書を受信するとともに、発行用情報を取得する。証明書検証部２２は、証明書を発行用情報に基づき処理装置により検証する。証明書検証部２２は、検証結果が正当な場合は証明書をユーザへ渡す。
【００１１】
しかし、証明書発行システム１０１では、ＣＡ１０がセキュリティモジュールとセキュリティモジュールの実行に必要なＰＩＮを有する。つまり、実質的にＣＡが証明書の発行権限を保有している。言い換えると、証明書の発行を依頼するＲＡ２０及びＲＡ２０へ証明書の発行を依頼するユーザ（以下、単に「ＲＡ２０」という。）は、ＣＡ１０による証明書の発行処理を制御することができない。そのため、証明書の発行を依頼するＲＡ２０はＣＡ１０の正当性を信頼せざるをえない。
【００１２】
この実施の形態に係る証明書発行システム１００では、ＲＡ２０が、ＣＡ１０よる証明書の発行処理を制御することができる。
証明書発行システム１００について説明する。
図３は、この実施の形態に係る証明書発行システム１００の機能を示す機能ブロック図である。
この実施の形態に係る証明書発行システム１００は、証明書発行システム１０１に加え、セキュリティサーバ４０（実行判定装置の一例）を備える。
ＣＡ１０は、証明書発行システム１０１のＣＡ１０とは異なり、ＰＩＮ入力部１２、セキュリティモジュール６０を備えず、代わりに、セキュリティプロキシ７０を備える。セキュリティプロキシ７０は、コマンド実行依頼部７１（生成指示送信部の一例）を備える。
ＲＡ２０は、証明書発行システム１０１のＲＡ２０に加え、乱数生成部２３（クライアントの認証情報生成部の一例）、乱数送信部２４（クライアントの認証情報送信部の一例）を備える。
セキュリティサーバ４０は、コマンド実行受付部４１（生成指示受信部、結果情報送信部の一例）、乱数受信部４２（実行判定装置の認証情報受信部の一例）、乱数比較部４３（実行判定装置の認証情報比較部の一例）、ＰＩＮ入力部４４（実行判定装置のユーザ情報入力部、ユーザ情報記憶部の一例）、実行判定部４５、セキュリティモジュール６０を備える。セキュリティモジュール６０は、証明書発行システム１０１と同様に、コマンド実行部６１を備える。
【００１３】
図３に示す証明書発行システム１００の動作について説明する。
図４は、図３に示す証明書発行システム１００の動作を示すフローチャートである。
まず、図４に示す処理の事前準備として、セキュリティサーバ４０のＰＩＮ入力部４４は、ユーザ１が秘密に保持するＰＩＮを取得して記憶装置に記憶しておく。つまり、セキュリティモジュールによるコマンドの実行に必要となるＰＩＮは、管理者２からではなく、ユーザ１から取得する。また、ＰＩＮは、ＣＡ１０ではなく、セキュリティサーバ４０へ渡される。
＜Ｓ２０１＞：ユーザ１からの要求により、ＲＡ２０が処理を開始する。乱数生成部２３は、処理装置により乱数（認証情報の一例）を生成する。
＜Ｓ２０２＞：乱数送信部２４は、乱数生成部２３が生成した乱数をセキュリティサーバ４０へ通信装置を介して送信する。
＜Ｓ２０３＞：証明書発行依頼部２１は、乱数生成部２３が生成した乱数と発行用情報とを含む証明書発行依頼をＣＡ１０へ通信装置を介して送信する。
＜Ｓ２０４＞：ＣＡ１０が処理を開始する。証明書発行受付部１１は、ＲＡ２０から証明書発行依頼を通信装置を介して受信する。証明書発行受付部１１は、証明書発行依頼から乱数と発行用情報とを取り出し証明書発行部１３へ送信する。
＜Ｓ２０５＞：証明書発行部１３は、乱数と発行用情報とを証明書発行受付部１１から受信する。証明書発行部１３は、発行用情報を利用して証明書作成のためのコマンドを処理装置により生成する。証明書発行部１３は、生成したコマンドと乱数とをセキュリティプロキシ７０のコマンド実行依頼部７１へ送信する。ここで、セキュリティプロキシ７０は、セキュリティモジュール６０と共通のインターフェースを有する。そのため、証明書発行部１３は、セキュリティモジュール６０のコマンド実行部６１へ生成したコマンドと乱数とを送信するのと同様に、セキュリティプロキシ７０のコマンド実行依頼部７１へ生成したコマンドと乱数とを送信できる。
＜Ｓ２０６＞：コマンド実行依頼部７１は、コマンドと乱数とを証明書発行部１３から受信する。コマンド実行依頼部７１は、受信したコマンドと乱数とをセキュリティサーバ４０へ通信装置を介して送信する。
＜Ｓ２０７＞：セキュリティサーバ４０が処理を開始する。コマンド実行受付部４１は、ＣＡ１０からコマンドと乱数とを通信装置を介して受信する。コマンド実行受付部４１は、コマンドを実行判定部４５へ送信するとともに、乱数を受付乱数として乱数比較部４３へ送信する。
＜Ｓ２０８＞：乱数受信部４２は、乱数をＲＡ２０から通信装置を介して受信する。乱数受信部４２は、受信した乱数を乱数比較部４３へ送信する。
＜Ｓ２０９＞：乱数比較部４３は、受付乱数をコマンド実行受付部４１から受信するとともに、乱数を乱数受信部４２から受信する。乱数比較部４３は、受信した受付乱数と乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部４３は、比較結果を実行判定部４５へ送信する。
＜Ｓ２１０＞：実行判定部４５は、ＰＩＮをＰＩＮ入力部４４から受信し、コマンドをコマンド実行受付部４１から受信し、比較結果を乱数比較部４３から受信する。実行判定部４５は、受信した比較結果が一致したことを示す場合、受信したコマンドとＰＩＮとをセキュリティモジュール６０のコマンド実行部６１へ送信する。つまり、実行判定部４５は、乱数の比較結果により、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことを確認する。そして、実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できた場合、コマンド実行部６１へコマンドの実行を依頼する。実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できない場合、コマンド実行部６１へコマンドの実行を依頼しない。例えば、実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できない場合、コマンド実行受付部４１を介して認証失敗（エラー）であることを示す情報を返してもよい。
＜Ｓ２１１＞：コマンド実行部６１は、コマンドとＰＩＮとを実行判定部４５から受信する。コマンド実行部６１は、ＰＩＮが正しいか検証する。コマンド実行部６１は、ＰＩＮが正しい場合、受信したコマンドと、セキュリティモジュール６０に保持される保護情報とに基づき実行結果を処理装置により生成する。コマンド実行部６１は、生成した実行結果（処理結果情報の一例）をコマンド実行受付部４１へ送信する。
＜Ｓ２１２＞：コマンド実行受付部４１は、実行結果をコマンド実行部６１から受信する。コマンド実行受付部４１は、受信した実行結果をＣＡ１０へ通信装置を介して送信する。
＜Ｓ２１３＞：ＣＡ１０が処理を開始する。セキュリティプロキシ７０のコマンド実行依頼部７１は、実行結果をセキュリティサーバ４０から通信装置を介して受信する。コマンド実行依頼部７１は、受信した実行結果を証明書発行部１３へ送信する。
＜Ｓ２１４＞から＜Ｓ２１７＞までは、＜Ｓ１０５＞から＜Ｓ１０８＞までと同様である。
【００１４】
以上のように、この実施の形態に係る証明書発行システム１００は、ＲＡ２０がＣＡ１０へ証明書発行依頼をしたことをセキュリティサーバ４０が確認し、確認が取れた場合にコマンド実行部６１により証明書の発行に必要な情報の生成をさせる。したがって、ＲＡ２０が、ＣＡ１０よる証明書の発行処理を制御することができる。そのため、ＣＡ１０による証明書の無断発行や過去の処理依頼を再利用したリプレイ発行が不能となる。
つまり、ユーザ側は、証明書に署名を実行するために使用するＰＩＮはユーザのみが保有し、ＣＡ１０は保有しないため、ユーザが証明書の発行権限を保有するというメリットがある。
特に、ＲＡ２０がＣＡ１０へ証明書発行依頼をしたことをセキュリティサーバ４０が確認するための認証情報として乱数を用いているため、認証情報の再利用も防止している。
【００１５】
一方、ＣＡ１０側は、セキュリティモジュール６０はセキュリティサーバ４０が備えるため、セキュリティモジュールの厳重な管理が不要となるというメリットがある。つまり、ＣＡ１０の設備費用を削減することができる。
【００１６】
図３に示す証明書発行システム１００では、乱数の生成をＲＡ２０で行った。しかし、図５に示すように、乱数の生成をセキュリティサーバ４０で行うようにしてもよい。
図５に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図３に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図３に示す証明書発行システム１００のＲＡ２０と異なり、乱数生成部２３、乱数送信部２４を備えず、代わりに、乱数受信部２５（クライアントの認証情報受信部の一例）を備える。
セキュリティサーバ４０は、図３に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２を備えず、乱数生成部４６（実行判定装置の認証情報生成部の一例）、乱数送信部４７（実行判定装置の認証情報送信部の一例）を備える。
【００１７】
図５に示す証明書発行システム１００の動作について説明する。
図６は、図５に示す証明書発行システム１００の動作を示すフローチャートである。
まず、図６に示す処理の事前準備として、実施の形態１に係る証明書発行システム１００と同様に、セキュリティサーバ４０のＰＩＮ入力部４４は、ユーザ１が秘密に保持するＰＩＮを取得して記憶装置に記憶しておく。
＜Ｓ３０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。乱数生成部４６は、処理装置により乱数を生成する。乱数生成部４６は、生成した乱数を乱数送信部４７へ送信する。
＜Ｓ３０２＞：乱数送信部４７は、乱数を乱数生成部４６から受信する。乱数送信部４７は、通信装置を介して乱数をＲＡ２０へ送信する。
＜Ｓ３０３＞：ＲＡ２０が処理を開始する。乱数受信部２５は、乱数をセキュリティサーバ４０から通信装置を介して受信する。乱数受信部２５は、受信した乱数を証明書発行依頼部２１へ送信する。
＜Ｓ３０４＞：証明書発行依頼部２１は、乱数を乱数受信部２５から受信する。証明書発行依頼部２１は、受信した乱数と発行用情報とを含む証明書発行依頼をＣＡ１０へ通信装置を介して送信する。
＜Ｓ３０５＞から＜Ｓ３０８＞までは、＜Ｓ２０４＞から＜Ｓ２０７＞までと同様である。
＜Ｓ３０９＞：乱数比較部４３は、受付乱数をコマンド実行受付部４１から受信する。乱数比較部４３は、受信した受信乱数と、乱数生成部４６が生成した乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部４３は、比較結果を実行判定部４５へ送信する。
＜Ｓ３１０＞から＜Ｓ３１７＞までは、＜Ｓ２１０＞から＜Ｓ２１７＞までと同様である。
【００１８】
つまり、図３に示す証明書発行システム１００では、ＲＡ２０が乱数を発生させていたのに対し、図５に示す証明書発行システム１００では、セキュリティサーバ４０が乱数を発生させている。
図５に示す証明書発行システム１００は、図３に示す証明書発行システム１００と同様の効果を得ることができる。
【００１９】
図３に示す証明書発行システム１００では、乱数の比較をセキュリティサーバ４０で行った。しかし、図７に示すように、乱数の比較をＲＡ２０で行うようにしてもよい。
図７に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図３に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図３に示す証明書発行システム１００のＲＡ２０と異なり、乱数送信部２４を備えず、代わりに、比較受付部２６、乱数比較部２７を備える。
セキュリティサーバ４０は、図３に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２を備えず、比較依頼部４８を備える。
【００２０】
図７に示す証明書発行システム１００の動作について説明する。
図８は、図７に示す証明書発行システム１００の動作を示すフローチャートである。
まず、図８に示す処理の事前準備として、実施の形態１に係る証明書発行システム１００と同様に、セキュリティサーバ４０のＰＩＮ入力部４４は、ユーザ１が秘密に保持するＰＩＮを取得して記憶装置に記憶しておく。
＜Ｓ４０１＞は、＜Ｓ２０１＞と同様である。
＜Ｓ４０２＞から＜Ｓ４０５＞までは、＜Ｓ２０３＞から＜Ｓ２０６＞までと同様である。
＜Ｓ４０６＞：セキュリティサーバ４０が処理を開始する。コマンド実行受付部４１は、ＣＡ１０からコマンドと乱数とを通信装置を介して受信する。コマンド実行受付部４１は、コマンドを実行判定部４５へ送信するとともに、乱数を受付乱数として比較依頼部４８へ送信する。
＜Ｓ４０７＞：比較依頼部４８は、受付乱数をコマンド実行受付部４１から受信する。比較依頼部４８は、受信した受付乱数をＲＡ２０の比較受付部２６へ通信装置を介して送信する。
＜Ｓ４０８＞：ＲＡ２０が処理を開始する。比較受付部２６は、受付乱数をセキュリティサーバ４０の乱数生成部４６から通信装置を介して受信する。比較受付部２６は、受信した受付乱数を乱数比較部２７へ送信する。
＜Ｓ４０９＞：乱数比較部２７は、受付乱数を比較受付部２６から受信する。乱数比較部２７は、受信した受付乱数と、乱数生成部２３が生成した乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部２７は、判定した結果を比較結果（比較結果情報）として比較受付部２６へ送信する。
＜Ｓ４１０＞：比較受付部２６は、比較結果を乱数比較部２７から受信する。比較受付部２６は、受信した比較結果をセキュリティサーバ４０の比較依頼部４８へ通信装置を介して送信する。
＜Ｓ４１１＞：セキュリティサーバ４０が処理を開始する。比較依頼部４８は、比較結果をＲＡ２０の比較受付部２６から受信する。比較依頼部４８は、受信した比較結果を実行判定部４５へ送信する。
＜Ｓ４１２＞：実行判定部４５は、ＰＩＮをＰＩＮ入力部４４から受信し、コマンドをコマンド実行受付部４１から受信し、比較結果を比較依頼部４８から受信する。実行判定部４５は、受信した比較結果が一致したことを示す場合、受信したコマンドとＰＩＮとをセキュリティモジュール６０のコマンド実行部６１へ送信する。
＜Ｓ４１３＞から＜Ｓ４１９＞までは、＜Ｓ２１１＞から＜Ｓ２１７＞までと同様である。
【００２１】
つまり、図３に示す証明書発行システム１００では、セキュリティサーバ４０が乱数の比較をしていたのに対し、図７に示す証明書発行システム１００では、ＲＡ２０が乱数の比較をしている。
図７に示す証明書発行システム１００は、図３に示す証明書発行システム１００と同様の効果を得ることができる。
【００２２】
図３に示す証明書発行システム１００では、乱数の生成をＲＡ２０で行い、乱数の比較をセキュリティサーバ４０で行った。しかし、図９に示すように、乱数の生成をセキュリティサーバ４０で行い、乱数の比較をＲＡ２０で行うようにしてもよい。
図９に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図３に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図３に示す証明書発行システム１００のＲＡ２０と異なり、乱数送信部２４を備えず、代わりに、乱数受信部２５、比較受付部２６、乱数比較部２７を備える。
セキュリティサーバ４０は、図３に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２を備えず、乱数生成部４６、乱数送信部４７、比較依頼部４８を備える。
【００２３】
図９に示す証明書発行システム１００の動作について説明する。
図１０は、図９に示す証明書発行システム１００の動作を示すフローチャートである。
まず、図１０に示す処理の事前準備として、実施の形態１に係る証明書発行システム１００と同様に、セキュリティサーバ４０のＰＩＮ入力部４４は、ユーザ１が秘密に保持するＰＩＮを取得して記憶装置に記憶しておく。
＜Ｓ５０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。乱数生成部４６は、処理装置により乱数を生成する。乱数生成部４６は、生成した乱数を乱数送信部４７へ送信する。
＜Ｓ５０２＞：乱数送信部４７は、乱数を乱数生成部４６から受信する。乱数送信部４７は、通信装置を介して乱数をＲＡ２０へ送信する。
＜Ｓ５０３＞：ＲＡ２０が処理を開始する。乱数受信部２５は、乱数をセキュリティサーバ４０から通信装置を介して受信する。乱数受信部２５は、受信した乱数を証明書発行依頼部２１へ送信する。
＜Ｓ５０４＞：証明書発行依頼部２１は、乱数を乱数受信部２５から受信する。証明書発行依頼部２１は、受信した乱数と発行用情報とを含む証明書発行依頼をＣＡ１０へ通信装置を介して送信する。
＜Ｓ５０５＞から＜Ｓ５０７＞までは、＜Ｓ２０４＞から＜Ｓ２０６＞までと同様である。
＜Ｓ５０８＞：セキュリティサーバ４０が処理を開始する。コマンド実行受付部４１は、ＣＡ１０からコマンドと乱数とを通信装置を介して受信する。コマンド実行受付部４１は、コマンドを実行判定部４５へ送信するとともに、乱数を受付乱数として比較依頼部４８へ送信する。
＜Ｓ５０９＞：比較依頼部４８は、受付乱数をコマンド実行受付部４１から受信する。比較依頼部４８は、受信した受付乱数をＲＡ２０の比較受付部２６へ通信装置を介して送信する。
＜Ｓ５１０＞：ＲＡ２０が処理を開始する。比較受付部２６は、受付乱数をセキュリティサーバ４０の乱数生成部４６から通信装置を介して受信する。比較受付部２６は、受信した受付乱数を乱数比較部２７へ送信する。
＜Ｓ５１１＞：乱数比較部２７は、受付乱数を比較受付部２６から受信する。乱数比較部２７は、受信した受付乱数と、乱数生成部２３が生成した乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部２７は、判定した結果を比較結果として比較受付部２６へ送信する。
＜Ｓ５１２＞：比較受付部２６は、比較結果を乱数比較部２７から受信する。比較受付部２６は、受信した比較結果をセキュリティサーバ４０の比較依頼部４８へ送信する。
＜Ｓ５１３＞：セキュリティサーバが処理を開始する。比較依頼部４８は、比較結果をＲＡ２０の比較受付部２６から受信する。比較依頼部４８は、受信した比較結果を実行判定部４５へ送信する。
＜Ｓ５１４＞：実行判定部４５は、ＰＩＮをＰＩＮ入力部４４から受信し、コマンドをコマンド実行受付部４１から受信し、比較結果を比較依頼部４８から受信する。実行判定部４５は、受信した比較結果が一致したことを示す場合、受信したコマンドとＰＩＮとをセキュリティモジュール６０のコマンド実行部６１へ送信する。
＜Ｓ５１５＞から＜Ｓ５２１＞までは、＜Ｓ２１１＞から＜Ｓ２１７＞までと同様である。
【００２４】
つまり、図３に示す証明書発行システム１００では、ＲＡ２０が乱数を発生させていたのに対し、図９に示す証明書発行システム１００では、セキュリティサーバ４０が乱数を発生させている。また、図３に示す証明書発行システム１００では、セキュリティサーバ４０が乱数の比較をしていたのに対し、図９に示す証明書発行システム１００では、ＲＡ２０が乱数の比較をしている。
図９に示す証明書発行システム１００は、図３に示す証明書発行システム１００と同様の効果を得ることができる。
【００２５】
以上をまとめると、図３、図５、図７、図９のそれぞれに示す証明書発行システム１００の主な差異は、乱数の生成と乱数の比較を実行する装置の差異である。つまり、図３に示す証明書発行システム１００では、乱数の生成がＲＡ２０でされ、乱数の比較がセキュリティサーバ４０でされる。図５に示す証明書発行システム１００では、乱数の生成がセキュリティサーバ４０でされ、乱数の比較がセキュリティサーバ４０でされる。図７に示す証明書発行システム１００では、乱数の生成がＲＡ２０でされ、乱数の比較がＲＡ２０でされる。図９に示す証明書発行システム１００では、乱数の生成がセキュリティサーバ４０でされ、乱数の比較がＲＡ２０でされる。
【００２６】
なお、図３、図５、図７、図９のそれぞれに示す証明書発行システム１００では、ＣＡ１０がＲＡ２０になりすます虞がある。そのため、セキュリティサーバ４０とＲＡ２０とが、ＣＡ１０を含む第三者（サーバ）から隔離された環境にて動作することが望ましい。
【００２７】
実施の形態２．
実施の形態１に係る証明書発行システム１００では、セキュリティサーバ４０がＰＩＮを記憶している。そのため、セキュリティモジュール６０とともに、セキュリティサーバ４０が盗難等されると悪用される虞がある。この実施の形態では、必要に応じてユーザがＰＩＮを入力することで上記課題を解決した証明書発行システム１００について説明する。
【００２８】
図１１は、この実施の形態に係る証明書発行システム１００の機能を示す機能ブロック図である。
ＣＡ１０は、図３に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図３に示す証明書発行システム１００のＲＡ２０に、さらに、ＰＩＮ入力部２８（クライアントのユーザ情報入力部、ユーザ情報記憶部の一例）、ＰＩＮ受付部２９を備える。
セキュリティサーバ４０は、図３に示す証明書発行システム１００のセキュリティサーバ４０と異なり、ＰＩＮ入力部４４を備えず、ＰＩＮ依頼部４９（ユーザ情報受信部，ユーザ情報依頼部の一例）を備える。
【００２９】
図１１に示す証明書発行システム１００の動作について説明する。
図１２は、図１１に示す証明書発行システム１００の動作を示すフローチャートである。
ここでは、事前準備は特に必要ない。
＜Ｓ６０１＞から＜Ｓ６０８＞までは、＜Ｓ２０１＞から＜Ｓ２０８＞までと同様である。
＜Ｓ６０９＞：乱数比較部４３は、受付乱数をコマンド実行受付部４１から受信するとともに、乱数を乱数受信部４２から受信する。乱数比較部４３は、受信した受付乱数と乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部４３は、比較結果を実行判定部４５へ送信するとともに、さらに、比較結果をＰＩＮ依頼部４９へ送信する。
＜Ｓ６１０＞：ＰＩＮ依頼部４９は、比較結果を乱数比較部４３から受信する。ＰＩＮ依頼部４９は、受信した比較結果が一致することを示す場合、ＰＩＮの送信依頼をＲＡ２０のＰＩＮ受付部２９へ通信装置を介して送信する。
＜Ｓ６１１＞：ＲＡ２０が処理を開始する。ＰＩＮ受付部２９は、ＰＩＮの送信依頼をＰＩＮ依頼部４９から通信装置を介して受信する。ＰＩＮ受付部２９は、ＰＩＮの入力指示をＰＩＮ入力部２８へ送信する。
＜Ｓ６１２＞：ＰＩＮ入力部２８は、ＰＩＮの入力指示をＰＩＮ受付部２９から受信する。ＰＩＮ入力部２８は、ユーザが秘密に保持するセキュリティモジュールの実行に必要なＰＩＮをユーザに入力装置により入力させる。ＰＩＮ入力部２８は、入力されたＰＩＮをＰＩＮ受付部２９へ送信する。
＜Ｓ６１３＞：ＰＩＮ受付部２９は、ＰＩＮをＰＩＮ入力部２８から受信する。ＰＩＮ受付部２９は、受信したＰＩＮをＰＩＮ依頼部４９へ通信装置を介して送信する。
＜Ｓ６１４＞：ＰＩＮ依頼部４９は、ＰＩＮをＰＩＮ受付部２９から通信装置を介して受信する。ＰＩＮ依頼部４９は、ＰＩＮを実行判定部４５へ送信する。
＜Ｓ６１５＞：実行判定部４５は、ＰＩＮをＰＩＮ依頼部４９から受信し、実行判定部４５は、コマンドをコマンド実行受付部４１から受信し、比較結果を乱数比較部４３から受信する。実行判定部４５は、受信した比較結果が一致したことを示す場合、受信したコマンドとＰＩＮとをセキュリティモジュール６０のコマンド実行部６１へ送信する。
＜Ｓ６１６＞：ＰＩＮ依頼部４９と実行判定部４５とは、メモリ等に一時記憶したＰＩＮを消去する。つまり、セキュリティサーバ４０からＰＩＮを消去する。
＜Ｓ６１７＞から＜Ｓ６２３＞までは、＜Ｓ２１１＞から＜Ｓ２１７＞までと同様である。
【００３０】
以上のように、この実施の形態に係る証明書発行システム１００は、予めセキュリティサーバ４０にＰＩＮを記憶させる必要が無く、必要に応じてユーザがＰＩＮを入力する。特に、入力されたＰＩＮはセキュリティサーバ４０に残らないよう、消去される。つまり、ＰＩＮの安全性を確保している。そのため、セキュリティモジュール６０とともに、セキュリティサーバ４０が盗難等された場合であっても悪用される虞がない。
【００３１】
なお、図１１に示す証明書発行システム１００では、ＣＡ１０がＲＡ２０とセキュリティサーバ４０との間に入りＰＩＮを入手し、ＣＡ１０がＲＡ２０になりすまして、乱数とＰＩＮとを送信する虞がある。そのため、セキュリティサーバ４０とＲＡ２０とが、ＣＡ１０を含む第三者から隔離された環境にて動作することが望ましい。
【００３２】
図１１に示す証明書発行システム１００では、乱数の生成をＲＡ２０で行った。しかし、図１３に示すように、乱数の生成をセキュリティサーバ４０で行うようにしてもよい。
図１３に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図３に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図３に示す証明書発行システム１００のＲＡ２０と異なり、乱数送信部２４を備えず、代わりに、乱数受信部２５を備える。
セキュリティサーバ４０は、図３に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２を備えず、乱数生成部４６、乱数送信部４７を備える。
【００３３】
図１３に示す証明書発行システム１００の動作について説明する。
図１４は、図１３に示す証明書発行システム１００の動作を示すフローチャートである。
＜Ｓ７０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。乱数生成部４６は、処理装置により乱数を生成する。乱数生成部４６は、生成した乱数を乱数送信部４７へ送信する。
＜Ｓ７０２＞：乱数送信部４７は、乱数を乱数生成部４６から受信する。乱数送信部４７は、通信装置を介して乱数をＲＡ２０へ送信する。
＜Ｓ７０３＞：ＲＡ２０が処理を開始する。乱数受信部２５は、乱数をセキュリティサーバ４０から通信装置を介して受信する。乱数受信部２５は、受信した乱数を証明書発行依頼部２１へ送信する。
＜Ｓ７０４＞：証明書発行依頼部２１は、乱数を乱数受信部２５から受信する。証明書発行依頼部２１は、受信した乱数と発行用情報とを含む証明書発行依頼をＣＡ１０へ通信装置を介して送信する。
＜Ｓ７０５＞から＜Ｓ７０８＞までは、＜Ｓ６０４＞から＜Ｓ６０７＞までと同様である。
＜Ｓ７０９＞から＜Ｓ７２３＞までは、＜Ｓ６０９＞から＜Ｓ６２３＞までと同様である。
【００３４】
つまり、図１１に示す証明書発行システム１００では、ＲＡ２０が乱数を発生させていたのに対し、図１３に示す証明書発行システム１００では、セキュリティサーバ４０が乱数を発生させている。
図１３に示す証明書発行システム１００は、図１１に示す証明書発行システム１００と同様の効果を得ることができる。
【００３５】
なお、図１３に示す証明書発行システム１００では、ＣＡ１０を含む第三者がセキュリティサーバになりすましてＰＩＮを依頼する虞がある。そのため、セキュリティサーバ４０とＲＡ２０とが、ＣＡ１０を含む第三者から隔離された環境にて動作することが望ましい。
【００３６】
また、この実施の形態に係る証明書発行システム１００を、図７から図１０までに基づき説明した証明書発行システム１００と同様に、乱数の比較をＲＡ２０で実行させるようにしてもよい。
【００３７】
なお、ＰＩＮ入力部２８、ＰＩＮ受付部２９は、ＲＡ２０に備えられている必要はなく、ＰＩＮ入力部２８、ＰＩＮ受付部２９を備える装置を別に用意してもよい。つまり、この場合、セキュリティサーバ４０のＰＩＮ依頼部４９は、ＰＩＮ入力部２８、ＰＩＮ受付部２９を備える装置と通信することになる。
また、セキュリティサーバ４０とＲＡ２０とは、１つの装置であるとしてもよい。
【００３８】
実施の形態３．
実施の形態２に係る証明書発行システム１００では、ユーザは、処理を開始してからＰＩＮを入力するまで待機する必要がある。この実施の形態では、実施の形態２と同様にＰＩＮの安全性を確保しつつ、ユーザの利便性を高めた証明書発行システム１００について説明する。
【００３９】
図１５は、この実施の形態に係る証明書発行システム１００の機能を示す機能ブロック図である。
ＣＡ１０は、乱数の代わりに暗号済ＰＩＮを送受信することを除き、図１１に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図１１に示す証明書発行システム１００のＲＡ２０と異なり、さらに、乱数生成部２３、乱数送信部２４、ＰＩＮ受付部２９を備えず、鍵生成部３１、鍵送信部３２を備える。
セキュリティサーバ４０は、図１１に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２、乱数比較部４３、ＰＩＮ依頼部４９を備えず、鍵受信部５０、復号部５１を備える。
【００４０】
図１５に示す証明書発行システム１００の動作について説明する。
図１６は、図１５に示す証明書発行システム１００の動作を示すフローチャートである。
ここでは、事前準備は特に必要ない。
＜Ｓ８０１＞：ユーザ１からの要求により、ＲＡ２０が処理を開始する。鍵生成部３１は、暗号化鍵と、暗号化鍵に対応する復号鍵とを処理装置により生成する。この際、暗号化鍵と復号鍵とは、共通鍵暗号方式と公開鍵暗号方式とのいずれに基づいて生成されてもよい。鍵生成部３１は、暗号化鍵を暗号部３０へ送信するとともに、復号鍵を鍵送信部３２へ送信する。
＜Ｓ８０２＞：鍵送信部３２は、復号鍵を鍵生成部３１から受信する。鍵送信部３２は、復号鍵をセキュリティサーバ４０の鍵受信部５０へ通信装置を介して送信する。鍵送信部３２は、メモリ等に一時記憶した復号鍵を消去する。つまり、ＲＡ２０から復号鍵を消去する。
＜Ｓ８０３＞：ＰＩＮ入力部２８は、ユーザの秘密に保持するセキュリティモジュールの実行に必要なＰＩＮをユーザに入力装置を介して入力させる。ＰＩＮ入力部２８は、入力されたＰＩＮを暗号部３０へ送信する。
＜Ｓ８０４＞：暗号部３０は、ＰＩＮをＰＩＮ入力部２８から受信し、暗号化鍵を鍵生成部３１から受信する。暗号部３０は、受信したＰＩＮを暗号化鍵で処理装置により暗号化して暗号済ＰＩＮを生成する。暗号部３０は、ＰＩＮと暗号化鍵とをメモリから消去する。つまり、ＲＡ２０からＰＩＮと暗号化鍵とを消去する。暗号部３０は、暗号済ＰＩＮを証明書発行依頼部２１へ送信する。
＜Ｓ８０５＞：証明書発行依頼部２１は、暗号部３０が生成した暗号済ＰＩＮと発行用情報とを含む証明書発行依頼をＣＡ１０へ通信装置を介して送信する。
＜Ｓ８０６＞：ＣＡ１０が処理を開始する。証明書発行受付部１１は、ＲＡ２０から証明書発行依頼を通信装置を介して受信する。証明書発行受付部１１は、証明書発行依頼から暗号済ＰＩＮと発行用情報とを取り出し証明書発行部１３へ送信する。
＜Ｓ８０７＞：証明書発行部１３は、暗号済ＰＩＮと発行用情報とを証明書発行受付部１１から受信する。証明書発行部１３は、発行用情報を利用して証明書作成のためのコマンドを処理装置により生成する。証明書発行部１３は、生成したコマンドと暗号済ＰＩＮとをセキュリティプロキシ７０のコマンド実行依頼部７１へ送信する。
＜Ｓ８０８＞：コマンド実行依頼部７１は、コマンドと暗号済ＰＩＮとを証明書発行部１３から受信する。コマンド実行依頼部７１は、受信したコマンドと暗号済ＰＩＮとをセキュリティサーバ４０へ通信装置を介して送信する。
＜Ｓ８０９＞：セキュリティサーバ４０が処理を開始する。コマンド実行受付部４１は、ＣＡ１０からコマンドと暗号済ＰＩＮとを通信装置を介して受信する。コマンド実行受付部４１は、コマンドを実行判定部４５へ送信するとともに、暗号済ＰＩＮを復号部５１へ送信する。
＜Ｓ８１０＞：鍵受信部５０は、復号鍵をＲＡ２０の鍵送信部３２から通信装置を介して受信する。鍵受信部５０は、受信した復号鍵を復号部５１へ送信する。
＜Ｓ８１１＞：復号部５１は、暗号済ＰＩＮをコマンド実行受付部４１から受信し、復号鍵を鍵受信部５０から受信する。復号部５１は、暗号済ＰＩＮを復号鍵で処理装置により復号してＰＩＮを生成する。復号部５１は、生成したＰＩＮを実行判定部４５へ送信する。復号部５１は、メモリ等に一時記憶した復号鍵を消去する。つまり、復号鍵をセキュリティサーバ４０から消去する。
＜Ｓ８１２＞：実行判定部４５は、ＰＩＮを復号部５１から受信し、コマンドをコマンド実行受付部４１から受信する。実行判定部４５は、ＰＩＮが正しく復号されているか否か処理装置により判定する。例えば、ＰＩＮには所定の情報が含めておくものとし、復号したＰＩＮにその所定の情報が含まれているか否かにより、ＰＩＮが正しく復号されているか否かを判断できる。実行判定部４５は、ＰＩＮが正しく復号されていると判定した場合、コマンドとＰＩＮとをコマンド実行部６１へ送信する。つまり、実行判定部４５は、ＰＩＮの復号状態を確認することにより、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことを確認する。そして、実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できた場合、コマンド実行部６１へコマンドの実行を依頼する。実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できない場合、コマンド実行部６１へコマンドの実行を依頼しない。
＜Ｓ８１３＞から＜Ｓ８１９＞までは、＜Ｓ２１１＞から＜Ｓ２１７＞までと同様である。
【００４１】
以上のように、この実施の形態に係る証明書発行システム１００は、ユーザが証明書の発行を要求後、直ぐにＰＩＮを入力する。したがって、ユーザが待機する時間は非常に短い。また、この実施の形態に係る証明書発行システム１００は、実施の形態２に係る証明書発行システム１００と同様に、ＰＩＮをセキュリティサーバ４０等が記憶していないため、ＰＩＮの安全性を確保することができる。つまり、この実施の形態に係る証明書発行システム１００は、入力されたＰＩＮを直ぐに暗号化し、復号鍵を持つセキュリティサーバ４０のみが復号可能とすることにより、ＰＩＮの安全性を確保しつつ、ユーザを待機させる必要をなくした。
また、この実施の形態に係る証明書発行システム１００では、認証に暗号化処理を用いているが、暗号化処理に使用する鍵は使用後削除されるため、悪用されることはない。
【００４２】
なお、図１５に示す証明書発行システム１００では、ＣＡ１０がセキュリティサーバ４０になりすまして復号鍵を入手し、暗号済ＰＩＮを復号してＰＩＮを入手する虞がある。そのため、セキュリティサーバ４０とＲＡ２０とが、ＣＡ１０を含む第三者から隔離された環境にて動作することが望ましい。
【００４３】
また、上記説明では、暗号化鍵と復号鍵との生成と、復号鍵のセキュリティサーバ４０への送信処理をＰＩＮの入力処理よりも先にしている。つまり、Ｓ８０１とＳ８０２とは、Ｓ８０３よりも先に実行される。しかし、ユーザの待機時間をより短くするのであれば、ＰＩＮの入力処理を、暗号化鍵と復号鍵との生成と、復号鍵のセキュリティサーバ４０への送信処理よりも先にしてもよい。つまり、Ｓ８０３は、Ｓ８０１とＳ８０２とよりも先に実行されるとしてもよい。
【００４４】
図１５に示す証明書発行システム１００では、暗号化鍵と復号鍵との生成をＲＡ２０で行った。しかし、図１７に示すように、暗号化鍵と復号鍵との生成をセキュリティサーバ４０で行うようにしてもよい。
図１７に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図１５に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図１５に示す証明書発行システム１００のＲＡ２０と異なり、鍵生成部３１、鍵送信部３２を備えず、代わりに、鍵受信部３３を備える。
セキュリティサーバ４０は、図１５に示す証明書発行システム１００のセキュリティサーバ４０と異なり、鍵受信部５０を備えず、鍵生成部５２、鍵送信部５３を備える。
【００４５】
図１７に示す証明書発行システム１００の動作について説明する。
図１８は、図１７に示す証明書発行システム１００の動作を示すフローチャートである。
ここでは、事前準備は特に必要ない。
＜Ｓ９０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。鍵生成部５２は、暗号化鍵と、暗号化鍵に対応する復号鍵を処理装置により生成する。この際、暗号化鍵と復号鍵とは、共通鍵暗号方式と公開鍵暗号方式とのいずれに基づいて生成されてもよい。鍵生成部５２は、暗号化鍵を鍵送信部５３へ送信するとともに、復号鍵を復号部５１へ送信する。
＜Ｓ９０２＞：鍵送信部５３は、暗号化鍵を鍵生成部５２から受信する。鍵送信部５３は、暗号化鍵をＲＡ２０の鍵受信部３３へ通信装置を介して送信する。鍵送信部５３は、メモリ等に一時記憶した暗号化鍵を消去する。つまり、セキュリティサーバ４０から暗号化鍵を消去する。
＜Ｓ９０３＞：ＲＡ２０が処理を開始する。鍵受信部３３は、暗号化鍵をセキュリティサーバ４０の鍵送信部５３から通信装置を介して受信する。鍵受信部３３は、受信した暗号化鍵を暗号部３０へ送信する。
＜Ｓ９０４＞から＜Ｓ９１０＞までは、＜Ｓ８０３＞から＜Ｓ８０９＞までと同様である。
＜Ｓ９１１＞：復号部５１は、暗号済ＰＩＮをコマンド実行受付部４１から受信し、復号鍵を鍵生成部５２から受信する。復号部５１は、暗号済ＰＩＮを復号鍵で処理装置により復号してＰＩＮを生成する。復号部５１は、生成したＰＩＮを実行判定部４５へ送信する。
＜Ｓ９１２＞から＜Ｓ９１９＞までは、＜Ｓ８１２＞から＜Ｓ８１９＞までと同様である。
【００４６】
つまり、図１５に示す証明書発行システム１００では、ＲＡ２０が暗号化鍵と復号鍵とを発生させていたのに対し、図１７に示す証明書発行システム１００では、セキュリティサーバ４０が暗号化鍵と復号鍵とを発生させている。
図１７に示す証明書発行システム１００は、図１５に示す証明書発行システム１００と同様の効果を得ることができる。
【００４７】
なお、図１７に示す証明書発行システム１００では、ＣＡ１０がセキュリティサーバ４０になりすまして暗号鍵をＲＡ２０に送付し、暗号済ＰＩＮを復号してＰＩＮを入手する虞がある。セキュリティサーバ４０とＲＡ２０とが、ＣＡ１０を含む第三者から隔離された環境にて動作することが望ましい。
【００４８】
この実施の形態に係る証明書発行システム１００は、実施の形態２に係る証明書発行システム１００と同様に、ＰＩＮ入力部２８、ＰＩＮ受付部２９は、ＲＡ２０に備えられている必要はなく、ＰＩＮ入力部２８、ＰＩＮ受付部２９を備える装置を別に用意してもよい。つまり、この場合、セキュリティサーバ４０のＰＩＮ依頼部４９は、ＰＩＮ入力部２８、ＰＩＮ受付部２９を備える装置と通信することになる。
【００４９】
また、セキュリティサーバ４０とＲＡ２０とは、１つの装置であるとしてもよい。
【００５０】
また、上記説明では、ＰＩＮ入力部２８がユーザにＰＩＮを入力させるとした。しかし、ＲＡ２０がＰＩＮを記憶しておき、ユーザの認証により記憶したＰＩＮを利用可能になるとしてもよい。つまり、ＰＩＮ入力部２８は、ユーザにＰＩＮを入力させるのではなく、ユーザからＰＩＮの使用についての認証を受けるとしてもよい。
【００５１】
実施の形態４．
実施の形態３に係る証明書発行システム１００では、暗号化の対象が固定されたＰＩＮであるため、暗号化されたＰＩＮをＣＡ１０により再利用される虞がある。この実施の形態では、暗号化されたＰＩＮをＣＡ１０により再利用されることを防止した証明書発行システム１００について説明する。
【００５２】
図１９は、この実施の形態に係る証明書発行システム１００の機能を示す機能ブロック図である。
ＣＡ１０は、図１５に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図１５に示す証明書発行システム１００のＲＡ２０に、さらに、乱数生成部２３、乱数送信部２４を備える。
セキュリティサーバ４０は、図１５に示す証明書発行システム１００のセキュリティサーバ４０に、さらに、乱数受信部４２、乱数比較部４３を備える。
【００５３】
図１９に示す証明書発行システム１００の動作について説明する。
図２０は、図１９に示す証明書発行システム１００の動作を示すフローチャートである。
ここでは、事前準備は特に必要ない。
＜Ｓ１００１＞と＜Ｓ１００２＞とは、＜Ｓ８０１＞と＜Ｓ８０２＞と同様である。
＜Ｓ１００３＞：乱数生成部２３は、処理装置により乱数を生成する。乱数生成部２３は、生成した乱数を乱数送信部２４へ送信するとともに、暗号部３０へ送信する。
＜Ｓ１００４＞：乱数送信部２４は、乱数を乱数生成部２３から受信する。乱数送信部２４は、受信した乱数をセキュリティサーバ４０へ通信装置を介して送信する。
＜Ｓ１００５＞：ＰＩＮ入力部２８は、ユーザの秘密に保持するセキュリティモジュールの実行に必要なＰＩＮをユーザに入力装置を介して入力させる。ＰＩＮ入力部２８は、入力されたＰＩＮを暗号部３０へ送信する。
＜Ｓ１００６＞：暗号部３０は、ＰＩＮをＰＩＮ入力部２８から受信し、乱数を乱数生成部２３から受信し、暗号化鍵を鍵生成部３１から受信する。暗号部３０は、受信したＰＩＮと乱数とを暗号化鍵で処理装置により暗号化して暗号済ＰＩＮを生成する。暗号部３０は、ＰＩＮと乱数と暗号化鍵とをメモリから消去する。つまり、ＲＡ２０からＰＩＮと乱数と暗号化鍵とを消去する。暗号部３０は、暗号済ＰＩＮを証明書発行依頼部２１へ送信する。
＜Ｓ１００７＞から＜Ｓ１０１２＞までは、＜Ｓ８０５＞から＜Ｓ８１０＞までと同様である。
＜Ｓ１０１３＞：復号部５１は、暗号済ＰＩＮをコマンド実行受付部４１から受信し、復号鍵を鍵受信部５０から受信する。復号部５１は、暗号済ＰＩＮを復号鍵で処理装置により復号してＰＩＮと乱数とを生成する。復号部５１は、生成した乱数を受付乱数として乱数比較部４３へ送信するとともに、ＰＩＮを実行判定部４５へ送信する。復号部５１は、メモリ等に一時記憶した復号鍵を消去する。つまり、復号鍵をセキュリティサーバ４０から消去する。
＜Ｓ１０１４＞：乱数受信部４２は、乱数をＲＡ２０の乱数送信部２４から通信装置を介して受信する。乱数受信部４２は、受信した乱数を乱数比較部４３へ送信する。
＜Ｓ１０１５＞：乱数比較部４３は、受付乱数をコマンド実行受付部４１から受信するとともに、乱数を乱数受信部４２から受信する。乱数比較部４３は、受信した受付乱数と乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部４３は、比較結果を実行判定部４５へ送信する。
＜Ｓ１０１６＞：実行判定部４５は、ＰＩＮを復号部５１から受信し、コマンドをコマンド実行受付部４１から受信し、比較結果を乱数比較部４３から受信する。実行判定部４５は、受信した比較結果が一致したことを示す場合、受信したコマンドとＰＩＮとをセキュリティモジュール６０のコマンド実行部６１へ送信する。つまり、実行判定部４５は、乱数の比較結果により、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことを確認する。また、実行判定部４５は、さらに、ＰＩＮの復号状態を確認してもよい。そして、実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できた場合、コマンド実行部６１へコマンドの実行を依頼する。実行判定部４５は、ＲＡ２０がＣＡ１０へ証明書発行依頼を送信したことが確認できない場合、コマンド実行部６１へコマンドの実行を依頼しない。
＜Ｓ１０１７＞から＜Ｓ１０２３＞までは、＜Ｓ８１３＞から＜Ｓ８１９＞までと同様である。
【００５４】
以上のように、この実施の形態に係る証明書発行システム１００は、ＰＩＮとともに乱数を暗号化して暗号化ＰＩＮとして送信する。したがって、この実施の形態に係る証明書発行システム１００は、暗号化されたＰＩＮをＣＡ１０により再利用されることを防止できる。
【００５５】
図１９に示す証明書発行システム１００では、乱数の生成をＲＡ２０で行った。しかし、図２１に示すように、乱数の生成をセキュリティサーバ４０で行うようにしてもよい。
図２１に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図１９に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図１９に示す証明書発行システム１００のＲＡ２０と異なり、乱数生成部２３、乱数送信部２４を備えず、代わりに、乱数受信部２５を備える。
セキュリティサーバ４０は、図１９に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２を備えず、乱数生成部４６、乱数送信部４７を備える。
【００５６】
図２１に示す証明書発行システム１００の動作について説明する。
図２２は、図２１に示す証明書発行システム１００の動作を示すフローチャートである。
＜Ｓ１１０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。乱数生成部４６は、処理装置により乱数を生成する。乱数生成部４６は、生成した乱数を乱数比較部４３へ送信するとともに、乱数送信部４７へ送信する。
＜Ｓ１１０２＞：乱数送信部４７は、乱数を乱数生成部４６から受信する。乱数送信部４７は、受信した乱数を通信装置を介してＲＡ２０へ送信する。
＜Ｓ１１０３＞：ＲＡ２０が処理を開始する。乱数受信部２５は、乱数をセキュリティサーバ４０から通信装置を介して受信する。乱数受信部２５は、受信した乱数を暗号部３０へ送信する。
＜Ｓ１１０４＞：鍵生成部３１は、暗号化鍵と、暗号化鍵に対応する復号鍵とを処理装置により生成する。この際、暗号化鍵と復号鍵とは、共通鍵暗号方式と公開鍵暗号方式とのいずれに基づいて生成されてもよい。鍵生成部３１は、暗号化鍵を暗号部３０へ送信するとともに、復号鍵を鍵送信部３２へ送信する。
＜Ｓ１１０５＞：鍵送信部３２は、復号鍵を鍵生成部３１から受信する。鍵送信部３２は、復号鍵をセキュリティサーバ４０の鍵受信部５０へ通信装置を介して送信する。鍵送信部３２は、メモリ等に一時記憶した復号鍵を消去する。つまり、ＲＡ２０から復号鍵を消去する。
＜Ｓ１１０６＞から＜Ｓ１１１４＞までは、＜Ｓ１００５＞から＜Ｓ１０１３＞までと同様である。
＜Ｓ１１１５＞：乱数比較部４３は、受付乱数をコマンド実行受付部４１から受信するとともに、乱数を乱数生成部４６から受信する。乱数比較部４３は、受信した受付乱数と乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部４３は、比較結果を実行判定部４５へ送信する。
＜Ｓ１１１６＞から＜Ｓ１１２３＞までは、＜Ｓ１０１６＞から＜Ｓ１０２３＞までと同様である。
【００５７】
つまり、図１９に示す証明書発行システム１００では、ＲＡ２０が乱数を発生させていたのに対し、図２１に示す証明書発行システム１００では、セキュリティサーバ４０が乱数を発生させている。
図２１に示す証明書発行システム１００は、図１９に示す証明書発行システム１００と同様の効果を得ることができる。
【００５８】
図１９に示す証明書発行システム１００では、暗号化鍵と復号鍵との生成をＲＡ２０で行った。しかし、図２３に示すように、暗号化鍵と復号鍵との生成をセキュリティサーバ４０で行うようにしてもよい。
図２３に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図１９に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図１９に示す証明書発行システム１００のＲＡ２０と異なり、鍵生成部３１、鍵送信部３２を備えず、代わりに、鍵受信部３３を備える。
セキュリティサーバ４０は、図１９に示す証明書発行システム１００のセキュリティサーバ４０と異なり、鍵受信部５０を備えず、鍵生成部５２、鍵送信部５３を備える。
【００５９】
図２３に示す証明書発行システム１００の動作について説明する。
図２４は、図２３に示す証明書発行システム１００の動作を示すフローチャートである。
ここでは、事前準備は特に必要ない。
＜Ｓ１２０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。鍵生成部５２は、暗号化鍵と、暗号化鍵に対応する復号鍵を処理装置により生成する。この際、暗号化鍵と復号鍵とは、共通鍵暗号方式と公開鍵暗号方式とのいずれに基づいて生成されてもよい。鍵生成部５２は、暗号化鍵を鍵送信部５３へ送信するとともに、復号鍵を復号部５１へ送信する。
＜Ｓ１２０２＞：鍵送信部５３は、暗号化鍵を鍵生成部５２から受信する。鍵送信部５３は、暗号化鍵をＲＡ２０の鍵受信部３３へ通信装置を介して送信する。鍵送信部５３は、メモリ等に一時記憶した暗号化鍵を消去する。つまり、セキュリティサーバから暗号化鍵を消去する。
＜Ｓ１２０３＞：ＲＡ２０が処理を開始する。鍵受信部３３は、暗号化鍵を鍵送信部５３から通信装置を介して受信する。鍵受信部３３は、受信した暗号化鍵を暗号部３０へ送信する。
＜Ｓ１２０４＞から＜Ｓ１２１２＞までは、＜Ｓ１００３＞から＜Ｓ１０１１＞までと同様である。
＜Ｓ１２１３＞：復号部５１は、暗号済ＰＩＮをコマンド実行受付部４１から受信し、復号鍵を鍵生成部５２から受信する。復号部５１は、暗号済ＰＩＮを復号鍵で処理装置により復号してＰＩＮと乱数とを生成する。復号部５１は、生成した乱数を受付乱数として乱数比較部４３へ送信するとともに、ＰＩＮを実行判定部４５へ送信する。復号部５１は、メモリ等に一時記憶した復号鍵を消去する。つまり、復号鍵をセキュリティサーバ４０から消去する。
＜Ｓ１２１４＞から＜Ｓ１２２３＞までは、＜Ｓ１０１４＞から＜Ｓ１０２３＞までと同様である。
【００６０】
図１９に示す証明書発行システム１００では、乱数と暗号化鍵と復号鍵との生成をＲＡ２０で行った。しかし、図２５に示すように、乱数と暗号化鍵と復号鍵との生成をセキュリティサーバ４０で行うようにしてもよい。
図２５に示す証明書発行システム１００では、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０はそれぞれ以下のようになる。
ＣＡ１０は、図１９に示す証明書発行システム１００のＣＡ１０と同様である。
ＲＡ２０は、図１９に示す証明書発行システム１００のＲＡ２０と異なり、乱数生成部２３、乱数送信部２４、鍵生成部３１、鍵送信部３２を備えず、代わりに、乱数受信部２５、鍵受信部３３を備える。
セキュリティサーバ４０は、図１９に示す証明書発行システム１００のセキュリティサーバ４０と異なり、乱数受信部４２、鍵受信部５０を備えず、乱数生成部４６、乱数送信部４７、鍵生成部５２、鍵送信部５３を備える。
【００６１】
図２５に示す証明書発行システム１００の動作について説明する。
図２６は、図２５に示す証明書発行システム１００の動作を示すフローチャートである。
ここでは、事前準備は特に必要ない。
＜Ｓ１３０１＞：ユーザ１からの要求により、セキュリティサーバ４０が処理を開始する。鍵生成部５２は、暗号化鍵と、暗号化鍵に対応する復号鍵を処理装置により生成する。この際、暗号化鍵と復号鍵とは、共通鍵暗号方式と公開鍵暗号方式とのいずれに基づいて生成されてもよい。鍵生成部５２は、暗号化鍵を鍵送信部５３へ送信するとともに、復号鍵を復号部５１へ送信する。
＜Ｓ１３０２＞：鍵送信部５３は、暗号化鍵を鍵生成部５２から受信する。鍵送信部５３は、暗号化鍵をＲＡ２０の鍵受信部３３へ通信装置を介して送信する。鍵送信部５３は、メモリ等に一時記憶した暗号化鍵を消去する。つまり、セキュリティサーバから暗号化鍵を消去する。
＜Ｓ１３０３＞：乱数生成部４６は、処理装置により乱数を生成する。乱数生成部４６は、生成した乱数を乱数比較部４３へ送信するとともに、乱数送信部４７へ送信する。
＜Ｓ１３０４＞：乱数送信部４７は、乱数を乱数生成部４６から受信する。乱数送信部４７は、受信した乱数を通信装置を介してＲＡ２０へ送信する。
＜Ｓ１３０５＞：ＲＡ２０が処理を開始する。鍵受信部３３は、暗号化鍵を鍵送信部５３から通信装置を介して受信する。鍵受信部３３は、受信した暗号化鍵を暗号部３０へ送信する。
＜Ｓ１３０６＞：乱数受信部２５は、乱数をセキュリティサーバ４０から通信装置を介して受信する。乱数受信部２５は、受信した乱数を暗号部３０へ送信する。
＜Ｓ１３０７＞から＜Ｓ１３１３＞までは、＜Ｓ１００５＞から＜Ｓ１０１１＞までと同様である。
＜Ｓ１３１４＞：復号部５１は、暗号済ＰＩＮをコマンド実行受付部４１から受信し、復号鍵を鍵生成部５２から受信する。復号部５１は、暗号済ＰＩＮを復号鍵で処理装置により復号してＰＩＮと乱数とを生成する。復号部５１は、生成した乱数を受付乱数として乱数比較部４３へ送信するとともに、ＰＩＮを実行判定部４５へ送信する。復号部５１は、メモリ等に一時記憶した復号鍵を消去する。つまり、復号鍵をセキュリティサーバ４０から消去する。
＜Ｓ１３１５＞：乱数比較部４３は、受付乱数をコマンド実行受付部４１から受信するとともに、乱数を乱数生成部４６から受信する。乱数比較部４３は、受信した受付乱数と乱数とを比較して、一致するかどうか処理装置により判定する。乱数比較部４３は、比較結果を実行判定部４５へ送信する。
＜Ｓ１３１６＞から＜Ｓ１３２３＞までは、＜Ｓ１０１６＞から＜Ｓ１０２３＞までと同様である。
【００６２】
なお、この実施の形態に係る証明書発行システム１００では、ＲＡ２０とセキュリティサーバ４０との間の通信情報がＣＡ１０に入手されると、ＣＡ１０による再送や、ＣＡ１０がＲＡ２０になりすます虞がある。そこで、対応する暗号化鍵と復号鍵とをＲＡ２０とセキュリティサーバ４０との間で事前に準備することで、上記課題を解決する。
つまり、図１９に示す証明書発行システム１００であれば、図２０に示すＳ１００１とＳ１００２とＳ１０１２とを事前に実行しておく。図２１に示す証明書発行システム１００であれば、図２２に示すＳ１１０４とＳ１１０５とＳ１１１３とを事前に実行しておく。図２３に示す証明書発行システム１００であれば、図２４に示すＳ１２０１とＳ１２０２とＳ１２０３とを事前に実行しておく。図２５に示す証明書発行システム１００であれば、図２６に示すＳ１３０１とＳ１３０２とＳ１３０３とを事前に実行しておく。
このようにすることにより、ＲＡ２０とセキュリティサーバ４０との間の通信情報がＣＡ１０に入手された場合であっても、上記弊害を防止できる。そのため、セキュリティサーバ４０とＲＡ２０とをＣＡ１０を含む第三者から隔離された環境で動作させる必要がない。
【００６３】
また、この実施の形態に係る証明書発行システム１００は、実施の形態２に係る証明書発行システム１００と同様に、ＰＩＮ入力部２８、ＰＩＮ受付部２９は、ＲＡ２０に備えられている必要はなく、ＰＩＮ入力部２８、ＰＩＮ受付部２９を備える装置を別に用意してもよい。つまり、この場合、セキュリティサーバ４０のＰＩＮ依頼部４９は、ＰＩＮ入力部２８、ＰＩＮ受付部２９を備える装置と通信することになる。
また、セキュリティサーバ４０とＲＡ２０とは、１つの装置であるとしてもよい。
【００６４】
また、上記説明では、ＰＩＮ入力部２８がユーザにＰＩＮを入力させるとした。しかし、ＲＡ２０がＰＩＮを記憶しておき、ユーザの認証により記憶したＰＩＮを利用可能になるとしてもよい。つまり、ＰＩＮ入力部２８は、ユーザにＰＩＮを入力させるのではなく、ユーザからＰＩＮの使用についての認証を受けるとしてもよい。
【００６５】
また、この実施の形態に係る証明書発行システム１００を、図７から図１０までに基づき説明した証明書発行システム１００と同様に、乱数の比較をＲＡ２０で実行させるようにしてもよい。
【００６６】
また、上記実施の形態において、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０の間の通信はＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）等の技術により保護（秘匿）されるものとする。
【００６７】
なお、上記実施の形態における証明書発行処理は一例である。つまり、ＣＡ１０は、処理の処理を実行する処理サーバであり、ＲＡ２０は、処理サーバへ処理を依頼するクライアントであり、セキュリティサーバ４０は、処理サーバによる処理の実行を制御する実行判定装置である。つまり、処理サーバが実行する処理は、証明書の発行処理に限らず、どのようなものであってもよい。
また、特に、実行判定装置は、暗号化処理を実行するセキュリティモジュール６０における暗号化処理を、処理サーバが実行することを制御すると考えてもよい。つまり、何らかの暗号化処理を実行するセキュリティモジュール６０に対して、処理サーバがその暗号化処理の指示を出す場合に、実行判定装置はセキュリティモジュール６０がその暗号化処理を実行するか否か判定するものであるとしてもよい。
【００６８】
次に、上記実施の形態におけるＣＡ１０、ＲＡ２０、セキュリティサーバ４０のハードウェア構成について説明する。
図２７は、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０のハードウェア構成の一例を示す図である。
図２７に示すように、ＣＡ１０、ＲＡ２０、セキュリティサーバ４０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【００６９】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【００７０】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００７１】
プログラム群９２３には、上記の説明において「証明書発行受付部１１」、「ＰＩＮ入力部１２」、「証明書発行部１３」、「証明書発行依頼部２１」、「証明書検証部２２」、「乱数生成部２３」、「乱数送信部２４」、「乱数受信部２５」、「比較受付部２６」、「乱数比較部２７」、「ＰＩＮ入力部２８」、「ＰＩＮ受付部２９」、「暗号部３０」、「鍵生成部３１」、「鍵送信部３２」、「鍵受信部３３」、「コマンド実行受付部４１」、「乱数受信部４２」、「乱数比較部４３」、「ＰＩＮ入力部４４」、「実行判定部４５」、「乱数生成部４６」、「乱数送信部４７」、「比較依頼部４８」、「ＰＩＮ依頼部４９」、「鍵受信部５０」、「復号部５１」、「鍵生成部５２」、「鍵送信部５３」、「コマンド実行部６１」、「コマンド実行依頼部７１」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「発行用情報」、「証明書発行依頼」、「コマンド」、「ＰＩＮ」、「暗号化ＰＩＮ」、「実行結果」、「証明書」、「乱数」、「受付乱数」、「暗号化鍵」、「復号鍵」、「保護情報」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００７２】
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【図面の簡単な説明】
【００７３】
【図１】証明書発行システム１０１の機能を示す機能ブロック図。
【図２】証明書発行システム１０１の動作を示すフローチャート。
【図３】実施の形態１に係る証明書発行システム１００の機能を示す機能ブロック図（１）。
【図４】図３に示す証明書発行システム１００の動作を示すフローチャート。
【図５】実施の形態１に係る証明書発行システム１００の機能を示す機能ブロック図（２）。
【図６】図５に示す証明書発行システム１００の動作を示すフローチャート。
【図７】実施の形態１に係る証明書発行システム１００の機能を示す機能ブロック図（３）。
【図８】図７に示す証明書発行システム１００の動作を示すフローチャート。
【図９】実施の形態１に係る証明書発行システム１００の機能を示す機能ブロック図（４）。
【図１０】図９に示す証明書発行システム１００の動作を示すフローチャート。
【図１１】実施の形態２に係る証明書発行システム１００の機能を示す機能ブロック図（１）。
【図１２】図１１に示す証明書発行システム１００の動作を示すフローチャート。
【図１３】実施の形態２に係る証明書発行システム１００の機能を示す機能ブロック図（２）。
【図１４】図１３に示す証明書発行システム１００の動作を示すフローチャート。
【図１５】実施の形態３に係る証明書発行システム１００の機能を示す機能ブロック図（１）。
【図１６】図１５に示す証明書発行システム１００の動作を示すフローチャート。
【図１７】実施の形態３に係る証明書発行システム１００の機能を示す機能ブロック図（２）。
【図１８】図１７に示す証明書発行システム１００の動作を示すフローチャート。
【図１９】実施の形態４に係る証明書発行システム１００の機能を示す機能ブロック図（１）。
【図２０】図１９に示す証明書発行システム１００の動作を示すフローチャート。
【図２１】実施の形態４に係る証明書発行システム１００の機能を示す機能ブロック図（２）。
【図２２】図２１に示す証明書発行システム１００の動作を示すフローチャート。
【図２３】実施の形態４に係る証明書発行システム１００の機能を示す機能ブロック図（３）。
【図２４】図２３に示す証明書発行システム１００の動作を示すフローチャート。
【図２５】実施の形態４に係る証明書発行システム１００の機能を示す機能ブロック図（４）。
【図２６】図２５に示す証明書発行システム１００の動作を示すフローチャート。
【図２７】ＣＡ１０、ＲＡ２０、セキュリティサーバ４０のハードウェア構成の一例を示す図。
【符号の説明】
【００７４】
１  ユーザ、２  管理者、１０  ＣＡ、１１  証明書発行受付部、１２  ＰＩＮ入力部、１３  証明書発行部、２０  ＲＡ、２１  証明書発行依頼部、２２  証明書検証部、２３  乱数生成部、２４  乱数送信部、２５  乱数受信部、２６  比較受付部、２７  乱数比較部、２８  ＰＩＮ入力部、２９  ＰＩＮ受付部、３０  暗号部、３１  鍵生成部、３２  鍵送信部、３３  鍵受信部、４０  セキュリティサーバ、４１  コマンド実行受付部、４２  乱数受信部、４３  乱数比較部、４４  ＰＩＮ入力部、４５  実行判定部、４６  乱数生成部、４７  乱数送信部、４８  比較依頼部、４９  ＰＩＮ依頼部、５０  鍵受信部、５１  復号部、５２  鍵生成部、５３  鍵送信部、６０  セキュリティモジュール、６１  コマンド実行部、７０  セキュリティプロキシ、７１  コマンド実行依頼部、１００，１０１  証明書発行システム。
【図１】
2010015285.tif 000003
【図２】
2010015285.tif 000004
【図３】
2010015285.tif 000005
【図４】
2010015285.tif 000006
【図５】
2010015285.tif 000007
【図６】
2010015285.tif 000008
【図７】
2010015285.tif 000009
【図８】
2010015285.tif 000010
【図９】
2010015285.tif 000011
【図１０】
2010015285.tif 000012
【図１１】
2010015285.tif 000013
【図１２】
2010015285.tif 000014
【図１３】
2010015285.tif 000015
【図１４】
2010015285.tif 000016
【図１５】
2010015285.tif 000017
【図１６】
2010015285.tif 000018
【図１７】
2010015285.tif 000019
【図１８】
2010015285.tif 000020
【図１９】
2010015285.tif 000021
【図２０】
2010015285.tif 000022
【図２１】
2010015285.tif 000023
【図２２】
2010015285.tif 000024
【図２３】
2010015285.tif 000025
【図２４】
2010015285.tif 000026
【図２５】
2010015285.tif 000027
【図２６】
2010015285.tif 000028
【図２７】
2010015285.tif 000029