(57)【要約】      （修正有）【課題】通信を行う装置間で認証処理を行えるようにする。【解決手段】乱数発生部２３により発生された乱数ｒは、通信部２４により端末１２に送信される。端末１２は、所定の個数のデータを発生する。発生された所定の個数のデータから、乱数ｒに基づき所定のデータが除去される。所定のデータが除去されたデータ列から回帰式が求められ、所定の数値が代入される。この数値と発生されたデータ列が、本体１１に送信される。本体１１側でも、端末１２側と同様に、受信されたデータ列から所定のデータが除去され、回帰式が求められ、所定の数値が代入される。本体１１は、自己が算出した値と、端末１２から供給された値が一致した場合、端末１２は正当な端末であると判断し、その後の処理を継続する。【選択図】図１
2008113127.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置が第２の装置を認証する認証システムであって、
前記第１の装置において、
乱数rを発生し、前記第２の装置に供給する第１の供給手段と、
前記第２の装置において、
前記乱数ｒを取得した場合、ｎ個のデータを発生する発生手段と、
前記発生手段により発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する第１の選択手段と、
前記第１の選択手段により選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める第１の回帰式手段と、
前記第１の回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第１の比較値を算出する第１の算出手段と、
前記ｎ個のデータと、前記第１の比較値を、前記第１の装置に供給する第２の供給手段と、
前記第１の装置において、
前記ｎ個のデータと、前記第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α’個のデータを除去し、（ｎ−α’）個のデータを選択する第２の選択手段と、
前記第２の選択手段により選択された（ｎ−α’）個のデータと、データの順番を表す０乃至（ｎ−１−α’）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める第２の回帰式手段と、
前記第２の回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν’）（ν’≧0）を代入して第２の比較値を算出する第２の算出手段と、
前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記第２の装置を正当な装置であると認証する認証手段と
を備える認証システム。
【請求項２】
他の装置を認証する認証装置であって、
乱数rを発生し、前記他の装置に供給する供給手段と、
前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択手段と、
前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式手段と、
前記回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出手段と、
前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証手段と
を備える認証装置。
【請求項３】
前記回帰式手段は、前記最小二乗法を、整数演算のみで行う
請求項２に記載の認証装置。
【請求項４】
他の装置を認証する認証装置の認証方法であって、
乱数rを発生し、前記他の装置に供給する供給ステップと、
前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、
前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、
前記回帰式ステップにより求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出ステップと、
前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証ステップと
を含む認証方法。
【請求項５】
他の装置を認証する認証装置を制御するコンピュータに、
乱数rを発生し、前記他の装置に供給する供給ステップと、
前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、
前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、
前記回帰式ステップにより求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出ステップと、
前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証ステップと
を含む処理を実行させるプログラム。
【請求項６】
他の装置に認証される認証装置であって、
前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生手段と、
前記発生手段により発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択手段と、
前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式手段と、
前記回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出手段と、
前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給手段と
を備える認証装置。
【請求項７】
前記回帰式手段は、前記最小二乗法を、整数演算のみで行う
請求項６に記載の認証装置。
【請求項８】
他の装置に認証される認証装置の認証方法であって、
前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生ステップと、
前記発生ステップの処理で発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、
前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、
前記回帰式ステップの処理で求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出ステップと、
前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給ステップと
を含む認証方法。
【請求項９】
他の装置に認証される認証装置を制御するコンピュータに、
前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生ステップと、
前記発生ステップの処理で発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、
前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、
前記回帰式ステップの処理で求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出ステップと、
前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給ステップと
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は認証システム、認証装置および方法、並びにプログラムに関し、特に、装置間で不正な装置でないか否かなどの確認を行うための認証を行えるようにした認証システム、認証装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
装置Ａが本体であり、装置Ｂが携帯可能な端末であるような分離されている装置から構成されるシステムがある。このようなシステムは、データエントリシステムなどと称されることがあり、また、データエントリシステムなどと称されるシステムを構成する装置はデータエントリ装置などと称されることがある。
【０００３】
ユーザは、装置Ｂを携帯し、装置Ｂにより得られたデータや、装置Ｂに記憶させたデータなどを、適宜、装置Ａに供給する。装置Ｂは、例えば、商品に貼付されているタグなどから情報を読み取る装置であり、装置Ａは、読み取られた情報を管理するような装置である。（例えば、特許文献１参照）
【０００４】
装置Ｂから装置Ａにデータが供給される際、装置Ａと装置Ｂは、有線または無線で接続される。
【特許文献１】特許公開２００６−１６８９３５号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
携帯型の装置Ｂから本体の装置Ａに対してデータが供給されるとき、認証が行われることがある。
【０００６】
例えば、正当でない使用者が装置Ｂを操作することにより、装置Ａに不正なデータが供給されてしまったり、装置Ａに蓄積されているデータが改竄されたり、盗まれてしまったりする可能性がある。このようなことが行われないように、装置Ｂが使用されるときや、装置Ｂが装置Ａに接続されたときに、使用者が正当な使用者であるか否かの認証が行われることがある。
【０００７】
使用者の認証は、使用者からＩＤやパスワードを入力してもらい、そのＩＤやパスワードが正しいか否かを判断することにより行われていた。また、指紋などを用いた生体認証などによって認証が行われることもある。
【０００８】
また例えば、正当な使用者によって正当でない装置Ｂが用いられている状態で、装置Ｂが装置Ａに接続された場合、故意にまたは過失により、装置Ａに蓄積されているデータが不正に更新されたり、装置Ｂを通じて不正に漏洩してしまったりする可能性がある。このようなことが行われないように、装置Ｂが装置Ａに接続されたときに、装置Ｂが正当な装置であるか否かの認証が行われる必要性がある。すなわち、使用者に関する認証とともに、装置に対する認証も行われる必要性がある。
【０００９】
そこで、不正な端末（装置Ｂ）が用いられた本体（装置Ａ）との通信を防止するために、端末自身が正当かどうかを判断するための認証を行うというニーズが高まりつつある。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、データの授受を行う装置間で、正当な装置であるか否かを判断するための認証を行うことができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の認証システムは、第１の装置が第２の装置を認証する認証システムであって、前記第１の装置において、乱数rを発生し、前記第２の装置に供給する第１の供給手段と、前記第２の装置において、前記乱数ｒを取得した場合、ｎ個のデータを発生する発生手段と、前記発生手段により発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する第１の選択手段と、前記第１の選択手段により選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める第１の回帰式手段と、前記第１の回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第１の比較値を算出する第１の算出手段と、前記ｎ個のデータと、前記第１の比較値を、前記第１の装置に供給する第２の供給手段と、前記第１の装置において、前記ｎ個のデータと、前記第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α’個のデータを除去し、（ｎ−α’）個のデータを選択する第２の選択手段と、前記第２の選択手段により選択された（ｎ−α’）個のデータと、データの順番を表す０乃至（ｎ−１−α’）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める第２の回帰式手段と、前記第２の回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν’）（ν’≧0）を代入して第２の比較値を算出する第２の算出手段と、前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記第２の装置を正当な装置であると認証する認証手段とを備える。
【００１２】
本発明の一側面の認証システムにおいては、第１の装置により発生された乱数rが第２の装置に供給され、第２の装置が乱数ｒを取得した場合、ｎ個のデータが発生され、そのｎ個のデータから、供給された乱数rに基づいて、α個のデータが除去され、（ｎ−α）個のデータにされ、（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値が、それぞれ一つずつ対応されて最小二乗法による回帰式が求められ、数値（ｎ−α＋ν）が代入されて第１の比較値が算出され、その比較値とｎ個のデータが第１の装置に供給される。第１の装置においては、供給されたｎ個のデータから、乱数rに基づいて、α’個のデータが除去され、（ｎ−α’）個のデータが選択され、その（ｎ−α’）個のデータと、データの順番を表す０乃至（ｎ−１−α’）の数値が、それぞれ一つずつ対応されて最小二乗法による回帰式が求められ、数値（ｎ−α＋ν’）が代入されて第２の比較値が算出され、その第２の比較値と第１の比較値が一致しているか否かが判断されることにより、認証処理が行われる。
【００１３】
本発明の一側面の認証装置は、他の装置を認証する認証装置であって、乱数rを発生し、前記他の装置に供給する供給手段と、前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択手段と、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式手段と、前記回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出手段と、前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証手段とを備える。
【００１４】
前記回帰式手段は、前記最小二乗法を、整数演算のみで行うようにすることができる。
【００１５】
本発明の一側面の認証方法は、他の装置を認証する認証装置の認証方法であって、乱数rを発生し、前記他の装置に供給する供給ステップと、前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、前記回帰式ステップにより求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出ステップと、前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証ステップとを含む。
【００１６】
本発明の一側面のプログラムは、他の装置を認証する認証装置を制御するコンピュータに、乱数rを発生し、前記他の装置に供給する供給ステップと、前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、前記回帰式ステップにより求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出ステップと、前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証ステップとを含む処理を実行させる。
【００１７】
本発明の一側面の認証装置および方法、並びにプログラムにおいては、乱数rが発生され、他の装置に供給され、他の装置からのｎ個のデータと、ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値が取得され、そのｎ個のデータから、乱数rに基づいて、α個のデータが除去され、（ｎ−α）個のデータとされ、その（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値が、それぞれ一つずつ対応されて最小二乗法による回帰式が求められ、数値（ｎ−α＋ν）が代入されて第２の比較値が算出される。そして、第１の比較値と第２の比較値が比較され、第１の比較値と第２の比較値が一致していると判断される場合、他の装置が正当な装置であると認証される。
【００１８】
本発明の一側面の認証装置は、他の装置に認証される認証装置であって、前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生手段と、前記発生手段により発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択手段と、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式手段と、前記回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出手段と、前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給手段とを備える。
【００１９】
前記回帰式手段は、前記最小二乗法を、整数演算のみで行うようにすることができる。
【００２０】
本発明の一側面の認証方法は、他の装置に認証される認証装置の認証方法であって、前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生ステップと、前記発生ステップの処理で発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、前記回帰式ステップの処理で求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出ステップと、前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給ステップとを含む。
【００２１】
本発明の一側面のプログラムは、他の装置に認証される認証装置を制御するコンピュータに、前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生ステップと、前記発生ステップの処理で発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択ステップと、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式ステップと、前記回帰式ステップの処理で求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出ステップと、前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給ステップとを含む処理を実行させる。
【００２２】
本発明の一側面の認証装置および方法、並びにプログラムにおいては、他の装置から供給された乱数ｒを取得した場合、ｎ個のデータが発生され、そのｎ個のデータから、供給された乱数rに基づいて、α個のデータが除去され、（ｎ−α）個のデータが選択され、その（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値が、それぞれ一つずつ対応されて最小二乗法による回帰式が求められ、数値（ｎ−α＋ν）が代入され、他の装置が認証処理を行うときに他の装置で生成した値と比較される比較値が算出され、ｎ個のデータと、比較値が他の装置に供給される。
【発明の効果】
【００２３】
本発明の一側面によれば、データの授受を行う装置間で、正当な装置であるか否かを判断するための認証を行うことが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
本発明の一側面の認証システム（例えば、図１に示すシステム）は、第１の装置（例えば、図１の本体１１）が第２の装置（例えば、図１の端末１２）を認証する認証システムであって、前記第１の装置において、乱数rを発生し、前記第２の装置に供給する第１の供給手段（例えば、図１の乱数発生部２３と通信部２４）と、前記第２の装置において、前記乱数ｒを取得した場合、ｎ個のデータを発生する発生手段（例えば、図１のデータ列発生部３３）と、前記発生手段により発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する第１の選択手段（例えば、図１の比較値演算部３５）と、前記第１の選択手段により選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める第１の回帰式手段（例えば、図１の比較値演算部３５）と、前記第１の回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第１の比較値を算出する第１の算出手段（例えば、図１の比較値演算部３５）と、前記ｎ個のデータと、前記第１の比較値を、前記第１の装置に供給する第２の供給手段（例えば、図１の通信部３４）と、前記第１の装置において、前記ｎ個のデータと、前記第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α’個のデータを除去し、（ｎ−α’）個のデータを選択する第２の選択手段（例えば、図１の比較値演算部２５）と、前記第２の選択手段により選択された（ｎ−α’）個のデータと、データの順番を表す０乃至（ｎ−１−α’）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める第２の回帰式手段（例えば、図１の比較値演算部２５）と、前記第２の回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν’）（ν’≧0）を代入して第２の比較値を算出する第２の算出手段（例えば、図１の比較値演算部２５）と、前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記第２の装置を正当な装置であると認証する認証手段（例えば、図１の比較値演算部２５）とを備える。
【００２６】
本発明の一側面の認証装置（例えば、図１の本体１１）は、他の装置を認証する認証装置であって、乱数rを発生し、前記他の装置に供給する供給手段（例えば、図２のステップＳ２２の処理を実行する図１の乱数発生部２３と、ステップＳ２３の処理を実行する通信部２４）と、前記他の装置からのｎ個のデータと、前記ｎ個のデータを用いて求められた回帰式に所定の値を代入して求められた第１の比較値を取得した場合、取得した前記ｎ個のデータから、前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択手段（例えば、図２のステップＳ２５の処理を実行する図１の比較値演算部２５）と、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式手段（例えば、図２のステップＳ２６の処理を実行する図１の比較値演算部２５）と、前記回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して第２の比較値を算出する算出手段（例えば、図２のステップＳ２７の処理を実行する図１の比較値演算部２５）と、前記第１の比較値と前記第２の比較値を比較し、前記第１の比較値と前記第２の比較値が一致している場合、前記他の装置を正当な装置であると認証する認証手段（例えば、図２のステップＳ２８の処理を実行する図１の比較値演算部２５）とを備える。
【００２７】
本発明の一側面の認証装置（例えば、図１の端末１２）は、他の装置に認証される認証装置であって、前記他の装置から供給された乱数ｒを取得した場合、ｎ個のデータを発生する発生手段（例えば、図２のステップＳ１３の処理を実行する図１のデータ列発生部３３）と、前記発生手段により発生された前記ｎ個のデータから、供給された前記乱数rに基づいて、α個のデータを除去し、（ｎ−α）個のデータを選択する選択手段（例えば、図２のステップＳ１４の処理を実行する図１の比較値演算部３５）と、前記選択された（ｎ−α）個のデータと、データの順番を表す０乃至（ｎ−１−α）の数値を、それぞれ一つずつ対応させて最小二乗法による回帰式を求める回帰式手段（例えば、図２のステップＳ１５の処理を実行する図１の比較値演算部３５）と、前記回帰式手段により求められた前記回帰式に、数値（ｎ−α＋ν）（ν≧0）を代入して、前記他の装置が認証処理を行うときに前記他の装置で生成した値と比較される比較値を算出する算出手段（例えば、図２のステップＳ１６の処理を実行する図１の比較値演算部３５）と、前記ｎ個のデータと、前記比較値を前記他の装置に供給する供給手段（例えば、図２のステップＳ１７の処理を実行する図１の通信部３４）とを備える。
【００２８】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２９】
［システムの構成例］
図１は、本発明を適用したシステムの一実施の形態の構成を示す図である。図１に示したシステムは、例えば、データエントリシステムなどと称されるシステムである。図１に示したシステムは、本体１１と端末１２を含む構成とされている。ここでは、端末１２は、使用者が携帯可能な装置であるとし、本体１１は、端末１２とデータの授受を行う装置であるとして説明する。
【００３０】
図１に示したシステムは、例えば、商品の在庫管理などの目的で、端末１２が、商品に印刷されているバーコードなどを読み取り、商品の種類と個数を把握し、その把握した内容を本体１１に送信するなどの処理を行うデータエントリシステムに適用することができる。
【００３１】
本体１１は、制御部２１、記憶部２２、乱数発生部２３、通信部２４、および比較値演算部２５を含む構成とされる。本体１１は、例えば、パーソナルコンピュータなどである。端末１２は、制御部３１、入力部３２、データ列発生部３３、通信部３４、および比較値演算部３５を含む構成とされる。端末１２は、例えば、ＰＤＡ（personal digital assistant）や、ＩＣカードなどである。
【００３２】
本体１１の制御部２１は、本体１１の各部を制御し、例えば、ＣＰＵ（Central Processing Unit）などから構成される。記憶部２２は、制御部２１が制御を行う上で必要とされるプログラムやデータを適宜記憶したり、端末１２からのデータを記憶したりし、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disc Drive）などから構成される。
【００３３】
乱数発生部２３は、一つの乱数rを発生する。この発生される乱数は、後述する認証処理の時に用いられる。通信部２４は、端末１２と通信を行う。端末１２との通信は、有線で行われても良いし、無線で行われても良い。また、その通信の方式は、どのような方式でも良い。
【００３４】
比較値演算部２５は、端末１２から送信されたｎ個の複数のデータから乱数rに基づいてα個のデータを除去し、０乃至（ｎ−１―α）個のデータの順番号と対応させて最小二乗法に基づく回帰式から比較値を求める。このような処理は、後述する認証処理を実行する際に行われる。
【００３５】
端末１２の制御部３１は、端末１２の各部を制御し、例えば、ＣＰＵなどから構成される。入力部３２は、使用者が、端末１２を通じて本体１１に送信するデータを外部入力したり、本体１１に要求する指示や使用者認証のためのＩＤやパスワードを手動入力したりするためのものであり、キーボードやバーコードリーダーなどから構成される。
【００３６】
データ列発生部３３は、認証に用いるための、ランダムなｎ個のデータを発生する。通信部３４は、本体１１との間で事前に設定されている通信の方式に基づいて本体１１と通信を行う。
【００３７】
比較値演算部３５は、端末１２から送信されたｎ個の複数のデータから乱数rに基づいてα個のデータを除去し、０乃至（ｎ−１−α）個のデータの順番号と対応させて最小二乗法に基づく回帰式から比較値を求める。この処理は、後述する認証処理を実行する際に行われ、本体１１の比較値演算部２５で行われる処理と基本的に同様の処理である。
【００３８】
［システムで実行される認証に関する処理について］
次に、図１に示したシステムにおいて実行される認証に関する処理について、図２のフローチャートを参照して説明する。
【００３９】
ステップＳ１１において、端末１２は、何らかの信号を本体１１に送信することで、本体１１と端末１２との間での通信が開始する。何らかの信号とは、本体１１と端末１２の間で、予め設定されている通信方式に基づき、通信の開始を要求するときに出される信号である。
【００４０】
また、ステップＳ１１における処理は、例えば、端末１２の入力部３２に、ユーザからの所定の入力があったときに、制御部３１が通信部３４を制御して、所定の信号を出力することで実行される。または、通信が有線により行われる場合、通信部３４に所定のケーブルが接続され、本体１１と接続されたと判断されたときに、所定の信号が通信部３４から出力されるようにしても良い。
【００４１】
また、ここでは、端末１２側から通信を開始するとして説明するが、例えば、本体１１側が、ポーリングを行い、端末１２が通信可能範囲内に入ってきたと判断されるときに、本体１１側から通信が開始されるようにしても良い。
【００４２】
ステップＳ２１において、本体１１は、端末１２からの通信開始の要求を示す信号を受信すると、ステップＳ２２において、乱数ｒを発生する。本体１１の制御部２１は、通信部２４により、端末１２からの通信開始の要求を受信したと判断した場合、乱数発生部２３に指示を出し、乱数ｒを発生させる。
【００４３】
ステップＳ２３において、本体１１の制御部２１は、乱数発生部２３により発生された乱数rを、通信部２４を制御して端末１２に送信する。
【００４４】
ステップＳ１２において、端末１２の通信部３４は、本体１１から送信されてきた乱数ｒを受信する。
【００４５】
ステップＳ１３において、端末１２の制御部３１は、データ列発生部３３に指示を出し、ｎ個のデータ（データ列）を発生させる。データ列は、本体１１の乱数発生装置２３が発生する乱数とは異なる乱数などが用いられてランダムな数値が発生される。
【００４６】
ステップＳ１４において、制御部３１は、本体１１から供給された乱数rに基づいて、発生されたデータ列のうち、α個のデータを除去し、データ列発生部３３により発生されたｎ個のデータから（ｎ−α）個のデータを選択する。
【００４７】
ここで、ｎ個のデータを（ｎ−α）個のデータに個数を減らすときの処理について説明を加える。
【００４８】
第１の方法として、乱数ｒの値をそのまま用い、ｒ番目のデータを１つ除去する。この場合、α＝１でとされ、ｎ個のデータは、（ｎ−１）個のデータに個数が減らされることになる。また、“ｒ番目のデータを１つ除去する”とは、発生されたｎ個のデータを、発生された順、昇順、または降順など、所定の順序で並べたときに、ｒ番目に位置するデータを除去することを意味する。
【００４９】
なお、以下の説明においては、発生された順に並べられるとして説明を続ける。また以下、適宜、何番目のデータを除去するかを示す番号を除去番号と記述する。
【００５０】
例えば、乱数ｒの値が３であり、発生されたデータの個数が５個（ｎ＝５）であり、かつ、その発生されたデータが１０、２０、３０、４０、５０の順番で発生された場合に、その発生された順番の３番目を除去するという設定になっているときには、除去番号は３であり、除去されるのは“３０”というデータであり、１０、２０、４０、５０というデータが選択されることになる。その結果、５個のデータは４個のデータにされる。
【００５１】
第１の方法の変形例として、乱数ｒの倍数の順番号のデータが全て除去されるようにしても良い。この場合、αの値は発生されたデータの個数ｎに依存し可変値とされる。
【００５２】
例えば、乱数ｒの値が２であり、発生されたデータの個数が５個（ｎ＝５）であり、かつ、その発生されたデータが１０、２０、３０、４０、５０の順番で発生された場合、まず、除去番号が２とされ２番目のデータである“２０”が除去される。次に、２の２倍の４が、除去番号とされ、４番目のデータである“４０”が除去される。さらに、２の３倍の６が、除去番号とされ、６番目のデータが除去されるが、この場合、６番目のデータは存在しないため、６番目のデータとして除去されるデータはない。
【００５３】
よって、この場合、除去されるデータは２個であり、除去される個数α＝２である。その結果、５個のデータは３個のデータにされる。
【００５４】
第２の方法として、乱数ｒに関連付けられて何番目のデータを除去するかが設定されているようにしても良い。例えば、端末１２は、乱数rと除去番号が関連付けられたテーブルを保持し、供給された乱数ｒに対応する除去番号を、そのテーブルを参照して決定するようにしても良い。また、除去される個数αも、適宜、テーブルに記載される。
【００５５】
例えば、乱数ｒの値が３であり、その３に関連付けられている除去番号が４である場合、かつ、発生されたデータの個数が５個（ｎ＝５）であり、その発生されたデータが１０、２０、３０、４０、５０の順番で発生されたような場合、４番目のデータである４０が除去され、１０、２０、３０、５０という４個のデータが選択されることになる（この例の場合、α＝１である）。
【００５６】
なお、乱数ｒの数が、発生されるデータの個数ｎよりも大きい値である場合、すなわち、乱数ｒ＞個数ｎが満たされるような場合、第１の方法に従えば、ｒ番目のデータは、発生されていないため（存在していないため）、除去されるデータがないことになる。すなわち、除去番号＞個数ｎが満たされるため、除去されるデータがないことになる。後述する処理は、除去されるデータがなくても処理を行うことができる（発生された全てのデータを用いても処理を行うことができる）ため、乱数ｒ＞個数ｎが満たされるような場合でも、特別な処理を行わずに、処理を継続するようにしても良い。
【００５７】
または必ずデータが除去されるように、乱数ｒ＞個数ｎが満たされるような場合には、何らかの処理が実行されるようにしても勿論良い。例えば、乱数ｒ＞個数ｎが満たされるような場合には、乱数ｒ＜個数ｎが満たされるようにするために（除去番号＜個数ｎが満たされるようにするために）、乱数ｒ＜個数ｎが満たされるまで乱数ｒを２で除算する、またはｎで減算するといったような処理が行われるようにしても良い。
【００５８】
または、予め乱数ｒ＜個数ｎが常に満たされるように、発生される乱数ｒの値に制限を設けておいても良い。または、乱数ｒが受信された時点で、その乱数ｒよりも大きな値をｎに設定し、その設定された値ｎに基づきｎ個のデータが発生されるようにしても良い。
【００５９】
また、このようなことは、第２の方式を用いたときにも同様に起こりえることである。第２の方式を用いたときに、乱数ｒ＞個数ｎが満たされるような場合とは、第１の方式を用いたときと同じく、除去番号が個数ｎよりも大きい場合（除去番号＞個数ｎであるような場合）である。
【００６０】
第２の方式を適用したときに、除去番号＞個数ｎが満たされることがないようにするには、除去番号が、個数ｎよりも常に小さくなるような値のみが、テーブルに記載されるように、予めテーブルを作成しておけばよい。また、乱数ｒと除去番号は必ずしも１対１で対応している必要はなく、例えば、複数の乱数ｒと１つの除去番号が関連付けられていても良く、そのようなテーブルが予め作成されているようにしても良い。
【００６１】
乱数ｒは、ランダムに発生されるため、例えば、発生される可能性のある乱数ｒを、複数のグループに分け（例えば、乱数ｒの値を、１０毎に分け、複数のグループに分ける）、１つのグループに、１つの除去番号を関連付けたテーブルが作成されるようにしても良い。
【００６２】
このようにして、乱数ｒに何らかの制限を設けることにより、除去番号が個数ｎより大きくならないようにするか、または、乱数ｒに対して除算などの処理を行うことにより、除去番号が個数ｎより大きくならないようにする。
【００６３】
また、乱数ｒに基づき、複数のデータを除去するようにした場合、換言すれば、除去する個数αの値が可変値である場合、除去される個数αがｎ個以上になると、後述する回帰式を求めることができなくなるため、α＜ｎが常に満たされるように何らかの制限が加えられる。
【００６４】
また、このように、除去番号が個数ｎより大きくならないように制御される場合、特に、乱数ｒの値が個数ｎより大きくならないように制御される場合、第３の方法として、乱数ｒの値の数だけデータが除去されるようにしても良い。
【００６５】
乱数ｒ＜個数ｎが常に満たされているのであれば、（ｎ−ｒ）も整数値になり、後述する処理を実行することができる。詳細は後述するが、後段の処理には、所定数のデータが除去されたデータ列から、回帰式が求められる処理が含まれる。回帰式を求められればよいため、データ列のデータの個数が所定数だけあれば良い。よって（ｎ−ｒ）の値が、整数値であれば、回帰式を求めるのに問題はない（好ましくは、（ｎ−ｒ）の値が３以上になる方が良い）。よって、第３の方法として、乱数ｒの値だけ、データ列からデータを除去するようにしても良い。すなわち、ｒ＝αとしても良い。
【００６６】
第３の方法のときには、除去されるデータの個数は設定されることになるが、除去番号は設定されていないため、除去番号はランダムに設定される（個数ｎの範囲内でという限定はある）ようにしても良いし、初めのｒ個が除去されるなどでも良い。
【００６７】
ここでは、第１の方式、第２の方式、および第３の方式という３つの方式を示したが、他の方式により、乱数ｒを用いて、ｎ個のデータ列をｎ個より少ない個数のデータ列にするときの処理が行われるようにしても良く、上記した第１の方式乃至第３の方式は、これらの方式に限定されることを示すものではない。
【００６８】
ステップＳ１４において、ｎ個のデータを（ｎ−α）個のデータにされると、ステップＳ１５に処理が進められる。
【００６９】
ステップＳ１５において、端末１２の比較値演算部３５により、０乃至（ｎ−１−α）の順番号と（ｎ−α）個のデータとを対応させて、最小二乗法で回帰式が求められる。
【００７０】
“０乃至（ｎ−１−α）の順番号”とは、ステップＳ１３の処理で発生されたｎ個のデータ（数値）を、発生された順、昇順、または降順など、所定の順序（ここでは、発生された順とする）で並べたときに、その順で、各データに割り当てられる番号を意味する。よって、０番目からカウントが開始される場合、（ｎ−１）個のデータには、０番目から（ｎ−１−α）番目までの連続した番号が、１つ１つの数値に対して割り当てられることになる。
【００７１】
回帰式を求めるために、発生されたデータ（数値）に順番号が割り当てられ、例えば、Ｘ軸方向の値が順番号にされ、Ｙ軸方向の値が順番号に対応するデータの値とされる。すなわち、（順番号，数値）の対が、データの個数分（この場合、（ｎ−α）個）だけ生成され、その生成された対のデータが用いられて回帰式が求められる。回帰式は、最小二乗法に基づいて行われる。最小二乗法による回帰式の求め方については、［回帰式の求め方］のところで後述する。
【００７２】
図２に示したフローチャートの説明を続けるに、ステップＳ１５において、回帰式が求められると、ステップＳ１６において、その求められた回帰式に所定の値が代入され、比較値が求められる。
【００７３】
代入される所定の値とは、例えば、数値（ｎ−α＋ν）である。νの値は、０以上（ν≧0）である。このνの値は、予め本体１１と端末１２で共通して用いられる固定値として設定されている。または、本体１１が乱数rを端末１２に送信する際に、端末１２側で生成し（または記憶している値を読み出し）、端末１２に送信するようにしても良い。
【００７４】
数値（ｎ−α＋ν）は、回帰式の算出に用いた順番号よりも大きな値となる。よって、求められた回帰式に、回帰式を求めるときに用いられた順番号よりも大きな順番号が代入され、その代入された順番号に対応する値が算出されることになる。この算出された値は、認証処理において、比較対象とされる値であるので、比較値と記載する。
【００７５】
ステップＳ１７において、制御部３１は、通信部３４を制御し、ステップＳ１３において発生されたｎ個のデータ（数値）と、ステップＳ１６において算出された比較値を本体１１に送信させる。
【００７６】
このような処理が端末１２側で実行されることにより、本体１１に、端末１２側で発生されたｎ個のデータから構成されるデータ列と、そのデータ列が用いられて算出された比較値が供給される。
【００７７】
ステップＳ２４において、本体１１の通信部２４により、端末１２から送信されてきたデータ列と比較値が受信される。制御部２１は、通信部２４によりデータ列と比較値が受信されたと判断すると、ステップＳ２５において、受信されたｎ個のデータ列から、α個のデータを除去し、（ｎ−α）個のデータを選択する。
【００７８】
このステップＳ２５において実行される処理は、端末１２側で、ステップＳ１４で実行される処理と同様に行われる。よって、本体１１側で選択される（ｎ−α）個のデータは、端末１２側で選択される（ｎ−α）個のデータと基本的に同じとなる。仮に、端末１２が不正な端末であるような場合、（ｎ−α）個のデータ列は同一とならない可能性がある。
【００７９】
ステップＳ２６において、比較値演算部２５は、選択された（ｎ−α）個のデータに、０乃至（ｎ−１−α）の順番号を割り当て、データ（数値）と順番号の対を生成し、その対のデータを用いて、最小二乗法により回帰式を求める。
【００８０】
このステップＳ２６において実行される処理は、端末１２側で、ステップＳ１５で実行される処理と同様に行われる。上記したように、端末１２側と同じデータを用いて回帰式を求めるため、端末１２側と同じ回帰式が求められる。仮に、端末１２が不正な端末であるような場合、求められる回帰式は同一とならない可能性がある。
【００８１】
ステップＳ２７において、求められた回帰式に、数値（ｎ−α＋ν）が代入され、比較値が算出される。
【００８２】
このステップＳ２７において実行される処理は、端末１２側で、ステップＳ１６の処理で実行される処理と同様に行われる。νは、上記したように、本体１１と端末１２側で、固定値として互いに同一の値を保持しているか、本体１１から乱数ｒとともに送信されるので、本体１１と端末１２側で同一の値のνが用いられることになる。よって、本体１１側で算出される比較値は、端末１２側で算出された比較値と基本的に同一となる。
【００８３】
ステップＳ２８において、制御部２１は、通信部２４により受信された端末１２からの比較値（端末比較値と記述する）と、比較値演算部２５により算出された比較値（本体比較値と記述する）を比較する。制御部２４は、端末比較値と本体比較値が一致した場合、端末１２は、正当な装置であると判断し、一致しない場合、端末１２は正当な装置ではないと判断する。
【００８４】
正当な装置であると判断された時には、その後の処理、例えば、データの授受といった処理が継続して行われるが、正当な装置ではないと判断されたときには、その後の処理は継続されず、端末１２との通信は切断される。
【００８５】
なお、端末１２が正当な装置であると判断された場合、次に、端末１２の正当な使用者であるか否かを確認する処理が引き続き行われるようにしても良い。正当な使用者であるか否かを確認する処理とは、例えば、使用者にＩＤ番号やパスワードなどの入力を求め、入力されたＩＤ番号やパスワードなどが正しいか否かを判断するような処理である。使用者が、端末１２の正当な使用者であると判断されたときだけ、端末１２からのデータが本体１１に入力されたり、端末１２からの要求に応じてデータを端末１２に送信したりするといた処理が行われるようにしても良い。
【００８６】
［具体例を挙げての説明］
次に比較値の計算方法に関して具体的な数値を例に挙げて説明を加える。
【００８７】
まず、ステップＳ２２において本体１１により、乱数rとして３が発生されたとする。この発生された“４”という数値の乱数ｒは、ステップＳ２３において、端末１２に送信される。
【００８８】
端末１２は、“４”という数値を受信すると、データ列発生部３３により、“１００”、“１５３”、“１２１”、“９７６”、“１７５”、“１３０”という、６個のデータ列を、この順序で発生する。
【００８９】
ここでは、データは、発生された順に並べられ、乱数ｒの値が除去番号と設定されるとする。また、除去されるデータの個数は、１個であるとする（α＝１）。よって、この場合、乱数ｒが“４”が除去番号とされるため、４番目に発生された“９７６”というデータが除去される（ステップＳ１４の処理）。
【００９０】
この結果、６個のデータから、５個の、“１００”、“１５３”、“１２１”、“１７５”、“１３０”のデータが選択される。この５個のデータに対して、０乃至４（＝（ｎ−α）＝（５−１））の順番号が順次割り当てられる。順番号が割り当てられたデータを、（Ｘ、Ｙ）の形式で記載すると以下のようになる（Ｘが順番号を示し、Ｙがデータの値を示す）。
【００９１】
（ｘ0，ｙ0）＝（０，１００）
（ｘ1，ｙ1）＝（１，１５３）
（ｘ2，ｙ2）＝（２，１２１）
（ｘ3，ｙ3）＝（３，１７５）
（ｘ4，ｙ4）＝（４，１３０）
【００９２】
このような順番号と数値との対が用いられ、最小二乗法により回帰式が求められる（ステップＳ１５の処理）。回帰式は、［回帰式の求め方］のところで後述するような方式を適用し、以下のように求められる。
【００９３】
回帰式を一次式として求めた場合
ｙ＝８．３ｘ＋１１９．０
回帰式を二次式として求めた場合
ｙ＝７．７８５７ｘ2＋３．９４４３ｘ＋１０３．４２８５
回帰式を三次式として求めた場合
ｙ＝１．３３３３ｘ3＋０．２１４３ｘ2＋２７．９７６２ｘ＋１０５．０２８６
【００９４】
このように、どのような次数で求めるかにより、回帰式は異なる式となる。回帰式の次数は、予め本体１１と端末１２との間で決められている（固定値として互いに同一の値を保持している）ようにしても良い。または、本体１１から乱数ｒが送信されるときに、本体１１側で次数を決定し、その決定された次数も送信されるようにしても良い。または、端末１２からデータ列と端末比較値が送信されるときに、その端末比較値を算出したときの回帰式の次数も送信されるようにしても良い。
【００９５】
ここでは、回帰式が一次式として求められるとして説明を続ける。よって、回帰式としては、上記したように、  ｙ＝８．３ｘ＋１１９．０  が用いられる。この一次式の回帰式のｘの値として、数値（ｎ−α＋ν）が代入される。この場合、ｎは６であり、αは１である。νを“２”とすると、代入される数値は“７”と算出される。“７”が代入されることにより算出される値は、“１７７．１”である。
【００９６】
この算出された値は、端末比較値として、本体１１に送信されるが、送信される端末比較値は、小数点以下が切り捨てられた値としても良いし、小数点以下が四捨五入された値としても良いし、所定の小数点以下の数字までの値とされても良い。ここでは、“１７７”が送信されるとして説明を続ける。
【００９７】
このように、端末比較値が算出されると、端末１２から本体１１に端末比較値と発生したデータ列が送信される。送信される値は、端末比較値として“１７７”、データ列として、“１００”、“１５３”、“１２１”、“９７６”、“１７５”、“１３０”という６個のデータが送信される（ステップＳ１７の処理）。
【００９８】
本体１１は、受信した６個のデータから、自己が発生した乱数ｒの値（この場合“４”）に基づいて、１つのデータを除去し、結果として５個のデータを選択する。すなわちこの場合、“１００”、“１５３”、“１２１”、“９７６”、“１７５”、“１３０”という６個のデータから、４番目のデータである“９７６”が除去され、“１００”、“１５３”、“１２１”、“１７５”、“１３０”という５個のデータが選択される（ステップＳ２５の処理）。
【００９９】
この選択された５個のデータに順番を表す０、１、２、３、４を、それぞれ１つずつ対応させ、
（ｘ0，ｙ0）＝（０，１００）
（ｘ1，ｙ1）＝（１，１５３）
（ｘ2，ｙ2）＝（２，１２１）
（ｘ3，ｙ3）＝（３，１７５）
（ｘ4，ｙ4）＝（４，１３０）
という対が生成される。そして、これらの対が用いられ、また、最小二乗法に基づき、回帰式が求められる（ステップＳ２６の処理）。
【０１００】
求められる回帰式は、端末１２側で求められる回帰式と同じ次数である。よってこの場合、一次式の回帰式が求められ、その求められた回帰式は、
ｙ＝８．３ｘ＋１１９．０
である。
【０１０１】
この回帰式に、数値（ｎ−α＋ν）が代入される。この場合、受信されたデータ列のデータの個数は６であるので、ｎは６であり、αは１であり、νは端末１２側と同じ値である２である。よって代入される数値は“７”と算出され、回帰式に代入された結果、算出される値は、“１７７．１”である。
【０１０２】
端末１２側と同様のルールに基づき、算出された値がまるめられる。その結果、ここでは、“１７７”が本体比較値として算出される（ステップＳ２７の処理）。
【０１０３】
本体１１は、受信された端末比較値と、自己が算出した本体比較値を比較することにより、認証処理を行う（ステップＳ２８の処理）。この場合、端末比較値が“１７７”であり、本体比較値が“１７７”であるので、一致し、端末１２は正当な端末であると認証される。
【０１０４】
仮に、本体１１と端末１２とで、回帰式の次数が異なっていたり、νの値が異なっていたり、乱数ｒに基づき除去されるデータに関するルールが異なっていたりした場合、比較値が一致しないため、端末１２は正当な端末ではないと判断することが可能である。また、不正な端末１２を判断することが可能となることで、不正に本体１１にデータが供給され、改竄されたり、本体１１に蓄積されているデータが漏洩したりすることを防ぐことが可能となる。
【０１０５】
なお、回帰式を求める本体１１の比較値演算部２５や端末１２の比較値演算部３５を、プログラムで構成しても良いし、ハードウェア・ロジックで構成しても良い。ハードウェア・ロジックで構成した場合、装置を分解するなどして解析するいわゆるリバースエンジニアリング解析による計算方法の解明が困難になるので、比較値演算部２５（３５）としては適している。
【０１０６】
なお、本体１１と端末１２の間で認証に関わる処理が行われるときに、授受されるデータ、すなわち、上記した実施の形態においては、乱数ｒ、データ列、端末比較値は、それぞれ、暗号化されて送信されるようにしても良い。乱数ｒ、データ列、端末比較値のうちの全てが暗号化されて送受信されるようにしても良いし、いずれか１つが送受信されるようにしても良い。また、暗号化されるときの暗号化方式には、どのような方式が適用されても良い。また、暗号化されたデータが送受信される場合、本体１１と端末１２は、暗号化を行う機能と復号を行う機能をそれぞれ有する構成とされる。
【０１０７】
上記した実施の形態においては、商品の在庫管理などの目的で、端末１２が、商品に印刷されているバーコードなどを読み取り、商品の種類と個数を把握し、その把握した内容を本体１１に送信するなどの処理を行うデータエントリシステムを例に挙げて説明したが、本発明は、そのようなデータエントリシステムに適用が限定されるわけではない。
【０１０８】
例えば、本発明は、本体１１をパーソナルコンピュータとし、端末１２をＵＳＢメモリにしたときなどにも適用できる。また、本発明は、本体１１を電子式錠前とし、端末１２をその電子式錠前に対応する電子式鍵としたときにも適用できる。さらに、本発明は、本体１１を駅などの改札ゲート（改札ゲートを制御するコンピュータ）とし、端末１２をそのゲートを通過するときに利用される電子式の入出札カード（ＩＣカード）としたときにも適用できる。
【０１０９】
このように、本発明は、装置間でデータの授受を行うときに、その装置に適用することができる。また、本発明を適用する装置により、図１に示した構成例に限定されず、適用する装置に必要な構成に適宜変更される。例えば、端末１２を、ＵＳＢメモリ、電子鍵、ＩＣカードなどにした場合、図１の端末１２の入力部３２は備える構成とする必要ない。
【０１１０】
［回帰式の求め方］
最小二乗法による回帰式の計算、および比較値の計算は一般的には正規方程式という連立方程式を作成し、ガウス・ジョルダンの掃き出し法などによってその方程式を解いて回帰式の係数を求め、回帰式に比較値を求めたい点xの値を代入することで計算することができる。
【０１１１】
最小二乗法は、複数の観測条件Xjの下で得られた複数の観測値データYjに誤差が含まれているような場合に、データ列の傾向係数を求めたり、誤差を除去した値を予測したりする目的で用いられることが多い方法である。
【０１１２】
発生されたデータを一次の回帰式（回帰直線）で近似する例で、一般的な最小二乗法について簡単に説明する。なお、以下に説明する一般的な最小二乗法により回帰式を求める方法で、比較値演算部２５（３５）が回帰式を求めることも可能である。
【０１１３】
いま、データ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝が発生されたときの発生点（上記説明においては、順番号に相当する）を、それぞれ、ｘ0，ｘ1，・・・，ｘi，・・・，ｘn-1とする。この場合、発生点ｘ0，ｘ1，・・・，ｘi，・・・，ｘn-1とデータｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1との関係を、図３に示されるように二次元座標系上に表すことができる。
【０１１４】
一次の回帰式をｙ＝ａｘ＋ｂと表すと、発生点ｘiにおいて誤差が除去された真のデータ（以下、予測真値と称する）ｙi'は、ａｘi＋ｂとなるので、発生点ｘiにおいて、発生値ｙiと予測真値ｙi'との誤差ｅiは、図３に示すように、ｙi'−ｙi＝ａｘi＋ｂ−ｙiである。
【０１１５】
最小二乗法では、次式（１）で表される、ｉ＝０乃至ｎ−１のすべての発生点ｘiにおける二乗誤差ｅi2の総和ｅを最小とするような係数ａおよびｂを決定する。
【０１１６】
【数１】
2008113127.tif 000003
【０１１７】
総和ｅを最小とするような係数ａおよびｂは、式（１）を変数ａおよびｂでそれぞれ偏微分して得られる式（２）の正規方程式を解くことにより、求めることができる。
【０１１８】
【数２】
2008113127.tif 000004
【０１１９】
式（２）は、次式（３）のように変換することができる。
【数３】
2008113127.tif 000005
【０１２０】
さらに、式（３）のｘiとｙiには、例えば、３．２や１．７３といった具体的な発生されたデータ（数値）が代入されるので、式（３）を分かり易く変形すると、式（４）のように表すことができる。
【０１２１】
【数４】
2008113127.tif 000006
【０１２２】
従って、式（４）の連立方程式を解くことで、係数ａおよびｂを求めることができ、回帰式が得られることが分かる。
【０１２３】
次に、図４のフローチャートを参照して、発生された（受信された）データ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝から、回帰式を求める方法について説明を加える。
【０１２４】
ステップＳ５１において、比較値演算部２５（３５）は、発生されたまたは受信されたデータ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝を取得する。ここで、データｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1が発生されたときの発生点（順番号）を、それぞれ、ｘ0，ｘ1，・・・，ｘi，・・・，ｘn-1とする。
【０１２５】
ステップＳ５２において、比較値演算部２５（３５）は、二乗誤差ｅi2の総和ｅを最小とする式（４）の連立方程式を立てる。ステップＳ５３において、比較値演算部２５（３５）は、式（４）の連立方程式を解くことにより、係数ａおよびｂを求める。
【０１２６】
ステップＳ５４において、比較値演算部２５（３５）は、求められた係数ａおよびｂを、ｙ＝ａｘ＋ｂに代入することにより回帰式を求める。
【０１２７】
以上のようにして、データ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝から回帰式が求められる。
【０１２８】
上述した例では、回帰式として一次式を仮定した例について説明したが、回帰式として二次式を仮定する場合には、ｙ＝ａｘ2＋ｂｘ＋ｃが採用され、回帰式として三次式を仮定する場合には、ｙ＝ａｘ3＋ｂｘ2＋ｃｘ＋ｄが採用される。
【０１２９】
また、コンピュータなどの計算機によって式（４）などの連立方程式を解く場合には、ガウスの掃き出し法などが用いられる。
【０１３０】
このような一般的な最小二乗法により回帰式を求める場合、演算の工程が多く、データ形式として浮動小数点数を用いる必要があり、ハードウェアによる浮動小数点数演算回路を所有していないＣＰＵ（演算手段）の場合、ソフトウェアによるエミュレーション演算で代替するため、処理が複雑である。そのために、例えば、端末１２のような携帯可能な装置であるために、演算能力の高いＣＰＵや容量の大きいメモリなどを備えることができないような装置にとっては、処理負担が大きくなってしまい、時間がかかってしまうなどの不具合が発生する可能性があった。
【０１３１】
よって、端末１２のような携帯可能な装置であっても、リアルタイムに発生されたデータや受信されたデータを処理できるように、演算に係る処理負担を軽減できる演算方式について、以下に説明する。
【０１３２】
一次の回帰式を仮定した場合、上述した式（４）を、行列を用いて表すと次式（５）のように表すことができる。
【０１３３】
【数５】
2008113127.tif 000007
【０１３４】
ここで、データ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝が発生されたときの発生点ｘ0，ｘ1，・・・，ｘi，・・・，ｘn-1を、０，１，２，・・・，ｉ，・・・，ｎ−１と、０からの番号（順番号）に置き換えて簡略化する。即ち、ｘ0＝０，ｘ1，＝１・・・，ｘi＝ｉ，・・・，ｘn-1＝ｎ−１である。
【０１３５】
この場合、式（５）のなかの、Σｘi2，Σｘi，Σ１は、それぞれ次式（６）、式（７）、式（８）となる。
【０１３６】
【数６】
2008113127.tif 000008
【数７】
2008113127.tif 000009
【数８】
2008113127.tif 000010
【０１３７】
結果として、式（５）は、式（９）のように表すことができる。なお、本明細書において、Σ（サメーション）は、変数ｉを０乃至ｎ−１としたときの総和を表す。
【０１３８】
【数９】
2008113127.tif 000011
【０１３９】
式（９）を、左辺が係数aおよび係数ｂだけになるように変形すると、次式（１０）のようになる。
【数１０】
2008113127.tif 000012
【０１４０】
よって、一次式の回帰式は、次式（１１）で表すことができる。
【数１１】
2008113127.tif 000013
【０１４１】
このようにして求められた式（１１）、すなわち一次式の回帰式に数値（ｎ−α＋ν）が代入され、比較値が算出される。
【０１４２】
式（１１）において、ｎはデータの個数である。すなわち、データ列発生部３３により発生されるデータの個数ｎである。よって、データ列発生部３３によりデータ列が発生された時点で、比較値演算部３５は、ｎを含む部分を計算することが可能である。また、発生されたデータを、順次、式（１１）に代入し、演算を行えば、係数ａと係数ｂを算出することができる。
【０１４３】
同様に、本体１１側でもデータ列を受信した時点で、ｎの値を認識することができるので、係数ａと係数ｂを算出することができる。
【０１４４】
よって、式（４）のような連立方程式を解くことなく、式（１１）による簡単な演算により回帰式を求め（整数演算のみで回帰式を求め）、比較値を算出することが可能となる。
【０１４５】
式（１１）においてｎは、データの個数ｎであるため、この個数ｎを予め所定の範囲内、例えば、ｎ＝３乃至１０といった範囲を設定しておけば、予め式（１１）においてｎに関わる部分、例えば、式（１１）における１２／（ｎ−１）ｎ（ｎ＋１）といった部分を、設定されている範囲内で演算しておくことが可能となり、その演算結果をテーブルとして保持するようにしておけば、さらに演算量を軽減することが可能となる。
【０１４６】
次に、二次の回帰式を仮定した場合の回帰式を求めるための処理について説明する。
【０１４７】
二次の回帰式ｙ＝ａｘ2＋ｂｘ＋ｃを仮定した場合、その回帰式を変数ａ、ｂ、およびｃでそれぞれ偏微分することにより、式（１２）の正規方程式を得ることができる。
【０１４８】
【数１２】
2008113127.tif 000014
【０１４９】
そして、データ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝を、ｘ0＝０，ｘ1，＝１・・・，ｘi＝ｉ，・・・，ｘn-1＝ｎ−１と簡略化すると、式（１２）は、次式（１３）のように変形できる。
【０１５０】
【数１３】
2008113127.tif 000015
【０１５１】
さらに式（１３）は、次式（１４）にように変形できる。
【数１４】
2008113127.tif 000016
【０１５２】
式（１４）は、結果として、次式（１５）のように表すことができる。
【数１５】
2008113127.tif 000017
【０１５３】
このようにして求められた式（１５）、すなわち二次式の回帰式に数値（ｎ−α＋ν）が代入され、比較値が算出される。
【０１５４】
一次式の回帰式（１１）と同じように、式（１５）において、ｎはデータの個数である。すなわち、データ列発生部３３により発生されるデータの個数ｎである。よって、データ列発生部３３によりデータ列が発生された時点で、比較値演算部３５は、ｎを含む部分を計算することが可能である。また、発生されたデータを、順次、式（１５）に代入し、演算を行えば、係数ａと係数ｂを算出することができる。
【０１５５】
同様に、本体１１側でもデータ列を受信した時点で、ｎの値を認識することができるので、係数ａと係数ｂを算出することができる。
【０１５６】
よって、式（４）のような連立方程式を解くことなく、式（１５）による簡単な演算により回帰式を求め（整数演算のみで回帰式を求め）、比較値を算出することが可能となる。
【０１５７】
式（１５）においてｎは、データの個数ｎであるため、この個数ｎを予め所定の範囲内、例えば、ｎ＝３乃至１０といった範囲を設定しておけば、予め式（１５）においてｎに関わる部分を、設定されている範囲内で演算しておくことが可能となり、その演算結果をテーブルとして保持するようにしておけば、さらに演算量を軽減することが可能となる。
【０１５８】
次に、三次の回帰式を仮定した場合の回帰式を求めるための処理について説明する。
【０１５９】
三次の回帰式ｙ＝ａｘ3＋ｂｘ2＋ｃｘ＋ｄを仮定した場合、その回帰式を変数ａ，ｂ，ｃ、およびｄでそれぞれ偏微分することにより、式（１６）の正規方程式を得ることができる。
【０１６０】
【数１６】
2008113127.tif 000018
【０１６１】
そして、データ列｛ｙ0，ｙ1，・・・，ｙi，・・・，ｙn-1｝を、ｘ0＝０，ｘ1，＝１・・・，ｘi＝ｉ，・・・，ｘn-1＝ｎ−１と簡略化すると、式（１６）は、次式（１７）に示すようになる。
【０１６２】
【数１７】
2008113127.tif 000019
【０１６３】
式（１７）において、Ａ00乃至Ａ33は、次式（１８）のように表すことができる。
【０１６４】
【数１８】
2008113127.tif 000020
【０１６５】
式（１７）を、左辺が係数ａ、係数ｂ、係数ｃ、および係数ｄだけとなるように変形すると、次式（１９）のように変形できる。
【０１６６】
【数１９】
2008113127.tif 000021
【０１６７】
よって、結果的に、三次式の回帰式は、次式（２０）のように表すことができる。
【０１６８】
【数２０】
2008113127.tif 000022
【０１６９】
ここで、Ｂ00乃至Ｂ33は、次式（２１）のように表すことができる。
【０１７０】
【数２１】
2008113127.tif 000023
【０１７１】
式（２１）は、ｎに関する式であり、ｎの値が設定されれば演算することができる。一次式の回帰式（１１）や二次式の回帰式（１５）と同じように、式（２１）（または式（２０））において、ｎはデータの個数である。すなわち、データ列発生部３３により発生されるデータの個数ｎである。よって、データ列発生部３３によりデータ列が発生された時点で、比較値演算部３５は、ｎを含む部分、すなわち、式（２１）を計算することが可能である。また、発生されたデータを、順次、式（２１）に代入し、演算を行えば、係数ａと係数ｂを算出することができる。
【０１７２】
同様に、本体１１側でもデータ列を受信した時点で、ｎの値を認識することができるので、係数ａと係数ｂを算出することができる。
【０１７３】
よって、式（４）のような連立方程式を解くことなく、式（２０）による簡単な演算により回帰式を求め（整数演算のみで回帰式を求め）、比較値を算出することが可能となる。
【０１７４】
式（２０）（式（２１））においてｎは、データの個数ｎであるため、この個数ｎを予め所定の範囲内、例えば、ｎ＝３乃至１０といった範囲を設定しておけば、予め式（２１）においてｎに関わる部分を、予め設定されている範囲内で演算しておくことが可能であり、その演算結果をテーブルとして保持するようにしておけば、さらに演算量を軽減することが可能となる。
【０１７５】
このように、設定されている次数の回帰式を求めることにより、演算量を軽減することが可能となり、本体１１と端末１２で、回帰式を求めることにより行われる認証処理での負荷を軽減することが可能となる。
【０１７６】
［記録媒体について］
図５は、本体１１をパーソナルコンピュータで構成したときの構成例を示している。ＣＰＵ（Central Processing Unit）１０１は、ＲＯＭ（Read Only Memory）１０２、または記憶部１０８に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）１０３には、ＣＰＵ１０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ１０１、ＲＯＭ１０２、およびＲＡＭ１０３は、バス１０４により相互に接続されている。
【０１７７】
ＣＰＵ１０１にはまた、バス１０４を介して入出力インターフェース１０５が接続されている。入出力インターフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７が接続されている。ＣＰＵ１０１は、入力部１０６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ１０１は、処理の結果を出力部１０７に出力する。
【０１７８】
入出力インターフェース１０５に接続されている記憶部１０８は、例えばハードディスクからなり、ＣＰＵ１０１が実行するプログラムや各種のデータを記憶する。通信部１０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１７９】
また、通信部１０９を介してプログラムを取得し、記憶部１０８に記憶してもよい。
【０１８０】
入出力インターフェース１０５に接続されているドライブ１１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア１１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部１０８に転送され、記憶される。
【０１８１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１８２】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図５に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ（Mini-Disc）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１、または、プログラムが一時的もしくは永続的に格納されるＲＯＭ１０２や、記憶部１０８を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部１０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１８３】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１８５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１８６】
【図１】本発明を適用したシステムの一実施の形態の構成を示す図である。
【図２】システムの動作について説明するフローチャートである。
【図３】データ列について説明するための図である。
【図４】回帰式の求め方について説明するフローチャートである。
【図５】記録媒体ついて説明するための図である。
【符号の説明】
【０１８７】
１１  本体，  １２  端末，  ２１  制御部，  ２２  記憶部，  ２３  乱数発生部，  ２４  通信部，  ２５  比較値演算部，  ３１  制御部，  ３２  入力部，  ３３  データ列発生部，  ３４  通信部，  ３５  比較値演算部
【図１】
2008113127.tif 000024
【図２】
2008113127.tif 000025
【図３】
2008113127.tif 000026
【図４】
2008113127.tif 000027
【図５】
2008113127.tif 000028