跳到主要内容

加密

模型工作区第七个 Tab。登录并购买商用授权后,把当前明文模型单向加密成 .darmodel,交给现场只做推理;官方不解回明文。加密是可选的模型保护,不是每个项目必过的关卡。

站内说的商业功能就是本页这套模型加密服务:单向加密出包 .darmodel、激活码、模型保护与性能对比,不含别的。Studio 与 SDK 免费下载,只有商业功能按模型包收费,购买入口 商城 AI Studio 商用授权。

加密页

加密页:明文模型与加密配置。

两条出包路线​

Studio 出包先分叉,本页只讲右边一支:

Studio export
开放导出 -> .onnx / TensorRT engine / OpenVINO IR / Paddle
客户手上已有的任意推理框架都能跑
Darra AI SDK 是可选的
单向加密 -> .darmodel(+ 激活码)
现场只能经 Darra AI SDK 推理
磁盘上没有明文权重文件

不加密时走导出开放产物,接 ONNX Runtime、TensorRT、OpenVINO、DirectML、RKNN 等任意推理框架,SDK 可选。加密后现场只能走 Darra AI SDK;SDK 可选这句话只对开放导出成立。

两列布局​

列内容
左列当前模型(名称、状态、模型 ID)与商业授权标价
右列转换为加密模型;已加密时换码、导出或解锁

左列顶部是当前模型卡,固定三项:名称、状态、模型 ID。状态文案分两档:明文时写「明文(.pt/.pth 先转 ONNX 再封装 .darmodel)」,已加密时写「已加密(可推理)」。未选中模型时卡片显示「(未选中)」。

商业授权​

左列标价 US$ 99,永久商业授权。去购买打开商城 AI Studio 商用授权页。出包按模型包交付给现场,不是按席位的云账号。

左列广告块到「去购买」为止。这里没有授权形态、发布模式或授权转移控件;授权只看当前账号有没有买。

未登录时右列居中提示「未登录,无法加密签发。」已登录但未购时提示「当前授权不含签发功能。」,加密按钮不可用。

备注

商用加密出包 = 登录 + 商用授权 + 云端签发 + 随包验票,签完即验;激活码与试用口令不上传、不落设置、不进日志。

交付物​

加密成功后项目内新增加密模型,输出一个 .darmodel。

产物说明
.darmodel单文件模型包,现在只发这一个文件
激活码必填。现场打开包时使用,打错当场拒绝
.darmkey旧版的配套密钥文件,仍能读;现在只发 .darmodel 一个文件

原模型不改动。失败时提示「加密失败,原模型未改动」。

备注

旧工程里成对的 .darmodel 与 .darmkey 仍能打开。现在出包不必再手拷 .darmkey。

单向加密​

加密是单向的。激活码等于这一份模型包的离线永久推理,不是解密工具。官方不提供解回明文文件的路径。

  • 推理在本机内存里进行,明文不落盘
  • 加密模型即使已解锁,也只用于推理;工程明文、结构导出、再训练都不开放
  • 公开 SDK 只做开包与推理,不带加密能力;加密出包只在 Studio 里提供

出包会写入模型指纹用于标识这一份包;当前版本不提供泄露溯源能力,这不是 dump 免疫。

备注

不承诺 dump 免疫。买家转发(必须写): 拿到包+激活码的买家可离线解出模型;要真正防转发需在线激活或 TPM 封装,当前版本不提供。授权机上管理员级调试器仍可能在会话存活期从进程内存提取权重。不要理解成绝对安全或防内存提取。

备注

能防什么:无码不能跑、不能把权重另存成明文文件、不能拿包去训练或蒸馏。不能防什么:拿到包和激活码的买家可离线解出模型、已打开进程被调试器 dump、整机克隆后伪造本机环境。本机绑定是可选便利项,不构成安全边界。

加密模型限制​

已加密时右列出现限制条:

  • 仅供推理 — 不能训练或蒸馏
  • 不可还原 — 加密是单向操作;激活码仅提供无限推理
  • 试用受限 — 运行次数受限、不能导出,且口令必须与激活码不同。计次存在本机,删除或回滚计次文件即可重置;这只挡无意使用,不挡有意绕过(试用计次只挡小白)

