本發明專利技術提供一種基于SIP協議實現注冊的方法,其包括:1)客戶端發送REGISTER請求;2)服務器判斷收到請求是否含有密文字段,若有,執行3),否則執行7);3)服務器判斷發送請求用戶是否存在,若存在,執行4),否則執行5);4)服務器判斷發送請求用戶是否激活,若激活,執行7),否則執行5);5)服務器產生一對公私鑰預建賬號,并響應收到的請求;6)客戶端判斷收到的響應是否含有公鑰字段,若有,獲取公鑰并加密用戶密碼,重構REGISTER請求并發送,返回2),否則執行7);7)按照標準SIP完成注冊認證流程。本發明專利技術可實現終端在本機自主開通用戶賬號,提高了工作效率,可用于網絡認證注冊技術領域。
【技術實現步驟摘要】
基于SIP協議實現終端注冊的方法
本專利技術涉及網絡認證注冊
,尤其是一種實現終端注冊的方法,可用于語音、視頻、數據等多媒體業務。
技術介紹
在SIP協議中,網元地址采用SIPURI標識。SIPURI格式類似于E-mail地址,即user@host,包含用戶邏輯賬號和主機名兩個部分,主機名可以是DNS域名或IP地址。SIP協議采用邏輯賬號和物理聯系地址相分離的機制。邏輯賬號用于標識用戶,物理聯系地址用于表明用戶當前的位置,即當前的實際地址。SIP使用邏輯賬號來映射物理聯系地址,這樣用戶發起呼叫時,不需要知道目標的真正地址,就可以達到呼叫的目的,可以很方便實現終端的移動性。注冊機制用來實現邏輯賬號與物理地址的綁定。在SIP網元中,所有用戶代理UA都必須在服務器上完成位置注冊,以便終端發起呼叫請求時服務器能夠查找到被呼方的地址。按照標準SIP協議規定的注冊流程,客戶端在登錄服務器時需要通過用戶名和密碼驗證來確保UA的合法身份標識,所以要求系統管理員或運維系統,預先在服務器配置文件或數據庫中添加所有合法的賬號和密碼。因此,當向系統中添加新的終端設備時,必須同時在服務器上開通新設備的用戶賬戶信息,由此帶來管理上的復雜度,增加了不必要的麻煩。
技術實現思路
本專利技術的目的在于針對SIP協議存在的不足,提出一種基于SIP協議實現終端注冊的方法,以降低管理復雜度,簡化添加新設備的操作復雜度,提升用戶的使用體驗,提高工作效率。本專利技術是在標準SIP注冊流程的基礎上,通過擴展SIP消息頭域,利用新增字段,修改SIP服務器對REGISTER請求的處理流程,實現終端設備在本機自主開通用戶賬號的功能。其實現方案如下:(1)客戶端發送注冊REGISTER請求;(2)服務器收到REGISTER請求后,判斷請求消息頭域中是否含有新增字段,即密文類型字段,如果是,則在配置文件或數據庫中查找此用戶私鑰,并用私鑰對密文類型字段值進行解密,獲取用戶密碼,將該用戶密碼寫入用戶配置文件或數據庫中,再清除掉該用戶私鑰,執行步驟(7),否則,執行步驟(3);(3)在配置文件或數據庫中檢查判斷該用戶是否存在,如果是,則執行步驟(4),否則,執行步驟(5);(4)判斷該用戶是否激活,如果是,即用戶密碼不為空,則執行步驟(7),否則,執行步驟(5),更新私鑰;(5)選取任意一種非對稱加解密算法產生一對公私鑰,預建賬號,插入包括私鑰在內的賬戶信息,且使該賬戶處于非激活狀態,即用戶密碼為空;再向客戶端發送SIP403Forbidden響應,拒絕執行REGISTER請求,并在該SIP403Forbidden響應中添加公鑰類型的新增字段,并把公鑰賦值給該公鑰類型字段;(6)客戶端收到403Forbidden響應后,判斷響應消息頭域中是否含有公鑰類型字段,如果是,則獲取響應中的公鑰,對該用戶密碼進行加密,生成密文,并在REGISTER請求中添加密文類型字段,把密文賦值該密文類型字段,得到重新構造的REGISTER請求,發送新構的REGISTER請求,返回步驟(2),否則,按照SIP請求/應答標準,客戶端自動掛斷;(7)按照標準SIP的注冊認證流程完成注冊。本專利技術與現有技術相比,具有以下優點:本專利技術由于終端設備只需本地設置用戶賬號和密碼,而無需手動修改服務器的配置,就可以直接注冊和登錄到服務器上并使用通話功能,實現終端設備在本機自主開通用戶賬號的功能,因此簡化了添加新設備的操作復雜度,提升了用戶的使用體驗,提高了工作效率;同時由于本專利技術通過非對稱加解密算法對密碼進行加密,避免了密碼作為明文在網絡上傳遞,保證了通信的安全性。附圖說明圖1是本專利技術的消息交互圖。圖2是本專利技術中新構的403Forbidden響應抓包圖。圖3是本專利技術中新構的REGISTER請求抓包圖。圖4是利用Wireshark軟件對本專利技術進行實驗的消息抓包圖。具體實施方式下面結合對本專利技術做進一步的詳細描述。參照圖1,本專利技術的實現包括客戶端處理數據包和服務器處理數據包兩部分,其步驟如下:步驟1,客戶端發送注冊REGISTER請求。注冊REGISTER請求包括:SIP的消息路由Via,用戶代理UA地址To和From,本次會話Session的標志Call-ID,消息序號CSeq,用戶代理的地址和端口Contact,消息最多可以轉發次數Max-forwards,本次注冊的有效期Expires,消息體Body的長度Content-Length;客戶端通過發送注冊REGISTER請求,將用戶的注冊信息發往服務器。步驟2,服務器對收到的消息進行判斷。服務器收到REGISTER請求后,判斷請求消息頭域中是否含有新增字段,即密文類型字段Cipher-Text:如果有,則在配置文件或數據庫中查找此用戶私鑰,并用該私鑰對密文類型字段值進行解密,獲取用戶密碼,并將該用戶密碼寫入用戶配置文件或數據庫中,再清除掉該用戶私鑰,執行步驟7;如果沒有,則執行步驟3。步驟3,服務器判斷發送請求用戶的存在狀況。服務器在配置文件或數據庫中檢查判斷發送該REGISTER請求的用戶是否存在:如果存在,則執行步驟4;否則,執行步驟5。步驟4,服務器判斷發送請求用戶的激活狀況。服務器判斷發送該REGISTER請求的用戶是否激活,即在配置文件或數據庫中判斷該用戶密碼是否為空,若為非空,則表示激活,執行步驟7;否則,沒有激活,執行步驟5。步驟5,服務器產生一對公私鑰,預建賬號,并對收到的消息進行響應。(5a)通過非對稱加解密算法產生一對公私鑰,預建賬號,插入包括私鑰在內的賬戶信息,且使該賬戶處于非激活狀態,即用戶密碼為空,所述非對稱加解密算法,包括RSA算法、Elgamal加密算法和橢圓曲線加密算法ECC,本實例選取但不限于最常用的RSA算法;所述賬戶信息包括用戶名,密碼,用戶私鑰;(5b)向客戶端發送SIP403Forbidden響應,拒絕執行REGISTER請求,并在該SIP403Forbidden響應中新增公鑰類型字段RSA-Pubkey,把公鑰賦值給該公鑰類型字段RSA-Pubkey,如圖2所示,由圖2可見,SIP403Forbidden響應中包含賦有公鑰的新增公鑰類型字段RSA-Pubkey。步驟6,客戶端對收到的消息進行判斷。客戶端收到403Forbidden響應后,判斷響應消息頭域中是否含有新增字段,即公鑰類型字段RSA-Pubkey:如果有,則獲取響應中的公鑰,對該用戶密碼進行加密,生成密文,并在REGISTER請求中添加密文類型字段Cipher-Text,把密文賦值該密文類型字段Cipher-Text,得到重新構造的REGISTER請求,如圖3所示,由圖3可見,REGISTER請求中包含賦有密文的新增密文類型字段Cipher-Text,發送新構的REGISTER請求,返回步驟2;如果沒有,則按照SIP請求/應答標準,客戶端自動掛斷。步驟7,按照標準SIP的注冊認證流程完成注冊。標準SIP的認證注冊流程中所需的SIP消息包括:注冊REGISTER請求、401Unauthorized響應、403Forbidden響應和200OK響應,其中:注冊REGISTER請求,表示用戶代理UA的注冊請求,401Unauthorized響應,表示服本文檔來自技高網...

