The invention provides a method and apparatus for transmitting data
securely using an unreliable communication protocol, such as User
Datagram Protocol. In one variation, the invention retains compatibility
with conventional Secure Sockets Layer (SSL) and SOCKS protocols, such
that secure UDP datagrams can be transmitted between a proxy server and a
client computer in a manner analogous to conventional SOCKS processing.
In contrast to conventional SSL processing, which relies on a guaranteed
delivery service such as TCP and encrypts successive data records with
reference to a previously-transmitted data record, encryption is
performed using a nonce that is embedded in each transmitted data record.
This nonce acts both as an initialization vector for
encryption/decryption of the record, and as a unique identifier to
authenticate the record. Because decryption of any particular record does
not rely on receipt of a previously received data record, the scheme will
operate over an unreliable communication protocol. The system and method
allows secure packet transmission to be provided with a minimum amount of
overhead.