昨天群友转发了一篇有趣的文章:[案例解读 淘宝”生意参谋”数据案判赔3000万](https://mp.weixin.qq.com/s?__biz=MzU2NDk5Njg2OA==&mid=2247506406&idx=1&sn=fa2f5764f4dc8ba7c362b7aaae95ff10&scene=21#wechat_redirect),南京中院支持了原告淘宝的索赔 3000 万元的诉讼请求,其中认定被告小旺神插件的“指数一键还原”功能,虽未破解生意参谋“指数化”算法模型,但是通过不正当手段获取了大量具有对应关系的数据,再通过技术手段向本不应该获取上述信息的商户提供无限接近淘天平台的真实数据,破坏淘宝“生意参谋”的商业模式,属于不正当竞争。

判决书里有些内容记录很好玩,我摘录几条:

  1. 被告辩称: 该项功能非强行入侵淘天平台后台系统,而是通过使用购买的函数公式计算得出,无法得知与真实数据的贴合度。即使预测准确率较高,则可以证明三原告并未对真实数据采取有效的保密措施,不符合商业秘密的构成要件。
  2. 原告声称: 淘软公司依据密码学最前沿的算法“保序加密(0rder-Preserving Encryption,0PE)”构造并实现了“带密钥的非交互部分保序编码(Keyed Non-Interactive Partially0rder-Preserving Encoding,NI-POPE)”(简称“保序脱敏函数”)以“指数化”方式实现数据的脱敏,是平衡数据安全性、数据可用性,函数执行性能、函数执行模式等因素下最好的技术实现方案。
  3. 被告提供的事实证据: 2018年12月19日,李**从微信名称“紫衫”(微信号:zishan*****)处花费 20 元购买了“4_新版生意参谋【交易流量转化指数换算表】-11.28 更新【紫杉精准对外版】.xlsx(25.5KB)”。市场上存在与“小旺神”“指数一键还原”功能类似的指数转化产品,包括“店透视、阿明查查、将军令、达官电商、指数妖、星参谋、口袋参谋、淘数据、筋斗云”等平台。

这个一键还原到底有多准呢?下图是判决书里贴的对比,几乎一模一样:

IT从业者的灵魂拷问:”淘宝!你说什么最前沿、最好的NI-POPE算法,怎么随便来个人用Excel都能破解这么到位??”

判决书里只提了生意参谋的软著,不过“保序脱敏”这个关键词挺罕见,我试着去搜了一下中国发明专利总库,还真发现有 2 个结果,分别是腾讯(直播热度)和阿里(商品指数)。看完内容,没错,阿里巴巴集团 2020 年申请、 2024 年授权的 CN114065272B 号专利《数据处理与发布方法、设备及存储介质》,就是本案核心的生意参谋指数化保序脱敏算法!

专利描述都很冗长,我用 AI 快速总结一下其中最易懂的实例流程,如下图所示:

flowchart LR
    subgraph main[主流程]
        A[开始] --> B[初始化<br/>原始数据范围M=1,16<br/>脱敏数据范围C=1,7<br/>原始数据=3]
        B --> C["迭代计算<br/>σ=P*(M_max-M_min+1)/2<br/>m_mid=(M_max+M_min)/2<br/>c_mid=Sample(k,C,σ)"]
        C --> D{是否收敛到<br/>m=m_mid?}
        D -->|否| E[更新M, C范围]
        E --> C
        D -->|是| F[脱敏数据=2]
        F --> G[结束]
    end
    
    subgraph details[迭代详情]
        H[第1次迭代<br/>计算m_mid=9<br/>判断1≤3<9成立<br/>更新M为1,9<br/>更新C为 1,4]
        I[第2次迭代<br/>计算m_mid=5<br/>判断1≤3<5成立<br/>更新M为1,5<br/>更新C为 1,2]
        J[第3次迭代<br/>计算m_mid=3<br/>m=m_mid=3<br/>输出c_mid=2]
        
        H --> I
        I --> J
    end
    
    C -.-> H
    
    style A fill:#e1f5fe
    style G fill:#e8f5e8
    style C fill:#fff3e0
    style D fill:#fce4ec
    style F fill:#f3e5f5
    style H fill:#e8f5e8
    style I fill:#e8f5e8
    style J fill:#e8f5e8

专利描述中虽然说“有界伪随机函数 Sample() 的实际实现不限分布”,但考虑到函数传参用了标准差,应该就是最普通的高斯分布。所以从这个流程可以判断,整个指数化算法中,只有两个可控参数:作为种子密钥的 k,和作为安全性控制的 P。

更巧的是:腾讯的专利里还强调了随机种子在不同业务标识之间各自独立,而阿里的专利中并未强调这点——虽然从判决书来看,一共 4 个指标,哪怕 k 独立了,难度也没增加多少。

算法的另一部分输入是数据范围。可惜淘宝商品的搜索数、收藏数、交易数这些都是公开可见。有心人只需要直接排序就能获取它们的 Max 值。然后注册个小店,或者其他渠道获取一些对应数据,就能还原出来整个公式和参数 P 了。

技术上的解读到这里就结束了。事实上,保序加密都不可能是什么密不可破的算法,需要更多从系统整体设计、甚至企业内控的层面,来审视数据的暴露风险。