我有兴趣了解安全系统设计——整个堆栈。目前,我是 .net/C# 开发人员,我知道不同哈希函数、公钥/私钥加密和类似技术之间的区别,但我的应用程序只是整个系统的一小部分。
例如,公钥/私钥加密不仅仅是关于我编写的代码 - 它是关于保护私钥的。我需要把它交给客户,他们需要保存它。然后还有其他途径,例如,如果我的 Web 服务是安全的,但有人可以直接进入数据库并下载所有数据,那么我的应用程序的安全性并不重要。
我正在研究 Bruce Schneier 的Cryptography Engineering and Applied Cryptography 2nd edition,但这些都是关于密码算法的低级书籍。我需要更高层次的东西,解释可能需要注意的攻击媒介以及如何防范它们以及人们通常犯的错误。
我在 Security.SE 上看到了一些问题,但这些问题似乎是针对个别设计的,或者仅限于应用程序而不是整个系统,所以我想知道是否有现代的东西(最好是了解诸如 SHA- 3 和“现代”暴力攻击使用基于云或 GPU 的计算集群)和权威?