`
chillwarmoon
  • 浏览: 153477 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ssl握手过程和服务器认证

阅读更多
转载请注明出处http://chillwarmoon.iteye.com
1.client向server端发送ssl版本号,cipher设置,随机数(randomly generated data)和其他sever端所要求的信息。
2.server端向client端发送ssl版本号,cipher设置,随机数(randomly generated data)和其他client端所要求的信息。server发送其证书信息,如果是双向认证(client请求server端资源时,server需要对client端进行认证),则请求client发送证书。
3.client端根据server发送过来的信息来认证server,如果认证失败,提示client user不能够建立encrypted and authenticated connection.如果认证成功,执行4。
4.client利用handshake过程所产生的数据为会话建立premaster secret,用server的public key(在第2步的server证书中得到)对其加密。
5.如果server端需要双向认证,client端对another piece of data进行签名,这个数据对于handshake是唯一的,client和server都知道该数据。client发送这个signed data,client的证书和premaster secret.
6.如果server端需要双向认证,server对client端进行认证,如果认证失败,则结束会话,否则server利用private key将premaster secret解密,将解密的premaster secret经过一系列操作生成master secret(client也执行了这些操作,生成了master secret)。
7.client和server利用master secret生成session key,也就是SSL session中用到的对称密钥。
8.client发送消息通知server:以后发消息都用session key加密,然后发送一个加密消息,"client端的handshake完成"。
9.server发送消息通知client:以后发送消息用session key加密,然后发送一个加密消息,"server端的handshake完成"。
10.SSL handshake完成了,SSL session开始了。

Server Authentication
client端接收到了server的证书,怎样和client中的public key来认证服务端呢?需要回答4个问题:
1.server的证书过期了吗?
2.server证书中的issuing CA是trusted CA?
  如果server证书中的issuing CA的distinguished name和client的trusted CA的某个证书的distinguished name相同,则答案是肯定的。
  如果server证书中的issuing CA没有在trusted CA列表中,但the client can verify a certificate chain ending in a CA that is on the list,仍然可以。
3.client的issuing CA的public key能否验证server证书中的issuer's digital signature?
4.在server证书中的domain name和server的domain name是不是相同的?

如果这些问题都是肯定的,则server认证成功。

英文原文见:
http://docs.sun.com/source/816-6156-10/contents.htm#1045936
分享到:
评论

相关推荐

    SSL双向认证

    SSL握手协议和通讯为了便于更好的认识和理解SSL 协议

    ssl双向认证密钥

    用来测试服务器与客户端握手,可用keytool工具自己生成,其中有个pkcs12格式,用于tomcat双向认证!

    go-tls-mutual-auth:Go和第4层(tcp)负载平衡中的SSLTLS相互身份验证示例

    那是客户端向服务器认证自己,并且该服务器向客户端认证自己,使得双方都可以确保对方的身份。 除SSL之外,相互身份验证还使用数字签名来提供客户端的身份验证和不可否认性。 它通过证书交换执行此过程。 也就是说...

    网络安全协议(PPT-146页).pptx

    SSL提供一个安全的"握手"来初始化一个TCP/IP连接 建立TCP"连接" SSL握手,建立SSL会话 完成客户端和服务器之间关于安全等级、密码算法、通信密钥的协商,以及执行对连接端身份的认证工作。 SSL连接上所传送的应用层...

    javasnmp源码-Interview-Notes:采访笔记

    ssl加密传输,身份认证 - 响应速度:http 快,https 慢 (原因是 http 握手3个包,ssl 握手9个包,一共12个包) - 默认端口:http 80,https 443 发散问题:ssl 怎么握手的? https 的加密过程 1. 客户端发起 HTTPS ...

    CCNA网络安全.doc

    由 SSL记录协议 和 SSL握手协议 两层组成。 4. P93 108 129 黑客(Hacker)源于Hack,本意为"干了一件非常漂亮的事",原指一群专业技能超群、聪 明能干、 精力旺盛、对计算机信息系统进行非授权访问的人员。P93 缓冲...

    网络安全解答题.docx

    (3)认证性:利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份。为了验证证书持有者是其合法用户(而不是冒名用户), SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法...

    网络安全填空题(1).doc

    8、IIS服务器提供的登录身份认证有匿名访问、基本验证和集成Windows验证三种。 9、网络安全防护体系包括三个方面的内容:网络安全评估、安全防护网和网络安全服务 。 10、网络安全的目标是能全方位地防范各种威胁以...

    基于ECC加密的电子商务系统

    使用椭圆曲线公钥算法(ECC)对SSL握手协议进行扩展,实现椭圆曲线密钥交换算法(ECDH)、椭圆曲线数字签名算法(ECDSA),在同等安全等级下ECC具有更小的密钥尺寸和更快的计算速度。使用OpenSSL1.0.1进行性能测试,...

    使用Nginx实现HTTPS双向验证的方法

    详细的握手过程: 单向验证 浏览器发送一个连接请求给安全服务器。 1、服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。 2、客户浏览器检查服务器送过来的证书是否是由自己信赖的CA中心所签发的。如果是...

    网络安全复习题(2).doc

    早期的SMTP协议没有发件人认证的功能 C.Internet分布式管理的性质,导致很难控制和管理 D.网络上存在大量开放式的邮件中转服务器,导致垃圾邮件的来源难于追查 14、入侵检测系统的第一步是:() A.信号分析 B.信息收集 C...

    20秋学期(1909、2003、2009-)《计算机网络管理》在线作业-(1).docx

    B 在SNMP协议中,共同体字符串用于管理进程和代理进程之间的认证,常用字符串是( ) A:public B:private 20秋学期(1909、2003、2009-)《计算机网络管理》在线作业-(1)全文共10页,当前为第2页。C:get 20秋学期(1909、...

Global site tag (gtag.js) - Google Analytics