説明

コンテキスト情報処理システム及び方法

【課題】ロボットなどによって暗号化されて記録されたコンテキスト情報の特定の対象に関するコンテキスト情報のみを無効化する技法を提供する。
【解決手段】ロボットのセンサによって認識されたデータからコンテキスト情報を抽出すると、コンテキストの主体あるいは対象を認識し、その対象に対応するキーを生成して、コンテキスト情報を暗号化する。特定の認識対象に関するコンテキストの削除要求があると、鍵のみを削除することで、分散して保存された多数のコンテキストを一度に復号不能にできる。複数の認識対象が含まれるコンテキストは、認識対象をビット・テーブルに変換して表現し、コンテキストを認識対象の個数だけ複製し、個々の認識対象に対する鍵を用いて、暗号化することで、コンテキストの削除要求を処理した後に、その認識対象に関する情報が残るのを防ぐ。対象名を識別名で置き換えて匿名化するために、実名、識別名、暗号鍵の対応表を用いる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プライバシーやセキュリティ保護を要する環境で、コンテキスト情報を処理する技法に関するものである。
【背景技術】
【0002】
最近になって、家庭における家電製品の操作、育児、高齢者の支援、ペットの世話、見張り、娯楽などの目的で、ロボットが導入されはじめている。このような個人あるいは家庭向けロボットは、パーソナル・ロボットとも呼ばれる。ロボットはまた、オフィスにおける受付、情報検索支援、その他事務作業のサポートなどのためにも導入されつつある。
【0003】
このようなロボットは、基本的に、画像センサ、音声センサ、接触センサなどの各種センサや、歩行、把持などのマニピュレータや、音声合成エンジンや、各種センサの結果に基づき、文字認識、画像認識、あるいは音声認識するエンジンを備えている。画像認識は例えば、顔認識による個人識別機能も含む。
【0004】
ロボットはまた、好適には、無線通信を介して、パーソナル・コンピュータやサーバと通信する機能を有する。
【0005】
このようなロボットは、各種センサで取得したデータをパーソナル・コンピュータやサーバにそのまま送ると、データ量が膨大であるので、パーソナル・コンピュータやサーバのストレージが直ぐに一杯になってしまう。そこで、ロボットは、センサで検出したデータに対して文字認識、画像認識、あるいは音声認識などの前処理を施し、いつ、誰がどういう状態だったかという、縮約されたコンテキスト情報に変換してパーソナル・コンピュータやサーバに送る。そしてロボットは、コンテキスト情報を送ったら、センサで取得したデータは削除する。なお、センサで検出したデータをコンテキストに縮約する処理は、ロボット内の構成要素だけではできない場合があり、その場合はセンサで検出したデータを一旦パーソナル・コンピュータやサーバに送ってコンテキストへの縮約処理を行い、縮約したコンテキスト・データは、パーソナル・コンピュータやサーバに保持してもよい。その場合でも、縮約処理が完了した後は、センサで取得したデータは同様に削除可能である。
【0006】
しかし、そうやって縮約されたコンテキスト情報といえども、ライフ・ログ的に長期間に亘って記録し続けると、パーソナル・コンピュータやサーバにも入りきらなくなる。そこで、クラウド・サーバや、ネットワーク接続ディスクなど、ビット単価が安価なストレージ装置にコンテキスト情報を送って記録し続けるようにする。
【0007】
しかし、クラウド・サーバや、ネットワーク接続ディスクは、必ずしもセキュアとはいえないので、ロボットは、特定のキーで暗号化して、それらのストレージ装置に送り、記録するようにする。
【0008】
ところが、そのとき、ロボットの画像イメージ・センサは、複数の人物を捉えることがありえるが、特定の人物に関するコンテキスト情報だけを、プライバシー保護、秘匿性などの目的で削除したいという要望がでたとき、対処が難しい。
【0009】
特開2008−269232号公報は、情報処理装置が、暗号キーを内部に格納し、かつ、当該暗号キーでデータを暗号化してディスクに記録するハードディスク装置を備え、BIOSは、セキュリティサーバから緊急メッセージを受信した場合には、ハードディスク装置13に暗号キーの削除命令を通知し、ハードディスク装置は、暗号キーの削除命令を受け取った場合に、暗号キーを削除することを開示する。
【0010】
特開2009−225437号公報は、データ記憶装置が、ホスト・システムあるいは装置外部の他のコンポーネントおよびその専用コントロールによる命令および/または制御無しに、暗号鍵を使用して到来データを機械的に暗号化し、暗号化機能はドライブおよび/またはその専用コントローラの組込み機能または自己充足機能であって、ドライブの全コンテンツを永久に削除するために、暗号鍵が捜し出されて消去され記憶装置内に格納される暗号文を使用不能し、内部鍵ライブラリの助けにより管理される複数の内部発生特定ファイル暗号鍵を使用して、データ処分をファイル・ベースで管理することを開示する。
【0011】
David Evans and Alastair R. Beresford, “Context-derived Pseudonyms for Protection of Privacy in Transport Middleware and Applications”, Pervasive Computing Workshop, 2009は、プライベートなコンテキストを共有することに合意した二人のユーザが、安全にコンテキストを共有することに関するものであり、コンテキストを。メッセージ認証コードを使って秘匿化し、オープンなレポジトリに格納することを開示する。
【0012】
特開2008−269232号公報及び特開2009−225437号公報は、特定の状況で暗号キーを削除することを開示する。また、David Evans and Alastair R. Beresford, “Context-derived Pseudonyms for Protection of Privacy in Transport Middleware and Applications”, Pervasive Computing Workshop, 2009は、コンテキストを秘匿化して、ディスクなどに書き込むことを開示する。
【0013】
しかし、これらの従来技術を組み合わせても、コンテキスト情報を含む環境で、特定のユーザに関するコンテキスト情報のみを無効化する技法は示唆されない。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2008−269232号公報
【特許文献2】特開2009−225437号公報
【非特許文献】
【0015】
【非特許文献1】David Evans and Alastair R. Beresford, “Context-derived Pseudonyms for Protection of Privacy in Transport Middleware and Applications”, Pervasive Computing Workshop, 2009
【発明の概要】
【発明が解決しようとする課題】
【0016】
従って、この発明の目的は、ロボットなどによって暗号化されて記録されたコンテキスト情報のうち、特定の対象に関するコンテキスト情報のみを無効化することを可能ならしめる技法を提供することにある。
【課題を解決するための手段】
【0017】
この発明は、上記問題点を解決するためになされたものであって、本発明のシステムは、センサによって認識されたデータ(以下、センサ・データと称する)からコンテキスト情報を抽出すると、まずコンテキトの主体あるいは対象を認識し、その対象に対応するキーを生成して、コンテキスト情報を暗号化する。これにより、特定の認識対象に関するコンテキストの削除要求があったときに、鍵のみを削除することで、分散した複数データベースまたはストレージに保存された多数のコンテキストを一度に復号不能にすることができる。
【0018】
本発明のシステムは、複数の認識対象が含まれるコンテキストは、それらの認識対象をビット・テーブルに変換して表現した上で、コンテキストを認識対象の個数だけ複製し、個々の認識対象に対する鍵を用いて、それぞれを暗号化する。これにより、特定の認識対象に関するコンテキストの削除要求を処理した後に、その認識対象に関する可読な情報が残ることを防ぐことができる。さらに、この技法は、暗号化されたコンテキストのサイズが小さく、復号が容易である。
【0019】
また、本発明のシステムは、センサによって認識されたデータからコンテキスト情報を抽出した際、対象名を識別名で置き換えて匿名化するために、実名、識別名、暗号鍵の対応表を用いる。
【0020】
本発明の一側面では、特定の認識対象に関するコンテキストを、時間範囲毎に削除できるように、個々の実名に対して時間帯毎に暗号鍵を割り当てた実名−識別名対応表を作成し、それを用いてコンテキストを暗号化する。
【0021】
さらにコンテキストの復号を効率化するために、時間帯とその時間帯に認識した識別名を対応付ける対応表を用いることができる。
【発明の効果】
【0022】
この発明によれば、識別された対象毎に暗号鍵を指定した対応表を用意し、この対応表のエントリに基づき、暗号化されたコンテキストを復号化するようにしたので、対応表の指定したエントリを削除するだけで、特定の対象に関するコンテキストを復号化することを不可能にして、秘匿化及びプライバシー保護を図ることができる。
【図面の簡単な説明】
【0023】
【図1】ロボットと、コンピュータと、ディスク装置からなるシステムを示す概要図である。
【図2】ロボットのハードウェアの内部を示すブロック図である。
【図3】ロボットの機能構成を示すブロック図である。
【図4】コンピュータのハードウェアの内部を示すブロック図である。
【図5】コンピュータの機能構成を示すブロック図である。
【図6】ロボットと、コンピュータと、ディスク装置の三層モデルの動作の概要を示す図である。
【図7】対象の登録動作の処理のフローチャートを示す図である。
【図8】コンテキスト生成処理のフローチャートを示す図である。
【図9】コンテキスト参照処理及び高次コンテキスト推定処理のフローチャートを示す図である。
【図10】推定された高次コンテキストのデータを構成し暗号化する処理のフローチャートを示す図である。
【図11】暗号化手続の処理を示す図である。
【図12】復号化手続の処理を示す図である。
【図13】鍵削除処理のフローチャートを示す図である。
【図14】コンテキスト生成処理における、ロボットと、コンピュータと、ディスク装置の三層モデルにおけるデータの例を示す図である。
【図15】高次コンテキストのビットテーブルデータ構造を示す図である。
【図16】コンテキスト参照処理及び高次コンテキスト推定処理における、ロボットと、コンピュータと、ディスク装置の三層モデルにおけるデータの例を示す図である。
【図17】高次コンテキスト推定のためのクラスリング処理の例を示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して、本発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。また、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことに留意されたい。
【0025】
図1は、本発明を実施するための構成要素を示す概要図である。図1において、ロボット110は、画像認識、音声認識などにより、特定の個人、その他の対象物を識別するインテリジェント機能を有する。図1の例ではロボット110は、予め登録されている個人の顔情報、声情報などに基づき、テーブル112の向こうにいる人間114及び116を識別する。
【0026】
ロボット110は、例えばIEEE 802.11gなどの無線LAN通信機能をもつ通信装置を備えており、無線LANステーション120を介して、パーソナル・コンピュータ130に、個人の識別情報を含む1次コンテキスト情報を送信する。
【0027】
パーソナル・コンピュータ130は、受信した1次コンテキスト情報に基づき、どの個人とどの個人が同じ場所にいるなどの2次コンテキスト情報を生成し、ハードディスク・ドライブに記録する。最近、パーソナル・コンピュータ130のハードディスク・ドライブも500GB程度の大容量のものが普通に搭載されるようになってきているが、パーソナル・コンピュータ130は、ロボット110から連綿と送られている情報をハードディスク・ドライブに記録し続けるので、そのまま放置すると、ハードディスク・ドライブが一杯になる。
【0028】
そこでパーソナル・コンピュータ130は、例えば、インターネット140を介してアクセスされるクラウド・コンピューティングのストレージ・サービスを利用して、ハードディスク・ドライブに記録した2次コンテキスト情報を、ストレージ・サービスによって提供されるストレージ領域(ディスク装置)150に定期的に書き出し、ハードディスク・ドライブの2次コンテキスト情報を削除するようにする。
【0029】
尚、2次コンテキスト情報をストレージ・サービスによって提供されるストレージ領域150にそのまま書き出すと、ストレージ・サービスによって提供されるストレージ領域150は、安価で大容量であるが、アクセス制御などのセキュリティ保護機構は十分に施されていないので、第三者が2次コンテキスト情報を入手することが困難ではなく、プライバシーやセキュリティの問題が生じる。
【0030】
そこで、ロボット110は、認識した個人特有の暗号キーを生成し、パーソナル・コンピュータ130に送る。パーソナル・コンピュータ130は、ストレージ・サービスによって提供されるストレージ領域150に2次コンテキスト情報を書き込む際に、当該の2次コンテキスト情報に関連する個人の暗号キーで2次コンテキスト情報を暗号化してストレージ領域150に書き込む。こうしておくことで、第三者が2次コンテキスト情報を入手しても、その中身を理解することが実質的に不可能になる。
【0031】
尚ここで、ストレージ領域150は、複数のディスク装置からなっていてもよい。それは、クラウド・コンピューティングのストレージ・サービス以外に、ネットワーク接続されたNASやSANでもよく、あるいは、USB接続されたローカル・ディスクであってもよい。このようにストレージ領域150が複数のディスク装置からなるときは、そのうちの特定のディスク装置をデフォルト・ディスク装置とし、その以外のディスク装置に対しても優先順位をつけておくようにする。
【0032】
次に、図2のブロック図を参照して、ロボット110のハードウェア構成について説明する。ロボット110は結局、組み込みコンピュータ・システムであって、バス202をもち、バス202には、CPU204、主記憶(RAM)206、不揮発性記憶装置としてのフラッシュ・メモリ208が接続されている。フラッシュ・メモリ208には、Linux(商標)のような組み込み用オフペレーティング・システム、画像認識、音声認識、アクチュエータ・コントローラなどのロボット用制御プログラム等が格納されている。CPU204としては、パーソナル・コンピュータに使用されているような64ビットまたは32ビットの、CISCまたはRISCアキーテクチャのマイクロプロセッサでよい。また、不揮発性記憶装置として、フラッシュメモリの代わりに、あるいは付加的にハードディスク・ドライブを装備してもよい。
【0033】
バス202にはさらに、所定のインターフェース210を介して、画像センサ212が接続されている。画像センサ212は好適にはCCDを備えるものであるが、CMOSを使ったより安価なものでもよい。画像センサ212は、人や対象物を画像認識して識別するために使用される。
【0034】
バス202にはさらに、A/D変換器などの所定のインターフェース214を介して、マイク216が接続されている。マイク216は、人が話す声を音声認識して識別するために使用される。
【0035】
バス202にはさらに、アクチュエータ制御部218を介して、歩行用の車輪などのアクチュエータ220が接続されている。アクチュエータ220は、回転モータ、ステッピング・モータなどの電動駆動源を含み、サーボ制御の仕組みで制御を行う。ロボット110が二足歩行タイプのロボットである場合、アクチュエータ制御部218は、複雑な制御を要するが、この発明の主題ではないので、ここでは詳しく述べない。
【0036】
バス202にはさらに、D/A変換器などの所定のインターフェース222を介して、スピーカ224が接続されている。スピーカ224は、音声合成モジュールによって合成された音声を出力するために使用される。
【0037】
バス202にはさらに、IEEE802.11gなどの方式により無線LANステーションと通信するための通信カード226が接続されている。
【0038】
バス202にはさらに、USBインターフェース228が接続されている。USBインターフェース228は例えば、パーソナル・コンピュータ130とUSBケーブルで接続して、パーソナル・コンピュータ130を介して、コマンドや文字列などを打ち込み、ロボット110に設定したり、情報を記憶させたりするために使用される。
【0039】
図示しないが、ロボット110は、電力源として、リチウムイオン電池、ニッケルカドミウム電池、ニッケル水素電池などの充電池を備える。充電池は例えば、USBインターフェース228を介して、電源プラグに接続されたACアダプター(図示しない)によって充電される。
【0040】
ロボット110は、図示しないが、用途に応じて、赤外線センサなどの近接センサ、ポテンショメータなどの変位センサ、傾斜センサ、圧力センサ、加速度センサ、GPSなどを備えていてもよい。
【0041】
図3は、ロボット110の機能構成を示すブロック図である。画像認識モジュール302は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。画像認識モジュール302は、画像センサ212から取り込まれた画像に対して、閾値処理、エッジ処理、雑音除去、色抽出、ラベリングなどの処理を施して、対象の画像の特徴を抽出する機能をもつ。
【0042】
音声認識モジュール304は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。音声認識モジュール304は、マイク216からアナログの音声信号を取り込み、A/D変換、離散フーリエ変換、メルフィルタ離散コサイン変換などの処理を経て、声紋、イントネーションなどの話者特徴や、会話の内容を認識・抽出する機能をもつ。
【0043】
対象登録モジュール306は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。対象登録モジュール306は、パーソナル・コンピュータ130をロボット110にUSBケーブルによって接続された状態で使用される。すなわち、ロボット110の画像センサ212が、人などの対象を捉えている状態、あるいは、対象としての人の声をマイク216が捉えている状態で、対象登録モジュール306は、画像認識モジュール302または音声認識モジュール304の一方、あるいは両方を起動し、その認識結果を、登録された対象308としてフラッシュ・メモリ208に格納する。その際、対象登録モジュール306は、パーソナル・コンピュータ130の画面に、認識した対象の実名を入力するようにプロンプトする。それに応答して、パーソナル・コンピュータ130のユーザが実名を入力すると、対象登録モジュール306は、実名に対応する一意的な識別名と、コンテキスト鍵を生成して、実名−識別名対応表310を作成して、好適にはフラッシュ・メモリ208に保存する。対象登録モジュール306による対象登録動作が終了すると、好適には、ロボット110とパーソナル・コンピュータ130の間のUSBケーブルは、外すようにする。なお、ロボット110とパーソナル・コンピュータ130は無線LANで接続されているので、対象登録動作は、USBケーブル接続でなく、無線LAN経由で行うようにしてもよい。また、実名の入力は、キーボーでなく、音声入力でもよい。
【0044】
対象識別モジュール312は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。対象識別モジュール312は、ロボット110の通常動作の間、画像認識モジュール302または音声認識モジュール304によって識別された特徴データを、既存の登録された対象308のデータと比較して、登録された対象308のデータのうち、ある範囲の近さの特徴データをもつ対象を選ぶ。
【0045】
1次コンテキスト抽出モジュール314は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。1次コンテキスト抽出モジュール314は、画像認識モジュール302または音声認識モジュール304によって識別された特徴データ自体から、どの対象がどこにいる、というような1次コンテキストのみを抽出して、1次コンテキスト316として書き出す機能をもつ。一旦1次コンテキスト316が抽出されると、画像センサ212やマイク216などのセンス・データは維持する必要がなくなるので、好適には削除される。一般的に、もともと、ロボット110の不揮発記憶装置の容量は限られているので、大容量の画像データを保持し続けることはできない。
【0046】
識別名−時区間対応表作成モジュール318は、1次コンテキスト抽出モジュール314が1次コンテキストを抽出したときの時間の情報と、1次コンテキストの対象に対応する識別名のエントリを含む識別名−時区間対応表320を作成して好適にはフラッシュ・メモリ320に格納する。その際、対象の実名と識別名の対応は、実名−識別名対応表310のテーブルをルックアップすることで取得される。
【0047】
送信データ作成モジュール322は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。送信データ作成モジュール322は、好適には、ロボット110から直接、ディスク装置150に、鍵で暗号化したコンテキストを書き込む第1のモードと、ロボット110からパーソナル・コンピュータ130に一旦実名−識別名対応表310から実名を除去した情報と、1次コンテキスト316と、識別名−時区間対応表320の情報をとりまとめて送って、それらの情報をパーソナル・コンピュータ130で一旦キャッシュし、パーソナル・コンピュータ130で鍵情報で暗号化してからディスク装置150に送る第2のモードとをもつ。第1のモードでは、無線LANステーション120がルータの役割も果たす場合、無線LANステーション120から直接、暗号化したコンテキストの情報を、ディスク装置150に書き込むことができる。
【0048】
鍵処理モジュール326は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。鍵処理モジュール326は、通信モジュール324を介してパーソナル・コンピュータ130から受け取った時区間の情報に基づき、識別名−時区間対応表320と、実名−識別名対応表310とから、対応するコンテキスト鍵の情報を取得して、通信モジュール324を介して、パーソナル・コンピュータ130に送る。鍵処理モジュール326はさらに、パーソナル・コンピュータ130から通信モジュール324を介して所定のコマンドを受け取ることにより、実名−識別名対応表310から、所定の対象の鍵を含むエントリを削除する機能ももつ。
【0049】
コンテキスト参照モジュール328は、フラッシュ・メモリ208に格納されていて、必要に応じて主記憶206にロードされて実行される。コンテキスト参照モジュール328は、画像センサ212やマイク216などが所定の状況を検出するなどの事象にトリガされて、通信モジュール324を介してパーソナル・コンピュータ130に、コンテキストに関連する鍵とともに、コンテキストを参照するコマンドを送る。コンテキストに関連する鍵は、鍵処理モジュール326に要求して取得する。それに応答して、コンテキスト情報がパーソナル・コンピュータ130から送られると、コンテキスト参照モジュール328は、スピーカ224を使って音声を出す、あるいは、アクチュエータ220を駆動して、外界に働きかける。
【0050】
ロボット110は、電源を切るときは、RAM206上にある対応表のデータをロボット110の所定の鍵で暗号化してパーソナル・コンピュータ130に送り、パーソナル・コンピュータ130はその情報をハードディスク・ドライブに書き込む。ロボット110は、電源再投入時には、パーソナル・コンピュータ130からその情報を読み込み、ロボット110の所定の鍵で複号して再びRAM206上に、対応表のデータを配置する。
【0051】
次に、図4を参照して、パーソナル・コンピュータ130の構成を説明する。図4において、パーソナル・コンピュータ130は、CPU404、主記憶406、ハードディスク・ドライブ408をもち、これらは、バス402に接続されている。バス402には更に、ディスプレイ・コントローラ410と、通信インターフェース414と、無線LANカード416と、USBインターフェース418と、オーディオ・インターフェース420と、キーボード・マウス・コントローラ426が接続されている。ディスプレイ・コントローラ410には、好適には、LCDディスプレイ412が接続されている。
【0052】
通信インターフェース414は、インターネット140を介して、クラウド・サービスのディスク装置150に接続される。尚、無線LANステーション120がルータとしても機能するものであるなら、通信インターフェース414を用いないで、無線LANカード416と無線LANステーション120を介して、クラウド・サービスのディスク装置150に接続するようにしてもよい。
【0053】
USBインターフェース418は、USBケーブルで接続して、ロボット110に対象を登録する処理を行うために使用される。
【0054】
オーディオ・インターフェース420には、スピーカ422と、マイク424が接続されている。
【0055】
キーボード・マウス・コントローラ426には、キーボード428と、マウス430が接続されている。キーボード428は、対象の実名などを打ち込むために使用される。
【0056】
CPU404は、例えば、32ビット・アーキテクチャまたは64ビット・アーキテクチャに基づく任意のものでよく、インテル社のPentium(インテル・コーポレーションの商標)4、Core(商標)2 Duo、AMD社のAthlon(商標)などを使用することができる。
【0057】
ハードディスク・ドライブ408には、少なくとも、オペレーティング・システムと、本発明用の処理プログラムが保存されており、システムの起動時に、オペレーティング・システムは、主記憶406にロードされる。オペレーティング・システムは、Windows XP(マイクロソフト・コーポレーションの商標)、Windows Vista(マイクロソフト・コーポレーションの商標)、Windows(マイクロソフト・コーポレーションの商標) 7、Linux(Linus Torvaldsの商標)などを使用することができる。
【0058】
ハードディスク・ドライブ408には更に、対象登録モジュール502、暗号化コンテキスト送信モジュール504、コンテキスト参照モジュール506、鍵取得モジュール510、高次コンテキスト推定モジュール512、コンテキスト暗号化モジュール514が、C、C++、Java(R)などのプログラミング言語で書かれ、実行可能形式のファイルとして保存されている。
【0059】
次に、図5を参照して、パーソナル・コンピュータ130に格納されている、本発明に関連する処理モジュールの機能的構成を説明する。図5において、対象登録モジュール502は、USBインターフェース418を介してロボット110に接続され、ロボット110の対象登録モジュール306と協働して、対象登録処理を行う。対象登録モジュール502は、パーソナル・コンピュータ130のキーボード428からの実名入力を受け入れることである。
【0060】
暗号化コンテキスト送信モジュール504は、無線LANカード416を介してロボット110から送られてきたデータのうちの暗号化コンテキストの部分を、通信モジュール414を介して、ディスク装置150に書き込む機能をもつ。
【0061】
コンテキスト参照モジュール506は、ハードディスク・ドライブ408に保存され、実行時に主記憶406にロードされて実行される。コンテキスト参照モジュール506は、パーソナル・コンピュータ130のユーザーが入力した時区間などの情報を基に、ディスク装置150から、通信モジュール414を介して、暗号化コンテキスト情報を読み込む。暗号化コンテキスト情報は、そのままでは内容が読めないので、コンテキスト復号モジュール508に引き渡される。
【0062】
コンテキスト復号モジュール508は、鍵取得モジュール510を利用して、識別名に対応する鍵を入手することで、暗号化コンテキストを復号化して、高次コンテキスト推定モジュール512に渡す。
【0063】
鍵取得モジュール510は、コンテキスト復号モジュール508から鍵の取得を要求されると先ず、識別名−鍵対応表キャッシュ520に鍵を探しにいき、そこで見つかると、コンテキスト復号モジュール508に鍵を渡す。識別名−鍵対応表キャッシュ520に鍵が見つからない場合は、鍵取得モジュール510は、無線LANカード416を介して、ロボット110にアクセスして鍵を取得する。具体的には、鍵取得モジュール510からの要求に従い、ロボット110の鍵処理モジュール326が、実名−識別名対応表310にアクセスして、鍵を入手し、鍵取得モジュール510に送り返す。
【0064】
なお、キャッシュとして、パーソナル・コンピュータ130は、識別名−時区間対応表キャッシュ518と、識別名−鍵対応表キャッシュ520と、コンテキスト・キャッシュ522をもつ。これらのキャッシュは、ロボット110から識別名−時区間対応表と、実名−識別名対応表と、コンテキストを受け取ったとき、好適には、主記憶406上に配置される。コンテキスト・キャッシュ522には、コンテキスト復号モジュール508が復号したコンテキストをも、格納される。コンテキスト・キャッシュ522のエントリは、時区間、識別名、コンテキスト、及びキャッシュの有効期限からなる。
【0065】
コンテキスト復号モジュール508が復号したコンテキスト情報は、高次コンテキスト推定モジュール512によって、高次コンテキストを推定するために使用される。ここで高次コンテキストとは、複数の対象がある時間に同じ場所にいる、などの情報である。高次コンテキスト推定モジュール512の処理の詳細については、後述する。
【0066】
コンテキスト暗号化モジュール514は、コンテキスト復号モジュール508によって生成された高次コンテキストの情報を、その高次コンテキストに関与する対象に対応する鍵で暗号化して、ディスク装置150に書き込む。これにより、鍵をもたない第三者がディスク装置150上の高次コンテキストの情報を読み取っても、意味がある内容を把握することができなくなる。
【0067】
パーソナル・コンピュータ130は、推定により得られた高次コンテキストを、会議でのアシスタント、ホーム警護などの目的に使用することができる。
【0068】
図6は、本発明における、ロボット110/コンピュータ130/ディスク装置150という3層構造と、処理の流れを模式的に示す図である。
【0069】
図示されているように、この3層構造には、主として、4つの処理が関与する。先ず、処理1は、対象、すなわち人やモノの登録であり、ロボット110で実行される。この処理により、ロボット110において、実名−識別名対応表310と、識別名−時区間対応表320が、好適にはロボット110のRAM206上に生成される。
【0070】
次に処理2は、コンテキスト生成時処理であって、ロボット110とコンピュータ130が処理に関与する。処理2において、ロボット110で生成されたコンテキストは、第1のモードでは、対応する鍵で暗号化されて、直接、ディスク装置150に書き込まれる。ロボット110において、生成されたコンテキストが、ロボット110のRAM206上に配置される。また、第2のモードでは、ロボット110で生成されたコンテキストは、一旦コンピュータ130に送られ、そこでコンテキスト・キャッシュ522として主記憶406に保持されるとともに、対応する鍵で暗号化されて、ディスク装置150に書き込まれる。
【0071】
処理3は、コンテキスト参照処理であって、ロボット110とコンピュータ130とディスク装置150が関与する。コンテキスト参照処理は、ロボット110が、好適にはコンピュータ130からの要求に応じて、参照したいコンテキストに関連する鍵をコンピュータ130に送ることで開始される。それに応答して、コンピュータ130は、ディスク装置150から、解析対象コンテキストを読み取る。読み取ったコンテキストからコンピュータ130は、高次コンテキストを推定し、その結果をロボット110に返す。ロボット110は、その結果を用いて、外界に対して働きかけを行う。コンピュータ130は一方で、生成した高次コンテキストを、対応する鍵で暗号化して、ディスク装置150に書き込む。こうしておくことで、同様のコンテキスト参照処理があった場合に、コンピュータ130は、ディスク装置150から再度高次コンテキストの情報を取得するだけで、改めて高次コンテキスト推定処理を行う必要がなくなる。
【0072】
処理4は、認識対象削除時処理であって、ロボット110とコンピュータ130が関与する。認識対象削除時処理は、コンピュータ130の鍵削除モジュール516からの要求に従い、ロボット110の実名−識別名対応表310における、要求があった対象に対応することである。それとともに、認識対象削除時処理は、コンピュータ130における識別名−鍵対応表キャッシュ520からも鍵を削除する。
【0073】
次に、図7〜図13のフローチャートを参照して、上記処理1〜4の内容について説明する。
【0074】
先ず、図7のフローチャートは、処理1に関するものである。この処理は例えば、ロボット110と、コンピュータ130をUSBケーブルで接続することによってトリガされる。一旦トリガされると、ロボット110の対象登録モジュール306が動作する。なお、前述のように、ロボット110とコンピュータ130は、USBケーブルでなく、無線LANで接続してもよい。
【0075】
対象登録モジュール306は、ステップ702で、人やモノを登録すると判断すると、ステップ704で実名をコンピュータ130のディスプレイ412で入力するようにプロンプトし、人やモノの画像を画像センサ212に映しつつ、あるいは、人の声をマイク216で集音しつつ、オペレータがディスプレイ412上に表示されたメニューで実名Niを入力して改行キーを押すことにより、実名とその画像あるいは音声の特徴成分のデータを、フラッシュ・メモリ208に保存しつつ、ステップ706で、実名に対応して、新しいエントリを登録する。
【0076】
ステップ708では、対象登録モジュール306は、実名Niに対応して、識別名PNiと、暗号鍵KPNiを生成する。実名−識別名対応表310の内容の例を図14に示す。図示されているように、暗号鍵は、コンテキスト鍵とも呼ばれる。識別名PN1は、乱数生成、その他のアルゴリズムをもちいて、少なくも1台のロボットの範囲で一意的になるように対象登録モジュール306が生成する。また、これには限定されないが、ここでは暗号方式はAES(Advanced Encription Standard)方式を用いるものとし、その鍵長は128ビットであるとする。このような鍵KPNiは、乱数、その他のアルゴリズムをもちいて生成することができる。
【0077】
ステップ702に戻って、他にも登録すべき人またはモノがある場合、ステップ704で、登録すべく別の人やモノの画像を画像センサ212に映しつつ、あるいは、人の声をマイク216で集音しつつ、オペレータがディスプレイ412上に表示されたメニューで実名Niを入力して改行キーを押すことにより、実名とその画像あるいは音声の特徴成分のデータを、フラッシュ・メモリ208に保存しつつ、ステップ706で、実名に対応して、新しいエントリを登録する。ステップ708では、対象登録モジュール306は、実名Niに対応して、識別名PNiと、暗号鍵KPNiを生成する。
【0078】
こうして、所望のすべての人またはモノの登録を行うと、ステップ710に進む。ステップ710はオプションであって、時間コンテキスト鍵を生成する場合の処理である。すなわち、時間コンテキスト鍵を生成する場合、一定時間毎に鍵を生成し、実名−識別名対応表310を更新してもよい。
【0079】
次に、図8のフローチャートを参照して、処理2(コンテキスト生成時処理)について説明する。図8のステップ802では、対象識別モジュール312が、センサ情報、すなわち、画像センサ212またはマイク216の認識結果に基づき、登録された情報308が識別したデータに基づき、1次コンテキスト抽出モジュール314が、コンテキストC1 - Ckを抽出する。ここで、コンテキストとは、基本的には、「人やモノのある時間の状況」を表現するものであり、具体的には図14のデータ1402に、1次コンテキストとして示すように、{時区間,状況,人やモノ,確からしさ}からなるが、これは一例であって、例えば、確からしさはオプションでよい。なお、確からしさとは、1次コンテキスト推定処理の推定の確からしさのことである。
【0080】
ステップ804では、送信データ作成モジュール322が、実名−識別名対応表310を参照して、コンテキストC1 - Ckに関連づけられる実名N1 - Nkを同定する。
【0081】
ステップ804ではさらに、送信データ作成モジュール322が、実名N1 - Nkに対応付いた識別名PN1 - PNkとコンテキスト鍵KPN1 - KPNkを、実名−識別名対応表310から取得する。このようにして作成されたデータの例は、図14で参照番号1402で示すようなものである。なお、データ1402において、Vsは視覚的に存在、Vcは音として存在という状況に対応する。
【0082】
ステップ808では、送信データ作成モジュール322が、コンテキストをディスク装置150に送るか、あるいは、コンピュータ130に送るかを判断する。この判断は、周期的でよい。例えば、回数を記録し、奇数回ではディスク装置150に送り、偶数回ではコンピュータ130に送るとか、回数をある法で割り、その剰余の値に応じて、ディスク装置150に送るモードと、コンピュータ130に送るモードを切り替えるようにしてもよい。
【0083】
送信データ作成モジュール322がコンテキストをディスク装置150に送るべきと判断した場合は、ステップ810に進み、そこで、i = 1からmまでで、PNi、Ci、認証子AC、乱数rを接続してmsgiを生成し、KPNiで暗号化する。この際の暗号化方式は、上述のようにAESである。このようなメッセージmsgの暗号化方式を図11を参照して説明する。すなわち、ステップ1102では、乱数rを発生する。次のステップ1104では、ACを定数の認証子として、Msg = {PNi|Ci|AC|r}で、Msgを生成する。次にステップ1106で、Msg自体を、E = EncK(Msg)により暗号化する。
【0084】
msgiを生成すると、送信データ作成モジュール322は、デフォルト・ディスク装置が利用可能かどうか判断する。デフォルト・ディスク装置が利用可能でなければ、ステップ814で優先順位に従い、代替ディスク装置に切り替え、ともかく利用可能なディスク装置に対して、ステップ816で、送信データ作成モジュール322は、該当する時区間[t1s - t1e],...,[tms - tme]と、msg1 - msgmを送信する。こうしてディスク装置150に送られたデータは例えば、図14の参照番号1404に示すように、時区間と暗号化コンテキストからなる。
【0085】
一方、送信データ作成モジュール322がコンテキストをコンピュータ130に送るべきと判断した場合は、ステップ808からステップ818に分岐し、そこで、i = 1からmまでで、図11に示すように、PNi、Ci、認証子AC、乱数rを接続してmsgiを生成し、通信時暗号化してコンピュータ130に送る。
【0086】
ステップ820では、コンピュータ130が、受け取った送信データを、識別名−鍵対応表キャッシュ520と、識別名−時区間対応表キャッシュ518と、コンテキスト・キャッシュ522に格納して、ステップ810に進む。尚、このときのコンピュータ130におけるメッセージ受領ステップは、図12に示すように、ステップ1202で暗号文Eを鍵Kで復号し、ステップ1204で復号された結果に対して、{PNi|Ci|AC~|r}の書式でデータ分割し、ステップ1206でAC~ = ACかどうか判断し、もしそうならステップ1208で復号成功であり、そうでないなら、ステップ1210で復号失敗と判断する。
【0087】
図14のデータ1406は、コンピュータ130からディスク装置150に送るために用意されたものであり、基本的にデータ1404と同一のフォーマットである。
【0088】
ステップ822では、識別名−時区間対応表作成モジュール318が、i = 1 to kで、Ciの時区間[ti,a - ti,b]に対応付けられる識別名PN1,...,PNkを取り出す。
【0089】
ステップ824では、識別名−時区間対応表作成モジュール318は、ti,a - ti,bに対応する識別名−時区間対応表作成の時区間が存在するかどうか判断し、もしそうでなければステップ826で識別名−時区間対応表320に時区間を作成し、ステップ824では、識別名−時区間対応表320の該当する時区間にPN1,...,PNkを追加する。
【0090】
次に、図9及び図10のフローチャートを参照して、処理3(コンテキスト参照時処理)について説明する。図9において、ステップ902では、コンテキスト参照モジュール506に対して、コンテキスト推定処理を行う時区間[ta - tb]が設定される。これは例えば、コンピュータ130のユーザが、ディスプレイ412上に表示された所定のメニューから、キーボード428などを用いて打ち込むことによって行われる。
【0091】
コンテキスト推定処理を行う時区間[ta - tb]が設定されると、コンテキスト参照モジュール506は、ステップ904で、時区間[ta - tb]に対して、識別名−時区間対応表キャッシュ518に該当するエントリがあるかどうか判断する。
【0092】
もしあるなら、ステップ906で、コンテキスト参照モジュール506は、識別名−時区間対応表キャッシュ518から、該当する識別名を取り出し、コンテキスト・キャッシュ522から、コンテキストtis,tie,PNi,Ciを取り出す。
【0093】
一方、ステップ904で、時区間[ta - tb]に対して、識別名−時区間対応表キャッシュ518に該当するエントリがないと判断されると、コンテキスト参照モジュール506は、ディスク装置150にアクセスして、該当する時区間[ta - tb]のコンテキスト・データE1 - Enを取得する。
【0094】
ステップ910では、鍵取得モジュール510が、無線LAN経由でロボット110にアクセスして、実名−識別名対応表310から時区間[ta - tb]に対応する鍵を取得する。
【0095】
ステップ912では、コンテキスト復号モジュール508が、i = 1,...,nにつき、E1 - Enを、取得したコンテキスト鍵KPNiで復号する。
【0096】
ステップ914では、コンテキスト復号モジュール508が、識別子ACが正しく復号された復号結果のtis,tie,PNi,Ciを、コンテキスト・キャッシュ522に登録する。この復号処理については、図12のステップを参照されたい。特にステップ914の詳細は、図10のフローチャートを参照して、後で説明する。
【0097】
ステップ906、あるいは、ステップ914からは、ステップ916に進み、そこで、高次コンテキスト推定モジュール512が、高次コンテキスト推定処理を実施する。高次コンテキスト推定処理については、後で処理詳細に説明する。
【0098】
ステップ918では、コンテキスト暗号化モジュール514が、推定された高次コンテキストを暗号化して、ディスク装置150に書き込む。
【0099】
ステップ920では、高次コンテキスト推定モジュール512が推定された高次コンテキストをロボットに送り、ロボットは、送られた高次コンテキストに含まれる識別名を必要に応じて、実名−識別名対応表310を参照して実名に置き換えつつ、その情報に基づき、外界に適宜働きかける。
【0100】
図10は、図9のステップ914をより詳細に説明するフローチャートである。図10のステップ1002で、推定された高次コンテキストCH1t1-t2は、低次コンテキストC1-Ckから構成されているとする。そこで高次コンテキスト推定モジュール512は、ステップ1004で、C1-Ckものそれぞれに設定する識別名PN1-PNkを取得し、識別名に相当するビット位置を計算する。そして、ステップ1006で、登録済み識別名の総数に応じて高次コンテキスト値のビット数を決め、ステップ1004で得られたビット位置を"1"に、それ以外の位置を"0"にセットした値を高次コンテキスト値とする。図15に、高次コンテキスト値の例を示す。
【0101】
この例で、高次コンテキストCH1t1-t2にPN3が含まれている場合、CH1t1-t2にPN3 = 22 = 4となる。
【0102】
また、高次コンテキストCH1t1-t2にPN3とPN5が含まれている場合、CH1t1-t2 = 22 + 24 = 4 + 16 = 20
【0103】
図15の例は8人の識別名に対応するために1バイトであるが、16人なら2バイトであり、一般にN人なら、Nを8で割り、割り切れるならN/8バイト、割り切れないなら[N/8]+1バイトが必要である。なお、[N/8]は、N/8の整数部分をあらわす。
【0104】
図10のフローチャートに戻って、ステップ1008では、コンテキスト暗号化モジュール514が識別名に相当するコンテキスト鍵を鍵取得モジュール510を介して実名−識別名対応表310から取得し、ステップ1006で得られた高次コンテキスト値をそれぞれ暗号化する。
【0105】
低次コンテキストの場合は、次のようにして暗号化が行われる。すなわち、次のような低次コンテキストを考える。
Presence, A, t1-t2
Presence, B, t1-t2
Presence, C, t1-t2
これは、時区間t1-t2に、対象A,B,Cがそれぞれある同じ場所に存在していたことを示す。
【0106】
これらはそれぞれ、次のように暗号化される。
t1-t2, EKA(Presence, A)
t1-t2, EKB(Presence, B)
t1-t2, EKC(Presence, C)
ここで、KA, KB, KCはそれぞれ対象A,B,Cのコンテキスト鍵であり、EKA()は、コンテキスト鍵KAによる暗号化である。
【0107】
そこで上記低次コンテキストから推定された高次コンテキストをMeeting{A,B,C},t1-t2とする。本発明によれば、これは、次のように暗号化される。
t1-t2, EKA(Meeting{A,B,C})
t1-t2, EKB(Meeting{A,B,C})
t1-t2, EKC(Meeting{A,B,C})
このようにすると、KA, KB, KCのどれでも復号化可能となる。
【0108】
ただ、A,B,Cを識別名とすると、例えばその各々が16バイトからなるとすると、人数が増えてくると、高次コンテキストを表現するのに多くのバイト数を要する。
【0109】
そこで本発明によれば、図15で示すように、高次コンテキストをビットテーブルで表現して、次のように暗号化する。
t1-t2, EKA(Meeting{1,1,1,0,0})
t1-t2, EKB(Meeting{1,1,1,0,0})
t1-t2, EKC(Meeting{1,1,1,0,0})
【0110】
次に図16を参照して、処理3(コンテキスト参照時処理)の具体例を示す。図16において、ステップS1では、コンピュータ130がコンテキスト推定処理を行う時区間を設定し、ステップS2では、ディスク装置150から暗号化コンテキストを取得する。これは図9ではそれぞれ、ステップ902とステップ908に対応する。なお、図16では、コンテキストは80%のような確からしさを含んでいるが、これはオプションでよい。
【0111】
ステップS3では、コンピュータ130が、ロボット110から、コンテキスト推定処理する時区間に対応するコンテキスト鍵をロボット110に要求する。
【0112】
ステップS4では、ロボット110が、識別名−時区間対応表320から対応する識別名を求め、その識別名に基づき更に実名−識別名対応表310からコンテキスト鍵を求めて、コンピュータ130に返す。
【0113】
ステップS5では、コンピュータ130が、暗号化コンテキストをコンテキスト鍵で復号し、認証子を検証し、コンテキストを復元する。
【0114】
ステップS6では、コンピュータ130が、復元されたコンテキストから、高次コンテキスト推定を行う。
【0115】
次に、図13のフローチャートを参照して処理4(認識対象削除時処理)について説明する。処理4は、コンピュータ130のオペレータの操作に応答して、鍵削除モジュール516によって開始される。
【0116】
ステップ1302では、鍵削除モジュール516は、{認識対象PNi,[認識時区間tm-tn]}という引数を受け取る。なお、第二引数は省略可能である。
【0117】
ステップ1304では、鍵削除モジュール516は、認識時区間の引数がないかどうかを判断し、もしないなら、ステップ1306で、ロボット110に、該当する認識対象を実名−識別名対応表310から削除するように指示する。併せて、識別名−鍵対応表キャッシュ520からも該当する認識対象を削除する。
【0118】
認識時区間の引数があるなら、鍵削除モジュール516は、ステップ1308で、該当する認識対象・時区間を実名−識別名対応表310から削除するように指示する。併せて、識別名−時区間対応表キャッシュ518と識別名−鍵対応表キャッシュ520からも該当する認識対象・時区間を削除する。ちなみに、実際に削除されるのは、該当する認識対象・時区間のコンテキスト鍵だけである。
【0119】
このようにすると、該当する認識対象・時区間のコンテキスト鍵が最早入手できなくなるので、ディスク装置150上に存在する該当する、暗号化された1次コンテキストは最早復元できなくなるので、実際上、存在しないのと等価になる。
【0120】
このような鍵削除は、ある個人から、プライバシーが気になり記録を全て削除してほしいとか、個人が所属するプロジェクトが変わったり、移動したり、退職したなどの事情があったり、VIP、お客様のようにそもそも記録してはいけない相手であることが分かったなどの場合に実行される。
【0121】
次に、図17を参照して、コンテキスト推定処理について、説明する。このコンテキスト推定処理は、図示されているように、各対象A, B, C, D, Eの開始時間をX軸、終了時間をY軸として座標で配置し、距離としてユークリッド距離を用いて、K-meansのような方法でクラスタリングすることによって行われる。そうして、対象が同一クラスタに所属していれば、Meetの関係にあるとする。図17の例では、Meet(A,D)且つMeet(C,E)という高次コンテキストが推定される。
【0122】
なお、上記の実施例では、単一のロボットによって認識された1次コンテキストを用いたが、複数のロボットからの1次コンテキストを扱うようにすることができる。その場合、Diffie-Hellmanの鍵共有アルゴリズムに従い、協調コンテキスト鍵を生成して、それを複数のロボット間で共有し、その協調コンテキスト鍵を使用して、上記の実施例における暗号化/復号化の扱いを同様に実行することができる。
【0123】
より具体的には、第1のロボットと第2のロボットが協調コンテキスト鍵生成に合意したとする。このとき、合意条件は、対象、時間、場所などである。例えば、認識対象だとAlice、時間制限だと今から10分間、場所制限だとここから半径10キロメートル以内、などである。
【0124】
そこで合意の後、第1のロボットと第2のロボットはそれぞれ、実名−識別名対応表に、合意したエントリを生成し、コンテキスト鍵も生成する。例えば、第1のロボットが生成するコンテキスト鍵が、K_R1_Aliceであり、第2のロボットが生成するコンテキスト鍵が、K_R2_Aliceである。
【0125】
次に、第1のロボットと第2のロボットは互いに協調して大きな素数pと、それより小さい自然数gを決める。
【0126】
次に、第1のロボットは下記のyR1を計算して、第2のロボットに送る。
yR1 = gK_R1_Alice mod p
また、第2のロボットは下記のyR2を計算して、第1のロボットに送る。
yR2 = gK_R2_Alice mod p
【0127】
こうして、第1のロボットでは、下記を計算する。
K_R1-R2_Alice = yR2K_R1_Alice mod p
また、第2のロボットでは、下記を計算する。
K_R2-R1_Alice = yR1K_R2_Alice mod p
容易に見て取れるように、K_R1-R2_AliceとK_R2-R1_Aliceは同一になるので、協調コンテキスト鍵の共有が果たされたことになる。この後、協調コンテキストを暗号化する場合は、K_R1-R2_AliceまたはK_R2-R1_Aliceを用いる。好適には、協調コンテキスト鍵は、ロボットの実名−識別名対応表にフィールドを追加して格納される。
【0128】
以上、特定の実施例に基づき本発明を説明してきたが、本発明はこの特定の実施例に限定されるものではなく、例えば、対象を認識する装置として、ロボット以外にライフログ記録装置、監視カメラ装置など、画像認識と記録を行う任意の装置やシステムに適用可能である。
【0129】
また、コンテキスト鍵の暗号アルゴリズムは、AESに限定されず、DESなど、所定の暗号強度を満たす任意の暗号方式を採用することができる。
【符号の説明】
【0130】
212 画像センサ
216 マイク
220 アクチュエータ
222 インターフェース
224 スピーカ
226 通信カード
228 インターフェース
302 画像認識モジュール
304 音声認識モジュール
306 対象登録モジュール
310 実名−識別名対応表
312 対象識別モジュール
314 コンテキスト抽出モジュール
316 1次コンテキスト
318 識別名−時区間対応表作成モジュール
320 識別名−時区間対応表
322 送信データ作成モジュール
324 通信モジュール
326 鍵処理モジュール
328 コンテキスト参照モジュール
404 CPU
406 主記憶
408 ハードディスク・ドライブ
412 ディスプレイ
414 通信モジュール
416 無線LANカード
502 対象登録モジュール
504 暗号化コンテキスト送信モジュール
506 コンテキスト参照モジュール
508 コンテキスト復号モジュール
510 鍵取得モジュール
512 高次コンテキスト推定モジュール
514 コンテキスト暗号化モジュール
516 鍵削除モジュール
518 識別名−時区間対応表キャッシュ
520 識別名−鍵対応表キャッシュ
522 コンテキスト・キャッシュ

