71、按效果付费(CPA)在线广告中检测虚减欺诈的混合方法

按效果付费(CPA)在线广告中检测虚减欺诈的混合方法

在在线广告领域,广告商可能会为了减少佣金费用而少报交易数量,这种行为被称为虚减欺诈。传统的检测方法存在效率低、可扩展性差等问题,本文将介绍一种基于密码学和概率的虚减欺诈检测方案。

1. 相关工作

传统的检测方法主要有以下几种,但都存在一定的局限性:
- Johnson和Staddon的方案 :考虑了内容分发中的虚减欺诈,提出了三种方案,但架构存在明显缺陷,不适用于在线广告。
- 方案一 :验证者使用不同假名冒充普通用户,检查其假名是否出现在内容分发商的报告中。
- 方案二 :涉及一个在线可信第三方(TTP),预先向用户分发一组密钥,内容分发商必须使用所有用户都知道的密钥,以帮助审计人员估计用户集大小。
- 方案三 :与方案二类似,但减少了用户存储。
- 发布 - 订阅网络中的计数完整性方案 :要求发布者参与所有数据交付交易,违背了发布 - 订阅系统的设计原则,即解耦发布者和订阅者,以提高可扩展性并减轻发布者的数据交付工作量。
- Web计量方案 :主要处理过度计数欺诈(即膨胀攻击),如Naor和Pinkas提出的基于秘密共享的方案,需要审计机构在交易前初始化每个用户,不适用于通用在线交易。
- 点击欺诈对策 :如Gandhi等人基于广告代码构造提出的对策,但这些方案主要针对点击欺诈,而非交易欺诈。
- 概率计数方案 :如Markus Kuhn提出的方案,虽然效率高,但不准确,仅提供数量级估计,且未解决虚减欺诈问题。
- 电子投票方案 :虽然理论上可以抵御膨胀/虚减攻击,但由于其特殊且昂贵的基础设施以及较高的计算/通信成本,不适用于在线广告或内容分发。

2. 构建模块和符号说明

本方案使用的密码学构建模块是知识签名,它是零知识证明的一种非交互式形式。主要涉及以下几种签名:
- Schnorr签名 :签名者证明其知道循环群 (G = \langle g \rangle) 中 (y) 以 (g) 为底的离散对数。
- SKELOG签名 :用于证明两个离散对数相等。假设 (g) 和 (g’) 是群 (G) 的两个生成元,且 (y = g^x),(y’ = g’^x),签名者可以生成一个知识签名,证明 (DLOG(y, g) = DLOG(y’, g’))。
- SKLOGLOG签名 :用于证明 (y) 以 (g) 和 (a) 为底的双离散对数。设 (y = g^{a^x}),签名者可以计算 ((c, s_1, \cdots, s_l)) 作为知识签名。
- SKELOGLOG签名 :结合了SKLOGLOG和SKELOG,签名者可以证明 (y = g^{a^x}) 的双离散对数等于 (y’ = h^x) 的离散对数。

相关符号说明如下表所示:
| 符号 | 描述 |
| — | — |
| ((x, y)) | 广告商用于向用户签署收据的私钥和公钥对 |
| ((u, v)) | 广告商用于令牌使用证明的另一对私钥和公钥 |
| (t_i) | 发给广告商的第 (i) 个令牌 |
| (C) | 广告商的交易计数器 |
| (I_{click}) | 网站发布者的点击计数器 |
| (C_f) | 网站发布者收到的最大交易计数 |
| (I_f) | 对应 (C_f) 的点击计数 |
| (N) | 实际交易数量 |
| (M) | 广告总点击次数 |
| (\rho) | 用户在交易后运行反馈协议的概率 |

3. 问题描述
3.1 系统概述

典型的在线广告系统由以下三种实体组成:
- 网站发布者 (Ps) :通过其网站或搜索引擎提供广告服务。
- 用户集合 (U) :数量未知。
- 广告商 (Ad) :向用户提供服务或产品。

网站发布者向用户展示广告商的广告,用户点击广告后被重定向到广告商的网站。如果用户注册服务或下载产品,则视为进行了一次交易。广告商定期向网站发布者报告由网站发布者广告带来的交易数量。在虚减欺诈中,广告商少报交易数量以减少佣金费用。

