B对XB的值保密存放而使YB能被A公开获得。
(3)用户A产生共享秘密密钥的计算方式是K=(YB)^XAmodq。
同样,用户B产生共享秘密密钥的计算是K=(YA)^XBmodq。
这两个计算产生相同的结果:
K=(YB)^XAmodq=(a^XBmodq)^XAmodq=(a^XB)^XAmodq(根据取模运算规则得到)=a^(XBXA)modq=(a^XA)^XBmodq=(a^XAmodq)^XBmodq=(YA)^XBmodq因此相当于双方已经交换了一个相同的秘密密钥.
(4)因为XA和XB是保密的,一个敌对方可以利用的参数只有q,a,YA和YB.因而敌对方被迫取离散对数来确定密钥.例如,要获取用户B的秘密密钥,敌对方必须先计算XB=inda,q(YB)然后再使用用户B采用的同样方法计算其秘密密钥K.Diffie-Hellman密钥交换算法的安全性依赖于这样一个事实:
虽然计算以一个素数为模的指数相对容易,但计算离散对数却很困难.对于大的素数,计算出离散对数几乎是不可能的.下面给出例子.密钥交换基于素数q=97和97的一个原根a=5.A和B分别选择私有密钥XA=36和XB=58.每人计算其公开密钥YA=5^36=50mod97YB=5^58=44mod97在他们相互获取了公开密钥之后,各自通过计算得到双方共享的秘密密钥如下:
K=(YB)^XAmod97=44^36=75mod97K=(YA)^XBmod97=50^58=75mod97从|50,44|出发,攻击者要计算出75很不容易. [1]
2、描述MD5算法和SHA-1算法,并对它们进行比较。
MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完整一致。
是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
该算法的文件号为RFC1321。
SHA1(安全哈希算法SecureHashAlgorithm)摘要加密算法主要适用于数字签名标准里面定义的数字签名算法。
对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要,由于SHA1算法的雪崩效应(改变一位消息数据会使输出值大幅度变动)与不可逆性,可用于验证数据完整性与消息验证。
比较:
1安全性比较
(1)碰撞率的比较
如果两个输入串的散列值一样,则称这两个串是一个碰撞(collision)。
既然是把任意长度的字符串变成固定长度的字符串,所以必有一个输出串对应多个输入串,碰撞是必然存在的[4]。
碰撞率(CR)是已发现碰撞的数量与总共生成的消息的数量之比。
通过模拟实验可知,SHA-1的CR值比MD5低,这意味着SHA-1比MD5拥有更高的安全性[5]。
(2)基于散列值长度的比较
对于同一文件的散列值,长度越长必然会越难破解。
MD5算法散列值为128比特,而SHA-1算法散列值为160比特,MD5与SHA-1的最大区别在于其摘要比SHA-1短32比特。
(3)已有破解方法比较
MD5已有密码分析的攻击方法,而SHA-1只是理论上被破解,故MD5较脆弱。
2执行速度比较
SHA-1执行需要80步,而MD5的执行只需要64步。
而且与MD5的128比特缓冲区相比,SHA-1必须处理160比特的缓冲区。
因此,SHA-1在相同的硬件上比MD5运行的慢。
4.3综合比较
相同点:
MD5算法与SHA-1算法均由MD4算法发展而来,属于散列函数。
它们均需要五步来完成算法,即填充消息、补足长度、初始化变量、数据处理和最后输出结果。
其中前两步完全相同,第四步都需要四轮操作,并且均需要将消息划分为多个16字(32bit)即512比特消息块来处理。
因此它们的结构和算法有很多的相似之处。
在同一硬件上,SHA-1比MD5运行的要慢。
在某种程度上,我们可以得出这样一个结论,当处理的数据很小时,我们可以选择使用MD5消息摘要而不是SHA-1消息摘要。
因为此时MD5的碰撞率和运行时间都不高,这可以大大节约资源。
3、描述ECC算法和RSA算法,并比较它们的不同。
ECC算法:
椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
公钥密码体制根据其所依据的难题一般分为三类:
大整数分解问题类、离散对数问题类、椭圆曲线类。
有时也把椭圆曲线类归为离散对数类。
RSA算法:
RSA算法是第一个能同时用于加密和数字签名的算法,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
不同:
(1)本质区别:
本质上最大的区别就是RSA基于的是单向陷门函数是大数分解;ECC基于的是椭圆曲线上的离散对数问题
(2)安全性差异:
为保证RSA使用的安全性,密钥长度的增加导致加解密的速度大大降低,硬件实现也变得越来越复杂;ECC算法只需采用较短的密钥就可以达到和RSA算法相同的加密强度,它的数论基础是有限域上的椭圆曲线离散对数问题,现在还没有针对这个难题的亚指数时间算法,因此,ECC算法具有每比特最高的安全强度。
(3)性能差异:
ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
抗攻击性强;CPU占用少;内容使用少;网络消耗低;加密速度快
4、试说明包过滤防火墙的主要特点,以及为什么说IDS是防火墙的合理补充?
包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。
它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其它更复杂的动作。
(1)对于一个小型的、不太复杂的站点,包过滤比较容易实现。
(2)因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。
(3)过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。
因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。
所以,过滤路由器有时也被称为“包过滤网关”或“透明网关”,之所被称为网关,是因为包过滤路由器和传统路由器不同,它涉及到了传输层。
(4)过滤路由器在价格上一般比代理服务器便宜。
IDS是防火墙的合理补充:
IDS(入侵检测系统),在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击、错误操作的实时保护。
被认为是防火墙以后的第二道安全防线。
5、简述VPN隧道的概念和分类。
概念:
隧道技术应用VPN是Internet技术迅速发展的产物,其简单的定义是,在公用数据网上建立属于自己的专用数据网。
也就是说不再使用长途专线建立专用数据网,而是充分利用完善的公用数据网建立自己的专用网。
它的优点是,既可连到公网所能达到的任何地点,享受其保密性、安全性和可管理性,又降低网络的使用成本。
分类:
工作在OSI模型的第二层,称为第二层隧道协议主要有以下三种:
第一种是PPTP(PointtoPointTunnelingProtocol,点对点隧道协议);第二种是L2F(Layer2Forwarding,二层转发协议),在Cisco路由器中有支持;第三种是L2TP(Layer2TunnelingProtocol,二层隧道协议)结合了上述两个协议的优点,L2TP协议是目前IETF的标准,由IETF融合PPTP与L2F而形成。
这里就主要介绍一下L2TP网络协议。
第三层隧道协议主要有以下几种:
GRE协议;IPSec第三层隧道协议,也是最常见的协议
6、试比较PAP协议和CHAP协议的异同。
PAP全称为:
PasswordAuthenticationProtocol(口令认证协议),是PPP中的基本认证协议。
PAP就是普通的口令认证,要求将密钥信息在通信信道中明文传输,因此容易被sniffer监听而泄漏。
CHAP全称为:
ChallengeHandshakeAuthenticationProtocol(挑战握手认证协议),主要就是针对PPP的,除了在拨号开始时使用外,还可以在连接建立后的任何时刻使用。
异同:
PAP和CHAP是PPP协议的两种认证方式。
PAP认证方式传输用户名和密码且明文传送,而CHAP认证方式在传输过程中不传输密码,取代密码的是Hash(哈希值)。
因此CHAP认证比PAP认证的安全性高。
PAP认证过程是两次握手,而CHAP认证过程是三次握手。
PAP认证是由被认证方发起清求,主认证方响应;而CHAP认证是由主认证方发起清求,被认证方回复一个数据包,这个包里面有主认证方发送的题机的哈希值,主认证方在数据库中确认无误后发送一个连接成功的数据包连接。
7、试说明Kerberos协议的主要特点和具体流程。
Kerberos协议主要用于计算机网络的身份鉴别(Authentication),其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-grantingticket)访问多个服务,即SSO(SingleSignOn)。
由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。
认证过程具体如下:
客户机向认证服务器(AS)发送请求,要求得到某服务器的证书,然后AS的响应包含这些用客户端密钥加密的证书。
证书的构成为:
1)服务器“ticket”;2)一个临时加密密钥(又称为会话密钥“sessionkey”)。
客户机将ticket(包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝)传送到服务器上。
会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。
名词解释:
1.RSA共模攻击
所谓共模攻击,是指多个用户共用一个模数n,各自有自己的e和d,在几个用户之间共用n会使攻击者能够不用分解n而恢复明文。
2.国家标准SM2
SM2算法由国家密码管理局于2010年12月17日发布,全称为椭圆曲线算法。
椭圆曲线并不是椭圆,之所以称为椭圆曲线是因为它们是用三次方程来表示的,并且该方程与计算椭圆周长的方程相似。
3.散列函数
就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。
这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。
简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
4.MAC(messageauthenticationcode)
消息认证码(带密钥的Hash函数):
密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。
构造方法由M.Bellare提出,安全性依赖于Hash函数,故也称带密钥的Hash函数。
消息认证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。
5.SQL注入
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
6.P2DR安全模型
P2DR模型是美国ISS公司提出的动态网络安全体系的代表模型,也是动态安全模型的雏形。
(根据风险分析产生的安全策略描述了系统中哪些资源要得到保护,以及如何实现对它们的保护等。
)
7.IPSec
IPSec是IETF(InternetEngineeringTaskForce,Internet工程任务组)的IPSec小组建立的一组IP安全协议集,通过端对端的安全性来提供主动的保护以防止专用网络与Internet的攻击。
8.安全套接字层(SSL)
SSL是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密。
9.TCP会话劫持
一种结合了嗅探以及欺骗技术在内的攻击手段。
在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管会话。
10.SNMP协议
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(applicationlayerprotocol)、数据库模型(databaseschema)和一组资源对象。
该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
该协议是互联网工程工作小组(IETF,InternetEngineeringTaskForce)定义的internet协议簇的一部分。
11.IP欺骗
IP地址欺骗是指行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份。
这是一种黑客的攻击形式,黑客使用一台计算机上网,而借用另外一台机器的IP地址,从而冒充另外一台机器与服务器打交道。
12.缓冲区溢出
(缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。
利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。
更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。
)
通过修改某些内存区域,把一段恶意代码存储到一个buffer中,并且使这个buffer被溢出,以便当前进程被非法利用(执行这段恶意的代码)。
模素数的椭圆曲线
Rijndael密钥表keyschedule
ASCII码表