[asterisk-users] is encrypted iax safe and secure?
Tim Panton
thp at westhawk.co.uk
Thu Feb 7 05:11:19 CST 2008
On 7 Feb 2008, at 00:36, Tilghman Lesher wrote:
> On Tuesday 05 February 2008 09:22:29 Cavalera Claudio Luigi wrote:
>> Hello,
>> I'm doing some research concerning iax encryption, I haven't find any
>> clients (softphones or hardphones) which implement so I have not
>> tested
>> it yet.
>>
>> There was also this message on asterisk-security mailing list
>> http://archives.free.net.ph/message/20070507.101933.222987b2.en.html
>> which got no answers and this makes me think that this iax
>> encryption is
>> not much interesting for the community.
>>
>> Anyway, in iax specification there is this statement:
>> "Only the data portion of the messages are encoded."
>>
>> Which are the consequences of this, is it true as stated on
>> http://www.voip-info.org/wiki/view/IAX+encryption
>> that
>> "The calling/called numbers are still passed in the clear over
>> encrypted
>> IAX, so you are still vulnerable to traffic analysis."
>> ?
>>
>> If it's true how to deal with this?
>> Would you consider media payload encryption enough?
>> Maybe it's better to just forget about iax encryption and consider
>> some
>> more general approach like using openvpn
>> http://www.voip-info.org/wiki/view/IAX_OpenVPN ?
>>
>> This half-encrypted iax encryption doesn't make much sense to me,
>> therefore I think there's probably something I'm
>> missing/misunderstanding.
>
> Is it important for you to conceal that a call was made from abc to
> xyz on
> thus-and-such a date? Or do you merely need to conceal the content
> of a
> call? You can already do traffic analysis and figure out that a call
> occurred, just not what the endpoints are (even if you encrypted the
> entire
> link). The only way to get around that is to continuously send
> random garbage
> through the pipe at the same rate and consistency as would occur
> with a real
> IAX2 call. And the endpoints are only as specific as the systems on
> either
> end choose to make them. If you used some system of src/dst
> obfuscation, you
> could conceal even that information, though repeated calls to various
> destinations could still be paired and correlated.
>
> IAX2 encryption is designed to obscure the same information as is
> obscured
> when you encrypt a call over the PSTN -- the content is protected,
> but the
> existence of such a call is not. Remember that a potential attacker
> will
> always choose the weakest link, and will probably attack the audio
> stream
> at a different location, if she cannot listen to the IP stream
> directly (such
> as a true wiretap on an analog endpoint or breaking into one of the
> two
> machines involved in the encryption). The idea is to make the IAX2
> link
> unattractive as a potential target of wiretapping (whereas before it
> would
> have been the most obvious choice), thus forcing the attacker to
> choose a
> different attack scenario.
>
> --
> Tilghman
>
> ________________________
Also if you _really_ care about concealing the dialed number
you can do it just fine.
The simplest way is to have a single exten that takes _all_ encrypted
calls,
then once the call is up, dial 'onwards' with DTMF, the DTMF frames
would
be encrypted.
In fact IAX kinda supports this at the protocol level (although I
don't know of a working implementation
apart from the iAXy perhaps, but that doesn't do crypto...).
The NEW frame doesn't _have_ to contain a dialed number, the digits
can be sent later
(I forget the frametype), but later means within the encrypted
session :-)
Tim.
More information about the asterisk-users
mailing list