PSA Certified(https://www.psacertified.org/)は4月4日にPSA Certified Level 4 iSE/SEを発表した。これまで最も高いレベルはPSA Certified Level 3+ Secure Elementだったから、新たにLevel 4が加わった格好になる。これについてご紹介したい。
まず、2019年のArm TechConで行われたセッションの資料を基にPSA Certifiedの基本的な考え方の説明を行いたい。PSA(Platform Security Architecture)そのものは2017年に基本的なアイディアが説明されている。もっともこの時はまだあくまで概念レベルの話であり、同年11月に開催されたArm TechConでも、コンセプトが示されたに過ぎなかった。
そもそもPSAそのものは「IoTデバイスを設計し開発していく上で、順守すべきプロセスや手法に関するArmのベストプラクティスをまとめたビジョンというかガイドライン」でしかない。なのでIoT向けのSoCの設計者は、このガイドラインに沿った形で設計を行えば、安全なSoCが完成する“はず”ではあるのだが、強制力のないガイドライン止まりである限りは、ガイドラインが正しく実装されたかどうかの保証が無い。そこで、第三者の認証機関により、ガイドラインが正しく実装されたかどうかを検証し、合格した者に認証を与えるという仕組みがPSA Certifiedである。
2019年2月にPSA Certifiedが稼働した際には、Arm以外に6社がこのPSA CertifiedのFounder Memberに名前を連ねており、この中にはULとかRiscureの様な認証機関も含まれている(Photo01)。
そんなPSA Certifieidであるが、当初は3レベル+1が想定されていた(Photo02)。
過去形なのは、現在はさらに増えて、「Level 1/Level 2/Level 2+SE/Level 3/Level 3+SE」の5レベルになっているからだ。もっともLevel 2とLevel 2+SE、あるいはLevel 3とLevel 3+SEの大きな違いは、Secure ElementあるいはSecure Enclaveと呼ばれる、高いセキュリティエリアのサポートの追加の有無といったところである。
またLevel 1/2/3では、基本的に要件に違いは無い(Photo03)。
つまりLevel 1だからある機能は見逃される、とかLevel 3だから厳密に定義されるといった事は無い。では何が違うかというと検証方法である。PSA Level 1は、要するに40の「この機能に対応していますか?(Yes/No)」のチェックシートを埋めて、それをTest Labに送るだけである。Test Labはそのチェックシートを確認して、問題なければLevel 1のCertificationを送り返すという簡単なものである。
これに対してLevel 2ではWhite-box Testを実施する形になる。これにはおおむね25日とあるので、営業日を考えると1か月以上を要する訳だ(Photo05)。
もっとも25日あればWhite-box Testを完全に行えるか? というとこれも結構厳しいところがある。そこで当初PSA Level 3では数か月を掛けて徹底的にテストを行う、という話だったのだがやはり非現実的と判断されたのだろうか? 最終的には、Level 2よりももう少し深くテストを行うものの、テスト期間は35日とされている。まぁ2か月弱といったあたりだろうか。
そしてLevel 2+SE/Level 3+SEは、Level 2/3のテストに加えてTPMモジュールあるいはSecure Element/Secure Enclaveに対するテストも追加される格好になる。
Level 2ではPSA Certified Level 2 SESIP Profile、Level 3ではPSA Certified Level 3 RoTComponent SESIP Profileという、それぞれのLevelにおける検証範囲を定義したドキュメント、および実際のテスト手順がすでに公開されており、これを利用してこうしたSecurity Featureが正しく実装されているかどうかを検証し、Certificationを行う訳だ。
さて、以上を前提に今回発表された「PSA Certified Level 4 iSE/SE」について考えてみたい。これは既存のPSA Certified Level 3+SEよりもさらに徹底的にテストを行うためのものである。iSE/SEはIntegrated Secure Enclave/(External) Secure Enclaveの意味で、もう要するにSecure Enclaveが内蔵か外付けかはともかくとして、必ず存在する前提になっている。その上で、より洗練された高度な攻撃手法をカバーしたものとなる。具体的には、今後AIなどを使っての攻撃も念頭に入れており、より高度な欠陥注入(Fault injection)とかEMFIやSingle Laser/Multi-Glitchingなどを使った差動電源解析なども含まれるとする。
このセキュリティの堅牢性の1つの目安として使われるのが、AP(Attack Potential)という数字である。これは攻略に要する労力や時間、必要となる設備や専門知識、攻撃の洗練具合などの要素から計算されるもので、数字が高いほど堅牢とされる。金融機関向けのSmart CardのAPは31になるとされており、PSA Level 2+SEでは16以上、Level 3+SEで20以上ある事がCertificationで保証される形だが、PSA Level 4 iSE/SEではこれが25になる。つまりPSA Level 4 iSE/SEのCertificationを受けたデバイスは、それだけ攻略が困難であるという訳だ。
このPSA Level 4 iSE/SEではどの程度の検証期間が必要となるかに関しては今のところ情報が無い(Level 3より短くなることはないだろう)が、InfineonのPSoC Edge E8x MCUが最初にこのLevel 4を取得した事がすでにアナウンスされている。今後もこれに続く製品が増えて来るものと思われる。