API接口签名校验,如何安全保存appsecret? - 知乎 https://www.zhihu.com/question/40855191安全
要保证通常的客户端-服务器通讯安全,可使用3个密钥。服务器
初始密钥是第一个,内置到app,保证最初的通讯安全,用来加密-“主加密密钥”。此过程当中的传输,是最容易被攻击的环节,能够采用其余辅助方式进行加密, 如HTTPS等。网络
其次是主加密密钥, 系统初始化以后从服务端获取生成。保存在客户端。重复利用。用来加密通讯密钥。也能够由用户主动更新。app
还有第三个是通讯密钥,每次登录更新,或者按期更换,用来加密通讯数据。 此密钥的传输过程使用主加密密钥来加密。通讯密钥就是用来加密通讯数据的。可是通常这样使用的成本较高,因此 通常有 auth+token 便可。框架
另外,要防止被恶意攻击,你应该关注正常的业务逻辑不被破坏, 这样的方法有不少,大多在应用服务器进行处理。至于被重复攻击,属于业务逻辑和通讯框架的范围,服务器资源不足,别人很容易玩死你。不要想着在防火墙或者网络层进行处理,那样的硬件/软件系统成本过高,你用不起。彻底不被破解的传输是没有的,特别是内部黑客和离职员工等,商用系统/服务须要保证的是通常的安全,以及一段时间内的安全。并积极应用各类安全措施。加密
wtoken
签名 sign 身份标识 是谁 密钥key 密码 经过身份id获取sign 以后仅经过sign而再也不须要id就能够获取key 拿到key后 发生action 接口