计算机安全

计算机安全定义:

对自动化信息系统提供的保护,以达到保护信息系统资源(包括硬件、软件、固件、信息/数据和通信)的完整性、可用性和机密性的适用的目标。

计算机安全的三个目标是:

完整性:

数据完整性: 确保信息和程序只能以指定和授权的方法修改
系统完整性: 确保系统在未受损的方式下执行其预定的功能, 避免对系统进行有意或者无意的非授权操作

机密性:

保证私人或机密信息不能由非授权的个人使用或不泄漏给未授权的个人

可用性:

确保系统能够迅速地进行工作,并且不能拒绝对授权用户的服务

什么是OSI安全框架模型?

国际标准化组织(ISO)提出的OSI模型是目前国际上普遍遵循的计算机信息系统互联标准

目的: 能够有效了解用户安全需求,选择各种安全产品和策略,有必要建立一些系统的方法来进行网络安全防范,主要关注安全攻击、机制和服务

安全攻击:损害机构所拥有信息的安全的所有行为

  • 主动攻击

涉及某些数据流的篡改或虚假流的产生,可检测到,但难以防范

  • 被动攻击

对传输进行监听和监测,不对数据信息做任何修改,难以监测,但可以防范

安全机制:用于监测,预防或从安全攻击中恢复的机制

安全服务:提高数据处理系统或信息传递系统安全性的服务。一种安全服务可利用一种或多种安全机制

  • 认证服务
  • 访问控制服务
  • 数据机密性服务
  • 数据完整性服务
  • 不可否认性服务
  • 可用性服务

安全威胁:

  • 物理安全威胁: 对系统所用设备的威胁
  • 通信链路安全威胁
  • 操作系统安全威胁
  • 应用系统安全威胁

访问控制: 防止非授权地使用资源,防止以非授权的方式使用资源
访问控制对机密性、完整性起直接的作用

  • 保证系统资源受控地合法地使用
  • 通过限制对关键资源的访问,防止非法用户侵入,防止合法用户不慎操作造成的破坏
  • 限制用户能做什么,限制系统对用户操作的响应
  • 满足国际标准协议的要求

认证:包括主体对客体的识别及客体对主体的检验确认

控制策略:通过合理地设定控制规则集合,确保用户对信息资源在授权范围内的合法使用。既要确保授权用户的合理使用,又要防止非法用户侵权进入系统,使重要信息资源泄露。同时对合法用户,也不能越权行使权限以外的功能及访问范围。

安全审计:系统可以自动根据用户的访问权限,对计算机网络环境下的有关活动或行为进行系统的、独立的检查验证,并做出相应评价与审计。

访问控制基本组成:发起者 + 目标 + 授权

密码学:
一个密码系统是满足以下条件的五元组

  • 明文空间
  • 密文空间
  • 密钥空间
  • 加密算法
  • 解密算法

攻击方式:

破译密文层次的攻击方式

  • 密文攻击
  • 明文攻击
  • 选择明文攻击
  • 选择密文攻击

主动攻击方式

这一大类的攻击方式有时也需要先进的硬件设备,也包括篡改涂改信息、假扮传讯者的攻击方式,广义地说,也包括即时攻击(Timing Attack)和贿赂对方人员等。

对信息传输的安全威胁

  1. 主动性威胁
  • 中断(破坏可用性)
  • 篡改(破坏完整性)
  • 伪造(破坏真实性)
  1. 被动性威胁
  2. 窃听或截获(破坏保密性)

密码编码系统从三个方面去分类

  1. 按操作方式进行分类
  • 替代
  • 置换
  • 复合操作
  1. 按照使用密钥的数量进行分类
  • 对称加密 单密钥加密 机密密钥加密或常规加密
  • 非对称加密 双密钥加密
  1. 按照明文的处理方法进行分类
  • 流加密
  • 转换速度快,低错误传播
  • 分组加密
  • 加密速度慢,错误传播

