IOTCore TLS connection overhead too large. Is it possible to resume a session?

0

Hi, I have remote battery powered cellular devices uploading their measurements to IOT Core. They disconnected their modem each packet upload, which could be 1/min. However the data overhead required to connect and handshake, exchange certs etc is too large. At the moment 4k-6k is required on each connect, even if just sending 100bytes of data. The handshake is killing my data usage.

See this blog I found for info on the overhead required by TLS 1.2 http://netsekure.org/2010/03/tls-overhead/

For devices that need to be as efficient as possible with data and power, is it possible to a) resume TLS connections? or b) what is the recommended way for these devices to connect to the MQTT IOT Core service?

This is a low power sensor device that is not able to run the SDK. So we need to implement out own connection to the MQTT ports on AWS (8883). AWS also does not allow unencrypted connections...

A very similar and related question that went unanswered (https://forums.aws.amazon.com/thread.jspa?messageID=891100&#891100), however considering MQTT is desinged for IOT devices and is supposed to minimise load and be efficient it is hard to accept a 4k-6k overhead on each connection.

  • I had a similar issue, and I ended up staying connected instead of connecting again every time. You probably could adjust the cellular network parameters (NB-IoT?) to stay in low-power mode while connected. This also has the advantage of having an always-on downlink in case you need it.

已提问 2 年前616 查看次数
3 回答
0

Thanks for the reply. Re the payload size. The significant cost is in cellular data. So the 4k-6k overhead is increasing my data cost by a factor of at least 6. AWS core messaging costs are certainly a consideration but at the moment far outweighed by the data costs. To the point that using AWS IOTCore as my endpoint for my fleet of IOT devices is not really viable.

I'd be interested if there are alternative thought regarding this.

I don't currently have an account manager I don't think. Is there another way to get this escalated?

Thanks, Karl

已回答 2 年前
  • Hello, did you manage to find a work-around for this? We are also facing similar issues with data usage...

0

Hi. TLS session resumption is not presently supported by AWS IoT Core. The benefit of the feature is clear. If you have an Account Manager, please request this feature with them.

You mention that a typical message is only 100 bytes. Please be aware that MQTT messages are metered in 5KB increments. I realize this may not be practical for your application, but if you could batch your messages (and hence connect less frequently), you would reduce both your cellular network data usage and your AWS IoT costs.

profile pictureAWS
专家
Greg_B
已回答 2 年前
0

doesn't the MQTT Server Keep Alive option help with this?

esir
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则