そこで本稿では、独立行政法人情報処理推進機構(IPA)より公開された、「IoT開発におけるセキュリティ設計の手引き」(以下、ガイドライン)について紹介します。このガイドラインの初版は、2016年5月12日に公開されたもので、IoT開発においてセキュリティ設計を担当している技術者を主な対象として作成されています。
このガイドラインは、高い頻度で更新されており、さまざまなIoT製品に言及した体系的な文書となっています。当然ながら、今後のIoT製品の普及に伴い、推奨される安全な設計の内容は変化すると考えられるので、大変歓迎できることと言えるでしょう。
本稿は2017年1月30日の版に基づいて執筆しました。今後、IoT製品の開発に携わる技術者のみならず、IoT製品について関心がある人たちは、まずこのガイドラインの最新版を読むことによって、適切な情報とともに多くの気づきが得られるでしょう。
IoT製品の課題
IoTに分類される製品にはまったく新しく開発された製品も存在しますが、その大半はセンサーや家電を始めとした電子機器に、ネットワーク通信の機能などを追加し、コネクテッド (Connected)となったものです。
IoTに分類される製品として近年注目を集めている製品には、自動車や医療機器が挙げられます。例えば、現在研究が進んでいる自動運転技術では、GPSを用いて取得された自動車の位置情報などがインターネット上でやり取りされます。医療機器においても、患者の生体情報などがインターネット上でやり取りされます。
これらの製品のセキュリティが脅かされることで、従来はインターネット上でやり取りされる機会が少なかった情報が漏えいする危険性や、自動運転技術を備えた自動車や医療機器を攻撃されることで人命が失われる危険性があるため、従来の情報機器に比べるとIoT製品のセキュリティには多くの脅威と課題が存在しているといえます。
本稿で紹介する、このIPAのガイドラインでは、主にIoT製品の開発に携わる技術者に向けて、セキュリティ設計を考える上で参考になる情報をまとめたものとなっています。参考となる文献の情報も記載されており、以前「OWASPでビルトイン・セキュリティ」の第5回の記事で紹介した「Top 10 IoT Vulnerabilities」を公開しているOWASP Internet of Things Projectについても触れられています。
IoTシステムをモデル化する
開発を始める前の段階において検討すべきことを明確にするために、IoTシステムをモデル化するという方法があります。IoTシステムはさまざまな団体でモデル化が行われており、各々の団体でのモデルで全体像や構成要素に差異があります。このガイドラインでは既存の事例を参考として、IoTの構成要素を以下の5項目でモデル化しています。
- サービス提供サーバ・クラウド
- 中継機器
- システム
- デバイス
- 直接相互通信するデバイス
これらの構成要素は、以下に示す表のように定義されています。各構成要素からなる全体像をセキュリティの検討対象としています。
構成要素 | 対象となる範囲 | 特に注意して対策すべき事項 |
---|---|---|
サービス提供サーバ・クラウド | IoT機器にサービスを提供するもの |
・脆弱性対策 ・認証やログイン方法の見直し |
中継機器 |
IoT機器やシステムを、ネットワークに接続する中継機器。 ファイアウォールやルータなどのネットワーク機器に加え、スマートフォンなど |
・IoT機器の性能上、実装が難しいセキュリティ機能の実装(例:不正通信の制御) |
システム | 単一の機器ではなく、複数の機器で構成されるシステム |
・長期間利用する機器や、止まることが許されない機器への脆弱性対策 ・インターネットに接続されていないが、内部ネットワークを構成している機器へのセキュリティ対策 |
デバイス | ネットワークに接続されるIoT製品(情報家電など) | (デバイス上に十分なセキュリティ対策ができない場合は、別の構成要素で補足する) |
直接相互通信するデバイス |
中継機器を介さずに通信を行う機能を持つ製品。 ポータブルゲーム機や、車々間通信機能を備えた自動車など |
・不正なデバイスと接続してしまった場合の対策 |