欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

安全系統(tǒng)中終端的改進安裝的制作方法

文檔序號:11290893閱讀:222來源:國知局
安全系統(tǒng)中終端的改進安裝的制造方法與工藝

伊莉斯雷維爾

共存的相關專利申請

本申請與同一申請人提交并且按照如下標題的申請同時提交。關于各專利申請中的具體問題的細節(jié)將被視為并入其他相關專利申請的每一個中。

相關專利申請的標題為:

生成對稱加密密鑰;

相互認證;

通過認證令牌的改進安全;以及

用于建立安全通信信道的改進系統(tǒng)。

本申請涉及一種用于改進的安全和安全性的系統(tǒng)、方法、設備和計算機可讀存儲介質(zhì),并且特別涉及一種用于建立安全通信信道的系統(tǒng)、方法、設備和計算機可讀存儲介質(zhì)。



背景技術:

在當今社會中,數(shù)字通信日益增多,并且大部分人對使用互聯(lián)網(wǎng)執(zhí)行任務感覺到舒適,所述任務諸如管理他們的銀行賬戶、申報他們的收入、或交換其他秘密信息。為了執(zhí)行這樣的任務,同時維持令人滿意的安全級別,已經(jīng)提出了基于加密的許多不同的安全解決方案。大多數(shù)這樣的解決方案涉及某種類型的公鑰和私鑰,并且用戶必須在可以與另一方建立安全通信之前共享該用戶的公鑰。在密碼術中,密鑰可以被看作是確定加密算法的函數(shù)輸出的一條信息。

通常認為在設計安全系統(tǒng)時,假設攻擊者可能已經(jīng)獲得了加密算法的細節(jié)是明智的。這個原則被稱為柯克霍夫原則,并且因此只有保密的密鑰才能提供安全。這個原則是基于這一事實:即很難保密廣泛使用的算法的細節(jié)。密鑰通常比較容易保護,因為與加密算法相比,它通常是一小條信息。然而,保密密鑰也可能是困難的。如果攻擊者以某種方式獲取密鑰,則他或她可以從加密數(shù)據(jù)中恢復原始消息。

使用相同密鑰進行加密和解密的加密算法被稱為對稱加密密鑰算法。還有非對稱加密密鑰算法,所述非對稱加密密鑰算法使用一對密鑰,一個用于加密而一個用于解密。這些非對稱加密密鑰算法允許將一個密鑰公開,同時僅在一個位置保留私鑰。非對稱加密密鑰被設計為使得發(fā)現(xiàn)私鑰是非常困難的,即使相應的公鑰已知。用戶在保密私鑰的同時可以公布他或她的公鑰,允許任何人向他們發(fā)送加密的消息。

為了使密鑰連同對稱加密算法“安全”,一般將80比特的長度視為最小值,并且128比特密鑰被通常使用并被認為是非常強大的。公鑰密碼術中使用的密鑰具有某種數(shù)學結構。例如,rsa系統(tǒng)中使用的公鑰是兩個素數(shù)的乘積。因此,公鑰系統(tǒng)需要比對稱系統(tǒng)更長的密鑰長度以達到等同的安全級別。對于基于因數(shù)分解和整數(shù)離散對數(shù)的系統(tǒng),建議密鑰長度為3072比特,其目標是具有等同于128比特對稱密碼的安全性。

如上所述,如果對于基于對稱和非對稱算法兩者的密鑰而言都足夠長,則有可能生成具有高度安全性的密鑰。然而,在密鑰分發(fā)中可能存在問題。例如,如果雙方想使用對稱密碼術彼此通信,他們首先必須決定使用什么密鑰,并且然后將該密鑰安全地從一方分發(fā)到另一方。此外,雙方必須保密該密鑰。入侵者可能發(fā)現(xiàn)密鑰的風險隨著密鑰使用的時間的增加而增加。因此,密鑰通常僅在有限的時間期間有效,例如六或十二個月。此后必須分發(fā)新的密鑰。

另外,對于非對稱密碼術加密的密鑰分發(fā),當雙方想要彼此通信時遇到密鑰分發(fā)的問題。為了在兩個方向上發(fā)送信息,他們通常需要彼此交換公鑰。同樣在這種情況下,密鑰通常具有有限的時間段,在該時間段期間密鑰是有效的。對于與許多不同方進行通信的一方,管理和分發(fā)有效的公鑰可能令人煩惱。一個典型的示例是當你需要將某一秘密信息緊急地發(fā)送給另一方或者你還沒有交換公鑰時,密鑰的有效性已經(jīng)過期。

在wo2011/002412中提供了一種解決方案,該解決方案公開了一種用于生成加密/解密密鑰的方法,并且特別是用于生成用于對稱加密的一次性加密/解密密鑰,即其中使用相同的密鑰用于加密和解密。為了開始密鑰生成,第一終端(a)向中央服務器(2)發(fā)送用于建立與第二終端(b)的通信的請求。中央服務器(2)向兩個終端(即終端a和b)發(fā)送密鑰生成文件。每個終端生成不同的中間數(shù)據(jù)集合,即第一和第二數(shù)據(jù)集合。由第一終端(a)生成的第一數(shù)據(jù)集合被發(fā)送到第二終端(b),該第二終端基于該數(shù)據(jù)集合生成發(fā)送回第一終端的第三數(shù)據(jù)集合。終端(a)中的第一加密密鑰的生成是基于第三和第一中間數(shù)據(jù)集合之間的逐比特比較,并且第二加密密鑰的生成是基于第一和第二中間數(shù)據(jù)集合之間的逐比特比較。第一和第二加密密鑰是相同的。

盡管這種方式具有許多優(yōu)點,但是當在具有防火墻或其他類似安全措施的系統(tǒng)中實現(xiàn)時,可能會提出挑戰(zhàn)。鑒于上述挑戰(zhàn),發(fā)明人已經(jīng)意識到需要一種方法,利用該方法,雙方可以彼此以安全的方式進行通信,而彼此不必事先交換密鑰,并且該方法可以用于采用防火墻或其他類似安全措施的系統(tǒng)。

因此,需要加密密鑰的改進處理。



技術實現(xiàn)要素:

本申請的教導的目的是通過提供一種包括終端和服務器的系統(tǒng)來克服上述問題,其中終端由服務器安裝在系統(tǒng)中,該服務器被配置為:識別終端;生成包含至少一個數(shù)據(jù)種子的密鑰生成數(shù)據(jù);將所述至少一個種子分發(fā)到終端;基于所述至少一個種子和函數(shù)生成密鑰數(shù)據(jù)和元數(shù)據(jù);存儲用于終端的識別符以及用于終端的密鑰數(shù)據(jù)和元數(shù)據(jù),其中終端被布置為從服務器接收所述至少一個種子;基于所述至少一個種子和相同的函數(shù)生成密鑰數(shù)據(jù)和元數(shù)據(jù);存儲密鑰數(shù)據(jù)和元數(shù)據(jù),其中存儲在終端中的密鑰數(shù)據(jù)和元數(shù)據(jù)與存儲在服務器中的密鑰數(shù)據(jù)和元數(shù)據(jù)相同。

本申請的教導的目的是通過提供一種供在包括終端和服務器的系統(tǒng)中使用的方法以克服上述問題,所述方法用于將終端安裝在系統(tǒng)中,該方法包括:所述服務器識別終端;所述服務器生成包括至少一個數(shù)據(jù)種子的密鑰生成數(shù)據(jù);所述服務器將所述至少一個種子分發(fā)到所述終端;所述服務器基于所述至少一個種子和函數(shù)生成密鑰數(shù)據(jù)和元數(shù)據(jù);所述服務器存儲用于所述終端的識別符以及用于所述終端的密鑰數(shù)據(jù)和元數(shù)據(jù),所述終端從所述服務器接收所述至少一個種子;所述終端基于所述至少一個種子和相同的函數(shù)生成密鑰數(shù)據(jù)和元數(shù)據(jù);所述終端存儲密鑰數(shù)據(jù)和元數(shù)據(jù),其中存儲在終端中的密鑰數(shù)據(jù)和元數(shù)據(jù)與存儲在服務器中的密鑰數(shù)據(jù)和元數(shù)據(jù)相同。

本申請的教導的目的還在于,通過提供一種計算機可讀存儲介質(zhì)以克服上述問題,該計算機可讀存儲介質(zhì)編碼有當在處理器上執(zhí)行時執(zhí)行根據(jù)上述的方法的指令。

本文中的教導在用于確保安全連接的系統(tǒng)中使用,諸如銀行業(yè)務應用程序,但也在其中一個裝置需要對其他裝置進行認證的系統(tǒng)中使用,諸如連接到計算機的外部存儲器。

所公開的實施例的其他特征和優(yōu)點將從以下詳細公開內(nèi)容、從所附的從屬權利要求以及從附圖中顯現(xiàn)。

通常,權利要求中使用的所有術語均應根據(jù)技術領域的術語的普通含義進行解釋,除非本文另有明確定義。除非另有明確說明,否則所有對“一/一個/該[元件、裝置、組件、部件、步驟等]”的引用被開放地解釋為指代元件、裝置、組件、部件、步驟等的至少一個實例。除非明確說明,否則本文公開的任何方法的步驟不必以所公開的確切順序加以執(zhí)行。

附圖說明

將參考附圖更詳細地描述本發(fā)明,其中:

圖1是根據(jù)本文中的教導的終端的示意圖;

圖2是根據(jù)本文中的教導的終端的組件的示意圖;

圖3是根據(jù)本文中的教導的計算機網(wǎng)絡的總體視圖的示意圖;

圖4示出了根據(jù)本申請的教導的一個實施例的計算機可讀介質(zhì)的示意圖;

圖5示出了根據(jù)本文中的教導的用于在系統(tǒng)中的第一終端和第二終端之間建立通信信道的方法的流程圖;

圖6示出了根據(jù)本文中的教導的用于在系統(tǒng)中安裝終端的方法的流程圖;

圖7是根據(jù)本文中的教導的用于終端和服務器相互認證的一般方法的流程圖;

圖8是根據(jù)本文中的教導在相互認證期間完成的認證傳輸?shù)氖疽飧艌D;

圖9示出了根據(jù)本文中的教導的實施例的元數(shù)據(jù)字符串和相應的認證令牌的示例;

圖10a示出了根據(jù)本文中的教導的用于生成認證令牌的一般流程圖;

圖10b示出了根據(jù)本文中的教導的用于認證認證令牌的一般流程圖;

圖11示出了根據(jù)本文中的教導的用于生成對稱加密密鑰的方法的流程圖;

圖12是根據(jù)本文中的教導的在生成對稱加密密鑰期間完成的傳輸?shù)氖疽飧艌D;

圖13是根據(jù)本文中的教導的用于根據(jù)本文從兩個終端的密鑰數(shù)據(jù)生成處理文件的一般方法的流程圖;

圖14是根據(jù)本文中的教導的用于生成對稱加密密鑰的方式的流程圖;以及

圖15示出了根據(jù)本文中的教導的系統(tǒng)通信的示意概圖。

具體實施方式

現(xiàn)在將參考附圖在下文中更充分地描述所公開的實施例,在附圖中示出了本發(fā)明的某些實施例。然而,本發(fā)明可以以許多不同的形式實施,并且不應被解釋為限于本申請所闡述的實施例;相反地,作為示例提供這些實施例,以使得本公開將詳盡和完整,并將向本領域技術人員充分地傳達本發(fā)明的范圍。遍及全文相同的標號指代相同的元件。

圖1示出了根據(jù)本文中的實施例的通信設備100。在一個實施例中,通信設備100被配置用于無線或有線的網(wǎng)絡通信。在一個實施例中,通信設備100被配置用于無線和有線的網(wǎng)絡通信。這種通信設備100的示例是:個人計算機、臺式或膝上型計算機、互聯(lián)網(wǎng)平板電腦、移動電話、智能電話、個人數(shù)字助理、服務器、電子密鑰、機器對機器裝置(m2m)和工作站等等。

通信設備100將在下文中將被例示和描述為個人計算機100。個人計算機或終端100包括顯示器110和外殼120。外殼包括控制器或cpu(未示出)和一個或多個計算機可讀存儲介質(zhì)(未示出),諸如存儲單元和內(nèi)部存儲器。存儲單元的示例是磁盤驅(qū)動器或硬盤驅(qū)動器。終端100還包括至少一個數(shù)據(jù)端口。數(shù)據(jù)端口可以是有線和/或無線的。數(shù)據(jù)端口的示例是usb(通用串行總線)端口、以太網(wǎng)端口或wifi(根據(jù)ieee標準802.11)端口。數(shù)據(jù)端口被配置為使得終端100能夠與其他終端或服務器連接。

終端100還包括至少一個諸如鍵盤130的輸入單元。輸入單元的其他示例是計算機鼠標、觸摸板、觸摸屏或操縱桿等等。

圖2示出了計算裝置的一般結構的示意圖。計算裝置可以是如圖1中的通信設備或服務器。在一個實施例中,計算裝置是如下將進一步詳細討論的計算設備。在下面的描述中,計算裝置將被公開為根據(jù)圖1的終端。終端100包括控制器210,該控制器負責終端100的整體操作,并且優(yōu)選地由任何市售cpu(“中央處理單元,)、dsp(“數(shù)字信號處理器”)或任何其他電子可編程邏輯裝置來實現(xiàn)。控制器210可以使用能夠?qū)崿F(xiàn)硬件功能的指令來實現(xiàn),例如通過使用在通用或?qū)S锰幚砥髦锌蓤?zhí)行計算機程序指令,這些可執(zhí)行計算機程序指令可被存儲在計算機可讀存儲介質(zhì)(磁盤、存儲器等)240上以由這樣的處理器執(zhí)行??刂破?10被配置為從存儲器240讀取指令并執(zhí)行這些指令以控制終端100的操作。存儲器240可以使用用于計算機可讀存儲器的任何公知技術來實現(xiàn),諸如rom、ram、sram、dram、cmos、flash、ddr、eeprom存儲器,閃存,硬盤驅(qū)動器,光學存儲裝置或其任何組合。

