Как работает сопряжение Bluetooth?

Как работает точно работа Bluetooth? Что передается между каждым устройством во время процесса сопряжения?


Мне сказали, если вам нужно device-A установить пару с device-B:

  • A отправляет "уникальный ключ" на устройство B на некоторой длине волны/частоте
  • B возвращает 'echo' обратно в A, и, следовательно, пары устройств.

    +-----+     key    +-----+ 
    |     |  ---->     |     |
    |  A  |            |  B  |
    |     |     <----  |     |
    +-----+     echoed +-----+ 
    

Это кажется неточным, так что кто-нибудь сможет либо расширить, либо объяснить, как/что передается, чтобы обеспечить успешное соединение устройств?


Я подумывал о включении некоторых из этих исследований в проект за последний год (университет), но по крайней мере сначала нужно было знать что-то о сопряжении с программированием Bluetooth.

Любая помощь будет очень оценена при описании того, как работают эти начальные сообщения.


Я слышал о таких терминах, как "припаркованный режим" и "пассивный режим" в рамках моих исследований, но еще не нашел "полезной" информации в программировании за дизайном (и, следовательно, я задал этот вопрос). Подобные googling темы такого типа также довольно сложно, так как, похоже, это создает такие вещи, как "как превратить ваш bluetooth" на страницы, а не дизайн программирования за ним.

Ответы

Ответ 1

Bluetooth Secure Simple Pairing использует криптографию с открытым ключом криптографии Elliptic Curve Diffie Hellman (ECDH) с приблизительно 95 битами энтропии с использованием утвержденной FIPS эллиптической кривой P192.

E:y2=x3 +ax+b(modp)

Приведены следующие параметры:

  • Простой модуль p, порядок r, x-координата базовой точки Gx, базовая точка y-координата Gy.
  • Целые числа p и r задаются в десятичной форме; битовые строки и элементы поля задаются в шестнадцатеричном виде.

    p = 6277101735386680763835789423207666416083908700390324961279
    r = 6277101735386680763835789423176059013767194773182842284081
    b = 64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1
    Gx = 188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012
    Gy = 07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811
    

Существует пять этапов безопасного простого сопряжения:

1. Обмен публичным ключом

Каждое устройство генерирует собственную парную пару открытого ключа Эллиптической кривой Diffie-Hellman (ECDH).


2. Этап аутентификации 1

1 из 3 параметров протокола выбирается соединительными устройствами на основе возможностей IO двух устройств. Это:

  • Числовое сравнение,
  • Из-из-Band,
  • Ввод пароля

3. Этап аутентификации 2

Каждое устройство подтверждает, что оба устройства успешно завершили обмен, как это предусмотрено, какой из протоколов был выбран и используется на предыдущем шаге.


4. Расчет ключа ссылки

Ключ связи вычисляется из полученного совместно используемого ключа и данных, обмениваемых данными. Это числовой код, отображаемый пользователю.


5. Аутентификация и шифрование LMP

Создаются ключи шифрования. Устройства успешно подключены.


      enter image description here       enter image description here



Дальнейшее чтение:

Ответ 2

Доверительное отношение устанавливается между устройствами с использованием числового пароля, обычно называемого ключом доступа. В зависимости от того, как часто одно устройство Bluetooth подключается к другому, пользователь может выбрать, чтобы ключ доступа был сохранен для будущих попыток подключения, или предложите ввести ключ доступа каждый раз, когда устройства запрашивают связь друг с другом.

Подробнее: http://www.ehow.com/how-does_4964578_bluetooth-pairing-work.html

Для двух устройств, обладающих возможностью сопряжения, они должны совместно использовать один и тот же профиль bluetooth. Ниже приведен официальный веб-сайт Bluetooth:

Сопрягающиеся устройства

Не все устройства с поддержкой Bluetooth предназначены для сопряжения. По логике, нет никаких причин для подключения беспроводной мыши к беспроводной гарнитуре. Вы должны иметь возможность подключить Bluetooth-совместимую гарнитуру к Bluetooth-совместимому телефону или мышь с поддержкой Bluetooth на компьютере с поддержкой Bluetooth.

Если вы не уверены, что два устройства, которые вы хотите подключить, предназначены для сопряжения друг с другом, убедитесь, что их профили Bluetooth соответствуют.