初识PKI/CA和数字证书

一、首先,说一下经常听到但又不太了解的数字证书。

在现实生活中,如何证明我是谁,这时候我掏出我的身份证,足以证明。那么在网络世界中,数字证书就是这么一张“身份证”。身份证上有一个人的姓名,性别,出生日期和身份证号码等等,那么数字证书有啥?

数字证书是一种特殊的文件格式,包含了用户的身份信息,用户的公钥信息和CA私钥的数字签名。

好了,冒出好几个不认识的专有名词,什么是公钥私钥? CA是什么?什么是数字签名?

 1.公钥私钥

每个用户都拥有一对公钥和私钥,公钥是计算机随机产生的,是公开的;私钥是用户自己收好的,一般为了保证安全性,将私钥保存于硬件密码设备(例如IC卡)中,且不允许密钥导出硬件设备,只允许通过口令、指纹等方式来访问。

2.CA(certificate authority)

证书权威CA,也叫CA中心,负责签发数字证书。可以理解为发放身份证的派出所。

3. 数字签名

CA也有它的公钥和私钥,CA用自己的私钥对用户的身份信息和公钥信息进行加密处理,就形成数字签名。

二、CA

那么CA这个“派出所”是怎么签发数字证书的呢?

总的来说,分为以下几个步骤:

(1)将用户的身份信息和公钥信息按照特定格式组成数据data1

(2)利用摘要算法,将data1计算成摘要data2,摘要算法这里不作介绍

(3)用CA私钥对data2进行加密,形成数字签名data3

(4)最后将用户信息,用户公钥信息以及数字签名按照某种形式组合,就是数字证书。

CA管理数字证书的整个生命周期,除了签发之外,还有好多事要做,比如数字证书的更新,作废,挂失,下载以及状态查询等等。分工合作嘛,于是CA里面又有好几个“部门”。

1.KMC(key management center)

用数字证书加密的内容就像一间锁了门的房子,得用与公钥对应的私钥解密才能开门。那不怕一万就怕万一,哪天我不小心把我的钥匙弄丢了咋整,这时候我想到给我信任的朋友家放一把备用的钥匙。而KMC就是一个管理私钥的“部门”,负责私钥的整个生命周期。

用户自己生成公私钥对,向CA申请数字证书的时候,把私钥交给KMC留作备份。另一种方式是,KMC它可以生成公私钥对,当数字证书签发后,把数字证书和私钥安全的交给用户,同时KMC留一份私钥备份。

按理说,为了数据安全,私钥不应该有备份才是,得有个办法解决这个矛盾,那就是双证书机制。

即签名证书和加密证书,签名证书只能用来校验签名,不能用来加密解密,签名证书的密钥对必须要用户自己生成,私钥用户自己收好,仅此一份。加密证书则只能用来加密解密,加密证书的密钥对必须由KMC生成,KMC备份私钥之后,将签发的数字证书和私钥交给用户。

2.LDAP(light-weight directory access protocol)

CA中心里面保管着所有数字证书,用户可以随时去查询或者下载。人多就会慢嘛,所以轻量目录访问协议LDAP就是来解决CA中心性能问题的。这里不多说。

3.CRL(certificate revocation list)

要是我的私钥被泄露了,那肯定就不能再用了,不安全了嘛。那连带的用这个私钥去解密的数字证书自然也要随之作废,状态失效。那别人怎么知道我的证书是不是失效了呢?可以定期去CA中心下载证书作废列表CRL。

CRL里面包含了所有失效的数字证书清单,下次生成CRL的时间,以及CA的私钥签名以防篡改。别人下载了CRL之后在本地脱机验证就可以判断我的证书是否失效,在下次生成CRL的时间之前都不用联系CA中心。

4.OCSP(online certificate status protocol)

上面说了,CRL是有一定的时效的,不是实时的,那万一我的证书就在下次生成CRL的日期之前失效了,别人下载的最新CRL里面没显示我证书失效,那存在隐患。在线证书认证协议OCSP就可以提供实时的证书状态查询。

5.RA(registry authority)

一个数字证书签发不单单只是签发,还需要处理用户的申请/撤销申请,用户身份审核,证书制作等等,注册中心RA就是专门给用户提供面对面服务的“部门”,负责办理上面那些工作。

三、PKI(pubilc key infrastructure)

公钥基础设施PKI就是上面所述的一个整体框架,简单的来说,PKI通过数字证书绑定用户的身份和其密钥对,并为用户提供便利的证书申请、作废和查询等服务,同时,利用数字证书以及其相关的服务来保证网络通信的安全。

根据数字证书格式和密钥管理的方式不同,PKI有很多种模式,其中X.509模式是当前数字证书格式的事实标准。

以上,参考《PKI/CA与数字证书》张明德著。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值