由于“公开密钥加密”的“公开密钥”和“数字签名”的“秘密密钥”无法提供创建者的信息,所以使用“数字证书”解决这一问题。“数字证书”提供了“公开密钥”和“秘密密钥”创建者的信息。
我们来看看“数字证书”的工作流程(机制)。A创建了一个“公开密钥PA”和一个“秘密密钥SA”,要将“公开密钥PA”发送给B前,首先,A得先获得认证机构CA颁发的证书,来证明他们是“公开密钥PA”的创建者,认证机构是管理“数字证书”的组织,任何人都可以成为这样的组织,他们存在的数量有很多。因此,选择靠谱的组织安全才可得到保障,如政府,大公司,权威机构等。认证机构有他们自己创建的“公开密钥PC”和“秘密密钥SC”,A将原始数据和“公开密钥PA”发送给认证机构CA。认证机构CA确认后,使用其“秘密密钥SC”将原始数据和“公开密钥PA”加密成签名,接着,将原始数据、“公开密钥PA”和签名合并成一个证书并发送给A,该证书成为A的“数字证书”。
A获得“数字证书”的流程
A(发送者)使用“数字证书”代替“公开密钥PA”发送给B,B收到A的“数字证书”,看到“数字证书”的创建者属于A,之后,B获得认证机构CA的“公开密钥PC”,并验证“数字证书”中的签名来自哪个认证机构。“数字证书”中的签名只能用认证机构自己的“公开密钥PC”进行验证。如果验证结果没有问题,则可以相信“数字证书”是由哪个认证机构签名颁发。由于确认了签名是创建者A通过认证机构CA颁发,所以从签名中提取出A的“公开密钥PA”,由此,从A到B的“公开密钥”传递就完成了。
B获得“公开密钥”的流程
让我们看看“公开密钥”在传递过程中是否会存在问题。假设恶意的第三者X冒充为A,试图传递自己的“公开密钥PX”,但是,B不用相信没有“数字证书”的“公开密钥PX”属于A(没有提供创建者信息)。当恶意的第三者X冒充为A试图向认证机构注册他们自己的“公开密钥PX”时,由于恶意的第三者X没有A的原始数据,所以不能获得认证机构CA颁发的“数字证书”。
恶意的第三者X试图欺骗B
另外还有一种情况,在B获得认证机构CA的“公开密钥PC”时,由于无法确认“公开密钥PC”的创建者(很可能是恶意的第三者X创建),换句话说,这里出现与“公开密钥加密”的“公开密钥”无法提供创建者信息相同的问题。事实上,认证机构CA的“公开密钥PC”包含在“数字证书”中,给这个认证机构CA签名的是排名较高的另外一个认证机构。即高级别认证机构为低级别认证机构创建证书。
认证机构的组成
假设有一个社会广泛信任的认证机构CA(黄),新公司CA(绿)希望成为认证机构,但它在社会上没有信誉,于是公司CA(绿)通过各种方法获得了认证机构CA(黄)颁发的证书,当然,认证机构CA(黄)会检查公司CA(绿)是否具备成为认证机构的条件。因此,在获得认证机构CA(黄)颁发的证书后,公司CA(绿)可以宣传自己是一家获得认证机构CA(黄)信任的认证机构。通过这样做,高级别认证机构获得了小组织的信任,形成一个树结构的大型组织。大型组织的最高层认证机构被称为“根认证机构(Root CA)”,“根认证机构”证明自己的证书称为“根证书”。当一个“根认证机构(Root CA)”不是一个可信任的组织时,它将被记录并不再使用。因此,选择靠谱的组织安全才可得到保障,如政府,大公司,权威机构等。
认证机构的运作流程
“数字证书”在网站的使用非常广泛,通过网站接收认证机构的“数字证书”,你可以确认该网站是否被恶意的第三者X欺骗,“数字证书”在网站的使用被称为“服务器证书”,对于个人,“数字证书”与电子邮件地址绑定在一起。对于服务器,“数字证书”与域名服务器绑定在一起,管理域名服务器的组织和管理网站内容服务器的组织是同一个组织。
“数字证书”在网站上的广泛使用