objective-c - 向服务器发送密码

标签 objective-c ios security

我在问自己。从您的 iOS 设备向服务器发送个人信息的最佳方式是什么。

此时我在应用程序中加密密码(sha1 salt password pepper)然后我使用 iOS 将发布数据发送到服务器。

保护用户和防止任何 MITM 攻击的最佳方法是什么。我的方式是否足够安全?

更新:

我添加了 SSL 证书。为了确保用户只需在我存储用户注册时生成的 key 后登录。我在用户第一次登录时获取它们。与用户名和用户 ID 结合使用。这是一个好方法吗?只有越狱用户才能阅读并有风险。

最佳答案

在客户端散列密码将有助于防止密码本身在窃听中被检测到,但它本身并不能提供任何安全性,因为凭据然后变成密码的散列版本,而不是原始密码密码本身。窃听者可以只获取散列版本,然后自己发送散列。

到目前为止,最简单的解决方案是简单地使用 SSL/TLS。由于您提到了“发布”,这意味着您可能正在使用 HTTP。相反,您可以通过 HTTPS 连接并发布数据,与您已经在做的完全一样。只要检查证书的有效性(我相信 iOS 框架默认情况下已经这样做了),那么连接应该在很大程度上是安全的。

对于大多数情况,这应该足够好。您可以使用一些更复杂和复杂的技术来进一步强化,但 SSL/TLS 本身做了大量工作。

关于objective-c - 向服务器发送密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735989/

相关文章:

ios - 使用 CBPeripheralManager 构建 iBeacon

php mysql 和移动客户端,显示从 UTC 到不同时区的日期

android - SecurityException - 未知调用包名称 -Android 6.0.1

iOS App 将通用更改为仅限 iPhone

ios - UIWebView 中的自定义 CSS

ios - UISegmentedControl 在 UITableViewCell 中复制

ios - 如何在滚动 UITableView 时阻止 Cell 突出显示

ios - 是否可以指定仅通过蜂窝网络而不是通过Wifi建立HTTP连接?

security - 如何保护在线法官免受恶意代码的侵害?

windows - 当我在主机内运行 Virtual Box 时是否需要执行更新?