安全协议笔记
安全协议
大三上安全协议课笔记,概念性很强。
第一章 安全协议概述
安全协议定义
1.建立在密码算法上的高互通协议
2.运行在计算机通信网或分布式系统中
3.为安全需求各方提供一系列步骤
4.借助密码算法实现某种目的
安全协议核心:密码算法
安全协议包括密码协议。
安全协议分类
1.按目的:密钥交换、认证、安全支付、安全通信、安全多方计算
2.与应用关联性:基础安全协议、应用安全协议
层次:密码算法&&计算困难问题$\rightarrow$基础密码协议$\rightarrow$高级密码协议$\rightarrow$应用安全协议
安全协议特点
1.满足正确性
2.执行效率合格
3.满足安全需求
4.鲁棒性(在含有恶意参与下正确执行)
安全协议模型
模型三要素:协议参与者类型,各参与者网络连接状况、攻击者能力
协议参与者类型
协议参与者、协议攻击者(有时候攻击者也是参与者)、可信第三方(TTP)、仲裁
网络连接情况
同步网络:共享全局时钟。信息在第t个时钟周期传送,第t+1个时钟结束保证各接收方得到信息。
非同步网络:信息从发送到接收经历不确定个时钟周期,且信息到达顺序可能改变。
大部分安全协议研究在同步网络下。
某些安全协议如安全多方计算需要广播信道。
参与者诚实度
1.诚实参与者:按要求参与协议
2.半诚实参与者:按要求参与协议,但执行被动攻击,窃听协议进行时所有信息
3.恶意攻击者:不仅窃听信息还控制不诚实参与者按照自己的设计参与协议
协议攻击者能力
1.计算能力:无限(信息论安全)、概率多项式时间(密码学安全)
2.对通信网络控制能力:安全信道(不能窃听不能篡改)、认证信道(能窃听不能篡改)、非认证信道(能窃听能篡改)
3.是否主动攻击:只窃听不控制不诚实参与者行为(被动攻击)、既窃听又控制不诚实参与者行为(主动攻击)
4.是否动态攻击:事先买通(静态攻击)、根据协议执行情况调整买通(动态攻击)
Dolev-Yao模型
认证协议与密码系统分离、不能低估攻击者的知识与能力
安全属性
认证性(防假冒)、机密性(防泄漏)、完整性(防篡改)、非否认性(防抵赖)、公平性(防越级)、匿名性(身份保密)
安全协议设计流程
1.需求分析(要实现什么功能)
2.需求定义(描述功能)
3.协议具体步骤设计(如何实现功能)
4.协议正确性分析(是否正确实现功能)
5.协议安全性分析(是否安全)
安全协议安全性分析
安全性分析的前提:建立一定的安全模型
安全协议的安全是指在某个安全模型下协议是安全的,满足了安全需求定义。(安全协议无法脱离模型讨论是否安全)
安全模型中与安全协议安全性最直接相关的是攻击者能力。一般认为主动攻击者能力大于被动攻击者能力。
攻击者的计算能力
无条件安全:攻击者拥有无限制计算资源条件下的安全,不能用计算复杂度观点研究,在这种条件下安全的协议称为无条件安全的协议。
计算安全:利用最好的算法破解该协议的计算量为O(N),N是大整数。
第二章 认证协议
认证协议概念
认证:一个实体验证另一个实体声称的某种属性的通信过程。认证至少涉及两个通信实体。
如果验证消息的某种声称属性,称为数据源认证,也称消息认证。
如果验证原告所声称的身份,称为实体认证。
认证协议:认证协议是网络安全的一个重要组成部分,需要通过认证协议进行实体之间的认证、在实体之间安全地分配密钥或其他各种秘密、确认发送和接受的消息的非否认性等。
对认证协议的成功攻击,不是指攻破协议所使用的密码算法(比如对哈希函数的密码分析等),而是指攻击者能够在不攻破密码算法的前提下,以未经授权且不被察觉的方式获得了某种信任或是破坏了某种密码服务。
经典认证协议
1.无可信第三方的对称密钥协议
2.具有可信第三方的对称密钥协议
3.无可信第三方的公开密钥协议
4.具有可信第三方的公开密钥协议
5.应用密码校验函数的认证协议
6.对称密钥重复认证协议