silabs 21Q2 аюулгүй BLE төхөөрөмж Аюулгүй байдлын лаборатори
BLE аюулгүй байдлын лабораторийн гарын авлага
Энэ лабораторид та илүү найдвартай BLE төхөөрөмжийг хэрхэн зохион бүтээхийг харах болно. Бид дуусгахаас эхэлнэview Стекийн зарим функцийг хэрхэн ашиглах, илүү найдвартай холболт хийх арга техникүүдийн талаархи ерөнхий зөвлөмж рүү шилжих ба эцэст нь бид захын төхөөрөмжийг жинхэнэ гэж тодорхойлохын тулд BLE дээрх төхөөрөмжийн гэрчилгээг хэрхэн ашиглахыг харах болно.
Эхлэх
Bluetooth сampТаны бүтээх програмыг ачаалагчтай хамт ашиглахад зориулагдсан. Хэрэв та цоо шинэ EFR32MG21B-тэй ажиллаж байгаа бол ачаалагчгүй. Та платформ ачаалагчаас урьдчилан суулгасан ачаалагчийг олох боломжтойample-apps\bootloader-storage-internalsingle\efr32mg21a010f1024im32-brd4181a таны SDK хавтас.
- Soc-хоосон s-ээр эхэлampпрограм. Энэ сample програмыг загвар болгон ашигладаг бөгөөд аливаа BLE програмын эхлэлийн цэг болдог.
- Simplicity Studio-оос Silicon Labs Project Wizard-ийг нээнэ үү File цэс -> шинэ.
- BRD4181C-г сонгоод "дараагийн" товчийг дарна уу.
- Технологийн төрлөөс "Bluetooth (9)" нүдийг дарна уу.
- 'Bluetooth – SoC Empty' гэснийг тодруулаад дараа нь товшино уу.
- "Finish" товчийг дарна уу.
- Одоо та хамгаалалттай болон хамгаалалтгүй шинж чанаруудыг хэрхэн өөр өөрөөр авч үздэгийг харахын тулд зарим шинж чанарыг нэмж болно.
- Төслийн slcp-г нээнэ үү file Project Explorer цонхон дээр давхар товш
- 'ПРОГРАММЫН БҮРДЭЛТҮҮД' табыг тодруулж, доор үзүүлсэн шиг GATT тохиргооны хэрэгслийг нээнэ үү.
Мөн gatt_configuration.btconf-г импортлохын тулд доор үзүүлсэн импортын хэрэгслийг ашиглана уу file өгсөн материал дахь серверийн хавтсаас.
ТХЕХ-ийн мэдээллийн сан нь "Сургалт" нэртэй захиалгат үйлчилгээтэй бөгөөд зарим нь хамгаалагдсан, зарим нь хамгаалалтгүй байдаг. Энэ нь хамгаалагдсан шинж чанар болон хамгаалалтгүй шинж чанарт хандахыг оролдох үед юу тохиолдохыг харьцуулах боломжийг танд олгоно. Энэ бол маш энгийн аюулгүй байдлыг хангасан төхөөрөмж хийх хурдан арга юм.
- Бид программд юу болж байгааг хянахын тулд Simplicity Studio дээрх консол дээр хэвлэхийн тулд цуваа портыг ашиглана. Эдгээр бүрэлдэхүүн хэсгүүдийг олох хамгийн хялбар арга бол SOFTWARE COMPONENTS харилцах цонхноос хайх явдал юм.
-
- IO Stream USART бүрэлдэхүүнийг суулгана уу
- IO Stream Retarget STDIO бүрэлдэхүүн хэсгийг суулгана уу
- Стандарт I/O бүрэлдэхүүн хэсгийг суулгана уу
- Log бүрэлдэхүүн хэсгийг суулгана уу
- Самбарын хяналтын бүрэлдэхүүн хэсгийг нээж, "Виртуал COM UART-г идэвхжүүлэх"-г асаана уу.
- "Дбаг хийх адаптер" самбараас адаптер дээр хулганы баруун товчийг дараад "Консолыг эхлүүлэх"-ийг сонгоно уу. "Цуваа 1" табыг сонгоод консолын цонхны текст оруулах талбарт курсорыг байрлуулж, консолыг сэрээхийн тулд enter дарна уу.
-
- Холболтын бариулыг хадгалахын тулд app.c-д олдсон sl_bt_on_event() дээр локал хувьсагч үүсгэнэ үү. Үйл явдал стекээр үүсгэгдэх бүрт энэ функц дуудагддаг тул хувьсагч нь статик байх ёстой бөгөөд бид утгыг тогтвортой байлгахыг хүсдэг. Холболтын бариулыг дараа нь ашиглах болно
лабораторийн хэсэг.
- Бид холбогдсон үед, аюулгүй байдлын горим гэх мэт үйл явдлуудын зарим app_log() мэдэгдлийг оруулна уу
-
- app_log.h толгой хэсгийг оруулна уу file
- sl_bt_evt_connection_opened – холболтын бариулыг хэвлэж, холболтын бариулыг хадгална. Хэрэв холболтын бариул 0xFF бол холбогдсон төхөөрөмжүүдийн хооронд холбоо байхгүй болно. Одоо байгаа үйл явдлын зохицуулагчийг дараах байдлаар өөрчил:
- sl_bt_evt_connection_parameters - аюулгүй байдлын горим. Аюулгүй байдлын горим өөрчлөгдөхийг харахын тулд үүнийг хийсэн. Аюулгүй байдлын горим 1-ийг 0 гэх мэтээр дугаарласан хамгаалалтын горимуудын дугаарлалтын ялгаа байдаг. Дараах үйл явдал зохицуулагчийг өөрийн аппликешнд нэмнэ үү:
- sl_bt_evt_холболтын_хаалттай_id. Энэ үйл явдал зохицуулагчийг холболтын бариулыг шинэчлэхийн тулд өөрчилсөн. 0xFF утгыг идэвхтэй холболт байхгүй гэдгийг харуулахад ашигладаг. app_log() командыг холболт хаагдсан шалтгааныг хэвлэхийн тулд ашигладаг, статус кодын жагсаалтыг эндээс үзнэ үү. Одоо байгаа үйл явдлын зохицуулагчийг дараах байдлаар өөрчил:
- app_log.h толгой хэсгийг оруулна уу file
-
- Төслийг бүтээж, гялс хий. Энэ үед бид s-г ажиллуулнаampТХЕХ-ийн мэдээллийн сангаас гадна ямар ч өөрчлөлтгүйгээр хэрхэн ажиллаж байгааг харах боломжтой апп.
- EFRConnect гар утасны програмтай дараах байдлаар холбогдоно уу.
-
- "Bluetooth Browser" дүрс дээр дарна уу.
- "Сургалт" нэртэй төхөөрөмж дээрх "Холбох" дүрс дээр товшино уу.
-
- Хамгаалалтгүй шинж чанарыг дараах байдлаар уншина уу.
-
- UUID a815944e-da1e-9d2a- 02e2-a8d15e2430a0-тай үл мэдэгдэх үйлчилгээний доорх "Дэлгэрэнгүй мэдээлэл" холбоосыг товшино уу.
- Хамгаалалтгүй шинж чанар болох UUID f9e91a44-ca91-4aba-1c33-fd43ca270b4c-г "Унших" дүрс дээр дарж уншина уу. Энд гайхах зүйл алга. Шинж чанар нь ямар ч байдлаар хамгаалагдаагүй тул үүнийг энгийн текстээр илгээнэ.
-
- Одоо хамгаалагдсан шинж чанарыг уншина уу, UUID d4261dbb-dcd0-daab-ec95-deec088d532b. Таны гар утас таныг холбох, холбохыг сануулах ёстой бөгөөд мессеж таны гар утасны үйлдлийн системээс хамаарч өөр өөр байж болно. Хослуулах хүсэлтийг хүлээн авсны дараа консол дээр дараах мессежийг илгээх ёстой:
Анхаарна уу: Энэхүү гарын авлагын төгсгөлд байгаа А хавсралт нь оролт/гаралтын боломжууд болон холбох аргуудын хураангуйг агуулсан болно. Хавсралт В нь Bluetooth аюулгүй байдлын горимуудыг нэгтгэн харуулав.
Аюулгүй байдлын менежерийн тохиргоо
Аюулгүй байдлын менежер нь ямар хамгаалалтын функцийг ашиглахыг тодорхойлдог Bluetooth стекийн нэг хэсэг юм. Эдгээр функцууд нь хүн дундах (MITM) хамгаалалт, LE Secure холболтууд (ECDH гэх мэт), холбоход баталгаажуулалт шаарддаг гэх мэт орно. Хамгаалалтын менежер нь хослоход ямар аргыг ашиглахыг тодорхойлоход ашигладаг I/O чадавхийг зохицуулдаг. /холбоо (хураангуйг Хавсралт А-аас үзнэ үү). Энэ хэсэгт та энгийн тохиргоог харах болно.
- SM-г хүссэн тохиргоогоор тохируулна уу. Энэхүү лабораторийн техник хангамж нь консол дээр нэвтрэх түлхүүрийг харуулахад хялбар болгодог. Нууц үг оруулах нь MITM хамгаалалтыг идэвхжүүлэх шаардлага юм. Дараах кодыг өөрийн sl_bt_system_boot_id үйл явдал зохицуулагчдаа нэмнэ үү. Энэ нь хүн-in-the-midle-г идэвхжүүлж, алсын төхөөрөмжид бидэнд нэвтрэх түлхүүрийг харуулах чадвартай гэдгийг мэдээлдэг.
- Консол дээр нэвтрэх түлхүүрийг харуулахын тулд доор үзүүлсэн шиг үйл явдал зохицуулагч шаардлагатай.
- Холбох горим, холболтын хамгийн их тоо гэх мэтийг тохируулна уу. Эхлэхийн тулд дараах кодыг ашиглана уу:
Эдгээр тохиргоог халдагчийн таны төхөөрөмжтэй холбогдох боломжийг хязгаарлахад ашиглаж болно. Хэрэв таны бүтээгдэхүүн зөвхөн нэг хэрэглэгчтэй байх шаардлагатай бол та хамгийн их бондыг 1-ээр хязгаарлаж болно. Эдгээр дуудлагыг нэмэхэд тохиромжтой газар бол sl_bt_system_boot_id үйл явдал зохицуулагч юм. Бид лабораторийн бусад ажлыг илүү жигд явуулахын тулд холболтыг одоогоор идэвхжүүлэхгүй, гэхдээ бид зөвхөн нэг бондыг зөвшөөрөхийн тулд холбох бодлогыг тогтоосон. Лавлагааны үүднээс эдгээр API-н баримт бичгийг энд болон эндээс олж болно.
- sl_bt_evt_sm_bonded_id болон sl_bt_evt_sm_bonding_failed_id-д үйл явдал зохицуулагч нэмнэ үү. Эдгээр үйл явдлын гол хэрэглээ нь одоогоор мэдээллийн шинж чанартай боловч дараа нь лабораторид функцийг нэмэх болно.
- Зорилтот самбар дээр бүтээж, анивчина уу. EFRConnect-тэй холбогдож, өмнөх шигээ хамгаалагдсан шинж чанарыг уншина уу. Энэ удаад та консол дээр нэвтрэх түлхүүрийг харах болно. Сануулахад энэ нэвтрэх түлхүүрийг гар утсан дээрээ оруулна уу.
- Холболтын баталгаажуулалтыг туршиж үзээрэй. Энэ функц нь хэрэглэгчийг холбох хүсэлтийг баталгаажуулахыг шаардах боломжийг олгодог. Үүнийг хийснээр программ нь ямар төхөөрөмжтэй холбогдохыг хянах боломжийг олгоно. Нэг боломж бол бондыг зөвшөөрөхөөс өмнө хэрэглэгчээс товчлуур дарахыг шаардах явдал юм.
- Гар утасныхаа Bluetooth тохиргоог нээгээд EFR32 төхөөрөмжөөс холбогчийг салгана уу. Гар утасны хэрэгжилт өөр өөр байдаг тул энэ алхам шаардлагагүй байж магадгүй юм. Хэрэв та Bluetooth тохиргоондоо "Сургалт" төхөөрөмж харагдахгүй байвал дараагийн алхам руугаа орно уу.
- Програм хангамжийн бүрэлдэхүүн хэсгүүдэд энгийн товчлуур зохицуулагчийн нэг жишээг суулгаарай.
- Толгой хэсгийг оруулна уу file app.c доторх sl_simple_button_instances.h
- sl_bt_evt_sm_bonding_confirm_id үйл явдалд зохицуулагч нэмнэ үү. Энэ үйл явдал зохицуулагчийн гол ажил бол алсын төхөөрөмж шинэ холболт хүсч байгааг хэрэглэгчдэд мэдэгдэх явдал юм.
- Товчлуур дарагдсаныг илтгэх дохиог Bluetooth стек рүү илгээхийн тулд энгийн товчлуур зохицуулагчийн буцаан залгах функцийг нэмнэ үү. Энэ нь зүгээр л буцаж ирдэг өгөгдмөл буцаан дуудлагыг хүчингүй болгодог.
- Гадаад дохионы үйл явдлын зохицуулагчийг нэмнэ үү. Энэ үйл явдал нь өмнөх алхам шиг дохио хүлээн авсны хариуд үүсдэг. Гадны дохионы үйл явдлыг холболтыг баталгаажуулахад ашиглана.
- гэх мэт холболтын баталгаажуулалтыг шаардахын тулд дуудлагыг sl_bt_sm_configure болгон өөрчил
- Дахин бүтээж, анивчина.
- EFRConnect-тэй холбогдож, өмнөх шигээ хамгаалагдсан шинж чанарыг уншина уу. Одоо та консол дээр дараах мессежийг харах болно.
PB0 товчийг дарж холболтыг баталгаажуулна уу. Одоо консол нь гар утсан дээр холбох түлхүүрийг харуулах болно. Холбох процессыг дуусгахын тулд нэвтрэх түлхүүрийг оруулна уу.
Зөвлөгөө: Үйл явдал зохицуулагчийн өгөгдмөл тохиолдлыг ашиглан стек боловсруулагдаагүй үйл явдлыг илгээх үед мессежийг хэвлэх. Стек танд ямар нэг чухал зүйлийг хэлэхийг оролдож байж магадгүй юм.
Үндсэн ойлголтоос гадна
Энэ үед та урьдчилж авлааtagМанай стекийн санал болгож буй хамгаалалтын шинж чанаруудын нэг. Одоо боломжуудыг ухаалаг ашиглах замаар хэрэгжилтийг сайжруулцгаая. Дараах алхмууд нь сонголттой бөгөөд бие биенээсээ хамааралгүй бөгөөд та зан төлөвийг харах эсвэл бүгдийг хамтад нь туршиж үзэхийн тулд нэг бүрийн дараа бүтээж, анивчуулж болно.
- Амжилтгүй бондын оролдлогууд дээр холболтыг таслана. Энэ бол аюул заналыг илрүүлэхэд тохиромжтой газар юм. Хэрэв алсын төхөөрөмж нь шифрлэлт/гэрчлэлтийг дэмждэггүй эсвэл зүгээр л зөв түлхүүргүй бол энэ нь хакер байж магадгүй юм. Тиймээс, холбоогоо тасалцгаая. sl_bt_sm_bonding_failed_id үйл явдалд sl_bt_connection_close() руу дуудлага нэмж үзнэ үү. API-г энд баримтжуулсан болно.
Та буруу нэвтрэх түлхүүр оруулснаар энэ функцийг шалгаж болно.
- Зөвхөн тодорхой цагт холбохыг зөвшөөрдөг. Энэ нь халдагчийн холбоо үүсгэх хугацааг хязгаарлаж, "зөвхөн холбогдсон холболтыг зөвшөөрөх" функцийг ашиглах боломжтой болгодог. Загвар зохион бүтээгч нь холбох горимыг хэрхэн идэвхжүүлэх эсвэл идэвхгүй болгохыг сонгох боломжтой. Энд үзүүлэхийн тулд бид PB1-тэй "тохируулгын горим"-ыг идэвхжүүлж, 30 секундын дараа таймер ашиглан идэвхгүй болгоно.
- Энгийн товчлуурын интерфейсийн хоёр дахь жишээг суулгана уу. Энэ нь PB1-ийг ашиглах боломжийг олгоно.
- Холболтыг идэвхжүүлэх/идэвхгүй болгохын тулд стек рүү өөр дохио илгээхийн тулд буцаан дуудлагыг өөрчил. Үр дүн нь иймэрхүү харагдах ёстой:
- Гадаад дохионы үйл явдлын зохицуулагчийг энэ шинэ дохиог зохицуулахаар өөрчил. Үр дүн нь дараах байдалтай байх ёстой.
- sl_bt_evt_system_soft_timer_id үйл явдалд үйл явдал зохицуулагч нэмнэ үү. Энэ нь тохиргооны горимыг идэвхгүй болгоход ашиглагдана.
- Дараах кодыг ашиглан холболт хийх горимыг идэвхжүүлж, бүх холболтыг зөвшөөрөх эсвэл холбох горимыг идэвхгүй болгож, зөвхөн холбогдсон төхөөрөмжүүдийн холболтыг зөвшөөрөх боломжтой.
- Дараах дуудлагыг sl_bt_system_boot_id үйл явдал зохицуулагч дээр нэмнэ үү
- Төслийг бүтээж, төхөөрөмж рүү оруулна уу.
- EFRConnect-ээр төхөөрөмжид холбогдож үзнэ үү. Холболт амжилтгүй болох ёстой.
- Одоо EFRConnect-тэй холбогдохын өмнө PB1 дарж үзнэ үү. Энэ удаад холболт амжилттай болно. 30 секундын дараа та консол дээр төхөөрөмж тохиргооны горимоос гарч байгааг харуулсан мессежийг харах болно. Энэ нь холболтын горим идэвхгүй болсон гэсэн үг юм.
- Холболт үүсгэх аюулгүй байдлыг нэмэгдүүлэх. Аюулгүй байдал нь сонголттой тул бид GATT шинж чанарт найдахын оронд аль болох хурдан шифрлэгдсэн холболтыг хүсэх ёстой. API-г энд баримтжуулсан болно. Энэ API-г дуудах тохиромжтой газар бол sl_bt_evt_connection_opened_id үйл явдал юм. Холболтын бариул нь холболтын хувьсагчид байдаг.
Аюулгүй таних тэмдэг
Одоо бид илүү найдвартай Bluetooth төхөөрөмжтэй болсон тул баталгаажуулалтын алхамыг сайжруулцгаая. Та өмнөх сургалтын лабораторид командын мөрөөр савны төхөөрөмжийн аюулгүй байдлыг хэрхэн баталгаажуулахыг аль хэдийн үзсэн. Энэ хэсэгт бид нэг BLE төхөөрөмж өөр BLE төхөөрөмжийн таних тэмдэгийг гэрчилгээний гинжин хэлхээнд хүсэлт гаргаж, сорилт илгээх замаар хэрхэн баталгаажуулахыг харах болно. Бүх аюулгүй хадгалалтын хэсгүүд нь өөрийн төхөөрөмжийн гэрчилгээ болон багцын гэрчилгээтэй байдаг. Үйлдвэрийн болон үндсэн гэрчилгээг бүхэл бүтэн гэрчилгээний гинжийг баталгаажуулахын тулд үйлчлүүлэгчийн програмд хатуу кодчилсон болно. Аюулгүй байдлын талаарх дэлгэрэнгүй мэдээллийг AN1268-аас үзнэ үү.
- Төхөөрөмжийн баталгаажуулалтын гарын үсгийг хадгалах глобал буферийг дараах байдлаар тодорхойлно.
- JustWorks хослолыг ашиглахын тулд аюулгүй байдлын менежерийн тохиргоог тохируулна уу. Энэ нь холболтыг шифрлэхийн тулд хийгддэг. Практикт MITM хамгаалалтыг ашиглах ёстой боловч лабораторийг энгийн байлгахын тулд бид JustWorks ашиглах болно. sl_bt_sm_configure дуудлагыг дараах байдлаар дахин өөрчил:
Мөн system_boot үйл явдал зохицуулагчийн setup_mode(true) руу хийсэн дуудлагын тайлбарыг бичнэ үү.
- Өгөгдсөн материалаас helpers.c-г нээж, агуулгыг app.c руу хуулна. Эдгээр буцаан дуудлагын функцууд нь гэрчилгээг сегментчилэх, ингэснээр тэдгээрийг BLE-ээр илгээх, гэрчилгээний хэлхээг шалгах, сорилт үүсгэх/баталгаажуулах зэрэг ажлуудыг гүйцэтгэдэг.
- Сертификатуудыг сегментчилж, дахин угсарч болохын тулд дамжуулах нэгжийн (MTU) хамгийн их хэмжээг тодорхойлох шаардлагатай. Энд үзүүлсэн шиг MTU-г хадгалах глобал хувьсагчийг тодорхойлно уу:
Дараа нь доор үзүүлсэн шиг GATT MTU солилцсон үйл явдлын үйл явдал зохицуулагчийг нэмнэ үү:
- Унших боломжтой гурван хэрэглэгчийн мэдээллийн шинж чанар байдаг. Эдгээр шинж чанаруудыг төхөөрөмжийн гэрчилгээ, багц гэрчилгээ болон сорилтыг дамжуулахад ашигладаг. Эдгээр хэрэглэгчийн унших хүсэлтийг зохицуулахын тулд буцаан дуудах функцийг ашигладаг. Доор үзүүлсэн шиг энэ функцийг дуудах зохицуулагчийг нэмнэ үү:
Буцах дуудлага нь MTU-г 2-р алхамаас сегмент рүү ашиглаж, шаардлагатай бол гэрчилгээг илгээдэг. Мөн гарын үсэг зурсан сорилтыг илгээх асуудлыг зохицуулдаг.
- Үйлчлүүлэгч ТХЕХ-ийн шинж чанаруудын аль нэгийг бичиж серверт гарын үсэг зурах санамсаргүй тоогоор сорилго илгээдэг. Ийм учраас аппликешн нь хэрэглэгчийн бичих хүсэлтийн үйл явдлыг дараах байдлаар зохицуулагчтай байх шаардлагатай.
- Аюулгүй таних дэмжлэгийг нэмнэ үү fileтөсөлд:
- Төсөлд өгсөн материалаас app_se_manager_macro.h, app_se_manager_secure_identity.c болон app_se_secure_identity.h. Эдгээр files нь гэрчилгээний хэмжээг авах, төхөөрөмжийн нийтийн түлхүүрийг авах, сорилтод гарын үсэг зурах зэрэг даалгавруудад туслах функцуудыг агуулдаг.
- app.c-д app_se_manager_secure_identity.h-г оруулна уу.
- Өгөгдсөн материалаас gatt_configuration-attest.btconf-г импортлох. Энэхүү ТХЕХ-ийн мэдээллийн сан нь манай төхөөрөмжийн таних тэмдгийг баталгаажуулахад ашиглагдах дөрвөн шинж чанарыг агуулсан аюулгүй гэрчилгээ гэж нэрлэгддэг. Үүнд төхөөрөмжийн гэрчилгээ, багц гэрчилгээ, сорилт, хариу үйлдэл орно.
- Гарц гэх мэт төхөөрөмжийг дуурайлган загварчлахад ашигладаг үйлчлүүлэгчийг бүтээхэд илүү төвөгтэй тул иж бүрэн төсөл болгон өгдөг. Ерөнхийдөө үйлчлүүлэгчийн үйл ажиллагаа дараах байдалтай байна.
- Аюулгүй баталгаажуулалтын үйлчилгээг сурталчлах төхөөрөмжүүдийг сканнердаж, тэдгээрт холбогдоно.
- ТХЕХ-ийн мэдээллийн сангийн үйлчилгээ, шинж чанарыг олж илрүүлдэг.
- Төхөөрөмж болон багц гэрчилгээг уншиж, флаш дээр хадгалсан үйлдвэрийн болон үндсэн гэрчилгээг ашиглан гэрчилгээний хэлхээг баталгаажуулна.
- Сервер рүү санамсаргүй сорилт илгээдэг.
- Сорилтын хариуг шалгах оролдлого.
- Аль нэг баталгаажуулалт амжилтгүй болбол холболтыг хаадаг.
- WSTK /radioboard сервер дээрээ серверийн төслийг бүтээж, флэш болго.
- Өгөгдсөн материал дахь үйлчлүүлэгчийн хавтсаас үйлчлүүлэгчийн төслийг импортлох. Үйлчлүүлэгчийн төслийг бүтээж, өөрийн үйлчлүүлэгч WSTK/radioboard руу оруулна уу.
- Үйлчлүүлэгч WSTK дээр дахин тохируулах товчийг дараад цуваа консолыг нээнэ үү. Үйлчлүүлэгч нь манай найдвартай таних үйлчилгээг сурталчлах төхөөрөмжүүдийг сканнердаж эхлэх бөгөөд нэгийг нь олсон үед холбогдох болно.
- Үйлчлүүлэгч нь хүссэн үйлчилгээгээ олсон серверийг олсон бөгөөд гэрчилгээний хэлхээг баталгаажуулсан статусын мессежийг харуулахын тулд зарим мессежийг харуулах болно.
- Хэрэв баталгаажуулалт амжилттай болвол үйлчлүүлэгч сорилт гэж нэрлэгддэг санамсаргүй тоог гаргаж, сервер рүү илгээнэ. Сервер нь нууцлагдсан төхөөрөмжийнхөө түлхүүрээр сорилтод гарын үсэг зурж, үйлчлүүлэгч рүү буцааж гарын үсэг зурах бөгөөд үүнийг сорилтын хариу гэж нэрлэдэг. Дараа нь үйлчлүүлэгч гарын үсгийг баталгаажуулахын тулд өмнө нь хүлээн авсан төхөөрөмжийн гэрчилгээнд нийтийн түлхүүрийг ашигладаг. Энэ нь серверт өөрийн гэсэн хувийн түлхүүр үнэхээр байгаа эсэхийг баталгаажуулахын тулд хийгддэг. Хэрэв сорилт зөв батлагдсан бол энэ тухай мессеж гарч ирнэ; Үгүй бол холболт хаагдаж, шалтгааныг тайлбарласан мессеж гарч ирнэ.
- Одоо баталгаажуулалт үнэхээр ажиллаж байгаа эсэхийг баталгаажуулахын тулд хүчингүй гэрчилгээ илгээнэ үү. Та user_read_request_cb()-г өөрчилж сертификатын өгөгдөл эсвэл сорилтын хариуг гэмтээж болно.
Хавсралт А – Оролт/Гаралтын чадвар ба хослох аргууд 
Хавсралт Б – Хамгаалалтын горим ба түвшин
Хамгаалалтын горим 1 нь Silicon Labs-ийн стек дэх Bluetooth бага эрчим хүчийг дэмждэг цорын ганц горим юм. Түвшин нь дараах байдалтай байна.
- 1-р түвшинд аюулгүй байдал байхгүй
- 2-р түвшний нууцлалтай, шифрлэлттэй хослуулсан
- 3-р түвшний баталгаажуулсан шифрлэлттэй хослуулах
- Хүчтэй шифрлэлт бүхий 4-р түвшний баталгаажсан аюулгүй холболтууд (ECDH түлхүүр солилцоо)
Баримт бичиг / нөөц
![]() |
silabs 21Q2 аюулгүй BLE төхөөрөмж Аюулгүй байдлын лаборатори [pdf] Хэрэглэгчийн гарын авлага 21Q2 аюулгүй BLE төхөөрөмжийн аюулгүй байдлын лаборатори, аюулгүй BLE төхөөрөмжийн аюулгүй байдлын лаборатори, аюулгүй байдлын лаборатори |