Skip to content

Commit c42c006

Browse files
committed
further updates
1 parent 238aa6f commit c42c006

File tree

1 file changed

+20
-29
lines changed

1 file changed

+20
-29
lines changed

articles/iot-dps/concepts-device-oem-security-practices.md

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.custom: iot-p0-scenario, iot-devices-deviceOEM
1212
# ms.reviewer: MSFT-alias-of-reviewer
1313
---
1414
# Security practices for Azure IoT device manufacturers
15-
As more manufacturers release IoT devices, the Azure IoT Hub Device Provisioning Service (DPS) team has provided guidance on security practices. This articles overviews recommended security practices to consider when you manufacture devices for use with DPS.
15+
As more manufacturers release IoT devices, the Azure IoT Hub Device Provisioning Service (DPS) team has provided guidance on security practices. This article overviews recommended security practices to consider when you manufacture devices for use with DPS.
1616

1717
> [!div class="checklist"]
1818
> * Integrating a Trusted Platform Module (TPM) into the manufacturing process
@@ -111,42 +111,31 @@ If you use pre-loaded certificates with an HSM, the process is simplified. After
111111

112112
If you don't use a pre-loaded certificate, you must install the certificate as part of your production process. The simplest approach is to install the certificate with the initial firmware image. Your process must add a step to install the image on each device. After this step, you can run final quality checks and any other steps, before you package and ship the device.
113113

114-
> [!TIP]
115-
> There are software tools available that let you run the installation process and final quality check in a single step. You can modify these tools to generate a certificate, or to pull a certificate from a pre-generated certificate store. Then the software can install the certificate where you need to install it. Software tools of this type enable you to run production quality manufacturing at scale.
114+
There are software tools available that let you run the installation process and final quality check in a single step. You can modify these tools to generate a certificate, or to pull a certificate from a pre-generated certificate store. Then the software can install the certificate where you need to install it. Software tools of this type enable you to run production quality manufacturing at scale.
116115

117116
If you need help installing certificates in your IoT devices, please contact the Microsoft security auditor program. After you have certificates installed on your devices, the next step is to learn how to enroll the devices with DPS.
118117

