安全协议期末复习(自用版)

第一章

安全协议的定义

密码协议(cryptographic protocol)是使用密码学完成某项特定的任务并满足安全需求的协议,又称安全协议(security protocol)。

安全要求

机密性、完整性、认证性、匿名性、公平性。

面对的攻击类型

窃听、篡改、重放、预重放、反射、拒绝服务、ip伪装攻击、类型攻击、密码分析、证书操纵。

安全协议应有哪些设计原则

(1) 设计目标明确,无二义性;
(2) 最好应用描述协议的形式语言,对安全协议本身进行形式化描述;
(3) 通过形式化分析方法证明安全协议实现设计目标;
(4) 安全性与具体采用的密码算法无关;
(5) 保证临时值和会话密钥等重要消息的新鲜性,防止重放攻击;
(6) 尽量采用异步认证方式,避免采用同步时钟(时戳)的认证方式;
(7) 具有抵抗常见攻击,特别是防止重放攻击的能力;
(8) 进行运行环境的风险分析,作尽可能少的初始安全假设;
(9) 实用性强,可用于各种网络的不同协议层;
(10) 尽可能减少密码运算,以降低成本,扩大应用范围。

好的安全协议应当满足什么要求

满足目标(应用目标,安全目标)
各方计算量小
易于实现
各方存储量小
通信负载小(延迟小,占用带宽小)
交互轮数少

协议和算法有什么区别

相同点:完成某项任务;要求高效
区别:算法应用于协议中消息处理的环节,对不同的消息处理方式要求不同的算法; 协议是应用算法提供实现方案

简述ip伪装攻击的案例

流程

⑴ 攻击者生成IP数据报文(分组),发送给服务器,和正常分组一样。这是个SYN请求。
⑵ 攻击者生成的分组和其他分组的主要差别在于攻击者指定源地址为另一计算机的IP地址,即伪造源地址。
⑶ 服务器响应SYN ACK,传递到伪造IP地址所在的计算机(而不是到攻击者)。
⑷ 攻击者想办法取得服务器发送的SYN ACK响应,确认这个响应,完成与服务器的连接。
⑸ 完成后,攻击者可以对服务器计算机试用不同命令。

案例

⑴ Kevin首先向Tsutomo的家庭计算机(X)发送一系列的SYN请求,使其几乎瘫痪。
⑵ 然后Kevin向大学的主服务器(Y)发送一个SYN请求,并把分组的源地址指定为X,即伪造源地址。
⑶ 服务器(Y)发现建立TCP连接的请求,响应一个SYN ACK。这个SYN ACK响应返回Tsutomo的家庭计算机(X),因为第2步SYN请求中使用这个源地址。
⑷ 因为在第1步Kevin泛滥X,因此X无法看到Y的响应。
⑸ Kevin猜出Y在SYN ACK响应中使用的序号(经过几次试验),用其确认SYN ACK消息,发送到Y。即Kevin响应Y的SYN ACK消息,发送了许多确认(用不同序号)。
⑹ 每种情况下, Kevin立即发送一个命令,在Y维护的信任关系文件中增加一个通配符项目,使Y信任任何人和每个人。显然,由于如果Kevin发送SYN ACK响应确认不成功,这个命令失败;但有一个成功的确认使这个命令成功了,使Y向所有外部用户敞开了大门。

拒绝服务攻击的目的

拒绝服务攻击的基本目的是使网络泛滥/耗尽,使合法用户无法得到网络服务。

第二章

各算法基于的困难问题

基于大整数因子分解问题

RSA体制、Rabin体制

基于离散对数问题

ElGamal体制、椭圆曲线密码体制ECC、Diffie-Hellman密钥交换

分组密码的5种加密模式

ECB、CBC、OFB、CFB、CTR

密码分析的4种分析方式

唯密文攻击
已知明文攻击
选择明文攻击:例如,公钥密码体制
选择密文攻击