本方案的目标是让网站发布者能够高效地检测广告商的欺诈行为。基本方法是从广告商和一小部分用户那里收集信息,通过分析收到的数据,网站发布者可以以随着欺诈数量增加而增大的概率发现(或怀疑)欺诈行为。方案包括以下协议/算法:
- 初始化 :网站发布者和广告商初始化到适当状态,网站发布者授权广告商在一个计费周期内最多进行 (n) 次交易。
- 广告展示 :用户与网站发布者交互,网站发布者展示广告商的广告。
- 交易 :用户可能与广告商进行交易,如注册服务或下载产品,并收到广告商签署的收据。
- 反馈 :用户以概率 (\rho) 向网站发布者返回收据。
- 报告 :广告商向网站发布者报告交易数量,网站发布者根据从用户收集的收据和广告商的报告检测欺诈并估计欺诈数量(如果有)。

以下是系统流程的mermaid流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(网站发布者Ps):::process -->|展示广告| B(用户U):::process
    B -->|点击广告| A
    A -->|发送(Iclick, t0)| B
    B -->|可能进行交易| C(广告商Ad):::process
    C -->|返回收据| B
    B -->|以概率ρ反馈| A
    C -->|报告交易数量| A
    A -->|检测欺诈| C
3.2 假设、对手模型和安全概念
  • 假设 :每个用户是独立的,其协议执行被视为独立事件;所有通信渠道是机密和真实的,如通过SSL/TLS连接。
  • 对手模型 :广告商是对手,其目标是少报交易数量而不被检测到。假设广告商是理性的,不会冒险暴露其长期秘密,并为自己设定了风险阈值。不考虑广告商与受损用户的勾结攻击,因为广告商可以与勾结者进行交易而不执行规定的协议。
  • 安全概念 :通过检测失败概率的上限来定义方案的安全强度。如果一个虚减欺诈检测方案对于 (\nu \in [0, 1]) 和 (z \in N) 是 ((z, \nu)) - 安全的,那么广告商成功少报 (x \geq z) 笔交易而不被检测到的概率被限制在 (\nu) 以内。
4. 方案详细介绍
4.1 初始化

给定系统范围的安全参数 (\kappa),所有参与者达成以下密码学设置:
- 选择三个大素数 (p)、(q)、(q’),满足 (q|p - 1) 和 (q = 2q’ + 1),且在 (Z_p^ ) 和 (Z_q^ ) 中离散对数问题是难解的。
- 选择 (g \in_R Z_p^ ),使得 (G = \langle g \rangle) 是 (Z_p^ ) 中阶为 (q) 的循环子群;选择 (h \in_R Z_q^ ),使得 (G_h = \langle h \rangle) 是 (Z_q^ ) 中阶为 (q’) 的循环子群。
- 定义碰撞抗性哈希函数 (H: Z_q \to Z_q) 和 (H: {0, 1}^* \to {0, 1}^k),其中 (k) 由 (\kappa) 确定,如 (k = 160)。
- 确定 (SKELOGLOG) 的参数 (l),由 (\kappa) 确定,如 (l = 80)。

网站发布者授权广告商生成一个长度为 (n) 的哈希令牌链,用于 (n) 次交易。使用哈希链的好处是:
- 节省通信和存储成本,因为一个种子可以生成整个链。
- 将哈希函数建模为随机预言机,以实现可证明的安全性,因为哈希令牌将在交易中用于派生一个随机数来签署收据。

初始化协议如下:

初始化协议(由网站发布者 \(Ps\) 和广告商 \(Ad\) 执行)
1. 网站发布者 \(Ps\) 执行以下操作:
    (a) 生成一个随机种子 \(T \in_R Z_q\);选择 \(n \in N\) 作为广告商可以执行的最大交易数量。
    (b) 设置 \(t_0 \leftarrow H^n(T)\),其中 \(H^n(T) \triangleq H(\cdots H(T) \cdots)\)(\(n\) 次)。
    (c) 发送 \(\{T, t_0, n\}\) 给广告商 \(Ad\)。
