专栏名称: 谦益行
ECU研发快10年,有系统,硬件和软件内容输出,也有汽车人的成长故事,经验分享和行业洞见
目录
相关文章推荐
湖南日报  ·  “哪吒”来给湖南的父老乡亲问好啦! ·  2 天前  
艾邦高分子  ·  欢迎加入新能源橡塑密封圈交流群 ·  2 天前  
株洲交通频道广播电台  ·  退钱了!下个月开始! ·  3 天前  
高分子科学前沿  ·  南京大学陆延青、孔德圣《AM》:液态金属微网 ... ·  3 天前  
51好读  ›  专栏  ›  谦益行

一文了网络信息安全

谦益行  · 公众号  ·  · 2024-06-19 05:41

主要观点总结

文章主要介绍了网络安全中的威胁、数据加密模型、两类密码体制、报文鉴别、实体鉴别以及系统安全等内容。

关键观点总结

关键观点1: 网络安全威胁

文章介绍了计算机网络通讯过程中的两种威胁:主动攻击和被动攻击,并给出了实际的例子,如软件工程师的被动攻击行为和主动攻击行为。

关键观点2: 数据加密模型

文章描述了数据加密模型,包括用户发送明文、通过加密算法运算后得出密文的过程,以及在此过程中截取者可以进行截取、获取、篡改等操作。

关键观点3: 两类密码体制

文章介绍了对称密钥密码体制和公钥密码体制(非对称加密)的概念和特点,并举例说明了它们的应用,如DES、AES等对称加密算法和RSA公钥密码体制。

关键观点4: 报文鉴别

文章阐述了报文鉴别的概念,以及如何通过数字签名进行报文鉴别的原理。同时介绍了密码散列函数和报文鉴别码的应用。

关键观点5: 实体鉴别

文章介绍了实体鉴别的概念,以及其与报文鉴别的不同。同时阐述了简单的实体鉴别过程存在的漏洞,如何解决这些问题,并介绍了入侵检测系统的作用。

关键观点6: 系统安全:防火墙与入侵检测

文章介绍了防火墙和入侵检测系统的概念、作用和工作原理。同时指出在汽车领域一般采用物理隔离的方式来实现系统安全。


正文

01



网络安全概述

安全性威胁

计算机网络通讯过程中,主要有两种威胁。

主动攻击

被动攻击

具体攻击的位置如下图。

从汽车电子的角度举个例子,大部分的软件工程师,应该都干过下面两件事。

被动攻击

大家都做过的,“对标,抄袭” 买来对标的车,找个一分二的线,不知道从哪弄来的dbc, 来采别人家的报文,看看别人的交互逻辑大概是什么样的。虽不耻为伍,但也做过。

主动攻击

用CANoe 插在一分二的线上,也同时发送某个报文。

安全的计算机网络

随着汽车电子的发展,以太网接入汽车电子, OTA的广泛推广。信息安全,汽车电子计算机安全变得越来越重要。鄙人信息被盗了不值钱,要是车子被控制了,可是要嘎了的事情。

所以安全的网络应当包含以下几点

机密性

机密性(或私密性)就是只有信息的发送方和接收方才能懂得所发送信息的内容,而信息的截获者则看不懂所截获的信息。

端点鉴别

安全的计算机网络必须能够鉴别信息的发送方和接收方的真实身份。也就是说 PC 端插一个CANoe, PC 端接一根网线,不应该能和车子通讯上。否则是件很危险的事情。

信息的完整性

即使能够确认发送方的身份是真实的,并且所发送的信息都是经过加密的,我们依然不能认为网络是安全的。还必须确认所收到的信息都是完整的,也就是估息的内容没有被人篡改过。保证信息的完整性在应对主动攻击时也是必不可少的。信息的完整性和机密性是两个不同的概念。

说话别说一半,否则要被打的。就像控制端 发送扭矩控制 100Nm, 状态位是Valid. 接收端只能说到100Nm. 这显然是不会被执行的。

运行的安全性

现在的汽车软件,ECU,对网络的依赖越来越密切,即使没有被攻击,或者窃取有效数据,也需要保证运行时的安全性,安全的运行环境,相对稳定的工作环境。这里就需要访问控制。访问控制包含外设的,内存的,网络接口的,等等。

访问控制(access control)对计算机系统的安全性非常重要。必须对访问网络的权限加以控制,并规定每个用户的访问权限。由于网络是个非常复杂的系统,其访问控制机制比操作系统的访问控制机制更复杂(尽管网络的访问控制机制是建立在操作系统的访问控制机制之上的),尤其在安全要求更商的多级安全(multi level security)情况下更是如此。

数据加密模型

有了上面的实际问题,我们就需要考虑对策了。

一般的数据加密模型如下图 所示。用户 发送明文 X , 但通过加密算法 运算后,就得出密文 Y

A:发送方ECU

K:密钥,可以理解为一个字符串,或者是数据流等等

X:未经加密的数据

Y:加密之后的数据

随着信息安全的发展,这里的k 可能是不同的,公钥,私钥等等。

再此过程中,截取者可以去截取,获取,篡改等操作。如果按照上面的模型,截取者只需要加密算法E,解密算法D 以及密钥就可以进行操作。解密过程

02



两类密码体制

对称密钥密码体制

所谓对称密钥密码体制,即 加密密钥 解密密钥 都使用相同密钥的密码体制。如下图,其实就是上图。

DES 的机密性仅取决于对密钥的保密,而算法是公开的。

DES 之后, 一种新的加密标准即高级加密标准 AES

autosar 也有一堆。但是从本质上来说,就是OEM 合 tier 1 有 key, 算法是公开的。所以都可以抽象成下面公式。

公钥密码体制(非对称加密) RSA

公钥密码体制使用不同的加密密钥与解密密钥。这种加密体制又称为非对称密钥密码体制。

公钥密码体制的产生主要有两个方面的原因,一是由于对称密钥密码体制的密钥分配问题,二是由于对数字签名的需求。

在公钥密码体制中,加密密钥 PK (Publ ic Key,即公钥)是向公众公开的,而解密密SK (Secre t Key,即私钥或密钥)则是需要保密的。加密算法 和解密算法 也都是公升的。

公钥密码体制的加密和解密过程有如下特点:

(I) 密钥对产生器产生出接收者 的一对密钥:加密密钥 PKB 和解密密钥 SKB 。发送者所用的加密密钥 PKB 就是接收者 的公钥,它向公众公开。而 所用的解密密钥 SKB是接收者 的私钥,对其他人都保密。

(2) 发送者 的公钥 PKB 通过 运算对明文 加密,得出密文 Y, 发送给B

B用自己的私钥 SKa 通过 运算进行解密,恢复出明文,即

这里的公钥和私钥虽然是成对的,但是必须要做到向上不计算的原则。就是Pk 无法计算出 Sk.

否则,白扯。

上述的加密,解密过程如下图

请注意,任何加密方法的安全性取决千密钥的长度,以及攻破密文所需的计算量,而不是简单地取决于加密的体制(公钥密码体制或传统加密体制)。我们还要指出,公钥密码体制并没有使传统密码体制被弃用,因为目前公钥加密算法的开销较大,在可见的将来还不会放弃传统加密方法。

所以很多汽车上面的MCU, SOC 都有独立的加密芯片,比如我们常常提到的HSM。

没干过 就不能干吗?

03



鉴别

报文鉴别

鉴别和加密是不相同的概念。鉴别的内容有二。

一是要鉴别发信者

即验证通信的对方的确是自己所要通信的对象,而不是其他的智充者。这就是实体鉴别。实体可以是发信的人,也可以是一个进程(客户或服务器)。因此这也常称为端点鉴别。

二是要鉴别报文的完整性

即对方所传送的报文没有被他人篡改过。至千报文是否需要加密,则是与“鉴别“性质不同的问题。有的报文需要加密(这要另找措施),但许多报文并不需要加密。

but how? 请继续往下看

用数字签名进行鉴别(原理)

我们知道,书信或文件可根据亲笔签名或印程来鉴别其真实性。但在计货机网络中传送的报文,则可使用数字签名进行鉴别。下面就介绍数字签名的原理。

这里有一个最根本的原则就是,接收方需要通过大家都认可的方式来计算出,收到的数据出自于“我:发送方”。

这里就用到了上面说到的非对称加密的方法进行签名。

为了进行数字签名, 用其私钥 心对报文 进行 运算。运算本来叫作解密运算。可是,还没有加密怎么就进行解密呢?其头 运算只是把报文变换为某种不可读的密文(因此有时也说成 用其私钥对报文加密,但这样说不准确)。在图中我们使用 “D 运算'而不是“解密运算“,就是为了避免产生这种误解。把经过 运算得到的密文传送给 为了核实签名,用 的公钥进行 运算,还原出明文 。诸注意,任何人用 的公钥 心进行 运算后都可以得出 发送的明文。可见图 中所示的通信方式并非为了保密,而是为了进行签名和核实签名,即确认此明文的确是 发送的。

不知道说的恰当不恰当,就是PK 可以进行解SK进行D运算的数据。因为SK 只有发送方有,所以档PK进行E计算,算出来的东西,是谁的,就是谁的。

除非私钥K 被别人知道了,但是我们假设是私钥 都是只有自己知道的。所以一定程度上做到了数字签名的另外一个功能:不可否认,不能抵赖。

但是这虽然进行了签名,但是还没有加密。任何人拿到了PK 都可以读取原来的明文数据,进行攻击,盗取。

所以我们还需要对数据进行加密。

如果用下图所示的方法,就可同时实现保密通信和数字签名。图中 SKA SKB别为 的私钥,而 PKA 和 PKB 分别为 的公钥。

虽然在理论上是正确的,但很难用于现实生活中。因此这一节的小标题后边有“原理”二字。这是因为要对报文(可能很长的报文)先后要进行两次 运算和两次 运算,这种运算量太大,要花费非常多的计算机 CPU 时间,在很多情况下是无法令人接受的。因此目前对网络上传送的大狱报文,普遍都使用开销小得多的对称密钥加密。要实现数字签名当然必须使用公钥密码,但一定要设法减小公钥密码算法的升销。这就要使用后而几个小节所讨论的密码散列函数和报文鉴别码。

密码散列函数

密码散列函数主要有以下四个特性

1. 输入的数据可以是长度不唯一的,但是输出是固定长度,且短的( 短 有时候是优势 )。

2. 结果可能是多对一的,就是因为结果的长度是固定的,只能说结果有很多种可能,但是输入的可能性更多,所以总会有不同的输入算出来相同的输出,但是无伤大雅,2的128次方,不是那么容易对上的。

3.
可以正向计算,无法反算回来。属于一种单向函数

1.







请到「今天看啥」查看全文