ネット系技術者で電子技術を使ったメディアアート作品の製作も手掛ける、GMOインターネット 特命担当技術分析官の新里 祐教氏が、各社の「IoT開発キット」で“遊ぶ”本シリーズ。今回の対象製品は米Texas Instruments社(以下、TI社)の「SimpleLink SensorTagキット」の最新版、Wi-Fi接続仕様の「SimpleLink Wi-Fi CC3200 SensorTag(CC3200STK-WIFIMK)」である。SensorTagは以前から使っているという新里氏。まずは仕様・機能から見ていく。

 今回はTI社の「SimpleLink SensorTagキット」(以下、SensorTag)を使って遊ぶ。小型のIoTキットで、温湿度や地磁気、モーションセンサー等のセンサーデータを簡単に扱えるキットだ。採用しているMCUごとに、第1世代は「CC2541」、第2世代は「CC2650」と名付けられており、どちらもBluetoothを利用してセンサーデータをやりとりするものだった。ここに「CC3200」を利用したWi-Fi版が今年になって追加された。(関連記事)。

 CC3200はARM Cotex-M4が搭載されたWi-Fi用のモジュールで、無線LANのWPA2で採用される「AES」や「3DES」(トリプルDES)といった暗号化方式、改変をチェックするためのハッシュ関数「SHA-2」といったセキュリティーのハードウエアアクセラレーターが搭載されている。さらに、インターネットのあらゆる場面で使われる暗号化技術である「TLS」も利用できる。セキュリティーに配慮し、TLSを最初から利用できるようにしている点も、使い易いポイントの1つと感じる。

図1.1 CC3200 Wi-Fi SensorTagこと「CC3200STK-WIFIMK」
図1.1 CC3200 Wi-Fi SensorTagこと「CC3200STK-WIFIMK」
TIレッドのゴム状カバーで覆われている。
[画像のクリックで拡大表示]

 CC3200の場合、最大で256kバイトのRAMを利用できるが、筆者が過去にTSLの実装を経験した組み込み端末ではRAM/ROM容量が非常に少なく、この種の端末上にTLSを実装するのはとても難しいと感じている。その組み込み端末で利用できるRAMはわずか20kバイト。TLSでは、非常に多くの暗号化アルゴリズムを実装する必要がある。しかも、2048ビットの証明書を読み込んで利用しようとすると、それだけで2kバイトとRAM全体の10%ものメモリーを消費してしまう。

 加えて暗号化アルゴリズムやアプリケーションで利用する分を考えると、「数バイトでも空きを作ろう」という実装になってくる。加えて暗号化用のハードウエアアクセラレーターが搭載されていない端末だったため、全てソフトウエアで処理するという辛いポイントもあった。一般的なパソコンでさえ2Gバイト以上のメモリーを搭載している現在、ほんの少しのメモリーの確保を考える羽目になるとは思いもしなかった。そんな経験上、TLSが初めから利用できるという点で、CC3200にはとても安心感がある。(なお、mbedTLSの組み込み端末向け実装例はオープンソースとして公開している