silabs 21Q2 ಸುರಕ್ಷಿತ BLE ಸಾಧನ ಭದ್ರತಾ ಲ್ಯಾಬ್

BLE ಭದ್ರತಾ ಲ್ಯಾಬ್ ಕೈಪಿಡಿ

ಈ ಲ್ಯಾಬ್‌ನಲ್ಲಿ, ಹೆಚ್ಚು ಸುರಕ್ಷಿತವಾದ BLE ಸಾಧನವನ್ನು ಹೇಗೆ ವಿನ್ಯಾಸಗೊಳಿಸುವುದು ಎಂಬುದನ್ನು ನೀವು ನೋಡುತ್ತೀರಿ. ನಾವು ಓವರ್‌ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆview ಕೆಲವು ಸ್ಟಾಕ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಮತ್ತು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಸಂಪರ್ಕಗಳಿಗಾಗಿ ತಂತ್ರಗಳ ಕುರಿತು ಕೆಲವು ಸಾಮಾನ್ಯ ಸಲಹೆಗಳಿಗೆ ಹೋಗುವುದು ಮತ್ತು ಅಂತಿಮವಾಗಿ ನಾವು ಬಾಹ್ಯವನ್ನು ಅಧಿಕೃತವೆಂದು ಗುರುತಿಸಲು BLE ಮೂಲಕ ಸಾಧನ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂದು ನೋಡೋಣ.

ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