密码体制

  • 系统的保密性不依赖于密码体制本身,而依赖于密钥
  • 易于实现,使用方便
  • 加密和解密算法适用于密钥空间中的所有元素
  • 攻击者截获密文C或明文-密文对(M ,C)后,欲计算密钥k或明文M,在计算上不可行
  • 密钥空间足够大,使穷举密钥进行搜索不可行

密码分析技术

利用密文来破译明文或密钥的过程称为密码分析

密码算法中的两个基本函数(基本操作)
替代技术
置换技术

什么是对称密码的本质成分?
明文 加密算法 密钥 密文 解密算法

用密码进行通信的两人需要多少密钥?
对称密码只需要一把,非对称需要两把

分组密码和流密码的区别是什么?
分组密码每次输入的一组元素,相应地输出一组元素。流元素则是连续地处理输入和每次输出一个元素

攻击密码的两种一般方法是?
密码分析和暴力破解

无条件安全密码和计算上安全密码的区别是什么?
无条件安全:不论提供的密文有多少,密文中所包含的信息都不足以唯一地确定其对应的明文,则称这样的加密方案是无条件安全的。
这样的方案使分析者无法破译密文,因为密文中没有足够的信息。
没有无条件安全的加密算法

计算上安全:破译密码的成本超过了被加密信息的价值,破译该密码的时间超过了被加密信息的生命周期

雪崩效应?
明文或密钥的很小的变动,可以使密文产生加大的变化

混淆和扩散分组密码设计的基本准则

扩散(diffusion)
小扰动的影响波及到全局
密文没有统计特征,明文一位影响密文的多位,使密文和明文的之间统计性关系复杂化,使每个明文比特的影响迅速地扩散到整个密文中,以隐藏明文的统计特性
实现方法:重复地使用置换操作,并对结果进行变换
混淆(confusion)
强调密钥的作用
使密文的统计特性与加密密钥之间的关系复杂化
实现方法:采用复杂的替代操作

公开密钥密码编码技术基本思想
设计到各方: 发送方、接收方、攻击方
涉及到数据: 公钥、私钥、明文、密文
公钥算法的条件:

  • 产生一对密钥是计算可行的
  • 已知公钥和明文,产生密文是计算可行的
  • 接受方利用私钥来解密密文是计算可行的
  • 对于攻击者,利用公钥来推断私钥是计算不可行的
  • 已知公钥和密文,恢复明文是计算不可行的
  • (可选)加密和解密的顺序可交换

如何设计一个公钥算法?
公钥和私钥必须相关,而且从公钥到私钥不可推断

  • 必须要找到一个难题,从一个方向走是容易的,从另
    一个方向走是困难的
  • 如何把这个难题跟加解密结合起来

计算可行和不可行的界

RSA 的基本流程

  • 选择两个大质数 p 和 q, 每个都大于 10^100
  • 计算 n = p q 和 z = (p - 1) (q - 1)
  • 选择一个与z有关的质数, 令其为d
  • 找到一个 e 满足 e * d = 1 (mod z) 保密 d

列出4种公钥分配方法

  1. 密钥自由公布
  2. 公开的可用服务
  3. 公开密钥管理机构
  4. 公开密钥证书

什么是公钥证书?
公钥证书,通常简称为证书,是一种数字签名的声明,它将公钥的值绑定到持有私钥的个人、设备或服务的身份。大多数普通用途的证书基于X509v3证书标准。

数字签名的一般过程

数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接受者。接受者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输中没有被修改,否则说明信息被修改过。

消息认证: 对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。

消息认证是为了对付哪些类型的攻击?
伪装(假冒), 篡改内容,修改顺序,修改时间

产生消息认证有哪些方法

  1. Hash函数
  2. 消息加密
  3. 消息认证码

消息认证码和单项Hash函数之间有什么区别

消息认证码MAC,网络消息的认证是其专门的应用领域。hash散列函数是对数据特征值的抽取,可以有非常多的应用领域。

散列函数中的压缩函数的作用是什么?

设计安全散列函数可归约为设计具有抗碰撞能力的压缩函数问题,并且该压缩函数的输入是定长的

