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

    文章

    705

    浏览量

    41248
  • 信息安全
    +关注

    关注

    5

    文章

    619

    浏览量

    38687
  • 加密
    +关注

    关注

    0

    文章

    292

    浏览量

    23590

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

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

收藏 人收藏

    评论

    相关推荐

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

    智能网联汽车信息安全随着信息技术的快速发展和智能化趋势的持续推进,智能网联汽车为人们出行带来了前所未有的便利和智能化体验,但是随之而来的用户隐私泄露和网络攻击等安全问题也敲响了警钟。
    的头像 发表于 03-12 17:34 695次阅读
    专家访谈 | 汽车<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 3960次阅读

    mapgis如何给区属性赋值

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

    如何快速为DB块变量添加属性

    有些情况需要为PLC DB块变量添加一些属性,常规的做法是在DB块中选中这个变量,然后打开变量属性输入属性名称和属性值。
    的头像 发表于 01-02 14:18 697次阅读
    如何快速为DB块变量添加<b class='flag-5'>属性</b>

    STM32 TrustZone 开发调试技巧— 地址安全区及资源安全属性配置

    电子发烧友网站提供《STM32 TrustZone 开发调试技巧— 地址安全区及资源安全属性配置.pdf》资料免费下载
    发表于 12-18 11:10 0次下载
    STM32 TrustZone 开发调试技巧— 地址<b class='flag-5'>安全</b>区及资源<b class='flag-5'>安全</b><b class='flag-5'>属性</b>配置

    EMC分析时需考虑的5个重要属性

    EMC分析时需考虑的5个重要属性  在进行EMC分析时,需要考虑以下五个重要属性: 1. 安全性(Security): 在选择和使用EMC解决方案时,安全性是最重要的
    的头像 发表于 11-30 15:32 444次阅读

    placeholder属性和value属性的差别

    在现代的Web设计和开发中,表单是至关重要的元素之一。与此同时,placeholder属性和value属性在表单中扮演着重要的角色。本文将详细探讨这两个属性的区别,深入探究它们在不同场景下的应用及其
    的头像 发表于 11-30 10:13 440次阅读

    placeholder属性的作用

    placeholder属性是HTML表单中的一个属性,用于为表单字段提供占位符文本。当用户点击或选择表单字段时,占位符文本会消失,用户可以输入自己的内容。它的主要作用是为用户提供一些提示信息,让用户
    的头像 发表于 11-30 10:12 458次阅读

    常见的网络信息安全基本属性包括哪些

    完整性(Integrity)是指网络信息或系统未经授权不能进行改变的特性。即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。数据的完整性是指保证计算机系统上的数据和信息处于一种完整和未受损害的状态,这就是说数据不会因为
    发表于 10-30 10:20 651次阅读
    常见的网络<b class='flag-5'>信息</b><b class='flag-5'>安全</b>基本<b class='flag-5'>属性</b>包括哪些

    学习笔记|硬件安全属性介绍

    学习笔记|硬件安全属性介绍
    的头像 发表于 09-26 17:16 424次阅读
    学习笔记|硬件<b class='flag-5'>安全</b><b class='flag-5'>属性</b>介绍

    Armv8-A和Armv9-A的内存属性属性介绍

    1. 本指南介绍Armv8-A和Armv9-A的内存属性属性。它首先解释内存的属性来自何处,如何分配到内存区域,然后介绍现有的不同属性,并解释内存顺序的基本特性。这一
    发表于 08-02 09:03

    广电计量在信息安全版块持续布局 守护信息质量安全

      6月,由中国基本建设优化研究会主办、北京蓝象标准咨询服务有限公司承办的“信息安全技术和信息技术应用创新”系列15项团体标准启动会暨首次研讨会在北京召开。 广电计量主编《信息
    的头像 发表于 06-30 17:01 469次阅读

    求分享有关eDMA引擎生成的AHB事务属性信息

    我正在寻找有关 eDMA 引擎生成的 AHB 事务属性信息,通常是可以生成的事务的内存类型(与 HPROT 信号相关联)。 直觉上,我倾向于将每个事务都视为不可缓存、不可缓冲(device-nE 内存类型),但我找不到对此的确认。
    发表于 05-31 09:09

    安全管理编辑器属性介绍

    ) 中,将显示安全程序中所用 F 块以及这些块属性信息。 •  F  型 PLC  数据类型 (F -compliant PLC data types)  在“F 型 PLC  数据类型”(F-compliant PLC da
    的头像 发表于 05-29 09:50 370次阅读
    <b class='flag-5'>安全</b>管理编辑器<b class='flag-5'>属性</b>介绍

    Linux系统如何修改文件属性与权限

    我们已经深入学习了Linux系统中用户和用户组的基本概念。每个文件和目录都具有“所属用户”和“所属用户组”这两个属性,这两个属性对文件权限及安全性至关重要。本节我们就来学习如何修改一个文件的“所属用户”和“所属用户组”这两个
    的头像 发表于 05-12 15:29 1973次阅读
    Linux系统如何修改文件<b class='flag-5'>属性</b>与权限