マイコンを使い込んでいる上級者を対象にさらなるスキルアップ、知識習得を目指す連載「ハイレベルマイコン講座」。前回に引き続き、マイコンで実現されるセキュリティ機能について詳しく解説する。
前回に引き続き、マイコンのセキュリティ機能について解説していく。今回は、ソフトウェア編としてマイコンサプライヤがユーザーのために提供している「セキュアエンジンミドルウェア」と「セキュアブートファームウェア」と「ユーザーアプリケーションでのセキュア機能」について詳しく解説する。
次に示す言葉は、エンジニアによって意味の違う使い方をされる場合があるので、混乱を避けるため、本記事では以下の意味で使用する。
ソフトウェア(Software):
ハードウェア(物理的なもの)と対比されるプログラムコード全般の意味。ユーザーが作成するアプリケーションプログラムなどを指し、柔軟に変更可能であるため「ソフト」という言葉が使われている。
ファームウェア(Firmware):
ファーム(Firm)のそもそもの意味は「固定された」「不変のもの」である。マイコンでは、主にハードウェアのドライバソフトなどの決められたタスクを担う不変のソフトウェアを指す。ソフトウェアより不変的であるのでファーム(Firm)という言葉が使われている。
ミドルウェア(Middleware):
アプリケーションプログラムの中で、タスク間の仲立ちをするソフトウェア。特定のタスクで普遍的な手順や管理を機能管理パッケージソフトウェアとして1つにまとめたものなどを指す。
製造時の段階で、不正なプログラムコードや悪意のあるプログラムコードが作り込まれ、出荷後にそれらのプログラムコードが動作すると製品の信頼性が失われてしまう。このような問題の潜在化を防ぐための、製造時にセキュリティ機能を作り込み、信頼性を確保した状態で出荷する必要がある。
さらにいったん市場に出荷されたデバイスは、インターネットなどから攻撃されやすい、脅威のある公共の通信環境で動作するため、ハッカーのターゲットとなる。攻撃のリスクを軽減するために、信頼できるプログラムコードのみを実行しなければならない。
また、バグを修正したり、新しい機能や対策を導入したりするためにソフトウェアのアップデートを許可および、実行することは一般的に行われる。その際に安全な手順で実行しないとハッカーに攻撃される恐れがある。攻撃されると、ソフトウェアの複製、悪意のあるソフトウェアのダウンロード、デバイスの破損などの重大な損害が発生してしまう。機密データおよび、重要なオペレーションを保護するためにも、製品の開発段階でのセキュリティソリューション設計は必須である。
具体的施策としては、暗号化(暗号鍵付き)とメモリ保護などが挙げられる。暗号化によって、データおよび、プログラムコード転送中の完全性(内容が破損しないこと)、認証(特定の識別名による保証)、機密性(機密情報を読み取られない耐性)を保証できる。
メモリ保護は、外部攻撃(デバッガやプローブなどの外部ツールによってトリガーされる攻撃、デバイスへのアクセス)と他の組み込みプロセスからの内部攻撃(実行されているプログラムコードによって引き起こされる攻撃)を防ぐことができる(図1に製造時と市場における信頼性確保の概念図を示す)。
そこで、各マイコンメーカーでは、マイコンのセキュリティ機能を活用するためのセキュリティ機能ソフトウェアライブラリーを提供している。本記事ではSTマイクロエレクトロニクスの32ビットマイコン「STM32ファミリ」用に提供されているセキュリティ機能ソフトウェアライブラリー「X-CUBE-SBSFU STM32Cube拡張ソフトウェアパッケージ」(以下、X-CUBE-SBSFU)*)を題材にして、具体的なセキュリティ機能の活用方法を解説する。
X-CUBE-SBSFUを用いると、信頼の基点(Roots of Trust)を確立し、セキュアブートとセキュアなユーザーアプリケーションプログラムの更新を行える。
このパッケージは、ソフトウェアライセンス・アグリーメント(Software License Agreement)に基づき、無償のリファレンスライブラリーとして提供される。さらに技術資料が付属しており、STM32に搭載されたセキュリティ機能を活用する方法と保護機能を実装する方法が記載されている。
*)X-CUBE-SBSFUの詳細および、無償ダウンロードページ⇒http://www.st.com/x-cube-sbsfu
ここでは「STM32ファミリ」用に提供されているライブラリーを題材にしているが、各マイコンメーカーも自社のマイコンに適用したセキュリティ機能ソフトウェアライブラリーを提供している。STM32ファミリ以外のマイコンについては、各マイコンメーカーに問い合わせてもらいたい。
Copyright © ITmedia, Inc. All Rights Reserved.