简述HMAC算法

在这里插入图片描述

其他密码算法具体实现

见ppt

第三章

各协议满足的安全要求

比特承诺协议

(1)隐藏性(Hiding):承诺信息c 必须能完全隐藏b的信息,其他实体不能从承诺信息c中获取任何关于承诺比特b的信息。

(2)捆绑性(Binding):参与方A的不能将承诺信息解为其他值。

秘密共享协议

(1)在一组参与者中分发一个秘密
(2)每个参与者都被分配了一份秘密
(3)只有将股份合并在一起,才能重建秘密
(4)个股本身毫无用处。

零知识证明协议

如果验证者除了被证明证明者掌握某些消息外一无所知,我们说证明是零知识的。
完备性:V无法欺骗P
正确性:P无法欺骗V
零知识性:无法泄漏P的任何消息,V无法获取任何额外的知识。

OT协议

正确性:只要双方遵守协议,接收方能获得他想要的消息;

发送方的保密性:协议结束后,接收方除了得到他获得的消息,对于其他的消息,他一无所知;

接收方的保密性:协议结束后,发送方不知道接收方的选择;

抗冒名攻击:只有被发送方认可的接收方才能得到发送方发送的秘密信息;
抗重放攻击:发送方与接收方之间传递的数据被攻击者利用网络监听的手段获取到,攻击者利用通信双方的公共参数以及这些截取的数据,无法获知发送方拥有的秘密数据以及接收方的具体选择;

抗中间人攻击:攻击者截取通信双方的通信数据,同时冒充接收方与发送方进行通信获取到发送方的密码消息,同时冒充发送方与接收方通信防止接收方发现截取而采用其它方式终止协议执行。

各协议如何实现

shamir秘密共享

实现方式

在这里插入图片描述

实例展示

在这里插入图片描述在这里插入图片描述

比特承诺

对称密码实现

在这里插入图片描述

单向函数实现(重要)

在这里插入图片描述

伪随机序列发生器实现(不重要)

在这里插入图片描述

抛币协议

比特承诺协议实现

在这里插入图片描述

单向函数实现

在这里插入图片描述

公钥密码算法实现

在这里插入图片描述

智力扑克发牌

两方

在这里插入图片描述

三方

在这里插入图片描述

OT协议

1 out 2实现

在这里插入图片描述在这里插入图片描述

基于RSA实现

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

零知识证明

简述零知识洞穴

在这里插入图片描述

基于离散对数问题的零知识证明

在这里插入图片描述

阈下信道

基本流程

在这里插入图片描述

EIGamal签名方案实现

在这里插入图片描述在这里插入图片描述

第四章

认证的目的

确认身份,确认数据完整性。达成共识,实现通信

消息认证与数据完整性区别:

1.消息认证必然涉及通信,而数据完整性不一定包含通信,该安全服务可用于存储的数据。
2.消息认证必然涉及确认消息的新鲜性,而数据完整性无此必要

认证的分类

单方认证、双方认证、包含可信第三方的认证

有无可信第三方有何差别

无可信第三方在不可否认性方面有缺陷

防止重放攻击采用的技巧以及优缺点(保证消息的新鲜性)

什么是重放攻击

是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的。

保证新鲜性的四种方案

1.时间戳
2.随机挑战(nonce)
3.计数器
4.混合方法

采用时间戳(非交互式)

消息发送者在消息种加入消息发送的时间。接受者根据时间戳的时间和本地时间的对比确定消息的新鲜性。难度在于使用时间戳必须保证时钟的同步性。这是需要加密的,时间戳是非交互式的因为在接收端自行进行验证即可。

挑战应答机制 随机数nonce(交互式)

这里需要交互是因为还需要把nonce发回来。
优点:由于是随机挑战,可以防重放并且不需要加时间戳,不用保存随机数
缺点:增加申请者和验证着的通信次数;

Needham-Schroeder对称密钥认证协议

