セキュリティ機能の研究

IoT
IoT 時代はデータ漏えいの危険がいっぱい…
ワンチップ Cortex-M でここまで!
マイコン内蔵最新
セキュリティ機能の研究
第1回
通信の認証などによく使う! 暗号高速化ユニット CAU
中森 章
表 1 連載で紹介する Kinetis マイコン(フリースケール)が備えるセキュリティ機能
暗号化機能
シリーズ
K
暗号高速化
ユニット CAU
乱数生成器
RNG
K11,K21,K52,K53,K6x,K70
その他セキュリティ機能
CRC
フラッシュ・メモリの
セキュリティ
(耐タンパーなど)
ユニーク ID
メモリ保護
ユニット(MPU)
○
○
128 ビット
≧ 100MHz
L
─
─
─
○
80 ビット
─
M
─
─
○
○
128 ビット
○
KW2x:128 ビット
Kw01:80 ビット
─
W
─
KW2x
○
○
E
─
─
○
○
64 ビット
─
○
KV1:48 ビット
KV3/KV4:96 ビット
─
V
─
─
○
さまざまな装置をインターネット接続する IoT
(Internet of Things)時代になると,データベース
を管理するクラウド・サーバだけでなく,サーバと
通信を行う末端のセンサ機器などにもセキュリティ
機能が要求されます.セキュリティ機能を内蔵した
ワンチップ・マイコンも数多くあります.
本稿では,多くのセキュリティ機能を備え,LAN
通信搭載 mbed 互換ボードが 4000 円程度で入手でき
て実験に使いやすい,ARM Cortex-M 内蔵 Kinetis
(フリースケール)を例に,ワンチップ・マイコンの
最新セキュリティ機能を紹介していきます.
マイコンの主なセキュリティ機能
一口にセキュリティといってもいろいろあります
が,本稿では Kinetis マイコンに内蔵された暗号化支
援機能と耐タンパー機能を中心に紹介していきます.
表 1 に Kinetis シリーズのセキュリティ機能を示し
ま す. こ の 中 で MPU(Memory Protection Unit)は
CPU の機能とは別物で,システム・バス(クロスバー・
スイッチ)に付加されています.
▶その 1:認証などに使われる暗号化支援機能
通信の認証などに使われる暗号化の支援機能には,
以下のものがあります.
2015 年 3 月号
・ 暗 号 高 速 化 ユ ニ ッ ト CAU(Cryptographic
acceleration unit)
・
・巡 回 冗 長 検 査 回 路 CRC(Cyclic Redundancy
乱数生成器 RNG(Random number generator)
Check)
▶その 2:直接攻撃対策…耐タンパー機能
タンパーとは MCU 内部の情報をチップ開封などに
よって盗み見る侵略行為のことです.耐タンパー機能
は次のものがあります.
・タンパー検出モジュール TDM(Tamper Detection
Module)
TDM は Kinetis では DryIce(ドライアイス)とも呼
ばれます.これは熱(侵害)を加えると(解析したい機
能が)蒸発して消えて無くなってしまうという意味に
由来しているのだと思われます.
▶公開可能な範囲で解説していきます
ちなみに,セキュリティ機能の解説には注意が必要
で す. た と え ば, 耐 タ ン パ ー 機 能 は Kinetis K6x シ
リーズのリファレンス・マニュアルでは NDA 事項に
なっていますが,Kinetis K70 シリーズのリファレン
ス・マニュアルでは公開機能になっています.フリー
スケールの担当者も NDA が必要なのは CAU の機能
であり,タンパー検出は特に秘密ではないといってい
ました.連載では,このあたりも気をつけながら解説
していきたいと思います.
121