silabs 21Q2 ආරක්ෂිත BLE උපාංග ආරක්ෂක රසායනාගාරය

BLE ආරක්ෂක රසායනාගාර අත්පොත

මෙම විද්‍යාගාරයේදී, වඩාත් ආරක්ෂිත BLE උපාංගයක් සැලසුම් කරන්නේ කෙසේදැයි ඔබට පෙනෙනු ඇත. අපි ඕවරයකින් පටන් ගනිමුview සමහර ස්ටැක් විශේෂාංග භාවිතා කරන්නේ කෙසේද සහ වඩාත් ආරක්ෂිත සම්බන්ධතා සඳහා ශිල්පීය ක්‍රම පිළිබඳ සාමාන්‍ය උපදෙස් කිහිපයක් වෙත යන්න සහ අවසාන වශයෙන් අපි පර්යන්තයක් සත්‍ය යැයි හඳුනා ගැනීමට BLE හරහා උපාංග සහතික භාවිතා කරන්නේ කෙසේදැයි බලමු.

ඇරඹේ

බ්ලූටූත් එස්ampඔබ ගොඩනගනු ලබන le යෙදුම ඇරඹුම් කාරකයක් සමඟ භාවිතා කිරීමට අදහස් කෙරේ. ඔබ අලුත්ම EFR32MG21B සමඟ වැඩ කරන්නේ නම්, එහි bootloader එකක් නොමැත. ඔබට වේදිකාවේ\bootloader\s හි පෙර-සාදන ලද ඇරඹුම් කාරකයක් සොයාගත හැකියample-apps\bootloader-storage-internalsingle\efr32mg21a010f1024im32-brd4181a ඔබේ SDK ෆෝල්ඩරය.

  1. soc-හිස් s එකකින් පටන් ගන්නample යෙදුම. මෙම එස්ample යෙදුම අච්චුවක් ලෙස භාවිතා කරන අතර ඕනෑම BLE යෙදුමක් සඳහා හොඳ ආරම්භක ලක්ෂ්‍යයක් කරයි.
    1. Simplicity Studio වෙතින් Silicon Labs Project Wizard විවෘත කරන්න File මෙනුව -> අලුත්.
    2. BRD4181C තෝරන්න සහ 'ඊළඟ' බොත්තම ක්ලික් කරන්න.
    3. තාක්ෂණික වර්ගය යටතේ ඇති 'Bluetooth (9)' සලකුණු කොටුව ක්ලික් කරන්න.
    4. 'Bluetooth – SoC Empty' ඉස්මතු කර ඊළඟ ක්ලික් කරන්න.
    5. 'Finish' බොත්තම ක්ලික් කරන්න.
  2. ආරක්ෂිත සහ අනාරක්ෂිත ලක්ෂණ වෙනස් ලෙස සලකන ආකාරය බැලීමට දැන් ඔබට ලක්ෂණ කිහිපයක් එකතු කළ හැකිය.
    1. ව්‍යාපෘතියේ slcp විවෘත කරන්න file Project Explorer කවුළුව තුළ එය දෙවරක් ක්ලික් කිරීමෙන්
    2. පහත දැක්වෙන පරිදි 'මෘදුකාංග සංරචක' ටැබය උද්දීපනය කර GATT වින්‍යාස මෙවලම විවෘත කරන්න: gatt_configuration.btconf ආයාත කිරීමට පහත පෙන්වා ඇති ආනයන මෙවලම භාවිතා කරන්න file සපයන ලද ද්‍රව්‍යවල සේවාදායක ෆෝල්ඩරයෙන්.GATT දත්ත ගබඩාවේ 'පුහුණුව' නමින් අභිරුචි සේවාවක් ඇත, සමහර දත්ත ආරක්ෂා කර ඇති අතර සමහර ඒවා එසේ නොවේ. ආරක්ෂිත ලක්ෂණයකට එදිරිව අනාරක්ෂිත එකක් වෙත ප්‍රවේශ වීමට උත්සාහ කරන විට සිදුවන දේ සංසන්දනය කිරීමට මෙය ඔබට ඉඩ සලසයි. මෙය ඉතා මූලික ආරක්ෂාවක් සහිත උපකරණයක් සෑදීමේ ඉක්මන් ක්රමයකි.
  3. යෙදුමේ සිදුවන දේ නිරීක්ෂණය කිරීමට අපි Simplicity Studio හි කොන්සෝලය වෙත මුද්‍රණය කිරීමට අනුක්‍රමික තොට භාවිතා කරන්නෙමු. මෙම සංරචක සොයා ගැනීමට ඇති පහසුම ක්‍රමය නම් පෙන්වා ඇති පරිදි මෘදුකාංග සංරචක සංවාදයේ ඒවා සෙවීමයි:
      1. IO Stream USART සංරචකය ස්ථාපනය කරන්න
      2. IO Stream Retarget STDIO සංරචකය ස්ථාපනය කරන්න
      3. සම්මත I/O සංරචකය ස්ථාපනය කරන්න
      4. ලොග් සංරචකය ස්ථාපනය කරන්න
      5. පුවරු පාලන සංරචකය විවෘත කර 'අථත්‍ය COM UART සබල කරන්න'
      6. 'Debug adapters' පැනලයේ ඇති ඇඩප්ටරය දකුණු-ක්ලික් කර 'Launch Console' තෝරන්න. 'Serial 1' ටැබය තෝරා කර්සරය කොන්සෝල කවුළුවේ පෙළ ඇතුළත් කිරීමේ ක්ෂේත්‍රයේ තබා කොන්සෝලය අවදි කිරීමට enter ඔබන්න.
  4. සම්බන්ධතා හසුරුව සුරැකීම සඳහා app.c හි ඇති sl_bt_on_event() හි දේශීය විචල්‍යයක් සාදන්න. විචල්‍යය ස්ථිතික විය යුතුය, මන්ද මෙම ශ්‍රිතය අට්ටිය මගින් සිදුවීමක් උත්ථාන කරන සෑම අවස්ථාවකම හඳුන්වනු ලබන අතර අගය නොනැසී පැවතීමට අපට අවශ්‍යය. සම්බන්ධතා හසුරුව පසුව භාවිතා කරනු ඇතරසායනාගාරයේ කොටස.
  5. අපි සම්බන්ධ වී සිටින විට, ආරක්ෂක මාතයන් ආදිය බැලීමට සිදුවීම් සඳහා app_log() ප්‍රකාශ ඇතුළු කරන්න
      1. app_log.h ශීර්ෂය ඇතුළත් කරන්න file
      2. sl_bt_evt_connection_opened - බන්ධන හසුරුව මුද්‍රණය කර සම්බන්ධතා හසුරුව සුරකින්න. බන්ධන හසුරුව 0xFF නම්, සම්බන්ධිත උපාංග අතර බන්ධනයක් නොමැත. පවතින සිදුවීම් හසුරුවන්නා වෙනස් කරන්න එවිට එය මේ වගේ දෙයක් පෙනේ:
      3. sl_bt_evt_connection_parameters - ආරක්ෂක මාදිලිය. ආරක්ෂක මාදිලිය වෙනස් වන විට ඔබට දැක ගත හැකි වන පරිදි මෙය සිදු කෙරේ. ආරක්ෂක මාතය 1, අගය 0, යනාදී ලෙස ගණනය කර ඇති ආරක්ෂක මාතයන් අංකනය කිරීමේදී වෙනසක් ඇත. ඔබගේ යෙදුමට පහත සිදුවීම් හසුරුවන්නා එක් කරන්න:
      4. sl_bt_evt_connection_closed_id. සම්බන්ධතා හසුරුව යාවත්කාලීන කිරීමට මෙම සිදුවීම් හසුරුව වෙනස් කර ඇත. සක්‍රීය සම්බන්ධතාවයක් නොමැති බව දැක්වීමට 0xFF අගය භාවිතා කරයි. සම්බන්ධතාවය වසා දැමීමට හේතුව මුද්‍රණය කිරීමට app_log() විධානය භාවිතා කරයි, තත්ව කේත ලැයිස්තුව මෙහි ඇත. පවතින සිදුවීම් හසුරුවන්නා වෙනස් කරන්න එවිට එය මේ වගේ දෙයක් පෙනේ:
  6. ව්‍යාපෘතිය ගොඩනඟා ෆ්ලෑෂ් කරන්න. මෙම අවස්ථාවේදී, අපි s ධාවනය කරන්නෙමුampGATT දත්ත ගබඩාවට අමතරව එය කිසිදු වෙනසක් නොමැතිව හැසිරෙන ආකාරය බැලීමට le යෙදුම.
  7. පහත පරිදි EFRConnect ජංගම යෙදුම සමඟ සම්බන්ධ වන්න:
      1. 'Bluetooth Browser' නිරූපකය තට්ටු කරන්න.
      2. 'පුහුණුව' නම් උපාංගයේ 'සම්බන්ධ කරන්න' නිරූපකය තට්ටු කරන්න.
  8. අනාරක්ෂිත ලක්ෂණය පහත පරිදි කියවන්න:
      1. UUID a815944e-da1e-9d2a- 02e2-a8d15e2430a0 සමඟ නොදන්නා සේවාව යටතේ ඇති 'වැඩිදුර තොරතුරු' සබැඳිය තට්ටු කරන්න.
      2. 'කියවන්න' නිරූපකය තට්ටු කිරීමෙන් UUID f9e91a44-ca91-4aba-1c33-fd43ca270b4c අනාරක්ෂිත ලක්ෂණය කියවන්න. මෙහි පුදුමයක් නැත. මෙම ලක්ෂණය කිසිදු ආකාරයකින් ආරක්ෂා කර නොමැති බැවින්, එය සරල පාඨයෙන් යවනු ලැබේ.
  9. දැන් ආරක්ෂිත ලක්ෂණය කියවන්න, UUID d4261dbb-dcd0-daab-ec95-deec088d532b. ඔබගේ ජංගම දුරකථනය යුගල කිරීමට සහ සම්බන්ධ වීමට ඔබෙන් විමසිය යුතුය, ඔබගේ ජංගම OS මත පදනම්ව පණිවිඩය වෙනස් විය හැක. යුගල කිරීම සඳහා වූ ඉල්ලීම ඔබ පිළිගත් පසු, ඔබ පහත පරිදි කොන්සෝලය මත පණිවිඩයක් යැවිය යුතුය: සටහන: මෙම අත්පොත අවසානයේ ඇති ඇමුණුම A හි I/O හැකියාවන් සහ යොමු කිරීම සඳහා යුගල කිරීමේ ක්‍රම පිළිබඳ සාරාංශයක් ඇත. උපග්රන්ථය B බ්ලූටූත් ආරක්ෂක මාතයන් සාරාංශ කරයි.

