加密与认证的区别
‘壹’ 身份认证与加密有何区别与联系
加密和身份验证算法
由于对安全性的攻击方法多种多样,设计者很难预计到所有的攻击方法,因此设计安全性算法和协议非常困难。普遍为人接受的关于安全性方法的观点是,一个好的加密算法或身份验证算法即使被攻击者了解,该算法也是安全的。这一点对于Internet安全性尤其重要。在Internet中,使用嗅探器的攻击者通过侦听系统与其连接协商,经常能够确切了解系统使用的是哪一种算法。
与Internet安全性相关的重要的密码功能大致有5类,包括对称加密、公共密钥加密、密钥交换、安全散列和数字签名。
1. 对称加密
大多数人都熟知对称加密这一加密方法。在这种方法中,每一方都使用相同的密钥来加密或解密。只要掌握了密钥,就可以破解使用此法加密的所有数据。这种方法有时也称作秘密密钥加密。通常对称加密效率很高,它是网络传送大量数据中最常用的一类加密方法。
常用的对称加密算法包括:
• 数据加密标准( DES )。DES首先由IBM公司在7 0年代提出,已成为国际标准。它有5 6位密钥。三重DES算法对DES略作变化,它使用DES算法三次加密数据,从而改进了安全性。
• RC2 、RC4和RC5。这些密码算法提供了可变长度密钥加密方法,由一家安全性动态公司,RSA数据安全公司授权使用。目前网景公司的Navigator浏览器及其他很多Internet客户端和服务器端产品使用了这些密码。
• 其他算法。包括在加拿大开发的用于Nortel公司Entrust产品的CAST、国际数据加密算法( IDEA )、传闻由前苏联安全局开发的GOST算法、由Bruce Schneier开发并在公共域发表的Blowfish算法及由美国国家安全局开发并用于Clipper芯片的契约密钥系统的Skipjack 算法。
安全加密方法要求使用足够长的密钥。短密钥很容易为穷举攻击所破解。在穷举攻击中,攻击者使用计算机来对所有可能的密钥组合进行测试,很容易找到密钥。例如,长度为4 0位的密钥就不够安全,因为使用相对而言并不算昂贵的计算机来进行穷举攻击,在很短的时间内就可以破获密钥。同样,单DES算法已经被破解。一般而言,对于穷举攻击,在可预测的将来,1 2 8位还可能是安全的。
对于其他类型的攻击,对称加密算法也比较脆弱。大多数使用对称加密算法的应用往往使用会话密钥,即一个密钥只用于一个会话的数据传送,或在一次会话中使用几个密钥。这样,如果会话密钥丢失,则只有在此会话中传送的数据受损,不会影响到较长时期内交换的大量数据。
2. 公共密钥加密
公共密钥加密算法使用一对密钥。公共密钥与秘密密钥相关联,公共密钥是公开的。以公共密钥加密的数据只能以秘密密钥来解密,同样可以用公共密钥来解密以秘密密钥加密的数据。这样只要实体的秘密密钥不泄露,其他实体就可以确信以公共密钥加密的数据只能由相应秘密密钥的持有者来解密。尽管公共密钥加密算法的效率不高,但它和数字签名均是最常用的对网络传送的会话密钥进行加密的算法。
最常用的一类公共密钥加密算法是RSA算法,该算法由Ron Rivest 、Adi Shamir 和LenAdleman开发,由RSA数据安全公司授权使用。RSA定义了用于选择和生成公共/秘密密钥对的机制,以及目前用于加密的数学函数。
3. 密钥交换
开放信道这种通信媒体上传送的数据可能被第三者窃听。在Internet这样的开放信道上要实现秘密共享难度很大。但是很有必要实现对共享秘密的处理,因为两个实体之间需要共享用于加密的密钥。关于如何在公共信道上安全地处理共享密钥这一问题,有一些重要的加密算法,是以对除预定接受者之外的任何人都保密的方式来实现的。
Diffie-Hellman密钥交换算法允许实体间交换足够的信息以产生会话加密密钥。按照惯例,假设一个密码协议的两个参与者实体分别是Alice和Bob,Alice使用Bob的公开值和自己的秘密值来计算出一个值;Bob也计算出自己的值并发给Alice,然后双方使用自己的秘密值来计算他们的共享密钥。其中的数学计算相对比较简单,而且不属于本书讨论的范围。算法的概要是Bob和Alice能够互相发送足够的信息给对方以计算出他们的共享密钥,但是这些信息却不足以让攻击者计算出密钥。
Diffie-Hellman算法通常称为公共密钥算法,但它并不是一种公共密钥加密算法。该算法可用于计算密钥,但密钥必须和某种其他加密算法一起使用。但是,Diffie-Hellman算法可用于身份验证。Network Associates公司的P G P公共密钥软件中就使用了此算法。
密钥交换是构成任何完整的Internet安全性体系都必备的。此外,IPsec安全性体系结构还包括Internet密钥交换( I K E )及Internet安全性关联和密钥管理协议( ISAKMP )。
4. 安全散列
散列是一定量数据的数据摘要的一种排序。检查数字是简单的散列类型,而安全散列则产生较长的结果,经常是1 2 8位。对于良好的安全散列,攻击者很难颠倒设计或以其他方式毁灭。安全散列可以与密钥一起使用,也可以单独使用。其目的是提供报文的数字摘要,用来验证已经收到的数据是否与发送者所发送的相同。发送者计算散列并将其值包含在数据中,接收者对收到的数据进行散列计算,如果结果值与数据中所携带的散列值匹配,接收者就可以确认数据的完整性。
‘贰’ 消息认证码与加密算法的区别求大神指教
消息认证码MAC(带密钥的Hash函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。构造方法由M.Bellare提出,安全性依赖于Hash函数,故也称带密钥的Hash函数。是一种消息认证算法。消息认证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。消息认证是强调消息的完整性。可以验证消息的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的和未被篡改的。一是验证消息的发送者是真正的而非冒充的,即数据起源认证,二是验证消息在传输过程中未被篡改。
而加密算法主要是保证消息的保密性,各种加密算法就不说了,网络很详细。。。
‘叁’ wifi认证方式和加密算法的区别是什么
wifi认证方式相当于身份认证,如同你是警察,要看对方是不是警察,若是则认证通过,可以进一步交流,否则认证失败,不予交流;x0dx0a这里认证的依据有两个,一个是认证方式要相同或者兼容,认证方式包括WEP,WPA-PSK,WPA2-PSK,WPA/WPA2-PSK,其中WPA/WPA2-PSK是兼容WPA-PSK和WPA2-PSK的,WPA2-PSK是不兼容WPA-PSK的,你是WEP,对方也要是WEP,你是WPA-PSK,对方也要是WPA-PSK,这个清楚就可以了;第二个依据就是每次使用WiFi网络前都需要手动输入的密码,这个要输入正确才能完成认证。x0dx0a还有就是WPA-PSK,WPA2-PSK,后面带PSK主要是说明是家庭网络或者小公司网络使用的,输入密码就可以使用,而WPA和WPA2是其他大型公司网络使用的,需要输入其他信息例如后台服务器的IP地址等,使用复杂些,需要后台服务器,但是安全性更高。x0dx0ax0dx0awifi加密算法是为了保证wifi通信数据的安全,不被窃听,是对wifi通信数据的加密方式;如同你们都是警察了,可以展开交流,但是你们要用暗号交流,才能保证不被别人窃听交流内容。x0dx0a这时加密方式主要有:x0dx0a如果是WPA-PSK认证方式,就是TKIP算法;如果是WPA2-PSK模式,就是CCMP算法(注意CCMP算法的核心是AES算法,所以好多时候不提CCMP,就提AES了);同时WPA2-PSK也可以使用TKIP算法,WPA-PSK也可以使用AES算法,可以理解成加密方式大家都可以用,就是一种算法而已,但是AES比TKIP保密性更高,不容易被攻破。x0dx0a还有就是wifi加密算法采用的秘钥是双方认证通过后,协商好的。这个秘钥和我们手动输入的wifi密码,不是一码事。x0dx0ax0dx0a另外附上,我测试过的磊科路由器和高通QCA4004 wifi模块的认证、加密测试结果:x0dx0ax0dx0a路由器设置成WPA2-PSK、AES加密,高通模块设置成WPA-PSK、AES加密,无法建立连接;x0dx0a路由器设置成WPA/WPA2-PSK、AES加密,高通模块设置成WPA-PSK、TKIP加密,无法建立连接;x0dx0a路由器设置成WPA/WPA2-PSK、AES加密,高通模块设置成WPA-PSK、AES加密,建立连接成功;x0dx0a路由器设置成WPA -PSK、AES加密,高通模块设置成WPA2-PSK、AES加密,无法连接成功;x0dx0a x0dx0a结论:WPA2不向下兼容WPA,AES也不兼容TKIP算法。