Arm Trusted Firmware-A

画像系SoC(LSI)開発のコンサルティング案件の中で、Arm Trusted Firmware-A (以下TF-A)を読み解くことをここ半年ぐらい続けている。また、既存組込みシステム向けセキュリティ・モジュール検討手段としてセキュアマイコンとセキュアエレメントも面白い。
今日は、Arm Trusted Firmware-Aについて書いてみる。

はじめに

私の仕事としては、元々は、RISC-Vベース上のセキュリティアーキテクチャ(特にKeystone) の調査案件だったのだが、その後、Arm TrustZone-A(Arm社が提供するセキュリティHWアーキテクチャ) → OP-TEE(TrustZone向けセキュリティフレームワーク) → Secure Boot(セキュアなSoC起動) → Trusted Firmware-A(Arm社が提唱するセキュアなCortex-A SoCのSW実装指南書。以下「TF-A」と記述。) と少しずつ対象分野が具体化してきている。

本blogでは、Arm TrustZoneをキーワードにセキュリティを構築する際に、知っておいた方が良い項目を紹介してみる。

Secure Boot

SoC(LSI)のセキュリティ起動なんて、SoCのLinux上でアプリケーションを構築している方々には当たり前のことなのだが、TrustZoneで実現したいセキュリティ機能、性能、信頼性を言った途端に、SoCの全てにおいて実現したいセキュリティレベルに全てを合わせなければならなくなって、技術レベル、知識レベルがドンを上がって来ているのが実状。それがいわゆるSecure Bootと呼ばれる機構。

Secureじゃない普通のBootは、SoCがPower On Resetで立ち上がった際に、SoCがつながれているQuad SPI Flash Memory (以下 QSPI-Flash)に書かれたArm Binary Codeを順に読み出し、自身のメモリにある程度取り込んでから実行する仕組みだ。
近年、ハッカー達がネットワークに飽き足らず、ハードウェア端子やICピンにプローブを宛ててデータを解析する(QSPI-Flashの内容を抜き出す)様になり、ハードウェア提供者はその操作を阻止する必要性が出てきた。 とにかく最近のセキュリティ侵害は、組込み機器メーカに取っては頭の痛い話となっている。

平和的なChipを作ることに慣れてしまっている日本の技術者だが、現実としては、「日本の開発会社でまともな(世界で対抗できる) Cortex-Aシリーズのセキュリティコードを設計出来る人が居るの?」って感じ。

Arm TrustZoneセキュリティアーキテクチャを支えるTF-A

Arm社はセキュリティ機構のTrustZoneを提供しているが、SWとしてのセキュリティ実装はコンセプトは提唱するけど実装自体は関わっていない様で、現状は、Armのセキュリティで最も経験値が高いのはスマートフォン用SoCを作っている(使っている?)人達の様で、彼らのセキュリティに関連する情報はArm社にもあまり届いていないように思える。

TrustZoneはハードウェアとしてのセキュリティアーキテクチャで、本来はそのアーキテクチャ上でセキュアなプログラムを稼動させる訳であるが、Arm社はそのセキュアなプログラムを稼動させるベースのプログラムをTrusted Firmware-A (TF-A) として公開している。

TF-Aのドキュメントを読んでいくとArm社が培った(顧客からクレームを受けた)SoC開発ノウハウが相当ふんだんにまき散らされていて、日本の半導体開発会社では経験できなかった事がたくさん書かれていた。
さすがに教科書ほどまとまっては無いけど、中堅どころの半導体ロジック開発者が読めば、一気に5年ぐらいのノウハウを短時間に得ることができるだろうと思う。そのノウハウを知らないで、これからのSoCのセキュリティを語るのは相当危険に思える。

Armのドキュメントは、コンセプトを説明した “Trusted Board Boot Requirements Client (TBBR-CLIENT) Armv8-A” が基本で、TF-Aの実装の詳細を書き殴った TF-A Document も一読をお勧めします。

まとめ

ここでは、Arm TrustZone, TF-A の話題を書いたが、実際にはTrustZoneで稼動するTrusted OS やTrusted Applicationで「どんなセキュアなアプリをどのように動かすか?」が一番大事なポイントだ。但し、そこに行き着く迄に、多くの面倒くさい技術を積み上げないといけないというのが近年のSoCの難しいところだと思っている。

最近の業務

本ホームページはURLを公開している訳では無いので、情報の更新もままならないのですが、メールアドレスから類推してホームメージをアクセスされる方に向けて、せっかくなので簡単に最近の業務紹介をさせていただきます。

  1. 現在の主要業務
    1. デジタル半導体開発支援コンサルティング
    2. IoT / IT向け情報セキュリティ・コンサルティング
    3. IoT向け試作(PoC)開発
  2. 顧客例
    1. 関西半導体向けIP開発ベンチャー
    2. 関西人材派遣・受託開発会社
    3. 関東画像機器開発会社
    4. 海外半導体IPメーカー

近年、インターネットでの情報公開や、OSS(Open Source Software) の拡大で、ネットを調べればさまざまな情報が見つけられるようになり、PoC開発が比較的楽にできるようになってきました。

世の中の多数派に属する技術を追うのではなく、元々半導体会社で量産用Chipの企画、設計・開発、量産をやっていたのでその経験と、分野的に情報セキュリティがらみの機能を持ったChip開発の知見を生かした、ちょっと変わった展開を進めています。

「ハードウェア+ソフトウェア+ネットワーク+情報セキュリティ」の複合型の案件が最近多くなってきています。ご興味持たれた方は是非お声がけください。

半年ぶりの更新です

2020年元旦以来の更新です。
半年の間、世の中は新型コロナウィルスの影響を多大にうけていましたが、イークラウド・コンピューティングは、半導体ベンチャー会社や画像システム会社とのお付き合いをさらに深くさせていただいています。
最近は特に、IoT向けセキュリティ分野での引き合いも多くなってきております。

あけましておめでとうございます

昨年は,技術面でのサポートや,教育に携わらせていただき,ありがとうございました.今年も,さらに良いサービス,サポートを心がけたいと考えています.

コンピューティングの領域においても,これまでのアカデミアの経験を活かして,今の独自技術テーマとしては,
① 超高速パターンマッチング
② ブロックチェーン連携IoT
と,ユニークで隙間的な基礎技術をベースに進めようとしています.
実装はSW, HWだけでなく,クラウドソリューションを使った方向で検討中です.

自分自身と,取り巻く人達のモチベーションを増幅して,やっていけるコトを是非創り出していきたいと思っています.

本年もよろしくお願いします.

再起動します!

先日,2019年9月13日,静岡大学 浜松キャンパスで,秋季学位記授与式があり,無事に情報学の博士号を授与されました.

イークラウド・コンピューティングは2017年からスタートしていたのですが,2019年10月から本格稼働させます.

スタートアップします

2017年より,イークラウド・コンピューティングをスタートします.

次世代IoTとして,組込み技術(ハードウェア+ソフトウェア)+ネットワーク+クラウド・コンピューティングを統合したソリューションを提供します.