組込み開発 基本のキ:IoT MCUセキュリティ

本稿は、IoT MCUソフトウェア/ハードウェア開発者向けTipsで、「MCU開発基本のキ」シリーズの第1回目です。MCUベンダ横断的に開発ポイント、Tipsなどを不定期に投稿します。

今回は、そもそもIoT MCUに、なぜセキュリティが必要かという最も基本的な点について示します。

幅広い技術がIoT MCU開発者には必要です。しかし、全てを理解し、時々刻々変化する状況に対応するには時間がいくらあっても足りません。情報が多く幅広いからこそ、短時間で効率的なIoT MCU開発のためのポイントやTipsが必要です。

このポイントやTipsについて筆者個人の考え方を示します。これを、たたき台にして、ブログ読者の方々の考え方に発展・貢献できれば幸いです。

接続とセキュリティ

インターネット接続とセキュリティ
インターネット接続とセキュリティ

IoT MCUは、インターネットなどに接続し動作することが前提です。

人がネットに接続する時は、事前にアカウント登録し、IDやパスワードなどの登録情報を接続時に手入力、ネット側で受信データと事前登録情報と比較し接続を許可します。

IoT MCUは、人の手入力の代わりに自動で登録情報をネット送信することで接続します。この時大切なのが、IoT MCU内部に保存済みの登録情報です。登録情報をサイバー攻撃やハッカーから守る手段がIoT MCUセキュリティです。

ハッカー、セキュリティ、OTA

ハッカーとセキュリティは、「いたちごっこ」を繰返します。

例えば、コチラのFirefox 91とWindows 10規定ブラウザー設定、Windows 11で更に複雑化する設定がその例です。この場合、ハッカー役がFirefox、セキュリティ役がWindow設定です。

様々なIoT MCUセキュリティ手段がありますが、ポイントは、守りは攻めに対する対処療法なので守りの追加や更新が必要となる点です。

つまり、個々のセキュリティ手段を知ることよりも、何を(IoT MCUの登録情報や秘密鍵などの重要情報)どのように守るかの方がより重要です。ソフトウェアによる守りよりもより強固な内蔵ハードウェアで重要情報を守るのが、ARM Cortex-M33コアのTrustZoneです。

いたちごっこの終息策として、MCU内蔵TrustZoneとその制御ソフトウェアを採用した訳です。

Windows 11で導入されるTPM 2.0も、TrustZone相当です。しかし、TPM保護PCから情報を抜出す方法という記事もあります。セキュリティには終わりが無いと言っても良いでしょう。

終わりが無いので、OTA(Over The Air)によりセキュリティ手段の追加や制御方法更新が必要になる訳です。OTAは、IoT MCUセキュリティ追加更新が本来の目的で、ソフトウェアバグ修正は副次的だと思います。

接続伝送路エラー訂正

無線であれ有線であれ、ネット接続の伝送路にノイズ混入の可能性があります。ただ、IoT MCUセキィリティが正常か異常かの判断は、受信データにノイズ(誤り)が無いことが前提です。

そこで、受信側に、受信データに混入ノイズを除去する機能があれば便利です。

2021年9月9日、米)MITは、あらゆる種類のデータ誤り検出し訂正するGuessing Random Additive Noise Decoding (GRAND)採用のハードウェアデコーダを開発しました。128ビットまでのコードを約1u秒でデコードでき、高速通信規格5GやIoT分野での利用が期待されています。

まとめ:IoT MCUセキュリティ3Tips

  1. ネット接続が前提のIoT MCUには、サイバー攻撃から内蔵重要情報を守るセキィリティ必須
  2. セキュリティは、対処療法なので機能追加更新OTA必須
  3. より強固に重要情報を守るTrustZone、受信データ誤り検出訂正GRANDデコーダなどのセキュリティ対策ハードウェアが、IoT MCU要件になる可能性あり

IoT MCUセキュリティ用語、関連性、対策ハードウェアがご理解頂けたと思います。
※TrustZoneに似たハードウェアに、ルネサス:Trusted Secure IP(TSIP)、STマイクロ:Secure Memoryなどもあります。

セキュリティは終わりがありません。どの程度のセキュリティをIoT MCUへ実装すれば良いかを検討するには、IoTセキュリティ手引書やPlatform Security Architecture: PSA Certified認証制度などが参考になります。

但し、IoT MCU開発者に解り易いかと言えば、正直疑問も感じます。そこで、IoT MCUセキュリティ関連で、最低限開発者が押さえておくべき3項目をまとめました。

特に項目3は、初めからIoT MCUに実装済みでないと後付けやOTA更新ができません。今後の欧米IoT規格や総務省動向にも注意を払う必要があるでしょう。

補足:IoTセキュリティコスト

筆者利用ネットカフェPCのWindows 11対応チェック結果を抜粋したのが下図です。2PCのみ抜粋しましたが、他PCも同様で、全項目OKのPCは皆無でした。弊社PCも3PC中1台のみ全OKですので、Windows 11無償アップグレード可能PCは、Windows 10 PCの30%以下になりそうです。

ネットカフェのWindows 11対応チェック結果
ネットカフェのWindows 11対応チェック結果

Windows 10サポート終了の2025年10月以降、多くのWindows 10セキュリティが低下し、サイバー攻撃に弱くなります。セキュリティ対サイバー攻撃コストを示すのは大変でしょうが、Microsoftは示す責任があると思います。

同様にIoT MCU顧客もセキュリティ対策コストを望むと思います。ちなみに、Cortex-M4比、Cortex-M33 TrustZone MCUは、2倍工数必要が弊社見解です(関連投稿:Cortex-M33とM0+/M4の差分の3章)。

Windows 10と11、Linux Mint、IoT MCU開発

2021年10月5日(米国時間)、次期Windows 11リリース、Windows 10 21H2リリースも10月5日前後と見込まれています。2025年迄の期間で、今後のPCとIoT MCU開発環境、開発者要件を考えてみました。

PCとIoT MCU開発環境まとめ

Windows 10、Windows 11、Linux MintとIoT MCU開発環境(2025年までの範囲)
Windows 10、Windows 11、Linux MintとIoT MCU開発環境(2025年までの範囲)

Windows 10 21H2小規模更新

年2回あるWindows 10大型更新、今秋のバージョン21H2更新も小規模更新です。

