加密
模型工作区第七个 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 不带加密功能。