开发者中心

安全因素

概述

该章节讨论QuarkIoE的安全因素,共分为物理安全,网络安全,应用安全和访问控制四部分。最后,将展示QuarkIoE怎么帮助您管理物联网解决方案的安全。

更多的信息可以参考其余文档中与安全相关的内容,例如REST实现参考文档和用户API文档。单个API调用所需的权限在API的相应参考指南部分进行了说明。

QuarkIoE符合诺基亚网络的"安全设计"规则,和德国电信的"隐私和安全评估"(PSA)

物理安全方面

IT系统的物理安全会防止对服务器、储存器和网络设备进行未授权的物理访问。

QuarkIoE的标准版本账户是在Amazon Web Services (AWS)上进行托管的。AWS具有ISO 27001, DSS and 其他标准的认证。它具有广泛的物理安全措施,并进行独立的审计。你可以直接在AWS Compliance查找审计报告。

在物联网解决方案中,物理安全还包括对物联网设备进行未经授权的访问,比如,对来自设备的数据进行重新定向和操作,从设备上读取凭证或更改设备的配置。我们建议你对计划使用在物联网解决方案中的设备进行物理安全检查,例如,使未经授权的人员无法使用配置端口或篡改传感器。

网络安全方面

网络安全防止通过网络对传输的数据进行未经授权的访问,以及篡改或修改数据。它还确保你可以使用网络服务。

QuarkIoE保证你的数据始终机密,并且不能通过从设备到应用程序HTTPS的端到端的实现被篡改。它使用由sslabs.com独立评级为"A"的最新加密技术。任何与QuarkIoE之间的通信,都需要进行个人身份验证和授权。

这种通信架构如下图所示。在传感器网络中和从传感器到代理,都可以使用设备和网关特定的协议(比如,ZigBee或Modbus)。因此,保证这些的安全是设备特定的问题。代理的运行,就像客户对于QuarkIoE使用HTTPS发送和接收数据。同样的,物联网应用程序对于QuarkIoE也使用HTTPS。如果一个物联网应用程序向Web浏览器开放自己的接口,那它也会被建议支持HTTPS。这样,整个从代理到最终用户的路径都是安全的。

QuarkIoE安全

如上所述,QuarkIoE不需要设备在互联网上开放任何端口和服务。这是一个很重要的属性:它不仅简化了设备和QuarkIoE之间的连接,同时也极大地简化了设备安全化的过程。当部署物联网解决方案时,请查看你的设备可能在物联网上开放其他服务,例如,基于网页的设备管理器或基于SMS可能的配置操作。

应用程序安全方面

应用程序安全性解决了软件级的安全问题。

为了强化应用极的安全,QuarkIoE遵从标准的做法,比如,确保只使用正确升级的操作系统和Web服务器。采用许多附加的"最佳做法",确保QuarkIoE设计的安全。例如,

  • 所有QuarkIoE的功能都是通过同一组公开记录的无会话REST API连贯实现的。这意味着,QuarkIoE不会使用任何常用的"会话窃取"技术。
  • QuarkIoE不会使用SQL数据库进行物联网数据储存,并且它本身也不会基于某种脚本语言。这意味着,所谓的"注入式攻击"不会发生在QuarkIoE上。
  • 如上所述,设备对于QuarkIoE来说就像是客户, 因此对设备常用的攻击都是无效的。
  • 设备都是单独连接到QuarkIoE的设备注册功能。也就是说,如果设备被盗取或者篡改,它会被单独地从QuarkIoE处断开连接。

访问控制

QuarkIoE使用基于领域、用户、用户组和权限的标准认证和授权模式。"领域"是遵循相同身份和授权策略的用户和用户组的数据库。"用户"是有权限访问QuarkIoE中受保护资源的个人或外部系统。访问是通过权限进行控制。为了简化管理,用户被编进"用户组"来共享类似的权限。一个用户可以是多个用户组的成员,以便用户享有用户组的组合权限。

QuarkIoE为每个租户创建一个新的领域,以便存储该租户的用户。领域为用户名提供自身的命名空间,容许用户保留来自他们自己企业的IT系统或其他IT系统的常用名称。用户名之间不会产生冲突:一个名称为"smith"的特定租户与另一个名称为"smith"的租户是不同的。该用户名对租户订阅的所有QuarkIoE的应用程序都是有效的。

每一个新的领域都会自动被置于一个初始管理员用户里,该用户可以创建更多的用户和用户组,并可以为这些用户和用户组分配权限。这使企业可以在他们自己使用的管理应用上,管理用户和他们的权限。

