本发明涉及港口智慧照明系统中安全访问控制领域,特别是涉及一种港口智能照明管理系统及其访问控制方法。
背景技术:
随着互联网技术的飞速发展,越来越多的传统行业开始拥抱互联网,使用便捷高效的互联网技术来高效管理企业系统应用。作为国家海洋战略的前沿高地——港口,占地面积巨大、货物运输工作极其繁重,每天上万辆运输车不分昼夜地穿梭在巨大的场地内,所以对港口全域场地的照明条件提出了极其严苛的要求。传统管理港口全场域照明设备的方式是员工一个区域一个区域的手动开关照明设备的物理开关,耗时又费力。随着互联网技术的加入,越来越多的港口引进了先进的智能照明管理系统,操作人员可以足不出户的实时动态控制港口全场域内所有的照明设备,简单而高效,该系统不仅可以控制设备的照明亮度,而且还有实况查看、故障维修、能耗统计、设备管理、授权管理等功能,不同的管理人员拥有不同的管理权限进而管理着不同的模块功能,此类项目大多部署在商业云上,便捷的同时对系统敏感信息的安全性带来了诸多的挑战。
目前,对云端信息安全的保护主要使用访问控制技术和加密技术,访问控制技术是为了保证数据信息不被用户越权访问,这些访问控制技术根据事先在系统中预定义的规则,对用户的访问请求进行分析判断,然后根据判断结果对用户请求进行控制,是允许用户访问对应数据资源还是禁止用户访问对应数据资源。这些访问控制在技术实现上,资源数据是以明文的形式保存在服务器上,对用户请求的逻辑判断规则以软件程序的方式运行在系统应用中。因此,这种控制方式的可靠性主要依靠服务器系统自身的安全,对服务器系统的安全性提出了极高的要求,对于复杂的商业云环境来说,其安全强度明显不够。
常见的访问控制技术有自主访问控制(discretionaryaccesscontrol,dac)、强制访问控制(mandatoryaccesscontrol,mac)和基于角色的访问控制(role-basedaccesscontrol,rbac)等。其中,自主访问控制(dac)是一种基于用户身份和访问规则的访问控制模型,授权灵活、较为直观及容易实现,但在复杂系统中存在开销过大、效率低下的问题。强制访问控制(mac)是一种多级访问控制模型,可控程度高、保密性强,但不满足最小特权原则,系统开销较大,灵活性差,规则制定严格且缺乏弹性。基于角色的访问控制(rbac)是在用户和访问权限之间引入角色作为中间代理层,简化了权限管理,能灵活地表达和实现系统安全策略,实用性强,但是一种较粗粒度的约束。
近年来,属性加密机制(attribute-basedencryption,abe)成为了密码学领域一个非常重要的研究热点。它将加密和访问控制进行结合,加解密是一种非对称的加解密方式,资源文件不再以明文的形式保存在服务器中,而是以密文的形式保存在服务器中,用户的密钥由一组属性产生,访问结构策略包含在密文中,只有用户的集合属性满足密文中的访问结构策略才能正确解密得到明文。因此,在属性加密机制中,其一资源文件是以加密的形式来存储,其二如果用户的属性不满足密文中访问结构策略就无法进行解密操作,因而在安全性上降低了对服务器的依赖,非常适合复杂系统中加密和访问控制。
属性加密机制由sahai等人在欧洲密码年会上首次提出,由基于身份的加密机制发展而来。身份加密机制加密时使用了单属性,而属性加密机制加密时使用了多属性,多属性能够构造非常丰富的访问结构策略,因而具备细粒度访问控制能力。属性加密分为密钥策略属性加密(keypolicyattribute-basedencryption,kp-abe)和密文策略属性加密(ciphertextpolicyattribute-basedencryption,cp-abe),前者kp-abe将访问结构策略包含在密钥中,而后者cp-abe将访问结构策略包含在密文中,长期的实践表明,cp-abe可以带来更为简单灵活的控制方式,更适用于云端系统应用的安全访问控制。
技术实现要素:
发明目的:为解决现有技术的不足,提供一种港口智能照明管理系统及其访问控制方法。
技术方案:为实现上述发明目的,本发明采用以下技术方案:
一种港口智能照明管理系统,包括系统业务控制节点、属性证书管理子系统、解密子系统、授权子系统、系统数据库和加密资源存储子系统,其中:
系统业务控制节点用来实现用户和超级管理员与属性证书管理子系统和授权子系统的信息交互,属性证书管理子系统将接收到的用户请求进行处理后,并将请求输出至解密子系统,解密子系统从加密资源存储子系统获取加密后的资源文件后通过系统业务控制节点反馈给用户;授权子系统将接收到的超级管理员的请求进行处理后一方面与属性证书管理子系统进行数据传输,另一方面将加密后的资源文件存储至加密资源存储子系统中;系统数据库用于存储用户的身份、权限和系统业务涉及的非必要加密信息,并与属性证书管理子系统和授权子系统进行信息交互。
可选的,授权子系统包括初始化中心和加密中心,初始化中心用于生成系统主密钥mk、系统公钥spk和属性中心公钥apk,并将系统主密钥mk和系统公钥spk保存到属性证书管理子系统的认证中心,属性中心公钥apk保存至属性中心aa;加密中心用于对新资源文件设置访问权限和加密,将密文通过系统业务控制节点输出给超级管理员,并将密文保存到加密资源存储子系统中。
可选的,属性证书管理子系统包括属性证书验证中心、属性证书存储中心、属性证书生成器、属性中心和认证中心,属性证书验证中心联合属性证书存储中心一起验证用户是否具有属性证书,属性证书生成器与认证中心和属性中心交互,结合系统数据库中该用户的权限属性集合生成该用户的属性证书。
可选的,解密子系统包括属性规则验证中心和解密中心,属性规则验证中心用于验证用户的属性证书中的解密密钥是否具有访问该资源文件的权限;解密中心使用用户解密密钥sk解密设备信息的资源文件密文。
另一实施例中,一种港口智能照明管理系统的访问控制方法,包括以下步骤:
(1)将用户身份、权限以及系统业务涉及的非必要加密信息存储至系统数据库;
(2)超级管理员成功登陆该系统后进入授权子系统,对系统的访问控制方法进行初始化和资源文件加密;
(3)用户访问系统获取相应权限的资源文件密文。
进一步的,步骤(2)包括以下步骤:
(21)超级管理员请求访问系统,并通过系统业务控制节点将请求发送至授权子系统;
(22)判断是否需要初始化,若否,则由初始化中心执行初始化函数,生成系统主密钥mk、系统公钥spk和属性中心公钥apk,并将系统主密钥mk和系统公钥spk保存在认证中心ca上,将属性中心公钥apk保存在属性中心aa上;若是,则直接执行步骤(23);
(23)加密中心从认证中心ca处获取系统公钥spk,从属性中心aa处获取属性中心公钥apk,对新的资源文件进行加密处理,最后输出密文,并将密文保存在加密资源存储子系统上。
进一步的,步骤(3)包括以下步骤:
(31)用户请求访问系统,系统业务控制节点处理该请求,并将该请求发送至属性证书管理子系统的属性证书验证中心;
(32)属性证书验证中心联合属性证书存储中心,一起验证用户是否具有属性证书,若是,直接执行步骤(33);若否,属性验证中心则向属性证书生成器发起注册请求,属性证书生成器与认证中心ca和属性中心aa交互,并结合系统数据库中该用户具备的权限属性集合a,为该用户生成一个属性证书;
(33)属性证书管理子系统继续将用户请求发送给解密子系统,解密子系统的属性规则验证中心接收到请求后,解密子系统的属性规则验证中心验证用户解密密钥;
(34)判断用户的属性证书中的解密密钥是否具有访问该资源文件的权限,若是,则进入到解密中心,解密中心使用用户解密密钥sk解密设备信息的资源文件密文ct,并将设备信息的明文m返回响应给用户;若否,则系统直接返回验证失败的提示给用户。
其中,判断用户的属性证书中的解密密钥是否具有访问该资源文件的权限的方法为:
用户的每一个权限都用一个属性来表示,访问树中每一个叶子节点表示一个属性,每一个非叶子节点表示一个门限结构(t,n),其中t表示门限值,n表示该节点下子节点的个数,当t=1时,相当于“或”门,当t=n时,相当于“与”门,当一个属性s和一个叶子节点x的属性相同时,表示该属性满足该叶子节点,记作tx(s)=1,如果一个非叶子节点下所有满足属性匹配的叶子节点个数大于或等于该非叶子节点的门限值时,该非叶子节点的值就会被置为1,然后参与上一层的逻辑运算直到根节点,验证用户的属性是否是满足密文中的访问结构策略,顺序是从叶节点开始,一层一层往上做逻辑运算,最后到根节点,如果根节点最后输出的值为1,则表示用户满足该密文中的访问结构策略,接下来就可以进行解密操作;否则不能解密。
有益效果:与现有技术相比,本发明的一种港口智能照明管理系统及其访问控制方法具有以下优点:
1、现有技术方案的数据资源文件是明文保存的,而本发明技术方案的数据资源文件是经过加密后保存的;
2、现有技术方案对系统本身的安全性要求高,而本发明技术方案对系统本身的安全性要求较低,即便发生数据泄露,非法用户也无法正确解密;
3、现有技术方案的访问控制方式都是基于数据库表中的权限,而本发明技术方案的访问控制方式是基于属性加密机制,访问控制权限的判断包含在解密过程中。
附图说明
图1是本发明的系统交互模型图;
图2是本发明超级管理员的访问控制方法流程图;
图3是本发明普通用户的访问控制方法流程图;
图4是本发明的访问树模型。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进行详细说明。
如图1所示,港口智能照明管理系统,包括系统业务控制节点、属性证书管理子系统、解密子系统、授权子系统、系统数据库和加密资源存储子系统,这六个模块在处理用户请求的时候相互配合,并在实际使用中取得了良好的应用效果。
其中,系统业务控制节点用来实现用户和超级管理员与属性证书管理子系统和授权子系统的信息交互,属性证书管理子系统将接收到的用户请求进行处理后,并将请求输出至解密子系统,解密子系统从加密资源存储子系统获取加密后的资源文件后通过系统业务控制节点反馈给用户;授权子系统将接收到的超级管理员的请求进行处理后一方面与属性证书管理子系统进行数据传输,另一方面将加密后的资源文件存储至加密资源存储子系统中;系统数据库用于存储用户的身份、权限和系统业务涉及的非必要加密信息,并与属性证书管理子系统和授权子系统进行信息交互。
授权子系统包括初始化中心和加密中心,初始化中心用于生成系统主密钥mk和系统公钥spk,并将其保存到属性证书管理子系统的认证中心;加密中心用于对新资源文件设置访问权限和加密,将密文通过系统业务控制节点输出给超级管理员,并将密文保存到加密资源存储子系统中。
属性证书管理子系统包括属性证书验证中心、属性证书存储中心、属性证书生成器、属性中心和认证中心,属性证书验证中心联合属性证书存储中心一起验证用户是否具有属性证书,属性证书生成器与认证中心和属性中心交互,结合系统数据库中该用户的权限属性集合生成该用户的属性证书。
解密子系统包括属性规则验证中心和解密中心,属性规则验证中心用于验证用户的属性证书中的解密密钥是否具有访问该资源文件的权限;解密中心使用用户解密密钥sk解密设备信息的资源文件密文。
港口智能照明管理系统还包括以下功能模块:实况查看、亮度调节、故障维修、能耗统计、设备管理、授权管理(仅限超级管理员),不同的管理人员拥有不同的管理权限进而管理着不同的功能模块。
系统数据库保存着用户的身份、权限等各种信息,以及系统业务涉及的非必要加密的信息;加密资源存储子系统保存的是经过属性加密机制加密后的资源文件,是系统的核心数据。
一种港口智能照明管理系统的访问控制方法,包括以下步骤:
(1)将用户身份、权限以及系统业务涉及的非必要加密信息存储至系统数据库;
(2)超级管理员成功登陆该系统后进入授权子系统,对系统的访问控制方法进行初始化和资源文件加密;如图2所示,包括以下步骤:
(21)超级管理员请求访问系统,并通过系统业务控制节点将请求发送至授权子系统;
(22)判断是否需要初始化,若否,则由初始化中心执行初始化函数,生成系统主密钥mk和系统公钥spk,并保存在认证中心ca上;属性中心aa还会依据系统全属性集u生成属性中心公钥apk,并保存在属性中心aa上;若是,则直接执行步骤(23);
(23)加密中心从认证中心ca处获取系统公钥spk,从属性中心aa处获取属性中心公钥apk,对新的资源文件进行加密处理,最后输出密文,并将密文保存在加密资源存储子系统上。
具体为:
超级管理员成功登陆该系统后进入授权管理功能模块,该模块可以对系统的访问控制机制进行初始化和资源文件加密,对应图1中的授权子系统,结合图2,系统在首次运行时需要对系统的访问控制机制进行一些必要的配置,在初始化中心执行初始化函数,生成系统主密钥mk、系统公钥spk和属性中心公钥apk。超级管理员在页面提交时会选择一个安全参数λ为输入项,安全参数λ为数值非常大的质数,初始化中心执行初始化函数时,使用椭圆曲线双线性对的知识,以加密领域通用的pbc工具包为基础,选取质数群
加密中心由超级管理员来操作,加密中心负责对新资源文件进行访问结构策略设置(即访问权限)和加密工作。如,超级管理员选择了授权管理功能模块中的加密功能,上传一个新的资源文件m和设置了该文件的访问结构策略t,然后传输到加密中心,此时加密中心会从认证中心ca处获取系统公钥spk、从属性中心aa处获取属性中心公钥apk,此时加密中心从pbc工具包中选取随机值s,
(3)用户访问系统获取相应权限的资源文件密文;如图3所示,包括以下步骤:
(31)用户请求访问系统,系统业务控制节点处理该请求,并将该请求发送至属性证书管理子系统的属性证书验证中心;
(32)属性证书验证中心联合属性证书存储中心,一起验证用户是否具有属性证书,若是,直接执行步骤(33);若否,属性验证中心则向属性证书生成器发起注册请求,属性证书生成器与认证中心ca和属性中心aa交互,并结合系统数据库中该用户具备的权限属性集合a,为该用户生成一个属性证书;
(33)属性证书管理子系统继续将用户请求发送给解密子系统,解密子系统的属性规则验证中心接收到请求后,解密子系统的属性规则验证中心验证用户解密密钥;
(34)判断用户的属性证书中的解密密钥是否具有访问该资源文件的权限,若是,则进入到解密中心,解密中心使用用户解密密钥sk解密设备信息的资源文件密文ct,并将设备信息的明文m返回响应给用户;若否,则系统直接返回验证失败的提示给用户。
下面结合图1和图3举例说明用户是如何访问该系统。当一个用户想通过设备管理功能模块来查看设备信息时,登录系统后,发出一个访问请求来查看设备信息的资源文件时,首先该访问请求会被系统业务控制节点拦截,接着该用户的请求信息会被发送到属性证书管理子系统的属性证书验证中心,验证中心会联合属性证书存储中心,一起验证用户是否具有属性证书,属性证书是一份包含用户身份和解密密钥的凭据,如果该用户不具有属性证书,属性验证中心则会向属性证书生成器发起注册请求,给该用户生成一个属性证书,属性证书生成器会和认证中心ca和属性中心aa交互,并结合系统数据库中该用户具备的权限属性集合a,为该用户打造出一个属性证书,生成属性证书的过程如下:
属性证书生成器会从加密资源存储子系统获取用户想查看的资源文件的密文ct、从系统数据库获取用户的属性集合a,然后将该信息和与ca和aa共享,认证中心ca给用户的私钥:计算yu=f(sk,gidu),其中函数f是伪随机函数,能够将sk,gidu哈希到
当用户具备了属性证书后,属性证书管理子系统会继续将用户请求后传给解密子系统,属性规则验证中心接收到请求后,验证此用户的属性证书中的解密密钥是否具有访问该资源文件的权限,即用户解密密钥sk是否满足密文ct中的访问结构策略t,如果满足密文中的访问结构策略,即验证成功,则进入到解密中心,解密中心会使用用户解密密钥sk解密设备信息的资源文件密文ct,解密过程如下:
解密中心输人系统公钥spk、密文ct、用户解密密钥sk,令集合
其中,判断用户的属性证书中的解密密钥是否具有访问该资源文件的权限的方法为:
用户的每一个权限都用一个属性来表示,访问树中每一个叶子节点表示一个属性,每一个非叶子节点表示一个门限结构(t,n),其中t表示门限值,n表示该节点下子节点的个数,当t=1时,相当于“或”门,当t=n时,相当于“与”门,当一个属性s和一个叶子节点x的属性相同时,表示该属性满足该叶子节点,记作tx(s)=1,如果一个非叶子节点下所有满足属性匹配的叶子节点个数大于或等于该非叶子节点的门限值时,该非叶子节点的值就会被置为1,然后参与上一层的逻辑运算直到根节点,验证用户的属性是否是满足密文中的访问结构策略,顺序是从叶节点开始,一层一层往上做逻辑运算,最后到根节点,如果根节点最后输出的值为1,则表示用户满足该密文中的访问结构策略,接下来就可以进行解密操作。如:设备信息的资源文件能够被成功访问的策略是职务是副经理,或者职称是高级技工且其部门必须是信息中心,其访问结构策略是“职务=副经理”or{“职称=高级技工”and“部门=信息中心”},对应的访问树映射关系如图4所示,如果满足上述关系,则可以解密,否则不能解密。