学习密码学和 OpenSSL 的好资源?

信息安全 密码学 tls
2021-08-25 17:15:05

我是一名程序员,我正在使用 SAML 进行单点登录项目。我想尽我所能确保它尽可能安全。由于制作安全的单点登录/SAML 解决方案需要通过 https 签署 xml 消息并创建各种密钥/证书等,我想我更了解这些东西!我不想学习如何成为一名密码学家,只想知道如何为这个项目和未来的项目正确选择正确的密码学方法。

我倾向于找几本好书,然后看一些关于某个主题的讲座/讲座,这样我就可以真正深入了解我正在学习的内容,这样我就可以真正掌握所有新的白话。

到目前为止,我购买了“使用 OpenSSL 的网络安全”,并且正在阅读它,但我不得不承认其中一些内容超出了我的想象。

如果您是一名openssl、公钥/私钥制作大师,是什么帮助您达到了那个水平?!?:D

谢谢!杰森

4个回答

您可能不想在从多个加密算法、数字签名原语等中进行选择的级别上工作。这太低级了,而且它需要太多的加密知识才能使一切正确。

相反,您希望从其他人审查过的完整协议中进行选择:例如,TL​​S、OpenPGP、OpenID、OAuth 等。协议的作者已经完成了弄清楚如何将加密/签名算法拼凑在一起的工作成一个完整的协议,并且这些协议已经过知识渊博的密码学家的仔细审查。因此,如果你可以使用像这样的一些现有的审查方案,你的情况会好得多(并且你的加密货币中不太可能有细微的缺陷)。

如果我必须为实习程序员推荐一本书,我会推荐Ferguson、SChneier 和 Kohno 的Cryptography Engineering: Design Principles and Practical Applications 。太棒了。但它也描述了密码方案的设计,如果可能的话,它比你可能想要的工作要低得多。

通常的推荐:应用密码学手册非常好的和认真的阅读,并且可以免费下载。它的数学内容相对较重,但是,让我们面对现实吧,密码学是一门高度技术性的学科,缺乏可测试性(您无法轻松测试给定算法或协议是否安全),因此您无法切实做出明智的决定不理解至少部分隐含的数学(尤其是关于复杂性的东西)。

这本书 - https://www.feistyduck.com/books/bulletproof-ssl-and-tls/由 Ivan Ristić撰写,是市场上回答您问题的最佳选择。我已经阅读了这里提到的两本书。但是,这本书是宝藏。它将教你所有的基础知识,数学可以忽略不计。它将正确地为您提供有关如何使用 openssl 正确部署 ssl/tls 服务器的建议。这里提到了许多关于 ssl/tls 的攻击以及应对它们的方法。这是实用的最佳指南。

只需了解以下术语:

  1. 数据真实性
  2. 数据的完整性
  3. 数据加密

常见于所有安全协议 ipsec、SSL、任何类型的安全性。如何使用 openssl 提供这些:

  1. 关于数据认证和完整性、加密的相关词汇。

    一个。散列、编码、校验和、消息摘要。

    湾。对称密钥密码学和公钥密码学

    C。为什么需要公钥加密

    d。然后去数字签名和证书。

如果你能把所有这些联系起来,你就会基本了解 ipsec、SSL、pclogin 身份验证,以及各种安全机制。

探索更多......并直接使用 openssl 应用,在上述之后很容易。