「セキュリティ・バイ・デザイン」で設計段階からセキュリティを組み込む
IoTに関連したセキュリティの技術的な指針としては、IPAや総務省、経産省がさまざまなガイドラインを公開している。Webアプリケーションのセキュリティ向上を目的とした国際的なコミュニティOWASPでも「OWASP Internet of Things Project」を展開しており、プロジェクトの成果として各種のドキュメントがある。
- 『IoTセキュリティガイドライン ver 1.0』(IoT推進コンソーシアム、総務省、経済産業省)
- 『IoT開発におけるセキュリティ設計の手引き』(IPA)
- 『つながる世界の開発指針(第2版)』(IPA)
- OWASP Internet of Things Project
これらに加えて北野氏が推奨するのが、米NISTの『Security Considerations in the System Development Life Cycle(情報システム開発ライフサイクルにおけるセキュリティの考慮事項)』だ。
- 『Security Considerations in the System Development Life Cycle(情報システム開発ライフサイクルにおけるセキュリティの考慮事項)』(NIST)
IoTに特化しているわけではなく、どちらかというとソフトウェアを中心としたシステムを対象としたものだが、システム開発ライフサイクル(SDLC)全体の中でどのようにセキュリティを組み込んでいくか、それぞれのプロセスで何をすべきかが解説されている。
「IoT機器やサービスの開発ライフサイクル全体でセキュリティを考えること、特に、より早い段階からセキュリティを組み込む『セキュリティ・バイ・デザイン』を実践することが重要です」(北野氏)
IoT機器の設計・開発段階においてセキュリティを組み込んでいく大まかな流れは、次のとおり。
まず最初の開発計画では、IoT機器およびそれを使ったサービスで「何が重要なのか」を考え、守るものを明確化する。基本設計の段階では、どういう問題が起こりうるのか、どんな方針で対応するのかを考え、セキュリティの基本的な枠組みを決める。詳細設計の段階では、基本設計として暗号や認証、耐タンパー性の設計・実装などを行う。
続いて、採用したセキュアコーディングのルールに従ってソフトウェアを作成するとともに、テストケースを作成。あわせてハードウェアを開発し、プロトタイプに落とし込む。そして、テスト・修正の段階では、脆弱性検査を実施して少なくとも既知の問題については穴がないか確認。リリース(出荷)判定にあたっては、設計されたとおりにセキュリティの機能が動いているかをしっかりとチェックする。
こうしたセキュリティ・バイ・デザインを基本とするIoTのセキュリティ対策を効率的に進めるためには、組織内の体制やルール作りも欠かせない。工業製品であるIoT機器の設計・開発部門は決して情報セキュリティのエキスパートではないし、情報セキュリティの管理を担う部門(情報システム部門が多い)は工業製品の開発プロセスを熟知しているわけではない。両者がスムーズに連携・協力し合える体制を構築するとともに、IoT製品の設計・開発に関する一元的なセキュリティポリシーの策定および標準化が必要だ。一部はセキュリティポリシーというよりも、製造業における開発標準や品質管理基準に組み込むという形もありえるだろう。
また、IoT製品の出荷やサービス開始後に問題が起きた場合のインシデント対応の体制も整備する必要がある。具体的には、IT関連のインシデントレスポンスチームである「CSIRT」の考え方を製品(プロダクト)に当てはめた「P-SIRT」の設置などを検討することになるだろう。