2013-07-25 36 views
0

我正在考慮爲我的域安裝SSL/TLS。有兩個問題一直困擾着我:https可以回退到https和https的安全級別

  • 是否有任何情況下HTTPS連接可以退回到http?所以,對於例如如果我的AJAX看起來像這樣

    $.post("https://foo.com", function(){ 
    
    }); 
    

    是否有這可能改變

    $.post("http://foo.com", function(){ 
    
    }); 
    

    即使它不將我的域名是仍然在入店任何http://foo.com機會?

  • 接下來,我對使用SSL/TLS,從我讀過這似乎是相當準確的假設廣泛閱讀,如果我有這樣的啓用,即使我發送純文本格式的用戶憑據,它仍然是安全的(當然會有加密鹽和服務器上的所有內容)。在什麼程度上這是真的,並創建一個散列在客戶端,然後通過https發送更安全?

更新:如果發送明文通過SSL足夠安全,那麼什麼是真正使用像cnonce事情的意義呢?這不是客戶端上不必要的開銷嗎?

+0

否,SSL連接應該NEVER回落到一個普通的非加密的連接。這完全違背了使用ssl開始的目的。如果SSL無法運行,則連接應徹底終止而不是不安全。它會是這樣。 「哦,呃,監獄的公共汽車不行,在這裏,我們會通過出租車把這個危險的囚犯轉移出去,怎麼會出問題? –

+0

@MarcB尼斯類比:)並感謝您的評論。 –

回答

1
  1. 不,HTTPS從不會自動回退到HTTP。這將需要用戶採取有意的行動。如果您只是通過將網址放入地址欄來訪問網頁,這很容易;表單提交很難。

  2. 是的,通過SSL發送純文本很好。實際上,發送哈希密碼並不能真正提高安全性 - 如果有人設法嗅探連接並獲取哈希密碼,那麼他們只需要能夠登錄到該網站即可。它有一個小優點:如果用戶在多個站點使用相同的密碼,那麼瞭解一個站點的散列密碼並不能幫助他們進入使用不同散列(或不散列)的另一個站點。因爲客戶不知道鹽,因此發送鹽漬has不太可行。

一個cnonce增加了額外的保護水平。如果某人設法破解SSL加密,那麼cnonce會阻止他們從中獲取可用的密碼。這基本上解決了我上面提到的爲什麼發送哈希密碼沒有幫助:你需要的是從會話到會話的變化,而cnonce提供了這一點。

參見https://security.stackexchange.com/questions/3001/what-is-the-use-of-a-client-nonce

+0

非常感謝您的回答。這是否也適用於cnonce等的使用? (更新到我原來的問題) –

+0

添加一些關於cnonce的簡要信息,以我的答案。 – Barmar