一种基于安全多方计算的密钥安全管理方法与流程

文档序号:19835688发布日期:2020-02-04 12:59阅读:来源:国知局

技术特征:

1.一种基于安全多方计算的密钥管理方法,其特征在于,包括以下步骤:

步骤一、部署由多台安全多方计算节点组成的安全多方计算系统;

步骤二、密钥管理方生成一批计算函数,将这些函数编译成机器语言,向多方计算系统中的任一节点提交算法增加请求;

步骤三、收到算法增加请求的节点为新增的算法分配算法编号并返回给密钥管理方,同时分发新增的算法,各节点记录分发信息;

步骤四、密钥管理方存储多方计算系统返回的算法编号,随机生成并存储一组算法编号-参数序列;

步骤五、密钥管理方将生成的算法编号-参数序列作为计算任务,随机生成并存储一组非对称算法公私钥对,向多方计算系统的任一节点发起计算请求;

步骤六、计算请求响应节点对计算任务分解成多个单独计算任务,并对每个单独计算任务匹配合适的任务执行节点和备份执行节点,然后将各个单独计算任务分发至对应任务执行节点;

步骤七、任务执行节点收到任务后调用对应算法执行计算任务,将计算结果采用密钥管理方的公钥加密后反馈至计算请求响应节点;

步骤八、计算请求响应节点搜集各执行节点计算结果,搜集完成后封装计算结果反馈至密钥管理方;

步骤九、密钥管理方解密多方计算系统返回的计算结果作为密钥因子,基于密钥因子通过密钥生成算法生成密钥,将该密钥作为主密钥对业务系统的共享初始密钥进行加密,得到业务系统对应的密文共享初始密钥并存储;

步骤十、密钥管理方根据业务需求将加密算法、密钥多方计算生成流程、密文共享初始密钥、多方计算节点信息、密钥管理接口、算法编号-参数列表以及数据加解密接口封装成sdk包提交给业务系统;

步骤十一、业务系统将sdk包嵌入应用程序,在进行具体业务时,调用sdk包加解密接口对业务数据进行加、解密;

步骤十二、密钥更新时,业务系统根据密钥管理方提供的密钥更新信息,调用sdk包密钥管理接口,根据情况更改已存储的密钥信息。

2.如权利要求1所述的一种基于安全多方计算的密钥管理方法,其特征在于,

步骤一中,多台安全多方计算节点可同时部署于云服务器、外网服务器和内网服务器。

3.如权利要求1所述的一种基于安全多方计算的密钥管理方法,其特征在于,

步骤一中,各个安全多方计算节点架构一致,均包括:计算请求处理模块、计算任务处理模块和算法更改处理模块;

所述计算请求处理模块用于对用户发起的计算请求进行校验、分解用户提交的计算任务、管理系统多方计算节点信息、计算任务匹配、计算任务分发、计算结果搜集、计算结果校验和将计算结果打包返回至用户;

所述计算任务处理模块用于对收到的计算任务进行校验、对计算任务进行解析、根据计算任务中算法编号选择要调用的算法、将任务中参数带入算法运算得到计算结果、利用用户公钥将计算结果加密、将本节点身份信息、任务内容、任务编号和消息校验数据封装后返回给任务发起节点;

所述算法更改处理模块用于对算法更改请求方进行身份认证、对请求方身份广播、对请求方权限投票以及对算法更改进行决策、执行。

4.如权利要求1所述的一种基于安全多方计算的密钥管理方法,其特征在于,

步骤五中,所述计算请求的请求内容包括生成的公钥、算法编号-参数序列、用户身份信息和信息完整性校验参数。

5.如权利要求1所述的一种基于安全多方计算的密钥管理方法,其特征在于,

步骤八中,若计算请求响应节点在规定时间未收到某任务执行节点反馈的任务计算结果,则启用对应备份执行节点重新执行该计算任务。

6.如权利要求1所述的一种基于安全多方计算的密钥管理方法,其特征在于,

各个安全多方计算节点中均存储有具备算法更改权限的用户列表,某个节点收到算法更改请求后作为算法更改请求响应节点,将算法更改请求广播至所有节点,各个节点根据所述用户列表断该用户是否具备算法更改权限,并将对算法更改权限的判断结果返回给算法更改请求响应节点,算法更改请求响应节点收到超过总节点数2/3以上肯定结果则认可此次算法更改请求,通知对应节点执行算法更改操作:当算法更改请求为增加算法时,用户响应节点将要增加的算法分配符合规则的编号,将算法编号、算法内容随机分发给两个以上节点,并将分发情况进行广播;当算法更改请求为删除算法时,则存储该算法的节点删除对应算法;当算法更改请求为更换算法时,则存储该算法的节点对算法执行更换操作。

7.如权利要求1-6任意一项所述的一种基于安全多方计算的密钥管理方法,其特征在于,

步骤一中,所述安全多方计算系统中的各个计算节点提供用于实现交互的网络接口,所述网络接口包括:

计算请求接口:用户通过访问该接口提交计算任务和校验信息;节点收到请求后校验请求信息,分解计算任务,任务分配完成后返回给用户计算请求编号和计算任务执行中标识,若不能分配任务则返回请求失败标识;

计算任务状态查询接口:用户通过收到的计算请求编号查询计算任务执行状态,任务执行状态包括执行中、执行失败、执行完成,若处于执行完成状态,则向用户返回计算结果;

计算任务分配请求接口:响应用户请求的节点调用其它节点的该接口,用于分配单个计算任务;

计算结果返回接口:执行计算任务的节点调用计算请求响应节点的该接口,用于返回计算结果,计算结果内容包括计算任务编号、密文结果、校验信息;

算法文件增加接口:密钥管理方或安全多方计算系统管理方调用此接口,用于向多方计算系统中的节点增加算法文件;

算法文件删除接口:密钥管理方或安全多方计算系统管理方调用此接口,用于删除多方计算系统中的节点存储的已有算法文件;

用户权限鉴定请求发起接口:收到算法更改请求的节点调用其它所有节点该接口,更改请求内容包括用户信息、算法文件操作内容、鉴定请求编号、校验信息;

算法更改日志查询接口:安全多方计算系统管理方调用此接口,用于检查算法分配是否合规;

用户权限鉴定结果返回接口:每个节点权限鉴定完毕后调用其它所有节点的该接口,反馈自身鉴定结果。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1