我理解的数字证书-1-公钥,私钥和数字证书

英文原文地址:

http://www.youdzone.com/signature.html

若下文有任何错误,请告知我,谢谢。[email protected]

主角介绍:Bob and Alice

提起RSA加密算法,公钥和私钥,多数文章都要使用Bob和Alice这两位人物。他们的创造者名叫Rivest,是RSA之父。他为了在避免在描述中使用A和B,就以这两个字母开头,创建一男一女两个角色,就是我们在任何文章上都能看到的Alice和Bob了。这是一些题外话,下面就来进入我们的数字证书入门学习吧。

什么是数字证书

Bob有两把钥匙,一把叫公钥(public key),一把叫私钥(private key)。

Bob的公钥可以公开供其他人使用,他只保留自己的私钥。公钥和私钥用来加解密数据,如果使用任意一把来加密数据,那么只有使用另外一把才能解密数据。

Susan想给Bob写信,她可以使用Bob的公钥将内容加密以后发送给Bob,Bob收到以后,使用私钥解密以便阅读内容。Bob的的其他同事即使截获了Susan发送给Bob的信件,由于没有Bob的私钥,也无法解密,从而确保数据安全。以上就是使用公钥和私钥加解密的过程演示。

多说一句,如果Bob给Susan回信,如何保证数据安全呢?他可以使用Susan的公钥加密消息后发给Susan,Susan使用自己的私钥解密后阅读。所以保护好自己的私钥是多么重要的事情啊。

现在Bob决定给Pat写一份信,信件的内容不用加密,但是要保证Pat收到信件后,能够确认信件的确是Bob发出的,而不是别人冒充Bob发给Pat的,应该如果做呢?

Bob将信件通过hash软件计算一下,得到一串消息摘要(有的文章也称之为“hash值”)。这一过程能够保证2点:1、过程不可逆。即不能通过消息摘计算出信件的内容。2、消息摘要不会重复。即如果信件有任何改动,再次hash计算出的消息摘要一定不会和改动前的消息摘要一致。

然后,Bob使用自己的私钥,将消息摘要加密。加密后的结果,我们称之为“数字签名”。现在,Bob就可以将信件连同数字签名一起发给Pat。

Pat收到信件以后,会做2件事:1、使用Bob的公钥将数字签名解密,如果顺利解密,说明的确是Bob签发的数字签名,不是别人签发的,因为Bob的私钥没有公开。2、Pat使用hash软件对信件再次进行hash计算,和解密数字签名得到的消息摘要对比,如果一致,说明信件没有篡改,确实是Bob发出的。这就是数字签名的过程。它能够确保签名人发出的消息不被篡改,也能证明的确是签名人发出的消息。

ok,一切看上去是那么的完美,使用公钥私钥,即能加解密消息,又可以数字签名。说了那么多,还没有提到文章的主题----数字证书(不要和数字签名搞混了)。

先来做一道CISP的试题:

那类人对单位的信息安全威胁最大:a、高层领导   b、信息主管  c、安全管理员  d、心怀不满的员工

三长一短选最短,三短一长选最长,so答案就是d,也是我们下面引入的主角,Doug,our disgruntled employee。

Doug要欺骗Pat,冒充Bob给Pat写信,他应该怎么做的?既然Bob的公钥是公开的,Doug可以冒充Bob,将他自己的公钥发给Pat,让Pat误认为收到的公钥就是Bob的,然后就可以冒充Bob给Pat发消息了(这里我们只谈理论,不谈具体实现方式)。所以问题的核心就是,如何确保公钥不被冒充?

使用数字证书可以确保公钥不被冒充。数字证书是经过权威机构(CA)认证的公钥,通过查看数字证书,可以知道该证书是由那家权威机构签发的,证书使用人的信息,使用人的公钥。它有以下特点:

1、由专门的机构签发的数字证书才安全有效。

2、签发数字证书是收费的。

3、不会被冒充,安全可信。

4、数字证书有使用期限,过了使用期限,证书变为不可用。CA也可以在试用期内,对证书进行作废操作。

5、CA的公钥已经集成到操作系统中了。如上图。

生成数字证书的流程的如下:

1、持有人将公钥以及身份信息发送给权威机构。

2、权威机构负责对持有人的身份进行验证,确保公钥和持有人的信息准确无误。

3、权威机构使用自己私钥对持有人公钥进行数字签名,生成数字证书。

4、为了确保证书不被篡改,权威机构对数字证书进行hash计算(指纹算法),生成摘要(指纹),使用自己的私钥对摘要进行数字签名,放到数字证书中。

5、对持有人收费。

附:

几篇好的文章,对我的帮助很大,谢谢作者:

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

http://blog.csdn.net/ly131420/article/details/38400583

时间: 2024-10-30 21:16:41

