【Coursera】Security Introduction -Ninth Week(2)
对于公钥系统,我们现在已经有了保证它 Confidentially 的一种方法:SSL。SSL利用了公钥的概念。
那么 who we are talking to?
Integrity
Certificate Authorities Integrity
服务器发送给我们的公钥,是加以签名(signed)的,被 third-party certification authority 认证(validated).
我们并不是从 Coursera 得到的证书,而是从 GoDaddy 处得到的认证的证书。
GoDaddy 检查了 Coursera 的 ID,认证之后,给予private key签名。所以这是一种 确保你所交流的对象身份 的方法。
Digital Certificates
In cryptography, a public key certificate(公钥证书) (also known as a digital certificate(数字证书) or identity certificate(身份证书)) is an electronic document(电子文件) which uses a digital signature(数字签名) to bind(捆绑) a public key with an identity(使用数字签名 将一个 认证的身份/姓名 和public key捆绑在了一起) ---information such as the name of a person or an organization, their address, and so forth.
The certificate can be used to verify(核实) that a public key belongs to a individual.
举个例子,如果有一个guy来到了你的办公室,然后说,hey,我是翔翔。然后你就要指明他的身份了:hey,给我看看你的纹身。翔翔给你看了他的纹身,然后你证实了他的身份。这里的纹身就是 翔翔的 private key,就是 signature。
Certificate Authority(CA)
A certificate authority is an entity(实体) that issues(发布) digital certificates. The digital certificate certifies the ownership(所有权) of a public key by the named subject of the certificate.
A CA is trusted third party that is trusted by both the owner of the certificate and the party relying upon the certificate.
有时候,取得证书是一件很昂贵的事情,这些证书具有十分可靠的可信度。
比如我有一个网站,www.chuck.com,我在这个网站上面做一些教学的工作,因为我需要得到一些信息,所以需要申请安全的证书。我有 public key 和 private key,我向certificate authority 发送了它们,然后支付了一定的费用,然后它们返回给我了 具有可信度的 signed private key。
优秀的CA证书具有很高的可信度,因此有时候取得证书是一件很昂贵的事情。为了保证这个certificate不会被第三方的人获取,CA需要一些时间来证明申请者的身份。
虽然我们花了很大的价钱购买了证书,但是CA同样也花了很大的精力来认证,防止错误地发送证书给第三方。
我们使用CA的证书来确认我们访问的对象,那么我们是怎么确认哪一个CA是我们可以相信的呢?
这取决于我们操作系统的供应商。
你的游览器和你的操作系统,为了确信的CA提前安装了public key certificates,就像Verisign。
Verisign 在它的发展过程中,以它的身份鉴证方式在多年来的实践中经受住了充分的考验,取得了众多公司的信任。
VeriSign是世界唯一一家在颁发给网站安全证书的同时对其企业真实身份进行实地考查,并进行法律认定的第三方安全认证机构。他首先保证了你交易的安全,其次保证了该网站是合法的网站。
不同的CA数字证书机构在身份鉴别上有着不同的策略,作为行业的领先者VeriSign一贯严格的身份鉴证,其身份鉴证方式在多年来的实践中经受住了充分的考验,其证书在整个互联网上拥有者极高的认知度。要想获得一张数字证书,申请者至少要提交如下资料:
1、 提交组织真实信息已证实组织是合法成立的机构
2、 提交信息以证明组织是该域名的合法拥有者,服务器证书有权使用该域名地址
3、 验证SSL服务器证书申请者作为企业的正式成员的真实身份并被组织授权申请证书
Public-Key issues
Public-Key cryptosystems have the problem of securely associating(使联系起来) a public key with an idividual.(将public key 和 个体联系起来)
I am about to type in my credit card and send it. -am I being Phished?
The remote server sent me a public key.
Should I use it? Is this really Amazon's public key?
前面我们解决了Integrity的问题:我们发送数据的对象 通过 public key 上的CA证书 证明是可靠的对象,是我们的数据想要发往的对象而不是第三方。
那么还有一个问题:怎么证明 网站发来的 public key 是真实的,或者说 不是第三方发送的?
Public/Private Key for signing
一个例子:
VeriSign 有一个public key 和 一个 private key,他们存储了private key。随后他们把 Verisign public key 交给了苹果,微软以及Linux,这些公司把 VeriSign public key 装进了你的laptop中。
Amazon 此时想做一些交易,Amazon 在它的服务器中,生成了一对 Amazon public key 和 Amazon private key, Amazon private key从不离开Amazon的服务器。
然后,Amazon 把它的 Amazon public key 传送给 VeriSign,第三方可能会看见,但是没有关系,它只是public key。
在 VeriSign 的服务器内部,使用了它的 VeriSign private key 生成了摘要(digest),并且把证书和 在尾部添加了 digest 的 Amazon public key 发送给 Amazon。
那么现在 Amazon 拥有的不是以前的 Amazon public key 了,它现在是 被 VeriSign 证明(通过digest) 的 Amazon public key,也就是说,之前 Amazon 把它的 public key 发送给 VeriSign, Verisign 对它进行了签名(也就是身份验证),使得第三方很难去伪造它。
经过了很长的一段时间,你想在你的laptop上面登录 Amazon 购买一些鞋子。
Amazon 把带有 CA证书 和 digest 的 Amazon public key 发送给你,那么此时你拥有的是 从你购买电脑的那一刻起,安装在你电脑里面的 VeriSign public key,通过这个 Verisign public key 和 Digest 你验证了 Amazon public key 是经过 Verisign 认证的,那么也就是说,这个 Amazon public key 确实是 Amazon 发送过来的。注意:附在 Amazon public key 之后的 digest 是在 Verisign 处 使用 Verisign 的 private key 形成的。
所以,我们通过这个 Verisign 验证(digest)的 Amazon public key 证实了 它确实是从 Amazon 发送过来的。
这一次,通过发送过来的 Amazon public key (附着digest) 和 CA证书,我们证明了:
- 这个发送过来的 public key 确实是 Amazon 发送过来的。
- 因为有这个 Verisign 认证的 CA证书,我们可以放心的把我们的信息 通过发送过来的 Amazon public key 加密之后,发送给 目的地 而不是第三方。
接下来的事情,我们可以放心的用 发送过来的 Amazon public key 加密我们的信息(因为我们通过 Verisign 的 digest 验证了这个 public key 的安全性),然后发送给目的地 而不必担心目的地是虚假的(因为CA证书)。
Amazon 收到了你用 Amazon public key 加密的 暗文,随后 Amazon 使用 从未离开的 Amazon private key 对 暗文 进行解密。得到了想要的信息。
第三方一直在监视这些过程,但是没有办法(或者说好的方法)来破解public key(之前提到的 large prime 得到因子是一件很困难的事情),所以这些过程真的是非常的精彩和智慧。
小结:
CA 和 SSL 解决了一大堆 非常有价值的 信息安全问题。
Message Confidentially / Message Integrity
Encrypting / Decrypting
Message digest and message signing
Shared secret key / Public Private key
2016/8/14
【Coursera】Security Introduction -Ninth Week(2)的更多相关文章
- 【Coursera】Security Introduction -Ninth Week(1)
前言 Coursera 的 Internet History,Technology,and Security 进入最后一周的学习了,在这最后一周内,需要进行的内容是 public-key 公钥系统的讲 ...
- 【Coursera】Security Introduction -Eighth Week(1)
Security Introduction People With Bad Intent 今天,Bob 向 Alice 发送了一条 "Hello,Allice!" 的信息,他们希望 ...
- 【Coursera】Security Introduction -Eighth Week(2)
Review -Terminology(术语): Confidentiallity & Integrity 泄密 & 欺骗 Confidentiallity: Prevent unau ...
- 【Coursera】Security Introduction -Summary
对这门课程的安全部分进行一个小结. 往期随笔 第八周第一节 第八周第二节 第九周第一节 第九周第二节 前言:为什么互联网要提及安全 因为security牵扯到我们每一个人,有人每时每刻都想着要偷取别人 ...
- 【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/ ...
随机推荐
- crontab定时任务-干货案例
自定义需求:实现消息队列. 1.创建一张mysql表结构 2.编写php脚本,便于sh文件执行 3.编写sh脚本,便于crontab定时执行 4.crontab -e 注册定时任务,如果此步不清楚请参 ...
- 十天精通CSS3(3)
颜色之RGBA RGB是一种色彩标准,是由红(R).绿(G).蓝(B)的变化以及相互叠加来得到各式各样的颜色.RGBA是在RGB的基础上增加了控制alpha透明度的参数. 语法: color:rgba ...
- [运维-安全]CentOS7.0环境下安装kangle和easypanel
一.康乐简介 主要特点1.免费开源kangle技术团队希望国人拥有一款真正好用.易用.实用的国产web服务器.2.跨平台可在linux.windows.freebsd.openbsd.netbsd.s ...
- 转载一篇debug文章
http://versprite.com/og/ios-reverse-engineering-part-two-debugging-and-tracing-with-lldb/ iOS Revers ...
- 浅谈Android View事件分发机制
引言 前面的文章介绍了View的基础知识和View的滑动,今天我们来介绍View的另一个核心知识,View的事件分发机制. 点击事件的传递规则 所谓的点击事件的分发机制,其实就是对MotionEven ...
- 几乎考虑到了每个细节的php图片上传
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...
- C/S模型之UDP协议
说明:利用UDP协议,创建一个服务器和一个客户端.两者间进行通信.由客户端进行输入内容,而服务器将接受的内容进行再一次返回,并显示在服务端. // UDP_Seversock.cpp : 定义控制台应 ...
- cda转MP3
首先启动Windows Media Player播放器(依次单击“开始”——“所有程序”——“附件”——“娱乐”——“Windows Media Player” 在工具栏切换到“翻录”选项,这 ...
- linux常用命令:ifconfig 命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...
- python堆排序
堆是完全二叉树 子树是不相交的 度 节点拥有子树的个数 满二叉树: 每个节点上都有子节点(除了叶子节点) 完全二叉树: 叶子结点在倒数第一层和第二层,最下层的叶子结点集中在树的左部 ,在右边的话,左子 ...




