数据安全与保密

无聊逛51
发布于 2023-11-14 14:35
浏览
0收藏

“ 数据安全与汽车信息安全,加密,解密,数字签名,数字信封,水印”

前言:本文主要介绍加密解密本身的概念。不针对具体的autosar 文档以及信息安全规范的文章,属于理论知识。方便我们后面对汽车信息安全,autosar 加密解密机制的学习,使用。

数据安全与保密

密码学已经经历了

  • 手工密码
  • 机械密码
  • 电子密码
  • 计算机密码

这几个阶段。现在流行的是芯片密码。

从autosar 文档中的最底层就是硬件实现的机制。

数据安全与保密-鸿蒙开发者社区

但是不管哪一种密码,密码编码 和 密码分析的基本工具都是 数学!

当今密码体制建立在三个基本的假设之上:

  • 随机性假设
  • 计算假设
  • 物理假设

一个好的密码设备,或者是一个好的安全协议,必须构建两类不可缺少的乱源。这个乱源可以简单的理解为随机数。

一种是通过计算的数学乱源

一种是基于物理假设的物理乱源

数据安全与保密-鸿蒙开发者社区

这张图就充分说明了物理乱源。。。。手的抖动作为加密解密的输入。手哦的抖动从一定层面上来说,是不可相同再次出现一样的抖动方式。这也是对乱源 及 随机数的要求。


后面我们会在实际中使用到

加密机制

提到加密机制我们可以分为两种

  • 对称密码体制

对称密码体制又叫做私钥密码体制。加密和解密的过程使用相同的钥匙(key)。

数据安全与保密-鸿蒙开发者社区

  • 非对称密码体制

非对称密码体制又叫做公开密钥体制。什么意思呢?就是加密和解密用的不是同一个key.

public key是公开的。

privatekey 是需要自己收好的。

数据安全与保密-鸿蒙开发者社区

但是现在有个普遍的问题就是加密/解密的过程慢。不过在我们汽车软件上面感觉不到。

典型的有RSA算法。网上找了一个开源的基于python的实现。大家可以去看一下。

Python: https://github.com/sybrenstuvel/python-rsa

安全杂凑算法

这个实际上就是通过Hash 函数对数据进行加密。

单向的Hash 计算,输入一个变长字符串,输出一个定长字符串。这个结果就较多 message digest(MD),也叫做Hash值。

那么有什么用呢?

答:两个点

  • 在某一特定时间内,算不回原始报文
  • 无法找到两个经过Hash计算得出一样MD值的原始报文

这主要用于用户身份验证,验证签名。能确定这个事就是你干的,具有不可抵赖性。


典型的有MD5算法,我们可以打开git试一下。

数据安全与保密-鸿蒙开发者社区

我这个文件夹有一个autosar的文档。用md5计算量一下。得出前面那一串数字,就是计算出来的md5值。

不过听说md5 这个算法 被山东大学破解了。

数字签名

最为广泛的有下面三种算法

  • Hash签名
  • DDS签名
  • RSA签名

举个例子Hash签名​

发送方

数据安全与保密-鸿蒙开发者社区

接收方

对数据段进行用相同的Hash进行计算MD,

然后用public key 对MD进行解密

这时候 和 发送端的数据进行对比。如果一致,则认为数据没有破坏。也没有被篡改过。

汽车信息安全中使用


《汽车整车信息安全技术要求》

在这篇文章中提到了信息安全的基本要求。其实可以归类为

  • 身份的确认
  • 数据的内容正确性
  • 数据的传输正确性
  • 内容本身有没有被篡改
  • 内容的完整性



总结:

对于这些其实都可以通过上面的基本思路来解决

通过数字签名来确定数据的原始性

通过MD算法值来确定数据的正确性

通过非对称加密来确定对方身份

通过数字签名对文件的损坏,非法破坏进行识别

等等方案。

忘记说随机数了。主要关注一下随机数 是 真随机还是伪随机。

随机数需要 不可预测,不尽相同,不可以复刻等特性。这样才能保证好的加密算法。


谢谢观看




文章转载自公众号:汽车与基础软件​

分类
已于2023-11-14 14:35:51修改
收藏
回复
举报
回复
    相关推荐