There’s been a security problem with point-of-sale (POS) terminals that has been recognized and dealt with by both the retail industry and the government. The problem exists because payment card information ends up stored in the physical card reader after swiping. Those credit card readers are legacy hardware, designed in the days before operational security became a priority.
It has taken 10 years to devise a security scheme that would solve this problem without hindering transactions. The solution needed could not change the length or format of credit card numbers, for example, because related programs expected to see a certain format and would break if fed another.
This formatting problem extends beyond credit cards, even though they are an obvious case. Health information may have post-processing format sensitivity. Other uses may also include financial information security, data sanitization and the transparent encryption of fields in legacy databases.
NIST to the Rescue
The National Institute of Standards and Technology (NIST) announced a solution that can remedy this issue. It provided two possible ways of format-preserving encryption (FPE), which protects strings of payment card information from cybercriminals with encryption but still allows it to be read and processed by partner software.
According to the NIST release, “The new FPE method works on both binary and conventional (decimal) numbers — in fact, sequences created from any ‘alphabet’ of symbols — and it produces a result with the same length as the original.”
The NIST paper also noted that FPE facilitates the use of encryption with sensitive information as well as the retrofitting of encryption technology to legacy applications where a conventional encryption mode might not be feasible. This could include database applications that do not support changes to the length or format of data fields.
The two FPE techniques, called FF1 and FF3, were vetted during public comment periods in 2009 and 2013. While the implementations vary in execution speed, both are modes of operation for an approved symmetric block cipher algorithm known as the 128-bit block Advanced Encryption Standard (AES).
Adding Tweaks for More Security
In addition to the reformatted data, each of the possible techniques takes an additional input called a tweak. The tweak can be regarded as a changeable part of the key because together they determine the encryption and decryption functions. It is possible to have a static tweak, but the use of variable tweaks is strongly recommended by NIST as a security enhancement.
Keeping the native format of encrypted data intact may be a necessity for success, especially in a legacy system. This newest standard from NIST does just that.