一种区块链安全钱包系统的制作方法

文档序号:12306430阅读:423来源:国知局
一种区块链安全钱包系统的制作方法与工艺

本发明涉及一种钱包系统及方法,尤其涉及一种区块链安全钱包系统。



背景技术:

随着区块链技术应用越来越广泛,基于区块链技术的交易越来越多。区块链秘钥无认证无记名,易发生秘钥文件被盗、密码被破解等现象,秘钥文件丢失后不可找回,导致不可挽回的损失。

目前,已有多种钱包系统,这些钱包系统中,秘钥文件包括终端存储、服务器存储两种存储方式。终端存储时,秘钥文件容易被拷贝、复制,密钥存在被暴力破解等风险。服务器存储时,秘钥一般都由交易中心代理管理,每次交易时必须输入交易密码,交易中心既有秘钥文件也有交易密码,导致风险系数非常大,一旦发生交易中心被攻击、关闭等风险,钱包丢失的可能性非常大。

虽然现有技术中存在冷钱包处理方案,把钱包信息存放的物理隔离的网络上,每次交易时需要使用在线终端与冷钱包多次签名认证交互,这种方法可以解决钱包信息被网络攻击的问题。但这种冷钱包处理方案,交易过程复杂,而且不能避免钱包信息被人为拷贝复制、破解等风险。



技术实现要素:

为解决上述现有技术中的问题,本发明提供了一种区块链安全钱包系统,使用者基于终端(pc,app)使用区块链钱包时,通过操作系统内核级的动态加解密技术,hook技术、安全盾控制技术,实现对区块链钱包密码、秘钥文件进行保护,以避免区块链秘钥信息泄露,造成不可挽回的损失。

为实现上述目的,本发明的一种区块链安全钱包系统的具体技术方案如下:

一种区块链安全钱包系统,包括:web服务器,具有秘钥管理模块,秘钥管理模块通过设置访问认证以控制查看、下载秘钥文件,并且可多节点备份和恢复秘钥文件以确保秘钥文件安全;终端,通过通信模块与web服务器相连,包括接口模块,与接口模块相连的安全策略设定模块,以及与安全策略设定模块相连的钱包访问控制模块、秘钥文件访问控制模块、安全盾模块和动态加解密模块;其中安全策略设定模块可根据接口模块传送的指令,设定安全等级、加密算法、密钥、关联程序、策略开关以及策略内容,并且根据策略内容的描述向钱包访问控制模块、秘钥文件访问控制模块、安全盾模块、秘钥管理模块和动态加解密模块发送指令,以查询秘钥文件访问控制模块、文件访问日志记录模块和动态加解密模块的状态并上报接口模块。

进一步,动态加解密模块位于终端操作系统的内核层,动态加解密模块可通过接收安全策略设定模块发来的指令,实现对秘钥文件进行加解密操作。

进一步,动态加解密模块通过钩子技术或过滤驱动方式嵌入到文件系统中,从而成为文件系统的一部分。

进一步,动态加解密模块中,在应用层和内核层上均设置访问控制子模块,以提高安全性且降低安全系统对系统性能的影响。

进一步,安全盾模块内包括加密模块,安全盾模块可通过接收安全策略设定模块发来的指令对区块链钱包所有操作进行认证控制,安全盾模块内的加密模块可对秘钥加密存储。

进一步,钱包访问控制模块可通过接收安全策略设定模块发来的指令,对访问区块链钱包时的操作进行控制,以控制钱包进程是否启动和交易。

进一步,秘钥文件访问控制模块可通过接收安全策略设定模块发来的指令,对钱包秘钥文件的访问操作进行控制,以阻挡非法进程访问秘钥文件。

进一步,终端内还包括与安全策略设定模块相连的文件访问日志记录模块,文件访问日志记录模块在接收安全策略设定模块的指令后实时监视钱包的所有操作并且进行日志记录。

进一步,web服务器中还包括日志管理模块,日志管理模块可将钱包操作记录的日志信息通过网络通信上传到服务器。

将本发明的区块链安全钱包系统应用到终端(包括pc计算机终端和手机应用程序app终端)上时,通过操作系统内核级的动态加解密技术,可获得安全可靠的区块链安全钱包系统。本发明的区块链安全钱包系统中,通过以下三个方面确保钱包安全:

1)仅在插入安全盾时才允许启动钱包进程,访问钱包时安全盾进行秘密认证,认证通过才可以使用钱包;

2)对秘钥文件进行加密,当合法的钱包进程访问时,动态加解密程序在内存解密,允许访问,并且拒绝其他非法进程访问,保证秘钥文件安全;

3)对加密的秘钥文件进行云备份,当秘钥文件丢失时,可从云平台恢复,安全盾丢失时,重新制作新的安全盾。

附图说明

图1为本发明的区块链安全钱包系统;

图2示出了一种操作系统存储设备访问模型;

图3为动态加解密的流程图。

具体实施方式

为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明的区块链安全钱包系统做进一步详细的描述。

如图1所示,示出了本发明的区块链安全钱包系统,包括web服务器以及通过通信模块与web服务器相连的终端。其中web服务器包括秘钥管理模块和日志管理模块。终端包括接口模块、安全策略设定模块、钱包访问控制模块、秘钥文件访问控制模块、安全盾模块、文件访问日志记录模块、动态加解密模块。

web服务器中,秘钥管理模块可通过web界面多节点备份和恢复秘钥文件,通过访问认证才可以查看、下载秘钥文件。日志管理模块可将钱包操作记录的日志信息通过网络通信上传到服务器。web界面展现日志记录,即显示日志信息、日志时间、操作类型等信息。

终端中,接口模块可为安全应用程序提供api接口(应用程序接口),接口模块与安全策略设定模块、钱包访问控制模块、秘钥文件访问控制模块、安全盾模块、文件访问日志记录模块以及动态加解密模块相连。api接口可被上层应用调用,通过接口模块将数据、指令传递给下层的安全策略设定模块;通过接口模块,可查询安全策略设定模块、钱包访问控制模块、秘钥文件访问控制模块、安全盾模块、秘钥管理模块、文件访问日志记录模块和动态加解密模块的状态并上报给应用。

安全策略设定模块可根据接口模块传送的指令,设定安全等级、加密算法、密钥、关联程序、策略开关以及策略内容;根据安全策略的描述向钱包访问控制模块、秘钥文件访问控制模块、安全盾模块、秘钥管理模块、文件访问日志记录模块和动态加解密模块发送指令;以及查询秘钥文件访问控制模块、文件访问日志记录模块和动态加解密模块的状态并上报接口模块。

钱包访问控制模块可通过接收安全策略设定模块发来的指令,实现对访问区块链钱包时的操作进行控制,实现对访问区块链钱包时的操作进行控制,以控制钱包进程是否启动和交易。也即,钱包访问控制模块在接收安全策略设定模块的指令后,根据安全策略的要求,实时监视移动终端上所有访问钱包系统的操作并进行控制。

秘钥文件访问控制模块可通过接收安全策略设定模块发来的指令,根据安全策略的要求,实现对钱包秘钥文件的访问操作进行控制。其中,访问操作包括对文件对象的打开、创建、删除、改名、复制、移动、保存、属性设置操作。

安全盾模块可通过接收安全策略设定模块发来的指令,实现对区块链钱包所有操作进行认证控制、秘钥加密存储。

文件访问日志记录模块在接收安全策略设定模块的指令后,根据安全策略的要求,实时监视钱包的所有操作,并进行日志记录。

动态加解密模块:位于移动终端操作系统的内核层,通过接收安全策略设定模块发来的指令,实现对秘钥文件进行加解密操作。例如,当合法应用程序读取被加密的数据时,动态加解密模块进行解密操作,合法应用程序则可正常使用数据;当合法应用程序对文件进行写操作时,动态加解密模块进行加密操作,合法应用程序保存的文件为加密后的文件;当非法应用程序读取被加密的数据时,动态加解密模块不进行解密操作,非法应用程序则无法正常使用数据;当非法应用程序对文件进行写操作时,动态加解密模块不进行任何操作。

