First reported by Luke Weber <luke.weber@gmail.com> on Jan 16 2012.
> It seems to me that the username/password would be passed in the clear
> with this implementation. Is there a preferred way that you would
> register with the sip gateway via rtmp that makes the username/
> password more secure on the client/rtmp side?
> ... snip
>
> Luke
--
Hi Luke,
If you are concerned about the clear text password over TCP, then we could
implement digest authentication directly from the client. The required changes
in siprtmp/p2p-sip can be summarized as follows:
- do not supply password in rtmp_register, but supply some flag so that it
generates outbound REGISTER.
- if 401 (or 407) response received, then accept the client connection, and
invoked a callback on client such as "authenticate(...)". The callback shall
receive the full SIP header for authentication.
- The client generates the full SIP header for authorization, and calls a
function say "authorize(...)".
- The gateway uses the header to send in the next REGISTER attempt.
- This mechanism can be extended to any other method such that auth for INVITE
can be different from auth for REGISTER.
The advantage of this approach is that the clear-text password is not known to
the gateway as well, so only the end-user need to know the clear text password.
Makes it more end-to-end in my opinion, with the gateway just being a blind
translator...
If this approach is too non-trivial to implement, then your suggestion is fine
too. Use a shared secret between the client and the server to encrypt the
password. The shared secret as well as the user's password will be known to
both the end-user and the gateway, but not to intermediate network sniffers.
Regards!
Original issue reported on code.google.com by kundan10 on 6 Feb 2012 at 8:04
Original issue reported on code.google.com by
kundan10
on 6 Feb 2012 at 8:04