特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2017年04月07日 11時00分 公開

セキュリティを意識したIoTデバイス設計の勘所(3):IoTデバイスのセキュリティに不可欠な要素とは (2/3)

[森本純(トレンドマイクロ),MONOist]

IoTデバイスのライフサイクル各段階で求められるセキュリティ要件

 IoTデバイスのセキュリティについては、このライフサイクルにおける4つのステップを踏まえたセキュリティ設計を行い、あらかじめ実装した上でデバイスを市場に投入することが求められます。それぞれのステップにおいて必要とされる主なセキュリティ要件は次の通りです。

1.起動

 起動段階では、IoTデバイスの挙動をつかさどるファームウェアが改ざんされていないことの確認と起動プロセスそのものの保護が必要です。

ファームウェアの完全性チェック

 第三者による改ざんといった形でファームウェアが変更されていないことを確認するために、ファームウェアにあらかじめチェックサム(データをやりとりする際に内容に変更がないかなど誤りを検出するための仕組み)を埋め込んだり、セキュアなパスワードを設定したりしておくことで完全性チェックを行います。

安全な起動(セキュアブート)

 PKI(Public Key Infrastructure:公開鍵基盤)などの方法で署名、暗号化されたファームウェアの信頼性を検証し、信頼できない処理の実行を防ぐことでファームウェアの起動プロセス全体を保護して安全な起動を実現します。

2.初期化

 初期化段階では、運用段階でIoTデバイスが本来の役割を果たすための挙動を安全に行えるよう前準備を整えます。中でも、3つのA、すなわちAuthentication(認証)、Authorization(認可)、Accounting(課金の管理)に関わる部分のセキュリティ強化が重要です。

アカウントの保護

 IoTデバイスのアカウント認証情報が初期設定のまま使用されるのは望ましくありません。アクティベーションプロセスで初期設定のパスワードの変更を利用者に求めることを推奨します。

鍵/証明書の保護

 KMS(Key Management System:鍵管理システム)やCMS(Certificate Management System:証明書管理システム)を使って、暗号化に利用する暗号鍵/復号鍵を保護します。または、これらの鍵をTPM(Trusted Platform Module:セキュリティチップ)に保管します。

暗号化による通信の保護

 デバイス間、デバイスとインターネット間、デバイスとユーザーインタフェース間(モバイルアプリやWebアプリ経由)の通信をHTTPSやAESなどを使用して、暗号化します。

通信時のID認証による通信の保護

 通信に使われるIDの偽造を防ぐために、通信対象の認証を確実に実行します。ここでも、KMSやCMSは重要な役割を果たします。

3.運用

 運用段階では、IoTデバイスがセキュリティを侵害されることなく本来の役割を果たすことができるよう配慮する必要があります。ここでは、主にアカウントの管理、運用中の異常監視、各種処理実行時の完全性チェック、ネットワーク経由のファームウェアアップデート(FOTA:Firmware Over the Air)、及びFOTAにおけるリスク軽減策の実装がポイントとなります。

アカウントの保護

 バックドアとなり得るデバッグ目的のアカウントを削除します。トレンドマイクロの調査では、複数のIoTデバイスでデバッグ目的のアカウントがシステム内にそのまま保持されていることが確認されており、不正な侵入を可能にするリスクが懸念されています。運用中、新しい別のデバイスやユーザー、及びクラウド側のシステムと連携をするために新たに作成されるアカウントについても、認証による保護やそのための適切な鍵の管理などが必要です。

運用中の異常監視

 デバイスの運用上異常な動作を定義し、その異常な動作の検出に必要な機構を組み込み、異常検出時にはバックエンドのシステム、または利用者に警告を発する機能の実装が必要です。

処理の完全性チェック

 デバイス上で行われる各種処理が実行される時に完全性をチェックすることで、運用中の不正侵入を阻止します。デバイスとクラウド上のバックエンドシステムで双方向の完全性チェックを実施することで、保護レベルをさらに高めることが可能です。

セキュアなFOTAとそのためのリスク軽減策の実装

 運用中に発見される新たな脆弱性を利用した攻撃に対応するためにもネットワーク経由のFOTAは不可欠です。他方で、ネットワーク経由の更新処理自体も攻撃の対象となり得ることから、FOTAをより安全に行うために、IPS(Intrusion Prevention System:侵入防止システム)や、ホワイトリスト型のセキュリティ対策などを実装し、ファームウェア更新時のセキュリティリスクを軽減します。

4.アップデート

 ファームウェアの更新処理も攻撃者の標的となり得るため、IPSやアクセス制御によるFOTA時のリスク軽減策に加え、入手した新しいファームウェアの完全性チェックと保護を行うべきです。

セキュアなFOTA

 次のライフサイクルでセキュアな起動が再び実行されるように、新しいファームウェアの暗号化と完全性のチェックが必要です。

図3 図3 IoTデバイスのライフサイクル各段階におけるセキュリティ実装例(クリックで拡大)

Copyright © ITmedia, Inc. All Rights Reserved.