北京捷世智通科技股份公司天津分公司 300382
摘要:本文将提出一种基于云服务数据采集的智能水表系统的网关设计,此设计主要包含认证服务模块、API网关模块以及混合加密模块三大模块,可以有效提高基于云服务数据集采的智能水表系统的整体安全性。
关键词:云服务数据集采;智能水表系统;网关设计
前言:随着信息技术的不断发展,如今智能水表系统开始逐步引入云计算、大数据等先进信息技术,进而构建出基于云服务数据集采的智能水表系统。相对于传统智能水表系统来说,此系统对于系统硬件要求相对较低,信息集采精准性和有效性更高,但同时也对企业和用户信息安全提出了更高的实际要求,需要一种可以有效保障系统运行安全的安全机制。因此,本文将以网关设计为视角,提出一种保障基于云服务数据集采的智能水表系统的运行安全机制。
1 系统安全机制需求分析
1.1 身份认证需求
基于云服务数据集采的智能水表系统的最基本安全需求就是用户认证和授权需求,根据系统用户的不同,实际用户权限级别也存在一定差异。通常情况下有超级管理员、水司管理员、小区管理员等权限差异,用户在访问系统时,系统会根据用户的身份为用户进行授权,用户仅能够在自己授权范围内访问系统资源[1]。
1.2 API网关需求
智能水表系统的后端中集成了所有系统所有功能模块,其不仅涉及到系统本身运行及管理,也会涉及到云端数据及服务功能,并且随着系统的持续优化及完善,系统相关代码数据将会变得极为繁乱复杂,任何系统故障均可能会影响其他模块的有效运行,所以智能水表系统通常采用微服务架构来避免相关问题。但采用此架构以后,前端有时将会同时与多个后端微服务进行数据交互,而传统的直接交互方式将会直接降低系统运行效果,并进一步加剧前端代码的复杂性,所以需要API网关来作为前端和后端交互的中间点。
1.3 数据安全需求
智能水表系统在运行过程中将会接收和传输大量的水表数据、用户个人数据等数据信息,相关数据信息一旦被截获、写入,那么便会引发用户隐私安全问题、系统安全问题等一系列安全问题。因此,为能够保障系统前后端数据传输安全,应通过数据加密等方式来提高数据安全性。
2 基于云服务数据集采的智能水表系统的网关设计
2.1 系统安全机制总体设计
系统安全机制总体设计架构如图1所示。
图1 基于云服务数据集采的智能水表系统的网关设计架构
2.2 身份认证与授权
在设计中引入JWT认证机制,将用户信息保存在Authorization字段中,由于CSRF攻击仅能够获取Cookie,所以在用户信息添加JWT认证机制以后,外部攻击将无法获取Token字段中的信息,再配合后端的JWT验证机制,将可有效提高智能水表系统的运行安全。同时,还可以通过JWT载荷设置Redis数据库过期时间,进而实现JWT时间控制,达成用户长期微操作自动登出的效果[2]。
2.3 API网关设计
API网关作为智能水表系统前端和后端交互的中间点,是系统实现前后端分析的重要基础,其在设计中将会使用Spring Zuul,并在设计后达成以下功能:
(1)反向代理:实现对外暴露URL与内部服务URL信息不一致,在一定程度上提高系统运行安全性;
(2)用户身份鉴权:用户在通过身份认证后,通过Spring Zuul进行再一次统一身份验证,即用户在通过Token认证后才可以访问系统后端资源;
(3)服务权限管理:用户在对系统进行访问时,用户权限将会附加在Token中,在对后续访问请求过程中,系统会根据Token中的权限来实现用户的权限控制及管理;
(4)数据加密/解密:相对于传统智能水表系统,基于云服务数据集采的智能水表系统在运行过程中将会面临着更为严峻的数据传输安全问题,所以在设计中需要通过Spring Zuul对所有传输数据进行集中加密/解密及过滤处理。
2.4 数据混合加密设计
AES算法在使用中可对加密数据进行字节位移、混淆、替换等处理,具有运算速度快、内存需求低等优势,适用于前后端数据传输中的数据加密,但不适用于云端通信前密钥分配及管理;RSA算法密钥较长,实际计算量更大,不适用于大量数据加密/解密处理,不过安全性更高,适用于密钥管理。因此,在设计中将会采用AES算法和RSA算法相结合的混合加密设计,具体加密流程如下:
(1)在云端通信开始前,系统会通过RSA算法对生成包含公钥和私钥的密钥对,并将公钥通过通信请求发送给系统后端;
(2)系统后端在接收通信请求后,通过RSA算法生成包含公钥和私钥的密钥对;
(3)通过前端公钥对后端公钥进行加密;
(4)加密后的密文返回给前端,前端在接收后通过前端私钥进行解密,得到后端密钥铭文;
(5)前端通过AES算法生成密钥,用户输入账号密码,相关数据同密钥一同使用后端公钥进行加密;
(6)加密后的账号密码发送给后端,后端通过RSA后端私钥进行解密,验证账号密码,通过后返回Token。
3 结束语
综上所述,本文提出一种面向于云服务数据集采的智能水表系统的网关设计,此设计将会涉及到认证服务模块、API网关模块以及混合加密模块三大模块,可以满足云服务条件下的智能水表系统安全保护需求,可以进行实际参考和使用。
参考文献
[1]刘华亮,孙健,邹焘,等.基于NB-loT的智能水表终端系统研究与设计[J].电子世界,2020,No.590(08):155-156.
[2]李英,沈金荣.基于LoRa通信技术的智能水表及远程管理平台的研发[J].电子技术与软件工程,2020,No.176(06):24-26.