SIP Authentication Using Diffie-Hellman Key Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Session Initiation Protocol (SIP) authentication method, specifically the Digest Authentication Scheme, is vulnerable to plain text attacks and dictionary attacks due to its stateless challenge-based mechanism, which only authenticates request messages and not response messages, and uses an initial key that can be compromised.
Innovation Solution
The implementation of a SIP authentication method that uses the Diffie-Hellman algorithm to generate a shared key for subsequent authentication steps, extending SIP headers and fields to include DH authentication information, ensuring the initial key is only used once and protecting against dictionary attacks, and providing authentication for both request and response messages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the Digest Authentication Scheme is used for SIP authentication, then basic access authentication function is provided, but the system is vulnerable to plain text attacks and dictionary attacks
Solution Approach 1:
The authentication process is divided into multiple stages: initial authentication using Digest scheme, followed by establishment of a shared secret key, and then subsequent authentication using the shared key. This segmentation allows the system to combine the simplicity of Digest authentication with the security of shared key authentication, preventing both plain text and dictionary attacks.
Solution Approach 2:
Before actual authentication can occur, a preliminary action is performed to establish a shared secret key between client and server through the Diffie-Hellman key exchange. This preliminary key establishment ensures that subsequent authentication uses a secure shared key rather than transmitting passwords or authentication credentials in plain text, thereby preventing plain text and dictionary attacks.
2Ease of operation
If the initial key is reused through the RFC 3261 Digest authentication procedure, then authentication is simplified, but the system becomes vulnerable to dictionary attacks
Solution Approach 1:
The authentication mechanism transitions from static use of an initial key to dynamic use of a shared secret key that is established through key exchange. The shared key is generated dynamically during the authentication process and is specific to each client-server pair, making dictionary attacks ineffective while maintaining operational simplicity through automated key management.
Solution Approach 2:
A shared secret key acts as an intermediary between the initial authentication credential and the actual authentication process. This intermediary key is established through Diffie-Hellman key exchange and serves as the basis for subsequent authentication, preventing direct exposure of the initial key and protecting against dictionary attacks while simplifying the authentication flow.
3Device complexity
If only request messages are authenticated but not response messages, then the authentication mechanism remains stateless and simple, but the client is prone to suffer plain text attacks
Solution Approach 1:
The authentication mechanism merges request authentication and response authentication into a unified process. Both client and server authenticate each other using the shared secret key, and both parties sign their messages. This combining of bidirectional authentication with message signing provides comprehensive protection against plain text attacks while maintaining reasonable complexity through the use of established cryptographic protocols.
Data Source
AI summary
A Session Initiation Protocol (SIP) authentication method, sends a request message without authentication information to a server end from a client to request for access; sends back a response message, which contains authentication exchange information and DH authentication response information of the server end when the server end receives the request message; authenticates the received response message by the client and sending a request message, which contains authentication information of the client, to the server end after the authentication is passed; authenticates a user according to the received request message by the server end, and sends back a response message which contains the authentication information of the server end; authenticates the legality of the server end by the user according to the received response message, which contains the authentication information of the server end.


