超文本传输安全协议

✍ dations ◷ 2025-05-17 10:28:03 #HTTP,加密协议,保密通信,传输层安全协议

超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。

历史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代末至2010年代初,HTTPS开始广泛使用,以确保各类型的网页真实,保护账户和保持用户通信,身份和网络浏览的私密性。

另外,还有一种安全超文本传输协议(S-HTTP)的HTTP安全传输实现,但是HTTPS的广泛应用而成为事实上的HTTP安全传输实现,S-HTTP并没有得到广泛支持。

HTTPS的主要作用是在不安全的网络上创建一个安全信道,并可在使用适当的加密包和,对窃听和中间人攻击提供合理的防护。

HTTPS的信任基于预先安装在操作系统中的证书颁发机构(CA)。因此,到一个网站的HTTPS连接仅在这些情况下可被信任:

HTTPS不应与在 RFC 2660 中定义的安全超文本传输协议(S-HTTP)相混淆。

截至2018年6月,Alexa排名前100万的网站中有34.6%使用HTTPS作为默认值,互联网141387个最受欢迎网站的43.1%具有安全实施的HTTPS,以及45%的页面加载(通过Firefox纪录)使用HTTPS。2017年3月,中国注册域名总数的0.11%使用HTTPS。

根据Mozilla统计,自2017年1月以来,超过一半的网站流量被加密。

当连接到一个提供无效证书的网站时,较旧的浏览器会使用一个对话框询问用户是否继续,而较新的浏览器会在整个窗口中显示警告;较新的浏览器也会在地址栏中凸显网站的安全信息(如,扩展验证证书在Firefox里会使地址栏出现绿锁标志)。

Google Chrome、Internet Explorer、Firefox等浏览器在网站含有由加密和未加密内容组成的混合内容时,会发出警告。

电子前哨基金会曾经建议“在理想的世界中,任何网络请求都能默认为HTTPS的。”该基金会也曾制作了Firefox扩展组件来推广这一建议。在Chrome浏览器上也有类似的扩展。

HTTP的URL是由“http://”起始与默认使用端口80,而HTTPS的URL则是由“https://”起始与默认使用端口443。

HTTP不是安全的,而且攻击者可以通过监听和中间人攻击等手段,获取网站帐户和敏感信息等。HTTPS的设计可以防止前述攻击,在正确配置时是安全的。

HTTP协议和安全协议同属于应用层(OSI模型的最高层),具体来讲,安全协议工作在HTTP之下,传输层之上:安全协议向运行HTTP的进程提供一个类似于TCP的套接字,供进程向其中注入报文,安全协议将报文加密并注入运输层套接字;或是从运输层获取加密报文,解密后交给对应的进程。严格地讲,HTTPS并不是一个单独的协议,而是对工作在一加密连接(TLS或SSL)上的常规HTTP协议的称呼。

HTTPS报文中的任何东西都被加密,包括所有报头和荷载。除了可能的选择密文攻击(参见局限小节)之外,一个攻击者所能知道的只有在两者之间有一连接这一事实。

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

由证书颁发机构签发的证书有免费的,也有每年收费数美元到数千美元不等的。

一个组织也可能有自己的证书颁发机构,尤其是当设置浏览器来访问他们自己的网站时(如,运行在公司或学校局域网内的网站)。他们可以容易地将自己的证书加入浏览器中。

HTTPS也可被用作客户端认证手段来将一些信息限制给合法的用户。要做到这样,管理员通常会给每个用户创建证书(通常包含了用户的名字和电子邮件地址)。这个证书会被放置在浏览器中,并在每次连接到服务器时由服务器检查。

证书可在其过期前被吊销,通常情况是该证书的私钥已经失密。较新的浏览器如Google Chrome、Firefox、Opera和运行在Windows Vista上的Internet Explorer都实现了在线证书状态协议(OCSP)以排除这种情形:浏览器将网站提供的证书的序列号通过OCSP发送给证书颁发机构,后者会告诉浏览器证书是否还是有效的。

TLS有两种策略:简单策略和交互策略。交互策略更为安全,但需要用户在他们的浏览器中安装个人的证书来进行认证。

不管使用了哪种策略,协议所能提供的保护总强烈地依赖于浏览器的实现和服务器软件所支持的加密算法。

