Encrypted NFC Authentication With Symmetric Keys And Merkle Trees
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NFC tags using asymmetric encryption consume excessive power, and existing key management systems for symmetric encryption are not transparent and verifiable, posing security risks.
Innovation Solution
Implement a Merkle tree to store hashed signatures of NFC tags, using symmetric encryption and a CMAC generated from a unique identifier, counter, and encryption key, enabling secure authentication without revealing the private key, and utilize blockchain for transparent and verifiable ownership transfers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If asymmetric encryption is used for NFC tag authentication, then security is improved, but power consumption increases
Solution Approach 1:
The patent changes the cryptographic parameter from asymmetric encryption to symmetric encryption, specifically using AES-128 encryption. This parameter change maintains adequate security levels while dramatically reducing the computational complexity and power consumption of the NFC tag operations.
2Use of energy by moving object
If symmetric encryption with key management systems is used, then power consumption is reduced, but security transparency and verifiability deteriorate
Solution Approach 1:
The patent introduces a Merkle tree structure as an intermediary between the symmetric encryption key management and the authentication process. The Merkle tree stores hashed versions of authentication data, allowing verifiable proof of authenticity without requiring transparent key management systems. This intermediary structure provides cryptographic verifiability while maintaining the efficiency of symmetric encryption.
3Speed
If private key is stored in NFC tag for authentication, then authentication speed is improved, but security risk increases
Solution Approach 1:
Instead of storing the private key in the NFC tag, the patent creates a copy of the authentication mechanism using symmetric encryption with a shared key. The authentication process uses hashed signatures stored in a Merkle tree, which can be verified without accessing any private keys. This copying approach maintains authentication functionality while eliminating the security risk of private key storage.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach reduces power consumption in NFC tags and enhances security by ensuring secure, transparent, and verifiable ownership transfers without compromising privacy.
Implementation Method 1
Near Field Communication (NFC) is a short-range wireless technology that allows devices to communicate with each other when they are placed within close proximity, typically just a few centimeters apart. This technology operates on the principles of electromagnetic induction, enabling data transfer between compatible devices without the need for physical connections.
Data Source
AI summary
A method for authenticating a message from a near field communications (NFC) tag having a corresponding encryption key includes receiving a message from the NFC tag, the message comprising: an NFC tag identifier uniquely corresponding to the NFC tag; an item of variable data generated by the NFC tag; and an authentication code generated by the NFC tag from the tag identifier, and item of variable data, and the encryption key; and reading the authentication code from the message, said authentication code being an extracted authentication code; and authenticating that the message is from the NFC tag by determining that the authentication code is from the NFC tag, without decrypting any portion of the received message. Illustrative embodiments determine that the authentication code is from the NFC tag by checking the authentication code against a pre-determined list of authentication codes uniquely associated with that NFC tag.


