【Coursera】Security Introduction -Eighth Week(1)
Security Introduction
People With Bad Intent
今天,Bob 向 Alice 发送了一条 “Hello,Allice!” 的信息,他们希望这条信息只有他们两个人知道,但是邪恶的 C 出现了,他通过非法的手段窃听了这条信息,当然,在这之后,有一堆 无处不在的 贪图Alice美色的 坏人(看来Alice长的很漂亮。。),同样的也想要窃听他们之间的对话,怀着邪恶的目的。
Paranoia(偏执狂)
- Who is out to get you?
- If you are interesting or influential people want to get into your personal info.
- If you are normal, folks want to use your resources or take your information to make money...
- Usually no one cares...(=_=)But it is safest to assume some is always trying...
为什么要关注安全?因为security牵扯到我们每一个人,有人每时每刻都想着要偷取别人的个人信息来卖钱。
当我们谈及,有人想获取你的信息的时候,你会想:是谁 那么变态 想偷我的信息?为什么想要偷我的信息?
我们对于这个世界 太普通了,大部分想偷取我们利益的人,基本都是想拿走我们的银行卡,然后在冻结银行卡之前,买一些东西给他们维持生计(这让我开始心疼那些 负债累累 吃完沙县就跑路的老哥们)。
比如,你开了一家公司,你有很多生意上的竞争者,他们想破解进入你的邮箱,这种诡计比比皆是。
Who is out to get us? -The government
角色逆转了,那么此刻 government 是好人,我们是坏人,好人想要知道我们想干什么坏事,来阻止我们。
事实上,government 拥有最先进的安全破解设备。
Alan Turing and Bletchley Park
- Top secret code breaking effort
- 10,000 people at the peak (team effort).
- BOMBE: Mechanical Computer
- Colossus: Electronic Computer
政府现在拥有着像 BOMBE 这样的机器,窃取我们的机密通信,并且尝试破解它们。我们现在处在战争中,我们想让我们的信息越来越安全。最后演变成了一种军备竞赛。
Security is always a Tradeoff(交易,折中)
- "Pefect Security" is unreachable -Must find the right tradeoff.
- Security. versus(与). Cost.
- Security. versus. Convenience(See also,"profit").
- "More" is not always better -vendors(供应商) of products will try to convince you that you cannot live without their particular gadget(装置).
没有完美的安全措施,现在许多的公司听信所谓安全专家的话,花费大量的金钱来使得安全变得越来越好,这完全就是 fallacy(谬误推理)。
benefit analysis
Terminology(术语): 两个问题 欺骗与泄密
- 泄密 Confidentiality(机密性): Prevent unauthorized viewing of information.防止数据的泄露。
- 欺骗 Integrity(诚实正直): Information is from who you think it is from and has not been modified(调整) since it was change.
Security - Encryption(加密) and Confidentially
Confidentially 机密性
- Plaintext is a message that will be put into secret form.
- Ciphertext is a transformed version of plaintext that is unintelligible(不能理解的) to anyone without the means to decrypt(解释清楚).
首先解决的是 机密性,加密 和 解密。这是二战时布莱切利园的工作。
这里我们使用的术语:明文(plaintext) 和 暗文(ciphertext)。
无论我们想要传递文本信息或者是其他的信息,这些我们想传递的信息都叫做 明文。
这些信息我们有加密的版本,称之为暗文。
密文有可能在传输的过程中被第三方截获,我们所要做的事情 就是让 密文转变为明文 的这一过程 变的复杂且难以破译。
- encryption(加密): The transformation of plaintext to ciphertext is referred to as encryption.
- decryption(解密): Returning the ciphertext back to plaintext is referred to as decryption.
- The strengthen of a cryptosystem(密码系统) is determinded by the encryption and decryption techniques and the length of the key.
钥匙Key 本身是一串数据,通过特定的算法来实现加密和解密。
Two kinds of systems
Two basic types of cryptosystem exist: secret-key and public-key.
In a secret-key scheme(体系), the key used for encryption must be the same key used for the decryption. Also called symmetric-key (对称) crytosystem.
Secret-key crytosystems have the problem of secure key distribution(分配) to all parties using the cryptosystem.
我们有两种密码系统:公钥 和 密钥。密钥加密系统最早从罗马时代开始,一直到第二次世界大战。公钥加密系统相对来说比较年轻,从上个世纪70年代开始应用。
密钥,又称作 symmetric-key 对称密钥,意味着发送方和接收方都知道信息的内容。简单的来说,加密和解密使用同一把钥匙。
公钥,不是对称的,意味着加密所用的钥匙 和 解密所用的钥匙 不一样。
密钥的问题在于,你需要有一个绝对安全的交流环境。需要一个安全的方法告诉对方密钥。这个缺陷也推动了公钥的发展,公钥加密系统能够在并不安全的环境下工作,实现钥匙的传递。
如图,Alice 想要发送 “candy” 这条报文,她通过 密钥 加密了这条信息,得到了暗文:“dboez”,发送给了Bob,Bob 也知道密钥,将暗文解密,得到了明文“candy”。
我们假设 接收端和发送端 都是安全的,只有中间的网络是不安全的,那么信息被Eve截获了,Eve就要像布莱切利园一样,做解密的工作。
凯撒密码(The Caesar cipher) 是一种最古老的 最广泛应用的加密方式,我们在之前的FOJ上的题目有见到过这样的题目,输入一串暗文,利用凯撒密码的解密方式 得到明文。它采用的是 替换(shift)的概念。
明文在发送之前做了替换类型的加密工作,对方得到了密文,然后从安全的途径中获取了解密的方法,然后对密文进行解密。
加密的方法是 从明文字母对应到暗文字母,解密的方法是 从暗文字母对应到明文字母。
进行了两次的凯撒密码解密尝试:
我们能够猜测出 发送者想要发送信息的大意,从而帮助我们解密。当第三方发现数据泄露的时候,能够利用这一点 来破译密码。
在 www.rot13.com (类似早期的朋友圈,Facebook)中,会经常看到一些荤笑话,但是系统不允许出现 fuck 这样的脏话,所以发送者会想一些方法来加密这些文字,这样我们才能把荤段子发送给订阅的人。用到了凯撒密码的第13种解法,很有意思。我们把 荤段子 发送到rot13网站,然后加密为密文,发送给订阅者。
2016/8/9
【Coursera】Security Introduction -Eighth Week(1)的更多相关文章
- 【Coursera】Security Introduction -Eighth Week(2)
Review -Terminology(术语): Confidentiallity & Integrity 泄密 & 欺骗 Confidentiallity: Prevent unau ...
- 【Coursera】Security Introduction -Ninth Week(1)
前言 Coursera 的 Internet History,Technology,and Security 进入最后一周的学习了,在这最后一周内,需要进行的内容是 public-key 公钥系统的讲 ...
- 【Coursera】Security Introduction -Summary
对这门课程的安全部分进行一个小结. 往期随笔 第八周第一节 第八周第二节 第九周第一节 第九周第二节 前言:为什么互联网要提及安全 因为security牵扯到我们每一个人,有人每时每刻都想着要偷取别人 ...
- 【Coursera】Security Introduction -Ninth Week(2)
对于公钥系统,我们现在已经有了保证它 Confidentially 的一种方法:SSL.SSL利用了公钥的概念. 那么 who we are talking to? Integrity Certifi ...
- 【python】An Introduction to Interactive Programming in Python(week two)
This is a note for https://class.coursera.org/interactivepython-005 In week two, I have learned: 1.e ...
- 【Coursera】Seventh Week
Application Layer:Use the services of the TCP layer Quick Review Link Layer(Ethernet):gets the data ...
- 【Coursera】History: Dawn of Electronic Computing学后小结
今天学习了Coursera上University of Michigan开的互联网的历史.技术和安全课程的FirstWeek内容. 先是吐槽下这个Coursera,认证非常麻烦,PC端需要摄像头拍照. ...
- 【Coursera】支持向量机
一.最大间隔分类器 1. 函数间隔:\(γ^{i} = y^{i}(w^{T} x + b)\), 改变w和b的量级,对分类结果不会产生任何影响,但是会改变函数间隔的大小.因此,直接对函数间隔求最大值 ...
- 【转】An introduction to using and visualizing channels in Go
An introduction to using and visualizing channels in Go 原文:https://www.sohamkamani.com/blog/2017/08/ ...
随机推荐
- Oracle与Sql server 在SQL上的不同
Oracle与Sql server都遵循SQL-92标准:http://owen.sj.ca.us/rkowen/howto/sql92F.html,但是也有一些不同之处,差别如下: Oracle中表 ...
- 如何让dedecms文章点击量增加一定的数值
用dedecms建站都知道有一个文章点击量这个参数,我们可不可以用这个浏览量做些延伸扩展呢?比如加上一个固定值变成另外一个指标.很多朋友已经想到了,如下图,我们将本文浏览量286设为点击量,加上300 ...
- 在centos7下安装svn
SVN的安装 yum install subversion 服务端命令 1. svnserver - 控制svn系统服务的启动等 2. svnadmin - 版本库的创建/导出/导入/删除等 3. s ...
- [django实践]投票app
code: https://github.com/lannyMa/toupiao polls app介绍 这个例子来源于django官网,恰好2.x版本有中文版. https://docs.djang ...
- node初识——node中的require方法与require.js的区别
出处:http://blog.csdn.net/u013613428/article/details/51966500 作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提 ...
- MYSQL主从不同步延迟原理分析及解决方案(摘自http://www.jb51.net/article/41545.htm)
1. MySQL数据库主从同步延迟原理.要说延时原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主 库对所有DDL和DML产生binlog,binlog是顺序写,所 ...
- tfs使用流程
1.用邮箱注册个微软账号,如zhangsan@outlook.com等邮箱 2.管理员会添加此用户zhangsan@outlook.com 3.打开vs,team-tfs-connect to ser ...
- CodeForces - 946D Timetable (分组背包+思维)
题意 n天的课程,每天有m个时间单位.若时间i和j都有课,那么要在学校待\(j-i+1\)个时间.现在最多能翘k节课,问最少能在学校待多少时间. 分析 将一天的内容视作一个背包的组,可以预处理出该天内 ...
- js的Base64编码与解码
js的Base64编码与解码 pc和手机app项目中,经常需要将手机自带的表情图片转换特定的编码格式与后台进行交互. Base64其实是一种简单的置换加密方式,但是BASE64的用处往往并不是为了防止 ...
- 【tensorflow】pip 安装失败的原因
linux系统旧版本: pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27- ...


