Making the Right Choice: Security and NFC/RFID Tags
Depending on the application, NFC/RFID tags may or may not require some level of security. If you were only interested in tracking assets, a simple serial number would do. However, if you were issuing chip and PIN credit cards or e-passports, then a much higher level of security is necessary to protect that credential and provide proof.
Higher security comes at a higher cost.
Three Levels of Security — All with Pros and Cons
There are three levels of security for NFC tags (or HF RFID Tags). Each level comes with its issues and security threats at the system level.
Level 1: Plain Memory Tag with Password Protection
A unique ID is encoded at the factory and can’t be changed. Passwords offer secure data access if desired.
Benefit: Very low cost.
Weakness: Password management is possible but would be a monumental task to manage. Imagine deploying a system with thousands of tags of passwords. Every UID would have a unique password. A database breach would compromise all the tags.
Level 2: Plain Memory Tag Using the Signature RTD 2.0
The content of the tag is signed using public key cryptography similar to code signing. Once signed, no one can tamper with the message in any way and the signer can be verified. Tag hardware attributes can also be included in the signature to make tag cloning very difficult.
- The message cannot be modified
- Protection against copying the message to a different tag if the hardware is signed
- The signer can be identified for a verifiable chain of custody
- Key management is simple
A public NFC root is stored on the NFC enabled device (say an app or a certificate store). It does not need to be protected because it is signed. Your web browser has hundreds of roots for signature verification. Signature verification can be an off-line process, no need to be connected to a cloud service. This solution is also cost effective because you can use plain memory tags.
Weakness: The whole tag (NDEF, hardware attributes and signature record) can be copied and emulated. This is more difficult than emulating just a UID. There may also be less incentive to copy given the message cannot be changed.
Level 3: NFC Tags with Additional Crypto
While the crypto algorithms may be standard the key management is not. These tags are used in closed loop systems for ticketing or payments where companies deploy their own keying infrastructure. There are two types of security chips for this application:
Most crypto based tags fall into this camp. They use a standard block cypher like AES or Grain. Think of it as a lock with one key to lock and unlock data (i.e. symmetric key).
Benefit: Considered very secure and fast. Also, uncovering the tag’s private key would be extremely difficult, if not impossible, without destroying the tag. In other words, cloning the tag is very hard.
Weakness: The main weakness is key management. The reader (or server in the sky) must have or be derived by a master key that could be compromised if not protected (unlike a public key certificate). This is especially an issue for readers. Master keys could be stored in the cloud, but now tag verification must take place online.
Asymmetric Key (or public key):
Like the Signature RTD 2.0 but the crypto engine is on the tag, and its private key is protected. Think of it as a two key system, one key can only lock (the public key) and the other key can only unlock (the private key).
Benefit: This approach is very secure and key management is very simple like the Signature RTD 2.0. The verifier does not need to protect a secret key like the symmetric case. Verification can be done offline. Chip and PIN credit/debit cards use this type of cryptography.
Weakness: Transaction speeds can be 10 times slower than with symmetric key. For example, if AES takes 50 ms for the authentication protocol, the asymmetric case may take 500ms. Asymmetric cryptography requires more horsepower than symmetric key cryptography.
The Bottom Line
Increasing the security level increases cost. The application must drive the security requirements. It’s also worth noting that you can combine security levels. Closed loop systems where tags are re-used can afford higher security. Open loop systems where tags are used in a limited fashion and thrown away are much more sensitive to cost.
Here are a few example use cases driving different security requirements.
Level 1 — Low Security:
- Inventory tracking
Level 2 — Medium Security:
- Event tickets
- Tracking high volume sensitive items (i.e. medical equipment, drugs, books)
- Industrial assets requiring maintenance & software updates
- Authentic components especially where chain of custody is important
Level 3 — High Security:
- Credit/debit cards
- Multi-use tickets
- Identification cards
- Key fobs
Talk to TrustPoint today about the right level of security for your specific needs.