什么是https,和ssl什么关系,为什么用https

什么是https

https is “Hyper Text Transfer Protocol” with Secure Sockets Layer (SSL)

HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的保护。
HTTPS的信任继承基于预先安装在浏览器中的证书颁发机构(如VeriSign、Microsoft等)(意即“我信任证书颁发机构告诉我应该信任的”)。因此,一个到某网站的HTTPS连接可被信任,当且仅当:

  • 用户相信他们的浏览器正确实现了HTTPS且安装了正确的证书颁发机构;
  • 用户相信证书颁发机构仅信任合法的网站;
  • 被访问的网站提供了一个有效的证书,意即,它是由一个被信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告,当然自己去生成是不可以的)
  • 该证书正确地验证了被访问的网站(如,访问https://example时收到了给“Example Inc.”而不是其它组织的证书);
  • 或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(TLS或SSL)不能被窃听者破坏。

和ssl什么关系

从定义可以看出

为什么用https

HTTP协议和安全协议同属于应用层(OSI模型的最高层),具体来讲,安全协议工作在HTTP之下,运输层之上:安全协议向运行HTTP的进程提供一个类似于TCP的套接字,供进程向其中注入报文,安全协议将报文加密并注入运输层套接字;或是从运输层获取加密报文,解密后交给对应的进程。严格地讲,HTTPS并不是一个单独的协议,而是对工作在一加密连接(TLS或SSL)上的常规HTTP协议的称呼。
HTTPS报文中的任何东西都被加密,包括所有报头和荷载。除了可能的选择密文攻击(参见限制小节)之外,一个攻击者所能知道的只有在两者之间有一连接这一事实。

它加密了所有报头和荷载,相对来说安全

怎么样https

要使一网络服务器准备好接受HTTPS连接,管理员必须创建一数字证书,并交由证书颁发机构签名以使浏览器接受。证书颁发机构会验证数字证书持有人和其声明的为同一人。浏览器通常都预装了证书颁发机构的证书,所以他们可以验证该签名。

对于怎么与证书颁发机构合作,果壳是这么说的:

1.浏览器将自己支持的一套加密规则发送给网站。
2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。
3.获得网站证书之后浏览器要做以下工作:
a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。
b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
c) 使用约定好的HASH计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。
4.网站接收浏览器发来的数据之后要做以下的操作:
a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。
b) 使用密码加密一段握手消息,发送给浏览器。
5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,

其实跟数字签名一个道理,老板有私钥,员工有公钥就可以验证这个签名是不是老板签的,只要员工肯定这个公钥是一个可信机构给的(CA),如果是路边给的当然就不相信了,如果是公司给的那也就是自己相信自己了。

12306的https

在新版订票页面中,中国铁路客户服务中心使用了HTTPS以加密数据,但是中国铁路客户服务中心并未采用得到广泛认可的数字证书认证机构的证书,而是采用了由其自己签名的证书,证书机构的名称为“Sinorail Certification Authority”(SRCA)颁发的证书。
当浏览器检测到其根证书库当中没有“SRCA”这个证书时,就出于安全性的因素阻止用户访问网站。为此,12306网站要求用户手动安装根证书以便浏览器放行。[22]此方法并非对所有浏览器有效,在使用某些浏览器时用户需要单独进行设置。
另外,每个SSL数字证书都有一个密钥。一般密钥一旦失窃,正规认证机构及系统厂商就会宣布此证书无效,[23]对于较小的认证机构,一般为证书设立一个证书吊销列表(CRL)[24],当密钥失窃时,证书会自动被列为失效。SRCA的证书没有CRL,系统厂商也不会专门为此发布一个更新。[25]因此黑客可能会利用这个密钥以SRCA的身份发放证书。一旦黑客把这个证书颁发给了一些恶意网站,安装了SRCA证书的浏览器将放行这些网站,无法抵御由此引发的恶意攻击。为此有人在网络上提出用户在购票之后立刻将SRCA的证书设置为不受信任或者只是单独将购票页面加入浏览器信任列表的建议。
当用户开始进行支付的时候(访问pay.12306.cn的时候),中国铁路客户服务中心就会向用户出示一份Verisign签发的有效证书,但是只能保证用户在支付时的安全,不能保证黑客利用SRCA密钥再次签发假证书制造恶意攻击。

