许多远程身份验证解决方案都是基于间接特征来做出最终判断的:浏览器环境、网络指纹、摄像头遥测数据以及图像统计数据。 这些数据虽有助于风险评估,但若系统将其视为独立的真实性验证依据,则会成为薄弱的防护基础。 随着生成式人工智能的发展以及媒体流篡改攻击的出现,可信文档与已验证文档之间的区别变得至关重要。NIST和ENISA已分别对此威胁进行了专门研究。[1][2]
验证实际上应确认什么
可靠的验证流程应区分三个独立的问题:
- 文件的真实性:出示的载体或数字凭证是否与授权来源签发的文件相符?
- 信息真实性:文件的具体信息、签发事实以及(在可获取的情况下)文件的当前状态是否经由可信来源确认?
- 持有人身份:是否有充分理由认为,接受验证的正是该文件的持有人?
字段匹配或图像未被编辑仅能解决第一个问题的一部分。NIST SP 800-63A-4明确区分了身份识别、证书真实性验证以及确认出示者与声明身份之间的关联性。[1]
常见方法的八大薄弱环节
1. 对 JavaScript 和浏览器环境的信任
某些系统仅根据 User-Agent, navigator.platform、语言、时区、触控输入、屏幕参数、Canvas/WebGL 指纹及其他 JavaScript 数据来推断设备类型和会话的“自然性”。
问题在于信任的来源。浏览器环境由发起请求的一方控制。因此,其声明不能等同于经硬件验证的事实。 JavaScript 验证适用于查找不一致之处并提高风险评估,但不应单独决定设备是否真实以及身份验证是否有效。OWASP 特别要求在服务器端对关键条件进行复核。[3]

2. 静态代理/VPN 列表与唯一的 p0f 网络指纹
IP声誉、数据中心列表、已知VPN、代理和匿名工具列表虽能提供有用的线索,但无法证明文档的来源。 静态列表无法覆盖所有可能的流量路径,且是否使用代理本身并不能决定用户的诚信度。
p0f 该工具分析 TCP/IP 协议栈的被动特征。这并非物理设备的认证机制。当通过应用层代理运行时,网络指纹可能对应于中间节点,而非原始客户端。 p0f的开发者还建议将结果视为辅助信号。[4] 仅通过IP或p0f进行验证,无法可靠地确定请求背后是哪一部具体的手机。

3. 记录N帧图像的相机参数和遥测数据
在拍摄过程中,该服务可能会收集相机名称(label), deviceId, groupId、分辨率、帧率、相机方向、时间戳以及图像序列。此外,还会根据帧数据计算亮度(luminance)、模糊度(blur)、清晰度、对比度、曝光变化、眩光、运动、帧间一致性以及缺帧情况。具体参数的可用性取决于浏览器、设备和权限。[5][6]
此类遥测数据描述了接收到的数据流,但本身并不能验证其物理来源。如果攻击者控制了传入的媒体,他可能会试图重现预期的指标动态。 捕获多个帧、分析光照情况以及进行运动检测虽会增加攻击难度,但不能替代对信号来源的验证以及防范数字注入的措施。[2]

