【问题标题】:How to secure communication between IoT Devices and Azure IoT-Hub?如何保护 IoT 设备和 Azure IoT-Hub 之间的通信?
【发布时间】:2019-05-16 16:15:26
【问题描述】:

我的设置如下所示:

在我的本地环境中,我有一个 OPC 服务器,它从本地 OPC 设备读取数据并将它们发送到我的本地小服务器,然后将数据发送到 Azure 上的 IoT-Hub(然后我将数据保存到 cosmosDB) .

与 Azure 上的 IoT-Hub 通信的本地小服务器looks like this

var connectionString = '[IoT Hub device connection string]';
// use factory function from AMQP-specific package
var clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString;

// AMQP-specific factory function returns Client object from core package
var client = clientFromConnectionString(connectionString);

// use Message object from core package
var Message = require('azure-iot-device').Message;

var connectCallback = function (err) {
  if (err) {
    console.error('Could not connect: ' + err);
  } else {
    console.log('Client connected');
    var msg = new Message('some data from my device');
    client.sendEvent(msg, function (err) {
      if (err) {
        console.log(err.toString());
      } else {
        console.log('Message sent');
      };
    });
  };
};


client.open(connectCallback);

我如何确保这种通信是安全的?

【问题讨论】:

  • 安全是什么意思?
  • 这是与 OPC 无关的问题,为什么要使用 OPC-UA 标记它?
  • @astrowalker 它与从通过 opc-ua 的设备到通过 amqp 的云的整个通信链相关。
  • @PeterBons 我的意思是我需要证书或其他一些安全机制吗?或者我可以为整个工厂运行这个解决方案吗?

标签: security azure-iot-hub opc opc-ua


【解决方案1】:

IoT Hub 要求通过 TLS 保护所有连接(请参阅IoT Hub MQTT Support),并且它仅使用安全版本 1.2(请参阅IoT Hub TLS deprecating 1.0 and 1.1)。

这将保护您的传输(默认情况下)。

在生产环境中,我会使用 X509 证书来保护身份和完整性。 为此,请查看IoT Hub Security x509 Get Started,了解如何在 IoT 中心获取和注册证书。看看这个Sample 它显示了如何在 node.js 代码中使用 X509 证书连接到 IoT 中心。

【讨论】:

    猜你喜欢
    • 2020-02-26
    • 2021-01-21
    • 2018-06-28
    • 2017-04-15
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    相关资源
    最近更新 更多