Secure NFC Authentication via Elliptic Curve Key Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing authentication methods via near-field communication are vulnerable to cyberattacks such as replay attacks, spoofing, and man-in-the-middle attacks, especially when used in insecure applications.
Innovation Solution
A method involving the generation of cryptographic elements by devices, using the Diffie-Hellman protocol on elliptic curves, for secure key exchange and authentication, which includes encryption and decryption of codes using session keys, and verification through message authentication codes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If authentication is performed via an insecure application without network connection, then authentication can take place in a white zone, but the authentication process becomes vulnerable to cyberattacks such as replay attacks, spoofing attacks, relay attacks, or man-in-the-middle attacks
Solution Approach 1:
The authentication process is segmented into distinct phases: initial key pair generation, session key derivation, and authentication code exchange. Each phase uses different cryptographic mechanisms (asymmetric cryptography for key exchange, symmetric cryptography for session encryption, and hash-based authentication codes for verification), thereby enhancing security while maintaining offline capability.
Solution Approach 2:
The system performs preliminary actions by pre-generating and storing public key pairs in the secure element before authentication is needed. During authentication, only the authentication codes (derived from hashing the first element and session key) need to be exchanged, not the entire key material. This preliminary setup enables secure offline authentication while minimizing the security risks of transmitting sensitive data.
2Reliability
If cryptographic key material is transmitted during near-field communication, then secure key exchange can be achieved, but the communication becomes more complex and time-consuming
Solution Approach 1:
The invention extracts and transmits only the essential authentication elements (first element, second element, and authentication codes) rather than the entire cryptographic key material. The public key pairs remain stored in the secure element and are never transmitted. This extraction approach maintains security while simplifying the communication protocol and reducing transmission time.
Solution Approach 2:
The system changes the parameter being transmitted from large cryptographic keys to small authentication codes derived from hashing operations. The first code (hash of first element and session key) and second code (hash of second element and session key) are compact representations that enable verification without transmitting the actual key material, thereby reducing complexity and transmission overhead.
3Reliability
If authentication codes are encrypted with session keys, then message integrity can be verified, but additional encryption and decryption operations increase processing time
Solution Approach 1:
The authentication process uses periodic hashing operations to generate authentication codes at specific points in the protocol. The first code is generated after deriving the session key, and the second code is generated after establishing mutual authentication. This periodic generation of authentication codes provides verification at critical junctures without requiring continuous encryption/decryption, thereby balancing security with processing efficiency.
Data Source
Figure 1
Figure 2~3A
Figure 3B~4
AI summary
The present description relates to a method comprising: - generating, by a first device, a first and a second element; - providing the first element to a second device; - generating, by the second device, a first public key; - providing the first public key to the first device; - generating, by the first device, a session key; - generating, by the first device, a first code, and its encryption by the session key; - generating, by the first device, a second public key; - providing the first encrypted code and the second public key to the second device; - generating, by the second device, the session key and decrypting the first encrypted code; - controlling an actuator on the basis of the first public key.