(57)【要約】【課題】利用者の匿名性を確保しつつ、履歴サービスを利用できるようにする。【解決手段】サービス提供装置８１０は、サービスを利用した利用者を特定しない利用記録情報６２０を記憶している。利用者端末装置１００は、サービス提供装置８１０から利用記録情報６２０を受信し、利用者のサービス利用の傾向を把握する。これに基づいて、利用者端末装置１００は、自己が利用したサービスを記録した情報の匿名性を判断し、匿名性の高い情報から匿名履歴情報６３０を生成する。サービス提供装置８１０は、利用者端末装置１００から匿名履歴情報６３０を受信し、これに基づいて履歴サービスを提供する。【選択図】図８
2008026955.tif 000002
【特許請求の範囲】
【請求項１】
情報を記憶する記憶装置と、
情報を処理する処理装置と、
利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置と、
上記記憶装置を用いて、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶部と、
上記通信装置を用いて、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置を用いて、受信した複数の上記利用記録情報を出力する利用記録受信部と、
上記処理装置を用いて、上記利用記録受信部が出力した複数の上記利用記録情報と、上記利用履歴記憶部が記憶した上記利用履歴情報とを入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置を用いて、判別した上記情報を匿名履歴情報として出力する匿名履歴判別部と、
上記処理装置を用いて、上記匿名履歴判別部が出力した上記匿名履歴情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信部と、
を有することを特徴とする端末装置。
【請求項２】
上記匿名履歴判別部は、
上記処理装置を用いて、入力した複数の上記利用記録情報のそれぞれについて、上記利用記録情報が記録した上記サービス内容を判別し、上記処理装置を用いて、判別した上記サービス内容のそれぞれについて、上記サービス内容を利用した利用回数を算出し、上記処理装置を用いて、算出した上記利用回数が所定の回数よりも多い場合に、上記サービス内容についての情報を上記サーバ装置に送信しても上記所定の利用者が特定されにくいと判断する匿名性判断部を有することを特徴とする請求項１に記載の端末装置。
【請求項３】
上記利用履歴記憶部は、
上記記憶装置を用いて、上記利用履歴情報と上記利用履歴情報を識別する履歴識別情報とを記憶し、
上記利用記録受信部は、
上記通信装置を用いて、複数の上記利用記録情報と複数の上記利用記録情報をそれぞれ識別する複数の記録識別情報とを受信し、上記処理装置を用いて、受信した複数の上記利用記録情報と受信した複数の上記記録識別情報とを出力し、
上記端末装置は、更に、
上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報と、上記利用記録受信部が出力した複数の上記記録識別情報とを入力し、上記処理装置を用いて、入力した上記履歴識別情報と入力した上記記録識別情報とが一致するものについて、上記利用履歴記憶部が記憶した上記利用履歴情報のうち、上記履歴識別情報によって識別される利用履歴情報と、上記利用記録受信部が出力した上記利用記録情報のうち、上記記録識別情報によって識別される利用記録情報とを入力し、上記処理装置を用いて、入力した上記利用履歴情報が記録したサービス内容と、入力した上記利用記録情報が記録したサービス内容とが一致するか否かを判断し、上記処理装置を用いて、上記サービス内容が一致すると判断した場合に、上記利用記録情報が信頼できると判断する信頼性判断部を有し、
上記匿名履歴判別部は、
上記処理装置を用いて、上記利用記録情報が信頼できると上記信頼性判断部が判断した場合に、上記匿名履歴情報を出力する
ことを特徴とする請求項１に記載の端末装置。
【請求項４】
上記利用履歴記憶部は、
上記記憶装置を用いて、上記利用履歴情報と上記利用履歴情報を識別する履歴識別情報とを記憶し、
上記利用記録受信部は、
上記通信装置を用いて、複数のハッシュ値と、複数の上記ハッシュ値それぞれに対応する複数の上記利用記録情報とを受信し、上記処理装置を用いて、受信した複数の上記ハッシュ値と受信した複数の上記利用記録情報とを出力し、
上記端末装置は、更に、
上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報と上記利用履歴情報と、上記利用記録受信部が出力した複数の上記ハッシュ値とを入力し、上記処理装置を用いて、入力した上記履歴識別情報と入力した上記利用履歴情報とに基づいて、ハッシュ値を算出し、上記処理装置を用いて、入力した上記ハッシュ値と算出した上記ハッシュ値とが一致するものについて、上記利用記録受信部が出力した上記利用記録情報のうち、上記ハッシュ値に対応する利用記録情報を入力し、上記処理装置を用いて、入力した上記利用履歴情報が記録したサービス内容と、入力した上記利用記録情報が記録したサービス内容とが一致するか否かを判断し、上記処理装置を用いて、上記サービス内容が一致すると判断した場合に、上記利用記録情報が信頼できると判断する信頼性判断部を有し、
上記匿名履歴判別部は、
上記処理装置を用いて、上記利用記録情報が信頼できると上記信頼性判断部が判断した場合に、上記匿名履歴情報を出力する
ことを特徴とする請求項１に記載の端末装置。
【請求項５】
上記端末装置は、更に、
上記通信装置を用いて、上記所定の利用者が上記サービス内容を利用した場合に、上記サーバ装置から、利用した上記サービス内容を記録した利用記録情報と上記サービス内容の種別に対応する暗号鍵とを受信し、上記処理装置を用いて、受信した上記利用記録情報を利用履歴情報として出力し、受信した上記暗号鍵をサービス暗号鍵として出力する利用履歴受信部を有し、
上記利用履歴記憶部は、
上記処理装置を用いて、上記利用履歴受信部が出力した上記利用履歴情報と上記サービス暗号鍵とを入力し、上記記憶装置を用いて、入力した上記利用履歴情報と上記サービス暗号鍵とを記憶し、
上記利用記録受信部は、
上記通信装置を用いて、上記サーバ装置から、複数の上記利用記録情報を、上記利用記録情報が記録したサービス内容の種別ごとに異なる暗号鍵でそれぞれ暗号化した複数の暗号化記録情報を受信し、上記処理装置を用いて、上記利用履歴記憶部が記憶した上記サービス暗号鍵を入力し、上記処理装置を用いて、受信した複数の上記暗号化記録情報を、入力した上記サービス暗号鍵でそれぞれ復号して、複数の上記利用記録情報を取得し、上記処理装置を用いて、取得した複数の上記利用記録情報を出力する
ことを特徴とする請求項１に記載の端末装置。
【請求項６】
上記端末装置は、更に、
上記通信装置を用いて、上記所定の利用者が上記サービス内容を利用した場合に、上記サーバ装置から、利用した上記サービス内容を記録した利用記録情報と上記利用記録情報に対応する暗号鍵とを受信し、上記処理装置を用いて、受信した上記利用記録情報を利用履歴情報として出力し、受信した上記暗号鍵を履歴暗号鍵として出力する利用履歴受信部を有し、
上記利用履歴記憶部は、
上記処理装置を用いて、上記利用履歴受信部が出力した上記利用履歴情報と上記履歴暗号鍵とを入力し、上記記憶装置を用いて、入力した上記利用履歴情報と上記履歴暗号鍵とを記憶し、
上記利用記録受信部は、
上記通信装置を用いて、上記サーバ装置から、複数の上記利用記録情報を、上記利用記録情報が記録したサービス内容の種別ごとに異なるサービス暗号鍵でそれぞれ暗号化した複数の暗号化記録情報と、上記利用記録情報が記録したサービス内容の種別に対応する上記サービス暗号鍵を、上記利用記録情報に対応する暗号鍵でそれぞれ暗号化した複数の暗号化暗号鍵とを受信し、上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴暗号鍵を入力し、上記処理装置を用いて、受信した複数の上記暗号化暗号鍵の少なくともいずれかを、入力した上記履歴暗号鍵で復号して、上記サービス暗号鍵を取得し、上記処理装置を用いて、受信した複数の上記暗号化記録情報を、取得した上記サービス暗号鍵でそれぞれ復号して、複数の上記利用記録情報を取得し、上記処理装置を用いて、取得した複数の上記利用記録情報を出力する
ことを特徴とする請求項１に記載の端末装置。
【請求項７】
上記端末装置は、更に、
上記通信装置を用いて、上記サーバ装置が記憶した利用記録情報を識別する上記記録識別情報のリストを受信し、上記処理装置を用いて、受信した上記記録識別情報のリストを出力する記録識別受信部と、
上記処理装置を用いて、上記記録識別受信部が出力した上記記録識別情報のリストのなかから、複数の記録識別情報を選択し、上記処理装置を用いて、選択した複数の上記記録識別情報を出力する記録識別選択部と、
上記処理装置を用いて、上記記録識別選択部が出力した複数の上記記録識別情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した複数の上記記録識別情報を送信する選択識別送信部と、
を有し、
上記利用記録受信部は、
上記通信装置を用いて、上記サーバ装置から、上記選択識別送信部が送信した複数の上記記録識別情報によって識別される複数の上記利用記録情報を受信する
ことを特徴とする請求項３に記載の端末装置。
【請求項８】
上記記録識別選択部は、更に、
上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報を入力し、
上記処理装置を用いて、入力した上記履歴識別情報と一致する上記記録識別情報を選択し、
上記処理装置を用いて、入力した上記履歴識別情報と一致しない上記記録識別情報をランダムに選択する
ことを特徴とする請求項７に記載の端末装置。
【請求項９】
情報を記憶する記憶装置と、情報を処理する処理装置と、利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置とを有する端末装置が、上記サーバ装置が提供する履歴サービスを利用する履歴サービス利用方法において、
上記記憶装置が、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶工程と、
上記通信装置が、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置が、受信した複数の上記利用記録情報を出力する利用記録受信工程と、
上記処理装置が、上記利用記録受信工程で上記処理装置が出力した複数の上記利用記録情報と、上記利用履歴記憶工程で上記記憶装置が記憶した上記利用履歴情報とを入力し、上記処理装置が、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置が、判別した上記情報を匿名履歴情報として出力する匿名履歴判別工程と、
上記処理装置が、上記匿名履歴判別工程で上記処理装置が出力した上記匿名履歴情報を入力し、上記通信装置が、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信工程と、
を有することを特徴とする履歴サービス利用方法。
【請求項１０】
情報を記憶する記憶装置と、情報を処理する処理装置と、利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置とを有するコンピュータを、請求項１に記載の端末装置として機能させることを特徴とする履歴サービス利用プログラム。
【請求項１１】
情報を記憶する記憶装置と、
情報を処理する処理装置と、
利用したサービス内容を記録した利用履歴情報を記憶する複数の端末装置と通信する通信装置と、
上記記憶装置を用いて、利用されたサービス内容を記憶した利用記録情報と、上記利用記録情報を識別する記録識別情報とを複数記憶する利用記録記憶部と、
上記処理装置を用いて、上記利用記録記憶部が記憶した上記記録識別情報を入力し、上記処理装置を用いて、入力した上記記録識別情報のリストを生成し、上記通信装置を用いて、上記端末装置に対して、生成した上記記録識別情報のリストを送信する記録識別送信部と、
上記通信装置を用いて、上記端末装置から、上記記録識別送信部が送信した上記記録識別情報のリストのなかから、上記端末装置が選択した複数の記録識別情報を受信し、上記処理装置を用いて、受信した上記記録識別情報を出力する選択識別受信部と、
上記処理装置を用いて、上記選択識別受信部が出力した複数の上記記録識別情報を入力し、上記処理装置を用いて、入力した複数の上記記録識別情報によって識別される複数の上記利用記録情報を入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、上記端末装置に対して送信する送信利用記録情報を生成し、上記処理装置を用いて、生成した上記送信利用記録情報を出力する送信利用記録生成部と、
上記処理装置を用いて、上記送信利用記録生成部が出力した上記送信利用記録情報を入力し、上記通信装置を用いて、上記端末装置に対して、入力した上記送信利用記録情報を送信する利用記録送信部と、
上記通信装置を用いて、上記端末装置が記憶した利用履歴情報のうち、上記利用記録送信部が送信した上記送信利用記録情報に基づいて、匿名性が高いと上記端末装置が判別した情報を、上記端末装置から受信し、上記処理装置を用いて、受信した上記情報を匿名履歴情報として出力する匿名履歴受信部と、
上記記憶装置を用いて、上記端末装置に対して提供すべきサービス情報を記憶するサービス情報記憶部と、
上記処理装置を用いて、上記匿名履歴受信部が出力した上記匿名履歴情報を入力し、上記処理装置を用いて、上記サービス情報記憶部が記憶したサービス情報のなかから、入力した上記匿名履歴情報に基づいて、上記端末装置にとって有用な情報を選択し、上記処理装置を用いて、選択した上記サービス情報を出力するサービス情報選択部と、
を有することを特徴とするサーバ装置。
【請求項１２】
請求項１に記載の端末装置を有することを特徴とする履歴サービス提供システム。
【請求項１３】
複数のサービス種別のうち少なくともいずれかのサービス種別に属するサービス内容を利用したことを記録した複数の利用記録情報に基づいて生成する送信利用記録情報のデータ構造において、
上記送信利用記録情報は、サービス情報群と検証用情報群とを有し、
上記サービス情報群は、複数の上記利用記録情報それぞれについてのサービス記録情報を複数並べたリストであり、
上記サービス記録情報は、上記利用記録情報を識別する利用識別情報と、暗号化変換情報群とを有し、
上記暗号化変換情報群は、上記利用記録情報が記録したサービス内容が属するサービス種別それぞれについての暗号化変換情報を並べたリストであり、
上記暗号化変換情報は、上記サービス種別に対応するサービス変換情報を、上記サービス内容を利用した際に通知した履歴暗号鍵で暗号化した情報であり、
上記検証用情報群は、複数の上記利用記録情報それぞれについての検証用情報をランダムな順番で並べたリストであり、
上記検証用情報は、個別サービス情報検証用情報群と個別サービス内容取得用情報群とを有し、
上記個別サービス情報検証用情報群は、複数の上記サービス種別それぞれについての個別サービス情報検証用情報を、上記サービス変換情報が示すランダムな第一の順番で並べたリストであり、
上記個別サービス情報検証用情報は、上記利用記録情報を識別する利用識別情報と上記利用記録情報が記録したサービス内容とから生成したハッシュ値であり、
上記個別サービス内容取得用情報群は、複数の上記サービス種別それぞれについての個別サービス内容取得用情報を、上記サービス変換情報が示すランダムな第二の順番で並べたリストであり、
上記個別サービス内容取得用情報は、上記利用記録情報が記録したサービス内容を上記個別サービス情報検証用情報に基づいて変換し、上記サービス変換情報に含まれるサービス暗号鍵で暗号化した情報である
ことを特徴とする送信利用記録情報のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、利用者を特定する手がかりを与えずに、履歴サービスを利用する技術に関する。
【背景技術】
【０００２】
履歴サービスとは、サービスの利用者が過去に利用したサービスの内容（例えば、購入した商品）に基づいて、利用者の嗜好や傾向を把握し、利用者が利用しそうなサービスを予測して、その利用者にとって有用な情報を提供するなどのサービスを行うものである。
従来の履歴サービスは、サービス提供者が利用者のサービス利用履歴を保存し、利用者が誰であるかを特定した上で、提供されるものである。
【０００３】
また、利用者がサービス利用履歴を保存し、サービスを利用する際に、自己の利用履歴をサービス提供者に教えることにより、利用者を特定せずに履歴サービスの提供を受けるものもある。
【特許文献１】特開２００１−２５６３９５号公報
【特許文献２】特開２００５−０５１６７１号公報
【非特許文献１】繁富利恵、大塚玲、Ｋｅｉｔｈ  Ｍａｒｔｉｎ、今井秀樹「部分的なｌｉｎｋａｂｉｌｉｔｙを付加したＲｅｆｒｅｓｈａｂｌｅ  Ｔｏｋｅｎｓ」情報処理学会研究報告、２００４−ＣＳＥＣ−２６（５２）、３５９〜３６６ページ
【非特許文献２】Ａ．Ｊ．Ｍｅｎｅｚｅｓ、Ｐａｕｌ  Ｃ．Ｖａｎ  Ｏｏｒｓｃｈｏｔ、Ｓｃｏｔｔ  Ａ．Ｖａｎｓｔｏｎｅ「Ｈａｎｄｂｏｏｋ  ｏｆ  Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ」ＣＲＣ  Ｐｒｅｓｓ、４０５ページ
【発明の開示】
【発明が解決しようとする課題】
【０００４】
サービス提供者が利用者を特定して利用者のサービス利用履歴を保存する方式は、利用者を特定できるため、匿名性を保ったままサービスを利用したい利用者は、利用することができないという課題がある。
利用者がサービス利用履歴を保存する方式の場合、サービス提供者の側で保存したサービス利用履歴と照合することにより、利用者を特定されてしまうという課題がある。
また、データマイニング技術の発達により、サービス利用履歴の一部だけをサービス提供者に教えた場合であっても、バラバラの利用履歴から関連性を把握し、利用者のサービス利用の全貌を明らかにすることができる場合がある。
【０００５】
この発明は、例えば、上記のような課題を解決するためになされたものであり、利用者が匿名性を保ったまま、履歴サービスを利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる端末装置は、
情報を記憶する記憶装置と、
情報を処理する処理装置と、
利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置と、
上記記憶装置を用いて、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶部と、
上記通信装置を用いて、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置を用いて、受信した複数の上記利用記録情報を出力する利用記録受信部と、
上記処理装置を用いて、上記利用記録受信部が出力した複数の上記利用記録情報と、上記利用履歴記憶部が記憶した上記利用履歴情報とを入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置を用いて、判別した上記情報を匿名履歴情報として出力する匿名履歴判別部と、
上記処理装置を用いて、上記匿名履歴判別部が出力した上記匿名履歴情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信部とを有することを特徴とする。
【発明の効果】
【０００７】
この実施の形態における利用者端末装置１００によれば、利用者が特定されにくい情報を匿名履歴判別部１３０が匿名履歴情報６３０として判別し、判別した匿名履歴情報６３０を匿名履歴送信部１４１がサービス提供装置８１０に対して送信するので、この情報送信によりサービス提供装置８１０が利用者を特定できないという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
実施の形態１について、図１〜図９を用いて説明する。
【０００９】
図１は、この実施の形態における履歴サービス提供システム８００の全体構成の一例を示すシステム構成図である。
履歴サービス提供システム８００は、利用者が過去に利用したサービスの内容に基づいて、その利用者が利用するであろうサービスを予測し、その利用者にとって有用な情報を利用者に提供するシステムである。
例えば、商店において、顧客が過去に購入した商品についての情報から、その顧客が購入しそうな商品を予測し、その商品についての値引き情報などをその顧客に提供する。
【００１０】
サービス提供装置８１０は、サービスを利用する複数の利用者が過去に利用したサービスの内容を記録した情報（以下「利用記録情報」という）を記憶している。ただし、個人情報を保護するため、そのサービスを利用した利用者を特定できる情報は記録していない。
サービス提供装置８１０は、サーバ装置の一例である。
【００１１】
利用者端末装置１００は、サービスを利用する利用者がそれぞれ所持している装置である。利用者端末装置１００は、所持している利用者が過去に利用したサービスの内容を記録した情報（以下「利用履歴情報」という）を記憶している。
利用者端末装置１００は、端末装置の一例である。
【００１２】
利用者端末装置１００は、利用履歴情報をサービス提供装置８１０に対して送信する。しかし、利用者端末装置１００は、利用者を特定できる情報は送信しない。
サービス提供装置８１０は、利用者端末装置１００が送信してきた利用履歴情報を受信し、受信した利用履歴情報に基づいて、利用者の嗜好などを分析する。サービス提供装置８１０は、分析結果に基づいて、利用者によって有用であろう情報を判別し、利用者端末装置１００に対して送信する。
利用者端末装置１００は、サービス提供装置８１０が送信してきた情報を受信し、受信した情報を画面に表示するなどして、利用者に通知する。
【００１３】
サービス提供装置８１０は利用記録情報を記憶しているので、利用者端末装置１００が送信してきた利用履歴情報と、利用記録情報とを照合することにより、利用者を特定できてしまう危険がある。
そこで、この実施の形態における利用者端末装置１００は、利用履歴情報のうち、利用記録情報と照合しても容易に利用者を特定できない情報（以下「匿名履歴情報」という）を判別し、判別した匿名履歴情報のみをサービス提供装置８１０に対して送信する。
【００１４】
図２は、この実施の形態におけるサービス提供装置８１０の外観の一例を示す図である。
サービス提供装置８１０は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【００１５】
図３は、この実施の形態におけるサービス提供装置８１０のハードウェア資源の一例を示す図である。
サービス提供装置８１０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１６】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１７】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１８】
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００１９】
図４は、この実施の形態における利用者端末装置１００及びサービス提供装置８１０のハードウェア構成の一例を示すハードウェア構成図である。
【００２０】
利用者端末装置１００は、例えば、携帯電話であり、商店に来店した利用者が所持しているものである。
利用者端末装置１００は、通信装置９１５、表示装置９０１、キーボード９０２などの入力装置、ＣＰＵ９１１などの処理装置、ＲＡＭ９１４などの記憶装置、カード部２００などを有する。
通信装置９１５は、無線通信や赤外線通信等を用いて他の機器との通信をする。
表示装置９０１は、ＣＰＵ９１１などの処理装置から送られた情報を画面に表示する。
キーボード９０２などの入力装置は、操作ボタンやタッチパネル等を用いて利用者が情報を入力する。
ＣＰＵ９１１などの処理装置は、利用者端末装置１００の処理を制御する。
ＲＡＭ９１４などの記憶装置は、利用者端末装置１００の処理に必要なプログラムやデータを格納する。
カード部２００は、内部にＵＩＭ２１０（Ｕｓｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）を装着する。
ＵＩＭ２１０は、通信装置９１５、ＣＰＵ９１１などの処理装置、ＲＡＭ９１４などの記憶装置を有する。
通信装置９１５は、無線通信やその他の通信手段を用いて他の機器との通信をする。
ＣＰＵ９１１などの処理装置は、ＵＩＭ２１０の処理を制御する。
ＲＡＭ９１４などの記憶装置は、ＵＩＭ２１０の処理に必要なプログラムやデータを格納する。
利用者は、サービスを利用する前に、利用者端末装置１００を用いて履歴サービスを利用するために必要なプログラムやデータを利用者端末装置１００に格納する。
格納方法としては、専用端末に利用者端末装置１００を接続してダウンロードしたり、ＣＤ−ＲＯＭ等の外部記憶媒体を利用者の計算機に設置し、利用者端末装置１０１を接続してダウンロードしたりする。
【００２１】
なお、上記の構成は一例であり、利用者端末装置は携帯電話に限らず、携帯情報端末であってもよいし、他の装置であってもよい。
また、利用者が利用するサービスが、実在の店舗によって提供されるものではなく、例えば、インターネットを介して提供される仮想商店のようなサービスである場合には、利用者端末装置は、利用者がインターネットに接続してサービスを利用するコンピュータなどの装置であってもよい。
【００２２】
サービス提供装置８１０は、例えば、店舗が保持しているサーバ装置であり、利用者の購入情報をＩＤと共に保有したり、購入履歴から利用者に最適な商品情報を提供したりという履歴サービスを行う装置である。
サービス提供装置８１０は、通信装置９１５、表示装置９０１、キーボード９０２などの入力装置、ＣＰＵ９１１などの処理装置、磁気ディスク装置９２０などの記憶装置を有する。
通信装置９１５は、インターネット通信や無線通信・赤外線通信等を用いて利用者端末装置１００や他の機器との通信をする。
表示装置９０１は、ＣＰＵ９１１などの処理装置から送られた情報を画面に表示する。
キーボード９０２などの入力装置は、キーボードやタッチパネル等を用いて店員が情報を入力する。
ＣＰＵ９１１などの処理装置は、サービス提供装置８１０の処理を制御する。
磁気ディスク装置９２０などの記憶装置は、サービス提供装置８１０の処理に必要なプログラムやデータを格納する。
店員は、履歴サービスを構築する際に、サービスを提供する際に必要なプログラムやデータをサービス提供装置８１０に格納する。
格納方法としては、管理サーバにサービス提供装置８１０を接続してダウンロードしたり、ＣＤＤ９０５等の外部記憶装置をサービス提供装置８１０に設置して、インストールしたりする。
【００２３】
図５は、この実施の形態における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図である。
利用者端末装置１００は、利用記録受信部１１１、利用履歴受信部１１２、利用履歴記憶部１２１、匿名履歴判別部１３０、匿名履歴送信部１４１などを有する。
【００２４】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用記録情報を受信する。利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報を出力する。
サービス提供装置８１０は、利用者を特定できる情報を記録しないので、利用記録情報がどの利用者についてのものか知らない。サービス提供装置８１０は、利用者端末装置１００を所持している利用者についての利用記録情報だけでなく、他の利用者についての利用記録情報も送信してくる。利用記録受信部１１１は、利用者端末装置１００を処理している利用者についての利用記録情報だけでなく、他の利用者についての利用記録情報も受信し、出力する。
【００２５】
利用履歴受信部１１２は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用履歴情報を受信する。利用履歴受信部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用履歴情報を出力する。
サービス提供装置８１０が送信してくる利用履歴情報は、今回利用者が利用したサービスについてのものである。サービス提供装置８１０は、利用者を特定できる情報を記録しないが、いまサービスを提供したばかりなので、その利用履歴情報を送信すべき利用者端末装置１００がどれかを判別できる。利用履歴受信部１１２は、その利用者端末装置１００を所持している利用者が今回利用したサービスについての利用履歴情報を受信し、出力する。
【００２６】
利用履歴記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報を入力する。
利用履歴記憶部１２１は、メモリなどの記憶装置を用いて、入力した利用履歴情報を記憶する。
【００２７】
利用履歴記憶部１２１が記憶した利用履歴情報は、次回サービスを利用するときに使用する。利用履歴記憶部１２１は、サービスを利用するたびに利用履歴情報を記憶していき、利用履歴記憶部１２１が記憶している利用履歴情報が増えていく。
【００２８】
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した（前回までの）利用履歴情報を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報に基づいて、入力した利用履歴情報のうち、サービス提供装置８１０に送信しても利用者端末装置１００を所持している利用者を特定されにくい情報（匿名履歴情報）を判別する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、判別した匿名履歴情報を出力する。
【００２９】
匿名履歴送信部１４１は、ＣＰＵ９１１などの処理装置を用いて、匿名履歴判別部１３０が出力した匿名履歴情報を入力する。
匿名履歴送信部１４１は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名履歴情報を送信する。
【００３０】
サービス提供装置８１０は、利用者端末装置１００が送信した匿名履歴情報を受信し、これを分析してその利用者端末装置１００を所持している利用者の嗜好などを把握し、その利用者にとって有用であろう情報を判別して、利用者端末装置１００に対して送信する。
利用者端末装置１００がこれを受信し、表示装置９０１に表示するなどして、利用者に通知する。利用者は、自分の嗜好にあった情報を得ることができる。
【００３１】
その後、利用者がサービスを利用すると、利用履歴受信部１１２が利用履歴情報を受信して、利用履歴記憶部１２１が記憶する。
【００３２】
サービス提供装置８１０は、利用者を特定できる情報を記録しないが、利用者端末装置１００が送信した匿名履歴情報を、記憶した利用記録情報と照合することで、利用者を特定しようとするかもしれない。しかし、利用者端末装置１００が送信した匿名履歴情報は、利用者を特定されにくいと、匿名履歴判別部１３０が判断した情報であるから、サービス提供装置８１０が利用者を特定することはできない。
【００３３】
匿名履歴判別部１３０は、匿名性判断部１３１を有する。
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴情報が記録したサービスの内容についての情報をサービス提供装置８１０に送信しても利用者を特定されにくいか否かを判断する。
【００３４】
次に、匿名性判断部１３１が利用者を特定されやすいか否かを判断する判断方式について説明する。
【００３５】
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、匿名履歴判別部１３０が入力した利用記録情報を分析して、利用記録情報が記録したサービスの内容を判別する。
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、判別したサービスの内容のそれぞれについて、そのサービス内容を利用した利用回数を算出する。
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、算出した利用回数を所定の回数と比較し、算出した利用回数のほうが多い場合に、そのサービス内容についての情報をサービス提供装置８１０に送信しても利用者を特定されにくいと判断する。
【００３６】
利用記録受信部１１１が受信した利用記録情報には、その利用者が利用したサービスについてのものだけでなく、他の利用者が利用したサービスについてのものも含まれる。
そこで、匿名性判断部１３１は、利用記録情報を分析して、他の利用者も含めたサービスの利用者が利用したサービスの利用回数を算出する。
【００３７】
利用者端末装置１００を所持している利用者が利用したことのあるサービスを、他の誰も利用したことがない場合、そのサービスを利用したという情報をサービス提供装置８１０に送信すると、サービス提供装置８１０は、２つの利用記録情報を同一の利用者によるものとして結びつけることができる。
サービス提供装置８１０が、このような結びつけをいくつも集めることにより、一人の利用者によるサービス利用の全体像を把握できてしまう危険がある。
したがって、このような情報をサービス提供装置８１０に送信すると、利用者を特定されやすい。
【００３８】
利用者端末装置１００を所持している利用者が利用したことのあるサービスを、他の利用者が利用したことがある場合でも、その回数が少なければ、サービス提供装置８１０は、１００％確実ではないものの、２つの利用記録情報を同一の利用者によるものである可能性が高いものとして結びつけることができる。
したがって、他の誰も利用したことがない場合と比べると、利用者を特定される危険は少ないものの、利用者を特定されやすいということができる。
【００３９】
そのサービスを他の利用者が利用した回数が多ければ多いほど、利用者を特定される危険は小さくなる。
また、そのサービスをその利用者しか利用していない場合であっても、その回数が多ければ、サービス提供装置８１０はそれが同一の利用者によるものか、異なる利用者によるものかを知らないので、利用者を特定される危険は小さい。
以下、利用者を特定されにくい程度のことを「匿名性」と呼ぶこととする。
【００４０】
ここで、匿名性を表わす指標として、「利用者特定率」を定義する。利用者特定率は、（利用者特定率）＝１／（同一のサービスを利用した回数）×１００（％）と定義する。
「同一のサービス」とは、例えば、商店での商品販売というサービスであれば、利用者が購入した商品が同じ場合を「同一のサービス」であるとする。匿名性判断部１３１は、利用記録情報を分析して、サービスの利用者が購入した商品を求め、利用者端末装置１００の所持者が過去に購入したことのある商品と同一の商品を、サービスの利用者が購入した回数を算出する。
匿名性判断部１３１は、算出した「同一の商品を購入した回数」を所定の閾値と比較し、「同一の商品を購入した回数」のほうが多ければ、匿名性が高い（利用者を特定されにくい）と判断する。
あるいは、匿名性判断部１３１は、算出した「同一の商品を購入した回数」に基づいて、上述した「利用者特定率」を算出し、算出した「利用者特定率」を所定の閾値と比較し、「利用者特定率」のほうが小さければ、匿名性が高いと判断してもよい。
比較の対象となる閾値は、あらかじめ定めたものを、メモリなどの記憶装置を用いて記憶しておいてもよいし、利用者端末装置１００のキーボード９０２などの入力装置を用いて、利用者が設定した閾値を利用者端末装置１００が入力し、メモリなどの記憶装置を用いて記憶しておいてもよい。
閾値を安全性が高くなるように（利用回数の閾値であれば大きく、利用者特定率の閾値であれば小さく）設定すると、利用者を特定されにくくなるが、匿名履歴情報としてサービス提供装置８１０に送信できる情報量が少なくなるので、サービス提供装置８１０が利用者にとって有用な情報を判別しにくくなり、その結果、利用者は、有用な情報を受け取り損なったり、不必要な情報を見せられたりする可能性がある。逆に、安全性が低くなるように閾値を設定すると、利用者にぴったりの情報を通知してもらうことができるかわりに、利用者を特定される危険が高くなる。
【００４１】
匿名履歴送信部１４１がサービス提供装置８１０に対して送信する匿名履歴情報は、「過去に購入したことのある商品」だけでなく、例えば、「購入した商品の個数」を示す情報を含んでもよい。
その場合、その商品と同一の商品を同一の個数購入した場合に「同一のサービス」であるとして、匿名性判断部１３１が、利用回数を算出し、匿名性を判断する。
【００４２】
そのほか、匿名履歴送信部１４１が送信する匿名履歴情報は、「商品を購入した時間帯」や「その商品と同時に購入した他の商品」など、履歴サービスにおいて利用者に有用な情報をサービス提供装置８１０が判別するために利用できる様々な情報を含んでもよい。
その場合、その匿名履歴情報によって特定できる「サービス内容」と同一の内容のサービスを「同一のサービス」とし、匿名性判断部１３１が利用回数を算出して、匿名性を判断する。
【００４３】
図６は、この実施の形態における利用履歴情報６１０の一例を示す図である。
利用者端末装置１００を所持している利用者がサービスを利用すると、サービス提供装置８１０が利用者端末装置１００に対して利用履歴情報６１０を送信する。
利用履歴受信部１１２は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用履歴情報６１０を受信する。
利用履歴情報６１０は、例えば、商品コード６１１、購入個数６１２、購入日時６１３などからなる。
商品コード６１１は、利用者が購入した商品の商品コードを示す情報である。
購入個数６１２は、利用者が購入した商品の個数を示す情報である。
購入日時６１３は、利用者がその商品を購入した日時を示す情報である。
この例では、利用者が１月１８日１５時２１分に商品Ａを２個、商品Ｂを２個購入したことを示す利用履歴情報６１０を、利用履歴受信部１１２が受信する。
【００４４】
利用履歴受信部１１２が受信した利用履歴情報６１０は、利用履歴記憶部１２１がメモリなどの記憶装置を用いて記憶する。利用履歴記憶部１２１は、それまで記憶していた利用履歴情報６１０に追加する形で、新たな利用履歴情報６１０を記憶する。
この例では、過去３回分の利用履歴情報６１０を利用履歴記憶部１２１が既に記憶している。利用履歴記憶部１２１は、新たに利用履歴受信部１１２が受信した利用履歴情報６１０をこれに追加して、合計４つの利用履歴情報６１０を記憶する。
【００４５】
なお、商品コード６１１は、商品に付されたバーコードが示す情報などを用いてもよいし、サービス提供装置８１０が独自に生成した非公開の情報を用いてもよい。
【００４６】
図７は、この実施の形態における利用記録情報６２０の一例を示す図である。
サービス提供装置８１０は、サービスの利用者が来店したときなどに、その利用者が所持している利用者端末装置１００に対して、利用記録情報６２０を送信する。
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用記録情報６２０を受信する。
利用記録情報６２０は、例えば、商品コード６２１、購入個数６２２などからなる。
商品コード６２１は、商品コード６１１と同様、利用者が購入した商品の商品コードを示す情報である。
購入個数６２２は、購入個数６１２と同様、利用者がそのときに購入した商品の個数を示す情報である。
この例では、８つの利用記録情報６２０がサービス提供装置８１０から送信され、利用記録受信部１１１が受信する。
一番目の利用記録情報６２０は、「商品Ａを１個、商品Ｂを２個、商品Ｄを２個」購入した利用者がいたことを示している。図６に示した利用履歴記憶部１２１が記憶している利用履歴情報６１０と照らし合わせると、この利用記録情報６２０と一致する内容の利用履歴情報６１０を利用履歴記憶部１２１が記憶しているので、この利用記録情報６２０は、利用者端末装置１００を所持している利用者自身のサービス利用を記録したものであることがわかる。しかし、サービス提供装置８１０は、利用者を特定できる情報を記録していないので、そのことを判別できない。
二番目の利用記録情報６２０は、「商品Ａを３個、商品Ｂを１個」購入した利用者がいたことを示している。図６に示した利用履歴記憶部１２１が記憶している利用履歴情報６１０と照らし合わせると、この利用記録情報６２０と一致する内容の利用履歴情報６１０を利用履歴記憶部１２１が記憶していないので、この利用記録情報６２０は、利用者端末装置１００を所持している利用者以外の他の利用者のサービス利用を記録したものであることがわかる。しかし、サービス提供装置８１０は、利用者を特定できる情報を記録していないので、そのことを判別できない。
したがって、サービス提供装置８１０は、その利用者が利用したサービスの利用記録情報６２０も、他の利用者が利用したサービスの利用記録情報６２０も、区別せずに送信する。
【００４７】
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が受信した利用記録情報６２０に基づいて、サービスの利用回数を算出する。
この例では、購入した商品が同じ場合を「同一のサービス」として数えることとし、匿名性判断部１３１は、商品Ａの利用回数（購入回数）が６回、商品Ｂが５回、商品Ｃが１回、商品Ｄが３回であることを求める。
なお、利用記録受信部１１１が受信した利用記録情報６２０には、商品Ｅについてのサービス利用も記録されているが、図６に示した利用履歴記憶部１２１が記憶している利用履歴情報６１０によれば、利用者端末装置１００を所持している利用者は商品Ｅを購入したことがなく、「商品Ｅを購入したことがある」という内容の匿名履歴情報を匿名履歴送信部１４１が送信することはあり得ないので、商品Ｅについての利用回数は算出していない。
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、算出した利用回数に基づいて利用者特定率を算出する。
【００４８】
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、算出した利用回数または利用者特定率を所定の閾値と比較して、匿名性を判断する。
この例では、匿名性判断部１３１が利用回数を閾値「４回」と比較し、あるいは、利用者特定率を閾値「２５％」と比較して、商品Ａ及び商品Ｂの購入履歴については、匿名性が高いと判断する。また、商品Ｃ及び商品Ｄの購入履歴については、匿名性が低く、サービス提供装置８１０に送信すると利用者を特定される危険があると判断する。
【００４９】
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名性判断部１３１が判断した判断結果に基づいて、匿名履歴情報６３０を生成する。
匿名履歴情報６３０は、例えば、商品コード６３１などからなる。
商品コード６３１は、利用者が購入したことがある商品の商品コードを示す情報である。
この例では、商品Ａと商品Ｂを購入したことがあることを、サービス提供装置８１０に知らせても、利用者を特定されにくいと匿名性判断部１３１が判断したので、匿名履歴判別部１３０は、「商品Ａを購入したことがある」ことを示す匿名履歴情報６３０と、「商品Ｂを購入したことがある」ことを示す匿名履歴情報６３０とを生成する。
【００５０】
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名履歴情報６３０を出力する。
匿名履歴送信部１４１は、ＣＰＵ９１１などの処理装置を用いて、匿名履歴判別部１３０が出力した匿名履歴情報６３０を入力する。
匿名履歴送信部１４１は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名履歴情報６３０を送信する。
【００５１】
図８は、この実施の形態における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図である。
履歴サービス提供処理は、履歴サービス利用方法の一例である。
【００５２】
Ｓ１１において、サービス提供装置８１０は、磁気ディスク装置９２０などの記憶装置を用いて記憶した利用記録情報６２０を読み出す。
サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、読み出した利用記録情報６２０を送信する。
【００５３】
Ｓ２１（利用記録受信工程）において、利用記録受信部１１１は、通信装置９１５を用いて、Ｓ１１でサービス提供装置８１０が送信してきた利用記録情報６２０を受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報６２０を出力する。
【００５４】
Ｓ２２（匿名履歴判別工程）において、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２１で利用記録受信部１１１が出力した利用記録情報６２０と、利用履歴記憶部１２１が記憶した利用履歴情報６１０とを入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０に基づいて、入力した利用履歴情報６１０のうちサービス提供装置８１０に送信しても利用者を特定されにくい情報を判別する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、判別した情報に基づいて匿名履歴情報６３０を生成する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名履歴情報６３０を出力する。
【００５５】
Ｓ２３（匿名履歴送信工程）において、匿名履歴送信部１４１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２２で匿名履歴判別部１３０が出力した匿名履歴情報６３０を入力する。
匿名履歴送信部１４１は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名履歴情報６３０を送信する。
なお、匿名履歴送信部１４１は、送信すべき匿名履歴情報６３０がない場合、履歴サービス提供システム８００の処理を先に進めるため、サービス提供装置８１０に対して、空の情報を送信する。送信すべき匿名履歴情報６３０がない場合とは、例えば、利用者がそのサービスを初めて利用する場合などである。
【００５６】
Ｓ１２において、サービス提供装置８１０は、通信装置９１５を用いて、Ｓ２３で利用者端末装置１００が送信した匿名履歴情報６３０を受信する。
【００５７】
Ｓ１３において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ１２で受信した匿名履歴情報６３０に基づいて、利用者にとって有用そうな情報を判別し、利用者に通知する履歴サービス情報を生成する。
【００５８】
Ｓ１４において、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、Ｓ１３で生成した履歴サービス情報を送信する。
なお、サービス提供装置８１０は、生成した履歴サービス情報を利用者端末装置１００に送信するのではなく、例えば、店内に設置したディスプレイ画面に表示するなどして、利用者に通知してもよい。
【００５９】
Ｓ２４において、利用者端末装置１００は、通信装置９１５を用いて、Ｓ１４でサービス提供装置８１０が送信してきた履歴サービス情報を受信する。
【００６０】
Ｓ２５において、利用者端末装置１００は、表示装置９０１を用いて、Ｓ２４で受信した履歴サービス情報を表示し、利用者に通知する。
【００６１】
Ｓ３１において、利用者は、利用者端末装置１００の表示装置９０１に表示された履歴サービス情報を見て、情報を取得する。
【００６２】
Ｓ３２において、利用者は、Ｓ３１で取得した情報を参考にして、サービスを利用する。
【００６３】
Ｓ１５において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３２で利用者が利用したサービスの内容を記録した利用履歴情報６１０を生成する。
【００６４】
Ｓ１６において、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、Ｓ１５で生成した利用履歴情報６１０を送信する。
【００６５】
Ｓ１７において、サービス提供装置８１０は、磁気ディスク装置９２０などの記憶装置を用いて、Ｓ１５で生成した利用履歴情報６１０を、利用記録情報６２０として記憶する。
サービス提供装置８１０は、記憶した利用記録情報６２０を分析することにより、サービス利用者の利用傾向などの情報を得ることができる。しかし、複数の利用記録情報６２０を結びつけることはできないので、それにより、利用者を特定することはできない。
【００６６】
Ｓ２６において、利用履歴受信部１１２は、通信装置９１５を用いて、Ｓ１６でサービス提供装置８１０が送信してきた利用履歴情報６１０を受信する。
利用履歴受信部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用履歴情報６１０を出力する。
【００６７】
Ｓ２７において、利用履歴記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２６で利用履歴受信部１１２が出力した利用履歴情報６１０を入力する。
利用履歴記憶部１２１は、メモリなどの記憶装置を用いて、入力した利用履歴情報６１０を記憶する。
【００６８】
図９は、この実施の形態における匿名履歴判別部１３０が匿名履歴情報を判別する匿名履歴判別処理の流れの一例を示すフローチャート図である。
匿名履歴判別処理は、図８のＳ２２（匿名履歴判別工程）に相当する処理である。
【００６９】
Ｓ４１において、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した利用履歴情報６１０を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０に基づいて、購入したことのある商品を判別する。
【００７０】
Ｓ４２において、匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報６２０を入力する。
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、入力し利用記録情報６２０に基づいて、他の利用者も含むサービスの利用者が、購入した商品を判別する。
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、判別した商品のうち、Ｓ４１で判別した商品のリストに含まれる商品について、購入記録の出現回数（購入回数）を数える。
【００７１】
Ｓ４３において、匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ４２で数えた購入回数を、あらかじめメモリなどの記憶装置を用いて記憶していた所定の閾値と比較し、その商品についての購入情報の匿名性を判断する。
匿名性が高いと判断した商品については、Ｓ４４へ進む。
匿名性が低いと判断した商品については、匿名履歴判別処理を終了する。
【００７２】
Ｓ４４において、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名履歴情報６３０を生成する。匿名履歴情報６３０は、Ｓ４３で匿名性が高いと判断した商品を購入したことがあることを示す情報である。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名履歴情報６３０を出力する。
【００７３】
このように、他の利用者も含むサービスの利用者が過去にサービスを利用した内容を記録した利用記録情報６２０に基づいて、匿名履歴判別部１３０が利用履歴情報６１０の匿名性を判断し、匿名性の高い情報のみで構成された匿名履歴情報６３０を生成する。
サービス提供装置８１０に対して、匿名性の高い情報のみで構成された匿名履歴情報６３０を、匿名履歴送信部１４１が送信することで、利用者は履歴サービスを受ける。
これにより、利用者を特定されることなく、利用者が履歴サービスを受けることができる。
【００７４】
この実施の形態における利用者端末装置１００（端末装置）は、
情報を記憶するメモリなどの記憶装置と、
情報を処理するＣＰＵ９１１などの処理装置と、
利用したサービス内容を記録した利用記録情報６２０を複数記憶するサービス提供装置８１０（サーバ装置）と通信する通信装置９１５と、
メモリなどの記憶装置を用いて、サービス提供装置８１０が記憶した利用記録情報６２０のうち、利用者端末装置１００を所持する利用者が利用したサービス内容についての利用記録情報６２０を利用履歴情報６１０として記憶する利用履歴記憶部１２１と、
通信装置９１５を用いて、サービス提供装置８１０から、利用記録情報６２０を複数受信し、ＣＰＵ９１１などの処理装置を用いて、受信した複数の利用記録情報６２０を出力する利用記録受信部１１１と、
ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した複数の利用記録情報６２０と、利用履歴記憶部１２１が記憶した利用履歴情報６１０とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した複数の利用記録情報６２０に基づいて、入力した利用履歴情報６１０のうちサービス提供装置８１０に送信しても利用者が特定されにくい情報を判別し、ＣＰＵ９１１などの処理装置を用いて、判別した情報を匿名履歴情報６３０として出力する匿名履歴判別部１３０と、
ＣＰＵ９１１などの処理装置を用いて、匿名履歴判別部１３０が出力した匿名履歴情報６３０を入力し、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名履歴情報６３０を送信する匿名履歴送信部１４１とを有することを特徴とする。
【００７５】
この実施の形態における利用者端末装置１００によれば、利用者が特定されにくい情報を匿名履歴判別部１３０が匿名履歴情報６３０として判別し、判別した匿名履歴情報６３０を匿名履歴送信部１４１がサービス提供装置８１０に対して送信するので、この情報送信によりサービス提供装置８１０が利用者を特定できないという効果を奏する。
【００７６】
この実施の形態における利用者端末装置１００（端末装置）は、
匿名履歴判別部１３０が、
ＣＰＵ９１１などの処理装置を用いて、入力した複数の利用記録情報６２０のそれぞれについて、利用記録情報６２０が記録したサービス内容を判別し、ＣＰＵ９１１などの処理装置を用いて、判別したサービス内容のそれぞれについて、そのサービス内容を利用した利用回数を算出し、ＣＰＵ９１１などの処理装置を用いて、算出した利用回数が所定の回数よりも多い場合に、そのサービス内容についての情報をサービス提供装置８１０に送信しても利用者が特定されにくいと判断する匿名性判断部１３１を有することを特徴とする。
【００７７】
この実施の形態における利用者端末装置１００によれば、匿名性判断部１３１が、同一内容のサービスが利用された回数が多い場合に、そのサービス内容についての情報をサービス提供装置８１０に送信しても利用者が特定されにくいと判断するので、その情報の匿名性を的確に判断することができるという効果を奏する。
【００７８】
この実施の形態における利用者端末装置１００が履歴サービスを利用する履歴サービス利用方法は、
情報を記憶するメモリなどの記憶装置と、情報を処理するＣＰＵ９１１などの処理装置と、利用したサービス内容を記録した利用記録情報６２０を複数記憶するサービス提供装置８１０（サーバ装置）と通信する通信装置９１５とを有する利用者端末装置１００（端末装置）が、サービス提供装置８１０が提供する履歴サービスを利用する履歴サービス利用方法において、
メモリなどの記憶装置が、サービス提供装置８１０が記憶した利用記録情報６２０のうち、所定の利用者が利用したサービス内容についての利用記録情報６２０を利用履歴情報６１０として記憶する利用履歴記憶工程と、
通信装置９１５が、サービス提供装置８１０から、利用記録情報６２０を複数受信し、ＣＰＵ９１１などの処理装置が、受信した複数の利用記録情報６２０を出力する利用記録受信工程と、
ＣＰＵ９１１などの処理装置が、利用記録受信工程でＣＰＵ９１１などの処理装置が出力した複数の利用記録情報６２０と、利用履歴記憶工程でメモリなどの記憶装置が記憶した利用履歴情報６１０とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した複数の利用記録情報６２０に基づいて、入力した利用履歴情報６１０のうちサービス提供装置８１０に送信しても利用者が特定されにくい情報を判別し、ＣＰＵ９１１などの処理装置が、判別した情報を匿名履歴情報６３０として出力する匿名履歴判別工程と、
ＣＰＵ９１１などの処理装置が、匿名履歴判別工程でＣＰＵ９１１などの処理装置が出力した匿名履歴情報６３０を入力し、通信装置９１５が、サービス提供装置８１０に対して、入力した匿名履歴情報６３０を送信する匿名履歴送信工程とを有することを特徴とする。
【００７９】
この実施の形態における履歴サービス利用方法によれば、利用者が特定されにくい情報を匿名履歴判別工程で処理装置が匿名履歴情報６３０として判別し、判別した匿名履歴情報６３０を匿名履歴送信工程で通信装置９１５がサービス提供装置８１０に対して送信するので、この情報送信によりサービス提供装置８１０が利用者を特定できないという効果を奏する。
【００８０】
この実施の形態における利用者端末装置１００（端末装置）は、情報を記憶するメモリなどの記憶装置と、情報を処理するＣＰＵ９１１などの処理装置と、利用したサービス内容を記録した利用記録情報６２０を複数記憶するサービス提供装置８１０（サーバ装置）と通信する通信装置９１５とを有するコンピュータに、コンピュータをこの実施の形態における利用者端末装置１００（端末装置）として機能させる履歴サービス利用プログラムを実行させることにより、実現することができる。
【００８１】
この実施の形態における履歴サービス利用プログラムによれば、利用者が特定されにくい情報を匿名履歴判別部１３０が匿名履歴情報６３０として判別し、判別した匿名履歴情報６３０を匿名履歴送信部１４１がサービス提供装置８１０に対して送信するので、この情報送信によりサービス提供装置８１０が利用者を特定できない利用者端末装置１００を、容易に実現できるという効果を奏する。
【００８２】
この実施の形態における履歴サービス提供システム８００は、この実施の形態における利用者端末装置１００を有することを特徴とする。
【００８３】
この実施の形態における履歴サービス提供システム８００によれば、利用者を特定される心配をせずに、利用者が履歴サービスを利用できるという効果を奏する。
【００８４】
この実施の形態における利用者端末装置１００は、サービスを利用した履歴をサービス提供装置８１０へ送信する前に、サービス提供装置８１０が保有するサービス利用記録の情報（利用記録情報６２０）を入手して、その情報を元に“履歴に含まれる情報によって利用者が特定され易いか否か”を判断し、特定される可能性が高い情報は含めないように履歴（匿名履歴情報６３０）を作成することを特徴とする。
【００８５】
これにより、利用者が履歴を送信する前に、予め店舗から履歴に関する情報を入手し、それら情報を用いて、利用者は自身が店舗によって特定されない購入情報から購入履歴を作成し店舗に送信することによって、利用者はプライバシーを保護された状態で且つ匿名で履歴サービスを利用できる。
【００８６】
実施の形態２．
実施の形態２について、図１０〜図１２を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【００８７】
図１０は、この実施の形態における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態１で説明したブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
【００８８】
利用者端末装置１００は、更に、信頼性判断部１５１を有する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報６２０と、利用履歴記憶部１２１が記憶した利用履歴情報６１０とを入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０と、入力した利用履歴情報６１０とに基づいて、利用記録情報６２０が信頼できるか否かを判断する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、判断結果を示す情報を出力する。
【００８９】
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、信頼性判断部１５１が出力した判断結果を示す情報を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した情報に基づいて、利用記録情報６２０が信頼できると信頼性判断部１５１が判断した場合に、実施の形態１で説明した処理を行い、匿名履歴情報６３０を出力する。
【００９０】
したがって、利用記録情報６２０が信頼できないと信頼性判断部１５１が判断した場合には処理を行わず、サービス提供装置８１０に対して匿名履歴情報６３０を送信しない。
【００９１】
実施の形態１では、サービス提供装置８１０から送信された利用記録情報６２０が信頼できることを前提として、受信した利用記録情報６２０に基づいて、匿名履歴情報６３０を判別し、サービス提供装置８１０に対して送信する。
【００９２】
しかし、サービス提供装置８１０が、「嘘の」利用記録情報６２０を送信し、利用者端末装置１００を騙すことにより、利用者を特定しようとする場合がある。
例えば、サービス提供装置８１０が記憶している利用記録情報６２０が、図７に示したものであり、サービス提供装置８１０は、商品Ｃを購入した利用者を特定したいものとする。
サービス提供装置８１０が記憶している利用記録情報６２０を、利用者端末装置１００に対して正直に送信すると、実施の形態１で説明したように、商品Ｃを購入したことがあるという情報は匿名性が低いと、匿名性判断部１３１が判断する。したがって、匿名履歴送信部１４１がサービス提供装置８１０に対して送信する匿名履歴情報６３０には、商品Ｃを購入したことがあることを示す情報は含まれず、サービス提供装置８１０は、商品Ｃを購入した利用者を特定することができない。
【００９３】
そこで、サービス提供装置８１０は、利用記録情報６２０を改変し、「嘘の」利用記録情報６２０を送信することにより、商品Ｃを購入したことがあるという情報を送信させ、商品Ｃを購入した利用者を特定しようと試みる。
【００９４】
図１１は、サービス提供装置８１０が嘘の利用記録情報６２０を送信した場合について説明する図である。
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた「嘘の」利用記録情報６２０を受信する。
この図において、利用記録情報６２０が改変された部分を太枠で示している。
【００９５】
匿名性判断部１３１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が受信した利用記録情報６２０を入力し、商品Ｃを購入したというサービスの利用記録を数えて、５つあると判断する。これは、利用回数の閾値（４回）と比べて多いので、匿名性判断部１３１は、（騙されて）商品Ｃについての情報は匿名性が高いと判断する。
この判断に基づいて、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、商品Ｃを購入したことがあることを示す匿名履歴情報６３０を生成する。匿名履歴送信部１４１は、通信装置９１５を用いて、サービス提供装置８１０に対して、生成した匿名履歴情報６３０を送信する。
サービス提供装置８１０は、利用者端末装置１００が送信してきた匿名履歴情報６３０を受信し、以前に商品Ｃを購入した利用者を特定する。
【００９６】
このように、サービス提供装置８１０は、実際には利用されたことの少ないサービスを、あたかも多く利用されているかのように見せかけるよう改変した「嘘の」利用記録情報６２０を利用者端末装置１００に対して送信することにより、そのサービスを利用した利用者を特定することが可能である。
【００９７】
この実施の形態における利用者端末装置１００は、このような改変を見破ることにより、匿名性の低い情報を送信しないようにしたものである。
【００９８】
図１２は、この実施の形態における信頼性判断部１５１が利用記録情報６２０の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図である。
【００９９】
Ｓ５１において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した利用履歴情報６１０と、利用記録受信部１１１が出力した利用記録情報６２０とを入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０すべてについて同じ内容を示す利用記録情報６２０が存在するか否かを判断する。
利用履歴情報６１０すべてについて同じ内容の利用記録情報６２０があると判断した場合は、Ｓ５２へ進む。
利用履歴情報６１０のなかに同じ内容の利用記録情報６２０がないと判断した場合は、Ｓ５３へ進む。
【０１００】
Ｓ５２において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０が信頼できると判断する。
その後、Ｓ５４へ進む。
【０１０１】
Ｓ５３において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０が信頼できないと判断する。
【０１０２】
Ｓ５４において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、判断結果を匿名履歴判別部１３０に通知する。
【０１０３】
匿名履歴判別部１３０は、この通知を受け、利用記録情報６２０が信頼できると信頼性判断部１５１が判断した場合のみ、処理を行い、匿名履歴情報６３０を出力する。利用記録情報６２０が信頼できないと信頼性判断部１５１が判断した場合、匿名履歴判別部１３０は処理を止め、匿名履歴情報６３０を出力しない。
【０１０４】
例えば、図６に示した利用履歴情報６１０を利用履歴記憶部１２１が記憶している利用者端末装置１００に対して、図１１に示した利用記録情報６２０が、サービス提供装置８１０から送信されてきた場合を例にして、説明する。
【０１０５】
信頼性判断部１５１は、図６の１つ目（１月５日）の利用履歴情報６１０に記録されている内容「商品Ａを１個、商品Ｂを２個、商品Ｄを２個購入した」と、同一の内容を有する利用記録情報６２０があるか否かを判断する。図１１の１つ目の利用記録情報６２０がこれに該当するので、この情報は改変がないことがわかる。
信頼性判断部１５１は、同様に、図６の２つ目（１月１０日）の利用履歴情報６１０に記録されている内容「商品Ｂを１個購入した」と、同一の内容を有する利用記録情報６２０があるか否かを判断する。図１１の利用記録情報６２０にはこれに該当する利用記録情報６２０がない。したがって、この情報が改変されていることがわかる。
１つでも改変されている情報を見つけた場合、信頼性判断部１５１は、利用記録情報６２０全体が信頼できないと判断する。
【０１０６】
これにより、匿名履歴判別部１３０は処理を止め、匿名履歴情報６３０を出力しない。したがって、「商品Ｃを購入したことがある」ことを示す匿名履歴情報６３０がサービス提供装置８１０に対して送信されるのを未然に防ぐことができ、サービス提供装置８１０に利用者を特定されずに済む。
【０１０７】
サービス提供装置８１０に、送信した利用記録情報６２０が信頼されなかったことがわかると、改変した利用記録情報６２０のなかに、その利用者についての利用記録情報６２０があることがわかり、利用者を特定する手がかりとなる可能性がある。
そこで、匿名履歴送信部１４１は、利用記録情報６２０が信頼できないと信頼性判断部１５１が判断して、匿名履歴判別部１３０が匿名履歴情報６３０を出力しなかった場合、サービス提供装置８１０に対して、空の情報を送信する。
これは、その利用者がサービスを初めて利用する場合の手順と同じなので、サービス提供装置８１０は、利用記録情報６２０が信頼されなかったのか、その利用者がサービスを初めて利用するのか区別できない。これにより、サービス提供装置８１０に利用者を特定する手がかりを与えずに済む。
【０１０８】
この実施の形態における利用者端末装置１００は、更に、
ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した利用履歴情報６１０と利用記録受信部１１１が出力した利用記録情報６２０とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０のなかに、入力した利用履歴情報６１０が記録したサービス内容と一致するサービス内容を記録した利用記録情報６２０が存在するか否かを判断し、一致するサービス内容を記録した利用記録情報６２０があると判断した場合に、利用記録情報６２０が信頼できると判断する信頼性判断部１５１を有し、
匿名履歴判別部１３０が、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０が信頼できると信頼性判断部１５１が判断した場合に、匿名履歴情報６３０を出力することを特徴とする。
【０１０９】
この実施の形態における利用者端末装置１００によれば、信頼性判断部１５１が利用記録情報６２０の改変を見破り、利用記録情報６２０が改変されている場合には、匿名履歴判別部１３０が匿名履歴情報６３０を出力しないので、匿名履歴送信部１４１がサービス提供装置８１０に対して匿名履歴情報６３０を送信せず、匿名性の低い情報により利用者を特定されるのを防ぐことができるという効果を奏する。
【０１１０】
このような構成を有する利用者端末装置１００に利用記録情報６２０の改変を見破られないようにするためには、サービス提供装置８１０は、その利用者についての利用記録情報６２０は改変せず、他の利用者についての利用記録情報６２０だけを改変する必要がある。
しかし、サービス提供装置８１０は、利用者を特定できる情報を記録していないので、利用記録情報６２０がどの利用者についてのものか判別できず、他の利用者についての利用記録情報６２０だけを改変することはできない。
【０１１１】
このように、利用者は、店舗から入手する履歴に関する情報のうちいずれかを検証可能であるが、店舗は利用者が検証する情報を特定できないため、店舗が情報を都合の良い値に改ざんすることを防止できる。
【０１１２】
サービス提供装置８１０は、記憶した利用記録情報６２０のうち、ごく一部だけを改変すれば、改変した利用記録情報６２０が記録したサービスの利用者以外の利用者には、改変を見破られない。
しかし、このような改変が１回でも発覚すれば、顧客の信用を失い、顧客を失うことになるので、たとえ実際に見破ることができる可能性が低いとしても、このような改変を抑止する効果を期待することができる。
【０１１３】
なお、１回でも改変を見破った場合、利用者端末装置１００は、そのことをメモリなどの記憶装置を用いて記憶しておき、以後、同じサービス提供装置８１０からの情報はすべて信頼しない構成としてもよい。
あるいは、利用者端末装置１００は、利用者が店を出たあとで、個人情報を収集している可能性があることを表示装置９０１を用いて表示し、利用者に警告してもよい（その場で警告しないのは、見破ったことを店側に悟られないためである）。
【０１１４】
実施の形態３．
実施の形態３について、図１３〜図１５を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置１００の機能ブロックの構成は、実施の形態２で説明したものと同様なので、ここでは説明を省略する。
【０１１５】
図１３は、この実施の形態における利用履歴受信部１１２が受信し、利用履歴記憶部１２１が記憶する利用履歴情報６１０の一例を示す図である。
なお、実施の形態１で図６を用いて説明した利用履歴情報６１０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０１１６】
利用履歴受信部１１２は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用履歴情報６１０を受信する。
利用履歴受信部１１２が受信する利用履歴情報６１０には、履歴識別情報６１４が含まれている。
利用履歴受信部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用履歴情報６１０を出力する。利用履歴受信部１１２が出力する利用履歴情報６１０には、受信した履歴識別情報６１４が含まれている。利用履歴受信部１１２は、受信した履歴識別情報６１４を利用履歴情報６１０とともに出力する。
【０１１７】
履歴識別情報６１４は、利用履歴情報６１０を識別する情報である。履歴識別情報６１４は、利用履歴情報６１０ごとに異なる。
【０１１８】
利用履歴記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報６１０と履歴識別情報６１４とを入力する。
利用履歴記憶部１２１は、メモリなどの記憶装置を用いて、入力した利用履歴情報６１０と履歴識別情報６１４とを記憶する。
【０１１９】
図１４は、この実施の形態における利用記録受信部１１１が受信する利用記録情報６２０の一例を示す図である。
なお、実施の形態１で図７を用いて説明した利用記録情報６２０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０１２０】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用記録情報６２０を受信する。
利用記録受信部１１１が受信する利用記録情報６２０には、記録識別情報６２４が含まれている。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報６２０を出力する。利用記録受信部１１１が出力する利用記録情報６２０には、受信した記録識別情報６２４が含まれている。利用記録受信部１１１は、受信した記録識別情報６２４を利用記録情報６２０とともに出力する。
【０１２１】
記録識別情報６２４は、利用記録情報６２０を識別する情報である。記録識別情報６２４は、利用記録情報６２０ごとに異なる。
【０１２２】
サービス提供装置８１０は、利用者がサービスを利用したことを記録した利用履歴情報６１０に、履歴識別情報６１４を含めて、利用者端末装置１００に対して送信する。サービス提供装置８１０は、その利用履歴情報６１０を利用記録情報６２０として記憶する際、利用者端末装置１００に対して送信した履歴識別情報６１４を、記録識別情報６２４として、利用記録情報６２０に含めて記憶しておく。
サービス提供装置８１０は、利用者端末装置１００に対して、利用記録情報６２０を送信するにあたり、その利用記録情報６２０の記録識別情報６２４を一緒に送信する。
【０１２３】
実施の形態２において、信頼性判断部１５１は、利用履歴情報６１０と同一内容を示す利用記録情報６２０があるか否かに基づいて、利用記録情報６２０が信頼できるか否かを判断する。
しかし、他の利用者についての利用記録情報６２０のなかに、まったく同一内容を示す利用記録情報６２０があった場合、両者を区別できなければ、利用記録情報６２０を見破ることができない。
【０１２４】
この実施の形態の利用者端末装置１００は、利用記録情報６２０を識別する記録識別情報６２４を用いて、サービス内容が同一の利用記録情報６２０を区別できるようにしたものである。
【０１２５】
図１５は、この実施の形態における信頼性判断部１５１が利用記録情報６２０の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図である。
なお、実施の形態２で図１２を用いて説明した処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
【０１２６】
Ｓ５５において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴識別情報６１４と、利用記録受信部１１１が出力した記録識別情報６２４とを入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した履歴識別情報６１４と入力した記録識別情報６２４とが一致するものについて、利用履歴記憶部１２１が記録した利用履歴情報６１０と、利用記録受信部１１１が出力した利用記録情報６２０とを入力する。
すなわち、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報６２０のなかから、利用履歴記憶部１２１が記憶した利用履歴情報６１０の履歴識別情報６１４と一致する記録識別情報６２４を有する利用記録情報６２０を抽出する。
入力した利用記録情報６２０のなかに、履歴識別情報６１４と一致する記録識別情報６２４を有する利用記録情報６２０がない場合には、Ｓ５３へ進み、利用記録情報６２０が信頼できないと判断する。
入力した履歴識別情報６１４すべてについて、一致する記録識別情報６２４を有する利用記録情報６２０がある場合には、Ｓ５６へ進む。
【０１２７】
Ｓ５６において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、履歴識別情報６１４と記録識別情報６２４とが一致する利用履歴情報６１０と利用記録情報６２０とについて、利用履歴情報６１０が記録したサービス内容と、利用記録情報６２０が記録したサービス内容とが一致するか否かを判断する。
サービス内容が一致する場合は、Ｓ５２へ進み、利用記録情報６２０が信頼できると判断する。
サービス内容が一致しない場合は、Ｓ５３へ進み、利用記録情報６２０が信頼できないと判断する。
【０１２８】
このように、信頼性判断部１５１は、履歴識別情報６１４と記録識別情報６２４とが一致する利用履歴情報６１０と利用記録情報６２０とについて、記録したサービス内容が一致するか否かに基づいて、利用記録情報６２０が信頼できるか否かを判断するので、同じサービス内容を記録した利用記録情報６２０が他にある場合でも、利用記録情報６２０の改変を見破ることができる。
【０１２９】
また、サービス提供装置８１０は、利用記録情報６２０の内容を改変せず、一部の利用記録情報６２０をわざと利用者端末装置１００に送信しないことにより、匿名性判断部１３１が判断の基礎とする情報を偏らせ、匿名性判断部１３１の判断を誤らせようとする可能性もある。
【０１３０】
この実施の形態の利用者端末装置１００は、記録した利用履歴情報６１０の履歴識別情報６１４と一致する記録識別情報６２４を有する利用記録情報６２０がすべて送信されているか否かを判断することにより、そのような意図的な不送信を見破ることができる。
【０１３１】
利用記録情報６２０の改変や意図的な不送信を見破った場合、信頼性判断部１５１は、利用記録情報６２０が信頼できないと判断し、匿名履歴判別部１３０は、匿名履歴情報６３０を出力しない。
したがって、匿名履歴送信部１４１は、サービス提供装置８１０に対して匿名履歴情報６３０を送信せず、匿名性の低い情報により利用者を特定されるのを防ぐことができる。
【０１３２】
この実施の形態における利用者端末装置１００（端末装置）は、
利用履歴記憶部１２１が、
メモリなどの記憶装置を用いて、利用履歴情報６１０と利用履歴情報６１０を識別する履歴識別情報６１４とを記憶し、
利用記録受信部１１１が、
通信装置９１５を用いて、複数の利用記録情報６２０と複数の利用記録情報６２０をそれぞれ識別する複数の記録識別情報６２４とを受信し、ＣＰＵ９１１などの処理装置を用いて、受信した複数の利用記録情報６２０と受信した複数の記録識別情報６２４とを出力し、
利用者端末装置１００が、更に、
ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴識別情報６１４と、利用記録受信部１１１が出力した複数の記録識別情報６２４とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した履歴識別情報６１４と入力した記録識別情報６２４とが一致するものについて、利用履歴記憶部１２１が記憶した利用履歴情報６１０のうち、履歴識別情報６１４によって識別される利用履歴情報６１０と、利用記録受信部１１１が出力した利用履歴情報６１０のうち、記録識別情報６２４によって識別される利用記録情報６２０とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０が記録したサービス内容と、入力した利用記録情報６２０が記録したサービス内容とが一致するか否かを判断し、ＣＰＵ９１１などの処理装置を用いて、サービス内容が一致すると判断した場合に、利用記録情報６２０が信頼できると判断する信頼性判断部１５１を有し、
匿名履歴判別部１３０が、
ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０が信頼できると信頼性判断部１５１が判断した場合に、匿名履歴情報６３０を出力することを特徴とする。
【０１３３】
この実施の形態における利用者端末装置１００によれば、履歴識別情報６１４と記録識別情報６２４とが一致するものについて、利用履歴情報６１０が示すサービスの内容と利用記録情報６２０が示すサービスの内容とが一致するか否かを信頼性判断部１５１が判断して、利用記録情報６２０の信頼性を判断するので、同じ内容のサービスについての利用記録情報６２０が他にある場合でも、利用記録情報６２０の改変を見破ることができるという効果を奏する。
【０１３４】
この実施の形態における利用者端末装置１００は、
信頼性判断部１５１が、更に、
ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０のなかに、利用履歴記憶部１２１が記憶した履歴識別情報６１４と一致する記録識別情報６２４を含む利用記録情報６２０がない場合に、利用記録情報６２０が信頼できないと判断することを特徴とする。
【０１３５】
この実施の形態における利用者端末装置１００によれば、
サービス提供装置８１０が、利用記録情報６２０の一部を送信しないことにより、利用者端末装置１００を誤誘導して、匿名性の低い情報を送信させようとした場合、そのことを見破ることができるので、匿名性の低い情報により、利用者を特定されるのを防ぐことができるという効果を奏する。
【０１３６】
なお、履歴識別情報６１４（及び記録識別情報６２４）は、サービス提供装置８１０が生成して、利用者端末装置１００に対して送信することとしているが、利用者端末装置１００が生成して、サービス提供装置８１０に対して送信することとしてもよい。そのほうが、サービス提供装置８１０が履歴識別情報６１４に何らかの規則性を持たせて、利用者を特定する手がかりにするのを防ぐことができるので、好ましい。
【０１３７】
実施の形態４．
実施の形態４について、図１６〜図１８を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１３８】
図１６は、この実施の形態における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態２で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
【０１３９】
利用者端末装置１００は、更に、記録識別受信部１１３、記録識別選択部１５２、選択識別送信部１４２を有する。
【０１４０】
記録識別受信部１１３は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた記録識別情報６２４のリストを受信する。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信した記録識別情報６２４のリストを出力する。
【０１４１】
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、記録識別受信部１１３が出力した記録識別情報６２４のリストを入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力した記録識別情報６２４のリストのなかから、適当な数の記録識別情報６２４を選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択した記録識別情報６２４を出力する。
【０１４２】
選択識別送信部１４２は、ＣＰＵ９１１などの処理装置を用いて、記録識別選択部１５２が出力した記録識別情報６２４を入力する。
選択識別送信部１４２は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した記録識別情報６２４を送信する。
【０１４３】
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、記憶した利用記録情報６２０について、利用記録情報６２０を識別する記録識別情報６２４すべてのリストを生成し、通信装置９１５を用いて、利用者端末装置１００に対して送信する。
サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００が選択した記録識別情報６２４を受信する。
サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、受信した記録識別情報６２４に対応する利用記録情報６２０を送信する。
【０１４４】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０から、選択識別送信部１４２が送信した記録識別情報６２４によって識別される利用記録情報６２０を受信する。
【０１４５】
実施の形態３では、サービス提供装置８１０が利用者端末装置１００に対して送信する利用記録情報６２０を恣意的に選択することを防ぐため、サービス提供装置８１０が記憶している利用記録情報６２０をすべて送信させている。
【０１４６】
しかし、利用記録情報６２０の数は膨大なものになる場合があり、利用者端末装置１００のＣＰＵ９１１などの処理装置の処理能力、通信装置９１５の通信能力などの制約により、すべての利用記録情報６２０を送信させることは非現実的である場合がある。
【０１４７】
この実施の形態の利用者端末装置１００は、サービス提供装置８１０が記憶した利用記録情報６２０のうち、記録識別選択部１５２が選択した記録識別情報６２４によって識別される利用記録情報６２０を送信させることにより、サービス提供装置８１０が恣意的に利用記録情報６２０を選択することを防ぐものである。
【０１４８】
図１７は、この実施の形態における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図である。
【０１４９】
Ｓ１８において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、記憶している利用記録情報６２０すべてについて、利用記録情報６２０を識別する記録識別情報６２４を読み出し、すべての記録識別情報６２４のリストを生成する。
サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、生成したすべての記録識別情報６２４のリストを送信する。
【０１５０】
Ｓ２８において、記録識別受信部１１３は、通信装置９１５を用いて、Ｓ１８でサービス提供装置８１０が送信してきた記録識別情報６２４のリストを受信する。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信した記録識別情報６２４のリストを出力する。
【０１５１】
Ｓ２９において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２８で記録識別受信部１１３が出力した記録識別情報６２４のリストを入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力した記録識別情報６２４のリストのなかから、複数の記録識別情報６２４を選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択した複数の記録識別情報６２４を出力する。
【０１５２】
Ｓ２０において、選択識別送信部１４２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２９で記録識別選択部１５２が出力した複数の記録識別情報６２４を入力する。
選択識別送信部１４２は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した複数の記録識別情報６２４を送信する。
【０１５３】
Ｓ１９において、サービス提供装置８１０は、通信装置９１５を用いて、Ｓ２０で選択識別送信部１４２が送信した複数の記録識別情報６２４を受信する。
【０１５４】
Ｓ１１において、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、受信した複数の記録識別情報６２４によって識別される複数の利用記録情報６２０を送信する。
【０１５５】
Ｓ２１において、利用記録受信部１１１は、通信装置９１５を用いて、Ｓ１１でサービス提供装置８１０が送信してきた利用記録情報６２０を受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報６２０を出力する。
【０１５６】
以後の処理の流れは、実施の形態１で図８を用いて説明したものと同様である。
【０１５７】
図１８は、この実施の形態における記録識別選択部１５２が記録識別情報６２４を選択する記録識別選択処理の流れの一例を示すフローチャート図である。
【０１５８】
Ｓ６１において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴識別情報６１４と、記録識別受信部１１３が出力した記録識別情報６２４のリストとを入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力した記録識別情報６２４のリストのなかに、入力した履歴識別情報６１４と一致する記録識別情報６２４がすべて含まれているか否かを判断する。
履歴識別情報６１４と一致する記録識別情報６２４がすべて含まれている場合は、Ｓ６３へ進む。
履歴識別情報６１４と一致する記録識別情報６２４が含まれていない場合は、Ｓ６２へ進む。
【０１５９】
Ｓ６２において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、記録識別情報６２４のリストが信頼できないと判断する。
記録識別選択部１５２は、メモリなどの記憶装置を用いて、判断結果を示す情報を記憶する。
【０１６０】
記録識別情報６２４のリストのなかに、履歴識別情報６１４と一致する記録識別情報６２４がすべて含まれていない場合、サービス提供装置８１０が記録識別情報６２４をすべて送信していないことがわかる。この時点で処理を中止してもよいが、そうすると、サービス提供装置８１０には、送信しなかった記録識別情報６２４のなかに、利用者端末装置１００を所持している利用者についての利用記録情報６２０を識別する記録識別情報６２４があることがわかり、利用者を特定する手がかりになる。
【０１６１】
そこで、この時点では信頼できないことを記憶しておくにとどめ、あとで、信頼性判断部１５１が利用記録情報６２０の信頼性を判断するときに、利用記録情報６２０が信頼できないと判断することにする。
これにより、匿名履歴判別部１３０が匿名履歴情報６３０を出力せず、匿名履歴送信部１４１が匿名履歴情報６３０を送信しないので、匿名性の低い情報により利用者を特定されるのを防ぐことができる。
また、実施の形態２で説明したように、匿名履歴送信部１４１が匿名履歴情報６３０を送信しなくても、サービス提供装置８１０は見破ったことを判別できないので、利用者を特定する手がかりを与えずに済む。
【０１６２】
Ｓ６３において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６１で入力した記録識別情報６２４のリストのなかから、Ｓ６１で入力した履歴識別情報６１４と一致する記録識別情報６２４を選択する。
このとき、記録識別選択部１５２は、履歴識別情報６１４と一致する記録識別情報６２４をすべて選択してもよいし、履歴識別情報６１４と一致する記録識別情報６２４の一部を選択してもよいが、信頼性判断部１５１が利用記録情報６２０の信頼性を検証するために十分な数の記録識別情報６２４を選択するものとする。
【０１６３】
また、履歴識別情報６１４と一致する記録識別情報６２４をすべて選択する場合は、一定の確率で一部選択しない場合があるように構成することが好ましい。必ずすべて選択することとすると、サービス提供装置８１０は、選択されなかった記録識別情報６２４がその利用者についての利用記録情報６２０のものではないことを判別できるので、利用者を特定する手がかりになる場合があるからである。
【０１６４】
Ｓ６４において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６１で入力した記録識別情報６２４のリストのなかから、Ｓ６１で入力した履歴識別情報６１４と一致しない記録識別情報６２４をランダムに選択する。
このとき、記録識別選択部１５２は、匿名性判断部１３１が情報の匿名性を判断するのに十分な数の記録識別情報６２４を選択する。他の利用者についての利用記録情報６２０を十分な数得られなければ、情報の匿名性を正しく判断できないからである。
履歴識別情報６１４と一致しない記録識別情報６２４を選択する数は、最低でも、履歴識別情報６１４と一致する記録識別情報６２４を選択した数より多いことが好ましい。
できれば、履歴識別情報６１４と一致する記録識別情報６２４を選択した数の１０倍以上であることが、更に好ましい。
【０１６５】
また、履歴識別情報６１４と一致しない記録識別情報６２４を十分な数選択することにより、サービス提供装置８１０が記録識別情報６２４を選択したことに基づいて、利用者と利用記録情報６２０とを結びつけ、利用者を特定する手がかりとするのを防ぐことができる。
【０１６６】
Ｓ６５において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択した記録識別情報６２４を出力する。
【０１６７】
これにより、利用者端末装置１００は、ＣＰＵ９１１などの処理装置の処理能力や通信装置９１５の通信能力に見合った量の利用記録情報６２０を、サービス提供装置８１０に送信させることができる。
また、送信させる利用記録情報６２０は、利用者端末装置１００が選択したものであるから、サービス提供装置８１０が恣意的に送信する利用記録情報６２０を選択し、信頼性判断部１５１の判断を狂わせることができない。
【０１６８】
この実施の形態における利用者端末装置１００（端末装置）は、更に、
通信装置９１５を用いて、サービス提供装置８１０（サーバ装置）が記憶した利用記録情報６２０を識別する記録識別情報６２４のリストを受信し、ＣＰＵ９１１などの処理装置を用いて、受信した記録識別情報６２４のリストを出力する記録識別受信部１１３と、
ＣＰＵ９１１などの処理装置を用いて、記録識別受信部１１３が出力した記録識別情報６２４のリストのなかから、複数の記録識別情報６２４を選択し、ＣＰＵ９１１などの処理装置を用いて、選択した複数の記録識別情報６２４を出力する記録識別選択部１５２と、
ＣＰＵ９１１などの処理装置を用いて、記録識別選択部１５２が出力した複数の記録識別情報６２４を入力し、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した複数の記録識別情報６２４を送信する選択識別送信部１４２とを有し、
利用記録受信部１１１が、
通信装置９１５を用いて、サービス提供装置８１０から、選択識別送信部１４２が送信した複数の記録識別情報６２４によって識別される複数の利用記録情報６２０を受信することを特徴とする。
【０１６９】
この実施の形態における利用者端末装置１００によれば、記録識別選択部１５２が選択した記録識別情報６２４の数と等しい数の利用記録情報６２０を、サービス提供装置８１０に送信させるので、利用者端末装置１００のＣＰＵ９１１などの処理装置の処理能力や、通信装置９１５の通信能力に見合った量の利用記録情報６２０を利用記録受信部１１１が受信することができるという効果を奏する。
すなわち、ＣＰＵ９１１などの処理装置の処理能力が低い利用者端末装置１００であれば、受信する利用記録情報６２０の量を減らして、処理を円滑に進めることができ、ＣＰＵ９１１などの処理装置が高い利用者端末装置１００であれば、受信する利用記録情報６２０の量を増やして、匿名性判断部１３１が匿名性をより正確に判断できるようにすることができる。
また、サービス提供装置８１０が送信する利用記録情報６２０を恣意的に選択することができないので、匿名性判断部１３１の判断を狂わせられる危険がない。
【０１７０】
この実施の形態における利用者端末装置１００（端末装置）は、
記録識別選択部１５２が、更に、
ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴識別情報６１４を入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した履歴識別情報６１４と一致する記録識別情報６２４を選択し、
ＣＰＵ９１１などの処理装置を用いて、入力した履歴識別情報６１４と一致しない記録識別情報６２４をランダムに選択することを特徴とする。
【０１７１】
この実施の形態における利用者端末装置１００によれば、記録識別選択部１５２が、履歴識別情報６１４と一致する記録識別情報６２４と、履歴識別情報６１４と一致しない記録識別情報６２４とをバランスよく選択するので、利用記録受信部１１１がサービス提供装置８１０から受信した利用記録情報６２０のうち、履歴識別情報６１４と一致する記録識別情報６２４によって識別される利用記録情報６２０は、信頼性判断部１５１が利用記録情報６２０の信頼性を検証するために利用し、履歴識別情報６１４と一致しない記録識別情報６２４によって識別される利用記録情報６２０は、匿名性判断部１３１が匿名性を判断するために利用することができるという効果を奏する。
また、サービス提供装置８１０が、記録識別選択部１５２が選択した記録識別情報６２４から、利用者を特定する手がかりを得ることができないという効果を奏する。
【０１７２】
これにより、利用者が店舗から入手する履歴に関する情報量は利用者によって制御できるため、利用者の携帯端末の性能に応じて最適な情報量を調整可能である。
【０１７３】
実施の形態５．
実施の形態５について、図１９〜図２０を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したｍのと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置１００の機能ブロックの構成は、実施の形態４で説明したものと同様なので、ここでは説明を省略する。
【０１７４】
図１９は、この実施の形態における利用記録受信部１１１が受信する利用記録情報６２０の一例を示す図である。
なお、実施の形態１で図７を用いて説明した利用記録情報６２０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０１７５】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用記録情報６２０を受信する。
利用記録受信部１１１が受信する利用記録情報６２０には、ハッシュ値６２５が含まれている。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報６２０を出力する。利用記録受信部１１１が出力する利用記録情報６２０には、受信したハッシュ値６２５が含まれている。利用記録受信部１１１は、受信したハッシュ値６２５も利用記録情報６２０とともに出力する。
【０１７６】
一般的に「ハッシュ値」とは、所定のデータを変換して生成した値である。
ハッシュ値は、通常、元のデータよりも情報量が少ないので、ハッシュ値から元のデータを復元することはできない。
ハッシュ値は、元のデータの要約とも呼ばれ、元のデータが異なれば、通常、ハッシュ値も異なる。
ハッシュ値は、通常、元のデータよりも情報量が少ないので、異なるデータから生成したハッシュ値が同一になる場合もある（これをハッシュ値の衝突という）が、同一のハッシュ値が生成される別のデータを予測することは極めて困難である。
ハッシュ値はこのような性質を有しているので、例えば、電子署名などにおいて、元のデータが改変されていないかどうかを検証するために用いられる。
【０１７７】
この実施の形態におけるハッシュ値６２５は、サービス提供装置８１０が、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０の記録識別情報６２４と、利用記録情報６２０の内容（商品コード６２１や購入個数６２２など）とから生成する。
ハッシュ値６２５は、実施の形態３で説明した記録識別情報６２４の代わりとなるものであり、利用記録情報６２０を識別するために利用する。
【０１７８】
また、この実施の形態における利用記録情報６２０は、サービス提供装置８１０が、利用者端末装置１００に対して送信する順番がランダムであり、選択識別送信部１４２が送信した記録識別情報６２４の順番とは無関係である。したがって、送信した記録識別情報６２４の順番から、対応する利用記録情報６２０を判別することはできない。
【０１７９】
実施の形態３や実施の形態４では、記録識別情報６２４を含む利用記録情報６２０を、サービス提供装置８１０が利用者端末装置１００に対して送信する。
そのため、利用者が何らかの方法で、他の利用者が利用したサービスを記録した利用記録情報６２０の記録識別情報６２４を知ることができれば、他の利用者が利用したサービスの内容を知ることができる。
【０１８０】
この実施の形態の履歴サービス提供システム８００は、記録識別情報６２４を他の利用者から隠蔽することにより、このような形での個人情報漏洩を防ぐものである。
【０１８１】
図２０は、この実施の形態における信頼性判断部１５１が、利用記録情報６２０の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図である。
【０１８２】
Ｓ５７において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した利用履歴情報６１０のうち、記録識別選択部１５２が選択した記録識別情報６２４と一致する履歴識別情報６１４によって識別される利用履歴情報６１０を入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０の記録識別情報６２４と、利用履歴情報６１０の内容（商品コード６１１や購入個数６１２など）とから、ハッシュ値を生成する。
【０１８３】
Ｓ５５’において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力したハッシュ値６２５を入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力したハッシュ値６２５とＳ５７で生成したハッシュ値とが一致するものについて、利用記録受信部１１１が出力した利用記録情報６２０を入力する。
すなわち、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報６２０のなかから、利用履歴記憶部１２１が記憶した利用履歴情報６１０の履歴識別情報６１４と一致する記録識別情報６２４を有する利用記録情報６２０を抽出する。
入力した利用記録情報６２０のなかに、算出したハッシュ値と一致するハッシュ値６２５を有する利用記録情報６２０がない場合には、Ｓ５３へ進み、利用記録情報６２０が信頼できないと判断する。
入力した履歴識別情報６１４すべてについて、一致する記録識別情報６２４を有する利用記録情報６２０がある場合には、Ｓ５６へ進む。
【０１８４】
このように、記録識別情報６２４によって利用記録情報６２０を識別する代わりに、ハッシュ値６２５によって利用記録情報６２０を識別し、内容が正しいかどうかを検証する。
ハッシュ値の算出方法（ハッシュ関数）は、利用者端末装置１００とサービス提供装置８１０とで同じものを使用する。したがって、元のデータが等しければ、算出されるハッシュ値も等しくなる。
【０１８５】
サービス提供装置８１０は、利用者端末装置１００に対して、記録識別情報６２４を送信しない代わりに、記録識別情報６２４をもとに算出したハッシュ値６２５を送信する。
利用者端末装置１００は、履歴識別情報６１４をもとに算出したハッシュ値を、受信したハッシュ値６２５と比較することにより、受信していない記録識別情報６２４と、履歴識別情報６１４とを比較するのと同じ効果を得る。
信頼性判断部１５１は、ハッシュ値が一致した利用記録情報６２０の内容と利用履歴情報６１０の内容とを比較して、内容が改変されていないかを調べ、受信した利用記録情報６２０が信頼できるか否かを判断する。
【０１８６】
また、ハッシュ値を算出する元のデータには、利用記録情報６２０（または利用履歴情報６１０）が含まれているので、ハッシュ値を比較することにより、利用記録情報６２０と利用履歴情報６１０とを比較するのと同じ効果を得ることになる。したがって、ハッシュ値が一致するものについて、利用記録情報６２０と利用履歴情報６１０とを比較すれば、二重のチェックをすることになる。
【０１８７】
また、ハッシュ値の衝突により、同じハッシュ値６２５を有する利用記録情報６２０が複数送信されてくる可能性もある。その場合、利用履歴情報６１０と利用記録情報６２０とを比較すれば、どの利用記録情報６２０と利用履歴情報６１０とが一致するものであるか判断できる。
【０１８８】
他の利用者は、ハッシュ値６２５から元のデータを復元できないので、その利用記録情報６２０の記録識別情報６２４を知ることはできない。したがって、ある利用者が利用したサービス内容を記録した利用記録情報６２０の記録識別情報６２４を知っていたとしても、どの利用記録情報６２０がそれにあたるのか判別できず、その利用者が利用したサービス内容を知ることはできない。
【０１８９】
なお、利用記録受信部１１１が受信する利用記録情報６２０は、選択識別送信部１４２が送信した記録識別情報６２４についてのものであるから、送信した記録識別情報６２４と、受信した利用記録情報６２０の内容とを、総当りで組み合わせて、ハッシュ値を算出し、受信したハッシュ値６２５と比較すれば、記録識別情報６２４と利用記録情報６２０との対応関係を判別できる可能性がある。
そのため、サービス提供装置８１０は、選択識別送信部１４２が送信した記録識別情報６２４の数が少ない場合には、利用記録情報６２０の送信を拒否することとしてもよい。
【０１９０】
また、ハッシュ値６２５を算出する元となるデータに、利用履歴情報６１０には含まれるが、サービス提供装置８１０が送信する利用記録情報６２０には含まれない情報（例えば、購入日時６１３）を含める構成としてもよい。
そうすれば、他の利用者は購入日時６１３を知らないので、ハッシュ値を算出できず、記録識別情報６２４と利用記録情報６２０との対応関係を判別できない。
【０１９１】
この実施の形態における利用者端末装置１００（端末装置）は、
利用履歴記憶部１２１が、
メモリなどの記憶装置を用いて、利用履歴情報６１０と利用履歴情報６１０を識別する履歴識別情報６１４とを記憶し、
利用記録受信部１１１が、
通信装置９１５を用いて、複数のハッシュ値６２５と、複数のハッシュ値６２５それぞれに対応する複数の利用記録情報６２０とを受信し、ＣＰＵ９１１などの処理装置を用いて、受信した複数のハッシュ値６２５と受信した複数の利用記録情報６２０とを出力し、
利用者端末装置１００は、更に、
ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴識別情報６１４と利用履歴情報６１０と、利用記録受信部１１１が出力した複数のハッシュ値６２５とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した履歴識別情報６１４と入力した利用履歴情報６１０とに基づいて、ハッシュ値を算出し、ＣＰＵ９１１などの処理装置を用いて、入力したハッシュ値６２５と算出した上記ハッシュ値とが一致するものについて、利用記録受信部１１１が出力した利用記録情報６２０のうち、ハッシュ値６２５に対応する利用記録情報６２０を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０が記録したサービス内容と、入力した利用記録情報６２０が記録したサービス内容とが一致するか否かを判断し、ＣＰＵ９１１などの処理装置を用いて、上記サービス内容が一致すると判断した場合に、利用記録情報６２０が信頼できると判断する信頼性判断部１５１を有し、
匿名履歴判別部１３０が、
ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０が信頼できると信頼性判断部１５１が判断した場合に、匿名履歴情報６３０を出力することを特徴とする。
【０１９２】
この実施の形態における利用者端末装置１００によれば、履歴識別情報６１４に基づいて算出したハッシュ値と、受信したハッシュ値６２５とが一致するものについて、利用履歴情報６１０が示すサービスの内容と利用記録情報６２０が示すサービスの内容とが一致するか否かを信頼性判断部１５１が判断するので、他の利用者に記録識別情報６２４と利用記録情報６２０との対応関係を知られることがなく、個人情報を保護できるという効果を奏する。
【０１９３】
実施の形態６．
実施の形態６について、図２１〜図２３を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置１００の機能ブロックの構成は、実施の形態４で説明したものと同様なので、ここでは説明を省略する。
【０１９４】
図２１は、この実施の形態における利用履歴受信部１１２が受信し、利用履歴記憶部１２１が記憶する利用履歴情報６１０の一例を示す図である。
なお、実施の形態３で図１３を用いて説明した利用記録情報６２０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０１９５】
利用履歴受信部１１２は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用履歴情報６１０を受信する。
利用履歴受信部１１２が受信する利用履歴情報６１０には、サービス暗号鍵６１６が含まれている。
利用履歴受信部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用履歴情報６１０を出力する。利用履歴受信部１１２が出力する利用履歴情報６１０には、受信したサービス暗号鍵６１６が含まれている。利用履歴受信部１１２は、受信したサービス暗号鍵６１６を利用履歴情報６１０とともに出力する。
【０１９６】
サービス暗号鍵６１６は、利用したサービス内容の種別ごとに異なる。この例では、購入した商品ごとにサービス内容の種別が異なるものとし、商品ごとにサービス暗号鍵６１６が異なっている。例えば、「商品Ａ」のサービス暗号鍵６１６は「３５６５」、「商品Ｂ」のサービス暗号鍵６１６は「８４３１」である。
【０１９７】
利用履歴記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報６１０とサービス暗号鍵６１６とを入力する。
利用履歴記憶部１２１は、メモリなどの記憶装置を用いて、入力した利用履歴情報６１０とサービス暗号鍵６１６とを記憶する。
この例では、利用履歴記憶部１２１が、利用履歴情報６１０とサービス暗号鍵６１６とを別々に記憶しているが、受信した利用履歴情報６１０の形式のまま、一緒に記憶することとしてもよい。
【０１９８】
サービス暗号鍵６１６は、サービス内容の種別ごとに異なり、サービスを利用すると、サービス提供装置８１０が、利用者端末装置１００に対して、利用したサービスを記録した利用履歴情報６１０とともに送信する。
この例では、利用者が「商品Ａ」「商品Ｂ」「商品Ｃ」「商品Ｄ」を購入したことがあるので、利用履歴記憶部１２１は、これらの商品についてのサービス暗号鍵６１６を記憶している。それ以外の商品は利用者が購入したことがないので、利用履歴記憶部１２１は、それ以外の商品についてのサービス暗号鍵６１６を記憶していない。
【０１９９】
図２２は、この実施の形態における利用記録受信部１１１が受信する暗号化記録情報６４０の一例を示す図である。
【０２００】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた暗号化記録情報６４０を受信する。
暗号化記録情報６４０は、サービス提供装置８１０が利用記録情報６２０を暗号化したものである。
この例では、利用記録情報６２０のうち、購入個数６２２を暗号化して暗号化購入個数６４２としたものを暗号化記録情報６４０とし、他の部分は暗号化していない。しかし、他の部分も暗号化してもよい。
【０２０１】
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０を、その利用記録情報６２０が記録したサービス内容の種別に対応するサービス暗号鍵６１６で暗号化する。
この例では、購入した商品ごとにサービス内容の種別が異なることとしているので、１つの利用記録情報６２０に複数の種別のサービスが記録されている。そこで、それぞれのサービス種別ごとに、異なるサービス暗号鍵６１６で暗号化し、暗号化記録情報６４０とする。
すなわち、「商品Ａ」の購入個数６２２は「商品Ａ」のサービス暗号鍵６１６で暗号化して暗号化購入個数６４２とし、「商品Ｂ」の購入個数６２２は「商品Ｂ」のサービス暗号鍵６１６で暗号化して暗号化購入個数６４２とする。
【０２０２】
この例において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、サービス暗号鍵６１６にランダムな整数を乗じ、購入個数６２２を加えることにより、暗号化購入個数６４２を算出する。例えば、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、「商品Ａ」のサービス暗号鍵６１６「３５６３」にランダムな整数「２６７」を乗じ、購入個数６２２「１」を加えて、暗号化購入個数６４２「９５１３２２」を算出する。
なお、暗号化の方式は、このような単純なものではなく、もっと高度な方式を用いてもよい。
【０２０３】
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶したサービス暗号鍵６１６を入力する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した暗号化記録情報６４０を、入力したサービス暗号鍵６１６で復号して、利用記録情報６２０を取得する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、取得した利用記録情報６２０を出力する。
【０２０４】
この例において、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、暗号化購入個数６４２をサービス暗号鍵６１６で割った剰余を求めることにより、購入個数６２２を算出する。例えば、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した「商品Ａ」についてのサービス暗号鍵６１６「３５６３」を入力し、「商品Ａ」についての暗号化購入個数６４２「９５１３２２」を「３４６３」で割った剰余を算出し、購入個数６２２「１」を取得する。
【０２０５】
利用記録受信部１１１が受信した利用記録情報６２０のなかには、「商品Ｅ」についてのものがある。しかし、利用者端末装置１００を所持している利用者が「商品Ｅ」を購入したことがないので、利用履歴記憶部１２１は「商品Ｅ」についてのサービス暗号鍵６１６を記憶していない。したがって、利用記録受信部１１１は、「商品Ｅ」についての暗号化購入個数６４２を復号することができない。
【０２０６】
利用者端末装置１００は、利用記録受信部１１１が出力した利用記録情報６２０を、匿名履歴判別部１３０が情報の匿名性を判断するために使用する。また、信頼性判断部１５１が利用記録情報６２０の信頼性を検証するためにも使用する。
【０２０７】
匿名履歴判別部１３０が情報の匿名性を判断するのは、例えば、利用者が購入したことのある商品についての情報をサービス提供装置８１０に対して送信しても、利用者を特定されにくいか判断し、匿名履歴情報６３０を生成するためである。
したがって、利用者が利用したことのないサービスについては、匿名性を判断する必要がない。例えば、利用者が購入したことのない「商品Ｅ」についての情報を取得できなくても、匿名履歴判別部１３０は、匿名履歴情報６３０を生成できる。
【０２０８】
信頼性判断部１５１が利用記録情報６２０の信頼性を検証する場合、利用履歴記憶部１２１が記憶した利用者自身の利用履歴情報６１０と比較することにより、利用記録情報６２０に改変がないかを調べる。
利用者が利用したことのないサービスについての情報を含む利用記録情報６２０は、利用者自身の利用履歴情報６１０ではあり得ないから、その利用記録情報６２０を取得できなくても、信頼性判断部１５１は、利用記録情報６２０の信頼性を検証できる。
【０２０９】
すなわち、利用者が利用したことがないサービスについての利用記録情報６２０は本来必要ないものである。しかし、サービス提供装置８１０は、その利用者を特定できず、その利用者がそのサービスを利用したことがないことも知らないので、不要な情報も送信する。
【０２１０】
例えば、利用者のなかに、ライバル店の店員がいた場合、すべての商品についての利用記録情報６２０を知られてしまうと、その店の売れ筋商品がわかり、営業上不利になる場合がある。
この実施の形態における履歴サービス提供システム８００によれば、その利用者が利用したことがないサービスについての利用記録情報６２０は、利用者端末装置１００が取得することができないので、そのような形での営業秘密の漏洩を避けることができる。
【０２１１】
図２３は、この実施の形態における利用記録受信部１１１が受信する利用記録情報６２０の別の例を示す図である。
この例において、暗号化記録情報６４０は、すべての商品についての暗号化購入個数６４２を含む。暗号化購入個数６４２は、例えば、商品コード順に並んでおり、左から順に「商品Ａ」「商品Ｂ」「商品Ｃ」「商品Ｄ」「商品Ｅ」についてのものである。
【０２１２】
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０を暗号化して暗号化記録情報６４０を生成する。利用記録情報６２０において利用されていないサービスについては、そのサービスが利用されていないことを示す情報を暗号化して、暗号化記録情報６４０に含める。例えば、「商品Ａ」を購入していないのであれば、購入個数６２２を「０」とし、これを暗号化して暗号化購入個数６４２とする。
これにより、暗号化購入個数６４２を復号できなければ、その商品の売れた数だけでなく、売れたのか売れなかったのかもわからない。
【０２１３】
サービス提供装置８１０がこのような形式の暗号化記録情報６４０を生成し、利用者端末装置１００に対して送信することにより、更に強力に営業秘密を保護することができ、好ましい。
【０２１４】
この実施の形態における利用者端末装置１００（端末装置）は、更に、
通信装置９１５を用いて、利用者端末装置１００を所持している利用者がサービス内容を利用した場合に、サービス提供装置８１０（サーバ装置）から、利用したサービス内容を記録した利用記録情報６２０とそのサービス内容の種別に対応する暗号鍵とを受信し、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報６２０を利用履歴情報６１０として出力し、受信した暗号鍵をサービス暗号鍵６１６として出力する利用履歴受信部１１２を有し、
利用履歴記憶部１２１が、
ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報６１０とサービス暗号鍵６１６とを入力し、メモリなどの記憶装置を用いて、入力した利用履歴情報６１０とサービス暗号鍵６１６とを記憶し、
利用記録受信部１１１が、
通信装置９１５を用いて、サービス提供装置８１０から、複数の利用記録情報６２０を、利用記録情報６２０が記録したサービス内容の種別ごとに異なる暗号鍵でそれぞれ暗号化した複数の暗号化記録情報６４０を受信し、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶したサービス暗号鍵６１６を入力し、ＣＰＵ９１１などの処理装置を用いて、受信した複数の暗号化記録情報６４０を、入力したサービス暗号鍵６１６でそれぞれ復号して、複数の利用記録情報６２０を取得し、ＣＰＵ９１１などの処理装置を用いて、取得した複数の利用記録情報６２０を出力することを特徴とする。
【０２１５】
この実施の形態における利用者端末装置１００によれば、利用履歴記憶部１２１は、利用したことのあるサービス内容の種別についてのサービス暗号鍵６１６を記憶し、利用したことのないサービス内容の種別についてのサービス暗号鍵６１６を記憶していないので、利用記録受信部１１１は、利用したことのあるサービス内容の種別についての暗号化記録情報６４０だけを復号して、利用記録情報６２０を取得することができ、利用者端末装置１００は、信頼性判断・匿名性判断に必要のない情報を得られないので、利用記録情報６２０の不必要な漏洩を防ぐことができるという効果を奏する。
【０２１６】
これにより、店舗から入手する履歴に関する情報のうち利用者が知ることができる情報は、利用者自身が過去に購入した商品に関する情報のみであり、他の利用者の購入情報は保護される。
【０２１７】
なお、この実施の形態では、暗号化記録情報６４０を識別するための情報として記録識別情報６２４を使用しているが、実施の形態５で説明したハッシュ値６２５を使用してもよい。
【０２１８】
実施の形態７．
実施の形態７について、図２４〜図２７を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置１００の機能ブロックの構成は、実施の形態４で説明したものと同様なので、ここでは説明を省略する。
【０２１９】
図２４は、この実施の形態における利用履歴受信部１１２が受信し、利用履歴記憶部１２１が記憶する利用履歴情報６１０の一例を示す図である。
なお、実施の形態３で図１３を用いて説明した利用履歴情報６１０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０２２０】
利用履歴受信部１１２は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用履歴情報６１０を受信する。
利用履歴受信部１１２が受信する利用履歴情報６１０には、履歴暗号鍵６１７が含まれている。
利用履歴受信部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用履歴情報６１０を出力する。利用履歴受信部１１２が出力する利用履歴情報６１０には、受信した履歴暗号鍵６１７が含まれている。利用履歴受信部１１２は、受信した履歴暗号鍵６１７を利用履歴情報６１０とともに出力する。
【０２２１】
履歴暗号鍵６１７は、その利用履歴情報６１０に対応する暗号鍵である。履歴暗号鍵６１７は、利用履歴情報６１０ごとに異なる。
【０２２２】
利用履歴記憶部１２１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報６１０と履歴暗号鍵６１７とを入力する。
利用履歴記憶部１２１は、メモリなどの記憶装置を用いて、入力した利用履歴情報６１０と履歴暗号鍵６１７とを記憶する。
【０２２３】
サービス提供装置８１０は、利用者がサービスを利用すると、ＣＰＵ９１１などの処理装置を用いて、利用したサービスの内容を記録した利用履歴情報６１０を生成する。サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、生成した利用履歴情報６１０を送信する。
サービス提供装置８１０は、更に、ＣＰＵ９１１などの処理装置を用いて、その利用履歴情報６１０に対応する履歴暗号鍵６１７を生成する。サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、生成した履歴暗号鍵６１７を、利用履歴情報６１０とともに送信する。
サービス提供装置８１０は、磁気ディスク装置９２０などの記憶装置を用いて、利用履歴情報６１０と履歴暗号鍵６１７とを、利用記録情報６２０と記録暗号鍵６２７として記憶する。
【０２２４】
なお、履歴暗号鍵６１７（記録暗号鍵６２７）は、このようにサービス提供装置８１０が生成して利用者端末装置１００に対して利用履歴情報６１０とともに送信するのではなく、利用者端末装置１００が生成して、サービス提供装置８１０に対して送信することとしてもよい。あるいは、今回のサービス利用に伴って利用者端末装置１００とサービス提供装置８１０とが通信するために利用した暗号鍵を、履歴暗号鍵６１７（記録暗号鍵６２７）として再利用することとし、利用者端末装置１００及びサービス提供装置８１０が記憶しておいてもよい。
【０２２５】
図２５は、この実施の形態における利用記録受信部１１１が受信する暗号化記録情報６４０と暗号化暗号鍵６５０との一例を示す図である。
なお、実施の形態６で図２３を用いて説明した暗号化記録情報６４０と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０２２６】
暗号化記録情報６４０は、実施の形態６で図２３を用いて説明した暗号化記録情報６４０とほぼ同様である。異なる点は、暗号化購入個数６４２の順番が商品コード順ではない点である。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、ランダムな順番を生成し、生成した順番に暗号化購入個数６４２を並べて暗号化記録情報６４０とする。
暗号化購入個数６４２の順番は、一回に送信される暗号化記録情報６４０の間では同じ順番である。次回の送信、あるいは、他の利用者端末装置１００に対して送信するときには、異なる順番となる。
【０２２７】
サービス提供装置８１０は、暗号化記録情報６４０のほかに、記録識別情報６２４と暗号化暗号鍵６５０とのペアからなるリストを、利用者端末装置１００に対して送信する。
暗号化暗号鍵６５０は、それぞれの記録識別情報６２４によって識別される利用記録情報６２０を暗号化した暗号化記録情報６４０について、暗号化の鍵を、利用記録情報６２０に対応する記録暗号鍵６２７で暗号化したものである。
サービス提供装置８１０は、利用者端末装置１００に対して送信した暗号化記録情報６４０と同じ数の暗号化暗号鍵６５０を、利用者端末装置１００に対して送信する。それぞれの暗号化暗号鍵６５０は、それぞれの暗号化記録情報６４０に対応している。
【０２２８】
なお、この例では、暗号化記録情報６４０と暗号化暗号鍵６５０との双方に、記録識別情報６２４を付けて、その対応関係を明確にしているが、実施の形態５で説明したハッシュ値６２５を記録識別情報６２４の代わりに付けてもよい。その場合、暗号化記録情報６４０と暗号化暗号鍵６５０とのどちらか一方は、記録識別情報６２４を付け、他方はハッシュ値６２５を付けることにより、暗号化記録情報６４０と暗号化暗号鍵６５０との対応がわからないようにすることが好ましい。更に、暗号化記録情報６４０の順番と暗号化暗号鍵６５０の順番をランダムにし、異なる順番とする。また、ハッシュ値６２５を、暗号化記録情報６４０にも、暗号化暗号鍵６５０にも付ける場合には、異なるハッシュ関数を用いるなどして、異なるハッシュ値６２５が付くようにし、暗号化記録情報６４０と暗号化暗号鍵６５０との対応関係がわからないようにする。
【０２２９】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた暗号化記録情報６４０と暗号化暗号鍵６５０とを受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴暗号鍵６１７を入力する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、履歴暗号鍵６１７が対応する利用履歴情報６１０の履歴識別情報６１４と一致する記録識別情報６２４を付された暗号化暗号鍵６５０を、履歴暗号鍵６１７で復号する。
【０２３０】
利用履歴記憶部１２１は、利用者端末装置１００を所持している利用者が利用したサービスを記録した利用記録情報６２０に対応する記録暗号鍵６２７を、履歴暗号鍵６１７として記憶しているので、利用履歴情報６１０の履歴識別情報６１４と一致する記録識別情報６２４が付された暗号化暗号鍵６５０を復号することができる。しかし、他の利用者が利用したサービスを記録した利用記録情報６２０についての記録暗号鍵６２７は記憶していないので、他の暗号化暗号鍵６５０を復号することはできない。
【０２３１】
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、暗号化暗号鍵６５０を履歴暗号鍵６１７で復号し、商品コード６５１、位置６５２、サービス暗号鍵６５６からなるリストを取得する。
商品コード６５１は、対応する利用記録情報６２０に記録された商品コード６２１と同じものである。
位置６５２は、暗号化記録情報６４０のなかで、商品コード６５１に対応する暗号化購入個数６４２の位置を示す情報である。
サービス暗号鍵６５６は、その暗号化購入個数６４２を復号するために必要な暗号鍵である。
【０２３２】
なお、商品コードは、商品に付されたバーコードが示す情報のように公開された情報ではなく、サービス提供装置８１０が独自に生成した情報を用いるほうが好ましい。そうすれば、利用者端末装置１００は、利用履歴情報６１０に基づいて、購入したことのある商品の商品コードを知ることができるが、購入したことのない商品の商品コードを知ることができない。
【０２３３】
この例では、「商品Ａ」についての暗号化購入個数６４２は、暗号化記録情報６４０の「３番目」に位置し、それを復号するための暗号鍵は「３５６３」であることを示している。
記録識別情報６２４「０５７６」で識別される利用記録情報６２０には、利用者が「商品Ａ」「商品Ｂ」「商品Ｄ」を購入したことが記憶されているので、記録識別情報６２４「０５７６」に対応する暗号化暗号鍵６５０を復号すると、利用記録受信部１１１は、「商品Ａ」「商品Ｂ」「商品Ｄ」についての位置６５２、サービス暗号鍵６５６を取得できる。
また、記録識別情報６２４「１０８５」に対応する暗号化暗号鍵６５０を復号すると、利用記録受信部１１１は、「商品Ａ」「商品Ｃ」についての位置６５２、サービス暗号鍵６５６を取得できる。
【０２３４】
このようにして、利用記録受信部１１１は、購入したことがあるすべての商品についての位置６５２、サービス暗号鍵６５６を取得する。しかし、購入したことがない商品については、暗号化暗号鍵６５０を復号できないので、位置６５２やサービス暗号鍵６５６を取得することはできない。
【０２３５】
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、暗号化購入個数６４２を取得したサービス暗号鍵６５６で復号し、購入個数６２２を取得する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、復号して得た利用記録情報６２０を出力する。
【０２３６】
実施の形態６では、１つのサービス内容の種別については、常に同一のサービス暗号鍵で暗号化している。
しかし、暗号鍵を頻繁に変えるほうが、解読されにくくなるので好ましい。
この実施の形態は、暗号化記録情報６４０を１回送信するごとにサービス暗号鍵６５６を変化させることにより、暗号を解読されにくくするものである。
【０２３７】
図２６は、この実施の形態におけるサービス提供装置８１０が暗号化記録情報６４０を送信する利用記録送信処理の流れの一例を示すフローチャート図である。
利用記録送信処理は、図１７のＳ１１に相当する処理である。
【０２３８】
Ｓ７１において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、すべての商品について、それぞれのサービス暗号鍵６５６をランダムに生成する。
また、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、利用記録情報６２０において暗号化購入個数６４２を並べる順番をランダムに生成する。
【０２３９】
Ｓ７２において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、利用者端末装置１００から受信した記録識別情報６２４によって識別される利用記録情報６２０を、磁気ディスク装置９２０などの記憶装置から読み出す。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、読み出した利用記録情報６２０に含まれる購入個数６２２を、その商品についてＳ７１で生成したサービス暗号鍵６５６で暗号化し、暗号化購入個数６４２を生成する。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、生成した暗号化購入個数６４２を、Ｓ７１で生成した順序に並べて、暗号化記録情報６４０を生成する。
【０２４０】
Ｓ７３において、サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７２で読み出した利用記録情報６２０に対応する記録暗号鍵６２７を、磁気ディスク装置９２０などの記憶装置から読み出す。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７２で読み出した利用記録情報６２０に購入したことが記録されている商品についてＳ７１で生成したサービス暗号鍵６５６を、読み出した記録暗号鍵６２７で暗号化して、暗号化暗号鍵６５０を生成する。
【０２４１】
Ｓ７４において、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、Ｓ７２で生成した暗号化記録情報６４０と、Ｓ７３で生成した暗号化暗号鍵６５０とを送信する。
【０２４２】
図２７は、この実施の形態における利用記録受信部１１１が、暗号化記録情報６４０を受信して復号する利用記録受信処理の流れの一例を示すフローチャート図である。
【０２４３】
Ｓ８１において、利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた暗号化記録情報６４０と暗号化暗号鍵６５０とを受信する。
【０２４４】
Ｓ８２において、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴暗号鍵６１７のなかから、Ｓ８１で受信した暗号化暗号鍵６５０に対応する履歴暗号鍵６１７を抽出する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８１で受信した暗号化暗号鍵６５０を、抽出した履歴暗号鍵６１７で復号し、商品コード６５１、位置６５２、サービス暗号鍵６５６を取得する。
【０２４５】
Ｓ８３において、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８１で受信した利用記録情報６２０に含まれる暗号化購入個数６４２のうち、Ｓ８２で取得した位置６５２にある暗号化購入個数６４２を、Ｓ８２で取得したサービス暗号鍵６５６で復号し、購入個数６２２を取得する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８２で取得した商品コード６５１と、取得した購入個数６２２とから、利用記録情報６２０を生成する。
【０２４６】
Ｓ８４において、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８３で生成した利用記録情報６２０を出力する。
【０２４７】
このように、２段階の暗号化処理をすることで、サービス暗号鍵６５６を毎回変えることができ、暗号を解読されにくくすることができる。
また、暗号化記録情報６４０のなかにおける暗号化購入個数６４２の位置を毎回変えることにより、更に暗号を解読されにくくすることができる。
【０２４８】
この実施の形態における利用者端末装置１００（端末装置）は、更に、
通信装置９１５を用いて、利用者端末装置１００を所持している利用者がサービス内容を利用した場合に、サービス提供装置８１０（サーバ装置）から、利用したサービス内容を記録した利用記録情報６２０と利用記録情報６２０に対応する暗号鍵とを受信し、ＣＰＵ９１１などの処理装置を用いて、受信した利用記録情報６２０を利用履歴情報６１０として出力し、受信した暗号鍵を履歴暗号鍵６１７として出力する利用履歴受信部１１２を有し、
利用履歴記憶部１２１が、
ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報６１０と履歴暗号鍵６１７とを入力し、メモリなどの記憶装置を用いて、入力した利用履歴情報６１０と履歴暗号鍵６１７とを記憶し、
利用記録受信部１１１が、
通信装置９１５を用いて、サービス提供装置８１０から、複数の利用記録情報６２０を、利用記録情報６２０が記録したサービス内容の種別ごとに異なるサービス暗号鍵６５６でそれぞれ暗号化した複数の暗号化記録情報６４０と、利用記録情報６２０が記録したサービス内容の種別に対応するサービス暗号鍵６５６を、利用記録情報６２０に対応する記録暗号鍵６２７でそれぞれ暗号化した複数の暗号化暗号鍵６５０とを受信し、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶した履歴暗号鍵６１７を入力し、ＣＰＵ９１１などの処理装置を用いて、受信した複数の暗号化暗号鍵６５０の少なくともいずれかを、入力した履歴暗号鍵６１７で復号して、サービス暗号鍵６５６を取得し、ＣＰＵ９１１などの処理装置を用いて、受信した複数の暗号化記録情報６４０を、取得したサービス暗号鍵６５６でそれぞれ復号して、複数の利用記録情報６２０を取得し、ＣＰＵ９１１などの処理装置を用いて、取得した複数の利用記録情報６２０を出力することを特徴とする。
【０２４９】
この実施の形態における利用者端末装置１００によれば、利用記録受信部１１１が受信した暗号化暗号鍵６５０を復号して取得したサービス暗号鍵６５６で、利用記録受信部１１１が受信した暗号化記録情報６４０を復号するので、サービス暗号鍵６５６を毎回変えることができ、暗号を解読されにくくすることができるという効果を奏する。
【０２５０】
実施の形態８．
実施の形態８について、図２８〜図３６を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置１００の機能ブロックの構成は、実施の形態４で説明したものと同様なので、ここでは説明を省略する。
【０２５１】
利用者端末装置１００の記憶装置は、サービス利用プログラムなどのプログラムを格納している。サービス利用プログラムは、履歴サービスを利用するための処理を行うプログラムである。利用者端末装置１００のＣＰＵ９１１などの処理装置が、サービス利用プログラムを実行することにより、利用者端末装置１００の機能ブロックが実現される。
【０２５２】
利用者端末装置１００のＵＩＭ２１０の記憶装置は、サービス利用記録群や利用者特定率設定情報などのデータを記憶している。
サービス利用記録群とは、利用履歴記憶部１２１が記憶した利用履歴情報６１０のことである。サービス利用記録群は、利用者の購入した商品の購入情報の集まりであり、利用者が商品を購入する度に追加される。
利用者特定率設定情報とは、匿名性判断部１３１が匿名性を判断するために、利用者特定率と比較する閾値を示す情報である。利用者特定率設定情報は、店舗が履歴に含まれる購入情報から利用者を特定できる確率（利用者特定率）を記した情報であり、利用者端末装置１００の匿名履歴判別部１３０は、購入情報を履歴（匿名履歴情報６３０）に含めるか否かを、この値を用いて判断する。
【０２５３】
図２８は、この実施の形態におけるサービス提供装置８１０の機能ブロックの構成の一例を示すブロック構成図である。
サービス提供装置８１０は、利用履歴生成部８２１、利用履歴送信部８２２、利用記録記憶部８２３、記録識別送信部８２４、選択識別受信部８２５、送信利用記録生成部８２６、利用記録送信部８２７、匿名履歴受信部８３１、サービス情報記憶部８３２、サービス情報選択部８３３、サービス情報送信部８３４、秘密鍵記憶部８４１、証明書記憶部８４２などを有する。
以下に説明するサービス提供装置８１０の機能ブロックは、サービス提供装置８１０の磁気ディスク装置９２０などの記憶装置が記憶したサービス提供プログラムを、サービス提供装置８１０のＣＰＵ９１１などの処理装置が実行することにより実現する。
サービス提供プログラムは、履歴サービスを提供するための処理を行うプログラムである。
【０２５４】
利用履歴生成部８２１は、利用者がサービスを利用した場合に、ＣＰＵ９１１などの処理装置を用いて、利用者が利用したサービスについての情報を入力し、履歴として記録するための利用履歴情報６１０を生成する。
利用履歴生成部８２１は、ＣＰＵ９１１などの処理装置を用いて、生成した利用履歴情報６１０を出力する。
利用履歴生成部８２１は、例えば、店内のレジなどと通信して情報を入力し、利用履歴情報６１０を生成する。
【０２５５】
利用履歴送信部８２２は、ＣＰＵ９１１などの処理装置を用いて、利用履歴生成部８２１が出力した利用履歴情報６１０を入力する。
利用履歴送信部８２２は、通信装置９１５を用いて、入力した利用履歴情報６１０を、その利用者の所持する利用者端末装置１００に対して送信する。
【０２５６】
利用記録記憶部８２３は、ＣＰＵ９１１などの処理装置を用いて、利用履歴生成部８２１が出力した利用履歴情報６１０を入力する。
利用記録記憶部８２３は、磁気ディスク装置９２０などの記憶装置を用いて、入力した利用履歴情報６１０を利用記録情報６２０として記憶する。
【０２５７】
利用履歴生成部８２１が生成する利用履歴情報６１０には、利用者を特定できる情報（利用者の固定ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）や、利用者端末装置１００の機器番号など）は含まれていない。
利用履歴情報６１０は、利用者がサービスを利用するごとに個別に生成され、利用記録記憶部８２３が利用記録情報６２０として蓄積していく。利用記録記憶部８２３が記憶する利用記録情報６２０は、利用者がサービスを利用するたびに追加されて増えていく。
【０２５８】
利用記録情報６２０には、利用者を特定できる情報が含まれていないので、サービス提供装置８１０は、利用記録記憶部８２３が記憶した利用記録情報６２０のうち、いずれが同一の利用者のものであり、いずれが異なる利用者のものであるかを判別できない。
【０２５９】
以下、利用記録記憶部８２３が記憶した利用記録情報６２０の一つ一つをサービス利用記録情報と呼び、利用記録記憶部８２３が記憶した利用記録情報６２０の全体をサービス利用記録情報群と呼ぶ。
【０２６０】
記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶したすべての利用記録情報６２０について、その利用記録情報６２０を識別する記録識別情報６２４を入力する。
記録識別送信部８２４は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した記録識別情報６２４を送信する。
この例では、記録識別情報６２４として、サービス利用記録情報に含まれるＩＤ番号を使用する。
【０２６１】
選択識別受信部８２５は、通信装置９１５を用いて、利用者端末装置１００が送信してきた選択識別情報を受信する。
選択識別受信部８２５は、ＣＰＵ９１１などの処理装置を用いて、受信した選択識別情報を出力する。
選択識別情報とは、記録識別送信部８２４が送信した記録識別情報６２４のなかから利用者端末装置１００が選択した記録識別情報６２４を示す情報である。
【０２６２】
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、選択識別受信部８２５が出力した選択識別情報を入力する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶した利用記録情報６２０のうち、入力した選択識別情報に基づいて、利用者端末装置１００が選択した記録識別情報６２４によって識別される利用記録情報６２０を入力する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０に、暗号化などの処理を加えて、送信利用記録情報を生成する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、生成した送信利用記録情報を出力する。
【０２６３】
なお、あまりに多くの記録識別情報６２４を利用者端末装置１００が選択した場合、利用者端末装置１００が、送信利用記録情報から、匿名履歴情報６３０の生成に必要な情報以上の情報を取得してしまう可能性がある。
そこで、例えば、選択できる記録識別情報６２４の数に上限を設けてもよい。すなわち、送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、利用者端末装置１００が選択した記録識別情報６２４の数を数える。送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、数えた記録識別情報６２４の数を所定の閾値と比較して、利用者端末装置１００が選択した記録識別情報６２４の数が適正であるか（多すぎないか）を判断する。利用者端末装置１００が選択した記録識別情報６２４の数が適正であると判断した場合のみ、送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、送信利用記録情報を生成し、利用者端末装置１００が選択した記録識別情報６２４の数が適正でない（多すぎる）と判断した場合は、送信利用記録生成部８２６は、送信利用記録情報を生成しない。
これにより、例えば、ライバル店の店員が売れ筋商品を調べるなど、履歴サービスを利用する以外の目的で、利用記録情報を得ようとした場合に、情報が流出するのを防ぐことができる。
【０２６４】
利用記録送信部８２７は、ＣＰＵ９１１などの処理装置を用いて、送信利用記録生成部８２６が出力した送信利用記録情報を入力する。
利用記録送信部８２７は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した送信利用記録情報を送信する。
【０２６５】
匿名履歴受信部８３１は、通信装置９１５を用いて、利用者端末装置１００が送信してきた匿名履歴情報６３０を受信する。
匿名履歴受信部８３１は、ＣＰＵ９１１などの処理装置を用いて、受信した匿名履歴情報６３０を出力する。
匿名履歴情報６３０とは、利用者が過去にサービスを利用した履歴を示す情報であり、利用者端末装置１００が生成して、送信する。利用者端末装置１００は、利用履歴送信部８２２が送信した利用履歴情報６１０を受信して記憶しておくことにより、利用者端末装置１００を所持している利用者がサービスを利用した利用履歴情報６１０をすべて記憶している。利用者端末装置１００は、利用記録送信部８２７が送信した送信利用記録情報に基づいて、記憶した利用履歴情報６１０のなかから利用者を特定されにくい情報を判別し、匿名履歴情報６３０を生成する。
【０２６６】
サービス情報記憶部８３２は、磁気ディスク装置９２０などの記憶装置を用いて、サービス情報を記憶する。
サービス情報とは、利用者に対して提供すべきサービスについての情報である。例えば、商品の値引き情報などである。
【０２６７】
サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、匿名履歴受信部８３１が出力した匿名履歴情報６３０を入力する。
サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、サービス情報記憶部８３２が記憶したサービス情報のうち、入力した匿名履歴情報６３０に基づいて、その利用者にとって有用であろうサービス情報を選択して、入力する。
サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス情報を出力する。
【０２６８】
サービス情報送信部８３４は、ＣＰＵ９１１などの処理装置を用いて、サービス情報選択部８３３が出力したサービス情報を入力する。
サービス情報送信部８３４は、通信装置９１５を用いて、利用者端末装置１００に対して、入力したサービス情報を送信する。
利用者端末装置１００は、サービス情報送信部８３４が送信したサービス情報を受信し、表示装置９０１に表示するなどして、利用者に通知する。
【０２６９】
サービス情報には、その店舗が扱っている多数の商品それぞれについての情報がある。利用者は、その店舗が扱っている商品すべてに興味があるとは限らないので、すべてのサービス情報を送信されても迷惑である。自分が買いたい商品についての値引き情報があっても、他の不必要な情報のなかに埋もれて見逃してしまう危険もある。
【０２７０】
そこで、サービス情報選択部８３３は、匿名履歴情報６３０に基づいて、例えば、過去に利用者が購入したことのある商品を判別し、その商品やその商品に関係のある商品についてのサービス情報を選択する。
これにより、利用者は、厳選された情報のみを見ることができ、有用な情報を見逃す心配がない。
【０２７１】
秘密鍵記憶部８４１は、磁気ディスク装置９２０などの記憶装置を用いて、サービス提供者の秘密鍵を記憶する。
サービス提供者の秘密鍵とは、サービス提供装置８１０が利用者端末装置１００と通信するために用いる公開鍵暗号方式における秘密鍵であり、サービス提供装置８１０が他者に知られないよう保管しているものである。
【０２７２】
証明書記憶部８４２は、磁気ディスク装置９２０などの記憶装置を用いて、公開鍵証明書を記憶する。
公開鍵証明書とは、サービス提供装置８１０が利用者端末装置１００と通信するために用いる公開鍵暗号方式において、秘密鍵記憶部８４１が記憶した秘密鍵と対になる公開鍵が、本当にそのサービス提供装置８１０の秘密鍵と対をなすものであることを証明する情報である。
公開鍵証明書は、サービス提供装置８１０の秘密鍵と対をなす公開鍵を示す情報を含み、証明書発行機関あるいはその店舗自身が発行する。
【０２７３】
図２９は、この実施の形態における利用記録記憶部８２３が記憶するサービス利用記録情報群７１０の一例を示す図である。
サービス利用記録情報群７１０は、１以上のサービス利用記録情報７１１を有する。
サービス利用記録情報７１１は、ＩＤ番号７１２、共通鍵７１３、サービス利用記録７１４などを含む。
ＩＤ番号７１２は、商品購入などのサービス利用時に利用者が用いた可変の匿名ＩＤを示す情報である。ＩＤ番号７１２は、記録識別情報６２４の一例である。
共通鍵７１３は、商品購入などのサービス利用時に利用者との通信を暗号化するためにい用いた共通鍵暗号の鍵を示す情報である。
サービス利用記録７１４は、商品購入などのサービス利用を記録した情報であり、商品コード、個数、購入時刻などが含まれる。
例えば、ＩＤ番号７１２「ＩＤ１」のサービス利用記録情報には、そのときの通信に用いた共通鍵が「共通鍵１」であること、そのときに購入した商品が「商品Ａが３個」「商品Ｂが１個」であり、購入時刻が「１月１５日１０時３０分」であることが記録されている。
同様に、ＩＤ番号７１２「ＩＤ２」のサービス利用記録情報には、共通鍵が「共通鍵２」、購入した商品が「商品Ａが２個」「商品Ｃが１個」「商品Ｄが２個」、購入時刻が「１月１５日１４時１５分」であることが記録されている。
【０２７４】
ＩＤ番号７１２は、そのとき１回限りのサービス利用時に使われるものであり、次回のサービス利用時には、また異なるＩＤ番号７１２を使う。したがって、サービス提供装置８１０は、ＩＤ番号７１２から利用者を特定することができない。
【０２７５】
なお、サービス利用記録７１４に含まれる商品コードは、商品に付されたバーコードが示す情報のように公開された情報ではなく、サービス提供装置８１０が独自に生成した非公開の情報を用いる。
【０２７６】
サービス提供装置８１０は、サービス利用記録情報７１１を分析することにより、時間帯や季節ごとの売れ筋商品を判別したり、利用者が同時に購入した商品から利用者の購入傾向を判別したりすることができ、経営戦略に役立てることができる。
しかも、サービス提供装置８１０は、サービス利用記録情報７１１から利用者を特定できないので、利用者は安心してサービスを利用することができる。
【０２７７】
図３０は、この実施の形態における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れを示すフローチャート図である。
【０２７８】
まず、利用者は、履歴サービスの利用登録をする。利用者は、例えば、サービス利用プログラムをダウンロードして、利用者端末装置１００に格納する。これにより、履歴サービスを利用する準備が整う。
【０２７９】
次に、利用者が、サービス利用プログラムを格納した利用者端末装置１００を持って来店する。
履歴サービス提供システム８００は、店舗の入口などに設置されたセンサー端末などによって、利用者の来店を検知する。
サービス提供装置８１０は、利用者端末装置１００との間の通信を確立する（通信確立処理）。
【０２８０】
サービス提供装置８１０と利用者端末装置１００との間の通信により、利用者端末装置１００にサービス情報が送られる。利用者端末装置１００がサービス情報を表示装置９０１に表示するなどして、利用者にサービス情報が提供される（情報提供処理）。
利用者は、提供されたサービス情報を参考にして、商品を購入する。
サービス提供装置８１０は、利用者が購入した商品などを示すサービス利用記録情報を生成し、記憶する。サービス提供装置８１０は、生成したサービス利用記録情報を利用者端末装置１００に送信し、利用者端末装置１００も、サービス利用記録情報を記憶する（利用記録処理）。
【０２８１】
利用者が帰ると、サービス提供装置８１０は、利用者端末装置１００との間の通信を切断し、１回の利用が終わる（通信切断処理）。
【０２８２】
利用者が次に来店したときも同様の処理が行われる。サービス提供装置８１０は、利用者を特定できる情報を有していないので、同じ利用者が再び来店したのか、異なる利用者が来店したのか、区別することはできない。
【０２８３】
次に、各処理の詳細を説明する。
【０２８４】
図３１は、この実施の形態における履歴サービス提供システム８００が、利用者端末装置１００とサービス提供装置８１０との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図である。
【０２８５】
Ｔ１１において、サービス提供装置８１０が利用者の来店を検知すると、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、証明書記憶部８４２が記憶した公開鍵証明書を送信する。
【０２８６】
Ｔ１２において、利用者端末装置１００は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた公開鍵証明書を受信する。
利用者端末装置１００は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を検証し、サービス提供装置８１０を認証する。
【０２８７】
認証に成功した場合、Ｔ１３において、利用者端末装置１００は、ＣＰＵ９１１などの処理装置を用いて、今回の通信に使う共通鍵をランダムに生成する。
利用者端末装置１００は、ＣＰＵ９１１などの処理装置を用いて、生成した共通鍵を、サービス提供装置８１０の公開鍵証明書に含まれるサービス提供装置８１０の公開鍵で暗号化する。
利用者端末装置１００は、通信装置９１５を用いて、サービス提供装置８１０に対して、暗号化した共通鍵を送信する。
【０２８８】
Ｔ１４において、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００が送信してきた暗号化した共通鍵を受信する。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、受信した暗号化した共通鍵を、秘密鍵記憶部８４１が記憶した秘密鍵で復号し、共通鍵を取得する。
【０２８９】
この手順により、利用者端末装置１００とサービス提供装置８１０とは共有鍵を共有し、この共有鍵によって暗号化した通信が確立する。以後、通信切断まで、この共有鍵により暗号化した通信により、利用者端末装置１００とサービス提供装置８１０との間の通信が行われる。
【０２９０】
共有鍵は、利用者端末装置１００がその都度ランダムに生成し、今回のサービス利用に用いた共有鍵と、次回のサービス利用に用いる共有鍵との間には、何の関連性もない。したがって、サービス提供装置８１０は、共有鍵に基づいて利用者端末装置１００及び利用者を特定することはできない。
また、通信確立処理の過程において、利用者端末装置１００の公開鍵など利用者端末装置１００を特定できる情報は、サービス提供装置８１０に送信されていない。したがって、サービス提供装置８１０は、通信確立処理で得た情報に基づいて利用者端末装置１００及び利用者を特定することはできない。
【０２９１】
店内に複数の利用者端末装置１００がある場合、サービス提供装置８１０は、共有鍵によって利用者端末装置１００を区別する。したがって、サービス提供装置８１０が利用者端末装置１００を特定しなくとも、サービス提供装置８１０と利用者端末装置１００との間の１対１通信を正常に行うことができる。
共有鍵が衝突する可能性はほとんどないが、万が一衝突した場合には、サービス提供装置８１０が通信を切断し、通信確立処理を最初からやり直すこととしてもよい。
【０２９２】
なお、通信確立処理における認証方式・共通鍵共有方式は、非特許文献２に記載の方式など、一般的な方式を用いてもよい。
【０２９３】
Ｔ１５において、利用者端末装置１００は、ＣＰＵ９１１などの処理装置を用いて、今回のサービス利用を識別する匿名ＩＤをランダムに生成する。
利用者端末装置１００は、通信装置９１５を用いて、サービス提供装置８１０に対して、生成した匿名ＩＤを送信する。
【０２９４】
匿名ＩＤは、今回のサービス利用の間に限り、利用者端末装置１００を識別する情報である。匿名ＩＤは、利用者端末装置１００がその都度ランダムに生成し、今回のサービス利用に用いた匿名ＩＤと、次回のサービス利用に用いる匿名ＩＤとの間には、何の関連性もない。したがって、サービス提供装置８１０は、今回のサービス利用の間は、匿名ＩＤに基づいて利用者端末装置１００を識別できるが、その後は、匿名ＩＤに基づいて利用者端末装置１００及び利用者を特定することはできない。
【０２９５】
匿名ＩＤは、また、今回のサービス利用をサービス利用記録情報として記録する際に、利用記録記憶部８２３が記憶したサービス利用記録情報群７１０のなかでサービス利用記録情報７１１を識別するＩＤ番号７１２として使用する。
【０２９６】
Ｔ１６において、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００が送信してきた匿名ＩＤを受信する。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶したサービス利用記録情報７１１のＩＤ番号７１２を入力する。
サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２のなかに、受信した匿名ＩＤと同一のものがないか判断する。
【０２９７】
同一のＩＤ番号７１２が既にある場合（匿名ＩＤの衝突）、サービス提供装置８１０は、通信装置９１５を用いて、そのことを利用者端末装置１００に通知する情報を送信する。
利用者端末装置１００は、通信装置９１５を用いてこれを受信し、ＣＰＵ９１１などの処理装置を用いて別の匿名ＩＤを生成し、通信装置９１５を用いてサービス提供装置８１０に対して送信する。
【０２９８】
同一のＩＤ番号７１２がない場合、Ｔ１７において、サービス提供装置８１０は、通信装置９１５を用いて、そのことを利用者端末装置１００に通知する情報を送信し、匿名ＩＤを用いた通信が確立する。以後、通信切断まで、利用者端末装置１００は、自己をサービス提供装置８１０に識別させる情報として、匿名ＩＤを使用する。これにより、店内に複数の利用者端末装置１００がある場合でも、サービス提供装置８１０は、発信元の利用者端末装置１００を識別でき、送信先の利用者端末装置１００を指定できる。
【０２９９】
なお、この例では、匿名ＩＤの衝突があるか否かをサービス提供装置８１０が判断しているが、以下で説明するように、サービス提供装置８１０は、利用者端末装置１００に対してＩＤ番号７１２の一覧を送信するので、利用者端末装置１００が匿名ＩＤの衝突があるか否かを判断することもできる。
例えば、この時点では、現在通信中の他の利用者端末装置１００との間で匿名ＩＤが衝突していなければよいことにして、これを仮匿名ＩＤとする。その後、利用者端末装置１００は、仮匿名ＩＤによる通信により、ＩＤ番号７１２の一覧を受信し、受信したＩＤ番号７１２の一覧から、衝突しない匿名ＩＤを判別する。これを正式な匿名ＩＤとして、サービス提供装置８１０に送信し、以後は、正式な匿名ＩＤによる通信を行う。
【０３００】
図３２は、この実施の形態における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
【０３０１】
匿名ＩＤ一覧送信工程において、記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶しているサービス利用記録情報群７１０に含まれるすべてのＩＤ番号７１２を入力する。
記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧を作成する。
記録識別送信部８２４は、通信装置９１５を用いて、利用者端末装置１００に対して、作成したＩＤ番号７１２の一覧を送信する。
【０３０２】
匿名ＩＤ一覧受信工程において、記録識別受信部１１３は、通信装置９１５を用いて、匿名ＩＤ一覧送信工程でサービス提供装置８１０が送信したＩＤ番号７１２の一覧を受信する。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２の一覧を出力する。
【０３０３】
匿名ＩＤ選択工程において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ一覧受信工程で記録識別受信部１１３が出力したＩＤ番号７１２の一覧を入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうち、利用履歴記憶部１２１が記憶しているサービス利用記録情報群７１０（利用履歴情報６１０）に含まれるすべてのＩＤ番号７１２（履歴識別情報６１４）を選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうち、更に、それ以外のＩＤ番号７１２を十分な数選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択したＩＤ番号７１２のリストを出力する。
【０３０４】
匿名ＩＤサブセット送信工程において、選択識別送信部１４２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ選択工程で記録識別選択部１５２が出力したＩＤ番号７１２のリストを入力する。
選択識別送信部１４２は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力したＩＤ番号７１２のリストを送信する。
【０３０５】
匿名ＩＤサブセット受信工程において、選択識別受信部８２５は、通信装置９１５を用いて、匿名ＩＤサブセット送信工程で選択識別送信部１４２が送信したＩＤ番号７１２のリストを受信する。
選択識別受信部８２５は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２のリストを出力する。
【０３０６】
履歴生成用情報作成工程において、送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤサブセット受信工程で選択識別受信部８２５が出力したＩＤ番号７１２のリストを入力する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２それぞれについて、利用記録記憶部８２３が記憶したサービス利用記録情報７１１を入力する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７１１から送信利用記録情報を作成する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、作成した送信利用記録情報を出力する。
なお、送信利用記録情報は、利用者端末装置１００が匿名履歴情報６３０を生成するために使用するものなので、履歴生成用情報と呼ぶ場合がある。
【０３０７】
履歴生成用情報送信工程において、利用記録送信部８２７は、ＣＰＵ９１１などの処理装置を用いて、履歴生成用情報作成工程で送信利用記録生成部８２６が作成した送信利用記録情報を入力する。
利用記録送信部８２７は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した送信利用記録情報を送信する。
【０３０８】
履歴生成用情報受信工程において、利用記録受信部１１１は、通信装置９１５を用いて、履歴生成用情報送信工程で利用記録送信部８２７が送信した送信利用記録情報（暗号化記録情報６４０）を受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した送信利用記録情報から利用記録情報６２０を取得する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、取得した利用記録情報６２０を出力する。
【０３０９】
履歴生成用情報検証工程において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報６２０を入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０が改竄されていないかを検証する。
利用記録情報６２０が改竄されていないと、信頼性判断部１５１が判断した場合は、履歴生成工程を実行する。
【０３１０】
履歴生成工程において、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力した利用記録情報６２０を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用記録情報６２０に基づいて、個々の商品について利用者特定率を算出する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、算出した利用者特定率と、利用者特定率設定情報が示す閾値とを比較して、その商品についての情報の匿名性を判断する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名性が高いと判断した商品についての情報から、匿名履歴情報６３０を生成する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名履歴情報６３０を出力する。
【０３１１】
履歴送信工程において、匿名履歴送信部１４１は、ＣＰＵ９１１などの処理装置を用いて、履歴生成工程で匿名履歴判別部１３０が出力した匿名履歴情報６３０を入力する。
匿名履歴送信部１４１は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名履歴情報６３０を送信する。
【０３１２】
匿名履歴判別部１３０が匿名履歴情報６３０を出力しない場合、匿名履歴送信部１４１は、匿名履歴情報６３０として、空の情報を送信する。
匿名履歴判別部１３０が匿名履歴情報６３０を出力しない場合とは、例えば、利用者が商品を購入したことがなく、送信すべき履歴が存在しない場合である。
あるいは、利用記録情報６２０が改竄されていると信頼性判断部１５１が判断した結果、匿名履歴判別部１３０が匿名履歴情報６３０を出力しない場合もある。
また、購入したことがあるすべての商品について、匿名性が低いと匿名履歴判別部１３０が判断した結果、匿名履歴情報６３０を出力しない場合もある。
【０３１３】
匿名履歴送信部１４１は、これらの場合を区別せず、サービス提供装置８１０に対して、空の情報を送信する。サービス提供装置８１０に利用者を特定する手がかりを与えないためである。
【０３１４】
履歴受信工程において、匿名履歴受信部８３１は、通信装置９１５を用いて、履歴送信工程で利用者端末装置１００が送信した匿名履歴情報６３０を受信する。
匿名履歴受信部８３１は、ＣＰＵ９１１などの処理装置を用いて、受信した匿名履歴情報６３０を出力する。
【０３１５】
サービス情報選択工程において、サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、履歴受信工程で匿名履歴受信部８３１が出力した匿名履歴情報６３０を入力する。
サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名履歴情報６３０を分析して、利用者が購入したことがある商品などのサービス利用履歴を取得する。
サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、取得したサービス利用履歴に基づいて、サービス情報記憶部８３２が記憶したサービス情報のなかから、その利用者にとって有用そうな情報を選択する。
サービス情報選択部８３３は、ＣＰＵ９１１などの処理装置を用いて、選択したサービス情報を出力する。
【０３１６】
サービス情報送信工程において、サービス情報送信部８３４は、ＣＰＵ９１１などの処理装置を用いて、サービス情報選択工程でサービス情報選択部８３３が出力したサービス情報を入力する。
サービス情報送信部８３４は、通信装置９１５を用いて、利用者端末装置１００に対して、入力したサービス情報を送信する。
【０３１７】
サービス情報受信工程において、利用者端末装置１００は、通信装置９１５を用いて、サービス情報送信工程でサービス情報送信部８３４が送信したサービス情報を受信する。
【０３１８】
サービス情報表示工程において、利用者端末装置１００は、表示装置９０１を用いて、サービス情報受信工程で受信したサービス情報を表示する。
【０３１９】
図３３は、この実施の形態における履歴サービス提供システム８００において、サービス提供装置８１０と利用者端末装置１００とがやり取りする情報の一例を示す図である。
【０３２０】
サービス提供装置８１０の利用記録記憶部８２３は、図２９に示したサービス利用記録情報群７１０を記憶しているものとする。
利用記録記憶部８２３は、「ＩＤ１」「ＩＤ２」「ＩＤ３」「ＩＤ４」「ＩＤ５」の５つのサービス利用記録情報７１１を記憶している。
【０３２１】
利用者端末装置１００の利用履歴記憶部１２１は、このうち「ＩＤ３」「ＩＤ５」のサービス利用記録情報７１１を、利用履歴情報６１０として記憶している。
すなわち、この２回のサービス利用記録は、この利用者端末装置１００を所持している利用者のものである。しかし、サービス提供装置８１０は、そのことを知らない。
【０３２２】
記録識別送信部８２４は、利用記録記憶部８２３が記憶したサービス利用記録情報群７１０に含まれるＩＤ番号７１２をすべて一覧にして、利用者端末装置１００に対して送信する。この例では、記録識別送信部８２４が送信するＩＤ番号７１２の一覧は、「ＩＤ１」「ＩＤ２」「ＩＤ３」「ＩＤ４」「ＩＤ５」の５つのＩＤ番号７１２からなる。
記録識別受信部１１３は、記録識別送信部８２４が送信したＩＤ番号７１２の一覧を受信する。
【０３２３】
記録識別選択部１５２は、記録識別受信部１１３が受信したＩＤ番号７１２の一覧のなかからＩＤ番号７１２を選択する。この例では、記録識別選択部１５２は、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１に含まれるＩＤ番号７１２である「ＩＤ３」「ＩＤ５」を選択し、更に、それ以外のＩＤ番号７１２から「ＩＤ２」「ＩＤ４」を選択する。
【０３２４】
選択識別送信部１４２は、記録識別選択部１５２が選択したＩＤ番号７１２のリストを、サービス提供装置８１０に対して送信する。この例では、選択識別送信部１４２が送信するＩＤ番号のリストは、「ＩＤ２」「ＩＤ３」「ＩＤ４」「ＩＤ５」の４つのＩＤ番号７１２からなる。
選択識別受信部８２５は、選択識別送信部１４２が送信したＩＤ番号７１２のリストを受信する。
【０３２５】
図３４は、この実施の形態における送信利用記録生成部８２６が生成する履歴生成用情報７４０の一例を示す図である。
【０３２６】
送信利用記録生成部８２６が生成する履歴生成用情報７４０は、サービス情報群７４１と検証用情報群７５１とからなる。
サービス情報群７４１は、１以上のサービス記録情報７４２からなる。
サービス記録情報７４２は、利用記録記憶部８２３が記憶したサービス利用記録情報７１１に対応する情報である。サービス記録情報７４２は、利用記録記憶部８２３が記憶したサービス利用記録情報群７１０において、選択識別受信部８２５が受信したＩＤ番号７１２のリストに含まれるＩＤ番号７１２によって識別されるサービス利用記録情報７１１に基づいて、送信利用記録生成部８２６が生成する。
サービス記録情報７４２は、ＩＤ番号７４３と暗号化個別サービス情報群７４４とからなる。
ＩＤ番号７４３は、元のサービス利用記録情報７１１のＩＤ番号７１２である。
暗号化個別サービス情報群７４４は、元のサービス利用記録情報７１１のサービス利用記録７１４から生成した情報である。暗号化個別サービス情報群７４４は、暗号化変換情報群の一例である。
暗号化個別サービス情報群７４４は、１以上の暗号化個別サービス情報７４５からなる。
暗号化個別サービス情報７４５は、サービス利用記録７１４に含まれる商品コード、購入個数などを暗号化して生成した情報である。暗号化個別サービス情報７４５は、暗号化変換情報の一例である。
ここで、「Ｅ」は「暗号化」を意味し、「Ｅ（…）」は、暗号化の結果生成されたデータを示す。「Ｅ」の添え字は暗号化に用いた共通鍵を意味し、例えば「Ｅ２」は、「共通鍵２」による暗号化を示す。
例えば、「Ｅ２（商品Ａ：２：４：３：１５）」は、「商品Ａ：２：４：３：１５」というデータ（文字列）を、「共通鍵２」で暗号化して生成したデータを示す。
送信利用記録生成部８２６は、サービス利用記録情報７１１の共通鍵７１３で暗号化することにより、暗号化個別サービス情報７４５を生成する。
【０３２７】
なお、暗号化個別サービス情報７４５をそれぞれ暗号化するのではなく、暗号化個別サービス情報群７４４全体を暗号化してもよい。
【０３２８】
利用者端末装置１００の利用履歴記憶部１２１は、サービス利用記録情報７１１のなかに共通鍵７１３を記憶しているので、利用者端末装置１００は、自己の利用記録であるサービス利用記録情報７１１から生成したサービス記録情報７４２に含まれる暗号化個別サービス情報群７４４を復号して、商品コード、購入個数などを取得することができる。しかし、他の利用者の利用記録であるサービス利用記録情報７１１から生成したサービス記録情報７４２に含まれる暗号化個別サービス情報群７４４は、共通鍵がわからないので、復号することができない。
【０３２９】
検証用情報群７５１は、１以上の検証用情報７５２からなる。
検証用情報７５２は、利用記録記憶部８２３が記憶したサービス利用記録情報７１１に対応する情報である。検証用情報７５２は、利用記録記憶部８２３が記憶したサービス利用記録情報群７１０において、選択識別受信部８２５が受信したＩＤ番号７１２のリストに含まれるＩＤ番号７１２によって識別されるサービス利用記録情報７１１に基づいて、送信利用記録生成部８２６が生成する。
【０３３０】
検証用情報７５２は、サービス記録情報７４２と異なり、ＩＤ番号を含まない。したがって、検証用情報７５２がどのサービス利用記録情報７１１から生成したものであるか、検証用情報７５２を見ただけではわからない。
送信利用記録生成部８２６は、検証用情報７５２をランダムな順番に並べて、検証用情報群７５１を生成する。したがって、検証用情報７５２の順番から、どのサービス利用記録情報７１１から生成したものであるかを知ることもできない。
【０３３１】
検証用情報７５２は、個別サービス情報検証用情報群７５３、個別サービス個数算出用情報群７５５からなる。
個別サービス情報検証用情報群７５３は、１以上の個別サービス情報検証用情報７５４からなる。
個別サービス情報検証用情報７５４は、サービス記録情報７４２が改竄されていないかを利用者端末装置１００が検証するための情報である。
個別サービス情報検証用情報７５４は、元のサービス利用記録情報７１１のＩＤ番号７１２、サービス利用記録７１４に含まれる商品コード、購入個数などから生成したハッシュ値である。
ここで、「Ｈ」は「ハッシュ関数」を意味し、「Ｈ（…）」は、ハッシュ関数により算出したハッシュ値を示す。例えば、「Ｈ（ＩＤ３，Ｃ，０）」は、「ＩＤ３，Ｃ，０」というデータ（文字列）から算出したハッシュ値を示す。
この例では、ＩＤ番号、商品コード、購入個数を「，」で区切って連結した文字列をハッシュ関数の引数としている。
【０３３２】
個別サービス情報検証用情報７５４は、送信利用記録生成部８２６が、商品の種別ごとに別々に生成する。この例では、商品の種別として、「商品Ａ」「商品Ｂ」「商品Ｃ」「商品Ｄ」の４つがあるので、１つの個別サービス情報検証用情報群７５３は４つの個別サービス情報検証用情報７５４から構成される。元のサービス利用記録情報７１１のサービス利用記録７１４に、その商品を購入したことが記録されていない場合には、購入個数が「０」であるものとして、送信利用記録生成部８２６が個別サービス情報検証用情報７５４を生成する。
【０３３３】
送信利用記録生成部８２６は、個別サービス情報検証用情報７５４をランダムな順番に並べて、個別サービス情報検証用情報群７５３を生成する。したがって、個別サービス情報検証用情報群７５３における個別サービス情報検証用情報７５４の位置から、その個別サービス情報検証用情報７５４がどの商品についてのものであるかを知ることはできない。
ただし、１つの検証用情報群７５１に含まれる個別サービス情報検証用情報群７５３において、送信利用記録生成部８２６は、同じ順番に個別サービス情報検証用情報７５４を並べて、個別サービス情報検証用情報群７５３を生成する。
【０３３４】
個別サービス個数算出用情報群７５５は、他の利用者の利用記録であるサービス利用記録情報７１１について、共通鍵７１３を知らないために暗号化個別サービス情報群７４４を復号できない利用者端末装置１００が、購入個数など利用したサービスの内容を取得できるように構成した情報である。個別サービス個数算出用情報群７５５は、個別サービス内容取得用情報群の一例である。
個別サービス個数算出用情報群７５５は、１以上の個別サービス個数算出用情報７５６からなる。
個別サービス個数算出用情報７５６は、送信利用記録生成部８２６がサービス利用記録情報７１１に基づいて、商品の種別ごとに生成する。この例では、商品の種別が４つあるので、１つの個別サービス個数算出用情報群７５５は、４つの個別サービス個数算出用情報７５６から構成される。個別サービス個数算出用情報７５６は、個別サービス内容取得用情報の一例である。
送信利用記録生成部８２６は、個別サービス個数算出用情報７５６をランダムな順番に並べて、個別サービス個数算出用情報群７５５を生成する。個別サービス個数算出用情報群７５５における個別サービス個数算出用情報７５６の順番と、個別サービス情報検証用情報群７５３における個別サービス情報検証用情報７５４の順番とは、無関係である。したがって、個別サービス個数算出用情報群７５５における個別サービス個数算出用情報７５６の位置から、その個別サービス個数算出用情報７５６がどの商品についてのものであるかを知ることはできない。
ただし、１つの検証用情報群７５１に含まれる個別サービス個数算出用情報群７５５において、送信利用記録生成部８２６は、同じ順番に個別サービス個数算出用情報７５６を並べて、個別サービス個数算出用情報群７５５を生成する。
【０３３５】
次に、暗号化個別サービス情報７４５、個別サービス情報検証用情報７５４、個別サービス個数算出用情報７５６について詳しく説明する。
【０３３６】
図３５は、この実施の形態における送信利用記録生成部８２６が、暗号化個別サービス情報７４５、個別サービス情報検証用情報７５４、個別サービス個数算出用情報７５６を生成する生成方法を説明するための図である。
【０３３７】
送信利用記録生成部８２６が、暗号化個別サービス情報７４５を生成するために共通鍵７１３で暗号化するデータは、商品コード７１５、購入個数７１６、検証用位置７６１、算出用位置７６２、算出用数値７６３からなる。
商品コード７１５は、元のサービス利用記録情報７１１のサービス利用記録７１４に含まれる商品コードである。
購入個数７１６は、元のサービス利用記録情報７１１のサービス利用記録７１４に含まれれる購入個数である。
【０３３８】
検証用位置７６１は、その商品についての個別サービス情報検証用情報７５４が個別サービス情報検証用情報群７５３のなかのどこにあるかを示す情報である。この例では、商品Ａについての個別サービス情報検証用情報７５４は、個別サービス情報検証用情報群７５３のなかの個別サービス情報検証用情報７５４のうち４番目に位置するので、検証用位置７６１は「４」である。
【０３３９】
算出用位置７６２は、その商品についての個別サービス個数算出用情報７５６が個別サービス個数算出用情報群７５５のなかのどこにあるかを示す情報である。この例では、商品Ａについての個別サービス個数算出用情報７５６は、個別サービス個数算出用情報群７５５のなかの個別サービス個数算出用情報７５６のうち３番目に位置するので、算出用位置７６２は「３」である。
【０３４０】
算出用数値７６３は、個別サービス個数算出用情報７５６を算出するために用いる数値である。
検証用位置７６１及び算出用位置７６２及び算出用数値７６３は、サービス変換情報の一例である。また、算出用数値７６３は、サービス暗号鍵の一例である。
【０３４１】
送信利用記録生成部８２６は、これらの情報を含むデータを、共通鍵７１３で暗号化して暗号化個別サービス情報７４５を生成する。
【０３４２】
送信利用記録生成部８２６が、個別サービス情報検証用情報７５４を生成するための元となるデータは、ＩＤ番号７１２、商品コード７１５、購入個数７１６からなる。
送信利用記録生成部８２６は、ＩＤ番号７１２、商品コード７１５、購入個数７１６からなるデータのハッシュ値を算出して、個別サービス情報検証用情報７５４を生成する。
【０３４３】
送信利用記録生成部８２６は、算出したハッシュ値（＝個別サービス情報検証用情報７５４）に、購入個数７１６を加え、更に、算出用数値７６３を整数倍したものを加えて、個別サービス個数算出用情報７５６を生成する。
【０３４４】
この例において、送信利用記録生成部８２６は、ＩＤ番号７１２「ＩＤ２」、商品コード７１５「商品Ａ」、購入個数７１６「２」から、ハッシュ値「Ｈ（ＩＤ２，Ａ，２）」を算出して、個別サービス情報検証用情報７５４とし、それに購入個数７１６「２」を加え、更に、算出用数値７６３「１５」の５倍である「７５」を加えて、個別サービス個数算出用情報７５６とする。
送信利用記録生成部８２６は、生成した個別サービス情報検証用情報７５４を、検証用位置７６１が示す位置に並べて、個別サービス情報検証用情報群７５３を生成する。同様に、送信利用記録生成部８２６は、生成した個別サービス個数算出用情報７５６を、算出用位置７６２が示す位置に並べて、個別サービス個数算出用情報群７５５を生成する。
【０３４５】
次に、このようにして生成した履歴生成用情報７４０を、利用者端末装置１００がどのように復元するかについて説明する。
【０３４６】
図３３において、選択識別送信部１４２は、４つのＩＤ番号７１２「ＩＤ２」「ＩＤ３」「ＩＤ４」「ＩＤ５」からなるリストを、サービス提供装置８１０に対して送信する。
サービス提供装置８１０では、選択識別受信部８２５がこれを受信し、送信利用記録生成部８２６がこれに対応する履歴生成用情報７４０を生成する。図３４が生成された履歴生成用情報７４０である。利用記録送信部８２７が、利用者端末装置１００に対して、履歴生成用情報７４０を送信する。
【０３４７】
利用者端末装置１００の利用記録受信部１１１が、通信装置９１５を用いて、履歴生成用情報７４０を受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した履歴生成用情報７４０に含まれるサービス情報群７４１のなかから、利用履歴記憶部１２１が記憶したサービス利用記録情報群７１０に含まれるＩＤ番号７１２と一致するＩＤ番号７４３を有するサービス記録情報７４２を抽出する。
この例において、利用記録受信部１１１は、「ＩＤ３」と「ＩＤ５」の２つのサービス記録情報７４２を抽出する。
【０３４８】
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、抽出したサービス記録情報７４２に含まれる暗号化個別サービス情報７４５を、対応する共通鍵７１３で復号し、元のデータを取得する。
この例において、利用記録受信部１１１は、「ＩＤ３」のサービス記録情報７４２から、「商品Ａ：２：４：３：１５」と「商品Ｂ：２：２：１：１３」を取得し、「ＩＤ５」のサービス記録情報７４２から、「商品Ａ：２：４：３：１５」と「商品Ｃ：１：１：２：１１」を取得する。
利用記録受信部１１１は、これに基づいて、「商品Ａ」についての検証用位置７６１「４」、算出用位置７６２「３」、算出用数値７６３「１５」を取得する。同様に、「商品Ｂ」についての検証用位置７６１「２」、算出用位置７６２「１」、算出用数値７６３「１３」、「商品Ｃ」についての検証用位置７６１「１」、算出用位置７６２「２」、算出用数値７６３「１１」を取得する。
利用記録受信部１１１は、「商品Ｄ」についての検証用位置７６１などは取得できない。利用者が「商品Ｄ」を購入したことがないので、「ＩＤ３」や「ＩＤ５」のサービス記録情報７４２には、「商品Ｄ」についての情報は含まれていない。「ＩＤ２」や「ＩＤ４」のサービス記録情報７４２には、「商品Ｄ」についての情報が含まれているが、利用履歴記憶部１２１が「ＩＤ２」や「ＩＤ４」に対応する共通鍵７１３を記憶していないので、復号することができない。
【０３４９】
また、利用記録受信部１１１は、「ＩＤ３」のサービス記録情報７４２に基づいて、商品コード７１５「商品Ａ」、購入個数７１６「２」を取得する。また、商品コード７１５「商品Ｂ」、購入個数７１６「２」を取得する。同様に、「ＩＤ５」のサービス記録情報７４２に基づいて、商品コード７１５「商品Ａ」、購入個数７１６「２」、商品コード７１５「商品Ｃ」、購入個数７１６「１」を取得する。
【０３５０】
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が取得した商品コード７１５及び購入個数７１６を、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１と照合し、合っているかどうか検証する。合っていなければ、履歴生成用情報７４０が信頼できないと判断する。
【０３５１】
信頼性判断部１５１は、更に詳しく検証するため、ＣＰＵ９１１などの処理装置を用いて、ＩＤ番号７４３「ＩＤ３」、商品コード７１５「商品Ａ」、購入個数７１６「２」をもとにハッシュ値「Ｈ（ＩＤ３，Ａ，２）」を算出する。
検証用情報群７５１のなかで、検証用情報７５２はランダムな順番に並んでいるので、「ＩＤ３」についての検証用情報７５２がどれかはわからない。しかし、サービス記録情報７４２を解読した結果、「商品Ａ」についての個別サービス情報検証用情報７５４は、個別サービス情報検証用情報群７５３のなかの４番目にあることがわかっている。
【０３５２】
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、検証用情報群７５１に含まれる検証用情報７５２のなかから、個別サービス情報検証用情報群７５３の４番目の個別サービス情報検証用情報７５４が、算出したハッシュ値「Ｈ（ＩＤ３，Ａ，２）」と一致するものを検索する。
この例では、検証用情報群７５１のなかの１番目の検証用情報７５２が条件に合致する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、これが「ＩＤ３」についての検証用情報７５２であるか、更に詳しく検証する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、他の商品についてもハッシュ値を算出する。「商品Ｂ」については「Ｈ（ＩＤ３，Ｂ，２）」を、「商品Ｃ」については「Ｈ（ＩＤ３，Ｃ，０）」を算出する。なお、購入したことのない「商品Ｄ」については、商品コードが不明なので、信頼性判断部１５１はハッシュ値「Ｈ（ＩＤ３，Ｄ，０）」を算出することができない。
「商品Ｂ」についての個別サービス情報検証用情報７５４は、個別サービス情報検証用情報群７５３のなかの２番目にあることがわかっているので、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、算出したハッシュ値「Ｈ（ＩＤ３，Ｂ，２）」と、２番目の個別サービス情報検証用情報７５４とを比較して、一致することを確認する。
「商品Ｃ」についても同様に、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、算出したハッシュ値「Ｈ（ＩＤ３、Ｃ，０）」と、１番目の個別サービス情報検証用情報７５４とを比較して、一致することを確認する。
これで、この検証用情報７５２が「ＩＤ３」についてのものであることが確認できる。
【０３５３】
「商品Ｄ」については、信頼性判断部１５１がサービス記録情報７４２から検証用位置７６１を取得できないので、個別サービス情報検証用情報７５４が個別サービス情報検証用情報群７５３のなかのどこにあるかわかっていない。また、信頼性判断部１５１は、ハッシュ値「Ｈ（ＩＤ３，Ｄ，０）」を算出することができないので、検証用情報群７５１を検索して「商品Ｄ」についての個別サービス情報検証用情報７５４の位置を知ることもできない。
なお、この例では、購入したことのない商品が１つだけなので、残る位置である３番目の個別サービス情報検証用情報７５４が「商品Ｄ」についてのものであることが特定できる。しかし、実際には、取り扱う商品の種類がもっと多いので、購入したことのない商品が１つだけであるという状況は極めて稀であり、信頼性判断部１５１は購入したことのない商品についての情報を知ることはできないといってよい。
【０３５４】
「商品Ｄ」は購入したことのない商品であるから、信頼性判断部１５１は「商品Ｄ」についての情報を知らなくても履歴生成用情報７４０の信頼性を判断することができる。これにより、利用者端末装置１００に知らせる必要のない情報が流出するのを防ぐことができる。
【０３５５】
確認の途中で一致しないものがでてきた場合、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、他に一致しそうな検証用情報７５２があればそれを検査し、なければ、暗号化記録情報６４０が信頼できないと判断する。
【０３５６】
一方、利用記録受信部１１１は、暗号化個別サービス情報７４５を復号して取得した情報に基づいて、個別サービス個数算出用情報群７５５からサービス記録情報を取得する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、検証用情報群７５１に含まれるすべての検証用情報７５２から、「商品Ａ」についての個別サービス個数算出用情報７５６を取得する。暗号化個別サービス情報７４５の復号結果から、「商品Ａ」についての個別サービス個数算出用情報７５６は、個別サービス個数算出用情報群７５５のなかの３番目にあることがわかっている。
また、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、検証用情報群７５１に含まれるすべての検証用情報７５２から、「商品Ａ」についての個別サービス情報検証用情報７５４を取得する。暗号化個別サービス情報７４５の復号結果から、「商品Ａ」についての個別サービス情報検証用情報７５４は、個別サービス情報検証用情報群７５３のなかの４番目にあることがわかっている。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、取得した個別サービス個数算出用情報７５６から個別サービス情報検証用情報７５４を減算する。利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、更にその結果を、暗号化個別サービス情報７４５の復号結果から取得した算出用数値７６３「１５」で割り、余りを求める。
この例では、例えば、１番目の検証用情報７５２であれば、個別サービス個数算出用情報７５６「Ｈ（ＩＤ３，Ａ，２）＋６２」−個別サービス情報検証用情報７５４「Ｈ（ＩＤ３，Ａ，２）」＝「６２」、「６２÷１５＝４あまり２」である。これは、このサービス記録情報７４２において、「商品Ａ」の購入個数が「２個」であることを示している。
【０３５７】
１番目の検証用情報７５２は、「ＩＤ３」についてのものであるから、信頼性判断部１５１が、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１と比較することにより、正しいか否か検証する。正しくないときは、履歴生成用情報７４０が信頼できないと判断する。
利用記録受信部１１１は、他の利用者の利用記録についても同様の演算により、購入個数を求めることができる。また、「商品Ｂ」「商品Ｃ」についても同様に、購入個数を求めることができる。
しかし、「商品Ｄ」については、商品コード７１５も算出用位置７６２も算出用数値７６３もわからないので、購入個数を求めることができない。
【０３５８】
図３６は、この実施の形態における利用記録受信部１１１が復号したサービス利用記録情報７２１の一例を示す図である。
この例は、利用記録受信部１１１が、図３４に示した履歴生成用情報７４０を復号した場合を示している。
【０３５９】
利用記録受信部１１１は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた履歴生成用情報７４０を受信する。
利用記録受信部１１１が受信した履歴生成用情報７４０は、４つのＩＤ番号７４３「ＩＤ２」「ＩＤ３」「ＩＤ４」「ＩＤ５」についてのサービス記録情報７４２及び検証用情報７５２が含まれている。このうち、「ＩＤ３」と「ＩＤ５」についてのサービス利用記録情報７１１は、利用履歴記憶部１２１が記憶している。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、サービス情報群７４１のうち、ＩＤ番号７４３「ＩＤ３」と「ＩＤ５」についてのサービス記録情報７４２を、利用履歴記憶部１２１が記憶した共通鍵７１３で復号して、サービス利用記録７２４を取得する。
また、利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、「ＩＤ３」と「ＩＤ５」についてのサービス記録情報７４２を復号して取得した検証用位置７６１、算出用位置７６２、算出用数値７６３に基づいて、検証用情報群７５１に含まれるすべての検証用情報７５２を復号し、サービス利用記録７２４を取得する。
このとき、「ＩＤ３」についてのサービス記録情報７４２を復号して取得できる商品コード７１５、検証用位置７６１、算出用位置７６２、算出用数値７６３は、「商品Ａ」及び「商品Ｂ」についてのものである。また、「ＩＤ５」についてのサービス記録情報７４２を復号して取得できるのは、「商品Ａ」及び「商品Ｃ」についてのものである。したがって、「商品Ｄ」についての商品コード７１５、検証用位置７６１、算出用位置７６２、算出用数値７６３は得られていない。
したがって、利用記録受信部１１１は、検証用情報群７５１に基づいて、購入したことのない商品が１つあることは判別できるものの、その商品の商品コードが「商品Ｄ」であることは判別できず、「商品Ｄ」についてのサービス利用記録７２４も復号できない。
しかし、匿名履歴判別部１３０が生成する匿名履歴情報６３０に、購入したことのない「商品Ｄ」についての情報が含まれることはないので、匿名履歴判別部１３０は「商品Ｄ」についての情報の匿名性を判断する必要はない。したがって、匿名履歴判別部１３０は、「商品Ｄ」についての情報を知らなくても、判断する必要のある情報の匿名性を判断することができる。
【０３６０】
また、検証用情報７５２には、ＩＤ番号７４３から算出したハッシュ値が含まれているが、ＩＤ番号そのものの情報は含まれていないので、利用記録受信部１１１は、他の利用者の検証用情報７５２について、どのＩＤ番号の検証用情報７５２であるかを知ることができない。
しかし、匿名履歴判別部１３０は、情報の匿名性を判断するために他の利用者が購入した商品についての情報を利用するが、その商品を購入した利用者が誰であるかを知る必要はないので、他の利用者のＩＤ番号７４３を知らなくても、判断する必要のある情報の匿名性を判断することができる。
【０３６１】
したがって、利用記録受信部１１１は、信頼性判断部１５１が履歴生成用情報７４０の信頼性を判断するために必要な情報と、匿名履歴判別部１３０が情報の匿名性を判断するために必要な情報のみを取得し、それ以外の情報は取得できない。
これにより、利用者端末装置１００に知らせる必要のない情報が流出するのを防ぐことができる。
【０３６２】
このようにして取得したサービス利用記録情報７２１について、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１と比較することにより、履歴生成用情報７４０が信頼できるか否かを判断する。
【０３６３】
また、履歴生成用情報７４０が信頼できると信頼性判断部１５１が判断した場合、サービス利用記録情報７２１に基づいて、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用者特定率を算出し、利用履歴記憶部１２１が記憶したサービス利用記録情報群７１０のなかから、利用者特定率が低いと判断した情報を判別して、匿名履歴判別部１３０を生成し、出力する。
【０３６４】
この例において、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用履歴記憶部１２１が記憶したサービス利用記録情報群７１０を入力する。
利用履歴記憶部１２１が記憶したサービス利用記録情報群７１０によれば、利用者が「商品Ａを２個」購入したことがあるので、匿名履歴判別部１３０は、この情報をサービス提供装置８１０に送信した場合の利用者特定率を算出する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力したサービス利用記録情報７２１を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７２１に基づいて、「商品Ａを購入した」ことの記録がいくつあるか数える。この例では、「商品Ａを購入した」記録は、３つある。
また、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７２１に基づいて、商品Ａを「２個」購入したことの記録がいくつあるか数える。この例では、「商品Ａを２個購入した」記録は、３つある。
このように、匿名履歴判別部１３０は、単に「購入したことがある」記録と、「購入した個数が同じ」記録の双方を数える。
【０３６５】
同様に、利用履歴記憶部１２１が記憶したサービス利用記録情報群７１０によれば、「商品Ｂ」は利用者が「２個」購入したことがあり、「商品Ｃ」は利用者が「１個」購入したことがあるので、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、「商品Ｂを購入した」記録、「商品Ｂを２個購入した」記録、「商品Ｃを購入した」記録、「商品Ｃを１個購入した」記録を算出する。
【０３６６】
「（利用者特定率）＝１／（利用回数）×１００」であるから、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、それぞれの利用者特定率を算出する。
この例において、匿名履歴判別部１３０は、「商品Ａを購入したことがある」という情報の利用者特定率は「３３．３％」、「商品Ａを２個購入したことがある」という情報の利用者特定率は「３３．３％」、「商品Ｂを購入したことがある」という情報の利用者特定率は「１００％」、「商品Ｂを２個購入したことがある」という情報の利用者特定率は「１００％」、「商品Ｃを購入したことがある」という情報の利用者特定率は「３３．３％」、「商品Ｃを１個購入したことがある」という情報の利用者特定率は「５０％」であると算出する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、算出した利用者特定率と、記憶した利用者特定率設定情報が示す値とを比較して、その情報の匿名性が高いか否かを判断する。例えば、利用者特定率設定情報が「５０％」である場合、匿名履歴判別部１３０は、利用者特定率が「５０％」より低い場合に、その情報の匿名性が高いと判断する。
この例では、匿名履歴判別部１３０は、「商品Ａを購入したことがある」「商品Ａを２個購入したことがある」「商品Ｃを購入したことがある」という情報は匿名性が高いと判断する。また、「商品Ｂを購入したことがある」「商品Ｂを２個購入したことがある」「商品Ｃを１個購入したことがある」という情報は匿名性が低いと判断する。
【０３６７】
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名性が高いと判断した情報からなる匿名履歴情報６３０を生成する。
この例において、匿名履歴判別部１３０が生成する匿名履歴情報６３０は、「商品Ａを２個購入したことがある」こと及び「商品Ｃを購入したことがある」ことを示す情報を含む。
しかし、匿名履歴判別部１３０は、匿名性が低いと判断した情報は、匿名履歴情報６３０に含めない。
この例において、匿名履歴判別部１３０が生成する匿名履歴情報６３０は、「商品Ｂを購入したことがある」こと及び「商品Ｃを１個購入したことがある」ことを示す情報を含まない。
【０３６８】
なお、この例では、「その商品を購入したことがある」「その商品を購入した個数」という２段階の情報について利用者特定率を算出し、匿名性を判断しているが、どちらか一方だけでもよい。
また、２段階の情報のうち、概略的な情報（「その商品を購入したことがある」）の匿名性が低い（利用者特定率が閾値以上）場合、詳細な情報（「その商品を購入した個数」）にはその上位概念である概略的な情報が含まれる（「商品Ｃを１個購入したことがある」という情報には「商品Ｃを購入したことがある」という情報が含まれる）ので、詳細な情報の利用者特定率を算出するまでもなく、詳細な情報の匿名性は低い。
そこで、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、概略的な情報の匿名性を判断し、匿名性が高い場合のみ、詳細な情報の匿名性を判断することとしてもよい。
【０３６９】
また、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、詳細な情報の利用者特定率が閾値よりも低いと判断した場合でも、一定の確率で匿名性が低いと判断するよう構成してもよい。
これは、詳細な情報の利用者特定率が閾値よりも低い場合に、詳細な情報をサービス提供装置８１０に対して必ず送信するよう構成すると、概略的な情報だけ送信して、詳細な情報を送信しなかった場合に、サービス提供装置８１０に利用者を特定する手がかりを与えてしまう場合があるからである。
例えば、「商品Ａを購入したことがある」利用者がたくさんいて、ほとんどの人が「２個購入」しているのに対して、一人だけ「１個購入」したことがある場合、「商品Ａを購入したことがある」という概略的な情報も、「商品Ａを２個購入したことがある」という詳細な情報も、利用者特定率が低い。
利用者特定率が低い場合に必ず送信する構成だと、この例で「商品Ａを購入したことがある」という情報しか送信しなければ、サービス提供装置８１０には「商品Ａを２個購入したことがある」のではないということがわかる。したがって、「商品Ａを１個購入したことがある」という利用者特定率の高い情報は、サービス提供装置８１０に送信していないが、サービス提供装置８１０に知られてしまうことになる。
詳細な情報について利用者特定率が低い場合でも、一定の確率で匿名性が低いと判断し、サービス提供装置８１０に対して送信しない構成とすれば、「商品Ａを購入したことがある」という情報しか送信しなくても、サービス提供装置８１０から見ると「商品Ａを２個購入したことがある」かもしれず、送信していない利用者特定率の高い情報を、サービス提供装置８１０に知られてしまうのを防ぐことができる。
【０３７０】
この実施の形態におけるサービス提供装置８１０（サーバ装置）は、
情報を記憶する磁気ディスク装置９２０などの記憶装置と、
情報を処理するＣＰＵ９１１などの処理装置と、
利用したサービス内容を記録した利用履歴情報を記憶する複数の利用者端末装置１００（端末装置）と通信する通信装置９１５と、
磁気ディスク装置９２０などの記憶装置を用いて、利用されたサービス内容を記憶したサービス利用記録情報７１１（利用記録情報）と、サービス利用記録情報７１１を識別するＩＤ番号７１２（記録識別情報）とを複数記憶する利用記録記憶部８２３と、
ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶したＩＤ番号７１２を入力し、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２のリストを生成し、通信装置９１５を用いて、利用者端末装置１００に対して、生成したＩＤ番号７１２のリストを送信する記録識別送信部８２４と、
通信装置９１５を用いて、利用者端末装置１００から、記録識別送信部８２４が送信したＩＤ番号７１２のリストのなかから、利用者端末装置１００が選択した複数のＩＤ番号７１２を受信し、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２を出力する選択識別受信部８２５と、
ＣＰＵ９１１などの処理装置を用いて、選択識別受信部８２５が出力した複数の上記ＩＤ番号７１２を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した複数のＩＤ番号７１２によって識別される複数のサービス利用記録情報７１１を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した複数のサービス利用記録情報７１１に基づいて、利用者端末装置１００に対して送信する履歴生成用情報７４０（送信利用記録情報）を生成し、ＣＰＵ９１１などの処理装置を用いて、生成した履歴生成用情報７４０を出力する送信利用記録生成部８２６と、
ＣＰＵ９１１などの処理装置を用いて、送信利用記録生成部８２６が出力した履歴生成用情報７４０を入力し、通信装置９１５を用いて、利用者端末装置１００に対して、入力した履歴生成用情報７４０を送信する利用記録送信部８２７と、
通信装置９１５を用いて、利用者端末装置１００が記憶したサービス利用記録情報７１１（利用履歴情報）のうち、利用記録送信部８２７が送信した履歴生成用情報７４０に基づいて、匿名性が高いと利用者端末装置１００が判別した情報を、通信装置９１５から受信し、ＣＰＵ９１１などの処理装置を用いて、受信した情報を匿名履歴情報６３０として出力する匿名履歴受信部８３１と、
磁気ディスク装置９２０などの記憶装置を用いて、利用者端末装置１００に対して提供すべきサービス情報を記憶するサービス情報選択部８３３と、
ＣＰＵ９１１などの処理装置を用いて、匿名履歴受信部８３１が出力した匿名履歴情報６３０を入力し、ＣＰＵ９１１などの処理装置を用いて、サービス情報記憶部８３２が記憶したサービス情報のなかから、入力した匿名履歴情報６３０に基づいて、利用者端末装置１００にとって有用な情報を選択し、ＣＰＵ９１１などの処理装置を用いて、選択したサービス情報を出力するサービス情報選択部８３３とを有することを特徴とする。
【０３７１】
この実施の形態におけるサービス提供装置８１０によれば、匿名性が高いと利用者端末装置１００が判別した情報だけを受信し、受信した情報に基づいて、履歴サービスを提供するので、利用者を特定されることを心配せず、安心して利用できる履歴サービスを提供することができるという効果を奏する。
【０３７２】
この実施の形態における履歴生成用情報７４０（送信利用記録情報）のデータ構造は、
複数の商品（サービス種別）のうち少なくともいずれかの商品を購入（サービス種別に属するサービス内容を利用）したことを記録したサービス利用記録情報群７１０（複数の利用記録情報）に基づいて生成する履歴生成用情報７４０のデータ構造において、
履歴生成用情報７４０は、サービス情報群７４１と検証用情報群７５１とを有し、
サービス情報群７４１は、複数のサービス利用記録情報７１１（利用記録情報）それぞれについてのサービス記録情報７４２を複数並べたリストであり、
サービス記録情報７４２は、サービス利用記録情報７１１を識別するＩＤ番号７１２と、暗号化個別サービス情報群７４４（暗号化変換情報群）とを有し、
暗号化個別サービス情報群７４４は、サービス利用記録情報７１１が記録した購入商品（サービス内容が属するサービス種別）それぞれについての暗号化個別サービス情報７４５（暗号化変換情報）を並べたリストであり、
暗号化個別サービス情報７４５は、商品に対応する検証用位置７６１・算出用位置７６２・算出用数値７６３（サービス変換情報）を、商品を購入（サービス内容を利用）した際に通知した共通鍵７１３（履歴暗号鍵）で暗号化した情報であり、
検証用情報群７５１は、複数のサービス利用記録情報７１１それぞれについての検証用情報７５２をランダムな順番で並べたリストであり、
検証用情報７５２は、個別サービス情報検証用情報群７５３と個別サービス個数算出用情報群７５５（個別サービス内容取得用情報群）とを有し、
個別サービス情報検証用情報群７５３は、複数の商品それぞれについての個別サービス情報検証用情報７５４を、検証用位置７６１（サービス変換情報）が示すランダムな第一の順番で並べたリストであり、
個別サービス情報検証用情報７５４は、サービス利用記録情報７１１を識別するＩＤ番号７１２とサービス利用記録情報７１１が記録した商品コード７１５・購入個数７１６（サービス内容）とから生成したハッシュ値であり、
個別サービス個数算出用情報群７５５は、複数の商品それぞれについての個別サービス個数算出用情報７５６（個別サービス内容取得用情報）を、算出用位置７６２（サービス変換情報）が示すランダムな第二の順番で並べたリストであり、
個別サービス個数算出用情報７５６は、サービス利用記録情報７１１が記録した購入個数７１６（サービス内容）を個別サービス情報検証用情報７５４に基づいて変換し、算出用数値７６３（サービス変換情報に含まれるサービス暗号鍵）で暗号化した情報であることを特徴とする。
【０３７３】
この実施の形態における履歴生成用情報７４０のデータ構造によれば、履歴生成用情報７４０を受信した利用者端末装置１００が、サービスを利用した際に通知された共通鍵７１３により、暗号化個別サービス情報７４５を復号し、符号した暗号化個別サービス情報７４５に含まれる検証用位置７６１・算出用位置７６２・算出用数値７６３に基づいて、検証用情報７５２に含まれる商品コード７１５・購入個数７１６などの情報を復元できるので、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１と比較することで、情報の改変がないかを検証することができるという効果を奏する。
また、検証用情報７５２に含まれる情報のうち、利用したことのないサービス種別についての情報は復元できないので、利用者端末装置１００は、他の利用者の利用記録については、検証及び匿名性の判断に必要な情報だけを取得し、不必要な情報の拡散を防ぐことができるという効果を奏する。
【０３７４】
この実施の形態における履歴サービス提供システム８００によれば、利用者が履歴を送信する前に、予め店舗から履歴に関する情報を入手し、それらの情報を用いて、利用者は自身が店舗によって特定されない購入情報から購入履歴を作成し店舗に送信することによって、利用者はプライバシーを保護された状態で且つ匿名で履歴サービスを利用できる。
また、利用者が店舗から入手する履歴に関する情報量は利用者によって制御できるため、利用者の携帯端末の性能に応じて最適な情報量を調整可能である。
また、利用者は、店舗から入手する履歴に関する情報のうちいずれかを検証可能であるが、店舗は利用者が検証する情報を特定できないため、店舗が情報を都合の良い値に改竄することを防止できる。
また、店舗から入手する履歴に関する情報のうち利用者が知ることができる情報は、利用者自身が過去に購入した商品に関する情報のみであり、他の利用者の購入情報は保護される。
また、利用者の携帯端末と店舗のサーバ間の通信データは暗号化されているため、第三者の盗聴を防止できる。
【０３７５】
実施の形態９．
実施の形態９について、図３７〜図４１を用いて説明する。
図３７は、この実施の形態における履歴サービス提供システム８００の全体構成及びハードウェア構成の一例を示すシステム構成図である。
なお、実施の形態１で説明した履歴サービス提供システム８００と共通する部分については、同一の符号を付し、ここでは説明を省略する。
履歴サービス提供システム８００は、更に、ＩＤ管理装置８５０を有する。
ＩＤ管理装置８５０は、例えば、サーバ装置である。
ＩＤ管理装置８５０のハードウェア構成は、サービス提供装置８１０と同様である。
ＩＤ管理装置８５０は、通信装置９１５を用いて、利用者端末装置１００と通信する。また、ＩＤ管理装置８５０は、通信装置９１５を用いて、サービス提供装置８１０と通信する。
ＩＤ管理装置８５０は、利用者の匿名ＩＤを管理する。
【０３７６】
利用者端末装置１００が情報の匿名性を正確に判断するには、十分な数のサービス利用記録情報７２１に基づいて、利用者特定率を算出する必要がある。しかし、利用者端末装置１００は、例えば、携帯電話などであり、ＣＰＵ９１１などの処理装置の処理能力や、通信装置９１５の通信性能などによる制約により、十分な数のサービス利用記録情報７２１を処理することができない場合がある。
【０３７７】
この実施の形態の履歴サービス提供システム８００は、信頼できるＩＤ管理装置８５０が利用者特定率を算出することにより、利用者端末装置１００の処理能力にかかわらず、正確に情報の匿名性を判断するものである。
【０３７８】
図３８は、この実施の形態における利用者端末装置１００及びＩＤ管理装置８５０の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態４で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
また、サービス提供装置８１０の機能ブロックの構成は、実施の形態８で説明したものと同様なので、ここでは説明を省略する。
【０３７９】
利用者端末装置１００は、利用履歴受信部１１２、利用履歴記憶部１２１、匿名履歴判別部１３０、匿名履歴送信部１４１、信頼性判断部１５１、識別生成要求送信部１６１、生成識別受信部１６３、記録識別送信部１６４、利用者用履歴受信部１７２を有する。
【０３８０】
識別生成要求送信部１６１は、利用者端末装置１００を所持した利用者がサービス提供装置８１０のある店舗に来店するなどして、サービス提供装置８１０との通信を確立する必要が生じた場合に、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、匿名ＩＤ（記録識別情報）の生成を要求する情報（以下「識別生成要求情報」という）を送信する。
【０３８１】
生成識別受信部１６３は、識別生成要求送信部１６１が送信した識別生成要求情報に対する応答として、ＩＤ管理装置８５０が送信してきた匿名ＩＤを、通信装置９１５を用いて受信する。
生成識別受信部１６３は、ＣＰＵ９１１などの処理装置を用いて、受信した匿名ＩＤを出力する。
【０３８２】
記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、生成識別受信部１６３が出力した匿名ＩＤを入力する。
記録識別送信部１６４は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名ＩＤを送信し、匿名ＩＤによる通信を確立する。
【０３８３】
利用者用履歴受信部１７２は、通信装置９１５を用いて、ＩＤ管理装置８５０が送信してきた利用者用履歴情報を受信する。
利用者用履歴受信部１７２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用者用履歴情報を出力する。
【０３８４】
利用者用履歴情報とは、利用者特定率を示す利用者特定率情報と、利用者端末装置１００を所持している利用者についての履歴生成用情報７４０とを含む情報である。
利用者用履歴情報は、ＩＤ管理装置８５０がサービス提供装置８１０から受信した履歴生成用情報７４０に基づいて生成する。
【０３８５】
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信部１７２が出力した利用者用履歴情報と、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１とを入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用者用利ｋ例情報に含まれるサービス利用記録情報７２１と、入力したサービス利用記録情報７１１とを比較して、一致するか否かを判断する。一致すると判断した場合には、履歴生成用情報７４０が信頼できると判断し、一致しないと判断した場合には、履歴生成用情報７４０が信頼できないと判断する。
【０３８６】
匿名履歴判別部１３０は、履歴生成用情報７４０が信頼できると信頼性判断部１５１が判断した場合に、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信部１７２が出力した利用者用履歴情報を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用者用履歴情報に含まれる利用者特定率情報に基づいて、情報の匿名性を判断し、匿名履歴情報６３０を生成して、出力する。
【０３８７】
ＩＤ管理装置８５０は、利用記録受信部１１１、記録識別受信部１１３、記録識別選択部１５２、選択識別送信部１４２、識別生成要求受信部８６１、記録識別生成部８６２、生成識別送信部８６３、記録識別記憶部８６４、利用者用履歴生成部８７１、利用者用履歴送信部８７２を有する。
【０３８８】
利用記録受信部１１１、記録識別受信部１１３、記録識別選択部１５２、選択識別送信部１４２は、実施の形態４で利用者端末装置１００の機能ブロックであったものと同様である。
【０３８９】
識別生成要求受信部８６１は、通信装置９１５を用いて、利用者端末装置１００が送信してきた識別生成要求情報を受信する。
【０３９０】
記録識別生成部８６２は、識別生成要求受信部８６１が識別生成要求情報を受信した場合に、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤを生成する。記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、記録識別記憶部８６４が記憶した匿名ＩＤに基づいて、匿名ＩＤが衝突しないように新しい匿名ＩＤを生成する。
記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名ＩＤを出力する。
【０３９１】
生成識別送信部８６３は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤを入力する。
生成識別送信部８６３は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した匿名ＩＤを送信する。
【０３９２】
記録識別記憶部８６４は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤを入力する。
記録識別記憶部８６４は、磁気ディスク装置９２０などの記憶装置を用いて、入力した匿名ＩＤを、利用者端末装置１００の実名ＩＤと関連づけて記憶する。
【０３９３】
これにより、ＩＤ管理装置８５０は、複数の匿名ＩＤが同一の利用者のものであるか、異なる利用者のものであるかを判別できる。その代わり、ＩＤ管理装置８５０は、その匿名ＩＤを有する利用者が利用したサービスについての情報は持っていない。
【０３９４】
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が受信した履歴生成用情報７４０（暗号化記録情報６４０）と、記録識別記憶部８６４が記憶した匿名ＩＤとを入力する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、入力した履歴生成用情報７４０に基づいて、利用者特定率を算出する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、入力した履歴生成用情報７４０のうち、利用者端末装置１００を所持している利用者についての履歴生成用情報７４０を抽出する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、算出した利用者特定率を示す利用者特定率情報と、抽出した履歴生成用情報７４０とを含む利用者用履歴情報を生成する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、生成した利用者用履歴情報を出力する。
【０３９５】
利用者用履歴送信部８７２は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴生成部８７１が出力した利用者用履歴情報を入力する。
利用者用履歴送信部８７２は、通信装置９１５を用いて、利用者端末装置１００に対して、生成した利用者用履歴情報を送信する。
【０３９６】
次に、動作について説明する。
この実施の形態における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れは、実施の形態８で図３０を用いて説明したものと同様なので、ここでは説明を省略する。
【０３９７】
図３９は、この実施の形態における履歴サービス提供システム８００が、利用者端末装置１００とサービス提供装置８１０との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図である。
【０３９８】
Ｔ１１において、サービス提供装置８１０が利用者の来店を検知すると、サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、証明書記憶部８４２が記憶した公開鍵証明書を送信する。
以下Ｔ１４まで、実施の形態８で説明したのと同様の手順により、利用者端末装置１００とサービス提供装置８１０とは共有鍵を共有し、この共有鍵によって暗号化した通信が確立する。以後、通信切断まで、この共有鍵により暗号化した通信により、利用者端末装置１００とサービス提供装置８１０との間の通信が行われる。
【０３９９】
次に、利用者端末装置１００とＩＤ管理装置８５０との間の通信を確立する。
Ｔ２１において、利用者端末装置１００とＩＤ管理装置８５０との間では、相互認証を行い、共通鍵による通信を確立する。
例えば、利用者端末装置１００は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、公開鍵証明書の送付を要求する情報を送信する。
ＩＤ管理装置８５０は、ＣＰＵ９１１などの処理装置を用いて、磁気ディスク装置９２０などの記憶装置が記憶したＩＤ管理装置８５０の公開鍵証明書を読み出し、通信装置９１５を用いて、利用者端末装置１００に対して、送信する。
利用者端末装置１００は、通信装置９１５を用いて、ＩＤ管理装置８５０が送信してきた公開鍵証明書を受信し、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書の内容を確認して、ＩＤ管理装置８５０を認証する。
利用者端末装置１００は、ＣＰＵ９１１などの処理装置を用いて、メモリなどの記憶装置が記憶した利用者端末装置１００の公開鍵証明書を読み出し、ＩＤ管理装置８５０の公開鍵で暗号化し、通信装置９１５を用いて、ＩＤ管理装置８５０に対して送信する。
ＩＤ管理装置８５０は、通信装置９１５を用いて、利用者端末装置１００が送信してきた暗号化された公開鍵証明書を受信し、ＣＰＵ９１１などの処理装置を用いて、ＩＤ管理装置８５０の秘密鍵で復号した上で、内容を確認し、利用者端末装置１００を認証する。
その後、利用者端末装置１００及びＩＤ管理装置８５０は、今回の通信に用いる共通鍵の素を生成し、相手の公開鍵で暗号化して、送信する。利用者端末装置１００及びＩＤ管理装置８５０は、受信した共通鍵の素を自身の秘密鍵で復号し、自身が生成した共通鍵の素と合成して、今回の通信に用いる共通鍵を生成する。
【０４００】
このようにして、利用者端末装置１００とＩＤ管理装置８５０とは、互いに相手を特定して、通信を確立する。利用者端末装置１００を特定できる情報である利用者端末装置１００の公開鍵証明書は、ＩＤ管理装置８５０の公開鍵で暗号化して送信するので、サービス提供装置８１０が傍受しても、利用者端末装置１００を特定されることはない。
【０４０１】
以後、利用者端末装置１００とＩＤ管理装置８５０との間の通信は、この手順によって共有した共通鍵によって暗号化する。したがって、これをサービス提供装置８１０が傍受しても、内容を知ることはできない。
【０４０２】
なお、通信確立処理における認証方式・共通鍵共有方式は、「ＩＳＯ／ＩＥＣ  １１７７０−３  Ｋｅｙ  Ｔｒａｎｓｐｏｒｔ  Ｍｅｃｈａｎｉｓｍ  ６」に記載の方式など、一般的な方式を用いてもよい。
【０４０３】
Ｔ２２において、利用者端末装置１００の識別生成要求送信部１６１は、ＣＰＵ９１１などの処理装置を用いて、識別生成要求情報を生成する。識別生成要求送信部１６１は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、生成した識別生成要求情報を送信する。
【０４０４】
ＩＤ管理装置８５０の識別生成要求受信部８６１は、通信装置９１５を用いて、利用者端末装置１００が送信してきた識別生成要求情報を受信する。
【０４０５】
ＩＤ管理装置８５０の記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤをランダムに生成する。
記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名ＩＤと、記録識別記憶部８６４が記憶した匿名ＩＤとが衝突しているか否かを判断する。
衝突している場合、記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤの生成をやり直し、衝突しない匿名ＩＤを生成するまで繰り返す。
衝突していない場合、記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名ＩＤを出力する。
【０４０６】
ＩＤ管理装置８５０の記録識別記憶部８６４は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤを入力する。
記録識別記憶部８６４は、磁気ディスク装置９２０などの記憶装置を用いて、入力した匿名ＩＤを、利用者端末装置１００を識別する情報（例えば、実名ＩＤ）と関連づけて記憶する。
【０４０７】
ＩＤ管理装置８５０の生成識別送信部８６３は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤを入力する。
生成識別送信部８６３は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した匿名ＩＤを送信する。
【０４０８】
利用者端末装置１００の生成識別受信部１６３は、通信装置９１５を用いて、ＩＤ管理装置８５０が送信してきた匿名ＩＤを受信する。
生成識別受信部１６３は、ＣＰＵ９１１などの処理装置を用いて、受信した匿名ＩＤを出力する。
【０４０９】
記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、生成識別受信部１６３が出力した匿名ＩＤを入力する。
記録識別送信部１６４は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名ＩＤを送信する。
【０４１０】
ＩＤ管理装置８５０は、すべての匿名ＩＤを管理している。利用者端末装置１００がサービス提供装置８１０に対して送信する匿名ＩＤは、衝突がないことを確認済なので、これにより、利用者端末装置１００とサービス提供装置８１０との間で、匿名ＩＤにより識別される通信が確立する。
【０４１１】
なお、実施の形態８で説明したように、利用者端末装置１００が匿名ＩＤを生成して、匿名ＩＤを決定してもよい。その場合、決定された匿名ＩＤを利用者端末装置１００がＩＤ管理装置８５０に対して送信し、ＩＤ管理装置８５０が記憶する。
【０４１２】
サービス提供装置８１０とＩＤ管理装置８５０との間でも、相互認証・共有鍵共有の手順により、通信を確立する。
【０４１３】
こうして、利用者端末装置１００、サービス提供装置８１０、ＩＤ管理装置８５０の三者は、それぞれ一対一の通信を確立する。それぞれの一対一通信は、暗号化されていて、残りの一者を含む他者はその内容を知ることができない。
以下、それぞれの一対一通信で用いられる共通鍵を区別するため、利用者端末装置１００とサービス提供装置８１０との間の共通鍵を「共通鍵ＵＳ」、利用者端末装置１００とＩＤ管理装置８５０との間の共通鍵を「共通鍵ＵＩ」、サービス提供装置８１０とＩＤ管理装置８５０との間の共通鍵を「共通鍵ＩＳ」と呼ぶ。
【０４１４】
図４０は、この実施の形態における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
【０４１５】
匿名ＩＤ一覧送信工程において、サービス提供装置８１０の記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶しているサービス利用記録情報群７１０に含まれるすべてのＩＤ番号７１２を入力する。
記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧を作成する。
記録識別送信部８２４は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、作成したＩＤ番号７１２の一覧を送信する。
また、記録識別送信部８２４は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、利用者端末装置１００の匿名ＩＤを、ＩＤ番号７１２の一覧とともに送信する。
【０４１６】
匿名ＩＤ一覧受信工程において、記録識別受信部１１３は、通信装置９１５を用いて、匿名ＩＤ一覧送信処理でサービス提供装置８１０が送信したＩＤ番号７１２の一覧と利用者端末装置１００の匿名ＩＤとを受信する。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２の一覧と利用者端末装置１００の匿名ＩＤとを出力する。
【０４１７】
匿名ＩＤ選択工程において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ一覧受信工程で記録識別受信部１１３が出力したＩＤ番号７１２の一覧と利用者端末装置１００の匿名ＩＤとを入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうちから、記録識別記憶部８６４が記憶した匿名ＩＤと一致するＩＤ番号７１２を抽出し、実在ＩＤ番号とする。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、記録識別記憶部８６４が記憶した匿名ＩＤに基づいて、入力した匿名ＩＤと同一の利用者の匿名ＩＤを判別する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうち、判別した匿名ＩＤと同一のＩＤ番号７１２（履歴識別情報６１４）をすべて選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、抽出した実在ＩＤ番号のうちから、更に、それ以外のＩＤ番号７１２を十分な数選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択したＩＤ番号７１２のリストを出力する。
【０４１８】
匿名ＩＤサブセット送信工程において、選択識別送信部１４２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ選択工程で記録識別選択部１５２が出力したＩＤ番号７１２のリストを入力する。
選択識別送信部１４２は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力したＩＤ番号７１２のリストを送信する。
【０４１９】
匿名ＩＤサブセット受信工程において、選択識別受信部８２５は、通信装置９１５を用いて、匿名ＩＤサブセット送信工程で選択識別送信部１４２が送信したＩＤ番号７１２のリストを受信する。
選択識別受信部８２５は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２のリストを出力する。
【０４２０】
履歴生成用情報作成工程において、送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤサブセット受信工程で選択識別受信部８２５が出力したＩＤ番号７１２のリストを入力する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２それぞれについて、利用記録記憶部８２３が記憶したサービス利用記録情報７１１を入力する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７１１から履歴生成用情報７４０を作成する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、作成した履歴生成用情報７４０を出力する。
【０４２１】
履歴生成用情報送信工程において、利用記録送信部８２７は、ＣＰＵ９１１などの処理装置を用いて、履歴生成用情報作成工程で送信利用記録生成部８２６が作成した送信利用記録情報を入力する。
利用記録送信部８２７は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、入力した送信利用記録情報を送信する。
【０４２２】
履歴生成用情報受信工程において、利用記録受信部１１１は、通信装置９１５を用いて、履歴生成用情報送信工程で利用記録送信部８２７が送信した履歴生成用情報７４０（暗号化記録情報６４０）を受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した送信利用記録情報からサービス利用記録情報７２１（利用記録情報６２０）を取得する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、取得したサービス利用記録情報７２１を出力する。
【０４２３】
利用者用履歴生成工程において、利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、履歴生成用情報受信工程で利用記録受信部１１１が出力したサービス利用記録情報７２１と、記録識別記憶部８６４が記憶した匿名ＩＤとを入力する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７２１に基づいて、個々の商品について利用者特定率を算出する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７２１のなかから、利用者端末装置１００を所持している利用者についてのサービス利用記録情報７２１を抽出する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、算出した利用者特定率を示す利用者特定率情報と、抽出したサービス利用記録情報７２１とを含む利用者用履歴情報を生成する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、生成した利用者用履歴情報を出力する。
【０４２４】
利用者用履歴送信工程において、利用者用履歴送信部８７２は、利用者用履歴生成工程で利用者用履歴生成部８７１が出力した利用者用履歴情報を入力する。
利用者用履歴送信部８７２は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した利用者用履歴情報を送信する。
【０４２５】
利用者用履歴情報は、ＩＤ管理装置８５０が利用者端末装置１００に対して直接送信してもよいし、サービス提供装置８１０を経由して送信してもよい。サービス提供装置８１０を経由して送信する場合であっても、利用者用履歴情報は、ＩＤ管理装置８５０と利用者端末装置１００との間で共有している共有鍵で暗号化されているので、サービス提供装置８１０に内容を知られることはないし、サービス提供装置８１０に内容を改竄されることもない。
【０４２６】
利用者用履歴受信工程において、利用者用履歴受信部１７２は、通信装置９１５を用いて、利用者用履歴送信工程で利用者用履歴送信部８７２が送信してきた利用者用履歴情報を受信する。
利用者用履歴受信部１７２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用者用履歴情報を出力する。
【０４２７】
履歴生成用情報検証工程において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信部１７２が出力した利用者用履歴情報を入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用者用履歴情報に含まれるサービス利用記録情報７２１が改竄されていないかを検証する。
サービス利用記録情報７２１が改竄されていないと、信頼性判断部１５１が判断した場合は、履歴生成工程を実行する。
【０４２８】
履歴生成工程において、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信部１７２が出力した利用者用履歴情報を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用者用履歴情報に含まれる利用者特定率情報が示す利用者特定率と、利用者特定率設定情報が示す閾値とを比較して、その商品についての情報の匿名性を判断する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名性が高いと判断した商品についての情報から、匿名履歴情報６３０を生成する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名履歴情報６３０を出力する。
【０４２９】
以下の処理の流れは、実施の形態８で説明したものと同様なので、説明を省略する。
【０４３０】
サービス提供装置８１０が生成する履歴生成用情報７４０に含まれる情報のうち、その利用者についてのサービス利用記録情報７２１は、履歴生成用情報７４０が信頼できるか否かを検証するために使用し、他の利用者についてのサービス利用記録情報７２１は、利用者特定率を算出し、匿名性を判断するために使用する。
【０４３１】
この実施の形態における履歴サービス提供システム８００では、ＩＤ管理装置８５０が利用者特定率を算出するので、利用者端末装置１００は、他の利用者についてのサービス利用記録情報７２１を処理する必要がない。
一方、ＩＤ管理装置８５０は、サービス利用記録情報７１１を記憶していないので、信頼性を検証することができない。
そこで、ＩＤ管理装置８５０は、その利用者についてのサービス利用記録情報７２１だけを利用者端末装置１００に対して送信し、利用者端末装置１００が信頼性を検証する。
【０４３２】
図４１は、この実施の形態における送信利用記録生成部８２６が生成する履歴生成用情報７４０及び利用者用履歴生成部８７１が生成する利用者用履歴情報７８０の一例を示す図である。
【０４３３】
履歴生成用情報７４０は、サービス種別情報群７７１とサービス情報群７４１とからなる。
サービス種別情報群７７１は、１以上の暗号化サービス種別情報７７２からなる。
暗号化サービス種別情報７７２は、送信利用記録生成部８２６が、ＣＰＵ９１１などの処理装置を用いて、サービスの種別を示す情報（この例では、商品コード）を、利用者端末装置１００とサービス提供装置８１０との間で今回の通信に使用している共通鍵ＵＳで暗号化して生成した情報である。
サービス種別情報群７７１は、送信利用記録生成部８２６が、ＣＰＵ９１１などの処理装置を用いて、暗号化サービス種別情報７７２をランダムな順番に並べて生成する。
これにより、ＩＤ管理装置８５０は、履歴生成用情報７４０から、利用されたサービスの種別を知ることができない。
【０４３４】
サービス情報群７４１は、１以上のサービス記録情報７４２からなる。
サービス記録情報７４２は、利用記録記憶部８２３が記録したサービス利用記録情報７１１に対応する情報である。サービス記録情報７４２は、利用記録記憶部８２３が記憶したサービス利用記録情報群７１０において、選択識別受信部８２５が受信したＩＤ番号７１２のリストに含まれるＩＤ番号７１２によって識別されるサービス利用記録情報７１１に基づいて、送信利用記録生成部８２６が生成する。
サービス記録情報７４２は、ＩＤ番号７４３と個別サービス情報群７４６とからなる。
ＩＤ番号７４３は、元のサービス利用記録情報７１１のＩＤ番号７１２である。
個別サービス情報群７４６は、元のサービス利用記録情報７１１のサービス利用記録７１４から生成した情報である。
個別サービス情報群７４６は、１以上の個別サービス情報７４７からなる。
個別サービス情報７４７は、利用されたサービスの内容を示す情報（この例では、購入個数）である。
個別サービス情報群７４６は、送信利用記録生成部８２６が、ＣＰＵ９１１などの処理装置を用いて、個別サービス情報７４７を、サービス種別情報群７７１における暗号化サービス種別情報７７２と同じ順番に並べて生成する。
これにより、ＩＤ管理装置８５０は、どの個別サービス情報７４７がどの暗号化サービス種別情報７７２に対応するものであるかを知ることができる。
【０４３５】
送信利用記録生成部８２６が生成した履歴生成用情報７４０は、利用記録送信部８２７がＩＤ管理装置８５０に対して送信し、ＩＤ管理装置８５０の利用記録受信部１１１が受信する。利用記録受信部１１１は、受信した履歴生成用情報７４０を出力し、利用者用履歴生成部８７１が入力する。
【０４３６】
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、記録識別記憶部８６４が記憶した匿名ＩＤを入力する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名ＩＤから、利用者端末装置１００の利用者の匿名ＩＤを判別し、判別した匿名ＩＤと一致するＩＤ番号７４３を有するサービス記録情報７４２を、入力したサービス記録情報７４２から抽出する。
この例において、利用者用履歴生成部８７１は、「ＩＤ３」と「ＩＤ５」のサービス記録情報７４２を抽出する。
【０４３７】
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、抽出したサービス記録情報７４２に基づいて、個別サービス情報７４７が示す購入個数がすべて「０」である商品（購入したことがない商品）を判別する。利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、判別した商品以外の商品（購入したことがある）について、利用者特定率を算出する。
この例において、利用者用履歴生成部８７１は、３番目の商品以外の商品について、利用者特定率を算出する。
【０４３８】
利用者用履歴生成部８７１が生成する利用者用履歴情報７８０は、サービス種別情報群７７１、サービス情報群７４１、利用者特定率情報群７８１からなる。
サービス種別情報群７７１は、送信利用記録生成部８２６が生成した履歴生成用情報７４０に含まれるサービス種別情報群７７１から、利用者用履歴生成部８７１が、購入したことがないと判別した商品についての暗号化サービス情報を除いて生成する。
サービス情報群７４１は、送信利用記録生成部８２６が生成した履歴生成用情報７４０に含まれるサービス情報群７４１のサービス記録情報７４２のうちから、利用者用履歴生成部８７１が、その利用者についてのサービス記録情報７４２だけを抽出し、更に、購入したことがないと判別した商品についての個別サービス情報７４７を除いて生成する。
利用者特定率情報群７８１は、利用者用履歴生成部８７１が算出した利用者特定率を示す利用者特定率情報７８２を、利用者用履歴生成部８７１が、サービス種別情報群７７１における暗号化サービス種別情報７７２と同じ順序に並べて生成する。
【０４３９】
なお、この例では、「その商品を購入したことがある」という情報の利用者特定率を算出しているが、購入個数も含めた情報の利用者特定率を算出してもよい。
また、利用者特定率ではなく、利用回数を算出してもよい。
【０４４０】
利用者用履歴生成部８７１が生成した利用者用履歴情報７８０は、利用者用履歴送信部８７２が利用者端末装置１００に対して送信し、利用者端末装置１００の利用者用履歴受信部１７２が受信する。
【０４４１】
利用者用履歴受信部１７２は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴情報７８０のサービス種別情報群７７１を、共通鍵ＵＳで復号して、商品コードを取得する。
利用者用履歴受信部１７２は、ＣＰＵ９１１などの処理装置を用いて、復号した商品コードを含む利用者用履歴情報７８０を出力する。
【０４４２】
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信部１７２が出力した利用者用履歴情報７８０と、利用履歴記憶部１２１が記憶したサービス利用記録情報７１１とを入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴情報７８０が示す利用したサービス内容と、サービス利用記録情報７１１が示す利用したサービス内容とを比較し、一致するか否かを判断する。
一致すると判断した場合、信頼性判断部１５１は、ＩＤ管理装置８５０が受信した履歴生成用情報７４０が信頼できると判断する。
一致しないと判断した場合、信頼性判断部１５１は、ＩＤ管理装置８５０が受信した履歴生成用情報７４０が信頼できないと判断する。
【０４４３】
履歴生成用情報７４０が信頼できると信頼性判断部１５１が判断した場合、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信部１７２が出力した利用者用履歴情報７８０を入力する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、入力した利用者用履歴情報７８０が示す利用者特定率に基づいて、対応する商品を購入したことがあることを示す情報の匿名性を判断する。
匿名履歴判別部１３０は、匿名性が高いと判断した情報から、匿名履歴情報６３０を生成し、出力する。
【０４４４】
このように、利用者端末装置１００は、ＩＤ管理装置８５０が算出した利用者特定率に基づいて、情報の匿名性を判断するので、ＣＰＵ９１１などの処理装置の処理能力や通信装置９１５の通信能力が低い場合でも、情報の匿名性を正確に判断することができる。
利用者端末装置１００は、例えば携帯電話であり、ＩＤ管理装置８５０は、例えばサーバ装置であるから、一般にＩＤ管理装置８５０のほうが利用者端末装置１００よりもＣＰＵ９１１などの処理装置の処理能力、通信装置９１５の通信能力が高く、より多くのサービス利用記録に基づいて、利用者特定率を算出できるからである。
【０４４５】
利用者端末装置１００が匿名性が高いと判断した情報から生成した匿名履歴情報６３０をサービス提供装置８１０に対して送信して、履歴サービスを利用するので、サービス提供装置８１０は、利用者を特定することができない。
【０４４６】
一方、ＩＤ管理装置８５０は、利用者を特定することができ、その利用者のサービス利用記録情報７１１のつながりを把握している。
しかし、ＩＤ管理装置８５０は、サービス利用記録情報７１１のＩＤ番号７１２の間のつながりを知っているが、サービス利用記録情報７１１の内容は知らないので、利用者が利用したサービス内容の全貌を、ＩＤ管理装置８５０が知ることはない。
【０４４７】
ＩＤ管理装置８５０は、利用者特定率を算出するため、サービス利用記録情報７１１の内容の一部（この例では、購入個数）を取得するが、それに対応する商品コードを復号できないので、その利用者が「何を」購入したのかはわからない。
【０４４８】
このように、サービス利用記録の具体的内容はサービス提供装置８１０が記憶し、サービス利用記録のつながりだけをＩＤ管理装置８５０が記憶するので、情報が分散される。万が一、ＩＤ管理装置８５０が記憶している情報が漏洩したとしても、その情報だけでは利用者がどのようなサービスを利用したか知ることはできず、利用者の個人情報を保護できる。
【０４４９】
この実施の形態における履歴サービス提供システム８００によれば、利用者端末装置１００が有するＣＰＵ９１１などの処理装置の処理能力や通信装置９１５の通信能力が低い場合でも、ＩＤ管理装置８５０が利用者特定率を算出するので、情報の匿名性を正確に判断することができ、サービス提供装置８１０に利用者を特定されにくくすることができるという効果を奏する。
【０４５０】
なお、この例では、ＩＤ管理装置８５０が利用者特定率を算出しているが、ＩＤ管理装置８５０とは別に利用者特定率算出装置を設け、利用者特定率算出装置が利用者特定率を算出する構成としてもよい。
また、匿名ＩＤの管理は、利用者端末装置１００がそれぞれ行うこととしてＩＤ管理装置８５０をなくし、利用者特定率算出装置が、利用者特定率の算出を代行する処理だけを行う構成としてもよい。
【０４５１】
この実施の形態における履歴サービス提供システム８００によれば、サービス種別（この例では、商品コード）を暗号化して、ＩＤ管理装置８５０が知ることができないようにすることにより、ＩＤ管理装置８５０がサービス利用記録の全貌を把握できないようにしているので、万が一情報が漏洩した場合でも、利用者の個人情報を保護することができるという効果を奏する。
【０４５２】
また、この実施の形態における履歴サービス提供システム８００は、サービス提供装置８１０が嘘の履歴生成用情報７４０により利用者端末装置１００を欺き、利用者を特定できる情報を収集しようとするのを防ぐため、ＩＤ管理装置８５０が、サービス提供装置８１０から取得した履歴生成用情報７４０のうちから、利用者端末装置１００が記憶したサービス利用記録情報７１１と照合することにより、履歴生成用情報７４０の信頼性を判断できるサービス記録情報７４２だけを抽出し、利用者端末装置１００に対して送信する。
これにより、利用者端末装置１００が受信する利用者用履歴情報７８０は、ＩＤ管理装置８５０がサービス提供装置８１０から受信する履歴生成用情報７４０よりも、はるかに少ない情報量となるので、利用者端末装置１００の通信装置９１５の通信能力が低くても、履歴生成用情報７４０の信頼性を判断することができる。
【０４５３】
また、サービス提供装置８１０は、ＩＤ管理装置８５０がどのサービス記録情報７４２を抽出したか判別できないので、利用者を特定できない。更に、サービス提供装置８１０は、どのサービス記録情報７４２が信頼性の判断に用いられるか判別できないので、サービス記録情報７４２を改竄して、利用者端末装置１００を欺くことができない。
【０４５４】
更に、サービス提供装置８１０は、架空の匿名ＩＤを生成し、架空のサービス記録情報７４２により、利用者端末装置１００を欺こうとする可能性がある。架空の匿名ＩＤであれば、それを検証できる利用者端末装置１００が存在しないので、都合のよい内容をもつサービス記録情報７４２を生成しても、利用者端末装置１００の信頼性判断部１５０によって、履歴生成用情報７４０が信頼できないと判断されることはないからである。
この実施の形態におけるＩＤ管理装置８５０は、記録識別受信部１１３が受信したＩＤ番号７１２の一覧のうちから、記録識別選択部１５２が、記録識別記憶部８６４が記憶した匿名ＩＤに基づいて、実在するＩＤ番号を抽出し、そのなかから履歴生成用情報７４０を生成するためのＩＤ番号を選択するので、サービス提供装置８１０が送信してきたＩＤ番号７１２の一覧のなかに架空のＩＤ番号が含まれている場合でも、履歴生成用情報７４０には、実在するＩＤ番号に対応するサービス記録情報７４２しか含まれない。
【０４５５】
したがって、ＩＤ管理装置８５０は、架空のサービス記録情報７４２によって、サービス提供装置８１０が意図する誤った利用者特定率を算出することはなく、利用者特定率を正しく算出する。これにより、サービス提供装置８１０は、架空のサービス記録情報７４２により、利用者端末装置１００を騙すこともできない。
【０４５６】
この実施の形態における履歴サービス提供システム８００によれば、利用者が履歴を送信する前に、予めＩＤ管理装置８５０を仲介することによって店舗から履歴に関する情報を入手し、それら情報を用いて、利用者は自身が店舗によって特定されない購入情報から購入履歴を作成し店舗に送信することによって、利用者はプライバシーを保護された状態で且つ匿名で履歴サービスを利用できる。
また、店舗から入手する履歴に関する情報量はＩＤ管理装置８５０によって制御できるため、ＩＤ管理装置８５０や利用者端末装置１００の性能に応じて最適な情報量を調整可能である。
また、利用者端末装置１００は、店舗から入手する履歴に関する情報のいずれかを検証可能であるが、店舗は利用者が検証する情報を特定できないため、店舗が情報を都合の良い値に改竄することを防止できる。
また、店舗から入手する履歴に関する情報のうちＩＤ管理装置８５０が知ることができる情報は、商品の個数に関する情報のみであり、商品を特定する商品コードは保護される。
また、店舗は、ＩＤ管理装置８５０から匿名ＩＤや利用者特定率を含んだ情報を中継する場合であっても、情報は暗号化されているため、店舗はこれらの情報を閲覧して利用者を特定することはできない。
また、利用者端末装置１００と店舗のサービス提供装置８１０間、利用者端末装置１００とＩＤ管理装置８５０間、店舗のサービス提供装置８１０とＩＤ管理装置８５０間の通信データは暗号化されているため、第三者の盗聴を防止できる。
【０４５７】
実施の形態１０．
実施の形態１０について、図４２〜図４３を用いて説明する。
この実施の形態における履歴サービス提供システム８００の全体構成、利用者端末装置１００及びサービス提供装置８１０のハードウェア構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態におけるサービス提供装置８１０の機能ブロックの構成は、実施の形態８で説明したものと同様なので、ここでは説明を省略する。
【０４５８】
図４２は、この実施の形態における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態４で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
【０４５９】
利用者端末装置１００は、更に、利用履歴入力部１８１、種別識別判別部１８２、種別識別記憶部１８３を有する。
【０４６０】
利用履歴入力部１８１は、キーボード９０２などの入力装置を用いて、利用者が利用したサービスの種別・内容を示す情報を入力する。
ここで、利用者が利用したサービスの種別とは、例えば、利用者が今回購入した商品のことである。また、利用者が利用したサービスの内容とは、例えば、利用者が今回購入した商品の個数のことである。
利用履歴入力部１８１は、ＣＰＵ９１１などの処理装置を用いて、入力したサービスの種別・内容を示す情報を出力する。
【０４６１】
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、利用履歴入力部１８１が出力したサービスの種別・内容を示す情報と、利用履歴受信部１１２が出力した利用履歴情報６１０とを入力する。
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０と、入力したサービスの種別・内容を示す情報とを照合し、利用履歴情報６１０に含まれる商品コード６１１などのサービスの種別を示す情報（以下「種別識別情報」という）が、実際にどのサービス種別に対応するかを判別する。
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを出力する。
【０４６２】
種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、種別識別判別部１８２が出力した種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを入力する。
種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、入力した種別識別情報と、その種別識別情報が示すサービスの種別との対応関係が、既に記憶している対応関係と矛盾しないか判断する。
矛盾がないと判断した場合、種別識別記憶部１８３は、メモリなどの記憶装置を用いて、種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを記憶する。
矛盾があると判断した場合、種別識別記憶部１８３は、メモリなどの記憶装置を用いて、種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを記憶し、更に、その種別識別情報が信頼できないことを示す情報を記憶する。
【０４６３】
例えば、利用者が同じサービスを以前に利用したことがある場合、種別識別記憶部１８３は、そのサービス種別についての種別識別情報を既に記憶している。種別識別記憶部１８３は、種別識別判別部１８２が出力した種別識別情報と、既に記憶している種別識別情報とが一致するか否かを判断する。一致しない場合、種別識別記憶部１８３は、矛盾があると判断する。
また、逆に、種別識別判別部１８２が出力した種別識別情報と一致する種別識別情報を、種別識別記憶部１８３が既に記憶している場合、種別識別記憶部１８３は、対応するサービス種別が一致するか否かを判断する。一致しない場合、種別識別記憶部１８３は、矛盾があると判断する。
【０４６４】
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名性を判断しようとしている情報の種別識別情報について、種別識別記憶部１８３が記憶した情報に基づいて、その種別識別情報が信頼できるか否かを判断する。すなわち、種別識別記憶部１８３が、その種別識別情報が信頼できないことを示す情報を記憶しているか否かを判断する。
その種別識別情報が信頼できないと判断した場合、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、その種別識別情報にかかわる情報は匿名性が低いと判断する。
【０４６５】
商品コード６１１などの種別識別情報として、サービス提供装置８１０が独自に生成した非公開の情報を用いる場合、利用者端末装置１００は、種別識別情報をあらかじめ知ることができない。
そのため、サービス提供装置８１０が種別識別情報に何らかの細工をして、利用者を特定しようとする可能性がある。例えば、同じサービスに複数の種別識別情報を割り当てて、利用者を絞り込む手がかりにすることができる可能性がある。
【０４６６】
この実施の形態の利用者端末装置１００は、サービスを利用した際に、利用者が実際に利用したサービスについての情報を入力し、種別識別情報に何らかの細工がされていないかを検証するものである。
【０４６７】
図４３は、この実施の形態における利用者端末装置１００が種別識別情報に矛盾がないか判定する種別識別判定処理の流れの一例を示すフローチャート図である。
【０４６８】
Ｔ３１において、利用履歴受信部１１２は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた利用履歴情報６１０を受信する。
利用履歴受信部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用履歴情報６１０を出力する。
【０４６９】
Ｔ３２において、利用履歴入力部１８１は、キーボード９０２などの入力装置を用いて、利用者が利用したサービスの種別・内容を示す情報を入力する。
例えば、利用履歴入力部１８１は、表示装置９０１を用いて、利用者に入力を促すメッセージを表示し、利用者がキーボード９０２などの入力装置を操作した操作内容に基づいて、利用者が利用したサービスの種別・内容を示す情報を入力する。
利用履歴入力部１８１は、ＣＰＵ９１１などの処理装置を用いて、入力したサービスの種別・内容を示す情報を出力する。
【０４７０】
Ｔ３３において、種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、Ｔ３１で利用履歴受信部１１２が出力した利用履歴情報６１０を入力する。
また、種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、Ｔ３２で利用履歴入力部１８１が出力したサービスの種別・内容を示す情報を入力する。
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０と、入力したサービスの種別・内容を示す情報とを照合し、利用履歴情報６１０に含まれる商品コード６１１などの種別識別情報と、その種別識別情報が示すサービス種別との対応関係を判別する。
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、種別識別情報とその種別識別情報が示すサービス種別との対応関係を示す情報を出力する。
【０４７１】
例えば、利用者が商品「ＸＹＺ」を１個購入した場合、利用履歴入力部１８１は、商品名「ＸＹＺ」と、購入個数「１個」とを入力する。
利用履歴受信部１１２が受信した利用履歴情報６１０には、商品コード「商品Ａ」と購入個数「１」を示す情報が含まれている。
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、この情報を照合し、商品コード「商品Ａ」が示す商品の商品名が「ＸＹＺ」であることを判別する。
このように、種別識別判別部１８２は、利用したサービスの内容が一致する場合に、種別識別情報と、入力したサービス種別とを結びつけ、対応関係を判別する。
【０４７２】
また、利用者が商品「ＰＱＲ」を２個、商品「ＵＶＷ」を３個購入した場合には、利用履歴入力部１８１は、商品名「ＰＱＲ」及び商品名「ＵＶＷ」と、それぞれの購入個数とを入力する。
利用履歴受信部１１２が受信した利用履歴情報６１０には、商品コード「商品Ｂ」と購入個数「２」、商品コード「商品Ｃ」と購入個数「３」を示す情報が含まれている。
種別識別判別部１８２は、ＣＰＵ９１１などの処理装置を用いて、この情報を照合し、商品コード「商品Ｂ」が示す商品の商品名が「ＰＱＲ」であり、商品コード「商品Ｃ」が示す商品の商品名が「ＵＶＷ」であることを判別する。
このように、１回のサービス利用に際して、複数の種別のサービスを利用した場合、種別識別判別部１８２は、利用したサービスの内容が一致するものを結びつけ、対応関係を判別する。
【０４７３】
Ｔ３４において、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、Ｔ３３で種別識別判別部１８２が出力した種別識別情報とその種別識別情報が示すサービス種別との対応関係を示す情報（以下「種別識別対応情報」という）を入力する。
種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、既に記憶している種別識別対応情報のなかから、種別識別情報あるいはサービス種別のいずれかが、入力した種別識別対応情報と一致する種別識別対応情報を検索する。
【０４７４】
検索の結果、種別識別情報かサービス種別のどちらかが入力した種別識別対応情報と一致する情報が見つからない場合、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、入力した種別識別対応情報が示す対応関係に矛盾がないと判断する。
検索の結果、種別識別情報かサービス種別のどちらかが入力した種別識別対応情報と一致する情報が見つかった場合、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、種別識別情報およびサービス種別の双方が一致するか否かを判断する。
検索の結果見つけた種別識別対応情報のなかに、種別識別情報かサービス種別のどちらか一方は入力した種別識別対応情報と一致するが、他方は一致しない種別識別対応情報があると判断した場合、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、対応関係に矛盾があると判断する。
検索の結果見つかったすべての種別識別対応情報について、種別識別情報及びサービス種別の双方が入力した種別識別対応情報と一致すると判断した場合、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、対応関係に矛盾がないと判断する。
対応関係に矛盾がないと判断した場合、Ｔ３５へ進む。
対応関係に矛盾があると判断した場合、Ｔ３６へ進む。
【０４７５】
なお、検索の結果見つかった種別識別対応情報のいずれかに信頼できないことを示す情報が付加されている場合、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、対応関係に矛盾があると判断することとしてもよい。
【０４７６】
Ｔ３５において、種別識別記憶部１８３は、メモリなどの記憶装置を用いて、入力した種別識別対応情報を記憶する。
その後、種別識別判定処理を終了する。
【０４７７】
Ｔ３６において、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、入力した種別識別対応情報に、それが信頼できないことを示す情報を付加し、メモリなどの記憶装置を用いて記憶する。
また、種別識別記憶部１８３は、ＣＰＵ９１１などの処理装置を用いて、Ｔ３３で検索の結果見つけた種別識別対応情報にも、それが信頼できないことを示す情報を付加し、メモリなどの記憶装置を用いて記憶する。
その後、種別識別判定処理を終了する。
【０４７８】
サービス提供装置８１０が種別識別情報になんらかの細工をしている場合、サービス提供装置８１０から送られてきた種別識別情報と、実際に利用者が利用したサービス種別との対応関係が一致しないことがある。そこで、利用者端末装置１００は、種別識別判定処理により、対応関係が常に一致するかを判定する。
【０４７９】
対応関係が一致しないことを発見した場合、サービス提供装置８１０が種別識別情報になんらかの細工をしている可能性があるので、その種別識別情報を含む情報は、匿名性が低い可能性がある。
そこで、情報の匿名性を判断するに際し、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、種別識別記憶部１８３が記憶した種別識別対応情報のなかから、匿名性を判断したい情報に含まれる種別識別情報についての種別識別対応情報を検索する。
匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、検索の結果見つかった種別識別対応情報のなかに、信頼できないことを示す情報が付加されたものがあるか否かを判断する。
信頼できないことを示す情報が付加された種別識別対応情報がある場合、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、匿名性が低いと判断する。
信頼できないことを示す情報が付加された種別識別対応情報がない場合、匿名履歴判別部１３０は、ＣＰＵ９１１などの処理装置を用いて、利用者特定率を算出するなどして、通常どおり匿名性を判断する。
【０４８０】
この実施の形態における利用者端末装置１００（端末装置）は、更に、
ＣＰＵ９１１などの処理装置を用いて、利用履歴受信部１１２が出力した利用履歴情報６１０を入力し、ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０から、利用者が利用したサービスの種別を識別する種別識別情報を取得し、ＣＰＵ９１１などの処理装置を用いて、取得した種別識別情報と、実際に利用者が利用したサービス種別との対応関係を判別し、ＣＰＵ９１１などの処理装置を用いて、判別した対応関係を示す情報を出力する種別識別判別部１８２と、
ＣＰＵ９１１などの処理装置を用いて、種別識別判別部１８２が出力した対応関係を示す情報を、種別識別対応情報として入力し、ＣＰＵ９１１などの処理装置を用いて、記憶した種別識別対応情報のなかから、入力した種別識別対応情報が示す種別識別情報と一致する種別識別情報についての種別識別対応情報と、入力した種別識別対応情報が示すサービス種別と一致するサービス種別についての種別識別対応情報とを検索し、ＣＰＵ９１１などの処理装置を用いて、検索した種別識別対応情報が示す対応関係と、入力した種別識別対応情報が示す対応関係とを比較して、対応関係が一致しないものがあるか否かを判断し、ＣＰＵ９１１などの処理装置を用いて、対応関係が一致しないものがないと判断した場合、メモリなどの記憶装置を用いて、入力した種別識別対応情報を記憶し、ＣＰＵ９１１などの処理装置を用いて、対応関係が一致しないものがあると判断した場合、入力した種別識別対応情報に、信頼できないことを示す情報を付加し、メモリなどの記憶装置を用いて、信頼できないことを示す情報を付加した種別識別対応情報を記憶する種別識別記憶部１８３とを有し、
匿名履歴判別部１３０は、更に、
ＣＰＵ９１１などの処理装置を用いて、入力した利用履歴情報６１０から、種別識別情報を取得し、ＣＰＵ９１１などの処理装置を用いて、種別識別記憶部１８３が記憶した種別識別対応情報のなかから、取得した種別識別情報についての種別識別対応情報を検索し、ＣＰＵ９１１などの処理装置を用いて、検索した種別識別対応情報に、信頼できないことを示す情報が付加されているか否かを判断し、ＣＰＵ９１１などの処理装置を用いて、信頼できないことを示す情報が付加されている場合、入力した利用履歴情報６１０は利用者が特定されやすいと判断することを特徴とする。
【０４８１】
この実施の形態における利用者端末装置１００によれば、利用履歴受信部１１２が受信した利用履歴情報６１０に含まれる商品コードなどの種別識別情報と、利用者が実際に利用したサービスの種別（例えば、購入した商品）との対応関係を、種別識別判別部１８２が判別し、種別識別記憶部１８３が、過去の記録と比較して、対応関係に矛盾がないか判断し、対応関係に矛盾がある場合には、匿名履歴判別部１３０が、その種別識別情報を含む情報の匿名性が低いと判断するので、サービス提供装置８１０が種別識別情報に細工をして、利用者を特定する手がかりにしようとした場合、細工された種別識別情報を含む情報を、サービス提供装置８１０に送信せず、サービス提供装置８１０が利用者を特定する手がかりを得ることができないという効果を奏する。
【０４８２】
実施の形態１１．
実施の形態１１について、図４４〜図４７を用いて説明する。
【０４８３】
図４４は、この実施の形態における履歴サービス提供システム８００の全体構成及びハードウェア構成の一例を示すシステム構成図である。
なお、実施の形態１で説明した履歴サービス提供システム８００と共通する部分については、同一の符号を付し、ここでは説明を省略する。
履歴サービス提供システム８００は、更に、ＩＤ署名装置８８０を有する。
ＩＤ署名装置８８０は、例えば、信頼できる第三者機関が有するサーバ装置である。
ＩＤ署名装置８８０のハードウェア構成は、サービス提供装置８１０と同様である。
ＩＤ署名装置８８０は、通信装置９１５を用いて、利用者端末装置１００と通信する。
ＩＤ署名装置８８０は、利用者端末装置１００が生成した匿名ＩＤに署名を付し、サービス提供装置８１０が捏造した架空の匿名ＩＤでないことを保証する。
【０４８４】
この実施の形態は、実施の形態９の構成にあるＩＤ管理装置８５０がない構成でも、サービス提供装置８１０が架空の匿名ＩＤにより利用者端末装置１００を騙すことができないようにしたものである。
【０４８５】
図４５は、この実施の形態における利用者端末装置１００及びＩＤ署名装置８８０の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態４で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
また、サービス提供装置８１０の機能ブロックの構成は、実施の形態８で説明したものと同様なので、ここでは説明を省略する。
【０４８６】
ＩＤ署名装置８８０（識別署名装置ともいう）は、署名要求受信部８８１、署名生成部８８２、署名送信部８８３を有する。
【０４８７】
署名要求受信部８８１は、通信装置９１５を用いて、利用者端末装置１００が送信してきた署名要求情報（識別署名要求情報）を受信する。
署名要求情報は、署名してほしい情報（以下「署名対象情報」という）を含む。利用者端末装置１００は、署名対象情報として匿名ＩＤ（あるいは、匿名ＩＤを変換した情報）を含む署名要求情報を、ＩＤ署名装置８８０に対して送信する。
署名要求受信部８８１は、ＣＰＵ９１１などの処理装置を用いて、受信した署名要求情報から署名対象情報を取得し、取得した署名対象情報を出力する。
【０４８８】
署名生成部８８２は、ＣＰＵ９１１などの処理装置を用いて、署名要求受信部８８１が出力した署名対象情報を入力する。
署名生成部８８２は、ＣＰＵ９１１などの処理装置を用いて、入力した署名対象情報を、ＩＤ署名装置８８０の秘密鍵で暗号化して、電子署名情報を生成する。
署名生成部８８２は、ＣＰＵ９１１などの処理装置を用いて、生成した電子署名情報を出力する。
【０４８９】
署名送信部８８３は、ＣＰＵ９１１などの処理装置を用いて、署名生成部８８２が出力した電子署名情報を入力する。
署名送信部８８３は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した電子署名情報を送信する。
【０４９０】
ＩＤ署名装置８８０の公開鍵は公開されており、署名送信部８８３が送信した電子署名情報は、公開されたＩＤ署名装置８８０の公開鍵を用いて、誰でも復号することができる。復号して得た情報と、元の署名対象情報とを比較することにより、署名対象情報が改竄されているか否かを、誰でも判断できる。
【０４９１】
利用者端末装置１００は、更に、記録識別生成部８６２、識別署名要求送信部１９１、識別署名受信部１９２、記録識別送信部１６４、署名検証部１９３を有する。
【０４９２】
記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤを生成する。
記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名ＩＤを出力する。
【０４９３】
識別署名要求送信部１９１は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤを入力する。
識別署名要求送信部１９１は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名ＩＤを変換する。
識別署名要求送信部１９１は、通信装置９１５を用いて、ＩＤ署名装置８８０に対して、匿名ＩＤを変換した情報を含む署名要求情報（以下「識別署名要求情報」という）を送信する。
【０４９４】
識別署名受信部１９２は、通信装置９１５を用いて、ＩＤ署名装置８８０が送信してきた電子署名情報を受信する。
識別署名受信部１９２は、ＣＰＵ９１１などの処理装置を用いて、受信した電子署名情報を変換して、匿名ＩＤについての電子署名情報（以下「識別署名情報」という）を取得する。
識別署名受信部１９２は、ＣＰＵ９１１などの処理装置を用いて、取得した識別署名情報を出力する。
【０４９５】
利用者端末装置１００とＩＤ署名装置８８０との間の通信は、相互認証を行うため、ＩＤ署名装置８８０は、利用者端末装置１００を特定できる。
利用者端末装置１００がＩＤ署名装置８８０に対して、署名してほしい匿名ＩＤをそのまま送信すると、ＩＤ署名装置８８０のなかに、利用者端末装置１００と匿名ＩＤとの対応関係が残ってしまう可能性がある。
そこで、この実施の形態では、ブラインド署名方式により、ＩＤ署名装置８８０に署名してもらう。
【０４９６】
ブラインド署名方式とは、署名してほしい情報の内容を、署名する装置（この場合はＩＤ署名装置８８０）に知らせることなく、署名をしてもらう電子署名方式のことである。
すなわち、署名してほしい情報（匿名ＩＤ）を変換した情報を署名対象情報として、ＩＤ署名装置８８０に送信し、署名してもらう。このとき、ＩＤ署名装置８８０は、署名してほしい情報を変換した変換式を知らないので、署名してほしい情報を復元することはできず、ＩＤ署名装置８８０に署名してほしい情報を知られることはない。
利用者端末装置１００は、ＩＤ署名装置８８０が署名した電子署名情報を受信し、署名してほしい情報を変換したのと逆の変換をする。これにより、利用者端末装置１００は、署名してほしい情報に、ＩＤ署名装置８８０が直接署名した場合と同じ情報を取得することができる。
【０４９７】
記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤと、識別署名受信部１９２が出力した識別署名情報とを入力する。
記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名ＩＤに、入力した識別署名情報を付加した情報（以下「署名付き匿名ＩＤ」という）を生成する。
記録識別送信部１６４は、通信装置９１５を用いて、サービス提供装置８１０に対して、生成した署名付き匿名ＩＤを送信する。
【０４９８】
以後の処理では、署名付き匿名ＩＤを匿名ＩＤ・ＩＤ番号として使用する。
例えば、記録識別受信部１１３が受信するＩＤ番号７１２（匿名ＩＤ）の一覧は、署名付き匿名ＩＤの一覧となる。
【０４９９】
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、記録識別受信部１１３が受信した署名付き匿名ＩＤの一覧を入力する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、入力した署名付き匿名ＩＤの一覧に含まれるすべての署名付き匿名ＩＤについて署名を検証し、匿名ＩＤが捏造・改竄されていないか判断する。
【０５００】
すなわち、署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、署名付き匿名ＩＤから、匿名ＩＤと識別署名情報とを取得する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、取得した識別署名情報を、ＩＤ署名装置８８０の公開鍵で復号する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、取得した匿名ＩＤと、復号して得た情報とを比較して、一致するか否かを判断する。
一致すると判断した場合、署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、その匿名ＩＤが捏造・改竄されたものではないと判断する。
一致しないと判断した場合、署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、その匿名ＩＤが捏造・改竄されたものであると判断する。
【０５０１】
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、捏造・改竄されていないと判断した匿名ＩＤ（ＩＤ番号）の一覧を生成し、生成したＩＤ番号の一覧を出力する。
【０５０２】
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、署名検証部１９３が出力したＩＤ番号の一覧を入力し、入力したＩＤ番号の一覧から、ＩＤ番号を選択する。
【０５０３】
この実施の形態では、サービス提供装置８１０が架空の匿名ＩＤを捏造して、利用者端末装置１００を騙そうとする場合、捏造した匿名ＩＤに識別署名情報を付加する必要がある。
しかし、サービス提供装置８１０は、ＩＤ署名装置８８０の秘密鍵を知らないので、捏造した匿名ＩＤについての識別署名情報を生成できない。
【０５０４】
署名検証部１９３が署名を検証し、捏造されたものではないと判断した匿名ＩＤのなかから、記録識別選択部１５２がＩＤ番号を選択するので、架空の匿名ＩＤについての架空の利用記録情報がサービス提供装置８１０から送られてくることはなく、匿名履歴判別部１３０は、騙されることなく、情報の匿名性を正しく判断できる。
【０５０５】
図４６は、この実施の形態における履歴サービス提供システム８００が、利用者端末装置１００とサービス提供装置８１０との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図である。
なお、実施の形態８において図３１で説明した通信確立処理と共通する工程については、同一の符号を付し、説明を省略する。
【０５０６】
Ｔ４１において、記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、今回のサービス利用を識別する匿名ＩＤを生成する。
記録識別生成部８６２は、ＣＰＵ９１１などの処理装置を用いて、生成した匿名ＩＤを出力する。
Ｔ４１で生成した匿名ＩＤは、他の匿名ＩＤと衝突している可能性があるので、仮の匿名ＩＤである。
【０５０７】
Ｔ４２において、記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、Ｔ４１で記録識別生成部８６２が出力した匿名ＩＤを入力する。
記録識別送信部１６４は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した匿名ＩＤを送信する。
この段階では、まだ仮の匿名ＩＤなので署名はつけず、匿名ＩＤだけを送信する。
【０５０８】
Ｔ１６において、サービス提供装置８１０は、通信装置９１５を用いて、Ｔ４２で利用者端末装置１００の記録識別送信部１６４が送信してきた匿名ＩＤを受信する。サービス提供装置８１０は、ＣＰＵ９１１などの処理装置を用いて、受信した匿名ＩＤが他の匿名ＩＤと衝突していないかを判断する。サービス提供装置８１０は、通信装置９１５を用いて、利用者端末装置１００に対して、判断結果を示す情報を送信する。
利用者端末装置１００は、通信装置９１５を用いて、サービス提供装置８１０が送信してきた判断結果を示す情報を受信する。
受信した判断結果に基づいて、他の匿名ＩＤと衝突している場合には、Ｔ４１に戻り、別の匿名ＩＤを生成する。
他の匿名ＩＤと衝突していない場合には、Ｔ４３へ進む。
【０５０９】
Ｔ４３において、識別署名要求送信部１９１は、ＣＰＵ９１１などの処理装置を用いて、Ｔ４１で記録識別生成部８６２が出力した匿名ＩＤを入力する。
識別署名要求送信部１９１は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名ＩＤを変換して署名対象情報を生成する。
識別署名要求送信部１９１は、通信装置９１５を用いて、ＩＤ署名装置８８０に対して、生成した署名対象情報を含む識別署名要求情報を送信する。
【０５１０】
なお、ＩＤ署名装置８８０に対する送信に先立って、利用者端末装置１００とＩＤ署名装置８８０とは相互認証を行い、共通鍵により暗号化された通信を確立している。これにより、利用者端末装置１００とＩＤ署名装置との間の通信を、サービス提供装置８１０などの第三者が傍受しても、内容を知ることはできない。
【０５１１】
Ｔ４４において、識別署名受信部１９２は、通信装置９１５を用いて、Ｔ４３で送信した識別署名要求情報に対する応答としてＩＤ署名装置８８０が送信してきた電子署名情報を受信する。
識別署名受信部１９２は、ＣＰＵ９１１などの処理装置を用いて、Ｔ４３で識別署名要求送信部１９１が匿名ＩＤを変換したのと逆の変換を、受信した電子署名情報に対して行い、識別署名情報を取得する。
識別署名受信部１９２は、ＣＰＵ９１１などの処理装置を用いて、取得した識別署名情報を出力する。
【０５１２】
Ｔ４５において、記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、Ｔ４４で識別署名受信部１９２が出力した識別署名情報を入力する。
記録識別送信部１６４は、ＣＰＵ９１１などの処理装置を用いて、Ｔ４２で入力した匿名ＩＤに、入力した識別署名情報を付加して、署名付き匿名ＩＤを生成する。
記録識別送信部１６４は、通信装置９１５を用いて、サービス提供装置８１０に対して、生成した署名付き匿名ＩＤを送信する。
この段階では、匿名ＩＤが衝突していないことを確認済みなので、正式の匿名ＩＤとして、署名付き匿名ＩＤを送信する。
【０５１３】
なお、匿名ＩＤは、既にサービス提供装置８１０に対して送信済みなので、記録識別送信部１６４は、署名付き匿名ＩＤではなく、識別署名情報だけを送信することとしてもよい。
【０５１４】
図４７は、この実施の形態における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
【０５１５】
匿名ＩＤ一覧送信工程において、記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶しているサービス利用記録情報群７１０に含まれるすべてのＩＤ番号７１２と、そのＩＤ番号７１２についての識別署名情報とを入力する。
記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧を作成する。このとき、それぞれのＩＤ番号７１２には、そのＩＤ番号７１２についての識別署名情報を付加する。
記録識別送信部８２４は、通信装置９１５を用いて、利用者端末装置１００に対して、作成したＩＤ番号７１２の一覧（署名付き）を送信する。
【０５１６】
匿名ＩＤ一覧受信工程において、記録識別受信部１１３は、通信装置９１５を用いて、匿名ＩＤ一覧送信工程でサービス提供装置８１０が送信したＩＤ番号７１２の一覧（署名付き）を受信する。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２の一覧（署名付き）を出力する。
【０５１７】
署名検証工程において、署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ一覧受信工程で記録識別受信部１１３が出力したＩＤ番号７１２の一覧（署名付き）を入力する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧（署名付き）から、すべてのＩＤ番号７１２と、そのＩＤ番号７１２についての識別署名情報とを取得する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、取得した識別署名情報を、ＩＤ署名装置８８０の公開鍵で復号する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、復号して得た情報と、取得したＩＤ番号７１２とを比較し、一致するか否かを判断する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、一致すると判断したＩＤ番号７１２の一覧を生成する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、生成したＩＤ番号７１２の一覧を出力する。
【０５１８】
匿名ＩＤ選択工程において、記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、署名検証工程で署名検証部１９３が出力したＩＤ番号７１２の一覧を入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうち、利用履歴記憶部１２１が記憶しているサービス利用記録情報群７１０（利用履歴情報６１０）に含まれるすべてのＩＤ番号７１２（履歴識別情報６１４）を選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうち、更に、それ以外のＩＤ番号７１２を十分な数選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択したＩＤ番号７１２のリストを出力する。
【０５１９】
匿名ＩＤサブセット送信工程・匿名ＩＤサブセット受信工程以降の処理は、実施の形態８において図３２で説明した処理と共通なので、ここでは説明を省略する。
【０５２０】
この実施の形態における利用者端末装置１００（端末装置）は、更に、
ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ（記録識別情報）を生成し、ＣＰＵ９１１などの処理装置を用いて、生成した匿名ＩＤを出力する記録識別生成部８６２と、
ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤを入力し、通信装置９１５を用いて、入力した匿名ＩＤについての署名を要求する識別署名要求情報を、ＩＤ署名装置８８０（識別署名装置）に対して送信する識別署名要求送信部１９１と、
通信装置９１５を用いて、識別署名要求送信部１９１が送信した識別署名要求情報に対する応答として、ＩＤ署名装置８８０が送信した電子署名情報を受信し、ＣＰＵ９１１などの処理装置を用いて、受信した電子署名情報から、匿名ＩＤについての電子署名情報を取得し、取得した電子署名情報を識別署名情報として出力する識別署名受信部１９２と、
ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤと、識別署名受信部１９２が出力した識別署名情報とを入力し、通信装置９１５を用いて、サービス提供装置８１０（サーバ装置）に対して、入力した匿名ＩＤと、入力した識別署名情報とを送信する記録識別送信部１６４と、
通信装置９１５を用いて、サービス提供装置８１０が記憶した利用記録情報を識別するＩＤ番号７１２（記録識別情報）と、そのＩＤ番号７１２についての識別署名情報とのリストを受信し、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２と識別署名情報とのリストを出力する記録識別受信部１１３と、
ＣＰＵ９１１などの処理装置を用いて、記録識別受信部１１３が出力したＩＤ番号７１２の一覧と、識別署名情報とを入力し、ＣＰＵ９１１などの処理装置を用いて、入力した識別署名情報に基づいて、入力したＩＤ番号７１２の一覧に含まれるＩＤ番号７１２が改変されているか否かを判断し、ＣＰＵ９１１などの処理装置を用いて、改変されていないと判断したＩＤ番号７１２の一覧（記録識別情報のリスト）を生成し、ＣＰＵ９１１などの処理装置を用いて、生成したＩＤ番号７１２の一覧を出力する署名検証部１９３と、
ＣＰＵ９１１などの処理装置を用いて、署名検証部１９３が出力したＩＤ番号７１２の一覧のなかから、複数のＩＤ番号７１２を選択し、ＣＰＵ９１１などの処理装置を用いて、選択した複数のＩＤ番号７１２を出力する記録識別選択部１５２と、
ＣＰＵ９１１などの処理装置を用いて、記録識別選択部１５２が出力した複数のＩＤ番号７１２を入力し、通信装置９１５を用いて、サービス提供装置８１０に対して、入力した複数のＩＤ番号７１２を送信する選択識別送信部１４２とを有し、
利用記録受信部１１１は、
通信装置９１５を用いて、サービス提供装置８１０から、選択識別送信部１４２が送信した複数のＩＤ番号７１２によって識別される複数の利用記録情報を受信することを特徴とする。
【０５２１】
この実施の形態における利用者端末装置１００によれば、署名検証部１９３がＩＤ番号７１２に付された電子署名を検証し、改変されていないと判断したＩＤ番号７１２のなかから、記録識別選択部１５２が、サービス提供装置８１０に利用記録情報を送信させるＩＤ番号７１２を選択するので、匿名履歴判別部１３０が情報の匿名性を判断する基礎となる利用記録情報には架空の利用記録情報が含まれず、サービス提供装置８１０が利用者端末装置１００を騙して利用者を特定する手がかりを得ようとした場合でも、情報の匿名性を正しく判断することができ、サービス提供装置８１０に利用者を特定する手がかりを与えないという効果を奏する。
【０５２２】
実施の形態１２．
実施の形態１２について、図４８〜図５１を用いて説明する。
図４８は、この実施の形態における履歴サービス提供システム８００の全体構成の一例を示すシステム構成図である。
なお、実施の形態１で説明した履歴サービス提供システム８００と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【０５２３】
この実施の形態における履歴サービス提供システム８００は、サービス提供装置８１０（サーバ装置）、複数のＩＤ管理装置８５０（識別管理装置）、多数の利用者端末装置１００（端末装置）を有する。
サービス提供装置８１０、ＩＤ管理装置８５０、利用者端末装置１００のハードウェア構成は、実施の形態９で説明したものと同様なので、ここでは説明を省略する。
【０５２４】
ＩＤ管理装置８５０は、利用者の匿名ＩＤを分担して管理する。
利用者端末装置１００は、サービスを利用する際、ＩＤ管理装置８５０のいずれかとの通信を確立し、匿名ＩＤを発行してもらい、サービスを利用する。
利用者端末装置１００は、サービスを利用するごとに、異なるＩＤ管理装置８５０に匿名ＩＤを発行してもらってもよいし、同一のＩＤ管理装置８５０に匿名ＩＤを発行してもらってもよい。
ＩＤ管理装置８５０は、自己が発行した匿名ＩＤを管理する。
【０５２５】
図４９は、この実施の形態におけるＩＤ管理装置８５０の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態９において図３８で説明したＩＤ管理装置８５０の機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
また、利用者端末装置１００及びサービス提供装置８１０の機能ブロックの構成は、実施の形態９で説明したものと同様なので、ここでは説明を省略する。
【０５２６】
ＩＤ管理装置８５０は、更に、署名生成部８８２、署名検証部１９３、利用記録検証部１９４を有する。
【０５２７】
署名生成部８８２は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤ（記録識別情報）を入力する。
署名生成部８８２は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名ＩＤを、ＩＤ管理装置８５０の秘密鍵で暗号化し、識別署名情報を生成する。
署名生成部８８２は、ＣＰＵ９１１などの処理装置を用いて、生成した識別署名情報を出力する。
【０５２８】
生成識別送信部８６３は、ＣＰＵ９１１などの処理装置を用いて、記録識別生成部８６２が出力した匿名ＩＤと、署名生成部８８２が出力した記録識別情報とを入力する。
生成識別送信部８６３は、ＣＰＵ９１１などの処理装置を用いて、入力した匿名ＩＤに、入力した記録識別情報を付加して、署名付き匿名ＩＤを生成する。
生成識別送信部８６３は、通信装置９１５を用いて、利用者端末装置１００に対して、生成した署名付き匿名ＩＤを送信する。
【０５２９】
なお、この実施の形態におけるＩＤ管理装置８５０が生成する匿名ＩＤには、その匿名ＩＤを生成したＩＤ管理装置８５０を示す情報が含まれている。
したがって、ＩＤ管理装置８５０が生成した匿名ＩＤが、他のＩＤ管理装置８５０が生成した匿名ＩＤと衝突する可能性はない。
【０５３０】
記録識別受信部１１３は、通信装置９１５を用いて、サービス提供装置８１０が送信してきたＩＤ番号７１２（匿名ＩＤ）の一覧を受信する。
この実施の形態における記録識別受信部１１３が受信するＩＤ番号７１２の一覧には、それぞれのＩＤ番号７１２についての識別署名情報が含まれる。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２の一覧（署名付き）を出力する。
【０５３１】
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、記録識別受信部１１３が出力したＩＤ番号７１２の一覧（署名付き）を入力する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧（署名付き）から、すべてのＩＤ番号７１２と、そのＩＤ番号７１２についての識別署名情報とを取得する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、ＩＤ番号７１２に基づいて、そのＩＤ番号７１２を生成したＩＤ管理装置８５０を判別する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、取得した識別署名情報を、判別したＩＤ管理装置８５０の公開鍵で復号する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、復号して得た情報と、取得したＩＤ番号７１２とを比較し、一致するか否かを判断する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、一致すると判断したＩＤ番号７１２の一覧を生成する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、生成したＩＤ番号７１２の一覧を出力する。
【０５３２】
なお、ＩＤ番号７１２のうち、自己が生成したＩＤ番号７１２については、署名を検証するのではなく、記録識別記憶部８６４が記憶した匿名ＩＤのなかに一致するものがあるか否かを判断することにより、出力するＩＤ番号７１２の一覧に含めるか否かを決定してもよい。
【０５３３】
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、署名検証部１９３が出力したＩＤ番号の一覧を入力し、入力したＩＤ番号の一覧から、ＩＤ番号を選択する。
【０５３４】
この実施の形態では、ＩＤ管理装置８５０が複数あるので、他のＩＤ管理装置８５０が生成した匿名ＩＤについては、記録識別記憶部８６４が記憶していない。
そのため、実施の形態１１で説明したのと同様、ＩＤ番号に付加した署名を検証することにより、サービス提供装置８１０が送信してきたＩＤ番号７１２の一覧のなかに、架空のＩＤ番号が含まれていないかを検証する。
【０５３５】
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、記録識別記憶部８６４が記憶した匿名ＩＤに基づいて、利用者端末装置１００に対応する匿名ＩＤを抽出する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のうち、判別した匿名ＩＤと同一のＩＤ番号７１２（履歴識別情報６１４）をすべて選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、抽出した実在ＩＤ番号のうちから、更に、それ以外のＩＤ番号７１２を十分な数選択する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、選択したＩＤ番号７１２のリストを出力する。
【０５３６】
ＩＤ管理装置８５０が管理している匿名ＩＤは全匿名ＩＤの一部であり、ＩＤ管理装置８５０が利用者端末装置１００と匿名ＩＤとの対応を知っているのは、自己が発行した匿名ＩＤに限られる。
したがって、記録識別選択部１５２が選択するＩＤ番号には、利用者端末装置１００が利用したサービスを記録した利用記録情報を識別するＩＤ番号のうち、ＩＤ管理装置８５０自身が生成したＩＤ番号（匿名ＩＤ）はすべて含まれるが、他のＩＤ管理装置８５０が生成したＩＤ番号は含まれない場合がある。
例えば、利用者端末装置１００が他のＩＤ管理装置８５０に匿名ＩＤを発行してもらったことはあるが、そのＩＤ管理装置８５０に匿名ＩＤを発行してもらうのが初めてである場合、記録識別選択部１５２が選択するＩＤ番号に、その利用者端末装置１００が利用したサービスを記録した利用記録情報を識別するＩＤ番号がまったく含まれず、利用者端末装置１００が履歴生成用情報７４０の信頼性を判断できない可能性もある。
【０５３７】
しかし、サービス提供装置８１０には、履歴生成用情報７４０に含まれるサービス記録情報７４２のうち、どのサービス記録情報７４２が信頼性の判断に利用されるかわからないので、サービス提供装置８１０がサービス記録情報７４２を改変することはできない。
【０５３８】
なお、利用者端末装置１００が、ＩＤ管理装置８５０に対して、利用したサービスを記録した利用記録情報を識別するＩＤ番号のうち、他のＩＤ管理装置８５０が生成したＩＤ番号を送信し、ＩＤ管理装置８５０に、利用者端末装置１００とＩＤ番号との対応を教え、記録識別選択部１５２は、それに基づいて、ＩＤ番号７１２を選択することとしてもよい。
あるいは、ＩＤ管理装置８５０が、他のＩＤ管理装置８５０に問い合わせることにより、他のＩＤ管理装置８５０が生成したＩＤ番号と、利用者端末装置１００との対応を示す情報を取得することとしてもよい。
【０５３９】
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力したサービス利用記録情報７１１を入力する。
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７１１を検証し、利用記録受信部１１１が受信した履歴生成用情報７４０が改竄されているか否かを判断する。
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、判断結果を示す情報を出力する。
【０５４０】
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力したサービス利用記録情報７１１と、利用記録検証部１９４が出力した判断結果を示す情報を入力する。
利用記録受信部１１１が受信した履歴生成用情報７４０が改竄されていないと利用記録検証部１９４が判断した場合、利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、実施の形態９で説明したのと同様の動作により、利用者用履歴情報７８０を生成する。
利用記録受信部１１１が受信した履歴生成用情報７４０が改竄されていると利用記録検証部１９４が判断した場合、利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、空の利用者用履歴情報７８０を生成する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、生成した利用者用履歴情報７８０を出力する。
【０５４１】
図５０は、この実施の形態における履歴生成用情報７４０の一例を示す図である。
履歴生成用情報７４０は、サービス提供装置８１０の送信利用記録生成部８２６が生成し、利用記録送信部８２７が、ＩＤ管理装置８５０に対して送信し、ＩＤ管理装置８５０の利用記録受信部１１１が受信するものである。
なお、実施の形態８において図３４で説明した履歴生成用情報７４０と共通する情報については、同一の符号を付し、ここでは説明を省略する。
【０５４２】
暗号化個別サービス情報７４５は、サービス利用記録７１４に含まれる商品コード（種別識別情報）、購入個数などから、サービス提供装置８１０の送信利用記録生成部８２６が生成する。このうち、商品コードは、サービス提供装置８１０と利用者端末装置１００との間の共通鍵ＵＳで暗号化する。したがって、ＩＤ管理装置８５０は、利用者が利用したサービスの商品コードを知ることはできない。
【０５４３】
個別サービス情報検証用情報７５４は、元のサービス利用記録情報７１１のＩＤ番号７１２、サービス利用記録７１４に含まれる商品コードを共通鍵ＵＳで暗号化した情報、購入個数などから、送信利用記録生成部８２６が生成したハッシュ値である。
ＩＤ管理装置８５０は、商品コードを知らないが、商品コードを共通鍵で暗号化した情報は、暗号化個別サービス情報７４５から取得できるので、ハッシュ値を計算することが可能である。
【０５４４】
個別サービス個数算出用情報７５６は、購入個数７１６に、ハッシュ値（＝個別サービス情報検証用情報７５４）と、算出用数値７６３の整数倍を加えたものである。個別サービス個数算出用情報７５６は、ハッシュ値を算出する元となる商品コードが共通鍵ＵＳで暗号化されたものである点を除けば、実施の形態８で説明したものと同様である。
ＩＤ管理装置８５０は、商品コードを知らないが、ハッシュ値を計算することができ、算出用位置７６２、算出用数値７６３を暗号化個別サービス情報７４５から取得できるので、個別サービス個数算出用情報７５６から購入個数を算出することが可能である。
【０５４５】
ＩＤ管理装置８５０の利用記録受信部１１１は、実施の形態８で説明した利用者端末装置１００の利用記録受信部１１１と同様の動作により、履歴生成用情報７４０に基づいて、サービス利用記録情報７１１を復元する。なお、ＩＤ管理装置８５０は、商品コードを復号できないので、暗号化された商品コードのまま復元する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、復元したサービス利用記録情報７１１を出力する。
【０５４６】
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、利用記録受信部１１１が出力したサービス利用記録情報７１１を入力する。
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７１１に基づいて、利用記録受信部１１１が受信した履歴生成用情報７４０が改竄されているか否かを判断する。
すなわち、利用記録検証部１９４は、利用記録受信部１１１がサービス情報群７４１から復元した購入個数などの情報と、検証用情報群７５１から復元した情報とを比較し、一致するか否かを判断し、一致しないと判断した場合に、履歴生成用情報７４０が改竄されていると判断する。
【０５４７】
サービス情報群７４１と検証用情報群７５１とは、サービス提供装置８１０が同じ情報から生成するものであるから、両者から復元した情報は一致するはずである。
したがって、サービス情報群７４１から復元した情報と検証用情報群７５１から復元した情報とが一致しない場合には、履歴生成用情報７４０がサービス提供装置８１０からＩＤ管理装置８５０へ送信される途中で、第三者により改竄された可能性が高い。
そこで、サービス情報群７４１から復元した情報と検証用情報群７５１から復元した情報とが一致しない場合、利用記録検証部１９４は、履歴生成用情報７４０が改竄されていると判断する。
【０５４８】
なお、ＩＤ管理装置８５０は、サービス利用記録情報７２１を記憶していないので、両者が一致する場合には、その内容が改竄されているかを検証することはできない。
そこで、利用記録検証部１９４は、両者が一致する場合には、とりあえず改竄はないものと判断し、利用者用履歴生成部８７１が利用者用履歴情報７８０を生成する。
実施の形態９で説明したように、利用者用履歴情報７８０には、その利用者が利用したサービスを記録したサービス記録情報７４２が含まれているので、利用者端末装置１００がこれを受信し、利用者端末装置１００が記憶したサービス利用記録情報７２１と比較することにより、履歴生成用情報７４０が改竄されているか否かを最終的に判断する。
【０５４９】
図５１は、この実施の形態における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
なお、実施の形態９において図４０を用いて説明した工程と共通する工程については、同一の名称を付し、ここでは説明を省略する。
【０５５０】
匿名ＩＤ一覧送信工程において、サービス提供装置８１０の記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、利用記録記憶部８２３が記憶しているサービス利用記録情報群７１０に含まれるすべてのＩＤ番号７１２と、そのＩＤ番号７１２についての識別署名情報とを入力する。
記録識別送信部８２４は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号の一覧（署名付き）を生成する。
記録識別送信部８２４は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、生成したＩＤ番号７１２の一覧（署名付き）と利用者端末装置１００の匿名ＩＤとを送信する。
【０５５１】
匿名ＩＤ一覧受信工程において、ＩＤ管理装置８５０の記録識別受信部１１３は、通信装置を用いて、匿名ＩＤ一覧送信工程でサービス提供装置８１０が送信したＩＤ番号７１２の一覧（署名付き）と利用者端末装置１００の匿名ＩＤとを受信する。
記録識別受信部１１３は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２の一覧（署名付き）と利用者端末装置１００の匿名ＩＤとを出力する。
【０５５２】
署名検証工程において、ＩＤ管理装置８５０の署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ一覧受信工程で記録識別受信部１１３が出力したＩＤ番号７１２の一覧（署名付き）を入力する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧（署名付き）に含まれるすべてのＩＤ番号７１２について、署名を検証し、検証の結果、改変されていないと判断したＩＤ番号７１２の一覧を生成する。
署名検証部１９３は、ＣＰＵ９１１などの処理装置を用いて、生成したＩＤ番号７１２の一覧を出力する。
【０５５３】
匿名ＩＤ選択工程において、ＩＤ管理装置８５０の記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、署名検証工程で署名検証部１９３が出力したＩＤ番号７１２の一覧と、匿名ＩＤ一覧受信工程で記録識別受信部１１３が出力した利用者端末装置１００の匿名ＩＤとを入力する。
記録識別選択部１５２は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２の一覧のなかから、十分な数のＩＤ番号７１２を選択し、選択したＩＤ番号７１２のリストを出力する。
【０５５４】
匿名ＩＤサブセット送信工程において、ＩＤ管理装置８５０の選択識別送信部１４２は、ＣＰＵ９１１などの処理装置を用いて、匿名ＩＤ選択工程で記録識別選択部１５２が出力したＩＤ番号７１２のリストを入力する。
選択識別送信部１４２は、通信装置９１５を用いて、サービス提供装置８１０に対して、入力したＩＤ番号７１２のリストを送信する。
【０５５５】
匿名ＩＤサブセット受信工程において、サービス提供装置８１０の選択識別受信部８２５は、通信装置９１５を用いて、匿名ＩＤサブセット送信工程でＩＤ管理装置８５０が送信したＩＤ番号７１２のリストを受信する。
選択識別受信部８２５は、ＣＰＵ９１１などの処理装置を用いて、受信したＩＤ番号７１２のリストを出力する。
【０５５６】
履歴生成用情報作成工程において、サービス提供装置８１０の送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、入力したＩＤ番号７１２に基づいて、利用記録記憶部８２３が記憶したサービス利用記録情報７１１を入力し、図５０に示した履歴生成用情報７４０（送信利用記録情報）を生成する。
送信利用記録生成部８２６は、ＣＰＵ９１１などの処理装置を用いて、生成した履歴生成用情報７４０を出力する。
【０５５７】
履歴生成用情報送信工程において、サービス提供装置８１０の利用記録送信部８２７は、ＣＰＵ９１１などの処理装置を用いて、履歴生成用情報作成工程で送信利用記録生成部８２６が出力した履歴生成用情報７４０を入力する。
利用記録送信部８２７は、通信装置９１５を用いて、ＩＤ管理装置８５０に対して、入力した履歴生成用情報７４０を送信する。
【０５５８】
履歴生成用情報受信工程において、ＩＤ管理装置８５０の利用記録受信部１１１は、通信装置９１５を用いて、履歴生成用情報送信工程でサービス提供装置８１０が送信した履歴生成用情報７４０を受信する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した履歴生成用情報７４０に基づいて、サービス利用記録情報７１１（利用記録情報）を復元する。
利用記録受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、復元したサービス利用記録情報７１１を出力する。
【０５５９】
利用者用履歴生成工程において、ＩＤ管理装置８５０の利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、履歴生成用情報受信工程で利用記録受信部１１１が出力したサービス利用記録情報７１１を入力する。
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７１１に基づいて、履歴生成用情報受信工程で利用記録受信部１１１が受信した履歴生成用情報７４０に改竄があるか否かを判断する。
利用記録検証部１９４は、ＣＰＵ９１１などの処理装置を用いて、判断結果を示す情報を出力する。
【０５６０】
利用者用履歴生成工程において、ＩＤ管理装置８５０の利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、履歴生成用情報受信工程で利用記録受信部１１１が出力したサービス利用記録情報７１１と、利用記録検証工程で利用記録検証部１９４が出力した判断結果を示す情報とを入力する。
利用記録検証部１９４が履歴生成用情報７４０に改竄がないと判断した場合、利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、入力したサービス利用記録情報７１１に基づいて、利用者用履歴情報７８０を生成する。
利用記録検証部１９４が履歴生成用情報７４０に改竄があると判断した場合、利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、空の利用者用履歴情報７８０を生成する。
利用者用履歴生成部８７１は、ＣＰＵ９１１などの処理装置を用いて、生成した利用者用履歴情報７８０を出力する。
【０５６１】
利用者用履歴送信工程において、利用者用履歴送信部８７２は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴生成工程で利用者用履歴生成部８７１が生成した利用者用履歴情報７８０を入力する。
利用者用履歴送信部８７２は、通信装置９１５を用いて、利用者端末装置１００に対して、入力した利用者用履歴情報７８０を送信する。
【０５６２】
利用者用履歴受信工程において、利用者端末装置の利用者用履歴受信部１７２は、通信装置９１５を用いて、利用者用履歴送信工程でＩＤ管理装置８５０が送信した利用者用履歴情報７８０を受信する。
利用者用履歴受信部１７２は、ＣＰＵ９１１などの処理装置を用いて、受信した利用者用履歴情報７８０を出力する。
【０５６３】
履歴生成用情報検証工程において、信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、利用者用履歴受信工程で利用者用履歴受信部１７２が出力した利用者用履歴情報を入力する。
信頼性判断部１５１は、ＣＰＵ９１１などの処理装置を用いて、入力した利用者用履歴情報７８０に基づいて、履歴生成用情報７４０の信頼性を判断する。
信頼性判断部１５１が入力した利用者用履歴情報７８０が空である場合、履歴生成用情報７４０が改竄されているとＩＤ管理装置８５０が判断したことを示しているので、信頼性判断部１５１は、履歴生成用情報７４０が信頼できないと判断する。
それ以外の場合、信頼性判断部１５１は、実施の形態９で説明したのと同様の動作により、履歴生成用情報７４０の信頼性を判断する。
【０５６４】
履歴生成工程・履歴受信工程以降の処理は、実施の形態９において図４０で説明したのと同様なので、ここでは説明を省略する。
【０５６５】
このように、ＩＤ管理装置８５０が複数ある場合には、１つのＩＤ管理装置８５０が匿名ＩＤのすべてを管理しているわけではないので、ＩＤ管理装置８５０が匿名ＩＤを発行する際に署名を付け、これを検証することにより、架空ＩＤを発見することができる。
【０５６６】
利用者端末装置１００は、複数のＩＤ管理装置８５０のいずれに匿名ＩＤを発行してもらってもよいので、サービス提供装置８１０は、匿名ＩＤを発行したＩＤ管理装置８５０に基づいて、利用者端末装置１００を特定する手がかりを得ることはできない。
【０５６７】
ＩＤ管理装置８５０は、履歴生成用情報７４０に含まれるサービス情報群７４１と検証用情報群７５１との間に矛盾がないか検証するので、サービス提供装置８１０からＩＤ管理装置８５０へ送信される間に、第三者が履歴生成用情報７４０を改竄したことを発見することができる。
【０５６８】
利用者端末装置１００は、ＩＤ管理装置８５０が履歴生成用情報７４０から生成した利用者用履歴情報７８０に含まれるサービス情報群７４１と、記憶したサービス利用記録情報７１１とを比較して、履歴生成用情報７４０の信頼性を判断するので、サービス提供装置８１０は、サービス利用記録情報７２１を改竄することができない。
【図面の簡単な説明】
【０５６９】
【図１】実施の形態１における履歴サービス提供システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１におけるサービス提供装置８１０の外観の一例を示す図。
【図３】実施の形態１におけるサービス提供装置８１０のハードウェア資源の一例を示す図。
【図４】実施の形態１における利用者端末装置１００及びサービス提供装置８１０のハードウェア構成の一例を示すハードウェア構成図。
【図５】実施の形態１における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図６】実施の形態１における利用履歴情報６１０の一例を示す図。
【図７】実施の形態１における利用記録情報６２０の一例を示す図。
【図８】実施の形態１における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図。
【図９】実施の形態１における匿名履歴判別部１３０が匿名履歴情報を判別する匿名履歴判別処理の流れの一例を示すフローチャート図。
【図１０】実施の形態２における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図１１】サービス提供装置８１０が嘘の利用記録情報６２０を送信した場合について説明する図。
【図１２】実施の形態２における信頼性判断部１５１が利用記録情報６２０の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図。
【図１３】実施の形態３における利用履歴受信部１１２が受信し、利用履歴記憶部１２１が記憶する利用履歴情報６１０の一例を示す図。
【図１４】実施の形態３における利用記録受信部１１１が受信する利用記録情報６２０の一例を示す図。
【図１５】実施の形態３における信頼性判断部１５１が利用記録情報６２０の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図。
【図１６】実施の形態４における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図１７】実施の形態４における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図。
【図１８】実施の形態４における記録識別選択部１５２が記録識別情報６２４を選択する記録識別選択処理の流れの一例を示すフローチャート図。
【図１９】実施の形態５における利用記録受信部１１１が受信する利用記録情報６２０の一例を示す図。
【図２０】実施の形態５における信頼性判断部１５１が、利用記録情報６２０の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図。
【図２１】実施の形態６における利用履歴受信部１１２が受信し、利用履歴記憶部１２１が記憶する利用履歴情報６１０の一例を示す図。
【図２２】実施の形態６における利用記録受信部１１１が受信する暗号化記録情報６４０の一例を示す図。
【図２３】実施の形態６における利用記録受信部１１１が受信する利用記録情報６２０の別の例を示す図。
【図２４】実施の形態７における利用履歴受信部１１２が受信し、利用履歴記憶部１２１が記憶する利用履歴情報６１０の一例を示す図。
【図２５】実施の形態７における利用記録受信部１１１が受信する暗号化記録情報６４０と暗号化暗号鍵６５０との一例を示す図。
【図２６】実施の形態７におけるサービス提供装置８１０が暗号化記録情報６４０を送信する利用記録送信処理の流れの一例を示すフローチャート図。
【図２７】実施の形態７における利用記録受信部１１１が、暗号化記録情報６４０を受信して復号する利用記録受信処理の流れの一例を示すフローチャート図。
【図２８】実施の形態８におけるサービス提供装置８１０の機能ブロックの構成の一例を示すブロック構成図。
【図２９】実施の形態８における利用記録記憶部８２３が記憶するサービス利用記録情報群７１０の一例を示す図。
【図３０】実施の形態８における履歴サービス提供システム８００が履歴サービスを提供する履歴サービス提供処理の全体の流れを示すフローチャート図。
【図３１】実施の形態８における履歴サービス提供システム８００が、利用者端末装置１００とサービス提供装置８１０との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図。
【図３２】実施の形態８における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。
【図３３】実施の形態８における履歴サービス提供システム８００において、サービス提供装置８１０と利用者端末装置１００とがやり取りする情報の一例を示す図。
【図３４】実施の形態８における送信利用記録生成部８２６が生成する履歴生成用情報７４０の一例を示す図。
【図３５】実施の形態８における送信利用記録生成部８２６が、暗号化個別サービス情報７４５、個別サービス情報検証用情報７５４、個別サービス個数算出用情報７５６を生成する生成方法を説明するための図。
【図３６】実施の形態８における利用記録受信部１１１が復号したサービス利用記録情報７２１の一例を示す図。
【図３７】実施の形態９における履歴サービス提供システム８００の全体構成及びハードウェア構成の一例を示すシステム構成図。
【図３８】実施の形態９における利用者端末装置１００及びＩＤ管理装置８５０の機能ブロックの構成の一例を示すブロック構成図。
【図３９】実施の形態９における履歴サービス提供システム８００が、利用者端末装置１００とサービス提供装置８１０との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図。
【図４０】実施の形態９における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。
【図４１】実施の形態９における送信利用記録生成部８２６が生成する履歴生成用情報７４０及び利用者用履歴生成部８７１が生成する利用者用履歴情報７８０の一例を示す図。
【図４２】実施の形態１０における利用者端末装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図４３】実施の形態１０における利用者端末装置１００が種別識別情報に矛盾がないか判定する種別識別判定処理の流れの一例を示すフローチャート図。
【図４４】実施の形態１１における履歴サービス提供システム８００の全体構成及びハードウェア構成の一例を示すシステム構成図。
【図４５】実施の形態１１における利用者端末装置１００及びＩＤ署名装置８８０の機能ブロックの構成の一例を示すブロック構成図。
【図４６】実施の形態１１における履歴サービス提供システム８００が、利用者端末装置１００とサービス提供装置８１０との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図。
【図４７】実施の形態１１における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。
【図４８】実施の形態１２における履歴サービス提供システム８００の全体構成の一例を示すシステム構成図。
【図４９】実施の形態１２におけるＩＤ管理装置８５０の機能ブロックの構成の一例を示すブロック構成図。
【図５０】実施の形態１２における履歴生成用情報７４０の一例を示す図。
【図５１】実施の形態１２における履歴サービス提供システム８００が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。
【符号の説明】
【０５７０】
１００  利用者端末装置、１１１  利用記録受信部、１１２  利用履歴受信部、１１３  記録識別受信部、１２１  利用履歴記憶部、１３０  匿名履歴判別部、１３１  匿名性判断部、１４１  匿名履歴送信部、１４２  選択識別送信部、１５１  信頼性判断部、１５２  記録識別選択部、１６１  識別生成要求送信部、１６３  生成識別受信部、１６４  記録識別送信部、１７２  利用者用履歴受信部、１８１  利用履歴入力部、１８２  種別識別判別部、１８３  種別識別記憶部、１９１  識別署名要求送信部、１９２  識別署名受信部、１９３  署名検証部、２００  カード部、２１０  ＵＩＭ、６１０  利用履歴情報、６１１，６２１，６３１，６５１  商品コード、６１２，６２２  購入個数、６１３  購入日時、６１４  履歴識別情報、６１６，６５６  サービス暗号鍵、６１７  履歴暗号鍵、６２０  利用記録情報、６２４，６５４  記録識別情報、６２５  ハッシュ値、６２７  記録暗号鍵、６３０  匿名履歴情報、６４０  暗号化記録情報、６４２  暗号化購入個数、６５０  暗号化暗号鍵、６５２  位置、７１０  サービス利用記録情報群、７１１，７２１  サービス利用記録情報、７１２  ＩＤ番号、７１３  共通鍵、７１４，７２４  サービス利用記録、７１５  商品コード、７１６  購入個数、７４０  履歴生成用情報、７４１  サービス情報群、７４２  サービス記録情報、７４３  ＩＤ番号、７４４  暗号化個別サービス情報群、７４５  暗号化個別サービス情報、７４６  個別サービス情報群、７４７  個別サービス情報、７５１  検証用情報群、７５２  検証用情報、７５３  個別サービス情報検証用情報群、７５４  個別サービス情報検証用情報、７５５  個別サービス個数算出用情報群、７５６  個別サービス個数算出用情報、７６１  検証用位置、７６２  算出用位置、７６３  算出用数値、７７１  サービス種別情報群、７７２  暗号化サービス種別情報、７８０  利用者用履歴情報、７８１  利用者特定率情報群、７８２  利用者特定率情報、８００  履歴サービス提供システム、８１０  サービス提供装置、８２１  利用履歴生成部、８２２  利用履歴送信部、８２３  利用記録記憶部、８２４  記録識別送信部、８２５  選択識別受信部、８２６  送信利用記録生成部、８２７  利用記録送信部、８３１  匿名履歴受信部、８３２  サービス情報記憶部、８３３  サービス情報選択部、８３４  サービス情報送信部、８４１  秘密鍵記憶部、８４２  証明書記憶部、８５０  ＩＤ管理装置、８６１  識別生成要求受信部、８６２  記録識別生成部、８６３  生成識別送信部、８６４  記録識別記憶部、８７１  利用者用履歴生成部、８７２  利用者用履歴送信部、８８０  ＩＤ署名装置、８８１  署名要求受信部、８８２  署名生成部、８８３  署名送信部、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2008026955.tif 000003
【図２】
2008026955.tif 000004
【図３】
2008026955.tif 000005
【図４】
2008026955.tif 000006
【図５】
2008026955.tif 000007
【図６】
2008026955.tif 000008
【図７】
2008026955.tif 000009
【図８】
2008026955.tif 000010
【図９】
2008026955.tif 000011
【図１０】
2008026955.tif 000012
【図１１】
2008026955.tif 000013
【図１２】
2008026955.tif 000014
【図１３】
2008026955.tif 000015
【図１４】
2008026955.tif 000016
【図１５】
2008026955.tif 000017
【図１６】
2008026955.tif 000018
【図１７】
2008026955.tif 000019
【図１８】
2008026955.tif 000020
【図１９】
2008026955.tif 000021
【図２０】
2008026955.tif 000022
【図２１】
2008026955.tif 000023
【図２２】
2008026955.tif 000024
【図２３】
2008026955.tif 000025
【図２４】
2008026955.tif 000026
【図２５】
2008026955.tif 000027
【図２６】
2008026955.tif 000028
【図２７】
2008026955.tif 000029
【図２８】
2008026955.tif 000030
【図２９】
2008026955.tif 000031
【図３０】
2008026955.tif 000032
【図３１】
2008026955.tif 000033
【図３２】
2008026955.tif 000034
【図３３】
2008026955.tif 000035
【図３４】
2008026955.tif 000036
【図３５】
2008026955.tif 000037
【図３６】
2008026955.tif 000038
【図３７】
2008026955.tif 000039
【図３８】
2008026955.tif 000040
【図３９】
2008026955.tif 000041
【図４０】
2008026955.tif 000042
【図４１】
2008026955.tif 000043
【図４２】
2008026955.tif 000044
【図４３】
2008026955.tif 000045
【図４４】
2008026955.tif 000046
【図４５】
2008026955.tif 000047
【図４６】
2008026955.tif 000048
【図４７】
2008026955.tif 000049
【図４８】
2008026955.tif 000050
【図４９】
2008026955.tif 000051
【図５０】
2008026955.tif 000052
【図５１】
2008026955.tif 000053