保护配方数据不被篡改

<< 点击显示目录 >>

主页  mappServices帮助手册 > mapp Recipe:配方管理 > 使用案例 >

保护配方数据不被篡改

mapp Services V5.16

要求

配方数据应受到保护,防止外部篡改,而不必对整个文件进行加密。只允许授权用户修改配方数据。如果配方被未经授权的用户修改,必须阻止配方的加载。

解决方案

组件列表

MpRecipeXml (拥有MpLink):保存和加载配方文件

MpRecipeRegPar (来自MpRecipeXml的MpLink):注册过程变量(PVs)。整个结构体也可以被注册。

连接图

mprecipeusecase_5_6

配置组件

usecase56_config

使用mapp组件

MpRecipe配置允许指定一个密码来签署配方数据。有了这个选项,将为每个配方创建一个签名文件。它包含一个 配方文件的 HMAC 值。这个 HMAC 值在加载配方文件时使用,以确保它没有被修改。签名对每个配方文件和定义的密码都是唯一的。关于签署配方的细节,请看 这里

当加载配方时,MpRecipe根据配方文件的内容检查签名。如果签名与内容不匹配(即文件的内容已被修改),那么数据就不会被加载,并且该功能块指示错误 mpRECIPE_ERR_SIGNATURE_INVALID

如果找不到签名文件,但配置中指定需要签名,那么该功能块会显示错误 mpRECIPE_ERR_SIGNATURE_MISSING

此外,  如果 使用mapp 报警系统 对上述错误会产生 报警 mpRECIPE_ALM_LOAD_FAILED。 该报警包含一个链接到一个包含更多原因信息的记录器条目。