當我們通過SSL傳輸數據時,我們確信這些數據不會被操縱或讀取。但我看到一些程序安裝在客戶端上,並且它們可以打開SSL數據包並顯示它們。因此,用戶會注意到我們正在發送的內容以及哪個端點。用戶然後可以重複請求,然後可能會導致一些問題。如果使用SSL,我們應該自己加密數據嗎?
那麼我們應該自己加密一些數據來強化這個過程還是不這樣做?我們可以依靠SSL來確保安全,還是應該添加一些糖?
當我們通過SSL傳輸數據時,我們確信這些數據不會被操縱或讀取。但我看到一些程序安裝在客戶端上,並且它們可以打開SSL數據包並顯示它們。因此,用戶會注意到我們正在發送的內容以及哪個端點。用戶然後可以重複請求,然後可能會導致一些問題。如果使用SSL,我們應該自己加密數據嗎?
那麼我們應該自己加密一些數據來強化這個過程還是不這樣做?我們可以依靠SSL來確保安全,還是應該添加一些糖?
的OpenSSL給出兩種形式的安全:通過你說給你所期望的服務器第三方擔保
如果您可以看到客戶端使用數據包分析器發送的內容(例如tcpdump或wireshark),那麼這可能意味着您的客戶端不會發送加密數據包,也不使用SSL。
如果你已經安裝的OpenSSL,你可以使用下面的命令,同時跟蹤數據包測試服務器:
的OpenSSL的s_client.First -connect my.server.com:443
注意,我認爲SSL連接在端口443(https)上建立。
然後,您可以通過在命令行中輸入數據並將其發送到服務器,並且應該對其進行加密。如果您使用的是Web服務器,則可以輸入GET命令,並返回網頁。當然,接收/發送的數據在終端上被解密,但它應該在通過wireshark/tcpdump觀察到的數據包中被加密。
我確定我通過https連接,但是一些程序,如Fiddler,在Android上的數據包捕獲......他們在您的設備上安裝證書,然後啓用打開https數據。不只是我的主機,但對於大多數使用https的網站,我可以看到從我的設備發送的數據! – BlackBrain
* SSL *提供*三種安全形式。 – EJP
除非它的證書被信任並且被應用程序接受或被這些應用程序錯誤忽略,否則這樣的程序不會成功。如果加密算法是安全的並且系統中沒有其他漏洞,則通過加密進行加密是毫無意義的。 – EJP
將數據發送到客戶端設備的整個要點是要讀取數據。如果您添加*另一層*加密,您將如何解密客戶端設備上的數據?並且不會有任何可以看到未加密的SSL流的用戶也看到這個額外的解密嗎?如果您不信任客戶端機器,請不要發送它 - 這是他們的機器,如果他們想要,他們將讀取數據。 –