LOGO X-CUBE

Gói phần mềm X-CUBE-STSE01

Gói phần mềm X-CUBE-STSE (4)

Giới thiệu

Hướng dẫn sử dụng này mô tả cách bắt đầu sử dụng gói phần mềm X-CUBE-STSE01.
Gói phần mềm X-CUBE-STSE01 là một thành phần phần mềm cung cấp một số mã trình diễn sử dụng các tính năng của thiết bị STSAFE-A110 và STSAFE-A120 từ bộ vi điều khiển chủ.
Các mã trình diễn này sử dụng STSELib (phần mềm trung gian bảo mật) được xây dựng trên công nghệ phần mềm STM32Cube để dễ dàng di chuyển giữa các bộ vi điều khiển STM32 khác nhau. Ngoài ra, nó không phụ thuộc vào MCU nên có thể di chuyển sang các MCU khác.
Các mã trình diễn này minh họa các tính năng sau:

  • Xác thực.
  • Lưu trữ dữ liệu an toàn.
  • Bộ đếm sử dụng an toàn.
  • Ghép nối.
  • Thiết lập khóa.
  • Dịch vụ đóng gói phong bì địa phương.
  • Tạo cặp khóa.

Thông tin chung

  • Gói phần mềm X-CUBE-STSE01 là tài liệu tham khảo để tích hợp các dịch vụ phần tử bảo mật STSAFE-A110 và STSAFE-A120 vào hệ điều hành (OS) của MCU máy chủ và ứng dụng của nó.
  • Nó chứa trình điều khiển STSAFE-A110 và STSAFE-A120 cùng các mã trình diễn sẽ được thực thi trên bộ vi điều khiển STM32 32-bit dựa trên bộ xử lý Arm® Cortex®-M.
  • Arm là thương hiệu đã đăng ký của Arm Limited (hoặc các công ty con của công ty này) tại Hoa Kỳ và / hoặc các nơi khác.
  • Gói phần mềm X-CUBE-STSE01 được phát triển theo chuẩn ANSI C. Tuy nhiên, kiến ​​trúc độc lập với nền tảng cho phép dễ dàng chuyển đổi sang nhiều nền tảng khác nhau.
  • Bảng dưới đây trình bày định nghĩa của các từ viết tắt có liên quan để hiểu rõ hơn về tài liệu này.

Phần tử bảo mật STSAFE-A1x0

STSAFE-A110 và STSAFE-A120 là giải pháp bảo mật cao, hoạt động như một thành phần bảo mật cung cấp dịch vụ xác thực và quản lý dữ liệu cho máy chủ cục bộ hoặc từ xa. Giải pháp này bao gồm một giải pháp trọn gói với hệ điều hành bảo mật chạy trên thế hệ vi điều khiển bảo mật mới nhất.
STSAFE-A110 và STSAFE-A120 có thể được tích hợp vào các thiết bị IoT (Internet vạn vật), nhà thông minh, thành phố thông minh và các ứng dụng công nghiệp, thiết bị điện tử tiêu dùng, vật tư tiêu hao và phụ kiện. Các tính năng chính của nó bao gồm:

  • Xác thực (các thiết bị ngoại vi, IoT và USB Type-C®).
  • Thiết lập kênh an toàn với máy chủ từ xa bao gồm bắt tay bảo mật lớp truyền tải (TLS).
  • Dịch vụ xác minh chữ ký (khởi động an toàn và nâng cấp chương trình cơ sở).
  • Theo dõi mức sử dụng bằng bộ đếm an toàn.
  • Ghép nối và bảo mật kênh với bộ xử lý ứng dụng máy chủ.
  • Đóng gói và mở gói thư của máy chủ cục bộ hoặc từ xa.
  • Tạo cặp khóa trên chip.

Mô tả Thư viện STSecureElement (STSELib)

Phần này trình bày chi tiết nội dung gói phần mềm trung gian STSELib và cách sử dụng nó.