激活码与本机绑定​

商用加密 = 登录 + 授权 + 云端签发 + 随包验票,验不过的包不交付。

  • 激活码:出包时必设,现场打开包时使用。一次性生成、离线可用,是这一份模型包的离线一次性开包手段,不绑设备、不绑账号。生成后只显示一次,页面原文:「已生成激活码: …。只显示一次,请立即保存;加密后不再显示。」
  • 本机绑定:首次在某台机器解开成功后写入本机绑定标记,之后在本台机器免密。试用与解密失败不写绑定。本机绑定只省去重复输码,不是安全边界:整机克隆或伪造硬件信息可绕过,拿到包和激活码的买家可离线解出模型。

激活码在生成时不绑设备;本机绑定标记写在首次解开。栏下提示说的是本机绑定——它只省去重复输码,不是防转发手段。

模型保护操作台​

明文模型加已登录商用授权时,右列展开行内加密表单,不弹窗。表单顺序固定。

运行时格式 — 下拉五选一。缺对应产物时行内报错,不把 ONNX 冒充其它格式:

运行时格式需要的前置产物缺件时
ONNX明文 .onnx,或 .pt / .pth(先转 ONNX)源模型无明文权重 (.onnx / .pt / .pth),无法加密
TensorRT (.engine).engine没有 .engine,请先在导出页转为 TensorRT
OpenVINO同名 .xml 加 .bin没有 OpenVINO,请先在导出页转为 OpenVINO
Paddle同名 .pdmodel 加 .pdiparams没有 Paddle,请先在导出页转为 Paddle
RKNN (RK3588)现成 .rknn没有 .rknn。Windows 不转换 RKNN,请准备现成的 .rknn 再加密

Windows 版 Studio 不提供 RKNN 转换,只封装现成 .rknn。导出页也没有 RKNN 选项。RKNN 载荷给 linux-arm64 板端推理用。

加密等级 — 页面不提供选择。能切片的载荷用切片,不能切片的自动用标准档,界面不显示等级。各档同一套包格式与授权锁,差别在模型在盘上、在内存里的形态,以及加载那一次的工作量。

等级加载与推理时做了什么代价
一级加密 · 标准加载时解出整份模型交给推理框架,随即抹掉我们手上的明文缓冲;额外的工作只发生在打开模型那一次加载时解密一次、抹一次缓冲;推理期不解密模型
三级加密 · 切片图权分离:图结构与权重分开存,落盘时权重不在模型文件里,防静态抽取。加载期仍是整块解密,内存中仍有明文,峰值明文不小。三级只支持 ONNX 与已剥离的 TensorRT 引擎(全量引擎当三级会拒收)加载期整块解密建会话;推理期不解密模型

旧版加固包仍可打开,但该档位已下线,新包不提供。历史实现仅 DirectML 生效、8 字节钥、推理期块是明文,非加密级保护;CPU/CUDA/TensorRT/OpenVINO 路径与一级逐字节相同。

三级诚实边界:加载期仍是整块解密,内存中仍有明文,峰值明文不小;不宣称绝对安全。三级推理已在 CPU 与 CUDA 跑通:CPU 上 47 个发布库模型里 43 个切片成功、4 个因无可切片权重跳过,推理耗时与明文持平(100–101%);CUDA 上 3 个模型推理耗时同样与明文持平(98–101%)。DirectML、TensorRT、OpenVINO 的三级推理尚未验证。一级已验证 CPU / CUDA / DirectML / OpenVINO。

不写未实测毫秒数。

激活码 — 必填。点「生成」自动填入激活码与确认激活码。两次必须一致,否则「两次输入的激活码不一致」。空则「激活码不能为空」。栏下两条提示,自上而下:「激活码是离线一次性开包手段。」「首次解开写入本机绑定,之后这台机器免密。本机绑定不是安全边界:拿到包和激活码的买家可离线解出模型。」

