API接口签名校验,怎样安全保存appsecret

要保证一般的客户端-服务器通信安全,可以使用3个密钥。初始密钥是第一个,内置到app,保证最初的通信安全,用来加密-“主加密密钥”。此过程中的传输,是最容易被攻击的环节,可以采用其他辅助方式进行加密, 如HTTPS等。其次是主加密密钥, 系统初始化之后从服务端获取生成。保存在客户端。重复利用。用来加密通信密钥。也可以由用户主动更新。还有第三个是通信密钥,每次登陆更新,或者定期更换,用来加密通信数据。 此密钥的传输过程使用主加密密钥来加密。通信密钥就是用来加密通信数据的。但是一般这样使用的成本较高,所以 一般有 auth+token 即可。另外,要防止被恶意攻击,你应该关注正常的业务逻辑不被破坏, 这样的方法有很多,大多在应用服务器进行处理。至于被重复攻击,属于业务逻辑和通信框架的范围,服务器资源不足,别人很容易玩死你。不要想着在防火墙或者网络层进行处理,那样的硬件/软件系统成本太高,你用不起。完全不被破解的传输是没有的,特别是内部黑客和离职员工等,商用系统/服务需要保证的是一般的安全,以及一段时间内的安全。并积极应用各种安全措施。
■网友
Stormpath:Stormpath 是一个用户管理即服务,支持身份验证和通过 API keys 授权。根本上,Stormpath 维护了一个用户详情和密码数据库,从而客户端应用程序 API 可以调用 Stormpath REST API 来进行用户身份验证。
■网友
预先生成非对称秘钥对,终端保存公钥,服务器保存私钥。
终端随机生成会话密钥,用公钥加密后发往服务器,服务器用私钥解密后拿到会话密钥,(类似于https) 用会话密钥加密appsecret后实时返回给终端,终端解开后使用。

■网友
appsecret存储在前端肯定保证不了安全性,这个是最为关键的,不知楼主最后采用了何种方式?

■网友
【API接口签名校验,怎样安全保存appsecret】 楼主问题解决了吗 我现在也开始困惑了


    推荐阅读