分类: 网络与安全
2013-02-01 14:59:53
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
可园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