TOP > 国内特許検索 > サービス取引システム及びそのプログラム > 明細書

明細書 :サービス取引システム及びそのプログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4820997号 (P4820997)
公開番号 特開2007-274289 (P2007-274289A)
登録日 平成23年9月16日(2011.9.16)
発行日 平成23年11月24日(2011.11.24)
公開日 平成19年10月18日(2007.10.18)
発明の名称または考案の名称 サービス取引システム及びそのプログラム
国際特許分類 H04L   9/32        (2006.01)
G06Q  30/00        (2006.01)
FI H04L 9/00 675B
H04L 9/00 673C
G06F 17/60 332
請求項の数または発明の数 12
全頁数 42
出願番号 特願2006-096692 (P2006-096692)
出願日 平成18年3月31日(2006.3.31)
審査請求日 平成21年1月8日(2009.1.8)
特許権者または実用新案権者 【識別番号】504145320
【氏名又は名称】国立大学法人福井大学
発明者または考案者 【氏名】田村 信介
個別代理人の代理人 【識別番号】100111855、【弁理士】、【氏名又は名称】川崎 好昭
審査官 【審査官】新田 亮
参考文献・文献 特開2006-279595(JP,A)
米国特許出願公開第2004/0122767(US,A1)
Shinsuke Tamura, Tatsuro Yanase,Information Sharing among Untrustworthy Entities”,電気学会論文誌C 電子・情報・システム部門誌,2005年11月 1日,vol. 125, no. 11,pp. 1767-1772
調査した分野 H04L 9/32
G06Q 30/00
特許請求の範囲 【請求項1】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムであって、
前記サービス提供装置は、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する識別情報判定手段と、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行うサービス提供手段と、サービス利用装置から送信された暗号化取引識別情報に署名処理する署名処理手段と、サービス利用装置から送信された今回の取引識別情報及び確認情報の組を含む情報をサービス利用装置の取引記録として生成する取引記録生成手段とを備え、
前記サービス利用装置は、メモリに記憶されたサービス提供装置による署名処理済みの取引識別情報をサービス提供装置に送信してサービス依頼を行うサービス依頼手段と、次回のサービス取引の取引識別情報を選択する識別情報選択手段と、取引識別情報を暗号化処理し暗号化取引識別情報を生成する暗号化処理手段と、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する復号化処理手段と、次回取引のための取引識別情報からサービス提供装置が知らないパラメータを用いて計算される確認情報を生成する確認情報処理手段とを備えていることを特徴とするサービス取引システム。
【請求項2】
サービス利用装置からのサービス依頼を受けてサービス提供装置が当該サービスを処理するサービス取引方法であって、サービス利用装置が予めサービス提供装置から取得した署名処理済みの取引識別情報を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否かを判定し、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理するとともに、サービス利用装置が、次回のサービス取引の取引識別情報を暗号化処理することによって暗号化取引識別情報を生成し、また次回の取引識別情報からサービス提供装置の知らないパラメータを用いて計算される確認情報を生成してそれぞれサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信された暗号化取引識別情報に対して署名処理するとともに、今回の取引識別情報及び確認情報を含む情報をサービス利用装置の取引記録として生成し、サービス利用装置が、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報を取得することを特徴とするサービス取引方法。
【請求項3】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス利用装置を機能させるためのプログラムであって、
前記サービス利用装置を、
メモリに記憶されたサービス提供装置による署名処理済みの取引識別情報をサービス提供装置に送信してサービス依頼を行う手段、
次回のサービス取引の取引識別情報を選択する手段、
取引識別情報を暗号化処理し暗号化取引識別情報を生成する手段、
次回のサービス取引の取引識別情報からサービス提供装置の知らないパラメータを用いて計算される確認情報を生成する手段、
サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する手段、
として機能させるためのプログラム。
【請求項4】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス提供装置を機能させるためのプログラムであって、
前記サービス提供装置を、
サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する手段、
取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行う手段、
サービス利用装置から送信された暗号化取引識別情報に署名処理する手段、
サービス利用装置から送信された今回の取引識別情報と確認情報の組を含む情報をサービス利用装置の取引記録として生成する手段、
として機能させるためのプログラム。
【請求項5】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムであって、
前記サービス利用装置は、k回目のサービス取引において(k+1)回目のサービス取引の取引識別情報T(k+1)を暗号化処理し暗号化取引識別情報を生成する暗号化処理手段と、取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する確認情報処理手段と、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する復号化処理手段と、メモリに記憶されたk回目のサービス取引のための署名処理済みの取引識別情報T(k)をサービス提供装置に送信してサービス依頼を行うサービス依頼手段と、k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(B)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する登録手段と、サービス提供装置からの集計依頼に応じて登録された一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する要素集計値処理手段とを備え、
前記サービス提供装置は、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する識別情報判定手段と、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行うサービス提供手段と、サービス利用装置から送信された暗号化取引識別情報に署名処理する署名処理手段と、サービス利用装置の知らないP2個の係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)の列を記憶する記憶手段と、記憶手段に記憶された係数データaij及び乱数rkを用いて、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出する結合計算手段と、サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する合計額算出手段と、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する要素集計値算出手段と、集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否か判定する不正判定手段とを備えていることを特徴とするサービス取引システム。
【請求項6】
サービス利用装置からのサービス依頼を受けてサービス提供装置が当該サービスを処理するサービス取引方法であって、
サービス利用装置が、そのk回目のサービス取引において予めサービス提供装置から取得した署名処理済みの取引識別情報T(k)を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定するとともに、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理し、サービス利用装置が、次回のサービス取引の取引識別情報T(k+1)を暗号化した暗号化取引識別情報と、取引識別情報T(k+1)に基づいて計算されるM個の要素データVs(k)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成し、サービス提供装置が、次回サービス取引のための暗号化識別情報に署名するとともに、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)、サービス利用装置から送信された取引識別情報T(k)に基づいて計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の、サービス利用装置が知らない係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(k)(j=1,2,…,P)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出し、算出されたP個の一次結合データSj(k)をサービス利用装置において登録し、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)をサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出し、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1tを算出するとともに集計値Σrk+1t(k)をサービス利用装置に送信し、サービス利用装置が、サービス提供装置から送信された集計値Σrk+1t(k)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成し、サービス提供装置が、サービス利用装置から送信された集計値ΣXuと集計値Σrks(k)との間に矛盾があるか否かを判定することを特徴とするサービス取引方法。
【請求項7】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス利用装置を機能させるためのプログラムであって、
前記サービス利用装置を、
k回目のサービス取引において(k+1)回目のサービス取引の取引識別情報T(k+1)を暗号化処理し暗号化取引識別情報を生成する手段、
取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する手段、
サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する復号化処理手段、
メモリに記憶されたk回目のサービス取引のための署名処理済みの取引識別情報T(k)をサービス提供装置に送信してサービス依頼を行う手段、
k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(B)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する手段、
サービス提供装置からの集計依頼に応じて登録された一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する手段、
として機能させるためのプログラム。
【請求項8】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス提供装置を機能させるためのプログラムであって、
前記サービス提供装置を、
サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する手段、
取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行う手段、
サービス利用装置から送信された暗号化取引識別情報に署名処理する手段、
記憶手段に記憶された係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いて、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出する手段、
サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する手段、
サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する手段、
集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否かで不正判定する手段、
として機能させるためのプログラム。
【請求項9】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムであって、
前記サービス利用装置は、k回目のサービス取引においてサービス取引に使用するために選択された取引識別情報T(k)とその取引回数に基づいて設定された回数データQ(k)を合体して識別データを生成する識別データ生成手段と、次回のサービス取引の識別データT(k+1)Q(k+1)を暗号化処理し暗号化識別データを生成する暗号化処理手段と、取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する確認情報処理手段と、サービス提供装置から送信された署名処理済みの暗号化識別データを復号化処理して署名処理済みの識別データをメモリに記憶する復号化処理手段と、メモリに記憶された署名処理済みの識別データをサービス提供装置に送信してサービス依頼を行うサービス依頼手段と、k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(D)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する登録手段と、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信する集計処理手段と、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する要素集計値処理手段とを備え、
前記サービス提供装置は、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する識別情報判定手段と、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行うサービス提供手段と、サービス利用装置から送信された暗号化識別データに署名処理する署名処理手段と、サービス利用装置の知らないP2個の係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)の列を記憶する記憶手段と、サービス取引において、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+3)個の値の、記憶手段に記憶された係数データaij及び乱数rkを用いた互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(D)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(D)
により算出する結合計算手段と、サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する合計額算出手段と、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N)に相当する値との間の整合性を判定する第一不正判定手段と、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する要素集計値算出手段と、集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否か判定する第二不正判定手段とを備えていることを特徴とするサービス取引システム。
【請求項10】
サービス利用装置からのサービス依頼を受けてサービス提供装置が当該サービスを処理するサービス取引方法であって、
サービス利用装置が、そのk回目のサービス取引において予めサービス提供装置から取得した署名処理済みの取引識別情報T(k)を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定するとともに、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理し、サービス利用装置が、次回のサービス取引の取引識別情報T(k+1)とその取引回数に基づいて設定された回数データQ(k+1)を合体して識別データT(k+1)Q(k+1)を生成し暗号化して暗号化識別データとしてサービス提供装置に送信し、サービス提供装置が暗号化識別データに署名処理し、サービス利用装置が、署名処理された暗号化識別データを復号化処理して署名処理済みの識別データを取得するとともに、次回の取引識別情報T(k+1)に基づいて計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成し、サービス提供装置が、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)、サービス利用装置から送信された識別データT(k)Q(k)から求められるQ(k)、サービス利用装置から送信された識別データT(k)Q(k)から求められるT(k)に基づいて計算されるM個の要素データVs(k)及びサービス利用装置から送信された確認情報Wt(k)を含むP(P≧2M+3)個の値の、サービス利用装置が知らない係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(k)(j=1,2,…,P)を以下の式(D)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(D)
により算出し、算出されたP個の一次結合データSj(k)をサービス利用装置において登録し、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出し、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N)に相当する値との間の整合性を判定し、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1tを算出するとともに集計値Σrk+1t(k)をサービス利用装置に送信し、サービス利用装置が、サービス提供装置から送信された集計値Σrk+1t(k)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成し、サービス提供装置が、サービス利用装置から送信された集計値ΣXuと集計値Σrks(k)との間に矛盾があるか否かを判定することを特徴とするサービス取引方法。
【請求項11】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス利用装置を機能させるためのプログラムであって、
前記サービス利用装置を、
k回目のサービス取引においてサービス取引に使用するために選択された取引識別情報T(k)とその取引回数に基づいて設定された回数データQ(k)を合体して識別データを生成する手段、
次回のサービス取引の識別データT(k+1)Q(k+1)を暗号化処理し暗号化識別データを生成する手段、
取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する手段、
サービス提供装置から送信された署名処理済みの暗号化識別データを復号化処理して署名処理済みの識別データをメモリに記憶する手段、
メモリに記憶された署名処理済みの識別データをサービス提供装置に送信してサービス依頼を行う手段、
k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(D)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する手段、
サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信する手段、
サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する手段、
として機能させるためのプログラム。
【請求項12】
サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス提供装置を機能させるためのプログラムであって、
前記サービス提供装置を、
サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する手段、
取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行う手段、
サービス利用装置から送信された暗号化識別データに署名処理する手段、
サービス取引において、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+3)個の値の、記憶手段に記憶された係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(D)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(D)
により算出する手段、
サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する手段、
サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N)に相当する値との間の整合性を判定する手段、
サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する手段、
集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否か不正判定する手段、
として機能させるためのプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、サービス取引システムにおいて、当該システムに関係する個人や物に密接に関連付けられる個別情報や取引情報が特定されることなくサービス取引を実施するサービス取引システム及びそのプログラムに関する。
【背景技術】
【0002】
インターネット等のネットワークシステムが急速に普及するにつれて、様々な情報がネットワーク上で送受信されている。しかしながら、ネットワーク上でやりとりされる情報は、常に悪意を持った第三者に不正に取得されたり改変される危険性がある。そのため、安全対策として様々な暗号化処理技術が開発されており、ネットワーク上で送受信される情報を暗号化することで情報の不正利用や改変を防止するようにしている。
【0003】
こうした通信情報の暗号化処理技術は、通信時の不正取得や改変には有効であるが、暗号化処理された情報が正当に取得されて復号化された後の情報の悪用には対応することができない。
【0004】
すなわち、特定の個人がサービス提供会社にID及びパスワードを暗号化して送信し、サービス提供会社からサービスを受けた場合、その個人の受けたサービス内容は、IDとともにサービス提供会社に蓄積され、その個人の関連情報として記憶されていく。このように蓄積された個別情報は、サービス提供会社で厳格な情報管理がなされていたとしても不正流用されるおそれがある。特に、情報処理システムの高度化に伴って大量の情報を簡単に処理することができるようになり、その危険性は大きくなっている。
【0005】
例えば、銀行預金の預け入れや払い出し、クレジットカードを用いた商品の購入といったサービス取引では、サービス提供者である銀行や信販会社によって大量の取引情報が蓄積されるが、これらの取引情報が個人情報と関連付けられて蓄積されるためにこうした情報の保護が必要となる。そのため、サービス取引の際にサービス利用者の匿名性を高めることで、取引情報と個人情報との関連付けられないようする手法が検討されている。
【0006】
特許文献1では、サービス提供者の端末が、サービス利用者に対してユーザIDを生成・発行するとともに該ユーザIDの正当性を証明する証明書を生成し、サービスの提供に必要なサービス利用者の個人情報をユーザIDと関連付けて記憶し、一の利用者の端末が他の利用者を指定して前記サービス提供者によるサービスを利用する際にユーザID及び証明書を取得し、該証明書によりユーザIDの正当性を検証してサービス提供者の端末に提示し、サービス提供者が該ユーザIDに関連付けられた個人情報基づきサービス提供を行う点が記載されている。
【0007】
特許文献2では、商品の発注者が使用する発注者端末装置で匿名サービス提供者によって公開された公開鍵によって商品の宛先情報を暗号化した宛先暗号化情報を生成し、受注者端末装置では、受信した宛先暗号化情報を出力して匿名サービス端末装置に取り込み、匿名サービス端末装置では、取り込んだ宛先暗号化情報を秘密鍵によって復号して発注された商品の配送先を特定する点が記載されている。
【0008】
特許文献3では、購入者が加盟店に匿名IDを用いて商品を発注し、加盟店から匿名サービス提供者への商品の発送には購入者の個人情報が記載されていない伝票を用い、匿名サービス提供者において購入者の住所・氏名等が記載された伝票に変換した後、商品を購入者へ配送するようにした点が記載されている。
【0009】
なお、本明細書において、「個別情報」とは、個人、会社等の法人及び個別に特定されて取り扱われる物(以下「個人等」という。)に関する情報であって、当該情報に含まれる氏名、生年月日その他の記述等により特定の個人等を識別することができるもの(他の情報と容易に照合することができ、それにより特定の個人等を識別することができることとなるものを含む。)を意味する。

