感谢传智播客的方立勋老师,在一个教学视频上,他巧妙地以蒋介石给宋美龄写密信作为例子,生动地讲述了软件密码学知识。

加密分为对称加密和非对称加密,我们传统理解的,发送数据之前使用一个加密器加密,接到数据以后使用解密器解密,这样的过程叫对称加密。而今天要讲的公钥私钥机制是非对称加密。

背景:在互联网上传输极机密的信息(比如网银用户在登录银行系统时使用的账号和密码)时,发送信息的一方和接收信息的一方彼此验证数据真实性及对方身份真实性的一套机制。

以下以用户登录银行系统为例,用户也叫数据发送方,银行也叫数据接收方,用户名密码叫做数据或消息或信息。

公钥私钥--一把钥匙开一把锁:消息发送的发送方和接收方都可以产生自己的公钥和私钥。对同一个人或机构来说,他产生的公钥加密的消息只有他产生的私钥可以解密,他产生的私钥加密的消息只有他产生的公钥可以解密。所谓公钥就是消息接收方发送给消息发送方的一个加密解密一体机, 消息发送方拿到公钥以后,就可以使用它加密一个消息并在发送给消息接收方以后由接收方通过自己手里的私钥来解密。可见,私钥之所谓私是因为他绝对不可以被其他方获得。公钥之所以公是因为它是发送给别人的,这个公钥可能后来被转发给无数个人,也可能被黑客拦截获取,这很好理解。

CA认证--消息发送方确认消息接收方的身份:作为消息发送方,必须确认消息接收方身份的真实性。比如,当你第一次打开银行网站时,虽然你拿到了对方网站发送给你的公钥,但你必须确认对方真的是银行网站而不是钓鱼网站或黑客,因为公钥人人都可以生成,如何判断你收到的公钥是真的银行发给你的呢?此时,CA认证闪亮登场,CA是一个可信的认证公钥的第三方组织,经过它认证过的公钥都是真实的。用户在登录银行系统时,银行通过网络将该行的CA认证书(内含银行公钥)发送给用户的浏览器,每个浏览器都会自动地验证和提示用户安装接收到的CA证书,如果验证不通过就会提示报错信息给用户,避免用户上当。

数字签名--消息接收方确认消息发送方的身份:同样,作为消息接收方,必须确认它收到的消息是真正的消息发送方发来的而不是黑客做的假消息(因为黑客有可能在银行给用户发送CA证书的时候从中拦截获得了CA证书和银行的公钥,然后用公钥加密消息再发给银行),这时就产生了所谓数字签名机制,数字签名是数据发送方将待发送的数据的摘要(一般是MD5摘要)使用发送方的私钥加密以后的结果,用户在发送加密信息给银行时,随同加密信息一起被发出的还有用户的数字签名及用户自己的公钥,银行拿到信息以后,首先使用用户的公钥解开数字签名,拿到MD5摘要码,然后使用自己的私钥解开加密信息,并将得到的信息再进行一次计算摘要,如果计算得到的摘要和解开数字签名得到的摘要相等,则可确认确实是用户发来的消息。为什么叫数字签名这个名字呢,我个人的理解是,你去银行柜台办理业务总是要不停地签名,你的签名是证明你是你的方式,而数字签名的作用也同样是为了向银行证明你就是你,所以叫做签名还是很贴切的。

U盾--直接发到用户手里的CA认证书:由于对CA认证的验证过程是在用户的浏览器里进行的,为了防止黑客劫持了用户的浏览器,在认证过程中做手脚,银行为网银用户发放U盾,直接将CA证书发到用户手里,防止了浏览器劫持带来的问题。

