朱嘉晨,姜来为,陈 正,何一鹤,杨佳曼,王新斌,王卓君,郭英豪,吴烨琦

(中国民航大学,天津 300300)

近年来,随着互联网技术的不断发展,我国已经成为世界第一大互联网用户国家[1]。聊天软件如QQ、微信、钉钉等应用功能齐全,利用各种聊天软件进行沟通是现在人们进行信息交流的主要方式。然而,聊天软件在给人们提供方便快捷沟通方式的同时,也引发了诸多安全问题,比如聊天软件所包含的即时对话、文档传输等功能极易造成信息泄密。如何保障互联网聊天软件的信息安全是近年来研究者关注的重点[2-3]。在上述背景下,为了能够对网络上用户传播的信息进行管理,限制用户聊天行为,阻止不法信息传播,本文以过滤规则管理为核心设计并实现聊天信息安全管理系统,使管理员能够对用户状态、用户操作及用户间的聊天行为进行管理和限制,并依据国家标准加入一定的安全设计从而进一步提高系统的安全性。

1 聊天信息安全管理系统总体设计

1.1 系统工作流程

聊天信息安全管理系统工作流程如图1所示。

图1 聊天信息安全管理系统工作流程图

首先启动用户服务管理器和用户信息数据库,然后用户客户端才能通过注册或登录的方式连接用户服务管理器。注册的账号口令需要密码规则检测,只有检测通过方能将新用户的信息插入表中。用户登录时若密码校验通过,用户还需通过账号有效性检测和封号检测才能成功登录;若密码校验失败,则需要进行登录失败记录,并根据实际情况进行处置。成功登录系统后,用户之间可以发送聊天消息及聊天文件,这些文件将根据管理员设定的规则进行敏感词过滤,只有通过过滤的信息才能予以转发,从而实现对聊天信息的安全管理。

1.2 系统总体架构

本文设计并实现的聊天信息安全管理系统总体架构包括用户客户端、管理员、信息安全管理模块三大部分。

用户客户端负责实现用户注册、用户登录并生成聊天信息。用户客户端需要能够产生以下数据:(1)用户注册时,生成唯一用户名及符合密码校验要求的密码;(2)用户登录时,提供已注册用户及其对应密码;(3)用户间聊天时,产生相应的聊天信息和传输文件。此外,用户客户端还要实现对数据安全性的检测:(1)登录或注册时涉及新建密码或密码更改操作,都需对密码进行格式校验;(2)用户登录时,不仅要对登录密码进行校验,还需对用户的有效性进行校验;(3)对于用户登录失败设计相关处置方法;(4)用户服务管理器在为用户转发聊天消息或者文件之前,需要根据所设定的规则及时发现不允许传输信息并予以丢弃处理,还要将处理结果告知用户,记录到用户管理日志中。

管理员可以选择要查看的用户聊天往来信息,决定对哪些用户或数据进行管理操作。具体管理内容包括:(1)查看已有用户有效期,并能根据实际需要及时清除过期用户;(2)查阅用户操作和聊天的往来过程,对敏感用户进行封锁,也可以对用户账户进行解封;(3)选择合适的算法设置相关过滤规则,对用户的聊天行为和文件传输行为进行限制。

信息安全管理模块中包括用户操作日志、用户管理、封号管理和过滤规则设置。其中用户操作日志负责记录所有用户的往来聊天记录和操作记录;用户管理提供对已有用户状态查看和对过期用户处理的功能;封号管理提供对用户封号处理功能;过滤规则设置可以设置不同的过滤规则,当用户服务管理器为用户转发数据时若数据能通过所设的过滤规则,则为该用户转发数据,否则将丢弃并告知检测结果。

1.3 系统具备功能

本文设计并实现的聊天信息安全管理系统具备以下主要功能:

(1)用户客户端可以产生注册、登录、聊天等可供管理员管理的数据。

(2)管理员可以根据用户有效期和封号记录对用户账号进行管理。

(3)系统提供过滤规则管理模块,可供管理员选择过滤算法并设置过滤敏感词条。

(4)添加了密码格式规则校验、用户登录失败处置功能。

2 信息安全管理模块设计

信息安全管理模块是本系统的核心,主要包括用户信息数据库和用户服务管理器。

2.1 用户信息数据库

根据系统运行和管理员操作的不同要求,聊天信息安全管理系统中相关数据分别存储于用户信息数据库中3个不同的表格里:(1)USERTABLE表(用户表),记录用户名、密码、用户注册时间、账号有效期等信息;(2)DISABLEDLOGIN表(封号表),记录封号用户名及封号到期时间;(3)LOGINMANAGEMENT表(登录失败管理表),记录用户名、首次登录失败时间和登录失败次数。

2.2 用户服务管理器

用户服务管理器是信息安全管理模块的核心,使用Java语言进行开发并使用工具WindowBuilder Editor协助进行页面设计而成的图形化工具。管理员通过用户服务管理器可以对用户账号状态、用户聊天日志和聊天规则等进行管理。用户服务管理器中主要包括系统启动及日志管理、规则管理两大部分。

2.2.1 系统启动及日志管理

系统启动及日志管理提供系统启动功能和用户操作日志记录功能,管理员可通过该部分启动聊天服务器并审计用户的聊天行为,以便及时对用户及其聊天行为进行操作限制。

