2010-10-05 174 views
47

我使用HTTPS連接而沒有有效的SSL證書。連接安全嗎?信息是否被加密?沒有有效的SSL證書,HTTPS連接是否安全?

+10

如果沒有SSL證書,您不能使用https連接,可以嗎?您可能是指使用*自簽名*證書 – 2010-10-05 15:15:12

+0

爲什麼這屬於超級用戶? – SilentGhost 2010-10-05 15:15:38

+2

沒有任何信息或連接是安全的。如果互聯網是一系列管子,那些管子是半透明的,任何人都可以通過它們看到你的應用。 – Moses 2010-10-05 15:15:57

回答

53

即使SSL證書無效(過期,蛇油,不可信CA等),連接也會被加密。 SSL證書驗證只是確保您連接到您認爲要連接的人員。如果解密數據的人是餅乾而不是PayPal,加密對你沒有任何好處。

+2

但就這一點而言,證書仍然是必需的(無論是否有效) – 2010-10-05 15:17:11

+3

是的,但您可以在幾秒鐘內生成一個自簽名證書。我把這個問題當作是問你是否需要一個有效的證書。 – ceejayoz 2010-10-05 15:18:15

+1

在這種情況下,你是正確的,但是問題是證書是否是必需的 - 它是或不會被加密。 – 2010-10-05 15:21:49

2

沒有。使用HTTPS時你所做的是告訴瀏覽器通過不同的端口連接(443),而通常你通過(80)連接。沒有證書,服務器會拒絕連接。沒有證書,HTTPS是不可能的。看看這裏,你會看到一個certificate is needed它的工作。

+0

瀏覽器詢問您是否信任連接,如果我接受此連接,傳輸的信息仍未加密? – user466981 2010-10-05 15:17:36

+4

如果您的瀏覽器要求您信任無效的證書,則信息將被加密。你無法驗證接收它的人是否合法。 – ceejayoz 2010-10-05 15:19:20

+0

這意味着證書可能是自簽名或過期的(這就是爲什麼它會問你是否確定)。問題是,是否需要證書 - 它是。 – 2010-10-05 15:20:05

9

如果沒有驗證SSL證書,那麼截獲通訊渠道的人可以獲取連接到https://www.acmebank.com的請求,將其自己的請求發送到www.acmebank.com,並與acmebank.com和用戶。之後,它可以接收來自用戶的每一小部分數據,用用戶的密鑰解密,並用acmebank的密鑰進行加密,並使用來自acmebank.com的數據進行同樣的操作。最終的結果是,用戶和acmebank都不會看到任何錯誤,但攔截器將能夠解密用戶和acmebank之間的所有數據。用戶和銀行將使用不同的密鑰來處理他們的通信,但是兩個實體都不知道這一點。向協議添加任何標準方面以查詢正在使用哪個密鑰將無濟於事,因爲攔截器可以檢測到這些查詢並適當地更改響應。

SSL通過要求主機向接收方發送主機正在使用的密鑰的副本,以入侵者無法僞造的形式加密來防止中間人攻擊(除非入侵者至少可以僞造CA憑證)。如果沒有使用CA頒發的證書,對於中間人攻擊幾乎沒有保護措施,儘管加密層可以防止會話內容的被動或回溯式解密(順便說一句,我希望有一些標準的東西在未加密的通信和SSL之間,在被動或追溯解密是主要威脅的情況下,但我不知道任何)。

+0

基本上你說的是沒有證書使用SSL是毫無意義的,對付有經驗的黑客 – bobobobo 2013-04-07 07:01:29

+0

@bobobobo:沒有證書的SSL可以防範某些威脅,但不能防禦其他威脅。這種保護是否有用取決於所需保護的類型。如果每一方都有通過外部渠道確認的證書被另一方保護,則不需要由外部證書頒發機構頒發的證書。例如,即使沒有證書頒發機構,銀行也可能在廣告牌上張貼他們自己頒發的證書的指紋,在他們的所有廣告和郵件中指定這些...... – supercat 2013-04-08 15:12:12

