[发明专利]一种面向集团客户的数据分层安全访问控制方法有效

专利信息
申请号: 201811313419.7 申请日: 2018-11-06
公开(公告)号: CN109525570B 公开(公告)日: 2021-01-12
发明(设计)人: 蒋睿;苏家琰 申请(专利权)人: 东南大学
主分类号: H04L29/06 分类号: H04L29/06;H04L29/08
代理公司: 南京众联专利代理有限公司 32206 代理人: 蒋昱
地址: 210096 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 集团 客户 数据 分层 安全 访问 控制 方法
【权利要求书】:

1.一种面向集团客户的数据分层安全访问控制方法,其特征在于:包括分布式应用程序收发模块(1)、数据加解密处理模块(2)、密钥协商模块(3)、数据并发处理模块(4)、分层访问控制模块(5)、数据库连接模块(6)和MySQL数据库模块(7);其中:分布式应用程序收发模块(1)负责监听移动端、Web端应用程序发送的服务请求,实现跨平台的服务调用;数据加解密处理模块(2)负责加密和解密服务请求和响应数据,同时验证数据的发送方,确保数据来源的可靠性,即数据发送方不可否认;密钥协商模块(3)在每一次应用程序发送服务请求时,产生一个会话密钥,并且在密钥分发过程中可以抵抗中间人攻击;数据并发处理模块(4)负责解析JSON格式封装的服务请求,将解析产生的业务数据转发给分层访问控制模块(5),并采用硬盘中的log日志文件作为缓存池,处理重复的服务请求,提高系统的并发性能;分层访问控制模块(5)采用自主设计的基于BLP、RBAC模型的分层安全访问控制模块,负责集团客户的数据分层,并判断用户是否拥有访问数据的权限,使得集团客户在组织结构上,实现纵向垂直管理和横向水平管理,同时保证数据的安全性;数据库连接模块(6)负责建立数据库连接池,减小频繁创建和销毁数据库连接带来的性能损耗,提高系统对数据的读写效率;MySQL数据库模块(7)是自主设计的模块化数据存储解决方案,负责模块化存储集团客户数据,采用主从镜像技术提高数据库的读写效率,保障数据库的高可靠性,并采用哈希函数保证用户隐私数据的安全;

所述的分布式应用程序收发模块(1)包括WebService网络监听类模块(1-1)、Soap协议解析模块(1-2)以及客户方密文数据收发模块(1-3);负责监听移动端、Web端应用程序发送的服务请求,实现跨平台的服务调用;

所述的WebService网络监听类模块(1-1),基于Socket接口,采用TCP/IP协议,接收移动端、Web端应用程序发送的服务请求,转发给Soap协议解析模块(1-2),同时接收Soap协议解析模块(1-2)的服务响应Soap消息,发送给移动端、Web端应用程序;所述的Soap协议解析模块(1-2)接收WebService网络监听类模块(1-1)发送的服务请求,解析服务请求中的Soap消息,获取服务名参数,并根据服务名参数访问WSDL中对应的方法,将Soap消息中的密钥协商参数和JSON格式的服务请求加密数据发送到客户方密文数据收发模块(1-3);同时Soap协议解析模块(1-2)接收客户方密文数据收发模块(1-3)发送的密钥协商参数和服务响应加密数据,封装成Soap消息,发送给WebService网络监听类模块(1-1);所述的客户方密文数据收发模块(1-3),接收Soap协议解析模块(1-2)发送的密钥协商参数和服务请求加密数据,并转发到服务方密文数据收发模块(2-1);同时客户方密文数据收发模块(1-3)接收服务方密文数据收发模块(2-1)的密钥协商参数和服务响应加密数据,发送到Soap协议解析模块(1-2);

所述的数据加解密处理模块(2)包括服务方密文数据收发模块(2-1)、加解密控制模块(2-2)以及明文数据收发模块(2-3);负责加密和解密服务请求和响应数据,同时验证数据的发送方,确保数据来源的可靠性,即数据发送方不可否认;

