X-CUBE-SAFEA1 Ծրագրային փաթեթ
Տեխնիկական պայմաններ
- Ապրանքի անվանումը՝ STSAFE-A110 Secure Element
- Տարբերակ՝ X-CUBE-SAFEA1 v1.2.1
- Ինտեգրված՝ STM32CubeMX ծրագրային փաթեթում
- Հիմնական հատկանիշները:
- Ապահովեք ալիքի ստեղծումը հեռահաղորդակցման միջոցով, ներառյալ
տրանսպորտային շերտի անվտանգության (TLS) ձեռքսեղմում - Ստորագրության ստուգման ծառայություն (անվտանգ բեռնում և որոնվածը
արդիականացում) - Օգտագործման մոնիտորինգ անվտանգ հաշվիչներով
- Զուգակցում և ապահով ալիքը հյուրընկալող հավելվածի պրոցեսորի հետ
- Տեղական կամ հեռավոր հյուրընկալող ծրարների փաթաթում և փաթաթում
- Չիպային բանալիների զույգերի ստեղծում
- Ապահովեք ալիքի ստեղծումը հեռահաղորդակցման միջոցով, ներառյալ
Ապրանքի օգտագործման հրահանգներ
1. Ընդհանուր տեղեկություններ
STSAFE-A110 անվտանգ տարրը նախատեսված է ապահովելու համար
Նույնականացման և տվյալների կառավարման ծառայություններ տեղական կամ հեռավոր
տանտերերը. Այն հարմար է տարբեր ծրագրերի համար, ինչպիսիք են IoT սարքերը,
խելացի տան համակարգեր, արդյունաբերական ծրագրեր և այլն:
2. Սկսել
STSAFE-A110 անվտանգ տարրը սկսելու համար.
- Տե՛ս պաշտոնական STSAFE-A110-ում առկա տվյալների աղյուսակը
web էջը մանրամասն տեղեկությունների համար։ - Ներբեռնեք STSAFE-A1xx միջին ծրագրային ապահովման փաթեթը
STSAFE-A110 ինտերնետային էջ կամ STM32CubeMX: - Ապահովել համատեղելիությունը աջակցվող IDE-ների հետ, ինչպիսիք են STM32Cube IDE կամ
Համակարգի աշխատանքային սեղան STM32-ի համար:
3. Միջին ծրագրերի նկարագրություն
3.1 Ընդհանուր նկարագրություն
STSAFE-A1xx միջին ծրագիրը հեշտացնում է փոխազդեցությունը
անվտանգ տարրի սարքը և MCU-ն, որոնք հնարավորություն են տալիս օգտագործելու տարբեր դեպքեր:
Այն ինտեգրված է ST ծրագրային փաթեթների մեջ՝ բարձրացնելու անվտանգությունը
հատկանիշները.
3.2 Ճարտարապետություն
Միջին ծրագիրը բաղկացած է տարբեր ծրագրային բաղադրիչներից,
այդ թվում՝
- STSAFE-A1xx API (հիմնական ինտերֆեյս)
- CORE CRYPTO
- MbedTLS Cryptographic ծառայության ինտերֆեյս SHA/AES
- Սարքավորումների սպասարկման ինտերֆեյս X-CUBECRYPTOLIB
Հաճախակի տրվող հարցեր (ՀՏՀ)
Հարց. Որտեղ կարող եմ գտնել STSAFE-A110 տվյալների թերթիկը:
A: Տվյալների թերթիկը հասանելի է STSAFE-A110-ում web էջ համար
լրացուցիչ տեղեկություններ սարքի մասին:
Հարց. Որոնք են աջակցվող ինտեգրված զարգացման միջավայրերը
STSAFE-A1xx միջին ծրագրի համար:
A: Աջակցվող IDE-ները ներառում են STM32Cube IDE և System Workbench
STM32-ի համար (SW4STM32) X-CUBE-SAFEA1 v1.2.1 փաթեթում:
UM2646
Օգտագործողի ձեռնարկ
Սկսում ենք X-CUBE-SAFEA1 ծրագրային փաթեթի հետ
Ներածություն
Օգտագործողի այս ձեռնարկը նկարագրում է, թե ինչպես սկսել X-CUBE-SAFEA1 ծրագրային փաթեթը: X-CUBE-SAFEA1 ծրագրային փաթեթը ծրագրային բաղադրիչ է, որն ապահովում է մի քանի ցուցադրական կոդեր, որոնք օգտագործում են STSAFE-A110 սարքի առանձնահատկությունները հյուրընկալող միկրոկառավարիչից: Այս ցուցադրական կոդերն օգտագործում են STSAFE-A1xx միջնակարգ ծրագիրը, որը կառուցված է STM32Cube ծրագրային ապահովման տեխնոլոգիայի վրա՝ հեշտացնելու շարժականությունը տարբեր STM32 միկրոկառավարիչների միջոցով: Բացի այդ, այն MCU-ագնոստիկ է այլ MCU-ների համար դյուրատարության համար: Այս ցուցադրական ծածկագրերը ցույց են տալիս հետևյալ հատկանիշները.
UM2646 – Rev 4 – Մարտ 2024 Լրացուցիչ տեղեկությունների համար դիմեք ձեր տեղական STMicroelectronics վաճառքի գրասենյակ:
www.st.com
1
Նշում. Նշում.
UM2646
Ընդհանուր տեղեկություններ
Ընդհանուր տեղեկություններ
X-CUBE-SAFEA1 ծրագրային փաթեթը հղում է STSAFE-A110 անվտանգ տարրերի ծառայությունները հյուրընկալող MCU-ի օպերացիոն համակարգում (OS) և դրա կիրառմանը միացնելու համար: Այն պարունակում է STSAFE-A110 դրայվեր և ցուցադրական կոդեր, որոնք պետք է գործարկվեն STM32 32-բիթանոց միկրոկոնտրոլերների վրա, որոնք հիմնված են Arm® Cortex®-M պրոցեսորի վրա: Arm-ը Arm Limited-ի (կամ նրա դուստր ձեռնարկությունների) գրանցված ապրանքային նշանն է ԱՄՆ-ում և/կամ այլուր: X-CUBE-SAFEA1 ծրագրային փաթեթը մշակված է ANSI C-ում: Այնուամենայնիվ, հարթակից անկախ ճարտարապետությունը թույլ է տալիս հեշտ տեղափոխելիություն տարբեր հարթակներում: Ստորև բերված աղյուսակը ներկայացնում է հապավումների սահմանումը, որոնք տեղին են այս փաստաթղթի ավելի լավ հասկանալու համար:
STSAFE-A1xx ծրագրային փաթեթը ինտեգրված է X-CUBE-SAFEA1 v1.2.1-ում՝ որպես միջին ծրագիր, և այն ինտեգրված է որպես BSP՝ STM32CubeMX ծրագրային փաթեթի համար:
UM2646 – Rev 4
էջ 2/23
UM2646
STSAFE-A110 անվտանգ տարր
2
STSAFE-A110 անվտանգ տարր
STSAFE-A110-ը բարձր ապահով լուծում է, որը գործում է որպես ապահով տարր, որը տրամադրում է նույնականացման և տվյալների կառավարման ծառայություններ տեղական կամ հեռավոր հոսթին: Այն բաղկացած է ամբողջական բանտապահ լուծումից՝ ապահով օպերացիոն համակարգով, որն աշխատում է վերջին սերնդի անվտանգ միկրոկառավարիչների վրա:
STSAFE-A110-ը կարող է ինտեգրվել IoT (Իրերի ինտերնետ) սարքերում, խելացի տանը, խելացի քաղաքներում և արդյունաբերական հավելվածներում, սպառողական էլեկտրոնիկայի սարքերում, սպառվող նյութերում և աքսեսուարներում: Նրա հիմնական հատկանիշներն են.
·
Նույնականացում (ծայրամասային սարքերի, IoT և USB Type-C® սարքերի)
·
Ապահովեք ալիքի հաստատումը հեռակառավարման միջոցով, ներառյալ տրանսպորտային շերտի անվտանգության (TLS) ձեռքսեղմումը
·
Ստորագրության ստուգման ծառայություն (անվտանգ բեռնում և որոնվածի թարմացում)
·
Օգտագործման մոնիտորինգ անվտանգ հաշվիչներով
·
Զուգակցում և ապահով ալիքը հյուրընկալող հավելվածի պրոցեսորի հետ
·
Տեղական կամ հեռավոր հյուրընկալող ծրարների փաթաթում և փաթաթում
·
Չիպային բանալիների զույգերի ստեղծում
Տես STSAFE-A110 տվյալների թերթիկը, որը հասանելի է STSAFE-A110-ում web էջ սարքի վերաբերյալ լրացուցիչ տեղեկությունների համար:
UM2646 – Rev 4
էջ 3/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
3
STSAFE-A1xx միջին ծրագրի նկարագրությունը
Այս բաժինը մանրամասնում է STSAFE-A1xx միջին ծրագրային ապահովման փաթեթի բովանդակությունը և դրա օգտագործման եղանակը:
3.1
Ընդհանուր նկարագրություն
STSAFE-A1xx միջին ծրագիրը ծրագրային բաղադրիչների մի շարք է, որը նախատեսված է.
·
STSAFE-A110 անվտանգ տարրի սարքը միացնել MCU-ին
·
իրականացնել STSAFE-A110 օգտագործման ամենաընդհանուր դեպքերը
STSAFE-A1xx միջին ծրագիրը լիովին ինտեգրված է ST ծրագրային փաթեթների մեջ՝ որպես միջին ծրագրային բաղադրիչ՝ ապահով տարրերի առանձնահատկություններ ավելացնելու համար (օրինակ՝ample X-CUBE-SBSFU կամ X-CUBE-SAFEA1):
Այն կարելի է ներբեռնել STSAFE-A110 ինտերնետային էջից Tools & Software ներդիրի միջոցով կամ կարելի է ներբեռնել STM32CubeMX-ից:
Ծրագիրը տրամադրվում է որպես սկզբնաղբյուր՝ ST ծրագրային ապահովման լիցենզիայի պայմանագրով (SLA0088) (Տե՛ս Լիցենզիայի տեղեկությունները լրացուցիչ մանրամասների համար):
Աջակցվում են զարգացման հետևյալ ինտեգրված միջավայրերը.
·
IAR Embedded Workbench® Arm®-ի համար (EWARM)
·
Keil® միկրոկոնտրոլերի մշակման հավաքածու (MDK-ARM)
·
STM32Cube IDE (STM32CubeIDE)
·
Համակարգի աշխատասեղան STM32-ի համար (SW4STM32) աջակցվում է միայն X-CUBE-SAFEA1 v1.2.1 փաթեթում
Աջակցվող IDE տարբերակների մասին տեղեկությունների համար տեսեք փաթեթի արմատային պանակում առկա թողարկման նշումները:
3.2
Ճարտարապետություն
Այս բաժինը նկարագրում է STSAFE-A1xx միջին ծրագրային ապահովման փաթեթի ծրագրային բաղադրիչները:
Ստորև բերված նկարում ներկայացված է ա view STSAFE-A1xx միջին ծրագրային ճարտարապետության և հարակից ինտերֆեյսերի:
Նկար 1. STSAFE-A1xx ճարտարապետություն
STSAFE-A1xx API (հիմնական ինտերֆեյս)
CORE
CRYPTO
MbedTM TLS
Կրիպտոգրաֆիկ ծառայության ինտերֆեյս SHA/AES
ԾԱՌԱՅՈՒԹՅՈՒՆ
Մեկուսացված տարածք
Հարմար է MCU անվտանգության հատկանիշներով պաշտպանության համար
(MPU, Firewall, TrustZone® և այլն)
Սարքավորումների սպասարկման ինտերֆեյս
X-CUBECRYPTOLIB
UM2646 – Rev 4
էջ 4/23
Նշում.
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
Միջին ծրագրակազմն ունի երեք տարբեր ինտերֆեյս.
·
STSAFE-A1xx API: Դա ծրագրավորման հիմնական ինտերֆեյսն է (API), որն ապահովում է լիարժեք մուտք բոլորին
STSAFE-A110 ծառայությունները, որոնք արտահանվում են վերին շերտեր (հավելված, գրադարաններ և կույտեր): Այս ինտերֆեյսը
նաև կոչվում է հիմնական ինտերֆեյս, քանի որ բոլոր արտահանվող API-ները ներդրված են CORE մոդուլում:
Վերին շերտերը, որոնք պետք է ինտեգրեն STSAFE-A1xx միջին ծրագիրը, պետք է մուտք ունենան STSAFE-A110
առանձնահատկություններ այս ինտերֆեյսի միջոցով:
·
Սարքավորումների սպասարկման ինտերֆեյս. Այս ինտերֆեյսը օգտագործվում է STSAFE-A1xx միջին ծրագրի կողմից՝ ամենաբարձրին հասնելու համար
ապարատային հարթակի անկախություն: Այն ներառում է մի շարք ընդհանուր գործառույթներ՝ կոնկրետ MCU, IO ավտոբուսը միացնելու համար
և ժամանակի գործառույթները: Այս կառուցվածքը բարելավում է գրադարանի կոդի վերօգտագործելիությունը և երաշխավորում է հեշտ դյուրատարություն
այլ սարքեր:
Սահմանված որպես թույլ գործառույթներ՝ այս ընդհանուր գործառույթները պետք է իրականացվեն կիրառական մակարդակում՝ հետևելով օրինակինampտրամադրված է stsafea_service_interface_template.c ձևանմուշում, որը տրամադրվում է հեշտ ինտեգրման համար
և հարմարեցում վերին շերտերում:
·
Կրիպտոգրաֆիկ ծառայության ինտերֆեյս. Այս ինտերֆեյսը օգտագործվում է STSAFE-A1xx միջնակարգ ծրագրի կողմից՝ մուտք գործելու համար
հարթակի կամ գրադարանի գաղտնագրման գործառույթներ, ինչպիսիք են SHA (անվտանգ հեշ ալգորիթմ) և AES (առաջադեմ
գաղտնագրման ստանդարտ) որոշ ցուցադրությունների համար պահանջվում է միջին ծրագրի կողմից:
Սահմանված որպես թույլ գործառույթներ՝ այս գաղտնագրային գործառույթները պետք է իրականացվեն հավելվածի մակարդակով
հետևելով նախկինampտրամադրված է երկու տարբեր ձևանմուշներով.
stsafea_crypto_mbedtls_interface_template.c, եթե օգտագործվում է Arm® MbedTM TLS ծածկագրային գրադարանը; stsafea_crypto_stlib_interface_template.c եթե օգտագործվում է ST ծածկագրային գրադարանը;
·
Այլընտրանքային կրիպտոգրաֆիկ գրադարանները կարող են օգտագործվել՝ պարզապես հարմարեցնելով կաղապարի աղբյուրը fileս. Այն
կաղապար files-ն տրամադրվում է վերին շերտերում հեշտ ինտեգրման և հարմարեցման համար:
Arm-ը և Mbed-ը Arm Limited-ի (կամ նրա դուստր ձեռնարկությունների) գրանցված ապրանքային նշաններ կամ ապրանքային նշաններ են ԱՄՆ-ում և/կամ այլուր:
UM2646 – Rev 4
էջ 5/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
Ստորև բերված նկարը ցույց է տալիս STSAFE-A1xx միջին ծրագիրը, որը ինտեգրված է ստանդարտ STM32Cube հավելվածում, որն աշխատում է X-NUCLEO-SAFEA1 ընդլայնման տախտակի վրա, որը տեղադրված է STM32 Nucleo տախտակի վրա:
Նկար 2. STSAFE-A1xx կիրառման բլոկային դիագրամ
STSAFE-A1xx միջին ծրագիր STM32Cube հավելվածում
X-CUBE-SAFEA1 բլոկային դիագրամ STM32CubeMX-ի համար
Սարքավորումների և հարթակի լավագույն անկախությունն ապահովելու համար STSAFE-A1xx միջին ծրագիրը ուղղակիորեն միացված չէ STM32Cube HAL-ին, այլ ինտերֆեյսի միջոցով: files-ն իրականացվել է հավելվածի մակարդակում (stsafea_service_interface_template.c, stsafea_interface_conf.h):
UM2646 – Rev 4
էջ 6/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
3.3
CORE մոդուլ
CORE մոդուլը միջին ծրագրի առանցքն է: Այն իրականացնում է վերին շերտերի կողմից կանչված հրամանները (հավելված, գրադարաններ, ստեկ և այլն), որպեսզի պատշաճ կերպով օգտագործի STSAFE-A1xx գործառույթները:
Ստորև բերված նկարում ներկայացված է ա view CORE մոդուլի ճարտարապետությունը:
Նկար 3. CORE մոդուլի ճարտարապետություն
Արտաքին վերին շերտեր (հավելված, գրադարաններ, կույտեր և այլն)
CORE
CRYPTO ներքին մոդուլ
SERVICE ներքին մոդուլ
CORE մոդուլը բազմաբնույթ ծրագրային բաղադրիչ է, որը միացված է.
·
Վերին շերտեր. արտաքին կապ արտահանվող API-ների միջոցով, որոնք նկարագրված են ստորև բերված երկու աղյուսակներում.
·
Կրիպտոգրաֆիկ շերտ. ներքին միացում CRYPTO մոդուլին;
·
Սարքավորումների սպասարկման շերտ. ներքին միացում SERVICE մոդուլին;
STSAFE-A1xx միջին ծրագրային ապահովման փաթեթը տրամադրում է CORE մոդուլի ամբողջական API փաստաթուղթ արմատային թղթապանակում (տես STSAFE-A1xx_Middleware.chm file).
Տե՛ս STSAFE-A110 տվյալների թերթիկը հրամանների հավաքածուի համառոտ բացատրության համար, որին առնչվում են հետևյալ աղյուսակում թվարկված հրամանների API-ները:
API կատեգորիայի սկզբնավորման կազմաձևում
Ընդհանուր նշանակության հրամաններ
Տվյալների բաժանման հրամաններ
Աղյուսակ 1. CORE մոդուլի արտահանված API
StSafeA_Init գործառույթը STSAFE-A1xx սարքի բռնակը ստեղծելու, սկզբնավորելու և նշանակելու համար: StSafeA_GetVersion STSAFE-A1xx միջին ծրագրի վերանայումը վերադարձնելու համար: StSafeA_Echo հրամանով փոխանցված տվյալները ստանալու համար: StSafeA_Reset Անկայուն ատրիբուտները իրենց սկզբնական արժեքներին վերականգնելու համար: StSafeA_GenerateRandom To-ն առաջացնում է մի շարք պատահական բայթեր: StSafeA_Hibernate STSAFE-Axxx սարքը ձմեռային ռեժիմի մեջ դնելու համար: StSafeA_DataPartitionQuery
UM2646 – Rev 4
էջ 7/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
API կատեգորիա
Function Query հրաման՝ տվյալների բաժանման կոնֆիգուրացիան ստանալու համար:
StSafeA_Decrement Հաշվիչ գոտում միակողմանի հաշվիչը նվազեցնելու համար:
Տվյալների բաժանման հրամաններ
StSafeA_Read Տվյալների բաժանման գոտուց տվյալներ կարդալու համար:
StSafeA_Update Տվյալները թարմացնելու համար գոտի բաժանման միջոցով:
StSafeA_GenerateSignature ECDSA ստորագրությունը հաղորդագրության ամփոփման միջոցով վերադարձնելու համար:
Մասնավոր և հանրային բանալիների հրամաններ
StSafeA_GenerateKeyPair Բանալին-զույգ մասնավոր բանալու բնիկում ստեղծելու համար:
StSafeA_VerifyMessageSignature Հաղորդագրության իսկությունը ստուգելու համար:
StSafeA_EstablishKey Երկու սերվերների միջև ընդհանուր գաղտնիք հաստատելու համար՝ օգտագործելով ասիմետրիկ ծածկագրություն:
StSafeA_ProductDataQuery Query հրաման՝ ապրանքի տվյալները առբերելու համար:
StSafeA_I2cParameterQuery Query հրաման՝ I²C հասցեն և ցածր էներգիայի ռեժիմի կազմաձևումը ստանալու համար:
StSafeA_LifeCycleStateQuery Query հրաման՝ կյանքի ցիկլի վիճակը (ծնված, գործառնական, ավարտված, ծնված և կողպված կամ գործառնական և կողպված) ստանալու համար:
Վարչական հրամաններ
StSafeA_HostKeySlotQuery Query հրաման՝ հյուրընկալող բանալիի տեղեկատվությունը (ներկայությունը և հյուրընկալող C-MAC հաշվիչը) առբերելու համար:
StSafeA_PutAttribute STSAFE-Axxx սարքում ատրիբուտներ դնելու համար, ինչպիսիք են ստեղները, գաղտնաբառը, I²C պարամետրերը՝ ըստ հատկանիշի TAG.
StSafeA_DeletePassword Գաղտնաբառը իր բնիկից ջնջելու համար:
StSafeA_VerifyPassword Գաղտնաբառը ստուգելու և հետագա հրամանի թույլտվության համար ստուգման արդյունքը հիշելու համար:
StSafeA_RawCommand Հում հրամանը կատարելու և համապատասխան պատասխանը ստանալու համար:
StSafeA_LocalEnvelopeKeySlotQuery Query հրաման՝ տեղային ծրարի հիմնական տեղեկատվությունը (անցքի համարը, ներկայությունը և բանալու երկարությունը) առբերելու համար առկա բանալիների համար:
Տեղական ծրարի հրամաններ
StSafeA_GenerateLocalEnvelopeKey Բանալին ստեղծելու համար տեղական ծրարի բանալու բնիկում:
StSafeA_WrapLocalEnvelope Տվյալները (սովորաբար ստեղները), որոնք ամբողջությամբ կառավարվում են հյուրընկալողի կողմից, տեղային ծրարի բանալիով և [AES key wrap] ալգորիթմով փաթեթավորելու համար:
StSafeA_UnwrapLocalEnvelope Տեղական ծրարը տեղային ծրարի բանալիով բացելու համար:
UM2646 – Rev 4
էջ 8/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
API կատեգորիա
Հրամանի թույլտվության կազմաձևման հրաման
Աղյուսակ 2. Արտահանված STSAFE-A110 CORE մոդուլի API-ներ
StSafeA_CommandAuthorizationConfigurationQuery Query ֆունկցիա՝ կարգավորելի մուտքի պայմաններով հրամանների մուտքի պայմանները վերբերելու համար:
3.4
SERVICE մոդուլ
SERVICE մոդուլը միջին ծրագրի ցածր շերտն է: Այն իրականացնում է ամբողջական ապարատային աբստրակցիա MCU-ի և ապարատային հարթակի առումով:
Ստորև բերված նկարում ներկայացված է ա view SERVICE մոդուլի ճարտարապետությունը:
Նկար 4. SERVICE մոդուլի ճարտարապետություն
CORE ներքին մոդուլ
ԾԱՌԱՅՈՒԹՅՈՒՆ
Արտաքին ստորին շերտեր (BSP, HAL, LL և այլն)
SERVICE մոդուլը երկակի ինտերֆեյսի ծրագրային բաղադրիչ է, որը միացված է.
·
Արտաքին ստորին շերտերը, ինչպիսիք են BSP, HAL կամ LL: Թույլ գործառույթները պետք է իրականացվեն արտաքին բարձրության վրա
շերտերը և հիմնված են stsafea_service_interface_template.c ձևանմուշի վրա file;
·
Հիմնական շերտ. ներքին միացում CORE մոդուլին աղյուսակում նկարագրված արտահանվող API-ների միջոցով
ստորև;
STSAFE-A1xx միջին ծրագրային փաթեթը տրամադրում է SERVICE մոդուլի ամբողջական API փաստաթղթերը արմատային թղթապանակում (տես STSAFE-A1xx_Middleware.chm file).
Աղյուսակ 3. SERVICE մոդուլի արտահանվող API-ներ
API կատեգորիայի սկզբնավորման կազմաձևում
Ցածր մակարդակի շահագործման գործառույթներ
Գործառույթ
StSafeA_BSP_Init Նախաստորագրելու համար կապի ավտոբուսը և STSAFE-Axxx սարքը գործարկելու համար անհրաժեշտ IO կապանքները:
StSafeA_Transmit Պատրաստել հրամանը, որը պետք է փոխանցվի և կանչի ցածր մակարդակի ավտոբուսի API-ն, որը պետք է կատարվի: Հաշվեք և միացրեք CRC-ը, եթե աջակցվում է:
StSafeA_Receive STSAFE-Axxx-ից տվյալներ ստանալու համար՝ օգտագործելով ցածր մակարդակի ավտոբուսի գործառույթները՝ դրանք առբերելու համար: Ստուգեք CRC-ն, եթե աջակցվում է:
UM2646 – Rev 4
էջ 9/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
3.5
CRYPTO մոդուլ
CRYPTO մոդուլը ներկայացնում է միջին ծրագրի գաղտնագրային մասը: Այն պետք է ապավինի հարթակի ծածկագրային ռեսուրսներին:
CRYPTO մոդուլը լիովին անկախ է մյուս միջին ծրագրաշարի մոդուլներից և, այդ պատճառով, կարող է հեշտությամբ ընդգրկվել մեկուսացված անվտանգ տարածքում, որը հարմար է MCU անվտանգության հատկանիշների պաշտպանությանը, ինչպիսիք են հիշողության պաշտպանության միավորը (MPU), firewall-ը կամ TrustZone®-ը:
Ստորև բերված նկարում ներկայացված է ա view CRYPTO մոդուլի ճարտարապետությունը:
Նկար 5. CRYPTO մոդուլի ճարտարապետություն
CORE ներքին մոդուլ
CRYPTO
Արտաքին կրիպտոգրաֆիկ շերտեր
(MbedTM TLS, X-CUBE-CRYPTOLIB)
CRYPTO մոդուլը երկակի ինտերֆեյսի ծրագրային բաղադրիչ է, որը միացված է.
·
արտաքին ծածկագրման գրադարան. Mbed TLS և X-CUBE-CRYPTOLIB ներկայումս աջակցվում են: Թույլ
Գործառույթները պետք է իրականացվեն արտաքին բարձրագույն շերտերում և հիմնված են հետևյալի վրա.
stsafea_crypto_mbedtls_interface_template.c ձևանմուշ file Mbed TLS ծածկագրային գրադարանի համար;
stsafea_crypto_stlib_interface_template.c կաղապարը file ST ծածկագրային գրադարանի համար;
Լրացուցիչ կրիպտոգրաֆիկ գրադարանները հեշտությամբ կարող են ապահովվել՝ հարմարեցնելով ծածկագրային ինտերֆեյսը
կաղապար file.
·
հիմնական շերտը. ներքին միացում CORE մոդուլին աղյուսակում նկարագրված արտահանվող API-ների միջոցով
ստորև;
STSAFE-A1xx միջին ծրագրային փաթեթը տրամադրում է CRYPTO մոդուլի ամբողջական API փաստաթղթերը արմատային թղթապանակում (տես STSAFE-A1xx_Middleware.chm file).
Աղյուսակ 4. CRYPTO մոդուլի արտահանվող API-ներ
API կատեգորիա
Գործառույթ
StSafeA_ComputeCMAC CMAC արժեքը հաշվարկելու համար: Օգտագործվում է պատրաստված հրամանի վրա:
StSafeA_ComputeRMAC RMAC արժեքը հաշվարկելու համար: Օգտագործվել է ստացված պատասխանի վրա:
StSafeA_DataEncryption Cryptographic API-ներ Տվյալների կոդավորումը (AES CBC) STSAFE-Axxx տվյալների բուֆերի վրա իրականացնելու համար:
StSafeA_DataDecryption Տվյալների վերծանում (AES CBC) STSAFE-Axxx տվյալների բուֆերի վրա իրականացնելու համար:
StSafeA_MAC_SHA_PrePostProcess MAC-ը և/կամ SHA-ն նախապես կամ հետմշակելու համար նախքան փոխանցումը կամ STSAFE_Axxx սարքից տվյալների ընդունումից հետո:
UM2646 – Rev 4
էջ 10/23
3.6
Նշում.
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
Կաղապարներ
Այս բաժինը մանրամասն նկարագրում է STSAFE-A1xx միջին ծրագրային ապահովման փաթեթում առկա ձևանմուշները:
Ստորև բերված աղյուսակում թվարկված բոլոր ձևանմուշները տրամադրվում են միջերեսի թղթապանակում, որը հասանելի է միջին ծրագրային փաթեթի արմատային մակարդակում:
Կաղապար fileները տրամադրվում են որպես նախկինamples պետք է պատճենվեն և հարմարեցվեն վերին շերտերում, որպեսզի հեշտությամբ
ինտեգրել և կարգավորել STSAFE-A1xx միջին ծրագիրը.
·
Ինտերֆեյսի ձևանմուշ files տրամադրել նախկինamp__թույլ ֆունկցիաների իրականացումները, որոնք առաջարկվում են որպես դատարկ կամ
մասամբ դատարկ գործառույթներ միջին ծրագրի ներսում: Նրանք պետք է պատշաճ կերպով իրականացվեն օգտագործողի տարածքում կամ ներսում
վերին շերտերը՝ ըստ ծածկագրային գրադարանի և օգտագործողի ապարատային ընտրության:
·
Կազմաձևման ձևանմուշ files-ն ապահովում է STSAFE-A1xx միջնակարգ ծրագրաշարի և առանձնահատկությունները կարգավորելու հեշտ միջոց
որոնք կարող են օգտագործվել օգտատիրոջ հավելվածում, ինչպիսիք են օպտիմիզացումները կամ հատուկ սարքաշարը:
Կաղապարի կատեգորիա
Ինտերֆեյսի ձևանմուշներ
Կազմաձևման ձևանմուշներ
Աղյուսակ 5. Կաղապարներ
Կաղապար file
stsafea_service_interface_template.c Օրինակample ձևանմուշ՝ ցույց տալու համար, թե ինչպես կարելի է աջակցել STSAFE-A միջին ծրագրով պահանջվող ապարատային ծառայություններին, որոնք առաջարկվում են օգտագործողի տարածքում ընտրված հատուկ սարքաշարի, ցածր մակարդակի գրադարանի կամ BSP-ի կողմից: stsafea_crypto_mbedtls_interface_template.c Օրինակample ձևանմուշ՝ ցույց տալու, թե ինչպես կարելի է աջակցել STSAFE-A միջին ծրագրով պահանջվող ծածկագրային ծառայություններին, որոնք առաջարկվում են Mbed TLS ծածկագրային գրադարանի կողմից (բանալների կառավարում, SHA, AES և այլն): stsafea_crypto_stlib_interface_template.c Օրինակampձևանմուշ՝ ցույց տալու, թե ինչպես կարելի է աջակցել STSAFE-A միջին ծրագրի կողմից պահանջվող գաղտնագրման ծառայություններին, որոնք առաջարկվում են STM32Cube (XCUBE-CRYPTOLIB) գաղտնագրային գրադարանի ծրագրաշարի ընդլայնման կողմից (առանցքների կառավարում, SHA, AES և այլն): stsafea_conf_template.h Օրինակample կաղապար՝ ցույց տալու, թե ինչպես կարելի է կարգավորել STSAFE-A միջին ծրագիրը (մասնավորապես՝ օպտիմալացման նպատակով): stsafea_interface_conf_template.h Օրինակample կաղապար՝ ցույց տալու, թե ինչպես կարգավորել և հարմարեցնել ինտերֆեյսը fileվերևում թվարկվածները։
Վերոնշյալ ձևանմուշները առկա են միայն X-CUBE-SAFEA1 փաթեթի BSP թղթապանակում:
UM2646 – Rev 4
էջ 11/23
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
3.7
Թղթապանակի կառուցվածք
Ստորև բերված նկարը ներկայացնում է STSAFE-A1xx միջին ծրագրային փաթեթի թղթապանակի կառուցվածքը v1.2.1:
Նկար 6. Նախագիծ file կառուցվածքը
Նախագիծ file կառուցվածքը STSAFE-A1xx միջին ծրագիր
UM2646 – Rev 4
Նախագիծ file կառուցվածքը X-CUBE-SAFEA1-ի համար STM32CubeMX-ի համար
էջ 12/23
3.8
3.8.1
3.8.2
UM2646
STSAFE-A1xx միջին ծրագրի նկարագրությունը
Ինչպե՞ս. ինտեգրում և կազմաձևում
Այս բաժինը նկարագրում է, թե ինչպես կարելի է ինտեգրել և կարգավորել STSAFE-A1xx միջին ծրագիրը օգտվողի հավելվածում:
Ինտեգրման քայլեր
Հետևեք այս քայլերին՝ STSAFE-A1xx միջին ծրագիրը ցանկալի հավելվածում ինտեգրելու համար.
·
Քայլ 1. Պատճենեք (և ըստ ցանկության վերանվանեք) stsafea_service_interface_template.c-ը file և որևէ մեկը
stsafea_crypto_mbedtls_interface_template.c կամ stsafea_crypto_stlib_interface_template.c օգտվողին
տարածություն՝ ըստ հավելվածին ավելացված ծածկագրային գրադարանի (ինչ էլ որ լինի
Օգտագործողների կողմից ընտրված/օգտագործվող ծածկագրային գրադարանը, նրանք կարող են նույնիսկ ստեղծել/իրականացնել իրենց սեփական կրիպտոգրաֆիկը
ինտերֆեյս file զրոյից՝ հարմարեցնելով համապատասխան ձևանմուշը):
·
Քայլ 2. Պատճենեք (և ըստ ցանկության վերանվանեք) stsafea_conf_template.h և stsafea_interface_conf_template.h
files դեպի օգտագործողի տարածք:
·
Քայլ 3. Համոզվեք, որ ձեր հիմնական կամ օգտագործողի տարածքի ցանկացած այլ աղբյուրում ավելացրեք ճիշտ ընդգրկումները file որ պետք է
միջերես STSAFE-A1xx միջին ծրագիրը.
#include «stsafea_core.h» #include «stsafea_interface_conf.h»
·
Քայլ 4. Անհատականացրեք files-ն օգտագործվում է վերը նշված երեք քայլերում՝ ըստ օգտվողի նախասիրությունների:
Կազմաձևման քայլեր
Օգտատիրոջ հավելվածում STSAFE-A1xx միջին ծրագիրը պատշաճ կերպով կարգավորելու համար ST-ն տրամադրում է երկու տարբեր
կոնֆիգուրացիայի ձևանմուշ files պետք է պատճենվի և հարմարեցվի օգտագործողի տարածքում՝ ըստ օգտագործողի ընտրության.
·
stsafea_interface_conf_template.h. Սա նախկինample կաղապարը օգտագործվում է և ցույց է տալիս, թե ինչպես կարգավորել
գաղտնագրման և սպասարկման միջին ծրագրային ինտերֆեյսները օգտվողի տարածքում հետևյալ #define-ի միջոցով
հայտարարություններ:
USE_PRE_LOADED_HOST_KEYS
MCU_PLATFORM_INCLUDE
MCU_PLATFORM_BUS_INCLUDE
MCU_PLATFORM_CRC_INCLUDE
·
stsafea_conf_template.h: Սա նախկինample կաղապարը օգտագործվում է և ցույց է տալիս, թե ինչպես կարգավորել STSAFE-A-ն
միջին ծրագրակազմը հետևյալ #define հայտարարությունների միջոցով.
STSAFEA_USE_OPTIMIZATION_SHARED_RAM
STSAFEA_USE_OPTIMIZATION_NO_HOST_MAC_ENCRYPT
STSAFEA_USE_FULL_ASSERT
USE_SIGNATURE_SESSION (միայն STSAFE-A100-ի համար)
Հետևեք այս քայլերին՝ STSAFE-A1xx միջին ծրագիրը ցանկալի հավելվածում ինտեգրելու համար.
·
Քայլ 1. Պատճենեք (և ըստ ցանկության վերանվանեք) stsafea_interface_conf_template.h և stsafea_conf_template.h
files դեպի օգտագործողի տարածք:
·
Քայլ 2. Հաստատեք կամ փոփոխեք վերը նշված երկու վերնագրի #define հայտարարությունը fileըստ
օգտագործողի հարթակը և ծածկագրային ընտրությունները:
UM2646 – Rev 4
էջ 13/23
4
4.1
Նշում.
4.2
Նշում.
UM2646
Ցուցադրական ծրագիր
Ցուցադրական ծրագիր
Այս բաժինը ցույց է տալիս ցուցադրական ծրագրակազմը, որը հիմնված է STSAFE-A1xx միջին ծրագրի վրա:
Նույնականացում
Այս ցուցադրումը ցույց է տալիս հրամանների հոսքը, որտեղ STSAFE-A110-ը տեղադրվում է մի սարքի վրա, որը նույնականացվում է հեռավոր հոսթին (IoT սարքի պատյան), տեղական հոսթն օգտագործվում է որպես հեռավոր սերվերի փոխանցում: Սցենարը, երբ STSAFE-A110-ը տեղադրվում է ծայրամասային սարքի վրա, որը նույնականացվում է տեղական հոսթին, օրինակ.ampԽաղերի, շարժական աքսեսուարների կամ սպառվող նյութերի համար ճիշտ նույնն է:
Հրամանների հոսք Ցուցադրական նպատակների համար այստեղ տեղական և հեռավոր հոսթերը նույն սարքն են: 1. Քաղեք, վերլուծեք և ստուգեք STSAFE-A110-ի հանրային վկայագիրը, որը պահվում է սարքի տվյալների բաժանման գոտում 0-ում
հանրային բանալին ստանալու համար. Կարդացեք վկայագիրը STSAFE-A1xx միջնակարգ ծրագրի միջոցով STSAFE-A110-ի 0 գոտու միջոցով: Վերլուծեք վկայագիրը՝ օգտագործելով գաղտնագրային գրադարանի վերլուծիչը: Կարդացեք CA վկայագիրը (հասանելի է ծածկագրի միջոցով): Վերլուծեք CA վկայագիրը՝ օգտագործելով գաղտնագրային գրադարանի վերլուծիչը: Ստուգեք վկայագրի վավերականությունը՝ օգտագործելով CA վկայագիրը գաղտնագրային գրադարանի միջոցով: Ստացեք հանրային բանալին STSAFE-A110 X.509 վկայականից: 2. Ստեղծեք և ստուգեք ստորագրությունը մարտահրավերի համարի վրա. Ստեղծեք մարտահրավերի համար (պատահական համար): Հաշտացրեք մարտահրավերը: Ստացեք ստորագրություն հաշված մարտահրավերի վրա՝ օգտագործելով STSAFE-A110-ի մասնավոր բանալու բնիկը 0-ի միջոցով
STSAFE-A1xx միջին ծրագիր: Վերլուծեք ստեղծված ստորագրությունը՝ օգտագործելով գաղտնագրային գրադարանը: Ստուգեք ստեղծված ստորագրությունը՝ օգտագործելով STSAFE-A110-ի հանրային բանալին գաղտնագրային գրադարանի միջոցով: Երբ սա վավեր է, հյուրընկալողը գիտի, որ ծայրամասային կամ IoT-ն իսկական է:
Զուգավորում
Այս կոդը օրինակample հաստատում է զուգավորում STSAFE-A110 սարքի և MCU-ի միջև, որին միացված է: Զուգավորումը թույլ է տալիս սարքի և MCU-ի միջև փոխանակումները վավերացվել (այսինքն՝ ստորագրվել և ստուգվել): STSAFE-A110 սարքը կարող է օգտագործվել միայն MCU-ի հետ համատեղ, որի հետ զուգակցված է: Զուգավորումը բաղկացած է այն բանից, որ հյուրընկալող MCU-ն ուղարկում է հյուրընկալող MAC բանալի և հյուրընկալող ծածկագրման բանալի STSAFE-A110: Երկու բանալիներն էլ պահվում են STSAFE-A110-ի պաշտպանված NVM-ում և պետք է պահվեն STM32 սարքի ֆլեշ հիշողության մեջ: Լռելյայն, այս նախկինումampԲացի այդ, հյուրընկալող MCU-ն ուղարկում է STSAFE-A110-ին հայտնի բանալիներ (տե՛ս ստորև նշված հրամանների հոսքը), որոնք խիստ խորհուրդ են տրվում օգտագործել ցուցադրական նպատակներով: Կոդը նաև թույլ է տալիս ստեղծել պատահական ստեղներ: Ընդ որում, ծածկագիրը նախկինample-ն ստեղծում է լոկալ ծրարային բանալի, երբ համապատասխան բնիկը դեռ լրացված չէ STSAFE-A110-ում: Երբ տեղական ծրարի բնիկը լցված է, STSAFE-A110 սարքը թույլ է տալիս հյուրընկալող MCU-ին փաթաթել/փաթաթել տեղային ծրարը՝ բանալին ապահով կերպով պահելու համար ընդունող MCU-ի կողմում: Զուգավորման կոդը օրինակample-ն պետք է հաջողությամբ գործարկվի նախքան ստորև նշված բոլոր ծածկագրերը կատարելը, օրինակamples.
Հրամանի հոսք
1. Ստեղծեք տեղային ծրարի բանալին STSAFE-A110-ում՝ օգտագործելով STSAFE-A1xx միջին ծրագիրը: Լռելյայնորեն այս հրամանն ակտիվացված է: Ուշադիր եղեք, որ ստորև նշվածները չմեկնաբանելը սահմանում է զույգի հայտարարությունները. գ file անջատում է տեղական ծրարի բանալիների ստեղծումը. /* #define _FORCE_DEFAULT_FLASH_ */
Այս գործողությունը տեղի է ունենում միայն այն դեպքում, եթե STSAFE-A110-ի լոկալ ծրարի բանալու անցքը դեռ լրացված չէ:
UM2646 – Rev 4
էջ 14/23
UM2646
Ցուցադրական ծրագիր
2. Սահմանեք երկու 128-բիթանոց թվեր, որոնք կօգտագործվեն որպես հյուրընկալող MAC բանալի և հյուրընկալող ծածկագրման բանալի: Լռելյայնորեն օգտագործվում են ոսկե հայտնի ստեղներ: Նրանք ունեն հետևյալ արժեքները. 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0x0x0x0 / * Հյուրընկալող ծածկագրի ստեղն */
Պատահական բանալիների ստեղծումն ակտիվացնելու համար pairing.c-ին ավելացրեք հետևյալ define հայտարարությունը file: #define USE_HOST_KEYS_SET_BY_PAIRING_APP 1
3. Պահպանեք հյուրընկալող MAC ստեղնը և հյուրընկալող ծածկագրի բանալին իրենց համապատասխան բնիկում STSAFE-A110-ում: 4. Պահպանեք հյուրընկալող MAC ստեղնը և հյուրընկալող ծածկագրի ստեղնը STM32-ի ֆլեշ հիշողության մեջ:
4.3
Հիմնական հաստատություն (սահմանել գաղտնիքը)
Այս ցուցադրումը ցույց է տալիս այն դեպքը, երբ STSAFE-A110 սարքը տեղադրված է սարքի վրա (օրինակ՝ IoT սարքը), որը շփվում է հեռավոր սերվերի հետ և անհրաժեշտ է ստեղծել անվտանգ ալիք՝ դրա հետ տվյալների փոխանակման համար:
Այս նախկինումampԲացի այդ, STM32 սարքը խաղում է և՛ հեռավոր սերվերի (հեռավոր հոսթ) և՛ տեղային հոսթի դերը, որը միացված է STSAFE-A110 սարքին:
Այս օգտագործման դեպքի նպատակն է ցույց տալ, թե ինչպես կարելի է ընդհանուր գաղտնիք հաստատել տեղական հոսթի և հեռավոր սերվերի միջև՝ օգտագործելով էլիպսային կորի Diffie-Hellman սխեման STSAFE-A110-ում ստատիկ (ECDH) կամ ժամանակավոր (ECDHE) բանալիով:
Համօգտագործվող գաղտնիքը պետք է հետագայում ածանցվի մեկ կամ մի քանի աշխատանքային ստեղներով (այստեղ պատկերված չէ): Այս աշխատանքային ստեղները կարող են օգտագործվել հաղորդակցության արձանագրություններում, ինչպիսին է TLS-ը, օրինակampՏեղական հոսթի և հեռավոր սերվերի միջև փոխանակվող տվյալների գաղտնիությունը, ամբողջականությունը և իսկությունը պաշտպանելու համար:
Հրամանի հոսք
Նկար 7. Հիմնական հաստատման հրամանների հոսքը ցույց է տալիս հրամանների հոսքը:
·
Հեռավոր հաղորդավարի անձնական և հանրային բանալիները կոշտ կոդավորված են նախկին կոդի մեջampլե.
·
Տեղական հոսթն ուղարկում է StSafeA_GenerateKeyPair հրամանը STSAFE-A110՝ ստեղծելու համար
բանալիների զույգ իր ժամանակավոր բնիկում (անցք 0xFF):
·
STSAFE-A110-ը հետ է ուղարկում հանրային բանալին (որը համապատասխանում է 0xFF բնիկին) STM32-ին (ներկայացնում է
հեռավոր հյուրընկալող):
·
STM32-ը հաշվարկում է հեռավոր հոսթի գաղտնիքը (օգտագործելով STSAFE սարքի հանրային բանալին և հեռակառավարիչը
հյուրընկալողի անձնական բանալին):
·
STM32-ն ուղարկում է հեռավոր հոսթի հանրային բանալին STSAFE-A110 և խնդրում է STSAFE-A110-ին.
հաշվարկեք տեղական հյուրընկալողի գաղտնիքը՝ օգտագործելով StSafeA_EstablishKey API-ն:
·
STSAFE-A110-ը ետ է ուղարկում տեղի հաղորդավարի գաղտնիքը STM32-ին:
·
STM32-ը համեմատում է երկու գաղտնիքները և տպում արդյունքը: Եթե գաղտնիքները նույնն են, ապա գաղտնիքը
հիմնադրումը հաջողված է.
UM2646 – Rev 4
էջ 15/23
Նկար 7. Բանալին հաստատման հրամանների հոսք
UM2646
Ցուցադրական ծրագիր
Հեռավոր հյուրընկալող
STM32
Տեղական հոսթինգ
STSAFE
Հեռակա հոսթի գաղտնիքի հաշվարկ (օգտագործելով հեռահաղորդավարի անձնական բանալի և տեղական հոսթի (STSAFE բնիկ 0xFF) հանրային բանալին)
Հեռավոր հաղորդավարի գաղտնիքը
Ստեղծեք հիմնական զույգ
Ստեղծեք բանալիների զույգ 0xFF բնիկում
STSAFE-ի հանրային բանալին ստեղծվել է
Ստեղծվել է STSAFE-ի հանրային բանալին
բնիկ 0xFF
Հեռակա հոսթի հանրային բանալին
STM32-ը համեմատում է հեռակառավարվող հաղորդավարի գաղտնիքը
տեղական հյուրընկալող գաղտնիքը և տպում է արդյունքը
Ստեղծել բանալի (հեռավոր հյուրընկալողի հանրային բանալին)
Ուղարկելով տեղի հաղորդավարի գաղտնիքը
Տեղական հաղորդավարի գաղտնիքի հաշվարկ (օգտագործելով տեղական հաղորդավարի մասնավոր բանալին (STSAFE բնիկ 0xFF) և հեռավոր հոսթի հանրային բանալին)
Տեղական հաղորդավարի գաղտնիքը
4.4
Նշում.
4.5
Փաթաթել/փաթաթել տեղական ծրարները
Այս ցուցադրումը ցույց է տալիս այն դեպքը, երբ STSAFE-A110-ը փաթաթում/փաթաթում է տեղային ծրարը, որպեսզի ապահով կերպով պահի որևէ ոչ անկայուն հիշողության (NVM) գաղտնիքը: Գաղտնագրման/վերծանման բանալիները կարող են ապահով կերպով պահվել լրացուցիչ հիշողության մեջ կամ STSAFEA110-ի օգտագործողի տվյալների հիշողության մեջ: Փաթաթման մեխանիզմը օգտագործվում է գաղտնի կամ պարզ տեքստը պաշտպանելու համար: Փաթաթման արդյունքը ծրար է, որը ծածկագրված է AES բանալիների փաթաթման ալգորիթմով, և որը պարունակում է պաշտպանվող բանալին կամ պարզ տեքստ:
Հրամանի հոսք
Տեղական և հեռավոր հոսթերն այստեղ նույն սարքն են: 1. Ստեղծեք պատահական տվյալներ՝ ձուլված տեղական ծրարին: 2. Փաթաթեք տեղային ծրարը՝ օգտագործելով STSAFE-A110-ի միջին ծրագիրը: 3. Պահպանեք փաթաթված ծրարը: 4. Փաթաթեք փաթաթված ծրարը՝ օգտագործելով STSAFE-A110-ի միջին ծրագիրը: 5. Համեմատեք չփաթաթված ծրարը նախնական տեղական ծրարի հետ: Նրանք պետք է հավասար լինեն:
Բանալի զույգերի սերունդ
Այս ցուցադրումը ցույց է տալիս հրամանների հոսքը, որտեղ STSAFE-A110 սարքը տեղադրված է տեղական հոսթի վրա: Հեռավոր հոսթն այս տեղական հոսթին խնդրում է ստեղծել բանալիների զույգ (մասնավոր բանալի և հանրային բանալի) 1-ին բնիկում և այնուհետև ստորագրել մարտահրավեր (պատահական համար) ստեղծված մասնավոր բանալիով:
Հեռավոր հոսթն այնուհետև կարող է ստուգել ստորագրությունը ստեղծված հանրային բանալիով:
Այս ցուցադրումը նման է վավերացման ցուցադրմանը երկու տարբերությամբ.
·
Նույնականացման ցուցադրման բանալիների զույգն արդեն ստեղծվել է (0 բնիկում), մինչդեռ այս նախկինումampլե,
մենք ստեղծում ենք բանալիների զույգ 1 բնիկում: STSAFE-A110 սարքը կարող է նաև ստեղծել բանալիների զույգ 0xFF բնիկում,
բայց միայն հիմնական հաստատության նպատակների համար:
·
Authentication ցուցադրման հանրային բանալին հանվում է 0 գոտու վկայականից
example, հանրային բանալին հետ է ուղարկվում STSAFE-A110-ի պատասխանին
StSafeA_GenerateKeyPair հրամանը:
UM2646 – Rev 4
էջ 16/23
UM2646
Ցուցադրական ծրագիր
Նշում.
Հրամանի հոսք
Ցուցադրական նպատակների համար այստեղ տեղական և հեռավոր հոսթերը նույն սարքն են: 1. Հոսթն ուղարկում է StSafeA_GenerateKeyPair հրամանը STSAFE-A110, որը հետ է ուղարկում
հյուրընկալող MCU-ի հանրային բանալին: 2. Հոսթն առաջացնում է մարտահրավեր (48 բայթ պատահական թիվ) StSafeA_GenerateRandom API-ի միջոցով: Այն
STSAFE-A110-ը հետ է ուղարկում ստեղծված պատահական համարը: 3. Հոսթավարը հաշվարկում է գեներացված համարի հեշը՝ օգտագործելով գաղտնագրային գրադարանը: 4. Հյուրընկալը խնդրում է STSAFE-A110-ին ստեղծել հաշվարկված հեշի ստորագրություն՝ օգտագործելով
StSafeA_GenerateSignature API: STSAFE-A110-ը հետ է ուղարկում ստեղծված ստորագրությունը:
5. Հոսթավարը ստուգում է ստեղծված ստորագրությունը STSAFE-A110-ի կողմից 1-ին քայլում ուղարկված հանրային բանալիով: 6. Ստորագրության ստուգման արդյունքը տպագրվում է:
UM2646 – Rev 4
էջ 17/23
UM2646
Վերանայման պատմություն
Աղյուսակ 6. Փաստաթղթերի վերանայման պատմություն
Ամսաթիվ
Վերանայման
Փոփոխություններ
09-Դեկ-2019
1
Նախնական թողարկում.
13-Հունվար-2020
2
Հեռացվել է Լիցենզիայի տեղեկատվության բաժինը:
Ներածությունում ցուցադրական կոդերով պատկերված հատկանիշների թարմացված ցանկը: Հեռացվել է հապավումների ցանկը և վերջում զետեղված բառարանը:
Տեքստի փոքր փոփոխություն և թարմացված գույներ Նկար 1-ում: STSAFE-A1xx ճարտարապետություն:
Թարմացված Նկար 2. STSAFE-A1xx կիրառման բլոկային դիագրամ:
Թարմացված Աղյուսակ 1. CORE մոդուլի արտահանված API:
07-Փետրվար-2022
3
StSafeA_InitHASH-ը և StSafeA_ComputeHASH-ը հեռացվեցին Աղյուսակ 4-ից: CRYPTO մոդուլը արտահանեց API-ներ:
Թարմացված Բաժին 3.8.2. Կազմաձևման քայլեր:
Թարմացվել է Բաժին 4.2. Զուգավորում:
Թարմացված Բաժին 4.3. Բանալի հաստատում (սահմանել գաղտնիքը):
Ավելացվեց Բաժին 4.5. Հիմնական զույգերի ստեղծում:
Տեքստի փոքր փոփոխություններ:
Ավելացված STSAFE-A1xx ծրագրային փաթեթը ինտեգրված է X-CUBE-SAFEA1 v1.2.1-ում որպես միջին ծրագիր
և այն ինտեգրված է որպես BSP STM32CubeMX ծրագրային փաթեթի համար: և վերը նշված կաղապարները
07-մար-2024
4
առկա են միայն X-CUBE-SAFEA1 փաթեթի BSP թղթապանակում:
Թարմացված Բաժին 3.1. Ընդհանուր նկարագրություն, Բաժին 3.2. Ճարտարապետություն և Բաժին 3.7. Թղթապանակի կառուցվածքը:
UM2646 – Rev 4
էջ 18/23
Բառարան
AES Ընդլայնված գաղտնագրման ստանդարտ ANSI Ամերիկյան ազգային ստանդարտների ինստիտուտ API Հավելվածի ծրագրավորման միջերես BSP Board աջակցության փաթեթ CA Certification Authority CC Ընդհանուր չափանիշներ C-MAC Հրամանի հաղորդագրության նույնականացման կոդը ECC էլիպսական կորի գաղտնագրում ECDH էլիպսային կորի DiffieHellman ECDHE Էլիպսային կորի DiffieHellman ECDHE Էլիպսային կորի DiffieHellman-ի համար DiffieHellman. Arm® HAL Սարքավորումների աբստրակցիոն շերտ I/O Մուտք/ելք IAR Systems® Համաշխարհային առաջատար ծրագրային գործիքների և ծառայությունների ներդրված համակարգերի մշակման համար: IDE Ինտեգրված զարգացման միջավայր: Ծրագրային հավելված, որը համակարգչային ծրագրավորողներին տրամադրում է համապարփակ հնարավորություններ ծրագրային ապահովման մշակման համար: IoT իրերի ինտերնետ I²C Միջինտեգրված միացում (IIC) LL Ցածր մակարդակի դրայվերներ MAC Հաղորդագրության նույնականացման կոդը MCU Միկրոկտրոլերի միավոր MDK-ARM Keil® միկրոկառավարիչի մշակման հավաքածու Arm® MPU Հիշողության պաշտպանության միավորի համար NVM Ոչ անկայուն հիշողություն
OS Օպերացիոն համակարգ SE Secure տարր SHA Secure Hash ալգորիթմ SLA Ծրագրային ապահովման լիցենզիայի պայմանագիր ST STMicroelectronics TLS Տրանսպորտային շերտի անվտանգություն USB Ունիվերսալ սերիական ավտոբուս
UM2646
Բառարան
UM2646 – Rev 4
էջ 19/23
UM2646
Բովանդակություն
Բովանդակություն
1 Ընդհանուր տեղեկություններ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 2 STSAFE-A110 անվտանգ տարր: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 STSAFE-A1xx միջին ծրագրի նկարագրությունը: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Ընդհանուր նկարագրություն. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Ճարտարապետություն. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3 CORE մոդուլ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 ԾԱՌԱՅՈՒԹՅՈՒՆ մոդուլ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5 CRYPTO մոդուլ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.6 Կաղապարներ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.7 Թղթապանակի կառուցվածքը. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.8 Ինչպես. ինտեգրում և կազմաձևում: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.8.1 Ինտեգրման քայլեր: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.8.2 Կազմաձևման քայլեր: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Ցուցադրական ծրագիր. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.1 Նույնականացում . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Զուգավորում . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3 Հիմնական հաստատում (սահմանել գաղտնիք) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.4 Փաթաթել/բացել տեղական ծրարները: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.5 Բանալի զույգերի առաջացում: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Վերանայման պատմություն. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Աղյուսակների ցանկ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Թվերի ցանկ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
UM2646 – Rev 4
էջ 20/23
UM2646
Սեղանների ցանկ
Սեղանների ցանկ
Աղյուսակ 1. Աղյուսակ 2. Աղյուսակ 3. Աղյուսակ 4. Աղյուսակ 5. Աղյուսակ 6.
CORE մոդուլի արտահանված API: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Արտահանված STSAFE-A110 CORE մոդուլի API-ներ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 SERVICE մոդուլի արտահանված API-ներ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 CRYPTO մոդուլի արտահանված API-ներ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Կաղապարներ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Փաստաթղթերի վերանայման պատմություն: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
UM2646 – Rev 4
էջ 21/23
UM2646
Ֆիգուրների ցանկ
Ֆիգուրների ցանկ
Նկար 1. Նկար 2. Նկար 3. Նկար 4. Նկար 5. Նկար 6. Նկար 7:
STSAFE-A1xx ճարտարապետություն. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 STSAFE-A1xx կիրառման բլոկային դիագրամ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 CORE մոդուլի ճարտարապետություն: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 SERVICE մոդուլի ճարտարապետություն: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 CRYPTO մոդուլի ճարտարապետություն: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Նախագիծ file կառուցվածքը. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Հիմնական հաստատության հրամանների հոսք: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
UM2646 – Rev 4
էջ 22/23
UM2646
ԿԱՐԵՎՈՐ ԾԱՆՈՒՑՈՒՄ ՈՒՇԱԴՐՈՒԹՅԱՄԲ ԿԱՐԴԱՑԵՔ STMicroelectronics NV-ն և նրա դուստր ձեռնարկությունները («ST») իրավունք են վերապահում փոփոխություններ, ուղղումներ, բարելավումներ, փոփոխություններ և բարելավումներ կատարել ST արտադրանքներում և/կամ սույն փաստաթղթում ցանկացած ժամանակ առանց ծանուցման: Գնորդները պետք է ստանան ST ապրանքների վերաբերյալ վերջին համապատասխան տեղեկատվությունը, նախքան պատվերներ տեղադրելը: ST ապրանքները վաճառվում են ST-ի վաճառքի պայմանների և պայմանների համաձայն, որոնք գործում են պատվերի հաստատման պահին: Գնորդները բացառապես պատասխանատու են ST ապրանքների ընտրության, ընտրության և օգտագործման համար, և ST-ն պատասխանատվություն չի կրում դիմումների աջակցության կամ գնորդների արտադրանքի ձևավորման համար: Սույնով ST-ի կողմից որևէ մտավոր սեփականության իրավունքի բացահայտ կամ ենթադրյալ լիցենզիա չի տրվում: ST արտադրանքի վերավաճառք՝ սույն հոդվածում նշված տեղեկատվությունից տարբերվող դրույթներով, անվավեր է դարձնում ST-ի կողմից նման արտադրանքի համար տրված ցանկացած երաշխիք: ST-ը և ST լոգոն ST-ի ապրանքային նշաններն են: ST ապրանքանիշերի մասին լրացուցիչ տեղեկությունների համար այցելեք www.st.com/trademarks: Բոլոր այլ ապրանքների կամ ծառայությունների անվանումները իրենց համապատասխան սեփականատերերի սեփականությունն են: Այս փաստաթղթի տեղեկատվությունը փոխարինում և փոխարինում է այս փաստաթղթի ցանկացած նախկին տարբերակներում նախկինում տրված տեղեկատվությանը:
© 2024 STMicroelectronics Բոլոր իրավունքները պաշտպանված են
UM2646 – Rev 4
էջ 23/23
Փաստաթղթեր / ռեսուրսներ
![]() |
STMicroelectronics X-CUBE-SAFEA1 Ծրագրային փաթեթ [pdf] Օգտագործողի ուղեցույց STSAFE-A100, STSAFE-A110, X-CUBE-SAFEA1 Ծրագրային փաթեթ, X-CUBE-SAFEA1, Ծրագրային փաթեթ, Փաթեթ |




