(57)【要約】【課題】ＩＣカードの正当な利用者以外の第三者によって、ＩＣカードに備えられたデジタル署名を生成する機能が悪用されてしまうことのないＩＣカードを提供する。【解決手段】ＩＣカード１は、リーダライタ２ａから伝送された署名対象メッセージ２２のデジタル署名を生成する機能を備え、ＩＣカード１は署名対象メッセージ２２のデジタル署名を生成する前に、ＩＣカード１を利用するユーザの正当性の確認を必要とする。ＩＣカード１は、ユーザの正当性を確認する手段として、ＰＩＮを照合するＰＩＮ照合手段１０と、ユーザ確認用のデジタル署名が付加された正当性証明メッセージ２１を検証する正当性証明メッセージ検証手段１１とを備え、ＰＩＮの照合と正当性証明メッセージ２１の検証とに成功した場合のみ、ＩＣカード１は、デジタル署名を生成する機能の利用を許可する。【選択図】図２
2007115136.tif 000002
【特許請求の範囲】
【請求項１】
公開鍵暗号方式の暗号鍵を備え、前記暗号鍵を用い指定されたメッセージに対するデジタル署名を生成するデジタル署名生成手段を備えたＩＣカードにおいて、前記ＩＣカードは、パスワードを照合するパスワード照合手段と、ユーザの確認用のメッセージに付加されたデジタル署名を検証するデジタル署名検証手段とを備え、前記ＩＣカードは、前記パスワード照合手段による前記パスワードの照合と、前記デジタル署名検証手段による前記ユーザの確認用のメッセージの検証とに成功した場合のみ、前記デジタル署名生成手段の実行を許可することを特徴とするＩＣカード。
【請求項２】
公開鍵暗号方式の暗号鍵を備え、前記暗号鍵を用い指定されたメッセージに対するデジタル署名を生成するデジタル署名生成手段を備えたＩＣカードに実装され、前記デジタル署名生成手段の実行を制御するためのＩＣカードプログラムであって、前記ＩＣカードプログラムは、
ステップ（ａ）：パスワードを照合するステップ、
ステップ（ｂ）： ユーザの確認用のメッセージに付加されたデジタル署名を検証するステップ、
ステップ（ｃ）:  ステップ（ａ）で実行されたパスワードの照合結果と、ステップ（ｂ）で実行されたユーザの確認用のメッセージの検証結果を参照し、パスワードの照合と前記ユーザの確認用のメッセージの検証とに成功した場合のみ、前記デジタル署名生成手段の実行を許可するステップ、を含むことを特徴とするＩＣカードプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、公開鍵暗号方式の暗号鍵を用い、あるメッセージに対してデジタル署名を生成する機能を備えたＩＣカードに関し、更に詳しくは、このデジタル署名を生成する機能の実行を管理する技術に関する。
【背景技術】
【０００２】
ネットワークを利用し高いセキュリティが要求されるシステムで利用されるＩＣカードには、公開鍵暗号方式の暗号鍵（秘密鍵もしくは公開鍵）を用いて、あるメッセージに対してデジタル署名を生成する機能を備えるケースが増えている。
【０００３】
例えば、インターネットを利用したＢｔｏＣ（Business to Consumer）などの電子商取引システムにおいては、正当なユーザからの発注であることを証明するために、ユーザが電子商取引のサーバに送信する送信メッセージには、ＩＣカードを用いて生成されたデジタル署名が付加される。
【０００４】
メッセージに対するデジタル署名の生成をＩＣカード自身が管理する技術としては、特許文献１で開示されているように、ＩＣカードを使用するユーザの正当性をＰＩＮ（Personal Identification Number）によって管理する技術が広く用いられている。
【０００５】
この技術においては、ＩＣカードが送信されたメッセージに対してデジタル署名を生成する前に、ＩＣカードを使用するユーザの正当性をＰＩＮ（Personal Identification Number）によって確認し、ユーザの正当性が確認できた場合のみ、ＩＣカードは、端末装置から送信されたメッセージに対するデジタル署名を生成する。
【０００６】
しかしながら、ＩＣカードを紛失し悪意のある第三者に拾得され、ＩＣカードに設定されているＰＩＮが誕生日など他の資料から容易に推測されうる値であった場合には、ＩＣカードの正当な利用者以外の第三者によって、ＩＣカードに備えられたデジタル署名を生成する機能が悪用されてしまう恐れがある。
【０００７】
例えば、上述した電子商取引システムの場合では、正当なユーザ以外の第三者が、ユーザの許可を得ることなく、電子商取引にて商品・サービスなどを発注することができてしまう。
【特許文献１】特開２００２−３１１８２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した問題点を鑑みて、本発明は、ＩＣカードを紛失し、ＩＣカードに設定されているＰＩＮが誕生日など他の資料から容易に推測されうる値であった場合でも、ＩＣカードの正当な利用者以外の第三者によって、ＩＣカードに備えられたデジタル署名を生成する機能が悪用されてしまうことのないＩＣカードおよびＩＣカードプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決する第１の発明は、公開鍵暗号方式の暗号鍵を備え、前記暗号鍵を用い指定されたメッセージに対するデジタル署名を生成するデジタル署名生成手段を備えたＩＣカードにおいて、前記ＩＣカードは、パスワードを照合するパスワード照合手段と、ユーザの確認用のメッセージに付加されたデジタル署名を検証するデジタル署名検証手段とを備え、前記ＩＣカードは、前記パスワード照合手段による前記パスワードの照合と、前記デジタル署名検証手段による前記ユーザの確認用のメッセージの検証とに成功した場合のみ、前記デジタル署名生成手段の実行を許可することを特徴とする。
【００１０】
また、第２の発明は、公開鍵暗号方式の暗号鍵を備え、前記暗号鍵を用い指定されたメッセージに対するデジタル署名を生成するデジタル署名生成手段を備えたＩＣカードに実装され、前記デジタル署名生成手段の実行を制御するためのＩＣカードプログラムであって、前記ＩＣカードプログラムは、
ステップ（ａ）：パスワードを照合するステップ、
ステップ（ｂ）： ユーザの確認用のメッセージに付加されたデジタル署名を検証するステップ、
ステップ（ｃ）:  ステップ（ａ）で実行されたパスワードの照合結果と、ステップ（ｂ）で実行されたユーザの確認用のメッセージの検証結果を参照し、パスワードの照合と前記ユーザの確認用のメッセージの検証とに成功した場合のみ、前記デジタル署名生成手段の実行を許可するステップ、を含むことを特徴とする。
【発明の効果】
【００１１】
上述した発明によれば、ＩＣカードがメッセージに対するデジタル署名の生成を許可するためには、パスワードとユーザの確認用のメッセージが必要になるため、ＩＣカードに設定されているＰＩＮが誕生日など他の資料から容易に推測された場合でも、ＩＣカードの正当な利用者以外の第三者によって、ＩＣカードに備えられたデジタル署名を生成する機能が悪用されてしまうことはなくなる。
【発明を実施するための最良の形態】
【００１２】
ここから、本発明を適用したＩＣカードについて、図を参照しながら詳細に説明する。図１は、本発明を適用したＩＣカードを利用するＩＣカードシステムを説明する図である。
【００１３】
図１に示したＩＣカードシステムにおいて、ユーザは、本発明が適用されたＩＣカード１と、ＩＣカード１とデータ通信する装置であるリーダライタ２ａを備えたクライアント２とを所持し、ユーザがクライアント２を操作し、ネットワーク４に接続されたサーバ３にアクセスすることで、ユーザはサーバ３が有する電子商取引などのアプリケーションを利用する。
【００１４】
ユーザが所持するＩＣカード１は、外部端末（ここでは、リーダライタ２ａ）から伝送されたメッセージのデジタル署名を生成する機能を備え、ＩＣカード１はデジタル署名を生成する前に、ＩＣカード１を利用するユーザの正当性の確認を必要とする。
【００１５】
本発明において、ユーザの正当性を確認するために、ＩＣカード１は、ユーザ確認用のＰＩＮを照合する手段と、ユーザ確認用のデジタル署名が付加されたメッセージ（以下、正当性証明メッセージ）を検証する手段を備え、ＰＩＮの照合と正当性証明メッセージの検証とに成功した場合のみ、ＩＣカード１は、デジタル署名を生成する機能の利用を許可する。
【００１６】
ここで、正当性証明メッセージとは、カード発行者の秘密鍵で生成されたデジタル署名が付加されたメッセージで、正当性証明メッセージはクライアントのハードディスクに記憶されている。ＩＣカード１内にはカード発行者の公開鍵証明書が格納され、カード発行者の公開鍵を用いて、正当性証明メッセージに付与されたデジタル署名を検証することで、正当性証明メッセージは検証される。
【００１７】
サーバ３が提供しているサービスをユーザが利用する前に、ＩＣカード１に備えられたＰＩＮを照合する手段および正当性証明メッセージを検証する手段によって、ユーザの正当性は確認される。そして、クライアント２からサーバ３に送信されるメッセージ（以下、署名対象メッセージ）がＩＣカード１に送信され、署名対象メッセージのデジタル署名がＩＣカード１の内部で生成される。
【００１８】
クライアント２は、ＩＣカード１から署名対象メッセージのデジタル署名を取得すると、取得したデジタル署名を付加した署名対象メッセージをサーバ３に送信し、サーバ３は受信した署名対象メッセージのデジタル署名を検証し、検証に成功した場合のみ、ユーザが希望するサービスをユーザに提供する。
【００１９】
このように、本発明を適用したＩＣカード１を用いれば、ＩＣカード１がデジタル署名を生成する際に、ユーザのＰＩＮに加えて、正当性証明メッセージが必要になるため、ＰＩＮが誕生日など他の資料から容易に推測された場合でも、ＩＣカード１に備えられたデジタル署名を生成する機能が第三者に悪用される危険性はなくなる。
【００２０】
図２は、図１で示したＩＣカードシステムのブロック図である。図２で示したように、ユーザが所持するＩＣカード１は、情報として、予めＩＣカード１に登録されたユーザのＰＩＮである参照ＰＩＮ１３と、カード発行者の公開鍵１４ａ（以下、発行者公開鍵）の公開鍵証明書である発行者公開鍵証明書１４と、ユーザの秘密鍵であるユーザ秘密鍵１５とを、少なくとも記憶し、更に、これらの情報を利用する手段として、リーダライタ２ａから送信される認証ＰＩＮ２０と参照ＰＩＮ１３とを照合するＰＩＮ照合手段１０と、リーダライタ２ａから送信される正当性証明メッセージ２１を、発行者公開鍵１４ａを用いて検証する正当性証明メッセージ検証手段１１と、リーダライタ２ａから送信されるメッセージのデジタル署名を、ユーザ秘密鍵１５を用いて生成するデジタル署名生成手段１２とを備える。
【００２１】
図３は、ユーザが所持するＩＣカード１に実装されるＩＣチップのハードウェア構成図である。ＩＣカード１に内蔵されたＩＣチップには、ＣＰＵ５０、不揮発性メモリであるＲＯＭ５２、電気的に書換え可能な不揮発性メモリであるＥＥＰＲＯＭ５３、揮発性メモリであるＲＡＭ５１、リーダライタ２ａとデータ通信するための回路であるＩ／Ｏ回路５４などが、ＢＵＳ５５に接続されている。
【００２２】
図２で示した参照ＰＩＮ１３、発行者公開鍵１４ａを含む発行者公開鍵証明書１４およびユーザ秘密鍵１５は、ＩＣカード１のＩＣチップに備えられたＥＥＰＲＯＭ５３に記憶される。また、ＰＩＮ照合手段１０、正当性証明メッセージ検証手段１１及びデジタル署名生成手段１２は、ＣＰＵ５０を動作させ、それぞれの手段が有する機能を実現するためのプログラムで実現され、これらのプログラムコードはＲＯＭ５２及び／又はＥＥＰＲＯＭ５３に記憶されている。
【００２３】
また、図２で示したように、ユーザが所持するクライアント２には予め正当性証明メッセージ２１と署名対象メッセージ２２がハードディスクなどの情報記憶装置に記憶されている。ユーザがクライアント２を操作してサーバ３にアクセスするときに、クライアント２には、ＩＣカード１に記憶された参照ＰＩＮ１３と照合される認証ＰＩＮ２０が入力される。
【００２４】
更に、クライアント２とネットワーク４を介して接続されたサーバ３には、ＩＣカード１に記憶されたユーザ秘密鍵と対になる公開鍵であるユーザ公開鍵３１の公開鍵証明書３０（以下、ユーザ公開鍵証明書）が記憶され、かつ、サーバは、ユーザ公開鍵３１を用いて、クライアント２から送信された署名対象メッセージ２２のデジタル署名を検証する機能を備えている。
【００２５】
ここから、ユーザが所持し、本発明が適用されたＩＣカード１の動作について説明する。図４は、署名対象メッセージ２２のデジタル署名をＩＣカード１が生成するまでの処理を示したフロー図である。この処理で最初に実行されるステップＳ１０は、ＩＣカード１が活性化されるステップである。クライアント２に備えられたリーダライタ２ａにＩＣカード１が挿入されると、リーダライタ２ａはＩＳＯ／ＩＥＣ７８１６規格で示されている手順で、ＩＣカード１を活性化する。
【００２６】
次のステップＳ１１は、ＩＣカード１がＰＩＮを照合するステップである。ＩＣカード１がＰＩＮを照合する際は、ユーザがクライアント２に入力した認証ＰＩＮ２０が含まれ、ＩＣカード１のＰＩＮ照合手段１０を実行するためのＡＰＤＵ（Application Protocol Data Unit）が、リーダライタ２ａを経由し、クライアント２からＩＣカード１に送信される。
【００２７】
ＩＣカード１は、このＡＰＤＵを受信するとＰＩＮ照合手段１０を実行させ、ＩＣカード１に記憶している参照ＰＩＮ１３と受信した認証ＰＩＮ２０を照合し、ＰＩＮを照合した結果をＲＡＭ５２の定められた領域に記憶した後、ＰＩＮの照合結果をクライアント２に返信する。
【００２８】
次のステップＳ１２は、ステップＳ１１で実行したＰＩＮの照合結果によって、処理が分岐されるステップで、ＰＩＮの照合に成功した場合はステップＳ１３に進み、ＰＩＮの照合に失敗した場合は、ＩＣカード１が署名対象メッセージ２２のデジタル署名を生成することなく、この処理は終了する。
【００２９】
ステップＳ１３は、ＩＣカード１が正当性証明メッセージ２１を検証するステップである。ＩＣカード１が正当性証明メッセージ２１を検証する際は、クライアント２に記憶されたファイルの中から、ユーザはＩＣカード１に送信する正当性証明メッセージ２１を選択し、選択された正当性証明メッセージ２１を含み、ＩＣカード１の正当性証明メッセージ検証手段１１を実行するためのＡＰＤＵが、リーダライタ２ａを経由し、クライアント２からＩＣカード１に送信される。
【００３０】
ＩＣカード１は、このＡＰＤＵを受信する正当性証明メッセージ検証手段１１を実行させ、正当性証明メッセージ検証手段１１は、発行者公開鍵証明書１４の中に記述されている発行公開鍵１４ａを用いて、受信した正当性証明メッセージ２１に付加されたデジタル署名を検証し、デジタル署名を検証した結果をＲＡＭ５２の定められた領域に記憶した後、正当性証明メッセージ２１の検証結果をクライアント２に返信する。
【００３１】
次のステップＳ１４は、ステップＳ１３で実行した正当性証明メッセージ２１の検証結果によって、処理が分岐されるステップで、正当性証明メッセージ２１の検証に成功した場合はステップＳ１５に進み、正当性証明メッセージ２１の検証に失敗した場合は、ＩＣカード１が署名対象メッセージ２２のデジタル署名を生成することなく、この処理は終了する。
【００３２】
ステップＳ１５は、ＩＣカード１が署名対象メッセージ２２のデジタル署名を生成するステップである。ＩＣカード１が署名対象メッセージ２２のデジタル署名を生成する際は、クライアント２に記憶された署名対象メッセージ２２を含み、ＩＣカード１のデジタル署名生成手段１２を実行するためのＡＰＤＵが、リーダライタ２ａを経由し、クライアント２からＩＣカード１に送信される。
【００３３】
ＩＣカード１は、このＡＰＤＵを受信するデジタル署名生成手段１２を実行させ、デジタル署名生成手段１２は、ＲＡＭ５２の定められた領域を確認し、ＰＩＮの照合と正当性証明メッセージの検証とに成功していれば、ＩＣカード１に秘匿に記憶しているユーザ秘密鍵１５を用いて、受信した署名対象メッセージ２２のデジタル署名を生成し、生成したデジタル署名をクライアント２に返信する。
【００３４】
クライアント２が、ＩＣカード１から署名対象メッセージ２２のデジタル署名を取得すると、クライアント２は、デジタル署名を付加した署名対象メッセージ２２をサーバ３に送信する。サーバ３は、デジタル署名が付加された署名対象メッセージ２２を受信すると、ユーザ公開鍵証明書３０に記述されたユーザ公開鍵３１を用いて、署名対象メッセージ２２のデジタル署名を検証し、検証に成功した場合のみ、ユーザが希望するサービスをユーザに提供する。
【図面の簡単な説明】
【００３５】
【図１】本発明を適用したＩＣカードを利用するＩＣカードシステムを説明する図。
【図２】ＩＣカードシステムのブロック図。
【図３】ＩＣカードに実装されるＩＣチップのハードウェア構成図。
【図４】署名対象メッセージのデジタル署名が生成される処理を示したフロー図。
【符号の説明】
【００３６】
１  ＩＣカード
１０  ＰＩＮ照合手段
１１  正当性証明メッセージ検証手段
１２  デジタル署名生成手段
１３  参照ＰＩＮ
１４  発行者公開鍵証明書、１４ａ  発行者公開鍵
１５  ユーザ秘密鍵
２  クライアント
２０  認証ＰＩＮ、２１  正当性証明メッセージ、２２  署名対象メッセージ
３  サーバ
３０  ユーザ公開鍵証明書、３１  ユーザ公開鍵
【図１】
2007115136.tif 000003
【図２】
2007115136.tif 000004
【図３】
2007115136.tif 000005
【図４】
2007115136.tif 000006