20H1から4回連続の小規模更新で、バージョンサポート期間も1.5年とこれまでと同じです。Windows 10サポート終了は、延長無しの場合2025年10月14日です。

Microsoftは、Windows 10の新規開発を終息し、次期Windows 11へ注力したいハズです。これは、サポート終了2025年までは小規模更新を繰返し、PCユーザ側は、逆に安定した最新Windows 10が使えるメリットを生みます。

なおWindows 10の更新方法は、コチラの投稿記事を参考にしてください。

Windows 11へのアップグレード要件緩和は幾分発表されましたが、セキュリティTPM2.0は相変わらずで、Windows 10から従来のような安易な11アップグレートをMicrosoftは許しません。従って、11要件が現状のままなら、Windows 10 PCの使い道は2025年以降無くなる運命です。

11化できない、または、10サポート終了後のWindows 10 PCをどう運用するかは問題です。解決策は、後で示します。

Windows 11プレビュー版評価

「Windows 11 もっさり」で検索すると、多くの記事がヒットします。もちろん、Windows 11プレビュー版試用感想です。Windows 10比、動作が遅く感じる人が多いのは確かなようです。

これは、CPU能力を、従来よりもグラフィックとセキュリティへ配分した結果だと推測します。

ビジネスユースの場合、Windowsグラフィック能力が生産性を向上させることはありません(Mac PCは別です)。一方、セキュリティ能力は、重要ではあるものの、しばしば開発作業の邪魔になります。開発ツールインストールや更新時、セキュリティソフトが不要な警告を出すことを経験された方は多いでしょう。

セキュリティは、「安全側マージンを大きく保って動作」します。存在意義を示すためやむを得ないのは理解できますが、開発の邪魔になるのは間違いありません。

Windows 11は、Apple製M1チップ搭載の新Mac PC対抗手段なのか、初めから高性能グラフィックと新セキュティ対応の新しいCPUチップ利用を想定している気がします。Windows 11リリース後、製品版やプレインストールPCなどからMicrosoftの意図や本当の目的も明らかになるでしょう。

Windows 11は、年1回の大型更新と、2年間のバージョンサポート運用です。今秋リリースから1年経過後に初期トラブルを回避した大型更新バージョンがリリースされます。リリース後1年は、製品版11評価期間と考えても良さそうです。

結局、Windows 11アップグレート要件を満たすPCであっても、1年評価期間後、初期トラブル回避版でアップグレートしても遅くはないと思っています。

※「Windows 11 TPM 回避 インストール」の検索結果からTPM回避11化は可能のようです。本稿は、公式11アップグレート要件を満たすWindows 10 PCのみを対象とします。

Windows 10問題解決Linux Mint

Windows 11化できないPCの活用方法としてお勧めするのが、Linux Mintです(但し64ビットCPU必須)。その理由が下記2つです。

  1. Windowsに比べハードウェア仕様が低くてもLinux Mintは快適動作
  2. Windows GUIに慣れたユーザにはLinuxコマンド操作に違和感があるが、Linux Mintは、殆どの操作がWindowsとよく似たGUIで可能

Windows 10サポート終了まで4年あります。Linux Mint操作に慣れ、代替利用上の問題有無を評価するには、十分な期間だと思います。

マルチプラットフォームIoT MCU開発環境

IoT MCU開発環境も、Windowsのみの動作から、Windows/Mac/Linuxマルチプラットフォームへ移行しつつあります。例えば、NXP)MCUXpresso IDE、STマイクロ)STM32CubeIDE、Cypress)ModusToolboxなどは、OSが異なっても同じ動作をします。

MCUXpresso IDEやSTM32CubeIDEのLinux Mint版インストール方法は、コチラの関連投稿5章を参照してください。

個人向けWindows 365

発表済みの企業向けプラン価格よりかなり安くなることが必要ですが、個人向けWindows 365プランの価格次第では、セキュリティ/保守運用面でメリットがあるWindows 365 Cloud PCは魅力的です。

仮に、スマホと同程度、つまり月額1000円以下、5年間利用してもトータル6万円程度でWindows 365が利用できれば、個人ビジネスにも十分使えます。過剰期待かもしれませんが…。

世界的半導体不足

経年変化などを考慮し、Windows 11プレインストールPCを新規購入するのも変化への対処方法の1つです。但し、昨今の世界的な半導体不足は、PC調達価格上昇をもたらし、購入逆風の状況です。この逆風は、Windows 10サポート終了に向けて新規PC需要が高まるため、さらに強くなるハズです。

IoT MCU開発者要件

以上のような2025年までの激しいPC環境変化に対し、IoT MCU開発環境は、Windows/Mac/Linuxマルチプラットフォーム化で対応します。

IoT MCU開発者は、従来のような単純なMCU処理開発だけでなく、クラウド接続RTOS、セキュリティ、OTA(Over The Air)、エッジAIなど様々なIoT付加サービスの追加が顧客に応じて必要になります。また、これら付加サービス規模や技術背景も複雑です。

これら付加サービスは、既にLinux上で開発済みのものも多く、IoT MCU開発者は、Linux環境に慣れていくことが必要だと思います。更に、顧客毎に異なるIoT付加サービスを、ある意味ブラックボックス的に取捨選択し、従来のMCU開発へ短期で追加/削除できるテクニックを身に着けておくことも必要です。

つまり、Windows利用に慣れたIoT MCU開発者でも、Linux要素技術を持つ必要があります。

IoT MCU開発者「個人レベル」で、これらLinux技術習得やIoT MCU技術を効率的に習得する手段として本ブログ投稿や弊社マイコンテンプレートがお役に立てるように開発していきます。

Windows 10と11、365まとめ

結論

現状判っているWindows 10とWindows 11、Windows 365の特性、類似サービスをまとめました。

Windows 10と11、365まとめ
Windows 10と11、365まとめ

Windows 10/11=買い切り型ローカルPC OS、Windows 365=サブスクリプション型マルチプラットフォーム対応クラウドPC OSです。

ハードウェアリスク低下、デバイス非依存の操作性とデータ保存、サイバー攻撃やセキュリティ対策のクラウド自動化など、Windows 365は、個人が従来から行ってきたWindows 10/11の保守・運用処理の殆どをクラウド任せにでき、そのメリットは大きなものがあります。

