密碼學:如何保護你的秘密

各種各樣的計算技術可以保護您的資訊和線上活動的隱私,達到您想要的任何程度和細微之處

扎克決定試用線上約會服務 Chix-n-Studz.com。他在該網站上註冊了一個帳戶,並填寫了幾個螢幕的表格,詳細說明了他的個人資料以及他在潛在伴侶中尋找什麼。很快,該服務為他提供了一些可能的靈魂伴侶,其中包括聽起來非常令人興奮的溫迪。他把他的電子郵件地址和希望是有趣的開場白資訊傳送給她。她直接回復了他,一場旋風式的網上情緣開始了。

可憐的扎克。很快,他也開始接到許多政治行動團體和銷售人員打來的不請自來的電話,他們似乎瞭解他的一些事情,而且他的健康保險公司正在詢問他關於他極限冒險假期的事情;Chix-n-Studz 的不擇手段的所有者一直在出售客戶資訊。還有伊萬,一位愛惡作劇的同事,扎克愚蠢地向他展示了溫迪的一封電子郵件。扎克不知道,隨後幾條據說是溫迪發來的最近的訊息實際上是伊萬偽造的。

相比之下,愛麗絲正處於幸福的巔峰,她的新朋友鮑勃也是如此。兩人透過 SophistiCats.com 相遇,這是一個提供所有最新加密工具的婚介服務。愛麗絲登入該網站,受到匿名授權的保護,該系統確保服務中的任何人都無法追蹤她的身份或她何時訪問該網站。SophistiCats 採用提供“安全函式評估”的軟體來匹配她的個人資料和伴侶標準與鮑勃的,因此服務中的任何人都不知道他們的資訊,甚至不知道她和鮑勃已經配對成功。想象一下:一個完全有效的約會服務,幾乎對其客戶一無所知!


支援科學新聞報道

如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保有關塑造我們當今世界的發現和思想的具有影響力的故事的未來。


愛麗絲使用一項稱為匿名頻道的功能聯絡了鮑勃,而鮑勃也以同樣的方式回覆——甚至她的網際網路服務提供商 (ISP) 都不知道鮑勃是她的聯絡人,也不知道訊息的內容,而鮑勃的 ISP 對她的瞭解也好不到哪裡去。然而,愛麗絲的室友伊芙確實知道,但這僅僅是因為愛麗絲談論過鮑勃,並且在她電腦上方釘了一些訊息的列印稿。伊芙可能會帶來麻煩,因為她是一個鐵桿的惡作劇者,完全有能力侵入和更改流向和來自愛麗絲電腦的資料(事實上,她控制著連線他們倆與網際網路的網路)。不用擔心:加密確保伊芙除了愛麗絲給她看的東西外,什麼也學不到,並且愛麗絲和鮑勃的電子郵件上的編碼“數字簽名”使他們很容易發現並忽略伊芙的欺騙性訊息。 

關於加密的一切
像愛麗絲和扎克一樣,我們大多數人每天都在電子方式進行許多個人、商業和政府交易。我們線上做很多事情——從與朋友保持聯絡到買賣一切,包括廚房水槽——以至於獲得關於大多數人的全面資訊就像記錄或記錄他們的線上活動一樣容易。出於各種原因,ISP 已經在記錄我們的活動,例如我們訪問過的網站以及何時訪問。他們並不孤單。我們線上互動的許多實體——商店、報紙、約會網站和類似網站——也在密切關注我們。因此,如果我們重視隱私,我們面臨的挑戰是如何利用網際網路提供的一切,而又不放棄我們的隱私。

現代密碼學的一個驚人發現是,幾乎任何涉及電子通訊的任務都可以私下進行。許多人,包括大多數詞典的編輯,錯誤地認為“密碼學”是加密研究的同義詞。但現代密碼學包含的內容遠不止於此。它為保護通訊和計算免受各種惡意行為提供了數學方法——也就是說,為保護我們的隱私和安全提供了工具。

