0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

信息安全的属性

汽车电子工程知识体系 来源:汽车电子硬件设计 作者:汽车电子硬件设计 2020-11-17 14:22 次阅读

前言

在《林海雪原》里,杨子荣为了能够假装胡彪,打入虎穴,学习了些黑话,题记里杨子荣正跟土匪对着暗号,验明自己身份的合法性。这是在提到洋气的A和B之前,能想到密码学里身份校验的故事,当然前提是山寨里的人都没见过胡彪,只是有所耳闻,故事里土匪一直在想法设法试探杨子荣的身份,感兴趣大家可以看看《智取威虎山》中的电影片段。 话说回来,土匪和杨子荣的对话并不涉及加解密的过程,只是凭着行话,核验身份,与我们正常输入登录账号密码一样,那最多称之为口令,那什么是密码学呢?我们简单看下维基百科的定义。 Cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. (密码学是关于构建和分析防止第三方或公众读取私人消息的方法体系)。

信息安全的属性

在密码学世界里有两个虚拟的人物Alice和Bob以拟人化A和B,假如Alice和Bob是同班同学且互有好感,有一天Alice终于鼓起勇气要以情书的形式向Bob表白,正常来讲他会有些担心,最理想的情况下,是情书安全的送到了Bob那里,万一情书被人发现,也没有关系,只有Bob能看懂,同时要确保Bob收到情书之后,还得确定是Bob发来的,不然搞错了对象也会很尴尬。 Alice确实是个心思缜密的人,他的担心涉及到了信息传递的几个安全属性。 机密性:自己的真实意图只能让Bob知道,不能让公众晓得,他可以把情书放到密码箱里,把钥匙给到Bob,或者也不怕别人看到,对于情书内容进行加密,也只有Bob知道密钥。 完整性:情书中途被人掉包,或者内容被篡改,明明是表白I love you 结果换成 I hate you那就坏了好事了。 真实性:Bob收到情书之后,得知道是Alice写的,当然写匿名情书搞暗恋又另说了。此时就需要Alice签字,或者做个人的特殊标记,比如加上自己的俄语一段话,因为班上只有Alice会俄语。 Alice的想法也是人之常情,不仅要有勇气将重要的信息传递出去,同时也要有足够的智慧保证信息的传递准确到位。其实在密码学在这里就可以派上用场了。

加密与解密

Alice可以将情书放到有密码锁的笔记本里,然后将本子和钥匙一起送给Bob,这也是一种方式,钥匙上锁和解锁的过程,暂且换上专业的说法,加密和解密,同时发送者和接受者用的同一把钥匙,也就是我们说的对称加密,当然密钥只有Alice和Bob知道,同时消息和密钥要同时发给对方。其逻辑如下:

在介绍加解密之前,简单普及下基础的概念,在现代的计算机和依赖计算机的设备里都用到了二进制,每个数字称为一个比特(bit),一个字节由8个比特构成,储存的数值范围为0-255。 既然二进制是计算机的语言,那么消息都必须得转化为二进制才能进行计算,很多问题就变成了数学问题,此时密码学就成功成了数学家的天地,这也是我们普通大众对密码学望而却步的原因。(顺便提一句,目前国内在密码学造诣最深的是山东大学数学系出身的王小云院士。) 再回到Alice和Bob的小秘密,经过仔细考虑,情书的关键信息如下: I LOVE YOU 现在为了确保消息只有Bob看得懂,而别人看不懂,暂且假设只有Alice和Bob知道密钥,此时正常来说他三种操作方式. 首先是字母替换,每个字母按照制定规则逐一替换,此时Bob收到加密消息的同时,还会收到的字符关系表,逐个解密得出明文消息。正经的说,也就是利用预先设计的固定代替规则,对明文逐个进行替换,这个代替规则又称为代替函数,代替表或者代替函数,所以相同的明文字符组一定会产生相同的密文字符,此时可以采用频率分析基本可以得到找到对应关系。 然后是行移位,I LOVE YOU 按照26个字母顺序依次向后移一位,那么变化如下: I LOVE YOU-> J MPWF ZPV 如此解密时,J MPWF ZPV 各字母向前移动一位就解决问题,得到答案里。 最后就是加减密码,将明文逐个字符或逐字符组与乱数相加或相减的密码,在这里就不赘述了。

