当您访问以HTTPS开头的网站时,即表示正在使用CA。CA是Internet的重要组成部分。如果不存在CA,那么将无法安全在线购物以及使用网银在线业务等。什么是CA?CA具体是做什么的,又是如何确保您的交易和通信变得更安全,本文将详细解答。

什么是CA?

CA是Certificate Authority的缩写,也叫证书颁发机构,即颁发数字证书的机构,也是受信任的第三方机构,是负责签发证书、认证证书、管理已颁发证书的机关,目的就是为了让企业组织和用户的信息数据等能够在互联网环境下更加安全。

这样说,可能还是有点迷糊,我们举例说明一下:

假设您正在访问某个银行网站,如boc.cn:

这是boc.cn在Google Chrome浏览器的显示的样式

如果看到一个如上截图非常相像的网站,如何判断这个网站是连接到boc运行的服务器?万一是一个黑客仿的一个boc.cn网站,那么您如何知道是连接到真实网站呢?这就是CA的工作了。证书颁发机构(CA)会验证该网站的企业信息,这样就知道您是与谁在进行通信,而且还可以查看该网站上的SSL证书的详细信息,了解该网站是经过Digicert CA严格验证的,也可以确信您与真实的boc.cn建立了通信。

上图是该网站证书详细信息

因此,证书颁发机构就像是给互联网颁发护照的机构。CA会收取少量费用以完成验证流程并颁发证书,该证书可证明企业组织的身份,并保护用户与服务器之间传输数据的安全。

CA工作原理

证书颁发机构(CA)是PKI(公钥基础设施)系统中重要组成部分之一。当您访问一个挂有安全锁的网站,就表示该网站使用了SSL/TLS证书,而SSL/TLS证书是基于PKI, 并且需要以下几个关键东西才能正常使用SSL/TLS证书:

  • 一张数字证书(如SSL/TLS证书),以证明该网站的真实身份;
  • 一个CA,用于验证网站,并颁发数字证书;
  • 一个数字签名,证明SSL证书是由受信任的证书颁发机构颁发的;
  • 一个公钥,用于向网站发送的数据加密;
  • 一个私钥,网站用来解密数据;

下图可清楚了解CA在PKI中扮演的角色:

CA具体是做什么?

如上所述,商业证书颁发机构是PKI系统中不可或缺的一部分,那么CA具体是做哪些工作呢?

  • 审核域名,通过官方记录平台验证个人,企业组织的身份信息;
  • 颁发对服务器,个人,企业组织进行身份验证的数字证书,以建立信任;
  • 维护证书吊销列表,这些列表是指证书在到期之前何时失效。

下面仔细讲解一下以上三个功能:

验证

当一个网站向CA申请数字证书时,CA将根据申请的证书类型完成其验证过程:

域名验证:CA仅验证申请者是否是该域名的合法管理员而已,所以它是所有验证类型中最简单,最低级别的一种。

企业验证:CA不仅会验证域名的合法性,而且还会进一步验证企业的基本信息。CA会审核证书申请者提供的企业信息,也会从第三方平台(一般是官方平台)调查审核该企业是否真实合法。

扩展验证:这是最严格验证级别,在为期1-5天的验证过程中,CA会对申请者的企业组织进行全面的审核验证,以确保企业组织是真正合法。

通过CA对个人或企业组织进行验证,可以为用户提供更好的安全保证,确保该网站是真实的。

数字证书

个人,企业组织的身份信息经过CA严格验证通过后,CA将颁发数字证书,这也将帮助您网站与您的浏览器建立起信任。目前CA可发行多种类型的数字证书,每种证书在PKI中扮演不同的角色。

SSL/TLS证书

SSL/TLS证书有助于客户端浏览器与Web服务器之间进行安全的加密连接。安装了这类证书可消除URL栏中“不安全“的警告,保证了双方传递信息的安全性,防止数据信息的泄露。根据保护域名数量来分的话,可以划分为:单域名证书,多域名证书,通配符证书,多域名通配符证书。所以您可以根据需要保护的域名数量来选择,就通用性而言,多域名通配符证书功能最为丰富。

代码签名证书

代码签名证书是提供给软件开发者,发布者对其开发的可执行脚本,软件代码进行数字签名的证书。这类证书可验证开发者身份的真实性,使得该软件的来源安全可信,并保护代码的完整性,确保该代码未被非法篡改。

电子邮件签名证书

电子邮件签名证书也称S/MIME证书,它是通过使用S/MIME协议,对电子邮件及其附件进行数字签名和加密,验证发件人,并验证是否被篡改,防止数据泄露和身份伪造,因此可有效防止钓鱼邮件。

使用邮件签名证书签名时,电子邮件方式显示如下:

点开右侧红色图标,即可查看证书的详细信息。如图所示:

文档签名证书

文档签名证书对验证文档创建者和文档本身的完整性非常有用,可在PDF文档进行数字签名,使电子文档具有不可篡改与合法身份识别的特性。这类证书非常适用于政府机关,医疗卫生,法律教育等行业。

CA在证书吊销中的角色

从本质上说,证书吊销列表(Certificate Revocation List, 简称: CRL)其实就是证书的黑名单,这些进入黑名单的证书是由CA所签署的,说明该证书是有问题的,将不再受信任。客户端可以联系CA检查这个吊销列表,或者网站服务器也可以通过OCSP (Online Certificate Status Protocol, 证书状态在线查询协议)自动查询检测该数字证书在某一时间是否有效,然后向请求者发送查询结果,一般三个状态:正常,吊销,未知。

