Slashdot Mirror


Cryptographers Break Commonly Used RC4 Cipher

Sparrowvsrevolution writes "At the Fast Software Encryption conference in Singapore earlier this week, University of Illinois at Chicago Professor Dan Bernstein presented a method for breaking TLS and SSL web encryption when it's combined with the popular stream cipher RC4 invented by Ron Rivest in 1987. Bernstein demonstrated that when the same message is encrypted enough times--about a billion--comparing the ciphertext can allow the message to be deciphered. While that sounds impractical, Bernstein argued it can be achieved with a compromised website, a malicious ad or a hijacked router." RC4 may be long in the tooth, but it remains very widely used.

19 of 90 comments (clear)

  1. Arcfour by Hatta · · Score: 5, Informative

    This is the cipher known as 'arcfour' in SSH. I use it regularly when speed is more important than security, which is frequently. I'm not sending a billion of the same files anywhere, so I will continue to use it.

    --
    Give me Classic Slashdot or give me death!
    1. Re:Arcfour by Hatta · · Score: 2

      Then I'd enable compression.

      --
      Give me Classic Slashdot or give me death!
    2. Re:Arcfour by Joce640k · · Score: 5, Interesting

      Oh, wait, it's the arcfour key scheduling thing again.

      This is an old arcfour weakness, not news. Everybody knows about it (and how to avoid it). The SSL people just never bothered to do it.

      --
      No sig today...
    3. Re:Arcfour by TheCarp · · Score: 2

      Thats what I have been using for years. In fact, in my last job when one of the DBAs was complaining about how long it took to transfer really large files with winscp, I showed her how to set blowfish as the cipher and she about started glowing she was so happy at the speed.

      --
      "I opened my eyes, and everything went dark again"
    4. Re:Arcfour by Hatta · · Score: 3, Insightful

      Irrelevant. As long as I only send one copy of the compressed data, it should be safe. A better objection is that it probably would take more CPU to compress the data before sending it over RC4 than it would to just switch to AES with no compression.

      --
      Give me Classic Slashdot or give me death!
    5. Re:Arcfour by pthisis · · Score: 2

      ssh's authors are smarter than that, they don't prepend a fixed header when enabling compression.

      --
      rage, rage against the dying of the light
    6. Re:Arcfour by slew · · Score: 3, Informative

      As I understand it, ARC4 originally stood for 'Alleged' RC-4 since it was reverse engineered from RSA's proprietary RC4 implementation. The name RC4 is trademarked by RSA and they refuse to confirm that ARC4 was 100% compatible with their trademarked RC4, so for these two reason, the name ARC4 stuck.

      Of course nobody today disputes that there is any actual difference between the public ARC4 and RSA's RC4...

  2. Jokes on him! by Kenja · · Score: 5, Funny

    I always change my message after the 999,999,999th time I send it with the same encryption key.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
  3. rfc4345 by cachimaster · · Score: 4, Informative

    If I understood the article, the reported RC4 weakness is known since so long ago there is a RFC about it (rfc4345) that TLS implementation just ignores. SSH also uses RC4 in a non-vulnerable way, and that's why it's not broken, and it's perfectly possible to have a secure RC4 algorithm by simply discarding the first N bytes, where N>1000.

  4. Re:Gmail uses RC4 by heypete · · Score: 3, Insightful

    Yup. RC4 is really fast in software and so can scale really easily without needing any real change in server capacity.

    Also, most browsers support Elliptic-Curve Diffie-Hellman key exchange with RC4 which provides perfect forward secrecy with substantially less computing overhead as using the standard DH key exchange protocols.

    Hmm. Now to change some settings. Whee.

  5. Re:Oh, come on ... heh. by bill_mcgonigle · · Score: 5, Informative

    Anyone know what Cipher Suite configuration is the "safest" now? :)

    You're screwed. You have the PCI people who are freaked out over CBC ciphers because of BEAST, you have lots of LTS distros not offering TLS 1.2, and you have people under FIPS who are your customers, so you wind up having to offer RC4 as a cipher to meet all of the above requirements. And even if you assume FIPS-managed clients will be controlling their ciphers to meet their internal requirements, you have to explain this to the PCI scanner vendor every. single. time.

    If the LTS vendors could backport TLS 1.2, that would solve many headaches.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  6. Just run it twice! by tokiko · · Score: 2

    If one pass of RC4 is too weak, just run it through again to make it ultra encrypted! :)

  7. RC4 has been broken for years by DNX+Blandy · · Score: 2

    I run tests on RC4 years ago, run it thru a plain text file full of the same char repeated and then run through RC4, guess what? Oh the password is showing every 256 chars, hence the "weak" key. I developed a newer version of RC4 called RC64, uses a 64K (65536 or 256 ^ 2) key. The randomisation process is very complex and the algo was only just slightly slower than RC4, which is very fast anyway. A graphical representation of the 64K key visualized pure white-noise when the key was viewed in grey-scale. They need to start using mine me thinks :) Oh, and in a 50MB file full of the same repeated char, the password was not even hinted at and no 4 bytes were the same.

    1. Re:RC4 has been broken for years by PvtVoid · · Score: 2

      I developed a newer version of RC4 called RC64, uses a 64K (65536 or 256 ^ 2) key. The randomisation process is very complex and the algo was only just slightly slower than RC4, which is very fast anyway. A graphical representation of the 64K key visualized pure white-noise when the key was viewed in grey-scale. They need to start using mine me thinks :) Oh, and in a 50MB file full of the same repeated char, the password was not even hinted at and no 4 bytes were the same.

      Well, I'm convinced! Where can I invest in your company?

  8. Re:Oh, come on ... heh. by viperidaenz · · Score: 2

    Just like my double-ROT13 encryption on this message!

  9. Help Get TLS Support in More Browsers by utkonos · · Score: 2

    TLS 1.1 support is enabled by default in Chrome. Read about that here.

    If you want TLS 1.2 in chrome, please star this bug.

    As for Firefox, TLS 1.1 and 1.2 support are still not ready. If you want to help, vote for this bug, this bug, this bug, and this bug.

    The bugs to get TLS 1.2 support into Firefox are this one and this one.

    Both Opera and IE support TLS 1.1 and 1.2. If you want to see this in Firefox and Chrome, vote for the bugs above. But, please don't comment on the bugs. That won't help.

  10. Re:Doctypes, images, etc. by Carnildo · · Score: 2

    Actually, a HTML document starts with something like

    HTTP/1.1 200 OK
    Date: Fri, 15 Mar 2013 02:18:32 GMT

    followed by a bunch of other headers, before you get to the DOCTYPE and such.

    Knowing that the document begins with "HTTP/1.1 200 OK" isn't very helpful, because as I understand it, this isn't a known-plaintext attack, but rather a constant-plaintext attack: RC4 as used by SSL/TLS doesn't produce the same cyphertext from a given plaintext every time. Ideally, there wouldn't be any correlation between cyphertexts of the given plaintext, but flaws in the cypher mean there are, and the attack uses these flaws to figure out what the plaintext is, given a sufficient number of encrypted versions of the same plaintext.

    --
    "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
  11. Re:Oh, come on ... heh. by broken_chaos · · Score: 2

    Many browsers still don't support TLS 1.2 (which I feel should be treated as a serious bug, not a feature enhancement that some of those browsers treat it as). And those that do almost universally don't enable it by default.

    So you'd still have to support RC4, for the moment.

  12. Random cookies? by manu0601 · · Score: 2

    RC4 was useful as a workaround for BEAST. Now we need to throw out RC4, we need another workaround for BEAST

    The Right Way would be to use TLS 1.1 or TLS 1.2, but they re not supported by some browsers (e.g.: Mozilla).

    What about working around the problem in the web server? BEAST relies on session cookies being at a fixed offset. If I add a random length cookie that is changed on each server reply, I understand I break BEAST assumption. Am I right? Writing an Apache module to do that would be quite straightforward. Perhaps it already exists?