Windows 365コストは、企業向け300ユーザまでのBusinessプラン、ユーザ数無制限のEnterpriseプランが発表済みです(コチラにBusinessプラン感想記事があります)。

個人向けプランのコスト次第ですが、本来のPC創造へより注力できる環境がクラウドPC OS:Windows 365で提供されると言えそうです。Windows/Mac/Linuxなどのこだわりが不要となり、ローカルPC OSの終焉の始まりを感じます。

Windows 365のMCUクロス開発環境。Mbed開発環境に似ている。
Windows 365のMCUクロス開発環境。Mbed開発環境に似ている。

大好評のためWindows 365無料試用は、1日限りで受付中止となりました。Windows 365で、評価ボードやデバッガを使ったMCUクロス開発環境を実現できるかを受付再開後、試したいと考えています。

買い切り型とサブスクリプション型

PC作業に必須のWord/Excel/PowerPointなどのMicrosoft Officeは、日本だけで主流の買切り型と、欧米で人気のサブスクリプション型の2種類の提供方法があります。

買い切り型は、Windows、Macそれぞれ専用版があり、更新やセキュリティ管理などの運用面は購入者個人が行います。一方、サブスクリプション型は、Windows/Mac共通で、1ユーザ当たり複数異種PCの利用も可能です。運用面は、クラウドが常に最新版へ自動更新します。

現在のWindows 365情報は、企業向けのみで個人向けコストなどは未発表、Windows 11も未知の部分が多いのですが、Windows 10/11=買い切り型ローカルPC OS、Windows 365=サブスクリプション型、かつWindows/Mac/Linux/iOS/AndroidマルチプラットフォームクラウドPC OSと考えて良さそうです。

クラウドPC OSメリット:クラウドPC OS対ローカルPC OS

従来動作していたWindowsアプリケーションは、クラウドPC OS上でも動作します(ゲームアプリを除く筆者予想)。アプリインストは個人が行い、クラウドPCハードウェア構成も金額次第で高性能化可能です。クラウドPCでは、個人によるハードウェア経年変化対応などは不要です。
個人PC環境のハードウェアトラブルリスクは下がると思います。

Mac上でWindowsアプリを動作させるBoot CampやParallels Desktop、Linux上でのwineなどは不要です。クラウドPC OSへインストールしたWindowsアプリを、ブラウザ+RDP(Remote Desktop Protocol)クライアント経由で、手元のローカルPC/スマホ/タブレットで操作でき、アプリ作成データもクラウド内に自動保存されます。
デバイスに依存しない操作性と自動データ保存がもたらすメリットは大きいです。

また、次々に発生するサイバー攻撃やセキュリティ対策を個人が行うのは大変です(Win 10 Cumulative Updatesが例)。OS部分だけでもセキュリティ対策をクラウドが代行すれば、その分、個人は本来の価値創造に注力できます。
個人セキュリティ対策は楽になると期待できます。

最も類似するサービスが、メールです。ローカルメールが、Windows 10/11、クラウドメールがWindows 365に相当します。容量管理やメールアプリ更新の手間が不要、使用場所やデバイス制約もないクラウドメールを使い始めると、ローカルメールは不便で使えなくなります。コスト次第でWindows 365も同様になりそうで、ローカルPC OSもゲーマー以外は終焉かな?と感じました。

速報:IoT MCU RND脆弱性、解決策無し

2021年8月11日、IoT MCU RND脆弱性に解決策なしという記事が掲載されました。脆弱性を指摘したBishop Foxによると、解決策は無くアップデートが提供された場合には迅速に適用することをアドバイスしたそうです。

IoT MCUも、Windows 365のような仮想MCU化を願う記事内容です。

Windows 11ショックとTPM

所有3PCのWindows11要件チェック結果
所有3PCのWindows11要件チェック結果

今秋リリース予定のSun Valleyは、新OSのWindows 11でした。TPM 2.0が障壁になり、所有3PCのうち2PC(Note/Backup)はWindows 10からWindows 11へ無償アップグレードができません。アップグレード要件に変更が無ければ、MainのみWindows 11になり、残りはWindows 10のまま・・・、Windows 11ショックです。

このWindows 11ショック原因のTPM、現状の対処法などをまとめます。

TPM (Trusted Platform Module)

TPMは、MicrosoftがWindows 11(以下Win 11)要件にした専用ハードウェアで、PCを起動するBIOS/UEFIのデバイスです。セキュリティキー、暗号鍵や機密性の高いユーザーデータの保護・保管機能を持ち、最新版Version 2が必要です。

このTPM機能を既に持っているPCでも、Win 10では未使用が多かったのが判っています。弊社Main PCもそうで、設定を変更し最初の図のようにWin11対応チェック結果が全てOKになりました。

テレワークでPC需要が高いこの時期に、敢えてTPMをWin 11アップグレード要件にしたMicrosoftの狙いが、もしも新しいPCへの買換え需要喚起だとしたら、残り2PCは、WindowsからLinux MintへのOS乗換も対処法に入れます。

※2021年7月8日、Linux Mint 20.2 MATEがリリースされました。サポート期間は2025年までです。

弊社テレワーク利用中のMCU開発アプリケーションは、マルチプラットフォーム対応なのでOS乗換に問題はありません。

MCUのTPM相当機能

MCUにも暗号鍵などを保管するTPM相当の外付けチップがあります。例えば、関連投稿のNXP)EdgeLock SE050、Maxim)DS28E38などです。これらは、MCU外付けのセキュリティ強化ハードウェアです。

また、これら外付けハードウェアを使わずに、セキュリティ強化内蔵Flashへ機密情報を保存するCortex-M33コアMCUなどもあります。

これらMCUへTPM相当の機密情報保持機能を実装すると、開発工数が増えることが判っています。

Win 11要件のTPMは、IoT MCUがMicrosoft Azure接続時、上記どちらかの機密情報保持機能を持たないMCUは、例え接続中であっても、将来のセキュリティ脅威を理由に接続拒否することに近いと思います。

MCU開発者は、新たな開発案件が増えて喜びそうですが、Azure利用中の顧客は、納得するでしょうか? Azure以外のAWSやGoogleクラウドへの移行にならないでしょうか?

関連投稿:多様化MCU RTOS対策

一方、スマホなどモバイルデバイスのTPM相当:機密情報保持機能も知りたいと思います。今後調査予定です。