ಬ್ಲೂಟೂತ್ ಎಸ್ampನೀವು ನಿರ್ಮಿಸಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಬೂಟ್‌ಲೋಡರ್‌ನೊಂದಿಗೆ ಬಳಸಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ. ನೀವು ಹೊಚ್ಚ ಹೊಸ EFR32MG21B ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೆ, ಅದು ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಪ್ಲಾಟ್‌ಫಾರ್ಮ್\ಬೂಟ್‌ಲೋಡರ್\ಗಳಲ್ಲಿ ನೀವು ಮೊದಲೇ ನಿರ್ಮಿಸಿದ ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು ಕಾಣಬಹುದುample-apps\bootloader-storage-internalsingle\efr32mg21a010f1024im32-brd4181a ನಿಮ್ಮ SDK ಫೋಲ್ಡರ್.

  1. ಒಂದು soc-ಖಾಲಿ s ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿample ಅಪ್ಲಿಕೇಶನ್. ಈ ಎಸ್ample ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಟೆಂಪ್ಲೇಟ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ BLE ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಉತ್ತಮ ಆರಂಭಿಕ ಹಂತವಾಗಿದೆ.
    1. ಸಿಂಪ್ಲಿಸಿಟಿ ಸ್ಟುಡಿಯೊದಿಂದ ಸಿಲಿಕಾನ್ ಲ್ಯಾಬ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್ ವಿಝಾರ್ಡ್ ತೆರೆಯಿರಿ File ಮೆನು -> ಹೊಸದು.
    2. BRD4181C ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಮತ್ತು 'ಮುಂದೆ' ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ.
    3. ತಂತ್ರಜ್ಞಾನ ಪ್ರಕಾರದ ಅಡಿಯಲ್ಲಿ 'ಬ್ಲೂಟೂತ್ (9)' ಚೆಕ್‌ಬಾಕ್ಸ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ.
    4. 'ಬ್ಲೂಟೂತ್ - SoC ಖಾಲಿ' ಹೈಲೈಟ್ ಮಾಡಿ ನಂತರ ಮುಂದೆ ಕ್ಲಿಕ್ ಮಾಡಿ.
    5. 'ಮುಕ್ತಾಯ' ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ.
  2. ಸಂರಕ್ಷಿತ ಮತ್ತು ಅಸುರಕ್ಷಿತ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೇಗೆ ವಿಭಿನ್ನವಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಈಗ ನೀವು ಕೆಲವು ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸೇರಿಸಬಹುದು.
    1. ಯೋಜನೆಯ slcp ತೆರೆಯಿರಿ file ಪ್ರಾಜೆಕ್ಟ್ ಎಕ್ಸ್‌ಪ್ಲೋರರ್ ವಿಂಡೋದಲ್ಲಿ ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ
    2. 'ಸಾಫ್ಟ್‌ವೇರ್ ಕಾಂಪೊನೆಂಟ್ಸ್' ಟ್ಯಾಬ್ ಅನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ ಮತ್ತು ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ GATT ಕಾನ್ಫಿಗರೇಶನ್ ಟೂಲ್ ಅನ್ನು ತೆರೆಯಿರಿ: ಮತ್ತು gatt_configuration.btconf ಅನ್ನು ಆಮದು ಮಾಡಲು ಕೆಳಗೆ ತೋರಿಸಿರುವ ಆಮದು ಉಪಕರಣವನ್ನು ಬಳಸಿ file ಒದಗಿಸಿದ ವಸ್ತುಗಳಲ್ಲಿ ಸರ್ವರ್ ಫೋಲ್ಡರ್‌ನಿಂದ.GATT ಡೇಟಾಬೇಸ್ ಕಸ್ಟಮ್ ಸೇವೆಯನ್ನು ಹೊಂದಿದೆ, ಇದನ್ನು 'ತರಬೇತಿ' ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಕೆಲವು ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು ಕೆಲವು ಅಲ್ಲ. ಸಂರಕ್ಷಿತ ಗುಣಲಕ್ಷಣ ಮತ್ತು ಅಸುರಕ್ಷಿತ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಹೋಲಿಸಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಇದು ಅತ್ಯಂತ ಮೂಲಭೂತ ಭದ್ರತೆಯೊಂದಿಗೆ ಸಾಧನವನ್ನು ತಯಾರಿಸಲು ತ್ವರಿತ ಮಾರ್ಗವಾಗಿದೆ.
  3. ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಸಿಂಪ್ಲಿಸಿಟಿ ಸ್ಟುಡಿಯೋದಲ್ಲಿ ಕನ್ಸೋಲ್‌ಗೆ ಮುದ್ರಿಸಲು ನಾವು ಸೀರಿಯಲ್ ಪೋರ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ತೋರಿಸಿರುವಂತೆ ಸಾಫ್ಟ್‌ವೇರ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳ ಸಂವಾದದಲ್ಲಿ ಅವುಗಳನ್ನು ಹುಡುಕುವ ಮೂಲಕ ಈ ಘಟಕಗಳನ್ನು ಹುಡುಕಲು ಸುಲಭವಾದ ಮಾರ್ಗವಾಗಿದೆ:
      1. IO ಸ್ಟ್ರೀಮ್ USART ಘಟಕವನ್ನು ಸ್ಥಾಪಿಸಿ
      2. IO ಸ್ಟ್ರೀಮ್ ರಿಟಾರ್ಗೆಟ್ STDIO ಘಟಕವನ್ನು ಸ್ಥಾಪಿಸಿ
      3. ಸ್ಟ್ಯಾಂಡರ್ಡ್ I/O ಘಟಕವನ್ನು ಸ್ಥಾಪಿಸಿ
      4. ಲಾಗ್ ಘಟಕವನ್ನು ಸ್ಥಾಪಿಸಿ
      5. ಬೋರ್ಡ್ ಕಂಟ್ರೋಲ್ ಘಟಕವನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು 'ವರ್ಚುವಲ್ COM UART ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ' ಅನ್ನು ಆನ್ ಮಾಡಿ
      6. 'ಡೀಬಗ್ ಅಡಾಪ್ಟರುಗಳು' ಪ್ಯಾನೆಲ್‌ನಲ್ಲಿ ಅಡಾಪ್ಟರ್ ಅನ್ನು ರೈಟ್-ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು 'ಲಾಂಚ್ ಕನ್ಸೋಲ್' ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. 'ಸೀರಿಯಲ್ 1' ಟ್ಯಾಬ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಮತ್ತು ಕನ್ಸೋಲ್ ವಿಂಡೋದ ಪಠ್ಯ ಪ್ರವೇಶ ಕ್ಷೇತ್ರದಲ್ಲಿ ಕರ್ಸರ್ ಅನ್ನು ಇರಿಸಿ ಮತ್ತು ಕನ್ಸೋಲ್ ಅನ್ನು ಎಚ್ಚರಗೊಳಿಸಲು ಎಂಟರ್ ಒತ್ತಿರಿ.
  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. EFRCconnect ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ನೊಂದಿಗೆ ಈ ಕೆಳಗಿನಂತೆ ಸಂಪರ್ಕಪಡಿಸಿ:
      1. 'ಬ್ಲೂಟೂತ್ ಬ್ರೌಸರ್' ಐಕಾನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ.
      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 ಬ್ಲೂಟೂತ್ ಭದ್ರತಾ ವಿಧಾನಗಳನ್ನು ಸಾರಾಂಶಗೊಳಿಸುತ್ತದೆ.

