Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Encryption Communications Network Networking Privacy Security The Internet

How Cloudflare Uses Lava Lamps To Encrypt the Internet (zdnet.com) 110

YouTuber Tom Scott was invited to visit Cloudflare's San Francisco headquarters to check out the company's wall of lava lamps. These decorative novelty items -- while neat to look at -- serve a special purpose for the internet security company. Cloudflare takes pictures and video of the lava lamps to turn them into "a stream of random, unpredictable bytes," which is used to help create the keys that encrypt the traffic that flow through Cloudflare's network. ZDNet reports: Cloudflare is a DNS service which also offers distributed denial-of-service (DDoS) attack protection, security, free SSL, encryption, and domain name services. Cloudflare is known for providing good standards of encryption, but it seems the secret is out -- this reputation is built in part on lava lamps. Roughly 10 percent of the Internet's traffic passes through Cloudflare, and as the firm deals with so much encrypted traffic, many random numbers are required. According to Nick Sullivan, Cloudfare's head of cryptography, this is where the lava lamps shine. Instead of relying on code to generate these numbers for cryptographic purposes, the lava lamps and the random lights, swirling blobs and movements are recorded and photographs are taken. The information is then fed into a data center and Linux kernels which then seed random number generators used to create keys to encrypt traffic. "Every time you take a picture with a camera there's going to be some sort of static, some sort of noise," Sullivan said. "So it's not only just where the bubbles are flowing through the lava lamp; it is the state of the air, the ambient light -- every tiny change impacts the stream of data." Cloudflare also reportedly uses a "chaotic pendulum" in its London office to generate randomness, and in Singapore, they use a radioactive source.
This discussion has been archived. No new comments can be posted.

How Cloudflare Uses Lava Lamps To Encrypt the Internet