TPM効果

  • なぜBIOS/UEFIのTPMハードウェアなのか、OSソフトウェアで代替しない(できない)理由は何か?
  • TPM情報は、PCのバックアップアプリでバックアップ/リカバリできるか?
  • BIOS/UEFI更新時、TPM情報は保持されるのか?
  • TPM不具合発生時、Win 11は起動しないのか?
  • PC廃棄時のTPM情報の完全削除とその確認方法は?
  • TPM搭載Win 11 PCと、非搭載Win 10 PCのサイバー攻撃防衛差は、どの程度か?

など、TPM採用の明確な理由とその効果を示した情報は、今のところ見当たりません。Win 10でTPMをデフォルト未使用としたのも、なんらかの理由や副作用があったからだと思います。

定性的には、セキュリティ対策が重要であることは解ります。しかし、定量的な比較や副作用も知りたいです。

具体的に、TPM無し(未使用)BIOS/UEFI のWin 10 PCと、TPM有効化Win 11 PCで比較し、攻撃防御差が大きいなら費用対効果によりWin 11対応の新PC購入もありえます。

もちろんPCハードウェアも経年劣化します。しかし、パーツ単体交換が容易なのもWin PCのMacやスマホに無い特徴です。最初の図のようにWin 10で快適に動作するハードウェアが、BIOS/UEFI TPMだけでNGになるのは、「足切り」に近いと感じます。

Win 10と同様、Win 11でもユーザ責任でTPM未使用オプションが設定できれば済む話です。Win 11プレビュー版は、TPM無しでも動作します。このオプション相当は既に存在します。

TPM効果、その具体的・数値的な攻撃防御差評価は、必要でしょう。

Windows 11とWindows 10の運用対処法

現在判っているWin 11とWin 10の主な運用面差が下表です。

Windows 11 Windows 10
OSコア 新OS(Cobalt) 旧OS
大型更新 年1回 年2回
サポート期間 大型更新後2年 大型更新後1.5年
サポート終了2025年10月

Win 11の下図のような新GUIに対して、使いなれたWin 10やWin 7に近いGUIへ戻す無償ツールが既にあります。筆者もOSの見た目の新しさは不要です。現行Win 10でさえ、上記ツールを使って効率的なGUIに変えて運用中です。

Windows11の新GUI
Windows11の新GUI

当然ながら新しいOSコア(Cobalt)ですので、旧OS比、見た目以外の性能も改善されるでしょう。

しかし、Win 10の旧OSコアがトラブルなく安定するまで数年を要したことや大型更新回数が年1回に減ったことも考慮すると、最低でもWin 11新OSコア(Cobalt)安定に1年はかかると思います。

従って、次回Win 11大型更新の1年後まで、アップグレードを待つのは、安全策として良さそうです。

Windows 10サポート延長

Win 10のサポート終了は、2025年10月14日となっています。しかし、良い意味で撤回し、「Win 7のようにサポート終了が延長」される可能性は高いと筆者は思います。

その理由は、Win 10 Version 21H1が、20H1からの3世代、2年に渡る同じOSコアの小規模更新をした結果、更新トラブルが減り安定度が増したこと、Win 11へ更新できない多くのWin PCの「最後の受け皿OS」となること、などです。

サポート終了のWin 7、2023年1月10日にサポート終了予定のWin 8.1のPCは、足切りTPMのためWin 11へのアップグレードが不可能です。Win 7/8.1世代のPCは全てWin 10になり、アップグレードしないWin 10を含めて2025年10月までこれらPC群は稼働できます。

4年半後、2025年10月予定のこれらPC群へのWin 10サポート終了は、多くのユーザ反感を買うと同時に、セキュリティ更新無しで稼働するPCを多数生みます。

何らかの方法でWin 10へTPM相当機能を実装するか、または、セキュリティサポートを延長することは、これまで足切りアップグレードを避けることでシェアを伸ばしてきたMicrosoftの宿命だと思います。

まとめ

2025年10月14日のWindows 10サポート終了までは、Windows 11 TPM要件のため、所有3PCをWin11とWin10の2種運用とするか、それとも3PCともWin10運用とするか、今秋のWindows 11リリース後のトラブル状況や、前章までに示した対処法で決める予定です。

ポイントの1つは、TPM未使用のWin 10 PCとTPMを使うWin 11 PCのサイバー攻撃防御差、その費用対効果です。
※ネットカフェのWin PC移行状況でこの評価結果が判ると思います。

ただMCUテンプレートを新たに開発する立場からは、最新PC環境、つまりWin 11で新開発テンプレートの動作確認は必須です。2 OS運用は余分に手間が掛かりますが、Win11とWin10の併用にならざるを得ない、というのがWindows 11ショックの根源です😣。

なおMicrosoftは、Win 11要件の見直しも行っているようです。TPM相当手段や未使用オプションなどに期待しています。また、7月14日発表のWindows 365 Cloud PCも、料金次第ですが気になる存在です。

* * *

速報:Microsoftは、7月15日(米国現地時間)、Windows 11とは別に、次期Windows 10バージョン 21H2 、サポート期間1.5年の提供を発表しました。また、5年サポート期間の Windows 10バージョンLTSC(Long-Term Servicing Channel)も提供するようです。今秋、提供開始予定です。

21H2 Sun Valleyは大規模更新

5月19日に手動更新したWindows 10 21H1は、その後も安定して動作中です。この21H1と次回大型更新で「この10年間で最も重要なWindowsアップデートの1つ」と言われるSun Valleyこと21H2 の2記事を紹介し、今秋21H2大規模更新失敗時の対処案を示します。

秋21H2は大規模更新、春21H1機能追加はわずか

今秋のWindows 10大型更新は、Microsoft CEO) Nadella氏よると「この10年で最も重要なWindowsアップデートの1つ」で、スタートメニュー、アクションセンター、ファイルエクスプローラー、タスクバーなどの見慣れたユーザインタフェース(GUI)が新しいデザインへ変更、新機能追加の可能性もあるそうです(CNET Japan、2021/06/03)。

6月24日のオンラインイベントで次世代Windowsの詳細が発表されそうです。開発コード名Sun Valleyこと次期Windows 10バージョン21H2は、大規模更新になりそうです。

一方、今春の“21H1の機能追加はわずか(日経クロステック、2021/05/31)”の記事で、Windows 10大型更新と更新規模、その更新プログラム配布方法について解り易い図が掲載されていますので、抜粋し21H2の予想を追加しました。

