我創建了一個網路應用程式,允許兩個設備通過網路服務器相互傳輸檔案。
該應用程式不支持點對點連接。
我正在努力實作一個點,即服務器可以為所有一對客戶端的檔案傳輸提供服務,而沒有辦法知道檔案的內容。
經過一番研究,我發現了一個方法,那就是使用 PKI。 所以我并不真正理解它是如何使其安全的。
所以目前我達到了這個地步:
客戶端A得到B的公鑰,反之亦然,并使用公鑰對檔案進行加密,另一方擁有私鑰對檔案進行解鎖。
然而,這可以被欺騙,如果服務器發送一個假的公鑰,例如,他自己的公鑰,然后解鎖檔案并保存在本地,然后使用真正的公鑰進行加密,這使得它不是100%可信。
現在PKI部分來了,它是使用像LetsEncrypt這樣的CA,但是A如何通過服務器獲得B的公鑰,而不給服務器一個欺騙和看到真實資料的選項?即使你發送了一個簽名的證書,如果其他客戶端可以使用它,那么服務器也可以這樣做?
uj5u.com熱心網友回復:
客戶端A得到B的公鑰,反之亦然,用公鑰來加密檔案,另一方有私鑰來解鎖檔案。
服務器沒有A或B的私鑰,因此通過服務器發送檔案或公鑰是相當安全的。 這就是PKI的含義......!
只有非對稱性密鑰才有可能被用來解鎖檔案。
只有非對稱密碼學不能幫助加密和解密大檔案,但它可以幫助你建立對稱密鑰。
在瀏覽器方面,你可以使用任何瀏覽器擴展來訪問用戶的證書存盤,以共享證書或進行解密。 我的公司提供免費的Signer.Digital瀏覽器擴展,該擴展在本SO答案
中有所記載。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/329557.html
標籤:
