HTTP公钥固定

✍ dations ◷ 2025-04-03 12:11:28 #HTTP,网络安全

HTTP公钥固定(又称HTTP公钥钉扎,英语:HTTP Public Key Pinning,缩写HPKP)是HTTPS网站防止攻击者利用数字证书认证机构(CA)错误签发的证书进行中间人攻击的一种安全机制,用于预防CA遭受入侵或其他会造成CA签发未授权证书的情况。采用公钥固定时,网站会提供已授权公钥的哈希列表,指示客户端在后续通讯中只接受列表上的公钥。

服务器通过Public-Key-Pins(或Public-Key-Pins-Report-Only用于监测)HTTP头向浏览器传递HTTP公钥固定信息。

HTTP公钥固定将网站X.509证书链中的一个SPKI(和至少一个备用密钥)以pin-sha256方式进行哈希,由参数max-age(单位秒)所指定一段时间,可选参数includeSubDomains决定是否包含所有子域名,另一个可选参数report-uri决定是否回报违反HTTP公钥固定策略的事例。在max-age所指定的时间内,证书链中证书的至少一个公钥须和固定公钥相符,这样客户端才认为该证书链是有效的。

RFC 7469规范发布时只允许SHA-256算法。HTTP公钥固定中的哈希算法也可通过RFC 7469规范的附录A中所提到的命令行或其他第三方工具来生成。

网站维护者可以选择将特定CA根证书公钥固定——只有该CA和其签发的中级证书才视同有效,而且可以选择将一个或多个中级证书固定,或将末端证书固定。但是,至少得固定一个备用密钥以便更换现有的固定密钥。在没有备用密钥(备用密钥须不在现有证书链中)时,HTTP公钥固定并不会生效。

HTTP公钥固定在RFC 7469规范中成为标准。把证书公钥的哈希值硬编码在客户端、浏览器中,这被称为“证书固定”,HTTP公钥固定则是“证书固定”的一种扩展。

Chromium浏览器现已经禁止固定自签名根证书的证书链,这样一些内容嗅探、抓包软件如mitmproxy、Fiddler便无法再利用自签证书嗅探加密内容。RFC 7469规范指出,对于此类证书链,建议禁用HTTP公钥固定的违规回报。

客户端进行HTTP公钥固定验证失败后,将把此次错误详情以JSON格式回报给report-uri参数中指定的服务器。若发生客户端向同域名的服务器端回报失败(如违规本身就是由连接问题引起的),服务器端也可指定另一个域名或采用其他回报服务。

Firefox从版本35.0开始支持HPKP,Chrome从版本46开始支持,但在Chrome 67中终止了对HPKP的支持。Internet Explorer、Microsoft Edge目前尚不支持HPKP。

2016年,Netcraft(英语:Netcraft)在有关SSL的调研中称,只有0.09%的证书在使用HTTP公钥固定,加上实际运作中不当的配置,实际有效的HTTP公钥固定证书数量低于3000。造成这种现象的原因是:该技术尚处于萌芽期,网站技术人员对其缺乏重视和理解,更重要的是,错误的部署可能带来网站方面无法接受的严重后果——用户在相当长一段时间内(取决于max-age的配置)因新证书公钥与旧HPKP策略不符,对网站的合法访问都将遭拒。

因为网站部署率过低,Google在2018年5月29日发布的Chrome 67中终止了对HPKP的支持。

由Google所主导的Certificate Transparency提供了一个用于监测、审核证书的开放式框架,以保障证书签发流程的安全。这是一项和HTTP公钥固定有着相同目标的较新项目。

相关

  • 耶拉孔波利斯坐标:25°5′50″N 32°46′46″E / 25.09722°N 32.77944°E / 25.09722; 32.77944希拉孔波利斯(希腊语:Ἱεράκων πόλις 'city of hawks', 斯特那波 xvii. p. 817
  • 汉献帝永汉:189年9月-189年12月中平:189年12月-189年12月初平:190年-193年兴平:194年-195年刘协(181年4月2日-234年4月21日),字伯和,是东汉政权最后一位皇帝,189年至220年在位,曹魏给其谥号为
  • 反强暴避孕套反强暴避孕套(Anti-rape device)是一种阻止强奸的装置,第一个类似的装置是15世纪时期的贞操带。虽然反强暴避孕套发明的目的是为了阻止强奸,但是批评者认为应该是惩罚强奸犯来阻
  • 古罗马宗教古罗马宗教指在公元4世纪基督教成为罗马帝国合法宗教及国教之前,罗马人及罗马公民的宗教信仰。罗马人相信,每样东西都由神支配,宗教的目的是获得神协助和垂怜。用祈祷和奉献来
  • 1907年清朝饥荒1907年清朝饥荒,是中国北方一场严重饥荒,其中江苏北部人口的10%和华中地区部分人口死亡。死亡人数高达2500万人,是人类历史记录以来死亡人数第二多的饥荒,仅次于三年困难时期。饥
  • 理事长理事长,通常是指一个“人民团体”或“非营利组织”(Nonprofit Organization, NPO)的“协会”名义领导者或实质领导者,以台湾来说,一个协会至少需要选出九位理事,再从九位理事中选
  • 国家橄榄球联盟2013年赛季NFL2013年赛季将是美国国家橄榄球联盟第94个赛季。常规赛将于9月5日开始,到12月29日结束,而季后赛将于1月4日开始。第四十八届超级碗于2月2日于新泽西州东卢瑟福大都会人寿体
  • 伊斯梅尔·捷马利伊斯梅尔·捷马利(阿尔巴尼亚语:Ismail Qemali 1844年1月16日-1919年1月24日),阿尔巴尼亚民族解放运动领导人,1912年11月29日宣布阿尔巴尼亚独立,并出任阿尔巴尼亚独立后的第一任
  • 奥尔西尼家族那不勒斯王国 两西西里王国 佛罗伦斯共和国 佛罗伦斯公国 托斯卡纳大公国 伊庇鲁斯专制国 意大利王国 奥尔西尼家族(意大利语:Orsini)是一个意大利贵族家族,该家族在中古世纪、
  • Cativa催化法Cativa催化法是一种通过甲醇羰基化制备乙酸的方法。此法和孟山都法一样,都是由英国石油开发并持有专利。 这个方法是基于一种含铱的催化剂,一般是复合物−。Cativa催化法和孟