Tuesday, December 1, 2009

iPhone, Android Support Weak SSL Ciphers

Mobile devices are handling increasingly sensitive data as financial and banking applications are deployed to the iPhone and Android based phones. However, the challenges of SSL/TLS are being revisited on these mobile devices. Unfortunately, we are not learning from our previous mistakes with standard browsers.

Today I discovered that both the iPhone and the Android software emulator (sorry, don't have a droid yet) both support weak cipher suites. For example, both devices support DES-CBC-SHA as well as a slew of other weak ciphers. To put that in perspective, DES was phased out of FIPS documents in 2002 and could be broken as early as 1999.

All modern web browsers that I have tested on computers (e.g. not mobile devices) have all disabled support for any weak cipher suites. It is quite amazing to see such a step back for mobile devices.

What's the impact? Unfortunately, many high profile web servers also support weak ciphers. As a result there is a possibility that the iPhone or Android browser could be paired up with one of these sites and decide upon a weak cipher suite. This means that all of that sensitive financial information will be exchanged using an encryption that could be broken by a determined attacker.

A few screen shots:

iPhone connecting with DES-CBC-SHA



Android emulator connecting with with DES-CBC-SHA




Confused about SSL/TLS? Let OWASP help you - TLS Cheat Sheet

-Michael Coates

6 comments:

  1. Dear Michael:

    I need to check which phones in the market allows weak ciphers for web/wap/xhtml based application. Can you please guide how can I find that out?

    Best Regards
    Q

    ReplyDelete
  2. The easiest way is to have the phone connect to a test webserver created by openssl.

    The commmand for the openssl webserver is this:

    openssl s_server -www -cert cacert.pem -key cakey.pem

    You can also add the cipher argument -cipher LOW
    to create a server which only connects using weak ciphers.

    Check out this post for more info:
    http://michael-coates.blogspot.com/2009/06/testing-with-openssl.html

    ReplyDelete
  3. Hello There
    Did you know that you can use your iphone on any network worldwide? I just unlocked my iphone 3g and now i can use it on any network , it was really easy , i downloaded some files and fallow the instructions on unlock-iphone.org

    ________________
    [url=http://www.unlock-iphone.org]unlock iphone 3g[/url]

    ReplyDelete
  4. Would that unlock my 3GS that came out of the box with 3.1.2 and a 05.11.07 baseband?

    ReplyDelete
  5. i am trying to do ssl with client authentication with andriod phones. Does the phone native browser supports ssl with client authentication and if so how to proceed with.

    ReplyDelete
  6. karthikeyan,

    I don't believe the phone browsers support client certificates for SSL client authentication.

    ReplyDelete

Note: Only a member of this blog may post a comment.