密钥分发与公钥认证:保障网络通信的安全

在网络通信中,密钥的安全分发和公钥的有效认证是确保系统安全的关键。本文将为基础小白介绍密钥分发与公钥认证的基本概念和实际应用,帮助大家更好地理解这些技术如何保障我们的网络通信安全。

1. 密钥分发与公钥认证的背景

由于密码算法是公开的,因此密钥系统的安全性依赖于密钥的安全保护。在对称密钥密码体制中,通信双方要共享一个秘密密钥,如何将密钥分发到通信的双方是一个需要解决的问题。显然密钥必须通过安全的通路进行分发。

1.1 网外分发与网内分发

一种方法是派非常可靠的信使携带密钥分发给互相通信的用户,这种方法称为网外分发。但随着用户的增多和通信量的增大,密钥更换频繁(密钥必须定期更换才能做到可靠),派信使的办法将不再适用。因此,必须解决网内密钥自动分发的问题。

1.2 公钥的发布

对于公钥密码体制,虽然不需要共享密钥,公钥可以发布在报纸或网站上,但如何验证该公钥确实是某实体真正的公钥仍然是一个问题。这些问题的解决可以通过使用一个可信的中介机构来实现。

2. 对称密钥的分发

对称密钥的分发问题在于如何让通信双方共享密钥。目前常用的对称密钥分发方式是设立密钥分发中心(Key Distribution Center,KDC) 。KDC是一个大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分发一个会话密钥。

2.1 KDC的工作原理

image

图7—10展示了KDC进行密钥分发的基本过程。假定用户A和B都是KDC的登记用户,他们分别拥有与KDC通信的主密钥KA和KB。密钥分发的三个步骤如下:

  1. 用户A请求通信:用户A向KDC发送用自己私有的主密钥KA加密的报文E(A,B),说明想和用户B通信。
  2. KDC生成会话密钥:KDC用随机数产生一个“一次一密”密钥R供A和B这次的通信使用,然后向A发送回答报文,这个回答报文用A的主密钥KA加密,报文中有密钥R和请A转发给B的报文E(KB)(A,R),但报文E(KB)(A,R)是用B的主密钥KB加密的,因此A无法知道报文E(KB)(A,R)的内容。
  3. 用户A转发报文:用户A将报文E(KB)(A,R)转发给B。B收到后,用自己的主密钥KB解密,知道A要和它通信,同时也知道和A通信时所使用的密钥R。

此后,A和B就可使用这个一次一密的密钥进行本次通信了。

2.2 防止重放攻击

KDC还可在报文中加入时间戳,防止报文的截取者利用以前记录下的报文进行重放攻击。密钥R是一次性的,因此保密性较高。而KDC分配给用户的主密钥,如KA和KB,都应定期更换以减少攻击者破译密钥的机会。

3. 公钥的签发与认证

在公钥体制中,如果每个用户都具有其他用户的公钥,就可实现安全通信。这样看来好像可以随意公布用户的公钥。其实不然。

3.1 认证中心(CA)

为了确保公钥的真实性,需要有一个认证中心(Certification Authority, CA) 将公钥与其对应的实体(人或机器)绑定。认证中心一般由政府或权威机构出资建立,负责为用户的公钥签发证书。

3.2 CA签发证书的过程

  1. 验证身份:用户向CA申请证书,提交身份证明文件。CA核实用户的真实身份。
  2. 生成密钥对:CA为用户生成私钥和公钥对,并生成证书。证书中包含公钥及其拥有者的身份标识信息(如人名、公司名或IP地址)。
  3. 签名与发布:CA用自己的私钥对证书进行数字签名,确保证书的真实性。用户可以将证书通过网络发送给希望与之通信的实体,或存放在服务器供其他用户下载。

3.3 PKI层次结构

image

由一个CA来签发全世界所有的证书显然是不切实际的。这会带来负载过重和单点故障问题。一种解决方案是将许多CA组成一个层次结构的公钥基础设施(Public Key Infrastructure,PKI) ,在全球范围内为所有互联网用户提供证书的签发与认证服务。

下级CA的证书由上级CA签发和认证。顶级的根CA能验证所有1级CA的证书,各个1级CA可以在一个很大的地理区域或逻辑区域内运作,而2级CA可以在一个相对较小的区域内运作。

3.4 PKI的信任链

所有用户都信任该层次结构中顶级的CA,但可以信任也可以不信任中间的CA。用户可以在自己信任的CA获取个人证书,当要验证来自不信任CA签发的证书时,需要到上一级验证该CA的证书的真伪,如果上一级CA也不可信任,则需要到更上一级进行验证,一直追溯到可信任的一级CA。这一过程最终有可能一直追溯到根CA。

4. 密钥分发与公钥认证的实际应用

4.1 电子商务

在电子商务中,密钥分发与公钥认证确保了交易双方的身份验证和数据传输的机密性。例如,用户在进行网上支付时,支付平台使用公钥加密用户的支付信息,确保信息在传输过程中不被窃取或篡改。

4.2 企业内部通信

企业内部通信中,使用KDC分发对称密钥,可以确保员工之间的通信安全。通过CA认证,企业可以确保只有经过认证的员工设备才能接入内部网络。

4.3 物联网(IoT)

在物联网中,设备之间的通信安全至关重要。通过PKI,设备可以获得证书并相互认证,确保只有可信设备才能加入网络并进行通信。

访问控制策略

访问控制策略是保障授权用户能获取所需资源的同时拒绝非授权用户的安全机制,确保网络资源不被非法使用和访问。

4.1 访问控制的基本概念

在信息系统中,用户通过身份鉴别进入系统后,只能访问授权范围内的资源。身份鉴别是信息系统的第一道安全防线,访问控制则是第二道安全防线,对合法用户进行监督和限制,解决“合法用户在系统中对各类资源以何种权限访问”的问题。

4.2 访问控制的基本要素

访问控制包括主体客体访问访问控制策略等基本要素:

  • 主体(Subject) :访问活动的发起者,可以是用户、进程、服务或设备。
  • 客体(Object) :被访问的对象,如信息、文件、设备、资源、服务等。
  • 访问:对资源的各种操作类型,如读取、修改、创建、删除、执行、发送、接收等。
  • 访问控制策略:系统的授权行为规则,限制主体对客体的访问类型,通常存储在系统的授权服务器中。

4.3 访问控制策略的类型

4.3.1 自主访问控制(DAC)

自主访问控制基于主客体的隶属关系,客体的拥有者可以自主决定其他主体的访问权限。尽管灵活,但存在缺陷:权限管理分散,容易出现漏洞,难以控制被攻击主体的破坏行为。

4.3.2 强制访问控制(MAC)

强制访问控制不允许一般主体设置访问权限,主体和客体被赋予安全级别,只有安全管理员可以设定。系统通过比较安全级别决定访问权限,防止木马等恶意程序的窃密攻击。

4.3.3 基于角色的访问控制(RBAC)

基于角色的访问控制旨在降低安全管理的复杂度,根据安全策略划分不同角色,用户通过角色与许可关联。一个用户可以拥有多个角色,一个角色也可以被赋予多个用户;角色与许可之间的关系比直接赋予用户权限更加稳定和可管理,有效降低授权复杂性。

5. 总结

密钥分发与公钥认证是保障网络通信安全的基石。通过对称密钥分发中心(KDC)和公钥认证中心(CA),可以有效解决密钥分发和公钥认证的问题,确保通信双方的身份真实性和数据传输的机密性。

图文来源:《计算机网络教程》第六版微课版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417624.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

_get_gt_mask、cat_mask、_get_other_mask

import torch# 定义获取标签掩码的函数 def _get_gt_mask(logits, target):print("原始 logits:\n", logits)print("目标 target:\n", target)# 将 target 拉平为一维张量target target.reshape(-1)print("拉平后的 target:\n", target)# 创建一…

C端产品如何转行成为大模型产品经理?

1、能力优劣势 C端产品经理的优势在于对用户需求、用户体验、数据分析、市场竞争等方面有较深的理解和实践,能够从用户视角出发,设计出吸引和留住用户的产品功能和交互。 C端产品经理的劣势在于对大模型的技术原理、应用场景、生态建设等方面缺乏足够的…

探伤仪的介绍

探伤仪就是一个高级测厚仪而已。 也有人说探伤仪功能那么强大,怎么说实质上就是一个测厚仪呢, 大家想想看,所谓探伤,最基本的要求就是测出工件内部缺陷的位置,这不就是测厚功能吗, 当然除了测厚&#xf…

pyro ExponentialLR 如何设置优化器 optimizer的学习率 pytorch 深度神经网络 bnn,

第一。pyro 不支持 “ReduceLROnPlateau” ,因为需要Loss作为输入数值,计算量大 pytorch的学习率调整 视频 看这个博主的视频 05-01-学习率调整策略_哔哩哔哩_bilibili 第二 ,svi 支持 scheduler注意点, 属于 pyro.optim.PyroOp…

从0到1深入理解vite

一、什么是构建工具 ts:如果遇到ts文件,我们需要使用tsc把ts转换为jsreact/vue : 安装react-compiler、vue-conplier 将我们写的jsx或者vue文件转换成render函数less/sass/postcss/somponent-style:我们又需要less-loader、sass-loader等一系列编译工具…

目标检测-RT-DETR

RT-DETR (Real-Time Detection Transformer) 是一种结合了 Transformer 和实时目标检测的创新模型架构。它旨在解决现有目标检测模型在速度和精度之间的权衡问题,通过引入高效的 Transformer 模块和优化的检测头,提升了模型的实时性和准确性。RT-DETR 可…

Ceph RBD使用

CephRBD使用 一、RBD架构说明二、RBD相关操作1、创建存储池2、创建img镜像2.1 创建镜像2.1.2 查看镜像详细信息2.1.3 镜像其他特性2.1.4 镜像特性的启用和禁用 3、配置客户端使用RBD3.1 客户端配置yum源3.2 客户端使用admin用户挂载并使用RBD3.2.1 同步admin账号认证文件3.2.2 …

