利用数字证书,可以实现在网络世界中保证4个基本的安全功能,分别是身份验证、保密性、完整性和抗抵赖性。下面形象地总结一下这4中特性以及实现的大概原理。

一、身份验证

我们说数字证书是“网络身份证”,显然的,首要任务是有力地证明我是谁这个问题。身份验证包括:验证我是不是确实拥有这个证书的私钥;这个证书是不是盗版的,即是否是权威机构(CA)颁发的;这个证书是不是在有效期内等。

举个例子,数字证书又俗称U盾,我想在家的电脑上登陆我的网上银行,那我插上U盾,打开网银登录网页,输入登录密码,点击登录。点这一下,程序干啥了?

首先,得验证我的登录密码对不对吧,好,对着呢。

在打开网银登录页面的时候呢,网银那边的服务器就生成一段随机数发到我电脑这边了,现在登录程序就拿我的U盾里的私钥给这段随机数加密,也叫签名。

最后,把我证书和签名一起送到服务器。

所有用户在验证数字签名之前,都应该先验证证书的有效性。

服务器收到后,用CA公钥来验证CA签名(证书的一部分)的真实性来验证是否权威。也即验证了我公钥的真实性。再通过CRL或者OCSP查询证书的状态就可以验证有效期。

然后进行签名校验,拿我的公钥去解密签名。得到的随机数和服务器留底的一比,一样的话就证明我的私钥是真的。

以上验证都通过后,就完成了对我的身份验证。

二、保密性

我想给你送个价值连城的宝贝,这肯定不能让别人截胡了,我就想只有你能收到,别人拿不到。这时就用上了数字信封。

灵魂画手配图:

我先用一个对称密钥把宝贝锁起来,上图的覆盖色对应用什么颜色的密钥加密的,小椭圆(锁孔)的颜色表示需要用什么颜色的密钥解锁。然后我拿个锦盒把我的对称密钥装起来,用你的公钥锁上。然后一起打包发快递给你。

你收到之后,先拿你的私钥把锦盒打开,取得里面的对称密钥,再拿对称密钥解锁,得到宝贝。

因为锦盒是用你的公钥锁的,只有你才有开锦盒的私钥,这就保证了只有指定的接收方你才能拿到宝贝,这就是保密性。

三、完整性

上面的保密性只能保证是你本人收到的,但却不能保证发送方我的身份真实性,以及我给你的东西有没有被人动过手脚。

保证完整性,有两个层面,首先保证确实是我发的,其次东西被别人改了能立马察觉。

(1)利用数字签名保证发件人身份

我用我的私钥对文本内容加密,这个过程就产生了数字签名,然后文本内容与数字签名一起打包发送。你收到后,先拿我的公钥去解密数字签名,能解开,就说明确实是我发的,没被人冒充。数字签名解开之后,就得到一份解密版文本,和原文一对比,就能判断有没有被篡改。

内容少点还好,但非对称密钥的加密解密过程是很慢的,内容一多就效率低下了。

(2)利用摘要算法保证内容被篡改立马察觉

摘要算法是啥?它将任意长度的输入消息数据转化成固定长度的数据输出,将复杂数据和简单数据的对应起来。实际上它是一个哈希算法,输入原文数据,输出哈希值。

简单来讲,它有几个重要的特征,第一,它不可逆的,就是说你想从摘要数据反推原始数据是非常难的;第二,它对输入数据变化非常敏感,哪怕你就改了个标点符号,我摘要数据都变得天差地别,一眼就看出来了;第三,不同输入得到相同输出的概率极低,很难用不同的输入数据伪造相同的摘要数据。

因此,摘要算法和数字签名结合,就能很好的保证数据的完整性。

我首先用摘要算法将原文计算成摘要数据,然后用我的私钥对摘要数据进行加密,形成数字签名。将数字签名附在原文底下一起发给你。

你收到后,先用我的公钥解开数字签名,能解开,说明确实是我发的;解开之后得到我做的摘要数据,然后你把原文用摘要算法计算一遍,得到你做的摘要数据,两个摘要数据对比,一致表示未被篡改。

四、抗抵赖性

一般正规的文件,签名下面必须写上签名的时间。比如一份产品测试验收文件,我是验收人,9月1日测试的时候我没认真看我就签名了,没写日期,第二天同事就发现了产品故障,找到我,我抵赖说那是我8月15签的名,那会产品确实是合格的。

数字签名只能保证确实是我这个人,但并不能确定什么时候签的。所以要使用时间戳服务。

通过数字签名技术将数据和时间绑定后的结果叫做时间戳,由权威的第三方机构TSA(time stamping authority)提供。

我先计算出原文的摘要数据,再用我的私钥进行加密,形成我的数字签名。然后发给TSA,TSA把当前时间附在我的数字签名上,再用TSA的私钥对数据进行签名,形成时间戳。

五、总结

一个可能的发送-接受流程如下:

形象理解数字证书的基本安全功能相关推荐

  1. 数字证书、签名到底是什么?这篇文章讲得太好了

    前段时间整理了关于数字证书和数字签名的一些内容,今天整理一下发出来. 我们都知道 HTTP 协议都是明文传输内容,为了保证数据传输的安全,HTTPS 协议就应运而生了,但它其实并不是一个全新的协议,而 ...

  2. 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书

    最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Tra ...

  3. SSL数字证书是什么?

    SSL数字证书是什么? 现在是一个网络发达的时代,网站也开始变得非常的普遍,很多人在创业或者是其他事情中都会用到网站,但是很多朋友可能对于网站中的一些安全证书不太了解.SSL数字证书就是其中的一种,所 ...

  4. 动态口令与数字证书简介

    1.动态口令 动态口令,又叫动态令牌.动态密码.20 世纪80 年代初,美国科学家LeslieLamport 针对静态口令认证的缺陷,首次提出了利用散列函数产生动态口令(OTP:One Time Pa ...

  5. 什么是RSA国产数字证书?

    一位朋友向我打听什么是RSA国产证书? 我们用的较多说法是,国际算法的RSA证书,国密算法的SM2证书,那么有没有RSA国产证书呢? RSA国产证书的提法并不标准,它来源一个安全通告,2019年11月 ...

  6. 消息摘要(Digest),数字签名(Signature),数字证书(Certificate)是什么?

    1. 消息摘要(Digest) 1. 什么是消息摘要? 对一份数据,进行一个单向的 Hash 函数,生成一个固定长度的 Hash 值,这个值就是这份数据的摘要,也称为指纹. 2. 摘要算法 常见的摘要 ...

  7. SSL数字证书(二)使用makecert.exe签发证书

    数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 首先放出几个参考 ...

  8. 关于数字证书理解的简单整理以及12306站点证书简单分析

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sundacheng1989/article/details/25540601 首先简单理解一下什么是 ...

  9. 【数据安全】一、通俗理解数字签名,数字证书和https

    通俗理解数字签名,数字证书和https 前言 最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应.签章有法律效应必须满足两个条件: 能够证明签名,盖 ...

  10. 数字签名与数字证书形象解释

    前言 先看一下百度百科对数字签名和数字证书的解释: 数字签名: 将 报文按双方约定的HASH 算法计算得到一个固定位数的 报文摘要.在 数学上保证:只要改动报文中任何一位,重新计算出的 报文摘要值就会 ...

最新文章

  1. 尚硅谷Docker---1、docker杂记
  2. 谁动了我的奶酪?--java实例初始化的顺序问题
  3. Blocking/Non-Blocking VS Sync/Async VS Overlapped
  4. 利用BP神经网络预测水道浅滩演变
  5. Nlpir Parser智能语义平台全文搜索
  6. python生成.exe文件
  7. linux page buffer cache深入理解
  8. for循环次数太多的时间优化_for循环关于对象长度优化思考
  9. 关于现代计算机的知识,从资本经济到知识经济:现代计算机的知识革命
  10. 第014讲 CSS 定位
  11. 【优化调度】基于matlab粒子群算法求解水火电系统经济、环境运行单目标调度优化问题【含Matlab源码 1138期】
  12. C#习题——三角形或者长方形的边长,计算其周长和面积
  13. 【转ITAA上justdoit的一篇帖子】 验证OSPF中对外部路由路由的选择规则【留档】
  14. ecshop 模版写php,ecshop 模板直接使用运算符
  15. 计算机编程年纪大了会被淘汰吗,这些“吃青春饭”的专业,年纪大了容易被淘汰,应届生更受欢迎...
  16. Android手机APN简介
  17. 微信小程序 模仿华为音乐 列表界面
  18. 泵站和水闸无人值守系统
  19. 手机iphone项-测试崩溃问题总结
  20. redis杂乱小知识

热门文章

  1. Windows安装证书
  2. 7月编程语言排行榜揭晓!
  3. java中倒三角形和正三角形_正三角形,倒三角形,以及正倒三角
  4. The run destination''''is not valid for Running the scheme
  5. 智能网联变革下的“新赢家”:德赛西威荣登2021全球零部件供应商百强榜
  6. 火柴棍游戏c语言,C语言题目
  7. 使用OpenCV编写图像窗宽窗位动态调节程序
  8. echart 广州3d_datav比较echart
  9. opqcp c语言代码混淆器 error
  10. C#下对PDF文件进行电子图片签名