Things Cloud のセキュリティー

セキュリティー

概要

ここでは Things Cloud の複数のセキュリティー面(物理的セキュリティー、ネットワークセキュリティー、アプリケーションセキュリティー、アクセス制御)について詳しく説明していきます。さらに Things Cloud がIoTソリューションのセキュリティー管理をどのように手助けできるか説明します。

REST の実装ユーザーのセキュリティー関連箇所で詳細情報が記してあります。個々のAPIコールに必要な権限はそれぞれの参照ガイドにあるAPIの部分をご参照ください。

物理的セキュリティー

ITシステムの物理的セキュリティーとはサーバー・ストレージ・ネットワークなどの各デバイスへの無許可アクセスを防止することを表します。

Things Cloud は NTTコミュニケーションズのクラウド上で、日本国内のデータセンターに構築されており、Enterprise Cloud の持つ強固な物理的セキュリティーが適用されます。

IoTの物理的セキュリティーはデータセンターのみでなく、デバイスに対しても守る必要があるべき点に留意してください。例えば、デバイスからのデータをリダイレクトしたり操作したり、デバイス自身の情報を得たり、デバイスの設定を変更されたりなど外部からの進入を防止する必要があります。IoTを用いたシステムで使用するデバイスの物理的セキュリティーについて必ず確認するよう留意ください。例えば設定用のポートに対する物理的なアクセス防止対策をとるなどが当てはまります。

ネットワークセキュリティー

ネットワークセキュリティーは、ネットワーク上にあるデータへの無許可アクセス、データの改ざんなどを防止すると同時に安全で安定したネットワークサービスの接続を確保することも含まれます。

Things Cloud は、NTTコミュニケーションズ WideAngle マネージドセキュリティーサービスの定める基準をクリアしており、Web Application Firewallに守られています。 さらに Things Cloud はデータが改ざんされないよう、デバイスからアプリケーションまでエンド・ツー・エンドのhttps通信を行っています。

下図は Things Cloud のネットワークダイアグラムです。センサーネットワーク内とセンサーネットワークからエージェントへの通信にはデバイスやゲートウェイ固有のプロトコル(ZigBee や Modbusなど)を使用しています。これにより、安全性の確保をセンサーネットワークに限定することができるようになります。エージェントは Things Cloud に対し https を使用します。同様に IoTアプリケーションは Things Cloud 上で https を使用します。もしIoTアプリケーションが独自のプロトコルをウェブブラウザ上で利用する場合、これらを https 対応にすることを推奨します。

Communication security

上記の通り Things Cloud ではインターネットに対するサーバーポートや独自のプロトコルが必要ありません。このことは、セキュリティー確保に大きく貢献します。デバイスの Things Cloud 接続の単純化のみならず、デバイスの安全性確保も大きく単純化されます。IoTプロジェクトでは、Things Cloud で提供するセキュリティー特性を元に、全体のセキュリティー設計を十分行うようにしてください。

アプリケーションセキュリティー

アプリケーションセキュリティーとはソフトウェアレベルの安全性についてのことです。

Things Cloud では WideAngle マネージドセキュリティーサービスの定める基準をクリアするのみではなく、その他にもいくつかのベストプラクティスも追加しており、 Things Cloud の安全性を確立しています。

  • Things Cloud の全ての機能は公開されたセッションレスREST APIで実行されます。 Things Cloud ではセッションハイジャックが使えません。
  • デバイスは個々に Things Cloud デバイス登録機能と接続されます。これにより、もしデバイス自身が改ざんされたり盗まれた場合でも、その特定デバイスの接続を切ることで問題が解決できます。

アクセス制御

Things Cloud は領域, ユーザー、ユーザーグループ、権限を基盤とした認証モデルを使用しています。まず、領域は同じ認証・権限ポリシーを使用するユーザーとユーザーグループの集まりを指します。ユーザーは Things Cloud にアクセス許可を持つ個人または外部システムを指します。全てのアクセスは権限によって制御されます。管理を簡略化するためにユーザーで同等の権限を持つものをユーザーグループとしてグループ化できます。一人のユーザーは複数のユーザーグループに所属することが可能です。

