2つのTrustZone開発方法

セキュアマネジャ利用対2領域開発
セキュアマネジャ利用対2領域開発

STマイクロ)STM32H5とSTM32U5は、どちらもTrustZone対応Cortex-M33マイコンです。しかし、そのTrustZone開発方法は、STM32H5がSecure Manager利用、STM32U5がSecure/Non Secureの2領域開発など大きく異なります。

本稿は、これら2つのTrustZone開発方法の概要と特質を説明します。どちらが一般のMCU開発者向けかも示します。詳細は、STM32H5はコチラ、STM32U5はコチラのウェビナー資料を参照ください。

STM32H5とSTM32U5

STM32 TrustZome対応MCUポートフォリオ(STM32H5ウェビナー資料P3を編集)
STM32 TrustZome対応MCUポートフォリオ(STM32H5ウェビナー資料P3を編集)

STマイクロのTrustZone対応Cortex-M33コアマイコンファミリは、現在上図の4種類あります。最高動作周波数や内蔵周辺回路が想定アプリケーションにより異なりますが、どれもTrustZone対応のセキュアマイコンです。

※TrustZone基本は、コチラの投稿参照。

Cortex-M33マイコンのセキュリティ機能

STM32 Cortex-M33ハードウェアセキュリティ機能一覧(STM32U5ウェビナー資料P36を編集)
STM32 Cortex-M33ハードウェアセキュリティ機能一覧(STM32U5ウェビナー資料P36を編集)

4種セキュアマイコンのハードウェアセキュリティ機能一覧が上図です。基本機能のTrustZoneやSecure Memory利用セキュアブートは、4種マイコン共に持っています。

これらセキュリティ機能一覧から、必要性に応じて開発ユーザアプリへセキュリティ機能を追加することをセキュリティ開発、その中心がTrustZoneなのでTrustZone開発と言います。

※Secure Memory利用セキュアブートは、コチラの投稿参照。

STM32U5セキュリティ開発方法

マイコンセキュリティの目的は、ハッカー攻撃などによる開発ソフトウェアの改ざん防御です。従って、想定アプリにより多少の違いがあっても、基本となるセキュリティの開発方法は、マイコンにかかわらず同じと考えるのが普通です。

事実、STM32U5やSTM32L5、STM32WBAは、以下の同じセキュリティ開発方法です。

STM32U5セキュリティ開発方法(STM32U5ウェビナー資料P52を編集)
STM32U5セキュリティ開発方法(STM32U5ウェビナー資料P52を編集)

つまり、TrustZone基本投稿で示したように、マイコンハードウェアをSecure領域とNon Secure(Normalと図示)領域に分離、Non Secureソフトウェア(Firmwareと図示)のSecure領域直接アクセス禁止により改ざん防御を行います。

この方法は、Secure領域とNon Secure領域の2プロジェクト開発が必須です。

具体的な2領域分割や領域間アクセス方法などは、STM32U5ウェビナー資料3章に記載されています。

筆者は、開発当初からの2プロジェクト開発は、困難と考えています。最初は領域を分けず一般的な1プロジェクトアプリを開発し、動作確認後にSecure/Non Secureの2プロジェクトへ分離する手順になると思います。

STM32H5セキュリティ開発方法

STM32H5のセキュリティ開発方法は、前章とかなり異なります。

STM32H5セキュリティ機能は、STマイクロがバイナリ形式でIPを提供し、これをセキュア領域へ保存します。MCU開発者は、このIPセキュリティ機能を、Arm PSA API互換のAPI経由で、Non Secure領域のユーザアプリから利用します。

STM32H5セキュリティ開発方法(STM32H5ウェビナー資料P9を編集)
STM32H5セキュリティ開発方法(STM32H5ウェビナー資料P9を編集)

簡単に言うと、Non Secure領域の動作アプリに、必要に応じてセキュリティ機能APIを追加すればセキュリティ開発ができます。セキュア領域のセキュリティ機能は、ST提供IPのためユーザ開発不要です。

このSTM32Trust TEE Secure Managerが使えるのは、現在STM32H5のみです。しかし、今後増えるそうです。

具体的なSecure Manager利用方法や評価ボードなどが、STM32H5ウェビナー資料3章に記載されています。

筆者は、このSecure Manager利用の方が、前章の2プロジェクト開発方法よりもシンプル、かつ、セキュリティ本体コーディングも不要なため優れていると思います。PSA API利用ソフトのSTマイコン横展開が、現在STM32H5に限られるのは残念です。逆に、他ベンダマイコンへの流用は、Arm PAS API互換のため容易かもしれません。

