skills/smithery.ai/Hardware Rooted Identity

Hardware Rooted Identity

SKILL.md

Hardware Rooted Identity

Skill Profile

(Select at least one profile to enable specific modules)

  • DevOps
  • Backend
  • Frontend
  • AI-RAG
  • Security Critical

Overview

Hardware Rooted Identity establishes device identity through cryptographic keys stored in secure hardware elements (TPM, SE, HSM). This provides tamper-resistant device authentication, secure key storage, and prevents device impersonation in IoT deployments.

Why This Matters

  • :
  • :
  • :

Core Concepts & Rules

1. Core Principles

  • Follow established patterns and conventions
  • Maintain consistency across codebase
  • Document decisions and trade-offs

2. Implementation Guidelines

  • Start with the simplest viable solution
  • Iterate based on feedback and requirements
  • Test thoroughly before deployment

Inputs / Outputs / Contracts

  • Inputs:
    • <e.g., env vars, request payload, file paths, schema>
  • Entry Conditions:
    • <Pre-requisites: e.g., Repo initialized, DB running, specific branch checked out>
  • Outputs:
    • <e.g., artifacts (PR diff, docs, tests, dashboard JSON)>
  • Artifacts Required (Deliverables):
    • <e.g., Code Diff, Unit Tests, Migration Script, API Docs>
  • Acceptance Evidence:
    • <e.g., Test Report (screenshot/log), Benchmark Result, Security Scan Report>
  • Success Criteria:
    • <e.g., p95 < 300ms, coverage ≥ 80%>

Skill Composition

  • Depends on: security
  • Compatible with: None
  • Conflicts with: None
  • Related Skills: authn, authz

Quick Start

  1. Install dependencies:

    pip install cryptography pyserial
    
  2. Initialize secure element:

    se = SecureElementManager(
        element_type=SecureElementType.ATECC608A,
        interface="i2c"
    )
    
  3. Generate key pair:

    public_key, key_handle = se.generate_key_pair(
        key_type=KeyType.ECC,
        key_id="device-001"
    )
    
  4. Sign data:

    signature = se.sign_data(data, key_handle)
    

Assumptions / Constraints / Non-goals

  • Assumptions:
    • Development environment is properly configured
    • Required dependencies are available
    • Team has basic understanding of domain
  • Constraints:
    • Must follow existing codebase conventions
    • Time and resource limitations
    • Compatibility requirements
  • Non-goals:
    • This skill does not cover edge cases outside scope
    • Not a replacement for formal training

Compatibility & Prerequisites

  • Supported Versions:
    • Python 3.8+
    • Node.js 16+
    • Modern browsers (Chrome, Firefox, Safari, Edge)
  • Required AI Tools:
    • Code editor (VS Code recommended)
    • Testing framework appropriate for language
    • Version control (Git)
  • Dependencies:
    • Language-specific package manager
    • Build tools
    • Testing libraries
  • Environment Setup:
    • .env.example keys: API_KEY, DATABASE_URL (no values)

Test Scenario Matrix (QA Strategy)

Type Focus Area Required Scenarios / Mocks
Unit Core Logic Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage
Integration DB / API All external API calls or database connections must be mocked during unit tests
E2E User Journey Critical user flows to test
Performance Latency / Load Benchmark requirements
Security Vuln / Auth SAST/DAST or dependency audit
Frontend UX / A11y Accessibility checklist (WCAG), Performance Budget (Lighthouse score)

Technical Guardrails & Security Threat Model

1. Security & Privacy (Threat Model)

  • Top Threats: Injection attacks, authentication bypass, data exposure
  • Data Handling: Sanitize all user inputs to prevent Injection attacks. Never log raw PII
  • Secrets Management: No hardcoded API keys. Use Env Vars/Secrets Manager
  • Authorization: Validate user permissions before state changes

2. Performance & Resources

  • Execution Efficiency: Consider time complexity for algorithms
  • Memory Management: Use streams/pagination for large data
  • Resource Cleanup: Close DB connections/file handlers in finally blocks

3. Architecture & Scalability

  • Design Pattern: Follow SOLID principles, use Dependency Injection
  • Modularity: Decouple logic from UI/Frameworks

4. Observability & Reliability

  • Logging Standards: Structured JSON, include trace IDs request_id
  • Metrics: Track error_rate, latency, queue_depth
  • Error Handling: Standardized error codes, no bare except
  • Observability Artifacts:
    • Log Fields: timestamp, level, message, request_id
    • Metrics: request_count, error_count, response_time
    • Dashboards/Alerts: High Error Rate > 5%

Agent Directives & Error Recovery

(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)

  • Thinking Process: Analyze root cause before fixing. Do not brute-force.
  • Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
  • Self-Review: Check against Guardrails & Anti-patterns before finalizing.
  • Output Constraints: Output ONLY the modified code block. Do not explain unless asked.

Definition of Done (DoD) Checklist

  • Tests passed + coverage met
  • Lint/Typecheck passed
  • Logging/Metrics/Trace implemented
  • Security checks passed
  • Documentation/Changelog updated
  • Accessibility/Performance requirements met (if frontend)

Anti-patterns

  1. Software-Based Keys: Storing keys in software

    • Why it's bad: Keys can be extracted, devices can be cloned
    • Solution: Use hardware secure elements
  2. No Certificate Validation: Accepting any certificate

    • Why it's bad: Allows unauthorized devices
    • Solution: Implement proper certificate validation
  3. No Key Rotation: Using same keys indefinitely

    • Why it's bad: Increases exposure if keys are compromised
    • Solution: Implement regular key rotation
  4. No Attestation: Not verifying device integrity

    • Why it's bad: Compromised devices can authenticate
    • Solution: Implement device attestation

Reference Links & Examples

  • Internal documentation and examples
  • Official documentation and best practices
  • Community resources and discussions

Versioning & Changelog

  • Version: 1.0.0
  • Changelog:
    • 2026-02-22: Initial version with complete template structure
Weekly Installs
0
First Seen
Jan 1, 1970