这是一个有可信第三方的认证,这里是Alice想给Bob发,因此向可信第三方发送Alice,Bob,NA(但实际上这无法保证新鲜性,应该改用时间戳T);而后可信第三方发回给Alice要让Alice取得密钥所以得用Alice的密钥对称加密,标注好Bob是告诉Alice是跟Bob通信的密钥,为了让Bob也拿到密钥在其中还要附带Alice和K用Bob的密钥加密。而后Alice把这个发给Bob,Bob用拿到的K给Alice发个消息确认一下是不是拿到了密钥,而后Alice也发一下验证一下,这里需要NB-1.
在这里插入图片描述

缺陷

由于这里没有保证消息的新鲜性,会遭到重放攻击。为此需要将NA改为时间戳T。

可否认认证协议

可否认的认证协议:
1.接收者能够辨别出某个消息的发送者的身份
2.第三者不会知道消息发送者的身份

基于离散对数问题的可否认认证协议

这个其实是类似Diffie-Hellman,只是最后需要把协商的密钥和M做一个哈希进行一下认证。
在这里插入图片描述

对认证协议的典型攻击

1.重放攻击
2.中间人攻击
3.反射攻击
4.平行会话攻击
5.交错攻击(加拿大人攻击)

第五章

Diffie-Hellman密钥交换协议

首先协商好g和p,而后A选取a,向B发送g^a mod p;B选取b,向A发送g^b mod p.最终得到g^ab就是协商好的密钥。安全性依赖于离散对数问题的困难性。
很容易受到中间人攻击。

STS(端到端)协议

端到端协议在Diffie-Hellman的基础上增加了一个证书,在B向A发送g^b
时要一并发送B的证书,并且要把签名(签g^a
和g^b)
利用对称密码加密也给发过去。最后A将A的证书以及签名(签g^a
和g^b)利用对称密码加密也给发过去。

MTI协议

首先还是协商好g和p,MTI协议是有一个证书,并且每个人都有一个秘密指数a_u,然后他有自己的公钥b_u=g^a_u,
并且他们还有自己的一个ID号,而后将上述信息绑定好一个证书C,内含签名。在发送时,要自己选取一个大整数g^r_u
发过去,而后协商好的密钥便是g^(r_ua_v+r_va_u).其中b是从证书C中提取的。

Girault密钥协定协议

这个在MTI协议的基础上又改进了,这次是利用可信中心提供的RSA的密钥d,而后通过e来进行解密计算,最终结果还是g^(r_ua_v+r_va_u).但是其中需要减掉加上一个自身的ID。

Blom方案

安全条件为:至多k个不同用户的任何用户集必须不能确定关于KU,V的任何信息.
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

Diffie-Hellman密钥预分配协议

这个与Diffie-Hellman的不同是之前是直接发g^a之类的,现在是直接从对面那的证书里拿就完事了。
在这里插入图片描述

描述Kerboros在线密钥分配协议的流程

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
消息m1和m2用来提供会话密钥K在传输过程中的秘密性,
m3和m4用来提供密钥正确性,也就是能使U和V相互相信他们拥有同样的会话密钥K。
时戳T和生存期L的目的是阻止一个主动的敌手存储旧消息并在后来重发。这种攻击称为重放攻击(replay attack)。

第六章

PKI的组成

PKI是以公钥密码体制为理论基础,
以CA认证机构为核心,
以数字证书为工具来提供安全服务功能的。

CA的功能

CA:Certificate Authority,又叫做认证中心
证书申请\审核\签发\发布
证书更新
证书注销
CA证书更新/密钥更新
证书验证
生成和发布证书注销列表
证书状态查询服务-OCSP
数字证书归档
密钥归档
历史数据归档
数字时戳服务

数字证书的功能

分发公钥;
把用户的公开密钥和身份信息进行有效捆绑,有效验证用户的身份。

申请证书的过程