CRL是否与CA的CT日志(Certificate Transparency,证书透明化日志)相同?答案是否定的。这是两件不同的事情。每当CA颁发新的数字证书时,它都必须在其公共CT日志上创建一个新条目。但是,如果CA在颁发的证书到期之前就宣布该证书失效,那么CA将会把该证书添加到吊销列表中。

总的来说,证书颁发机构(CA)在互联网环境下占据非常重要的地位,有了这样权威的第三方机构,不论是您的站点,还是软件代码,或者邮件,文档等都将得到有效地保护,确保向用户展示真实身份,而且传输的数据的安全性和隐私权都能得以保障。

CA定义以及功能说明的更多相关文章

  1. BFC,IFC,GFC,FFC的定义及功能

    What's FC?一定不是KFC,FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定 ...

  2. 【Android】3.18 示例18--自定义绘制功能

    分类:C#.Android.VS2015.百度地图应用: 创建日期:2016-02-04 简介:介绍自定义绘制点.线.多边形.圆等几何图形和文字 详述: (1)支持绘制凸多边形,如要绘制凹多边形请用三 ...

  3. C++ 虚基类的定义、功能、规定

    原文声明:http://blog.sina.com.cn/s/blog_93b45b0f01011pkz.html 虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断一个继承是否是虚继承的,虽然 ...

  4. IOS - 常用宏定义和功能方法

    可能不定期添加新的东西 github地址:https://github.com/yuqingzhude/CommonUseDemo /************************Tools**** ...

  5. 个人永久性免费-Excel催化剂功能第71波-定义名称管理器维护增强

    Excel使用得好坏一个分水岭之一乃是对定义名称的使用程度如何,大量合理地使用定义名称功能,对整个Excel的高级应用带来极大的便利性和日常公式函数嵌套的可读性得到很大的提升.Excel催化剂再次以插 ...

  6. openSSL命令、PKI、CA、SSL证书原理

    相关学习资料 http://baike.baidu.com/view/7615.htm?fr=aladdin http://www.ibm.com/developerworks/cn/security ...

  7. openssl ca(签署和自建CA)

    用于签署证书请求.生成吊销列表CRL以及维护已颁发证书列表和这些证书状态的数据库.因为一般人无需管理crl,所以本文只介绍openssl ca关于证书管理方面的功能. 证书请求文件使用CA的私钥签署之 ...

  8. Openssl与私有CA搭建

    转自:http://www.tuicool.com/articles/aURnim 随着网络技术的发展.internet的全球化,信息共享程度被进一步提高,各种基于互联网的应用如电子政务.电子商务日益 ...

  9. (13) openssl ca(签署和自建CA)

    用于签署证书请求.生成吊销列表CRL以及维护已颁发证书列表和这些证书状态的数据库.因为一般人无需管理crl,所以本文只介绍openssl ca关于证书管理方面的功能. 证书请求文件使用CA的私钥签署之 ...

随机推荐

  1. Kaggle-pandas(2)

    Intndexing-selecting-assigning 教程 介绍选择要处理的pandas DataFrame或Series的特定值是几乎将要运行的任何数据操作中的一个隐含步骤,因此在Pytho ...

  2. 打开桌面的Eclipse闪退,打不开

    参考了网上说的方法: .在C:/WINDOWS/system32 系统文件夹中ctrl+F 然后搜索java.exe,如果存在java.exe, javaw.exe etc.全部删除. 2.内存不足, ...

  3. python5.1文件的读取

    fh1=open(r"C:\222.txt","r")#用open函数读取文件,“r”进行转义,fh1文件句柄data=fh1.read()#把读取的句柄赋值给 ...

  4. 最全总结!聊聊 Python 调用 JS 的几种方式

    1. 前言 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大 ...

  5. 从零搭建Spring Boot脚手架(2):增加通用的功能

    1. 前言 今天开始搭建我们的kono Spring Boot脚手架,首先会集成Spring MVC并进行定制化以满足日常开发的需要,我们先做一些刚性的需求定制,后续再补充细节.如果你看了本文有什么问 ...

  6. 2020-05-07:具体讲一下CMS流程

    福哥答案2020-05-07: 福哥口诀法:C初并重清(初始标记.并发标记.重新标记.并发清除) 整个过程分为 4 个步骤,包括:初始标记:仅仅只是标记一下 GCRoots 能直接关联到的对象,速度很 ...

  7. C#LeetCode刷题之#728-自除数(Self Dividing Numbers)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3889 访问. 自除数 是指可以被它包含的每一位数除尽的数. 例如 ...

  8. Ubuntu 18.04 安装 docker, 设置阿里云加速

    1.卸载旧的 docker 环境 sudo apt-get remove docker docker-engine docker.io containerd runc 2.设置仓库 更新索引 sudo ...

  9. PythonCrashCourse 第十章习题

    在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以"In Python you can"打头.将这个文件命名为 learning_pytho ...

  10. SpringMVC关于拦截器的使用

    这个是基于之前的视图定位进行的. @ 目录 拦截器类:IndexInterceptor 配置拦截器 修改 index.jsp 效果 拦截器类:IndexInterceptor package inte ...