网络安全安全计算.docx
《网络安全安全计算.docx》由会员分享,可在线阅读,更多相关《网络安全安全计算.docx(25页珍藏版)》请在冰豆网上搜索。
网络安全安全计算
4.网络安全
信息安全5个基本要素
1,机密性:
确保信息不暴露给未授权的实体或进程.
2,完整性:
只有得到允许的人才能够修改数据,并能够判别数据是否被篡改.
3,可用性:
得到授权的实体在需要时可访问数据.
4,可控性:
可以控制授权范围内的信息流向和行为方式.
5,可审查性:
对出现的安全问题提供调查的依据和手段.
对于网络及网络交易而言,信息安全的基本需求
1,机密性(保密性)
2,完整性
3,不可抵赖性:
数据发送,交易发送方无法否认曾经的事实.
ISO-OSI/RM各层对应安全手段
层次
安全手段
应用层
中间层次
提供安全服务
传输层
SSL,Socks,RPC
网络层
防火墙技术
数据链路层
硬件实现(通信保密机)
物理层
防窃听技术
计算机系统安全等级
橘皮书标准划分的计算机安全等级(美国国防部,1985)
类别
级别
名称
主要特征
D
D
低级保护
没有安全保护
C
C1
自主安全保护
自主存储控制
C2
受控存储控制
单独的可查性,安全标识
B
B1
标识的安全保护
强制存取控制,安全标识
B2
结构化保护
面向安全的体系结构,较好的抗渗透能力
B3
安全区域
存取监控,高抗渗透能力
A
A
验证设计
形式化的最高级描述和验证
D级:
最低保护(MinimalProtection)
级别最低,保护措施少,没有安全功能.如:
DOS,Windows3.X,Windows95(不在工作组方式中),Apple的System7.x.
C级:
自定义保护(DiscretionaryProtection)
系统的对象可由系统的主题自定义访问权.
C1级:
自主安全保护级,能够实现对用户和数据的分离,进行自主存取控制,数据保护以用户组为单位.C1级要求硬件有一定的安全级别,用户在使用前必须登录到系统.C1级防护的不足在于用户直接访问操作系统的根.
C2级:
受控访问级,处理敏感信息所需要的最低安全级别,实现了更细粒度的自主访问控制,通过登录规程,审计安全性相关事件以隔离资源,使用户能对自己的行为负责.
B级:
强制式保护(MandatoryProtection)
其安全特点在于由系统强制的安全保护.
B1级:
标记安全保护级,对系统的数据进行标记,并对标记的主体和客体实施强制存取控制.
B2级:
结构化安全保护级,要求对计算机中所有对象都要加上标签,而且给设备分配安全级别,建立形式化的安全策略模型,并对系统内的所有主体和客体实施自主访问和强制访问控制.
B3级:
安全域,能够满足访问监控器的要求,提供系统恢复过程.
A级:
可验证的保护(VerifiedProtection)
A1级:
与B3级类似,但拥有正式的分析及数学方法.
UNIX系统通常被认为是C1~C2级,但未进行正式评测;WindowsNT4.0达到了C2级,并且朝着B2级发展;Windows2000已获得认证.
4.1安全计算
4.1.1保密性和完整性
·私钥和公钥加密标准(DES,IDEA,RSA)
数据加密基本思想:
通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被加密的内容.
明文:
需要隐藏的信息.
密文:
加密产生的结果.
密码算法:
加密时使用的变换规则.
密码技术:
信息安全的核心.
加密基本方法
置换:
改变明文内容的表示形式,但内容元素间的相对位置保持不变.
易位:
改变明文内容元素的相对位置,但保持表示形式不变.
实际的算法通常是这两种方法的组合应用.
密码系统分类
按将明文转化为密文的操作类型分为:
置换密码和易位密码.
按明文的处理方法分为:
分组密码(块密码)和序列密码(流密码).
按密钥的使用个数分为:
对称密码体制和非对称密码体制.
密码体制:
一个加密系统采用的基本工作方式.基本要素是密码算法和密钥.
密码算法:
加密算法和解密算法.
密钥:
加密密钥和解密密钥.
对称密码体制(单密钥体制,隐蔽密钥体制):
加密密钥和解密密钥相同,或者一个可以从另一个导出,拥有加密能力就拥有解密能力,反之亦然.特点:
保密强度高,但开放性差,需要有可靠的密钥传递渠道.
非对称密码体制(公开密钥体制):
加密和解密的能力是分开的,加密密钥公开,解密密钥不公开,从一个密钥去计算推导另一个密钥是不可行的.特点:
适用于开放的使用环境,密钥管理相对简单,可以实现数字签名与验证,但工作效率一般低于对称密码体制.
数据加密标准DES(DataEncryptionStandard)
对称分组密码,输入输出均为64b,加密解密用同一算法,密钥为56b,附加8位奇偶校验位,有弱钥,但可避免,安全性依赖于密钥,基本加密技术是混乱和扩散.
IBM公司1970年初开发的一个叫Lucifer算法发展起来的算法,1976年11月23日,DES被采纳作为美国联邦的一个标准,并授权在非密级政府通信中使用.
DES属于分组密码体制,将分组为64位的明文加密成64位的密文,或反之,整个加密过程由16个独立的加密循环所构成,每一个循环使用自己的密钥.解密使用与加密同样的过程,但顺序与加密相反.主密钥56位,用于生成每轮循环各自的密钥.加密函数是DES加密运算的核心.
DES的加密密钥和解密密钥相同,属于对称密码体制.其安全性依赖于密钥,但目前可利用差分密码分析的思想对其选择明文攻击方法,因此56位密钥长度的DES原则上不再是安全的.增加密钥长度和采用多重DES的加密是有意义的加强办法,使用112位密钥对数据进行3次机密的算法,称为3DES.
国际数据加密算法IDEA(InternationalDataEncryptionAlgorithm)
对称分组密码体制,明文和密文块都是64b,密钥长128b,加密解密算法相同,密钥各异,无论用软件硬件实现都不难,加密解密运算速度非常快.由于密钥长128b,它的安全性比较好,是目前数据加密中应用较为广泛的一种密码体制.
瑞士苏黎世联邦工业大学的来学家和JamesL.Massey博士提出,算法形式上和DES类似,使用循环加密方式,把分组64位的明文加密成64位的密文,或反之,但是IDEA使用128位密钥,扩展成52个16位循环密钥,安全性强于DES.
RSA密码系统
非对称分组密码体制,让加密密钥公开成为共钥,而解密密钥隐藏在个体中作为私钥.公钥和私钥本质上不同,不存在其中一个推导出另一个的问题.
传统密码系统的特点
1加密和解密时所使用的密钥是相同的或者是类似的,即由机密密钥可以很容易地推导出解密密码,反之亦然,故常称传统密码系统为”单钥密码系统”或”对称密码系统”.
2在一个密码系统中,不能假定加密和解密算法是保密的,因此密钥需要保密.然而发送信息的通道往往是不可靠的,所以在传统密码系统中,必须用不同于发送信息的另外一个更安全的信道来分发密钥.
公开钥密码系统的特点
1加密密钥和解密密钥是本质上不同的.这就是说,直到其中一个密钥,不存在一个可以有效地推导出另一个密钥的有效算法,即多项式时间算法.因此,公开钥密码系统又常常称为”双钥密码系统”或”非对称密码系统”.
2不需要分发密钥的额外信道.我们可以公开加密密钥,这样做无损于整个系统的保密性,需要保密的仅仅是解密密钥.
密钥管理和证书
密钥管理:
指处理密钥自产生到销毁的整个过程中的有关问题,包括系统的初始化,密钥的产生,存储,备份/恢复,装入,分配,保护,更新,控制,丢失,吊销及销毁.
密钥管理体制:
KMI机制(适用于封闭网),PKI机制(适用于开放网),SPK机制(适用于规模化专用网).
KMI机制:
分发密钥的安全性依赖于秘密信道.
分发类型
技术
特点
静态分发
点对点配置
可用单钥或双钥实现.单钥为鉴别提供可靠参数,但不提供不可否认服务.数字签名要求双钥实现.
一对多配置
可用单钥或双钥实现.只在中心保留所有各端的密钥,各端只保留自己的密钥,是建立秘密通道的主要办法.
格状网配置
可用单钥或双钥实现.也称为端端密钥,密钥配置量为全网n个终端中选2的组合数.
动态分发
基于单钥的单钥分发
首先用静态分发方式配置的星状密钥配置,主要解决会话密钥的分发.
基于单钥的双钥分发
公私钥对都当作秘密变量
PKI机制:
解决了分发密钥时依赖秘密信道的问题.
项目
PKI
KMI
作用特性
良好的扩展性,适用于开放业务
很好的封闭性,适用专用业务
服务功能
只提供数字签名服务
提供加密和签名功能
信任逻辑
第三方管理模式
集中式的主管方管理模式
负责性
个人负责的技术体系
单位负责制
应用角度
主外
主内
种子化公钥SPK体系:
多重公钥/双钥LPK/LDK,用RSA公钥算法实现;组合公钥/双钥CPK/CDK,用离散对数DLP或椭圆曲线密码ECC实现,是电子商务和电子政务中比较理想的密钥解决方案.
数字证书:
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密和解密.每个用户将设定一个密钥(仅为本人所知的专用密钥,用来解密和签名)和公钥(由本人公开,用于加密和验证签名),用以实现:
1,发送机密文件:
发送方使用接收方的公钥进行加密,接收方便使用自己的私钥解密.信息即使被第三方截获,但是由于缺少相应的密钥也无法解密.
2,接收方能够通过数字证书来确认发送方的身份,发送方无法抵赖.
3,信息自数字签名以后可以保证信息无法更改.
X.509证书标准:
由发布者数字签名的用于帮定某公开密钥和其持有者身份的数据结构.X.509用户公钥证书是由可信赖的证书权威机构CA创建的,并且由CA或用户存放在X.500的目录中.
版本号(Version):
证书版本.
唯一序列号(CertificateSerialNumber):
用于标识某个证书,它对于特定的CA是唯一的.
签名算法标识符(AlgorithmIdentifier):
用于标识签名的算法类型.
发行者名称(Issuer):
证书的颁发者,它可以是证书的主体也可以是授权的第三方CA.
有效期(Validity):
证书的有效期.
主体名称(Subject):
证书持有者的名字,它和公开密钥的绑定是证书的核心内容.
主体的公开密钥信息(SubjectPublicKeyInfo):
它和主体的绑定是通过CA对证书的签名实现的.
发行者唯一识别符(IssuerUniqueID):
证书颁布者的ID标识.
主体惟一识别符(SubjectUniqueID):
持有者的ID标识.
扩充域(Extensions):
扩展字段.
签名:
CA用自己的私钥对上述域的哈希值进行数字签名的结果.
证书的获取:
任何一个用户只要得到CA中心的公钥,就可以得到该CA中心为该用户签署的公钥.因为证书是不可伪造的,因此对于存放证书的目录无需施加特别的保护.
使用不同CA中心发放的证书的用户无法直接使用证书,但如果两个证书发放机构之间已经安全交换了公开密钥,则可以使用证书链来完成通信.
证书链:
基本证书链(基于所有证书链都是从一个可信的自签名的证书开始,主要验证证书本身的完整性和有效性,主体名和公钥绑定关系的准确性,上级CA证书的主体和下级CA证书的发布者是否相同),扩展证书链(允许有多个可信CA的自签名证书,一个有效的证书链可以从其中任何一个自签名开始).
证书的吊销:
证书到了有效期,用户私钥已泄密,用户放弃使用原CA中心的服务,CA中心私钥泄密都需吊销证书.这时CA中心会维护一个证书吊销列表CRL,供大家查询,证书使用者依据CRL即可验证某证书是否已经被撤销.
·认证(数字签名,身份认证)
数字签名
通过一个单向函数对一个要传送的报文进行处理的得到的用以认证报文来源与核实报文是否发生变化的一个字母数字串,用几个字符串来代替书写签名或印章,起到与书写签名或印章同样的法律效应.
传统的数据加密是保护数据的最基本方法,它只能够防止第三者获得真实的数据(数据的机密性),而数字签名则可以解决否认,伪造,篡改和冒充的问题(数据的完整性和不可抵赖性).
签名是报文以及发放已知的且收方可验证的保密信息的函数.数字签名是签名方对信息内容完整性的一种承诺,它所保护的信息内容可能会遭到破坏,但不会被伪造欺骗.
数字签名目的:
使信息的接收方能够对公正的第三者(双方一致同意委托其解决因某一问题而引起争执的仲裁者)证明其报文是真实的,而且是由指定的发送方发出的.同时,发送方不能根据自己的利益来否认报文的内容,接收方也无法伪造报文内容.
数字签名技术:
基于公钥的签名,零知识签名,盲签名,CES签名,数字水印,群签名,代理签名等.
数字签名具体要求
1,发送者事后不能否认发送的报文签名.
2,接收者能够核实发送者发送的报文签名.
3,接收者不能伪造发送者的报文签名.
4,接收者不能对发送者发送的报文进行部分篡改.
5,网络中的某一用户不能冒充另一用户作为发送者或接收者.
数字签名实现过程
1,信息发送方使用一个单向散列函数对信息生成信息摘要.
2,信息发送方使用自己的私钥签名信息摘要.
3,信息发送方把信息本身和已签名的信息摘要一起发送出去.
4,信息接收方通过使用与信息发送者使用的同一个单向散列函数对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确定信息发送者的身份是否被修改过.如果接收方收到的信息是P(用E代表公钥,D代表私钥),那么要保留的证据就应该是E(P),这也就证明了信息的确是发送方发出的.
基于公钥的数字签名:
基于公开密钥算法的签名称为通用签名.它利用了密钥的非对称性和加密解密操作的可交换性.签名方首先利用其隐蔽密钥对报文或报文的信息摘录加密,然后将密文作为签名,连同相应的明文一同传给验证方.验证方利用签名方的公开密钥对密文进行解密,并对这两个明文进行比较.由于不同的非对称密钥对同一报文加密和解密结果均不一样,可利用此方法确认签名方的内容.
数字签名标准DSS:
美国国家标准和技术协会NIST于1998年提出的一种基于非对称加密体制的数字签名实现方法,它有利于签名者的计算,即签名者的计算能力较低且计算时间要短,另一端的验证者计算能力要强.
零知识证明系统:
用于鉴别服务,允许用户表明它知道某个秘密而不需要把这个秘密实际说出来.零知识证明协议的基本形式是由验证者提出问题,由证明者回答问题.RSA算法就是一种零知识证明系统,用户通过别人用他的公钥来解密它用私钥加密的密文,以达到标识自己拥有私钥,但别人也不可能知道私钥内容的目的.例如:
Fiat-Shamir的三次握手方法,用于一方向另一方证明其身份的单向鉴别,可以防止他人冒充.
弱点:
容易遭受桥接攻击,即攻击者隐藏在中介系统中,对正在验证身份的双方进行验证信息的截获和篡改.
盲签名:
保护签名持有者的匿名性.基本原则是对签名者B隐藏被签的内容,同时给签名持有者A施加一定的制约,让其很难作弊.
CES(ContentExtractionSignature)签名:
对文档中N个数据项提供签名保护.例如:
CommitVector.
数字水印:
在多媒体数据中,例如图像,音频,视频等,添加数字签名以保护版权的技术.从保护性和完整性角度出发,水印需要进行加密,然后嵌入媒体中,同时也不能影响媒体的质量,必要时还必须合法地从媒体中清除.
群签名:
在协同工作环境中,群签名可以使得群成员可以代表整个群产生具有同等地位的签名.验证者可以确认签名来自这个群,但不能确定具体是哪个群成员进行的签名,从而保护了群成员的匿名性.当有争议时,群签名的真实性可由一定的仲裁机构进行判断.
身份认证
身份认证内容:
识别,明确访问者的身份,要求可区分不同的用户,例如使用不同的身份标识符;验证,对访问者声称的身份进行确认.识别信息是公开的,验证信息是保密的.
身份认证方法:
口令,验证对方知道什么;通行证和智能卡,验证对方拥有什么;指纹和声音,验证对方生物特征;签名,验证对方下意识动作的结果.
单向鉴别认证
基于对称加密方法的单向鉴别(B鉴别A)
1,A和B共同掌握对称密钥Kab.
2,B向A发送明文R.
3,A用掌握的对称密钥加密明文R,将Kab(R)回应B.
4,B用掌握的对称密钥Kab加密R得出密文Kab(R)',与A送来的密文K(R)比较,若Kab(R)=Kab(R)'则说明对方也掌握密钥Kab,即对方是A.
缺点:
A和B安全性相关,一旦一方密钥泄露,则另一方也不安全了.
基于公钥方法的单向鉴别认证(B鉴别A)
1,B有A的公钥PKa.
2,B要判断对方是A,向对方发送随机数R.
3,A接收到R用私钥SKa加密R得SKa(R),送给B.
4,B用A的公钥PKa解密SKa(R)的R,与原先R比较,若相同则证明对方拥有A的私钥SKa,说明对方是A.
双向鉴别认证
基于对称加密方法的双向鉴别(B和A相互鉴别)
1,A向B发送R2,要求鉴别B.
2,B返回Kab(R2),同时向A发送R1,要求鉴别A.
3,A解密出R2,与原来值相比较确认B身份,同时加密Kab(R)送给B.
4,B解密出R1,与原来值相比较确认A身份.
实质:
双方互相对对方进行单向鉴别.
基于公钥方法的双向鉴别认证(B和A相互鉴别)
1,B有A的公钥PKa,A有B的公钥PKb.
2,B要判断对方是A,向对方发送用自身私钥SKb加密随机数SKb(R).
3,A接收到R,用B的公钥PKb解密SKb(R)得R,证明对方有B的私钥,确认B的身份.
4,A用自身私钥SKa加密R得SKa(R),送给B.
5,B用A的公钥PKa解密SKa(R)得R,与原先R比较,证明对方拥有A的私钥Ska,确认A的身份.
口令鉴别认证:
根据用户的知识来进行身份认证,因其简单和通用性适合于大多数应用场合.
口令生成:
用户自定义,用户容易记忆,但也容易被攻击者猜出;系统随机产生,随机性好,不容易猜出,但也不容易记忆.
口令管理:
口令保存,口令传送,口令更换.
口令鉴别基本形式
1,A作为客户端向B服务器验证其口令.
2,B只保存A的口令的摘录.
3,A在被要求出示口令时将口令以密文传送给B.
4,B解密A的口令,重新计算口令的摘录并和之前的摘录相比较,以确认A的身份.
口令加密使用散列函数,由于其逆运算的困难性,要冒充A基本上是不可能的.
KERBEROS系统
MIT在1980年为Athena计划的认证服务而开发的,一种基于密钥分配中心KDC概念和可信中继认证方法的分布式鉴别服务系统,可以在不安全的网络环境中为用户对远程服务器的访问提供自动的鉴别,数据安全性和完整性服务,以及密钥管理.Kerberos采用连续加密机制防止会话被劫持.
Kerberos认证过程:
第一阶段:
认证服务交换,客户端获取授权服务器访问许可票据.
1,用户A输入自己的用户名,以明文的方式发给认证服务器.
2,认证服务器返回一个会话密钥KS和一个票据KTGS(A,KS),这个会话密钥是一次性的(也可以使用智能卡生成),而这两个数据包则是使用用户A的密钥加密的,返回时将要求其输入密码,并解密数据.
第二阶段:
票据许可服务交换,客户端获得应用服务访问许可票据.
3,用户A将获得的票据,要访问的应用服务器名B,以及用会话密钥加密的时间标记(用来防止重发攻击)发送给授权服务器TGS.
4,授权服务器TGS收到后,返回A和B通信的会话密钥,包括用A的密钥加密的和用B的密钥加密的会话密钥KAB.
第三阶段:
客户端与应用服务器认证交换,客户端最终获得应用服务.
5,用户A将从TGS收到的用B的密钥加密的会话密钥发给服务器B,并且附上用双方的会话密钥KAB加密的时间标记以防止重发攻击.
6,服务器B进行应答,完成认证过程.
·完整性(SHA,MD5)
信息摘录是单向的散列函数,以变长的信息输入,把其压缩成一个定长的值输出.若输入的信息改变了,则输出的定长值(摘录)也会相应改变.
信息摘录可为制定的数据产生一个不可仿造的特征,伪造一个报文并使其具有相同的信息摘录是计算不可行的.
报文摘要MD5(MessageDigest)
MD5是由RonRivest(RFC1321)在麻省理工学院提出,也叫压缩函数,杂凑函数,散列函数等.
输入报文:
任意长度,被填充,成为16b的整数倍,然后被分成512b的等长块,逐块处理.
处理方式:
每块处理分4遍扫描(迭代),使用扰乱函数,每遍16步操作运算.扰乱函数包括取整,二进制求补,二进制与运算,二进制或运算,半加运算,二进制加运算和循环左移运算等.
输出摘要:
128b.
安全散列算法SHA(SecureHashAlgorithm)
SHA是美国标准与技术研究所(NIST)设计并在1993年作为联邦信息处理标准.SHA建立在MD5的基础上,基本框架与MD5类似.
SHA实现思想:
将变长的信息分成若干512b的定长块进行处理(与MD5相同),输出160b的摘录(和MD5不同).
Hash函数:
又称为杂凑函数,散列函数,它对长度不固定的字符串进行处理,返回一串定长的字符串(又称Hash值).单向Hash函数用于产生信息摘要.
MD5与SHA比较:
SHA效率低于MD5,强度略高于MD5.
1,SHA的报文摘要比MD5摘要长32位.
2,对MD5进行穷举攻击方法具有给定摘要的报文代价是2^128数量级,而对SHA,代价为2^160数量级.
3,两者都具有模2的32次方加法,但在SHA中要执行4轮每轮20次迭代,一共80步迭代,而MD5只需4轮每轮16次迭代.
·访问控制(存取权限,口令)
访问控制:
限制系统中的信息,使其只能流到网络中的授权个人或系统.
访问控制实质:
对资源使用的限制.
访问控制的类型
自主访问控制(DiscretionaryAccessControl,DAC):
最普遍的手段,用户可以按照自己的意愿对系统参数进行适当的修改,以决定哪些用户可以访问其文件.
强制访问控制(MandatoryAccessControl,MAC):
用户和资源都有一个固定的安全属性,只有匹配者才能访问.
访问控制基本结构
客体:
计算机系统中所有可控制的资源.
主体:
对客体实施动作的实体.主体对客体实施动作需要得到授权.
授权:
对主体表现为访问权限,对客体表现为访问模式.访问权限是访问模式的子集.
访问控制用于限定主体在网络内对客体采取的动作(直接或通过代理),于是用户通过身份鉴别后,还需要通过访问控制,才能在网内实施特定操作.
访问控制通过系统中的参照器来实施.
主机的访问控制
整个网络的安全控制由访问控制表,容量控制,授权关系几部分合作组成.
访问控制表ACL(AccessControlList):
一种传统的授权控制机制,用稀疏矩阵表示,以客体为索引,每个客体对应ACL,指出每个主体可对其实施的操作.优点:
便于客体的访问控制;缺点:
不利于主体访问权限的维护,因为要调整某个主体的访问权限,必须要到各个ACL中去搜索.
职能表CL(CapabilitiesList):
稀疏矩阵标识方法,以主体为索引,每个主体对应有一个CL,指出对各个客体的访问权限.其优缺点与ACL相反.在分布式系统中,可允许主体只进行一次鉴别便获得它的CL,而不必在会话期间不断对各个系统进行授权申请和处理.
授权关系AR(AuthorizationRelations):
ACL和CL的结合,使用关系来表示访问矩阵.每个关系表示一个主体对客体的访问权限,并使用关系式数据库来存放这个访问