JP4813278B2 - 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム - Google Patents

端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム Download PDF

Info

Publication number
JP4813278B2
JP4813278B2 JP2006195678A JP2006195678A JP4813278B2 JP 4813278 B2 JP4813278 B2 JP 4813278B2 JP 2006195678 A JP2006195678 A JP 2006195678A JP 2006195678 A JP2006195678 A JP 2006195678A JP 4813278 B2 JP4813278 B2 JP 4813278B2
Authority
JP
Japan
Prior art keywords
information
history
usage
record
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006195678A
Other languages
English (en)
Other versions
JP2008026955A (ja
Inventor
和美 齋藤
健 米田
英憲 太田
規 松田
伊藤  隆
充洋 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006195678A priority Critical patent/JP4813278B2/ja
Publication of JP2008026955A publication Critical patent/JP2008026955A/ja
Application granted granted Critical
Publication of JP4813278B2 publication Critical patent/JP4813278B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、利用者を特定する手がかりを与えずに、履歴サービスを利用する技術に関する。
履歴サービスとは、サービスの利用者が過去に利用したサービスの内容(例えば、購入した商品)に基づいて、利用者の嗜好や傾向を把握し、利用者が利用しそうなサービスを予測して、その利用者にとって有用な情報を提供するなどのサービスを行うものである。
従来の履歴サービスは、サービス提供者が利用者のサービス利用履歴を保存し、利用者が誰であるかを特定した上で、提供されるものである。
また、利用者がサービス利用履歴を保存し、サービスを利用する際に、自己の利用履歴をサービス提供者に教えることにより、利用者を特定せずに履歴サービスの提供を受けるものもある。
特開2001−256395号公報 特開2005−051671号公報 繁富利恵、大塚玲、Keith Martin、今井秀樹「部分的なlinkabilityを付加したRefreshable Tokens」情報処理学会研究報告、2004−CSEC−26(52)、359〜366ページ A.J.Menezes、Paul C.Van Oorschot、Scott A.Vanstone「Handbook of Applied Cryptography」CRC Press、405ページ
サービス提供者が利用者を特定して利用者のサービス利用履歴を保存する方式は、利用者を特定できるため、匿名性を保ったままサービスを利用したい利用者は、利用することができないという課題がある。
利用者がサービス利用履歴を保存する方式の場合、サービス提供者の側で保存したサービス利用履歴と照合することにより、利用者を特定されてしまうという課題がある。
また、データマイニング技術の発達により、サービス利用履歴の一部だけをサービス提供者に教えた場合であっても、バラバラの利用履歴から関連性を把握し、利用者のサービス利用の全貌を明らかにすることができる場合がある。
この発明は、例えば、上記のような課題を解決するためになされたものであり、利用者が匿名性を保ったまま、履歴サービスを利用できるようにすることを目的とする。
この発明にかかる端末装置は、
情報を記憶する記憶装置と、
情報を処理する処理装置と、
利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置と、
上記記憶装置を用いて、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶部と、
上記通信装置を用いて、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置を用いて、受信した複数の上記利用記録情報を出力する利用記録受信部と、
上記処理装置を用いて、上記利用記録受信部が出力した複数の上記利用記録情報と、上記利用履歴記憶部が記憶した上記利用履歴情報とを入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置を用いて、判別した上記情報を匿名履歴情報として出力する匿名履歴判別部と、
上記処理装置を用いて、上記匿名履歴判別部が出力した上記匿名履歴情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信部とを有することを特徴とする。
この実施の形態における利用者端末装置100によれば、利用者が特定されにくい情報を匿名履歴判別部130が匿名履歴情報630として判別し、判別した匿名履歴情報630を匿名履歴送信部141がサービス提供装置810に対して送信するので、この情報送信によりサービス提供装置810が利用者を特定できないという効果を奏する。
実施の形態1.
実施の形態1について、図1〜図9を用いて説明する。
図1は、この実施の形態における履歴サービス提供システム800の全体構成の一例を示すシステム構成図である。
履歴サービス提供システム800は、利用者が過去に利用したサービスの内容に基づいて、その利用者が利用するであろうサービスを予測し、その利用者にとって有用な情報を利用者に提供するシステムである。
例えば、商店において、顧客が過去に購入した商品についての情報から、その顧客が購入しそうな商品を予測し、その商品についての値引き情報などをその顧客に提供する。
サービス提供装置810は、サービスを利用する複数の利用者が過去に利用したサービスの内容を記録した情報(以下「利用記録情報」という)を記憶している。ただし、個人情報を保護するため、そのサービスを利用した利用者を特定できる情報は記録していない。
サービス提供装置810は、サーバ装置の一例である。
利用者端末装置100は、サービスを利用する利用者がそれぞれ所持している装置である。利用者端末装置100は、所持している利用者が過去に利用したサービスの内容を記録した情報(以下「利用履歴情報」という)を記憶している。
利用者端末装置100は、端末装置の一例である。
利用者端末装置100は、利用履歴情報をサービス提供装置810に対して送信する。しかし、利用者端末装置100は、利用者を特定できる情報は送信しない。
サービス提供装置810は、利用者端末装置100が送信してきた利用履歴情報を受信し、受信した利用履歴情報に基づいて、利用者の嗜好などを分析する。サービス提供装置810は、分析結果に基づいて、利用者によって有用であろう情報を判別し、利用者端末装置100に対して送信する。
利用者端末装置100は、サービス提供装置810が送信してきた情報を受信し、受信した情報を画面に表示するなどして、利用者に通知する。
サービス提供装置810は利用記録情報を記憶しているので、利用者端末装置100が送信してきた利用履歴情報と、利用記録情報とを照合することにより、利用者を特定できてしまう危険がある。
そこで、この実施の形態における利用者端末装置100は、利用履歴情報のうち、利用記録情報と照合しても容易に利用者を特定できない情報(以下「匿名履歴情報」という)を判別し、判別した匿名履歴情報のみをサービス提供装置810に対して送信する。
図2は、この実施の形態におけるサービス提供装置810の外観の一例を示す図である。
サービス提供装置810は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
図3は、この実施の形態におけるサービス提供装置810のハードウェア資源の一例を示す図である。
サービス提供装置810は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
図4は、この実施の形態における利用者端末装置100及びサービス提供装置810のハードウェア構成の一例を示すハードウェア構成図である。
利用者端末装置100は、例えば、携帯電話であり、商店に来店した利用者が所持しているものである。
利用者端末装置100は、通信装置915、表示装置901、キーボード902などの入力装置、CPU911などの処理装置、RAM914などの記憶装置、カード部200などを有する。
通信装置915は、無線通信や赤外線通信等を用いて他の機器との通信をする。
表示装置901は、CPU911などの処理装置から送られた情報を画面に表示する。
キーボード902などの入力装置は、操作ボタンやタッチパネル等を用いて利用者が情報を入力する。
CPU911などの処理装置は、利用者端末装置100の処理を制御する。
RAM914などの記憶装置は、利用者端末装置100の処理に必要なプログラムやデータを格納する。
カード部200は、内部にUIM210(User Identity Module)を装着する。
UIM210は、通信装置915、CPU911などの処理装置、RAM914などの記憶装置を有する。
通信装置915は、無線通信やその他の通信手段を用いて他の機器との通信をする。
CPU911などの処理装置は、UIM210の処理を制御する。
RAM914などの記憶装置は、UIM210の処理に必要なプログラムやデータを格納する。
利用者は、サービスを利用する前に、利用者端末装置100を用いて履歴サービスを利用するために必要なプログラムやデータを利用者端末装置100に格納する。
格納方法としては、専用端末に利用者端末装置100を接続してダウンロードしたり、CD−ROM等の外部記憶媒体を利用者の計算機に設置し、利用者端末装置101を接続してダウンロードしたりする。
なお、上記の構成は一例であり、利用者端末装置は携帯電話に限らず、携帯情報端末であってもよいし、他の装置であってもよい。
また、利用者が利用するサービスが、実在の店舗によって提供されるものではなく、例えば、インターネットを介して提供される仮想商店のようなサービスである場合には、利用者端末装置は、利用者がインターネットに接続してサービスを利用するコンピュータなどの装置であってもよい。
サービス提供装置810は、例えば、店舗が保持しているサーバ装置であり、利用者の購入情報をIDと共に保有したり、購入履歴から利用者に最適な商品情報を提供したりという履歴サービスを行う装置である。
サービス提供装置810は、通信装置915、表示装置901、キーボード902などの入力装置、CPU911などの処理装置、磁気ディスク装置920などの記憶装置を有する。
通信装置915は、インターネット通信や無線通信・赤外線通信等を用いて利用者端末装置100や他の機器との通信をする。
表示装置901は、CPU911などの処理装置から送られた情報を画面に表示する。
キーボード902などの入力装置は、キーボードやタッチパネル等を用いて店員が情報を入力する。
CPU911などの処理装置は、サービス提供装置810の処理を制御する。
磁気ディスク装置920などの記憶装置は、サービス提供装置810の処理に必要なプログラムやデータを格納する。
店員は、履歴サービスを構築する際に、サービスを提供する際に必要なプログラムやデータをサービス提供装置810に格納する。
格納方法としては、管理サーバにサービス提供装置810を接続してダウンロードしたり、CDD905等の外部記憶装置をサービス提供装置810に設置して、インストールしたりする。
図5は、この実施の形態における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図である。
利用者端末装置100は、利用記録受信部111、利用履歴受信部112、利用履歴記憶部121、匿名履歴判別部130、匿名履歴送信部141などを有する。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた利用記録情報を受信する。利用記録受信部111は、CPU911などの処理装置を用いて、受信した利用記録情報を出力する。
サービス提供装置810は、利用者を特定できる情報を記録しないので、利用記録情報がどの利用者についてのものか知らない。サービス提供装置810は、利用者端末装置100を所持している利用者についての利用記録情報だけでなく、他の利用者についての利用記録情報も送信してくる。利用記録受信部111は、利用者端末装置100を処理している利用者についての利用記録情報だけでなく、他の利用者についての利用記録情報も受信し、出力する。
利用履歴受信部112は、通信装置915を用いて、サービス提供装置810が送信してきた利用履歴情報を受信する。利用履歴受信部112は、CPU911などの処理装置を用いて、受信した利用履歴情報を出力する。
サービス提供装置810が送信してくる利用履歴情報は、今回利用者が利用したサービスについてのものである。サービス提供装置810は、利用者を特定できる情報を記録しないが、いまサービスを提供したばかりなので、その利用履歴情報を送信すべき利用者端末装置100がどれかを判別できる。利用履歴受信部112は、その利用者端末装置100を所持している利用者が今回利用したサービスについての利用履歴情報を受信し、出力する。
利用履歴記憶部121は、CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報を入力する。
利用履歴記憶部121は、メモリなどの記憶装置を用いて、入力した利用履歴情報を記憶する。
利用履歴記憶部121が記憶した利用履歴情報は、次回サービスを利用するときに使用する。利用履歴記憶部121は、サービスを利用するたびに利用履歴情報を記憶していき、利用履歴記憶部121が記憶している利用履歴情報が増えていく。
匿名履歴判別部130は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した(前回までの)利用履歴情報を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用記録情報に基づいて、入力した利用履歴情報のうち、サービス提供装置810に送信しても利用者端末装置100を所持している利用者を特定されにくい情報(匿名履歴情報)を判別する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、判別した匿名履歴情報を出力する。
匿名履歴送信部141は、CPU911などの処理装置を用いて、匿名履歴判別部130が出力した匿名履歴情報を入力する。
匿名履歴送信部141は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名履歴情報を送信する。
サービス提供装置810は、利用者端末装置100が送信した匿名履歴情報を受信し、これを分析してその利用者端末装置100を所持している利用者の嗜好などを把握し、その利用者にとって有用であろう情報を判別して、利用者端末装置100に対して送信する。
利用者端末装置100がこれを受信し、表示装置901に表示するなどして、利用者に通知する。利用者は、自分の嗜好にあった情報を得ることができる。
その後、利用者がサービスを利用すると、利用履歴受信部112が利用履歴情報を受信して、利用履歴記憶部121が記憶する。
サービス提供装置810は、利用者を特定できる情報を記録しないが、利用者端末装置100が送信した匿名履歴情報を、記憶した利用記録情報と照合することで、利用者を特定しようとするかもしれない。しかし、利用者端末装置100が送信した匿名履歴情報は、利用者を特定されにくいと、匿名履歴判別部130が判断した情報であるから、サービス提供装置810が利用者を特定することはできない。
匿名履歴判別部130は、匿名性判断部131を有する。
匿名性判断部131は、CPU911などの処理装置を用いて、利用履歴情報が記録したサービスの内容についての情報をサービス提供装置810に送信しても利用者を特定されにくいか否かを判断する。
次に、匿名性判断部131が利用者を特定されやすいか否かを判断する判断方式について説明する。
匿名性判断部131は、CPU911などの処理装置を用いて、匿名履歴判別部130が入力した利用記録情報を分析して、利用記録情報が記録したサービスの内容を判別する。
匿名性判断部131は、CPU911などの処理装置を用いて、判別したサービスの内容のそれぞれについて、そのサービス内容を利用した利用回数を算出する。
匿名性判断部131は、CPU911などの処理装置を用いて、算出した利用回数を所定の回数と比較し、算出した利用回数のほうが多い場合に、そのサービス内容についての情報をサービス提供装置810に送信しても利用者を特定されにくいと判断する。
利用記録受信部111が受信した利用記録情報には、その利用者が利用したサービスについてのものだけでなく、他の利用者が利用したサービスについてのものも含まれる。
そこで、匿名性判断部131は、利用記録情報を分析して、他の利用者も含めたサービスの利用者が利用したサービスの利用回数を算出する。
利用者端末装置100を所持している利用者が利用したことのあるサービスを、他の誰も利用したことがない場合、そのサービスを利用したという情報をサービス提供装置810に送信すると、サービス提供装置810は、2つの利用記録情報を同一の利用者によるものとして結びつけることができる。
サービス提供装置810が、このような結びつけをいくつも集めることにより、一人の利用者によるサービス利用の全体像を把握できてしまう危険がある。
したがって、このような情報をサービス提供装置810に送信すると、利用者を特定されやすい。
利用者端末装置100を所持している利用者が利用したことのあるサービスを、他の利用者が利用したことがある場合でも、その回数が少なければ、サービス提供装置810は、100%確実ではないものの、2つの利用記録情報を同一の利用者によるものである可能性が高いものとして結びつけることができる。
したがって、他の誰も利用したことがない場合と比べると、利用者を特定される危険は少ないものの、利用者を特定されやすいということができる。
そのサービスを他の利用者が利用した回数が多ければ多いほど、利用者を特定される危険は小さくなる。
また、そのサービスをその利用者しか利用していない場合であっても、その回数が多ければ、サービス提供装置810はそれが同一の利用者によるものか、異なる利用者によるものかを知らないので、利用者を特定される危険は小さい。
以下、利用者を特定されにくい程度のことを「匿名性」と呼ぶこととする。
ここで、匿名性を表わす指標として、「利用者特定率」を定義する。利用者特定率は、(利用者特定率)=1/(同一のサービスを利用した回数)×100(%)と定義する。
「同一のサービス」とは、例えば、商店での商品販売というサービスであれば、利用者が購入した商品が同じ場合を「同一のサービス」であるとする。匿名性判断部131は、利用記録情報を分析して、サービスの利用者が購入した商品を求め、利用者端末装置100の所持者が過去に購入したことのある商品と同一の商品を、サービスの利用者が購入した回数を算出する。
匿名性判断部131は、算出した「同一の商品を購入した回数」を所定の閾値と比較し、「同一の商品を購入した回数」のほうが多ければ、匿名性が高い(利用者を特定されにくい)と判断する。
あるいは、匿名性判断部131は、算出した「同一の商品を購入した回数」に基づいて、上述した「利用者特定率」を算出し、算出した「利用者特定率」を所定の閾値と比較し、「利用者特定率」のほうが小さければ、匿名性が高いと判断してもよい。
比較の対象となる閾値は、あらかじめ定めたものを、メモリなどの記憶装置を用いて記憶しておいてもよいし、利用者端末装置100のキーボード902などの入力装置を用いて、利用者が設定した閾値を利用者端末装置100が入力し、メモリなどの記憶装置を用いて記憶しておいてもよい。
閾値を安全性が高くなるように(利用回数の閾値であれば大きく、利用者特定率の閾値であれば小さく)設定すると、利用者を特定されにくくなるが、匿名履歴情報としてサービス提供装置810に送信できる情報量が少なくなるので、サービス提供装置810が利用者にとって有用な情報を判別しにくくなり、その結果、利用者は、有用な情報を受け取り損なったり、不必要な情報を見せられたりする可能性がある。逆に、安全性が低くなるように閾値を設定すると、利用者にぴったりの情報を通知してもらうことができるかわりに、利用者を特定される危険が高くなる。
匿名履歴送信部141がサービス提供装置810に対して送信する匿名履歴情報は、「過去に購入したことのある商品」だけでなく、例えば、「購入した商品の個数」を示す情報を含んでもよい。
その場合、その商品と同一の商品を同一の個数購入した場合に「同一のサービス」であるとして、匿名性判断部131が、利用回数を算出し、匿名性を判断する。
そのほか、匿名履歴送信部141が送信する匿名履歴情報は、「商品を購入した時間帯」や「その商品と同時に購入した他の商品」など、履歴サービスにおいて利用者に有用な情報をサービス提供装置810が判別するために利用できる様々な情報を含んでもよい。
その場合、その匿名履歴情報によって特定できる「サービス内容」と同一の内容のサービスを「同一のサービス」とし、匿名性判断部131が利用回数を算出して、匿名性を判断する。
図6は、この実施の形態における利用履歴情報610の一例を示す図である。
利用者端末装置100を所持している利用者がサービスを利用すると、サービス提供装置810が利用者端末装置100に対して利用履歴情報610を送信する。
利用履歴受信部112は、通信装置915を用いて、サービス提供装置810が送信してきた利用履歴情報610を受信する。
利用履歴情報610は、例えば、商品コード611、購入個数612、購入日時613などからなる。
商品コード611は、利用者が購入した商品の商品コードを示す情報である。
購入個数612は、利用者が購入した商品の個数を示す情報である。
購入日時613は、利用者がその商品を購入した日時を示す情報である。
この例では、利用者が1月18日15時21分に商品Aを2個、商品Bを2個購入したことを示す利用履歴情報610を、利用履歴受信部112が受信する。
利用履歴受信部112が受信した利用履歴情報610は、利用履歴記憶部121がメモリなどの記憶装置を用いて記憶する。利用履歴記憶部121は、それまで記憶していた利用履歴情報610に追加する形で、新たな利用履歴情報610を記憶する。
この例では、過去3回分の利用履歴情報610を利用履歴記憶部121が既に記憶している。利用履歴記憶部121は、新たに利用履歴受信部112が受信した利用履歴情報610をこれに追加して、合計4つの利用履歴情報610を記憶する。
なお、商品コード611は、商品に付されたバーコードが示す情報などを用いてもよいし、サービス提供装置810が独自に生成した非公開の情報を用いてもよい。
図7は、この実施の形態における利用記録情報620の一例を示す図である。
サービス提供装置810は、サービスの利用者が来店したときなどに、その利用者が所持している利用者端末装置100に対して、利用記録情報620を送信する。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた利用記録情報620を受信する。
利用記録情報620は、例えば、商品コード621、購入個数622などからなる。
商品コード621は、商品コード611と同様、利用者が購入した商品の商品コードを示す情報である。
購入個数622は、購入個数612と同様、利用者がそのときに購入した商品の個数を示す情報である。
この例では、8つの利用記録情報620がサービス提供装置810から送信され、利用記録受信部111が受信する。
一番目の利用記録情報620は、「商品Aを1個、商品Bを2個、商品Dを2個」購入した利用者がいたことを示している。図6に示した利用履歴記憶部121が記憶している利用履歴情報610と照らし合わせると、この利用記録情報620と一致する内容の利用履歴情報610を利用履歴記憶部121が記憶しているので、この利用記録情報620は、利用者端末装置100を所持している利用者自身のサービス利用を記録したものであることがわかる。しかし、サービス提供装置810は、利用者を特定できる情報を記録していないので、そのことを判別できない。
二番目の利用記録情報620は、「商品Aを3個、商品Bを1個」購入した利用者がいたことを示している。図6に示した利用履歴記憶部121が記憶している利用履歴情報610と照らし合わせると、この利用記録情報620と一致する内容の利用履歴情報610を利用履歴記憶部121が記憶していないので、この利用記録情報620は、利用者端末装置100を所持している利用者以外の他の利用者のサービス利用を記録したものであることがわかる。しかし、サービス提供装置810は、利用者を特定できる情報を記録していないので、そのことを判別できない。
したがって、サービス提供装置810は、その利用者が利用したサービスの利用記録情報620も、他の利用者が利用したサービスの利用記録情報620も、区別せずに送信する。
匿名性判断部131は、CPU911などの処理装置を用いて、利用記録受信部111が受信した利用記録情報620に基づいて、サービスの利用回数を算出する。
この例では、購入した商品が同じ場合を「同一のサービス」として数えることとし、匿名性判断部131は、商品Aの利用回数(購入回数)が6回、商品Bが5回、商品Cが1回、商品Dが3回であることを求める。
なお、利用記録受信部111が受信した利用記録情報620には、商品Eについてのサービス利用も記録されているが、図6に示した利用履歴記憶部121が記憶している利用履歴情報610によれば、利用者端末装置100を所持している利用者は商品Eを購入したことがなく、「商品Eを購入したことがある」という内容の匿名履歴情報を匿名履歴送信部141が送信することはあり得ないので、商品Eについての利用回数は算出していない。
匿名性判断部131は、CPU911などの処理装置を用いて、算出した利用回数に基づいて利用者特定率を算出する。
匿名性判断部131は、CPU911などの処理装置を用いて、算出した利用回数または利用者特定率を所定の閾値と比較して、匿名性を判断する。
この例では、匿名性判断部131が利用回数を閾値「4回」と比較し、あるいは、利用者特定率を閾値「25%」と比較して、商品A及び商品Bの購入履歴については、匿名性が高いと判断する。また、商品C及び商品Dの購入履歴については、匿名性が低く、サービス提供装置810に送信すると利用者を特定される危険があると判断する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名性判断部131が判断した判断結果に基づいて、匿名履歴情報630を生成する。
匿名履歴情報630は、例えば、商品コード631などからなる。
商品コード631は、利用者が購入したことがある商品の商品コードを示す情報である。
この例では、商品Aと商品Bを購入したことがあることを、サービス提供装置810に知らせても、利用者を特定されにくいと匿名性判断部131が判断したので、匿名履歴判別部130は、「商品Aを購入したことがある」ことを示す匿名履歴情報630と、「商品Bを購入したことがある」ことを示す匿名履歴情報630とを生成する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、生成した匿名履歴情報630を出力する。
匿名履歴送信部141は、CPU911などの処理装置を用いて、匿名履歴判別部130が出力した匿名履歴情報630を入力する。
匿名履歴送信部141は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名履歴情報630を送信する。
図8は、この実施の形態における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図である。
履歴サービス提供処理は、履歴サービス利用方法の一例である。
S11において、サービス提供装置810は、磁気ディスク装置920などの記憶装置を用いて記憶した利用記録情報620を読み出す。
サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、読み出した利用記録情報620を送信する。
S21(利用記録受信工程)において、利用記録受信部111は、通信装置915を用いて、S11でサービス提供装置810が送信してきた利用記録情報620を受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した利用記録情報620を出力する。
S22(匿名履歴判別工程)において、匿名履歴判別部130は、CPU911などの処理装置を用いて、S21で利用記録受信部111が出力した利用記録情報620と、利用履歴記憶部121が記憶した利用履歴情報610とを入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用記録情報620に基づいて、入力した利用履歴情報610のうちサービス提供装置810に送信しても利用者を特定されにくい情報を判別する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、判別した情報に基づいて匿名履歴情報630を生成する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、生成した匿名履歴情報630を出力する。
S23(匿名履歴送信工程)において、匿名履歴送信部141は、CPU911などの処理装置を用いて、S22で匿名履歴判別部130が出力した匿名履歴情報630を入力する。
匿名履歴送信部141は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名履歴情報630を送信する。
なお、匿名履歴送信部141は、送信すべき匿名履歴情報630がない場合、履歴サービス提供システム800の処理を先に進めるため、サービス提供装置810に対して、空の情報を送信する。送信すべき匿名履歴情報630がない場合とは、例えば、利用者がそのサービスを初めて利用する場合などである。
S12において、サービス提供装置810は、通信装置915を用いて、S23で利用者端末装置100が送信した匿名履歴情報630を受信する。
S13において、サービス提供装置810は、CPU911などの処理装置を用いて、S12で受信した匿名履歴情報630に基づいて、利用者にとって有用そうな情報を判別し、利用者に通知する履歴サービス情報を生成する。
S14において、サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、S13で生成した履歴サービス情報を送信する。
なお、サービス提供装置810は、生成した履歴サービス情報を利用者端末装置100に送信するのではなく、例えば、店内に設置したディスプレイ画面に表示するなどして、利用者に通知してもよい。
S24において、利用者端末装置100は、通信装置915を用いて、S14でサービス提供装置810が送信してきた履歴サービス情報を受信する。
S25において、利用者端末装置100は、表示装置901を用いて、S24で受信した履歴サービス情報を表示し、利用者に通知する。
S31において、利用者は、利用者端末装置100の表示装置901に表示された履歴サービス情報を見て、情報を取得する。
S32において、利用者は、S31で取得した情報を参考にして、サービスを利用する。
S15において、サービス提供装置810は、CPU911などの処理装置を用いて、S32で利用者が利用したサービスの内容を記録した利用履歴情報610を生成する。
S16において、サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、S15で生成した利用履歴情報610を送信する。
S17において、サービス提供装置810は、磁気ディスク装置920などの記憶装置を用いて、S15で生成した利用履歴情報610を、利用記録情報620として記憶する。
サービス提供装置810は、記憶した利用記録情報620を分析することにより、サービス利用者の利用傾向などの情報を得ることができる。しかし、複数の利用記録情報620を結びつけることはできないので、それにより、利用者を特定することはできない。
S26において、利用履歴受信部112は、通信装置915を用いて、S16でサービス提供装置810が送信してきた利用履歴情報610を受信する。
利用履歴受信部112は、CPU911などの処理装置を用いて、受信した利用履歴情報610を出力する。
S27において、利用履歴記憶部121は、CPU911などの処理装置を用いて、S26で利用履歴受信部112が出力した利用履歴情報610を入力する。
利用履歴記憶部121は、メモリなどの記憶装置を用いて、入力した利用履歴情報610を記憶する。
図9は、この実施の形態における匿名履歴判別部130が匿名履歴情報を判別する匿名履歴判別処理の流れの一例を示すフローチャート図である。
匿名履歴判別処理は、図8のS22(匿名履歴判別工程)に相当する処理である。
S41において、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した利用履歴情報610を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用履歴情報610に基づいて、購入したことのある商品を判別する。
S42において、匿名性判断部131は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報620を入力する。
匿名性判断部131は、CPU911などの処理装置を用いて、入力し利用記録情報620に基づいて、他の利用者も含むサービスの利用者が、購入した商品を判別する。
匿名性判断部131は、CPU911などの処理装置を用いて、判別した商品のうち、S41で判別した商品のリストに含まれる商品について、購入記録の出現回数(購入回数)を数える。
S43において、匿名性判断部131は、CPU911などの処理装置を用いて、S42で数えた購入回数を、あらかじめメモリなどの記憶装置を用いて記憶していた所定の閾値と比較し、その商品についての購入情報の匿名性を判断する。
匿名性が高いと判断した商品については、S44へ進む。
匿名性が低いと判断した商品については、匿名履歴判別処理を終了する。
S44において、匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名履歴情報630を生成する。匿名履歴情報630は、S43で匿名性が高いと判断した商品を購入したことがあることを示す情報である。
匿名履歴判別部130は、CPU911などの処理装置を用いて、生成した匿名履歴情報630を出力する。
このように、他の利用者も含むサービスの利用者が過去にサービスを利用した内容を記録した利用記録情報620に基づいて、匿名履歴判別部130が利用履歴情報610の匿名性を判断し、匿名性の高い情報のみで構成された匿名履歴情報630を生成する。
サービス提供装置810に対して、匿名性の高い情報のみで構成された匿名履歴情報630を、匿名履歴送信部141が送信することで、利用者は履歴サービスを受ける。
これにより、利用者を特定されることなく、利用者が履歴サービスを受けることができる。
この実施の形態における利用者端末装置100(端末装置)は、
情報を記憶するメモリなどの記憶装置と、
情報を処理するCPU911などの処理装置と、
利用したサービス内容を記録した利用記録情報620を複数記憶するサービス提供装置810(サーバ装置)と通信する通信装置915と、
メモリなどの記憶装置を用いて、サービス提供装置810が記憶した利用記録情報620のうち、利用者端末装置100を所持する利用者が利用したサービス内容についての利用記録情報620を利用履歴情報610として記憶する利用履歴記憶部121と、
通信装置915を用いて、サービス提供装置810から、利用記録情報620を複数受信し、CPU911などの処理装置を用いて、受信した複数の利用記録情報620を出力する利用記録受信部111と、
CPU911などの処理装置を用いて、利用記録受信部111が出力した複数の利用記録情報620と、利用履歴記憶部121が記憶した利用履歴情報610とを入力し、CPU911などの処理装置を用いて、入力した複数の利用記録情報620に基づいて、入力した利用履歴情報610のうちサービス提供装置810に送信しても利用者が特定されにくい情報を判別し、CPU911などの処理装置を用いて、判別した情報を匿名履歴情報630として出力する匿名履歴判別部130と、
CPU911などの処理装置を用いて、匿名履歴判別部130が出力した匿名履歴情報630を入力し、通信装置915を用いて、サービス提供装置810に対して、入力した匿名履歴情報630を送信する匿名履歴送信部141とを有することを特徴とする。
この実施の形態における利用者端末装置100によれば、利用者が特定されにくい情報を匿名履歴判別部130が匿名履歴情報630として判別し、判別した匿名履歴情報630を匿名履歴送信部141がサービス提供装置810に対して送信するので、この情報送信によりサービス提供装置810が利用者を特定できないという効果を奏する。
この実施の形態における利用者端末装置100(端末装置)は、
匿名履歴判別部130が、
CPU911などの処理装置を用いて、入力した複数の利用記録情報620のそれぞれについて、利用記録情報620が記録したサービス内容を判別し、CPU911などの処理装置を用いて、判別したサービス内容のそれぞれについて、そのサービス内容を利用した利用回数を算出し、CPU911などの処理装置を用いて、算出した利用回数が所定の回数よりも多い場合に、そのサービス内容についての情報をサービス提供装置810に送信しても利用者が特定されにくいと判断する匿名性判断部131を有することを特徴とする。
この実施の形態における利用者端末装置100によれば、匿名性判断部131が、同一内容のサービスが利用された回数が多い場合に、そのサービス内容についての情報をサービス提供装置810に送信しても利用者が特定されにくいと判断するので、その情報の匿名性を的確に判断することができるという効果を奏する。
この実施の形態における利用者端末装置100が履歴サービスを利用する履歴サービス利用方法は、
情報を記憶するメモリなどの記憶装置と、情報を処理するCPU911などの処理装置と、利用したサービス内容を記録した利用記録情報620を複数記憶するサービス提供装置810(サーバ装置)と通信する通信装置915とを有する利用者端末装置100(端末装置)が、サービス提供装置810が提供する履歴サービスを利用する履歴サービス利用方法において、
メモリなどの記憶装置が、サービス提供装置810が記憶した利用記録情報620のうち、所定の利用者が利用したサービス内容についての利用記録情報620を利用履歴情報610として記憶する利用履歴記憶工程と、
通信装置915が、サービス提供装置810から、利用記録情報620を複数受信し、CPU911などの処理装置が、受信した複数の利用記録情報620を出力する利用記録受信工程と、
CPU911などの処理装置が、利用記録受信工程でCPU911などの処理装置が出力した複数の利用記録情報620と、利用履歴記憶工程でメモリなどの記憶装置が記憶した利用履歴情報610とを入力し、CPU911などの処理装置を用いて、入力した複数の利用記録情報620に基づいて、入力した利用履歴情報610のうちサービス提供装置810に送信しても利用者が特定されにくい情報を判別し、CPU911などの処理装置が、判別した情報を匿名履歴情報630として出力する匿名履歴判別工程と、
CPU911などの処理装置が、匿名履歴判別工程でCPU911などの処理装置が出力した匿名履歴情報630を入力し、通信装置915が、サービス提供装置810に対して、入力した匿名履歴情報630を送信する匿名履歴送信工程とを有することを特徴とする。
この実施の形態における履歴サービス利用方法によれば、利用者が特定されにくい情報を匿名履歴判別工程で処理装置が匿名履歴情報630として判別し、判別した匿名履歴情報630を匿名履歴送信工程で通信装置915がサービス提供装置810に対して送信するので、この情報送信によりサービス提供装置810が利用者を特定できないという効果を奏する。
この実施の形態における利用者端末装置100(端末装置)は、情報を記憶するメモリなどの記憶装置と、情報を処理するCPU911などの処理装置と、利用したサービス内容を記録した利用記録情報620を複数記憶するサービス提供装置810(サーバ装置)と通信する通信装置915とを有するコンピュータに、コンピュータをこの実施の形態における利用者端末装置100(端末装置)として機能させる履歴サービス利用プログラムを実行させることにより、実現することができる。
この実施の形態における履歴サービス利用プログラムによれば、利用者が特定されにくい情報を匿名履歴判別部130が匿名履歴情報630として判別し、判別した匿名履歴情報630を匿名履歴送信部141がサービス提供装置810に対して送信するので、この情報送信によりサービス提供装置810が利用者を特定できない利用者端末装置100を、容易に実現できるという効果を奏する。
この実施の形態における履歴サービス提供システム800は、この実施の形態における利用者端末装置100を有することを特徴とする。
この実施の形態における履歴サービス提供システム800によれば、利用者を特定される心配をせずに、利用者が履歴サービスを利用できるという効果を奏する。
この実施の形態における利用者端末装置100は、サービスを利用した履歴をサービス提供装置810へ送信する前に、サービス提供装置810が保有するサービス利用記録の情報(利用記録情報620)を入手して、その情報を元に“履歴に含まれる情報によって利用者が特定され易いか否か”を判断し、特定される可能性が高い情報は含めないように履歴(匿名履歴情報630)を作成することを特徴とする。
これにより、利用者が履歴を送信する前に、予め店舗から履歴に関する情報を入手し、それら情報を用いて、利用者は自身が店舗によって特定されない購入情報から購入履歴を作成し店舗に送信することによって、利用者はプライバシーを保護された状態で且つ匿名で履歴サービスを利用できる。
実施の形態2.
実施の形態2について、図10〜図12を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
図10は、この実施の形態における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態1で説明したブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
利用者端末装置100は、更に、信頼性判断部151を有する。
信頼性判断部151は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報620と、利用履歴記憶部121が記憶した利用履歴情報610とを入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用記録情報620と、入力した利用履歴情報610とに基づいて、利用記録情報620が信頼できるか否かを判断する。
信頼性判断部151は、CPU911などの処理装置を用いて、判断結果を示す情報を出力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、信頼性判断部151が出力した判断結果を示す情報を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した情報に基づいて、利用記録情報620が信頼できると信頼性判断部151が判断した場合に、実施の形態1で説明した処理を行い、匿名履歴情報630を出力する。
したがって、利用記録情報620が信頼できないと信頼性判断部151が判断した場合には処理を行わず、サービス提供装置810に対して匿名履歴情報630を送信しない。
実施の形態1では、サービス提供装置810から送信された利用記録情報620が信頼できることを前提として、受信した利用記録情報620に基づいて、匿名履歴情報630を判別し、サービス提供装置810に対して送信する。
しかし、サービス提供装置810が、「嘘の」利用記録情報620を送信し、利用者端末装置100を騙すことにより、利用者を特定しようとする場合がある。
例えば、サービス提供装置810が記憶している利用記録情報620が、図7に示したものであり、サービス提供装置810は、商品Cを購入した利用者を特定したいものとする。
サービス提供装置810が記憶している利用記録情報620を、利用者端末装置100に対して正直に送信すると、実施の形態1で説明したように、商品Cを購入したことがあるという情報は匿名性が低いと、匿名性判断部131が判断する。したがって、匿名履歴送信部141がサービス提供装置810に対して送信する匿名履歴情報630には、商品Cを購入したことがあることを示す情報は含まれず、サービス提供装置810は、商品Cを購入した利用者を特定することができない。
そこで、サービス提供装置810は、利用記録情報620を改変し、「嘘の」利用記録情報620を送信することにより、商品Cを購入したことがあるという情報を送信させ、商品Cを購入した利用者を特定しようと試みる。
図11は、サービス提供装置810が嘘の利用記録情報620を送信した場合について説明する図である。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた「嘘の」利用記録情報620を受信する。
この図において、利用記録情報620が改変された部分を太枠で示している。
匿名性判断部131は、CPU911などの処理装置を用いて、利用記録受信部111が受信した利用記録情報620を入力し、商品Cを購入したというサービスの利用記録を数えて、5つあると判断する。これは、利用回数の閾値(4回)と比べて多いので、匿名性判断部131は、(騙されて)商品Cについての情報は匿名性が高いと判断する。
この判断に基づいて、匿名履歴判別部130は、CPU911などの処理装置を用いて、商品Cを購入したことがあることを示す匿名履歴情報630を生成する。匿名履歴送信部141は、通信装置915を用いて、サービス提供装置810に対して、生成した匿名履歴情報630を送信する。
サービス提供装置810は、利用者端末装置100が送信してきた匿名履歴情報630を受信し、以前に商品Cを購入した利用者を特定する。
このように、サービス提供装置810は、実際には利用されたことの少ないサービスを、あたかも多く利用されているかのように見せかけるよう改変した「嘘の」利用記録情報620を利用者端末装置100に対して送信することにより、そのサービスを利用した利用者を特定することが可能である。
この実施の形態における利用者端末装置100は、このような改変を見破ることにより、匿名性の低い情報を送信しないようにしたものである。
図12は、この実施の形態における信頼性判断部151が利用記録情報620の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図である。
S51において、信頼性判断部151は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した利用履歴情報610と、利用記録受信部111が出力した利用記録情報620とを入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用履歴情報610すべてについて同じ内容を示す利用記録情報620が存在するか否かを判断する。
利用履歴情報610すべてについて同じ内容の利用記録情報620があると判断した場合は、S52へ進む。
利用履歴情報610のなかに同じ内容の利用記録情報620がないと判断した場合は、S53へ進む。
S52において、信頼性判断部151は、CPU911などの処理装置を用いて、利用記録情報620が信頼できると判断する。
その後、S54へ進む。
S53において、信頼性判断部151は、CPU911などの処理装置を用いて、利用記録情報620が信頼できないと判断する。
S54において、信頼性判断部151は、CPU911などの処理装置を用いて、判断結果を匿名履歴判別部130に通知する。
匿名履歴判別部130は、この通知を受け、利用記録情報620が信頼できると信頼性判断部151が判断した場合のみ、処理を行い、匿名履歴情報630を出力する。利用記録情報620が信頼できないと信頼性判断部151が判断した場合、匿名履歴判別部130は処理を止め、匿名履歴情報630を出力しない。
例えば、図6に示した利用履歴情報610を利用履歴記憶部121が記憶している利用者端末装置100に対して、図11に示した利用記録情報620が、サービス提供装置810から送信されてきた場合を例にして、説明する。
信頼性判断部151は、図6の1つ目(1月5日)の利用履歴情報610に記録されている内容「商品Aを1個、商品Bを2個、商品Dを2個購入した」と、同一の内容を有する利用記録情報620があるか否かを判断する。図11の1つ目の利用記録情報620がこれに該当するので、この情報は改変がないことがわかる。
信頼性判断部151は、同様に、図6の2つ目(1月10日)の利用履歴情報610に記録されている内容「商品Bを1個購入した」と、同一の内容を有する利用記録情報620があるか否かを判断する。図11の利用記録情報620にはこれに該当する利用記録情報620がない。したがって、この情報が改変されていることがわかる。
1つでも改変されている情報を見つけた場合、信頼性判断部151は、利用記録情報620全体が信頼できないと判断する。
これにより、匿名履歴判別部130は処理を止め、匿名履歴情報630を出力しない。したがって、「商品Cを購入したことがある」ことを示す匿名履歴情報630がサービス提供装置810に対して送信されるのを未然に防ぐことができ、サービス提供装置810に利用者を特定されずに済む。
サービス提供装置810に、送信した利用記録情報620が信頼されなかったことがわかると、改変した利用記録情報620のなかに、その利用者についての利用記録情報620があることがわかり、利用者を特定する手がかりとなる可能性がある。
そこで、匿名履歴送信部141は、利用記録情報620が信頼できないと信頼性判断部151が判断して、匿名履歴判別部130が匿名履歴情報630を出力しなかった場合、サービス提供装置810に対して、空の情報を送信する。
これは、その利用者がサービスを初めて利用する場合の手順と同じなので、サービス提供装置810は、利用記録情報620が信頼されなかったのか、その利用者がサービスを初めて利用するのか区別できない。これにより、サービス提供装置810に利用者を特定する手がかりを与えずに済む。
この実施の形態における利用者端末装置100は、更に、
CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した利用履歴情報610と利用記録受信部111が出力した利用記録情報620とを入力し、CPU911などの処理装置を用いて、入力した利用記録情報620のなかに、入力した利用履歴情報610が記録したサービス内容と一致するサービス内容を記録した利用記録情報620が存在するか否かを判断し、一致するサービス内容を記録した利用記録情報620があると判断した場合に、利用記録情報620が信頼できると判断する信頼性判断部151を有し、
匿名履歴判別部130が、CPU911などの処理装置を用いて、利用記録情報620が信頼できると信頼性判断部151が判断した場合に、匿名履歴情報630を出力することを特徴とする。
この実施の形態における利用者端末装置100によれば、信頼性判断部151が利用記録情報620の改変を見破り、利用記録情報620が改変されている場合には、匿名履歴判別部130が匿名履歴情報630を出力しないので、匿名履歴送信部141がサービス提供装置810に対して匿名履歴情報630を送信せず、匿名性の低い情報により利用者を特定されるのを防ぐことができるという効果を奏する。
このような構成を有する利用者端末装置100に利用記録情報620の改変を見破られないようにするためには、サービス提供装置810は、その利用者についての利用記録情報620は改変せず、他の利用者についての利用記録情報620だけを改変する必要がある。
しかし、サービス提供装置810は、利用者を特定できる情報を記録していないので、利用記録情報620がどの利用者についてのものか判別できず、他の利用者についての利用記録情報620だけを改変することはできない。
このように、利用者は、店舗から入手する履歴に関する情報のうちいずれかを検証可能であるが、店舗は利用者が検証する情報を特定できないため、店舗が情報を都合の良い値に改ざんすることを防止できる。
サービス提供装置810は、記憶した利用記録情報620のうち、ごく一部だけを改変すれば、改変した利用記録情報620が記録したサービスの利用者以外の利用者には、改変を見破られない。
しかし、このような改変が1回でも発覚すれば、顧客の信用を失い、顧客を失うことになるので、たとえ実際に見破ることができる可能性が低いとしても、このような改変を抑止する効果を期待することができる。
なお、1回でも改変を見破った場合、利用者端末装置100は、そのことをメモリなどの記憶装置を用いて記憶しておき、以後、同じサービス提供装置810からの情報はすべて信頼しない構成としてもよい。
あるいは、利用者端末装置100は、利用者が店を出たあとで、個人情報を収集している可能性があることを表示装置901を用いて表示し、利用者に警告してもよい(その場で警告しないのは、見破ったことを店側に悟られないためである)。
実施の形態3.
実施の形態3について、図13〜図15を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置100の機能ブロックの構成は、実施の形態2で説明したものと同様なので、ここでは説明を省略する。
図13は、この実施の形態における利用履歴受信部112が受信し、利用履歴記憶部121が記憶する利用履歴情報610の一例を示す図である。
なお、実施の形態1で図6を用いて説明した利用履歴情報610と共通する部分については、同一の符号を付し、ここでは説明を省略する。
利用履歴受信部112は、通信装置915を用いて、サービス提供装置810が送信してきた利用履歴情報610を受信する。
利用履歴受信部112が受信する利用履歴情報610には、履歴識別情報614が含まれている。
利用履歴受信部112は、CPU911などの処理装置を用いて、受信した利用履歴情報610を出力する。利用履歴受信部112が出力する利用履歴情報610には、受信した履歴識別情報614が含まれている。利用履歴受信部112は、受信した履歴識別情報614を利用履歴情報610とともに出力する。
履歴識別情報614は、利用履歴情報610を識別する情報である。履歴識別情報614は、利用履歴情報610ごとに異なる。
利用履歴記憶部121は、CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報610と履歴識別情報614とを入力する。
利用履歴記憶部121は、メモリなどの記憶装置を用いて、入力した利用履歴情報610と履歴識別情報614とを記憶する。
図14は、この実施の形態における利用記録受信部111が受信する利用記録情報620の一例を示す図である。
なお、実施の形態1で図7を用いて説明した利用記録情報620と共通する部分については、同一の符号を付し、ここでは説明を省略する。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた利用記録情報620を受信する。
利用記録受信部111が受信する利用記録情報620には、記録識別情報624が含まれている。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した利用記録情報620を出力する。利用記録受信部111が出力する利用記録情報620には、受信した記録識別情報624が含まれている。利用記録受信部111は、受信した記録識別情報624を利用記録情報620とともに出力する。
記録識別情報624は、利用記録情報620を識別する情報である。記録識別情報624は、利用記録情報620ごとに異なる。
サービス提供装置810は、利用者がサービスを利用したことを記録した利用履歴情報610に、履歴識別情報614を含めて、利用者端末装置100に対して送信する。サービス提供装置810は、その利用履歴情報610を利用記録情報620として記憶する際、利用者端末装置100に対して送信した履歴識別情報614を、記録識別情報624として、利用記録情報620に含めて記憶しておく。
サービス提供装置810は、利用者端末装置100に対して、利用記録情報620を送信するにあたり、その利用記録情報620の記録識別情報624を一緒に送信する。
実施の形態2において、信頼性判断部151は、利用履歴情報610と同一内容を示す利用記録情報620があるか否かに基づいて、利用記録情報620が信頼できるか否かを判断する。
しかし、他の利用者についての利用記録情報620のなかに、まったく同一内容を示す利用記録情報620があった場合、両者を区別できなければ、利用記録情報620を見破ることができない。
この実施の形態の利用者端末装置100は、利用記録情報620を識別する記録識別情報624を用いて、サービス内容が同一の利用記録情報620を区別できるようにしたものである。
図15は、この実施の形態における信頼性判断部151が利用記録情報620の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図である。
なお、実施の形態2で図12を用いて説明した処理と共通する処理については、同一の符号を付し、ここでは説明を省略する。
S55において、信頼性判断部151は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴識別情報614と、利用記録受信部111が出力した記録識別情報624とを入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した履歴識別情報614と入力した記録識別情報624とが一致するものについて、利用履歴記憶部121が記録した利用履歴情報610と、利用記録受信部111が出力した利用記録情報620とを入力する。
すなわち、信頼性判断部151は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報620のなかから、利用履歴記憶部121が記憶した利用履歴情報610の履歴識別情報614と一致する記録識別情報624を有する利用記録情報620を抽出する。
入力した利用記録情報620のなかに、履歴識別情報614と一致する記録識別情報624を有する利用記録情報620がない場合には、S53へ進み、利用記録情報620が信頼できないと判断する。
入力した履歴識別情報614すべてについて、一致する記録識別情報624を有する利用記録情報620がある場合には、S56へ進む。
S56において、信頼性判断部151は、CPU911などの処理装置を用いて、履歴識別情報614と記録識別情報624とが一致する利用履歴情報610と利用記録情報620とについて、利用履歴情報610が記録したサービス内容と、利用記録情報620が記録したサービス内容とが一致するか否かを判断する。
サービス内容が一致する場合は、S52へ進み、利用記録情報620が信頼できると判断する。
サービス内容が一致しない場合は、S53へ進み、利用記録情報620が信頼できないと判断する。
このように、信頼性判断部151は、履歴識別情報614と記録識別情報624とが一致する利用履歴情報610と利用記録情報620とについて、記録したサービス内容が一致するか否かに基づいて、利用記録情報620が信頼できるか否かを判断するので、同じサービス内容を記録した利用記録情報620が他にある場合でも、利用記録情報620の改変を見破ることができる。
また、サービス提供装置810は、利用記録情報620の内容を改変せず、一部の利用記録情報620をわざと利用者端末装置100に送信しないことにより、匿名性判断部131が判断の基礎とする情報を偏らせ、匿名性判断部131の判断を誤らせようとする可能性もある。
この実施の形態の利用者端末装置100は、記録した利用履歴情報610の履歴識別情報614と一致する記録識別情報624を有する利用記録情報620がすべて送信されているか否かを判断することにより、そのような意図的な不送信を見破ることができる。
利用記録情報620の改変や意図的な不送信を見破った場合、信頼性判断部151は、利用記録情報620が信頼できないと判断し、匿名履歴判別部130は、匿名履歴情報630を出力しない。
したがって、匿名履歴送信部141は、サービス提供装置810に対して匿名履歴情報630を送信せず、匿名性の低い情報により利用者を特定されるのを防ぐことができる。
この実施の形態における利用者端末装置100(端末装置)は、
利用履歴記憶部121が、
メモリなどの記憶装置を用いて、利用履歴情報610と利用履歴情報610を識別する履歴識別情報614とを記憶し、
利用記録受信部111が、
通信装置915を用いて、複数の利用記録情報620と複数の利用記録情報620をそれぞれ識別する複数の記録識別情報624とを受信し、CPU911などの処理装置を用いて、受信した複数の利用記録情報620と受信した複数の記録識別情報624とを出力し、
利用者端末装置100が、更に、
CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴識別情報614と、利用記録受信部111が出力した複数の記録識別情報624とを入力し、CPU911などの処理装置を用いて、入力した履歴識別情報614と入力した記録識別情報624とが一致するものについて、利用履歴記憶部121が記憶した利用履歴情報610のうち、履歴識別情報614によって識別される利用履歴情報610と、利用記録受信部111が出力した利用履歴情報610のうち、記録識別情報624によって識別される利用記録情報620とを入力し、CPU911などの処理装置を用いて、入力した利用履歴情報610が記録したサービス内容と、入力した利用記録情報620が記録したサービス内容とが一致するか否かを判断し、CPU911などの処理装置を用いて、サービス内容が一致すると判断した場合に、利用記録情報620が信頼できると判断する信頼性判断部151を有し、
匿名履歴判別部130が、
CPU911などの処理装置を用いて、利用記録情報620が信頼できると信頼性判断部151が判断した場合に、匿名履歴情報630を出力することを特徴とする。
この実施の形態における利用者端末装置100によれば、履歴識別情報614と記録識別情報624とが一致するものについて、利用履歴情報610が示すサービスの内容と利用記録情報620が示すサービスの内容とが一致するか否かを信頼性判断部151が判断して、利用記録情報620の信頼性を判断するので、同じ内容のサービスについての利用記録情報620が他にある場合でも、利用記録情報620の改変を見破ることができるという効果を奏する。
この実施の形態における利用者端末装置100は、
信頼性判断部151が、更に、
CPU911などの処理装置を用いて、入力した利用記録情報620のなかに、利用履歴記憶部121が記憶した履歴識別情報614と一致する記録識別情報624を含む利用記録情報620がない場合に、利用記録情報620が信頼できないと判断することを特徴とする。
この実施の形態における利用者端末装置100によれば、
サービス提供装置810が、利用記録情報620の一部を送信しないことにより、利用者端末装置100を誤誘導して、匿名性の低い情報を送信させようとした場合、そのことを見破ることができるので、匿名性の低い情報により、利用者を特定されるのを防ぐことができるという効果を奏する。
なお、履歴識別情報614(及び記録識別情報624)は、サービス提供装置810が生成して、利用者端末装置100に対して送信することとしているが、利用者端末装置100が生成して、サービス提供装置810に対して送信することとしてもよい。そのほうが、サービス提供装置810が履歴識別情報614に何らかの規則性を持たせて、利用者を特定する手がかりにするのを防ぐことができるので、好ましい。
実施の形態4.
実施の形態4について、図16〜図18を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
図16は、この実施の形態における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態2で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
利用者端末装置100は、更に、記録識別受信部113、記録識別選択部152、選択識別送信部142を有する。
記録識別受信部113は、通信装置915を用いて、サービス提供装置810が送信してきた記録識別情報624のリストを受信する。
記録識別受信部113は、CPU911などの処理装置を用いて、受信した記録識別情報624のリストを出力する。
記録識別選択部152は、CPU911などの処理装置を用いて、記録識別受信部113が出力した記録識別情報624のリストを入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力した記録識別情報624のリストのなかから、適当な数の記録識別情報624を選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、選択した記録識別情報624を出力する。
選択識別送信部142は、CPU911などの処理装置を用いて、記録識別選択部152が出力した記録識別情報624を入力する。
選択識別送信部142は、通信装置915を用いて、サービス提供装置810に対して、入力した記録識別情報624を送信する。
サービス提供装置810は、CPU911などの処理装置を用いて、記憶した利用記録情報620について、利用記録情報620を識別する記録識別情報624すべてのリストを生成し、通信装置915を用いて、利用者端末装置100に対して送信する。
サービス提供装置810は、通信装置915を用いて、利用者端末装置100が選択した記録識別情報624を受信する。
サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、受信した記録識別情報624に対応する利用記録情報620を送信する。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810から、選択識別送信部142が送信した記録識別情報624によって識別される利用記録情報620を受信する。
実施の形態3では、サービス提供装置810が利用者端末装置100に対して送信する利用記録情報620を恣意的に選択することを防ぐため、サービス提供装置810が記憶している利用記録情報620をすべて送信させている。
しかし、利用記録情報620の数は膨大なものになる場合があり、利用者端末装置100のCPU911などの処理装置の処理能力、通信装置915の通信能力などの制約により、すべての利用記録情報620を送信させることは非現実的である場合がある。
この実施の形態の利用者端末装置100は、サービス提供装置810が記憶した利用記録情報620のうち、記録識別選択部152が選択した記録識別情報624によって識別される利用記録情報620を送信させることにより、サービス提供装置810が恣意的に利用記録情報620を選択することを防ぐものである。
図17は、この実施の形態における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図である。
S18において、サービス提供装置810は、CPU911などの処理装置を用いて、記憶している利用記録情報620すべてについて、利用記録情報620を識別する記録識別情報624を読み出し、すべての記録識別情報624のリストを生成する。
サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、生成したすべての記録識別情報624のリストを送信する。
S28において、記録識別受信部113は、通信装置915を用いて、S18でサービス提供装置810が送信してきた記録識別情報624のリストを受信する。
記録識別受信部113は、CPU911などの処理装置を用いて、受信した記録識別情報624のリストを出力する。
S29において、記録識別選択部152は、CPU911などの処理装置を用いて、S28で記録識別受信部113が出力した記録識別情報624のリストを入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力した記録識別情報624のリストのなかから、複数の記録識別情報624を選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、選択した複数の記録識別情報624を出力する。
S20において、選択識別送信部142は、CPU911などの処理装置を用いて、S29で記録識別選択部152が出力した複数の記録識別情報624を入力する。
選択識別送信部142は、通信装置915を用いて、サービス提供装置810に対して、入力した複数の記録識別情報624を送信する。
S19において、サービス提供装置810は、通信装置915を用いて、S20で選択識別送信部142が送信した複数の記録識別情報624を受信する。
S11において、サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、受信した複数の記録識別情報624によって識別される複数の利用記録情報620を送信する。
S21において、利用記録受信部111は、通信装置915を用いて、S11でサービス提供装置810が送信してきた利用記録情報620を受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した利用記録情報620を出力する。
以後の処理の流れは、実施の形態1で図8を用いて説明したものと同様である。
図18は、この実施の形態における記録識別選択部152が記録識別情報624を選択する記録識別選択処理の流れの一例を示すフローチャート図である。
S61において、記録識別選択部152は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴識別情報614と、記録識別受信部113が出力した記録識別情報624のリストとを入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力した記録識別情報624のリストのなかに、入力した履歴識別情報614と一致する記録識別情報624がすべて含まれているか否かを判断する。
履歴識別情報614と一致する記録識別情報624がすべて含まれている場合は、S63へ進む。
履歴識別情報614と一致する記録識別情報624が含まれていない場合は、S62へ進む。
S62において、記録識別選択部152は、CPU911などの処理装置を用いて、記録識別情報624のリストが信頼できないと判断する。
記録識別選択部152は、メモリなどの記憶装置を用いて、判断結果を示す情報を記憶する。
記録識別情報624のリストのなかに、履歴識別情報614と一致する記録識別情報624がすべて含まれていない場合、サービス提供装置810が記録識別情報624をすべて送信していないことがわかる。この時点で処理を中止してもよいが、そうすると、サービス提供装置810には、送信しなかった記録識別情報624のなかに、利用者端末装置100を所持している利用者についての利用記録情報620を識別する記録識別情報624があることがわかり、利用者を特定する手がかりになる。
そこで、この時点では信頼できないことを記憶しておくにとどめ、あとで、信頼性判断部151が利用記録情報620の信頼性を判断するときに、利用記録情報620が信頼できないと判断することにする。
これにより、匿名履歴判別部130が匿名履歴情報630を出力せず、匿名履歴送信部141が匿名履歴情報630を送信しないので、匿名性の低い情報により利用者を特定されるのを防ぐことができる。
また、実施の形態2で説明したように、匿名履歴送信部141が匿名履歴情報630を送信しなくても、サービス提供装置810は見破ったことを判別できないので、利用者を特定する手がかりを与えずに済む。
S63において、記録識別選択部152は、CPU911などの処理装置を用いて、S61で入力した記録識別情報624のリストのなかから、S61で入力した履歴識別情報614と一致する記録識別情報624を選択する。
このとき、記録識別選択部152は、履歴識別情報614と一致する記録識別情報624をすべて選択してもよいし、履歴識別情報614と一致する記録識別情報624の一部を選択してもよいが、信頼性判断部151が利用記録情報620の信頼性を検証するために十分な数の記録識別情報624を選択するものとする。
また、履歴識別情報614と一致する記録識別情報624をすべて選択する場合は、一定の確率で一部選択しない場合があるように構成することが好ましい。必ずすべて選択することとすると、サービス提供装置810は、選択されなかった記録識別情報624がその利用者についての利用記録情報620のものではないことを判別できるので、利用者を特定する手がかりになる場合があるからである。
S64において、記録識別選択部152は、CPU911などの処理装置を用いて、S61で入力した記録識別情報624のリストのなかから、S61で入力した履歴識別情報614と一致しない記録識別情報624をランダムに選択する。
このとき、記録識別選択部152は、匿名性判断部131が情報の匿名性を判断するのに十分な数の記録識別情報624を選択する。他の利用者についての利用記録情報620を十分な数得られなければ、情報の匿名性を正しく判断できないからである。
履歴識別情報614と一致しない記録識別情報624を選択する数は、最低でも、履歴識別情報614と一致する記録識別情報624を選択した数より多いことが好ましい。
できれば、履歴識別情報614と一致する記録識別情報624を選択した数の10倍以上であることが、更に好ましい。
また、履歴識別情報614と一致しない記録識別情報624を十分な数選択することにより、サービス提供装置810が記録識別情報624を選択したことに基づいて、利用者と利用記録情報620とを結びつけ、利用者を特定する手がかりとするのを防ぐことができる。
S65において、記録識別選択部152は、CPU911などの処理装置を用いて、選択した記録識別情報624を出力する。
これにより、利用者端末装置100は、CPU911などの処理装置の処理能力や通信装置915の通信能力に見合った量の利用記録情報620を、サービス提供装置810に送信させることができる。
また、送信させる利用記録情報620は、利用者端末装置100が選択したものであるから、サービス提供装置810が恣意的に送信する利用記録情報620を選択し、信頼性判断部151の判断を狂わせることができない。
この実施の形態における利用者端末装置100(端末装置)は、更に、
通信装置915を用いて、サービス提供装置810(サーバ装置)が記憶した利用記録情報620を識別する記録識別情報624のリストを受信し、CPU911などの処理装置を用いて、受信した記録識別情報624のリストを出力する記録識別受信部113と、
CPU911などの処理装置を用いて、記録識別受信部113が出力した記録識別情報624のリストのなかから、複数の記録識別情報624を選択し、CPU911などの処理装置を用いて、選択した複数の記録識別情報624を出力する記録識別選択部152と、
CPU911などの処理装置を用いて、記録識別選択部152が出力した複数の記録識別情報624を入力し、通信装置915を用いて、サービス提供装置810に対して、入力した複数の記録識別情報624を送信する選択識別送信部142とを有し、
利用記録受信部111が、
通信装置915を用いて、サービス提供装置810から、選択識別送信部142が送信した複数の記録識別情報624によって識別される複数の利用記録情報620を受信することを特徴とする。
この実施の形態における利用者端末装置100によれば、記録識別選択部152が選択した記録識別情報624の数と等しい数の利用記録情報620を、サービス提供装置810に送信させるので、利用者端末装置100のCPU911などの処理装置の処理能力や、通信装置915の通信能力に見合った量の利用記録情報620を利用記録受信部111が受信することができるという効果を奏する。
すなわち、CPU911などの処理装置の処理能力が低い利用者端末装置100であれば、受信する利用記録情報620の量を減らして、処理を円滑に進めることができ、CPU911などの処理装置が高い利用者端末装置100であれば、受信する利用記録情報620の量を増やして、匿名性判断部131が匿名性をより正確に判断できるようにすることができる。
また、サービス提供装置810が送信する利用記録情報620を恣意的に選択することができないので、匿名性判断部131の判断を狂わせられる危険がない。
この実施の形態における利用者端末装置100(端末装置)は、
記録識別選択部152が、更に、
CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴識別情報614を入力し、
CPU911などの処理装置を用いて、入力した履歴識別情報614と一致する記録識別情報624を選択し、
CPU911などの処理装置を用いて、入力した履歴識別情報614と一致しない記録識別情報624をランダムに選択することを特徴とする。
この実施の形態における利用者端末装置100によれば、記録識別選択部152が、履歴識別情報614と一致する記録識別情報624と、履歴識別情報614と一致しない記録識別情報624とをバランスよく選択するので、利用記録受信部111がサービス提供装置810から受信した利用記録情報620のうち、履歴識別情報614と一致する記録識別情報624によって識別される利用記録情報620は、信頼性判断部151が利用記録情報620の信頼性を検証するために利用し、履歴識別情報614と一致しない記録識別情報624によって識別される利用記録情報620は、匿名性判断部131が匿名性を判断するために利用することができるという効果を奏する。
また、サービス提供装置810が、記録識別選択部152が選択した記録識別情報624から、利用者を特定する手がかりを得ることができないという効果を奏する。
これにより、利用者が店舗から入手する履歴に関する情報量は利用者によって制御できるため、利用者の携帯端末の性能に応じて最適な情報量を調整可能である。
実施の形態5.
実施の形態5について、図19〜図20を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したmのと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置100の機能ブロックの構成は、実施の形態4で説明したものと同様なので、ここでは説明を省略する。
図19は、この実施の形態における利用記録受信部111が受信する利用記録情報620の一例を示す図である。
なお、実施の形態1で図7を用いて説明した利用記録情報620と共通する部分については、同一の符号を付し、ここでは説明を省略する。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた利用記録情報620を受信する。
利用記録受信部111が受信する利用記録情報620には、ハッシュ値625が含まれている。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した利用記録情報620を出力する。利用記録受信部111が出力する利用記録情報620には、受信したハッシュ値625が含まれている。利用記録受信部111は、受信したハッシュ値625も利用記録情報620とともに出力する。
一般的に「ハッシュ値」とは、所定のデータを変換して生成した値である。
ハッシュ値は、通常、元のデータよりも情報量が少ないので、ハッシュ値から元のデータを復元することはできない。
ハッシュ値は、元のデータの要約とも呼ばれ、元のデータが異なれば、通常、ハッシュ値も異なる。
ハッシュ値は、通常、元のデータよりも情報量が少ないので、異なるデータから生成したハッシュ値が同一になる場合もある(これをハッシュ値の衝突という)が、同一のハッシュ値が生成される別のデータを予測することは極めて困難である。
ハッシュ値はこのような性質を有しているので、例えば、電子署名などにおいて、元のデータが改変されていないかどうかを検証するために用いられる。
この実施の形態におけるハッシュ値625は、サービス提供装置810が、CPU911などの処理装置を用いて、利用記録情報620の記録識別情報624と、利用記録情報620の内容(商品コード621や購入個数622など)とから生成する。
ハッシュ値625は、実施の形態3で説明した記録識別情報624の代わりとなるものであり、利用記録情報620を識別するために利用する。
また、この実施の形態における利用記録情報620は、サービス提供装置810が、利用者端末装置100に対して送信する順番がランダムであり、選択識別送信部142が送信した記録識別情報624の順番とは無関係である。したがって、送信した記録識別情報624の順番から、対応する利用記録情報620を判別することはできない。
実施の形態3や実施の形態4では、記録識別情報624を含む利用記録情報620を、サービス提供装置810が利用者端末装置100に対して送信する。
そのため、利用者が何らかの方法で、他の利用者が利用したサービスを記録した利用記録情報620の記録識別情報624を知ることができれば、他の利用者が利用したサービスの内容を知ることができる。
この実施の形態の履歴サービス提供システム800は、記録識別情報624を他の利用者から隠蔽することにより、このような形での個人情報漏洩を防ぐものである。
図20は、この実施の形態における信頼性判断部151が、利用記録情報620の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図である。
S57において、信頼性判断部151は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した利用履歴情報610のうち、記録識別選択部152が選択した記録識別情報624と一致する履歴識別情報614によって識別される利用履歴情報610を入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用履歴情報610の記録識別情報624と、利用履歴情報610の内容(商品コード611や購入個数612など)とから、ハッシュ値を生成する。
S55’において、信頼性判断部151は、CPU911などの処理装置を用いて、利用記録受信部111が出力したハッシュ値625を入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力したハッシュ値625とS57で生成したハッシュ値とが一致するものについて、利用記録受信部111が出力した利用記録情報620を入力する。
すなわち、信頼性判断部151は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報620のなかから、利用履歴記憶部121が記憶した利用履歴情報610の履歴識別情報614と一致する記録識別情報624を有する利用記録情報620を抽出する。
入力した利用記録情報620のなかに、算出したハッシュ値と一致するハッシュ値625を有する利用記録情報620がない場合には、S53へ進み、利用記録情報620が信頼できないと判断する。
入力した履歴識別情報614すべてについて、一致する記録識別情報624を有する利用記録情報620がある場合には、S56へ進む。
このように、記録識別情報624によって利用記録情報620を識別する代わりに、ハッシュ値625によって利用記録情報620を識別し、内容が正しいかどうかを検証する。
ハッシュ値の算出方法(ハッシュ関数)は、利用者端末装置100とサービス提供装置810とで同じものを使用する。したがって、元のデータが等しければ、算出されるハッシュ値も等しくなる。
サービス提供装置810は、利用者端末装置100に対して、記録識別情報624を送信しない代わりに、記録識別情報624をもとに算出したハッシュ値625を送信する。
利用者端末装置100は、履歴識別情報614をもとに算出したハッシュ値を、受信したハッシュ値625と比較することにより、受信していない記録識別情報624と、履歴識別情報614とを比較するのと同じ効果を得る。
信頼性判断部151は、ハッシュ値が一致した利用記録情報620の内容と利用履歴情報610の内容とを比較して、内容が改変されていないかを調べ、受信した利用記録情報620が信頼できるか否かを判断する。
また、ハッシュ値を算出する元のデータには、利用記録情報620(または利用履歴情報610)が含まれているので、ハッシュ値を比較することにより、利用記録情報620と利用履歴情報610とを比較するのと同じ効果を得ることになる。したがって、ハッシュ値が一致するものについて、利用記録情報620と利用履歴情報610とを比較すれば、二重のチェックをすることになる。
また、ハッシュ値の衝突により、同じハッシュ値625を有する利用記録情報620が複数送信されてくる可能性もある。その場合、利用履歴情報610と利用記録情報620とを比較すれば、どの利用記録情報620と利用履歴情報610とが一致するものであるか判断できる。
他の利用者は、ハッシュ値625から元のデータを復元できないので、その利用記録情報620の記録識別情報624を知ることはできない。したがって、ある利用者が利用したサービス内容を記録した利用記録情報620の記録識別情報624を知っていたとしても、どの利用記録情報620がそれにあたるのか判別できず、その利用者が利用したサービス内容を知ることはできない。
なお、利用記録受信部111が受信する利用記録情報620は、選択識別送信部142が送信した記録識別情報624についてのものであるから、送信した記録識別情報624と、受信した利用記録情報620の内容とを、総当りで組み合わせて、ハッシュ値を算出し、受信したハッシュ値625と比較すれば、記録識別情報624と利用記録情報620との対応関係を判別できる可能性がある。
そのため、サービス提供装置810は、選択識別送信部142が送信した記録識別情報624の数が少ない場合には、利用記録情報620の送信を拒否することとしてもよい。
また、ハッシュ値625を算出する元となるデータに、利用履歴情報610には含まれるが、サービス提供装置810が送信する利用記録情報620には含まれない情報(例えば、購入日時613)を含める構成としてもよい。
そうすれば、他の利用者は購入日時613を知らないので、ハッシュ値を算出できず、記録識別情報624と利用記録情報620との対応関係を判別できない。
この実施の形態における利用者端末装置100(端末装置)は、
利用履歴記憶部121が、
メモリなどの記憶装置を用いて、利用履歴情報610と利用履歴情報610を識別する履歴識別情報614とを記憶し、
利用記録受信部111が、
通信装置915を用いて、複数のハッシュ値625と、複数のハッシュ値625それぞれに対応する複数の利用記録情報620とを受信し、CPU911などの処理装置を用いて、受信した複数のハッシュ値625と受信した複数の利用記録情報620とを出力し、
利用者端末装置100は、更に、
CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴識別情報614と利用履歴情報610と、利用記録受信部111が出力した複数のハッシュ値625とを入力し、CPU911などの処理装置を用いて、入力した履歴識別情報614と入力した利用履歴情報610とに基づいて、ハッシュ値を算出し、CPU911などの処理装置を用いて、入力したハッシュ値625と算出した上記ハッシュ値とが一致するものについて、利用記録受信部111が出力した利用記録情報620のうち、ハッシュ値625に対応する利用記録情報620を入力し、CPU911などの処理装置を用いて、入力した利用履歴情報610が記録したサービス内容と、入力した利用記録情報620が記録したサービス内容とが一致するか否かを判断し、CPU911などの処理装置を用いて、上記サービス内容が一致すると判断した場合に、利用記録情報620が信頼できると判断する信頼性判断部151を有し、
匿名履歴判別部130が、
CPU911などの処理装置を用いて、利用記録情報620が信頼できると信頼性判断部151が判断した場合に、匿名履歴情報630を出力することを特徴とする。
この実施の形態における利用者端末装置100によれば、履歴識別情報614に基づいて算出したハッシュ値と、受信したハッシュ値625とが一致するものについて、利用履歴情報610が示すサービスの内容と利用記録情報620が示すサービスの内容とが一致するか否かを信頼性判断部151が判断するので、他の利用者に記録識別情報624と利用記録情報620との対応関係を知られることがなく、個人情報を保護できるという効果を奏する。
実施の形態6.
実施の形態6について、図21〜図23を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置100の機能ブロックの構成は、実施の形態4で説明したものと同様なので、ここでは説明を省略する。
図21は、この実施の形態における利用履歴受信部112が受信し、利用履歴記憶部121が記憶する利用履歴情報610の一例を示す図である。
なお、実施の形態3で図13を用いて説明した利用記録情報620と共通する部分については、同一の符号を付し、ここでは説明を省略する。
利用履歴受信部112は、通信装置915を用いて、サービス提供装置810が送信してきた利用履歴情報610を受信する。
利用履歴受信部112が受信する利用履歴情報610には、サービス暗号鍵616が含まれている。
利用履歴受信部112は、CPU911などの処理装置を用いて、受信した利用履歴情報610を出力する。利用履歴受信部112が出力する利用履歴情報610には、受信したサービス暗号鍵616が含まれている。利用履歴受信部112は、受信したサービス暗号鍵616を利用履歴情報610とともに出力する。
サービス暗号鍵616は、利用したサービス内容の種別ごとに異なる。この例では、購入した商品ごとにサービス内容の種別が異なるものとし、商品ごとにサービス暗号鍵616が異なっている。例えば、「商品A」のサービス暗号鍵616は「3565」、「商品B」のサービス暗号鍵616は「8431」である。
利用履歴記憶部121は、CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報610とサービス暗号鍵616とを入力する。
利用履歴記憶部121は、メモリなどの記憶装置を用いて、入力した利用履歴情報610とサービス暗号鍵616とを記憶する。
この例では、利用履歴記憶部121が、利用履歴情報610とサービス暗号鍵616とを別々に記憶しているが、受信した利用履歴情報610の形式のまま、一緒に記憶することとしてもよい。
サービス暗号鍵616は、サービス内容の種別ごとに異なり、サービスを利用すると、サービス提供装置810が、利用者端末装置100に対して、利用したサービスを記録した利用履歴情報610とともに送信する。
この例では、利用者が「商品A」「商品B」「商品C」「商品D」を購入したことがあるので、利用履歴記憶部121は、これらの商品についてのサービス暗号鍵616を記憶している。それ以外の商品は利用者が購入したことがないので、利用履歴記憶部121は、それ以外の商品についてのサービス暗号鍵616を記憶していない。
図22は、この実施の形態における利用記録受信部111が受信する暗号化記録情報640の一例を示す図である。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた暗号化記録情報640を受信する。
暗号化記録情報640は、サービス提供装置810が利用記録情報620を暗号化したものである。
この例では、利用記録情報620のうち、購入個数622を暗号化して暗号化購入個数642としたものを暗号化記録情報640とし、他の部分は暗号化していない。しかし、他の部分も暗号化してもよい。
サービス提供装置810は、CPU911などの処理装置を用いて、利用記録情報620を、その利用記録情報620が記録したサービス内容の種別に対応するサービス暗号鍵616で暗号化する。
この例では、購入した商品ごとにサービス内容の種別が異なることとしているので、1つの利用記録情報620に複数の種別のサービスが記録されている。そこで、それぞれのサービス種別ごとに、異なるサービス暗号鍵616で暗号化し、暗号化記録情報640とする。
すなわち、「商品A」の購入個数622は「商品A」のサービス暗号鍵616で暗号化して暗号化購入個数642とし、「商品B」の購入個数622は「商品B」のサービス暗号鍵616で暗号化して暗号化購入個数642とする。
この例において、サービス提供装置810は、CPU911などの処理装置を用いて、サービス暗号鍵616にランダムな整数を乗じ、購入個数622を加えることにより、暗号化購入個数642を算出する。例えば、サービス提供装置810は、CPU911などの処理装置を用いて、「商品A」のサービス暗号鍵616「3563」にランダムな整数「267」を乗じ、購入個数622「1」を加えて、暗号化購入個数642「951322」を算出する。
なお、暗号化の方式は、このような単純なものではなく、もっと高度な方式を用いてもよい。
利用記録受信部111は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶したサービス暗号鍵616を入力する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した暗号化記録情報640を、入力したサービス暗号鍵616で復号して、利用記録情報620を取得する。
利用記録受信部111は、CPU911などの処理装置を用いて、取得した利用記録情報620を出力する。
この例において、利用記録受信部111は、CPU911などの処理装置を用いて、暗号化購入個数642をサービス暗号鍵616で割った剰余を求めることにより、購入個数622を算出する。例えば、利用記録受信部111は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した「商品A」についてのサービス暗号鍵616「3563」を入力し、「商品A」についての暗号化購入個数642「951322」を「3463」で割った剰余を算出し、購入個数622「1」を取得する。
利用記録受信部111が受信した利用記録情報620のなかには、「商品E」についてのものがある。しかし、利用者端末装置100を所持している利用者が「商品E」を購入したことがないので、利用履歴記憶部121は「商品E」についてのサービス暗号鍵616を記憶していない。したがって、利用記録受信部111は、「商品E」についての暗号化購入個数642を復号することができない。
利用者端末装置100は、利用記録受信部111が出力した利用記録情報620を、匿名履歴判別部130が情報の匿名性を判断するために使用する。また、信頼性判断部151が利用記録情報620の信頼性を検証するためにも使用する。
匿名履歴判別部130が情報の匿名性を判断するのは、例えば、利用者が購入したことのある商品についての情報をサービス提供装置810に対して送信しても、利用者を特定されにくいか判断し、匿名履歴情報630を生成するためである。
したがって、利用者が利用したことのないサービスについては、匿名性を判断する必要がない。例えば、利用者が購入したことのない「商品E」についての情報を取得できなくても、匿名履歴判別部130は、匿名履歴情報630を生成できる。
信頼性判断部151が利用記録情報620の信頼性を検証する場合、利用履歴記憶部121が記憶した利用者自身の利用履歴情報610と比較することにより、利用記録情報620に改変がないかを調べる。
利用者が利用したことのないサービスについての情報を含む利用記録情報620は、利用者自身の利用履歴情報610ではあり得ないから、その利用記録情報620を取得できなくても、信頼性判断部151は、利用記録情報620の信頼性を検証できる。
すなわち、利用者が利用したことがないサービスについての利用記録情報620は本来必要ないものである。しかし、サービス提供装置810は、その利用者を特定できず、その利用者がそのサービスを利用したことがないことも知らないので、不要な情報も送信する。
例えば、利用者のなかに、ライバル店の店員がいた場合、すべての商品についての利用記録情報620を知られてしまうと、その店の売れ筋商品がわかり、営業上不利になる場合がある。
この実施の形態における履歴サービス提供システム800によれば、その利用者が利用したことがないサービスについての利用記録情報620は、利用者端末装置100が取得することができないので、そのような形での営業秘密の漏洩を避けることができる。
図23は、この実施の形態における利用記録受信部111が受信する利用記録情報620の別の例を示す図である。
この例において、暗号化記録情報640は、すべての商品についての暗号化購入個数642を含む。暗号化購入個数642は、例えば、商品コード順に並んでおり、左から順に「商品A」「商品B」「商品C」「商品D」「商品E」についてのものである。
サービス提供装置810は、CPU911などの処理装置を用いて、利用記録情報620を暗号化して暗号化記録情報640を生成する。利用記録情報620において利用されていないサービスについては、そのサービスが利用されていないことを示す情報を暗号化して、暗号化記録情報640に含める。例えば、「商品A」を購入していないのであれば、購入個数622を「0」とし、これを暗号化して暗号化購入個数642とする。
これにより、暗号化購入個数642を復号できなければ、その商品の売れた数だけでなく、売れたのか売れなかったのかもわからない。
サービス提供装置810がこのような形式の暗号化記録情報640を生成し、利用者端末装置100に対して送信することにより、更に強力に営業秘密を保護することができ、好ましい。
この実施の形態における利用者端末装置100(端末装置)は、更に、
通信装置915を用いて、利用者端末装置100を所持している利用者がサービス内容を利用した場合に、サービス提供装置810(サーバ装置)から、利用したサービス内容を記録した利用記録情報620とそのサービス内容の種別に対応する暗号鍵とを受信し、CPU911などの処理装置を用いて、受信した利用記録情報620を利用履歴情報610として出力し、受信した暗号鍵をサービス暗号鍵616として出力する利用履歴受信部112を有し、
利用履歴記憶部121が、
CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報610とサービス暗号鍵616とを入力し、メモリなどの記憶装置を用いて、入力した利用履歴情報610とサービス暗号鍵616とを記憶し、
利用記録受信部111が、
通信装置915を用いて、サービス提供装置810から、複数の利用記録情報620を、利用記録情報620が記録したサービス内容の種別ごとに異なる暗号鍵でそれぞれ暗号化した複数の暗号化記録情報640を受信し、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶したサービス暗号鍵616を入力し、CPU911などの処理装置を用いて、受信した複数の暗号化記録情報640を、入力したサービス暗号鍵616でそれぞれ復号して、複数の利用記録情報620を取得し、CPU911などの処理装置を用いて、取得した複数の利用記録情報620を出力することを特徴とする。
この実施の形態における利用者端末装置100によれば、利用履歴記憶部121は、利用したことのあるサービス内容の種別についてのサービス暗号鍵616を記憶し、利用したことのないサービス内容の種別についてのサービス暗号鍵616を記憶していないので、利用記録受信部111は、利用したことのあるサービス内容の種別についての暗号化記録情報640だけを復号して、利用記録情報620を取得することができ、利用者端末装置100は、信頼性判断・匿名性判断に必要のない情報を得られないので、利用記録情報620の不必要な漏洩を防ぐことができるという効果を奏する。
これにより、店舗から入手する履歴に関する情報のうち利用者が知ることができる情報は、利用者自身が過去に購入した商品に関する情報のみであり、他の利用者の購入情報は保護される。
なお、この実施の形態では、暗号化記録情報640を識別するための情報として記録識別情報624を使用しているが、実施の形態5で説明したハッシュ値625を使用してもよい。
実施の形態7.
実施の形態7について、図24〜図27を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置100の機能ブロックの構成は、実施の形態4で説明したものと同様なので、ここでは説明を省略する。
図24は、この実施の形態における利用履歴受信部112が受信し、利用履歴記憶部121が記憶する利用履歴情報610の一例を示す図である。
なお、実施の形態3で図13を用いて説明した利用履歴情報610と共通する部分については、同一の符号を付し、ここでは説明を省略する。
利用履歴受信部112は、通信装置915を用いて、サービス提供装置810が送信してきた利用履歴情報610を受信する。
利用履歴受信部112が受信する利用履歴情報610には、履歴暗号鍵617が含まれている。
利用履歴受信部112は、CPU911などの処理装置を用いて、受信した利用履歴情報610を出力する。利用履歴受信部112が出力する利用履歴情報610には、受信した履歴暗号鍵617が含まれている。利用履歴受信部112は、受信した履歴暗号鍵617を利用履歴情報610とともに出力する。
履歴暗号鍵617は、その利用履歴情報610に対応する暗号鍵である。履歴暗号鍵617は、利用履歴情報610ごとに異なる。
利用履歴記憶部121は、CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報610と履歴暗号鍵617とを入力する。
利用履歴記憶部121は、メモリなどの記憶装置を用いて、入力した利用履歴情報610と履歴暗号鍵617とを記憶する。
サービス提供装置810は、利用者がサービスを利用すると、CPU911などの処理装置を用いて、利用したサービスの内容を記録した利用履歴情報610を生成する。サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、生成した利用履歴情報610を送信する。
サービス提供装置810は、更に、CPU911などの処理装置を用いて、その利用履歴情報610に対応する履歴暗号鍵617を生成する。サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、生成した履歴暗号鍵617を、利用履歴情報610とともに送信する。
サービス提供装置810は、磁気ディスク装置920などの記憶装置を用いて、利用履歴情報610と履歴暗号鍵617とを、利用記録情報620と記録暗号鍵627として記憶する。
なお、履歴暗号鍵617(記録暗号鍵627)は、このようにサービス提供装置810が生成して利用者端末装置100に対して利用履歴情報610とともに送信するのではなく、利用者端末装置100が生成して、サービス提供装置810に対して送信することとしてもよい。あるいは、今回のサービス利用に伴って利用者端末装置100とサービス提供装置810とが通信するために利用した暗号鍵を、履歴暗号鍵617(記録暗号鍵627)として再利用することとし、利用者端末装置100及びサービス提供装置810が記憶しておいてもよい。
図25は、この実施の形態における利用記録受信部111が受信する暗号化記録情報640と暗号化暗号鍵650との一例を示す図である。
なお、実施の形態6で図23を用いて説明した暗号化記録情報640と共通する部分については、同一の符号を付し、ここでは説明を省略する。
暗号化記録情報640は、実施の形態6で図23を用いて説明した暗号化記録情報640とほぼ同様である。異なる点は、暗号化購入個数642の順番が商品コード順ではない点である。
サービス提供装置810は、CPU911などの処理装置を用いて、ランダムな順番を生成し、生成した順番に暗号化購入個数642を並べて暗号化記録情報640とする。
暗号化購入個数642の順番は、一回に送信される暗号化記録情報640の間では同じ順番である。次回の送信、あるいは、他の利用者端末装置100に対して送信するときには、異なる順番となる。
サービス提供装置810は、暗号化記録情報640のほかに、記録識別情報624と暗号化暗号鍵650とのペアからなるリストを、利用者端末装置100に対して送信する。
暗号化暗号鍵650は、それぞれの記録識別情報624によって識別される利用記録情報620を暗号化した暗号化記録情報640について、暗号化の鍵を、利用記録情報620に対応する記録暗号鍵627で暗号化したものである。
サービス提供装置810は、利用者端末装置100に対して送信した暗号化記録情報640と同じ数の暗号化暗号鍵650を、利用者端末装置100に対して送信する。それぞれの暗号化暗号鍵650は、それぞれの暗号化記録情報640に対応している。
なお、この例では、暗号化記録情報640と暗号化暗号鍵650との双方に、記録識別情報624を付けて、その対応関係を明確にしているが、実施の形態5で説明したハッシュ値625を記録識別情報624の代わりに付けてもよい。その場合、暗号化記録情報640と暗号化暗号鍵650とのどちらか一方は、記録識別情報624を付け、他方はハッシュ値625を付けることにより、暗号化記録情報640と暗号化暗号鍵650との対応がわからないようにすることが好ましい。更に、暗号化記録情報640の順番と暗号化暗号鍵650の順番をランダムにし、異なる順番とする。また、ハッシュ値625を、暗号化記録情報640にも、暗号化暗号鍵650にも付ける場合には、異なるハッシュ関数を用いるなどして、異なるハッシュ値625が付くようにし、暗号化記録情報640と暗号化暗号鍵650との対応関係がわからないようにする。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた暗号化記録情報640と暗号化暗号鍵650とを受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴暗号鍵617を入力する。
利用記録受信部111は、CPU911などの処理装置を用いて、履歴暗号鍵617が対応する利用履歴情報610の履歴識別情報614と一致する記録識別情報624を付された暗号化暗号鍵650を、履歴暗号鍵617で復号する。
利用履歴記憶部121は、利用者端末装置100を所持している利用者が利用したサービスを記録した利用記録情報620に対応する記録暗号鍵627を、履歴暗号鍵617として記憶しているので、利用履歴情報610の履歴識別情報614と一致する記録識別情報624が付された暗号化暗号鍵650を復号することができる。しかし、他の利用者が利用したサービスを記録した利用記録情報620についての記録暗号鍵627は記憶していないので、他の暗号化暗号鍵650を復号することはできない。
利用記録受信部111は、CPU911などの処理装置を用いて、暗号化暗号鍵650を履歴暗号鍵617で復号し、商品コード651、位置652、サービス暗号鍵656からなるリストを取得する。
商品コード651は、対応する利用記録情報620に記録された商品コード621と同じものである。
位置652は、暗号化記録情報640のなかで、商品コード651に対応する暗号化購入個数642の位置を示す情報である。
サービス暗号鍵656は、その暗号化購入個数642を復号するために必要な暗号鍵である。
なお、商品コードは、商品に付されたバーコードが示す情報のように公開された情報ではなく、サービス提供装置810が独自に生成した情報を用いるほうが好ましい。そうすれば、利用者端末装置100は、利用履歴情報610に基づいて、購入したことのある商品の商品コードを知ることができるが、購入したことのない商品の商品コードを知ることができない。
この例では、「商品A」についての暗号化購入個数642は、暗号化記録情報640の「3番目」に位置し、それを復号するための暗号鍵は「3563」であることを示している。
記録識別情報624「0576」で識別される利用記録情報620には、利用者が「商品A」「商品B」「商品D」を購入したことが記憶されているので、記録識別情報624「0576」に対応する暗号化暗号鍵650を復号すると、利用記録受信部111は、「商品A」「商品B」「商品D」についての位置652、サービス暗号鍵656を取得できる。
また、記録識別情報624「1085」に対応する暗号化暗号鍵650を復号すると、利用記録受信部111は、「商品A」「商品C」についての位置652、サービス暗号鍵656を取得できる。
このようにして、利用記録受信部111は、購入したことがあるすべての商品についての位置652、サービス暗号鍵656を取得する。しかし、購入したことがない商品については、暗号化暗号鍵650を復号できないので、位置652やサービス暗号鍵656を取得することはできない。
利用記録受信部111は、CPU911などの処理装置を用いて、暗号化購入個数642を取得したサービス暗号鍵656で復号し、購入個数622を取得する。
利用記録受信部111は、CPU911などの処理装置を用いて、復号して得た利用記録情報620を出力する。
実施の形態6では、1つのサービス内容の種別については、常に同一のサービス暗号鍵で暗号化している。
しかし、暗号鍵を頻繁に変えるほうが、解読されにくくなるので好ましい。
この実施の形態は、暗号化記録情報640を1回送信するごとにサービス暗号鍵656を変化させることにより、暗号を解読されにくくするものである。
図26は、この実施の形態におけるサービス提供装置810が暗号化記録情報640を送信する利用記録送信処理の流れの一例を示すフローチャート図である。
利用記録送信処理は、図17のS11に相当する処理である。
S71において、サービス提供装置810は、CPU911などの処理装置を用いて、すべての商品について、それぞれのサービス暗号鍵656をランダムに生成する。
また、サービス提供装置810は、CPU911などの処理装置を用いて、利用記録情報620において暗号化購入個数642を並べる順番をランダムに生成する。
S72において、サービス提供装置810は、CPU911などの処理装置を用いて、利用者端末装置100から受信した記録識別情報624によって識別される利用記録情報620を、磁気ディスク装置920などの記憶装置から読み出す。
サービス提供装置810は、CPU911などの処理装置を用いて、読み出した利用記録情報620に含まれる購入個数622を、その商品についてS71で生成したサービス暗号鍵656で暗号化し、暗号化購入個数642を生成する。
サービス提供装置810は、CPU911などの処理装置を用いて、生成した暗号化購入個数642を、S71で生成した順序に並べて、暗号化記録情報640を生成する。
S73において、サービス提供装置810は、CPU911などの処理装置を用いて、S72で読み出した利用記録情報620に対応する記録暗号鍵627を、磁気ディスク装置920などの記憶装置から読み出す。
サービス提供装置810は、CPU911などの処理装置を用いて、S72で読み出した利用記録情報620に購入したことが記録されている商品についてS71で生成したサービス暗号鍵656を、読み出した記録暗号鍵627で暗号化して、暗号化暗号鍵650を生成する。
S74において、サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、S72で生成した暗号化記録情報640と、S73で生成した暗号化暗号鍵650とを送信する。
図27は、この実施の形態における利用記録受信部111が、暗号化記録情報640を受信して復号する利用記録受信処理の流れの一例を示すフローチャート図である。
S81において、利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた暗号化記録情報640と暗号化暗号鍵650とを受信する。
S82において、利用記録受信部111は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴暗号鍵617のなかから、S81で受信した暗号化暗号鍵650に対応する履歴暗号鍵617を抽出する。
利用記録受信部111は、CPU911などの処理装置を用いて、S81で受信した暗号化暗号鍵650を、抽出した履歴暗号鍵617で復号し、商品コード651、位置652、サービス暗号鍵656を取得する。
S83において、利用記録受信部111は、CPU911などの処理装置を用いて、S81で受信した利用記録情報620に含まれる暗号化購入個数642のうち、S82で取得した位置652にある暗号化購入個数642を、S82で取得したサービス暗号鍵656で復号し、購入個数622を取得する。
利用記録受信部111は、CPU911などの処理装置を用いて、S82で取得した商品コード651と、取得した購入個数622とから、利用記録情報620を生成する。
S84において、利用記録受信部111は、CPU911などの処理装置を用いて、S83で生成した利用記録情報620を出力する。
このように、2段階の暗号化処理をすることで、サービス暗号鍵656を毎回変えることができ、暗号を解読されにくくすることができる。
また、暗号化記録情報640のなかにおける暗号化購入個数642の位置を毎回変えることにより、更に暗号を解読されにくくすることができる。
この実施の形態における利用者端末装置100(端末装置)は、更に、
通信装置915を用いて、利用者端末装置100を所持している利用者がサービス内容を利用した場合に、サービス提供装置810(サーバ装置)から、利用したサービス内容を記録した利用記録情報620と利用記録情報620に対応する暗号鍵とを受信し、CPU911などの処理装置を用いて、受信した利用記録情報620を利用履歴情報610として出力し、受信した暗号鍵を履歴暗号鍵617として出力する利用履歴受信部112を有し、
利用履歴記憶部121が、
CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報610と履歴暗号鍵617とを入力し、メモリなどの記憶装置を用いて、入力した利用履歴情報610と履歴暗号鍵617とを記憶し、
利用記録受信部111が、
通信装置915を用いて、サービス提供装置810から、複数の利用記録情報620を、利用記録情報620が記録したサービス内容の種別ごとに異なるサービス暗号鍵656でそれぞれ暗号化した複数の暗号化記録情報640と、利用記録情報620が記録したサービス内容の種別に対応するサービス暗号鍵656を、利用記録情報620に対応する記録暗号鍵627でそれぞれ暗号化した複数の暗号化暗号鍵650とを受信し、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶した履歴暗号鍵617を入力し、CPU911などの処理装置を用いて、受信した複数の暗号化暗号鍵650の少なくともいずれかを、入力した履歴暗号鍵617で復号して、サービス暗号鍵656を取得し、CPU911などの処理装置を用いて、受信した複数の暗号化記録情報640を、取得したサービス暗号鍵656でそれぞれ復号して、複数の利用記録情報620を取得し、CPU911などの処理装置を用いて、取得した複数の利用記録情報620を出力することを特徴とする。
この実施の形態における利用者端末装置100によれば、利用記録受信部111が受信した暗号化暗号鍵650を復号して取得したサービス暗号鍵656で、利用記録受信部111が受信した暗号化記録情報640を復号するので、サービス暗号鍵656を毎回変えることができ、暗号を解読されにくくすることができるという効果を奏する。
実施の形態8.
実施の形態8について、図28〜図36を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態における利用者端末装置100の機能ブロックの構成は、実施の形態4で説明したものと同様なので、ここでは説明を省略する。
利用者端末装置100の記憶装置は、サービス利用プログラムなどのプログラムを格納している。サービス利用プログラムは、履歴サービスを利用するための処理を行うプログラムである。利用者端末装置100のCPU911などの処理装置が、サービス利用プログラムを実行することにより、利用者端末装置100の機能ブロックが実現される。
利用者端末装置100のUIM210の記憶装置は、サービス利用記録群や利用者特定率設定情報などのデータを記憶している。
サービス利用記録群とは、利用履歴記憶部121が記憶した利用履歴情報610のことである。サービス利用記録群は、利用者の購入した商品の購入情報の集まりであり、利用者が商品を購入する度に追加される。
利用者特定率設定情報とは、匿名性判断部131が匿名性を判断するために、利用者特定率と比較する閾値を示す情報である。利用者特定率設定情報は、店舗が履歴に含まれる購入情報から利用者を特定できる確率(利用者特定率)を記した情報であり、利用者端末装置100の匿名履歴判別部130は、購入情報を履歴(匿名履歴情報630)に含めるか否かを、この値を用いて判断する。
図28は、この実施の形態におけるサービス提供装置810の機能ブロックの構成の一例を示すブロック構成図である。
サービス提供装置810は、利用履歴生成部821、利用履歴送信部822、利用記録記憶部823、記録識別送信部824、選択識別受信部825、送信利用記録生成部826、利用記録送信部827、匿名履歴受信部831、サービス情報記憶部832、サービス情報選択部833、サービス情報送信部834、秘密鍵記憶部841、証明書記憶部842などを有する。
以下に説明するサービス提供装置810の機能ブロックは、サービス提供装置810の磁気ディスク装置920などの記憶装置が記憶したサービス提供プログラムを、サービス提供装置810のCPU911などの処理装置が実行することにより実現する。
サービス提供プログラムは、履歴サービスを提供するための処理を行うプログラムである。
利用履歴生成部821は、利用者がサービスを利用した場合に、CPU911などの処理装置を用いて、利用者が利用したサービスについての情報を入力し、履歴として記録するための利用履歴情報610を生成する。
利用履歴生成部821は、CPU911などの処理装置を用いて、生成した利用履歴情報610を出力する。
利用履歴生成部821は、例えば、店内のレジなどと通信して情報を入力し、利用履歴情報610を生成する。
利用履歴送信部822は、CPU911などの処理装置を用いて、利用履歴生成部821が出力した利用履歴情報610を入力する。
利用履歴送信部822は、通信装置915を用いて、入力した利用履歴情報610を、その利用者の所持する利用者端末装置100に対して送信する。
利用記録記憶部823は、CPU911などの処理装置を用いて、利用履歴生成部821が出力した利用履歴情報610を入力する。
利用記録記憶部823は、磁気ディスク装置920などの記憶装置を用いて、入力した利用履歴情報610を利用記録情報620として記憶する。
利用履歴生成部821が生成する利用履歴情報610には、利用者を特定できる情報(利用者の固定ID(Identifier)や、利用者端末装置100の機器番号など)は含まれていない。
利用履歴情報610は、利用者がサービスを利用するごとに個別に生成され、利用記録記憶部823が利用記録情報620として蓄積していく。利用記録記憶部823が記憶する利用記録情報620は、利用者がサービスを利用するたびに追加されて増えていく。
利用記録情報620には、利用者を特定できる情報が含まれていないので、サービス提供装置810は、利用記録記憶部823が記憶した利用記録情報620のうち、いずれが同一の利用者のものであり、いずれが異なる利用者のものであるかを判別できない。
以下、利用記録記憶部823が記憶した利用記録情報620の一つ一つをサービス利用記録情報と呼び、利用記録記憶部823が記憶した利用記録情報620の全体をサービス利用記録情報群と呼ぶ。
記録識別送信部824は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶したすべての利用記録情報620について、その利用記録情報620を識別する記録識別情報624を入力する。
記録識別送信部824は、通信装置915を用いて、利用者端末装置100に対して、入力した記録識別情報624を送信する。
この例では、記録識別情報624として、サービス利用記録情報に含まれるID番号を使用する。
選択識別受信部825は、通信装置915を用いて、利用者端末装置100が送信してきた選択識別情報を受信する。
選択識別受信部825は、CPU911などの処理装置を用いて、受信した選択識別情報を出力する。
選択識別情報とは、記録識別送信部824が送信した記録識別情報624のなかから利用者端末装置100が選択した記録識別情報624を示す情報である。
送信利用記録生成部826は、CPU911などの処理装置を用いて、選択識別受信部825が出力した選択識別情報を入力する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶した利用記録情報620のうち、入力した選択識別情報に基づいて、利用者端末装置100が選択した記録識別情報624によって識別される利用記録情報620を入力する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、入力した利用記録情報620に、暗号化などの処理を加えて、送信利用記録情報を生成する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、生成した送信利用記録情報を出力する。
なお、あまりに多くの記録識別情報624を利用者端末装置100が選択した場合、利用者端末装置100が、送信利用記録情報から、匿名履歴情報630の生成に必要な情報以上の情報を取得してしまう可能性がある。
そこで、例えば、選択できる記録識別情報624の数に上限を設けてもよい。すなわち、送信利用記録生成部826は、CPU911などの処理装置を用いて、利用者端末装置100が選択した記録識別情報624の数を数える。送信利用記録生成部826は、CPU911などの処理装置を用いて、数えた記録識別情報624の数を所定の閾値と比較して、利用者端末装置100が選択した記録識別情報624の数が適正であるか(多すぎないか)を判断する。利用者端末装置100が選択した記録識別情報624の数が適正であると判断した場合のみ、送信利用記録生成部826は、CPU911などの処理装置を用いて、送信利用記録情報を生成し、利用者端末装置100が選択した記録識別情報624の数が適正でない(多すぎる)と判断した場合は、送信利用記録生成部826は、送信利用記録情報を生成しない。
これにより、例えば、ライバル店の店員が売れ筋商品を調べるなど、履歴サービスを利用する以外の目的で、利用記録情報を得ようとした場合に、情報が流出するのを防ぐことができる。
利用記録送信部827は、CPU911などの処理装置を用いて、送信利用記録生成部826が出力した送信利用記録情報を入力する。
利用記録送信部827は、通信装置915を用いて、利用者端末装置100に対して、入力した送信利用記録情報を送信する。
匿名履歴受信部831は、通信装置915を用いて、利用者端末装置100が送信してきた匿名履歴情報630を受信する。
匿名履歴受信部831は、CPU911などの処理装置を用いて、受信した匿名履歴情報630を出力する。
匿名履歴情報630とは、利用者が過去にサービスを利用した履歴を示す情報であり、利用者端末装置100が生成して、送信する。利用者端末装置100は、利用履歴送信部822が送信した利用履歴情報610を受信して記憶しておくことにより、利用者端末装置100を所持している利用者がサービスを利用した利用履歴情報610をすべて記憶している。利用者端末装置100は、利用記録送信部827が送信した送信利用記録情報に基づいて、記憶した利用履歴情報610のなかから利用者を特定されにくい情報を判別し、匿名履歴情報630を生成する。
サービス情報記憶部832は、磁気ディスク装置920などの記憶装置を用いて、サービス情報を記憶する。
サービス情報とは、利用者に対して提供すべきサービスについての情報である。例えば、商品の値引き情報などである。
サービス情報選択部833は、CPU911などの処理装置を用いて、匿名履歴受信部831が出力した匿名履歴情報630を入力する。
サービス情報選択部833は、CPU911などの処理装置を用いて、サービス情報記憶部832が記憶したサービス情報のうち、入力した匿名履歴情報630に基づいて、その利用者にとって有用であろうサービス情報を選択して、入力する。
サービス情報選択部833は、CPU911などの処理装置を用いて、入力したサービス情報を出力する。
サービス情報送信部834は、CPU911などの処理装置を用いて、サービス情報選択部833が出力したサービス情報を入力する。
サービス情報送信部834は、通信装置915を用いて、利用者端末装置100に対して、入力したサービス情報を送信する。
利用者端末装置100は、サービス情報送信部834が送信したサービス情報を受信し、表示装置901に表示するなどして、利用者に通知する。
サービス情報には、その店舗が扱っている多数の商品それぞれについての情報がある。利用者は、その店舗が扱っている商品すべてに興味があるとは限らないので、すべてのサービス情報を送信されても迷惑である。自分が買いたい商品についての値引き情報があっても、他の不必要な情報のなかに埋もれて見逃してしまう危険もある。
そこで、サービス情報選択部833は、匿名履歴情報630に基づいて、例えば、過去に利用者が購入したことのある商品を判別し、その商品やその商品に関係のある商品についてのサービス情報を選択する。
これにより、利用者は、厳選された情報のみを見ることができ、有用な情報を見逃す心配がない。
秘密鍵記憶部841は、磁気ディスク装置920などの記憶装置を用いて、サービス提供者の秘密鍵を記憶する。
サービス提供者の秘密鍵とは、サービス提供装置810が利用者端末装置100と通信するために用いる公開鍵暗号方式における秘密鍵であり、サービス提供装置810が他者に知られないよう保管しているものである。
証明書記憶部842は、磁気ディスク装置920などの記憶装置を用いて、公開鍵証明書を記憶する。
公開鍵証明書とは、サービス提供装置810が利用者端末装置100と通信するために用いる公開鍵暗号方式において、秘密鍵記憶部841が記憶した秘密鍵と対になる公開鍵が、本当にそのサービス提供装置810の秘密鍵と対をなすものであることを証明する情報である。
公開鍵証明書は、サービス提供装置810の秘密鍵と対をなす公開鍵を示す情報を含み、証明書発行機関あるいはその店舗自身が発行する。
図29は、この実施の形態における利用記録記憶部823が記憶するサービス利用記録情報群710の一例を示す図である。
サービス利用記録情報群710は、1以上のサービス利用記録情報711を有する。
サービス利用記録情報711は、ID番号712、共通鍵713、サービス利用記録714などを含む。
ID番号712は、商品購入などのサービス利用時に利用者が用いた可変の匿名IDを示す情報である。ID番号712は、記録識別情報624の一例である。
共通鍵713は、商品購入などのサービス利用時に利用者との通信を暗号化するためにい用いた共通鍵暗号の鍵を示す情報である。
サービス利用記録714は、商品購入などのサービス利用を記録した情報であり、商品コード、個数、購入時刻などが含まれる。
例えば、ID番号712「ID1」のサービス利用記録情報には、そのときの通信に用いた共通鍵が「共通鍵1」であること、そのときに購入した商品が「商品Aが3個」「商品Bが1個」であり、購入時刻が「1月15日10時30分」であることが記録されている。
同様に、ID番号712「ID2」のサービス利用記録情報には、共通鍵が「共通鍵2」、購入した商品が「商品Aが2個」「商品Cが1個」「商品Dが2個」、購入時刻が「1月15日14時15分」であることが記録されている。
ID番号712は、そのとき1回限りのサービス利用時に使われるものであり、次回のサービス利用時には、また異なるID番号712を使う。したがって、サービス提供装置810は、ID番号712から利用者を特定することができない。
なお、サービス利用記録714に含まれる商品コードは、商品に付されたバーコードが示す情報のように公開された情報ではなく、サービス提供装置810が独自に生成した非公開の情報を用いる。
サービス提供装置810は、サービス利用記録情報711を分析することにより、時間帯や季節ごとの売れ筋商品を判別したり、利用者が同時に購入した商品から利用者の購入傾向を判別したりすることができ、経営戦略に役立てることができる。
しかも、サービス提供装置810は、サービス利用記録情報711から利用者を特定できないので、利用者は安心してサービスを利用することができる。
図30は、この実施の形態における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れを示すフローチャート図である。
まず、利用者は、履歴サービスの利用登録をする。利用者は、例えば、サービス利用プログラムをダウンロードして、利用者端末装置100に格納する。これにより、履歴サービスを利用する準備が整う。
次に、利用者が、サービス利用プログラムを格納した利用者端末装置100を持って来店する。
履歴サービス提供システム800は、店舗の入口などに設置されたセンサー端末などによって、利用者の来店を検知する。
サービス提供装置810は、利用者端末装置100との間の通信を確立する(通信確立処理)。
サービス提供装置810と利用者端末装置100との間の通信により、利用者端末装置100にサービス情報が送られる。利用者端末装置100がサービス情報を表示装置901に表示するなどして、利用者にサービス情報が提供される(情報提供処理)。
利用者は、提供されたサービス情報を参考にして、商品を購入する。
サービス提供装置810は、利用者が購入した商品などを示すサービス利用記録情報を生成し、記憶する。サービス提供装置810は、生成したサービス利用記録情報を利用者端末装置100に送信し、利用者端末装置100も、サービス利用記録情報を記憶する(利用記録処理)。
利用者が帰ると、サービス提供装置810は、利用者端末装置100との間の通信を切断し、1回の利用が終わる(通信切断処理)。
利用者が次に来店したときも同様の処理が行われる。サービス提供装置810は、利用者を特定できる情報を有していないので、同じ利用者が再び来店したのか、異なる利用者が来店したのか、区別することはできない。
次に、各処理の詳細を説明する。
図31は、この実施の形態における履歴サービス提供システム800が、利用者端末装置100とサービス提供装置810との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図である。
T11において、サービス提供装置810が利用者の来店を検知すると、サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、証明書記憶部842が記憶した公開鍵証明書を送信する。
T12において、利用者端末装置100は、通信装置915を用いて、サービス提供装置810が送信してきた公開鍵証明書を受信する。
利用者端末装置100は、CPU911などの処理装置を用いて、受信した公開鍵証明書を検証し、サービス提供装置810を認証する。
認証に成功した場合、T13において、利用者端末装置100は、CPU911などの処理装置を用いて、今回の通信に使う共通鍵をランダムに生成する。
利用者端末装置100は、CPU911などの処理装置を用いて、生成した共通鍵を、サービス提供装置810の公開鍵証明書に含まれるサービス提供装置810の公開鍵で暗号化する。
利用者端末装置100は、通信装置915を用いて、サービス提供装置810に対して、暗号化した共通鍵を送信する。
T14において、サービス提供装置810は、通信装置915を用いて、利用者端末装置100が送信してきた暗号化した共通鍵を受信する。
サービス提供装置810は、CPU911などの処理装置を用いて、受信した暗号化した共通鍵を、秘密鍵記憶部841が記憶した秘密鍵で復号し、共通鍵を取得する。
この手順により、利用者端末装置100とサービス提供装置810とは共有鍵を共有し、この共有鍵によって暗号化した通信が確立する。以後、通信切断まで、この共有鍵により暗号化した通信により、利用者端末装置100とサービス提供装置810との間の通信が行われる。
共有鍵は、利用者端末装置100がその都度ランダムに生成し、今回のサービス利用に用いた共有鍵と、次回のサービス利用に用いる共有鍵との間には、何の関連性もない。したがって、サービス提供装置810は、共有鍵に基づいて利用者端末装置100及び利用者を特定することはできない。
また、通信確立処理の過程において、利用者端末装置100の公開鍵など利用者端末装置100を特定できる情報は、サービス提供装置810に送信されていない。したがって、サービス提供装置810は、通信確立処理で得た情報に基づいて利用者端末装置100及び利用者を特定することはできない。
店内に複数の利用者端末装置100がある場合、サービス提供装置810は、共有鍵によって利用者端末装置100を区別する。したがって、サービス提供装置810が利用者端末装置100を特定しなくとも、サービス提供装置810と利用者端末装置100との間の1対1通信を正常に行うことができる。
共有鍵が衝突する可能性はほとんどないが、万が一衝突した場合には、サービス提供装置810が通信を切断し、通信確立処理を最初からやり直すこととしてもよい。
なお、通信確立処理における認証方式・共通鍵共有方式は、非特許文献2に記載の方式など、一般的な方式を用いてもよい。
T15において、利用者端末装置100は、CPU911などの処理装置を用いて、今回のサービス利用を識別する匿名IDをランダムに生成する。
利用者端末装置100は、通信装置915を用いて、サービス提供装置810に対して、生成した匿名IDを送信する。
匿名IDは、今回のサービス利用の間に限り、利用者端末装置100を識別する情報である。匿名IDは、利用者端末装置100がその都度ランダムに生成し、今回のサービス利用に用いた匿名IDと、次回のサービス利用に用いる匿名IDとの間には、何の関連性もない。したがって、サービス提供装置810は、今回のサービス利用の間は、匿名IDに基づいて利用者端末装置100を識別できるが、その後は、匿名IDに基づいて利用者端末装置100及び利用者を特定することはできない。
匿名IDは、また、今回のサービス利用をサービス利用記録情報として記録する際に、利用記録記憶部823が記憶したサービス利用記録情報群710のなかでサービス利用記録情報711を識別するID番号712として使用する。
T16において、サービス提供装置810は、通信装置915を用いて、利用者端末装置100が送信してきた匿名IDを受信する。
サービス提供装置810は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶したサービス利用記録情報711のID番号712を入力する。
サービス提供装置810は、CPU911などの処理装置を用いて、入力したID番号712のなかに、受信した匿名IDと同一のものがないか判断する。
同一のID番号712が既にある場合(匿名IDの衝突)、サービス提供装置810は、通信装置915を用いて、そのことを利用者端末装置100に通知する情報を送信する。
利用者端末装置100は、通信装置915を用いてこれを受信し、CPU911などの処理装置を用いて別の匿名IDを生成し、通信装置915を用いてサービス提供装置810に対して送信する。
同一のID番号712がない場合、T17において、サービス提供装置810は、通信装置915を用いて、そのことを利用者端末装置100に通知する情報を送信し、匿名IDを用いた通信が確立する。以後、通信切断まで、利用者端末装置100は、自己をサービス提供装置810に識別させる情報として、匿名IDを使用する。これにより、店内に複数の利用者端末装置100がある場合でも、サービス提供装置810は、発信元の利用者端末装置100を識別でき、送信先の利用者端末装置100を指定できる。
なお、この例では、匿名IDの衝突があるか否かをサービス提供装置810が判断しているが、以下で説明するように、サービス提供装置810は、利用者端末装置100に対してID番号712の一覧を送信するので、利用者端末装置100が匿名IDの衝突があるか否かを判断することもできる。
例えば、この時点では、現在通信中の他の利用者端末装置100との間で匿名IDが衝突していなければよいことにして、これを仮匿名IDとする。その後、利用者端末装置100は、仮匿名IDによる通信により、ID番号712の一覧を受信し、受信したID番号712の一覧から、衝突しない匿名IDを判別する。これを正式な匿名IDとして、サービス提供装置810に送信し、以後は、正式な匿名IDによる通信を行う。
図32は、この実施の形態における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
匿名ID一覧送信工程において、記録識別送信部824は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶しているサービス利用記録情報群710に含まれるすべてのID番号712を入力する。
記録識別送信部824は、CPU911などの処理装置を用いて、入力したID番号712の一覧を作成する。
記録識別送信部824は、通信装置915を用いて、利用者端末装置100に対して、作成したID番号712の一覧を送信する。
匿名ID一覧受信工程において、記録識別受信部113は、通信装置915を用いて、匿名ID一覧送信工程でサービス提供装置810が送信したID番号712の一覧を受信する。
記録識別受信部113は、CPU911などの処理装置を用いて、受信したID番号712の一覧を出力する。
匿名ID選択工程において、記録識別選択部152は、CPU911などの処理装置を用いて、匿名ID一覧受信工程で記録識別受信部113が出力したID番号712の一覧を入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうち、利用履歴記憶部121が記憶しているサービス利用記録情報群710(利用履歴情報610)に含まれるすべてのID番号712(履歴識別情報614)を選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうち、更に、それ以外のID番号712を十分な数選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、選択したID番号712のリストを出力する。
匿名IDサブセット送信工程において、選択識別送信部142は、CPU911などの処理装置を用いて、匿名ID選択工程で記録識別選択部152が出力したID番号712のリストを入力する。
選択識別送信部142は、通信装置915を用いて、サービス提供装置810に対して、入力したID番号712のリストを送信する。
匿名IDサブセット受信工程において、選択識別受信部825は、通信装置915を用いて、匿名IDサブセット送信工程で選択識別送信部142が送信したID番号712のリストを受信する。
選択識別受信部825は、CPU911などの処理装置を用いて、受信したID番号712のリストを出力する。
履歴生成用情報作成工程において、送信利用記録生成部826は、CPU911などの処理装置を用いて、匿名IDサブセット受信工程で選択識別受信部825が出力したID番号712のリストを入力する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、入力したID番号712それぞれについて、利用記録記憶部823が記憶したサービス利用記録情報711を入力する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、入力したサービス利用記録情報711から送信利用記録情報を作成する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、作成した送信利用記録情報を出力する。
なお、送信利用記録情報は、利用者端末装置100が匿名履歴情報630を生成するために使用するものなので、履歴生成用情報と呼ぶ場合がある。
履歴生成用情報送信工程において、利用記録送信部827は、CPU911などの処理装置を用いて、履歴生成用情報作成工程で送信利用記録生成部826が作成した送信利用記録情報を入力する。
利用記録送信部827は、通信装置915を用いて、利用者端末装置100に対して、入力した送信利用記録情報を送信する。
履歴生成用情報受信工程において、利用記録受信部111は、通信装置915を用いて、履歴生成用情報送信工程で利用記録送信部827が送信した送信利用記録情報(暗号化記録情報640)を受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した送信利用記録情報から利用記録情報620を取得する。
利用記録受信部111は、CPU911などの処理装置を用いて、取得した利用記録情報620を出力する。
履歴生成用情報検証工程において、信頼性判断部151は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報620を入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用記録情報620が改竄されていないかを検証する。
利用記録情報620が改竄されていないと、信頼性判断部151が判断した場合は、履歴生成工程を実行する。
履歴生成工程において、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用記録受信部111が出力した利用記録情報620を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用記録情報620に基づいて、個々の商品について利用者特定率を算出する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、算出した利用者特定率と、利用者特定率設定情報が示す閾値とを比較して、その商品についての情報の匿名性を判断する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名性が高いと判断した商品についての情報から、匿名履歴情報630を生成する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、生成した匿名履歴情報630を出力する。
履歴送信工程において、匿名履歴送信部141は、CPU911などの処理装置を用いて、履歴生成工程で匿名履歴判別部130が出力した匿名履歴情報630を入力する。
匿名履歴送信部141は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名履歴情報630を送信する。
匿名履歴判別部130が匿名履歴情報630を出力しない場合、匿名履歴送信部141は、匿名履歴情報630として、空の情報を送信する。
匿名履歴判別部130が匿名履歴情報630を出力しない場合とは、例えば、利用者が商品を購入したことがなく、送信すべき履歴が存在しない場合である。
あるいは、利用記録情報620が改竄されていると信頼性判断部151が判断した結果、匿名履歴判別部130が匿名履歴情報630を出力しない場合もある。
また、購入したことがあるすべての商品について、匿名性が低いと匿名履歴判別部130が判断した結果、匿名履歴情報630を出力しない場合もある。
匿名履歴送信部141は、これらの場合を区別せず、サービス提供装置810に対して、空の情報を送信する。サービス提供装置810に利用者を特定する手がかりを与えないためである。
履歴受信工程において、匿名履歴受信部831は、通信装置915を用いて、履歴送信工程で利用者端末装置100が送信した匿名履歴情報630を受信する。
匿名履歴受信部831は、CPU911などの処理装置を用いて、受信した匿名履歴情報630を出力する。
サービス情報選択工程において、サービス情報選択部833は、CPU911などの処理装置を用いて、履歴受信工程で匿名履歴受信部831が出力した匿名履歴情報630を入力する。
サービス情報選択部833は、CPU911などの処理装置を用いて、入力した匿名履歴情報630を分析して、利用者が購入したことがある商品などのサービス利用履歴を取得する。
サービス情報選択部833は、CPU911などの処理装置を用いて、取得したサービス利用履歴に基づいて、サービス情報記憶部832が記憶したサービス情報のなかから、その利用者にとって有用そうな情報を選択する。
サービス情報選択部833は、CPU911などの処理装置を用いて、選択したサービス情報を出力する。
サービス情報送信工程において、サービス情報送信部834は、CPU911などの処理装置を用いて、サービス情報選択工程でサービス情報選択部833が出力したサービス情報を入力する。
サービス情報送信部834は、通信装置915を用いて、利用者端末装置100に対して、入力したサービス情報を送信する。
サービス情報受信工程において、利用者端末装置100は、通信装置915を用いて、サービス情報送信工程でサービス情報送信部834が送信したサービス情報を受信する。
サービス情報表示工程において、利用者端末装置100は、表示装置901を用いて、サービス情報受信工程で受信したサービス情報を表示する。
図33は、この実施の形態における履歴サービス提供システム800において、サービス提供装置810と利用者端末装置100とがやり取りする情報の一例を示す図である。
サービス提供装置810の利用記録記憶部823は、図29に示したサービス利用記録情報群710を記憶しているものとする。
利用記録記憶部823は、「ID1」「ID2」「ID3」「ID4」「ID5」の5つのサービス利用記録情報711を記憶している。
利用者端末装置100の利用履歴記憶部121は、このうち「ID3」「ID5」のサービス利用記録情報711を、利用履歴情報610として記憶している。
すなわち、この2回のサービス利用記録は、この利用者端末装置100を所持している利用者のものである。しかし、サービス提供装置810は、そのことを知らない。
記録識別送信部824は、利用記録記憶部823が記憶したサービス利用記録情報群710に含まれるID番号712をすべて一覧にして、利用者端末装置100に対して送信する。この例では、記録識別送信部824が送信するID番号712の一覧は、「ID1」「ID2」「ID3」「ID4」「ID5」の5つのID番号712からなる。
記録識別受信部113は、記録識別送信部824が送信したID番号712の一覧を受信する。
記録識別選択部152は、記録識別受信部113が受信したID番号712の一覧のなかからID番号712を選択する。この例では、記録識別選択部152は、利用履歴記憶部121が記憶したサービス利用記録情報711に含まれるID番号712である「ID3」「ID5」を選択し、更に、それ以外のID番号712から「ID2」「ID4」を選択する。
選択識別送信部142は、記録識別選択部152が選択したID番号712のリストを、サービス提供装置810に対して送信する。この例では、選択識別送信部142が送信するID番号のリストは、「ID2」「ID3」「ID4」「ID5」の4つのID番号712からなる。
選択識別受信部825は、選択識別送信部142が送信したID番号712のリストを受信する。
図34は、この実施の形態における送信利用記録生成部826が生成する履歴生成用情報740の一例を示す図である。
送信利用記録生成部826が生成する履歴生成用情報740は、サービス情報群741と検証用情報群751とからなる。
サービス情報群741は、1以上のサービス記録情報742からなる。
サービス記録情報742は、利用記録記憶部823が記憶したサービス利用記録情報711に対応する情報である。サービス記録情報742は、利用記録記憶部823が記憶したサービス利用記録情報群710において、選択識別受信部825が受信したID番号712のリストに含まれるID番号712によって識別されるサービス利用記録情報711に基づいて、送信利用記録生成部826が生成する。
サービス記録情報742は、ID番号743と暗号化個別サービス情報群744とからなる。
ID番号743は、元のサービス利用記録情報711のID番号712である。
暗号化個別サービス情報群744は、元のサービス利用記録情報711のサービス利用記録714から生成した情報である。暗号化個別サービス情報群744は、暗号化変換情報群の一例である。
暗号化個別サービス情報群744は、1以上の暗号化個別サービス情報745からなる。
暗号化個別サービス情報745は、サービス利用記録714に含まれる商品コード、購入個数などを暗号化して生成した情報である。暗号化個別サービス情報745は、暗号化変換情報の一例である。
ここで、「E」は「暗号化」を意味し、「E(…)」は、暗号化の結果生成されたデータを示す。「E」の添え字は暗号化に用いた共通鍵を意味し、例えば「E」は、「共通鍵2」による暗号化を示す。
例えば、「E(商品A:2:4:3:15)」は、「商品A:2:4:3:15」というデータ(文字列)を、「共通鍵2」で暗号化して生成したデータを示す。
送信利用記録生成部826は、サービス利用記録情報711の共通鍵713で暗号化することにより、暗号化個別サービス情報745を生成する。
なお、暗号化個別サービス情報745をそれぞれ暗号化するのではなく、暗号化個別サービス情報群744全体を暗号化してもよい。
利用者端末装置100の利用履歴記憶部121は、サービス利用記録情報711のなかに共通鍵713を記憶しているので、利用者端末装置100は、自己の利用記録であるサービス利用記録情報711から生成したサービス記録情報742に含まれる暗号化個別サービス情報群744を復号して、商品コード、購入個数などを取得することができる。しかし、他の利用者の利用記録であるサービス利用記録情報711から生成したサービス記録情報742に含まれる暗号化個別サービス情報群744は、共通鍵がわからないので、復号することができない。
検証用情報群751は、1以上の検証用情報752からなる。
検証用情報752は、利用記録記憶部823が記憶したサービス利用記録情報711に対応する情報である。検証用情報752は、利用記録記憶部823が記憶したサービス利用記録情報群710において、選択識別受信部825が受信したID番号712のリストに含まれるID番号712によって識別されるサービス利用記録情報711に基づいて、送信利用記録生成部826が生成する。
検証用情報752は、サービス記録情報742と異なり、ID番号を含まない。したがって、検証用情報752がどのサービス利用記録情報711から生成したものであるか、検証用情報752を見ただけではわからない。
送信利用記録生成部826は、検証用情報752をランダムな順番に並べて、検証用情報群751を生成する。したがって、検証用情報752の順番から、どのサービス利用記録情報711から生成したものであるかを知ることもできない。
検証用情報752は、個別サービス情報検証用情報群753、個別サービス個数算出用情報群755からなる。
個別サービス情報検証用情報群753は、1以上の個別サービス情報検証用情報754からなる。
個別サービス情報検証用情報754は、サービス記録情報742が改竄されていないかを利用者端末装置100が検証するための情報である。
個別サービス情報検証用情報754は、元のサービス利用記録情報711のID番号712、サービス利用記録714に含まれる商品コード、購入個数などから生成したハッシュ値である。
ここで、「H」は「ハッシュ関数」を意味し、「H(…)」は、ハッシュ関数により算出したハッシュ値を示す。例えば、「H(ID3,C,0)」は、「ID3,C,0」というデータ(文字列)から算出したハッシュ値を示す。
この例では、ID番号、商品コード、購入個数を「,」で区切って連結した文字列をハッシュ関数の引数としている。
個別サービス情報検証用情報754は、送信利用記録生成部826が、商品の種別ごとに別々に生成する。この例では、商品の種別として、「商品A」「商品B」「商品C」「商品D」の4つがあるので、1つの個別サービス情報検証用情報群753は4つの個別サービス情報検証用情報754から構成される。元のサービス利用記録情報711のサービス利用記録714に、その商品を購入したことが記録されていない場合には、購入個数が「0」であるものとして、送信利用記録生成部826が個別サービス情報検証用情報754を生成する。
送信利用記録生成部826は、個別サービス情報検証用情報754をランダムな順番に並べて、個別サービス情報検証用情報群753を生成する。したがって、個別サービス情報検証用情報群753における個別サービス情報検証用情報754の位置から、その個別サービス情報検証用情報754がどの商品についてのものであるかを知ることはできない。
ただし、1つの検証用情報群751に含まれる個別サービス情報検証用情報群753において、送信利用記録生成部826は、同じ順番に個別サービス情報検証用情報754を並べて、個別サービス情報検証用情報群753を生成する。
個別サービス個数算出用情報群755は、他の利用者の利用記録であるサービス利用記録情報711について、共通鍵713を知らないために暗号化個別サービス情報群744を復号できない利用者端末装置100が、購入個数など利用したサービスの内容を取得できるように構成した情報である。個別サービス個数算出用情報群755は、個別サービス内容取得用情報群の一例である。
個別サービス個数算出用情報群755は、1以上の個別サービス個数算出用情報756からなる。
個別サービス個数算出用情報756は、送信利用記録生成部826がサービス利用記録情報711に基づいて、商品の種別ごとに生成する。この例では、商品の種別が4つあるので、1つの個別サービス個数算出用情報群755は、4つの個別サービス個数算出用情報756から構成される。個別サービス個数算出用情報756は、個別サービス内容取得用情報の一例である。
送信利用記録生成部826は、個別サービス個数算出用情報756をランダムな順番に並べて、個別サービス個数算出用情報群755を生成する。個別サービス個数算出用情報群755における個別サービス個数算出用情報756の順番と、個別サービス情報検証用情報群753における個別サービス情報検証用情報754の順番とは、無関係である。したがって、個別サービス個数算出用情報群755における個別サービス個数算出用情報756の位置から、その個別サービス個数算出用情報756がどの商品についてのものであるかを知ることはできない。
ただし、1つの検証用情報群751に含まれる個別サービス個数算出用情報群755において、送信利用記録生成部826は、同じ順番に個別サービス個数算出用情報756を並べて、個別サービス個数算出用情報群755を生成する。
次に、暗号化個別サービス情報745、個別サービス情報検証用情報754、個別サービス個数算出用情報756について詳しく説明する。
図35は、この実施の形態における送信利用記録生成部826が、暗号化個別サービス情報745、個別サービス情報検証用情報754、個別サービス個数算出用情報756を生成する生成方法を説明するための図である。
送信利用記録生成部826が、暗号化個別サービス情報745を生成するために共通鍵713で暗号化するデータは、商品コード715、購入個数716、検証用位置761、算出用位置762、算出用数値763からなる。
商品コード715は、元のサービス利用記録情報711のサービス利用記録714に含まれる商品コードである。
購入個数716は、元のサービス利用記録情報711のサービス利用記録714に含まれれる購入個数である。
検証用位置761は、その商品についての個別サービス情報検証用情報754が個別サービス情報検証用情報群753のなかのどこにあるかを示す情報である。この例では、商品Aについての個別サービス情報検証用情報754は、個別サービス情報検証用情報群753のなかの個別サービス情報検証用情報754のうち4番目に位置するので、検証用位置761は「4」である。
算出用位置762は、その商品についての個別サービス個数算出用情報756が個別サービス個数算出用情報群755のなかのどこにあるかを示す情報である。この例では、商品Aについての個別サービス個数算出用情報756は、個別サービス個数算出用情報群755のなかの個別サービス個数算出用情報756のうち3番目に位置するので、算出用位置762は「3」である。
算出用数値763は、個別サービス個数算出用情報756を算出するために用いる数値である。
検証用位置761及び算出用位置762及び算出用数値763は、サービス変換情報の一例である。また、算出用数値763は、サービス暗号鍵の一例である。
送信利用記録生成部826は、これらの情報を含むデータを、共通鍵713で暗号化して暗号化個別サービス情報745を生成する。
送信利用記録生成部826が、個別サービス情報検証用情報754を生成するための元となるデータは、ID番号712、商品コード715、購入個数716からなる。
送信利用記録生成部826は、ID番号712、商品コード715、購入個数716からなるデータのハッシュ値を算出して、個別サービス情報検証用情報754を生成する。
送信利用記録生成部826は、算出したハッシュ値(=個別サービス情報検証用情報754)に、購入個数716を加え、更に、算出用数値763を整数倍したものを加えて、個別サービス個数算出用情報756を生成する。
この例において、送信利用記録生成部826は、ID番号712「ID2」、商品コード715「商品A」、購入個数716「2」から、ハッシュ値「H(ID2,A,2)」を算出して、個別サービス情報検証用情報754とし、それに購入個数716「2」を加え、更に、算出用数値763「15」の5倍である「75」を加えて、個別サービス個数算出用情報756とする。
送信利用記録生成部826は、生成した個別サービス情報検証用情報754を、検証用位置761が示す位置に並べて、個別サービス情報検証用情報群753を生成する。同様に、送信利用記録生成部826は、生成した個別サービス個数算出用情報756を、算出用位置762が示す位置に並べて、個別サービス個数算出用情報群755を生成する。
次に、このようにして生成した履歴生成用情報740を、利用者端末装置100がどのように復元するかについて説明する。
図33において、選択識別送信部142は、4つのID番号712「ID2」「ID3」「ID4」「ID5」からなるリストを、サービス提供装置810に対して送信する。
サービス提供装置810では、選択識別受信部825がこれを受信し、送信利用記録生成部826がこれに対応する履歴生成用情報740を生成する。図34が生成された履歴生成用情報740である。利用記録送信部827が、利用者端末装置100に対して、履歴生成用情報740を送信する。
利用者端末装置100の利用記録受信部111が、通信装置915を用いて、履歴生成用情報740を受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した履歴生成用情報740に含まれるサービス情報群741のなかから、利用履歴記憶部121が記憶したサービス利用記録情報群710に含まれるID番号712と一致するID番号743を有するサービス記録情報742を抽出する。
この例において、利用記録受信部111は、「ID3」と「ID5」の2つのサービス記録情報742を抽出する。
利用記録受信部111は、CPU911などの処理装置を用いて、抽出したサービス記録情報742に含まれる暗号化個別サービス情報745を、対応する共通鍵713で復号し、元のデータを取得する。
この例において、利用記録受信部111は、「ID3」のサービス記録情報742から、「商品A:2:4:3:15」と「商品B:2:2:1:13」を取得し、「ID5」のサービス記録情報742から、「商品A:2:4:3:15」と「商品C:1:1:2:11」を取得する。
利用記録受信部111は、これに基づいて、「商品A」についての検証用位置761「4」、算出用位置762「3」、算出用数値763「15」を取得する。同様に、「商品B」についての検証用位置761「2」、算出用位置762「1」、算出用数値763「13」、「商品C」についての検証用位置761「1」、算出用位置762「2」、算出用数値763「11」を取得する。
利用記録受信部111は、「商品D」についての検証用位置761などは取得できない。利用者が「商品D」を購入したことがないので、「ID3」や「ID5」のサービス記録情報742には、「商品D」についての情報は含まれていない。「ID2」や「ID4」のサービス記録情報742には、「商品D」についての情報が含まれているが、利用履歴記憶部121が「ID2」や「ID4」に対応する共通鍵713を記憶していないので、復号することができない。
また、利用記録受信部111は、「ID3」のサービス記録情報742に基づいて、商品コード715「商品A」、購入個数716「2」を取得する。また、商品コード715「商品B」、購入個数716「2」を取得する。同様に、「ID5」のサービス記録情報742に基づいて、商品コード715「商品A」、購入個数716「2」、商品コード715「商品C」、購入個数716「1」を取得する。
信頼性判断部151は、CPU911などの処理装置を用いて、利用記録受信部111が取得した商品コード715及び購入個数716を、利用履歴記憶部121が記憶したサービス利用記録情報711と照合し、合っているかどうか検証する。合っていなければ、履歴生成用情報740が信頼できないと判断する。
信頼性判断部151は、更に詳しく検証するため、CPU911などの処理装置を用いて、ID番号743「ID3」、商品コード715「商品A」、購入個数716「2」をもとにハッシュ値「H(ID3,A,2)」を算出する。
検証用情報群751のなかで、検証用情報752はランダムな順番に並んでいるので、「ID3」についての検証用情報752がどれかはわからない。しかし、サービス記録情報742を解読した結果、「商品A」についての個別サービス情報検証用情報754は、個別サービス情報検証用情報群753のなかの4番目にあることがわかっている。
信頼性判断部151は、CPU911などの処理装置を用いて、検証用情報群751に含まれる検証用情報752のなかから、個別サービス情報検証用情報群753の4番目の個別サービス情報検証用情報754が、算出したハッシュ値「H(ID3,A,2)」と一致するものを検索する。
この例では、検証用情報群751のなかの1番目の検証用情報752が条件に合致する。
信頼性判断部151は、CPU911などの処理装置を用いて、これが「ID3」についての検証用情報752であるか、更に詳しく検証する。
信頼性判断部151は、CPU911などの処理装置を用いて、他の商品についてもハッシュ値を算出する。「商品B」については「H(ID3,B,2)」を、「商品C」については「H(ID3,C,0)」を算出する。なお、購入したことのない「商品D」については、商品コードが不明なので、信頼性判断部151はハッシュ値「H(ID3,D,0)」を算出することができない。
「商品B」についての個別サービス情報検証用情報754は、個別サービス情報検証用情報群753のなかの2番目にあることがわかっているので、信頼性判断部151は、CPU911などの処理装置を用いて、算出したハッシュ値「H(ID3,B,2)」と、2番目の個別サービス情報検証用情報754とを比較して、一致することを確認する。
「商品C」についても同様に、信頼性判断部151は、CPU911などの処理装置を用いて、算出したハッシュ値「H(ID3、C,0)」と、1番目の個別サービス情報検証用情報754とを比較して、一致することを確認する。
これで、この検証用情報752が「ID3」についてのものであることが確認できる。
「商品D」については、信頼性判断部151がサービス記録情報742から検証用位置761を取得できないので、個別サービス情報検証用情報754が個別サービス情報検証用情報群753のなかのどこにあるかわかっていない。また、信頼性判断部151は、ハッシュ値「H(ID3,D,0)」を算出することができないので、検証用情報群751を検索して「商品D」についての個別サービス情報検証用情報754の位置を知ることもできない。
なお、この例では、購入したことのない商品が1つだけなので、残る位置である3番目の個別サービス情報検証用情報754が「商品D」についてのものであることが特定できる。しかし、実際には、取り扱う商品の種類がもっと多いので、購入したことのない商品が1つだけであるという状況は極めて稀であり、信頼性判断部151は購入したことのない商品についての情報を知ることはできないといってよい。
「商品D」は購入したことのない商品であるから、信頼性判断部151は「商品D」についての情報を知らなくても履歴生成用情報740の信頼性を判断することができる。これにより、利用者端末装置100に知らせる必要のない情報が流出するのを防ぐことができる。
確認の途中で一致しないものがでてきた場合、信頼性判断部151は、CPU911などの処理装置を用いて、他に一致しそうな検証用情報752があればそれを検査し、なければ、暗号化記録情報640が信頼できないと判断する。
一方、利用記録受信部111は、暗号化個別サービス情報745を復号して取得した情報に基づいて、個別サービス個数算出用情報群755からサービス記録情報を取得する。
利用記録受信部111は、CPU911などの処理装置を用いて、検証用情報群751に含まれるすべての検証用情報752から、「商品A」についての個別サービス個数算出用情報756を取得する。暗号化個別サービス情報745の復号結果から、「商品A」についての個別サービス個数算出用情報756は、個別サービス個数算出用情報群755のなかの3番目にあることがわかっている。
また、利用記録受信部111は、CPU911などの処理装置を用いて、検証用情報群751に含まれるすべての検証用情報752から、「商品A」についての個別サービス情報検証用情報754を取得する。暗号化個別サービス情報745の復号結果から、「商品A」についての個別サービス情報検証用情報754は、個別サービス情報検証用情報群753のなかの4番目にあることがわかっている。
利用記録受信部111は、CPU911などの処理装置を用いて、取得した個別サービス個数算出用情報756から個別サービス情報検証用情報754を減算する。利用記録受信部111は、CPU911などの処理装置を用いて、更にその結果を、暗号化個別サービス情報745の復号結果から取得した算出用数値763「15」で割り、余りを求める。
この例では、例えば、1番目の検証用情報752であれば、個別サービス個数算出用情報756「H(ID3,A,2)+62」−個別サービス情報検証用情報754「H(ID3,A,2)」=「62」、「62÷15=4あまり2」である。これは、このサービス記録情報742において、「商品A」の購入個数が「2個」であることを示している。
1番目の検証用情報752は、「ID3」についてのものであるから、信頼性判断部151が、利用履歴記憶部121が記憶したサービス利用記録情報711と比較することにより、正しいか否か検証する。正しくないときは、履歴生成用情報740が信頼できないと判断する。
利用記録受信部111は、他の利用者の利用記録についても同様の演算により、購入個数を求めることができる。また、「商品B」「商品C」についても同様に、購入個数を求めることができる。
しかし、「商品D」については、商品コード715も算出用位置762も算出用数値763もわからないので、購入個数を求めることができない。
図36は、この実施の形態における利用記録受信部111が復号したサービス利用記録情報721の一例を示す図である。
この例は、利用記録受信部111が、図34に示した履歴生成用情報740を復号した場合を示している。
利用記録受信部111は、通信装置915を用いて、サービス提供装置810が送信してきた履歴生成用情報740を受信する。
利用記録受信部111が受信した履歴生成用情報740は、4つのID番号743「ID2」「ID3」「ID4」「ID5」についてのサービス記録情報742及び検証用情報752が含まれている。このうち、「ID3」と「ID5」についてのサービス利用記録情報711は、利用履歴記憶部121が記憶している。
利用記録受信部111は、CPU911などの処理装置を用いて、サービス情報群741のうち、ID番号743「ID3」と「ID5」についてのサービス記録情報742を、利用履歴記憶部121が記憶した共通鍵713で復号して、サービス利用記録724を取得する。
また、利用記録受信部111は、CPU911などの処理装置を用いて、「ID3」と「ID5」についてのサービス記録情報742を復号して取得した検証用位置761、算出用位置762、算出用数値763に基づいて、検証用情報群751に含まれるすべての検証用情報752を復号し、サービス利用記録724を取得する。
このとき、「ID3」についてのサービス記録情報742を復号して取得できる商品コード715、検証用位置761、算出用位置762、算出用数値763は、「商品A」及び「商品B」についてのものである。また、「ID5」についてのサービス記録情報742を復号して取得できるのは、「商品A」及び「商品C」についてのものである。したがって、「商品D」についての商品コード715、検証用位置761、算出用位置762、算出用数値763は得られていない。
したがって、利用記録受信部111は、検証用情報群751に基づいて、購入したことのない商品が1つあることは判別できるものの、その商品の商品コードが「商品D」であることは判別できず、「商品D」についてのサービス利用記録724も復号できない。
しかし、匿名履歴判別部130が生成する匿名履歴情報630に、購入したことのない「商品D」についての情報が含まれることはないので、匿名履歴判別部130は「商品D」についての情報の匿名性を判断する必要はない。したがって、匿名履歴判別部130は、「商品D」についての情報を知らなくても、判断する必要のある情報の匿名性を判断することができる。
また、検証用情報752には、ID番号743から算出したハッシュ値が含まれているが、ID番号そのものの情報は含まれていないので、利用記録受信部111は、他の利用者の検証用情報752について、どのID番号の検証用情報752であるかを知ることができない。
しかし、匿名履歴判別部130は、情報の匿名性を判断するために他の利用者が購入した商品についての情報を利用するが、その商品を購入した利用者が誰であるかを知る必要はないので、他の利用者のID番号743を知らなくても、判断する必要のある情報の匿名性を判断することができる。
したがって、利用記録受信部111は、信頼性判断部151が履歴生成用情報740の信頼性を判断するために必要な情報と、匿名履歴判別部130が情報の匿名性を判断するために必要な情報のみを取得し、それ以外の情報は取得できない。
これにより、利用者端末装置100に知らせる必要のない情報が流出するのを防ぐことができる。
このようにして取得したサービス利用記録情報721について、信頼性判断部151は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶したサービス利用記録情報711と比較することにより、履歴生成用情報740が信頼できるか否かを判断する。
また、履歴生成用情報740が信頼できると信頼性判断部151が判断した場合、サービス利用記録情報721に基づいて、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用者特定率を算出し、利用履歴記憶部121が記憶したサービス利用記録情報群710のなかから、利用者特定率が低いと判断した情報を判別して、匿名履歴判別部130を生成し、出力する。
この例において、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用履歴記憶部121が記憶したサービス利用記録情報群710を入力する。
利用履歴記憶部121が記憶したサービス利用記録情報群710によれば、利用者が「商品Aを2個」購入したことがあるので、匿名履歴判別部130は、この情報をサービス提供装置810に送信した場合の利用者特定率を算出する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、利用記録受信部111が出力したサービス利用記録情報721を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力したサービス利用記録情報721に基づいて、「商品Aを購入した」ことの記録がいくつあるか数える。この例では、「商品Aを購入した」記録は、3つある。
また、匿名履歴判別部130は、CPU911などの処理装置を用いて、入力したサービス利用記録情報721に基づいて、商品Aを「2個」購入したことの記録がいくつあるか数える。この例では、「商品Aを2個購入した」記録は、3つある。
このように、匿名履歴判別部130は、単に「購入したことがある」記録と、「購入した個数が同じ」記録の双方を数える。
同様に、利用履歴記憶部121が記憶したサービス利用記録情報群710によれば、「商品B」は利用者が「2個」購入したことがあり、「商品C」は利用者が「1個」購入したことがあるので、匿名履歴判別部130は、CPU911などの処理装置を用いて、「商品Bを購入した」記録、「商品Bを2個購入した」記録、「商品Cを購入した」記録、「商品Cを1個購入した」記録を算出する。
「(利用者特定率)=1/(利用回数)×100」であるから、匿名履歴判別部130は、CPU911などの処理装置を用いて、それぞれの利用者特定率を算出する。
この例において、匿名履歴判別部130は、「商品Aを購入したことがある」という情報の利用者特定率は「33.3%」、「商品Aを2個購入したことがある」という情報の利用者特定率は「33.3%」、「商品Bを購入したことがある」という情報の利用者特定率は「100%」、「商品Bを2個購入したことがある」という情報の利用者特定率は「100%」、「商品Cを購入したことがある」という情報の利用者特定率は「33.3%」、「商品Cを1個購入したことがある」という情報の利用者特定率は「50%」であると算出する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、算出した利用者特定率と、記憶した利用者特定率設定情報が示す値とを比較して、その情報の匿名性が高いか否かを判断する。例えば、利用者特定率設定情報が「50%」である場合、匿名履歴判別部130は、利用者特定率が「50%」より低い場合に、その情報の匿名性が高いと判断する。
この例では、匿名履歴判別部130は、「商品Aを購入したことがある」「商品Aを2個購入したことがある」「商品Cを購入したことがある」という情報は匿名性が高いと判断する。また、「商品Bを購入したことがある」「商品Bを2個購入したことがある」「商品Cを1個購入したことがある」という情報は匿名性が低いと判断する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名性が高いと判断した情報からなる匿名履歴情報630を生成する。
この例において、匿名履歴判別部130が生成する匿名履歴情報630は、「商品Aを2個購入したことがある」こと及び「商品Cを購入したことがある」ことを示す情報を含む。
しかし、匿名履歴判別部130は、匿名性が低いと判断した情報は、匿名履歴情報630に含めない。
この例において、匿名履歴判別部130が生成する匿名履歴情報630は、「商品Bを購入したことがある」こと及び「商品Cを1個購入したことがある」ことを示す情報を含まない。
なお、この例では、「その商品を購入したことがある」「その商品を購入した個数」という2段階の情報について利用者特定率を算出し、匿名性を判断しているが、どちらか一方だけでもよい。
また、2段階の情報のうち、概略的な情報(「その商品を購入したことがある」)の匿名性が低い(利用者特定率が閾値以上)場合、詳細な情報(「その商品を購入した個数」)にはその上位概念である概略的な情報が含まれる(「商品Cを1個購入したことがある」という情報には「商品Cを購入したことがある」という情報が含まれる)ので、詳細な情報の利用者特定率を算出するまでもなく、詳細な情報の匿名性は低い。
そこで、匿名履歴判別部130は、CPU911などの処理装置を用いて、概略的な情報の匿名性を判断し、匿名性が高い場合のみ、詳細な情報の匿名性を判断することとしてもよい。
また、匿名履歴判別部130は、CPU911などの処理装置を用いて、詳細な情報の利用者特定率が閾値よりも低いと判断した場合でも、一定の確率で匿名性が低いと判断するよう構成してもよい。
これは、詳細な情報の利用者特定率が閾値よりも低い場合に、詳細な情報をサービス提供装置810に対して必ず送信するよう構成すると、概略的な情報だけ送信して、詳細な情報を送信しなかった場合に、サービス提供装置810に利用者を特定する手がかりを与えてしまう場合があるからである。
例えば、「商品Aを購入したことがある」利用者がたくさんいて、ほとんどの人が「2個購入」しているのに対して、一人だけ「1個購入」したことがある場合、「商品Aを購入したことがある」という概略的な情報も、「商品Aを2個購入したことがある」という詳細な情報も、利用者特定率が低い。
利用者特定率が低い場合に必ず送信する構成だと、この例で「商品Aを購入したことがある」という情報しか送信しなければ、サービス提供装置810には「商品Aを2個購入したことがある」のではないということがわかる。したがって、「商品Aを1個購入したことがある」という利用者特定率の高い情報は、サービス提供装置810に送信していないが、サービス提供装置810に知られてしまうことになる。
詳細な情報について利用者特定率が低い場合でも、一定の確率で匿名性が低いと判断し、サービス提供装置810に対して送信しない構成とすれば、「商品Aを購入したことがある」という情報しか送信しなくても、サービス提供装置810から見ると「商品Aを2個購入したことがある」かもしれず、送信していない利用者特定率の高い情報を、サービス提供装置810に知られてしまうのを防ぐことができる。
この実施の形態におけるサービス提供装置810(サーバ装置)は、
情報を記憶する磁気ディスク装置920などの記憶装置と、
情報を処理するCPU911などの処理装置と、
利用したサービス内容を記録した利用履歴情報を記憶する複数の利用者端末装置100(端末装置)と通信する通信装置915と、
磁気ディスク装置920などの記憶装置を用いて、利用されたサービス内容を記憶したサービス利用記録情報711(利用記録情報)と、サービス利用記録情報711を識別するID番号712(記録識別情報)とを複数記憶する利用記録記憶部823と、
CPU911などの処理装置を用いて、利用記録記憶部823が記憶したID番号712を入力し、CPU911などの処理装置を用いて、入力したID番号712のリストを生成し、通信装置915を用いて、利用者端末装置100に対して、生成したID番号712のリストを送信する記録識別送信部824と、
通信装置915を用いて、利用者端末装置100から、記録識別送信部824が送信したID番号712のリストのなかから、利用者端末装置100が選択した複数のID番号712を受信し、CPU911などの処理装置を用いて、受信したID番号712を出力する選択識別受信部825と、
CPU911などの処理装置を用いて、選択識別受信部825が出力した複数の上記ID番号712を入力し、CPU911などの処理装置を用いて、入力した複数のID番号712によって識別される複数のサービス利用記録情報711を入力し、CPU911などの処理装置を用いて、入力した複数のサービス利用記録情報711に基づいて、利用者端末装置100に対して送信する履歴生成用情報740(送信利用記録情報)を生成し、CPU911などの処理装置を用いて、生成した履歴生成用情報740を出力する送信利用記録生成部826と、
CPU911などの処理装置を用いて、送信利用記録生成部826が出力した履歴生成用情報740を入力し、通信装置915を用いて、利用者端末装置100に対して、入力した履歴生成用情報740を送信する利用記録送信部827と、
通信装置915を用いて、利用者端末装置100が記憶したサービス利用記録情報711(利用履歴情報)のうち、利用記録送信部827が送信した履歴生成用情報740に基づいて、匿名性が高いと利用者端末装置100が判別した情報を、通信装置915から受信し、CPU911などの処理装置を用いて、受信した情報を匿名履歴情報630として出力する匿名履歴受信部831と、
磁気ディスク装置920などの記憶装置を用いて、利用者端末装置100に対して提供すべきサービス情報を記憶するサービス情報選択部833と、
CPU911などの処理装置を用いて、匿名履歴受信部831が出力した匿名履歴情報630を入力し、CPU911などの処理装置を用いて、サービス情報記憶部832が記憶したサービス情報のなかから、入力した匿名履歴情報630に基づいて、利用者端末装置100にとって有用な情報を選択し、CPU911などの処理装置を用いて、選択したサービス情報を出力するサービス情報選択部833とを有することを特徴とする。
この実施の形態におけるサービス提供装置810によれば、匿名性が高いと利用者端末装置100が判別した情報だけを受信し、受信した情報に基づいて、履歴サービスを提供するので、利用者を特定されることを心配せず、安心して利用できる履歴サービスを提供することができるという効果を奏する。
この実施の形態における履歴生成用情報740(送信利用記録情報)のデータ構造は、
複数の商品(サービス種別)のうち少なくともいずれかの商品を購入(サービス種別に属するサービス内容を利用)したことを記録したサービス利用記録情報群710(複数の利用記録情報)に基づいて生成する履歴生成用情報740のデータ構造において、
履歴生成用情報740は、サービス情報群741と検証用情報群751とを有し、
サービス情報群741は、複数のサービス利用記録情報711(利用記録情報)それぞれについてのサービス記録情報742を複数並べたリストであり、
サービス記録情報742は、サービス利用記録情報711を識別するID番号712と、暗号化個別サービス情報群744(暗号化変換情報群)とを有し、
暗号化個別サービス情報群744は、サービス利用記録情報711が記録した購入商品(サービス内容が属するサービス種別)それぞれについての暗号化個別サービス情報745(暗号化変換情報)を並べたリストであり、
暗号化個別サービス情報745は、商品に対応する検証用位置761・算出用位置762・算出用数値763(サービス変換情報)を、商品を購入(サービス内容を利用)した際に通知した共通鍵713(履歴暗号鍵)で暗号化した情報であり、
検証用情報群751は、複数のサービス利用記録情報711それぞれについての検証用情報752をランダムな順番で並べたリストであり、
検証用情報752は、個別サービス情報検証用情報群753と個別サービス個数算出用情報群755(個別サービス内容取得用情報群)とを有し、
個別サービス情報検証用情報群753は、複数の商品それぞれについての個別サービス情報検証用情報754を、検証用位置761(サービス変換情報)が示すランダムな第一の順番で並べたリストであり、
個別サービス情報検証用情報754は、サービス利用記録情報711を識別するID番号712とサービス利用記録情報711が記録した商品コード715・購入個数716(サービス内容)とから生成したハッシュ値であり、
個別サービス個数算出用情報群755は、複数の商品それぞれについての個別サービス個数算出用情報756(個別サービス内容取得用情報)を、算出用位置762(サービス変換情報)が示すランダムな第二の順番で並べたリストであり、
個別サービス個数算出用情報756は、サービス利用記録情報711が記録した購入個数716(サービス内容)を個別サービス情報検証用情報754に基づいて変換し、算出用数値763(サービス変換情報に含まれるサービス暗号鍵)で暗号化した情報であることを特徴とする。
この実施の形態における履歴生成用情報740のデータ構造によれば、履歴生成用情報740を受信した利用者端末装置100が、サービスを利用した際に通知された共通鍵713により、暗号化個別サービス情報745を復号し、符号した暗号化個別サービス情報745に含まれる検証用位置761・算出用位置762・算出用数値763に基づいて、検証用情報752に含まれる商品コード715・購入個数716などの情報を復元できるので、利用履歴記憶部121が記憶したサービス利用記録情報711と比較することで、情報の改変がないかを検証することができるという効果を奏する。
また、検証用情報752に含まれる情報のうち、利用したことのないサービス種別についての情報は復元できないので、利用者端末装置100は、他の利用者の利用記録については、検証及び匿名性の判断に必要な情報だけを取得し、不必要な情報の拡散を防ぐことができるという効果を奏する。
この実施の形態における履歴サービス提供システム800によれば、利用者が履歴を送信する前に、予め店舗から履歴に関する情報を入手し、それらの情報を用いて、利用者は自身が店舗によって特定されない購入情報から購入履歴を作成し店舗に送信することによって、利用者はプライバシーを保護された状態で且つ匿名で履歴サービスを利用できる。
また、利用者が店舗から入手する履歴に関する情報量は利用者によって制御できるため、利用者の携帯端末の性能に応じて最適な情報量を調整可能である。
また、利用者は、店舗から入手する履歴に関する情報のうちいずれかを検証可能であるが、店舗は利用者が検証する情報を特定できないため、店舗が情報を都合の良い値に改竄することを防止できる。
また、店舗から入手する履歴に関する情報のうち利用者が知ることができる情報は、利用者自身が過去に購入した商品に関する情報のみであり、他の利用者の購入情報は保護される。
また、利用者の携帯端末と店舗のサーバ間の通信データは暗号化されているため、第三者の盗聴を防止できる。
実施の形態9.
実施の形態9について、図37〜図41を用いて説明する。
図37は、この実施の形態における履歴サービス提供システム800の全体構成及びハードウェア構成の一例を示すシステム構成図である。
なお、実施の形態1で説明した履歴サービス提供システム800と共通する部分については、同一の符号を付し、ここでは説明を省略する。
履歴サービス提供システム800は、更に、ID管理装置850を有する。
ID管理装置850は、例えば、サーバ装置である。
ID管理装置850のハードウェア構成は、サービス提供装置810と同様である。
ID管理装置850は、通信装置915を用いて、利用者端末装置100と通信する。また、ID管理装置850は、通信装置915を用いて、サービス提供装置810と通信する。
ID管理装置850は、利用者の匿名IDを管理する。
利用者端末装置100が情報の匿名性を正確に判断するには、十分な数のサービス利用記録情報721に基づいて、利用者特定率を算出する必要がある。しかし、利用者端末装置100は、例えば、携帯電話などであり、CPU911などの処理装置の処理能力や、通信装置915の通信性能などによる制約により、十分な数のサービス利用記録情報721を処理することができない場合がある。
この実施の形態の履歴サービス提供システム800は、信頼できるID管理装置850が利用者特定率を算出することにより、利用者端末装置100の処理能力にかかわらず、正確に情報の匿名性を判断するものである。
図38は、この実施の形態における利用者端末装置100及びID管理装置850の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態4で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
また、サービス提供装置810の機能ブロックの構成は、実施の形態8で説明したものと同様なので、ここでは説明を省略する。
利用者端末装置100は、利用履歴受信部112、利用履歴記憶部121、匿名履歴判別部130、匿名履歴送信部141、信頼性判断部151、識別生成要求送信部161、生成識別受信部163、記録識別送信部164、利用者用履歴受信部172を有する。
識別生成要求送信部161は、利用者端末装置100を所持した利用者がサービス提供装置810のある店舗に来店するなどして、サービス提供装置810との通信を確立する必要が生じた場合に、通信装置915を用いて、ID管理装置850に対して、匿名ID(記録識別情報)の生成を要求する情報(以下「識別生成要求情報」という)を送信する。
生成識別受信部163は、識別生成要求送信部161が送信した識別生成要求情報に対する応答として、ID管理装置850が送信してきた匿名IDを、通信装置915を用いて受信する。
生成識別受信部163は、CPU911などの処理装置を用いて、受信した匿名IDを出力する。
記録識別送信部164は、CPU911などの処理装置を用いて、生成識別受信部163が出力した匿名IDを入力する。
記録識別送信部164は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名IDを送信し、匿名IDによる通信を確立する。
利用者用履歴受信部172は、通信装置915を用いて、ID管理装置850が送信してきた利用者用履歴情報を受信する。
利用者用履歴受信部172は、CPU911などの処理装置を用いて、受信した利用者用履歴情報を出力する。
利用者用履歴情報とは、利用者特定率を示す利用者特定率情報と、利用者端末装置100を所持している利用者についての履歴生成用情報740とを含む情報である。
利用者用履歴情報は、ID管理装置850がサービス提供装置810から受信した履歴生成用情報740に基づいて生成する。
信頼性判断部151は、CPU911などの処理装置を用いて、利用者用履歴受信部172が出力した利用者用履歴情報と、利用履歴記憶部121が記憶したサービス利用記録情報711とを入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用者用利k例情報に含まれるサービス利用記録情報721と、入力したサービス利用記録情報711とを比較して、一致するか否かを判断する。一致すると判断した場合には、履歴生成用情報740が信頼できると判断し、一致しないと判断した場合には、履歴生成用情報740が信頼できないと判断する。
匿名履歴判別部130は、履歴生成用情報740が信頼できると信頼性判断部151が判断した場合に、CPU911などの処理装置を用いて、利用者用履歴受信部172が出力した利用者用履歴情報を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用者用履歴情報に含まれる利用者特定率情報に基づいて、情報の匿名性を判断し、匿名履歴情報630を生成して、出力する。
ID管理装置850は、利用記録受信部111、記録識別受信部113、記録識別選択部152、選択識別送信部142、識別生成要求受信部861、記録識別生成部862、生成識別送信部863、記録識別記憶部864、利用者用履歴生成部871、利用者用履歴送信部872を有する。
利用記録受信部111、記録識別受信部113、記録識別選択部152、選択識別送信部142は、実施の形態4で利用者端末装置100の機能ブロックであったものと同様である。
識別生成要求受信部861は、通信装置915を用いて、利用者端末装置100が送信してきた識別生成要求情報を受信する。
記録識別生成部862は、識別生成要求受信部861が識別生成要求情報を受信した場合に、CPU911などの処理装置を用いて、匿名IDを生成する。記録識別生成部862は、CPU911などの処理装置を用いて、記録識別記憶部864が記憶した匿名IDに基づいて、匿名IDが衝突しないように新しい匿名IDを生成する。
記録識別生成部862は、CPU911などの処理装置を用いて、生成した匿名IDを出力する。
生成識別送信部863は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDを入力する。
生成識別送信部863は、通信装置915を用いて、利用者端末装置100に対して、入力した匿名IDを送信する。
記録識別記憶部864は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDを入力する。
記録識別記憶部864は、磁気ディスク装置920などの記憶装置を用いて、入力した匿名IDを、利用者端末装置100の実名IDと関連づけて記憶する。
これにより、ID管理装置850は、複数の匿名IDが同一の利用者のものであるか、異なる利用者のものであるかを判別できる。その代わり、ID管理装置850は、その匿名IDを有する利用者が利用したサービスについての情報は持っていない。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、利用記録受信部111が受信した履歴生成用情報740(暗号化記録情報640)と、記録識別記憶部864が記憶した匿名IDとを入力する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、入力した履歴生成用情報740に基づいて、利用者特定率を算出する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、入力した履歴生成用情報740のうち、利用者端末装置100を所持している利用者についての履歴生成用情報740を抽出する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、算出した利用者特定率を示す利用者特定率情報と、抽出した履歴生成用情報740とを含む利用者用履歴情報を生成する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、生成した利用者用履歴情報を出力する。
利用者用履歴送信部872は、CPU911などの処理装置を用いて、利用者用履歴生成部871が出力した利用者用履歴情報を入力する。
利用者用履歴送信部872は、通信装置915を用いて、利用者端末装置100に対して、生成した利用者用履歴情報を送信する。
次に、動作について説明する。
この実施の形態における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れは、実施の形態8で図30を用いて説明したものと同様なので、ここでは説明を省略する。
図39は、この実施の形態における履歴サービス提供システム800が、利用者端末装置100とサービス提供装置810との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図である。
T11において、サービス提供装置810が利用者の来店を検知すると、サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、証明書記憶部842が記憶した公開鍵証明書を送信する。
以下T14まで、実施の形態8で説明したのと同様の手順により、利用者端末装置100とサービス提供装置810とは共有鍵を共有し、この共有鍵によって暗号化した通信が確立する。以後、通信切断まで、この共有鍵により暗号化した通信により、利用者端末装置100とサービス提供装置810との間の通信が行われる。
次に、利用者端末装置100とID管理装置850との間の通信を確立する。
T21において、利用者端末装置100とID管理装置850との間では、相互認証を行い、共通鍵による通信を確立する。
例えば、利用者端末装置100は、通信装置915を用いて、ID管理装置850に対して、公開鍵証明書の送付を要求する情報を送信する。
ID管理装置850は、CPU911などの処理装置を用いて、磁気ディスク装置920などの記憶装置が記憶したID管理装置850の公開鍵証明書を読み出し、通信装置915を用いて、利用者端末装置100に対して、送信する。
利用者端末装置100は、通信装置915を用いて、ID管理装置850が送信してきた公開鍵証明書を受信し、CPU911などの処理装置を用いて、受信した公開鍵証明書の内容を確認して、ID管理装置850を認証する。
利用者端末装置100は、CPU911などの処理装置を用いて、メモリなどの記憶装置が記憶した利用者端末装置100の公開鍵証明書を読み出し、ID管理装置850の公開鍵で暗号化し、通信装置915を用いて、ID管理装置850に対して送信する。
ID管理装置850は、通信装置915を用いて、利用者端末装置100が送信してきた暗号化された公開鍵証明書を受信し、CPU911などの処理装置を用いて、ID管理装置850の秘密鍵で復号した上で、内容を確認し、利用者端末装置100を認証する。
その後、利用者端末装置100及びID管理装置850は、今回の通信に用いる共通鍵の素を生成し、相手の公開鍵で暗号化して、送信する。利用者端末装置100及びID管理装置850は、受信した共通鍵の素を自身の秘密鍵で復号し、自身が生成した共通鍵の素と合成して、今回の通信に用いる共通鍵を生成する。
このようにして、利用者端末装置100とID管理装置850とは、互いに相手を特定して、通信を確立する。利用者端末装置100を特定できる情報である利用者端末装置100の公開鍵証明書は、ID管理装置850の公開鍵で暗号化して送信するので、サービス提供装置810が傍受しても、利用者端末装置100を特定されることはない。
以後、利用者端末装置100とID管理装置850との間の通信は、この手順によって共有した共通鍵によって暗号化する。したがって、これをサービス提供装置810が傍受しても、内容を知ることはできない。
なお、通信確立処理における認証方式・共通鍵共有方式は、「ISO/IEC 11770−3 Key Transport Mechanism 6」に記載の方式など、一般的な方式を用いてもよい。
T22において、利用者端末装置100の識別生成要求送信部161は、CPU911などの処理装置を用いて、識別生成要求情報を生成する。識別生成要求送信部161は、通信装置915を用いて、ID管理装置850に対して、生成した識別生成要求情報を送信する。
ID管理装置850の識別生成要求受信部861は、通信装置915を用いて、利用者端末装置100が送信してきた識別生成要求情報を受信する。
ID管理装置850の記録識別生成部862は、CPU911などの処理装置を用いて、匿名IDをランダムに生成する。
記録識別生成部862は、CPU911などの処理装置を用いて、生成した匿名IDと、記録識別記憶部864が記憶した匿名IDとが衝突しているか否かを判断する。
衝突している場合、記録識別生成部862は、CPU911などの処理装置を用いて、匿名IDの生成をやり直し、衝突しない匿名IDを生成するまで繰り返す。
衝突していない場合、記録識別生成部862は、CPU911などの処理装置を用いて、生成した匿名IDを出力する。
ID管理装置850の記録識別記憶部864は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDを入力する。
記録識別記憶部864は、磁気ディスク装置920などの記憶装置を用いて、入力した匿名IDを、利用者端末装置100を識別する情報(例えば、実名ID)と関連づけて記憶する。
ID管理装置850の生成識別送信部863は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDを入力する。
生成識別送信部863は、通信装置915を用いて、利用者端末装置100に対して、入力した匿名IDを送信する。
利用者端末装置100の生成識別受信部163は、通信装置915を用いて、ID管理装置850が送信してきた匿名IDを受信する。
生成識別受信部163は、CPU911などの処理装置を用いて、受信した匿名IDを出力する。
記録識別送信部164は、CPU911などの処理装置を用いて、生成識別受信部163が出力した匿名IDを入力する。
記録識別送信部164は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名IDを送信する。
ID管理装置850は、すべての匿名IDを管理している。利用者端末装置100がサービス提供装置810に対して送信する匿名IDは、衝突がないことを確認済なので、これにより、利用者端末装置100とサービス提供装置810との間で、匿名IDにより識別される通信が確立する。
なお、実施の形態8で説明したように、利用者端末装置100が匿名IDを生成して、匿名IDを決定してもよい。その場合、決定された匿名IDを利用者端末装置100がID管理装置850に対して送信し、ID管理装置850が記憶する。
サービス提供装置810とID管理装置850との間でも、相互認証・共有鍵共有の手順により、通信を確立する。
こうして、利用者端末装置100、サービス提供装置810、ID管理装置850の三者は、それぞれ一対一の通信を確立する。それぞれの一対一通信は、暗号化されていて、残りの一者を含む他者はその内容を知ることができない。
以下、それぞれの一対一通信で用いられる共通鍵を区別するため、利用者端末装置100とサービス提供装置810との間の共通鍵を「共通鍵US」、利用者端末装置100とID管理装置850との間の共通鍵を「共通鍵UI」、サービス提供装置810とID管理装置850との間の共通鍵を「共通鍵IS」と呼ぶ。
図40は、この実施の形態における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
匿名ID一覧送信工程において、サービス提供装置810の記録識別送信部824は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶しているサービス利用記録情報群710に含まれるすべてのID番号712を入力する。
記録識別送信部824は、CPU911などの処理装置を用いて、入力したID番号712の一覧を作成する。
記録識別送信部824は、通信装置915を用いて、ID管理装置850に対して、作成したID番号712の一覧を送信する。
また、記録識別送信部824は、通信装置915を用いて、ID管理装置850に対して、利用者端末装置100の匿名IDを、ID番号712の一覧とともに送信する。
匿名ID一覧受信工程において、記録識別受信部113は、通信装置915を用いて、匿名ID一覧送信処理でサービス提供装置810が送信したID番号712の一覧と利用者端末装置100の匿名IDとを受信する。
記録識別受信部113は、CPU911などの処理装置を用いて、受信したID番号712の一覧と利用者端末装置100の匿名IDとを出力する。
匿名ID選択工程において、記録識別選択部152は、CPU911などの処理装置を用いて、匿名ID一覧受信工程で記録識別受信部113が出力したID番号712の一覧と利用者端末装置100の匿名IDとを入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうちから、記録識別記憶部864が記憶した匿名IDと一致するID番号712を抽出し、実在ID番号とする。
記録識別選択部152は、CPU911などの処理装置を用いて、記録識別記憶部864が記憶した匿名IDに基づいて、入力した匿名IDと同一の利用者の匿名IDを判別する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうち、判別した匿名IDと同一のID番号712(履歴識別情報614)をすべて選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、抽出した実在ID番号のうちから、更に、それ以外のID番号712を十分な数選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、選択したID番号712のリストを出力する。
匿名IDサブセット送信工程において、選択識別送信部142は、CPU911などの処理装置を用いて、匿名ID選択工程で記録識別選択部152が出力したID番号712のリストを入力する。
選択識別送信部142は、通信装置915を用いて、サービス提供装置810に対して、入力したID番号712のリストを送信する。
匿名IDサブセット受信工程において、選択識別受信部825は、通信装置915を用いて、匿名IDサブセット送信工程で選択識別送信部142が送信したID番号712のリストを受信する。
選択識別受信部825は、CPU911などの処理装置を用いて、受信したID番号712のリストを出力する。
履歴生成用情報作成工程において、送信利用記録生成部826は、CPU911などの処理装置を用いて、匿名IDサブセット受信工程で選択識別受信部825が出力したID番号712のリストを入力する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、入力したID番号712それぞれについて、利用記録記憶部823が記憶したサービス利用記録情報711を入力する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、入力したサービス利用記録情報711から履歴生成用情報740を作成する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、作成した履歴生成用情報740を出力する。
履歴生成用情報送信工程において、利用記録送信部827は、CPU911などの処理装置を用いて、履歴生成用情報作成工程で送信利用記録生成部826が作成した送信利用記録情報を入力する。
利用記録送信部827は、通信装置915を用いて、ID管理装置850に対して、入力した送信利用記録情報を送信する。
履歴生成用情報受信工程において、利用記録受信部111は、通信装置915を用いて、履歴生成用情報送信工程で利用記録送信部827が送信した履歴生成用情報740(暗号化記録情報640)を受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した送信利用記録情報からサービス利用記録情報721(利用記録情報620)を取得する。
利用記録受信部111は、CPU911などの処理装置を用いて、取得したサービス利用記録情報721を出力する。
利用者用履歴生成工程において、利用者用履歴生成部871は、CPU911などの処理装置を用いて、履歴生成用情報受信工程で利用記録受信部111が出力したサービス利用記録情報721と、記録識別記憶部864が記憶した匿名IDとを入力する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、入力したサービス利用記録情報721に基づいて、個々の商品について利用者特定率を算出する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、入力したサービス利用記録情報721のなかから、利用者端末装置100を所持している利用者についてのサービス利用記録情報721を抽出する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、算出した利用者特定率を示す利用者特定率情報と、抽出したサービス利用記録情報721とを含む利用者用履歴情報を生成する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、生成した利用者用履歴情報を出力する。
利用者用履歴送信工程において、利用者用履歴送信部872は、利用者用履歴生成工程で利用者用履歴生成部871が出力した利用者用履歴情報を入力する。
利用者用履歴送信部872は、通信装置915を用いて、利用者端末装置100に対して、入力した利用者用履歴情報を送信する。
利用者用履歴情報は、ID管理装置850が利用者端末装置100に対して直接送信してもよいし、サービス提供装置810を経由して送信してもよい。サービス提供装置810を経由して送信する場合であっても、利用者用履歴情報は、ID管理装置850と利用者端末装置100との間で共有している共有鍵で暗号化されているので、サービス提供装置810に内容を知られることはないし、サービス提供装置810に内容を改竄されることもない。
利用者用履歴受信工程において、利用者用履歴受信部172は、通信装置915を用いて、利用者用履歴送信工程で利用者用履歴送信部872が送信してきた利用者用履歴情報を受信する。
利用者用履歴受信部172は、CPU911などの処理装置を用いて、受信した利用者用履歴情報を出力する。
履歴生成用情報検証工程において、信頼性判断部151は、CPU911などの処理装置を用いて、利用者用履歴受信部172が出力した利用者用履歴情報を入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用者用履歴情報に含まれるサービス利用記録情報721が改竄されていないかを検証する。
サービス利用記録情報721が改竄されていないと、信頼性判断部151が判断した場合は、履歴生成工程を実行する。
履歴生成工程において、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用者用履歴受信部172が出力した利用者用履歴情報を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用者用履歴情報に含まれる利用者特定率情報が示す利用者特定率と、利用者特定率設定情報が示す閾値とを比較して、その商品についての情報の匿名性を判断する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名性が高いと判断した商品についての情報から、匿名履歴情報630を生成する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、生成した匿名履歴情報630を出力する。
以下の処理の流れは、実施の形態8で説明したものと同様なので、説明を省略する。
サービス提供装置810が生成する履歴生成用情報740に含まれる情報のうち、その利用者についてのサービス利用記録情報721は、履歴生成用情報740が信頼できるか否かを検証するために使用し、他の利用者についてのサービス利用記録情報721は、利用者特定率を算出し、匿名性を判断するために使用する。
この実施の形態における履歴サービス提供システム800では、ID管理装置850が利用者特定率を算出するので、利用者端末装置100は、他の利用者についてのサービス利用記録情報721を処理する必要がない。
一方、ID管理装置850は、サービス利用記録情報711を記憶していないので、信頼性を検証することができない。
そこで、ID管理装置850は、その利用者についてのサービス利用記録情報721だけを利用者端末装置100に対して送信し、利用者端末装置100が信頼性を検証する。
図41は、この実施の形態における送信利用記録生成部826が生成する履歴生成用情報740及び利用者用履歴生成部871が生成する利用者用履歴情報780の一例を示す図である。
履歴生成用情報740は、サービス種別情報群771とサービス情報群741とからなる。
サービス種別情報群771は、1以上の暗号化サービス種別情報772からなる。
暗号化サービス種別情報772は、送信利用記録生成部826が、CPU911などの処理装置を用いて、サービスの種別を示す情報(この例では、商品コード)を、利用者端末装置100とサービス提供装置810との間で今回の通信に使用している共通鍵USで暗号化して生成した情報である。
サービス種別情報群771は、送信利用記録生成部826が、CPU911などの処理装置を用いて、暗号化サービス種別情報772をランダムな順番に並べて生成する。
これにより、ID管理装置850は、履歴生成用情報740から、利用されたサービスの種別を知ることができない。
サービス情報群741は、1以上のサービス記録情報742からなる。
サービス記録情報742は、利用記録記憶部823が記録したサービス利用記録情報711に対応する情報である。サービス記録情報742は、利用記録記憶部823が記憶したサービス利用記録情報群710において、選択識別受信部825が受信したID番号712のリストに含まれるID番号712によって識別されるサービス利用記録情報711に基づいて、送信利用記録生成部826が生成する。
サービス記録情報742は、ID番号743と個別サービス情報群746とからなる。
ID番号743は、元のサービス利用記録情報711のID番号712である。
個別サービス情報群746は、元のサービス利用記録情報711のサービス利用記録714から生成した情報である。
個別サービス情報群746は、1以上の個別サービス情報747からなる。
個別サービス情報747は、利用されたサービスの内容を示す情報(この例では、購入個数)である。
個別サービス情報群746は、送信利用記録生成部826が、CPU911などの処理装置を用いて、個別サービス情報747を、サービス種別情報群771における暗号化サービス種別情報772と同じ順番に並べて生成する。
これにより、ID管理装置850は、どの個別サービス情報747がどの暗号化サービス種別情報772に対応するものであるかを知ることができる。
送信利用記録生成部826が生成した履歴生成用情報740は、利用記録送信部827がID管理装置850に対して送信し、ID管理装置850の利用記録受信部111が受信する。利用記録受信部111は、受信した履歴生成用情報740を出力し、利用者用履歴生成部871が入力する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、記録識別記憶部864が記憶した匿名IDを入力する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、入力した匿名IDから、利用者端末装置100の利用者の匿名IDを判別し、判別した匿名IDと一致するID番号743を有するサービス記録情報742を、入力したサービス記録情報742から抽出する。
この例において、利用者用履歴生成部871は、「ID3」と「ID5」のサービス記録情報742を抽出する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、抽出したサービス記録情報742に基づいて、個別サービス情報747が示す購入個数がすべて「0」である商品(購入したことがない商品)を判別する。利用者用履歴生成部871は、CPU911などの処理装置を用いて、判別した商品以外の商品(購入したことがある)について、利用者特定率を算出する。
この例において、利用者用履歴生成部871は、3番目の商品以外の商品について、利用者特定率を算出する。
利用者用履歴生成部871が生成する利用者用履歴情報780は、サービス種別情報群771、サービス情報群741、利用者特定率情報群781からなる。
サービス種別情報群771は、送信利用記録生成部826が生成した履歴生成用情報740に含まれるサービス種別情報群771から、利用者用履歴生成部871が、購入したことがないと判別した商品についての暗号化サービス情報を除いて生成する。
サービス情報群741は、送信利用記録生成部826が生成した履歴生成用情報740に含まれるサービス情報群741のサービス記録情報742のうちから、利用者用履歴生成部871が、その利用者についてのサービス記録情報742だけを抽出し、更に、購入したことがないと判別した商品についての個別サービス情報747を除いて生成する。
利用者特定率情報群781は、利用者用履歴生成部871が算出した利用者特定率を示す利用者特定率情報782を、利用者用履歴生成部871が、サービス種別情報群771における暗号化サービス種別情報772と同じ順序に並べて生成する。
なお、この例では、「その商品を購入したことがある」という情報の利用者特定率を算出しているが、購入個数も含めた情報の利用者特定率を算出してもよい。
また、利用者特定率ではなく、利用回数を算出してもよい。
利用者用履歴生成部871が生成した利用者用履歴情報780は、利用者用履歴送信部872が利用者端末装置100に対して送信し、利用者端末装置100の利用者用履歴受信部172が受信する。
利用者用履歴受信部172は、CPU911などの処理装置を用いて、利用者用履歴情報780のサービス種別情報群771を、共通鍵USで復号して、商品コードを取得する。
利用者用履歴受信部172は、CPU911などの処理装置を用いて、復号した商品コードを含む利用者用履歴情報780を出力する。
信頼性判断部151は、CPU911などの処理装置を用いて、利用者用履歴受信部172が出力した利用者用履歴情報780と、利用履歴記憶部121が記憶したサービス利用記録情報711とを入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、利用者用履歴情報780が示す利用したサービス内容と、サービス利用記録情報711が示す利用したサービス内容とを比較し、一致するか否かを判断する。
一致すると判断した場合、信頼性判断部151は、ID管理装置850が受信した履歴生成用情報740が信頼できると判断する。
一致しないと判断した場合、信頼性判断部151は、ID管理装置850が受信した履歴生成用情報740が信頼できないと判断する。
履歴生成用情報740が信頼できると信頼性判断部151が判断した場合、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用者用履歴受信部172が出力した利用者用履歴情報780を入力する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、入力した利用者用履歴情報780が示す利用者特定率に基づいて、対応する商品を購入したことがあることを示す情報の匿名性を判断する。
匿名履歴判別部130は、匿名性が高いと判断した情報から、匿名履歴情報630を生成し、出力する。
このように、利用者端末装置100は、ID管理装置850が算出した利用者特定率に基づいて、情報の匿名性を判断するので、CPU911などの処理装置の処理能力や通信装置915の通信能力が低い場合でも、情報の匿名性を正確に判断することができる。
利用者端末装置100は、例えば携帯電話であり、ID管理装置850は、例えばサーバ装置であるから、一般にID管理装置850のほうが利用者端末装置100よりもCPU911などの処理装置の処理能力、通信装置915の通信能力が高く、より多くのサービス利用記録に基づいて、利用者特定率を算出できるからである。
利用者端末装置100が匿名性が高いと判断した情報から生成した匿名履歴情報630をサービス提供装置810に対して送信して、履歴サービスを利用するので、サービス提供装置810は、利用者を特定することができない。
一方、ID管理装置850は、利用者を特定することができ、その利用者のサービス利用記録情報711のつながりを把握している。
しかし、ID管理装置850は、サービス利用記録情報711のID番号712の間のつながりを知っているが、サービス利用記録情報711の内容は知らないので、利用者が利用したサービス内容の全貌を、ID管理装置850が知ることはない。
ID管理装置850は、利用者特定率を算出するため、サービス利用記録情報711の内容の一部(この例では、購入個数)を取得するが、それに対応する商品コードを復号できないので、その利用者が「何を」購入したのかはわからない。
このように、サービス利用記録の具体的内容はサービス提供装置810が記憶し、サービス利用記録のつながりだけをID管理装置850が記憶するので、情報が分散される。万が一、ID管理装置850が記憶している情報が漏洩したとしても、その情報だけでは利用者がどのようなサービスを利用したか知ることはできず、利用者の個人情報を保護できる。
この実施の形態における履歴サービス提供システム800によれば、利用者端末装置100が有するCPU911などの処理装置の処理能力や通信装置915の通信能力が低い場合でも、ID管理装置850が利用者特定率を算出するので、情報の匿名性を正確に判断することができ、サービス提供装置810に利用者を特定されにくくすることができるという効果を奏する。
なお、この例では、ID管理装置850が利用者特定率を算出しているが、ID管理装置850とは別に利用者特定率算出装置を設け、利用者特定率算出装置が利用者特定率を算出する構成としてもよい。
また、匿名IDの管理は、利用者端末装置100がそれぞれ行うこととしてID管理装置850をなくし、利用者特定率算出装置が、利用者特定率の算出を代行する処理だけを行う構成としてもよい。
この実施の形態における履歴サービス提供システム800によれば、サービス種別(この例では、商品コード)を暗号化して、ID管理装置850が知ることができないようにすることにより、ID管理装置850がサービス利用記録の全貌を把握できないようにしているので、万が一情報が漏洩した場合でも、利用者の個人情報を保護することができるという効果を奏する。
また、この実施の形態における履歴サービス提供システム800は、サービス提供装置810が嘘の履歴生成用情報740により利用者端末装置100を欺き、利用者を特定できる情報を収集しようとするのを防ぐため、ID管理装置850が、サービス提供装置810から取得した履歴生成用情報740のうちから、利用者端末装置100が記憶したサービス利用記録情報711と照合することにより、履歴生成用情報740の信頼性を判断できるサービス記録情報742だけを抽出し、利用者端末装置100に対して送信する。
これにより、利用者端末装置100が受信する利用者用履歴情報780は、ID管理装置850がサービス提供装置810から受信する履歴生成用情報740よりも、はるかに少ない情報量となるので、利用者端末装置100の通信装置915の通信能力が低くても、履歴生成用情報740の信頼性を判断することができる。
また、サービス提供装置810は、ID管理装置850がどのサービス記録情報742を抽出したか判別できないので、利用者を特定できない。更に、サービス提供装置810は、どのサービス記録情報742が信頼性の判断に用いられるか判別できないので、サービス記録情報742を改竄して、利用者端末装置100を欺くことができない。
更に、サービス提供装置810は、架空の匿名IDを生成し、架空のサービス記録情報742により、利用者端末装置100を欺こうとする可能性がある。架空の匿名IDであれば、それを検証できる利用者端末装置100が存在しないので、都合のよい内容をもつサービス記録情報742を生成しても、利用者端末装置100の信頼性判断部150によって、履歴生成用情報740が信頼できないと判断されることはないからである。
この実施の形態におけるID管理装置850は、記録識別受信部113が受信したID番号712の一覧のうちから、記録識別選択部152が、記録識別記憶部864が記憶した匿名IDに基づいて、実在するID番号を抽出し、そのなかから履歴生成用情報740を生成するためのID番号を選択するので、サービス提供装置810が送信してきたID番号712の一覧のなかに架空のID番号が含まれている場合でも、履歴生成用情報740には、実在するID番号に対応するサービス記録情報742しか含まれない。
したがって、ID管理装置850は、架空のサービス記録情報742によって、サービス提供装置810が意図する誤った利用者特定率を算出することはなく、利用者特定率を正しく算出する。これにより、サービス提供装置810は、架空のサービス記録情報742により、利用者端末装置100を騙すこともできない。
この実施の形態における履歴サービス提供システム800によれば、利用者が履歴を送信する前に、予めID管理装置850を仲介することによって店舗から履歴に関する情報を入手し、それら情報を用いて、利用者は自身が店舗によって特定されない購入情報から購入履歴を作成し店舗に送信することによって、利用者はプライバシーを保護された状態で且つ匿名で履歴サービスを利用できる。
また、店舗から入手する履歴に関する情報量はID管理装置850によって制御できるため、ID管理装置850や利用者端末装置100の性能に応じて最適な情報量を調整可能である。
また、利用者端末装置100は、店舗から入手する履歴に関する情報のいずれかを検証可能であるが、店舗は利用者が検証する情報を特定できないため、店舗が情報を都合の良い値に改竄することを防止できる。
また、店舗から入手する履歴に関する情報のうちID管理装置850が知ることができる情報は、商品の個数に関する情報のみであり、商品を特定する商品コードは保護される。
また、店舗は、ID管理装置850から匿名IDや利用者特定率を含んだ情報を中継する場合であっても、情報は暗号化されているため、店舗はこれらの情報を閲覧して利用者を特定することはできない。
また、利用者端末装置100と店舗のサービス提供装置810間、利用者端末装置100とID管理装置850間、店舗のサービス提供装置810とID管理装置850間の通信データは暗号化されているため、第三者の盗聴を防止できる。
実施の形態10.
実施の形態10について、図42〜図43を用いて説明する。
この実施の形態における履歴サービス提供システム800の全体構成、利用者端末装置100及びサービス提供装置810のハードウェア構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
また、この実施の形態におけるサービス提供装置810の機能ブロックの構成は、実施の形態8で説明したものと同様なので、ここでは説明を省略する。
図42は、この実施の形態における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態4で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
利用者端末装置100は、更に、利用履歴入力部181、種別識別判別部182、種別識別記憶部183を有する。
利用履歴入力部181は、キーボード902などの入力装置を用いて、利用者が利用したサービスの種別・内容を示す情報を入力する。
ここで、利用者が利用したサービスの種別とは、例えば、利用者が今回購入した商品のことである。また、利用者が利用したサービスの内容とは、例えば、利用者が今回購入した商品の個数のことである。
利用履歴入力部181は、CPU911などの処理装置を用いて、入力したサービスの種別・内容を示す情報を出力する。
種別識別判別部182は、CPU911などの処理装置を用いて、利用履歴入力部181が出力したサービスの種別・内容を示す情報と、利用履歴受信部112が出力した利用履歴情報610とを入力する。
種別識別判別部182は、CPU911などの処理装置を用いて、入力した利用履歴情報610と、入力したサービスの種別・内容を示す情報とを照合し、利用履歴情報610に含まれる商品コード611などのサービスの種別を示す情報(以下「種別識別情報」という)が、実際にどのサービス種別に対応するかを判別する。
種別識別判別部182は、CPU911などの処理装置を用いて、種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを出力する。
種別識別記憶部183は、CPU911などの処理装置を用いて、種別識別判別部182が出力した種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを入力する。
種別識別記憶部183は、CPU911などの処理装置を用いて、入力した種別識別情報と、その種別識別情報が示すサービスの種別との対応関係が、既に記憶している対応関係と矛盾しないか判断する。
矛盾がないと判断した場合、種別識別記憶部183は、メモリなどの記憶装置を用いて、種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを記憶する。
矛盾があると判断した場合、種別識別記憶部183は、メモリなどの記憶装置を用いて、種別識別情報と、その種別識別情報が示すサービスの種別を示す情報とを記憶し、更に、その種別識別情報が信頼できないことを示す情報を記憶する。
例えば、利用者が同じサービスを以前に利用したことがある場合、種別識別記憶部183は、そのサービス種別についての種別識別情報を既に記憶している。種別識別記憶部183は、種別識別判別部182が出力した種別識別情報と、既に記憶している種別識別情報とが一致するか否かを判断する。一致しない場合、種別識別記憶部183は、矛盾があると判断する。
また、逆に、種別識別判別部182が出力した種別識別情報と一致する種別識別情報を、種別識別記憶部183が既に記憶している場合、種別識別記憶部183は、対応するサービス種別が一致するか否かを判断する。一致しない場合、種別識別記憶部183は、矛盾があると判断する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名性を判断しようとしている情報の種別識別情報について、種別識別記憶部183が記憶した情報に基づいて、その種別識別情報が信頼できるか否かを判断する。すなわち、種別識別記憶部183が、その種別識別情報が信頼できないことを示す情報を記憶しているか否かを判断する。
その種別識別情報が信頼できないと判断した場合、匿名履歴判別部130は、CPU911などの処理装置を用いて、その種別識別情報にかかわる情報は匿名性が低いと判断する。
商品コード611などの種別識別情報として、サービス提供装置810が独自に生成した非公開の情報を用いる場合、利用者端末装置100は、種別識別情報をあらかじめ知ることができない。
そのため、サービス提供装置810が種別識別情報に何らかの細工をして、利用者を特定しようとする可能性がある。例えば、同じサービスに複数の種別識別情報を割り当てて、利用者を絞り込む手がかりにすることができる可能性がある。
この実施の形態の利用者端末装置100は、サービスを利用した際に、利用者が実際に利用したサービスについての情報を入力し、種別識別情報に何らかの細工がされていないかを検証するものである。
図43は、この実施の形態における利用者端末装置100が種別識別情報に矛盾がないか判定する種別識別判定処理の流れの一例を示すフローチャート図である。
T31において、利用履歴受信部112は、通信装置915を用いて、サービス提供装置810が送信してきた利用履歴情報610を受信する。
利用履歴受信部112は、CPU911などの処理装置を用いて、受信した利用履歴情報610を出力する。
T32において、利用履歴入力部181は、キーボード902などの入力装置を用いて、利用者が利用したサービスの種別・内容を示す情報を入力する。
例えば、利用履歴入力部181は、表示装置901を用いて、利用者に入力を促すメッセージを表示し、利用者がキーボード902などの入力装置を操作した操作内容に基づいて、利用者が利用したサービスの種別・内容を示す情報を入力する。
利用履歴入力部181は、CPU911などの処理装置を用いて、入力したサービスの種別・内容を示す情報を出力する。
T33において、種別識別判別部182は、CPU911などの処理装置を用いて、T31で利用履歴受信部112が出力した利用履歴情報610を入力する。
また、種別識別判別部182は、CPU911などの処理装置を用いて、T32で利用履歴入力部181が出力したサービスの種別・内容を示す情報を入力する。
種別識別判別部182は、CPU911などの処理装置を用いて、入力した利用履歴情報610と、入力したサービスの種別・内容を示す情報とを照合し、利用履歴情報610に含まれる商品コード611などの種別識別情報と、その種別識別情報が示すサービス種別との対応関係を判別する。
種別識別判別部182は、CPU911などの処理装置を用いて、種別識別情報とその種別識別情報が示すサービス種別との対応関係を示す情報を出力する。
例えば、利用者が商品「XYZ」を1個購入した場合、利用履歴入力部181は、商品名「XYZ」と、購入個数「1個」とを入力する。
利用履歴受信部112が受信した利用履歴情報610には、商品コード「商品A」と購入個数「1」を示す情報が含まれている。
種別識別判別部182は、CPU911などの処理装置を用いて、この情報を照合し、商品コード「商品A」が示す商品の商品名が「XYZ」であることを判別する。
このように、種別識別判別部182は、利用したサービスの内容が一致する場合に、種別識別情報と、入力したサービス種別とを結びつけ、対応関係を判別する。
また、利用者が商品「PQR」を2個、商品「UVW」を3個購入した場合には、利用履歴入力部181は、商品名「PQR」及び商品名「UVW」と、それぞれの購入個数とを入力する。
利用履歴受信部112が受信した利用履歴情報610には、商品コード「商品B」と購入個数「2」、商品コード「商品C」と購入個数「3」を示す情報が含まれている。
種別識別判別部182は、CPU911などの処理装置を用いて、この情報を照合し、商品コード「商品B」が示す商品の商品名が「PQR」であり、商品コード「商品C」が示す商品の商品名が「UVW」であることを判別する。
このように、1回のサービス利用に際して、複数の種別のサービスを利用した場合、種別識別判別部182は、利用したサービスの内容が一致するものを結びつけ、対応関係を判別する。
T34において、種別識別記憶部183は、CPU911などの処理装置を用いて、T33で種別識別判別部182が出力した種別識別情報とその種別識別情報が示すサービス種別との対応関係を示す情報(以下「種別識別対応情報」という)を入力する。
種別識別記憶部183は、CPU911などの処理装置を用いて、既に記憶している種別識別対応情報のなかから、種別識別情報あるいはサービス種別のいずれかが、入力した種別識別対応情報と一致する種別識別対応情報を検索する。
検索の結果、種別識別情報かサービス種別のどちらかが入力した種別識別対応情報と一致する情報が見つからない場合、種別識別記憶部183は、CPU911などの処理装置を用いて、入力した種別識別対応情報が示す対応関係に矛盾がないと判断する。
検索の結果、種別識別情報かサービス種別のどちらかが入力した種別識別対応情報と一致する情報が見つかった場合、種別識別記憶部183は、CPU911などの処理装置を用いて、種別識別情報およびサービス種別の双方が一致するか否かを判断する。
検索の結果見つけた種別識別対応情報のなかに、種別識別情報かサービス種別のどちらか一方は入力した種別識別対応情報と一致するが、他方は一致しない種別識別対応情報があると判断した場合、種別識別記憶部183は、CPU911などの処理装置を用いて、対応関係に矛盾があると判断する。
検索の結果見つかったすべての種別識別対応情報について、種別識別情報及びサービス種別の双方が入力した種別識別対応情報と一致すると判断した場合、種別識別記憶部183は、CPU911などの処理装置を用いて、対応関係に矛盾がないと判断する。
対応関係に矛盾がないと判断した場合、T35へ進む。
対応関係に矛盾があると判断した場合、T36へ進む。
なお、検索の結果見つかった種別識別対応情報のいずれかに信頼できないことを示す情報が付加されている場合、種別識別記憶部183は、CPU911などの処理装置を用いて、対応関係に矛盾があると判断することとしてもよい。
T35において、種別識別記憶部183は、メモリなどの記憶装置を用いて、入力した種別識別対応情報を記憶する。
その後、種別識別判定処理を終了する。
T36において、種別識別記憶部183は、CPU911などの処理装置を用いて、入力した種別識別対応情報に、それが信頼できないことを示す情報を付加し、メモリなどの記憶装置を用いて記憶する。
また、種別識別記憶部183は、CPU911などの処理装置を用いて、T33で検索の結果見つけた種別識別対応情報にも、それが信頼できないことを示す情報を付加し、メモリなどの記憶装置を用いて記憶する。
その後、種別識別判定処理を終了する。
サービス提供装置810が種別識別情報になんらかの細工をしている場合、サービス提供装置810から送られてきた種別識別情報と、実際に利用者が利用したサービス種別との対応関係が一致しないことがある。そこで、利用者端末装置100は、種別識別判定処理により、対応関係が常に一致するかを判定する。
対応関係が一致しないことを発見した場合、サービス提供装置810が種別識別情報になんらかの細工をしている可能性があるので、その種別識別情報を含む情報は、匿名性が低い可能性がある。
そこで、情報の匿名性を判断するに際し、匿名履歴判別部130は、CPU911などの処理装置を用いて、種別識別記憶部183が記憶した種別識別対応情報のなかから、匿名性を判断したい情報に含まれる種別識別情報についての種別識別対応情報を検索する。
匿名履歴判別部130は、CPU911などの処理装置を用いて、検索の結果見つかった種別識別対応情報のなかに、信頼できないことを示す情報が付加されたものがあるか否かを判断する。
信頼できないことを示す情報が付加された種別識別対応情報がある場合、匿名履歴判別部130は、CPU911などの処理装置を用いて、匿名性が低いと判断する。
信頼できないことを示す情報が付加された種別識別対応情報がない場合、匿名履歴判別部130は、CPU911などの処理装置を用いて、利用者特定率を算出するなどして、通常どおり匿名性を判断する。
この実施の形態における利用者端末装置100(端末装置)は、更に、
CPU911などの処理装置を用いて、利用履歴受信部112が出力した利用履歴情報610を入力し、CPU911などの処理装置を用いて、入力した利用履歴情報610から、利用者が利用したサービスの種別を識別する種別識別情報を取得し、CPU911などの処理装置を用いて、取得した種別識別情報と、実際に利用者が利用したサービス種別との対応関係を判別し、CPU911などの処理装置を用いて、判別した対応関係を示す情報を出力する種別識別判別部182と、
CPU911などの処理装置を用いて、種別識別判別部182が出力した対応関係を示す情報を、種別識別対応情報として入力し、CPU911などの処理装置を用いて、記憶した種別識別対応情報のなかから、入力した種別識別対応情報が示す種別識別情報と一致する種別識別情報についての種別識別対応情報と、入力した種別識別対応情報が示すサービス種別と一致するサービス種別についての種別識別対応情報とを検索し、CPU911などの処理装置を用いて、検索した種別識別対応情報が示す対応関係と、入力した種別識別対応情報が示す対応関係とを比較して、対応関係が一致しないものがあるか否かを判断し、CPU911などの処理装置を用いて、対応関係が一致しないものがないと判断した場合、メモリなどの記憶装置を用いて、入力した種別識別対応情報を記憶し、CPU911などの処理装置を用いて、対応関係が一致しないものがあると判断した場合、入力した種別識別対応情報に、信頼できないことを示す情報を付加し、メモリなどの記憶装置を用いて、信頼できないことを示す情報を付加した種別識別対応情報を記憶する種別識別記憶部183とを有し、
匿名履歴判別部130は、更に、
CPU911などの処理装置を用いて、入力した利用履歴情報610から、種別識別情報を取得し、CPU911などの処理装置を用いて、種別識別記憶部183が記憶した種別識別対応情報のなかから、取得した種別識別情報についての種別識別対応情報を検索し、CPU911などの処理装置を用いて、検索した種別識別対応情報に、信頼できないことを示す情報が付加されているか否かを判断し、CPU911などの処理装置を用いて、信頼できないことを示す情報が付加されている場合、入力した利用履歴情報610は利用者が特定されやすいと判断することを特徴とする。
この実施の形態における利用者端末装置100によれば、利用履歴受信部112が受信した利用履歴情報610に含まれる商品コードなどの種別識別情報と、利用者が実際に利用したサービスの種別(例えば、購入した商品)との対応関係を、種別識別判別部182が判別し、種別識別記憶部183が、過去の記録と比較して、対応関係に矛盾がないか判断し、対応関係に矛盾がある場合には、匿名履歴判別部130が、その種別識別情報を含む情報の匿名性が低いと判断するので、サービス提供装置810が種別識別情報に細工をして、利用者を特定する手がかりにしようとした場合、細工された種別識別情報を含む情報を、サービス提供装置810に送信せず、サービス提供装置810が利用者を特定する手がかりを得ることができないという効果を奏する。
実施の形態11.
実施の形態11について、図44〜図47を用いて説明する。
図44は、この実施の形態における履歴サービス提供システム800の全体構成及びハードウェア構成の一例を示すシステム構成図である。
なお、実施の形態1で説明した履歴サービス提供システム800と共通する部分については、同一の符号を付し、ここでは説明を省略する。
履歴サービス提供システム800は、更に、ID署名装置880を有する。
ID署名装置880は、例えば、信頼できる第三者機関が有するサーバ装置である。
ID署名装置880のハードウェア構成は、サービス提供装置810と同様である。
ID署名装置880は、通信装置915を用いて、利用者端末装置100と通信する。
ID署名装置880は、利用者端末装置100が生成した匿名IDに署名を付し、サービス提供装置810が捏造した架空の匿名IDでないことを保証する。
この実施の形態は、実施の形態9の構成にあるID管理装置850がない構成でも、サービス提供装置810が架空の匿名IDにより利用者端末装置100を騙すことができないようにしたものである。
図45は、この実施の形態における利用者端末装置100及びID署名装置880の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態4で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
また、サービス提供装置810の機能ブロックの構成は、実施の形態8で説明したものと同様なので、ここでは説明を省略する。
ID署名装置880(識別署名装置ともいう)は、署名要求受信部881、署名生成部882、署名送信部883を有する。
署名要求受信部881は、通信装置915を用いて、利用者端末装置100が送信してきた署名要求情報(識別署名要求情報)を受信する。
署名要求情報は、署名してほしい情報(以下「署名対象情報」という)を含む。利用者端末装置100は、署名対象情報として匿名ID(あるいは、匿名IDを変換した情報)を含む署名要求情報を、ID署名装置880に対して送信する。
署名要求受信部881は、CPU911などの処理装置を用いて、受信した署名要求情報から署名対象情報を取得し、取得した署名対象情報を出力する。
署名生成部882は、CPU911などの処理装置を用いて、署名要求受信部881が出力した署名対象情報を入力する。
署名生成部882は、CPU911などの処理装置を用いて、入力した署名対象情報を、ID署名装置880の秘密鍵で暗号化して、電子署名情報を生成する。
署名生成部882は、CPU911などの処理装置を用いて、生成した電子署名情報を出力する。
署名送信部883は、CPU911などの処理装置を用いて、署名生成部882が出力した電子署名情報を入力する。
署名送信部883は、通信装置915を用いて、利用者端末装置100に対して、入力した電子署名情報を送信する。
ID署名装置880の公開鍵は公開されており、署名送信部883が送信した電子署名情報は、公開されたID署名装置880の公開鍵を用いて、誰でも復号することができる。復号して得た情報と、元の署名対象情報とを比較することにより、署名対象情報が改竄されているか否かを、誰でも判断できる。
利用者端末装置100は、更に、記録識別生成部862、識別署名要求送信部191、識別署名受信部192、記録識別送信部164、署名検証部193を有する。
記録識別生成部862は、CPU911などの処理装置を用いて、匿名IDを生成する。
記録識別生成部862は、CPU911などの処理装置を用いて、生成した匿名IDを出力する。
識別署名要求送信部191は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDを入力する。
識別署名要求送信部191は、CPU911などの処理装置を用いて、入力した匿名IDを変換する。
識別署名要求送信部191は、通信装置915を用いて、ID署名装置880に対して、匿名IDを変換した情報を含む署名要求情報(以下「識別署名要求情報」という)を送信する。
識別署名受信部192は、通信装置915を用いて、ID署名装置880が送信してきた電子署名情報を受信する。
識別署名受信部192は、CPU911などの処理装置を用いて、受信した電子署名情報を変換して、匿名IDについての電子署名情報(以下「識別署名情報」という)を取得する。
識別署名受信部192は、CPU911などの処理装置を用いて、取得した識別署名情報を出力する。
利用者端末装置100とID署名装置880との間の通信は、相互認証を行うため、ID署名装置880は、利用者端末装置100を特定できる。
利用者端末装置100がID署名装置880に対して、署名してほしい匿名IDをそのまま送信すると、ID署名装置880のなかに、利用者端末装置100と匿名IDとの対応関係が残ってしまう可能性がある。
そこで、この実施の形態では、ブラインド署名方式により、ID署名装置880に署名してもらう。
ブラインド署名方式とは、署名してほしい情報の内容を、署名する装置(この場合はID署名装置880)に知らせることなく、署名をしてもらう電子署名方式のことである。
すなわち、署名してほしい情報(匿名ID)を変換した情報を署名対象情報として、ID署名装置880に送信し、署名してもらう。このとき、ID署名装置880は、署名してほしい情報を変換した変換式を知らないので、署名してほしい情報を復元することはできず、ID署名装置880に署名してほしい情報を知られることはない。
利用者端末装置100は、ID署名装置880が署名した電子署名情報を受信し、署名してほしい情報を変換したのと逆の変換をする。これにより、利用者端末装置100は、署名してほしい情報に、ID署名装置880が直接署名した場合と同じ情報を取得することができる。
記録識別送信部164は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDと、識別署名受信部192が出力した識別署名情報とを入力する。
記録識別送信部164は、CPU911などの処理装置を用いて、入力した匿名IDに、入力した識別署名情報を付加した情報(以下「署名付き匿名ID」という)を生成する。
記録識別送信部164は、通信装置915を用いて、サービス提供装置810に対して、生成した署名付き匿名IDを送信する。
以後の処理では、署名付き匿名IDを匿名ID・ID番号として使用する。
例えば、記録識別受信部113が受信するID番号712(匿名ID)の一覧は、署名付き匿名IDの一覧となる。
署名検証部193は、CPU911などの処理装置を用いて、記録識別受信部113が受信した署名付き匿名IDの一覧を入力する。
署名検証部193は、CPU911などの処理装置を用いて、入力した署名付き匿名IDの一覧に含まれるすべての署名付き匿名IDについて署名を検証し、匿名IDが捏造・改竄されていないか判断する。
すなわち、署名検証部193は、CPU911などの処理装置を用いて、署名付き匿名IDから、匿名IDと識別署名情報とを取得する。
署名検証部193は、CPU911などの処理装置を用いて、取得した識別署名情報を、ID署名装置880の公開鍵で復号する。
署名検証部193は、CPU911などの処理装置を用いて、取得した匿名IDと、復号して得た情報とを比較して、一致するか否かを判断する。
一致すると判断した場合、署名検証部193は、CPU911などの処理装置を用いて、その匿名IDが捏造・改竄されたものではないと判断する。
一致しないと判断した場合、署名検証部193は、CPU911などの処理装置を用いて、その匿名IDが捏造・改竄されたものであると判断する。
署名検証部193は、CPU911などの処理装置を用いて、捏造・改竄されていないと判断した匿名ID(ID番号)の一覧を生成し、生成したID番号の一覧を出力する。
記録識別選択部152は、CPU911などの処理装置を用いて、署名検証部193が出力したID番号の一覧を入力し、入力したID番号の一覧から、ID番号を選択する。
この実施の形態では、サービス提供装置810が架空の匿名IDを捏造して、利用者端末装置100を騙そうとする場合、捏造した匿名IDに識別署名情報を付加する必要がある。
しかし、サービス提供装置810は、ID署名装置880の秘密鍵を知らないので、捏造した匿名IDについての識別署名情報を生成できない。
署名検証部193が署名を検証し、捏造されたものではないと判断した匿名IDのなかから、記録識別選択部152がID番号を選択するので、架空の匿名IDについての架空の利用記録情報がサービス提供装置810から送られてくることはなく、匿名履歴判別部130は、騙されることなく、情報の匿名性を正しく判断できる。
図46は、この実施の形態における履歴サービス提供システム800が、利用者端末装置100とサービス提供装置810との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図である。
なお、実施の形態8において図31で説明した通信確立処理と共通する工程については、同一の符号を付し、説明を省略する。
T41において、記録識別生成部862は、CPU911などの処理装置を用いて、今回のサービス利用を識別する匿名IDを生成する。
記録識別生成部862は、CPU911などの処理装置を用いて、生成した匿名IDを出力する。
T41で生成した匿名IDは、他の匿名IDと衝突している可能性があるので、仮の匿名IDである。
T42において、記録識別送信部164は、CPU911などの処理装置を用いて、T41で記録識別生成部862が出力した匿名IDを入力する。
記録識別送信部164は、通信装置915を用いて、サービス提供装置810に対して、入力した匿名IDを送信する。
この段階では、まだ仮の匿名IDなので署名はつけず、匿名IDだけを送信する。
T16において、サービス提供装置810は、通信装置915を用いて、T42で利用者端末装置100の記録識別送信部164が送信してきた匿名IDを受信する。サービス提供装置810は、CPU911などの処理装置を用いて、受信した匿名IDが他の匿名IDと衝突していないかを判断する。サービス提供装置810は、通信装置915を用いて、利用者端末装置100に対して、判断結果を示す情報を送信する。
利用者端末装置100は、通信装置915を用いて、サービス提供装置810が送信してきた判断結果を示す情報を受信する。
受信した判断結果に基づいて、他の匿名IDと衝突している場合には、T41に戻り、別の匿名IDを生成する。
他の匿名IDと衝突していない場合には、T43へ進む。
T43において、識別署名要求送信部191は、CPU911などの処理装置を用いて、T41で記録識別生成部862が出力した匿名IDを入力する。
識別署名要求送信部191は、CPU911などの処理装置を用いて、入力した匿名IDを変換して署名対象情報を生成する。
識別署名要求送信部191は、通信装置915を用いて、ID署名装置880に対して、生成した署名対象情報を含む識別署名要求情報を送信する。
なお、ID署名装置880に対する送信に先立って、利用者端末装置100とID署名装置880とは相互認証を行い、共通鍵により暗号化された通信を確立している。これにより、利用者端末装置100とID署名装置との間の通信を、サービス提供装置810などの第三者が傍受しても、内容を知ることはできない。
T44において、識別署名受信部192は、通信装置915を用いて、T43で送信した識別署名要求情報に対する応答としてID署名装置880が送信してきた電子署名情報を受信する。
識別署名受信部192は、CPU911などの処理装置を用いて、T43で識別署名要求送信部191が匿名IDを変換したのと逆の変換を、受信した電子署名情報に対して行い、識別署名情報を取得する。
識別署名受信部192は、CPU911などの処理装置を用いて、取得した識別署名情報を出力する。
T45において、記録識別送信部164は、CPU911などの処理装置を用いて、T44で識別署名受信部192が出力した識別署名情報を入力する。
記録識別送信部164は、CPU911などの処理装置を用いて、T42で入力した匿名IDに、入力した識別署名情報を付加して、署名付き匿名IDを生成する。
記録識別送信部164は、通信装置915を用いて、サービス提供装置810に対して、生成した署名付き匿名IDを送信する。
この段階では、匿名IDが衝突していないことを確認済みなので、正式の匿名IDとして、署名付き匿名IDを送信する。
なお、匿名IDは、既にサービス提供装置810に対して送信済みなので、記録識別送信部164は、署名付き匿名IDではなく、識別署名情報だけを送信することとしてもよい。
図47は、この実施の形態における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
匿名ID一覧送信工程において、記録識別送信部824は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶しているサービス利用記録情報群710に含まれるすべてのID番号712と、そのID番号712についての識別署名情報とを入力する。
記録識別送信部824は、CPU911などの処理装置を用いて、入力したID番号712の一覧を作成する。このとき、それぞれのID番号712には、そのID番号712についての識別署名情報を付加する。
記録識別送信部824は、通信装置915を用いて、利用者端末装置100に対して、作成したID番号712の一覧(署名付き)を送信する。
匿名ID一覧受信工程において、記録識別受信部113は、通信装置915を用いて、匿名ID一覧送信工程でサービス提供装置810が送信したID番号712の一覧(署名付き)を受信する。
記録識別受信部113は、CPU911などの処理装置を用いて、受信したID番号712の一覧(署名付き)を出力する。
署名検証工程において、署名検証部193は、CPU911などの処理装置を用いて、匿名ID一覧受信工程で記録識別受信部113が出力したID番号712の一覧(署名付き)を入力する。
署名検証部193は、CPU911などの処理装置を用いて、入力したID番号712の一覧(署名付き)から、すべてのID番号712と、そのID番号712についての識別署名情報とを取得する。
署名検証部193は、CPU911などの処理装置を用いて、取得した識別署名情報を、ID署名装置880の公開鍵で復号する。
署名検証部193は、CPU911などの処理装置を用いて、復号して得た情報と、取得したID番号712とを比較し、一致するか否かを判断する。
署名検証部193は、CPU911などの処理装置を用いて、一致すると判断したID番号712の一覧を生成する。
署名検証部193は、CPU911などの処理装置を用いて、生成したID番号712の一覧を出力する。
匿名ID選択工程において、記録識別選択部152は、CPU911などの処理装置を用いて、署名検証工程で署名検証部193が出力したID番号712の一覧を入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうち、利用履歴記憶部121が記憶しているサービス利用記録情報群710(利用履歴情報610)に含まれるすべてのID番号712(履歴識別情報614)を選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうち、更に、それ以外のID番号712を十分な数選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、選択したID番号712のリストを出力する。
匿名IDサブセット送信工程・匿名IDサブセット受信工程以降の処理は、実施の形態8において図32で説明した処理と共通なので、ここでは説明を省略する。
この実施の形態における利用者端末装置100(端末装置)は、更に、
CPU911などの処理装置を用いて、匿名ID(記録識別情報)を生成し、CPU911などの処理装置を用いて、生成した匿名IDを出力する記録識別生成部862と、
CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDを入力し、通信装置915を用いて、入力した匿名IDについての署名を要求する識別署名要求情報を、ID署名装置880(識別署名装置)に対して送信する識別署名要求送信部191と、
通信装置915を用いて、識別署名要求送信部191が送信した識別署名要求情報に対する応答として、ID署名装置880が送信した電子署名情報を受信し、CPU911などの処理装置を用いて、受信した電子署名情報から、匿名IDについての電子署名情報を取得し、取得した電子署名情報を識別署名情報として出力する識別署名受信部192と、
CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDと、識別署名受信部192が出力した識別署名情報とを入力し、通信装置915を用いて、サービス提供装置810(サーバ装置)に対して、入力した匿名IDと、入力した識別署名情報とを送信する記録識別送信部164と、
通信装置915を用いて、サービス提供装置810が記憶した利用記録情報を識別するID番号712(記録識別情報)と、そのID番号712についての識別署名情報とのリストを受信し、CPU911などの処理装置を用いて、受信したID番号712と識別署名情報とのリストを出力する記録識別受信部113と、
CPU911などの処理装置を用いて、記録識別受信部113が出力したID番号712の一覧と、識別署名情報とを入力し、CPU911などの処理装置を用いて、入力した識別署名情報に基づいて、入力したID番号712の一覧に含まれるID番号712が改変されているか否かを判断し、CPU911などの処理装置を用いて、改変されていないと判断したID番号712の一覧(記録識別情報のリスト)を生成し、CPU911などの処理装置を用いて、生成したID番号712の一覧を出力する署名検証部193と、
CPU911などの処理装置を用いて、署名検証部193が出力したID番号712の一覧のなかから、複数のID番号712を選択し、CPU911などの処理装置を用いて、選択した複数のID番号712を出力する記録識別選択部152と、
CPU911などの処理装置を用いて、記録識別選択部152が出力した複数のID番号712を入力し、通信装置915を用いて、サービス提供装置810に対して、入力した複数のID番号712を送信する選択識別送信部142とを有し、
利用記録受信部111は、
通信装置915を用いて、サービス提供装置810から、選択識別送信部142が送信した複数のID番号712によって識別される複数の利用記録情報を受信することを特徴とする。
この実施の形態における利用者端末装置100によれば、署名検証部193がID番号712に付された電子署名を検証し、改変されていないと判断したID番号712のなかから、記録識別選択部152が、サービス提供装置810に利用記録情報を送信させるID番号712を選択するので、匿名履歴判別部130が情報の匿名性を判断する基礎となる利用記録情報には架空の利用記録情報が含まれず、サービス提供装置810が利用者端末装置100を騙して利用者を特定する手がかりを得ようとした場合でも、情報の匿名性を正しく判断することができ、サービス提供装置810に利用者を特定する手がかりを与えないという効果を奏する。
実施の形態12.
実施の形態12について、図48〜図51を用いて説明する。
図48は、この実施の形態における履歴サービス提供システム800の全体構成の一例を示すシステム構成図である。
なお、実施の形態1で説明した履歴サービス提供システム800と共通する部分については、同一の符号を付し、ここでは説明を省略する。
この実施の形態における履歴サービス提供システム800は、サービス提供装置810(サーバ装置)、複数のID管理装置850(識別管理装置)、多数の利用者端末装置100(端末装置)を有する。
サービス提供装置810、ID管理装置850、利用者端末装置100のハードウェア構成は、実施の形態9で説明したものと同様なので、ここでは説明を省略する。
ID管理装置850は、利用者の匿名IDを分担して管理する。
利用者端末装置100は、サービスを利用する際、ID管理装置850のいずれかとの通信を確立し、匿名IDを発行してもらい、サービスを利用する。
利用者端末装置100は、サービスを利用するごとに、異なるID管理装置850に匿名IDを発行してもらってもよいし、同一のID管理装置850に匿名IDを発行してもらってもよい。
ID管理装置850は、自己が発行した匿名IDを管理する。
図49は、この実施の形態におけるID管理装置850の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態9において図38で説明したID管理装置850の機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
また、利用者端末装置100及びサービス提供装置810の機能ブロックの構成は、実施の形態9で説明したものと同様なので、ここでは説明を省略する。
ID管理装置850は、更に、署名生成部882、署名検証部193、利用記録検証部194を有する。
署名生成部882は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名ID(記録識別情報)を入力する。
署名生成部882は、CPU911などの処理装置を用いて、入力した匿名IDを、ID管理装置850の秘密鍵で暗号化し、識別署名情報を生成する。
署名生成部882は、CPU911などの処理装置を用いて、生成した識別署名情報を出力する。
生成識別送信部863は、CPU911などの処理装置を用いて、記録識別生成部862が出力した匿名IDと、署名生成部882が出力した記録識別情報とを入力する。
生成識別送信部863は、CPU911などの処理装置を用いて、入力した匿名IDに、入力した記録識別情報を付加して、署名付き匿名IDを生成する。
生成識別送信部863は、通信装置915を用いて、利用者端末装置100に対して、生成した署名付き匿名IDを送信する。
なお、この実施の形態におけるID管理装置850が生成する匿名IDには、その匿名IDを生成したID管理装置850を示す情報が含まれている。
したがって、ID管理装置850が生成した匿名IDが、他のID管理装置850が生成した匿名IDと衝突する可能性はない。
記録識別受信部113は、通信装置915を用いて、サービス提供装置810が送信してきたID番号712(匿名ID)の一覧を受信する。
この実施の形態における記録識別受信部113が受信するID番号712の一覧には、それぞれのID番号712についての識別署名情報が含まれる。
記録識別受信部113は、CPU911などの処理装置を用いて、受信したID番号712の一覧(署名付き)を出力する。
署名検証部193は、CPU911などの処理装置を用いて、記録識別受信部113が出力したID番号712の一覧(署名付き)を入力する。
署名検証部193は、CPU911などの処理装置を用いて、入力したID番号712の一覧(署名付き)から、すべてのID番号712と、そのID番号712についての識別署名情報とを取得する。
署名検証部193は、CPU911などの処理装置を用いて、ID番号712に基づいて、そのID番号712を生成したID管理装置850を判別する。
署名検証部193は、CPU911などの処理装置を用いて、取得した識別署名情報を、判別したID管理装置850の公開鍵で復号する。
署名検証部193は、CPU911などの処理装置を用いて、復号して得た情報と、取得したID番号712とを比較し、一致するか否かを判断する。
署名検証部193は、CPU911などの処理装置を用いて、一致すると判断したID番号712の一覧を生成する。
署名検証部193は、CPU911などの処理装置を用いて、生成したID番号712の一覧を出力する。
なお、ID番号712のうち、自己が生成したID番号712については、署名を検証するのではなく、記録識別記憶部864が記憶した匿名IDのなかに一致するものがあるか否かを判断することにより、出力するID番号712の一覧に含めるか否かを決定してもよい。
記録識別選択部152は、CPU911などの処理装置を用いて、署名検証部193が出力したID番号の一覧を入力し、入力したID番号の一覧から、ID番号を選択する。
この実施の形態では、ID管理装置850が複数あるので、他のID管理装置850が生成した匿名IDについては、記録識別記憶部864が記憶していない。
そのため、実施の形態11で説明したのと同様、ID番号に付加した署名を検証することにより、サービス提供装置810が送信してきたID番号712の一覧のなかに、架空のID番号が含まれていないかを検証する。
記録識別選択部152は、CPU911などの処理装置を用いて、記録識別記憶部864が記憶した匿名IDに基づいて、利用者端末装置100に対応する匿名IDを抽出する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のうち、判別した匿名IDと同一のID番号712(履歴識別情報614)をすべて選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、抽出した実在ID番号のうちから、更に、それ以外のID番号712を十分な数選択する。
記録識別選択部152は、CPU911などの処理装置を用いて、選択したID番号712のリストを出力する。
ID管理装置850が管理している匿名IDは全匿名IDの一部であり、ID管理装置850が利用者端末装置100と匿名IDとの対応を知っているのは、自己が発行した匿名IDに限られる。
したがって、記録識別選択部152が選択するID番号には、利用者端末装置100が利用したサービスを記録した利用記録情報を識別するID番号のうち、ID管理装置850自身が生成したID番号(匿名ID)はすべて含まれるが、他のID管理装置850が生成したID番号は含まれない場合がある。
例えば、利用者端末装置100が他のID管理装置850に匿名IDを発行してもらったことはあるが、そのID管理装置850に匿名IDを発行してもらうのが初めてである場合、記録識別選択部152が選択するID番号に、その利用者端末装置100が利用したサービスを記録した利用記録情報を識別するID番号がまったく含まれず、利用者端末装置100が履歴生成用情報740の信頼性を判断できない可能性もある。
しかし、サービス提供装置810には、履歴生成用情報740に含まれるサービス記録情報742のうち、どのサービス記録情報742が信頼性の判断に利用されるかわからないので、サービス提供装置810がサービス記録情報742を改変することはできない。
なお、利用者端末装置100が、ID管理装置850に対して、利用したサービスを記録した利用記録情報を識別するID番号のうち、他のID管理装置850が生成したID番号を送信し、ID管理装置850に、利用者端末装置100とID番号との対応を教え、記録識別選択部152は、それに基づいて、ID番号712を選択することとしてもよい。
あるいは、ID管理装置850が、他のID管理装置850に問い合わせることにより、他のID管理装置850が生成したID番号と、利用者端末装置100との対応を示す情報を取得することとしてもよい。
利用記録検証部194は、CPU911などの処理装置を用いて、利用記録受信部111が出力したサービス利用記録情報711を入力する。
利用記録検証部194は、CPU911などの処理装置を用いて、入力したサービス利用記録情報711を検証し、利用記録受信部111が受信した履歴生成用情報740が改竄されているか否かを判断する。
利用記録検証部194は、CPU911などの処理装置を用いて、判断結果を示す情報を出力する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、利用記録受信部111が出力したサービス利用記録情報711と、利用記録検証部194が出力した判断結果を示す情報を入力する。
利用記録受信部111が受信した履歴生成用情報740が改竄されていないと利用記録検証部194が判断した場合、利用者用履歴生成部871は、CPU911などの処理装置を用いて、実施の形態9で説明したのと同様の動作により、利用者用履歴情報780を生成する。
利用記録受信部111が受信した履歴生成用情報740が改竄されていると利用記録検証部194が判断した場合、利用者用履歴生成部871は、CPU911などの処理装置を用いて、空の利用者用履歴情報780を生成する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、生成した利用者用履歴情報780を出力する。
図50は、この実施の形態における履歴生成用情報740の一例を示す図である。
履歴生成用情報740は、サービス提供装置810の送信利用記録生成部826が生成し、利用記録送信部827が、ID管理装置850に対して送信し、ID管理装置850の利用記録受信部111が受信するものである。
なお、実施の形態8において図34で説明した履歴生成用情報740と共通する情報については、同一の符号を付し、ここでは説明を省略する。
暗号化個別サービス情報745は、サービス利用記録714に含まれる商品コード(種別識別情報)、購入個数などから、サービス提供装置810の送信利用記録生成部826が生成する。このうち、商品コードは、サービス提供装置810と利用者端末装置100との間の共通鍵USで暗号化する。したがって、ID管理装置850は、利用者が利用したサービスの商品コードを知ることはできない。
個別サービス情報検証用情報754は、元のサービス利用記録情報711のID番号712、サービス利用記録714に含まれる商品コードを共通鍵USで暗号化した情報、購入個数などから、送信利用記録生成部826が生成したハッシュ値である。
ID管理装置850は、商品コードを知らないが、商品コードを共通鍵で暗号化した情報は、暗号化個別サービス情報745から取得できるので、ハッシュ値を計算することが可能である。
個別サービス個数算出用情報756は、購入個数716に、ハッシュ値(=個別サービス情報検証用情報754)と、算出用数値763の整数倍を加えたものである。個別サービス個数算出用情報756は、ハッシュ値を算出する元となる商品コードが共通鍵USで暗号化されたものである点を除けば、実施の形態8で説明したものと同様である。
ID管理装置850は、商品コードを知らないが、ハッシュ値を計算することができ、算出用位置762、算出用数値763を暗号化個別サービス情報745から取得できるので、個別サービス個数算出用情報756から購入個数を算出することが可能である。
ID管理装置850の利用記録受信部111は、実施の形態8で説明した利用者端末装置100の利用記録受信部111と同様の動作により、履歴生成用情報740に基づいて、サービス利用記録情報711を復元する。なお、ID管理装置850は、商品コードを復号できないので、暗号化された商品コードのまま復元する。
利用記録受信部111は、CPU911などの処理装置を用いて、復元したサービス利用記録情報711を出力する。
利用記録検証部194は、CPU911などの処理装置を用いて、利用記録受信部111が出力したサービス利用記録情報711を入力する。
利用記録検証部194は、CPU911などの処理装置を用いて、入力したサービス利用記録情報711に基づいて、利用記録受信部111が受信した履歴生成用情報740が改竄されているか否かを判断する。
すなわち、利用記録検証部194は、利用記録受信部111がサービス情報群741から復元した購入個数などの情報と、検証用情報群751から復元した情報とを比較し、一致するか否かを判断し、一致しないと判断した場合に、履歴生成用情報740が改竄されていると判断する。
サービス情報群741と検証用情報群751とは、サービス提供装置810が同じ情報から生成するものであるから、両者から復元した情報は一致するはずである。
したがって、サービス情報群741から復元した情報と検証用情報群751から復元した情報とが一致しない場合には、履歴生成用情報740がサービス提供装置810からID管理装置850へ送信される途中で、第三者により改竄された可能性が高い。
そこで、サービス情報群741から復元した情報と検証用情報群751から復元した情報とが一致しない場合、利用記録検証部194は、履歴生成用情報740が改竄されていると判断する。
なお、ID管理装置850は、サービス利用記録情報721を記憶していないので、両者が一致する場合には、その内容が改竄されているかを検証することはできない。
そこで、利用記録検証部194は、両者が一致する場合には、とりあえず改竄はないものと判断し、利用者用履歴生成部871が利用者用履歴情報780を生成する。
実施の形態9で説明したように、利用者用履歴情報780には、その利用者が利用したサービスを記録したサービス記録情報742が含まれているので、利用者端末装置100がこれを受信し、利用者端末装置100が記憶したサービス利用記録情報721と比較することにより、履歴生成用情報740が改竄されているか否かを最終的に判断する。
図51は、この実施の形態における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図である。
なお、実施の形態9において図40を用いて説明した工程と共通する工程については、同一の名称を付し、ここでは説明を省略する。
匿名ID一覧送信工程において、サービス提供装置810の記録識別送信部824は、CPU911などの処理装置を用いて、利用記録記憶部823が記憶しているサービス利用記録情報群710に含まれるすべてのID番号712と、そのID番号712についての識別署名情報とを入力する。
記録識別送信部824は、CPU911などの処理装置を用いて、入力したID番号の一覧(署名付き)を生成する。
記録識別送信部824は、通信装置915を用いて、ID管理装置850に対して、生成したID番号712の一覧(署名付き)と利用者端末装置100の匿名IDとを送信する。
匿名ID一覧受信工程において、ID管理装置850の記録識別受信部113は、通信装置を用いて、匿名ID一覧送信工程でサービス提供装置810が送信したID番号712の一覧(署名付き)と利用者端末装置100の匿名IDとを受信する。
記録識別受信部113は、CPU911などの処理装置を用いて、受信したID番号712の一覧(署名付き)と利用者端末装置100の匿名IDとを出力する。
署名検証工程において、ID管理装置850の署名検証部193は、CPU911などの処理装置を用いて、匿名ID一覧受信工程で記録識別受信部113が出力したID番号712の一覧(署名付き)を入力する。
署名検証部193は、CPU911などの処理装置を用いて、入力したID番号712の一覧(署名付き)に含まれるすべてのID番号712について、署名を検証し、検証の結果、改変されていないと判断したID番号712の一覧を生成する。
署名検証部193は、CPU911などの処理装置を用いて、生成したID番号712の一覧を出力する。
匿名ID選択工程において、ID管理装置850の記録識別選択部152は、CPU911などの処理装置を用いて、署名検証工程で署名検証部193が出力したID番号712の一覧と、匿名ID一覧受信工程で記録識別受信部113が出力した利用者端末装置100の匿名IDとを入力する。
記録識別選択部152は、CPU911などの処理装置を用いて、入力したID番号712の一覧のなかから、十分な数のID番号712を選択し、選択したID番号712のリストを出力する。
匿名IDサブセット送信工程において、ID管理装置850の選択識別送信部142は、CPU911などの処理装置を用いて、匿名ID選択工程で記録識別選択部152が出力したID番号712のリストを入力する。
選択識別送信部142は、通信装置915を用いて、サービス提供装置810に対して、入力したID番号712のリストを送信する。
匿名IDサブセット受信工程において、サービス提供装置810の選択識別受信部825は、通信装置915を用いて、匿名IDサブセット送信工程でID管理装置850が送信したID番号712のリストを受信する。
選択識別受信部825は、CPU911などの処理装置を用いて、受信したID番号712のリストを出力する。
履歴生成用情報作成工程において、サービス提供装置810の送信利用記録生成部826は、CPU911などの処理装置を用いて、入力したID番号712に基づいて、利用記録記憶部823が記憶したサービス利用記録情報711を入力し、図50に示した履歴生成用情報740(送信利用記録情報)を生成する。
送信利用記録生成部826は、CPU911などの処理装置を用いて、生成した履歴生成用情報740を出力する。
履歴生成用情報送信工程において、サービス提供装置810の利用記録送信部827は、CPU911などの処理装置を用いて、履歴生成用情報作成工程で送信利用記録生成部826が出力した履歴生成用情報740を入力する。
利用記録送信部827は、通信装置915を用いて、ID管理装置850に対して、入力した履歴生成用情報740を送信する。
履歴生成用情報受信工程において、ID管理装置850の利用記録受信部111は、通信装置915を用いて、履歴生成用情報送信工程でサービス提供装置810が送信した履歴生成用情報740を受信する。
利用記録受信部111は、CPU911などの処理装置を用いて、受信した履歴生成用情報740に基づいて、サービス利用記録情報711(利用記録情報)を復元する。
利用記録受信部111は、CPU911などの処理装置を用いて、復元したサービス利用記録情報711を出力する。
利用者用履歴生成工程において、ID管理装置850の利用記録検証部194は、CPU911などの処理装置を用いて、履歴生成用情報受信工程で利用記録受信部111が出力したサービス利用記録情報711を入力する。
利用記録検証部194は、CPU911などの処理装置を用いて、入力したサービス利用記録情報711に基づいて、履歴生成用情報受信工程で利用記録受信部111が受信した履歴生成用情報740に改竄があるか否かを判断する。
利用記録検証部194は、CPU911などの処理装置を用いて、判断結果を示す情報を出力する。
利用者用履歴生成工程において、ID管理装置850の利用者用履歴生成部871は、CPU911などの処理装置を用いて、履歴生成用情報受信工程で利用記録受信部111が出力したサービス利用記録情報711と、利用記録検証工程で利用記録検証部194が出力した判断結果を示す情報とを入力する。
利用記録検証部194が履歴生成用情報740に改竄がないと判断した場合、利用者用履歴生成部871は、CPU911などの処理装置を用いて、入力したサービス利用記録情報711に基づいて、利用者用履歴情報780を生成する。
利用記録検証部194が履歴生成用情報740に改竄があると判断した場合、利用者用履歴生成部871は、CPU911などの処理装置を用いて、空の利用者用履歴情報780を生成する。
利用者用履歴生成部871は、CPU911などの処理装置を用いて、生成した利用者用履歴情報780を出力する。
利用者用履歴送信工程において、利用者用履歴送信部872は、CPU911などの処理装置を用いて、利用者用履歴生成工程で利用者用履歴生成部871が生成した利用者用履歴情報780を入力する。
利用者用履歴送信部872は、通信装置915を用いて、利用者端末装置100に対して、入力した利用者用履歴情報780を送信する。
利用者用履歴受信工程において、利用者端末装置の利用者用履歴受信部172は、通信装置915を用いて、利用者用履歴送信工程でID管理装置850が送信した利用者用履歴情報780を受信する。
利用者用履歴受信部172は、CPU911などの処理装置を用いて、受信した利用者用履歴情報780を出力する。
履歴生成用情報検証工程において、信頼性判断部151は、CPU911などの処理装置を用いて、利用者用履歴受信工程で利用者用履歴受信部172が出力した利用者用履歴情報を入力する。
信頼性判断部151は、CPU911などの処理装置を用いて、入力した利用者用履歴情報780に基づいて、履歴生成用情報740の信頼性を判断する。
信頼性判断部151が入力した利用者用履歴情報780が空である場合、履歴生成用情報740が改竄されているとID管理装置850が判断したことを示しているので、信頼性判断部151は、履歴生成用情報740が信頼できないと判断する。
それ以外の場合、信頼性判断部151は、実施の形態9で説明したのと同様の動作により、履歴生成用情報740の信頼性を判断する。
履歴生成工程・履歴受信工程以降の処理は、実施の形態9において図40で説明したのと同様なので、ここでは説明を省略する。
このように、ID管理装置850が複数ある場合には、1つのID管理装置850が匿名IDのすべてを管理しているわけではないので、ID管理装置850が匿名IDを発行する際に署名を付け、これを検証することにより、架空IDを発見することができる。
利用者端末装置100は、複数のID管理装置850のいずれに匿名IDを発行してもらってもよいので、サービス提供装置810は、匿名IDを発行したID管理装置850に基づいて、利用者端末装置100を特定する手がかりを得ることはできない。
ID管理装置850は、履歴生成用情報740に含まれるサービス情報群741と検証用情報群751との間に矛盾がないか検証するので、サービス提供装置810からID管理装置850へ送信される間に、第三者が履歴生成用情報740を改竄したことを発見することができる。
利用者端末装置100は、ID管理装置850が履歴生成用情報740から生成した利用者用履歴情報780に含まれるサービス情報群741と、記憶したサービス利用記録情報711とを比較して、履歴生成用情報740の信頼性を判断するので、サービス提供装置810は、サービス利用記録情報721を改竄することができない。
実施の形態1における履歴サービス提供システム800の全体構成の一例を示すシステム構成図。 実施の形態1におけるサービス提供装置810の外観の一例を示す図。 実施の形態1におけるサービス提供装置810のハードウェア資源の一例を示す図。 実施の形態1における利用者端末装置100及びサービス提供装置810のハードウェア構成の一例を示すハードウェア構成図。 実施の形態1における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における利用履歴情報610の一例を示す図。 実施の形態1における利用記録情報620の一例を示す図。 実施の形態1における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図。 実施の形態1における匿名履歴判別部130が匿名履歴情報を判別する匿名履歴判別処理の流れの一例を示すフローチャート図。 実施の形態2における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図。 サービス提供装置810が嘘の利用記録情報620を送信した場合について説明する図。 実施の形態2における信頼性判断部151が利用記録情報620の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図。 実施の形態3における利用履歴受信部112が受信し、利用履歴記憶部121が記憶する利用履歴情報610の一例を示す図。 実施の形態3における利用記録受信部111が受信する利用記録情報620の一例を示す図。 実施の形態3における信頼性判断部151が利用記録情報620の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図。 実施の形態4における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れの一例を示すフローチャート図。 実施の形態4における記録識別選択部152が記録識別情報624を選択する記録識別選択処理の流れの一例を示すフローチャート図。 実施の形態5における利用記録受信部111が受信する利用記録情報620の一例を示す図。 実施の形態5における信頼性判断部151が、利用記録情報620の信頼性を判断する信頼性判断処理の流れの一例を示すフローチャート図。 実施の形態6における利用履歴受信部112が受信し、利用履歴記憶部121が記憶する利用履歴情報610の一例を示す図。 実施の形態6における利用記録受信部111が受信する暗号化記録情報640の一例を示す図。 実施の形態6における利用記録受信部111が受信する利用記録情報620の別の例を示す図。 実施の形態7における利用履歴受信部112が受信し、利用履歴記憶部121が記憶する利用履歴情報610の一例を示す図。 実施の形態7における利用記録受信部111が受信する暗号化記録情報640と暗号化暗号鍵650との一例を示す図。 実施の形態7におけるサービス提供装置810が暗号化記録情報640を送信する利用記録送信処理の流れの一例を示すフローチャート図。 実施の形態7における利用記録受信部111が、暗号化記録情報640を受信して復号する利用記録受信処理の流れの一例を示すフローチャート図。 実施の形態8におけるサービス提供装置810の機能ブロックの構成の一例を示すブロック構成図。 実施の形態8における利用記録記憶部823が記憶するサービス利用記録情報群710の一例を示す図。 実施の形態8における履歴サービス提供システム800が履歴サービスを提供する履歴サービス提供処理の全体の流れを示すフローチャート図。 実施の形態8における履歴サービス提供システム800が、利用者端末装置100とサービス提供装置810との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図。 実施の形態8における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。 実施の形態8における履歴サービス提供システム800において、サービス提供装置810と利用者端末装置100とがやり取りする情報の一例を示す図。 実施の形態8における送信利用記録生成部826が生成する履歴生成用情報740の一例を示す図。 実施の形態8における送信利用記録生成部826が、暗号化個別サービス情報745、個別サービス情報検証用情報754、個別サービス個数算出用情報756を生成する生成方法を説明するための図。 実施の形態8における利用記録受信部111が復号したサービス利用記録情報721の一例を示す図。 実施の形態9における履歴サービス提供システム800の全体構成及びハードウェア構成の一例を示すシステム構成図。 実施の形態9における利用者端末装置100及びID管理装置850の機能ブロックの構成の一例を示すブロック構成図。 実施の形態9における履歴サービス提供システム800が、利用者端末装置100とサービス提供装置810との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図。 実施の形態9における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。 実施の形態9における送信利用記録生成部826が生成する履歴生成用情報740及び利用者用履歴生成部871が生成する利用者用履歴情報780の一例を示す図。 実施の形態10における利用者端末装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態10における利用者端末装置100が種別識別情報に矛盾がないか判定する種別識別判定処理の流れの一例を示すフローチャート図。 実施の形態11における履歴サービス提供システム800の全体構成及びハードウェア構成の一例を示すシステム構成図。 実施の形態11における利用者端末装置100及びID署名装置880の機能ブロックの構成の一例を示すブロック構成図。 実施の形態11における履歴サービス提供システム800が、利用者端末装置100とサービス提供装置810との間の通信を確立する通信確立処理の流れの一例を示すフローチャート図。 実施の形態11における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。 実施の形態12における履歴サービス提供システム800の全体構成の一例を示すシステム構成図。 実施の形態12におけるID管理装置850の機能ブロックの構成の一例を示すブロック構成図。 実施の形態12における履歴生成用情報740の一例を示す図。 実施の形態12における履歴サービス提供システム800が、履歴サービスを提供する情報提供処理の流れの一例を示すフローチャート図。
符号の説明
100 利用者端末装置、111 利用記録受信部、112 利用履歴受信部、113 記録識別受信部、121 利用履歴記憶部、130 匿名履歴判別部、131 匿名性判断部、141 匿名履歴送信部、142 選択識別送信部、151 信頼性判断部、152 記録識別選択部、161 識別生成要求送信部、163 生成識別受信部、164 記録識別送信部、172 利用者用履歴受信部、181 利用履歴入力部、182 種別識別判別部、183 種別識別記憶部、191 識別署名要求送信部、192 識別署名受信部、193 署名検証部、200 カード部、210 UIM、610 利用履歴情報、611,621,631,651 商品コード、612,622 購入個数、613 購入日時、614 履歴識別情報、616,656 サービス暗号鍵、617 履歴暗号鍵、620 利用記録情報、624,654 記録識別情報、625 ハッシュ値、627 記録暗号鍵、630 匿名履歴情報、640 暗号化記録情報、642 暗号化購入個数、650 暗号化暗号鍵、652 位置、710 サービス利用記録情報群、711,721 サービス利用記録情報、712 ID番号、713 共通鍵、714,724 サービス利用記録、715 商品コード、716 購入個数、740 履歴生成用情報、741 サービス情報群、742 サービス記録情報、743 ID番号、744 暗号化個別サービス情報群、745 暗号化個別サービス情報、746 個別サービス情報群、747 個別サービス情報、751 検証用情報群、752 検証用情報、753 個別サービス情報検証用情報群、754 個別サービス情報検証用情報、755 個別サービス個数算出用情報群、756 個別サービス個数算出用情報、761 検証用位置、762 算出用位置、763 算出用数値、771 サービス種別情報群、772 暗号化サービス種別情報、780 利用者用履歴情報、781 利用者特定率情報群、782 利用者特定率情報、800 履歴サービス提供システム、810 サービス提供装置、821 利用履歴生成部、822 利用履歴送信部、823 利用記録記憶部、824 記録識別送信部、825 選択識別受信部、826 送信利用記録生成部、827 利用記録送信部、831 匿名履歴受信部、832 サービス情報記憶部、833 サービス情報選択部、834 サービス情報送信部、841 秘密鍵記憶部、842 証明書記憶部、850 ID管理装置、861 識別生成要求受信部、862 記録識別生成部、863 生成識別送信部、864 記録識別記憶部、871 利用者用履歴生成部、872 利用者用履歴送信部、880 ID署名装置、881 署名要求受信部、882 署名生成部、883 署名送信部、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (13)

  1. 情報を記憶する記憶装置と、
    情報を処理する処理装置と、
    利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置と、
    上記記憶装置を用いて、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶部と、
    上記通信装置を用いて、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置を用いて、受信した複数の上記利用記録情報を出力する利用記録受信部と、
    上記処理装置を用いて、上記利用記録受信部が出力した複数の上記利用記録情報と、上記利用履歴記憶部が記憶した上記利用履歴情報とを入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置を用いて、判別した上記情報を匿名履歴情報として出力する匿名履歴判別部と、
    上記処理装置を用いて、上記匿名履歴判別部が出力した上記匿名履歴情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信部とを有し、
    上記匿名履歴判別部は、上記処理装置を用いて、入力した複数の上記利用記録情報のそれぞれについて、上記利用記録情報が記録した上記サービス内容を判別し、上記処理装置を用いて、判別した上記サービス内容のそれぞれについて、上記サービス内容を利用した利用回数を算出し、上記処理装置を用いて、算出した上記利用回数が所定の回数よりも多い場合に、上記サービス内容についての情報を上記サーバ装置に送信しても上記所定の利用者が特定されにくいと判断する匿名性判断部を有することを特徴とする端末装置。
  2. 情報を記憶する記憶装置と、
    情報を処理する処理装置と、
    利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置と、
    上記記憶装置を用いて、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶部と、
    上記通信装置を用いて、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置を用いて、受信した複数の上記利用記録情報を出力する利用記録受信部と、
    上記処理装置を用いて、上記利用記録受信部が出力した複数の上記利用記録情報と、上記利用履歴記憶部が記憶した上記利用履歴情報とを入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置を用いて、判別した上記情報を匿名履歴情報として出力する匿名履歴判別部と、
    上記処理装置を用いて、上記匿名履歴判別部が出力した上記匿名履歴情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信部とを有し、
    上記利用履歴記憶部は、上記記憶装置を用いて、上記利用履歴情報と上記利用履歴情報を識別する履歴識別情報とを記憶し、
    上記利用記録受信部は、上記通信装置を用いて、複数の上記利用記録情報と複数の上記利用記録情報をそれぞれ識別する複数の記録識別情報とを受信し、上記処理装置を用いて、受信した複数の上記利用記録情報と受信した複数の上記記録識別情報とを出力し、
    に、
    上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報と、上記利用記録受信部が出力した複数の上記記録識別情報とを入力し、上記処理装置を用いて、入力した上記履歴識別情報と入力した上記記録識別情報とが一致するものについて、上記利用履歴記憶部が記憶した上記利用履歴情報のうち、上記履歴識別情報によって識別される利用履歴情報と、上記利用記録受信部が出力した上記利用記録情報のうち、上記記録識別情報によって識別される利用記録情報とを入力し、上記処理装置を用いて、入力した上記利用履歴情報が記録したサービス内容と、入力した上記利用記録情報が記録したサービス内容とが一致するか否かを判断し、上記処理装置を用いて、上記サービス内容が一致すると判断した場合に、上記利用記録情報が信頼できると判断する信頼性判断部を有し、
    上記匿名履歴判別部は、上記処理装置を用いて、上記利用記録情報が信頼できると上記信頼性判断部が判断した場合に、上記匿名履歴情報を出力することを特徴とする端末装置。
  3. 情報を記憶する記憶装置と、
    情報を処理する処理装置と、
    利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置と、
    上記記憶装置を用いて、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶部と、
    上記通信装置を用いて、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置を用いて、受信した複数の上記利用記録情報を出力する利用記録受信部と、
    上記処理装置を用いて、上記利用記録受信部が出力した複数の上記利用記録情報と、上記利用履歴記憶部が記憶した上記利用履歴情報とを入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置を用いて、判別した上記情報を匿名履歴情報として出力する匿名履歴判別部と、
    上記処理装置を用いて、上記匿名履歴判別部が出力した上記匿名履歴情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信部とを有し、
    上記利用履歴記憶部は、上記記憶装置を用いて、上記利用履歴情報と上記利用履歴情報を識別する履歴識別情報とを記憶し、
    上記利用記録受信部は、上記通信装置を用いて、複数のハッシュ値と、複数の上記ハッシュ値それぞれに対応する複数の上記利用記録情報とを受信し、上記処理装置を用いて、受信した複数の上記ハッシュ値と受信した複数の上記利用記録情報とを出力し、
    に、
    上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報と上記利用履歴情報と、上記利用記録受信部が出力した複数の上記ハッシュ値とを入力し、上記処理装置を用いて、入力した上記履歴識別情報と入力した上記利用履歴情報とに基づいて、ハッシュ値を算出し、上記処理装置を用いて、入力した上記ハッシュ値と算出した上記ハッシュ値とが一致するものについて、上記利用記録受信部が出力した上記利用記録情報のうち、上記ハッシュ値に対応する利用記録情報を入力し、上記処理装置を用いて、入力した上記利用履歴情報が記録したサービス内容と、入力した上記利用記録情報が記録したサービス内容とが一致するか否かを判断し、上記処理装置を用いて、上記サービス内容が一致すると判断した場合に、上記利用記録情報が信頼できると判断する信頼性判断部を有し、
    上記匿名履歴判別部は、上記処理装置を用いて、上記利用記録情報が信頼できると上記信頼性判断部が判断した場合に、上記匿名履歴情報を出力することを特徴とす端末装置。
  4. 上記利用履歴記憶部は、上記記憶装置を用いて、上記利用履歴情報と上記利用履歴情報を識別する履歴識別情報とを記憶し、
    上記利用記録受信部は、上記通信装置を用いて、複数の上記利用記録情報と複数の上記利用記録情報をそれぞれ識別する複数の記録識別情報とを受信し、上記処理装置を用いて、受信した複数の上記利用記録情報と受信した複数の上記記録識別情報とを出力し、
    上記端末装置は、更に、
    上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報と、上記利用記録受信部が出力した複数の上記記録識別情報とを入力し、上記処理装置を用いて、入力した上記履歴識別情報と入力した上記記録識別情報とが一致するものについて、上記利用履歴記憶部が記憶した上記利用履歴情報のうち、上記履歴識別情報によって識別される利用履歴情報と、上記利用記録受信部が出力した上記利用記録情報のうち、上記記録識別情報によって識別される利用記録情報とを入力し、上記処理装置を用いて、入力した上記利用履歴情報が記録したサービス内容と、入力した上記利用記録情報が記録したサービス内容とが一致するか否かを判断し、上記処理装置を用いて、上記サービス内容が一致すると判断した場合に、上記利用記録情報が信頼できると判断する信頼性判断部を有し、
    上記匿名履歴判別部は、上記処理装置を用いて、上記利用記録情報が信頼できると上記信頼性判断部が判断した場合に、上記匿名履歴情報を出力することを特徴とする請求項1に記載の端末装置。
  5. 上記端末装置は、更に、
    上記通信装置を用いて、上記サーバ装置が記憶した利用記録情報を識別する上記記録識別情報のリストを受信し、上記処理装置を用いて、受信した上記記録識別情報のリストを出力する記録識別受信部と、
    上記処理装置を用いて、上記記録識別受信部が出力した上記記録識別情報のリストのなかから、複数の記録識別情報を選択し、上記処理装置を用いて、選択した複数の上記記録識別情報を出力する記録識別選択部と、
    上記処理装置を用いて、上記記録識別選択部が出力した複数の上記記録識別情報を入力し、上記通信装置を用いて、上記サーバ装置に対して、入力した複数の上記記録識別情報を送信する選択識別送信部と有し、
    上記利用記録受信部は、上記通信装置を用いて、上記サーバ装置から、上記選択識別送信部が送信した複数の上記記録識別情報によって識別される複数の上記利用記録情報を受信することを特徴とする請求項2または請求項4に記載の端末装置。
  6. 上記記録識別選択部は、更に、上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報を入力し、上記処理装置を用いて、入力した上記履歴識別情報と一致する上記記録識別情報を選択し、上記処理装置を用いて、入力した上記履歴識別情報と一致しない上記記録識別情報をランダムに選択することを特徴とする請求項5に記載の端末装置。
  7. 上記利用履歴記憶部は、上記記憶装置を用いて、上記利用履歴情報と上記利用履歴情報を識別する履歴識別情報とを記憶し、
    上記利用記録受信部は、上記通信装置を用いて、複数のハッシュ値と、複数の上記ハッシュ値それぞれに対応する複数の上記利用記録情報とを受信し、上記処理装置を用いて、受信した複数の上記ハッシュ値と受信した複数の上記利用記録情報とを出力し、
    上記端末装置は、更に、
    上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴識別情報と上記利用履歴情報と、上記利用記録受信部が出力した複数の上記ハッシュ値とを入力し、上記処理装置を用いて、入力した上記履歴識別情報と入力した上記利用履歴情報とに基づいて、ハッシュ値を算出し、上記処理装置を用いて、入力した上記ハッシュ値と算出した上記ハッシュ値とが一致するものについて、上記利用記録受信部が出力した上記利用記録情報のうち、上記ハッシュ値に対応する利用記録情報を入力し、上記処理装置を用いて、入力した上記利用履歴情報が記録したサービス内容と、入力した上記利用記録情報が記録したサービス内容とが一致するか否かを判断し、上記処理装置を用いて、上記サービス内容が一致すると判断した場合に、上記利用記録情報が信頼できると判断する信頼性判断部を有し、
    上記匿名履歴判別部は、上記処理装置を用いて、上記利用記録情報が信頼できると上記信頼性判断部が判断した場合に、上記匿名履歴情報を出力することを特徴とする請求項1に記載の端末装置。
  8. 上記端末装置は、更に、
    上記通信装置を用いて、上記所定の利用者が上記サービス内容を利用した場合に、上記サーバ装置から、利用した上記サービス内容を記録した利用記録情報と上記サービス内容の種別に対応する暗号鍵とを受信し、上記処理装置を用いて、受信した上記利用記録情報を利用履歴情報として出力し、受信した上記暗号鍵をサービス暗号鍵として出力する利用履歴受信部を有し、
    上記利用履歴記憶部は、上記処理装置を用いて、上記利用履歴受信部が出力した上記利用履歴情報と上記サービス暗号鍵とを入力し、上記記憶装置を用いて、入力した上記利用履歴情報と上記サービス暗号鍵とを記憶し、
    上記利用記録受信部は、上記通信装置を用いて、上記サーバ装置から、複数の上記利用記録情報を、上記利用記録情報が記録したサービス内容の種別ごとに異なる暗号鍵でそれぞれ暗号化した複数の暗号化記録情報を受信し、上記処理装置を用いて、上記利用履歴記憶部が記憶した上記サービス暗号鍵を入力し、上記処理装置を用いて、受信した複数の上記暗号化記録情報を、入力した上記サービス暗号鍵でそれぞれ復号して、複数の上記利用記録情報を取得し、上記処理装置を用いて、取得した複数の上記利用記録情報を出力することを特徴とする請求項1乃至請求項7のいずれかに記載の端末装置。
  9. 上記端末装置は、更に、
    上記通信装置を用いて、上記所定の利用者が上記サービス内容を利用した場合に、上記サーバ装置から、利用した上記サービス内容を記録した利用記録情報と上記利用記録情報に対応する暗号鍵とを受信し、上記処理装置を用いて、受信した上記利用記録情報を利用履歴情報として出力し、受信した上記暗号鍵を履歴暗号鍵として出力する利用履歴受信部を有し、
    上記利用履歴記憶部は、上記処理装置を用いて、上記利用履歴受信部が出力した上記利用履歴情報と上記履歴暗号鍵とを入力し、上記記憶装置を用いて、入力した上記利用履歴情報と上記履歴暗号鍵とを記憶し、
    上記利用記録受信部は、上記通信装置を用いて、上記サーバ装置から、複数の上記利用記録情報を、上記利用記録情報が記録したサービス内容の種別ごとに異なるサービス暗号鍵でそれぞれ暗号化した複数の暗号化記録情報と、上記利用記録情報が記録したサービス内容の種別に対応する上記サービス暗号鍵を、上記利用記録情報に対応する暗号鍵でそれぞれ暗号化した複数の暗号化暗号鍵とを受信し、上記処理装置を用いて、上記利用履歴記憶部が記憶した上記履歴暗号鍵を入力し、上記処理装置を用いて、受信した複数の上記暗号化暗号鍵の少なくともいずれかを、入力した上記履歴暗号鍵で復号して、上記サービス暗号鍵を取得し、上記処理装置を用いて、受信した複数の上記暗号化記録情報を、取得した上記サービス暗号鍵でそれぞれ復号して、複数の上記利用記録情報を取得し、上記処理装置を用いて、取得した複数の上記利用記録情報を出力することを特徴とする請求項1乃至請求項7のいずれかに記載の端末装置。
  10. 情報を記憶する記憶装置と、情報を処理する処理装置と、利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置とを有する端末装置が、上記サーバ装置が提供する履歴サービスを利用する履歴サービス利用方法において、
    上記記憶装置が、上記サーバ装置が記憶した上記利用記録情報のうち、所定の利用者が利用した上記サービス内容についての利用記録情報を利用履歴情報として記憶する利用履歴記憶工程と、
    上記通信装置が、上記サーバ装置から、上記利用記録情報を複数受信し、上記処理装置が、受信した複数の上記利用記録情報を出力する利用記録受信工程と、
    上記処理装置が、上記利用記録受信工程で上記処理装置が出力した複数の上記利用記録情報と、上記利用履歴記憶工程で上記記憶装置が記憶した上記利用履歴情報とを入力し、上記処理装置が、入力した複数の上記利用記録情報に基づいて、入力した上記利用履歴情報のうち上記サーバ装置に送信しても上記所定の利用者が特定されにくい情報を判別し、上記処理装置が、判別した上記情報を匿名履歴情報として出力する匿名履歴判別工程と、
    上記処理装置が、上記匿名履歴判別工程で上記処理装置が出力した上記匿名履歴情報を入力し、上記通信装置が、上記サーバ装置に対して、入力した上記匿名履歴情報を送信する匿名履歴送信工程とを有し、
    上記匿名履歴判別工程は、上記処理装置が、入力した複数の上記利用記録情報のそれぞれについて、上記利用記録情報が記録した上記サービス内容を判別し、上記処理装置が、判別した上記サービス内容のそれぞれについて、上記サービス内容を利用した利用回数を算出し、上記処理装置が、算出した上記利用回数が所定の回数よりも多い場合に、上記サービス内容についての情報を上記サーバ装置に送信しても上記所定の利用者が特定されにくいと判断する匿名性判断工程を有することを特徴とする履歴サービス利用方法。
  11. 情報を記憶する記憶装置と、情報を処理する処理装置と、利用したサービス内容を記録した利用記録情報を複数記憶するサーバ装置と通信する通信装置とを有するコンピュータを、請求項1乃至請求項9のいずれかに記載の端末装置として機能させることを特徴とする履歴サービス利用プログラム。
  12. 情報を記憶する記憶装置と、
    情報を処理する処理装置と、
    利用したサービス内容を記録した利用履歴情報を記憶する複数の端末装置と通信する通信装置と、
    上記記憶装置を用いて、利用されたサービス内容を記憶した利用記録情報と、上記利用記録情報を識別する記録識別情報とを複数記憶する利用記録記憶部と、
    上記処理装置を用いて、上記利用記録記憶部が記憶した上記記録識別情報を入力し、上記処理装置を用いて、入力した上記記録識別情報のリストを生成し、上記通信装置を用いて、上記端末装置に対して、生成した上記記録識別情報のリストを送信する記録識別送信部と、
    上記通信装置を用いて、上記端末装置から、上記記録識別送信部が送信した上記記録識別情報のリストのなかから、上記端末装置が選択した複数の記録識別情報を受信し、上記処理装置を用いて、受信した上記記録識別情報を出力する選択識別受信部と、
    上記処理装置を用いて、上記選択識別受信部が出力した複数の上記記録識別情報を入力し、上記処理装置を用いて、入力した複数の上記記録識別情報によって識別される複数の上記利用記録情報を入力し、上記処理装置を用いて、入力した複数の上記利用記録情報に基づいて、上記端末装置に対して送信する送信利用記録情報を生成し、上記処理装置を用いて、生成した上記送信利用記録情報を出力する送信利用記録生成部と、
    上記処理装置を用いて、上記送信利用記録生成部が出力した上記送信利用記録情報を入力し、上記通信装置を用いて、上記端末装置に対して、入力した上記送信利用記録情報を送信する利用記録送信部と、
    上記通信装置を用いて、上記端末装置が記憶した利用履歴情報上記利用記録送信部が送信した上記送信利用記録情報に基づい上記端末装置が生成した上記端末装置が利用したサービス内容に関する情報を、上記端末装置から受信し、上記処理装置を用いて、受信した上記情報を匿名履歴情報として出力する匿名履歴受信部と、
    上記記憶装置を用いて、上記端末装置に対して提供すべきサービス情報を記憶するサービス情報記憶部と、
    上記処理装置を用いて、上記匿名履歴受信部が出力した上記匿名履歴情報を入力し、上記処理装置を用いて、上記サービス情報記憶部が記憶したサービス情報のなかから、入力した上記匿名履歴情報に基づいて、上記端末装置にとって有用な情報を選択し、上記処理装置を用いて、選択した上記サービス情報を出力するサービス情報選択部と、
    を有することを特徴とするサーバ装置。
  13. 請求項1乃至請求項9のいずれかに記載の端末装置を有することを特徴とする履歴サービス提供システム。
JP2006195678A 2006-07-18 2006-07-18 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム Expired - Fee Related JP4813278B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006195678A JP4813278B2 (ja) 2006-07-18 2006-07-18 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006195678A JP4813278B2 (ja) 2006-07-18 2006-07-18 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム

Publications (2)

Publication Number Publication Date
JP2008026955A JP2008026955A (ja) 2008-02-07
JP4813278B2 true JP4813278B2 (ja) 2011-11-09

Family

ID=39117556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006195678A Expired - Fee Related JP4813278B2 (ja) 2006-07-18 2006-07-18 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム

Country Status (1)

Country Link
JP (1) JP4813278B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5956272B2 (ja) * 2012-07-26 2016-07-27 Kddi株式会社 ソーシャルメディアにおけるユーザ信頼度推定装置、方法、プログラムおよび記録媒体
JP7146023B1 (ja) 2021-06-04 2022-10-03 三菱電機株式会社 匿名化装置、分析システム、匿名化方法及び匿名化プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290934A (ja) * 2000-04-06 2001-10-19 Toshiba Tec Corp 情報端末装置
JP4322455B2 (ja) * 2002-01-11 2009-09-02 株式会社日立製作所 記録情報の原本性確認方法およびシステム
JP4417132B2 (ja) * 2004-02-19 2010-02-17 日本電信電話株式会社 プライバシ情報管理サーバ及び方法並びにプログラム

Also Published As

Publication number Publication date
JP2008026955A (ja) 2008-02-07

Similar Documents

Publication Publication Date Title
JP6814147B2 (ja) 端末、方法、不揮発性記憶媒体
KR101497782B1 (ko) 다른 채널에 대한 다른 데이터 부분들을 이용한 다른 엔티티들 간의 통신을 위한 시스템 및 방법
EP3465523B1 (en) Secure collection of sensitive data
US20100153273A1 (en) Systems for performing transactions at a point-of-sale terminal using mutating identifiers
US20120005474A1 (en) Information system and method of identifying a user by an application server
JP2008527905A (ja) セキュリティコード生成方法、セキュリティコード生成方法を用いた方法、及びセキュリティコード生成方法のためのプログラム可能な装置
WO2004095772A1 (ja) 機器認証システム
KR101745706B1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
CN101689236B (zh) 安全登录协议
JP4979210B2 (ja) ログイン情報管理装置及び方法
JP4611988B2 (ja) 端末装置
JPWO2003105037A1 (ja) 購入者携帯端末と共働するデータ通信仲介装置
JP2002157226A (ja) パスワード集中管理システム
JP4813278B2 (ja) 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム
WO2011058629A1 (ja) 情報管理システム
JP2008011092A (ja) 暗号化コンテンツ検索方式
JP2008502045A (ja) 電子商取引の確保
JP3497936B2 (ja) 個人認証方法
JP2007065789A (ja) 認証システム及び方法
JP2006302116A (ja) 認証システム、認証サーバ、端末装置、認証方法およびプログラム
JP7306170B2 (ja) 通信プログラムおよび通信方法
CN116527230B (zh) 一种金融信贷征信数据防泄露方法及***
US8607047B2 (en) Mobile system, service system, and service providing method to securely transmit private information for use in service
JP2006311112A (ja) Id管理方法及び管理装置
JPH11145949A (ja) 個人情報安全運用方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees