(57)【特許請求の範囲】
【請求項１】
現在時刻情報を計数する現在時刻計数手段と、
時刻コードを含む電波を受信する受信手段と、
この受信手段で受信された電波に含まれる時刻コードに基づいて前記現在時刻計数手段の時刻情報を修正する時刻修正手段と、
この時刻修正手段による前回の時刻修正からの経過時間を計数する経過時間計数手段と、
この経過時間計数手段により計数された経過時間が所定時間を越えたか否かを判別する判別手段と、
この判別手段で前記経過時間が前記所定時間を越えていないと判別された場合に、前記現在時刻計数手段の時刻情報に基づいてパスワードを発生させ、前記判別手段で前記経過時間が前記所定時間を越えたと判別された場合に、外部入力されるコードに基づいてパスワードを発生させるパスワード発生制御手段と、
を備えたことを特徴とするパスワード発生装置。
【請求項２】
前記判別手段で前記経過時間が前記所定時間を越えたと判別された場合に、時刻修正を促す報知を行う報知手段と、
を更に備えたことを特徴とする請求項１に記載のパスワード発生装置。
【請求項３】
外部操作スイッチを更に備え、
前記パスワード発生制御手段は、前記外部操作スイッチに対するパスワード発生指示の操作に応答して、パスワードを発生させることを特徴とする請求項１又は請求項２に記載のパスワード発生装置。
【請求項４】
現在時刻情報を計数する現在時刻計数手段と、時刻コードを含む電波を受信する受信手段とを備えたコンピュータに、
前記受信手段で受信された電波に含まれる時刻コードに基づいて前記現在時刻計数手段の時刻情報を修正する時刻修正機能と、
この時刻修正手段による前回の時刻修正からの経過時間が所定時間を越えたか否かを判別する判別機能と、
この判別機能で前記経過時間が前記所定時間を越えていないと判別された場合に、前記現在時刻計数手段の時刻情報に基づいてパスワードを発生させ、前記判別機能で前記経過時間が前記所定時間を越えたと判別された場合に、外部入力されるコードに基づいてパスワードを発生させるパスワード発生制御機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード発生装置及びプログラムに関する。
【背景技術】
【０００２】
新時代の個人認証技術として、ワンタイムパスワードを用いた個人認証が注目を集めている（例えば、特許文献１。）。ワンタイムパスワードとは、一度しか使用することのできないパスワードを意味し、ユーザが携行する例えばカード式のパスワード発生装置により発生されたパスワードを使用して個人認証を行うものが知られている。
【０００３】
このワンタイムパスワードを用いた個人認証では、たとえ第三者によりパスワードを盗まれたとしても使用後のパスワードは無効となる上に、固定パスワードのようにパスワードを推察される恐れもないため、第三者による不正アクセスが効果的に防止されることになる。
【特許文献１】特開平１１−３１６７４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、従来のワンタイムパスワードを用いた個人認証としては、時間同期方式と呼ばれる方式がある。時間同期方式では、パスワード発生装置と、個人認証を行う認証サーバとが共通の秘密符号を保持しており、パスワード発生装置は、ユーザがパスワードを発生させた時刻（以下、「発生時刻」と呼ぶ。）を秘密符号で暗号化したものをパスワードとする。一方、認証サーバは、ユーザ端末からログイン要求がなされた時刻（以下、「ログイン時刻」と呼ぶ。）を秘密符号で暗号化したものをパスワードとし、ユーザ端末から送信されてきたパスワードと比較することで認証を行う。
【０００５】
この場合、発生時刻とログイン時刻とは数秒〜数分程度のずれが生じていると考えられるため、認証サーバはログイン時刻の２分前、１分前、ログイン時刻、１分後、２分後といった、ログイン時刻の前後数分の時刻を全て暗号化しておき、１つでも一致するものがある場合に認証成功と判定している。
【０００６】
しかし、上記の方法で判定を行っている限り、パスワード発生装置と認証サーバとの時刻のずれが例えば５分、１０分と大きくなってしまうと、時間同期方式による認証がもはや不可能になってしまう。不可能になってしまった場合には、ユーザはパスワード発生装置の時計を時刻修正するために、パスワード発生装置のメーカ等に持参して修正依頼する必要があるが、そもそも不可能になった理由がわからず修正依頼さえもできなかったり、メーカ等への修正依頼の手間等があった。
【０００７】
本発明はこのような課題に鑑みて為されたものであり、その目的とするところは、パスワード発生装置の時刻修正を不要とすることであり、また、計時時刻の精度に応じて、パスワード発生に関する制御を適切に行うことにある。
【課題を解決するための手段】
【０００８】
以上の課題を解決するために、請求項１に記載の発明は、現在時刻情報を計数する現在時刻計数手段（例えば、図３の計時部４５０）と、時刻コードを含む電波を受信する受信手段（例えば、図３の電波受信部４４０；図８のステップＢ１）と、この受信手段で受信された電波に含まれる時刻コードに基づいて前記現在時刻計数手段の時刻情報を修正する時刻修正手段（例えば、図３のＣＰＵ４１０；図８のステップＢ７）と、この時刻修正手段による前回の時刻修正からの経過時間を計数する経過時間計数手段（例えば、図３の計時部４５０）と、この経過時間計数手段により計数された経過時間が所定時間を越えたか否かを判別する判別手段（例えば、図３のＣＰＵ４１０；図９のステップＣ１）と、この判別手段で前記経過時間が前記所定時間を越えていないと判別された場合に、前記現在時刻計数手段の時刻情報に基づいてパスワードを発生させ、前記判別手段で前記経過時間が前記所定時間を越えたと判別された場合に、外部入力されるコードに基づいてパスワードを発生させるパスワード発生制御手段（例えば、図３のＣＰＵ４１０；図９のステップＣ１；Ｎｏ、Ｃ５；Ｙｅｓ、Ｃ１３）と、を備えたパスワード発生装置（例えば、図１の電波時計４）である。
【００１１】
また、請求項２に記載の発明は、請求項１に記載のパスワード発生装置であって、前記時刻修正手段による前回の時刻修正からの経過時間を計数する経過時間計数手段（例えば、図３の計時部４５０）と、この経過時間計数手段により計数された経過時間が所定時間を越えたか否かを判別する判別手段（例えば、図３のＣＰＵ４１０；図７のステップＡ１１）と、この判別手段で越えたと判別された場合に、時刻修正を促す報知を行う報知手段（例えば、図３のＣＰＵ４１０；図７のステップＡ１１；Ｙｅｓ、Ａ１３）と、を更に備えたことを特徴としている。
【００１２】
また、請求項３に記載の発明は、請求項１又は請求項２に記載のパスワード発生装置であって、外部操作スイッチ（例えば、図１（ｂ）の入力部４２０）を更に備え、前記パスワード発生制御手段は、前記外部操作スイッチに対するパスワード発生指示の操作に応答して、前記現在時刻計数手段の時刻情報に基づいてパスワードを発生させる（例えば、図３のＣＰＵ４１０；図７のステップＡ７；Ｙｅｓ、Ａ９）ことを特徴としている。
【００１３】
また、請求項４に記載の発明は、現在時刻情報を計数する現在時刻計数手段（例えば、図３の計時部４５０）と、時刻コードを含む電波を受信する受信手段（例えば、図３の電波受信部４４０）とを備えたコンピュータ（例えば、図１の電波時計４）に、前記受信手段で受信された電波に含まれる時刻コードに基づいて前記現在時刻計数手段の時刻情報を修正する時刻修正機能（例えば、図８のステップＢ７）と、この時刻修正手段による前回の時刻修正からの経過時間が所定時間を越えたか否かを判別する判別機能（例えば、図９のステップＣ１）と、この判別機能で前記経過時間が前記所定時間を越えていないと判別された場合に、前記現在時刻計数手段の時刻情報に基づいてパスワードを発生させ、前記判別機能で前記経過時間が前記所定時間を越えたと判別された場合に、外部入力されるコードに基づいてパスワードを発生させるパスワード発生制御機能（例えば、図９のステップＣ１、Ｃ５、Ｃ１３）と、を実現させるためのプログラム（例えば、図３のメインプログラム４６１）である。
【発明の効果】
【００１４】
請求項１又は４に記載の発明によれば、受信手段により受信された電波に含まれる時刻コードに基づいて現在時刻計数手段の時刻情報が修正される。前回の時刻修正からの経過時間が計数され、この経過時間が所定時間を越えたか否かが判別される。そして、所定時間を越えていないと判別された場合にのみ、現在時刻計数手段の時刻情報に基づいてパスワードが発生される。前回の時刻修正からの経過時間が長ければ長いほど、パスワード発生装置の計時時刻の精度が落ちる恐れがある。しかし、経過時間が所定時間を超えた場合は、現在時刻計数手段の時刻情報に基づいたパスワードの発生がなされないため、不正確な時刻情報に基づいたパスワードの発生が効果的に防止されるようになる。前回の時刻修正からの経過時間が所定時間を超えたと判定された場合に、外部入力されるコードに基づいてパスワードが発生される。従って、パスワード発生装置の計時時刻の精度が悪い恐れがある場合は、時刻情報以外の外部情報に基づいてパスワードが発生されることになり、時刻精度に応じた、パスワードの発生に関する適切な制御が実現される。
【００１７】
請求項２に記載の発明によれば、前回の時刻修正からの経過時間が計数され、この経過時間が所定時間を越えたか否かが判別される。そして、所定時間を越えたと判別された場合に、時刻修正を促す報知が行われる。従って、パスワード発生装置の計時時刻の精度が悪い恐れがある場合は、ユーザに時刻修正を促すことができるようになる。
【００１８】
請求項３に記載の発明によれば、外部操作スイッチに対するパスワード発生指示の操作に応答して、現在時刻計数手段の時刻情報に基づいてパスワードが発生される。従って、ユーザは任意のタイミングでパスワードを発生させることができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明のパスワード発生装置を腕時計型の電波時計に適用した場合の実施形態について説明する。先ず、電波時計によって発生されるワンタイムパスワードを用いて、サービス提供サーバ６からコンテンツをダウンロードする等して各種サービスを受けることのできるサービス提供システム１について説明する。
【００２０】
１．システム概要
サービス提供システム１の概要について説明する。
図１（ａ）は、サービス提供システム１の概略構成を示す図である。
サービス提供システム１は、ユーザ端末３及び電波時計４で構成されるユーザ側システム２と、サービス提供サーバ６と、時刻サーバ７とを備えて構成される。各ユーザ端末３は、例えばインターネット等の通信ネットワークＮを介して、サービス提供サーバ６に接続される。
【００２１】
ユーザ端末３は、各ユーザがサービス提供サーバ６からコンテンツをダウンロードする等して各種のサービスを受けるために使用する端末であり、例えば家庭用のＰＣ（パーソナルコンピュータ）によって実現される。ユーザ端末３は、サービス要求処理を実行することで、サービス提供サーバ６からコンテンツをダウンロードするが、コンテンツのダウンロードに当たって、ユーザによって入力されるワンタイムパスワードをサービス提供サーバ６に送信して、ユーザ認証を受ける。このワンタイムパスワードは、電波時計４によって発生される。
【００２２】
電波時計４は、パスワード発生機能を備えた電波時計であり、常駐的にメイン処理を実行することで、受信した標準電波に含まれる時刻コードに基づいて時刻の修正を行うと共に、ワンタイムパスワードの発生を行う。この電波時計４の概略外観図を、図１（ｂ）に示す。
【００２３】
電波時計４は、バンド部４１と、入力部４２０と、表示部４３０とを備えて構成される。バンド部４１は、ユーザが電波時計を腕に装着するためのバンドである。入力部４２０は、ユーザが電波時計４に対して時刻の修正を指示するための時刻修正ボタンや、ワンタイムパスワードの発生を指示するためのパスワード発生ボタン等のボタンを備えた入力装置である。
【００２４】
表示部４３０は、時刻やワンタイムパスワード等が表示される表示装置であって、ＬＣＤ（Liquid Crystal Display）等により構成される。表示部４３０には、時刻４３２の他に、ユーザに時刻の修正を促す時刻修正喚起マーク４３１や、標準電波の受信が可能であることを示すアンテナマーク４３３が表示される。また、表示部４３０の下部には、発生されたワンタイムパスワードが表示されるパスワード表示部４３５が設けられている。
【００２５】
サービス提供サーバ６は、ユーザ認証及びコンテンツ配信によるサービス提供を行うサーバであり、サービス提供処理を実行することで、ユーザ端末３からユーザ認証の要求がなされた場合に、該ユーザ端末３から受信したワンタイムパスワードに基づいたユーザ認証を行い、正規のユーザであると認証した場合に、該ユーザ端末３へ記憶しているコンテンツのダウンロードを可能にする。サービス提供サーバ６は、ユーザ認証を行う機能部として認証処理部６１１を有している。
【００２６】
時刻サーバ７は、現在時刻を提供するサーバ（例えば、ｎｔｐ（network time protocol）サーバ）であって、サービス提供サーバ６からの時刻同期の要求に応じて、定期的に
サービス提供サーバ６に時刻データを送信する。サービス提供サーバ６は、この時刻サーバ７から送信される時刻データに基づいて内部時計を正確な時刻に修正する。
【００２７】
２．構成
次に、ユーザ端末３、電波時計４及びサービス提供サーバ６それぞれの構成について説明する。尚、時刻サーバ７は、従来公知のサーバ装置等によって実現されるものであるため、その説明を省略する。
【００２８】
２−１．ユーザ端末３の構成
図２は、ユーザ端末３の機能構成を示すブロック図である。
ユーザ端末３は、ＣＰＵ（Central Processing Unit）３１０と、入力部３２０と、表示部３３０と、通信部３４０と、ＲＯＭ（Read Only Memory）３５０と、ＲＡＭ（Random Access Memory）３６０とを備え、各部はバス３７０で相互にデータ通信可能に接続されて構成されている。
【００２９】
ＣＰＵ３１０は、ＲＯＭ３５０に記憶されているシステムプログラム等に従って各部を統括的に制御する。また、ＣＰＵ３１０は、ＲＯＭ３５０に記憶されているサービス要求プログラム３５１に従って、サービス要求処理を実行する。
【００３０】
入力部３２０は、例えばキーボードにより実現され、押下されたキーの信号をＣＰＵ３１０に出力する。この入力部３２０によるキー操作により、ワンタイムパスワードの入力等がなされる。
【００３１】
表示部３３０は、サービス提供サーバ６からダウンロードしたコンテンツ等が表示される表示装置であって、ＬＣＤ等により構成される。
【００３２】
通信部３４０は、ネットワークカード、モデム又はＴＡ、ルータ等により構成され、ＣＰＵ３１０の制御に基づいて、インターネット等の通信ネットワークＮを介して、サービス提供サーバ６を始めとする外部機器との間で通信を行う。
【００３３】
ＲＯＭ３５０は、ユーザ端末３が備える各種機能を実現するためのプログラム等を記憶し、ＣＰＵ３１０により読み出され、サービス要求処理（図１０参照）として実行されるサービス要求プログラム３５１を記憶している。
【００３４】
サービス要求処理とは、次のような処理である。すなわち、ＣＰＵ３１０が、ユーザにより入力されたユーザ名、ＰＩＮコード及びワンタイムパスワードをサービス提供サーバ６に送信してユーザ認証を要求し、正規のユーザであると認証された場合に、サービス提供サーバ６が記憶しているコンテンツのダウンロードを開始する。また、ユーザによりチャレンジコードの作成要求がなされた場合には、ＣＰＵ３１０は、チャレンジコードの作成要求をサービス提供サーバ６に送信し、サービス提供サーバ６から受信したチャレンジコードを、表示部３３０に表示させる。このサービス要求処理については、詳細に後述する。
【００３５】
ＲＡＭ３６０は、ＣＰＵ３１０により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成する。
【００３６】
２−２．電波時計４の構成
図３は、電波時計４の機能構成を示すブロック図である。
電波時計４は、ＣＰＵ４１０と、入力部４２０と、表示部４３０と、電波受信部４４０と、計時部４５０と、ＲＯＭ４６０と、ＲＡＭ４７０とを備え、各部はバス４８０で相互にデータ通信可能に接続されて構成されている。
【００３７】
ＣＰＵ４１０は、ＲＯＭ４６０に記憶されているシステムプログラム等に従って各部を統括的に制御する。また、ＣＰＵ４１０は、ＲＯＭ４６０に記憶されているメインプログラム４６１に従ってメイン処理を実行する。
【００３８】
入力部４２０は、ユーザが電波時計４に対して時刻の修正を指示するための時刻修正ボタンや、ワンタイムパスワードの発生を指示するためのパスワード発生ボタン等のボタンにより構成され、押下されたボタンの信号をＣＰＵ４１０に出力する。また、表示部４３０は、時刻やワンタイムパスワード等が表示される表示装置である。
【００３９】
電波受信部４４０は、アンテナで受信された電波の不要な周波数成分をカットして標準電波の周波数信号を取り出し、この取り出した信号を検波等してＣＰＵ４１０に随時出力する。
【００４０】
計時部４５０は、水晶等による発信器（図示せず）から出力されるクロック信号を計数することで計時を行う機能部である。また、計時部４５０は、ＣＰＵ４１０が最後に時刻を修正してから経過した時間（以下、「修正経過時間」と呼ぶ。）の計測を行う。
【００４１】
ＲＯＭ４６０は、電波時計４の備える各種機能を実現するためのプログラム等を記憶する。本実施形態に係るプログラム等として、特にＣＰＵ４１０により読み出され、メイン処理（図７参照）として常駐的に実行されるメインプログラム４６１を記憶している。また、メインプログラム４６１は、時刻修正処理（図８参照）として実行される時刻修正プログラム４６２と、ワンタイムパスワード発生処理（図９参照）として実行されるワンタイムパスワード発生プログラム４６３とをサブルーチンとして備えている。
【００４２】
メイン処理とは、ＣＰＵ４１０が、時刻修正を行う時刻になったと判定した場合又はユーザによる時刻修正指示を検知した場合に、時刻修正処理を実行することで時刻の修正を行うと共に、ユーザによるパスワード発生指示を検知した場合には、ワンタイムパスワード発生処理を実行することでワンタイムパスワードを発生させる処理である。また、ＣＰＵ４１０は、修正経過時間が所定時間を経過したと判定した場合に、ユーザに時刻修正を促す時刻修正喚起マーク４３１を表示部４３０に表示させる。このメイン処理については、詳細に後述する。
【００４３】
時刻修正処理とは、ＣＰＵ４１０が、電波受信部４４０に標準電波を受信させ、電波受信部４４０から出力される信号に基づいて時刻コードを生成して、時刻データを取得する処理である。また、ＣＰＵ４１０は、取得した時刻データに基づいて時刻の修正を行い、計時部４５０に修正経過時間の計測をリセット・再スタートさせる。この時刻修正処理については、詳細に後述する。
【００４４】
ワンタイムパスワード作成処理とは、修正経過時間が所定時間以上経過していないと判定した場合は、時間同期方式によるパスワードの発生を行うべく、現在時刻に基づいてワンタイムパスワードを発生させて表示部４３０のパスワード表示部４３５に表示させ、一方、修正経過時間が所定時間以上経過していると判定した場合は、所謂チャレンジ・レスポンス方式によるパスワードの発生を行うべく、入力されたチャレンジコードに基づいてワンタイムパスワードを発生させて表示部４３０のパスワード表示部４３５に表示させる処理である。このワンタイムパスワード作成処理については、詳細に後述する。
【００４５】
ここで、電波時計４で発生される時間同期方式及びチャレンジ・レスポンス方式それぞれのワンタイムパスワードの違いについて、簡単に説明する。時間同期方式は、電波時計４にサービス提供サーバ６と共通の秘密符号が保持されており、電波時計４が、現在時刻を秘密符号により暗号化したものをワンタイムパスワードとする方式である。
【００４６】
チャレンジ・レスポンス方式は、電波時計４にサービス提供サーバ６と共通の秘密符号が保持されているが、ユーザ端末３からのチャレンジコードの作成要求に応じて、サービス提供サーバ６が、チャレンジコードと呼ばれる乱数を発生させてユーザ端末３に送信する。そして、電波時計４が、このチャレンジコードを秘密符号により暗号化したものをワンタイムパスワードとする方式である。
【００４７】
図４は、電波時計４においてワンタイムパスワードが出力されるまでの流れを示す図である。時間同期方式では、時刻修正処理により時刻修正された現在時刻と秘密符号とからワンタイムパスワードが発生されて出力される。一方、チャレンジ・レンスポンス方式では、外部入力されたチャレンジコードと秘密符号とからワンタイムパスワードが発生されて出力される。
【００４８】
ＲＡＭ４７０は、ＣＰＵ４１０により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成する。本実施形態では、ＲＡＭ４７０は、ＣＰＵ４１０が時刻コードから取得した時刻データが格納される受信時刻データ格納領域４７１と、計時部４５０が計測した修正経過時間が格納される修正経過時間格納領域４７３と、ユーザにより入力部４２０を介して入力されたチャレンジコードが格納されるチャレンジコード格納領域４７５と、ＣＰＵ４１０が発生させたワンタイムパスワードが格納されるワンタイムパスワード格納領域４７７と、電波時計４に固有の秘密符号が格納される秘密符号格納領域４７９とを備えている。
【００４９】
２−３．サービス提供サーバ６の構成
図５は、サービス提供サーバ６の機能構成を示すブロック図である。
サービス提供サーバ６は、ＣＰＵ６１０と、入力部６２０と、表示部６３０と、通信部６４０と、計時部６５０と、ＲＯＭ６６０と、ハードディスク６７０と、ＲＡＭ６８０とを備え、各部はバス６９０で相互にデータ通信可能に接続されて構成されている。
【００５０】
ＣＰＵ６１０は、ＲＯＭ６６０に記憶されているシステムプログラム等に従って各部を統括的に制御する。本実施形態では、ＣＰＵ６１０は、ＲＯＭ６６０に記憶されているサービス提供プログラム６６１に従ってサービス提供処理を実行し、このサービス提供処理においてサブルーチンとしてユーザ認証処理を行う。
【００５１】
入力部６２０は、例えばキーボードにより実現され、押下されたキーの信号をＣＰＵ６１０に出力する。この入力部６２０は、主にサービス提供サーバ６の管理者が、各種データの管理を行う際に用いられるものである。
【００５２】
表示部６３０は、例えば入力部６２０からの入力に応じた各種データが表示される表示装置であって、ＬＣＤ等により構成される。
【００５３】
通信部６４０は、ネットワークカード、モデム又はＴＡ、ルータ等により構成され、ＣＰＵ６１０の制御に基づいて、インターネット等の通信ネットワークＮを介して、ユーザ端末３を始めとする外部機器との間で通信を行う。また、通信部６４０は、時刻サーバ７と通信して時刻同期を要求し、時刻サーバ７から定期的に時刻データを受信する。
【００５４】
計時部６５０は、水晶等による発信器（図示せず）から出力されるクロック信号を計数することで計時を行う機能部である。計時部６５０で計時される時刻は、ＣＰＵ６１０によって、通信部６４０が時刻サーバ７から受信した時刻データに基づく正確な時刻に修正される。
【００５５】
ＲＯＭ６６０は、サービス提供サーバ６の各部を制御するためのシステムプログラム等を記憶すると共に、ＣＰＵ６１０により読み出され、サービス提供処理（図１０参照）として実行されるサービス提供プログラム６６１を記憶している。また、サービス提供プログラム６６１は、ＣＰＵ６１０によりユーザ認証処理（図１１参照）として実行されるユーザ認証プログラム６６２をサブルーチンとして備えている。
【００５６】
サービス提供処理とは、次のような処理である。すなわち、ＣＰＵ６１０が、ユーザ端末３から受信したユーザ名、ＰＩＮコード及びワンタイムパスワードに基づいてユーザ認証処理を行い、正規のユーザであると認証した場合に、接続許可信号をユーザ端末３に送信してコンテンツのダウンロードを可能にする。また、ＣＰＵ６１０は、ユーザ端末３からチャレンジコードの作成要求を受信した場合に、チャレンジコードを作成してユーザ端末３に送信する。このサービス提供処理については、詳細に後述する。
【００５７】
ユーザ認証処理とは、ＣＰＵ６１０が、ワンタイムパスワードの認証方式に従ったユーザ認証を行う処理である。すなわち、認証方式が時間同期方式であると判定した場合は、ＣＰＵ６１０は、ユーザ名及びＰＩＮコードから秘密符号を特定し、秘密符号で時刻データを暗号化したワンタイムパスワードを用いて認証を行う。また、認証方式がチャレンジ・レスポンス方式であると判定した場合は、ＣＰＵ６１０は、ユーザ名及びＰＩＮコードから秘密符号とチャレンジコードとを特定し、秘密符号でチャレンジコードを暗号化したワンタイムパスワードを用いて認証を行う。このユーザ認証処理については、詳細に後述する。
【００５８】
ハードディスク６７０は、読み書き可能な外部記憶装置であって、ユーザ認証に用いるデータであるユーザ認証用データ６７１と、ユーザ端末３へのダウンロード用のコンテンツのＤＢ（Data Base）であるコンテンツＤＢ６７３とを記憶している。
【００５９】
ユーザ認証用データ６７１は、ユーザ名６７１１と、ＰＩＮコード６７１３と、秘密符号６７１５と、チャレンジコード６７１７と、認証フラグ６７１９とが対応付けて記憶されたデータであり、そのデータ構成例を図６に示す。
【００６０】
ユーザ名６７１１は、各ユーザをユニークに識別するための名称である。ＰＩＮコード６７１３は、各ユーザが保有する４桁の暗証番号である。ユーザ名６７１１及びＰＩＮコード６７１３は、初めてサービス提供サーバ６にアクセスした際にユーザによって登録される。
【００６１】
秘密符号６７１５は、ユーザ登録の際に設定される符号であり、電波時計４の秘密符号格納領域４７９に格納された秘密符号と同じ符号が設定される。
【００６２】
チャレンジコード６７１７は、ユーザ端末３からチャレンジコードの作成要求を受信した場合に、サービス提供サーバ６が発生させる乱数である。認証フラグ６７１９は、ユーザ認証処理において正規のユーザであると認証された場合にＯＮに設定されるフラグである。
【００６３】
例えば、ユーザ名６７１１が「ｍａｓａ」であるユーザに登録されているＰＩＮコード６７１３は「２９４７」であり、設定されている秘密符号６７１５は「ＧＨＩ」である。また、当該ユーザによってチャレンジコードの作成要求がなされたことで、チャレンジコード６７１７として「６２８４３１」がサービス提供サーバ６によって作成され、当該ユーザは正規のユーザであると認証されたため、認証フラグ６７１９がＯＮに設定されている。
【００６４】
ＲＡＭ６８０は、ＣＰＵ６１０により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【００６５】
３．処理の流れ
３−１．電波時計４の処理
図７は、電波時計４において常駐的に実行されるメイン処理の流れを示すフローチャートである。
【００６６】
先ず、ＣＰＵ４１０は、時刻修正を行う時刻となったか否かを判定し（ステップＡ１）、なったと判定した場合は（ステップＡ１；Ｙｅｓ）、時刻修正プログラム４６２を読み出して実行することで、時刻修正処理を行う（ステップＡ３）。
【００６７】
図８は、時刻修正処理の流れを示すフローチャートである。
先ず、ＣＰＵ４１０は、電波受信部４４０に標準電波を受信させ（ステップＢ１）、電波受信部４４０から出力される信号に基づいて時刻コードを生成して、時刻データを取得する（ステップＢ３）。そして、ＣＰＵ４１０は、取得した時刻データを受信時刻データ格納領域４７１に格納する。
【００６８】
次いで、ＣＰＵ４１０は、電波受信部４４０による標準電波の受信が成功したか否かを判定し（ステップＢ５）、失敗したと判定した場合は（ステップＢ５；Ｎｏ）、時刻修正処理を終了する。
【００６９】
一方、ステップＢ５において、標準電波の受信が成功したと判定した場合は（ステップＢ５；Ｙｅｓ）、ＣＰＵ４１０は、ステップＢ３で取得した時刻データに基づいて現在の時刻を修正する（ステップＢ７）。そして、ＣＰＵ４１０は、計時部４５０に修正経過時間の計測をリセット・再スタートさせて（ステップＢ９）、時刻修正処理を終了する。
【００７０】
図７のメイン処理に戻って、時刻修正処理を終了すると、ＣＰＵ４１０は、ステップＡ１へと戻る。一方、ステップＡ１において、未だ時刻修正を行う時刻となっていないと判定した場合は（ステップＡ１；Ｎｏ）、ＣＰＵ４１０は、ユーザにより入力部４２０を介して時刻修正指示がなされたか否かを判定し（ステップＡ５）、なされたと判定した場合は（ステップＡ５；Ｙｅｓ）、ステップＡ３へと処理を移行する。
【００７１】
一方、ステップＡ５において、時刻修正指示がなされなかったと判定した場合は（ステップＡ５；Ｎｏ）、ＣＰＵ４１０は、ユーザにより入力部４２０を介してパスワード発生指示がなされたか否かを判定する（ステップＡ７）。
【００７２】
ステップＡ７において、パスワード発生指示がなされたと判定した場合は（ステップＡ７；Ｙｅｓ）、ＣＰＵ４１０は、ワンタイムパスワード発生プログラム４６３を読み出して実行することで、ワンタイムパスワード発生処理を行う（ステップＡ９）。
【００７３】
図９は、ワンタイムパスワード発生処理の流れを示すフローチャートである。
先ず、ＣＰＵ４１０は、計時部４５０によって計測されている修正経過時間が所定時間以上経過したか否かを判定し（ステップＣ１）、経過していないと判定した場合は（ステップＣ１；Ｎｏ）、時間同期方式によるパスワードの発生を行う旨のメッセージを表示部４３０に表示させる（ステップＣ３）。
【００７４】
次いで、ＣＰＵ４１０は、現在時刻に基づいてワンタイムパスワードを発生させる（ステップＣ５）。具体的には、ＣＰＵ４１０は、現在の時刻を秘密符号格納領域４７９に格納されている秘密符号で暗号化したものをワンタイムパスワードとする。そして、ＣＰＵ４１０は、発生させたワンタイムパスワードを、ワンタイムパスワード格納領域４７７に格納する。
【００７５】
その後、ＣＰＵ４１０は、ステップＣ５で発生させたワンタイムパスワードを表示部４３０のパスワード表示部４３５に表示させて（ステップＣ７）、ワンタイムパスワード発生処理を終了する。
【００７６】
一方、ステップＣ１において、修正経過時間が所定時間以上経過したと判定した場合は（ステップＣ１；Ｙｅｓ）、ＣＰＵ４１０は、チャレンジ・レスポンス方式によるパスワードの発生を行う旨のメッセージを表示部４３０に表示させる（ステップＣ９）。
【００７７】
次いで、ユーザにより入力部４２０を介してチャレンジコードの入力がなされると（ステップＣ１１）、ＣＰＵ４１０は、入力されたチャレンジコードをチャレンジコード格納領域４７５に格納し、このチャレンジコードに基づいてワンタイムパスワードを発生させる（ステップＣ１３）。具体的には、ＣＰＵ４１０は、チャレンジコードを秘密符号格納領域４７９に格納されている秘密符号で暗号化したものをワンタイムパスワードとする。
そして、ＣＰＵ４１０は、発生させたワンタイムパスワードを、ワンタイムパスワード格納領域４７７に格納する。
【００７８】
尚、ステップＣ１１で入力されるチャレンジコードは、後述するサービス要求処理及びサービス提供処理（図１０参照）において、ユーザ端末３からサービス提供サーバ６に対してチャレンジコードの作成要求が送信されることで（ステップＤ７）、サービス提供サーバ６によって作成されてユーザ端末３に送信されるチャレンジコードである（ステップＥ５、Ｅ７）。
【００７９】
その後、ＣＰＵ４１０は、ステップＣ１３で発生させたワンタイムパスワードを表示部４３０のパスワード表示部４３５に表示させて（ステップＣ１５）、ワンタイムパスワード発生処理を終了する。
【００８０】
図７のメイン処理に戻って、ワンタイムパスワード発生処理を終了すると、ＣＰＵ４１０は、ステップＡ１へと戻る。一方、ステップＡ７において、ユーザによりパスワード発生指示がなされなかったと判定した場合は（ステップＡ７；Ｎｏ）、ＣＰＵ４１０は、計時部４５０により計測されている修正経過時間が所定時間以上経過したか否かを判定し（ステップＡ１１）、経過していないと判定した場合は（ステップＡ１１；Ｎｏ）、ステップＡ１へと戻る。
【００８１】
ステップＡ１１において、修正経過時間が所定時間以上経過したと判定した場合は（ステップＡ１１；Ｙｅｓ）、ＣＰＵ４１０は、ユーザに時刻修正を促す時刻修正喚起マーク４３１を表示部４３０に表示させて（ステップＡ１３）、ステップＡ１へと戻る。
【００８２】
３−２．ユーザ端末３及びサービス提供サーバ６の処理
図１０は、ユーザ端末３において実行されるサービス要求処理及びサービス提供サーバ６において実行されるサービス提供処理の流れを示すフローチャートである。
【００８３】
先ず、ユーザ端末３のＣＰＵ３１０は、ユーザにより入力部３２０を介してユーザ名及びＰＩＮコードの入力がなされると（ステップＤ１）、入力されたユーザ名及びＰＩＮコードをサービス提供サーバ６に送信する（ステップＤ３）。そして、サービス提供サーバ６は、ユーザ端末３からユーザ名及びＰＩＮコードを受信する（ステップＥ１）。
【００８４】
次いで、ユーザ端末３のＣＰＵ３１０は、ユーザにより入力部３２０を介してチャレンジコードの作成要求がなされたか否かを判定し（ステップＤ５）、なされなかったと判定した場合は（ステップＤ５；Ｎｏ）、ステップＤ１３へと処理を移行する。一方、なされたと判定した場合は（ステップＤ５；Ｙｅｓ）、ＣＰＵ３１０は、チャレンジコードの作成要求をサービス提供サーバ６に送信する（ステップＤ７）。
【００８５】
サービス提供サーバ６のＣＰＵ６１０は、チャレンジコードの作成要求を受信したか否かを判定し（ステップＥ３）、受信しなかったと判定した場合は（ステップＥ３；Ｎｏ）、ステップＥ９へと処理を移行する。一方、受信したと判定した場合は（ステップＥ３；Ｙｅｓ）、ＣＰＵ６１０は、乱数を発生させてチャレンジコードとし（ステップＥ５）、ユーザ認証用データ６７１のチャレンジコード６７１７として記憶させる。そして、ＣＰＵ６１０は、ステップＥ５で作成したチャレンジコードをユーザ端末３に送信する（ステップＥ７）。
【００８６】
ユーザ端末３のＣＰＵ３１０は、サービス提供サーバ６からチャレンジコードを受信すると（ステップＤ９）、受信したチャレンジコードを表示部３３０に表示させる（ステップＤ１１）。そして、ユーザにより入力部３２０を介してワンタイムパスワードの入力がなされると（ステップＤ１３）、ＣＰＵ３１０は、入力されたワンタイムパスワードをサービス提供サーバ６に送信する（ステップＤ１５）。
【００８７】
尚、ステップＤ１３で入力されるワンタイムパスワードは、ワンタイムパスワード発生処理（図９参照）において、電波時計４により発生されたワンタイムパスワードである（ステップＣ５、Ｃ１３）。
【００８８】
サービス提供サーバ６のＣＰＵ６１０は、ユーザ端末３からワンタイムパスワードを受信すると、ユーザ認証プログラム６６２を読み出して実行することで、ユーザ認証処理を行う（ステップＥ９）。
【００８９】
図１１は、ユーザ認証処理の流れを示すフローチャートである。
先ず、ＣＰＵ６１０は、ワンタイムパスワードの発生方式が時間同期方式とチャレンジ・レスポンス方式との何れであるかを判定する（ステップＦ１）。具体的には、ＣＰＵ６１０は、ユーザ認証用データ６７１を参照して、受信したユーザ名６７１１及びＰＩＮコード６７１３に対応付けてチャレンジコード６７１７が記憶されているか否かを判定し、記憶されていないと判定した場合は、時間同期方式であると判定する。一方、チャレンジコード６７１７が記憶されていると判定した場合は、チャレンジ・レスポンス方式であると判定する。
【００９０】
ステップＡ１において、時間同期方式であると判定した場合は（ステップＦ１；時間同期方式）、ＣＰＵ６１０は、ユーザ認証用データ６７１を参照して、受信したユーザ名６７１１及びＰＩＮコード６７１３から秘密符号６７１５を特定する（ステップＦ３）。
【００９１】
次いで、ＣＰＵ６１０は、現在の時刻の２分前、１分前及び現在の時刻の時刻データをそれぞれ作成し（ステップＦ５〜Ｆ９）、この３分分のワンタイムパスワードを発生させる（ステップＦ１１）。具体的には、ＣＰＵ６１０は、ステップＦ３で特定した秘密符号６７１５で３分分の時刻を暗号化したものを、それぞれのワンタイムパスワードとする。
【００９２】
次いで、ＣＰＵ６１０は、ユーザ端末３から受信したワンタイムパスワードが、ステップＦ１１で発生させた３分分のワンタイムパスワードの何れかと一致するか否かを判定し（ステップＦ１３）、一致するものがあると判定した場合は（ステップＦ１３；Ｙｅｓ）、当該ユーザの認証フラグ６７１９をＯＮに設定して（ステップＦ１５）、ユーザ認証処理を終了する。
【００９３】
ステップＦ１３において、一致するものがないと判定した場合は（ステップＦ１３；Ｎｏ）、ＣＰＵ６１０は、当該ユーザの認証フラグ６７１９をＯＦＦに設定して（ステップＦ１７）、ユーザ認証処理を終了する。
【００９４】
一方、ステップＦ１において、ワンタイムパスワードの発生方式がチャレンジ・レスポンス方式であると判定した場合は（ステップＦ１；チャレンジ・レスポンス方式）、ＣＰＵ６１０は、ユーザ認証用データ６７１を参照して、受信したユーザ名６７１１及びＰＩＮコード６７１３から、秘密符号６７１５とチャレンジコード６７１７とを特定する（ステップＦ１９）。
【００９５】
そして、ＣＰＵ６１０は、ワンタイムパスワードを発生させる（ステップＦ２１）。具体的には、ＣＰＵ６１０は、ステップＦ１９で特定した秘密符号６７１５でチャレンジコード６７１７を暗号化したものを、ワンタイムパスワードとする。その後、ＣＰＵ６１０は、ユーザ認証用データ６７１の当該ユーザのチャレンジコード６７１７をクリアする。
【００９６】
そして、ＣＰＵ６１０は、ユーザ端末３から受信したワンタイムパスワードが、ステップＦ２１で発生させたワンタイムパスワードと一致するか否かを判定し（ステップＦ２３）、一致すると判定した場合は（ステップＦ２３；Ｙｅｓ）、当該ユーザの認証フラグ６７１９をＯＮに設定して（ステップＦ２５）、ユーザ認証処理を終了する。
【００９７】
一方、ステップＦ２３において、ワンタイムパスワードが一致しないと判定した場合は（ステップＦ２３；Ｎｏ）、ＣＰＵ６１０は、当該ユーザの認証フラグ６７１９をＯＦＦに設定して（ステップＦ２７）、ユーザ認証処理を終了する。
【００９８】
図１０のサービス提供処理に戻って、ユーザ認証処理を終了すると、ＣＰＵ６１０は、当該ユーザの認証フラグ６７１９がＯＮであるか否かを判定し（ステップＥ１１）、ＯＮであると判定した場合は（ステップＥ１１；Ｙｅｓ）、サービス提供サーバ６へのログインを許可する接続許可信号をユーザ端末３に送信する（ステップＥ１３）。
【００９９】
ステップＥ１１において、当該ユーザの認証フラグ６７１９がＯＦＦであると判定した場合は（ステップＥ１１；Ｎｏ）、ＣＰＵ６１０は、サービス提供サーバ６へのログインを許可しない接続不許可信号をユーザ端末３に送信して（ステップＥ１７）、サービス提供処理を終了する。
【０１００】
一方、ユーザ端末３のＣＰＵ３１０は、認証結果を判定し（ステップＤ１７）、許可であったと判定した場合は（ステップＤ１７；許可）、サービス提供サーバ６からコンテンツをダウンロードするコンテンツＤＬ処理を開始して（ステップＤ１９）、サービス要求処理を終了する。
【０１０１】
この場合、サービス提供サーバ６のＣＰＵ６１０は、ユーザ端末３のコンテンツＤＬ処理に従って、コンテンツＤＢ６７３に含まれるコンテンツをダウンロードさせて（ステップＥ１５）、サービス提供処理を終了する。
【０１０２】
また、ステップＤ１７において、認証結果が不許可であったと判定した場合は（ステップＤ１７；Ｎｏ）、ユーザ端末３のＣＰＵ３１０は、不許可である旨のメッセージを表示部３３０に表示させて（ステップＤ２１）、サービス要求処理を終了する。
【０１０３】
４．作用効果
本実施形態によれば、電波時計４において、時刻修正を行う時刻になった場合又は時刻修正指示を検知した場合に、標準電波から取得した時刻コードに基づいた時刻修正が行われる。従って、時刻コードを含む電波に基づいて時刻情報が修正されるため、パスワード発生装置としての電波時計４の時刻を修正する必要がない。
【０１０４】
また、パスワードの発生指示を検知することでワンタイムパスワードが発生されるが、修正経過時間が所定時間以上経過した場合は、現在時刻ではなく、外部入力されたチャレンジコードに基づいてワンタイムパスワードが発生される。修正経過時間が長ければ長いほど、電波時計４の計時時刻の精度が落ちる恐れがあるが、この場合は時刻情報以外の外部情報に基づいてパスワードが発生されることになり、時刻精度に応じた、パスワードの発生に関する適切な制御が実現されるようになる。
【０１０５】
更に、修正経過時間が所定時間以上経過した場合は、ユーザに時刻修正を促す時刻修正喚起マーク４３１が表示される。従って、電波時計４の計時時刻の精度が落ちている恐れがあることが、ユーザに報知されるようになる。
【０１０６】
５．変形例
５−１．パスワード発生装置
本実施形態では、本発明のパスワード発生装置を腕時計型の電波時計に適用した場合について説明したが、例えば置時計型の電波時計に適用しても良いことは言うまでもない。また、本実施形態では、電波時計にパスワード発生装置が組み込まれているものとして説明したが、逆にパスワード発生装置に電波時計が組み込まれているような構成としても勿論良い。
【０１０７】
５−２．時刻修正の報知
メイン処理では、時刻修正喚起マーク４３１を表示させることでユーザに時刻修正を促すものとして説明したが、時刻修正を促すメッセージを表示させるようにしても良い。また、電波時計４にスピーカを具備させておき、ブザーやアナウンス等により時刻修正を促すような構成としても良い。
【図面の簡単な説明】
【０１０８】
【図１】（ａ）サービス提供システムの概略構成図。（ｂ）電波時計の概略外観図。
【図２】ユーザ端末の機能構成を示すブロック図。
【図３】電波時計の機能構成を示すブロック図。
【図４】電波時計におけるワンタイムパスワード発生の原理図。
【図５】サービス提供サーバの機能構成を示すブロック図。
【図６】ユーザ認証用データのデータ構成例を示す図。
【図７】メイン処理の流れを示すフローチャート。
【図８】時刻修正処理の流れを示すフローチャート。
【図９】ワンタイムパスワード発生処理の流れを示すフローチャート。
【図１０】サービス要求処理及びサービス提供処理の流れを示すフローチャート。
【図１１】ユーザ認証処理の流れを示すフローチャート。
【符号の説明】
【０１０９】
１      サービス提供システム
２      ユーザ側システム
３      ユーザ端末
３１０  ＣＰＵ
３２０  入力部
３３０  表示部
３４０  通信部
３５０  ＲＯＭ
３６０  ＲＡＭ
３７０  バス
４      電波時計
４１    バンド部
４１０  ＣＰＵ
４２０  入力部
４３０  表示部
４４０  電波受信部
４５０  計時部
４６０  ＲＯＭ
４７０  ＲＡＭ
４８０  バス
６      サービス提供サーバ
６１０  ＣＰＵ
６２０  入力部
６３０  表示部
６４０  通信部
６５０  計時部
６６０  ＲＯＭ
６７０  ハードディスク
６８０  ＲＡＭ
６９０  バス
７      時刻サーバ
【図１】
0004701965.tif 000002
【図２】
0004701965.tif 000003
【図３】
0004701965.tif 000004
【図４】
0004701965.tif 000005
【図５】
0004701965.tif 000006
【図６】
0004701965.tif 000007
【図７】
0004701965.tif 000008
【図８】
0004701965.tif 000009
【図９】
0004701965.tif 000010
【図１０】
0004701965.tif 000011
【図１１】
0004701965.tif 000012