
BLEBoy is a training tool to teach users about BLE security by providing a single BLE peripheral that can be used to experiment with each BLE pairing method and demonstrates GATT security concepts.
교육 및 테스트에 사용할 수 있는 모든 BLE 페어링 방식을 지원하는 BLE 주변기기를 만드는 것입니다. 여기에는 대역외(OOB) 페어링도 포함됩니다. 주변기기는 구성이 가능해야 하며 일반 소비자용 부품으로 쉽게 재현할 수 있어야 합니다.
BLEBoy는 Adafruit nRF52 Feather 보드를 사용하여 구현된 BLE 주변기기로, Bluetooth 사양(https://www.bluetooth.com/specifications/bluetooth-core-specification)에 설명된 모든 BLE 페어링 방식을 지원하도록 업데이트되었습니다. BLEBoy는 GAP 보안 파라미터(LESC, OOB, MitM, IO 기능 등)를 즉석에서 업데이트할 수 있게 하여 사용자가 다양한 페어링 방식(및 각 방식이 제공하는 보안 수준)을 실험할 수 있게 합니다. 또한 직렬 통신을 통한 OOB 데이터 전송을 지원하여 다른 도구가 OOB 페어링용 BLE OOB NFC 레코드를 구성할 수 있게 합니다.
이 도구는 "Training" 폴더에 있는 교육 모듈과 함께 사용하여 BLE 보안에 대해 배울 수 있습니다.
참고 이 장치는 BLE 보안 교육용으로 제작되었습니다. 보안이 중요한 애플리케이션에는 이 코드를 사용하지 마십시오. 코드에는 암호학적으로 안전하지 않은 것으로 간주되는 여러 난수 생성기가 사용됩니다. 필요한 경우 최신 버전의 NRF52 Nordic SDK에서 제공하는 안전한 RNG API를 이 용도로 사용할 수 있습니다.
참고: OOB 및 Passkey Entry(패스키가 주변기기에 입력되는 경우) 페어링 연관 모델을 처리하려면 Micro-USB 케이블을 nRF52 Feather에 연결하고 직렬 통신(9600 baud)을 수신해야 합니다. 이 동일한 직렬 연결은 상태 및 디버그 정보를 출력하는 데 사용됩니다.
모든 라이브러리는 해당 소스에서 설치할 수 있습니다. 단, 수정된 arduino-menusystem과 Bluefruit52Lib는 예외입니다. 수정된 라이브러리의 변경 로그는 3rdPartyChanges.txt에서 확인할 수 있습니다.
또는 사용자는 이 프로젝트의 "libraries" 폴더에 포함된 라이브러리를 사용하여 개발 중 사용된 것과 동일한 버전의 라이브러리를 사용할 수 있습니다.
다음은 위 섹션에 나열된 필수 하드웨어를 사용하여 BLEBoy를 구성하기 위한 설정 지침입니다:
BLEBoy 코드로 nRF52 Feather를 프로그래밍하려면 다음 단계를 따르십시오:
또는