我如何向 10 岁的孩子演示 SSL/TLS?

信息安全 tls 用户教育
2021-08-22 08:10:50

我是一名软件工程师,特别关注信息安全和 DRM;我对实现(以及一些数学)有很好的理解。

我儿子的学校目前正在做有关信息安全和保持在线安全的工作。他们将涵盖的主题之一是 http 与 https,他的老师问我是否可以进来帮助促进。我想找到一种非常简单的方法来演示密钥对加密,使用类似锡罐电话的东西来演示 Eve 只需将第三个锡罐连接到字符串上就可以轻松监听 Bob 和 Alice,然后通过(非常基本的)tls握手在锡罐电话上然后发送加密消息。理想情况下,他们会以适当的低保真方式(笔和纸,计算器)加密消息。

我该怎么办?

4个回答

10 年关于“HTTP 与 HTTPS”主题的课程或活动不是关于密码学的课程,而是关于隐私和在网络上保持“安全”的课程。

EFF 有一个很好的关于HTTPS 和 Tor的教育材料,您可以将其用作灵感(Tor 超出了范围,但有关 HTTPS 的部分是相关的)。重点是解释威胁以及如何使用 HTTPS 减轻威胁。

作为演示,您可以使用Firesheep或其他可视化显示 HTTP 拦截的工具 设置 wifi 网络和笔记本电脑:Firesheep 截图(来自 2010 年) 您可以让孩子们使用智能手机浏览 HTTP 网站并与 HTTPS 网站进行比较。

如果您想了解详细信息,您可以说 TLS 保证来自和到达网站的数据的机密性、真实性完整性。解释这三个字。

如果您开始谈论加密密钥或数学,那么您将走得太远。但是你可以试着说服老师再讲一次密码学和密码分析的历史(这通常是介绍这个话题的好方法)。

据我所知,这在信息安全中没有类似的东西,但是我一直认为这是一种很酷的方式,可以展示如何通过不安全的通道从 Alice 向 Bob 交付一些东西。

爱丽丝将她的信息放入一个盒子,锁上盒子并通过不安全的邮政系统将其发送给鲍勃。(邮资系统无法查看盒子的内容,因为 Alice 已将其锁定。) Bob 收到了盒子但无法解锁。然后 Bob 将他自己的挂锁添加到盒子中并将其发送回 Alice。然后,爱丽丝取下她的挂锁并将其发回给鲍勃。现在 bob 可以在没有任何 MITM 能够查看内容的情况下解锁盒子。

对于身份验证,很容易显示 -

  • 客户端向服务器发送消息要求连接
  • 服务器发回一张纸,其签名也由受信任的第三方(老师?)签名。
  • 客户根据自己的副本检查教师签名。它现在信任服务器。

然后你可以解释中间的一个人。即服务器现在可以签署它的所有消息以证明它发送了它们。但是客户端无法向服务器证明自己的消息 - 因此[其他人]可以更改客户端消息。他们还可以从服务器读取消息。

我发现向缺乏技术头脑的人描述公钥/私钥密码学的最佳方法是将其分成两个过程。

  • 向使用公钥加密的人发送消息就像通过锁定的邮箱发送一封信。任何人都可以发布这封信,但只有所有者拥有打开它并阅读信息的钥匙。

  • 使用私钥签署消息就像拥有一个锁定的展示柜。同样只有所有者拥有钥匙。所以你知道那里的任何东西都是他们放在那里的。

用一点木制品和几张有机玻璃,应该很容易把上面的东西放在一起。

Diffie-Hellman 有点难。除非你的儿子是十几岁,否则我想你可能不想在这里详细介绍。

至于让他们尝试自己的加密,一个简单的方法是替代密码。提前打印出人物地图。如果您想证明为什么这些不再安全,您可以使用频率分析来打破它们面前的长消息(手动或使用软件)。

您可能想介绍孩子们可以动手做的事情,然后继续使用 SSL/TLS 类型的加密。例如,也许向他们展示 Cesearan Cypher,然后是 Vigenere 等,让他们手工完成。然后介绍更复杂的密码如何使用更长的密钥,等等,通过非常难以猜测来保护他们的信息不被任何人发现。