例如,假設一個透過網際網路連線的群體中的所有成員都想計算一些依賴於他們每個人資料的東西——每個人都希望這些資料保持私密。資料可能是他們在選舉中的選票,他們想知道結果,但又不想透露自己的個人選票。一種稱為多方計算或安全函式評估 (SFE) 的程式使他們能夠以這樣一種方式統計他們的選票,即每個參與者都能瞭解正確的輸出,並且沒有人能夠了解任何人的個人選票——甚至包括能夠攔截網路上的訊息並替換他們自己精心製作的虛假資料的惡意內部人員聯盟。SFE 協議還可以為每個人提供私人輸出,就像虛構的 SophistiCats 服務所做的那樣。

SFE 背後的基本思想是,每個參與者的輸入都被分成幾部分或份額,並在組內的其他人之間分配。然後,每個參與者對他或她控制的份額進行操作(新增它們、重新分配結果的份額等等)。最後,該組再次將這些部分組合在一起以獲得最終輸出。沒有人擁有重建另一個人的輸入所需的資料。

像加票數這樣簡單的函式可以安全地評估,這似乎並不令人驚訝,但回想一下 SophistiCats 為愛麗絲所做的事情:它計算出了在其數千名客戶中哪些成員與她非常匹配,並給了她一些關於這些匹配的有限資訊,而它自己卻對她的個人資料或任何其他人的個人資料一無所知。一個竊聽網路流量或梳理 SophistiCats 硬碟驅動器資料的“老大哥”組織也同樣無法瞭解任何資訊。

SophistiCats 是一項虛構的服務,但密碼學研究人員已經展示瞭如何將其變為現實。事實上,今年 1 月,SFE 被用於解決實際問題(至少在丹麥)——根據大約 1200 名丹麥農民私下輸入的出價,設定在他們之間交易的甜菜合同的價格。透過 SFE,我們都可以兩全其美:我們想要透過網際網路實現的功能,而又不犧牲隱私。

儘管 SFE 協議使廣泛的功能成為可能,但其強大功能和通用性是有代價的:它需要大量的計算和通訊。該協議對於選舉等特殊任務來說足夠高效,但對於每次您點選安全網頁的連結時都投入使用來說太麻煩了。相反,計算機科學家開發了專門的協議,這些協議對於特定的常見任務來說比 SFE 高效得多。這些包括

加密。 愛麗絲的 ISP 和伊芙都無法解密愛麗絲髮送給鮑勃的訊息。愛麗絲的電腦和 SophistiCats 之間的流量也是安全的。

身份驗證。 愛麗絲可以確信訊息來自鮑勃,而不是伊芙。

匿名頻道。 愛麗絲的 ISP 無法知道她向誰傳送了訊息,或者她是否訪問過 SophistiCats 網站。

零知識證明。 愛麗絲可以向某人證明某事是真的,而無需透露她的證明是什麼。

匿名授權。 SophistiCats 知道她是會員,當她訪問其網站時,但它無法知道她的身份。此協議是零知識證明的特例。

秘密訊息
密碼學研究中最古老、最基本的問題之一是加密——如何在不安全的通道(對手可以在其上竊聽的通道)上安全通訊的問題。愛麗絲想給鮑勃發送一條訊息,但伊芙控制著愛麗絲將使用的部分通道(透過公寓的網路)。愛麗絲希望鮑勃,而不是伊芙,能夠閱讀訊息。

在分析這個問題時,首先要注意的是,鮑勃必須知道一些伊芙不知道的東西——否則伊芙將能夠做鮑勃能做的任何事情。鮑勃的私人知識被稱為他的金鑰 (SK)。其次,請注意,愛麗絲必須瞭解鮑勃的 SK 的一些資訊,以便她可以專門為鮑勃建立一個密文——加密訊息。如果愛麗絲知道 SK 本身,則該協議稱為金鑰加密,這是一種已經為人所知和實踐了幾個世紀的加密型別。

1976 年,當時都在斯坦福大學的惠特菲爾德·迪菲和馬丁·E·赫爾曼設想了另一種可能性,稱為公鑰加密,其中愛麗絲不需要知道 SK。她所需要的只是一個與 SK 相關的公共值,稱為鮑勃的公鑰 (PK)。愛麗絲使用他的 PK 加密她的訊息,只有鮑勃可以使用他的 SK 解密生成的密文。伊芙也知道鮑勃的 PK 也沒關係,因為她不能用它來解密密文。迪菲和赫爾曼提出了公鑰的想法,但不知道如何實現它。一年後,當時都在麻省理工學院的羅納德·L·裡維斯特、阿迪·薩米爾和倫納德·M·阿德曼給出了第一個公鑰密碼系統的構造:RSA 演算法。

