2016-02-11 118 views
0

我正在使用Django rest框架爲我的客戶之一構建REST API。當客戶端通過API調用請求時,該應用程序提供一些敏感信息,例如密碼。Django rest框架:加密響應數據

現在,只有經過授權的客戶才能訪問該應用程序,此外,只有授權的IP才能連接。

但是如果有人在那個連接的中間聽着呢?他會清楚地看到所有的數據。

有沒有一種方法來加密這些信息,也許用一個密碼,然後解密它到達時? (客戶必須更新他的應用程序,但這不是問題)。

我在想也許在我的django應用程序中創建一個「EncryptedResponse」而不是「Response」。

感謝

+0

爲什麼不簡單地使用TLS(https)進行通信? – Selcuk

+0

謝謝,但現在這是不可能的,客戶反對這個想法,因爲它會花費他的錢。我想我會直接加密敏感數據並最終解密它們。這將是一個好的第一步。 – user1800356

+1

SSL不再需要花錢。您始終可以使用自簽名證書或使用[letsencrypt](https://letsencrypt.org/)證書。 – Selcuk

回答

2

如果您還沒有一個已經,購買SSL證書,並配置您的網站,透過HTTPS載入API。這樣,授權客戶端和您的應用程序之間的連接將被加密,這將防止您正在描述的中間人攻擊。

如果您不打算通過HTTPS加載API,那麼還可以攔截身份驗證令牌或API密鑰或用於驗證客戶端的任何內容。

但是,如果你正在尋找堅持的加密數據的路線,我發現這個指南,看起來像它應該幫助你可以做你需要做什麼:

http://gpiot.com/blog/encrypted-fields-pythondjango-keyczar/

相關問題