【技術保護點】
基于SIP協議實現終端注冊的方法,包括以下步驟:(1)客戶端發送注冊REGISTER請求;(2)服務器收到REGISTER請求后,判斷請求消息頭域中是否含有新增字段,即密文類型字段,如果是,則在配置文件或數據庫中查找此用戶私鑰,并用私鑰對密文類型字段值進行解密,獲取用戶密碼,將該用戶密碼寫入用戶配置文件或數據庫中,再清除掉該用戶私鑰,執行步驟(7),否則,執行步驟(3);(3)在配置文件或數據庫中檢查判斷該用戶是否存在,如果是,則執行步驟(4),否則,執行步驟(5);(4)判斷該用戶是否激活,如果是,即用戶密碼不為空,則執行步驟(7),否則,執行步驟(5),更新私鑰;(5)選取任意一種非對稱加解密算法產生一對公私鑰,預建賬號,插入包括私鑰在內的賬戶信息,且使該賬戶處于非激活狀態,即用戶密碼為空;再向客戶端發送SIP?403?Forbidden響應,拒絕執行REGISTER請求,并在該SIP?403?Forbidden響應中添加公鑰類型的新增字段,并把公鑰賦值給該公鑰類型字段;(6)客戶端收到403?Forbidden響應后,判斷響應消息頭域中是否含有公鑰類型字段,如果是,則獲取響應中的公鑰,對該用戶密碼進行加密,生成密文,并在REGISTER請求中添加密文類型字段,把密文賦值該密文類型字段,得到重新構造的REGISTER請求,發送新構的REGISTER請求,返回步驟(2),否則,按照SIP請求/應答標準,客戶端自動掛斷;(7)按照標準SIP的注冊認證流程完成注冊。...
【技術特征摘要】
1.基于SIP協議實現終端注冊的方法,包括以下步驟:(1)客戶端發送注冊REGISTER請求;(2)服務器收到REGISTER請求后,判斷請求消息頭域中是否含有新增字段,即密文類型字段,如果是,則在配置文件或數據庫中查找此用戶私鑰,并用私鑰對密文類型字段值進行解密,獲取用戶密碼,將該用戶密碼寫入用戶配置文件或數據庫中,再清除掉該用戶私鑰,執行步驟(7),否則,執行步驟(3);(3)在配置文件或數據庫中檢查判斷該用戶是否存在,如果是,則執行步驟(4),否則,執行步驟(5);(4)判斷該用戶是否激活,如果是,即用戶密碼不為空,則執行步驟(7),否則,執行步驟(5),更新私鑰;(5)選取任意一種非對稱加解密算法產生一對公私鑰,預建賬號,插入包括私鑰在內的賬戶信息,且使該賬戶處于非激活狀態,即用戶密碼為空;再向客戶端發送SIP403Forbidden響應,拒絕執行REGISTER請求,并在該SIP403Forbidden響應中添加公鑰類型的新增字段,并把公鑰賦值給該公鑰類型字段;(6)客戶端收到403Forbidden響應后,判斷響應消息頭域中是否含有公鑰類型字段,如果是,則獲取響應中的公鑰,對該用戶密碼進行加密,生成密文,并在REGISTER請求中添加密文類型字段,把密文賦值該密文類型字段,得到重新構造的REGISTER請求,發送新構的REGISTER請求,返回步驟(2),否則,按照SIP請求/應答標準,客戶端自動掛斷;(7)按照標準SIP的注冊認證流程完成注冊。2.根據權利要求1所述的方法,其中按照標準SIP的注冊認證...
【專利技術屬性】
技術研發人員:張崗山,亓振,劉炯,馮磊,吳煒,趙林靖,
申請(專利權)人:西安電子科技大學,
類型:發明
國別省市:陜西,61
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。