所述的服务方密文数据收发模块(2-1),接收客户方密文数据收发模块(1-3)的JSON格式的服务请求加密数据,并发送到加解密控制模块(2-2),同时接收加解密控制模块(2-2)的服务响应加密数据,发送到客户方密文数据收发模块(1-3);所述的加解密控制模块(2-2),接收服务方密文数据收发模块(2-1)的密钥协商参数,发送到密钥转发模块(3-4),同时接收密钥转发模块(3-4)发送的密钥协商参数和带签名的会话密钥;另外,所述的加解密控制模块(2-2)接收服务方密文数据收发模块(2-1)发送的JSON格式的服务请求加密数据,使用密钥转发模块(3-4)提供的会话密钥,基于AES算法解密服务请求数据,发送到明文数据收发模块(2-3);同时加解密控制模块(2-2)接收明文数据收发模块(2-3)发送的服务响应明文数据,使用密钥转发模块(3-4)提供的会话密钥,基于AES算法加密服务响应明文数据,将密钥协商参数和服务响应密文数据发送到服务方密文数据收发模块(2-1);所述的明文数据收发模块(2-3)接收加解密控制模块(2-2)的服务请求明文数据,发送到并发数据收发模块(4-1),同时接收并发数据收发模块(4-1)的服务响应明文数据,发送到明文数据收发模块(2-3);

所述的密钥协商模块(3)包括初始化参数模块(3-1)、公钥生成模块(3-2)、系统签名模块(3-3)以及密钥转发模块(3-4);负责在每一次应用程序发送服务请求时,产生一个会话密钥,并且在密钥分发过程中可以抵抗中间人攻击;

所述的初始化参数模块(3-1)保存着当前实体向第三方权威机构申请公钥证书CertA和私钥SKA,并且定义了一个大素数p以及p的本原根a,然后随机选择一个私有的随机数XA(XA<p),将这三个初始化参数、私钥SKA和公钥证书CertA发送给公钥生成模块(3-2);所述的公钥生成模块(3-2)接收初始化参数模块(3-1)发送的初始化参数、私钥SKA和公钥证书CertA,计算并将参数YA、私钥SKA和公钥证书CertA发送到系统签名模块(3-3);系统签名模块(3-3)接收公钥生成模块(3-2)发送的参数YA、私钥SKA和公钥证书CertA,计算当前实体参数YA的签名并将签名SigA和公钥证书CertA作为密钥协商参数,发送到密钥转发模块(3-4);密钥转发模块(3-4)接收加解密控制模块(2-2)发送的密钥协商参数,即签名SigB和公钥证书CertB和系统签名模块(3-3)发送的密钥协商参数,即签名SigA和公钥证书CertA,使用公钥证书CertB中的公钥PKB,通过签名验证恢复算法计算即其中B是密钥协商的对端实体,YB的产生方式与YA相同,即密钥协商双方的大素数p以及p的本原根a相同,从而验证数据来源的可靠性,再计算得到会话密钥,并将会话密钥KA和密钥协商参数,即签名SigA和公钥证书CertA,发送到加解密控制模块(2-2);

所述的数据并发处理模块(4)包括并发数据收发模块(4-1)、数据编解码模块(4-2)、数据解析模块(4-3)以及业务层数据收发模块(4-4);负责解析JSON格式封装的服务请求,将解析产生的业务数据转发给分层访问控制模块(5),并采用硬盘中的log日志文件作为缓存池,处理重复的服务请求,提高系统的并发性能;

所述的并发数据收发模块(4-1)基于socket接口,通过TCP/IP传输协议,接收明文数据收发模块(2-3)发送的JSON格式的服务请求明文数据,并转发到数据编解码模块(4-2),同时接收数据编解码模块(4-2)的服务响应明文数据,发送到并发数据收发模块(4-1);所述的数据编解码模块(4-2),接收并发数据收发模块(4-1)的服务请求明文数据,将数据的编码格式由Unicode编码转为GBK编码,发送到数据解析模块(4-3);同时数据编解码模块(4-2)接收数据解析模块(4-3)的GBK编码的服务响应明文数据,转换为Unicode编码,然后发送到并发数据收发模块(4-1);所述的数据解析模块(4-3)接收据编解码模块(4-2)的JSON格式的服务请求明文数据,并将服务请求明文数据解析为POJO类,将POJO类中的用户名、角色名、目标数据对象和业务请求信息发送到业务层数据收发模块(4-4);其中,所述的数据解析模块(4-3)采用高速缓存技术,将服务请求明文数据存储在硬盘中的log日志文件,默认每隔30min清理log日志文件中的过期服务请求明文数据,如果缓存中存在相同的服务请求明文数据,就直接发送高速缓存中的服务响应明文数据到数据编解码模块(4-2);同时数据解析模块(4-3)接收业务层数据收发模块(4-4)的服务响应明文数据,将服务响应明文数据由POJO类转换为JSON格式,发送到数据编解码模块(4-2);所述的业务层数据收发模块(4-4),接收数据解析模块(4-3)POJO格式的用户名、角色名、目标数据对象和业务请求信息,发送到访问控制层数据收发模块(5-1),同时接收访问控制层数据收发模块(5-1)POJO格式的服务响应明文数据,发送数据解析模块(4-3);

所述的分层访问控制模块(5)包括访问控制层数据收发模块(5-1)、BLP等级访问控制模块(5-2)、RBAC角色访问控制模块(5-3)以及授权数据转发模块(5-4);所述的分层访问控制模块(5)是自主设计的基于BLP、RBAC模型的分层安全访问控制模块,该模块主要适用于大型集团客户和小型集团客户,并为集团客户的不同实体,分配不同的等级和角色;通过等级和角色两层访问控制机制,判断属于某一等级的用户是否拥有访问数据的权限,使得集团客户在组织结构上,实现纵向垂直管理和横向水平管理,同时保证数据的安全性;

所述的访问控制层数据收发模块(5-1)接收业务层数据收发模块(4-4)发送的用户名、角色名、目标数据对象和业务请求信息,并转角色发到BLP等级访问控制模块(5-2),同时接收BLP等级访问控制模块(5-2)发送的异常服务响应明文数据;所述的BLP等级访问控制模块(5-2)是自主设计的安全访问控制模块,该模块按照行政区域或项目实际需求,基于BLP模型,为集团客户的不同实体赋予不同的等级,同时,为不同实体对应的用户和数据库数据也赋予与实体相同的等级,使得高等级的用户能“读”同等级或低等级的数据,低等级的用户能“写”同等级或高等级的数据;同时,该模块在对实体划分等级时,在不同等级的实体之间,预留了待定的等级空间,以应对企业规模的变动,扩展性强;此外,所述的BLP等级访问控制模块(5-2)接收访问控制层数据收发模块(5-1)发送的用户名、角色名、目标数据对象和业务请求信息,并比较用户名的BLP等级和目标数据对象的BLP等级,如果用户名的BLP等级高,就发送用户名、角色名、目标数据对象和业务请求信息到RBAC角色访问控制模块(5-3),否则发送异常服务响应明文数据到访问控制层数据收发模块(5-1);所述的RBAC角色访问控制模块(5-3)是自主设计的RBAC安全访问控制模块,该模块基于RBAC模型,为集团客户的不同实体分配角色,用户即使通过了等级访问控制机制,也只能访问被授权的角色所对应的实体数据,解决同等级实体间数据可以不受限制、相互访问的问题;此外,所述的RBAC角色访问控制模块(5-3)接收BLP等级访问控制模块(5-2)发送的用户名、角色名、目标数据对象和业务请求信息,并判断该用户的角色是否有访问目标数据对象的权限,如果有权限,就发送业务请求信息到授权数据转发模块(5-4),否则发送异常服务响应明文数据到BLP等级访问控制模块(5-2);所述的授权数据转发模块(5-4),接收RBAC角色访问控制模块(5-3)发送的业务请求信息,并转发到持久层数据收发模块(6-1),同时接收持久层数据收发模块(6-1)的服务响应明文数据,发送到访问控制层数据收发模块(5-1);

