2013-10-13 28 views
2

我試圖從Microsoft http://technet.microsoft.com/en-us/library/ms189586.aspx瞭解此頁。爲什麼非對稱密鑰更安全?

根據文檔「......它們提供比對稱加密更高級別的安全性」。我得到你首先使用對稱加密數據,然後使用另一種方法(對稱或非對稱)加密該密鑰,以避免重新加密數據以及速度優勢。

我沒有得到的是爲什麼選擇不對稱對稱爲第二級更安全?僅僅是因爲不對稱可以通過數據庫主密鑰加密?是否有可能讓一個用戶將數據加密到同一數據庫上的另一個用戶呢?我不明白你在數據庫中會有什麼其他優勢。

+0

這個問題似乎是題外話題,因爲它是關於密碼學而不是編程。 –

+0

不確定爲什麼主題問題已更改。我的問題是特定於SQL Server非對稱密鑰如何在數據庫中的用戶之間起作用 – ElPresidente

回答

4

鑑於沒有上下文的引用的頁面我會承擔他們的意思上:

在對稱密鑰體制的人誰擁有共享祕密密鑰加密或解密任何東西。在非對稱密鑰使用中,不存在單個共享密鑰。

由於Wikipedia notes中,「......要求雙方有機會獲得密鑰是對稱密鑰加密的主要缺點之一......」

響應添加評論

假設我有一個數據D,我想用對稱共享密鑰進行加密。我計算S(D)得到D'。如果您有密鑰需要解密D',您還有密鑰來計算E ⇔ E'其中EE'是任何簡單和密碼文本。

反之在非對稱加密,如果我用我的祕密密鑰來計算P(D)得到D''所有你必須提供給你的是我的公鑰,它允許你計算Q(D'') → DP(x)不提供給你,讓你不能創建新的密碼文本。你不能使用我的私鑰,因爲你沒有它。你不能放棄我的祕密或自己使用它,因爲你從未擁有過它。這就是共享密鑰(對稱)密碼從根本上不如公鑰(不對稱)密碼安全的原因。

+0

我從其他人處發送信息的角度來看,爲什麼不對稱在這方面更好。但是在SQL Server裏面,誰是第二方?是否只有其他人可以加密只能由您的帳戶解密的信息? – ElPresidente

+0

感謝您的補充。從SQL Server上下文中我可以看到,非對稱密鑰必須屬於特定的SQL Server登錄名,因此只能從該帳戶進行解密。相反,對稱密鑰可以被多個帳戶使用。雖然看起來有一個SQL對稱密鑰的AUTHORIZATION參數,但您確實想用證書或非對稱密鑰來控制它。我希望我的理解是正確的 – ElPresidente

+0

我想這實際上取決於您的加密信息是否供第三方使用,如果不是,那麼公鑰變得不那麼有用。 – bendataclear