本申請要求2014年1月31日提交的美國臨時(shí)申請no.61/934,341、2014年8月18日提交的美國臨時(shí)申請no.62/038,589和2014年12月11日提交的美國臨時(shí)申請no.62/090,632的優(yōu)先權(quán),以引證方式將其全部內(nèi)容組合于此。
背景技術(shù):
隨著越來越多的數(shù)據(jù)在基于網(wǎng)絡(luò)的系統(tǒng)中收集和維護(hù),因此數(shù)據(jù)安全及其重要。安全的一個(gè)重要方面是設(shè)備間的安全通信。具體而言,每分鐘在網(wǎng)絡(luò)連接的設(shè)備之間交換大量的數(shù)據(jù)。這種交換采取設(shè)備間傳遞的消息、文檔和其他數(shù)據(jù)的形式,包括電子郵件、附件、即時(shí)消息、文件和其他形式。
當(dāng)今,包括電子郵件和文檔的大量數(shù)據(jù)是以極低的安全性進(jìn)行通信,這意味著,這種通信極易被惡意第三方設(shè)備截取(intercepted)和盜用(misappropriated)。雖然存在確保這種通信安全的機(jī)制,但這些機(jī)制通常難以使用并且相對容易失敗。例如,用于安全通信的大多數(shù)現(xiàn)有系統(tǒng)依賴于非對稱加密方法,其中使用公共可用密鑰來加密,并使用私鑰來解密。非對稱加密方法的問題在于,它們不能提供與對稱加密一樣強(qiáng)的保護(hù)。此外,由于公鑰/私鑰對保持不變,因此一旦一個(gè)密鑰對被攻破,就可用對大量的通信進(jìn)行破譯。
對稱加密方法還用于確保提供比非對稱方法強(qiáng)的保護(hù)的通信的安全。然而,這些方法使用較為繁瑣。例如,這些方法通常涉及帶外密鑰交換,從而使得設(shè)置或更新密鑰較為繁瑣,因此不頻繁執(zhí)行。因而,需要用于提供強(qiáng)保護(hù)且易用的安全通信的系統(tǒng)和方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供消除或減少現(xiàn)有技術(shù)的上述缺點(diǎn)的至少一個(gè)的用于安全通信的新穎的服務(wù)器和方法。
本發(fā)明的多個(gè)方面和優(yōu)點(diǎn)將在下面變得更加清楚,在充分描述和聲明的構(gòu)造和操作的細(xì)節(jié)中進(jìn)行了說明,參照作為本發(fā)明一部分的附圖,其中通篇用相似的附圖標(biāo)記指代相似的部件。
附圖說明
圖1示出了根據(jù)實(shí)施方式的用于安全通信的系統(tǒng)的實(shí)施方式的框圖;
圖2示出了根據(jù)實(shí)施方式的提供用于圖1的系統(tǒng)的安全通信的增強(qiáng)公鑰的方法;
圖3示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖4示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖5示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖6示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖7示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖8示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖9示出了根據(jù)實(shí)施方式的在歸一化過程中增強(qiáng)的公鑰的框圖;
圖10示出了根據(jù)實(shí)施方式的在執(zhí)行圖2的方法的過程中圖1的系統(tǒng)的框圖;
圖11示出了根據(jù)實(shí)施方式的圖1的系統(tǒng)的公鑰添加方法;
圖12示出了根據(jù)實(shí)施方式的在執(zhí)行圖11的方法的過程中圖1的系統(tǒng)的框圖;
圖13示出了根據(jù)實(shí)施方式的在執(zhí)行圖11的方法的過程中圖1的系統(tǒng)的框圖;
圖14示出了根據(jù)實(shí)施方式的在執(zhí)行圖11的方法的過程中圖1的系統(tǒng)的框圖;
圖15示出了根據(jù)實(shí)施方式的在執(zhí)行圖11的方法的過程中圖1的系統(tǒng)的框圖;
圖16示出了根據(jù)實(shí)施方式的在執(zhí)行圖11的方法的過程中圖1的系統(tǒng)的框圖;
圖17示出了根據(jù)實(shí)施方式的在執(zhí)行圖11的方法的過程中圖1的系統(tǒng)的框圖;
圖18示出了根據(jù)實(shí)施方式的包含示例性消息的圖1的系統(tǒng)的框圖;
圖19示出了根據(jù)實(shí)施方式的圖1的系統(tǒng)接收安全通信的方法;
圖20示出了根據(jù)實(shí)施方式的在執(zhí)行圖19的方法的過程中圖1的系統(tǒng)的框圖;
圖21示出了根據(jù)實(shí)施方式的在執(zhí)行圖19的方法的過程中圖1的系統(tǒng)的框圖;
圖22示出了根據(jù)實(shí)施方式的在執(zhí)行圖19的方法的過程中圖1的系統(tǒng)的框圖;
圖23示出了根據(jù)實(shí)施方式的在執(zhí)行圖19的方法的過程中圖1的系統(tǒng)的框圖;
圖24示出了根據(jù)實(shí)施方式的在執(zhí)行圖19的方法的過程中圖1的系統(tǒng)的框圖;
圖25示出了根據(jù)實(shí)施方式的圖1的系統(tǒng)發(fā)送安全通信的方法;
圖26示出了根據(jù)實(shí)施方式的在執(zhí)行圖25的方法的過程中圖1的系統(tǒng)的框圖;
圖27示出了根據(jù)實(shí)施方式的在執(zhí)行圖25的方法的過程中圖1的系統(tǒng)的框圖;
圖28示出了根據(jù)實(shí)施方式的在執(zhí)行圖25的方法的過程中圖1的系統(tǒng)的框圖;以及
圖29示出了根據(jù)實(shí)施方式的在執(zhí)行圖25的方法的過程中圖1的系統(tǒng)的框圖。
具體實(shí)施方式
圖1示出了用于安全通信的系統(tǒng)100的框圖。至少一個(gè)安全通信終端(安全通信終端104-1和104-2)可以經(jīng)由網(wǎng)絡(luò)108連接至公鑰服務(wù)器112。安全通信終端104-1和104-2稱為安全通信終端104,并且統(tǒng)稱為安全通信終端104。在說明書的其他地方也使用該命名方法。安全通信終端104可以基于任何適當(dāng)?shù)挠?jì)算環(huán)境,并且不對類型特別加以限制,只要每個(gè)安全通信終端104能夠接收、處理和發(fā)送安全通信。在本實(shí)施方式中,安全通信終端104被構(gòu)造成至少執(zhí)行能夠與公鑰服務(wù)器112所提供(host)的網(wǎng)絡(luò)服務(wù)進(jìn)行交互以建立安全通信的指令。雖然在圖1的示例性示例中,僅示出了兩個(gè)安全通信終端,但應(yīng)當(dāng)理解的是,在其他實(shí)施方式中,可以存在更多或更少的安全通信終端104。
每個(gè)安全通信終端104包括連接至例如存儲(chǔ)器的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的至少一個(gè)處理器。該處理器允許或執(zhí)行存儲(chǔ)在存儲(chǔ)器中的操作指令或應(yīng)用,以執(zhí)行用于安全通信終端104的多種功能。處理器包括一個(gè)或更多個(gè)微處理器、微控制器、數(shù)字信號處理器(DSP)、狀態(tài)機(jī)、邏輯電路、或者基于存儲(chǔ)在存儲(chǔ)器中的操作或編程指令而對信息進(jìn)行處理的任何一個(gè)設(shè)備或多個(gè)設(shè)備。根據(jù)這些實(shí)施方式,處理器對與執(zhí)行數(shù)據(jù)加密、解密和安全通信相關(guān)聯(lián)的多種功能和數(shù)據(jù)進(jìn)行處理。
存儲(chǔ)器可以是易失(例如隨機(jī)存取存儲(chǔ)器(“RAM”))和非易失(例如,只讀存儲(chǔ)器(“ROM”)、電可擦除可編程只讀存儲(chǔ)器(“EEPROM”)、閃存、磁計(jì)算機(jī)存儲(chǔ)設(shè)備或光盤)存儲(chǔ)器的任意適當(dāng)組合。在一個(gè)實(shí)施方式中,存儲(chǔ)器包括用于持久存儲(chǔ)計(jì)算機(jī)可讀指令和其他數(shù)據(jù)的非易失存儲(chǔ)器、以及用于短時(shí)存儲(chǔ)在執(zhí)行計(jì)算機(jī)可讀指令期間的這種計(jì)算機(jī)可讀指令和其他數(shù)據(jù)的非易失存儲(chǔ)器。在一些實(shí)施方式中還可以想到可以去除或者外置于安全通信終端104的其他類型計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如安全數(shù)字(SD)卡及其變型。外置或可去除計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的其他示例包括壓縮盤(CD-ROM、CD-RW)和數(shù)字視頻盤(DVD)。
每個(gè)安全通信終端104還可以包括可操作連接至處理器的通信接口。通信接口能夠使安全通信終端104例如經(jīng)由網(wǎng)絡(luò)108與其他計(jì)算設(shè)備進(jìn)行通信。因此,可以將通信接口選擇為與網(wǎng)絡(luò)108適配。在系統(tǒng)100的其他實(shí)施方式中,安全通信終端104可以在沒有介于期間的網(wǎng)絡(luò)108的情況下連接至公鑰服務(wù)器112和/或直接彼此連接,例如安全通信終端104通過有線通用串行總線(USB)連接或者無線藍(lán)牙連接而連接至公鑰服務(wù)器112和/或另一個(gè)安全通信終端104。這些連接可以在通過網(wǎng)絡(luò)108的連接以外或者代替通過網(wǎng)絡(luò)108的連接而建立。
網(wǎng)絡(luò)108可以包括能夠?qū)⒐€服務(wù)器112與安全通信終端104鏈接在一起的任何網(wǎng)絡(luò),并且可以包括有線和/或無線網(wǎng)絡(luò)的任何適當(dāng)組合,包括但不限于例如互聯(lián)網(wǎng)的廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、蜂窩電話網(wǎng)、Wi-FiTM網(wǎng)絡(luò)、WiMAXTM網(wǎng)絡(luò)等。
一般而言,公鑰服務(wù)器112可以包括能夠輔助安全通信性能的任何平臺。在本實(shí)施方式中,公鑰服務(wù)器112是被構(gòu)造成用于接收、維持和提供公鑰的服務(wù)器。公鑰服務(wù)器112可以基于包括一個(gè)或更多個(gè)中央處理單元(CPU)的適當(dāng)構(gòu)造的服務(wù)器型計(jì)算環(huán)境,該一個(gè)或更多個(gè)中央處理單元構(gòu)造成控制并與計(jì)算機(jī)存儲(chǔ)器或存儲(chǔ)設(shè)備形式的非短時(shí)計(jì)算機(jī)可讀介質(zhì)交互。計(jì)算機(jī)存儲(chǔ)器或存儲(chǔ)設(shè)備可以包括例如隨機(jī)存取存儲(chǔ)器(RAM)之類的易失存儲(chǔ)器,以及例如硬盤驅(qū)動(dòng)器或閃速驅(qū)動(dòng)器之類的非易失存儲(chǔ)器,或者廉價(jià)磁盤冗余陣列(RAID)或基于云的存儲(chǔ)。公鑰服務(wù)器112還可以包括一個(gè)或更多個(gè)網(wǎng)絡(luò)或通信接口,用于連接至網(wǎng)絡(luò)108或安全通信終端104。公鑰服務(wù)器112還可以構(gòu)造成包括例如鍵盤或指點(diǎn)設(shè)備的輸入設(shè)備或者例如監(jiān)視器或顯示器或者它們之中任意一個(gè)或全部的輸出設(shè)備,以允許本地交互。
還可以想到用于公鑰服務(wù)器的其他類型硬件構(gòu)造。例如,公鑰服務(wù)器112可以實(shí)現(xiàn)為基于云的計(jì)算解決方案的一部分,由此公鑰112的功能實(shí)現(xiàn)為在單一數(shù)據(jù)中心或者在多個(gè)數(shù)據(jù)中心之間執(zhí)行的一個(gè)或更多個(gè)虛擬機(jī)。公鑰服務(wù)器112還可以實(shí)現(xiàn)為在可操作地在例如網(wǎng)絡(luò)108的網(wǎng)絡(luò)上連接的多個(gè)計(jì)算設(shè)備之間分布的分布式服務(wù)器。公鑰服務(wù)器112的計(jì)算環(huán)境的軟件方面還可以包括代替或除了任何本地輸入設(shè)備或本地輸出設(shè)備以外的遠(yuǎn)程訪問能力。
在公鑰服務(wù)器112的計(jì)算環(huán)境中可以使用任何期望的或適當(dāng)?shù)牟僮鳝h(huán)境。因而可以利用適當(dāng)?shù)牟僮飨到y(tǒng)和應(yīng)用來構(gòu)造該計(jì)算環(huán)境以實(shí)現(xiàn)此處討論的功能。本領(lǐng)域技術(shù)人員將認(rèn)識到,公鑰服務(wù)器112不一定要實(shí)現(xiàn)為單機(jī)設(shè)備,而是可以實(shí)現(xiàn)為多目的服務(wù)器的一部分或者實(shí)現(xiàn)為虛擬機(jī)。
公鑰服務(wù)器112可操作用于接收、存儲(chǔ)和發(fā)送與一個(gè)或更多個(gè)客戶賬戶相關(guān)聯(lián)的公鑰。公鑰服務(wù)器112可以進(jìn)一步操作用于確定所上傳的密鑰不是先前上傳密鑰的副本。此外,公鑰服務(wù)器112可以操作用于確認(rèn)提供密鑰的客戶賬戶,并驗(yàn)證所上傳的密鑰確實(shí)是由客戶賬戶生成。在變型例中,可以存在超過一個(gè)公鑰服務(wù)器112。
在一些實(shí)施方式中,安全通信終端104被構(gòu)造成與客戶賬戶相關(guān)聯(lián)。例如,如圖1所示,安全通信終端104-1與客戶賬戶A相關(guān)聯(lián),而安全通信終端104-2與客戶賬戶B相關(guān)聯(lián)。通?;谒峁┑睦缬脩粜彰㈦娮余]件地址、密碼之類的憑證和/或其本領(lǐng)域技術(shù)人員能夠想到的其他憑證來獲得對客戶賬戶的訪問。在一些變型例中,超過一個(gè)賬戶可以與安全通信終端104相關(guān)聯(lián)。在另外的變型例中,一個(gè)賬戶可以與超過一個(gè)安全通信終端104相關(guān)聯(lián)。在其他變型例中,可以不使用賬戶,而是,憑證可以是與不被其他人所知的安全通信終端104相關(guān)聯(lián)的唯一憑證,例如與設(shè)備相關(guān)聯(lián)的唯一序列號。在這些變型例中,與安全通信終端104相關(guān)聯(lián)的客戶賬戶憑證相反,基于設(shè)備憑證執(zhí)行下面描述的安全通信。
基于所維持的客戶賬戶,安全通信終端可以構(gòu)造成與客戶賬戶相關(guān)聯(lián)地生成對稱和非對稱密鑰、生成消息,對所生成的消息和其他數(shù)據(jù)進(jìn)行加密,將生成的消息發(fā)送到其他安全通信終端104、從其他安全通信終端104接收消息,并且對所接收的消息進(jìn)行解密。與客戶賬戶相關(guān)聯(lián)的由安全通信終端104執(zhí)行的加密可以基于該客戶賬戶先前生成并傳送到另一個(gè)客戶賬戶作為先前發(fā)送消息的一部分的密鑰或密鑰標(biāo)識符。例如,在一些實(shí)施方式中,共享對稱密鑰SSK和共享密鑰標(biāo)識符SSKID可以由客戶賬戶生成并被包含作為發(fā)送到另一個(gè)客戶賬戶的消息的一部分??梢曰谌魏纹谕拿荑€生成方法來生成共享對稱密鑰SSK。因而,當(dāng)客戶賬戶接收包含該共享對稱密鑰標(biāo)識符SSKID的后續(xù)消息時(shí),該客戶賬戶能夠基于包含該SSKID而確定該消息至少部分是由譜寫該消息的其他客戶賬戶使用共享對稱密鑰SSK加密的。因此,為了對所接收消息的至少一部分進(jìn)行解密,客戶賬戶可以基于該共享對稱密鑰標(biāo)識符SSKID而識別共享對稱密鑰SSK,并使用識別出的共享對稱密鑰SSK對所接收消息的部分進(jìn)行解密。由此,在兩個(gè)客戶賬戶之間發(fā)送的每個(gè)消息可以由在對消息進(jìn)行交換的該兩個(gè)客戶賬戶之間共享的不同的對稱密鑰進(jìn)行加密。在變型例中,可以使用SSK和SSKID來加密一組消息。因此,即使共享對稱密鑰被第三方攻破,也只能解密一個(gè)或一組消息。
在變型例中,客戶賬戶可以使用不與其他客戶賬戶共享的對于該客戶賬戶而言唯一的另一個(gè)對稱密鑰(唯一客戶密鑰UCK)來減少共享對稱密鑰標(biāo)識符SSKID被不是消息發(fā)送方或接收方的第三方客戶截取并解密的可能性。在一些變型例中,可以使用隨機(jī)數(shù)發(fā)生器利用客戶賬戶憑證來生成唯一客戶密鑰UCK,諸如密碼作為種子。由此,可以在客戶賬戶所在的多種設(shè)備上統(tǒng)一生成唯一客戶密鑰UCK。雖然唯一客戶密鑰UCK對于客戶賬戶而言是唯一的,但在變型例中,其可以例如隨時(shí)間或者基于對客戶賬戶憑證的改變而變化。
為了能夠?qū)Σ煌南⒒虿煌M消息使用不同的共享對稱密鑰,提供了生成并在兩個(gè)客戶賬戶之間對共享密鑰進(jìn)行共享的方法。因而,客戶賬戶生成的共享對稱密鑰SSK只與一個(gè)其他客戶賬戶共享,并用于加密從該其他賬戶發(fā)送到生成該對稱共享密鑰SSK的客戶賬戶的消息密鑰。在變型例中,共享對稱密鑰可以與一組其他客戶賬戶共享。
在一些實(shí)施方式中,除了使用共享對稱密鑰以外,與接收方客戶賬戶相關(guān)聯(lián)的公鑰PuK還可以由另一個(gè)客戶賬戶使用,來對目的地為該接收方客戶賬戶的消息的至少部分進(jìn)行加密。此外,在將消息發(fā)送到接收方客戶賬戶之前,公鑰PuK可以由該另一個(gè)客戶賬戶包含來作為該消息的一部分。在這些實(shí)施方式中,該另一個(gè)客戶賬戶可以從公鑰服務(wù)器112接收公鑰PuK,下面對此進(jìn)行更詳細(xì)說明。公鑰PuK在包含到消息中之前,可以由另一個(gè)客戶賬戶例如使用先前接收的共享對稱密鑰SSK進(jìn)行加密。因而,當(dāng)接收方客戶賬戶接收該消息時(shí),其可以使用共享對稱密鑰SSK對公鑰PuK進(jìn)行解密,并識別與公鑰PuK相對應(yīng)的私鑰PrK。在一些變型例中,可以使用增強(qiáng)公鑰,使得可以以加密形式包括與公鑰PuK相對應(yīng)的私鑰PrK作為增強(qiáng)公鑰的一部分,下面將對此進(jìn)行更詳細(xì)說明。隨后,可以使用相應(yīng)的私鑰PrK對利用公鑰PuK加密的消息的部分進(jìn)行解密。在變型例中,可以使用共享對此密鑰SSK和公鑰PuK兩者對消息的至少一部分進(jìn)行加密。在變型例中,可以獲得不同的公鑰PuK對基于使用增強(qiáng)公鑰而創(chuàng)建的每個(gè)新消息或一組新消息進(jìn)行加密。將公鑰PuK的使用限定在對一個(gè)或一組消息進(jìn)行加密,限制了由于針對由破解的公鑰加密的一個(gè)或一組消息的公/私密鑰對的破解而導(dǎo)致的任何攻破。此外,使用變化的共享對稱密鑰和變化的非對稱密鑰二者也可以增大消息交換的安全性,并解決例如中間人問題之類的問題。
為了能夠?qū)Σ煌南⑹褂貌煌墓€,提供了生成和共享與每個(gè)客戶賬戶相關(guān)聯(lián)的多個(gè)增強(qiáng)公鑰的方法。因而,在變型例中,每個(gè)客戶賬戶能夠生成超過一個(gè)公/私非對稱密鑰對??蛻糍~戶生成的增強(qiáng)公鑰可以上傳到公鑰服務(wù)器112并與該客戶賬戶相關(guān)聯(lián)地存儲(chǔ)。隨后,在交換新消息時(shí),任何客戶賬戶都可以請求與客戶賬戶相關(guān)聯(lián)的增強(qiáng)公鑰。在變型例中,所生成的增強(qiáng)公鑰可以包括數(shù)據(jù)的一部分,使得公鑰服務(wù)器能夠驗(yàn)證提供給它并與客戶賬戶相關(guān)聯(lián)的增強(qiáng)公鑰確實(shí)是該客戶賬戶生成的。此外,增強(qiáng)公鑰還可以包括第二數(shù)據(jù)部分,使得將新的增強(qiáng)公鑰上傳到公鑰服務(wù)器112的客戶賬戶能夠驗(yàn)證公鑰服務(wù)器112是可信的(與例如攔截者試圖攻破該公鑰相反)。
在一些進(jìn)一步的實(shí)施方式中,消息的至少一部分可以由對稱消息密鑰MK來加密。由MK加密的部分例如可以是消息內(nèi)容或其他消息數(shù)據(jù)。MK可以由發(fā)送消息的客戶賬戶生成,并包含在該消息中。MK可以由消息所發(fā)送到的客戶賬戶的SSK和/或PuK加密。
現(xiàn)在參照圖2,在200處指示了提供用于安全系統(tǒng)通信的增強(qiáng)公鑰的方法。為了輔助解釋該方法,假設(shè)使用如圖1中所示的系統(tǒng)100操作該方法200。此外,下面的對方法200的討論可以進(jìn)一步理解系統(tǒng)100。然而,應(yīng)當(dāng)理解的是,系統(tǒng)100和方法200是可以改變的,并且不一定需要彼此結(jié)合完全如此處所述地工作,并且這種變化處在保護(hù)范圍內(nèi)。
在205處開始,客戶賬戶在安全通信終端104生成一組公/私鑰對。在圖1的本示例中,客戶賬戶A根據(jù)已有的非對稱密鑰生成方法而生成如圖3所示分別包含非對稱公鑰PK1和非對稱私鑰PKR1的一個(gè)公/私鑰對。此外,安全通信終端104-1維持對于客戶A而言唯一的先前生成的唯一客戶密鑰UCKA。可以使用客戶終端A的憑證(例如其密碼)基于隨機(jī)數(shù)發(fā)生器而生成該唯一客戶密鑰UCKA。
在210處繼續(xù)方法200,同樣如圖3所示,還生成并加密賬戶確認(rèn)碼。例如,可以使用隨機(jī)數(shù)發(fā)生器生成賬戶確認(rèn)碼ACC1。公鑰服務(wù)器112可以使用賬戶確認(rèn)碼ACC1來驗(yàn)證發(fā)送新公鑰的客戶賬戶確實(shí)是該公鑰要關(guān)聯(lián)的客戶賬戶。賬戶確認(rèn)碼ACC1可以由其自身加密,從而得到賬戶確認(rèn)碼ACC1的第一加密形式(EACC1)。此外,如圖4所示,還可以用我唯一客戶密鑰UCKA對賬戶確認(rèn)碼ACC1進(jìn)行加密,從而得到賬戶認(rèn)證碼ACC1的第二加密形式(EACC2)。隨后,第一加密賬戶認(rèn)證碼EACC1和第二加密賬戶認(rèn)證碼EACC2可以與非對稱公鑰PK1組合在一起作為形成公鑰的增強(qiáng)版本的一部分,即增強(qiáng)公鑰PuK1。組合過程可以采取多種形式,例如級聯(lián)(concatenation)。
再參照圖2,在215處,例如使用隨機(jī)數(shù)發(fā)生器生成服務(wù)器認(rèn)證碼(SAC1)并對其進(jìn)行加密。例如,客戶賬戶A可以使用服務(wù)器認(rèn)證碼SAC1來確認(rèn)公鑰服務(wù)器是可信的。服務(wù)器認(rèn)證碼SAC1可以由賬戶認(rèn)證碼ACC1進(jìn)行加密,從而得到服務(wù)器認(rèn)證碼SAC1的第一加密形式(ESAC1)。此外,還可以使用唯一客戶密鑰UCKA對SAC1進(jìn)行加密,從而得到SAC1的第二加密形式(ESAC2)。隨后,SAC1的第一加密形式ESAC1和SAC1的第二加密形式ESAC2可以與增強(qiáng)公鑰PuK1的內(nèi)容的其余部分組合,如圖5所示。組合過程可以采取多種形式,例如級聯(lián)(concatenation)。
繼續(xù)方法200,在220處,客戶賬戶憑證被添加到增強(qiáng)公鑰。例如,可以將用于創(chuàng)建客戶賬戶A的電子郵件地址(emailA)添加到增強(qiáng)公鑰PuK1,如圖6所示。在一些變型例中,可以對憑證進(jìn)行加密。
繼續(xù)方法200,在225處,使用唯一客戶碼UCKA對在205處生成的與公鑰PK1相對應(yīng)的私鑰PKR1進(jìn)行加密,以生成私鑰的加密形式(EPKR1)。隨后將私鑰的加密形式EPKR1添加到增強(qiáng)公鑰PuK1,如圖7所示。通過包含使用PKR1的加密版本,可以使得客戶賬戶不必在安全通信針對104上維持使用。
再參照圖2,可以將附加信息添加到增強(qiáng)公鑰PuK1。例如,可以將用于生成增強(qiáng)公鑰的公鑰發(fā)生器的版本號附接至增強(qiáng)公鑰PuK1。另選地,或者另外地,還可以附接增強(qiáng)公鑰PuK1的生成日期以及增強(qiáng)公鑰PuK1的失效日期。此外,在增強(qiáng)公鑰PuK1中還可以包括非對稱公鑰PK1的例如以比特為單位的大小SizeP,如圖8中所示,在該情況下為512比特。
繼續(xù)方法200,在235處,對增強(qiáng)公鑰進(jìn)行歸一化。歸一化使得能夠根據(jù)現(xiàn)有的非對稱公鑰標(biāo)準(zhǔn)來使用增強(qiáng)公鑰。為了執(zhí)行歸一化,將組合以形成增強(qiáng)公鑰PuK1的數(shù)據(jù)劃分為具有等于PuK1中的sizeP字段的比特長度的行,例如在該示例中為512比特。在該示例中,增強(qiáng)的公鑰被劃分為三行,R1、R2和R4。行R1包括非對稱公鑰的大小SizeP、與非對稱公鑰PK1相對應(yīng)的加密私鑰EPKR1以及客戶賬戶的電子郵件地址emailA。另一方面,行R2包括第二加密服務(wù)器認(rèn)證碼ESAC2、第一加密服務(wù)器認(rèn)證碼ESAC1、第二加密賬戶確認(rèn)碼EACC2和第一加密賬戶確認(rèn)碼EACC1。行R4包括非對稱公鑰PK1。行一被保留以用于下面將要討論的歸一化處理。應(yīng)當(dāng)主要的是,雖然在本例中,目前為主包含在PuK1中的信息正好形成了512比特的三行,但在變型例中,它們可以形成比兩行多或少。此外,在其他變型例中,至少存在一行小于512比特。在這種情況下,使用零將少于512比特的行填充到512比特。應(yīng)當(dāng)理解的是,包含在增強(qiáng)公鑰PuK1中的信息以及這些行并不重要,并且在不同的實(shí)施方式中,順序可能發(fā)生變化。
為了執(zhí)行歸一化,三行R1、R2和R4與調(diào)節(jié)行R3組合以形成矩陣900。行3包含調(diào)整值A(chǔ)djustP。調(diào)整值A(chǔ)djustP基于包含在增強(qiáng)公鑰PuK1中的信息來確定,包括非對稱公鑰PK1。例如,在該示例中,可以通過確定行R1和R2的異或(其結(jié)果是與行R4的異或)來計(jì)算調(diào)整值A(chǔ)djustP。隨后,將所確定的調(diào)整值A(chǔ)djustP添加到增強(qiáng)公鑰PuK1,如圖10所示。在一些變型例中,增強(qiáng)公鑰的散列值(hash)可以被生成并包含在提供附加錯(cuò)誤校驗(yàn)機(jī)制的增強(qiáng)公鑰中。
在后續(xù)使用增強(qiáng)公鑰PuK1時(shí),為了基于此對任何數(shù)據(jù)進(jìn)行加密,可以基于包含在增強(qiáng)公鑰PuK1中的調(diào)整值A(chǔ)djustP和信息的其余部分來確定非對稱公鑰PK1。例如,在該情況下,參照圖9,為了利用增強(qiáng)公鑰PuK1對數(shù)據(jù)進(jìn)行加密,可以根據(jù)增強(qiáng)公鑰PuK1再次構(gòu)建矩陣900,對行R1和R2進(jìn)行異或操作,其結(jié)果進(jìn)一步與調(diào)整值A(chǔ)djustP進(jìn)行異或操作以得到隨后用來對數(shù)據(jù)進(jìn)行加密的非對稱公鑰PK1。此外,為了解密利用從增強(qiáng)公鑰PuK1得到的非對稱公鑰PK1加密的數(shù)據(jù),只要增強(qiáng)公鑰PuK1與加密數(shù)據(jù)一起被傳送到客戶賬戶A,相應(yīng)的私鑰PKR1就不必存儲(chǔ)在客戶賬戶A處。這是因?yàn)樵鰪?qiáng)公鑰PuK1包括相應(yīng)的私鑰PKR1。
增強(qiáng)公鑰PuK1一旦在安全通信終端104生成,就被傳送到公鑰服務(wù)器112,使得其能夠被例如客戶賬戶B的其他客戶賬戶使用。現(xiàn)在參照圖11,在1100示出了公鑰添加方法。為了幫助解釋該方法,假設(shè)使用如圖1中所示的系統(tǒng)100操作該方法1100。此外,下面的對方法1100的討論可以進(jìn)一步理解系統(tǒng)100。然而,應(yīng)當(dāng)理解的是,系統(tǒng)100和方法1100是可以改變的,并且不一定需要彼此結(jié)合完全如此處所述地工作,并且這種變化處在保護(hù)范圍內(nèi)。
在1105處開始,客戶賬戶A通過安全通信終端104-2使用安全通信終端104-2的通信接口訪問公鑰服務(wù)器112,并請求與客戶賬戶A相關(guān)聯(lián)的當(dāng)前增強(qiáng)公鑰。在接收到先前與方法200相關(guān)聯(lián)生成并通過先前執(zhí)行方法1100而上傳到公鑰服務(wù)器112的當(dāng)前增強(qiáng)公鑰PuK2時(shí),從該當(dāng)前增強(qiáng)公鑰PuK2得到服務(wù)器認(rèn)證碼SAC2和賬戶確認(rèn)碼ACC2。具體來說,如圖12所示,第二加密服務(wù)器認(rèn)證碼ESAC22和第二加密賬戶確認(rèn)碼EAC22從增強(qiáng)公鑰PuK2中提取出來并解密以使用客戶賬戶A的唯一客戶密鑰UCKA分別獲得服務(wù)器認(rèn)證碼SAC2和賬戶確認(rèn)碼ACC2。本領(lǐng)域技術(shù)人員將理解的是,由于客戶賬戶A的唯一客戶密鑰UCKA不與任何其他客戶賬戶共享,因此僅客戶賬戶A能夠執(zhí)行該解密。
一旦從增強(qiáng)公鑰PuK2獲得了服務(wù)器認(rèn)證碼SAC2和賬戶確認(rèn)碼ACC2,就將他們存儲(chǔ)在安全通信終端104-1中,如圖13所示。繼續(xù)方法1100,在1120處,賬戶確認(rèn)碼ACC2與新的增強(qiáng)公鑰PuK1一起發(fā)送到公鑰服務(wù)器112,如圖14所示。在1125,公鑰分期112對客戶賬戶進(jìn)行驗(yàn)證。例如,如圖15所示,公鑰服務(wù)器112從當(dāng)前增強(qiáng)公鑰PuK2中提取包含第一加密賬戶確認(rèn)碼EACC2的信息,并使用接收的賬戶確認(rèn)碼ACC2對提取的信息進(jìn)行解密。本領(lǐng)域技術(shù)人員將會(huì)想到,由于所接收的賬戶確認(rèn)碼ACC2最初是使用賬戶確認(rèn)碼ACC2本身作為密鑰加密的,因此僅當(dāng)在1120提供對比密鑰的客戶賬戶與提供當(dāng)前增強(qiáng)公鑰的客戶賬戶相同時(shí),第一加密賬戶確認(rèn)碼EACC2的解密才會(huì)成功。因而,當(dāng)通過解密EACC2獲得的賬戶確認(rèn)碼與所接收的賬戶確認(rèn)碼ACC2相匹配時(shí),客戶賬戶被認(rèn)證并且新的公鑰被接受。因此,方法1100進(jìn)行到1130。另一方面,當(dāng)通過解密EACC1獲得的賬戶確認(rèn)碼與所接收的賬戶確認(rèn)碼ACC1不匹配時(shí),則方法1100進(jìn)行到1135,并拒絕新的增強(qiáng)公鑰PuK2。
繼續(xù)參照圖11,在1135,通過從提供給安全通信中的104-1的增強(qiáng)公鑰獲得服務(wù)器認(rèn)證碼,在公鑰服務(wù)器112處,安全通信中的104發(fā)起公鑰服務(wù)器112的認(rèn)證。具體來說,如圖16所示,公鑰服務(wù)器112通過從當(dāng)前增強(qiáng)公鑰PuK2提取出第一加密服務(wù)器認(rèn)證碼ESAC2并使用賬戶確認(rèn)碼ACC2對第一加密服務(wù)器認(rèn)證碼ESAC2進(jìn)行解密而獲得服務(wù)器認(rèn)證碼SAC2。
在1140,通過公鑰服務(wù)器112的通信接口將從當(dāng)前增強(qiáng)公鑰PuK2提取的服務(wù)器認(rèn)證碼SAC2發(fā)送到安全通信終端104-1,如圖17所示。在1145,基于所接收的服務(wù)器認(rèn)證碼對公鑰服務(wù)器112的真實(shí)性進(jìn)行驗(yàn)證。具體來說,將所接收的服務(wù)器認(rèn)證碼SAC2與在1110獲得的服務(wù)器認(rèn)證碼SAC2進(jìn)行比較。當(dāng)比較的碼匹配時(shí),服務(wù)器的真實(shí)性被認(rèn)證,并且不采取進(jìn)一步的行動(dòng)。另一方面,當(dāng)比較的碼不匹配時(shí),則確定公鑰服務(wù)器112不是可信的,并在1150生成警告。在變型例中,可以在該點(diǎn)而非在1110處從當(dāng)前增強(qiáng)公鑰PuK2獲得服務(wù)器認(rèn)證碼SAC2。
在變型例中,公鑰添加方法可以根據(jù)需要重復(fù)多次,并且添加到公鑰服務(wù)器112的多個(gè)增強(qiáng)公鑰可以緩存在服務(wù)器112。緩存器的大小可以是不同的。此外,公鑰服務(wù)器112在刪除增強(qiáng)公鑰或使其對公開提供不可用之前,可以提供每個(gè)增強(qiáng)公鑰一次,或者有限次數(shù)。在一些變型例中,增強(qiáng)公鑰如果在經(jīng)過預(yù)定時(shí)段未使用則過期。過期日期或時(shí)段可以包含在每個(gè)增強(qiáng)公鑰中,或者可以確定為公鑰服務(wù)器的策略。在其他變型例中,例如,公鑰服務(wù)器112僅維持一個(gè)增強(qiáng)公鑰的情況下,可以使用方法1100來改變增強(qiáng)公鑰而不是向其添加。
一旦通過公鑰服務(wù)器112生成了用于客戶賬戶的增強(qiáng)公鑰并使其可用,則客戶賬戶可以參與與其他客戶賬戶的安全通信。例如,可以從安全通信終端104發(fā)出和接收安全通信。在一些變型例中,通信可以是發(fā)送和接收消息的形式。消息可以包括多個(gè)不同的組成。圖18示出了包括多種組成的非限制性示例性消息的示例??蛻糍~戶B在安全通信終端104-2處將消息(消息MSG1)的成分組合在一起。
圖18的示例性消息MSG1包含ESSKID1,即作為共享對稱密鑰SSKA1的標(biāo)識符的對稱共享密鑰標(biāo)識符SSKIDA1的加密形式。對稱共享密鑰標(biāo)識符SSKIDA1與共享對稱密鑰SSKA1是由與客戶賬戶A相關(guān)聯(lián)的安全通信終端104先前生成作為密鑰對,對稱共享密鑰標(biāo)識符SSKIDA1是使用客戶賬戶A的唯一客戶密鑰UCKA加密。可以基于任何期望的對稱密鑰生成方法來生成對稱共享密鑰。隨后,按照以下結(jié)合方法2500描述的方式,作為對稱共享密鑰標(biāo)識符SSKIDA2和共享對稱密鑰SSKA2的加密形式,密鑰對(SSKA1和ESSKIDA1)發(fā)送到客戶賬戶B作為發(fā)送到客戶賬戶B的先前消息的一部分。通過向客戶賬戶B提供密鑰對,客戶賬戶A使得客戶賬戶B能夠使用所提供的密鑰對隨后加密到達(dá)客戶賬戶A的消息。因而,在圖18的示例性消息MSG1中,已接收到密鑰對的安全通信終端104-2使用共享對稱密鑰SSKA1對消息MSG1的一部分進(jìn)行加密,并包括所加密的對稱共享密鑰標(biāo)識符ESSKIDA1以驗(yàn)證確實(shí)是用來對消息MSG1的一部分進(jìn)行加密的共享對稱密鑰SSKA1。應(yīng)當(dāng)注意的是,密鑰對SSKIDA1和SSKA1不一定在安全通信終端104-1處生成,因此可以在與客戶賬戶相關(guān)聯(lián)的任何安全通信終端104處生成。進(jìn)一步應(yīng)當(dāng)注意的是,由于對稱共享密鑰標(biāo)識符SSKIDA1是使用唯一客戶密鑰UCKA加密的,因此僅客戶賬戶A能夠訪問其未加密形式,因此使得消息MSG1的任何第三方攔截者都不能訪問共享對稱密鑰SSKA1。此外,由于僅客戶賬戶A具有解密所加密的對稱共享密鑰標(biāo)識符ESSKIDA1的能力,進(jìn)一步地,由于共享對稱密鑰SSKA1未包含在利用共享對稱密鑰SSKA1加密的消息MSG1中,因此僅能夠使用密鑰對ESSKIDA1和SSKIDA1對發(fā)送到客戶賬戶A的消息(例如消息MSG1)進(jìn)行加密。
圖18的示例性消息MSG1進(jìn)一步包括密鑰對ESSKB2和ESSKIDB2,其是共享對稱密鑰SSKB1和共享對稱密鑰SSKB1的對稱共享密鑰標(biāo)識符SSKIDB1的加密形式。該密鑰對由安全通信終端104-2生成并被客戶賬戶A用來對在接收到消息MSG1后將要從客戶賬戶A發(fā)送到客戶賬戶B的消息的至少一部分進(jìn)行加密。安全通信終端104-2通過使用客戶賬戶A的對稱密鑰SSKA1和公鑰PuK1對共享對稱密鑰SSKB1進(jìn)行加密而生成加密共享對稱密鑰ESSKB1。安全通信終端104-2使用客戶賬戶B的唯一客戶密鑰UCKB來加密對稱共享密鑰標(biāo)識符SSKIDB1,以生成加密的對稱共享密鑰標(biāo)識符ESSKIDB1。在變型例中,可以進(jìn)一步利用公鑰PuKA1和共享對稱密鑰SSKIDA1密鑰來對加密的對稱共享密鑰標(biāo)識符ESSKIDB1進(jìn)行加密。
圖18的示例性消息MSG1附加地包括加密的消息密鑰EMK1。安全通信終端104-2使用消息密鑰MK1對消息數(shù)據(jù)(例如消息內(nèi)容)進(jìn)行加密以生成加密數(shù)據(jù)EData。安全通信終端104-2使用客戶賬戶A的共享對稱密鑰SSKA1和公鑰PuKA1對消息密鑰MK1進(jìn)行加密。
圖18的示例性消息MSG1還包括客戶賬戶A的加密公鑰EPuKA1。在該示例中,客戶賬戶B從公鑰服務(wù)器112獲得如上所述客戶賬戶A在安全通信終端104處生成的增強(qiáng)公鑰PuKA1。增強(qiáng)公鑰PuKA1用來對消息MSG1的多個(gè)部分進(jìn)行加密,如上所述。使用共享對稱密鑰SSKA1對增強(qiáng)公鑰PuKA1進(jìn)行加密。在變型例中,針對要發(fā)送到客戶賬戶A的每個(gè)消息或每組消息獲得不同的增強(qiáng)公鑰(對該消息是唯一的)。在這種變型例中,公鑰服務(wù)器112可以刪除或者將所提供的公鑰PuKA1標(biāo)記成不可用,從而防止將相同的公鑰提供多次。在進(jìn)一步的變型例中,可以完全不使用公鑰對消息進(jìn)行加密,而是依賴于共享對稱密鑰、唯一客戶密鑰和消息密鑰。在其他另選方式中,所使用的公鑰可以不是增強(qiáng)的(例如對于每個(gè)消息或每組消息是變化的),而可以對于目的地為客戶賬戶的所有消息使用相同的公鑰,直到該公鑰過期。在這種變型例中,公鑰可以不包含在消息MSG1中。
參照圖19,在1900處總體指示了接收安全通信的方法。為了輔助解釋該方法,假設(shè)使用如圖1中所示的系統(tǒng)100操作該方法1900。此外,下面的對方法1900的討論可以進(jìn)一步理解系統(tǒng)100。然而,應(yīng)當(dāng)理解的是,系統(tǒng)100和方法1800是可以改變的,并且不一定需要彼此結(jié)合完全如此處所述地工作,并且這種變化處在保護(hù)范圍內(nèi)。
開始于1905,如圖20所示,在與客戶賬戶A相關(guān)聯(lián)的終端104-1處從客戶賬戶B接收消息MSG1。一旦接收到消息,就進(jìn)行解密。因而,在1910,使用對于客戶賬戶A而言唯一的客戶密鑰UCKA對加密的對稱共享密鑰標(biāo)識符ESSKIDA1進(jìn)行解密,如圖21所示。在1915,使用對稱共享密鑰標(biāo)識符SSKIDA1對用于加密消息MSG1的共享對稱密鑰SSKA1進(jìn)行驗(yàn)證。應(yīng)當(dāng)理解的是,可以用多種方式對SSKIDA1進(jìn)行驗(yàn)證。例如,先前生成的所有密鑰對可以存儲(chǔ)在表中,基于針對相應(yīng)標(biāo)識符的查找而獲得的特定對稱共享密鑰。另選地,可以基于該標(biāo)識符而生成特定的對稱共享密鑰。本領(lǐng)域技術(shù)人員容易想到和設(shè)想其他方法。
再參照圖19,在1920處繼續(xù)方法1900,對包含在所接收的消息中的公鑰進(jìn)行解密。具體來說,如圖22所示,使用共享對稱密鑰SSKA1對加密的公鑰EPuKA1進(jìn)行解密以獲得公鑰PuKA1。在1925處,基于相應(yīng)的公鑰PuKA1識別出私鑰PKRA1。在一些變型例中,私鑰可以存儲(chǔ)在與客戶賬戶A相關(guān)聯(lián)的安全通信終端114中。在變型例中,所接收的公鑰可以是如上所述增強(qiáng)的公鑰,而私鑰PKRA1可以實(shí)際存儲(chǔ)在所接收的增強(qiáng)公鑰中。
繼續(xù)參照圖19,在1930處,對包含在所接收的消息中的附加密鑰進(jìn)行解密。在該示例中,如圖23所示,使用客戶賬戶A的共享對稱密鑰SSKA1和公鑰PuKA1對共享對稱密鑰SSKB1和消息密鑰EMK1的加密形式進(jìn)行解密。加密的對稱共享密鑰標(biāo)識符SSKIDB1是由客戶B使用客戶B的唯一客戶密鑰UCKB加密,因此在不進(jìn)行解密的情況下從消息MSG1中提取出來。該密鑰對是由客戶賬戶B在安全通信終端104-2如上所述地生成,并被客戶賬戶A用來加密在未來時(shí)間點(diǎn)將從客戶賬戶A發(fā)送到客戶賬戶B的消息的至少一部分。
再參照圖19,在1935,對所接收的消息的加密數(shù)據(jù)部分進(jìn)行解密。在該示例中,如圖24所示,使用對于消息MSG1而言唯一的先前解密的消息密鑰MK1對加密數(shù)據(jù)EData進(jìn)行解密,因?yàn)槠鋬H被用來對消息MSG1的數(shù)據(jù)(Data)進(jìn)行加密。
參照圖25,在2500總體指示了發(fā)送安全通信的方法。為了輔助解釋該方法,假設(shè)使用如圖1中所示的系統(tǒng)100操作該方法2500。此外,下面的對方法2500的討論可以進(jìn)一步理解系統(tǒng)100。然而,應(yīng)當(dāng)理解的是,系統(tǒng)100和方法2500是可以改變的,并且不一定需要彼此結(jié)合完全如此處所述地工作,并且這種變化處在保護(hù)范圍內(nèi)。
在方法2500的開始,作為執(zhí)行方法1800以接收消息MSG1形式安全通信的結(jié)果,安全通信終端104-1維持若干個(gè)加密和未加密密鑰,在圖26中示出了其相關(guān)部分。為了準(zhǔn)備要發(fā)送到賬戶B的新的安全消息MSG2,在2505生成對于消息MSG2而言唯一的新消息密鑰MK2。在變型例中,該密鑰可以用于多個(gè)消息??梢曰诶珉S機(jī)數(shù)發(fā)生器使用已有方法生成該消息密鑰。要作為通信的一部分發(fā)送的數(shù)據(jù)(Data)被獲得并使用消息密鑰MK2加密,并被置于消息MSG2中作為Edata2,如圖26所示。
繼續(xù)方法2500,在2510,通信終端104-1請求并接收與客戶賬戶B相關(guān)聯(lián)的新公鑰PuKB1,并使用先前接收的客戶賬戶B的共享對稱密鑰SSKB1對其進(jìn)行加密,如圖27所示,將加密的公鑰EPuKB1添加到消息MSG2中。
在2515,安全通信終端104-2生成要由客戶賬戶B使用的下一個(gè)密鑰對,用于對要發(fā)送到客戶賬戶A的后續(xù)消息的至少一部分進(jìn)行加密。該密鑰對包括與相應(yīng)的共享對稱密鑰SSKA2一起的對稱共享標(biāo)識符SSKIDA2。在2520,使用唯一客戶密鑰UCKA加密對稱共享密鑰標(biāo)識符SSKIDA2以生成ESSKIDA2,其被進(jìn)一步包含在消息MSG2中,如圖28所示。
再參照圖25,在2525,使用共享對稱密鑰SSKB1和公鑰PuKB1對共享對稱密鑰SSKA2和消息密鑰MK2加密并添加到消息MSG2中,如圖29所示。在2530,還將先前加密的ESSKIDB1添加到消息MSG2,以指示用于對消息MSG2的部分進(jìn)行加密的共享對稱密鑰。在2535,消息MSG2被發(fā)送到安全通信終端104-2。
在一些變型例中,在執(zhí)行任意上述方法之前,創(chuàng)建客戶賬戶。因而,當(dāng)創(chuàng)建客戶賬戶時(shí),安全通信終端104獲得與該客戶賬戶相關(guān)聯(lián)的用戶憑證,基于此生成新創(chuàng)建賬戶的唯一客戶密鑰。例如,可以基于密碼而生成唯一客戶密鑰。此外,當(dāng)新創(chuàng)建的賬戶試圖將第一增強(qiáng)公鑰上傳到公鑰服務(wù)器112時(shí),公鑰服務(wù)器112可以通過將確認(rèn)請求發(fā)送到可以包含在增強(qiáng)公鑰中的賬戶憑證而請求賬戶的確認(rèn)。當(dāng)接收到該請求的答復(fù)時(shí),滿足確認(rèn)。
上述實(shí)施方式僅作為示例,并且在不脫離主要由所附權(quán)利要求限定的范圍的情況下,本領(lǐng)域技術(shù)人員可以左側(cè)另選和修改。例如,所討論的方法和系統(tǒng)可以全部或部分地改變或組合。
權(quán)利要求書(按照條約第19條的修改)
1.一種用于確保系統(tǒng)通信安全而由安全通信終端提供新的增強(qiáng)公鑰的方法,該安全通信終端具有可操作地連接至存儲(chǔ)器和通信接口的處理器,該方法包括以下步驟:
由所述處理器生成用于對客戶賬戶進(jìn)行驗(yàn)證的第一部分;
由所述處理器生成用于對公鑰服務(wù)器進(jìn)行認(rèn)證的第二部分;
由所述處理器生成非對稱公鑰和相應(yīng)的非對稱私鑰;
由所述處理器將所述第一部分、所述第二部分和所述非對稱公鑰組合以形成新的增強(qiáng)公鑰;
由所述處理器基于所述非對稱公鑰的大小對所述新的增強(qiáng)公鑰進(jìn)行歸一化。
2.根據(jù)權(quán)利要求1所述的方法,其中
生成所述第一部分的步驟進(jìn)一步包括:
由所述處理器基于隨機(jī)數(shù)發(fā)生器生成賬戶確認(rèn)碼;
由所述處理器基于由該處理器使用所述賬戶確認(rèn)碼對該賬戶確認(rèn)碼的加密而生成第一加密賬戶確認(rèn)碼;以及
由所述處理器基于由該處理器使用唯一客戶密鑰對所述賬戶確認(rèn)碼的加密而生成第二加密賬戶確認(rèn)碼;并且其中
將所述第一部分組合的步驟進(jìn)一步包括:
由所述處理器將所述第一加密賬戶確認(rèn)碼和所述第二加密賬戶確認(rèn)碼組合。
3.根據(jù)權(quán)利要求1至2中任一項(xiàng)所述的方法,其中
生成所述第二部分的步驟進(jìn)一步包括:
由所述處理器基于隨機(jī)數(shù)發(fā)生器生成服務(wù)器認(rèn)證碼;
由所述處理器基于由該處理器使用所述賬戶確認(rèn)碼對所述服務(wù)器認(rèn)證碼的加密而生成第一加密服務(wù)器認(rèn)證碼;以及
由所述處理器基于由該處理器使用唯一客戶密鑰對所述服務(wù)器認(rèn)證碼的加密而生成第二加密服務(wù)器認(rèn)證碼;并且其中
將所述第二部分組合的步驟進(jìn)一步包括:
由所述處理器將所述第一加密服務(wù)器認(rèn)證碼和所述第二服務(wù)器認(rèn)證碼組合。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,所述方法進(jìn)一步包括:
由所述處理器將與客戶賬戶相關(guān)聯(lián)的賬戶憑證添加到所述新的增強(qiáng)公鑰。
5.根據(jù)權(quán)利要求4所述的方法,所述方法進(jìn)一步包括:
在所述存儲(chǔ)器中維持與所述賬戶憑證相關(guān)聯(lián)的唯一客戶密鑰;
由所述處理器通過使用所述唯一客戶密鑰對所述非對稱私鑰進(jìn)行加密而生成加密非對稱私鑰;
由所述處理器將所述加密非對稱私鑰添加到所述新的增強(qiáng)公鑰。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其中,所述非對稱公鑰具有密鑰大小的大小,并且其中,歸一化的步驟進(jìn)一步包括:
由所述處理器將所述新的增強(qiáng)公鑰劃分為具有等于所述密鑰大小的長度的多個(gè)行,所述多個(gè)行中的一行包括所述非對稱公鑰;
由所述處理器基于所述多個(gè)行確定調(diào)整行,該調(diào)整行具有等于所述密鑰大小的大??;并且
由所述處理器將所述調(diào)整行添加到所述新的增強(qiáng)公鑰。
7.根據(jù)權(quán)利要求6所述的方法,所述方法進(jìn)一步包括:
通過所述通信接口從公鑰服務(wù)器接收當(dāng)前增強(qiáng)公鑰;
由所述處理器從所述當(dāng)前增強(qiáng)公鑰中提取所述當(dāng)前增強(qiáng)公鑰的用于對所述客戶賬戶進(jìn)行驗(yàn)證的第一部分并使用所述唯一客戶密鑰對所述第一部分進(jìn)行解密;以及
通過所述通信接口將所述當(dāng)前增強(qiáng)公鑰的用于對所述客戶賬戶進(jìn)行驗(yàn)證的經(jīng)解密的所述第一部分連同所述新的增強(qiáng)公鑰一起發(fā)送到所述公鑰服務(wù)器。
8.根據(jù)權(quán)利要求7所述的方法,所述方法進(jìn)一步包括:
通過所述通信接口從所述公鑰服務(wù)器接收用于對所述公鑰服務(wù)器進(jìn)行認(rèn)證的碼;
從所述當(dāng)前增強(qiáng)公鑰中提取所述當(dāng)前增強(qiáng)公鑰的用于對所述公鑰服務(wù)器進(jìn)行認(rèn)證的第二部分并使用所述唯一客戶密鑰對所述第二部分進(jìn)行解密;以及
當(dāng)用于對公鑰服務(wù)器進(jìn)行認(rèn)證的碼與所述當(dāng)前增強(qiáng)公鑰的用于對公鑰服務(wù)器進(jìn)行認(rèn)證的經(jīng)解密的部分不匹配時(shí),確定所述公鑰服務(wù)器是不可信的。
9.一種用于確保系統(tǒng)通信安全而由公鑰服務(wù)器接收增強(qiáng)公鑰的方法,該公鑰服務(wù)器具有可操作地連接至存儲(chǔ)器和通信接口的處理器,該方法包括以下步驟:
在存儲(chǔ)器中維持當(dāng)前增強(qiáng)公鑰;
通過所述通信接口將與客戶賬戶相關(guān)聯(lián)的該當(dāng)前增強(qiáng)公鑰發(fā)送到所述客戶賬戶;
通過所述通信接口和與所述客戶賬戶相關(guān)聯(lián)的新的增強(qiáng)公鑰一起接收所述當(dāng)前增強(qiáng)公鑰的用于對所述客戶賬戶進(jìn)行驗(yàn)證的經(jīng)解密的第一部分;
由所述處理器從所述當(dāng)前增強(qiáng)公鑰中提取所述當(dāng)前增強(qiáng)公鑰的用于對所述客戶賬戶進(jìn)行驗(yàn)證的第二部分并使用所接收的所述當(dāng)前增強(qiáng)公鑰的用于對所述客戶賬戶進(jìn)行驗(yàn)證的經(jīng)解密的第一部分對所述第二部分進(jìn)行解密;以及
當(dāng)所接收的所述當(dāng)前增強(qiáng)公鑰的用于對客戶賬戶進(jìn)行驗(yàn)證的經(jīng)解密的第一部分與所述當(dāng)前增強(qiáng)公鑰的用于對客戶賬戶進(jìn)行驗(yàn)證的經(jīng)解密的第二部分相匹配時(shí),在所述存儲(chǔ)器中緩存所述新的增強(qiáng)公鑰。
10.根據(jù)權(quán)利要求9所述的方法,所述方法進(jìn)一步包括:
由所述處理器從所述當(dāng)前增強(qiáng)公鑰中提取所述當(dāng)前增強(qiáng)公鑰的用于對所述公鑰服務(wù)器進(jìn)行認(rèn)證的第三部分并使用所接收的所述當(dāng)前增強(qiáng)公鑰的用于對所述客戶賬戶進(jìn)行驗(yàn)證的經(jīng)解密的第一部分對所述第三部分進(jìn)行解密;以及
通過所述通信接口發(fā)送所述當(dāng)前增強(qiáng)公鑰的用于對所述公鑰服務(wù)器進(jìn)行認(rèn)證的經(jīng)解密的第三部分。
11.根據(jù)權(quán)利要求9至10中任一項(xiàng)所述的方法,所述方法進(jìn)一步包括:
通過所述通信接口從第二客戶賬戶接收針對與所述客戶賬戶相關(guān)聯(lián)的一個(gè)增強(qiáng)公鑰的請求;以及
響應(yīng)于所述請求通過所述通信接口提供所述新的增強(qiáng)公鑰;以及
使得所述新的增強(qiáng)公鑰不可用于公共提供。
12.一種在具有處理器和可操作地連接到該處理器的存儲(chǔ)器的第一安全通信終端接收安全通信的方法,該方法包括以下步驟:
維持與第一客戶賬戶的關(guān)聯(lián);
從第二安全通信終端從第二客戶賬戶接收消息,所述消息的至少一部分經(jīng)共享對稱密鑰加密;
從所述消息中提取密鑰標(biāo)識符;
基于包含在所述消息中的所述密鑰標(biāo)識符獲得所述共享對稱密鑰,所述共享對稱密鑰和所述密鑰標(biāo)識符先前由所述第一客戶賬戶生成并被包含作為發(fā)送到所述第二客戶賬戶的先前消息的一部分;
使用所述共享對稱密鑰對所述消息的第一部分進(jìn)行解密以獲得消息密鑰;以及
使用所述消息密鑰對所述消息的至少一部分進(jìn)行解密。
13.根據(jù)權(quán)利要求12所述的方法,其中,對所述消息的所述第一部分進(jìn)行解密的步驟進(jìn)一步包括:
使用所述第一客戶賬戶的私鑰對所述消息的所述第一部分進(jìn)行解密。
14.根據(jù)權(quán)利要求13所述的方法,所述方法進(jìn)一步包括:
從所述消息中提取加密增強(qiáng)公鑰;
使用共享對稱密鑰對所述加密增強(qiáng)公鑰進(jìn)行解密以獲得增強(qiáng)公鑰;以及
基于所述增強(qiáng)公鑰獲得所述私鑰。
15.根據(jù)權(quán)利要求14所述的方法,其中,獲得所述私鑰的步驟進(jìn)一步包括:
從所述增強(qiáng)公鑰中提取所述私鑰。
16.根據(jù)權(quán)利要求14至15中任一項(xiàng)所述的方法,其中,所述增強(qiáng)公鑰對于所述消息是唯一的。
17.根據(jù)權(quán)利要求12至16中任一項(xiàng)所述的方法,所述方法進(jìn)一步包括:
在所述存儲(chǔ)器中維持針對所述第一客戶賬戶的唯一客戶密鑰;以及
使用所述唯一客戶密鑰對所述密鑰標(biāo)識符進(jìn)行解密。
18.根據(jù)權(quán)利要求12至17中任一項(xiàng)所述的方法,其中,所述消息密鑰對于所述消息是唯一的。
19.根據(jù)權(quán)利要求12至18中任一項(xiàng)所述的方法,其中,所述消息進(jìn)一步包括加密密鑰對,該加密密鑰對包括第二客戶賬戶共享密鑰和相應(yīng)的第二客戶賬戶密鑰標(biāo)識符,所述加密密鑰對由所述第二客戶賬戶生成以用于由所述第一客戶賬戶來加密要發(fā)送到所述第二客戶賬戶的后續(xù)消息。
20.一種在具有處理器和可操作地連接到該處理器的存儲(chǔ)器的第一安全通信終端發(fā)送安全通信的方法,該方法包括以下步驟:
維持與第一客戶賬戶的關(guān)聯(lián);
從第二客戶賬戶接收先前消息;
從所述先前消息中提取先前由所述第二客戶賬戶生成的先前共享密鑰和先前共享密鑰標(biāo)識符;
生成消息密鑰并使用所述消息密鑰對消息內(nèi)容進(jìn)行加密;
使用所述先前共享密鑰對所述消息密鑰進(jìn)行加密;
將經(jīng)加密的消息密鑰、經(jīng)加密的消息內(nèi)容和所述先前共享密鑰標(biāo)識符組合以形成新消息;以及
將所述新消息發(fā)送到與所述第二客戶賬戶相關(guān)聯(lián)的第二安全通信終端。
21.根據(jù)權(quán)利要求20所述的方法,所述方法進(jìn)一步包括:
除了使用所述先前共享密鑰對所述消息密鑰加密外,還使用所述第二客戶賬戶的公鑰對所述消息密鑰進(jìn)行加密。
22.根據(jù)權(quán)利要求21所述的方法,其中,所述公鑰是增強(qiáng)公鑰,所述方法進(jìn)一步包括:
從公鑰服務(wù)器接收所述增強(qiáng)公鑰;
使用所述先前共享密鑰加密所接收的增強(qiáng)公鑰;以及
將經(jīng)加密的增強(qiáng)公鑰服務(wù)器添加到所述新消息。
23.根據(jù)權(quán)利要求22所述的方法,其中,所接收的增強(qiáng)公鑰對于所述新消息是唯一的。
24.根據(jù)權(quán)利要求20至23中任一項(xiàng)所述的方法,其中,所述消息密鑰對于所述新消息是唯一的。
25.根據(jù)權(quán)利要求20至24中任一項(xiàng)所述的方法,所述方法進(jìn)一步包括:
生成包含下一共享密鑰和相應(yīng)的下一密鑰標(biāo)識符的加密密鑰對,該加密密鑰對用于對要由所述第二客戶賬戶發(fā)送到所述第一客戶賬戶的后續(xù)消息進(jìn)行加密;以及
將所述加密密鑰對添加到所述新消息。
26.根據(jù)權(quán)利要求25所述的方法,所述方法進(jìn)一步包括:
在所述存儲(chǔ)器中維持所述第一客戶賬戶的唯一客戶密鑰;以及
使用所述唯一客戶密鑰對所述下一密鑰標(biāo)識符進(jìn)行加密。
27.一種被構(gòu)造成執(zhí)行根據(jù)權(quán)利要求1至8和13至26中任一項(xiàng)所述的方法的安全通信設(shè)備。
28.一種被構(gòu)造成執(zhí)行權(quán)利要求9至11中任一項(xiàng)所述的方法的公鑰服務(wù)器。