Subject: [AAA-WG]: AW: draft-diameter-sip-app; Authentication-Info and qop=auth-int

From: "Beck01, Wolfgang" <[email-masked]>
Date: Tue, 27 Jul 2004 13:23:08 +0200

Miguel wrote:
> Still it might be possible that "the SIP box" is acting as a SIP User 
> Agent (e.g., a voice mail server) and generates a 200 OK that contains 
> an SDP answer. In this case, it can generate an Authentication-Info 
> header. Obviously, when the Diameter server generates the parameters 
> that will populate the Authentication-Info header (in the MAA command), 
> the SIP box has not created the SDP yet. The call flow (partial) will be 
> as follows:

        SIP UA          SIP box      Diam. Srv.
          |                |              |
          |  INVITE (SDP)  |              |
          | -------------> |              |
          |                |    MAR       |
          |                | -----------> |
          |                |              |
          |                |    MAA       |
          |  200 OK (SDP)  | <----------- |
          | <------------- |              |
          |                |              |

> My proposed solution is that the SIP box is in charge of creating the 
> entity-body hash, since it is also responsible for creating the 
> entity-body.
> 
> So according to the above figure, the Diameter server will include a 
> SIP-Authentication-Info AVP in the MAA command. The 
> SIP-Authentication-Info AVP contains a Digest-Qop AVP set to "auth-int", 
> but does not contain a SIP-Authentication-Context AVP. The SIP box will 
> create a SIP Authentication-Info header based on the 
> SIP-Authentication-Info AVP. Since the Digest-Qop AVP is set to 
> "auth-int", the SIP box will create the entity-body hash (e.g., SDP) and 
> add it to the rspauth parameter of the Authentication-Info header.
So SIP-Authentication-Info sent by the Diameter server would contain
H(A1), unq(nonce-value) ":" nc-value ":" unq(cnonce-value) ":" unq(qop-value)?
The SIP box would add ":" H(A2) and apply KD(H(A1, unq(nonce-value) ":" nc-value
":" unq(cnonce-value) ":" unq(qop-value) ":" H(A2)) ? Don't know if
this is secure as we expose H(A1), which does not contain random data.

Wolfgang

---

From: Miguel Garcia <[email-masked]>
Date: Tue, 27 Jul 2004 14:50:19 +0300

Wolfgang:

You need to remember that the SIP-Authentication-Info is a grouped AVP 
with the following syntax

    SIP-Authentication-Info ::= < AVP Header: TBD >
                                { Digest-Nextnonce }
                                [ Digest-Qop ]
                                [ Digest-Nonce ]
                                [ Digest-Cnonce ]
                                [ Digest-Nonce-Count ]
                              * [ AVP ]

Additionaly, H(A1) is already MD5-hashed, so is not sent in the clear. 
Further more, we were discussing that H(entity-body) is created at the 
Diameter server or at the Diameter client, and we concluded that when 
the response's entity body is protected, H(entity-body) is created at 
the SIP box, and the Diameter server is not aware of it. I don't think 
this issue is related to other issues that you are raising now.

- Miguel

-- 
Miguel A. Garcia           tel:+358-50-4804586
Nokia Research Center      Helsinki, Finland