(57)【要約】【課題】  使い捨てが可能な割符型の電子署名情報を用いることにより、安全な署名認証を実現する。【解決手段】  少なくとも一方の割符につき、一方向性関数を利用してチェーニングすることで、一方向に順次ハッシュ演算を行なう。チェーニングにより、上位の値を入手すればそれより下位に位置するデータを順次生成することができる。この場合、逆方向への演算は不可能である。従って、上位のある値が提示されたときにそれより下位のハッシュ値を利用して認証し、また、逆順に公開することで安全性が保証される。【選択図】      図３
2006203364.tif 000002
【特許請求の範囲】
【請求項１】
割符を用い、演算装置によりデジタル認証を行なう署名認証方法であって、
前記演算装置は、
前記割符の少なくとも一方につき、一方向にハッシュ値の演算を順次行い、得られるハッシュ値を逆方向に順次配布するハッシュチェーンを生成する第１のステップと、
前記ハッシュチェーンの上位のハッシュ値が配布されたときに、前記ハッシュ値の下位に位置するハッシュ値を用いて認証する第２のステップと、
を実行することを特徴とする署名認証システム。
【請求項２】
前記第１のステップは、
前記割符がそろったときにハッシュチェーンを生成するサブステップを含むことを特徴とする請求項１に記載の署名認証方法。
【請求項３】
前記第１のステップは、
前記割符の一方を逆方向にチェーニングするサブステップを含むことを特徴とする請求項１に記載の署名認証方法。
【請求項４】
割符を用いてデジタル認証を行なう署名認証システムであって、
前記割符の少なくとも一方につき、一方向にハッシュ値の演算を順次行い、得られるハッシュ値を逆方向に順次配布するハッシュチェーンを生成する手段と、
前記ハッシュチェーンの上位のハッシュ値が提示されたときに、前記ハッシュ値の下位に位置するハッシュ値を用いて認証するステップと、
を具備することを特徴とする署名認証システム。
【請求項５】
相手装置から送信される割符を用いてデジタル認証を行なう署名認証装置であって、
相手装置に対し、自身が管理する割符に対応する前記相手装置が管理する割符のハッシュ値の計算を指示する手段と、
前記相手装置が管理する前記割符の計算されたハッシュ値を受信する手段と、
前記そろった割符のハッシュ値を演算し、事前に入手済みの前記自身が管理する割符に対応するハッシュ値と照合する手段と、
を具備することを特徴とする署名認証装置。
【請求項６】
相手装置から送信される割符を用いてデジタル認証を行なう署名認証装置に用いられるプログラムであって、
相手装置に対し、自身が管理する割符に対応する前記相手装置が管理する割符のハッシュ値の計算を指示する処理と、
前記相手装置が管理する前記割符の計算されたハッシュ値を受信する処理と、
前記そろった割符のハッシュ値を演算し、事前に入手済みの前記自身が管理する割符に対応するハッシュ値と照合する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割符を用い、演算装置によりデジタル認証を行なう署名認証方法およびシステムならびに装置、プログラムに関する。
【背景技術】
【０００２】
近年、ユビキタス環境等の実現に向け、様々なセキュリティ技術が検討されている。例えば、流通する物品に対してＩＣタグを付加し、商品管理を行う方式が検討されている。ＩＣタグ内に、例えば、生産者情報等に対する電子署名情報を格納すれば生産者情報の正当性を確認することができる。
電子署名を実現する方式の一つにデジタル署名があり、公開鍵暗号方式の応用により、例えば上記した生産者を証明しかつ改竄されていないことを保証する。署名者は自身の秘密鍵を用いて暗号化した署名情報を付加し、受取人は署名者の公開鍵を用いて書名情報を復号して正当性を確認するものである（例えば、非特許文献１参照）。
【非特許文献１】デジタル署名（digital Signature）ＩＴ用語辞典、インターネットＵＲＬ＜http://e-words.jp/w/E38387E382B8E382BFE383ABE7BDB2E59080.html＞２００５年１月１０日閲覧。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記したユビキタス環境下では非力な端末が存在し、上記した電子署名情報を付加した場合、管理するための処理負荷が大きい他に、容量制限に関する問題等があり、そのまま適用するには現実的ではない。
【０００４】
本発明は上記事情に鑑みてなされたものであり、使い捨てが可能な割符型の電子署名情報を用いることにより、安全な署名認証を実現すると署名認証方法およびシステムならびに装置、プログラムを提供することを目的とする。また、ユビキタス環境下において使用される非力な端末が持つ容量制限等のウイークポイントについても緩和することのできる、署名認証方法およびシステムならびに装置、プログラムを提供することも目的とする。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために本発明は、割符を用い、演算装置によりデジタル認証を行なう署名認証方法であって、前記演算装置は、前記割符の少なくとも一方につき、一方向にハッシュ値の演算を順次行い、得られるハッシュ値を逆方向に順次配布するハッシュチェーンを生成する第１のステップと、前記ハッシュチェーンの上位のハッシュ値が配布されたときに、前記ハッシュ値の下位に位置するハッシュ値を用いて認証する第２のステップと、を実行することを特徴とする。
【０００６】
また、本発明において、前記第１のステップは、前記割符がそろったときにハッシュチェーンを生成するサブステップを含むことを特徴とする。
【０００７】
また、本発明において、前記第１のステップは、前記割符の一方を逆方向にチェーニングするサブステップを含むことを特徴とする。
【０００８】
また、本発明は、割符を用いてデジタル認証を行なう署名認証システムであって、前記割符の少なくとも一方につき、一方向にハッシュ値の演算を順次行い、得られるハッシュ値を逆方向に順次配布するハッシュチェーンを生成する手段と、前記ハッシュチェーンの上位のハッシュ値が提示されたときに、前記ハッシュ値の下位に位置するハッシュ値を用いて認証するステップと、を具備することを特徴とする。
【０００９】
また、本発明は、相手装置から送信される割符を用いてデジタル認証を行なう署名認証装置であって、相手装置に対し、自身が管理する割符に対応する前記相手装置が管理する割符のハッシュ値の計算を指示する手段と、前記相手装置が管理する前記割符の計算されたハッシュ値を受信する手段と、前記そろった割符のハッシュ値を演算し、事前に入手済みの前記自身が管理する割符に対応するハッシュ値と照合する手段と、を具備することを特徴とする。
【００１０】
また、本発明は、相手装置から送信される割符を用いてデジタル認証を行なう署名認証装置に用いられるプログラムであって、相手装置に対し、自身が管理する割符に対応する前記相手装置が管理する割符のハッシュ値の計算を指示する処理と、前記相手装置が管理する前記割符の計算されたハッシュ値を受信する処理と、前記そろった割符のハッシュ値を演算し、事前に入手済みの前記自身が管理する割符に対応するハッシュ値と照合する処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、少なくとも一方の割符につき、一方向性関数を利用してチェーニングすることで、一方向に順次ハッシュ演算を行い上位の値を入手すればそれより下位に位置するデータを生成することができる。この場合、逆方向への演算は不可能である。従って、上位のある値が提示されたときにそれより下位のハッシュ値を利用して認証し、また、逆順に公開することで安全性が保証される。
また、割符が揃った段階でそのハッシュ値が不要となるため、割符の一方向性関数により使い捨て鍵による署名認証を実現でき、各エンティティにおける保存コストを削減することができる。また、各エンティティにおいて割符の全てを管理することから解放されるため、処理負荷の軽減（軽量化）も実現でき、これらは、特に、ユビキタス環境下における非力な端末に用いて得られる効果が大きい。
【００１２】
また、２以上の割符から計算されるハッシュ値自身もチューニングし、あるいは、いずれか一方の割符を逆順にチューニングすることによっても本発明を実現することができ、この場合、多様なアプリケーションに対応することかできる。
【発明を実施するための最良の形態】
【００１３】
本発明実施形態では、使い捨て鍵による署名検証を実現する。このため、割符を用い、いずれか一方、あるいは両方の割符をハッシュチェーンで構成することにより、演算装置によって、より下位のハッシュ値を所有しているものは以降のハッシュ値を計算でき、また、最上位のハッシュ値を持つものは任意のハッシュ値を計算することができる。
上記したように、本発明実施形態では、少なくとも割符の一方が一方向性関数を利用してチェーニングされている。ここで、チェーニングとは、ある方向に順次演算していくことができ、ある値を入手すれば、それより下位に位置するデータを生成することができることをいう。このとき逆方向への演算はできない。従って、上位のある値が提示された場合、それより下位の値を利用して検証することができ、このため、認証鍵として用いることができる。なお、２以上の割符から計算されるハッシュ値自身もチェーニングされている場合がある。
【００１４】
以下、図面を参照しながら本発明実施形態のそれぞれについて詳細に説明する。まず、図１を用い、ハッシュ値がチェーニングされていない基本形から説明する。
図１は、割符Ａ１、割符Ｂ１をそれぞれのユーザが管理しており、それぞれの割符がハッシュ関数でチェーニングされている（Ａ１−Ａ２、Ｂ１−Ｂ２）。また、割符Ａ１、割符Ｂ１、あるいは割符Ａ２、割符Ｂ２の２つがそろうと、それぞれにおいて特殊なハッシュ関数か計算され、ハッシュ値１、ハッシュ値２のそれぞれが得られ、これらハッシュ値１、２を商品に貼付して検証するアプリケーションが考えられる。
【００１５】
図２は、エンティティＡとエンティティＢが非対称になっている。ここで、非対象とは、エンティティＢはハッシュ関数でチェーニングされているのに対し、エンティティＡはチェーニングされていないことをいう。従って、エンティティＡにおける割符Ａ１、割符Ａ２は独立しており、ユーザ毎に配布するイメージである。
一方、割符Ａ１と割符Ｂ１がそろったときに計算されるハッシュ値１と、割符Ａ２と割符Ｂ２がそろったときに計算されるハッシュ値２はチェーニングされており、ハッシュ値１がわかればハッシュ値２が計算できるように効率化されている。本実施形態のアプリケーション例については後述する。
【００１６】
図３は、エンティティＡとエンティティＢが同一方向にチェーニングされており、更に、ハッシュ値１とハッシュ値２もチェーニングされている例である。なお、ハッシュ値のチェーン（どこまで割符を長くするか）は任意長まで可能である。
また、図４は、エンティティＡとエンティティＢが逆方向にチェーニングされる例である。ここでは、特殊な関数と特殊な関数２の一部が逆関数の関係になっている。なお、特殊な関数の例としては、２つのハッシュ関数を結合し、入力データによって左右を入れ替える方式（入力Ａ、Ｂに対して、Ｈ（Ａ）│Ｈ（Ｂ）もしくは、Ｈ（Ｂ）│Ｈ（Ａ）を出力）、あるいはＡ１とＨ（Ｂ１）の排他的論理和を採る方式も考えられる。
【００１７】
ここで、図２に示す非対象型の一方向性関数を用いたアプリケーション例について説明する。ここでは、エンティティＡとして商品の流通過程における各流通業者、エンティティＢとして商品を仮定し、生産者は、あるチェーニングされたハッシュ値、もしくは最上位のマスタとなるハッシュ値を公開するものとする。また、エンティティＢの最上位の割符は商品タグ内に秘匿され、商品タグ内ではハッシュ関数演算が可能なものとする。更に、割符Ａ１、割符Ａ２は、流通する順序とは逆順で各業者に配布されている。
上記した環境で署名認証を行なうシステムを、ＩＣタグ１とサーバ２（または端末）で構築したときの実施形態を図５にブロック図で示し、図６にそのときのサーバ（あるいは端末）の処理手順を示す。
【００１８】
図５において、ＩＣタグ１は、ハッシュ関数演算部１１を内蔵しており、商品タグ＃０〜＃ｎとして商品のそれぞれに貼付されているものとする。なお、Ｂｘはメモリに格納された割符である。
サーバ２（端末）は、ハッシュ値要求部２１と、ハッシュ値受信部２２と、ハッシュ関数演算部２３と、照合部２４と、割符Ａｘ、割符Ｈｘが格納されるそれぞれのメモリ２５、２６で構成される。
【００１９】
ハッシュ値要求部２１は、ＩＣタグ１に対し、自身が管理する割符Ａｘに対応する割符Ｂｘ（ＩＣタグ１が管理）のハッシュ値の計算を要求する機能を持つ。また、ハッシュ値受信部２２は、ＩＣタグ１が管理する割符Ｂｘの計算されたハッシュ値を受信してハッシュ関数演算部２３へ供給する。ハッシュ関数演算部２４には、他に、自身が管理する割符Ａｘが供給されており、ここでハッシュ関数演算が行われた結果は照合部２４へ供給される。照合部２４には、他に生産者によって事前に公開された割符Ｈｘのハッシュ値が供給されており、ここで比較照合することによって商品タグの署名認証が行われる。
【００２０】
図６に、ある業者が商品を入手した場合の署名認証の手順がフローチャートで示されている。
以下、図６に示すフローチャートを参照しながら図５に示す本発明実施形態の動作について詳細に説明する。
【００２１】
ある流通業者は、サーバ２（端末）を介して自身が管理する割符Ａｘに対応するハッシュ値Ｈｘを事前に入手しておりメモリ２６に格納している。
ここで、ある業者は、サーバ２（端末）を操作してＩＣタグ１に対して命令を入力し、自身で管理している割符Ａｘに対応するＩＣタグ１の割符Ｂｘを計算するように指示する（Ｓ６１）。これは、ハッシュ値要求部２１により実行される。
【００２２】
上記命令を受信したＩＣタグ１は、自身で管理する割符Ｂｘに基づきハッシュ関数演算部１１で演算した結果を要求のあったサーバ２（端末）へ返信する。ここで、返信したＢｘ以降のＢｘ’（ｘ’＞ｘ）は無効となる。
サーバ２（端末）は、ＩＣタグ１により返信されたハッシュ値を、ハッシュ値受信部２２を介して受信し（Ｓ６２）、そのハッシュ値をハッシュ関数演算部２３へ供給する。ハッシュ関数演算部２３は、ハッシュ値受信部２２を介して受信されたハッシュ値Ｂｘと、自身が管理しメモリ２５に格納してあるハッシュ値Ａｘ２５とのハッシュ関数演算を実行し（Ｓ６３）、結果、得られるハッシュ値を照合部２４へ供給する。照合部２４では得られたハッシュ値と事前に入手してメモリ２６に格納してあるハッシュ値Ｈｘとの比較照合を行い、ＩＣタグ１が内蔵された商品タグの正当性を検証する（Ｓ６４）。
【００２３】
なお、図５に示す本発明実施形態によれば、エンティティＡにＩＣタグ１、エンティティＢにサーバ（端末）が設置され、接続される形態について示したが、他に、ＩＣカードと端末、端末と端末等、システム構築およびその接続形態は任意である。
【００２４】
以上説明のように本発明によれば、少なくとも一方の割符につき、一方向性関数を利用してチェーニングすることで、一方向に順次ハッシュ演算を行い上位の値を入手すればそれより下位に位置するデータを生成することができる。この場合、逆方向への演算は不可能である。従って、上位のある値が提示されたときにそれより下位のハッシュ値を利用して認証し、また、逆順に公開することで安全性が保証される。
【００２５】
また、割符が揃った段階でそのハッシュ値が不要となるため、割符の一方向性関数により使い捨て鍵による署名認証を実現でき、各エンティティにおける保存コストを削減することができる。また、各エンティティにおいて割符の全てを管理することから解放されるため、処理負荷の軽減（軽量化）も実現でき、これらは、特に、ユビキタス環境下における非力な端末に用いて得られる効果が大きい。また、２以上の割符から計算されるハッシュ値自身もチューニングし、あるいは、いずれか一方の割符を逆順にチューニングすることによっても本発明を実現することができ、この場合、多様なアプリケーションに対応することかできる。
【００２６】
なお、図５に示すハッシュ値要求部２１、ハッシュ値受信部２２とハッシュ関数演算部２３、照合部２４のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明の署名認証装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００２７】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００２８】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係わる割符を用いた一方向性関数の一例を説明するために引用した図である。
【図２】本発明の実施形態に係わる割符を用いた一方向性関数の一例を説明するために引用した図である。
【図３】本発明の実施形態に係わる割符を用いた一方向性関数の一例を説明するために引用した図である。
【図４】本発明の実施形態に係わる割符を用いた一方向性関数の一例を説明するために引用した図である。
【図５】本発明の実施形態に係わる署名認証装置の内部構成を機能展開して示したブロック図である。
【図６】本発明の実施形態に係わる処理手順を説明するために引用したフローチャートである。
【符号の説明】
【００３０】
１…ＩＣタグ、２…サーバ（端末）、１１…ハッシュ関数演算部、２１…ハッシュ値要求部、２２…ハッシュ値受信部、２３…ハッシュ関数演算部、２４…照合部、１２、２５、２６…メモリ（割符）
【図１】
2006203364.tif 000003
【図２】
2006203364.tif 000004
【図３】
2006203364.tif 000005
【図４】
2006203364.tif 000006
【図５】
2006203364.tif 000007
【図６】
2006203364.tif 000008