Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1443269
  • 博文数量: 165
  • 博客积分: 2068
  • 博客等级: 上尉
  • 技术积分: 2102
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-27 16:07
文章分类

全部博文(165)

文章存档

2018年(1)

2017年(22)

2016年(9)

2015年(22)

2014年(8)

2013年(25)

2012年(53)

2011年(25)

分类: 网络与安全

2013-02-01 14:59:53

1. 认证和加密
    认证(Authorization)的作用在于表明自己是谁,即向别人证明自己是谁。而相关的概念是MD5,用于认证安全。注意MD5仅仅是个hash函数而已,并不是用于加密。因为hash函数处理后的数据没法进行反向恢复,这样子的话别人没法盗取你认证身份的口令。
    加密(Encryption)的作用在于对想传输的数据进行处理,在网络中即使被窃取也难以破解。加密的信息可以被破解,这需要一把钥匙——“密钥”。通过密钥,我们可以对数据进行加密和解密。最有名的专用密钥加密系统就是数据加密标准(DES), 这个标准现在由美国国家安全局和国家标准与技术局来管理。另一个系统是国际数据加密算法(IDEA), 它比DES的加密性好, 而且需要的计算机功能也不怎么强。
2. SIP认证方式
    SIP的认证是继承了HTTP的认证方式。根据RFC2617,HTTP的认证方案主要有Basic Authentication Scheme和Digest Access Authentication Scheme两种。而Basic方法使用的口令原文验证的方式,易被盗取,所以SIP已经摒弃这种方式。

    Digest认证方案可以对口令进行MD5包装。一般来说,获取口令有两种方式:1.字典攻击,即使用轮询进行口令猜测的方法,如果口令简单比较危险;另一个方法是攻击服务器来获得口令,如果服务器把密码存储起来那样的话就可能被盗取。所以方法是服务器端不再存储密码原文,而是使用MD5包装起来,这样的话当经过MD5包装的认证信息过来后,比较存储的MD5数据则可知道用户的身份了。

3.Response值算法

1) HASH1=MD5(username:realm:password) 

2) HASH2=MD5(method:uri) 

3)Response=MD5(HA1:nonce:HA2)

举个例子:

username='3502'

realm='OfficeTen'

password='Admin111'

method='REGISTER'

uri='sip:192.168.28.152'

response='ae850ee2184aa88e3b79200f08284095'


参考文章:http://blog.sina.com.cn/s/blog_4b839a1b01000bqq.html

                http://blog.csdn.net/mrshelly/article/details/7535102

                http://blog.sina.com.cn/s/blog_737adf5301013f1i.html


阅读(7183) | 评论(2) | 转发(1) |
0

上一篇:iptables用法简介

下一篇:linux route 命令

给主人留下些什么吧!~~

可园2014-10-09 07:39:10

楼主,请问下这段数据如何计算Response?

原数据包:

username="21355",realm="rdtest",nonce="0AOTd1i/AZgRrZ+vewOLEt+6+hvXeFHT/yvocEk8",cnonce="1412807363544",nc=00000001,qop=auth,digest-uri="xmpp/rdtest",response=b6fb7471d1a44c5ab11982bd8806b910,charset=utf-8

我是这样计算的,但是计算出来的值跟它的不相同.

username = "21355"
password = "qazwsx"

realm = "rdtest"
nonce = "0AOTd1i/AZgRrZ+vewOLEt+6+hvXeFHT/yvocEk8"

cnonce = "14