他們的演算法適用於公鑰加密,因為它涉及所謂的陷門函式。這種函式很容易計算以生成密文,但很難反轉以恢復明文,除非使用特殊的“陷門”。陷門充當金鑰。RSA 演算法是具有陷門屬性的函式的第一個示例。由於這項工作,他們獲得了 2002 年圖靈獎,這是計算機科學領域最負盛名的獎項。

RSA 的發現被譽為密碼學的根本性突破,它推動了隨後多年在加密和更廣泛的密碼學領域的研究。從尋找新的陷門函式,到研究支撐特定函式安全性的數學假設,再到精確定義加密系統被認為是安全的要求,加密方面仍然有很多艱苦的工作要做。

公鑰加密使得線上購買商品成為可能,而無需在網際網路上公開發送信用卡號等敏感資訊。客戶的 Web 瀏覽器扮演愛麗絲的角色,而網站扮演鮑勃的角色。更一般地說,大多數瀏覽器現在都支援的協議 https 使用公鑰加密來提供透過加密通道進行的 Web 瀏覽——在 URL(網站地址)中查詢“https://”以及瀏覽器狀態列上的閉合掛鎖等圖示。

許多人還使用公鑰加密來保護電子郵件的安全。存在大量用於此目的的免費軟體,包括 GNU 隱私保護軟體包(可在 www.gnupg.org 獲取),該軟體包由自由軟體基金會十年前首次釋出。如果您不加密您的電子郵件,它會以易於閱讀的形式在網際網路上傳輸,並且可能會在沿途的各種硬碟驅動器上以該形式保留一段時間。

嗨,是我!
與加密問題密切相關的是身份驗證問題。假設愛麗絲收到訊息“愛麗絲,請給伊芙寄 100 美元。愛你的,鮑勃。”她如何知道這真的是她的男友鮑勃發來的,而不是伊芙偽造的?

正如在加密場景中一樣,鮑勃必須知道一些伊芙不知道的東西,以便他(而不是伊芙)能夠生成一條愛麗絲會接受的訊息。因此,鮑勃再次需要一個金鑰。此外,愛麗絲需要了解鮑勃的 SK 的一些資訊,以便能夠驗證訊息是否來自鮑勃。同樣,存在兩種協議:金鑰身份驗證(更常被稱為訊息身份驗證程式碼)和公鑰身份驗證(通常稱為數字簽名方案)。迪菲和赫爾曼在提出公鑰加密的同時,首次設想了數字簽名方案,而使用 RSA 演算法的方案是第一個構建的方案。

主要思想是鮑勃使用他的 SK 計算一個“簽名”,他將其附加到他的訊息中,然後愛麗絲或任何其他人使用他的 PK 驗證它是否與訊息本身匹配。愛麗絲知道訊息一定是來自鮑勃,因為沒有人擁有生成有效簽名所需的 SK。

目前,很容易欺騙電子郵件客戶端,使其認為訊息來自鮑勃,而實際上它來自伊芙。欺騙性電子郵件可能包括虛假新聞報道和不正確的股票報價,從而欺騙人們做出違揹他們最佳利益的行為。但是,如果所有電子郵件通訊都經過身份驗證,則這種攻擊將是不可能的:您的電子郵件客戶端將對所有外發訊息進行數字簽名,並驗證所有傳入訊息的數字簽名。身份驗證還可以透過讓伺服器拒絕未經發送者身份驗證的傳入電子郵件來打擊垃圾郵件。身份驗證協議在 20 世紀 70 年代開發電子郵件時並不存在,並且那個時代的許多約定仍然盛行。

每個人都可以用來簽署他們的電子郵件和驗證簽名的軟體是免費提供的,例如,作為前面提到的 GNU 隱私保護軟體包的一部分。

