(57)【特許請求の範囲】
【請求項１】
ユーザの権限を証明するために証明手段からの証明情報の正当性を検証手段により検証することにより、上記ユーザの権限を認証する認証方法において、
上記証明手段が第三者には秘密の状態で第三者には秘密の時刻情報を検証手段に送信し、その後、当該秘密の時刻情報にしたがって証明情報を上記検証手段に送信し、上記検証手段は、上記証明情報を受信した時刻が、事前に上記証明手段から受け取った上記秘密の時刻情報に対応するものであり、かつ上記証明情報自体が正当なものである場合に、上記ユーザの権限を認証することを特徴とする認証方法。
【請求項２】
請求項１の認証方法において、該証明情報による認証の前に、該検証手段及び該証明手段の間でチャレンジ・レスポンスによる別の認証を行うことを特徴とする認証方法。
【請求項３】
請求項２の認証方法において、上記検証手段は、当該チャレンジ・レスポンスの認証が成功したときにサービスを提供開始させ、
上記証明情報による認証が成功したときに、上記サービスの提供を継続させ、上記証明情報による認証が失敗したときに上記サービスの提供を中止させることを特徴とする認証方法。
【請求項４】
請求項２または３に記載の認証方法において、該検証手段は該証明手段から受け取った該時間情報に基づく時刻を基準として予め定められた時間内に、該証明手段から、該証明情報を受け取ったときに、上記証明情報を受信した時刻が、事前に上記証明手段から受け取った上記秘密の時刻情報に対応するものであると判別することを特徴とする認証方法。
【請求項５】
請求項４に記載の認証方法において、該証明手段から該検証手段に送信されるレスポンスに該時間情報を結合、あるいは挿入して当該時間情報を上記証明手段から上記検証手段に送信することを特徴とする認証方法。
【請求項６】
請求項５に記載の認証方法において、該検証手段及び該証明手段の間で通信される該時間情報を所定の暗号方法により暗号化することを特徴とする認証方法。
【請求項７】
請求項５または６に記載の認証方法において、該証明情報による認証に用いる情報、該チャレンジ・レスポンスによる認証に用いる情報および該時間情報の少なくとも１つの暗号化に共通鍵暗号を用いることを特徴とする認証方法。
【請求項８】
請求項７に記載の認証方法において、暗号化に用いる共通鍵を該証明手段の公開鍵で暗号化した暗号文を、該チャレンジ・レスポンスによる認証の際に用いられるチャレンジに結合あるいは挿入して、該検証手段から該証明手段に送信することを特徴とする認証方法。
【請求項９】
請求項５または６の認証方法において、該証明情報による認証に用いる情報、該チャレンジ・レスポンスによる認証に用いる情報および該時間情報の少なくとも１つの暗号化に公開鍵暗号を用いることを特徴とする認証方法。
【請求項１０】
請求項９に記載の認証方法において、暗号化に用いる、該検証手段の公開鍵を、該検証手段から該証明手段に送信されるチャレンジに結合、あるいは挿入し、かつ暗号化に用いる、該証明手段の公開鍵を、該証明手段から該検証手段に送信されるレスポンスに結合、あるいは挿入することを特徴とする認証方法。
【請求項１１】
ユーザの権限を証明するための証明情報を送出する証明手段と、送出された上記証明情報を受け取って当該証明情報の正当性を検証する検証手段とを有し、上記検証手段による検証が成功したときに上記ユーザの権限を認証する認証装置において、
上記証明手段が第三者には秘密の状態で第三者には秘密の時刻情報を検証手段に送信し、その後、当該秘密の時刻情報にしたがって証明情報を上記検証手段に送信し、上記検証手段は、上記証明情報を受信した時刻が、事前に上記証明手段から受け取った上記秘密の時刻情報に対応するものであり、かつ上記証明情報自体が正当なものである場合に、上記ユーザの権限を認証することを特徴とする認証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はサービス対象を利用する権限をユーザが有しているかどうかを認証する技術に関する。
【０００２】
【従来の技術】
従来、サービス対象を利用する権限をユーザが有しているかどうかを認証する方法として、一般的には予め物理的なチケットやメンバーズカードを発行してもらい、サービスを享受する時点でチケットやメンバーズガードを提示する方法が取られてきた。この方法の場合、チケット等に記載された有効期限やサービスの種類等の情報を、サービス提供者がその場で確認することで、条件の確認と認証を行ってきた。しかし、チケットそのものが物理的存在であるためにチケットの配送にコストがかかったり、チケットの偽造を困難にするためにチケットの製造自体にコストがかかってしまう欠点があった。この点についてはチケットを電子化することで配送や製造にかかわるコストを低減させることが可能である。このための技術として、特開昭６２−１７１０７１号公報の「予約取引用ＩＣカード」、および特開平２−２８２８６２号公報の「電子カードによる公共サービスの支払システム」がある。しかし、これらの技術では、電子化されたチケットの利用環境によっては不正が行われる可能性がある。そのような環境としては、例えば図６に示すように、電子化されたチケットをＩＣカード１０等の媒体に保持し、さらにユーザのＰＣ１１にカードリーダ１２を接続させてＰＣ１１上でサービス提供する場合がある。このような場合、複数のＰＣ１１に接続可能なカードリーダ１２を製作し、破線で示すように、このカードリーダ１２に複数のＰＣを接続させておけば、複数人がチケットを不正に利用できることになる。すなわち、ＩＣカードを共用することにより、電子化されたチケット等を保有する特定のユーザに有限回あるいは無限回のサービスを提供する際に、本来特定のユーザのみに許可されたＰＣ上で提供されるサービスを、不特定多数のユーザが不正に利用することが可能である。従来の技術はこのような不正利用に対する防御策を持ち合わせていなかった。
【０００３】
【発明が解決しようとする課題】
本発明は、上記の問題点を考慮してなされたものであり、サービス対象を利用する権限をユーザが有しているかどうかを認証する場合に、ユーザの権限を保証するための証明手段の一つに対して正当な一人のユーザのみがサービスを利用でき、かつ複数の不正なユーザが一つの証明手段を共有することによりサービスを不正利用できないようにすることを目的としている。
【０００４】
【課題を解決するための手段】
本発明によれば、例えば、まず検証手段はサービスの提供をするか否かを決めるためにユーザには制御困難な乱数効果を持たせたチャレンジを証明手段に送付する。証明手段は、検証手段にユーザの正当性を示すために上記チャレンジに対応するレスポンスを送るとともに、検証手段と証明手段との間で第三者には秘密の時刻を共有するために、秘密の時刻をレスポンスと分離困難な状態で送付する。ユーザには制御困難な乱数効果をチャレンジに持たせてあるために、この秘密の時刻はチャレンジを送付した特定の検証手段に固有なものとなる。また、この秘密の時刻に証明手段から検証手段へ偽造が困難な情報を送り、かつ検証手段は上記情報を受取った時刻と証明手段と共有している第三者には秘密の時刻が予め定められた誤差許容時間内であることを確認することによりサービスの提供及び継続を許可する。
【０００５】
さらに本発明を説明する。本発明によれば、先の目的を達成するために、ユーザの権限を証明するために生成された証明用データの正当性を検証することにより、上記ユーザの権限を認証する認証方法において、検証手段及び証明手段の双方が共有する時間情報に従って、該証明手段から該検証手段に証明情報を送信し、該証明情報に基づき第１の認証を行うようにしいる。
【０００６】
この構成においては、秘密の時刻を検証手段と共有している正規の証明手段しか認証に成功しないので不特定の第三者が不正にサービスを教授することを防止できる。
【０００７】
この構成においては、該証明情報とは別に、該検証手段及び該証明手段の間でチャレンジ・レスポンスによる第２の認証を行うようにしてもよい。この場合、該検証手段は該証明手段から該時間情報に基づく時刻を基準として予め定められた時間内に、該証明手段から、該証明情報を受け取り、且つ該証明情報が正当なものであることを確認した場合にのみ検証の成功と見なすようにしてもよい。さらに、該証明手段から該検証手段に送信されるレスポンスに該時間情報を結合、あるいは挿入するようにしてもよい。また、該検証手段及び該証明手段の間で通信される該時間情報を所定の暗号方法により暗号化するようにしてもよい。
【０００８】
暗号化を行なう場合、該第１の認証に用いる情報、該第２の認証に用いる情報および該時間情報の少なくとも１つの暗号化に共通鍵暗号を用いるようにしてもよい。この場合、暗号化に用いる共通鍵を該証明手段の公開鍵で暗号化した暗号文を、該第２の認証の際に用いられるチャレンジに結合あるいは挿入して、該検証手段から該証明手段に送信するようにしてもよい。
【０００９】
また、暗号化を行なう場合、該第１の認証に用いる情報、該第２の認証に用いる情報および該時間情報の少なくとも１つの暗号化に公開鍵暗号を用いるようにしてもよい。この場合、暗号化に用いる、該検証手段の公開鍵を、該検証手段から該証明手段に送信されるチャレンジに結合、あるいは挿入し、かつ暗号化に用いる、該証明手段の公開鍵を、該証明手段から該検証手段に送信されるレスポンスに結合、あるいは挿入するようにしてもよい。
【００１０】
さらに、該第２の認証にゼロ知識証明方式を用いるようにしてもよい。
【００１１】
なお、本発明は少なくともその一部をソフトウェアとして実現することもでき、また、装置として実現することもできることはもちろんである。
【００１２】
【発明の実施の態様】
以下、本発明の実施例について説明する。図１はこの実施例の構成を全体として示すものであり、この図において、証明手段１００と検証手段２００との間で認証が行われる。本実施例では、検証手段２００はユーザのＰＣ上に難読化されたソフトウェアにより実現される。また、証明手段１００はタンパープルーフな容器で保護されたＩＣカード内に実現されるものとする。また該ＰＣのシリアルポートに接続されたＩＣカードリーダ（図示しない）を通じて、該ＩＣカードは該ＰＣに接続されるものとする。
【００１３】
上記証明手段１００および検証手段２００は共に暗・復号のために公開鍵暗号方式を実現する手段を装備し、それぞれの記憶手段１０１、１０２に、外部に対して秘密の状態で、それぞれの秘密鍵を保持し、また予め相手の公開鍵を保持しているとする。さらに、上記証明手段１００および検証手段２００は、それぞれの記憶手段１０１、２０１に秘密時刻情報を共有している。
【００１４】
認証の結果として所定のサービスが提供される。ユーザはＰＣの画面に表示されるユーザインターフェース上のアイコンをダブルクリックすることで、そのサービスの使用を、そのサービスを実現するための所定のプログラムＰに通知する。このとき上記所定のプログラムＰはユーザ認証のために検証手段２００を起動するものとする。
【００１５】
以下、プログラムＰが実行する手順を説明する。
【００１６】
［アルゴリズムＡ］
まず、検証手段２００が第１の認証及び第２の認証の両方に成功する、正常な場合の手順をアルゴリズムＡとして図２および図３を参照して示す。
［ステップＳ１］：ユーザはユーザインターフェース上のアイコンをダブルクリックすることでサービスの提供要求をプログラムＰに通知する。
［ステップＳ２］：プログラムＰは、検証手段を起動する。
［ステップＳ３］：検証手段２００はチャレンジＣを生成する。
［ステップＳ４］：検証手段２００はステップＳ３で生成したチャレンジＣを証明手段１００に送信する。
［ステップＳ５］：証明手段１００はステップＳ４で検証手段２００から送信されてくるチャレンジＣに対して第１レスポンスＲ１を生成する。
［ステップＳ６］：証明手段１００は秘密状態で認証情報（時間情報）を検証手段２００に送信するための時間を決定する。
［ステップＳ７］：証明手段１００はステップＳ６で決定した時間を表す情報を検証手段２００の公開鍵で暗号化する。
［ステップＳ８］：証明手段１００はステップＳ７で暗号化した時間を表す情報をステップＳ５で生成した第１レスポンスＲ１に結合し、第２レスポンス情報Ｒ２を作成する。
［ステップＳ９］：認証手段２００はステップＳ８で生成した第２レスポンス情報Ｒ２を検証手段２００の公開鍵で暗号化し、第３レスポンス情報Ｒ３（実際のレスポンス情報）を生成する。
［ステップＳ１０］：証明手段１００はステップＳ９で生成した第３レスポンス情報Ｒ３を検証手段２００に送信する。
［ステップＳ１１］：検証手段２００はステップＳ９で認証手段１００から受取った第３レスポンス情報Ｒ３を検証手段２００の秘密鍵で復号し、さらに第３レスポンス情報Ｒ３内の第１レスポンス情報Ｒ１（Ｒ１に対応する情報）を取り出す。
［ステップＳ１２］：検証手段２００は第１レスポンスＲ１の検証に成功する場合、上記所定のサービスの提供を開始し、レスポンス情報Ｒ３から時間情報を取り出し検証手段２００が所有する記憶手段２０１に保持する。
［ステップＳ１３］：証明手段１００はステップＳ６で決定した時間になると、証明手段１００の秘密鍵で署名した時間情報を検証手段２００に送信する。
［ステップＳ１４］：検証手段２００はステップＳ１３で証明手段１００から送れられる署名付き時間情報を受け取り、証明手段１００の公開鍵で復号化する。
［ステップＳ１５］：検証手段２００はステップＳ１４で検証された署名付き時間情報の内容が検証手段２００の記憶手段２０１内に保持されている時間情報と一致し、なおかつ署名付き時間情報を受取った時刻が時間情報によって定まる時刻と予め決められた誤差許容時間内で一致するかどうかを確かめる。
［ステップＳ１６］：検証手段２００はステップＳ１５の確認に成功する場合は、サービスの提供の継続を決定し、署名付き確認情報を送信する。
［ステップＳ１７］：証明手段１００はステップＳ１６で受取った署名付き確認情報を検証手段２００の公開鍵を用いて検証する。
以上のようにしてアルゴリズムＡにしたがって成功裏に認証が行われる。
【００１７】
［アルゴリズムＢ］
次に、検証手段２００がユーザの認証に失敗し、正常にサービスが提供されない場合の手順をアルゴリズムＢとして図４を参照して示す。
［ステップＳ２１］：アルゴリズムＡのステップＳ１からステップＳ１１を実行する。
［ステップＳ２２］：検証手段２００は第３レスポンス情報Ｒ３、及び第１レスポンスＲ１の検証に失敗する場合、サービスの提供を禁止する。
【００１８】
［アルゴリズムＣ］
次に、検証手段２００が上記アルゴリズムＡのステップＳ１４において証明付き時間情報の受け取りに失敗するか、ステップＳ１５において署名付き時間情報の確認に失敗する場合の手順をアルゴリズムＣとして図５を参照して示す。
［ステップＳ３１］：アルゴリズムＡのステップＳ１からステップＳ１５を実行する。
［ステップＳ３２］：検証手段２００はステップＳ１５の確認に失敗するか、署名付き時間情報の確認に失敗する場合は、サービスの提供を打ち切る。
【００１９】
上記アルゴリズムＣで、サービスＡの不正利用防止の徹底を計るために、特に次のステップＳ３３以降を加えることも有効である。
【００２０】
［ステップＳ３３］：検証手段２００はステップＳ１５の確認に失敗する場合はステップＳ３２に加えて、確認失敗のメッセージに検証手段２００の秘密鍵で署名を施し、署名付きのメッセージを証明手段１００に送信する。
［ステップＳ３４］：証明手段１００は、確認失敗の署名付きメッセージを受け取り、検証手段２００の署名を検証する。
［ステップＳ３５］：証明手段１００は、以後のユーザ認証に関わる全ての手続きを停止する。
【００２１】
以上で実施例の説明を終了する。なお、上述の実施例では暗号化手法として公開暗号方式を用いたが共通暗号方式を用いてもよい。また、相手の公開鍵や共通鍵を予め双方で保持するのではなく、公開鍵や共通鍵をチャレンジ・レスポンスの手順における情報に含ませて相手側に送るようにしてもよい。
【００２２】
【発明の効果】
以上説明したように、本発明によれば、証明手段は証明手段にチャレンジを送付した特定の検証手段との間で秘密の時刻を外部には秘密に共有することになる。このため、ただ一つの検証手段のみが証明手段にユーザの正当性の証明を要求する場合にしかサービスが提供されない。不特定多数の不正なユーザがサービスを利用しようとし証明手段に複数のチャレンジを送付する場合には、偽造が困難な情報をどのユーザの検証手段に送るべきかわからないために、正常にサービスを提供することが不可能となる。
【図面の簡単な説明】
【図１】  本発明の実施例の構成を全体として示すブロック図である。
【図２】  上述実施例における正常な手続き（アルゴリズムＡ）の一部を説明するフローチャートである。
【図３】  図２の手続きの残りを示すフローチャートである。
【図４】  上述実施例において第２の認証に失敗する場合の手続き（アルゴリズムＢ）を説明するフローチャートである。
【図５】  上述実施例において第１の認証に失敗する場合の手続き（アルゴリズムＣ）を説明するフローチャートである。
【図６】  従来の不具合を説明する図である。
【符号の説明】
１００  証明手段
２００  検証手段
１０１、２０１  記憶手段
【図１】
0003829509.tif 000002
【図２】
0003829509.tif 000003
【図３】
0003829509.tif 000004
【図４】
0003829509.tif 000005
【図５】
0003829509.tif 000006
【図６】
0003829509.tif 000007