Presentation Title – Arial, 48pt新たな市場を作り、暮らしを変えるIoT 2...

Post on 09-Sep-2020

0 views 0 download

Transcript of Presentation Title – Arial, 48pt新たな市場を作り、暮らしを変えるIoT 2...

IoT端末を守るセキュリティ機能搭載マイコン

IoTセキュリティ・セミナー2019年6月20日(木)

木村 崇志

STマイクロエレクトロ二クス株式会社マイクロコントローラ & デジタル製品グループ

新たな市場を作り、暮らしを変えるIoT 2

すべてのモノがインターネットに接続され、便利な社会に

Smart Things Smart Home & City Smart Industry

Source: ABIresearch

2018 2021

3.6BConnections

8.6BConnections

x2.4

IoT端末開発を支えるSTのポートフォリオ 3

セキュリティ

スケーラブルな

セキュリティ

ソリューション

プロセッシング

超低消費電力

から

高性能

まで

コネクティビティ

10 cm

から

10 km

まで

モータ制御

電力変換

電力監視

ドライバ

電源 &

電源管理

ナノ・ワット

から

メガ・ワット

まで

コンディショニング& プロテクション

ナノ・アンペア

から

キロ・アンペア

まで

センシング &

アクチュエーティング

センサ

&

アクチュエータ

Arm® Cortex®ベースファミリSTM32 4

幅広い選択肢 / シリーズを超えた互換性 / 豊富なエコシステム

超低消費電力

メインストリーム

Cortex-M0/M0+ Cortex-M3 Cortex-M4 Cortex-M7

ハイパフォーマンス

ワイヤレス

CPU Cortex-M33

Cortex-M4/M0+

デュアルコア

Cortex-A7

マイクロプロセッサ

長期供給保証

デュアルCortex-A7

+ Cortex-M4

IoT端末向けに最適なマイコンSTM32 5

IPネットワーク無線通信

IoT端末(組込み機器)

ゲートウェイ クラウド

IoT端末開発エコシステムが充実したSTM32 6

2G/3G

主要なIoT向け無線通信規格を評価できる開発キット

Pelion IoT Platformでデバイス管理が可能 7

IoT端末 Pelion IoT Platform

Device-to-dataセキュリティ

データ・マネジメント

デバイス・マネジメント

コネクティビティ・マネジメント

IoTネットワークのセキュリティ 8

過去より攻撃に曝され、セキュリティ対策が普及

IoT端末(組込み機器)

ゲートウェイ クラウド

IoTネットワークのセキュリティ 9

ネットワークに接続され始め、攻撃に曝された経験が少ないネットワーク接続以前の方法で開発・製造されている場合、

セキュリティ対策が不十分の可能性あり

IoT端末(組込み機器)

ゲートウェイ クラウド

IoT端末のライフタイム 10

開発 製造・出荷 アクティベーション FWアップデート ディアクティベーション

ライフタイム全期間で攻撃を受ける可能性あり

ライフタイムでのセキュリティ管理が必要

STM32セキュリティ・ソリューション 11

市場の要求に応じて進化してきたSTM32セキュリティ機能

市場ニーズ

STM32

セキュリティ機能

• MPU

•書込み保護•ウォッチドッグタイマ•ユニークID

•読出し保護(デバッグアクセスポート遮断)

•暗号化HWアクセラレータ

•真乱数発生器

• コードIP保護(PCROP)

• ファイヤ・ウォール

•セキュア・ブート•セキュアFWインストール•セキュアFWアップデート

•TrustZone®

•Arm PSA準拠*•アクティブ・タンパ検出

•ユニーク・ブート・エントリ・アドレス*

•ワンタイム実行メモリ領域*

•セキュア・デバッグ

•プログラム暴走対策•個体管理

•模造品対策 •モジュール出荷時等のコードIP盗難対策

• ライフタイム・セキュリティ管理(FWライセンス管理、FWアップデート)

• IoTセキュリティ

*STM32L5のみ

予想される攻撃重要情報の不正読み出し

12

重要情報の不正読み出し

模造品の製造

なりすまし

サービスの不正利用• FW

• 認証情報• 鍵データ

具体的な攻撃方法重要情報の不正読み出し

13

攻撃方法

筐体開封

基板削剥

JTAGアクセス

通信I/Fへのアクセス

重要情報の不正読み出し

STM32による対策重要情報の不正読出し

14

攻撃方法 STM32の機能

筐体開封 タンパ検出

基板削剥 アクティブ・タンパ検出

JTAGアクセス 読み出し保護

通信I/Fへのアクセス TrustZone、ワンタイム実行メモリ領域、ユニーク・ブート・エントリ・アドレス、コードIP保護、ファイヤ・ウォール、MPU

重要情報の不正読み出し

STM32による対策重要情報の不正読出し

15

攻撃方法 STM32の機能

筐体開封 タンパ検出

基板削剥 アクティブ・タンパ検出

JTAGアクセス 読み出し保護

通信I/Fへのアクセス TrustZone、ワンタイム実行メモリ領域、ユニーク・ブート・エントリ・アドレス、コードIP保護、ファイヤ・ウォール、MPU

重要情報の不正読み出し

タンパ検出による筐体開封対策 16

未開封=LOW 開封=HIGH

タンパ検出ピンの電圧レベル変化で筐体開封を検知

バックアップレジスタ内の機密情報リセット

検出時のタイムスタンプイベント発生

タンパ検出ピン

STM32による対策重要情報の不正読出し

17

攻撃方法 STM32の機能

筐体開封 タンパ検出

基板削剥 アクティブ・タンパ検出

JTAGアクセス 読み出し保護

通信I/Fへのアクセス TrustZone、ワンタイム実行メモリ領域、ユニーク・ブート・エントリ・アドレス、コードIP保護、ファイヤ・ウォール、MPU

重要情報の不正読み出し

アクティブ・タンパ検出による基板削剥対策 18

基板削剝:ドリルなどで基板を削剥してプローブポイントを作りデバイスにアクセスする攻撃方法

基板上に網目状の線路ループを張り巡らせ、ランダム波形の出力と入力を継続比較し、結果が一致している間は問題なし

ランダム波形の入力が途絶えた=基板が攻撃を受けたと判断して割込み生成+ メモリ領域を自動消去

JTAG

STM32による対策重要情報の不正読出し

19

攻撃方法 STM32の機能

筐体開封 タンパ検出

基板削剥 アクティブ・タンパ検出

JTAGアクセス 読み出し保護

通信I/Fへのアクセス TrustZone、ワンタイム実行メモリ領域、ユニーク・ブート・エントリ・アドレス、コードIP保護、ファイヤ・ウォール、MPU

重要情報の不正読み出し

読出し保護機能によるJTAGアクセス対策 20

保護レベル0(保護なし)オプションバイトにユーザが設定することでレベル0へ移行全てのブートモードが有効(ユーザFlash、SRAM、デバッグ)

レベル0

レベル1

レベル2

保護レベル1(ソフト設定による保護)ユーザFlash, バックアップSRAM以外からのブート時、この領域への一切のアクセスは無効(SRAM、内蔵ブートローダ、デバッグ機能)レベル1がイネーブルの時、オプション・バイト(RDP)のレベルを0にするとFlashおよびバックアップSRAMの全領域が消去

保護レベル2(デバッグポートのヒューズ切断による物理保護)レベル1に加えて、デバッグポートのヒューズが切断され、外部からのアクセスが不可ユーザFlash以外の領域からのブートは一切無効

STM32による対策重要情報の不正読出し

21

攻撃方法 STM32の機能

筐体開封 タンパ検出

基板削剥 アクティブ・タンパ検出

JTAGアクセス 読み出し保護

通信I/Fへのアクセス TrustZone、ワンタイム実行メモリ領域、ユニーク・ブート・エントリ・アドレス、コードIP保護、ファイヤ・ウォール、MPU

重要情報の不正読み出し

通信インタフェースへのアクセス対策 22

通信インタフェースからの不正ハッキングに対して重要情報をアイソレーションしておくことが重要

STM32のアイソレーション機能• TrustZone

• ワンタイム実行メモリ領域• ユニーク・ブート・エントリ・アドレス• コードIP保護• ファイヤ・ウォール• MPU

TrustZoneによるアイソレーション 23

software

data

hardware

software

data

hardware

セキュア非セキュア

TrustZone:Armのセキュリティ機能ハードウェアでアクセスの監視、許可・禁止の設定、管理、運用をする

予想される攻撃ファームウェア書き込み傍受

24

FOTA(Firmware Over-The-Air)*無線通信による端末のFWアップデート

FW傍受

模造品の製造

具体的な攻撃方法ファームウェア書き込み傍受

25

攻撃方法

製造時のFW盗難

FOTA時のFW盗難

FW傍受

STM32による対策ファームウェア書き込み傍受

26

FW傍受

