Secure telephones

Dave Howe DaveHowe at gmx.co.uk
Sun Jul 18 11:31:59 PDT 2004


Thomas Shaddack wrote:
> The easiest way is probably a hybrid of telephone/modem, doing normal 
> calls in "analog" voice mode and secure calls in digital modem-to-modem 
> connection. The digital layer may be done best over IP protocol, assigning 
> IP addresses to the phones and making them talk over TCP and UDP over the 
> direct dialup. (We cannot reliably use GPRS, as the quality of service is 
> not assured, so we have to use direct dialup. But we can implement "real" 
> IP later, when the available technology reaches that stage.)
IIRC, PGPfone (http://www.pgpi.org/products/pgpfone/) did something 
similar, with a "verbal handshake" protocol that relied on you being 
able to recognise the remote party's voice over the phone while speaking 
a list of words.... always seemed both unreliable and odd in something 
with "PGP" in the name, but....

> Once we have the phones talking over IP with each other, we can proceed 
> with the handshake. I'd suggest using OpenSSL for this purpose, as it 
> offers all we need for certificates and secure transfer of the key. Then 
> use UDP for the voice itself, using eg. stripped-down SpeakFreely as the 
> engine. So during the call, two connections will be open over the IP 
> channel: the command one (SSL-wrapped TCP, for key and protocol handshake, 
> ensuring the identity of the caller, etc.), and the data one (a 
> bidirectional UDP stream). As the command connection should be silent for 
> most of the time, a 14k4 modem should offer us enough bandwidth for 9k6 
> GSM codec, even with the UDP/IP overhead.
Raw data streams would be fine over a point to point modem link - but I 
can see an advantage to compartmentalization - you can break your secure 
phone problem down into two distinct subproblems
a) establishing a secure IP VPN between two nodes
b) optimizing VoIP for low bandwidth links

I would add a third - a modem protocol based on something like CSMA/CD 
to allow conference calls to be used as carrier media for secure 
conversations, but that is too hairy for me :)

Something like OpenVPN (http://openvpn.sourceforge.net/) seems ideal for 
the secure VPN part of the problem, but requires an underlying IP 
network.... the VoIP part of the problem has a embarrassment of riches; 
H323 used to come as standard with windows, in the form of Netmeeting 
(complete with videoconferencing and whiteboarding) and SIP is now part 
of Windows XP (a not-particuarly-well-documented) "feature" of windows 
messager. There are many, many more, and Asterix (sadly not particularly 
well known, and unix only) is a complete, open source PBX which is 
conventional telephony, SIP and H323 aware.
OpenVPN is of course built on SSL, and can use either X509 certificates 
or a preshared key for authentication. Sadly, there is no convenient way 
to use DNS-SEC key records for OpenVPN.





More information about the cypherpunks-legacy mailing list