当您访问以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. three.js 着色器材质基础(一)

    说起three.js,着色器材质总是绕不过的话题,今天郭先生就说一说什么是着色器材质.着色器材质是很需要灵感和数学知识的,可以用简短的代码和绘制出十分丰富的图像,可以说着色器材质是脱离three.js ...

  2. C++虚函数相关内容

    样例代码 class Base{public: Base(){}; virtual ~Base(){    //若没有设置为虚函数:如果有这样的指针Base *p=new Derived();声明,则 ...

  3. QComboBox设置下拉item大小

    1.首先给ComboBox设置view: ui->comboBox->setView(new QListView()); 注意:这一句需要放在在所在界面的构造函数里,否则不生效. 2.给c ...

  4. Android常用布局和控件

    一.Android常用布局属性 1. LinearLayout的特有属性 android:orientation:设置布局排列方式   android:layout_weight:设置所占布局的权重  ...

  5. klassVtable与klassItable

    klassVtable与klassItable类用来实现Java方法的多态,也可以叫动态绑定,是指在应用执行期间通过判断接受对象的实际类型,根据实际类型调用对应的方法.C++为了实现多态,在对象中嵌入 ...

  6. axios的post请求返回状态码400

    设置拦截 axios.interceptors.request.use((config) => { if (config.method === 'post') { if (!config.isF ...

  7. 【JAVA】java中int转成String位数不足前面补零例如:1->001

    String.format("%03d", 1); 0代表前面要补的字符3代表字符串长度d表示参数为整数类型 测试完数据:循环了100次 截取了一部分:

  8. JavaScript - async/await 基础示例

    一个函数如果被 async 修饰,无论内部是否有 await的异步操作,都会返回一个 Promise 对象 demo 1 async function basicAsync() { let resul ...

  9. 个性探测综述阅读笔记——Recent trends in deep learning based personality detection

    目录 abstract 1. introduction 1.1 个性衡量方法 1.2 应用前景 1.3 伦理道德 2. Related works 3. Baseline methods 3.1 文本 ...

  10. 利用Unity3D制作简易2D计算器

    利用Unity3D制作简易2D计算器 标签(空格分隔): uiniy3D 1. 操作流程 在unity3DD中创建一个新项目 注意选择是2D的(因为默认3D) 在Assets框右键新建C#脚本 在新建 ...