I am currently researching best practices in designing a potential PIN management solution for a financial services application and began looking into ISO 9564 as a source of requirements.
One of the things that popped into my mind while reading this was that under the section for approved encryption algorithms they list:
- Triple DES (weak symmetric block cipher)
- AES (symmetric block cipher)
- RSA (asymmetric cryptosystem)
I wondered immediately if there would be a legitimate use case for needing to ever directly decrypt cipher text of a PIN. Other requirements of the ISO standard here claim that if the PIN is forgotten or potentially compromised that a new PIN should be issued.
The question that burns in my mind (that likely has a very obvious answer that currently escapes me) is why would the standard not recommend a cryptographic hash instead? Why can't validation of a PIN entry attempt be done in much the same way that is commonly understood as best practice for password management? The salt in this case would be the customer account number which is XOR'ed into the PIN itself anyway. What am I missing here?