説明

秘匿認証システム

【課題】高度な秘匿性を確保すると共に演算負荷を軽減してコストを削減する。
【解決手段】被認証装置1において、自装置、またはユーザの正当性を示す認証データに鍵データを乗じる積データなど、認証データ、または鍵データを用いれば逆算してもう一方の鍵データ、または認証データが求められるような形になるように、鍵データと認証データからスクランブルデータを生成すると共に、認証データ、鍵データ、及びスクランブルデータのいずれかを一方向性関数を用いて変換して検証データを求めて、この検証データ及びスクランブルデータを認証装置2に送り、認証装置において、被認証装置から受け取った検証データ及びスクランブルデータと、自装置に蓄積された被認証装置ごとの認証データとに基づいて、被認証装置の正当性を検証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、他人に知られることなく認証データを被認証装置から認証装置に通知して認証を行う秘匿認証システムに関するものである。
【背景技術】
【0002】
インターネットバンキングやインターネットショッピングなどのインターネット商取引システムなど、近年、ネットワークを介して接続された端末に対してサーバから種々のサービスを提供するシステムが急速に普及しており、このようなシステムにおいては、ユーザが正規登録された者か否かを検証する認証システムが必要となるが、パスワードなどの認証データがネットワーク上に送出されるため、認証データを盗取して正規のユーザになりすまして不正に利益を受ける行為を阻止するための様々な技術が知られている(例えば特許文献1参照)。
【0003】
また、近年、電子マネー機能を有する非接触型ICカードが急速に普及しており、入退室管理システムや商品管理システムでも、非接触型ICカードやRFIDタグが利用されるようになってきたが、この種のRFIDデバイスを用いたシステムでは、スキミングにより認証データを盗取してなりすましにより不正に利益を受ける行為を阻止する必要があり、このようなRFIDデバイスの安全性を高める技術としては、Randomized Hash Lock方式、ハッシュチェーン方式(特許文献2参照)、再暗号化方式(特許文献3参照)が知られている。
【特許文献1】特開2007−293787号公報
【特許文献2】特再表2005−031579号公報
【特許文献3】特開2004−317764号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかるに、従来の様々な技術では、複雑な演算処理により認証データの秘匿性を高めることができる反面、高速な演算手段が必要になることから、コストが嵩み、低コスト化の要望を十分に満足することができず、低コスト化と高度な秘匿性とを両立させることが可能な技術が望まれる。また、秘匿認証システムにおいては、認証に関する事実(認証相手、認証日時など)を過去に遡って探索されることのないフォワードセキュアや、認証に関する事実を未来に渡って探索されることのないバックセキュアを実現することが望まれる。
【0005】
本発明は、このような従来技術の問題点を解消するべく案出されたものであり、その主な目的は、高度な秘匿性を確保すると共に演算負荷を軽減してコストを削減することができるように構成された秘匿認証システムを提供することにある。また本発明は、フォワードセキュア及びバックセキュアを実現することができる秘匿認証システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の秘匿認証システムは、被認証装置において、自装置、またはユーザの正当性を示す認証データに鍵データを乗じる積データなど、認証データ、または鍵データを用いれば逆算してもう一方の鍵データ、または認証データが求められるような形になるように、鍵データと認証データからスクランブルデータを生成すると共に、前記認証データ、鍵データ、及びスクランブルデータのいずれかに対して、少なくとも第3者にとっては逆算が困難な演算処理を行って検証データを求めて、この検証データ及び前記スクランブルデータを認証装置に送り、前記認証装置において、前記被認証装置から受け取った検証データ及びスクランブルデータと、自装置に蓄積された被認証装置、またはユーザごとの認証データとに基づいて、前記被認証装置の正当性を検証する構成とする。
【発明の効果】
【0007】
本発明によれば、被認証装置と認証装置との通信に介入する中間者により、被認証装置から認証装置に送られるスクランブルデータと検証データが盗み見されたとしても、中間者は、検証データから認証データや鍵データを求めることはできず、また鍵データを知らなければ、スクランブルデータから認証データを求めることはできないため、高いに秘匿性を確保することができる。また、被認証装置及び認証装置での処理が積演算とその逆演算で済むため、演算負荷を軽減してコストを削減することができる。
【発明を実施するための最良の形態】
【0008】
前記課題を解決するためになされた第1の発明は、被認証装置において、自装置、またはユーザの正当性を示す認証データに鍵データを乗じる積データなど、認証データ、または鍵データを用いれば逆算してもう一方の鍵データ、または認証データが求められるような形になるように、鍵データと認証データからスクランブルデータを生成すると共に、前記認証データ、鍵データ、及びスクランブルデータのいずれかに対して、少なくとも第3者にとっては逆算が困難な演算処理を行って検証データを求めて、この検証データ及び前記スクランブルデータを認証装置に送り、前記認証装置において、前記被認証装置から受け取った検証データ及びスクランブルデータと、自装置に蓄積された被認証装置、またはユーザごとの認証データとに基づいて、前記被認証装置の正当性を検証するものであり、前記被認証装置と前記認証装置との間で前記鍵データを共有させる構成とする。
【0009】
これによると、被認証装置と認証装置との通信に介入する中間者により、被認証装置から認証装置に送られるスクランブルデータと検証データが盗み見されたとしても、中間者は、検証データから認証データや鍵データを求めることはできず、また鍵データを知らなければ、スクランブルデータから認証データを求めることはできないため、高い秘匿性を確保することができる。また、被認証装置及び認証装置での処理が積演算など簡単な演算で済むため、演算負荷を軽減してコストを削減することができる。
【0010】
また、積データなどスクランブルデータのみでも認証装置にて認証データを求めることができるため、スクランブルデータのみを認証装置に送ることも考えられるが、この場合、中間者が適当に生成したデータで認証を試みて、たまたま適合するものがあれば、認証が成功する可能性がある。一方、本発明のように検証データも同時に送るようにすると、スクランブルデータを元にした認証データの照合と検証データの照合とが同時に成功する余地は皆無に等しく、不正な認証を確実に阻止することができる。
【0011】
ここで、認証データとは、被認証装置の正当性を示すものであり、被認証装置やこれを操作するユーザに与えられたパスワードや、被認証装置を操作するユーザに関するバイオメトリクス情報などである。
【0012】
この場合、鍵データは、予めあるいは認証時とは別の手順で被認証装置及び認証装置に保有させる。また、中間者は、検証データから元になるデータを逆算できずとも、元データの値に、適当な値を入れて計算結果が合致するか否かを確かめるオフライン攻撃を行うことは可能であるので、元データの値は十分大きなものであることが望ましい。以下も同様である。
【0013】
前記課題を解決するためになされた第2の発明は、被認証装置において、自装置、またはユーザの正当性を示す認証データに鍵データを乗じる積データなど、認証データを用いれば逆算して鍵データが求められるような形になるように、鍵データと認証データからスクランブルデータを生成すると共に、前記鍵データ、及びスクランブルデータのいずれかに対して、少なくとも第3者にとっては逆算が困難な演算処理を行って検証データを求めて、この検証データ及び前記スクランブルデータを認証装置に送り、前記認証装置において、前記被認証装置から受け取った検証データ及びスクランブルデータと、自装置に蓄積された被認証装置、またはユーザごとの認証データとに基づいて、前記被認証装置の正当性を検証するものであり、前記被認証装置と前記認証装置のいずれかで前記鍵データを乱数で生成する構成とする。
【0014】
これによると、被認証装置と認証装置との通信に介入する中間者により、被認証装置から認証装置に送られるスクランブルデータと検証データが盗み見されたとしても、中間者は、検証データから認証データや鍵データを求めることはできず、また鍵データを知らなければ、スクランブルデータから認証データを求めることはできないため、高い秘匿性を確保することができる。また、被認証装置及び認証装置での処理が積演算など簡単な演算で済むため、演算負荷を軽減してコストを削減することができる。また、鍵データを乱数で生成するため、秘匿性をより一層高めることができる。
【0015】
また、積データなどスクランブルデータのみでも認証装置にて認証データを求めることができるため、スクランブルデータのみを認証装置に送ることも考えられるが、この場合、中間者が適当に生成したデータで認証を試みて、たまたま適合するものがあれば、認証が成功する可能性がある。一方、本発明のように検証データも同時に送るようにすると、スクランブルデータを元にした認証データの照合と検証データの照合とが同時に成功する余地は皆無に等しく、不正な認証を確実に阻止することができる。
【0016】
ここで、認証データとは、被認証装置の正当性を示すものであり、被認証装置やこれを操作するユーザに与えられたパスワードや、被認証装置を操作するユーザに関するバイオメトリクス情報などである。
【0017】
前記課題を解決するためになされた第3の発明は、前記第1・第2の発明において、前記検証データは、前記鍵データ、若しくは認証データを一方向性関数を用いて変換する演算処理により求められる構成とする。
【0018】
これによると、逆関数の計算が困難であるため、被認証装置と認証装置との通信に介入する中間者は、検証データから認証データや鍵データを求めることはできないため、秘匿性を確保することができる。
【0019】
この場合、一方向性関数としては、逆関数の計算が困難で、元データを求めることが事実上できないものであり、その代表的なものとしてハッシュ関数があるが、べき乗関数、特に2乗関数でも、データ量(桁数)が大きくなると、実用上十分な一方向性が得られ、また演算負荷が低いことから、低速の演算機能しか備えていない簡易な装置にも適用することができる。なお、以下の一方向性関数も同様である。
【0020】
前記課題を解決するためになされた第4の発明は、前記第1・第2の発明において、前記検証データは、前記鍵データ、若しくは認証データを前記認証装置の公開鍵を用いて暗号化する演算処理により求められる構成とする。
【0021】
なお、認証装置の公開鍵、秘密鍵というのは、認証装置内のものに限定されるものではなく、認証装置に読取りされる外部のスマートカードようなのものも含まれる。
【0022】
これによると、被認証装置と認証装置との通信に介入する中間者は、認証装置の秘密鍵がなければ、検証データから認証データや鍵データを求めることはできないため、秘匿性を確保することができる。
【0023】
この場合、暗号化方式としては、RSA方式、DH方式、及び楕円暗号方式など種々の暗号化方式が可能である。なお、以下の暗号化も同様である。
【0024】
なお、鍵データ、若しくは認証データの値が非常に大きい場合は、乱数で共通鍵を発生させ、この共通鍵で鍵データ、若しくは認証データの暗号化を行い、共通鍵は、公開鍵で暗号化を行うというハイブリッド暗号とすると良い。
【0025】
前記課題を解決するためになされた第5の発明は、前記第1〜第4の発明において、前記被認証装置及び前記認証装置の双方において、互いに同一の一方向性関数を用いて前記認証データ、若しくは前記鍵データを変換して、その変換結果で前記認証データ、若しくは前記鍵データを更新する構成とする。
【0026】
これによると、他者により被認証装置や認証装置が保持する認証データが盗取されたとしても、被認証装置や認証装置が過去に保持していた認証データが分からないため、認証に関する事実(認証相手、認証日時など)を過去に遡って探索されることのないフォワードセキュアを実現することができる。被認証装置がカードであるカード認証などにおいて、カード廃棄を行う際に、カードに対して特に特別な対処を行わずとも、安全性が確保されるので良い。また、自装置内での変換処理のみで済むため、コストを削減することができる。
【0027】
この場合、被認証装置と認証装置での更新処理は同一のタイミングで行われ、例えば1回の認証のたびに、被認証装置で認証データが更新されると同時に、その認証を受けた被認証装置に関する認証データ、若しくは鍵データが認証装置で更新される。
【0028】
なお、一方向性関数を用いた認証データ、若しくは鍵データの変換は、認証データ、若しくは鍵データの全てに対して行う他、その一部に対して行うものとしても良い。
【0029】
前記課題を解決するためになされた第6の発明は、前記第1〜第5の発明において、前記被認証装置において、前記認証データ、若しくは前記鍵データを前記認証装置の公開鍵を用いて暗号化した上でスクランブルデータを求めてこのスクランブルデータを前記認証装置に送り、前記認証装置において、前記被認証装置から受け取ったスクランブルデータに前記被認証装置とは逆の演算を行った上で自身の秘密鍵を用いて復号化する構成とする。
【0030】
これによると、中間者により被認証装置や認証装置が保持する認証データが盗取されたとしても、認証データまたは鍵データが暗号化されているため、被認証装置と認証装置との通信に介入する中間者は、認証装置の秘密鍵がない限り、送信される認証データまたは鍵データの内容がわからず、認証に関する事実を未来に渡って探索されることのないバックセキュアを実現することができる。被認証装置がカードであるカード認証などにおいて、他者に、カードの中身をカード所持者に分からないように盗み見されても、少なくともカード所持者の行動が監視されることはなくなる。また、認証に関する事実を過去に遡って探索されることのないフォワードセキュアを実現することができる。
【0031】
なお、認証データまたは鍵データの暗号化は、認証データ及び鍵データの全てに対して行う他、その一部に対して行うものとしても良い。また、認証装置の公開鍵、秘密鍵というのは、認証装置内のものに限定されるものではなく、認証装置に読取りされる外部のスマートカードのようなものも含まれる。
【0032】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【0033】
図1は、本発明による秘匿認証システムを示すシステム構成図である。ここでは、クライアント装置(被認証装置)1とサーバ装置(認証装置)2とがネットワーク接続され、サーバ装置2においてクライアント装置1の認証を行うための認証データ(パスワードなど)をクライアント装置1からサーバ装置2に通知するものである。このような認証システムでは、クライアント装置1とサーバ装置2との間の通信に介入した中間者装置3により認証データを盗取されたり、中間者装置3が正規のクライアント装置1になりすましてサーバ装置2で不正に認証を受けることを阻止するために、以下のような秘匿認証システムが採用される
【0034】
<鍵共有型で一方向性関数による検証データの例>
図2は、図1に示したクライアント装置及びサーバ装置の第1の例を示すブロック図である。クライアント装置1は、自装置の正当性を示す認証データMを秘密に記憶する認証データ記憶部101と、鍵データSを秘密に記憶する鍵データ記憶部102と、鍵データ記憶部102の鍵データSを認証データMに乗じて積データM×Sを求める積演算部103と、鍵データSを一方向性関数を用いて変換する演算処理を行って検証データF(S)を求める検証データ生成部104とを有しており、クライアント装置1からサーバ装置2に対する認証要求時に、検証データ生成部104で得られた検証データF(S)と積演算部103で得られた積データM×Sがサーバ装置2に送られる。
【0035】
検証データ生成部104で用いられる一方向性関数としては、ハッシュ関数などの典型的な一方向性関数も可能であるが、実用上十分な一方向性が得られる2乗関数が好適であり、演算負荷が低いことから、低速の演算機能しか備えていない簡易な装置(RFIDタグなど)にも適用することができる。
【0036】
サーバ装置2は、複数のクライアント装置1ごとの認証データMを蓄積する認証データ蓄積部201と、鍵データSを秘密に記憶する鍵データ記憶部202と、クライアント装置1から受け取った積データM×Sに鍵データ記憶部202の鍵データSの逆数を乗じて認証データMを求める逆演算部203と、鍵データ記憶部202の鍵データSに対して、クライアント装置1の検証データ生成部104と同一の一方向性関数を用いて変換する演算処理を行って検証データF(S)を求める検証データ生成部204と、検証データ生成部204で得られた検証データF(S)とクライアント装置1から受け取った検証データF(S)とを比較して鍵データSの真正を判定する照合部205と、逆演算部203で得られた認証データMと認証データ蓄積部201に蓄積された認証データMとを比較してクライアント装置1の正当性を検証する照合部206とを有している。
【0037】
照合部206では、照合部205で鍵データSが真正と判定された場合に、認証データ蓄積部201から認証データMが順次読み出され、逆演算部203で得られた認証データと比較して、両者が一致すれば認証が成功したものとし、一致するものがなければ認証が失敗したものとする。
【0038】
鍵データSは、認証要求時とは別の手順で事前にあるいは事後に、クライアント装置1とサーバ装置2との間で共有させる。なお、サーバ装置2には、鍵データSを逆数S−1の状態で保有させるものとしても良い。
【0039】
この構成では、中間者装置3により、クライアント装置1からサーバ装置2に送られる積データM×Sと検証データF(S)が盗み見されたとしても、中間者装置3では、検証データF(S)から鍵データSを求めることはできず、また鍵データSを知らなければ、積データM×Sから認証データMを求めることはできない。また、積データM×Sのみでもサーバ装置2にて認証データMを求めることができるが、この場合、中間者装置3が適当に生成したデータで認証を試みて、たまたま適合するものがあれば、認証が成功する可能性があるが、検証データF(S)の照合も成功する余地は皆無に等しい。
【0040】
<鍵共有型で一方向性関数による検証データの別の例>
図3は、図1に示したクライアント装置及びサーバ装置の第2の例を示すブロック図である。ここでは、検証データ生成部104・204において、認証データMを一方向性関数を用いて変換する演算処理を行って検証データF(M)を求める構成となっている。その他の構成は、図2の例と同様である。
【0041】
<鍵共有型で暗号化による検証データの例>
図4は、図1に示したクライアント装置及びサーバ装置の第3の例を示すブロック図である。ここでは、クライアント装置1が、鍵データSをサーバ装置2の公開鍵を用いて暗号化する暗号化部111を有しており、ここで得られた暗号化鍵データE(S)と積データM×Sがサーバ装置2に送られる。サーバ装置2は、クライアント装置1から受け取った暗号化鍵データE(S)を自身の秘密鍵を用いて復号化する復号化部211と、復号化部211で求められた鍵データSと鍵データ記憶部202に記憶された鍵データSとを比較して鍵データSの真正を判定する照合部212とを有している。その他の構成は、図2の例と同様である。
【0042】
この構成では、中間者により、クライアント装置1からサーバ装置2に送られる積データM×Sと暗号化鍵データE(S)を盗み見されたとしても、中間者は、サーバ装置2の秘密鍵がなければ暗号化鍵データE(S)から鍵データSを求めることはできず、また鍵データSを知らなければ、積データM×Sから認証データMを求めることはできない。
【0043】
<鍵共有型で暗号化による検証データの別の例>
図5は、図1に示したクライアント装置及びサーバ装置の第4の例を示すブロック図である。ここでは、クライアント装置1の暗号化部111において、認証データMをサーバ装置2の公開鍵を用いて暗号化する処理が行われ、ここで得られた暗号化認証データE(M)と積データM×Sがサーバ装置2に送られる。サーバ装置2では、復号化部211において、暗号化認証データE(M)を自身の秘密鍵を用いて復号化する処理が行われ、照合部212において、復号化部211で得られた認証データMと逆演算部203で得られた認証データMとを比較して認証データMの真正を判定する処理が行われる。その他の構成は、図4の例と同様である。
【0044】
<フォワードセキュアを図る例>
図6は、図1に示したクライアント装置及びサーバ装置の第5の例を示すブロック図である。ここでは、クライアント装置1が、認証データ記憶部101に記憶された認証データMを一方向性関数を用いて変換して、その変換結果で認証データMを更新するデータ更新部121を有している。また、サーバ装置2が、認証データ蓄積部201に蓄積された認証データMを一方向性関数を用いて変換して、その変換結果で認証データMを更新するデータ更新部221を有している。その他の構成は、図2の例と同様である。
【0045】
クライアント装置1のデータ更新部121とサーバ装置2のデータ更新部221では互いに同一の一方向性関数が用いられる。この一方向性関数としては、ハッシュ関数などの典型的な一方向性関数も可能であるが、実用上十分な一方向性が得られる2乗関数が好適であり、演算負荷が低いことから、低速の演算機能しか備えていない簡易な装置(RFIDタグなど)にも適用することができる。
【0046】
また、クライアント装置1のデータ更新部121とサーバ装置2のデータ更新部221での更新処理は同一のタイミングで行われ、例えば1回の認証のたびに、クライアント装置1のデータ更新部121で認証データが更新されると同時に、サーバ装置2のデータ更新部221でクライアント装置1に関する認証データが更新される。
【0047】
これにより、他者によりクライアント装置1やサーバ装置2が保持する認証データが盗取されたとしても、クライアント装置1やサーバ装置2が過去に保持していた分散データが分からないため、認証に関する事実(認証相手、認証日時など)を過去に遡って探索されることのないフォワードセキュアを実現することができる。また、自装置内での変換処理のみで済むため、コストを削減することができる。
【0048】
なお、データ更新部121・221において、鍵データ記憶部102・202に記憶された鍵データを一方向性関数で更新するものとしても良い。
【0049】
<フォワード・バックセキュアを図る例>
図7は、図1に示したクライアント装置及びサーバ装置の第6の例を示すブロック図である。ここでは、クライアント装置1が、認証データMをサーバ装置2の公開鍵を用いて暗号化する暗号化部131と、暗号化部131で得られた暗号化認証データE(M)に鍵データ記憶部102の鍵データSを乗じて積データS×E(M)を求める積演算部132とを有しており、積演算部132で得られた積データS×E(M)が検証データF(S)と共にサーバ装置2に送られる。
【0050】
サーバ装置2は、クライアント装置1から受け取った積データS×E(M)に鍵データSの逆数を乗じて暗号化認証データE(M)を求める逆演算部231と、逆演算部231で得られた暗号化認証データE(M)を自身の秘密鍵を用いて復号化する復号化部232と、復号化部232で得られた認証データMと認証データ蓄積部201に蓄積された認証データMとを比較してクライアント装置1の正当性を検証する照合部233とを有している。その他の構成は、図2の例と同様である。
【0051】
この構成では、他者によりクライアント装置1やサーバ装置2が保持する認証データMが盗取されたとしても、認証データMが暗号化されているため、クライアント装置1とサーバ装置2との通信に介入する中間者は、鍵データSとサーバ装置2の秘密鍵との双方がない限り、送信される認証データの内容がわからず、認証に関する事実を未来に渡って探索されることのないバックセキュアを実現することができる。また、通知に関する事実を過去に遡って探索されることのないフォワードセキュアを実現することができる。
【0052】
なお、積データM×Sを暗号化したり、あるいは検証データF(S)を暗号化したりすることも可能である。但し、認証データMや鍵データSの値が変わらなければ、その暗号化されたデータは常に同じ値になるため、中間者装置7は、認証している者が誰か特定できなくても、ある者がいつ認証を行っているかを追跡することは可能であり、危険である。これを避けるには、図6のように、認証データMや鍵データSの値を逐次更新すると良い。また、乱数で共通鍵を発生させ、この共通鍵で認証データMや鍵データSの暗号化を行い、共通鍵は、被通知装置2の公開鍵で暗号化を行うというハイブリッド暗号であれば、認証データMや鍵データSの値を逐次更新せずとも危険性はない。
【0053】
<双方向認証の例>
図8は、図1に示したクライアント装置及びサーバ装置の第7の例を示すブロック図である。ここでは、サーバ装置2が、互いに異なる鍵データSと鍵データKを秘密に記憶する鍵データ記憶部241と、照合部206で認証が成功した認証データMに、鍵データ記憶部241の鍵データKを乗じて積データM×Kを求める積演算部242と、鍵データ記憶部241の鍵データKを一方向性関数を用いて変換する演算処理を行って検証データF(K)を求める検証データ生成部243とを有しており、ここで得られた検証データF(K)と積演算部242で得られた積データM×Kがクライアント装置1に送られる。
【0054】
クライアント装置1は、互いに異なる鍵データSと鍵データKを秘密に記憶する鍵データ記憶部141と、鍵データ記憶部141の鍵データKを一方向性関数を用いて変換する演算処理を行って検証データF(K)を求める検証データ生成部142と、検証データ生成部142で得られた検証データF(K)とサーバ装置2から受け取った検証データF(K)とを比較して鍵データKの真正を判定する照合部143と、サーバ装置2から受け取った積データM×Kに鍵データ記憶部141の鍵データKの逆数を乗じて認証データMを求める逆演算部144と、この逆演算部144で得られた認証データMと認証データ記憶部101の認証データMとを比較してサーバ装置2の正当性を検証する照合部145とを有している。
【0055】
これにより、クライアント装置1がサーバ装置2の正当性を確認することができ、双方向認証が可能になる。
【0056】
なおここでは、クライアント装置1からサーバ装置2に対する認証要求時に用いられる鍵データSと、サーバ装置2からクライアント装置1に対する応答時に用いられる鍵データKとを異なるものとして、認証要求時と応答時の通信データが同一となることを避けるようにしたが、認証要求時と応答時とで検証データの生成に用いる一方向性関数を異なるものとする、例えば認証要求時に2乗関数を用い、応答時にハッシュ関数を用いるなどの工夫を行えば、認証要求時と応答時とで同じ鍵データを利用することが可能である
【0057】
<鍵乱数型で一方向性関数による検証データの例>
図9は、図1に示したクライアント装置及びサーバ装置の第8の例を示すブロック図である。ここでは、クライアント装置1が、鍵データSを乱数で生成する乱数生成部161を有しており、ここで生成した鍵データSを用いて積データM×S及び検証データF(S)が積演算部103及び検証データ生成部104にて求められる。
【0058】
サーバ装置2は、クライアント装置1から受け取った積データM×Sに認証データ蓄積部201に蓄積された認証データMの逆数を乗じて鍵データSを求める逆演算部261を有しており、ここで得られた鍵データSを用いて検証データ生成部204にて検証データF(S)が求められ、照合部205にて検証データ生成部204で得られた検証データF(S)とクライアント装置1から受け取った検証データF(S)とを比較する処理が行われる。その他の構成は、図2の例と同様である。
【0059】
逆演算部261では、認証データ蓄積部201から認証データMが順次読み出され、照合部205にて、検証データ生成部204で得られた検証データF(S)とクライアント装置1から受け取った検証データF(S)とが一致すれば認証が成功したものとし、両者が一致しなければ、次の認証データMを認証データ蓄積部201から読み出して同様の処理が行われ、一致するものがなければ認証が失敗したものとする。
【0060】
この構成では、中間者装置3により、クライアント装置1からサーバ装置2に送られる積データM×Sと検証データF(S)が盗み見されたとしても、中間者装置3では、検証データF(S)から鍵データSを求めることはできず、また鍵データSを知らなければ、積データM×Sから認証データMを求めることはできない。さらにここで、図6のように認証データを一方向性関数で更新すれば、フォワードセキュアを実現できる。
【0061】
なお、認証データMを識別するIDデータを、検証データF(S)及び積データM×Sと共に、クライアント装置1からサーバ装置2に送るようにしても良い。このようにすると、クライアント装置1から受け取ったIDデータに対応する認証データMを認証データ蓄積部201から読み出すことで、照合部205での比較処理が1回で済み、処理が簡便になる。
【0062】
<鍵乱数型で暗号化による検証データの例>
図10は、図1に示したクライアント装置及びサーバ装置の第9の例を示すブロック図である。ここでは、クライアント装置1が、鍵データSをサーバ装置2の公開鍵を用いて暗号化する暗号化部171を有しており、ここで得られた暗号化鍵データE(S)と積データM×Sがサーバ装置2に送られる。サーバ装置2は、クライアント装置1から受け取った暗号化鍵データE(S)を自身の秘密鍵を用いて復号化する復号化部271と、復号化部271で求められた鍵データSと逆演算部261で得られた鍵データSとを比較して鍵データSの真正を判定する照合部272とを有している。その他の構成は、図9の例と同様である。
【0063】
逆演算部261では、認証データ蓄積部201から認証データMが順次読み出され、照合部272にて、復号化部271で得られた鍵データSと逆演算部261で得られた鍵データSとが一致すれば認証が成功したものとし、両者が一致しなければ、次の認証データMを認証データ蓄積部201から読み出して同様の処理が行われ、一致するものがなければ認証が失敗したものとする。
【0064】
この構成では、中間者装置3により、クライアント装置1からサーバ装置2に送られる積データM×Sと暗号化鍵データE(S)が盗み見されたとしても、中間者装置3では、サーバ装置2の秘密鍵がなければ暗号化鍵データE(S)から鍵データSを求めることはできず、また鍵データSを知らなければ、積データM×Sから認証データMを求めることはできない。しかも図7と同様に、フォワード・バックセキュアを実現できる。
【0065】
<鍵乱数型で双方向認証の例>
図11は、図1に示したクライアント装置及びサーバ装置の第10の例を示すブロック図である。ここでは、サーバ装置2が、鍵データKを乱数で生成する乱数生成部281と、照合部205で認証が成功した認証データMに、乱数生成部281で生成した鍵データKを乗じて積データM×Kを求める積演算部282と、乱数生成部281で生成した鍵データKを一方向性関数を用いて変換する演算処理を行って検証データF(K)を求める検証データ生成部283とを有しており、ここで得られた検証データF(K)と積演算部282で得られた積データM×Kがクライアント装置1に送られる。
【0066】
クライアント装置1は、サーバ装置2から受け取った積データM×Kに認証データ記憶部101の認証データMの逆数を乗じて鍵データKを求める逆演算部181と、逆演算部181で得られた鍵データKを一方向性関数を用いて変換する演算処理を行って検証データF(K)を求める検証データ生成部182と、検証データ生成部182で得られた検証データF(K)とサーバ装置2から受け取った検証データF(K)とを比較して鍵データKの真正を判定する照合部183とを有している。
【0067】
これにより、クライアント装置1がサーバ装置2の正当性を確認することができ、双方向認証が可能になる。
【産業上の利用可能性】
【0068】
本発明にかかる秘匿認証システムは、高度な秘匿性を確保すると共に演算負荷を軽減してコストを削減することができる効果を有し、他人に知られることなく認証データを被認証装置から認証装置に通知して認証を行う秘匿認証システムなどとして有用である。
【図面の簡単な説明】
【0069】
【図1】本発明による秘匿認証システムを示すシステム構成図
【図2】図1に示したクライアント装置及びサーバ装置の第1の例を示すブロック図
【図3】図1に示したクライアント装置及びサーバ装置の第2の例を示すブロック図
【図4】図1に示したクライアント装置及びサーバ装置の第3の例を示すブロック図
【図5】図1に示したクライアント装置及びサーバ装置の第4の例を示すブロック図
【図6】図1に示したクライアント装置及びサーバ装置の第5の例を示すブロック図
【図7】図1に示したクライアント装置及びサーバ装置の第6の例を示すブロック図
【図8】図1に示したクライアント装置及びサーバ装置の第7の例を示すブロック図
【図9】図1に示したクライアント装置及びサーバ装置の第8の例を示すブロック図
【図10】図1に示したクライアント装置及びサーバ装置の第9の例を示すブロック図
【図11】図1に示したクライアント装置及びサーバ装置の第10の例を示すブロック図
【符号の説明】
【0070】
1 クライアント装置
2 サーバ装置
3 中間者装置
101 認証データ記憶部、102 鍵データ記憶部、103 積演算部、104 検証データ生成部、111 暗号化部、121 データ更新部、131 暗号化部、132 積演算部、141 鍵データ記憶部、142 検証データ生成部、143 照合部、144 逆演算部、145 照合部、161 乱数生成部、171 暗号化部、181 逆演算部、182 検証データ生成部、183 照合部
201 認証データ蓄積部、202 鍵データ記憶部、203 逆演算部、204 検証データ生成部、205 照合部、206 照合部、211 復号化部、212 照合部、221 データ更新部、231 逆演算部、232 復号化部、233 照合部、241 鍵データ記憶部、242 積演算部、243 検証データ生成部、261 逆演算部、271 復号化部、272 照合部、281 乱数生成部、282 積演算部、283 検証データ生成部

【特許請求の範囲】
【請求項1】
被認証装置において、自装置、またはユーザの正当性を示す認証データに鍵データを乗じる積データなど、認証データ、または鍵データを用いれば逆算してもう一方の鍵データ、または認証データが求められるような形になるように、鍵データと認証データからスクランブルデータを生成すると共に、前記認証データ、鍵データ、及びスクランブルデータのいずれかに対して、少なくとも第3者にとっては逆算が困難な演算処理を行って検証データを求めて、この検証データ及び前記スクランブルデータを認証装置に送り、
前記認証装置において、前記被認証装置から受け取った検証データ及びスクランブルデータと、自装置に蓄積された被認証装置、またはユーザごとの認証データとに基づいて、前記被認証装置の正当性を検証するものであり、
前記被認証装置と前記認証装置との間で前記鍵データを共有させることを特徴とする秘匿認証システム。
【請求項2】
被認証装置において、自装置、またはユーザの正当性を示す認証データに鍵データを乗じる積データなど、認証データを用いれば逆算して鍵データが求められるような形になるように、鍵データと認証データからスクランブルデータを生成すると共に、前記鍵データ、及びスクランブルデータのいずれかに対して、少なくとも第3者にとっては逆算が困難な演算処理を行って検証データを求めて、この検証データ及び前記スクランブルデータを認証装置に送り、
前記認証装置において、前記被認証装置から受け取った検証データ及びスクランブルデータと、自装置に蓄積された被認証装置、またはユーザごとの認証データとに基づいて、前記被認証装置の正当性を検証するものであり、
前記被認証装置と前記認証装置のいずれかで前記鍵データを乱数で生成することを特徴とする秘匿認証システム。
【請求項3】
前記検証データは、前記鍵データ、若しくは認証データを一方向性関数を用いて変換する演算処理により求められることを特徴とする請求項1乃至請求項2のいずれかに記載の秘匿認証システム。
【請求項4】
前記検証データは、前記鍵データ、若しくは認証データを前記認証装置の公開鍵を用いて暗号化する演算処理により求められることを特徴とする請求項1乃至請求項2のいずれかに記載の秘匿認証システム。
【請求項5】
前記被認証装置及び前記認証装置の双方において、互いに同一の一方向性関数を用いて前記認証データ、若しくは前記鍵データを変換して、その変換結果で前記認証データ、若しくは前記鍵データを更新することを特徴とする請求項1乃至請求項4のいずれかに記載の秘匿認証システム。
【請求項6】
前記被認証装置において、前記認証データ、若しくは前記鍵データを前記認証装置の公開鍵を用いて暗号化した上でスクランブルデータを求めてこのスクランブルデータを前記認証装置に送り、
前記認証装置において、前記被認証装置から受け取ったスクランブルデータに前記被認証装置とは逆の演算を行った上で自身の秘密鍵を用いて復号化することを特徴とする請求項1乃至請求項5のいずれかに記載の秘匿認証システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−272671(P2009−272671A)
【公開日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願番号】特願2008−118742(P2008−118742)
【出願日】平成20年4月30日(2008.4.30)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】