用戶終端與虛擬社區平臺間交互的認證加密方法
2023-04-27 18:19:56 1
專利名稱:用戶終端與虛擬社區平臺間交互的認證加密方法
技術領域:
本發明屬於數據安全技術領域,具體涉及一種用戶終端與虛擬社區平臺間交互的認證加密方法。
背景技術:
近年來,物聯網技術、通訊技術和網際網路技術的發展為虛擬社區類應用如 facebook.twitter等應用提供了基礎條件。在虛擬社區應用中,信息採集設備採集到用戶數據後需要分享給移動虛擬社區平臺,並將平臺信息推送到終端客戶端。在虛擬社區應用的數據交互共享過程中,需要對一些數據或信息進行安全處理。 因此,虛擬社區應用的數據信息具有以下特點(1)私密性虛擬社區包括信息服務、社團服務、交友、電子商務等業務,涉及到個人資料、位置信息、交易密碼等敏感數據,所以信息私密性尤為重要,應採取措施防止信息被非法竊取。(2)數據的完整性交易信息的完整性也是虛擬社區業務安全性要求的重要方面,要防止數據傳送過程中信息的丟失和重複,同時也要防止對交易信息的隨意篡改。(3)對用戶進行認證虛擬社區系統應對接入的客戶端進行識別認證,確認客戶端是否為合法的用戶,是否已經開通該業務。為保障交互過程中的信息安全性,需要有效的安全機制來保證用戶和平臺之間交互信息的私密性、完整性和合法性。本發明因此而來。
發明內容
本發明目的在於提供一種用戶終端與虛擬社區平臺間交互的認證加密方法,解決了現有技術中用戶終端與虛擬社區平臺交互過程中的信息安全問題。為了解決現有技術中的這些問題,本發明提供的技術方案是一種用戶終端與虛擬社區平臺間交互的認證加密方法,所述用戶終端與虛擬社區平臺接入時先進行虛擬社區平臺和用戶終端間的上下行身份認證,所述虛擬社區平臺和用戶終端分別確認對方的合法身份並確認用戶終端已開通所述虛擬社區平臺的業務後進行交互;其特徵在於所述方法包括當虛擬社區平臺和用戶終端間上下行身份認證時和/或虛擬社區平臺和用戶終端進行交互時數據傳輸方對傳輸的數據通過密鑰分散算法加密處理得到加密處理後的數據,數據接收方對加密處理後的數據通過密鑰分散算法解密處理得到解密後的數據;所述虛擬社區平臺和用戶終端間上下行身份認證通過解密後的數據與傳輸的數據比較進行身份認證;所述虛擬社區平臺和用戶終端進行交互通過解密後的數據獲取傳輸的數據。優選的,所述方法中虛擬社區平臺和用戶終端間上下行身份認證時數據傳輸方為提交身份認證的請求方,提交身份認證的請求方對用戶終端身份信息採用密鑰分散算法加密處理得到加密後的身份密文信息進行傳輸;數據接收方為進行授權認證的接受方,進行授權認證的接受方通過密鑰分散算法對加密後的身份密文信息進行解密處理得到解密後的身份數據;當解密後的身份數據與用戶終端身份信息一致時,則身份認證通過;否則身份認證不通過。優選的,所述方法中虛擬社區平臺和用戶終端進行交互時數據傳輸方對數據報文採用密鑰分散算法加密處理得到加密後的數據報文進行傳輸;數據接收方對數據報文進行報文完整性校驗後,通過密鑰分散算法對加密後的數據報文進行解密處理得到解密後的數據報文。優選的,所述方法中虛擬社區平臺和用戶終端設置有主密鑰,虛擬社區平臺和用戶終端間通過過程密鑰通訊。優選的,所述方法中過程密鑰通過密鑰分散算法產生,其公式為SESKey = DIV (DK, Data);其中SESKey為過程密鑰;Data為過程密鑰生成因子與隨機數的邏輯或運算,而過程密鑰生成因子為臨時生成的特定數;式中DIVO運算是指進行密鑰分散算法,是指將一個雙長度的主密鑰MK,對分散數據進行處理,推導出一個雙長度的密鑰DK ;其中DK左半部分是先將分散數據的最右8個字節作為輸入數據,以MK作為加密密鑰,通過用MK對輸入數據進行3DES運算得到;其中DK右半部分是先將分散數據的最右8個字節求反後作為輸入數據;以MK作為加密密鑰,通過用MK對輸入數據進行3DES運算得到。優選的,所述方法中過程密鑰生成因子為長度為6個字節的數字。優選的,所述方法中數據報文的報文完整性校驗包括以下步驟1)按順序將要發送的數據報文數據包分成若干個數據塊,每個數據塊的長度為8 字節2)當最後的數據塊的長度是8位元組時,在最後的數據塊後補位16進位數字』 8000000000000000』 ;當最後的數據塊的長度不足8位元組時,在最後的數據塊後從左側依次補位16進位數字』 8000000000000000』直至最後的數據塊的長度達到8位元組;4)對數據塊依次採用異或運算和使用MAC密鑰按照DEA加密模式進行加密處理得到計算結果;從計算結果左側取得的4位元組長度的MAC。針對虛擬社區應用中的信息安全性問題,確保用戶位置信息、個人資料、信息內容等的安全,保障交互過程中的信息安全性;同時,在保證安全的前提下,要考慮安全保證方法的可行性和和數據傳輸的效率,針對虛擬社區的業務需求需要制訂合適的認證、加密方法,滿足業務開展的要求,本發明提供了一種面向虛擬社區應用的認證加密方法。本發明涉及用戶終端與虛擬社區平臺交互的認證加密方法,在虛擬社區平臺和用戶終端之間的通信進行權限認證和信息加密,保證傳送過程數據的安全性和數據傳輸效率,使得系統安全機制更加完善。本發明新穎實用,採用過程密鑰的方式,通過計算量較少的認證、加解密運算,提高系統的安全性,適用於有較高安全和隱私要求的虛擬社區應用。相對於現有技術中的方案,本發明的優點是1)設計了密鑰分散算法,通過主密鑰、交互時間和隨機數生成過程密鑰,這樣每次交互的過程中所採用的密鑰都不同,大大提供了系統的安全性能。2)採用了客戶端和平臺之間的雙向認證機制,保證雙方的合法接入,確保接入的安全性。
3) MAC校驗、加密處理中都使用過程密鑰,免去唯一使用主密鑰帶來的安全性問題。4)採用3DES加密算法,實現簡便且安全性能高。5)設計的安全機制在保證安全的前提下,減少系統的加密、MAC校驗的計算量,保證傳輸效率。
下面結合附圖及實施例對本發明作進一步描述圖1是虛擬社區應用中的安全機制框圖;圖2是描繪客戶端和平臺之間的下行認證流程;圖3是描繪客戶端和平臺之間的上行認證流程;圖4是描繪客戶端和平臺之間的加解密及MAC校驗流程;圖5是描述MAC校驗的計算方法。
具體實施例方式以下結合具體實施例對上述方案做進一步說明。應理解,這些實施例是用於說明本發明而不限於限制本發明的範圍。實施例中採用的實施條件可以根據具體廠家的條件做進一步調整,未註明的實施條件通常為常規技術中的條件。實施例如圖1所示為本發明中的虛擬社區應用中的系統架構圖;其中用戶終端為客戶端 101運行智慧型手機上,通過移動通信網絡103接入到虛擬社區平臺102中,進行信息的交互。 客戶端101和虛擬社區平臺均實現上下行認證、MAC校驗和加密機制。110線路所示為下行認證過程,實現平臺102對客戶端101的身份認證;111線路所示為上行認證過程,實現客戶端101對平臺102的身份認證;112線路所示是MAC校驗過程,實現平臺102和客戶端 101之間的報文完整性驗證;113線路所示是加密過程,實現平臺102和客戶端101之間的報文加密和解密過程。以下對110 113各個步驟的具體描述如圖2所示為採用過程密鑰進行的下行認證流程。下行認證流程為客戶端讀取客戶端標識號CustomerID,並生成隨機數tod ;利用隨機數tod、臨時密鑰生成因子Key_factor對內部認證密鑰做密鑰分散得到過程密鑰TempJfey 1 ;用過程密鑰 iTempJfeyl 對 CustomerID 做 3DES 加密,得到密文 En_Customer ID ;將數據包(En_ CustomerID+CustomerID+Key_factor+I nd)組包後上傳;平臺收到接收數據包解析後,利用隨機數tod、過程密鑰生成因子Key_faCt0r對內部認證主密鑰做密鑰分散得到過程密鑰 Temp_Keyl ;用過程密鑰 iTempJfeyl 對 EN_Customer ID 做對 En_Cardnum 做 3DE S 解密得到明文data ;比較data和CustomerID是否一致,如果一致則下行認證通過,如果不一致則下行認證失敗。如圖3所示為採用過程密鑰進行的上行認證流程。上行認證流程與下行認證流程相似,其不同點是上行認證流程是由平臺發送認證數據包至客戶端,由客戶端判定平臺的合法性。而下行認證流程是由客戶端發送認證數據包至平臺,由平臺判定客戶端的合法性。
如圖4所示為客戶端和平臺之間的加解密及MAC校驗流程。客戶端對制訂的加密密鑰進行密鑰分散得到臨時加密密鑰TempJfeyl ;用過程加密密鑰TempJfeyl對報文進行加密,得到密文EN_Data ;對MAC密鑰進行密鑰分散得到臨時MAC密鑰Temp_Key2 ;客戶端將組數據包(En_Data+MAC)上傳;平臺接收數據包並解析後,對指定的MAC密鑰做密鑰分散得到過程MAC密鑰Temp_Key2 ;用Temp_Key2對En_Data計算MACl ;驗證MACl是否等於 MAC,如不相等則MAC校驗失敗,給客戶端錯誤提示;若MACl等於MAC對指定的加密密鑰做密鑰分散得到過程密鑰TempJfeyl ;用過程加密密鑰TempJfeyl對EN_Data進行解密,得到明文,完成解密過程。本實施例中虛擬社區系統的用戶客戶端和平臺之間認證、MAC校驗、加密中均採用過程密鑰來保證系統的安全性。客戶端和平臺利用密鑰分散算法,根據密鑰生成因子和隨機數確保每次的過程密鑰不同,保證主密鑰的安全性。過程密鑰在客戶端程序斷掉連結後自動消失,不允許讀,其他指令不會影響過程密鑰的有效性。過程密鑰的分散算法為SESKey = DIV(DK, Data);其中Data: =過程密鑰生成因子| |隨機數,而過程密鑰生成因子6位元組(此因子用於參與過程密鑰的生成,可以是實時時間YYMMDDHHMMSS)DIV (DK,Data)或DIV或DIV 是指進行密鑰分散算法(Diversify),是指將一個雙長度的主密鑰MK,對分散數據進行處理,推導出一個雙長度的密鑰DK。其中推導DK左半部分的方法是1)將分散數據的最右16個數字作為輸入數據;2)將MK作為加密密鑰;3)作MK對輸入數據進行3DES運算。其中推導DK右半部分的方法是1)將分散數據的最右16個數字求反,作為輸入數據;2)將MK作為加密密鑰;3)用MK對輸入數據進行3DES運算。如圖5所示為MAC校驗算法。MAC校驗算法的流程為1)按照順序將要發送的數據包形成數據塊2)將該數據塊分成8位元組為單位的數據塊,標號為D1,D2,D3,D4等。最後的數據塊有可能是1-8個字節。幻如果最後的數據塊長度是8位元組的話,則在其後加上16進位數字,8000000000000000,,轉到第 4)步。如果最後的數據塊長度不足8位元組,則在其後加上16進位數字』 80』,如果達到8 字節長度,則轉入第4)步;否則在其後加入16進位數字』 0』直到長度達到8位元組。4)對這些數據塊使用MAC密鑰進行加密。5)最終得到是從計算結果左側取得的4位元組長度的MAC。本實施例中身份認證實現手機客戶端與虛擬社區後臺的身份認證,包括下行認證和上行認證。下行認證是平臺確認客戶端的合法身份,上行認證是客戶端確定平臺的合法身份。通過上下行認證,平臺和客戶端分別確認對方的合法身份,保證雙方信息交互的合法性,並確保客戶端已開通該業務;MAC(報文完整性)校驗防止客戶端與虛擬社區平臺的交互過程中信息的丟失和重複,同時也防止對信息的隨意篡改。本實施例在認證、MAC校驗、 加密處理中所涉及到的密鑰都使用過程密鑰。客戶端和平臺採用3DES加密算法,用雙長度 (16位元組)密鑰將8位元組明文數據塊加密成密文數據塊,具有良好的安全性和可實現性。
上述實例只為說明本發明的技術構思及特點,其目的在於讓熟悉此項技術的人是能夠了解本發明的內容並據以實施,並不能以此限制本發明的保護範圍。凡根據本發明精神實質所做的等效變換或修飾,都應涵蓋在本發明的保護範圍之內。
權利要求
1.一種用戶終端與虛擬社區平臺間交互的認證加密方法,所述用戶終端與虛擬社區平臺接入時先進行虛擬社區平臺和用戶終端間的上下行身份認證,所述虛擬社區平臺和用戶終端分別確認對方的合法身份並確認用戶終端已開通所述虛擬社區平臺的業務後進行交互;其特徵在於所述方法包括當虛擬社區平臺和用戶終端間上下行身份認證時和/或虛擬社區平臺和用戶終端進行交互時數據傳輸方對傳輸的數據通過密鑰分散算法加密處理得到加密處理後的數據,數據接收方對加密處理後的數據通過密鑰分散算法解密處理得到解密後的數據;所述虛擬社區平臺和用戶終端間上下行身份認證通過解密後的數據與傳輸的數據比較進行身份認證;所述虛擬社區平臺和用戶終端進行交互通過解密後的數據獲取傳輸的數據。
2.根據權利要求1所述的方法,其特徵在於所述方法中虛擬社區平臺和用戶終端間上下行身份認證時數據傳輸方為提交身份認證的請求方,提交身份認證的請求方對用戶終端身份信息採用密鑰分散算法加密處理得到加密後的身份密文信息進行傳輸;數據接收方為進行授權認證的接受方,進行授權認證的接受方通過密鑰分散算法對加密後的身份密文信息進行解密處理得到解密後的身份數據;當解密後的身份數據與用戶終端身份信息一致時,則身份認證通過;否則身份認證不通過。
3.根據權利要求1所述的方法,其特徵在於所述方法中虛擬社區平臺和用戶終端進行交互時數據傳輸方對數據報文採用密鑰分散算法加密處理得到加密後的數據報文進行傳輸;數據接收方對數據報文進行報文完整性校驗後,通過密鑰分散算法對加密後的數據報文進行解密處理得到解密後的數據報文。
4.根據權利要求2或3所述的方法,其特徵在於所述方法中虛擬社區平臺和用戶終端設置有主密鑰,虛擬社區平臺和用戶終端間通過過程密鑰通訊。
5.根據權利要求4所述的方法,其特徵在於所述方法中過程密鑰通過密鑰分散算法產生,其公式為SESKey = DIV (DK, Data);其中SESKey為過程密鑰;Data為過程密鑰生成因子與隨機數的邏輯或運算,而過程密鑰生成因子為臨時生成的特定數;式中DIV 運算是指進行密鑰分散算法,是指將一個雙長度的主密鑰MK,對分散數據進行處理,推導出一個雙長度的密鑰DK ;其中DK左半部分是先將分散數據的最右8個字節作為輸入數據,以MK作為加密密鑰,通過用MK對輸入數據進行3DES運算得到;其中DK右半部分是先將分散數據的最右8個字節求反後作為輸入數據;以MK作為加密密鑰,通過用MK對輸入數據進行3DES運算得到。
6.根據權利要求5所述的方法,其特徵在於所述方法中過程密鑰生成因子為長度為6 個字節的數字。
7.根據權利要求3所述的方法,其特徵在於所述方法中數據報文的報文完整性校驗包括以下步驟1)按順序將要發送的數據報文數據包分成若干個數據塊,每個數據塊的長度為8位元組2)當最後的數據塊的長度是8位元組時,在最後的數據塊後補位16進位數字』80 00 00 00 00 00 00 00』 ;當最後的數據塊的長度不足8位元組時,在最後的數據塊後從左側依次補位16進位數字』 80 00 00 00 00 00 00 00』直至最後的數據塊的長度達到8位元組;4)對數據塊依次採用異或運算和使用MAC密鑰按照DEA加密模式進行加密處理得到計算結果;從計算結果左側取得的4位元組長度的MAC。
全文摘要
本發明公開了一種用戶終端與虛擬社區平臺間交互的認證加密方法,所述用戶終端與虛擬社區平臺接入時先進行虛擬社區平臺和用戶終端間的上下行身份認證,所述虛擬社區平臺和用戶終端分別確認對方的合法身份並確認用戶終端已開通所述虛擬社區平臺的業務後進行交互;其特徵在於所述方法包括當虛擬社區平臺和用戶終端間上下行身份認證時和/或虛擬社區平臺和用戶終端進行交互時數據傳輸方對傳輸的數據通過密鑰分散算法加密處理得到加密處理後的數據,數據接收方對加密處理後的數據通過密鑰分散算法解密處理得到解密後的數據;所述虛擬社區平臺和用戶終端間上下行身份認證通過解密後的數據與傳輸的數據比較進行身份認證;所述虛擬社區平臺和用戶終端進行交互通過解密後的數據獲取傳輸的數據。該方法採用過程密鑰的方式,通過計算量較少的認證、加解密運算,提高系統的安全性,適用於有較高安全和隱私要求的虛擬社區應用。
文檔編號H04L9/32GK102404329SQ20111038443
公開日2012年4月4日 申請日期2011年11月28日 優先權日2011年11月28日
發明者張屹, 梁曉雯, 王國琪, 王春光, 王震生, 費智超, 鄒一心 申請人:蘇州英福邁升信息技術有限公司