公钥、私钥、CA认证、数字签名、U盾的更多相关文章

  1. 探究公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https它们究竟是什么,它们分别解决了通信过程的哪些问题。

    一.准备 1. 角色:小白.美美.小黑. 2. 剧情:小白和美美在谈恋爱:小黑对美美求而不得.心生怨念,所以从中作梗. 3. 需求:小白要与美美需通过网络进行通信,联络感情,所以必须保证通信的安全性. ...

  2. CA认证原理以及实现(上)

    转自:http://yale.iteye.com/blog/1675344 原理基础数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体,依靠数字证书,我们可以构建一个简单的 ...

  3. [加密]openssl之数字证书签名,CA认证原理及详细操作

    转自:http://blog.sina.com.cn/s/blog_cfee55a70102wn3h.html 1 公钥密码体系(Public-key Cryptography) 公钥密码体系,又称非 ...

  4. CA认证_demo

    CA认证,即电子认证服务 [1]  ,是指为电子签名相关各方提供真实性.可靠性验证的活动. 证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构.是负责发放和管理数字 ...

  5. CA认证机制的简明解释

    公钥机制面临的问题: 假冒身份发布公钥! 可以用CA来认证公钥的身份.CA有点像公安局,公钥就像身份证.公安局可以向任何合法用户颁发身份证以证明其合法身份.第三方只要识别身份证的真伪就能判断身份证持有 ...

  6. 浏览器CA认证流程

    转载:https://blog.csdn.net/qq_22771739/article/details/86479411 首先说说证书的签发过程: 服务方 S 向第三方机构CA提交公钥.组织信息.个 ...

  7. OpenSSL与公钥私钥证书签名的千丝万缕

    导语 人对任何事物的认识都是阶段性的,从无知到知晓,从懵懂到半知半解,从误解到将信将疑,从晕头转向到下定决心吃透. 介绍 OpenSSL是一个强大的命令行工具,它可以用来处理许多种跟PKI(Publi ...

  8. CA认证

    nginx下证书配置 nginx 下 配 置 CA 认 证   为nginx配置https并自签名证书   开启443端口   实验环境: centos6.5    192.168.16.14   [ ...

  9. CA认证和颁发吊销证书

    摘要:涉及到网络安全这一块,想必大家都听过CA吧.像百度.淘宝.京东等这些知名网站,每年都要花费一笔money来买CA证书.但其实简单的企业内的CA认证,我们自己就可以实现,今天小编我就讲解一下怎么在 ...

随机推荐

  1. [ACM_模拟] UVA 10881 Piotr's Ants[蚂蚁移动 数组映射 排序技巧]

    "One thing is for certain: there is no stopping them;the ants will soon be here. And I, for one ...

  2. Jenkins pipeline 入门到精通系列文章

    Jenkins2 入门到精通系列文章. Jenkins2 下载与启动jenkins2 插件安装jenkins2 hellopipelinejenkins2 pipeline介绍jenkins2 jav ...

  3. p4 是否能自动merge

      总结: 1)如果在copy merge(-at)/auto merge(-am)后修改source branch,则可以自动被copy merge: 2)如果在manual merge后修改sou ...

  4. dip的全称

    dip的全称是Density-independent pixel,密度无关像素.很多地方误认为是device independent pixel,即设备无关像素.这是错误的. 因为dip也就是dp只能 ...

  5. Qt之Dialog\widget\ mainwindow的区别和布局管理器 & 分裂器的区别

    1.Dialog\widget\ mainwindow的区别 注意mainwindow和widget的区别,mainwindow都工具栏和菜单栏 Dialog and mainwinodws 都是继承 ...

  6. Linux驱动学习步骤(转载)

    1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, ls ...

  7. GeoHash核心原理解析

    http://www.cnblogs.com/LBSer/p/3310455.html 引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西.某一天机机到北海公园游玩, ...

  8. CSS关于元素垂直居中的问题

    今天碰到了一个问题,给一个父容器和一个子元素,子元素不定高和不定宽,怎么让子元素居中在父容器中,比如下段代码 方法1: <div class="div1"> <d ...

  9. Atitit.基于dsl的methodinvoker

    Atitit.基于dsl的methodinvoker V2 new dyn  invoke V3 plan Meth chain Prj  cms methd_invok.bat rem a  sta ...

  10. paip.java 线程无限wait的解决

    paip.java  线程无限wait的解决 jprofl>threads>thread dump> 查看棉线程执行的code stack... 估计是.比如.BlockingQue ...