洋蔥路由
透過加密您的訊息,您可以防止 ISP(或任何其他竊聽者)發現您傳送和接收的內容,但不能阻止他們發現您與誰通訊。例如,如果愛麗絲瀏覽戒酒互助會網站,她的 ISP 將會知道。想象一下,如果 ISP 將此資訊出售給汽車保險公司。人們將不太可能在網上尋求幫助,因為他們會擔心這會增加他們的保險費。

這個問題可以透過 SFE 解決:愛麗絲的私有輸入將是她想檢視的 URL,而她的私有輸出將是她想看到的網頁內容。然而,使用 SFE 將非常低效。1981 年,當時在加州大學伯克利分校的大衛·喬姆提出了一個更簡單的解決方案,稱為匿名頻道,現在也稱為洋蔥路由。

顧名思義,愛麗絲將她的訊息包裹在多層中。她使用不同人的公鑰加密每一層(以及其中的所有內容),然後將該人的地址新增到該層的外部。從愛麗絲到鮑勃的訊息可以按如下方式傳播:愛麗絲將洋蔥傳送給馬克,馬克可以透過使用他的金鑰解密洋蔥的最外層來剝掉最外層。在裡面,馬克找到了一個更小的洋蔥和麗莎的地址。他將該洋蔥轉發給麗莎,麗莎可以使用她的金鑰解密它,依此類推。最後,鮑勃從某人那裡收到洋蔥核心,他解密它以找到愛麗絲的訊息。

在實踐中,中介機構是計算機網路的一部分,該網路設定為自動處理解密和轉發。理想情況下,每個中介機構不斷接收大量洋蔥並以隨機順序轉發它們。即使 ISP 一直在監視所有中介機構,它也無法知道愛麗絲的訊息傳送到哪裡或鮑勃的訊息來自哪裡,前提是網路上有足夠的洋蔥流量。

鮑勃自己也不知道是誰傳送的訊息,除非愛麗絲選擇在訊息中透露她的身份。然而,即使她對他保持匿名,如果她包含一個“回覆洋蔥”,其中包含將訊息路由回她所需的地址層和公鑰,他仍然可以給她傳送匿名回覆。

即使一些中介機構洩露了關於他們正在做什麼的資訊,愛麗絲和鮑勃的訊息仍然可以保持無法追蹤。隨著越來越多的參與者使用該系統並自願將其計算機用作中介機構,就越難弄清楚誰在與誰交談。

與電子郵件的加密和數字簽名一樣,任何人都可以使用免費軟體透過匿名頻道進行通訊或作為中介機構參與其中。例如,洋蔥路由器 (Tor) 專案可以在 www.torproject.org 找到。

私人登入
假設愛麗絲訂閱了線上雜誌《SophistiCat 美國人》。她透過匿名頻道連線到該雜誌,使用她的使用者名稱和密碼登入,並妥善保管所有傳入和傳出的訊息都已加密。這是否意味著她可以放心,沒有人會發現她在網上做什麼?當然不是——該雜誌確切地知道愛麗絲在做什麼。

愛麗絲可能會嘗試在使用假名訂閱時掩蓋她的蹤跡,但這個假名使用者的閱讀習慣可能會很快指向愛麗絲的身份。她可能會透露她的郵政編碼以檢視天氣預報,輸入她的出生日期以檢視她的星座運勢,並透過閱讀有關乳腺癌等主題來洩露她可能的性別。這三條資訊——郵政編碼、出生日期和性別——足以唯一識別 87% 的美國人口 [參見辛普森·L·加芬克爾的“世界資訊,聯合起來!”]。

令人驚訝的是,愛麗絲的問題有一個密碼學解決方案,稱為匿名授權。愛麗絲可以在每次訪問該雜誌的網頁時向該雜誌證明她是一個有效的訂閱者。然而,這個證明並沒有透露她是哪個訂閱者——甚至沒有透露,比如說,她是幾個小時前訪問它的人。該協議是更一般的零知識證明協議的特例。

