我正在开发客户端 - 服务器应用程序,客户端是一个与我的c#服务器通信的iPhone设备。客户端和服务器使用我设计的通过TCP套接字交换消息的文本协议。有人可以请给我一些指导方针如何添加到这个应用程序的基本安全? 在这一刻,我唯一的安全元素是客户端身份验证与登录用户名和密码。但是,例如,任何人都可以看到并阅读在客户端和服务器之间发送的消息,没有任何问题...客户端服务器应用程序的安全
1
A
回答
2
在移动环境中,应用程序的用户对设备的控制比对开发人员的控制要好。有没办法来隐藏密码或密钥。您必须考虑到恶意客户端,因此请注意您公开的功能。
以纯文本格式发送用户名和密码违反了OWASP a9。您应该考虑使用SSL/TLS或HTTPS。
1
你看过openssl? SSL是提供安全通信的加密协议。 SSL将阻止其他人监听客户端和服务器之间的流。
你应该做的另一件事是验证所有服务器输入,以防止在服务器上执行恶意代码。例如,如果你有一个存储用户输入的数据库,你应该看看SQL injection。
+0
感谢您的回复,你是什么意思验证所有服务器输入? – Eyal
相关问题
- 1. 编写安全的RMI服务器 - 客户端应用程序
- 2. 使用OpenSSL C安全的客户端/服务器程序
- 3. 服务器客户端应用程序
- 4. 客户端/服务器应用程序
- 5. 客户端 - 服务器应用程序
- 6. 从客户端应用程序安全的服务器端输出
- 7. C#服务器客户端应用程序(一个服务器多客户端)
- 8. java客户端服务器安全
- 9. Flash客户端 - 服务器安全
- 10. 客户端 - 服务器REST APIs安全
- 11. 与客户端安全服务器javascript
- 12. 安全客户端服务器通道
- 13. 基于客户端 - 服务器的iPhone应用程序中的通信安全
- 14. 客户端/服务器应用程序全部在Android
- 15. 客户端(Android应用程序) - 服务器(Java应用程序)
- 16. 安全客户端/服务器数据传输iphone应用
- 17. Web服务客户端应用程序
- 18. C客户端在服务器客户端应用程序中的进程ID
- 19. 服务器端客户端程序C
- 20. 客户端的安全代理服务?
- 21. 与C++服务器/客户端应用程序的端口
- 22. Flex构建客户端和服务器端的应用程序
- 23. 服务器端VS客户端MVC的Web应用程序
- 24. Jersey REST服务器安全和Android客户端安全
- 25. 服务器的客户端应用程序的Android客户端VS仅
- 26. jboss客户端 - 服务器应用程序。并发用户
- 27. C客户端服务器应用程序中的多个客户端
- 28. Java客户端/服务器远程应用程序的起点
- 29. 客户端 - 服务器应用程序中的线程同步?
- 30. ASP MVC 3服务器端WP7客户端应用程序
感谢您的回复,我需要做什么来添加SSL保护?我看到c#有一个sslstream就足以使用它而不是常规流?我如何获得私钥和公钥?它花钱吗? – Eyal
@Eyal证书只是一个数字,数字是免费的。您可以使用每个* nix系统附带的openssl命令生成它。 (我相信你可以在windows下做这个,但它可能更难)。为此,您可以使用自签名证书并使用服务器的公钥分发客户端。这一点是,你不希望一个舒缓的嗅探客户的用户名/密码/其他信息。 – rook
即时通讯问,因为我看到一些文章说,它需要花钱获得SSL证书..是否有任何教程你知道在目标c和c#中使用SSL? – Eyal