セキュリティの考え方

3.1. セキュリティの費用対効果

製品開発に費やすコストには様々なものがありますが、 セキュリティのような機能性につながらないコストは軽視されがちです。 しかし、一旦セキュリティ問題が発生してしまうと、 業務停止など直接的な影響だけでなく、社会的な信用の低下、 損害賠償など様々な被害につながってしまう可能性があります。 守るべき情報資産が明確に存在するのであれば、セキュリティは重要視されるべきです。 しかし、コスト度外視でありったけの対策を盛り込むのではコストが膨らみます。 適切かつ適度なセキュリティ対策を講じることが大切です。 製品開発の早い段階で守るべき情報資産を認識し、 それら情報資産に対する脅威とリスクを分析して、 リスクを評価する作業を行うことをお勧めします。 そのうえで、費用対効果に見合ったセキュリティ技術を選択することが大切です。

3.2. Armadiilo-IoT ゲートウェイ G4 のセキュリティ領域

Armadillo-IoT ゲートウェイ G4 は、高性能 SoC を登載した組み込み機器の プラットフォームとしての利用はもちろん、ネットワークインターフェースや セキュアエレメント EdgeLock SE050 を登載するので、 IoT デバイス、IoT ゲートウェイといったネットワーク機器 の実現にも適したプラットフォームです。 様々な利用形態と様々な側面からの攻撃の可能性があります。 製品セキュリティを考えるうえで、システムを大まかに俯瞰して分析し、 考えられる攻撃の入り口や攻撃の特徴から、それらをセキュリティの領域として 分類します。分類することでセキュリティを考えやすくすることができます。

ネットワーク
イーサネットや無線 LAN などの通信インターフェースを介した遠隔からの 攻撃ベクターが考えられます。攻撃者は世界中に存在する可能性があり、 ネットワーク接続時は常に攻撃を受ける可能性があります。 この場合、Linux、セキュリティライブラリ、プロトコルスタックなど ソフトウェアの脆弱性を利用した攻撃などがあります。
ハードウェア
I/O インターフェースやメモリなどハードウェアに対する攻撃ベクターが考えられます。 正規に購入したデバイスや盗難などによって攻撃者はデバイスを入手して、 手元にデバイスがある状態でデバイスに対して物理的に直接攻撃を行います。 たとえば、バスのプローブ、メモリのダンプなどの攻撃があり、 また、製品開発のためのデバッグ機能が利用されることもあります。
./images/security_domain.png

図3.1 Armadillo-IoT ゲートウェイ G4 のセキュリティ領域


また、Armadillo-IoT ゲートウェイ G4 内のセキュリティに関する実行環境として 以下のように分類することもできます。

REE (Rich Execution Environment)
この領域では Armadillo Base OS を構成する Linux、コンテナ、アプリケーションが 動作します。ネットワークとハードウェアの双方の攻撃ベクターによる攻撃を 受ける可能性があります。 基本的には Linux のセキュリティの仕組みによって保護されるので、適切な設定 を行うことが大切になってきます。 また、Linux に限らず OSS の世界では頻繁に脆弱性が発見され、 その対策が素早く行われています。 セキュリティパッチを取り込むために、日々情報を収集することが大切で、 必要な場合は早急にソフトウェアの更新を行わなければなりません。
TEE (Trusted Execution Environment)
i.MX 8M Plus に内蔵する ARM Cortex-A53 には TrustZone 技術によってリソースへの アクセスを制限する機能があります。この機能を利用してソフトウェアの実行環境を 隔離し、情報資産やその処理を保護することができます。 Armadillo Base OS では OP-TEE を採用しています。 ソフトウェア側からの攻撃ベクターには、まず REE に足掛かりが必要になります。 しかし、たとえ突破されたとしてもリソースへのアクセスは制限されるので 直接攻撃は困難です。 そのため、REE に公開されている TEE 向けの API を利用した攻撃などが考えられます。
CAAM (Cryptographic Acceleration and Assurance Module)
Armadillo-IoT ゲートウェイ G4 に搭載される i.MX 8M plus 内部には 暗号処理アクセラレータである CAAM が内蔵されています。 CAAM は SoC 内部にあるのでセキュアであり、 また、高速に暗号処理を実行することができます。 CAAM での暗号処理は隔離されるので CAAM への直接攻撃は困難です。 ソフトウェア側からの攻撃ベクターとしては、API と入出力結果や鍵といった ペイロードを利用した攻撃などが考えられます。
EdgeLock SE050
Armadillo-IoT ゲートウェイ G4 にはセキュアエレメント EdgeLock SE050 が 搭載されています。RSA や ECC といった暗号処理はもちろん、 内部にフラッシュメモリを内蔵するため、キーストレージとして利用することができます。 いったん鍵を書き込むと外部に全く露出しないままで暗号処理に利用できます。 また、チップ製造時にチップ固有の RSA と ECC の鍵が NXP の署名付きで いくつか事前にインストールされた状態で出荷されます。 それらをクラウド接続や署名などに利用することができます。 ソフトウェア側からの攻撃ベクターとしては、API と入出力結果や鍵といった ペイロードを利用した攻撃などが考えられます。
./images/internal_security_domain.png

