Internet History, Technology and Security (Week 8)

Week 8

Security: Encrypting and Signing

This week we start two weeks of Internet Security. It is a little technical but don't worry - we stay at a very high level and I am confident that if you are still keeping up with the class that you will enjoy these next two weeks. You won't know enough to be an expert - but many of the security issues that you read about going forward will make a lot more sense to you.
The topics we’re covering are encrypting and signing. Using simple examples, we examine how to shield data from prying eyes and make sure that the data was not altered while in transit.

Hiding Data from Others

Security Introduction

老师举例有趣地谈论安全的话题。在密码学的世界里,有两个好人A和B,他们不想让其他人知道他们在交流什么,还有一些坏人,那就是C,中间的C会做坏事,可能想要偷听、修改A和B谈话的内容。

在第一堂课上,我们是好人,好人是视图破坏密码学的人,而坏人是哪些试图加密信息的人:比如二战中的布莱克利公园,他们破译了德军的密码,拯救了世界,他们是好人。
现在好人正在做加密,我们正试图想出越来越聪明的加密方法,而政府必须不断的想出解密的方法。

我们开始的时候,试图隐藏信息的人是坏人,而我们现在是好人,为什么我们现在是好人?因为是我们,一旦我们决定了我们,我们就是好人(emmm...)。
接下来作者给我们看了一个他前几年参观布莱克利公园的照片。

安全专家认为,完美安全是一种谬论,安全是一个成本效益分析。

Security - Encryption and Confidentiality

这里用到的术语有明文和密文。我们想要传输的信息称作是明文,例如信用卡的数字或者其他重要信息,这些信息都有对应的加密版本,我们称其为密文。密文有一定概率被暴露给第三方。

加密是将明文变成密文的操作。将密文还原为明文的操作则是解密。加密解密都需要钥匙,钥匙本质上是一些数据,通过特定的算法来实现加密与解密。

我们将讨论两种不同的钥匙:一种被称作密钥,另一种被称作公钥。

先讨论密钥:
密钥加密系统的使用从罗马时代就开始了,一直到第二次世界大战。公钥加密系统则是在20世纪60年代才开始应用。
密钥也被称作对称密钥。简单来说,加密与解密使用的是同一把钥匙。而公钥则是不对称的,即加密与解密用的钥匙不同。
密钥的缺点就是需要一个绝对安全的交流环境,需要以一个安全的方式将密钥告知对方,这个缺陷也推动了公钥加密的发明。
下面是加密的主要流程:

除非截获人知道密钥或者破译,否则他所截获的信息无法得知其正确的信息。
凯撒密码是一种最古老的、被广泛使用的一种加密形式:

采用的是替换的概念。这种加密方式被使用了很长的时间,但这种方式很容易被破解。

Insuring Data Integrity

Security - Integrity and Signatures

(百度)SHA1:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要,(但会有1x10 ^ 48分之一的机率出现相同的消息摘要,一般使用时忽略)。
(百度)MD5:Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
不过以上两种都有其缺陷,只能用来加密一些不打重要的事情。SHA256优于SHA1。

首先讨论哈希密码。

在一个网站上登录输入密码,如果网站的数据库将密码以纯文本的形式进行存储,一旦网站系统被侵入,密码将十分危险,而且如果你的密码在不同网站上使用的都是相同的,情况将更加糟糕。所以对于网站来说,安全的做法是,后台通过密码散列来加密你的密码,当你再次输入密码时,系统将其与数据库中的密码散列进行比较,如果匹配则证明输入的密码正确。这样网站就不需要存储纯文本密码更显得更加安全。
这里举了一个例子:

数据库运用hash来存储用户们的密码,有两个很重要的特点是其不可逆和无冲突,不可逆是指one way operation。无冲突指的是两段不同信息经过hash加密后不能生成两端相同的digest。
接下来介绍digital signatures.

上图展示的是加密的原理。可以确认消息是否在途中被更改。

  • 每一对人/系统都需要一个密钥
  • 在internet中,密钥分发不能通过internet进行,因为在获得密钥之前,通信是不安全的。
  • 要使因特网正常工作,我们需要一种方法,在不损害安全性的情况下,密钥可以穿越不安全的internet并被拦截。
posted @ 2018-06-17 17:16  PI_M  阅读(190)  评论(0编辑  收藏  举报