Spies and hackers will find it harder to unseal encrypted communications if they’ve already captured packets sent across Amazon’s content distribution network, CloudFront.
Amazon on Wednesday enabled ‘perfect forward secrecy’ (PFS) for customers that use its content distribution network (CDN), CloudFront, to speed up their apps. By switching on PFS, AWS will improve the effectiveness of secure sockets layer (SSL) encryption.
“This feature creates a new private key for each SSL session. In the event that a private key for a session was discovered, it could be used only to decode that session and no other, past or future,” Amazon Web Services (AWS) explained.
Like other CDNs, such as Akamai and CloudFlare, AWS CloudFront offers developers who host apps on Amazon’s infrastructure a way to speed up their apps across different regions by moving content to nodes that are closer to the end-user to cut out sluggish performance of an app from the user’s side.
Amazon’s Australian customers gained another CloudFront node in Melbourne this July, adding to its Sydney one. But until Wednesday, despite having SSL encryption enabled, they could have been more exposed than necessary to attacks that used the OpenSSL vulnerability Heartbleed to spill their private encryption key.
PFS prevents “retroactive decryption”, where an attacker has gained access to an encrypted message that they cannot unseal today but could, in future — if they gained access to the private key — unseal those captured messages.
The issue that PFS deals with is the use of the same key across multiple SSL sessions. So, in the future, if a law enforcement agency has captured several encrypted sessions and then ordered a web company to hand over the key, they could unlock all historical messages protected by the same key. Since PFS creates a new key for each session, an attacker that acquires a key is limited to a single session. Essentially, it raises the cost of an attacker intent on unsealing encrypted sessions.
One scenario PFS would have helped AWS CloudFront was when the OpenSSL Heartbleed memory leakage flaw was disclosed. CloudFront, along with Elastic Load Balancing, EC2, OpsWorks and Elastic Beanstalk were impacted by the bug.
As Electronic Frontiers Foundation noted at the time, certain Heartbleed attacks could force a server to cough up private encryption keys used to protect HTTPS traffic. Since EFF had PFS enabled, an attacker that stole EFF’s private SSL key today could not unseal encrypted traffic to its site from the past.
CloudFront would no longer be vulnerable if a similar flaw is found in future.
Another improvement to CloudFront includes SSL Session Tickets to smooth out the the SSL handshake process.
“After the negotiation is complete, the SSL server creates an encrypted session ticket and returns it to the client. Later, the client can present this ticket to the server as an alternative to a full negotiation when resuming or restarting a connection. The ticket reminds the server of what they have already agreed to as part of an earlier SSL handshake.”
AWS details further security enhancements here.