将设备连接到云
在设备上存储安全信息(如密码或证书)可能会使设备容易遭受攻击。 密码泄露无疑会危及设备或整个系统的安全。 在 Windows 系列中,支持操作系统安全的技术是受信任的平台模块。
受信任的平台模块 (TPM) 设备是一种可以存储数据和执行计算的微控制器。 它可以是焊接到计算机主板上的离散芯片,也可以是制造商集成到片上系统 (SoC) 中的模块。
在 TPM 内部
TPM 的一项重要功能是它的只写内存。 基于其中的数据,TPM 还可以根据该数据计算加密哈希值(例如 HMAC)。 在给定哈希值的情况下,不可能发现机密,但如果通信的双方都知道该机密,则可以确定从另一方收到的哈希值是否根据该机密产生。
使用加密密钥的基本思路:机密(也称为共享访问密钥)在设备预配过程中建立并在 IoT 设备和云之间共享。 从此时开始,将使用从机密派生的 HMAC 对 IoT 设备进行身份验证。
设备预配
适用于 Windows 10 IoT 核心版设备的预配工具称为 IoT 核心版仪表板,可轻松下载和配置。
仪表板会生成操作系统映像,并将设备安全连接到 Azure。 这通过将物理设备与 Azure IoT 中心中的设备 ID 相关联并将设备特定的共享访问密钥印到设备的 TPM 来完成。
对于没有 TPM 芯片的设备,该工具可以安装软件模拟的 TPM。 这并不提供安全性,但允许你使用制造商设备开发应用(例如 Raspberry Pi 2 或 3),并在具有硬件 TPM 的设备上“点亮”安全性,而无需更改应用。
要将设备连接到 Azure,请单击“连接到 Azure”选项卡:
系统将要求你登录到 Azure 帐户。 选取所需的 Azure IoT 中心实例,并将你的物理设备与它相关联。 如果 Azure 订阅中没有任何 IoT 中心实例,则该工具将允许你创建一个免费的实例。
选择要与设备关联的 IoT 中心和设备 ID 后,可将该设备的共享访问密钥印在 TPM 上:
设备现在可以通过安全方式连接到 Azure。
还可以在 Windows 设备门户进行预配后首次连接到 Internet 时,使用它来动态获取 IoT 中心连接字符串。 这可以通过设备门户中的“Azure 客户端”选项卡完成。