終端100還可以連接到諸如外部存儲器245的外部裝置,可能是u盤(通用串行總線)或外部硬盤驅(qū)動器的形式。在將這樣的外部裝置連接到終端后,然后作為包括終端和外部終端或裝置245的設備。需要實現(xiàn)以使得外部裝置能夠與終端100協(xié)同工作的任何驅(qū)動程序更新或下載可以通過在控制器中執(zhí)行的驅(qū)動程序應用程序或通過未示出的另一控制器來執(zhí)行。

終端100還包括一個或多個應用程序250。應用程序是當由控制器210執(zhí)行時控制終端100的操作的指令集。存儲器240通過控制器210用于各種用途,其中一個用途是用于存儲用于終端100中的各種軟件模塊的應用程序數(shù)據(jù)和程序指令250。軟件模塊包括實時操作系統(tǒng)、用于人機接口220的驅(qū)動程序、應用程序處理程序以及各種應用程序250。應用程序250可以包括消息傳遞應用程序,諸如電子郵件、瀏覽應用程序、銀行業(yè)務應用程序以及各種其他應用程序250。

終端100還可以包括在圖1的終端100中的用戶接口220,該用戶接口由顯示器110、小鍵盤130組成。顯示器110可以是觸摸顯示器,可以在該觸摸顯示器上虛擬鍵(未示出)顯示和操作。這樣的虛擬鍵可以替代任何或所有的物理鍵130,如果沒有明確地說明,將不會有差異。

用戶接口(ui)220還包括一個或多個硬件控制器,該一個或多個硬件控制器與ui驅(qū)動程序一起與顯示器110、小鍵盤130以及諸如聲音系統(tǒng)、led指示器等的各種其他i/o裝置協(xié)同工作。眾所周知,用戶可以通過如此形成的人機接口來操作終端100。

終端100還可以包括射頻接口230,該射頻接口適于允許終端通過使用不同的射頻技術通過無線電頻帶與其他裝置通信。這樣的技術的示例有wifi、w-cdma、gsm、utran、lte、nmt等等。

終端100還可以包括有線接口235,該有線接口適于允許終端通過使用不同的網(wǎng)絡技術與其他裝置通信。這樣的技術的示例有usb、以太網(wǎng)、局域網(wǎng)、tcp/ip(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)等等。

控制器210被配置為使用存儲在存儲器240中的軟件,通過rf接口230和/或有線接口235可操作地執(zhí)行諸如網(wǎng)頁瀏覽或電子郵件應用程序的應用程序250,該軟件包括用來為rf接口230和有線接口235以及可選地用于本地連接的藍牙接口和/或irda接口提供通信服務(例如傳輸,網(wǎng)絡和連接)的各種模塊、協(xié)議棧、驅(qū)動程序等。rf接口230包括內(nèi)部或外部天線以及用于建立和維持到基站的無線鏈路的適當?shù)臒o線電電路。如本領域技術人員所熟知的,無線電電路包括一系列模擬和數(shù)字電子組件,一起形成無線電接收器和發(fā)射器。這些組件包括,即,帶通濾波器、放大器、混頻器、本地振蕩器、低通濾波器、ad/da轉(zhuǎn)換器等。

圖3示出了根據(jù)本文中的實施例的計算機網(wǎng)絡300的示意概圖。諸如圖1或圖2的終端100的兩個終端100a、100b通過網(wǎng)絡或其他連接330連接,在一個示例中經(jīng)由互聯(lián)網(wǎng)。兩個終端可以通過有線連接或無線連接或已知連接方法的任何組合連接,例如通過專用網(wǎng)絡或連接。在圖3中,有兩個終端100a和100b,其中一個是臺式計算機100a,另一個是智能電話100b。應當注意,任何終端都可以連接到互聯(lián)網(wǎng),并且圖3中的終端100的數(shù)目和類型不應被解釋為限制。計算機網(wǎng)絡300還包括至少一個服務器340。在圖3中,僅示出了一個服務器340,但是應當注意,可以在計算機網(wǎng)絡300中實現(xiàn)任意數(shù)目的服務器340。通常,服務器是專用于運行一個或多個服務(作為主機)的物理計算機(硬件系統(tǒng)),以服務網(wǎng)絡300上的其他計算機或終端100a、100b的用戶的需要。根據(jù)服務器提供的計算服務,服務器可以是數(shù)據(jù)庫服務器、文件服務器、郵件服務器、打印服務器、網(wǎng)絡服務器或其他。

在一個實施例中,服務器340是網(wǎng)絡服務器340。通常,網(wǎng)絡服務器340可以指代幫助遞送內(nèi)容的硬件(計算機)或軟件(計算機應用程序),該內(nèi)容可以通過相互通信網(wǎng)絡,諸如互聯(lián)網(wǎng)330,被訪問。

互聯(lián)網(wǎng)330是使用標準互聯(lián)網(wǎng)協(xié)議組(tcp/ip-傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)來服務全世界數(shù)以億計的用戶的互聯(lián)計算機網(wǎng)絡的全球系統(tǒng)。它是由數(shù)以百萬計的私人、公共、學術、商業(yè)和政府網(wǎng)絡組成的網(wǎng)絡的網(wǎng)絡,本地到全球范圍的網(wǎng)絡,這些網(wǎng)絡通過各種各樣的電子、無線和光學聯(lián)網(wǎng)技術進行鏈接?;ヂ?lián)網(wǎng)承載多種多樣的信息資源和服務,諸如萬維網(wǎng)(www)相互鏈接的超文本文件。

如對于本領域的讀者將顯而易見的,如何連接兩個終端的可能性和變化性充滿了互聯(lián)網(wǎng),并且本文公開的實施例僅單純出于示例性目的,而不應被理解為限制。

即使本文中的公開內(nèi)容集中在終端和服務器之間的通信網(wǎng)絡上,本文中的教導也可以用在用于在兩個裝置之間建立安全連接的設備300內(nèi),諸如連接到個人計算機的外部存儲器。參考圖3,然后將第一裝置100a連接到第二裝置100b。如本領域技術人員已知的,通信將通過數(shù)據(jù)總線或其他內(nèi)部通信網(wǎng)絡建立。在裝置100a和100b中的一個(或兩者)中或者可替換地在另一個未示出的裝置中,諸如設備30的控制器中運行的服務器應用程序?qū)趫D3的服務器340。參考圖2,這樣的設備300可以被設想成外部裝置245要被連接到的終端100。然后可以通過控制器來實現(xiàn)根據(jù)本文中的教導的安全通信信道的建立,該控制器可能通過由控制器210,或由另一個驅(qū)動控制器執(zhí)行的服務器應用程序用作服務器。服務器可能是通過有線或無線通信信道接觸的外部安全服務器,用以處理本地總線或其他裝置內(nèi)通信硬件的通信交換地址的建立。

應當注意,在本上下文中的外部裝置可以在一個實施例中被理解為要連接到終端的裝置。其在此后可能是終端100的或多或少永久性的組件,也可能是在終端100內(nèi)部。

圖4示出了如上所述的計算機可讀介質(zhì)的示意圖。計算機可讀介質(zhì)40在本實施例中是數(shù)據(jù)光盤40。在一個實施例中,數(shù)據(jù)光盤40是磁數(shù)據(jù)存儲盤。數(shù)據(jù)光盤40被配置為承載指令41,當指令41被加載到諸如處理器的控制器中時,執(zhí)行根據(jù)上述公開的實施例的方法或過程。數(shù)據(jù)光盤40被布置成連接到讀取裝置42或位于讀取裝置42內(nèi)并由讀取裝置42讀取,以便將指令加載到控制器中。與一個(或幾個)數(shù)據(jù)光盤40組合的讀取裝置42的一個這樣的示例是硬盤驅(qū)動器。應當注意,計算機可讀介質(zhì)也可以是諸如光盤、數(shù)字視頻盤、閃速存儲器或其他通常使用的存儲器技術的其他介質(zhì)。在這樣的實施例中,數(shù)據(jù)光盤40是一類有形計算機可讀介質(zhì)40。

通過在計算機可讀信號43中包括指令41,指令41還可以被下載到計算機數(shù)據(jù)讀取裝置44,諸如計算機或能夠讀取計算機可讀介質(zhì)上的計算機編碼數(shù)據(jù)的其他裝置,該計算機可讀信號43是經(jīng)由無線(或有線)接口(例如經(jīng)由互聯(lián)網(wǎng))傳送到計算機數(shù)據(jù)讀取裝置44的,以便將指令41加載到控制器中。在這樣的實施例中,計算機可讀信號43是一類非有形計算機可讀介質(zhì)40。

指令可以存儲在計算機44的存儲器(圖4中未明確示出,但在圖2中被標記為240)中。

對計算機程序、指令、代碼等的引用應當被理解為包含用于可編程處理器或固件的軟件,諸如例如硬件裝置的可編程內(nèi)容,無論是用于處理器的指令還是用于固定功能裝置、門陣列或可編程邏輯裝置等的配置設置。

發(fā)明人已經(jīng)意識到,如果以巧妙且有見地的方式修改方式,則可以在使用諸如防火墻的安全措施的系統(tǒng)中使用與wo2011/002412類似的方式。圖5示出了用于在兩個終端之間建立相互安全連接的這種方式的概述。

圖5示出了根據(jù)本文中的教導的用于在如圖3中的系統(tǒng)300中的第一終端100a和第二終端100b之間建立通信信道的方法的流程圖。

在建立連接之前,在相關應用程序的通信網(wǎng)絡300中安裝或發(fā)起諸如圖3的第一終端100a和/或第二終端100b的終端510。這樣的應用程序可以是銀行業(yè)務應用程序、安全通信應用程序或需要在通信中的雙方被識別的任何其他應用程序。在一個實施例中,這樣的應用程序是當一個裝置要連接到設備的另一裝置時。

安裝由將要被安裝的請求發(fā)送到服務器340的終端100執(zhí)行。服務器340通過將關于密鑰生成的信息或數(shù)據(jù)發(fā)送回接收密鑰生成數(shù)據(jù)的終端100進行響應。這樣的密鑰生成數(shù)據(jù)由此被分發(fā)515。

將參考圖6給出關于將終端100安裝到系統(tǒng)300中的更多細節(jié)。

當已安裝了第一終端100a時,可能需要與另一終端100b建立安全通信。

在其中整體應用程序是銀行業(yè)務應用程序的一個示例實施例中,第一終端100a表示客戶端,而第二終端100b表示銀行。服務器340可以由相互銀行合作、銀行本身或安全連接提供商來托管。

為了建立這樣的安全連接,第一終端100a通過向服務器340發(fā)送第一會話請求520來發(fā)起建立。第一會話請求包括用于第二終端100b的識別符,該第二終端100b是第一終端想要與之建立通信的終端。在一個實施例中,信道數(shù)據(jù)的識別符可以是互聯(lián)網(wǎng)協(xié)議通信信道的地址(諸如統(tǒng)一資源定位符地址(url)或互聯(lián)網(wǎng)協(xié)議(ip)地址)。

服務器340發(fā)起或建立會話信道530,并且以第一會話響應535來響應,第一終端100a接收的第一會話響應535指示會話信道的識別符和用于第二終端100b的密鑰數(shù)據(jù)。然后,第一終端100a向第二終端100b發(fā)送第二會話請求。第二會話請求包括第一終端100a的識別和第一終端100a的密鑰加密種子。

當?shù)诙K端100b從第一終端100a接收到第二會話請求時,第二終端100b向服務器340發(fā)送第三會話請求550。第三會話請求包括用于第一終端100a的識別符和/或用于當前會話的識別符。服務器340確定是否允許第一終端100a與第二終端100b連接,如果是,則向第二終端100b發(fā)送第二會話響應560,其中第二會話響應包括用于會話信道的識別符以及關于用于第一終端100a的密鑰產(chǎn)生的數(shù)據(jù)。

當?shù)诙K端100b接收到第二會話響應時,第二終端100b可以確定第一終端被允許與第二終端100b建立連接。第二終端100b此后向第一終端100a發(fā)送第三會話響應570,該第三會話響應包括密鑰數(shù)據(jù)和用于終端100b的密鑰加密種子。

因此,第二終端100b和第一終端100a兩者都已經(jīng)從服務器340接收到了密鑰數(shù)據(jù)和彼此的密鑰加密種子。基于此,第一終端和第二終端生成用于在發(fā)起的會話信道上加密要發(fā)送的數(shù)據(jù)的對稱加密密鑰580,并且從而建立信道590。

參考圖12、13和14給出關于如何生成對稱加密密鑰的更多細節(jié)。

在wo2011/002412的教導中將找到生成這種對稱加密密鑰的一種替代方式。

以這種方式,由于兩個終端已被服務器340認證,所以第一終端100a和第二終端100b都可以確定另一終端的身份和可信性。終端還能夠生成對稱加密密鑰而不必彼此之間交換完整密鑰,也不必與服務器340交換完整密鑰,諸如對稱密鑰。

此外,服務器由終端100a和100b兩者進行認證。在現(xiàn)有技術示例中只有服務器認證終端,而不是根據(jù)本文中的教導的另一方式。

參考圖6和圖7在相互認證中給出了關于這種相互認證的更多細節(jié)。

注意,安全通信信道的整個建立由來自終端的活動提示來執(zhí)行,響應被提供至該終端,從而使得能夠在采用諸如防火墻的安全措施的系統(tǒng)中將使用通信系統(tǒng)建立。

終端的安裝

為了確保要安裝在系統(tǒng)300中的終端被信任,并且為了確保在終端和服務器之間傳送的任何安裝數(shù)據(jù)不被第三方濫用,本申請的作者設計出了一種安全的安裝方式,其中密鑰數(shù)據(jù)不被全部發(fā)送,從而使其對任何攔截通信的第三方是無用的。圖6示出了根據(jù)本文中的教導的用于將終端100安裝在如圖3中的系統(tǒng)300中的一般方法的流程圖。

由于將在系統(tǒng)中安裝終端100,諸如安裝在圖5中標記為510的終端時,服務器通過生成隨機識別數(shù),節(jié)點id,511和隨機加密密鑰,標記為y,512來建立用于終端100的賬戶。

隨機識別數(shù)和隨機加密密鑰然后以安全的方式分發(fā)到要安裝的終端100。它們可以通過普通郵件、電子郵件、文本消息(諸如短消息服務(sms)消息傳遞,或其他安全信道分發(fā)。

隨機識別數(shù)和隨機加密密鑰可能由用戶或者由(另一個)安全應用程序輸入513到終端100中,在該終端中100可能通過使用作為隨機識別數(shù)和隨機加密密鑰一部分的校驗和來檢查隨機識別符和隨機加密密鑰以查看它們是否正確。

終端100然后通過隨機識別符,節(jié)點id向服務器300識別514該終端本身,并因此由服務器340識別。

然后,服務器生成兩個隨機加密密鑰種子,密鑰數(shù)據(jù)種子和元數(shù)據(jù)種子,通常稱為數(shù)據(jù)種子。

密鑰數(shù)據(jù)種子可以具有例如128或256比特長度。元數(shù)據(jù)種子可以具有例如128或256比特長度。

使用這些種子,服務器生成密鑰數(shù)據(jù)和元數(shù)據(jù)。密鑰數(shù)據(jù)是被用于生成對稱加密密鑰的數(shù)據(jù),并且元數(shù)據(jù)與密鑰數(shù)據(jù)一起使用或不與密鑰數(shù)據(jù)一起使用以生成認證令牌,這將在下面進一步描述。

密鑰數(shù)據(jù)可以是128、256、512或1024比特長度。元數(shù)據(jù)可以是8192比特長度。

為了防止竊取,服務器340僅將密鑰生成種子分發(fā)515到終端100,也就是說,僅將密鑰數(shù)據(jù)種子和元數(shù)據(jù)種子分發(fā)到終端100。這確保了實際的密鑰數(shù)據(jù)和元數(shù)據(jù)被保密在服務器340中。

密鑰數(shù)據(jù)和元數(shù)據(jù)在被分發(fā)到終端100之前使用隨機加密密鑰來對所述密鑰數(shù)據(jù)和元數(shù)據(jù)進行加密。并且終端100使用隨機加密密鑰來解密密鑰數(shù)據(jù)和元數(shù)據(jù)。

然后,終端100通過使用與服務器340所使用的函數(shù)相同的函數(shù)來生成密鑰數(shù)據(jù)和元數(shù)據(jù)。該函數(shù)可以與隨機識別符和隨機加密密鑰一起分發(fā),或者可以單獨分發(fā),其中隨機識別符和/或隨機加密密鑰是函數(shù)的參數(shù),和/或該函數(shù)可以在終端和/或服務器中實現(xiàn)。在一個實施例中,該函數(shù)是密碼散列函數(shù),諸如feistel網(wǎng)絡。

已知用于生成數(shù)字的數(shù)個函數(shù),將不在本文進一步詳細討論。對于函數(shù)重要的唯一特征在于終端100使用與由服務器340使用的函數(shù)相同的函數(shù)。

種子與要生成的相應數(shù)據(jù)相比要小得多,并且服務器340僅需要將更小的種子傳送到終端,由此節(jié)省帶寬并且增加安全性,因為在沒有函數(shù)的情況下種子是無價值的。

因此,服務器340和終端100兩者都生成密鑰數(shù)據(jù)和元數(shù)據(jù)516。

由終端100基于密鑰數(shù)據(jù)和/或元數(shù)據(jù)生成認證令牌517,并且將認證令牌發(fā)送到服務器340,服務器340對認證令牌進行認證518,服務器可以訪問認證令牌所基于的密鑰數(shù)據(jù)和元數(shù)據(jù)。

下面將參考圖10a和圖10b給出關于如何生成并且認證認證令牌的更多細節(jié)。

如果認證令牌被認證,則終端100的身份(諸如識別)被存儲在服務器340中。在一個實施例中,終端100的識別是節(jié)點id。在一個實施例中,終端100的識別是終端100的imsi(國際移動用戶識別)、imei(國際移動設備識別符)和/或(一個或多個)序列號。在一個實施例中,終端100的識別是應用程序識別符,該應用程序識別符被提供有利用如本文中的教導所教導的安全通信信道的應用程序。

對于其中終端是外部裝置的實施例,用于外部裝置的節(jié)點id可以與外部裝置一起提供,或者在外部裝置245注冊時被發(fā)送給用戶或外部裝置。

相互認證

由于已經(jīng)安裝了終端100a并且嘗試與諸如銀行應用程序服務器的第二終端100b建立通信信道,其中通信信道由安全服務器340管理,可能是相同銀行服務器的一部分或者實現(xiàn)在相同銀行服務器中,待認證的終端100a將由安全服務器340進行認證,在下文中和上文中安全服務器340被稱為服務器340。在終端100a被服務器340認證之后,向終端100a提供建立與第二終端100b的安全通信所需的密鑰數(shù)據(jù)。

然而,在現(xiàn)今社會,許多詐騙都是通過互聯(lián)網(wǎng)運行的,這是需要安全通信信道的原因。然而,本發(fā)明人已經(jīng)意識到,所有這樣的安全通信系統(tǒng)都固有存在一個潛在的問題,因為使用當今的先進技術,第一終端100a(或第二終端100b)兩者都不能確定服務器340實際上是被信任的。服務器340的地址實際上可能已被惡意的詐騙操作者所劫持,惡意的詐騙操作者可提供導致加密的密鑰數(shù)據(jù),詐騙操作者然后可以對該加密進行解密。

意識到這個問題存在,并且通過深刻的推理和創(chuàng)造性思考,本申請的發(fā)明人已經(jīng)設計了一種方式,其中也認證服務器340。

對于在諸如終端100的設備300中安裝外部裝置245的實施例,這樣的認證用于保護敏感數(shù)據(jù)不被另一裝置或替換的操作軟件所讀取,所述另一裝置是設備300的一部分或后來被連接至設備300。因此,相互認證用于防止通過簡單地替換一些組件(承載軟件代碼的存儲器)或其他裝置來獲得對受保護裝置的訪問。

圖7是根據(jù)本文中的教導的終端100和服務器340的相互認證的一般方法的流程圖,而圖8是在這樣的相互認證期間完成的認證傳輸?shù)氖疽飧艌D。以下將同時參考圖7和圖8給出這樣的認證的詳細描述。

第一終端100a通過生成認證令牌at1-s(此標記指示它是從終端1到服務器s的認證令牌),且可能與會話請求一起發(fā)送710到服務器340來發(fā)起認證?;蛘?,在認證已成功完成后發(fā)送會話請求。應當注意,終端100a、100b中的任何一個都可以發(fā)起認證。服務器340也可以發(fā)起認證。服務器可以通過提示第一終端100a(或第二終端)提供認證令牌來發(fā)起認證。

服務器340接收認證令牌at1-s并認證該認證令牌715。