动态加解密是指数据在使用过程中自动对数据进行加密或解密操作,无需用户干预,合法用户在使用加密文件前,也不需要进行解密操作即可使用,表面看来访问加密的文件和未加密的文件基本相同,但对于合法用户来说,这些加密文件是透明的,但对于不合法的用户通过非法手段得到加密文件,由于文件时加密的,同样无法进行访问。动态加解密需要实时操作,必须动态跟踪需要加密和解密的数据流,而且其实现层次是在系统的内核中。因此,从实现的技术角度看,实现动态加解密比静态加解密要难得多。

图2示出了一种操作系统存储设备访问模型,对于目前的操作系统,只有在内核层才能拦截到各种文件或磁盘操作。因此,动态加解密算法只能在内核层进行实现。文件级的动态加解密算法虽然与具体的操作系统有关,但是一般可通过hook(hook技术又称钩子技术,主要功能是捕获系统调用信息,过滤并处理安全策略中设置的指令)或过滤驱动等方式嵌入到文件系统中,使其成为文件系统的一部分。从某种意义上来说,动态加解密算法可以看做是文件系统的一个功能扩展,这种扩展性往往以模块化的形式出现,能够根据需要进行操作。

图3示出了动态加解密的实现过程,动态加解密是以文件过滤驱动程序的方式实现的,同时在应用层和内核层均提供访问控制功能。除此之外,还提供了日志和程序行为控制功能,这种通过应用层和内核层相互配合的实现方式,不仅能够提供更高的安全性,而且有助于降低安全系统对系统性能的影响。

由此,本发明的区块链安全钱包系统中,应用程序可通过调用接口模块所提供的api接口进行安全策略设定,接口模块会将安全策略传给安全策略设定模块;安全策略设定模块在接收到安全策略后,设定安全等级、加密算法、密钥、关联程序、策略开关以及策略内容,并根据安全策略的描述,向钱包访问控制模块、秘钥文件访问控制模块、安全盾模块、秘钥管理模块、文件访问日志记录模块和动态加解密模块发送指令。

实施例一

服务器:搭建http、https服务器,连接mysql数据库。

客户端:

通信层:主要用于网络请求、响应处理,进行网络数据传输,通信模块属于这一层,通信模块下载安全策略、上传客户端信息、上传文件操作日志信息等。

应用层:策略设置模块设置控制策略,控制钱包访问控制模块、文件访问控制模块、安全盾模块、动态加解密模块的执行,从三方面保护钱包安全。

hook层:主要捕获系统调用信息,过滤并处理安全策略中设置的指令。

信息访问控制模块、秘钥文件访问控制模块和文件下载监控模块通过更改操作系统工作流程,实现对文件的访问控制和日志记录。具体hook操作系统的系统调用:打开、阅读、创建、删除和移动,通过逻辑(安全策略信息)判断是否允许文件访问操作来继续或阻断系统调用。

驱动层:主要通过系统驱动,对秘钥文件进行动态加解密处理,通过策略设置通知驱动层,控制进程对秘钥文件的读写操作,从而阻止非法进程对秘钥文件的操作。

另外,实现本发明所述系统很重要的一点是安全策略的设定,安全策略包括以下几项内容:加密算法设定、密钥设定、关联程序设定、策略开关、策略内容。

加密算法设定过程中,通过应用程序可以设定不同加密算法,如des、3des、aes、rc4等。密钥设定过程中,通过应用程序可以设定不同密钥,可以设定任何长度的密钥。关联程序设定过程中,为了实现专用应用程序解密,从而设定专用读取程序,获得授权的应用程序可以正常读取文件,驱动会为其透明加解密,而对于非授权的应用程序却只能读到密文,无法正常读取使用文件。策略开关设定是否应用策略,或者是否容许特定的文件操作穿过过滤层。策略内容设定策略的详细内容,如具体的文件类型(可以使用通配符*、?),特定的文件目录,策略内容可以指定任何逻辑扇区比如:@:\*.*,就是在pc储存设备下的所有文件都是加密保存的。包括如下内容:

@:--代表盘符。

f:--日志开关设定,设定是否记录日志。

g:--访问权限属性控制设定策略内容所规定的文件访问控制属性,包括:readonly、hidden、nodelete、noopen、nocopy...。

可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

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