Softing D-PDU API 11_30_010 新版本支持TLS

TLS的概述

安全传输层协议(Transport Layer Security,缩写:TLS),前身为安全套接层(Secure Sockets Layer,缩写:SSL),用于在通信应用程序之间提供保密性和数据完整性。该协议由两层组成:一个是Record Protocol,描述了数据的格式;另一个是Handshaking Protocols,描述了握手过程。目前被广泛使用的是TLS1.2。

557f5efd-2344-4bba-9bf4-a49a504800b1

图1 TLS结构

TLS的作用

1. 防止在互联网上传输加密过的资料被第三方窃取。

2. 具有校验机制,一旦资料被篡改,那么通信双方就会立刻发现,可保持在从端点A到端点B的传送过程中资料的完整性。

3. 配备身份证书,防止身份被冒充。透过SSL/TSL证书内的公钥加密资料传输至服务器端,服务器端用私钥解密来证明自己的身份。

安全(TLS)DoIP会话

13f3c61f-b052-45c9-b06e-822ebdf11ba8

图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的实现

a340d39e-dce1-474d-b6f5-dd1eec4ff0b7

图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来表示,并且客户端文件名及格式可选。

   往期回顾

基于ISO13400 (DoIP) 实现车辆刷写                       

如何使用ODX描述诊断会话和安全等级                        

85dc0f94-39ba-4246-8320-c1510ccbfd88

«