我理解的数字证书-1-公钥,私钥和数字证书的相关文章

公钥 私钥 数字签名 数字证书

经常会听到公钥和私钥的概念,今天来讨论一下我对公钥和私钥的理解. 公钥和私钥是非对称加密的一种,有别于对称加密中,双方都持有相同的密钥,非对称加密,加解密双方持有不同的密钥,公开给对方的密钥被称为公钥,自己保留的密钥 被称为私钥.由公钥加密的内容只有私钥能解开,反之,由私钥加密的内容只能被公钥解开. 那么,公钥和私钥的用处在哪里呢.首先来了解一下对称加密,对称加密双方都持有相同的密钥,只要得不到密钥就解不开密文,但这是建立在双方都互相信任的基础上, 如果两边都可能存在不信任,那么随便把密钥交给对

苹果证书和公钥私钥加密

今天看了点关于公私钥加密的内容,赶快记下省的忘记了. 这里有几个概念:公钥,私钥,加密,认证,认证中心(CA),数字证书. 公钥和私钥是属于非对称性加密,公钥和私钥是完全不同的,但是相互对应的.一把私钥只能对应一把公钥.顾名思义,公钥是对外开放的,所有人都可以获得,私钥是自己保管的. 加密与认证 基于公钥的加密 加密的目的是保证密文只能由特定人读取,其他人都不能获知里面的内容.公钥的作用就是加密.举例说明:Alices发信息给Bob.她会用Bob给的公钥对明文进行加密.Bob得到密文后,用自己的

Openssl将crt证书和key私钥合成pfx证书

下载OpenSSL地址:http://slproweb.com/products/Win32OpenSSL.html 下载安装openssl 选择对应OpenSSL版本进行下载下载. 运行安装程序Win64OpenSSL_Light-1_1_0f.exe,将openssl安装到C:\OpenSSL-Win64. 安装完成后,可以在控制台运行如下指令,来测试是否安装成功. 进入到C:\OpenSSL-Win64\bin目录输入以下命令:openssl version 如果返回openssl版本号(

[转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用

公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liuzhengwei521/2120535 公钥基础设施(PKI) 基础概念 CA(Certification Authority)证书,指的是权威机构给我们颁发的证书. 密钥就是用来加解密用的文件或者字符串.密钥在非对称加密的领域里,指的是私钥和公钥,他们总是成对出现,其主要作用是加密和解密.常用的加

关于公钥私钥是否可以互相加解密的理解(附苹果开发者证书配置时非对称加密算法的应用)

查资料的时候发现很多人有疑惑,公钥和私钥到底哪个是用来加密,哪个是用来解密的,是否可以公钥加密私钥解密,同时也可以私钥加密公钥解密呢?针对这一问题,说下自己的理解. 首先要明确两个问题:(1)既可以公钥加密私钥解密,也可以私钥加密公钥解密:(2)加密解密和签名验证是两个不同的概念. (一)先来说加密解密:需要同时使用公钥和私钥的加密算法是非对称加密,最常见的便是RSA.举例说明非对称加密:如果A想要给B秘密的发一条信息,只需要B创建一套公钥(盒子)和私钥(钥匙),盒子可以随意分发,但是钥匙只能B

详解公钥、私钥、数字证书的概念

详解公钥.私钥.数字证书的概念 加密和认证 首先我们需要区分加密和认证这两个基本概念. 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全 性.身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限.其重点在于用户的真实性.两者的侧重点是不同的. 公钥和私钥      公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高. 在现代密码体制中加密

公钥私钥加密解密数字证书数字签名详解

from http://codefine.co/1455.html 首先明确几个基本概念: 1.密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的. 2.公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密. 3.私钥,如上,用来解密公钥加密的数据. 4.摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得. 5.签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名.

密码学-详解公钥、私钥、数字证书的概念

加密和认证 首先我们需要区分加密和认证这两个基本概念. 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全 性.身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限.其重点在于用户的真实性.两者的侧重点是不同的. 公钥和私钥      公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高. 在现代密码体制中加密和解密是采用不同的密钥(公开密钥

https 及证实公钥私钥理解

1.发送人私钥加密,接收人公钥解密.可证明 接收人接受到的信息来源于 真正的发送人. 2.发送人用公钥加密, 接收人用私钥解密. 只要私钥未泄露,则可保证 发送的信息是安全的. 3.ca证书中心, 由于 接收人接收到的公钥有可能是假的公钥,这样会导致 接收人接收到的信息不是真的来源于持有真正私钥的发送人. 所以就引入了 第三方证书结构, 用 第三方证书机构的私钥 加密 发送方的公钥 生产 数字证书, 然后 接收人收到 数字证书后用证书机构的公钥解密 数字证书, 获取到 发送方的公钥,再用公钥验证