WEB页面提供申请界面和申请表单
页面上提供密钥生成程序,并可选择密钥长度
提交表单,页面程序将产生密钥对,私钥本地密钥存储区安全存储,公钥将和页面参数一起传递给WEB服务器,通常上传信息包含该密钥的签名值。
WEB服务器端接收申请信息和公钥,并验证签名
检查信息合法性,并根据证书政策实施约束
生成证书,返回用户(即时/指导下载)
浏览器在本地证书库加载该证书

生成证书的过程

在这里插入图片描述

数字证书的验证过程

(1)验证该数字证书是否真实有效。
(2)检查颁发该证书的CA是否可以信任

描述X.509证书的内容

(1)证书的版本信息;
(2)证书的序列号,每个证书都有一个惟一的证书序列号;
(3)证书所使用的签名算法;
(4)证书的发行机构名称,命名规则一般采用X.509格式;
(5)证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950~2049;
(6)证书所有人的名称,命名规则一般采用X.509格式;
(7)证书所有人的公开密钥;
(8)证书发行者对证书的签名。
在这里插入图片描述

第七章

发展过程

20世纪80-90年代是理论研究阶段, Yao 提出多方安全计算协议(解决百万富翁问题)。2000-2009年是实验室阶段,从2009年至今已经有了广泛的应用,比如TensorFlow的多方安全计算框架开源。

设计理念

MPC技术主要包括:秘密共享、不经意传输、混淆电路、同态加密、零知识证明等。
总体的大体流程为:
· 多个持有各自私有数据的参与方1,2,……,n,共同执行一个计算逻辑计算逻辑z;
· 在协议执行期间,发送的消息中不能推断出各方持有的私有数据信息,关于私有数据唯一可以推断的信息仅有输出结果z;
· 运行结束后,每一方都能获得计算结果z。
现在已经有GC协议、GMW协议、BGW协议等广泛应用,其中目前多分为预处理阶段以及在线计算阶段,预处理阶段需要设计电路等尽管过程复杂但能够加速计算速度。

应用场景

通过安全多方计算确保机器学习的安全,深度学习技术需要使用云数据平台进行计算。但因为安全和隐私方面的担忧,他们不愿意向云披露他们的数据。安全多方计算在这方面通用的方法是首先设计一个数据聚合方案,将使用不同密钥加密的数据聚合到一个整合的数据集中。在保护每个用户敏感数据的同时,确保基于机器学习的服务可以为所有用户提供。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息安全数学基础是信息安全领域的核心内容之一,其主要涉及密码学、数据加密、数字签名等方面的数学算法和理论。 首先是密码学,主要包括对称加密算法和非对称加密算法。对称加密算法使用相同的密钥来进行加密和解密,如DES、AES等;非对称加密算法则使用公钥和私钥进行加密和解密,如RSA、椭圆曲线密码算法等。在复习中需要掌握这些密码算法的原理、加解密过程以及安全性分析。 其次是数据加密,其中最重要的就是基于数论的加密算法,如RSA算法。RSA算法的安全性基于大数因数分解的难题,因此复习时需要了解大数的性质、足够大的素数的生成、欧拉定理以及扩展的欧几里得算法等内容。 最后是数字签名,数字签名是一种用于验证信息完整性和身份认证的技术。复习时需要掌握数字签名的基本原理、过程以及常用的数字签名算法,如RSA数字签名算法、DSA数字签名算法等。 另外,在复习时还需要了解信息安全数学基础中的概率论、离散数学、模运算等数学概念和运算规则,因为这些知识在加密算法的分析和设计中扮演了重要的角色。 综上所述,复习信息安全数学基础主要包括对称加密算法、非对称加密算法、数据加密、数字签名等方面的内容。在复习过程中需要理解这些算法的原理、过程和安全性,掌握相关的数学知识和运算规则。通过充分准备,相信可以在期末考试中取得良好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值