密碼技術

IT_Lifeng發表於2016-06-12

要理解SSL就必須理解密碼系統、訊息摘要函式(單向或雜湊函式)和數字簽名,這些技術是許多文獻所討論的主題(比如[),提供了保密性、完整性和認證的基礎。

密碼系統

假設Alice想給她的銀行發一個訊息以劃轉資金,並希望這個訊息是保密的,因為其中含有她的帳號和劃轉金額等資訊。一種方案是使用密碼系統,將要傳輸的資訊轉變為加密形式,從而只能為希望他讀懂的人讀懂。一旦加密為這種形式,這條訊息也許只能用一個金鑰來破譯,如果沒有,那麼這條資訊毫無用處,因為好的密碼系統可以使破譯難度高到入侵者認為原文不值得他們花費那麼大的努力。

常規密碼:又稱為對稱密碼,需要傳送者和接收者共同持有一個金鑰:一小段用來加密和解密的秘密資訊。如果這個金鑰是保密的,那麼這條訊息除了傳送者和接受者以外可能沒有人可以閱讀。如果Alice和銀行共同持有一個金鑰,則可以互相傳送保密資訊。但是,私有通訊金鑰的選擇行為本身,卻可能不是無懈可擊的。

公共金鑰密碼:又稱為不對稱密碼,定義了一種使用兩個金鑰的演算法以解決金鑰交換問題,一個金鑰用於加密,另一個用於解密,從而使簡單公佈一個金鑰(公共的金鑰,簡稱:公鑰)而保留其他的(私有的金鑰,簡稱:私鑰)以接收保密訊息成為可能。

任何人都可以用公鑰加密一條訊息,而僅允許私鑰的持有者閱讀。如此,Alice就可能使用公鑰加密其保密訊息,傳送給私鑰的持有者(銀行),只有銀行能夠對它解密。

訊息摘要

雖然Alice可能加密其訊息使它稱為私有的,但仍應注意到某些人可能會篡改或替換其原始訊息,以劃轉資金到他們自己的帳戶。一種保證Alice訊息完整性的方法是同時發一個其訊息的簡單摘要給銀行,供銀行與訊息本身比對,如果相符則訊息正確。

這樣的方法被稱為訊息摘要、單向函式雜湊函式。訊息摘要用於對較大而且變長的訊息建立較短而且等長的一種表述,其設計使將摘要還原成訊息極其困難,而且對兩個不同的訊息幾乎不可能生成相同的摘要,從而排除了替換一個訊息為另一個而維持相同摘要的可能性。

Alice面臨的另一個挑戰是要保證摘要傳送到銀行的安全,如此,才能確保訊息的完整性。

一種解決方法是在摘要中包含數字簽名。

數字簽名

當Alice傳送訊息到銀行,銀行需要確認此訊息的確是她傳送的,而不是入侵者盜用其帳號。為此,可以在訊息中包含一個由Alice建立的數字簽名

數字簽名是以加密的訊息摘要和其他資訊(比如一個流水號)以及傳送者的私有金鑰建立的。雖然任何人都可能用公共金鑰解密簽名,但是隻有簽發者知道其私有金鑰,也就是,只有金鑰的持有者才能簽發。包含在簽名中的摘要只對該訊息有效,以確保沒有人可以改變摘要而保持簽名不變。

為了避免簽名日後被入侵者破譯和再利用,簽名包含有一個流水號。如此,萬一(只是假設)Alice並沒有傳送此訊息,雖然她可能真的簽發過,銀行可以免遭其欺詐性指控。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31051128/viewspace-2118769/,如需轉載,請註明出處,否則將追究法律責任。

相關文章