一種使用網絡在發送器和接收器之間加密並傳送數據的方法
2023-06-20 09:57:41 3
專利名稱:一種使用網絡在發送器和接收器之間加密並傳送數據的方法
技術領域:
0001本發明涉及一種使用網絡在發送器(sender)和接收器(receiver)之間加密並傳送數據的方法,因此能以安全的方式傳送數據。
背景技術:
0002目前,敏感數據正日益以電子形式從發送器發送到接收器。在這種情況下,確保數據不被截取或不被沒有授權的人讀取就變得越來越重要了,也就是說,必須以安全的方式傳送數據以使數據的內容僅能被發送器和接收器訪問。
0003在一種情況下,在進行數據傳送前,可在發送器A和接收器B之間建立安全連接鏈路。然而,在一些情況下,比如說一個辦公室中10個人希望互相通信並在它們中間傳送敏感數據並以雙向方式將數據傳送到另一個遠處的辦公室中的10個人,布置如此多的安全連接鏈路需要額外的硬體和軟體,因此存在許多缺點。此外,要維持這種連結及該連結相關的密碼系統涉及大量的硬體資源和時間資源。當每一個辦公室中的人員通過一些形式的企業內聯網或乙太網連接在一起及通過網際網路辦公通信時,尤為如此。需要發送器和接收器兩端有複雜的加密和解密軟體,這需要另外的硬體和軟體系統,及相關的專門維護費用。
0004在另一種情況下,希望用單個發送器將不同的數據傳送到多個分立的接收器。然而,這種情況與上述提到的情況具有相同的缺點。特別地,對發送器而言,需要建立複雜的安全條款以保持密碼系統安全。而且,必須建立額外的硬體和軟體系統以存儲和維持這種系統。
0005實際上,在諸如個人數字助理,具有網際網路接入和電子郵件功能的行動電話的小型手持設備時代,由於它們具有有限的存儲空間和處理能力,要使這些設備建立包括高級的加密和解密的雙向安全連接在技術上通常是不可行的。
0006儘管可以使用數字認證來減少伺服器和接收器對技術資源的需求,但通常涉及對接收器而言不合理的費用,即使當該費用較少時。
0007對發送器而言,一種替代性方法是對要傳送的數據進行加密,然後通過網絡發送加密的數據。然而,接收器還是必須具有可用的硬體處理資源及相關軟體的存儲空間,以便能夠對加密的數據進行解密。而且,在接收器的設備具有相對較弱的硬體資源的情況下,佔用寶貴的資源以能安全地傳送數據通常是不可行的。
0008使用複雜的加密和解密技術需要在發送器的設備和接收器的設備上安裝特定的軟體。這既不方便又很昂貴。而且,安裝程序既複雜又耗時,並可能與各自設備上的其它軟體衝突。更進一步,額外的軟體可能需要一定的處理能力,這在設備上是不可用的,並且會佔用寶貴的存儲器空間;這對上述的手持設備尤為如此。
0009根據以上內容可清楚地看出,以安全方式傳送數據的已知方法和系統需要大量的安裝配置以及大量的計算機處理和本地存儲器資源。對那些僅有有限的上述技術資源的設備的發送器和/或接收器的情況而言,顯然是不合理的。
0010因此,需要一種以安全方式傳送數據的方法和系統,其能減少發送器和/或接收器設備所要求的技術資源級別。而且,在使用公鑰/私鑰加密的情況下,發送器必須確信它們認為屬於接收器的公鑰未被闖入者的公鑰代替。
發明內容
0011根據本發明的一個方面,提供了一種使用網絡在發送器和接收器之間加密和傳送數據的方法,所述方法包括以下步驟一伺服器從所述發送器接收所述接收器的標識符;建立專用於所述傳送的傳送專用加密密鑰;使用所述傳送專用加密密鑰對所述數據進行加密;
所述伺服器根據接收到的所述接收器的標識符來訪問接收器專用信息,並且利用所述接收器專用信息,對所述傳送專用加密密鑰進行加密;通過所述網絡傳送加密的數據和加密的傳送專用加密密鑰,以便由所述接收器接收;所述伺服器從所述接收器接收所述加密的傳送專用加密密鑰;所述伺服器訪問所述接收器專用信息,以對所述加密的傳送專用加密密鑰進行解密;和使用解密的傳送專用加密密鑰對所述加密的數據進行解密。
0012優選為,所述方法進一步包括在所述發送器和所述伺服器之間建立通信鏈路,並將所述接收器的所述標識符發送到所述伺服器。
0013在一個實施例中,所述方法進一步包括在所述發送器和所述伺服器之間建立所述通信鏈路,使其為安全鏈路。
0014在一種情況下,所述方法進一步包括在所述發送器和伺服器之間建立通信鏈路,由所述伺服器校驗所述發送器的密碼。
0015在另一個實施例中,所述方法進一步包括在所述接收器和所述伺服器之間建立通信鏈路,並將所述接收器的所述標識符發送到所述伺服器。
0016在一種情況下,所述方法進一步包括在所述接收器和所述伺服器之間建立所述通信鏈路,使其為安全鏈路。
0017在一種特定情況下,所述方法進一步包括在所述接收器和伺服器之間建立所述通信鏈路,由所述伺服器校驗所述接收器的密碼。
0018優選為,建立所述傳送專用加密密鑰發生在所述發送器上,且所建立的傳送專用加密密鑰被發送到所述伺服器。
0019在另一種情況下,使用所述傳送專用加密密鑰對數據進行加密發生在所述發送器上。
0020在一個特定的實施例中,所述發送器從所述伺服器接收所述加密的傳送專用加密密鑰,且所述發送器通過網絡將所述加密的數據和所述加密的傳送專用加密密鑰傳送到所述接收器。
0021在另一個實施例中,所述接收器從所述伺服器接收所述解密的傳送專用加密密鑰,而使用所述解密的傳送專用加密密鑰對所述加密的數據進行解密發生在所述接收器上。
0022在又一個實施例中,建立所述傳送專用加密密鑰發生在所述伺服器上。
0023在一種特定的情況下,使用所述傳送專用加密密鑰對所述數據進行加密發生在所述伺服器上。
0024在一個實施例中,所述伺服器通過網絡向所述接收器傳送所述加密的數據和所述加密的傳送專用加密密鑰。
0025在另一實施例中,使用所述解密的傳送專用加密密鑰對所述加密的數據進行解密發生在所述伺服器上,且所述伺服器將所述解密的數據傳送到所述接收器。
0026優選為,所述方法進一步包括將所述接收器的標識符從所述發送器發送到所述伺服器。
0027在另一個實施例中,所述方法進一步包括將所述接收器的標識符從所述接收器發送到所述伺服器。
0028更便利地,所述方法進一步包括在加密之前,為所述數據建立消息認證碼(MAC)值;與所述加密的數據和所述加密的傳送專用加密密鑰一起傳送所述MAC值;和在解密之後,為所述數據建立MAC值,並對照所傳送的MAC值對齊進行驗證。
0029在一個實施例中,加密所述傳送專用加密密鑰使用了公鑰加密方法、河豚算法、以及伺服器保密碼中的一種或多種。
0030根據本發明的另一方面,提供了一種對伺服器進行操作以使用網絡在發送器和接收器之間加密並傳送數據的方法,所述方法包括以下步驟從所述發送器接收所述接收器的標識符;根據接收到的所述接收器的標識符來訪問接收器專用信息,並利用所述接收器專用信息對用於加密所述數據的傳送專用加密密鑰進行加密;在已通過網絡傳送加密的數據和加密的傳送專用加密密鑰以便由所述接收器接收之後,從所述接收器接收所述加密的傳送專用加密密鑰。
訪問所述接收器專用信息,以對所述加密的傳送專用加密密鑰進行解密。
0031在一個實施例中,所述對伺服器進行操作的方法進一步包括在所述伺服器中建立一個專用於所述傳送的傳送專用加密密鑰。
0032在另一個實施例中,所述對伺服器進行操作的方法進一步包括從所述發送器接收專用於所述傳送的傳送專用加密密鑰;並向所述發送器傳送所述加密的傳送專用加密密鑰。
0033優選為,所述對伺服器進行操作的方法進一步包括使用所述傳送專用加密密鑰對所述伺服器中的所述數據進行加密。
0034在另一個優選的實施例中,所述對伺服器進行操作的方法進一步包括通過所述網絡傳送所述加密的數據和所述加密的傳送專用加密密鑰以由所述接收器接收。
0035優選為,所述對伺服器進行操作的方法進一步包括向所述接收器傳送所述解密的傳送專用加密密鑰。
0036在另一個實施例中,所述對伺服器進行操作的方法進一步包括使用所述解密的傳送專用加密密鑰對所述伺服器中的所述加密的數據進行解密。
0037根據本發明的另一方面,提供了一種計算機媒介,其用於使用網絡在發送器和接收器之間加密和傳送數據的方法,所述媒介包括用於從所述發送器接收所述接收器的標識符,並建立專用於所述傳送的傳送專用加密密鑰的計算機碼;用於使用所述傳送專用加密密鑰對所述數據進行加密的計算機碼;根據所述接收到的所述接收器的標識符訪問接收器專用信息,並用所述接收器專用信息對所述傳送專用加密密鑰進行加密的計算機碼;用於通過所述網絡傳送所述加密的數據和所述加密的傳送專用加密密鑰以由所述接收器接收的計算機碼;用於從所述接收器接收所述加密的傳送專用加密密鑰並用於訪問所述接收器專用信息以對所述加密的傳送專用加密密鑰進行解密的計算機碼;和用於使用所述解密的傳送專用加密密鑰對所述加密的數據進行解密的計算機碼。
0038現在將參考附圖對本發明的一個例子進行描述,附圖中0039圖1示出了一個系統的示意圖,該系統運行了本發明的使用網絡在發送器和接收器之間加密和傳送數據的方法;0040圖2示出了用在圖1中的伺服器的運行模塊的示意性方框圖;0041圖3是一個流程圖,其示出了包括在發送器和接收器中用於本發明從發送器向伺服器發送數據的處理過程;0042圖4是一個流程圖,其示出了包括在發送器和接收器中響應從伺服器接收到的電子郵件的處理過程。
具體實施例方式
0043現參考圖1和圖2,它們所示為運行使用網絡在發送器和接收器之間加密和傳送數據的方法的一個實施例的系統。參考這兩個圖,所述系統運行以在發送器設備100和接收器設備200之間加密和傳送數據。
0044在此例中,發送器設備100包括連接到鍵盤107,數據源108和外部顯示設備105的計算機101。數據源包括某些類型的磁碟閱讀器或連接到資料庫的接口,所述數據源存儲要傳送給接收器的數據。計算機101具有通用訪問總線106,該通用訪問總路線連接到微處理器102,存儲器103,顯示器接口104,輸入設備接口109,和通過連接111接連到網際網路的網絡瀏覽器110。
0045顯示器接口104連接到外部顯示設備105,同時輸入設備接口109接連到鍵盤107和數據源108。存儲器103通常存儲發送器的ID和發送器的密碼,儘管發送器的ID和密碼可能是響應顯示設備105上的顯示提示通過鍵盤107的輸入。
0046在此例中,接收器設備200包括通過網絡瀏覽器210經由連接211連接到網際網路的具有網際網路能力的行動電話。關於如何建立這種連接的詳細情況是本領域公知的,在此不做描述。網絡瀏覽器連接到通用訪問總線206,該通用訪問總線206連接到微處理器202,存儲器203,顯示器接口204和輸入設備接口209。顯示器接口204連接到集成顯示設備205,同時輸入設備接口209連接到集成鍵盤207。存儲器203一般存儲接收器的ID和接收器的密碼,儘管接收器的ID和密碼可能是響應顯示設備205上的顯示提示通過鍵盤207的輸入。設備200進一步包括電子郵件客戶端212以用於通過連接213連接到網際網路來發送和接收電子郵件。
0047伺服器300也通過連接302連接到網際網路上。伺服器結構的詳細方框圖如圖2所示。結合對本發明的系統運行的描述來對伺服器的這種結構進行解釋。
0048參考圖1和圖2,在使用本系統前,發送器和接收器兩者最初都註冊到伺服器300上。它們的詳細情況存儲在伺服器資料庫模塊306內。在本實施例中,對每一發送器和接收器而言,存儲的信息包括至少一個ID和一個密碼。
0049發送器希望將保持在數據源108中的數據傳送給接收器。為了使發送器傳送數據,發送器需要知道接收器的ID和伺服器300的網絡地址。此信息可以存儲在發送器的存儲器103中或可以人為地通過鍵盤107輸入以響應顯示設備105上的提示。
0050如圖2所示,伺服器300包括通過連接302連接到網際網路的網絡伺服器301。網絡伺服器連接到輸入總線303並由微處理器304控制。當發送器聯繫伺服器的網絡地址時,就建立了諸如加密套接字協議層(SSL)連結的安全鏈路,其詳細情況為本領域熟練技術人員所公知。微處理器304不允許發送器訪問本系統直到模塊305完成密碼驗證並訪問資料庫模塊306。這種密碼驗證的詳情為本領域所公知,因此這裡不作描述。
0051密碼驗證完成後,伺服器300向發送器發出屏幕顯示。完成該屏幕後,發送器向伺服器發送接收器ID的身份和從數據源108得到的要傳送的數據。朝向圖上邊緣的模塊作用於這些輸入。
0052一旦接收到接收器的ID和發送的數據,伺服器微處理器304將數據發送到消息認證碼(MAC)發生器模塊307。這種發生器產生的一組編碼是使用部分或全部數據並結合加密摘要算法的計算得到的,其為本領域公知。在這種情況下,使用已知的消息摘要(MD)散列算法來從此數據中生成一個MD散列值。MD散列值發送到通過鏈路316連接到網際網路的郵件客戶端312,以準備好處理成電子郵件的一部分。
0053接收到的數據在模塊308中壓縮後,由模塊309使用從模塊310得到的會話密鑰進行加密。本領域公知,會話密鑰是從隨機數發生器311產生的隨機數中產生的。此會話密鑰專用於此數據及此數據的傳送,因此成為了一種傳送專用加密密鑰。之後,加密的數據發送到準備好處理成電子郵件一部分的電子郵件客戶端312。
0054也使用公鑰/私鑰加密技術的公鑰,諸如本領域公知的RSA加密,對來自模塊310的會話密鑰在模塊313中進行加密。之後,模塊313的輸出在模塊314中使用河豚(blowfish)算法進一步加密,其合併了從資料庫306得到的接收器的密碼。該密碼是根據從微處理器發送的在總線315上的接收器的ID的輸出。加密的會話密鑰發送到準備好處理成電子郵件一部分的電子郵件客戶端312。
0055電子郵件客戶端312以已知的方式處理MD散列值,加密的數據和加密的會話密鑰以構成一個電子郵件然後將其發送到由總線315上的微處理器訪問資料庫306之後提供的合適的接收器地址。電子郵件客戶端以已知的方式向電子郵件分配一特有的標籤並記錄發送它的標誌。使用網絡伺服器301或電子郵件客戶端312將電子郵件發送的確認信息發送到發送器。
0056由伺服器300發送的電子郵件可以以一般的方式由行動電話200的電子郵件客戶端212接收。建立電子郵件的內容以提示接收器使用本發明的系統傳送數據或自動激活網絡瀏覽器210以初始化伺服器300的通信鏈路。在任何一種情況下,在微處理器202的控制下,當接收器聯繫伺服器的網絡地址時,就建立了諸如SSL連結的安全鏈路,其詳細情況為本領域熟練技術人員所公知。伺服器的微處理器304不允許訪問本系統直到模塊305完成密碼驗證並訪問資料庫模塊306。這種密碼驗證的詳情為本領域所公知,因此這裡不作描述。
0057隻有密碼校驗成功完成之後,包含在電子郵件中的加密的數據,加密的會話密鑰和MD散列值才會通過網絡伺服器301在伺服器300的安全連結上發送。朝向圖的下邊的模塊作用於其上。
0058很顯然如果選擇的發送和讀取電子郵件的方法是通過網絡郵寄的,那麼就不需要單獨的電子郵件客戶端213。
0059一旦伺服器的微處理器304接收到加密的會話密鑰,就將其發送到模塊320,模塊320使用逆河豚算法並結合發送器的密碼,該發送器的密碼根據接收器的ID從總線315上的資料庫306得到的。然後,模塊320的輸出在模塊321中使用用來發送該數據的RSA加密的私鑰進一步解密。通過這些模塊,能重新產生模塊310的原來的會話密鑰。
0060接收到的處於壓縮形式的加密的數據使用解密的會話密鑰在模塊323中進行解密,然後在模塊324中進行解壓縮。
0061同模塊307一樣,解密和解壓縮的數據在微處理器304的控制下,在模塊325中產生MD散列值,模塊326進行比較校驗以將新生成的MD散列值和從接收器接收到的MD散列值進行驗證以確保兩者相匹配。
0062假設MD散列值在模塊326中驗證為正確,來自模塊324的解密的數據通過安全的鏈路被送回到接收器。
0063圖3是說明本發明的將數據從發送器發送到伺服器的在發送器和伺服器中包括的處理過程或進程的流程圖。
0064最初,發送器希望將特定的數據傳送給具有已知接收器ID的特定接收器。在步驟S1A中,發送器和伺服器通信以試圖建立諸如SSL連結的安全通信鏈路。建立此鏈路涉及運行某些連接協議和上述的密碼校驗,且建立此鏈路能採取將全球資訊網頁顯示在顯示設備105上,在全球資訊網頁上輸入適當的登錄數據等等的形式。如前面提到的,建立這種通信鏈路和密碼校驗為本領域技術人員所公知,在此不作詳細描述。
0065響應來自發送器的聯繫,在步驟S1B中,伺服器也試圖通過運行某些連接協議和上述的密碼校驗以建立通信鏈路。然後,在步驟S2B中伺服器將校驗是否已經建立了有效的鏈路,也就是是否已經滿足所有的通信協議並且已經通過了所有的密碼校驗。如果還沒有建立起鏈路,或密碼校驗失敗,伺服器轉到錯誤處理步驟S3B。此步驟進一步包括試圖建立通信鏈路。假設建立了有效的通信鏈路,該過程轉到步驟S4B,以等待接收所述接收器ID和被傳送的數據。如果需要,此處可包括超時步驟。
0066在發送器的S2A步驟中,進行校驗以檢查是否已經建立了有效的鏈路,也就是是否已經滿足所有的通信協議並且已經通過了所有的密碼校驗。如果還沒有建立起鏈路,或密碼校驗失敗,發送器轉到錯誤處理步驟S3A。此步驟進一步包括試圖建立通信鏈路。假設建立了有效的通信鏈路,該過程轉到步驟S4A,以發送接收器的ID及要傳送的數據。如果需要,此處可包括超時步驟。
0067在一個例子中,數據傳送全球資訊網頁顯示在顯示設備105上,設備105需要輸入接收器的ID和數據的附件,諸如位於數據源108的文件。然後將完成的數據傳送頁發送到伺服器300。很顯然,要加密的數據可直接進入數據傳送頁。
0068在步驟S4B中伺服器300接收數據傳送頁的內容,之後該過程進行到步驟S5B。在該步驟中,伺服器產生對該數據唯一的MD散列值並將此值發送到郵件客戶端312,之後該過程進行到步驟S6B。
0069在步驟S6B中,該數據通過諸如壓縮文件(zipping)壓縮。然後,在步驟S7B中,得到來自隨機數發生器311的隨機數以生成專用於此數據傳送的會話密鑰。之後,在步驟S8B中,使用此會話密鑰對數據進行加密,並將加密的數據發送到電子郵件客戶端312。
0070然後過程進行到步驟S9B,在此步驟中,使用公用RSA(裡韋斯特-沙米爾-阿德萊曼)密鑰對會話密鑰進行加密。之後,該過程轉到步驟S10B以重新得到接收器的密碼,之後在步驟S11B中,使用在步驟S10B重新得到的密碼用河豚算法對步驟S9B的結果進行加密。然後將產生的加密的會話密鑰發送到電子郵件客戶端312。
0071在接下來的步驟S12B中,電子郵件客戶端312以已知的方式,將電子郵件表示為用HTML傳送的適當格式,諸如通過64位編碼形式。也可以對加密的數據和加密的會話密鑰使用HTML附加文件或插入HTML代碼。然後發送電子郵件並且以通常的方式對電子郵件的發送進行標誌,並且向發送器發送確認信息,之後該過程結束。
0072顯然該電子郵件包含MD散列值,加密的數據和優選為隱式欄位的加密的會話密鑰。該電子郵件優選為還包括HTML連結以使接收器能連接回到伺服器。該鏈路被配置成能自動以HTML形式將隱式欄位提交回伺服器。電子郵件主題標頭是由發送器選擇的主題標頭,並且電子郵件被編址為接收器的電子郵件的地址。
0073在步驟S5A中,發送器接收電子郵件發送的確認信息,該過程結束。
0074圖4是說明響應從伺服器接收電子郵件,在接收器和伺服器中包括的處理過程或進程的流程圖。
0075在步驟S101A中,接收器200接收來自伺服器的電子郵件,該電子郵件包含加密的數據,加密的會話密鑰,和MD散列值,及其它。可以使用全球資訊網郵件或使用電子郵件客戶端212通過連結213下載電子郵件。在步驟S102A中,接收器打開電子郵件並於伺服器通信以試圖建立諸如SSL連結的安全通信鏈路。用與上面描述類似的方式,建立這種鏈路包括運行某些連接協議和類似於以上討論的與模塊305有關的密碼校驗,並採取在顯示設備105上顯示全球資訊網頁,在全球資訊網頁上輸入合適的登錄數據等等的形式。以前面提到的,建立這種通信鏈路和密碼校驗為本領域技術人員所公知,此處不作詳細描述。
0076響應來自接收器的聯繫,在步驟S101B中,伺服器也試圖通過運行某些連接協議和上述的密碼校驗來建立通信鏈路。在步驟S102B中,伺服器然後檢查是否已經建立了有效的連結,也就是檢查是否已經滿足所有的通信協議並且已經通過了所有的密碼校驗。如果還沒有建立起鏈路,或密碼校驗失敗,伺服器來到錯誤處理步驟S103B。這個步驟進一步包括試圖建立通信鏈路。假如建立了有效的通信鏈路,該過程進行到步驟S104B,以等待接收接收器的ID和包括加密的數據,加密的會話密鑰和MD散列值的其它信息。如果需要,此處可包括超時步驟。
0077在接收器的S103A步驟中,進行校驗以檢查是否已經建立了有效的連結,也就是檢查是否已經滿足所有的通信協議並且已經通過了所有的密碼校驗。如果還沒有建立鏈路,或密碼校驗失敗,接收器轉到錯誤處理步驟S104A。此步驟進一步包括試圖建立通信鏈路。如果需要,此處可包括超時步驟。
0078假如建立了有效的通信鏈路,該過程進行到步驟S105A以發送接收器ID及發送前面段落中提到的其它信息。後者可以以隱式HTML欄位的形式存在於提交到伺服器300的電子郵件中。顯然,用來定時及用於排列ID,隱藏域,密碼等的發送可以不同以適應特定的情況。
0079然後伺服器中的過程來到步驟S105B,以從模塊306重新得到接收器的密碼,之後在步驟S106B中,使用在步驟S105B中重新得到的密碼用河豚算法對加密的會話密鑰進行解密。該過程然後轉到RSA解密步驟S107B,其中使用伺服器的私鑰對步驟S106B的結果進行解密。這樣產生了會話密鑰。
0080之後,該過程來到S108B,其中使用從步驟S107B中產生的解密的會話密鑰對仍是壓縮的數據進行解密。之後,該過程來到步驟S109B以對數據進行解壓縮。
0081在下一步驟S110B中,伺服器產生對步驟S109B產生的數據唯一的MD散列值。之後,在步驟S111B中,步驟S110B產生的MD散列值相對步驟S104B接收到的MD散列值進行校驗。假設該MD散列值是有效的,該過程進行到步驟S113B,且現在發送器的未加密的數據通過安全鏈路發送到接收器。該數據的發送被標誌,該過程結束。如果MD散列值無效,該過程分支到錯誤處理S112B。這包括對錯誤進行標誌並將錯誤消息發送到接收器以說明該數據已損壞或洩密。
0082在步驟S106A中,接收器接收未加密的數據,該過程結束。
0083在以上描述的發明的一個實施例中,全部的加密和解密過程都是在伺服器300中進行的。因此,發送器和接收器不需要任何特別的軟體以能安全地發送和接收數據。特別是,不需要用軟體或使用硬體存儲器和處理資源來進行RSA加密和河豚加密。此外,對密碼的訪問是在伺服器中維護的,不需要在發送器中維護。而且,因為加密和解密是在伺服器上進行的,所以發送器和接收器不需要對加密和解密進行特定的排列。
0084然而,本發明還包括發送器中具有如圖2的方框317中實現的功能的替代功能。也就是說,在此修改例中,隨機數發生器產生的會話密鑰和對數據的壓縮及用此會話密鑰對壓縮數據的加密都是在發送器中進行的。然而,上面的安全鏈路是用伺服器建立的,但在此情況下,只有產生的會話密鑰被發送到伺服器中。在與上面一樣的密碼校驗之後,模塊S313和模塊S314又生成了加密的會話密鑰,在此情況下,該密鑰返回到發送器中。然後,加密的數據,加密的會話密鑰和散列值提供給也連接到網際網路的發送器的電子郵件客戶端(未示出)。該電子郵件客戶端如上面所述構造電子郵件,再將其發送到接收器。因此可以看出,圖3中的從S5B到S8B的步驟是在發送器中進行的。這可以減少對伺服器的處理需求。
0085如圖4所示,接收器接收電子郵件客戶端的電子郵件並處理這些電子郵件。
0086然而,本發明還包括接收器具有的如圖2的方框322內的功能的替代功能,一旦從伺服器接收到電子郵件。也就是說,在此修改例中,數據的解密,數據的解壓縮,MD散列值的產生和對其驗證都是在接收器中進行的。儘管,如上面所述一樣,安全鏈路是用伺服器建立的,但在這種情況下,只有加密的會話密鑰被發送到伺服器。在與上面一樣的密碼校驗之後,模塊S320和S321再一次對會話密鑰進行解密,在此情況下,該會話密鑰返回到接收器。使用解密的會話密鑰對加密的數據進行解密,並解壓縮,產生的MD散列值相對於電子郵件中接收到的MD散列值進行校驗其有效性。因此可以看出,圖4中從S108B到S113的步驟在此是在接收器中進行的。這可以減少對伺服器的處理需求。
0087可以理解上面提到的兩個修改例可同時實施。不過,對於本發明,結合接收器的密碼的會話密鑰的加密是在伺服器中進行的。
0088可以理解需要時,一組用戶可被註冊以接收電子郵件。例如,某公司的IT部門可註冊所有員工。在這種情況下,當伺服器的密碼校驗失敗時,可參考該組中的其它密碼。
0089本發明的各種需要在發送器或接收器上安裝特定軟體的實施例為本領域熟練技術人員所公知,在註冊過程中,可從伺服器下載並安裝。
0090應意識到,因為需要正確的接收器密碼以用河豚算法對數據進行解密,並且因為通過驗證MD散列值,可有效地校驗正確的解密,所以,如果需要,可省去步驟102A中的接收器和伺服器之間的連結中的密碼校驗。
0091還應意識到,如果解密不成功,可重新安排伺服器300以進一步進行校驗來試圖得到正確的密碼,例如,可通過查詢接收器的舊密碼並輪流使用每一個密碼來對數據進行解密。如果那些密碼中有一個密碼能產生正確的MD5(第五類郵件文摘)散列值,則解密成功。然而,如果沒有一個密碼能奏效,則接收器不是期望的接收器或在傳送過程中數據已經損壞。
0092如果接收器沒有密碼,並且還沒有在伺服器300上註冊,伺服器會產生一次性的密碼,通過任何安全的方式將該密碼送到接收器都是適合的,例如,通過安全郵件或通過安全鏈路或通過安全的電子郵件將密碼送到接收器,需要用戶將其密碼修改成安全密碼以便以後使用。
0093對於本發明,檢驗發送器和接收器的身份以使發送器能向接收器發送數據,該接收器沒有安裝使接收器確信數據源的特殊軟體。此外,記錄加密和解密嘗試的次數,這能使發送器校驗接收器是否已經接收了數據並對數據進行了解密,並且能使接收器校驗它們期望接收的數據是否已經發送。
0094發送器和接收器設備可以採用許多形式,例如,非專屬的列表包括計算機,個人數字助理或其它手持設備,膝上型電腦,行動電話。伺服器優選為計算機,儘管它也可以是可替代類型的計算裝置。
0095可以看出,對於本發明,發送器或接受者都不知道保持在伺服器上的對方的密碼。因此,發送器和接收器需要的安全等級不象其它以安全方式傳送數據的已知形式的那麼高。
0096對於本發明,伺服器對在加密過程中伺服器使用的接收器專用信息進行維護,諸如密碼。伺服器從數據存儲器中得到此信息,數據存儲器具有接收器ID和保密的接收器專用信息的列表。接收器專用信息可包括密碼,密碼短語,PIN碼,散列值或用於身份驗證的其它任何信息。
0097用於本發明的網絡可以是網際網路,諸如乙太網絡的本地的企業內部網,電話網絡,無線電網絡或用於傳送數據其它任何網絡。優選為,當使用網際網路時,在伺服器和發送器之間和/或在伺服器和接收器之間使用安全的SSL連結。
0098通過發送器和接收器的電子郵件地址(或其它網絡地址),伺服器可以識別它們。儘管,它們還具有與網絡地址無關的用戶ID。伺服器在其資料庫中可具有網絡地址列表,和/或具有用戶ID列表,在資料庫中,網絡地址和/或用戶ID每一個都與保密的接收器專用信息相關。
0099在本發明的一個實施例中,伺服器300包括對伺服器唯一併僅對伺服器已知的保密碼。該保密碼可包括在河豚加密和解密模塊中。除了使用接收器專用信息外,可將保密碼用於加密中。這兩條信息可簡單地進行級聯以用於加密過程。保密密鑰的使用提高了系統的安全等級。
0100應意識到,伺服器不需要保留會話密鑰或任何發送到接收器的數據。這些密鑰和數據可存儲在伺服器上的非永久性存儲器中,當進一步對數據和密鑰進行加密時,可被重寫。其具有的優點是伺服器不必具有很大的存儲器以存儲舊的和可能冗餘的數據和/或密鑰。
0101承載介質包括瞬時介質,如電,光,微波,射頻,電磁,聲或磁信號(如諸如網際網路的IP網絡上的TCP IP信號),或諸如軟盤,光碟只讀存儲器(CD ROM),硬碟,或可編程存儲器設備的承載介質。
0102儘管此處已經根據本發明優選的實施例對其進行了描述,對本領域熟練技術人員而言,在不偏離由權利要求限定的本發明範圍的前提下,對優選實施例所做的各種修改是顯而易見的。本發明能應用到的領域,例如,對行動電話供應商而言,其能用安全的方式每月向行動電話用戶發送帳單,行動電話用戶連接到伺服器以獲得加密的帳單,銀行也以類似的方式向其客戶發送要付的款項細節,客戶只需如上所述連接到伺服器來獲得這些以安全方式發送的細節。
權利要求
1.一種使用網絡在發送器和接收器之間加密和傳送數據的方法,所述方法包括以下步驟一伺服器從所述發送器接收所述接收器的標識符;建立專用於所述傳送的傳送專用加密密鑰;使用所述傳送專用加密密鑰對所述數據進行加密;所述伺服器根據接收到的所述接收器的標識符來訪問接收器專用信息,並且利用所述接收器專用信息,對所述傳送專用加密密鑰進行加密;通過所述網絡傳送加密的數據和加密的傳送專用加密密鑰,以便由所述接收器接收;所述伺服器從所述接收器接收所述加密的傳送專用加密密鑰;所述伺服器訪問所述接收器專用信息,以對所述加密的傳送專用加密密鑰進行解密;和使用解密的傳送專用加密密鑰對所述加密的數據進行解密。
2.根據權利要求1所述的方法,進一步包括在所述發送器和所述伺服器之間建立通信鏈路,並將所述接收器的所述標識符發送到所述伺服器。
3.根據權利要求2所述的方法,進一步包括在所述發送器和所述伺服器之間建立所述通信鏈路,使其為安全鏈路。
4.根據權利要求2或3所述的方法,進一步包括在所述發送器和伺服器之間建立所述通信鏈路,由所述伺服器校驗所述發送器的密碼。
5.根據前述任一權利要求所述的方法,進一步包括在所述接收器和所述伺服器之間建立通信鏈路,並將所述接收器的所述標識符發送到所述伺服器。
6.根據權利要求5所述的方法,進一步包括在所述接收器和所述伺服器之間建立所述通信鏈路,使其為安全鏈路。
7.根據權利要求5或6所述的方法,進一步包括在所述接收器和伺服器之間建立所述通信鏈路,由所述伺服器校驗所述接收器的密碼。
8.根據前述任一權利要求所述的方法,其中建立所述傳送專用加密密鑰發生在所述發送器上,且所建立的傳送專用加密密鑰被發送到所述伺服器。
9.根據前述任一權利要求所述的方法,其中使用所述傳送專用加密密鑰對數據進行加密發生在所述發送器上。
10.根據權利要求9所述的方法,其中所述發送器從所述伺服器接收所述加密的傳送專用加密密鑰,且所述發送器通過網絡將所述加密的數據和所述加密的傳送專用加密密鑰傳送到所述接收器。
11.根據權利要求1-7中任一項所述的方法,其中所述接收器從所述伺服器接收所述解密的傳送專用加密密鑰,而使用所述解密的傳送專用加密密鑰對所述加密的數據進行解密發生在所述接收器上。
12.根據權利要求1-7中任一項所述的方法,其中建立所述傳送專用加密密鑰發生在所述伺服器上。
13.根據權利要求12所述的方法,其中使用所述傳送專用加密密鑰對所述數據進行加密發生在所述伺服器上。
14.根據權利要求13所述的方法,其中所述伺服器通過網絡向所述接收器傳送所述加密的數據和所述加密的傳送專用加密密鑰。
15.根據權利要求1-10和12-14中任一項所述的方法,其中使用所述解密的傳送專用加密密鑰對所述加密的數據進行解密發生在所述伺服器上,且所述伺服器將所述解密的數據傳送到所述接收器。
16.根據前述任一權利要求所述的方法,進一步包括將所述接收器的標識符從所述發送器發送到所述伺服器。
17.根據前述任一權利要求所述的方法,進一步包括將所述接收器的標識符從所述接收器發送到所述伺服器。
18.根據前述任一權利要求所述的方法,進一步包括在加密之前,為所述數據建立消息認證碼(MAC)值;與所述加密的數據和所述加密的傳送專用加密密鑰一起傳送所述MAC值;和在解密之後,為所述數據建立MAC值,並對照所傳送的MAC值對其進行驗證。
19.根據前述任一權利要求所述的方法,其中加密所述傳送專用加密密鑰使用了公鑰加密方法、河豚算法、以及伺服器保密碼中的一種或多種。
20.一種對伺服器進行操作以使用網絡在發送器和接收器之間加密並傳送數據的方法,所述方法包括以下步驟從所述發送器接收所述接收器的標識符;根據接收到的所述接收器的標識符來訪問接收器專用信息,並利用所述接收器專用信息對用於加密所述數據的傳送專用加密密鑰進行加密;在已通過網絡傳送了加密的數據和加密的傳送專用加密密鑰以便由所述接收器接收之後,從所述接收器接收所述加密的傳送專用加密密鑰;訪問所述接收器專用信息,以對所述加密的傳送專用加密密鑰進行解密。
21.根據權利要求20所述的對伺服器進行操作的方法,進一步包括在所述伺服器中建立一個專用於所述傳送的傳送專用加密密鑰。
22.根據權利要求20所述的對伺服器進行操作的方法,進一步包括從所述發送器接收專用於所述傳送的傳送專用加密密鑰;並向所述發送器傳送所述加密的傳送專用加密密鑰。
23.根據權利要求20-22中任一項所述的對伺服器進行操作的方法,進一步包括使用所述傳送專用加密密鑰對所述伺服器中的所述數據進行加密。
24.根據權利要求20-23中任一項所述的對伺服器進行操作的方法,進一步包括通過所述網絡傳送所述加密的數據和所述加密的傳送專用加密密鑰以由所述接收器接收。
25.根據權利要求20-24中任一項所述的對伺服器進行操作的方法,進一步包括向所述接收器傳送所述解密的傳送專用加密密鑰。
26.根據權利要求20-24中任一項所述的對伺服器進行操作的方法,進一步包括使用所述解密的傳送專用加密密鑰對所述伺服器中的所述加密的數據進行解密。
27.一種計算機媒介,其用於使用網絡在發送器和接收器之間加密和傳送數據的方法,所述媒介包括用於從所述發送器接收所述接收器的標識符,並建立專用於所述傳送的傳送專用加密密鑰的計算機碼;用於使用所述傳送專用加密密鑰對所述數據進行加密的計算機碼;根據所述接收到的所述接收器的標識符訪問接收器專用信息,並用所述接收器專用信息對所述傳送專用加密密鑰進行加密的計算機碼;用於通過所述網絡傳送所述加密的數據和所述加密的傳送專用加密密鑰以由所述接收器接收的計算機碼;用於從所述接收器接收所述加密的傳送專用加密密鑰並用於訪問所述接收器專用信息以對所述加密的傳送專用加密密鑰進行解密的計算機碼;和用於使用所述解密的傳送專用加密密鑰對所述加密的數據進行解密的計算機碼。
全文摘要
本發明涉及一種使用網絡在發送器和接收器之間加密並傳送數據的方法,因此能以安全方式傳送數據。該方法包括以下步驟伺服器從發送器接收接收器的標識符(S4A,S4B);建立專用於所述傳送的傳送專用加密密鑰(S7B);用所述傳送專用加密密鑰對數據進行加密(S8B);伺服器根據接收到的接收器的標識符,訪問接收器專用信息,並用接收器專用信息對所述傳送專用加密密鑰進行加密(S11B);通過網絡傳送加密的數據和加密的傳送專用加密密鑰,以便由接收器接收(S11B);伺服器從接收器接收加密的傳送專用加密密鑰;伺服器訪問接收器專用信息以對加密的傳送專用加密密鑰進行解密;並使用解密的傳送專用加密密鑰對加密的數據進行解密。
文檔編號H04L9/08GK1981476SQ200580022256
公開日2007年6月13日 申請日期2005年4月18日 優先權日2004年5月24日
發明者M·阿爾庫拉姆卜瑞 申請人:吉科瑞普有限公司