促进物联网大规模供应

文章作者:Richard Elberger

无论您是想为物联网设计新设备还是改造现有设备,您都需要考虑物联网配置,这将带来物联网……

无论您是打算为物联网设计新设备还是改造现有设备,都需要考虑将物联网设备在线到云服务的物联网配置。物联网配置设计要求做出影响用户体验和网络调试和证书配置机制安全性的决策,这些机制配置数字身份、云端点和网络证书,以便设备可以安全地连接到云。

为了大规模地执行物联网供应,客户通常会构建和维护定制的工具和软件应用程序,这些工具和软件应用程序可以在跨越多个问题领域的设备支持的协议上推送所需的凭证。物联网配置领域包括:

  • 网络调试,为客户提供定义上下文具体参数的机制;
  • 凭证供应,为物理设备分配凭证和配置;和
  • 云发放,设置云侧配置数据,以实现认证、授权和设备管理。

所有这三个供应域必须和谐地工作,以获得壮观的客户用户体验。

例如,移动运营商在移动电话用户第一次连接时提供配置数据和策略设置。对于SIM卡代表设备身份的移动设备用户来说,这是一个简单且易于理解的过程,不需要花费太多时间。形势变得非常不同,对客户,特别是试图提供数百万物联网设备的原始设备制造商(oem)来说,具有挑战性。

通过本文,您将能够了解如何避免或减轻与您自己的物联网部署相关的风险,并通过简短的示例了解通过Amazon Web Services (AWS)等云平台提供的物联网服务如何帮助您实现物联网配置目标。

需要时网络调试的方法

最终,您的物联网设备将连接到作为物联网解决方案中心的中央服务并与之通信。要到达该集线器,您的物联网设备必须加入一个联网媒体。媒介可以是硬线,如以太网,或无线电传输,如Wi-Fi。根据媒介的不同,你需要一个人告诉设备它必须加入什么媒介才能成功到达中心。例如,使用蜂窝网络时,你不需要告诉设备要加入哪个网络,因为这已经由SIM卡定义了。另一方面,要加入Wi-Fi网络,你需要知道Wi-Fi接入点的名称和密码,并能够告诉设备这些细节。我们将重点讨论需要配置才能加入网络的设备。

客户一直在使用几种不同的机制来加入物联网网络。如今,几乎每个人都有智能手机,而且几乎每个智能手机都有蓝牙,因此通过蓝牙进行配置已经变得普遍。然而,这并不是唯一的联系方式。物联网设备上的一些Wi-Fi模块足够智能,可以自行成为接入点,在那里您可以开发一个简单的网页,允许用户输入更大的网络配置。对于非消费设备,通过串行或microSD配置仍然是常见的。在智能手机应用程序的帮助下配置蓝牙已经成为常态。这些智能手机应用程序还可以为设备云配置提供帮助,您将在本文后面发现这一点。

大规模设备凭据配置的方法

在整个行业中,设备凭证配置流程仍然是高度分散的,短期内看不到融合的趋势。大多数物联网集中系统强烈建议或要求传输层安全(TLS)1.2加密传输的连接,这是最近,也许是雄辩地,被称为加密传输。如今,大多数物联网部署使用公开密码匙基础建设因此本文的其余部分假设使用PKI。在任何情况下,每个设备都必须拥有自己的唯一标识私钥和证书。

要创建与云(或服务端点)的会话,TLS1.2需要私钥和x.509证书(或凭据)。注意:一些技术,如Java Web令牌,或JWT,也有类似的挑战,但这里不讨论。私钥就像你的DNA,应该只被个人设备知道,这意味着它不能与其他设备共享。x.509证书类似于驾照,是由可验证的证书颁发机构(CA)通过提供证书签名请求(CSR)颁发的。交付CSR与将你的出生证明连同指纹和其他通过考试的证明递交给你国家的护照签发机构并无太大区别。在本文中,我们将x.509证书称为凭据,并假设设备具有唯一的私钥。

TLS 1.2的细节超出了本文的范围,但我们只提供足够的信息,以便您能够理解为什么设备必须保护私钥。在TLS 1.2连接过程中,发生了一系列的交换,以证明设备是其身份私钥的所有者。您的设备必须证明它是试图用于身份验证的x.509证书的真正所有者。为了让物联网服务在您的设备连接时信任设备证书,您需要手边有该私钥。现在您可以意识到,如果一个坏的参与者掌握了密钥,安全模型就会崩溃。不惜一切代价,保护你的物联网城堡的钥匙!

与大多数部署物联网的人一样,您必须决定如何大规模提供这些凭证。简单回顾一下,每个设备必须具备:

  • 代表设备的唯一的、不可变的私钥。理想情况下,为了防止并行和其他高级攻击,私钥应该在物理上受到保护,并且不能加载到主程序内存中。
  • 与您的应用程序或物联网服务有关的证书。