【特許文献1】特開2005-50330号公報
【特許文献2】特開2004-139413号公報
【特許文献3】特開2002-7904号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述した特許文献に示すように、サービス利用者とサービス提供者との間に両方に誠実で中立的な機関を設立して、その機関を介してサービス取引が個人情報と関連付けられないようにすることは、中立的な機関においてサービス取引が個人情報と関連付けられるため中立的な機関からの情報漏洩の可能性がある限り絶対的に信用できるシステムとはなっていない。
【0011】
このように、互いに信用できないサービス利用者及びサービス提供者がネットワークで接続されてサービス取引を実施するシステムでは、互いに安心してサービス取引を行うことはできないのが現状である。
【0012】
そこで、本発明は、サービス利用者及びサービス提供者が通信手段で接続されてサービス取引を行うサービス取引システムにおいて、サービス利用者が個々の取引を自分自身と関連付けられることなくサービス依頼することができるとともにサービス提供者がサービス利用者の利用料金の適正な総額を確実に算定することができ、またサービス利用者や提供者が不正な取引を実行した場合にはそれを特定することができるサービス取引システムを提供することを目的とするものである。
【課題を解決するための手段】
【0013】
本発明に係るサービス取引システムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムであって、前記サービス提供装置は、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する識別情報判定手段と、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行うサービス提供手段と、サービス利用装置から送信された暗号化取引識別情報に署名処理する署名処理手段と、サービス利用装置から送信された今回の取引識別情報及び確認情報の組を含む情報をサービス利用装置の取引記録として生成する取引記録生成手段とを備え、前記サービス利用装置は、メモリに記憶されたサービス提供装置による署名処理済みの取引識別情報をサービス提供装置に送信してサービス依頼を行うサービス依頼手段と、次回のサービス取引の取引識別情報を選択する識別情報選択手段と、取引識別情報を暗号化処理し暗号化取引識別情報を生成する暗号化処理手段と、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する復号化処理手段と、次回取引のための取引識別情報からサービス提供装置が知らないパラメータを用いて計算される確認情報を生成する確認情報処理手段とを備えていることを特徴とする。
【0014】
本発明に係るサービス取引方法は、サービス利用装置からのサービス依頼を受けてサービス提供装置が当該サービスを処理するサービス取引方法であって、サービス利用装置が予めサービス提供装置から取得した署名処理済みの取引識別情報を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否かを判定し、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理するとともに、サービス利用装置が、次回のサービス取引の取引識別情報を暗号化処理することによって暗号化取引識別情報を生成し、また次回の取引識別情報からサービス提供装置の知らないパラメータを用いて計算される確認情報を生成してそれぞれサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信された暗号化取引識別情報に対して署名処理するとともに、今回の取引識別情報及び確認情報を含む情報をサービス利用装置の取引記録として生成し、サービス利用装置が、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報を取得することを特徴とする。
【0015】
本発明に係るプログラムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス利用装置を機能させるためのプログラムであって、前記サービス利用装置を、メモリに記憶されたサービス提供装置による署名処理済みの取引識別情報をサービス提供装置に送信してサービス依頼を行う手段、次回のサービス取引の取引識別情報を選択する手段、取引識別情報を暗号化処理し暗号化取引識別情報を生成する手段、次回のサービス取引の取引識別情報からサービス提供装置の知らないパラメータを用いて計算される確認情報を生成する手段、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する手段、として機能させる。
【0016】
本発明に係る別のプログラムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス提供装置を機能させるためのプログラムであって、前記サービス提供装置を、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する手段、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行う手段、サービス利用装置から送信された暗号化取引識別情報に署名処理する手段、サービス利用装置から送信された今回の取引識別情報と確認情報の組を含む情報をサービス利用装置の取引記録として生成する手段、として機能させる。
【0017】
本発明に係る別のサービス取引システムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムであって、前記サービス利用装置は、k回目のサービス取引において(k+1)回目のサービス取引の取引識別情報T(k+1)を暗号化処理し暗号化取引識別情報を生成する暗号化処理手段と、取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する確認情報処理手段と、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する復号化処理手段と、メモリに記憶されたk回目のサービス取引のための署名処理済みの取引識別情報T(k)をサービス提供装置に送信してサービス依頼を行うサービス依頼手段と、k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(B)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する登録手段と、サービス提供装置からの集計依頼に応じて登録された一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する要素集計値処理手段とを備え、前記サービス提供装置は、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する識別情報判定手段と、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行うサービス提供手段と、サービス利用装置から送信された暗号化取引識別情報に署名処理する署名処理手段と、サービス利用装置の知らないP2個の係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)の列を記憶する記憶手段と、記憶手段に記憶された係数データaij及び乱数rkを用いて、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出する結合計算手段と、サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する合計額算出手段と、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する要素集計値算出手段と、集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否か判定する不正判定手段とを備えていることを特徴とする。
【0018】
本発明に係る別のサービス取引方法は、サービス利用装置からのサービス依頼を受けてサービス提供装置が当該サービスを処理するサービス取引方法であって、サービス利用装置が、そのk回目のサービス取引において予めサービス提供装置から取得した署名処理済みの取引識別情報T(k)を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定するとともに、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理し、サービス利用装置が、次回のサービス取引の取引識別情報T(k+1)を暗号化した暗号化取引識別情報と、取引識別情報T(k+1)に基づいて計算されるM個の要素データVs(k)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成し、サービス提供装置が、次回サービス取引のための暗号化識別情報に署名するとともに、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)、サービス利用装置から送信された取引識別情報T(k)に基づいて計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の、サービス利用装置が知らない係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(k)(j=1,2,…,P)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出し、算出されたP個の一次結合データSj(k)をサービス利用装置において登録し、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)をサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出し、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1tを算出するとともに集計値Σrk+1t(k)をサービス利用装置に送信し、サービス利用装置が、サービス提供装置から送信された集計値Σrk+1t(k)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成し、サービス提供装置が、サービス利用装置から送信された集計値ΣXuと集計値Σrks(k)との間に矛盾があるか否かを判定することを特徴とする。
【0019】
本発明に係るさらに別のプログラムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス利用装置を機能させるためのプログラムであって、前記サービス利用装置を、k回目のサービス取引において(k+1)回目のサービス取引の取引識別情報T(k+1)を暗号化処理し暗号化取引識別情報を生成する手段、取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する手段、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報をメモリに記憶する復号化処理手段、メモリに記憶されたk回目のサービス取引のための署名処理済みの取引識別情報T(k)をサービス提供装置に送信してサービス依頼を行う手段、k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(B)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する手段、サービス提供装置からの集計依頼に応じて登録された一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する手段、として機能させる。
【0020】
本発明に係るさらに別のプログラムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス提供装置を機能させるためのプログラムであって、前記サービス提供装置を、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する手段、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行う手段、サービス利用装置から送信された暗号化取引識別情報に署名処理する手段、記憶手段に記憶された係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いて、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出する手段、サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する手段、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する手段、集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否かで不正判定する手段、として機能させる。
【0021】
本発明に係るさらに別のサービス取引システムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムであって、前記サービス利用装置は、k回目のサービス取引においてサービス取引に使用するために選択された取引識別情報T(k)とその取引回数に基づいて設定された回数データQ(k)を合体して識別データを生成する識別データ生成手段と、次回のサービス取引の識別データT(k+1)Q(k+1)を暗号化処理し暗号化識別データを生成する暗号化処理手段と、取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する確認情報処理手段と、サービス提供装置から送信された署名処理済みの暗号化識別データを復号化処理して署名処理済みの識別データをメモリに記憶する復号化処理手段と、メモリに記憶された署名処理済みの識別データをサービス提供装置に送信してサービス依頼を行うサービス依頼手段と、k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(D)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する登録手段と、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信する集計処理手段と、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する要素集計値処理手段とを備え、前記サービス提供装置は、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する識別情報判定手段と、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行うサービス提供手段と、サービス利用装置から送信された暗号化識別データに署名処理する署名処理手段と、サービス利用装置の知らないP2個の係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)の列を記憶する記憶手段と、サービス取引において、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+3)個の値の、記憶手段に記憶された係数データaij及び乱数rkを用いた互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(D)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(D)
により算出する結合計算手段と、サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する合計額算出手段と、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N)に相当する値との間の整合性を判定する第一不正判定手段と、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する要素集計値算出手段と、集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否か判定する第二不正判定手段とを備えていることを特徴とする。
【0022】
本発明に係るさらに別のサービス取引方法は、サービス利用装置からのサービス依頼を受けてサービス提供装置が当該サービスを処理するサービス取引方法であって、サービス利用装置が、そのk回目のサービス取引において予めサービス提供装置から取得した署名処理済みの取引識別情報T(k)を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定するとともに、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理し、サービス利用装置が、次回のサービス取引の取引識別情報T(k+1)とその取引回数に基づいて設定された回数データQ(k+1)を合体して識別データT(k+1)Q(k+1)を生成し暗号化して暗号化識別データとしてサービス提供装置に送信し、サービス提供装置が暗号化識別データに署名処理し、サービス利用装置が、署名処理された暗号化識別データを復号化処理して署名処理済みの識別データを取得するとともに、次回の取引識別情報T(k+1)に基づいて計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成し、サービス提供装置が、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)、サービス利用装置から送信された識別データT(k)Q(k)から求められるQ(k)、サービス利用装置から送信された識別データT(k)Q(k)から求められるT(k)に基づいて計算されるM個の要素データVs(k)及びサービス利用装置から送信された確認情報Wt(k)を含むP(P≧2M+3)個の値の、サービス利用装置が知らない係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(k)(j=1,2,…,P)を以下の式(D)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(D)
により算出し、算出されたP個の一次結合データSj(k)をサービス利用装置において登録し、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出し、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N)に相当する値との間の整合性を判定し、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1tを算出するとともに集計値Σrk+1t(k)をサービス利用装置に送信し、サービス利用装置が、サービス提供装置から送信された集計値Σrk+1t(k)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成し、サービス提供装置が、サービス利用装置から送信された集計値ΣXuと集計値Σrks(k)との間に矛盾があるか否かを判定することを特徴とする。
【0023】
本発明に係るさらに別のプログラムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス利用装置を機能させるためのプログラムであって、前記サービス利用装置を、k回目のサービス取引においてサービス取引に使用するために選択された取引識別情報T(k)とその取引回数に基づいて設定された回数データQ(k)を合体して識別データを生成する手段、次回のサービス取引の識別データT(k+1)Q(k+1)を暗号化処理し暗号化識別データを生成する手段、取引識別情報T(k+1)から計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する手段、サービス提供装置から送信された署名処理済みの暗号化識別データを復号化処理して署名処理済みの識別データをメモリに記憶する手段、メモリに記憶された署名処理済みの識別データをサービス提供装置に送信してサービス依頼を行う手段、k回目のサービス取引記録としてサービス提供装置から送信される、後記の式(D)に基づいて計算される互いに独立なP個の一次結合データSj(k)(j=1,2,…,P)を登録する手段、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信する手段、サービス提供装置から送信された集計値Σrk+1t(k)(t=1,2,…,M)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する手段、として機能させる。
【0024】
本発明に係るさらに別のプログラムは、サービス利用装置と、サービス利用装置に通信手段を介して接続されるとともにサービス利用装置からのサービス依頼を受けて当該サービスを処理するサービス提供装置とを備えているサービス取引システムにおいて、該サービス提供装置を機能させるためのプログラムであって、前記サービス提供装置を、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定する手段、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理を行う手段、サービス利用装置から送信された暗号化識別データに署名処理する手段、サービス取引において、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)並びにサービス利用装置から送信された取引識別情報T(k)によって計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+3)個の値の、記憶手段に記憶された係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(j=1,2,…,P)を以下の式(D)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(D)
により算出する手段、サービス利用装置のサービス取引回数をN回として、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出する手段、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N)に相当する値との間の整合性を判定する手段、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出するとともに集計値Σrk+1t(k)を送信する手段、集計値Σrks(k)とサービス利用装置から送信された集計値ΣXu(k)が矛盾するか否か不正判定する手段、として機能させる。
【発明の効果】
【0025】
本発明に係るサービス取引システム及びサービス取引方法は、サービス利用装置が予めサービス提供装置から取得した署名処理済みの取引識別情報を送信しサービス提供装置で当該取引識別情報を用いて個々の取引において正当な利用者か否かを、当該取引識別情報にサービス提供装置の正しい署名があるか、また当該取引識別情報が既に利用されているものではないかを調べることによって判定してサービス処理を行い、サービス取引が正常に完了した後にサービス利用装置から次回のサービス取引の取引識別情報を暗号化処理した暗号化取引識別情報を送信しサービス提供装置で当該暗号化取引識別情報を署名処理して送信し、署名処理済みの暗号化取引識別情報をサービス利用装置で復号化処理して署名処理済みの次回の取引識別情報を取得するようにしているので、個々の取引においても利用者とは関連付けられていない署名処理済みの取引識別情報を用いて正当な利用者であるかサービス提供装置が判定することができる。さらに、次回に使用する取引識別情報は、サービス取引が正常に完了した後に暗号化処理された状態でサービス提供装置に送信されるので、サービス提供装置は次回の取引識別情報を知らずに署名処理することになり、サービス提供装置はサービス利用装置がサービスに関する処理を正しく終了してから次回のサービスを受けることを確認できるが、サービス利用装置が今回のサービス取引と次回のサービス取引との間の関連付けをサービス提供装置に知られることはない。署名処理済みの暗号化取引識別情報は、サービス利用装置で復号化処理されて解読可能な署名処理済みの取引識別情報となり、次回のサービス取引の際にサービス提供装置に送信されるようになる。
【0026】
以上のように、サービス利用装置は、個々の取引に関して関連付けられることなく取引を行うことができ、個別情報と関連付けられることなく認証を受けてサービス依頼を行うことができれば、利用者の個人情報に関連付けられて取引関連情報を蓄積されることがなくなる。また、サービス提供装置は、利用者を特定することなく利用者の正当性や取引の際の正当性を判定することができ、サービス取引の際の個別情報の管理を厳重に行う必要がなくなり、従来のような第三者機関を介して行う必要もなくなる。
【0027】
本発明に係る別のサービス取引システム及びサービス取引方法は、サービス利用装置が、そのk回目のサービス取引において予めサービス提供装置から取得した署名処理済みの取引識別情報T(k)を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定するとともに、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理し、サービス利用装置が、次回のサービス取引の取引識別情報T(k+1)を暗号化した暗号化取引識別情報と、取引識別情報T(k+1)に基づいて計算されるM個の要素データVs(k)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成し、サービス提供装置が、次回サービス取引のための暗号化識別情報に署名するとともに、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)、サービス利用装置から送信された取引識別情報T(k)に基づいて計算されるM個の要素データVs(k)及び確認情報Wt(k)を含むP(P≧2M+2)個の値の、サービス利用装置が知らない係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(k)(j=1,2,…,P)を上記の式(B)により算出し、算出されたP個の一次結合データSj(k)をサービス利用装置において登録し、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)をサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出しているので、個々の取引に関して関連付けられることなく利用者はサービス取引を依頼することができるとともに、サービス提供装置では特定の利用者による個々の取引の利用料金を知ることなくその合計額のみを確実に算出することができる。すなわち、P個の一次結合データSj(k)の算出に用いられる係数データaij、乱数rk及び乱数R(k)はサービス提供装置しか知らないデータとすることで、その算出方法がサービス利用装置に知られることなく一次結合データSj(k)の算出結果のみがサービス利用装置に登録されるため、サービス利用装置側で登録された一次結合データSj(k)を勝手に操作することができない。そして、結合集計データΣSj(k)をサービス利用装置から得ることができれば、集計値ΣE(k)、集計値Σrks(k)、集計値Σrk+1t(k)及び集計値ΣR(k)の(2M+2)個のデータを変数として係数データaijを用いたP(P≧2M+2)個の連立一次方程式を解くことで、集計値ΣE(k)を正確に求めることができる。したがって、個々の取引の利用料金であるE(k)を知らなくても集計値を正しく算出して利用者に合計額を請求することが可能となる。
【0028】
また、サービス利用装置から送信された今回のサービス取引の取引識別情報T(k)に基づくM個の要素データVs(k)及び次回のサービス取引の取引識別情報T(k+1)に基づいて暗号化処理されたM個の確認情報Wt(k)を一次結合データSj(k)の算出式に含ませることで、一連のサービス取引の一次結合データSj(k)をサービス提供装置の知らない形で互いに関連付けさせることができ、サービス提供装置が個々のサービス取引を関連付けて蓄積することはできなくなる。また、サービス取引が互いに関連付けられることでサービス利用装置での不正操作を判定することも可能となる。すなわち、結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎の集計値Σrks(k)並びに取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎の集計値Σrk+1t(k)を算出して、集計値Σrk+1t(k)をサービス利用装置で復号化処理して集計値ΣXu(k)を得ることで、サービス提供装置は、個別の取引識別情報を知ることなく取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積の集計値を得ることができる。この値は、サービス利用装置から得られた次回の取引識別情報T(N+1)に基づく要素データVs(N+1)を取引識別情報T(1)~T(N)に関する要素データと乱数の積の集計値Σrks(k)に加算した値と一致するので、両者が一致するか否か判定すれば、サービス利用装置側で不正操作があったか否か判定することが可能となる。
【0029】
本発明に係るさらに別のサービス取引システム及びサービス取引方法は、サービス利用装置が、そのk回目のサービス取引において予めサービス提供装置から取得した署名処理済みの取引識別情報T(k)を送信してサービス提供装置にサービス依頼し、サービス提供装置が、サービス利用装置から送信された取引識別情報が有効なものであるか否か判定するとともに、取引識別情報が有効と判定された場合にサービス利用装置からの依頼に応じてサービス処理し、サービス利用装置が、次回のサービス取引の取引識別情報T(k+1)とその取引回数に基づいて設定された回数データQ(k+1)を合体して識別データT(k+1)Q(k+1)を生成し暗号化して暗号化識別データとしてサービス提供装置に送信し、サービス提供装置が暗号化識別データに署名処理し、サービス利用装置が、署名処理された暗号化識別データを復号化処理して署名処理済みの識別データを取得するとともに、次回の取引識別情報T(k+1)に基づいて計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成し、サービス提供装置が、当該サービス取引の利用料金に基づくデータE(k)、乱数R(k)、サービス利用装置から送信された識別データT(k)Q(k)から求められるQ(k)、サービス利用装置から送信された識別データT(k)Q(k)から求められるT(k)に基づいて計算されるM個の要素データVs(k)及びサービス利用装置から送信された確認情報Wt(k)を含むP(P≧2M+3)個の値の、サービス利用装置が知らない係数データaij(i=1,2,…,P;j=1,2,…,P)及び乱数rk(k=1,2,…)を用いた互いに独立な一次結合データSj(k)(j=1,2,…,P)を上記の式(D)により算出し、算出されたP個の一次結合データSj(k)をサービス利用装置において登録し、サービス提供装置からの集計依頼に応じて、登録されたN回分の一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに結合集計データΣSj(k)及び回数データQ(N)に相当する値をサービス提供装置に送信し、サービス提供装置が、サービス利用装置から送信されたP個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出しているので、個々の取引に関して関連付けられることなく利用者はサービス取引を依頼することができるとともに、サービス提供装置では特定の利用者による個々の取引の利用料金を知ることなくその合計額のみを確実に算出することができる。すなわち、P個の一次結合データSj(k)の算出に用いられる係数データaij、乱数rk及び乱数R(k)はサービス提供装置しか知らないデータとすることで、その算出方法がサービス利用装置に知られることなく一次結合データSj(k)の算出結果のみがサービス利用装置に登録されるため、サービス利用装置側で登録された一次結合データSj(k)を勝手に操作することができない。そして、結合集計データΣSj(k)をサービス利用装置から得ることができれば、集計値ΣE(k)、集計値ΣQ(k)、集計値Σrks(k)、集計値Σrk+1t(k)及び集計値ΣR(k)の(2M+3)個のデータを変数として係数データaijを用いたP(P≧2M+3)個の連立一次方程式を解くことで、集計値ΣE(k)を正確に求めることができる。したがって、個々の取引の利用料金であるE(k)を知らなくても集計値を正しく算出して利用者に合計額を請求することが可能となる。
【0030】
そして、サービス利用装置から送信されたP個の結合集計データΣSj及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出して集計値ΣQ(k)とサービス利用装置から送信された回数データQ(N+1)との間の整合性を判定すれば、サービス取引の取引回数に基づく回数データQ(k)は回数順に従って付与されているので、Q(1)~Q(N)までを加算した集計値ΣQ(k)からサービス取引した最後の回数順が特定されて、次回の回数順であるQ(N+1)との整合性を判定することができ、整合していない場合には不正な操作があったものとすることが可能となる。
【0031】
回数データQ(k)に関する整合性があると判定された場合には、サービス利用装置から送信された今回のサービス取引の取引識別情報T(k)に基づくM個の要素データVs(k)及び次回のサービス取引の取引識別情報T(k+1)に基づいて暗号化処理されたM個の確認情報Wt(k)を用いてさらに不正操作の判定を行うことで、より確実に不正操作の判定を行うことができる。すなわち、要素データVs(k)及び確認情報Wt(k)を一次結合データSj(k)の算出式に含ませることで、一連のサービス取引の一次結合データSj(k)をサービス提供装置の知らない形で互いに関連付けさせることができ、サービス提供装置が個々のサービス取引を関連付けて蓄積することはできなくなる。また、サービス取引が互いに関連付けられることでサービス利用装置での不正操作を判定することも可能となる。結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎の集計値Σrks(k)及び取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積rk+1t(k)の各t毎の集計値Σrk+1t(k)を算出して、集計値Σrk+1t(k)をサービス利用装置で復号化処理して集計値ΣXu(k)を得ることで、サービス提供装置は、個別の取引識別情報を知ることなく取引識別情報T(1)~T(N+1)に関する確認情報と乱数の積の集計値を得ることができる。この値は、サービス利用装置から得られた次回の取引識別情報T(N+1)に基づく要素データVs(N+1)を取引識別情報T(1)~T(N)に関する要素データと乱数の積の集計値Σrks(k)に加算した値と一致するので、両者が一致するか否か判定すれば、サービス利用装置側で不正操作があったか否か判定することが可能となる。
【発明を実施するための最良の形態】
【0032】
以下、本発明に係る実施形態について詳しく説明する。なお、以下に説明する実施形態は、本発明を実施するにあたって好ましい具体例であるから、技術的に種々の限定がなされているが、本発明は、以下の説明において特に本発明を限定する旨明記されていない限り、これらの形態に限定されるものではない。
【0033】
図1は、本発明に係るサービス取引システムに関する実施形態の構成を示す概略図である。サービス提供装置1は、インターネット等のネットワーク3を介してサービス利用装置2と接続されている。サービス利用装置2は、一般に多数の装置がネットワーク接続されているが、ここでは、理解を容易にするため、サービス利用装置2は、1台だけ記載している。
【0034】
サービス提供装置1は、情報処理部10及び記憶部11を備えており、情報処理部10が記憶部11に記憶されたデータ及びプログラムを読み出してデータ処理を行い、サービス利用装置2とデータの送受信を行うようになっている。サービス利用装置2は、それぞれ情報処理部20及び記憶部21を備えており、情報処理部20が記憶部21に記憶されたデータ及びプログラムを読み出してデータ処理を行い、サービス提供装置1とデータの送受信を行うようになっている。サービス提供装置1及びサービス利用装置2における個別情報処理に関する機能は、予め記録媒体やネットワークを用いてインストールされるプログラムにより実現される。
【0035】
図2は、サービス提供装置1とサービス利用装置2との間で互いに正当性を判定するための機能ブロック図を示している。サービス提供装置1の情報処理部10は、パスワード抽出部100、第一暗号キー生成部101、第一暗号化処理部102、第二暗号キー生成部103、第二暗号化処理部104、正当性判定部105及び送受信部106を備えており、こうした機能は、記憶部11に記憶されたサービス提供プログラム110により実現される。記憶部11に記憶された顧客DB111には、サービス利用装置を利用する全利用者のID、パスワード、氏名、住所といった顧客の属性情報が登録されている。
【0036】
パスワード抽出部100は、サービス利用装置から受信した複数のIDからなるIDリストに対応する複数のパスワードpを記憶部11の顧客DB111より抽出し、IDリストの配列順序に対応したパスワードリストを作成する。
【0037】
第一暗号キー生成部101は、第一暗号化処理部102で用いる第一暗号キーとしてパスワードpと同じ長さのランダムビットパターンrを生成する。第一暗号化処理部102は、第一暗号キーrとパスワード抽出部100で作成されたパスワードリストのパスワードpとの排他的論理和x
x=pXORr
をpの暗号化情報として算出し、パスワードリストに対応した暗号パスワードリストを作成する。
【0038】
第二暗号キー生成部103は、第二暗号キーKを生成し、第二暗号化処理部104は、第二暗号キーKにより第一暗号キーrを暗号化した暗号化情報K(r)を算出し、K(r)及びKをサービス提供装置の検証情報とする。暗号パスワードリスト及び暗号化情報K(r)は、第二暗号キーKとともに送受信部106を介してサービス利用装置2に送信される。第二暗号化処理部104では、暗号化キー及び復号化キーが異なる暗号方式を用いればよく、例えば、RSA等の公知の暗号方式を用いて暗号化処理するようにすればよい。
【0039】
正当性判定部105は、サービス利用装置2からその検証情報として受信したランダムビットパターンと第一暗号キー生成部101で生成した第一暗号キーであるランダムビットパターンrとを照合してサービス利用装置2の正当性を判定する。送受信部106は、サービス利用装置2とデータの送受信を行う。
【0040】
サービス利用装置2の情報処理部20は、ID発生部200、パスワード処理部201、正当性判定部202及び送受信部203を備えており、こうした機能は、記憶部21に記憶されたサービス利用プログラム210により実現される。記憶部21は、サービス利用装置2を利用する利用者のID及びパスワードpを記憶するID/パスワード登録部211を備えている。
【0041】
ID発生部200は、記憶部21のID/パスワード登録部211に登録されたIDを含む複数のIDを発生させてIDリストを作成する。当該利用者のID以外のIDについては、全利用者のID数に基づいてランダムに発生させるようにする。
【0042】
パスワード処理部201は、サービス提供装置から受信した暗号パスワードリストの中のID/パスワード登録部211に登録されたIDの位置に相当する暗号パスワードxとID/パスワード登録部211に登録されたパスワードqとの排他的論理和y
y=xXORq
を計算して、さらに、yをサービス提供装置1から受信した第二暗号キーKを用いて第二暗号化処理部104と同一の暗号方式で暗号化しK(y)とする。
【0043】
ここで、パスワード処理部201では、サービス提供装置1から受信した暗号パスワードxは、
x=pXORr
であるので、q=pならば、
y=xXORq=pXORrXORp=r・・・(E)
となり、元の第一暗号キーrが復号化される。例えば、
p=001100
r=011000
である場合
x=010100
となる。したがって、
xXORp=011000=r
となる。
【0044】
正当性判定部202は、サービス提供装置1から受信した暗号化されたランダムビットパターンK(r)及びパスワード処理部201で計算したK(y)をパターン比較して一致するか否か判定する。一致すると判定された場合には、サービス提供装置1は正当なものとしてパスワード処理部201で計算したランダムビットパターンy(=r)を検証情報としてサービス提供装置1に送信し、一致しない場合には、サービス提供装置は不正なものとしてランダムビットパターンは送信しない。
【0045】
図3は、サービス提供装置1及びサービス利用装置2との間で互いに正当性を判定する処理フローを示している。まず、サービス利用装置2は、認証処理を行う場合、全利用者のIDからランダムに(N-1)個のIDを発生させる(S100)。複数のIDを発生させる場合、例えば、予め記憶部21に全利用者のID総数が記憶されており、ID総数の連続番号の中からランダムに選択するようにすればよい。そして、サービス利用装置2に登録された利用者のIDを記憶部21から読み出して、発生させた複数のIDとともにランダムに配列させてN個のIDからなるIDリストを作成する(S101)。図4は、IDリストの一例を示す。この例では、t番目に利用者のIDkが設定されている。
【0046】
作成されたIDリストをサービス提供装置1に送信して、リスト中のN個のIDに対応するパスワードを記憶部11から抽出する(S102)。そして、抽出したパスワードをIDリストの配列に従って配列してパスワードリストを作成する(S103)。図5は、図4のIDリストに基づいて作成されたパスワードリストを示している。パスワードリストのt番目には、利用者のパスワードpkがリストアップされている。
【0047】
次に、第一暗号キーであるランダムビットパターンrを発生させて(S104)、パスワードリストのパスワードとランダムビットパターンrとの排他的論理和xを算出する(S105)。パスワードリストの各パスワードについて排他的論理和xを算出したら、パスワードリストの配列に従って配列して暗号パスワードリストを作成する(S106)。図6は、図5のパスワードリストに基づいて作成された暗号パスワードリストを示している。暗号パスワードリストのt番目の排他的論理和xkが利用者のパスワードpkに対応する。
【0048】
ここで、利用者がpk以外のパスワードを直接知るのを防ぐ目的で、パスワードリストの各パスワードをランダムビットパターンrとの排他的論理和xを計算する前又は後で、暗号化しておいてもよい。ただし、この場合には、サービス利用装置2がpkあるいはpk及びrの排他的論理和xを暗号化した情報が計算できるように、サービス利用装置2でもサービス提供装置1と同じ暗号キーと暗号化機構を備える必要がある。この場合の暗号化方式は、当然暗号キーと復号キーとが異なるものでなければならない。
【0049】
次に、第二暗号キー生成部103において第二暗号キーKを生成し(S107)、第二暗号キーKを用いてランダムビットパターンrを暗号化処理して(S108)、第二暗号キーK、暗号化されたランダムビットパターンK(r)及び暗号パスワードリストをサービス利用装置2に送信する(S109)。
【0050】
サービス利用装置2では、受信した暗号パスワードリストの中からt番目の排他的論理和xkを抽出して(S110)、記憶部21に登録された利用者のパスワードpkとの排他的論理和を算出する(S111)。ステップS111での算出処理により、式(E)に示すように、ランダムビットパターンyが算出されるので、算出されたランダムビットパターンを第二暗号キーKを用いて暗号化処理する(S112)。暗号化されたランダムビットパターンK(y)をサービス提供装置1から受信したランダムビットパターンK(r)と比較して(S113)サービス提供装置1の正当性を判定する。一致する場合には、サービス提供装置1がサービス利用装置2から受信したIDリストのすべてのIDとランダムビットパターンrとの排他的論理和を正しく計算したことになり、正当なサービス提供装置であると判定することができる。そこで、ステップS111で算出したランダムビットパターンyをサービス提供装置1に送信する(S114)。ステップS113において両者が一致しない場合にはサービス提供装置は不正なものであると判定してランダムビットパターンyを送信せず終了する。
【0051】
サービス提供装置1は、受信したランダムビットパターンyをステップS104で発生させたランダムビットパターンrと比較して(S115)サービス利用装置2の正当性を判定する。一致する場合には、サービス提供装置1から送信した暗号パスワードリストに含まれるパスワードを用いてサービス利用装置2が処理したと判定できるため、サービス利用装置2に対してサービス提供を開始する。一致しない場合には、サービス利用装置2は、暗号パスワードリストに含まれるパスワードを用いて処理していないことから、不正なものとしてエラーメッセージを送信して(S116)終了する。
【0052】
以上の処理では、サービス利用装置2からIDリストを送信しているので、サービス提供装置1ではどのIDの利用者がアクセスしてきているのか特定することはなく、利用者の正当性を判定できる。そして、サービス利用装置2では、サービス提供装置1から送信されたランダムビットパターンK(r)と自身が計算したK(y)とが一致することを確認することにより、サービス提供装置1が正しく処理していることを確認することができる。この場合、サービス利用装置2に他の利用者のパスワードが送信されるが、パスワード若しくはパスワードとランダムビットパターンとの排他的論理和も暗号キーと復号キーとが異なる暗号方式によって暗号化することで、復号化には別のキーが必要となるので、サービス利用装置での不正な利用は簡単に防止できる。同様に、サービス提供装置1で用いたランダムビットパターンrの暗号化も暗号キーと復号キーとが異なる暗号方式によって行われるので、暗号化されたランダムビットパターンK(r)を直接復号化してサービス提供装置1に送信するといった不正な処理も防止される。すなわち、真正なパスワードがないとサービス利用装置2ではランダムビットパターンrを復号化することができない。
【0053】
そして、暗号パスワードリストでは共通のランダムビットパターンrを用いてパスワードを処理しているので、暗号パスワードリストの何番目のパスワードが復号化されたかについてもサービス提供装置1では特定されない。また、サービス提供装置1では、サービス利用装置2から受信したランダムビットパターンyにより正当性を判定するので、利用者を特定することなく認証を行うことができる。
【0054】
以上のように、サービス提供装置1及びサービス利用装置2は、互いに匿名で認証することができる。
【0055】
図7は、サービス提供装置1とサービス利用装置2との間でサービス取引を行う場合の概略ブロック図である。サービス提供装置1の情報処理部10は、取引識別情報生成部120、取引識別情報判定部121、サービス処理部122、署名処理部123、結合計算部124、集計値算出部125、不正判定部126及び乱数発生部127を備えており、こうした機能は、記憶部11に記憶されたサービス提供プログラム110により実現される。
【0056】
記憶部11には、生成された取引識別情報Tを管理するための取引識別情報テーブル128、結合計算処理や集計値算出処理に用いる(2M+2)2個の係数データaij(i=1,2,…,2M+2;j=1,2,…,2M+2)及び乱数発生部127で生成される十分長い乱数の列rk(k=1,2,…)を記憶する係数データ記憶部129が記憶されている。係数データaijは、適当な数値を用いて適当に設定されるが、係数データaijで構成される行列の行列式が0とならないように設定する。乱数rkは、乱数発生部により予め十分多くの乱数を発生させて記憶しておく。そして、後述するように、各サービス利用者のk回目のサービス取引に関する一次結合データSjを算出する際には、共通の乱数rk及びrk+1を使用する。
【0057】
取引識別情報生成部120は、個々のサービス取引を識別するために用いられる取引識別情報Tを生成し、生成された取引識別情報Tは、取引識別情報テーブル128に登録されて管理される。取引識別情報判定部121は、サービス利用装置2から送信された取引識別情報が署名済みであり、かつ、取引識別情報テーブル128に基づいて未使用のものであることをチェックして正当なサービス依頼か否か判定する。
【0058】
サービス処理部122は、正当なサービス依頼に対して依頼内容に従ってサービス処理を行う。サービス取引が完了すると、サービスの利用料金を算出するとともに使用された取引識別情報について取引識別情報テーブル128に使用済みであることを登録する。署名処理部123は、サービス取引が完了した後次回に使用する取引識別情報が暗号化処理されてサービス利用装置2から送信されてくると、暗号化取引識別情報に署名処理してサービス利用装置2に送信する。
【0059】
結合計算部124は、サービス利用装置2から送信された最初の取引に使用する取引識別情報T(1)に基づいて暗号化処理されたM個の初期確認情報Wt(0)(t=1,2,…,M)、乱数発生部127で発生させた乱数R(0)、係数データ記憶部129に記憶された係数データaij及び乱数r1を用いた(2M+2)個の一次結合データSj(j=1,2,…,2M+2)を以下の式(A)
j={a(M+1+1)j1(0)+a(M+2+1)j2(0)+…+a(2M+1)M(0)}r1+a(2M+2)jR(0)・・・(A)
により算出する。
【0060】
また、結合計算部124は、サービス利用装置2のk回目のサービス取引完了後に、当該サービス取引の利用料金に基づくデータE(k)(k=1,2,…,N)、サービス利用装置2から送信された今回のサービス取引の取引識別情報T(k)(k=1,2,…,N)に基づくM個の要素データVs(k)(s=1,2,…,M)及び次回のサービス取引の取引識別情報T(k+1)(k=1,2,…,N)に基づいて暗号化処理されたM個の確認情報Wt(k)(t=1,2,…,M)、乱数発生部127で発生させた乱数R(k)(k=1,2,…,N)、係数データ記憶部129に記憶された係数データaij及び乱数rkを用いた(2M+2)個の一次結合データSj(k)(j=1,2,…,2M+2)を以下の式(B)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+{a(M+1+1)j1(k)+a(M+2+1)j2(k)+…+a(2M+1)M(k)}rk+1+a(2M+2)jR(k)・・・(B)
により算出する。
【0061】
なお、算出する一次結合データSj(k)(j=1,2,…,2M+2)の個数は、(2M+2)個以上であれば、後述する各集計値を算出することができることから、その個数Pを(P≧2M+2)となるように設定すればよい。そして、それに合せて係数データaijについても、P2個の係数データaij(i=1,2,…,P;j=1,2,…,P)に設定すればよい。
【0062】
集計値算出部125は、サービス利用装置から送信された(2M+2)個の結合集計データΣSj及び係数データaijに基づいて、取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出して、サービス利用装置2がこれまでにN回のサービス取引を実行したとすると、N回のサービス取引に関する利用料金の合計額を求める。さらに、サービス利用装置2から送信された(2M+2)個の結合集計データΣSj(k)及び係数データaijに基づいて、取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値ΣVs(k)並びに取引識別情報T(1)~T(N+1)に関する初期確認情報Wt(0)及び確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1tを算出して集計値Σrk+1tをサービス利用装置2に送信する。
【0063】
不正判定部126は、集計値Σrksにサービス利用装置2から送信された要素データと乱数の積rk+1s(N+1)を各s毎に加算した集計値とサービス利用装置2から送信された集計値ΣXu(k)が一致しているか否か判定する。
【0064】
サービス利用装置2の情報処理部20は、取引識別情報取得部220、サービス処理部221、暗号化処理部222、復号化処理部223、確認情報処理部224、結合データ集計部225及び要素集計値処理部226を備えており、こうした機能は、記憶部21に記憶されたサービス利用プログラム210により実現される。記憶部21には、サービス提供装置1から取得した取引識別情報Tに含まれる取引識別情報のリスト227、サービス提供装置1で署名処理された取引識別情報が登録された登録部228、サービス提供装置1から送信された(2M+2)個の一次結合データSjを記憶する登録部229、次回のサービス取引の取引識別情報T(k+1)の暗号化処理して確認情報を計算するのに用いるM2個の係数データbst(s=1,2,…,M;t=1,2,…,M)を記憶する係数データ記憶部230を記憶している。
【0065】
取引識別情報取得部220は、サービス取引を開始する前にサービス提供装置1から必要数の取引識別情報を取引識別情報Tから選択して取得する。サービス処理部221は、登録部228に登録された署名処理済みの取引識別情報をサービス提供装置1に送信してサービス依頼を行う。
【0066】
暗号化処理部222は、最初のサービス取引の取引識別情報T(1)又はサービス取引完了後に次回のサービス取引の取引識別情報T(k+1)(k=1,2,…,N)を暗号化処理し暗号化取引識別情報を生成する。また、復号化処理部223は、サービス提供装置から送信された署名処理済みの暗号化取引識別情報を復号化処理して署名処理済みの取引識別情報を登録部228に記憶する。
【0067】
取引識別情報Tの暗号化処理は、次回のサービス取引で使用する取引識別情報がサービス提供装置に知られてしまうと今回のサービス取引で使用した取引識別情報との関連付けがサービス提供装置側で可能となるためである。また、サービス提供装置にとっては、今回のサービス取引が完了した後に次回のサービス取引の取引識別情報を署名処理するので、正当にサービスを登録したサービス利用者のみに署名処理した取引識別情報を提供することができ、サービス利用額の総計の確実な計算が可能となる。
【0068】
暗号化処理部222における取引識別情報Xの暗号化処理としては、例えば、乱数r及びサービス提供装置1側の公開鍵pを用いて以下のように処理する。
X→rpX
処理された暗号化取引識別情報を署名処理部123においてサービス提供装置1の秘密鍵qを用いて以下のように署名処理する。
pX→(rpX)q
この場合、取引識別情報Xには乱数rが掛けられているため、サービス提供装置1では取引識別情報Xを知ることはできず、ブラインド署名処理が行われることになる。署名処理された暗号化取引識別情報を復号化処理部223では、暗号化処理部222の暗号化処理で使用した乱数rを用いて以下のように処理する。
(rpX)q→(rpqXq)/r
ここで、pq=1であるから、
(rpqXq)/r→(rXq)/r→Xq
となり、サービス提供装置1の秘密鍵qで署名処理された取引識別情報Xを得ることができる。サービス利用装置が送信した取引識別情報が署名処理されたか否か確認したい場合には、署名処理された取引識別情報にサービス提供装置1の公開鍵pを掛けることで
Xq→Xqp→X
となって確認することができる。
【0069】
確認情報処理部224は、最初のサービス取引の取引識別情報T(1)に基づいて計算されるM個の要素データVs(1)(s=1,2,…,M)のサービス提供装置1の知らない係数による互いに独立なM個の一次結合である初期確認情報Wt(0)(t=1,2,…,M)を生成するとともに、サービス取引完了後に今回のサービス取引の回数をkとして、次回サービス取引の取引識別情報T(k+1)(k=1,2,…,N)に基づいて計算されるM個の要素データVs(k+1)(s=1,2,…,M)のサービス提供装置1の知らない係数による互いに独立なM個の一次結合である確認情報Wt(k)(t=1,2,…,M)を生成する。
【0070】
M個の要素データVs(k)は、例えば、図8に示すように、取引識別情報T(k)を構成するビット列をM個に等分した各ビット列とする。次回の取引識別情報T(k+1)に基づいて暗号化処理されたM個の確認情報Wt(k)は、図9に示すように、まず、M個の要素データVs(k+1)を生成し、係数データ記憶部230に記憶されたM2個の係数データbstを用いて以下の式(F)
t(k)=b1t1(k+1)+b2t2(k+1)+…+bMtM(k+1)・・・(F)
により算出される。
【0071】
2個の係数データbstは、サービス利用装置2のみが登録しているので、サービス提供装置1側で確認情報Wt(k)から次回の取引識別情報T(k+1)を知ることはできない。したがって、サービス提供装置1において、今回のサービス取引に関連付けて次回のサービス取引を蓄積していくことが防止される。また、サービス提供装置1は、今回の取引識別情報と次回のサービス取引の取引識別情報に関する確認情報に基づいて一次結合データSj(k)を算出することで、サービス取引の連続性を確保し、サービス利用装置によるサービス取引記録の削除やすり替えなどの改変を集計処理後に確実に検出できるようになる。
【0072】
結合集計部225は、サービス提供装置1からの集計依頼に応じて登録された一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに、サービス利用装置2がこれまで受けたサービス取引の回数をNとすると、次回の取引識別情報T(N+1)に基づいて要素データVs(N+1)を生成して結合集計データΣSj(k)及び要素データVs(N+1)を送信する。
【0073】
例えば、サービス提供装置1との間でN回のサービス取引が行われたとすると、サービス提供装置1からはサービス利用装置2に、サービス取引前の最初に使用する取引識別情報T(1)に関するものをSj(0)とすると、図10に示すように、Sj(0)からSj(N)までの(N+1)回分の一次結合データが送信される。そして、サービス提供装置1からの集計依頼があった場合、一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)は、図10の最下段の式で表される。この式は、集計値ΣE(k)、集計値Σrks(k)、集計値Σrk+1t(k)及び集計値ΣR(k)の(2M+2)個のデータを変数として係数データaijを用いた(2M+2)個の連立一次方程式となっている。
【0074】
そのため、サービス提供装置1の集計値算出部125では、結合集計データΣSj(k)を得ることができれば、係数データaijに基づいて(2M+2)個の連立一次方程式を解くことができ、集計値ΣE(k)、集計値Σrks(k)、集計値Σrk+1t(k)及び集計値ΣR(k)を得ることができる。したがって、サービス提供装置1の集計値算出部125では、サービス利用装置2の個々のサービス取引に関する利用料金E(k)を知らなくてもその集計値ΣE(k)を算出することが可能となる。
【0075】
また、結合集計データΣSj(k)の算出式には、サービス利用装置2側が知らない係数データaijの他に乱数rk及びR(k)が用いられているので、サービス利用装置2において一次結合データSj(k)の算出式を知ることはできず、不正操作を行うことはできない。
【0076】
ここで集計値Σrk+1t(k)は取引識別情報T(1)~T(N)に次回の取引識別情報T(N+1)を加えたものに対応する値であるので、サービス提供装置1の集計値算出部125では、得られた集計値Σrks(k)にサービス提供装置1から送信された次回の取引識別情報T(N+1)に対応する要素データVs(N+1)と乱数の積rN+1s(N+1)を各s毎に加えた集計値Σrks(k)を算出する。
【0077】
さらに、集計値算出部125は、集計値Σrk+1t(k)をサービス利用装置2に送信し、要素集計処理部226が、集計値Σrk+1t(k)を復号化処理して集計値ΣXu(k)(u=1,2,…,M)を生成する。確認情報Wt(k)が、上述したようにM2個の係数データbstを用いて式(F)で算出されていることから、集計値Σrk+1t(k)が要素データVs(k)の各s毎のkについての集計値Σrks(k)を変数として係数データbstを用いたM個の連立一次方程式とみることができる。そのため、要素集計処理部226では、集計値Σrk+1t(k)をサービス提供装置1から得ることができれば、係数データbstを用いたM個の連立一次方程式を解いて、集計値ΣXu(k)を得ることができる。
【0078】
要素集計処理部226が算出処理した集計値ΣXu(k)は、取引識別情報T(1)~T(N+1)に関する集計値であるため、不正な処理が行われていなければ、集計値Σrks(k)と一致する。そのため、不正判定部126で算出した集計値と一致するか否か判定することで、不正操作が行われたか否かチェックすることが可能となる。すなわち、サービス利用装置2側で結合集計データΣSj(k)を削除したり差し替えたりするなどの不正操作すると、今回及のサービス取引の取引識別情報T(k)と次回取引の取引識別情報T(k+1)から計算した確認情報の整合性がとれなくなり、サービス提供装置1の不正判定部126で算出した今回の取引識別情報T(k)に関する要素データの集計値Σrks(k)とサービス利用装置2の要素集計処理部226で算出した次回の取引識別情報T(k+1)に関する要素データの集計値ΣXu(k)が一致しなくなって不正判定部126においてチェックされるようになる。
【0079】
要素集計処理部226では、集計値ΣVs(k)のみをサービス提供装置1に返すようになっているため、個々のサービス取引の取引識別情報T(k)に関する要素データVs(k)を知られることがない。
【0080】
図11は、サービス取引の実施前に行われる取引識別情報の発行処理に関するフローである。サービス提供装置1では、予め必要数の取引識別情報が生成されて取引識別情報テーブル128が記憶されている(S200)。まず、図3に示すように、サービス提供装置1とサービス利用装置2との間で互いに正当性の判定が行われて(S201、S202)匿名での認証が行われる。互いに正当性があると判定された場合に、サービス利用装置2は、サービス提供装置1に対して必要な数の取引識別情報の発行依頼を行う(S203)。サービス提供装置1は、未使用の取引識別情報をリストアップして、必要数をサービス利用装置2に発行する(S204)。この場合、リストアップされたものからサービス利用装置2側で選択するようにしてもよい。発行された取引識別情報は、サービス利用装置2の登録部228に記憶される(S205)。
【0081】
次に、最初のサービス取引に用いる取引識別情報T(1)を選択して暗号化処理を暗号化処理部222で行い(S206)、暗号化取引識別情報T(1)を生成する。そして、選択された取引識別情報T(1)に基づいて確認情報処理部224で確認情報Wt(0)を生成する(S207)。生成された暗号化取引識別情報T(1)及び初期確認情報Wt(0)を添付してサービス提供装置1に対して署名処理を依頼する(S208)。サービス提供装置1では、署名処理部123で暗号化取引識別情報T(1)に署名処理を行い(S209)、結合計算部124で一次結合データSj(0)を上記の式(A)により算出処理する(S210)。署名処理された暗号化取引識別情報T(1)及び算出された一次結合データSj(0)をサービス利用装置2に送信し(S211)、署名処理された暗号化取引識別情報T(1)は、サービス利用装置2の復号化処理部223で処理されて署名入りの取引識別情報T(1)となり(S212)、登録部228に登録され、一次結合データSjは登録部229に登録される(S212)。
【0082】
以上の処理により、サービス利用装置2は、サービス取引に必要な取引識別情報を取得するとともに最初に使用する署名入りの取引識別情報を得ることができる。
【0083】
図12は、サービス利用装置2によるk回目のサービス取引を行う場合の処理に関するフローである。まず、サービス提供装置1とサービス利用装置2との間で互いに正当性の判定が行われて(S300、S301)匿名での認証が行われる。互いに正当性があると判定された場合に、サービス利用措置2は、署名入りの取引識別情報T(k)を読み出して(S302)署名入りの取引識別情報T(k)を添付しサービス提供装置1に対してサービス依頼を行う(S303)。
【0084】
サービス提供装置1は、サービス依頼を受けると、署名入りの取引識別情報T(k)を取得して(S304)正常に署名されているか否か、未使用のものであるか否かチェックし取引識別情報T(k)の判定を行う(S305)。取引識別情報T(k)が正常なものであると判定された場合には、サービス処理を開始してサービス利用装置2との間でサービス取引を行う(S306)。そして、サービス取引完了後その利用料金E(k)を算出する(S307)。
【0085】
ステップS305において、取引識別情報T(k)が正常なものでないと判定された場合にはエラー処理を行い(S308)サービス処理は行われない。
【0086】
一方、サービス利用装置2は、サービス提供装置1とのサービス取引が開始されると、必要なサービス処理を行い(S309)、サービス取引完了後に次回のサービス取引で使用する取引識別情報T(k+1)を選択して暗号化処理部222で暗号化され(S310)、暗号化取引識別情報T(k+1)を生成する。そして、選択された取引識別情報T(k+1)に基づいて確認情報処理部224で確認情報Wt(k)を生成する(S311)。生成された暗号化取引識別情報T(k+1)を添付してサービス提供装置1に対して署名処理を依頼する(S312)。
【0087】
サービス提供装置1では、署名処理部123で暗号化取引識別情報T(k+1)に署名処理を行い(S313)、結合計算部124で一次結合データSj(k)を上記の式(B)により算出処理する(S314)。署名処理された暗号化取引識別情報T(k+1)及び算出された一次結合データSj(k)をサービス利用装置2に送信し(S315)、署名処理された暗号化取引識別情報T(k+1)は、サービス利用装置2の復号化処理部223で処理されて署名入りの取引識別情報T(k+1)となり(S316)、登録部228に登録され、一次結合データSj(k)は、登録部229に登録される(S317)。
【0088】
以上の処理では、互いの正当性を判定して匿名認証した後においても取引識別情報を用いて署名入りの場合にサービス提供装置1でサービス取引するようにいるので、個々のサービス取引が匿名で行うことができるだけでなく、サービス利用装置の連続する取引が正しく行われることを保証する。また、次回の取引識別情報については暗号化処理された暗号化取引識別情報及び確認情報Wt(k)で処理されるので、今回の取引識別情報との関連付けがなされなず取引識別情報から一連のサービス取引を特定することができない。
【0089】
サービス提供装置1では、署名入りの取引識別情報により正当なサービス取引権限のある利用者を確実に判定することができる。
【0090】
図13は、サービス利用装置2に関する利用料金等の集計処理に関するフローである。集計処理は、サービス提供装置1において所定期間毎に行われる。まず、サービス提供装置1とサービス利用装置2との間で互いに正当性の判定が行われて(S400、S401)匿名での認証が行われる。互いに正当性があると判定された場合に、サービス提供装置1は、サービス利用装置2に対して集計依頼を行う(S402)。
【0091】
サービス利用装置2は、それまでにN回のサービス取引をしているとして、集計依頼に基づいて登録部229に蓄積された一次結合データSj(k)についてデータ別に集計して結合集計データΣSj(k)を算出する(S403)。そして、選択された次回の取引識別情報T(N+1)を読み出して(S404)その要素データVs(N+1)を生成し(S405)、結合集計データΣSj及び要素データVs(N+1)をサービス提供装置1に送信する(S406)。
【0092】
サービス提供装置1は、結合集計データΣSj(k)、係数データaij及びrkに基づいて、集計値ΣE(k)、集計値Σrks(k)及び集計値Σrk+1t(k)を算出する(S407)。そして、集計値Σrks(k)に、要素データと乱数の積rN+1s(N+1)を各s毎に加算処理した集計値を求め(S408)、集計値Σrk+1t(k)は、サービス利用装置2に送信する(S409)。
【0093】
サービス利用装置2は、集計値Σrk+1t(k)に基づいて集計値ΣXu(k)を算出処理し(S410)、算出された集計値ΣXu(k)をサービス提供装置1に送信する(S411)。
【0094】
サービス提供装置1は、送信された集計値ΣXu(k)とステップS408で算出した集計値rks(k)(rN+1s(N+1)を加算した値)が一致するか判定し(S412)、一致する場合には正しく集計されたものとして集計値ΣE(k)に基づいてサービス利用装置2に利用料金の請求を行う(S413)。サービス利用装置2は、利用料金の請求に基づいて支払い処理を行う(S414)。
【0095】
ステップS412において一致しない場合には、不正操作があったものとして、サービス提供装置1は、不正処理を行う(S415)。不正処理では、例えば、サービス利用装置2に対して係数データbstの開示を求めて、確認情報Wt(k)から要素データVs(k)を算出し、サービス利用装置2に関するサービス取引で使用した取引識別情報を特定する。そして、特定された取引識別情報に基づいてサービス利用装置2に登録された一次結合データから利用金額を集計してサービス利用装置2に対して請求するようにする。
【0096】
以上の処理により、サービス利用装置2は、個々のサービス取引に関して知らせることなく所定期間の集計値のみをサービス提供装置1に提供すればよく、サービス提供装置1においても集計値のみを得ることで、正確に利用料金の合計金額を算出することができ、さらに不正操作があったことについても確実に判定することが可能となる。
【0097】
以上説明した実施形態では、サービス利用装置2の確認情報処理部224において今回のサービス取引の取引識別情報T(k)に基づくM個の要素データVs(k)及び次回のサービス取引の取引識別情報T(k+1)に基づいて暗号化処理されたM個の要素データWt(k)を生成してサービス提供装置1に送信するようにしているが、次回のサービス取引の取引識別情報T(k+1)の代わりに前回のサービス取引の取引識別情報T(k-1)を用いることもできる。
【0098】
図14は、前回の取引識別情報T(k-1)を確認情報に用いた場合の一次結合データSjのリストである。この場合には、サービス利用装置2は、サービス取引開始前にダミーの取引識別情報T(0)を用いてその要素データVs(0)を生成し暗号処理せずにサービス提供装置1に送信する。サービス提供装置1は、一次結合データSj(0)を以下の式(G)
j(0)={a(1+1)j1(0)+a(2+1)j2(0)+…+a(M+1)M(0)}r1+a(2M+2)jR(0)・・・(G)
により算出する。そして、サービス利用装置2のk回目のサービス取引完了後には、今回のサービス取引の取引識別情報T(k)に基づくM個の要素データVs(k)及び前回の取引識別情報T(k-1)に基づいて暗号化処理されたM個の確認情報Wt(k-1)を生成してサービス提供装置1に送信する。サービス提供装置1は、一次結合データSj(k)を以下の式(H)
j(k)=a1jE(k)+{a(1+1)j1(k)+a(2+1)j2(k)+…+a(M+1)M(k)}rk+1+{a(M+1+1)j1(k-1)+a(M+2+1)j2(k-1)+…+a(2M+1)M(k-1)}rk+a(2M+2)jR(k)・・・(H)
により算出する。以上のように算出された一次結合データSj(k)をサービス利用装置2に送信して登録すれば、上記の実施形態と同様に利用料金の集計及び不正判定を行うことができる。
【0099】
図15から図17は、前回の取引識別情報T(k-1)を確認情報に用いた場合の処理フローである。図11から図13で説明した処理フローと異なる部分について説明を行い、同じ部分については説明を省略する。
【0100】
サービス取引の実施前に行われる取引識別情報の発行処理に関するフローでは、図15に示すように、取引識別情報の発行処理後ダミーの取引識別情報T(0)を生成し(S506)その要素データVs(0)を生成して(S507)サービス提供装置1に送信し、サービス提供装置1では上記の式(G)を用いて一次結合データSj(0)を算出する(S508)。算出された一次結合データSj(0)は、サービス利用装置2に送信されて(S509)登録部229に登録される(S510)。
【0101】
サービス取引を行う場合の処理に関するフローでは、図16に示すように、サービス取引完了後、前回の取引識別情報T(k-1)を暗号化して確認情報Wt(k-1)を生成する(S610)。生成された確認情報Wt(k-1)をサービス提供装置1に送信して上記の式(H)を用いて一次結合データSj(k)を算出する(S615)。算出された一次結合データSj(k)は、署名入り情報とともにサービス利用装置2に送信されて(S616)登録部229に登録される(S618)。
【0102】
利用料金等の集計処理に関するフローでは、図17に示すように、結合集計データΣSj(k)の算出処理後最後のサービス取引で使用した取引識別情報T(N)を読み出して(S704)その要素データVs(N)を生成し(S705)結合集計データΣSj(k)及びVs(N)をサービス提供装置1に送信する(S706)。サービス提供装置1では、結合集計データΣSj(k)を用いて、集計値ΣE(k)、集計値Σrks(k)及び集計値Σrkt(k-1)を算出して(S707)、集計値Σrks(k)からrNs(N)を減算処理し(S708)、集計値Σrkt(k-1)をサービス利用装置2に送信する(S709)。サービス利用装置2では、集計値Σrkt(k-1)から集計値ΣXu(k-1)を算出して(S710)サービス提供装置1に送信し(S711)、サービス提供装置1では、ステップS708で算出した集計値と集計値ΣXu(k-1)とが一致しているか判定して(S712)不正判定を行う。
【0103】
以上のような処理により、前回の取引識別情報を用いた確認情報でも上述した実施形態と同様に利用料金の集計及び不正判定を行うことができる。
【0104】
図18は、上述した実施形態とは別の実施形態に関する概略ブロック図である。この例では、不正判定を行うために、上述の実施形態で用いた確認情報以外に取引回数を用いるようにしている。なお、上述の実施形態と同様の構成については、説明が重複するため省略する。
【0105】
サービス提供装置1の情報処理部10は、取引識別情報生成部120、取引識別情報判定部121、サービス処理部122、署名処理部123、結合計算部124、集計値算出部125、不正判定部126及び乱数発生部127を備えており、こうした機能は、記憶部11に記憶されたサービス提供プログラム110により実現される。
【0106】
記憶部11には、生成された取引識別情報Tを管理するための取引識別情報テーブル128、結合計算処理や集計値算出処理に用いる(2M+3)2個の係数データaij(i=1,2,…,2M+3;j=1,2,…,2M+3)及び十分多い乱数の列rk(k=1,2,…)を記憶する係数データ記憶部129が記憶されている。係数データaijは、適当な数値を用いて適当に設定されるが、係数データaijで構成される行列の行列式が0とならないように設定する。乱数rkは、乱数発生部127により予め発生させて記憶しておく。そして、後述するように、各サービス利用者のk回目のサービス取引に関する一次結合データSj(k)を算出する際には、共通の乱数rk及びrk+1を使用する。
【0107】
取引識別情報生成部120及びサービス処理部122は、上述の実施形態と同様の機能を備えている。
【0108】
結合計算部124は、サービス利用装置2から送信された最初の取引に使用する取引識別情報T(1)に基づいて暗号化処理されたM個の初期確認情報Wt(0)(t=1,2,…,M)、乱数発生部127で発生させた乱数R(0)、係数データ記憶部129に記憶された係数データaij及び乱数r1を用いて(2M+3)個の一次結合データSj(0)(j=1,2,…,2M+3)を以下の式(I)
j(0)={a(M+1+2)j1(0)+a(M+2+2)j2(0)+…+a(2M+2)M(0)}r1+a(2M+3)jR(0)・・・(I)
により算出する。
【0109】
また、結合計算部124は、サービス利用装置2によるk回目のサービス取引完了後に、当該サービス取引の利用料金に基づくデータE(k)(k=1,2,…,N)、サービス利用装置2から送信された今回のサービス取引の回数に基づく回数データQ(k)(k=1,2,…,N)、今回のサービス取引の取引識別情報T(k)(k=1,2,…,N)に基づくM個の要素データVs(k)(s=1,2,…,M)、次回のサービス取引の取引識別情報T(k+1)(k=1,2,…,N)に基づいて暗号化処理されたM個の確認情報Wt(k)(t=1,2,…,M)、乱数発生部127で発生させた乱数R(k)(k=1,2,…,N)並びに係数データ記憶部129に記憶された係数データaij及び乱数rkを用いた(2M+3)個の一次結合データSj(k)(j=1,2,…,2M+3)を以下の式(J)
j(k)=a1jE(k)+a2jQ(k)+{a(1+2)j1(k)+a(2+2)j2(k)+…+a(M+2)M(k)}rk+{a(M+1+2)j1(k)+a(M+2+2)j2(k)+…+a(2M+2)M(k)}rk+1+a(2M+3)jR(k)・・・(J)
により算出する。
【0110】
なお、算出する一次結合データSj(k)(j=1,2,…,2M+2)の個数は、(2M+3)個以上であれば、後述する各集計値を算出することができることから、その個数Pを(P≧2M+3)となるように設定すればよい。そして、それに合せて係数データaijについても、P2個の係数データaij(i=1,2,…,P;j=1,2,…,P)に設定すればよい。
【0111】
集計値算出部125は、サービス利用装置2がそれまでに実行した取引の数をNとすると、サービス利用装置から送信された(2M+3)個の結合集計データΣSj(k)及び係数データaijに基づいて、取引識別情報T(1)~T(N)に関するデータE(k)の集計値ΣE(k)を算出してN回のサービス取引に関する利用料金の合計額を求める。また、サービス利用装置2から送信された(2M+3)個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する回数データQ(k)の集計値ΣQ(k)を算出する。さらに、サービス利用装置2から送信された(2M+3)個の結合集計データΣSj(k)及び係数データaijに基づいて取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)の各s毎のkについての集計値Σrks並びに取引識別情報T(1)~T(N+1)に関する初期確認情報と乱数の積r1t(0)及び確認情報と乱数の積rk+1t(k)の各t毎のkについての集計値Σrk+1t(k)を算出して集計値Σrk+1t(k)をサービス利用装置2に送信する。
【0112】
不正判定部126は、第一の不正判定として、集計値算出部125で算出された集計値ΣQ(k)とサービス利用装置2から送信された回数データQ(N+1)との間の整合性を判定して不正操作があるか否か判定し、回数データQ(k)に関して整合性がある場合には、第二の不正判定として、集計値Σrks(k)にサービス利用装置2から送信された要素データと乱数の積rN+1s(N+1)を各s毎に加算した集計値とサービス利用装置2から送信された集計値ΣXu(k)が一致しているか否か判定する。
【0113】
サービス利用装置2の情報処理部20は、取引識別情報取得部220、サービス処理部221、暗号化処理部222、復号化処理部223、識別データ生成部231、確認情報処理部224、結合データ集計部225及び要素集計値処理部226を備えており、こうした機能は、記憶部21に記憶されたサービス利用プログラム210により実現される。記憶部21には、サービス提供装置1から取得した取引識別情報Tから選択された取引識別情報のリスト227、サービス提供装置1で署名処理された識別データが登録された登録部228、各k回目のサービス取引においてサービス提供装置1から送信された(2M+3)個の一次結合データSj(k)を記憶する登録部229、次回のサービス取引の取引識別情報T(k+1)の暗号化処理に用いるM2個の係数データbst(s=1,2,…,M;t=1,2,…,M)を記憶する係数データ記憶部230を記憶している。
【0114】
取引識別情報取得部220は、上述の実施形態と同様の機能を備えている。
【0115】
識別データ生成部231は、サービス取引を行うごとに自動的に1ずつ増加してサービス取引の回数を示す回数データを設定する機能を備えており、最初のサービス取引の取引識別情報T(1)を選択してその回数データQ(1)を設定し、両者を合体した識別データT(1)Q(1)を生成し、また、k回目のサービス取引完了後に次回のサービス取引の取引識別情報T(k+1)(k=1,2,…,N)を選択してその回数データQ(k)を設定し、両者を合体した識別データT(k+1)Q(k+1)を生成する。なお、回数データQ(k)は、取引回数そのもののデータ以外にも、(取引回数-定数)や(取引回数×定数)というように設定してもよく、サービス取引を行うごとに1ずつ増加するように設定されればよい。
【0116】
暗号化処理部222は、最初のサービス取引の識別データT(1)Q(1)又はサービス取引完了後に次回のサービス取引の識別データT(k+1)Q(k+1)を暗号化処理し暗号化識別データを生成する。また、復号化処理部223は、サービス提供装置から送信された署名処理済みの暗号化識別データを復号化処理して署名処理済みの識別データを登録部228に記憶する。
【0117】
暗号化処理部222で暗号化処理された識別データは、サービス提供装置1の署名処理部123で署名処理されてサービス利用装置に送信されて復号化処理部223で復号化されるが、これら一連の処理は、上述の実施形態と同様に行われる。
【0118】
確認情報処理部224は、最初のサービス取引の取引識別情報T(1)に基づいて暗号化処理されたM個の初期確認情報Wt(0)(t=1,2,…,M)を生成するとともに、k回目のサービス取引完了後に次回のサービス取引の取引識別情報T(k+1)(k=1,2,…,N)に基づいて計算されるVs(k+1)を暗号化処理したM個の確認情報Wt(k)(t=1,2,…,M)を生成する。M個の要素データVs(k+1)及びM個の確認情報Wt(k)は、上述した実施形態と同様に生成される。
【0119】
結合集計部225は、サービス提供装置1からの集計依頼に応じて登録された一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)を算出するとともに次回の取引識別情報T(N+1)に基づく要素データVs(N+1)及び次回のサービス取引の回数順に基づく回数データQ(N+1)を生成して結合集計データΣSj(k)、要素データVs(N+1)及び回数データQ(N+1)を送信する。
【0120】
例えば、サービス提供装置1との間でN回のサービス取引が行われたとすると、サービス提供装置1からサービス利用装置2に、サービス取引前の最初に使用する取引識別情報T(1)に関するものをSj(0)とすると、図19に示すように、Sj(0)からSj(N)までの(N+1)回分の一次結合データがサービス利用装置2に送信される。そして、サービス提供装置1からの集計依頼があった場合、一次結合データSj(k)を各j毎にkについて集計した結合集計データΣSj(k)は、図19の最下段の式で求められる。この式は、集計値ΣE(k)、集計値ΣQ(k)、集計値Σrks(k)、集計値Σrk+1t(k)及び集計値ΣR(k)の(2M+3)個のデータを変数として係数データaijを用いた(2M+3)個の連立一次方程式となっている。
【0121】
そのため、サービス提供装置1の集計値算出部125では、結合集計データΣSj(k)を得ることができれば、係数データaijに基づいて(2M+3)個の連立一次方程式を解くことができ、集計値ΣE(k)、集計値ΣQ(k)、集計値Σrks(k)、集計値Σrk+1t(k)及び集計値ΣR(k)を得ることができる。したがって、サービス提供装置1の集計値算出部125では、サービス利用装置2の個々のサービス取引に関する利用料金E(k)を知らなくてもその集計値ΣE(k)を算出することが可能となる。
【0122】
また、一次結合データΣSj(k)の算出式には、サービス利用装置2側が知らない係数データaijの他に乱数rk及びR(k)が用いられているので、サービス利用装置2において一次結合データSjの算出式を知ることはできず、不正操作を行うことはできない。
【0123】
不正判定部126は、集計値ΣQ(k)を用いて不正判定を行う場合には、集計値ΣQ(k)が取引識別情報T(1)~T(N)に関する回数データの総和であることから、サービス利用装置2から送信された取引識別情報T(N+1)の回数データQ(N+1)との整合性をチェックすることで、一次結合データSjの集計において不正操作があったことを判定できる。例えば、回数データQ(k)が取引回数自体を示すデータの場合回数データQ(N+1)が(N+1)となって、集計値は1からNまでの整数を連続して加算した値N・(N+1)/2となるが、集計値算出部125から得られた集計値ΣQ(k)がこの値と異なっていれば、一次結合データSjを一部欠落させて集計していることが疑われて不正操作をチェックすることができる。
【0124】
不正判定部126で集計値Σrks(k)に基づいて不正判定を行う場合には、図19に示すように、取引識別情報T(1)~T(N)に関する要素データと乱数の積rks(k)を集計した集計値Σrks(k)に対して、集計値Σrk+1t(k)は、取引識別情報T(1)~T(N)に次回の取引識別情報T(N+1)を加えたものを集計していることから、結合データ集計部225では、次回の取引識別情報T(N+1)に基づいて要素データと乱数の積rN+1s(N+1)を生成してサービス提供装置1に送信し、集計値算出部125で集計された集計値Σrks(k)に各s毎に要素データと乱数の積rN+1s(N+1)を加算して取引識別情報T(1)~T(N+1)に関する集計値を算出する。
【0125】
そして、集計値算出部125は、集計値Σrk+1t(k)をサービス利用装置2に送信し、上述した実施形態と同様に要素集計処理部226において集計値ΣXu(k)を算出し、算出処理した集計値ΣXu(k)が、取引識別情報T(1)~T(N+1)に関する集計値であるため、不正な処理が行われていなければ、集計値Σrks(k)と一致することから、不正判定部126で算出した集計値と一致するか否か判定することで、不正操作が行われたか否かチェックすることが可能となる。サービス利用装置2側で一次結合データΣSj(k)を不正操作すると、今回及び次回のサービス取引の取引識別情報T(k)の確認情報とT(k+1)との整合性がとれなくなり、サービス提供装置1の不正判定部126で算出した今回の取引識別情報T(k)に関する要素データの集計値Σrks(k)とサービス利用装置2の要素集計処理部226で算出した次回の取引識別情報T(k+1)に関する要素データの集計値ΣXu(k)が一致しなくなって不正判定部126においてチェックされるようになる。
【0126】
要素集計処理部226では、集計値Σrks(k)のみをサービス提供装置1に返すようになっているため、個々のサービス取引の取引識別情報T(k)に関する要素データVs(k)を知られることがない。
【0127】
図20は、サービス取引の実施前に行われる取引識別情報の発行処理に関するフローである。サービス提供装置1では、予め必要数の取引識別情報が生成されて取引識別情報テーブル128が記憶されている(S800)。まず、サービス提供装置1とサービス利用装置2との間で互いに正当性の判定が行われて(S801、S802)匿名での認証が行われる。互いに正当性があると判定された場合に、サービス利用装置2は、サービス提供装置1に対して必要な数の取引識別情報の発行依頼を行う(S803)。サービス提供装置1は、未使用の取引識別情報をリストアップして、必要数をサービス利用装置2に発行する(S804)。発行された取引識別情報は、サービス利用装置2の登録部228に記憶される(S805)。
【0128】
次に、最初のサービス取引に用いる取引識別情報T(1)を選択して(S806)その回数データQ(1)を設定し(S807)識別データT(1)Q(1)を生成する(S808)。生成された識別データは暗号化処理部222で暗号化処理を行い(S809)、暗号化識別データを生成する。そして、選択された取引識別情報T(1)に基づいて確認情報処理部224で初期確認情報Wt(0)を生成する(S810)。生成された暗号化識別データT(1)Q(1)及び初期確認情報Wt(0)を添付してサービス提供装置1に対して署名処理を依頼する(S811)。サービス提供装置1では、署名処理部123で暗号化識別データT(1)Q(1)に署名処理を行い(S812)、結合計算部124で一次結合データSj(1)を上記の式(I)により算出処理する(S813)。署名処理された暗号化識別データT(1)Q(1)及び算出された一次結合データSj(1)をサービス利用装置2に送信し(S814)、署名処理された暗号化識別データT(1)Q(1)は、サービス利用装置2の復号化処理部223で処理されて署名入りの識別データT(1)Q(1)となり(S815)、登録部228に登録され、一次結合データSj(1)は登録部229に登録される(S816)。
【0129】
以上の処理により、サービス利用装置2は、サービス取引に必要な取引識別情報を取得するとともに最初に使用する署名入りの識別データを得ることができる。
【0130】
図21は、サービス利用装置2のk回目のサービス取引を行う場合の処理に関するフローである。まず、サービス提供装置1とサービス利用装置2との間で互いに正当性の判定が行われて(S900、S901)匿名での認証が行われる。互いに正当性があると判定された場合に、サービス利用措置2は、署名入りの識別データT(k)Q(k)を読み出して(S902)サービス提供装置1に対してサービス依頼を行う(S903)。
【0131】
サービス提供装置1は、サービス依頼を受けると、署名入りの識別データT(k)Q(k)を取得して(S904)正常に署名されているか否か、取引識別情報T(k)が未使用のものであるか否かチェックし識別データT(k)Q(k)の判定を行う(S905)。識別データT(k)Q(k)が正常なものであると判定された場合には、サービス処理を開始してサービス利用装置2との間でサービス取引を行う(S906)。そして、サービス取引完了後その利用料金E(k)を算出する(S907)。
【0132】
ステップS905において、識別データT(k)Q(k)が正常なものでないと判定された場合にはエラー処理を行い(S908)サービス処理は行われない。
【0133】
一方、サービス利用装置2は、サービス提供装置1とのサービス取引が開始されると、必要なサービス処理を行い(S909)、サービス取引完了後に次回のサービス取引に用いる取引識別情報T(k+1)を選択して(S910)その回数データQ(k+1)を設定し(S911)識別データT(k+1)Q(k+1)を生成する(S912)。生成された識別データは暗号化処理部222で暗号化処理を行い(S913)、暗号化識別データを生成する。
【0134】
次に、次回の取引識別情報T(k+1)に基づいて確認情報処理部224で確認情報Wt(k)を生成する(S914)。そして、生成された暗号化識別データT(k+1)Q(k+1)を添付してサービス提供装置1に対して署名処理を依頼する(S915)。
【0135】
サービス提供装置1では、署名処理部123で暗号化識別データT(k+1)Q(k+1)に署名処理を行い(S916)、結合計算部124で一次結合データΣSj(k)を上記の式(J)により算出処理する(S917)。署名処理された暗号化識別データT(k+1)Q(k+1)及び算出された一次結合データSj(k)をサービス利用装置2に送信し(S918)、署名処理された暗号化識別データT(k+1)Q(k+1)は、サービス利用装置2の復号化処理部223で処理されて署名入りの識別データT(k+1)Q(k+1)となり(S919)、登録部228に登録され、一次結合データSjは、登録部229に登録される(S920)。
【0136】
以上の処理では、互いの正当性を判定して匿名認証した後においても取引識別情報を用いて署名入りの場合にサービス提供装置1でサービス取引するようにいるので、個々のサービス取引が匿名で正しく実行できるようになる。また、次回の取引識別情報については暗号化処理された暗号化識別データT(k+1)Q(k+1)で処理されるので、今回の取引識別情報との関連付けがなされず取引識別情報から一連のサービス取引を特定することができない。
【0137】
サービス提供装置1では、署名入りの識別データにより正当なサービス取引権限のある利用者を確実に判定することができるとともに、回数データについても署名処理されることで不正判定の際の根拠データとして用いることができる。
【0138】
図22は、これまでにN回のサービス取引を行ったサービス利用装置2に関する利用料金等の集計処理に関するフローである。集計処理は、サービス提供装置1において所定期間毎に行われる。まず、サービス提供装置1とサービス利用装置2との間で互いに正当性の判定が行われて(S1000、S1001)匿名での認証が行われる。互いに正当性があると判定された場合に、サービス提供装置1は、サービス利用装置2に対して集計依頼を行う(S1002)。
【0139】
サービス利用装置2は、集計依頼に基づいて登録部229に蓄積された一次結合データSj(k)を各j毎に集計して結合集計データΣSj(k)を算出する(S1003)。そして、選択された次回の取引識別情報T(N+1)を読み出して(S1004)その回数データQ(N+1)を設定する(S1005)とともに要素データVs(N+1)を生成し(S1006)、結合集計データΣSj(k)、回数データQ(N+1)及び要素データVs(N+1)をサービス提供装置1に送信する(S1007)。
【0140】
サービス提供装置1は、結合集計データΣSj及び係数データaijに基づいて、集計値ΣE(k)、集計値ΣQ(k)、集計値Σrks(k)及び集計値Σrk+1t(k)を算出する(S1008)。そして、算出された集計値ΣQ(k)とサービス利用装置2から送信された回数データQ(N+1)との間の整合性をチェックし(S1009)、両者の間に整合性がある場合には、集計値Σrks(k)に要素データと乱数の積rN+1s(N+1)を各s毎に加算処理した集計値を求め(S1010)、集計値Σrk+1t(k)は、サービス利用装置2に送信する(S1011)。
【0141】
サービス利用装置2は、集計値Σrk+1t(k)に基づいて集計値ΣXu(k)を算出処理し(S1012)、算出された集計値ΣXu(k)をサービス提供装置1に送信する(S1013)。
【0142】
サービス提供装置1は、送信された集計値ΣXu(k)とステップS1010で算出した集計値が一致するか判定し(S1014)、一致する場合には正しく集計されたものとして集計値ΣE(k)に基づいてサービス利用装置2に利用料金の請求を行う(S1015)。サービス利用装置2は、利用料金の請求に基づいて支払い処理を行う(S1016)。
【0143】
ステップS1009において回数データQに関して整合性がない場合及びステップ1014において要素データVs(k)に関して一致しない場合には、不正操作があったものとして、サービス提供装置1は、不正処理を行う(S1017)。
【0144】
以上の処理により、サービス提供装置1側では、回数データQ及び取引識別情報Tに関して二重の不正判定を行うことができ、より的確に不正操作を判定することができる。
【0145】
なお、以上の例では、取引識別情報をサービス取引装置側で生成してサービス利用装置で取得するようにしているが、第三者機関などが取引識別情報を生成してサービス利用装置に提供するようにしてもよい。また、取引識別情報に基づいて生成される要素データVs(k)は、サービス提供装置で生成して用いたり、サービス利用装置で生成してサービス提供装置に送信したりすることができ、適宜選択してシステム構成すればよい。
【産業上の利用可能性】
【0146】
このように、本発明に係るサービス取引システムでは、サービス利用者側において個々の取引内容を知られることなくサービス取引を行うことができる。また、サービス提供者側においては個別情報を蓄積することなく確実に利用料金の請求を行うことができ、個別情報の管理コストを大幅に低減することができる。そして、利用料金の集計に不正な操作が行われたとしても不正判定を確実に行い、正しい利用料金の請求が行うことが可能となる。
【0147】
したがって、今後ユキュビタス・コンピューティングの進展により企業のみならず家庭内にもネットワークが普及した社会において、本発明を用いることでサービス取引を円滑に行うことができる。
【図面の簡単な説明】
【0148】
【図1】本発明に係る実施形態の構成を示す概略図である。
【図2】本発明に係る実施形態において正当性を判定するための機能ブロック図である。
【図3】本発明に係る実施形態において正当性を判定するための処理フローである。
【図4】IDリストに関する説明図である。
【図5】パスワードリストに関する説明図である。
【図6】暗号パスワードリストに関する説明図である。
【図7】本発明に係る実施形態におけるサービス取引に関する機能ブロック図である。
【図8】取引識別情報の要素データに関する説明図である。
【図9】取引識別情報の要素データに関する説明図である。
【図10】一次結合データの集計に関する説明図である。
【図11】サービス取引の実施前に行われる取引識別情報の発行処理に関するフローである。
【図12】サービス取引を行う場合の処理に関するフローである。
【図13】利用料金等の集計処理に関するフローである。
【図14】変形例における一次結合データの集計に関する説明図である。
【図15】変形例におけるサービス取引の実施前に行われる取引識別情報の発行処理に関するフローである。
【図16】変形例におけるサービス取引を行う場合の処理に関するフローである。
【図17】変形例における利用料金等の集計処理に関するフローである。
【図18】別の実施形態におけるサービス取引に関する機能ブロック図である。
【図19】別の実施形態における一次結合データの集計に関する説明図である。
【図20】別の実施形態におけるサービス取引の実施前に行われる取引識別情報の発行処理に関するフローである。
【図21】別の実施形態におけるサービス取引を行う場合の処理に関するフローである。
【図22】別の実施形態における利用料金等の集計処理に関するフローである。
【符号の説明】
【0149】
1 サービス提供装置
2 サービス利用装置
3 ネットワーク
10 情報処理部
11 記憶部
20 情報処理部
21 記憶部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18
【図20】
19
【図21】
20
【図22】
21