図3.2 Armadillo-IoT ゲートウェイ G4 の実行環境の領域


3.3. Armadillo-IoT ゲートウェイ G4 で実現できるセキュリティ機能と効果

幅広い利用者のユースケースに沿った製品セキュリティの実現のため、 Armadillo Base OS に様々なセキュリティ技術を組み込むことが可能です。 次に各セキュリティ技術のカバーする範囲を示します。 セキュリティ技術を採用する際には、採用する技術によって どこまでの範囲が守られるのかを把握することが大切です。 設定次第でそれぞれの技術は高いセキュリティ性能を実現するものになり得ますが、 単独で利用するだけではその効果は限定的で回避可能なものになってしまいます。 そのため、いくつかの技術を適切に組み合わせて利用することで、 より広範囲をカバーする回避困難なセキュリティを実現できます。 そして、カバーする範囲が重なりあうことで突破困難なセキュリティを実現します。

./images/security_tech_vs_req.png

図3.3 セキュリティ技術のカバーする範囲


3.4. モデルユースケース

Armadillo-IoT ゲートウェイ G4 は様々な製品、様々な環境で利用されることが想定されます。 それぞれのユースケースによって考慮すべき脅威が存在します。 それらの脅威を正しく把握して、適切なセキュリティ技術を選択、組み合わせることが大切です。 組み合わせの例として以下のモデルユースケースを示します。

  • ネットワーク機器
  • クラウドサービスへの接続機器
  • 決済処理が可能な機器

3.4.1. ネットワーク機器

ユースケース
ネットワーク経由の攻撃からデバイスを保護しなければいけないケース。 インターネットに接続する機器を保護するケースだけでなく、社内ネットワークへの 接続であっても内部からの攻撃のリスクを考慮するケースもあります。
セキュリティの方針
  • ネットワークインターフェースからの侵入を防ぐ
  • ハードウェアへの直接攻撃は考慮しない
セキュリティ技術
Armadillo Base OS には最低限の Linux のセキュリティの仕組みが組み込まれています。 適切な設定を実施することでセキュリティの確保が実現可能です。 詳しくは、Armadillo-IoT ゲートウェイ G4 製品マニュアルの 「 セキュリティ」 を参考に作業を行ってください。

また、ハードウェアへの直接攻撃は考慮しないとはいえ、Linux コンソールへのアクセスや JTAG が有効なままでは、スクリプトキディといった遊び半分の攻撃の対象になりかねません。 出荷/稼働前にはデバッグ機能を無効にすることをお勧めします。

3.4.2. クラウドサービスへの接続機器

ユースケース
クラウドサービスとテレメトリなど情報資産のやりとりや、 デバイス認証のための鍵や証明書を守りたいケース。 また、デバイスだけでなくその先にあるサービスに対する攻撃も考慮する。
セキュリティの方針
  • ネットワークインターフェースからの侵入を防ぐ
  • ネットワーク経由の侵入を許してもデバイス内の鍵や証明書、情報資産は守る
  • ハードウェアへの直接攻撃は想定しない
  • 情報資産(暗号処理や鍵)のみピンポイントで守る
セキュリティ技術

ネットワーク機器のセキュリティ技術に以下を加える。

  • キーストレージとして EdgeLock SE050 を利用する
  • ファイルに機密情報を保存して暗号アクセラレータで暗号化処理、復号処理を行う
  • CAAM を利用した OP-TEE でソフトウェアの実行環境を隔離する
  • 出荷/稼働前にはデバッグ機能を無効にする

3.4.3. 決済処理が可能な機器

ユースケース
決済端末やそれに相当する処理など、処理を行う経路全体を守らなければいけないケース。
セキュリティの方針
  • ネットワークインターフェースからの侵入を防ぐ
  • ネットワーク経由の侵入を許してもデバイス内の鍵や証明書、情報資産は守る
  • デバイスへの直接攻撃からデバイスを守る (ただし、ラボレベルの攻撃は想定しない)
セキュリティ技術

ネットワーク機器のセキュリティ技術に以下を加える。

  • EdgeLock SE050 を利用した OP-TEE (鍵のストレージは EdgeLock SE050)
  • CAAM によるセキュアブート (HAB) とチェーンオブトラスト
  • ストレージの暗号化
  • メモリの完全性チェック
  • 出荷/稼働前にはデバッグ機能を無効にする