セキュリティバイデザインは、後付けではなく企画・設計の段階からセキュリティ仕様を取り込んで行うシステム開発手法です。セキュリティバイデザインは、内閣サイバーセキュリティセンターにより、「情報セキュリティを企画・設計段階から確保するための方策」として定義され、システムのセキュリティ品質を向上させるとされます。
「政府情報システムにおけるセキュリティ・バイ・デザインガイドライン」(デジタル庁、2022年6月発行)においても、政府調達のシステムにおける基本的な開発手法として要求されているものです。
サイバーセキュリティの脅威が高まる中で、セキュリティバイデザインは具体的にはどのような理由により必要とされているのか、また、メリットとデメリットについて解説します。
セキュリティバイデザインとは
製品の企画・設計のフェーズからセキュリティ対策を組み込んでおき、サイバーセキュリティ対策を確保しておく開発手法および開発の基本的な考え方をセキュリティバイデザインといいます。
サイバーセキュリティに対するマルウェアや標的型攻撃などの脅威が高まる中で、より効果的にサイバーセキュリティ対策を行うには、企画・設計の段階、つまり開発の初期から対応をする必要があります。
従来は、開発が行われたシステムに対して、セキュリティ対策を後から施すのが標準的な開発工程でした。
しかし、企画・設計の段階からセキュリティの観点から回避することが望ましい仕様を避けることができず、セキュリティ対策が不十分になることが問題点とされます。さらに、後からの改修が必要となることなどの弊害が生じ、コストがかさむことも課題です。
加えて、IoTシステムなどの他のシステムとの通信による接続を前提としている場合、初期設定からシステムのライフサイクルを通じたセキュリティ対策を行う必要がありますが、そのために必要なセキュリティ仕様は、設計段階から組み込んでおく必要があります。
セキュリティバイデザインの必要性について
まず第一に、セキュリティバイデザインは、セキュリティ要件を満たす開発手法として効果的・効率的です。従来のいわば後付けのセキュリティ対策では手戻りが生じがちであり、時には根本的に設計を変えないといけないことさえあるので、当初から仕様に組み込むことはコスト・時間の効率を高めると考えられます。
第二に、セキュリティの脅威が高まる昨今では、セキュリティ面からより安全と考えられる仕様を選択して実装し、脅威を効果的に回避することが必要です。
例えば、センシティブな情報をストアするDBに、データの移送を実現できる通信を実装するか、あるいはエクスポートデータのみを参照できるようにするか、などより安全な仕様を設計段階から選択すべき場面も増えています。
また、第三に、システムがアップデートされる・他のシステムと接続するなどの要因に左右されない安全性が確保されることがシステム開発の課題です。
セキュリティバイデザインによると、システムの初期設定からのセキュリティや、システムのライフサイクルを通じたセキュリティをそれぞれ確保することができるので、課題に対応することができます。
セキュリティバイデザインのメリット
セキュリティバイデザインは、よりセキュアなシステムを開発できることが最大のメリットですが、その他にもコスト面・保守性の向上などのメリットがあります。主要なメリットは次の通りです。
セキュリティバイデザインを標準開発仕様として要求することにより、システムの安全性が効果的に確保できることです。またシステムのライフサイクル全体だけでなく、サプライチェーン全体にセキュアであることを要求することにより、IoTシステムや、クラウドシステムなど拡張性のあるシステム全体のセキュリティ体制を向上させることができます。
実際に、IoTシステムに対する攻撃・セキュリティ上の脅威を主に想定して、セキュリティバイデザインの考え方が広まった経緯もあります。
また、企画・設計段階から、セキュリティ仕様を組み込むと手戻りを少なくすることができるため、コストの見通しが立ちやすくなること、コストカット効果が生じることもメリットです。
加えて、最初から実現するべきセキュリティ仕様が開発者に情報共有されており、後からどのようにアップデートを実施するべきかもよく見えています。そのため、保守性にも優れたシステムを構築することができます。
セキュリティバイデザインのデメリット
セキュリティバイデザインのデメリットは、企画・設計においてどこまで何をすると「セキュア」といえるのか、明確な基準がないことがあげられます。これは、各システムごとに、セキュアな仕様として要求されるものが本来異なることに起因しています。
システムごとに「セキュア」といえるかどうか、検討が必要になってしまうことは時間や工数がかかり、デメリットと言えます。また、セキュアであることを重視しすぎてしまい、極端な場合には実現不可能な仕様を要求してしまうような事態も生じています。
デメリットをできるだけ避けるためには、開発対象となるシステムに、どこまでのセキュリティ仕様を盛り込むのか、また、検証をどのように行うのか、プロジェクトの初期にあらかじめ関係者で合意のうえ、文書化し、共有することが必要と考えられます。
もう一つは、セキュリティバイデザインを実現するプロセスそのものは標準化されていないことから、品質にはばらつきが生じてしまうこともデメリットです。デメリットに対応するためには、「IoT開発におけるセキュリティ設計の手引き」(IPA)などで想定されるプロセスを土台に、自社で標準プロセスを確立することも品質確保のために必要な方法と考えられます。
セキュリティバイデザインの流れ
セキュリティバイデザインは、次のような流れで進めます。
- システムのコンセプト作り
- 保護されるべき情報資産の特定
- 想定される脅威の抽出・分析
- 対応策の決定および盛り込むべきセキュリティ仕様の特定
- セキュリティ仕様を盛り込んだシステムの設計
- 想定されている脅威に設計が対応できていることの検証
システムそれぞれにおいて、セキュアな仕様は異なり、また想定される攻撃も異なること、システムが取り扱うデータの種類なども異なり、保護される情報資産の性質も異なります。
そのため、これらの前提条件の分析がカギとなります。
このようにシステムの上流工程からセキュリティ仕様を組み込んでおくのと同時に、組込みシステムの場合には、上流工程からセキュリティ仕様・セーフティー仕様を並行して企画・設計を行います。
まとめ
セキュリティバイデザインは、システムの設計からセキュリティ仕様を組み込むことにより、システムの初期設定からライフサイクル全体をより安全なものとすることができます。また、後付けのセキュリティ仕様を組み込むために生じがちな手戻りによるコストも避けることができます。
その一方、システムそれぞれに、何を防御の対象とするか、どのような仕様がセキュアであるかは異なります。このことから、開発するシステムごとに脅威と対策を分析の上、文書化して共有することや、標準プロセスを設定することがより効果を高めることにつながると考えられます。