フラッシュメモリが改ざんされ、マイコンがハッカーに乗っ取られた場合の万が一の対策として、ウォッチドッグタイマーがある。ウォッチドッグ(Watch Dog)とは番犬のことだ。マイコンの動作が正常かどうかを見張ってくれる番犬機能のタイマーをウォッチドッグタイマーと呼ぶ。
ウォッチドッグタイマーは、電源投入またはプログラム実行開始と同時にカウントを始め、リフレッシュしない限り、カウント動作を続ける。セキュリティの観点からソフトウェアではカウントを停止するこはできないようになっている。起動後一定時間が経過しオーバーフローするとマイコンをリセットするので、カウンターがオーバーフローする前に、リフレッシュしなければならない。したがって、ユーザーはリフレッシュするプログラムコードを組み込んでおく必要がある。ユーザーはウォッチドッグタイマーのオーバーフロータイムを知っているため、リフレッシュするプログラムを組み込むことができるが、ハッカーが組み込むプログラムではリフレッシュできないため、ハッカーによるマイコンの乗っ取りを防げる。
サーバ間またはデバイス間の通信は、認証と認可を必要とし、安全でなければならないがそれでも万が一、データを盗まれた場合でも、データを暗号化しておけば、データの内容を盗まれることはない。暗号化といっても、さまざまな方式が存在する。ここではSTマイクロエレクトロニクスのSTM32ファミリに搭載されている、暗号化機能を例に挙げる。
STM32ファミリは「暗号化エンジン」という周辺機能を持っており、AES、TDES、DESをサポートしている。そして、電子コードブックモード(ECB)、暗号ブロック連鎖モード(CBC)、カウンターモード(CTR)、AES ガロア・カウンターモード(GCM)、CBC-MAC付きカウンターモード(CCM)などのモードをサポートしている。さらに、データをスワッピングする機能も持っているため、データを盗まれても、容易に復号できない(図7)。
[標準暗号規格]
・AES:Advanced Encryption Standard
・DES:Data Encryption Standard
・TDES:Triple Data Encryption Standard
[暗号化/復号モード]
・ECB:Electronic CodeBook(電子コードブックモード)
・CBC:Cipher Book Chaining mode(暗号ブロック連鎖モード)
・CTR:CounTer Mode(カウンターモード)
・GCM:Galois Counter Mode(ガロア・カウンターモード)
・CCM:Counter with CBC-MAC(Cipher Block Chaining Message Authentication Code)
日系半導体メーカーにて、25年以上にわたりマイコンの設計業務に携わる。その後、STマイクロエレクトロニクスに入社し、現在までArm Cortex-Mプロセッサを搭載したSTM32ファミリの技術サポート業務に従事。Armマイコン以外にも精通しており、一般的な4ビットマイコンから32ビットマイコンまで幅広い知識を有する。業務の傍らマイコンに関する技術論文や記事の執筆を行っており、複雑な技術を誰にでも分かりやすい文章で解説することがモットー。
Copyright © ITmedia, Inc. All Rights Reserved.