百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

软考-信息安全工程师学习笔记14——密码学网络安全应用

bigegpt 2024-09-11 00:49 4 浏览

密码技术常见应用场景类型

网络用户安全

采用密码技术保护网络用户的安全措施主要有:

  1. 基于公钥密码学技术, 把用户实体信息与密码数据绑定,形成数字证书,标识网络用户身份,并提供身份鉴别服务。
  2. 使用加密技术,保护网络用户的个人敏感信息。

物理和环境安全

采用密码技术保护物理和环境的安全措施主要有:

  1. 对物理区域访问者的身份进行鉴别,保证来访人员的身份真实性;
  2. 保护电子门禁系统进出记录的存储完整性和机密性;
  3. 保证视频监控音像记录的存储完整性和机密性。

网络和通信安全

采用密码技术保护网络和通信的安全措施主要有:

  1. 对通信实体进行双向身份鉴别,保证通信实体身份的真实性
  2. 使用数字签名保证通信过程中数据的完整性:
  3. 对通信过程中进出的敏感字段或通信报文进行加密,保证数据的机密性
  4. 使用密码安全认证协议对网络设备进行接入认证,确保接入的设备身份的真实性

设备和计算安全

采用密码技术保护设备和计算的安全措施主要有:

  1. 使用密码安全认证协议对登录设备用户的身份进行鉴别
  2. 使用 Hash 函数及密码算法建立可信的计算环境
  3. 使用数字签名验证重要可执行程序来源的真实性
  4. 使用加密措施保护设备的重要信息资源,如口令文件;
  5. 使用 SSH 及 SSL 等密码技术,建立设备远程管理安全信息传输通道

应用和数据安全

采用密码技术保护应用和数据的安全措施主要有:

  1. 使用安全协议及数字证书对登录用户进行身份鉴别,保证应用系统用户身份的真实性;加密应用系统访问控制信息;
  2. 应用 SSH 及 SSL 等密码技术,传输重要数据,保护重要数据的机密性和完整性;
  3. 加密存储重要数据,防止敏感数据泄密;
  4. 使用 Hash 函数、数字签名等密码技术,保护应用系统的完整性,防止黑客攻击篡改。

业务应用创新

采用密码技术进行业务应用创新的措施主要有:

  1. 利用数字证书和数字签名等密码技术,构建网络发票;
  2. 使用 Hash 函数等密码技术,构建区块链;
  3. 利用密码技术,建立电子证照

路由器安全应用参考

路由器是网络系统中的核心设备,其安全性直接影响着整个网络。

路由器面临的威胁:

  1. 路由信息交换的篡改和伪造
  2. 路由器管理信息泄露
  3. 路由器非法访问

1.路由器口令管理

为了路由器口令的安全存储,路由器先用 MD5 对管理员口令信息进行 Hash 计算,然后再保存到路由器配置文件中。

2.远程安全访问路由器

远程访问路由器常用 Tehnet, 但 Telnet 容易泄露敏感的口令信息,因此,管理员为增强路由器的安全管理,使用 SSH 替换 Telnet

3.路由信息交换认证

路由器之间需要进行路由信息的交换,以保证网络路由正常进行,因此需要路由器之间发送路由更新包。为了防止路由欺诈,路由器之间对路由更新包都进行完整性检查,以保证路由完整性。目前,路由器常用 MD5-HMAC 来实现。如果路由信息在传输过程中被篡改了,接收路由器通过重新计算收到路由信息的 Hash 值。然后与发送路由器的路由信息的 Hash 值进行比较,如果两个 Hash 值不相同,则接收路由器拒绝路由更新包,




Web 网站安全应用参考

Web 网站是网络应用的重要组成部分,其安全威胁:

  • 信息泄露
  • 非授权访问
  • 网站假冒
  • 拒绝服务

密码学在 Web 方面的安全应用:

  • Web 用户身份认证
  • Web 服务信息加密处理
  • Web 信息完整性检查

重要信息网站通过数字证书和 SSL 共同保护 Web 服务的安全。

