使用支付宝时为何要导入证书

   这个说起来有点麻烦,但是反正要记下来的,所以还是耐心写了。

   进入IE浏览器---internet---内容,可看到“清除SSL状态、证书和发行者“三个选项。将它们排在一起当然是有原因的,是因为SSL(Security Socket Layer)是个网络安全协议,协议在运作的过程中与证书和发行者有关联。有什么样的关联,请进来的朋友耐心点看:

   首先讲讲基本的密码学编码体系(还有密码分析学和密钥管理学,这3个统称为密码学),这个体系就是研究如何对文字进行加密。我们将没有加密前的文字叫明文,加密后叫密文。E代码加密(encryption),D代表解密(Decryption),K代表密钥(读音同“蜜月”,它是一个参与加密解密的字符串)。下图就是加密体系模型图:

根据密钥是否相同将整个加密体系分为2类:

   1、对称密码体制:即加密密钥和解密密钥相同,实例:DES(data  encryption standard),两者都不公开但加密算法公开。发送者用密钥加密明文发过去,接受者用相同的密钥解密得到明文。

    2、非对称密码体制:两者不同,称为公钥和私钥。除了私钥不公开,其公钥和加密算法都公开,每一个人都拥有其自己的公钥和私钥。若A要发送数据给B,则A用B的公钥进行加密,而只有B的私钥(不公开)能解密(其他拥有B公钥的人不能解密),则发送过程的安全得到了保证。也可以用私钥进行加密,公钥进行解密,其结果是一样的。

      虽然公钥是公开的,但是在现在这个不安全的网络时代下还是不能随意公布个人的公钥,其原因就是在没有第3方证明这个公钥就是某人的情况下任何人都可以谎称它是自己的。所以CA(certification authority,认证中心)诞生了,它的任务就是管理每个人相应的公钥。当需要某个人的公钥时只要向CA申请,它就把这个人的公钥用CA自己的私钥进行加密后发给你,你再用CA的公钥进行解密。

      这时就会产生一个问题,就是为何CA发送证书时还要对它用自己的私钥进行加密呢,这样做不是增加了通信成本吗?   其实这样做可以让证书接收者可以鉴定这个证书就是CA所传过来的,且这个证书并没有受到其他人的修改。因为只有用CA的公钥才能进行解密,而如果是其他人传来的或被修改的,其用CA的公钥解密出来的就是一些看不懂的乱码了。这种对数据用私钥加密,公钥解密的过程就是平常听得很多的“数字签名”。

       只要了解了以上的基础知识后,就可以接下来继续理解SSL的运作原理了。在我们输入支付宝网站后看到的网址是https://www.alipay.

com,"https"就是一个利用了SSL的应用层协议(我们平常所见到的Http、FTP都是应用层的协议),其过程如下:

 

  • 首先,浏览器向支付宝服务器发送一个建立连接的请求,商量一些参数,比如用什么样的加密算法。(其实就是称为不严格说法的TCP3次握手的过程,严格点应该为1次握手)
  • 阿里巴巴公司在支付宝进行交易时设立了一个CA认证中心,商量完之后服务器就将包含了它的公钥的证书(被支付宝CA中心的私钥加了密后发给服务器的)发给浏览器方,浏览器查询下自己的证书列表(下图所示)
从中找到颁发给服务器证书的CA所对应的证书,用此中包含的公钥去提取出服务器的公钥。
  • 最后浏览器便随机生成一对对称密钥,再用服务器的公钥对其加密后发给服务器。服务器便可以用自己的私钥解密获得这个对称密钥,以后服务器和浏览器之间便可以用这对密钥在SSL层上将应用层传下来的数据进行加密通信了
      到支付宝申请了自己的证书之后,在上图(点“证书”进入)的“个人“栏中就可以找到它。可以发现在”受信任的..机构“中的阿里巴巴证书和个人证书的颁发者是从属于alibaba的两个不同CA,这就是互相认证过程的需要。用户导入证书后,服务器就能用此证书中的公钥去验证用户的身份了(数字签名的作用),但是两者之间的通信还是采用在连接时协商好了的SSL安全协议,而不能想成导入证书后就开始了RSA体制的运用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值