V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zealinux
V2EX  ›  程序员

大家公司交付客户时,深度学习的模型是怎么加密的?

  •  
  •   zealinux · Jul 2, 2021 · 6720 views
    This topic created in 1760 days ago, the information mentioned may be changed or developed.

    现在有个问题: 公司训练好的模型以及服务,希望加密后给到用户。

    Java Web 服务使用 JNI 调用 C++的.so 接口,C++代码载入模型文件和调用推理。

    希望这些文件交付给用户的时候,加密好模型,也对此进行一些限制:

    比如限制实例数,限制时长,( TPS 不重要,有这个有更好) 且不能将所有文件(模型,.so )拷贝到其他更多的机器上分发给别人用。

    毕竟客户没有购买和买断这些模型。

    18 replies    2021-07-04 22:17:08 +08:00
    Rheinmetal
        1
    Rheinmetal  
       Jul 2, 2021
    。为啥不能远程调用?说明还是不够强势。
    learningman
        2
    learningman  
       Jul 2, 2021
    3dwelcome
        3
    3dwelcome  
       Jul 2, 2021   ❤️ 1
    你可以在模型里额外加个以服务器系统时间为基准的 relu 噪声层。

    这个时间必须是 ntp 苹果服务器官方返回的,只要时间大于现在起的三个月,就在模型权重里添加额外噪音,到半年后自然就没办法继续用了。
    Jat001
        4
    Jat001  
       Jul 2, 2021
    这些都可以在代码里控制啊,把模型文件加密,运行的时候在内存里解密,除非你的客户是做安全相关的,会反汇编,能找到绕过限制的方法,还知道如何从内存里拿需要的数据,那你要研究的就是 Intel SGX 这样的 Trusted execution environment 了
    gxw86
        5
    gxw86  
       Jul 2, 2021
    我认为这是两个问题,模型加密和服务授权,模型加密是为了避免别人直接写代码调用模型,这一块我简单用了 AES 加密,然后加载时在内存中解密;授权是为了避免别人直接复制整套部署环境,这一块比较麻烦,坑也比较多,直接采购了外部方案,用的德国威步,校验机器码
    wangxiaoaer
        6
    wangxiaoaer  
       Jul 2, 2021
    @gxw86 #5 机器码方案在 docker 环境下有用吗?
    fl2d
        7
    fl2d  
       Jul 2, 2021
    加密的虚拟机?
    gxw86
        8
    gxw86  
       Jul 2, 2021
    @wangxiaoaer 会有问题,但是我印象里这家有 docker 的方案,好像是授权做到宿主机上,docker 容器里面通过 tcp/ip 访问宿主机的授权,具体没有测试过
    EPr2hh6LADQWqRVH
        9
    EPr2hh6LADQWqRVH  
       Jul 2, 2021
    前两天谷歌不是刚开源了那个 FHE 同态加密的东西嘛,可以用这个试试
    paopjian
        10
    paopjian  
       Jul 2, 2021 via Android
    百度有个加密模型方法,不过可能得转 paddle
    lplk
        11
    lplk  
       Jul 2, 2021
    @Rheinmetal #1 有的公司的数据不可能提供给给你的服务的,比如银行,我现在做的就是 to B,就算是采购测试,也要到银行内部部署好服务,在他们内部测试
    youxiachai
        12
    youxiachai  
       Jul 2, 2021
    买供应商解决吧.....
    Rheinmetal
        13
    Rheinmetal  
       Jul 2, 2021
    @lplk
    银行爸爸那的确.....
    inframe
        14
    inframe  
       Jul 2, 2021
    考虑物理方法:
    1 直接搞个三防本子设置好密码丢客户现场,关键服务放三防本上,测试完了三防本收回来。
    2 U 盘加密狗,模型放一些关键参数在加密狗上,一机一狗
    xuanbg
        15
    xuanbg  
       Jul 3, 2021
    模型才多大,肯定是远程调用啊。
    bthulu
        16
    bthulu  
       Jul 3, 2021
    u 盘加密啊, 插上 u 盘才能用, 一个 u 盘就是一个授权
    wangzhangup
        17
    wangzhangup  
       Jul 4, 2021
    模型就是一个大字典,你们可以自己加密。
    bitdepth
        18
    bitdepth  
       Jul 4, 2021 via iPad
    Synaptics 也有一個系列的 arm 晶片提供全 trustpath 的 AI 環境,模型是加密過的無法明文訪問
    可以考慮部署到相關硬體上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2356 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 16:11 · PVG 00:11 · LAX 09:11 · JFK 12:11
    ♥ Do have faith in what you're doing.