Mô tả chung

Phần mềm trung gian STSELib là một tập hợp các thành phần phần mềm được thiết kế để:

  • kết nối thiết bị phần tử bảo mật STSAFE-A110 và STSAFE-A120 với MCU.
  • triển khai các trường hợp sử dụng STSAFE-A110 và STSAFE-A120 chung nhất.
  • Phần mềm trung gian STSELib được tích hợp hoàn toàn trong các gói phần mềm ST như một thành phần trung gian để bổ sung các tính năng bảo mật.
  • Phần mềm trung gian STSELib cung cấp một bộ đầy đủ các hàm Giao diện Lập trình Ứng dụng (API) cấp cao cho nhà phát triển hệ thống nhúng. Phần mềm trung gian này tóm tắt quá trình xây dựng và sắp xếp các lệnh cần thiết để đảm bảo bảo vệ thiết bị, phụ kiện và thương hiệu tiêu hao bằng cách sử dụng họ phần tử bảo mật STMicroelectronics STSAFE-A.
  • Phần mềm trung gian này cho phép tích hợp liền mạch một hoặc nhiều STSAFE-A trong nhiều hệ sinh thái MCU/MPU máy chủ khác nhau.
  • Tham khảo ghi chú phát hành có sẵn trong thư mục gốc của gói để biết thông tin về các phiên bản IDE được hỗ trợ.

Ngành kiến ​​​​trúc
Phần mềm trung gian STSELib bao gồm ba mô-đun phần mềm như minh họa trong hình bên dưới. Mỗi lớp cung cấp một mức độ trừu tượng hóa hệ thống khác nhau cho nhà phát triển hệ thống nhúng.

Gói phần mềm X-CUBE-STSE (2)

Hình bên dưới hiển thị phần mềm trung gian STSELib được tích hợp trong ứng dụng STM32Cube chuẩn, chạy trên bo mạch mở rộng X-NUCLEO-SAFEA1 hoặc X-NUCLEO-ESE01A1 được gắn trên bo mạch STM32 Nucleo.

Hình 2. Sơ đồ khối ứng dụng X-CUBE-STSE01

Gói phần mềm X-CUBE-STSE (3)

Để cung cấp phần cứng và nền tảng độc lập tốt nhất, phần mềm trung gian STSELib không được kết nối trực tiếp với STM32Cube HAL, mà thông qua giao diện fileđược triển khai ở cấp độ ứng dụng

  • Lớp Giao diện lập trình ứng dụng (API)
    Lớp phần mềm này là điểm khởi đầu cho ứng dụng hệ thống. Nó cung cấp một tập hợp các hàm cấp cao cho phép tương tác với các thành phần bảo mật STMicroelectronics. Lớp API cung cấp khả năng trừu tượng hóa cho các ứng dụng khác nhau như Quản lý thành phần bảo mật, Xác thực, Lưu trữ dữ liệu, Quản lý khóa.
  • Lớp dịch vụ
    Lớp DỊCH VỤ cung cấp một tập hợp các dịch vụ sản phẩm định dạng tất cả các lệnh được phần tử bảo mật mục tiêu hỗ trợ và báo cáo phản hồi cho các lớp API/Ứng dụng cao hơn. Lớp này có thể được sử dụng trực tiếp từ Ứng dụng (dành cho người dùng nâng cao).
  • Lớp lõi
    Bao gồm định nghĩa chung cho ST Secure Element và các chức năng để giao tiếp với phần tử bảo mật mục tiêu.
    Lớp lõi xử lý việc đóng khung các thông điệp cũng như cung cấp nền tảng trừu tượng cho các lớp trên.

Cấu trúc thư mục
Hình bên dưới trình bày cấu trúc thư mục của X-CUBE-STSE01.

Gói phần mềm X-CUBE-STSE (4)

Phần mềm trình diễn