物流在私钥和凭证供应的选择上有所不同,一些选择与云供应不相关,另一些选择依赖于云供应。

  • 集成电路安全模块(通常具有加密功能),可以是独立的,也可以参与系统包(SiP)、系统模块(SoM)或系统片上(SoC)设计,具有以下行为之一:
    • 一种安全模块,具有手动配置或自生成的私钥或信任根。
    • 除了前面的内容外,安全模块还提供了预先提供的x.509证书形式的凭据。
  • 用户身份识别模块(SIM)、嵌入式SIM (eSIM)和集成SIM (iSIM)技术提供硬件,设计人员将其用作与蜂窝网络通信的蜂窝身份。证书提供通常依赖于移动网络运营商(MNO)提供商、移动虚拟网络提供商(MVNO)或第三方。如果您正在使用蜂窝模块进行通信,这是您的选择。
  • 定制的、自动化的设备凭证配置到设备闪存段,该设备闪存段可能具有特殊的安全闪存,并在制造期间结合硬件安全模块(HSM)。
  • 为特殊的安全flash(或非安全flash,通常在原型制作期间,但不建议为机群配置)手动配置私钥和凭据。

由于密码要求,TLS 1.2的执行是一个计算密集型活动,这反过来会影响计算组件的选择,特别是在您的设计中使用微控制器时。专门的ic通常包括加密例程,它可以减少主机处理器对TLS 1.2操作的应用周期,同时确保私钥不会被加载到主内存中。

您对硬件采取的方法取决于您的硬件设计。为硬件设计选择优雅的解决方案当然可以简化大规模资源调配,但需要在硬件设计生命周期的早期选择组件,因为它会影响计算、加密模块、数学协同处理和闪存的其他组件设计选择。当然,对于大规模的设备,您不希望手动调配,而且趋势表明,从制造、操作和客户体验的角度来看,预调配的设备产生的摩擦最小。

物联网设备发放需要云和设备编排

成功的物联网设备资源调配需要云和设备资源调配协调,这将影响硬件和软件设计以及在设备生命周期内如何管理设备。

从物联网服务的角度来看,您需要一个与您的凭证设置选择相一致的流程来创建相关的配置对象。当设备连接到物联网服务时,物联网服务必须能够识别设备(身份验证)、启用特定设备操作(授权)以及在特定上下文中操作和管理设备(设备管理)。

为了进行认证,物联网服务需要拥有证书的指纹,因此当设备连接并发送证书给物联网服务时,物联网服务可以将物理连接与配置对象关联起来。对于AWS物联网,您需要注册您的证书,使物联网服务能够识别传入连接。TLS握手要求设备可以访问私钥(物联网服务不允许),以确保证书已经使用私钥从设备发送。这就是为什么保护设备上的私钥是如此重要。

为了获得授权,物联网服务必须对授予最小物联网服务访问权限的连接应用规则。最小物联网服务接入意味着设置限制设备仅使用其履行运营义务所需的资源。例如,AWS客户创建与凭据的配置对象相关的IoT策略。

对于设备管理,您需要将元数据应用到配置对象,以清晰地指定设备或船队的组或聚合。有了物联网,我们将需要管理数千、数万乃至数百万台设备。单独管理每个设备是不切实际的。提前计划将元数据应用到设备配置中,因为修改或重构可能会很痛苦。对于AWS物联网,您可以创建驱动物联网设备管理实践的物联网设备类型和物联网组配置对象。

大规模设备云供应的方法

不能这么说每一个在设备配置方面,物联网部署是不同的,但在硬件供应商、物联网应用程序和操作上下文之间存在足够的差异,以驱动一组健壮的机制,这些机制将影响您对正确机制的决策。一般来说,有三种方法:批量注册、按需注册和惰性注册。以下所有方法都要求每个物联网设备拥有或将拥有其自己的唯一私钥和证书对。

批量注册

通过批量注册,您希望向物联网服务注册的凭据集在设备部署到现场之前就知道了。一旦获得了凭据列表,您就可以将凭据传送到批量注册过程。批量注册流程注册凭据,然后还将凭据与用于管理物联网车队的物联网服务中的相关管理对象进行协调。批量注册可能需要定制,但物联网服务提供商通常为客户提供批量注册流程。例如,AWS提供AWS物联网批量注册流程作为AWS物联网核心服务的一部分,并使用AWS SDK。一个开放源码项目ThingPress处理特定的导入用例。

按需登记

通过按需设备注册,在设备部署到现场之前,您不知道具有配对凭据的物理设备集。将设备部署到现场后,您将打开设备电源。通过按需连接,连接子例程确定对凭证颁发者的引用是否已在IoT服务中注册。只要物联网服务有一个强大的机制来验证您是否确实是发卡机构的所有者,这意味着您手头有发卡机构身份(在PKI中,是发卡机构的私钥),您就可以放心发卡机构提供了凭证。然后,子例程自动注册凭证并创建相关的管理对象。例如,AWS有两种按需设备注册机制,名为即时资源调配(JITP)使用配置模板和Just-In-Time-Registration (JITR)这提供了可以完全定制的机制。

