Posts

Showing posts from July, 2011

Java™ SE 7 Release Security Enhancements - Weak Cryptography Control

Weak cryptographic algorithms can now be disabled in Java SE 7 release. The MD2 Message-Digest Algorithm was disabled by default in Sun PKIX provider and SunJSSE provider. The MD2 algorithm is a cryptographic hash function developed by Ronald Rivest in 1989 , and was published in 1992 as an Informational RFC (RFC 1319) .; RFC 6149 moves RFC 1319/MD2 to historic status, "Since its publication, MD2 has been shown to not be collision-free, albeit successful collision attacks for properly implemented MD2 are not that damaging. Successful pre-image and second pre-image attacks against MD2 have been shown." Although MD2 is no longer considered secure, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA. An a countermeasure of the vulnerability, Java SE has disabled MD2 algorithm in certification path building and validation. You may wonder, Java SE has disabled MD2 algorithm in certification path building and validation in

Time of ECC Algorithms in Web Services?

Image
It's a question, the answer depends on your application deployment. The browser market share in the following pie may be a fact of your consideration. From previous posts, I learned that out of the major market players, only Opera does not support ECC TLS cipher suites yet.

Oracle Launches Java 7

Source: www.oracle.com. Oracle Announces Availability of Java SE 7 , you are able to download and try Java SE 7 right now. You may also want to know Java™ SE 7 Release Security Enhancements . I may publish new post to introduce the new security features in the blog. Stay Tuned!

JSSE Oracle Provider Preference of TLS Cipher Suites

Perference Order Value Description 1 0xC0,0x24 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 2 0xC0,0x28 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 3 0x00,0x3D TLS_RSA_WITH_AES_256_CBC_SHA256 4 0xC0,0x26 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 5 0xC0,0x2A TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 6 0x00,0x6B TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 7 0x00,0x6A TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 8 0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 9 0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 10 0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 11 0xC0,0x05 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 12 0xC0,0x0F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 13 0x00,0x39 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 14 0x00,0x38 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 15 0xC0,0x23 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 16 0xC0,0x27 TLS_ECDHE_RSA_WITH_AES_1

Browser Safari Preference of TLS Cipher Suites

Perference Order Value Description 1 0x00,0x2F TLS_RSA_WITH_AES_128_CBC_SHA 2 0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 3 0x00,0x05 TLS_RSA_WITH_RC4_128_SHA 4 0x00,0x0A TLS_RSA_WITH_3DES_EDE_CBC_SHA 5 0xC0,0x13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 6 0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 7 0xC0,0x09 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 8 0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 9 0x00,0x32 TLS_DHE_DSS_WITH_AES_128_CBC_SHA 10 0x00,0x38 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 11 0x00,0x13 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 12 0x00,0x04 TLS_RSA_WITH_RC4_128_MD5 Note that the data was from the observation of the TLS ClientHello message when visiting a HTTPS web site from Safari 5.1.

Browser Opera Preference of TLS Cipher Suites

Perference Order Value Description 1 0x00,0xFF TLS_EMPTY_RENEGOTIATION_INFO_SCSV [1] 2 0x00,0x6B TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 3 0x00,0x6A TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 4 0x00,0x69 TLS_DH_RSA_WITH_AES_256_CBC_SHA256 5 0x00,0x68 TLS_DH_DSS_WITH_AES_256_CBC_SHA256 6 0x00,0x3D TLS_RSA_WITH_AES_256_CBC_SHA256 7 0x00,0x39 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 8 0x00,0x38 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 9 0x00,0x37 TLS_DH_RSA_WITH_AES_256_CBC_SHA 10 0x00,0x36 TLS_DH_DSS_WITH_AES_256_CBC_SHA 11 0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 12 0x00,0x67 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 13 0x00,0x40 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 14 0x00,0x3F TLS_DH_RSA_WITH_AES_128_CBC_SHA256 15 0x00,0x3E TLS_DH_DSS_WITH_AES_128_CBC_SHA256 16 0x00,0x3C TLS_RSA_WITH_AES_128_CBC_SHA256 17 0x00

Google Chrome Preference of TLS Cipher Suites

Perference Order Value Description 1 0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 2 0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 3 0x00,0x88 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 4 0x00,0x87 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 5 0x00,0x39 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 6 0x00,0x38 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 7 0xC0,0x0F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 8 0xC0,0x05 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 9 0x00,0x84 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 10 0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 11 0xC0,0x07 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA 12 0xC0,0x09 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 13 0xC0,0x11 TLS_ECDHE_RSA_WITH_RC4_128_SHA 14 0xC0,0x13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 15 0x00,0x45 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 16 0x00,0x44 TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA

Internet Explorer Preference of TLS Cipher Suites

Perference Order Value Description 1 0x00,0x3C TLS_RSA_WITH_AES_128_CBC_SHA256 2 0x00,0x2F TLS_RSA_WITH_AES_128_CBC_SHA 3 0x00,0x3D TLS_RSA_WITH_AES_256_CBC_SHA256 4 0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 5 0x00,0x05 TLS_RSA_WITH_RC4_128_SHA 6 0x00,0x0A TLS_RSA_WITH_3DES_EDE_CBC_SHA 7 0xC0,0x27 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 8 0xC0,0x13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 9 0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 10 0xC0,0x2B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 11 0xC0,0x23 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 12 0xC0,0x2C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 13 0xC0,0x24 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 14 0xC0,0x09 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 15 0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 16 0x00,0x40 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 1

Firefox Preference of TLS Cipher Suites

Order Value Description 1 0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 2 0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 3 0x00,0x88 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 4 0x00,0x87 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 5 0x00,0x39 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 6 0x00,0x38 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 7 0xC0,0x0F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 8 0xC0,0x05 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 9 0x00,0x84 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 10 0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 11 0xC0,0x07 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA 12 0xC0,0x09 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 13 0xC0,0x11 TLS_ECDHE_RSA_WITH_RC4_128_SHA 14 0xC0,0x13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 15 0x00,0x45 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 16 0x00,0x44 TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 17

Compare TLS Cipher Suites for Web Browsers

The following table compares the default TLS cipher suites supported and enabled by web browsers [SOURCE] and Java SE 7. The comparison is not to show which browser is better, it is just a reference. ;-) Meanwhile, it does not mean the more cipher suites the browser supports, the better the browser is supposed to be. Value Description Reference Firefox 5.0 IE 9.0 Chrome 14.0 Opera 11.50 Safari 5.0 Java SE 7 0x00,0x00 TLS_NULL_WITH_NULL_NULL [ RFC5246 ] 0x00,0x01 TLS_RSA_WITH_NULL_MD5 [ RFC5246 ] 0x00,0x02 TLS_RSA_WITH_NULL_SHA [ RFC5246 ] 0x00,0x03 TLS_RSA_EXPORT_WITH_RC4_40_MD5 [ RFC4346 ] 0x00,0x04 TLS_RSA_WITH_RC4_128_MD5 [ RFC5246 ] √ √ √ √ √ √ 0x00,0x05 TLS_RSA_WITH_RC4_128_SHA [ RFC5246 ] √ √ √ √ √ √ 0x00,0x06 TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 [ RFC4346 ] 0x00,0x07 TLS_RSA_WITH_IDEA_CBC_SHA [ RFC5469 ] 0x00,0x08 TLS_RSA_EXPORT_WITH_DES40_CBC_SHA [ RFC4346 ] 0x00,0x09 TLS_RSA_WITH_DES_CBC_SHA [ RFC5469 ] 0x00,0x0A TLS_RSA_WITH_3DES_EDE_CBC_SHA [ RFC5246 ] √ √ √