Phần này minh họa phần mềm trình diễn dựa trên phần mềm trung gian STSELib.

Xác thực
Bản trình bày này minh họa luồng lệnh trong đó STSAFE-A110/STSAFE-A120 được gắn trên thiết bị xác thực với máy chủ từ xa (trường hợp thiết bị IoT), máy chủ cục bộ được sử dụng làm phương tiện chuyển tiếp đến máy chủ từ xa.
Kịch bản trong đó STSAFE-A110/STSAFE-A120 được gắn trên thiết bị ngoại vi xác thực với máy chủ cục bộ, ví dụamptập tin dành cho trò chơi, phụ kiện di động hoặc vật tư tiêu hao hoàn toàn giống nhau.
Để minh họa, máy chủ cục bộ và máy chủ từ xa là cùng một thiết bị.

  1. Trích xuất, phân tích và xác minh chứng chỉ công khai của STSAFE-A110/ STSAFE-A120 được lưu trữ trong vùng phân vùng dữ liệu 0 của thiết bị để lấy khóa công khai:
    • Đọc chứng chỉ bằng phần mềm trung gian STSELib thông qua vùng 0 của STSAFE-A110/STSAFE-A120.
    • Phân tích chứng chỉ bằng trình phân tích của thư viện mật mã.
    • Đọc chứng chỉ CA (có sẵn thông qua mã).
    • Phân tích chứng chỉ CA bằng trình phân tích của thư viện mật mã.
    • Xác minh tính hợp lệ của chứng chỉ bằng chứng chỉ CA thông qua thư viện mật mã.
    • Lấy khóa công khai từ chứng chỉ STSAFE-A110/STSAFE-A120 X.509.
  2. Tạo và xác minh chữ ký trên số thử thách:
    • Tạo một số thử thách (số ngẫu nhiên).
    • Giải quyết thử thách.
    • Lấy chữ ký qua thử thách băm bằng cách sử dụng khe khóa riêng STSAFE-A110/ STSAFE-A120 0 thông qua phần mềm trung gian STSELib.
    • Phân tích chữ ký được tạo ra bằng thư viện mật mã.
    • Xác minh chữ ký được tạo bằng khóa công khai của STSAFE-A110/STSAFE-A120 thông qua thư viện mật mã.
    • Khi điều này hợp lệ, máy chủ sẽ biết rằng thiết bị ngoại vi hoặc IoT là chính hãng.

Ghép nối (Cung cấp khóa máy chủ)
Mã này cũample thiết lập ghép nối giữa thiết bị và MCU mà nó được kết nối. Việc ghép nối này cho phép xác thực (tức là ký và xác minh) các trao đổi giữa thiết bị và MCU. Thiết bị STSAFE-A110 chỉ có thể sử dụng được khi kết hợp với MCU mà nó được ghép nối.
Quá trình ghép nối bao gồm MCU chủ gửi khóa MAC chủ và khóa mã chủ đến STSAFE-A110. Cả hai khóa đều được lưu trữ trong NVM được bảo vệ của STSAFE-A110 và phải được lưu trữ trong bộ nhớ flash của thiết bị STM32.
Theo mặc định, trong ví dụ nàyample, MCU chủ sẽ gửi các khóa đã biết đến STSAFE-A110 (xem luồng lệnh bên dưới) được khuyến nghị sử dụng cho mục đích trình diễn. Mã này cũng cho phép tạo các khóa ngẫu nhiên.
Hơn nữa, mã example tạo khóa phong bì cục bộ khi khe tương ứng chưa được lắp đặt trong STSAFE-A110. Khi khe phong bì cục bộ đã được lắp đặt, thiết bị STSAFE-A110 cho phép MCU chủ đóng gói/mở phong bì cục bộ để lưu trữ khóa an toàn trên phía MCU chủ.
Lưu ý: Mã ghép nối examptập tin phải được thực thi thành công trước khi thực thi tất cả đoạn mã sauampđồng nghiệp.

