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)的更多相关文章

  1. Internet History, Technology and Security (Get Started)

    Abstract 课程名称:互联网的历史.技术和安全 coursera地址 制作方:密歇根大学(University of Michigan) 教师:Charles Severance, Associ ...

  2. Internet History,Technology and Security

    Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...

  3. Internet History,Technology,and Security - History Through Supercomputing(Week2)

    时间飞逝,一周又过去了,这周我们来到了Internet History, Technology and Security (Week 2)的学习,从标题就可以看出,这周主要是介绍“互联网”雏形的诞生. ...

  4. 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 ...

  5. Coursera: Internet History, Technology, and Security

    课程网址:https://www.coursera.org/learn/internet-history 学习笔记: Week 1: History - Dawn of Early Computing ...

  6. 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 ...

  7. Internet History, Technology, and Security(week1)——History: Dawn of Electronic Computing

    前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...

  8. Internet History, Technology and Security (Week5.1)

    Week5 The Transport layer is built on the Internetwork layer and is what makes our network connectio ...

  9. 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 ...

  10. 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 ...

随机推荐

  1. 大数据入门第五天——离线计算之hadoop(下)hadoop-shell与HDFS的JavaAPI入门

    一.Hadoop Shell命令 既然有官方文档,那当然先找到官方文档的参考:http://hadoop.apache.org/docs/current/hadoop-project-dist/had ...

  2. 2017-2018-2 20155315《网络对抗技术》Exp4:恶意代码分析

    实验目的 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件 ...

  3. Spring boot ---- java.lang.NoClassDefFoundError: javax/servlet/ServletContext

    Spring boot ---- java.lang.NoClassDefFoundError: javax/servlet/ServletContext   场景描述 项目中用到spring boo ...

  4. Git 解决添加到.gitignore的忽略项不生效的问题

    今天又在.gitignore添加了一些忽略项,但是后来发现一些东西命名配置了忽略项却还是没起作用,so,分析原因,可能是在我添加忽略项之前,因为这些文件就早已经被提交了,所有他们已经在版本控制中,导致 ...

  5. 大数据中Linux集群搭建与配置

    因测试需要,一共安装4台linux系统,在windows上用vm搭建. 对应4个IP为192.168.1.60.61.62.63,这里记录其中一台的搭建过程,其余的可以直接复制虚拟机,并修改相关配置即 ...

  6. charles抓包https/模拟弱网/设置断点重定向/压测

    charles几个常用功能   1,ios 抓包https网页:(如未配置,会显示unknown) 第一步是:给手机安装SSL证书 手机和电脑在同一wifi下,手机wifi配置http代理,ip是电脑 ...

  7. 聊聊前段插件之Datatables

    在web开发过程中表格数据展示是一个很常见的功能,而且用户对其要求也比较高,性能.易用性等.今天我推荐一款利器给大家——Datatables:Datatables中文网. 一.介绍 Datatable ...

  8. 基于Vue的简单通用分页组件

    分页组件是每一个系统里必不可少的一个组件,分页组件分为两部分.第一部分是模版部分,用于显示当前分页组件的状态,例如正在获取数据.没有数据.没有下一页等等:第二部分是分页数据对象,用于封装一个分页组件的 ...

  9. 安装配置heapster(包含influxdb,grafana)

    前提:已搭建好kubernetes集群.安装完dashboard 默认安装的dashboard无法展示集群的度量指标信息,此时就需要安装heapster插件 Heapster 插件使用包含三部分内容: ...

  10. GlusterFS分布式存储集群-1. 部署

    参考文档: Quick Start Guide:http://gluster.readthedocs.io/en/latest/Quick-Start-Guide/Quickstart/ Instal ...