一种基于局域网的分布式加密存储和鉴权方法与流程

文档序号:16151479发布日期:2018-12-05 17:44阅读:255来源:国知局

本发明的实施方式涉及互联网业务中用户隐私信息的加密存储技术和对应的鉴权技术,属于信息安全领域,更具体地,本发明的实施方式涉及一种基于局域网的分布式加密存储和鉴权方法。



背景技术:

随着“互联网+”时代的到来,各种互联网业务如雨后春笋般层出不穷,与此同时,物联网、云计算、大数据、移动互联网等新一代信息通信技术的迅猛发展使得互联网的信息安全问题日益凸显出来,网络攻击、非法入侵、挂马等行为每年都呈现急剧增长的态势,尤其是盗号、用户敏感信息泄漏等黑色产业链更是给互联网公司、用户带来了无法估量的损失,给整个互联网产业造成了巨大的冲击。因此,“互联网+”时代背景下的信息安全越来越引起大家的高度重视。

传统的用户敏感信息(如用户登录密码)的存储采用的方式通常是基于单独的一种消息摘要算法(如MD5等)对敏感信息进行加密,并直接集中存储在一台数据库服务器中。采用这样的方式,一方面攻击者很容易根据加密后的字段信息判断出采用的加密方式,并通过撞库的方式进行破解;另一方面,由于敏感信息采用集中存储的方式,数据库服务器一旦被攻陷,则会造成了用户信息的全部泄漏,不利于用户隐私的保护,更可能造成巨大的经济损失。另外,由于应用服务器与数据库服务器之间只有一条通信链路,也很容易造成数据传输过程中的信息截获,方便攻击者伪装成合法用户进行系统访问。



技术实现要素:

由于目前敏感信息集中存储在一台数据库服务器,容易被攻陷并全部泄漏,信息采用单一的方式进行加密,容易泄漏加密方式,遭受攻击者撞库爆破,因此本发明提供了一种基于局域网的分布式加密存储和鉴权方法,解决用户敏感信息传输和存储过程中的安全问题,以及针对这种存储方式的信息的还原问题。

为解决上述的技术问题,本发明的一种实施方式采用以下技术方案:

一种基于局域网的分布式加密存储和鉴权方法,它包括以下步骤:

加密存储步骤:

应用服务器将用户信息传输给分布式管理服务器分配用户id和分段,获得分段信息和分段号,对分段信息产生随机码,从分段信息、分段号和随机码三个纬度进行加权,将获得的分段加权信息随机分发到不同的数据库存储服务器;数据库存储服务器对分段加权信息采用随机的加密方式进行加密,然后保存;

鉴权步骤:

远程输入用户信息并传输给应用服务器,应用服务器将用户信息输给分布式管理服务器查找用户id,然后根据用户id查找分段方式,采用查找到的分段方式将用户信息分段,获得分段信息和分段号,对分段信息产生随机码,从分段信息、分段号和随机码三个纬度进行加权获得分段加权信息,根据分段号和分段加权id查找对应加密方式,采用查找到的加密方式将分段加权信息进行加密获得分段加密信息,然后通过分布式管理服务器将鉴权步骤获得的分段加密信息与加密存储步骤保存的信息进行比较,二者匹配则鉴权通过,二者不匹配则鉴权不通过。

上述基于局域网的分布式加密存储和鉴权方法中,所述用户信息包括用户基础信息和所述用户敏感信息。

上述基于局域网的分布式加密存储和鉴权方法中,所述加密存储步骤的具体操作包括:

(1)应用服务器将用户基础信息和用户敏感信息传输给分布式管理服务器,分布式管理服务器中的分布式管理模块将用户基础信息存储在用户表中并分配用户id,接着将用户敏感信息进行分段,将采用的分段方式以及获得的分段信息和分段号存入分段策略表中;

(2)所述分布式管理模块对每个分段信息产生一个随机码,并将随机码、用户id和对应的分段策略id存储到分段加权表中;所述分布式管理模块将每个分段信息、分段号和随机码进行加权获得分段加权信息,并随机分发给多个数据库存储服务器中的加密模块;

(3)每个数据库存储服务器的加密模块采用随机的加密方式对分布式管理模块传输过来的分段加权信息进行加密获得分段加密信息,并将每个分段加权信息采用的加密方式和对应获得的分段加密信息传输给同一数据库存储服务器的存储模块;

(4)每个数据库存储服务器的存储模块分别对分段加密信息以及对应的分段号、分段加权id、加密方式id存储在分段加密信息表中;

上述基于局域网的分布式加密存储和鉴权方法中,所述鉴权步骤的具体操作包括:

①用户通过远程客户端输入用户基础信息和用户敏感信息,输入的所有信息通过外网代理服务器传输到局域网中的应用服务器,应用服务器把信息转发给分布式管理服务器;

②分布式管理服务器根据用户基础信息查询到用户id,再根据用户id查询分布式管理模块中的分段加权表,获得分段加权id和分段策略id;然后根据分段策略id查询分段策略表获得对应分段方式,利用该分段方式将输入的用户敏感信息进行分段获得分段信息和分段号;利用分段号查找分段加权表中相同分段号的随机码;

③分布式管理模块将上述分段信息与该分段的随机码、分段号按照系统的规则进行加权,生成分段加权信息;根据分段加权id查询每个存储模块中的分段加密信息表,获得该存储模块对应的分段号和加密方式id;

④根据分段号和加密方式id对应的加密方式将分段加权信息进行加密生成分段加密信息;

⑤分布式管理服务器中的鉴权模块将步骤④生成的分段加密信息与数据库存储服务器中的分段加密信息表中存储的信息进行比较,若二者匹配,则用户登录成功;若二者不匹配,则用户登录失败,向客户端提示错误并返回步骤①。

上述基于局域网的分布式加密存储和鉴权方法中,所述加密模块具有一个加密算法库,该加密算法库包括MD5算法、SHA1算法和SHA256算法。

上述基于局域网的分布式加密存储和鉴权方法中,步骤③所述按照系统的规则进行加权是指步骤③采用分布式管理模块中的与步骤(2)相同的规则进行加权。

与现有技术相比,本发明的有益效果之一是:本发明的方法能够将用户的敏感信息进行有效的分布式加密存储,避免因单台存储服务器被攻陷而全部信息泄漏;同时加密方式具有一定的灵活性和随机性,不容易被破译;此外,充分考虑到了加解密的效率问题,兼顾了安全性和时效性。

附图说明

图1为本发明基于局域网的分布式加密存储和鉴权方法利用的系统基本部署图。

图2为用户登录鉴权流程图。

图3为信息加密存储流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明的加密和鉴权方法主要是基于局域网实现的,如图1所示,客户端处于互联网的大环境下,与外网代理服务器信号连接,外网代理服务器与应用服务器信号连接,实现信息从互联网端向局域网的传递,应用服务器将信息传输给分布式管理服务器,经过分布式管理服务器的处理(分段和加权),再随机传递给多个数据库存储服务器加密。

图2是用户登录鉴权流程图,用户名和密码即为用户信息,用户名是基础信息,密码是敏感信息,基础信息用于查找用户id,敏感信息用于分段、加权和加密后与系统中分段加密信息表中的加密信息进行对比,比较结果如果是二者相同,则用户登录成功,如果不相同则登录失败,需要用户重新输入用户名和密码进行鉴权。

图3是信息加密存储流程示意图,用户录入信息,应用服务器将用户信息传输给分布式管理服务器,其分布式管理模块对用户信息进行分段和加权,然后传递给加密模块进行加密,最后传递给存储模块存储。

本发明主要由四个功能模块组成:分布式管理模块、加密模块、存储模块和鉴权模块,其中分布式管理模块和鉴权模块位于分布式管理服务器中,加密模块和存储模块位于数据库存储服务器中。各模块相关功能介绍如下:

分布式管理模块:该模块的主要功能是实现对敏感信息进行分段、随机码加权混淆。具体包括:①按照用户敏感信息的长度按照一定的策略进行分段;②对每段信息产生随机码;③从分段号、随机码和分段信息三个纬度按照一定的规则进行加权,产生新的分段加权信息;④对分段策略、随机码、分段号和加权规则进行存储;⑤将分段加权信息随机分发到数据库存储服务器中。

分布式管理模块中主要存储了分段加权表和分段策略表等两张表,具体实例如表1和表2所示。其中,分段加权表主要存储了针对用户敏感信息的用户id、对应的分段策略id以及每个分段的随机码;分段策略表主要存储用户敏感信息的原始位数和每个分段分别对应的位数。具体设计如下:

表1 分段加权表

表2 分段策略表

加密模块:主要功能是对分布式管理服务器分发过来的分段加权信息进行加密,生成分段加密信息。该模块包含了一个加密算法库(包括MD5、SHA1、SHA256等多种消息摘要算法以及其他加密算法),可以对分段加权信息进行不同方式的随机加密,并将加密算法和生成的分段加密信息传递给存储模块进行存储。

加密模块主要涉及加密方式一张表,具体实例如表3所示,该表主要是存储了加密模块所采用的所有加密算法和加密方式的集合。具体设计如下:

表3 加密方式表

存储模块:主要功能将加密模块传输过来的分段加密信息进行存储。本模块主要涉及分段加密信息一张表,具体实例如表4所示,该表存储的信息包括分段加权id、本数据库服务器中存储的分段加密信息的分段号、加密方式id以及加密模块传输过来的分段加密信息。具体设计如下:

表4 分段加密信息表

鉴权模块:主要功能是将用户输入的密码等敏感信息通过分段、随机码加权混淆、加密等操作后与分布式数据库服务器分段加密信息表中的加密信息进行比对,如果全部匹配则验证通过;否则验证不通过。

说明:由于分布式管理服务器和数据库存储服务器都部署在局域网环境中,所以当分布式管理模块、加密模块、存储模块和鉴权模块这些模块之间传递数据时可以有效保证数据传输的安全性和完整性。另外,由于处于内网环境中,可以有效提高敏感信息分段、加权和加密等操作的效率,减小对带宽的依赖。

下面提供具体的操作实施例来说明本发明。

利用分段、随机加权、加密的方式对用户敏感信息(如登录密码)进行加密存储,其具体步骤如下:

1、用户在远程客户端注册,输入用户名/密码(admin/123456)。

2、应用服务器将用户名/密码传输给分布式管理服务器,其分布式管理模块分配用户id,同时将用户密码分为3段,其中分段位数为6,段1、段2、段3的位数都2,并存入分段策略表中。

3、分布式管理模块对应段1、段2、段3分别产生一个随机码,并将随机码、用户id和对应的分段策略id存入分段加权表中;

4、分布式管理模块分别将段1、段2和段3与对应的分段号和随机码进行加权,并随机分发给三个数据库存储服务器;假设其中数据库存储服务器1得到段2、服务器2得到段3、服务器3得到段1。

5、数据库存储服务器中的加密模块将得到的分段加权信息随机采用加密方式进行加密,并将加密后的信息传输给同一数据库存储服务器中的存储模块;假设段2采用MD5加密;段3采用SHA1加密;段1采用SHA256加密。

6、每个数据库存储服务器中的存储模块分别对分段加密信息、加密方式、分段号、分段加权信息进行存储;其中存储模块1中存储的是段2的分段号、加密方式(MD5)、分段加权id和分段加密后的信息,同样的,存储模块2存储的是对应与段3的信息,存储模块3存储的是对应与段1的信息。

基于上述的加密方式的用户鉴权,其具体步骤如下:

1、用户在远程客户端登录,输入用户名/密码(情形A:admin/123456,情形B:admin/123478)。

2、根据用户名查询用户表获取用户id,通过用户id查询分段加权表,获得admin用户的密码分段策略。

3、根据分段策略将输入的密码(123456和345678)分为三段,分别为段1、段2和段3;

4、根据步骤2分段加权表中每个分段的随机码、分段信息和分段号通过加权生成对应于段1、段2和段3的分段加权信息。

5、根据步骤2分段加权表中的id字段,查询数据库存储服务器中分段加密信息表中对应的分段号和加密方式,并分别对对应的分段加权信息进行加密。段1位于数据库存储服务器3,采用SHA256加密;段2位于服务器1,MD5加密;段3位于服务器2,采用SHA1加密。

6、鉴权模块将步骤5生成的三段分段加密信息分别与步骤2对应的分段加权表中的分段加密信息字段进行比较。对于情形A,三段分段加密信息与分段加权表中的分段加密信息都一致,进入步骤7;对于情形B,有一段分段加密信息与分段加权表中的分段加密信息不一致,进入步骤8。

7、用户鉴权成功,该用户登录成功。

8、用户鉴权失败,远程客户端提示用户密码输入错误,返回步骤1。

尽管这里参照本发明的解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

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