我正在使用Django rest Framework为我的一个客户构建REST API。当客户端通过API调用请求密码时,该应用程序会提供一些敏感信息,例如密码。
现在,只有授权客户才能访问该应用程序,此外,只有授权的IP才能连接。
但是,如果有人在那个连接的中间听?他会清楚地看到所有数据。
有没有办法加密这些信息,可能是密码,然后在到达时解密? (客户端必须更新他的应用程序,但这不是问题)。
我在考虑创建一个" EncryptedResponse"而不是"响应"在我的django app。
由于
答案 0 :(得分:3)
如果您还没有,请购买SSL证书并配置您的网站以通过HTTPS加载API。这样,授权客户端和您的应用程序之间的连接将被加密,这将阻止您正在描述的中间人攻击。
如果您不打算通过HTTPS加载API,那么也可以拦截身份验证令牌或API密钥,或用于验证客户端的任何内容。
但是,如果您希望坚持加密数据路线,我发现本指南看起来应该可以帮助您做您需要做的事情:
http://gpiot.com/blog/encrypted-fields-pythondjango-keyczar/