So by now, everyone has probably heard that the NSA has supposedly compromised SSL security. It’s a bold claim, and a worrying one. But what exactly did they pull off, because the information floating around about the project is quite limited.
First off, it’s important to realize how SSL actually works. SSL itself is not an encryption algorithm, it’s a communication security protocol that uses encryption under the hood. Not even just one encryption algorithm, but a suite of algorithms the server and client mutually select from. On any given SSL connection to a website, several things happen:
Client requests an SSL connection with the server
The server sends back an RSA public key
The client verifies the key, encrypts a random session key with the public key, and sends it to the server along with the list of symmetric algorithms it supports.
The server then decrypts the session key with the private key, and begins the encrypted channel using a cipher both the client and server support.
In other words, RSA is used to establish a symmetric encryption key, and the remainder of the communication is encrypted using the symmetric encryption algorithm like RC4 or AES.
The information about what the NSA has achieved suggests that the primary attack on SSL is a brute force attack. This means they are trying to guess one of the keys being used. Either the RSA private key, or the negotiated session key. They must effectively try most of the possible keys before coming up with the correct one. Testing a key takes time, so the more you have to test, the longer it’s going to take. The security of these algorithms is based on the fact that you would need to try so many keys that it would take far too long to be practical (decades or more). As technology gets better however, the speed at which these tests can be performed is reduced, and larger key spaces can be tested in reasonable amounts of time.
So first let’s look at RC4 and AES. These are the encryption algorithms generally used once RSA is used to negotiate their keys (usually RC4). These algorithms in the context of SSL generally end up using a 128 bit encryption key (especially over the last few years when the data was actually collected by the NSA). There are no significant attacks on RC4 or AES which allow faster brute force attacks than the full key size (with a few minor exceptions that aren’t extremely applicable in the context of reading mass numbers of SSL encrypted communications). This means that in order to brute force the symmetric encryption key, they would need to test 3.4028236692093846346337460743177e+38 possible keys (in reality a bit less, but still an enormous number). If they could realistically test 1 billion keys every second, it would take 10790283070806014188971 years to complete. Obviously that still isn’t practical. So realistically, they are not likely to have cracked the symmetric portion either mathematically or through brute force.
That leaves RSA as the potential target for the NSA. And it makes sense too, because if you can compromise the RSA private key of a single site, you can read all of the communications for every user who visits that same domain. Effectively, you crack one key, and you get a lot more bang for your buck. While the current recommendation for RSA key size is 2048 (which is plenty secure for the foreseeable future), many sites have 1024 bit certificates or weaker, especially over the course of the last two years.
So there are really two different ways the NSA could have approached the attack on RSA. The first and most likely, at least to some degree, is that they literally asked for the private keys of major websites. I would like to believe that companies would be unwilling to leak their own keys, and that CAs wouldn’t be so untrustworthy to have leaked them, but in reality, who knows. Clearly the telecom industry has no problem furnishing that type of access. Alternately, they could compromise some of the RSA keys simply by using keys that have been leaked in the past. Since they don’t care if the key was revoked, they can decrypt all traffic that was encrypted with a key that was later leaked to the public.
What I believe they are likely doing when they can’t get the key from the source, is to brute force the RSA keys. In order to do that, they would need to be able to factor an extremely large number into the two prime numbers that make it up. It is understood that this is an exceptionally difficult mathematical problem and cannot be solved in a reasonable amount of time. However in the last couple years, people have made serious advances in the ability to perform this task for smaller numbers. How small is the question.
It seems that while it has become relatively trivial to factor for RSA keys up to about 768 bits, 1024 (the most common size used in the past) is still out of reach. Or at least it was, until the Weizmann Institute released a paper on a theoretical hardware implementation named TWIRL capable of dramatically speeding up the process for 1024 bit RSA keys. Of course it would take millions of dollars to construct the system, but given that the NSA has spent nearly a quarter billion dollars on the project, I think we may have our answer.
So my best educated guess on what the NSA is doing, is that they have constructed a TWIRL like system for rapidly recovering the private keys of SSL communications (in under 1 year per domain, probably even under a week given the scale of their investment). They are also likely utilizing leaked RSA private keys, and contacts with companies willing to hand over their private keys. They are then using the private keys to decrypt mass amounts of traffic for anyone who visited those domains while the key was in effect.
What does this mean for the average consumer? It’s unfortunately too late in regards to the data the NSA has already collected. That information is likely encrypted with 1024 or less, and that can’t be fixed retroactively. In other words, yes, the NSA can probably see all your SSL traffic for the last two years, or at least they will be able to in a couple years when they crack the rest of the most popular RSA certificates.
What does this mean going forward? Companies need to begin upgrading their SSL certificates to a size of 2048. That one measure will prevent all future traffic from being cracked in the foreseeable future. However anything is possible, so let’s assume the NSA figures out how to break 2048 in a few years. In order to ensure that even if that were to happen, the NSA would still not be able to view the plaintext traffic, SSL forward security should be leveraged. SSL forward security uses RSA and a secondary cipher like always, but instead of simply encrypting the symmetric key with the public RSA key, it does a real cryptographic key exchange. This means that the symmetric key is never actually transmitted between the two parties (not even in an encrypted format). So even if the RSA key is compromised, the NSA wouldn’t be able to recover the symmetric keys, and therefore wouldn’t be able to read the traffic.
In conclusion, I would just like to wrap up by saying that SSL has NOT been cracked. The SSL protocol itself, and the optimal encryption schemes it can use, are plenty secure. The entire reason the NSA was able to do this, is because they have historical data covering a period of time where the encryption used was not optimal. That hasn’t changed yet, but I would hope this is a wakeup call to everyone responsible for building SSL enabled software to start supporting, or even better, mandating the selection of optimal algorithms and key sizes. I seriously hope that CAs will stop selling 1024 and lower RSA certificates, and that browsers will not by default, disable the stronger cipher suites they are capable of using (yes, even though your browser can do better, its off by default… Wonder who pushed for those settings?).
Title: Senior Vice President and General Manager of the Branch Solutions Business Unit
Area of Responsibility: Driving Juniper business including strategy, revenue/profitability, products and execution for this segment of SLT's overall portfolio, specifically comprehensive solutions for the small to medium size locations of large, distributed enterprises.
Alex joined Juniper in February 2008 after more than five years at Extreme Networks, where he served as Chief Operating Officer from mid 2002 through 2006, and the last year as VP and GM of Extreme's high-end switching business and core engineering operations. During his tenure at Extreme Alex led programs which established essential product lifecycle and quality systems, completely refreshed the product portfolio, significantly improved product and service quality and margins, and streamlined the supply chain.
Prior to Extreme Alex served as Chief Operating Officer for LCG Wireless (acquired by ADC Telecommunications), SVP Business Operations for ReplayTV, and earlier spent eight years in various executive roles with Octel Communications (acquired by Lucent Technologies) as CIO, SVP Business Operations, and SVP and GM of Enterprise Messaging. Alex holds a bachelors and masters degree in electrical engineering from Washington University in St. Louis.
Bill is the Director of Federal Certifications and Policy at Juniper Networks. In this role, Bill focuses on several areas unique to the needs of Federal Government customers, including product certifications, IPv6, and security. Bill came to Juniper Networks in January 2008 after more than 20 years in the IT community working with commercial enterprise customers, service providers, and the US Federal Government.
Bill started his career as an engineering officer in the US Air Force after graduating with a Bachelor of Aerospace Engineering from the Georgia Institute of Technology. Bill has an MBA from the Wharton School at the University of Pennsylvania.
Brad Minnis, CPP is the Senior Director of Corporate Environmental, Health, Safety & Security for Juniper Networks, Inc. based in Sunnyvale, CA, where he is responsible for strategic design, implementation and management of the company’s security, safety, environment, crisis management and business continuity functions. He also leads the company’s efforts in corporate citizenship and sustainability, and manages the Corporation’s government-related security programs.
Mr. Minnis has over 30 years experience in the Silicon Valley and has managed EHSS operations for a number of high tech companies, including Juniper Networks, 3Com Corporation, and National Semiconductor Corporation.
Mr. Minnis’ specialties include security management, supply chain and product integrity, anti-counterfeit, occupational health and safety and crisis management. In his role as Cyber Incident Response Team Leader for Juniper, Mr. Minnis has managed numerous high impact cyber-related incidents and cross-functional responses.
Mr. Minnis served for ten years in the United States Navy and has served in leadership positions the International Security Management Association (ISMA) and ASIS International, serving as Chairman of the San Francisco Chapter in 2003. He has also co-written several publications on software integrity assurance and supply chain security with organizations such as SAFECode.
Mr. Minnis is certified as a Protection Professional by the Professional Certification Board of ASIS International and attended the University of Connecticut, where he received two certificates in Environmental, Health and Safety
François Prowse is a Senior Systems Engineer for Juniper Networks, based in Brisbane Australia. Francois joined Juniper in 2006 as part of the New Zealand SE team, subsequently relocating to Australia. Prior to Juniper, Francois worked for four years at Alcatel in both operational and architectural roles, being jointly responsible for the construction of New Zealands' largest MPLS core network. Prior to Alcatel, Francois worked at UUnet, focusing on core network expansion in Europe. In all previous roles JUNOS has been the driving factor behind day to day operations, providing him with over 8 years of operational experience. Francois is a Juniper Networks Certified Internet Expert (JNCIE #144) which he obtained prior to joining Juniper Networks.
Greg Sidebottom is a Senior Engineering Manager in the Identity and Policy Management business unit at Juniper Networks. Greg has spent the last decade plus conceptualizing, architecting, designing, and leading the implementation of Juniper's SDX and SRC families of policy based service management applications. Previous to this, Greg held positions in the software and networking industries at Siemens, Cognos, Nortel, GTE labs subsidiary MPR Teltech, and the Alberta Research Council. Greg is an author of eight invention disclosures resulting in two patents issued and three pending. Greg holds a B.Sc. in Computer Science for the University of Calgary and an M.Sc. and Ph.D. in Computing Science from Simon Fraser University.
Senior Product Line Manager – CTP Products Juniper Networks.
Jim Kelly is the senior product line manager for the CTP products where he is responsible for the CTP product direction, marketing and circuit emulation applications within Juniper Networks. Mr. Kelly has more than 28 years of experience in the networking industry in technical roles, sales, marketing, and product management positions. He started his career in the United States Air Force. He has worked for Wang, Digital Telecom Systems, American Airlines, Network Equipment Technologies, Carrier Access, and Nortel Networks. He started Juniper Networks federal DoD sales in July 2000 and joined Juniper Networks again in October 2005 through the acquisition of Acorn Packet Solutions where he was the director of sales and marketing.
Justin Ryburn is a Senior Systems Engineer at Juniper Networks. He holds an MBA and a MS in IT Management from Webster University as well as numerous industry certifications. Justin contributed content for Cyber Forensics (Auerbach Publishing, 2007) and spoke on BGP Flowspec at NANOG63. Prior to joining Juniper, Justin held various operations, engineering, and sales engineering positions over his 15-year career with companies such Savvis, Nortel, XO, and Charter.
I am currently a Sr. Product Marketing Manager specializing in Juniper's Security Portfolio in the Service Provider industry. I am an experienced senior technical leader, technical marketing engineer, solutions architect, and product marketing manager with over 20 years of Internet and Enterprise industry experience developing solutions from scratch often in relation with business units and technology groups, my projects ranged from product, solution, and technology development to corporate technology strategies. I have strong analytical skills and I am able to crunch and articulate complex technology to a variety of audience knowledge levels. I possess a deep hands-on technology and business knowledge of Service Provider and Enterprise architectures with deployment hands-on skills. I also bring a unique perspective of open source philosophy, including but not limited to open innovation, software development methodologies, open source monetization and business models, and licensing and compliance in software integration. I am a strategic leader with proved ability to empower a team to improve their product, themselves, their team, and our company’s market position.
30 Years in Book Publishing, 20 years in Technical Book Publishing, including Apple Developer Press, Adobe Press, Nokia Developer Books, Palm Books, and since 2001, almost 10 years as consulting editor/editor in chief for Juniper Networks Book. Joined the company and started the Day One book line and in 2011, the new This Week book line.
Rajoo Nagar is a senior manager in product marketing at Juniper Networks. She is responsible for product marketing for Juniper's security solutions. Rajoo is a published author, her book “Telecom Service Rollouts” was published by McGraw Hill Professional.
I'm a Product Line Manager in the Security Business Unit working on all things intrusion prevention-related. I've been in the security field since 1994 working on diverse projects such as developing HP's public-key infrastructure (PKI), building the first protocol anomaly-based IDS at Recourse Technologies (acquired by Symantec), integrating vulnerability management and IDS at VM vendor nCircle and managing IPS products at Cisco and Juniper.
Jonathan Looney is a Senior Staff Courseware Developer at Juniper Networks. Before joining Juniper, he performed network engineering for a large enterprise, a regional ISP, and an application service provider (ASP). The holder of several industry certifications, he enjoys the freedom his job at Juniper gives him to both continually learn and also to share his knowledge with others through a wide range of media.
Scott is the Director of Product Marketing for Mobile Security at Juniper Networks. In his 20+ years in high tech, Scott has worked on Mobile and Endpoint Security, Network Security, IPS, Managed Services, Network Infrastructure, Co-location, Microprocessor Architecture, Unix Servers and Network Adapters. He has held leadership roles at Check Point, McAfee, Symantec, Exodus Communications, Cable & Wireless, Savvis, and HP.
Sherry Ryan is IT Vice President and CISO of Juniper Networks. Previously, Sherry held similar positions at Blue Shield of California, Hewlett-Packard, Safeway and Levi Strauss where she established and led their information security programs. Sherry holds the Certified Information Security Manager (CISM) certification from ISACA and the Certified Information Systems Security Professional (CISSP) certification from ISC2. She is a member of the High Tech Crime Investigation Association (HTCIA) and the Information Systems Security Association (ISSA).
Sherry has a bachelor's degree in Business Administration from the University of Redlands, and earned her MBA from the College of Notre Dame.