fbpx
维基百科

超文本传输安全协议

超文本傳輸安全協定(英語:HyperText Transfer Protocol Secure,縮寫:HTTPS;常稱為HTTP over TLSHTTP over SSLHTTP Secure)是一種透過計算機網路進行安全通訊的傳輸協議。HTTPS經由HTTP進行通訊,但利用SSL/TLS加密封包。HTTPS開發的主要目的,是提供對網站伺服器的身份認證,保護交換資料的隱私與完整性。這個協議由網景公司(Netscape)在1994年首次提出,隨後擴展到網際網路上。

歷史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代末至2010年代初,HTTPS開始廣泛使用,以確保各類型的網頁真實,保護帳戶和保持用戶通信,身份和網絡瀏覽的私密性。

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

主要作用 编辑

 
在網頁瀏覽器的網址列上顯示HTTPS網路協議的插圖

HTTPS的主要作用是在不安全的网络上创建一个安全信道,并可在使用适当的加密套件和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。

HTTPS的信任基于预先安装在操作系统中的证书颁发机构(CA)。因此,與一個網站之間的HTTPS連線僅在這些情况下可被信任:

  • 浏览器正确地实现了HTTPS且操作系统中安装了正确且受信任的证书颁发机构;
  • 证书颁发机构仅信任合法的网站;
  • 被访问的网站提供了一个有效的证书,也就是说它是一个由操作系统信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
  • 该证书正确地验证了被访问的网站(例如,访问https://example.com时收到了签发给example.com而不是其它域名的证书);
  • 此协议的加密层(SSL/TLS)能够有效地提供认证和高强度的加密。

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

统计 编辑

截至2018年6月,Alexa排名前100萬的網站中有34.6%使用HTTPS作為預設值[1],互联网141387个最受欢迎网站的43.1%具有安全实施的HTTPS[2],以及45%的頁面載入(透過Firefox紀錄)使用HTTPS[3]。2017年3月,中国注册域名总数的0.11%使用HTTPS。[4]

根據Mozilla統計,自2017年1月以來,超過一半的網站流量被加密[5][6]

浏览器实现 编辑

当连接到一个提供无效证书的网站时,较旧的浏览器会使用一个对话框询问用户是否继续,而较新的浏览器会在整个窗口中显示警告。

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

自2018年起,Firefox及Chromium(以及Google Chrome、Microsoft Edge)调整了其显示网站域名及其安全程度的方式,包括不再突出显示HTTPS协议下的网页及将非HTTPS协议下的网页标注为不安全。电子前哨基金会曾经建议“在理想的世界中,任何网络请求都能默认为HTTPS的。”该基金会也曾制作了Firefox扩展组件来推广这一建议。[7][8]Chrome浏览器上也有類似的擴充功能。[9]

技术细节 编辑

与HTTP的差异 编辑

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

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

协议层 编辑

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

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

服务器设置 编辑

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

获得证书 编辑

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

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

作为访问控制 编辑

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

当私钥失密时 编辑

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

局限 编辑

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

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

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

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

TLS版本1.2中,服务端发送的证书以明文传输,因此中国大陆的防火长城可以对特定网站按照匹配的黑名单证书,检测到特定证书即执行TCP重置攻击,从而导致TLS连接无法建立。[21]这也是一种互联网信息审查和屏蔽的技术手段。TLS版本1.3中服务端证书被加密[22],然而服务器名称指示仍未被加密,并成为防火长城检测的新手段。

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

历史 编辑

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

参见 编辑

  • Bullrun (解密程式)英语Bullrun (decryption program)
  • 计算机安全
  • TLS
  • Curl-loader英语Curl-loader
  • 直徑協議英语AAA (Computer security)
  • HTTPsec英语HTTPsec
  • 莫希·馬林斯皮克英语Moxie Marlinspike
  • 机会性加密
  • Stunnel

参考资料 编辑

  1. ^ . statoperator.com. [2016-06-28]. (原始内容存档于2019-02-09). 
  2. ^ . Trustworthy Internet Movement. 2015-10-03 [2015-10-19]. (原始内容存档于2017-05-15). 
  3. ^ Aas, Josh. . Lets Encrypt. 22 June 2016 [23 July 2016]. (原始内容存档于2018-01-12). 
  4. ^ . www.duzli.cn. [2017-03-01]. (原始内容存档于2017-03-02) (中文). 
  5. ^ . Electronic Frontier Foundation. 21 February 2017 [3 May 2017]. (原始内容存档于2021-03-31) (英语). 
  6. ^ Finley, Klint. . WIRED. [1 May 2017]. (原始内容存档于2021-03-03). 
  7. ^ Peter Eckersley: Encrypt the Web with the HTTPS Everywhere Firefox Extension (页面存档备份,存于互联网档案馆) EFF blog, 17 June 2010
  8. ^ . [2011-01-30]. (原始内容存档于2011-06-05). 
  9. ^ . [2014-11-22]. (原始内容存档于2014-12-25). 
  10. ^ . sslshopper.com. [2009-10-24]. (原始内容存档于2021-01-22). 
  11. ^ Justin Fielding. Secure Outlook Web Access with (free) SSL: Part 1. TechRepublic. 2007-07-16 [2009-10-24]. [失效連結]
  12. ^ . Mozilla基金會. 27 April 2009 [13 May 2009]. (原始内容存档于2009年5月26日). 
  13. ^ . Softpedia. 19 April 2005 [13 May 2009]. (原始内容存档于2009-07-12). 
  14. ^ Lawrence, Eric. . MSDN. 31 January 2006 [13 May 2009]. (原始内容存档于2017-07-07). 
  15. ^ Myers, M; Ankney, R; Malpani, A; Galperin, S; Adams, C. . Internet Engineering Task Force. June 1999 [13 May 2009]. (原始内容存档于2021-03-08). 
  16. ^ Pusep, Stanislaw. . 31 July 2008 [6 March 2009]. (原始内容存档于2009-03-08). 
  17. ^ . [2011-01-30]. (原始内容存档于2021-05-05). 
  18. ^ Lawrence, Eric. . Microsoft. 22 October 2005 [12 May 2009]. (原始内容存档于2013-04-17). 
  19. ^ . [2011-01-30]. (原始内容存档于2017-06-30). 
  20. ^ Pierre, Julien. . Bugzilla. Mozilla Foundation. [2010-12-15]. (原始内容 (2001-12-19)存档于2018-10-08). 
  21. ^ . RFA. 2011-03-18 [2011-03-21]. (原始内容存档于2020-10-20). 
  22. ^ rfc8446. IETF. 2018-08 [2021-06-15]. (原始内容存档于2021-05-14). 
  23. ^ Pierre, Julien. . Support. Apple, Inc. [2010-12-15]. (原始内容 (2010-03-30)存档于2014-08-04). 
  24. ^ Walls, Colin. . 2005: 344 [2011-01-30]. (原始内容存档于2021-04-14). 
  25. ^ Rescorla, E. . Internet Engineering Task Force. May 2000 [6 May 2009]. (原始内容存档于2021-05-02). 

外部链接 编辑

超文本传输安全协议, 超文本傳輸安全協定, 英語, hypertext, transfer, protocol, secure, 縮寫, https, 常稱為http, over, http, over, 或http, secure, 是一種透過計算機網路進行安全通訊的傳輸協議, https經由http進行通訊, 但利用ssl, tls來加密封包, https開發的主要目的, 是提供對網站伺服器的身份認證, 保護交換資料的隱私與完整性, 這個協議由網景公司, netscape, 在1994年首次提出, 隨後擴展到網. 超文本傳輸安全協定 英語 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并没有得到广泛支持 目录 1 主要作用 1 1 统计 1 2 浏览器实现 2 技术细节 2 1 与HTTP的差异 2 2 协议层 2 3 服务器设置 2 3 1 获得证书 2 3 2 作为访问控制 2 3 3 当私钥失密时 2 4 局限 3 历史 4 参见 5 参考资料 6 外部链接主要作用 编辑 nbsp 在網頁瀏覽器的網址列上顯示HTTPS網路協議的插圖 更多信息 传输层安全 HTTPS的主要作用是在不安全的网络上创建一个安全信道 并可在使用适当的加密套件和服务器证书可被验证且可被信任时 对窃听和中间人攻击提供合理的防护 HTTPS的信任基于预先安装在操作系统中的证书颁发机构 CA 因此 與一個網站之間的HTTPS連線僅在這些情况下可被信任 浏览器正确地实现了HTTPS且操作系统中安装了正确且受信任的证书颁发机构 证书颁发机构仅信任合法的网站 被访问的网站提供了一个有效的证书 也就是说它是一个由操作系统信任的证书颁发机构签发的 大部分浏览器会对无效的证书发出警告 该证书正确地验证了被访问的网站 例如 访问https example com时收到了签发给example com而不是其它域名的证书 此协议的加密层 SSL TLS 能够有效地提供认证和高强度的加密 不应将HTTPS和在RFC 2660中定义的安全超文本传输协议 S HTTP 相混淆 统计 编辑 截至2018年6月 Alexa排名前100萬的網站中有34 6 使用HTTPS作為預設值 1 互联网141387个最受欢迎网站的43 1 具有安全实施的HTTPS 2 以及45 的頁面載入 透過Firefox紀錄 使用HTTPS 3 2017年3月 中国注册域名总数的0 11 使用HTTPS 4 根據Mozilla統計 自2017年1月以來 超過一半的網站流量被加密 5 6 浏览器实现 编辑 当连接到一个提供无效证书的网站时 较旧的浏览器会使用一个对话框询问用户是否继续 而较新的浏览器会在整个窗口中显示警告 Google Chrome Internet Explorer和Firefox等浏览器在网站含有由加密和未加密内容组成的混合内容时 会发出警告 自2018年起 Firefox及Chromium 以及Google Chrome Microsoft Edge 调整了其显示网站域名及其安全程度的方式 包括不再突出显示HTTPS协议下的网页及将非HTTPS协议下的网页标注为不安全 电子前哨基金会曾经建议 在理想的世界中 任何网络请求都能默认为HTTPS的 该基金会也曾制作了Firefox扩展组件来推广这一建议 7 8 在Chrome浏览器上也有類似的擴充功能 9 下圖是以Firefox瀏覽器為例 使用HTTPS時可能出現的幾種效果 nbsp 访问使用EV证书的网站时 Firefox地址栏前端呈锁形标记 在点击后弹出的界面中并显示经过验证的公司的名称 nbsp 访问使用普通证书的网站时 Firefox地址栏前端呈锁形标记 nbsp 大部分浏览器会对无效证书 比如自签证书或过期证书 发出警告 图例 Firefox的警告 面临潜在的安全风险 技术细节 编辑与HTTP的差异 编辑 HTTP的URL是由 http 起始與默认使用端口80 而HTTPS的URL則是由 https 起始與默认使用端口443 HTTP不是安全的 而且攻击者可以通过监听和中间人攻击等手段 获取网站帐户和敏感信息等 HTTPS的设计可以防止前述攻击 在正确配置时是安全的 协议层 编辑 HTTP协议和安全协议同属于应用层 OSI模型的最高层 具体来讲 安全协议工作在HTTP之下 传输层之上 安全协议向运行HTTP的进程提供一个类似于TCP的套接字 供进程向其中注入报文 安全协议将报文加密并注入运输层套接字 或是从运输层获取加密报文 解密后交给对应的进程 严格地讲 HTTPS并不是一个单独的协议 而是对工作在一加密连接 TLS或SSL 上的常规HTTP协议的称呼 HTTPS报文中的任何东西都被加密 包括所有报头和荷载 除了可能的选择密文攻击 参见局限小节 之外 一个攻击者所能知道的只有在两者之间有一连接这一事实 服务器设置 编辑 要使一网络服务器准备好接受HTTPS连接 管理员必须创建一数字证书 并交由证书颁发机构签名以使浏览器接受 证书颁发机构会验证数字证书持有人和其声明的为同一人 浏览器通常都预装了证书颁发机构的证书 所以他们可以验证该签名 获得证书 编辑 由证书颁发机构签发的证书有免费的 10 11 也有每年收费数美元到数千美元不等的 一个组织也可能有自己的证书颁发机构 尤其是当设置浏览器来访问他们自己的网站时 如 运行在公司或学校局域网内的网站 他们可以容易地将自己的证书加入浏览器中 作为访问控制 编辑 HTTPS也可被用作客户端认证手段来将一些信息限制给合法的用户 要做到这样 管理员通常会给每个用户创建证书 通常包含了用户的名字和电子邮件地址 这个证书会被放置在浏览器中 并在每次连接到服务器时由服务器检查 当私钥失密时 编辑 证书可在其过期前被吊销 通常情况是该证书的私钥已经失密 较新的浏览器如Google Chrome Firefox 12 Opera 13 和运行在Windows Vista上的Internet Explorer 14 都实现了在线证书状态协议 OCSP 以排除这种情形 浏览器将网站提供的证书的序列号通过OCSP发送给证书颁发机构 后者会告诉浏览器证书是否还是有效的 15 局限 编辑 TLS有两种策略 简单策略和交互策略 交互策略更为安全 但需要用户在他们的浏览器中安装個人的证书来进行认证 不管使用了哪种策略 协议所能提供的保护总强烈地依赖于浏览器的实现和服务器软件所支持的加密算法 HTTPS并不能防止站点被网络蜘蛛抓取 在某些情形中 被加密资源的URL可仅通过截获请求和响应的大小推得 16 这就可使攻击者同时知道明文 公开的静态内容 和密文 被加密过的明文 从而使选择密文攻击成为可能 因为TLS在HTTP之下工作 对上层协议一无所知 所以TLS服务器只能为一个IP地址 端口组合提供一个证书 17 这就意味着在大部分情况下 使用HTTPS的同时支持基于名字的虚拟主机是不很现实的 一种叫服务器名称指示 SNI 的方案通过在加密连接创建前向服务器发送主机名解决了这一问题 Firefox 2 Opera 8和运行在Windows Vista的Internet Explorer 7都加入了对SNI的支持 18 19 20 在TLS版本1 2中 服务端发送的证书以明文传输 因此中国大陆的防火长城可以对特定网站按照匹配的黑名单证书 检测到特定证书即执行TCP重置攻击 从而导致TLS连接无法建立 21 这也是一种互联网信息审查和屏蔽的技术手段 TLS版本1 3中服务端证书被加密 22 然而服务器名称指示仍未被加密 并成为防火长城检测的新手段 如果Mac OS X中的家长控制被启用 那么HTTPS站点必须显式地在 总是允许 列表中列出 23 历史 编辑网景在1994年创建了HTTPS 并应用在网景导航者浏览器中 24 最初 HTTPS是与SSL一起使用的 在SSL逐渐演变到TLS时 HTTPS也由在2000年五月公布的RFC 2818正式确定下来 25 参见 编辑Bullrun 解密程式 英语 Bullrun decryption program 计算机安全 TLS Curl loader 英语 Curl loader 直徑協議 英语 AAA Computer security HTTPsec 英语 HTTPsec 莫希 馬林斯皮克 英语 Moxie Marlinspike 机会性加密 Stunnel参考资料 编辑 HTTPS usage statistics on top websites statoperator com 2016 06 28 原始内容存档于2019 02 09 SSL Pulse Trustworthy Internet Movement 2015 10 03 2015 10 19 原始内容存档于2017 05 15 Aas Josh Progress Towards 100 HTTPS June 2016 Lets Encrypt 22 June 2016 23 July 2016 原始内容存档于2018 01 12 中国网络统计 duzli cn www duzli cn 2017 03 01 原始内容存档于2017 03 02 中文 We re Halfway to Encrypting the Entire Web Electronic Frontier Foundation 21 February 2017 3 May 2017 原始内容存档于2021 03 31 英语 Finley Klint Half the Web Is Now Encrypted That Makes Everyone Safer WIRED 1 May 2017 原始内容存档于2021 03 03 Peter Eckersley Encrypt the Web with the HTTPS Everywhere Firefox Extension 页面存档备份 存于互联网档案馆 EFF blog 17 June 2010 HTTPS Everywhere 2011 01 30 原始内容存档于2011 06 05 KB SSL Enforce 2014 11 22 原始内容存档于2014 12 25 Free SSL Certificates from a Free Certificate Authority sslshopper com 2009 10 24 原始内容存档于2021 01 22 Justin Fielding Secure Outlook Web Access with free SSL Part 1 TechRepublic 2007 07 16 2009 10 24 失效連結 Mozilla Firefox Privacy Policy Mozilla基金會 27 April 2009 13 May 2009 原始内容存档于2009年5月26日 Opera 8 launched on FTP Softpedia 19 April 2005 13 May 2009 原始内容存档于2009 07 12 Lawrence Eric HTTPS Security Improvements in Internet Explorer 7 MSDN 31 January 2006 13 May 2009 原始内容存档于2017 07 07 Myers M Ankney R Malpani A Galperin S Adams C Online Certificate Status Protocol OCSP Internet Engineering Task Force June 1999 13 May 2009 原始内容存档于2021 03 08 引文使用过时参数coauthors 帮助 Pusep Stanislaw The Pirate Bay un SSL 31 July 2008 6 March 2009 原始内容存档于2009 03 08 Apache FAQ Why can t I use SSL with name based non IP based virtual hosts 2011 01 30 原始内容存档于2021 05 05 Lawrence Eric Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2 Microsoft 22 October 2005 12 May 2009 原始内容存档于2013 04 17 Server Name Indication SNI 2011 01 30 原始内容存档于2017 06 30 Pierre Julien Browser support for TLS server name indication Bugzilla Mozilla Foundation 2010 12 15 原始内容 2001 12 19 存档于2018 10 08 翻墙专题 安全加密登入的方法 RFA 2011 03 18 2011 03 21 原始内容存档于2020 10 20 rfc8446 IETF 2018 08 2021 06 15 原始内容存档于2021 05 14 Pierre Julien Mac OS X v10 5 10 6 About the Parental Controls Internet content filter Support Apple Inc 2010 12 15 原始内容 2010 03 30 存档于2014 08 04 Walls Colin Embedded software 2005 344 2011 01 30 原始内容存档于2021 04 14 Rescorla E HTTP Over TLS Internet Engineering Task Force May 2000 6 May 2009 原始内容存档于2021 05 02 外部链接 编辑RFC 2818 HTTP Over TLS 页面存档备份 存于互联网档案馆 SSL 3 0規範 页面存档备份 存于互联网档案馆 IETF 取自 https zh wikipedia org w index php title 超文本传输安全协议 amp oldid 82248839, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。