HTTP公钥固定

✍ dations ◷ 2025-08-16 04:43:59 #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公钥固定有着相同目标的较新项目。

相关

  • 霍乱霍乱(Cholera)是由霍乱弧菌的某些致病株感染小肠而导致的急性腹泻疾病。症状可能相当轻微,也可能相当严重。典型症状为连续数日严重水泻。可能合并有呕吐、肌肉抽搐的现象 。霍
  • 原口动物原口动物(学名:拉丁语:Protostomia),又名前口动物或旧口动物,有完整的消化道。胚胎时期的原口会发展为成体的口,而肛门则是另外形成的。蜕皮动物(Ecdysozoa)和螺旋动物(Spiralia)都属于
  • 意大利天主教民主党天主教民主党(意大利语:Democrazia Cristiana,缩写为DC),前意大利执政党。1919年6月14日成立,原名意大利人民党,是一个天主教的基督教民主主义政党。人民党在1926年被贝尼托·墨索
  • 诺丁汉诺丁汉(英语:Nottingham i/ˈnɒtɪŋəm/ NOT-ing-əm),位于英国英格兰东米德兰兹区域诺丁汉郡,英格兰的单一管理区、城市、自治市镇,面积74.61平方公里,2016年中估计人口为32万53
  • 程朱理学四配颜回 · 孟子 · 曾参 · 孔伋日本藤原惺窝 · 林罗山 · 室鸠巢新井白石 · 雨森芳洲朝鲜薛聪 · 权近 · 吉再 · 安珦 · 李穑李滉 · 王仁 · 李齐贤 
  • 平面数学上,一个平面(plane)就是基本的二维对象。直观的讲,它可以视为一个平坦的拥有无穷大面积的纸。多数几何、三角学和制图的基本工作都在二维进行,或者说,在平面上进行。给定一个
  • 艾伦艾伦是Allen与Alan人名的音译,也译为阿兰,阿伦和爱伦
  • 槟榔屿槟榔屿为中华民国福建省金门县的岛屿。槟榔屿位于烈屿与厦门岛思明区之间,东经118°11',北纬24°26'。面积2.08万平方米(约2公顷),高程34.3米。西南与烟屿相邻,距金门县烈屿乡2.3
  • 丽贝卡·豪尔丽贝卡·豪尔(Rebecca Hall,1982年5月3日-)是一名英国女演员。2003年,豪尔因其在《华伦夫人的职业》中的首次演出获伊恩·查理森奖(Ian Charleson Awards)。她因此得以在好莱坞立足
  • 廖彩彤廖彩彤(马来语:Liow Cai Tung;1986年1月21日-),马来西亚政治人物,为民主行动党社青团副团长和青少年发展局主任。她也是现任柔佛州议会柔佛再也州议员和掌管妇女发展及旅游事务的州