4. 图像静态分析:热力图、噪声与伪影
算法会分析异常图(heat maps)、误差级分析、噪声残差、PRNU特征、JPEG量化、DCT系数、插入边界、局部锐度变化、光照不均匀性、字符几何形状以及与文档模板的匹配度。
这些方法旨在检测统计偏差,而非证明文件确由政府签发。分析结果受编码方式、重复拍摄、传感器质量及训练数据分布的影响。 没有明显的伪影并不证明真实性,而检测到的异常也不一定意味着伪造。NIST要求在真实样本和攻击样本上验证此类算法,并考虑误报和漏报。[2]
5. MRZ、条形码和印刷数据的格式一致性
将视觉区(VIZ)与机器可读区(MRZ)进行比较,并核验校验位、日期及二维条码结构,这些都是必要的。但正确的校验位仅能证实数据的一致性,并不能证明政府机构曾签发过包含这些信息的文件。
反向错误更为危险:系统虽检测到MRZ与正面信息存在差异,却未阻止通过验证。 在NIST SP 800-63A-4中,将MRZ或条形码与印刷数据进行比对的要求已被明确纳入自动化光学验证的要求之中。[2]
6. 缺乏防重复使用保护的“动态”令牌
nonce,操作标识符和一次性挑战码只有在服务器验证其有效期、与会话及流程阶段的关联性,以及先前使用情况时才有效。 如果随机生成的字符串可以多次用于不同的验证,则它不能作为保护措施。
防重复机制应由服务器端逻辑实现,并在适用情况下通过加密方式将结果与特定操作绑定。OWASP将令牌重复使用和跳过流程阶段视为API业务逻辑的风险。[7]
7. 活体检测与人脸识别作为身份证明文件的替代方案
真人验证(liveness / PAD)以及将面部与照片进行比对,虽能解决重要但有限的问题。 即使生物特征比对成功,也无法证明文件确实已被签发,也无法证明文件上的人就是其自称的本人。此外,PAD测试与整个链条对数字篡改的抗性属于不同类型的评估。 ISO/IEC 30107-3:2023 专注于 PAD 测试,但并未声明对整个远程身份识别系统的安全性进行评估。[8]
8. 缺乏数据中毒防护的自学习模型
当系统自动利用用户上传的数据或未经充分验证的反馈来调整模型权重时,会产生特殊风险。 若缺乏可信标注、新样本隔离、版本控制及独立验证,攻击者便有机会影响未来的决策。
这一类威胁被称为 data poisoning ,NIST在机器学习系统攻击分类法中对此进行了详细探讨。[9]
为何该问题在生成式AI时代愈发严峻
仅基于预期观测序列的防护容易受到重放攻击:如果服务器接收的是已经生成的数据流,它就无法自动将测量的 blur, luminance、运动和延迟视为真实拍摄的独立证据。在某些场景下,如果对输入数据进行充分控制,确定性的客户端验证可以被高度精确地重现。
这并不意味着任何算法都能被保证绕过,也不意味着所有活性机制都毫无用处。 当采用不可预测的验证、传感器真实性验证、服务器端会话绑定、独立数据源以及加密验证时,安全防护会更加强固。然而,这些因素中的任何一个单独存在,都无法等同于真实身份的证明。 ENISA将数字注入攻击和伪造媒体攻击列为远程身份识别的重要威胁。[10]
在征得客户许可后,我们在测试中发现了什么
在与系统所有者协商一致的研究框架内,我们的团队记录了以下类别的错误:
- 对 User-Agent 的信任。部分实现方案在未对连接和设备特性进行充分独立验证的情况下,就接受了移动浏览器的声明。
- 安全参数的重复使用。被声明为“动态”的参数被服务器重复接受,且未对其生命周期进行适当控制。
- 实时学习中毒。在某自研系统中,上传的伪造文档影响了训练循环,此类样本的特征开始在先前记录的基准标准中占据优势。
- 忽略矛盾。在某次实现中,机器可读区与文档可视部分之间的数据不一致并未阻碍系统做出通过判定。
已将发现的缺陷通知相关责任方和制造商。上述案例是我们内部审计的结果,而非公开的市场统计样本:本文未披露系统名称、样本规模及可复现的材料。 这些案例旨在说明具体的设计错误,并不意味着所有供应商都存在此类漏洞。
信任的主要界限在于签发来源,而非图像本身
一份文件可能外观完美且内容自洽,但其中包含的身份信息可能属于不存在的个人,或未经授权来源确认的个人。 因此,“未发现篡改迹象”的结论不能等同于“身份已确认”。
在具备合法和技术访问权限的情况下,核查应将文件的关键属性及状态与国家登记册、签发机构或其他权威且可验证的来源进行比对。 对于电子护照,存在一条独立的加密验证路径:验证芯片数据的数字签名以及国际民航组织(ICAO)所描述的信任链 DSC → CSCA,该方法由国际民航组织(ICAO)描述。它可确认已签名数据的来源和完整性,但本身并不能替代对证件当前状态及与持证人关联性的核查。[1][11]
如果无法访问可靠来源,正确的结果应为“签发真实性或当前状态未得到确认”,而非无条件的“证件真实”。 此时,注册机构未作出响应并不证明文件系伪造:系统必须区分“验证失败”与“无法验证”两种情况。
| 级别 | 其显示的内容 | 它无法证明什么 |
|---|---|---|
| 浏览器环境与网络 | 连接和会话中是否存在风险迹象 | 设备、文档或身份的真实性 |
| 摄像头、活体检测和媒体分析 | 观察到的数据流的一致性及篡改迹象 | 文件由国家机关签发的事实 |
| OCR、MRZ、代码和模板 | 格式及信息要素的内部一致性 | 发行机构是否存在相关记录 |
| 数字签名与信任链 | 在正确验证情况下,已签名数据的来源与完整性 | 持票人当前状态及使用合法性 |
| 权威来源及持有人验证 | 对可用属性、状态及与身份关联性的确认 | 在任何后续场景中均绝对杜绝欺诈 |
我们的方法:验证真实的信任依据,而不仅仅是间接迹象
我们评估系统时,不以演示文稿中传感器、签名和算法的数量为标准,而是看每次验证能够证明的具体论点,以及该系统在遭遇针对性攻击时的表现。 我们将根据客户的文件、管辖权、使用场景及可接受的风险水平,为其构建定制化的防护模型。
- 独立的控制层级。浏览器、网络及视觉特征均被视为额外的风险信号,而非独立的证据。
- 安全的验证流程。包括服务器端阶段控制、单次验证机制、挑战码绑定、重复检测以及防范数据流数字篡改。
- 文档来源验证。验证可接受的加密凭证,并在法律和技术允许的情况下,与官方或其他权威来源进行集成。
- 训练循环的保护。用户上传数据与基准标注的分离存储、受控的模型更新、质量偏差验证以及回滚功能。
- 可量化的鲁棒性。评估误判率和偏差(包括
DFAR/DFRR文档分析),针对数据流篡改、重复内容、矛盾字段及新型合成图像的测试。
对我们而言,强有力的验证并非“100%防护”的承诺,而是一套可重现的流程,其中包含清晰的信任来源、可验证的指标,以及对“已确认”、 “未确认”和“发现矛盾”这三种状态的明确划分。
需要针对您的具体任务防范伪造文件吗?
并不存在一种对所有文件和验证渠道都同样可靠的通用过滤器。 如果您旨在减少伪造文件滥用行为、验证现有KYC流程的稳健性,或针对特定司法管辖区和威胁模型构建定制化解决方案,请联系我们。
我们将协助您识别系统依赖模拟信号的环节,确定必要的可信来源,并设计出可通过技术测试(而非营销承诺)验证其稳健性的验证方案。
技术来源
这些来源证实了通用技术特性、威胁模型和标准。我们审计的具体结果已在上文单独描述。
- NIST SP 800-63A-4 — 《身份验证概述》。身份建立、凭证验证和持证人验证的区分;权威且可信的来源。
- NIST SP 800-63A-4 — 《身份验证要求》。光学分析、MRZ、媒体流篡改、利用生成式人工智能的攻击以及测试要求。
- OWASP — 输入验证速查表。不信任客户端验证,必须由服务器进行验证。
- p0f — 项目文档。被动 TCP/IP 指纹识别的用途及该方法的局限性。
- MDN — MediaDevices.enumerateDevices()。媒体设备列表及其元数据访问限制。
- MDN — MediaStreamTrack.getSettings()。可用的媒体流参数。
- OWASP — REST 安全速查表。保护 API 状态、操作顺序和令牌免遭重复利用。
- ISO/IEC 30107-3:2023。生物识别冒名攻击(PAD)检测的测试与报告方法。
- NIST AI 100-2e2025 — 对抗性机器学习。攻击分类,包括数据和模型中毒。
- ENISA — 远程身份验证:最佳实践(2024)。远程身份验证的威胁,包括出示攻击和数字注入。
- ICAO — 电子护照基础知识。电子护照的数字签名及 DSC/CSCA 信任链。