- 浏览: 124364 次
- 性别:
- 来自: 上海
文章分类
最新评论
<p><p>&lt;p&gt;源地址 &lt;a href="http://www.cnblogs.com/cuihongyu3503319/archive/2008/08/05/1261214.html"&gt;http://www.cnblogs.com/cuihongyu3503319/archive/2008/08/05/1261214.html&lt;/a&gt;&lt;/p&gt;</p></p>
请大家先了解这几个概念
1.证书
2.对称加密,非对称加密。
3.密钥,公钥,私钥
SSL使用的是非对称加密。
当使用 基于SSL/TLS(通常使用 https:// URL)向站点进行HTTP请求时,从服务器向客户机发送一个证书。客户机使用已安装的公共证书通过这个证书验证服务器的身份,然后检查 IP 名称(机器名)与客户机连接的机器是否匹配。客户机生成一些可以用来生成对话的私钥(称为会话密钥)的随机信息,然后用服务器的公钥对它加密并将它发送到服务器。服务器用自己的私钥解密消息,然后用该随机信息派生出和客户机一样的私有会话密钥。通常在这个阶段使用 RSA 公钥算法。然后,客户机和服务器使用私有会话密钥和私钥算法(通常是 RC4)进行通信。使用另一个密钥的消息认证码来确保消息的完整性。
HTTPS 是用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的 完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。
一台WEB Server,这台WEB Server上已经申请好了一张CA证书,这张CA证书中包含了一对密钥 ,一把公钥Pub 一把私钥Pri
第一步,客户端以HTTPS://这种方式,来向WEB Server发起一个访问请求。
第二步,服务器在接收到这个访问请求后,会把WEB Server已经由CA证书中包含的那把公钥回传给客户端。这时,客户端的IE浏览器上会弹出一个对话框,提示用户,有一张证书要下载,需要用户确认。这时用户选择是,下载服务器上的这把公钥。
第三步,客户端用这把公钥,生成一把自己的私钥(KEY)
第四步,客户端用服务器传送过来的那把公钥,加密自己生成的那把私钥,也就是KEY,回传给服务器。
第五步,服务器接收到客户端回传的加密信息后,用自己的私钥,也就是Pri,把客户端生成的KEY解密出来。
至此,HTTPS的连接才算建立,才可以真正的传输加密的数据。
SSL用的是非对称加密。非对称加密,加密时用一把密钥,也就是公钥。解密是用另一把密钥,也就是私钥。对称加密,加密解密用的是同一把密钥。
SSL (Secure Socket Layer)
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络
上之传输过程中不会被截取及qie ting。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全
标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。
当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
SSL协议的工作流程:
服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。
https介绍
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
限制
它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持.
一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者尝试qie ting数据于传输中。
商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。
发表评论
-
(转)JDK工具(查看JVM参数、内存使用情况及分析等)
2018-12-25 15:50 345https://www.cnblogs.com/z ... -
[转]jstat查看jvm的GC情况
2018-12-25 15:38 553jstat 1. jstat -gc pid ... -
转一个 jmap 的基本使用方法
2017-04-05 11:52 535原文:http://hbluojiahui.bl ... -
(转)JVM内存堆布局图解分析
2017-04-05 11:56 403转载原文出处:http://www.codeceo.com/ ... -
(转)系统吞吐量(TPS)、用户并发量、性能测试概念和公式
2017-03-27 11:19 452PS:下面是性能测试的主要概念和计算公式,记录下: 一.系 ... -
(转)深入理解Major GC, Full GC, CMS
2016-11-02 11:27 499原文:http://blog.csdn.net/iter_ ... -
(转)OpenSSL 1.0.0生成p12、jks、crt等格式证书的命令个过程
2016-07-26 18:51 664OpenSSL 1.0.0生成p12、jks、crt等格式 ... -
(转)Java 内存区域和GC机制
2016-07-26 14:09 368录 Java垃圾回收概况 Java内存区域 Java ... -
Understanding CMS GC Logs
2016-07-26 11:06 532Understanding CMS GC Logs By ... -
(转)Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
2016-07-08 17:56 600源地址:http://blog.csdn.net/lu ... -
linux下查看最占性能的JAVA进程
2016-03-08 11:58 634记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆 ... -
(转,精)Java 多线程 并发编程
2015-10-10 19:50 800源地址:http://blog.csdn.n ... -
java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用
2015-09-21 13:14 1202源地址:http://my.oschina. ... -
(转)JMM模型
2014-11-11 16:53 488源地址:http://blog.csdn.net/gt ... -
(转)《深入浅出 Java Concurrency》目录
2014-11-10 15:55 402原文地址:http://www.blogjava.net/x ... -
(转)TCP/IP、Http、Socket的区别
2014-08-21 10:32 813源地址: http://jingyan.baidu.com/ ... -
(转)Swift里的CAP理论和NWR策略应用
2014-08-12 17:25 612源地址:http://blog.sina.com.cn/s/ ... -
(转)Java多线程编程的常见陷阱
2014-06-25 13:14 498源地址:http://developer.51cto.com ... -
(转)Java 正确的做字符串编码转换
2014-03-11 21:52 658原文:http://hi.baidu.com/sodarf ... -
深入理解java内存模型系列文章
2013-12-30 10:57 438深入理解java内存模型系列文章 源地址: htt ...
相关推荐
这个实例主要涉及如何配置HttpClient来忽略SSL(Secure Socket Layer)验证,这对于在开发和测试环境中处理自签名证书或未认证的服务器非常有用。以下将详细介绍HttpClient的使用以及如何进行SSL验证的忽略。 首先...
### Tomcat更换SSL证书方法(JKS与PFX转换) 在IT行业中,为了保障网络通信的安全性,使用SSL证书加密已经成为了一种标准做法。对于使用Tomcat作为应用服务器的企业或个人来说,有时候会遇到需要更换SSL证书的情况,...
在IT领域,特别是网络安全与加密通信中,SSL(Secure Sockets Layer)证书是确保数据传输安全的关键要素之一。本文将详细介绍如何在不同的证书格式之间进行转换,包括从`.cer`到`.jks`、从`.jks`到`.cer`、从`.p12`...
Java中的SSL(Secure Socket Layer)和HTTPS(Hypertext Transfer Protocol Secure)协议是网络通信安全的重要组成部分,尤其在处理敏感信息如用户登录凭证、支付数据等时,它们提供了必要的加密和身份验证机制。...
阿里云 SSL 证书配置 HTTPS 和 SLB 的 HTTP 跳转到 HTTPS 摘要:本文主要介绍了阿里云 SSL 证书配置 HTTPS 和 SLB 的 HTTP 跳转到 HTTPS 的详细笔记总结,包括两种方案:一种是 SSL 证书配置在 SLB 上,访问 ...
Java HTTPS SSL 实例详解 一、HTTPS 简介 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是以安全为目标的 HTTP 协议,通过在 HTTP 和 TCP 之间添加一个安全层(SSL/TLS),使得数据传输更加...
如何把用http访问的网页转换用https访问 <br>关于http,https,SSL的理论不多说,只关注操作面上的技术。 <br>环境:Windows 2000 Server 组件:IIS5.0, 证书颁发机构(安装windows组件) 虚拟目录:...
SSL是一种协议,用于在互联网上建立安全的连接,而HTTPS则是HTTP协议与SSL/TLS(Transport Layer Security,SSL的后续版本)结合使用的结果,用于加密网页通信,保护用户的隐私和数据安全。 首先,我们要理解SSL...
SSL证书生成软件、包括转换证书格式
在互联网世界中,HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是两种主要的通信协议,用于浏览器与服务器之间的数据交换。HTTP是基础的无加密协议,而HTTPS是在HTTP之上添加了SSL/TLS(安全套接层/传输层...
当涉及到HTTPS和SSL加密时,确保数据传输的安全性变得至关重要。本文将深入探讨iOS中使用AFNetworking进行HTTPS SSL加密的相关知识点。 首先,HTTPS是一种基于HTTP协议的网络安全通信协议,它通过SSL/TLS(Secure ...
### SSL与TLS理论与实践 #### 一、引言 《SSL与TLS理论与实践》是一本关于安全套接层(Secure Sockets Layer, SSL)和传输层安全(Transport Layer Security, TLS)协议的专业书籍。本书第二版由Rolf Oppliger撰写...
当Kettle尝试访问一个通过HTTPS协议提供服务的RESTful API时,如果服务器使用的是自签名证书或者非信任机构颁发的证书,那么默认情况下,Kettle会拒绝与这样的服务器建立连接,因为它无法验证服务器的身份。...
在当今的网络安全领域,加密通讯协议SSL(Secure Sockets Layer,安全套接层)扮演着至关重要的角色。SSL协议能够为基于IP层的网络通讯提供加密和认证服务,保障数据传输的安全性,防止被窃听或篡改。在Linux环境下...
### F5 v11 SSL证书卸载与HTTP到HTTPS跳转配置详解 #### 一、前言 在当今互联网安全日益重要的背景下,SSL/TLS证书的正确配置对于保护用户数据和提升网站信任度至关重要。本文将详细介绍如何在F5 v11版本中配置SSL...
4. **数据发送与接收**:在SSL/TLS连接上发送和接收数据,开发者需要使用特定的SSL函数,如`SSL_write`和`SSL_read`,在易语言中可能有对应的封装方法。 5. **错误处理**:在TCP和SSL/TLS通信过程中,可能出现各种...
`IOS`和`Android`平台都支持使用`SSL`(Secure Sockets Layer)和其升级版`TLS`(Transport Layer Security)进行加密通信,尤其是对于`HTTPS`协议,它是HTTP与SSL/TLS的结合,确保了数据在网络中的传输安全。...
在互联网世界中,HTTPS协议是确保网站数据传输安全的重要手段,它可以加密用户与服务器之间的通信,防止中间人攻击。SSL(Secure Sockets Layer)安全证书是实现HTTPS的基础,而Nginx和Tomcat是两种常用的Web服务器...
puttygen客户端 各种SSL证书转换 PuTTYgen 是一套可以產生金鑰的工具,它可生成 RSA 以及 DSA 的金鑰,做出來的公開以及私有金鑰,可以用於 PuTTY 、 PSCP 、 Plink 以及 Pageant 。