双向ssl认证原理及相关过程
随着互联网的发展,很多人开始在网上进行信息的传输以及网络购物,人们开始享受互联网所带来的便利,然而为了保护我们的用户信息,ssl证书便应运而生,如何进行双向ssl认证显得非常重要,下面就是小编为大家总结的相关知识。
SSL双向认证原理
要想弄明白SSL认证原理,首先要对CA有有所了解,创新互联中的描述为,它在SSL认证过程中有非常重要的作用。说白了,CA就是一个组织,专门为网络服务器颁发证书的,国际知名的CA机构有VeriSign、Symantec,国内的有GlobalSign。每一家CA都有自己的根证书,用来对它所签发过的服务器端证书进行验证。
如果服务器提供方想为自己的服务器申请证书,它就需要向CA机构提出申请。服务器提供方向CA提供自己的身份信息,CA判明申请者的身份后,就为它分配一个公钥,并且CA将该公钥和服务器身份绑定在一起,并为之签字,这就形成了一个服务器端证书。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。
双向认证 SSL 协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度高的密码方案,用客户的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
如何自己创建证书
每个证书发布机构都有自己的用来创建证书的工具,当然,具体他们怎么去创建一个证书的我也不太清楚,不同类型的证书都有一定的格式和规范,我没有仔细去研究过这部分内容。微软为我们提供了一个用来创建证书的工具makecert.exe,在安装Visual Studio的时候会安装上。如果没有安装也无所谓,可以上创新互联去下一个,搜索makecert就可以了。可以直接从我的博客下载,这是链接。
向一些正规的证书发布机构申请证书一般是要收费的(因为别人要花时间检查你的身份,确认有没有同名的证书等等),这里我们看下如何自己创建一个证书,为后面在IIS中配置Https做准备。
相信大家看完之后都会有自己的感触,我们的网络信息和我们的日常生活息息相关,自主的保护才能使我们的生活免受打扰,因此进行双向ssl认证非常的重要。
本文标题:双向ssl认证原理及相关过程
本文链接:http://cdiso.cn/article/chpjcs.html
SSL双向认证原理
要想弄明白SSL认证原理,首先要对CA有有所了解,创新互联中的描述为,它在SSL认证过程中有非常重要的作用。说白了,CA就是一个组织,专门为网络服务器颁发证书的,国际知名的CA机构有VeriSign、Symantec,国内的有GlobalSign。每一家CA都有自己的根证书,用来对它所签发过的服务器端证书进行验证。
如果服务器提供方想为自己的服务器申请证书,它就需要向CA机构提出申请。服务器提供方向CA提供自己的身份信息,CA判明申请者的身份后,就为它分配一个公钥,并且CA将该公钥和服务器身份绑定在一起,并为之签字,这就形成了一个服务器端证书。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。
双向认证 SSL 协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度高的密码方案,用客户的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
如何自己创建证书
每个证书发布机构都有自己的用来创建证书的工具,当然,具体他们怎么去创建一个证书的我也不太清楚,不同类型的证书都有一定的格式和规范,我没有仔细去研究过这部分内容。微软为我们提供了一个用来创建证书的工具makecert.exe,在安装Visual Studio的时候会安装上。如果没有安装也无所谓,可以上创新互联去下一个,搜索makecert就可以了。可以直接从我的博客下载,这是链接。
向一些正规的证书发布机构申请证书一般是要收费的(因为别人要花时间检查你的身份,确认有没有同名的证书等等),这里我们看下如何自己创建一个证书,为后面在IIS中配置Https做准备。
相信大家看完之后都会有自己的感触,我们的网络信息和我们的日常生活息息相关,自主的保护才能使我们的生活免受打扰,因此进行双向ssl认证非常的重要。
本文标题:双向ssl认证原理及相关过程
本文链接:http://cdiso.cn/article/chpjcs.html