以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の情報処理システムは、
第1と第2の情報処理装置(例えば、図27のPK22とサービスシステム24)とを含む情報処理システム(例えば、図27のサービス提供システム)において、
前記第1の情報処理装置は、
ユーザに関連する情報である個人関連情報を記憶する個人関連情報記憶手段(例えば、図8の記憶部38)と、
前記個人関連情報のうちの、前記第2の情報処理装置に対して提供することが許可された許可情報を取得する許可情報取得手段(例えば、図30のステップS701の処理)と、
前記ユーザの人体とアンテナ(例えば、図27のアンテナ121)との間の距離により制御される通信によって、前記許可情報を、前記第2の情報処理装置に送信する送信手段(例えば、図30のステップS702の処理)と
を有し、
前記第2の情報処理装置は、
前記ユーザの人体とアンテナとの間の距離により制御される通信によって、前記第1の情報処理装置から送信されてくる前記許可情報を受信する受信手段(例えば、図29のステップS681の処理)と、
外部に提供する情報の中から、前記ユーザに提供する情報を、前記許可情報に応じて取得する情報取得手段(例えば、図29のステップS683の処理)と、
前記情報取得手段において取得された情報を、前記ユーザに提供する提供手段(例えば、図29のステップS684の処理)と
を有する
ことを特徴とする。
請求項2に記載の情報処理装置は、
他の装置(例えば、図27のサービスシステム24)と通信を行う情報処理装置(例えば、図27のPK22)において、
ユーザに関連する情報である個人関連情報を記憶する個人関連情報記憶手段(例えば、図8の記憶部38)と、
前記個人関連情報のうちの、前記他の装置に対して提供することが許可された許可情報を取得する許可情報取得手段(例えば、図30のステップS701の処理)と、
前記ユーザの人体とアンテナ(例えば、図27のアンテナ121)との間の距離により制御される通信によって、前記許可情報を、前記他の装置に送信する送信手段(例えば、図30のステップS702の処理)と、
前記ユーザの人体とアンテナとの間の距離により制御される通信によって、前記他の装置が前記許可情報に応じて送信してくる情報を受信する受信手段(例えば、図30のステップS703の処理)と
を備えることを特徴とする。
請求項3に記載の情報処理装置は、
前記受信手段において受信された情報を出力する出力手段(例えば、図30のステップS704の処理)をさらに備える
ことを特徴とする。
請求項4に記載の情報処理装置は、
前記他の装置との間で認証を行う認証手段(例えば、図28のステップS663乃至S665の処理)をさらに備え、
前記認証が成功した場合に、前記許可情報が、前記他の装置に送信される
ことを特徴とする。
請求項6に記載の情報処理方法は、
他の装置と通信を行う情報処理装置の情報処理方法において、
ユーザに関連する情報である個人関連情報を記憶する個人関連情報記憶手段に記憶されている個人関連情報のうちの、前記他の装置に対して提供することが許可された許可情報を取得する許可情報取得ステップ(例えば、図30のステップS701)と、
前記ユーザの人体とアンテナとの間の距離により制御される通信によって、前記許可情報を、前記他の装置に送信する送信ステップ(例えば、図30のステップS702)と、
前記ユーザの人体とアンテナとの間の距離により制御される通信によって、前記他の装置が前記許可情報に応じて送信してくる情報を受信する受信ステップ(例えば、図30のステップS703)と
を含むことを特徴とする。
請求項7に記載のプログラム、および請求項8に記載の記録媒体に記録されているプログラムは、
他の装置と通信を行うコンピュータに実行させるプログラムにおいて、
ユーザに関連する情報である個人関連情報を記憶する個人関連情報記憶手段に記憶されている個人関連情報のうちの、前記他の装置に対して提供することが許可された許可情報を取得する許可情報取得ステップ(例えば、図30のステップS701)と、
前記ユーザの人体とアンテナとの間の距離により制御される通信によって、前記許可情報を、前記他の装置に送信させる送信ステップ(例えば、図30のステップS702)と、
前記ユーザの人体とアンテナとの間の距離により制御される通信によって、前記他の装置が前記許可情報に応じて送信してくる情報を受信させる受信ステップ(例えば、図30のステップS703)と
を含むことを特徴とする。
請求項9に記載の情報処理装置は、
他の装置(例えば、図27のPK22)と通信を行う情報処理装置(例えば、図27のサービスシステム24)において、
前記他の装置のユーザの人体とアンテナ(例えば、図27のアンテナ121)との間の距離により制御される通信によって、前記他の装置から送信されてくる、前記ユーザに関連する情報である個人関連情報のうちの前記情報処理装置に対して提供することが許可された許可情報を受信する受信手段(例えば、図29のステップS681の処理)と、
外部に提供する情報の中から、前記ユーザに提供する情報を、前記許可情報に応じて取得する情報取得手段(例えば、図29のステップS683の処理)と、
前記情報取得手段において取得された情報を、前記ユーザに提供する提供手段(例えば、図29のステップS684の処理)と
を備えることを特徴とする。
請求項12に記載の情報処理装置は、
前記ユーザが存在する位置であるユーザ位置を取得するユーザ位置取得手段(例えば、図29のステップS682の処理)をさらに備え、
前記情報取得手段は、前記ユーザに提供する情報を、前記ユーザ位置にも応じて取得する
ことを特徴とする。
請求項13に記載の情報処理装置は、
前記他の装置との間で認証を行う認証手段(例えば、図28のステップS643乃至S645の処理)をさらに備え、
前記認証が成功した場合に、前記情報取得手段において取得された情報が、前記ユーザに提供される
ことを特徴とする。
請求項15に記載の情報処理方法は、
他の装置と通信を行う情報処理装置の情報処理方法において、
前記他の装置のユーザの人体とアンテナとの間の距離により制御される通信によって、前記他の装置から送信されてくる、前記ユーザに関連する情報である個人関連情報のうちの前記情報処理装置に対して提供することが許可された許可情報を受信する受信ステップ(例えば、図29のステップS681)と、
外部に提供する情報の中から、前記ユーザに提供する情報を、前記許可情報に応じて取得する情報取得ステップ(例えば、図29のステップS683)と、
前記情報取得ステップにおいて取得された情報を、前記ユーザに提供する提供ステップ(例えば、図29のステップS684)と
を含むことを特徴とする。
請求項16に記載のプログラム、および請求項17に記載の記録媒体に記録されているプログラムは、
他の装置と通信を行うコンピュータに実行させるプログラムにおいて、
前記他の装置のユーザの人体とアンテナとの間の距離により制御される通信によって、前記他の装置から送信されてくる、前記ユーザに関連する情報である個人関連情報のうちの前記コンピュータに対して提供する提供することが許可された許可情報を受信させる受信ステップ(例えば、図29のステップS681)と、
外部に提供する情報の中から、前記ユーザに提供する情報を、前記許可情報に応じて取得する情報取得ステップ(例えば、図29のステップS683)と、
前記情報取得ステップにおいて取得された情報を、前記ユーザに提供する提供ステップ(例えば、図29のステップS684)と
を含むことを特徴とする。
次に、本発明の実施の形態について説明する。
本発明の実施の形態では、例えば、パーソナルネットワーク通信とPK(Personal Key)システムを利用することができる。そこで、まず、パーソナルネットワーク通信とPKシステムについて説明する。
パーソナルネットワーク通信とは、人体が介在する通信で、人体の近傍で行われる安定的な通信(人体近傍通信)である。人体が介在するパーソナルネットワーク通信の中には、人体とアンテナとの距離により制御される通信があり、そのような通信としては、例えば、準静電界通信がある。
準静電界通信は、人体近傍に、遠隔伝播せず閉域のみに成立する物理的性質(エバネッセント性)を有する、閉じた静電的な情報空間を形成する通信であり、この通信によれば、人体が微弱な静電気のアンテナとなり、人体の周囲の数センチメートル、または数メートルの限られた空間で通信することが可能となる。
準静電界通信の原理は、次の通りである。
即ち、例えば、電気双極子(ダイポールアンテナ)に電流を流した場合、そのダイポールアンテナから発生される電界は、マックスウェル方程式にしたがい、式(1)で表すことができる。
式(1)において、Erは、半径r方向の電界成分を表し、Eθは、角度θ方向の電界成分を表す。さらに、cosωtは、角周波数ωでの電荷の振動を表し、tは、時刻を表す。また、Aは、振動する2個の電荷の電荷量と、その2個の電荷どうしの間の距離とで定義される、電界の出力(振幅)(パワー)を表す係数である。さらに、θは、ダイポールアンテナの中心周りの角度を表し、rは、ダイポールアンテナの中心からの距離(単位は[m] )を表す。また、εは、誘電率を表し、kは、波数(単位は[1/m])を表す。さらに、jは、その後に続く値が虚数であることを表す。
式(1)によって表される電界ErとEθそれぞれのうち、距離(半径)rに線形に反比例する成分である放射電界E1rとE1θは、式(2)で表される。
また、式(1)によって表される電界ErとEθそれぞれのうち、距離rの2乗に反比例する成分である誘導電磁界E2rとE2θは、式(3)で表される。
さらに、式(1)によって表される電界ErとEθそれぞれのうち、距離rの3乗に反比例する成分E3rとE3θは、式(4)で表される。
式(4)で表される成分E3rとE3θが、準静電界である。
ここで、図1は、マックスウェル方程式をダイポールアンテナに適用して得られる放射電界E1rおよびE1θ、誘導電磁界E2rおよびE2θ、準静電界E3rおよびE3θそれぞれの電界強度と距離rとの関係を示している。
なお、図1では、周波数f(=ω/(2π))は、1[MHz]としてある。
図1において、放射電界、誘導電磁界、準静電界それぞれの電界強度が等しくなる距離である強度境界距離が存在するが、この強度境界距離よりも遠方では、放射電界が支配的となり、強度境界距離よりも近傍では、準静電界が支配的となる。
マックスウェル方程式によれば、式(5)を満たすrが、強度境界距離となる。
式(5)における波数kは、光速をc(c=3 ×108[m/s])とするとともに、周波数をf(=ω/(2π))とすると、式(6)で表される。
式(5)と式(6)から、強度境界距離rは、式(7)で表される。
図2は、式(7)によって表される強度境界距離rと、周波数fとの関係を示している。
強度境界距離rは、周波数fに対して一意に求められる。
従って、いま、図3に示すように、送信端末TXから複数であるN個の強度境界距離r1,r2,・・・rNを設定すると、その強度境界距離r1,r2,・・・rNそれぞれに対して、式(7)式を満たす周波数f1,f2,・・・,fNでそれぞれ振動するN個の準静電界(図中破線で表わしてある部分)が支配的となる空間を形成することができる。但し、r1<r2<・・・<rNであるとすると、f1>f2>・・・>fNである。
ここで、強度境界距離rnと、その強度境界距離rnに対して式(7)式を満たす周波数fnとの関係により(n=1,2,・・・,N)、準静電界通信を行う送信端末TXと受信端末RXとの間の距離を求めることができる。
即ち、例えば、送信端末TXにおいて、2種類の周波数それぞれで振動する2つの電界を、同一出力(パワー)で形成し、その電界内を、所定のレベルTH以上の電界強度を受信することができる受信端末RXが移動するとする。この場合、受信端末RXは、送信端末TXが形成した電界内の、所定のレベルTH以上の電界強度を受信することができる範囲(距離)において、送信端末TXと通信することができる。
図4は、送信装置TXが形成する2つの電界の周波数を、それぞれ、例えば、5[MHz]と50[MHz]として、その2つの電界それぞれの放射電界、誘導電磁界、および準静電界の電界強度と、距離rとの関係を示している。
図4では、5[MHz]の周波数の電界については、受信端末RXが受信することができる所定レベルTH(図4では、10-2となっている)以上の電界強度が得られる距離(図4では、10[m]になっている)内において、準静電界が支配的となっている。
一方、50[MHz] の周波数の電界については、受信端末RXが受信することができる所定レベルTH以上の電界強度が得られる距離のうちの1[m]までは、準静電界が支配的となっているが、1[m]を越えると、放射電界が支配的となっている。
そこで、送信端末TXにおいて、図4における5[MHz] の周波数の電界と同様に、受信端末RXが受信することができる所定レベルTH以上の電界強度が得られる距離内のみにおいて、準静電界が支配的となるように、50[MHz] の周波数の電界の出力を調整すると、図4に示した電界強度と距離rとの関係は、図5に示すようになる。
送信端末TXにおいて、上述のように、電界の出力を調整することで、5[MHz]および50[MHz]のいずれの周波数でも、受信端末RXが受信することができる所定のレベルTH以上の電界強度の電界内では、準静電界が支配的となる。
従って、送信端末TXにおいて、その送信端末TX(のアンテナ)から強度境界距離rnの位置で、その強度境界距離rnに対して式(7)を満たす周波数fnの電界の電界強度が、受信端末RXが受信することができる所定レベルTHとなるように、周波数fnの電界の出力を調整することで、送信端末TXと受信端末RXとが通信可能な空間として、周波数fnで振動する準静電界が支配的となる空間を確実に形成することができる。
さらに、この場合、受信端末RXで受信することができた準静電界の周波数に基づいて、送信端末TXと受信端末RXとの間の距離を検出することができる。
いま、送信端末TXにおいて、周波数fnの電界の出力を、上述のように調整するための係数として、出力調整係数Anを導入し、式(1)乃至式(4)の係数Aを、出力調整係数Anに置き換える。この場合、周波数fnの電界の、強度境界距離rnにおける電界強度の絶対値Enは、式(8)で表される。
なお、式(8)における出力調整係数Anは、強度境界距離rnにおいて電界強度の絶対値Enが所定のレベルTHとなる値にすれば良い。
準静電界の電界強度は、距離rの3乗に反比例するため、強度境界距離rnの範囲において、周波数fnの準静電界が支配的となる空間を、放射電界や誘導電磁界に比して明確に形成することができる。
従って、送信端末TXにおいて、周波数fnの電界の出力を、出力調整係数Anによって調整した場合、受信端末RXが、周波数fnの準静電界の信号を受信することができるかどうかによって、送信端末TXと受信端末RXとの間の距離を、高精度に検出することができる。
即ち、例えば、いま、図6に示すように、送信端末TXが、上述のように出力を調整した3つの周波数f1,f2,f3の電界を出力するものとすると、受信端末RXが、周波数f1乃至f3のすべての準静電界を受信することができる場合、送信端末TXと受信端末RXとの間の距離rは、周波数f1に対応する強度境界距離r1以下であることを検出することができる。
また、受信端末RXが、周波数f2とf3の両方の準静電界のみを受信することができる場合、送信端末TXと受信端末RXとの間の距離rは、周波数f1に対応する強度境界距離r1より大きく、かつ、周波数f2に対応する強度境界距離r2以下であることを検出することができる。
さらに、受信端末RXが、周波数f3の準静電界のみを受信することができる場合、送信端末TXと受信端末RXとの間の距離rは、周波数f2に対応する強度境界距離r2より大きく、かつ、周波数f3に対応する強度境界距離r3以下であることを検出することができる。
そして、受信端末RXが、周波数f1乃至f3のいずれの準静電界も受信することができない場合、送信端末TXと受信端末RXとの間の距離rは、周波数f3に対応する強度境界距離r3よりも大きいことを検出することができる。
以上のような準静電界が支配的となる空間において、その電界強度の変化を検出することにより行われる通信が準静電界通信である。
そして、上述したことから、準静電界が支配的となる空間は、電界を出力する送信端末TX(のアンテナ)から、その電界の周波数fnに対応する強度境界距離rn内の空間として明確に形成されるので、準静電界通信によれば、準静電界が支配的となる空間において、確実、かつ安定して、通信を行うことができる。
ところで、人体に放射電界や誘導電磁界を発生させるには、人体に電流を流す必要がある。しかしながら、人体のインピーダンスは高いので、人体に電流を効率的に流すことは困難である。
一方、日常生活において静電気を体感するように、人体は帯電しやすい。そして、人体表面の帯電により、準静電界が発生する。人体は、極めて少ない電荷の移動により帯電し、その帯電の変化は、瞬間的に人体表面周囲に伝わって、その周囲からほぼ等方向へ準静電界の等電位面が形成される。そして、準静電界が支配的となる空間内では、放射電界や誘導電磁界の影響が少ないので、人体は、アンテナとして効率的に機能する。
このように、人体表面に形成される、準静電界が支配的となる空間において、その電界強度の変化を検出することにより行われる通信が、人体近傍通信としての準静電界通信である。
従って、例えば、ユーザが、送信端末TXを携帯した場合、そのユーザの人体表面には、送信端末TXが出力する電界のうちの準静電界が支配的となる空間(以下、適宜、準静電界空間という)が、その人体表面から、準静電界の周波数に対応する強度境界距離の範囲に形成される。そして、受信端末RXと、ユーザが携帯している送信端末TXとの間では、受信端末RXのアンテナが、ユーザの人体表面に形成された準静電界空間内に存在する場合にのみ、即ち、受信端末RXのアンテナが、人体表面から強度境界距離の範囲に存在する場合にのみ、ユーザの人体を介して、準静電界通信を行うことができる。
このことから、人体近傍通信としての準静電界通信は、ユーザの人体と、受信端末RXのアンテナとの距離に応じて(通信の可否が)制御される通信であるということができる。
以上のような人体近傍通信としての準静電界通信によれば、送信端末TXによる電界の出力(パワー)と周波数とを適切に設定することにより、送信端末TXを携帯しているユーザの人体と、受信端末RX(のアンテナ)とが近傍に位置しているときのみ、即ち、例えば、数センチメートル乃至数十センチメートル以内に近接したとき、あるいは、接触するほどに近接したとき、または接触したときのみ、準静電界通信が行われるようにすることができる。
従って、送信端末TXを携帯しているユーザが、例えば、ICカードとリーダ/ライタとの間の通信のように、送信端末TXを、受信端末RXにかざさなくても、送信端末TXと受信端末RXとの間で通信を行うことができる。
即ち、ユーザがICカードを衣服のポケットに入れる等して携帯している場合に、そのICカードとリーダ/ライタとの間で通信を行わせるためには、ユーザは、ICカードをポケットから取り出し、リーダ/ライタに近づけるといった、ICカードとリーダ/ライタとの間で通信を行わせるための明示的な行為を行う必要がある。
これに対して、準静電界通信によれば、送信端末TXを携帯しているユーザ自身が、受信端末RX(のアンテナ)に近接すると、送信端末TXと受信端末RXとの間で通信を行わせるための明示的な行為を行わなくても、送信端末TXと受信端末RXとの間で通信を行うことが可能となる。
なお、送信端末TXと受信端末RXとを入れ替えても、即ち、ユーザが受信端末RXを携帯している場合も、上述の場合と同様である。
次に、本発明の実施の形態で利用するPKシステムについて説明する。
図7は、PKシステムの構成例を表すブロック図である。
ネットワーク21は、例えば、インターネットやLAN(Local Area Network)その他の有線または無線のネットワークである。図7では、ネットワーク21には、pBase23やサービスシステム24(図7では、4つのサービスシステム24−1,24−2,24−3,24−4)が接続されている。
PK(Personal Key)22は、その所有者であるユーザに関する情報である個人関連情報を記憶する携帯可能な小型のコンピュータなどで構成される。図7において、ユーザは、PK22を、例えば、衣服のポケットに入れる等することにより携帯している。
ここで、個人関連情報とは、単に、名前、住所などそのユーザを特定するための情報だけでなく、嗜好情報、認証情報、点数情報、他の人からもらった情報などを含む、そのユーザに関連する様々な情報を意味する。以下においては、個人関連情報を、PMD(Personal Meta Data)ともいう。
PK22は、サービスシステム24の周囲のエリアRにおいて、そのサービスシステム24と通信する。また、PK22は、近傍の、図示せぬ情報機器との間でも通信を行うことができる。
なお、PK22とサービスシステム24等との間では、例えば、RF(Radio Frequency)通信、準静電界通信、光通信などの無線通信、または有線通信を行うことができるが、ここでは、例えば、上述した人体近傍通信としての準静電界通信が行われるものとする。従って、PK22およびサービスシステム24は、いずれも、図3や図6で説明した送信端末TXと受信端末RXと同一の通信機能を有している。この場合、図7のエリアRは、ユーザの人体表面から近傍の範囲である。
また、PK22は、暗号鍵に基づいて情報を暗号化する暗号化機能を有しており、サービスシステム24等と通信する場合、さらには、後述するように、サービスシステム24を介してpBase23等と通信する場合には、情報を暗号化して送信する。PK22の通信相手となるpBase23やサービスシステム24も同様である。
pBase23は、コンピュータで構成され、PK22のユーザのPMD(Personal Meta Data)を記憶する。また、pBase23は、ネットワーク21に接続されており、サービスシステム24、さらにはサービスシステム24を介してPK22と通信することができる。
なお、pBase23は、例えば、PK22のユーザのユーザ宅のホームサーバ(図示せず)などで構成することができる。また、pBase23は、その他、例えば、インターネット上のサーバで構成することもでき、この場合、pBase23には、PK22のユーザ以外のユーザのPMDも記憶させることができる。
サービスシステム24は、コンピュータなどにより構成され、ネットワーク21を介して、pBase23と通信することができる。また、サービスシステム24は、準静電界通信用のアンテナ25を有し、そのアンテナ25およびユーザの人体を介し、PK22との間で、準静電界通信を行う。サービスシステム24は、PK22との間で、準静電界通信を行うことにより、例えば、情報提供、買い物代金の決済などのサービスをユーザに提供する。また、サービスシステム24は、PK22との間で、準静電界通信を行うことにより、ネットワーク21を介したPK22とpBase23との間の通信の中継を行う。即ち、この場合、サービスシステム24は、PK22とpBase23との間の通信の、いわばアクセスポイントとして機能する。
なお、アンテナ25は、サービスシステム24の近くに設置することもできるし、サービスシステム24から離れた位置に設置することもできる。
ここで、サービスシステム24は、例えば、webページや音楽情報など提供するコンテンツサーバ、クレジットカードによる決済などを行うクレジットカード処理サーバ、チャットなどのコミュニケーションを制御するコミュニケーションサーバなどとして、サービスを提供するものとすることができる。
また、図7では、サービスシステム24として、4つのサービスシステム24−1乃至24−4を図示してあるが、サービスシステム24は、4つに限定されるものではない。
さらに、サービスシステム24は、サーバに限られるものではなく、パーソナルコンピュータや、コンソール端末、各種のコンシューマエレクトロニクス機器(CE機器)などであっても良い。
また、サービスシステム24は、ネットワーク21に接続されていなくても良い。
さらに、サービスシステム24−i(図7では、i=1,2,3,4)は、他のサービスシステム24−j(図7では、j=1,2,3,4で、j≠i)がPK22と準静電界通信を行っている場合には、ネットワーク21を介して、他のサービスシステム24−jと通信し、PK22のユーザに対して、サービスを提供することができる。
次に、図8は、図7のPK22のハードウェア構成例を示すブロック図である。
CPU(Central Processing Unit)31は、ROM(Read Only Memory)32に記憶されているプログラム、または記憶部38からRAM(Random Access Memory)33にロードされたプログラムに従って各種の処理を実行する。RAM33にはまた、CPU31が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU31,ROM32、およびRAM33は、バス34を介して相互に接続されている。このバス34にはまた、入出力インタフェース35も接続されている。
入出力インタフェース35には、スイッチ、ボタン、タッチパネル、マイク(マイクロフォン)などよりなる入力部36、およびドットマトリックスディスプレイ、スピーカ、振動モータなどにより構成され、画像、音声、点字または振動などによりユーザに提示する情報を出力する出力部37が接続されている。さらに、入出力インタフェース35には、ハードディスク、またはEEPROM(Electrically Erasable and Programmable Read Only Memory)などにより構成される記憶部38、少なくとも準静電界通信を行う機能(図3や図6の送信端末TXおよび受信端末RXの機能)を有する通信部39が接続されている。なお、通信部39は、その他、RF通信(電磁波通信)や、光通信、ネットワーク21を介した通信などを行う機能を有していても良い。
入出力インタフェース35には、必要に応じてドライブ40が接続される。ドライブ40には、後述する各種の処理をCPU31に実行させるプログラムが記録された記録媒体として、例えば、リムーバブルメディア41が装着される。リムーバブルメディア41に記録されたプログラムは、必要に応じて読み出され、記憶部38にインストールされる。
次に、図9は、図7のpBase23のハードウェア構成例を示すブロック図である。
pBase23は、図8に示したPK22と同様に構成されている。即ち、図9のCPU51乃至リムーバブルメディア61は、図8のCPU31乃至リムーバブルメディア41に対応している。各部の機能は、図8の場合と同様であり、詳細な説明は省略する。但し、通信部59は、準静電界通信ではなく、ネットワーク21を介した通信を行う機能を、少なくとも有している。
また、サービスシステム24も図9と同様の構成であり、同図を適用する。但し、サービスシステム24の通信部59は、少なくとも、準静電界通信と、ネットワーク21を介した通信とを行う機能を有している。
次に、図10は、PK22の記憶部38の記憶内容を示している。
PK22の記憶部38には、少なくとも、プログラムとしてのモジュール群71と、PMDB72とが記憶される。
モジュール群71は、サービスシステム24からサービスの提供を受ける等のためにPK22のCPU31が実行するプログラム(モジュール)である通信モジュール81、ユーザ制御許可入力モジュール82、許可項目確認モジュール83、なりすまし防止モジュール84、PMD変更モジュール85、およびDBアクセスモジュール86を有している。
通信モジュール81は、図8の通信部39を制御して通信を行う。ユーザ制御許可入力モジュール82は、PMDに対するアクセスの許可のユーザの指定を受け付ける。許可項目確認モジュール83は、サービスシステム24からアクセス要求があったPMDについて、そのアクセス可否を判断する。なりすまし防止モジュール83は、サービスシステム24の、いわゆるなりすましを防止する。処理(なりすまし防止処理)を行うPMD変更モジュール85は、PMDの変更を制御する。DBアクセスモジュール86は、ユーザ制御許可入力モジュール82乃至PMD変更モジュール85の指令(要求)に基づいて、PMDB72にアクセスし、PMDの読み出しまたは変更を行う。
PMDB72は、PMDにより構成されるデータベースである。PMDB72には、サービスシステム24(またはサービスシステム24によって提供されるサービス)に固有のID(Identification)であるサービスIDに対応するディレクトリが構成され、各ディレクトリに、PMDが記憶される。
図10においては、サービスID1に対応するディレクトリ、サービスID2に対応するディレクトリ、・・・が構成されている。
サービスID1に対応するディレクトリには、PMDとしてのアクセス許可情報、メタデータA−1、メタデータA−2、メタデータA−3、・・・が記憶されている。
アクセス許可情報は、そのディレクトリに記憶されている情報に対する、サービスシステム24からのアクセスの可否を表す情報であり、ユーザにより設定される。メタデータA−1、メタデータA−2、およびメタデータA−3、・・・は、サービスID1に対応するサービスシステム24において利用されるメタデータであり、例えば、サービスID1に対応するサービスシステムが、映画やテレビ番組などのコンテンツを提供するコンテンツサーバである場合、メタデータA−1、メタデータA−2、およびメタデータA−3、・・・としては、例えば、ユーザが視聴した映画や番組を表すメタデータが記憶される。
その他、PMDとしては、サービスシステム24がPK22(ユーザ)を特定するためのユーザID、後述するなりすまし防止処理において必要となる合言葉または暗号鍵などの認証情報、視聴された番組に基づくユーザの嗜好情報などが記憶される。
サービスID2に対応するディレクトリにも、サービスID1に対応するディレクトリと同様に、アクセス許可情報、メタデータB−1、メタデータB−2、メタデータB−3、・・・などのPMDが記憶されている。
ここで、PK22が、新たなサービスシステム24を利用する場合、PMDB72には、その新たなサービスシステム24のサービスIDに対応するディレクトリが生成され、そのディレクトリに、必要なPMDが記憶される。
図11は、PK22のPMDB72に、新たなサービスシステム24のサービスIDに対応するディレクトリが生成されるときにPK22とサービスシステム24で行われる処理、即ち、PK22に、新たなサービスシステム24に対応するサービスIDを登録(初期登録)するときに行われる処理を示すアローチャート(フローチャート)である。
なお、上述したように、PK22とサービスシステム24との間では、準静電界通信が行われる。従って、PK22とサービスシステム24との間の通信は、PK22を携帯しているユーザが、サービスシステム24に近接しているときに、即ち、PK22を携帯しているユーザの人体表面に形成された、準静電界が支配的となる空間内に、サービスシステム24のアンテナ25(図7)が存在するときに、逆に言えば、サービスシステム24のアンテナ25表面に形成された準静電界が支配的となる空間内に、ユーザの人体の少なくとも一部が存在するときに行われる。
まず最初に、ステップS1において、サービスシステム24は、PK22に対して、登録要求、サービスID、および、そのサービスシステム24で読み出し変更対象となるメタデータを表す情報を送信し、ステップS21において、PK22の通信モジュール81により、これが受信される。
ここで、サービスシステム24で読み出し変更対象となるメタデータ(読み出し変更対象メタデータ)とは、サービスシステム24が、参照のみ行うメタデータと、内容の変更を行うメタデータとの両方が含まれる。
その後、ステップS22において、PK22の通信モジュール81は、許可項目確認モジュール83に、サービスシステム24から受信した情報を転送し、許可項目確認モジュール83は、ステップS41において、PK22の通信モジュール81からの情報を受信して、ステップS42に進む。
ステップS42では、許可項目確認モジュール83は、通信モジュール81から受信した情報に基づいて、読み出し変更対象メタデータをユーザに提示する。即ち、例えば、読み出し変更対象メタデータの内容が、ドットマトリックスディスプレイ等に文字または図形等で表示されるか、スピーカを通じて音声により読み上げられる。
そして、ステップS43において、許可項目確認モジュール83は、ユーザ制御許可入力モジュール82に対して、確認要求を出力し、ユーザ制御許可入力モジュール82は、ステップS61においてこれを受信する。そして、ユーザ制御許可入力モジュール82は、ステップS62において、ステップS42でユーザに提示された読み出し変更対象メタデータに対するアクセスを、ユーザが拒否したか否かを判定し、拒否したと判定した場合、拒否信号を、通信モジュール81に出力する。この場合、通信モジュール81は、ステップS23において、ユーザ制御許可入力モジュール82からの拒否信号を受信し、ステップS24に進み、その拒否信号を、サービスシステム24に送信する。
サービスシステム24は、ステップS2において、通信モジュール81からの拒否信号を受信し、その後、PK22とサービスシステム24は、処理を終了する。この場合、PK22において、サービスシステム24に対応するサービスIDの登録は行われない。
一方、ステップS62において、ステップS42で提示された読み出し変更対象メタデータに対するアクセスを、ユーザが拒否していないと判定された場合、ステップS63に進み、ユーザ制御許可入力モジュール82は、読み出し変更対象メタデータのそれぞれについて、例えば、「読み出しと変更を許可」、「読み出しのみ許可」などの情報を設定する。これらの情報はアクセス許可情報(図10)としてPMDB72に記憶される。
なお、読み出し変更対象メタデータに対する「読み出しと変更を許可」や「読み出しのみ許可」などの情報の設定は、ユーザの指定に基づいて行われる。
そして、ステップS64において、ユーザ制御許可入力モジュール82は、アクセス許可情報が設定されたことを、許可項目確認モジュール83に対して通知し、許可項目確認モジュール83は、ステップS44において、この通知を受信して、ステップS45に進む。ステップS45において、許可項目確認モジュール83は、なりすまし防止モジュール84に対して、確認コードの生成要求を送信し、なりすまし防止モジュール84は、ステップS81において、その生成要求を受信する。
なりすまし防止モジュール84は、確認コードの生成要求を受信すると、ステップS81からS82に進み、確認コードを生成する。
ここで、確認コードは、PK22とサービスシステム24が、次回通信を行うときのなりすまし防止方法を表すコードである。すなわち、不正なユーザ、または通信を盗聴した第3者などが、ユーザIDやサービスIDなどを詐称するなどして、PK22、またはサービスシステム24になりすましていないかを、相互に確認するための方法を表すコードが、確認コードである。
なりすまし防止方法としては、例えば、合言葉による認証(合言葉方式)、公開鍵により暗号化された情報による認証(公開鍵方式)、共通鍵により暗号化された情報による認証(共通鍵方式)などを採用することができる。PK22、サービスシステム24、またはPK22のユーザは、例えば、PK22と、サービスシステム24との通信において、どれだけの安全性が要求されるのか、どの程度、頻繁になりすまし防止のためのチェックを行うか、暗号鍵の管理方法の安全性と平易さ、暗号化と復号における演算量などを考慮して、最適ななりすまし防止方法を選択することができ、なりすまし防止モジュール84は、その選択されたなりすまし防止方法に対応する確認コードを生成する。なお、なりすまし防止の処理については、図12と図13を参照して後述する。
ステップS82において、なりすまし防止モジュール84は、確認コードを生成すると、その確認コードを、通信モジュール81に対して出力し、通信モジュール81は、ステップS25において、その確認コードを受信して、ステップS26に進む。ステップS26において、通信モジュール81は、ステップS25で受信した確認コードを、サービスシステム24に送信し、サービスシステム24は、ステップS3において、通信モジュール81からの確認コードを受信して記憶し、処理を終了する。
なお、PK22の通信モジュール81は、確認コードの他に、サービスシステム24がPK22(のユーザ)を特定するためのユーザIDもサービスシステム24に送信する。サービスシステム24は、通信モジュール81からの確認コードを、同じく通信モジュール81からのユーザIDと対応付けて記憶する。
ここで、ユーザIDは、サービスシステム24がPK22(のユーザ)を特定できるものであれば、どのような形式でもよい。また、PK22のユーザIDは、サービスシステムごとに異なっていても良く、また、あるサービスシステムが複数のサービスを提供する場合には、サービスごとに異なっていても良い。
一方、許可項目確認モジュール83は、ステップS45において、確認コードの生成要求を、なりすまし防止モジュール84に送信した後、ステップS46に進み、DBアクセスモジュール86に対して、サービスID登録要求を、ステップS41で受信したサービスシステム24からのサービスIDとともに出力する。DBアクセスモジュール86は、ステップS101において、許可項目確認モジュール83からのサービスID登録要求およびサービスIDを受信し、ステップS102に進み、図14を参照して後述するサービスID登録処理を実行して処理を終了する。
DBアクセスモジュール86がサービスID登録処理を実行することにより、PMDB72(図10)に、サービスシステム24からのサービスIDが登録、即ち、そのサービスIDに対応するディレクトリが生成される。
以上のように、PK22において、サービスシステム24に対応するサービスIDが登録されるとき、そのサービスシステム24が読み出しまたは変更を要求するPMDである読み出し変更対象メタデータが、ユーザに提示され、ユーザの指定に基づいて、「読み出しと変更を許可」するメタデータや、「読み出しのみ許可」するメタデータが設定されるので、ユーザは、サービスシステム24に対して提供するPMD(サービスシステム24が参照することができるPMD)や、サービスシステム24が変更することができるPMDを制限することができる。
従って、例えば、ユーザが知らないうちに、ユーザが公開したくないPMDが、サービスシステム24に提供されることを防止することができ、ユーザは、安心してサービスを受けることができる。
次に、PK22は、図11で説明したように、サービスシステム24と最初に通信を行うときに、そのサービスシステム24のサービスIDを登録し、確認コードを生成する。また、サービスシステム24も、PK22と最初に通信を行うときに、そのPK22で生成された確認コードと、PK22のユーザIDとを対応付けて記憶する。
PK22において、サービスシステム24のサービスIDが登録された後、サービスシステム24からサービスの提供を受けるために、サービスシステム24と通信するときには、そのサービスIDを登録したときに生成した確認コードに基づいて、なりすまし防止処理を行うことができる。
同様に、サービスシステム24においても、PK22のユーザIDと確認コードとを対応付けて記憶した後、PK22のユーザにサービスを提供するために、PK22と通信するときは、そのPK22のユーザIDと対応付けられた確認コードに基づいて、なりすまし防止処理を行うことができる。
そこで、図12および図13のアローチャートを参照して、PK22とサービスシステム24とが通信するときに行われるなりすまし防止処理について説明する。
図12は、合言葉による認証を利用したなりすまし防止処理を含む、PK22とサービスシステム24の処理を説明するアローチャートである。
図12のなりすまし防止処理では、PK22において、サービスシステム24がなりすましではないことを確認し、その後、サービスシステム24において、PK22がなりすましではないことを確認する。そして、PK22とサービスシステム24において、それぞれがなりすましではないことを確認することができた後、PMDの読み出し、または変更の処理が行われる。
ここで、図12の認証で用いられる合言葉は、例えば、所定のコードなどである。PK22は、サービスシステム24のサービスIDの登録時に、そのサービスIDに対応する合言葉として、サービスシステム24を認証するための合言葉(サービス合言葉)と、PK22を認証するための合言葉(PK合言葉)とを生成し、PMDB72に記憶させるようになっている。さらに、PK22は、サービスID登録時に、PMDB72に記憶させたサービス合言葉とPK合言葉を、サービスシステム24に送信するようになっている。そして、サービスシステム24は、PK22のユーザIDに、PK22からのサービス合言葉とPK合言葉を対応付けて記憶するようになっている。
まず最初に、ステップS121において、サービスシステム24は、自身のサービスIDと、PK22のユーザIDに対応付けて記憶しているサービス合言葉を、PK22に送信し、PK22の通信モジュール81は、ステップS141において、サービスシステム24からのサービスIDおよびサービス合言葉を受信する。
ここで、ステップS121では、サービスシステム24は、既に、PK22から、そのユーザIDを受信しており、そのユーザIDに対応付けて記憶しているサービス合言葉を、PK22に送信する。
PK22の通信モジュール81は、ステップS142において、ステップS141で受信したサービスシステム24からのサービスIDとサービス合言葉を、なりすまし防止モジュール84に転送し、なりすまし防止モジュール84は、ステップS171においてこれを受信して、ステップS172に進む。
ステップS172において、なりすまし防止モジュール84は、図15を参照して後述するサービスIDマッチング処理を実行して、ステップS173に進み、DBアクセスモジュール86に対して、サービスシステム24からのサービスIDに対応付けてPMDB72に記憶されているサービス合言葉およびPK合言葉、並びにユーザIDの要求を通知する。DBアクセスモジュール86は、ステップS191において、なりすまし防止モジュール84からの要求を受信し、ステップS192に進む。
ステップS192では、DBアクセスモジュール86は、なりすまし防止モジュール84から要求されたサービス合言葉およびPK合言葉、並びにユーザIDを、PMDB72から読み出し、なりすまし防止モジュール84に出力する。
なりすまし防止モジュール84は、ステップS174において、DBアクセスモジュール86からのサービス合言葉およびPK合言葉、並びにユーザIDを受信し、ステップS175に進む。ステップS175では、なりすまし防止モジュール84は、サービスシステム24からのサービス合言葉と、PMDB72に記憶されたサービス合言葉(ステップS174で受信したサービス合言葉)とを比較し、それらが一致するかどうかを判定する。
ステップS175において、サービスシステム24からのサービス合言葉と、PMDB72に記憶されたサービス合言葉とが一致しないと判定された場合、なりすまし防止モジュール84は、サービスシステム24が、なりすましである可能性があると判定し、通信モジュール81に対して、通信の拒否を表す拒否信号を出力する。
通信モジュール81は、ステップS143において、なりすまし防止モジュール84からの拒否信号を受信し、ステップS144に進み、その拒否信号を、サービスシステム24に送信する。そして、サービスシステム24は、ステップS122において、通信モジュール81からの拒否信号を受信する。
PK22は、以上のように、拒否信号を、サービスシステム24に送信した後は、サービスシステム24からのアクセスを拒否する。即ち、PK22は、サービスシステム24との通信を拒否する。
一方、ステップS175において、サービス合言葉が一致すると判定された場合、ステップS176に進み、なりすまし防止モジュール84は、サービスシステム24が、なりすましでないとして、ユーザIDと、PMDB72にサービスシステム24のサービスIDと対応付けて記憶されたPK合言葉(ステップS174で受信されたPK合言葉)とを、通信モジュール81に出力する。
通信モジュール81は、ステップS145において、なりすまし防止モジュール84からのユーザIDとPK合言葉を受信して、ステップS146に進み、そのユーザIDとPK合言葉を、サービスシステム24に送信する。
サービスシステム24は、ステップS123において、PK22(の通信モジュール81)からのユーザIDとPK合言葉を受信し、ステップS124に進む。ステップS124では、サービスシステム24は、PK22からのユーザIDに対応付けて記憶しているPK合言葉と、PK22からのPK合言葉(ステップS123で受信したPK合言葉)とを比較し、一致するか否かを判定する。
ステップS124において、PK合言葉が一致しないと判定された場合、PK22が、なりすましである可能性があるとして、サービスシステム24は、通信の拒否を表す拒否信号を、PK22に送信する。PK22では、ステップS177において、なりすまし防止モジュール84が、通信モジュール81を介して、サービスシステム24からの拒否信号を受信する。
サービスシステム24は、以上のように、拒否信号を、PK22に送信した後は、PK22からのアクセスを拒否する。即ち、サービスシステム24は、PK22との通信を拒否する。
一方、ステップS124において、PK合言葉が一致すると判定された場合、サービスシステム24は、PK22がなりすましでないことを確認することができたとして、ステップS125に進み、PK22に対してPMDの読み出し要求を送信する。
PK22の通信モジュール81は、ステップS147において、サービスシステム24からの読み出し要求を受信して、ステップS148に進み、その読み出し要求を、DBアクセスモジュール86に対して出力する。
DBアクセスモジュール86は、ステップS193において、通信モジュール81からの読み出し要求を受信して、ステップS194に進み、その読み出し要求によって要求されているPMDを、PMDB72の、サービスシステム24のサービスIDに対応するディレクトリから読み出す。
ここで、ステップS194では、DBアクセスモジュール86は、読み出し要求によって要求されているPMDの読み出しが許可されているかどうかを、サービスシステム24のサービスIDに対応するディレクトリのアクセス許可情報(図10)を参照することにより確認し、読み出し要求によって要求されているPMDのうち、読み出しが許可されているPMDのみを、PMDB72から読み出す。
その後、ステップS195に進み、DBアクセスモジュール86は、PMDB72から読み出したPMDを、通信モジュール81に対して出力し、通信モジュール81は、ステップS149において、そのPMDを受信して、ステップS150に進む。
ステップS150では、通信モジュール81は、ステップS149で受信したPMDを、サービスシステム24に対して送信し、サービスシステム24は、ステップS126において、そのPMDを受信して、ステップS127に進む。
ステップS127では、サービスシステム24は、ステップS126でPK22から受信したPMDに基づいて、各種の処理(サービス対応処理)を実行する。ステップS127のサービス対応処理の結果、PK22からのPMDの変更が必要となる場合、サービスシステム24は、ステップS128に進み、PK22からのPMDを変更して、PK22に対して送信する。
PK22の通信モジュール81は、ステップS151において、サービスシステム24からのPMDを受信して、ステップS152に進み、そのPMDを、DBアクセスモジュール86に対して出力する。
DBアクセスモジュール86は、ステップS196において、通信モジュール81からのPMD、即ち、サービスシステム24によって変更されたPMDを受信して、ステップS197に進み、そのPMDの変更が許可されているかどうかを、PMDB72における、サービスシステム24のサービスIDに対応するディレクトリのアクセス許可情報(図10)を参照することにより確認する。さらに、ステップS197では、DBアクセスモジュール86は、サービスシステム24によって変更されたPMDに対応する、PMDB72のPMDのうち、変更が許可されているものを、サービスシステム24によって変更されたPMDにしたがって変更し(PMDの更新を行い)、処理を終了する。
以上のように、PK22において、サービス合言葉の一致性よるサービスシステム24のなりすましの確認を行うとともに、サービスシステム24において、PK合言葉の一致性によるPK22のなりすましの確認を行うので、安全なサービスの提供を行うことができる。
なお、上述の場合には、PK22において、サービス合言葉の一致性を確認し、その後、サービスシステム24において、PK合言葉の一致性を確認するようにしたが、先に、サービスシステム24において、PK合言葉の一致性を確認し、その後、PK22において、サービス合言葉の一致性を確認することも可能である。
次に、図13は、公開鍵により暗号化された情報による認証を利用したなりすまし防止処理を含むPK22とサービスシステム24の処理を説明するアローチャートである。
図13のなりすまし防止処理では、PK22において、サービスシステム24がなりすましではないことを確認し、その後、サービスシステム24において、PK22がなりすましではないことを確認する。そして、PK22とサービスシステム24において、それぞれがなりすましではないことを確認することができた後、PMDの読み出し、または変更の処理が行われる。
なお、PK22とサービスシステム24は、例えば、RSA(Rivest, Shamir, Adeleman)などの公開鍵方式の暗号アルゴリズムによる情報の暗号化または復号の処理を実行する機能を有しているものとする。
そして、PK22において、サービスシステム24のサービスIDが登録されるときに、PK22では、サービスシステム24の公開鍵が、例えば、サービスシステム24から取得され、サービスシステム24のサービスIDに対応付けて、PMDB72に記憶されているものとする。同様に、サービスシステム24でも、PK22の公開鍵が、PK22から取得され、PK22のユーザIDに対応付けて記憶されているものとする。
さらに、PK22とサービスシステム24それぞれは、自身の秘密鍵を記憶しているものとする。
まず最初に、ステップS211において、サービスシステム24は、自身のサービスIDを、PK22に送信する。PK22の通信モジュール81は、ステップS241において、サービスシステム24からのサービスIDを受信して、ステップS242に進み、そのサービスIDを、なりすまし防止モジュール84に転送する。
なりすまし防止モジュール84は、ステップS281において、通信モジュール81から転送されてくる、サービスシステム24からのサービスIDを受信して、ステップS282に進み、図15を参照して後述するサービスIDマッチング処理を実行し、ステップS283に進む。
ステップS283では、なりすまし防止モジュール84は、DBアクセスモジュール86に対して、ユーザID、PK22の秘密鍵、およびサービスシステム24のサービスIDに対応する公開鍵の要求を通知し、DBアクセスモジュール86は、ステップS311において、その要求を受信する。
そして、DBアクセスモジュール86は、ステップS312に進み、なりすまし防止モジュール84から要求のあったユーザID、PK22の秘密鍵、およびサービスシステム24のサービスIDに対応する公開鍵を、PMDB72から読み出し、なりすまし防止モジュール84に供給する。
なりすまし防止モジュール84は、ステップS284において、DBアクセスモジュール86からのユーザID、PK22の秘密鍵、およびサービスシステム24のサービスIDに対応する公開鍵(サービスシステム24の公開鍵)を受信し、ステップS285に進む。
ステップS285では、なりすまし防止モジュール84は、サービスシステム24を認証するための、いわゆるチャンレンジコードを生成する。さらに、ステップS285では、なりすまし防止モジュール84は、チャレンジコードを、サービスシステム24の公開鍵で暗号化し、その結果得られる暗号化チャレンジコードを、ユーザIDとともに、通信モジュール81に出力する。
通信モジュール81は、ステップS243において、なりすまし防止モジュール84からの暗号化チャレンジコードとユーザIDを受信して、ステップS244に進み、その暗号化チャレンジコードとユーザIDを、サービスシステム24に送信する。
サービスシステム24は、ステップS212において、PK22(の通信モジュール81)からの暗号化チャレンジコードとユーザIDを受信し、ステップS213に進む。
ステップS213では、サービスシステム24は、PK22からの暗号化チャレンジコードを、自身の秘密鍵により、チャレンジコードに復号する。さらに、ステップS213では、サービスシステム24は、そのチャレンジコードを、いわゆるレスポンスコードとして、そのレスポンスコードを、ステップS212でPK22から受信したユーザIDと対応付けて記憶している公開鍵(PK22の公開鍵)で暗号化し、その結果得られる暗号化レスポンスコードを、PK22に対して送信する。
PK22の通信モジュール81は、ステップS245において、サービスシステム24からの暗号化レスポンスコードを受信して、ステップS246に進み、その暗号化レスポンスコードを、なりすまし防止モジュール84に対して出力する。
なりすまし防止モジュール84は、ステップS286において、通信モジュール81からの暗号化レスポンスコードを受信し、その暗号化レスポンスコードを、自身の秘密鍵で、レスポンスコードに復号して、ステップS287に進む。
ステップS287では、なりすまし防止モジュール84は、レスポンスコードと、ステップS285で生成したチャレンジコードと比較して、そのチャレンジコードとレスポンスコードが一致しているか否かを判定する。
ステップS287において、チャレンジコードとレスポンスコードが一致しないと判定された場合、サービスシステム24が、なりすましである可能性があるとして、なりすまし防止モジュール84は、通信モジュール81に対して、通信の拒否を表す拒否信号を通知する。
通信モジュール81は、ステップS247において、なりすまし防止モジュール84からの拒否信号を受信して、ステップS248に進み、その拒否信号を、サービスシステム24に送信する。そして、サービスシステム24は、ステップS214において、通信モジュール81からの拒否信号を受信する。
PK22は、以上のように、拒否信号を、サービスシステム24に送信した後は、サービスシステム24からのアクセスを拒否する。即ち、PK22は、サービスシステム24との通信を拒否する。
一方、ステップS287において、チャレンジコードとレスポンスコードが一致すると判定された場合、ステップS288に進み、なりすまし防止モジュール84は、サービスシステム24がなりすましでないことが確認できたことを表すOKコードを、通信モジュール81を介して、サービスシステム24に送信する。
サービスシステム24は、ステップS215において、PK22からのOKコードを受信して、ステップS216に進み、PK22を認証するためのチャレンジコードを生成する。さらに、ステップS216において、サービスシステム24は、そのチャレンジコードを、PK22のユーザIDに対応付けて記憶している公開鍵(PK22の公開鍵)で暗号化し、その結果得られる暗号化チャレンジコードを、PK22に対して送信する。
PK22の通信モジュール81は、ステップS249において、サービスシステム24からの暗号化チャレンジコードを受信して、ステップS250に進み、その暗号化チャレンジコードを、なりすまし防止モジュール84に対して出力する。
なりすまし防止モジュール84は、ステップS289において、通信モジュール81からの暗号化チャレンジコードを受信して、ステップS290に進む。ステップS290では、なりすまし防止モジュール84は、ステップS289で受信した暗号化チャレンジコードを、ステップS284で得たPK22の秘密鍵で、チャレンジコードに復号する。さらに、ステップS290では、なりすまし防止モジュール84は、PK22の秘密鍵による復号の結果得られたチャレンジコードをレスポンスコードとして、そのレスポンスコードを、サービスシステム24のサービスIDに対応付けて記憶されている公開鍵(ステップS284で得たサービスシステム24の公開鍵)で暗号化し、その結果得られる暗号化レスポンスコードを、通信モジュール81に対して出力する。
通信モジュール81は、ステップS251において、なりすまし防止モジュール84からの暗号化レスポンスコードを受信して、ステップS252に進み、その暗号化レスポンスコードを、サービスシステム24に対して送信する。
サービスシステム24は、ステップS217において、PK22(の通信モジュール81)からの暗号化レスポンスコードを受信し、その暗号化レスポンスコードを、自身の秘密鍵で、レスポンスコードに復号して、ステップS218に進む。
ステップS218では、サービスシステム24は、ステップS217で復号したレスポンスコードと、ステップS216で生成したチャレンジコードとを比較し、両者が一致するか否かを判定する。
ステップS218において、チャレンジコードとレスポンスコードとが一致しないと判定された場合、サービスシステム24は、PK22が、なりすましである可能性があるとして、PK22に対して、通信の拒否を表す拒否信号を送信する。
PK22のPK22の通信モジュール81は、ステップS253において、サービスシステム24からの拒否信号を受信して、ステップS254に進み、その拒否信号を、なりすまし防止モジュール84に対して送信する。なりすまし防止モジュール84は、ステップS291において、通信モジュール81からの拒否信号を受信して、処理を終了する。
サービスシステム24は、以上のように、拒否信号を、PK22に送信した後は、PK22からのアクセスを拒否する。即ち、サービスシステム24は、PK22との通信を拒否する。
一方、ステップS218において、チャレンジコードとレスポンスコードが一致すると判定された場合、即ち、PK22とサービスシステム24において、相互認証に成功した場合、サービスシステム24は、PK22がなりすましでないことを確認することができたとして、ステップS219に進み、PK22に対してPMDの読み出し要求を送信する。
PK22の通信モジュール81は、ステップS255において、サービスシステム24からの読み出し要求を受信して、ステップS256に進み、その読み出し要求を、DBアクセスモジュール86に対して出力する。
DBアクセスモジュール86は、ステップS313において、通信モジュール81からの読み出し要求を受信して、ステップS314に進み、その読み出し要求によって要求されているPMDを、PMDB72の、サービスシステム24のサービスIDに対応するディレクトリから読み出す。
ここで、ステップS314では、図12のステップS194における場合と同様に、DBアクセスモジュール86は、読み出し要求によって要求されているPMDの読み出しが許可されているかどうかを、サービスシステム24のサービスIDに対応するディレクトリのアクセス許可情報(図10)を参照することにより確認し、読み出し要求によって要求されているPMDのうち、読み出しが許可されているPMDのみを、PMDB72から読み出す。
その後、ステップS315に進み、DBアクセスモジュール86は、PMDB72から読み出したPMDを、通信モジュール81に対して出力し、通信モジュール81は、ステップS257において、そのPMDを受信して、ステップS258に進む。
ステップS258では、通信モジュール81は、ステップS257で受信したPMDを、サービスシステム24に対して送信し、サービスシステム24は、ステップS220において、そのPMDを受信して、ステップS221に進む。
ステップS221では、サービスシステム24は、ステップS220でPK22から受信したPMDに基づいて、サービス対応処理としての各種の処理を実行する。ステップS221のサービス対応処理の結果、PK22からのPMDの変更が必要となる場合、サービスシステム24は、ステップS222に進み、PK22からのPMDを変更して、PK22に対して送信する。
PK22の通信モジュール81は、ステップS259において、サービスシステム24からのPMDを受信して、ステップS260に進み、そのPMDを、DBアクセスモジュール86に対して出力する。
DBアクセスモジュール86は、ステップS316において、通信モジュール81からのPMD、即ち、サービスシステム24によって変更されたPMDを受信して、ステップS317に進み、そのPMDの変更が許可されているかどうかを、PMDB72における、サービスシステム24のサービスIDに対応するディレクトリのアクセス許可情報(図10)を参照することにより確認する。さらに、ステップS317では、DBアクセスモジュール86は、サービスシステム24によって変更されたPMDに対応する、PMDB72のPMDのうち、変更が許可されているものを、サービスシステム24によって変更されたPMDにしたがって変更し(PMDの更新を行い)、処理を終了する。
以上のように、PK22およびサービスシステム24において、いわゆるチャレンジ&レスポンス方式による認証を行う場合にも、安全なサービスの提供を行うことができる。
なお、上述の場合には、PK22において、先に、サービスシステム24の認証を行い、その後、サービスシステム24において、PK22の認証を行うようにしたが、先に、サービスシステム24において、PK22の認証を行い、その後、PK22において、サービスシステム24の認証を行うことも可能である。
また、上述の場合には、公開鍵方式で、チャレンジコードとレスポンスコードの暗号化/復号を行うこととしたが、チャレンジコードとレスポンスコードの暗号化/復号は、共通鍵方式で行うことも可能である。
さらに、図12または図13において、相互認証が成功した後のPK22とサービスシステム24との間の通信では、情報は、例えば、公開鍵方式などで暗号化されてやりとりされる。即ち、図12におけるステップS126とS150の通信、およびステップS128とS151の通信、並びに、図13におけるステップS220とS258の通信、およびステップS222とS259の通信では、情報が暗号化されてやりとりされる。
次に、図14を参照して、図11のステップS102のサービスID登録処理の詳細について説明する。
ここで、以下では、サービスシステム24のサービスIDとして、例えば、URI(Uniform Resource Identifiers)が採用されているものとする。
まず最初に、ステップS331において、DBアクセスモジュール86は、マスク情報が設定されているか否かを判定する。
ここで、マスク情報は、URIの一部をマスクするための情報であり、例えば、ユーザが、予め設定することができる。
また、URIは、例えば、スキーム名、ホスト名、ポート番号、およびパス名で構成される。なお、URIにおいて、ポート番号は省略することができる。
ポート番号が省略されたURIは、例えば、「http://aaa.bbb.ccc/ddd」のように記述される。このURI「http://aaa.bbb.ccc/ddd」のうち、httpがスキーム名であり、aaa.bbb.cccがホスト名であり、dddがパス名である。
例えば、あるサービス提供会社が、複数のサービスシステム24を運用している場合、その複数のサービスシステム24のいずれに対しても、同一のPMDの読み出しや変更を許可するときには、PK22において、その複数のサービスシステム24それぞれのサービスIDを別々に登録するのは面倒である。さらに、この場合、PK22において、複数のサービスシステム24それぞれを区別する必要もない。
一方、サービスシステム24のサービスIDとしてURIを採用した場合、同一のサービス提供会社が運用する複数のサービスシステム24のURIのうちの、スキーム名とホスト名(例えば、「http://aaa.bbb.ccc」)、またはスキーム名とホスト名の一部(例えば、「http://aaa.bbb」)は、一般に、同一のものが採用される。
この場合、同一のサービス提供会社が運用する複数のサービスシステム24は、URIのうちの、スキーム名とホスト名、またはスキーム名とホスト名の一部によって特定することができる。
マスク情報は、同一のサービス提供会社が運用する複数のサービスシステム24を区別せずに特定することができる、URIのスキーム名とホスト名、またはスキーム名とホスト名の一部を除く部分をマスクするために設定される。
ステップS331において、マスク情報が設定されていると判定された場合、ステップS332に進み、DBアクセスモジュール86は、図11のステップS101で受信したサービスIDとしてのURIの一部を、マスク情報にしたがってマスクし、そのマスク情報によってマスクされたURIを、サービスIDとして、PMDB72に登録して、ステップS334に進む。即ち、DBアクセスモジュール86は、例えば、PMDB72に、マスク情報によってマスクされたURIをディレクトリ名とするディレクトリを生成する。
また、ステップS331において、マスク情報が設定されていないと判定された場合、ステップS333に進み、DBアクセスモジュール86は、図11のステップS101で受信したサービスIDとしてのURIを、そのまま、PMDB72に登録して、ステップS334に進む。即ち、DBアクセスモジュール86は、例えば、PMDB72に、図11のステップS101で受信したサービスIDとしてのURIをディレクトリ名とするディレクトリを生成する。
ステップS334では、DBアクセスモジュール86は、サービスシステム24が図11のステップS1で送信した情報によって表される読み出し変更対象メタデータであるPMDを、ステップS332またはS333で生成したディレクトリに記憶させて、サービスID登録処理を終了する。
次に、図15を参照して、図12のステップS172、または図13のステップS282でなりすまし防止モジュール84が行うサービスIDマッチング処理の詳細について説明する。
ステップS351において、なりすまし防止モジュール84は、PMDB72(図10)に登録されている最初のサービスIDを注目サービスIDとして、その注目サービスIDと、図12のS171または図13のS281で受信した、サービスシステム24からのサービスIDであるURI(サービスシステム24のURI)とを、その先頭の文字から比較し、ステップS352に進む。
ここで、なりすまし防止モジュール84は、DBアクセスモジュール86を介して、PMDB72(図10)に登録されているサービスIDを取得する。
ステップS352では、なりすまし防止モジュール84は、サービスシステム24のURIと、注目サービスIDとを、その先頭の文字から比較した結果、URIが、その先頭の文字から注目サービスIDと一致する部分を有するかどうかを判定する。
ステップS352において、サービスシステム24のURIが注目サービスIDに一致する部分を有すると判定された場合、ステップS353に進み、なりすまし防止モジュール84は、注目サービスIDを、サービスシステム24を特定するサービスIDとして認識し、サービスIDマッチング処理を終了する。
また、ステップS352において、サービスシステム24のURIが注目サービスIDに一致する部分を有しないと判定された場合、ステップS354に進み、なりすまし防止モジュール84は、PMDB72に登録されているサービスIDすべてを、注目サービスIDとして、サービスシステム24のURIと比較したかどうかを判定する。
ステップS354において、PMDB72に登録されているサービスIDすべてを、まだ、注目サービスIDとしていないと判定された場合、ステップS355に進み、なりすまし防止モジュール84は、PMDB72に登録されているサービスIDのうち、まだ、注目サービスIDとしていないものの1つを、新たな注目サービスIDとし、ステップS351における場合と同様に、サービスシステム24のURIと比較する。そして、ステップS352に進み、以下、同様の処理が繰り返される。
一方、ステップS354において、PMDB72に登録されているサービスIDすべてを、注目サービスIDとしたと判定された場合、即ち、サービスシステム24のURIと一致するサービスIDが、PMDB72に登録されていない場合、ステップS356に進み、なりすまし防止モジュール84は、通信モジュール81を介し、サービスシステム24に対して、サービスの提供の拒否を通知し、サービスIDマッチング処理を終了する。
なお、上述のように、ステップS356において、サービスシステム24に対して、サービスの提供の拒否が通知され、図12のステップS172、または図13のステップS282のサービスIDマッチング処理が終了した場合、図12または図13では、以降の処理は行われない。
次に、図16を参照して、PK22,pBase23、およびサービスシステム24によるPMDのやりとりを説明する。
PK22は、上述したように、サービスポイント24をアクセスポイントとして、ネットワーク21を介して、pBase23と通信することができる。
図16一番上に示すように、PK22とpBase23との間で通信が行われることにより、PK22に記憶されているPMDと、pBase23に記憶されているPMDとを比較し、PMDの同期を行うことができる。このPMDの同期によれば、例えば、PK22のPMDの内容が更新されている場合、pBase23のPMDも同様に更新される。なお、PMDの同期の詳細については後述する。
また、例えば、pBase23には、PK22に記憶しきれないPMDを記憶させておくことができる。この場合、図16上から2番目に示すように、サービスシステム24は、pBase23のPMDを参照して、PK22のユーザに対し、サービスを提供することができる。
さらに、図16一番下に示すように、pBase23とサービスシステム24との間で、ネットワーク21を介して通信を行うことにより、pBase23からサービスシステム24に対して、PMDを提供し、pBase23において、そのPMDに応じたサービスを、サービスシステム24から受けることもできる。
次に、図17と図18を参照して、図16一番下に示したpBase23とサービスシステム24との間の処理の流れを説明する。
なお、図17では、PK22(のユーザ)に記憶されているのと同一のPMDB72が、pBase23に記憶されているものとし、さらに、サービスシステム24との間で行われるなりすまし防止処理として、図12で説明した合言葉による認証を利用した処理が採用されている。
また、図17では、pBase23は、図12で説明したPK22と同様に、PK合言葉、サービスシステム合言葉、PK22のユーザID、およびサービスシステム24のサービスIDを記憶しているものとする。
まず最初に、ステップS371において、サービスシステム24は、自身のサービスIDと、PK22のユーザIDに対応付けて記憶しているサービス合言葉を、pBase23に送信し、pBase23は、ステップS391において、サービスシステム24からのサービスIDおよびサービス合言葉を受信する。
ここで、ステップS371では、サービスシステム24は、既に、PK22またはpBase23から、PK22のユーザIDを受信しており、そのユーザIDに対応付けて記憶しているサービス合言葉を、pBase23に送信する。
pBase23は、ステップS392において、ステップS391で受信したサービスシステム24からのサービスIDを用いて、図15を参照して説明したサービスIDマッチング処理を実行し、ステップS393に進む。
ステップS393では、pBase23は、サービスシステム24からのサービスIDに対応付けて記憶しているサービス合言葉およびPK合言葉を認識し、サービスシステム24からのサービス合言葉と、自身が記憶しているサービス合言葉とを比較することにより、それらが一致するかどうかを判定する。
ステップS393において、サービスシステム24からのサービス合言葉と、自身が記憶しているサービス合言葉(サービスシステム24からのサービスIDに対応付けて記憶しているサービス合言葉)とが一致しないと判定された場合、pBase23は、サービスシステム24が、なりすましである可能性があると判定し、サービスシステム24に対して、通信の拒否を表す拒否信号を出力する。
サービスシステム24は、ステップS372において、pBase23からの拒否信号を受信する。
pBase23は、以上のように、拒否信号を、サービスシステム24に送信した後は、サービスシステム24からのアクセスを拒否する。即ち、pBase23は、サービスシステム24との通信を拒否する。
一方、ステップS393において、サービス合言葉が一致すると判定された場合、ステップS394に進み、pBase23は、サービスシステム24が、なりすましでないとして、PK22のユーザIDと、サービスシステム24のサービスIDに対応付けて記憶しているPK合言葉とを、サービスシステム24に送信する。
サービスシステム24は、ステップS373において、pBase23からのユーザIDとPK合言葉を受信し、ステップS374に進む。ステップS374では、サービスシステム24は、pBase23からのユーザIDに対応付けて記憶しているPK合言葉と、pBase23からのPK合言葉(ステップS373で受信したPK合言葉)とを比較し、一致するか否かを判定する。
ステップS374において、PK合言葉が一致しないと判定された場合、pBase23が、なりすましである可能性があるとして、サービスシステム24は、通信の拒否を表す拒否信号を、pBase23に送信する。pBase23は、ステップS395において、サービスシステム24からの拒否信号を受信する。
サービスシステム24は、以上のように、拒否信号を、pBase23に送信した後は、pBase23からのアクセスを拒否する。即ち、サービスシステム24は、pBase23との通信を拒否する。
一方、ステップS374において、PK合言葉が一致すると判定された場合、サービスシステム24は、pBase23がなりすましでないことを確認することができたとして、ステップS375に進み、pBase23に対してPMDの読み出し要求を送信する。
pBase23は、ステップS396において、サービスシステム24からの読み出し要求を受信して、ステップS397に進み、その読み出し要求によって要求されているPMDを読み出す。
ここで、ステップS397では、pBase23は、図12のステップS194における場合と同様に、読み出し要求によって要求されているPMDの読み出しが許可されているかどうかを確認し、読み出し要求によって要求されているPMDのうち、読み出しが許可されているPMDのみを読み出す。
その後、ステップS398に進み、pBase23は、自身から読み出したPMDを、サービスシステム24に対して送信し、サービスシステム24は、ステップS376において、そのPMDを受信して、ステップS377に進む。
ステップS377では、サービスシステム24は、ステップS376でpBase23から受信したPMDに基づいて、各種の処理(サービス対応処理)を実行する。ステップS377のサービス対応処理の結果、pBase23からのPMDの変更が必要となる場合、サービスシステム24は、ステップS378に進み、pBase23からのPMDを変更して、pBase23に対して送信する。
pBase23は、ステップS399において、サービスシステム24からのPMDを受信して、ステップS400に進み、そのPMDの変更が許可されているかどうかを、サービスシステム24のサービスIDに対応するディレクトリのアクセス許可情報(図10)を参照することにより確認する。さらに、ステップS400では、pBase23は、自身が記憶しているPMDのうちの、サービスシステム24によって変更されたPMDに対応するものの中で、その変更が許可されているPMDを、サービスシステム24によって変更されたPMDにしたがって変更し(PMDの更新を行い)、処理を終了する。
以上のように、pBase23において、サービス合言葉の一致性よるサービスシステム24のなりすましの確認を行うとともに、サービスシステム24において、PK合言葉の一致性によるpBase23のなりすましの確認を行うので、安全なサービスの提供を行うことができる。
なお、上述の場合には、pBase23において、サービス合言葉の一致性を確認し、その後、サービスシステム24において、PK合言葉の一致性を確認するようにしたが、先に、サービスシステム24において、PK合言葉の一致性を確認し、その後、pBase23において、サービス合言葉の一致性を確認することも可能である。
次に、図18を参照して、図16一番下におけるpBase23とサービスシステム24との間の処理の流れの別の例を説明する。
図18でも、図17における場合と同様に、PK22に記憶されているのと同一のPMDB72が、pBase23に記憶されているものとする。
また、図18では、サービスシステム24との間で行われるなりすまし防止処理として、図13における場合と同様に公開鍵により暗号化された情報による認証が採用されているものとする。
さらに、図18では、pBase23とサービスシステム24が、例えば、公開鍵方式の暗号アルゴリズムによる情報の暗号化または復号の処理を実行する機能を有しているものとし、従って、pBase23は、PK22の公開鍵に対する秘密鍵を記憶しており、サービスシステム24は、自身の公開鍵に対する秘密鍵を記憶しているものとする。また、pBase23では、サービスシステム24の公開鍵が、サービスシステム24のサービスIDに対応付けて記憶されており、サービスシステム24でも、PK22の公開鍵が、PK22のユーザIDに対応付けて記憶されているものとする。
まず最初に、ステップS421において、サービスシステム24は、自身のサービスIDを、pBase23に送信する。pBase23は、ステップS451において、サービスシステム24からのサービスIDを受信して、ステップS452に進み、そのサービスIDを用い、図15を参照して説明したサービスIDマッチング処理を実行して、ステップS453に進む。
ステップS453では、pBase23は、PK22のユーザIDおよび秘密鍵、並びにサービスシステム24のサービスIDに対応する公開鍵を認識し、サービスシステム24を認証するためのチャンレンジコードを生成する。さらに、ステップS453では、pBase23は、チャレンジコードを、サービスシステム24の公開鍵で暗号化し、その結果得られる暗号化チャレンジコードを、ユーザIDとともに、サービスシステム24に送信する。
サービスシステム24は、ステップS422において、pBase23からの暗号化チャレンジコードとユーザIDを受信し、ステップS423に進む。
ステップS423では、サービスシステム24は、pBase23からの暗号化チャレンジコードを、自身の秘密鍵により、チャレンジコードに復号する。さらに、ステップS423では、サービスシステム24は、そのチャレンジコードを、レスポンスコードとして、そのレスポンスコードを、ステップS422でpBase23から受信したユーザIDと対応付けて記憶している公開鍵(PK22の公開鍵)で暗号化し、その結果得られる暗号化レスポンスコードを、pBase23に対して送信する。
pBase23は、ステップS454において、サービスシステム24からの暗号化レスポンスコードを受信して、ステップS455に進み、その暗号化レスポンスコードを、PK22の秘密鍵で、レスポンスコードに復号する。さらに、ステップS455では、pBase23は、レスポンスコードと、ステップS453で生成したチャレンジコードと比較して、そのチャレンジコードとレスポンスコードが一致しているか否かを判定する。
ステップS455において、チャレンジコードとレスポンスコードが一致しないと判定された場合、サービスシステム24が、なりすましである可能性があるとして、pBase23は、通信の拒否を表す拒否信号を、サービスシステム24に送信する。そして、サービスシステム24は、ステップS424において、pBase23からの拒否信号を受信する。
pBase23は、以上のように、拒否信号を、サービスシステム24に送信した後は、サービスシステム24からのアクセスを拒否する。即ち、pBase23は、サービスシステム24との通信を拒否する。
一方、ステップS455において、チャレンジコードとレスポンスコードが一致すると判定された場合、ステップS456に進み、pBase23は、サービスシステム24がなりすましでないことが確認できたことを表すOKコードを、サービスシステム24に送信する。
サービスシステム24は、ステップS425において、pBase23からのOKコードを受信して、ステップS426に進み、pBase23を認証するためのチャレンジコードを生成する。さらに、ステップS426において、サービスシステム24は、そのチャレンジコードを、PK22のユーザIDに対応付けて記憶している公開鍵(PK22の公開鍵)で暗号化し、その結果得られる暗号化チャレンジコードを、pBase23に対して送信する。
pBase23は、ステップS457において、サービスシステム24からの暗号化チャレンジコードを受信して、ステップS458に進み、その暗号化チャレンジコードを、PK22の秘密鍵で、チャレンジコードに復号する。さらに、ステップS458では、pBase23は、PK22の秘密鍵による復号の結果得られたチャレンジコードをレスポンスコードとして、そのレスポンスコードを、サービスシステム24のサービスIDに対応付けて記憶している公開鍵(サービスシステム24の公開鍵)で暗号化し、その結果得られる暗号化レスポンスコードを、サービスシステム24に対して送信する。
サービスシステム24は、ステップS427において、pBase23からの暗号化レスポンスコードを受信し、その暗号化レスポンスコードを、自身の秘密鍵で、レスポンスコードに復号して、ステップS428に進む。
ステップS428では、サービスシステム24は、ステップS427で復号したレスポンスコードと、ステップS426で生成したチャレンジコードとを比較し、両者が一致するか否かを判定する。
ステップS428において、チャレンジコードとレスポンスコードとが一致しないと判定された場合、サービスシステム24は、pBase23が、なりすましである可能性があるとして、pBase23に対して、通信の拒否を表す拒否信号を送信する。
pBase23は、ステップS459において、サービスシステム24からの拒否信号を受信して、処理を終了する。
サービスシステム24は、以上のように、拒否信号を、pBase23に送信した後は、pBase23からのアクセスを拒否する。即ち、サービスシステム24は、pBase23との通信を拒否する。
一方、ステップS428において、チャレンジコードとレスポンスコードが一致すると判定された場合、即ち、pBase23とサービスシステム24において、相互認証に成功した場合、サービスシステム24は、pBase23がなりすましでないことを確認することができたとして、ステップS429に進み、pBase23に対してPMDの読み出し要求を送信する。
pBase23は、ステップS460において、サービスシステム24からの読み出し要求を受信し、ステップS461に進み、その読み出し要求によって要求されているPMDを読み出す。
ここで、ステップS461では、pBase23は、図12のステップS194における場合と同様に、読み出し要求によって要求されているPMDの読み出しが許可されているかどうかを確認し、読み出し要求によって要求されているPMDのうち、読み出しが許可されているPMDのみを読み出す。
その後、ステップS462に進み、pBase23は、自身から読み出したPMDを、サービスシステム24に対して送信し、サービスシステム24は、ステップS430において、そのPMDを受信して、ステップS431に進む。
ステップS431では、サービスシステム24は、ステップS430でpBase23から受信したPMDに基づいて、サービス対応処理としての各種の処理を実行する。ステップS431のサービス対応処理の結果、pBase23からのPMDの変更が必要となる場合、サービスシステム24は、ステップS432に進み、pBase23からのPMDを変更して、pBase23に対して送信する。
pBase23は、ステップS463において、サービスシステム24からのPMDを受信して、ステップS464に進み、そのPMDの変更が許可されているかどうかを、サービスシステム24のサービスIDに対応するディレクトリのアクセス許可情報(図10)を参照することにより確認する。さらに、ステップS464では、pBase23は、自身が記憶しているPMDのうちの、サービスシステム24によって変更されたPMDに対応するものの中で、その変更が許可されているPMDを、サービスシステム24によって変更されたPMDにしたがって変更し(PMDの更新を行い)、処理を終了する。
以上のように、pBase23およびサービスシステム24において、いわゆるチャレンジ&レスポンス方式による認証を行う場合にも、安全なサービスの提供を行うことができる。
なお、上述の場合には、pBase23において、先に、サービスシステム24の認証を行い、その後、サービスシステム24において、pBase23の認証を行うようにしたが、先に、サービスシステム24において、pBase23の認証を行い、その後、pBase23において、サービスシステム24の認証を行うことも可能である。
また、上述の場合には、公開鍵方式で、チャレンジコードとレスポンスコードの暗号化/復号を行うこととしたが、チャレンジコードとレスポンスコードの暗号化/復号は、共通鍵方式で行うことも可能である。
さらに、図17または図18において、相互認証が成功した後のpBase23とサービスシステム24との間の通信では、情報は、例えば、公開鍵方式などで暗号化されてやりとりされる。即ち、図17におけるステップS376とS398の通信、およびステップS378とS399の通信、並びに、図18におけるステップS430とS462の通信、およびステップS432とS463の通信では、情報が暗号化されてやりとりされる。
次に、図19乃至図21は、PMDの内容の例を示している。
PMDは、サービスIDに対応付けられたメタデータの集合であり、そのメタデータの識別情報であるプロパティ(属性)と、そのプロパティの内容(属性値)とを含んでいる。
図19では、メタデータの属性として、「name」、「なりすまし防止方法」、「サービス公開鍵」、「PK秘密鍵」、「action」、および「番組嗜好情報」が設けられている。
図19のPMD(メタデータ)が、例えば、サービスID1に対応付けられている場合、属性「name」は、サービスID1に対応するサービスシステム24に対して提供されたユーザIDを示し、図19では、その属性値は「foo」となっている。
図19において、属性「なりすまし防止方法」は、サービスID1に対応するサービスシステム24との間で行われるなりすまし防止処理の方法を示し、その属性値は、「公開鍵方式」となっている。
ここで、PK22と、例えば、サービスID1に対応するサービスシステム24との間で、図11の処理が行われ、ステップS82において、「公開鍵方式」を表すコードが、確認コードとして生成された場合、図19に示したように、属性「なりすまし防止方法」の属性値は、「公開鍵方式」とされる。
また、図19では、属性「なりすまし防止方法」の属性値が、「公開鍵方式」となっているため、その公開鍵方式の暗号化/復号で用いられる鍵を表す属性「サービス公開鍵」および「PK秘密鍵」がPMDに設けられている。
即ち、属性「サービス公開鍵」は、サービスID1に対応するサービスシステム24の公開鍵を示し、図19では、その属性値として、サービスシステム24の公開鍵のデータが記述されている。
属性「PK秘密鍵」は、PK22の秘密鍵を示し、図19では、その属性値として、PK22の秘密鍵のデータが記述されている。
属性「action」は、サービスID1に対応するサービスシステム24からのサービスを受けるときに実行されるプログラムを示し、その属性値として、例えば、プログラムの実行形式ファイル(名)が記述される。
属性「番組嗜好情報」は、サービスID1に対応するサービスシステム24からのサービスを受けるときに利用されるユーザの嗜好情報を示し、図19では、その属性値として、「スポーツ10、バラエティ7、音楽5、その他3」が記述されている。
アクセス許可情報は、各属性の属性値に対するアクセス制御をするための情報で、各属性に対しては、アクセス許可情報として、所定のビット数で構成される制御コードが設定されている。
ある属性に注目すると、その注目している属性(注目属性)に対する制御コードにおいて、例えば、第1番目のビットによれば、サービスID1に対応するサービスシステム24による、注目属性の属性値の読み出しの可否が設定される。また、第2番目のビットによれば、サービスID1に対応するサービスシステム24による、注目属性の属性値の変更の可否が設定される。さらに、第3番目のビットによれば、サービスID1に対応するサービスシステム24以外による、注目属性の属性値の読み出しの可否が設定され、第4番目のビットによれば、サービスID1に対応するサービスシステム24以外による、注目属性の属性値の変更の可否が設定される。
その他、制御コードには、プログラムの実行の可否を設定するビットなどを設けることができる。
次に、図20では、メタデータの属性として、「name」、「なりすまし防止方法」、「共通鍵」、「action」、および「番組嗜好情報」が設けられている。また、図21では、メタデータの属性として、「name」、「なりすまし防止方法」、「サービス合言葉」、「PK合言葉」、「action」、および「番組嗜好情報」が設けられている。
図20および図21において、属性「name」、「action」、および「番組嗜好情報」については、図19における場合と同一の属性値が記述されている。また、図20および図21において、アクセス許可情報(制御コード)は、図19における場合と同様のものである。
そして、図20では、属性「なりすまし防止方法」の属性値が、「共通鍵方式」となっている。PK22と、例えば、サービスID1に対応するサービスシステム24との間で、図11の処理が行われ、ステップS82において、「共通鍵方式」を表すコードが、確認コードとして生成された場合、図20に示したように、属性「なりすまし防止方法」の属性値は、「共通鍵方式」とされる。
また、図20では、属性「なりすまし防止方法」の属性値が、「共通鍵方式」となっているため、その共通鍵方式の暗号化/復号で用いられる鍵を表す属性「共通鍵」がPMDに設けられている。
即ち、属性「共通鍵」は、共通鍵方式の暗号化/復号で用いられる共通鍵(秘密鍵)を示し、図20では、その属性値として、その共通鍵のデータが記述されている。
一方、図21では、属性「なりすまし防止方法」の属性値が、「合言葉方式」となっている。PK22と、例えば、サービスID1に対応するサービスシステム24との間で、図11の処理が行われ、ステップS82において、「合言葉方式」を表すコードが、確認コードとして生成された場合、図20に示したように、属性「なりすまし防止方法」の属性値は、「合言葉方式」とされる。
また、図21では、属性「なりすまし防止方法」の属性値が、「合言葉方式」となっているため、その合言葉方式での認証に用いられる合言葉を表す属性「サービス合言葉」および「PK合言葉」がPMDに設けられている。
そして、図21では、属性「サービス合言葉」の属性値として、上述したサービス合言葉のデータが記述されており、属性「PK合言葉」の属性値として、上述したPK合言葉のデータが記述されている。
次に、図22を参照して、PMDを更新するPMD更新処理について説明する。
図22のPMD更新処理は、例えば、サービスシステム24により、コンテンツの視聴サービスが提供された場合、図12のステップS127または図13のステップS221のサービス対応処理の1つとして、サービスシステム24により実行される。
なお、ここでは、サービスシステム24からコンテンツの視聴サービスを受けたユーザのPK22に、例えば、図19乃至図21に示したような「番組嗜好情報」を含むPMDが記憶されており、その「番組嗜好情報」(の属性値)が、PK22からサービスシステム24に対して、既に提供されているものとする。
ステップS481において、サービスシステム24(のCPU51(図9))は、ユーザが視聴(ユーザに提供)した番組(コンテンツ)のメタデータを取得し、ステップS482に進む。ステップS482において、サービスシステム24は、ステップS481で取得したメタデータからユーザが視聴した番組のジャンルを分析し、ステップS483に進む。
ステップS483において、サービスシステム24は、ステップS482での分析により得られたジャンルがスポーツであるか否かを判定する。ステップS483において、ジャンルがスポーツであると判定された場合、ステップS484に進み、サービスシステム24は、PMDの中の属性「番組嗜好情報」(図19乃至図21)の属性値におけるスポーツのポイントをアップさせ、処理を終了する。例えば、図19乃至図21において、「スポーツ10、バラエティ7、音楽5、その他3」とされていたものが、「スポーツ11、バラエティ7、音楽5、その他3」とされる。
また、ステップS483において、ステップS482での分析により得られたジャンルがスポーツではないと判定された場合、サービスシステム24は、ステップS485に進み、ジャンルがバラエティであるか否かを判定する。
ステップS485において、ジャンルがバラエティであると判定された場合、ステップS486に進み、サービスシステム24は、PMDの中の属性「番組嗜好情報」の属性値におけるバラエティのポイントをアップさせ、処理を終了する。例えば、図19乃至図21において、「スポーツ10、バラエティ7、音楽5、その他3」とされていたものが、「スポーツ10、バラエティ8、音楽5、その他3」とされる。
一方、ステップS485において、ステップS482での分析により得られたジャンルがバラエティではないと判定された場合、サービスシステム24は、ステップS487に進み、ジャンルが音楽であるか否かを判定する。
ステップS487において、ジャンルが音楽であると判定された場合、ステップS488に進み、サービスシステム24は、PMDの中の属性「番組嗜好情報」の属性値における音楽のポイントをアップさせ、処理を終了する。例えば、図19乃至図21において、「スポーツ10、バラエティ7、音楽5、その他3」とされていたものが、「スポーツ10、バラエティ7、音楽6、その他3」とされる。
ステップS487において、ステップS482での分析により得られたジャンルが音楽ではないと判定された場合、サービスシステム24は、ステップS489に進み、PMDの中の属性「番組嗜好情報」の属性値におけるその他のポイントをアップさせ、処理を終了する。例えば、図19乃至図21において、「スポーツ10、バラエティ7、音楽5、その他3」とされていたものが、「スポーツ10、バラエティ7、音楽5、その他4」とされる。
このようにして、サービスシステム24においてPMDが更新される。更新されたPMDは、PK22に送信され、PK22のPMDが更新される。
次に、PK22によれば、PMDを利用して、情報機器に、そのPK22のユーザに応じた処理を行わせることができる。このように、情報機器が、PK22のユーザ個人に応じた処理を行う場合、情報機器は、そのユーザ用にパーソナライズ(personalize)されたということができる。
図23は、情報機器としてのPC(Personal Computer)をパーソナライズするPKシステムの構成例を示している。なお、図中、図7における場合と対応する部分については、同一の符号を付してある。
図23において、公共PC101は、例えば、いわゆるインターネットカフェや、図書館などの公共の場所、会社の会議室等に設置してあるPCであり、ネットワーク21に接続している。なお、公共PC101は、図7のサービスシステム24でもあり、準静電界通信を行うことができる。
また、図23において、ユーザPC102は、例えば、PK22のユーザの自宅や会社にある、そのユーザ専用のPC(ユーザが所有するPC)であり、公共PC101と同様に、ネットワーク21に接続している。
ここで、ユーザは、例えば、自宅で使用するユーザPC102については、一般に、自身が使いやすいように環境設定を行う。一方、ユーザの所有物でない公共PC101には、一般に、ユーザPC102とは異なる環境設定が行われている。従って、従来においては、ユーザは、外出先等に設置されている公共PC101を、ユーザPC102における環境(例えば、デスクトップの表示状態や、ディレクトリ構成等)と同一の環境で使用することはできない。
そこで、図23のPKシステムでは、ユーザが、外出先等に設置されている公共PC101を、ユーザPC102における環境と同一の環境で使用することができるようになっている。
即ち、サービスシステムである公共PC101は、PK22のユーザが公共PC101を使用する場合、その公共PC101を、PK22のユーザ用にパーソナライズするパーソナライズ処理を行う。
図24は、サービスシステムである公共PC101が行うパーソナライズ処理の例を示すフローチャートである。
図24のパーソナライズ処理は、例えば、PK22を携帯するユーザが、公共PC101を使用しようとすると行われる。
即ち、PK22と公共PC101とは、上述したように、準静電界通信を行うことができるようになっている。そして、公共PC101のすぐ近い位置(例えば、公共PC101が置かれているテーブルや、真下の床の部分、公共PC101の筐体など)に、公共PC101が準静電界通信を行うためのアンテナが設けられており、従って、ユーザが、公共PC101を使用しようとして、公共PC101に近づき、そのアンテナに対して触れる、あるいは、近接した状態となると、ユーザが携帯しているPK22と、公共PC101との間では、PK22を携帯しているユーザの人体および公共PC101のアンテナを介して、準静電界通信が可能となる。
公共PC101は、PK22との間で準静電界通信が可能となると、ステップS501において、PK22から、PMDを取得する。即ち、公共PC101は、準静電界通信によって、PK22に対して、PMDを要求し、PK22は、公共PC101からの要求に応じたPMDを、準静電界通信によって、公共PC101に送信する。これにより、公共PC101は、PK22から、PMDを取得する。
ここで、PK22には、ユーザPC102における環境を表す環境データが、PMDとして記憶されており、ステップS501において、公共PC101は、その環境データであるPMDを取得するものとする。
公共PC101は、ステップS501において、PK22から環境データであるPMDを取得した後、ステップS502に進み、その環境データにしたがって、自身の環境設定を行う。即ち、これにより、公共PC101は、PK22のユーザ用にパーソナライズされ、PK22のユーザは、公共PC101を、自身が所有するユーザPC102における環境と同一の環境で使用することができる。
その後、PK22のユーザが、公共PC101を操作し、例えば、ユーザPC102に記憶されている、ユーザがワードプロセッサ等のアプリケーションで作成したデータファイルなどを開く(オープンする)ことを要求すると、公共PC101は、ステップS503に進み、開くことが要求されたデータファイルを、ユーザPC102から取得する。
即ち、ステップS503では、公共PC101は、ネットワーク21を介して、ユーザPCにアクセスし、開くことが要求されたデータファイルをダウンロードする。そして、公共PC101は、そのデータファイルを開いて表示等を行う。
その後、PK22のユーザが、公共PC101を操作し、ステップS503で取得されたデータファイルを編集、更新し、その更新後のデータファイルを閉じる(クローズする)ことを要求すると、公共PC101は、ステップS504に進み、更新後のデータファイルを、ネットワーク21を介して、ユーザPC102に転送して(アップロードして)記憶させる。
そして、PK22のユーザが、公共PC101を操作し、ログオフを要求すると、ステップS505に進み、公共PC101は、現在の自身における環境を表す環境データを、準静電界通信によって、PK22に送信する。
ここで、PK22のユーザが公共PC101を使用し始めるときは、ステップS502で説明したように、公共PC101は、ユーザPC102における環境と同一の環境となっているが、その後、ユーザが公共PC101を使用することで、使用開始時とは異なる環境とされることがある。この場合、公共PC101における環境は、PK22に記憶されている環境データにしたがって設定される環境と異なっているため、ステップS505では、公共PC101は、PK22に記憶されている環境データを更新するために、現在の自身における環境を表す環境データを、準静電界通信によって、PK22に送信する。
この場合、PK22は、公共PC101からの環境データを受信し、その環境データによって、自身が記憶しているPMDとしての環境データを更新する。
公共PC101は、ステップS505において、環境データをPK22に送信した後は、ステップS506に進み、その環境データや、ステップS501で取得した環境データ、ユーザPC102からダウンロードしたデータファイル等を削除し、図24のパーソナライズ処理が開始される前の状態となって、ステップS507に進む。
ステップS507では、公共PC101は、ログオフに必要なログオフ処理を行い、パーソナライズ処理を終了する。
以上のように、図24のパーソナライズ処理によれば、公共PC101が、ユーザPC102における環境と同一の環境にパーソナライズされるので、ユーザは、自身が所有するユーザPC102と同様の操作性で、公共PC101を使用することができる。
また、公共PC101をパーソナライズするには、PK22と公共PC101との間で通信を行う必要があるが、PK22を携帯するユーザは、意識的に、PK22と公共PC101とを通信させるような行為、即ち、例えば、PK22をポケット等から取り出して、公共PC101のアンテナに向けてかざすような行為を行わなくても良い。
即ち、PK22と公共PC101との間の準静電界通信は、上述したように、PK22を携帯しているユーザが、公共PC101のアンテナに対して触れる、あるいは、近接した状態となると、ユーザの人体および公共PC101のアンテナを介して行うことが可能となる。
従って、PK22を携帯しているユーザは、単に、公共PC101を使用しようとする行為、即ち、例えば、公共PC101の前に腰掛ける、あるいは、公共PC101のキーボードやマウス等に対して、その操作するために触れる、などといった、人が公共PC101を使用するのに行う本来の行為を行うだけで良く、これにより、PK22と公共PC101との間で通信が行われ、公共PC101がパーソナライズされる。
なお、PK22とサービスシステムである公共PC101との間の通信、およびネットワーク21を介しての公共PC101とユーザPC102との通信は、いずれも、例えば、SSL(Secure Sockets Layer)等を利用することによって、セキュアに行われる。
次に、図23のPKシステムにおいて、例えば、ユーザのPK22とpBase23とに同一のPMDが記憶されていたとしても、図24のパーソナライズ処理が行われた場合、公共PC101が、ステップS505において、PK22に送信する環境データであるPMDによって、PMD22が記憶しているPMDが更新されると、PK22とpBase23とに記憶されているPMDは、異なるものとなる。
そこで、PK22とpBase23との間では、pBase23に記憶されているPMDを、PK22に記憶されているPMDに一致させるために、図16で概説したPMDの同期が行われる。
図25は、PK22とpBase23との間で行われるPMDの同期の処理を説明するアローチャートである。
このPMDの同期の処理は、PK22が、公共PC101などのサービスシステム、およびネットワーク21を介して、pBase23との間で通信を行うことができる場合に行われる。
なお、ここでは、PK22が、サービスシステムである公共PC101との間で、準静電界通信が可能な状態にあるものとする。
ステップS521において、PK22は、自身が記憶しているPMDを、公共PC101に送信し、公共PC101は、ステップS541において、PK22からのPMDを受信する。
そして、ステップS542に進み、公共PC101は、ステップS541で受信したPMDを、ネットワーク21を介して、pBase23に送信し、pBase23は、ステップS561で、公共PC101からのPMDを受信して、ステップS562に進む。
ステップS562では、pBase23は、図26を参照して後述するPMD同期処理を実行する。これにより、pBase23に記憶されているPMDが更新されるとともに、PK22のPMDを更新する同期データが生成される。
そして、pBase23は、ステップS563に進み、ステップS562のPMD同期処理によって生成した同期データを、ネットワーク21を介して、公共PC101に送信し、公共PC101は、ステップS543で、pBase23からの同期データを受信して、ステップS544に進む。
ステップS544において、公共PC101は、ステップS543で受信した同期データを、PK22に送信し、PK22は、ステップS522で、公共PC101からの同期データを受信して、ステップS523に進む。
ステップS523において、PK22は、ステップS522で受信した同期データに基づいて、自身のPMDを更新し、処理を終了する。これにより、PK22のPMDとpBase23のPMDとが一致するように、それぞれのPMDが更新される。
次に、図26を参照して、図25のステップS562のPMD同期処理の詳細について説明する。
ステップS581において、pBase23は、図25のステップS561で受信したPK22からのPMDと、pBase23に記憶されているPMDとを比較する。即ち、ステップS581において、pBase23は、PK22からのPMDの各属性の属性値のうちの、まだ、注目属性値としていないものを、注目属性値とする。さらに、ステップS581では、pBase23は、自身が記憶しているPMDの中から、注目属性値に対応する属性値を読み出し、その属性値が最後に更新された日時を表す更新日時情報と、注目属性値の更新日時情報とを比較する。
ここで、PMDには、更新日時情報が含まれるものとする。
そして、ステップS581からS582に進み、pBase23は、ステップS581の比較結果に基づき、注目属性値の更新日時が、pBase23に記憶されている、その注目属性値に対応する属性値(以下、適宜、対応属性値という)の更新日時より新しいか否かを判定する。
ステップS582において、注目属性値の更新日時が、pBase23に記憶されている対応属性値の更新日時より新しいと判定された場合、ステップS583に進み、pBase23は、自身が記憶している対応属性値を、注目属性値に更新し、ステップS585に進む。
また、ステップS582において、注目属性値の更新日時が、pBase23に記憶されている対応属性値の更新日時より新しくないと判定された場合、ステップS584に進み、pBase23は、自身が記憶している対応属性値を、同期データとして、ステップS585に進む。
ここで、同期データは、図26のPMD同期処理の終了後、上述した図25のステップS563で、公共PC101を介してPK22に送信される。そして、PK22では、図25のステップS523において、同期データにしたがって、自身が記憶しているPMDが更新される。
なお、ここでは、注目属性値の更新日時よりも新しい更新日時となっている対応属性値の他、注目属性値の更新日時と同一の更新日時の対応属性値も同期データとされることとなるが、同期データとするのは、注目属性値の更新日時よりも新しい更新日時の対応属性値だけで良い。
ステップS585では、pBase23は、PK22からのPMDの属性値を、すべて注目属性値として、更新日時をチェックしたかどうかを判定する。
ステップS585において、PK22からのPMDの属性値すべてを、まだ注目属性値としていないと判定された場合、ステップS581に戻り、以下、同様の処理が繰り返される。
また、ステップS585において、PK22からのPMDの属性値すべてを、注目属性値としたと判定された場合、PMD同期処理を終了する。
次に、図27は、図7や図23に示したPKシステムを利用したサービス提供システムの一実施の形態の構成例を示している。なお、図中、図7または図23のPKシステムにおける場合と対応する部分については、同一の符号を付してある。
図27において、サービスシステム24は、PK22を携帯しているユーザに対して、そのユーザ用にパーソナライズされた情報を提供する。
即ち、サービスシステム24には、アンテナ121および出力装置122が接続されている。
アンテナ121は、準静電界通信用のアンテナである導体シートで、その近傍には、準静電界が形成されている。PK22とサービスシステム24とは、PK22を携帯するユーザの人体の表面に形成される準静電界、またはアンテナ121の近傍に形成される準静電界の範囲内において、準静電界通信を行うことができる。
なお、アンテナ121は、例えば、床等に設置することができる。
また、ここでは、PK22を携帯するユーザの人体の表面に形成される準静電界と、アンテナ121の近傍に形成される準静電界は、その厚み(上述した強度境界距離r)が微小なものであるとする。即ち、PK22とサービスシステム24とは、PK22を携帯するユーザの人体の一部がアンテナ121に触れるか、またはそれに極めて近い状態になったときだけ、静電界通信が可能となるものとする。
この場合、PK22とサービスシステム24とが準静電界通信を行うことができる状態であるときは、そのPK22を携帯するユーザは、アンテナ121の位置にいると特定することができる。
出力装置122は、例えば、ディスプレイやスピーカで構成され、サービスシステム24から供給される情報を、画像で表示し、または音声で出力する。
図27において、サービスシステム24は、機能的には、ユーザ情報取得モジュール131、最適化エンジン132、コンテンツDB(DataBase)133、およびユーザDB134で構成されている。
ユーザ情報取得モジュール131は、アンテナ121およびPK22を携帯するユーザの人体を介して、PK22との間で準静電界通信を行うことにより、PK22から送信されてくるPMDを受信し、また、PK22に対して、後述するコンテンツDBから取得された情報を送信する。
最適化エンジン132は、ユーザ情報取得モジュール131がPK22から受信したPMDに応じて、コンテンツDB133に記憶されているコンテンツ(情報)の中から、PK22のユーザに提供するのに最適なものを認識する。
コンテンツDB133は、PK22のユーザなどの、サービスシステム24の外部に提供する様々なコンテンツを記憶している。さらに、コンテンツDB133は、自身が記憶しているコンテンツのメタデータであるコンテンツメタデータも記憶している。
ユーザDB134は、上述したPK22(のユーザ)のユーザIDや、サービス合言葉、PK合言葉、公開鍵方式の暗号化/復号で用いられる秘密鍵および公開鍵、共通鍵方式の暗号化/復号で用いられる共通鍵など、PK22との間の通信に必要なデータを記憶する。ここで、ユーザDB134の記憶内容の更新は、例えば、ユーザ情報取得モジュール131によって行われる。
なお、コンテンツDB133およびユーザDB134は、サービスシステム24に設けるのではなく、サービスシステム24とは独立に、ネットワーク21上にあっても良い。
次に、図28を参照して、PK22とサービスシステム24で行われる処理について説明する。
ステップS641において、ユーザ情報取得モジュール131は、アンテナ121を介し、一定間隔で、自身のサービスID(サービスシステム24が提供するサービスを特定するサービス特定情報としてのサービスID)としてのURIを、準静電界通信によって送信している。
なお、このURIの送信は、例えば、IP(Internet Protocol)プロトコルを用いたブロードキャストにより行うことができる。
そして、PK22を所持したユーザが、例えば、アンテナ121の上を通過し、またはアンテナ121の上に立つと、PK22とサービスシステム24とは、アンテナ121およびPK22のユーザの人体を介して、準静電界通信を行うことが可能となり、これにより、ステップS661において、PK22は、サービスシステム24のユーザ情報取得モジュール131がアンテナ121を介して送信しているURIを受信し、ステップS662に進む。
ステップS662では、PK22は、サービスシステム24から受信したURIであるサービスIDが、PMDB72(図10)に登録されているかどうかを判定する。
ステップS662において、サービスシステム24からのURIであるサービスIDが、PMDB72に登録されていないと判定された場合、PK22は、サービスシステム24からのサービスの提供を拒否することを表す拒否信号を、準静電界通信によって送信する。
PK22が送信した拒否信号は、ステップS642において、アンテナ121を介して、ユーザ情報取得モジュール131で受信される。
この場合、サービスシステム24は、PK22に対してサービスを提供しない。
一方、ステップS662において、サービスシステム24からのURIであるサービスIDが、PMDB72に登録されていると判定された場合、ステップS663に進み、PK22は、そのサービスIDと対応付けて記憶している、上述したPK合言葉とユーザIDを、準静電界通信によって送信する。
なお、このPK合言葉とユーザIDの送信は、例えば、IPプロトコルを用いたシングルキャストにより、ターゲットとするサービスシステム24に対して行われる。PK22において行われるこれ以降の通信も同様である。
また、サービスシステム24において行われるこれ以降の通信も同様に、IPプロトコルを用いたシングルキャストにより、ターゲットとするPK22に対して行われる。
PK22が送信したPK合言葉およびユーザIDは、ステップS643において、アンテナ121を介して、ユーザ情報取得モジュール131で受信される。
そして、ユーザ情報取得モジュール131は、ステップS644に進み、PK22からのユーザIDに対応付けて記憶されているPK合言葉を、ユーザDB134から読み出して、そのPK合言葉と、PK22からのPK合言葉とが一致するかどうかを判定する。
ステップS644において、PK22からのユーザIDに対応付けて記憶されているPK合言葉と、PK22からのPK合言葉とが一致しないと判定された場合、即ち、PK22がなりすましである可能性が高い場合、ユーザ情報取得モジュール131は、処理を終了する。
この場合、サービスシステム24は、PK22に対してサービスを提供しない。
一方、ステップS644において、PK22からのユーザIDに対応付けて記憶されているPK合言葉と、PK22からのPK合言葉とが一致すると判定された場合、ユーザ情報取得モジュール131は、PK22からのユーザIDに対応付けて記憶されているサービス合言葉を、ユーザDB134から読み出し、アンテナ121を介して、準静電界通信によって送信する。
サービスシステム24(のユーザ情報取得モジュール131)が送信したサービス合言葉は、ステップS664において、PK22で受信される。
そして、PK22は、ステップS665に進み、サービスシステム24のサービスIDに対応付けて記憶されているサービス合言葉を、PMDB72(図10)から読み出して、そのサービス合言葉と、サービスシステム24からのサービス合言葉とが一致するかどうかを判定する。
ステップS665において、サービスシステム24のサービスIDに対応付けて記憶されているサービス合言葉と、サービスシステム24からのサービス合言葉とが一致しないと判定された場合、即ち、サービスシステム24がなりすましである可能性が高い場合、ユーザ情報取得モジュール131は、サービスシステム24からのサービスの提供を拒否することを表す拒否信号を、準静電界通信によって送信する。
PK22が送信した拒否信号は、ステップS645において、アンテナ121を介して、ユーザ情報取得モジュール131で受信される。
この場合、サービスシステム24は、PK22に対してサービスを提供しない。
一方、ステップS665において、サービスシステム24のサービスIDに対応付けて記憶されているサービス合言葉と、サービスシステム24からのサービス合言葉とが一致すると判定された場合、即ち、PK22とサービスシステム24との間で相互認証に成功した場合、ステップS666に進み、PK22は、PMDB72から、サービスシステム24のサービスIDに対応付けて記憶されているPMDのうちの、読み出しが許可されているもの、即ち、サービスシステム24に対して提供することが許可されているPMD(許可情報)を読み出し、準静電界通信によって、サービスシステム24に送信する。
なお、PK22とサービスシステム24との間で相互認証に成功した後の、PK22とサービスシステム24との間の通信は、例えば、SSL等を利用することによって、セキュアに行われる。
PK22が送信したPMDは、ステップS646において、アンテナ121を介して、ユーザ情報取得モジュール131で受信される。そして、ユーザ情報取得モジュール131は、ステップS647に進み、PK22からのPMDを、最適化エンジン132に転送し、最適化エンジン132は、ステップS622において、そのPMDを受信する。
また、ユーザ情報取得モジュール131は、ステップS648において、例えば、PK22との間の準静電界通信を行うのに使用されているアンテナ121の設置位置を、PK22を携帯しているユーザがいる位置(ユーザ位置)として認識し、そのユーザ位置を、最適化エンジン132に転送する。最適化エンジン132は、ステップS623において、ユーザ情報取得モジュール131からのユーザ位置を受信する。
一方、コンテンツDB133は、ステップS601において、自身が記憶しているコンテンツメタデータを、最適化エンジン132に供給し、最適化エンジン132は、ステップS621において、コンテンツDB133からのコンテンツメタデータを受信し、そのコンテンツメタデータにより、コンテンツDB133に記憶されているコンテンツ(の内容等)を認識する。
そして、最適化エンジン132は、ステップS624において、PK22からのPMDと、PK22を携帯しているユーザのユーザ位置とに応じて、PK22を携帯しているユーザに対して提供するのが最適なコンテンツを、ステップS621で認識したコンテンツの中から特定(認識)し、そのコンテンツを要求するリクエスト信号を、コンテンツDB133に供給する。
コンテンツDB133は、ステップS602において、最適化エンジン132からのリクエスト信号を受信して、ステップS603に進む。
ステップS603では、コンテンツDB133は、自身が記憶しているコンテンツの中から、最適化エンジン132からのリクエスト信号によって要求されているコンテンツを検索(選択)し、そのコンテンツ(以下、適宜、最適コンテンツという)を、出力装置122に供給する。
出力装置122は、ステップS631において、コンテンツDB133からの最適コンテンツを受信し、その表示等を行う。
なお、図28では、なりすまし防止処理として、合言葉方式を用いた処理を行うようにしたが、なりすまし防止処理は、その他、上述した公開鍵方式や共通鍵方式を用いた処理であっても良い。
但し、なりすまし防止処理を行うことは、必須ではない。即ち、PK22を携帯するユーザ側もしくはサービスシステム24を提供するサービス提供者側のうちの一方または両方が不要と認める場合には、なりすまし防止処理はスキップすることができる。具体的には、例えば、PK22を携帯するユーザの性別が男または女であるなどといった、公開するPMDがユーザの情報としてそれほど重要でないものである場合には、なりすましの防止の要請は低い。従って、このような場合には、なりすまし防止処理をスキップしても問題はなく、さらに、なりすまし防止処理のスキップによって、処理全体の短時間化を図ることができる。
また、図28では、サービスシステム24に対して、PK22からユーザのPMDを提供するようにしたが、ユーザのPMDは、その他、例えば、pBase23(図27)から提供することも可能である。即ち、例えば、PK22では、サービスシステム24に対し、PMDとして、pBase23のURIを提供するようにし、サービスシステム24では、PK22からのPMDがURIであった場合には、そのURIが表すpBase23に対し、ネットワーク21を介してアクセスして、そのpBase23から、PK22のユーザのPMDを取得するようにすることができる。この場合、pBase23とサービスシステム24との間の通信は、セキュアに行うのが望ましい。
さらに、図28では、ステップS603において、コンテンツDB133から出力装置122に対して、最適コンテンツを供給するようにしたが、ステップS603では、図28において点線で示すように、コンテンツDB133は、最適コンテンツを、アンテナ121を介し、準静電界通信によって、PK22に送信することができる。
そして、この場合、PK22では、ステップS667において、最適コンテンツを受信して出力(表示)し、または記憶することができる。
次に、図29のフローチャートを参照して、図27のサービスシステム24の処理について、さらに説明する。
サービスシステム24では、PK22との間で相互認証が成功すると、ステップS681において、ユーザ情報取得モジュール131は、PK22から準静電界通信によって送信されてくるPMDを受信することにより取得し、最適化エンジン132に転送して、ステップS682に進む。
ステップS682では、ユーザ情報取得モジュール131は、PK22を携帯しているユーザがいるユーザ位置を取得し、最適化エンジン132に転送して、ステップS683に進む。
ステップS683では、最適化エンジン132は、ユーザ情報取得モジュール131からのPMDとユーザ位置とに応じて、PK22を携帯しているユーザに対して提供するのが最適な最適コンテンツを特定し、コンテンツDB133に、自身が記憶しているコンテンツの中から最適コンテンツを選択させることにより取得させ、ステップS684に進む。
ステップS684では、コンテンツDB133は、最適コンテンツを、出力装置122に供給して出力させ、またはアンテナ121を介して準静電界通信によって送信することにより、PK22に出力し、処理を終了する。
次に、図30のフローチャートを参照して、図27のPK22の処理について、さらに説明する。
PK22は、サービスシステム24との間で相互認証が成功すると、ステップS701において、PMDB72(図10)に記憶されているPMDのうち、サービスシステム24に対して提供すること(読み出し)が許可されているPMDを読み出すことにより取得し、ステップS702に進む。
ステップS702では、PK22は、ステップS701で取得したPMDを、準静電界通信によって、サービスシステム24に送信する。
その後、サービスシステム24から最適コンテンツが準静電界通信によって送信されてきた場合には、PK22は、ステップS703に進み、その最適コンテンツを受信して、ステップS704に進む。
ステップS704では、PK22は、ステップS703で受信した最適コンテンツを記憶し、または画像または音声等で出力して、処理を終了する。
以上のように、図27のサービス提供システムによれば、PK22において、PMDB72(図10)に記憶されているPMDのうちの、サービスシステム24に対して提供することがユーザによって許可されたPMDだけを、ユーザの人体とアンテナ121との間の距離により制御される準静電界通信によって、サービスシステム24に送信する。一方、サービスシステム24において、コンテンツDB133に記憶されているコンテンツの中から、ユーザに提供する最適コンテンツを、PK22からのPMDに応じて取得し、ユーザに提供する。従って、ユーザに対して、最適な情報を、確実に提供すること等ができる。
即ち、RF通信のようにマルチパスが生じる通信では、ユーザ位置を特定のための仕組みは複雑になり、サービスシステムが設置される環境において、ユーザ位置を特定するための機器設定やキャリブレーションが必要となる。
これに対して、図27のサービス提供システムでは、準静電界通信を採用しているので、ユーザがいるかどうかを検出したい位置にアンテナ121としての導体シートを設置するだけで、ユーザ位置を簡単かつ正確に特定することができ、そのユーザ位置にいる(立っている)ユーザに対して、最適な情報を、確実に提供することが可能となる。
また、PK22からサービスシステム24に対しては、ユーザが許可したPMDだけが提供され、サービスシステム24は、そのPMDに応じて、ユーザに情報を提供するので、ユーザは、常時監視されているかのような印象を受けずに、安心してサービスの提供を受けることができる。
さらに、例えば、課金処理を行うサービスシステムに対してのみ、ユーザのクレジットカードの番号や銀行口座の口座番号などのPMDを提供することを許可することで、課金処理に無関係なサービスシステムに、そのようなPMDが漏洩することを防止することができる。
また、ユーザ位置を正確に把握することができるので、例えば、出力装置122の画面において、ユーザ位置に近い部分に、そのユーザに対する最適コンテンツを表示することが可能となる。
また、アンテナ121は、1つに限らず、複数設置することができる。アンテナ121を、複数箇所に設置した場合には、複数のユーザそれぞれがいるユーザ位置を同時に特定することができ、従って、例えば、出力装置122の画面において、複数のユーザ位置それぞれに近い部分に、そのユーザ位置にいるユーザに対する最適コンテンツを、同時に表示することが可能となる。
以上のようなサービス提供システム(図27)は、例えば、公共の場に置かれた情報提示(表示、音声出力などによる情報の伝達またはディジタル情報の伝達)システムに適用することができる。この場合、情報提示システムでは、誰にでも、均一の情報提示を行うのではなく、ユーザごとに、そのユーザに適した情報提示を行うことができる。
情報提示は、公共の場にあるディスプレイや、スピーカ、ユーザが所持しているPDA(Personal Digital Assistant)等の端末その他を利用して行うことができる。
また、情報提示は、ユーザが、情報提示システムから一定の距離にいるかどうかに応じて行うこともできるし、さらに、ユーザがどの位置(領域)にいるかに応じて行うこともできる。
ユーザと情報提示システムとの距離に応じた情報提示においては、例えば、情報としてのコンテンツのディティル(detail)の度合いや、文字の大きさ、文章の要約の程度、音声の大きさなどを変化させることができる。
また、情報提示は、ユーザが所持しているPK22その他の装置に対して、情報を転送することで行うこともできる。この場合、ユーザが所持している装置では、情報の表示の最適化や、音声出力される情報の内容の最適化を行うことが可能である。
さらに、ユーザは、情報提示システムに対して、適切なPMDを提供することにより、行く先々で、自身にとって有意な情報提示を受けることができる。
即ち、PMDとしては、例えば、図19乃至図21に示した番組嗜好情報その他のユーザの嗜好を表す嗜好情報、ユーザのスケジュール情報、性別、国籍、年齢、身体の障害情報、健康データ、興味がある対象を表すキーワードその他を採用することができ、このようなPMDを、PK22から情報提示システムに提供することができる。
情報提示システムは、PK22から、例えば、ユーザの国籍が提供された場合、その国籍に対応する言語で情報を提示することができる。
また、情報提示システムは、PK22から、例えば、ユーザが視覚障害を有することを表す障害情報が提供された場合、情報を、音声出力によって提示することができる。
さらに、情報提示システムは、PK22から、例えば、スケジュール情報が提供された場合、そのスケジュール情報から、ユーザが、これから行こうとしている行き先を認識し、その行き先を案内するメッセージなどの提示を行うことができる。このようなメッセージの提示は、例えば、ビルなどの比較的大規模な建物内での特定の場所への誘導や、駅構内での電車の乗り換え先のホームへの誘導などに利用することができる。
また、情報提示システムは、PK22から、例えば、キーワードが提供された場合、そのキーワードが表す対象の情報を提示することができる。具体的には、例えば、キーワードが、あるブランドのブランド名である場合、情報提示システムは、そのブランドの商品に関する商品情報を提示することができる。
この場合、ユーザは、例えば、好みのブランドの商品の商品情報を、知らないうちに収集することができる。
即ち、ユーザは、例えば、デパートなどの店舗において、いわゆるウインドウショッピングを行う場合、商品が陳列してあるショーウインドウに近づき、その商品を詳細に見ようとする。従って、ユーザが、ショーウインドウに近接したときに、準静電界通信を行うことが可能なように、情報提示システムを設置しておくとともに、PK22から情報提示システムに対して、ユーザの好みのブランドのブランド名を提供するようにすることで、情報提示システムは、ショーウインドウに陳列されている商品のうち、ユーザの好みのブランドの商品の商品情報を提示することができる。この場合、PK22において、情報提示システムが提示する商品情報を、データとして記憶しておくようにすることで、ユーザは、ウインドウショッピングをしているうちに、好みのブランドの商品の商品情報だけを収集することができる。
なお、本実施の形態では、PK22とサービスシステム24との間で、準静電界通信を行うようにしたが、その他の通信を行うことも可能である。但し、PK22とサービスシステム24との間で行われる通信は、人体近傍通信であることが望ましい。
また、本実施の形態では、ユーザがPK22を携帯することとして、そのPK22用いて、サービスシステム24からサービスの提供を受けることとしたが、ユーザが携帯する装置は、PK22の機能を有するものであれば良い。即ち、ユーザが携帯する装置は、例えば、PK22の機能を有する携帯電話機などであっても良い。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
21 ネットワーク, 22 PK, 23 pBase, 24 サービスシステム, 121 アンテナ, 122 出力装置, 131 ユーザ情報取得モジュール, 132 最適化エンジン, 133 コンテンツDB, 134 ユーザDB