我将在接下来的几周内开始一个新项目,但我有一些与应用程序的“设计”相关的问题。
该应用程序将是一个服务器 + 数据库,它与一个也有自己的数据库(供离线使用)的 Android 应用程序通信。
该连接将用于交换使用自定义“协议”(封装在 TLS 中的游戏网络协议)加密的字符串。这意味着该应用程序将具有两层安全性:
- TLS -> 针对中间人攻击
- 自定义协议 -> 针对“游戏内黑客”,例如游戏数据包篡改
我的问题如下:
- 是否可以在 node.js 和 Android 之间使用 TLS?关于该主题有什么好的链接吗?
(我读到在 java 和 node.js 中证书格式存在一些问题。它与 OpenSSL 和EVP_BytesToKey
函数有关)
-->使用 Node.js Crypto 模块加密并使用 Java 解密(在 Android 应用中)
--> http://olabini.com/blog/tag/evp_bytestokey/
- 有没有办法混淆 Android 应用程序的源代码,以便可以在客户端安全地解密自定义“协议”?还是所有的魔法都应该发生在服务器端?
(我不希望用户看到解密源代码来剖析自定义协议并开始开发黑客。)
- 关于提高我的 node.js 服务器安全性的任何提示或链接?
(我听说有些人在谈论 Nginx 代理,但是由于我不提供网页服务,它仍然有意义吗?它不会使服务器超载吗?)
非常感谢您提前!