API接口签名校验,如何安全保存appsecret? - 知乎  https://www.zhihu.com/question/40855191

要保证一般的客户端-服务器通信安全,可以使用3个密钥。

初始密钥是第一个,内置到app,保证最初的通信安全,用来加密-“主加密密钥”。此过程中的传输,是最容易被攻击的环节,可以采用其他辅助方式进行加密, 如HTTPS等。

其次是主加密密钥, 系统初始化之后从服务端获取生成。保存在客户端。重复利用。用来加密通信密钥。也可以由用户主动更新。

还有第三个是通信密钥,每次登陆更新,或者定期更换,用来加密通信数据。 此密钥的传输过程使用主加密密钥来加密。通信密钥就是用来加密通信数据的。但是一般这样使用的成本较高,所以 一般有 auth+token 即可。

另外,要防止被恶意攻击,你应该关注正常的业务逻辑不被破坏, 这样的方法有很多,大多在应用服务器进行处理。至于被重复攻击,属于业务逻辑和通信框架的范围,服务器资源不足,别人很容易玩死你。不要想着在防火墙或者网络层进行处理,那样的硬件/软件系统成本太高,你用不起。完全不被破解的传输是没有的,特别是内部黑客和离职员工等,商用系统/服务需要保证的是一般的安全,以及一段时间内的安全。并积极应用各种安全措施。

sign

http://people.csail.mit.edu/rivest/Rsapaper.pdf

Introduction

The era of “electronic mail” [10] may soon be upon us; we must ensure that twoimportant properties of the current “paper mail” system are preserved: (a) messagesareprivate, and (b) messages can besigned. We demonstrate in this paper how tobuild these capabilities into an electronic mail system.

最新文章

  1. C# 定制 Attribute 简单使用
  2. js动态切换图片
  3. Codeforces Round #214 (Div. 2) c题(dp)
  4. 加密解密知识 php非对称加密
  5. centOS上安装redis
  6. 安卓初步:通讯技术介绍&&安卓介绍
  7. anroid里面的post请求
  8. 《JS权威指南学习总结--1.2客户端JS》
  9. eclipse hibernate导出数据库实体类
  10. Linux常见命令(权限)
  11. openstack Q版部署-----nova服务配置-控制节点(5)
  12. WebApi升级到2.0以后的XmlDocumentationProvider
  13. 使用zip.js压缩文件和解压文件
  14. Oracle查询表占用空间的大小
  15. Visual C++ 6.0 创建C语言程序
  16. gitminer
  17. ASP入门(二十二)-连接数据库
  18. # Writing your first Django app--part 3 about view
  19. shell 命令总结
  20. Type.Missing和System.Reflection.Missing.Value

热门文章

  1. RxJava +Retrofit 简单使用
  2. JVM 低延迟垃圾收集器 Shenandoah 和 ZGC
  3. ES6中class的使用+继承
  4. Spring中ApplicationContextAware接口的用法
  5. codeforces 1451D,一道有趣的博弈论问题
  6. apply 和 call的用法、区别
  7. LeetCode 长度最小的子数组
  8. Mirai qq机器人 c++版sdk(即用c++写mirai)
  9. Spring Boot超详细用户管理项目(零)——开发前准备
  10. 基础篇-http协议《http 简介、url详解、request》