攻撃方法 STM32の機能・ソリューション

製造時のFW盗難 セキュア・ブート、セキュアFWインストール

FOTA時のFW盗難 セキュア・ブート、セキュアFWアップデート

STM32による対策ファームウェア書き込み傍受

27

FW傍受

攻撃方法 STM32の機能・ソリューション

製造時のFW盗難 セキュア・ブート、セキュアFWインストール

FOTA時のFW盗難 セキュア・ブート、セキュアFWアップデート

セキュアFWアップデートによるFW盗難対策 28

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

デバイスリセット

下記機能で保護• TrustZone

• ワンタイム実行メモリ領域• コードIP保護• ファイヤ・ウォール• MPU

• 書込み保護

ユニーク・ブート・エントリ・アドレスアドレスを任意に設定

書込み保護機能でデバッガアクセスとブートローダアクセスを禁止

FWタグが一致

デバイスリセット

Y

N

FWアップデート

FWアップデート用一次スロット

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

29

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

FWアップデート用一次スロット

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

30

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

31

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

32

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

33

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

34

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

35

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

36

セキュア・ブート&

FWアップデータ

コード1ヘッダ

アプリケーションコード1

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

セキュアFWアップデートによるFW盗難対策ファームウェア更新の処理フロー

37

セキュア・ブート&

FWアップデータ

鍵データ

コード2ヘッダ

アプリケーションコード2

FW受信

アップデータ起動

コードヘッダを確認

FWタグを確認

FWをFlashに格納

FWの検出コードヘッダの証明書一致

FWを復号化(所有キー)

デバイスリセット

FW更新フロー

Y

N

デバイスリセット

FWタグが一致

デバイスリセット

Y

N

FWアップデート

FWアップデート用一次スロット

STM32による対策ファームウェア書き込み傍受

38

FW傍受

攻撃方法 STM32の機能・ソリューション

製造時のFW盗難 セキュア・ブート、セキュアFWインストール

FOTA時のFW盗難 セキュア・ブート、セキュアFWアップデート

セキュアFWインストールによるFW盗難対策 39

ユーザ 書込み工場

平文のままのFWを使用せず、製造時のFW盗難を防止

ユーザ鍵

書込み完了証明カウンタ

STM32HSM

STM32HSM

ユーザFW

ユーザFW

予想される攻撃マルウェア、データ改ざん

40

感染サービスの妨害

マルウェア組込みデータ改ざん

重要情報の改ざん

具体的な攻撃方法マルウェア、データ改ざん

41

マルウェア組込みデータ改ざん

攻撃方法

開発、製造・出荷時のマルウェア組込み・データ改ざん

FOTA時のマルウェア組込み・データ改ざん

STM32による対策マルウェア、データ改ざん

42

マルウェア組込みデータ改ざん

攻撃方法 STM32の機能・ソリューション

開発、製造・出荷時のマルウェア組込み・データ改ざん

セキュア・ブート、セキュアFWインストール

FOTA時のマルウェア組込み・データ改ざん

セキュア・ブート、セキュアFWアップデート

TrustZone対応STM32L5 43

・水晶発振子レスUSB FS Device

・USB Type-C / PD PHY

・SD/SDIO/MMC

・SPI / I²C / CAN-FD

・USART / ローパワーUART

・Octo SPI

・外部メモリ・コントローラ・シリアル・オーディオ・インタフェース・ΔΣモジュール用デジタルフィルタ

インタフェース

Arm Cortex-M33

110 MHz

・12bit A/Dコンバータ / D/Aコンバータ・コンパレータ/オペアンプ・静電容量タッチキー・コントローラ・温度センサ

アナログ機能

暗号化機能

・AES暗号化エンジン (256bit)

・公開鍵暗号アクセラレータ・SHAハッシュ・プロセッサ(256bit)

・真乱数発生器・On-The-Fly復号器

DMA

ART Accelerator™

(Flash/外部メモリ・アクセラレータ)

MPU

FPU

TrustZone

内蔵メモリ

・最大512KBデュアルバンクFlash

・256KB SRAM

TrustZoneによる保護が可能なメモリ・DMA・ペリフェラルを搭載

まとめ

• 充実したIoT端末開発エコシステムでサポートされるSTM32

• Arm Pelion IoT Platformとの接続で、IoT開発期間を大幅に短縮

• IoT端末に対する攻撃への豊富な対策機能により、STM32搭載IoT

端末のライフタイム・セキュリティを実現

44

ご清聴ありがとうございました