ಭದ್ರತಾ ನಿರ್ವಾಹಕ ಸಂರಚನೆ

ಸೆಕ್ಯುರಿಟಿ ಮ್ಯಾನೇಜರ್ ಬ್ಲೂಟೂತ್ ಸ್ಟಾಕ್‌ನ ಭಾಗವಾಗಿದ್ದು ಅದು ಯಾವ ಭದ್ರತಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಈ ವೈಶಿಷ್ಟ್ಯಗಳು ಮ್ಯಾನ್-ಇನ್-ದಿ-ಮಿಡಲ್ (MITM) ರಕ್ಷಣೆ, LE ಸುರಕ್ಷಿತ ಸಂಪರ್ಕಗಳು (ಅಕಾ ECDH), ಬಂಧಕ್ಕೆ ದೃಢೀಕರಣದ ಅಗತ್ಯವಿರುತ್ತದೆ, ಇತ್ಯಾದಿ. ಭದ್ರತಾ ವ್ಯವಸ್ಥಾಪಕರು I/O ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸಹ ನಿರ್ವಹಿಸುತ್ತಾರೆ, ಇವುಗಳನ್ನು ಜೋಡಿಸಲು ಯಾವ ವಿಧಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. /ಬಾಂಡಿಂಗ್ (ಸಾರಾಂಶಕ್ಕಾಗಿ ಅನುಬಂಧ A ನೋಡಿ). ಈ ವಿಭಾಗದಲ್ಲಿ ನೀವು ಸರಳವಾದ ಸೆಟಪ್ ಅನ್ನು ನೋಡುತ್ತೀರಿ.

  1. ಬಯಸಿದ ಸಂರಚನೆಯೊಂದಿಗೆ SM ಅನ್ನು ಹೊಂದಿಸಿ. ಈ ಲ್ಯಾಬ್‌ಗಾಗಿ ಹಾರ್ಡ್‌ವೇರ್ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಪಾಸ್‌ಕೀ ಅನ್ನು ಪ್ರದರ್ಶಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. MITM ರಕ್ಷಣೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಪಾಸ್‌ಕೀ ನಮೂದು ಅಗತ್ಯವಾಗಿದೆ. ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ನಿಮ್ಮ sl_bt_system_boot_id ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗೆ ಸೇರಿಸಿ. ಇದು ಮ್ಯಾನ್-ಇನ್-ದಿ-ಮಿಡಲ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ನಾವು ಪಾಸ್‌ಕೀ ಅನ್ನು ಪ್ರದರ್ಶಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ರಿಮೋಟ್ ಸಾಧನಕ್ಕೆ ತಿಳಿಸುತ್ತದೆ, ಆದರೆ ಅಷ್ಟೆ.
  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 ಅನ್ನು ಒತ್ತಿರಿ. ಈಗ ಕನ್ಸೋಲ್ ಬಾಂಡಿಂಗ್‌ಗಾಗಿ ಮೊಬೈಲ್ ಫೋನ್‌ನಲ್ಲಿ ನಮೂದಿಸಬೇಕಾದ ಪಾಸ್‌ಕೀ ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಬಾಂಡಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಪಾಸ್‌ಕೀಯನ್ನು ನಮೂದಿಸಿ.

 

ಸಲಹೆ: ಸ್ಟಾಕ್ ನಿರ್ವಹಿಸದ ಈವೆಂಟ್ ಅನ್ನು ಕಳುಹಿಸಿದಾಗ ಸಂದೇಶವನ್ನು ಮುದ್ರಿಸಲು ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್‌ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಕೇಸ್ ಅನ್ನು ಬಳಸಿ. ಸ್ಟಾಕ್ ನಿಮಗೆ ಮುಖ್ಯವಾದುದನ್ನು ಹೇಳಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರಬಹುದು.

ಬೇಸಿಕ್ಸ್ ಬಿಯಾಂಡ್

