It wasn’t easy, but Netflix will soon use HTTPS to secure video streams
Netflix will soon use the HTTPS protocol to authenticate and encrypt customer streams, a move that helps ensure what users watch stays secret. The move now leaves Amazon as one of the most noticeable no-shows to the Web encryption party.
Flipping on the HTTPS switch on Netflix's vast network of OpenConnect Appliances (OCAs) has been anything but effortless. That's because the demands of mass movie streaming can impose severe penalties when transport layer security (TLS) is enabled. Each Netflix OCA is a server-class computer with a 64-bit Xeon CPU running the FreeBSD operating system. Each box stores up to 120 terabytes of data and serves up to 40,000 simultaneous, long-lived connections, a load that requires as much as 40 gigabits per second of continuous bandwidth. Like Amazon, Netflix has long encrypted log-in pages and other sensitive parts of its website but has served movie streams over unsecured HTTP connections. Netflix took the unusual step of announcing the switch in a quarterly earnings letter that company officials sent shareholders Tuesday.
Failed experiment
Netflix first experimented with TLS-protecting customer streams six months ago when it dedicated several servers to deliver only HTTPS traffic to a subclass of users and compared the results to similarly situated servers serving HTTP streams. The results weren't encouraging. There was as much as a 53-percent capacity hit. The penalty was the result of the additional computational requirements of the encryption itself and the lost ability to use certain Netflix streaming optimizations. The optimizations involve avoiding data copies to and from a server's user space, something that's not possible with HTTPS turned on.
"This is not a capacity hit we can absorb in the short term, and we estimate the costs over time would be in the $10s to $100's of millions per year," Netflix Director of Streaming Standards Mark Watson wrote in an October 2014 e-mail to W3C public listservs. Netflix decided to forgo the HTTPS rollout until it could get costs in line.
On Wednesday, Watson was back to say Netflix had made enough progress that it was ready to begin rolling out HTTPS for both the entire site and the content itself. Desktop browser tests will be at scale in the next three months, and the job should be completed in the coming year. The performance hit was stemmed by the some TLS optimizations Netflix engineers developed for high-bandwidth FreeBSD applications. The work was presented at this year's Asia BSD conference.
"We now believe we can deploy HTTPS at a cost that, whilst significant, is well justified by the privacy returns for our users," Watson wrote in a follow-up e-mail Wednesday. He didn't quantify the current performance hit or cost that's incurred now.
Watson's account casts a new light on the conventional wisdom often cited by encryption advocates that the costs of switching to full-blown HTTPS are negligible. Netflix's experiments suggest that the costs can be driven down by engineering, but the savings don't come without a considerable amount of work.
"It’s not clear why that was, but I’m guessing it had to do with the way their servers were configured, the types of cipher suites they were using, lack of hardware, etc.," Matt Green, a Johns Hopkins University professor and encryption expert, told Ars. "The fact that they’ve made so much progress in only six months probably means that the improvements were probably not so hard to make."
In a paper that accompanied the Netflix presentation at the Asia BSD conference, engineers from Netflix and FreeBSD laid out a wealth of technical details that helped them realize the performance gains. They wrote:
Read More
Comments
Post a Comment