转载自:https://blog.csdn.net/cnh294141800/article/details/25242765

CA工作原理

数字安全证书利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送以商户,然后由商户用自己的私有密钥进行解密。

CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。。
  CA 也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。 
    如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。 
  如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。 
  证书 
  证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。 
  证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。 
  加密:  
   我们将文字转换成不能直接阅读的形式(即密文)的过程称为加密。 
  解密:   
    我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密。

  如何在电子文档上实现签名的目的呢?我们可以使用数字签名。RSA公钥体制可实现对数字信息的数字签名,方法如下: 
  信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。 
  数字证书: 
  答: 数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。 
  
  使用数字证书能做什么?  
 数字证书在用户公钥后附加了用户信息及CA的签名。公钥是密钥对的一部分,另一部分是私钥。公钥公之于众,谁都可以使用。私钥只有自己知道。由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对信件进行签名;收件人可使用发送者的公钥对签名进行验证,以确认发送者的身份。
  在线交易中您可使用数字证书验证对方身份。用数字证书加密信息,可以确保只有接收者才能解密、阅读原文,信息在传递过程中的保密性和完整性。有了数字证书网上安全才得以实现,电子邮件、在线交易和信用卡购物的安全才能得到保证。

2、CA的架构
   CA认证的主要工具是CA中心为网上作业主体颁发的数字证书。CA架构包括PKI结构、高强度抗攻击的公开加解密算法、数字签名技术、身份认证技术、运行安全管理技术、可靠的信任责任体系等等。
   公钥加密的信息必须由对应的私钥才能解密,同样,私钥做出的签名,也只有配对的公钥才能解密。公钥有时用来传输对称密钥,这就是数字信封技术。密钥的管理政策是把公钥和实体绑定,由CA中心把实体的信息和实体的公钥制作成数字证书,证书的尾部必须有CA中心的数字签名。
   由于CA中心的数字签名是不可伪造的,因此实体的数字证书不可伪造。CA中心对实体的物理身份资格审查通过后,才对申请者颁发数字证书,将实体的身份与数字证书对应起来。由于实体都信任提供第三方服务的CA中心,因此,实体可以信任由CA中心颁发数字证书的其他实体,放心地在网上进行作业和交易。

工作原理:
   现在假设客户A向银行B传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下:

  (1)客户A准备好要传送的数字信息(明文)。(准备明文)

  (2)客户A对数字信息进行哈希(hash)运算,得到一个信息摘要。(准备摘要)

  3)客户A用自己的私钥(SK)对信息摘要进行加密得到客户A的数字签名,并将其附在数字信息上。 (用私钥对数字信息进行数字签名) 

  4)客户A随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。 (生成密文)

  5)客户A用双方共有的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。(用公钥对DES密钥进行加密)  

  6)银行B收到客户A传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。(用私钥对DES密钥解密)  

  7)银行B然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。(解密文)  

  8)银行B用双方共有的公钥(PK)对客户A的数字签名进行解密,得到信息摘要。银行B用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。   
(用公钥解密数字签名)
  9)银行B将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。(对比信息摘要和信息)

CA认证简单介绍与工作流程相关推荐

  1. CA认证简单介绍和工作流程

    CA是证书的签发机构,它是PKI的核心.CA是负责签发证书.认证证书.管理已颁发证书的机关.它要制定政策和具体步骤来验证.识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权..  ...

  2. 批处理节省时间_简单的设计工作流程技巧,节省时间和头痛

    批处理节省时间 Does the way you work help you or slow you down? Do you feel efficient in your design workfl ...

  3. Juniper考试认证简单介绍

    简单的对考试的介绍&说明: JUNIPER认证考试是分产品的,目前最完善的是M/T骨干路由器产品的考试: JNCIS,这个是笔试: JNCIP,实验室考试[1天]: JNCIE,实验室考试[1 ...

  4. 双主双从(2m-2s)集群介绍和工作流程说明

    双主双从集群搭建 总体架构 消息高可用采用2m-2s(同步双写)方式 集群工作流程 启动NameServer,NameServer起来后监听端口,等待Broker.Producer.Consumer连 ...

  5. 数字证书、CA、CA证书、SSL证书、CA锁 简单介绍

    1.数字证书是什么? 数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名).其作用类似于现实生活中司机的驾驶执照或日常生活中的身份证. 2.CA是什 ...

  6. ES6-ES11新特性_ECMAScript_简单介绍---JavaScript_ECMAScript工作笔记001

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 JavaScript就是ECMAScript的一个实现,ECMAScript是一个标准 现在有EC ...

  7. 【Gerrit】Gerrit工作流程及使用手册

    gerrit的流程.权限控制其实对于初次接触的同学们来说,确实有点复杂.我希望这篇文章过后,我们能对gerrit的流程有一个大致的了解. 这篇文章将用一个真实的例子,演示一下gerrit的管理员,普通 ...

  8. Gerrit工作流程及使用手册

    gerrit的流程.权限控制其实对于初次接触的同学们来说,确实有点复杂.我希望这篇文章过后,我们能对gerrit的流程有一个大致的了解. 这篇文章将用一个真实的例子,演示一下gerrit的管理员,普通 ...

  9. Xcode 7 Bitcode的工作流程及安全性评估

    360NirvanTeam · 2015/12/16 14:42 Author:Proteas of 360 Nirvan Team 0x00 简介 随着 Xcode 7 的发布,苹果为 Xcode增 ...

最新文章

  1. 带有.rdlc报表的项目发布需要注意的问题
  2. openCV和Tensorflow起步
  3. 比较两个引用的几种方法
  4. Dropwizard入门及开发步骤
  5. linux 压缩以及归档
  6. linux将mysql中得配置为可读写_MySQL注入 利用系统读、写文件
  7. 蔚来打通京津冀都市圈高速换电网络
  8. html5 字母单词拖拽,HTML5拖拽
  9. C#代码生成目录树(转)
  10. 【DP + 卖股票】LeetCode 188. Best Time to Buy and Sell Stock IV
  11. 视觉SLAM十四讲第七讲
  12. python 代码格式_python代码格式
  13. 【java】BeanUtils.populate()的使用
  14. shell脚本之国际象棋棋盘
  15. POJ 1144 Network
  16. BUUCTF web(三)
  17. java des ecb_java DES ECB模式对称加密解密
  18. Android自定义view 滑动开关 支持左右滑动 适用于listview
  19. KE-之单机案例分析
  20. 【归档】设U是V的子空间,求U + U

热门文章

  1. Tesra平台训练数据(没有足够强大的显卡情况下使用云端跑代码)(一)
  2. AS608指纹模块高级功能实现(一):底层数据传输——指纹特征库上传给上位机
  3. 11部程序员大电影你看过几个?
  4. 将阿拉伯数字转换成中文大写金额的形式
  5. 西南科技大学学生邮箱申请
  6. 如何搭建vue项目,完整搭建vue项目
  7. 华为交换机S5700故障系统文件丢失处理
  8. java 利用工具包Geotools实现不同坐标系之间坐标转换
  9. HDU oj 自动交题爬虫
  10. free software