网络安全这点事儿,从零基础到精通,收藏这篇就够了!

铁壁铜墙:网络安全这点事儿,看完你就全明白了!

01

网络安全?别慌,咱们先唠唠嗑

安全威胁?都是纸老虎!

话说,计算机网络这玩意儿,通信的时候,主要就怕两种“坏银”:

•主动攻击型——这就像是明目张胆的强盗,直接上来就抢!

•被动攻击型——这就像是偷偷摸摸的小偷,暗地里下手,防不胜防!

具体在哪儿下手?看下图,一目了然!

咱就拿汽车电子这行当来说吧,估计大部分码农兄弟们,都干过下面这两件事儿,别不好意思承认哈!

•被动攻击?

“对标,抄袭” 这词儿熟吧?买辆对标车,找根一分二的线,再来个不知道打哪儿弄来的dbc文件, 采别人家的报文,瞅瞅人家的交互逻辑。哎,虽然这事儿说出去不咋光彩,但咱也干过,是不?

•主动攻击?

这回咱用CANoe,也插在一分二的线上,同时发个报文,嘿嘿,是不是有点儿“搞事情”的意思?

安全的计算机网络?必须的!

随着汽车越来越智能,以太网都上车了,OTA也玩得风生水起。信息安全,这可是汽车电子的命根子啊!咱自己的信息丢了不值钱,但车子要是被别人控制了,那可就真“嘎”了!

所以,一个安全的网络,得有这几把刷子:

•机密性

机密性(或者叫私密性),说白了,就是咱俩说悄悄话,只有咱俩能听懂,别人截去了,也只能干瞪眼,看不懂!

•端点鉴别

安全的计算机网络,得能认清谁是谁!也就是说,你拿个CANoe,插根网线,就想跟车子“唠嗑”?没门!这事儿可不能马虎,不然就危险了!

•信息的完整性

就算咱能确认对方是“真身”,而且发的信息都加密了,也不能掉以轻心!还得保证信息是完整的,没被人动过手脚。这就像说话不能说一半,否则容易挨揍!比如控制端发个扭矩控制指令,说要100Nm,状态位是Valid,结果接收端只收到100Nm,这肯定不行啊!

•运行的安全性

现在的汽车软件,ECU,都离不开网络。就算没人攻击,没人偷数据,也得保证运行安全,环境稳定。这就需要访问控制,管好外设、内存、网络接口等等。

访问控制 这玩意儿,对计算机系统的安全至关重要!得管好谁能访问网络,每个用户能干啥。网络这东西,比操作系统复杂多了,访问控制也更麻烦,尤其是在安全要求更高的多级安全情况下。

数据加密?有套路的!

有了问题,咱就得想办法解决,对吧?

一般的数据加密,就像下图这样。用户A发个明文X,经过加密算法一顿“捣鼓”,就变成了密文Y。

•A:发送方ECU,就是咱自己!

•K:密钥,你可以理解成一串密码,或者一串数据流,反正就是个“暗号”!

•X:还没加密的数据,就是咱想说的话!

•Y:加密之后的数据,就是别人看不懂的“天书”!

现在信息安全技术越来越牛,这里的k可能都不一样,有公钥、私钥等等。

在这个过程中,截取者可以截取、获取、篡改数据。如果按照上面的模型,截取者只要有了加密算法E、解密算法D和密钥,就能“为所欲为”了!解密过程?看下图:

02

密码体制?两种就够了!

对称密钥密码体制:一把钥匙开一把锁

所谓对称密钥密码体制,就是加密和解密都用同一把钥匙。看下图,其实就是上面那张图,换个说法而已。

DES的安全性,全靠密钥保密,算法本身是公开的。

DES之后,又出了个新的加密标准,叫高级加密标准AES。

AUTOSAR里也有一堆。但说白了,就是OEM和Tier 1有密钥,算法是公开的。所以都可以简化成下面这个公式:

公钥密码体制(非对称加密) RSA:你有你的钥匙,我有我的锁

公钥密码体制,加密和解密用不同的钥匙。这种加密体制也叫非对称密钥密码体制。

