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