对称密钥

Alice和Bob的小秘密大部分情况下要通过密码技术来保证,顺着Alice面对安全威胁的担忧,接下来我们还是有必要整体介绍,密码学的常用要点。

在之前,其实我们简要介绍过了对称密钥,也就是加密和解密用的是同一套密钥。关于具体的对称密钥算法,还是有必要介绍AES, 一般会将明文分成128bit的明文块,密钥长度有128,192,256bit三种选择,对于128而言,加密轮数为10轮。分别用到了XOR运算,字母替换,行移位,列混淆一套组合拳,然后经过10轮加密计算得到密文。

听起来挺复杂的,其实逻辑很简单,通过一堆骚操作之后,让你看不懂密文,除非拿到密钥解密得到消息。但对于Alice想跟Bob表白这件事情来说,也最好不要这样,除非你确定Bob对密码学很感兴趣。即使Bob拿到了密钥,你手把手教他解密,把最后的I LOVE YOU的信息给解出来也不是件容易的事。

非对称密钥

对称密钥有个问题,情书发送的时候,要顺带把钥匙也给对方,不然对方是解不开的,此时不仅要保护情书不落入情敌手中,同时也要确保密钥的安全。也就是说对称密钥存在密钥配送的问题。 1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。 也就是我们经常提到的非对称加密,咋个理解法?在《图解密码技术》里面提了个非常有意思的说法解释公钥和私钥的关系。 假如Alice到超市购物要存包,先投一枚硬币,此后空箱子弹开,你放上你的私人物品后,合上寄存柜的门,然后自动弹出一个小纸条,那个小纸条你得拿好,上面的条形码是唯一的,到时拿着纸条对着扫码机扫一下,解锁后寄存柜打开,然后完成这个过程。

这样一套自动化系统成功的解决存包管理的问题,同时将寄存柜变成了公共设施,同时还能收一笔使用费用。其中硬币相当于公钥,谁都可以有,你有了一块钱就可以锁上柜子,然后你的柜子只有你自己的纸条能打开,相当于私钥。 也就是说公钥加密,私钥解密。非对称加密尽管增加了一套密钥分发系统,但是相对于对称加密每次都要随带密钥,不仅提高了安全性,还省了内存。 关于非对称密码的算法实现,不得不提到RSA,其逻辑如下:

密文=明文^E mod N, 密文等于明文的E次方,然后除以N的余数。 E和N构成公钥,D和N构成私钥,中间的数学算法在此就不细展开了,如果大家感兴趣查阅相关的资料。 不管是对称加密,还是非对称加密,解决的核心问题还是机密性,不希望别人看到个人的隐私信息,密钥本身也同等重要,比如利用随机数加密数据,也就是一次性密码,只是长度与明文一样长,保护明文与密钥成本相同,那就脱离加密本身的初衷,但那也是唯一无法破解的密码,不过没有实用的价值,此时说世界上没有绝对的安全,一点也不为过。

单向散列函数

如果加密和解密的渠道都是正常进行的,万一有人篡改了消息的内容,又该如何保证呢? 每次发来的文件消息数据量巨大,不可能挨个原文比对验证完整性,那工作量太大了。此时单向散列函数就出现了。 单向散列函数,首先是单向不可逆的,你无法通过散列值计算出明文,另外是压缩数据,不管多大的数据,都可以计算出固定长度的散列值。最后就是消息不同,散列值也不同,消息稍微有点变化,散列值本身就会有很大的变化。 如果说消息传递时空间的有效性,你可以通过安全传输协议来保证其安全,如果消息时间的有效性,你可以通过前后对比计算散列值得到结果,针对昨天和今天的校验值,你如何校验呢?此时计算消息的散列值,然后对比,这问题就可以解决了,其逻辑步骤如下:

消息认证

Bob怎么确定发送者是Alice呢?这就要验证消息的合法性,刚才只是按照消息原文计算了散列值,比对内容是否有篡改,主要应用的是昨天跟今天消息的对比,不涉及到消息传输。今天Bob收到情书了,想确定是Alice发来的,此时就要考虑密钥问题了。 其实消息认证码就是一种与密钥相关联的单向散列函数,有了共享密钥的参与就可以验证消息来源的合法性了,共享密钥只有发送者和接收者知道,Alice和Bob的小秘密才足以捍卫。其工作流程如下:

数字签名

通过消息认证码可以识别消息是否被篡改或者发送者身份是否被伪装,也就可以校验消息的完整性,还可以对消息进行认证。如果Alice向Bob借了1000块钱,借钱过程都是合理合法,万一有天Alice否认没有找Bob借过钱呢? 对称加密里面,密钥是双方都知晓,非对称里面公钥是公开大家都知道的,私钥只有Bob知道,真正属于Alice的个人信息并没有,也就是内容没毛病,就是没有签字画押,对了抗抵赖性,此时数字签名就派上了用场。 在非对称密钥里面,公钥加密,私钥解密。 在数字签名里面,私钥签名,公钥验签,对于初学者来说容易弄混,但是从逻辑上可以这么理解,签名是具有个人属性独一无二的,当然得用Alice得私钥签名,而验签则是任何需要验签得人都可以持有。 验证签名就是检查该消息的签名是否真的属于Alice,验证的结果可以是成功或者失败,成功则以为着这个签名是属于Alice的,失败则意味着这个签名不是属于Alice的。

总结

密码学真是为了保护Alice 和Bob的小秘密操碎心,对称密钥只有一个密钥,加解密便捷快速,但密钥同消息一起传输又不太安全,非对称密钥解决了密钥管理的问题,可又担心别人篡改了Alice情书的内容,费尽心思设计单向散列函数实现了数据比对的轻量化,Bob担心Alice借钱不承认,特意设置了数字签名,真的是太难了。 安全的本质就是信任,当你不信任对方时,会千方百计的校验对方的身份,设置各种密码措施,如果不表白似乎就没这么多事了,但为了人类的繁衍的,科技的进步,你总归是要走下去的。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    795

    浏览量

    41701
  • 信息安全
    +关注

    关注

    5

    文章

    657

    浏览量

    38932
  • 加密
    +关注

    关注

    0

    文章

    304

    浏览量

    23962

原文标题:谈谈Alice和Bob之间的小秘密

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

    本文介绍开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release系统!
    的头像 发表于 11-27 09:31 207次阅读
    OpenHarmony<b class='flag-5'>属性</b><b class='flag-5'>信息</b>怎么修改?触觉智能RK3566鸿蒙开发板来演示

    digiPCBA元件库下载(转化)本地,下载后的集成库信息无法批量隐藏属性信息

    ,器件约有1000+ 发现元件库symbol属性信息显示太多,如下图 需要逐个手动隐藏再希望平台看到后给个解决办法,或者广大道友有没有批量隐藏symbol属性信息的方法 告知一二感谢?
    发表于 11-10 13:29

    网御星云荣获信息安全服务数据安全类一级资质!

    近日,网御星云得到权威认证,荣获“国家信息安全测评信息安全服务(数据安全类一级)”资质!信息
    的头像 发表于 10-30 16:09 270次阅读
    网御星云荣获<b class='flag-5'>信息</b><b class='flag-5'>安全</b>服务数据<b class='flag-5'>安全</b>类一级资质!

    云计算安全技术与信息安全技术之间的关系

    一、引言 随着信息技术的快速发展,云计算已成为企业和个人存储、处理和分析数据的重要方式。然而,云计算的普及也带来了一系列安全问题。本文旨在探讨云计算安全技术与信息
    的头像 发表于 07-02 09:30 811次阅读

    带你走进信息安全软件架构

    经纬恒润车端信息安全解决方案整合了 MCU 端以及 MPU 端的信息安全解决方案,具体方案包括 Security Boot、安全通信、
    的头像 发表于 06-12 14:36 912次阅读
    带你走进<b class='flag-5'>信息</b><b class='flag-5'>安全</b>软件架构

    鸿蒙开发接口图形图像:【@ohos.display (屏幕属性)】

    屏幕属性提供管理显示设备的一些基础能力,包括获取默认显示设备的信息,获取所有显示设备的信息以及监听显示设备的插拔行为。
    的头像 发表于 05-30 11:39 861次阅读
    鸿蒙开发接口图形图像:【@ohos.display (屏幕<b class='flag-5'>属性</b>)】

    基于信息安全的软测工具链解决方案

    本文特别推出基于信息安全的软测工具链解决方案,为客户在信息安全方向实现自动化测试提供优选。
    的头像 发表于 04-18 18:48 814次阅读
    基于<b class='flag-5'>信息</b><b class='flag-5'>安全</b>的软测工具链解决方案

    专家访谈 | 汽车信息安全强标即将落地,企业该如何应对?(汽车安全①:信息安全

    智能网联汽车信息安全随着信息技术的快速发展和智能化趋势的持续推进,智能网联汽车为人们出行带来了前所未有的便利和智能化体验,但是随之而来的用户隐私泄露和网络攻击等安全问题也敲响了警钟。
    的头像 发表于 03-12 17:34 1185次阅读
    专家访谈 | 汽车<b class='flag-5'>信息</b><b class='flag-5'>安全</b>强标即将落地,企业该如何应对?(汽车<b class='flag-5'>安全</b>①:<b class='flag-5'>信息</b><b class='flag-5'>安全</b>)

    arcgis中如何在属性表中选择多个属性

    在ArcGIS中,你可以通过多种方式来选择属性表中的多个属性。下面是一些常用的方法: 方法一:使用Select by Attributes工具 在ArcGIS的属性表中,选择“Selection
    的头像 发表于 02-25 11:10 1.4w次阅读

    arcgis按属性选择not(t)怎么用

    ArcGIS是一款强大的地理信息系统软件,用于处理和分析地理数据。通过属性选择工具,用户可以基于数据的属性条件来选择特定的要素。 在ArcGIS中,属性选择的语法是基于结构化查询语言(
    的头像 发表于 02-25 11:08 4253次阅读

    gis按属性选择怎么选择两个

    GIS(地理信息系统)是一种用于存储、管理、处理和分析地理空间数据的技术。在GIS中,按照属性进行选择是一种常见的操作,可以根据数据记录的属性条件来筛选出符合特定要求的数据。下面将详细介绍使用GIS
    的头像 发表于 02-25 11:04 3268次阅读

    mapgis如何进行属性连接

    MapGIS是一种强大的GIS(地理信息系统)软件,它提供了许多功能来处理和分析空间数据。在MapGIS中,属性连接是一种非常有用的功能,它可以将两个或多个地图层中的属性信息进行关联和
    的头像 发表于 02-25 10:59 1720次阅读

    mapgis属性筛选表达式

    MapGIS是一种广泛应用于地理信息系统(GIS)领域的软件平台。它提供了多种功能和工具,用于处理和分析地理数据。属性筛选是MapGIS中一项重要的功能,它允许用户根据特定的属性条件来筛选要素。在这
    的头像 发表于 02-25 10:58 1718次阅读

    mapgis区属性赋参数

    MapGIS是一种基于地图信息系统的软件平台,它提供了丰富的地理空间数据处理和空间数据分析功能,可以帮助用户进行空间数据的可视化、查询、分析和决策。其中一项重要的功能就是区属性赋参数,也称为区域属性
    的头像 发表于 02-25 10:56 1130次阅读

    mapgis如何给区属性赋值

    MapGIS是一款功能强大的地理信息系统软件,它提供了丰富的功能和工具,使用户能够对地理数据进行快速、高效的管理和分析。其中一个重要的功能就是给区属性赋值,即对地图中的区域进行分类和标记,以便更好
    的头像 发表于 02-23 17:49 2359次阅读