码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 11.3、网络身份认证的过程、数字签名、秘钥分发中心(KDC)、公钥认证中心(CA)、安全电子邮件


    合集 - 【计算机基础】计算机网络(30)
    1.1、计算机网络概述05-182.2、网络核心的数据交换05-183.3、计算机网络的性能参数05-184.4、计算机网络体系结构05-185.5、网络应用05-186.6、Socket编程05-187.7.1、传输层的可靠数据传输05-198.7.2、传输层的拥塞控制05-199.7.3、传输层的拥塞控制算法—Tahoe算法和Reno算法05-1910.8.1、网络层—虚电路网络和数据报网络,IP协议的数据报,IP分组的分片,IP编址和IP子网05-1911.8.2、网络层—有类IP地址的子网划分和无类地址间路由(CIDR)05-1912.8.3、网络层—DHCP协议05-1913.8.4、网络层—NAT协议(简介)05-1914.8.5、网络层—ICMP协议和ICMP协议的应用05-1915.8.6、网络层—IPV6协议05-1916.8.7、网络层—路由算法(Dijkstra算法、Bellman-Ford算法)05-1917.8.8、网络层—层次路由,RIP协议,OSPF协议,BGP协议05-1918.9.1、数据链路层—概述05-1919.9.2、数据链路层—差错编码05-1920.9.3、数据链路层—多路访问协议05-2021.10.1、局域网—ARP协议05-2022.10.2、局域网—以太网05-2023.10.3、局域网—交换机,虚拟局域网05-2024.10.4、局域网—PPP协议05-2025.11.1、网络安全基本概念和网络威胁的种类05-2026.11.2、密码学基础和RSA算法05-20
    27.11.3、网络身份认证的过程、数字签名、秘钥分发中心(KDC)、公钥认证中心(CA)、安全电子邮件05-20
    28.11.4、Web安全威胁和SSL05-2029.11.5、VPN和IPSec05-2030.11.7、访问控制与防火墙05-20
    收起

    一、网络身份认证的过程

      假设网络中存在正常通信的结点Bob和Alice,还存在Bad Guys结点Trudy,Bod和Alice的目的是他们双方之间的通信不能被Trudy看见,那么Bod和Alice在通信的时候就需要进行以下一步一步的防御:

    • Bod和Alice规定协议ap1.0,直接通信,这种身份认证可以直接被Trudy截获和伪造,如下:
      image
      image

    • Bod和Alice规定协议ap2.0,在ap1.0协议上,多加了一个通信的IP分组并包含Alice的源IP地址,这种身份认证也可以直接被Trudy截获和伪造,如下:
      image
      image

    • Bod和Alice规定协议ap3.0,在ap2.0协议上,多加了一个密码,这种身份认证的信息可以被Trudy嗅探(sniffing)到并伪造出来,如下:
      image
      image

    • Bod和Alice规定协议ap3.1,在ap3.0协议上,将Alice的密码进行加密,这种身份认证的信息可以被Trudy记录下来,并进行回放攻击(playback attack),如下:
      image
      image

    • 为了避免回放攻击,Bod和Alice规定协议ap4.0,在ap3.1协议上,加入1个一次性随机数(一个链接内只用一次的随机数R),并利用Alice和Bob都知道的共享密钥对这个随机数R进行加密,如下:
      image

    在实际应用的场景中,怎样让Alice和Bob两个人都提前知道这个共享密钥对(共享密钥对的分发问题)是一个不好解决的问题(可以用密钥分发中心KDC解决),因此有了协议ap5.0。

    • 协议ap4.0需要一个共享密钥,并且Alice和Bob两个人必须都提前知道这个共享密钥KA-B ,为了解决这个问题,Bod和Alice规定协议ap5.0,利用一次性随机数技术(一个链接内只用一次的随机数R)+ 公钥加密技术,这种身份认证的方式可以被Trudy记录下来,并进行中间人攻击(man in the middle attack),如下:
      image
      image

    虽然Bob与Alice可以收到彼此发送的所有信息,但是Trudy通过中间人攻击(man in the middle attack)也收到了所有信息。

    二、用散列函数来保证报文完整性的方法与缺陷和数字签名

      报文/消息完整性(message integrity),也称为报文/消息认证(或报文鉴别),有以下5个目标:
    ①、证明报文确实来自声称的发送方;
    ②、验证报文在传输过程中没有被篡改;
    ③、预防报文的时间、顺序被篡改;
    ④、预防报文持有期被修改;
    ⑤、预防发送方/接收方抵赖。

    2.1、用散列函数来保证报文完整性的方法

      对报文m应用散列函数H(MD5和SHA-1),得到一个固定长度的散列码,称为报文摘要(message digest), 记为H(m),H(m)可以作为报文m的数字指纹(fingerprint)。
    image

    通过报文摘要(message digest)进行报文认证的方式,有以下2种:

    • 直接用报文摘要(message digest)和报文组成扩展报文(m,H(m))
      image

    这种方式容易被伪造,可以用共享密钥的方式来保证报文的完整性

    • 报文摘要(message digest)生成时加入发送方和接收方都知道的认证密钥s来防止第三方伪造,该方式被称为报文认证码MAC(Message Authentication Code)技术
      image

    这种方式容易虽然可以防止第三方伪造报文摘要(message digest),但是不能防止接收方篡改报文(可伪造)

    2.2、数字签名
    • 数字签名具有以下特性:
      image

    • 数字签名的过程
      image

    • 数字签名的可验证性和不可抵赖性
      image

    2.3、数字签名的应用——一般与散列函数(MD5或者SHA-1)一起应用

    image

    三、密钥分发中心(Key Distribution Center)—解决了ap4.0的问题

      每个注册用户只知道自己其与KDC之间的密钥,比如Alice和Bob只知道自己与KDC之间的对称密钥,用于分别与KDC进行秘密通信,KDC为Alice与Bob之间发放共享密钥对的过程,如下所示:
    image

    以上KDC的执行过程,如下所示:
    ①、Alice要和Bob通信前,先用Alice和KDC之间对称密钥加密自己的身份信息和Bob的身份信息,结果为KA-KDC(A,B),发送给KDC;
    ②、KDC收Alice发送的 KA-KDC(A,B)后,KDC利用Alice和KDC之间对称密钥解密 KA-KDC(A,B)后,就知道了Alice希望与Bob进行通信,并产生R1;
    ③、然后,KDC利用Bob和KDC之间对称密钥加密Alice的身份信息和R1,结果为KB-KDC(A,R1),并将该结果和R1用Alice和KDC之间对称密钥再进行加密,形成KA-KDC(R1,KB-KDC(A,R1)),发送给Alice;
    ④、Alice收KDC发送的KA-KDC(R1,KB-KDC(A,R1))后,Alice利用Alice和KDC之间对称密钥解密KA-KDC(R1,KB-KDC(A,R1)),获取到了R1和KB-KDC(A,R1)(Alice无法解密该信息);
    ⑤、Alice将KB-KDC(A,R1)发送给Bob;
    ⑥、Bob收Alice发送的KB-KDC(A,R1)后,利用Bob和KDC之间对称密钥解密KB-KDC(A,R1),获取到了R1;
    ⑦、Alice和Bob用密钥R1进行通信。

    四、公钥认证中心(CA)—解决了ap5.0的问题

      ap5.0的问题主要点在于当Alice获得了Bob的公钥 (通过web网站、e-mail、磁盘等),她怎么确认这真的是Bob的公钥而不是Trudy的?因此就有了公钥认真中心,具体如下:
    image
    image

    公钥证书的内容如下图所示:
    image

    五、安全电子邮件

      安全电子邮件的要求有以下4个目标:
    ①、机密性:只有真正的接收方才能阅读邮件;
    ②、完整性:电子邮件在传输过程中不被修改;
    ③、身份认证性:电子邮件的发送者不被假冒;
    ④、抗抵赖性:发信人无法否认发过电子邮件。

    5.1、只有机密性和完整性的电子邮件(缺少身份认证性和抗抵赖性)

    image

    5.2、只有身份认证性、完整性和抗抵赖性的电子邮件(缺少机密性)

    image

    5.3、符合所有安全电子邮件特性的电子邮件(机密性、完整性、身份认证性、抗抵赖性)——一般应用在实际工程中

    image

    5.4、安全电子邮件标准——PGP(Pretty Good Privacy)标准(5.3小节中描述的工作过程)

    image
    image
    image

    PGP的功能框架与5.3小节中 描述的工作过程相同,只是在最后传输的时候用了Base64编码。
    image
    image

    5.4、S/MIME标准

    image

  • 相关阅读:
    22年11月工作笔记整理(前端)
    js数据过滤算法搭建
    扎实的基础知识+正确的方法是快速阅读源码的关键
    VSCODE 插件推荐
    【Qt】Qt再学习(十七):QThread、QMutex、QTimer
    基于RK3588的全国产鸿蒙边缘计算工控机在智能交通ETC收费系统的应用
    JUC并发编程——Volatile详解(基于狂神说的学习笔记)
    卷积神经网络中的卷积核,卷积神经网络大小计算
    【wpa_supplicant】从 assoc 动作窥伺supplicant与driver的交互(二)
    关于HTTP模块访问之后响应网页
  • 原文地址:https://www.cnblogs.com/Carey-ccl/p/20091865
  • 最新文章
  • C# 内存安全性的重大演进:重新定义 unsafe 关键字
    [MAF的Agent管道详解-05]对话历史的持久化和输入输出的增强
    一行代码干翻 Java 反射?EggG 流式反射调用让反射优雅到不可思议
    vibe coding(二)Where you go:一个微型 windows 桌面覆盖工具
    [送码] 用 AI Coding 做了一个 App,谈谈 AI Coding 的真实体验
    面试官:说一下 Agent 的常见范式,如何选型?
    CAD子系统,是自研还是外包?
    polygon出题教程
    Manim物理模拟:别自己写欧拉了!
    AI 学习笔记:Agent 的应用演示
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号