gpt4 book ai didi

encryption - 解码英国的 NHS 测试和追踪二维码

转载 作者:行者123 更新时间:2023-12-04 00:15:45 27 4
gpt4 key购买 nike

正如英国人可能知道的那样,政府正在推出一项大胆的新战略,以降低 Covid-19 的感染率。

最新推出的是在销售点显示二维码。要获得一个,您创建一个帐户,详细说明运营商名称、机构名称、电话号码和电子邮件地址,然后您将获得一个二维码。

出于对数据安全的担忧,我试图找出为什么我必须为使用我的咖啡馆“登录”的人显示的二维码是 343 字节长。

二维码如下:

UKC19TRACING:1:eyJhbGciOiJFUzI1NiIsImtpZCI6IllycWVMVHE4ei1vZkg1bnpsYVNHbllSZkI5YnU5eVBsV1lVXzJiNnFYT1EifQ.eyJpZCI6IlY1VldYMzlSIiwib3BuIjoiUGlwbGV5IEJhcm4gQ2Fmw6kiLCJhZHIiOiJQaXBsZXkgQmFyblxuQnJvY2toYW0gRW5kXG5MYW5zZG93biIsInBjIjoiQkExOUJaIiwidnQiOiIwMDgifQ.xG3rlgLIpQjHuZa7kQ4I4TC2u3xhmHpyhLjqGTS1aaFzueUt8TqqsW4-1eKL-RSOP9o0av9XPivtK-BfPuUV-g

代码中有许多重复序列,例如“eyJ”和“pZCI6Il”,(我认为)排除了这是正确加密的可能性。

我担心的是我公开展示了很多信息,而在我看来,一个简单的签名(如 UKC19TRACING)加上一个数据库 key 就足以实现任何合理的接触者追踪方式。

因此,我向相关政府部门(英国卫生和社会保健部)发起了信息自由请求,但与此同时,我认为比我更强大的专家可能愿意尝试解密此信息。

最佳答案

您完全正确,重复的 eyJ 强烈表明这不仅仅是原始加密数据,并且具有某种结构。 eyJ 来自 {" 的 Base64 编码,几乎总是表明您正在查看 Base64 编码的 JSON。在这种情况下,它实际上是 b64 编码的,但是eyJ 模式相同。b64 是 Base64 的略微修改版本。

正如 Topaco 所说,UKC19TRACING:1: 之后的部分是 JWT。您可以在 jwt.io 上对其进行解码如下:

标题

{
"alg": "ES256",
"kid": "YrqeLTq8z-ofH5nzlaSGnYRfB9bu9yPlWYU_2b6qXOQ"
}

这会告诉您它是如何签名的,以及签署它的 key 的标识符。

有效载荷

{
"id": "V5VWX39R",
"opn": "Pipley Barn Café",
"adr": "Pipley Barn\nBrockham End\nLansdown",
"pc": "BA19BZ",
"vt": "008"
}

这是已签名的有效负载。这不是加密的(也不是故意的)。它只是 b64 编码和签名,以及 header 。

您说得对,这可以通过大型数据库和稀疏标识符来实现。 JWT 的重点是您不需要数据库(更重要的是,不需要执行数据库查找的机制)。由于数据已签名,因此您可以相信此有效负载是由有权访问签名 key 的实体生成的。要验证此签名,您需要给定 kid 的公钥(通常为 JWK)。

关于encryption - 解码英国的 NHS 测试和追踪二维码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63956743/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com