(57)【要約】【課題】本発明の目的は、パス情報の漏洩を抑制して第三者が不正にパスコードを生成するのを抑制することである。【解決手段】本発明は、ホスト機器１８０からの時刻情報を受信するインターフェース１２０と、サーバ装置１７０のパス情報と関連するパス情報１５０であってカード１００のユーザごとに定められたパス情報１５０を記憶するＥＥＰＲＯＭ１３５と、ホスト機器１８０からの要求に応答して、ＥＥＰＲＯＭ１３５内のパス情報１５０とホスト機器１８０からの時刻情報からパスコードを生成し、パス情報１５０をホスト機器１８０へ送出することなく、パスコードをホスト機器１８０へ送出する乱数生成器１４５とを備える。【選択図】図１
2004295271.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置との間でパスコードを用いて相互認証を行うホスト機器に接続可能な個人使用可能なカードにおいて、
前記ホスト機器からの時刻情報を受信するインターフェースと、
前記サーバ装置のパス情報と関連するパス情報であって当該カードのユーザごとに定められた前記パス情報を記憶する不揮発性メモリと、
前記ホスト機器からの要求に応答して、前記不揮発性メモリ内のパス情報と前記ホスト機器からの時刻情報から前記パスコードを生成し、前記パス情報を前記ホスト機器へ送出することなく、前記インターフェースを介して前記パスコードを前記ホスト機器へ送出する処理装置とを備えることを特徴としたカード。
【請求項２】
請求項１に記載のカードにおいて、
当該カードと前記ホスト機器を経由した前記サーバ装置との相互認証の成功時刻を前記不揮発メモリに記憶して、記憶された前記成功時刻はその後に不正改ざん不能な如くカードを構成し、不正改ざん不能な前記成功時刻に基づいて当該カードの利用可否を制御することを特徴としたカード。
【請求項３】
請求項２に記載のカードにおいて、
前記処理装置は、前記ホスト機器からの時刻情報を検証する時刻判定部を備え、
前記時刻判定部は、最初の時刻検証が成功した際にその時刻情報を記憶し、
前記処理装置は、前記ホスト機器からの時刻情報が、前記接続認証の成功時刻と同じか古い場合には前記パスコードの生成を失敗させ、前記ホスト機器からの時刻情報が、前記パス情報に付随の有効期限よりも新しい場合には前記パスコードの生成を失敗させるか消去を行い、前記ホスト機器へ送出するパスコードをあらかじめ定めておいたバイト数に制限することを特徴としたカード。
【請求項４】
請求項２に記載のカードにおいて、
前記処理装置は、著作権保護に利用可能なライセンスデータを前記ホスト機器もしくは前記サーバ機器との相互認証の後に暗号化して前記不揮発性メモリに格納し、前記パス情報をライセンスデータとして前記不揮発性メモリに格納し、以後読み出しを禁止した状態において、前記パスコードの生成に利用可能とすることを特徴としたカード。
【請求項５】
請求項２に記載のカードにおいて、
前記不揮発性メモリは、有効期限付きのライセンスデータを保持し、
前記処理装置は、前記ライセンスデータがアクセスされる際に前記成功時刻と比較を行い、前記成功時刻よりも古い場合には前記有効期限付きのライセンスデータへのアクセスを中止もしくは前記ライセンスデータの消去を行うことを特徴とした前記カード。
【請求項６】
サーバ装置との間でパスコードを用いて相互認証を行うホスト機器に接続可能な個人使用可能なカードに搭載されるシングルチップマイコンにおいて、
前記ホスト機器からの時刻情報を受信する受信手段と、
前記サーバ装置のパス情報と関連するパス情報であって前記カードのユーザごとに定められた前記パス情報を、前記カード内の不揮発性メモリから読み出す読出手段と、
前記パス情報と前記ホスト機器からの時刻情報から前記パスコードを生成する生成手段と、
前記パス情報を前記ホスト機器へ送出することなく、前記パスコードを前記カード内のインターフェースを介して前記ホスト機器へ送出する送信手段とを備えることを特徴としたシングルチップマイコン。
【請求項７】
請求項６に記載のシングルチップマイコンにおいて、
前記カードと前記ホスト機器を経由した前記サーバ装置との相互認証の成功時刻を前記不揮発メモリに書き込み、記憶された前記成功時刻はその後に不正改ざん不能な如く前記カードを構成し、不正改ざん不能な前記成功時刻に基づいてカードの利用可否を制御することを特徴としたシングルチップマイコン。
【請求項８】
ユーザが使用する第１のコンピュータと通信可能な第２のコンピュータで前記ユーザを認証するためのパスコードを生成するための、前記第１のコンピュータに接続可能なパスコード生成器において、
前記第１のコンピュータと接続するインターフェースと、
前記第２のコンピュータが記憶するパス情報に一致するパス情報及び前記ユーザのユーザＩＤを記憶するメモリと、
時刻情報を内部又は前記メモリに格納し、前記第１のコンピュータから時刻情報を受信した場合に、前記第１のコンピュータからの時刻情報と前記内部又は前記メモリ内の時刻情報を比較し、前記第１のコンピュータからの時刻情報が前記内部又は前記メモリ内の時刻情報よりも新しい場合に、前記内部又は前記メモリ内の時刻情報を前記第１のコンピュータからの時刻情報に更新する時刻判定部と、
前記第１のコンピュータからの時刻情報が前記内部又は前記メモリ内の時刻情報よりも新しい場合に、前記メモリ内のパス情報と前記内部又は前記メモリ内の時刻情報から前記パスコードを生成し、前記パスコード及び前記ユーザＩＤを、前記インターフェースを介して前記第１のコンピュータへ送出する乱数生成器とを備えたことを特徴としたパスコード生成器。
【請求項９】
請求項８に記載のパスコード生成器において、
前記乱数生成器は、前記第１のコンピュータからの時刻情報が前記内部又は前記メモリ内の時刻情報よりも古い又は同一である場合に、前記パスコードの代わりにエラー情報を、前記インターフェースを介して前記第１のコンピュータへ送出することを特徴としたパスコード生成器。
【請求項１０】
請求項８に記載のパスコード生成器において、
前記メモリは、パスワードを記憶し、
前記時刻判定部は、前記第１のコンピュータからの時刻情報が前記内部又は前記メモリ内の時刻情報よりも古い又は同一である場合に、前記第１のコンピュータからのパスワードと前記メモリ内のパスワードを比較し、前記第１のコンピュータからのパスワードが前記メモリ内のパスワードに一致した場合に、前記内部又は前記メモリ内の時刻情報を前記第１のコンピュータからの時刻情報に更新することを特徴としたパスコード生成器。
【請求項１１】
請求項８に記載のパスコード生成器において、
前記メモリは、有効期限付きデータを記憶し、
当該パスコード生成器は、前記第１のコンピュータからの時刻情報が前記内部又は前記メモリ内の時刻情報よりも新しい場合に、更新後の前記内部又は前記メモリ内の時刻情報を用いて前記有効期限を検証するデータ管理部を備えたことを特徴としたパスコード生成器。
【請求項１２】
請求項１１に記載のパスコード生成器において、
前記メモリは、暗号化されたコンテンツデータを記憶し、
前記有効期限付きデータは、前記コンテンツデータを復号するためのライセンスであり、
前記データ管理部は、前記第２のコンピュータが前記パスコードを用いて前記ユーザの認証に成功した場合に、前記第２のコンピュータから送出さらた前記有効期限付きデータを前記第１のコンピュータ及び前記インターフェースを介して受信し、受信された前記有効期限付きデータを前記メモリに格納することを特徴としたパスコード生成器。
【請求項１３】
請求項１１に記載のパスコード生成器において、
前記メモリは、パスワードを記憶し、
前記データ管理部は、前記第１のコンピュータからの時刻情報が前記内部又は前記メモリ内の時刻情報よりも古い又は同一である場合に、前記有効期限付きデータを無効化し、前記第１のコンピュータからのパスワードと前記メモリ内のパスワードを比較し、前記第１のコンピュータからのパスワードが前記メモリ内のパスワードに一致した場合に、無効化された前記有効期限付きデータを有効化することを特徴としたパスコード生成器。
【請求項１４】
請求項１３に記載のパスコード生成器において、
前記パスワードは、前記ユーザとは異なる管理者に付与されたパスワードであることを特徴としたパスコード生成器。
【請求項１５】
請求項８に記載のパスコード生成器において、
前記時刻判定部は、前記内部又は前記メモリ内の時刻情報の更新回数を計億し、予め定められた期間内に前記更新回数が予め定められた回数を超えた場合に、前記パスコードの代わりにエラー情報を、前記インターフェースを介して前記第１のコンピュータへ送出することを特徴としたパスコード生成器。
【請求項１６】
ユーザが使用する第１のコンピュータと通信可能な第２のコンピュータで前記ユーザを認証するためのパスコードを生成するための、前記第１のコンピュータに接続可能なパスコード生成器において、
前記第１のコンピュータと接続するインターフェースと、
前記第２のコンピュータが記憶するパス情報に一致するパス情報及び前記ユーザのユーザＩＤを記憶するメモリと、
時刻情報を内部又は前記メモリに格納し、前記内部又は前記メモリ内の時刻情報を前記第１のコンピュータへ送出し、前記第１のコンピュータ内の時刻情報が前記内部又は前記メモリ内の時刻情報よりも新しいと前記第１のコンピュータによって判断された場合に、前記第１のコンピュータ内の時刻情報を前記第１のコンピュータから受信し、前記内部又は前記メモリ内の時刻情報を前記第１のコンピュータからの時刻情報に更新する時刻判定部と、
前記第１のコンピュータ内の時刻情報が前記内部又は前記メモリ内の時刻情報よりも新しい場合に、前記メモリ内のパス情報と前記時刻情報から前記パスコードを生成し、前記パスコード及び前記ユーザＩＤを、前記インターフェースを介して前記第１のコンピュータへ送出する乱数生成器とを備えたことを特徴としたパスコード生成器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のコンピュータ（例えば、サーバ装置とクライアント端末）間で一方のコンピュータが他方のコンピュータを認証又は一方のコンピュータが他方のコンピュータのユーザを認証するために用いられるカード（例えば、メモリカード）又はパスコード生成器に係り、特にその認証に用いられるワンタイムパスコードを生成可能なカード又はパスコード生成器に関する。
【０００２】
【従来の技術】
従来の技術として、携帯電話やトークン内でユーザＩＤと現在時刻情報と共通の秘密情報とを用いてハッシュ値を求め、ワンタイムパスワードを生成し、表示部に表示する。ユーザＰＣは、ユーザからユーザＩＤとワンタイムパスワードの入力を受け、そのユーザＩＤとワンタイムパスワードをユーザ認証サーバへ送信する。ユーザ認証サーバは、ユーザＩＤと現在時刻情報と共通の秘密情報とを用いて、同様にワンタイムパスワードを生成し、生成したワンタイムパスワードとユーザＰＣからのワンタイムパスワードを検証する（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００２−２５９３４４号公報
【０００４】
【発明が解決しようとする課題】
上記従来の技術では、ワンタイムパスワードの生成に用いる秘密情報が複数のユーザ間で共通であることから秘密情報が漏洩し易く、また、ワンタイムパスワードの生成に用いるユーザＩＤが携帯電話やトークン外部へ出ることからユーザＩＤも漏洩し易いため、秘密情報及びユーザＩＤを盗用した第三者がワンタイムパスワードを生成できる恐れがある。また、上記従来の技術では、ワンタイムパスワードを生成する携帯電話やトークン内部の時刻情報を検証することが考慮されていない。
【０００５】
本発明の目的は、パス情報の漏洩を抑制して第三者が不正にパスコードを生成するのを抑制できるカード又はパスコード生成器を提供することである。
【０００６】
本発明の目的は、ユーザや第三者がカード内部の時刻情報を不正に変更するのを抑制できるカード又はパスコード生成器を提供することである。
【０００７】
【課題を解決するための手段】
本発明は、ホスト機器からの要求に応答して、カード内の不揮発性メモリ内のパス情報とホスト機器からの時刻情報からパスコードを生成し、パス情報をホスト機器へ送出することなくパスコードをホスト機器へ送出する。そして、ホスト機器は、パスコードを用いてサーバ装置との間で相互認証を行う。そして、好ましくは、カードとホスト機器を経由したサーバ装置との相互認証の成功時刻が、その後に不正改ざん不能な如くカードを構成し、不正改ざん不能な前記成功時刻に基づいてカードの利用可否を制御する。
【０００８】
また、本発明は、第１のコンピュータ（例えば、ホスト機器）から時刻情報を受信した場合に、第１のコンピュータからの時刻情報と時刻判定部内又はメモリ内の時刻情報を比較し、第１のコンピュータからの時刻情報が時刻判定部内又はメモリ内の時刻情報よりも新しい場合に、時刻判定部内又はメモリ内の時刻情報を第１のコンピュータからの時刻情報に更新し、第１のコンピュータからの時刻情報が時刻判定部内又はメモリ内の時刻情報よりも新しい場合に、メモリ内のパス情報と時刻判定部内又はメモリ内の時刻情報からパスコードを生成し、パスコード及びユーザＩＤを、第１のコンピュータへ送出する。そして、第１のコンピュータは、パスコードを第２のコンピュータ（例えば、サーバ装置）へ送信し、第２のコンピュータがパスコードを用いてユーザ認証を行う。
【０００９】
【発明の実施の形態】
図１は本発明を適用したシステムの構成をあらわす図である。
【００１０】
カード１００はインターフェース１２０と、ＩＣカードチップ１３０から構成される。ここでカード１００としては、ＭＭＣ（ＭｕｌｔｉＭｅｄｉａＣａｒｄの略である。ＭｕｌｔｉＭｅｄｉａＣａｒｄはＩｎｆｉｎｅｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  ＡＧ  の登録商標である）、セキュアＭＭＣ、ＳＤメモリカード（ＳＤはＳｅｃｕｒｅ  Ｄｉｇｉｔａｌの略である）、メモリスティック（メモリスティックはソニー（株）の登録商標である）、コンパクトフラッシュ（コンパクトフラッシュは米国ＳａｎＤｉｓｋ社の登録商標である）、ＩＣカード等が該当する。
【００１１】
またインターフェース１２０としては、ＭＭＣインターフェース、ＳＤインターフェース、メモリスティックインターフェース、ＩＣカードインターフェース、コンパクトフラッシュインターフェース、無線インターフェース等が該当する。
【００１２】
また、ＩＣカードチップ１３０は、主にメモリ（例えば、ＥＥＰＲＯＭＥｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）と演算処理装置と論理回路とそれらを接続する配線が１チップ上に実装されたものである。ＩＣカードチップ１３０は外部からの半導体解析装置を用いた解析が行われた際には、それを検知する機能を持ち、解析が検知された際にはメモリを消去し、演算を停止する機能を持つものであってもよい。またＩＣカードチップ１３０は、ＩＤ１５５とパス情報１５０（例えば、パスコードを生成するためのシード値）を記憶するＥＥＰＲＯＭ１３５並びに時刻判定部１４５、乱数生成器１４０を有する。時刻判定部１４５、乱数生成器１４０は、演算処理装置及び論理回路で構成される。
【００１３】
ここでＩＤ１５５とパス情報１５０は認証のために必要な個別の情報であり、ＩＤ１５５を指定することでパス情報１５０を特定することができる。またＩＤ１５５は、サーバ装置１７０において、ユーザのパス情報１５０を特定するためにも用いられる。カード１００内のパス情報１５０とサーバ装置１７０内のパス情報は一致する。
【００１４】
時刻判定部１４５は図２のブロック図のような構成をとる。時刻判定部１４５は比較器２１０と、ワークＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２０、不揮発メモリ２３０を持つ。ここで、ワークＲＡＭ２２０には更新回数２２５が、不揮発メモリ２３０は最終更新日時２３３及び制御情報２３６及び利用開始日時２３８が格納されているものとする。但し、最終更新日時２３３及び制御情報２３６及び利用開始日時２３８は、ＥＥＰＲＯＭ１３５に格納されてもよい。比較器２１０は外部から入力された時刻データを検証するための装置である。図２のフローチャートは、時刻データを検証する際の仕組みについて表している。時刻判定部１４５は、時刻データの入力があると（２５２）、ＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）検証を行う（２６２）。この処理は、カード１００もしくは乱数生成器１４０に利用制限をかけたい場合におこなってもよく、利用者もしくは利用装置の制限が無い場合は省略してもよい。ＰＩＮの検証とは、ホスト機器１８０から入力されたＰＩＮとカード１００内部に保持された認証データの相関関係を調べ、これがある基準を満たす場合に利用者を認めるための仕組みで、ＰＩＮ検証に成功すると、ユーザもしくはホスト機器はデータアクセス権もしくは機能利用権を獲得できる。例えばＰＩＮとしてユーザが記憶している文字列もしくは数字列を用いれば、ユーザ認証が可能となり、ユーザが記憶している文字列並びに数字列と、ホスト機器１８０固有の情報を併せたものを乱数を用いてスクランブルしたものを入力データとすれば、ホスト機器１８０の制限についても可能になる。ここでホスト機器固有の情報とは、ホスト機器のシリアルナンバーや、ＩＰアドレス等が該当する。両方の検証に失敗したならば、エラーメッセージをセットし（２７６）、ホストに返す。両方の検証が成功である場合、次に入力された時刻データと最終更新日時２３３の比較を行う。最終更新日時２３３とは、最後にカード１００内部の時刻データが更新された日時である。但し、不揮発メモリ２３０は、入力された時刻データを逐次記憶してもよい。通常操作において、一度入力した時刻よりも古い時刻を用いることはできないこととする。この仕組みにより、後に述べるデータの有効期限と組み合わせたアクセス制限が利用可能となり、また不正な利用者がホスト機器１８０の時計を操作して未来の時刻を入手し、またもとの時刻に戻すことで正規の利用者が気付かない間にパスワードを盗み取るといった行為を防止する役割も持つ。さらに、パスコードの盗難を防止するために、最終更新日時２３３はホスト機器１８０に読み出し可能としてもよい。時刻データより最終更新日時２３３が新しい場合、認証が管理者用のＰＩＮで行われているかチェックする（２６８）。誤操作やホスト機器の時計の誤作動により、最終更新日時２３３が現在の時刻よりも著しく進んでしまった場合の復旧手段として、システムの管理者が、管理者用のＰＩＮと正しい時刻を入力することで、最終更新日時２３３を戻してもよい（２７０）。システムの管理者の代わりにユーザであってもよい。時刻データが最終更新日時２３３よりも新しい場合、次に更新回数２２５���制御情報２３６に記載の回数を超えているかどうか判定する（２６６）。ここで更新回数２２５とは、ある一定期間の最終更新日時２３３の更新した回数を表す。これには、電源がＯＮになってからの更新回数、あるＰＩＮのもとでの更新回数、最終更新日時２３３に基づいた、ある一定期間内での更新回数等が該当する。更新回数２２５はこれら要件ごとに用意されていてもよい。またホスト機器１８０から要求に応答して、更新回数２２５は種別に応じたタイミングでリセットされてもよく、電源ＯＦＦ後もカウントを続ける目的で不揮発メモリ２３０に格納してもよいし、手続き２６６を単に制御情報２３３と最終更新日時２３６を利用したアクセス制限のために用いてもよい。例えば、利用開始時刻２３８から、２年間に千回利用可能といったアクセス制限を設けてもよい。利用開始日時２３８は最初に時刻の更新を行った日時を表す。また、更新回数２２５を記憶する代わりに、変更した最終更新日時２３３をログとして保存しておいてもよい。この場合、メモリの容量と制御情報２３６の示す要件に従い、過去何件のログを保持するかを決定してもよい。更新回数２２５が制御情報２３６に記載の回数を超えている場合でも、認証が管理者用のＰＩＮで行われているならば、最終更新日時２３３を更新してもよい。更新回数２２５が制御情報２３６に記載の回数に達していない場合、更新回数２２５の更新を行い（２７２）、最終更新日時２３３の更新を行い（２７４）、メッセージをセットし出力する（２７６）。カード１００は、この情報を読み取り、次の操作を決定する（２５４）。
【００１５】
図１における乱数生成器１４０は入力データから、予測困難な出力データを生成するための演算器である。ただし乱数生成器１４０の生成する乱数は、ある入力データから計算される出力データが一意であるような仕組みとする。乱数生成器１４０としてはＳＨＡ−１やＭＤ５といったハッシュ関数を利用したものや、独自のスクランブル関数が該当する。本発明では、乱数生成器１４０が生成した乱数を、パスコード３１０として利用している。
【００１６】
ただし、カードは図６のようにコントローラ６１０とフラッシュメモリ６２０から構成構成されるシステムであってもよい。この時、パス情報１５０とＩＤ１５５を暗号化した状態でフラッシュメモリ６２０に、時刻判定部１４５及び乱数生成器１４０をコントローラ６１０が有する仕組みであってもよい。また、コントローラ６１０及びフラッシュメモリ６２０に加えて、ＩＣカードチップ１３０を有する構成であってもよい。この場合、ＩＣカードチップ１３０にＩＤ１５５とパス情報１５０並びに時刻判定部１４５、乱数生成器１４０を有する構成であってもよいし、ＩＣカードチップ１３０に、ＩＤ１５５及びパス情報１５０だけがあり、残りの機能をコントローラ６１０が持つ構成であってもよい。この方法を用いれば、安全性の高いＩＣカードチップにパス情報を格納でき、またＩＣカードチップ１３０よりも高性能なＣＰＵや専用ハードウエアを持つことで処理の高速化が可能なコントローラ６１０で乱数生成等の処理が行えるため、全体の処理効率を高める効果がある。ここで用いられる時刻判定部１４５及び乱数生成器１４０はカード内で実行されるソフトウエアで行われてもよく、またハードウエアで実装されてもよい。
【００１７】
ＩＣカードチップ１３０内の格納されるＩＤ１５５及びパス情報１５０は書き換え可能なデータであり、ＥＥＰＲＯＭ１３５のような、電気的もしくは物性的に消去及び書き込み可能な不揮発性メモリ上に格納する。
ここでカード１００はインターフェース１２０を通じてホスト機器１８０に接続される。ホスト機器１８０は個人が利用可能な端末であり、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒの略である）や、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である）や、携帯電話、キオスク端末、入室・入場を許可するゲート装置などが該当する。ホスト機器１８０は時計１６０を持つか、サーバ装置１７０から送られてくる時刻データを受け取るインターフェースを持つ。ホスト機器１８０は時刻データをカード１００に送ることで、パスコードの計算を行う。このときカード１００の利用を制限するためにユーザ認証用の暗証番号をカード１００に入力する構成であってもよい。
【００１８】
またホスト機器はインターネットやＬＡＮ等のネットワーク接続可能なインターフェースを持ち、サーバ装置１７０に接続可能であることとする。サーバ装置１７０は内部に認証を行う機能が組み込まれていてもよいし、別に認証サーバを設ける仕組みであってもよい。
【００１９】
サーバ装置は時計１６０と、ユーザ数に応じたＩＤ１５５とパス情報１５０の組、及び乱数生成器１４０、及びパスコード検証部１７４、及びパス情報検索部１７８とを有していることとする。
【００２０】
図３はこのシステムを利用した認証の仕組みについて表している。ホスト機器１８０は、パスコード３１０の生成をカード１００へ指示すると共に、カード１００に時計１６０から得た時刻を入力する。カード１００は入力された時刻とパス情報１５０を乱数生成器１４０に入力することにより、パスコード３１０を生成する。カード１００は、生成されたパスコード３１０とＩＤ１５５をホスト機器１８０に送信する。ホスト機器１８０は、カード１００から受信したパスコード３１０とＩＤ１５５を、ネットワーク１９０を通じてサーバ装置１７０へ送信する。サーバ装置１７０は、ホスト機器１８０から受け取ったデータのうち、ＩＤ１５５を用いてパスコード検索部１７８を用いて、パス情報１５０を特定する。次に特定したパス情報１５０と時計１６０から得られた時刻を乱数生成器１４０に入力することにより、パスコード３１０を作成する。得られたパスコード３１０と、ホスト機器１８０から送られてきたパスコードをパスコード検証部１７４で検証することにより、可否を判定する。
【００２１】
ここで、ホスト機器がカード１００に入力するデータとしては、時刻の他に、カード１００を利用するためのＰＩＮが含まれていてもよい。この場合、カード１００は、パスコードを生成する前にパスワード検証を行う。検証を行うパスワードは、利用するサービスや権限に応じて複数利用可能であってもよい。また、カード１００が複数のシステムで利用可能であったり、一つのシステムでも、複数のＩＤとパスコード３１０の組を持つことが可能であるシステムであるならば、ＩＤもしくはＩＤの識別子を入力データとして持つことにより、パスコード３１０の生成に利用するパス情報１５０を選択できる仕組みであってもよい。また発行する順番に従って、異なるパス情報１５０が用いる仕組みであってもよい。さらにホスト機器１８０の操作に対してもＰＩＮの入力が必要であるならば、ホスト機器１８０の操作のために用いたＰＩＮをカード１００に入力するＰＩＮとしてもよい。
【００２２】
乱数生成器１４０を利用する前には、時刻判定部１４５を用いて、入力された時刻の検証を行ってもよい。またパス情報１５０に有効期限が設定されている場合には、時刻判定部１４５の検証後にこの有効期限の判定を行い、利用の可否を定めてもよい。パス情報１５０が有効期限を越えている場合には、利用を制限するのみではなく、パス情報の削除を行ってもよい。また生成されたパスコードの全てを用いてサーバ装置１７０が認証を行うのでないならば、カード１００から出力するデータをサーバ装置１７０が利用するバイト数に制限することで、パス情報１５０の解析を困難にすることができる。このバイト数は、管理用のＰＩＮを用いることにより、変更できる仕組みであることが望ましい。また、ホスト機器１８０からサーバ装置１７０にパスコードを送る際に、ユーザが覚えている文字列もしくは数字列や、ホスト機器１８０を特定するデータが含まれていてもよい。この場合、サーバ装置１７０はユーザのパス情報１５０をＩＤ１５５から特定した後、パス情報１５０に関連付けられた参照ＰＩＮを用いてパスコードに付随の文字列を検証してもよい。またこの操作をパスコード検証部１７８でパスコードを検証するタイミングで行ってもよい。また乱数生成に用いる時刻は、サーバ装置１７０とホスト機器１８０の時間差が考えられるため、カード１００に送る時刻は、あらかじめサーバ１７０がネットワーク１９０を通じてホスト機器１８０に送ったデータを用いてもよい。また、乱数生成器１４０に入力する時刻は、秒の単位を切り捨てることで同期を取りやすくしたり、サーバ装置１７０が数分先もしくは数分後のパスコードを計算することで時間差に対処してもよい。
【００２３】
このシステムでは、カード１００がパス情報１５０の管理とパスコードの生成を行うため、ホスト機器１８０にパス情報を読み出す場合よりも、パス情報の安全性を高められるという効果をもつ。つまり、パス情報１５０の盗用を防止することができる。また、カード１００を利用するホストアプリケーションは、乱数生成器１４０のアルゴリズムによらず利用できるため、乱数生成器１４０の秘匿性並びにホストアプリケーションの簡略化の効果をもつ。また、利用開始日時２３８を記憶しておくことで、カード個別に、現在時刻に応じた有効期限を定める必要がなく、製造コストの低減という効果をもつ。さらに最終更新日時２３３で常に新しい時刻のみを登録できるようにすることで、次に紹介する実施例のようなサービスが構築できる。
【００２４】
図４はこのシステムを利用したサービスの実施例を表している。サービス事業者４６０はパス情報１５０とＩＤ１５５の組を持ったカード１００をユーザに発行する（４８０）。またカード１００は乱数生成機能１４５の他に、データの通信路を暗号化することによる著作権保護機能を持つ。このときの通信路の暗号化手法としては、お互いに証明書と秘密鍵のペアを持ち、これを用いてセッション鍵を生成し、暗号化して交換する仕組みや、あらかじめ共通鍵の組を持っておき、このうちの任意の共通鍵を利用してセッション鍵の生成及び交換を行う仕組みであってもよい。この著作権保護機能を用いれば、コンテンツ利用のためのライセンスを複製、盗聴を防止しつつコンテンツを配信することが可能になる。サービス事業者４６０は提供するサービスのためにライセンスサーバ４４０及び認証サーバ４５０を用意する（４８２）。ライセンスサーバ４４０はネットワーク１９０を介してホスト機器１８０と接続され、またネットワーク１９０もしくはＬＡＮなどを通じて認証サーバ４５０に接続されているものとする。ここでホスト機器１８０が認証サーバ４５０に直接アクセスする仕組みであってもよく、ルータを介すことにより、認証サーバ４５０やライセンスサーバ４４０に接続される仕組みであってもよい。ホスト機器１８０はサービス事業者発行４６０が発行するカード１００を利用することができるものであるとする。ここで、ニュース配信サービスを例とし、この実施例の説明を行っていく。ただし、カード１００にはあらかじめ一ヶ月ニュース配信サービスを受けるためのパス情報１５０が格納され、ライセンスサーバは暗号化したコンテンツと、コンテンツ利用のためのライセンス情報を分けて配信するものとする。またパス情報及びライセンスには有効期限情報が付与されており、ここでユーザが選択したサービスでは個々のニュースの閲覧期間は１週間であるとする。
【００２５】
このサービスを利用する際、ユーザはカード１００を利用し、ホスト機器１８０から得た時刻を基にパスコードを生成し、ＩＤ１５５を含むユーザ情報と共にホスト機器１８０に送る（４６０）。ホスト機器１８０は、カード１００から得たパスコード及びユーザ情報をネットワーク１９０を介してライセンスサーバ４４０に送る（４６２）。ライセンスサーバ４４０は送られてきたパスコードとＩＤ１５５を認証サーバ４５０に送信し、ユーザの認証を行う（４６４）。ユーザの認証に成功すると、認証サーバ４５０は認証結果をライセンスサーバ４４０に送り返す（４７２）。ライセンスサーバ４４０は認証が成功していることを確かめると、暗号化したコンテンツと、コンテンツ利用のためのライセンスをホスト機器１８０に送信する（４７４）。ライセンスは、暗号化したコンテンツを復号することが可能である。尚、暗号化したコンテンツは、ライセンスを発行したライセンスサーバ４４０以外のサーバが送信してもよい。ここでライセンスは暗号化通信により保護されているため、直接カード１００に格納されるが、ライセンスが保護されている限り置き場所は自由であるため、用途に応じてホスト機器１８０の中のＲＡＭか、カード１００内のフラッシュメモリ６２０に格納してもよい。
【００２６】
図５は図４のシステムを利用して格納したライセンスを読み出し、コンテンツを閲覧する手順について示している。ホスト機器１８０は必要ならばユーザにパスワードの入力を促し、利用したいライセンスＩＤと共にカード１００に送る（５２２）。カード１００は送られてきたパスワードの検証を行い（５４２）、次に時刻判定部１４５を利用した時刻の検証を行う（５４４）。ここで、両方の検証に成功した場合、次にライセンスＩＤで指定されたライセンスの検索を行う（５４８）。しかしパスワードもしくは時刻のどちらか一方でも検証に失敗した場合、エラーメッセージをセットし（５５６）、ホスト機器１８０に返す（５７６）。ここで、時刻の検証は、パスワードの検証が成功した後に行われてもよい。ここでパスワードの検証後に時刻の検証を行うのは、不正なユーザにより、最終更新日時２３３が書き換えられるのを防ぐためである。また、ライセンスＩＤの入力は、パスワードと同時でなくてもよく、ライセンスの格納位置が固定である場合は入力しなくてもよい。検索が成功すると、ライセンスに付随の有効期限を用いて最終更新日時２３３よりも新しいかどうかの確認を行う（５５０）。ライセンスの有効期限よりも最終更新日時２３３の方が新しい場合、ライセンスは利用できないため、ライセンスを消去してもよいし、フラグにより無効に設定してもよい。フラグにより無効にするという手段を用いれば、時刻の誤入力により最終更新日時２３３が実際よりも先の日時に設定されたことが原因でライセンスが無効になった場合に、フラグを有効にすることによって復旧することができる。このような誤入力や通信エラーが原因でライセンスが利用できなくなった場合に備え、ライセンスには、ライセンスサーバが個々のライセンスを識別するためのライセンスＩＤと、通信セッションを識別する通信ＩＤを保持しておくことが望ましい。これらの情報をライセンスを消去した後も保持して置くようにすれば、誤操作が原因でライセンスの削除が生じた場合にこれを復旧することが可能になる。ライセンスの有効期限が最終更新日時２３３よりも新しい場合、ホスト機器１８０のアプリケーションもしくはライブラリとの間で暗号通信路の構築を行う（５３０）。この後、カード１００はライセンスを暗号通信路に載せてホスト機器１８０に送信する。ホスト機器１８０はライセンスから暗号化コンテンツ復号のための暗号鍵を取り出し（５７０）、暗号化コンテンツデータの復号を行い（５７２）、コンテンツデータの利用を行うことができる（５７４）。
【００２７】
ここで、図４のモデルに従うならば、暗号化コンテンツは暗号化されたニュースデータが該当する。この仕組みを用いれば、ユーザは、毎日のニュースをライセンスサーバから取得する際に現在時刻を用いた認証を行うため、カード内の最終更新日時２３３はこのタイミングで正しい時刻に更新される。従って、ユーザが毎日のニュース配信を希望する限り、カード内の時刻は正しい時刻に更新されつづけるので、一週間前の有効期限の切れたライセンスは自動的に利用できなくなる。こういったシステムが応用できるサービスとしては、音楽やビデオコンテンツやソフトウエアのレンタル配信等が該当する。従来のシステムでは、サービスの認証とコンテンツの有効期限が独立に管理されていたため、このような利用を行うことはできなかった。また、ライセンスの有効期限判定をカード内で行えるため、ホスト機器１８０のソフトウエアのみで有効期限の管理を行うよりも確実にライセンスの不正利用を防止することができるという効果をもつ。
【００２８】
また、図４に示すカードは著作権保護機能を持ち、この機能を用いることでライセンスの複製や盗聴を防止できると述べたが、この機能を用いることにより、ライセンスサーバからパス情報１５０及びＩＤ１５５をダウンロードし、利用できる仕組みであってもよい。このときパス情報１５０はホスト機器１８０に読み出されてはいけないデータであるため、カード１００に格納されるデータには個別にアクセス制限のための情報が付与されるか、カード１００内のホスト機器１８０から読み出しが禁止されている領域に格納されることが望ましい。
【００２９】
また、図３に示す認証のシステムは、乱数生成器により生成したパスコードとＩＤに加え、ホスト機器１８０が計算に利用した現在時刻をサーバ装置１７０に送るような仕組みであってもよい。この手法を用いれば、サーバ装置１７０はホスト機器１８０との時間差を計算する必要が無く、サーバ装置１７０から時刻を受け取り計算する場合よりも通信回数が減るため、処理負荷が軽減できる。またサーバが持つ現在時刻と著しく異なる時刻が送られてきた場合には、検証を行わないようにしてもよい。
【００３０】
パスコードを外部から与えられた時刻と、カード内に格納したパス情報をもとにカード内で生成することにより、パス情報がカード外部へ送出されないため、パス情報の秘匿性を高めることができる。その際に外部から与えられる時刻を時刻判定部が検証することにより、不正な時刻を入力した利用を防止できる。
【００３１】
【発明の効果】
本発明によれば、パスコードを生成するためのパス情報がカード外部へ送出されないため、パス情報の漏洩を抑制でき、第三者が不正にパスコードを生成するのを抑制できる。
【００３２】
本発明によれば、パス情報がユーザごとに定められているため、パス情報の漏洩を抑制でき、第三者が不正にパスコードを生成するのを抑制できる。
【００３３】
本発明によれば、ユーザ認証に成功した時刻情報を用いてカード内部の時刻情報を更新するため、ユーザや第三者がカード内部の時刻情報を不正に変更するのを抑制できる。例えば、パスコードの生成に用いた時刻情報を用いて有効期限が切れているか否かを確認するため、ユーザや第三者が不正に時刻情報を変更して有効期限切れのカードやデータを使用するのを抑制できる。
【図面の簡単な説明】
【図１】本発明を適用したシステムのブロック図である。
【図２】時刻判定部の内部構成をあらわす図である。
【図３】本発明を適用したシステムの基本構成をあらわすフローチャートである。
【図４】本発明を用いた運用モデルをあらわす図である。
【図５】本発明における有効期限管理手段をあらわすフローチャートである。
【図６】カードがコントローラとフラッシュメモリからなる場合をあらわした図である。
【符号の説明】
１００…カード、１５０…パス情報、１４５…時刻判定部、サーバ装置…１７０、ホスト機器…１８０、サービス事業者…４６０、ＩＣカードチップ…１３０。
【図１】
2004295271.tif 000003
【図２】
2004295271.tif 000004
【図３】
2004295271.tif 000005
【図４】
2004295271.tif 000006
【図５】
2004295271.tif 000007
【図６】
2004295271.tif 000008