Dòng lệnh

  1. Tạo khóa phong bì cục bộ trong STSAFE-A110 bằng phần mềm trung gian STSELib.
    Theo mặc định, lệnh này được kích hoạt
    Thao tác này chỉ xảy ra nếu khe khóa phong bì cục bộ của STSAFE-A110 chưa được lắp đặt.
  2. Xác định hai số 128 bit để sử dụng làm khóa MAC máy chủ và khóa mã máy chủ.
    Theo mặc định, các khóa Golden Known được sử dụng. Chúng có các giá trị sau:
    • Khóa MAC của máy chủ
      0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF
    • Khóa mã hóa máy chủ 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF
  3. Lưu trữ khóa MAC máy chủ và khóa mã máy chủ vào khe tương ứng trong STSAFE-A110/STSAFE-A120.
  4. Lưu trữ khóa MAC máy chủ và khóa mã máy chủ vào bộ nhớ flash của STM32.

Thiết lập khóa (Khóa đối xứng AES-128 CMAC)
Phần trình diễn này minh họa trường hợp thiết bị STSAFE-A110 được gắn trên một thiết bị (chẳng hạn như thiết bị IoT), giao tiếp với máy chủ từ xa và cần thiết lập kênh bảo mật để trao đổi dữ liệu với nó.
Trong ví dụ nàyample, thiết bị STM32 đóng vai trò vừa là máy chủ từ xa (máy chủ từ xa) vừa là máy chủ cục bộ được kết nối với thiết bị STSAFE-A110.
Mục tiêu của trường hợp sử dụng này là chỉ ra cách thiết lập bí mật chung giữa máy chủ cục bộ và máy chủ từ xa bằng cách sử dụng lược đồ đường cong elliptic Diffie-Hellman với khóa tĩnh (ECDH) hoặc khóa tạm thời (ECDHE) trong STSAFE-A110
Bí mật chung phải được rút ra từ một hoặc nhiều khóa đang hoạt động (không được minh họa ở đây). Sau đó, các phím làm việc này có thể được sử dụng trong các giao thức truyền thông như TLS, ví dụ:amptập tin để bảo vệ tính bí mật, tính toàn vẹn và tính xác thực của dữ liệu được trao đổi giữa máy chủ cục bộ và máy chủ từ xa.

Dòng lệnh
Hình 4. Luồng lệnh thiết lập khóa minh họa luồng lệnh:

  • Khóa riêng tư và khóa công khai của máy chủ từ xa được mã hóa cứng trong mã examplà.
  • Máy chủ cục bộ gửi lệnh Generate Keypair đến STSAFE-A110/STSAFE-A120 để tạo cặp khóa trên khe tạm thời của nó (khe 0xFF).
  • STSAFE-A110 gửi lại khóa công khai (tương ứng với khe 0xFF) cho STM32 (đại diện cho máy chủ từ xa).
  • STM32 tính toán bí mật của máy chủ từ xa (sử dụng khóa công khai của thiết bị STSAFE và khóa riêng của máy chủ từ xa).
  • STM32 gửi khóa công khai của máy chủ từ xa đến STSAFE-A110/STSAFE-A120 và yêu cầu STSAFE-A110/STSAFE-A120 tính toán bí mật của máy chủ cục bộ bằng API.
  • STSAFE-A110/ STSAFE-A120 gửi lại bí mật của máy chủ cục bộ cho STM32.
  • STM32 so sánh hai mã bí mật và in ra kết quả. Nếu hai mã bí mật giống nhau, việc thiết lập mã bí mật đã thành công.

Gói phần mềm X-CUBE-STSE (1)

Bọc/mở phong bì địa phương

  • Bản trình diễn này minh họa trường hợp STSAFE-A110/STSAFE-A120 đóng/mở lớp vỏ cục bộ để lưu trữ an toàn bí mật vào bất kỳ bộ nhớ không bay hơi (NVM) nào.
  • Khóa mã hóa/giải mã có thể được lưu trữ an toàn theo cách đó vào bộ nhớ bổ sung hoặc trong bộ nhớ dữ liệu người dùng của STSAFE-A110/STSAFE-A120.
  • Cơ chế đóng gói được sử dụng để bảo vệ văn bản bí mật hoặc văn bản thuần túy. Đầu ra của quá trình đóng gói là một phong bì được mã hóa bằng thuật toán đóng gói khóa AES, chứa khóa hoặc văn bản thuần túy cần được bảo vệ. Luồng lệnh
  • Máy chủ cục bộ và máy chủ từ xa đều là cùng một thiết bị.
  1. Tạo dữ liệu ngẫu nhiên được đồng hóa với một phong bì cục bộ.
  2. Bao bọc phong bì cục bộ bằng API phần mềm trung gian STSELib.
  3. Cất giữ phong bì đã gói.
  4.  Mở phong bì đã được gói bằng phần mềm trung gian STSELIB.
  5.  So sánh phong bì chưa mở với phong bì địa phương ban đầu. Chúng phải bằng nhau.

Tạo cặp khóa
Bản demo này minh họa luồng lệnh trong đó thiết bị STSAFE-A110/STSAFE-A120 được gắn trên máy chủ cục bộ. Máy chủ từ xa yêu cầu máy chủ cục bộ này tạo một cặp khóa (khóa riêng và khóa công khai) trên khe 1, sau đó ký một thử thách (số ngẫu nhiên) bằng khóa riêng đã tạo.
Máy chủ từ xa sau đó có thể xác minh chữ ký bằng khóa chung được tạo.
Phần trình diễn này tương tự như phần trình diễn Xác thực với hai điểm khác biệt:

  • Cặp khóa trong phần trình diễn Xác thực đã được tạo (trên khe 0), trong khi đó, ở ví dụ nàyample, chúng tôi tạo cặp khóa trên khe 1. Thiết bị STSAFE-A110/STSAFE-A120 cũng có thể tạo cặp khóa trên khe 0xFF, nhưng chỉ dành cho mục đích thiết lập khóa.
  • Khóa công khai trong bản trình diễn Xác thực được trích xuất từ ​​chứng chỉ trong vùng 0. Trong ví dụ nàyample, khóa công khai được gửi lại cùng với phản hồi STSAFE-A110/STSAFE-A120 cho lệnh Generate Keypair.

Dòng lệnh
Để minh họa, máy chủ cục bộ và máy chủ từ xa là cùng một thiết bị.

  1. Máy chủ gửi lệnh Generate Keypair đến STSAFE-A110/STSAFE-A120 để gửi lại khóa công khai cho MCU máy chủ.
  2. Máy chủ tạo một thử thách (số ngẫu nhiên 48 byte) bằng API Tạo Ngẫu nhiên. STSAFE-A110 sẽ gửi lại số ngẫu nhiên đã tạo.
  3. Máy chủ tính toán hàm băm của số được tạo ra bằng cách sử dụng thư viện mật mã.
  4. Máy chủ yêu cầu STSAFE-A110/STSAFE-A120 tạo chữ ký của hàm băm được tính toán bằng cách sử dụng
    API Tạo Chữ ký. STSAFE-A110/STSAFE-A120 gửi lại chữ ký đã tạo.
  5. Máy chủ xác minh chữ ký được tạo bằng khóa công khai do STSAFE-A110/STSAFE-A120 gửi ở bước 1.
  6. Kết quả xác minh chữ ký sẽ được in ra.

Thuật ngữ