Summary:2つのTrustZone開発方法

セキュアマネジャ利用対2領域開発
セキュアマネジャ利用対2領域開発

STマイクロのTrustZone対応Cortex-M33マイコンSTM32H5とSTM32U5の2セキュリティ開発方法と特質を示しました。

セキュリティ開発は、その用語や費用対効果などが、一般のMCU開発者に判り難い領域です。また、Cortex-M33のTrustZone理解も必要です。

このTrustZoneに対し正攻法のセキュリティ開発方法は、STM32U5ウェビナー資料方法です。STM32L5やSTM32WBAへの開発セキュリティソフト横展開も可能です。

STM32H5ウェビナー資料方法は、Arm PAS API互換APIを利用し、かつ、セキュリティソフト開発を簡素化できるなど、正攻法比、優れた方法だと思います。

Afterword:どちらが一般MCU開発者向けか?

Secure Managerは、無償利用できます。また、RTOS以外のベアメタル開発にも使えます。さらに、STM32H5ウェビナー資料P6右側の暗号化エンジンなど全12セキュリティ機能も提供します。左側が、このセキュリティ開発方法の優位性を示しています。

最適STM32セキュリティ開発を実現するセキュアマネジャ(STM32H5ウェビナー資料P6を編集)
最適STM32セキュリティ開発を実現するセキュアマネジャ(STM32H5ウェビナー資料P6を編集)

STマイクロ以外のベンダでも、無償IPとArm PAS API互換のセキュリティ開発が多くなるかもしれません。一般のMCU開発者にとって、正攻法のセキュリティ開発は、障壁がかなり高いからです。


AI、Security&Cloud、Ecosystem オンライン・コンファレンス

AI、Security&Cloud、Ecosystem(=開発環境)の3日間オンライン・コンファレンスと展示会が、STマイクロ主催でライブ配信されます。STM32ユーザは勿論、他社ユーザでも組込みシステム開発ヒントの可能性があります。

STM32 Innovation Day 2021 11月10日~12日(オンライン)
STM32 Innovation Day 2021 11月10日~12日(オンライン)

AI、Security&Cloud、Ecosystemプログラム概要

11月10日(水)~12日(金)の毎日13時~17時間のライブ配信で、登録すればお好きな内容のみ視聴も可能です。登録方法は、後で示します。

AI、Security&Cloud、Ecosystemのプログラム概要
AI、Security&Cloud、Ecosystemのプログラム概要

詳細プログラムは、コチラからダウンロードできます。

見どころ

10日(水)AI:STM32MCUでの組込みエッジAIデモ。

11日(木)Security&Cloud:Cortex-M33コアSTM32U5、セキュリティ・フレームワークSTM32Trust、AWSクラウド。

12日(金)Ecosystem:STM32MCU機能安全ソフトウェア・パッケージ、Azureクラウド。

13:30~14:00の各分野エキスパートによる基調講演、バーチャル・イベント会場の最新製品紹介やデモなども面白そうです。

他社ユーザの方は、利用中MCUとの差分が明確に判る絶好のチャンスです。

登録方法

事前に、コチラで仮登録し、折返しメールで10分以内に本登録します。

コンファレンス後、アンケートに回答するとMCU評価ボードなどが当選するかもしれません。

STM32U5発表と最新IoT MCU動向

STマイクロエレクトロニクス2021年2月25日発表の先端性能と超低消費電力動作両立のSTM32U5を紹介し、STのIoT MCU開発動向をセキュリティ、MCUコア、製造プロセスの観点から分析しました。

先端性能と超低消費電力動作のSTM32U5

STM32U5ベンチマーク(出典:公式ブログ)
STM32U5ベンチマーク(出典:公式ブログ)

公式ブログから抜粋したSTM32U5のベンチマークです。従来の超低消費電力MCU:STM32L0~L4+シリーズと、Cortex-M33コア搭載STM32L5、今回発表のSTM32U5をメモリサイズとパフォーマンスで比較しています。

STM32U5は、従来Cortex-M0+/M3/M4比、Cortex-M33搭載により後述のセキュリティ先端性能と、従来Cortex-M33搭載STM32L5比、230DMIPS/160MHzと大幅向上した超低消費電力動作の両立が判ります。STM32U5の詳細はリンク先を参照ください。

本稿はこの最新STM32U5情報を基に、STのIoT MCU開発動向を、セキュリティ、MCUコア、製造プロセスの3つの観点から分析します。

セキュリティ

STM32マイコンセキュリティ機能一覧(出典:ウェビナー資料)
STM32マイコンセキュリティ機能一覧(出典:ウェビナー資料)