Windows 10バージョン 大型更新開始時期 更新規模 更新プログラム配布方法
20H1 2020年上期 大規模? 通常(一括ダウンロード)
20H2 2020年下期 小規模 有効化パッケージ
21H1(今春:現状) 2021年上期 小規模 有効化パッケージ
21H2(今秋予定) 2021年下期 大規模? 通常(一括ダウンロード予想)

更新プログラム配布方法の有効化パッケージとは、大型更新開始前に、更新内容を無効化した状態でPCへ段階的に更新プログラムをパッケージで配布しておき、大型更新時にそれらを有効化する方法です。小規模更新の場合には、更新プログラムダウンロード時間が短くなるなどのユーザメリットがあります。

大規模更新では事前配布パッケージ自体もおそらく大きくなるため、Windows7から8/8.1への更新と同様、事前配布無しに一括して更新プログラムをダウンロードする通常方法になると予想します。

OSクリーンインストール歴史

Windows 10初版リリースが2015年なので、ここ10年の範囲にはWindows 7や8/8.1なども含まれるでしょう。筆者は、Windows 7や8の時代は、新OSリリースに合わせて、または、PCの調子が悪い時は、リカバリよりもOSクリーンインストールを行っていました。

既存アプリケーションの再インストールや再設定も必要で、手間と時間がかかる作業でしたが、リカバリよりも新OSをクリーン環境で使うメリットが大きいと判断したからです。

Windows 10へアップグレート後は、クリーンインストール回数は減り、20H1以降は、全てのPCで問題なく大型更新が成功しています。クリーンインストールの手間を考慮すると、少々のトラブルは、自己修復してきたとも言えますが、それでも旧OSに比べ、安定度や安心感は高いと評価しています。

Windows 21H2大規模更新失敗対策案

今秋21H2は、操作性も含めた大規模更新で、開発中止したWindows 10X機能などを含める噂もあり、共通コアOSに比べ、更新失敗の可能性は高くなります。関連情報を収集分析しますが、所有PCは、最終的には3つの更新結果になると予想しています。

  • 21H2手動更新成功
  • 21H2手動更新失敗➡21H2クリーンインストール
  • 21H2手動更新失敗➡21H1へリカバリし継続使用

更新成功を期待しますが、失敗時は、21H2をクリーンインストールする案と、21H1へリカバリして継続使用する2案があります。

現在使用中の21H1は、20H1から続く共通コアOSのWindows 10です。21H1サポート終了の2022年12月(2022年5月という記事もあり)までは、継続使用でも安心して運用ができます。またGUIも、現状のままでも不満はありません。

最新21H2をクリーンインストールするか否かは、発表される次世代Windowsの内容次第です。

魅力的なOSであれば、手間をかけてもクリーンインストールするでしょう。次世代Windowsの内容は、本ブログでも適宜取上げていきます。

21H1手動更新成功

5月19日、2021年春のWindows 10 21H1手動更新に成功しました。更新方法は、関連投稿:20H2の時と同じです。

Windows 10 Version 21H1
Windows 10 Version 21H1

2日経過した現在、トラブルは無く、Microsoft Office/LibreOfficeやブラウザなどの主要アプリケーション、FreeRTOSアプリケーションテンプレート開発に使用中のMCUXpresso IDEも正常に動作しております。1世代前の20H2と特に変わった点は見当たらず、今回もまた小規模更新でした。本稿も最新21H1で作成しました。

要点と春21H1手動更新用USBメディア作成

前回の20H2との違いは、21H1用のMediaCreationTool21H1.exeをダウンロードし、USB/DVDメディアを作成する点です。どなたでもダウンロードできます。

21H1ビルド番号は、19043.985です。コチラの記事のMicrosoft表明から、既に何回か更新されています。

手動更新の要点は、「旧Windows 10 20H2起動状態」で、作成したUSBのsetup.exeを実行すること、トラブルに備えた「バックアップ&リカバリーができる」ことです。これらを注意すれば、個人用ファイルと既存アプリを引き継いだまま、手動でWindows 10 21H1へ更新できます。

その他の留意事項

手動更新メリットは、ユーザ主体でWindows更新ができることです。デメリットは、Windows 10レジストリがデフォルト値に戻ること、一部の既存アプリ設定が引き継がれない場合があることです。

弊社の場合、今回の手動更新で、Dynamic Theme、EaseUS Todo Backupに引き継がれていない設定がありました。特に、EaseUS Todo Backupは、バックアップアプリで重要です。このように、重要なアプリは、Windows更新完了後、ユーザ自身で動作と設定確認をすることをお勧めします。

※OS更新後の既存アプリ動作と設定確認は、手動更新以外の方法でもユーザ自身で行う必要があると思います。細かい話をすると、ローカルアカウント画像が引き継がれていないPCもありました😅。この程度は、更新トラブルに含めません。

秋21H2:大規模更新リスク対処

年2回のWindows 10大型更新と更新規模
年2回のWindows 10大型更新と更新規模

各種Windows記事によると、次回秋の21H2は、スタートメニューなど操作性も含めて大規模更新になるそうです。

今回春の21H1は、従来OSコアと共通の小規模更新でした。そこで、弊社所有Windows PC 3台全てを19日に手動更新し、2日経過した現在、いずれも安定動作しております。更新に要した時間は、0.5日/3PCでした(バックアップ時間除く)。

大規模更新が見込まれる次回21H2は、更新トラブル有無を1PC当たり2~3日かけて慎重に確認後、段階的に手動更新する予定です。

小規模更新との差は、動作確認を3PC並列に行うか、1PCずつ直列に行うかです。直列確認中に1台でもトラブルが発生した時は、以降のOS更新を止めます。これにより、作業中の業務停止を防ぎ、Windows大規模更新へのリスク対策とします。

今秋のMCU開発業務が一段落付いた頃を見計らって、21H2大規模更新に1週間/3PCを費やす予定です。

半導体とMCU開発者

3月19日発生のルネサスエレクトロニクス半導体工場火災により、半導体不足が更に深刻になりつつあります。MCU開発者向け弊社ブログの2月記事は、半導体に関するものを4件投稿しましたので、半導体とMCU開発者の関係を整理してみました。

半導体の歴史

