昨今、デジタル技術の急激な発展に伴い、自動車業界ではAD、ADASの開発、コネクティッド化が進んでいますが、利便性が向上する一方、それはセキュリティ上の脅威に晒されることを意味しています。各企業様においてはサイバー法規(ISO 21434)対応が急務となっているものの、慣れない用語や専門技術に頭を悩ませている方も多いのではないでしょうか。今月のメルマガではセキュリティ技術を支えるHSMについて述べてみたいと思います。
HSM(Hardware Security Module)は、暗号鍵の保管や生成、暗号化、ハッシュ化を担うモジュールであり、HSMを内蔵したマイコンが各社からリリースされています。HSMが内蔵されていない一般的なマイコンでセキュリティにかかるこれらの処理をまかなう場合、負荷が重くなってしまうばかりでなく、攻撃者から鍵を解析されやすいというリスクが生じてしまいます。さっそく本題に入りたいところではありますが、HSMの機能を説明するためには、いくつかの事前知識が必須となるため、セキュリティの基本技術について触れていきたいと思います。
鍵
鍵はバイナリーデータであり、規則性を持たない値が良いとされています。セキュリティの生命線であり、送信したいデータ(平文)の暗号化を行う際は、この鍵を使用します(図1)。一般的に暗号化アルゴリズムは公開されているもの(AES128等)であるため、鍵を盗まれてしまうと全てのセキュリティ機能が無効化されるといっても過言ではありません。
図1 暗号化の流れ
対称鍵と非対称鍵
暗号化と復号に同じ鍵を用いる「対称鍵」方式と、異なる鍵を用いる「非対称鍵」方式があります。前者は内部ネットワーク(CAN等)で用いられることが多く、後者は不特定のノード間でやり取りを行う(インターネット、V2X等)場合に使用されます。非対称鍵方式においては、暗号化用の鍵は外部に「公開」し、復号用の鍵は外部に漏洩しないよう厳重に管理されることになります。暗号化用の鍵を盗んだとしても、暗号化したデータは受信側のノードが厳重に管理している復号用の鍵でしか復号できないため問題は生じません(図2)。尚、復号用の秘密鍵で暗号化を行う場合(デジタル署名)もありますが本稿では割愛します。
図2 対称鍵と非対称鍵の違い
ハッシュ
ハッシュは送信したいデータ(平文)をハッシュ関数(SHA2等)によってユニークな値に変換したもので、元データとは全く異なるほぼ「唯一の値」となり、1bit変えただけでも全く異なる値になる性質をもっています。また、暗号化とは違って不可逆であり、復号することはできません。この特性を利用して、改ざんの防止に用いられています。送信側はデータとデータのハッシュ(図3ハッシュ1)を送信、受信側は受信したデータを用いてハッシュに(図3ハッシュ2)に変換し、受信したハッシュ1とハッシュ2を比較します。両者が合致していればデータは改ざんされていないと判断できるという理屈です。
図3 ハッシュ化と比較の流れ
耐タンパ性
通常のマイコンの場合、メモリダンプによる鍵の読み出しや、マイコンの物理信号(電圧、消費電流等)から統計的に鍵を類推するサイドチャンネル攻撃、ICの樹脂が壊されチップ内の鍵情報を直接解析されてしまう物理攻撃に対する耐性(耐タンパ性)が不十分であり、秘密情報が不正に盗まれやすいものとなっています。
HSMは秘密に管理すべき情報を格納し、鍵など秘密情報は外に出力することなく内部で暗号化、ハッシュ化等の演算を行います。限られたインタフェースによりメモリダンプを防ぎ、サイドチャネル攻撃に対しては意図的に消費電流を変更できる機能、物理攻撃に対しては樹脂を剝がされると光によって記録が消去される機能を備えた製品もあります。このように耐タンパ性に優れたHSMですが、搭載する機能については基本的にEVITA(E-safety Vehicle Intrusion Protected Applications)プロジェクトによって策定されたハードウェア規格で定められた3つのレベル(表1)に準拠して開発されており、用途によって使い分ける必要があります。今後さらにセキュリティ対策が求められることが想定されているため、これを期に導入を検討してみてはいかがでしょうか。
Full :外部と通信するためのデバイス(TCU)
Medium :セントラルゲートウェイ、ヘッドユニットなど
Light :エンドECU
表1 HSMのレベルと機能
トレーニング(ISO 21434 自動車サイバーセキュリティ)のご案内
弊社ではISO 21434のトレーニングの開催を6月に予定しています。車載ECUシステム開発(システム/ハードウェア/ソフトウェア)を担当するエンジニアが、これから ISO 21434 に対応したプロセス及びセキュリティ設計を実施して行くために、規格の要求事項にはもちろんのこと、鍵管理をはじめとするセキュリティに関する基本事項の学習やTARAの演習を通じて解説します。貴社にてプライベート開催も実施可能です。是非、ご受講をご検討ください。
2024/5/14 山田 毅
【トレーニングのお申し込みページ】
ISO/SAE 21434 サイバーセキュリティ概論トレーニング:2024年6月20日
https://biz3.co.jp/publictraining/3675
ISO/SAE 21434 サイバーセキュリティ実践~エンジニアリング編~:2024年6月21日
https://biz3.co.jp/publictraining/6200