Back to Resources
White Paper

Secure Firmware OTA Updates: Architecture & Best Practices

Design patterns and implementation strategies for secure over-the-air firmware updates in IoT and embedded vision devices.

SECUTRONIC Engineering
October 25, 2024
30 min read
OTASecurityFirmwareUpdates

The Importance of Secure OTA Updates

Over-the-air (OTA) firmware updates are essential for maintaining security, adding features, and fixing bugs in deployed devices. However, insecure update mechanisms are a primary attack vector for IoT compromises.

Threat Model

OTA systems must protect against multiple attack vectors:

  • Man-in-the-middle: Intercepting and modifying firmware during transit
  • Rollback attacks: Installing older, vulnerable firmware versions
  • Denial of service: Preventing legitimate updates from being applied
  • Firmware extraction: Reverse engineering proprietary algorithms
  • Supply chain attacks: Compromising the build or signing infrastructure

Architecture Components

Update Server Infrastructure

The backend infrastructure must provide secure, scalable firmware distribution:

  • Firmware repository with version management
  • Code signing service with HSM-protected keys
  • CDN for global distribution and availability
  • Device registry for targeted rollouts
  • Telemetry collection for update status monitoring

Device Client Components

Edge devices require robust client-side implementation:

ComponentResponsibility
Update AgentDownload management, verification, installation
BootloaderImage selection, rollback, secure boot
Partition ManagerA/B partition handling, atomic updates
State MachineUpdate lifecycle, error recovery

A/B Partition Scheme

The A/B (seamless) update scheme ensures devices remain operational even if an update fails:

text
Partition Layout:
+------------------+
|    Bootloader    |  (protected, rarely updated)
+------------------+
|   Boot Config    |  (partition selection, boot count)
+------------------+
|   System A       |  (active or inactive)
+------------------+
|   System B       |  (active or inactive)
+------------------+
|   User Data      |  (persistent across updates)
+------------------+

Implement a boot counter that automatically rolls back after 3 failed boot attempts. This ensures bricked devices can recover without manual intervention.

Cryptographic Security

Firmware Signing

All firmware images must be cryptographically signed:

  • Use ECDSA P-384 or RSA-4096 for code signing
  • Include version number in signed metadata to prevent rollback
  • Sign individual components, not just the whole image
  • Implement certificate chain validation
  • Support key rotation without bricking devices

Transport Security

Firmware downloads must use encrypted channels:

text
Security Requirements:
- TLS 1.3 with certificate pinning
- Server certificate validation against embedded CA
- Optional client certificate authentication
- Resume support for unreliable connections
- Integrity verification before starting installation

Update Process Flow

A typical secure OTA update follows this workflow:

  • 1. Device checks for updates (polling or push notification)
  • 2. Server responds with available version and metadata
  • 3. Device downloads firmware to inactive partition
  • 4. Device verifies signature and version constraints
  • 5. Device marks new partition as pending
  • 6. Device reboots into new firmware
  • 7. New firmware validates itself and marks update complete
  • 8. Device reports success to server

Rollout Strategies

Gradual rollouts reduce risk of widespread issues:

StrategyDescriptionUse Case
Canary1% of devices firstHigh-risk changes
Staged10%, 25%, 50%, 100%Standard releases
TargetedSpecific device groupsBeta testing
EmergencyImmediate 100%Critical security fixes

Monitoring and Telemetry

Comprehensive monitoring is essential for managing device fleets:

  • Update success/failure rates by firmware version
  • Download completion statistics
  • Average update duration
  • Rollback frequency and causes
  • Device connectivity patterns

Implement automatic rollout pause if failure rate exceeds 5%. This prevents cascading failures across the device fleet.

Conclusion

Secure OTA updates are a critical capability for modern embedded devices. By implementing proper cryptographic signing, A/B partitions, and gradual rollouts, organizations can maintain their device fleets securely while minimizing risk of update-related outages.

Published by

SECUTRONIC Engineering

Contact Our Team