HTTPS并不能防止站点被网络蜘蛛抓取。在某些情形中,被加密资源的URL可仅通过截获请求和响应的大小推得,这就可使攻击者同时知道明文(公开的静态内容)和密文(被加密过的明文),从而使选择密文攻击成为可能。

因为SSL在HTTP之下工作,对上层协议一无所知,所以SSL服务器只能为一个IP地址/端口组合提供一个证书。这就意味着在大部分情况下,使用HTTPS的同时支持基于名字的虚拟主机是不很现实的。一种叫域名指示(SNI)的方案通过在加密连接创建前向服务器发送主机名解决了这一问题。Firefox 2、Opera 8和运行在Windows Vista的Internet Explorer 7都加入了对SNI的支持。

因为HTTPS连接所用的公钥以明文传输,因此中国大陆的防火长城可以对特定网站按照匹配的黑名单证书,通过伪装成对方向连接两端的计算机发送RST包干扰两台计算机间正常的TCP通讯,以打断与特定IP地址之间的443端口握手,或者直接使握手的数据包丢弃,导致握手失败,从而导致TLS连接失败。这也是一种互联网信息审查和屏蔽的技术手段。

如果Mac OS X中的家长控制被启用,那么HTTPS站点必须显式地在“总是允许”列表中列出。

网景在1994年创建了HTTPS,并应用在网景导航者浏览器中。最初,HTTPS是与SSL一起使用的;在SSL逐渐演变到TLS时,HTTPS也由在2000年五月公布的RFC 2818正式确定下来。

相关

  • 假借字假借字是汉字中的一类用字法,属于六书之一。其产生是书写者只考虑语音因素而未考虑形体因素造成的。汉字的数量有限,而语言中的词汇无穷,要用有限的文字纪录无穷的词汇,文字的表
  • 巴勒莫巴勒莫(意大利语:Palermo),位于意大利西西里岛西北部,是西西里岛的首府,人口约130万,面积4992平方千米。巴勒莫早于八千年前已有人聚居。公元前734年腓尼基人来到巴勒莫,在此建立港
  • 妖怪妖怪,指草木或者动物等改变成为的精怪,也指怪异、反常的事物与现象。妖怪通常存在于人类想像与传说之中,难以运用科学方法证明其真伪。研究这方面的学问,称之为妖怪学,包含在民俗
  • 角色扮演游戏角色扮演游戏(英语:Role-Playing Game,简称RPG)是一种游戏类型,在游戏中,玩家扮演虚拟世界中的一个或者几个角色进行游戏,玩家通过操控游戏角色与敌人战斗,提升等级、收集装备和完成
  • 卡卡杜李费氏榄仁(学名:Terminalia ferdinandiana),又名卡卡杜李(Kakadu plum)、公山羊李(Billygoat plum),是使君子科诃子属的一种木本植物。原产于澳洲,广泛的分布在澳洲西北部至北领地安恒
  • 腕足类见内文腕足动物门(学名:Brachiopoda)是动物界的一个门,属于底栖、有一对硬壳的触手冠海产动物。但与双壳类动物不同的是:其壳是上、下开合,而不是左、右开合。铰位在后背部,而前方
  • 美国历史 (1865年-1918年)联军的入侵带来的破坏和南方的失败,连同战后在占领区经济的萧条,使得南方人对联邦政府长期心怀不满。面对着战后受到战争破坏的南方,重建成了最迫切解决的问题。重建是在美国内
  • 托马斯·闵采尔托马斯·闵采尔(德语:Thomas Müntzer;约1489年12月–1525年5月27日),是宗教改革时期的激进派领袖,是发动德意志农民战争的代表人物。“把宗教改革运动和社会革命联系到了一起”。
  • 紫杉醇紫杉醇(英文:paclitaxel, PTX,或称太平洋紫杉醇),是一种用来治疗多种癌症的化疗药物,被以汰癌胜等商品名称销售 。可治疗的癌症包含卵巢癌、乳癌、肺癌、卡波西氏肉瘤、子宫颈癌、
  • 火蚁属火蚁属()隶属于蚁科家蚁亚科,大约有380个物种,其中最知名的为入侵红火蚁(),其腹部末端带有螫针,动物被螫伤后毒素会进入体内,严重的情况下会因全身性过敏而休克,甚至导致死亡。“火蚁