Did you ever use the word "crypto-compliance" for PCI DSS? Maybe you should

Tags: #<Tag:0x00007f0ca9d75430> #<Tag:0x00007f0ca9d750e8> #<Tag:0x00007f0ca9d74e40> #<Tag:0x00007f0ca9d74a30>


Crypto-compliance - what the...

The word is rare, but the topic is present. The cipher domino continues. Hashes like MD5 and SHA1 die. The same happens to old encryption standards and algorithms; like DES and 3DES. It’s time to say good bye. But how do you phase these old standards out?

PCI DSS 3,2 has new crypto requirements

If you process credit cards, you need to use a reasonably secure encryption. Among the requirements is:

  • no SSLv3
  • no TLS 1.0
  • No DES
  • No 3DES

In PCI DSS you are allowed to use SHA1, for signature algorithms in SSL certificates. It’s hard to convince these damn Certificate Authorities to phase these out… I know.

F5 BigIP - quick tip

If you have a BigIP load-balancer you can setup a PCI DSS 3.2 compliant crypto config like this:


This disables

  • RC4 (Rivest Cipher)
  • DES (Data Encryption Standard)
  • 3DES (Triple Data Encryption Algorithm)
  • ADH (Anonymous Diffie–Hellman key exchange)
  • EDH (Ephemeral Diffie Hellman)
  • SSLv3 (Secure Sockers Layer version 3) and Transport Layer Security version 1.0)

It leaves TLS 1.1, 1.2 enabled and also sets up the system for Perfect Forward Secrecy (PFS).

What if I cannot disable these crypto standards?

If you cannot do this, you need to make a risk assessment and come up with compensating controls for your PCI DSS SAQ. - Not an easy thing to do. It’s also quite obvious if you do not do this properly, because the ASV results will nag you regularly about this.

Personally I recommend to stop supporting outdated clients, especially related to processing cardholder data. Most browsers support TLS 1.2 anyways nowadays. Even Chrome on Windows XP does. But it’s sad to see how few ciphers remain available.

PCI DSS 3.2 Compendium (2017)
Law and Data Security - a growing compendium