(57)【要約】【課題】少ないデータ量で、認証処理の安全性をより向上させ、かつ連続した通信処理をおこなうこと。【解決手段】被認証装置１１０を認証する認証装置１２０において、被認証装置１１０からあらかじめ今回認証情報と、検証情報とを、取得し保持する。受信部１２１によって第１の送信情報と、第２の送信情報と、第３の送信情報と、を被認証装置１１０から受信する。第１の算出部１２２によって第１の送信情報と、保持されている今回認証情報とによって第１の認証子を算出し、第２の算出部１２４によって算出された第１の認証子と第２の送信情報と第３の送信情報とによって次回認証情報を算出する。そして、判断部１２３によって被認証装置１１０を認証すると判断され、かつ検証部１２５において次回認証情報が偽造されていないと認証された場合、更新部１２６によってメモリに保持されている情報を、第２の送信情報および次回認証情報に更新する。【選択図】図３
2010252275.tif 000002
【特許請求の範囲】
【請求項１】
第１の認証子に対して演算前の値を算出することが困難な一方向変換関数による演算をおこなって生成された今回の認証処理に用いる今回認証情報と、第２の認証子を用いて生成された次回の認証処理に用いる次回認証情報と第１の認証子に対して前記一方向変換関数による演算をおこなった検証情報とを、認証をおこなう被認証装置からあらかじめ取得し所定のメモリに保持している認証装置における認証方法であって、
前記被認証装置の認証を判断するための認証判断情報として、前記今回認証情報を用いて生成された第１の送信情報と、第３の認証子を用いて生成された次々回の認証処理に用いる次々回認証情報と前記第２の認証子とによって生成された第２の送信情報と、演算前の値を算出することが容易なマスク関数による演算をおこない、前記第１の認証子と前記第２の送信情報に対して前記一方向変換関数による演算をおこなった値で、前記次回認証情報をマスクした第３の送信情報とを、前記被認証装置から受信する受信工程と、
前記受信工程によって受信された前記第１の送信情報と、前記メモリにあらかじめ保持されている前記今回認証情報とによって、前記第１の認証子を算出する第１の算出工程と、
前記第１の算出工程によって算出された前記第１の認証子と、前記メモリにあらかじめ保持されている前記今回認証情報とに基づいて、前記被認証装置を認証するか否かを判断する判断工程と、
前記第１の算出工程によって算出された前記第１の認証子と前記受信工程によって受信された前記第２の送信情報に対して一方向変換関数をおこなった値で、前記第３の送信情報のマスクを解除することで、前記次回認証情報を算出する第２の算出工程と、
前記第１の算出工程によって算出された前記第１の認証子と前記第２の算出工程によって算出された前記今回認証情報とによって生成された値と、前記メモリにあらかじめ保持されている前記検証情報とに基づいて、前記次回認証情報が偽造されていないか否かを検証する検証工程と、
前記判断工程によって前記被認証装置を認証すると判断され、かつ前記検証工程において前記次回認証情報が偽造されていないと認証された場合、前記メモリに保持されている情報を、前記受信工程によって受信された前記第２の送信情報および第２の算出工程によって算出された前記次回認証情報に更新する更新工程と、
を含むことを特徴とする認証処理方法。
【請求項２】
前記判断工程においては、
前記第１の算出工程によって算出された前記第１の認証子に対して前記一方向変換関数による演算をおこなった値が、前記メモリにあらかじめ保持されている前記今回認証情報と一致するか否かを判断して、一致した場合に、前記被認証装置を認証することを特徴とする請求項１に記載の認証処理方法。
【請求項３】
前記受信工程においては、
前記第１の送信情報として、演算前の値を算出することが容易なマスク関数による演算をおこない、前記今回認証情報で前記第１の認証子にマスクした値を受信し、
前記第１の算出工程においては、
前記メモリにあらかじめ保持されている前記今回認証情報で、前記受信工程によって受信された前記第１の送信情報のマスクを解除することで、前記第１の認証子を算出することを特徴とする請求項１または２に記載の認証処理方法。
【請求項４】
前記受信工程においては、
前記第２の送信情報として、前記次々回認証情報と前記第２の認証子とに対して前記一方向変換関数をおこなった値を受信し、
前記検証工程においては、
前記第２の算出工程によって算出された前記今回認証情報と前記第１の算出工程によって算出された前記第１の認証子に対して前記一方向変換関数をおこなった値が、前記メモリにあらかじめ保持されている前記検証情報と一致するか否かを判断して、一致した場合に、前記被認証装置を認証することを特徴とする請求項１〜３のいずれか一つに記載の認証処理方法。
【請求項５】
認証装置に認証を要求する被認証装置における認証処理方法において、
第１の認証子に対して演算前の値を算出することが困難な一方向変換関数による演算をおこなって今回の認証処理に用いる今回認証情報を生成し、第２の認証子に対して前記一方向変換関数による演算をおこなって次回の認証処理に用いる次回認証情報を生成し、前記次回認証情報と前記第１の認証子に対して前記一方向変換関数による演算をおこなった検証情報を生成する生成工程と、
前記生成工程によって生成された前記今回認証情報と、前記検証情報とを、前記認証装置に安全な手段で送付する送付工程と、
前記第１の認証子、前記第２の認証子、前記今回認証情報および前記次回認証情報を所定のメモリに保持する保持工程と、
前記送付工程によって前記今回認証情報と、前記検証情報とを、前記認証装置に送付した後に、前記認証装置に認証を要求するための認証判断情報として、前記今回認証情報を用いて生成された第１の送信情報と、第３の認証子を用いて生成された次々回の認証処理に用いる次々回認証情報と前記第２の認証子とによって生成された第２の送信情報と、演算前の値を算出することが容易なマスク関数による演算をおこない、前記第１の認証子と前記第２の送信情報に対して前記一方向変換関数による演算をおこなった値で、前記次回認証情報をマスクした第３の送信情報とを、を算出する算出工程と、
前記算出工程によって算出された前記第１の送信情報、前記第２の送信情報および前記第２の送信情報を、前記認証装置に送信する送信工程と、
前記メモリに保持されている情報を、前記第２の認証子、前記次回認証情報、前記第３の認証子および前記次々回認証情報に更新する更新工程と、
を含むことを特徴とする認証処理方法。
【請求項６】
前記算出工程においては、
前記第１の送信情報として、演算前の値を算出することが容易なマスク関数による演算をおこない、前記今回認証情報で前記第１の認証子にマスクした値を算出することを特徴とする請求項５に記載の認証処理方法。
【請求項７】
前記算出工程においては、
前記第２の送信情報として、前記次々回認証情報と前記第２の認証子とに対して前記一方向変換関数をおこなった値を算出することを特徴とする請求項５または６に記載の認証処理方法。
【請求項８】
前記生成工程においては、
第１の乱数と第２の乱数を生成した後に、当該第１の乱数に対して前記一方向変換関数による演算をおこなった前記第１の認証子を用いて前記今回認証情報を生成し、前記第２の乱数に対して前記一方向変換関数による演算をおこなった前記第２の認証子を用いて前記次回認証情報を生成することを特徴とする請求項５〜７のいずれか一つに記載の認証処理方法。
【請求項９】
前記算出工程においては、
第３の乱数を生成した後に、当該第３の乱数に対して前記一方向変換関数による演算をおこなった前記第３の認証子を用いて前記次々回認証情報を生成することを特徴とする請求項８に記載の認証処理方法。
【請求項１０】
前記生成工程においては、
第１の乱数と第２の乱数を生成した後に、前記被認証装置に固有の認証鍵と前記第１の乱数に対して、前記一方向変換関数による演算をおこなった前記第１の認証子を用いて前記今回認証情報を生成し、前記認証鍵と前記第２の乱数に対して、前記一方向変換関数による演算をおこなった前記第２の認証子を用いて前記次回認証情報を生成することを特徴とする請求項５〜９のいずれか一つに記載の認証処理方法。
【請求項１１】
前記算出工程においては、
第３の乱数を生成した後に、前記認証鍵と前記第３の乱数に対して、前記一方向変換関数による演算をおこなった前記第３の認証子を用いて前記次々回認証情報を生成することを特徴とする請求項１０に記載の認証処理方法。
【請求項１２】
前記保持工程においては、
さらに前記第１の乱数と前記第２の乱数を前記メモリに保持し、
前記算出工程においては、
前記保持工程によって保持された前記第１の乱数と前記認証鍵とに対して前記一方向変換関数による演算をおこなった値と、前記保持工程によって保持された前記第１の認証子と、が同じである場合に、前記次々回認証情報を生成することを特徴とする請求項８〜１１のいずれか一つに記載の認証処理方法。
【請求項１３】
前記保持工程においては、
さらに前記第２の乱数を前記メモリに保持し、
前記算出工程においては、
前記保持工程によって保持された前記第２の乱数と前記認証鍵とに対して前記一方向変換関数による演算をおこなった値と、前記保持工程によって保持された前記第２の認証子と、が同じである場合に、前記次々回認証情報を生成することを特徴とする請求項８〜１１のいずれか一つに記載の認証処理方法。
【請求項１４】
請求項１〜１３のいずれか一つに記載の認証処理方法をコンピュータに実行させることを特徴とする認証処理プログラム。
【請求項１５】
請求項１４に記載の認証処理プログラムを記録したコンピュータに読み取り可能な記録媒体。
【請求項１６】
認証装置が被認証装置を認証する認証処理システムにおいて、
前記被認証装置は、
第１の認証子に対して演算前の値を算出することが困難な一方向変換関数による演算をおこなって今回の認証処理に用いる今回認証情報を生成し、第２の認証子に対して前記一方向変換関数による演算をおこなって次回の認証処理に用いる次回認証情報を生成し、前記次回認証情報と前記第１の認証子に対して前記一方向変換関数による演算をおこなった検証情報を生成する生成手段と、
前記生成手段によって生成された前記今回認証情報と、前記検証情報とを、前記認証装置に安全な手段で送付する送付手段と、
前記第１の認証子、前記第２の認証子、前記今回認証情報および前記次回認証情報を所定のメモリに保持する保持手段と、
前記送付手段によって前記今回認証情報と、前記検証情報とを、前記認証装置に送付した後に、前記認証装置に認証を要求するための認証判断情報として、前記今回認証情報を用いて生成された第１の送信情報と、第３の認証子を用いて生成された次々回の認証処理に用いる次々回認証情報と前記第２の認証子とによって生成された第２の送信情報と、演算前の値を算出することが容易なマスク関数による演算をおこない、前記第１の認証子と前記第２の送信情報に対して前記一方向変換関数による演算をおこなった値で、前記次回認証情報をマスクした第３の送信情報とを、を算出する算出手段と、
前記算出手段によって算出された前記第１の送信情報、前記第２の送信情報および前記第２の送信情報を、前記認証装置に送信する送信手段と、
前記メモリに保持されている情報を、前記第２の認証子、前記次回認証情報、前記第３の認証子および前記次々回認証情報に更新する更新手段と、
を備え、
前記認証装置は、
前記今回認証情報と、前記検証情報とを、前記被認証装置から取得し所定のメモリに保持した後に、前記被認証装置の認証を判断するための認証判断情報として、前記第１の送信情報と、前記第２の送信情報と、前記第３の送信情報とを、前記被認証装置から受信する受信手段と、
前記受信手段によって受信された前記第１の送信情報と、前記メモリにあらかじめ保持されている前記今回認証情報とによって、前記第１の認証子を算出する第１の算出手段と、
前記第１の算出手段によって算出された前記第１の認証子と、前記メモリにあらかじめ保持されている前記今回認証情報とに基づいて、前記被認証装置を認証するか否かを判断する判断手段と、
前記第１の算出手段によって算出された前記第１の認証子と前記受信手段によって受信された前記第２の送信情報に対して一方向変換関数をおこなった値で、前記第３の送信情報のマスクを解除することで、前記次回認証情報を算出する第２の算出手段と、
前記第１の算出手段によって算出された前記第１の認証子と前記第２の算出手段によって算出された前記今回認証情報とによって生成された値と、前記メモリにあらかじめ保持されている前記検証情報とに基づいて、前記次回認証情報が偽造されていないか否かを検証する検証手段と、
前記判断手段によって前記被認証装置を認証すると判断され、かつ前記検証手段において前記次回認証情報が偽造されていないと認証された場合、前記メモリに保持されている情報を、前記受信手段によって受信された前記第２の送信情報および第２の算出手段によって算出された前記次回認証情報に更新する更新手段と、
を備えることを特徴とする認証処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、今回の認証処理のときに次回の認証処理を保証する認証処理方法、認証処理プログラム、記録媒体および認証処理システムに関する。
【背景技術】
【０００２】
従来、認証者（例えば、サーバ）が被認証者（例えば、ユーザ）を認証する際に、認証者および被認証者が共通して有する秘密情報を元に認証をおこなう方法が用いられている。このため、認証者および被認証者が互いに秘密情報を安全に管理することが必要である。
【０００３】
一方、近年の認証処理システムの適用形態の多様化に伴い、公の場に設置されるサーバや、十分なセキュリティ知識を有していない者が設置したサーバなどでは、認証者側に保持されている秘密情報が第３者に盗まれる可能性がある。したがって、悪意を持った第３者が盗んだ秘密情報を用いることによって、被認証者になりすまし、容易に認証者から認証を受けることができてしまう。
【０００４】
このように、不正な認証が成功すると、機密情報が漏洩するという問題がある。また、正当な被認証者の情報が書き換えられて、正当な被認証者が認証者からの認証を受けることができなくなるという問題がある。
【０００５】
このような問題を解消する方法として、認証処理に用いる認証情報を、被認証者のみが保存する情報を用いて生成する方法が提案されている（例えば、下記特許文献１参照。）。図８は、従来の認証処理方法について示すフローチャートである。なお、以下の説明において用いる記号および数式は、下記のような意味および演算を示す。
【０００６】
ｉ            ：認証回数
Ｓ            ：ユーザ（被認証者）が秘密に保持している秘密情報
ＸＯＲ        ：排他的論理和演算
ｈ（ｘ）      ：ｘ（任意の値）に一方向変換関数を施した値
ｈ（ｘ、ｙ）  ：ｘおよびｙ（任意の値）を用いて一方向変換関数を施した値
Ｎ＿｛ｉ｝    ：ｉ回目の認証に用いる認証子を生成するための乱数
ｖ＿｛ｉ｝    ：ｉ回目の認証に用いる認証情報を生成するための任意の値（認証子）
Ｖ＿｛ｉ｝    ：ｉ回目の認証に用いる認証情報
【０００７】
図８のフローチャートに示すように、従来の認証処理方法においては、ｉ回目の認証処理において、あらかじめ被認証者が利用する被認証装置８１０が、第１の乱数Ｎ＿｛ｉ｝および秘密情報Ｓに一方向変換関数をおこなった第１の認証子ｖ＿｛ｉ｝と、第１の認証子ｖ＿｛ｉ｝に一方向変換関数をおこなった今回認証情報Ｖ＿｛ｉ｝を保持している。また、サーバなどに配置された認証装置８２０は、あらかじめ被認証装置８１０から取得した今回認証情報Ｖ＿｛ｉ｝を保持している。ここで、今回認証情報は、ｉ回目の認証処理に用いる認証情報である。
【０００８】
そして、図８のフローチャートに示すように、まず、被認証装置８１０が、乱数Ｎ＿｛ｉ＋１｝を生成する（ステップＳ８１１）。つぎに、ステップＳ８１１において生成された乱数Ｎ＿｛ｉ＋１｝を用いて、第２の認証子ｖ＿｛ｉ＋１｝と、次回の認証に用いる次回認証情報Ｖ＿｛ｉ＋１｝を生成する（ステップＳ８１２）。
【０００９】
そして、下記式（１）、（２）によって、認証者に認証を要求するための送信情報α、βを算出する（ステップＳ８１３）。
α＝Ｖ＿｛ｉ＋１｝  ＸＯＲ  Ｖ＿｛ｉ｝・・・（１）
β＝Ｖ＿｛ｉ＋１｝  ＸＯＲ  ｖ＿｛ｉ｝・・・（２）
【００１０】
つぎに、ステップＳ８１３において算出された送信情報α、βを認証装置８２０に送信する（ステップＳ８１４）。そして、認証装置８２０においては、あらかじめ保存されたＶ＿｛ｉ｝と、ステップＳ８１４において被認証装置８１０から送信された送信情報α、βを用いて、被認証装置８１０を認証する。
【００１１】
したがって、被認証装置８１０のみが保持する次回認証情報Ｖ＿｛ｉ＋１｝、またはその元となるデータ（乱数Ｎ＿｛ｉ＋１｝、秘密情報Ｓ）を用いなければ、被認証装置８１０から認証装置８２０に認証を要求するための送信情報α、βを生成することができない。このため、認証装置８２０にあらかじめ保存されている今回認証情報Ｖ＿｛ｉ｝が第３者に盗まれたとしても、送信情報α、βを算出することができず、第３者が被認証装置８１０になりすまして認証を受けることができない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−６０５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述した特許文献１の技術では、被認証装置および認証装置において、今回の認証処理が終了した後に、次回の認証に用いるための次回認証情報Ｖ＿｛ｉ＋１｝を保存する。ここで、例えば被認証装置から認証装置へ送信情報α、βが送信された際に、次回認証情報Ｖ＿｛ｉ＋１｝が偽造されている場合、被認証装置に保存される次回認証情報Ｖ＿｛ｉ＋１｝と、認証装置に保存される次回認証情報Ｖ＿｛ｉ＋１｝と、が異なる値となる。このため、次回の認証処理がおこなえず、被認証装置と認証装置との通信が途絶えてしまうという問題がある。
【００１４】
また、被認証装置から認証装置へ送信する送信情報を増やし、例えば今回の認証に用いる情報、次回の認証に用いる情報を暗号化した情報、次回の認証に用いる情報を検証するための第１の検証情報、次々回の認証に用いる情報を検証するための第２の検証情報および第１の検証情報と第２の検証情報を検証するための情報の５つの情報とすることで、次回認証情報Ｖ＿｛ｉ＋１｝が偽造されているか否かを検証する方法も考えられる。しかしながら、この方法によれば、例えばパケット毎に送信情報を付加し、認証をおこなう場合など、データ量が増え、計算量も増えるため、処理時間がかかるという問題がある。
【００１５】
この発明は、上述した従来技術による問題点を解消するため、今回の認証処理をおこなう際に、次回の認証処理を保証することができる認証処理方法、認証処理プログラム、記録媒体および認証処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかる認証処理方法は、第１の認証子に対して演算前の値を算出することが困難な一方向変換関数による演算をおこなって生成された今回の認証処理に用いる今回認証情報と、第２の認証子を用いて生成された次回の認証処理に用いる次回認証情報と第１の認証子に対して前記一方向変換関数による演算をおこなった検証情報とを、認証をおこなう被認証装置からあらかじめ取得し所定のメモリに保持している認証装置における認証方法であって、前記被認証装置の認証を判断するための認証判断情報として、前記今回認証情報を用いて生成された第１の送信情報と、第３の認証子を用いて生成された次々回の認証処理に用いる次々回認証情報と前記第２の認証子とによって生成された第２の送信情報と、演算前の値を算出することが容易なマスク関数による演算をおこない、前記第１の認証子と前記第２の送信情報に対して前記一方向変換関数による演算をおこなった値で、前記次回認証情報をマスクした第３の送信情報とを、前記被認証装置から受信する受信工程と、前記受信工程によって受信された前記第１の送信情報と、前記メモリにあらかじめ保持されている前記今回認証情報とによって、前記第１の認証子を算出する第１の算出工程と、前記第１の算出工程によって算出された前記第１の認証子と、前記メモリにあらかじめ保持されている前記今回認証情報とに基づいて、前記被認証装置を認証するか否かを判断する判断工程と、前記第１の算出工程によって算出された前記第１の認証子と前記受信工程によって受信された前記第２の送信情報に対して一方向変換関数をおこなった値で、前記第３の送信情報のマスクを解除することで、前記次回認証情報を算出する第２の算出工程と、前記第１の算出工程によって算出された前記第１の認証子と前記第２の算出工程によって算出された前記今回認証情報とによって生成された値と、前記メモリにあらかじめ保持されている前記検証情報とに基づいて、前記次回認証情報が偽造されていないか否かを検証する検証工程と、前記判断工程によって前記被認証装置を認証すると判断され、かつ前記検証工程において前記次回認証情報が偽造されていないと認証された場合、前記メモリに保持されている情報を、前記受信工程によって受信された前記第２の送信情報および第２の算出工程によって算出された前記次回認証情報に更新する更新工程と、を含むことを特徴とする。
【００１７】
この請求項１の発明によれば、悪意を有する第３者が、認証装置による認証を不正に得ようとしても、今回の認証に用いる今回認証情報の元となる認証子を知ることができず、認証装置に認証を要求する送信情報を生成することができない。このため、認証装置が被認証装置から取得した今回認証情報が第３者によって窃取されても、不正な認証がおこなわれない。また、認証装置においては、被認証装置から送信された第２の送信情報と第３の送信情報を用いて、次回の認証に用いる次回認証情報を検証することができる。したがって、今回の認証処理において次回の認証を検証することができるため、次回の認証処理において、認証が不正となり被認証装置と認証装置との間で通信が途絶えるのを防ぎ、連続した通信処理をおこなうことができる。
【００１８】
また、次々回の認証に用いる次々回認証情報を用いた送信情報を検証することができる。したがって、今回の認証処理において次々回の認証を検証することができるため、次々回の認証処理において、認証が不正となり被認証装置と認証装置との間で通信が途絶えるのを防ぎ、より確実に連続した通信処理をおこなうことができる。
【００１９】
さらに、演算前の値を算出することが容易なマスク関数による演算をおこない、第１の認証子と第２の送信情報に対して一方向変換関数による演算をおこなった値で、次回認証情報をマスクした値を第３の送信情報として受信することができる。このため、被認証者が秘密裏に保存している第１の認証子をマスクした状態でやり取りすることができる。したがって、悪意を有する第３者に送信情報が窃取されたとしても、不正な認証を防ぐことができる。
【００２０】
また、認証処理のために追加するデータ量を少なくすることができる。すなわち、少ないデータ量を追加するのみで、今回の認証処理をおこない、かつ次回の認証に用いる認証情報の検証および被認証装置から送信された送信情報の検証をおこなうことができる。
【００２１】
また、請求項２の発明にかかる認証処理方法は、請求項１に記載の発明において、前記判断工程においては、前記第１の算出工程によって算出された前記第１の認証子に対して前記一方向変換関数による演算をおこなった値が、前記メモリにあらかじめ保持されている前記今回認証情報と一致するか否かを判断して、一致した場合に、前記被認証装置を認証することを特徴とする。
【００２２】
この請求項２の発明によれば、被認証装置を認証するときに、算出された第１の認証子を用いて認証処理をおこなうことができる。このため、認証装置においては、第１の認証子を保持しなくてもよい。したがって、第１の認証子が窃取される可能性がより低下し、より確実に認証処理をおこなうことができる。
【００２３】
また、請求項３の発明にかかる認証処理方法は、請求項１または２に記載の発明において、前記受信工程においては、前記第１の送信情報として、演算前の値を算出することが容易なマスク関数による演算をおこない、前記今回認証情報で前記第１の認証子にマスクした値を受信し、前記第１の算出工程においては、前記メモリにあらかじめ保持されている前記今回認証情報で、前記受信工程によって受信された前記第１の送信情報のマスクを解除することで、前記第１の認証子を算出することを特徴とする。
【００２４】
この請求項３の発明によれば、演算前の値を算出することが容易なマスク関数による演算をおこない今回認証情報で第１の認証子にマスクした値を第１の送信情報として受信することができる。このため、被認証者が秘密裏に保存している第１の認証子をマスクした状態でやり取りすることができる。したがって、悪意を有する第３者に送信情報が窃取されたとしても、不正な認証を防ぐことができる。
【００２５】
また、請求項４の発明にかかる認証処理方法は、請求項１〜３のいずれか一つに記載の発明において、前記受信工程においては、前記第２の送信情報として、前記次々回認証情報と前記第２の認証子とに対して前記一方向変換関数をおこなった値を受信し、前記検証工程においては、前記第２の算出工程によって算出された前記今回認証情報と前記第１の算出工程によって算出された前記第１の認証子に対して前記一方向変換関数をおこなった値が、前記メモリにあらかじめ保持されている前記検証情報と一致するか否かを判断して、一致した場合に、前記被認証装置を認証することを特徴とする。
【００２６】
この請求項４の発明によれば、次々回認証情報と第２の認証子とに対して演算前の値を算出することが困難な一方向変換関数をおこなった値を第２の送信情報として受信することができる。このため、被認証者が秘密裏に保存している第２の認証子をマスクした状態でやり取りすることができる。したがって、悪意を有する第３者に送信情報が窃取されたとしても、不正な認証を防ぐことができる。
【００２７】
また、請求項５の発明にかかる認証処理方法は、認証装置に認証を要求する被認証装置における認証処理方法において、第１の認証子に対して演算前の値を算出することが困難な一方向変換関数による演算をおこなって今回の認証処理に用いる今回認証情報を生成し、第２の認証子に対して前記一方向変換関数による演算をおこなって次回の認証処理に用いる次回認証情報を生成し、前記次回認証情報と前記第１の認証子に対して前記一方向変換関数による演算をおこなった検証情報を生成する生成工程と、前記生成工程によって生成された前記今回認証情報と、前記検証情報とを、前記認証装置に安全な手段で送付する送付工程と、前記第１の認証子、前記第２の認証子、前記今回認証情報および前記次回認証情報を所定のメモリに保持する保持工程と、前記送付工程によって前記今回認証情報と、前記検証情報とを、前記認証装置に送付した後に、前記認証装置に認証を要求するための認証判断情報として、前記今回認証情報を用いて生成された第１の送信情報と、第３の認証子を用いて生成された次々回の認証処理に用いる次々回認証情報と前記第２の認証子とによって生成された第２の送信情報と、演算前の値を算出することが容易なマスク関数による演算をおこない、前記第１の認証子と前記第２の送信情報に対して前記一方向変換関数による演算をおこなった値で、前記次回認証情報をマスクした第３の送信情報とを、を算出する算出工程と、前記算出工程によって算出された前記第１の送信情報、前記第２の送信情報および前記第２の送信情報を、前記認証装置に送信する送信工程と、前記メモリに保持される情報を、前記第２の認証子、前記次回認証情報、前記第３の認証子および前記次々回認証情報に更新する更新工程と、を含むことを特徴とする。
【００２８】
この請求項５の発明によれば、悪意を有する第３者が、認証装置による認証を不正に得ようとしても、今回の認証に用いる今回認証情報の元となる認証子を知ることができず、認証装置に認証を要求する送信情報を生成することができない。このため、認証装置が被認証装置から取得した今回認証情報が第３者によって窃取されても、不正な認証がおこなわれない。また、認証装置に対して、次回認証情報を送信しておくことで、次回の認証処理を検証させることができる。したがって、今回の認証処理において次回の認証を検証させることができるため、次回の認証処理において、認証が不正となり被認証装置と認証装置との間で通信が途絶えるのを防ぎ、連続した通信処理をおこなうことができる。
【００２９】
また、次々回の認証に用いる次々回認証情報を用いた送信情報を検証させることができる。したがって、今回の認証処理において次々回の認証を検証させることができるため、次々回の認証処理において、認証が不正となり被認証装置と認証装置との間で通信が途絶えるのを防ぎ、より確実に連続した通信処理をおこなうことができる。
【００３０】
さらに、演算前の値を算出することが容易なマスク関数による演算をおこない、第１の認証子と第２の送信情報に対して一方向変換関数による演算をおこなった値で、次回認証情報をマスクした値を第３の送信情報として算出することができる。このため、被認証者が秘密裏に保存している第１の認証子をマスクした状態でやり取りすることができる。したがって、悪意を有する第３者に送信情報が窃取されたとしても、不正な認証を防ぐことができる。
【００３１】
また、認証処理のために追加するデータ量を少なくすることができる。すなわち、少ないデータ量を追加するのみで、今回の認証処理をおこない、かつ次回の認証に用いる認証情報の検証および被認証装置から送信された送信情報の検証をおこなうことができる。
【００３２】
また、請求項６の発明にかかる認証処理方法は、請求項５に記載の発明において、前記算出工程においては、前記第１の送信情報として、演算前の値を算出することが容易なマスク関数による演算をおこない、前記今回認証情報で前記第１の認証子にマスクした値を算出することを特徴とする。
【００３３】
この請求項６の発明によれば、演算前の値を算出することが容易なマスク関数による演算をおこない、前記今回認証情報で前記第１の認証子にマスクした値を１の送信情報として算出することができる。このため、認証装置に、第１の認証子を保持させなくてもよい。したがって、第１の認証子が窃取される可能性がより低下し、より確実に認証処理をおこなうことができる。
【００３４】
また、請求項７の発明にかかる認証処理方法は、請求項５または６に記載の発明において、前記算出工程においては、前記第２の送信情報として、前記次々回認証情報と前記第２の認証子とに対して前記一方向変換関数をおこなった値を算出することを特徴とする。
【００３５】
この請求項７の発明によれば、次々回認証情報と第２の認証子とに対して演算前の値を算出することが困難な一方向変換関数をおこなった値を第２の送信情報として算出することができる。このため、被認証者が秘密裏に保存している第２の認証子をマスクした状態でやり取りすることができる。したがって、悪意を有する第３者に送信情報が窃取されたとしても、不正な認証を防ぐことができる。
【００３６】
また、請求項８の発明にかかる認証処理方法は、請求項５〜７のいずれか一つに記載の発明において、前記生成工程においては、第１の乱数と第２の乱数を生成した後に、当該第１の乱数に対して前記一方向変換関数による演算をおこなった前記第１の認証子を用いて前記今回認証情報を生成し、前記第２の乱数に対して前記一方向変換関数による演算をおこなった前記第２の認証子を用いて前記次回認証情報を生成することを特徴とする。
【００３７】
この請求項８の発明によれば、生成工程において、乱数を生成した後に、この乱数に対して一方向変換関数による演算をおこなった認証子を用いて認証情報を生成することができる。このため、第３者にとって容易に生成できない乱数を用いて認証子を生成することができ、第３者による認証子の偽造を防ぐことができる。したがって、悪意を有する第３者のなりすましを防ぎ、不正な認証を防ぐことができる。
【００３８】
また、請求項９の発明にかかる認証処理方法は、請求項８に記載の発明において、前記算出工程においては、第３の乱数を生成した後に、当該第３の乱数に対して前記一方向変換関数による演算をおこなった前記第３の認証子を用いて前記次々回認証情報を生成することを特徴とする。
【００３９】
この請求項９の発明によれば、算出工程において、送信情報を算出する前に、第３の乱数を生成し、この第３の乱数に対して一方向変換関数による演算をおこなった第３の認証子を用いて次々回認証情報を生成する。そして、この次々回認証情報を用いて送信情報を算出することができる。このため、第３者にとって容易に生成できない乱数を用いて送信情報を生成することができ、第３者による送信情報の偽造を防ぐことができる。したがって、悪意を有する第３者のなりすましを防ぎ、不正な認証を防ぐことができる。
【００４０】
また、請求項１０の発明にかかる認証処理方法は、請求項５〜９のいずれか一つに記載の発明において、前記生成工程においては、第１の乱数と第２の乱数を生成した後に、前記被認証装置に固有の認証鍵と前記第１の乱数に対して、前記一方向変換関数による演算をおこなった前記第１の認証子を用いて前記今回認証情報を生成し、前記認証鍵と前記第２の乱数に対して、前記一方向変換関数による演算をおこなった前記第２の認証子を用いて前記次回認証情報を生成することを特徴とする。
【００４１】
この請求項１０の発明によれば、生成工程において、乱数を生成した後に、被認証装置に固有の認証鍵と乱数に対して、一方向変換関数による演算をおこなった認証子を用いて認証情報を生成することができる。このため、被認証装置に固有の認証鍵を持たない第３者が送信情報を偽造することを防ぐことができる。したがって、悪意を有する第３者のなりすましを防ぎ、不正な認証をより確実に防ぐことができる。
【００４２】
また、請求項１１の発明にかかる認証処理方法は、請求項１０に記載の発明において、前記算出工程においては、第３の乱数を生成した後に、前記認証鍵と前記第３の乱数に対して、前記一方向変換関数による演算をおこなった前記第３の認証子を用いて前記次々回認証情報を生成することを特徴とする。
【００４３】
この請求項１１の発明によれば、算出工程において、送信情報を算出する前に、第３の乱数を生成し、この第３の乱数と被認証装置に固有の認証鍵とに対して一方向変換関数による演算をおこなった第３の認証子を用いて次々回認証情報を生成する。そして、この次々回認証情報を用いて送信情報を算出することができる。このため、被認証装置に固有の認証鍵を持たない第３者が認証子を偽造することを防ぐことができる。したがって、悪意を有する第３者のなりすましを防ぎ、不正な認証をより確実に防ぐことができる。
【００４４】
また、請求項１２の発明にかかる認証処理方法は、請求項８〜１１のいずれか一つに記載の発明において、前記保持工程においては、さらに前記第１の乱数と前記第２の乱数を前記メモリに保持し、前記算出工程においては、前記保持工程によって保持された前記第１の乱数と前記認証鍵とに対して前記一方向変換関数による演算をおこなった値と、前記保持工程によって保持された前記第１の認証子と、が同じである場合に、前記次々回認証情報を生成することを特徴とする。
【００４５】
また、請求項１３の発明にかかる認証処理方法は、請求項８〜１１のいずれか一つに記載の発明において、前記保持工程においては、さらに前記第２の乱数を前記メモリに保持し、前記算出工程においては、前記保持工程によって保持された前記第２の乱数と前記認証鍵とに対して前記一方向変換関数による演算をおこなった値と、前記保持工程によって保持された前記第２の認証子と、が同じである場合に、前記次々回認証情報を生成することを特徴とする。
【００４６】
この請求項１２または１３の発明によれば、算出工程において送信情報を算出する前に、被認証装置を操作する被認証者が初期登録時の被認証者と同一か否かを判断することができる。このため、被認証装置を初期登録時と異なる第３者が使用している場合に、不正な認証を防ぐことができる。
【００４７】
また、請求項１４の発明にかかる認証処理プログラムは、請求項１〜１３のいずれか一つに記載の認証処理方法をコンピュータに実行させることを特徴とする。
【００４８】
この請求項１４の発明によれば、請求項１〜１３のいずれか一つに記載の認証処理方法をコンピュータに実行させることができる。
【００４９】
また、請求項１５の発明にかかる記録媒体は、請求項１４に記載の認証処理プログラムをコンピュータに読み取り可能な状態で記録したことを特徴とする。
【００５０】
この請求項１５の発明によれば、請求項１４に記載の認証処理プログラムをコンピュータに読み取らせることができる。
【００５１】
また、請求項１６の発明にかかる認証処理システムは、認証装置が被認証装置を認証する認証処理システムにおいて、前記被認証装置は、第１の認証子に対して演算前の値を算出することが困難な一方向変換関数による演算をおこなって今回の認証処理に用いる今回認証情報を生成し、第２の認証子に対して前記一方向変換関数による演算をおこなって次回の認証処理に用いる次回認証情報を生成し、前記次回認証情報と前記第１の認証子に対して前記一方向変換関数による演算をおこなった検証情報を生成する生成手段と、前記生成手段によって生成された前記今回認証情報と、前記検証情報とを、前記認証装置に安全な手段で送付する送付手段と、前記第１の認証子、前記第２の認証子、前記今回認証情報および前記次回認証情報を所定のメモリに保持する保持手段と、前記送付手段によって前記今回認証情報と、前記検証情報とを、前記認証装置に送付した後に、前記認証装置に認証を要求するための認証判断情報として、前記今回認証情報を用いて生成された第１の送信情報と、第３の認証子を用いて生成された次々回の認証処理に用いる次々回認証情報と前記第２の認証子とによって生成された第２の送信情報と、演算前の値を算出することが容易なマスク関数による演算をおこない、前記第１の認証子と前記第２の送信情報に対して前記一方向変換関数による演算をおこなった値で、前記次回認証情報をマスクした第３の送信情報とを、を算出する算出手段と、前記算出手段によって算出された前記第１の送信情報、前記第２の送信情報および前記第２の送信情報を、前記認証装置に送信する送信手段と、前記メモリに保持されている情報を、前記第２の認証子、前記次回認証情報、前記第３の認証子および前記次々回認証情報に更新する更新手段と、を備え、前記認証装置は、前記今回認証情報と、前記検証情報とを、前記被認証装置から取得し所定のメモリに保持した後に、前記被認証装置の認証を判断するための認証判断情報として、前記第１の送信情報と、前記第２の送信情報と、前記第３の送信情報とを、前記被認証装置から受信する受信手段と、前記受信手段によって受信された前記第１の送信情報と、前記メモリにあらかじめ保持されている前記今回認証情報とによって、前記第１の認証子を算出する第１の算出手段と、前記第１の算出手段によって算出された前記第１の認証子と、前記メモリにあらかじめ保持されている前記今回認証情報とに基づいて、前記被認証装置を認証するか否かを判断する判断手段と、前記第１の算出手段によって算出された前記第１の認証子と前記受信手段によって受信された前記第２の送信情報に対して一方向変換関数をおこなった値で、前記第３の送信情報のマスクを解除することで、前記次回認証情報を算出する第２の算出手段と、前記第１の算出手段によって算出された前記第１の認証子と前記第２の算出手段によって算出された前記今回認証情報とによって生成された値と、前記メモリにあらかじめ保持されている前記検証情報とに基づいて、前記次回認証情報が偽造されていないか否かを検証する検証手段と、前記判断手段によって前記被認証装置を認証すると判断され、かつ前記検証手段において前記次回認証情報が偽造されていないと認証された場合、前記メモリに保持されている情報を、前記受信手段によって受信された前記第２の送信情報および第２の算出手段によって算出された前記次回認証情報に更新する更新手段と、を備えることを特徴とする。
【００５２】
この請求項１６の発明によれば、悪意を有する第３者が、認証装置による認証を不正に得ようとしても、今回の認証に用いる今回認証情報の元となる認証子を知ることができず、認証装置に認証を要求する送信情報を生成することができない。このため、認証装置が被認証装置から取得した今回認証情報が第３者によって窃取されても、不正な認証がおこなわれない。また、認証装置においては、被認証装置から送信された第２の送信情報と第３の送信情報を用いて、次回の認証に用いる次回認証情報を検証することができる。したがって、今回の認証処理において次回の認証を検証することができるため、次回の認証処理において、認証が不正となり被認証装置と認証装置との間で通信が途絶えるのを防ぎ、連続した通信処理をおこなうことができる。
【００５３】
また、次々回の認証に用いる次々回認証情報を用いた送信情報を検証することができる。したがって、今回の認証処理において次々回の認証を検証することができるため、次々回の認証処理において、認証が不正となり被認証装置と認証装置との間で通信が途絶えるのを防ぎ、より確実に連続した通信処理をおこなうことができる。
【００５４】
さらに、演算前の値を算出することが容易なマスク関数による演算をおこない、第１の認証子と第２の送信情報に対して一方向変換関数による演算をおこなった値で、次回認証情報をマスクした値を第３の送信情報として受信することができる。このため、被認証者が秘密裏に保存している第１の認証子をマスクした状態でやり取りすることができる。したがって、悪意を有する第３者に送信情報が窃取されたとしても、不正な認証を防ぐことができる。
【００５５】
また、認証処理のために追加するデータ量を少なくすることができる。すなわち、少ないデータ量を追加するのみで、今回の認証処理をおこない、かつ次回の認証に用いる認証情報の検証および被認証装置から送信された送信情報の検証をおこなうことができる。
【発明の効果】
【００５６】
本発明にかかる認証処理方法、認証処理プログラム、記録媒体および認証処理システムによれば、少ないデータ量で、認証処理の安全性をより向上させ、かつ連続した通信処理をおこなうことができるという効果を奏する。
【図面の簡単な説明】
【００５７】
【図１】認証処理システムの構成について示す説明図である。
【図２】被認証装置および認証装置のハードウェア構成の一例を示すブロック図である。
【図３】認証処理システムを構成する被認証装置および認証装置の機能的構成を示すブロック図である。
【図４】実施の形態１にかかる認証処理における、被認証者による初期登録処理の手順について示すフローチャートである。
【図５】実施の形態１にかかる認証処理における、ｉ回目の認証処理について示すフローチャートである。
【図６】実施の形態２にかかる認証処理における、被認証者による初期登録処理の手順について示すフローチャートである。
【図７】実施の形態２にかかる認証処理における、ｉ回目の認証処理について示すフローチャートである。
【図８】従来の認証処理方法について示すフローチャートである。
【発明を実施するための形態】
【００５８】
以下に添付図面を参照して、この発明にかかる認証処理方法、認証処理プログラム、記録媒体および認証処理システムの好適な実施の形態を詳細に説明する。なお、以下の実施の形態の説明およびすべての添付図面において、同様の構成には同一の符号を付し、重複する説明を省略する。
【００５９】
（実施の形態１）
まず、本実施の形態にかかる認証処理システムの構成について説明する。図１は、認証処理システムの構成について示す概要図である。なお、以下に説明する実施の形態１〜３において、認証処理システムのシステム構成、ハードウェア構成、機能的構成（図１〜３に相当）は共通である。
【００６０】
図１は、認証処理システムの構成について示す説明図である。図１に示すように、認証処理システム１００は、ユーザが利用する被認証装置１１０（１１０ａ〜１１０ｆ）と、サーバに配置された認証装置１２０と、によって構成される。ここで、ユーザは認証者に認証を要求する被認証者であり、サーバは被認証者を認証する認証者である。また、被認証装置１１０ａ〜１１０ｆおよび認証装置１２０は、ネットワーク１３０によって接続されている。
【００６１】
認証処理システム１００において、ユーザは、被認証装置１１０から認証装置１２０に認証を要求し、認証装置１２０によって認証されることで、この認証装置１２０が配置されているサーバが提供する所定のサービス（例えばデータ通信接続サービス、ゲート通過許可、コンテンツ提供など）を受けることができる。以下、認証装置１２０が被認証装置１１０を認証した場合（認証が成立した場合）は、ユーザとサーバとの間で相互接続を開始するものとする。なお、詳細な処理の説明は省略するが、さらなる安全性の向上のため、ユーザが利用する被認証装置１１０が、認証装置１２０を認証する機能を果たしてもよい。すなわち、サーバがユーザを認証するとともに、ユーザ側からも認証要求先のサーバが正当な者であるかを認証する、相互認証をおこなってもよい。
【００６２】
（被認証装置および認証装置のハードウェア構成）
つぎに、認証処理システム１００を構成する被認証装置１１０および認証装置１２０のハードウェア構成について説明する。図２は、被認証装置および認証装置のハードウェア構成の一例を示すブロック図である。なお、以下では説明の便宜上、被認証装置１１０および認証装置１２０は同一のハードウェア構成を有するものとする。
【００６３】
図２において、ＣＰＵ２１１は、被認証装置１１０または認証装置１２０の全体を制御する。ＲＯＭ２１２には、基本入出力プログラムが記憶されており、ＲＡＭ２１３は、ＣＰＵ２１１のワークエリアとして使用される。
【００６４】
また、ＨＤＤ（ハードディスクドライブ）２１４は、ＣＰＵ２１１の制御にしたがってＨＤ（ハードディスク）２１５に対するデータのリード／ライトを制御する。そして、ＨＤ２１５は、ＨＤＤ２１４の制御にしたがって書き込まれたデータを記憶する。また、ＦＤＤ（フレキシブルディスクドライブ）２１６は、ＣＰＵ２１１の制御にしたがってＦＤ（フレキシブルディスク）２１７に対するデータのリード／ライトを制御する。そして、ＦＤ２１７は、被認証装置１１０または認証装置１２０から着脱自在であり、ＦＤＤ２１６の制御にしたがって書き込まれたデータを記憶する。
【００６５】
また、ディスプレイ２１８は、カーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示する。通信Ｉ／Ｆ（インターフェース）２１９は、ネットワーク１３０に接続され、自装置のインターフェースとしての機能を果たし、他の装置（被認証装置１１０または認証装置１２０のいずれか）とのデータの送受信を可能にする。また、キーボード２２０は、文字、数値、各種指示などの入力のための複数のキーを備えている。また、マウス２２１は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを可能にする。
【００６６】
スキャナ２２２は、文字や画像を光学的に読み取り、プリンタ２２３は、文字や画像を用紙上に印刷する。ＣＤ−ＲＯＭ２２４は、被認証装置１１０または認証装置１２０から着脱可能な記録媒体であり、ＣＤ−ＲＯＭドライブ２２５は、ＣＤ−ＲＯＭ２２４に対するデータのリードを制御する。上述した各構成部２１１〜２２５は、共通のバス（またはケーブル）２２６によって、それぞれ接続されている。
【００６７】
つぎに、本実施の形態にかかる認証処理システム１００の機能的構成について説明する。図３は、認証処理システムを構成する被認証装置および認証装置の機能的構成を示すブロック図である。
【００６８】
被認証装置１１０は、生成部１１１と、送付部１１２と、保持部１１３と、算出部１１４と、送信部１１５と、更新部１１６と、によって構成される。生成部１１１は、第１の認証子（後述するｖ＿｛ｉ｝）を用いて今回の認証処理に用いる今回認証情報（後述するＶ＿｛ｉ｝）を生成する。また、生成部１１１は、第２の認証子（後述するｖ＿｛ｉ＋１｝）を用いて次回の認証処理に用いる次回認証情報（後述するＶ＿｛ｉ＋１｝）を生成する。生成部１１１は、具体的には、第１の認証子または第２の認証子に対して、演算前の値を算出することが困難な一方向変換関数による演算をおこなうことによって今回認証情報または次回認証情報を生成する。さらに、生成部１１１は、次回認証情報と第１の認証子に対して一方向変換関数による演算をおこなった検証情報（後述するγ＿｛ｉ｝）を生成する。
【００６９】
また、生成部１１１は、第１の乱数と第２の乱数を生成した後に、生成された第１の乱数（または、第１の乱数と自装置に固有の認証鍵）に対して一方向変換関数による演算をおこなうことで、第１の認証子を生成する。そして、この第１の認証子に対して一方向変換関数による演算をおこなうことによって今回認証情報を生成する。また、生成部１１１は、生成された第２の乱数（または、第２の乱数と自装置に固有の認証鍵）に対して一方向変換関数による演算をおこなうことで、第２の認証子を生成する。そして、この第２の認証子に対して一方向変換関数による演算をおこなうことによって次回認証情報を生成する。
【００７０】
ここで、一方向変換関数とは、演算前の値を算出することが困難な関数である。具体的には、例えばある２つの値（ｘ、ｙとする）をその関数によって演算した場合、その演算結果の値（ｚとする）と、ある２つの値のうち一つ（例えば、ｘ）がわかっていても、それらからもう一つの値（ｙ）を算出することが困難な関数である。すなわち、一方向変換関数をｈとしたとき、ｘ、ｙをｈによって演算した値をｚとすると、ｚは、ｚ＝ｈ（ｘ、ｙ）と表せる。このとき、ｘ、ｚからｙを算出することが困難な関数である。
【００７１】
送付部１１２は、生成部１１１によって生成された今回認証情報および検証情報を、認証装置１２０に安全な手段で送付する。ここで、安全な手段とは、例えば当該情報の専用線による送信や、当該情報を記憶した記憶媒体の郵送による送付など、当該情報が認証装置１２０および被認証装置１１０の利用者以外の第３者に知得されないような送付の手段である。
【００７２】
保持部１１３は、所定のメモリを有し、このメモリに、第１の認証子、第２の認証子、今回認証情報および次回認証情報を保持する。また、保持部１１３は、さらに第１の乱数と第２の乱数をメモリに保持してもよい。
【００７３】
算出部１１４は、生成部１１１によって生成された今回認証情報を用いて、認証装置１２０に認証を要求するための認証判断情報として、第１の送信情報を算出する。具体的には、算出部１１４は、演算前の値を算出することが容易なマスク関数による演算をおこない、今回認証情報で第１の認証子にマスクした第１の送信情報を算出する。
【００７４】
ここで、マスク関数とは、２度同じ演算をすると、元の値が演算結果となる関数であり、例えば、排他的論理和演算（ＸＯＲ）が該当する。以下、マスク関数は排他的論理和演算として説明する。
【００７５】
また、算出部１１４は、第３の認証子を用いて次々回の認証処理に用いる次々回認証情報を生成した後に、各送信情報を検証させるための送信検証情報として、次々回認証情報と第２の認証子とによって生成された第２の送信情報を生成する。具体的には、算出部１１４は、次々回認証情報と第２の認証子とに対して一方向変換関数をおこなった第２の送信情報を算出する。
【００７６】
また、算出部１１４は、マスク関数による演算をおこない、第１の認証子と第２の送信情報に対して一方向変換関数による演算をおこなった値で、次回認証情報をマスクした第３の送信情報を生成する。
【００７７】
また、算出部１１４は、保持部１１３によってメモリに乱数が保持された場合、保持部１１３によってメモリに保持された第１の乱数（または、第２の乱数）と認証鍵とに対して一方向変換関数による演算をおこなった値と、保持部１１３によってメモリに保持された第１の認証子（または、第２の認証子）と、が同じである場合に、次々回認証情報の生成を開始してもよい。
【００７８】
送信部１１５は、算出部１１４によって算出された第１の送信情報、第２の送信情報および第３の送信情報を認証装置１２０に送信する。送信部１１５は、例えばネットワーク１３０を介して上述した各送信情報を認証装置１２０に送信する。
【００７９】
更新部１１６は、メモリに保持される情報を、第２の認証子、次回認証情報、第３の認証子および次々回認証情報に更新する。さらに、更新部１１６は、メモリに保持された第１の乱数と第２の乱数を、第２の乱数と第３の乱数に更新してもよい。
【００８０】
認証装置１２０は、受信部１２１と、第１の算出部１２２と、判断部１２３と、第２の算出部１２４と、検証部１２５と、更新部１２６と、によって構成される。ここで、認証装置１２０は、今回認証情報と、検証情報とを、被認証装置１１０からあらかじめ取得し所定のメモリに保持していることとする。
【００８１】
受信部１２１は、被認証装置１１０の認証を判断するための認証判断情報として、第１の送信情報と、第２の送信情報と、第３の送信情報と、を被認証装置１１０から受信する。
【００８２】
第１の算出部１２２は、受信部１２１によって受信された第１の送信情報と、メモリにあらかじめ保持されている今回認証情報とによって、第１の認証子を算出する。具体的には、第１の算出部１２２は、受信部１２１によって、第１の送信情報として、演算前の値を算出することが容易なマスク関数による演算をおこない、今回認証情報で第１の認証子にマスクした値を受信した場合、メモリにあらかじめ保持されている今回認証情報で、受信部１２１によって受信された第１の送信情報のマスクを解除することで、第１の認証子を算出する。
【００８３】
判断部１２３は、第１の算出部１２２によって算出された第１の認証子に対して一方向変換関数による演算をおこなった値が、メモリにあらかじめ保持されている今回認証情報と一致するか否かを判断して、一致した場合に、被認証装置１１０を認証する。具体的には、判断部１２３は、第１の算出部１２２によって算出された第１の認証子に対して一方向変換関数による演算をおこなった値が、メモリにあらかじめ保持されている今回認証情報と一致するか否かを判断して、一致した場合に、被認証装置１１０を認証する。
【００８４】
検証部１２５は、判断部１２３によって被認証装置１１０を認証すると判断された場合、メモリにあらかじめ保持されている検証情報と、受信部１２１によって受信された第２の送信情報とが一致するか否かを検証して、一致した場合に、次回認証情報が偽造されていないと認証する。
【００８５】
検証部１２５は、具体的には、受信部１２１において、第２の送信情報として、次々回認証情報と第２の認証子とに対して一方向変換関数をおこなった値を受信した場合、第２の算出部１２４によって算出された今回認証情報と第１の算出部１２２によって算出された第１の認証子に対して一方向変換関数をおこなった値が、メモリにあらかじめ保持されている検証情報と一致するか否かを判断して、一致した場合に、被認証装置１１０を認証する。
【００８６】
第２の算出部１２４は、第１の算出部１２２によって算出された第１の認証子と受信部１２１によって受信された第２の送信情報に対して一方向変換関数をおこなった値で、第３の送信情報のマスクを解除することで、次回認証情報を算出する。
【００８７】
検証部１２５は、第１の算出部１２２によって算出された第１の認証子と第２の算出部１２４によって算出された今回認証情報とによって生成された値と、メモリにあらかじめ保持されている検証情報とに基づいて、次回認証情報が偽造されていないか否かを検証する
。
【００８８】
また、検証部１２５は、受信部１２１によって第２の送信情報として、次々回認証情報と第２の認証子とに対して一方向変換関数をおこなった値を受信した場合、第２の算出部１２４によって算出された今回認証情報と第１の算出部１２２によって算出された第１の認証子に対して一方向変換関数をおこなった値が、メモリにあらかじめ保持されている検証情報と一致するか否かを判断して、一致した場合に、被認証装置１１０を認証する。
【００８９】
更新部１２６は、判断部１２３によって被認証装置１１０を認証すると判断され、かつ検証部１２５において次回認証情報が偽造されていないと認証された場合、メモリに保持される情報を、受信部１２１によって受信された第２の送信情報および第２の算出部１２４によって算出された次回認証情報に更新する。
【００９０】
なお、上記各部は各装置のＨＤ２１５やＦＤ２１７、あるいはＣＤ−ＲＯＭ２２４などの各種記録媒体からＲＡＭ２１３に読み出されたプログラムの命令にしたがって、ＣＰＵ２１１などが命令処理を実行することにより、それぞれの機能を実現する。
【００９１】
＜初期登録処理について＞
まず、実施の形態１にかかる認証処理における、被認証者による初期登録処理の手順について説明する。なお、以下の説明において用いる記号および数式は、下記のような意味および演算を示す。
【００９２】
ｉ            ：認証回数
Ｓ            ：ユーザ（被認証者）が秘密に保持している秘密情報（例えばパスワード情報など）
ｈ（ｘ）        ：ｘ（任意の値）に一方向変換関数を施した値
ｈ（ｘ、ｙ）    ：ｘおよびｙ（任意の値）を用いて一方向変換関数を施した値
ｍ＿｛ｙ｝（ｘ）：ｘにｙでマスクを施した値（例えば、暗号方式や排他的論理和演算を用い、ｅ＿｛ｙ｝（ｘ）やｘ  ＸＯＲ  ｙのように演算した値）
ｎ＿｛ｙ｝（ｘ）：ｘでｙのマスクを解除した値（但し、演算方法はマスクを施したときの方法と同じ方法とする。）
Ｎ＿｛ｉ｝      ：ｉ回目の認証に用いる認証子を生成するための乱数
ｖ＿｛ｉ｝      ：ｉ回目の認証に用いる認証情報を生成するための任意の値（認証子）
Ｖ＿｛ｉ｝      ：ｉ回目の認証に用いる認証情報
【００９３】
ここで、ｍ＿｛ｙ｝（ｘ）において、ｘ、ｙはそれぞれ複数の値を用いてもよい。例えば、ｍ＿｛ｑ，ｒ｝（ｏ，ｐ）は、ｏ，ｐにｑ，ｒでマスクを施した値である。ｑやｒは、暗号鍵の引数であり、どのように用いてもかまわない。例えば、ｑ  ＸＯＲ  ｒ，ｈ（ｑ，ｒ）やｍ＿｛ｒ｝（ｑ）によって演算をおこなった値を暗号鍵として用いてもよい。また、同様に、ｎ＿｛ｙ｝（ｘ）において、ｙはそれぞれ複数の値を用いてもよい。例えば、ｎ＿｛ｑ，ｒ｝（ｏ）は、ｏでｑ，ｒのマスクを解除した結果を意味する。ｑ，ｒによる鍵の生成方法は暗号化のときの鍵生成方法と同じとする。
【００９４】
図４は、実施の形態１にかかる認証処理における、被認証者による初期登録処理の手順について示すフローチャートである。図４において、まず被認証装置１１０は、乱数Ｎ＿｛１｝、Ｎ＿｛２｝を生成する（ステップＳ４１１）。ここで、乱数Ｎ＿｛ｉ｝は、ｉ回目の認証に用いる認証子を生成するための乱数である。
【００９５】
ついで、ステップＳ４１１において生成された乱数Ｎ＿｛１｝、Ｎ＿｛２｝と、秘密情報Ｓとを用いて、下記式（３）によって、認証子ｖ＿｛１｝、ｖ＿｛２｝を生成する（ステップＳ４１２）。ここで、認証子ｖ＿｛ｉ｝は、ｉ回目の認証に用いる認証情報を生成するための任意の値である。
ｖ＿｛ｉ｝＝ｈ（Ｎ＿｛ｉ｝，Ｓ）・・・（３）
【００９６】
また、ステップＳ４１２においては、秘密情報Ｓを用いずに、下記式（４）によって、認証子ｖ＿｛１｝、ｖ＿｛２｝を生成してもよい。
ｖ＿｛ｉ｝＝ｈ（Ｎ＿｛ｉ｝）・・・（４）
【００９７】
ついで、ステップＳ４１２において生成された認証子ｖ＿｛１｝、ｖ＿｛２｝を用いて、下記式（５）によって認証情報Ｖ＿｛１｝、Ｖ＿｛２｝を生成する（ステップＳ４１３）。ここで、認証情報Ｖ＿｛ｉ｝は、ｉ回目の認証に用いる認証情報である。具体的には、認証情報Ｖ＿｛１｝は、初回（ｉ＝１）の認証に用いる初回（今回）認証情報である。また、認証情報Ｖ＿｛２｝は、次回（ｉ＋１）の認証に用いる次回認証情報である。
Ｖ＿｛ｉ｝＝ｈ（ｖ＿｛ｉ｝）・・・（５）
【００９８】
さらに、ステップＳ４１２において生成されたｖ＿｛１｝とステップＳ４１３において生成されたＶ＿｛２｝を用いて、下記式（６）によって、検証情報γ＿｛１｝を生成する（ステップＳ４１４）。ここで、検証情報γ＿｛ｉ｝は、第３者による次回認証情報Ｖ＿｛ｉ＋１｝の偽造を検証するための情報である。
γ＿｛ｉ｝＝ｈ（Ｖ＿｛ｉ＋１｝，ｖ＿｛ｉ｝）・・・（６）
【００９９】
つぎに、初回認証情報Ｖ＿｛１｝と、検証情報γ＿｛１｝とを、安全な手段によって認証装置１２０に送信する（ステップＳ４１５）。ここで、安全な手段とは、当該情報の専用線による送信や、当該情報を記憶した記憶媒体の郵送による送付などの手段である。そして、認証子ｖ＿｛１｝、ｖ＿｛２｝、初回認証情報Ｖ＿｛１｝および次回認証情報Ｖ＿｛２｝を所定のメモリに保存して（ステップＳ４１６）、被認証装置１１０における一連の処理を終了する。
【０１００】
認証装置１２０においては、ステップＳ４１５において被認証装置１１０から送付された、初回認証情報Ｖ＿｛１｝および検証情報γ＿｛１｝を所定のメモリに保存して（ステップＳ４２１）、一連の処理を終了する。以上のような処理によって、被認証装置１１０が認証装置１２０に初期登録される。
【０１０１】
＜認証処理について＞
つぎに、実施の形態１にかかる認証処理における、ｉ回目の認証処理について説明する。図５は、実施の形態１にかかる認証処理における、ｉ回目の認証処理について示すフローチャートである。このとき、被認証装置１１０に保存されている情報は、認証子ｖ＿｛ｉ｝、ｖ＿｛ｉ＋１｝と、今回認証情報Ｖ＿｛ｉ｝および次回認証情報Ｖ＿｛ｉ＋１｝であり、認証装置１２０に保存されている情報は、今回認証情報Ｖ＿｛ｉ｝および検証情報γ＿｛ｉ｝である。
【０１０２】
図５のフローチャートにおいて、まず、被認証装置１１０は、乱数Ｎ＿｛ｉ＋２｝を生成する（ステップＳ５１１）。ついで、ステップＳ５１１において生成された乱数Ｎ＿｛ｉ＋２｝と、秘密情報Ｓとを用いて、前述の式（３）、（５）によって、認証子ｖ＿｛ｉ＋２｝および認証情報Ｖ＿｛ｉ＋２｝を生成する（ステップＳ５１２）。ステップＳ５１２において認証情報Ｖ＿｛ｉ＋２｝は、次々回（ｉ＋２）の認証に用いる次々回認証情報である。
【０１０３】
また、ステップＳ５１２においては、秘密情報Ｓを用いずに、前述の式（４）によって、認証子ｖ＿｛ｉ＋２｝を生成し、この認証子ｖ＿｛ｉ＋２｝を用いて次々回認証情報Ｖ＿｛ｉ＋２｝を生成してもよい。
【０１０４】
ついで、被認証装置１１０は、認証装置１２０への送信データとして、下記式（７）〜（９）によって、第１の送信情報α＿｛ｉ｝、第２の送信情報γ＿｛ｉ＋１｝、第３の送信情報β＿｛ｉ｝を算出する（ステップＳ５１３）。
α＿｛ｉ｝＝ｍ＿｛Ｖ＿｛ｉ｝｝（ｖ＿｛ｉ｝）・・・（７）
γ＿｛ｉ＋１｝＝ｈ（Ｖ＿｛ｉ＋２｝，ｖ＿｛ｉ＋１｝）・・・（８）
β＿｛ｉ｝＝ｍ＿｛ｈ（ｖ＿｛ｉ｝，γ＿｛ｉ＋１｝），（Ｖ＿｛ｉ＋１｝）｝・・・（９）
【０１０５】
ここで、第１の送信情報α＿｛ｉ｝は、上述した式（７）に示すように、今回（ｉ）の認証に用いる今回認証情報Ｖ＿｛ｉ｝を含む情報である。また、第２の送信情報γ＿｛ｉ＋１｝は、上述した式（８）に示すように、次々回（ｉ＋２）の認証に用いる次々回認証情報Ｖ＿｛ｉ＋２｝と次回の認証に用いる認証情報を生成するための認証子ｖ＿｛ｉ＋１｝によって生成された情報であり、第３の送信情報β＿｛ｉ｝は、次回の認証に用いる認証情報を生成するための認証子ｖ＿｛ｉ｝と第２の送信情報γ＿｛ｉ＋１｝に対して一方向変換関数による演算をおこなった値で、次回認証情報Ｖ＿｛ｉ＋１｝をマスクした情報である。
【０１０６】
ついで、ステップＳ５１３において算出された第１の送信情報α＿｛ｉ｝、第２の送信情報γ＿｛ｉ＋１｝、第３の送信情報β＿｛ｉ｝を、認証装置１２０へ送信する（ステップＳ５１４）。そして、保存情報を、認証子ｖ＿｛ｉ＋１｝、ｖ＿｛ｉ＋２｝、次回認証情報Ｖ＿｛ｉ＋１｝および次々回認証情報Ｖ＿｛ｉ＋２｝に更新する（ステップＳ５１５）。さらに、ｉに（ｉ＋１）を代入して（ステップＳ５１６）、ステップＳ５１１に戻り、（ｉ＋１）回目の認証処理をおこなう。
【０１０７】
一方、認証装置１２０においては、ステップＳ５１４において被認証装置１１０から送信された第１の送信情報α＿｛ｉ｝、第２の送信情報γ＿｛ｉ＋１｝、第３の送信情報β＿｛ｉ｝を受信する。そして、下記式（１０）によって、受信した第１の送信情報α＿｛ｉ｝で、保存している今回認証情報Ｖ＿｛ｉ｝のマスクを解除して、認証判断用の認証子ｖ’＿｛ｉ｝を算出する（ステップＳ５２１）。
ｖ’＿｛ｉ｝←ｎ＿｛Ｖ＿｛ｉ｝｝（α＿｛ｉ｝）・・・（１０）
【０１０８】
つぎに、ステップＳ５２１において算出された認証判断用の認証子ｖ’＿｛ｉ｝に対して一方向変換関数をおこなった値と、保存されている今回認証情報Ｖ＿｛ｉ｝とが等しいか否かを判断する（ステップＳ５２２）。ステップＳ５２２において等しいと判断された場合（ステップＳ５２２：Ｙｅｓ）、認証装置１２０は、被認証装置１１０を正当な認証者であると判断する（ステップＳ５２３）。また、これによって第１の送信情報が偽造されていないことを認証することができる。
【０１０９】
つぎに、下記式（１１）によって、受信した第３の送信情報β＿｛ｉ｝で、ステップＳ５２１において算出された認証判断用の認証子ｖ’＿｛ｉ｝および受信したγ＿｛ｉ＋１｝を用いて一方向変換関数を施した値のマスクを解除して、認証判断用の次回認証情報Ｖ’＿｛ｉ＋１｝を算出する（ステップＳ５２４）。
Ｖ’＿｛ｉ＋１｝←ｎ＿｛ｈ（ｖ’＿｛ｉ｝，γ＿｛ｉ＋１｝）｝（β＿｛ｉ｝）・・・（１１）
【０１１０】
つぎに、あらかじめ保存されている検証情報γ＿｛ｉ｝と、ステップＳ５２４において算出された認証判断用の次回認証情報Ｖ’＿｛ｉ＋１｝およびステップＳ５２１において算出された認証判断用の認証子ｖ’＿｛ｉ｝を用いて一方向変換関数を施した値とが等しいか否かを判断する（ステップＳ５２５）。そして、ステップＳ５２５において等しいと判断された場合（ステップＳ５２５：Ｙｅｓ）、認証判断用の次回認証情報Ｖ’＿｛ｉ＋１｝が偽造されていないと認証する（ステップＳ５２６）。また、これによって第２の送信情報γ＿｛ｉ＋１｝および第３の送信情報β＿｛ｉ｝が偽造されていないと認証することができる。
【０１１１】
つぎに、保存する情報を次回認証情報Ｖ＿｛ｉ＋１｝、第２の送信情報γ＿｛ｉ＋１｝に変更する（ステップＳ５２７）。さらに、ｉに（ｉ＋１）を代入して（ステップＳ５２８）、ステップＳ５２１に戻り、（ｉ＋１）回目の認証処理をおこなう。
【０１１２】
ここで、ステップＳ５２２：Ｙｅｓにおいて、第１の認証子ｖ＿｛ｉ｝と認証判断用の第１の認証子ｖ’＿｛ｉ｝とが同じであると判断されているため、ｖ’＿｛ｉ｝＝ｖ＿｛ｉ｝である。したがって、ステップＳ５２５：Ｙｅｓにおいては、今回認証情報Ｖ＿｛ｉ＋１｝と認証判断用のＶ’＿｛ｉ＋１｝とが同じであると判断され、Ｖ’＿｛ｉ＋１｝＝Ｖ＿｛ｉ＋１｝となる。このため、ステップＳ５２７においては、実際には、保存情報をステップＳ５２４において算出された認証判断用の次回認証情報Ｖ’＿｛ｉ＋１｝に変更するが、次回認証情報Ｖ＿｛ｉ＋１｝に変更することと同様である。
【０１１３】
一方、ステップＳ５２２において、ステップＳ５２１において算出された認証子ｖ’＿｛ｉ｝に対して一方向変換関数をおこなった値と、保存されている今回認証情報Ｖ＿｛ｉ｝とが等しいと判断されない場合（ステップＳ５２２：Ｎｏ）、認証を拒否して（ステップＳ５２９）、一連の処理を終了する。その理由としては、例えば被認証者が被認証装置１１０へ誤ってパスワードを入力したこと、または第１の送信情報α＿｛ｉ｝（もしくはその一部）が偽造されたことが挙げられる。
【０１１４】
また、ステップＳ５２５において、あらかじめ保存されている検証情報γ＿｛ｉ｝と、ステップＳ５２４において算出された次回認証情報Ｖ’＿｛ｉ＋１｝およびステップＳ５２１において算出された認証子ｖ’＿｛ｉ｝を用いて一方向変換関数を施した値とが等しいと判断されない場合（ステップＳ５２５：Ｎｏ）、ステップＳ５２９に進み、認証を拒否して、一連の処理を終了する。その理由としては、例えば第２の送信情報γ＿｛ｉ｝（もしくはその一部）または第３の送信情報β＿｛ｉ｝が偽造されたこと、または認証装置１２０において、今回認証情報Ｖ＿｛ｉ｝の保存に失敗したなど、被認証装置１１０と認証装置１２０とにおいて、認証情報の同期がずれたことが挙げられる。
【０１１５】
上述した実施の形態１によれば、認証に用いる情報としての第１の送信情報α＿｛ｉ｝、第２の送信情報γ＿｛ｉ＋１｝およびβ＿｛ｉ｝は、被認証装置のみが保存するデータ（ｖ＿｛ｉ｝、ｖ＿｛ｉ＋１｝、Ｖ＿｛ｉ＋２｝）を用いなければ生成することができない。このため、認証装置に保存されている被認証者に関する情報（Ｖ＿｛ｉ｝）が第３者に盗まれたとしても、第３者は認証処理に用いる送信情報を生成することができず、認証装置による認証を受けることができない。すなわち、なりすましを防ぐことができる。
【０１１６】
また、認証装置においては、あらかじめ次回認証情報を用いて生成された検証情報（γ＿｛ｉ｝）が保存されているため、今回の認証処理において、次回の認証処理が正当であるか否かを判断することができる。したがって、今回の認証処理をおこなうことで、次回の認証処理が保証される。このため、常に次回の認証処理を保証しながら、今回の認証をおこなうため、繰り返し認証処理をおこなうことで、途切れることなく被認証装置と認証装置間の連続した通信処理を実現することができる。これによって、装置間の通信が止まると危険な情報、例えば救急に関する情報や消防に関する情報などの、パケット単位の通信に用いることができる。
【０１１７】
また、実施の形態１によれば、被認証装置から認証装置へ３つの送信情報を送信するのみで、認証装置が被認証装置に対する認証処理をおこなうことができ、かつなりすましを防ぎ、次回に用いる認証情報や送信情報が偽造されていないことを認証することができる。したがって、例えばパケット毎に送信情報を付加し、認証をおこなう場合などでも、データ量が増えず、計算量も増えないため、処理時間を短くすることができる。
【０１１８】
（実施の形態２）
つぎに、実施の形態２にかかる認証処理について説明する。実施の形態２においては、実施の形態１と、被認証装置において、認証処理で乱数を生成する前に、被認証者を検証する点が異なる。なお、実施の形態１と同様の処理には、同様の符号を付し、説明を省略する。
【０１１９】
＜初期登録処理について＞
まず、実施の形態２にかかる認証処理における、被認証者による初期登録処理の手順について説明する。図６は、実施の形態２にかかる認証処理における、被認証者による初期登録処理の手順について示すフローチャートである。図６に示すように、実施の形態２の初期登録処理においては、実施の形態１の初期登録処理と、被認証装置１１０に保存する情報が異なる。
【０１２０】
実施の形態２においては、図６のフローチャートに示すように、実施の形態１におけるステップＳ４１５において、初回認証情報Ｖ＿｛１｝と、検証情報γ＿｛１｝とを、安全な手段によって認証装置１２０に送信した後に、認証子ｖ＿｛１｝、ｖ＿｛２｝、初回認証情報Ｖ＿｛１｝および次回認証情報Ｖ＿｛２｝に加え、ステップＳ４１１において生成された乱数Ｎ＿｛１｝、Ｎ＿｛２｝を所定のメモリに保存して（ステップＳ６１６）、被認証装置１１０における一連の処理を終了する。
【０１２１】
＜認証処理について＞
つぎに、実施の形態２にかかる認証処理における、ｉ回目の認証処理について説明する。図７は、実施の形態２にかかる認証処理における、ｉ回目の認証処理について示すフローチャートである。実施の形態２のｉ回目の認証処理においては、実施の形態１のｉ回目の認証処理におけるステップＳ５１１において乱数Ｎ＿｛ｉ＋２｝を生成する前に、被認証装置１１０において被認証者が正当であるか否かを判断する。
【０１２２】
図７のフローチャートに示すように、被認証装置１１０には、認証子ｖ＿｛ｉ｝、ｖ＿｛ｉ＋１｝、初回認証情報Ｖ＿｛ｉ｝、次回認証情報Ｖ＿｛ｉ＋１｝に加えて、乱数Ｎ＿｛ｉ｝、Ｎ＿｛ｉ＋１｝が保存されている。そして、まず、被認証者から秘密情報Ｓ’を受け付けるまで待機する（ステップＳ７１１：Ｎｏのループ）。ステップＳ７１１において被認証者から秘密情報Ｓ’を受け付けた場合（ステップＳ７１１：Ｙｅｓ）、保存されている乱数Ｎ＿｛ｉ｝と、ステップＳ７１１において受け付けられた秘密情報Ｓ’とを用いて、下記式（１２）によって、認証判断用の認証子ｖ’＿｛ｉ｝を生成する（ステップＳ７１２）。
ｖ’＿｛ｉ｝＝ｈ（Ｎ＿｛ｉ｝，Ｓ’）・・・（１２）
【０１２３】
つぎに、ステップＳ７１２において生成された認証判断用の認証子ｖ’＿｛ｉ｝が、保存されている認証子ｖ＿｛ｉ｝と等しいか否かを判断する（ステップＳ７１３）。ステップＳ７１３において、認証判断用の認証子ｖ’＿｛ｉ｝と認証子ｖ＿｛ｉ｝が等しいと判断された場合（ステップＳ７１３：Ｙｅｓ）、被認証者から受け付けたパスワードが、初期登録時（または前回）と同一のパスワードである、すなわち被認証者が初期登録時の被認証者と同一であると判断して、被認証者が正当であると認証する（ステップＳ７１４）。そして、ステップＳ５１１に進み、以降の処理をおこなう。
【０１２４】
そして、実施の形態１と同様にステップＳ５１１〜ステップＳ５１４までの処理をおこなった後に、被認証装置１１０における保存情報を、認証子ｖ＿｛ｉ＋１｝、ｖ＿｛ｉ＋２｝と、次回認証情報Ｖ＿｛ｉ＋１｝と、次々回認証情報Ｖ＿｛ｉ＋２｝と、乱数Ｎ＿｛ｉ＋１｝、Ｎ＿｛ｉ＋２｝と、に更新する（ステップＳ７１５）。さらに、ｉに（ｉ＋１）を代入して（ステップＳ５１６）、ステップＳ７１１に戻り、（ｉ＋１）回目の認証処理をおこなう。
【０１２５】
一方、ステップＳ７１３において、認証判断用の認証子ｖ’＿｛ｉ｝と認証子ｖ＿｛ｉ｝が等しいと判断されない場合（ステップＳ７１３：Ｎｏ）、被認証者が初期登録時の被認証者と同一ではないと判断して、そのまま一連の処理を終了する。
【０１２６】
なお、実施の形態２においては、例えばＮ＿｛１｝およびＮ＿｛２｝（図６：ステップＳ６１６）、Ｎ＿｛ｉ＋１｝およびＮ＿｛ｉ＋２｝（図７：ステップＳ７１５）の２つの乱数を保持する方法について記載したが、これに限るものではない。具体的には、例えばＮ＿｛２｝（図６：ステップＳ６１６）、Ｎ＿｛ｉ＋２｝（図７：ステップＳ７１５）の１つの乱数を保持する構成でもよい。この場合、図７のステップＳ７１２においては、認証判断用の認証子としてｖ’＿｛ｉ｝の替わりにｖ’＿｛ｉ＋１｝を生成し、ステップＳ７１３において認証判断用の認証子ｖ’＿｛ｉ＋１｝が、保存されている認証子ｖ＿｛ｉ＋１｝と等しいか否かを判断する。
【０１２７】
上述した実施の形態２によれば、実施の形態１と同様の効果を得ることができる。また、実施の形態２によれば、初期登録処理後の認証処理の際に、被認証装置において被認証者が正当か否かを判断した後に、送信情報を生成することができる。したがって、例えば被認証装置を第３者が使用し、正当な被認証者になりすまそうとしても、認証装置との認証をさせないことができる。これによって、例えば被認証装置が公の場に設置されている場合や、複数のユーザで使用する場合にも、不正な認証を防ぐことができる。
【０１２８】
以上説明したように、本発明にかかる認証処理方法、認証処理プログラム、記録媒体および認証処理システムによれば、認証処理の安全性をより向上させ、かつ連続した通信処理をおこなうことができる。
【０１２９】
なお、本実施の形態で説明した認証処理方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０１３０】
以上のように、本発明にかかる認証処理方法、認証処理プログラム、記録媒体および認証処理システムは、連続した通信処理が必要な装置間の認証に有用であり、特に、緊急を要する情報をやり取りする装置間の認証に適している。
【符号の説明】
【０１３１】
１１０  被認証装置
１１１  生成部
１１２  送付部
１１３  保持部
１１４  算出部
１１５  送信部
１１６  更新部
１２０  認証装置
１２１  受信部
１２２  第１の算出部
１２３  判断部
１２４  第２の算出部
１２５  検証部
１２６  更新部
【図１】
2010252275.tif 000003
【図２】
2010252275.tif 000004
【図３】
2010252275.tif 000005
【図４】
2010252275.tif 000006
【図５】
2010252275.tif 000007
【図６】
2010252275.tif 000008
【図７】
2010252275.tif 000009
【図８】
2010252275.tif 000010