试用口令 — 可选。点「生成」填入试用口令与确认试用口令,页面原文:「已生成试用口令,请复制后发给试用方。与激活码不同。」两次必须一致;与激活码相同则拒绝:「试用口令不能与激活码相同」。

最大运行次数 — 仅试用口令填写时生效。范围 1 到 100000,默认 10。小于 1 报「最大运行次数至少为 1」。

加密 — 校验通过后在项目里新增加密模型。成功提示「已新增加密模型: <模型 ID>」,状态卡切到「已加密(可推理)」。

单载荷与提示条件​

一次出包只封装一种运行时载荷,分发为单个 .darmodel 文件。要给多种运行时,按格式分别出包。

右列操作提示按源模型有没有明文权重分两套。

  • 源模型带明文 ONNX 或 PT 时提示:「必须设激活码。只发一个 .darmodel。加密单向,不能解回明文。首次解开后写入本机绑定,之后这台机器免密。本机绑定不是安全边界:拿到包和激活码的买家可离线解出模型。」
  • 源模型没有明文权重、只能走已转换产物时提示:「必须设激活码。选 TensorRT 需要 .engine,OpenVINO 需要 .xml+.bin,Paddle 需要 .pdmodel+.pdiparams。」

.pt 与 .pth 源​

选 ONNX 且源是 .pt 或 .pth 时,先转 ONNX 再封装。进行中提示「正在将 .pt/.pth 转为 ONNX,再封装 .darmodel」。转换失败回放真原因;无原因时提示「PT→ONNX 转换失败,未加密原始 PT」。不加密原始 PT。缺输入尺寸时提示「缺少输入尺寸,无法从 PT 转 ONNX」。

解锁​

已加密模型右列切到解锁:输入激活码,点解锁。栏下提示「开当前推理会话。」

解锁只打开推理会话,不解回工程明文,也不生成明文兄弟。成功后按钮变「已解锁」并禁用,状态提示「已永久解锁」或「试用剩余 <N> 次」。未解锁时提示「未解锁。填一次激活码打开本页推理。加密单向,不能解回明文。试用按成功推理扣次,不能导出。」

失败按原因提示,常见有:密码不能为空、密码错误、试用次数已用完、加密容器不存在、需要输入密码、当前模型不是加密模型。

试用​

  • 试用口令与激活码是两套,必须不同
  • 按成功推理扣次;打开、加载、失败推理不扣
  • 不能导出
  • 次数用尽后提示试用次数已用完
  • 试用不写本机绑定。计次是本机软限制:票存本机(双仓 + DPAPI 状态仓),删除/回滚票仓或换到另一台机器重开即重置。不承诺防重置、不承诺试用不可被延长(试用计次只挡小白)

性能对比​

右列「实测性能」。对比明文与一级、三级的推理相对耗时,页上以未加密为 100% 基准,不写未实测毫秒。没测到的格子留空,不拿另一档的数补上。二级已下线,暂无实测数据。

能力明文一级加密 · 标准三级加密 · 切片
训练与蒸馏可训练、蒸馏仅推理仅推理
还原工程明文可还原单向,不解回单向,不解回
加载与推理直接加载,无加密步骤加载时解密一次、抹一次缓冲;推理期不解密模型加载期整块解密建会话;推理期不解密模型
导出任意导出试用不能导出试用不能导出
磁盘明文权重有无无

现场推理​

加密出包在 Studio 里做。现场与 PLC Vision 走独立发布的 Darra AI SDK,只做推理:

new AiClient(包) -> Open -> InferFile -> Close

打包期阈值是默认值,推理期可由用户覆盖(conf_threshold / nms_threshold / top_k / ctc_blank_index / mask_threshold / ocr_dictionary)。输入边长与类别名是模型事实,打包期定下,推理期不覆盖。

备注

SDK 对开放导出是可选的:加密包只能经 SDK 推理。SDK 只做推理(阻塞调用)。公开 SDK 不带加密功能。

提示

运行时格式缺件先走 导出。现场接入:C。语言包与安装包:下载。