java - REPOSTING - SSL Pinning 以避免 mitm 和加密 api 请求/响应
问题描述
[转帖]
我正在构建一个 android 应用程序,客户端希望我进行 SSL Pinning 以避免任何 Mitm 攻击。我已经对我的 API 请求(JSON 格式)和相应的响应(JSON 格式)实现了完整的加密和解密。
通过谷歌搜索和阅读一些博客,我对 Mitm 攻击的理解是,攻击者可以拦截请求,修改数据并将其发送到后端服务器,然后更改响应并将其推送回带有错误数据的客户端应用程序。但是由于我的请求和响应是完全加密的(加密),是否仍然可以对我的应用程序进行 Mitm 攻击并更改数据?
我知道请求仍然可以被截获并且攻击者可以看到加密的数据,但是由于他没有要解密的密钥,所以它没有用,如果加密的字符串被更改,解密将失败,导致应用程序无法加载任何模仿 Mitm 行为的东西,如果证书密钥不匹配,连接就会终止。
我在这里找到了这个解决方案,用 Volley 库在 android 应用程序中实现 SSL Pinning。是否足够或者我应该实施其他一些方法。
任何帮助表示赞赏。
解决方案
推荐阅读
- javascript - 流程错误无法获取“x”,因为“数组”中缺少属性“y”[1]
- c# - GraphQL HotChocolate 添加 PaginationAmountType 将我的 int 转换为 PaginationAmmount
- dynamics-crm - 在 Common Data Service 中跨多个 Dynamics 实体进行筛选
- c++ - cin 在我的提示符中忽略空格的问题
- newrelic - 我们可以在 Newrelic 中获得每个应用程序的应用程序正常运行时间吗
- r - 如何避免选择两个选项时(其中之一),以避免获得积极的积分?
- php - 如何隐藏在 ajax post 方法中调用的 php 文件?
- java - 我从包含“%20”和 Java Net URL 的 URL 字符串中收到 Http 400 错误
- scala - 从 spark 数据框中获取元素并将其传递给函数
- javascript - 如何使用 Javascript 将两个音频 .wav 文件合并/合并为一个文件