Solving Common Security Problems

The following are examples of how trusted services can solve common device security problems.

Protecting IoT device identity

During the provisioning process, an IoT device is assigned a secure identity that consists of a public/private key pair and a CA signed certificate that includes the public key. The device is also provisioned with the public key corresponding to the cloud service that it will operate with. The provisioned material is used whenever a device connects to the cloud during the authentication process. To prevent the possibility of device cloning or unauthorized transfer to a different cloud service, all provisioned material must be held in secure storage and access to the private key must be prevented. To achieve this, the certificate verification and nonce signing performed during the TLS handshake is performed by the Crypto trusted service that performs the operations without exposing the private key.

Protecting Software Updates

To ensure that software updates applied to a device originate from a legitimate source, update packages are signed. A signed package will include a signature block that includes a hash of the package contents within the signed data. During the update process, a device will verify the signature using a provisioned public key that corresponds to the signing key used by the update originator. By holding the public key in secure storage and performing the signature verification using the Crypto service, unauthorized modification of the update source is prevented.

Secure Logging

A managed IoT device will often be configured by an installation engineer who has physical access to the device. To allow a cloud operator to audit configuration changes, it is necessary to keep a log of configuration steps performed by the installation engineer. To avoid the possibility of fraudulent modification of the audit log, a device signs log data using a device unique key-pair. The public key corresponding to the signing private key may be retrieved by the cloud operator to allow the log to be verified. To protect the signing key, the Crypto service is used for signing log records.


Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.

SPDX-License-Identifier: BSD-3-Clause