認證令牌可以是用于終端的識別符(諸如節(jié)點id),該識別符可能用先前接收的隨機加密數(shù)字進行加密,該隨機加密數(shù)字僅對第一終端100a和服務器340已知。認證令牌也可以是僅對服務器340和終端100a已知的另一字符串或數(shù)字,該另一字符串或數(shù)字可能通過已知協(xié)議或算法確定,并且也可以用隨機加密數(shù)字進行加密。

為確保認證是安全的,使用大的字符串是有益的,因為這樣的字符串比較難以猜中。這樣的字符串是僅對服務器340和終端100已知的元數(shù)據(jù)。這樣的問題在于,每次進行認證時都必須發(fā)送大文件,并且如下面將公開的那樣,元數(shù)據(jù)也將與第二終端共享,從而將元數(shù)據(jù)泄漏給第二終端,該第二終端不應該具有第一終端100a的元數(shù)據(jù)知識。然而,使用元數(shù)據(jù)將是有益的,因為它是難以惡意獲得的大字符串,并且僅對服務器340和終端100已知。

因此,發(fā)明人已設計了從元數(shù)據(jù)設計認證令牌的巧妙且簡單的方式,其中從該元數(shù)據(jù)中隨機選擇多個塊或部分。

認證令牌

圖9示出了元數(shù)據(jù)字符串mts和對應的認證令牌at的示例。在圖9的示例中,元數(shù)據(jù)字符串僅包括40個字符,然而應當注意,元數(shù)據(jù)字符串mts的實際長度優(yōu)選地更長。在一個實施例中,長度為8192比特。此外,在該示例中使用的部分的數(shù)目是四個,并且每個部分的長度是2,但在實際的實施方式中一個部分的長度應該是64-128比特,并且在一個實施例中該部分的長度是96比特。應當注意,在認證令牌內(nèi)部分的長度也可以變化,部分的數(shù)目也可以變化。在其中部分的數(shù)目變化的實施例中,認證令牌的頭部(header)可以用于指示部分的數(shù)目。在其中一個或多個部分的長度變化的實施例中,認證令牌的頭部可以用于指示部分的長度,或者每個部分可以由該部分的長度發(fā)起。

所述四個部分通過索引來參考。索引可以隨機地或通過已知函數(shù)來選擇,諸如隨機數(shù)生成器,例如,使用種子。上面已經(jīng)在如何在系統(tǒng)中安裝終端的公開內(nèi)容中給出了這樣的函數(shù)的示例。

在其中種子被用于函數(shù)來生成索引的這樣的實施例中,只有種子可能是必要在認證令牌中傳送的。

索引應該具有足以充分地尋址較大數(shù)據(jù)集合的長度,所述較大數(shù)據(jù)集合即元數(shù)據(jù)字符串(mts)。對于8192比特的元數(shù)據(jù),索引必須具有13比特的長度。也可以作為下一部分的若干步驟數(shù)來給出索引,其中假設下一部分至少在元數(shù)據(jù)的下一半內(nèi),索引長度可以減少一個比特。

可以在認證令牌的頭部中給出索引或種子。索引也可以作為每個部分的頭部給出。圖9示出了這樣的認證令牌的三個示例,其中在頭部中給出種子,在頭部中給出四個索引,并且其中四個索引作為每個部分的頭部給出。在所有三個示例中,種子為24,并且索引為3、7、13和16,并且相應的部分分別為“as”,“or”,“l(fā)p”和“it”。

應當注意,如上所述,將示例索引和部分長度以及元數(shù)據(jù)字符串mts的長度縮短以更容易地說明本文中的教導。

通過僅發(fā)送元數(shù)據(jù)的部分,確保終端100和服務器340可以被認證而不浪費帶寬,并且不泄漏敏感信息,因為只有元數(shù)據(jù)的部分被傳送。

然后可以通過簡單地將所述部分與元數(shù)據(jù)中的對應部分進行比較來對認證令牌at進行認證。通過索引來檢索對應的部分,所述索引是作為認證令牌的一部分被接收的或作為認證令牌的一部分的種子的函數(shù)被檢索的。

索引也可以基于定時函數(shù)給出,諸如當日時間或計數(shù)器。計數(shù)器必須以認證令牌可以被生成、發(fā)送和接收的速度遞增。

圖10a示出了根據(jù)本文中的教導的用于生成認證令牌的一般流程圖,并且圖10b示出了根據(jù)本文中的教導的用于認證認證令牌的一般流程圖。

通過生成至少一個索引1010來生成認證令牌at。如上文已經(jīng)討論的,索引的數(shù)目可以在實施方式內(nèi)以及實施方式之間變化。在一個實施例中,索引的數(shù)目是4。

索引可以被生成為隨機選擇的數(shù)字,或者通過隨機選擇的種子與函數(shù)一起使用。

此后,從諸如元數(shù)據(jù)(圖9中的mts)的較大數(shù)據(jù)集合中檢索1020至少一個部分,并將該部分連同索引(或種子)一起打包到諸如圖9中所示的數(shù)據(jù)結構1030中。

當接收到認證令牌1040時,索引被檢索1050(從認證令牌中或通過使用基于種子的函數(shù)),并且從本地存儲的數(shù)據(jù)集合,諸如元數(shù)據(jù)中檢索(一個或多個)對應的部分。然后將該(一個或多個)對應的部分與接收到的(一個或多個)部分進行比較1080,并且如果它們匹配則認證令牌被認證。

可以逐比特或通過任何其他已知的比較進行比較。逐比特比較的益處是執(zhí)行快速。

如果索引被選擇太靠近數(shù)據(jù)集合的結尾,使得沒有剩下足夠的字符或比特來完成部分,則可以從數(shù)據(jù)集合的開始獲取其他的或缺少的字符或比特,即,數(shù)據(jù)集合是循環(huán)的。

在上文中,在包含字符的數(shù)據(jù)集合和包含比特的數(shù)據(jù)集合之間沒有區(qū)別。如技術人員將理解的,可以在本文中的教導的范圍內(nèi)容易地替換這樣的實體。

對于8192比特并且具有每個96比特的四個部分或塊的元數(shù)據(jù)集合,認證令牌為4×96+4×13(索引需要至少為13比特,以正確地尋址8192比特)=436比特。因此,不僅在元數(shù)據(jù)保密的情況下單獨發(fā)送認證令牌比發(fā)送元數(shù)據(jù)更安全,而且所需的帶寬也減少了大約95%。

在一個實施例中,該索引被選擇為能夠?qū)ぶ范嘤谠撛獢?shù)據(jù),并且然后通過在元數(shù)據(jù)大小的索引模塊(modula)處尋址該元數(shù)據(jù)可以容易地找到對應的部分。因此在具有8192比特的元數(shù)據(jù)的示例中,在索引模塊8192處將找到用以檢索部分的地址。

根據(jù)上面的描述可以清楚,可以由終端和服務器兩者生成并認證認證令牌。事實上,認證令牌可以由任何計算裝置生成,圖1和圖2的終端和圖3的服務器是這樣的計算裝置的示例。外部裝置也可以是這樣的計算裝置。

返回到圖7和圖8以及相互認證,當服務器340已對從第一終端100a接收到的認證令牌at1-s進行認證時,服務器生成720一個針對第一終端100a的認證令牌ats-1和一個針對第二終端100b認證令牌ats-2,并將兩個認證令牌ats-1,ats-2都發(fā)送725到第一終端100a。

在一個實施例中,服務器340加密針對第二終端100b的認證令牌ats-2??梢允褂糜糜诘诙K端100b的元數(shù)據(jù)的一部分來加密認證令牌,并且在這樣的實施例中,認證令牌可以被配置為包括指示加密索引的另外的字段,該另外的字段指示將在元數(shù)據(jù)中何處找到用于加密認證令牌的加密密鑰。因此,加密索引是不加密傳送的。這避免任何惡意攻擊者偽裝成第二終端100b解密認證令牌ats-2。

當?shù)谝唤K端100a接收到730該兩個認證令牌ats-1和ats-2時,第一終端100a認證735從服務器340接收到的第一認證令牌ats-1。

由于第一終端100a不能訪問第二終端100b的元數(shù)據(jù),所以它不能對從服務器340接收到的第二認證令牌ats-2進行認證。然而,通過服務器340將目的在于第二終端100b的認證令牌發(fā)送到第一終端100a,通過第二終端100b實現(xiàn)服務器340的附加認證。

如果從服務器340接收到的第一認證令牌ats-1認證成功,則第一終端100b繼續(xù)進行由第二終端100b實現(xiàn)的附加認證。為此,第一終端將從服務器340接收到的第二認證令牌ats-2發(fā)送740到第二終端100b。第二終端100b接收并認證745認證令牌ats-2。如果認證成功,則已通過第一終端100a和第二終端100b兩者認證服務器340。因此實現(xiàn)了高度安全性的相互認證。

然而,由于認識到,如果惡意的詐騙操作者已經(jīng)能夠劫持第一終端100a和服務器340之間的通信信道,則用于第二終端2的認證令牌也可能潛在地被泄露。為了更進一步提高認證的安全性,第二終端100b有利地被配置為也對服務器340進行認證。

當?shù)诙K端100b已認證了通過第一終端100a從服務器340接收到的并且目的在于第二終端100b的認證令牌ats-2時,該第二終端繼續(xù)使用其自身到服務器340的通信信道認證服務器340。

因此,第二終端為服務器340生成認證令牌at2-s,并將其發(fā)送750到服務器340。服務器340接收認證令牌at2-s并對其進行認證755。如果認證成功,則第二終端100b被服務器340認證,并且服務器340生成760針對第一終端100a的一個認證令牌ats-1和針對第二終端100b的一個認證令牌ats-2,并發(fā)送765認證令牌ats-1、ats-2兩者到第二終端100b。

當?shù)诙K端100b接收到770兩個認證令牌ats-1和ats-2時,第二終端100b認證從服務器340接收到的第二認證令牌ats-2,如果成功則向第一終端100a發(fā)送第二認證令牌ats-1,第一終端100a認證780通過第二終端100b從服務器340接收到的目的在于該第一終端100a的認證令牌ats-1。

因此服務器340不僅由第一終端100a認證,而且還由第二終端100b代表第一終端100a認證。因此,兩個終端彼此協(xié)助認證服務器340。此外,第二終端100b通過經(jīng)由第二終端100b從服務器340接收到的認證令牌被第一終端100隱含地認證。而且,使用兩個不同的通信信道對服務器340進行認證,從而使得詐騙操作者非常難以惡意地將自身識別為安全服務器340。

對稱加密密鑰的生成

當兩個終端100和服務器340已被認證時,生成對稱加密密鑰。參考圖5,終端100在被安裝時接收515密鑰生成數(shù)據(jù),并且基于該密鑰生成數(shù)據(jù)生成516密鑰數(shù)據(jù)。密鑰數(shù)據(jù)將用于生成將在下文中公開的對稱加密密鑰。對稱加密密鑰將用于加密第一終端100a和第二終端100b之間的通信。如上所述,第一終端100a可以是安全服務的客戶端,并且第二終端100b可以是服務的提供商。

或者,第一終端100a可以是要連接到設備300的外部裝置245,其中第二終端100b表示設備300。

生成的密鑰數(shù)據(jù)僅對第一終端100a和服務器340已知,并且第二終端100b不知道該密鑰數(shù)據(jù)。這樣使得能夠在建立通信連接而不交換相應終端的密鑰數(shù)據(jù)的情況下提高安全性,從而使惡意的詐騙操作者難以攔截任何密鑰數(shù)據(jù)。

為此,發(fā)明人已設計了一種簡單且巧妙地從相應終端的密鑰數(shù)據(jù)產(chǎn)生對稱加密密鑰而不實際共享密鑰數(shù)據(jù)的方法。

圖11示出了生成這樣的對稱加密密鑰的方法的流程圖,并且圖12是根據(jù)本文中的教導在生成對稱加密密鑰期間完成的傳輸?shù)氖疽飧艌D。

第一終端100a通過發(fā)送針對待生成的對稱加密密鑰580的請求開始。該請求可以根據(jù)圖5作為會話建立請求的一部分被發(fā)送,或者可以獨自被發(fā)送。該請求也可以在之前的請求中隱含。然后,服務器340繼續(xù)生成581返回582到第一終端100a的第一處理文件pf1。

然后,第一終端100a從第一處理文件pf1提取583組合的密鑰數(shù)據(jù)。然后,第一終端100a生成第一隨機密鑰種子,該第一隨機密鑰種子被加密并發(fā)送到第二終端584。第二終端100b還向服務器340發(fā)送580用于生成對稱加密密鑰的請求,而服務器340生成并發(fā)送585第二處理文件pf2到第二終端100b。

第二終端100b然后從第二處理文件pf2中提取586組合的密鑰數(shù)據(jù),并生成第二隨機密鑰種子,該第二隨機密鑰種子被發(fā)送587到第一終端100a。然后第一和第二終端100兩者都各自生成588、589對稱加密密鑰。

圖13是根據(jù)本文的一般方法的流程圖,用于從兩個終端的密鑰數(shù)據(jù)生成處理文件pf。用于第一個終端的密鑰數(shù)據(jù)將被標記為kd1,并且用于第二個終端的密鑰數(shù)據(jù)將被標記為kd2。

當將要生成581處理文件時,在用于每個終端的密鑰數(shù)據(jù)上進行逐比特and操作而生成組合的密鑰數(shù)據(jù)5811(被標記為ckd),即:

ckd=kd1andkd2。

然后生成用于相關終端的密鑰數(shù)據(jù)的相反數(shù)5812,即,生成~kd,且將~kd經(jīng)過函數(shù)f5813,其中每1比特以例如10%、25%、50%的概率變化為0比特,或者以10-80%、20-70%或25-50%范圍內(nèi)任意一個的概率變化為0比特。所得到的經(jīng)變化的比特串可以被標記為f(~kd)。然后,作為組合的密鑰數(shù)據(jù)和所得到的經(jīng)變化的比特串之間的邏輯or,生成處理文件5814。即:

pf1=ckdorf(~kd1)=(kd1andkd2)orf(~kd1),以及

pf2=ckdorf(~kd2)=(kd1andkd2)orf(~kd2)

所生成的處理文件pf因此完全不同于密鑰數(shù)據(jù),并且也與組合的密鑰數(shù)據(jù)完全不同,因此相應的密鑰數(shù)據(jù)對另一個終端保密,并且組合的密鑰數(shù)據(jù)和相應的密鑰數(shù)據(jù)兩者都對外界保密。

當已接收到處理文件時,通過簡單地執(zhí)行處理文件與相應的終端的密鑰數(shù)據(jù)的邏輯或逐比特and來提取組合的密鑰數(shù)據(jù)(圖11中的583/586),即:

ckd=pf1andkd1以及

ckd=pf2andkd2。

為了說明以上內(nèi)容,下面給出了一個示例。應當注意,出于說明的目的,該示例被限制為8比特,而在現(xiàn)實生活實施方式中,應當使用更長的串,例如128比特、256、512、1024比特,因為更多比特提供更高的安全性。

示例

提取

ckd=pf1andkd100001100

當已提取組合的密鑰數(shù)據(jù)時,在傳輸期間保持該組合的密鑰數(shù)據(jù)安全地隱藏在處理文件中的同時,將生成對稱加密密鑰。圖14是根據(jù)本文中的教導的用于生成對稱加密密鑰的示例方式的流程圖。

通過將先前為每個終端生成的組合的密鑰數(shù)據(jù)和隨機密鑰種子(第一終端為584,第二終端為587)作為種子為每個終端100輸入到函數(shù),諸如加密散列函數(shù)或異或函數(shù)(xor)5801中,由兩個終端100最終生成對稱加密密鑰588/589。在一個實施例中,該函數(shù)用以重復隨機密鑰種子8次以成為例如512比特的擴展隨機密鑰種子,并對組合的密鑰數(shù)據(jù)和擴展隨機密鑰種子執(zhí)行異或函數(shù)。可能使用模函數(shù)從經(jīng)異或(xor)的值獲取128比特,從而產(chǎn)生半個對稱密鑰。該步驟由先前已經(jīng)接收到另一終端的隨機密鑰種子的兩個終端100執(zhí)行。在一個實施例中,結果是對于每個終端例如128比特的比特串,并且兩個比特串連接到由此生成的對稱加密密鑰中。

對稱加密密鑰是會話建立的結果,并且該對稱加密密鑰將在第一終端100a和第二終端100b之間的通信期間使用,以用于對通信進行編碼和解碼。

應當注意,盡管用于相互認證的流程和用于生成對稱加密密鑰的流程已經(jīng)被公開為單獨的流程,但它們可以是相同流程的部分,并且在任一流程的傳輸中要發(fā)送的數(shù)據(jù)可以被組合成公共傳輸以減少帶寬并且使認證流程并行化。

密鑰數(shù)據(jù)的變異(mutation)

為了防止惡意攻擊者試圖劫持密鑰數(shù)據(jù)或其他加密數(shù)據(jù),本申請的發(fā)明人提出了一種變異或改變密鑰數(shù)據(jù)的簡單解決方案。應當注意,元數(shù)據(jù)、密鑰數(shù)據(jù)和對稱加密密鑰可以單獨地或集體地變異。

在一個實施例中,該元數(shù)據(jù)一天變異一次,因為其主要用于認證目的。

在一個實施例中,密鑰數(shù)據(jù)在會話期間在每個會話建立時變異或每隔一定時間變異或當有來自第一終端的提示時變異。

在一個實施例中,該對稱加密密鑰在會話期間每隔一定時間變異或當有來自第一終端的提示時變異。

用以變異該對稱加密密鑰的一個方式是建立新的會話。在該會話建立期間將變異密鑰數(shù)據(jù),并且因此對稱加密密鑰也被變異。然而,這消耗計算機資源和時間兩者來執(zhí)行完整的會話建立。一種更快的方式是僅變異該對稱加密密鑰。這僅在終端處完成;未涉及服務器。

這取決于安全應用程序決定何時完成變異。例如在聊天應用程序中,可能針對每個被發(fā)送至另一終端的消息來變異該對稱加密密鑰是適當?shù)?。在時間關鍵的應用程序中,例如,每十個包(package)就進行變異可能是較佳的,或者甚至完全不進行變異。

這取決于發(fā)起終端(發(fā)送者)來控制新的包是否應該具有經(jīng)變異的對稱加密密鑰。這通過對每個通信包添加一個版本號,對稱加密密鑰版本,來完成。如果發(fā)起終端想要使用此特征,則它必須對每個發(fā)送的包增加該變量。

在服務器設置時,該對稱加密密鑰版本初始被設為0。如果該發(fā)送者從未改變這個值,則將不會發(fā)生變異。另一方面,如果發(fā)送者,例如,在頭四個包中使用值3、7、13、14,則響應終端需要對相應的包變異3、4、6、1次。

接收第一終端始終檢查其接收到的每個通信包的版本號。如果版本號已經(jīng)改變,則該接收終端必須在解密該消息之前相應地變異該對稱加密密鑰。如果該值大于先前的包,則該接收終端只要變異適當?shù)拇螖?shù)。如果該值較小,則該接收終端必須使用具有對稱加密密鑰版本=0的對稱加密密鑰并重新開始。

對稱加密密鑰的變異可使用512比特的加密散列函數(shù)并使用當前對稱加密密鑰作為輸入來完成。

系統(tǒng)概述

圖15示出了根據(jù)本文中的教導的系統(tǒng)通信的示意概圖。圖15中所示的系統(tǒng)300可以是如上所述的系統(tǒng)300或設備300。

第一終端100a發(fā)起與服務器340和作為響應終端的第二終端100b的建立,如上面參考圖5、6、7、8、9、10a、10b、11、12、13和14已公開的那樣。

當已經(jīng)生成對稱加密密鑰時,第一終端100a和第二終端100b能夠通過建立的通信信道安全地通信。

本文中的教導的一個益處在于可以由兩個通信終端生成對稱加密密鑰,而不必在終端或其他裝置之間共享該對稱加密密鑰。

以上已經(jīng)參考幾個實施例主要描述了本發(fā)明。然而,如本領域技術人員容易理解的那樣,除以上所公開的實施例以外的其它實施例同樣可能落入本發(fā)明的范圍內(nèi),本發(fā)明的范圍由所附的專利權利要求所限定。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
酉阳| 界首市| 丰都县| 万荣县| 忻城县| 嘉黎县| 镇平县| 吉首市| 乐昌市| 平凉市| 德州市| 乌拉特前旗| 张家川| 日喀则市| 安岳县| 邯郸县| 福建省| 澜沧| 尚义县| 白山市| 成武县| 潮安县| 手机| 丰宁| 泸西县| 高青县| 滁州市| 托里县| 萨迦县| 河曲县| 峡江县| 安顺市| 临颍县| 深州市| 吴忠市| 玉树县| 阿瓦提县| 五峰| 成武县| 泸定县| 新竹县|