要約
セキュリティは、私たちが日常生活で耳にする避けられない言葉です。セキュリティのないテクノロジーは、多くの人にとって「信頼」のないテクノロジーです。私たちは皆、職場からソーシャルチャットまで、セキュリティが私たちの生活でどのように重要な役割を果たしているかを知っています。組み込みシステムであっても、機密データへの不正なアクセスを防ぐためのセキュリティを実装する必要があります。i.MX6 プラットフォームが認証されたイメージでのみ起動できるようにするには、どうすればよいですか。High Assurance Booting(HAB)という名前のクールなものを見てみましょう。これにより、ブートイメージが安全でシンプルになります。
紹介
デジタルセキュリティは、その誕生以来、私たちの生活の避けられない部分となっています。このケースは、特に機密データを扱う場合、どの組み込みシステムでも変わりません。銀行取引、防衛、医療、産業、自動車に使用されている多くの組み込みデバイスは、セキュリティを厳格に実装しています。
ほとんどすべての組み込みシステムは、フラッシュされた画像を通じて与えられる特定の命令に基づいて動作しています。ハッカーが自分の命令を組み込みデバイスにフラッシュできるとしたら、そのデバイスで何をする必要があるかを完全に制御できると想像してみてください。デバイスが銀行の目的で使用している場合、ハッカーはパスワードを含むすべての詳細を取得します。このシナリオは、デバイスが防衛または医療分野で使用されている場合、さらに悪化します。どうすればこのケースを防ぐことができますか?まあ、答えはそれほど簡単ではありません!
組み込みシステムOSイメージは、MMC、SDカード、SATA、イーサネットなどのさまざまなメディアからフラッシュできます。SDカードなどのメディアは簡単に交換できるため、メディアにセキュリティチェックを実装することは困難です。さらに、これらのメディアにフラッシュした後、OSイメージを変更できます。したがって、イメージをフラッシュする前だけにセキュリティチェックを実装するだけでは、この問題に対処するには不十分です。では、OSイメージが十分に安全であることを確認するためのセキュリティチェックをどのように実装できますか?その答えはHAB(High Assurance Boot)です。
フリースケールは、i.MX6Qプロセッサのオプション機能としてHABv4 (最新のHABバージョン4) を提供しました。HABはフリースケールのセキュリティブロックの一部であり、CAAMやTrustZoneなどの他のセキュリティ機能と連携できます。
HAB を使用する利点には、次のものが含まれますが、これらに限定されません。
HABの仕組みは?
デジタル署名の原則に基づくHAB。デジタル署名は、コンテンツコンテキストに署名することにより、コンテンツを安全に保ちます。この署名プロセスには、最終的な結果を強化するために、複数のセキュリティ アルゴリズムを組み込む必要があります。
HAB デジタル署名は、open-ssl 認証、MD5 ハッシュ、RSA-AES-DES の公開鍵と秘密鍵のチェックを組み合わせたものです。
HAB は、ブートローダー (u-boot) と OS イメージ (uImage) の両方を署名付きイメージにすることでセキュリティを確保します。これらの署名付きイメージには、通常のイメージ コンテンツとセキュリティ手順が含まれています。これらのイメージには、公開鍵と秘密鍵も含まれています。HAB プロセス中、組み合わせから派生した公開鍵ハッシュ・コードは、i.MX6 プロセッサーのブート ROM コードに融合します。この融合により、プラットフォームの安全性が向上し、後で変更することはできません。
ブート時間中、ブートプロセスの初期パラメータは、フラッシュメディア(SDカードなど)からブートROMコードを取り込む必要があります。次に、HAB 命令は、ブート ROM と署名付きイメージの内部に存在するハッシュ値を調べます。これら 2 つのハッシュ値が一致すると、HAB プロセスにより、プラットフォームはイメージを起動できます。それ以外の場合、システムはすべてのプロセスを停止し、許可されたイメージを待ちます。
このようにして、システムは、後の段階で誰かが署名されたイメージを変更した場合でも、許可されていないアクセスから保護する必要があります(これにより、最終的にイメージのハッシュ値が変更されるため、ランタイムチェック中に失敗します)。

iWaveは、 i.MX6Q iW-RainboW-G15D-Q7 Linuxプラットフォーム にHABを成功裏に実装し、HABを検証してプラットフォームを保護する方法を確認しました。ただし、HAB は、開発プラットフォームの購入またはモジュールの購入の一部として提供される標準 BSP の一部ではありません。これは特別なリクエストがある場合にのみ利用できます。
結論
HABは、OSイメージへの不正アクセスを防ぐための最良のソリューションの1つです。機密データ(バンキング、防衛など)を扱う組み込みシステムは、外部ソースによってシステム全体を制御されないように、企業内にHABを配置する必要があります。HAB は i.MX6 プラットフォームのオプション機能ですが、ブート プロセスの安全性を高めるために実装することをお勧めします。
参考: