[转帖]
我正在构建一个 android 应用程序,客户端希望我进行 SSL Pinning 以避免任何 Mitm 攻击。我已经对我的 API 请求(JSON 格式)和相应的响应(JSON 格式)实现了完整的加密和解密。
通过谷歌搜索和阅读一些博客,我对 Mitm 攻击的理解是,攻击者可以拦截请求,修改数据并将其发送到后端服务器,然后更改响应并将其推送回带有错误数据的客户端应用程序。但是由于我的请求和响应是完全加密的(加密),是否仍然可以对我的应用程序进行 Mitm 攻击并更改数据?
我知道请求仍然可以被截获并且攻击者可以看到加密的数据,但是由于他没有要解密的密钥,所以它没有用,如果加密的字符串被更改,解密将失败,导致应用程序无法加载任何模仿 Mitm 行为的东西,如果证书密钥不匹配,连接就会终止。
我在这里找到了这个解决方案,用 Volley 库在 android 应用程序中实现 SSL Pinning。是否足够或者我应该实施其他一些方法。
任何帮助表示赞赏。