[VOIPSEC] SIP B2BUA and Digest Authentication using

Simon Horne s.horne at packetizer.com
Sun Nov 6 02:41:10 CST 2005


At 02:43 PM 6/11/2005, Christopher A. Martin wrote:
>*<You wrote>
> >> Simon Horne* s.horne at packetizer.com 
> <mailto:Voipsec%40voipsa.org?Subject=%5BVOIPSEC%5D%20SIP%20B2BUA%20and%20Digest%20Authentication%20using&In-Reply-To=436D468E.6070001%40InfraVAST.com>
>/>> Sun Nov 6 01:35:47 GMT 2005/
>
>>>As you are aware Chris, the H.323 secure softphone we are developing 
>>>does something similar to this (example in next beta release).
>
>Actually my focus to date has been SIP, I have yet to work with H.323 
>except with respect to replacing it, so I was not aware of this, but this 
>is exciting from
>a practical live example of it being done for VoIP.
>Question, for your product, has this introduced any of the items that 
>people in the past have claimed would be a detriment? e.g, PKI would slow 
>things down too much for people to accept the delays caused by it during 
>call setup...

No not all, even to me this was initially surprising. Their is virtually no 
noticeable delay in call setup (under 1 sec). The implementation from the 
start was designed and effort put in to avoid delays. All key management is 
handled multi threaded and quite separate from call processing. The TLSv1 
negotiation is compressed into 2 messages, 1 in each direction and the 
encryption engine uses assembler routines.to speed up 
ciphering/deciphering. Also since the session encryption key (using 
diffie-hellman) is negotiated prior to the caller answering, there is no 
2-3 sec delay at the start of the call.

Not saying we didn't have problems. The main issue was application startup. 
Initially, it would take several seconds for the PKI and Crypto Engine to 
load. So we had to do some thread management to reduce the startup time.

The application has it's own internal PKI which can be replaced by an 
operator supplied external password encrypted PKCS#12 file.


>>>The provider can issue the client with a PKCS#12 password encrypted file 
>>>(via email) which contains a X.509 Cert, Private key and CA Chain. These 
>>>are loaded into the softphone at startup. The softphone will 
>>>automatically authenticate the X.509 cert against its loaded CA Chain 
>>>and once authenticated will use the DN (distinguished Name) of the X.509 
>>>as its username (or user id) to attempt to gain admission to the 
>>>specified gatekeeper using MD5 or HMAC-96 hash.
>>>The gatekeeper can then use Radius to authenticate the admission 
>>>request. (Many commercial GK's already support radius including the open 
>>>source gnugk project using freeradius)
>>>The great advantage of using X.509 is that you can insert a signed cert 
>>>(using EP1's private key) into EP1's call setup message carried 
>>>end-to-end to use as an authentication mechanism. If the CA that signed 
>>>EP1's cert is present in EP2's CA chain then the caller can be verified 
>>>and authenticated. EP2 can then decide it's own security policy and 
>>>reject the call if the cert is missing or invalid.
>>>Simon
>
>Thanks, this verifies that I am on the right track. Do you have any 
>whitepapers on
>your implementation that you can share regarding this?

We will once we are through the initial beta testing phase and I have a bit 
more time .:(

Simon


Simon Horne
Director
Packetizer Labs
www.packetizer.com/labs





More information about the Voipsec mailing list