2.2.2 规则管理

规则管理包括用户管理、封号管理和消息过滤规则管理。

(1)用户管理

用户管理模块主要管理用户的基本信息,具有操作USERTABLE表、DISABLEDLOGIN表和LOGINMANAGEMENT表的权限。管理员可以通过该模块利用select语句查询存储在用户信息数据库用户表中已有账户的注册时间和到期时间,并将查询到的信息显示到页面上;还可以利用该模块使用delete语句删除用户表中相应的过期用户信息。

(2)封号管理

封号管理模块具有USERTABLE表和DISABLEDLOGIN表的管理权限。管理员通过用户信息数据库中USERTABLE表和DISABLEDLOGIN表看到新增封号下拉列表中的相应数据。当管理员确定对某账号进行封号操作后,相关数据从用户服务管理器传输到用户信息数据库进行数据存储。当管理员对用户账号进行批量管理或恢复账号操作时,删除DISABLEDLOGIN表中的相关数据即可。

(3)消息过滤规则管理

当用户客户端A向用户客户端B发送文件或消息时,管理员在消息过滤规则管理模块中选择过滤算法,设置过滤规则。当用户服务管理器为用户A转发数据时,若数据能通过设定好的过滤规则,则转发数据给用户B;否则丢弃该数据,并告知用户A和用户B消息或文件未通过安全检测不能转发。本系统中提供三种最常用的模式匹配算法[2,4],分别是BF(Brute Force)算法、KMP(Knuth-Morris-Pratt)算法和BM(Boyer-Moore)算法。当待匹配主串长度较短的情况下,通常选择BF算法或者KMP算法;若是匹配长文本,BM算法则更合适。过滤模块工作流程图如图2所示。

图2 过滤模块工作流程图

聊天信息安全管理系统中文件安全检测原理如图3所示,图中给出用户之间文件传输及开展文件过滤检测的具体运行流程。文件发送者首先询问文件接收者是否愿意接受文件,若得到拒绝的消息则放弃传输,反之准备进行文件传输。服务器在接收到文件接收者同意接收文件的消息时,首先将自己的7777端口打开,再将同意消息转发给文件发送者。然后,文件发送者接收到同意消息后连接服务器的7777端口,将文件发送给服务器。接下来服务器依据设定好的过滤算法和过滤规则对接收到文件的内容进行筛查。最后,将筛查结果通知文件发送者和文件接收者:如果文件通过筛查,服务器打开8888端口后告知文件接收者前来连接,并将文件发送给文件接收者;如果文件被查出存在过滤信息,则通知双方用户检测结果,不再做其他操作。

图3 文件安全检测原理图

3 聊天信息安全管理系统运行演示

3.1 开启用户服务管理器

本系统代码运行环境为eclipse-java-oxygen-Rwin32-x86_64,利用JAVA,使用WindowBuilder工具辅助页面设计,并选择derby数据库存储用户信息和相关操作信息。

开启用户服务管理器前,除“启动”按钮外的所有按钮无法使用。如图4所示为服务器启动前按钮状态,其中(a)为日志页面,(b)为用户管理页面,(c)为封号管理页面,(d)为过滤规则管理页面。服务器开启后,封号管理页面自动加载封号管理记录。

图4 服务器启动前按钮状态

3.2 用户登陆密码校验

用户客户端在登录或注册时涉及新建密码或密码更改操作,都需对密码进行格式校验。如图5所示的用户注册密码校验结果示意图,其中(a)显示使用用户名ccc、密码123@ccc注册失败;(b)显示使用用户名ccc、密码123@aaaa注册成功。

图5 用户注册密码校验结果示意图

3.3 聊天信息和传输文件过滤

如图6所示的聊天信息过滤例子:管理员设置过滤规则“aaa”并选择BF过滤算法后,用户aaa向用户bbb发送聊天信息“aaabbb”后显示消息中含有敏感信息,无法发送。

图6 聊天信息过滤例子

如图7所示的传输文件过滤例子,用户aaa向用户bbb传送文件1.txt(含“aaa”),bbb选择接收文件后,文件经过筛查,aaa被服务器告知文件中包含敏感信息,不予转发;与此同时,bbb也收到了有待接受文件不符合规定的通知。

图7 传输文件过滤例子

3.4 其他功能

聊天信息安全管理系统还包括聊天信息字体字号选择、发送表情包、选择好友创建群聊等功能,如图8所示,其中(a)为聊天信息字体字号选择,(b)为发送表情包,(c)为加群操作,(d)为加群成功截图。

图8 其他功能展示

4 结束语

随着网络技术的发展,聊天软件的出现与普及在满足了人们不受时间和空间限制、随时随地进行交流的需求的同时,也为不法分子利用网络传播非法言论带来可乘之机。为了能够对网络上用户传播的信息进行管理,限制用户的聊天行为,阻止不法信息的传播,本文设计并实现了聊天信息安全管理系统,从用户管理、过滤规则管理和安全设计等方面,利用数据库存储相关信息,提供图形化页面,方便管理员对用户操作信息进行管理。通过聊天信息安全管理系统,管理员对用户账号进行删除或者封号管理,对用户的聊天内容及文件传输内容过滤后进行发送或限制,对网络环境实现一定程度的净化。