2. 广告商 \(Ad\) 执行以下操作:
    (a) 选择 \(x \in_R Z_q\) 并设置 \(y \leftarrow g^x \bmod p\)。
    (b) 选择 \(u \in_R Z_q'\) 并设置 \(v \leftarrow h^u \bmod q\)。
    (c) 输出 \(PK := (y, v, p, q)\) 作为广告商的公钥,\(SK := (x, u)\) 作为其私钥。广告商的收据签名密钥对是 \((y, x)\)。
    (d) 收到 \(\{T, t_0, n\}\) 后,检查 \(t_0\) 是否等于 \(H^n(T)\)。如果不相等则中止,否则接受。
4.2 广告展示

网站发布者在其网页上展示广告商的广告,如Flash或横幅,并维护一个点击计数器 (I_{click}) 来记录广告点击次数。初始时,(I_{click} = 0)。当用户点击广告时,广告展示开始,网站发布者将 ((I_{click}, t_0)) 发送给用户,然后将 (I_{click}) 加1。为避免混淆,用 (M) 表示最终的 (I_{click}),即广告总点击次数。

4.3 交易

广告商维护一个交易计数器 (C),初始时 (C = 0)。用户在广告展示后可能决定与广告商进行交易,也可以选择不进行交易。交易协议如下:

交易协议(由广告商 \(Ad\) 和用户 \(U\) 执行)
广告商的输入:\(\{T, x, u\}\),当前交易计数器 \(C\);用户的输入:\(\{I_{click}, t_0\}\)。
1. 广告商 \(Ad\) 在收到用户的 \(I_{click}\) 后执行以下步骤:
    (a) 计算 \(t_C \leftarrow H^{n - C}(T)\),并计算 \(\alpha \leftarrow H(t_C \| Ad)\)。
    (b) 计算 \(r \leftarrow \alpha^u \bmod q\)。
    (c) 计算Schnorr签名 \((\gamma, \beta)\),其中 \(\gamma = H(t_C \| y \| g \| I_{click} \| g^r)\) 且 \(\beta = r - x \cdot \gamma \bmod q\)。
    (d) 随机选择 \(r_1, \cdots, r_l \in_R Z_q'\)。
    (e) 计算 \(w_i \leftarrow h^{r_i}\) 和 \(w_i' \leftarrow g^{(\alpha r_i)}\),其中 \(i = 1, \cdots, l\)。
    (f) 设置 \(\psi \leftarrow H(v \| h \| g^r \| g \| t_C \| w_1 \| \cdots \| w_l \| w_1' \| \cdots \| w_l')\)。
    (g) 对于 \(i = 1, \cdots, l\),设置
        \(\lambda_i = 
        \begin{cases}
            r_i & \text{如果 } \psi[i] = 0 \\
            r_i - u \bmod q' & \text{否则}
        \end{cases}\)
    (h) 发送 \(\{C, t_C, (\gamma, \beta), (\psi, \lambda_1, \cdots, \lambda_l)\}\) 给用户,然后将 \(C\) 加1。
2. 用户 \(U\) 在收到 \(\{C, t_C, (\gamma, \beta), (\psi, \lambda_1, \cdots, \lambda_l)\}\) 后执行以下操作:
    (a) 验证 \(t_C\) 是否在以 \(t_0\) 为根的哈希链中。即,如果 \(t_0 \neq H^C(t_C)\),则返回0并中止。
    (b) 计算 \(\alpha \leftarrow H(t_C \| Ad)\)。
    (c) 评估交易验证函数 \(V(t_C, I_{click}, \gamma, \beta, \psi, \lambda_1, \cdots, \lambda_l)\) 如下:
        i. 计算 \(W \leftarrow g^\beta y^\gamma\)。
        ii. 如果 \(\gamma \neq H(t_C \| y \| g \| I_{click} \| W)\),则返回0并中止。
        iii. 对于 \(i = 1, \cdots, l\),计算
            \(w_i = 
            \begin{cases}
                h^{\lambda_i} & \text{如果 } \psi[i] = 0 \\
                v^{\lambda_i} & \text{否则}
            \end{cases}\)
            和
            \(w_i' = 
            \begin{cases}
                g^{(\alpha \lambda_i)} & \text{如果 } \psi[i] = 0 \\
                W^{(\alpha \lambda_i)} & \text{否则}
            \end{cases}\)
        iv. 如果 \(\psi \neq H(v \| h \| W \| g \| t_C \| w_1 \| \cdots \| w_l \| w_1' \| \cdots \| w_l')\),则返回0并中止。
    (d) 接受 \((C, t_C, \gamma, \beta)\) 作为本次交易的收据并返回1。
4.4 反馈

用户在交易后可能选择向网站发布者发送反馈。设 (\rho) 表示用户在交易后运行反馈协议的预期概率。在协议中,用户只需将其 (I_{click}) 和收据 ((C, t_C, \gamma, \beta)) 返回给网站发布者。用 (\Lambda) 表示收到的所有收据,用 (C_f) 表示 (\Lambda) 中最大的 (C),用 (I_f) 表示与 (C_f) 配对的 (I_{click})。当新收据插入 (\Lambda) 时,网站发布者运行 (Fraud(\Lambda)) 函数,如果存在两个不同的收据使用相同的哈希令牌,则返回1。初始时,(\Lambda = \varnothing) 且 (C_f = 0)。

注意,(Fraud(\Lambda)) 函数的第一步不需要额外的模幂运算,因为在验证Schnorr签名 ((\gamma, \beta)) 时已经计算了 (g^\beta y^\gamma)。为节省查找欺诈的时间成本,网站发布者可以使用布隆过滤器来测试 (g^\beta y^\gamma) 的成员资格。

4.5 报告

报告协议在每个计费周期结束时由广告商和网站发布者执行。广告商向网站发布者报告交易数量 (\hat{C})。在虚减欺诈中,(\hat{C}) 小于实际交易数量 (N)。由于反馈协议与报告协议独立,报告协议的执行意味着网站发布者在反馈阶段未发现欺诈。因此,网站发布者使用收到的数据评估 (\hat{C}) 的可信度,数据包括:
- (M):广告总点击次数,来自广告展示阶段。
- (C_f) 和 (I_f):来自反馈阶段。

网站发布者结合这些数据和 (\rho) 执行以下步骤:
1. 如果 (C_f > \hat{C}),则网站发布者声称广告商作弊,虚减欺诈的数量至少为 (C_f - \hat{C})。

综上所述,本方案通过结合密码学和概率方法,为网站发布者提供了一种高效、灵活且可扩展的方式来检测广告商的虚减欺诈行为。通过适当调整安全参数,网站发布者可以在高安全保证和低成本之间取得平衡。

按效果付费(CPA)在线广告中检测虚减欺诈的混合方法

5. 方案的特点和优势

本方案具有以下几个显著的特点和优势,使其在检测CPA在线广告中的虚减欺诈方面表现出色:
- 高效的欺诈检测能力 :该方案能够以与欺诈数量 (z) 呈指数增长的成功概率检测到任何数量 (z) 的虚减欺诈。网站发布者可以通过调整安全参数,在高安全保证和低成本之间找到平衡。例如,通过增加相关签名参数 (l) 的值,可以降低广告商伪造签名的概率,提高检测的安全性,但可能会增加一定的计算成本。
- 交易数量估计功能 :允许网站发布者估计预期的交易数量,为检测大规模欺诈提供了可靠的基础。通过收集广告点击次数 (M)、反馈阶段的 (C_f) 和 (I_f) 等数据,结合用户反馈概率 (\rho),网站发布者可以对广告商报告的交易数量的可信度进行评估。
- 非侵入性和用户友好性 :方案不会对广告商的业务运营造成侵入性影响,交易仅涉及广告商和用户。同时,终端用户不需要维护任何秘密信息,降低了用户的使用门槛和安全风险。
- 高效可扩展性 :方案的通信、计算和存储成本与交易数量无关。无论交易数量多少,方案的性能都能保持稳定,适用于大规模的在线广告业务。

6. 安全和性能分析
6.1 安全性分析

本方案的安全性主要基于密码学构建模块和概率分析。通过使用知识签名(如Schnorr签名、SKELOG签名、SKLOGLOG签名和SKELOGLOG签名),确保了交易的真实性和不可伪造性。
- 签名的安全性 :以SKLOGLOG签名为例,签名者生成的签名 ((c, s_1, \cdots, s_l)) 证明了 (y = g^{a^x}) 的双离散对数。由于在每一轮零知识证明中,挑战是一位二进制数,签名者在一轮中成功欺骗验证者的概率为 (1/2)。因此,当 (l) 足够大时,攻击者伪造SKLOGLOG签名的概率可以忽略不计。
- 欺诈检测概率 :方案的安全强度通过 ((z, \nu)) - 安全的定义来衡量。即广告商成功少报 (x \geq z) 笔交易而不被检测到的概率被限制在 (\nu) 以内。随着欺诈数量 (z) 的增加,检测到欺诈的概率也会相应增加。

6.2 性能分析
  • 计算成本 :方案中的主要计算操作包括哈希运算、模幂运算和签名验证。哈希运算和签名验证的计算复杂度相对较低,而模幂运算在现代计算机上也可以高效实现。由于方案的计算成本与交易数量无关,因此在大规模交易场景下仍能保持高效。
  • 通信成本 :初始化阶段,网站发布者向广告商发送随机种子 (T)、初始令牌 (t_0) 和最大交易数量 (n),通信成本是常数。在交易和反馈阶段,传输的数据量也相对较小,主要包括签名、令牌和计数器等信息。
  • 存储成本 :广告商需要存储私钥、交易计数器和哈希令牌链的相关信息,网站发布者需要存储点击计数器、反馈数据等。由于这些数据量相对固定,不随交易数量的增加而显著增长,因此存储成本较低。
7. 实际应用中的考虑因素

在实际应用本方案时,需要考虑以下几个方面的因素:
- 用户反馈概率 (\rho) 的选择 :用户反馈概率 (\rho) 是一个重要的系统参数,它直接影响到欺诈检测的效果。网站发布者可以使用金融工具,如收据兑换或抽奖活动,来吸引用户运行反馈协议。通过合理选择 (\rho) 的值,可以在保证检测效果的同时,降低用户参与的成本。
- 系统的初始化和维护 :方案的初始化过程涉及到生成随机种子、选择参数和分发令牌等操作,需要确保这些操作的安全性和正确性。同时,在系统运行过程中,需要定期对系统进行维护和更新,以保证系统的安全性和性能。
- 应对潜在的攻击 :虽然方案在设计上考虑了多种安全因素,但仍可能面临一些潜在的攻击,如中间人攻击、拒绝服务攻击等。因此,需要在通信渠道上采用安全的加密协议(如SSL/TLS),并建立相应的应急机制,以应对可能出现的攻击。

8. 总结

CPA在线广告中的虚减欺诈问题严重影响了广告市场的公平性和健康发展。传统的检测方法存在效率低、可扩展性差等问题,而本方案通过结合密码学和概率方法,为解决这一问题提供了一种有效的解决方案。

方案通过收集广告商和一小部分用户的信息,利用知识签名和概率分析,实现了高效、灵活且可扩展的虚减欺诈检测。具有高效的欺诈检测能力、交易数量估计功能、非侵入性和用户友好性以及高效可扩展性等优势。同时,通过合理选择安全参数和系统参数,方案可以在高安全保证和低成本之间取得平衡。

在实际应用中,需要考虑用户反馈概率的选择、系统的初始化和维护以及应对潜在攻击等因素。通过不断优化和改进方案,有望进一步提高其在实际场景中的适用性和有效性,为CPA在线广告市场的健康发展提供有力保障。

以下是本方案主要流程的总结mermaid流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(初始化):::process --> B(广告展示):::process
    B --> C(交易):::process
    C --> D{是否反馈}:::process
    D -->|概率ρ是| E(反馈):::process
    D -->|否| F(无反馈):::process
    E --> G(报告):::process
    F --> G
    G --> H(检测欺诈):::process

通过以上的分析和总结,我们可以看到本方案在检测CPA在线广告虚减欺诈方面具有很大的潜力和应用价值。希望在未来的研究和实践中,能够不断完善和推广这一方案,为在线广告行业的发展做出贡献。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值