説明

セキュリティシステム、認証装置、認証トークンのセット、認証方法、認証プログラム、及び認証トークン用アプリケーションプログラム

【課題】 複数段階の認証処理を行うセキュリティシステムにおいて、その安全性を損なうことなく、操作性を向上することが可能なセキュリティシステム等を提供する。
【解決手段】 セキュリティシステム1は、第1の認証トークンと第2の認証トークンとで共通の署名鍵を保持し、認証装置と第2の認証トークンとで認証鍵を保持する。第1の認証トークンにてPIN認証が成功すると、第1の認証トークンは署名鍵を用いて署名データを生成し、その署名データが第2の認証トークンへ渡される。第2の認証トークンでは署名データを用いて署名鍵の一致を検証し、一致が検証されればPIN認証成功状態を引き継ぐ。認証装置4と第2の認証トークンとの間でも認証処理が行われ、安全にPIN認証状態を引き継ぎつつPIN入力の回数を削減できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカード、USBデバイス等の認証トークンを用いて複数段階の認証処理を行うセキュリティシステムにおける認証方法等に関する。
【背景技術】
【0002】
近年、コンピュータ等の情報処理装置を安全に起動するために、ICカードやUSBデバイス、メモリカード等を認証トークン(セキュリティトークン)として使用し、ユーザ認証やシステム検証を行ったうえで装置を起動させる仕組みが提案されている。ここで、認証トークンとは、データを秘匿に記憶でき、装置に脱着可能な可搬性のデバイスであり、社員証等で普及しているICカード、SIM(Subscriber Identity Module)、USIM(Universal Subscriber Identity Module)、ミニSIM、USBメモリ、演算機能を有するメモリカード等が含まれる。例えば、特許文献1では、USB互換記憶装置を暗号化キーの格納のための認証トークンとして使用する例が提示されている。
【0003】
また、企業等においてクライアント端末に必要な機能のみを持たせ、機密情報等の情報資源の管理やアプリケーションの処理等の機能をサーバに集約させたシンクライアントシステム(Thin Client System)が導入されている。シンクライアントシステムを実現するために、シンクライアントシステム専用のコンピュータを導入してもよいが、シンクライアントシステム専用のコンピュータの導入は、コスト、利便性の面から望ましいとはいえない。そこで、特許文献2に記載されているように、USBメモリ、メモリカード、ICカード、CD−ROM等の携帯可能なデバイスやネットワークストレージにシンクライアントシステム専用のOS(オペレーティングシステム)を格納しておき、汎用のコンピュータからシンクライアントOSを読出して起動することにより、汎用のコンピュータをシンクライアント端末化する手法が用いられている。更に、改竄されたシンクライアントOSの使用を防ぐため、特許文献3のように、USBメモリ等に記憶されたシンクライアントOSの改竄を発見するプラットフォーム完全性検証システムが利用されることもある。
【0004】
上述のような各種セキュリティシステムにおいては、セキュリティを強化するため、複数段階にわたって認証処理を行うことがある。例えば、上述のシンクライアントシステムでは、シンクライアントOS起動時に第1の認証トークン(上述のUSBメモリやメモリカード)及びPINを用いた認証処理を実行し、更に、上記専用OS起動後、ネットワーク接続する際にVPN認証用の電子証明書等が格納された第2の認証トークン(例えば、社員証等として使用されるICカード)を使用し、この段階でもPINを用いてユーザ認証した後にVPNサーバとの認証処理を実行することがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2010−517424号公報
【特許文献2】特開2007−299136号公報
【特許文献3】特開2009―175923号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述のように複数段階の認証処理を行うセキュリティシステムにおいては、認証処理の都度、ユーザがPIN等の認証コードを入力する必要があった。そのため操作が煩雑であった。
【0007】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、複数段階の認証処理を行うセキュリティシステムにおいて、その安全性を損なうことなく、操作を簡素にすることが可能なセキュリティシステム、認証装置、認証トークンのセット、認証方法、認証プログラム、及び認証トークン用アプリケーションプログラムを提供することである。
【課題を解決するための手段】
【0008】
前述した課題を解決するため第1の発明は、PINで保護された複数の認証トークンを用いて、複数段階の認証処理を実行する認証装置を備えたセキュリティシステムであって、第1の認証トークンは、PINコード及び署名鍵を保持し、第2の認証トークンは、前記第1の認証トークンと共通の署名鍵と、前記認証装置との認証処理に使用する認証鍵とを保持し、前記認証装置は、前記認証鍵を保持し、更に、前記第1の認証トークンを用いてPIN認証を実行する第1認証手段と、前記第1認証手段においてPIN認証が成功した場合に、任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成要求手段と、前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証手段と、前記第2認証手段において前記第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証要求手段と、を備え、前記第1の認証トークンは、前記認証装置から入力される署名データ生成要求に応答して、前記任意のデータ列と当該第1の認証トークンが保持する署名鍵とを用いて署名データを生成し、前記認証装置へ送信する署名データ生成手段を備え、前記第2の認証トークンは、前記認証装置から入力される検証要求に応答して、前記データ列と前記署名データと当該第2の認証トークンが保持する署名鍵とを用いて、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証し、検証結果を前記認証装置へ送信する検証手段と、前記検証手段により前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合は、前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ引継手段と、を備えることを特徴とするセキュリティシステムである。
【0009】
第1の発明によれば、第1の認証トークンのPIN認証が成功した場合に、認証装置は任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる。また、認証装置は前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する。第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる。
第1の認証トークンは、認証装置から入力される署名データ生成要求に応答して、前記任意のデータ列と当該第1の認証トークンが保持する署名鍵とを用いて署名データを生成し、前記認証装置へ送信する。
第2の認証トークンは、認証装置から入力される検証要求に応答して、前記データ列と前記署名データと当該第2の認証トークンが保持する署名鍵とを用いて、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証し、検証結果を前記認証装置へ送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合は、前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ。
【0010】
これにより、第1及び第2の認証トークンがそれぞれ保持する署名鍵の一致が検証されれば、第1の認証トークンにおけるPIN認証成功状態を第2の認証トークンにも引き継ぐことが可能となる。そのため、複数の認証トークンを用いた認証処理を行うシステムにおいてもPIN入力の回数を削減でき、操作が簡素になる。共通の署名鍵を持っていない認証トークン間では署名鍵の一致が検証されないため、PIN認証状態が引き継がれず安全性は確保される。また、認証装置と第2の認証トークンとの間でも認証処理が行われるため、正当でない第2の認証トークンへはPIN認証状態が引き継がれず、安全である。
【0011】
また、第1の発明において、前記任意のデータ列は、乱数であることが望ましい。乱数を用いることにより認証処理の都度、異なる署名データや認証データを生成でき、安全性が向上する。
【0012】
また、第1の発明において、前記認証トークンは、ICカードまたはメモリカードであることが望ましい。可搬性に優れた認証トークンを複数組み合わせて使用する際は、複数の認証トークンに秘匿情報を分けて管理できるため安全性が向上し、また、本発明を適用すれば認証処理における操作の煩雑さを軽減できる。
【0013】
また、第1の発明において、前記第1の認証トークンは、更にシンクライアントOSを格納し、前記第2の認証トークンは、更にVPN認証用の電子証明書を格納し、前記引継手段により、前記第2の認証トークンが前記PIN認証成功状態を引き継いだ場合、前記認証装置は、前記第1の認証トークンから前記シンクライアントOSを読み込んで起動する起動手段と、シンクライアントサーバへ通信接続するために前記第2の認証トークンから前記電子証明書を読み込み、当該電子証明書を用いてVPN認証を試行するサーバ接続手段と、を更に備えることが望ましい。
【0014】
これにより、本発明のセキュリティシステムをシンクライアントシステムにおいて利用でき、高度なセキュリティが要求されるシンクライアントシステムにおいても実用性、利便性が向上する。
【0015】
第2の発明は、PINで保護された複数の認証トークンを用いて、複数段階の認証処理を実行する認証装置であって、第1の認証トークンを用いてPIN認証を実行する第1認証手段と、前記第1認証手段においてPIN認証が成功した場合に、任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成要求手段と、第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証手段と、前記第2認証手段において前記第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証要求手段と、を備えることを特徴とする認証装置である。
【0016】
第2の発明によれば、第1の認証トークンのPIN認証が成功した場合に、認証装置は任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる。また、認証装置は第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する。第2の認証トークンの認証が成功した場合に、認証装置は前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる。
【0017】
これにより、第1及び第2の認証トークンがそれぞれ保持する署名鍵の一致を検証させることができる。そのため、第2の認証トークンに対してPINを入力しなくても、第1の認証トークンのPIN認証結果に基づいて第2の認証トークンの正当性を認証可能となる。そのため、複数の認証トークンを用いた認証処理を行うシステムにおいてもPIN入力の回数を削減でき、操作が簡素になる。共通の署名鍵を持っていない認証トークン間では署名鍵の一致が検証されないため、安全性は確保される。また、認証装置と第2の認証トークンとの間でも認証処理が行われるため、正当でない第2の認証トークンを排除できる。
【0018】
第3の発明は、認証装置との間で認証処理を行うための認証情報を夫々格納した認証トークンのセットであって、第1の認証トークンが、PINコード及び署名鍵を保持し、第2の認証トークンが、前記第1の認証トークンと共通の署名鍵と、前記認証装置との認証処理に使用する認証鍵とを保持し、前記第1の認証トークンは、入力されたPINコードと格納されたPINコードとの一致を確認するPIN認証手段と、前記認証装置から入力される署名データ生成要求に応答して、前記認証装置にて生成される任意のデータ列と当該第1の認証トークンが保持する署名鍵とを用いて署名データを生成し、前記認証装置へ送信する署名データ生成手段とを備え、前記第2の認証トークンは、前記認証装置から入力される検証要求に応答して、前記データ列と前記署名データと当該第2の認証トークンが保持する署名鍵とを用いて、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証し、検証結果を前記認証装置へ送信する検証手段と、前記検証手段により前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合は、前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ引継手段と、を備えることを特徴とする認証トークンのセットである。
【0019】
これらの認証トークンのセットにより、第1及び第2の認証トークンがそれぞれ保持する署名鍵の一致を認証装置を用いて検証でき、第2の認証トークンに対してPINを入力しなくても、第1の認証トークンのPIN認証成功状態を第2の認証トークンに引き継ぐことが可能となる。そのため、複数の認証トークンを用いた認証処理を行うシステムにおいてもPIN入力の回数を削減でき、操作が簡素になる。共通の署名鍵を持っていない認証トークン間では署名鍵の一致が検証されないため、安全性は確保される。また、認証装置と第2の認証トークンとの間でも認証処理が行われるため、正当でない第2の認証トークンを排除できる。
【0020】
第4の発明は、PINコード及び署名鍵が保持された第1の認証トークンと、前記第1の認証トークンと共通の署名鍵と、認証装置との認証処理に使用する認証鍵とが保持された第2の認証トークンと、を用いた認証方法であって、前記認証装置が第1の認証トークンを用いてPIN認証を実行する第1認証ステップと、PIN認証が成功した場合に、前記認証装置が任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成ステップと、前記認証装置が、前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証ステップと、前記第2の認証トークンの認証が成功した場合に、前記認証装置が前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証ステップと、前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合に、前記第2の認証トークンが前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ引継ステップと、を含むことを特徴とする認証方法である。
【0021】
第4の発明によれば、第1の認証トークンのPIN認証が成功した場合に、認証装置は任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる。また、認証装置は前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する。第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させ、各署名鍵が一致すると検証された場合は、前記第1の認証トークンにおけるPIN認証成功状態を第2の認証トークンに引き継ぐ。
【0022】
これにより、第1及び第2の認証トークンがそれぞれ保持する署名鍵の一致が検証されれば、第1の認証トークンにおけるPIN認証成功状態を第2の認証トークンにも引き継ぐことが可能となる。そのため、複数の認証トークンを用いた認証処理を行うシステムにおいてもPIN入力の回数を削減でき、操作が簡素になる。共通の署名鍵を持っていない認証トークン間では署名鍵の一致が検証されないため、PIN認証状態が引き継がれず安全性は確保される。また、認証装置と第2の認証トークンとの間でも認証処理が行われるため、正当でない第2の認証トークンへはPIN認証状態が引き継がれず、安全である。
【0023】
第5の発明は、コンピュータにより読み取り可能な形式で記述されたプログラムであって、第1の認証トークンを用いてPIN認証を実行する第1認証ステップと、PIN認証が成功した場合に、任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成要求ステップと、前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証ステップと、前記第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証要求ステップと、を含む処理をコンピュータに実行させるための認証プログラムである。
【0024】
第5の発明により、コンピュータを第2の発明の認証装置として機能させることが可能となる。
【0025】
第6の発明は、認証トークンのコントローラにより実行可能な形式で記述された認証トークン用アプリケーションプログラムであって、入力される検証要求に応答して、入力されたデータ列及び署名データを用いて、当該認証トークンが保持する署名鍵と前記署名データの生成元の保持する署名鍵とが一致するか否かを検証するステップと、
前記各署名鍵が一致すると検証された場合は、当該認証トークンをPIN認証成功状態へ遷移させるステップと、を含む処理を認証トークンのコントローラに実行させるための認証トークン用アプリケーションプログラムである。
【0026】
第6の発明により、各種認証トークンを第1乃至第3の発明における第2の認証トークンとして機能させることが可能となる。
【発明の効果】
【0027】
本発明によれば、複数段階の認証処理を行うセキュリティシステムにおいて、その安全性を損なうことなく、操作を簡素とすることが可能なセキュリティシステム、認証装置、認証トークンのセット、認証方法、認証プログラム、及び認証トークン用アプリケーションプログラムを提供できる。
【図面の簡単な説明】
【0028】
【図1】本発明に係るセキュリティシステム1の全体構成図
【図2】第1の認証トークン(メモリカード2)の内部構成を示すブロック図
【図3】第2の認証トークン(ICカード3)の内部構成を示すブロック図
【図4】認証装置(クライアント端末4)の内部構成を示すブロック図
【図5】本発明のセキュリティシステム1の各部の動作を示すシーケンス図
【図6】従来のシンクライアントシステムでのログイン時に必要な認証処理の流れと、本発明を適用した場合における認証処理の流れとを対比して示す図
【発明を実施するための形態】
【0029】
以下、図面に基づいて本発明の好適な実施形態について詳細に説明する。
まず、図1〜図4を参照して本発明の構成について説明する。
【0030】
図1は、本発明に係るセキュリティシステム1のシステム構成を示す図である。
図1に示すように、本発明の一実施の形態に係るセキュリティシステム1は、第1の認証トークン2、第2の認証トークン3、及び認証装置4により構成され、認証装置4は、ネットワーク5、VPNサーバ6、及び完全性検証サーバ7を介してシンクライアントサーバ8へ通信接続される。
【0031】
VPN(Virtual Private Network)サーバ6は、認証装置4のVPN接続を媒介するサーバであり、認証装置4との間で認証処理を行う。認証装置4とVPNサーバとの間では社員証等の認証トークンに格納されたVPN用電子証明書を用いた認証処理を行う。本実施の形態では、第2の認証トークン3(ICカード3)にVPN用電子証明書が格納される。認証成功後、認証装置4はVPN接続可能となる。
【0032】
完全性検証サーバ7は、シンクライアントシステムのセキュリティを強化するため、ログインを要求するクライアント端末のプラットフォームの完全性を検証するものである。例えば公知の特許文献2(特開2009−175923号公報)にその詳細な内容が記載されるため、説明を省略する。
【0033】
シンクライアントサーバ8は、専用のOSや種々のアプリケーションソフトウエア等を搭載し、所定の認証処理によって認証された1または複数のクライアント端末(認証装置4)からの遠隔操作を受け付け、要求される演算処理を行ってクライアント端末(認証装置4)へ応答する。
【0034】
本発明において、認証トークンとは、セキュリティシステム1を安全に起動するための認証情報を秘匿に格納した可搬デバイスであり、例えば、社員証等として普及しているICカード、SIM(Subscriber Identity Module)、USIM(Universal Subscriber Identity Module)、ミニSIM等のICカード類、USBデバイスやセキュリティ機能を有するメモリカード等が含まれる。
第1の認証トークン2及び第2の認証トークン3は、いずれもデータの書き換えが可能な不揮発性メモリと演算機能(コントローラチップ)とを備える。
【0035】
第1の認証トークン2は、少なくともPINコード242及び第2の認証トークン3と共通の署名鍵243を保持する(図2参照)。第1の認証トークン2のセキュアなメモリ領域は、PINで保護された状態となっている。また、本実施の形態では、第1の認証トークン2は、セキュアなメモリ領域にシンクライアントOS241を保持する。シンクライアントOS241は、認証装置4の起動時に読み込まれ、認証装置4のRAM41に展開される。シンクライアントOS241には、後述する認証鍵247及び認証プログラム248が含まれるものとする。
第2の認証トークン3は、少なくとも第1の認証トークン2と共通の署名鍵341、及び認証装置4との認証処理に使用する認証鍵342を保持する(図3参照)。また、第2の認証トークン3もPINで保護された状態となっている。
【0036】
本実施の形態では、第1の認証トークン2として、認証情報やシンクライアントOSが格納されるセキュアなメモリ領域と演算部(コントローラ)とを有するメモリカード2を利用し、第2の認証トークン3として、社員証等として普及しているICカード3を利用するものとする。
【0037】
具体的には、例えば、第1の認証トークン2としてセキュリティ機能を持ったSDカード(登録商標)等を採用することが好適である。セキュリティ機能を持ったSDカードとは、ICカードと同等の耐タンパメモリ領域及びフラッシュメモリ領域をもつデバイスである。
この場合、SDカードの耐タンパメモリ領域に、PINコード及び署名鍵を格納し、フラッシュメモリ領域にシンクライアントOSを格納する。更に、フラッシュメモリ領域はPINで保護された状態とすれば、第1の認証トークン2内部のデータを外部の改変等から保護できる。
【0038】
なお、第1及び第2の認証トークン2,3は、上述のICカード、メモリカード(セキュリティ機能を有するSDカード)、及びUSBメモリ等の組み合わせのうち、いずれの組み合わせであっても本発明を適用できる。例えば、第1及び第2の認証トークン2,3をいずれもICカードで構成してもよいし、ICカードとメモリカードとの組み合わせにしてもよいし、USBメモリとICカードとの組み合わせとしてもよい。その他の組み合わせとしてもよい。
【0039】
認証装置4は、汎用のコンピュータ等により構成され、第1の認証トークン2のPIN認証インターフェースとして機能したり、第1の認証トークン2内のデータを読み込んで第1の認証トークン2との間で行われたPIN認証の状態(認証結果)を第2の認証トークン3へ引き継ぐための機能を有する。
【0040】
本実施の形態では、認証装置4は上述の第1の認証トークン2であるセキュリティ機能を有するSDカードからブートするものとする。この場合、認証装置4は第1の認証トークン2のPIN認証成功後にSDカード内のシンクライアントOS241を起動し、認証装置4のRAM42に展開する。このとき、シンクライアントOS241が有する認証鍵247及び認証プログラム248が認証装置4のRAM42に展開され、その結果、認証装置4が認証鍵247及び認証プログラム248を利用可能な状態となる。
認証プログラム248とは、認証装置4の上述の各機能を実行するためのプログラムであり、認証装置4のCPU41は、認証プログラム248に従った動作を行う。また、認証装置4は、シンクライアントOS241を読み込んで起動するため、シンクライアントサーバ8のリモートデスクトップ(シンクライアント端末)として利用される。
【0041】
認証装置4は、認証トークンとの間でデータの交換が可能なパーソナルコンピュータや、携帯端末、ゲーム機、その他の情報処理装置としてもよい。
【0042】
図2は、第1の認証トークンとして利用されるメモリカード2の内部構成を示すブロック図、図3は第2の認証トークンとして利用されるICカード3の内部構成を示すブロック図、図3は認証装置4の内部構成を示すブロック図である。
【0043】
図2に示すように、メモリカード2(第1の認証トークン)は、セキュリティ機能を有する例えばSDカード等のメモリカードである。以下、単にメモリカード2という。メモリカード2は、CPU21と、揮発性のメモリであるRAM22と、BIOSが実装されるROM23と、EEPROM24と、を備えるコントローラ20と、認証装置4と通信接続するための通信インターフェース25と、不揮発性メモリ26とを備える。
【0044】
コントローラ20のCPU21は、EEPROM24に格納される第1アプリ(アプリケーションプログラム)244をRAM22上のワークメモリ領域に呼び出して実行する。
【0045】
RAM22は、上記第1アプリ244やその他データを一時的に保持するとともに、CPU21が各種処理を行うために使用するワークエリアを備える。後述する第1アプリ244の実行時には、認証装置4にて生成され、送信された乱数Raや、CPU21が生成した署名データS等を処理が終了するまで保持する。
【0046】
EEPROM24は、外部からのアクセスが制限されているメモリ領域を有し、このようなセキュアなメモリ領域には、シンクライアントOS(Operating System)241、ユーザ認証用のPINコード242、第2の認証トークン(ICカード3)と共通の署名鍵243と、第1アプリ244が格納される。また、EEPROM24には、当該メモリカード2の製造番号等のカード識別情報245も格納される。シンクライアントOS241については、コントローラ20には格納せず、不揮発性メモリ26に格納するようにしてもよい。
通信インターフェース25は、認証装置4との通信を行うための端子及び通信制御回路等により構成され、メモリカード2と認証装置4との通信を媒介する。
【0047】
図3に示すように、ICカード3(第2の認証トークン)は、CPU31と、揮発性のメモリであるRAM32と、BIOSが実装されるROM33と、EEPROM34と、を備えるコントローラ30と、認証装置4と通信接続するための通信インターフェース35とを備える。
【0048】
コントローラ30のCPU31は、EEPROM34に格納される第2アプリ(認証トークン用アプリケーションプログラム)343をRAM32上のワークメモリ領域に呼び出して実行する。
【0049】
RAM32は、ロードしたプログラムやデータを一時的に保持するとともに、CPU31が各種処理を行うために使用するワークエリアを備える。例えば、後述する第2アプリ343の実行時には、認証装置4により生成され、送信された乱数Rb及び認証データAや、当該ICカード3のCPU31が生成する認証データA’や、メモリカード2のCPU21により生成された署名データSや、当該ICカード3のCPU31が生成する署名データS’等が格納される。
【0050】
EEPROM34は、外部からのアクセスが制限されているメモリ領域を有し、このようなセキュアなメモリ領域には、第1の認証トークン(メモリカード2)と共通の署名鍵341と、認証装置4との認証用に使用される認証鍵342と、第2アプリ343が格納される。また、EEPROM34には、VPNサーバ6との間でVPN認証時に使用される電子証明書(VPN証明書344)が格納される。更に、本発明を適用しない場合にユーザ認証用に使用されるPINコードが格納されていてもよい(不図示)。また、EEPROM24には当該メモリカード2の製造番号等のカード識別情報345も格納される。
【0051】
通信インターフェース35は、ICカードリーダ・ライタとの通信を行うための端子またはアンテナ及び通信制御回路等により構成され、ICカード3と認証装置4との通信を媒介する。
【0052】
図4に示すように、クライアント端末(認証装置)4は、CPU41、RAM42、BIOSが実装されるROM43、ICカードリーダ・ライタ44、メモリカードインターフェース45、ネットワークインターフェース46、データ記憶装置47、入力部48、及び表示部49等を備える。データ記憶装置47には、クライアント端末(認証装置)4を汎用のコンピュータとして機能させる際に起動されるクライアントOS471が格納される。
【0053】
クライアント端末4は、データ記憶装置47に格納される汎用のクライアントOS471を読み出して起動する場合は、汎用のコンピュータとして使用される。一方、第1の認証トークン(メモリカード)2に格納されるシンクライアントOS241を読み込んで起動した場合は、シンクライアントサーバ8のリモートデスクトップとして機能する。
【0054】
本実施の形態では、クライアント端末(認証装置)4は第1の認証トークン(メモリカード)2からブートする。すなわち、クライアント端末(認証装置)4のCPU41は第1の認証トークン(メモリカード)2のPIN認証成功後、メモリカード2内のシンクライアントOS241を読み込み、認証装置4のRAM42に展開する。このとき、シンクライアントOS241が有する認証鍵247及び認証プログラム248も認証装置4のRAM42に展開され、その結果、認証装置4が認証鍵及び認証プログラムを利用可能な状態となる。
【0055】
RAM42は、ロードしたプログラムやデータを一時的に保持するとともに、CPU41が各種処理を行うために使用するワークエリアを備える。例えば、後述する認証プログラム248の実行時には、CPU41が生成した乱数Ra、乱数Rb、メモリカード2にて生成される署名データS、認証装置4のCPU41が生成する認証データA等が格納される。
また、RAM42はシンクライアントOS241、シンクライアントOS241に含まれる認証鍵247及び認証プログラム248を保持する。
【0056】
ICカードリーダ・ライタ44は、ICカード3との間でデータの読出し及び書込みを行う。また、ICカード3のコントローラ30(CPU31等)に所定の処理を実行させるためのコマンドを送信したり、ICカード3からの応答を受信したりする。
メモリカードインターフェース45は、メモリカード2との間でデータの読出し及び書込みを行う。また、メモリカード2のコントローラ20(CPU21等)に所定の処理を実行させるためのコマンドを送信したり、メモリカード2からの応答を受信したりする。
ネットワークインターフェース46は、LAN(Local Area Network)、WAN(Wide Area Netwok)、公衆回線等を含むネットワーク5との通信を媒介する通信インターフェースである。
【0057】
入力部48は、例えば、キーボード、マウス等のポインティング・デバイス、テンキー等の入力装置であり、入力されたデータをCPU41へ出力する。
表示部49は、例えば液晶パネル、CRTモニタ等のディスプレイ装置と、ディスプレイ装置と連携して表示処理を実行するための論理回路で構成され、CPU41の制御により入力された表示情報をディスプレイ装置上に表示させる。
【0058】
次に、図5を参照して、セキュリティシステム1において実行される認証処理の動作を説明する。
クライアント端末4(認証装置)では、メモリカード2が装着されている場合には、まずメモリカード2にアクセスし、シンクライアントOS241の格納領域へアクセスするよう予め設定されているものとする。
【0059】
クライアント端末4は、まずメモリカード2(第1の認証トークン)へアクセスする(ステップT1)。メモリカード2を認識すると、クライアント端末4は、PINコードを入力するための入力インターフェース(入力画面等)をユーザに提供し、入力されたPINコードをメモリカード2へ送信する(ステップT2)。メモリカード2のCPU21は、入力PINと格納されているPINコード242とが一致するか判定する(PIN認証;ステップT3)。そして、PIN認証の結果をクライアント端末4へ応答する(ステップT4)。PIN認証失敗の応答を受信した場合は、クライアント端末4はエラーとして終了する(ステップT5)。
PIN認証が成功するとメモリカード2内のセキュアなメモリ領域にあるデータの読み込みが許可される。
【0060】
この段階で、クライアント端末4のCPU41は、メモリカード(第1の認証トークン)2に格納されているシンクライアントOS241を読み込む。シンクライアントOS241には、後述する認証鍵247及び認証プログラム248が含まれる。クライアント端末4のCPU41は、読み込んだ認証プログラム248の実行を開始し、以下説明する一連の処理を行う。
【0061】
すなわち、PIN認証が成功した場合、クライアント端末4は乱数Raを生成し(ステップT6)、この乱数Ra及び署名データの生成要求をメモリカード2へ送信する(ステップT7)。メモリカード2は、受信した乱数Raとメモリカード2が保持する署名鍵243とを用いて、署名データSを生成する(ステップT8)。署名データSは、署名鍵243にて乱数Raを暗号化したものであり、復号鍵(暗号鍵と同一の署名鍵)を用いて復号できる。署名データSの生成に乱数を用いることで、処理を行う都度、異なる署名データを生成でき、安全性が向上する。
メモリカード2は生成した署名データSをクライアント端末4へ送信する(ステップT9)。クライアント端末4は、受信した署名データSをRAM42に保存する。
【0062】
次に、クライアント端末4は、ICカード3(第2の認証トークン)との通信に切り替え(ステップT10)、ICカード3にPIN認証状態の引継ぎを依頼する(ステップT11)。
このとき、クライアント端末4のCPU41は、まずICカード3の認証処理を行う。すなわち、CPU41にて乱数Rbを生成し(ステップT12)、この乱数Rbをクライアント端末4が保持する認証鍵247にて暗号化した認証データAを生成する(ステップT13)。そして、クライアント端末4は、乱数Rb及び認証データAをICカード3へ送信する(ステップT14)。ICカード3では、乱数Rb及び認証データAを受信すると、ICカード3が保持する認証鍵342と受信した乱数Rbを用いて認証データA’を生成(暗号化)し(ステップT15)、受信した認証データAと比較してクライアント端末4の正当性を検証する(ステップT16)。ICカード3は、認証データの検証結果をクライアント端末4へ送信する(ステップT17)。
クライアント端末4にて認証失敗の応答を得た場合は、エラーとして終了する(ステップT18)。
【0063】
ICカード3とクライアント端末4との間で認証が成功した場合は、次に、クライアント端末4は、RAM42に保持されている乱数Ra(ステップT6において生成した乱数)と、メモリカード2にて生成された署名データSとをICカード3へ送信し、ICカード3とメモリカード2とで夫々保持する各署名鍵341,243の一致を検証させる検証要求を送信する(ステップT19)。
【0064】
ICカード3は、検証要求に応答して、受信した乱数RaとICカード3の保持する署名鍵341とを用いて署名データS’を生成し、受信した署名データSとの一致を検証する(ステップT20)。ICカード3は署名データの検証結果をクライアント端末4へ送信する(ステップT21)。
クライアント端末4にて、署名データが一致しないとの応答を得た場合は、エラーとして終了する(ステップT22)。
メモリカード2及びICカード3に夫々保持される各署名鍵341,243が一致する場合(署名データS’と署名データSとが一致する場合)は、メモリカード2におけるPIN認証成功状態がICカード3へ引き継がれる。すなわち、ICカード3のCPU31はPIN認証成功状態へ遷移させ、ICカード3内のセキュアなメモリ領域へのアクセスを許可する。例えば、VPN証明書等の読み込みが許可される(ステップT23)。
【0065】
以上説明した処理によって、メモリカード2及びICカード3はいずれもPIN認証成功状態へ遷移するため、クライアント端末4からメモリカード2及びICカード3内のセキュアなメモリ領域へのアクセスが可能となる。ここまでの認証処理において、ユーザによるPIN入力操作は、ステップT2において一度だけ要求される。
ステップT23以降の処理は任意であるが、本実施の形態では、例えば、クライアント端末4がシンクライアントサーバ8へリモートアクセスできるよう処理が続行される。
【0066】
図6(B)は、本発明の認証処理をシンクライアントサーバ8へのアクセス時に実行する場合の処理の流れを示している。
すなわち、クライアント端末4は、まずInit部(初期動作プログラム)を読み込み、起動する(ステップS101)。その後、メモリカード2のPIN認証を実行する(ステップS102)。このPIN認証は、図5のステップT2〜T5に相当する処理である。
PIN認証成功後は、図5のステップT6以降のPIN認証引継処理が実行される一方で(ステップS103)、メモリカード2のセキュアな領域に書き込まれているシンクライアントOS241本体部を読み込み、展開する(ステップS104)。その後、ステップS103の処理、すなわち、図5のステップT6〜T23の処理によりメモリカード2のPIN認証成功状態がICカード3へ引き継がれると、クライアント端末4は、ネットワーク5へ接続する(ステップS105)。そしてクライアント端末4は、まずVPNサーバ6に通信接続し、ICカード3から読み込んだVPN証明書を利用してVPN認証を試行する(ステップS106)。また、クライアント端末4は、完全性検証サーバ7と通信接続し、メモリカード2の完全性検証を行う(ステップS107)。
その後、VPNサーバ6におけるVPN認証が成功し、完全性検証サーバ7においてプラットフォームの完全性が検証されると、シンクライアントサーバ8へのリモートアクセスが可能となる(ステップS108)。
【0067】
本実施の形態の認証処理(PIN認証引継処理を含む)を行った場合、PINで保護された2つの認証トークン(メモリカード2及びICカード3)を利用するにも関わらず、ユーザがPINを入力するのはステップS102のメモリカード2のPIN認証時だけである(図6(B)の太線で示すステップ)。
【0068】
一方、本発明の認証処理を適用しない従来の手法では、図6(A)に示すように、メモリカード2へのアクセス時(ステップS302)と、ICカード3へのアクセス時(ステップS305;VPN証明書を取得する時)との2段階で、PIN入力を行う必要があり、操作が煩雑であった。
【0069】
本実施の形態のセキュリティシステム1では、それぞれPINで保護されたメモリカード2とICカード3とで共通な署名鍵を保持し、また、クライアント端末4とICカード3とで互いを認証するための認証鍵を保持し、PIN認証が成功した第1の認証トークン(メモリカード2)にて署名鍵により暗号化された署名データを第2の認証トークン(ICカード3)の署名鍵にて復号し、第1及び第2の認証トークンの夫々保持する署名鍵が一致するか否かを検証する。署名鍵の一致が検証されれば、第1の認証トークンにおけるPIN認証成功状態を第2の認証トークンにも引き継いで使用可能する。そのため、PIN入力の手間は一度で済み、操作が簡素になる。また署名鍵の検証が行われるため、共通の署名鍵を持っていない認証トークン間ではPIN認証状態が引き継がれないため安全である。
【0070】
また、クライアント端末4と第2の認証トークン(ICカード3)との間でも認証処理が行われるため、クライアント端末4(認証プログラム)と第2の認証トークン(ICカード3)との間でも、プログラムの改竄やICカード3の不正な使用等がないかも確認できる。すなわち、クライアント端末4と第2の認証トークン(ICカード3)とで認証成功しなければ、PIN認証が成功したメモリカード2のPIN認証状態も引き継がれないため、ICカード3内のデータを保護できる。また、クライアント端末4側の実行される認証プログラムが正規なアプリであるか否かも検証できるようになる。
【0071】
また、本実施の形態では、署名データや認証データを生成する際に、乱数を用いているため、処理の都度、異なる署名データや認証データを生成でき、安全性が向上する。
【0072】
なお、乱数以外であっても任意のデータ列を用いて署名データや認証データを生成するようにしてもよい。その他、当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0073】
1・・・セキュリティシステム
2・・・第1の認証トークン(メモリカード)
3・・・第2の認証トークン(ICカード)
4・・・認証装置(クライアント端末)
5・・・ネットワーク
6・・・VPNサーバ
7・・・完全性検証サーバ
8・・・シンクライアントサーバ
243・・署名鍵(メモリカード2)
341・・署名鍵(ICカード3)
342・・認証鍵(ICカード3)
241・・シンクライアントOS
247・・認証鍵(クライアント端末4)
248・・認証プログラム(クライアント端末4)
244・・第1アプリ
343・・第2アプリ(認証トークン用アプリ)

【特許請求の範囲】
【請求項1】
PINで保護された複数の認証トークンを用いて、複数段階の認証処理を実行する認証装置を備えたセキュリティシステムであって、
第1の認証トークンは、PINコード及び署名鍵を保持し、
第2の認証トークンは、前記第1の認証トークンと共通の署名鍵と、前記認証装置との認証処理に使用する認証鍵とを保持し、
前記認証装置は、前記認証鍵を保持し、更に、
前記第1の認証トークンを用いてPIN認証を実行する第1認証手段と、
前記第1認証手段においてPIN認証が成功した場合に、任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成要求手段と、
前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証手段と、
前記第2認証手段において前記第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証要求手段と、を備え、
前記第1の認証トークンは、前記認証装置から入力される署名データ生成要求に応答して、前記任意のデータ列と当該第1の認証トークンが保持する署名鍵とを用いて署名データを生成し、前記認証装置へ送信する署名データ生成手段を備え、
前記第2の認証トークンは、
前記認証装置から入力される検証要求に応答して、前記データ列と前記署名データと当該第2の認証トークンが保持する署名鍵とを用いて、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証し、検証結果を前記認証装置へ送信する検証手段と、
前記検証手段により前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合は、前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ引継手段と、
を備えることを特徴とするセキュリティシステム。
【請求項2】
前記任意のデータ列は、乱数であることを特徴とする請求項1に記載のセキュリティシステム。
【請求項3】
前記認証トークンは、ICカードまたはメモリカードであることを特徴とする請求項1に記載の認証システム。
【請求項4】
前記第1の認証トークンは、更にシンクライアントOSを格納し、
前記第2の認証トークンは、更にVPN認証用の電子証明書を格納し、
前記引継手段により、前記第2の認証トークンが前記PIN認証成功状態を引き継いだ場合、
前記認証装置は、
前記第1の認証トークンから前記シンクライアントOSを読み込んで起動する起動手段と、
シンクライアントサーバへ通信接続するために前記第2の認証トークンから前記電子証明書を読み込み、当該電子証明書を用いてVPN認証を試行するサーバ接続手段と、
を更に備えることを特徴とする請求項1に記載のセキュリティシステム。
【請求項5】
PINで保護された複数の認証トークンを用いて、複数段階の認証処理を実行する認証装置であって、
第1の認証トークンを用いてPIN認証を実行する第1認証手段と、
前記第1認証手段においてPIN認証が成功した場合に、任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成要求手段と、
第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証手段と、
前記第2認証手段において前記第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証要求手段と、
を備えることを特徴とする認証装置。
【請求項6】
認証装置との間で認証処理を行うための認証情報を夫々格納した認証トークンのセットであって、
第1の認証トークンが、PINコード及び署名鍵を保持し、
第2の認証トークンが、前記第1の認証トークンと共通の署名鍵と、前記認証装置との認証処理に使用する認証鍵とを保持し、
前記第1の認証トークンは、
入力されたPINコードと格納されたPINコードとの一致を確認するPIN認証手段と、
前記認証装置から入力される署名データ生成要求に応答して、前記認証装置にて生成される任意のデータ列と当該第1の認証トークンが保持する署名鍵とを用いて署名データを生成し、前記認証装置へ送信する署名データ生成手段とを備え、
前記第2の認証トークンは、
前記認証装置から入力される検証要求に応答して、前記データ列と前記署名データと当該第2の認証トークンが保持する署名鍵とを用いて、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証し、検証結果を前記認証装置へ送信する検証手段と、
前記検証手段により前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合は、前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ引継手段と、
を備えることを特徴とする認証トークンのセット。
【請求項7】
PINコード及び署名鍵が保持された第1の認証トークンと、前記第1の認証トークンと共通の署名鍵と、認証装置との認証処理に使用する認証鍵とが保持された第2の認証トークンと、を用いた認証方法であって、
前記認証装置が第1の認証トークンを用いてPIN認証を実行する第1認証ステップと、
PIN認証が成功した場合に、前記認証装置が任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成ステップと、
前記認証装置が、前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証ステップと、
前記第2の認証トークンの認証が成功した場合に、前記認証装置が前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証ステップと、
前記第1及び第2の認証トークンに夫々保持される各署名鍵が一致すると検証された場合に、前記第2の認証トークンが前記第1の認証トークンにおけるPIN認証成功状態を引き継ぐ引継ステップと、
を含むことを特徴とする認証方法。
【請求項8】
コンピュータにより読み取り可能な形式で記述されたプログラムであって、
第1の認証トークンを用いてPIN認証を実行する第1認証ステップと、
PIN認証が成功した場合に、任意のデータ列を生成し、当該任意のデータ列と前記第1の認証トークンが保持する署名鍵とを用いて、前記第1の認証トークンにて署名データを生成させる署名データ生成要求ステップと、
前記第2の認証トークンとの通信に切り替え、第2の認証トークンとの認証処理を実行する第2認証ステップと、
前記第2の認証トークンの認証が成功した場合に、前記データ列と前記署名データとを前記第2の認証トークンに送信し、前記第1及び第2の認証トークンに夫々保持される各署名鍵の一致を検証させる検証要求ステップと、
を含む処理をコンピュータに実行させるための認証プログラム。
【請求項9】
認証トークンのコントローラにより実行可能な形式で記述された認証トークン用アプリケーションプログラムであって、
入力される検証要求に応答して、入力されたデータ列及び署名データを用いて、当該認証トークンが保持する署名鍵と前記署名データの生成元の保持する署名鍵とが一致するか否かを検証するステップと、
前記各署名鍵が一致すると検証された場合は、当該認証トークンをPIN認証成功状態へ遷移させるステップと、
を含む処理を認証トークンのコントローラに実行させるための認証トークン用アプリケーションプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−53647(P2012−53647A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−195315(P2010−195315)
【出願日】平成22年9月1日(2010.9.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】