Skip to content

[技术分享] 工控物联网中非对称加密协议分析 #25

@m2kar

Description

@m2kar

IoT/ICS领域涉及非对称加密的网络协议分析:

TLS/SSL协议

TLS/SSL协议。最常见的HTTP/Modbus/MQTT/FTPS/XMPP/AMQP/OPC UA/都可在TLS协议基础上实现安全传输,很多私有协议(如西门子S7comm-Plus)也是在TLS或者HTTPS上层再做了定制。

TLS协议涉及的私钥有两种。一种是用于证书的私钥,遵循X.509格式,用于解密客户端发来的对称秘钥,在设备中存储。申请下来的证书中包含公钥、受信任的设备标识和上级CA机构,通过证书链验证本证书的可信性。证书在建立连接时发给客户端,用于表示设备的可信性。一种是会话私钥,该私钥每次会话临时生成,且不在网络上传输,而是通过DH类秘钥交换协议和对方生成同一个共享加密秘钥,用于后续的对称加密。

证书的秘钥会在服务器端存储。1)有的厂商(比如群晖)会要求用户自行上传证书和秘钥。2)有的是初始化的时候需要联网重新申请证书和秘钥的。3)有的是出厂即预置了相同证书和秘钥。在已知私钥的情况下,破解流量是很容易的。有些情况下,客户端也需要证书验证,这时候客户端也会有对应的证书私钥。

DTLS协议

DTLS协议。和TLS协议类似,但基于UDP实现。CoAP协议是在DTLS协议基础上实现的加密传输。

SSH协议

SSH协议。SSH协议支持口令和非对称密码验证。非对称密码验证是将公钥存在服务器中,私钥存储在客户端中。IoT设备一般作为服务器端,很少作为客户端,因此也不存储私钥。

IPSec协议

IPSec协议。IP层的安全协议,一般用于VPN连接,配置过程较为复杂。同样基于X.509证书,认证过程要求双方均提供证书。相应的,双方均存储自己的私钥。

其他私有协议

其他私有协议。厂商在TCP/HTTP等协议基础上自行实现的全流量加密或部分加密的协议。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions