Bluetooth®|基礎編

ペアリングとセキュリティ : セキュリティマネージャの動作

2017.05.16

この記事のポイント

・ペアリングの開始方法は2種類ある。

・ペアリングは、セキュリティ認証が開始され、Passkeyの表示/入力が行われ、STK(短期鍵)生成に必要な情報交換が終了するまでをいう。

・ペアリングが完了したことをボンディングと呼ぶ。

今回は、前回の「ペアリングとセキュリティ」の続きで、「セキュリティマネージャの動作」と題してペアリングおよび鍵交換の手順を説明します。

Bluetooth® v4セキュリティマネージャの動作:ペアリングの開始

今回は、ペアリングと鍵交換の手順の概要を説明します。最初に注意が必要なのは、ペアリングの開始方法が2種類あることです。図ではA(青)とB(赤)と分けてあります。Aは、スレーブ側が、セキュリティ開始要求Security Requestをマスタに送り、セキュリティ認証が開始となる方法で、主にAndroid端末がとる手順です。Bは、マスタからのATT(Attribute)ライト要求ATT_WRITE_REQをスレーブが受け、不適切な認証Insufficient Authenticationを応答ATT_ERROR_RSPすることで、セキュリティ認証が開始しますが。この手順はiOSで使われています。

graf_170516_01

マスタからセキュリティ認証開始Pairing Request(Authentication)が送られ、スレーブはPairing Response(Authentication)を返します。このやり取りでは、鍵の桁数や暗号化レベルの情報がやり取りされます。

その後は、Passkey入力/表示が行われ、STK(短期鍵)生成に必要な情報交換が行われます。

Bluetooth® v4セキュリティマネージャの動作:ペアリング情報交換(鍵交換)手順

STK(短期鍵)生成に必要な情報交換が行われた後に、STKを使用した短期暗号化が開始されます。図が示すように、スレーブは鍵情報やアドレス情報などをマスタに送り、マスタも同様の情報を送ってきます。

graf_170516_02

ここまでの情報を各端末が取得したこと、つまりペアリングが完了したことをボンディングと呼びます。これは、前回説明したので参照してください。

また、上図は基本的な手順を理解してもらうために簡略化してあります。実際には、この段階ではLTKは使用されず、再接続やKey Refreshの手順を経てからの使用となります。