silabs 21Q2 ደህንነቱ የተጠበቀ የ BLE መሣሪያ ደህንነት ቤተ ሙከራ
የ BLE ደህንነት ቤተ ሙከራ መመሪያ
በዚህ ላብራቶሪ ውስጥ፣ የበለጠ ደህንነቱ የተጠበቀ የ BLE መሳሪያ እንዴት እንደሚነድፍ ያያሉ። በማጠቃለያ እንጀምራለንview አንዳንድ የቁልል ባህሪያትን እንዴት መጠቀም እንዳለብን እና ወደ አንዳንድ አጠቃላይ ምክሮች ስለ ቴክኒኮች ይበልጥ ደህንነታቸው የተጠበቀ ግንኙነቶችን እንሸጋገር እና በመጨረሻም ተጓዳኝ አካልን እንደ ትክክለኛ ለመለየት በ BLE ላይ የመሳሪያ ሰርተፊኬቶችን እንዴት መጠቀም እንደምንችል እናያለን።
እንደ መጀመር
ብሉቱዝ ኤስampየምትገነባው መተግበሪያ ከቡት ጫኚ ጋር ለመጠቀም ታስቦ ነው። ከአዲሱ EFR32MG21B ጋር እየሰሩ ከሆነ ቡት ጫኚ አይኖረውም። በፕላትፎርም\bootloader\s ውስጥ አስቀድሞ የተሰራ ቡት ጫኝ ማግኘት ይችላሉ።ample-apps\bootloader-storage-internalsingle\efr32mg21a010f1024im32-brd4181a የእርስዎን ኤስዲኬ አቃፊ።
- በሶክ-ባዶ s ይጀምሩample app. ይህ ኤስample app እንደ አብነት ያገለግላል እና ለማንኛውም የ BLE መተግበሪያ ጥሩ መነሻ ያደርገዋል።
- የሲሊኮን ላብስ ፕሮጀክት አዋቂን ከቀላል ስቱዲዮ ይክፈቱ File ምናሌ -> አዲስ.
- BRD4181C ይምረጡ እና 'ቀጣይ' የሚለውን ቁልፍ ይጫኑ።
- በቴክኖሎጂ ዓይነት 'ብሉቱዝ (9)' አመልካች ሳጥኑን ጠቅ ያድርጉ።
- 'ብሉቱዝ - ሶሲ ባዶ' የሚለውን ያድምቁ እና ቀጣይ የሚለውን ጠቅ ያድርጉ።
- 'ጨርስ' የሚለውን ቁልፍ ጠቅ ያድርጉ።
- አሁን የተጠበቁ እና ያልተጠበቁ ባህሪያት እንዴት በተለየ መንገድ እንደሚያዙ ለማየት አንዳንድ ባህሪያትን ማከል ይችላሉ.
- የፕሮጀክቱን slcp ይክፈቱ file በፕሮጀክት ኤክስፕሎረር መስኮት ውስጥ ሁለቴ ጠቅ በማድረግ
- የ'SOFTWARE COMPONENTS' ትርን ያድምቁ እና ከታች እንደሚታየው የGATT ማዋቀሪያ መሳሪያውን ይክፈቱ።
እና gatt_configuration.btconfን ለማስመጣት ከታች የሚታየውን የማስመጫ መሳሪያ ይጠቀሙ file በተሰጡት ቁሳቁሶች ውስጥ ካለው የአገልጋይ አቃፊ.
የ GATT ዳታቤዝ ብጁ አገልግሎት አለው፣ 'ስልጠና' የሚባል፣ አንዳንድ የተጠበቁ እና አንዳንድ ያልተጠበቁ መረጃዎች ያሉት። ይህ የተጠበቀውን ባህሪ እና ጥበቃ ካልተደረገለት ጋር ለመድረስ ሲሞክሩ ምን እንደሚፈጠር እንዲያወዳድሩ ያስችልዎታል። ይህ በጣም መሠረታዊ ደህንነት ያለው መሳሪያ ለመስራት ፈጣን መንገድ ነው።
- በሲምፕሊቲ ስቱዲዮ ውስጥ ወደ ኮንሶል ለማተም ተከታታይ ወደብ እንጠቀማለን በማመልከቻው ውስጥ ምን እየተካሄደ እንዳለ ለመከታተል። እነዚህን ክፍሎች ለማግኘት ቀላሉ መንገድ በሶፍትዌር ክፍሎች ውስጥ እንደሚታየው በመፈለግ ነው፡-
-
- የ IO Stream USART አካልን ይጫኑ
- የ IO Stream Retarget STIO አካልን ይጫኑ
- መደበኛ I/O አካልን ይጫኑ
- የሎግ ክፍሉን ይጫኑ
- የቦርድ መቆጣጠሪያ ክፍሉን ይክፈቱ እና 'Virtual COM UARTን አንቃ' የሚለውን ያብሩ።
- በ'አራም አስማሚ' ፓነል ውስጥ ያለውን አስማሚ በቀኝ ጠቅ ያድርጉ እና 'Console አስጀምር' የሚለውን ይምረጡ። 'ተከታታይ 1' የሚለውን ትር ይምረጡ እና ጠቋሚውን በኮንሶል መስኮቱ የጽሑፍ ማስገቢያ መስክ ውስጥ ያስቀምጡ እና ኮንሶሉን ለማንቃት አስገባን ይጫኑ።
-
- የግንኙነቱን እጀታ ለማስቀመጥ በsl_bt_on_event() ውስጥ በ app.c ውስጥ የሚገኝ የአካባቢ ተለዋዋጭ ይፍጠሩ። አንድ ክስተት በተደራራቢ በተነሳ ቁጥር ይህ ተግባር ተብሎ ስለሚጠራ እና እሴቱ ዘላቂ እንዲሆን ስለምንፈልግ ተለዋዋጭው ቋሚ መሆን አለበት። የግንኙነት መያዣው በኋላ ላይ ጥቅም ላይ ይውላል
የላብራቶሪው ክፍል.
- ስንገናኝ ለማየት አንዳንድ የመተግበሪያ_ሎግ() መግለጫዎችን አስገባ፣ የደህንነት ሁነታዎች፣ ወዘተ
-
- የapp_log.h ራስጌን ያካትቱ file
- sl_bt_evt_ግንኙነት_ተከፈተ - የቦንድ እጀታ ያትሙ እና የግንኙነት መያዣውን ያስቀምጡ። የማስያዣ መያዣው 0xFF ከሆነ በተገናኙት መሳሪያዎች መካከል ምንም ትስስር የለም. ያለውን የክስተት ተቆጣጣሪ ይህን እንዲመስል ያሻሽሉ፡
- sl_bt_evt_ግንኙነት_መለኪያዎች - የደህንነት ሁነታ። ይህ የሚደረገው የደህንነት ሁነታ ሲቀየር ማየት እንዲችሉ ነው። የደህንነት ሁነታ 1, ከዋጋ 0, ወዘተ ጋር የተዘረዘሩበት የደህንነት ሁነታዎች ቁጥር ላይ ልዩነት አለ. የሚከተለውን የክስተት ተቆጣጣሪ ወደ መተግበሪያዎ ያክሉ።
- sl_bt_evt_ግንኙነት_ዝግ_መታወቂያ። ይህ የክስተት ተቆጣጣሪ የግንኙነት እጀታውን ለማዘመን ተስተካክሏል። እሴቱ 0xFF ምንም ገባሪ ግንኙነት እንደሌለ ለማመልከት ጥቅም ላይ ይውላል። የመተግበሪያ_ሎግ() ትዕዛዝ ግንኙነቱ የተዘጋበትን ምክንያት ለማተም ይጠቅማል፣የሁኔታ ኮዶች ዝርዝር እዚህ አለ። ያለውን የክስተት ተቆጣጣሪ ይህን እንዲመስል ያሻሽሉ፡
- የapp_log.h ራስጌን ያካትቱ file
-
- ፕሮጀክቱን ይገንቡ እና ያብሩት። በዚህ ጊዜ sampከ GATT ዳታቤዝ በተጨማሪ ያለ ምንም ለውጥ እንዴት እንደሚሠራ ለማየት le app።
- ከ EFRConnect የሞባይል መተግበሪያ ጋር እንደሚከተለው ይገናኙ፡
-
- የ'ብሉቱዝ አሳሽ' አዶን መታ ያድርጉ።
- 'ስልጠና' በተባለው መሳሪያ ላይ የ'Connect' አዶን መታ ያድርጉ።
-
- ያልተጠበቀ ባህሪን እንደሚከተለው ያንብቡ።
-
- ከ UUID a815944e-da1e-9d2a- 02e2-a8d15e2430a0 ጋር ባልታወቀ አገልግሎት ስር ያለውን 'ተጨማሪ መረጃ' ማገናኛን መታ ያድርጉ።
- ጥበቃ ያልተደረገለትን ባህሪ፣ UUID f9e91a44-ca91-4aba-1c33-fd43ca270b4c የ'Read' አዶን በመንካት ያንብቡ። እዚህ ምንም አያስደንቅም. ባህሪው በምንም መልኩ ጥበቃ ስላልተደረገለት በግልጽ ይላካል።
-
- አሁን የተጠበቀውን ባህሪ፣ UUID d4261dbb-dcd0-daab-ec95-deec088d532b ያንብቡ። የሞባይል ስልክዎ እንዲጣመሩ እና እንዲገናኙ ሊጠይቅዎት ይገባል፣ መልዕክቱ እንደ ሞባይል ስርዓተ ክወናዎ ሊለያይ ይችላል። ለማጣመር ጥያቄውን ከተቀበሉ በኋላ በኮንሶሉ ላይ መልእክት እንደሚከተለው መላክ አለብዎት።
ማስታወሻበዚህ ማኑዋል መጨረሻ ላይ ያለው አባሪ ሀ የ I/O ችሎታዎች እና የማጣመጃ ዘዴዎች ማጠቃለያ አለው። አባሪ B የብሉቱዝ ደህንነት ሁነታዎችን ያጠቃልላል።
የደህንነት አስተዳዳሪ ውቅር
የደህንነት አስተዳዳሪው የትኞቹ የደህንነት ባህሪያት ጥቅም ላይ እንደሚውሉ የሚወስነው የብሉቱዝ ቁልል አካል ነው። እነዚህ ባህሪያት ሰው-በመሃል (MITM) ጥበቃ፣ LE Secure ግንኙነቶች (aka ECDH)፣ ለግንኙነት ማረጋገጫ የሚያስፈልገው፣ ወዘተ ያካትታሉ። የደህንነት አስተዳዳሪው በተጨማሪም የትኛውን ዘዴ ለማጣመር ጥቅም ላይ እንደሚውል ለማወቅ የI/O ችሎታዎችን ይቆጣጠራል። / ትስስር (ለማጠቃለያ አባሪ ሀ ይመልከቱ)። በዚህ ክፍል ውስጥ ቀላል ቅንብርን ታያለህ.
- በሚፈለገው ውቅር SM ያዋቅሩ። የዚህ ላብራቶሪ ሃርድዌር በኮንሶሉ ላይ የይለፍ ቁልፍ ለማሳየት ቀላል ያደርገዋል። የMITM ጥበቃን ለማንቃት የይለፍ ቁልፍ መግቢያ መስፈርት ነው። የሚከተለውን ኮድ ወደ የእርስዎ sl_bt_system_boot_id ክስተት ተቆጣጣሪ ያክሉ። ይህ ሰው-በመሃል ላይ ያነቃል እና የርቀት መሳሪያውን የይለፍ ቁልፍ የማሳየት ችሎታ እንዳለን ያሳውቃል፣ ግን ያ ብቻ ነው።
- የይለፍ ቁልፉን በኮንሶሉ ላይ ለማሳየት ከዚህ በታች እንደሚታየው የክስተት ተቆጣጣሪ ያስፈልጋል።
- የማስያዣ ሁነታውን፣ ከፍተኛው የግንኙነቶች ብዛት፣ ወዘተ ያዘጋጁ። ለመጀመር የሚከተለውን ኮድ ይጠቀሙ፡-
እነዚህ ቅንብሮች አንድ አጥቂ ከመሣሪያዎ ጋር የመገናኘት ችሎታን ለመገደብ ጥቅም ላይ ሊውል ይችላል። ምርትዎ አንድ ተጠቃሚ ብቻ እንዲኖረው ከፈለገ ከፍተኛውን ቦንዶችን ወደ 1 ሊገድቡ ይችላሉ። እነዚህን ጥሪዎች ለመጨመር ጥሩ ቦታ የsl_bt_system_boot_id ክስተት ተቆጣጣሪ ነው። የቀረውን ላብራቶሪ በተቀላጠፈ ሁኔታ እንዲሄድ ለማድረግ በአሁኑ ጊዜ ትስስርን አንችልም ነገርግን አንድ ማስያዣ ብቻ ለመፍቀድ የማስያዣ ፖሊሲ አውጥተናል። ለማጣቀሻ, የእነዚህ ኤፒአይዎች ሰነዶች እዚህ እና እዚህ ይገኛሉ.
- ለsl_bt_evt_sm_bonded_id እና sl_bt_evt_sm_bonding_failed_id የክስተት ተቆጣጣሪዎችን ያክሉ። የእነዚህ ክስተቶች ዋነኛ አጠቃቀም በአሁኑ ጊዜ መረጃ ሰጭ ነው ነገር ግን በኋላ በቤተ ሙከራ ውስጥ ተግባራዊነትን ይጨምራሉ.
- ወደ ዒላማው ሰሌዳ ይገንቡ እና ያብሩ። ከ EFRConnect ጋር ይገናኙ እና የተጠበቀውን ባህሪ እንደበፊቱ ያንብቡ። በዚህ ጊዜ በኮንሶሉ ላይ የሚታየውን የይለፍ ቁልፍ ታያለህ። ሲጠየቁ ይህን የይለፍ ቁልፍ በተንቀሳቃሽ ስልክዎ ላይ ያስገቡ።
- የማገናኘት ማረጋገጫን ይሞክሩ። ይህ ባህሪ ተጠቃሚው የመተሳሰሪያ ጥያቄዎች እንዲረጋገጡ የመጠየቅ ችሎታ ይሰጠዋል። ይህን ማድረጉ አፕሊኬሽኑ ከየትኞቹ እኩያ መሳሪያዎች ጋር እንደሚያያዝ እንዲቆጣጠር ይሰጠዋል። አንዱ አማራጭ ተጠቃሚው ማስያዣውን ከመፍቀዱ በፊት አንድ ቁልፍ እንዲጫን ማድረግ ነው።
- የብሉቱዝ ቅንብሮችን በሞባይል ስልክዎ ይክፈቱ እና ከEFR32 መሳሪያ ጋር ያለውን ትስስር ያስወግዱ። የሞባይል ስልክ አተገባበር ይለያያሉ ስለዚህ ይህ እርምጃ አስፈላጊ ላይሆን ይችላል። በብሉቱዝ ቅንጅቶችዎ ውስጥ የ'ስልጠና' መሳሪያውን ካላዩ ወደሚቀጥለው ደረጃ ይቀጥሉ።
- በሶፍትዌር ክፍሎች ውስጥ የቀላል አዝራር ተቆጣጣሪውን አንድ ምሳሌ ይጫኑ።
- ራስጌውን ያካትቱ file sl_simple_button_intances.h app.c ውስጥ
- ለsl_bt_evt_sm_bonding_confirm_id ክስተት ተቆጣጣሪ ያክሉ። የዚህ ክስተት ተቆጣጣሪ ዋና ስራ የርቀት መሳሪያ አዲስ ማስያዣ እየጠየቀ መሆኑን ለተጠቃሚው ማሳወቅ ነው።
- ወደ ብሉቱዝ ቁልል አንድ አዝራር መጫኑን የሚያመለክት ምልክት ለመላክ ቀላል አዝራር ተቆጣጣሪው የመልሶ መደወያ ተግባር ያክሉ። ይህ በቀላሉ የሚመለሰውን ነባሪ መልሶ ጥሪ ይሽራል።
- የውጭ ሲግናል ክስተት ተቆጣጣሪ ያክሉ። ይህ ክስተት የሚነሳው እንደ ቀደመው ደረጃ ምልክት ለመቀበል ምላሽ ነው። የውጭ ሲግናል ክስተት ትስስርን ለማረጋገጥ ጥቅም ላይ ይውላል።
- እንደ የግንኙነት ማረጋገጫ ለመፈለግ ጥሪውን ወደ sl_bt_sm_configure ይለውጡ
- እንደገና ገንባ እና ብልጭ ድርግም.
- ከ EFRConnect ጋር ይገናኙ እና የተጠበቀውን ባህሪ እንደበፊቱ ያንብቡ። አሁን በኮንሶሉ ላይ የሚከተለውን መልእክት ያያሉ።
ትስስርን ለማረጋገጥ PB0 ን ይጫኑ። አሁን ኮንሶሉ ለማገናኘት በሞባይል ስልክ ላይ የሚገባውን የይለፍ ቁልፍ ያሳያል። የማገናኘት ሂደቱን ለማጠናቀቅ የይለፍ ቃሉን ያስገቡ።
ጠቃሚ ምክር: ቁልል ያልተያዘ ክስተት ሲልክ መልእክት ለማተም በክስተቱ ተቆጣጣሪ ውስጥ ያለውን ነባሪ መያዣ ይጠቀሙ። ቁልል አንድ አስፈላጊ ነገር ሊነግሮት እየሞከረ ሊሆን ይችላል።
ከመሠረታዊነት ባሻገር
በዚህ ጊዜ አድቫን ወስደዋልtagየእኛ ቁልል ከሚያቀርባቸው የደህንነት ባህሪያት ውስጥ። አሁን በአቅማችን ያሉትን ባህሪያት በጥበብ በመጠቀም አፈፃፀሙን እናሻሽለው። የሚከተሉት እርምጃዎች አማራጭ እና ገለልተኛ ናቸው ፣ ባህሪውን ለማየት ከእያንዳንዱ በኋላ መገንባት እና ብልጭ ድርግም ማድረግ ወይም ሁሉንም በአንድ ላይ መሞከር ይችላሉ።
- ባልተሳኩ የማስያዣ ሙከራዎች ግንኙነት አቋርጥ። ይህ ማስፈራሪያዎችን ለመለየት ጥሩ ቦታ ነው። የርቀት መሳሪያው ኢንክሪፕሽን/ማረጋገጥን የማይደግፍ ከሆነ ወይም ትክክለኛ ቁልፎች ከሌለው ጠላፊ ሊሆን ይችላል። ስለዚህ ግንኙነቱን እናቋርጥ። በsl_bt_sm_bonding_failed_id ክስተት ውስጥ ወደ sl_bt_connection_close() ጥሪ ለማከል ይሞክሩ። ኤፒአይው እዚህ ተመዝግቧል።
የተሳሳተ የይለፍ ቁልፍ በማስገባት ይህንን ባህሪ መሞከር ይችላሉ።
- ግንኙነትን በተወሰኑ ጊዜያት ብቻ መፍቀድ። ይህ አጥቂ ማስያዣ የሚፈጥርበትን ጊዜ ይገድባል እና 'ብቻ ፍቀድ ቦንድ የተገናኙ ግንኙነቶች' ባህሪን ለመጠቀም ያስችላል። ንድፍ አውጪው እንዴት ማሰር የሚችል ሁነታን ማንቃት ወይም ማሰናከል እንደሚቻል መምረጥ ይችላል። እዚህ ለማሳያ ዓላማ፣ 'የማዋቀር ሁነታን' በPB1 እናነቃዋለን እና ከ30 ሰከንድ በኋላ ለማሰናከል ጊዜ ቆጣሪን እንጠቀማለን።
- የቀላል አዝራር በይነገጽ ሁለተኛ ምሳሌ ጫን። ይህ PB1 መጠቀም ያስችላል።
- ትስስርን ለማንቃት/ለማሰናከል የተለየ ምልክት ወደ ቁልል ለመላክ መልሶ ጥሪውን ያሻሽሉ። ውጤቱ እንደዚህ ያለ ነገር መምሰል አለበት-
- የውጭ ሲግናል ክስተት ተቆጣጣሪውን ይህን አዲስ ሲግናል እንዲይዝ ይቀይሩት። ውጤቱ እንደሚከተለው መሆን አለበት-
- ለsl_bt_evt_system_soft_timer_id ክስተት የክስተት ተቆጣጣሪ ያክሉ። ይህ የማዋቀር ሁነታን ለማሰናከል ይጠቅማል።
- የሚከተለው ኮድ ሊታሰር የሚችል ሁነታን ለማንቃት እና ሁሉንም ግንኙነቶች ለመፍቀድ ወይም ተያያዥ ሁነታን ለማሰናከል እና ከተያያዙ መሳሪያዎች ብቻ ግንኙነቶችን ለመፍቀድ ጥቅም ላይ ሊውል ይችላል፡
- በ sl_bt_system_boot_id ክስተት ተቆጣጣሪ ውስጥ የሚከተለውን ጥሪ ያክሉ
- ፕሮጀክቱን ይገንቡ እና ወደ መሳሪያው ያብሩት.
- ከመሳሪያው ጋር በ EFRConnect ለመገናኘት ይሞክሩ። ግንኙነቱ መጥፋት አለበት.
- አሁን ከ EFRConnect ጋር ከመገናኘትዎ በፊት PB1 ን ይጫኑ። በዚህ ጊዜ ግንኙነቱ ስኬታማ ይሆናል. ከ 30 ሰከንድ በኋላ በኮንሶሉ ላይ መሳሪያው ከማዋቀር ሁነታ እየወጣ መሆኑን የሚያመለክት መልእክት ያያሉ። ይህ ማለት ቦንድቦሊንግ ሁነታ አሁን ተሰናክሏል ማለት ነው።
- ግንኙነት በሚፈጥሩበት ጊዜ ደህንነትን ይጨምሩ። ደህንነት አማራጭ ስለሆነ በተቻለ ፍጥነት በGATT ባህሪያት ላይ ከመታመን ይልቅ የተመሰጠረ ግንኙነትን መጠየቅ አለብን። ኤፒአይው እዚህ ተመዝግቧል። ለዚህ ኤፒአይ ለመደወል ጥሩ ቦታ በ sl_bt_evt_connection_opened_id ክስተት ውስጥ ነው። የግንኙነት መያዣው በግንኙነት ተለዋዋጭ ውስጥ ይገኛል።
ደህንነቱ የተጠበቀ ማንነት
አሁን ይበልጥ ደህንነቱ የተጠበቀ የብሉቱዝ መሣሪያ ስላለን፣ የማረጋገጫ ደረጃውን እናሻሽለው። በቀድሞ የሥልጠና ቤተ-ሙከራዎች ውስጥ የቮልት መሣሪያዎችን አስተማማኝ ማንነት በትእዛዝ መስመር እንዴት ማረጋገጥ እንደሚችሉ አስቀድመው አይተዋል። በዚህ ክፍል አንድ የ BLE መሳሪያ የእውቅና ማረጋገጫ ሰንሰለቱን በመጠየቅ እና ፈተናን በመላክ የሌላውን BLE መሳሪያ እንዴት ማረጋገጥ እንደሚችል እንመለከታለን። ሁሉም ደህንነታቸው የተጠበቁ የቮልት ክፍሎች የራሳቸውን የመሳሪያ ሰርተፍኬት እና የቡድን ሰርተፍኬት ይይዛሉ። ሙሉውን የምስክር ወረቀት ሰንሰለት ለማረጋገጥ የፋብሪካው እና የስር ሰርተፍኬቶቹ በደንበኛ አፕሊኬሽኑ ውስጥ በደረቅ ኮድ የተቀመጡ ናቸው። በአስተማማኝ ማንነት ላይ ለበለጠ መረጃ AN1268 ይመልከቱ።
- የመሣሪያውን የምስክርነት ፊርማ ለማከማቸት ዓለም አቀፍ ቋት ከዚህ በታች ይግለጹ፡
- JustWorks ማጣመርን ለመጠቀም የደህንነት አስተዳዳሪ ውቅር ያዘጋጁ። ይህ የሚደረገው ግንኙነቱ እንዲመሰጠር ነው። በተግባር የMITM ጥበቃ ስራ ላይ መዋል አለበት ግን ላብራቶሪውን ቀላል ለማድረግ JustWorks እንጠቀማለን። ጥሪውን ወደ sl_bt_sm_configure ወደሚከተለው ይመልሱ፡
እንዲሁም በsystem_boot ክስተት ተቆጣጣሪው ውስጥ ወደ setup_mode(እውነት) ጥሪውን አስተያየት ይስጡ።
- Helpers.c ከቀረቡት ቁሳቁሶች ይክፈቱ እና ይዘቱን ወደ app.c ይቅዱ። እነዚህ የመልሶ መደወያ ተግባራት የምስክር ወረቀቶችን በ BLE ላይ እንዲላኩ ፣ የምስክር ወረቀቱን ማረጋገጥ እና ፈተናውን ማመንጨት/ማረጋገጥ ያሉ ተግባራትን ያከናውናሉ።
- የምስክር ወረቀቶች እንዲከፋፈሉ እና እንደገና እንዲገጣጠሙ ከፍተኛውን የዝውውር ክፍል (MTU) መጠን መወሰን ያስፈልጋል. እዚህ እንደሚታየው MTU ን ለማዳን ዓለም አቀፍ ተለዋዋጭ ይግለጹ፡
ከዚህ በታች እንደሚታየው ለGATT MTU ልውውጥ ክስተት የክስተት ተቆጣጣሪ ያክሉ።
- ሊነበቡ የሚችሉ ሶስት የተጠቃሚ ውሂብ ባህሪያት አሉ. እነዚህ ባህሪያት የመሳሪያውን የምስክር ወረቀት, የቡድን የምስክር ወረቀት እና ተግዳሮትን ለማስተላለፍ ያገለግላሉ. እነዚህን የተጠቃሚ የማንበብ ጥያቄዎችን ለማስተናገድ የመልሶ መደወያ ተግባር ጥቅም ላይ ይውላል። ከዚህ በታች እንደሚታየው ይህንን ተግባር ለመጥራት ተቆጣጣሪ ያክሉ።
መልሶ መደወል MTUን ከደረጃ #2 እስከ ክፍል ድረስ ይጠቀማል እና እንደ አስፈላጊነቱ የምስክር ወረቀቶቹን ይልካል። የተፈረመውን ፈተና መላክንም ይቆጣጠራል።
- ደንበኛው ፈተና ይልካል, አንድ የዘፈቀደ ቁጥር በአገልጋዩ መፈረም, GATT ባህሪያት መካከል አንዱን በመጻፍ. በዚህ ምክንያት፣ አፕሊኬሽኑ ከዚህ በታች ባለው መልኩ ለተጠቃሚው የመፃፍ ጥያቄ ተቆጣጣሪ ሊኖረው ይገባል።
- ደህንነቱ የተጠበቀ የማንነት ድጋፍን ያክሉ fileወደ ፕሮጀክቱ:
- app_se_manager_macro.h፣ app_se_manager_secure_identity.c እና app_se_secure_identity.h ከቀረቡት ቁሳቁሶች እስከ ፕሮጀክቱ ድረስ። እነዚህ fileዎች እንደ የምስክር ወረቀት መጠን ማግኘት፣ የመሳሪያውን የህዝብ ቁልፍ ማግኘት እና ፈተና መፈረም ላሉ ተግባራት አንዳንድ አጋዥ ተግባራትን ይዘዋል ።
- app_se_manager_secure_identity.h በapp.c ውስጥ ያካትቱ።
- የቀረበውን gatt_configuration-attest.btconf ከተሰጡት ቁሳቁሶች አስመጣ። ይህ የ GATT የመረጃ ቋት ደህንነቱ የተጠበቀ ማረጋገጫ ተብሎ የሚጠራ ሲሆን እሱም አራት ባህሪያትን ያካተተ የመሳሪያችንን ማንነት ለማረጋገጥ ይጠቅማል። እነዚህም የመሳሪያውን የምስክር ወረቀት፣ የባች ሰርተፍኬት፣ ፈተና እና ምላሽ ያካትታሉ።
- እንደ ጌትዌይ ያሉ መሳሪያዎችን ለማስመሰል የሚያገለግል ደንበኛው, ለመገንባት የበለጠ ውስብስብ ስለሆነ እንደ ሙሉ ፕሮጀክት ይቀርባል. በአጠቃላይ የደንበኛው አሠራር እንደሚከተለው ነው.
- ደህንነቱ የተጠበቀ የማረጋገጫ አገልግሎት የሚያስተዋውቁ መሳሪያዎችን ይቃኛል እና ከእነሱ ጋር ይገናኛል።
- GATT የውሂብ ጎታ አገልግሎቶችን እና ባህሪያትን ያገኛል።
- መሳሪያውን እና ባች ሰርተፊኬቶችን በማንበብ የእውቅና ማረጋገጫ ሰንሰለቱን በፍላሽ ያከማቸውን የፋብሪካ እና የስር ሰርተፍኬት በመጠቀም ያረጋግጣል።
- የዘፈቀደ ፈተና ለአገልጋዩ ይልካል።
- ለችግሩ ምላሽ ለማረጋገጥ ሙከራዎች።
- የትኛውም ማረጋገጫ ካልተሳካ ግንኙነቱን ይዘጋል።
- የአገልጋዩን ፕሮጀክት ይገንቡ እና ወደ አገልጋይዎ WSTK/ራዲዮቦርድ ያብሩት።
- በተሰጡት ቁሳቁሶች ውስጥ የደንበኛውን ፕሮጀክት ከደንበኛው አቃፊ ያስመጡ. የደንበኛውን ፕሮጀክት ለደንበኛዎ WSTK/ራዲዮቦርድ ይገንቡ እና ያብሩት።
- በደንበኛው WSTK ላይ ዳግም አስጀምርን ይጫኑ እና ተከታታይ ኮንሶሉን ይክፈቱ። ደንበኛው ደህንነቱ የተጠበቀ የማንነት አገልግሎታችንን የሚያስተዋውቁ መሣሪያዎችን መፈለግ ይጀምራል እና አንድ ሲያገኝ ይገናኛል።
- ደንበኛው የተፈለገውን አገልግሎት እና የምስክር ወረቀቱን ሰንሰለት ስለማጣራት የሁኔታ መልዕክቶች አገልጋዩን እንዳገኘ የሚጠቁሙ አንዳንድ መልዕክቶችን ያሳያል።
- ማረጋገጫው ካለፈ ደንበኛው የዘፈቀደ ቁጥር ያመነጫል፣ ፈታኝ ይባላል እና ወደ አገልጋዩ ይልካል። አገልጋዩ ፈተናውን ደህንነቱ በተጠበቀው የግል መሳሪያ ቁልፉ እና ፊርማውን ለደንበኛው ይፈርማል፣ ይህ የፈታኝ ምላሽ ይባላል። ደንበኛው ፊርማውን ለማረጋገጥ ከዚህ ቀደም በተቀበለው የመሳሪያ ምስክር ወረቀት ውስጥ ያለውን የህዝብ ቁልፍ ይጠቀማል። ይህ የሚደረገው አገልጋዩ አለኝ የሚለው የግል ቁልፍ እንዳለው ለማረጋገጥ ነው። ተግዳሮቱ በትክክል ከተረጋገጠ ለዚያ ውጤት አንድ መልእክት ይታያል; አለበለዚያ ግንኙነቱ ተዘግቷል, እና ለምን እንደሆነ የሚገልጽ መልእክት ይታያል.
- አሁን ማረጋገጫው በትክክል እንደሚሰራ ለማረጋገጥ ትክክለኛ ያልሆነ የምስክር ወረቀት ይላኩ። የእውቅና ማረጋገጫውን ወይም የግጭት ምላሹን ለማበላሸት user_read_request_cb() መቀየር ይችላሉ።
አባሪ ሀ - የአይ/ኦ አቅም እና የማጣመሪያ ዘዴዎች 
አባሪ ለ - የደህንነት ሁነታዎች እና ደረጃዎች
በሲሊኮን ላብስ ቁልል ውስጥ ለብሉቱዝ ዝቅተኛ ኢነርጂ የሚደገፈው የደህንነት ሁነታ 1 ብቸኛው ሁነታ ነው። ደረጃዎች እንደሚከተለው ናቸው.
- ደረጃ 1 ምንም ደህንነት የለም
- ደረጃ 2 ያልተረጋገጠ ማጣመር ከማመስጠር ጋር
- ደረጃ 3 የተረጋገጠ ማጣመር ከማመስጠር ጋር
- ደረጃ 4 የተረጋገጠ አስተማማኝ ግንኙነቶች ከጠንካራ ምስጠራ (ECDH ቁልፍ ልውውጥ) ጋር
ሰነዶች / መርጃዎች
![]() |
silabs 21Q2 ደህንነቱ የተጠበቀ የ BLE መሣሪያ ደህንነት ቤተ ሙከራ [pdf] የተጠቃሚ መመሪያ 21Q2 ደህንነቱ የተጠበቀ የ BLE መሣሪያ ደህንነት ቤተ ሙከራ፣ ደህንነቱ የተጠበቀ የ BLE መሣሪያ ደህንነት ቤተ ሙከራ፣ የደህንነት ቤተ ሙከራ |