Things Cloud は各テナントにユーザーの属する領域を新しく作成します。この領域では各ユーザーとして好きなユーザー名を利用できます。領域をまたがって同一のユーザー名があっても区別されます。テナントAの"コム太郎”はテナントBの"コム太郎"とは別に扱われます。このユーザー名はユーザーの所属するテナントが利用する全ての Things Cloud アプリケーションで使用可能です。

それぞれの領域には自動的に管理者ユーザーが指定され、この管理者は自由にユーザーやユーザーグループを追加し、許可を与えることができます。各企業ではこの管理アプリケーションを利用して自由にユーザー、権限管理することができます。

User management screenshot

システム上で特定の機能を実行するためには2つのコンセプトが必要になります:権限と所有者です。権限はユーザーの実行できる機能を定義します。 Things Cloud では読み取り権限と管理者権限を区別します。読み取り権限は各ユーザーにデータの閲覧を許可します。管理者権限はユーザーにデータの作成・更新・削除を許可します。この二つの権限は Things Cloud 内の各データタイプ別に定義できます。例えば、インベントリ、メジャーメント、オペレーション、などにそれぞれに読み取り権限が存在します。

インベントリ内のオブジェクトは全て所有者が存在します。所有者は自分の持つ他の権限に関係なく常に以下のことができます:

  • 所有するオブジェクトの閲覧、更新、削除
  • 所有オブジェクトに関連するデータの作成、更新、削除

例えば、インベントリ内にあるスマートメーターを所有していたとします。所有者であるかぎり、他の権限がなくてもこのスマートメーターが抽出した全てのデータを利用することができます。

インベントリには"作成"機能があります。この機能の権限のみを持つユーザーは新しいオブジェクトをインベントリ内に作成できますが、データの閲覧・変更・削除などはできません。この機能はデバイス設置のときに利用できます。この"作成"権限でオブジェクトを他のオブジェクトへ子デバイス・子アセットとして登録することもできます。

マネージドオブジェクトへのアクセス制限

グローバルロールおよびインベントリロールは、管理アプリケーションのページにて権限を作成・管理することができます。

Global role

オブジェクトの全ユーザーへの公開

特別の権限のないユーザーも含め全てのユーザーにオブジェクトへアクセスする許可を与えることができます。"c8y_Global" というフラグメントを新しく追加してください。

セキュリティー・マネジメント

セキュリティー関連のイベントを監視のためにログとして保存することができます。セキュリティー関連イベントはアプリケーション上、またはIoTネットワーク上で発生します。”アプリケーションへログインする”という操作がアプリケーション上で起きるセキュリティー関連イベントの一例です。ネットワーク上のセキュリティー関連イベントの一例としては”ローカルのソフトウェアかローカルの制御を活用してデバイスを操作する”などになります。

セキュリティー関連のイベントを試したい方のために Things Cloud は監視インターフェースを提供しています。このインターフェース上ではアプリケーションやエージェントに監視ログを作成させることができ、この監視ログは一度保存されたら外部からの変更が不可能で継続的に保存されます。 Things Cloud 自身もログインやデバイス管理運用に関する自身の監視ログを作成します

概略

Things Cloudのセキュリティーはさまざまなレベルで対処しています。

すべてのビジネスパートナーおよびサービスプロバイダはセキュリティー証明書を認証しています。 Things Cloudは、個々の認証および認可方法によってネットワークセキュリティーの側面を扱っています。

Things Cloudとの接続はHTTPSテクノロジを使用して確立されます。 すべてのテナントは、ユーザーおよびユーザーグループを追加または廃止するための全権限を与えられています。 テナントはエージェントとデバイスにも権限を割り当てます。