Tropicsquare
Česká společnost (člen skupiny SatoshiLabs [groups]) – dodavatel polovodičů, který vyvíjí auditovatelné obvody, odolné proti neoprávněné manipulaci – bezpečnostní prvky pro IoT, hardwarové kryptopeněženky, digitální identitu a zabezpečenou decentralizovanou infrastrukturu.

Stavíme bezpečnost na transparentnosti a spolupráci. Naše čipy jsou auditovatelné a testované zákazníky, odborníky a open-source komunitou, aby byla zajištěna ověřitelná důvěra a spolehlivost. Ve věrnosti transparentnosti poskytujeme úplné zveřejnění nezávislých testovacích výsledků, aby si je mohl kdokoli ověřit sám. Naším cílem je podporovat inovace díky otevřenému přístupu, abychom mohli dodávat bezpečná řešení, jako je TROPIC01 – bezpečnostní prvek pro aplikace, kde je bezpečnost nepodkročitelným požadavkem.
TROPIC01

TROPIC01 je bezpečnostní prvek s otevřenou architekturou, který slouží jako základní bezpečnostní komponenta pro vestavěné systémy – poskytuje hardwarový „kořen důvěry“ (Root of Trust) k zajištění bezpečnosti.
Uvnitř svého zabezpečeného prostředí umožňuje TROPIC01 správu kryptografických klíčů, digitální identitu a bezpečné ukládání dat pro kritické aplikace.
TROPIC01 nabízí transparentnost díky zpřístupnění detailů bezpečnostního designu, zdrojových souborů a dokumentace pro nezávislý bezpečnostní audit.
Použití tohoto bezpečnostního prvku umožňuje implementaci funkcí, jako je bezpečné spouštění (secure boot), aktualizace firmwaru, správa klíčů a identita zařízení.
PUF (Fyzikálně neklonovatelná funkce) je technologie využívající přirozené fyzické variace v polovodičových součástkách k vytvoření jedinečných a nepředvídatelných hodnot (klíčů). Funguje jako hardwarová identita, kterou nelze snadno duplikovat ani odhadnout.
Security Highlights
Tamper Resistance
- Voltage glitch detector
- Temperature detector
- Electromagnetic pulse detector
- Laser detector
- Active shield
Cryptographic Accelerators - Elliptic curve cryptography
- Ed25519 EdDSA signing
- P-256 ECDSA signing
- Diffie-Hellman X25519 key exchange
- Keccak based PIN authentication engine
- SHA256 and SHA512
- AES256-GCM
- ISAP
Entropy Source - Physically Unclonable Function (PUF)
- True Random Number Generator (TRNG)
Features
Onchip RISC-V IBEX Controller Core
- Secure Firmware (FW) update
- Customizable FW upon request
Memory - OTP to store x.509 certificate and keys
- Flash to store general purpose and PIN
verification data - Memory address scrambling
- On-the-fly encryption
- Error correction code protection
Communication Interface - SPI application control
- Encrypted channel with forward secrecy
Integration Support - SW driver for the external host to
communicate with TROPIC01 - SDK available
přehled základních příkazů API TROPIC01 spolu se stručným popisem, rozdělených do dvou kategorií – příkazy na L2 úrovni (pro základní komunikaci a správu) a příkazy na L3 úrovni (pro konkrétní operace a konfiguraci):
L2 příkazy (Request/Response rámce):
• Get_Info_Req – Příkaz pro získání informací o zařízení (např. X.509 certifikát, chip ID nebo verze firmware).
• Handshake_Req – Inicializace zabezpečeného kanálu výměnou klíčů mezi host MCU a TROPIC01.
• Encrypted_Cmd_Req – Odeslání zašifrovaného L3 příkazu přes navázaný zabezpečený kanál.
• Encrypted_Session_Abt – Ukončení aktuálního zabezpečeného kanálu (abort – přechod do režimu Idle).
• Resend_Req – Požadavek na opětovné zaslání poslední odpovědi.
• Sleep_Req – Příkaz k uvedení TROPIC01 do režimu spánku nebo hlubokého spánku.
• Startup_Req – Resetování zařízení (běžný restart nebo maintenance reboot pro start-up režim).
• Mutable_FW_Update_Req – Aktualizace mutable firmware (pouze ve start-up módu).
• Mutable_FW_Erase_Req – Vymazání mutable firmware (pouze ve start-up módu).
• Get_Log_Req – Získání logovacích dat běžícího firmware na RISCV CPU.
L3 příkazy (Command/Result pakety):
• Ping – Testovací příkaz pro ověření komunikace; vrací zpět zaslaná data (echo).
• Pairing_Key_Write – Zápis veřejného klíče do určeného slotu pro párování.
• Pairing_Key_Read – Čtení veřejného klíče z vybraného párovacího slotu.
• Pairing_Key_Invalidate – Invalidační příkaz, který vymaže uložený párovací klíč.
• R_Config_Write – Zápis konfigurační hodnoty do paměti R-Config.
• R_Config_Read – Čtení konfigurační hodnoty z paměti R-Config.
• R_Config_Erase – Vymazání celé R-Config (reset do výchozího stavu).
• I_Config_Write – Jednosměrný zápis (přechod z 1 na 0) jednoho bitu v I-Config.
• I_Config_Read – Čtení hodnoty z I-Config paměti.
• R_Mem_Data_Write – Zápis dat do uživatelské části paměti R-Memory.
• R_Mem_Data_Read – Čtení dat z uživatelské části paměti R-Memory.
• R_Mem_Data_Erase – Vymazání datového slotu v R-Memory.
• Random_Value_Get – Získání náhodných čísel generovaných TRNG.
• ECC_Key_Generate – Generování ECC klíče a jeho uložení do vybraného slotu.
• ECC_Key_Store – Uložení ECC klíče do slotu (import již existujícího klíče).
• ECC_Key_Read – Čtení veřejného ECC klíče z určeného slotu.
• ECC_Key_Erase – Vymazání ECC klíče ze slotu.
• ECDSA_Sign – Podepsání hashe zprávy pomocí ECDSA algoritmu.
• EDDSA_Sign – Podepsání zprávy pomocí EdDSA algoritmu.
• MCounter_Init – Inicializace monotónního čítače na zadanou hodnotu.
• MCounter_Update – Aktualizace (dekrementace) monotónního čítače.
• MCounter_Get – Získání aktuální hodnoty monotónního čítače.
• MAC_And_Destroy – Vykonání sekvence MAC-and-Destroy pro zajištění integrity dat.
• Serial_Code_Get – Získání unikátního identifikátoru čipu.
github.com/octopusengine/tropic01_examples | github.com/petrkr/pytropicsquare/tree/develop
crackstation.net/ | CyberChef | onetimesecret.com | https://cyphr.me/