社交媒体的智能变革:Facebook AI优化用户体验

Facebook作为全球领先的社交平台,一直致力于通过人工智能(AI)技术提升用户体验。AI技术在Facebook的应用涵盖了推荐系统、自然语言处理、广告投放和用户反馈等多个方面,使平台的互动和内容体验更加智能和个性化。 推荐系统的智能化…

结构型设计模式—外观模式

结构型设计模式—外观模式 在软件开发的过程中,你是否遇到过这样的情况:你需要调用一个复杂系统中的多个模块,而每个模块都有自己的接口和使用方法,这让你不得不面对复杂的调用逻辑和大量的冗余代码?这时候&#xff0…

【网络安全】XSS+OTP绕过+账户接管

未经许可,不得转载。 文章目录 正文XSSOTP绕过账户接管正文 目标:www.example.com XSS 不断寻找可能存在XSS的点位。 终于,在个人资料页面:www.example.com/profile_details.php?userid= ,使用Payload<script>alert(1)</script>,实现XSS: 因此,能够实…

vxe-table——实现table 动态显示 +冻结列等功能——技能提升

之前我也有写过类似的功能&#xff0c;就是可以自定义勾选需要展示的列。 不过之前是我自己写的弹窗处理的&#xff0c;有现成的插件vex-table插件可以使用。 vxe-table官网&#xff1a;https://vxetable.cn/v3/#/table/api 解决步骤1&#xff1a;安装vxe-table——npm inst…

HTTP状态码介绍,带你了解请求响应全过程

1xx状态码&#xff1a;&#x1f449;表示信息响应&#xff0c;客户端请求已被接收&#xff0c;继续处理。 100 - Continue&#xff1a;客户端应继续其请求。&#x1f914; 101 -Switching Protocols&#xff1a;服务器已经理解并接受了客户端的请求&#xff0c;将切换协议。 10…

【自用14】C++俄罗斯方块-思路复盘

1.编写主函数 int main(void){welcome();//欢迎函数system("pause");//窗口停留colsegraph();//关闭图画return 0;//返回值 }其中包含有最开始的欢迎&#xff0c;以及基础的窗口停留、图画关闭和返回值语句 2.编写欢迎函数 需求&#xff1a; 欢迎函数中需要包含的…

Java如何读取resources目录下的文件路径(九种代码示例教程)

本文摘要&#xff1a;Java如何读取resources目录下的文件路径 &#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。公粽号&#xff1a;洲与AI。 &#x1f91…

教育行业解决方案:智能PPT在教育行业的创新应用

在信息化时代&#xff0c;教育行业面临着巨大的变革。随着人工智能技术的不断发展&#xff0c;传统教学方式正在被重新定义。彩漩科技作为 AI 技术的先行者&#xff0c;推出了歌者 PPT &彩漩 PPT&#xff0c;为教师、学生和家长提供了一种全新的教育体验&#xff0c;实现了…

Quartz.Net_持久化

简述 通常而言&#xff0c;Quartz.Net的数据默认是存储在运存中的&#xff0c;换言之&#xff1a;断电即失。所以在默认情况下&#xff0c;当系统重启后&#xff0c;原先的所有任务、触发器、调度器都会失效 为避免上述情况的发生&#xff0c;可以对Quartz.Net进行持久化设置…

第二十一届华为杯数学建模经验分享之资料分享篇

今天给大家分享一些数学建模的资料&#xff0c;通过这些资料的学习相信你们一定在比赛中获得好的成绩。今天分享的资料包括美赛和国赛的优秀论文集、研赛的优秀论文集、推荐数学建模的相关书籍、智能算法的学习PPT、python机器学习的书籍和数学建模经验分享与总结&#xff0c;其…

[Hive]五、Hive 源码编译

G:\Bigdata\2.hive\大数据技术之Hive源码编译 Hadoop3.3.1 Hive3.1.3 Spark3.3.1 Hive on spark / spark on hive 均验证通过。 第1章 部署Hadoop和Hive 1.1 版本测试 Hadoop3.3.6 和Hive3.1.3 运行hive客户端时报错: java.lang.NoSuchMethodError:com.google.common.ba…

蓝桥杯:整数删除

// 蓝桥杯整数删除.cpp : Defines the entry point for the console application. //#include "stdafx.h" #include<stdio.h> #define MAX 100 void findmin(int a[],int n,int& pos) {int mina[0];pos0;//pos0我开始忘了&#xff0c;特别注意边界for(int …

怎么才能快速提升网站在谷歌的收录?

​想让你的网站在谷歌快速收录&#xff0c;其实正常的方法都需要时间&#xff0c;无论是定期更新&#xff0c;提交网站地图&#xff0c;搞外链建设啥的&#xff0c;这些方法虽然有效&#xff0c;但见效慢。而且谷歌爬虫不会一下子抓取你所有页面&#xff0c;需要时间。如果真想…