説明

鍵管理装置および鍵管理方法

【課題】ユーザの秘密鍵を安全に管理しつつ、スパイウェアによる認証情報の不正取得に対する耐性を備える鍵管理技術を提供する。
【解決手段】鍵管理装置は、鍵管理サーバ装置と耐タンパ性を有する秘密鍵管理装置とで構成される。秘密鍵管理装置は、ユーザの秘密鍵を管理し、電子署名を生成する(S108)。鍵管理サーバ装置は、端末装置から受信したサービス提供装置のサイト識別情報のサイトが不正なサイトか否かを判定し(S104)、ユーザ認証(S105)において、端末装置との通信に通常用いる通信手段とは異なる第2の通信手段を介して端末装置に一時的な認証情報を送信し、端末装置から前記通信手段を介して当該一時的な認証情報に対応する応答情報を受信し、その受信した応答情報が当該一時的な認証情報に対応する情報であるか否かを比較して、スパイウェアによる認証情報の不正取得に対処する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ認証に用いる暗号鍵の管理技術に関する。
【背景技術】
【0002】
近年の情報通信技術の高度化にともなって、守秘する必要のある情報が暗号化されてネットワークを介してやり取りされるようになってきている。このようなネットワークを介した情報のやり取りは、遠く離れた人とでも簡単に高速に行うことができる反面、通信相手が他人になりすますといった脅威も存在する。通信相手のなりすましを防ぐ方法の1つとして、電子証明書を用いた認証方法がある。
【0003】
例えば、特許文献1では、なりすましを目的とした認証データの送信を検出する技術が開示されている。その開示技術では、クライアントがアプリケーションサーバにログインしたときに、アプリケーションサーバは、セッションIDを生成し、これを共通鍵と関連付けて記憶すると共に、セッションIDを含む暗号化した通信データを生成する。そして、アプリケーションサーバは、この暗号化した通信データを認証依頼としてクライアントを経由したリダイレクトを用いて認証サーバに送信する。認証サーバは、クライアントにパスワード入力を要求し、その要求に対して入力されたパスワードが正当であれば、認証依頼に基づいて認証処理を実行する。次に、認証サーバは、その認証処理の結果を含む認証データを、クライアントを経由したリダイレクトを用いてアプリケーションサーバに返信する。そして、アプリケーションサーバは、クライアントのログオン時に生成したセッションIDと、返信されてきた認証データ内のセッションIDと比較する。その比較結果に基づいて、セッションIDが異なればなりすましと判定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−186122号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、アプリケーションサーバは、認証依頼のメッセージを生成するために、署名機能、暗号化機能、認証サーバの証明書を管理する機能、および認証サーバで生成された認証データに対する復号機能や署名検証機能を備える必要がある。したがって、既に実運用されているアプリケーションサーバに前記の各機能を追加するためには、開発費用をかけてシステムを改修しなければならず、導入までにも時間がかかってしまうという問題がある。また、鍵を利用する際のクライアントの認証がパスワードによって行われるため、ユーザがパスワードを忘れてしまった場合には、鍵を利用できなくなるという問題がある。さらに、ユーザがアプリケーションごとに異なる複数の鍵を所有している場合には、鍵をアプリケーションごとに管理しなければならないといった煩わしい手間が生じ、ユーザの利便性が損なわれるという問題もある。
【0006】
また、電子証明書を用いた認証を行うためには、ユーザに秘密鍵を安全に管理してもらう必要がある。しかし、特許文献1に記載の技術では、ユーザの使用する端末装置がスパイウェアに感染してしまった場合に、認証情報がキャプチャされて利用され、不正に秘密鍵が流出して悪用される可能性や、ユーザの意図しない電子署名が出回る可能性がある。なお、秘密鍵を安全に管理するための方法として、秘密鍵を耐タンパ性を有するハードウェア内に格納する方法がある。しかし、この方法では、ユーザに秘密鍵を格納したハードウェアを配付する必要があり、費用や時間がかかってしまうという問題がある。
【0007】
そこで、本発明は、ユーザの秘密鍵を安全に管理しつつ、スパイウェアによる認証情報の不正取得に対する耐性を備える鍵管理技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
前記課題を解決するために、本発明は、ユーザの秘密鍵を管理する鍵管理装置であって、ユーザの使用する端末装置からのサービス提供要求に対してサービス提供装置がユーザ認証のために返信する電子データと、そのサービス提供装置のサイト識別情報と、を端末装置から受け付け、サイト識別情報を用いてそのサイト識別情報のサイトが不正なサイトか否かを判定し、不正なサイトでないと判定されたとき、サイト識別情報に関連付けられた暗号鍵の生成条件を示す暗号鍵生成条件情報を抽出し、さらにその抽出された暗号鍵生成条件情報に関連付けられた秘密鍵を抽出し、その秘密鍵を用いて前記電子データに対応する電子署名を生成し、その生成した電子署名を端末装置に出力することを特徴とする。また、鍵管理装置は、端末装置との間でサイト識別情報や電子署名の送受信に用いる通信手段とは異なる第2の通信手段を備え、その第2の通信手段を介して端末装置または端末装置のユーザが使用する第2の端末装置に一時的な認証情報を送信し、端末装置から前記通信手段を介して当該一時的な認証情報に対応する応答情報を受信し、その受信した応答情報が当該一時的な認証情報に対応する情報であるか否かを比較することによって、スパイウェアによる認証情報の不正取得に対処することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ユーザの秘密鍵を安全に管理しつつ、スパイウェアによる認証情報の不正取得に対する耐性を備える鍵管理技術を提供することが可能となる。
【図面の簡単な説明】
【0010】
【図1】本実施形態における認証処理の概要を示す図である。
【図2】本実施形態における暗号鍵生成処理の概要を示す図である。
【図3】本実施形態における鍵管理システムの構成例を示す図である。
【図4】鍵管理システムを構成する各装置の内部構成例を示す図である。
【図5】鍵管理サーバ装置の機能例を示す図である。
【図6】秘密鍵管理装置の機能例を示す図である。
【図7】端末装置の機能例を示す図である。
【図8】鍵管理サーバ装置の記憶部に記憶されるサイト情報の一例を示す図である。
【図9】鍵管理サーバ装置の記憶部に記憶されるユーザ情報の一例を示す図である。
【図10】秘密鍵管理装置の記憶部に記憶されるユーザ秘密鍵の一例を示す図である。
【図11】サービス認証処理の流れを示す図である。
【図12】署名処理(1/2)の流れを示す図である。
【図13】署名処理(2/2)の流れを示す図である。
【図14】ユーザ認証処理の流れを示す図である。
【図15】ユーザ登録処理の流れを示す図である。
【図16】証明書発行処理の流れを示す図である。
【図17】鍵生成処理(1/2)の流れを示す図である。
【図18】鍵生成処理(2/2)の流れを示す図である。
【図19】ユーザ情報変更処理の流れを示す図である。
【図20】ユーザ情報削除処理の流れを示す図である。
【図21】鍵削除処理(1/2)の流れを示す図である。
【図22】鍵削除処理(2/2)の流れを示す図である。
【発明を実施するための形態】
【0011】
次に、本発明を実施するための形態(以降、「本実施形態」と称す)について、適宜図面を参照しながら詳細に説明する。初めに、本実施形態における認証処理の概要および暗号鍵生成処理の概要について説明する。
【0012】
≪認証処理の概要≫
本実施形態における認証処理の概要について、図1を用いて説明する。認証処理では、ユーザがサービスを享受するためにサービス提供装置にアクセスしたときに、そのユーザまたはユーザの使用する端末装置が正当であるか否かを認証する処理のことである。認証処理は、図1に示すように、鍵管理装置、端末装置、およびサービス提供装置の間で実行される。鍵管理装置は、鍵管理サーバ装置と秘密鍵管理装置とで構成される。鍵管理サーバ装置は、ユーザの使用する端末装置との間で情報の送受信を行う。また、秘密鍵管理装置は、鍵管理サーバ装置との間で情報の送受信を行い、ユーザの秘密鍵を管理する。秘密鍵管理装置は、耐タンパ性を有するハードウェアで構成されている。また、端末装置は、端末装置からのサービス提供要求に対応してサービスを提供するサービス提供装置との間で情報の送受信を行う。
【0013】
まず、ステップS101では、端末装置は、サービス提供装置に、サービス提供要求を送信する。ステップS102では、サービス提供装置は、サービス提供要求を送信してきた端末装置に対して、ユーザ認証に用いる電子データを返信する。ステップS103では、端末装置は、サービス提供装置のネットワーク上の場所を示すサイト識別情報と前記電子データとを鍵管理サーバ装置に送信する。
【0014】
ステップS104では、鍵管理サーバ装置は、サイト識別情報を用いて、そのサイト識別情報のサイトが不正なサイトか否かを判定する。その判定結果が不正なサイトでないという判定の場合、ステップS105では、鍵管理サーバ装置と端末装置との間で、ユーザ認証が実行される。具体的には、鍵管理サーバ装置は、一時的な認証情報を生成し、電子データおよびサイト識別情報の受信時に用いた通信手段とは異なる第2の通信手段を介して、端末装置または端末装置のユーザが使用する第2の端末装置に一時的な認証情報を送信する。そして、鍵管理サーバ装置は、端末装置から前記通信手段を介して当該一時的な認証情報に対応する応答情報を受信し、その応答情報が当該一時的な認証情報に対応する情報であるか否かを比較する。その比較において、応答情報が一時的な認証情報に対応する情報である場合には、ユーザ認証が成功したと判定し、ステップS106へ進む。
【0015】
ステップS106では、鍵管理サーバ装置は、サイト識別情報に対応する鍵ID(秘密鍵に関連付けられた識別情報)を抽出する。そして、ステップS107では、鍵管理サーバ装置は、秘密鍵管理装置に、鍵IDとステップS103で受信した電子データを出力する。ステップS108では、秘密鍵管理装置は、鍵IDに対応する秘密鍵を抽出し、その秘密鍵を用いて前記電子データの電子署名を生成する。ステップS109では、秘密鍵管理装置は、生成した電子署名を鍵管理サーバ装置に出力する。また、ステップS110では、鍵管理サーバ装置は、電子署名を端末装置に送信する。
【0016】
ステップS111では、端末装置は、電子署名、前記電子データ、公開鍵、および後記する認証装置によって認証されたその公開鍵のユーザ証明書をサービス提供装置に送信する。ステップS112では、サービス提供装置は、ユーザ証明書を用いて公開鍵の検証を実行し、電子署名とユーザ証明書とを用いて電子署名の検証を実行し、電子データ、公開鍵、および電子署名を用いて、改ざんの有無の検証を実行する。そして、ステップS113では、サービス提供装置は、検証結果を認証メッセージとして端末装置に送信する。
【0017】
以上、認証処理の流れでは、鍵管理装置は、秘密鍵を耐タンパ性を有するハードウェアによってユーザを識別可能に管理するため、ユーザの秘密鍵を安全に管理しつつ、ユーザによる秘密鍵の管理を代行することができる。また、鍵管理装置は、正当なサイトの場合のみ認証処理を実行し、ユーザ認証(ステップS105)において、スパイウェアによる認証情報の不正取得に対処することができる。
【0018】
≪暗号鍵生成処理の概要≫
本実施形態における暗号鍵生成処理の概要について、図2を用いて説明する。暗号鍵生成処理では、暗号鍵(以降、単に鍵とも称す)を生成するとともに、認証局に備えられる認証装置にアクセスして、生成した公開鍵に対応する電子証明書を作成する処理のことである。暗号鍵生成処理は、図2に示すように、鍵管理装置、端末装置、および認証装置の間で実行される。鍵管理装置、鍵管理サーバ装置、秘密鍵管理装置、および端末装置は、図1と同様であるので説明を省略する。なお、認証装置は、端末装置からの証明書発行申請要求に対応して証明書を発行する。
【0019】
まず、ステップS201では、端末装置は、公開鍵に対応するユーザ証明書の発行を申請するために、証明書発行申請要求を認証装置に送信する。ステップS202では、認証装置は、証明書発行に用いる電子データ(暗号鍵生成用のアルゴリズムおよび鍵長等を含む)を返信する。ステップS203では、端末装置は、サイト識別情報および電子データを鍵管理サーバ装置に送信する。
【0020】
ステップS204では、ステップS104と同様に、鍵管理サーバ装置は、サイト識別情報を用いて、そのサイト識別情報のサイトが不正なサイトか否かを判定する。その判定結果が不正なサイトでないという判定の場合、ステップS205では、ステップS105と同様に、鍵管理サーバ装置と端末装置との間で、ユーザ認証が実行される。そして、ユーザ認証が成功した場合、処理はステップS206に進む。
【0021】
ステップS206では、鍵管理サーバ装置は、証明書発行に用いる電子データを秘密鍵管理装置に出力する。ステップS207では、秘密鍵管理装置は、秘密鍵とその秘密鍵に対応する公開鍵とを生成し、鍵IDを生成し、鍵IDと秘密鍵とを関連付けて記憶する。ステップS208では、秘密鍵管理装置は、鍵IDと公開鍵とを鍵管理サーバ装置に出力する。ステップS209では、鍵管理サーバ装置は、公開鍵を端末装置に送信する。
【0022】
ステップS210では、端末装置は、認証装置への申請要求データと公開鍵とを組み合わせて、署名対象データを生成する。ステップS211では、端末装置、鍵管理サーバ装置、および秘密鍵管理装置の間で、ステップS103〜S110と同様の処理を実行し、端末装置は電子署名を受信する。
【0023】
ステップS212では、端末装置は、署名対象データと電子署名とを用いて申請データを生成する。そして、ステップS213では、端末装置は、認証装置に、申請データを送信する。ステップS214では、認証装置は、申請データに含まれる公開鍵を用いて電子署名を検証する。そして、検証結果において不正なしと判定した場合、ステップS215では、認証装置は、ユーザ証明書を端末装置に送信する。
【0024】
以上、暗号鍵生成処理の流れでは、秘密鍵は、耐タンパ性を有するハードウェアの秘密鍵管理装置によって生成され、ユーザを識別可能に管理されるため、ユーザが秘密鍵を管理する必要がない。また、正当なサイトの場合のみ認証処理が実行され、ユーザ認証(ステップS205,S211)において、スパイウェアによる認証情報の不正取得に対処することができる。
【0025】
≪鍵管理システムの構成≫
次に、鍵管理システム300の構成について、図3を用いて説明する。鍵管理システム300は、鍵管理装置310、サービス提供装置320、認証装置330、端末装置700、および第2の端末装置800がネットワーク340に接続されて構成される。鍵管理装置310は、鍵管理サーバ装置500と、耐タンパ性を有する秘密鍵管理装置600とで構成される。鍵管理サーバ装置500は、ネットワーク340を介してユーザの使用する端末装置700との間で情報を送受信する。秘密鍵管理装置600は、鍵管理サーバ装置500から取得した情報に基づいて、電子署名や暗号鍵を生成し、秘密鍵を管理する。端末装置700は、例えば、PC(Personal Computer)等であって、ユーザによって操作される。第2の端末装置(携帯電話等)800は、端末装置700のユーザが所有する別の通信手段(第2の通信手段)である。サービス提供装置320は、ネットワーク340を介して、端末装置700からのサービス提供要求に対応するサービスを提供する。なお、サービス提供装置320は、サービス提供要求を受信したとき、ユーザ認証に用いる電子データを端末装置700に返信する。また、認証装置330は、認証局に設置され、ネットワーク340を介して、端末装置700からの証明書発行申請要求に対応して証明書を発行する。なお、認証装置330は、証明書発行申請要求を受信したとき、証明書発行に用いる電子データ(暗号鍵生成用のアルゴリズムや鍵長等)を端末装置700に返信する。
【0026】
なお、図3には、鍵管理装置310、サービス提供装置320、認証装置330、鍵管理サーバ装置500、秘密鍵管理装置600、端末装置700、および第2の端末装置800は、それぞれ1台しか記載していないが、それぞれ2台以上であっても構わない。また、端末装置700が、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いた通信手段と、その通信手段とは異なる第2の通信手段として電子メール等の別の通信方式を備える場合には、第2の端末装置800は備えられていなくても構わない。
【0027】
鍵管理装置310、サービス提供装置320、認証装置330、鍵管理サーバ装置500、秘密鍵管理装置600、および端末装置700の内部構成について、図4を用いて説明する(適宜図3参照)。当該各装置は、CPU(Central Processing Unit)410と、主記憶装置であるメモリ420と、外部記憶装置であるHDD(Hard Disk Drive)430と、ネットワークに接続するためのNIC(Network Interface Card)等の通信I/F(Interface)450と、ディスプレイ等の出力装置を接続する出力I/F460と、キーボードやマウス等の入力装置を接続する入力I/F470と、DVD(Digital Versatile Disk)やCD(Compact Disk)等の可搬性を有する記憶媒体に対して情報を読み書きする読書装置480と、を備えた一般的なコンピュータにより実現できる。
【0028】
例えば、CPU410は、HDD430に記憶されている所定のプログラムをメモリ420にロードしてCPU410で実行することで、各装置の機能を実現することができる。また、この所定のプログラムは、読書装置480を介して記憶媒体から、または、通信I/F450を介してネットワーク340から、HDD430にダウンロードされ、その後に、メモリ420上にロードされてCPU410により実行されるようにしてもよい。また、読書装置480を介して記憶媒体から、あるいは、通信I/F450を介してネットワーク340から、メモリ420上に直接ロードされ、CPU410により実行されるようにしてもよい。
【0029】
なお、図4に示すタンパ検知装置440は、秘密鍵管理装置600に備えられている。タンパ検知装置440は、秘密鍵管理装置600に対して、こじ開け等の物理的に不正な操作が行われた場合に、その不正な操作を検知して、ユーザの秘密鍵を消去して、秘密鍵の漏洩を防止する。
【0030】
第2の端末装置800は、それがPCである場合には、端末装置700と同様の内部構成となる。また、第2の端末装置800が携帯電話である場合には、電子メールが使用可能であれば良く、公知の内部構成を備えていれば良い。
【0031】
≪鍵管理サーバ装置の機能≫
鍵管理サーバ装置500の機能を、図5を用いて説明する(適宜図3参照)。図5に示すように、鍵管理サーバ装置500は、制御部510、記憶部520、入力部530、出力部540、および通信部550を備える。なお、制御部510は図4に示すCPU410およびメモリ420に対応し、記憶部520は図4に示すHDD430に対応し、入力部530は図4に示す入力I/F470に対応し、出力部540は図4に示す出力I/F460に対応し、および通信部550は図4に示す通信I/F450に対応する。
【0032】
制御部510は、全体制御部511と、鍵管理サービス提供部512と、サイト情報管理部513とを備える。
【0033】
全体制御部511は、鍵管理サーバ装置500の処理全体を制御する。例えば、全体制御部511は、ファイル管理、プロセス管理、デバイス管理といった処理を実行する。
【0034】
鍵管理サービス提供部512は、ネットワーク340を介して、ユーザの秘密鍵の管理サービスを提供する。例えば、その管理サービスは、WebサーバプログラムとWebアプリケーションプログラム等で構成されるものとして説明を行うが、Webの形態に限定されず、専用のアプリケーションによって構成されていても良い。また、鍵管理サービス提供部512は、SSL(Secure Socket Layer)通信またはTLS(Transport Layer Security)通信を行うために必要な暗号処理や、鍵および証明書の管理を実行する。
【0035】
なお、鍵管理サービス提供部512は、ユーザ認証のときに、Webとは別の通信手段やプロトコルを用いて、第2の通信部553を介して、端末装置700に認証用の情報を送信する。例えば、別の通信手段やプロトコルとして、電子メールを用いる場合で説明するが、電子メール以外に、専用のアプリケーションを用いても構わない。なお、電子メールを用いる場合、鍵管理サービス提供部512は、メールサーバとの間の認証処理や、S/MIME(Secure Multipurpose Internet Mail Extensions)通信を行うために必要な暗号処理を実行する。
【0036】
サイト情報管理部513は、サイト判定部5131および鍵ID抽出部5132を備える。サイト判定部5131は、端末装置700から電子署名の生成要求を受信したときに、ユーザが電子署名を提示しようとしているサービス提供装置320が不正なサイトでないことを確認する処理を実行する。鍵ID抽出部5132は、当該サービス提供装置320に適した秘密鍵を選定するために、サイト識別情報を用いてその秘密鍵に関連付けられている鍵IDを抽出する処理を実行する。また、サイト情報管理部513は、鍵管理サーバ装置500の運用者によって設定される、不正なサイトかどうかを判断するための判断条件およびサービス毎に適した鍵の選定条件を受け付ける処理を実行する。
【0037】
記憶部520は、サーバ証明書521、サーバ秘密鍵522、サイト情報523、ユーザ情報524、および管理用認証情報525を備える。サーバ証明書521は、SSLもしくはTLSに必要なサーバ証明書およびその上位にくるすべての認証局証明書を格納している。サーバ秘密鍵522は、サーバ証明書521に格納されたサーバ証明書の公開鍵に対応する秘密鍵を格納する。
【0038】
サイト情報523は、サイト情報管理部513で使用する、不正なサイトかどうかを判断するための判断条件に関する情報と、サービス毎に適した鍵の選定条件に関する情報と、を格納する。
【0039】
ユーザ情報524は、鍵管理サーバ装置500が提供するサービスのユーザ毎に、当該ユーザを識別するためのユーザID、当該ユーザの属性情報と、当該ユーザが使用可能なすべての鍵IDと、当該ユーザのアクセスごとに生成されるセッションID、署名対象データやサービス提供装置320のURI(Uniform Resource Identifier)を含む当該ユーザが送信してきた署名生成要求情報、当該ユーザのユーザ認証に必要な一時的な認証情報、および各々のサービスに対する当該ユーザのアクセス権限を特定する情報を格納する。
【0040】
管理用認証情報525は、秘密鍵管理装置600に記憶されている秘密鍵にアクセスするときに用いる管理用の認証情報を格納する。当該管理用の認証情報は、秘密鍵管理装置600に記憶したものと同じ管理用認証情報である。なお、当該管理用の認証情報は、鍵管理サーバ装置500の運用者および鍵管理サービス提供部512からのアクセスに対して与えられたアクセス権限のことであり、例えば、全体制御部511による、アクセス制御または一般的な暗号ソフトウェア等により保護された形態で格納される。
【0041】
入力部530は、情報の入力を受け付ける。また、出力部540は、情報を出力する。また、通信部550の送信手段551は、ネットワーク340を介した情報の送信を実行し、通信部550の受信手段552は、ネットワーク340を介した情報の受信を実行する。なお、第2の通信部553は、通信部550の送信手段551および受信手段552とは異なる通信方式で情報の送受信を行う。本実施形態では、通信部550の送信手段551および受信手段552が、Webの方式で通信を行うのに対して、第2の通信部553は、電子メールで通信を行うものとする。
【0042】
≪秘密鍵管理装置の機能≫
秘密鍵管理装置600の機能を、図6を用いて説明する(適宜図3参照)。図6に示すように、秘密鍵管理装置600は、制御部610、記憶部620、入力部630、出力部640、および通信部650を備える。なお、制御部610は図4に示すCPU410およびメモリ420に対応し、記憶部620は図4に示すHDD430に対応し、入力部630は図4に示す入力I/F470に対応し、出力部640は図4に示す出力I/F460に対応し、および通信部650は図4に示す通信I/F450に対応する。
【0043】
制御部610は、全体制御部611と、鍵管理部612と、タンパ検知処理部613と、を備える。タンパ検知処理部613は、図4に示すタンパ検知装置440に対応する。
【0044】
全体制御部611は、秘密鍵管理装置600の処理全体を制御する。例えば、ファイル管理、プロセス管理、デバイス管理といった処理を実行する。
【0045】
鍵管理部612は、署名生成部6121、鍵生成部6122、鍵ID生成部6123、および秘密鍵抽出部6124を備える。鍵管理部612は、鍵管理サーバ装置500からユーザの秘密鍵が必要となる暗号処理の要求を受け付け、要求元の認証を行って、秘密鍵へのアクセス権限の確認、鍵の削除等の管理を実行し、その実行結果を鍵管理サーバ装置500に応答する。また、署名生成部6121は、電子署名を生成する。鍵生成部6122は、暗号鍵(秘密鍵とその秘密鍵に対応する公開鍵の組)を生成する。鍵ID生成部6123は、生成した暗号鍵を識別する鍵IDを生成し、鍵IDと暗号鍵とを関連付けてユーザ秘密鍵621に記憶する。秘密鍵抽出部6124は、鍵IDを用いて、ユーザ秘密鍵621に記憶されている秘密鍵を抽出する。
【0046】
タンパ検知処理部613は、秘密鍵管理装置600に対して、こじ開け等の物理的に不正な操作が行われた場合に、その不正な操作を検知し、ユーザ秘密鍵621に記憶している秘密鍵を消去して、秘密鍵の漏洩を防止する。
【0047】
記憶部620は、ユーザ秘密鍵621と、管理用認証情報622と、を備える。ユーザ秘密鍵621は、ユーザ用の秘密鍵と当該秘密鍵を特定する鍵IDとを、複数格納する。管理用認証情報622は、ユーザ秘密鍵621の秘密鍵にアクセスするための管理用の認証情報を格納する。
【0048】
入力部630は、情報の入力を受け付ける。また、出力部640は、情報を出力する。また、通信部650は、鍵管理サーバ装置500との間での情報の送受信を行う。
【0049】
≪端末装置の機能≫
端末装置700の機能を、図7を用いて説明する(適宜図3参照)。図7に示すように、端末装置700は、制御部710、記憶部720、入力部730、出力部740、および通信部750を備える。なお、制御部710は図4に示すCPU410およびメモリ420に対応し、記憶部720は図4に示すHDD430に対応し、入力部730は図4に示す入力I/F470に対応し、出力部740は図4に示す出力I/F460に対応し、および通信部750は図4に示す通信I/F450に対応する。
【0050】
制御部710は、全体制御部711と、サービス利用部712と、認証部713と、を備える。
【0051】
全体制御部711は、端末装置700の処理全体を制御する。例えば、ファイル管理、プロセス管理、デバイス管理といった処理を実行する。
【0052】
サービス利用部712は、ネットワーク340を介して、サービス提供装置320からサービス提供を受ける処理を実行する。例えば、サービスはWebで提供されるものとして説明を行うが、Webの形態に限定されなくても良い。サービス利用部712は、Webブラウザを用いて処理を行い、ネットワーク340上のWebサーバに公開されたHTML(HyperText Markup Language)ファイル、画像ファイル、音楽ファイル等をダウンロードし、レイアウトを解析して表示あるいは再生等を行い、また、フォームを使用してユーザがデータをWebサーバに送信することや、Java(登録商標)等で記述されたプログラムを動作させることも可能である。また、サービス利用部712は、SSLまたはTLS通信を行うために必要な暗号処理や、鍵および証明書の管理を実行する。
【0053】
また、サービス利用部712は、ユーザ認証のときに、Webとは別の通信手段やプロトコルを用いて、第2の通信部751を介して、鍵管理サーバ装置500から、認証用の情報を受信する。例えば、別の通信手段やプロトコルとして、電子メールを用いる場合で説明するが、電子メール以外に、専用のアプリケーションを用いても構わない。なお、電子メールを用いる場合、サービス利用部712は、メーラーを用いて処理を行い、ネットワーク340上のメールサーバに蓄積されたユーザのアカウント宛の電子メールをダウンロードし、表示等を行う。また、サービス利用部712は、メールサーバとの間の認証処理、S/MIME(Secure Multipurpose Internet Mail Extensions)通信を行うために必要な暗号処理、鍵およびユーザ証明書の管理を実行する。
【0054】
認証部713は、サービス利用部712から、ユーザの秘密鍵が必要となる暗号処理の要求を受け付け、鍵管理サーバ装置500から処理結果を受信し、その処理結果を処理要求元に送信する。
【0055】
記憶部720は、ユーザ証明書721と、鍵管理サービス情報722と、を備える。ユーザ証明書721は、サービス提供装置320が提供するサービスの利用に必要なユーザ証明書と、その上位に当るすべての認証局証明書とを格納する。なお、ユーザ証明書は、認証装置330によって発行される。また、鍵管理サービス情報722は、鍵管理サーバ装置500が提供する鍵管理サービスにおいて使用する情報を格納する。例えば、ユーザを識別するためのユーザIDや、ユーザからのアクセスごとに生成されるセッションID等のユーザのアクセスを特定する情報を格納する。
【0056】
入力部730は、情報の入力を受け付ける。また、出力部740は、情報を出力する。また、通信部750は、ネットワーク340を介した情報の送受信を行う。なお、第2の通信部751は、通信部750とは異なる通信方式で情報の送受信を行う。本実施形態では、通信部750が、Webの方式で通信を行うのに対して、第2の通信部751は、電子メールで通信を行うものとする。
【0057】
≪サービス提供装置の機能≫
サービス提供装置320の機能については、図示していないが、簡単に説明する。サービス提供装置320は、ネットワーク340を介して、端末装置700からのサービス提供要求に対応するサービスを提供する。例えば、WebサーバプログラムとWebアプリケーションプログラム等で構成されるものとして説明を行うが、専用のアプリケーションを用いても構わない。また、サービス提供装置320は、サービス提供要求を送信してきた端末装置に対して、ユーザの認証に用いる電子データを返信し、端末装置から送信されてきた電子署名やユーザ証明書等を検証し、ユーザを識別するユーザIDや当該ユーザの属性情報によって特定されるユーザのアクセス権の認可を行う。
【0058】
≪認証装置の機能≫
認証装置330の機能については、図示していないが、簡単に説明する。認証装置330は、例えば、あるユーザに関して、当該ユーザの識別名(ユーザID)とユーザの所有する公開鍵とを結びつけ、この結びつけた情報に対し認証装置秘密鍵を用いて電子署名を施したユーザ証明書(公開鍵証明書)を発行する処理を行う。また、認証装置330は、自身の発行したユーザ証明書の管理を行い、そのユーザ証明書(公開鍵証明書)に関して、失効したユーザ証明書(公開鍵証明書)の情報の一覧に、認証装置秘密鍵を用いて電子署名を施した証明書失効情報の生成等も行う。なお、本実施形態においては、認証装置330は、ルート証明書となる認証局証明書と、ユーザ証明書とを発行するものとする。なお、本実施形態においては、ルート証明書とユーザ証明書という2階層で説明を行うが、認証の階層構造は3階層以上であっても構わない。
【0059】
さらに、認証装置330は、公開鍵証明書の検証を求める要求に応じて、証明書失効情報を送信する。例えば、本実施形態では、認証装置330がLDAP(Lightweight Directory Access Protocol)サーバ等の機能も有し、証明書失効情報が証明書失効リスト(CRL)であるものとして説明を行う。しかし、認証装置330は、このような態様に限定されず、オンライン証明書ステータスプロトコル(OCSP)のように、証明書の有効性確認に関する要求を受け付け、要求に応じて応答を返信するような処理を行ってもよい。
【0060】
≪サイト情報の一例≫
ここで、図5に示す鍵管理サーバ装置500の記憶部520のサイト情報523の一例について、図8を用いて説明する(適宜図5参照)。
【0061】
図8に示すサイト情報523は、予め鍵管理サーバ装置500の運用者によって、サイト情報管理部513を介して設定される。不正サイト情報810には、不正なサイトのサイト識別情報が格納されている。また、正当サイト情報820には、正当なサイトのサイト識別情報が格納されている。不正サイト情報810または正当サイト情報820は、図1に示すステップS104(不正なサイト判定)において、サービス提供装置320が不正なサイトでないことを確認するために参照される。この不正なサイト判定において、不正サイト情報810に登録されているサイトを不正なサイトとして判定するのか、または正当サイト情報820に登録されているサイト以外を不正なサイトとして判定するのかの設定も、サイト情報管理部513を介して運用者によって設定されるものとする。なお、不正サイト情報810および正当サイト情報820は、特許請求の範囲において、サイト判定情報と称する。
【0062】
サイト鍵条件対応情報830は、サイト識別情報、アルゴリズム種別、鍵長、およびサービス提供装置320がサポートする認証局名を関連付けて記憶している。そして、鍵ID抽出部5132は、図1に示すステップS106(サイト識別情報に対応する鍵ID抽出)において、サイト鍵条件対応情報830を参照して、受信したサイト識別情報がサイト鍵条件対応情報830に存在した場合、その存在した行のアルゴリズム種別、鍵長、認証局名等の条件に関する暗号鍵生成条件情報を抽出する。
【0063】
≪ユーザ情報の一例≫
次に、図5に示す鍵管理サーバ装置500の記憶部520のユーザ情報524の一例について、図9を用いて説明する(適宜図5参照)。ユーザ情報524は、ユーザID、鍵ID、アルゴリズム種別、鍵長、認証局名、利用優先度等を関連付けた鍵選択情報910を格納している。鍵ID抽出部5132は、暗号鍵生成条件情報が抽出されている場合、図1に示すステップS106(サイト識別情報に対応する鍵ID抽出)において、鍵選択情報910を参照して、その抽出されている暗号鍵生成条件情報に一致する条件を満たす鍵IDを抽出する。また、鍵ID抽出部5132は、暗号鍵生成条件情報以外にユーザIDも取得されている場合には、そのユーザIDおよび暗号鍵生成条件情報を用いて、鍵選択情報910を参照して、ユーザIDおよび暗号鍵生成条件情報を満足する鍵IDを抽出する。
【0064】
≪ユーザ秘密鍵の一例≫
次に、図6に示す秘密鍵管理装置600の記憶部620のユーザ秘密鍵621の一例について、図10を用いて説明する(適宜図6参照)。ユーザ秘密鍵621は、鍵IDと秘密鍵とを関連付けた秘密鍵情報1000を格納している。秘密鍵抽出部6124は、鍵ID抽出部5132によって抽出された鍵IDを用いて、秘密鍵情報1000を参照して、秘密鍵を抽出する。
【0065】
≪サービス認証処理の流れ≫
次に、サービス認証処理の流れを、図11を用いて説明する(適宜図3,図7参照)。この図11に示したサービス認証処理の流れは、図1に示した認証処理の流れを別の形式で表したものである。なお、サービス提供装置320が提供するサービスおよび鍵管理サーバ装置500が提供するサービスは、SSLもしくはTLS通信により、暗号化等のセキュリティが施されているものとする。
【0066】
まず、ステップS1010では、端末装置700のサービス利用部712は、入力部730を介してユーザによって入力される、サービス提供装置320が提供するサービスの利用を行うためのURL(Uniform Resource Locator)の入力を受け付け、通信部750を介して、サービス提供装置320にアクセス要求(サービス提供要求)を送信する。ステップS1020では、サービス提供装置320は、端末装置700からアクセス要求(サービス提供要求)を受信する。
【0067】
ステップS1030では、サービス提供装置320は、ユーザの認証を行うために必要な認証(署名)要求を端末装置700に返信する。認証(署名)要求には、認証の度に新たに生成される乱数等の署名対象データ(電子データ)が含まれる。署名対象データは、例えば、SSLもしくはTLSのクライアント認証を行う際にサーバから送信されるハンドシェイクのメッセージ等である。ステップS1040では、端末装置700のサービス利用部712は、通信部750を介して、サービス提供装置320から認証(署名)要求データを受信する。
【0068】
ステップS1050では、端末装置700は、受信した認証(署名)要求データを用いて、鍵管理サーバ装置500との間で署名要求から署名応答までの一連の処理(図12および図13の署名処理)を実行する。
【0069】
ステップS1060では、端末装置700のサービス利用部712は、ステップS1050で取得した署名応答を認証(署名)応答とし、通信部750を介して、サービス提供装置320に認証(署名)応答を送信する。ステップS1070では、サービス提供装置320は、端末装置700が送信した認証(署名)応答を受信する。認証(署名)応答には、ユーザの秘密鍵で署名された電子署名とユーザ証明書が含まれる。
【0070】
ステップS1080では、サービス提供装置320は、受信した認証(署名)応答を用いて検証を行う。具体的には、サービス提供装置320は、認証(署名)応答に含まれる電子署名をユーザ証明書を用いて署名検証すること、一般的なPKI(Public Key Infrastructure)の仕様に従って当該ユーザ証明書を検証すること、および当該ユーザの認可を行うこと、を実行する。
【0071】
ステップS1090では、サービス提供装置320は、ステップS1080の検証結果に応じて、検証後の認証メッセージを生成し、端末装置700に当該認証メッセージを送信する。ステップS1100では、端末装置700のサービス利用部712は、通信部750を介して認証メッセージを受信し、受信した認証メッセージを出力部740に出力する。
【0072】
≪署名処理の流れ≫
次に、図11のステップS1050で実行される署名処理の流れを、図12,図13を用いて説明する(適宜図3,図5〜9参照)。
【0073】
まず、ステップS2010では、端末装置700の認証部713は、サービス利用部712が受信した認証要求元情報を取得する。なお、認証要求元情報は、ステップS1040の認証(署名)要求に含まれるサイト識別情報(サービス提供装置320のサービスのURI)である。認証要求元情報は、サイト識別情報以外に、例えば、受信したサービスのウィンドウのタイトル、受信したHTMLデータ中に含まれるユーザの属性情報を示すパラメータ、サービス提供装置320側からの問い合わせで入力したユーザIDや口座番号等である。特に、ユーザIDや口座番号は、インターネットバンキング等での鍵の選定に用いることができる。
【0074】
ステップS2020では、端末装置700の認証部713は、サービス利用部712を介して、鍵管理サーバ装置500に署名要求を送信する。署名要求は、ステップS1040にて受信した認証(署名)要求データに含まれる署名対象データと、ステップS2010にて取得した認証要求元情報のサイト識別情報と、端末装置700のIPアドレスとを含む。さらに、ユーザIDが既に鍵管理サービス情報722に記憶されている場合、署名要求には、そのユーザIDが含まれる。ステップS2030では、鍵管理サーバ装置500の鍵管理サービス提供部512は、通信部550の受信手段552を介して、署名要求を受信する。
【0075】
ステップS2040では、鍵管理サーバ装置500のサイト情報管理部513のサイト判定部5131は、受信した認証要求元情報のサイト識別情報を用いて、サイト情報523の不正サイト情報810を参照し、認証要求元のサイトが不正なサイトか否かを判定する。認証要求元のサイトが不正なサイトである場合(ステップS2040で「不正」)、サイト判定部5131は、署名要求を拒否する署名拒否メッセージを端末装置700に送信し、ステップS2041では、端末装置700の認証部713が、その署名拒否メッセージを受信し、その署名拒否メッセージの内容を出力部740に出力する。本実施形態では、本ステップS2041に到達した時点で処理は終了する。
【0076】
また、認証要求元のサイトが不正なサイトでない場合(ステップS2040で「不正でない」)、ステップS2050では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS2030で受信した署名要求に対してセッションIDを生成し、当該セッションIDに、当該署名要求に含まれる署名対象データと、認証要求元情報のサイト識別情報と、ユーザID(署名要求に存在した場合)と、を関連付けした形でユーザ情報524に記憶する。
【0077】
ステップS2060では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS2030で受信した署名要求の中にユーザIDが存在しているかどうかを確認する。ユーザIDが存在する場合(ステップS2060で「存在する」)、当該ユーザIDを本ステップ以降使用するものとして、図13のS2120に進む。また、ユーザIDが存在しない場合(ステップS2060で「存在しない」)、鍵管理サービスを利用するときにユーザIDの指定が必要となるので、ステップS2070に進む。
【0078】
ステップS2070では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700に、ユーザIDを指定することをユーザに促す入力画面情報を示すユーザID要求を送信する。このとき、ステップS2050で生成したセッションIDも送信する。ステップS2080では、端末装置700の認証部713は、サービス利用部712を介して、ユーザID要求を取得し、ユーザIDの入力画面情報を出力部740に出力する。また、認証部713は、受信したセッションIDを鍵管理サービス情報722に記憶する。
【0079】
ステップS2090では、端末装置700の認証部713は、入力部730を介して、入力画面を用いてユーザIDの入力を受け付ける。ステップS2100では、端末装置700の認証部713は、ステップS2090で入力されたユーザIDとステップS2080で記憶したセッションIDとを、サービス利用部712を介して、鍵管理サーバ装置500に送信する。ステップS2110では、鍵管理サーバ装置500の鍵管理サービス提供部512は、受信したユーザIDおよびセッションIDを、通信部550を介して受信する。
【0080】
図13に示すステップS2120では、鍵管理サーバ装置500の鍵管理サービス提供部512は、特定されたユーザIDを基にユーザ認証(図14のユーザ認証処理)を実行する。詳細については、後記する。ここでは、ユーザ認証に成功したものとして、ステップS2130に進む。
【0081】
ステップS2130では、鍵管理サーバ装置500のサイト情報管理部513の鍵ID抽出部5132は、ステップS2030にて受信した認証要求元情報のサイト識別情報を基に、当該認証要求元のサイトに適した鍵の選定を行う。具体的には、まず、ステップS2050にて記憶した認証要求元情報のサイト識別情報を検索キーとして、図8に示すサイト鍵条件対応情報830を参照して、認証要求元のサイトのサイト識別情報が登録されているかどうかを確認する。当該認証要求元のサイトのサイト識別情報が、サイト鍵条件対応情報830に存在したならば、存在した行のアルゴリズム種別、鍵長、および認証局名等の暗号鍵の生成条件を示す暗号鍵生成条件情報を抽出する。続いて、ステップS2060またはステップS2110にて特定したユーザIDおよび/または暗号鍵生成条件情報を検索キーとして、図9に示す鍵選択情報910を参照し、当該ユーザIDおよび/または暗号鍵生成条件情報に関連付いているすべての鍵IDの候補を取得する。
【0082】
ここで、鍵IDの候補を1つに絞ることができた場合(ステップS2130で「候補が1つ」)、当該鍵IDを以降使用するものとし、ステップS2190に進む。鍵IDの候補が複数存在する場合(ステップS2130で「候補が複数」)、候補の鍵の鍵ID一覧を取得し、ステップS2140に進む。また、サイト鍵条件対応情報830の中に認証要求元のサイトのサイト識別情報が存在しなかった場合には、ユーザIDを検索キーとして鍵選択情報910を検索し、当該ユーザIDに関連付いているすべての鍵ID一覧を取得し、ステップS2140に進む。
【0083】
また、条件に適合する鍵IDが存在しなかった場合(ステップS2130で「選定不可」)、使用可能な鍵がないものとして、端末装置700に署名拒否メッセージを送信し、ステップS2131に進む。ステップS2131では、端末装置700の認証部713は、署名拒否メッセージを受信し、その署名拒否メッセージの内容を出力部740に出力する。本実施形態では、本ステップS2131に到達した時点で処理は終了する。
【0084】
ステップS2140では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS2130において取得した鍵IDの一覧から一つの鍵IDを選択することをユーザに促す入力画面情報を鍵ID要求として、端末装置700に送信する。ステップS2150では、端末装置700の認証部713は、鍵ID要求を受信し、鍵IDの入力画面を、出力部740に出力する。ステップS2060では、端末装置700の認証部713は、入力部730を介して、一つの鍵IDの入力を受け付ける。
【0085】
ステップS2170では、端末装置700の認証部713は、ステップS2160で受け付けた鍵IDを、鍵管理サーバ装置500に送信する。また、ステップS2080で記憶したセッションIDも送信する。ステップS2180では、鍵管理サーバ装置500の鍵管理サービス提供部512は、鍵IDおよびセッションIDを、通信部550を介して受信する。
【0086】
ステップS2190では、鍵管理サーバ装置500の鍵管理サービス提供部512は、署名対象データに対する電子署名を生成するための署名生成要求を、秘密鍵管理装置600に送信する。署名生成要求は、当該鍵IDと、署名対象データと、管理用認証情報525に記憶する管理用認証情報とを含む。なお、署名対象データは、ステップS2050においてセッションIDに関連付けられたものが取得される。ステップS2200では、秘密鍵管理装置600の鍵管理部612は、通信部650を介して、署名生成要求を受信する。
【0087】
ステップS2210では、ステップS2200にて受信した署名対象データに対する電子署名を生成する。その手順として、秘密鍵管理装置600の鍵管理部612は、ステップS2200で受信した管理用認証情報と、管理用認証情報622に記憶してある管理用認証情報を比較することで鍵へのアクセス権があるかどうかの認証を行う。そして、認証に成功した場合は、秘密鍵抽出部6124は、ステップS2200にて受信した鍵IDを用いて、秘密鍵情報1000を参照して、当該鍵IDに関連付けられた秘密鍵を抽出する。次に、署名生成部6121は、抽出した秘密鍵を用いて、ステップS2200にて受信した署名対象データに対する電子署名を生成する。なお、アクセス権の認証に成功しなかった場合は、署名生成に失敗したものとする。
【0088】
ステップS2220では、秘密鍵管理装置600の鍵管理部612は、ステップS2210で生成された署名(電子署名)、または、署名生成に失敗した旨のメッセージを、鍵管理サーバ装置500に送信する。なお、署名を送信する際には、ユーザIDも送信する。ステップS2230では、鍵管理サーバ装置500の鍵管理サービス提供部512は、署名または署名生成失敗の旨のメッセージを受信する。また、ユーザIDも受信した場合には、ユーザ情報524に当該ユーザIDを記憶する。
【0089】
ステップS2240では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS2230にて受信した署名(電子署名)または署名生成に失敗した旨のメッセージを、署名応答として、端末装置700に送信する。ステップS2250では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS2050において記憶したセッションIDと、当該セッションIDに関連付けられている署名対象データと、認証要求元情報と、ユーザID(署名要求に存在していた場合)と、をユーザ情報524から削除する。また、ステップS2260では、端末装置700の認証部713は、ステップS2240にて送信された署名(電子署名)または署名生成に失敗した旨のメッセージを受信する。そして、端末装置700の認証部713は、署名(電子署名)を受信した場合には、次のステップへ進み、署名生成に失敗した旨のメッセージを受信した場合には、当該メッセージの内容を出力部740に出力し、処理は終了する。
【0090】
≪ユーザ認証処理の流れ≫
次に、ユーザ認証処理の流れを、図14を用いて説明する(適宜図3,図5,図7参照)。なお、端末装置700の鍵管理サービス情報722には、この処理の以前に実行されたステップの中において、処理を特定するセッションIDが記憶されているものとする。
【0091】
ステップS3010では、鍵管理サーバ装置500の鍵管理サービス提供部512は、既に特定されているユーザIDに対応した一時的な認証情報を生成する。本実施形態においては、当該一時的な認証情報は、例えば、ワンタイムパスワードのようなものである。当該一時的な認証情報は、既に特定されているセッションIDに、当該一時的な認証情報を関連付けて、ユーザ情報524に記憶される。
【0092】
ステップS3020では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700に、一時的な認証情報に対応する応答情報の入力を促す入力画面情報を示す認証情報要求を送信する。続いて、ステップS3030では、鍵管理サーバ装置500の鍵管理サービス提供部512は、一時的な認証情報もしくはその一時的な認証情報を導出するための情報を、端末装置700または第2の端末装置800に送信する。なお、端末装置700および第2の端末装置800のいずれかに送信するか、また、どのような通信手段で送信するか、については、ユーザによって事前に選択されているものとする。
【0093】
ここでの通信手段は、以前のステップまでにおいて端末装置700と鍵管理サーバ装置500との間で通信していた方法とは別の通信手段が指定されるものとする。本実施形態では、端末装置700の第2の通信部751を介して電子メールを送信する場合と、第2の端末装置800に電子メールを送信する場合と、がある。また、一時的な認証情報を端末装置700に電子メールで送信する場合、一時的な認証情報は、コンピュータ内部のプログラムが自動で識別することが困難な形態で送信する。例えば、一時的な認証情報で使用する文字の形状を歪ませて画像データで送信する方法、一時的な認証情報で使用する文字を表形式で表現したものと当該表から一時的な認証情報を導き出すための質問とをセットとして送信する方法、または、「1+1の答え」のようにユーザが比較的容易かつ一意に導き出せる答えに対する質問文を送信する方法等である。
【0094】
ステップS3040では、端末装置700の認証部713は、ステップS3020にて送信された認証情報要求を受信し、一時的な認証情報の入力画面を、出力部540に出力する。また、ステップS3050では、端末装置700の認証部713は、一時的な認証情報あるいは当該一時的な認証情報を導出するための情報を受信し、その情報の内容を出力部740に出力する。または、ステップS3051では、第2の端末装置800は、一時的な認証情報あるいは当該一時的な認証情報を導出するための情報を受信し、その情報の内容を図示しない表示装置に出力する。
【0095】
ステップS3060では、端末装置700の認証部713は、ステップS3050またはS3051にて受信した一時的な認証情報、または、一時的な認証情報を導出するための情報に対応して、ユーザによって端末装置700の入力部730を介して入力される、一時的な認証情報に対応する応答情報の入力を受け付ける。
【0096】
ステップS3070では、端末装置700の認証部713は、ステップS3060で入力された応答情報を、鍵管理サーバ装置500に送信する。また、記憶されているセッションIDも送信する。ステップS3080では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS3070にて送信された応答情報およびセッションIDを受信する。
【0097】
ステップS3090では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS3080にて受信したセッションIDを基に、ステップS3080にて受信した応答情報がステップS3010の一時的な認証情報に対応する情報か否かを検証する。検証に成功した場合(ステップS3090で「成功」)、端末装置700のIPアドレスをアクセス履歴として、ユーザIDに関連付けしてユーザ情報524に記憶する。また、検証に失敗した場合(ステップS3090で「失敗」)、検証に失敗した旨のメッセージを生成し、検証失敗メッセージとして、端末装置700に送信し、ステップS3091に進む。ステップS3091では、端末装置700の認証部713は、検証失敗メッセージを受信し、その検証失敗メッセージの内容を出力部740に出力する。本実施形態においては、本ステップS3091に到達した時点で処理は終了する。
【0098】
以上、図11〜図14の手順を実施することにより、鍵管理装置310(図3参照)は、ユーザを識別するユーザIDやサイト識別情報に関連付けられた鍵IDを用いて秘密鍵を管理するため、ユーザの秘密鍵を安全に管理しつつ、ユーザによる秘密鍵の管理を代行することができる。そのため、ユーザに鍵管理用のハードウェアを配付することが不要で、PKIレベルの安全性を有する認証の仕組みが提供可能となる。また、鍵管理装置310は、正当なサイトの場合のみユーザ認証処理を実行し、ユーザ認証(ステップS2120)によって、スパイウェアによる認証情報の不正取得に対処することができる。また、サービス提供者側は、SSLもしくはTLSといった既存の認証の仕組みを利用すれば、サービス提供装置の改修は不要となる。
【0099】
≪ユーザ登録処理の流れ≫
次に、ユーザ情報を登録するユーザ登録処理の流れを、図15を用いて説明する(適宜図3,図5,図7参照)。
【0100】
ステップS4010では、端末装置700のサービス利用部712は、入力部730を介して、鍵管理サーバ装置500が提供するユーザ登録用のサービスを利用するためのURLの入力を受け付け、通信部750を介して、鍵管理サーバ装置500にユーザ登録要求を送信する。ステップS4020では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700が送信したユーザ登録要求を受信する。
【0101】
ステップS4030では、鍵管理サーバ装置500の鍵管理サービス提供部512は、鍵管理サービスの利用のために必要なユーザ情報の入力を促す入力画面情報を示すユーザ情報要求を端末装置700に送信する。このとき、鍵管理サービス提供部512は、セッションIDを生成し、ユーザ情報524に記憶するとともに、生成したセッションIDをユーザ情報要求とともに端末装置700に送信する。ステップS4040では、端末装置700のサービス利用部712は、ステップS4030にて送信されたユーザ情報要求を受信し、ユーザ情報要求の内容を、出力部740に出力する。また、サービス利用部712は、受信したセッションIDを、鍵管理サービス情報722に記憶する。
【0102】
ステップS4050では、端末装置700のサービス利用部712は、入力部730を介して、鍵管理サービスを利用するために必要なユーザ情報の入力を受け付ける。本実施形態では、入力するユーザ情報として、ユーザの氏名、住所、電話番号等の情報以外に、当該ユーザが当該鍵管理サービスを利用する際のユーザID(鍵管理サーバ装置500側で割り当てる場合は不要)と、クレジットカード番号等の鍵管理サービスを利用する際の課金に関する情報と、一時的な認証情報の通知手段(例えば、電子メール等)と、一時的な認証情報の通知先(例えば、第2の端末装置800で使用している電子メールのアドレス等)と、を含んでも良い。
【0103】
ステップS4060では、端末装置700のサービス利用部712は、ステップS4050で入力されたユーザ情報を、鍵管理サーバ装置500に送信する。このとき、ステップS4040にて記憶したセッションIDも送信する。ステップS4070では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS4060にて送信されたユーザ情報およびセッションIDを受信する。そして、ステップS4080では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS4070にて受信したユーザ情報とセッションIDとを関連付け、仮登録という形でユーザ情報524に記憶する。なお、ステップS4050において、ユーザにユーザIDを入力させていない場合は、鍵管理サービス提供部512がユーザIDを自動的に生成し、割り当てた上で、ユーザ情報524に記憶する。
【0104】
ステップS4090では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS4080で記憶された情報を基に、図14のユーザ認証処理を実行する。ここでは、ユーザ認証に成功したものとして、ステップS4100に進む。ステップS4100では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS4080において記憶したユーザ情報を本登録という形でユーザ情報524に記憶する。
【0105】
ステップS4110では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ユーザ登録が完了した旨の通知を示すメッセージであるユーザ登録完了通知を端末装置700に送信する。このとき、ユーザIDも送信する。ステップS4120では、端末装置700のサービス利用部712は、ステップS4110で送信されてきたユーザ登録完了通知およびユーザIDを受信し、ユーザ登録完了通知の内容を、出力部740に出力する。また、ステップS4130では、端末装置700のサービス利用部712は、ステップS4120にて受信したユーザIDを、鍵管理サービス情報722に記憶する。
【0106】
≪証明書発行処理の流れ≫
次に、証明書発行処理の流れを、図16を用いて説明する(適宜図3,図5,図7参照)。なお、証明書の発行を受ける際の前提として、ユーザ情報の登録が済んでいるものとする。
【0107】
ステップS5010では、端末装置700のサービス利用部712は、入力部730を介して、認証装置330が提供する証明書発行サービスを利用するためのURLの入力を受け付け、通信部750を介して、認証装置330に証明書発行申請要求を送信する。ステップS5020では、認証装置330は、端末装置700が送信した証明書発行申請要求を受信する。
【0108】
ステップS5030では、認証装置330は、証明書の発行に必要な申請データ(CSR:Certificate Signing Request)を要求するための申請データ要求を端末装置700に送信する。申請データ要求には、証明書の発行に必要な暗号鍵のアルゴリズム種別や鍵長が含まれる。ステップS5040では、端末装置700のサービス利用部712は、ステップS5030にて送信された申請データ要求を受信する。
【0109】
ステップS5050では、端末装置700は、ステップS5040にて受信した申請データ要求を用いて、鍵管理サーバ装置500との間で鍵生成要求から応答までの一連の処理(図17および図18の鍵生成処理)を実行する。本ステップS5050の詳細は、後記する。続いて、ステップS5050にて鍵生成に成功した場合、ステップS5060では、端末装置700は、鍵管理サーバ装置500との間で署名要求から署名応答までの一連の処理(図12および図13の署名処理)を実行する。
【0110】
次に、ステップS5070では、端末装置700のサービス利用部712は、ステップS5060にて生成した署名対象データと、ステップS5060にて受信した電子署名とを組み合わせて、申請データ(CSR)を生成する。ステップS5080では、端末装置700のサービス利用部712は、ステップS5070にて生成した申請データ(CSR)を認証装置330に送信する。ステップS5090では、認証装置330は、端末装置700が送信した申請データ(CSR)を受信する。
【0111】
続いてステップS5100では、認証装置330は、ステップS5090にて受信した申請データ(CSR)の検証を行い、発行審査を実行する。具体的には、申請データに含まれる電子署名を、当該申請データに含まれるユーザの公開鍵を用いて検証するといった一般的なPKIの仕様に従って当該ユーザの申請データを検証する。なお、証明書の発行審査については、本実施形態では申請データのフォーマットに不備がないことをチェックした後にステップS5110に進むものとするが、認証局内の審査する人が目視等で審査を実施する場合には、一旦、端末装置700に申請データを受け付けた旨のメッセージを返信し、審査が完了した時点で、証明書の取得先をユーザに電子メール等で通知し、端末装置700から認証装置330にアクセスされたことを受けて、ステップS5110に進んでもよい。
【0112】
ステップS5110では、認証装置330は、ステップS5100の審査に成功した場合は、申請データに基づきユーザ証明書を生成し、端末装置700に当該ユーザ証明書を送信する。審査に失敗した場合には、審査に失敗した旨の審査メッセージを端末装置700に送信する。ステップS5120では、端末装置700のサービス利用部712は、ユーザ証明書を受信した場合は、ユーザ証明書721に格納し、審査メッセージを受信した場合は、当該審査メッセージの内容を出力部740に出力する。
【0113】
≪鍵生成処理の流れ≫
次に、鍵生成処理の流れを、図17,図18を用いて説明する(適宜図3,図5〜7参照)。
【0114】
ステップS6010では、端末装置700の認証部713は、ステップS5040にて受信した申請データの送信元であるサービス提供装置320のサービスのURIを、鍵生成要求元情報として、サービス利用部712から取得する。
【0115】
ステップS6020では、端末装置700の認証部713は、鍵管理サーバ装置500に暗号鍵の生成を要求する鍵生成要求を送信する。鍵生成要求は、ステップS5040にて受信した暗号鍵のアルゴリズム種別および鍵長と、ステップS6010にて取得した鍵生成要求元情報と、端末装置700のIPアドレスとを含む。さらに、ユーザIDが既に鍵管理サービス情報722に記憶されている場合、鍵生成要求は、ユーザIDも含む。ステップS6030では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700が送信した鍵生成要求を受信する。
【0116】
ステップS6040では、鍵管理サーバ装置500のサイト判定部5131は、鍵生成要求元のサイトが不正なサイトか否かを判定する。鍵生成要求元のサイトが不正なサイトである場合(ステップS6040で「不正」)、サイト判定部5131は、鍵の生成を拒否する旨の鍵生成拒否メッセージを生成し、端末装置700に送信する。ステップS6041では、端末装置700の認証部713は、ステップS6040において送信された鍵生成拒否メッセージを受信し、その鍵生成拒否メッセージの内容を出力部740に出力する。本実施形態においては、本ステップS6041に到達した時点で処理は終了する。
【0117】
また、鍵生成要求元のサイトが不正なサイトでない場合(ステップS6040で「不正でない」)、処理はステップS6050へ進む。ステップS6050では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS6030の鍵生成要求に対してセッションIDを生成し、当該セッションIDに、ステップS6030にて受信した鍵生成要求に含まれる、暗号鍵のアルゴリズム種別および鍵長と、鍵生成要求元情報と、ユーザID(鍵生成要求に存在した場合)とを関連付けて、ユーザ情報524に記憶する。
【0118】
ステップS6060〜S6110の処理は、図12のステップS2060〜S2110と同様の処理であるので、説明を省略する。また、ステップS6120では、図14に示すユーザ認証処理が実行される。ここでは、ユーザ認証に成功したものとして、ステップS6130に進む。
【0119】
図18に示すステップS6130では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ユーザの秘密鍵および公開鍵のペアを生成するための鍵生成要求を、秘密鍵管理装置600に送信する。鍵生成要求は、暗号鍵のアルゴリズム種別および鍵長と、管理用認証情報525から取得した管理用認証情報とを含む。ステップS6140では、秘密鍵管理装置600の鍵管理部612は、ステップS6130にて送信された鍵生成要求を、通信部650を介して受信する。
【0120】
ステップS6150では、秘密鍵管理装置600の鍵管理部612は、ステップS6140にて受信した管理用認証情報と、秘密鍵管理装置600の管理用認証情報622に記憶してある管理用認証情報とを比較することで鍵へのアクセス権があるかどうかの認証を実行する。アクセス権の認証に成功した場合は、ステップS6150では、鍵管理部612の鍵生成部6122は、ステップS6140にて受信した鍵生成要求中のアルゴリズム種別および鍵長に基づいて、暗号鍵(秘密鍵およびその秘密鍵に対応する公開鍵)を生成する。また、鍵ID生成部6123は、秘密鍵管理装置600内でユニークな鍵IDを生成する。そして、生成された鍵と鍵IDとは、相互に関連付けられてユーザ秘密鍵621に格納される。アクセス権の認証に成功しなかった場合は、鍵生成に失敗したものとする。
【0121】
ステップS6160では、秘密鍵管理装置600の鍵管理部612は、ステップS6150にて生成された秘密鍵に関連付けされた鍵IDと、当該秘密鍵に対応する公開鍵と、を鍵管理サーバ装置500に送信する。なお、ステップS6150にて、鍵生成に失敗している場合は、鍵生成に失敗した旨の鍵生成失敗メッセージを、鍵管理サーバ装置500に送信する。ステップS6170では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS6160にて送信された鍵IDおよび公開鍵、または鍵生成失敗メッセージを受信する。
【0122】
ステップS6180では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS6170にて鍵IDを受信している場合には、ステップS6060またはS6110で特定されたユーザIDに関連付けて鍵IDをユーザ情報524に記憶する。
【0123】
ステップS6190では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS6170にて鍵IDおよび公開鍵を受信した場合には、鍵生成が完了した旨の鍵生成完了メッセージを、またステップS6170にて鍵生成失敗メッセージを受信した場合には、その鍵生成失敗メッセージを、公開鍵応答として、端末装置700に送信する。ステップS6200では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS2050において記憶したセッションIDと、当該セッションIDに関連付けされている暗号鍵のアルゴリズム種別および鍵長と、鍵生成要求元情報と、ユーザID(鍵生成要求に存在していた場合)と、をユーザ情報524から削除する。そして、ステップS6210では、端末装置700の認証部713は、ステップS6190にて送信された公開鍵応答を受信する。公開鍵応答が鍵生成完了メッセージであった場合には、次のステップに進む。また、鍵生成応答が鍵生成失敗メッセージであった場合には、当該鍵生成失敗メッセージを示す内容を出力部740に出力し、処理は終了する。
【0124】
≪ユーザ情報変更処理の流れ≫
次に、ユーザ情報変更処理の流れを、図19を用いて説明する(適宜図3,図5,図7参照)。
【0125】
まず、ステップS7010では、端末装置700のサービス利用部712は、入力部730を介して、鍵管理サーバ装置500が提供するユーザ変更用のサービスを利用するためのURLの入力を受け付け、通信部750を介して、鍵管理サーバ装置500にユーザ情報変更要求を送信する。また、鍵管理サービス情報722にユーザIDが記憶されている場合には、ユーザ情報変更要求にユーザIDも含む。ステップS7020では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700によって送信されたユーザ情報変更要求を受信する。
【0126】
次に、ステップS7030〜S7080の処理は、図12に示すステップS2060〜S2110の処理と同様であるので、説明を省略する。そして、ステップS7090では、鍵管理サーバ装置500の鍵管理サービス提供部512は、図14に示すユーザ認証処理を実行する。
【0127】
ステップS7100では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ユーザ情報を変更するために必要なユーザ情報の変更入力画面を示す変更情報要求を端末装置700に送信する。このとき、S7090において受信したセッションIDも変更情報要求と併せて送信される。ステップS7110では、端末装置700のサービス利用部712は、ステップS7100にて送信された変更情報要求を受信し、ユーザ情報の変更入力画面を、出力部740に出力する。
【0128】
ステップS7120では、端末装置700のサービス利用部712は、入力部730を介して、ユーザ情報の変更に必要な変更情報の入力を受け付ける。本実施形態では、入力する変更情報は、ユーザの氏名、住所、および電話番号以外に、クレジットカード番号等の鍵管理サービスを利用する際の課金に関する情報と、一時的な認証情報の通知手段(例えば、電子メール等)と、一時的な認証情報の通知先(例えば、第2の端末装置800で使用している電子メールのアドレス等)とを含む。
【0129】
ステップS7130では、端末装置700のサービス利用部712は、ステップS7120で入力された変更情報を、鍵管理サーバ装置500に送信する。また、併せて、ステップS7050にて記憶したセッションIDも送信する。ステップS7140では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS7130にて送信された変更情報およびセッションIDを受信する。
【0130】
ステップS7150では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ユーザ情報の変更が完了した旨の通知を示すメッセージである変更完了通知を端末装置700に送信する。ステップS7160では、端末装置700のサービス利用部712は、ステップS7150にて送信された変更完了通知を受信し、変更完了通知の内容を、出力部740に出力する。
【0131】
≪ユーザ情報削除処理の流れ≫
次に、ユーザ情報削除処理の流れを、図20を用いて説明する(適宜図3,図5,図7参照)。
【0132】
まず、ステップS8010では、端末装置700のサービス利用部712は、入力部730を介して、鍵管理サーバ装置500が提供するユーザ削除用のサービスを利用するためのURLの入力を受け付け、通信部750を介して、鍵管理サーバ装置500にユーザ情報削除要求を送信する。また、鍵管理サービス情報722にユーザIDが記憶されている場合には、ユーザ情報削除要求にユーザIDを含めて送信する。ステップS8020では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700が送信したユーザ情報削除要求を受信する。
【0133】
次に、ステップS8030では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS8020にて受信したユーザ情報削除要求に基づき、鍵管理サーバ装置500と、秘密鍵管理装置600と、端末装置700と、第2の端末装置800との間で鍵削除の一連の処理(図21および図22のS9030〜S9250の鍵削除処理)を実行する。本ステップS8030の詳細は、後記する。
【0134】
ステップS8040では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS8030にて特定されたユーザIDと、当該ユーザIDに関連付けられているすべての情報を、ユーザ情報524から削除する。そして、ステップS8050では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ユーザ情報の削除が完了した旨の通知を示すメッセージである削除完了通知を端末装置700に送信する。ステップS8060では、端末装置700のサービス利用部712は、ステップS8050にて送信された削除完了通知を受信し、削除完了通知の内容を、出力部740に出力する。続いて、ステップS8070では、端末装置700のサービス利用部712は、鍵管理サービス情報722内の当該ユーザIDに関連付けられている情報をすべて削除する。
【0135】
≪鍵削除処理の流れ≫
次に、鍵削除処理の流れを、図21,図22を用いて説明する(適宜図3,図5〜7参照)。
【0136】
まず、ステップS9010では、端末装置700の認証部713は、通信部750を介して、鍵管理サーバ装置500に鍵削除要求を送信する。鍵削除要求は、端末装置700のIPアドレスと、鍵管理サービス情報722にユーザIDが記憶されている場合には当該ユーザIDと、鍵削除方法とを含む。鍵削除方法は、認証部713によって指定される。図20のステップから本削除処理が実行される場合には一括削除が指定され、ステップS9010から鍵削除処理の手順が始まる場合には個別削除が指定される。ステップS9020では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700が送信した鍵削除要求を受信する。
【0137】
ステップS9030では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS9020の鍵削除要求に対してセッションIDを生成し、当該セッションIDと、アクセス元のIPアドレスと、ユーザID(鍵削除要求に存在した場合)と、鍵削除方法とを関連付けて、ユーザ情報524に記憶する。
【0138】
次に、ステップS9040〜S9090の処理は、図12のステップS2060〜S2110の処理と同様であるので、説明を省略する。そして、ステップS9100では、図14に示すユーザ認証処理を実行する。ここでは、ユーザ認証に成功したものとして、ステップS9110に進む。
【0139】
図22に示すステップS9110では、鍵管理サーバ装置500の鍵管理サービス提供部512は、鍵削除方法を判定する。ステップS9030にて記憶した鍵削除方法が一括削除であった場合(ステップS9110で「一括削除」)、ユーザ情報524から、ステップS9040またはS9080にて特定されたユーザIDに関連付けられている鍵IDの1つを、登録された順等で自動的に選択し、ステップS9170に進む。また、ステップS9030にて記憶した鍵削除方法が個別削除であった場合(ステップS9110で「個別削除」)、ユーザ情報524から、ステップS9040またはS9080にて特定されたユーザIDに関連付けられている鍵IDの一覧を取得し、ステップS9120に進む。なお、当該ユーザIDに鍵IDが1つも関連付けられていない場合(ステップS9110で「削除対象なし」)、鍵の削除が完了したものとして、ステップS9230に進む。
【0140】
ステップS9120では、鍵管理サーバ装置500の鍵管理サービス提供部512は、端末装置700に、ステップS9110において取得した鍵IDの一覧から、削除する鍵IDの選択をユーザに促す選択画面情報を示す鍵ID要求を送信する。ステップS9130では、端末装置700の認証部713は、ステップS9120にて送信された鍵ID要求を受信し、鍵ID要求の選択画面を出力部740に出力する。ステップS9140では、端末装置700の認証部713は、入力部730を介して、削除する鍵の鍵IDの入力を受け付ける。
【0141】
ステップS9150では、端末装置700の認証部713は、ステップS9140で入力された鍵IDを、鍵管理サーバ装置500に送信する。このとき、ステップS9060にて記憶しておいたセッションIDも送信する。ステップS9160では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS9150にて送信された鍵IDおよびセッションIDを受信する。
【0142】
ステップS9170では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS9110〜S9160において選定された鍵IDを基に、当該鍵IDに関連付けられた秘密鍵の削除を行うための鍵削除要求を、秘密鍵管理装置600に送信する。鍵削除要求は、当該鍵IDと、管理用認証情報525に記憶しておいた管理用認証情報とを含む。ステップS9180では、秘密鍵管理装置600の鍵管理部612は、ステップS9170にて送信された鍵削除要求を受信する。
【0143】
ステップS9190では、秘密鍵管理装置600の鍵管理部612は、ステップS9180にて受信した管理用認証情報と、管理用認証情報622に記憶している管理用認証情報を比較することで鍵へのアクセス権があるかどうかの認証を行う。アクセス権の認証に成功した場合は、ステップS9180にて受信した鍵IDと、当該鍵IDに関連付けられた秘密鍵とを、ユーザ秘密鍵621から削除する。
【0144】
ステップS9200では、秘密鍵管理装置600の鍵管理部612は、ステップS9190の処理結果に基づいて、鍵削除に成功した旨または失敗した旨のメッセージである鍵削除応答を、鍵管理サーバ装置500に送信する。ステップS9210では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS9200にて送信された鍵削除応答を受信する。
【0145】
ステップS9220では、鍵管理サーバ装置500の鍵管理サービス提供部512は、鍵削除方法の判定を行う。ステップS9030にて記憶した鍵削除方法が、一括削除であった場合には、ユーザ情報524から、ユーザIDに関連付けられている鍵IDの1つを、登録された順等で自動的に選択し、ステップS9170に戻り、鍵の削除を続ける。また、ステップS9030にて記憶した鍵削除方法が個別削除であった場合、または、ステップS9210にて受信した鍵削除応答が鍵削除に失敗した旨のメッセージであった場合には、ステップS9230に進む。
【0146】
ステップS9230では、鍵管理サーバ装置500の鍵管理サービス提供部512は、鍵削除が完了した旨もしくは鍵削除に失敗した旨のメッセージである鍵削除応答を、端末装置700に送信する。ステップS9240では、鍵管理サーバ装置500の鍵管理サービス提供部512は、ステップS9230において記憶したセッションIDと、当該セッションに関連付けられた情報と、本鍵削除処理の中で削除した鍵の鍵IDと、当該鍵IDに関連する情報と、をユーザ情報524から削除する。ステップS9250では、端末装置700の認証部713は、ステップS9230にて送信された鍵削除応答を受信する。
【0147】
なお、本鍵削除処理が、図20のステップS8020を経て実行される場合、図20のステップS8040に戻る。また、本鍵削除処理が、図21のステップS9010から始まった場合は、本ステップS9250に到達した時点で処理は終了する。また、端末装置700が鍵削除失敗の旨のメッセージを受信した場合には、当該メッセージの内容を出力部740に出力し、処理は終了する。
【0148】
以上、本実施形態に記載の鍵管理装置310(鍵管理サーバ装置500および秘密鍵管理装置600の組)が、鍵生成部6122において鍵を生成して、ユーザの代わりに秘密鍵を管理する構成を備えているため、ユーザに認証用のハードウェアを配付する必要がなく、鍵の安全性を確保することができる。また、ユーザ認証(図14参照)において、一時的な認証情報もしくは一時的な認証情報を導出するための情報は、鍵にアクセスする都度、別の通信手段(第2の通信部553)によって通知されるので、スパイウェアによる認証情報の不正取得に対する耐性を備えることができる。さらに、ユーザ認証においては、ユーザは、図14のステップS3010において生成された一時的な認証情報を送信してもらえるため、パスワード忘れによる心配が無用となる。
【0149】
また、鍵の使用時等に、認証要求元情報のサイト識別情報を、端末装置700から鍵管理サーバ装置500に送信することにより、従来ユーザ自身が行わなければならなかった、フィッシング等を避けるための不正サイトの判断や、サービス提供装置320の認証に適した鍵(証明書)の選定作業を、簡素化もしくは省略することができるようになる。また、サービス提供装置320側に署名機能、暗号化機能、認証サーバの証明書を管理する機能、復号機能、署名検証機能を持たせる必要がないため、サービス提供装置320の改修の必要がなく、サービス提供者にとって本実施形態の鍵管理システム300の導入が容易となる。
【0150】
なお、本実施形態では、端末装置700のユーザが第2の端末装置800を所有しているものとして説明した。しかし、端末装置700自体は、サービス提供者側の窓口端末でも良く、第2の端末装置800をユーザが所有する形態でも良い。あるいは、端末装置700のみをユーザが使用する形態であっても良い。
【0151】
また、ステップS2040では、鍵管理サーバ装置500のサイト情報管理部513のサイト判定部5131は、受信した認証要求元情報のサイト識別情報を用いて、サイト情報523の不正サイト情報810を参照し、認証要求元のサイトが不正なサイトか否かを判定するものとして説明した。しかし、例えば、鍵管理サーバ装置500の運用者が認めている正当なサイトの利用を許可しても良い。この場合には、図8に示す正当サイト情報820を参照して、サイト識別情報が存在したならばステップS2050に進むようにしても良い。
【0152】
また、本実施形態では、図3に示すように鍵管理装置310は、鍵管理サーバ装置500と秘密鍵管理装置600との組として説明したが、鍵管理サーバ装置500と秘密鍵管理装置600とを一体とした装置で構成しても構わない。
【0153】
また、本実施形態では、図11に示すステップS1040およびS1060、図16に示すステップS5040を、端末装置700を経由するリダイレクトによって実行しても構わない。
【符号の説明】
【0154】
300 鍵管理システム
310 鍵管理装置
320 サービス提供装置
330 認証装置
340 ネットワーク
440 タンパ検知装置
500 鍵管理サーバ装置
510 制御部
520 記憶部
523 サイト情報
524 ユーザ情報
550 通信部
551 送信手段
552 受信手段
553 第2の通信部
600 秘密鍵管理装置
610 制御部
612 鍵管理部
613 タンパ検知処理部
620 記憶部
621 ユーザ秘密鍵
700 端末装置
710 制御部
720 記憶部
750 通信部
751 第2の通信部
800 第2の端末装置
810 不正サイト情報
820 正当サイト情報
830 サイト鍵条件対応情報
910 鍵選択情報
1000 秘密鍵情報
5131 サイト判定部
5132 鍵ID抽出部
6121 署名生成部
6122 鍵生成部
6123 鍵ID生成部
6124 秘密鍵抽出部

