近年、通信モジュールやセンサーモジュールが安価になったことを受け、IoT(インターネット・オブ・シングズ)市場が拡大している。野村総合研究所(NRI)の予測によると、国内IoT市場は2018年の4兆3000億円から2024年には7兆5000億円を超える規模へと、年率10%程度の高い割合で成長する見込みだ。
一般的なIoTシステムは、IoTデバイスが外部と安全に通信できるよう暗号化技術を使っている。このためIoTシステムも他のシステムと同様、暗号鍵を適切に配布、保存する「鍵管理」が求められる。
特に鍵管理が重要なIoTシステムの1つに、複数のユーザーが1つのデバイスをシェア(共有)するサービスが上げられる。例えば、民泊などでマンションのルームキーを一時的に貸与したり、乗り物を複数のユーザーでシェアしたりする利用例が該当する。シェアリングサービスの多くはスマートフォンアプリに暗号鍵を配布して利用するため、その鍵管理はサービスを支える基盤技術になりつつある。
本稿では、IoT時代に鍵管理を考える上で見極めるべき鍵の種類とセキュリティー要件について考察する。特にシェアリングサービスで用いられる鍵のセキュリティー対策について、いくつかの具体的なケースを基に考えてみたい。
IoTシステムが利用する鍵の種類
現在のIoTデバイスは、単体で複数の暗号鍵を取り扱うことが一般的になりつつある。デバイス間の相互認証や外部サーバーとのやりとりなど、複数の用途で鍵を使い分ける必要があるためだ。
デバイスが持つ鍵は「ユーザーのアイデンティティーにひも付く鍵」と「デバイスのアイデンティティーにひも付く鍵」に大別できる。
前述したシェアリングサービスの実装方式の1つとして、「ユーザーのアイデンティティーにひも付く鍵」を使った下図のような方式がある。
この方式では、IoTサービスやIoTデバイスを以下のような流れで利用する。
- ユーザーはスマートフォンアプリなどを通してサービスやデバイスへのアクセスをリクエストする
- スマートフォンアプリが、サービスやデバイスにアクセスできる鍵を有していない場合には、認証・認可サーバーに認可要求を送信する
- ユーザーが認証・認可サーバーにログインし、オンラインアカウントとスマートフォンをひも付ける
- 認証・認可システムがスマートフォンアプリに、サービスデバイスを利用するための1次鍵を配布する
- 1次鍵を利用し、サービスやデバイスにアクセスする
このように、ユーザ-に認可を与えるために利用する鍵が「ユーザーのアイデンティティーにひも付く鍵」である。
これに加え、デバイスにはIoTシステムを堅牢(けんろう)にするための鍵も存在する。その一例が、デバイス間で通信を行う際に、相互に正当であることを検証するための鍵である。
このように、ユーザーの認証・認可とは関係なく「デバイスのアイデンティティーにひも付く鍵」もデバイスには存在する。