HSM
HSM software for Microsemi's Smartfusion2
Install / Use
/learn @DiogoParrinha/HSMREADME
Hardware Secure Module for Smartfusion2 FPGA
This is the work of my Master thesis in Electrical and Computer Engineering at Instituto Superior Técnico, Lisbon. The goal is develop a Hardware Secure Module on a non-volatile FPGA (in this case, the Smartfusion2 FPGA). The HSM works together with a Windows API which should be used by a developer to integrate the system into another software.
The system contains a root administrator who can manage users (add/delete/modify).
The following features are available:
- Administrator can generate assymetric key pair for a certain user (both are stored securely in an external flash)
- User can request data to be signed using its previously generated private key (ECDSA)
- Provide X.509v3 digital certificates of generated public keys (to anyone to requests)
- Issue X.509v3 digital certificates for a given public key (requested by an administrator)
- Log actions executed from a certain server (author|action|date) (another software can use this to ensure non-repudiation of executed actions by server administrators for example)
This system uses the mbedTLS library to perform algorithms such as ECDSA and ECDH. Because the Smartfusion2 ('S' models') provide Data Security features such as SHA-256, AES-256 and ECC, they are used to increase performance.
This repository contains two main folders: HSM and PC.
The HSM contains the software responsible for handling the Hardware Secure Module features, while the PC contains the PC driver that communicates with the device.
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
