软件安全的集散控制架构及其控制方法与流程

文档序号:12067791阅读:157来源:国知局
软件安全的集散控制架构及其控制方法与流程

本发明涉及软件安全领域,特别是一种软件安全的集散控制架构及其控制方法。



背景技术:

现有软件安全控制架构均是采用以下两种方式:一是采用服务器-客户端机制,用户客户端读取自身信息(如读取自身硬件信息等),根据一定的规则生成自身标识,然后发送给服务器,服务器验证该标识后,交互给客户端验证信息,客户端接收验证信息后,完成软件注册,同时,由服务器管理用户注册信息(如有效期限等)。二是采用某一种软件加密算法,服务器和客户端根据各自的算法进行计算,然后对比运算结果,若对比结果一致,则完成软件注册,同时,也是由服务器管理用户注册信息(如有效期限等)。

现有软件安全控制架构,其采用的信息验证方式和法则,在一段时期内,均是固定不变的,这就存在可能被破解的风险,对于第一种方式,当服务器与客户端之间验证信息的编码法则被破解之后,软件安全控制失效;对于第二种方式,当服务器和客户端之间的加密算法被破解,软件安全控制失效;而不论采用哪种方式,当服务器和客户端之间的网络故障,客户端均不能使用软件,这又给用户在一些没有网络的环境下有限次地使用软件造成了不便,降低了软件控制架构的可用性和用户体验。



技术实现要素:

针对现有技术中架构上的不足,本发明的目的是提出一种软件安全的集散控制架架构及其控制方法,将软件安全控制动态化,软件合法性运算由具体的用户单元在本地完成,用户单元使用软件的合法性运算又实时受服务器管理单元的控制,用户每次使用软件时的合法性运算均是基于服务器管理单元交互的安全算法,它可以根据需要实时更新,同时,服务器管理单元预授权用户单元下次使用软件时的加密法则和使用使能,实现在网络故障的时候,用户单元有限次地合法使用软件。

为实现上述目的,本发明采用的技术方案是提供一种软件安全的集散控制架构,其中:该控制架构包括有服务器管理单元、多个用户使用单元、多个加密运算单元三部分,服务器管理单元包括有主机和热备备机,备机在主机故障时,接替主机完成其功能,当主机故障恢复后,切换为热备模式,服务器管理单元的主机和备机之间通过以太网连接;每个用户使用单元通过以太网与服务器管理单元连接;每个加密运算单元和每个用户使用单元一一对应,二者之间通过串行总线USB连接。

同时提供一种利用权利要求1所述软件安全的集散控制架构的控制方法。

本发明的效果是使用该软件安全集散控制架构及控制方法:

第一,安全性高。本发明的软件安全集散控制架构的结构,对比现有的软件安全控制架构的安全性,本发明的控制架构能呈指数幂式提升软件控制的安全性,且指数值大于本发明控制架构中采用的加密算法的数量值,即,若定义某一种加密法则的安全性为基准值,现有软件安全控制架构在一定时期内均是基于某一种加密法则,那么现有软件安全控制架构的安全性就是基准值;而本发明的控制架构中,首先,每个用户使用单元与其对应的加密运算单元之间标识信息的交互,需要基于某一种加密法则,此时,本发明的控制架构的安全性便有了基准值,其次,服务器管理单元判断用户使用单元是否为有效注册用户,也需要基于某一种加密法则,此时,本发明的控制架构的安全性便在前述基准值的基础上,再叠加一个基准值,为基准值的2次幂,最后,服务器管理单元和每一个用户单元之间还要交互加密算法,为简单起见,定义每种算法的安全性仍为基准值,若服务器管理单元和用户单元之间有N种加密算法可供随机更替交互,那么,服务器管理单元和用户单元之间加密算法交互的安全性便为基准值的N次幂,此时,本发明的控制架构的安全性便在前述基准值2次幂的基础上,再叠加基准值的N次幂,为基准值的N+2次幂,可见,本发明的软件安全集散控制架构能极大地提升系统的安全性。

第二,兼容性强。现有所有加密算法都可应用于本发明的软件安全集散控制架构中。

第三,稳定性强和可靠性高。本发明架构中,服务器管理单元采用双机热备方式,主机故障时,备机能无缝接替主机完成其功能,能保证本发明整个架构的稳定性和可靠性。

第四,可用性强。本发明的软件安全集散控制架构中,服务器管理单元和用户使用单元之间加密算法和使用使能的交互有预授权机制,能实现用户在没有网络连接的环境中,有限次地使用本软件,提升用户的用户体验。

附图说明

图1本发明的软件安全的集散控制架构构成图;

图2本发明的软件安全的集散控制架构流程图。

图中:

1、服务器管理单元 2、用户使用单元 3、加密运算单元

4、以太网 5、串行总线USB 6、服务器管理单元的主机

7、服务器管理单元的备机

具体实施方式

结合附图对本发明的软件安全的集散控制架构及其控制方法加以说明。

本发明的软件安全的集散控制架构及其控制方法设计思想是:

第一,通过该控制架构的服务器管理单元1实现整个控制架构的集中管理功能,由主机6和备机7构成双机热备结构,具体完成用户使用单元2的管理,包括验证所有用户使用单元2的合法性,向每一个合法用户使用单元2交互其每一次使用软件的加密算法和使用使能,以及预授权该用户使用单元2下一次使用软件的加密算法和使用使能;

第二,通过该控制架构的用户使用单元2完成具体用户使用软件的合法性验证,包括验证与其连接的加密运算单元3是否与该用户使用单元2匹配,发起与服务器管理单元1的注册连接,接收连接结果,判断是否为有效连接,在有效连接条件下,接收并存储服务器管理单元1下发的用户本次和下一次预授权使用软件的加密算法和使用使能,并根据本次使用软件是否接收到服务器管理单元1交互的加密算法和使用使能,决定本次软件合法性运算是使用服务器管理单元1交互的加密算法和使用使能,还是使用该用户使用单元2上一次使用软件时存储的,用于本次使用软件合法性运算的预授权加密算法和使用使能,并将本次加密算法下发至与其唯一对应的加密运算单元3,并接收其运算结果,与服务器管理单元1下发的使用使能对比,验证用户使用软件的合法性;

第三,通过该控制架构的加密运算单元3完成具体加密算法的运算,包括接收用户使用单元2下发的加密算法,根据加密算法进行运算,将运算结果交互至与其唯一对应的用户使用单元2,此外,在用户使用单元2判断加密运算单元3是否与其匹配时,向该用户使用单元2交互其存储的标识信息,用于该用户使用单元2进行是否匹配的判断。

本发明中用户使用单元2每次使用软件的合法性运算,均需要基于服务器管理单元1交互来的安全机制,包括安全算法、使用使能,基于此,就能实现软件加密算法的动态更新,通过对用户使用单元2的预授权,可以在用户本次使用软件合法性运算的时候,同时交互下一次加密算法和使用使能,基于此,就能实现在网络故障的时候,用户有限次地合法使用软件。

本发明的软件安全的集散控制架构,可以根据需要,实现每一个用户的每一次使用软件,其使用的加密算法都和其它用户均不一样,并且,目前所有的加密算法均能应用在本发明的控制架构中。

如图1所示,本发明的软件安全的集散控制架构的结构是:所述服务器管理单元1由主机6和备机7组成,主机6和备机7相互独立,可以根据实际不同的应用场景,选择非X86服务器或者X86服务器,主机6和备机7各自拥有独立的处理器、存储系统、系统总线、输入输出设备、系统软件、本控制架构服务器端控制软件,主机6和备机7之间通过以太网4连接,备机7实时与主机6同步整个控制架构的数据,一是同步所有合法用户使用单元2的注册信息,包括存储每个合法用户2的唯一身份标识、每个合法注册用户2的有效注册期限、新增新的合法用户操作2、删除超过有效注册期限的合法用户2操作;二是实时监控主机6的工作状态,完成在主机6故障时,备机7和主机6的切换,由备机7接替主机6完成其功能,同时给出报警信息,以及完成当主机6故障恢复后,主机6和备机7的切换,备机7重新恢复为热备模式;三是实时同步主机6与所有合法用户使用单元2的网络连接状态信息,包括网络链路状态信息、与任一用户使用单元2的通信连接信息。

所述用户使用单元2为用户计算机平台上的应用软件,与服务器管理单元1和加密运算单元3交互控制信息,以完成用户使用软件的合法性验证,所述用户使用单元2所在的用户计算机平台利用其以太网接口,通过以太网4和服务器管理单元1连接,与服务器管理单元1中的主机6和备机7均能通过以太网4实现信息通信;所述用户使用单元2所在的用户计算机平台利用其USB接口,通过串行总线USB5与加密运算单元3连接,并且所述用户使用单元2内部存储与其唯一的加密运算单元3的标识信息。

所述加密运算单元3为微处理器,如8051系列单片机、ARM系列微处理器等、存储器ROM、RAM、外围电路如时钟电路、USB接口电路、存储器管理电路构成的嵌入式系统,微处理器能力和存储器容量可以根据实际的应用情况进行配置;所述加密运算单元3利用其USB接口,通过串行总线USB5和用户使用单元2连接。

所述本发明的软件安全的集散控制架构的结构中,服务器管理单元1中的备机7采用热备模式,在主机6故障时,无缝接替主机6完成其功能,当主机6故障恢复后,备机7的重新恢复为热备模式。

如图2所示,本发明的利用所述软件安全的集散控制架构的控制方法,包括以下步骤:

步骤一,服务器管理单元1实时完成整个控制架构的集中管理:一是实时存储并管理所有合法用户使用单元2的注册信息,包括存储每个合法用户2的唯一身份标识、每个合法注册用户2的有效注册期限、新增新的合法用户2、删除超过有效注册期限的合法用户2;二是实时监控其构成中主机6和备机7的工作状态,完成在主机6故障时,备机7和主机6的切换,由备机7接替主机6完成其功能,同时给出报警信息,以及完成当主机6故障恢复后,主机6和备机7的切换,备机7重新恢复为热备模式;三是实时监督与所有合法用户使用单元2的网络连接,包括监督网络链路是否通畅、在网络链路故障时给出报警信息、实时管理与任一用户使用单元2的通信连接。

步骤二,任一具体用户每次使用软件时,该用户的用户使用单元2首先通过串行总线USB5连接与其唯一对应的加密运算单元3,读取加密运算单元3中的标识信息,判断该标识信息是否和所述用户使用单元2存储的标识信息匹配,若匹配,进入步骤三;否则,不允许该用户使用软件。

步骤三,所述用户使用单元2通过以太网4向服务器管理单元1发起通信连接,服务器管理单元1在接收到连接请求后,判断所述用户使用单元2是否为有效注册用户,若是有效注册用户,动态生成该用户使用单元2本次使用软件和预授权下次使用软件的加密算法和使用使能,下发至所述用户使用单元2,进入步骤四;若不是有效注册用户,下发错误连接信息至所述用户使用单元2,进入步骤四。

步骤四,所述用户使用单元2等待接收服务器管理单元1返回的连接信息,若等待超时,则进入步骤五;若接收到服务器管理单元1返回的连接信息,判断连接信息是否为错误连接信息,若是,则不允许该用户使用软件,若不是,则接收服务器管理单元1下发的本次和下次预授权使用软件的加密算法和使用使能,用服务器管理单元1下发的本次使用软件的加密算法和使用使能,覆盖所述用户使用单元2上次合法使用软件时接收到的,用于本次使用软件的预授权加密算法和使用使能,并存储服务器管理单元1本次下发的,用于下次使用软件的预授权加密算法和使用使能,最后将服务器管理单元1下发的本次使用软件的加密算法,通过串行总线USB5下发至与其连接的加密运算单元3,进入步骤六。

步骤五,所述用户使用单元2等待接收服务器管理单元1的连接信息超时,判断自身是否存储了使用软件的预授权加密算法和使用使能,若存储了,则将该预授权加密算法作为本次使用软件的加密算法,通过串行总线USB5下发至与其连接的加密运算单元3,进入步骤六;若未存储,则不允许该用户使用软件。

步骤六,加密运算单元3根据通过串行总线USB5接收到的,所述用户使用单元2下发的加密算法进行本地运算,将运算结果通过串行总线USB5返回至所述用户使用单元2,进入步骤七。

步骤七,所述用户使用单元2将加密运算单元3返回的运算结果与服务器管理单元1下发的本次使用软件的使用使能进行对比,若一致,则允许用户本次使用软件,并删除所述用户使用单元2当前使用的,本次使用软件的加密算法和使用使能;若不一致,删除所述用户使用单元2本次使用软件的加密算法和使用使能,且不允许该用户使用软件。

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