半導体の歴史(出典:日立ハイテクサイト)
半導体の歴史(出典:日立ハイテクサイト)

日立ハイテクサイト掲載の半導体の歴史を見ると、半導体が人々の生活を実質的に変え始めたのは、1980年以降、今から僅か40~50年前に始まったのが判ります。テレビゲームなどがMCU開発者数を急増させ、同時に開発環境の高速・高度化も必要となりPCやRAMも発展しました。

数学、物理学、化学などに比べると半導体の歴史は浅いのですが、これら学問を基礎として急激に発展します。そして、その原動力は、顧客ニーズの実現です。

半導体集積チップ製造とルネサス工場火事

顧客ニーズをかなえる第一歩が、より集積度を向上した半導体集積チップの製造です。より小さく低消費電力で高速な最先端半導体チップが求められ、これを製造できる最先端ファウンドリーが世界で数社しなないため半導体不足が発生します(関連投稿:2月5日、開発者向けMCU生産技術の現状)。

火災発生のルネサス工場は最先端半導体ではないものの、自動車MCU関連が多く「1か月以内の再生産開始を目指す」発表も危惧されています。

ルネサス火災の影響を受ける半導体製品(出典:ルネサス発表)
ルネサス火災の影響を受ける半導体製品(出典:ルネサス発表)

自動車を運転する半導体

数年毎にモデルチェンジする自動車は、半導体のショールームです。例えば、新車で目立つデイライトとウインカーを兼ねるライト制御やサイドブラインドモニターなどの運転支援機能は、半導体の機能高度化により実現されます。他社差別化に、半導体が提供する機能が大きく寄与する訳です。

自動運転が実現すると、自動車を運転するのは人ではなく半導体です。つまり、顧客シェアを決めるのは、半導体だとも言えます。

最先端半導体の供給が滞れば、現状の半導体に機能を押込んででもシェアアップを目指すのはどの会社も同じです。需要(ニーズ)と供給(製造)、調達価格が、市場に出回る半導体チップを決めます。自動車半導体の供給不足は、自動車産業だけに留まらず産業・インフラ・IoTなど全てに影響を与えるのは自明の理です。

半導体とMCU開発者

あくなき顧客ニーズを、ソフトウェアやハードウェアに変換し半導体に実装するのが、我々開発者です。実装には時間が必要ですので、顧客ニーズと製品提供機能にタイムラグが生じます。このタイムラグを少なくするために、製品化サイクルはどんどん短くなります。

ニーズを満たす製品提供タイミングは、重要です。僅か1か月のターゲットMCU供給遅れでも、製品化は1ヶ月遅れでは済まず、売れない製品となります。

一旦高機能化した半導体を使うと、たとえ価格を下げても元に戻ることを顧客は好みません。常に最新製品を求めるのが顧客です。開発者が高速・高性能なPCを使った開発環境を味わうと、従来PC環境に戻れないのと同じです。

歴史が示すように「半導体ビジネスは、顧客ニーズを満たす半導体が、タイミング良く供給されて初めて成り立ち、短い製品化サイクルに苦労するMCU開発者が報われる」ものです。

世界的半導体不足や今回の火災が、我々MCU開発者に与える影響が少ないことを祈るのみです。

LibreOffice 7.1 Communityリリース

LibreOfficeとThe Document Foundation

2021年2月3日、LibreOffice Fresh(最新版)/Still(安定版)ともに7系に更新され、同時にCommunityとEnterpriseという表記が追加されました。本稿は、2021年2月4日のLibreOffice日本語チームBlogを基に、Community/Enterpriseとは何か、これまでのFresh/Stillと何が違うのかを調査しました。

CommunityとEnterpriseの背景

Communityは、これまで同様無償のボランティアサポート版、Enterpriseは、Collabora社などのエコシステムパートナから技術サポートなどが得られる企業版です。

パッケージ   想定ユーザ 2021/02/03版数
Community Fresh(最新版) 技術マニア、新しいもの好き、パワーユーザ向け 7.1.0
Community Still(安定版) 家庭、慎重なユーザ向け 7.0.4
Enterprise パートナ提供 ビジネス組織、法人企業向け Collabora版など
LibreOffice (2021年2月10日現在)

Community とEnterpriseに分けられた背景は、LibreOfficeの導入が企業や団体でも増えた結果、ボランティアサポートに負荷が掛かりすぎたためだと推測します。LibreOffice開発元の独)TFD:The Document Foundationは、従来から企業向けには、様々なメリットがあるEnterprise版の利用を推薦してきたようです。

オープンソースソフトウェアは、ユーザシェアが増えると企業と個人向けに分けて配布されるようになるのは、Linuxなどと同様と考えれば良いのかもしれません。つまりそれ程、LibreOfficeのシェアが増えてきた結果とも考えられます。

LibreOffice Community 7.1新機能

個人利用に関しては、これまで通りLibreOffice Community Fresh(最新版)/Still(安定版)を使えます(以下、Community表記省略)。どちらも7系となったLibreOffice 7.1の主要新機能は、2分弱の動画でご覧いただけます。

筆者は、LibreOfficeの図形描画ツール:Drawを、「高価なMicrosoft Office Visioの代わりにWord/Excelなどでも使える高度描画ツール」としてお勧めしてきましたので、Fresh 7.1 Drawの追加機能の一部を説明します。

関連投稿:LibreOffice Fresh更新とDraw使い方のコツ

LibreOffice Fresh 7.1のギャラリー追加拡張機能

Draw 7.1のギャラリーに、新に色々なギャラリーをウェブサイトから追加できる拡張機能が加わりました。

LibreOffice 7.1ギャラリーで追加されたウェブサイトギャラリー追加ボタン
LibreOffice 7.1ギャラリーで追加されたウェブサイトギャラリー追加ボタン

これに伴い、右側7.0のギャラリー表示ボタンと新しいテーマボタンが、左側7.1のギャラリー下段へ移動し新しいテーマボタンもNew…へ変わりました。この右端の「Add more galleries via extensionボタン」が、7.1のギャラリー追加機能です。

この拡張機能ボタンをクリックすると、様々なギャラリーをウェブサイトからインストールできることが判ります。前回7.0 での投稿:新しいギャラリー追加方法で示した各種矢印も、Arrows 6.4 Galleryで提供済です。

LibreOffice 7.1のウェブサイトでインストールできるギャラリー例
LibreOffice 7.1のウェブサイトでインストールできるギャラリー例

矢印の他にも、回路図やパズルなどのギャラリーもあります。このギャラリー追加機能は、DrawだけでなくWriterやCalcなど全てのLibreOfficeツールで共通の機能です。

LibreOffice 7.1は、従来の7.0よりも多様な図形描写がより簡単にできます。

まとめ

従来同様に使用できる個人向けLibreOffice Communityは、Fresh 7.1.0、Still 7.0.4に更新、ともに7系になりました。LibreOffice Community Fresh 7.1.0のギャラリーに、新たにウェブサイトギャラリーの追加機能が備わり、7.0.4よりも多様な図形描写が簡単にできます。

TDFは、技術サポートなどがあるエコパートナ提供のLibreOffice Enterprise利用を、企業向けLibreOfficeとして推薦しています。

LibreOfficeギャラリーの新しいテーマ追加方法

1月22日現在、LibreOffice Fresh(最新版)は7.0.4、Still(安定版)は、6.4.7です。LibreOffice6系は、この6.4.7が最後で、以降はStill(安定版)も7系が提供されます。本稿は、6系ギャラリーを7系でも使う方法を示します。

LibreOffice版数(2021年1月22日現在)
パッケージ 想定ユーザ 2020/12/17版数
Fresh(最新版) 技術マニア、新しいもの好き、パワーユーザ向け 7.0.4
Still(安定版) ビジネス組織、法人企業、慎重なユーザ向け 6.4.7(6系最終)

6系と7系のギャラリー差

LibreOffice6系(左)と7系ギャラリー(右)の差
LibreOffice6系(左)と7系ギャラリー(右)の差

6系と7系の矢印ギャラリーです。筆者が6系でしばしば用いた赤上昇、緑降下を示す矢印は、7系ではありません。LibreOfficeのメジャー更新では、「学校と大学」ギャラリーのように提供テーマが消えるだけでなく、「矢印」のような同じテーマでも提供される図が変わることがあります。

旧版で使い慣れたギャラリーの図は、メジャー更新後もそのまま同じように使いたいと思います。そこで、6系の矢印ギャラリーを例に、7系の新しいテーマへ旧系の図を追加する方法を示します。

LibreOfficeギャラリーの新しいテーマ追加方法

LibreOffice更新は、オプションなどのユーザ追加設定は引き継がれますが、ギャラリーなどのプログラムは完全に消去され新版へ変わります。このような更新の一部機能引き継ぎは、1:手動エクスポート、2:LibreOffice更新、3:手動インポートの3手順で行います。

Step 1:手動エクスポート

新版でも使いたい旧系の図を、例えばデスクトップ上などの別フォルダへコピーします。

6系矢印ギャラリーの場合は、C:\Program Files\LibreOffice\share\gallery内に各種の図があり、最初の図の赤上昇はA42-TrendArrow-Red-GoUp.svg、緑降下はA43-TrendArrow-Green-GoDown.svgです。

Step 2:LibreOffice更新

LibreOfficeは、勝手に更新を始めません。

新版通知は、LibreOffice使用中にダイアログで表示されます。更新方法は、コチラの関連投稿を参照して頂くか、またはダイアログに従って操作すれば、ユーザ主体で問題なく更新できます。

Setp 3:手動インポート

新版へLibreOffice更新後、最初の図の新しいテーマをクリックします。

新しいテーマプロパティのファイルタブを開き、ファイルの検索(F)でエクスポートしたフォルダを選びます。すると、エクスポートフォルダ内の図ファイルがリスト表示されます。A42-TrendArrow-Red-GoUp.svgとA43-TrendArrow-Green-GoDown.svg を選択し、追加(A)>OKクリックで新版の新しいテーマへ旧版の図が追加されます。

LibreOfficeの新しいテーマの手動インポート方法
LibreOfficeの新しいテーマの手動インポート方法

追加後、新しいテーマのファイル名を、例えばMyPictureなどへ変更すると手動インポートギャラリーが判り易くなります。

エクスポートした図のすべて追加(D)や、プレビュー(E)を見ながらの選択も可能です。手っ取り早く、旧版ギャラリー図を全て手動エクスポートし、個々の必要性をプレビューで検討しながらインポートすることもできます。

PCインストール版Microsoft Officeライフサイクル

バージョン メインストリームサポート終了日 延長サポート終了日
Office 2013(SP1) 2018-04-10(終了) 2023-04-11
Office 2016 2020-10-13(終了) 2025-10-14
Office 2019 2023-10-10 2025-10-14

PCインストール版Microsoft Officeのライフサイクルが上表です(Windows/Officeライフサイクルを再確認の記事から抜粋)。

つまり、Office 2019以外は、既にメインストリームサポートが終了しています。COVID-19の影響でこの終了日が延期される可能性もありますが、いずれにしても今後2~4年でPCへインストール済みOfficeの安心・安全性は低下します。

Microsoftは、Office 365でWeb版有償Officeサービスを継続して提供します。もちろんWeb版無償Officeも提供中ですが、Microsoft Officeは結局デスクトップ版が必要になる理由からも判るように、無償版の目的は、有償版へユーザを誘導することです。営利目的ビジネスなので当然です。

カテゴリ:LibreOfficeの目的

文書作成ソフトウェアは、PCには必須のツールです。

マルチプラットフォーム(Windows/Mac/Linux)動作で無償オープンソースLibreOfficeの習得は、追加コストなしでPCインストール版Officeの代替対策になります。Officeライフサイクルから、あと数年でOfficeと同レベルでLibreOfficeが使えるようになれば十分でしょう。

※図形描画ツール:LibreOffice Drawだけの習得でも効果があることは、コチラの関連投稿をご覧ください。

本ブログは、Windows環境に慣れたMCU開発者が、Windows起因のトラブル遭遇時、受諾中のMCU開発を中断なく継続する手段として、バックアップMCU開発環境:Linux Mint/LibreOffice/IDEの活用を想定しています。

ブログカテゴリ:LibreOfficeは、バックアップMCU開発環境上で文書作成するためのお役立ち情報です。もちろんWindows上でも動作しますので、もしもの時に備えてLibreOfficeを使ってみてはいかがでしょう?

IoT MCUコア次世代像