作为开发者怎么去用https

以汤姆猫为例

  • 自己生成数字证书
  • 导入由证书颁发机构生成的证书(这个要把私钥传给证书颁发机构?)

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

时间: 2024-10-13 08:05:17

什么是https,和ssl什么关系,为什么用https的相关文章

聊聊HTTPS和SSL/TLS协议

原文地址:http://www.techug.com/https-ssl-tls 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)3. 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)4. 大致了解 CA 证书的用途 考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下.如果你自认为不是菜鸟,请略过本章节,直接去看“

浅谈 HTTPS 和 SSL/TLS 协议的背景与基础

相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 TCP 的关系(尤其是"短连接"VS"长连接") 大致了解加密算法的概念(尤其是"对称加密与非对称加密"的区别) 大致了解 CA 证书的用途 考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下.如果你自认为不是菜鸟,请略过本章节,直接去看"HTTPS 协议的需求&

HTTPS、SSL与数字证书介绍

在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 HTTPS:在HTTP(超文本传输协议)基础上提出的一种安全的HTTP协议,因此可以称为安全的超文本传输协议.HTTP协议直接放置在TCP协议之上,而HTTPS提出在HTTP和TCP中间加上一层加密层.从发送端看,这一层负责把HTTP的内容加密后送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成HTTP的内容. SSL(Secure Soc

扫盲 HTTPS 和 SSL/TLS 协议[1]:背景知识、协议的需求、设计的难点

转自: https://program-think.blogspot.com/2014/11/https-ssl-tls-1.html 扫盲 HTTPS 和 SSL/TLS 协议[1]:背景知识.协议的需求.设计的难点 文章目录 ★相关背景知识★HTTPS 协议的需求是啥?★设计 HTTPS 协议的主要难点★结尾 ★相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关

浅谈HTTPS和SSL/TLS协议的背景和基础

相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和"长连接")大致了解加密算法的概念(尤其是"对称加密和非对称加密")大致了解CA证书的用途 考虑到很多的技术菜鸟不可能了解到上述的背景,我想用最简单的文字描述一下.如果你自己认为自己不是菜鸟,请略过此文,直接看"HTTP协议的需求". HTTPS:首

【转】聊聊HTTPS和SSL/TLS协议

要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)3. 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)4. 大致了解 CA 证书的用途 考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下.如果你自认为不是菜鸟,请略过本章节,直接去看“HTTPS 协议的需求”. 先澄清几个术语——HTTPS.SSL.TLS 1. “

HTTPS、SSL、TLS三者之间有什么联系和区别?

SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,最初是由网景公司(Netscape)研发,后被IETF(The Internet Engineering Task Force - 互联网工程任务组)标准化后写入(RFCRequest For Comments 请求注释),RFC里包含了很多互联网技术的规范! 起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的,为了解决

Https协议:SSL建立过程分析(也比较清楚,而且有OpenSSL的代码)

web访问的两种方式: http协议,我们一般情况下是通过它访问web,因为它不要求太多的安全机制,使用起来也简单,很多web站点也只支持这种方式下的访问. https协议(Hypertext Transfer Protocol over Secure Socket Layer),对于安全性要求比较高的情况,可以通过它访问web,比如工商银行https://www.icbc.com.cn/icbc/(当然也可以通过http协议访问,只是没那么安全了).其安全基础是SSL协议. SSL协议,当前版

SSL协议、HTTP和HTTPS和区别

SSL协议 SLL协议的握手过程 开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake). 第一步,客户端给出协议版本号.一个客户端生成的随机数(Client random),以及客户端支持的加密方法. 第二步,服务器确认双方使用的加密方法,并给出数字证书.以及一个服务器生成的随机数(Server random). 第三步,客户端确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给服