ආරක්ෂක කළමනාකරු වින්‍යාසය

ආරක්‍ෂක කළමනාකරු බ්ලූටූත් තොගයේ කොටසක් වන අතර එය කුමන ආරක්‍ෂක විශේෂාංග භාවිත කරන්නේ දැයි තීරණය කරයි. මෙම විශේෂාංග අතර man-in-the-middle (MITM) ආරක්ෂාව, LE Secure connections (aka ECDH), බන්ධනය සඳහා තහවුරු කිරීම අවශ්‍ය යනාදිය ඇතුළත් වේ. යුගල කිරීම සඳහා භාවිතා කරන ක්‍රමය තීරණය කිරීමට භාවිතා කරන I/O හැකියාවන් ද ආරක්ෂක කළමනාකරු හසුරුවයි. /බන්ධන (සාරාංශයක් සඳහා ඇමුණුම A බලන්න). මෙම කොටසෙහි ඔබට සරල සැකසුම පෙනෙනු ඇත.

  1. අපේක්ෂිත වින්‍යාසය සමඟ SM සකසන්න. මෙම විද්‍යාගාරය සඳහා වන දෘඪාංගය කොන්සෝලය මත මුරපදයක් පෙන්වීම පහසු කරයි. MITM ආරක්‍ෂාව සක්‍රීය කිරීම සඳහා මුරපදය ඇතුළත් කිරීම අවශ්‍ය වේ. පහත කේතය ඔබගේ sl_bt_system_boot_id සිදුවීම් හසුරුවන්න වෙත එක් කරන්න. මෙමගින් man-in-the-middle සක්‍රීය කරන අතර අපට මුර යතුරක් පෙන්වීමට හැකියාව ඇති බව දුරස්ථ උපාංගයට දන්වයි, නමුත් එපමණයි.
  2. කොන්සෝලය මත මුර යතුර සංදර්ශන කිරීමට, පහත දැක්වෙන පරිදි සිදුවීම් හසුරුවෙකු අවශ්‍ය වේ:
  3. බන්ධන මාදිලිය, උපරිම බන්ධන ගණන, ආදිය සකසන්න. ආරම්භ කිරීමට පහත කේතය භාවිතා කරන්න:ප්‍රහාරකයෙකුට ඔබේ උපාංගය සමඟ බැඳීමේ හැකියාව සීමා කිරීමට මෙම සැකසීම් භාවිත කළ හැක. ඔබේ නිෂ්පාදනයට අවශ්‍ය වන්නේ එක් පරිශීලකයෙකු පමණක් නම්, එවිට ඔබට උපරිම බැඳුම්කර 1කට සීමා කළ හැක. මෙම ඇමතුම් එක් කිරීමට හොඳ තැනක් වන්නේ sl_bt_system_boot_id සිද්ධි හසුරුවන්නෙහිය. රසායනාගාරයේ ඉතිරි කොටස වඩාත් සුමටව සිදු කිරීමට අපි මේ අවස්ථාවේදී බන්ධනය සබල නොකරන නමුත් අපි එක් බැඳුම්කරයකට පමණක් ඉඩ දීමට බන්ධන ප්‍රතිපත්තියක් සකස් කරමු. පරිශීලනය සඳහා, මෙම API සඳහා ලේඛන මෙහි සහ මෙහි දක්නට ලැබේ.
  4. sl_bt_evt_sm_bonded_id සහ sl_bt_evt_sm_bonding_failed_id සඳහා සිදුවීම් හසුරුවන්නන් එක් කරන්න. මෙම සිදුවීම් සඳහා ප්‍රධාන භාවිතය දැනට තොරතුරු සපයන නමුත් පසුව රසායනාගාරයේදී ඔබ ක්‍රියාකාරීත්වය එක් කරනු ඇත.
  5. ඉලක්ක පුවරුවට ගොඩනඟා ෆ්ලෑෂ් කරන්න. EFRConnect සමඟ සම්බන්ධ වී පෙර පරිදි ආරක්ෂිත ලක්ෂණය කියවන්න. මෙම අවස්ථාවේදී, ඔබට කොන්සෝලයේ මුර යතුරක් දිස්වනු ඇත. විමසූ විට ඔබගේ ජංගම දුරකථනයට මෙම මුරපදය ඇතුළත් කරන්න.
  6. බන්ධන තහවුරු කිරීම උත්සාහ කරන්න. මෙම විශේෂාංගය පරිශීලකයාට බන්ධන ඉල්ලීම් තහවුරු කිරීමට අවශ්‍ය කිරීමේ හැකියාව ලබා දෙයි. එසේ කිරීමෙන් එය සම්බන්ධ වන්නේ කුමන සම උපාංග සමඟද යන්න යෙදුමට පාලනය කරයි. එක් හැකියාවක් වන්නේ බන්ධනයට ඉඩ දීමට පෙර පරිශීලකයාට බොත්තමක් එබීමට අවශ්‍ය වීමයි.
    1. ඔබගේ ජංගම දුරකථනයේ බ්ලූටූත් සිටුවම් විවෘත කර EFR32 උපාංගයට බන්ධනය ඉවත් කරන්න. ජංගම දුරකථන ක්‍රියාත්මක කිරීම් වෙනස් වන බැවින් මෙම පියවර අවශ්‍ය නොවනු ඇත. ඔබ ඔබේ බ්ලූටූත් සැකසීම් තුළ 'පුහුණු' උපාංගය නොපෙනේ නම්, ඊළඟ පියවර වෙත යන්න.
    2. මෘදුකාංග සංරචක තුළ, සරල බොත්තම් හසුරුවන්නෙහි එක් අවස්ථාවක් ස්ථාපනය කරන්න.
    3. ශීර්ෂකය ඇතුළත් කරන්න file app.c හි sl_simple_button_instances.h
    4. sl_bt_evt_sm_bonding_confirm_id සිදුවීම සඳහා හසුරුවෙකු එක් කරන්න. මෙම සිදුවීම් හසුරුවන්නාගේ ප්‍රධාන කාර්යය වන්නේ දුරස්ථ උපාංගයක් නව බැඳුම්කරයක් ඉල්ලා සිටින බව පරිශීලකයාට දැනුම් දීමයි.
    5. බොත්තමක් එබූ බව පෙන්වන බ්ලූටූත් තොගයට සංඥාවක් යැවීමට සරල බොත්තම් හසුරුවන්න සඳහා ආපසු ඇමතුම් ශ්‍රිතයක් එක් කරන්න. මෙය හුදෙක් ආපසු එන පෙරනිමි ආපසු කැඳවීම අභිබවා යයි.
    6. බාහිර සංඥා සිදුවීම් හසුරුවන්නක් එක් කරන්න. මෙම සිදුවීම පෙර පියවරේදී මෙන් සංඥාවක් ලැබීමට ප්‍රතිචාර වශයෙන් මතුකර ඇත. බන්ධනය තහවුරු කිරීම සඳහා බාහිර සංඥා සිදුවීම භාවිතා කරනු ඇත.
    7. වැනි බන්ධන තහවුරු කිරීම් අවශ්‍ය වන පරිදි sl_bt_sm_configure වෙත ඇමතුම වෙනස් කරන්න
    8. නැවත ගොඩනඟා ෆ්ලෑෂ් කරන්න.
    9. EFRConnect සමඟ සම්බන්ධ වී පෙර පරිදි ආරක්ෂිත ලක්ෂණය කියවන්න. දැන් ඔබට පහත පරිදි කොන්සෝලයේ පණිවිඩයක් පෙනෙනු ඇත:බන්ධනය තහවුරු කිරීමට PB0 ඔබන්න. දැන් කොන්සෝලය බන්ධනය සඳහා ජංගම දුරකථනයට ඇතුළත් කළ යුතු මුරපදය පෙන්වනු ඇත. බන්ධන ක්‍රියාවලිය සම්පූර්ණ කිරීමට මුරපදය ඇතුළත් කරන්න.

 

ඉඟිය: තොගය හසුරුවන්නේ නැති සිදුවීමක් යවන විට පණිවිඩයක් මුද්‍රණය කිරීමට සිද්ධි හසුරුවෙහි පෙරනිමි නඩුව භාවිතා කරන්න. තොගය ඔබට වැදගත් දෙයක් පැවසීමට උත්සාහ කරනවා විය හැක.

මූලික කරුණු වලින් ඔබ්බට

මෙම අවස්ථාවේදී, ඔබ advan ගෙන ඇතtagඅපගේ තොගය පිරිනමනු ලබන ආරක්ෂක විශේෂාංගවල ඊ. දැන් අපි අප සතුව ඇති විශේෂාංග ඥානවන්තව භාවිතා කිරීමෙන් ක්‍රියාත්මක කිරීම වැඩිදියුණු කරමු. පහත පියවර විකල්ප සහ එකිනෙකින් ස්වාධීන වේ, ඔබට හැසිරීම දැකීමට හෝ ඒවා සියල්ල එකට උත්සාහ කිරීමට එකින් එක ගොඩනගා ෆ්ලෑෂ් කළ හැක.

  1. අසාර්ථක බැඳුම්කර උත්සාහයන් මත විසන්ධි කරන්න. තර්ජන හඳුනා ගැනීමට මෙය හොඳ ස්ථානයකි. දුරස්ථ උපාංගය සංකේතනය/සත්‍යාපනය සඳහා සහය නොදක්වන්නේ නම් හෝ නිවැරදි යතුරු නොමැති නම්, එය හැකර් කෙනෙකු විය හැක. ඉතින්, අපි සම්බන්ධතාවය බිඳ දමමු. sl_bt_sm_bonding_failed_id ඉසව්වේ sl_bt_connection_close() වෙත ඇමතුමක් එක් කිරීමට උත්සාහ කරන්න. API මෙහි ලේඛනගත කර ඇත.වැරදි මුරපදයක් ඇතුළත් කිරීමෙන් ඔබට මෙම විශේෂාංගය පරීක්ෂා කළ හැක.
  2. බන්ධනයට ඉඩ දෙන්නේ නිශ්චිත කාලවලදී පමණි. මෙය ප්‍රහාරකයෙකුට බන්ධනයක් සෑදීමට ඇති කාලය සීමා කරන අතර 'බන්ධිත සම්බන්ධතා සඳහා පමණක් ඉඩ දෙන්න' විශේෂාංගය භාවිතා කිරීමට හැකි වේ. නිර්මාණකරුට බන්ධන මාදිලිය සක්‍රිය හෝ අක්‍රිය කරන ආකාරය තෝරාගත හැක. මෙහි ආදර්ශන අරමුණු සඳහා, අපි PB1 සමඟ 'සැකසුම් මාදිලියක්' සක්‍රීය කර තත්පර 30කට පසු එය අක්‍රිය කිරීමට ටයිමරයක් භාවිතා කරන්නෙමු.
    1. සරල බොත්තම් අතුරුමුහුණතේ දෙවන අවස්ථාවක් ස්ථාපනය කරන්න. මෙමගින් PB1 භාවිතයට හැකියාව ලැබේ.
    2. බන්ධනය සක්‍රිය/අබල කිරීමට තොගයට වෙනස් සංඥාවක් යැවීමට ආපසු කැඳවීම වෙනස් කරන්න. ප්රතිඵලය මේ වගේ දෙයක් විය යුතුය:
    3. මෙම නව සංඥාව හසුරුවන පරිදි බාහිර සංඥා සිදුවීම් හසුරුව වෙනස් කරන්න. ප්රතිඵලය මේ වගේ විය යුතුය:
    4. sl_bt_evt_system_soft_timer_id සිදුවීම සඳහා සිදුවීම් හසුරුවන්නක් එක් කරන්න. මෙය පිහිටුවීම් මාදිලිය අබල කිරීමට භාවිතා කරනු ඇත.
    5. බන්ධනය කළ හැකි මාදිලිය සක්‍රිය කිරීමට සහ සියලු සම්බන්ධතාවලට ඉඩ දීමට හෝ බන්ධන මාදිලිය අක්‍රිය කිරීමට සහ බන්ධිත උපාංගවලින් පමණක් සම්බන්ධතාවලට ඉඩ දීමට පහත කේතය භාවිත කළ හැක:
    6. පහත ඇමතුම sl_bt_system_boot_id සිදුවීම් හසුරුවෙහි එක් කරන්න
    7. ව්යාපෘතිය ගොඩනඟා එය උපාංගය වෙත ෆ්ලෑෂ් කරන්න.
    8. EFRConnect සමඟ උපාංගයට සම්බන්ධ වීමට උත්සාහ කරන්න. සම්බන්ධතාවය අසාර්ථක විය යුතුය.
    9. දැන් EFRConnect සමඟ සම්බන්ධ වීමට පෙර PB1 එබීමට උත්සාහ කරන්න. මෙම අවස්ථාවේදී සම්බන්ධතාවය සාර්ථක වනු ඇත. තත්පර 30කට පසු ඔබට උපාංගය පිහිටුවීම් මාදිලියෙන් පිටවන බවට පණිවිඩයක් කොන්සෝලය මත දිස්වනු ඇත. මෙයින් අදහස් වන්නේ බන්ධන මාදිලිය දැන් අක්රිය කර ඇති බවයි.
  3. සම්බන්ධතාවයක් සෑදීමේදී ආරක්ෂාව වැඩි කරන්න. ආරක්ෂාව අත්‍යවශ්‍ය නොවන බැවින්, අපි GATT ලක්ෂණ මත රඳා නොසිට හැකි ඉක්මනින් සංකේතාත්මක සම්බන්ධතාවයක් ඉල්ලා සිටිය යුතුය. API මෙහි ලේඛනගත කර ඇත. මෙම API ඇමතීමට හොඳ තැනක් sl_bt_evt_connection_opened_id ඉසව්වේ ඇත. සම්බන්ධතා හසුරුව සම්බන්ධතා විචල්‍යයේ ඇත.

ආරක්ෂිත අනන්‍යතාවය

දැන් අපට වඩාත් ආරක්ෂිත බ්ලූටූත් උපාංගයක් ඇති බැවින්, සත්‍යාපන පියවර වැඩිදියුණු කිරීමට ඉඩ දෙන්න. පෙර පුහුණු රසායනාගාරවල විධාන රේඛාව සමඟ සුරක්ෂිතාගාර උපාංගවල ආරක්ෂිත අනන්‍යතාවය තහවුරු කරන්නේ කෙසේදැයි ඔබ දැනටමත් දැක ඇත. මෙම කොටසේදී, එක් BLE උපාංගයක් එහි සහතික දාමය ඉල්ලා අභියෝගයක් යැවීමෙන් තවත් BLE උපාංගයක අනන්‍යතාවය තහවුරු කරන්නේ කෙසේදැයි අපි බලමු. සියලුම ආරක්ෂිත සුරක්ෂිතාගාර කොටස් ඔවුන්ගේම උපාංග සහතිකය සහ කණ්ඩායම් සහතිකය දරයි. සම්පූර්ණ සහතික දාමය සත්‍යාපනය කිරීම සබල කිරීම සඳහා කර්මාන්තශාලා සහ මූල සහතික සේවාදායකයා යෙදුමට තදින් කේතනය කර ඇත. ආරක්ෂිත අනන්‍යතාවය පිළිබඳ වැඩි විස්තර සඳහා AN1268 වෙත යොමු වන්න.

  1. පහත පරිදි උපාංග සහතික කිරීමේ අත්සන ගබඩා කිරීම සඳහා ගෝලීය බෆරයක් නිර්වචනය කරන්න:
  2. JustWorks යුගල කිරීම භාවිතා කිරීමට ආරක්ෂක කළමනාකරු වින්‍යාසය සකසන්න. සම්බන්ධතාවය සංකේතනය වන පරිදි මෙය සිදු කෙරේ. ප්රායෝගිකව, MITM ආරක්ෂණය භාවිතා කළ යුතු නමුත් රසායනාගාරය සරලව තබා ගැනීමට, අපි JustWorks භාවිතා කරන්නෙමු. ඇමතුම sl_bt_sm_configure වෙත නැවත පහත පරිදි වෙනස් කරන්න:තවද, system_boot සිදුවීම් හසුරුවෙහි setup_mode(true) වෙත ඇමතුම අදහස් දක්වන්න.
  3. සපයා ඇති ද්‍රව්‍ය වලින් helpers.c විවෘත කර අන්තර්ගතය app.c වෙත පිටපත් කරන්න. BLE හරහා යැවිය හැකි පරිදි සහතික කොටස් කිරීම, සහතික දාමය සත්‍යාපනය කිරීම සහ අභියෝගය උත්පාදනය කිරීම/සත්‍යාපනය කිරීම වැනි කාර්යයන් මෙම ආපසු ඇමතුම් ශ්‍රිතයන් ඉටු කරයි.
  4. සහතික ඛණ්ඩනය කර නැවත එකලස් කිරීමට හැකි වන පරිදි උපරිම හුවමාරු ඒකකය (MTU) ප්රමාණය තීරණය කිරීම අවශ්ය වේ. මෙහි පෙන්වා ඇති පරිදි MTU සුරැකීමට ගෝලීය විචල්‍යයක් නිර්වචනය කරන්න:ඉන්පසු පහත දැක්වෙන පරිදි GATT MTU හුවමාරු වූ සිදුවීම සඳහා සිදුවීම් හසුරුවන්නක් එක් කරන්න:
  5. කියවිය හැකි පරිශීලක දත්ත ලක්ෂණ තුනක් ඇත. උපාංග සහතිකය, කණ්ඩායම් සහතිකය සහ අභියෝගය සන්නිවේදනය කිරීමට මෙම ලක්ෂණ භාවිතා වේ. මෙම පරිශීලක කියවීමේ ඉල්ලීම් හැසිරවීමට ආපසු ඇමතුම් ශ්‍රිතයක් භාවිතා කරයි. පහත දැක්වෙන පරිදි මෙම කාර්යය ඇමතීමට හසුරුවන්නක් එක් කරන්න:ආපසු කැඳවීම පියවර #2 සිට කොටස දක්වා MTU භාවිතා කර අවශ්‍ය පරිදි සහතික යවන්න. එය අත්සන් කළ අභියෝගය යැවීම ද හසුරුවයි.
  6. සේවාලාභියා GATT ලක්ෂණ වලින් එකක් ලිවීමෙන් සේවාදායකය විසින් අත්සන් කළ යුතු අහඹු අංකයක් අභියෝගයක් යවයි. මෙම හේතුව නිසා, යෙදුමට පහත පරිදි පරිශීලක ලිවීමේ ඉල්ලීම් සිදුවීම සඳහා හසුරුවන්නක් තිබිය යුතුය:
  7. ආරක්ෂිත අනන්‍යතා සහාය එක් කරන්න fileව්‍යාපෘතියට s:
    1. ව්‍යාපෘතියට සපයා ඇති ද්‍රව්‍ය වලින් app_se_manager_macro.h, app_se_manager_secure_identity.c සහ app_se_secure_identity.h. මේ fileසහතිකයේ ප්‍රමාණය ලබා ගැනීම, උපාංගයේ පොදු යතුර ලබා ගැනීම සහ අභියෝගයක් අත්සන් කිරීම වැනි කාර්යයන් සඳහා උපකාරක ක්‍රියාකාරකම් කිහිපයක් අඩංගු වේ.
    2. app.c හි app_se_manager_secure_identity.h ඇතුළත් කරන්න.
  8. සපයා ඇති ද්‍රව්‍ය වලින් සපයා ඇති gatt_configuration-attest.btconf ආයාත කරන්න. මෙම GATT දත්ත සමුදාය ආරක්ෂිත සහතික කිරීම ලෙස හඳුන්වන අතර අපගේ උපාංගයේ අනන්‍යතාවය තහවුරු කිරීමට භාවිතා කරනු ලබන ලක්ෂණ හතරක් ඇතුළත් වේ. මේවාට උපාංග සහතිකය, කණ්ඩායම් සහතිකය, අභියෝගය සහ ප්‍රතිචාර ඇතුළත් වේ.
  9. ගේට්වේ වැනි උපාංගයක් අනුකරණය කිරීමට භාවිතා කරන සේවාලාභියා, එය ගොඩනැගීමට වඩා සංකීර්ණ බැවින් සම්පූර්ණ ව්‍යාපෘතියක් ලෙස සපයනු ලැබේ. සාමාන්යයෙන්, සේවාදායකයාගේ ක්රියාකාරිත්වය පහත පරිදි වේ:
    1. ආරක්ෂිත සහතික කිරීමේ සේවාව ප්‍රචාරණය කරන උපාංග සඳහා ස්කෑන් කර ඒවාට සම්බන්ධ වේ.
    2. GATT දත්ත සමුදා සේවා සහ ලක්ෂණ සොයා ගනී.
    3. උපාංගය සහ කාණ්ඩ සහතික කියවා එය ෆ්ලෑෂ් තුළ ගබඩා කර ඇති කර්මාන්තශාලා සහ මූල සහතිකය භාවිතයෙන් සහතික දාමය සත්‍යාපනය කරයි.
    4. සේවාදායකයට අහඹු අභියෝගයක් යවයි.
    5. අභියෝගයට ප්‍රතිචාරය සත්‍යාපනය කිරීමට උත්සාහ කරයි.
    6. සත්‍යාපනය අසාර්ථක වුවහොත් සම්බන්ධතාවය වසා දමයි.
  10. ඔබේ සේවාදායක WSTK / රේඩියෝබෝඩ් වෙත සේවාදායක ව්‍යාපෘතිය ගොඩනඟා ෆ්ලෑෂ් කරන්න.
  11. සපයන ලද ද්‍රව්‍යවල සේවාදායක ෆෝල්ඩරයෙන් සේවාදායක ව්‍යාපෘතිය ආයාත කරන්න. ඔබේ සේවාදායක WSTK/radioboard වෙත සේවාදායක ව්‍යාපෘතිය ගොඩනඟා ෆ්ලෑෂ් කරන්න.
  12. සේවාලාභියා WSTK මත යළි පිහිටුවීම ඔබා අනුක්‍රමික කොන්සෝලය විවෘත කරන්න. සේවාදායකයා අපගේ ආරක්ෂිත අනන්‍යතා සේවාව ප්‍රචාරණය කරන උපාංග සඳහා ස්කෑන් කිරීම ආරම්භ කරන අතර එය එකක් සොයාගත් විට සම්බන්ධ වනු ඇත.
  13. සේවාලාභියා අපේක්ෂිත සේවාව සමඟ සේවාදායකය සොයාගෙන ඇති බව දැක්වීමට සහ සහතික දාමයේ සත්‍යාපනය පිළිබඳ තත්ව පණිවිඩ පෙන්වීමට සමහර පණිවිඩ පෙන්වනු ඇත.
  14. සත්‍යාපනය සමත් වුවහොත්, සේවාලාභියා විසින් අභියෝගයක් ලෙස හඳුන්වන අහඹු අංකයක් ජනනය කර එය සේවාදායකය වෙත යවනු ඇත. සේවාදායකය එහි ආරක්ෂිතව රඳවා තබා ඇති පුද්ගලික උපාංග යතුර සහ සේවාදායකයා වෙත ආපසු අත්සන සමඟ අභියෝගය අත්සන් කරනු ඇත, මෙය අභියෝග ප්‍රතිචාරයක් ලෙස හැඳින්වේ. එවිට සේවාදායකයා අත්සන සත්‍යාපනය කිරීමට පෙර ලැබුණු උපාංග සහතිකයේ ඇති පොදු යතුර භාවිතා කරයි. මෙය සිදු කරනුයේ සේවාදායකය සතුව ඇතැයි කියන පුද්ගලික යතුර ඇත්ත වශයෙන්ම ඇති බව තහවුරු කිරීමට ය. අභියෝගය නිවැරදිව තහවුරු කර ඇත්නම්, ඒ සඳහා පණිවිඩයක් දර්ශනය වේ; එසේ නොමැති නම්, සම්බන්ධතාවය වසා ඇති අතර, හේතුව පැහැදිලි කරන පණිවිඩයක් දර්ශනය වේ.
  15. සත්‍යාපනය සැබවින්ම ක්‍රියාත්මක වන බව තහවුරු කිරීමට දැන් වලංගු නොවන සහතිකයක් යවන්න. සහතික දත්ත හෝ අභියෝග ප්‍රතිචාරය දූෂිත කිරීමට ඔබට user_read_request_cb() වෙනස් කළ හැක.

උපග්රන්ථය A - I/O හැකියාවන් සහ යුගල කිරීමේ ක්රම
උපග්රන්ථය B - ආරක්ෂක මාතයන් සහ මට්ටම්

Silicon Labs තොගයේ Bluetooth Low Energy සඳහා සහය දක්වන එකම මාදිලිය ආරක්ෂක මාදිලිය 1 වේ. මට්ටම් පහත පරිදි වේ:

  • 1 මට්ටමේ ආරක්ෂාවක් නැත
  • සංකේතනය සමඟ 2 මට්ටමේ සත්‍යාපනය නොකළ යුගල කිරීම
  • 3 මට්ටමේ සංකේතනය සමඟ සත්‍යාපනය කළ යුගල කිරීම
  • ප්‍රබල සංකේතනය (ECDH යතුරු හුවමාරුව) සමඟ 4 වන මට්ටමේ සහතික කළ ආරක්ෂිත සම්බන්ධතා

 

ලේඛන / සම්පත්

silabs 21Q2 ආරක්ෂිත BLE උපාංග ආරක්ෂක රසායනාගාරය [pdf] පරිශීලක අත්පොත
21Q2 ආරක්ෂිත BLE උපාංග ආරක්ෂක විද්‍යාගාරය, ආරක්ෂිත BLE උපාංග ආරක්ෂක විද්‍යාගාරය, ආරක්ෂක විද්‍යාගාරය

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *