鉴别在信息的安全领域中,对付被动***的重要措施是加密,而对付主动***中的篡改和伪造则要用鉴别 (authentication)。

报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。

使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。

鉴别与授权不同鉴别与授权 (authorization) 是不同的概念。

授权涉及到的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。

鉴别分类可再把鉴别细分为两种。

报文鉴别:即鉴别所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。这就包含了端点鉴别和报文完整性的鉴别。

实体鉴别:仅仅鉴别发送报文的实体。实体可以是一个人,也可以是一个进程(客户或服务器)。这就是端点鉴别。

报文鉴别许多报文并不需要加密,但却需要数字签名,以便让报文的接收者能够鉴别报文的真伪。

然而对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算)。

当我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。

1. 密码散列函数数字签名就能够实现对报文的鉴别。

但这种方法有一个很大的缺点:对较长的报文(这是很常见的)进行数字签名会使计算机增加非常大的负担,因为这需要较多的时间来进行运算。

密码散列函数 (cryptographic hash function)是一种相对简单的对报文进行鉴别的方法。

散列函数的两个特点散列函数的输入长度可以很长,但其输出长度则是固定的,并且较短。散列函数的输出叫做散列值,或更简单些,称为散列。

不同的散列值肯定对应于不同的输入,但不同的输入却可能得出相同的散列值。这就是说,散列函数的输入和输出并非一一对应,而是多对一的。

密码散列函数的特点在密码学中使用的散列函数称为密码散列函数。

特点:单向性。要找到两个不同的报文,它们具有同样的密码散列函数输出,在计算上是不可行的。

也就是说,密码散列函数实际上是一种单向函数 (one-way function)。

2. 实用的密码散列函数 MD5 和 SHA-1通过许多学者的不断努力,已经设计出一些实用的密码散列函数(或称为散列算法),其中最出名的就是 MD5 和 SHA-1。

报文摘要算法 MD5 公布于RFC 1321 (1991年),并获得了非常广泛的应用。

SHA-1比 MD5 更安全,但计算起来却比 MD5 要慢些。

MD5 算法MD5 是报文摘要 MD (Message Digest) 的第 5 个版本。报文摘要算法 MD5 公布于 RFC 1321 (1991 年),并获得了非常广泛的应用。

MD5 的设计者 Rivest 曾提出一个猜想,即根据给定的 MD5 报文摘要代码,要找出一个与原来报文有相同报文摘要的另一报文,其难度在计算上几乎是不可能的。

基本思想:

用足够复杂的方法将报文的数据位充分“弄乱”,报文摘要代码中的每一位都与原来报文中的每一位有关。

计算步骤:附加:把任意长的报文按模 264 计算其余数(64位),追加在报文的后面(长度项)。

填充:在报文和长度项之间填充 1~512 位,使得填充后的总长度是 512 的整数倍。填充的首位是 1,后面都是 0。

分组:把追加和填充后的报文分割为一个个 512 位的数据块,每个 512 位的报文数据再分成 4 个 128 位的数据块。

计算:将 4 个 128 位的数据块依次送到不同的散列函数进行 4 轮计算。每一轮又都按 32 位的小数据块进行复杂的运算。一直到最后计算出 MD5 报文摘要代码(128 位)。

安全散列算法(SHA-1)安全散列算法 SHA (Secure Hash Algorithm)是由美国标准与技术协会 NIST 提出的一个散列算法系列。

SHA 比 MD5 更安全,但计算起来却比 MD5 要慢些。

已制定 SHA-1、SHA-2、 SHA-3 等版本。

基本思想:要求输入码长小于 264 位,输出码长为 160 位。

将明文分成若干 512 位的定长块,每一块与当前的报文摘要值结合,产生报文摘要的下一个中间结果,直到处理完毕。

共扫描 5 遍,效率略低于 MD5,抗穷举性更高。

3. 报文鉴别码 MACMD5 实现的报文鉴别可以防篡改,但不能防伪造,因而不能真正实现报文鉴别。

例如:

(1) ***者创建了一个伪造的报文 M,然后计算出其散列 H(M ),并把拼接有散列的扩展报文冒充 A 发送给 B。

(2) B 收到扩展的报文 (M, H(M )) 后, 通过散列函数的运算,计算出收到的报文 MR 的散列 H(MR)。

(3) 若 H(M ) = H(MR),则 B 就会误认为所收到的伪造报文就是 A 发送的。

为防范上述***,可以对散列进行一次加密。

散列加密后的结果叫做报文鉴别码 MAC (Message Authentication Code)。

由于***者不掌握密钥 K,所以***者无法伪造 A 的报文鉴别码 MAC,因而无法伪造 A 发送的报文。这样就完成了对报文的鉴别。

现在整个的报文是不需要加密的。

虽然从散列H导出报文鉴别码 MAC 需要加密算法,但由于散列 H 的长度通常都远远小于报文 X 的长度,因此这种加密不会消耗很多的计算资源。

因此,使用鉴别码 MAC 就能够很方便地保护报文的完整性。

实体鉴别实体鉴别与报文鉴别不同。

报文鉴别是对每一个收到的报文都要鉴别报文的发送者。

实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。

最简单的实体鉴别过程可以使用共享的对称密钥实现实体鉴别。

A 发送给 B 的报文的被加密,使用的是对称密钥 KAB 。

B 收到此报文后,用共享对称密钥 KAB 进行解密,因而鉴别了实体 A 的身份。 因为该密钥只有 A 和 B 知道。

存在明显漏洞***者 C 可以从网络上截获 A 发给 B 的报文。

C 并不需要破译这个报文,而是直接把这个截获的、由A加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。

这种***被称为重放*** (replay attack)。C 甚至还可以截获 A 的 IP 地址,然后把 A 的 IP 地址冒充为自己的 IP 地址(这叫做 IP 欺骗),使 B 更加容易受骗。

使用不重数进行鉴别

不重数 (nonce) 就是一个不重复使用的大随机数,即“一次一数”。由于不重数不能重复使用,所以 C 在进行重放***时无法重复使用所截获的不重数。

使用公钥体制进行不重数鉴别

在使用公钥密码体制时,可以对不重数进行签名鉴别。

B 用其私钥对不重数 RA 进行签名后发回给 A。A 用 B 的公钥核实签名。如能得出自己原来发送的不重数 RA,就核实了和自己通信的对方的确是 B。

同样,A 也用自己的私钥对不重数 RB 进行签名后发送给 B。B 用 A 的公钥核实签名,鉴别了 A 的身份。

公钥密码体制虽然不必在互相通信的用户之间秘密地分配共享密钥,但仍有受到***的可能。

实例:C 冒充是 A,发送报文给 B,说:“我是 A”。

B 选择一个不重数 RB,发送给 A,但被 C 截获了。

C 用自己的私钥 SKC 冒充是A的私钥,对 RB 加密,并发送给 B。

B 向 A 发送报文,要求对方把解密用的公钥发送过来,但这报文也被 C 截获了。

C 把自己的公钥 PKC 冒充是 A 的公钥发送给 B。

B 用收到的公钥 PKC 对收到的加密的 RB 进行解密,其结果当然正确。于是 B 相信通信的对方是 A,接着就向 A 发送许多敏感数据,但都被 C 截获了。

中间人***

A 向 B 发送“我是 A”的报文,并给出了自己的身份。此报文被 “中间人” C 截获,C 把此报文原封不动地转发给 B。B 选择一个不重数 RB 发送给 A,但同样被 C 截获后也照样转发给 A。

中间人 C 用自己的私钥 SKC 对 RB 加密后发回给 B,使 B 误以为是 A 发来的。A 收到 RB 后也用自己的私钥 SKA 对 RB 加密后发回给 B,中途被 C 截获并丢弃。B 向 A 索取其公钥,此报文被 C 截获后转发给 A。

C 把自己的公钥 PKC 冒充是 A 的发送给 B,而 C 也截获到 A 发送给 B 的公钥 PKA 。

B 用收到的公钥 PKC (以为是 A 的)对数据加密发送给 A。C 截获后用自己的私钥 SKC 解密,复制一份留下,再用 A 的公钥 PKA 对数据加密后发送给 A。

A 收到数据后,用自己的私钥 SKA 解密,以为和 B 进行了保密通信。其实,B 发送给 A 的加密数据已被中间人 C 截获并解密了一份。但 A 和 B 却都不知道。

由此可见,公钥的分配以及认证公钥的真实性也是一个非常重要的问题。

计算机网络 鉴别释义,计算机网络 鉴别相关推荐

  1. 第1章 计算机网络和因特网-计算机网络

    目录 目录 教材 第1章  计算机网络和因特网 计算机网络和Internet发展史:了解即可 什么是Internet? 计算机网络:两台计算机相互链接 Internet: "由网络构成的网络 ...

  2. B站王道论坛计算机网络,成都理工大学计算机网络考研学长经验分享

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 成理计算机网络考研学长经验 随着计算机(软件工程)报考热,学校为了有区分度,根据学校规划2021年简章将计算机科学与技术(学硕)和电子信息(专硕)专业课从 ...

  3. 计算机网络分为两大阶段,【多选题】计算机网络的发展分为哪些阶段?() A. 远程终端联机阶段 B. 计算机网络阶段 C. 计算机网络互联阶段 D. 信息高速公路阶段...

    [多选题]计算机网络的发展分为哪些阶段?() A. 远程终端联机阶段 B. 计算机网络阶段 C. 计算机网络互联阶段 D. 信息高速公路阶段 更多相关问题 冰箱要定期清洗,清洗冰箱应用无腐蚀的消洁剂稀 ...

  4. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )

    文章目录 一.计算机网络分层结构 二.OSI 七层参考模型 三.应用层 四.表示层 五.会话层 六.传输层 七.网络层 八.数据链路层 九.物理层 一.计算机网络分层结构 计算机网络分层结构 : ① ...

  5. 计算机网络知识点1——计算机网络概述

    什么是计算机网络? 计算机网络=通信技术+计算机技术 计算机网络是通信技术与计算机技术紧密结合的产物 计算机网络就是一种通信网络 计算机网络的定义:计算机网络就是互连的.自治的计算机集合. 自治-无主 ...

  6. 计算机网络课程计划,计算机网络教学计划2017

    计算机网络教学计划2017 教学计划(课程计划)是课程设置的整体规划,它规定不同课程类型相互结构的方式,也规定了不同课程在管理学习方式的要求及其所占比例.下面是小编整理的计算机网络教学计划范文,希望对 ...

  7. 应用计算机网络的方面,计算机网络技术在电子信息工程中的应用研究(1)

    杨浩章 叶雨泓 杨鹏进 摘要:在科技飞速发展的21世纪,人类文明已经达到了前所未有的阶段.互联网随着新时代也逐渐进入日常生活中.电子信息技术广泛应用于社会生活中,计算机网络技术与电子信息技术的兴起会对 ...

  8. 计算机网络西北大学,西北大学计算机网络复习资料 (拟).doc

    **** 计算机网络复习 TOC \o "1-3" \h \z \u 一.计算机网络概论 3 (一)计算机的形成与发展 3 (二)计算机网络定义与分类 3 (三)计算机网络结构 4 ...

  9. 计算机网络分层作业,计算机网络作业布置-参考答案

    第一章作业参考答案 1. 什么是计算机网络?什么是网络协议?网络协议的要素有哪些? 答:计算机网络是指具有独立功能的计算机,通过网络通讯设备连接起来,能够实现数据通信和资源共享的计算机系统的集合. 网 ...

最新文章

  1. redis代码 支持的数据结构
  2. SimpleDateFormat解析的时候字符串过长问题
  3. CF932G-Palindrome Partition【PAM】
  4. stringbuffer_StringBuffer的存在的含义
  5. 数据结构之查找算法:B+树
  6. 罗永浩回应被“Sharklet 科技解约”;12306 已屏蔽多个抢票软件;FreeDB 将关闭 | 极客头条...
  7. linux shell crontab 定时操作(转)
  8. 安卓没有第三方rec获取root教程,成功率90%
  9. 【教程】怎样把高德打车优惠券的cps链接添加到微信公众号里面
  10. 两个PDF比较标出差异_怎样核对两份word文档内容差异?我用2小时,同事仅用2分钟搞定...
  11. 从发不起工资到融资1650万,逸创创始人叶翔如何熬过来的?
  12. ecu故障现象_分析及检修汽车ECU常见故障
  13. Android数据库更新并保留原来数据的实现
  14. 【菜鸟进阶之路】P6367 [COCI2006-2007#6] PRASE - 洛谷
  15. 利用python-opencv彩色图片转黑白图片
  16. 判断某整数是正整数、负整数还是零
  17. cf Round#779 D 388535
  18. 世界顶级食材——挑动你的食欲
  19. 学习Lucene、solr之前应当了解的一些术语
  20. Linux-2.4.0 下半部机制分析

热门文章

  1. 爬取可搜索百度图片并下载到本地——以远洋椿萱茂词条为例
  2. 关于Java Advanced Imaging(JAI)的一点积累
  3. sql中的execute与sp_executesql
  4. Web网站模板-响应式个人企业照片墙展示网站模板(HTML+CSS+JavaScript)
  5. 南京大学软件学院2019夏令营小记
  6. tgp助手开启逆战游戏无反应
  7. 102 Three.js 使用几何体生成拱门形状
  8. 计算机软件技术实习 迷宫游戏(一)
  9. ios keychain 不被清理_推荐一款清理手机清理软件(真他嘛的良心啊)dir dir
  10. Docker#Docker的基本使用