Why Organizations Need to Become Crypto-Agile and What that Means
Cryptographic change is a reality. Since 2006, we have seen the sunset of WEP, SSLv2, RSA-1024, SSLv3 and early TLS. We know that Triple DES and...
7 min read
David Gamey : Jul 19, 2017 10:07:00 PM
Now is the time to stop using 64-bit block length ciphers such as 3DES (TDEA) and Blowfish in general purpose applications of cryptography. In 2016, an attack was demonstrated that affects all ciphers using 64-bit block lengths, including the most commonly used ciphers 3DES (TDEA), Blowfish, and IDEA; and specialized ciphers such as KASUMI, PRESENT, and HIGHT used in cellular, low power, and low resource applications.
The attack is novel, at least for the public, in that it does not hinge on the cipher algorithm, the key length, or the way the cipher is used. Before people panic, there are some use-cases that remain safe. There are, however, many unsafe use-cases that need to be addressed. The weakness stems from the fact that ciphers cannot use their keys indefinitely and keys must be changed before a critical volume of material is encrypted. Block length determines this frequency and modern ciphers like AES moved to 128-bit block lengths specifically to address this risk.
Naturally, you may be wondering why this hasn't been bigger news? Or why NIST or ISO hasn't deprecated 64-bit block ciphers earlier? All good questions. Perhaps they should have. We can only speculate, but it may be because this vulnerability is just a bit different, that it isn't related to key strength, protocol design, or implementation flaws. It may also be because there are mitigating strategies. However, the better question is are you at risk? And if so, how to make sense out of this and know what to do?
Note: NIST just announced their intent to deprecate TDEA (3DES). They are open for comments and feedback until October 1st, 2017. The announcement focuses on 3DES as the other ciphers were not promoted by NIST.
Before we look at this development, let's review recent history of cryptographic vulnerabilities.
Recent years have seen a flood of attacks and bugs that affect Internet security. Many of these took a decade or more of research to develop after the discoveries of the original weaknesses:
The problem resulting from not changing keys often enough is known to cryptographers as the "Birthday Bound". It's related to the Birthday Paradox, where you only need about 23 people in a room to have a 50% chance of two of them having the same birthday.
The weakness arises because of "collisions" in the cipher output. By XOR'ing the collisions an attacker can get close to the plain text. If they also know some of the plain text or can predict it, then they can begin peeling back the encryption. And the more collisions and known plain text they have, the more they can decrypt.
The chance of collisions grows with the volume of encrypted data and becomes significant as volumes near the birthday bound. For 64-bit block ciphers this is 232 or about 4 billion blocks.
Attackers have a much easier time when they can control more of the plain text and when interesting data repeats. The attack framework used in BEAST and POODLE does an excellent job here.
The attack, called "Sweet32", was demonstrated last summer. It used the BEAST framework to significant advantage by forcing re-transmission of high volumes of valuable secrets. It succeeded in a surprisingly short time, specifically:
The main risk factors for 64-bit block collision attacks are:
Given these factors, some 64-bit block use-cases are clearly unsafe
Safe use-cases will have characteristics such as:
Historically, PCI has taken its lead on cryptography matters from NIST. One only has to look at the deprecation of SSLv2, RSA 1024, and SSL/early TLS for examples. NIST's move to begin the deprecation of TDEA will inevitably result in PCI following suit. It's a fair question to ask: what will the this process will look like?
There is some good news in this as an excellent example of a safe use-case would be a hardware payment terminal connecting to a processors payment gateway for a credit/debit transaction. Consider:
These are typically payments based use-cases and these are precisely the same reasons that, despite POODLE, hardware terminals running SSL 3.0 can often get a pass under PCI DSS. Additionally, other cases such as small cryptograms in databases and message fields shouldn't be affected.
If there were no safer use cases and it were just the case of the cipher's use by individual organizations, there would likely be no modification of DSS as it would be covered by the general deference to NIST's position on strong cryptography. However, a major concern will be the impact on companion standards and the large world-wide installed base of payment devices, such as POS terminals, and ATMs. Final replacement of 3DES will take time and cost billions in upgrades and replacements.
This is our prediction as to how this process will unfold:
We would hope, that to maintain an even playing field, any changes to the PA-DSS will allow for the continued use of 3DES in hardware terminal based applications only where the encryption is provided by the PTS approved mechanism until those are deprecated.
Finally, we would expect to see a PCI DSS revision (possibly v3.3) in 2018 coming into effect after June 30th when all current future dated requirements become locked in.
Getting rid of 64-bit block ciphers should be easier than eliminating SSL. Still it will require planning including impact analysis. In each case consider:
Organizations should begin planning today:
Vulnerability scanners will flag these legacy ciphers when used in a protocol. If you run scans as part of a compliance program such as PCI's ASV, the existence of these legacy ciphers will become a compliance issue. The scanners won't know if your use-case is safe and the documentation of those cases will be invaluable to show the finding is a false alarm and obtaining an exemption.
As for applications using small cryptograms, while they remain safe for now, industry and individual organizations need to start thinking about how they will replace them in the long term so that it doesn't become an emergency. This effort will eventually address the use of 3DES in financial systems such as ATMs and POS terminals.
Cryptographic change is a reality. Since 2006, we have seen the sunset of WEP, SSLv2, RSA-1024, SSLv3 and early TLS. We know that Triple DES and...
NIST recently published a document "Transitioning the Use of Cryptographic Algorithms and Key Lengths" which formalizes the sunset of Triple DES by...
1 min read
The PCI Security Standards Council today published the expected update to PCI releasing these documents including some specific migration guidance: