Skip to content

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

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等协议基础上自行实现的全流量加密或部分加密的协议。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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