透過零知識證明,愛麗絲可以說服鮑勃某個陳述是真實的,而無需透露它為什麼是真實的,或者實際上,無需透露任何額外資訊。為了證明“我是《SophistiCat 美國人》的授權使用者”這一陳述,該線上雜誌或第三方服務會在愛麗絲訂閱時向她頒發唯一的憑據——類似於金鑰的東西。每次該雜誌隨後對她提出質疑時,她都會使用該金鑰來證明她擁有有效的憑據,而無需透露憑據本身。憑藉來自各個機構的憑據,愛麗絲可以提供更復雜陳述的零知識證明,例如“我是授權使用者並且已滿 18 歲”。

在對頁框中描述的場景中,說明了零知識證明如何工作的基本思想,其中愛麗絲向鮑勃證明她已以特殊方式為圖表著色(技術上,她已“為圖著色了三種顏色”),而沒有向鮑勃展示她是如何著色的。為圖著色三種顏色是一個所謂的 NP 完全問題 [參見斯科特·阿倫森的“量子計算機的侷限性”,《大眾科學》,3 月刊]。對於目前的討論,關於“NP 完全”重要的是,您可以選擇任何您擁有合理簡短證明的陳述,並虛構愛麗絲和鮑勃的遊戲版本,以給出您的陳述的零知識證明。

三種顏色著色協議演示了使零知識證明成為可能的原理,但它在實踐中效率不高——類似於通用安全函式評估效率不高的方式。幸運的是,密碼學研究人員針對特定型別的憑據開發了類似的協議,這些協議可以用於高效的匿名授權。

破解密碼
安全有多安全?當愛麗絲將訊息加密給鮑勃時,伊芙解密該訊息有多難?如果伊芙有一些內幕知識或機會來試圖玩弄系統會怎樣?例如,她可能已經知道一些關於加密訊息的資訊——例如,它是愛麗絲和鮑勃第一次面對面見面的當地咖啡館的名稱。或者,如果“鮑勃”是一個安全的 Web 伺服器,伊芙可能會發送精心選擇的亂碼來代替密文,並從其響應中瞭解有關其金鑰的線索。公鑰加密的廣泛接受的安全定義涵蓋了所有這些基礎,並要求伊芙甚至不能獲得一點可用資訊。在其他方面,GNU 隱私保護軟體包通過了測試。

分析密碼系統的安全性是一門高度發達的科學。與普遍看法相反,密碼學不是一場貓捉老鼠的遊戲,其中一個系統被假定為安全僅僅是因為沒有人展示如何破解它。相反,密碼學的許多構建塊都依賴於經過充分研究的數學問題。密碼學家無法絕對肯定地證明這樣的密碼系統是牢不可破的,但他們確實證明,任何破解它的演算法也會回答一個難倒了最優秀的數學家和計算機科學家的基本問題。

一些協議僅取決於特定型別的數學函式的存在。例如,密碼學家知道如何從任何陷門函式構建公鑰密碼系統。因此,如果有人破解了 RSA 中使用的函式,則可以替換其他仍然有效的函式。

只有極少數情況下,一個方案被認為是安全的,更多的是臨時性的。但這只是在世界各地數百名領先的研究人員對該演算法進行了數年的研究之後才完成的。密碼學社群只能負擔得起對少數關鍵構建塊執行該過程。然後,他們假設構建塊的安全性來證明較大系統的安全性。有關密碼系統安全性背後假設的更多資訊,請訪問 www.SciAm.com/sep2008

密碼學協議可以為看似不可能的隱私問題(例如匿名授權)提供出人意料的通用解決方案。但是我們面臨的許多隱私問題在本質上似乎不是密碼學的。如果愛麗絲在現實世界中受到持續監視,那麼她的線上活動是安全的只是小小的安慰。在倫敦,攝像頭已經在公共場所監視,以維護治安。也許,為了保護隱私,建築物所有者可以管理來自其財產上攝像頭的資料,並且 SFE 可以操縱資料,例如,跟蹤離開犯罪現場的嫌疑人,而無需將其他所有人的活動儲存在中央資料庫中。更一般地說,當隱私受到公共監視等系統的威脅時,我們應該問問自己,該系統試圖解決什麼問題?我們能否透過在解決這些問題時使用密碼學來保護我們的隱私?

注意:這個故事最初印刷時的標題是“如何保守秘密”。

© .