TLS Authentication Using Certificate Hash Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing DNS resolution solutions rely heavily on configuration parameters that assume stability, but these can be compromised by attacks or changes, leading to potential misconnection with unauthorized DNS resolvers.
Innovation Solution
The implementation of a system and method for Transport Layer Security (TLS) authentication using a hash of an expected certificate, which ensures that only the trusted DNS resolver is used by comparing the received certificate hash with the expected hash during the TLS handshake.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If configuration parameters are used to establish TLS session, then ease of operation is improved, but reliability deteriorates because parameters can be compromised leading to misconnection with unauthorized DNS resolvers
Solution Approach 1:
The system performs preliminary verification by computing a hash of the server's certificate during the TLS handshake and comparing it against the expected hash stored in configuration parameters. This preliminary action ensures that the server identity is verified before any DNS queries are executed, preventing connection to unauthorized resolvers while maintaining ease of operation through automated verification.
Solution Approach 2:
The system implements feedback mechanisms where the client application monitors the TLS handshake process and compares the received certificate hash with the expected hash. When a mismatch is detected, the system can trigger reinitialization of configuration parameters or abort the connection, providing feedback that maintains reliability without complicating the user experience.
2Reliability
If hash of certificate is compared during TLS handshake, then reliability is improved by ensuring trusted DNS resolver, but device complexity increases due to additional verification steps
Solution Approach 1:
The system extracts only the essential verification step by computing and comparing hashes of the certificate during the TLS handshake. Instead of implementing complex certificate validation chains or multiple verification algorithms, the system takes out the core verification function (hash comparison) and integrates it into the existing TLS handshake process, thereby improving reliability with minimal added complexity.
Solution Approach 2:
The system changes the verification parameter from full certificate validation to hash-based verification. By transforming the certificate verification process into a hash comparison operation, the system achieves reliable server identification while reducing computational complexity and simplifying the implementation requirements for the client application.
3Ease of manufacture
If configuration parameters are assumed stable, then ease of manufacture is improved, but reliability worsens when parameters are compromised or changed
Solution Approach 1:
The system performs preliminary verification of server identity by comparing the hash of the received certificate against the expected hash stored in configuration parameters before allowing any DNS resolution operations. This preliminary action ensures that even if configuration parameters are later compromised or changed, the initial verification maintains reliability without complicating the manufacturing or deployment process.
Solution Approach 2:
The system introduces an intermediary verification step in the form of hash comparison between the configuration parameters and the actual server certificate. This intermediary mechanism acts as a mediator that verifies the integrity of the connection without requiring changes to the configuration parameter storage or retrieval mechanisms, thereby maintaining ease of manufacture while improving reliability.
Data Source
AI summary
Systems and methods for Transport Layer Security (TLS) authentication based on a hash of an expected certificate are disclosed. In one embodiment, a method performed by a client application comprises obtaining one or more configuration parameters for establishing a TLS session between the client application and a trusted server application, the one or more configuration parameters. The method further comprises determining that an error has occurred based the one or more configuration parameters and, responsive to determining that the error has occurred, performing one or more actions that directly or indirectly trigger reinitialization of the one or more configuration parameters.