+0

......廣告牌可能被發現的位置,以及有人看這樣的廣告牌,以確保他們沒有被篡改。當他們的客戶第一次連接到銀行時,他們的客戶可以確認他們收到的證書是否有正確的指紋。在實踐中,這會非常麻煩,很少有客戶想要打擾它;讓SSL自動使用來自少數信任機構的證書,極大地簡化了事情。 – supercat 2013-04-08 15:14:59

23

事實上,使用Diffie-Hellman或類似的密鑰交換算法,可以在沒有證書的完全陌生人之間建立加密連接。

愛麗絲和鮑勃同意隨機數x。 Alice計算 x a,其中a是一個只有Alice知道的大素數,並將其發送給Bob。 Bob計算x b並將其發送給Alice。愛麗絲計算(X b一個,和Bob計算(X 一個b。由於(X 一個b = (X b一個 = X AB,Alice和Bob現在都知道電話號碼X AB,並且可以使用它作爲加密密鑰。這樣做的好處是,鮑勃不知道一個,翹不知道b,任何竊聽者也不知道號碼(因爲計算一個X 一個,在案件數量龐大,需要數年時間)。

正如supercat指出的,這本身仍然容易受到中間人攻擊,這就是爲什麼至少事務的一端需要使用證書進行身份驗證的原因。然而,準確的說,它不是檢查這個的服務器,而是瀏覽器,如果證書無效(甚至可能是垃圾),大多數瀏覽器都會讓用戶繼續。在這種情況下,連接仍然比常規連接安全得多。要收聽,您需要能夠操作IP路由或DNS查找,並且您必須在首次創建連接之前對其進行設置,這並不容易。

順便說一下,證書中的密鑰對是而不是什麼是用於加密實際流量;它們被用來爲一個更快的對稱密碼(如DES)建立一個新的一次性密鑰,然後完成剩下的工作。

+1

注意:我想你忘了提及所有的計算都是在模塊N中進行的,其中N是Alice和Bob同意的另一個大數字。還要注意,X和N都不需要是隨機數 - 它們甚至可以是硬連線到算法中的常量;只有a和b是變量和祕密。 – 2013-05-07 19:32:19

+0

需要注意的是,這必須首先在瀏覽器中實現,對嗎? – Amunak 2013-05-30 07:53:54

0

可以建立一個加密的連接,是的,但它仍然是可能的,你正在與破解的cpmputer而不是真正的服務器進行通信。就像那樣,破解的計算機告訴服務器他將成爲客戶端,解密所有數據,存儲它並將加密數據發送給客戶端(並告訴他他將是服務器)。因此,如果服務器和客戶端之間沒有易受攻擊的地方,這是沒有人能夠保證的,這只是一個安全的連接。

5

不要再打擾無效的SSL證書。您現在可以像生成蛇蠍(自簽名,瀏覽器無效)證書一樣輕鬆地爲您的服務器生成免費的瀏覽器有效證書。去看看https://letsencrypt.org/它是免費的,並可以捐款。

+0

這是一個很有前途的解決方案,特別是對於那些你不能要求人們支付「可信」證書的項目。我希望不存在因非技術原因吊銷證書的意思,我擔心政府和企業的審查。我在贊助商名單中看到Facebook,但並沒有讓我放心。 – gouessej 2016-01-22 12:55:56

+0

真的嗎?除非你打算有一個安全的兒童色情網站或一些新的世界秩序的恐怖分子狗屎,你沒有什麼可隱瞞或恐懼的...... – 2016-01-22 14:11:13

+0

起初,我對兒童色情不感興趣。其次,佩雷認爲戴高樂是一個「恐怖分子」,而他組織對納粹的抵抗,它顯示了經常用來對付政治對手的「恐怖主義」這個詞的主觀意義,每個人都可以成爲別人的「恐怖分子」。第三,ISRG證書政策在其「禁止證書使用」中沒有提及兒童色情和恐怖主義,因此措辭不太準確。 – gouessej 2016-01-22 19:55:03