公钥密码体制的出现,主要是为了解决两个问题:一是对称密钥密码体制的密钥分配问题,二是对数字签名的需求

在公钥密码体制中,加密密钥PK(Public Key,就是公钥)是公开的,谁都能看;而解密密钥SK(Secret Key,就是私钥或密钥)是保密的,只有自己知道。加密算法和解密算法也都是公开的。

公钥密码体制的加密和解密过程,有这么几个特点:

(1) 密钥对产生器会给接收者B生成一对密钥:加密密钥PKB和解密密钥SKB。发送者A用的加密密钥PKB,就是接收者B的公钥,大家都知道。而A用的解密密钥SKB,是接收者B的私钥,只有B自己知道。

(2) 发送者A用B的公钥PKB,对明文X进行加密,得到密文Y,发给B。

B收到密文Y后,用自己的私钥SKB进行解密,就能还原出明文X:

这里的公钥和私钥虽然是一对儿,但必须保证“向上不计算”,也就是说,不能用PKB算出SKB,否则就白瞎了!

上面说的加密、解密过程,看下图:

注意啦!任何加密方法的安全性,都取决于密钥的长度,以及破解密文的计算量,而不是简单地看加密体制(公钥密码体制还是传统加密体制)。另外,公钥密码体制并没有让传统密码体制“下岗”,因为目前公钥加密算法太费劲,短期内还不会放弃传统加密方法。

所以很多汽车上的MCU、SOC都有独立的加密芯片,比如咱常说的HSM。

没干过?没关系,咱接着往下看!

03

身份认证?别想蒙我!

报文鉴别:验明正身

鉴别和加密,可不是一回事儿!鉴别主要干两件事:

•一是要鉴别发信者

说白了,就是确认跟你通信的,确实是你想找的那个人,而不是冒牌货。这就是实体鉴别。实体可以是发信的人,也可以是一个进程(客户或服务器)。所以也叫端点鉴别

•二是要鉴别报文的完整性

就是确认对方发来的信息,没被人动过手脚。至于信息要不要加密,那是另外一回事儿。有的信息需要加密(得另外想办法),但很多信息其实不用加密。

那咋鉴别呢?接着往下看!

用数字签名进行鉴别(原理):盖个章,错不了!

咱都知道,写信或者签文件,可以根据笔迹或者印章来辨别真假。但在计算机网络里,咋办呢?可以用数字签名

这里有个最基本的原则:接收方要能用大家都认可的方法,算出收到的数据确实是“我”发的

这里就要用到上面说的非对称加密方法了。

为了进行数字签名,A用自己的私钥SKA对报文X进行D运算。这运算本来叫解密运算,但还没加密呢,咋就解密了?其实,D运算只是把报文变成了某种看不懂的密文(所以有时候也说成用私钥对报文加密,但这么说不准确)。咱用“D运算”,就是为了避免误解。把经过D运算得到的密文发给B。B为了核实签名,就用A的公钥PKA进行E运算,还原出明文X。注意,任何人用A的公钥PKA进行E运算,都能得到A发的明文。所以,这种通信方式不是为了保密,而是为了签名和核实签名,也就是确认这信息确实是A发的。

说白了,就是PKA能解开SKA进行D运算后的数据。因为SKA只有发送方A有,所以当PKA进行E计算,算出来的东西,是谁的,就是谁的!

除非私钥SKA被别人知道了,但咱假设私钥只有自己知道。所以,这也在一定程度上实现了数字签名的另一个功能:不可否认,不能抵赖!

但这只是签名了,还没加密。任何人拿到了PKA都能读取原来的明文数据,进行攻击、盗取。

所以,咱还得对数据进行加密!

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

虽然理论上没毛病,但实际用起来太麻烦了。因为要对报文(可能很长)进行两次D运算和两次E运算,这计算量太大了,CPU受不了,很多情况下根本没法用。所以,现在对网络上传输的大量报文,普遍都用对称密钥加密,这样开销小。要实现数字签名,当然必须用公钥密码,但一定要想办法减少公钥密码算法的开销。这就需要用到后面几个小节讲的密码散列函数和报文鉴别码

