[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sip] FW: I-D Action:draft-kaplan-sip-session-id-00.txt




> -----Original Message-----
> From: sip-bounces at ietf.org [mailto:sip-bounces at ietf.org] On Behalf Of
> Dale.Worley at comcast.net
>
>    From: Hadriel Kaplan <HKaplan at acmepacket.com>
>
>    Although the draft mentions a UUID as one option, it leaves the
>    mechanism to be decided.
>
> In that regard, the draft is somewhat self-contradictory.  In one
> place it mentions UUIDs and in another place, it specifies the
> Session-Id as a crypto-random quantity.  But some UUID formats contain
> the MAC address of the creator thereof, which violates the stated
> security considerations.

Correct - I noted that before on the mailing list before submitting the draft that we wouldn't use the UUID based on MAC, but rather the pseudo-random one.  But I'm not tied to it being a UUID at all whatsoever - it was just an example - it's TBD based on WG input.


>    One thing we could do instead of UUID, for example, would be to
>    make it a hash of the received call-id and local system/node ID and
>    MAC or some such.  In other words take some non-volatile system
>    data munged with the call-id, and hash it to get the 128 bits of
>    output for the Session-ID header value.  That way a stateless proxy
>    can re-generate the same value again for upstream and downstream
>    requests and responses, without it compromising or being
>    re-create-able just from the call-id value and giving a reason for
>    folks to remove it.
>
> You'll have to include in the hash a secret local key.  Otherwise an
> adversary can check a guessed correspondence between a Call-Id and a
> Session-Id.

Yup exactly - that's what I meant by not being "re-creatable", and why I included a system/node ID and MAC into the equation.  Not really a secret local key per se - and maybe I should just say that instead in the draft.

Note the "adversary" so to speak is just that a downstream node can get a Call-ID and must not be able to tell from the Call-ID it got, what the Session-ID should be, so they can't tell the Call-ID was changed by a b2bua.  Of course an upstream node would be able to tell - for example the UAC would if it received a subscribe for the dialog-event that had a session-id it created, with a call-id+tags it didn't.  But then one of the main points of this exercise is to make those cases work.  I can't guarantee that all operators would want it to work in such cases, but for those that don't want it to, nothing will help us make it work.

-hadriel
_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors at cs.columbia.edu for questions on current sip
Use sipping at ietf.org for new developments on the application of sip