PCのCPUは、IntelとAMDの2社が独占状態でした。しかし、AppleがARMベースの新CPU:M1を発表し、そのコストパフォーマンスは、Intel/AMDの3倍(!)とも言われます(記事:「ソフト技術者もうなるApple「M1」の実力、新アプリに道」や、「Apple M1の実力を新世代のIntel/AMD CPUと比較」など)。

本稿は、これらPC CPUコアの現状から、次世代IoT MCUコアの3層構造と筆者希望的観測を示します。

CPUコア:Apple/Intel/AMD

筆者が学生だった頃は、マシン語のPCソフトウェアもありました。CPUコア性能が低いため、ユーザ要求を満たすアプリケーション開発には、ソフトウェア流用性や開発性を無視したマシン語開発もやむを得ない状況でした。

現在のCPUコア性能は、重たいGUIやネットワーク処理を複数こなしても、ユーザ要求を満たし、かつ流用性も高いC/C++などの高級言語でのアプリケーション開発が普通です。Appleは、この状況でIntel/AMDコストパフォーマンス比3倍のM1 CPUを開発しました。

このM1 CPUを使えば、従来CPUのボトルネックが解消できるために、より優れたGUIや新しいアプリケーションの開発が期待できます。

このM1実現の鍵は、5nmルールの製造技術と新しいCPU設計にあるようです。

MCUコア:ARM/Non ARM

MCUはARMコアとNon ARMコアがありますが、Non ARMコアのコストパフォーマンス比は、M1程ではありません。従って、主流はARM Cortex-M系シングルコア採用MCUで、事実上ARMコア独占状態です。開発言語はC言語でベアメタル開発、製造プロセスも数10nmと、いわば、数10年前のIntel独占CPUコアに近い状況です。

RISC-Vという新しいMCUコアも出てきましたが、まだ少数派でその性能も未知数です。Intel/AMD CPUと比較記事の最後に記載された「競争こそユーザの利益」には、MCU世界はなっていません。

ARMはコア設計図のみ提供し、デバイス実装はMCUベンダが担当します。従って、現状のMCU世界が続く場合には、MCU高速化は製造技術進化とマルチコア化が鍵です。

ARMは、エッジAIに向けたNPUを発表しました。独自MCUコアと付随する開発環境を提供でき、かつコストパフォーマンスがARMコアの数倍を実現できるMCUベンダが無い現状では、ARMの頑張りがIoT MCUを牽引すると思います。

NVIDIAによるARM買収が、今後のARM動向に及ぼす影響は気になる状況ではあります。

IoT MCUコア

MCUコアとCPUコアの一番の差は、ユーザ要求コストです。これは、同じコアのMCU製品に、内蔵周辺回路やFlash/RAM容量の異なる多くのデバイスをベンダが提供中であることからも解ります。ユーザは、MCUに対して無駄なコストは払いたくないのです。

つまり、MCUデバイスはアプリケーション専用製品、CPUデバイスは超汎用製品、ここが分岐点です。

IoT MCUには、エッジAI、セキュリティ、無線通信(5GやWi-Fi)などのIoT機能追加が必要です。これら機能を並列動作させる手段として、RTOSも期待されています。この状況対応に、MCUコアも高性能化やマルチコア化に進化しつつあります。

セキュリティや無線通信は、予め決まった仕様があり、これら対応の専用ライブラリがベンダより提供されます。但し、セキュリティは、コストに見合った様々なセキュリティレベルがあるのも特徴です。ソフトウェア技術者は、専用ライブラリのMCU実装には神経を使いますが、ライブラリ本体の変更などは求められません。この仕様が決まった部分を「IoT基本機能」と本稿では呼びます。

MCUソフトウェア開発者が注力すべきは、ユーザ要求に応じて開発するIoTアプリケーション部分です。この部分を、「IoT付加機能」と呼び、「IoT基本機能」と分けて考えます。

ユーザのアプリケーション専用MCU製品意識は、IoT MCUでも変わりません。例えば、IoT基本機能の無線機能は不要や、ユーザがコストに応じて取捨選択できるセキュリティレベルなどのIoT MCU製品構成になると思います。一方、IoT付加機能だけを実装するなら、現状のMCUでも実現可能です。

以上のことから、IoT MCUは3層構造になると思います。

IoT MCUコアの3層構造
IoT MCUコアの3層構造

機能 追記
Back End IoT MCU IoT基本機能+付加機能+分析結果表示 収集データ分析結果ビジュアル表示
IoT MCU IoT基本機能+付加機能 高性能、マルチコア、RTOS利用
Front End IoT MCU センサデータ収集などのIoT付加機能
最小限セキュリティ対策
収集データは上層へ有線送信
コスト最重視

最下層は、ユーザ要求アプリケーションを実装し、主にセンサからのデータを収集するFront End IoT MCUです。ここは、現状のARM/Non ARMコアMCUでも実現できIoT付加機能を実装する層です。デバイスコスト最重視なので、最小限のセキュリティ対策と収集データを有線、または無線モジュールなど経由で上位IoT MCUへ送信します。IoT MCUサブセット版になる可能性もあります。

中間層は、高度なセキュリティと市場に応じた無線通信、エッジAI機能などのIoT基本機能がフル実装できる高性能MCUコアやマルチコア、RTOS利用へ進化した層です。IoT付加機能も同時実装可能で、下層の複数Front End IoT MCUが収集したセンサデータを、まとめて上位Back End IoT MCUまたは、インターネット空間へ直接送信できます。製造技術進化とマルチコア化、ARM新コア(Cortex-M23/33/55など)が寄与し、IoT MCUの中心デバイスです。

最上層は、第2層のIoT MCU機能に加え、インターネット空間で収集データを分析・活用した結果をユーザへビジュアル表示する機能を追加した超高性能MCUコア活用層です。自動車のADAS(Advanced Driver-Assistance Systems:先進運転支援システム)のおかげでユーザへのビジュアル表示要求はより高度になります。このユーザ要求を満たす次世代の超高性能IoT MCU(またはMPU)が実現します。

最下層のFront End IoT MCUは、現状のCortex-M0+/M4コアで弊社テンプレート適用のMCUが生き残ってほしい、というのが筆者の希望的観測です。
それにしてもAppleのコスパ3倍M1、凄いです。iPhoneもそうですが、抜きん出た技術と経営能力、Jobs精神、健在ですね。