利用 SSL 和数字证书,可以防止浏览器和 Web 服务器间的通信信息泄密或被篡改和


安全套接层协议SSL(Security Socket Layer)

安全套接层协议SSL(Security Socket Layer)就是设计来保护网络传输信息的,它工作在传输层之上、应用层之下,其底层是基于传输层可靠的流传输协议(如TCP)

是一种国际标准的加密及身份认证通信协议,提供了两台机器间的安全连接

SSL不能提供对任何信息都实现抗抵赖性


SSL提供的服务

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;(数字证书和公钥密钥技术)
  • 加密数据以防止数据中途被窃取;(对称算法)
  • 维护数据的完整性,确保数据在传输过程中不被改变。(MAC)

SSL体系结构

SSL的握手协议

SSL握手协议用于鉴别初始化和传输密钥,它使得服务器和客户能相互鉴别对方的身份,并保护在SSL记录中发送的数据。

SSL的记录协议

SSL从应用层取得的数据需要重定格式(分片、可选的压缩、应用MAC、加密等)后才能传给传输层进行发送。



电子邮件安全应用参考

电子邮件是最常见的网络应用,但是普通的电子邮件是明文传递的,电子邮件的保密性难以得到保证,同时电子邮件的完整性也存在安全问题。针对电子邮件的安全问题,人们利用 PGP(Pretty Good Privacy)来保护电子邮件的安全




PGP(Pretty Good Privacy)

PGP 是一种加密软件,目最广泛地用于电子邮件安全它可以对通过网络进行传输的数据创建和检验数字签名、加密、解密以及压缩。它能够防止非授权者阅读邮件,并能对用户的邮件加上数字签名从而使收信人可以确信发信人的身份

PGP 应用了多种密码技术,其中密钥管理算法选用 RSA、数据加密算法 IDEA、完整性检测和数字签名算法,采用了 MD5 和 RSA以及随机数生成器,PGP 将这些密码技术有机集成在一起,利用对称和非对称加密算法的各自优点,实现了一个比较完善的密码系统。


PGP的功能





鉴别


PGP鉴别的过程

  • 发送者产生消息M;
  • 用SHA-1对M生成一个160位的散列码H;
  • H用发送者的私钥加密,并与M连接;
  • 接收者用发送者的公钥解密并恢复散列码H;
  • 对消息M生成一个新的散列码,与H比较。如果一致,则消息M被认证,即报文作为已鉴别的报文而接受。(提供DSS/SHA-1可选替代方案和签名与消息分离的支持。)

机密性

PGP提供的另一个基本服务是机密性,它是通过对将要传输的报文或者将要像文件一样存储在本地的报文进行加密来保证的



鉴别与机密性

PGP可以同时提供机密性与鉴别。当加密和认证这两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密,再用接收者的公钥加密会话密钥



压缩

PGP对报文进行压缩,这有利于在电子邮件传输和文件存储时节省空间。但压缩算法的放置位置比较重要,在默认的情况下,放在签名之后加密之前。这是因为:

  • 对没有经过压缩的报文进行签名更好些。这样,为了将来的验证就只需要存储没压缩的报文和签名。如果对压缩文档签名,那么为了将来的验证就必须或者存储压缩过的报文、或者在需要验证时更新压缩报文;
  • 即使个人愿意在验证时动态生成重新压缩的报文,PGP的压缩算法也存在问题。算法不是固定的,算法的不同实现在运行速度和压缩比上进行不同的折衷,因此产生了不同的压缩形式。但是,这些不同的压缩算法是可以互操作的,因为任何版本的算法都可以正确地解压其他版本的输出。如果在压缩之后应用散列函数和签名,将约束所有的PGP实现都使用同样的压缩算法。
  • 在压缩之后对报文加密可以加强加密的强度。因为压缩过的报文比原始明文冗余更少,密码分析更加困难。

学习参考资料:

信息安全工程师教程(第二版)

建群网培信息安全工程师系列视频教程

信息安全工程师5天修炼

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...