由至少一個服務器執行的用于處理從第一計算裝置到第二計算裝置的數據分組以允許端 ...的制作方法
【專利說明】
[0001]技術領域和
【背景技術】
[0002]本發明涉及一種由至少一個服務器執行的用于處理從第一計算裝置到第二計算裝置的數據分組以允許端到端加密通信的方法以及相應的系統。
[0003]目前,例如在通信網絡中在兩個計算裝置(發送方與接收方)之間布置有服務器的情況下,特定消息解決方案執行兩種不同的加密-解密方法。發送方使用隨機生成的對稱密鑰將消息加密。隨后,發送方使用服務器的公鑰(public key)將該對稱密鑰加密,并且之后將包括加密的消息和對稱密鑰的數據分組發送給服務器。服務器使用其自身的私鑰(private key)將加密的對稱密鑰解密,之后服務器采用接收方的公鑰將對稱密鑰重新加密,并且將重新格式化的數據分組轉發給接收方。然而,將理解的是,由于服務器具有對稱密鑰,所以服務器隨后能夠訪問加密的消息。一旦接收到數據分組,接收方就以其自身的私鑰將加密的對稱密鑰解密以取得用于將加密的消息解密的對稱密鑰。針對該情況,服務器具有對稱密鑰的副本并且能夠為審查的目的或解密的消息的歸檔而將加密的消息解密。然而,因為服務器能夠訪問消息的內容,這并不被認為是真正的端到端加密通信。
[0004]對于其他常規實施,服務器可以被配置為重新生成新的對稱密鑰并使用新的對稱密鑰將消息重新加密,并且使用接收方的公鑰來加密新的對稱密鑰。然而在該情況下,服務器仍然能夠訪問加密的消息,并且也因此無法實現真正的端到端加密通信。
[0005]因此,本發明的一個目的是解決現有技術的至少一個問題和/或提供在本技術中有用的選擇。
【發明內容】
[0006]根據本發明的第一方面,提供了一種由至少一個服務器執行的用于處理要從第一計算裝置向第二計算裝置發送的數據分組的方法,其中,所述數據分組包括使用用于形成加密的消息的第一加密密鑰加密的消息、使用用于形成加密的標識數據的第二加密密鑰加密的所述第二計算裝置的標識數據、以及加密的第一加密密鑰和加密的第二加密密鑰。該方法包括:解密所述加密的第二加密密鑰;使用解密的第二加密密鑰來解密所述加密的標識數據;以及基于解密的標識數據來發送所述數據分組。所述加密的消息和所述加密的第一加密密鑰被布置為不能由所述服務器解密,以允許所述第一計算裝置與所述第二計算裝置之間的端到端加密通信。
[0007]該方法有利地使能實現允許發送方通過利用中間服務器轉發加密的消息以執行對數據分組的重新路由來向接收方發送加密的消息的多密鑰加密方案,然而卻不會使服務器具有解密所加密的消息的能力。這有益地確保在發送方與接收方之間實現真正的端到端加密。
[0008]優選地,解密所述加密的第二加密密鑰的步驟可以包括使用所述服務器的私鑰來執行所述解密。另外,發送所述數據分組的步驟可以包括經由SMS、MMS、即時消息傳送、電子郵件、附件或電子文檔投遞服務來發送。所述消息可以包括文本、圖像、動畫、視頻或音頻。將理解的是,可以使用所述第二計算裝置的公鑰來加密所述第一加密密鑰,或者另選地,可以使用所述服務器的公鑰來加密所述第一加密密鑰。更優選地,可以使用所述服務器的公鑰來加密所述第二加密密鑰。還優選地,所述數據分組還可以包括初始化矢量和基于所述加密的消息生成的數字簽名。
[0009]根據本發明的第二方面,提供了一種由第一計算裝置執行的用于處理要經由至少一個服務器發送至第二計算裝置的信息以允許所述第一計算裝置與所述第二計算裝置之間的端到端加密通信的方法。該方法包括:使用第一加密密鑰和第二加密密鑰分別對消息和所述第二計算裝置的標識數據進行加密;加密所述第一加密密鑰和所述第二加密密鑰;以及集總地發送加密的消息、標識數據、第一加密密鑰和第二加密密鑰作為數據分組。
[0010]優選地,所述消息可以包括文本、圖像、動畫、視頻或音頻。此外,發送所述數據分組的步驟可以包括經由SMS、MMS、即時消息傳送、電子郵件、附件或電子文檔投遞服務來發送。更優選地,加密所述第一加密密鑰的步驟可以包括使用所述第二計算裝置的加密密鑰或所述服務器的加密密鑰來加密。另外,所述第二計算裝置的所述加密密鑰可以包括其公鑰,并且所述服務器的所述加密密鑰可以包括其公鑰。加密所述第二加密密鑰的步驟可以包括使用所述服務器的加密密鑰來加密。所述服務器的所述加密密鑰可以包括其公鑰。
[0011]優選地,該方法還可以包括顯示使所述第一計算裝置的用戶能夠從多個消息中選擇所述消息并且從能夠接收所述數據分組的多個計算裝置中選擇所述第二計算裝置的界面。所述數據分組還可以包括初始化矢量以及基于所述加密的消息生成的數字簽名。
[0012]根據本發明的第三方面,提供了一種由第一計算裝置執行的用于處理從第二計算裝置經由至少一個服務器轉發的數據分組以允許所述第一計算裝置與所述第二計算裝置之間的端到端加密通信的方法,其中,所述數據分組包括使用用于形成加密消息的第一加密密鑰加密的消息、使用用于形成加密的標識數據的第二加密密鑰加密的所述第一計算裝置的標識數據、以及加密的第一加密密鑰和加密的第二加密密鑰。該方法包括:將加密的第一加密密鑰解密;以及使用解密的第一加密密鑰來解密所述加密的消息以獲得所述消息。
[0013]優選地,解密所述加密的第一加密密鑰的步驟可以包括使用所述第一計算裝置的私鑰來執行所述解密。
[0014]根據本發明的第四方面,提供了一種用于經由至少一個服務器在第一計算裝置與第二計算裝置之間交換數據分組以允許所述第一計算裝置與所述第二計算裝置之間的端到端加密通信的系統。該系統包括所述第一計算裝置和所述第二計算裝置以及所述服務器。所述第一計算裝置包括:加密模塊,該加密模塊用于:使用第一加密密鑰和第二加密密鑰分別將消息和所述第二計算裝置的標識數據加密;以及將所述第一加密密鑰和所述第二加密密鑰加密;以及發送模塊,該發送模塊用于將加密的消息、標識數據、第一加密密鑰和第二加密密鑰作為所述數據分組集總地發送給所述服務器。所述服務器被配置為處理從所述第一計算裝置接收到的所述數據分組,并且包括:解密模塊,該解密模塊用于:將所述數據分組的所述加密的第二加密密鑰解密;以及使用解密的第二加密密鑰將所述數據分組的所述加密的標識數據解密;以及發送模塊,該發送模塊用于基于解密的標識數據將所述數據分組發送給所述第二計算裝置,其中,所述加密的消息和第一加密密鑰被布置為不能由所述服務器解密。所述第二計算裝置被配置為處理從所述服務器接收到的所述數據分組,并且包括:解密模塊,該解密模塊用于:將所述數據分組的所述加密的第一加密密鑰解密;以及使用解密的第一加密密鑰將所述數據分組的所述加密的消息解密以獲得所述消息。
[0015]優選地,所述服務器的所述解密模塊可以包括被配置為使用所述服務器的私鑰來解密所述加密的第二加密密鑰。另一方面,所述服務器的所述發送模塊可以被配置為使用SMS,MMS,即時消息傳送、電子郵件、附件或電子文檔投遞服務來發送所述數據分組。所述消息可以包括文本、圖像、動畫、視頻或音頻。由所述第一計算裝置的所述加密模塊使用以加密所述第一加密密鑰的所述第二計算裝置的所述加密密鑰可以優選地包括所述第二計算裝置的公鑰。
[0016]優選地,所述第一計算裝置的所述加密模塊還可以被配置為使用所述第二計算裝置的加密密鑰或所述服務器的加密密鑰來加密所述第一加密密鑰。另外,所述第一計算裝置的所述加密模塊還可以被配置為使用所述服務器的加密密鑰來加密所述第二加密密鑰。
[0017]優選地,由所述第一計算裝置的所述加密模塊使用以加密所述第二加密密鑰的所述服務器的所述加密密鑰可以包括所述服務器的公鑰。所述數據分組還可以包括初始化矢量和基于所述加密的消息生成的數字簽名。
[0018]根據本發明的第五方面,提供了一種加密裝置,該加密裝置用于處理要經由至少一個服務器發送至計算裝置的信息以允許所述加密裝置與所述計算裝置之間的端到端加密通信。所述加密裝置包括:加密模塊,該加密模塊用于:分別使用第一加密密鑰和第二加密密鑰來對消息和所述計算裝置的標識數據進行加密;以及對所述第一加密密鑰和所述第二加密密鑰進行加密;以及發送模塊,該發送模塊用于集總地發送加密的消息、標識數據、第一加密密鑰和的第二加密密鑰作為數據分組。
[0019]根據本發明的第六方面,提供了一種解密裝置,該解密裝置用于處理從計算裝置經由至少一個服務器轉發的數據分組以允許所述解