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并被拦截。
Internet History, Technology and Security (Week 8)的更多相关文章
- Internet History, Technology and Security (Get Started)
Abstract 课程名称:互联网的历史.技术和安全 coursera地址 制作方:密歇根大学(University of Michigan) 教师:Charles Severance, Associ ...
- Internet History,Technology and Security
Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...
- Internet History,Technology,and Security - History Through Supercomputing(Week2)
时间飞逝,一周又过去了,这周我们来到了Internet History, Technology and Security (Week 2)的学习,从标题就可以看出,这周主要是介绍“互联网”雏形的诞生. ...
- Internet History, Technology and Security (Week 2)
Week 2 History: The First Internet - NSFNet Welcome to week 2! This week, we'll be covering the hist ...
- Coursera: Internet History, Technology, and Security
课程网址:https://www.coursera.org/learn/internet-history 学习笔记: Week 1: History - Dawn of Early Computing ...
- Internet History, Technology and Security (Week 9)
Week 9 Security: Web Security We are now on the second to last week of the class and finishing up ou ...
- Internet History, Technology, and Security(week1)——History: Dawn of Electronic Computing
前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...
- Internet History, Technology and Security (Week5.1)
Week5 The Transport layer is built on the Internetwork layer and is what makes our network connectio ...
- Internet History, Technology and Security (Week 4)
Week 4 History: Commercialization and Growth We are now moving into Week 4! This week, we will be co ...
- Internet History,Technology,and Security - Technology: Internets and Packets (Week5)
Week5 Technology: Internets and Packets Welcome to Week 5! This week, we’ll be covering internets an ...
随机推荐
- 北京Uber优步司机奖励政策(4月20日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- pandas:apply和transform方法的性能比较
1. apply与transform 首先讲一下apply() 与transform()的相同点与不同点 相同点: 都能针对dataframe完成特征的计算,并且常常与groupby()方法一起使用. ...
- Kafka系列三 java API操作
使用java API操作kafka 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- html元素可以同时实现两个class的功能
html元素标签可以放置两个不同的class文件并分别实现效果
- Windows7共享设置
问题描述:Win7共享文件夹时提示“您没有权限访问xxxx.请与网络管理员联系请求访问权限” 解决方案: 控制面板→网络和共享中心→更改高级共享设置→选中“启用共享以便可以访问网络的用户可以读 ...
- Linux之linux基础命令
一.命令分:内部命令.外部命令① 内部命令:是由 Shell解释器解释的② 外部命令:除了Shell解释器以外的命令③ 识别命令类型:type 命令字 二.命令一般组成格式: 命令字 [选项].. [ ...
- loadrunner脚本编写经验
最近写了不少loadrunner脚本,记录一下心得:1 loadrunner脚本基本可以认为就是c语言代码(loadrunner支持不同语言的脚本,默认生成的是用c语言写的脚本)2 loadrunne ...
- CentOS安装log.io
官网 http://logio.org/ log.io是运行在node.js之上的 可通过浏览器访问服务器日志 类似于tail -f命令 它只负责实时传输数据 而不会去存储历史数据 npm insta ...
- centos7上的postgresql10安装和配置
安装数据库 安装参考官方文档:https://www.postgresql.org/download/linux/redhat/ 1.Install the repository RPM: yum i ...
- OpenGL学习笔记(6) 基础光照的计算方法
这个笔记只是冯氏光照模型下漫反射光以及镜面光照的计算方式的笔记 基础光照 基础光照分为环境光,漫反射光,镜面光照 环境光 环境光是一个常量,表示在没有光源的情况下物体的光 漫反射光 漫反射光分量的计算 ...