基于sip通信系統的密鑰分發方法
【專利摘要】本發明公開了一種基于SIP通信系統的密鑰分發方法,基于VOIP服務器、密鑰分發服務器、若干終端架構而成的通信系統實現,終端向VOIP服務器發送呼叫請求消息,VOIP服務器向密鑰分發服務器發送獲取密鑰請求消息,密鑰分發服務器利用終端的公鑰,生成終端的密鑰數據,并將密鑰數據通過VOIP服務器分發給終端,終端收到相應的密鑰數據后,利用自身的私鑰對密鑰數據解密后得到會話密鑰,主被叫終端利用會話密鑰實現保密通信。本發明簡化了密鑰分發過程,將密鑰數據通過建立通信連接的SIP消息傳輸給終端,無需額外增加消息數量,實時性較強,可實現終端的保密通信。
【專利說明】
基于SIP通信系統的密鑰分發方法
技術領域
[0001]本發明涉及一種基于SIP通信系統的密鑰分發方法,屬于信息安全技術領域。
【背景技術】
[0002]SIP (Sess1n Initiat1n Protocol)是一個會話層的信令控制協議,用于創建、修改和釋放一個或多個參與者的會話,主、被叫終端通過VOIP服務器建立通信連接,主、被叫終端交互的語音內容基于RTP實時傳輸協議,語音數據包被封裝成IP包,在IP網絡上傳輸,傳輸過程中,若不對數據包進行任何處理,就存在明文形式的通話內容數據被竊聽而導致信息泄露的隱患。
[0003]為保證通信雙方通信內容的安全性、完整性,普遍使用PKI系統,利用數字證書、非對稱加密、數字簽名等技術分發密鑰,保證密鑰的機密性、完整性和不可抵賴性,終端利用得到的密鑰對數據包加密后傳輸,然而基于PKI系統架構的SIP通信系統具有實現復雜、成本高、實時性較差的問題。
【發明內容】
[0004]鑒于上述原因,本發明的目的在于提供一種基于SIP通信系統的密鑰分發方法,該方法由主叫終端通過VOIP服務器觸發密鑰分發服務器為通信雙方分發密鑰,不僅能夠保證通信雙方通信內容數據的安全性,且實現較為簡單、實時性強。
[0005]為實現上述目的,本發明采用以下技術方案:
[0006]一種基于SIP通信系統的密鑰分發方法,基于VOIP服務器、密鑰分發服務器、若干終端架構而成的通信系統實現,該方法為,
[0007]密鑰分發服務器利用終端的公鑰,生成終端的密鑰數據,并將該密鑰數據通過VOIP服務器分發給終端。
[0008]該方法包括以下步驟:
[0009]S1:主叫終端向VOIP服務器發送呼叫請求消息;
[0010]S2 =VOIP服務器收到該呼叫請求消息后,向密鑰分發服務器發送獲取密鑰請求消息,該獲取密鑰請求消息中包含主、被叫終端的身份標識;
[0011]S3:密鑰分發服務器收到該獲取密鑰請求消息,根據主、被叫終端的信息生成相應的密鑰數據,并將生成的密鑰數據以獲取密鑰響應消息發送給VOIP服務器;
[0012]S4:V0IP服務器收到該獲取密鑰響應消息后,向被叫終端發送呼叫請求消息,該呼叫請求消息中包含被叫終端的密鑰數據Ckb;
[0013]S5:被叫終端收到VOIP服務器發送的呼叫請求消息后,向VOIP服務器發送振鈴消息;
[0014]S6 =VOIP服務器收到被叫終端的振鈴消息后,向主叫終端發送振鈴消息,該振鈴消息中包含主叫終端的密鑰數據cKA。
[0015]進一步的,
[0016]所述步驟S3中,密鑰分發服務器先利用隨機函數生成隨機數作為會話密鑰,然后利用主、被叫終端的公鑰對會話密鑰進行加密生成加密的會話密鑰,之后在加密的會話密鑰基礎上添加認證數據生成主、被叫終端的密鑰數據。
[0017]所述步驟S2中,所述獲取密鑰請求消息中包含主、被叫終端的公開數據,該公開數據為終端的公鑰、數字證書,密鑰分發服務器利用終端的公鑰對所述會話密鑰進行加密。
[0018]所述獲取密鑰請求消息中未包含所述公開數據,密鑰分發服務器利用終端的身份標識查找自身建立的關于終端身份標識與公開數據對應關系的數據庫,獲得終端的公開數據。
[0019]密鑰分發服務器利用終端的身份標識,從CA中心獲取終端的公開數據。
[0020]主、被叫終端收到所述密鑰數據后,先利用所述公開數據對密鑰數據進行校驗,校驗通過后,利用已有的私鑰對密鑰數據進行解密后得到所述會話密鑰
[0021]本發明的優點是:
[0022]本發明可簡化密鑰分發過程,將密鑰數據通過建立通信連接的SIP消息傳輸給終端,無需額外增加消息數量,實時性較強,可實現終端的保密通信。
【附圖說明】
[0023]圖1是本發明的SIP通信系統的組成框圖。
[0024]圖2是本發明的信號流向示意圖。
【具體實施方式】
[0025]以下結合附圖和實施例對本發明作進一步詳細的說明。
[0026]圖1是本發明的SIP通信系統的組成框圖,如圖1所示,本發明公開的基于SIP通信系統的密鑰分發方法,基于由VOIP服務器、密鑰分發服務器(KDS:Key Distribut1nServer)、若干終端(SIP終端)等架構而成,終端通過VOIP服務器建立通信連接,VOIP服務器通過網絡與密鑰分發服務器相連接,可從密鑰分發服務器獲取密鑰,并將獲取的密鑰分發給終端。
[0027]如圖2所示,本發明的基于SIP通信系統的密鑰分發方法,包括以下步驟:
[0028]S1:主叫終端向VOIP服務器發送呼叫請求消息(INVITE消息);
[0029]S2 =VOIP服務器收到該呼叫請求消息后,向密鑰分發服務器發送獲取密鑰請求消息,該獲取密鑰請求消息中包含主、被叫終端的身份標識及公開數據;
[0030]終端的身份標識可以是終端的通信號碼、硬件密碼設備標識、數字證書序列號等可以唯一標識終端身份的標識數據。
[0031]終端保存有CA中心(證書授權機構)已經為終端分配的公鑰、私鑰及數字證書等,終端的公開數據包括終端已有的公鑰、數字證書等。
[0032]S3:密鑰分發服務器收到該獲取密鑰請求消息,根據主、被叫終端的信息生成相應的密鑰數據,并將生成的主、被叫終端的密鑰數據以獲取密鑰響應消息發送給VOIP服務器;
[0033]密鑰分發服務器生成的密鑰數據的方法是:
[0034]S31:生成會話密鑰;
[0035]可利用隨機函數或硬件隨機數發生器生成隨機數作為會話密鑰。
[0036]S32:利用主、被叫終端的公開數據對會話密鑰處理后,生成主、被叫終端的密鑰數據;
[0037]密鑰分發服務器可以通過以下方法獲取主、被叫終端的公開數據:從VOIP服務器向密鑰分發服務器發送的獲取密鑰請求消息中獲取;若獲取密鑰請求消息中未攜帶終端的公開數據,密鑰分發服務器依據主、被叫終端的身份標識,查找自身建立的數據庫,該數據庫中保存了終端的身份標識及對應的公開數據等信息;若密鑰分發服務器未建立相關的數據庫,則可從CA中心獲取主、被叫終端的公開數據。
[0038]密鑰分發服務器利用主叫終端的公開數據PKa對會話密鑰進行公鑰加密后得到加密的會話密鑰(即利用主叫終端的公鑰對會話密鑰進行加密后得到加密的會話密鑰),進一步的,為防止密鑰數據被篡改或偽造,在加密的會話密鑰基礎上添加認證數據(即進行數字簽名)生成主叫終端的密鑰數據Cka;
[0039]同理,密鑰分發服務器利用被叫終端的公開數據PKb對會話密鑰進行公鑰加密后得到加密的會話密鑰,進一步的,為防止密鑰數據被篡改或偽造,在加密的會話密鑰基礎上添加認證數據后生成被叫終端的密鑰數據CKB。
[0040]S4:V0IP服務器收到該獲取密鑰響應消息后,向被叫終端發送呼叫請求消息,該呼叫請求消息中包含被叫終端的密鑰數據Ckb;
[0041]S5:被叫終端收到VOIP服務器發送的呼叫請求消息后,響應并向VOIP服務器發送振鈴消息;
[0042]被叫終端收到該呼叫請求消息后,首先對密鑰數據Ckb中的認證數據進行驗證,驗證方法是終端利用公開數據對認證數據進行簽名驗證;驗證通過后,利用已有的私鑰對密鑰數據進行解密后得到會話密鑰,后續通信過程中,主叫終端可直接利用該會話密鑰對數據包進行加解密處理,也可以利用該會話密鑰與不同的參數進行運算(運算方式包括雜湊運算、加密運算、掩蓋運算等)后生成數據加密密鑰、數據認證密鑰等應用密鑰,然后再使用生成的應用密鑰對數據包進行加解密處理或認證處理。需要注意的是,對于會話密鑰的使用方法,主、被叫終端需保持一致。
[0043]S6 =VOIP服務器收到被叫終端的振鈴消息后,向主叫終端發送振鈴消息,該振鈴消息中包含主叫終端的密鑰數據Cka;
[0044]主叫終端收到該振鈴消息后,首先對密鑰數據Cka進行校驗,校驗通過后,利用已有的私鑰對密鑰數據進行解密后得到會話密鑰,后續通信過程中,主叫終端直接利用該會話密鑰對數據包進行加解密處理,或是與被叫終端采用相同的方式利用該會話密鑰生成應用密鑰后,再使用應用密鑰對數據包進行加解密處理或認證處理。
[0045]S7:被叫終端通過VOIP服務器向主叫終端發送接聽響應消息(2000K);
[0046]S8:主叫終端通過VOIP服務器向被叫終端發送確認消息(ACK)。
[0047]本發明的基于SIP通信系統的密鑰分發方法,主叫終端欲與被叫終端通信時,通過VOIP服務器觸發密鑰分發服務器進行密鑰分發,密鑰分發服務器利用主、被叫終端的身份標識及公開數據生成二者的密鑰數據,并通過VOIP服務器將密鑰數據分發給主、被叫終端,之后,主被叫終端即可利用密鑰數據實現保密通信。本發明可簡化密鑰分發過程,將密鑰數據通過建立通信連接的SIP消息傳輸給終端,無需額外增加消息數量,實時性較強。
[0048]以上所述是本發明的較佳實施例及其所運用的技術原理,對于本領域的技術人員來說,在不背離本發明的精神和范圍的情況下,任何基于本發明技術方案基礎上的等效變換、簡單替換等顯而易見的改變,均屬于本發明保護范圍之內。
【主權項】
1.基于SIP通信系統的密鑰分發方法,基于VOIP服務器、密鑰分發服務器、若干終端架構而成的通信系統實現,其特征在于, 密鑰分發服務器利用終端的公鑰,生成終端的密鑰數據,并將該密鑰數據通過VOIP服務器分發給終端。2.如權利要求1所述的基于SIP通信系統的密鑰分發方法,其特征在于,包括以下步驟: 51:主叫終端向VOIP服務器發送呼叫請求消息; 52=VOIP服務器收到該呼叫請求消息后,向密鑰分發服務器發送獲取密鑰請求消息,該獲取密鑰請求消息中包含主、被叫終端的身份標識; 53:密鑰分發服務器收到該獲取密鑰請求消息,根據主、被叫終端的信息生成相應的密鑰數據,并將生成的密鑰數據以獲取密鑰響應消息發送給VOIP服務器; 54=VOIP服務器收到該獲取密鑰響應消息后,向被叫終端發送呼叫請求消息,該呼叫請求消息中包含被叫終端的密鑰數據Ckb; 55:被叫終端收到VOIP服務器發送的呼叫請求消息后,向VOIP服務器發送振鈴消息; 56=VOIP服務器收到被叫終端的振鈴消息后,向主叫終端發送振鈴消息,該振鈴消息中包含主叫終端的密鑰數據CKA。3.如權利要求2所述的基于SIP通信系統的密鑰分發方法,其特征在于,所述步驟S3中,密鑰分發服務器先利用隨機函數生成隨機數作為會話密鑰,然后利用主、被叫終端的公鑰對會話密鑰進行加密生成加密的會話密鑰,之后在加密的會話密鑰基礎上添加認證數據生成主、被叫終端的密鑰數據。4.如權利要求3所述的基于SIP通信系統的密鑰分發方法,其特征在于,所述步驟S2中,所述獲取密鑰請求消息中包含主、被叫終端的公開數據,該公開數據為終端的公鑰、數字證書,密鑰分發服務器利用終端的公鑰對所述會話密鑰進行加密。5.如權利要求4所述的基于SIP通信系統的密鑰分發方法,其特征在于,所述獲取密鑰請求消息中未包含所述公開數據,密鑰分發服務器利用終端的身份標識查找自身建立的關于終端身份標識與公開數據對應關系的數據庫,獲得終端的公開數據。6.如權利要求5所述的基于SIP通信系統的密鑰分發方法,其特征在于,密鑰分發服務器利用終端的身份標識,從CA中心獲取終端的公開數據。7.如權利要求6所述的基于SIP通信系統的密鑰分發方法,其特征在于,主、被叫終端收到所述密鑰數據后,先利用所述公開數據對密鑰數據進行校驗,校驗通過后,利用已有的私鑰對密鑰數據進行解密后得到所述會話密鑰。
【文檔編號】H04L9/08GK105991277SQ201510046565
【公開日】2016年10月5日
【申請日】2015年1月29日
【發明人】付景林, 李耀龍, 王允升, 王志剛
【申請人】北京大唐高鴻數據網絡技術有限公司