关于电子证书的个人疑问与理解

  1. 1.     个人能否制作CA认证的电子证书?

不能。因为只有CA有CA认证的私钥,别人没有;个人只能制作你个人认证的电子证书,除非你能够破解这个私钥。

  1. 2.     个人能否安装非官方认证的电子证书?

可以,但是必须得到你个人的确认。如果不是操作系统预置认可的机构颁发的证书,操作系统会提示,你必须先安装颁发机构的证书,然后再安装客户证书。非官方认证的电子证书一般用于公司或者团体使用。

  1. 3.     如何既方便又安全的使用电子证书用于保密通信?

首先设备必须预置安全可靠的证书颁发机构;其次,不用随意安装“根证书”,即颁发者证书,除非是你认可的。

服务器可以生成证书(带公钥)供设备下载,而证书颁发机构就是设备预置的机构。

  1. 4.     WAPI中证书是怎么做的?

证书是由AS(Authentication Server)生成的,这边的AS就像CA,是一个证书颁发机构。

AS的私钥自己留着,它的作用是签名自己的证书和颁发出去的证书。

对于颁发出去的客户证书,因为也带了AS的签名,所以AS可以鉴权颁发出去的客户证书。

这样UE和AP就可以通过一个都信任的AS作为中介,每次鉴权的时候,可以通过响应中的AS签名来识别,从而,建立相互信任关系。

AS在颁发证书的时候,也给每个证书附带了privatekey,这个私钥就是用来做用户签名用的,能够标识一个用户的唯一身份,也会在鉴权的时候使用(确定身份?用于确认是否该证书已被吊销?)

后来的通信呢,UE和AP都是基于对等的加密手段进行。

(1)  如果AS1和AS2名称一样,能够互相验证吗?

应该不行才对,因为他们的私钥不同,签名也应该不同。
在安全通信上,要时刻记住:只有签名(包括数字签名)是可靠的,因为它是不可逆的!!!
而能够被编辑的为相同“名字”,是不可靠的!即使看上去是对的,但他是山寨的!
就像你无法去山寨CA的证书一样。

(2)  AS颁发2个证书,如果名字相同,证书内容是否一样?
其实还是一样的道理,为了保证签名的不可逆,每次签名后的数据肯定也是唯一的。

5.     支付宝、银行证书是怎么做的? 看图: http://upload.wikimedia.org/wikipedia/commons/9/96/Usage-of-Digital-Certificate.svg

支付宝/银行先生成一个公钥私钥对,然后用公钥去向CA申请认证,CA确认身份后给他们颁发一个CA认证签名的证书,然后他们用这个证书加上他们的私钥再去生成客户证书。

由于他们的证书得到了CA的认证,所以能够被客户端所接受;他们分发的证书也能够被安装。

分发公钥证书的时候,他们用的是带密码的证书格式(PKCS,不带密码的是PEM),这样可以保证只有拥有密码的用户才能安装属于他们自己的证书。所以在支付宝安装的时候,需要通过手机号进行验证;银行证书安装的时候,需要插入一个USB卡或者需要输入申请的密码。 证书安装成功后,就建立了一个安全的通道(本地的证书和服务器上带私钥的匹配),后续的流程,都是对等加密方式。

6。  应用开发者证书怎么实现?

证书的签发机构CA变成了应用平台商,比如Google、apple、RIM。开发者在本地创建私钥公钥对,然后向平台商注册,得到一个个人信息文件。然后将公钥和个人信息文件(CSR)提交给平台商,得到一个带认证签名的证书。然后应用开发者就可以使用这个证书(+自己的私钥)对应用进行签名,而客户就可以安装这个签名过的应用了。

总结:———————————————–

根证书和用户证书的作用?
根证书(私钥在颁发者那,公钥在证书中)是用来验证用户证书(带私钥和公钥)中的颁发者签名,是否由它所颁发;
用户证书则用来标识自己的可信性,不是冒牌货,由服务器使用,加上服务器自己的签名后生成客户证书;
客户证书则用来与服务器进行安全通信。

WAPI: AP/UE: 根证书 + 用户证书

开发者: 根证书 + 用户证书

银行: 根证书 + 用户证书
用户: 根证书 + 客户证书

Submit a comment

Allowed HTML tags: <a href="http://google.com">google</a> <strong>bold</strong> <em>emphasized</em> <code>code</code> <blockquote>
quote
</blockquote>
example: http://google.com