W jaki sposób macOS Sierra bezpiecznie paruje się z klawiaturami Bluetooth bez kodu?

8

Mam pod koniec 2014 Mac Mini z systemem macOS Sierra 10.12.5. Po sparowaniu z klawiaturą Bluetooth nie pojawił się monit o wprowadzenie sekwencji cyfr.

W jaki sposób macOS sprawdza i zabezpiecza połączenia między klawiaturami Bluetooth bez pytania o kod? Czy to po prostu korzysta z pierwszego zaufania? Czy można zmusić system macOS do użycia kodu parowania?

Eric Pruitt
źródło
Czy klawiatura bluetooth jest klawiaturą Apple?
Jahhein,
@Jahhein, nie, nie jest.
Eric Pruitt,
To bardzo dobre pytanie. Osobiście jestem ciekawa odpowiedzi. Czytam przez Bluetooth i nie przychodzi mi do głowy żadne oczywiste uzasadnienie, jeśli nie jest to urządzenie Bluetooth z certyfikatem Apple.
Jahhein

Odpowiedzi:

6

TL; DR odpowiedzi na pytania

W jaki sposób macOS sprawdza i zabezpiecza połączenia między klawiaturami Bluetooth bez pytania o kod?

To nie tylko macOS - klawiatura jest podłączona i zaszyfrowana na poziomie oprogramowania układowego - jeśli nie, nie można wykonać resetu pamięci NVRAM przed załadowaniem systemu operacyjnego.

Jednak nie potrzebujesz kodu, ponieważ nowoczesne klawiatury Bluetooth używają algorytmu uwierzytelniania do parowania i wygenerowanego klucza uwierzytelniania na podstawie kluczy publicznych w celu zabezpieczenia transmisji danych.

Czy to po prostu korzysta z pierwszego zaufania?

Nie. Weryfikuje swoją tożsamość za pomocą algorytmu i wygenerowanych 128-bitowych kluczy.

Czy można zmusić system macOS do użycia kodu parowania?

Dlaczego? Wróciłoby to do metodologii parowania sprzed 2009 roku. Byłoby to równoważne z włączeniem współdzielonych kluczy WEP w nowoczesnych sieciach WiFi.


Parowanie Bluetooth

Opisany przez Ciebie proces parowania urządzenia Bluetooth (w twoim przykładzie klawiatura) wykorzystuje starą (Bluetooth 2.1) metodę uwierzytelniania o nazwie Simple Secure Pairing (SSP).

Zasadniczo SSP ma 4 modele asocjacji (parowania):

  • Porównanie numeryczne . Oba urządzenia mają wejście i wyświetlacz, więc użytkownik może po prostu wybrać „Tak” lub „Nie”, aby sparować urządzenie
  • Klucz dostępu Jedno urządzenie ma możliwość wprowadzania danych (jak klawiatura), a drugie ma możliwość wyświetlania (jak komputer). Urządzenie z funkcją wyświetlania pokazuje od 4 do 6 cyfr, a urządzenie z funkcją wprowadzania danych wprowadza go.
  • Po prostu działa To jest dla urządzeń bez możliwości wyświetlania lub wprowadzania danych (takich jak zestawy słuchawkowe), w których nie można zobaczyć ani wprowadzić hasła.
  • Poza pasmem (OoB) Dotyczy to urządzeń obsługujących dodatkową wspólną technologię bezprzewodową (NFC), w której urządzenia muszą znajdować się bardzo blisko siebie. Jedno urządzenie musi „dotknąć” drugiego urządzenia, zanim nastąpi parowanie.

Najważniejszą rzeczą do odnotowania jest to, że SSP NIE jest kluczem szyfrującym; to tylko mechanizm parowania służący do wzajemnej identyfikacji . Szyfrowanie odbywa się za pomocą klucza publicznego. Wpisany kod ma zapewnić, że jest to urządzenie, z którym chcesz się połączyć; to nie bezpieczeństwo.

Od Bluetooth 3.0 (kwiecień 2009) urządzenia Bluetooth używają klucza AMP do uwierzytelniania, który automatyzuje powyższy proces.

Pochodzenie klucza AMP Klucz połączenia AMP pochodzi z klucza połączenia Bluetooth. Generyczny klucz łącza AMP (GAMP_LK) jest generowany przez menedżera AMP na stosie hosta za każdym razem, gdy klucz łącza Bluetooth jest tworzony lub zmieniany

Poświadczenie

Procedura uwierzytelniania urządzenia Bluetooth ma postać schematu wyzwanie-odpowiedź. Każde urządzenie uczestniczące w procedurze uwierzytelnienia jako osoba występująca z roszczeniem lub weryfikator. Powód to urządzenie próbujące udowodnić swoją tożsamość, a weryfikator to urządzenie sprawdzające tożsamość powoda. Protokół wyzwanie-odpowiedź zatwierdza urządzenia, weryfikując znajomość tajnego klucza - klucza łącza Bluetooth.

wprowadź opis zdjęcia tutaj

Szyfrowanie

Istnieją 4 tryby szyfrowania

  • Tryb 1 - Bez szyfrowania
  • Tryb 2 - indywidualnie adresowany ruch jest szyfrowany na podstawie kluczy opartych na kluczach łącza
  • Tryb 3 - Cały ruch jest szyfrowany za pomocą kluczy opartych na kluczu głównym
  • Tryb 4 - (Bluetooth 2.1 + EDR) nakazuje szyfrowanie całego ruchu z wyjątkiem wykrywania usług

Klawiatury Bluetooth korzystające z Bluetooth 2.1 (klawiatury z 2009 r. I później) szyfrują cały ich ruch.


ŹRÓDŁO: SP 800-121 Rev. 2, Przewodnik po zabezpieczeniach Bluetooth (maj 2017)

Allan
źródło
Wygląda na to, że Bluetooth ogólnie jest podatny na ataki MITM podczas procedury parowania, ale dopóki parowanie zostało wykonane bezpiecznie, późniejsza komunikacja powinna być podatna na przechwytywanie. Czy moje rozumowanie jest prawidłowe?
Eric Pruitt,
Tylko wtedy, gdy urządzenie stosuje słabe praktyki bezpieczeństwa, takie jak słabe i / lub statyczne klucze, słabe szyfrowanie, zabezpieczenia w „trybie 1” (brak) itp. Każda technologia ma luki, ale większość z tego, co powoduje podatność BT, to sposób, w jaki producenci ją wdrażają. W przypadku klawiatury pozostaje ona sparowana w sposób ciągły (w przeciwnym razie nie byłbyś w stanie obudzić komputera ani używać go w środowisku przed uruchomieniem). W tym przypadku bardzo trudno byłoby zostać MITM, ponieważ zanim rozpocznie się atak, parowanie i bezpieczna komunikacja są już ustanowione i działają.
Allan