SIP Digest Authentication
SIP Digest Authentication
Built upon HTTP’s challenge/response mechanism
Challenges:
- 401 Authentication Required or
- 407 Proxy Authorization Required
Header fields:
Digest |
the schema name |
username="A" |
The user name as specified in the credentials realm - copied from the challenge |
realm="sip:proxy.com |
realm indicates the domain for the authentication |
nonce="e288df84f1cec4341ade6e5a359" |
nonce - copied from the challenge a unique string - typically generated from a timestamp (and possibly a seed), then encrypted with the user’s private key |
opaque="63632f41" |
opaque string which should be returned unchanged to be matched against the challenge (allows for a stateless system) |
uri="sip:UserB@there.com" |
URI from the Request-URI |
response="1d19580cd833064324a787ecc" |
message digest computed using user’s credentials and the nonce |
Transcript
[slide356] We also saw yesterday the basic approach that was used was taken directly from HTTP to be able to do authentication. So you basically did a challenge, either with the proxy or with the user agent, and the approach was you generated a nonce. And that way the person had to do the calculation with a value that they couldn't predict in advance, so they couldn't pre-compute it. They had to actually compute it then, and then they would send a digest response, which was calculated based on the nonce and their secret, etc. Very straightforward.