2009-11-11 57 views
5

假設您有一個相互SSL服務,除SSL以外,還有應用程序認證。因此,客戶端提供證書(以及服務器),但是客戶端請求(例如,REST請求)也包含後端應用服務器認證的用戶名/密碼。相互SSL - 多少認證就足夠了?

就客戶端認證的「程度」而言,似乎有多個層次。一個級別(a)僅用於客戶端提供由服務器CA商店中的CA簽名的證書。另一個明顯的級別(b)是服務器在(a)之前加上確保應用程序憑證是正確的。第三級(c)是做(a)和(b)加上確保客戶證書與帳戶唯一關聯。 (c)的好處是它可以防止「受信任的CA」信任的人濫用非法獲取的應用程序密碼。我認識到這一切都不太可能,但我想知道在多大程度上(c)被認爲是相互SSL的一部分,而不僅僅是(a)或(b)?

+0

你需要所有三個,你需要第四個整個步驟:*授權,*即這個用戶被授權訪問這部分的應用程序? – EJP 2016-11-30 02:20:26

回答

0

是的,我正在考慮something similar

您可以做的一件事是爲您的應用程序提供一個單獨的不包含任何CA的信任庫。通過這種方式,您可以使用您已授權的自簽名證書爲客戶提供訪問權限。

+0

不會。這會將認證與授權混爲一談。它們本質上是不同的東西。 SSL將爲您完成很好的身份驗證,但它根本無法進行授權:只有應用程序可以執行此操作。 – EJP 2016-11-30 02:21:30

0

我假定「相互SSL」意味着TLS v1.0,1.1或1.2同時具有基於服務器和客戶端證書的身份驗證,並且「相互SSL的一部分」指的是TLS規範的一部分。

使用這種解釋,只有(a)是相互SSL的一部分。 TLS規範包括與SSL握手消息共享證書。它不包括用戶名/密碼檢查或檢查帳戶的SSL證書。