MD5中使用的基本算术和逻辑运算是什么

  1. 增加填充位。填充消息使其长度与448模512同余
  2. 填充长度,用64位表示填充后消息长度
  3. 初始化MD缓冲区
  4. 以512位为单位处理消息。算法的核心是压缩函数

SHA-1中使用的基本算术和逻辑运算是什么

  1. 增加填充位。填充信息使其长度与448模512同余
  2. 填充长度,用64位表示填充后消息长度
  3. 初始化MD缓冲区
  4. 以512位为单位处理消息。算法的核心是具有4轮运算的模块

对付重放攻击的三种通用方法

  1. 消息交换过程中每个消息均携带一个序列号,只有当消息序列号顺序正常才接受该消息
  2. 消息交换过程中每个消息携带时间戳消息,接受方只接受足够及时的消息
  3. Nonce机制

如何避免IP欺骗?

保护自己的机器不被用来实施IP欺骗
保护自己的机器不被成为假冒的对象
路由器上设置欺骗过滤器
路由器上禁止这样的数据包

在网络环境下用户认证面临哪三种威胁

  1. 用户可能访问某个特定工作站,并假装成另一个用户在操作工作站
  2. 用户可能会更改工作站的网络地址,使从这个已更改的工作站发出的请求看似来自伪装的工作站
  3. 用户可能窃听报文交换过程,并使用重发攻击来获得进入服务器或打断进行的操作

消息认证的三种方式:
Message encryption: 用整个消息对密文作为认证标识

MAC: 一个公开函数,加上密钥产生一个固定长度的值作为认证标识

Hash function: 一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识

Kerberos
鉴别(authentication)
簿记(accounting)
审计(audit)

设计Kerberos 是为了解决什么问题?

假设在一个开放的分布式环境中,工作站的用户希望访问分布在网络各处的服务器的服务
我们希望服务器能够将访问权限限制在授权用户范围内,并且能够认证服务请求

在分布式环境下进行安全用户认证的三种方式?

  1. 依靠每个用户工作站来确认用户或用户组,并依靠每个服务器通过给予每个用户身份的方法来强制实施安全方案
  2. 要求服务器对用户系统进行认证,在用户身份方面信任用户系统
  3. 需要用户对每个调用的服务证明自己的身份,也需要服务器向用户证明他们的身份

什么是中途相遇攻击?
是密码学上以空间换取时间的一种攻击,可成倍减少解密已被多个密钥加密的文本所进行的蛮力排列操作。
是用来对付双重加密算法的攻击,需要一个已知的明文,密文对。明文加密将结果放在表内,密文解密,每解密一次就将解密结果与表中的值比较

三重数据加密?
明文块通过加密算法进行加密;然后结果再次通过同一加密算法;第二次加密的结果第三次通过同一加密算法。通常,第二阶段使用解密算法而不是加密算法。
是一种对称密钥加密块密码,相当于是对每个数据块应用三次数据加密标准算法,即通过增加DES的密钥长度来避免类似的攻击

为什么3DES的中间部分是解密而不是加密?
第二阶段的解密使用没有任何加密意义。它的唯一优点是允许3DES用户通过重复密钥来解密由旧的单个DES用户加密的数据。

SSL/TLS协议的基本过程是这样的:

  1. 客户端向服务器端索要并验证公钥
  2. 双方协商生成“对话密钥”
  3. 双方采用“对话密钥”进行加密通信

是安全套接字层的简称,是由一套internet数据安全协议,被广泛地用于web浏览器与服务器之间的身份认证和加密数据传输;ssl协议位于tcp/ip协议与各种应用层协议之间为数据通信提供安全支持

SSH
之所以能保证安全,原因在于它采用了公钥加密

  1. 远程主机收到用户的登陆请求,把自己的公钥发给用户
  2. 用户使用这个公钥,将登陆密码加密后,发送回来
  3. 远程主机用自己的密钥,解密登陆密码,如果密码正确,就同意用户登陆

HTTPS
是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程中的安全性,HTTPS在HTTP的基础上加入了SSL层,HTTPS的安全基础就是SSL

添加新评论