ಈ ಹಂತದಲ್ಲಿ, ನೀವು ಅಡ್ವಾನ್ ತೆಗೆದುಕೊಂಡಿದ್ದೀರಿ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. EFRCconnect ನೊಂದಿಗೆ ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಿ. ಸಂಪರ್ಕವು ವಿಫಲಗೊಳ್ಳಬೇಕು.
    9. ಈಗ EFRCconnect ನೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುವ ಮೊದಲು 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. ಮೂರು ಬಳಕೆದಾರರ ಡೇಟಾ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಓದಬಹುದು. ಸಾಧನ ಪ್ರಮಾಣಪತ್ರ, ಬ್ಯಾಚ್ ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಸವಾಲನ್ನು ಸಂವಹನ ಮಾಡಲು ಈ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಬಳಕೆದಾರರ ಓದುವ ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಕಾಲ್‌ಬ್ಯಾಕ್ ಕಾರ್ಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ ಈ ಕಾರ್ಯವನ್ನು ಕರೆಯಲು ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಸೇರಿಸಿ:ಕಾಲ್ಬ್ಯಾಕ್ MTU ಅನ್ನು ಹಂತ #2 ರಿಂದ ವಿಭಾಗಕ್ಕೆ ಬಳಸುತ್ತದೆ ಮತ್ತು ಅಗತ್ಯವಿರುವಂತೆ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಕಳುಹಿಸಿ. ಇದು ಸಹಿ ಮಾಡಿದ ಸವಾಲನ್ನು ಕಳುಹಿಸುವುದನ್ನು ಸಹ ನಿರ್ವಹಿಸುತ್ತದೆ.
  6. ಕ್ಲೈಂಟ್ GATT ಗುಣಲಕ್ಷಣಗಳಲ್ಲಿ ಒಂದನ್ನು ಬರೆಯುವ ಮೂಲಕ ಸರ್ವರ್‌ನಿಂದ ಸಹಿ ಮಾಡಬೇಕಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯನ್ನು ಸವಾಲನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಈ ಕಾರಣಕ್ಕಾಗಿ, ಅಪ್ಲಿಕೇಶನ್ ಕೆಳಗಿನಂತೆ ಬಳಕೆದಾರರ ಬರಹ ವಿನಂತಿಯ ಈವೆಂಟ್‌ಗಾಗಿ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಹೊಂದಿರಬೇಕು:
  7. ಸುರಕ್ಷಿತ ಗುರುತಿನ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿ fileಯೋಜನೆಗೆ ರು:
    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/ರೇಡಿಯೋಬೋರ್ಡ್‌ಗೆ ಕ್ಲೈಂಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ನಿರ್ಮಿಸಿ ಮತ್ತು ಫ್ಲ್ಯಾಷ್ ಮಾಡಿ.
  12. ಕ್ಲೈಂಟ್ WSTK ನಲ್ಲಿ ಮರುಹೊಂದಿಸಲು ಒತ್ತಿರಿ ಮತ್ತು ಸರಣಿ ಕನ್ಸೋಲ್ ತೆರೆಯಿರಿ. ಕ್ಲೈಂಟ್ ನಮ್ಮ ಸುರಕ್ಷಿತ ಗುರುತಿನ ಸೇವೆಯನ್ನು ಜಾಹೀರಾತು ಮಾಡುವ ಸಾಧನಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಅದು ಒಂದನ್ನು ಕಂಡುಕೊಂಡಾಗ ಸಂಪರ್ಕಿಸುತ್ತದೆ.
  13. ಕ್ಲೈಂಟ್ ಬಯಸಿದ ಸೇವೆ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ಸರಪಳಿಯ ಪರಿಶೀಲನೆಯ ಸ್ಥಿತಿಯ ಸಂದೇಶಗಳೊಂದಿಗೆ ಸರ್ವರ್ ಅನ್ನು ಕಂಡುಕೊಂಡಿದೆ ಎಂದು ಸೂಚಿಸಲು ಕೆಲವು ಸಂದೇಶಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.
  14. ಪರಿಶೀಲನೆಯು ಹಾದುಹೋದರೆ, ಕ್ಲೈಂಟ್ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯನ್ನು ರಚಿಸುತ್ತದೆ, ಇದನ್ನು ಸವಾಲು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಸರ್ವರ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಸರ್ವರ್ ತನ್ನ ಸುರಕ್ಷಿತವಾಗಿ ಹಿಡಿದಿರುವ ಖಾಸಗಿ ಸಾಧನದ ಕೀಲಿಯೊಂದಿಗೆ ಸವಾಲಿಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗೆ ಮರಳಿ ಸಹಿ ಮಾಡುತ್ತದೆ, ಇದನ್ನು ಸವಾಲಿನ ಪ್ರತಿಕ್ರಿಯೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಕ್ಲೈಂಟ್ ನಂತರ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸಲು ಹಿಂದೆ ಸ್ವೀಕರಿಸಿದ ಸಾಧನ ಪ್ರಮಾಣಪತ್ರದಲ್ಲಿ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಸರ್ವರ್ ನಿಜವಾಗಿಯೂ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಹೊಂದಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಲು ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ. ಸವಾಲನ್ನು ಸರಿಯಾಗಿ ಪರಿಶೀಲಿಸಿದರೆ, ಅದರ ಪರಿಣಾಮಕ್ಕಾಗಿ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ, ಸಂಪರ್ಕವನ್ನು ಮುಚ್ಚಲಾಗಿದೆ ಮತ್ತು ಏಕೆ ಎಂದು ವಿವರಿಸುವ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ.
  15. ಪರಿಶೀಲನೆಯು ನಿಜವಾಗಿಯೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಲು ಈಗ ಅಮಾನ್ಯ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕಳುಹಿಸಿ. ಪ್ರಮಾಣಪತ್ರ ಡೇಟಾ ಅಥವಾ ಸವಾಲಿನ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಭ್ರಷ್ಟಗೊಳಿಸಲು ನೀವು user_read_request_cb() ಅನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು.