【特許請求の範囲】
【請求項1】
対象のコンテキストを生成し、複数のコンテキストから高次コンテキストを推定するためのシステムであって、
対象を検出するためのセンサと、該センサによって検出されたデータに基づき、対象とその1次コンテキストを抽出する手段と、該1次コンテキストを該対象に対応する鍵で暗号化する手段をもつ検出装置と、
前記記録装置から前記暗号化された1次コンテキストを記録する記憶装置と、
前記記憶装置から、前記暗号化された1次コンテキストを受け取る手段と、前記暗号化された1次コンテキストに関与する前記対象に対応する鍵を、前記検出装置から受け取る手段と、該受け取った鍵を用いて、前記暗号化された1次コンテキストを復号化する手段と、該復号された1次コンテキストを用いて、高次コンテキストを推定する手段をもつ処理装置とを備え、
前記処理装置は、前記検出装置に対して、特定の対象に対応する鍵の情報を削除するように要求する手段を有する、
システム。
【請求項2】
前記検出装置がロボットであり、前記センサが、画像センサ及びマイクを含む、請求項1に記載のシステム。
【請求項3】
前記検出装置が、前記対象の実名と、前記対象の識別名と、該対象に対応する鍵のエントリの第1の対応表を有する、請求項1に記載のシステム。
【請求項4】
前記検出装置が、前記抽出された1次コンテキストの時区間、及び該1次コンテキストに関連する対象の識別名のエントリの第2の対応表を有する、請求項3に記載のシステム。
【請求項5】
前記検出装置から前記記憶装置に送られる前記暗号化された1次コンテキストの情報に、該1次コンテキストの時区間の情報が、暗号化されない形式で追加される、請求項4に記載のシステム。
【請求項6】
前記記憶装置から、前記暗号化された1次コンテキストを受け取る手段は、1次コンテキストの時区間で前記記憶装置に対して問い合わせする、請求項5に記載のシステム。
【請求項7】
前記暗号化がAES暗号方式であり、前記鍵は128ビットである、請求項1に記載のシステム。
【請求項8】
前記検出装置を複数有し、該各検出装置が、異なる前記検出装置で検出される対象に対して、所定の条件の下で、協調コンテキスト鍵を作成する手段と、該条件に該当するコンテキストの暗号化に該協調コンテキスト鍵を使用する手段をさらに有する、請求項1に記載のシステム。
【請求項9】
前記記憶装置が、クラウド・コンピューティングのストレージ・サービスによって提供される、請求項1に記載のシステム。
【請求項10】
対象のコンテキストを生成し、複数のコンテキストから高次コンテキストを推定するための方法であって、
対象を検出するためのセンサと、該センサによって検出されたデータに基づき、対象とその1次コンテキストを抽出する手段と、該1次コンテキストを該対象に対応する鍵で暗号化する手段をもつ検出装置が、記憶装置に、前記暗号化された1次コンテキストを記録するステップと、
処理装置が、前記記憶装置から、前記暗号化された1次コンテキストを受け取るステップと、
前記処理装置が、前記暗号化された1次コンテキストに関与する前記対象に対応する鍵を、前記検出装置から受け取るステップと、
前記処理装置が、前記受け取った鍵を用いて、前記暗号化された1次コンテキストを復号化するステップと、前記検出装置に対して、特定の対象に対応する鍵の情報を削除するように要求するステップを有する、
方法。
【請求項11】
前記検出装置がロボットであり、前記センサが、画像センサ及びマイクを含む、請求項10に記載の方法。
【請求項12】
前記検出装置が、前記対象の実名と、前記対象の識別名と、該対象に対応する鍵のエントリの第1の対応表を有する、請求項10に記載の方法。
【請求項13】
前記検出装置が、前記抽出された1次コンテキストの時区間、及び該1次コンテキストに関連する対象の識別名のエントリの第2の対応表を有する、請求項12に記載の方法。
【請求項14】
前記検出装置から前記記憶装置に送られる前記暗号化された1次コンテキストの情報に、該1次コンテキストの時区間の情報が、暗号化されない形式で追加される、請求項13に記載の方法。
【請求項15】
前記記憶装置から、前記暗号化された1次コンテキストを受け取るステップは、1次コンテキストの時区間で前記記憶装置に対して問い合わせする、請求項14に記載の方法。
【請求項16】
前記暗号化がAES暗号方式であり、前記鍵は128ビットである、請求項10に記載の方法。
【請求項17】
前記検出装置を複数有し、該各検出装置が、異なる前記検出装置で検出される対象に対して、所定の条件の下で、協調コンテキスト鍵を作成するステップと、該条件に該当するコンテキストの暗号化に該協調コンテキスト鍵を使用するステップをさらに有する、請求項10に記載の方法。
【請求項18】
前記記憶装置が、クラウド・コンピューティングのストレージ・サービスによって提供される、請求項10に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2013−4050(P2013−4050A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−138026(P2011−138026)
【出願日】平成23年6月22日(2011.6.22)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】