Comments Filter:
  • by XXongo ( 3986865 ) on Tuesday November 07, 2017 @04:23PM (#55509047) Homepage
    https://en.wikipedia.org/wiki/... [wikipedia.org] Lavarand was a hardware random number generator designed by Silicon Graphics that worked by taking pictures of the patterns made by the floating material in lava lamps, extracting random data from the pictures, and using the result to seed a pseudorandom number generator.[1] Although the secondary part of the random number generation uses a pseudorandom number generator, the full process essentially qualifies as a "true" random number generator due to the random seed that is used. However, its applicability is limited by its low bandwidth.
    • Lavarand was a hardware random number generator designed by Silicon Graphics that worked by taking pictures of the patterns made by the floating material in lava lamps

      That's one of the first statements he made in the video.

    • And as the Wikipedia article states later, this technology dates to 1997, and includes a link to the patent from 1998. So this is not news.
      • And as the Wikipedia article states later, this technology dates to 1997, and includes a link to the patent from 1998. So this is not news.

        Fine, modernize the system. Replace the incandescent light bulb with a GPU mining cryptocurrency. :-)

      • Well, the patent has either expired or is just about to. So the news is it'll soon be available to anyone.

    • It's older than /.

    • by AvitarX ( 172628 )

      I remember reading about it in the 90s in an Economist column in the science section.

    • by whh3 ( 450031 )

      In this article [nytimes.com] from the NY Times, people from SGI say that they eventually gave up on the lava lamps and just took pictures of the lens cap which meant that they were essentially using electronic noise!

      Fascinating!

      I also recall that in the early 2000s Google was using this very technique. You could go online and view images of the lavalamps. Unfortunately I can't find any good references to it. Sorry!

      Will

  • The universe is full of randomness that's hard to predict. The triumph of digital electronics is that they eliminate the randomness almost completely when abstracted up from electron/hole pairs in semiconductors to the realm of bits and bytes. That means you can't get randomness out of it, no matter how theoretically secure your algorithm--you need to go back to the messiness of physical space for that. Well done.
    • The universe is full of randomness that's hard to predict. The triumph of digital electronics is that they eliminate the randomness almost completely when abstracted up from electron/hole pairs in semiconductors to the realm of bits and bytes. That means you can't get randomness out of it, no matter how theoretically secure your algorithm--you need to go back to the messiness of physical space for that. Well done.

      That's what metastability is for. It's how the entropy source in your CPU works and it's a heck of a lot more efficient and fast than a bunch of lava lamps.

  • by Rick Schumann ( 4662797 ) on Tuesday November 07, 2017 @04:30PM (#55509105) Journal
    Have you ever watched a lava lamp for a while? Especially one that's been around for a while? They're incredibly deterministic.
    I would think this would be a better source: http://random.irb.hr/ [random.irb.hr]
    • Yeah, my first thought was - this is more like a random number generator for which you know the salt.

    • Did you watch the video? The total sum of all the inputs is extremely random.

    • by zm ( 257549 )

      Have you ever watched a lava lamp for a while? Especially one that's been around for a while?

      Yeah.. Entropy ain't what it used to be... Sigh.

    • It depends on the sampling period. Once a second, yes, once an hour, no so much. :-)
      • Even sampling at 1kHz (the actual rate that Cloudflare uses), the predictive errors propagate rather quickly.

        For just one lamp, you would need impractically accurate information of the lamp at a known time to feed into an impractically accurate model of the thermal and fluid dynamics of the lamp to predict its state. Then you'd need to frequently update said impractically accurate information to correct for the drift over time due to other factors that affect the state of the lamp (outside heating/coolin
    • yeah, get your random numbers fed from a plain-text source. Sure it's random, but if you want to use it for cryptography, it should problem remain secret.

    • They could create and deploy a safe truly-random generator, but couldn't do the tier-1 5 minute task of installing an SSL cert? They seem to not even CARE...

      To enable high security, in future, SSL protocol shall be supported, i.e. all data shall be encrypted

    • by guruevi ( 827432 )

      If you figured out fluid dynamics IN YOUR HEAD, you shouldn't be posting on /. Einstein.

    • Either Cloudflare didn't notice that there's a superficial predictability to a lava-lamp, or you don't understand how their RNG leverages lava-lamps and chaotic fluid dynamics.

      Which seems more likely?

  • bps? (Score:4, Interesting)

    by Cajun Hell ( 725246 ) on Tuesday November 07, 2017 @04:31PM (#55509123) Homepage Journal
    I'm not saying it's a bad idea, but Cloudflare must need a lot. How many bps of entropy can you get per lava lamp?
    • by Luthair ( 847766 )
      They most likely use it for seeds, its unlikely to change by enough from moment to moment. Maybe raises a question what happens if they need to seed many hosts at once.
      • by suutar ( 1860506 )

        seed one PRNG, pull out N values and use those as seeds for other stuff? Reseed often enough to avoid the PRNG's cycle and what you pull out should stay unpredictable.

        • Re:bps? (Score:4, Informative)

          by AmiMoJo ( 196126 ) on Wednesday November 08, 2017 @03:47AM (#55512053) Homepage Journal

          But why bother? You can use a simple quantum noise source made from a saturated silicon P-N junction (half a transistor) that puts up a few million bits per second. Balance and whiten them and you can easily get a 2 million truly random bits per second for parts costing a couple of Euros. I built one as a little hobby project.

          Just using a microcontroller's built in termperature sensor I've managed to get close to 3Mb/sec. It all passes the standard tests (Diehard, NIST etc.)

          Cloudflare's systems are just gimmicks. Interesting ones, but not serious.

          • by suutar ( 1860506 )

            oh, sure, you can use other methods to get the random bits to seed the PRNG. I was just trying to respond to the question of how they can seed a bunch of stuff at once given the effective bit rate of a wall of lava lamps.

        • Or: seed one cryptographically secure RNG with 1024 bits of random state, and pull out as many values as you'd like.

      • The rate of output doesn't have to depend on the rate of input if you just store everything. So if you get 1 million bits per minute (just pulling a number out of the air), run it for a year before going into production, you already have 31557600 million (assuming 365.25 days in a year) bits ready to go before you start using. This would cover bursts, power outages, need to disable the system to change light bulbs, etc.
  • Pop Rocks based encryption!

  • Pseudo-Nerdery (Score:5, Interesting)

    by Anonymous Coward on Tuesday November 07, 2017 @04:37PM (#55509161)

    Lava lamps are giant blobs of cohesive good. Unpredictable as they are, their entropy is pretty low.

    We had an old slashdotter on here a few years ago who made specialised RNG generating cards. They used unpredicatable random static noise and filters to generate extremely high quality random data. Apparently their cards were so good, they discovered flaws in some kind of "Die Hard" suite of statistical tests. I think the cards retailed for ~$30 IIRC.

    That's nerdery. That's going the distance. Using lava lamps? That's hipster shit. Pseudo-nerdery. Someone who, for whatever direction their lives have taken them, thinks they're a nerd, but really they're at best a geek who can follow a cookbook. And most of the internet won't be able to tell the difference.

    The real nerds don't get stories written about them anymore.

  • Is the lava lamp really the source of most of the randomness, or is it kind of a gimmick that people can say and understand? I mean, cmon, the noise in the camera itself is probably already enough, right? They're taking the Nth decimal place of some characteristic of the entire image -- the lava really isn't that important, is it?
    • I'm guessing not. I was wondering why they didn't just point a webcam out the window. Capture enough busy highway, sky, and pedestrian areas combined with the noise from the camera, and you're probably accomplishing the same thing.

    • Is the lava lamp really the source of most of the randomness, or is it kind of a gimmick that people can say and understand? I mean, cmon, the noise in the camera itself is probably already enough, right? They're taking the Nth decimal place of some characteristic of the entire image -- the lava really isn't that important, is it?

      You are correct to question this and your intuition is correct. The noise in the camera provides more entropy by a large margin. The better choice would be to put the cap back on the camera lens, so the gain is cranked up and the noise is maximized.

  • Patented (Score:4, Informative)

    by Bruce Perens ( 3872 ) <bruce@perens.com> on Tuesday November 07, 2017 @04:48PM (#55509245) Homepage Journal

    Lavarand is the subject of this patent [google.com] and I wonder if CloudFlare has a license? Insert comments on the frivolity of the patent and of the patent system below.

    I suspect that the noise of the camera sensor contributes as much randomness as the lava lamp. And it's thermal or quantum noise, so probably a good random source.

  • Just have me hit a golf ball off the tee - there's no way you can predict where that sucker's gonna land.

    • by fisted ( 2295862 )

      I think you're on to something! If you use a graphene drone to find out where the golf ball ends up, with some AI and blockchain -- damn that's gonna be huge!

  • Comment removed based on user account deletion
    • by atisss ( 1661313 )

      That would also be more secure, as it can't be observed and intercepted.
      There have been several cases when flaw found in PRNG affects the security of resulting cryptographic key.
      If you want secure key, you need secret random seed, not one that can be publicly observed and replayed/repeated

      • There have been several cases when flaw found in PRNG affects the security of resulting cryptographic key.

        You can simply avoid this by using a PRNG based on a reputable and secure encryption algorithm. No need to do fancy stuff. Take a simple counter, counting 1, 2, 3, 4, 5... and feed that stream into an AES-256 block cipher.

  • Makes you wonder if it could detect someone breaking into a video line.
  • Random == An unrecognised pattern

  • by mnemotronic ( 586021 ) <mnemotronic&gmail,com> on Tuesday November 07, 2017 @07:59PM (#55510823) Homepage Journal
    Power failure!
    Seed = 00000000000000000000000000000000000000000000000000000
  • In one scene, you see an open panel beneath the Communications Officer's station, and sure enough there is a lava lamp there. Freeze frame and you can see the mounting plate where it says "Crypto Source". OK, I made that up. But it's not as stupid as the starship being teleported by interfacing a crewman's DNA with mushroom spores that connect to the infinite mushverse reality plane. And based on what the writers are obviously smoking, both the spore drive and the lava lamp are at least internally consi
  • by Anonymous Coward

    If I were a cryptographer, I think I would literally jerk off at the idea of predicting future states of lava lamps to crack a large % of the world's encryption.

  • Comment removed based on user account deletion

Don't tell me how hard you work. Tell me how much you get done. -- James J. Ling

Working...