(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-21
(45)【発行日】2022-01-31
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06F 7/58 20060101AFI20220124BHJP
G09C 1/00 20060101ALI20220124BHJP
【FI】
G06F7/58 680
G09C1/00 650B
(21)【出願番号】P 2018024867
(22)【出願日】2018-02-15
【審査請求日】2020-09-11
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100189913
【氏名又は名称】鵜飼 健
(72)【発明者】
【氏名】三澤 裕人
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2017-003900(JP,A)
【文献】特開2001-005383(JP,A)
【文献】米国特許出願公開第2010/0070549(US,A1)
【文献】米国特許出願公開第2014/0351303(US,A1)
【文献】特開2016-61915(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 7/58
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
IoT機器として、内部ネットワークを介して互いに接続される外部装置とデータを送受信するインターフェースと、
環境パラメータを測定するセンサと、
前記センサを用いて前記環境パラメータを測定し、前記環境パラメータに基づいて乱数を生成するための第1のシードを生成し、
前記インターフェースを通じて、前記外部装置から第2のシードを取得し、
前記第1のシードと前記第2のシードとを用いて乱数を生成する、
プロセッサと、
を備える情報処理装置。
【請求項2】
前記プロセッサは、
前記インターフェースを通じて、乱数を生成させる乱数生成命令を受信し、
前記乱数生成命令に従って前記乱数を生成する、
前記請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、
前記第1のシードの個数が前記乱数を生成するために必要なシードの個数よりも少ない場合に、前記インターフェースを通じて前記外部装置から前記第2のシードを取得する、
前記請求項1又は2に記載の情報処理装置。
【請求項4】
前記第1のシード及び前記第2のシードを格納するメモリを備え、
前記プロセッサは、所定の間隔で前記第1のシードを生成し、前記第1のシードを前記メモリに格納する、
前記請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記プロセッサは、
前記インターフェースを通じて、前記外部装置から前記第1のシードを要求するリクエストを受信し、
前記インターフェースを通じて、前記リクエストに従って前記第1のシードを前記外部装置に送信する、
前記請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
前記外部装置は、前記情報処理装置と同一のネットワークに接続する、
前記請求項1乃至5の何れか1項に記載の情報処理装置。
【請求項7】
前記環境パラメータは、温度である、
前記請求項1乃至6の何れか1項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置に関する。
【背景技術】
【0002】
近年、ネットワークに接続するカメラ、照明又はエアコンなどのIoT機器が提供されている。IoT機器は、他の装置とのデータの送受信などのため、温度などの環境パラメータに基づいて乱数を生成するものがある。
【0003】
従来、IoT機器は、センサなどのハードウエアの特性などによって環境パラメータの測定に偏りがあることがある。そのため、IoT機器は、生成する乱数の乱数性が低下するおそれがある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の課題を解決するため、乱数性の高い乱数を生成することができる情報処理装置を提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、情報処理装置は、インターフェースと、センサと、プロセッサと、を備える。インターフェースは、IoT機器として、内部ネットワークを介して互いに接続される外部装置とデータを送受信する。センサは、環境パラメータを測定する。プロセッサは、前記センサを用いて前記環境パラメータを測定し、前記環境パラメータに基づいて乱数を生成するための第1のシードを生成し、前記インターフェースを通じて、前記外部装置から第2のシードを取得し、前記第1のシードと前記第2のシードとを用いて乱数を生成する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係る通信システムの構成例を示すブロック図である。
【
図2】
図2は、実施形態に係る機器の構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る情報処理システムの動作例を示すシーケンス図である。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照して説明する。
実施形態に係る通信システムは、サーバと機器(IoT機器)とを通信可能に接続する。機器は、種々の動作を行う。たとえば、機器は、カメラ、センサ又は家電などである。サーバは、機器を管理する。
【0009】
図1は、通信システム1の構成例を示すブロック図である。
図1が示すように、通信システム1は、サーバ10、ルータ20、第1の機器31、第2の機器32、第3の機器33及びネットワーク40などから構成される。
【0010】
サーバ10は、ネットワーク40に接続する。ルータ20は、ネットワーク40に接続する。ルータ20と第1の機器31、第2の機器32及び第3の機器33とは、LANなどの内部ネットワークを介して互いに接続する。
【0011】
なお、通信システム1は、
図1が示すような構成の他に必要に応じた構成を具備したり、通信システム1から特定の構成が除外されたりしてもよい。
【0012】
サーバ10は、第1の機器31、第2の機器32及び第3の機器33を管理する。サーバ10は、ネットワーク40を介して第1の機器31、第2の機器32及び第3の機器33とデータを送受信する。たとえば、サーバ10は、ネットワーク40を介して第1の機器31、第2の機器32及び第3の機器33に対してコマンドを送信する。また、サーバ10は、第1の機器31、第2の機器32及び第3の機器33からデータを受信する。
【0013】
サーバ10は、第1の機器31、第2の機器32及び第3の機器33に対して乱数を生成させる乱数生成命令を送信する。たとえば、乱数生成命令は、データを暗号化するための鍵を生成させる命令である。たとえば、乱数生成命令は、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)又はRSAなどの鍵を生成させる命令である。なお、乱数生成命令の構成は、特定の構成に限定されるものではない。
【0014】
ルータ20は、第1の機器31、第2の機器32及び第3の機器33とネットワーク40との間の通信を制御する。ルータ20は、ネットワーク40を介して第1の機器31、第2の機器32及び第3の機器33とサーバ10との間でデータを中継する。
【0015】
また、ルータ20は、第1の機器31、第2の機器32及び第3の機器33の間の通信を制御する。
ルータ20は、第1の機器31、第2の機器32及び第3の機器33とデータを送受信するためのネットワーク(ローカルエリアネットワーク(LAN))を形成する。
【0016】
第1の機器31(情報処理装置)は、サーバ10とデータを送受信する端末である。第1の機器31は、家庭又はオフィスなどに設置される。たとえば、第1の機器31は、カメラ、センサ、車両又は家電(照明、掃除機、エアコン又は空気清浄機など)などのIoT機器である。
【0017】
第2の機器32及び第3の機器33は、第1の機器31を同様である。なお、第2の機器32及び第3の機器33は、第1の機器31と同一の機器でなくともよい。
【0018】
ネットワーク40は、サーバ10とルータ20と間などでデータを送受信するための通信網である。たとえば、ネットワーク40は、インターネットである。また、ネットワーク40は、独自の通信網であってもよい。
なお、サーバ10は、ルータ20が形成するネットワークに接続するものであってもよい。
【0019】
次に、第1の機器31、第2の機器32及び第3の機器33について説明する。
まず、第1の機器31について説明する。
【0020】
図2は、第1の機器31の構成例を示すブロック図である。
図2が示すように、第1の機器31は、基本的な構成として、プロセッサ311、ROM312、RAM313、NVM314、通信部315及び環境センサ316などを備える。
【0021】
これらの各部は、データバスを介して互いに接続される。なお、第1の機器31は、
図2が示すような構成の他に必要に応じた構成を具備したり、特定の構成を除外したりしてもよい。
【0022】
プロセッサ311は、第1の機器31全体の動作を制御する機能を有する。プロセッサ311は、内部メモリ及び各種のインターフェースなどを備えてもよい。プロセッサ311は、内部メモリ、ROM312又はNVM314が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0023】
なお、プロセッサ311がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、プロセッサ311は、ハードウエア回路により実行される機能を制御する。
【0024】
ROM312は、予め制御用のプログラム及び制御データなどが記憶された不揮発性のメモリである。ROM312に記憶される制御プログラム及び制御データは、予め第1の機器31の仕様に応じて組み込まれる。ROM312は、たとえば、第1の機器31の回路基板を制御するプログラムなどを格納する。
【0025】
RAM313は、揮発性のメモリである。RAM313は、プロセッサ311の処理中のデータなどを一時的に格納する。RAM313は、プロセッサ311からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM313は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0026】
NVM314は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM314は、例えば、ハードディスク、SSD、EEPROM(登録商標)又はフラッシュメモリなどにより構成される。NVM314は、第1の機器31の運用用途に応じてプログラム、アプリケーション及び種々のデータを格納する。
【0027】
NVM314は、シードを格納する記憶領域314aなどを備える。
シードは、乱数を生成するための数値である。たとえば、プロセッサ311は、シードを所定の関数に代入して乱数を生成する。ここでは、シードは、2桁の整数である。なお、シードの構成は、特定の構成に限定されるものではない。
記憶領域314aは、複数のシードを格納する。
【0028】
通信部315は、外部装置とデータを送受信するためのインターフェースである。ここでは、通信部315は、有線又は無線でルータ20とデータを送受信するためのインターフェースである。通信部315は、プロセッサ311からの信号に従って所定のデータをルータ20へ送信する。また、通信部315は、ルータ20から受信したデータをプロセッサ311へ送信する。
たとえば、通信部315は、LAN接続、Bluetooth(登録商標)接続又はUSB接続をサポートするものであってもよい。
【0029】
環境センサ316は、環境パラメータ(たとえば、環境ノイズ)を測定するセンサである。環境センサ316は、第1の機器31の内部又は外部の環境パラメータを測定する。環境パラメータは、環境の状態を示す値である。たとえば、環境パラメータは、温度、湿度、圧力又は加速度などである。なお、環境パラメータの内容は、特定の構成に限定されるものではない。
【0030】
次に、第2の機器32及び第3の機器33について説明する。
第2の機器32は、基本的な構成として、プロセッサ321、ROM322、RAM323、NVM324、通信部325及び環境センサ326などを備える。NVM324は、記憶領域324aなどを備える。プロセッサ321、ROM322、RAM323、NVM324、記憶領域324a、通信部325及び環境センサ326は、第1の機器31が備えるそれらと同様であるため説明を省略する。
【0031】
また、第3の機器33は、基本的な構成として、プロセッサ331、ROM332、RAM333、NVM334、通信部335及び環境センサ336などを備える。NVM334は、記憶領域334aなどを備える。プロセッサ331、ROM332、RAM333、NVM334、記憶領域334a、通信部335及び環境センサ336は、第1の機器31が備えるそれらと同様であるため説明を省略する。
【0032】
なお、環境センサ326及び336は、環境センサ316と異なる環境パラメータを測定してもよいし、同一の環境パラメータを測定してもよい。
【0033】
次に、第1の機器31、第2の機器32及び第3の機器33が実現する機能について説明する。第1の機器31、第2の機器32及び第3の機器33が実現する機能は、同様であるため、ここでは、第1の機器31が実現する機能について説明する。
【0034】
まず、プロセッサ311は、環境パラメータに基づいてシード(第1のシード)を生成する機能を有する。
プロセッサ311は、環境センサ316を用いて環境パラメータを測定する。環境パラメータを測定すると、プロセッサ311は、環境パラメータに基づいてシードを生成する。たとえば、プロセッサ311は、環境パラメータの値の所定の2桁(たとえば、小数点以下2桁)を整数化する。プロセッサ311は、整数化した値をシードとして取得する。
【0035】
たとえば、環境パラメータが温度である場合、プロセッサ311は、測定された温度の小数点以下2桁を整数化した値をシードとして取得する。
【0036】
プロセッサ311は、所定の間隔でシードを生成する。たとえば、プロセッサ311は、1秒間隔でシードを生成する。
また、プロセッサ311は、生成したシードを記憶領域314aに格納する。
【0037】
また、プロセッサ311は、外部装置からシード(第2のシード)を取得する機能を有する。ここでは、プロセッサ311は、外部装置として第2の機器32又は第3の機器33からシードを取得する。
【0038】
プロセッサ311は、ネットワーク40を通じてサーバ10から乱数生成命令を受信する。乱数生成命令を受信すると、プロセッサ311は、乱数生成命令に従って乱数を生成するために必要なシードの個数を特定する。必要なシードの個数を特定すると、プロセッサ311は、記憶領域314aに格納されるシードの個数が必要なシードの個数以上であるか判定する。
【0039】
記憶領域314aに格納されるシードの個数が必要なシードの個数より少ないと判定すると、プロセッサ311は、通信部315を通じて外部装置にシードを要求するリクエストを送信する。
【0040】
たとえば、プロセッサ311は、記憶領域314aに格納されるシードの個数と必要なシードの個数との差分(不足数)を算出する。プロセッサ311は、要求するシードの個数として不足数を指定するリクエストを送信する。
【0041】
また、プロセッサ311は、不足数を外部装置の個数(自身を除く機器の個数)で割った値に基づいてリクエストを生成してもよい。プロセッサ311は、要求するシードの個数として当該値を指定するリクエストを送信する。
【0042】
また、プロセッサ311は、記憶領域314aに格納可能な個数と現在格納される個数の差分(空き数)に基づいてリクエストを生成してもよい。プロセッサ311は、空き数を外部装置の個数(自身を除く機器の個数)で割った値を算出する。プロセッサ311は、要求するシードの個数として当該値を指定するリクエストを送信する。
【0043】
プロセッサ311は、通信部315を通じて、リクエストに対するレスポンスとして外部装置からシードを受信する。シードを受信すると、プロセッサ311は、受信したシードを記憶領域314aに格納する。
【0044】
また、プロセッサ311は、記憶領域314aが格納するシードに基づいて乱数を生成する機能を有する。即ち、プロセッサ311は、必要な個数のシードが記憶領域314aにない場合、自身が生成したシードと外部装置から取得されたシードとに基づいて乱数を生成する。
【0045】
プロセッサ311は、乱数生成命令に従って乱数を生成するために必要な個数のシードを記憶領域314aから取得する。シードを取得すると、プロセッサ311は、取得したシードに基づいて乱数を生成する。たとえば、プロセッサ311は、シードを所定の関数に代入して乱数を生成する。
【0046】
プロセッサ311は、生成した乱数を所定の処理に用いる。たとえば、プロセッサ311は、データを暗号化するための鍵として乱数を用いる。また、プロセッサ311は、サーバ10とのデータ通信などのために乱数又は乱数に基づいて得られた数値をサーバ10へ送信してもよい。また、プロセッサ311は、チャレンジレスポンス認証のチャレンジ生成のために乱数を用いてもよい。プロセッサ311が乱数を用いて行う処理は、特定の構成に限定されるものではない。
【0047】
また、プロセッサ311は、外部装置からのリクエストに従ってシードを外部装置に送信する機能を有する。
プロセッサ311は、通信部315を通じて外部装置(ここでは、第2の機器32又は第3の機器33)から所定の個数のシードを要求するリクエストを受信する。リクエストを受信すると、プロセッサ311は、リクエストによって指定される個数のシードを記憶領域314aから取得する。シードを取得すると、プロセッサ311は、通信部315を通じて、取得したシードを含むレスポンスを外部装置に送信する。
【0048】
なお、プロセッサ311は、リクエストによって指定される個数のシードが記憶領域314aにない場合、エラーを示すレスポンスを送信してよい。また、この場合、プロセッサ311は、記憶領域314aからシードを取得して、取得したシードを含むレスポンスを外部装置に送信してもよい。
また、プロセッサ311は、外部装置に送信したシードを記憶領域314aから削除する。
【0049】
次に、通信システム1の動作例について説明する。
図3は、通信システム1の動作例について説明するためのシーケンス図である。
【0050】
第1の機器31のプロセッサ311は、環境パラメータを測定してシードを生成し記憶領域314aに格納する(S11)。プロセッサ311は、所定の間隔でシードを生成する。また、第2の機器32のプロセッサ321は、環境パラメータを測定してシードを生成し記憶領域324aに格納する(S12)。同様にプロセッサ321は、所定の間隔でシードを生成する。
【0051】
また、第3の機器33のプロセッサ331は、環境パラメータを測定してシードを生成し記憶領域334aに格納する。(S13)。同様にプロセッサ331は、所定の間隔でシードを生成する。
【0052】
サーバ10は、所定のタイミングで乱数生成命令を第1の機器31に送信する(S14)。
第1の機器31のプロセッサ311は、通信部315を通じて当該乱数生成命令を受信する。乱数生成命令を受信すると、プロセッサ311は、記憶領域314aに格納されるシードの個数が乱数生成命令に必要なシードの個数以上であるか判定する(S15)。
【0053】
格納されるシードの個数が必要なシードの個数より少ないと判定すると(S15、NO)、プロセッサ311は、通信部315を通じて第2の機器32にシードを要求するリクエストを送信する(S16)。
【0054】
第2の機器32にシードを要求するリクエストを送信すると、プロセッサ311は、通信部315を通じて第3の機器33にシードを要求するリクエストを送信する(S17)。
なお、プロセッサ311は、S16及びS17を同時に行ってもよい。
【0055】
第2の機器32のプロセッサ321は、通信部325を通じてリクエストを受信する。リクエストを受信すると、プロセッサ321は、通信部325を通じてシードを第1の機器31に送信する(S18)。
【0056】
第3の機器33のプロセッサ331は、通信部335を通じてリクエストを受信する。リクエストを受信すると、プロセッサ331は、通信部335を通じてシードを第1の機器31に送信する(S19)。
【0057】
第1の機器31のプロセッサ331は、通信部315を通じて第2の機器32及び第3の機器33からそれぞれシードを受信する。シードを受信すると、プロセッサ331は、受信したシードを記憶領域314aに格納する(S20)。
【0058】
格納されるシードの個数が必要なシードの個数以上であると判定した場合(S15、YES)、又は、受信したシードを記憶領域314aに格納した場合(S20)、プロセッサ311は、乱数生成命令に従って乱数を生成する(S21)。
【0059】
なお、プロセッサ311は、乱数を生成した後、所定の処理を行ってもよい。また、通信システム1は、プロセッサ311が所定の処理を行った後に、S11に戻ってもよい。
【0060】
また、プロセッサ311は、記憶領域314aに格納されるシードの個数に関わらず、外部装置からシードを取得してもよい。即ち、プロセッサ311は、S15を行わず、S16乃至S20を実行してもよい。
【0061】
また、プロセッサ311は、予め外部装置からシードを取得してもよい。たとえば、プロセッサ311は、乱数生成命令の受信を予期できた場合又は所定のタイミングで外部装置からシードを取得する。
【0062】
また、プロセッサ311は、各外部装置からそれぞれ異なる個数のシードを取得してもよい。たとえば、プロセッサ311は、外部装置のシード生成能力に応じて取得するシードの個数を決定してもよい。また、プロセッサ311は、各外部装置からランダムに異なる個数のシードを取得してもよい。
【0063】
また、通信システム1は、ルータ20に接続する機器として2つの機器を備えてもよい。また、通信システム1は、ルータ20に接続する機器として4つ以上の機器を備えてもよい。通信システム1がルータ20に接続する機器として備える機器の個数は、特定の個数に限定されるものではない。
【0064】
以上のように構成された通信システムは、所定の機器に他の機器からシードを送信する。当該所定の機器は、自身で生成したシードと他の機器からのシードとを格納する。その結果、当該所定の機器は、偏りの少ないシードの偏りを取得することができる。そのため、通信システムは、当該所定の機器に乱数性の高い乱数を生成させることができる。
【0065】
また、通信システムは、所定の機器のシードが足りない場合に所定の機器に他の機器からシードを送信する。その結果、通信システムは、当該所定の機器に不足分のシードを生成させるよりも高速に当該所定の機器で乱数を生成することができる。
【0066】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
外部装置とデータを送受信するインターフェースと、
環境パラメータを測定するセンサと、
前記センサを用いて前記環境パラメータを測定し、前記環境パラメータに基づいて乱数を生成するための第1のシードを生成し、
前記インターフェースを通じて、前記外部装置から第2のシードを取得し、
前記第1のシードと前記第2のシードとを用いて乱数を生成する、
プロセッサと、
を備える情報処理装置。
[C2]
前記プロセッサは、
前記インターフェースを通じて、乱数を生成させる乱数生成命令を受信し、
前記乱数生成命令に従って前記乱数を生成する、
前記C1に記載の情報処理装置。
[C3]
前記プロセッサは、
前記第1のシードの個数が前記乱数を生成するために必要なシードの個数よりも少ない場合に、前記インターフェースを通じて前記外部装置から前記第2のシードを取得する、
前記C1又は2に記載の情報処理装置。
[C4]
前記第1のシード及び前記第2のシードを格納するメモリを備え、
前記プロセッサは、所定の間隔で前記第1のシードを生成し、前記第1のシードを前記メモリに格納する、
前記C1乃至3の何れか1項に記載の情報処理装置。
[C5]
前記プロセッサは、
前記インターフェースを通じて、前記外部装置から前記第1のシードを要求するリクエストを受信し、
前記インターフェースを通じて、前記リクエストに従って前記第1のシードを前記外部装置に送信する、
前記C1乃至4の何れか1項に記載の情報処理装置。
[C6]
前記外部装置は、前記情報処理装置と同一のネットワークに接続する、
前記C1乃至5の何れか1項に記載の情報処理装置。
[C7]
前記環境パラメータは、温度である、
前記C1乃至6の何れか1項に記載の情報処理装置。
【符号の説明】
【0067】
1…通信システム、10…サーバ、20…ルータ、31…第1の機器、32…第2の機器、33…第3の機器、40…ネットワーク、311…プロセッサ、314…NVM、314a…記憶領域、315…通信部、316…環境センサ、321…プロセッサ、324…NVM、324a…記憶領域、325…通信部、326…環境センサ、331…プロセッサ、334…NVM、334a…記憶領域、335…通信部、336…環境センサ。