Brad For Dem Bedded

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, 15 June 2011

Crypto Load Balancer Using Off The Shelf Hardware

Posted on 16:01 by Unknown
At my day job, I work a reasonable amount of time with cryptographic and authentication systems. Lately, I've been reading about OpenCL and CUDA. I'm wondering if buying a high end graphics card to do some brute force number crunching would be worthwhile.

Today on Hacker News, there was a link to netmap. Netmap looks like a neat way of getting very high network throughput (like saturating a 10G Ethernet line using only 1.66 GHz of processor) using standard hardware (no special ASICs or FPGAs).

I've also read in the past about TLS / SSL and load balancers. TLS / SSL is what's used to encrypt data going between a server and a client, such as for credit card number or username & password transmission. A traditional load balancer will sit on the network in-line before the cluster of servers that actually serve webpages. As requests come into the load balancer, it distributes the requests to the servers in such a way that no server gets overloaded.

I've also read a tiny amount about load balancers that will decrypt and encrypt TLS / SSL traffic such that the webservers don't have to (encryption on general purpose CPUs is expensive). I'd imagine that, for these load balancers to do TLS / SSL inline, this requires very high network throughput as well as very fast number crunching for encryption systems. Traditionally, I'd expect a load balancer such as this would use special hardware (as normal routers do) in order to obtain very high network throughput. I'd also expect custom FPGA code or ASICs would be used to provide high throughput encryption abilities. In both cases, these are low volume, very specialized systems that will be very expensive to create and sell.

But what if someone could combine both netmap and OpenCL to perform load balancing and TLS / SSL in one box that uses off the shelf hardware?

It probably wouldn't be as capable as the truly high end hardware, but it could probably compete in the mid-range and cost significantly less. As the hardware required would be basically:
  • A fast processor / motherboard / RAM combo
  • A large number of PCIe 2.0 slots with a large number of lanes each
  • At least 2 10Gb Ethernet PCIe cards
  • A few high end ATI graphics cards to execute OpenCL code

A high end server system with some add-in cards would fit the hardware bill. Then you'd just need a nicely setup OS (to support netmap and the ATI drivers) and some software to load balance and run the encryption. This isn't simple but it's less complex than a dedicated custom hardware system.

I think this is a pretty neat idea. Of course, as more processors start to include encryption abilities, the viability of a device like this is reduced. But an advantage of this type of device over built-in encryption abilities in CPUs is that it's easy to update this device, we just write new software and deploy it normally. A CPU can't easily be updated to add additional encryption schemes once it is produced.

Another concern would be that the load balancer would need to store the private key and pass it around to the graphics cards, this could be a security issue, but one that could be mitigated by having separate private keys for normal TLS / SSL traffic and traffic where really sensitive data is transmitted (like credit card numbers). The credit card processing server should probably have an HSM and that would be OK because traffic would be much lower.

Something like this could really accelerate the adoption of HTTPS everywhere in order to prevent FireSheep type attacks.
Read More
Posted in crypto, linux | No comments

Tuesday, 14 June 2011

Conan's Dartmouth 2011 Commencement Address

Posted on 04:28 by Unknown
Watch Conan O'Brien give the commencement address to the Dartmouth class of 2011. It's funny and there's real life lessons that apply to everyone, not just those graduating.

Read More
Posted in | No comments

Sunday, 12 June 2011

The Standing Desk

Posted on 05:00 by Unknown
At work, I started using a ghetto standing desk with my lab PC about a month ago. At the beginning of the year, I got a new Dell tower and monitor (the U2311, which is really nice). The monitor box standing on top of a few plastic "project boxes" on top of a slightly higher than normal lab workbench is just the right height for my keyboard and trackball. The monitor sits on top of the Dell tower.

I like it, but the work I'm doing these days leads to some inefficiencies. I'm working a lot reading reams of documentation, connecting different things to various circuit boards, and running a logic analyzer. All of this stuff happens at the normal lab bench height. Because of this, I sit down about 25% of the time when working at my standing desk. That's OK, but it would be much nicer if I could raise the workbench up to the right height for my keyboard and trackball (it's about a 14" difference, I think).

The floor in the lab is 1 foot square industrial stick-on "tiles" (I think they're like linoleum). I don't use any kind of standing mat. My everyday shoes are 4 year old Adidas soccer shoes. The first week was a bit hard on my legs and back, I'd be stiff each morning, but it has gotten better. I still feel like I'm doing more physical work by standing (I've read it burns 3x the calories as sitting) but I'm not uncomfortable standing for 4 hours at a time.

The one thing I have noticed is that I'm more focused on my work when standing. Lately I'm writing C code for a PIC24f microcontroller. But I like to sit when I'm doing real hard core thinking, like when figuring out timing of interrupts or reading through assembly code. I'm not sure why this is. Having everything I work with up at the right height might help but I've not yet found the right sized cinder blocks laying around.

In my cube I still sit. My chair isn't fancy but it isn't too bad for comfort. At home I sit on a wooden chair when working on my desktop. My main motivation for trying the standing desk was that the chair I had in the lab was uncomfortable and rather than attempt to find a chair that would work, making a standing desk was quick and cheap.

So far I like it, although it does have downsides (my hardcore thinking, not everything being at the same level, etc). My coworkers think it's funny that I stand up but my boss has started pondering the idea of trying it since I've been using it successfully for a decent amount of time now.

If you're uncomfortable sitting all day, try a standing desk. It's all the rage on Hacker News ;)
Read More
Posted in | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

Categories

  • beagleboard
  • blog
  • book review
  • business
  • c
  • chairs
  • clfs
  • community
  • computers
  • crypto
  • db
  • debian
  • disapointment
  • embedded
  • energy
  • fedora
  • flash
  • fpga
  • gcc
  • git
  • google
  • health
  • hp
  • internet
  • iOS
  • learning
  • license
  • linux
  • market
  • microsoft
  • movie review
  • my book
  • next steps
  • open source
  • pandaboard
  • rails
  • software
  • SOPA
  • tuxedo
  • web 2.0
  • webOS
  • windows
  • work

Blog Archive

  • ►  2012 (10)
    • ►  January (10)
  • ▼  2011 (70)
    • ►  December (10)
    • ►  November (9)
    • ►  October (7)
    • ►  September (8)
    • ►  August (1)
    • ►  July (3)
    • ▼  June (3)
      • Crypto Load Balancer Using Off The Shelf Hardware
      • Conan's Dartmouth 2011 Commencement Address
      • The Standing Desk
    • ►  May (3)
    • ►  April (8)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2010 (16)
    • ►  December (6)
    • ►  November (9)
    • ►  October (1)
Powered by Blogger.

About Me

Unknown
View my complete profile