2016-03-08 116 views
0

我正在構建我的第一個Web應用程序,我有兩個關於安全性的問題。瞭解SSL證書類型

  1. 我會發送和POST要求我 API將在Azure上或AWS託管收到非常敏感的數據。我可以通過SSL以明文形式發送和接收 數據嗎,它是否安全?我可以通過https訪問我的 天藍色網站,是否足夠安全,還是應該購買另一個 SSL證書?

  2. 我已經搜查了一點,有不同類型的SSL證書 的,我讀了一些證書提供綠色的掛鎖或綠色地址欄,但因爲我的web應用程序只 將我不需要這樣的東西可用於我的移動應用程序,並且不會有內容可供瀏覽。只有一個頁面帶有下載鏈接到我的移動應用程序,以防有人發現這個網站。那麼對於我的情況,所有證書都是安全的?

P.S.如果這是相關的,我不會添加自定義域名。

回答

2

一次回答您的問題;

  1. SSL的現代的實現一般被認爲是相當 岩石固體;其使用的銀行,醫療機構,和主要 互聯網公司。以純文本格式發送數據,通過SSL,對於這些應用程序來說足夠安全,並且試圖用 代替SSL,您自己的加密方案几乎肯定比它的價值更麻煩。 您應該可能獲得自己的SSL證書;我不知道Azure在https訪問上有什麼限制(如果有的話),以及依賴於您無法控制的密鑰的慣例。

  2. SSL依賴於信任網絡;瀏覽器(和其他互聯網應用程序)驗證站點發送它們的證書是否與一組受信任的權限相關。如果證書已被批准 (使用授權機構的私鑰簽名),則瀏覽器接受 證書爲真品,並使用該證書與網站協商SSL連接 ,而無需進一步投訴。這就是綠色 掛鎖/地址欄的意思;一個網站提供了由瀏覽器信任的授權機構簽署的有效的 證書。但這並不是 ,這意味着簽名證書本質上比 未簽名證書更安全。兩者都使用相同的密碼 算法,並且(可以)具有相同的長度密鑰,並且每個可以設置的SSL連接都同樣安全。兩者之間的差異 是您無法驗證 未簽名/自簽名證書的「真實性」;攻擊者可能會攔截 連接,並用自己的 證書替換未簽名的證書,並且瀏覽器無法判斷它是否獲得了 正確的證書。但是,您可以在 應用程序中克服此問題,但使用名爲「certificate pinning」的技術。 實質上,您將您的證書的公鑰與您的應用程序打包爲 ,並且您的應用程序只在設置連接時接受與該密鑰關聯的證書 。

最終,它取決於您的攻擊者模型。你是否保護這些數據免受犯罪分子和隨意竊聽者的侵害?或者你是否試圖將它從政府監視和情報機構中隱藏起來?對於前者,由信譽良好的權威機構簽署並簽發的SSL證書是綽綽有餘的。對於後者,你必須考慮你的證書來自哪裏,誰可以訪問發佈它的根CA;最好自己創建一個,並在SSL之上設計一些進一步的方案。

+1

關於「生成自己的」證書的最後部分假定OPs網站是安全的。 – zaph

+0

如果他的網站足夠危及攻擊者可能會影響SSL證書的生成,那麼攻擊者當然可以竊取任何購買的證書OP。否則,我不確定你的意思? –

+1

同意。如果服務器不比CA更安全,爲什麼要生成自己的證書?對於被OS /瀏覽器識別的CA,CA保護優於高於普通用戶的站點。 – zaph