HTTP公钥固定

✍ dations ◷ 2025-11-26 03:40:44 #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公钥固定有着相同目标的较新项目。

相关

  • 丹尼尔·格拉次曼丹尼尔·格拉次曼(英语:Daniel Glazman,1967年-)是一名程序员,以开发Mozilla的Editor组件、Mozilla Composer组件以及基于Composer的独立软件Nvu而闻名,Nvu是由Linspire公司赞助。
  • 巴勃罗·鲁道明巴勃罗·鲁道明(Pablo Rudomín,1934年6月15日-)是墨西哥神经生物学家。鲁道明于1934年6月15日出生在墨西哥城的一个犹太人家庭。母亲来自苏联赫梅利尼茨基(今属乌克兰),父亲来自斯
  • 后王朝时期后期埃及是古埃及本土统治者在位的最后一个兴盛时期。在第三中间期,埃及陆续受努比亚第25王朝及崛起的新亚述帝国统治,地方总督普萨美提克一世与672年建立起第二十六王朝,定都
  • 下加拿大旗帜下加拿大(英语:Lower Canada;法语:Bas-Canada)是一个在1791年至1841年间以圣劳伦斯河与圣劳伦斯湾两岸为管辖区域的英国殖民地。它管辖的范围包含现在加拿大的魁北克省南部、
  • 唐森德法案汤森法案(英语:Townshend Acts)是英国议会于1767年至1768年间出台的涉及英国北美殖民地的法案,以提出该法案的财政大臣查理·汤森之名命名。汤森法案通常包括5条,涉及对进口的铅
  • 约翰·托比约翰·托比(英语:John Tooby,1952年7月26日-)是美国人类学家,帮助心理学家妻子勒达·科斯米德斯一起开拓演化心理学领域。出生于明尼苏达州圣保罗。1989年获得哈佛大学生物人类学
  • 阿鲁阿卓阿鲁阿卓(1982年6月28日-),彝族,中国歌手。毕业于解放军艺术学院音乐系,现为中国人民解放军总政歌舞团独唱演员。1982年阿鲁阿卓出生于贵州省毕节市威宁县一个彝族家庭,2000年她考
  • 竹下勇竹下勇(1869年12月4日-1949年7月1日),大日本帝国海军大将与外交官,曾毫不逊色地协助处理日俄战争残局,以及在第一次世界大战后协助将德国属地移交至日本手上。此外,他也是日本武术(
  • 新地岛效应新地岛效应是极地的海市蜃楼,造成太阳高度的折射,跃昇至大气的温水层之上造成的现象。新地岛效应给人的感觉是太阳升起得比它实际上应有的时间早(从天文学的观点),并根据气象的情
  • 北泽俊美北泽俊美(1938年3月6日-),日本政治家,出生于长野县长野市。参议院议员(4次当选),民主党党员,曾经加入新生党。2009年至2011年间任防卫大臣。他过去曾经担任长野县议会议员(5次当选)、参