草庐IT

计算机网络——信息安全

LtMamba 2023-07-21 原文

一、信息安全和信息系统安全概念

1.信息安全系统体系架构

2.信息安全含义及属性

保密性
完整性
可用性
其他属性:真实性、可核查性、不可抵赖性和可靠性等。

 3.信息安全需求

物理线路安全物理设备、物理环境
网络安全网络上的攻击、入侵
系统安全操作系统漏洞、补丁
应用安全上层的应用软件,包括数据库软件

 二、信息安全技术

   1.加密技术概念

        

   2.加密技术

        

技术概念常见算法
对称加密技术
概念数据加密和解密的密钥是相同的,属于不公开密钥机密算法。
缺点加密强度不高(因为密钥位数少),且密钥分发困难(因为密钥需要传输给接收方,也要考虑保密性问题)
优点加密速度快,适合加密大数据。

算法概念

DES

替换+移位、56位数据块、速度快,密钥易产生。

3DES

三重DES,两个56位密钥K1、K2

        加密:K1加密->K2解密->K1加密

        解密:K1解密->K2加密->K1解密

AES

美国联邦政府采用的一种区块加密标准。替代原先的DES。对其要求是“至少像3DES一样安全”


RC-5

RSA数据安全公司的很多产品都用这个。

IDEA

128位密钥,64位数据块,比DES的加密型好,对计算机功能要求相对低。

非对称加密技术
概念

数据加密和解密的密钥是不同的,分为公钥和私钥。是公开密钥加密算法。

原理:发送者发送数据时,使用接收者的公钥做加密密钥接收者的私钥作解密密钥

缺点

加密速度慢。

因为无需传输密钥,就无法保证完整性

优点安全性高,不容易破解。

算法概念
RSA512位(或1024位)密钥,计算量极大,难破解。
Elgamal
ECC(椭圆曲线算法)
背包算法
Rabin
D-H

数字信封
概念

信是对称加密的密钥,数字信封就是对此密钥进行非对称加密。

具体流程

发送方:将数据用对称密钥加密传输

                将对称密钥用接收方公钥加密发送给对方。

接收方:收到数字信封,用自己的私钥解密信封,取出对称密钥解密得原文。

本质使用对称密钥加密数据,非对称密钥加密对称密钥,以此解决对称密钥的传输问题。

信息摘要
概念

就是一段数据的特征信息,当数据发生了改变,信息摘要也会发生改变。信息摘要由哈希函数生成。

流程

发送方:会将数据和信息摘要一起传输给对方。

接收方:会根据收到的数据重新生成一个信息摘要。

若接收方生成的摘要和收到的相同,这说明数据正确。

信息摘要特点

不管数据多长,都会产生固定长度的信息摘要。

任何不同的输入数据都会产生不同的信息摘要。

单向性:即只能由数据生成信息摘要,不能由信息摘要还原数据。

算法
MD5(产生128位的输出)
SHA-1(安全散列算法,产生160位的输出,安全性更高)

数字签名
概念唯一标识一个发送方
流程

发送方:发送数据时使用发送者的私钥进行加密

接受者:接收者收到数据后,只能使用发送者的公钥进行解密。

以此就能确定唯一发送方。但无法保证机密性。

公钥基础设施PKI
数字证书
签证机构CA

三、网络安全技术

    1.网络安全技术

技术
防火墙

内部网络和外部因特网之间增加的一道安全防护措施。分为如下两类:

网络级防火墙
应用级防火墙

 

 

入侵检测系统IDS
入侵防御系统IPS
杀毒软件
蜜罐系统

 2.网络攻击和威胁

        

 

 

概念举例
病毒
木马

 

 四、网络安全协议

 

物理层主要是物理手段,其它层靠协议来保证传输安全。
图示

 

SSL协议
SSH协议
SET协议
Kerberos协议
PGP协议
TLS

组成

该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

优势TLS协议的优势是与高层的应用层协议(如HTTPFTPTelnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。
使用

TLS协议是可选的,必须配置客户端和服务器才能使用。

主要有两种方式实现这一目标:

         一个是使用统一的TLS协议通信端口(例如:用于HTTPS的端口443);

        另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。

一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接:

  • 当客户端连接到支持TLS协议的服务器要求创建安全连接并列出了受支持的密码组合(加密密码算法和散列算法),握手开始。

  • 服务器从该列表中决定加密算法和散列算法,并通知客户端。

  • 服务器发回其数字证书,此证书通常包含服务器的名称、受信任的证书颁发机构(CA)和服务器的公钥。

  • 客户端验证其收到的服务器证书的有效性。

  • 为了生成会话密钥用于安全连接,客户端使用服务器的公钥加密随机生成的密钥,并将其发送到服务器,只有服务器才能使用自己的私钥解密。

  • 利用随机数,双方生成用于加密和解密的对称密钥。这就是TLS协议的握手,握手完毕后的连接是安全的,直到连接(被)关闭。如果上述任何一个步骤失败,TLS握手过程就会失败,并且断开所有的连接。

 

 

 

 

 

 

 

 

有关计算机网络——信息安全的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  4. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  5. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  6. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  7. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  8. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  9. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  10. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

随机推荐