JP2024090051A - 情報処理装置および通信システム - Google Patents
情報処理装置および通信システム Download PDFInfo
- Publication number
- JP2024090051A JP2024090051A JP2022205691A JP2022205691A JP2024090051A JP 2024090051 A JP2024090051 A JP 2024090051A JP 2022205691 A JP2022205691 A JP 2022205691A JP 2022205691 A JP2022205691 A JP 2022205691A JP 2024090051 A JP2024090051 A JP 2024090051A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- data
- processing device
- communication
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 447
- 230000006854 communication Effects 0.000 title claims abstract description 378
- 238000004891 communication Methods 0.000 title claims abstract description 375
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 73
- 238000000034 method Methods 0.000 description 48
- 238000012545 processing Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 39
- 230000004044 response Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000012795 verification Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 238000009420 retrofitting Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009385 viral infection Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 データの秘匿性を確保できる情報処理装置および通信システムを提供する。【解決手段】 実施形態によれば、通信システムは、第1の情報処理装置と第2の情報処理装置とを有する。第1の情報処理装置は、第1通信部と第2通信部と第1制御部とを有する。第2の情報処理装置は、第3通信部と第4通信部と第2制御部とを有する、第1通信部は、機器に接続する。第2通信部は、ネットワークに接続する。第1制御部は、第1通信部により機器から取得したデータを複数の分割データに分割し、複数の分割データを第2通信部によりネットワークを経由して複数のデータベースに分散して送信する。第3通信部は、サーバ装置に接続する。第4通信部は、ネットワークに接続する。第2制御部は、第4通信部によりネットワークを経由して複数のデータベースから収集する分割データによって復元したデータを第3通信部によりサーバ装置へ送信する。【選択図】図2
Description
本発明の実施形態は、情報処理装置および通信システムに関する。
近年、IoT技術を活用して様々なデバイスをネットワークにつなげるシステムが提案されている。例えば、工場、発電所あるいは鉄道などで運転や点検時の様々な稼働データを収集してAI(人工知能)にて分析することによって事前に故障の兆候などを検知する予防保全や設備の効率運用を実現するための通信システムが提案されている。
このような通信システムを新たに構築するには、様々なデータをネットワーク経由で収集する必要があるために、既存の独自ネットワーク内で運用していたシステムをオープンなネットワークにつなげる必要性が生じることがある。既存の独自ネットワークで運用していたシステムをオープンなネットワークに接続する場合、不正なアクセスに対応するために、新たにオープンなネットワークに接続するデバイス自体にセキュリティ対策を組み込むことでセキュリティを強化することが考えられる。ただし、既に稼働している既存のデバイスに変更を加えることは、デバイス自体の取り替えなどの必要が生じるためコストや可用性の点で実現困難な場合が多い。
従来、既存のデバイスに変更を加えずに通信経路の機密性および完全性を担保するために、既存のデバイスとネットワークとの間に接続される情報処理装置が開発されている。このような情報処理装置は、デバイスにおける通信の振る舞いを観察することによりデバイスへの攻撃やウイルス感染などを検知した場合に攻撃者の通信を遮断する機能を備えている。
また、様々な機器が得たデータをデータベースに保存し、データベースに保存したデータを用いてサーバ装置が分析や機械学習を行うシステムがある。このようなシステムにおいて、既存の機器とネットワークとの間に接続される情報処理装置は、既存の機器からネットワーク上のデータベースへのデータ伝送をセキュアに実施させることができる。また、既存のサーバ装置とネットワークとの間に接続される情報処理装置は、データベースからサーバ装置へのデータ伝送をセキュアに実施させることができる。
しかしながら、データベースに保管したデータは、流出等のリスクを完全になくすことが難しい。従来のシステムでは、個人情報などのデータがデータベースから流出した場合にプライバシー保護などの面からも大きな問題となることがある。このため、通信システムでは、データ通信におけるセキュリティを維持するだけでなく、データを秘匿することによってプライバシーなどのデータの保護を実現できるものが要望されている。
本発明が解決しようとする課題は、データの秘匿性を確保できる情報処理装置および通信システムを提供することである。
実施形態によれば、通信システムは、第1の情報処理装置と第2の情報処理装置とを有する。第1の情報処理装置は、第1通信部と第2通信部と第1制御部とを有する。第2の情報処理装置は、第3通信部と第4通信部と第2制御部とを有する、第1通信部は、機器に接続する。第2通信部は、ネットワークに接続する。第1制御部は、第1通信部により機器から取得したデータを複数の分割データに分割し、複数の分割データを第2通信部によりネットワークを経由して複数のデータベースに分散して送信する。第3通信部は、サーバ装置に接続する。第4通信部は、ネットワークに接続する。第2制御部は、第4通信部によりネットワークを経由して複数のデータベースから収集する分割データによって復元したデータを第3通信部によりサーバ装置へ送信する。
以下、実施形態について、図面を参照して説明する。
図1は、実施形態に係る情報処理装置13を有する通信システムの構成例を示す図である。
通信システム1は、機器(IoTデバイス、端末装置)11(11A1、11A2、11A3)、サーバ装置12、情報処理装置13(13A1、13A2、13A3、13B、13C1、13C2、…、13Cn)、通信管理装置14、複数のデータベース(DB)15(151、152、…、15n)、ゲートウエイ17、および、ネットワーク18を備える。図1に示す構成例において、ゲートウエイ17およびネットワーク18をまとめてネットワークNWとも称するものとする。
図1は、実施形態に係る情報処理装置13を有する通信システムの構成例を示す図である。
通信システム1は、機器(IoTデバイス、端末装置)11(11A1、11A2、11A3)、サーバ装置12、情報処理装置13(13A1、13A2、13A3、13B、13C1、13C2、…、13Cn)、通信管理装置14、複数のデータベース(DB)15(151、152、…、15n)、ゲートウエイ17、および、ネットワーク18を備える。図1に示す構成例において、ゲートウエイ17およびネットワーク18をまとめてネットワークNWとも称するものとする。
通信システム1において、各情報処理装置13(13A1、13A2、13A3、13B、13C1、13C2、…、13Cn)は、機器あるいは装置とネットワーク18との間に接続される。例えば、各情報処理装置13A1、13A2、13A3、13Bは、機器11、サーバ装置12、通信管理装置14、および、ゲートウエイ17を備える既存のシステムにおいて図1に示すような位置に接続される。すなわち、情報処理装置13A1、13A2、13A3、13Bは、機器11とサーバ装置12とがネットワークを介して通信する既存のシステムに対して各装置の構成を変更せずに可用性を維持したままで通信システム1を構築するように設置される。
さらに、本実施形態に係る通信システム1は、複数のデータベース(データベースサーバ)15(151、152、…、15n)を有する。データベース15(151、152、…、15n)は、制御部、通信部および記憶装置などを備えるサーバ(コンピュータ)である。各データベース15(151、152、…、15n)は、それぞれが情報処理装置13C(13C1、13C2、…、13Cn)を介してネットワーク18に接続される。
本実施形態において、情報処理装置13Cは、後述する情報処理装置13Aおよび情報処理装置13Bと同様な構成を備えるものとする。ただし、情報処理装置13Cは、情報処理装置13Aおよび情報処理装置13Bと同様な構成を備えるものに限定されるものではない。情報処理装置13Cは、情報処理装置13Aあるいは情報処理装置13Bと相互認証を実行し、相互認証が成功した場合にデータを送受信する通信制御装置であれば良い。
各情報処理装置13(13A1、13A2、13A3、13B、13C1、13C2、…、13Cn)は、図1に示すように、機器11、サーバ装置12およびデータベース15の通信経路に接続するための第1ポート(例えば、第1のLANポート)21と第2ポート(例えば、第2のLANポート)22とを備える。第1ポート21は、ネットワーク側に接続される。また、第2ポート22は、機器11、サーバ装置12、データベース15などの装置側に接続される。例えば、情報処理装置13Aは、第1ポート21Aをゲートウエイ17(ネットワークNW)側に接続し、第2ポート22Aを機器11側に接続することにより、機器11とネットワークNWとの間に接続される。
各機器11は、それぞれ機器側の情報処理装置(第1の情報処理装置)13Aを介してネットワークNWと接続する。サーバ装置12は、サーバ側の情報処理装置(第2の情報処理装置)13Bを介してネットワークNWと接続する。すなわち、各機器11とサーバ装置12とは、それぞれに接続された情報処理装置13およびネットワークNWなどを介して通信するように構成される。
機器11は、様々なデータを取得するデバイス(IoTデバイス、端末装置、センサ、カメラ、クライアント端末など)である。例えば、機器11は、センサなどでデータを取得するデバイスであっても良いし、オペレータが入力するデータを取得するデバイスであっても良い。例えば、機器11は、取得したデータをサーバ装置12宛のデータとして出力する。また、機器11は、サーバ装置12の制御情報に応じて動作を制御する機能を有するものであっても良い。
サーバ装置12は、機器11が取得したデータを収集し、収集したデータを用いて分析や機械学習などの情報処理を行う。例えば、サーバ装置12は、各機器11から収集したデータを分析するデータ分析装置である。また、サーバ装置12は、機器11に対して制御情報を送信するようにしても良い。
機器側の情報処理装置13A(13A1、13A2、13A3)は、機器11(111、112、113とネットワークNWとの間に接続される。機器側の情報処理装置13A(13A1、13A2、13A3)は、それぞれネットワークNW側のインターフェース接続部としての第1ポート21A(21A1、21A2、21A3)と機器側のインターフェース接続部としての第2ポート22A(22A1、22A2、22A3)とを有する。第1ポート21Aおよび第2ポート22Aは、例えば、LANポートである。図1に示す構成例において、第1ポート21Aには、ゲートウエイ17が接続され、第2ポート22Aには、それぞれ機器11Aが接続される。
機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとは、機器11とサーバ装置12との間のデータの送受信を仲介する。情報処理装置13Aは、機器11によりサーバ装置12に対して送信すべきデータを取得する。情報処理装置13Aは、機器11から取得したデータをサーバ装置12宛のデータとして出力する。本実施形態において、情報処理装置13Aは、機器11から取得したデータを通信設定に従って複数のデータベース15へ分散して送信する。情報処理装置13Aは、機器11から取得したデータ通信設定で設定される分割数に分割し、分割したデータ(分割データ)を複数のデータベース15にそれぞれ送信する。
例えば、機器側の情報処理装置13Aは、サーバ側の情報処理装置13Bが復号可能な暗号鍵を用いて暗号化した分割データを各データベース側の情報処理装置13Cへ送信する。データベース(DB)側の情報処理装置13Cは、情報処理装置13Aからのデータをパススルーしてデータベース15へ送信する。この場合、データベース15は、情報処理装置13Aが暗号化した分割データをそのまま保存でき、サーバ側の情報処理装置13Bは、情報処理装置13Cを介してデータベース15に保存した情報処理装置13Aが暗号化したデータを取得することができる。
ただし、機器側の情報処理装置13Aとデータベース側の情報処理装置13Cとは、相互認証を実行した後に暗号鍵方式によりデータの暗号化および復号化を行うようにしても良い。また、データベース側の情報処理装置13Cとサーバ側の情報処理装置13Bとも、相互認証を実行した後にデータの暗号化および復号化を行うようにしても良い。この場合、機器側の情報処理装置13Aとデータベース側の情報処理装置13Cとの間の通信、および、DB側の情報処理装置13Cとサーバ側の情報処理装置13Bとの間の通信は、それぞれセキュアに実施することができる。
また、機器側の情報処理装置13Aは、サーバ装置12から機器11に対して送信されるデータを取得し、取得したデータを機器11に対して出力する。サーバ装置12から機器11宛のデータを送信する場合、サーバ側の情報処理装置13Bと機器側の情報処理装置13Aとは、機器11からのデータをサーバ装置12へ送信する場合と同様に、複数のデータベース15を介してデータを送受信するようにしても良い。
サーバ側の情報処理装置13Bは、サーバ装置12とネットワークNWとの間に接続される。サーバ側の情報処理装置13Bは、ネットワークNW側のインターフェース接続部としての第1ポート21Bとサーバ側のインターフェース接続部としての第2ポート22Bとを有する。第1ポート21Bには、ネットワーク18が接続され、第2ポート22Bには、サーバ装置12が接続される。
サーバ側の情報処理装置13Bは、サーバ装置12から機器11への制御情報などのデータを取得し、取得したデータを機器11に対して送信する。ここで、サーバ側の情報処理装置13Bは、サーバ装置12から取得した機器11宛のデータを情報処理装置13Aが復号可能な暗号化データにして宛先の機器11に接続された情報処理装置13Aに送信する。これにより、機器11は、ネットワーク上をセキュアに伝送されるサーバ装置12からのデータを受信することができる。
なお、サーバ側の情報処理装置13Bは、上述した機器側の情報処理装置13Aと同様に、サーバ装置12からの機器11宛のデータを複数のデータベース15に分散して送信するようにしても良い。この場合、情報処理装置13Bから各データベース15に分散して送信されたデータは、機器側の情報処理装置13Aが収集して宛先の機器11へ供給するようにすれば良い、
各情報処理装置13は、例えば、SSL(Secure Socket Layer)/TLS(Trans port Layer Security)のプロトコルによる暗号化を実行する。情報処理装置13は、例えば、SSL/TLSプロトコルを、HTTP(Hypertext Transfer Protocol)と組み合わせることで、HTTPに含まれるデータを暗号化し、安全性を向上させたHTTPS(HTTP Secure)に置き換える。
各情報処理装置13は、例えば、SSL(Secure Socket Layer)/TLS(Trans port Layer Security)のプロトコルによる暗号化を実行する。情報処理装置13は、例えば、SSL/TLSプロトコルを、HTTP(Hypertext Transfer Protocol)と組み合わせることで、HTTPに含まれるデータを暗号化し、安全性を向上させたHTTPS(HTTP Secure)に置き換える。
なお、情報処理装置13が行うデータの暗号化は、HTTPをHTTPSとすることに限定されない。情報処理装置13は、SSL/TLSプロトコルを種々の通信プロトコルと組み合わせることにより、安全性を向上させたセキュアな通信プロトコルに置き換えてもよい。例えば、情報処理装置13は、FTP(File Transfer Protocol)をFTPS(FTP Secure)に置き換えてもよい。
通信システム1において、情報処理装置13により暗号化されたデータがネットワークNWに出力される。換言すると、通信システム1におけるネットワークNWを流れるデータは、何れかの情報処理装置13によって暗号化されたデータである。このため、ネットワークNWで送受信されるデータに対し、外部から悪意をもってアクセスされデータが盗聴されてしまうような危険を回避し、安全性を向上させる。なお、ここでいうデータの盗聴とは、「データを盗み見る行為」又は「データを抜き取る行為」をいう。
通信管理装置14は、各情報処理装置13間の通信を管理するためのサーバ装置である。例えば、通信管理装置14は、プライベート認証局としても機能する。通信管理装置14は、各情報処理装置13に対し、クライアント証明書および秘密鍵を発行する。
図1に示す構成例において、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとが暗号化通信を行う場合、通信管理装置14は、情報処理装置13Aに装着するICカードに記憶するクライアント証明書および秘密鍵を発行する。例えば、機器側の情報処理装置13Aに認証部およびセキュアな記憶部を備えるICカードが装着される場合、通信管理装置14は、情報処理装置13Aに対してICカードに記憶させるクライアント証明書および秘密鍵をネットワークNWを介して送信する。
また、通信管理装置14は、サーバ側の情報処理装置13Bに対して、サーバ証明書、および秘密鍵を発行する。サーバ側の情報処理装置13Bに認証部およびセキュアな記憶部を備えるICカードが装着される場合、通信管理装置14は、サーバ側の情報処理装置13Bに対してICカードに記憶させるサーバ証明書および秘密鍵をネットワークNWを介して送信する。クライアント証明書、サーバ証明書および秘密鍵のそれぞれは、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとが暗号化通信を行う場合に用いる共通鍵(セッション鍵)を決定するために必要な情報である。
ここで、機器11およびサーバ装置12の例について説明する。
機器11とサーバ装置12とは、例えば、社会インフラシステムを構築する構成要素(コンポーネント)である。社会インフラとは、道路交通網、発電設備、配送電設備、水処理設備、又はガス配給設備等などの社会基盤を整えるために必要な設備である。社会インフラシステムとは、例えば、社会インフラを監視し、状況の変化を把握し、その変化に対応することにより、社会インフラを安定的に動作させる仕組みである。
機器11とサーバ装置12とは、例えば、社会インフラシステムを構築する構成要素(コンポーネント)である。社会インフラとは、道路交通網、発電設備、配送電設備、水処理設備、又はガス配給設備等などの社会基盤を整えるために必要な設備である。社会インフラシステムとは、例えば、社会インフラを監視し、状況の変化を把握し、その変化に対応することにより、社会インフラを安定的に動作させる仕組みである。
具体例として、道路や公共設備などを映像で監視する監視システムである場合、機器11は、道路の状況等を監視するために撮像された撮像データをネットワークNWを介して送信する装置(ネットワーク監視カメラ)であり、サーバ装置12は、機器11により送信された撮像データをネットワークNWを介して受信する装置である。また、機器11とサーバ装置12とは、発電設備や配送電設備における電力状況をモニタリングするシステムのコンポーネントであっても良い。また、機器11とサーバ装置12とは、物流センタにおける配送状況を取得するシステムのコンポーネントであっても良い。また、機器11とサーバ装置12とは、工場や研究機関における設備の稼働状況を取得するシステム等のコンポーネントであっても良い。
なお、監視システムやモニタリングシステムなどの社会インフラシステムは、機器11とサーバ装置12をコンポーネントとする通信システムの例であり、機器11とサーバ装置12は、社会インフラシステムのコンポーネントに限定されるものではない。
機器11は、NW(ネットワーク)通信部、デバイス制御部およびデータ取得部などを有する。NW通信部は、データ通信を行うための通信インターフェースである。NW通信部は、ネットワークを介して外部装置と通信可能とするイーサネット(登録商標)などの通信インターフェースである。言い換えると、機器11は、NW通信部によりネットワークに接続される装置と通信可能な構成を備えるデバイスである。
本実施形態に係る通信システム1においては、機器11のNW通信部は、情報処理装置13に接続され、情報処理装置13を介してネットワークNWに接続されるサーバ装置12と通信する構成となっている。すなわち、本実施形態に係る通信システム1は、機器11とサーバ装置12とがネットワークを介して通信可能に構成される既存のシステムに対して、後付で機器11とネットワークNWとの間に情報処理装置13Aを接続し、サーバ装置12とネットワークNWとの間に情報処理装置13Bを接続することで構築できるシステムである。
デバイス制御部は、例えば、CPUなどを含むプロセッサであり、機器11を統括的に制御する。デバイス制御部は、例えば、サーバ装置12からの制御に従い、データ取得部によるデータの取得を開始又は停止させたり、データ取得部に対する動作設定などを実行したりする。データ取得部は、デバイス制御部の指示に従って動作することにより、データを取得し、取得したデータを制御部に出力する。デバイス制御部は、データ取得部で取得したデータをNW通信部により送信(出力)する。
本実施形態に係る通信システム1においては、機器11のNW通信部は、情報処理装置13に接続される。このため、各機器11は、情報処理装置13を介してデータの入出力を行う。例えば、機器11は、機器側の情報処理装置13A、ネットワークNW、および、サーバ側の情報処理装置13Bを介してサーバ装置12と通信する。
サーバ装置12は、NW(ネットワーク)通信部、サーバ制御部およびデータ記憶部などを備える。NW通信部は、データ通信を行うための通信インターフェースである。NW通信部は、ネットワークを介して外部装置と通信可能とするイーサネット(登録商標)などの通信インターフェースである。言い換えると、サーバ装置12は、NW通信部によりネットワークに接続される装置と通信可能な構成を備える装置である。
本実施形態に係る通信システム1においては、サーバ装置12のNW通信部は、情報処理装置13Bに接続され、情報処理装置13Bを介してネットワークNWに接続される機器と通信する構成となっている。すなわち、本実施形態に係る通信システム1は、機器11とサーバ装置12とがネットワークを介して通信可能に構成される既存のシステムに対して、後付でサーバ装置12とネットワークとの間に情報処理装置13Bを接続することで構築できるシステムである。
サーバ制御部は、例えば、CPUなどを含むプロセッサであり、サーバ装置を統括的に制御する。サーバ制御部は、例えば、NW通信部により各機器11からデータを取得し、機器11から取得したデータをデータ記憶部に記憶させる。データ記憶部は、サーバ制御部の指示に従い、機器11から取得したデータを記憶する。また、サーバ制御部は、NW通信部により通信する各機器11に動作指示などの制御命令を出力したりする。
次に、機器11とサーバ装置12との間の通信について説明する。
一般に、通信機能を有する機器(IoTデバイス、クライアント端末、通信デバイス)とサーバ装置とが互いのNW通信部およびネットワークを介して接続された場合、機器とサーバ装置との間の通信には、一般的な通信プロトコルであるHTTPが用いられることがある。この場合、通信デバイス又はサーバ装置によりネットワークに出力された暗号化されていない情報(いわゆる、平文)がネットワークを流れる。この場合、外部から悪意をもってネットワーク上のデータが取得されてしまうと、容易にデータが盗聴されたり、改ざんされたりする危険性がある。このような不正な攻撃に対する対策としては、通信デバイスがデータを暗号化してネットワークに出力させることが考えられる。
一般に、通信機能を有する機器(IoTデバイス、クライアント端末、通信デバイス)とサーバ装置とが互いのNW通信部およびネットワークを介して接続された場合、機器とサーバ装置との間の通信には、一般的な通信プロトコルであるHTTPが用いられることがある。この場合、通信デバイス又はサーバ装置によりネットワークに出力された暗号化されていない情報(いわゆる、平文)がネットワークを流れる。この場合、外部から悪意をもってネットワーク上のデータが取得されてしまうと、容易にデータが盗聴されたり、改ざんされたりする危険性がある。このような不正な攻撃に対する対策としては、通信デバイスがデータを暗号化してネットワークに出力させることが考えられる。
しかしながら、既存のシステムに用いられている既存の機器(クライアント端末)は、暗号化のための処理を行うだけの資源(リソース)を備えていないことが多い。例えば、機器の一例としての監視カメラは、撮像データの圧縮や符号化を行うためのCPU等のプロセッサを備えるが、さらに暗号化あるいは秘密計算のための処理を行うだけのリソースを備えていないことが多い。従って、既存のシステムにおいて、機器がネットワークに出力するデータを暗号化させるためには、データを暗号化するためのプロセッサをさらに機器に搭載させる必要があり、機器のハードウェア構成の変更や置き換えが必要となることが考えられる。監視システム等の社会インフラシステムを構成するコンポーネントとしての既存の機器は、ハードウェア構成を変更したり置き換えたりすることが容易にはできない。
上述したような事情を鑑みると、既存の機器に変更を加えることなく、機器からのデータが暗号化されてネットワークNWに伝送されるように構成できる通信システムが望ましい。本実施形態に係る通信システム1は、既存のシステムにおける既存の機器にハードウェア構成を変更したり既存の機器を新たな機器に置き換えたりすることなく、既存の機器およびサーバ装置に情報処理装置を接続することでデータを安全に伝送できるものである。
すなわち、通信システム1において、機器11とネットワークNWとの間に接続された情報処理装置13Aは、機器11がサーバ装置12宛に送信するデータを暗号化してネットワークNWに出力することができる。また、通信システム1において、サーバ装置12とネットワークNWとの間に接続されたサーバ側の情報処理装置13Bはサーバ装置12からの機器11宛の制御情報などのデータを暗号化してネットワークNWに出力することができる。これにより、本実施形態に係る通信システム1によれば、機器11およびサーバ装置12を変更することなく、ネットワークNWを流れるデータの安全性(セキュリティ)を向上できる。
次に、実施形態に係る情報処理装置13の構成について説明する。
図2は、図1に示す情報処理装置13の構成例を示すブロック図である。
図2に示すように、情報処理装置13は、制御部30、第1通信部31、第2通信部32、リーダライタ33、ICカード34、および、記憶部35を備える。ここで、リーダライタ33、および、ICカード34は、「認証部」の一例である。認証部は、リーダライタ33およびICカード34で実現するものに限定されない。認証部は、制御部30が実現しても良いし、認証処理用の処理回路で実現しても良い。
図2は、図1に示す情報処理装置13の構成例を示すブロック図である。
図2に示すように、情報処理装置13は、制御部30、第1通信部31、第2通信部32、リーダライタ33、ICカード34、および、記憶部35を備える。ここで、リーダライタ33、および、ICカード34は、「認証部」の一例である。認証部は、リーダライタ33およびICカード34で実現するものに限定されない。認証部は、制御部30が実現しても良いし、認証処理用の処理回路で実現しても良い。
制御部30は、例えば、CPUなどを含むプロセッサを有する。制御部30は、情報処理装置13を統括的に制御する。制御部30は、例えば、リーダライタ33を介して、ICカード34にコマンドを送信するとともに、ICカード34からレスポンスを受信する。また、制御部30は、ICカード34から受信したレスポンスに基づく情報を、第1通信部31を介して、他方の情報処理装置13に送信する。また、制御部30は、第1通信部31を介して、他方の情報処理装置13から受信した情報に基づいて、ICカード34にコマンドを送信する。
記憶部35は、データを記憶する。記憶部35は、データの書き込むおよび書き換えが可能な記憶装置などにより構成される。記憶部35は、RAM(Random Access Memory)などの一時記憶部35aを有する。また、記憶部35は、データの書き換えが可能な不揮発性の記憶装置を含むものであっても良い。
第1通信部31は、ネットワークNWを介して接続される各装置と通信するためのネットワーク通信部である。第1通信部31は、ネットワークNWに接続される第1ポート21(21A、21B)を備える。第1通信部31は、例えば、NIC(Network Interface Card)により構成される。例えば、情報処理装置13Aは、第1通信部31によりネットワークNWを介して、通信管理装置14、サーバ側の情報処理装置13Bおよびデータベース側の情報処理装置13Cと通信する。
具体的には、機器側の情報処理装置13Aの第1通信部31は、機器11から取得したサーバ装置12宛のデータをネットワークNW経由で複数のデータベース15に分散して送信する。また、サーバ側の情報処理装置13Bの第1通信部(第3通信部)31は、第1ポート21Bに接続されるネットワークNW上の複数のデータベース15から当該サーバ装置12宛のデータを取得する。データベース側の情報処理装置13Cの第1通信部31は、第1ポート21Bに接続されるネットワークNWを介して機器側の情報処理装置13Aからのデータ(分散データ)を受信したり、サーバ側の情報処理装置13Bへデータベース15から取得したデータ(分散データ)を送信したりする。
第2通信部32は、端末装置としての機器11、サーバ装置12又はデータベース15と通信するためのデバイス通信部である。第2通信部32は、通信を実行する端末装置(機器11、サーバ装置12又はデータベース15)に接続される第2ポート22(22A、22B)を備える。例えば、第2通信部32は、NIC(Network Interface Card)により構成される。
具体的には、機器側の情報処理装置13Aの第2通信部32は、第2ポート22Aに接続される機器11からのデータ(サーバ装置12宛のデータ)を取得する。また、サーバ側の情報処理装置13Bの第2通信部(第4通信部)32は、第2ポート22Bに接続されるサーバ装置12へ複数のデータベース15から収集した分割データに基づいて復元したデータを送信する。データベース側の情報処理装置13Cの第2通信部32は、第2ポート22Cに接続されるデータベース15に機器側の情報処理装置13Aから取得したサーバ装置12宛のデータ(分割データ)を送信したり、データベース15からサーバ側の情報処理装置13Bへ転送するサーバ装置12宛の分割データを受信したりする。
リーダライタ33は、ICカード34との間の通信を行う。リーダライタ33は、ICカード34の通信方式に対応するインターフェースを備える。ICカード34が接触式のICカードである場合、リーダライタ33は、図2に示すように、ICカード34のコンタクト部に接続するインターフェースを備え、インターフェースを介してデータの送受信を行う。
ICカード34は、例えば、プラスチックのカード基材に、ICモジュール40を実装して形成されている。ICカード34は、ICモジュール40とICモジュール40が埋め込まれたカード基材(本体)とを備える。図2に示す構成例において、ICカード34は、情報処理装置13のリーダライタ33に着脱可能に構成される。ICカード34は、リーダライタ33に装着された状態でコンタクト部41を介して情報処理装置13と通信する。
ICカード34は、例えば、情報処理装置13が送信したコマンド(処理要求)をコンタクト部41を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。ICカード34は、コマンド処理の実行結果であるレスポンス(処理応答)を情報処理装置13にコンタクト部41を介して送信する。
ICモジュール40は、コンタクト部41とICチップ42とを備える。コンタクト部41は、ICカード34が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを情報処理装置13から供給を受ける端子、および、情報処理装置13と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。ICチップ42は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
ここで、実施形態に係る情報処理装置13が備える認証部の構成例としてのICカード34のハードウェア構成について説明する。
図3は、図2に示すICカード34のハードウェア構成例を示す図である。
ICカード34は、コンタクト部41とICチップ42とを備えたICモジュール40を有する。ICチップ42は、図3に示すように、UART(Universal Asynchronous Recei ver Transmitter)43、CPU44と、ROM(Read Only Memory)45、RAM(Random Access Memory)46、および、EEPROM(登録商標)(Electrically Erasable Programmable ROM)47を備える。また、各構成(43から47)は、内部バスBSを介して接続されている。
図3は、図2に示すICカード34のハードウェア構成例を示す図である。
ICカード34は、コンタクト部41とICチップ42とを備えたICモジュール40を有する。ICチップ42は、図3に示すように、UART(Universal Asynchronous Recei ver Transmitter)43、CPU44と、ROM(Read Only Memory)45、RAM(Random Access Memory)46、および、EEPROM(登録商標)(Electrically Erasable Programmable ROM)47を備える。また、各構成(43から47)は、内部バスBSを介して接続されている。
UART43は、上述したSIO端子を介して、情報処理装置13とシリアルデータ通信を行う。UART43は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBSに出力する。また、UART43は、内部バスBSを介して取得したデータをシリアル変換して、SIO端子を介して情報処理装置13に出力する。UART43は、例えば、SIO端子を介してコマンドを情報処理装置13から受信する。また、UART43は、SIO端子を介してレスポンスを情報処理装置13に送信する。
CPU44は、ROM45又はEEPROM47に記憶されているプログラムを実行して、ICカード34の各種処理を行う。CPU44は、例えば、コンタクト部41を介して、UART43が受信したコマンドに応じたコマンド処理を実行する。
ROM45は、例えば、マスクROMなどの不揮発性メモリであり、ICカード34の各種処理を実行するためのプログラム、およびコマンドテーブルなどのデータを記憶する。RAM46は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード34の各種処理を行う際に利用されるデータを一時記憶する。EEPROM47は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM47は、ICカード34が利用する各種データを記憶する。EEPROM47は、例えば、ICカード34を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
次に、実施形態に係る情報処理装置13における認証部の構成例としてのICカード34が備える機能について説明する。
図4は、図3に示すICカード34の機能構成例を示すブロック図である。ICカード34は、通信部50と、制御部51と、記憶部54とを備える。ここで、図4に示されるICカード34の各部は、図3に示されるICカード34のハードウェアを用いて実現される。
図4は、図3に示すICカード34の機能構成例を示すブロック図である。ICカード34は、通信部50と、制御部51と、記憶部54とを備える。ここで、図4に示されるICカード34の各部は、図3に示されるICカード34のハードウェアを用いて実現される。
通信部50は、コンタクト部41を介して、情報処理装置13との間でコマンドおよびレスポンスの送受信を行う。通信部50は、CPU44がROM45に記憶されているプログラムを実行することによりUART43を用いてデータの送受信を実行する機能である。通信部50は、所定の処理を要求するコマンド(処理要求)を情報処理装置13から受信するとともに、コマンドに対するレスポンス(処理応答)を情報処理装置13に送信する。通信部50は、UART43を介して情報処理装置13から受信した受信データをRAM46に記憶させる。また、通信部50は、RAM46に記憶されている送信データを、UART43を介して情報処理装置13に送信する。
制御部51は、ICカード34の動作を制御する。制御部51は、CPU44、ROM45、RAM46およびEEPROM47などを有する。制御部51は、コマンド処理部52および暗号化復号部53を備える。ここで、コマンド処理部52が行う処理は、「認証処理」の一例である。また、暗号化復号部53が行う処理は、「暗号化復号処理」の一例である。
コマンド処理部52は、各種コマンド処理を実行する。コマンド処理部52は、例えば、後述するHTTPSリクエストを要求するコマンド処理として、SSL/TLSハンドシェイクを行う。SSL/TLSハンドシェイクでは、暗号化された通信に必要な鍵情報等の交換、および通信先の装置との相互認証を行う。ここで、相互認証とは、互いに正当に認証された装置であることを相互に確認する処理である。例えば、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとが通信を行う場合、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとは、データの送受信を実行する前に相互認証を行う。
暗号化復号部53は、データを暗号化する処理、および暗号化されたデータを復号する処理を実行する。暗号化復号部53は、通信部50を介して取得した装置(機器11又はサーバ装置12)により出力されたデータを暗号化する。また、暗号化復号部53は、通信部50を介して取得したネットワークNWからの暗号化されたデータを復号する。
記憶部54は、データを記憶する。記憶部54は、制御部51の制御によってデータのリードおよびライトが実行されるEEPROM47により実現される。記憶部54は、証明書情報記憶部55と秘密情報記憶部56とを有する。証明書情報記憶部55は、通信管理装置14が発行した装置(機器11又はサーバ装置12)に対する証明書を記憶する。具体的には、情報処理装置13に装着されるICカード34の証明書情報記憶部55には、クライアント証明書を示す情報が記憶される。また、サーバ側の情報処理装置13Bに装着されるICカード34の証明書情報記憶部55には、サーバ証明書を示す情報が記憶される。
秘密情報記憶部56は、通信管理装置14が発行した装置(機器11又はサーバ装置12)に対する秘密鍵を記憶する。具体的には、情報処理装置13に装着されるICカード34の秘密情報記憶部56には、情報処理装置13に対して発行された秘密鍵を示す情報が記憶される。また、サーバ側の情報処理装置13Bに装着されるICカード34の証明書情報記憶部55には、サーバ側の情報処理装置13Bに対して発行された秘密鍵を示す情報が記憶される。
次に、実施形態に係る通信システム1における通信管理装置14の構成について説明する。
図5は、図1に示す通信管理装置14の構成例を示すブロック図である。
通信管理装置14は、NW(ネットワーク)通信部60、制御部61、および、記憶部62を備える。
NW通信部60は、ネットワークNWに接続され、ネットワークNWを介して、情報処理装置13と通信を行う。
図5は、図1に示す通信管理装置14の構成例を示すブロック図である。
通信管理装置14は、NW(ネットワーク)通信部60、制御部61、および、記憶部62を備える。
NW通信部60は、ネットワークNWに接続され、ネットワークNWを介して、情報処理装置13と通信を行う。
制御部61は、例えば、CPUなどのプロセッサとROMおよびRAMなどのシステムメモリとを含む。制御部61は、プロセッサがシステムメモリなどの記憶部に記憶したプログラムを実行することにより種々の処理を実現する。制御部61は、通信管理装置14を統括的に制御する。制御部61は、情報処理装置13と他の装置との通信に用いるセキュリティ情報を管理する。例えば、制御部61は、主に情報処理装置13の正当性を認めるプライベート認証局として動作する。図6に示す例において、制御部61は、プロセッサがプログラムを実行することにより、鍵生成部71、証明書発行部72、証明書更新部73、証明書管理部74および管理部75としての機能を実現するための処理を実行する。
鍵生成部71は、例えば、情報処理装置13からの認証申請に基づいて、後述する証明書に含まれる公開鍵に対応する秘密鍵の発行を行う。
証明書発行部72は、例えば、情報処理装置13からの認証申請に基づいて、情報処理装置13の正当性を認める証明書の発行を行う。証明書には、例えば、公開鍵と情報処理装置13の所有者を示す情報とが含まれる。
証明書発行部72は、例えば、情報処理装置13からの認証申請に基づいて、情報処理装置13の正当性を認める証明書の発行を行う。証明書には、例えば、公開鍵と情報処理装置13の所有者を示す情報とが含まれる。
証明書更新部73は、有効期限が渡過した証明書に対して新たな有効期限を設定することにより、証明書の更新を行う。証明書更新部73は、例えば、情報処理装置13からの更新申請に基づいて、当該情報処理装置13に対して発行した証明書の有効期限を延長させた証明書を発行し、発行した証明書を情報処理装置13に対して送信する。発行した証明書を示す情報が情報処理装置13により受信され、情報処理装置13のICカード34の証明書情報記憶部55に記憶されることで、情報処理装置13の証明書の有効期限が延長される。
証明書管理部74は、既に発行済みの証明書に対する管理を行う。証明書管理部74は、例えば、情報処理装置13に装着されたICカード34の改ざん、又は盗難等により相互認証において互いの正当性が証明されない場合に、情報処理装置13に対して発行した証明書を無効化する処理を行う。
また、証明書管理部74は、情報処理装置13からの問い合わせに基づいて、情報処理装置13、および他の通信装置に対して発行した証明書が証明書発行部72により発行されたものか否か応答するようにしてもよい。また、証明書管理部74は、定期的に、発行済みの証明書が正当な情報処理装置13に使用されているかを確認するようにしてもよい。
管理部75は、情報処理装置13を管理する。例えば、管理部75は、情報処理装置13が行う相互認証を、ネットワークNWを介して遠隔制御する。
記憶部62は、書き換え可能な不揮発性の記憶装置で構成される。記憶部62は、鍵情報記憶部81、証明書情報記憶部82および通信設定記憶部83を備える。また、記憶部62は、各情報処理装置13から取得する通信(処理)履歴情報を保存する記憶領域も有する。
記憶部62は、書き換え可能な不揮発性の記憶装置で構成される。記憶部62は、鍵情報記憶部81、証明書情報記憶部82および通信設定記憶部83を備える。また、記憶部62は、各情報処理装置13から取得する通信(処理)履歴情報を保存する記憶領域も有する。
鍵情報記憶部81は、例えば既に発行済みの公開鍵や秘密鍵を示す情報を記憶する。証明書情報記憶部82は、例えば既に発行済みの証明書を示す情報を記憶する。鍵情報記憶部81と証明書情報記憶部82とは、例えば、鍵生成部71が秘密鍵を発行する際、証明書発行部72が証明書を発行する際などに参照される。また、鍵情報記憶部81には、鍵生成部71が発行した秘密鍵を示す情報が記憶される。また、証明書情報記憶部82には、証明書発行部72が発行した証明書を示す情報が記憶される。
通信設定記憶部83は、各情報処理装置13に適用(設定)する通信設定を示す通信設定情報を記憶する。通信設定記憶部83は、情報処理装置13が後述する分散出力処理におけるデータ分割数などの通信設定情報および分散入力処理における復元に必要なデータ数などの通信設定を含む通信設定情報を記憶する。また、制御部61は、通信設定記憶部83に記憶する通信設定情報を情報処理装置13からの要求に応じて供給するようにしても良い。例えば、制御部61は、情報処理装置13が起動した場合に情報処理装置13へ通信設定情報を供給するようにしても良い。
次に、通信システム1における情報処理装置13を用いた通信処理について説明する。ここでは、通信処理の一例として、通信システム1における情報処理装置13Aおよび情報処理装置13BがネットワークNWを介して機器11からサーバ装置12へデータを送信する通信処理について説明する。
図6は、通信システム1が行う通信処理の一例を説明するためのシーケンスチャートである。
図6は、通信システム1が行う通信処理の一例を説明するためのシーケンスチャートである。
機器11は、データ(IoTデバイスが検出したデータや撮像したデータなど)をサーバ装置12に送信する場合、まずサーバ装置12に対するHTTPリクエストを送信する(ステップS1)。機器11が送信したHTTPリクエストは、機器側の情報処理装置13(13A)により取得される(ステップS2)。
機器側の情報処理装置13は、機器11により送信されたHTTPリクエストを取得すると、サーバ側の情報処理装置13Bに対して、HTTPSのリクエスト(ClientHello)を送信する(ステップS3)。これにより、機器側の情報処理装置13とサーバ側の情報処理装置13Bとの間のハンドシェイクが開始される(ステップS4)。
具体的には、機器側の情報処理装置13が送信するClientHelloには、例えば、TLSのバージョン、および通信に用いる暗号方式やアルゴリズムのリストを示す情報が含まれる。サーバ側の情報処理装置13Bは、ClientHelloに対する応答として、機器側の情報処理装置13に対しHTTPSのレスポンス(ServerHello)を送信する。サーバ側の情報処理装置13Bが送信するServerHelloには、例えばClientHelloで提示された選択肢の中でサーバ装置12が選択した情報が含まれる。換言すると、機器側の情報処理装置13からの提示に対し、サーバ側の情報処理装置13Bが選択を行うことで、通信における具体的な暗号化アルゴリズムが決定される。
そして、サーバ側の情報処理装置13Bは、暗号化通信に用いる共通鍵に必要な情報を送る。共通鍵に必要な情報には、例えば、サーバ装置12に対して発行された公開鍵とその証明書を示す情報、および機器11の公開鍵とその証明書を送ることを要求する情報が含まれる。機器側の情報処理装置13Aは、サーバ側の情報処理装置13Bに対して、自装置に対して発行された公開鍵とその証明書、および暗号化通信に用いる共通鍵に必要な情報を送る。
機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとの間の相互認証は、例えば次のように行われる。機器側の情報処理装置13Aは、今までに受信したServerHello等から署名を生成し、サーバ側の情報処理装置13Bに送信する。サーバ側の情報処理装置13Bは、機器側の情報処理装置13Aから受信した署名を機器側の情報処理装置13から受信した証明書に基づいて検証する。サーバ側の情報処理装置13Bは、検証が成功すると、その証明書が間違いなく機器側の情報処理装置13Aのものであると判定する。また、サーバ側の情報処理装置13Bは、今までに受信したClientHello等から署名を生成し、機器側の情報処理装置13Aに送信する。機器側の情報処理装置13Aは、サーバ側の情報処理装置13Bから受信した署名を、サーバ側の情報処理装置13Bから受信した証明書に基づいて検証する。機器側の情報処理装置13Aは、検証が成功すると、その証明書が間違いなくサーバ側の情報処理装置13Bのものであると判定する。
機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとの間の相互認証が正しく行われると、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとは、それぞれ暗号化に用いる共通鍵を生成して交換する。
サーバ側の情報処理装置13Bから送付されたサーバ装置12に対して発行された公開鍵とその証明書が、機器側の情報処理装置13Aに許容される証明書であれば、サーバ側の情報処理装置13Bは、機器側の情報処理装置13Aから送付された公開鍵とその証明書が、サーバ側の情報処理装置13Bに許容される証明書であれば、ハンドシェイクを終了する。
サーバ側の情報処理装置13Bは、機器側の情報処理装置13Aとのハンドシェイクが確立されると、サーバ装置12に対し、HTTPリクエストを送信する(ステップS5)。HTTPリクエストは、ステップS1において機器11から送信されるHTTPリクエストである。
サーバ側の情報処理装置13Bにより送信されたHTTPリクエストは、サーバ装置12により受信される(ステップS6)。このとき、サーバ装置12は、機器11からHTTPリクエストが要求されたと認識する。このため、サーバ装置12は、機器11に対しするHTTPレスポンスを応答する(ステップS7)。サーバ装置12が送信したHTTPレスポンスは、サーバ側の情報処理装置13Bにより取得される(ステップS8)。
サーバ側の情報処理装置13Bは、取得したサーバ装置12からのHTTPレスポンスを、ステップS4のハンドシェイクにおいて決定された共通鍵を用いて暗号化する(ステップS9)。サーバ側の情報処理装置13Bにより暗号化されたHTTPレスポンスは、ネットワークNWを介して機器側の情報処理装置13Aに受信される(ステップS10)。機器側の情報処理装置13Aは、受信したHTTPレスポンスを、共通鍵を用いて復号する(ステップS11)。機器側の情報処理装置13Aにより復号されたHTTPレスポンスは、機器11に取得される(ステップS12)。機器11は、復号されたHTTPレスポンスを受信する(ステップS13)。このとき、機器11は、サーバ装置12からHTTPレスポンスが応答されたと認識する。このため、機器11は、サーバ装置12に対し、データを送信する(ステップS14)。
機器11が送信したデータは、機器側の情報処理装置13Aにより取得される(ステップS15)。機器側の情報処理装置13Aは、機器11から取得したデータを分散して複数のデータベース15へ送信する分散出力処理を実行する(ステップS16)。機器側の情報処理装置13Aは、通信管理装置14から設定される通信設定に従ってデータを分散して複数のデータベース15へ出力するデータの分散出力処理を行う。例えば、機器側の情報処理装置13Aは、データを分散する方法として秘密分散法を用いてデータを分散して出力するようにしても良い。
データの分散出力処理において、機器側の情報処理装置13Aは、機器11から取得したデータを通信設定によって設定されている分割数でデータを分割し、分割したデータ(分割データ、シェア)の保存先とする複数のデータベース15を設定し、各データベース15に接続されているデータベース側の情報処理装置13Cへ分割データを送信する。各データベース15は、機器側の情報処理装置13Aからの分割データをデータベース側の情報処理装置13Cを介して受信し、受信した分割データを記憶装置に保存する。
これに対応して、サーバ側の情報処理装置13Bは、機器11からのデータが分散して送信されたデータベース15から分割データを収集し、取集した分割データに基づいてデータを復元するデータの復元処理を実行する(ステップS18)。サーバ側の情報処理装置13Bは、通信管理装置14が管理する通信設定に従って、分散出力処理によって複数のデータベース15に保存された分割データを収集し、収集した分割データからデータを復元する復元処理を行う。
データの復元処理において、サーバ側の情報処理装置13Bは、複数のデータベースから分割データを収集する。分割データを保存した各データベース15に接続するデータベース側の情報処理装置13Cは、データベース15から記憶装置に保存する分割データを取得する。データベース側の情報処理装置13Cは、データベース15から取得した分割データをサーバ側の情報処理装置13Bへ送信する。サーバ側の情報処理装置13Bは、複数のデータベース側の情報処理装置13Cから複数のデータベース15に保存された分割データを収集し、収集した分割データにより機器11からのデータを復元する。
サーバ側の情報処理装置13bは、復元したデータをサーバ装置12へ送信する(ステップS19)。サーバ装置12は、サーバ側の情報処理装置13Bから機器11からのデータとして復号されたデータを受信する(ステップS20)。これにより、サーバ装置12は、データが分散されていることを意識することなく、データ分析などの用いるデータとして機器11からのデータを受信することができる。
なお、上記フローチャートのステップS4において、機器(データ送信)側の情報処理装置13Aとサーバ(データ受信)側の情報処理装置13Bとの間の相互認証が正しく行われなかった場合、機器側の情報処理装置13Aは、通信先との通信を許可しない。具体的には、機器側の情報処理装置13Aは、通信先から送信された情報を機器11に出力しない。相互認証が正しく行われなかった場合、通信先がサーバ側の情報処理装置13Bに見せかけた不正な通信装置である可能性があるためである。この場合、機器側の情報処理装置13Aは、例えば、相互認証が正しく行われなかった場合の通信記録を通信管理装置14に送信するようにしてもよい。これより、通信管理装置14は相互認証が正しく行われなかった場合の通信記録を取得することができ、管理下にある機器側の情報処理装置13Aに対する不正な通信のパターンや頻度を把握することで、ネットワークの異常を監視することができる。
また、機器側の情報処理装置13Aは、上記フローチャートのステップS4において行われるハンドシェイクにおいて相互認証の代わりに機器11に対する通信を許可する通信機器の情報を示す送信先リストに基づいて、通信先との通信を許可するか否かを判定するようにしてもよい。送信先リストに示される通信機器の情報は、例えばURL(Uniform Resource Locator)である。機器側の情報処理装置13Aの制御部30は、通信先のURLが送信先リストに登録されているURLである場合に当該通信先との通信を許可し、送信先リストに登録されていない場合には通信を許可しない。
また、制御部30は、送信先リストを更新するようにしてもよい。制御部30は、例えば、一定期間に機器11に対する通信を許可された通信先のURL、および許可されなかった通信先URLを記憶させる。そして、制御部30は、例えば、送信先リストに登録されたURLのうち、一定期間に通信が行われた通信先のURLを再度登録する等することにより送信先リストを更新する。あるいは、機器側の情報処理装置13は、一定期間に通信を許可された通信先URL、および許可されなかった通信先URLを通信管理装置14に送信するようにしてもよい。この場合、例えば、通信管理装置14は、機器側の情報処理装置13Aと通信を行った通信先URLに基づいて、送信先リストを更新するようにしてもよい。通信管理装置14により送信先リストが更新されることで、通信管理装置14が管理下にある機器側の情報処理装置13Aと通信する通信機器を一括して管理することができる。
また、機器側の情報処理装置13Aは、ステップS4において行われるハンドシェイクが確立した後に機器11に対して送信された情報(例えば、ファームウェアの更新プログラム)の内容が正しいか否かの検証を行うようにしてもよい。例えば、機器側の情報処理装置13Aの制御部30は、ネットワークNWを介して機器11のファームウェアの更新プログラムが送信された場合、検証用の鍵(検証鍵)を用いて検証する。この場合、通信管理装置14は、例えば、機器側の情報処理装置13Aおよびサーバ側の情報処理装置13Bそれぞれに検証鍵を送信するようにしてもよい。
例えば、サーバ側の情報処理装置13Bは、機器11へ送信する情報(平文)からハッシュ値を生成し、生成したハッシュ値を検証鍵で暗号化する。そして、サーバ側の情報処理装置13Bは、平文と暗号化したハッシュ値をさらに秘密鍵で暗号して機器11へ送信する。また、機器側の情報処理装置13は共通鍵を用いて情報を復号化し、平文と暗号化されたハッシュ値とを取得する。
また、機器側の情報処理装置13Aは、取得した平文からハッシュ値を生成するとともに、暗号化されたハッシュ値を検証鍵で復号する。機器側の情報処理装置13Aは、平文から生成したハッシュ値と、復号化したハッシュ値とが等しい値である場合、機器11に対して送信された情報は正しい内容であると判定する。この場合、機器側の情報処理装置13Aは、復号した情報(平文)を機器11に出力する。一方、機器側の情報処理装置13Aは、平文から生成したハッシュ値と復号化したハッシュ値が等しい値でない場合、機器11に対して送信された情報は、サーバ装置12又はサーバ側の情報処理装置13Bに見せかけた不正な通信装置から送信された不正な情報である可能性があると判定する。この場合、機器側の情報処理装置13Aは、復号した情報(平文)を機器11に出力しない。
これにより、機器11は、検証済みである正しい内容であることが検証された情報のみを受け取ることができる。また、通常、機器11がファームウェアを更新する際の更新プログラムの内容が正しいか否かの判定を行うと考えられるが、機器11に代わりサーバ側の情報処理装置13Bが機器11に対して送信された情報の内容を検証することにより、機器11の処理負担を軽減させることが可能となる。
以上説明したように、通信システム1は、機器11とネットワークNWとの間に接続される機器側の情報処理装置13Aと、サーバ装置12とネットワークNWとの間に接続されるサーバ側の情報処理装置13Bと、を備える。機器側の情報処理装置13Aは、機器11からの情報を複数の分割データに分割してネットワークNWおよび複数のデータベース15を経由してサーバ側の情報処理装置13Bへ送信し、ネットワークNW経由で受信するサーバ側の情報処理装置13Bで暗号化されたサーバ装置12からの情報を復号して機器11へ送信する。サーバ側の情報処理装置13Bは、サーバ装置12からの情報を暗号化してネットワークNW経由で機器側の情報処理装置13へ送信し、機器側の情報処理装置13Aが複数のデータベース15に分散した機器からの情報の分割データをネットワークNW経由で収集し、収集した分割データから復号した情報をサーバ装置12に送信する。
これにより、通信システム1は、社会インフラシステムを変更することなく、社会インフラシステムの安全性を向上させることができる。機器11からサーバ装置12に対して送信されるデータは、機器側の情報処理装置13により複数に分割されて安全性が確保された分割データとして複数のデータベースに保管される。サーバ側の情報処理装置は複数のデータベースから収集(受信)する複数の分割データから復元したデータをサーバ装置へ供給される。機器からのデータは、ネットワークNWおよびデータベース15上に存在する個々の分割データだけでは復元できないため、プライバシーが確保される。また、サーバ装置12から機器11に対して送信された制御データは、暗号化されるが、機器側の情報処理装置13により復号されて、機器11に受信されるため、機器11に復号させる処理を行わせる必要がなく、既存の装置を変更することなくそのまま利用することができる。
また、通信システム1では、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとが相互認証を行うため、いずれか一方方向のみの認証を行う場合よりも安全性を向上させることができる。一般的なクライアント端末とサーバ装置とにおいては、サーバ装置に対して不特定多数のクライアント端末が通信を行うため、当該不特定多数のクライアント端末に対して正当なクライアント証明書を発行して管理し続けることは現実的ではない。しかしながら、通信システムを適用する社会インフラシステムなどにおいては、機器11とサーバ装置12との関係は明確に特定されている。このため、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとが相互認証を行うことが可能であり、安全性を向上させることができる。
一般に、クライアント証明書を有していないクライアント端末では、サーバ装置と通信を行うために、サーバ装置が発行したIDやパスワードの入力を求められることがある。このようなパスワード認証においては、安全性を維持するために、パスワードに対し文字と数字を組み合わせた長文の文字列が要求されたり、定期的なパスワードの変更等が求められたりすることがある。しかしながら、覚えなければならないパスワードが増えると、管理が面倒になってしまい、パスワードをメモに残したり、ウェブブラウザに記録させたりするなど、かえってパスワードが漏洩してしまう場合があった。
これに対し、通信システム1では、機器側の情報処理装置13Aがクライアント(デバイス)証明書を有することにより、サーバ装置12との間で確実に相互認証を行うことができる。このため、パスワード認証が不要となる。このため、パスワードを入力する手間や定期的に変更して管理する手間がなくなり、ユーザの利便性が向上する。つまり、ユーザに負担をかけることなく安全性を維持することができる。
また、クライアント証明書を有していないクライアント端末がIDやパスワードによる認証に基づいてサーバ装置と通信を行うシステムでは、IDとパスワードが正しく入力できてしまえば、だれでもサーバ装置と通信することができてしまう。このため、クライアント端末を不正に乗っ取り、サーバ装置へ不正にアクセスすることが可能となってしまう。例えば、不正に乗っ取られたサーバ装置によってクライアント端末の機能が制限され、解除するために身代金が要求されるといったランサムウェアに感染する可能性がある。
これに対し、上述した通信システム1では、機器11とサーバ装置12との間で、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとを介した相互認証が行われることにより、機器11やサーバ装置12が不正に乗っ取られることがない。つまり、通信システム1では、ランサムウェアに対する対策も可能となる。
また、例えば、ネットワーク内に管理者が不在の端末(野良デバイスともいう)がある場合、その端末が不正に乗っ取られることにより、その端末がマルウエア等の攻撃を行う不正な端末として利用されてしまう場合がある。これに対し、上述した通信システム1では、機器11とサーバ装置12との間で、機器側の情報処理装置13A(13B、13C)とサーバ側の情報処理装置13Bとを介した相互認証が行われることにより、ネットワークNWの内部にある管理者が不在の端末が不正に乗っ取られて攻撃に利用された場合であっても、マルウエア等に感染することを防止することができる。
また、上述した通信システム1では、サーバ装置12がサーバ側の情報処理装置13Bに接続されており、サーバ装置12の内部で認証処理を行わない。このため、サーバ装置12の内部で証明書等を保持する必要がなく、サーバ側の情報処理装置13Bに接続されたサーバ装置12が通信管理装置14の管理下であることが明確となる。サーバ装置12が既にサーバ側の情報処理装置13Bに相当する機能部を有している場合には、必ずしもサーバ装置12とネットワークNWとの間にサーバ側の情報処理装置13Bが物理的に接続される必要はない。この場合、サーバ装置12が元々有するサーバ側の情報処理装置13Bに相当する機能部により、機器側の情報処理装置13Aとの間の認証処理が行われる。
また、通信システム1では、ICカード34において、相互認証と暗号化復号処理とのうち少なくともいずれか一方を行わせる。このため、情報処理装置13の装置コストを抑制することができる。
また、通信システム1においては、情報処理装置13に装着されたICカード34が相互認証と暗号化復号処理とのうち少なくともいずれか一方の処理を行う例を説明したが、通信システム1は、相互認証および暗号化複合化処理を行う構成がICカードに限定されるものではない。また、上述したICカード34としては、秘密鍵およびクライアント証明書(あるいは、サーバ証明書)を記憶する記憶機能と、相互認証と暗号化復号処理とのうち少なくともいずれか一方を行う処理機能を有している機能部であればよく、例えば、ICチップが搭載されたSIMカードであってもよいし、カードの形態を採用しなくてもよい。
また、通信システム1においては、情報処理装置13のICカード34は、情報処理装置13に対して着脱可能に装着される。これにより、通信システム1においては、ICカード34と情報処理装置13とが分離可能であるため、どちらか一方を交換する場合には、当該一方のデバイスを交換すればよい。例えば、ICカード34と情報処理装置13とが一体化された場合には、ICカード34に相当する部分を交換する場合には、情報処理装置13全体を交換しなければならないが、この場合と比較して、通信システム1では、情報処理装置13が有するICカード34等の特定の部分を交換する場合のメンテナンスコストを抑制することができる。
また、通信システム1は、通信管理装置14をさらに備える。通信管理装置14は、情報処理装置13に装着されたICカード34に記憶させる秘密鍵、およびクライアント証明書を情報処理装置13に送信し、サーバ側の情報処理装置13Bに装着されたICカード34に記憶させる秘密鍵、およびサーバ証明書をサーバ側の情報処理装置13Bに送信する。これにより、通信システム1は、通信管理装置14により発行された正当な秘密鍵、証明書を用いて、ハンドシェイクを行い、共通鍵を決定することができ、上述した効果を奏する他、社会インフラシステムの安全性をさらに向上させることができる。
なお、通信システム1の構成は、上述した例に限定されない。例えば、情報処理装置13は、処理の負荷に基づき、ハードウェアにより情報処理装置13の機能を実現するHSM(Hardware Security Module)を用いてもよい。つまり、情報処理装置13は、セキュアな処理が可能な限り、必ずしもICカードを装着する構成に限らず、上記情報処理装置13の機能を実現できるICチップやICモジュールを用いた構成としてもよい。
また、通信システム1においては、SSL/TLSプロトコルを用いたセキュアな通信を常時行うようにしてもよいし、SSL/TLSプロトコルを用いた通信を行うか否かを選択可能にしてもよい。また、機器11とサーバ装置12との間における双方向の通信のうち一方の方向の通信のみをSSL/TLSプロトコルを用いた通信としてもよい。また、SSL/TLSプロトコルを用いたセキュアな通信を常時行うようにしてもよいし、SSL/TLSプロトコルを用いた通信を行うか否かを選択可能にしてもよい。
SSL/TLSプロトコルを用いた通信を常時行うようにすることで、情報処理装置13により認証された正当な情報処理装置13とは異なる装置からの通信を遮断することができる。このため、機器11やサーバ装置12に対する不正なアクセスや、機器11やサーバ装置12がマルウエアに感染することを抑止することができる。
また、通信システム1においては、SSL/TLSプロトコルを用いた通信を常時行い、機器11やサーバ装置12に対する不正なアクセスを記憶するようにしてもよい。この場合、通信管理装置14に不正なアクセスの記録が送信されるようにしてもよい。通信管理装置14は、不正なアクセスの有無を認識することができ、システム全体に対する大規模攻撃が開始される前の予兆の段階を検出して対策することが可能となる。
また、通信システム1においては、情報処理装置13は、定期的に、自装置が接続されている機器11又はサーバ装置12との接続が維持されているか否かを確認するようにしてもよい。この場合、通信管理装置14に接続状態を示す情報が送信されるようにしてもよい。通信管理装置14は、情報処理装置13から接続状態を示す情報が受信できない場合などには、情報処理装置13が機器11又はサーバ装置12から切り離された判断し、当該切り離された情報処理装置13を無効とする。こうすることで通信管理装置14は、切り離された情報処理装置13が不正な装置に接続されてなりすましに悪用されることを抑制する。
また、通信システム1においては、情報処理装置13に装着するICカード34に、CC(Common Criteria/ISO15408)認証を取得したセキュアエレメントと呼ばれる耐タンパ性の高いチップを搭載してもよい。このチップを用いて、秘密鍵や公開鍵を含む証明書を記憶させることにより、非常に高い安全性を維持することができる。
また、通信システム1においては、サーバ装置12や通信管理装置14等から、情報処理装置13を介して、機器11のプログラムを更新させるようにしてもよい。情報処理装置13を介してプログラムの更新(ファームウェアのアップデート)が行われることにより、安全に機器11の機能を更新させることができる。このようにサーバ装置12から機器11に対してファームウェアが送信される場合、サーバ装置12から送信されるファームウェアには、例えばサーバ側の情報処理装置13Bにより暗号化されたサーバ装置12の署名が付与される。この場合、機器11では、情報処理装置13により署名が復号されることにより、送信されたファームウェアが間違いなくサーバ装置12から送信されたファームウェアであると判定することができる。これにより、あたかもサーバ装置12であるかのように装う不正な端末から、不正なファームウェアが機器11に送信されてしまった場合であっても、機器11に対し不正なファームウェアに基づく誤った更新がなされてしまうことを排除することができる。
また、このように情報処理装置13を介して通信が行われることにより、サーバ装置12や通信管理装置14等から機器11にファームウェアを安全に更新することができるため、作業員が複数の機器11に対して物理的に各々の機器11が設置されている場所まで移動してファームウェアのアップデート作業を行う場合と比較して、作業コストを低減させることも可能である。
また、通信システム1においては、サーバ装置12や通信管理装置14等から、情報処理装置13を介して、機器11の起動や停止を行ってもよい。情報処理装置13を介して起動や停止(リモートアクティベーション)が行われることにより、安全に機器11の機能を更新させることができ、セキュアな遠隔制御を実現させることができる。
また、通信システム1においては、機器11、およびサーバ装置12が有線により通信する場合を例に説明したが、これに限定されることはない。機器11、およびサーバ装置12のうち少なくともいずれかが無線LAN等により無線通信を行う装置であってもよい。例えば、機器11が無線通信によりサーバ装置12と通信を行う場合、情報処理装置13は、無線による通信機能を有し、機器11により送信されるデータを暗号化し、暗号化したデータを、無線通信によりサーバ装置12に送信する。
上述した例では、通信システム1において、機器側の情報処理装置13Aがサーバ側の情報処理装置13Bへデータを送信する通信処理の例を説明したが、情報処理装置13の通信先はこれに限定されることはない。例えば、情報処理装置13Aおよび情報処理装置13Bは、情報処理装置13Cとも同様に通信することができる。情報処理装置13Aは、情報処理装置13Cと通信する場合、まず情報処理装置13Cとの間で相互認証を行い、情報処理装置13Cが正当な通信端末であることを確認する。そして、相互認証が正しく行われた場合、情報処理装置13A又は情報処理装置13Bは、情報処理装置13Cへ情報を送信したり情報処理装置13Cから情報を受信したりすることができる。さらに、情報処理装置13A又は情報処理装置13Bと情報処理装置13Cとの間で伝送するデータは、暗号を使用して認証子が付与されることにより、改ざんの検出および送信者の特定が可能となる。
以上のように、通信システム1においては、機器側の情報処理装置13Aとサーバ側の情報処理装置13Bとの通信において、「正しい相手から」、「改ざんされていないデータを受け取る」ことを確実にすることができ、機器側の情報処理装置13Aからサーバ側の情報処理装置13Bへ伝送するデータのプライバシーを保護することができる。
次に、実施形態に係る通信システム1における機器側の情報処理装置13Aによるデータの分散出力処理とサーバ側の情報処理装置13Bによるデータの復元処理とについて説明する。
まず、実施形態に係る機器側の情報処理装置13Aによるデータの分散出力処理について説明する。
図7は、実施形態に係る情報処理装置13Aが機器11からのデータを分散して複数のデータベース15に送信するデータの分散出力処理の動作例を説明するためのフローチャートである。
通信管理装置14は、各情報処理装置13における通信設定および通信履歴などを管理する。機器側の情報処理装置13Aは、第2通信部32により通信する通信管理装置14から通信設定情報を取得する。機器側の情報処理装置13Aは、通信管理装置14から取得する通信設定情報に従って機器11からのデータを複数のデータベース15に分散して送信するための通信設定を実施しておくものとする。
まず、実施形態に係る機器側の情報処理装置13Aによるデータの分散出力処理について説明する。
図7は、実施形態に係る情報処理装置13Aが機器11からのデータを分散して複数のデータベース15に送信するデータの分散出力処理の動作例を説明するためのフローチャートである。
通信管理装置14は、各情報処理装置13における通信設定および通信履歴などを管理する。機器側の情報処理装置13Aは、第2通信部32により通信する通信管理装置14から通信設定情報を取得する。機器側の情報処理装置13Aは、通信管理装置14から取得する通信設定情報に従って機器11からのデータを複数のデータベース15に分散して送信するための通信設定を実施しておくものとする。
機器側の情報処理装置13Aは、第1通信部31により機器11からのデータを取得する(ステップS31)。機器側の情報処理装置13Aの制御部(第1制御部)30は、通信設定に応じて機器11からデータを分散する分散方法を特定する(ステップS32)。例えば、制御部30は、通信管理装置14で管理する通信設定に従って機器11からのデータを分割する分割数を特定する。
また、制御部30は、通信設定に従って機器11から取得したデータに対して加工が必要かを判断する(ステップS33)。制御部30は、データの加工が必要であると判断した場合(ステップS33、YES)、機器11から取得したデータを通信設定に従う処理方法によって加工する(ステップS34)。
例えば、制御部30は、機器11から取得したデータに対する加工処理として最適化処理を施すようにしても良い。制御部30は、最適化処理の具体例として、機器11から取得する複数のデータに対してうち外れ値となる一部のデータを除外するようにしても良い。また、制御部30は、機器11から取得したデータに対する加工処理としてデータを秘匿化する秘匿化処理を実施しても良い。制御部30は、秘匿化処理の具体例として、特定の数値のデータを特定の数値を含む範囲を示すデータに変換(例えば、27歳というデータを20代というデータに変換)するようにしても良い。
また、制御部30は、通信設定に従ってデータの分割数を特定し、特定した分割数で分割した各分割データの送信(保存)先とするデータベース15を選定する(ステップS35)。例えば、データの分割数がn個である場合、n個のデータベース15を選定する。また、通信管理装置14により指定される通信設定は、分割データの送信(保存)先とするデータベース15を指定するものであっても良い。この場合、制御部30は、通信設定に従って機器11からのデータを分散して送信(保存)するデータベースを特定すれば良い。
制御部30は、分割データの送信先となるデータベースを選定(特定)すると、送信先となる各データベース15に接続される情報処理装置13Cとの相互認証を行う(ステップS36)。例えば、機器側の情報処理装置13Aの制御部30は、分割データの保存先がデータベース151、152、…、15nである場合、データベース側の情報処理装置13C1、13C2、…、13Cnとの相互認証をそれぞれ実行する。
また、制御部30は、選定した各データベース15が分割データの送信(保存)先として問題がないか否かを判断する(ステップS37)。制御部30は、選定した各データベース15に接続する情報処理装置13Cとの相互認証の成否により送信先として問題ないか否かを判断する。また、制御部30は、選定した各データベース15との情報処理装置13Cを経由するデータの通信負荷の状態により分割データの送信先として問題ないか否かを判断する。また、制御部30は、選定した各データベース15又はデータベースに接続する情報処理装置13Cの状態(ソフトウエアのアップデート状況など)により分割データの送信(保存)先として問題ないか否かを判断する。
例えば、制御部30は、選定した各データベース15に接続する全ての情報処理装置13Cとの相互認証に成功し、通信状況が良好で、かつ、各データベース15および各情報処理装置13Cの状態が問題なければ、選定した各データベース15を送信先として問題ないと判断する。また、制御部30は、選定した何れかのデータベース15に接続する情報処理装置13Cとの相互認証に失敗した場合、通信負荷が基準値以上である場合、又は、選定したデータベース15又は情報処理装置13Cの状態に問題がある場合、送信先として選定したデータベース15に問題があると判断する。
制御部30は、選定した複数のデータベースに送信先として問題があるデータベースがある場合(ステップS37、NO)、通信管理装置14へアラートを報知する(ステップS38)。例えば、制御部30は、送信先として問題があると判断したデータベース又は情報処理装置13Cを示す情報を通信管理装置14へ通知するようにしても良い。これに応じて、通信管理装置14は、問題があると判断されたデータベースを管理者に通知する。また、通信管理装置14は、問題があると判断されたデータベースを分割データの送信先として設定しないようにする通信設定情報を各機器側の情報処理装置13Aへ供給するようにしても良い。
さらに、制御部30は、送信先として問題があるデータベースがある場合、送信先として問題があるデータベース(又は情報処理装置)を除外して分割データの送信先を別のデータベースに変更する送信先の変更処理を実行する(ステップS39)。送信先の変更処理において、分割データの送信先とする別のデータベースが見つからない場合、制御部30は、通信管理装置14を分割データの送信(保存)先の1つとして設定しても良いし、情報処理装置13Bとの通信可能な別のデバイスを分割データの送信(保存)先の1つとして設定しても良い。
制御部30は、送信先として問題があるデータベースがない場合(ステップS37、YES)、送信先の変更処理で送信先のデータベースを変更した場合、分割データの送信先とするデータベース15を確定する。制御部30は、機器11から取得したデータを送信先として確定した各送信先とするデータベースごとに分割することにより分割データを生成する(ステップS40)。
制御部30は、機器11から取得したデータを分割した分割データを生成すると、各分割データを暗号化し(ステップS41)、暗号化した分割データを各送信先のデータベース15に接続された情報処理装置13Cへ送信する(ステップS42)。
例えば、機器側の情報処理装置13Aの制御部30は、相互認証が成功した情報処理装置13Cが復号可能となる暗号鍵を用いて分割データを暗号化しても良い。この場合、情報処理装置13Aで暗号化された分割データは、情報処理装置13Cで復号化されてデータベース15に保存される。つまり、情報処理装置13Cは、情報処理装置13Aからの分割データを復号化してデータベース15へ供給する。これにより、データベース15には、機器側の情報処理装置13Aが生成した分割データが保存されることになる。
また、機器側の情報処理装置13Aの制御部30は、サーバ側の情報処理装置13Bが復号可能となる暗号鍵を用いて分割データを暗号化しても良い。この場合、情報処理装置13Aで暗号化された分割データは、情報処理装置13Cでパススルーされて暗号化された状態のままでデータベース15に保存される。つまり、情報処理装置13Cは、情報処理装置13Aから受信するデータをそのままの状態でデータベース15に供給する。これにより、データベース15には、機器側の情報処理装置13Aで生成された分割データがサーバ側の情報処理装置13Bで復号可能に暗号化された状態で保存されることになる。
制御部30は、分割データを複数のデータベース15に送信すると、機器11から取得したデータを分割した各分割データの送信(保存)先を示す情報を含む通信履歴情報を通信管理装置14へ送信する(ステップS43)。通信管理装置14は、機器側の情報処理装置13Aから受信する通信履歴情報を記憶部62に保存する。
上述したデータの分散出力処理によれば、機器とネットワークとの間に接続される機器側の情報処理装置は、機器から取得したデータを内容が分からないように分割した分割データとして複数のデータベースに送信する。これにより、各データベースは、データの内容が分からない分割データとして機器からのデータの一部を保存できる。この結果、機器自体に分散出力処理を行うためのソフトウエアなどをインスト―ル等する必要がなく、機器側の情報処理装置から複数のデータベースに至る通信経路におけるデータの秘匿性を確保でき、各データベースにおいても内容が判別できない分割データの状態で保存することでデータのプライバシーを保護することができる。
次に、実施形態に係る通信システム1におけるサーバ側の情報処理装置13Bによるデータの復元処理について説明する。
図8は、サーバ側の情報処理装置13Bが複数のデータベース15に保存された複数の分割データから復元したデータをサーバ装置12へ供給するデータの復元処理の動作例を説明するためのフローチャートである。
サーバ側の情報処理装置13Bは、第1通信部31によりサーバ装置12からのデータの取得要求を受信する(ステップS41)。ここで、サーバ装置12が取得を要求するデータは、上述したデータの分散出力処理によって複数のデータベース15に分割データとして保存された機器11からのデータであるものとする。
図8は、サーバ側の情報処理装置13Bが複数のデータベース15に保存された複数の分割データから復元したデータをサーバ装置12へ供給するデータの復元処理の動作例を説明するためのフローチャートである。
サーバ側の情報処理装置13Bは、第1通信部31によりサーバ装置12からのデータの取得要求を受信する(ステップS41)。ここで、サーバ装置12が取得を要求するデータは、上述したデータの分散出力処理によって複数のデータベース15に分割データとして保存された機器11からのデータであるものとする。
サーバ側の情報処理装置13Bの制御部(第2制御部)30は、サーバ装置12が要求するデータ(機器11からのデータ)が分割データとして保存されているデータベースを特定する(ステップS42)。通信管理装置14は、機器側の情報処理装置13Aが機器11からのデータを分割データとして送信(保存)したデータベースを示す情報(通信履歴情報)を保持している。サーバ側の情報処理装置13Bの制御部30は、第2通信部により通信する通信管理装置14から取得するデータ(機器11からのデータ)に関する通信履歴情報を取得する。制御部30は、通信管理装置14からの通信履歴情報に基づいて機器11からのデータが分割データとして保存されているデータベースを特定する。
ただし、機器11からのデータが分割データとして保存されているデータベースは、サーバ装置12が特定するようにしても良い。この場合、サーバ装置12は、通信管理装置14と通信し、機器11からのデータが分割データとして保存されているデータベースを示す通信履歴情報を通信管理装置14から取得する。サーバ装置12が分割データを保存するデータベースと特定する場合、情報処理装置13Bは、サーバ装置12が特定した各データベース15から情報処理装置13Cを介して分割データを取得するようにすれば良い。
サーバ側の情報処理装置13Bの制御部30は、機器11からのデータの分割データを保存するデータベースを特定すると、機器11からのデータを分割した全ての分割データが必要であるか否かを判断する(ステップS53)。サーバ側の情報処理装置13Bの制御部30は、機器11からのデータを復元するのに必要な所定量(分割データの必要数)が設定されるものとする。
例えば、秘密分散の技術では、1つのデータから分割(生成)した全ての分割データ(シェア)がなくても、所定量以上の分割データがあれば元のデータを復元できる。また、統計的な分析や機械学習に用いるデータなどは、全てのデータを取得しなくても所定量以上のデータがあれば良いこともある。これらのように、サーバ装置12が要求するデータは、所定量以上を分割データから復元することができる場合もある。通信管理装置14は、機器11からのデータを復元するのに必要な分割データの必要数などを通信設定として管理する。
サーバ側の情報処理装置13Bの制御部30は、全ての分割データが必要ではないと判断した場合(ステップS53、NO)、サーバ装置12が要求するデータを復元するのに必要な分割データを保存しているデータベース15を選定する(ステップS54)。例えば、n個ある分割データのうち復元に必要な分割データの数がt(t<n)個である場合、制御部30は、必要数tの分割データの取得先とする必要数tのデータベース15を選定する。具体例としては、制御部30は、通信負荷が小さい順に必要数のデータベースを分割データの取得先のデータベースとして選定しても良い。
また、サーバ側の情報処理装置13Bの制御部30は、分割データの取得元のデータベース15を設定(選定)すると、それらのデータベース15から情報処理装置13Cを介して分割データを取得する(ステップS55)。サーバ側の情報処理装置13Bの制御部30は、取得元のデータベース15に接続される各情報処理装置13Cと相互認証を実行し、相互認証が成功した各情報処理装置13Cから複数のデータベース15に保存した分割データを受信(収集)する。
サーバ側の情報処理装置13Bの制御部30は、各データベース15から情報処理装置13Cを介して取得する分割データを復号化する(ステップS56)。例えば、分割データが機器側の情報処理装置13Aで暗号化されている場合、サーバ側の情報処理装置13Bの制御部30は、情報処理装置13Aの共通鍵を用いて分割データを復号化する。また、分割データがデーベース側の情報処理装置13Cで暗号化されている場合、サーバ側の情報処理装置13Bの制御部30は、情報処理装置13Cの共通鍵を用いて分割データを復号化する。
サーバ側の情報処理装置13Bの制御部30は、復号化した分割データを集めて元のデータ(機器11からのデータ)を復元する(ステップS57)。制御部30は、収集した分割データによりデータを復元すると、復元したデータを第2通信部32によりサーバ装置12へ送信する(ステップS58)。
また、サーバ側の情報処理装置13Bの制御部30は、復元したデータをサーバ装置12へ送信した場合(データ復元処理を終了した場合)、各データベース15から取得する分割データをサーバ装置12へ送信した履歴を示す通信履歴情報を通信管理装置14へ送信しても良い。これにより、通信管理装置14は、サーバ側の情報処理装置13Bがデータの復元処理を実行した履歴を示す履歴情報を管理できる。
上述したデータの復元処理によれば、サーバとネットワークとの間に接続するサーバ側の情報処理装置は、元のデータの内容が分からないように分割された分割データを複数のデータベースから収集し、複数のデータベースから収集した複数の分割データにより元のデータを復元し、復元したデータをサーバ装置へ供給する。これにより、サーバ装置自体にデータの復元処理を行うためのソフトウエアなどをインスト―ル等する必要がなく、複数のデータベースからサーバ側の情報処理装置へ至る通信経路におけるデータの秘匿性を保つことができ、データのプライバシーを保護できる。
なお、サーバ側の情報処理装置は、元のデータ(機器からのデータ)をサーバ装置12へ供給するのではなく、複数の分割データから得られた計算結果をサーバ装置12へ供給するようにしても良い。例えば、通信管理装置14又は何れかの1つのデータベース15(データベースとしてのサーバ)は、複数のデータベース15と通信して暗号化されている分割データを収集し、収集した暗号化されている分割データに対する秘密計算などを用いて得られる計算結果を情報処理装置13B経由でサーバ装置12へ送信するようにしても良い。ここで、秘密計算は、データを暗号化されたままの状態で計算する技術である。例えば、サーバ装置12がデータの分析を行う分析装置である場合、通信管理装置14又はデータベース15の何れかは、暗号化された状態の分割データを収集し、収集した暗号化された状態のままの分割データに対して分析アルゴリズムを用いて分析処理(計算)を実行し、その計算結果(データの分析結果)を情報処理装置13B経由でサーバ装置12へ供給できるようにすることもできる。
以上のように、実施形態に係る通信システムによれば、機器から出力される個人情報や機密情報を含むデータを機器およびサーバ装置に外付けで接続する情報処理装置によって複数のデータベースに分散して送信することでセキュリティとプライバシーとを守ることができる。また、実施形態に係る通信システムによれば、機器側の情報処理装置およびサーバ側の情報処理装置に適用するデータの分散方法や復元方法などを含む通信設定を通信管理装置が一括で管理することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…通信システム、11…機器(IoTデバイス、端末装置)、12…サーバ装置、13(13A1、13A2、13A3、13B、13C1、13C2、…、13Cn)…情報処理装置、14…通信管理装置、17…ゲートウエイ、18…ネットワーク、NW…ネットワーク、21(21A1、21A2、21A3、21B)…第1ポート、22(22A1、22A2、22A3、22B)…第2ポート、30…制御部、31…第1通信部、32…第2通信部、33…リーダライタ、34…ICカード、40…ICモジュール、41…コンタクト部、42…ICチップ、43…UART、44…CPU、45…ROM、46…RAM、47…EEPROM、60…NW通信部、61…制御部、62…記憶部。
Claims (13)
- 第1の情報処理装置と第2の情報処理装置とを有する通信システムであって、
前記第1の情報処理装置は、
機器に接続する第1通信部と、
ネットワークに接続する第2通信部と、
前記第1通信部により前記機器から取得したデータを複数の分割データに分割し、前記複数の分割データを前記第2通信部により前記ネットワークを経由して複数のデータベースに分散して送信する第1制御部と、を有し、
前記第2の情報処理装置は、
サーバ装置に接続する第3通信部と、
前記ネットワークに接続する第4通信部と、
前記第4通信部により前記ネットワークを経由して複数のデータベースから収集する分割データによって復元したデータを前記第3通信部により前記サーバ装置へ送信する第2制御部と、を有する、
通信システム。 - 前記第1制御部は、前記複数の分割データを暗号化し、暗号化した分割データを複数のデータベースへ送信する、
請求項1に記載の通信システム。 - 前記第2制御部は、前記第2通信部により複数のデータベースから暗号化された複数の分割データを収集し、収集した各分割データを復号化し、復号化したデータ群によってデータを復元する、
請求項2に記載の通信システム。 - 前記第2通信部は、前記ネットワークに接続される他の装置が複数のデータベースから収集する複数の分割データを用いて計算した計算結果を受信し、
前記第2制御部は、前記第2通信部により受信した計算結果を前記サーバ装置へ送信する、
請求項2に記載の通信システム。 - 前記第1制御部は、前記第2通信部により前記ネットワークに接続する通信管理装置から取得する通信設定情報に基づいて前記機器から取得したデータに対する分割数を設定する、
請求項1に記載の通信システム。 - 前記第2制御部は、前記第4通信部により前記ネットワークを介して接続する通信管理装置から取得する通信設定情報に基づいてデータを復元するのに必要となる分割データの必要数を設定する、
請求項1に記載の通信システム。 - 前記第2制御部は、前記必要数の分割データを通信負荷の少ないデータベースから取得する、
請求項6に記載の通信システム。 - 前記第1制御部は、前記第2通信部からの分割データの送信が不可となったデータベースが存在する場合に前記ネットワークに接続する通信管理装置にアラートを通知する、
請求項1に記載の通信システム。 - 前記第1制御部は、前記第2通信部からの分割データの送信が不可となったデータベースが存在する場合に当該分割データの送信先を変更する、
請求項1に記載の通信システム。 - 前記第1制御部は、前記機器から取得したデータを最適化処理した後に複数の分割データに分割する、
請求項1に記載の通信システム。 - 前記第1制御部は、前記機器から取得したデータを秘匿化した後に複数の分割データに分割する、
請求項1に記載の通信システム。 - 機器に接続する第1通信部と、
ネットワークに接続する第2通信部と、
前記第1通信部により前記機器から取得したデータを複数の分割データに分割し、前記複数の分割データを前記第2通信部により前記ネットワークを経由して複数のデータベースに分散して送信する制御部と、
を有する情報処理装置。 - サーバ装置に接続する第1通信部と、
ネットワークに接続する第2通信部と、
前記第2通信部により前記ネットワークを経由して複数のデータベースから収集する分割データによって復元したデータを前記第1通信部により前記サーバ装置へ送信する制御部と、
を有する情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022205691A JP2024090051A (ja) | 2022-12-22 | 2022-12-22 | 情報処理装置および通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022205691A JP2024090051A (ja) | 2022-12-22 | 2022-12-22 | 情報処理装置および通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024090051A true JP2024090051A (ja) | 2024-07-04 |
Family
ID=91715817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022205691A Pending JP2024090051A (ja) | 2022-12-22 | 2022-12-22 | 情報処理装置および通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024090051A (ja) |
-
2022
- 2022-12-22 JP JP2022205691A patent/JP2024090051A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220385655A1 (en) | Communication control system and communication control device | |
CN114465815A (zh) | 一种基于区块链和sgx的访问权限控制系统及方法 | |
JP7458470B2 (ja) | 通信制御装置 | |
JP7132150B2 (ja) | 通信制御システム | |
JP7042853B2 (ja) | クライアント側通信制御装置、およびサーバ側通信制御装置 | |
JP7163206B2 (ja) | 通信制御装置 | |
US11736219B2 (en) | Communication control device and communication control system | |
JP2024090051A (ja) | 情報処理装置および通信システム | |
JP7273523B2 (ja) | 通信制御装置および通信制御システム | |
JP7246945B2 (ja) | 通信制御ユニット | |
WO2023176431A1 (ja) | 情報処理装置および通信システム | |
GB2570292A (en) | Data protection | |
WO2024157944A1 (ja) | 通信システム、情報処理装置および監視方法 | |
KR20140004703A (ko) | 제어된 보안 도메인 | |
JP2024074630A (ja) | 情報処理装置および通信システム | |
US20230403177A1 (en) | Communication system and computer-readable storage medium | |
US20240380760A1 (en) | Information processing apparatus and communication system | |
JP2022064688A (ja) | IoT機器認証システム、IoT機器認証方法、鍵配信用サーバおよびICチップ |