懒惰的登记

使用延迟注册,在部署到现场之前,物理设备集和配对凭据都不为人所知。在这种情况下,设备具有已知的、不可变的标识(通常是受保护的私钥),IoT服务可以确认该标识,而无需将私钥传输到设备之外。

如今,有三种惰性注册机制:按声明、按授权移动设备和按授权身份列表。在第一种情况下,设备将声明发送给凭证颁发者,颁发者使用令牌进行响应,并且设备使用令牌进行直接web服务API调用以颁发证书。在第二种情况下,设备与移动电话协同工作,其中移动电话使用移动凭证,如用户名和密码,发卡机构使用令牌进行响应,移动电话向设备发送令牌,设备使用令牌进行直接API调用。在第三种情况下,授权列表(可以是公钥列表)和设备使用CSR对物联网服务进行直接API调用。然后将从CSR派生的公钥与授权列表进行比较,然后在存在匹配时将证书提供给设备。例如,AWS舰队配置提供索赔和基于智能手机的供应机制,开源项目物联网配置Secret-Free使用索赔和AWS合作伙伴提供惰性注册机制1指标通过AWS Marketplace提供简化的蜂窝设备配置体验。

选择适合您的设备配置

选择适合您的设备配置意味着找到与您的硬件设计、软件设计、制造和设备生命周期操作一致的设备凭证和设备云配置实践。硬件设计定义了如何定义和存储单个设备标识和凭据文件。软件设计影响设备授权。制造过程会影响机密创建、存储或识别的条件,也会影响授权指纹如何反映到物联网服务中。

如何决定对物理硬件进行凭据配置,这反映了通常在进行产品设计时提前决定的硬件设计,这为特定类型的云配置流程创建了一个基础枢轴。此外,如果您不是自己制造,那么您将使用合同制造商来构建您的产品。合同制造有很多好处,但制造过程的许多方面不在您的控制范围内,包括在生产线上创建设备秘密,如私钥和证书。生产过剩、克隆和其他攻击载体等风险可能与雇佣的合同制造商直接相关,这意味着你需要有足够的信任才能在晚上安然入睡。

如果您没有为您的物联网车队管理私有CA,那么预置凭证可能最适合您。预先准备的凭证可能需要一些额外的费用,但是我们已经看到它们显著地降低了运营成本。如果您需要管理自己的私有CA,那么一些硬件公司可以提供预先准备好的凭证,在这些凭证上进行配置tape-out,这意味着合同制造商将不知道设备上的任何秘密。否则,您可能希望倾向于延迟式配置,其中设备在设备上具有不可变的私钥或可复制的自生成私钥,并且可以参与物联网服务,以便在某种程度的认证后部署凭据。如果设备上没有不可变的私钥,那么您仍然可以直接向flash提供私钥和凭据,但这是非常不推荐的。

与硬件设计相比,软件设计更加灵活,可以在整个设备开发甚至生命周期中不断变化(想想无线固件更新)。每当您向客户交付一批新设备时,您都需要依赖设备云供应流程。与软件设计一样,供应设计可能需要基于不断发展的软件需求的灵活性。在部署新的或额外的设备舰队时,所需的配置和定制广度驱动了设备云供应过程。

设备生命周期操作需求将推动设备云供应所需的灵活性水平。更具体地说,虽然大多数AWS云物联网设备的流程配置启用自动创建的管理对象(如类型和东西组,如果您的流程还需要任何自定义的互操作性在注册期间您可能想考虑Just-In-Time-Provisioning允许更深层次的定制。

最后,在观察设备的生命周期时,要考虑设备在整个使用过程中改变人类所有者的机会。虽然设备身份在私钥方面可能不会改变,但有机会废弃之前的所有者的证书,以将设备移动到“工厂状态”。当新的人类所有者将设备委托给一个新的网络并使用移动应用程序时,可能需要在那个时候提供一个新的证书。生命周期机制将需要满足这些需求。

结论

在本文中,我们讨论了您今天可能看到的IoT配置情况。同样地,您已经看到,有许多选择取决于您试图实现的目标和您希望您的客户享受的结果。与所有东西一样,安全是供应的基础,每台设备都有自己唯一的、可识别的私钥和证书对。您选择的凭据配置方法为您的设备云配置选择创建了一个轴心点。如果您正在进行新的设计,那么您将希望认真研究强化的硬件安全解决方案,如安全元素和安全enclave,这反过来又简化了设备云供应。如果您正在改进或修改现有的设计,您的选择可能会更加有限,但您仍然可以选择让您的设备以物联网能力连接。最后,通过示例和轶事,您可以看到AWS物联网已经提供了与我们的硅合作伙伴解决方案很好的配套的设备云供应解决方案。现在是时候去构建安全委托和供应的物联网设备了!

- Richard Elberger是位于亚马逊网络服务

相关文章

留下你的评论