專利名稱:利用密碼技術管理和過濾電子信息的方法和系統的制作方法
技術領域:
本發明整體上涉及管理電子消息領域。本發明尤其涉及用于管理 電子消息和過濾未請求的和不期望的電子消息的系統和方法。
背景技術:
眾所周知,未請求的和不期望的電子郵件,通常稱作"垃圾電子 郵件,,,是很討厭的事情,并且對于使用電子郵件的所有人都是很普 遍的問題。最近,又出現了向手持通信設備發送未期望的電子消息的 現象,例如向手機發送短消息,或者向運行特定操作系統的個人計算
機發送即時彈出消息,或者向網絡電話(VoIP)用戶發送數字化的電 話消息或者語音郵件。垃圾郵件制造者,也就是,不加區別地向大量 接收者發送垃圾消息者,用各種大多數人不愿意看到或聽到的廣告和 請求充斥因特網。 一般地估計,垃圾郵件制造者發出大量的郵件,典 型地每天有上億的消息。估計顯示,大多數電子郵件交通和相當比例 的整個因特網交通是垃圾郵件。
通過購買電子郵件列表、通過4叟索(scour)電子郵件地址的網 頁(在一些例子中,貼在網站上的電子郵件地址在貼上的幾分鐘內即 接收到垃圾電子郵件),和通過附加類似的用戶名字到注冊的域名查 到類似的地址,垃圾郵件制造者典型地找到接收者網絡地址,例如電 子郵件地址。垃圾郵件制造者還可以掃描郵件列表并且理論上能夠掃 描所有電子郵件或者類似因特網交通,所述因特網交通通過其服務器 獲取其中的有效的用戶網絡地址。
已設計出多種方案阻止垃圾郵件。下文僅僅突出這些方法在阻止 垃圾電子郵件中所面臨的困難,盡管這些方法還可應用到阻止其他形
式的垃:敗郵件。
現在主要通過使用過濾器阻止垃圾郵件。過濾器掃描發送者的網
絡地址、主題行和內容,尋找垃圾郵件泄漏跡象(telltale sign)。
垃圾郵件制造者經常獲得新的、合法的、公共可用的但是便宜的網絡 地址以避免(至少暫時)被發送者地址過濾器獲取。垃圾郵件制造者 還經常通過錯誤地使用,例如其他某人的電子郵件地址欺騙發送者地 址,該人的電子郵件地址可能在垃圾電子郵件過濾器的白名單上。對 于其地址被騙取的這些人,欺騙電子郵件地址能夠產生令人頭痛的
事,因為其可能得到來自垃圾電子郵件接收者的憤怒回應,或者過濾 器可能阻止真正的電子郵件消息。
當垃圾電子郵件制造者能夠設計對策以旁路通過這些過濾器時, 基于主題行和內容的過濾通常僅僅在短時間是有效的。例如, 一些過 濾器尋找特定的單詞并且試圖檢測這些單詞,所述單詞4皮認為僅僅在 垃圾電子郵件中最有可能出現。垃圾電子郵件制造者通過更改通常由 過濾器掃描的單詞或者以不同的錯誤方式拼寫人類可讀的單詞以避 免這些過濾器,拼寫的足夠隨機以至于過濾器不能跟上變化。在另一 方面,這些過濾器偶爾會抓住合法的電子郵件消息。其他類型的過濾 器通過搜尋單詞設法檢測好的電子郵件消息,所述單詞不會出現在典 型的垃圾電子郵件中。垃圾電子郵件制造者已經通過向垃圾郵件添加 隨機性單詞成功旁路通過這類過濾器。因此,由于垃圾電子郵件制造 者設法旁路通過這些過濾器時,這些類型的過濾器需要不斷地修正。
現在,大多數過濾器可以讓大約100/Q的垃圾電子郵件通過,并且仍舊 偶爾阻止合法的電子郵件消息。
仿冒是身份欺騙的另一種應用,其中,電子郵件的發送者地址被 偽造。仿冒者發出電子郵件,通常如類似垃圾郵件的傳播,宣稱起源 于合法的授權例如銀行。電子郵件消息請求接收者采取行動,例如, 登陸網站并且輸入網上銀行密碼。該網站通常為具有相同外形和非常 類似的網址的真正網站的非法仿效。接收者可能受騙并且愉快地輸入 網上銀行密碼和帳號進入所請求的網站。仿冒者可以用這種方式收集 帳號和匹配的密碼,然后能夠控制受害人的網上帳號并且清空受害人 的存款。甚至僅僅1%的接收者響應,仿冒者能夠引起重大的財政損 失。件的形式,在此,接收 者進入一對話,在該對話中,接收者被指示把錢存取到特定帳號中, 經常有 一 些消息宣稱非洲王子打算拿出其國家財富的 一 部分以承諾 交換的方式授予接收者上萬美元獎勵,該獎勵接收者將永遠不會得 到。另一種仿冒的形式是以某人的欺騙身份發送可執行的病毒,這些 人以可信賴的方式出現,例如同事。
仿冒者試圖比垃圾郵件更努力地避免過濾器,所述過濾器掃描發 送者地址和消息內容。 一個原因是身份欺騙。仿冒者還可以試圖匹配 主題行和其電子郵件的內容盡可能接近合法的電子郵件,然而大多數 垃圾電子郵件的大部分廣告內容立即露出其真面目。
通過電子途徑的通信不可能很快消失(go away)。相反,其重要 性可能增加并且越來越多類型的數據,從文本數據到圖像數據到音頻 或視頻數據,可以以電子形式被傳送并且發送到接收者。這給通信者 提供了便利,也給垃圾郵件制造者提供了擴展其垃圾郵件活動的機 會。與處理、查看和刪除垃圾郵件消息有關的消耗和成本通常是難以 接受的巨大。如果垃圾郵件制造者和仿冒者避免傳統的過濾器的能力 增加,或者如果身份仿冒的使用增加,將需要比現在反應性的過濾器 更強大的過濾器。如果垃圾郵件制造者和仿冒者能夠增加其相對于傳 統過濾器的旁通率到顯著地超過10% ,將尤其需要更強的過濾器。
傳送加密的和認證的電子消息可以利用密碼技術。現在的密碼算 法通常被視為牢不可破的。可以用于保護網絡交通,包括電子郵件, 使其免受修改、偽造和偷聽(eavesdro卯ing)。通常然而,密碼術被 用于保護高價值的交通,例如,金融交易或金融數據。互聯網工程任 務組UETF)已經開發了 S/MIME(安全多用途網際郵件擴展)協議,所 述協議可以用于保護電子郵件或者利用電子郵件傳送的數據。S/MIME 的專用將幫助阻止垃圾郵件或者仿冒的電子郵件,然而,其還可以阻 止某些通常的企業對企業的通信。
保護電子郵件的其中一個問題,和現在其不再盛行的一個原因與 現在公共密鑰基礎結構(PKI)有關。因為通過認證機構(CA)注冊證書的過程典型地^皮認為是昂貴的和復雜的,典型的電子郵件-使用者
通常認為獲得公共密鑰證書是困難的。而且,S/MIME具有互用性的缺 點-其使用數字證書(CA),所述數字證書必須由根頒發機構簽署。 PGP是另一種技術,所述技術基本上傳遞與S/MIME相同的功能并且具 有類似的限制。
全PKI的另一個選擇是用戶發行其本身簽署的證書。從安全性的 立場考慮,其不是完全理想的。在電子郵件的上下文中,用戶可能注 冊彼此的證書而不存在CA的相互干擾,并且通常是充分的。然而, 當獲得新的熟知(making new acquaintance)時,用戶有責任確定 是否證書合法。例如,任何人可以以某些公知的名人的名字產生自簽 署的證書。沒有認證機構(CA)的幫助,用戶必須確定是否電子郵件 的確符合名人的名字。這是不使用全PKI的限制。
本發明的目的是減輕或消除上述缺點中的至少一個。
發明內容
發明人認為密碼術可以用于限制不好通信的數量,例如垃圾郵 件,而不會阻礙正常的通信。該方案使用公共密鑰密碼技術。每個發 出消息包括對于來自發送者的消息數據的密碼才喿作的結果,或者完全 由結果構成。這些結果可以由接收者利用密碼技術認證。成功認證的 消息被發送到可信任的文件夾。未通過認證的消息被發送到不可信任 的文件夾,所述文件夾可以按照意愿被丟棄。可選的,來自公知垃圾 郵件制造者的消息在認證過程中可以被立即刪除。
在本發明的一個方面,在其被發送到接收者之前,發送者數字化 地簽署消息。每個電子消息系統的用戶具有一對密鑰,即一個公共密 鑰和一個私人密鑰。公共密鑰以可信任的方式在通信者之間共享,也 就是,在利用電子消息系統的選擇的通信者組內其被認為是秘密的。 在接收者從發送者接收可信任的消息時,對應的接收者首先接收發送 者的公共密鑰一次。接收到的公共密鑰被存儲在客戶端,并且被用于 認證數字簽署和選擇性地加密的電子消息。被成功認證的消息被發送
到可信任的或者優先的文件夾內。
對于代表用戶團體的組織,其消息服務器或者附屬的服務器可以 持有用戶的公共密鑰并且代表用戶認證。整個組織可以被認為是一個 用戶。組織可以具有一對代表組織的密鑰。通過一個非常簡單的步驟, 伙伴組織可以交換公共密鑰一次并且讓整個用戶團體彼此完全信任。 在消息服務器上執行認證,例如電子郵件服務器。
在本發明的另一方面,接收者的公共密鑰,而不是發送者,與接 收者的網絡地址一起被以公共可用的目錄形式出版或者以某些其他 的方式出版,所述其他方式允許其他方,也就是發送者,發送電子消 息到接收者。發送者獲得接收者的網絡地址并且加密要發送到接收者 的消息。
接收者(或者其消息服務器)統計校驗接收到的電子消息以查看 是否其類似隨機數據,所述隨機數據是加密消息的指示。如果是,這
些電子消息凈i^送到接收者的可信任的收件箱作為可信任的消息。如 果消息通不過任何檢查,電子消息被發送到不同的收件箱(不可信任 的收件箱)。對于發送者不加密的電子消息被發送到不可信任的收件箱。
另外,在本發明的另一方面,結合消息認證碼(MAC)通過密鑰 協議獲得密碼消息認證。MAC碼總是加入發出的消息。由接收者認證 的消息被存儲進可信任的收件箱內。未通過認證的消息纟id送到不可 信任的收件箱內。
在另一方面,本發明提供了上面所描述的幾個方面的各種組合和 子集。
為了進行說明而不是限制,通過例子的方式結合附圖對實施例進 行詳細的說明,其中
圖1是電子消息系統的整體原理圖,所述電子消息系統使用密碼 技術過濾電子消息;
圖2示出了圖1所示系統所使用的利用數字簽名過濾電子消息的 示例性過程的步驟;
圖3示意性地示出了圖1所示的電子消息系統的另 一個實施例,其 中,電子消息服務器代表系統的每個用戶執行并且認證加密操作;
圖4示出了圖l或圖3所示出的任一個系統所使用的示例性過程的 步驟,所述系統檢查消息數據的隨機性以過濾電子消息;
圖5和圖6示出了用于發送和過濾組電子消息的圖4所示的系統的 修改形式所使用的系統和方法;
圖7原理性地示出了現有技術的系統,其中,發送者認證和發送
電子消息到兩個接收者;
圖8示出了由圖7所示的現有技術的發送者和兩個接收者隨后發
送和接收認證的電子郵件的步驟;
圖9示出了由圖l和圖3所示的系統的用戶隨后發送和接收認證的 電子郵件的方法的步驟;和
圖10示出了由圖1和圖2所示的系統的用戶隨后發送和接收認證 的電子郵件的另一個方法的步驟。
具體實施例方式
通過說明本發明的原理的特定實施例的一個例子或者幾個例子 提供了下面的說明和在此描述的實施例。這些例子是為了說明本發明 的原理的目的而不是限制的目的。在隨后的描述中,說明書和附圖中 的相同的部件采用各自相同的附圖標記。
參考圖1,提供了電子消息系統的總體圖,所述電子消息系統使 用密碼技術以過濾電子消息。電子消息系統的一對通信者或用戶,也 就是第一用戶或者發送者20,和第二用戶或者接收者22通過網絡連 接24在用戶對之間交換電子消息。每個用戶具有一個網絡地址,在 所述網絡地址處用戶可以被聯系到。例如,在電子消息系統是電子郵 件系統的情況下,網絡地址是電子郵件地址。在電子消息系統是移動 電話文本消息系統的情況下,網絡地址為電話號碼。
所有發出的電子消息的消息彰:據,也就是,明文消息(clear text message) 26被發送者的密碼處理模塊28處理。可以理解,在該上下 文中,"明文"不僅僅指人類可讀文本,而是指通常的所有消息數據。 例如,S/MIME允許二進制數據的轉換,例如音頻數據和視頻數據和圖 像文件。這些二進制數據都稱為"明文"數據或者消息。而且,其包 括被密碼處理模塊28處理之前的所有消息數據并且不排斥已經為加 密形式的數據。可信任的消息(trusted message) 30由發送者的密 碼處理模塊28產生,所述消息包含由密碼處理模塊28在明文消息26 上的加密操作獲得的加密數據。換句話說,可信任的消息包括從對于 明文消息26的加密操作獲得的結果或者可以完全由該結果構成。
所有接收到的電子消息首先由接收者過濾器32掃描。過濾器32 使用密碼技術以過濾所有接收到的電子郵件。當然,以傳統技術為基 礎,過濾器32可以繼續監控垃圾郵件或者仿冒者的簽署的接收到的 電子消息,例如,主題行或者發送者地址掃描。系統的用戶具有兩個 文件夾或者兩個接收郵箱。通過過濾的電子消息被存儲在可信任的文 件夾34中;被過濾器拒絕的電子消息被發送到常規文件夾(regular folder) 36中。存儲在可信任的文件夾34中的電子消息視為具有較 高的優先級或者可信度,而常規文件夾36試圖持有相對較低優選級 的電子消息。可以理解,可以有多個接收等級,其需要對應多個接收 等級的多個文件夾或者接收郵箱。為了描述的方便,除了需要注意的, 在此僅僅示出和描述兩個郵箱。在認證結果的基礎上,利用加密技術, 把消息分發到不同的文件夾,因此從其他消息過濾可信任的消息。
盡管在此第一用戶標記為發送者20,當用戶對顛倒角色時,,也 就是,當第一用戶接收而第二用戶發送電子消息時,可以使用相同的 描述。僅僅為了說明的便利,第一用戶設定為發送者,第二用戶設定 為接收者。
而且,在說明書中,"發送者"可互交換地被用于指系統中發送 電子消息的用戶、由用戶使用的用于發送電子消息的消息軟件程序, 例如,電子郵件程序或者在其上執行用于發送電子消息的消息程序的
通常的計算機,除非文本需要其他的方式。通常目的計算機典型地具
有CPU、記憶存儲設備和存儲設備,都可以連接到CPU和輸入/輸出 (1/0)設備。消息程序可以存儲在存儲設備上。同樣地,術語"接收
者"被可交換地指系統中接收電子消息的用戶、用戶使用的用于接收 電子消息的消息軟件,或者在其上執行用于接收電子消息的消息程序 的通常計算機,除非上下文需要其他方式。
先于發送明文消息26,發送者20首先對于明文消息26執行密碼 操作。這些操作由發送者軟件的加密處理模塊28完成。依賴于期望 的過濾等級和在發送者軟件上施加的可接收的計算負荷等級,發送者 20可以從多個加密操作中選擇用于處理明文消息。可信任的消息30 的兩個例子為數字化地簽署消息38和加密消息40。例如,密碼操作 為數字化簽署明文消息26或者加密明文消息26中的一個。發送者20 簽署明文消息26,可信任的消息30包含由發送者20產生的數字簽名。 消息還可以由發送者20簽署并且然后利用發送者自己的私人密鑰加 密。可選地,發送者20從接收者22獲得公共密鑰并且利用從接收者 獲得的公共密鑰加密消息。
在接收消息的基礎上,接收者的過濾器32檢查過濾的消息。過 濾包括消息文本和在消息文本上的加密操作的掃描以認證消息為可 信任的消息。此外密碼操作還設計成探測消息包含對于明文消息26 的先前的一個或多個加密操作的結果。如果這種加密操作(或者多個 操作)的結果被成功地探測到并認證,消息成功地被認證。僅僅被成 功認證的消息被視為可信任的消息并且被發送到接收者可信任的文 件夾34中。
可以理解,在此描述的系統不是封閉的系統。也就是,存在系統
是使用系統或者接收者不知的密鑰,也存在其他可能。接收到的消息 因此完全地包括明文數據或者可以包括利用不知的密碼從加密操作 獲得的結果。未簽署的明文電子消息或者用未知的密碼簽署的消息被 直接發送到常規文件夾36中,或者拒絕箱(reject inbox)內。簽
署的電子消息也可以4t良送到常規的收件箱,所述電子消息以證書形 式用公共密鑰簽署,所述過濾器確定所述證書屬于一垃圾郵件制造
者。實行多個拒絕等級時,接收者22可以具有特定的文件夾,還有 可信任的文件夾以及常規的文件夾,以存放來自垃圾電子郵件制造者 的電子消息。 一旦探測,還可以被立即刪除被識別出來自公知垃圾郵 件制造者的電子消息。
一旦垃圾電子郵件的公共密鑰被探測到,其發送的所有垃圾郵件 消息將被拒絕或者刪除。這樣會迫使垃圾郵件制造者在其密鑰被識別 為屬于垃圾郵件制造者時產生新的密鑰。產生密鑰是相對昂貴的密碼 操作。垃圾郵件制造者在每次需要新密鑰時則會產生費用,并且可能 被迫使必須這樣做。這樣比僅僅產生或者仿冒某些新發送者網絡地址 可能需要更大的代價。因此,垃圾郵件會出現減少或者因強迫垃圾郵 件制造者產生用于避免垃圾郵件消息的自動拒絕或者刪除的計算費 用而^皮阻止。
每個接收者需要計算成本,意味著發送上萬電子消息的大量郵件 者具有額外的相當的費用,現在垃圾郵件制造者通常不會必然負擔這 樣的費用。這樣有助于減少發送垃圾消息或者仿冒的動機,由于其事 實上現在這樣做免費。
然而,產生密鑰的費用可能不是對垃圾郵件的充分的阻礙。垃圾 郵件制造者可能能夠負擔產生新的密鑰、簽署垃圾消息,并且然后發 送簽署的消息到上萬用戶。如強迫垃圾郵件制造者負擔用于發送垃圾 消息的計算費用的另 一個例子,密碼操作可以包括迭代計算以增加垃 圾郵件制造者的費用。迭代計算的一些例子包括重復很多次的散列或 者加密,例如上千次。迭代的次數依賴于期望的效果和相對于對手的 用戶的有關能力。需要迭代操作迫使垃圾郵件制造者每次發送都要做 更多的工作。然而,這些操作是對稱的,因此接收者或者至少代表他作。
優選地,操作是非對稱的,則進行的計算在發送者和接收者之間
不是平衡的。
一個這樣的例子用于解決小的離散對數問題,對于接收 者認證相對容易,而對于發送者產生比較昂貴。在拒絕服務攻擊中, 該方法有時候稱為才莫糊方法。
為了更有效的使用迭代計算或者模糊計算(puzzle)以增加發送 者對每個接收者的成本,發送者20需要對每個接收者22和消息進行 不同的計算或者不同的模糊(puzzle)。這迫使垃圾郵件制造者負擔 每個接收者和每條消息的計算成本,其嚴格地限制了垃圾郵件制造者 以實際上零成本發送大量垃圾消息的能力。 一些例子包括進行模糊或
者計算消息摘要函數、接收者標識符和可能的日期以阻止重放攻擊 (replay attack )。其他例子包括把模糊方法與消息認證的數字簽名 方法合并,或者通過基于每個接收者值例如包裝密鑰(wrapped key) W或每個接收者MAC標簽進行長計算或者模糊計算,后面將詳細地進 行描述。
強迫垃圾郵件制造者每次傳播做更多的工作的另一個例子是過 濾出未加密的消息。發送者20以多種方法中的任意一種加密發往接 收者22的消息。可以使用任何加密算法。例如,發送者20可以使用 公共密鑰并且進行公共密鑰加密(例如,ANSI 9.63中的ECIES)或 者發送者20可以使用Menezes-Qu-Vans tone (MQV)發送密鑰,并且 然后利用對稱密鑰方法例如AES加密消息.橢圓曲線密碼術(ECC )被 認為比River - Shamir - Adleman ( RSA )更適合阻止垃圾郵件和仿冒, 因為其公共密鑰操作對于發送者(也就是,垃圾郵件制造者)在計算 上比接收者更昂貴。而因為對于接收者加密更難而不是發送者,RSA 將把更少的負擔加到垃圾郵件制造者上,使得垃圾郵件制造者的任務 更簡單。
加密的消息趨向于類似具有很少冗余或者沒有冗余的隨機數據。 這些性質可以由接收者22利用以過濾出未加密的消息。位于專用的 消息服務器上的過濾器可以探測消息內容是否被加密,而實際上無須 對消息解密。過濾器可以快速地通過檢查消息格式執行該操作,并且 還通過檢查內容直接檢查是否出現了偽隨機,所述消息格式指示是否
使用了加密。例如,代替試圖解密已加密的消息,接收者22統計地 檢查接收到的電子消息以查看是否其類似隨機數據。某些普通的統計 查看包括公知的測試單比特、連續的、樸克(pokers )、游程(runs) 和自相關,如在Menezes、 van Oorschot和Vanstone的應用密碼學 手冊中第5.4. 4部分所描述。其他測試包^舌Maurer的通用的測試和 基于可壓縮性的其他測試。如果消息通不過一個或者多個統計的檢 查,消息一^1送到通常文件夾36;如果消息通過所有的統計檢查,消 息被視為可信任的消息并且被發送到接收者的可信任的文件夾34。幾 乎所有的未加密消息將通不過統計檢查并且纟皮發送到通常文件夾36 中。
對于發送到許多接收者的長消息,發送者可以用內容密鑰k加密 內容僅僅一次。然而,加密消息需要發送者做多次密碼傳輸或者密碼 協議操作,每個接收者一次,以安全地把加密密碼k傳送到每個接收 者。因此,垃圾郵件制造者和仿冒者將負擔每個接收者傳送密碼的成 本,此外還有加密操作。在另一方面,如上面所討論的,接收者可以 認證消息被加密,所述認證為相對較容易的操作。計算所需要的不平 衡會阻止垃圾郵件制造者發送垃圾郵件消息或者仿冒。
除了數字簽名,模糊和加密,密碼消息認證還可以由與消息認證 碼(MAC)結合的密碼協議實現。在該方法中,發送者20和接收者22 使用密碼協議機制以建立共享密鑰。在存儲和發送應用中,例如電子 郵件和文本消息,如果密碼協議機制是非交互式的則該方法為優選 的。更精確地, 一旦發送者20和接收者22具有彼此的公共密鑰,發 送者20產生接收者22的認證消息而無須接收者的參與。可信任的消 息30包括,在其他部件中,消息認證碼(MAC)。在接收消息后,接 收者22認證由驗證接收到的消息,利用接收到的共享密鑰和明文消 息26,所述驗證為接收到的MAC與本地計算得到的MAC是否相同。被 認證的電子消息被存儲進可信任的文件夾34內并且未通過認證的消 息被發送到常規的文件夾36。
可以使用允許該操作的任意密鑰協議。例如,靜態
Diff ie-Hel lman密鑰協議允許該操作,l-Pass Menezes-Qu-Vanstone (MQV)也允許該操作。所有這些機制都在用于S/MIME協議中的稱為 請求注解(RFCs)的IETF文件中進行了說明,所述S/MIME協議為用 于保護電子郵件的IETF協議。這些機制被說明為S/MIME技術中的稱 為"認證數據"的數據結構的一部分,所述數據結構是S/MIME的 "SignedData"數據結構的替代。
把密鑰協議與消息認證密碼結合的方法通常提供一種保證,即確 保發送者(其稱為"艾麗斯")不會被模仿,并且艾麗斯用與消息長 度總和接收者數量成比例的成本可以有效地認證消息。當接收者(例 如,鮑勃和查爾斯)保證消息被認證并且因此分發接收到的消息,其 獲得阻止垃圾郵件和仿冒攻擊的保護,只要他們信任Alice的公共密
鑰即可。這些將在下面進行詳細描述。
例如,假定艾麗斯為垃圾郵件制造者或者仿冒者,其傳播電子消 息到大量的接收者。假定鮑勃是接收者,并且使用過濾器,所述過濾 器分類電子消息,所述分類根據電子消息是否由可信任的公共密鑰認 證,或者僅僅由不可信任的公共密鑰認證,或者根本沒有認證。作為 垃圾郵件制造者或者仿冒者,艾麗斯使得其公共密鑰受到信任有困 難。即使她從CA獲得可信任的公共密鑰,很快艾麗斯為垃圾郵件制 造者或者仿冒者的事實被過濾器探測到。基于其公共密鑰,其證書或 者被廢除或者過濾器將拒絕或者刪除她的消息作為垃圾消息或者仿 冒。這些過濾器可以位于與具有接收者私人密鑰的機器不同的服務器 上,因為未認證的消息將不具有正確的格式。如果艾麗斯根本沒有認 證她的電子消息,然后過濾器將發送其電子消息到垃圾收件箱內,所 述垃圾收件箱鮑勃通常忽略。艾麗斯嘗試使用不可信任公共密鑰的折 中方案。然而,當她進行該操作時,她通常負擔基于每個接收者的成 本。對于每個接收者,她將需要使用密鑰協議計算。如果存在很多接 收者,則費用是很高的。如上面所描述的,在密鑰協議機制中還可以 包括迭代密碼計算或者模糊計算,從而進一步增加了艾麗斯的每個接 收者的費用。
可以理解,需要加密操作和認證,例如加密和認證,能夠引入加 載在發送者和接收者上的計算載荷不平衡的好處。加密或密鑰泄漏
(key passing)典型地需要強度大的數學計算。在接收端,統計校驗 為相對簡單的操作,所述操作趨于不把任意重大的載荷放置在接收者 或者接收者的消息服務器上。如此,垃圾制造者更可能被嚴重地妨礙 執行大量郵件而不顯著地影響接收者的正常的電子通信。
使用密碼技術過濾電子消息因此趨于阻礙用垃圾消息充斥大量 接收者。當選擇恰當的方法時,每次發送或者每次接收需要額外的計 算成本。通常,加密操作趨向于為計算加強過程。公共密鑰加密或者 密碼泄漏(key passing)典型地還需要程度強的數學計算。特定的 加密算法,例如ECC,對于發送者加密消息比對于接收者解密消息需
要顯著更多時間和處理能力。計算載荷的附加的不平衡趁向于提供附 加的障礙因素,并且引進附加的資源障礙以阻止用垃圾消息充斥大量
的用戶。
而且,在廣告運動中充斥大量接收者經常是期望的。廣告運動的 有效措施典型地與由接收者查看或者讀取的電子消息的百分比有關。 然而,為了使得這種電子消息的不加區分的傳播有效,每個目標接收 者必須首先接收發送者的公共密鑰,提供其公共密鑰,或者以密鑰協 議與發送者建立密鑰,這樣電子消息可以經過密碼過濾器成為"可信 任的消息"。否則,電子消息將發送到常規文件夾(regular folder ) 或者被拒絕。當接收者給常規文件夾設定較低優先權時,消息可能不 會被立即讀取或者可能根本不會被讀取。而且,如上面所描述的,因 為垃圾郵件制造者必須提供密鑰,與任意公知的垃圾郵件制造者的密 鑰有關的消息可以被立即刪除或者被發送到專門的垃圾郵件文件夾 中。需要電子消息包括來自加密操作的結果因此還趨向于強迫垃圾郵 件制造者負擔頻繁獲得密鑰的成本以用于傳播垃圾郵件消息。這些都 趨向于減少廣告運動的有效措施并且增加大量郵件的垃圾郵件制造 者的成本,并且因此趨向于阻礙以不加選擇的垃圾郵件廣播類型的努 力和資源的投入。
圖2示出了利用密碼技術過濾電子消息的示例性過程的步驟。發 送者20具有公共/私人密鑰對。可以理解,私人密鑰通常保密。例如, 發送者在硬件安全模塊中存儲私人密鑰以增加安全性。公共密鑰凈^C 送到發送者20期望與之通信的人。如第一步所示,發送者20以可信 任的方式發送公共密鑰(步驟210)到接收者22,所述接收者22接 收公共密鑰(步驟212 )。這樣在發送者20和接收者22之間建立了一 種信任關系,并且指示發送者20允許向接收者22發送電子消息。該 步驟通常僅僅需要執行一次。
接收者22通過,例如在存儲設備中存儲公共密鑰來接受公共密 鑰,所述存儲設備與接收計算機連接。接收者22還可以接受公共密 鑰,例如,通過通知發送者20其接受并且請求發送者20,以使得公 共密鑰可以在需要時被接收者22使用。盡管在此僅僅描述了一個發 送者,可以理解,接收者22可以決定從大量的可信任的發送者接受 多個公共密鑰并且因此能夠從他們接收可信任的消息。類似地,大量 的接收者可以接收單個發送者的公共密鑰,因此單個用戶能夠發送可 信任的消息到^f妄收者組。
一旦接收者22接收發送者20的公共密鑰,發送者20可以開始 發送可信任的消息到接收者22。可信任的消息的例子為由發送者20 簽署或者加密的消息。在步驟214,發送者20通過數字簽名其電子 消息產生可信任的消息30,也就是在消息文本(message text)中包 括數字簽名。發送者20可以選擇地用私人密鑰加密簽署的消息。利 用適于在步驟216的消息類型的任意標準消息傳輸協議,可信任的消 息,無論被加密的或者未被加密的,被發送到接收者22。例如,如果 消息為電子郵件消息,利用例如,簡單郵件傳輸協議(SMTP )或者X. 400 消息處理服務協議(MHS),可信任的消息30可以被傳送。或者,消 息可以為網絡電話消息,其中VoIP可以用于傳輸可信任的消息。
可選地,密碼處理模塊28可以解決離散算法問題并且包括在步 驟214與216之間的步驟的可信任的消息中的結果。可選地,或者另 外,密碼處理模塊28還可以執行某些迭代計算,例如,在步驟214
和216之間重復的離散或者加密,并且包括在可信任的消息30中的 結果。
接收者22接收可信任的消息30并且在步驟218認證數字簽名。 如果包括計算模糊或者迭代計算的結果,這時還認證結果。如果數字 簽名的認證(和其他密碼操作的結果,所述密碼操作被包括在可信任 的消息中)是成功的,推定接收到的消息確實來自接收者22。成功地 認證的消息被存儲在可信任的文件夾34中。如果認證失敗,或者如
果電子消息不包含數字簽名,推定電子消息不是來自可信任的用戶。 這些電子消息被存儲在常規文件夾36中。這樣完成了存儲或者過濾 電子消息的步驟(步驟220 )。
可以理解,對于將要成功認證的數字簽名,簽名生成算法和簽名 認證算法必須來自相同的簽名方案。可以使用任意數字簽名方案。一 些通常的例子包括ECDSA和數字簽名算法(DSA )家庭簽名方案(f ami ly signature scheme )。
僅僅發送者20能夠簽署其消息文本以產生可信任的消息30是不 必要的。類似地,僅僅接收者22認證并且過濾接收到的電子消息是 不必要的。參考圖3,示出了發送者一邊的單獨的發送者消息服務器 42和接收者一邊的接收者消息服務器44。發送者消息服務器42可以 服務除了發送者20的其他發送者20'并且接收者消息服務器44可以 類似地服務除了接收者22之外的其他接收者22'。
作為例子,發送者消息服務器42保存發送者私人密鑰的拷貝并 且接收者消息服務器44保存或者能夠訪問已經接受的發送者的公共 密鑰的拷貝。發送者20發送(forward)其明文消息26到發送者消 息服務器42。發送者消息服務器42簽署代表發送者20的消息文本 (message text)以產生可信任的消息30并且然后發送可信任的消息 30到接收者消息服務器44,所述發送者消息服務器42存有發送者私 人密鑰拷貝。接收者消息服務器44認證接收消息并且在認證結果的 基礎上,發送消息到可信任的文件夾34或者接收者22的常規文件夾 36 。消息加密和其認證可以用類似的方式執行。
在組織層次,消息可以由組織簽名。例如,電子郵件或者附屬月l 務器可以執行加密和簽名。另 一個例子是支持混合或者客戶端和組織 簽名。如果通過交換組織公共密鑰兩個組織彼此信任,則對于這些組 織的每個用戶沒有必要通過提供的他們單個的公共密鑰得到發送消 息的許可。在利用組織的公共密鑰和私人密鑰進行簽署和認證的基礎 上,這些消息將進入可信任的或者優先的郵件文件夾。
通過設定公共密鑰為唯一 DNS名字還可獲得可伸縮性 (scalability),因此實現公共密鑰的自動發送。
該系統與現有的消息系統共存而不需要大的改動(major overhaul )。所有用戶具有可信任的收件箱(也就是,優先的郵箱) 和常規收件箱。來自使用在此描述的加密方法的發送者的電子消息將 被成功認證。來自不使用加密技術的用戶的消息被視為常規消息并且 被發送到常規收件箱。在所有通信者利用在此描述的密碼技術移動 (migrate)到消息系統之前,接收者將需要周期地手動地檢查常規收 件箱。總有一天, 一個接收者可以移動到僅僅可信任的文件夾并且自 動刪除所有不可信任的消息。
用戶可以改變公共/私人密鑰對并且隨后通報其可信任的用戶團 體。 一旦可信任的用戶團體的用戶接收更新的公共密鑰,通過引進接 收執行此才喿作。這可以為"我的可信任的用戶組",所述組僅僅由接 收和/或包含由接收者接受的用戶。可信任的用戶團體為組織和用戶 的容易取得的列表。如果密鑰被危及安全,則發送者能夠通知其可信 任的用戶團體。用戶能夠改變其可信任的用戶團體并且如果期望的話 重新生成密鑰對。通過多點廣播,可信任的團體中的所有或者某些用 戶可以^皮提醒注意到此變化。
為了從接收者可信任的團體移除用戶,接收者22簡單地刪除以 前接收到的用戶的公共密鑰。任何用偽簽名發送的電子消息將被發送 到常規文件夾或者可以被立即刪除。如果用戶的私人密鑰是唯一的并 且保密,要欺騙系統是困難的。
參考圖4,示出了另一個過濾電子消息的例子的步驟。接收者22
具有公共/私人密鑰對。在發送者20能夠發送可信任的消息到接收者 22之前,在步驟410發送者20首先從接收者22獲得公共密鑰。公共 密鑰可以直接從接收者22獲得,或者可以從接收者22可利用的地點 獲得。這樣在發送者20和接收者22之間建立了可信任的關系。然后, 在步驟412,發送者20利用從接收者22獲得的公共密鑰加密其消息 數據以產生可信任的消息30。在這種情況下可信任的消息為加密消 息。在步驟414發送者20發送可信任的消息30到接收者22。
在接收到消息后,接收者過濾器32在步驟416執行關于消息的 統計測試,或者多個統計測試。該目的是確定是否接受到的消息類似 隨機數據。可以理解,加密數據不含冗余并類似隨機數據。這樣,在 關于消息的隨機性的統計測試結果的基礎上,完全由加密數據構成的 消息可以從未加密或者部分加密的文本中區別出來。
如果消息為或者類似隨機數據時,消息通過這些統計測試。類似 隨機數據的消息纟tt送到可信任的文件夾34。如果消息不能通過統計 測試中的一個,推定其不是可信任的消息并且被發送到不同的文件夾 中,也就是常規文件夾36中。發送到常規文件夾36的消息應該由接 收者22周期地手動查看以確定其是否為垃圾郵件消息。如果加密的 消息被用接收者公共密鑰加密,接收者可以在需要時利用公共密鑰加 密。如果接收者22不能夠具有或者訪問用于解密消息的密鑰,接收 者22不能夠訪問加密消息的內容。
盡管參考圖4所描述的方法需要接收者22的公共密鑰,所述方 法不限制于發送電子消息到單個接收者。組消息凈皮發送到可信任的用 戶組,所迷可信任的用戶分享普通公共/私人密鑰對。以組織等級實 現的系統的用戶都可以分享組織的普通公共/私人密鑰對。可選地, 在此描述的方法可以被稍微修改成用于發送可信任的消息到大量接 收者以作為組電子消息。
參考圖5和圖6,發送者20被示出發送消息到接收者22組。在 步驟610,發送者首先從每個接收者22獲得公共密鑰。可以理解,如 果發送者20與接收者22的組常規地通信,可以具有接收者組中的每
個的公共密鑰并且因此不需要在步驟610再次獲得公共密鑰。發送者 20選擇普通密鑰k。,并且在步驟612利用每個接收者的本身的公共密 鑰對k。加密。普通密鑰ke可以是對稱密鑰算法的密鑰。由于不同的公 共密碼被用于加密組的普通密碼k。,因此加密的普通密碼對于組中的 每個接收者22具有不同的形式。在步驟614以加密的形式發送者20 然后發送普通密鑰k。到接收者22中的每個。
接著在步驟616,發送者20利用普通密鑰k。加密消息數據。在 這種情況下可信任的消息30為用普通密碼k。加密的消息。在步驟618 發送者20發送可信任的消息到接收者22組。然后在步驟620每個接 收者22對接收到的消息執行一項或多項統計測試,并且在步驟622 中在測試結果的基礎上把消息分類到可信任的文件夾34或者常規文 件夾36。由于每個接收者22已經接收到普通密碼k。,當需要的時候, 接收者可以解密加密的消息。可以理解,盡管為了描述的方便,發送 普通密碼k。和發送加密的消息被描述成以單獨的步驟執行,在一個步 驟中普通密碼ke和加密的消息可以包括在由發送者20發送的相同的 電子消息中。這需要接收者或者其軟件程序能夠從加密的消息分離出 普通密鑰kc。
除了數字簽名和加密,認證的另 一種形式為與消息認證碼結合的 密碼協議,例如,對稱MAC。在這種方法中,發送者20和接收者22 使用密碼協議機制建立共享密鑰。需要注意,在S/MIME技術中稱作 "認證數據"的數據結構被指定為用于S/MIME協議的密碼交換機制。 當發送者希望認證發送到多個接收者的消息時,"認證數據"的現 有說明的一個公知安全性缺點出現。當前的標準說明允許以有效的方 式執行,但是以引起安全性問題(security concern)為代價。
在提供用于說明與MAC結合的密碼協議如何用于過濾電子消息的 例子之前,最好先了解安全性問題。考慮具有三個用戶的系統,如圖 7所示,發送者艾麗斯46和兩個接收者鮑勃48和查爾斯50。可以理 解,參考圖7和圖8下面所描述的情節不限于僅僅具有兩個接收者的 情況。
艾麗斯具有鮑勃和查爾斯各自的7>共密鑰,B和C,同時鮑勃和 查爾斯中的每個具有艾麗斯的公共密鑰A。艾麗斯希望認證并且發送 消息M到鮑勃和查爾斯。參考圖8,艾麗斯首先在步驟810選擇密鑰 k。然后在步驟812,艾麗斯計算標簽T-MAC(k,M)。 MAC的一個性質 為只有知道k的一方能夠正確計算T。因此,T可由知道k的有關方 使用以認證M。如果不知道k的對手試圖修改或者用另一個消息M' 替換M,則該對手將不能夠計算改變的標簽T' -MAC(k,M')。
現在艾麗斯具有k、 M和T。艾麗斯需要安全地向鮑勃和查爾斯傳 達k,因此他們可以認證T=MAC (k, M)。為了這樣做,艾麗斯在步驟814 使用與鮑勃和查爾斯各自的密鑰協議。艾麗斯同意鮑勃的密碼b和查 爾斯的密碼c。基于使用的密碼協議算法,艾麗斯需要分別發送一些 數值到鮑勃和查爾斯,比如,U和V,因此鮑勃和查爾斯可以利用密 碼協議計算建立的密碼b和c。使用b和c,艾麗斯將加密認證密鑰k, 使用的函數通常稱為密鑰包函數(key wrap function )。在步驟816 艾麗斯計算W-WRAP(b, k)和Z-慰P(c, k)。
在步驟818艾麗斯發送(U,W,M,T)到鮑勃和(V,Z,M,T)到查爾 斯。可選地,艾麗斯還可以發送(U,V,W,Z,M,T)到鮑勃和查爾斯。 需要注意,艾麗斯必須計算T僅僅一次,因為對于鮑勃和查爾斯艾麗 斯使用相同的認證密碼k。在此考慮到艾麗斯的效率,因為M可以包 含大量的數據并且計算T需要花費比較長的時間。如果艾麗斯對于多 個接收者中的每個必須使用不同的認證密碼并且消息較大,則艾麗斯 的成本將與消息大小和接收者的數量之積成正比。對于上面所描述的 有效的方法,由艾麗斯負擔的成本是與消息大小和接收者數量的總和 成正比,其可以大大小于所述之積。
為了更好的理解潛在的安全性危險,其有助于查看鮑勃和查爾斯 如何認證證書。考慮鮑勃,其接收數據(U, W, M, T )。首先,在步驟820, 鮑勃利用U和與艾麗斯的公共密鑰A的密碼協議算法計算b,所述b 為艾麗斯和鮑勃之間共享的密碼協議。然后在步驟822,通過計算k =UNWRAP(b, W),鮑勃利用b和W解密或解包證書密鑰k。 一旦鮑勃
具有k,則其在步驟824認證T-MAC(k,M)。查爾斯所做的計算類似。 如果鮑勃和查爾斯是誠實的,則上面的方法被認為是完全安全 的。然而,如果鮑勃是不誠實的,則鮑勃可以利用k修正或者代替發 送到查爾斯的消息。如果原始消息;陂艾麗斯發送到鮑勃和查爾斯,鮑 勃可以或者攔截原始消息(V, Z, M, T )以提取V, Z或者從(U, V, W, Z, M, T ) 提取V,Z。鮑勃選擇一些不同的消息M'并且計算T' -MAC(k,M') 并且發送(V,Z,NT , T')到查爾斯。鮑勃可以選擇地截取原始消息 (V,Z,M,T)以阻止其到達查爾斯,或者鮑勃可以僅僅在稍后發送
(v,z,m' ,r )。對于查爾斯,(v, z,m' ,r )似乎是可信地,其看
上去是艾麗斯所發送的。這種表象是錯誤的。鮑勃成功地扮演艾麗斯, 構成了嚴重的安全性危險。
如果鮑勃不能夠阻止有效的消息(V,Z,M,T)首先到達查爾斯, 并且查爾斯保證所有認證的消息具有不同的V和Z,則可以阻止上面 描述的攻擊。然而,當利用強的認證時不期望依賴于網絡消息到達的 順序。而且,對于查爾斯,保持并且檢查曾經由艾麗斯發送的V和Z 的所有過去的值可能是極其不方便的。
考慮到上面描述的安全問題,需要強的密碼技術以緩解與攻擊有 關的危險或者阻止所述攻擊。在此被描述的三個示例性方法說明了這 種技術的應用。參考圖9,對于艾麗斯,第一種方法中艾麗斯發送不 同的MAC標簽到每個接收者。繼續上面的例子,艾麗斯從步驟810到 816執行相同的步驟。在步驟918,艾麗斯計算X-MAC(b, T)和T-MAC (c, T)。艾麗斯發送X而不是T到鮑勃,并且發送Y而不是T到查爾 斯。換句話說,在步驟920,艾麗斯發送(U,W,M,X)到鮑勃并且發送 (V,Z,M, Y)到查爾斯。如前面的描述,鮑勃利用U在步驟820獲得b, 并且在步驟822解包W以獲得k,然后在步驟924計算MAC (k, M)。 鮑勃不具有來自艾麗斯的T以檢查這種不同,因此鮑勃繼續計算 MAC(b, MAC(k, M))并且在步驟926相對X比較該標簽。鮑勃檢查X - MAC (b,MAC (k, M))以認證M。類似地,查爾斯檢查Y-MAC (c, MAC (k, M)). 現在,鮑勃攻擊查爾斯的失敗,因為如果鮑勃用M'代替M并且計算
T' -MAC(k,M),由于鮑勃不知道c,鮑勃仍舊不能夠計算Y'= MAC (c, T)。
參考圖IO,對于艾麗斯的第二種方法是包括MAC標簽T作為WRAP 函數的認證參數。在步驟1022當鮑勃和查爾斯分別解包W和Z時, 他們將查看T被用作參數并且在步驟1024, M能夠被成功地由作為 WRAP函數的認證參數T進行認證。如果消息被成功認證,其被發送到 可信任的文件夾34,否則,其被發送到常規的文件夾36。
可以理解,當T被包括為WRAP函數的認證參數時,解包過程可 以探測T的任意修改。因此,鮑勃被阻止發起對查爾斯的扮演艾麗斯 的攻擊,由于查爾斯將探測并且拒絕修改的標簽T'。在該方法中, 標簽T通常被嵌入到W內,因此在消息之后通常沒有必要發送T。可 選擇地,T可以在W的外面,W僅僅包含足夠的信息以認證T,在這種 情況下T必須祐發送。
對于艾麗斯的第三種方法包括MAC標簽T作為在修改的步驟814 中密碼協議機制的部分。大多數密鑰協議機制利用密碼生成函數 (KDF)以計算來自粗共享密鑰(raw shared secret) s的密鑰k, k -KDF(s)。然而,由于各種原因,這些粗共享密鑰可以包含一些可探 測的圖案,所述圖案可能會引進安全性危險。現代密鑰生成函數 (modern key derivation function)包4舌可選擇的參凄tP, 因jt匕k-KDF(s, P)。在可選的KDF參數中,艾麗斯可以包括T。這樣做阻止了 鮑勃的攻擊,因為如果鮑勃改變T',則查爾斯將得到不同的密鑰協 議c'而不是艾麗斯所用的密鑰c。
在上面所描述的第二和第三種方法中,艾麗斯可以選擇改變發送 到鮑勃(和查爾斯和其他接收者)的數據流的順序。不是在消息之后 發送給鮑勃標簽T,在消息M之前艾麗斯能夠發送標簽T (在第二種 方法中如果艾麗斯仍然需要發送T )。對于鮑勃的優點是鮑勃將具有值 T,所述值T用于找到認證k(因為T被包含到解包函數中或者密鑰生 成函數中)。這些使得在鮑勃接收到消息M之前k可用,因此當接收 到M時允許鮑勃開始計算MAC (k, M)。這樣在存儲器內首先代替了緩沖
M,然后計算k和計算MAC (k, M),其需要M的第二次通過。換句話-沈, 鮑勃可以使用數據流處理。相反,如果艾麗斯希望使用數據流,則艾 麗斯寧愿在M之后發送U、 W和M,因此當艾麗斯計算T = MAC (k, M)時, 艾麗斯發送M,并且然后計算和發送U和W。
可以理解,利用MAC用于認證在此描述的消息的示例性方法可以 與大多數密鑰協議機制一起工作,包括對稱的和非對稱的機制。
加密發送到多接收者的電子消息還有助于減輕上面所述的認證 的安全性問題。假定艾麗斯加密發送到鮑勃和查爾斯的電子消息。當 查爾斯從艾麗斯接收消息并且發現所述消息包含僅僅艾麗斯能夠知 道的敏感內容,查爾斯自然地斷定是艾麗斯發送的該電子消息。這稱 為固有認證(implicit authentication )。如果鮑勃是誠實的,則固 有認證是合理的,因為現在大多數存在的加密算法具有這樣的性質, 即如果對手試圖篡改加密的文本,然后解密時,在某種程度上會出現 斷章取義。如果解密的消息出現未經篩選的并且包含僅僅艾麗斯知道 的信息,則查爾斯能夠推出沒有對手能夠發送消息或者修改消息。但 是如果鮑勃不是誠實的,則鮑勃將得知艾麗斯的在消息中的秘密并且 能夠修改消息,并且為查爾斯重新加密。這種攻擊基本上與對于外在 的認證的攻擊相同,并且相同的方法可以用于阻止該攻擊。
無簽名認證(signature-free authentication)是期望的。用 簽名認證不具有每個接收者費用(除非與模糊或者長計算結合),因 此不會如利用密碼協議和MAC —樣有效地阻止垃圾郵件。不使用認證 簽名的另一個優點被認為似是而非的否定(plausible deniability) 或者阻止偷偷摸摸的發送(surreptitious forwarding)。當艾麗斯 簽署一些事情以認證發送給鮑勃,鮑勃將能夠證明給其他人艾麗斯簽 署的東西。在現在的大多數協議中,艾麗斯將簽署消息的內容。這使 得鮑勃能證明給其他人艾麗斯簽署的消息,如果消息為合同或者其他 協議,其對于鮑勃可能是非常期望的。然而,艾麗斯可能不希望這樣。 實際上,手寫簽名的通常原理是限制一個人的簽名。能夠把該原理擴 展到數字簽署會比較有利。因此,如果艾麗斯想做的是認證其本身,
艾麗斯寧愿不簽署任何事情。換句話說,如果艾麗斯認證發送到鮑勃 的消息,艾麗斯寧愿鮑勃不能為查爾斯證明艾麗斯簽署由鮑勃接收到 的消息,或者以任何方式使用其私人密鑰。
此部分方案是對于艾麗斯簽署認證密鑰k的函數,并且然后計算 消息的MAC標簽T, T-MAC(k,T)。鮑勃將知道艾麗斯簽署的k,所述 k指示艾麗斯認證發送到鮑勃的消息M。但是因為鮑勃能夠用M'替代 M并且用T'替代T,鮑勃不能向查爾斯證明,艾麗斯簽署的M。這可 以由使用密鑰協議獲得,其根本沒有留下證明,艾麗斯為鮑勃認證的 事情。可以用于該目的的合適的密鑰協議包括MQV和靜態-靜態DH, 但是沒有其他協議,例如包括數字簽名的站到站協議。
對于上面所解釋的阻止垃圾郵件和仿冒,盡管ECC被認為比RSA 更適合,使用用于無簽名認證的RSA其期望,例如,當用戶僅僅可用 RSA時,這可以存在于某些已經存在的配置的遺留系統(legacy system)中。現有的RSA標準僅僅允許簽署和公共密鑰加密,但是不 包括可以安全地與MAC結合的密鑰協議機制。現有的RSA標準需要數 字簽名。下面提供了一種機制,即為何RSA可以用于認證而不必產生 數字簽名。
為了獲得RSA的無簽名^人證,艾麗斯和鮑勃產生幾乎相同大小的 RSA公共密鑰A和B。盡管艾麗斯和鮑勃可以使用對下面所描述的方 法的正確修改的不同的公共指數,為了簡單,假定艾麗斯和鮑勃使用 相同的公共指數e。艾麗斯和鮑勃的私人指數分別為a和b。優選地, A和B為效率原因而大小接近。公共密鑰A和B可以在大小上非常不 同,但是可能效率受損失。艾麗斯選擇隨機認證密鑰k,并且計算Z =(F (kAe mod B)) Aa mod A。當計算Z時,與常規的RSA操作不 同,k不是填補上的因此不包括冗余。變換F是固定的,公共可逆函 數。例子包括識別函數(也就是,F變換本身的映射)和具有固定的 公共密鑰的對稱的加密函數。艾麗斯計算T-MAC(k,M)并且發送 (Z,M,T)到鮑勃。鮑勃計算k- (G (ZAe mod A)) Ab mod B,其中, G是F的反函數,因此對于所有的x, G(F(x)) =x。艾麗斯需要嘗
試多個密鑰k以保證鮑勃能夠從Z恢復k。非常粗略地,通常艾麗斯 平均需要B/A次嘗試獲得密鑰k。如果B和A接近,則這樣做是沒有 問題的。需要注意的是,鮑勃可以選擇某個Z,然后計算k。換句話 說,艾麗斯和鮑勃平等地能夠產生相應的對(k, Z)。因此,鮑勃不 能向查爾斯證明艾麗斯產生對(k, Z),因為查爾斯將知道鮑勃能夠 容易地已經產生(k, Z)。使得此成為可能的是艾麗斯私人密鑰操作 的輸入不具有冗余,然而在通常的RSA數字簽名中,輸入具有冗余, 因此僅僅艾麗斯能夠產生簽名。可以理解,從k到Z的計算包括應用 一系列基本轉換操作,所述操作包括艾麗斯的私人RSA操作,鮑勃的 公共RSA操作,固定的通常的公共操作,以及其他組合,其安全性和 有效性的變化程度有所不同。上面所描述的方法是優選的,可以相信 對于這些安全的組合是最有效的。
從上面的討論可以理解,加密才喿作已經被利用以提供過濾器,該 過濾器可從其他消息分離可信任的接收到的消息,并可由于額外的強 制的計算成本而阻止大范圍的傳播。
本發明的各種實施例已經被詳細描述。本領域技術人員可以理 解,可以對實施例做大量的修改、適用和變化而不偏離本發明的范圍。 由于對于上面所描述的最好的實施方式的改變或者增添都不偏離本 發明的本質、主旨和范圍,本發明的保護范圍由所附的權利要求確定 而不限于這些細節。
權利要求
1.一種把從可信任的發送者接收到的電子消息與電子消息系統中的其他消息隔離開來的方法,包括以下步驟對來自可信任的發送者的電子消息的明文消息執行密碼操作以獲得結果,在該電子消息中包含該結果,在接收到電子消息后,認證該結果為從對明文消息的密碼操作獲得的,在成功認證后,把該電子消息標記為優先的消息,并且在標記優先的基礎上分離接收到的電子消息。
2. 根據權利要求1所述的方法,其特征在于,密碼操作比認證操作 需要更多計算。
3. 根據權利要求1所述的方法,其特征在于,所述結果為可信任發 送者的數字簽名,其從簽署明文消息獲得;認證電子消息包括認證數字簽名。
4. 根據權利要求1所述的方法,其特征在于,所述結果為明文消息 的加密消息,并且認證電子消息包括認證加密消息。
5. 根據權利要求4所述的方法,其特征在于,認證加密消息包括執 行統計校驗以確定加密消息是否類似隨機數據。
6. 根據權利要求4所述的方法,其特征在于,認證加密消息包括解 密加密消息。
7. 根據權利要求1所述的方法,其特征在于,所述結果為消息認證 碼(MAC )。
8. —種分離接收者的電子消息的方法,包括以下步驟 為了預定的加密操作的證據,檢查由接收者接收到的電子消息,和 在檢測證據后,從沒有所述預定的密碼操作的證據的消息中分離電子消息。
9. 一種過濾電子消息的方法,包括以下步驟 認證電子消息中的數字簽名,并且如果認證失敗,刪除電子消息。
10. —種過濾電子消息的方法,包括以下步驟 對于電子消息的偽隨機性執行統計校驗,并且 在其不能通過統計才交驗時,刪除電子消息。
11. 一種過濾電子消息的方法,包括以下步驟 認證電子消息中的消息認證碼(MAC),并且 如果i人^正失敗,刪除電子消息。
12. —種維護來自可信任的電子郵件通信者列表的電子消息的方法, 包括以下步驟從可信任的電子郵件通信者中的每個獲得公共密鑰, 利用可信任的電子郵件通信者的一個的公共密鑰,認證接收到的電 子消息是否包含從密碼操作獲得的結果,并且 如果認證失敗,刪除接收到的電子消息。
13. —種第一通信者發送電子消息到第二通信者的方法,第一和第 二通信者中的每個具有一對RSA公共密鑰和私人密鑰,并且第一和第二 通信者中的每個具有另一通信者的RSA公共密鑰的已認證的拷貝,包括 以下步驟用第二通信者的RSA公共密鑰加密電子消息, 應用變換到所述加密的電子消息以獲得變換的消息; 利用笫一通信者的私人密鑰把RSA解密應用到所述變換的消息上以 獲得結果,并且發送所述結果到第二通信者,其中,所述加密和解密l乘作不包括冗余。
14. 根據權利要求13所述的方法,其特征在于,還包括以下步驟 用第一通信者的公共密鑰解密所述結果以獲得解密的結果, 對所述解密結果應用反變換以獲得反變換結果,所述反變換為所述變換的反函數,通過把RSA解密操作應用到對于第二通信者的私人密鑰的所述反變 換結果,恢復電子消息。
15. 根據權利要求14所述的方法,其特征在于,所述電子消息為認 證密鑰。
16. —種第一通信者發送電子消息到笫二通信者的方法,第一和第 二通信者的每個具有公共密鑰和私人密鑰對,并且第一和第二通信者中 的每個具有另一通信者的公共密鑰的認證拷貝,包括以下步驟選擇認證密鑰,計算來自電子消息的消息認證碼(MAC)和認證密鑰,用第二通信者的公共密鑰加密所述認證密鑰以獲得加密密鑰,對第 一 通信者的私人密鑰的加密密鑰進行解密以獲得變換的密鑰,并且發送電子消息、MAC和變換的密鑰到第二通信者。
17. —種發送電子消息到一組接收者的方法,包括以下步驟 對于電子消息的明文執行密碼操作以獲得結果, 在該電子消息中的包括該結果,并且 發送帶有該結果的電子消息到接收者組。
18. 根據權利要求17所述的方法,其特征在于,所述加密操作包括 接收者特定的操作,所述接收者特定操作包括在發送者和接收者之間同 意的一個秘密輸入。
19. 根據權利要求18所述的方法,其特征在于,所述接收者特定操 作計算包含在所述結果中的消息認證碼(MAC),基于所述秘密輸入計算 所述MAC,并且通常MAC由對所有接收者普遍的共享密鑰計算得到。
20. 根據權利要求18所述的方法,其特征在于,還包括以下步驟 計算消息認證碼(MAC),由所述秘密輸入用密鑰生成函數計算密鑰,所述密鑰生成函數包括 作為輸入的所述MAC;其中,所述密鑰被用于所述密碼操作中。
21. —種與電子消息系統一起使用以分離可信任的消息的系統,電 子消息系統從發送者到接收人傳送電子消息,所述系統包括連接到電子消息系統的密碼處理器,用于執行對于來自可信任的發 送者的、發給一接收者的電子消息的密碼操作以獲得結果;用于發送所述結果到所述接收者的裝置;和用于接收所述結果并且:t笨測在所述結果中的所述密碼梯:作的證據的 連接到電子消息管理系統的過濾器,在成功探測到所述證據后,所述過 濾器標記所述電子消息為可信任的消息。
22. 根據權利要求21所述的系統,其特征在于,所述密碼處理器包 括用于加密所述電子消息以獲得作為結果的加密消息的加密模塊。
23. 根據權利要求22所述的系統,其特征在于,所述過濾器包括用 于基于統計檢查纟笨測加密的裝置。
24. 根據權利要求21所述的系統,其特征在于,所述過濾器包括解 密模塊。
25. 根據權利要求21所述的系統,其特征在于,所述密碼處理器包 括用于產生數字簽名的裝置,所述結果為所述數字簽名,并且所述過濾 器包括用于認證所述數字簽名的裝置。
26. 根據權利要求21所述的系統,其特征在于,所述密碼處理器包 括用于產生所述電子消息的消息認證碼的裝置,所述結果為所述結果, 并且所述過濾器包括用于認證所述消息認證碼的裝置。
27. 根據權利要求21所述的系統,其特征在于,電子消息包括用于 發送消息的發送者消息服務器和用于接收電子消息的接收者消息服務 器,并且所述密碼處理器從所述發送者消息服務器接收所述電子消息, 所述結果被發送到所述接收者消息服務器,并且所述過濾器接收所述電 子消息和來自所述接收者消息服務器的所述結果。
28. —種用于發送來自發送者的電子消息到接收者的電子消息系統, 所述電子管理系統從其他消息分離可信任的電子消息,包括用于從發送者獲得電子消息的裝置;用于對于電子消息執行密碼操作以獲得結果的密碼處理器; 用于發送電子消息到接收者的發送者消息服務器; 用于接收電子消息的接收者消息服務器;用于探測所述結果中的所述密碼操作的證據并且在所述證據的成功 探測到后,用比沒有證據的其他消息的高的優先權標記所述電子消息;和用于發送所述結果到過濾器的裝置。
29. 根據權利要求28所述的電子消息系統,其特征在于,還包括 用于存儲具有證據的所述消息的優先的消息文件夾;和用于存儲所述其他消息的常規消息文件夾。
30. 根據權利要求28所述的電子消息系統,其特征在于,還包括 用于存儲所述接收者的加密密鑰的數據文件;其中,所述密碼處理器包括用于利用所述加密密鑰加密所述電子消 息以獲得作為所述結果的加密的消息的加密單元。
31. 根據權利要求30所述的電子消息系統,其特征在于,所述加密 密鑰為所述接收者的公共密鑰。
32. 根據權利亞求30所述的電子消息系統,其特征在于,所述過濾 器包括用于解密所述加密消息的解密單元。
33. 根據權利要求28所述的電子消息系統,其特征在于,所述密碼 操作包括解決離散對數問題并且所述探測包括認證所述離散對數問題的 方案。
全文摘要
不期望的電子消息,例如未請求發送的垃圾電子郵件,不僅僅是麻煩的事情,而且還浪費計算機和用戶資源。相反,對具有敏感內容的期望的電子消息進行保護是很重要的,這樣消息不會被偽造、篡改或者泄漏。因此,本發明提供了一種加密方法,其可以同時保護電子通信并且過濾垃圾郵件。
文檔編號H04L9/30GK101107805SQ200680002789
公開日2008年1月16日 申請日期2006年1月20日 優先權日2005年1月20日
發明者丹尼爾·布朗, 托尼·羅薩蒂, 斯科特·A.·萬斯通 申請人:塞爾蒂卡姆公司