插件认证处理方法、装置、存储介质及电子设备与流程

未命名 08-15 阅读:91 评论:0


1.本技术涉及区块链领域,具体而言,涉及一种插件认证处理方法、装置、存储介质及电子设备。


背景技术:

2.区块链是一种基于密码学技术生成的分布式共享数据库,其本质是通过去中心化的方式集体维护一个可靠数据库。凭借多个节点,形成点对点网络关系,再利用数学基础建立信任效果,成为一个不需要基于彼此信任、也不需要依赖单一中心化机构就可以运作的分散式系统。这套系统可以保证数据的真实性,并且用极低的成本实现了信任与价值的可靠传递,构建起一个更为开放共享、透明可信并且可核查追溯的系统。
3.区块链管理控制台(baas,backend as a service)是在核心区块链技术之上的api(接口层)和数据编排层,为构建企业级的去中心化应用实现了一个多方系统,基于主流区块链技术的企业级paas(platform as a service)平台服务,帮助快速构建更稳定、安全的生产级区块链环境,减少在区块链部署、运维、管理、应用开发等方面的搭建难度,并实现业务快速上链。但是,区块链管理控制台由于通常具有区块链节点的完全操作权限,而且通常baas平台一般又有多租户的设计,同时管理控制台缺乏链下安全可信的机制,容易因链下管理控制台的安全风险,导致区块链上业务交易的全局风险。
4.针对相关技术中由于链下插件风险,导致的链上处理存在风险的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术的主要目的在于提供一种插件认证处理方法、装置、存储介质及电子设备,以解决相关技术中由于链下插件风险,导致的链上处理存在风险的问题。
6.为了实现上述目的,根据本技术的一个方面,提供了一种插件认证处理方法。该方法包括:获取应用插件;采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;将所述认证插件进行区块链的链上发布,生成发布插件。
7.为了实现上述目的,根据本技术的另一方面,提供了一种插件认证处理装置。该装置包括:插件存储载模块,用于获取应用插件;安全处理模块,与所述插件存储载模块连接,用于采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;链上链下协同模块,与所述安全处理模块连接,用于将所述认证插件进行区块链的链上发布,生成发布插件。
8.为了实现上述目的,根据本技术的另一方面,提供了一种非易失性存储介质,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的插件认证处理方法。
9.为了实现上述目的,根据本技术的另一方面,提供了一种电子设备,包括一个或多
个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的插件认证处理方法。
10.通过本技术,采用以下步骤:获取应用插件;采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;将所述认证插件进行区块链的链上发布,生成发布插件。达到了增强对于链下插件的认证能力的目的,解决了相关技术中由于链下插件风险,导致的链上处理存在风险的问题。进而达到了提高区块链安全性的效果。
附图说明
11.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1是根据本技术实施例提供的插件认证处理方法的流程图;
13.图2是根据本技术实施例提供的插件认证处理方法的插件认证流程图;
14.图3是根据本技术实施例提供的插件认证处理方法的区块链交互示意图;
15.图4是根据本技术实施例提供的插件认证处理方法的控制台架构图;
16.图5是根据本技术实施例提供的插件认证处理方法的插件交互流程图;以及
17.图6是根据本技术实施例提供的插件认证处理装置的示意图。
具体实施方式
18.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
19.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
20.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
22.区块链管理控制台baas(backend as a service)即后端即服务,是一种云计算服务模式,在该模式下,第三方将基础设施和程序代码作为服务提供给客户端开发人员,以便他们可以快速构建应用程序并托管在云服务器上。baas通常涵盖了包括数据存储、身份验证、推送通知等功能。这使得开发人员无需自行搭建和维护后台服务器,并且能够更专注于前端开发工作。
23.b/s架构(browser/server architecture)是一种基于浏览器和服务器的应用程序体系结构,是web应用程序开发的一种常见方式。在b/s架构中,浏览器作为客户端向服务器发送请求,服务器接收并处理这些请求,并将结果通过网络传输回客户端,在浏览器上呈现给用户。在区块链急速中中,b/s架构仍然是基于浏览器和服务器的应用程序体系结构。区块链技术本质上也是一种分布式计算系统,因此其实现通常需要采用客户端/服务器(c/s)或点对点(p2p)网络架构。但由于区块链技术与web技术有很多相似之处,因此b/s架构也可以在某些场景下应用到区块链中。比如,在利用区块链来开发分布式应用程序时,经常会使用以太坊等智能合约平台进行开发。这样的应用程序通常采取b/s架构:用户通过浏览器访问网站,并提交交易请求;服务器处理该请求并将结果写入智能合约;最终数据被记录在公共的、不可篡改的区块链上面。
24.docker是一种开源技术,它支持在不同操作系统上创建、运行和管理容器。
25.kubernetes编排技术是一种基于容器化应用程序的自动化部署、扩展和管理工具。区块链控制平台作为该区块链中的一个节点,如通过kubernetes的pods(池)资源实现节点的部署和弹性伸缩。
26.nfs(network file system)即网络文件系统,在计算机网络环境下实现跨操作系统共享文件访问与管理。nfs是一种分布式文件系统技术,可使多台计算机之间共享磁盘空间,并且支持同时读写操作。
27.vuejs框架用于构建用户界面,可以提供双向数据绑定和组件化的开发方式。
28.react框架也可用于构建用户界面,通过分解为独立且可重复使用的组件,并通过虚拟实现快速渲染。
29.electron框架为用于创建跨平台桌面应用程序的框架,允许使用前端技术来构建本地应用程序。
30.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、区块链交互信息等)和数据(包括但不限于用于插件数据,认证文件的相关数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本地区块链控制台和相关用户或区块链系统间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或区块链系统发送获取请求,并在接收到前述的用户或区块链系统反馈的同意信息后,获取相关信息。
31.随着区块链技术的高速发展,各区块链公司会在自主研发可控的区块链平台的基础上,支持多种主流开源的区块链底层核心平台,并在此基础上研究跨链互操作的技术。基于前后端分离的架构,相关技术中采用传统的关系型数据库开发,基于b/s架构的系统进行区块链管理,并且针对不同的区块链研发不同的适配模块,并且需要根据接口进行适配设计。
32.b/s架构采用传统区块链的方式部署容易成为集中式的管理节点,基于传统的b/s架构,针对区块链的操作通常容易被忽视不利于检测,且传统的部署管理方式的数据游离于区块链的可信环境之外,不利于跨机构的下可信的协作管理,同时不同区块链的适配无统一标准,存在大量重复建设,开发成本高。
33.基于上述问题,本发明实施例提供了一种插件认证处理方法,图1是根据本技术实施例提供的插件认证处理方法的流程图,如图1所示,执行主体为链下(即本地)的区块链控制台,上述区块链控制台与区块链以及用户的账户之间存在交互,该方法包括如下步骤:
34.步骤s102,获取应用插件;
35.可以理解,为了实现构建不同应用服务的可拓展性,实现区块链控制台采用可插拔机制增加服务功能,需要获取应用插件进行模块化的功能拓展。由于链下的区块链控制台拥有对于区块链的完全权限,在相关技术中存在着由于区块链控制台对于应用插件的安全可信认证机制不完善的问题,导致了链下的区块链控制台与区块链进行交互后,将应用插件中携带的风险信息引入区块链中,进而影响了链上系统的安全性。
36.可选地,上述区块链控制台与用户的账户,或是区块链之间的采用多种传输方式进行传输,包括https,websockets,grpc等,采用的线路协议可以为socket.io。https全称为“hypertext transfer protocol secure”,即基于安全套接字层(ssl/tls)协议的http通信协议。它提供了一种加密和身份认证机制,可以保护传输过程中的数据安全性。https常用来保护网站登录、支付等敏感信息的传输。websockets,是一种支持双向通信模式的网络协议。它允许客户端与服务器之间建立持久连接,并通过该连接进行实时数据交换,其适合构建需要实时响应且频繁更新数据的应用程序。grpc,是一个高性能、开源、跨语言rpc框架,其采用序列化格式,在性能上较其他rpc框架有很大优势,并支持多种编程语言和平台。grpc常被运用在微服务系统内部各个服务之间进行远程调度及通信,在分布式计算领域有着广泛应用。socket.io是一个事件驱动的实时网络通信库,用于在浏览器和服务器之间建立双向通信。它支持各种协议(如websocket、http)和传输机制,以便在不同环境下提供可靠且高效的实时通信服务。socket.io具有良好的跨平台性能,如客户端和服务器可以相互发送事件消息并进行数据交换,因此常被用于需要快速响应和及时更新数据的场景中。
37.步骤s104,采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;
38.可以理解,为了减少应用插件中携带风险进入区块链中,采用预定的n重认证方法进行本地认证,得到认证通过后的认证插件。
39.在一种可选地实施例中,上述采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,包括:在上述n重认证方法为采用n个证书文件进行认证的情况下,获取账户对应的密码提示字符串;根据上述密码提示字符串,生成上述n个证书文件;基于上述n个证书文件,对上述应用插件进行签名认证,得到上述认证插件。
40.可以理解,上述n重认证方式可以为生成n个证书文件进行认证,由于本地的区块链控制台与账户之间存在交互,可以获取到账户对应的密码提示字符串。区块链控制台可以为多个账户提供开发服务。根据获取到的密码提示字符串,可以在区块链控制台中生成n个证书文件,用于对上述应用插件进行签名认证,得到认证处理后的认证插件。通过上述处理,可以利用证书文件,实现对应用插件进行的签名认证,有效提高认证效果。
41.可选地,还可以利用账户对应的助记词,用于生成n个证书文件。
42.可选地,在生成n个证书文件时可以采用调用区块链控制台中的认证调用模块进行处理。
43.可选地,上述n个证书文件可以为在区块链控制平台的证书存储的目录下存储的,可以为例如:plugin_certs.db、plugin_key.db和plugin_sec.db等三个“.db”格式的文件,其中,plugin_certs为插件证书文件,plugin_key为证书键文件,plugin_sec为证书安全文件。
44.需要说明的是,上述在区块链控制台中存在交互的账户可以视为是租户,租户是指使用场景和资源隔离的一个基本组织单位。每个租户都有自己独立的账号、密码和访问权限,以及一定数量的计算资源(例如cpu、内存等)和存储空间。通过将不同用户划分到不同的租户中,可以实现多种安全性管理策略。比如可以限制某些敏感数据只能被特定租户访问或者保护各个应用程序之间互相干扰。通常情况下,在区块链控制台中设置新的租户需要管理员进行操作,并设定对应权限。此外,在使用区块链控制台时,还可以根据业务需求动态调整不同租户所占用的计算资源和存储空间。总之,区块链控制台中定义好合适的租户策略可以有效地提高系统安全性并且更好地满足企业级应用程序需求。
45.可选地,上述对于使用区块链控制平台的账户占用的资源,进行调整的方式可以为:基于不同云平台包括私有云、公有云和混合云提供的计算,存储,服务资源,通过docker容器化和kubernetes编排技术进行区块链节点资源的编排调度,高可用和弹性伸缩等特性,对区块链节点进行全面的管理。上述docker容器化是指将应用程序及其所有依赖项打包到一个可移植的、独立的运行环境中,以实现快速部署和跨平台使用。persistenvolumeapi进行节点存储资源管理,persistentvolume api是kubernetes中的一种核心资源对象,用于管理持久化存储资源,提供了一种抽象层次来隐藏底层存储设备和卷类型的细节,支持nfs等的存储,以及service/ingressapi实现网络资源的封装,实现节点间组网和外部智能合约访问,上述service和ingress是kubernetes中用于暴露应用程序的两种不同方式。service可以确保能够找到所需服务并连接到正确的pod以执行操作,ingress则提供了对集群外部http和https流量进行路由的机制,并且支持负载均衡、虚拟主机等高级功能。可以将多个服务映射到单个域名下,并根据路径或其他条件将请求发送到不同的服务上。
46.在一种可选地实施例中,上述基于上述n个证书文件,对上述应用插件进行签名认证,得到上述认证插件,包括:获取预定格式的代码签名证书;采用上述代码签名证书,将上述n个证书文件转换,得到上述预定格式的n个证书文件;基于上述预定格式的n个证书文件,对上述应用插件进行签名认证,得到上述认证插件。
47.可以理解,确定上述预定格式的代码签名证书之后,可以用于对n个证书文件进行转换,得到预定格式的n个证书文件。由于插件认证存在文件格式要求,采用上述处理将证书文件转换为所需的可识别的文件格式。
48.可选地,上述预定格式可以为pfx格式,pfx格式是一种用于存储数字证书、个人密钥以及相关信息的文件格式。在一个pfx文件中,包括了私钥、公钥以及证书链等信息,并使用密码进行加密。因此可以将其视为一种安全的数据容器,在需要时可以导入和导出其中的各项内容。
49.可选地,在得到双证书文件的情况下,例如获得mykey.pvk和mycert.spc两个证书文件,可以基于预定格式的代码签名证书,将上述两个证书文件统一为一个预定格式的证书文件,如mykey.pvk和mycert.spc转换后得到mycs.pfx。
50.在一种可选地实施例中,基于上述预定格式的n个证书文件,对上述应用插件进行签名认证,得到上述认证插件,包括:在上述预定格式的n个证书文件分别对应于预定根证书的情况下,基于对应的预定根证书,分别为上述预定格式的n个证书文件分配对应的证书标识;基于上述预定格式的n个证书文件分别对应的预定根证书和证书标识,对上述应用插
件进行签名认证,得到上述认证插件。
51.可以理解,预定格式的n个证书文件,在转换过程中包括了预定根证书的相关信息,区块链控制台可以根据n个证书文件分别对应于预定根证书,对应地进行证书标识(即证书别名)的分配处理。基于预定格式的n个证书文件分别对应的预定根证书和证书标识,对应用插件进行签名认证,得到认证插件。
52.可选地,上述预定根证书可以为根证书和/或中级根证书,根证书和中级根证书都是数字证书体系中的两个重要概念,用于验证数字证书的真实性和可信度。根证书,也称为“根ca”(certificate authority),是由一些受信任的第三方机构签发的最高级别数字证书。它通常包含一个公钥、颁发者名称、有效期等信息,并被安装到客户端计算机或设备上。在使用过程中,所有其他数字证书都必须与该根ca进行比较并通过其认证才能得到正确验证。中级根证书,也称为“子ca”(subordinate certificate authority),是在根ca之下建立起来的一种更加细分化且较小规模的机构,可以对某些特定场景下所需生成新的数字签名,并将这些签名关联到根ca的链式结构之上以达到授权目标。
53.可选地,上述证书标识可以为对应的证书文件的证书别称(alias),证书别称是指在数字证书中用于区分不同实体或服务的名称,类似于一个昵称。它可以被用作标识证书持有人、服务器等身份信息的唯一标识符。在使用数字证书进行加密通信时,需要对双方身份进行验证,保障通信安全性。因此,在申请数字证书时就会分配一个唯一的别称来表示该实体或者服务器,并且这个别称也会出现在公钥基础设施(pki)中。当其他用户要与该实体或服务器建立连接时,就可以通过查找其所拥有的数字证书上的别称来确认其真正身份。
54.可选地,还可以在区块链控制台中建立一个插件文件的目录,其中用于存放预定格式的n个证书文件,以及分别对应的元数据信息。上述元数据信息可以对应生成为例如:plugin.rsa、manifest.mf和plugin.sf等多种存储格式。存储好的插件文件的目录不可进行修改删除,否则对于会导致认证插件由于签名认证失败而无法进行安装。
55.在一种可选地实施例中,上述认证插件为采用预定压缩方式进行打包得到的压缩文件,上述预定压缩方式为:确定上述n个证书文件的压缩顺序;采用上述压缩顺序,对上述n个证书文件的压缩处理,得到上述压缩文件。
56.可以理解,为顺利实施对于插件的签名认证处理,对于认证插件以及与其存在关联的认证,需要进行打包压缩。为了解压后能使得插件能正常通过验证,采用预定压缩方式进行处理,需要说明的是,上述压缩文件存在着压缩顺序,采用这种压缩顺序才能保证正常验证签名。
57.可选地,选定上述n个证书文件中一个指定的文件作为上述压缩顺序中的第一个,如选定了包含预定多重签名信息的证书文件作为第一个,其他文件按照字母排列顺序进行顺序压缩。
58.可选地,将上述压缩顺序存储为一个列表文件,如生成“.txt”格式的list.txt。
59.在一种可选地实施例中,上述采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,包括:在上述n重认证方法为n重组合签名认证处理的情况下,获取m个私钥,以及上述m个私钥之间的预定组合方式,其中,m为大于或等于1的正整数;采用上述预定组合方式,将上述m个私钥进行组合,得到n重组合签名;基于上述n重组合签名,对上述应用插件进行签名认证,得到上述认证插件。
60.可以理解,在进行认证时无论是采用一个或多个证书进行处理,至少需要生成一个用于认证的签名。在n重认证方法为n重组合签名认证处理的情况下,获取得到m个私钥,上述m个私钥中可以选取一定数量的私钥进行组合,采用预定组合方式,可以得到n重组合签名,用于与应用插件进行签名认证,得到认证插件。
61.为了便于理解进行举例说明,给定m个私钥p1,p2,

,pm,可以按照预定组合方式进行选取并组成有效的n重组合签名,假定n重组合签名记为p,s1,s2,

,sm是与p1,p2,

,pm相应的签名,选取出p1,p2,即是选取出s1,s2,对应地将s1+s2进行组合生成p=s1+s2。
62.可选地,上述n个签名文件中的每一个签名文件都可以采用上述方式,生成对应的n重组合签名。
63.为了便于理解进行具体举例,例如:图2是根据本技术实施例提供的插件认证处理方法的插件认证流程图,如图2所示,区块链控制台调用其中的认证节点,获取用户端的密码提示字符串或助记词,生成一定数量的证书文件。上述生成的一定数量的证书文件采用pfx格式的代码签名证书,存储到区块链控制台中的证书存储库,生成采用pfx格式的证书文件,其中包含了采用预定组合方式生成的n重组合签名,用于进行后续的签名验证处理。导入根证书和中级根证书,由于正常情况下,pfx格式的证书文件中已经包含了根证书和中级根证书,可以用于检测上述pfx格式的证书文件是否已经正常导入。在基于上述pfx格式的证书文件完成对应用插件的签名验证之后,采用预定压缩方式得到认证插件。区块链控制台将上述完成认证处理后的发布插件上传到区块链系统中,用于按需选取实现订阅功能的对应目标插件,进而利用插件化机制,避免用户端记性重复开发,浪费人力资源成本和时间成本。
64.步骤s106,将上述认证插件进行区块链的链上发布,生成发布插件。
65.可以理解,上述认证插件视为是已经由链下认证处理过的插件,通过链上发布实现区块链中的插件共享机制。
66.可选地,上述认证插件通过区块链控制台上传至区块链中的插件仓库节点中,生成发布插件,上述发布插件可以由区块链中的共识节点采用链上访问证书,以及采用区块链中的插件仓库节点分别进行认证,在对发布插件进行多重认证后,在区块链中发布上述发布插件的获取地址。采用上述获取地址可以实现区块链中接入的多个节点,都可以共享到的被认证后发布插件。
67.在一种可选地实施例中,在上述将上述认证插件进行区块链的链上发布,生成发布插件之后,上述方法还包括:在上述发布插件为x个,x个发布插件分别与对应于不同功能的情况下,基于预定开发需求,确定本地应用服务所需的订阅功能,其中,上述x为大于或等于1的正整数;查询上述区块链中包括了的上述x个发布插件,确定上述订阅功能对应的目标插件;在上述目标插件进行本地验证通过的情况下,将上述目标插件加载至上述本地应用服务。
68.可以理解,账户在利用区块链控制台进行开发的过程,会需要根据预定开发需求,确定本地应用服务所需的订阅功能,上述订阅功能可以依靠具有对应功能的发布插件进行解决,这也是采用插件化机制的优势,可以避免重开发过程浪费时间和人力成本。本地的区块链控制台对区块链中已有的多个发布插件进行查询,确定并选取出与上述订阅功能对应的目标插件。在目标插件通过本地验证的情况下,视为区块链中下载到的目标插件是安全
可信的,将上述目标插件加载至本地应用服务中。通过上述处理,本地的区块链控制台可以获取到区块链中其他控制台的发布插件,通过智能合约实现插件原始代码和插件的共享分发。
69.需要说明的是,区块链即链上系统中采用去中心化的发布订阅方式,并通过智能合约实现插件原始代码和插件的共享分发。
70.本技术实施例提供的插件认证处理方法,通过步骤s102,获取应用插件;步骤s104,采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;步骤s106,将上述认证插件进行区块链的链上发布,生成发布插件。达到了增强对于链下插件的认证能力的目的,解决了相关技术中由于链下插件风险,导致的链上处理存在风险的问题。进而达到了提高区块链安全性的效果。
71.根据上述实施例和上述可选地实施例,本发明还提供了一种具体实施方式,应用于一种区块链系统中,图3是根据本技术实施例提供的插件认证处理方法的区块链交互示意图,上述区块链系统为异构区块链系统,存在多区块链底层产品,多个区块链底层产品之间存在跨链互联需求,上述本地的区块链控制台可以视为一种区块链底层产品。在区块链系统中包括了多个具有各自功能的节点。如图3所示,包括了用户端1,区块链控制台2,共识记账节点3,存储网关节点4,插件仓库节点5和联盟认证节点6。上述共识记账节点3,存储网关节点4,插件仓库节点5和联盟认证节点6为区块链系统中的节点,可以看到区块链系统和用户端分别与区块链控制台存在着交互。
72.上述用户端1,包括用户所持有的各种终端,包括pc端,移动端,边缘设备,云服务器等,基于vuejs,react,或electron等跨端框架实现不同用户终端的可插拔设计,实现不同类型区块链节点的管理,从而实现区块链实现端边云的全面协同。内嵌区块链钱包功能实现,用于插件的加密和授权管理,支持结合生物特征识别和认证手段用于用户的私钥和区块链地址的保护。上述区块链管理控制台2,才有采用前后端分离的设计,且前后端均采用插件化设计,前端采用vuejs等前端技术。后端的通用框架采用动态加载机制,通常可以作为高可用的硬件和软件的负载均衡服务,作为满足一定服务连续性要求下的可选择的高可用部署方案。
73.上述共识记账节点3,用于区块链系统的核心实现,使去中心化(分布式)区块链系统具有可编程性,智能合约在可执行代码中定义不同组织之间的规则,也是一种旨在信息化方式传播验证或者执行合同的计算机协议,通过智能合约生成交易记录到区块链账本,可以在没有第三方的情况下进行交易,保证交易可以追踪,不可篡改,不可逆转。该分布式账本中存储记录了智能合约操作的状态数据的合集,如区块链存储对象的属性信息,以区块链存储的数字资产为例,比如:数字资产名,资产类型,生成时间,持有方,授权方等,称为文件的元数据(metadata)。这此元数据是存放在node表(即indexnode)中。node表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息,对于需要多方合作的智能合约,原数据信息节点可以存储在记账节点中。
74.上述存储网关节点4,需要配置常用的域名负载解析方案。
75.上述插件仓库节点5,是区块链系统中的去中心化的可信数据存储库。存储了区块链控制台的不同功能模块的发布插件。插件仓库节点是一种点对点的对等分布式区块链存储库,提供了一个高吞吐量,按内容寻址的块存储模型,支持存储的灵活扩容,多存储协议
适配支持,掂对点分块安全加密,去冗余的对象链接,不可篡改的数据存储结构等特性,能提供安全,高效,开放,低成本的的多方共享存储网络。插件仓库存储内容,包括静态文件目录(代表插件),插件文件内容标识以及插件文件相关的元数据信息,并提供统一的去中心的域名服务。
76.上述联盟认证节点6,包括节点间组网证书,用户交易接入证书等,节点证书在节点间建链时使用。用户端访问节点提供的链接口时,可以选择校验节点证书,以验证节点身份,此时需使用根证书、链证书组成的证书链,对节点证书校验。同时不同的证书可以通过自定义证书属性实现数据和区块链节点和用户机构信息的关联(进行插件的签名和验证)。
77.通过上述用户端1,区块链控制台2,共识记账节点3,存储网关节点4,插件仓库节点5和联盟认证节点6的不同功能,表征了区块链控制台与区块链系统之间存在交互的节点,以及在区块链系统中涉及的功能。
78.图4是根据本技术实施例提供的插件认证处理方法的控制台架构图,区块链控制台中采用前端后和后端分离的设计,对于区块链控制台的后端其中包括了插件引擎模块,插件引擎中按照功能单元进行划分,如图4所示,包括了处理请求单元21,插件加载单元22,插件存储单元23,安全处理单元24。
79.上述处理请求单元21,区块链控制台是为可扩展性而构建的,将单独的可插拔运行的处理请求,编排到供开发人员使用的通用api(接口)中。
80.上述插件加载单元22,进行内外部交互功能抽取,可大致分为存储适配层/区块链适配层/智能合约数据层等不同层级等模块,通过插件模块化扩展管理控制台的功能,并支持不同的关联技术栈。插件构建的技术架构主要包括编译期插拔,编译成目标文件(利用区块链控制台的前后端)或者通过调用(利用后端),以及动态链接库插件类型,其中编译器插件主要用于内部功能的扩展。
81.上述插件存储单元23,依托于插件仓库节点5的去中心化存储能力进行原始插件文件、插件元数据信息、以及插件链上治理,并且可以实现插件加密存储和传输等处理。
82.上述安全处理单元24,实现去中心化的安全处理,包括证书管理,插件加密,代码混淆,插件签名等功能。插件签名基于用户端,区块链系统中的节点和插件仓库节点进行多机构多接单签名实现。
83.利用上述结构设计的区块链控制台进行应用插件的加密处理,可以为如图5所示的步骤,图5是根据本技术实施例提供的插件认证处理方法的插件交互流程图,用户端可以根据区块链控制台约定的应用插件进行开发,并对于上述开发完成的应用插件进行n重认证方法进行认证,得到认证插件。通过区块链控制台在区块链系统中的插件仓库节点进行发布。采用这种方式,可以认证并发布多个插件,用户端可以通过区块链控制台,获取所需功能的目标插件,并进行本地验证后在区块链控制台中加载并应用于本地应用服务中。
84.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
85.本技术实施例还提供了一种插件认证处理装置,需要说明的是,本技术实施例的插件认证处理装置可以用于执行本技术实施例所提供的用于插件认证处理方法。以下对本技术实施例提供的插件认证处理装置进行介绍。
86.图6是根据本技术实施例的插件认证处理装置的示意图。如图6所示,该装置包括:插件存储载模块602,安全处理模块604,链上链下协同模块606,以下具体说明:
87.插件存储载模块602,用于获取应用插件;
88.安全处理模块604,与上述插件存储载模块602连接,用于采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;
89.链上链下协同模块606,与上述安全处理模块604连接,用于将上述认证插件进行区块链的链上发布,生成发布插件。
90.本技术实施例提供的插件认证处理装置,通过插件存储载模块602,用于获取应用插件;安全处理模块604,与上述插件存储载模块602连接,用于采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;链上链下协同模块606,与上述安全处理模块604连接,用于将上述认证插件进行区块链的链上发布,生成发布插件。达到了增强对于链下插件的认证能力的目的,解决了相关技术中由于链下插件风险,导致的链上处理存在风险的问题。进而达到了提高区块链安全性的效果。
91.可选地,在本技术实施例提供的插件认证处理装置中,包括:第一获取模块,用于在上述n重认证方法为采用n个证书文件进行认证的情况下,获取账户对应的密码提示字符串;第一生成模块,用于根据上述密码提示字符串,生成上述n个证书文件;第一认证模块,用于基于上述n个证书文件,对上述应用插件进行签名认证,得到上述认证插件。
92.可选地,在本技术实施例提供的插件认证处理装置中,包括:第二获取模块,用于获取预定格式的代码签名证书;第一转换模块,用于采用上述代码签名证书,将上述n个证书文件转换,得到上述预定格式的n个证书文件;第二认证模块,用于基于上述预定格式的n个证书文件,对上述应用插件进行签名认证,得到上述认证插件。
93.可选地,在本技术实施例提供的插件认证处理装置中,包括:第一分配模块,用于在上述预定格式的n个证书分别对应于预定根证书的情况下,基于对应的预定根证书,分别为上述预定格式的n个证书文件分配对应的证书标识;第三认证模块,用于基于上述预定格式的n个证书文件分别对应的预定根证书和证书标识,对上述应用插件进行签名认证,得到上述认证插件。
94.可选地,在本技术实施例提供的插件认证处理装置中,包括:第一确定模块,用于确定上述n个证书文件的压缩顺序;第一压缩模块,用于采用上述压缩顺序,对上述n个证书文件的压缩处理,得到上述压缩文件。
95.可选地,在本技术实施例提供的插件认证处理装置中,包括:第三获取模块,用于在上述n重认证方法为n重组合签名认证处理的情况下,获取m个私钥,以及上述m个私钥之间的预定组合方式,其中,m为大于或等于1的正整数;第一组合模块,用于采用上述预定组合方式,将上述m个私钥进行组合,得到n重组合签名;第四认证模块,用于基于上述n重组合签名,采用上述n重认证方法对上述应用插件签名认证,得到上述认证插件。
96.可选地,在本技术实施例提供的插件认证处理装置中,包括:第二确定模块,用于在上述发布插件为x个,x个发布插件分别与对应于不同功能的情况下,基于预定开发需求,确定本地应用服务所需的订阅功能,其中,上述x为大于或等于1的正整数;第一查询模块,用于查询上述区块链中包括了的上述x个发布插件,确定上述订阅功能对应的目标插件;第一加载模块,用于在上述目标插件进行本地验证通过的情况下,将上述目标插件加载至上
述本地应用服务。
97.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
98.此处需要说明的是,上述插件存储载模块602,安全处理模块604,链上链下协同模块606对应于实施例中的步骤s102至步骤s106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
99.需要说明的是,本实施例的可选或优选实施方式可以参见实施例中的相关描述,此处不再赘述。
100.上述插件认证处理装置包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
101.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来执行插件认证处理。
102.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
103.本发明实施例提供了一种非易失性存储介质,其上存储有程序,该程序被处理器执行时实现上述插件认证处理方法。
104.本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述插件认证处理方法。
105.本发明实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;将上述认证插件进行区块链的链上发布,生成发布插件。本文中的设备可以是服务器、pc、pad、手机等。
106.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:采用预定的n重认证方法,对上述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;将上述认证插件进行区块链的链上发布,生成发布插件。
107.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
108.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
109.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
110.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
111.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
112.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
113.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
114.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
115.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
116.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种插件认证处理方法,其特征在于,包括:获取应用插件;采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;将所述认证插件进行区块链的链上发布,生成发布插件。2.根据权利要求1所述的方法,其特征在于,所述采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,包括:在所述n重认证方法为采用n个证书文件进行认证的情况下,获取账户对应的密码提示字符串;根据所述密码提示字符串,生成所述n个证书文件;基于所述n个证书文件,对所述应用插件进行签名认证,得到所述认证插件。3.根据权利要求2所述的方法,其特征在于,所述基于所述n个证书文件,对所述应用插件进行签名认证,得到所述认证插件,包括:获取预定格式的代码签名证书;采用所述代码签名证书,将所述n个证书文件转换,得到所述预定格式的n个证书文件;基于所述预定格式的n个证书文件,对所述应用插件进行签名认证,得到所述认证插件。4.根据权利要求3所述的方法,其特征在于,基于所述预定格式的n个证书文件,对所述应用插件进行签名认证,得到所述认证插件,包括:在所述预定格式的n个证书文件分别对应于预定根证书的情况下,基于对应的预定根证书,分别为所述预定格式的n个证书文件分配对应的证书标识;基于所述预定格式的n个证书文件分别对应的预定根证书和证书标识,对所述应用插件进行签名认证,得到所述认证插件。5.根据权利要求2所述的方法,其特征在于,所述认证插件为采用预定压缩方式进行打包得到的压缩文件,所述预定压缩方式为:确定所述n个证书文件的压缩顺序;采用所述压缩顺序,对所述n个证书文件的压缩处理,得到所述压缩文件。6.根据权利要求1至6中任意一项所述的方法,其特征在于,所述采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,包括:在所述n重认证方法为n重组合签名认证处理的情况下,获取m个私钥,以及所述m个私钥之间的预定组合方式,其中,m为大于或等于1的正整数;采用所述预定组合方式,将所述m个私钥进行组合,得到n重组合签名;基于所述n重组合签名,对所述应用插件进行签名认证,得到所述认证插件。7.根据权利要求1至6中任意一项所述的方法,其特征在于,在所述将所述认证插件进行区块链的链上发布,生成发布插件之后,所述方法还包括:在所述发布插件为x个,x个发布插件分别与对应于不同功能的情况下,基于预定开发需求,确定本地应用服务所需的订阅功能,其中,所述x为大于或等于1的正整数;查询所述区块链中包括了的所述x个发布插件,确定所述订阅功能对应的目标插件;在所述目标插件进行本地验证通过的情况下,将所述目标插件加载至所述本地应用服
务。8.一种插件认证处理装置,其特征在于,包括:插件存储载模块,用于获取应用插件;安全处理模块,与所述插件存储载模块连接,用于采用预定的n重认证方法,对所述应用插件进行签名认证,得到认证插件,其中,n为大于或等于1的正整数;链上链下协同模块,与所述安全处理模块连接,用于将所述认证插件进行区块链的链上发布,生成发布插件。9.一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行权利要求1至7中任意一项所述的插件认证处理方法。10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的插件认证处理方法。

技术总结
本申请公开了一种插件认证处理方法、装置、存储介质及电子设备。涉及区块链领域,该方法包括:获取应用插件;采用预定的N重认证方法,对应用插件进行签名认证,得到认证插件,其中,N为大于或等于1的正整数;将认证插件进行区块链的链上发布,生成发布插件。通过本申请,解决了相关技术中由于链下插件风险,导致的链上处理存在风险的问题。上处理存在风险的问题。上处理存在风险的问题。


技术研发人员:罗伟彬 黄肇敏 裴磊 潘诗琪
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.06.25
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