密码散列函数:给数据“算个命”

密码散列函数,主要有这几个特点:

  1. 输入的数据长度不限,但输出的长度是固定的,而且比较短(短有时候是优点)。
  2. 结果可能是“多对一”,就是因为输出的长度是固定的,只能说结果有很多种可能,但输入的可能性更多,所以总会有不同的输入算出相同的输出。但这没关系,2的128次方,不是那么容易碰上的。
  3. 只能正向计算,不能反算回来。属于一种“单向函数”。

  1. 输出的结果和输入的每一个比特都有关系,也就是说,改动一个比特,结果就会差很多。

报文鉴别码:给数据加个“校验码”

这里的主要原理,就是把计算出来的报文鉴别码拼接到报文最后。这样,接收方就可以计算鉴别码,看看和收到的鉴别码是不是一样。所以,这里鉴别的是啥?数据的完整性

但这样计算会有个问题,就是伪造数据的“坏人”也可以用同样的手段。

所以,咱可以采取接收方和发送方共享一个私钥,这个私钥只有这两方知道。所以,咱可以看看下面这个过程:

注意,这里的MAC可不是计算机的MAC地址,而是Message Authentication Code,报文鉴别码!

上面的过程,一定程度上能知道数据没被篡改,而且是指定的发送方发来的。但数据本身没加密,还是防不了“偷窥”,只是防止了篡改。

下面,咱在前面的基础上,再加个密!

前面的过程提到的共享的一组私钥,在这里可能就不需要了,因为非对称加密已经有了私钥和公钥。所以,咱可以看看下面这个过程:

总结一句话:A用自己的私钥签名,B用A的公钥鉴别。这样就能做到不可抵赖,不可否认,数据一致

实体鉴别:一次验证,终身信任

实体鉴别和报文鉴别不一样。报文鉴别是对每一个收到的报文都要鉴别发送者,而实体鉴别是在系统接入的整个过程中,只需要验证一次对方的身份。

最简单的实体鉴别过程,如下图所示。A向远端的B发送带有自己身份(比如姓名)和口令的报文,并且用双方约定好的共享对称密钥KAB进行加密。B收到报文后,用共享对称密钥KAB进行解密,从而鉴别了A的身份。

但这种简单的鉴别方法,有明显的漏洞。比如,入侵者C可以从网络上截获A发给B的报文,并不需要破解这个报文(因为破解可能很费时间),而是直接把这个由A加密的报文发送给B,让B误以为C就是A。然后,C就可以冒充A,向B发送很多本来应该发给A的报文。这就叫重放攻击。甚至,C还可以截获A的IP地址,然后把自己的IP地址伪装成A的IP地址(这叫IP欺骗)。

为了解决这个问题,需要用到大量的不重复随机数。所以,很多主机厂的需求里,对随机数的要求很高,也有不可预测的硬件随机数的需求(媳妇的情绪就是真随机,不可预测,不去做加密,可惜了!)。

在鉴别过程中,不重数可以让B区分重复的鉴别请求和新的鉴别请求。

这样就能避免重放攻击。

但是,下面这种“中间人”攻击,还是防不住:

所以,密钥管理也是个非常非常重要的事情!

04

系统安全:防火墙和入侵检测,双管齐下!

防火墙,就像一道“城墙”,通过严格控制进出网络的数据包,禁止任何不必要的通信,从而减少潜在的入侵,降低安全风险。但防火墙不可能阻止所有入侵行为,所以,咱还需要入侵检测系统IDS(Intrusion Detection System),作为第二道防线。IDS会对进入网络的数据包进行深度分析,发现可疑的入侵行为,并报警,以便采取措施。

防火墙位于内部网络和外部网络之间,是一套信息安全防护系统,按照特定的规则,允许或限制数据通过。

汽车方面,一般直接采用物理隔离,简单粗暴,但也有效!

觉得有用的话,希望粉丝朋友帮大白点个**「分享」「收藏」「在看」「赞」**

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

****************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值