連載
» 2020年02月04日 10時00分 公開

Arm最新動向報告(8):Armが「PSA Certified」に込めたセキュアMCU普及への意気込み (2/4)

[大原雄介,MONOist]

ルネサスのArmマイコンがCortex-M4ベースなのにPSAを取得できる理由

 さて、図4をベースにもう少し細かく説明する。PSAには2種類のCertifiedがある。1つがPSA Certifiedで、これはデバイスそのものがどれだけ強固にセキュリティ対策を行っているかを示すもので、レベル1〜3までの3段階が用意されている。もう1つが「PSA Certified functional API」である。こちらはセキュアなソフトウェア(つまりセキュアなOSやアプリケーション)を動かすために必要なAPIに対応しているか、という話であり、こちらはYes/Noのどちらかしかない(中途半端な対応は認められていない模様)ため、特にレベルは存在しない。なお、PSA Certifiedのレベルとは何か? という話は後述する。

図4 図4 ただし現状、PSA Certifiedはレベル1のみで、レベル2〜3は今後という話のもよう(クリックで拡大)

 次が“Dedicated to PSA-RoT enable chips, devices and platforms”であるが、要するにRoT(Root of Trust)をデバイスの中に設け、ここにセキュリティ機能を集約するとともにUser Land(通常のアプリケーションを実行する領域)と分離しましょう、という話である(図5)。ここでRoTがあくまでも“PSA-RoT”であり、TrustZoneではない点がミソである。

図5 図5 TrustZoneが一番容易な実装ではあるのだが、別にTrustZoneは必須ではない(クリックで拡大)

 PSAは汎用的な仕様であって、別にArm独自のものではないので、例えばサードパーティーが独自に実装したセキュアMCUであっても、PSAの要求するものを満たしていればCertifiedが取得できるとしている。事実、ルネサス エレクトロニクスの「Renesas Synergy S5」や「Renesas RA6」は、Cortex-M4ベースのMCU(なのでTrustZoneは実装できない)にもかかわらず、PSA Certifiedを取得している。これは同社が独自のセキュリティ機構を実装しており、これがPSAの要求を満たしていたため取得できていることになる。

 この理屈を敷衍(ふえん)化すると、例えば「Shield」と「WorldGuard」というセキュリティ拡張を実装したSiFiveの新しいMCU IPは、理論上PSA Certifiedを取得できる可能性がある。しかし、それが可能か、あるいはSiFiveその他のベンダーにその気があるのかについては現状不明である。機会があれば関係者に確認してみたいところだ。

 話を戻すと、PSA-RoTで想定される攻撃とその防御法をまとめたのがこちら(図6)である。さすがプローブを利用してのクラッキング(回路に直接プローブを当てて、動作を確認する方法)までは想定されていない(これへの対抗策は、回路そのものの暗号化や内部バスの暗号化が必須で、セキュアカードなどでは実用化されているが、性能とコストのトレードオフから見送られたのだろう)ようだが、一般的な使われ方の中での脅威はほぼ網羅されている。

図6 図6 サイドチャネル攻撃(Side channel attack)がないのが気になるが、これも確認し忘れた。次回(?)までの宿題ということで(クリックで拡大)

Copyright © ITmedia, Inc. All Rights Reserved.