(57)【要約】【課題】モニタ対象から取得した情報をデータの秘匿性を確保しつつサーバに送信できるようにすること。【解決手段】  モニタ対象を識別する対象識別情報ごとに生成された暗号鍵と、前記暗号鍵を識別する鍵識別情報とを含むトークンを、前記対象識別情報に対応付けて記憶する記憶部と、モニタ対象の前記対象識別情報を出力する装置から、前記対象識別情報を読み取る読取部と、前記モニタ対象からモニタ情報を取得するセンサと、前記読取部が読み出した前記対象識別情報に対応する前記暗号鍵を用いて前記モニタ対象から取得されたモニタ情報を暗号化した暗号化データと、前記鍵識別情報とを含む送信データを生成するデータ処理部と、前記暗号鍵と前記鍵識別情報とを有し、前記モニタ情報に対する処理を行うサーバに、前記データ処理部が生成した前記送信データを送信する送信部と、を備えるセンサ装置。【選択図】図１
2017192117.tif 000002
【特許請求の範囲】
【請求項１】
複数のモニタ対象に対するモニタ情報の取得に用いるセンサ装置であって、
モニタ対象を識別する対象識別情報ごとに生成された暗号鍵と、前記暗号鍵を識別する鍵識別情報とを含むトークンを、前記対象識別情報に対応付けて記憶する記憶部と、
モニタ対象の前記対象識別情報を出力する装置から、前記対象識別情報を読み取る読取部と、
前記モニタ対象からモニタ情報を取得するセンサと、
前記読取部が読み出した前記対象識別情報に対応する前記暗号鍵を用いて前記モニタ対象から取得されたモニタ情報を暗号化した暗号化データと、前記鍵識別情報とを含む送信データを生成するデータ処理部と、
前記暗号鍵と前記鍵識別情報とを有し、前記モニタ情報に対する処理を行うサーバに、前記データ処理部が生成した前記送信データを送信する送信部と、
を備えるセンサ装置。
【請求項２】
前記センサを用いて前記モニタ対象のモニタ情報の取得を新たに開始する度に、前記記憶部に記憶した前記暗号鍵及び前記鍵識別情報を含むトークンを、異なる暗号鍵及び前記異なる暗号鍵を識別する鍵識別情報を含む異なるトークンに更新する、管理部をさらに備えることを特徴とする請求項１に記載のセンサ装置。
【請求項３】
前記記憶部は、複数のモニタ対象に対応する複数のトークンを、各モニタ対象の前記対象識別情報に対応付けて記憶する、
ことを特徴とする請求項１に記載のセンサ装置。
【請求項４】
前記管理部は、
前記モニタ対象の前記対象識別情報に応じたトークンを生成し、前記サーバに送信するトークン管理端末に対して、前記読取部が読み出した前記対象識別情報とともにトークン生成要求を送信し、
前記トークン生成要求に応じて前記トークン管理端末が生成したトークンを前記記憶部に格納する、
ことを特徴とする請求項２又は３に記載のセンサ装置。
【請求項５】
前記トークン管理端末と通信回線を介して接続可能かどうかを判定する接続判定部をさらに備え、
前記管理部は、前記モニタ対象のモニタ情報を取得するにあたり、前記接続判定部が前記トークン管理端末と接続可能と判定した場合、前記トークン管理端末に対して前記トークン生成要求を送信し、前記トークン生成要求に応じて前記トークン管理端末が生成したトークンを用いて前記記憶部に記憶された対応するトークンを更新し、
前記データ処理部は、前記管理部が更新したトークンを用いて前記モニタ対象から取得されたモニタ情報を暗号化した暗号化データを生成する、
ことを特徴とする請求項４に記載のセンサ装置。
【請求項６】
前記管理部は、前記モニタ対象のモニタ情報を取得するにあたり、前記判定部が前記トークン管理端末と接続できないと判断した場合、前記データ処理部に、前記記憶部に記憶された前記モニタ対象に対応したトークンを用いて前記モニタ対象から取得されたモニタ情報を暗号化させるよう制御する、
ことを特徴とする請求項５に記載のセンサ装置。
【請求項７】
複数のモニタ対象に対するモニタ情報を収集し、収集したモニタ情報を前記モニタ情報に対する処理を行うサーバに送信する情報収集システムであって、
モニタ対象を識別する対象識別情報を出力する装置から前記対象識別情報を読み取る読取部と、
前記読取部により読み取られた前記対象識別情報に対応する暗号鍵と、前記暗号鍵の識別に用いる鍵識別情報とを含むトークンを生成するトークン生成部と、
前記モニタ対象からモニタ情報を取得するセンサと、
前記トークン生成部が生成した前記モニタ対象に対応するトークンに含まれる前記暗号鍵を用いて前記センサが前記モニタ対象から取得したモニタ情報を暗号化した暗号化データと、前記トークンに含まれる前記鍵識別情報とを含む送信データを生成するデータ処理部と、
前記データ処理部が生成した前記送信データを前記サーバに送信する送信部と、
を備える情報収集システム。
【請求項８】
前記トークン生成部は、前記送信部が前記送信データを前記サーバに送信する前に前記生成したトークンを前記サーバに送信する、
ことを特徴とする請求項７に記載の情報収集システム。
【請求項９】
前記トークン生成部は、
前記読取部により読み取られた前記対象識別情報を取得すると、取得した前記対象識別情報を、前記対象識別情報に対応する前記サーバに送信し、
前記サーバによって生成された前記対象識別情報に対応する暗号鍵、及び前記暗号鍵の識別に用いる鍵識別情報を用いて前記トークンを生成する、
ことを特徴とする請求項７に記載の情報収集システム。
【請求項１０】
複数のモニタ対象に対するモニタ情報の取得に用いるセンサ装置が行う情報収集方法であって、
モニタ対象を識別する対象識別情報ごとに生成された暗号鍵と、前記暗号鍵を識別する鍵識別情報とを含むトークンを、前記対象識別情報に対応付けて記憶し、
モニタ対象の前記対象識別情報を出力する装置から、前記対象識別情報を読み取り、
前記モニタ対象からモニタ情報を取得するセンサによって前記モニタ対象からモニタ情報を取得し、
前記モニタ対象に対応する前記暗号鍵を用いて前記モニタ対象から取得されたモニタ情報を暗号化した暗号化データと、前記鍵識別情報とを含む送信データを生成し、
生成した前記送信データを、前記暗号鍵と前記鍵識別情報とを有し、前記モニタ情報に対する処理を行うサーバに送信する、
処理を前記センサ装置に実行させる情報収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサ装置、情報収集システム、および情報収集方法に関する。
【背景技術】
【０００２】
従来、健康維持や管理のためにユーザの状態に関する情報をセンサから取得して通信回線に接続されたデータベースに蓄積し、データベースに蓄積される情報をユーザの端末装置で読み出してユーザの健康管理等を行うシステムが知られている。例えば、移動端末と通信可能なセンサを用いてユーザの体温や血圧等の生体情報を取得し、取得した生体情報を移動端末が有する秘密鍵に対応する公開鍵を用いて暗号化してデータベースに送信する移動端末装置が知られている。データベースに暗号化されて蓄積されたデータは、ユーザの移動端末又はユーザの端末によって読み出され、ユーザが有する秘密鍵を用いて復号化して利用される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２４５８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、病院や医療センター等の施設において、患者のカルテや患者の状態に関する測定データを電子的に管理するシステムが普及してきている。ここで、患者から日常的に取得する体温や血圧といった生体情報を、クラウドサービスを提供するサーバに蓄積し、活用することが検討されてきている。
【０００５】
ここで、患者の測定データをサーバに送信する際、上記の従来技術では、センサ装置から測定データを受信した移動端末が、移動端末に固有の暗号鍵を用いてデータベースとの通信を行い、データ送信ユーザから測定したプライベートな情報の秘匿性を保っている。しかし、病院などの施設では、携帯電話といった強い電波を発生させる機器は医療器具に悪影響を及ぼす場合がある。また、患者ごとに固有の携帯電話を準備することは現実的ではない。そのため、病院などの施設において、各部屋に弱い電波で近距離の無線通信を行うゲートウェイを設置し、センサ装置とゲートウェイとの間で無線通信を行うことが考えられる。
【０００６】
近距離の機器間で通信するための無線通信には、例えば、Bluetooth(登録商標）やWireless Fidelity（ＷｉＦｉ）などのように、暗号鍵を交換するペアリング処理を行うことで暗号化通信を確立する通信方法も存在する。そのためセンサ装置に暗号化通信可能な通信インタフェースを搭載し、ネットワークに接続されたゲートウェイとセンサ装置との間で暗号化通信を行うことも考えられる。
【０００７】
しかし、ペアリングの処理は、互いに通信を行う両方の機器に同一の数字を入力したり、スマートフォンとの通信であればタッピング等をすることで行われる。センサ装置とゲートウェイとの間で一度だけペアリングをするというのであれば大きな問題とはならないが、様々なセンサを複数の病室、かつ複数の患者の間で使いまわす場合、通信のための設定の手間がかかりすぎるという問題がある。そのため、通信を暗号化するためのペアリング処理を行わない無線通信回線を用いて、測定データを安全にサーバに送信できることが望ましい。
【０００８】
そこで、本発明の１つの側面では、モニタ対象から取得した情報をデータの秘匿性を確保しつつサーバに送信できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
発明の一観点によれば、モニタ対象を識別する対象識別情報ごとに生成された暗号鍵と、前記暗号鍵を識別する鍵識別情報とを含むトークンを、前記対象識別情報に対応付けて記憶する記憶部と、モニタ対象の前記対象識別情報を出力する装置から、前記対象識別情報を読み取る読取部と、前記モニタ対象からモニタ情報を取得するセンサと、前記読取部が読み出した前記対象識別情報に対応する前記暗号鍵を用いて前記モニタ対象から取得されたモニタ情報を暗号化した暗号化データと、前記鍵識別情報とを含む送信データを生成するデータ処理部と、前記暗号鍵と前記鍵識別情報とを有し、前記モニタ情報に対する処理を行うサーバに、前記データ処理部が生成した前記送信データを送信する送信部と、を備えるセンサ装置が提供される。
【発明の効果】
【００１０】
一実施態様によれば、モニタ対象から取得した情報をデータの秘匿性を確保しつつ提供できるようにすることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、システム構成の一例を示す図である。
【図２】図２は、センサ装置のハードウェア構成の一例を示す図である。
【図３】図３は、トークン管理端末のハードウェア構成の一例を示す図である。
【図４】図４は、クラウドサーバに含まれるコンピュータのハードウェア構成の一例を示す図である。
【図５】図５は、実施例に係るセンサ装置、トークン管理端末、及び、クラウドサーバが実行する処理の機能ブロック図の一例を示した図である。
【図６】図６は、実施例に係るセンサ装置、トークン管理端末、及び、クラウドサーバに格納される制御情報の一例を示す図である。
【図７】図７は、センサ装置が取得したモニタ情報をクラウドサーバに送信する処理の一例を示す図である。
【図８】図８は、センサ装置を用いてモニタ情報を取得してクラウドサーバに送信するシーケンスの一例を示す図である。
【図９】図９は、センサ装置が行う処理の一例を示すフローチャートである。
【図１０】図１０は、トークン管理端末が行う処理の一例を示すフローチャートである。
【図１１】図１１は、クラウドサーバが行う処理の一例を示すフローチャートである。
【図１２】図１２は、実施例２におけるトークン記憶部及びトークン管理テーブルの一例を示す図である。
【図１３】図１３は、実施例２におけるセンサ装置が行う処理の一例を示すフローチャートである。
【図１４】図１４は、実施例２におけるトークン管理端末が行う処理の一例を示すフローチャートである。
【図１５】図１５は、センサ装置の他のハードウェア構成の一例を示す図である。
【図１６】図１６は、クラウドサーバがユーザに応じたトークン（トークンＩＤ及び暗号鍵）を発行する場合のシーケンスの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に開示する実施形態では、病院で患者から体温や血圧等の各種生体情報を取得する場合を例として、モニタ対象から取得した情報をデータの秘匿性を確保しつつクラウドサーバに送信するシステムを例に説明する。ただし、開示する発明の内容は以下に説明する病院での実施例に限られず、様々なモニタ対象やモニタ情報に本発明を適用することができる。以下、図面を参照して、一実施形態について説明する。
【実施例１】
【００１３】
［システム構成］
図１は、実施例１におけるシステム構成の一例を示す図である。図１に示すシステム構成例では、病院１０、医療センター１１及び介護施設１２が、ネットワーク４０を介してクラウドサーバ３０に接続される。病院１０、医療センター１１及び介護施設１２は、患者等のモニタ対象から各種生体情報を取得する施設の例示であり、本実施例を他の施設に適用してもよい。クラウドサーバ３０は、いわゆるクラウドサービスを提供するサーバであり、ネットワーク環境に接続され、受信したデータやリクエストに対する処理を行うサーバ装置である。
【００１４】
病院１０は多数の病室２０を有し、各病室では複数の患者が治療や検査を受ける。各病室２０において、複数の患者の体温、血圧、脈拍、心電図といった生体情報を、看護婦がセンサ装置１００を用いて定期的に測定する。患者は、モニタ対象の一例であり、患者から測定した生体情報はモニタ情報の一例である。
【００１５】
センサ装置１００は、測定した患者の体温等の測定データを、秘匿化してクラウドサーバ３０に送信するために暗号化する。トークン管理端末２００は、例えば、患者の測定を行う看護婦等によって携帯され端末装置であり、測定データの暗号化に用いる暗号鍵と暗号鍵を識別するための鍵識別情報であるトークンＩＤとを含むトークンを生成する。
【００１６】
各病室２０には、ネットワーク４０を介してクラウドサーバ３０と通信を行うためのゲートウェイ（ＧＷ）１２０が設置される。センサ装置１００とゲートウェイ１２０間や、センサ装置１００とトークン管理端末２００間は、Bluetooth Low Energy（ＢＬＥ）等の無線通信回線を介して互いに接続される。また、トークン管理端末２００は、Wireless Fidelity（ＷｉＦｉ）等の通信回線を介して無線アクセスポイント（ＡＰ）１４０及びゲートウェイ（ＧＷ）１３０に接続される。
【００１７】
各患者は、病院１０で入院や検査を受ける間、Near Field Communication（ＮＦＣ）タグ等の近距離無線通信のタグを手首や入院中に着用する服などに付ける。ＮＦＣタグ１１０は、各患者に対して設定された識別情報であるユーザＩＤ等のタグデータを記憶する機器である。ＮＦＣタグ１１０に記憶されたユーザＩＤは、患者の体温や血圧等の定期的な測定を行う際に、センサ装置１００に内蔵されるＮＦＣタグリーダー等によって読み出される。
【００１８】
トークン管理端末２００は、センサ装置１００からのトークン生成要求や、看護婦の操作等に応じて、各患者のユーザＩＤごとに測定データを暗号化するためのトークンを生成する。トークン管理端末２００は、生成したトークンを無線ＡＰ１４０及びゲートウェイ１３０を介してクラウドサーバ３０に通知する。また、トークン管理端末２００は、生成したトークンをセンサ装置１００に通知する。
【００１９】
センサ装置１００は、体温計等のセンサによって患者の測定を行う。センサ装置１００は、トークン管理端末２００から受信したトークンを用いて患者から測定された生体データを暗号化し、ゲートウェイ１２０を介してクラウドサーバ３０に送信する。
【００２０】
クラウドサーバ３０は、事前にトークン管理端末２００から通知されたトークンを用いて、センサ装置１００から送信された暗号化データを復号化する。クラウドサーバ３０は、復号化した患者の測定データを可視化できるように加工し、加工したデータをデータベース３１０に格納する。データベース３１０に格納された測定データは患者による健康管理や、医師による診断に利用される。
【００２１】
［ハードウェア構成］
図２は、センサ装置１００のハードウェア構成の一例を示す図である。センサ装置１００は、Micro Processing Unit（ＭＰＵ）１０１と、メモリ１０２と、第１センサ１０３と、第２センサ１０４と、ＢＬＥインタフェース回路１０５と、ＮＦＣインタフェース回路１０６と、不揮発性メモリ１０７とを備える。ＭＰＵ１０１は、バス１０８を介してセンサ装置１００内のメモリ１０２等の他の回路と接続される。
【００２２】
ＭＰＵ１０１は、センサ装置１００が行う各種処理を実行するプロセッサの一例であり、ハードウェア回路である。ＭＰＵ１０１に替えて、Central Processing Unit（ＣＰＵ）、Field Programmable Gate Array（ＦＰＧＡ）、シーケンサ回路等のハードウェア回路を用いてもよい。
【００２３】
メモリ１０２は、Random Access Memory（ＲＡＭ）等の記憶デバイスである。メモリ１０２は、ＭＰＵ１０１が実行するプログラムや、センサ装置１００が測定した測定データを一時的に記憶する。後述するセンサ装置１００が行う各種処理は、ＭＰＵ１０１が、メモリ１０２に格納されたプログラムを実行することによって実行される。
【００２４】
第１センサ１０３及び第２センサ１０４は、例えば患者の体温や血圧等の生体情報を測定するためのセンサである。センサ１０３、１０４の例としては、体温計、血圧計、心拍計や、心電図等を図るためのセンサも含まれる。図２では、センサ装置１００が第１センサと第２センサの２つのセンサを搭載する例としているが、１つのセンサのみ搭載することとしてもよいし、３つ以上の複数のセンサを搭載してもよい。
【００２５】
ＢＬＥインタフェース回路１０５は、センサ装置１００が、ゲートウェイ１２０や、トークン管理端末２００と、ＢＬＥの無線通信回線を介して通信を行うためのインタフェース回路である。ＮＦＣインタフェース回路１０６は、センサ装置１００が、ＮＦＣの近距離無線通信を用いてＮＦＣタグ１１０からタグデータを取得するためのインタフェース回路である。ＮＦＣインタフェース回路１０６は、ＮＦＣタグリーダーの一例である。
【００２６】
不揮発性メモリ１０７は、ＭＰＵ１０１が実行するプログラムを記憶するための記憶回路である。不揮発性メモリ１０７は、患者の識別情報であるユーザＩＤ、各患者から測定したデータの暗号化に用いるトークンを記憶するために用いてもよい。
【００２７】
図３は、トークン管理端末２００のハードウェア構成の一例を示す図である。トークン管理端末２００は、ＣＰＵ２０１と、メモリ２０２と、Solid State Disk（ＳＳＤ）２０３と、ＢＬＥインタフェース回路２０４と、ＷｉＦｉインタフェース回路２０５と、ＮＦＣインタフェース回路２０６と、入出力装置インタフェース回路２０７とを備える。ＣＰＵ２０１は、バス２０８を介してメモリ２０２等の他の構成要素と接続される。
【００２８】
ＣＰＵ２０１は、トークン管理端末２００が行う各種処理を実行するプロセッサのハードウェア回路の一例である。ＣＰＵ２０１に替えて、Field Programmable Gate Array（ＦＰＧＡ）、シーケンサ回路等のハードウェア回路を用いてもよい。
【００２９】
メモリ２０２は、ＲＡＭ等の記憶デバイスである。メモリ２０２は、ＣＰＵ２０１が実行するプログラムや、センサ装置１００が測定データを暗号化する際に用いる暗号鍵及び暗号鍵を識別するための鍵識別情報であるトークンＩＤを含むトークンを記憶する。また、メモリ２０２は、各トークンに関連付けて、患者の識別情報であるユーザＩＤや、患者の生体情報の測定に用いるセンサ機器に関する情報も記憶する。後述するトークン管理端末２００が行う各種処理は、ＣＰＵ２０１が、メモリ２０２に格納されたプログラムを実行することによって実行される。
【００３０】
ＳＳＤ２０３は、トークン管理端末２００が実行するプログラム等のデータを記憶するための不揮発性の記憶回路である。ＳＳＤ２０３は、患者の識別情報、各患者に対応するトークン（暗号鍵、トークンＩＤ）、及び患者の生体情報の測定に用いるセンサ機器に関する情報を記憶するために用いてもよい。
【００３１】
ＢＬＥインタフェース回路２０４は、トークン管理端末２００が、ＢＬＥの無線通信回線を介してセンサ装置１００や、各病室のゲートウェイ１２０と通信を行うためのインタフェース回路である。ＷｉＦｉインタフェース回路２０５は、トークン管理端末２００が、ＷｉＦｉの無線通信回線を介して無線ＡＰ１４０と通信を行うためのインタフェース回路である。ＮＦＣインタフェース回路２０６は、トークン管理端末２００が、ＮＦＣの近距離無線通信を用いて患者のＮＦＣタグ１１０からタグデータを取得するためのインタフェース回路である。ＮＦＣインタフェース回路２０６は、ＮＦＣタグリーダーの一例である。
【００３２】
入出力装置インタフェース回路２０７は、トークン管理端末２００における処理に必要となる、タッチパッド入力や、ディスプレイ出力等の各種入出力装置を接続するインタフェース回路である。
【００３３】
図４は、クラウドサーバ３０に含まれるコンピュータ３００のハードウェア構成の一例を示す図である。コンピュータ３００は、ＣＰＵ３０１と、メモリ３０２と、Hard Disk Drive（ＨＤＤ）３０３と、ネットワークインタフェース回路３０４と、データベース（ＤＢ）インタフェース回路３０５と、入出力装置インタフェース回路３０６とを備える。
【００３４】
ＣＰＵ３０１は、コンピュータ３００上でクラウドサーバ３０の様々な処理を行うプロセッサのハードウェア回路の一例であり、コンピュータ３００を構成する電子部品の一つである。図４の例では、コンピュータ３００が、１つのＣＰＵ３０１を備える例を示しているが、ＣＰＵの数は１つに限られず、複数のＣＰＵであってもよい。また、ＣＰＵ３０１の中に複数のＣＰＵコアや、ハードウェアスレッドを備え、１つのＣＰＵによって、複数のアプリケーションプログラムのプロセスの処理を並行して行えるＣＰＵをＣＰＵ３０１として用いてもよい。
【００３５】
メモリ３０２は、ＲＡＭ等の記憶デバイスである。メモリ３０２は、ＣＰＵ３０１が実行するプログラムや、コンピュータ３００が処理する対象となるデータを記憶する。後述するコンピュータ３００が行う各種処理は、ＣＰＵ３０１が、メモリ３０２に格納されたプログラムを実行することによって実行される。
【００３６】
ハードディスクドライブ（ＨＤＤ）３０３は、ＣＰＵ３０１で実行されるプログラムや、ＣＰＵ３０１上で実行される処理が扱うデータを記憶する不揮発性の記憶媒体である。ネットワークインタフェース回路３０４は、コンピュータ３００がネットワーク４０を介して他の装置と通信を行うためのインタフェース回路である。
【００３７】
データベース（ＤＢ）インタフェース回路３０５は、データベース３１０と通信を行うためのインタフェース回路である。ここで、データベース（ＤＢ）３１０は、クラウドサーバ３０で行う処理に関連するデータを記憶するデータベース装置であり、クラウドサーバ３０上で実行されるオペレーティングシステム（ＯＳ）やアプリケーションが用いるデータ等を記憶する。また、ＤＢ３１０は、ネットワークを介して受信した患者の測定データといった各種データも記憶する。ＤＢサーバ３１０は、ストレージ装置や、大きな記憶容量の記憶装置を有するサーバ等によって実現される。
【００３８】
入出力装置インタフェース回路３０６は、コンピュータ３００にマウスやキーボード等の周辺デバイスが接続される場合に、それら周辺デバイスへの入出力を制御するための回路である。
【００３９】
[機能ブロック図]
図５は、実施例に係るセンサ装置１００、トークン管理端末２００、及び、クラウドサーバ３０が実行する処理の機能ブロック図の一例を示した図である。
【００４０】
センサ装置１００は、ＮＦＣ通信部１５１、ＢＬＥ通信部１５２、管理部１５３、データ処理部１５４、接続判定部１５５の各処理を含むセンサアプリケーションプログラムを実行する。センサアプリケーションプログラムの実行は、ＭＰＵ１０１がメモリ１０２や不揮発性メモリ１０７に格納された所定のプログラムを実行することによって行われる。
【００４１】
ＮＦＣ通信部１５１は、ＮＦＣインタフェース回路１０６を制御し、ＮＦＣの近距離無線通信回線を介して患者が装着するＮＦＣタグ１１０から患者（ユーザ）を識別するユーザＩＤを読み出す。ＢＬＥ通信部１５２は、ＢＬＥインタフェース回路１０５を制御し、ＢＬＥの無線通信回線を介して、トークン管理端末２００やゲートウェイ１２０と通信する。
【００４２】
管理部１５３は、センサ装置１００における処理全般を制御する。管理部１５３は、ＮＦＣ通信部１５１やＢＬＥ通信部１５２を用いてＮＦＣタグ１１０や、トークン管理端末２００と通信を行い、トークン管理端末２００によって生成されたトークンを管理する。
【００４３】
データ処理部１５４は、センサ１０３によって患者（ユーザ）から測定された測定データを、ユーザＩＤに対して生成された暗号鍵を用いて暗号化し、暗号化したデータと暗号鍵を識別するためのトークンＩＤとを含む送信データを作成する。データ処理部１５４によって作成された送信データ、すなわち、暗号化した測定データ及びトークンＩＤは、ＢＬＥ通信部１５２によってゲートウェイ１２０に送信され、ゲートウェイ１２０を介して、クラウドサーバ３０に送信される。
【００４４】
なお、暗号鍵として、いわゆる共通鍵暗号方式における暗号鍵を用いることができる。共通鍵暗号方式は、暗号化する側の装置が用いる「鍵」と、復号化する側の装置が用いる「鍵」とが同一の鍵となる暗号化方式である。暗号鍵は任意の方法で生成することができ、例えば、所定のビット数の乱数を発生させることによって生成することができる。
【００４５】
トークンＩＤは、生成した暗号鍵を識別するための識別情報であり、任意の方法によって生成することができる。例えば、暗号鍵を生成する度に、乱数を発生させることによってトークンＩＤを生成することができる。
【００４６】
暗号鍵とトークンＩＤとを含むトークンは、データを暗号化する処理と、暗号化されたデータを復号化する処理とで共通して用いられるものである。そのため、センサ装置１００を用いて患者から測定を行うたびに、新たなトークンを生成して、測定したデータの暗号化及び復号化に用いることができる。データを測定する度に新たなトークンを用いることで、より安全に測定データを暗号化して送信することが可能となる。
【００４７】
接続判定部１５５は、センサ装置１００の使用時、又は定期的に、ＢＬＥ通信部１５２を用いてトークン管理端末２００との通信を実行できるか否かを判定する。接続判定部１５５は、トークン管理端末２００と通信を実行できるか否かの判定結果を、後述する管理端末接続状態テーブル１７０の「状態」を示す情報として格納する。
【００４８】
トークン管理端末２００は、ＮＦＣ通信部２５１と、ＢＬＥ通信部２５２と、ＷｉＦｉ通信部１５３と、管理部２５４とを含むトークン管理を行うアプリケーションプログラムを実行する。トークン管理を行うアプリケーションプログラムの実行は、ＣＰＵ２０１がメモリ２０２やＳＳＤ２０３に格納されたプログラムを実行することによって行われる。
【００４９】
ＮＦＣ通信部２５１は、ＮＦＣインタフェース回路２０６を制御し、ＮＦＣの近距離無線通信回線を介して患者が装着するＮＦＣタグ１１０から患者を識別するユーザを読み出す。ＢＬＥ通信部２５２は、ＢＬＥインタフェース回路２０４を制御し、ＢＬＥの無線通信回線を介してセンサ装置１００やゲートウェイ１２０と通信する。ＷｉＦｉ通信部２５３は、ＷｉＦｉインタフェース回路２０５を制御し、ＷｉＦｉの無線通信回線を介して無線アクセスポイント１４０と通信する。
【００５０】
管理部２５４は、トークン管理端末２００における処理全般を制御する。管理部２５４は、ＮＦＣ通信部２５１によって患者のＮＦＣタグから患者を識別するユーザＩＤを取得すると、取得したユーザＩＤに対応する暗号鍵と、暗号鍵を一意に特定する識別情報であるトークンＩＤとを含むトークンを生成する。管理部２５４は、ＷｉＦｉ通信部２５３を用いて無線ＡＰ１４０に接続し、無線ＡＰ１４０とゲートウェイ１３０とを介してクラウドサーバ３０に生成したトークンを送信する。また、管理部２５４は、ＢＬＥ通信部２５２を用いてセンサ装置１００に、生成したトークンを送信する。
【００５１】
クラウドサーバ３０は、通信部３５１と、管理部３５２と、データ処理部３５３とを含むクラウドサービスのアプリケーションプログラムを実行する。クラウドサービスのアプリケーションプログラムの実行は、ＣＰＵ３０１がメモリ３０２やＨＤＤ３０３に格納されたプログラムを実行することによって行われる。
【００５２】
通信部３５１は、ネットワーク４０を介して他の装置とＴＣＰ／ＩＰのプロトコルに沿った通信を行う。通信部３５１は、通信相手の装置がSecure Sockets Layer（ＳＳＬ）をサポートする場合、通信相手の装置とＳＳＬを用いた暗号化通信を行う。管理部３５２は、トークン管理端末２００から受信するトークンの管理を行う。
【００５３】
データ処理部３５３は、センサ装置１００から受信する暗号化した測定データを、予め受信したトークンに含まれる対応する暗号鍵を用いて復号化する。データ処理部３５３は、復号化した測定データに対してデータの可視化のための所定の処理を行い、処理を行った測定データをデータベース３１０に格納する。
【００５４】
図６は、実施例に係るセンサ装置１００、トークン管理端末２００、及び、クラウドサーバ３０に格納される制御情報の一例を示す図である。センサ装置１００は、トークン記憶部１６０と、管理端末接続状態テーブル１７０とを有する。トークン記憶部１６０は、センサ装置１００が測定を行うモニタ対象に対応するトークンの情報（トークンＩＤ（tokenID）、暗号鍵（Key））を記憶する記憶部である。図６の例では、トークン記憶部１６０には、トークンＩＤとして“3ef698b”が格納され、暗号鍵として“Key-A”が格納される。
【００５５】
管理端末接続状態テーブル１７０は、センサ装置１００がＢＬＥの無線通信回線等を介してトークン管理端末２００に接続されているか否かを示す「状態」等に関する情報を記憶する記憶部である。管理端末接続状態テーブル１７０の「ホスト名」や「管理端末デバイスアドレス」の項目には、例えば、最後に接続されていたトークン管理端末２００のホスト名（“tokenMngr1”）やＢＬＥのアドレス（“23:AB:84:B8:65:C8”）の情報が格納される。
【００５６】
管理端末接続状態テーブル１７０の「状態」の項目には、例えば、接続判定部１５５が定期的にＢＬＥの無線通信回線を介してトークン管理端末２００と接続できるかどうかを判定した結果が格納される。図６の例では、ホスト名が“tokenMngr1”のトークン管理端末２００は「未接続」の状態となっている。
【００５７】
トークン管理端末２００は、トークン管理テーブル２６０を有する。トークン管理テーブル２６０は、センサ装置１００が測定を行うモニタ対象に対応するトークン（トークンＩＤ（tokenID）、暗号鍵（key））と、モニタ対象の識別情報（ユーザＩＤ）と、センサ装置１００を識別するための機器ＩＤ等の情報を記憶する記憶部である。
【００５８】
図６の例では、ユーザＩＤ“User-A”に対応付けて暗号鍵“Key-A”及びトークンＩＤ“3ef698b”がトークン管理テーブル２６０に格納されている。また、ユーザＩＤ“User-A”の患者の測定を行うセンサ装置１００に関する情報（機器種別、機器名、機器ＩＤ）もユーザＩＤ“User-A”に対応付けてトークン管理テーブル２６０に格納されている。図６に示すトークン管理テーブル２６０は１つのユーザＩＤに関連する情報を格納する例となっているが、同時期に測定する複数の患者のユーザＩＤのそれぞれに対応する複数セットの情報を格納するようにしてもよい。
【００５９】
クラウドサーバ３０は、クラウドサービステーブル３６０を有する。クラウドサービステーブル３６０は、センサ装置１００から受信する暗号化されたデータを復号化するための暗号鍵と、暗号鍵を識別するためのトークンＩＤとを含むトークンをユーザＩＤやセンサ装置１００の機器種別等の情報に関連付けて記憶する記憶部である。クラウドサービステーブル３６０に記憶するトークンに関連する情報の数は１つに限られない。クラウドサーバ３０が複数の異なるセンサ装置１００から暗号化したデータを受信する場合、複数のセンサ装置１００のそれぞれに対応する複数のトークンがクラウドサービステーブル３６０に記憶される。
【００６０】
[処理フロー]
図７は、センサ装置が取得したモニタ情報をクラウドサーバに送信する処理の一例を示す図である。図７に示す処理は、大きく分けて３つの処理に分類できる。以下、データの流れに沿って具体的に説明する。
【００６１】
（１）トークンを生成し、センサとユーザとを紐付け
まず、センサ装置１００は、センサの測定対象となる患者のＮＦＣタグ１１０との間でＮＦＣによる近距無線離通信を行い（Ｓ１）、ＮＦＣタグ１１０から患者の識別情報であるユーザＩＤ（“user-A”）を読み取る（Ｓ２）。センサ装置１００は、ＢＬＥ等の無線通信回線を介してトークン管理端末２００にトークン生成要求を送信する（Ｓ３）。その際、センサ装置１００は、ユーザＩＤ（“user-A”）と、患者から計測を行うセンサの機器識別情報（機器ＩＤ）等の情報とをトークン管理端末２００に送信する。
【００６２】
トークン管理端末２００は、センサ装置１００からトークン生成要求を受信すると、受信した患者の識別情報に対応する暗号鍵（“key-A”）と、暗号鍵を識別するための鍵識別情報として、トークンＩＤ（“3ef698b”）を生成する。トークン管理端末２００は、生成した暗号鍵とトークンＩＤとを、センサから受信した患者の識別情報（user-A”）と、センサの識別情報等に関する情報とともにトークン管理テーブル２６０に登録する。
【００６３】
トークン管理端末２００は、生成したトークンＩＤ（“3ef698b”）と、暗号鍵（“key-A”）とを含むトークンを、無線ＡＰ１４０、ＧＷ１３０等を介してクラウドサーバ３０に送信する（Ｓ４）。その際、トークンと合わせてユーザＩＤ（“user-A”）と、測定を行うセンサ機器の種別（例えば、「体温計」）に関する情報をクラウドサーバ３０に送信するようにしてもよい。なお、ユーザＩＤとセンサ機器の種別に関する情報は、センサ装置１００が生成する暗号化データの中に測定データとともに暗号化して含めるようにしてもよい。
【００６４】
クラウドサーバ３０は、トークン管理端末２００から受信したトークンＩＤや暗号鍵等の情報を、クラウドサービステーブル３６０に登録し、正常に受信できた旨、トークン管理端末２００に応答する。トークン管理端末２００は、クラウドサーバ３０から正常受信した旨の応答を受信すると、生成したトークンＩＤ（“3ef698b”）と、暗号鍵（“key-A”）とをセンサ装置１００に送信する（Ｓ５）。トークン管理端末２００から測定対象の患者のトークン（トークンＩＤ、暗号鍵）の情報を受信すると、センサ装置１００は、受信したトークンの情報をトークン記憶部１６０に記憶する。
【００６５】
図７のＳ１〜Ｓ５の処理によって、測定対象となる患者に対応したトークンの生成と、センサ装置とユーザ（患者）との紐付が行われる。すなわち、センサ装置１００と、クラウドサーバ３０の両方が、測定対象の患者のトークン（トークンＩＤ、暗号鍵）の情報を共有する。
【００６６】
（２）測定データの暗号化
センサ装置１００は、センサ１０３を用いて患者から体温等の情報を測定する。センサ装置１００は、患者から測定した測定データを、トークン管理端末２００から受信した暗号鍵を用いて暗号化し、暗号化データを生成する。センサ装置１００は、生成した暗号化データと、対応するトークンＩＤ（“3ef698b”）とを含む送信データを、ゲートウェイ１２０を介してクラウドサーバ３０に送信する（Ｓ６）。
【００６７】
（３）暗号化されたデータを復号化
クラウドサーバ３０は、暗号化データとトークンＩＤ（“3ef698b”）とを受信すると、受信したトークンＩＤに対応する暗号鍵（“key-A”）をクラウドサービステーブル３６０から取得する。クラウドサーバ３０は、取得した暗号鍵（“key-A”）を用いて、センサ装置１００から受信した暗号化データを復号化する。クラウドサーバ３０は、復号化した測定データをデータベース３１０に格納する。その際、必要に応じて可視化のための加工を行い、加工したデータをデータベース３１０に格納するようにしてもよい。
【００６８】
上記（１）、（２）の処理によって、患者から測定された測定データがユーザＩＤに応じて生成された固有の暗号鍵を用いて暗号化し、クラウドサーバ３０に送信することが可能となる。そして、（３）の処理において、クラウドサーバ３０において、トークン管理端末２００から予め取得したトークンＩＤに対応する固有の暗号鍵を用いて復号化することができる。これら（１）〜（３）の処理によって、患者から測定された測定データを安全にクラウドサーバ３０に送信することができる。
【００６９】
なお、実施例１において、センサ装置１００が患者から測定を行うたびに、トークン管理端末２００にトークン生成要求を行って、新たなトークンを入手してトークン記憶部１６０に記憶した情報を更新するようにすることができる。この場合、患者から測定を行うたびに一度のみ使用される固有のトークンが生成される。そのため、実施例１におけるトークン記憶部１６０は、ユーザＩＤを記憶する必要がなく、患者から取得した計測データの秘匿性を高めることができる。
【００７０】
図７の（１）のトークン生成及びセンサ・ユーザの紐付け処理において、Ｓ１〜Ｓ３の処理の代わりに、Ｓ１’とＳ３’の処理によってトークン管理端末２００がユーザＩＤの情報を取得するようにしてもよい。すなわち、センサ装置１００によるＮＦＣタグ１１０の読み出し処理を行う代わりに、トークン管理端末２００が、ＮＦＣタグインタフェース回路２０６を用いて直接患者のＮＦＣタグ１１０からユーザＩＤを読み出すようにしてもよい。この場合、トークン管理端末２００は、その時点においてＢＬＥ通信回線で接続されているセンサ装置１００のうち、対象となる患者を測定するセンサ装置１００の機器ＩＤをユーザＩＤと紐付ける。複数のセンサ装置がトークン管理端末２００に接続されている場合には、例えば、トークン管理端末２００のタッチパネルに選択画面を出力し、選択画面を介して入力された選択結果に基づいて紐付けるセンサ装置１００を決定するようにしてもよい。
【００７１】
トークン管理端末２００は、ＮＦＣタグ１１０からユーザＩＤの識別情報を取得すると、対応するトークンを作成し、患者の測定に用いるセンサ装置１００に送信する。センサ装置はトークン管理端末２００から取得したトークンを用いて測定データを暗号化し、クラウドサーバ３０に送信する。
【００７２】
図８は、センサ装置を用いてモニタ情報を取得してクラウドサーバに送信するシーケンスの一例を示す図であり、図７を用いて説明した内容をシーケンス図で示したものである。図８におけるＳ１〜Ｓ６の各処理は、図７中に記載したＳ１〜Ｓ６の処理に対応する。
【００７３】
まず、センサ装置１００は、患者が着用する医療バンドに搭載されたＮＦＣタグ１１０とＮＦＣを用いた近距離無線通信を行い（Ｓ１）、ＮＦＣタグ１１０からユーザＩＤ（“user-A”）の情報を取得する（Ｓ２）。センサ装置１００は、取得したユーザＩＤの情報とともにトークン生成要求をトークン管理端末２００に送信する（Ｓ３）。その際、センサ装置１００は、トークン生成要求とともに、自装置を識別する機器ＩＤをトークン管理端末２００に送信してもよい。
【００７４】
トークン管理端末２００は、ユーザＩＤに対応する暗号鍵とトークンＩＤとを含むトークンを生成する。トークン管理端末２００は、生成したトークンを、ユーザＩＤとセンサの情報とともにクラウドサーバ３０に送信する（Ｓ４）。その際、トークン管理端末２００は、クラウドサーバ３０との通信をＳＳＬ等の暗号化通信を行って、ユーザＩＤの情報をクラウドサーバ３０に通知する。
【００７５】
トークン管理端末２００は、クラウドサーバ３０からの応答を受信すると、生成したトークンをセンサ装置１００に送信する（Ｓ５）。その際、トークン管理端末２００は、生成したトークンを、宛先のセンサ装置１００を識別できる情報（例えば、機器ＩＤ）とともに送信する。
【００７６】
センサ装置１００は、トークン管理端末２００から受信したトークンに含まれる暗号鍵を用いて、患者から測定した測定データを暗号化し、暗号化データをトークンＩＤとともにクラウドサーバ３０に送信する（Ｓ６）。例えば心電図のように、患者から継続的にデータを測定する場合には、定期的に測定したデータを同じ暗号鍵を用いて暗号化し、暗号化データをトークンＩＤとともにクラウドサーバ３０へ送信する。
【００７７】
[フローチャート]
図９は、センサ装置が行う処理の一例を示すフローチャートである。センサ装置１００は、ＮＦＣ通信回線又はＢＬＥ通信回線を介して、ＮＦＣタグ１１０又はトークン管理端末２００からメッセージを受信する（Ｓ１０１）。
【００７８】
センサ装置１００は、メッセージを受信すると、受信したメッセージがＮＦＣタグ１１０から受信したメッセージであるかどうかを判定する（Ｓ１０２）。受信したメッセージがＮＦＣタグ１１０から受信されたメッセージではない場合（Ｓ１０２、Ｎｏ）、センサ装置１００は、受信したメッセージがトークン管理端末２００から自装置宛てに送信したトークンであるかどうかを判定する（Ｓ１０３）。受信したメッセージが自装置宛てに送信されたトークンではない場合（Ｓ１０３、Ｎｏ）、センサ装置１００が処理するメッセージではないとして、Ｓ１０１の処理に戻って、次のメッセージを受信するまで待つ。
【００７９】
センサ装置１００が受信したメッセージが、ＮＦＣタグ１１０から受信したユーザＩＤである場合（Ｓ１０２，Ｙｅｓ）、受信したユーザＩＤの情報とともにトークン管理端末２００に対して、トークン生成要求を送信する（Ｓ１０４）。そして、センサ装置１００は、送信したトークン生成要求に対応するトークンがトークン管理端末２００から返送されるまで待つ（Ｓ１０５、Ｎｏ）。センサ装置１００が生成されたトークンをトークン管理端末２００から受信すると（Ｓ１０５、Ｙｅｓ）、Ｓ１０６の処理に進む。一方、センサ装置１００が受信したメッセージがトークン管理端末２００から受信したトークンである場合にも（Ｓ１０３、Ｙｅｓ）、Ｓ１０６の処理に進む。
【００８０】
Ｓ１０６では、トークン管理端末２００から受信したトークン（暗号鍵、トークンＩＤ）を、トークン記憶部１６０に記憶（登録）する。そして、センサ装置１００は、センサ１０３を用いて、患者から体温等の計測を行う（Ｓ１０７）。センサ装置１００は、計測によって得られた測定データを、トークン管理端末２００から受信したトークンに含まれる暗号鍵を用いて暗号化し、暗号化データを生成する（Ｓ１０８）。センサ装置１００は、生成した暗号化データを、トークンＩＤとともに、クラウドサーバ３０に送信する（Ｓ１０９）。
【００８１】
図１０は、トークン管理端末２００が行う処理の一例を示すフローチャートである。トークン管理端末２００は、ＮＦＣ通信回線又はＢＬＥ通信回線を介して、メッセージを受信する（Ｓ２０１）。
【００８２】
トークン管理端末２００がメッセージを受信すると、受信したメッセージがＮＦＣタグ１１０から受信したメッセージであるかどうかを判定する（Ｓ２０２）。受信したメッセージがＮＦＣタグ１１０から受信されたメッセージではない場合（Ｓ２０２、Ｎｏ）、トークン管理端末２００は、受信したメッセージがセンサ装置１００から受信したトークン生成要求であるかどうかを判定する（Ｓ２０３）。受信したメッセージがトークン生成要求でもない場合（Ｓ２０３、Ｎｏ）、トークン管理端末２００は、受信したメッセージに応じた処理を行い（Ｓ２０４）、Ｓ２０１の処理に進む。
【００８３】
ＮＦＣタグ１１０からユーザＩＤを受信した場合（Ｓ２０２、Ｙｅｓ）又はセンサ装置１００からトークン生成要求を受信した場合（Ｓ２０３、Ｙｅｓ）、トークン管理端末２００は、受信したユーザＩＤに対応するトークンを生成する（Ｓ２０５）。トークン管理端末２００は、受信したユーザＩＤに対応して生成したトークン（暗号鍵、トークンＩＤ）を、ＢＬＥ回線を介して接続されているセンサ装置１００の識別情報等の情報とともに、トークン管理テーブル２６０に登録（格納）する（Ｓ２０６）。
【００８４】
トークン管理端末２００は、トークン管理テーブル２６０に登録したトークンやセンサ装置１００の情報をクラウドサーバ３０に通知し（Ｓ２０７）、クラウドサーバ３０からの応答が返信されるまで待つ（Ｓ２０８、Ｎｏ）。トークン管理テーブル２６０は、クラウドサーバ３０からの応答を受信すると（Ｓ２０８、Ｙｅｓ）、生成したトークン（暗号鍵、トークンＩＤ）をセンサ装置１００に送信する（Ｓ２０９）。
【００８５】
図１１は、クラウドサーバ３０が行う処理の一例を示すフローチャートである。クラウドサーバ３０は、ネットワーク４０を介してメッセージを受信する（Ｓ３０１）。受信するメッセージには、例えば、トークン管理端末２００が生成したトークンの登録要求や、センサ装置１００が生成した暗号化データが含まれる。
【００８６】
クラウドサーバ３０がメッセージを受信すると、受信したメッセージがセンサ装置１００によって生成された暗号化データであるかどうかを判定する（Ｓ３０２）。受信したメッセージが暗号化データではない場合（Ｓ３０２、Ｎｏ）、クラウドサーバ３０は、受信したメッセージがトークン管理端末２００によって生成されたトークンの登録要求であるかどうかを判定する（Ｓ３０３）。受信したメッセージがトークンの登録要求でもない場合（Ｓ３０３、Ｎｏ）、Ｓ３０１の処理に戻る。
【００８７】
受信したメッセージがトークンの登録要求である場合（Ｓ３０３、Ｙｅｓ）、クラウドサーバ３０は、トークン登録要求に含まれるトークンに関連する情報をクラウドサービステーブル３６０に登録する（Ｓ３０４）。そして、クラウドサーバ３０は、トークンの登録が完了した旨の応答をトークン管理端末２００に送信する（Ｓ３０５）。
【００８８】
一方、受信したメッセージがセンサ装置１００によって生成された暗号化データである場合（Ｓ３０２、Ｙｅｓ）、暗号化データとともに受信したトークンＩＤを受信したメッセージから取得する（Ｓ３０６）。クラウドサーバ３０は、取得したトークンＩＤに対応する暗号鍵の情報を、クラウドサービステーブル３６０から取得する（Ｓ３０７）。そして、クラウドサーバ３０は、受信した暗号化データを、対応する暗号鍵を用いて復号化する（Ｓ３０８）。
【００８９】
クラウドサーバ３０は、復号化した患者の測定データを、必要に応じて可視化のために加工し（Ｓ３０９）、加工したデータをデータベース３１０に登録する（Ｓ３１０）。
【００９０】
［実施例１の効果］
上述のように、実施例１では、センサ装置１００を用いて患者の体温等の生体情報を取得する際に、トークン管理端末２００が測定対象の患者を識別するユーザＩＤに対応するトークン（暗号鍵、トークンＩＤ）を、患者の識別情報とは別に生成する。トークン管理端末２００は、生成したトークンをクラウドサーバ３０とセンサ装置１００の両方に送信する。センサ装置１００は、患者から測定した測定データを、トークンに含まれる暗号鍵で暗号化し、患者を直接特定するユーザＩＤではなくて対応するトークンＩＤを暗号化データとともにクラウドサーバに送信する。
【００９１】
クラウドサーバ３０は、暗号化データとともに受信したトークンＩＤから、予め受信している対応する暗号鍵を特定し、特定した暗号鍵を用いて受信した暗号化データを復号化する。このようにして、実施例１では、ユーザＩＤに対応して生成された暗号鍵を用いて測定データを暗号化し、測定対象の患者を直接特定するユーザＩＤとは別の識別情報として生成されたトークンＩＤを用いて暗号化データと患者とを紐付けする。その際、ペアリング等による暗号化通信を行わない暗号化されていない通信回線を用いる場合においても、予め暗号化したデータを送信することができるため、安全にデータを送信することができる。そのため、センサ装置１００から、測定データを安全にクラウドサーバ３０に送信することができる。
【００９２】
また、センサ装置１００を用いて患者から体温等の生体情報の測定を行うたびに、固有のトークンをセンサ装置１００に接続されたトークン管理端末２００によって発行する。このようにすることで、測定データを暗号化して送信するたびに異なるトークンＩＤと暗号鍵が使用されることになるため、より安全に測定データの送信を行うことが可能となる。
【実施例２】
【００９３】
実施例１では、センサ装置１００を用いてモニタ対象となる患者の測定を行う際、測定を行う者（看護婦等）がトークン管理端末２００を携帯していることを想定した実施例となっている。しかし、状況によってはセンサ装置１００を使用して患者の測定を行う者（看護婦等）がトークン管理端末２００を携帯していない場合もあり得る。また、病院の救急治療室に患者が搬送された場合等においては、患者に割り当てられるＮＦＣタグが準備されていない場合も想定し得る。従って、実施例２では、実施例１とは異なる状況の下でもセンサ装置１００による測定と、測定データを暗号化してクラウドサーバ３０に送信するための構成の一例を説明する。
【００９４】
図１２は、実施例２におけるトークン記憶部及びトークン管理テーブルの一例を示す図である。実施例２では、センサ装置１００はトークン記憶部１８０を備え、トークン管理端末２００はトークン管理テーブル２８０を備える。トークン記憶部１８０は、例えば不揮発性メモリ１０７に記憶される。トークン管理テーブル２８０は、例えばＳＳＤ２０３に記憶される。
【００９５】
センサ装置１００が備えるトークン記憶部１８０には、複数のトークンＩＤ、暗号鍵、ユーザＩＤの情報が登録される。トークン記憶部１８０は、例えば、トークン管理端末２００から各ユーザＩＤに関連付けて最後に受信したトークンＩＤ及び暗号鍵の情報を記憶する。センサ装置１００は、トークン管理端末２００からトークンを受信した際、受信したトークンに対応するユーザＩＤに関連付けられたトークンがトークン記憶部１８０に存在する場合には、新たに受信したトークンで古いトークンを上書きする。受信したトークンに対応するユーザＩＤに関連付けられたトークンがトークン記憶部１８０に存在しない場合には、受信したトークンを新たなトークンとしてトークン記憶部１８０に追加する。
【００９６】
同様に、トークン管理端末２００が備えるトークン管理テーブル２８０は、各センサ装置１００に対して発行した最新のトークンの情報を記憶する。トークン管理端末２００は、新たなトークンを生成した際、同じユーザＩＤに対応するトークンがトークン管理テーブル２８０に存在する場合には上書きし、存在しない場合には、新たなトークンとして追加する。
【００９７】
トークン記憶部１８０に記憶した情報の削除方法は、種々の方法で行うことができる。例えば、センサ装置１００がリセットボタン等の入力手段を備える場合、センサ装置１００を使用する者がリセットボタンを押すことによってトークン記憶部１８０に記憶した情報を初期化又は削除するようにしてもよい。また、トークン管理端末２００から受信したトークン削除要求のメッセージに応じて、トークン記憶部１８０に記憶したトークンに関する情報を削除するようにしてもよい。同様に、トークン管理テーブル２８０に記憶したトークンの情報についても、トークン管理端末２００を使用する者が入力した情報等に基づいて、トークン管理テーブル２８０に登録した情報を削除するようにしてもよい。
【００９８】
図１３は、実施例２におけるセンサ装置が行う処理の一例を示すフローチャートである。センサ装置１００は、ＮＦＣ通信回線又はＢＬＥ通信回線を介して、ＮＦＣタグ１１０又はトークン管理端末２００からメッセージを受信する（Ｓ１１１）。
【００９９】
センサ装置１００は、メッセージを受信すると、受信したメッセージがＮＦＣタグ１１０から受信したメッセージであるかどうかを判定する（Ｓ１１２）。受信したメッセージがＮＦＣタグ１１０から受信されたメッセージではない場合（Ｓ１１２、Ｎｏ）、センサ装置１００は、受信したメッセージがトークン管理端末２００から自装置宛てに受信したトークンであるかどうかを判定する（Ｓ１１３）。受信したメッセージが自装置宛てに受信したトークンではない場合（Ｓ１１３、Ｎｏ）、センサ装置１００が処理するメッセージではないとして、Ｓ１１１の処理に戻って、次のメッセージを受信するまで待つ。受信したメッセージが自装置宛てに受信したトークンである場合（Ｓ１１３、Ｙｅｓ）、Ｓ１１７の処理に進む。
【０１００】
センサ装置１００が受信したメッセージが、ＮＦＣタグ１１０から受信したユーザＩＤである場合（Ｓ１１２、Ｙｅｓ）、接続判定部１５５は、管理端末接続状態テーブル１７０を参照して、トークン管理端末２００が接続されているかどうかを判定する（Ｓ１１４）。トークン管理端末２００が接続されていると判定された場合には（Ｓ１１４、Ｙｅｓ）、トークン管理端末２００に対してユーザＩＤと共にトークン生成要求を送信する（Ｓ１１５）。
【０１０１】
センサ装置１００は、トークン管理端末２００から生成されたトークンを受信するまで待ち（Ｓ１１６、Ｎｏ）、生成されたトークンを受信すると（Ｓ１１６、Ｙｅｓ）、トークン記憶部１８０に登録する（Ｓ１１７）。同じユーザＩＤについて以前生成されたトークンが既にトークン記憶部１８０に登録されている場合、新たにトークン管理端末２００から受信したトークンでトークン記憶部１８０に保存されているトークンを上書きする。
【０１０２】
トークン記憶部１８０に生成されたトークンが登録されると、センサ装置１００は、センサ１０３を用いて測定対象の計測を行う（Ｓ１１８）。計測によって測定対象から測定データを取得すると、センサ装置１００は、トークン記憶部１８０に登録したトークンに含まれる暗号鍵を用いて測定データを暗号化する（Ｓ１１９）。センサ装置１００は、測定データを暗号化した暗号化データをトークン記憶部１８０に登録したトークンに含まれるトークンＩＤとともにクラウドサーバ３０へ送信する（Ｓ１２０）。暗号化データの送信は、ＢＬＥ通信部１５２が暗号化データをゲートウェイ１２０に送信し、ゲートウェイ１２０がネットワーク４０を介してクラウドサーバ３０に送信することによって行われる。
【０１０３】
一方、Ｓ１１４の判定においてトークン管理端末２００が接続されていないと判定された場合には（Ｓ１１４、Ｎｏ）、ＮＦＣタグ１１０から受信したユーザＩＤに対応するトークンがトークン記憶部１８０に記憶されているかどうかを判定する（Ｓ１２１）。ユーザＩＤに対応するトークンがトークン記憶部１８０に記憶されていると判定された場合（Ｓ１２１、Ｙｅｓ）、センサ装置１００は、Ｓ１１８〜Ｓ１２０の処理を実行する。
【０１０４】
Ｓ１２１の判定において、ユーザＩＤに対応するトークンがトークン記憶部１８０に記憶されていないと判定された場合（Ｓ１２１、Ｎｏ）、センサ装置１００は、ＢＬＥ通信部１５２により、ゲートウェイ１２０と暗号化通信経路を確立する処理を行う（Ｓ１２２
）。暗号化通信経路を確立する処理は、例えば暗号鍵を交換するペアリングの処理等によって行われる。その後、センサ装置１００は、センサ１０３を用いた測定を行い（Ｓ１２３）、取得した測定データをＳ１２２で確立された暗号化通信経路を介してクラウドサーバ３０宛てに送信する（Ｓ１２４）。
【０１０５】
図１４は、実施例２におけるトークン管理端末が行う処理の一例を示すフローチャートである。トークン管理端末２００は、ＮＦＣ通信回線又はＢＬＥ通信回線を介して、メッセージを受信する（Ｓ２１１）。また、トークン管理端末２００は、タッチパネル等の入力デバイスを介して操作者から入力された操作等に関するメッセージを受信する（Ｓ２１１）。
【０１０６】
トークン管理端末２００がメッセージを受信すると、受信したメッセージがＮＦＣタグ１１０から受信したメッセージであるかどうかを判定する（Ｓ２１２）。受信したメッセージがＮＦＣタグ１１０から受信したユーザＩＤである場合（Ｓ２１２、Ｙｅｓ）、トークン管理端末２００は、受信したユーザＩＤに対応する新たなトークンを生成し（Ｓ２１４）、生成したトークンをトークン管理テーブル２８０に登録する（Ｓ２１５）。生成したトークンをトークン管理テーブル２８０に登録する際に、同じユーザＩＤに対して過去に生成したトークンが格納されている場合には、トークン管理端末２００は、新たに生成したトークンで過去に生成したトークンを上書きする。
【０１０７】
トークン管理テーブル２８０に生成したトークンが登録されると、トークン管理端末２００は、生成したトークンをクラウドサーバ３０に通知し（Ｓ２１６）、クラウドサーバ３０からの応答を待つ（Ｓ２１７、Ｎｏ）。送信したトークンがクラウドサーバ３０で正常に受信できたことを通知する応答を受信すると（Ｓ２１７、Ｙｅｓ）、トークン管理端末２００は、生成したトークンをセンサ装置１００に送信し（Ｓ２１８）、処理を終了する。
【０１０８】
一方、Ｓ２１２の判定において受信したメッセージがＮＦＣタグから受信したメッセージではないと判定された場合（Ｓ２１２、Ｎｏ）、トークン管理端末２００は、受信したメッセージがトークン生成要求であるかどうかを判定する（Ｓ２１３）。受信したメッセージがセンサ装置１００からユーザＩＤの情報と共に受信したトークン生成要求である場合（Ｓ２１３、Ｙｅｓ）、受信したユーザＩＤに対応するトークンの生成及び送信処理を行う（Ｓ２１４〜Ｓ２１８）。
【０１０９】
Ｓ２１３の判定において受信したメッセージがトークン生成要求でもない場合（Ｓ２１３、Ｎｏ）、トークン管理端末２００は、受信したメッセージがトークン管理端末２００の操作者によって入力されたトークン削除要求であるかどうかを判定する（Ｓ２１９）。入力されたメッセージがトークン削除要求でもないと判定された場合（Ｓ２１９、Ｎｏ）、受信したメッセージに応じた処理を実行し（Ｓ２２０）、Ｓ２１１の処理に戻る。
【０１１０】
Ｓ２１９の判定において、受信したメッセージがトークン削除要求であると判定された場合（Ｓ２１９、Ｙｅｓ）、トークン管理端末２００は、トークン削除要求で要求されたトークンをトークン管理テーブル２８０から削除する処理を行う（Ｓ２２１）。トークン削除要求には、例えば、削除する対象となるトークンに関するトークンＩＤやユーザＩＤの情報が含まれる。削除する対象となるトークンに関するトークンＩＤやユーザＩＤ等の情報は、例えば、トークン管理端末２００のタッチパネル入力等の任意の方法によって入力される。
【０１１１】
［実施例２の効果］
上述のように、実施例２のセンサ装置１００は、ＮＦＣタグ１１０からユーザＩＤを受信した場合に、トークン管理端末２００の接続状況を確認する。トークン管理端末２００が接続されていれば、センサ装置１００は、トークン管理端末２００に新たなトークンの生成を要求し、新たに生成されたトークンを用いて測定データを暗号化し、暗号化したデータをクラウドサーバ３０に送信する。従って、トークン管理端末２００が接続されていれば、センサ装置１００は常に新しいトークンを用いてデータの暗号化と送信を行うことができ、安全に測定データをクラウドサーバ３０に送信することができる。
【０１１２】
また、センサ装置１００にトークン管理端末２００が接続されていない状況でも、トークン記憶部１８０にユーザＩＤに対応するトークンが記憶されている場合には、トークン記憶部１８０に記憶されているトークンを利用する。この場合、過去の測定時に生成されたトークンを用いて測定データを暗号化してクラウドサーバ３０へ送信することができる。
【０１１３】
トークン管理端末２００がセンサ装置１００を使用する者（看護婦等）の近くにない状態で急患が救急車で搬送された場合や初診の患者の診察を行う場合、新たな患者に対応するトークンを生成できない。そのため、トークン管理端末２００がセンサ装置１００の近くにない場合、ペアリング等の手段によってゲートウェイ１２０との間で暗号化通信回線を確立することで、センサ装置１００は測定データをクラウドサーバ３０に送信することができる。その際、ユーザＩＤの情報がなくても、センサ装置１００の識別情報と共に測定データをクラウドサーバ３０に送信し、クラウドサーバ３０側で測定データの受信時刻とともにデータベース３１０に記憶しておくことで、後で測定結果を調査することができる。
【０１１４】
以上、本発明の好ましい実施例について詳述したが、本発明は特定の実施例に限定されるものではなく、以下のような種々の変形や変更が可能である。
【０１１５】
（１）センサ装置の他のハードウェア構成例
図１５は、センサ装置の他のハードウェア構成の一例を示す図である。図１５のセンサ装置１００Ａは、第１センサ１０３や第２センサ１０４とは別の他のセンサと接続するためのセンサインタフェース回路１０９を備える。この場合、センサ装置１００Ａ内に第１センサ１０３や第２センサ１０４を搭載しない構成とすることもできる。
【０１１６】
センサインタフェース回路１０９は、特定の通信プロトコルやバス規格に沿った信号の送受信を行うことによってセンサと接続するためのインタフェース回路である。センサインタフェース回路１０９の一例として、例えばUniversal Serial Bus（ＵＳＢ）やＢＬＥ等の通信インタフェース回路を用いることができる。図１５のようなセンサインタフェース回路１０９を備えることによって、特定の通信インタフェースを備えた既存のセンサを利用することができる。そのため、センサ装置１００Ａのセンサインタフェース回路１０９に既存のセンサを接続することで、実施例１のセンサ装置１００に相当するセンサ装置を得ることが可能となる。
【０１１７】
（２）クラウドサーバ３０でトークンを生成する例
図１６は、クラウドサーバ３０がユーザに応じたトークン（トークンＩＤ及び暗号鍵）を発行する場合のシーケンスの一例を示す図である。実施例１や実施例２では、トークン管理端末２００が、患者のＮＦＣタグ１１０に付されたユーザＩＤに応じたトークンを生成するが、トークンの生成を図１６に示すようにクラウドサーバ３０が行う実装としてもよい。図１６において、Ｓ１〜Ｓ３の処理は図８のＳ１〜Ｓ３と同様の処理であるため、説明を省略する。
【０１１８】
図１６において、Ｓ１〜Ｓ３の処理によってトークン管理端末２００が患者のユーザＩＤの情報を取得すると、トークン管理端末２００は、取得したユーザＩＤの情報と、患者の測定に用いるセンサ装置１００に関する情報をクラウドサーバ３０に通知する。その際、トークン管理端末２００は、クラウドサーバ３０との通信をＳＳＬ等の暗号化通信を行って、ユーザＩＤの情報をクラウドサーバ３０に通知する（Ｓ４）。クラウドサーバ３０は、受信したユーザＩＤ及びセンサ装置１００に関する情報に基づいて、固有の暗号鍵とトークンＩＤとを含むトークンを生成してトークン管理端末２００に送信する（Ｓ５）。
【０１１９】
トークン管理端末２００は、クラウドサーバ３０から受信したトークンをセンサ装置１００に送信する（Ｓ６）。センサ装置１００は、トークン管理端末２００からトークンを受信すると、患者の測定を開始し、測定結果をトークンに含まれる暗号鍵で暗号化して、トークンＩＤとともにクラウドサーバ３０に送信する（Ｓ７）。このようにすることで、クラウドサーバ３０側でユーザのトークンを一元管理することが可能となる。
【０１２０】
（３）トークンの生成タイミングの変形例
実施例１や実施例２では、センサ装置１００は測定を行う度に新たなトークンの生成をトークン管理端末２００に要求し、トークン生成要求を受信したトークン管理端末２００は新たなトークンを生成する。しかし、図１２に示すトークン管理テーブル２８０のように、複数のユーザに対応する複数のトークンを予めトークン管理テーブル２８０に保持する場合、任意のタイミングでユーザのトークンを生成又は更新してもよい。
【０１２１】
例えば、毎日１回、ある決められた時刻にトークン管理テーブル２８０に格納されている全てのトークンについて、トークン管理端末２００がトークンＩＤと暗号鍵の内容を変更し、予めクラウドサーバ３０に送信しておくといった実装を行うこともできる。このようにすることで、センサ装置１００を使用する前のトークン管理端末２００によるトークンの生成とクラウドサーバ３０へのトークンの送信及び応答を待つ処理を省略することができるためである。
【０１２２】
（４）ゲートウェイの中にトークン管理端末２００の機能を実装する構成例
例えば病院の全ての部屋にゲートウェイ１２０を設置している場合、トークン管理端末２００の機能を、そのままゲートウェイ１２０に実装することもできる。この場合、各ゲートウェイ１２０を図３に示されるハードウェアのうち、ＷｉＦｉインタフェース回路２０５に替えて、ネットワークインタフェース回路２０９（不図示）に置き換えることができる。ネットワークインタフェース回路２０９は、ネットワーク４０を介して他の装置と通信を行うインタフェース回路である。
【０１２３】
トークン管理端末２００の機能を実装したゲートウェイ１２０を用いることで、センサ装置１００を使用する者（看護婦等）がトークン管理端末２００を持ち歩いていない場合にも、センサ装置１００にユーザＩＤに対応するトークンを登録できる。また、トークン管理端末２００の機能を実装したゲートウェイ１２０を用いることで、各病室にいる患者が自発的にゲートウェイ１２０のＮＦＣタグリーダー部分（図３におけるＮＦＣインタフェース回路２０６相当）にＮＦＣタグ１１０をかざし、センサ装置１００を用いて測定を行うことも可能となる。
【０１２４】
（５）その他
前述したセンサ装置１００、トークン管理端末２００、クラウドサーバ３０におけるコンピュータ３００が行う各処理を実行させるプログラムをコンピュータ読み取り可能な記録媒体に記憶しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクにはＨＤＤなどが含まれる。光ディスクには、Compact Disc（ＣＤ）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、Digital Versatile Disc（ＤＶＤ）およびＤＶＤ−Ｒ／ＲＷなどが含まれる。
【０１２５】
なお、本発明に係るプログラムの流通は、前記記録媒体による流通したものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送され、ＨＤＤ等の記録媒体に格納されて使用されるものも含まれる。
【符号の説明】
【０１２６】
１０：病院
１１：医療センター
１２：介護施設
２０：病室
３０：クラウドサーバ
４０：ネットワーク
１００：センサ装置
１０１：ＭＰＵ
１０２、２０２、３０２：メモリ
１０３、１０４：センサ
１０５、２０４：ＢＬＥインタフェース回路
１０６、２０６：ＮＦＣインタフェース回路
１０７：不揮発性メモリ 
１１０：ＮＦＣタグ
１２０、１３０：ゲートウェイ（ＧＷ）
１４０：無線アクセスポイント（ＡＰ）
１５１、２５１：ＮＦＣ通信部
１５２、２５２：ＢＬＥ通信部
１５３、２５４：管理部
１５４：データ処理部
１５５：接続判定部
１６０、１８０：トークン記憶部
１７０：管理端末接続状態テーブル
２００：トークン管理端末
２０１、３０１：ＣＰＵ
２０３：ＳＳＤ
２０５：ＷｉＦｉインタフェース回路
２０７、３０６：入出力装置インタフェース回路
２５３：ＷｉＦｉ通信部
２６０、２８０：トークン管理テーブル
３００：コンピュータ
３１０：データベース
３０３：ＨＤＤ
３０４：ネットワークインタフェース回路
３０５：ＤＢインタフェース回路
３５１：通信部
３５２：管理部
３５３：データ処理部
３６０：クラウドサービステーブル
【図１】
2017192117.tif 000003
【図２】
2017192117.tif 000004
【図３】
2017192117.tif 000005
【図４】
2017192117.tif 000006
【図５】
2017192117.tif 000007
【図６】
2017192117.tif 000008
【図７】
2017192117.tif 000009
【図８】
2017192117.tif 000010
【図９】
2017192117.tif 000011
【図１０】
2017192117.tif 000012
【図１１】
2017192117.tif 000013
【図１２】
2017192117.tif 000014
【図１３】
2017192117.tif 000015
【図１４】
2017192117.tif 000016
【図１５】
2017192117.tif 000017
【図１６】
2017192117.tif 000018