昨年10月27日ウェビナー資料:ARM TrustZone対応マイコンによるIoTセキュリティのP17に示されたSTM32マイコンセキュリティ機能一覧です。セキュリティ先端性能のTrustZoneは、Cortex-M33コアに実装されています。

関連投稿:Cortex-M33とCortex-M0+/M4の差分

今回の超低消費電力STM32U5発表前なのでSTM32L5のみ掲載されていますが、STM32U5もL5と同じセキュリティ機能です。STM32WLは、後述するワイヤレス(LoRaWAN対応)機能強化MCUです。

この表から、後述する最新メインストリーム(汎用)STM32G0/G4も、STM32U5/L5と同じセキュリティ機能を実装済みで、STM32U5との差分はTrustZone、PKA、RSSなど一部であることも判ります。

STM32U5のSTM32L5比大幅に動作周波数向上と低消費電力化が進んだ背景は、セキュリティ機能に対するより高い処理能力と40nm製造プロセスにあることが2月25日発表内容から判ります。

STM32ファミリMCUコア

STM32ファミリMCUコア(出典:STサイトに加筆)
STM32ファミリMCUコア(出典:STサイトに加筆)

STM32ファミリMCUコアは、ハイパフォーマンス/メインストリーム(汎用)/超低消費電力/ワイヤレスの4つにカテゴライズされます。前章のSTM32WLがワイヤレス、STM32U5/L5は超低消費電力です(STM32U5は加筆)。

STM32WLとSTM32WBの詳細は、コチラの関連投稿をご覧ください。

STM32U5と同様、従来の120nmから70nmへ製造プロセスを微細化して性能向上した最新メインストリームが、STM32G0/G4です。

新しいSTM32G0/G4は、従来汎用STM32F0/F1/F3とソフトウェア互換性があり、設計年が新しいにも係わらずデバイス価格は同程度です。従来メインストリームのより高い処理能力と低電力動作の顧客ニーズが反映された結果が、最新メインストリームSTM32G0/G4と言えるでしょう。

製造プロセス

製造プロセスの微細化は、そのままの設計でも動作周波数向上と低電力消費、デバイス価格低減に大きく寄与します。そこで、微細化時には、急変するIoT顧客ニーズを満たす機能や性能を従来デバイスへ盛込んで新デバイスを再設計します。STM32U5やSTM32G0/G4がその例です。

MCU開発者は、従来デバイスで開発するよりも製造プロセスを微細化した最新デバイスで対応する方が、より簡単に顧客ニーズを満たせる訳です。

関連投稿:開発者向けMCU生産技術の現状

まとめ

セキュリティ、MCUコア、製造プロセスのそれぞれを進化させた最新のIoT MCUデバイスが、次々に発表されます。開発者には、使い慣れた従来デバイスに拘らず、顧客ニーズを反映した最新デバイスでの開発をお勧めします。

また、短時間で最新デバイスを活用し製品化する方法として、最新メインストリーム(汎用)デバイスSTM32G0/G4を使ったプロトタイプ開発もお勧めします。

最新メインストリーム(汎用)プロトタイプ開発イメージ
最新メインストリーム(汎用)プロトタイプ開発イメージ

前章までで示したように最新メインストリームSTM32G0/G4は、他カテゴリデバイスの機能・性能を広くカバーしています。メインストリームプロトタイプ開発資産は、そのまま最新の他カテゴリデバイスへも流用できます。

従って、他カテゴリデバイスの特徴部分(セキュリティ、超低消費電力動作やワイヤレス)のみに注力した差分開発ができ、結果として短期製品化ができる訳です。

ちなみに、プロトタイプ開発に適したSTM32G0テンプレートは、コチラで販売中、FreeRTOS対応のSTM32G4アプリケーションテンプレートは、6E目標に開発中です。

あとがき:文字伝達

ソフトウェア開発者ならソースコード、ハードウェア開発者なら回路図が、最も直接的・正確に技術内容を使える手段です。文字は、記述者の理解を変換して伝える間接的手段です。両者に違い(文字化ノイズ)が生じるのは、やむを得ないと思います。

報ステのTSMCのニュースに頭の抱えてしまった”、“TSMCは日本で何をしようとしているのか“からも分かるように、マスメディアは文字や画像で情報を伝えます。受けての我々開発者は、これらノイズを含むと思われるマスメディア情報を、自分の頭で分析・処理し、理解する必要があります。

と言うわけで本稿も、筆者が文字化ノイズを付けて分析した例です……、という言い訳でした😅。