By Tag: tls

使用 step-ca 搭建私有证书颁发机构
使用 step-ca 搭建私有证书颁发机构
Anonymous

在本文中,您将了解 TLS(传输层安全)和 SSH(安全外壳)如何使用公钥/私钥对来验证您访问的 Web 服务器和您登录的 Linux 机器。您还将了解到主流 Web 浏览器默认安装的 TLS 框架在关键方面未能防止 MITM(中间人)攻击。然后,我们将逐步介绍如何搭建私有 .FEDORA TLD(顶级域名)、使用 smallstep 包搭建您自己的私有 CA,以及使用 acme-tiny 包为该私有 TLD 下的网站颁发证书。 我不会介绍如何使用 Fedora 中打包的您喜欢的 Web 服务器搭建一个简单的"Hello World"网站。要跟着本文操作,您需要已经在 HTTP 上运行了这样一个网站。在本文中,该网站将被命名为 hello.fedora。 遗憾的是,我们还将解释这并不能完全解决 MITM 问题——但这已经是一篇很长的文章了。 公钥如何防止中间人攻击 虽然 NSA 局长 Admiral Bobby 透露情报机构自 20 世纪 60 年代以来就已了解双密钥或公钥密码学,但第一份非保密论文是由 Whitfield Diffie 和 Martin E. Hellman 于 1976 年发表的。在大学里,我记得玩过基于背包问题的密码系统,这些系统存在各种漏洞。真正革新该领域的是 1977 年 RSA 算法的发表。我清楚地记得我在大学图书馆里读这篇论文时的位置。关于"算法不能申请专利"存在一些争议,但 RSA 为其实现申请了专利(实现本身已经受版权保护——但这是另一个话题)。是的,您可以在几分钟内写出一个一行的 Perl 实现(我们都做过)——但一个不会通过各种侧信道泄露私钥的安全实现可绝非易事。 公钥的原始概念是在目录中查找接收者的公钥,并用它来加密消息,只有持有对应私钥的人才能解密。这也可以用来通过证明对方持有相应私钥的协议来验证通信方的身份。基本思想是使用公钥加密一个随机令牌,接收者解密该令牌并用您的公钥加密后发回。具体细节并不简单。主要关注点是 MITM 攻击。SSH 和...