HPKP 子域固定是相对的吗?

Is HPKP subdomain pinning relative?

我在 sub.domain.tld 有一个 HPKP 固定域,有效期为 2 个月,并且存在 includeSubdomains 标志。

我现在注意到 sub2.domain.tld,使用未固定的不同证书仍然有效。

这是否意味着 includeSubdomains 与发送 header 的域 相关,并且不涵盖 domain.tld 的所有子域?

即我假设 subsub.sub.domain.tld 使用具有上述配置的不同证书无法通过 HPKP 验证,但 sub2.domain.tld 可以工作。

这是正确的吗?

是的,完全正确。不应假设那些有权访问子域的人就可以访问顶级域 - 尽管可以假设相反。

如果它像您最初想象的那样工作,那么 user1.example.com 上的任何人都可以直接破坏 user2.example.com 站点。

如果您想固定所有子域,那么您应该在顶级域和子域中设置 HPKP 策略。由于大多数用户通常不访问顶级域,他们不会选择此策略,因此要解决此问题,您最好从子域中的顶级域加载资源,以便他们有效地访问您的顶级域.我认为即使该资源被重定向到您的子域,这仍然有效。

例如,如果访问 https://www.example.com you should load something like https://example.com/icon.jpg to pick up this policy from top level, even if that attempting to load that causes a redirect to https://www.example.com/icon.jpg