2011-05-27 47 views

回答

1

傘兵,

當客戶端庫首先嚐試到SQL Server/SQL天青連接時,它發送一個初始連接的請求。考慮這個「預連接前」請求。此時,客戶端不知道是否需要SSL /加密,並且等待SQL Server/SQL Azure的答案以確定整個會話是否確實需要SSL(而不僅僅是登錄序列,整個連接會話)。在響應中設置了一個位,表示如此。然後客戶端庫斷開並重新連接這些信息。

考慮位於客戶端和SQL Azure(或SQL Server)之間的代理。客戶端與代理進行通信,代理與SQL Azure/Sql Server進行通信。如果您不強制客戶端上的加密位,則將其留給代理以加密或不加密會話。代理可以加密後端的連接(它必須用於SQL Azure),但不能連接到客戶端,因此訪問所有敏感數據。因此,檢查加密框繞過了「預連接前」請求,該請求阻止代理關閉代理客戶端上的加密位,從而避免了中間人攻擊。

希望這是有道理的...... :)如果你下載Wireshark並觀察預登錄數據包會發生什麼,你會明白我的意思。選中該框會更改登錄前握手機制,以避免我描述的中間人攻擊。

+0

哇!有趣的現象!謝謝。 – 2011-05-28 07:46:41