所述大型集团客户分为19个等级层次,小型集团客户分为5个等级层次;

所述的数据库连接模块(6)包括持久层数据收发模块(6-1)、数据库连接池模块(6-2)以及数据库数据存取块(6-3);负责建立数据库连接池,减小频繁创建和销毁数据库连接带来的性能损耗,提高系统对数据的读写效率;

所述的持久层数据收发模块(6-1)接收授权数据转发模块(5-4)的业务请求信息,解析为相应的业务请求SQL语句,发送到数据库连接池模块(6-2),同时接收数据库连接池模块(6-2)发送的服务响应结果集,将服务响应结果集转换为POJO类的服务响应明文数据,发送到持久层数据收发模块(6-1);所述的数据库连接池模块(6-2)由一组可重用的数据库连接和请求队列组成,数据库连接池中的数据库连接初始值默认为10,请求队列接收持久层数据收发模块(6-1)发送的业务请求SQL语句,然后取出数据库连接池中的一个连接作为载体,将业务请求SQL语句发送到数据库数据存取块(6-3);同时数据库连接池模块(6-2)中的数据库连接接收数据库数据存取块(6-3)的服务响应结果集,发送到持久层数据收发模块(6-1);其中,数据库连接在数据读写操作完毕后,自动被数据库连接池回收并重复利用,可以减少反复创建和销毁数据库连接带来的系统开销和损耗,创建数据库连接是一个费时的活动,每次都要花费0.05s~1s的时间;另外,数据库连接池可设置timeout属性,当超过timeout属性对应的时间没有访问数据库,并且当前数据库连接数超过初始值时,数据库连接池会自动销毁多余的数据库连接,使数据库连接池中的数据库连接保持在初始值;所述的数据库数据存取块(6-3)接收数据库连接池模块(6-2)发送的业务请求SQL语句,与MySQL数据存取控制模块(7-1)建立TCP/IP连接,将业务请求SQL语句发送到MySQL数据存取控制模块(7-1);同时数据库数据存取块(6-3)接收MySQL数据存取控制模块(7-1)的服务响应结果集,发送到数据库连接池模块(6-2);

所述的MySQL数据库模块(7)包括MySQL数据存取控制模块(7-1)和MySQL数据存储模块(7-2);所述的MySQL数据库模块(7)是自主设计的模块化数据存储解决方案,负责模块化存储集团客户数据,采用主从镜像技术提高数据库的读写效率,保障数据库的高可靠性,并采用哈希函数保证用户隐私数据的安全;

所述的MySQL数据存取控制模块(7-1),接收并解析数据库数据存取块(6-3)发送的业务请求SQL语句,比较该SQL语句安全等级与MySQL数据库安全等级,如果MySQL数据库安全等级较高,就将解析后的SQL语句指令发送到MySQL数据存储模块(7-2),否则发送异常服务响应结果集到数据库数据存取块(6-3);同时MySQL数据存取控制模块(7-1)接收MySQL数据存储模块(7-2)的服务响应结果集,发送到数据库数据存取块(6-3);所述的MySQL数据存储模块(7-2),分为主数据库和从数据库,主数据库按照模块化的方式分类存储集团客户的业务数据和用户数据,其中用户的隐私数据采用哈希值存储,防止用户隐私泄露;并且该模块采用MySQL主从镜像的方式,根据MySQL日志文件,将主数据库数据异步复制到从数据库,完成数据备份,保障了数据库的高可靠性;另外,所述的MySQL数据存储模块(7-2)接收MySQL数据存取控制模块(7-1)发送的SQL语句指令,如果是“写”指令,就访问主数据库;如果是“读”指令,就访问从数据库,将读写操作分离,从而减少主数据库的负载,提高读写效率,然后将得到的服务响应结果集发送到MySQL数据存取控制模块(7-1)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811313419.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top