119118
## Selecting device authentication options
120119
The ultimate aim of any IoT device security measure is to create a secure IoT solution. But issues such as hardware limitations, cost, and level of security expertise, all impact which options you choose. Further, your approach to security impacts how your IoT devices connect to the cloud. While there are [several elements of IoT security](https://www.microsoft.com/research/publication/seven-properties-highly-secure-devices/) to consider, a key element that every customer encounters is what authentication type to use.
121120

122-
Three authentication types are widely used with Azure IoT Hub, and Azure IoT Hub DPS.
121+
Three authentication types commonly used with IoT solutions are X.509 certificate, Trusted Platform Module (TPM), and symmetric key. While other authentication types exist, most customers building solutions on Azure IoT Hub and DPS use one of these three types. The rest of this article surveys the pros and cons of using each authentication type with IoT devices.
123122

124-
Azure IoT published a whitepaper about evaluating your IoT security, and we also offer the Security Program for Azure IoT. This security program helps you find the right security auditor for your situation and who can help you figure out how much security you need for your solution. These companies are experts at evaluating IoT security; if you have any in-depth questions around security, I highly recommend you give them a try. You can also learn about how to select secure hardware in this blog post "Whitepaper: Selecting the right secure hardware for your IoT deployment" or in the accompanying whitepaper.
123+
### X.509 certificate
124+
X.509 certificates are a type of digital identity you can use for authentication. The X.509 certificate standard is documented in [IETF RFC 5280](https://tools.ietf.org/html/rfc5280). In Azure IoT, there are two ways to authenticate certificates:
125+
- Thumbprint. A thumbprint algorithm is run on a certificate to generate a hexadecimal string. The generated string is a unique identifer or thumbprint for the certificate.
126+
- CA authentication based on a full chain. A certificate chain is a hierarchical list of all certificates needed to authenticate an end-entity (EE) certificate. To authenticate an EE certificate, it's necessary to authenticate each certificate in the chain including a trusted root CA.
125127

126-
This blog post is not a replacement for a security audit, and it is not meant as a recommendation for any specific form of security. I want you all to be as secure as possible and cannot in good conscience recommend anything less. Take this blog post as a lay of the land to help you understand at a high level what all is possible, and what you should keep in mind as you embark on your IoT security journey. Remember: when in doubt, find an expert.
127-
X.509 certificates
128+
Pros for X.509:
129+
- The most secure key type supported in Azure IoT
130+
- Allows a high level of control for purposes of certificate management
131+
- Many vendors are available to provide X.509 based authentication solutions
128132

129-
X.509 certificates are a type of digital identity that is standardized in IETF RFC 5280. If you have the time and inclination, I recommend reading the RFC to learn about what makes X.509 certificates useful in IoT scenarios. Learn about installing certs in devices.
130-
131-
There are several ways certificates can be authenticated:
132-
133-
Thumbprint: A hex string uniquely identifying a cert generated by running a thumbprint algorithm on the cert.
134-
CA authentication based on a full chain: Ensuring the certificate chain was signed by a trusted signer somewhere in the cert.
135-
136-
Pros
137-
138-
Most secure key type supported in Azure IoT.
139-
It allows lots of control around management.
140-
There are lots of vendor options.
141-
142-
Cons
143-
144-
Many customers rely on external vendors for certificates.
145-
Management comes at a price, adding to the overall solution cost.
146-
Lifecycle management can be a challenge due to the logistical complexities involved.
147-
148-
Trusted Platform Module (TPM)
133+
Cons for X.509:
134+
- Many customers must rely on external vendors for their certificates
135+
- Certificate management can be costly and adds to total solution cost
136+
- Certificate life cycle management can be difficult due to the logistical complexity
149137

138+
### Trusted Platform Module (TPM)
150139
TPM can refer to a standard for securely storing keys used to authenticate the platform, or it can refer to the I/O interface used to interact with the modules implementing the standard. TPMs can exist as discrete hardware, integrated hardware, firmware-based modules, or software-based modules. Some of the key differences between TPMs and symmetric keys (discussed below) are that:
151140

152141
TPM chips can also store X.509 certificates.
@@ -165,8 +154,7 @@ Cons
165154
May require board re-design to include in hardware.
166155
You can't roll the EK without essentially destroying the identity of the chip and giving it a new one. It's like if you had a clone, your clone would have the same physical characteristics as you but they are ultimately a different person. Although the physical chip stays the same, it has a new identity in your IoT solution.
167156

168-
Symmetric key
169-
157+
### Symmetric key
170158
A symmetric key is known to both the device and the service, and the key is used to both encrypt and decrypt messages sent between parties. Azure IoT supports SAS token-based symmetric key connections. The best way to protect symmetric keys is via a hardware security module.
171159
Pros
172160

@@ -196,5 +184,8 @@ Making the right choice for your devices
196184

197185
You have to evaluate your specific risks and benefits to make your IoT authentication decision. This blog post is too short to cover everything, but Azure IoT offers the Security Program for Azure IoT if you need help making this decision. You can also read our whitepaper about evaluating your IoT security to learn more about your options.
198186

187+
> [!NOTE]
188+
> Azure IoT provides additional resources to help create secure deployments. The team published a set of [security recommendations](../iot-fundamentals/security-recommendations.md) to guide the deployment process. The [Azure Security Center](https://azure.microsoft.com/services/security-center/) offers a service to help create secure IoT deployments. For help evaluating your hardware environment, see the whitepaper [Evaluating your IoT Security](https://download.microsoft.com/download/D/3/9/D3948E3C-D5DC-474E-B22F-81BA8ED7A446/Evaluating_Your_IOT_Security_whitepaper_EN_US.pdf). For help with selecting secure hardware, see [The Right Secure Hardware for your IoT Deployment](https://download.microsoft.com/download/C/0/5/C05276D6-E602-4BB1-98A4-C29C88E57566/The_right_secure_hardware_for_your_IoT_deployment_EN_US.pdf).
189+
199190
## Next steps
200191
To learn how several manufacturers have implemented security practices into their process for Azure IoT devices, see the case studies at [IoT Hub Device reprovisioning concepts](concepts-device-reprovision.md).

0 commit comments

Comments
 (0)