美国许多州发放的驾驶执照包含一个带有数字签名的条形码。该签名通常使用椭圆曲线数字签名算法(ECDSA),旨在将卡片上的文本信息(如姓名和执照号码)与州政府颁发的身份进行加密关联。通过使用非对称加密,州政府可以使用私钥对数据进行签名,而公众可以使用相应的公钥来验证信息未被篡改。

技术分析表明,这些公钥可以直接从条形码中通过数学方式恢复。重要的是要区分“签名密钥”(由州政府持有的私钥)和“验证密钥”(公钥)。恢复验证密钥并不会泄露私钥,也不会允许任何人伪造新的执照;它仅仅提供了检查条形码是否真实的方法。Hacker News上的评论者指出,虽然“签名密钥”一词常被口语化使用,但公钥在技术上是验证密钥,其公开是系统的功能要求,而非安全漏洞。

然而,这些条形码目前的实现方式在防范欺诈方面存在实际限制。由于数字签名通常仅涵盖字母数字数据,而不涵盖卡片上的实体照片,因此高明的伪造者理论上可以将真实执照上的有效条形码与不同的欺诈照片配对。仅检查条形码的扫描仪会看到有效的签名,即使持有卡片的人与条形码中的身份不符。这一区别凸显了“数据完整性”(确保文本正确)与“身份验证”(确保出示卡片的人就是其声称的身份)之间的差距。

展望未来,向移动驾驶执照(mDL)的转变旨在通过建立更强的加密信任链来解决这些漏洞。与当前依赖可与数据分离的物理介质的条形码系统不同,mDL系统旨在提供与颁发机构的直接、安全的链接。这可能允许更稳健的验证流程,包括更全面的数据点,从而降低当前实体卡片中存在的“有效条形码、虚假照片”漏洞的风险。

关于每个州签名所涵盖的数据具体范围,仍有一个未解决的问题。虽然已知某些系统是可验证的,但包含在签名中的确切字段——以及它们是否包含任何与卡片物理属性相关的元数据——因州和供应商的不同而异。由于每个州都没有标准化的、可公开访问的验证工具,使用这些恢复出的密钥的能力目前仍是研究人员和安全分析师的手动操作。

证据: - 主要来源 (ryan.science) 确立了公钥可以从条形码中的 ECDSA 签名中通过数学推导得出。 - Hacker News 上的讨论 (hn-49735930) 提供了关于公钥与私钥区别、当前签名限制(不涵盖照片)以及未来 mDL 系统提供更安全信任链潜力的技术背景。