X-CUBE-SAFEA1 პროგრამული პაკეტი
სპეციფიკაციები
- პროდუქტის დასახელება: STSAFE-A110 Secure Element
- ვერსია: X-CUBE-SAFEA1 v1.2.1
- ინტეგრირებულია: STM32CubeMX პროგრამულ პაკეტში
- ძირითადი მახასიათებლები:
- უსაფრთხო არხის დაარსება დისტანციური მასპინძლის ჩათვლით
სატრანსპორტო ფენის უსაფრთხოების (TLS) ხელის ჩამორთმევა - ხელმოწერის გადამოწმების სერვისი (უსაფრთხო ჩატვირთვა და firmware
განახლება) - გამოყენების მონიტორინგი უსაფრთხო მრიცხველებით
- არხის დაწყვილება და უსაფრთხოება მასპინძელი აპლიკაციის პროცესორთან
- ლოკალური ან დისტანციური მასპინძლის კონვერტების შეფუთვა და ამოხსნა
- ჩიპზე გასაღების წყვილის გენერაცია
- უსაფრთხო არხის დაარსება დისტანციური მასპინძლის ჩათვლით
პროდუქტის გამოყენების ინსტრუქცია
1. ზოგადი ინფორმაცია
STSAFE-A110 უსაფრთხო ელემენტი შექმნილია იმისთვის, რომ უზრუნველყოს
ავთენტიფიკაციისა და მონაცემთა მართვის სერვისები ადგილობრივ ან დისტანციურზე
მასპინძლებს. იგი განკუთვნილია სხვადასხვა აპლიკაციებისთვის, როგორიცაა IoT მოწყობილობები,
ჭკვიანი სახლის სისტემები, სამრეწველო აპლიკაციები და სხვა.
2. დაწყება
STSAFE-A110 უსაფრთხო ელემენტის გამოყენების დასაწყებად:
- იხილეთ მონაცემთა ფურცელი, რომელიც ხელმისაწვდომია ოფიციალურ STSAFE-A110-ზე
web დეტალური ინფორმაციისთვის გვერდი. - ჩამოტვირთეთ STSAFE-A1xx შუა პროგრამული უზრუნველყოფის პაკეტი
STSAFE-A110 ინტერნეტ გვერდი ან STM32CubeMX. - უზრუნველყოს თავსებადობა მხარდაჭერილ IDE-ებთან, როგორიცაა STM32Cube IDE ან
სისტემის სამუშაო მაგიდა STM32-ისთვის.
3. Middleware აღწერა
3.1 ზოგადი აღწერა
STSAFE-A1xx შუალედური პროგრამა ხელს უწყობს მათ შორის ურთიერთქმედებას
უსაფრთხო ელემენტის მოწყობილობა და MCU, რომელიც საშუალებას იძლევა სხვადასხვა გამოყენების შემთხვევები.
ის ინტეგრირებულია ST პროგრამულ პაკეტებში უსაფრთხოების გასაძლიერებლად
თვისებები.
3.2 არქიტექტურა
შუა პროგრამა შედგება სხვადასხვა პროგრამული კომპონენტისგან,
მათ შორის:
- STSAFE-A1xx API (ძირითადი ინტერფეისი)
- CORE CRYPTO
- MbedTLS კრიპტოგრაფიული სერვისის ინტერფეისი SHA/AES
- აპარატურის სერვისის ინტერფეისი X-CUBECRYPTOLIB
ხშირად დასმული კითხვები (FAQ)
Q: სად ვიპოვო STSAFE-A110 მონაცემთა ფურცელი?
პასუხი: მონაცემთა ფურცელი ხელმისაწვდომია STSAFE-A110-ზე web გვერდისთვის
დამატებითი ინფორმაცია მოწყობილობაზე.
Q: რა არის მხარდაჭერილი ინტეგრირებული განვითარების გარემო
STSAFE-A1xx შუალედური პროგრამისთვის?
პასუხი: მხარდაჭერილი 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 ინტერნეტ გვერდიდან ინსტრუმენტების და პროგრამული უზრუნველყოფის ჩანართის მეშვეობით ან მისი ჩამოტვირთვა STM32CubeMX-დან.
პროგრამული უზრუნველყოფა მოწოდებულია წყაროს კოდის სახით ST პროგრამული უზრუნველყოფის სალიცენზიო ხელშეკრულებით (SLA0088) (დამატებითი ინფორმაციისთვის იხილეთ ლიცენზიის ინფორმაცია).
მხარდაჭერილია შემდეგი ინტეგრირებული განვითარების გარემო:
·
IAR Embedded Workbench® for Arm® (EWARM)
·
Keil® მიკროკონტროლერის განვითარების ნაკრები (MDK-ARM)
·
STM32Cube IDE (STM32CubeIDE)
·
სისტემის სამუშაო მაგიდა STM32-ისთვის (SW4STM32) მხარდაჭერილია მხოლოდ X-CUBE-SAFEA1 v1.2.1 პაკეტში
იხილეთ გამოშვების შენიშვნები, რომლებიც ხელმისაწვდომია პაკეტის root საქაღალდეში მხარდაჭერილი 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ს. The
შაბლონი 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 დოკუმენტაციას root საქაღალდეში (იხ. 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 შეკითხვის ბრძანება ლოკალური კონვერტის გასაღების ინფორმაციის მოსაპოვებლად (სლოტის ნომერი, ყოფნა და გასაღების სიგრძე) გასაღებების ხელმისაწვდომი სლოტებისთვის.
ლოკალური კონვერტის ბრძანებები
StSafeA_GenerateLocalEnvelopeKey გასაღების გენერირება ლოკალური კონვერტის გასაღების ჭრილში.
StSafeA_WrapLocalEnvelope მონაცემების (ჩვეულებრივ გასაღებების) შესაფუთად, რომლებსაც მთლიანად მართავს ჰოსტი, ლოკალური კონვერტის გასაღებით და [AES გასაღების შეფუთვა] ალგორითმით.
StSafeA_UnwrapLocalEnvelope ადგილობრივი კონვერტის გასახსნელად ადგილობრივი კონვერტის გასაღებით.
UM2646 - Rev 4
გვერდი 8/23
UM2646
STSAFE-A1xx შუა პროგრამის აღწერა
API კატეგორია
ბრძანების ავტორიზაციის კონფიგურაციის ბრძანება
ცხრილი 2. ექსპორტირებული STSAFE-A110 CORE მოდულის API-ები
ფუნქცია StSafeA_CommandAuthorizationConfigurationQuery შეკითხვის ბრძანება ბრძანებების წვდომის პირობების მოსაპოვებლად, კონფიგურირებადი წვდომის პირობებით.
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 დოკუმენტაციას root საქაღალდეში (იხ. STSAFE-A1xx_Middleware.chm file).
ცხრილი 3. SERVICE მოდულის ექსპორტირებული API
API კატეგორიის ინიციალიზაციის კონფიგურაცია
დაბალი დონის მუშაობის ფუნქციები
ფუნქცია
StSafeA_BSP_Init საკომუნიკაციო ავტობუსის და IO ქინძისთავების ინიციალიზაცია, რომელიც საჭიროა STSAFE-Axxx მოწყობილობის მუშაობისთვის.
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 დოკუმენტაციას root საქაღალდეში (იხ. STSAFE-A1xx_Middleware.chm file).
ცხრილი 4. CRYPTO მოდულის ექსპორტირებული API
API კატეგორია
ფუნქცია
StSafeA_ComputeCMAC CMAC მნიშვნელობის გამოსათვლელად. გამოიყენება მომზადებულ ბრძანებაზე.
StSafeA_ComputeRMAC RMAC მნიშვნელობის გამოსათვლელად. გამოიყენება მიღებულ პასუხზე.
StSafeA_DataEncryption კრიპტოგრაფიული 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 შუა პროგრამული უზრუნველყოფის პაკეტში არსებული შაბლონების დეტალური აღწერა.
ქვემოთ მოცემულ ცხრილში ჩამოთვლილი ყველა შაბლონი მოწოდებულია ინტერფეისის საქაღალდეში, რომელიც ხელმისაწვდომია Middleware პროგრამული პაკეტის root დონეზე.
შაბლონი files მოცემულია როგორც ყოფილიamples უნდა იყოს კოპირებული და მორგებული ზედა ფენებში, რათა მარტივად მოხდეს
STSAFE-A1xx შუალედური პროგრამის ინტეგრირება და კონფიგურაცია:
·
ინტერფეისის შაბლონი files უზრუნველყოფს ყოფილიamp__სუსტი ფუნქციების განხორციელება, შემოთავაზებული ცარიელი ან
ნაწილობრივ ცარიელი ფუნქციები შუა პროგრამის შიგნით. ისინი სწორად უნდა იყოს დანერგილი მომხმარებლის სივრცეში ან შიგნით
ზედა ფენები კრიპტოგრაფიული ბიბლიოთეკის და მომხმარებლის ტექნიკის არჩევანის მიხედვით.
·
კონფიგურაციის შაბლონი fileგთავაზობთ მარტივ გზას 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 შუალედური პროგრამის მიერ მოთხოვნილი კრიპტოგრაფიული სერვისების მხარდაჭერა და შემოთავაზებული STM32 კრიპტოგრაფიული ბიბლიოთეკის პროგრამული უზრუნველყოფის გაფართოებით 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-ზე (იხ. ბრძანების ნაკადი ქვემოთ), რომლებიც რეკომენდირებულია გამოიყენოთ საჩვენებელი მიზნებისთვის. კოდი ასევე იძლევა შემთხვევითი კლავიშების გენერირების საშუალებას. უფრო მეტიც, კოდი example ქმნის ლოკალური კონვერტის გასაღებს, როდესაც შესაბამისი სლოტი უკვე არ არის დასახლებული 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,0xAA,0xBB,0xCC,0xDD,0xEE,0xFF / * მასპინძელი MAC გასაღები */ 0x11,0, 11,0x22,0x22,0x33,0x33,0x44,0x44,0x55,0x55,0x66,0x66,0x77,0x77,0x88,0 / * ჰოსტის შიფრის გასაღები */
გასაღებების შემთხვევითი გენერირების გასააქტიურებლად, დაამატეთ შემდეგი define განცხადება pairing.c 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. გასაღების დაყენების ბრძანების ნაკადი ასახავს ბრძანების ნაკადს.
·
დისტანციური მასპინძლის პირადი და საჯარო გასაღებები მყარი კოდირებულია კოდში exampლე.
·
ლოკალური ჰოსტი აგზავნის 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,
მაგრამ მხოლოდ ძირითადი დაწესებულების მიზნებისთვის.
·
ავტორიზაციის დემონსტრირების საჯარო გასაღები ამოღებულია სერტიფიკატიდან 0 ზონაში
exampსაჯარო გასაღები იგზავნება უკან STSAFE-A110-ის პასუხით
ბრძანება StSafeA_GenerateKeyPair.
UM2646 - Rev 4
გვერდი 16/23
UM2646
სადემონსტრაციო პროგრამა
შენიშვნა:
ბრძანების ნაკადი
სადემონსტრაციო მიზნებისთვის, ადგილობრივი და დისტანციური მასპინძლები აქ იგივე მოწყობილობაა. 1. ჰოსტი აგზავნის ბრძანებას StSafeA_GenerateKeyPair-ზე STSAFE-A110, რომელიც აგზავნის უკან
მასპინძელი MCU-ის საჯარო გასაღები. 2. ჰოსტი წარმოქმნის გამოწვევას (48-ბაიტი შემთხვევითი რიცხვი) StSafeA_GenerateRandom API-ის გამოყენებით. The
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 სერტიფიცირების ორგანო CC საერთო კრიტერიუმები C-MAC ბრძანების შეტყობინების ავთენტიფიკაციის კოდი ECC ელიფსური მრუდის კრიპტოგრაფია ECDH ელიფსური მრუდი DiffieHellman ECDHE Elliptic curve DiffieHellman ECDHE Elliptic curve 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, პროგრამული პაკეტი, პაკეტი |