本論文乃針對網際網路電話協定SIP註冊密碼進行封包分析與使用者密碼破解,由於SIP 代理伺服器與SIP 使用者間的通訊是採用與HTML相同的明碼通訊。因此SIP的封包相當容易在網路上攔截。 雖然SIP在傳送訊令的過程中沒有傳送使用者的真實的驗證密碼,而是比對採用包含SIP 代理伺服器隨機產生的參數,再經MD5運算過後的response。 看似驗證過程很安全,因為參數是由SIP 代理伺服器隨機產生,而且驗證的是公開金鑰,每次使用者傳送不同的公開金鑰,由SIP 代理伺服器比對是否相符。但是IETF在制定SIP驗證機制時,並沒有考慮到網路封包被攔截後,攻擊者只須不斷的比對response,如使用窮舉法即可攻擊破解使用者驗證密碼。 因此本論文將實作搜集網路封包,過濾出SIP註冊相關封包,並利用窮舉法搜尋使用者設定的密碼。 由實驗結果可以得知密碼若為4碼以下,參數為純數字、純英文、或是數字與大小寫英文混合,皆可在5秒以內,完成解碼。 而不同長度的密碼也可以在線性時間長度內完成解碼,因此本論文希望藉由實驗結果,來說明使用者密碼的重要性,讓使用者確切的了解解碼所須時間長短,進而設定更安全的SI驗證密碼。
This thesis is a protocol for Internet telephony SIP registration password packet analysis and user password crack, the SIP proxy and SIP communications between users are plain code using the same communication with the HTML. Therefore, the SIP packets on the network is easy intercepted. Although the SIP in the process of sending information that does not transmit the user's real password authentication, but rather than include SIP proxy server for the use of randomly generated parameters, and then the MD5 operation after the response. Seems verify the process is safety, because the parameters are randomly generated by the SIP proxy server, and verify the public key, each user sends a different public key, by the SIP proxy server than for match. But the IETF in the development of SIP authentication mechanism, does not take into account the network packets are intercepted, the attacker need only keep the ratio of the response, such as using brute-force attack can crack the password for user authentication. Therefore, this paper will be implemented to collect network packets, filter out the relevant SIP registration packets, and use brute-force search for the user to set the password. The experimental results that the password if is four yards less parameters for the pure digital, pure English, or mixed numbers and write the English, can be made at 5 seconds to complete the decoded. The password can be different lengths in linear length of time to complete the decoded, so hoping that through this thesis experimental results to illustrate the importance of user passwords, so users the exact know length of time required for decoding, and thus set a more secure SI verify the password