How a Payment Lookup Oracle Confirms Predictable Identifiers
本文表明,国家级支付结算预言机(例如泰国的 PromptPay)使得攻击者能够通过将猜测值与公开数据及泄露记录进行比对验证,从而实现对预测的国家身份标识符的确定性确认,而由于尽管采取了部分姓名脱敏措施,但收款人姓名仍以未脱敏形式返回,这一漏洞被进一步加剧。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
在即时转账盛行的现代世界,一个简单的安全检查已成为侵犯隐私的有力工具。当你使用手机号码或国民身份代码而非冗长的银行账号向朋友转账时,你的银行应用程序会进行一次快速查询。它向中央系统询问:“这个号码属于谁?”并在你的屏幕上显示姓名,以便你确认是将钱转给了正确的人。这一被称为“解析预言机”(resolution oracle)的功能旨在防止错误和欺诈。然而,研究人员发现,这种旨在确认已知身份的机制,也可以被用来发现陌生人的身份。问题在于,当这种开放式的查询系统与许多国民身份号码并非随机生成(而是基于出生日期和地点遵循可预测模式)这一事实相结合时,问题就产生了。过去,安全专家知道这些号码可以被猜到,但他们认为没有办法知道猜测是否正确。新的发现是,支付系统本身提供了答案,将一个盲目的猜测变成了确凿的事实。
来自泰国朱拉隆功大学(注:原文为 King Mongkut's University of Technology Thonburi,译为泰国的泰王工业科技大学)的两名研究人员着手测量这种结合究竟造成了多大的危险。他们专注于泰国的 PromptPay 系统,这是一个广泛使用的即时支付网络,人们通过注册手机号码或国民身份证来接收资金。研究人员并未试图窃取资金或黑入任何银行的计算机系统。相反,他们将支付应用视为一个提问工具,并分析其给出的答案。他们首先研究了泰国国民身份证的结构。这是一个由十三位数字组成的号码,前几位数字表示该人注册的省份和地区,最后一位是确保号码有效的数学校验位。由于这种结构,有效身份证号码的总数远比看起来要少。研究人员计算出,在了解任何关于个人的具体信息之前,系统的规则就已经将潜在候选人的范围缩小了一百三十五倍。
随后,研究探讨了当攻击者已经拥有一份泄露的身份证号码列表时会发生什么,这在数字世界中是一个已知现实。最近的一次公开泄露暴露了超过 120 万个泰国国民身份证号码。在过去,拥有这样的列表只是成功了一半;攻击者虽然有了号码,却无法知道与之关联的姓名。研究人员表明,支付查询系统解决了这个缺失的环节。通过在银行应用中输入泄露的身份证号码,系统会立即返回账户持有人的全名。这把一份静态的号码列表变成了一个实时的、经过验证的姓名目录。研究人员证明,即使文档中的身份证号码某些位数被隐藏或遮盖,身份证的数学规则也会将可能的缺失组合限制在很小的范围内。用户只需在支付应用中尝试这些极少数的可能性,系统就会通过显示姓名来确认正确的一个,同时拒绝错误的那些。
为了了解目前的隐私措施效果如何,研究人员还观察了新加坡采用的一项新政策,即支付应用现在会在屏幕上隐藏个人姓名的部分内容,以防止旁观者阅读。他们利用一个包含数千个泰国姓名的数据库测试了这个想法。他们发现,新加坡这种仅隐藏姓名后半部分的做法出奇地脆弱。由于泰国的姓氏通常是某个家族特有的,且名字的前半部分往往足以识别一个人,因此这种掩码在超过一半的情况下实际上使姓名变得可见。研究人员发现,对于很大一部分人口来说,掩码后的姓名具有足够的唯一性,以至于一个人仍能识别出该个体。更重要的是,他们表明这种类型的掩码并不能阻止一个已经拥有候选姓名的蓄意攻击者进行测试。如果攻击者怀疑某个姓名属于特定的身份证号码,他们只需检查掩码版本是否与他们的猜测相符,从而使这种显示保护对针对性攻击失效。
研究人员随后前往银行实地考察了在泰国的实际情况。他们使用自己的银行账户和手机,测试了包括国有、私营、外资和伊斯兰机构在内的七家不同银行的系统。在每一个案例中,毫无例外,应用程序都会显示账户持有人的完整、未脱敏的姓名。没有任何脱敏处理,没有隐藏字母,不同银行之间也没有差异。这证实了该系统在全国范围内是统一的,且目前的隐私保护措施是不存在的。研究人员还观察到,当他们重复查询同一个姓名时,系统并没有减速或阻止他们,这表明对于在短时间内查询多少次号码并没有严格的限制。
这项工作的核心结论在于,危险不在于姓名的显示,而在于提问的能力。研究人员认为,仅仅在屏幕上隐藏姓名是错误的解决方案,因为它并没有阻止底层的确认过程。如果攻击者拥有一份泄露的号码列表,支付系统就充当了一个确认哪些号码是真实的以及它们属于谁的机器。研究人员建议,解决方案应该是控制“问题”,而不是控制“答案”。这意味着系统应该限制单个用户每天可以查询多少个不同的号码,或者标记异常的搜索模式。他们强调,这不是一个可以修复的软件漏洞,而是支付系统的一个设计特性,它在为诚实用户提供便利的同时也创造了风险。研究得出结论,为了让即时支付系统保持安全,运营商必须实施严格的查询频率限制,以确保该系统仍然是用于确认已知收款人的工具,而不是用于发现陌生人的目录。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。