CN114266060B - 一种模型容器加密与部署方法 - Google Patents

一种模型容器加密与部署方法 Download PDF

Info

Publication number
CN114266060B
CN114266060B CN202111624794.5A CN202111624794A CN114266060B CN 114266060 B CN114266060 B CN 114266060B CN 202111624794 A CN202111624794 A CN 202111624794A CN 114266060 B CN114266060 B CN 114266060B
Authority
CN
China
Prior art keywords
model
key
output result
encrypted
container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111624794.5A
Other languages
English (en)
Other versions
CN114266060A (zh
Inventor
王成欢
马小乐
王韫泽
魏向元
纪思远
王侯建
华家辉
郭晓林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Science And Engineering Intelligent Operation Research And Information Security Research Institute Wuhan Co ltd
Original Assignee
Aerospace Science And Engineering Intelligent Operation Research And Information Security Research Institute Wuhan Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aerospace Science And Engineering Intelligent Operation Research And Information Security Research Institute Wuhan Co ltd filed Critical Aerospace Science And Engineering Intelligent Operation Research And Information Security Research Institute Wuhan Co ltd
Priority to CN202111624794.5A priority Critical patent/CN114266060B/zh
Publication of CN114266060A publication Critical patent/CN114266060A/zh
Application granted granted Critical
Publication of CN114266060B publication Critical patent/CN114266060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种模型容器加密与部署方法,属于计算机应用技术领域。使用本发明的方法将模型生产方提交的模型容器以及文档存放到模型资源管理平台中,既可以实现对模型资源的管理,也可以通过拉取模型生产方提供的配置文件的方式实现模型容器的自动部署,解决了模型管理方大批量模型容器部署速度慢的问题;使用SM2与SM4混合加密算法加密模型的方式也确保了模型生成方的模型只能在模型管理方的K8s集群中运行,保证了模型的安全性。

Description

一种模型容器加密与部署方法
技术领域
本发明属于计算机应用技术领域,具体涉及一种模型容器加密与部署方法。
背景技术
当前通常使用容器(Docker)技术将模型以及其依赖包封装到一个可移植的镜像中,然后部署到K8s集群中。在K8s集群上部署容器主要有两种方法,一是直接编写部署(Deployment)的配置文件,并通过kubectl应用该配置文件部署容器;二是通过可视化界面配置部署的参数,后台自动生成该部署的配置文件。第二种部署方式是对第一种部署方式的简化,二者通过不同的方式将容器的名称、标签、镜像、镜像抓取策略、容器端口号、节点端口号、副本数等信息存储到配置文件中,由kubectl应用该配置文件。
为了避免开发者的模型容器在向甲方交付时被第三方窃取,需要对容器中的模型进行加密,目前对容器加密的方式主要为使用加密算法对容器文件本身进行加密,在部署前通过解密算法对容器进行解密。
中国专利“CN 111930388一种基于k8s、docker容器的持续化集成方法和系统”提供了一种基于利用yaml文件配置创建容器的方法,此专利通过将git服务器、nereus平台、镜像仓库以及k8s集群依次连接,然后创建容器,启动容器,部署到k8s集群中进行管理,支持java、python、vue等代码的发布、上线、回滚。
通过配置文件进行容器部署的方法需要专业的运维人员来编写配置文件,在缺乏运维人员且要部署大量模型容器的场景下,需要模型部署人员与模型开发人员进行大量沟通,导致部署效率较低,亟需模型容器自动化部署技术;当前的模型容器加密技术安全性较低,模型开发人员不愿向甲方交付无加密措施的模型容器。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种模型开发方加密模型容器、模型管理方自动部署模型容器并解密的模型部署应用流程,提升模型的安全性,解决大批量模型容器部署效率低的问题。
(二)技术方案
为了解决上述技术问题,本发明提供了一种模型容器加密与部署方法,该方法在模型开发模块与模型管理模块之间交换实现,包括以下步骤:
步骤1、模型开发模块使用SM2和SM4混合加密方法对模型的输出结果进行加密,并根据所使用的编程语言编译为可执行文件;
步骤2、模型开发模块根据模型的编程语言采用不同框架将模型转换为可远程调用的Web服务,并将模型以及模型的依赖文件封装到容器中;
步骤3、模型开发模块编写模型容器部署所需的配置文件,配置文件中应包含:模型名称、镜像名称、镜像抓取策略、容器端口号、运行命令、环境变量、容器副本数、容器运行所需的硬件资源、数据卷这些信息,确保容器管理模块可通过该配置文件自动部署模型容器,同时模型开发方需向模型管理模块提供模型的设计文档、使用说明、测试文档文件;
步骤4、模型开发模块通过可视化界面向模型管理模块提供步骤3中的资源,存储在模型资源管理平台中;
所述模型开发模块的信息包括模型开发模块的名称、地址、联系电话、开发业务这些基本信息;
步骤5、模型管理模块查找模型资源库中的模型信息,根据业务需求通过可视化界面部署相应模型,可根据可用节点端口号、已使用节点端口号、所需端口数量自动推荐模型容器的节点端口号,实现容器的自动部署;所述模型信息包括模型的名称、功能、编程语言、版本号、配置文件地址、镜像名称、镜像地址这些信息。
优选地,所述可用节点端口号包括所存储和更新的K8s集群的可对外提供服务的节点端口号。
优选地,所述已使用节点端口号包括所存储和更新的K8s集群中已经使用的节点端口号;
优选地,还包括步骤6、模型的使用者通过Gateway网关访问K8s集群中已经部署的模型实例,Gateway网关中的模型解密算法自动将模型输出结果解密并发送给模型的使用者。
优选地,步骤1中,采用的SM2和SM4混合加密方法中,使用对称加密SM4算法加密模型输出结果得到加密的输出结果,使用非对称加密SM2算法对SM4密钥进行加密得到加密的密钥串,并把经过SM4加密的输出结果和经过SM2加密的密钥串封装并输出,为编译提供数据。
优选地,采用的SM2和SM4混合加密方法具体包括下列步骤:
(1)模型管理模块始化SM2密钥对,私钥保存到Gateway网关,公钥发放给模型开发模块;
(2)模型开发模块使用SM4算法,初始化得到SM4密钥,并使用SM4密钥对输出结果进行加密,得到加密的输出结果;
(3)模型开发模块得到SM2公钥,并使用SM2公钥对SM4密钥进行加密,得到加密的SM4密钥块;
(4)模型开发模块把SM4密钥块和加密的输出结果封装成加密数据块,作为模型的结果输出,为编译提供数据。
优选地,步骤6中,模型解密时:
(1)模型使用者通过Gateway网关服务,请求模型服务接口;
(2)Gateway网关拦截请求后,转发到对应的模型服务;
(3)模型原型根据用户输入的参数,执行输出,模型输出全局拦截服务拦截到输出接口后,对需要加密的输出结果进行加密,并输出到Gateway网关;
(4)Gateway网关接收到加密的数据块,通过解析得到SM4密钥块和加密的输出结果;
(5)Gateway网关从所述模型资源管理平台获取SM2私钥,并使用SM2私钥对SM4密钥块进行解密,得到SM4密钥;
(6)Gateway网关使用得到的SM4密钥,对输出结果进行解密得到解密的模型输出结果,并发送给模型的使用者。
优选地,该方法中,还创建用于保存模型路由信息的数据结构。
优选地,所述路由信息包含访问前缀、路由ID、路由名称、转发URL信息。
本发明还提供了一种所述方法在计算机应用技术领域中的应用。
(三)有益效果
本发明通过创新模型容器部署流程和自动推荐节点端口号的方式,实现了模型容器的自动部署,降低了模型管理方的管理难度,提升了大批量模型容器的部署速度;同时使用SM2与SM4混合加密的方式,确保了容器中模型的安全性,其中SM4加密算法加密速度快但安全性较低且密钥管理复杂,SM2为非对称加密算法,安全性高且密钥管理简单,但对大块数据的加密与解密速度较慢,使用二者的混合加密算法可以实现快速且安全性高的模型加密方式;通过Gateway网关的解密方式确保了模型生产方开发的模型容器只能在模型管理方的K8s集群中运行,保护了模型生产方的知识产权。
使用本发明的方法将模型生产方提交的模型容器以及文档存放到模型资源管理平台中,既可以实现对模型资源的管理,也可以通过拉取模型生产方提供的配置文件的方式实现模型容器的自动部署,解决了模型管理方大批量模型容器部署速度慢的问题;使用SM2与SM4混合加密算法加密模型的方式也确保了模型生成方的模型只能在模型管理方的K8s集群中运行,保证了模型的安全性。
附图说明
图1为本发明的方法主流程图;
图2为本发明的模型加密算法示意图;
图3为本发明的模型输出解密算法示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明提出的一种模型容器加密与部署方法,该方法在模型开发方与模型管理方之间交换实现,包括以下步骤:
(1)模型开发方的模型开发模块使用SM2和SM4混合加密方法对模型的输出结果进行加密,并根据所使用的编程语言编译为可执行文件;
(2)模型开发模块根据模型的编程语言采用不同框架将模型转换为可远程调用(RPC)的Web服务,并将模型以及模型的依赖文件封装到容器中;
(3)模型开发模块编写模型容器部署所需的配置文件,配置文件中应包含:模型名称、镜像名称、镜像抓取策略、容器端口号、运行命令、环境变量、容器副本数、容器运行所需的硬件资源、数据卷等信息,确保模型管理模块可通过该配置文件自动部署模型容器。同时模型开发方需向模型管理模块提供模型的设计文档、使用说明、测试文档等文件;
(4)模型开发模块通过可视化界面向模型管理模块提供步骤3中的资源,并存储在模型资源管理平台中,在本发明中,创建了以下数据结构:
模型开发模块信息包括模型开发模块的名称、地址、联系电话、开发业务等基本信息;
模型信息:用于记录模型的名称、主要功能、编程语言、版本号、配置文件地址、镜像名称、镜像地址等信息;
配置文件库:用于记录模型部署配置文件的存储地址;
模型镜像库:用于保存模型镜像文件的名称与存储地址。
(5)模型管理方的模型管理模块查看模型资源库中的模型信息,根据业务需要通过可视化界面部署相应模型,系统可根据可用节点端口号(nodePort)、已使用节点端口号、所需端口数量自动推荐该模型容器的节点端口号,实现容器的自动部署,本发明中,创建了以下数据结构:
可用节点端口号:用于存储和更新K8s集群的可对外提供服务的节点端口号;
已使用节点端口号:用于存储和更新K8s集群中已经使用的节点端口号。
(6)模型的使用者通过Gateway网关访问K8s集群中已经部署的模型实例,Gateway网关中的模型解密算法会自动将模型的输出结果解密并发送给模型的使用者。
图2是本发明中的模型加密算法示意图,采用SM2和SM4混合加密的方法,使用对称加密SM4算法加密模型输出结果得到加密的输出结果,使用非对称加密SM2算法对SM4密钥进行加密得到加密的密钥串,并把经过SM4加密的输出结果和经过SM2加密的密钥串封装并输出,本发明提出的模型加密方法包括下列步骤:
(1)模型管理模块始化SM2密钥对,私钥保存到Gateway网关,公钥发放给模型开发模块;
(2)模型开发模块使用SM4算法,初始化得到SM4密钥,并使用SM4密钥对输出结果进行加密,得到加密的输出结果;
(3)模型开发模块得到SM2公钥,并使用SM2公钥对SM4密钥进行加密,得到加密的SM4密钥块;
(4)模型开发模块把SM4密钥块和加密输出结果封装成加密数据块,作为模型的结果输出。
图3是本发明中的模型输出解密算法示意图,本发明提出的模型解密方法包括下列步骤:
(1)模型使用者通过Gateway网关服务,请求模型服务接口,本发明中,创建了以下数据结构:
路由信息:用于保存模型的路由信息,包含访问前缀、路由ID、路由名称、转发URL等信息。
(2)Gateway网关拦截请求后,转发到对应的模型服务;
(3)模型原型根据用户输入的参数,执行输出,模型输出全局拦截服务拦截到输出接口后,对需要加密的输出结果进行加密,并输出到网关;
(4)Gateway网关接收到加密数据块,通过解析得到SM4密钥块和加密的输出结果;
(5)Gateway网关从模型资源管理平台获取SM2私钥,并使用SM2私钥对SM4密钥块进行解密,得到SM4密钥;
(6)Gateway网关使用得到的SM4密钥,对输出结果进行解密得到解密的模型输出结果,并发送给模型使用者。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种模型容器加密与部署方法,其特征在于,该方法在模型开发模块与模型管理模块之间交换实现,包括以下步骤:
步骤1、模型开发模块使用SM2和SM4混合加密方法对模型的输出结果进行加密,并根据所使用的编程语言编译为可执行文件;
步骤2、模型开发模块根据模型的编程语言采用不同框架将模型转换为可远程调用的Web服务,并将模型以及模型的依赖文件封装到容器中;
步骤3、模型开发模块编写模型容器部署所需的配置文件,配置文件中应包含:模型名称、镜像名称、镜像抓取策略、容器端口号、运行命令、环境变量、容器副本数、容器运行所需的硬件资源、数据卷这些信息,确保容器管理模块可通过该配置文件自动部署模型容器,同时模型开发模块向模型管理模块提供模型的设计文档、使用说明、测试文档文件;
步骤4、模型开发模块通过可视化界面向模型管理模块提供步骤3中的资源,存储在模型资源管理平台中;
所述模型开发模块的信息包括模型开发模块的名称、地址、联系电话、开发业务这些基本信息;
步骤5、模型管理模块查找模型资源库中的模型信息,根据业务需求通过可视化界面部署相应模型,可根据可用节点端口号、已使用节点端口号、所需端口数量自动推荐模型容器的节点端口号,实现容器的自动部署;所述模型信息包括模型的名称、功能、编程语言、版本号、配置文件地址、镜像名称、镜像地址这些信息。
2.如权利要求1所述的方法,其特征在于,所述可用节点端口号包括所存储和更新的K8s集群的可对外提供服务的节点端口号。
3.如权利要求1所述的方法,其特征在于,所述已使用节点端口号包括所存储和更新的K8s集群中已经使用的节点端口号。
4.如权利要求1所述的方法,其特征在于,还包括步骤6、模型的使用者通过Gateway网关访问K8s集群中已经部署的模型实例,Gateway网关中的模型解密算法自动将模型输出结果解密并发送给模型的使用者。
5.如权利要求1所述的方法,其特征在于,步骤1中,采用的SM2和SM4混合加密方法中,使用对称加密SM4算法加密模型输出结果得到加密的输出结果,使用非对称加密SM2算法对SM4密钥进行加密得到加密的密钥串,并把经过SM4加密的输出结果和经过SM2加密的密钥串封装并输出,为编译提供数据。
6.如权利要求1所述的方法,其特征在于,采用的SM2和SM4混合加密方法具体包括下列步骤:
(1)模型管理模块始化SM2密钥对,私钥保存到Gateway网关,公钥发放给模型开发模块;
(2)模型开发模块使用SM4算法,初始化得到SM4密钥,并使用SM4密钥对输出结果进行加密,得到加密的输出结果;
(3)模型开发模块得到SM2公钥,并使用SM2公钥对SM4密钥进行加密,得到加密的SM4密钥块;
(4)模型开发模块把SM4密钥块和加密的输出结果封装成加密数据块,作为模型的结果输出,为编译提供数据。
7.如权利要求4所述的方法,其特征在于,步骤6中,模型解密时:
(1)模型使用者通过Gateway网关服务,请求模型服务接口;
(2)Gateway网关拦截请求后,转发到对应的模型服务;
(3)模型原型根据用户输入的参数,执行输出,模型输出全局拦截服务拦截到输出接口后,对需要加密的输出结果进行加密,并输出到Gateway网关;
(4)Gateway网关接收到加密的数据块,通过解析得到SM4密钥块和加密的输出结果;
(5)Gateway网关从所述模型资源管理平台获取SM2私钥,并使用SM2私钥对SM4密钥块进行解密,得到SM4密钥;
(6)Gateway网关使用得到的SM4密钥,对输出结果进行解密得到解密的模型输出结果,并发送给模型的使用者。
8.如权利要求1所述的方法,其特征在于,该方法中,还创建用于保存模型路由信息的数据结构。
9.如权利要求8所述的方法,其特征在于,所述路由信息包含访问前缀、路由ID、路由名称、转发URL信息。
10.一种如权利要求1至9中任一项所述方法在计算机应用技术领域中的应用。
CN202111624794.5A 2021-12-28 2021-12-28 一种模型容器加密与部署方法 Active CN114266060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111624794.5A CN114266060B (zh) 2021-12-28 2021-12-28 一种模型容器加密与部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111624794.5A CN114266060B (zh) 2021-12-28 2021-12-28 一种模型容器加密与部署方法

Publications (2)

Publication Number Publication Date
CN114266060A CN114266060A (zh) 2022-04-01
CN114266060B true CN114266060B (zh) 2024-03-26

Family

ID=80830820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111624794.5A Active CN114266060B (zh) 2021-12-28 2021-12-28 一种模型容器加密与部署方法

Country Status (1)

Country Link
CN (1) CN114266060B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978672B (zh) * 2022-05-19 2024-03-26 银河麒麟软件(长沙)有限公司 一种Docker镜像加密及编排方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427600A (zh) * 2020-03-20 2020-07-17 成都千立网络科技有限公司 一种基于docker的平台系统部署升级方法及系统
CN112912880A (zh) * 2018-10-22 2021-06-04 皇家飞利浦有限公司 用于个性化的网络服务的容器构建器
US11055428B1 (en) * 2021-02-26 2021-07-06 CTRL IQ, Inc. Systems and methods for encrypted container image management, deployment, and execution
CN113810373A (zh) * 2021-08-11 2021-12-17 长沙证通云计算有限公司 一种基于国密算法的ceph可视化一键部署方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912880A (zh) * 2018-10-22 2021-06-04 皇家飞利浦有限公司 用于个性化的网络服务的容器构建器
CN111427600A (zh) * 2020-03-20 2020-07-17 成都千立网络科技有限公司 一种基于docker的平台系统部署升级方法及系统
US11055428B1 (en) * 2021-02-26 2021-07-06 CTRL IQ, Inc. Systems and methods for encrypted container image management, deployment, and execution
CN113810373A (zh) * 2021-08-11 2021-12-17 长沙证通云计算有限公司 一种基于国密算法的ceph可视化一键部署方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高校数据中心Docker容器应用的安全体系设计;谢超群;;网络安全技术与应用;20190514(第05期);全文 *

Also Published As

Publication number Publication date
CN114266060A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
EP4047487B1 (en) File storage method, terminal, and storage medium
US10986162B2 (en) Implementing a blockchain-based web service
CN111460453B (zh) 机器学习训练方法、控制器、装置、服务器、终端和介质
CN103595730B (zh) 一种密文云存储方法和系统
CN113438289A (zh) 基于云计算的区块链数据处理方法及装置
CN106063183B (zh) 用于云辅助密码学的方法和装置
US20140245025A1 (en) System and method for storing data securely
US20100257370A1 (en) Apparatus And Method for Supporting Content Exchange Between Different DRM Domains
WO2022237123A1 (zh) 一种获取区块链数据的方法、装置、电子设备及存储介质
CN103677948B (zh) 一种启动器和启动方法
WO2024032660A1 (zh) 账户数据的更改方法、装置、计算机设备和存储介质
CN114266060B (zh) 一种模型容器加密与部署方法
CN115242644A (zh) 一种微服务开发治理系统
CN114462047B (zh) 一种基于sgx技术的云外包计算安全方法
US11290277B2 (en) Data processing system
US11163902B1 (en) Systems and methods for encrypted container image management, deployment, and execution
CN113919003A (zh) 基于城轨PaaS平台的信息安全防护方法及系统
CN114282250B (zh) 一种模型容器加密与部署系统
KR102096637B1 (ko) 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치
CN110502911A (zh) 一种基于Faas云服务配置vFPGA的方法、设备以及存储介质
US11431727B2 (en) Security of code between code generator and compiler
Giblin et al. Securing Kafka with encryption-at-rest
Banoth et al. A survey on decentralized application based on blockchain platform
CN111639349B (zh) 一种数据加密处理方法、装置和存储介质
CN110430046B (zh) 一种面向云环境的可信平台模块两阶段密钥复制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant