网络信息安全——学习笔记
课程大纲
-
传统加密技术
-
分组密码和数据加密标准
-
数论和有限域
-
对称密码体制相关内容
-
公钥密码学与RSA
-
密钥管理和其他公钥密码体制
-
数字签名和认证协议
-
tips:大部分是密码学,和网络安全相关的知识更少。
CIA
Confidentiality (保密性)
Integrity (完整性)
Availability (可用性)
第一章 信息安全概论
引言:一个简单的的通信游戏
两个朋友Alice和Bob想在晚上一起外出,但是他们定不下来是去电影院还是歌剧院。尽管如此,他们达成了一个通过掷硬币来决定的协议,这和我们都很熟悉的掷硬币游戏一样。
在通信规程的研究中,对上述的一个多方游戏可以给予一个更“科学的”名字:协议。一个协议是一个适当定义的,在多个参与方之间执行的规程。此外,如果一个规程仅由一个实体执行,那么它只是一种程序,不能称之为协议。
尝试一
现在我们假想这两个朋友尝试在电话上执行上述协议,Alice向Bob说:“你选一面,然后我抛硬币并告诉你是否赢了”。(显然不可行)
奇妙函数f
-
对任意整数x,由x计算f(x)是容易的,而给出f(x),要找 出对应的原像x是不可能的,不管x是奇数还是偶数。
-
不可能找出一对整数(x, y),满足x≠y且f(x)=f(y)。
可行的办法:协议1.1
描述密码系统和协议的准则
-
保护程度与应用需求相符合,通俗而言是破解系统所需花费的资源比破解系统后所得到的资源更多。
-
一般来说,对一个未被攻破的算法,我们只能说还不知道如何攻破它,而不能断言其是安全的。因为在密码学中,一个被攻破的算法有时意味着能够定量地度量;如果一个未被攻破的算法没有这种度量,那我们就甚至无法断言一个未被攻破的算法是否比一个已被攻破的算法更安全。
-
效率:一个密码协议不仅是一个算法,也是一个通信过程,该过程包括不同协议参与者在一组约定规则下通过计算机网络进行的消息传递。因此,在效率度量方面协议就多了一个量纲:通信交互的次数,通常称为通信轮数。
-
采用实际的和可用的原型和服务:适用于某种应用的安全性级对于另外一种应用未必就足够好。
-
开放性
-
明确性
-
明确所需要的所有假定;
-
要明确所提供的确切的安全服务; 机密性;认证;不可否认;知识证明;
-
要明确数学方面的一些特殊情况。
-
安全攻击
被动攻击
对传输进行窃听和监测,通信和信息不受影响,用户察觉不到攻击存在。
-
窃听:消息泄露(对消息进行加密)
-
流量分析:分析通讯频率,时长等等。(更难防范)
主动攻击
攻击者破坏通信过程,拦截、修改、伪造、丢弃信息、拒绝服务或假冒合法用户。
-
伪装:冒充用户(利用数字签名)
-
重放:不是拦截,对消息进行重复发送(时效)
-
消息修改:拦截消息并进行修改后发送(完整性验证),通信双方无法防止
-
拒绝服务(DOS/DDOS):让服务器满载(瘫痪)而对他人拒绝服务
tips: 通信并不只局限于网络生活。
安全服务
X.800 将安全服务定义为通信开放系统协议层提供的服务,从而保证系统或数据传输有足够的安全性 RFC2828定义安全服务为:一种由系统提供的对系统资源进行特殊保护的处理或通信服务;安全服务通过安全机制来实现安全策略 X.800将安全服务分为5类共14个特定服务 认证、访问控制、数据保密性、数据完整性、不可否认性
-
Authentication认证 – 确保通信实体是合法和真实的,包括同等实体认证和数据源认证
-
Access Control访问控制 – 防止资源非授权使用
-
Data Confidentiality数据保密性 – 保护数据免于非授权泄漏,并防止流量分析
-
Data Integrity数据完整性 – 确保接收到的数据是由授权用户发出的或者是未被修改过的
-
Non-Repudiation不可否认性– 防止通信方对通信行为的否认,包括源不可否认性和宿不可否认性
-
Availability Service – 系统或系统资源能够按照要求根据系统性能规范被授权系统的实体访问和使用
安全机制
用来检测、防止安全攻击,或从安全攻击中恢复的机制。
-
单一的安全机制不能保证所需的所有安全服务
-
最重要的安全机制之一就是密码编码机制
X.800 提供的安全机制
-
Specific security mechanisms
-
Encipherment(加密),
-
digital signatures(数字签名),
-
access controls(访问控制),
-
data integrity(数据完整性),
-
authentication exchange(认证交换),
-
traffic padding(通信填充),
-
routing control(路由控制),
-
notarization(公证)
-
-
Pervasive security mechanisms
-
trusted functionality(可信功能),
-
security labels(安全标识),
-
event detection(事件检测),
-
security audit trails(安全审计追踪),
-
security recovery(安全恢复)
-
网络安全模型
任何用来保证安全的方法都包含两个方面:
-
被发送信息的安全相关变换(如加密,编码)
-
双方共享某些秘密信息(如密钥)
为实现安全传输,可能需要可信第三方,例如,由第三方负责将秘密信息分配给通信双方,而对他人(潜在攻击者)保密,或者当通信双方就关于信息传输的真实性发生争执时,由第三方来仲裁。
设计安全服务的内容
-
设计一个算法,执行与安全相关的变换,该算法是攻击者无法攻破的;
-
产生算法所使用的秘密信息;
-
设计分配和共享秘密信息的方法;
-
指定通信双方使用的协议,该协议利用安全算法和秘密信息实现安全服务。
-