ಅನುಬಂಧ A - I/O ಸಾಮರ್ಥ್ಯಗಳು ಮತ್ತು ಜೋಡಿಸುವ ವಿಧಾನಗಳು
ಅನುಬಂಧ ಬಿ - ಭದ್ರತಾ ವಿಧಾನಗಳು ಮತ್ತು ಮಟ್ಟಗಳು

ಭದ್ರತಾ ಮೋಡ್ 1 ಸಿಲಿಕಾನ್ ಲ್ಯಾಬ್‌ಗಳ ಸ್ಟಾಕ್‌ನಲ್ಲಿ ಬ್ಲೂಟೂತ್ ಲೋ ಎನರ್ಜಿಗಾಗಿ ಬೆಂಬಲಿಸುವ ಏಕೈಕ ಮೋಡ್ ಆಗಿದೆ. ಮಟ್ಟಗಳು ಕೆಳಕಂಡಂತಿವೆ:

  • ಹಂತ 1 ಭದ್ರತೆ ಇಲ್ಲ
  • ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನೊಂದಿಗೆ ಹಂತ 2 ದೃಢೀಕರಿಸದ ಜೋಡಣೆ
  • ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನೊಂದಿಗೆ ಹಂತ 3 ದೃಢೀಕೃತ ಜೋಡಣೆ
  • ದೃಢವಾದ ಎನ್‌ಕ್ರಿಪ್ಶನ್ (ECDH ಕೀ ವಿನಿಮಯ) ನೊಂದಿಗೆ 4 ನೇ ಹಂತದ ದೃಢೀಕೃತ ಸುರಕ್ಷಿತ ಸಂಪರ್ಕಗಳು

 

ದಾಖಲೆಗಳು / ಸಂಪನ್ಮೂಲಗಳು

silabs 21Q2 ಸುರಕ್ಷಿತ BLE ಸಾಧನ ಭದ್ರತಾ ಲ್ಯಾಬ್ [ಪಿಡಿಎಫ್] ಬಳಕೆದಾರರ ಕೈಪಿಡಿ
21Q2 ಸುರಕ್ಷಿತ BLE ಸಾಧನ ಭದ್ರತಾ ಲ್ಯಾಬ್, ಸುರಕ್ಷಿತ BLE ಸಾಧನ ಭದ್ರತಾ ಲ್ಯಾಬ್, ಭದ್ರತಾ ಲ್ಯಾಬ್

ಉಲ್ಲೇಖಗಳು

ಕಾಮೆಂಟ್ ಬಿಡಿ

ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಪ್ರಕಟಿಸಲಾಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಗುರುತಿಸಲಾಗಿದೆ *