i'll bite:

according to http://en.wikipedia.org/wiki/Skype_security they encrypt UDP traffic with AES in counter mode. there's a Wikipedia entry on that too.

if you're serious about coding this stuff, you'd be well served by getting your hands on the book "Network Security with OpenSSL", from O'Reilly. it's a little outdated, but much more practical than, say, "Applied Cryptography": it's filled with code examples, including an AES counter mode implementation and lots of advice for setting up a CA, issuing & handling certificates, etc. e.g.:

http://books.google.com/books?id=FBYHEBTrZUwC&pg=PA189&lpg=PA189&dq=udp+counter+mode

finally, you don't want to use IPsec. also DTLS is fairly new to OpenSSL (and vulnerable before 0.9.8f) and there's not really much documentation out there on using it or UDP datagram BIOs (try a google code search for BIO_TYPE_DGRAM), but it's possible.

hope this helps!

/|_||)|/_
\| ||\| /

c

On Sat, 10 Jan 2009, dennis menace wrote:

Hi All!
 
I am looking for real-time encryption methods/protocols for streaming A / V / 
Text data.
I plan to build an app similar to Skype and since Skype doesn't really reveal 
much about
its security architecture, I'm looking for ingenious solutions. Any 
suggestions/help
would be welcome.
 
 
From whatever research I did about Skype, I found the following things:
 *  Skype has implemented majority of its encryption modules by itself and 
which are
    built to comply with standards but applied in their own ingenious ways such 
as the
    AES block cipher, the RSA public-key cryptosystem, the ISO 9796-2 signature 
padding
    scheme, the SHA-1 hash function, and the RC4 stream cipher.
 *  It uses 256-bit encryption in order to actively encrypt the data in each 
Skype call
    or instant message. Skype uses 1024 bit RSA to negotiate symmetric AES 
keys. User
    public keys are certified by the Skype server at login using 1536 or 
2048-bit RSA
    certificates. The key size used for signing here is 1536-2048, which is 
significantly
    greater than 1024-bit keys that are a global norm.
 *  It has also set up its own CA for authentication. On first usage, a client 
contacts
    Skype's master server which issues a certificate from its indigenous CA.
 *  Besides the above cryptographic algorithms, Skype has also implemented its 
own
    proprietary key-exchange protocol which it uses for key exchange. I guess 
they have
    borrowed most of the features of SSL and implemented it according to their 
needs
    besides "fixing" its need for a connection-oriented protocol.
 
I guess we could also have the same functionality using IPSec in "transport" 
mode and
creating a indigenous CA.. I DO NOT PLAN TO USE VPNs, so using "tunnel" mode is 
out of
question...
 
The question is, HOW can we use IPSec to secure UDP data communication??? 
(since using
TCP to transport A / V data would cause huge latency "delays".. So SSL is also 
out of
question...)
 
One more option would be to use DTLS but I'm really a newbie to this one - help 
needed...
 
Another option would be to use SSH but again, I'm not sure if it can be used 
with UDP and
also about its authentication methods. Comments would be welcome.
 
Also, I'm looking for suitable forums/IRC channels to discuss the topic more. 
Could the
people here suggest me some???
 
Regards,
D3|\||\|!$
_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers

Reply via email to