用户管理屏幕截图

要在系统中执行某些功能,则取决于两个概念:权限和所有权。权限明确定义了什么样的功能可以被用户执行。QuarkIoE来区分读取权限和管理权限。读取权限允许用户读取数据。管理权限允许用户创建、更新和删除数据。读取和管理权限可分别用于QuarkIoE中不同类型的数据。例如,对设备清单数据、测量值、操作和其他的数据有读取权限。

设备清单中的对象也拥有与其关联的所有者。所有者可以总是忽略其他权限,

  • 读取、更新和删除他们拥有的设备清单中的对象。
  • 创建、读取、更新和删除与他们拥有的对象相关的数据。

例如,如果你是设备清单中一个智能表具的拥有者,即使你没任何其他测量权限,你也可以储存智能表具的仪表读数。

设备清单还具有"创建"的权限。只有创建权限的用户可以在设备清单中储存新的对象,但是不能读取、更改或删除其他的数据。这主要与设备相关。"创建"的权限还包括将对象链接到另一个对象,作为其自身或子资产的可能性。

限制对管理对象的访问

QuarkIoE允许你设置适用于所有管理对象、测量值、事件和其他的全局管理权限。它还允许你限制此类权限。

  • 只针对特定的管理对象或一组管理对象。
  • 针对单一用户或组用户。
  • 针对单个片段。

编辑权限

可以通过导航至一个设备管理应用中特定的管理对象,和导航至管理应用中一个用户或组来编辑权限。

在管理应用中选择一个用户,来添加用户的新权限。在"用户权限"部分,

  • 键入要授予权限的设备名称或ID。支持自动完成。
  • 选择权限的范围,例如,权限是否适用于设备清单("MANAGED_OBJECT")、 操作("OPERATIONS") asf。选择"*"可使权限适用于所有的功能。
  • 选择权限使用的片段类型。例如,如果你选择"OPERATIONS"作为范围,"c8y_Restart"作为类型,"ADMIN"作为权限,则该用户就只能使用重启设备功能。请注意,用户必须具有对象中所有片段权限,才能检索和编辑对象。使用"*"来选择所有的片段,或者在没有片段的对象上设备权限。在所选的设备上支持自动完成,但你可以使用文本框中的任何片段(比如,子对象的片段)。
  • 选择权限("READ", "ADMIN")。使用"*"来选择"READ"和"ADMIN"。
添加新的用户权限

全局访问对象

可以使没有特定权限的任意用户访问任何对象。只需要为设备添加一个新的称为"c8y_Global"的片段,就可以实现该功能。

权限的传播

权限可沿着两种维度进行传播:

  • 适用于该组中所有用户的组权限。
  • 适用于管理对象所有子设备和子资产的权限。

实例

允许用户读取"10200"号设备的温度测量值。

                         10200, MEASUREMENT, c8y_TemperatureMeasurement, READ
                      

允许用户读取"10200"号设备的任意测量值。

                         10200, MEASUREMENT, *, READ
                      

允许用户重启"10200"号设备。

                         10200, OPERATION, c8yRestart, ADMIN
                      

排查权限

排查权限这一功能现已弃用,现在通过系统管理的角色和用户设置权限。

安全管理方面

无论与安全相关的事件何时发生,它都会被记录到日志,以便进行后续可能的审计。在应用程序级别和物联网网络里都有可能发生与安全相关的事件。应用程序级别上发生的与安全有关的事件,一个简单例子就是对应用程序的登录。网络级别上发生的与安全有关事件,比如,使用设备上的本地软件或本地控制来进行设备的操作。

为了捕获与安全有关的事件,QuarkIoE提供了一个审计接口。该接口可以让应用程序和代理编写审核日志,审核日志将被永久储存,并且一旦写入就无法从外部进行修改。QuarkIoE本身也会编写与登录和设备控制操作有关的自有审计记录。 如需要接收QuarkIoE的安全相关报告,感兴趣的各方可以订阅QuarkIoE安全公告。如需报告安全事件,请发送邮件至security@quarkioe.com

概述

QuarkIoE解决各种级别的安全问题。所有业务合作伙伴和托管服务均已认可安全证书。QuarkIoE还通过个人身份验证和授权方法处理网络安全方面。使用HTTPS技术建立到QuarkIoE的连接。所有租户都有完全权限添加或终止用户和用户组。租户还可以向agent和设备分配权限。