日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Bluetooth GAP介绍

發(fā)布時間:2023/12/15 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 Bluetooth GAP介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 介紹

GAP,Generic Access Profile,該Profile保證不同的Bluetooth產(chǎn)品可以互相發(fā)現(xiàn)對方并建立連接

GAP定義了藍牙設備如何發(fā)現(xiàn)和建立與其他設備的安全/不安全連接
它處理一些一般模式的業(yè)務(如詢問、命名和搜索)和一些安全性問題(如擔保)
同時還處理一些有關連接的業(yè)務(如鏈路建立、信道和連接建立)

GAP規(guī)定的是一些一般性的運行任務;因此,它具有強制性,并作為所有其它藍牙應用規(guī)范的基礎

GAP在藍牙協(xié)議棧中的位置如下圖

GAP有如下四個目的

 - Profile Role 
 - 可發(fā)現(xiàn)模式和過程 
 - 連接模式和過程 
 - 安全模式和過程

!!!注意: 本文中的內(nèi)容針對BR/EDR !!!

2. 角色

在BLE下,GAP Role有四種

 - Broadcaster : 發(fā)送advertising events的設備(有Transmitter, 可能有Receiver) 
 - Observer    : 接收advertising events的設備(可能有Transmitter, 有Receiver) 
 - Peripheral  : 物理鏈路上接受連接的設備, 在LL層Connection State為Slave(有Transmitter和Receiver) 
 - Central     : 物理鏈路上發(fā)起連接的設備, 在LL層Connection State為Master(有Transmitter和Receiver)

3. 配置

用戶可配置(地址不可配置)的參數(shù)如下

 - Bluetooth Device Address : BD_ADDR 
 - Bluetooth Device Name    : the user-friendly name 
 - Bluetooth Passkey        : Bluetooth PIN 
 - Class of Device          : 設備發(fā)現(xiàn)階段用于指示設備類別和支持的設備類別

4. 模式

發(fā)現(xiàn)模式(Discoverablity Modes), 對應于inquiry

 - Non-discoverable Mode: 不響應inquiry
 - Discoverable Mode: 是下面兩種模式的總稱, 設備進入INQUIRY_SCAN狀態(tài), 響應inquiry
 - Limited discoverable Mode: 響應LIAC inquiry
 - General discoverable Mode: 響應GIAC inquiry

連接模式(Connectability Modes), 對應于paging

 - Non-connectable Mode: 不響應paging
 - Connectable Mode: 設備進入PAGE_SCAN狀態(tài), 響應paging

配對模式(Bondable Modes), 對應于bonding/paring, 需要和SSP(Secure Simple Pairing)配合使用

 - Non-bondable Mode: 設備不可接受來自遠端設備的綁定/配對請求
 - Bondable Mode: 設備可接受來自遠端設備的綁定/配對請求

5. 安全

5.1 認證

認證(Authentication)過程描述了兩個藍牙設備進行LMP認證和LMP配對的一般過程,過程如下

5.2 安全模式

安全模式描述了Channel連接建立過程中的涉及的Secure問題

安全模式大體上可分為兩種Legacy Security Modes(1、2、3, 也稱Legacy Pairing)和Security Mode 4(即SSP)

注意: 設備可能同時支持Security Mode 2(兼容不支持SSP的設備)和Security Mode 4

詳細有如下四種

 - Security Mode 1 : Non-secure 
 - Security Mode 2 : Service level enforced security 
 - Security Mode 3 : Link level enforced security 
 - Security Mode 4 : Service level enforced security

5.2.1 Legacy Security Modes

Legacy Security Modes用于藍牙v2.0及更早版本, 設備需要輸入Pin Code, 當雙方Pin Code相同時配對成功

Pin Code通常為4個字節(jié), 如0000和1234

5.2.2 SSP

SSP用于藍牙v2.1及后續(xù)版本, 對于BR/EDR要求強制支持;它使用Elliptic Curves Diffie-Hellman提供被動竊聽保護,還有可選的MITM保護

SSP引入了IO Capabilities的概念,這是一種考慮設備輸入和輸出能力并據(jù)此選擇配對模型的機制

SSP使用四種不同的配對模式:Numeric Comparison、Just Works、Passkey Entry、Out Of Band

Numeric Comparison

適用于兩個設備都可以顯示六位數(shù)字并且能夠讓用戶輸入"Yes"或"No"的情況;在這個模型中,有針對MITM的保護,故而即使知道這六位數(shù)字對解密數(shù)據(jù)也沒有意義;這也是Android中藍牙常用的配對模式

Just Works

適用于兩個設備都沒有任何輸入和輸出能力的情況;它使用與數(shù)字比較相同的協(xié)議,但它不向用戶顯示任何數(shù)字,也不要求確認這些數(shù)字;該模型不提供針對MITM的保護

Passkey Entry

適用于一個設備具有數(shù)字鍵盤但沒有顯示器且另一個設備至少具有數(shù)字輸出的情況;在配對過程中,帶顯示屏的設備顯示一個6位數(shù)字,另一個設備必須通過鍵盤進行輸入

值得注意的是,Passkey Entry與Legacy Pairing的PIN Code輸入不同;在Legacy Pairing中,PIN Code是密鑰生成的唯一隨機源;而在Passkey Entry中,六位數(shù)字只是安全算法的artifact,而不是輸入;知道六位數(shù)字對解密數(shù)據(jù)沒有幫助;Passkey Entry可防止MITM

Out Of Band

該模型允許通過不同的技術(如NFC)進行配對;使用NFC進行藍牙配對,只需將設備放在一起,它們就會配對;對于MITM保護,依賴于使用的帶外機制的MITM的保護

5.2.3 IO能力

SSP配對模型的選擇取決于設備的輸入和輸出能力

輸入能力有三種

- No Input: 設備沒有輸入能力
- Yes/No: 用戶可以選擇Yes或者No
- Keyboard: 用戶可以輸入六位數(shù)

輸出能力有兩種

- No Output: 設備不能顯示六位數(shù)字
- Numeric Output: 設備能夠顯示六位數(shù)字

IO能力可以映射進行下表所示的映射

5.2.4 配對模型選擇

當我們知道設備的IO功能后,可以據(jù)此選擇設備之間的配對模型

下表顯示了如何選擇配對模式以及設備是否能夠相互進行身份驗證(Initiator位配對發(fā)起方, Responder為配對接收方)

6. 空閑模式

描述了發(fā)起方Inquiry和Discovery的過程

 - General Inquiry 
 - Limited Inquiry 
 - Name Discovery 
 - Device Discovery 
 - Bonding: 包括Dedicated Bonding和General Bonding, 區(qū)別???

TIP:
Dedicated Bonding是用戶通過特定請求(如添加設備)觸發(fā)的綁定
General Bonding是在連接到首次某個服務時由于安全性自動觸發(fā)的綁定

7. 建立連接

進行下面過程之前需要Discovery過程提供遠端設備如下信息

基本信息

 - DB_ADDR、Device Access Code 
 - System Clock 
 - Page Scan Mode

附加信息

 - The Class of device 
 - The Device name 
 - The supported Service Classes

有如下三種

 - Link Establishment 
 - Channel Establishment 
 - Connection Establishment

8. 操作模式和過程

在LE物理層通道上可能同時存在多個模式和過程

 - Broadcast mode and observation procedure 
 - Discovery modes and procedures 
 - Connection modes and procedures 
 - Bonding modes and procedures

參考:
<Bluetooth Security>
<Guide to Bluetooth Security>
<Secure Simple Pairing Explained>

總結(jié)

以上是生活随笔為你收集整理的Bluetooth GAP介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。