第1の発明の実施態様の管理装置用カードは、利用者の生体データを計測し前記生体データを所定の暗号鍵を用いて暗号化する計測装置から前記暗号化された生体データを受信して管理する管理装置に装着される管理装置用カードであって、前記計測装置から前記計測装置に固有の第1固有情報及び前記計測装置の利用者を識別する識別情報を取得するインターフェース部と、前記管理装置用カードに固有の第2固有情報を格納している第1格納部と、前記第1固有情報、前記第2固有情報及び前記識別情報を用いて前記所定の暗号鍵に対応する所定の復号鍵を生成する生成部と、前記生成された所定の復号鍵を格納する第2格納部と、前記計測装置から暗号化された生体データを受信し、前記受信した暗号化された生体データを前記格納された所定の復号鍵を用いて復号化し、前記復号化された生体データを取得する制御部と、を具備する。
本態様によると、前記計測装置から取得した計測装置に固有の第1固有情報、前記計測装置から取得した計測装置の利用者を識別する識別情報、及び前記管理装置用カード自身が保有する管理装置用カードに固有の第2固有情報に基づいて、前記計測装置において所定の暗号鍵を用いて暗号化された生体データを復号する復号鍵を生成することにより、管理装置用カードは、前記計測装置から取得できる情報である前記第1固有情報及び前記識別情報に基づいて所定の復号鍵を生成するので、生成される所定の復号鍵を介して前記計測装置用カードと連携されることになる。その結果、生体データの秘匿性を保証しつつ、前記計測装置と前記管理装置用カードとの間での生体データの送受信が可能になる。
また、前記暗号鍵を、前記計測装置の利用者を識別する識別情報に基づいて生成することにより、所定の利用者の生体データを、前記所定の利用者を識別する利用者情報から生成された前記所定の利用者に固有の復号鍵を用いて復号化するので、他の利用者の復号鍵を用いては当該利用者の生体データを復号化できず、生体データの秘匿性を保証できる。
また、前記管理装置用カード自身が保有する第2固有情報をも利用して前記所定の復号鍵を生成することにより、前記計測装置から取得できる前記第1固有情報及び前記識別情報とは情報源が異なる情報も含めて前記所定の復号鍵を生成するので、両情報源からの情報がなければ復号鍵は生成できない。その結果、生成される復号鍵の秘匿性を担保できる。
さらに、前記識別情報を含む情報を用いて前記所定の復号鍵を事前に生成しておくことにより、前記識別情報に基づいて利用者を識別して前記識別情報に対応する生体データを前記計測装置に要求した場合には、前記識別情報に対応し暗号化された生体データを事前に生成した所定の復号鍵を用いて復号化できるので、前記計測装置から前記生体データを取得する際には前記生体データの利用者に対応させて復号鍵を生成する必要がなく、必要な生体データのみを個人情報の秘匿性を担保しつつ前記計測装置から取得できる。
また、第1の発明の実施態様の管理装置カードにおいて、前記インターフェース部は、前記管理装置用カードが前記計測装置に装着された場合、前記計測装置から前記計測装置に固有の第1固有情報及び前記計測装置の利用者を識別する識別情報を取得してもよい。
本態様によると、前記計測装置から取得できる前記第1固有情報及び前記識別情報については、前記管理装置用カードを直接前記計測装置に装着した場合にしか前記管理装置用カードは取得できないので、前記第1固有情報及び前記識別情報は通信を介して外部に漏れることはない。その結果、生成される復号鍵の秘匿性を担保できる。
また、第2の発明の実施態様の管理装置カードにおいて、前記所定の暗号鍵は所定の公開鍵であり、前記所定の復号鍵は前記公開鍵に対応する所定の秘密鍵であり、前記生成部は、前記第1固有情報、前記第2固有情報及び前記識別情報を用いて前記所定の公開鍵及び前記所定の秘密鍵を生成してもよい。
本態様によると、前記所定の暗号鍵は所定の公開鍵であり、前記所定の復号鍵は前記公開鍵に対応する所定の秘密鍵であってもよい。
また、第1の発明の実施態様の計測装置は、本装置の利用者の生体データを計測する計測部と、本装置に固有の第1固有情報を格納している格納部と、前記生体データを管理する管理装置に装着される管理装置用カードから前記管理装置用カードに固有の第2固有情報を取得し、前記利用者を識別する識別情報に対応させて前記第2固有情報を前記格納部に格納し、前記管理装置用カードに前記第1固有情報及び前記利用者を識別する識別情報を出力するインターフェース部と、前記格納部から前記本装置に固有の第1固有情報、前記管理装置用カードに固有の第2固有情報及び所定の利用者を識別する識別情報を取得し、前記第1固有情報、前記第2固有情報及び前記識別情報に基づいて所定の暗号鍵を生成し、前記所定の利用者に対応する生体データを取得し、前記所定の暗号鍵を用いて前記所定の利用者の生体データを暗号化して前記管理装置用カードに送信する制御部と、を具備する。
本態様によると、前記管理装置用カード自身が保有する管理装置用カードに固有の第1固有情報、前記計測装置から取得した計測装置に固有の第2固有情報、及び、前記計測装置から取得した計測装置の利用者を識別する識別情報に基づいて、前記計測装置において所定の暗号鍵を用いて暗号化された生体データを復号する復号鍵を生成することにより、計測装置用カードは、前記計測装置から取得できる情報である前記第1固有情報及び前記識別情報と前記管理装置用カードから取得できる第2の固有情報とに基づいて所定の暗号鍵を生成するので、生成される所定の暗号鍵を介して前記管理装置用カードと連携されることになる。その結果、生体データの秘匿性を保証しつつ、前記計測装置と前記管理装置用カードとの間での生体データの送受信が可能になる。
また、前記暗号鍵を、前記計測装置の利用者を識別する識別情報に基づいて生成することにより、所定の利用者の生体データを、前記所定の利用者を識別する利用者情報から生成された前記所定の利用者に固有の暗号鍵を用いて暗号化するので、他の利用者の暗号鍵に対応する復号鍵を用いては当該利用者の生体データを復号化できず、生体データの秘匿性を保証できる。
さらに、計測装置用カードが装着される計測装置から取得できる前記第2固有情報及び前記識別情報を利用して前記所定の暗号鍵を生成することにより、前記管理装置用カード自身が保有する第2固有情報とは情報源が異なる情報も含めて前記所定の暗号鍵を生成するので、両情報源からの情報がなければ暗号鍵は生成できない。その結果、生成される暗号鍵の秘匿性を担保できる。
また、第1の発明の実施態様のヘルスケアシステムは、生体データを計測する計測装置と、前記生体データを管理する管理装置と、通信機能を有し前記計測装置に装着され前記生体データを前記管理装置に送信する計測装置用カードと、通信機能を有し前記管理装置に装着され前記生体データを受信し前記管理装置に格納する管理装置用カードと、を含むヘルスケアシステムであって、前記管理装置用カードは、前記計測装置から前記計測装置に固有の第1固有情報及び前記計測装置の利用者を識別する識別情報を取得する第1インターフェース部と、前記管理装置用カードに固有の第2固有情報を格納している第1格納部と、前記第1固有情報、前記第2固有情報及び前記識別情報を用いて所定の復号鍵を予め生成する第1制御部と、前記予め生成された所定の復号鍵を格納する第2格納部と、を具備し、前記計測装置は、前記計測装置の利用者の生体データを計測する計測部と、前記計測装置に固有の第1固有情報を格納している第3格納部と、前記管理装置用カードに固有の第2固有情報を前記管理装置用カードから取得し、前記管理装置用カードに前記第1固有情報及び前記識別情報を出力する第2インターフェース部と、を具備し、前記計測装置用カードは、前記計測装置に装着された状態で、所定の利用者に対応する生体データを前記管理装置用カードに送信する場合、前記計測装置から前記第1固有情報、前記第2固有情報及び前記識別情報を取得し、前記第1固有情報、前記第2固有情報及び前記識別情報に基づいて前記所定の復号鍵に対応する所定の暗号鍵を生成し、前記計測装置から前記所定の利用者に対応する生体データを取得し、前記所定の暗号鍵を用いて前記所定の利用者の生体データを暗号化して前記管理装置用カードに送信する第2制御部と、を具備し、前記管理装置用カードの第1制御部は、前記計測装置用カードから暗号化された生体データを受信した場合、前記第2格納部に格納された所定の復号鍵を用いて生体データを復号化して前記管理装置に出力する。
本態様によると、管理装置用カードは、計測装置から取得した前記計測装置に固有の第2固有情報及び前記計測装置の利用者を識別する識別情報と前記管理装置用カードに固有の第1固有情報とに基づき所定の復号鍵を生成し、一方、前記計測装置用カードは、前記計測装置から前記第1固有情報及び前記第2固有情報を取得し、前記管理装置用カードから前記識別情報を取得して前記所定の復号鍵に対応する所定の暗号鍵を生成することにより、管理装置用カードと前記計測装置用カードとは、計測装置から取得できる前記第1固有情報及び前記管理装置用カードを利用する利用者を識別する識別情報と前記管理装置用カードから取得できる第2固有情報とに基づいて相互に対応する所定の暗号鍵及び所定の復号鍵を生成するので、生成される所定の暗号鍵と所定の復号鍵とを介して前記管理装置用カードと前記計測装置用カードとが連携されることになる。その結果、生体データの秘匿性を保証しつつ、前記計測装置用カードと前記管理装置用カードとの間での生体データの送受信が可能になる。
また、前記暗号鍵を、前記計測装置の利用者を識別する識別情報に基づいて生成することにより、所定の利用者の生体データを、前記所定の利用者を識別する利用者情報から生成された前記所定の利用者に固有の暗号鍵を用いて暗号化するので、他の利用者の暗号鍵を用いては当該利用者の生体データを復号化できず、生体データの秘匿性を保証できる。
また、前記計測装置から取得できる前記第1固有情報と、前記管理装置用カードから取得できる第2固有情報とは情報源が異なるので、両情報源からの情報がなければ暗号鍵は生成できない。その結果、生成される暗号鍵の秘匿性を担保できる。
さらに、前記識別情報を含む情報を用いて前記所定の復号鍵を事前に生成しておくことにより、前記識別情報に基づいて利用者を識別して前記識別情報に対応する生体データを前記計測装置に要求した場合には、前記識別情報に対応し暗号化された生体データを事前に生成した所定の復号鍵を用いて復号化できるので、前記計測装置から前記生体データを取得する際には前記生体データの利用者に対応させて復号鍵を生成する必要がなく、必要な生体データのみを個人情報の秘匿性を担保しつつ前記計測装置から取得できる。
また、第1の発明の実施態様のヘルスケアシステムにおいて、前記計測装置は、さらに、予め定められた複数の利用者の中のいずれの利用者が前記計測装置を利用しているかを識別する識別手段を有し、前記第2インターフェース部は、前記管理装置用カードが前記第2インターフェース部に装着された場合、前記識別手段によって識別された利用者の識別情報を前記管理装置用カードに出力し、一方、前記計測装置用カードが前記第2インターフェース部に装着された場合、前記識別手段によって識別された利用者の生体データを前記計測装置用カードに出力してもよい。
本態様によると、前記管理装置用カードが装着された場合と前記計測装置用カードが装着された場合とで共通の識別手段を用いるので、前記管理装置用カードが装着された場合と前記計測装置用カードが装着された場合とで別個の手段を設ける必要がなく、部品点数を削減でき装置を小型化できる。
また、第1の発明の実施態様のヘルスケアシステムにおいて、前記識別手段は、前記計測装置に設けられたボタンであってもよい。
本態様によると、前記識別手段は、前記計測装置に設けられたボタンでもよい。
また、第2の発明の実施態様のヘルスケアシステムは、生体データを計測する計測装置と、前記生体データを管理する管理装置と、通信機能を有し前記計測装置に装着され前記生体データを前記管理装置に送信する計測装置用カードと、通信機能を有し前記管理装置に装着され前記生体データを受信し前記管理装置に格納する管理装置用カードと、を含むヘルスケアシステムであって、前記管理装置用カードは、前記計測装置から前記計測装置に固有の第1固有情報及び前記計測装置の利用者を識別する識別情報を取得する第1インターフェース部と、前記管理装置用カードに固有の第2固有情報を格納している第1格納部と、前記第1固有情報、前記第2固有情報及び前記識別情報を用いて所定の公開鍵及び所定の秘密鍵を予め生成する第1制御部と、前記予め生成された所定の秘密鍵を格納する第2格納部と、を具備し、前記計測装置は、前記計測装置の利用者の生体データを計測する計測部と、前記計測装置に固有の第1固有情報を格納している第3格納部と、前記管理装置用カードに前記第1固有情報及び前記識別情報を出力し、前記管理装置用カードにて前記出力した第1固有情報及び識別情報を用いて生成された前記所定の公開鍵を取得する第2インターフェース部と、を具備し、前記計測装置用カードは、前記計測装置に装着された状態で、所定の利用者に対応する生体データを前記管理装置用カードに送信する場合、前記計測装置から前記所定の公開鍵及び前記所定の利用者に対応する生体データを取得し、前記所定の公開鍵を用いて前記所定の利用者の生体データを暗号化して前記管理装置用カードに送信する第2制御部と、を具備し、前記管理装置用カードの第1制御部は、前記計測装置用カードから暗号化された生体データを受信した場合、前記第2格納部に格納された所定の秘密鍵を用いて生体データを復号化して前記管理装置に格納する。
本態様によると、前記管理装置用カードは、前記第1固有情報、前記第2固有情報及び前記識別情報を用いて所定の公開鍵及び所定の秘密鍵を生成し、前記計測機器を介して前記所定の公開鍵を前記計測機器用カードに送信して前記生体データを前記所定の公開鍵で暗号化し、一方、前記管理装置用カードでは前記所定の秘密鍵を用いて前記暗号化された生体データを復号化してもよい。
なお、上記実施態様は、例えば、装置として実現するだけでなく、このような装置が備える処理部を備える集積回路として実現したり、その装置を構成する処理部が行う処理を実行する方法として実現したり、それらの処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、それらプログラムは、CD−ROM等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1におけるヘルスケアシステム100の概略図である。図1に示すように、ヘルスケアシステム100は、計測機器101、103、計測機器用カード102、104、管理機器105、管理機器用カード106、及びサービス提供装置107、108から構成される。ここで、ヘルスケアシステム100において、計測機器用カード102、104と管理機器用カード106とは、近距離無線通信路109を介して接続される。また、管理機器用カード106とサービス提供装置107、108とは、通信路110を介して接続される。
計測機器101、103は、例えば、体重計、血圧計などであり、ユーザ(利用者)の生体データを計測する。ここで、生体データとは、ユーザの体重、体脂肪、血圧などの健康に関する情報、又は、その計測値を示す。
計測機器用カード102、104は、計測機器101、103に装着可能なカードである。また、計測機器用カード102、104は、計測機器101、103により計測された生体データを、自身が装着されている計測機器101、103から取得する。そして、計測機器用カード102、104は、取得した生体データを蓄積する。さらに、計測機器用カード102、104は、後述する管理機器用カード106に対応する計測値を、近距離無線通信路109を介して、管理機器用カード106へ送信する。具体的には、計測機器用カード102、104は、例えば、ブルートゥース(Bluetooth)(登録商標)、ワイファイ(WiFi)(登録商標)等の近距離無線通信機能を備えた、接触型のICカードである。
管理機器105は、例えば、PCなどであり、管理機器用カード106に格納された計測値を表示したりする。
管理機器用カード106は、計測機器101、103及び管理機器105に装着可能なカードである。そして、管理機器用カード106は、管理機器105の制御の下、ユーザの体重、血圧などの計測値を、近距離無線通信路109を介して、計測機器用カード102、104から受信する。さらに、管理機器用カード106は、計測機器用カード102、104から受信した生体データを蓄積する。また、管理機器用カード106は、サービス提供装置107、108のそれぞれに対応する計測値のみを、通信路110を介して、サービス提供装置107、108へ送信する。
近距離無線通信路109は、例えばブルートゥースである。また、通信路110は、例えばインターネットなどの広域通信ネットワークである。
以下、図1のヘルスケアシステム100を構成する各構成要素の概略について説明する。
<計測機器101>
図2は、計測機器101の機能構成を示す図である。なお、計測機器103は、計測機器101と同様の機能構成であるので、図示及び説明を省略する。図2に示すように、計測機器101は、計測機器ID記録部1011、生体データ計測部1012、個別ボタン部1013、カードi/f部1014、制御部1015、及び管理機器用カード情報記録部1016を備える。
計測機器ID記録部1011は、格納部の一例であり、計測機器の識別情報を記録している。つまり、計測機器ID記録部1011は、計測機器101に固有の情報である計測機器IDを格納している生体データ計測部1012は、ユーザの生体データを計測する。
個別ボタン部1013は、指示部又は識別手段の一例であり、予め定められた複数のユーザの中のいずれのユーザが計測機器101を利用しているかを識別する。例えば、個別ボタン部1013は、計測機器101に設けられた複数のボタンである。また、各ボタンは、ボタン番号により識別される。つまり、ボタン番号は、計測機器のユーザを識別する識別情報の一例である。
具体的には、例えば、計測機器101が体重計である場合、個別ボタン部1013は、家族のメンバーの個々を区別して計測するための複数のボタン(それぞれ、ボタン1、ボタン2などのように表示されている)に対応する。この各ボタンに対応付けて、家族のメンバーの計測値(生体データ)が計測機器用カード102に登録される。また、この各ボタンに対応付けて、生体データ計測部1012により計測される際に必要な身長、年齢などのユーザ情報を登録するようにしてもよい。例えば、予めボタン1に対応付けてお父さんの身長が登録されている場合、お父さんがボタン1を押して体重計に乗ることにより、生体データ計測部1012は、体重と体脂肪とをボタン1に対応付けて計測する。
カードi/f部1014は、インターフェース部の一例である。カードi/f部1014は、管理機器用カード106が計測機器101に装着された場合に、その管理機器用カード106から管理機器用カード106に固有の情報である管理装置用カードIDを取得する。そして、カードi/f部1014は、取得した管理装置用カードIDを管理機器用カード情報記録部1016に格納する。さらに、カードi/f部1014は、管理機器用カード106が計測機器101に装着された場合に、その管理機器用カード106に計測機器ID及びボタン番号を出力する。
具体的には、管理機器用カード106に関する情報を計測機器101に登録する計測機器登録フェーズの場合、管理機器用カード106がカードi/f部1014に接続される。一方、生体データを計測する計測フェーズの場合、計測機器用カード102がカードi/f部1014に接続される。そして、カードi/f部1014は、計測フェーズの場合、装着されている計測機器用カード102に、計測機器ID、計測値、及びボタン番号(「1」など)を送信する。
制御部1015は、計測機器101が備える各種機能を制御する。
管理機器用カード情報記録部1016は、計測機器101に装着された管理機器用カード106の管理装置用カードID及び通信IDを、ボタン番号に対応付けて管理機器用カード情報テーブル1016aに格納する。図3は、管理機器用カード情報テーブル1016aの一例を示す図である。図3に示すように、管理機器用カード情報テーブル1016aには、管理機器用カードID、ボタン番号、及び通信IDが格納される。例えば、図3に示す管理機器用カード情報テーブル1016aは、ボタン番号「2」が、管理機器用カードID「管理機器用カードID1」により識別される管理機器用カード106に対応することを示す。なお、1つのボタン番号に対して、複数の管理機器用カードIDが対応してもよい。
<計測機器用カード102>
図4は、計測機器用カード102の機能構成を示す図である。なお、計測機器用カード104は、計測機器用カード102と同様の機能構成であるので、図示及び説明を省略する。図4に示すように、計測機器用カード102は、鍵計算部1022、カードi/f部1023、計測値記録部1025、暗号部1026、近距離無線通信部1027、及び鍵記録部1028を備える。
鍵計算部1022は、制御部の一例であり、計測機器101が備える計測機器ID記録部1011から、カードi/f部1023を介して計測機器IDを取得する。また、鍵計算部1022は、計測機器101が備える個別ボタン部1013から、カードi/f部1023を介してボタン番号を取得する。さらに、鍵計算部1022は、計測機器101が備える管理機器用カード情報記録部1016に記録された管理機器用カード情報テーブル1016aから、カードi/f部1023を介して管理装置用カードIDを取得する。このように取得した、計測機器ID、ボタン番号及び管理装置用カードIDに基づいて、鍵計算部1022は共有鍵を生成する。
具体的には、鍵計算部1022は、例えば、予め定められた関数fを用いて、次式のように共有鍵K_aを計算する。
K_a=f(管理機器用カードID||計測機器ID||ボタン番号)
ここで、「||」は情報の結合を示す。また、関数fは後述する管理機器用カード106に内蔵されている関数と同じ関数である。
カードi/f部1023は、計測機器用カード102を計測機器101に装着するためのインターフェースである。例えば、カードi/f部1023は、SDIO規格に準拠した構成とする。
計測値記録部1025は、格納部の一例であり、ユーザを識別する識別情報であるボタン番号に対応させてユーザ毎に生体データを計測値テーブル1025aに格納する。図5は、計測値テーブル1025aの一例を示す図である。図5に示すように、計測値テーブル1025aには、計測機器ID、ボタン番号、及び暗号化計測値が格納される。例えば、図5に示す計測値テーブル1025aは、計測機器ID「体重計1」のボタン番号「2」に対応する暗号化計測値が、「暗号化計測値1」であることを示す。
暗号部1026は、制御部の一例であり、所定の利用者に対応する生体データを取得する。そして、暗号部1026は、鍵計算部1022により生成された共有鍵を用いて、取得した計測値を暗号化する。
近距離無線通信部1027は、制御部の一例であり、近距離無線通信路109を介して、管理機器用カード106に暗号化された計測値を送信する。具体的には、近距離無線通信部1027は、管理機器用カード106が所定のボタン番号に対応する計測値の送信を要求した場合、暗号化された計測値を管理機器用カード106に送信する。なお、近距離無線通信部1027は、計測機器101が所定のボタン番号に対応する計測値を送信する旨を管理機器用カード106に通知した場合、暗号化された計測値を管理機器用カード106に送信してもよい。また、近距離無線通信部1027は、管理機器用カード106が計測機器101の所定の範囲内(例えば、3m以内)に接近した場合、暗号化された計測値を管理機器用カード106に送信してもよい。
鍵記録部1028は、鍵計算部1022が生成した共有鍵を管理機器情報テーブル1028aに格納する。図6は、管理機器情報テーブル1028aの一例を示す図である。図6に示すように、管理機器情報テーブル1028aには、管理機器用カードID、計測機器ID、ボタン番号、通信ID、及び共有鍵が格納される。例えば、図6に示す管理機器情報テーブル1028aは、管理機器用カードID「管理機器用カードID」、計測機器ID「体重計1」、及びボタン番号「2」に対応する共有鍵が「K_a」であることを示す。
なお、計測機器用カード102は、例えばSDカード、ICカード等のように、セキュアな領域を有するデバイスであって、少なくとも鍵記録部1028、計測値記録部1025、及び鍵計算部1022はセキュアな領域に実装される。
<管理機器105>
図7は、管理機器105の機能構成を示す図である。図7に示すように、管理機器105は、カードi/f部1051、入力部1052、表示部1053、及び制御部1054を備える。
カードi/f部1051は、管理機器用カード106とのデータの送受信を行う。入力部1052は、例えばキーボードなどであり、ユーザの操作が入力される。表示部1053は、例えば液晶ディスプレイなどであり、計測値などを表示する。制御部1054は、例えばCPU、メモリ等からなり、入力部1052に入力されたユーザ操作を管理機器用カード106に伝えてデータを表示したり、通信路110を介してサービス提供装置107、108に接続したりする。
このように管理機器105は、例えばPCのように、管理機器用カード106が装着され、装着された管理機器用カード106内に格納された情報を表示したり、入力部を介して装着された管理機器用カード106を制御したりする。
<管理機器用カード106>
図8は、管理機器用カード106の機能構成を示す図である。図8に示すように、管理機器用カード106は、カードi/f部1061、カードID記録部1062、鍵計算部1063、鍵記録部1064、近距離無線通信部1065、復号部1066、計測値記録部1067、暗号部1068、及び通信部1069を備える。
管理機器用カード106は、計測機器登録フェーズにおいて、計測機器101に装着される。そして、管理機器用カード106は、計測機器101の識別子と、ボタン情報と、計測値を暗号通信する際の共有鍵とを管理機器用カード106内に記録する。また、管理機器用カード106は、サービス登録フェーズにおいて、管理機器105に装着される。そして、管理機器用カード106は、サービス提供装置107の識別子と計測値を暗号通信する際の共有鍵(計測機器登録フェーズにおける共有鍵とは別)とを管理機器用カード106内に記録する。なお、各動作フェーズについては、後で説明する。
以下、図8に示した管理機器用カード106の各構成部について説明する。
カードi/f部1061は、インターフェース部の一例であり、管理機器用カード106が計測機器101に装着された場合、計測機器101から計測機器101に固有の情報である計測機器IDと、計測機器101のユーザを識別する識別情報であるボタン番号とを取得する。
カードID記録部1062は、格納部の一例であり、管理機器用カード106に固有の情報である管理機器用カードIDを格納している。
鍵計算部1063は、生成部の一例であり、計測機器ID、管理機器用カードID及びボタン番号を用いて、計測機器用カード102と共有する共有鍵を生成する。さらに、鍵計算部1063は、サービス提供装置107と共有する共有鍵を生成する。なお、鍵計算部1063の詳細については後述する。
鍵記録部1064は、格納部の一例であり、計測機器に関連する情報(計測機器ID、ボタン番号、通信ID、及び共有鍵)を計測機器情報テーブル1064aに格納する。また、鍵記録部1064は、サービス提供装置107に関連する情報(サービスID、計測種別、通信ID、及び共有鍵)をサービス情報テーブル1064bに格納する。なお、鍵記録部1064の詳細については後述する。
近距離無線通信部1065は、制御部の一例であり、計測機器用カード102から、管理機器用カード106に対応する暗号化された計測値を、近距離無線通信路109を介して受信する。
復号部1066は、制御部の一例であり、近距離無線通信部1065が受信した暗号化された計測値を、鍵記録部1064が記録している計測機器情報テーブル1064aに格納された共有鍵を用いて復号する。
計測値記録部1067は、復号部1066により復号された計測値を格納する。
暗号部1068は、サービス提供装置107に対応する計測種別の計測値をサービス提供装置107との共有鍵を用いて再度暗号化する。
通信部1069は、暗号部1068により暗号化された計測値を、サービス提供装置107に通信路110を介して送信する。
<鍵計算部1063>
以下、鍵計算部1063の詳細について説明する。
鍵計算部1063は、計測機器用カード102が備える鍵計算部1022と同様に、例えば、予め決められた関数fを用いて、次式のように共有鍵K_a’を計算する。
K_a’=f(管理機器用カードID||計測機器ID||ボタン番号)
なお、計測機器ID及びボタン番号は、管理機器用カード106が計測機器101に装着された際に、カードi/f部1061により受信され、鍵記録部1064により計測機器情報テーブル1064aに格納される。また、f関数は、予め計測機器用カード102と管理機器用カード106との間で秘密に共有することができるように、各カードに埋め込まれている。このように、f関数が共有されることにより、管理機器用カードID、計測機器ID、及びボタン番号の組み合わせが同じ場合、前述のK_aは、K_a’と同じ値になる。つまり、計測機器用カード102と管理機器用カード106とは、同じ鍵を共有する。
また、鍵計算部1063は、例えば、予め定められた関数gを用いて、次のように共有鍵K_1を計算する。
K_1=g(管理機器用カードID||サービスID)
なお、サービスIDは、サービス登録フェーズにおいて、管理機器用カード106が管理機器105に装着された場合に、通信部1069により取得される。
なお、管理機器用カード106は、例えばSDカード、ICカード等のように、セキュアな領域を有するデバイスであって、少なくとも鍵記録部1064、計測値記録部1067、鍵計算部1063はセキュアな領域に実装される。また、カードi/f部1061は、例えば、SDIO規格に準拠した構成としてもよい。また、管理機器用カード106は、特定のユーザ向けのカードであり、ユーザを識別するためのユーザIDを内蔵していてもよい。
<鍵記録部1064>
次に、管理機器用カード106が備える鍵記録部1064の詳細について説明する。図9は、鍵記録部1064に記録される計測機器情報テーブル1064a及びサービス情報テーブル1064bの一例を示す図である。図9に示すように、鍵記録部1064は、当該管理機器用カード106と計測機器101とを関連付ける計測機器情報テーブル1064aと、当該管理機器用カード106とサービス提供装置107によって提供されるサービスとを関連付けるサービス情報テーブル1064bと、を記録している。
計測機器情報テーブル1064aには、当該管理機器用カード106のユーザが使用している計測機器101の識別子である計測機器IDと、その計測機器101のボタン番号と、計測機器101に接続するための通信IDと、計測機器用カード102と共有している共有鍵とが格納される。例えば、図9に示す計測機器情報テーブル1064aは、この管理機器用カード106の持ち主であるユーザが、通常、計測機器ID「血圧計2」により識別される計測機器で生体データを計測する場合は、ボタン番号「1」により識別されるボタンを押して生体データを計測することを示す。
なお、通信IDは、ネットワーク上の計測機器101を識別するための情報である。例えば、管理機器用カード106は、通信IDを用いて、通信リンクを成立させることができる。なお、通信IDは、IPアドレスであってもよい。
また、共有鍵は管理機器用カード106の鍵計算部1063により計算された値である。例えば、共有鍵K_aは、計測機器用カード102が当該管理機器用カード106とボタン番号「1」とに対応した計測値を送信する際に、計測機器用カード102と管理機器用カード106とで共有される鍵である。
一方、サービス情報テーブル1064bには、当該管理機器用カード106のユーザが登録しているサービスを提供するサービス提供装置107の識別子であるサービスIDと、そのサービスが収集する計測値の種別と、サービス提供装置107に接続するための通信IDと、そのサービスを提供するサービス提供装置107と共有している共有鍵とが格納される。例えば、図9に示すサービス情報テーブル1064bは、この管理機器用カード106の持ち主であるユーザが、計測種別「ユーザID」及び「体重」に関する情報を収集し、かつ、サービスID「サービスA」により識別されるサービス提供装置が提供するサービスに加入していることを示す。
通信IDは、ネットワーク上のサービス提供装置を識別する情報である。例えば、管理機器用カード106は、サービスID「サービスA」により識別されるサービス提供装置107とは通信ID「URL1」を用いて通信リンクを成立させることができる。また、管理機器用カード106は、サービスID「サービスB」により識別されるサービス提供装置107とは、通信ID「URL2」を用いて通信リンクを成立させることができる。
<サービス提供装置107>
図10は、サービス提供装置107の機能構成を示す図である。なお、サービス提供装置108は、サービス提供装置107と同様の機能構成であるので、図示及び説明を省略する。図10に示すように、サービス提供装置107は、サービスID記録部1071、鍵計算部1073、鍵記録部1074、復号部1075、及び計測値記録部1076を備える。
サービスID記録部1071は、サービス提供装置107の識別子であるサービスIDを格納している。通信部1072は、管理機器用カード106と通信路110を介して通信する。鍵計算部1073は、管理機器用カード106との共有鍵を生成する。鍵記録部1074は、鍵計算部1073により生成された、管理機器用カード106との共有鍵を格納する。復号部1075は、管理機器用カード106から受信した暗号化された計測値を、鍵計算部1073により生成された共有鍵を用いて復号する。計測値記録部1076は復号部1075により復号された計測値を格納する。
鍵計算部1073は、管理機器用カード106に内蔵されている関数と同じ秘密の関数gを用いて、次式のように共有鍵を計算する。
K_1’=g(管理機器用カードID||サービスID)
なお、管理機器用カードIDは、通信部1072により管理機器用カードから取得される。管理機器用カードとサービス提供装置との組み合わせが同じ場合、前述のK_1は、K_1’と同じ値になる。
なお、本実施の形態では、サービス提供装置107について、登録されたユーザの所定の計測値を収集するところまでの構成を述べている。本実施の形態では記述されていないが、サービス提供装置107では、収集した計測値に対応して、例えばアドバイス、食事サービスなどの各種サービスを提供する。具体的には、サービス提供装置107は、例えば、体重が多めの社員の体重情報を定期的に収集し、収集した体重情報に基づいて適切なアドバイスを提供する。このようなサービス提供装置107は、会社の健康保険組合などが所有する。
次に、以上のように構成されたヘルスケアシステム100の動作について説明する。ヘルスケアシステム100の動作は、(1)計測機器登録フェーズ、(2)サービス登録フェーズ、(3)計測フェーズ、及び(4)計測値通信フェーズの4つのフェーズに大別される。以下、図11を用いて(1)計測機器登録フェーズと(2)サービス登録フェーズとについて説明し、図12を用いて(3)計測フェーズと(4)計測値通信フェーズとについて説明する。なお、以下の説明において、管理機器用カード106は、ある特定のユーザ(ユーザAとする)の個別の情報だけを、対応する計測機器101(例えば体重計や血圧計)から収集する。そして、管理機器用カード106は、収集した情報をカード内に蓄積し、所定のサービスに許可されている計測値だけをサービス提供装置107へ送信する。なお、プライバシー保護のため、計測機器用カード102と管理機器用カード106との間の近距離無線通信、及び、管理機器用カード106とサービス提供装置107との間の通信は、それぞれ個別の鍵を用いて暗号化される。暗号化の詳細については、後で説明する。
図11は、ヘルスケアシステム100における、(1)計測機器登録フェーズと(2)サービス登録フェーズとの処理の流れを示すシーケンス図である。
(1)計測機器登録フェーズ
計測機器登録フェーズでは、ユーザA用の管理機器用カード106に、普段ユーザAが使用する計測機器101のユーザAに対応したボタンの情報が登録される。
まず、ユーザAがユーザA用の管理機器用カード106を計測機器101に装着することにより、計測機器101は、管理機器用カード106の装着を検知する(ステップS101)。
続いて、ユーザAが、自分に対応するボタン(例えば2番)を押すことにより、計測機器101は、押下されたボタンのボタン番号を取得する(ステップS102)。
すると、管理機器用カード106は、計測機器ID及びボタン番号を計測機器101から取得する。取得された計測機器ID及びボタン番号は、管理機器用カード106の鍵記録部1064が記録している計測機器情報テーブル1064aに格納される。また、管理機器用カード106の鍵計算部1063は、管理機器用カードID、計測機器ID及びボタン番号を用いて、予め定められた秘密のf関数を計算することにより、共有鍵K_aを生成する(ステップS103)。ここで生成された共有鍵K_aは、計測機器ID及びボタン番号に対応付けて管理機器用カード106の鍵記録部1064が記録している計測機器情報テーブル1064aに格納される。
一方、計測機器101は、管理機器用カード106から管理機器用カードIDを取得する。そして、取得した管理機器用カードIDは、ボタン番号に対応付けて計測機器101の管理機器用カード情報記録部1016に記録されている管理機器用カード情報テーブル1016aに格納される。
そして、ユーザAが管理機器用カード106を計測機器101から取り外すことにより、計測機器101は、管理機器用カード106の脱離を検知する(ステップS104)。
なお、後述の(3)計測フェーズにおいて、計測機器101には、計測機器用カード102が装着される。このとき、計測機器用カード102は、上記と同じ情報と予め定められた秘密のf関数とを用いて、管理機器用カード106と共有する共有鍵K_aを生成する。なお、管理機器用カード106と計測機器用カード102には予め、秘密のf関数が埋め込まれているものとする。これにより、共有鍵K_aは外部には秘密となる。
(2)サービス登録フェーズ
サービス登録フェーズでは、ユーザA用の管理機器用カード106に、ユーザAが使用するサービスが登録される。
まず、ユーザAがユーザA用の管理機器用カード106を管理機器105に装着することにより、管理機器105は、管理機器用カード106が装着されたことを検知する(ステップS201)。
続いて、管理機器105は、ユーザAが使用するサービスを登録する(ステップS202)。具体的には、例えば管理機器105は、サービス提供装置107が指定するWebサイトにおいて、ユーザAが所定の申し込みフォーマットに記載した情報などを送信する。この際、管理機器105は、管理機器用カード106に格納された管理機器用カードID(1062)をサービス提供装置107へ送信する。一方、サービス提供装置107は、サービスID(1071)及び計測種別とともに、通信路を確立するための識別子(例えばURLなど)である通信IDを管理機器用カード106へ送信する。
続いて、管理機器用カード106の鍵計算部1063は、管理機器用カードIDとサービスIDとを用いて、予め定められた秘密のg関数を計算することにより、共有鍵K_1を生成する(ステップS203)。ここで生成された共有鍵K_1は、サービスID、計測種別、及び通信IDとともに、管理機器用カード106の鍵記録部1064に記録される。
一方、サービス提供装置107の鍵計算部1073は、同様に、管理機器用カードIDとサービスIDとを用いて、予め定められた秘密のg関数を計算することにより、ステップS203において生成された共有鍵と同じ共有鍵K_1とを生成する(ステップS204)。なお、管理機器用カード106とサービス提供装置107には予め、秘密のg関数が埋め込まれているものとする。これにより、共有鍵K_1は外部には秘密となる。
そして、ユーザAが管理機器用カード106を管理機器105から取り外すことにより、管理機器105は、管理機器用カード106の脱離を検知する(ステップS205)。
図12は、ヘルスケアシステム100における、(3)計測フェーズと(4)計測値通信フェーズとの処理の流れを示すシーケンス図である。
(3)計測フェーズ
計測フェーズでは、計測機器101に装着された計測機器用カード102が計測機器101により計測された計測値を暗号化する。そして、暗号化された計測値が、計測機器用カード102に格納される。
まず、ユーザAは、計測機器101に計測機器用カード102を装着することにより、計測機器101は、計測機器用カード102の装着を検知する(ステップS101)。なお、以降、計測機器用カード102は、計測機器に装着されたままとする。つまり、ユーザAは、その後はいつも手ぶらで生体データの計測を行うことができる。
続いて、ユーザAが、自分に対応するボタン(例えば2番)を押すことにより、計測機器101は、押下されたボタンのボタン番号を取得する(ステップS302)。
すると、計測機器用カード102は、計測機器101の計測機器ID、ボタン番号、及び管理機器用カードIDを用いて、予め定められた秘密のf関数を計算することにより、共有鍵K_aを生成する(ステップS303)。ここで生成された共有鍵K_aは、管理機器用カードID、計測機器ID及びボタン番号に対応付けて計測機器用カード102の鍵記録部1028が記録している管理機器情報テーブル1028aに格納される。
続いて、ユーザAは、生体データを計測することにより、計測機器101は計測値を生成する(ステップS304)。
続いて、計測機器用カード102は、計測機器101により生成された計測値を取得する。そして、計測機器用カード102は、共有鍵K_aを用いて、取得した計測値を暗号化する。さらに、計測機器用カード102は、計測機器101の機器IDと計測時に押下されたボタンのボタン番号とともに、暗号化された計測値(暗号化計測値)を計測値記録部1025が記録している計測値テーブル1025aに格納する(ステップS305)。
(4)計測値通信フェーズ
計測値通信フェーズでは、管理機器105に装着された管理機器用カード106が、計測機器用カード102に蓄積されているユーザAの計測値を、管理機器105を介して、サービス提供装置107に送信する。
まず、ユーザAが管理機器105にユーザAの管理機器用カード106を装着することにより、管理機器105は、管理機器用カード106が装着されたことを検知する(ステップS401)。
続いて、管理機器用カード106は、鍵記録部1064に記録されている計測機器情報テーブル1064aを参照することにより、計測機器IDとボタン番号とを取得する。そして、管理機器用カード106は、計測機器用カード102に対し、取得した計測機器ID及びボタン番号を送信することにより、当該計測機器ID及び当該ボタン番号に対応する計測値の送信を要求する(ステップS402)。なお、図9の計測機器情報テーブル1064aのように、計測機器IDが複数登録されている場合は、管理機器用カード106は、登録されている全ての計測機器IDにより識別される計測機器に対して計測値の送信を要求する。具体的には、管理機器用カード106は、図9の計測機器情報テーブル1064aを参照することにより、計測機器ID「体重計1」により識別される計測機器101と計測機器ID[血圧計2」により識別される計測機器103の両方に、それぞれボタン番号「2」及びボタン番号「1」に対応した計測値の送信を要求する。
続いて、計測値の送信を要求された計測機器用カード102は、要求されたボタン番号に対応する暗号化された計測値を、管理機器用カード106に送信する(ステップS403)。
続いて、管理機器用カード106は、受信した暗号化された計測値を、計測機器用カード102と共有している共有鍵K_aを用いて復号する。そして管理機器用カード106は、復号した計測値を計測値記録部1067に格納する(ステップS404)。
続いて、管理機器用カード106は、鍵記録部1064に格納されているサービス情報テーブル1064bを参照することにより、サービス提供装置107が収集すべき計測値のみを、サービス提供装置107と共有している共有鍵K_1を用いて、暗号化する。そして、管理機器用カード106は、暗号化された計測値をサービス提供装置107へ送信する(ステップS405)。
続いて、サービス提供装置107は、受信した暗号化された計測値を、管理機器用カード106と共有している共有鍵K_1を用いて復号する。そして、サービス提供装置107は、復号した計測値を計測値記録部1076に格納する(ステップS406)。
次に、計測機器101、計測機器用カード102、管理機器105、管理機器用カード106、及びサービス提供装置107の動作の詳細について説明する。
図13は、計測機器101における処理の流れを示すフローチャートである。
まず、カードi/f部1014は、カードが装着されているか否かを判定する(ステップS501)。ここで、カードが装着されていると判定された場合(ステップS501のY)、カードi/f部1014は、装着されているカードが管理機器用カードであるか否かを判定する(ステップS502)。ここで、装着されているカードが管理機器用カードであると判定された場合(ステップS502のY)、個別ボタン部1013は、ボタンが押下されているか否かを判定する(ステップS503)。ここで、ボタンが押下されている場合(ステップS503のY)、計測機器101は、計測機器の登録を行う(ステップS504)。一方、ボタンが押下されていない場合(ステップS503のN)、個別ボタン部1013は、再度、ボタンが押下されているか否かを判定する(ステップS503)。続いて、カードi/f部1014は、カードが脱離されたか否かを判定する(ステップS505)。ここで、カードが脱離されている場合(ステップS505のY)、カードi/f部1014は、再び、カードが装着されているか否かを判定する(ステップS501)。一方、カードが脱離されていない場合(ステップS505のN)、個別ボタン部1013は、再び、ボタンが押下されているか否かを判定する(ステップS503)。
なお、ステップS502において、装着されているカードが管理機器用カードでないと判定された場合(ステップS502のN)、カードi/f部1014は、装着されているカードが計測機器用カードであるか否かを判定する(ステップS506)。ここで、装着されているカードが計測機器用カードでない場合(ステップS506のN)、制御部1015は、エラー処理を実行する。一方、装着されているカードが計測機器用カードである場合(ステップS506のY)、個別ボタン部1013は、ボタンが押下されているか否かを判定する(ステップS507)。ここで、ボタンが押下されている場合(ステップS507のY)、計測機器101は、生体データの計測を行う(ステップS508)。一方、ボタンが押下されていない場合(ステップS507のN)、個別ボタン部1013は、再度、ボタンが押下されているか否かを判定する(ステップS507)。
なお、ステップS501において、カードが装着されていないと判定された場合(ステップS501のN)、個別ボタン部1013は、ボタンが押下されているか否かを判定する(ステップS509)。ここで、ボタンが押下されている場合(ステップS509のY)、生体データ計測部1012は、生体データを計測する(ステップS510)。一方、ボタンが押下されていない場合(ステップS509のN)、個別ボタン部1013は、再度、ボタンが押下されているか否かを判定する(ステップS509)。
図14は、図13に示す計測機器登録ステップ(ステップS504)の詳細な処理の流れを示すフローチャートである。図14において、左側のフローチャートは、計測機器101における処理の流れを示す。一方、右側のフローチャートは、計測機器101に装着された管理機器用カード106における処理の流れを示す。また、点線の矢印は、異なる機器又はカードにおける処理の流れを示す(以降の全てのフローチャートについても同じ)。
はじめに、計測機器101のフローチャートについて説明する。
まず、カードi/f部1014は、計測機器ID記録部1011に格納されている計測機器IDと、個別ボタン部1013が取得したボタン番号とを、管理機器用カード106へ送信する(ステップS601)。続いて、カードi/f部1014は、装着された管理機器用カード106から、管理機器用カードIDを受信する(ステップS602)。続いて、管理機器用カード情報記録部1016は、受信した管理機器用カードIDを、個別ボタン部1013が取得したボタン番号に対応付けて、管理機器用カード情報テーブル1016aに格納する(ステップS603)。
次に、計測機器101に装着された管理機器用カード106のフローチャートについて説明する。
まず、カードi/f部1061は、カードID記録部1062に格納された管理機器用カードIDを計測機器101に送信する(ステップS701)。続いて、カードi/f部1061は、計測機器101から、計測機器ID及びボタン番号を受信する(ステップS702)。続いて、鍵記録部1064は、受信した計測機器ID及びボタン番号を計測機器情報テーブル1064aに格納する(ステップS703)。続いて、鍵計算部1063は、受信した計測機器ID及びボタン番号と、カードID記録部1062に格納された管理機器用カードIDとを用いてf関数を計算することにより、計測機器用カード102との共有鍵K_aを生成する(ステップS704)。続いて、鍵記録部1064は、生成された共有鍵を計測機器ID及びボタン番号に対応付けて計測機器情報テーブル1064aに格納する(ステップS705)。
図15は、図13に示す計測ステップ(ステップS508)の詳細な処理の流れを示すフローチャートである。図15において、左側のフローチャートは、計測機器101における処理の流れを示す。一方、右側のフローチャートは、計測機器101に装着された計測機器用カード102における処理の流れを示す。
はじめに、計測機器101のフローチャートについて説明する。
まず、カードi/f部1014は、個別ボタン部1013が取得したボタン番号と、管理機器用カード情報テーブル1016aに格納されている、当該ボタン番号に対応する管理機器用カードIDと、計測機器ID記録部1011に格納されている計測機器IDとを、計測機器用カード102へ送信する(ステップS801)。続いて、生体データ計測部1012は、計測が開始されているか否かを判定する(ステップS802)。具体的には、例えば計測機器が体重計である場合、ユーザが計測機器に乗っているときは、生体データ計測部1012は、計測が開始されていると判定する。ここで、計測が開始されていない場合(ステップS802のN)、生体データ計測部1012は、再度、計測が開始されているか否かを判定する(ステップS802)。一方、計測が開始されている場合(ステップS802のY)、生体データ計測部1012は、生体データを計測することにより、計測値を生成する(ステップS803)。続いて、カードi/f部1014は、計測値を計測機器用カード102へ送信する(ステップS804)。
次に、計測機器101に装着された計測機器用カード102のフローチャートについて説明する。
まず、カードi/f部1023は、管理機器用カードIDと計測機器IDとボタン番号とを計測機器101から受信する(ステップS901)。続いて、鍵計算部1022は、当該計測機器IDと当該ボタン番号とが初めて受信された情報であるか否かを判定する(ステップS902)。具体的には、鍵計算部1022は、鍵記録部1028に格納された管理機器情報テーブル1028aを参照することにより、受信された計測機器IDとボタン番号とに対応する共有鍵が存在しない場合に、初めて受信された情報であると判定する。ここで、初めて受信された情報でない場合(ステップS902のN)、ステップS905の処理に進む。一方、初めて受信された情報である場合(ステップS902のY)、鍵計算部1022は、ステップS901において受信された管理機器用カードIDと計測機器IDとボタン番号とを用いてf関数を計算することにより、共有鍵K_aを生成する(ステップS903)。続いて、鍵記録部1028は、管理機器用カードID、計測機器ID及びボタン番号とともに、共有鍵K_aを管理機器情報テーブル1028aに格納する(ステップS904)。続いて、カードi/f部1023は、計測値を計測機器用カード102から受信する(ステップS905)。続いて、暗号部1026は、管理機器情報テーブル1028aを参照することにより、受信された計測値に対応する共有鍵K_aを選択する(ステップS906)。続いて、暗号部1026は、選択された共有鍵K_aを用いて、計測値を暗号化する。そして、計測値記録部1025は、計測機器ID及びボタン番号に対応づけて、暗号化された計測値を計測値テーブル1025aに格納する(ステップS907)。
図16は、管理機器105における処理の流れを示すフローチャートである。
まず、カードi/f部1051は、カードが装着されているか否かを判定する(ステップS1001)。ここで、カードが装着されていない場合(ステップS1001のN)、カードi/f部1051は、再度、カードが装着されているか否かを判定する(ステップS1001)。一方、カードが装着されている場合(ステップS1001のY)、カードi/f部1051は、装着されているカードが管理機器用カードであるか否かを判定する(ステップS1002)。ここで、装着されているカードが管理機器用カードでない場合(ステップS1002のN)、制御部1054は、エラー処理を実行する。一方、装着されているカードが管理機器用カードである場合(ステップS1002のY)、制御部1054は、計測値通信の処理を開始するか否かを判定する(ステップS1003)。
ここで、計測値通信の処理を開始すると判定された場合(ステップS1003のY)、管理機器105は、計測機器用カード102から管理機器用カード106への計測値の通信を行う(ステップS1004)。
一方、計測値通信の処理を開始しないと判定された場合(ステップS1003のN)、制御部1054は、サービス新規登録の処理を開始するか否かを判定する(ステップS1005)。ここで、サービス新規登録の処理を開始すると判定された場合(ステップS1005のY)、管理機器105は、サービスの登録の処理を実行する(ステップS1006)。
一方、サービス新規登録の処理を開始しないと判定された場合(ステップS1005のN)、制御部1054は、サービス利用の処理を開始するか否かを判定する(ステップS1007)。ここで、サービス利用の処理を開始すると判定された場合(ステップS1007のY)、管理機器105は、管理機器用カード106からサービス提供装置107への計測値の通信を行う(ステップS1008)。一方、サービス利用の処理を開始しないと判定された場合(ステップS1007のN)、制御部1054は、再度、サービス利用の処理を開始するか否かを判定する(ステップS1007)。
図17は、図16に示す計測値通信ステップ(ステップS1004)の詳細な処理の流れを示すフローチャートである。図17において、左側のフローチャートは、計測機器101に装着された計測機器用カード102における処理の流れを示す。また、中央のフローチャートは、管理機器105に装着された管理機器用カード106における処理の流れを示す。また、右側のフローチャートは、管理機器105における処理の流れを示す。
はじめに、管理機器105のフローチャートについて説明する。
まず、カードi/f部1051は、計測値通信(計測機器用カード102〜管理機器用カード106)開始の指示を管理機器用カード106に送信する(ステップS1101)。続いて、カードi/f部1051は、計測値通信終了の報告を管理機器用カード106から受信する(ステップS1102)。
次に、管理機器用カード106のフローチャートについて説明する。
まず、カードi/f部1061は、計測値通信開始の指示を管理機器105から受信する(ステップS1201)。続いて、近距離無線通信部1065は、鍵記録部1064に記録されている計測機器情報テーブル1064aから、計測機器ID及びボタン番号を選択する(ステップS1202)。続いて、近距離無線通信部1065は、選択した計測機器ID及びボタン番号を、近距離無線通信路109を介して、計測機器101に装着された計測機器用カード102に送信する(ステップS1203)。続いて、近距離無線通信部1065は、計測機器用カード102の応答などに基づいて、送信した情報に対応する計測機器101が存在するか否かを判定する(ステップS1204)。ここで、計測機器101が存在しない場合(ステップS1204のN)、ステップS1208の処理へ進む。一方、計測機器101が存在する場合(ステップS1204のY)、近距離無線通信部1065は、近距離無線通信路109を介して、暗号化計測値を計測機器用カード102から受信する(ステップS1205)。続いて、復号部1066は、計測機器情報テーブル1064aから暗号化計測値に対応する共有鍵K_aを取得する。そして、復号部1066は、取得した共有鍵K_aを用いて、暗号化計測値を復号する(ステップS1206)。続いて、計測値記録部1067は、復号された計測値を格納する(ステップS1207)。続いて、近距離無線通信部1065は、計測機器情報テーブル1064aから、全ての計測機器ID及びボタン番号が選択されたか否かを判定する(ステップS1208)。ここで、全ての計測機器ID及びボタン番号が選択されていない場合(ステップS1208のN)、近距離無線通信部1065は、計測機器情報テーブル1064aから、まだ選択されていない計測機器ID及びボタン番号を選択する(ステップS1202)。一方、全ての計測機器ID及びボタン番号が選択されている場合(ステップS1208のY)、カードi/f部1061は、計測値通信終了の報告を管理機器105に送信する(ステップS1209)。
次に、計測機器用カード102のフローチャートについて説明する。
まず、近距離無線通信部1027は、計測機器IDとボタン番号とを、近距離無線通信路109を介して、管理機器用カード106から受信する(ステップS1301)。続いて、近距離無線通信部1027は、受信した計測機器IDとボタン番号とが、鍵記録部1028に記録されている管理機器情報テーブル1028aに存在するか否かを判定する(ステップS1302)。ここで、計測機器IDとボタン番号とが管理機器情報テーブル1028aに存在する場合(ステップS1302のY)、近距離無線通信部1027は、計測値テーブル1025aに含まれる、当該計測機器ID及び当該ボタン番号に対応する暗号化計測値を、近距離無線通信路109を介して、計測機器IDとボタン番号とに対応する管理機器用カードIDの管理機器用カード106へ送信する(ステップS1303)。一方、計測機器IDとボタン番号とが管理機器情報テーブル1028aに存在しない場合(ステップS1302のN)、近距離無線通信部1027は、再度、計測機器IDとボタン番号とを、近距離無線通信路109を介して、管理機器用カード106から受信する(ステップS1301)。
図18は、図16に示すサービス登録ステップ(ステップS1006)の詳細な処理の流れを示すフローチャートである。図18において、左側のフローチャートは、管理機器105に装着された管理機器用カード106における処理の流れを示す。また、中央のフローチャートは、管理機器105における処理の流れを示す。また、右側のフローチャートは、サービス提供装置107における処理の流れを示す。
はじめに、管理機器105のフローチャートについて説明する。
まず、カードi/f部1051は、サービス登録開始の指示を管理機器用カード106に送信する(ステップS1401)。続いて、カードi/f部1051は、サービス登録終了の報告を管理機器用カード106から受信する(ステップS1402)。
次に、管理機器用カード106のフローチャートについて説明する。
まず、カードi/f部1061は、サービス登録開始の指示を管理機器105から受信する(ステップS1501)。続いて、通信部1069は、カードID記録部1062に格納されている管理機器用カードIDを、通信路110を介して、サービス提供装置107へ送信する(ステップS1502)。続いて、通信部1069は、サービスID及び計測種別を、通信路110を介して、サービス提供装置107から受信する(ステップS1503)。続いて、鍵記録部1064は、受信したサービスID及び計測種別をサービス情報テーブル1064bに格納する(ステップS1504)。続いて、鍵計算部1063は、受信したサービスIDと、カードID記録部1062に格納されている管理機器用カードIDとを用いてg関数を計算することにより、共有鍵K_1を生成する(ステップS1505)。続いて、鍵記録部1064は、管理機器用カードID及びサービスIDに対応付けて、生成された共有鍵K_1をサービス情報テーブル1064bに格納する(ステップS1506)。続いて、カードi/f部1061は、サービス登録終了の報告を管理機器105へ送信する(ステップS1507)。
次に、サービス提供装置107のフローチャートについて説明する。
まず、通信部1072は、管理機器用カードIDを、通信路110を介して、管理機器用カード106から受信する(ステップS1601)。続いて、鍵記録部1074は、受信された管理機器用カードIDを格納する(ステップS1602)。続いて、通信部1072は、サービスID記録部1071に格納されたサービスID及び計測種別を、通信路110を介して、管理機器用カード106へ送信する(ステップS1603)。続いて、鍵計算部1073は、受信した管理機器用カードIDと、サービスID記録部1071に格納されているサービスIDとを用いてg関数を計算することにより、共有鍵K_1を生成する(ステップS1604)。続いて、鍵記録部1074は、管理機器用カードID及びサービスIDに対応づけて、生成された共有鍵K_1を格納する(ステップS1605)。
図19は、図16に示す計測値通信ステップ(ステップS1008)の詳細な処理の流れを示すフローチャートである。図19において、左側のフローチャートは、管理機器105に装着された管理機器用カード106における処理の流れを示す。また、中央のフローチャートは、管理機器105における処理の流れを示す。また、右側のフローチャートは、サービス提供装置107における処理の流れを示す。
はじめに、管理機器105のフローチャートについて説明する。
まず、カードi/f部1051は、計測値通信(管理機器用カード106〜サービス提供装置107)開始の指示とともに、通信するサービス提供装置107を識別するためのサービスIDを管理機器用カード106に送信する(ステップS1701)。続いて、カードi/f部1051は、計測値通信終了の報告を管理機器用カード106から受信する(ステップS1702)。
次に、管理機器用カード106のフローチャートについて説明する。
まず、カードi/f部1061は、サービスIDを含む計測値通信開始の指示を管理機器105から受信する(ステップS1801)。続いて、暗号部1068は、鍵記録部1064に格納されているサービス情報テーブル1064bを参照することにより、受信したサービスIDに対応する計測種別を取得する。そして、暗号部1068は、取得した計測種別に対応する計測値を計測値記録部1067から選択する(ステップS1802)。続いて、暗号部1068は、サービス情報テーブル1064bを参照することにより、受信したサービスIDに対応する共有鍵K_1を取得する。そして、暗号部1068は、取得した共有鍵K_1を用いて、ステップS1802において選択された計測値を暗号化する(ステップS1803)。続いて、通信部1069は、暗号化された計測値を、通信路110を介して、サービス提供装置107に送信する(ステップS1804)。最後に、カードi/f部1061は、計測値通信終了の報告を管理機器105へ送信する(ステップS1805)。
次に、サービス提供装置107のフローチャートについて説明する。
まず、通信部1072は、通信路110を介して、暗号化計測値を管理機器用カード106から受信する(ステップS1901)。続いて、復号部1075は、受信した暗号化計測値に対応する共有鍵K_1を鍵記録部1074から取得する。そして、復号部1075は、取得した共有鍵K_1を用いて、受信した暗号化計測値を復号する(ステップS1902)。最後に、計測値記録部1076は、復号した計測値を格納する(ステップS1903)。
以上のように、本実施の形態のヘルスケアシステム100において、計測機器用カード102は、管理機器用カード106と共有された共有鍵を用いて暗号化された計測値を管理機器用カード106に送信するので、計測値の秘匿性を保証することができる。
また、計測値の暗号化及び復号化に用いる共有鍵が、計測機器101に固有の計測機器IDと、計測機器101のユーザを識別するボタン番号と、管理機器用カード106に固有の管理機器用カードIDとに基づいて生成されるので、本実施の形態のヘルスケアシステム100は、計測値の秘匿性をユーザごとに保証することができる。
また、計測機器から取得できる計測機器IDと、管理機器用カード106から取得できる管理装置用カードIDとは情報源が異なるので、両情報源からの情報がなければ共有鍵が生成できない。その結果、本実施の形態のヘルスケアシステム100は、管理機器用カード106及び計測機器用カード102により生成される共有鍵の秘匿性を担保できる。
また、管理機器用カード106が計測機器101に装着された場合にのみ、計測機器101と管理機器用カード106とは、計測機器ID及びボタン番号と管理機器用カードIDとを、カードインターフェースを介して交換することができる。したがって、共有鍵を生成する際に必要な、計測機器ID、ボタン番号及び管理機器用カードIDの組合せが通信されることはないので、管理機器用カード106及び計測機器用カード102により生成される共有鍵の秘匿性を担保できる。
また、計測機器101は、管理機器用カード106が装着された場合と計測機器用カード102が装着された場合との双方において、同じボタンを用いてユーザを識別する。したがって、管理機器用カード106が装着された場合と計測機器用カード102が装着された場合とのそれぞれに対応したボタンを設ける必要がないので、本実施の形態に係る計測機器101は、部品点数を削減できるともに機器を小型化することが可能となる。
(実施の形態2)
次に、実施の形態2のヘルスケアシステムついて、図面を参照しながら説明する。
本実施の形態のヘルスケアシステム100は、公開鍵暗号方式により計測値を暗号化する点が、共通鍵暗号方式により計測値を暗号化する実施の形態1のヘルスケアシステム100と異なる。以下、実施の形態1のヘルスケアシステム100と同様の点は図示及び説明を省略し、実施の形態1のヘルスケアシステム100と異なる点を中心に説明する。
<計測機器101>
本実施の形態の計測機器101の機能構成は、図2に示した実施の形態1の計測機器101の機能構成と同様であるので、図示を省略する。以下、実施の形態1の計測機器101と異なる部分について説明する。
カードi/f部1014は、インターフェース部の一例であり、管理機器用カード106が計測機器101に装着された場合に、計測機器ID及びボタン番号を出力し、出力した計測機器ID及びボタン番号を用いて管理機器用カード106が生成した公開鍵を取得する。
管理機器用カード情報記録部1016は、計測機器101に装着された管理機器用カード106の管理装置用カードID、ボタン番号及び通信ID、並びにそれらに対応する公開鍵を管理機器用カード情報テーブル1016aに格納する。図20は、管理機器用カード情報テーブル1016aの一例を示す図である。図20に示すように、管理機器用カード情報テーブル1016aには、管理機器用カードID、ボタン番号、通信ID、及び公開鍵が格納される。つまり、本実施の形態の管理機器用カード情報テーブル1016aには公開鍵が格納される点が、実施の形態1の管理機器用カード情報テーブル1016aと異なる。例えば、図20に示す管理機器用カード情報テーブル1016aは、管理機器用カードID「管理機器用カードID」により識別される管理機器用カード106と、本計測機器101のボタン番号「2」により識別されるボタンと、に対応する公開鍵が「公開鍵a」であることを示す。
<計測機器用カード102>
図21は、計測機器用カード102の機能構成を示す図である。なお、計測機器用カード104は、計測機器用カード102と同様の機能構成であるので、図示及び説明を省略する。図21に示すように、計測機器用カード102は、カードi/f部1023、計測値記録部1025、暗号部1026、近距離無線通信部1027、及び鍵記録部1028を備える。つまり、本実施の形態の計測機器用カード102は、図4に示す実施の形態1の計測機器用カード102と異なり、復号鍵を生成する鍵計算部を備えていない。
暗号部1026は、制御部の一例であり、計測機器101が備える個別ボタン部1013のボタンが押下されると、押下されたボタンのボタン番号に対応する公開鍵を鍵記録部1028に記録されている管理機器情報テーブル1028aから取得する。そして、暗号部1026は、取得した公開鍵を用いて、計測機器101が備える生体データ計測部1012により計測された計測値を暗号化する。
鍵記録部1028は、管理機器用カード106から取得した公開鍵を管理機器情報テーブル1028aに格納する。図22は、管理機器情報テーブル1028aの一例を示す図である。図22に示すように、管理機器情報テーブル1028aには、管理機器用カードID、計測機器ID、ボタン番号、通信ID、及び公開鍵が格納される。このように、本実施の形態の管理機器情報テーブル1028aは、共有鍵に替えて公開鍵が格納される点が、実施の形態1の管理機器情報テーブル1028aと異なる。
<管理機器105>
本実施の形態の管理機器105は、図7に示す実施の形態1の管理機器105と同様であるので、図示及び説明を省略する。
<管理機器用カード106>
本実施の形態の管理機器用カード106の機能構成は、図8に示す実施の形態1の管理機器用カード106の機能構成と同様であるので、図示を省略する。
本実施の形態の管理機器用カード106は、計測機器用カード102との暗号化通信に利用する、公開鍵とその公開鍵に対応する秘密鍵とを生成する点が、共有鍵を生成する実施の形態1の管理機器用カード106と大きく異なる。以下、実施の形態1の管理機器用カード106と異なる構成部を中心に説明する。
鍵計算部1063は、生成部の一例であり、計測機器101に装着された際に計測機器101から取得した計測機器ID及びボタン番号と、カードID記録部1062に格納されている管理機器用カードIDとを用いて、公開鍵とその公開鍵に対応する秘密鍵とを生成する。なお、公開鍵及び秘密鍵は、RSA暗号方式等の公知の技術を用いて生成されればよい。
鍵記録部1064は、格納部の一例であり、計測機器101に関連した情報(鍵計算部1063により生成された暗号鍵を含む)を含む計測機器情報テーブル1064aと、サービス提供装置107に関連した情報(サービス提供装置107から取得された公開鍵を含む)を含むサービス情報テーブル1064bとを格納する。
図23は、鍵記録部1064に記録される計測機器情報テーブル1064a及びサービス情報テーブル1064bの一例を示す図である。図23に示すように、計測機器情報テーブル1064aには、計測機器ID、ボタン番号、通信ID及び秘密鍵が格納される。この秘密鍵は、鍵計算部1063により生成された秘密鍵である。例えば、図23に示す計測機器情報テーブル1064aは、計測機器ID「体重計1」で識別される計測機器において、ボタン番号「2」により識別されるユーザが計測した計測値が「秘密鍵a」により復号されることを示す。
一方、サービス情報テーブル1064bには、サービスID、計測種別、通信ID及び公開鍵が格納される。この公開鍵は、サービス提供装置から提供された公開鍵である。例えば、図23に示すサービス情報テーブル1064bは、サービスID「サービスA」で識別されるサービス提供装置に対して送信する、計測種別「ユーザID」及び「体重」で示されるデータが、「公開鍵1」により暗号化されることを示す。
復号部1066は、制御部の一例であり、近距離無線通信部1065により受信された暗号化された計測値を、鍵記録部1064に格納された計測機器情報テーブル1064aに含まれる秘密鍵を用いて復号する。
暗号部1068は、サービス提供装置107に対応する計測種別の計測値をサービス提供装置107から取得した公開鍵を用いて再度暗号化する。
<サービス提供装置107>
本実施の形態のサービス提供装置107の機能構成は、図10に示す実施の形態1のサービス提供装置107の機能構成と同様であるので、図示を省略する。
本実施の形態のサービス提供装置107は、管理機器用カード106との暗号化通信に利用する、公開鍵とその公開鍵に対応する秘密鍵とを生成する点が、共有鍵を生成する実施の形態1のサービス提供装置107と大きく異なる。以下、実施の形態1のサービス提供装置107と異なる構成部を中心に説明する。
鍵計算部1073は、管理機器用カード106より取得した管理機器用カードIDと、サービスID記録部1071に格納されているサービスIDとを用いて、公開鍵とその公開鍵に対応する秘密鍵を生成する。なお、公開鍵及び秘密鍵は、RSA暗号方式等の公知の技術を用いて生成されればよい。
復号部1075は、管理機器用カード106から受信した暗号化された計測値を、鍵計算部1073により生成された秘密鍵を用いて復号する。
次に、以上のように構成されたヘルスケアシステム100の動作について説明する。ヘルスケアシステム100の動作は、実施の形態1のヘルスケアシステム100と同様に、(1)計測機器登録フェーズ、(2)サービス登録フェーズ、(3)計測フェーズ、及び(4)計測値通信フェーズの4つのフェーズに大別される。以下、図24及び図25を用いて、実施の形態1と異なる処理を中心に説明する。
図24は、ヘルスケアシステム100における、(1)計測機器登録フェーズと(2)サービス登録フェーズとの処理の流れを示すシーケンス図である。
(1)計測機器登録フェーズ
まず、実施の形態1と同様に、ステップS101及びステップS102の処理が実行される。そして、管理機器用カード106は、計測機器101から計測機器ID及びボタン番号を取得する。
続いて、管理機器用カード106の鍵計算部1063は、管理機器用カードID、計測機器ID及びボタン番号を用いて、公開鍵a及び公開鍵aに対応する秘密鍵aを生成する(ステップS2103)。ここで生成された秘密鍵aは、計測機器ID及びボタン番号に対応付けて管理機器用カード106の鍵記録部1064に格納される。
続いて、計測機器101は、管理機器用カード106から管理機器用カードIDと公開鍵aとを取得する。そして、取得した管理機器用カードID及び公開鍵aは、ボタン番号に対応付けて計測機器101の管理機器用カード情報記録部1016に格納される。
そして、実施の形態1と同様に、ユーザAが管理機器用カード106を、計測機器101から取り外すことにより、計測機器101は、管理機器用カード106の脱離を検知する(ステップS104)。
(2)サービス登録フェーズ
まず、実施の形態1と同様に、ステップS201及びステップS202の処理が実行される。そして、サービス提供装置107は、管理機器105から管理機器用カードIDを取得する。
続いて、サービス提供装置107の鍵計算部1073は、管理機器用カードIDとサービスIDとを用いて、公開鍵1と公開鍵1に対応する秘密鍵1を生成する(ステップS2204)。ここで生成された秘密鍵1は、鍵記録部1074に格納される。一方、公開鍵1は、サービスIDとともに、管理機器用カード106に送信される。
そして、実施の形態1と同様に、ユーザAが管理機器用カード106を管理機器105から取り外すことにより、管理機器105は、管理機器用カード106の脱離を検知する(ステップS205)。
図25は、ヘルスケアシステム100における、(3)計測フェーズと(4)計測値通信フェーズとの処理の流れを示すシーケンス図である。
(3)計測フェーズ
まず、実施の形態1と同様に、ステップS301〜ステップS304の処理が実行される。そして、計測機器用カード102は、計測機器101から計測値を取得する。
続いて、計測機器用カード102は、公開鍵aを用いて、取得した計測値を暗号化する。さらに、計測機器用カード102は、計測機器101の機器IDと計測時に押下されたボタンのボタン番号とともに、暗号化された計測値(暗号化計測値)を計測値記録部1025が記録している計測値テーブル1025aに格納する(ステップS2305)。
(4)計測値通信フェーズ
まず、実施の形態1と同様に、ステップS401〜ステップS403の処理が実行される。そして、管理機器用カード106は、計測機器用カード102から暗号化計測値を取得する。
続いて、管理機器用カード106は、受信した暗号化計測値を、鍵記録部1064に格納されている秘密鍵aを用いて復号する。そして管理機器用カード106は、復号した計測値を計測値記録部1067に格納する(ステップS2404)。
続いて、管理機器用カード106は、鍵記録部1064に格納されているサービス情報テーブル1064bを参照することにより、サービス提供装置107が収集すべき計測値のみを、公開鍵1を用いて暗号化する。そして、管理機器用カード106は、暗号化された計測値をサービス提供装置107へ送信する(ステップS2405)。
続いて、サービス提供装置107は、受信した暗号化計測値を、鍵記録部1074に格納されている秘密鍵1を用いて復号する。そして、サービス提供装置107は、復号した計測値を計測値記録部1076に格納する(ステップS2406)。
次に、計測機器101、計測機器用カード102、管理機器105、管理機器用カード106、及びサービス提供装置107の動作の詳細について説明する。
計測機器101における大きな処理の流れは、図13に示した実施の形態1の計測機器101の処理の流れと同様であるので、図示及び説明を省略する。
図26は、図13に示す計測機器登録ステップ(ステップS504)の詳細な処理の流れを示すフローチャートである。図26において、左側のフローチャートは、計測機器101における処理の流れを示す。一方、右側のフローチャートは、計測機器101に装着された管理機器用カード106における処理の流れを示す。
はじめに、計測機器101のフローチャートについて説明する。
まず、実施の形態1と同様に、カードi/f部1014は、計測機器ID記録部1011に格納されている計測機器IDと、個別ボタン部1013が取得したボタン番号とを、管理機器用カード106へ送信する(ステップS601)。続いて、カードi/f部1014は、装着された管理機器用カード106から、管理機器用カードIDと公開鍵aとを受信する(ステップS2602)。続いて、管理機器用カード情報記録部1016は、受信した管理機器用カードIDと公開鍵aとを、個別ボタン部1013が取得したボタン番号と対応付けて、管理機器用カード情報テーブル1016aに格納する(ステップS2603)。
次に、計測機器101に装着された管理機器用カード106のフローチャートについて説明する。
まず、カードi/f部1061は、計測機器101から、計測機器ID及びボタン番号を受信する(ステップS702)。続いて、鍵記録部1064は、受信した計測機器ID及びボタン番号を計測機器情報テーブル1064aに格納する(ステップS703)。続いて、鍵計算部1063は、受信した計測機器ID及びボタン番号と、カードID記録部1062に格納された管理機器用カードIDとを用いて、公開鍵aと公開鍵aに対応する秘密鍵aとを生成する(ステップS2704)。続いて、管理機器用カード情報記録部1016は、管理機器用カードID及びボタン番号に対応付けて、生成された秘密鍵を管理機器用カード情報テーブル1016aに格納する(ステップS2705)。最後に、カードi/f部1061は、管理機器用カードIDと公開鍵aとを計測機器101に送信する(ステップS2706)。
図27は、図13に示す計測ステップ(ステップS508)の詳細な処理の流れを示すフローチャートである。図27において、左側のフローチャートは、計測機器101における処理の流れを示す。一方、右側のフローチャートは、計測機器101に装着された計測機器用カード102における処理の流れを示す。
はじめに、計測機器101のフローチャートについて説明する。
まず、カードi/f部1014は、個別ボタン部1013が取得したボタン番号と、当該ボタン番号に対応する、管理機器用カード情報記録部1016に格納されている管理機器用カードID及び公開鍵aと、計測機器ID記録部1011に格納されている計測機器IDとを、計測機器用カード102へ送信する(ステップS2801)。続いて、実施の形態1と同様に、ステップS802〜ステップS804の処理が実行される。
次に、計測機器101に装着された計測機器用カード102のフローチャートについて説明する。
まず、カードi/f部1023は、管理機器用カードIDと計測機器IDとボタン番号と公開鍵aとを計測機器101から受信する(ステップS2901)。続いて、鍵計算部1022は、当該計測機器IDと当該ボタン番号と当該公開鍵aとが初めて受信された情報であるか否かを判定する(ステップS2902)。具体的には、鍵計算部1022は、鍵記録部1028に格納された管理機器情報テーブル1028aを参照することにより、受信された計測機器IDとボタン番号とに対応する公開鍵aが存在しない場合に、初めて受信された情報であると判定する。ここで、初めて受信された情報でない場合(ステップS2902のN)、ステップS2905の処理に進む。一方、初めて受信された情報である場合(ステップS2902のY)、鍵記録部1028は、管理機器用カードID、計測機器ID及びボタン番号とともに、公開鍵aを管理機器情報テーブル1028aに格納する(ステップS2904)。続いて、カードi/f部1023は、計測値を計測機器用カード102から受信する(ステップS2905)。続いて、暗号部1026は、管理機器情報テーブル1028aを参照することにより、受信された計測値に対応する公開鍵aを選択する(ステップS2906)。続いて、暗号部1026は、選択された公開鍵aを用いて、計測値を暗号化する。そして、計測値記録部1025は、計測機器ID及びボタン番号に対応づけて、暗号化された計測値を計測値テーブル1025aに格納する(ステップS2907)。
次に、管理機器105における処理の流れを中心に説明する。なお、管理機器105における大きな処理の流れは、図16に示した実施の形態1の管理機器105の処理の流れと同様であるので、図示及び説明を省略する。
図28は、図16に示す計測値通信ステップ(ステップS1004)の詳細な処理の流れを示すフローチャートである。図28において、左側のフローチャートは、計測機器101に装着された計測機器用カード102における処理の流れを示す。また、中央のフローチャートは、管理機器105に装着された管理機器用カード106における処理の流れを示す。また、右側のフローチャートは、管理機器105における処理の流れを示す。
管理機器105及び計測機器用カード102のフローチャートは、図17に示す実施の形態1のフローチャートと同様であるので、説明を省略する。
また、管理機器用カード106のフローチャートは、ステップS3206の処理を除いて、実施の形態1のフローチャートと同様であるので、ステップS3206の処理のみを説明する。
暗号化計測値が計測機器用カード102から受信された後、復号部1066は、計測機器情報テーブル1064aから暗号化計測値に対応する秘密鍵aを取得する。そして、復号部1066は、取得した秘密鍵aを用いて、暗号化計測値を復号する(ステップS3206)。
図29は、図16に示すサービス登録ステップ(ステップS1006)の詳細な処理の流れを示すフローチャートである。図29において、左側のフローチャートは、管理機器105に装着された管理機器用カード106における処理の流れを示す。また、中央のフローチャートは、管理機器105における処理の流れを示す。また、右側のフローチャートは、サービス提供装置107における処理の流れを示す。
管理機器105のフローチャートは、図18に示す実施の形態1のフローチャートと同様であるので、説明を省略する。
はじめに、管理機器用カード106のフローチャートについて説明する。
まず、実施の形態1と同様に、カードi/f部1061は、サービス登録開始の指示を管理機器105から受信する(ステップS1501)。続いて、通信部1069は、カードID記録部1062に格納されている管理機器用カードIDを、通信路110を介して、サービス提供装置107へ送信する(ステップS1502)。続いて、通信部1069は、サービスID、計測種別及び公開鍵1を、通信路110を介して、サービス提供装置107から受信する(ステップS3503)。続いて、鍵記録部1064は、受信したサービスID、計測種別及び公開鍵1をサービス情報テーブル1064bに格納する(ステップS3504)。続いて、カードi/f部1061は、サービス登録終了の報告を管理機器105へ送信する(ステップS1507)。
次に、サービス提供装置107のフローチャートについて説明する。
まず、実施の形態1と同様に、通信部1072は、管理機器用カードIDを、通信路110を介して、管理機器用カード106から受信する(ステップS1601)。続いて、鍵記録部1074は、受信された管理機器用カードIDを格納する(ステップS1602)。続いて、鍵計算部1073は、受信した管理機器用カードIDと、サービスID記録部1071に格納されているサービスIDとを用いて、公開鍵1及び公開鍵1に対応する秘密鍵1を生成する(ステップS3604)。続いて、鍵記録部1074は、管理機器用カードID及びサービスIDに対応づけて、生成された秘密鍵1を格納する(ステップS3605)。最後に、通信部1072は、公開鍵1と、サービスID記録部1071に格納されたサービスID及び計測種別とを、通信路110を介して、管理機器用カード106へ送信する(ステップS3606)。
図30は、図16に示す計測値通信ステップ(ステップS1008)の詳細な処理の流れを示すフローチャートである。図30において、左側のフローチャートは、管理機器105に装着された管理機器用カード106における処理の流れを示す。また、中央のフローチャートは、管理機器105における処理の流れを示す。また、右側のフローチャートは、サービス提供装置107における処理の流れを示す。
管理機器105のフローチャートは、図19に示す実施の形態1のフローチャートと同様であるので、説明を省略する。
はじめに、管理機器用カード106のフローチャートについて説明する。
管理機器用カード106のフローチャートは、ステップS3803の処理を除いて、実施の形態1のフローチャートと同様であるので、ステップS3803の処理についてのみ説明する。
計測種別に対応する計測値が選択された後、暗号部1068は、サービス情報テーブル1064bを参照することにより、受信したサービスIDに対応する公開鍵1を取得する。そして、暗号部1068は、取得した公開鍵1を用いて、選択された計測値を暗号化する(ステップS3803)。
次に、サービス提供装置107のフローチャートについて説明する。
サービス提供装置107のフローチャートは、ステップS3902の処理を除いて、実施の形態1のフローチャートと同様であるので、ステップS3902の処理についてのみ説明する。
暗号化計測値が管理機器用カード106から受信された後、復号部1075は、受信した暗号化計測値に対応する秘密鍵1を鍵記録部1074から取得する。そして、復号部1075は、取得した秘密鍵1を用いて、受信した暗号化計測値を復号する(ステップS3902)。
以上のように、本実施の形態のヘルスケアシステム100は、公開鍵暗号方式により暗号化された計測値を送受信することにより、計測値の秘匿性を保証する。つまり、計測機器用カード102は公開鍵を用いて計測値を暗号化するので、計測機器101又は計測機器用カード102が保有する暗号鍵が外部に公開されたとしても、計測値の秘匿性を保証することができる。
(その他の変形例)
なお、本発明は、上記の実施の形態に限定されないのは勿論である。以下のような場合も本発明に含まれる。
(1)上記実施の形態では、計測機器登録フェーズにおいて、接触型ICカードである管理機器用カードを計測機器に装着することにより、計測機器ID、ボタン番号、管理機器用カードIDなどのデータを送受信していたが、本発明はこの構成に限定されない。例えば、管理機器用カードは、非接触通信機能を備えた非接触型ICカードであってもよい。この場合、例えば、計測機器と1対1の対応が可能となる程度の近距離に、管理機器用カードが近付いた場合に、管理機器用カードと計測機器又は計測機器用カードとは、前記非接触通信機能を介してデータを送受信する。
(2)上記実施の形態では、計測機器登録フェーズにおいて、計測機器に装着された管理機器用カードのユーザを識別するために、ユーザに対応するボタン情報を利用しているが、本発明に係る計測機器は、ユーザ個人を識別できるような情報であれば、ボタン情報以外の情報を利用してもよい。例えば、本発明に係る計測機器は、指紋、声紋、静脈等のバイオ情報、又は単なる足の大きさのような情報を利用してもよい。
例えば、ボタンではなく、足の大きさの情報が利用される場合、計測機器登録フェーズにおいて、計測機器は体重計に乗ったユーザの足の大きさを計測し、計測した足の大きさを、ユーザを識別する情報として管理機器用カード内に格納する。そして、計測フェーズにおいて、体重とともに足の大きさを計測することにより、計測機器は、足の大きさに対応するユーザ毎に体重を格納することができる。これにより、ユーザに本人を特定するための行為を意識させることなく、ユーザ毎に計測値を安全かつ確実に収集することが可能となる。また、体重などのように、ユーザによって計測値が大きく変動しない生体データの場合は、計測機器は、計測値の履歴、計測値の範囲(例えば65kg〜70kg、40kg〜43kgなど)などを用いてユーザを識別してもよい。また、計測機器は、人体に埋め込まれたRF−ID(Radio Frequency Identification)を用いてユーザを識別してもよい。また、計測機器は、カメラにより撮影されたユーザの顔、体型などからユーザ個人を識別してもよい。また、計測機器は、当該計測機器とは異なる機器から取得した個人識別情報を用いてユーザ個人を識別してもよい。例えば、ユーザ個人を識別することにより、最適な湯温度を設定する自動風呂システムがある場合に、体重計は、その自動風呂システムにより認識された個人識別情報を取得してもよい。これによりユーザが風呂に入った後に体重を計測する場合、体重計は、ユーザ個人を識別することができるので、ユーザ毎に体重情報を記録することができる。
(3)計測機器用カード及び管理機器用カードは、カード形状に限定されない。計測機器用カード及び管理機器用カードは、ボタン型等任意の形状であってもよい。また、計測機器用カード及び管理機器用カードは、着脱可能なカードではなく、計測機器及び管理機器のそれぞれと一体化されたカードであってもよい。
(4)管理機器用カードは、ユーザ毎に異なるカードではなく、複数人のユーザで共通のカードであってもよい。この場合、例えば、管理機器用カードは、パスワードを用いてカード内の計測データを個人毎に管理する。具体的には、管理機器用カードが機器に装着されたときのユーザによるパスワードの入力に基づいてユーザ個人を識別することにより、管理機器用カードは、カード内の計測データを個人毎に管理することができる。また、管理機器用カードは、パスワード以外の情報を用いてユーザ個人を識別してもよい。例えば、管理機器用カードは、指紋リーダを有し、指紋リーダにより取得されたユーザの指紋から、ユーザ個人を識別してもよい。これにより、家族などで管理機器用カードを共有することが可能となる。つまり、ユーザが変わるたびに管理機器に装着するカードを変更するなどの手間を軽減することができる。
(5)計測値は、計測機器用カード及び管理機器用カードに格納されるのではなく、計測機器及び管理機器の中に安全に格納されてもよい。例えば、計測値は、計測機器及び管理機器内の耐タンパ領域に格納されたり、計測機器及び管理機器内の通常の記憶領域に暗号化されたうえで格納されたりしてもよい。
(6)管理機器は、デスクトップ型PCのような据え置き型の機器でなくてもよい。例えば、管理機器は、携帯電話のような持ち運び自由な携帯端末であってもよい。さらに、管理機器は、管理機器用カードと一体化された携帯端末であってもよい。これにより、ユーザは、管理機器が設置された場所に拘束されることなく、格納された計測値を確認することが可能となる。
(7)上記実施の形態では、管理機器への管理機器用カードの装着をトリガとして、管理機器用カードは、所定の計測機器及び所定のボタンに対応する計測値を計測機器用カードに要求する。しかし、管理機器用カードは、定期的に計測値を計測機器用カードに要求するようにしてもよい。また、管理機器用カードは、計測機器又は計測機器用カードから所定の距離まで近付いたときに、計測値を計測機器用カードに要求するようにしてもよい。これにより、ユーザは、特に意識することなく、管理機器用カードへ計測値を蓄積することができる。
(8)上記実施の形態では、計測機器用カードは、管理機器用カードからの要求に応じて、計測値を管理機器用カードへ送信する。しかし、管理機器用カードが管理機器に挿入されている場合、管理機器用カードからの要求がないときでも、計測機器が生体データを計測するたびに、計測機器用カードは計測値を管理機器用カードへ送信してもよい。また、計測機器が起動するときに、計測機器用カードが、計測値を管理機器用カードに送信してもよい。この場合、計測値が送信されたときに管理機器へ管理機器用カードが装着されていないこともあるので、例えば、管理機器は、送信された計測値をメモリに蓄えて、管理機器用カードが管理機器に装着されたときに、メモリに蓄えられた計測値を当該管理機器用カードに出力するようにしてもよい。
(9)上記実施の形態では、管理機器用カードが管理機器に装着されたときに、管理機器用カードは、計測機器から送信された計測値を取得する。しかし、管理機器用カードが管理機器に装着されていないときに、管理機器用カードは、計測機器から送信された計測値を取得するようにしてもよい。例えば、管理機器用カードは、ユーザのシャツのポケットに収納されているときに、計測機器から送信された計測値を取得するようにしてもよい。これにより、ユーザは、容易に管理機器用カードへ計測値を蓄積することができる。
(10)上記実施の形態では、計測機器用カードは、計測機器から計測値を受信した際に暗号化していたが、管理機器用カードに送信する際に暗号化してもよい。この場合、計測機器用カードが備える計測値記録部は、暗号化されていない計測値を計測値テーブルに格納する。
(11)上記実施の形態では、管理機器への管理機器用カードの装着をトリガとして、管理機器用カードは、サービス提供装置に対して計測値を送信している。しかし、サービス提供装置からの定期的な問い合わせのポーリングをトリガとして、管理機器用カードは、サービス提供装置に対して計測値を送信してもよい。なお、上記実施の形態では、管理機器が計測機器に対して、例えば「ボタン1に対応する計測値を下さい」という送信要求をしていたが、本発明はこれに限らない。例えば、計測機器は、管理機器からの送信要求がない場合でも、計測値とボタン番号とを管理機器に送信してもよい。この場合、例えば、管理機器は、受信した計測値とボタン番号とをメモリに蓄え、管理機器用カードが装着されたときに、管理機器のメモリから所定のボタン番号に対応する計測値を取得するようにしてもよい。
(12)上記実施の形態では、計測機器用カードと管理機器用カードとは、秘密のf関数を予め共有していたが、秘密のマスター鍵を共有してもよい。この場合、計測機器用カードと管理機器用カードとは、秘密のマスター鍵と、公開の関数(例えば、ハッシュ関数SHA−1)とを用いて、共有鍵を生成する。
(13)上記実施の形態では、計測値に対応するユーザを識別する情報(例えばボタン)と管理機器用カード(個人毎に異なるカード)との関連付けは、管理機器用カードに格納されたテーブルを参照することにより行われているが、計測機器又は計測機器用カードに格納されたテーブルを参照することにより行われてもよい。この場合、計測機器又は計測機器用カードには、管理機器用カードIDと共有鍵とが格納される。これにより、管理機器用カードは、計測機器又は計測機器用カードに格納された管理機器用カードIDを手がかりとして計測値を収集することができる。
(14)上記実施の形態では、計測機器用カードと管理機器用カードとの共有鍵は、管理機器用カードID、計測機器ID及びボタン番号を用いて生成されている。しかし、計測機器用カードと管理機器用カードとの共有鍵は、管理機器用カードID、計測機器ID及びボタン番号に加えて、計測機器用カードに格納された、計測機器用カードに固有の情報である計測機器用カードIDを用いて生成されてもよい。この場合、計測機器用カード及び管理機器用カードの両方が同時に計測機器に接続できるときは、両方のカードが接続されたときに、計測機器用カードは、計測機器用カードIDを管理機器用カードへ直接送信してもよい。一方、計測機器用カード及び管理機器用カードの両方が同時に計測機器に接続できないときは、計測機器は、まず、計測機器に装着された計測機器用カードから計測機器用カードIDを取得し、その後、計測機器用カードに代えて計測機器に装着された管理機器用カードへ、計測機器用カードIDを送信してもよい。
(15)計測機器用カード等は、計測値をボタン番号に対応させて格納していたが、さらに時刻情報に対応させて計測値を格納してもよい。この場合、例えば、計測機器は、時刻情報を取得する時刻情報取得手段を備える。そして、計測機器用カードは、計測フェーズにおいて、計測値と時刻情報取得手段により計測時に取得された時刻情報とを、計測機器から取得してもよい。さらに、計測機器用カードは、計測値と時刻情報とを一緒に記録しておいてもよい。この時刻情報は、絶対的な時刻を示すものであってもよいし、タイマー、カウンターなどのような相対的な時刻を示すものであってもよい。また、時刻情報は、必要に応じて、管理機器用カードからサービス提供装置に送られてもよい。これにより、例えば、時刻に対応した計測値の変化をサービス提供装置が知ることができる。なお、時刻情報がタイマー、カウンターなどのような相対的な時刻である場合は、絶対的な時刻と相対的な時刻の関係を管理する、管理機器或いはサービス提供装置と管理機器用カードが接続されるときに、相対的な時刻を絶対的な時刻に変換してもよい。
(16)上記実施の形態では、計測機器用カードが管理機器用カードへ計測値を送信する場合、計測値は近距離無線通信を利用して送信されていたが、利用される通信手段は近距離無線通信に限定されない。例えば、通信手段は、携帯電話、PHS等の通信に用いられる広域無線通信、WAN(Wide Area Network)、LAN(Local Area Network)等の有線通信などであってもよい。これにより、ユーザは、計測機器から離れた場所(例えば、外出先の病院など)であっても、計測機器用カードに格納された計測データを取得することが可能となる。
(17)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(18)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(19)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(20)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(21)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。