【特許請求の範囲】
【請求項1】
ユーザの使用する端末装置と通信可能に接続され、前記端末装置から受信した電子データに対して電子署名を生成する鍵管理装置であって、
前記鍵管理装置は、
前記端末装置からのサービス提供要求に対応してサービスを提供するサービス提供装置のネットワーク上の場所を示すサイト識別情報および暗号鍵の生成条件を示す暗号鍵生成条件情報を関連付けたサイト鍵条件対応情報と、前記サイト識別情報で識別されるサイトが不正なサイトであるか否かを判定する情報を格納したサイト判定情報と、前記暗号鍵を識別する鍵IDと前記暗号鍵生成条件情報とを関連付けた鍵選択情報と、前記鍵IDと秘密鍵とを関連付けた秘密鍵情報とを記憶する記憶部と、
前記端末装置からのサービス提供要求に対して前記サービス提供装置がユーザ認証のために返信する前記電子データと、そのサービス提供装置のサイト識別情報と、を前記端末装置から受け付ける通信部の受信手段と、
前記サイト識別情報を用いて前記サイト判定情報を参照し、そのサイト識別情報のサイトが不正なサイトか否かを判定するサイト判定部と、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、前記サイト識別情報を用いて前記サイト鍵条件対応情報を参照し、前記サイト識別情報に関連付けられた暗号鍵生成条件情報を抽出し、前記抽出された暗号鍵生成条件情報を用いて前記鍵選択情報を参照し、前記抽出された暗号鍵生成条件情報に関連付けられた鍵IDを抽出する鍵ID抽出部と、
前記抽出した鍵IDを用いて前記秘密鍵情報を参照し、前記抽出した鍵IDに関連付けられた秘密鍵を抽出する秘密鍵抽出部と、
前記抽出された秘密鍵を用いて、前記電子データに対応する電子署名を生成する署名生成部と、
前記生成した電子署名を前記端末装置に出力する前記通信部の送信手段と、
を備えることを特徴とする鍵管理装置。
【請求項2】
前記鍵管理装置は、さらに、
前記端末装置または前記端末装置のユーザが使用する第2の端末装置との間で前記通信部とは異なる通信手段を有する第2の通信部を介して通信する通信手段を備え、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、
一時的な認証情報を生成し、前記第2の通信部を介して、当該一時的な認証情報を前記端末装置または前記第2の端末装置に出力し、
前記出力に応じて前記ユーザによって操作される前記端末装置から、当該一時的な認証情報の出力に対応する応答情報を前記通信部を介して受信し、その受信した応答情報が、当該一時的な認証情報に対応する情報か否かを比較し、その比較結果において、当該応答情報が当該一時的な認証情報に対応する情報である場合に、前記秘密鍵抽出部、前記署名生成部、および前記通信部の送信手段における処理を実行する
ことを特徴とする請求項1に記載の鍵管理装置。
【請求項3】
前記鍵管理装置は、さらに、耐タンパ性を有するハードウェア暗号モジュールを備え、
前記耐タンパ性を有するハードウェア暗号モジュールでは、少なくとも、前記秘密鍵情報を記憶しており、前記秘密鍵抽出部および前記署名生成部の処理を実行する
ことを特徴とする請求項1または請求項2に記載の鍵管理装置。
【請求項4】
前記暗号鍵生成条件情報は、暗号鍵生成用のアルゴリズム種別、鍵長、および認証局情報のいずれかまたは組み合わせである
ことを特徴とする請求項1ないし請求項3のいずれか一項に記載の鍵管理装置。
【請求項5】
前記鍵管理装置の前記通信部の受信手段は、さらに、前記暗号鍵生成用のアルゴリズム種別および鍵長を前記端末装置から受け付け、
前記耐タンパ性を有するハードウェア暗号モジュールは、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、前記暗号鍵生成用のアルゴリズム種別および鍵長を用いて、秘密鍵とその秘密鍵に対応する公開鍵とを生成する鍵生成部と、
前記鍵IDを生成して、前記鍵IDと前記秘密鍵とを関連付けて前記秘密鍵情報に記憶する鍵ID生成部と、
を備えることを特徴とする請求項4に記載の鍵管理装置。
【請求項6】
前記鍵管理装置は、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、
一時的な認証情報を生成し、前記第2の通信部を介して、当該一時的な認証情報を前記端末装置または前記第2の端末装置に出力し、
前記端末装置から、当該一時的な認証情報の出力に対応する応答情報を前記通信部を介して受信し、その受信した応答情報が、当該一時的な認証情報と同じか否かを比較し、その比較結果において、当該応答情報と当該一時的な認証情報とが同じ場合に、前記鍵生成部および前記鍵ID生成部における処理を実行する
ことを特徴とする請求項5に記載の鍵管理装置。
【請求項7】
前記鍵ID抽出部は、
前記抽出した鍵IDに関連付けられた秘密鍵を複数抽出した場合、
前記抽出した複数の鍵IDの中から一つを選択入力可能な入力画面情報を、前記端末装置に前記通信部の送信手段を介して出力し、
前記端末装置から当該入力画面情報を用いて選択入力された鍵IDを前記通信部の受信手段を介して受け付ける
ことを特徴とする請求項1に記載の鍵管理装置。
【請求項8】
ユーザの使用する端末装置と通信可能に接続され、前記端末装置から受信した電子データに対して電子署名を生成する鍵管理装置であって、
前記鍵管理装置は、
前記端末装置からのサービス提供要求に対応してサービスを提供するサービス提供装置のネットワーク上の場所を示すサイト識別情報および暗号鍵の生成条件を示す暗号鍵生成条件情報を関連付けたサイト鍵条件対応情報と、前記サイト識別情報で識別されるサイトが不正なサイトであるか否かを判定する情報を格納したサイト判定情報と、ユーザを識別するユーザIDと前記暗号鍵を識別する鍵IDと前記暗号鍵生成条件情報とを関連付けた鍵選択情報と、前記鍵IDと秘密鍵とを関連付けた秘密鍵情報とを記憶する記憶部と、
前記端末装置からのサービス提供要求に対して前記サービス提供装置がユーザ認証のために返信する前記電子データと、そのサービス提供装置のサイト識別情報と、前記ユーザIDと、を前記端末装置から受け付ける通信部の受信手段と、
前記サイト識別情報を用いて前記サイト判定情報を参照し、そのサイト識別情報のサイトが不正なサイトか否かを判定するサイト判定部と、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、前記サイト識別情報を用いて前記サイト鍵条件対応情報を参照し、前記サイト識別情報に関連付けられた暗号鍵生成条件情報を抽出し、前記抽出した暗号鍵生成条件情報および前記ユーザIDを用いて前記鍵選択情報を参照し、前記抽出した暗号鍵生成条件情報および前記ユーザIDに関連付けられた鍵IDを抽出する鍵ID抽出部と、
前記抽出した鍵IDを用いて前記秘密鍵情報を参照し、前記抽出した鍵IDに関連付けられた秘密鍵を抽出する秘密鍵抽出部と、
前記抽出された秘密鍵を用いて、前記電子データに対応する電子署名を生成する署名生成部と、
前記生成した電子署名を前記端末装置に出力する前記通信部の送信手段と、
を備えることを特徴とする鍵管理装置。
【請求項9】
前記鍵管理装置は、
前記通信部によって前記ユーザIDを受け付けなかった場合、
前記ユーザIDを入力可能な入力画面情報を、前記端末装置に前記通信部の送信手段を介して出力し、
前記端末装置から当該入力画面情報を用いて入力されたユーザIDを前記通信部の受信手段を介して受け付ける
ことを特徴とする請求項8に記載の鍵管理装置。
【請求項10】
ユーザの使用する端末装置と通信可能に接続され、前記端末装置から受信した電子データに対して電子署名を生成する鍵管理装置において用いられる鍵管理方法であって、
前記鍵管理装置は、
前記端末装置からのサービス提供要求に対応してサービスを提供するサービス提供装置のネットワーク上の場所を示すサイト識別情報および暗号鍵の生成条件を示す暗号鍵生成条件情報を関連付けたサイト鍵条件対応情報、前記サイト識別情報で識別されるサイトが不正なサイトであるか否かを判定する情報を格納したサイト判定情報、前記暗号鍵を識別する鍵IDと前記暗号鍵生成条件情報とを関連付けた鍵選択情報、および前記鍵IDと秘密鍵とを関連付けた秘密鍵情報を記憶する記憶部と、前記端末装置との間で情報を送受信する通信部と、を備え、
前記端末装置からのサービス提供要求に対して前記サービス提供装置がユーザ認証のために返信する前記電子データと、そのサービス提供装置のサイト識別情報と、を前記端末装置から前記通信部を介して受け付ける受付ステップと、
前記サイト識別情報を用いて前記サイト判定情報を参照し、そのサイト識別情報のサイトが不正なサイトか否かを判定するサイト判定ステップと、
前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、前記サイト識別情報を用いて前記サイト鍵条件対応情報を参照し、前記サイト識別情報に関連付けられた暗号鍵生成条件情報を抽出し、前記抽出された暗号鍵生成条件情報を用いて前記鍵選択情報を参照し、前記抽出された暗号鍵生成条件情報に関連付けられた鍵IDを抽出する鍵ID抽出ステップと、
前記抽出した鍵IDを用いて前記秘密鍵情報を参照し、前記抽出した鍵IDに関連付けられた秘密鍵を抽出する秘密鍵抽出ステップと、
前記抽出された秘密鍵を用いて、前記電子データに対応する電子署名を生成する署名生成ステップと、
前記生成した電子署名を前記端末装置に前記通信部を介して出力する出力ステップ
を実行することを特徴とする鍵管理方法。
【請求項11】
前記鍵管理装置は、さらに、
前記端末装置または前記端末装置のユーザが使用する第2の端末装置との間で前記通信部とは異なる通信手段を有する第2の通信部を介して通信する通信手段を備え、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、
一時的な認証情報を生成し、前記第2の通信部を介して、当該一時的な認証情報を前記端末装置または前記第2の端末装置に出力し、
前記出力に応じて前記ユーザによって操作される前記端末装置から、当該一時的な認証情報の出力に対応する応答情報を前記通信部を介して受信し、その受信した応答情報が、当該一時的な認証情報に対応する情報か否かを比較し、その比較結果において、当該応答情報が当該一時的な認証情報に対応する情報である場合に、前記秘密鍵抽出ステップ、前記署名生成ステップ、および前記出力ステップにおける処理を実行する
ことを特徴とする請求項10に記載の鍵管理方法。
【請求項12】
前記鍵管理装置は、さらに、耐タンパ性を有するハードウェア暗号モジュールを備え、
前記耐タンパ性を有するハードウェア暗号モジュールでは、少なくとも、前記秘密鍵情報を記憶しており、前記秘密鍵抽出ステップおよび前記署名生成ステップにおける処理を実行する
ことを特徴とする請求項10または請求項11に記載の鍵管理方法。
【請求項13】
前記暗号鍵生成条件情報は、暗号鍵生成用のアルゴリズム種別、鍵長、および認証局情報のいずれかまたは組み合わせである
ことを特徴とする請求項10ないし請求項12のいずれか一項に記載の鍵管理方法。
【請求項14】
前記受付ステップでは、さらに、前記暗号鍵生成用のアルゴリズム種別および鍵長を前記端末装置から受け付け、
前記耐タンパ性を有するハードウェア暗号モジュールは、
前記サイト判定部によって前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、前記暗号鍵生成用のアルゴリズム種別および鍵長を用いて、秘密鍵とその秘密鍵に対応する公開鍵とを生成する鍵生成ステップと、
前記鍵IDを生成して、前記鍵IDと前記秘密鍵とを関連付けて前記秘密鍵情報に記憶する鍵ID生成ステップと、
を実行することを特徴とする請求項13に記載の鍵管理方法。
【請求項15】
ユーザの使用する端末装置と通信可能に接続され、前記端末装置から受信した電子データに対して電子署名を生成する鍵管理装置において用いられる鍵管理方法であって、
前記鍵管理装置は、
ユーザの使用する端末装置からのサービス提供要求に対応してサービスを提供するサービス提供装置のネットワーク上の場所を示すサイト識別情報および暗号鍵の生成条件を示す暗号鍵生成条件情報を関連付けたサイト鍵条件対応情報と、前記サイト識別情報で識別されるサイトが不正なサイトであるか否かを判定する情報を格納したサイト判定情報と、ユーザを識別するユーザIDと前記暗号鍵を識別する鍵IDと前記暗号鍵生成条件情報とを関連付けた鍵選択情報と、前記鍵IDと秘密鍵とを関連付けた秘密鍵情報とを記憶する記憶部を備え、
前記端末装置からのサービス提供要求に対して前記サービス提供装置がユーザ認証のために返信する前記電子データと、そのサービス提供装置のサイト識別情報と、前記ユーザIDと、を前記端末装置から受け付ける受付ステップと、
前記サイト識別情報を用いて前記サイト判定情報を参照し、そのサイト識別情報のサイトが不正なサイトか否かを判定するサイト判定ステップと、
前記サイト識別情報のサイトが不正なサイトでないと判定されたとき、前記サイト識別情報を用いて前記サイト鍵条件対応情報を参照し、前記サイト識別情報に関連付けられた暗号鍵生成条件情報を抽出し、前記抽出した暗号鍵生成条件情報および前記ユーザIDを用いて前記鍵選択情報を参照し、前記抽出した暗号鍵生成条件情報および前記ユーザIDに関連付けられた鍵IDを抽出し、前記抽出した鍵IDを用いて前記秘密鍵情報を参照し、前記抽出した鍵IDに関連付けられた秘密鍵を抽出する鍵ID抽出ステップと、
前記抽出された秘密鍵を用いて、前記電子データに対応する電子署名を生成する署名生成ステップと、
前記生成した電子署名を前記端末装置に出力する送信ステップ
を実行することを特徴とする鍵管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2011−71721(P2011−71721A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2009−220673(P2009−220673)
【出願日】平成21年9月25日(2009.9.25)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】