- 公開日:2023年06月19日
- | 更新日:2023年07月11日
IoT機器をサイバー攻撃から守りましょう! ルネサス RX マイコンと暗号技術
- ライター:Takao Saotome
- マイコン
IoT機器に対するセキュリティの必要性
PCやスマホは OSをアップデートしたりセキュリティソフトウェアをインストールしたりする事でセキュリティ対策が可能です。
同じくネットワークに接続されるIoT機器ではどうでしょうか。
情報通信白書(総務省 令和4年版 ポイント)によると、サイバー攻撃関連の通信内容のうちIoT機器を狙った攻撃が最も多いという調査結果が出ており、IoT機器のセキュリティ対策は必須となるでしょう。
IoT機器向けにMCUを提供しているメーカー各社は、セキュリティ機能を搭載したMCUを製品化しています。
このセキュリティ機能とは暗号処理であり、大きなデータに対して複雑な演算をしています。
これらの処理をCPUで行うと本来のアプリケーションの処理や暗号処理が遅くなってしまいますので、暗号処理を行うためのハードウェアアクセラレータを搭載しています。
このアクセラレータに各社が差別化を行うための付加機能を加えたものはセキュリティエンジンと呼ばれ、ルネサスのRX MCUにはTrusted Secure IP(以降TSIP)というセキュリティエンジンが搭載されています。
ルネサス RXマイコンのセキュリティエンジン
ルネサスのマイコンラインナップの1つであるRXシリーズに搭載されるTSIPは暗号処理を行う以外に、「動作の起点をハードウェアで守る(Root of Trust)」という思想の仕掛けがありますが、ここでは暗号処理にフォーカスします。
RXセキュリティソリューションのWebサイトの掲載情報の抜粋を示します。TSIPにはLiteバージョンもありますが、ここでは省略します。
Trusted Secure IP | ||
基
本 機 能 |
共通鍵暗号 | AES(128 / 256): ECB / CBC / GCM / CCM
TDES(56 / 56×2 / 56×3): ECB / CBC |
公開鍵暗号 | RSA(1024/2048):暗号化/復号、署名生成/署名検証、鍵生成(1024/2048)
ECC(p-192/224/256):暗号化/復号、署名生成/署名検証、鍵生成(192/224/256) |
|
ハッシュ | SHA-1, SHA-256, MD5 | |
メッセージ認証 | CMAC(AES), GMAC, HMAC | |
乱数生成 | 乱数生成(SP800-90準拠) | |
鍵更新機能 | AES、TDES、RSA、ECC用鍵更新 |
この機能列に掲載されている、共通鍵暗号、公開鍵暗号、ハッシュ、メッセージ認証、乱数生成と、TSIP列に記載のある、署名/検証が暗号技術の根幹となる6つの技術です。
これらの6つの暗号技術をそれぞれ解説します。
6つの暗号技術
1.共通鍵暗号
共通鍵暗号では暗号化と復号化に同じ鍵(共通鍵)を使います。
アルゴリズムにDES、TDES(トリプルDES)、AESなどがあり、AES使用時にはECBモード、CBCモード、CTRモードがあります。
鍵を安全に送ることができないため、機密性を保つには他の暗号技術と組み合わせる必要があります。
2.公開鍵暗号
公開鍵暗号では、鍵が 数学的にペアである公開鍵とプライベート鍵に分かれています。
暗号化の際は公開鍵を、復号化の際はプライベート鍵を使います。プライベート鍵は受信者側で持っているため、復号化できるのは受信者のみです。
アルゴリズムの種類としてはRSA、ECC(楕円曲線暗号)などがあります。
送信者は、正しい受信者から受け取った公開鍵で暗号化しないと、最終的にメッセージが復号されません。
3.ハッシュ
任意の大きさのメッセージの情報をハッシュ関数で演算して固定長の値であるハッシュ値を求めます。
メッセージが改ざんされるとハッシュ値も変化するので、改ざんの検出ができます。
メッセージの真正性確認をする際、固定長であるハッシュ値を用いる事で大きなメッセージ全体を確認する必要がありません。
ハッシュ関数には、MD5、SHA-2、SHA-2などがあります。
なお、圧縮ではないのでハッシュ値からメッセージを復元することはできません。
4.メッセージ認証コード(Message Authentication Code)
メッセージの情報と鍵の情報を用いて、メッセージ認証コードのアルゴリズムの元、MAC値というものを求めます。
MAC値を比較することで、受信したメッセージが正しいかを検証します。
図には描かれていませんが、共通鍵暗号やハッシュが組み合わされており、アルゴリズムとして、GCM(GMAC)、CMAC、HMACなどがあります。
メッセージの機密性はありませんので、暗号化と組み合わせる必要があります。
5.署名・検証
メッセージの改ざんの検出と、送信者の確認ができます。
このため、送信者は「送っていない。」と言うことができなくなります。
受信者はプライベート鍵を送信者に渡してしまうので、公開鍵暗号を逆に使うイメージです。
メッセージの機密性はありませんので、暗号化と組み合わせる必要があります。
上図では、メッセージが大きいと暗号化に時間がかかりますが、下図の様にハッシュ値であれば、暗号化に必要な時間が削減できます。
6.乱数生成
乱数とは予測不可能なビット列の事です。
乱数は共通鍵暗号やメッセージ認証の鍵の生成、共通鍵暗号のモードで使う初期ベクトルの生成、公開鍵暗号や署名検証のペア鍵の生成などで使われます。
真の乱数をソフトウェアだけで生成することはできませんが、TSIPの乱数は真の乱数を生成できる真性乱数発生器です。
その仕掛けは公開されていませんが、回路中の熱雑音という自然現象を利用したものが知られています。
その他のTSIPの特徴
TSIPは先述の暗号技術の他、個々のMCUに配されたユニークIDで鍵を復号することにより、暗号化された鍵を他のMCUへ複製しても復号化できないなどの特徴があります。
先述したように「動作の起点をハードウェアで守る(Root of Trust)」という思想で設計されており、暗号化のためのハードウェアアクセラレータに留まらず、データを守る仕組みを提供しています。
まとめ
ルネサスRX マイコンのセキュリティエンジンであるTSIPに搭載される暗号機能と、その暗号機能概略を解説いたしました。
IoT機器のセキュリティ対策に有効なTSIPの機能を使用するためのTrusted Secure IPドライバは、ルネサスのWebサイトからダウンロードできます。
IoT機器のセキュリティ対策はもう始められます。いえ、始めなくてはなりません。
この記事がIoT機器へセキュリティ対策の一助になれば幸いです。
※本記事に記載された会社名、商品名、システム等は、各社または団体の商標または登録商標です。
参考文献
ルネサスWebサイトRXセキュリティソリューション
ルネサス ブログ IoTセキュリティを簡単・強固に実現するRXセキュリティソリューション
暗号技術入門第3版 結城浩著 SBクリエイティブ株式会社