Softing D-PDU API 11_30_010 新版本支持TLS
TLS的概述
安全传输层协议(Transport Layer Security,缩写:TLS),前身为安全套接层(Secure Sockets Layer,缩写:SSL),用于在通信应用程序之间提供保密性和数据完整性。该协议由两层组成:一个是Record Protocol,描述了数据的格式;另一个是Handshaking Protocols,描述了握手过程。目前被广泛使用的是TLS1.2。
图1 TLS结构
TLS的作用
1. 防止在互联网上传输加密过的资料被第三方窃取。
2. 具有校验机制,一旦资料被篡改,那么通信双方就会立刻发现,可保持在从端点A到端点B的传送过程中资料的完整性。
3. 配备身份证书,防止身份被冒充。透过SSL/TSL证书内的公钥加密资料传输至服务器端,服务器端用私钥解密来证明自己的身份。
安全(TLS)DoIP会话
图2 安全(TLS)DoIP会话实例(图源:ISO13400-2_2019)
对于一个安全的TCP连接,则可使用TLS专用的TCP_DATA端口。而在无安全保障的DoIP会话的情况下,为了在客户端DoIP实体和DoIP实体之间启动一个安全的TLS连接,那么需要优先做的是打开一个TLS套接字(目标端口是TLS TCP_DATA),这是在任何信息交换之前进行的。
一旦建立了套接字,那么TLS协议特定的握手初始化步骤就将由客户端DoIP实体和DoIP实体执行。在TLS握手成功完成后,所有后续的消息都是通过这个TLS TCP_DATA套接字交换的(例如:路由激活和DoIP诊断消息)。
在D-PDU-API 11_30_010里TLS的实现
图3 D-PDU-API 11_30_010.ini TLS相关内容
| 路由激活与TLS一起工作的方式有三种——AutoTLSActivation=(0,1 or 2)
1. AutoTLSActivation=0
仅尝试在没有TLS的情况下进行路由激活。
2. AutoTLSActivation=1
首先尝试不使用TLS的常规DoIP,当路由激活失败且返回代码为0x07时,开始使用带有TLS的DoIP进行重试(默认设置)。
3. AutoTLSActivation=2
始终尝试带有TLS的DoIP,而不尝试常规DoIP。
| 证书文件名称及路径
• C:\ProgramData\D-PDU API\Certificates\TLS_Server_cert.pem
• C:\ProgramData\D-PDU API\TLS_Client_cert.pem
• C:\ProgramData\D-PDU API\TLS_Client_key.pem
文件格式为PEM,以ASCII来表示,并且客户端文件名及格式可选。
往期回顾