Viết tắt Nghĩa
Tiếng Việt Tiêu chuẩn mã hóa nâng cao
Tiêu chuẩn ANSI Viện Tiêu chuẩn Quốc gia Hoa Kỳ
Giao diện lập trình ứng dụng (API) Giao diện lập trình ứng dụng
BSP Gói hỗ trợ hội đồng quản trị
CA Cơ quan cấp chứng nhận
CC Tiêu chuẩn chung
C-MÁY TÍNH Mã xác thực tin nhắn lệnh
ECC Mật mã đường cong Elliptic
PTDH Đường cong Elliptic Diffie–Hellman
ECDHE Đường cong Elliptic Diffie–Hellman – phù du
EWARM IAR Embedded Workbench® cho Arm®
HAL Lớp trừu tượng phần cứng
Đầu vào/Đầu ra Đầu vào/đầu ra
Hệ thống IAR® Công ty hàng đầu thế giới về công cụ phần mềm và dịch vụ phát triển hệ thống nhúng.
Ý TƯỞNG Môi trường phát triển tích hợp. Một ứng dụng phần mềm cung cấp các tiện ích toàn diện cho các lập trình viên máy tính để phát triển phần mềm.
Internet vạn vật Internet vạn vật
Tôi²C Mạch tích hợp liên thông (IIC)
LL Trình điều khiển cấp thấp
MÁY TÍNH Mã xác thực tin nhắn
Vũ trụ Bộ vi điều khiển
MDK-ARM Bộ phát triển vi điều khiển Keil® cho Arm®
MPU Bộ nhớ bảo vệ
NVM Bộ nhớ không bay hơi
OS Hệ điều hành
SE yếu tố an toàn
SỬA CHỮA Thuật toán băm an toàn
SLA Thoả thuận cấp phép phần mềm
ST STMicroelectronics
TLS Bảo mật lớp vận chuyển
USB Bus tuần tự phổ quát

Lịch sử sửa đổi

Ngày Ôn tập Thay đổi
23-2025-XNUMX 1 Phiên bản phát hành đầu tiên.

THÔNG BÁO QUAN TRỌNG – ĐỌC KỸ

  • STMicroelectronics NV và các công ty con (“ST”) có quyền thực hiện các thay đổi, chỉnh sửa, cải tiến, sửa đổi và cải thiện đối với các sản phẩm ST và/hoặc tài liệu này bất kỳ lúc nào mà không cần thông báo. Người mua nên tìm hiểu thông tin mới nhất có liên quan về các sản phẩm ST trước khi đặt hàng. Các sản phẩm ST được bán theo các điều khoản và điều kiện bán hàng của ST có hiệu lực tại thời điểm xác nhận đơn hàng.
  • Người mua chịu toàn bộ trách nhiệm về việc lựa chọn, cân nhắc và sử dụng các sản phẩm ST và ST không chịu trách nhiệm về việc hỗ trợ ứng dụng hoặc thiết kế các sản phẩm của người mua.
  • ST không cấp bất kỳ giấy phép nào, dù là rõ ràng hay ngụ ý, cho bất kỳ quyền sở hữu trí tuệ nào ở đây.
  • Việc bán lại các sản phẩm ST với các điều khoản khác với thông tin được nêu ở đây sẽ làm mất hiệu lực bất kỳ bảo hành nào mà ST cấp cho sản phẩm đó.
  • ST và logo ST là thương hiệu của ST. Để biết thêm thông tin về thương hiệu ST, hãy tham khảo www.st.com/trademarks. Tất cả tên sản phẩm hoặc dịch vụ khác là tài sản của chủ sở hữu tương ứng.
  • Thông tin trong tài liệu này thay thế và thay thế thông tin đã cung cấp trước đó trong bất kỳ phiên bản nào trước đây của tài liệu này.
  • © 2025 STMicroelectronics – Bảo lưu mọi quyền

Tài liệu / Tài nguyên

Gói phần mềm ST X-CUBE-STSE01 [tập tin pdf] Hướng dẫn sử dụng
Gói phần mềm X-CUBE-STSE01, Gói phần mềm, Phần mềm

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *