摘 要
随着互联网的快速发展,即时通讯工具成为一种常见的信息交换工具。通过即时通讯工具可以实时的进行交流和信息交换,提高工作和学习的效率。但是在使用即时通讯工具的过程中,特别是在商业、科研、军事等对于保密性要求较高的领域,传递消息的安全性一直是用户比较关心的问题。当系统遭到恶意攻击时,用户就会面临消息被截获、篡改、消息丢失等风险。
本文针对即时通讯过程中可能发生的信息泄露的问题,设计并实现了一款安全聊天工具。本系统基于C/S架构,使用WinForms开发平台。本系统通过SuperSocket服务器框架与MySQL数据库组合搭建服务端,使用自定义的起止符协议完成通信,设计并实现了SuperClient框架来实现系统的客户端。在此基础上,系统实现了用户的消息通信模块,用户的信息管理模块、好友信息的管理模块等功能模块。同时,在安全性保证策略方面,本系统共使用了4种安全策略来保证用户信息传递过程中的数据安全性。其中,以RSA加密算法为保证数据安全的核心算法,本系统使用了通信数据加密传输策略、用户身份验证增强策略、SQL注入攻击防御策略以及收到消息阅后即焚的功能策略这四种安全策略。
经过测试,安全聊天工具的安全性能良好,通过4种安全策略协作,有效的保护了用户聊天信息的安全,极大的降低了用户在聊天过程中信息泄露的风险,可以满足对聊天消息保密程度要求较高的用户的使用需求。
关键词:即时通信;信息泄露;安全策略;RSA算法
ABSTRACT
With the rapid development of the Internet, instant messages have become a common information exchange tool. Instant communication tools enable real-time communication and information exchange to improve the efficiency of work and learning. However, during using instant communication tools, especially in the fields of commercial, scientific research, military and so on, the security has always been the concern of users. When the system is attacked, the user faces the risk of being intercepted, tampered with and lost message.
In this paper, a security chat tools are designed and implemented to solve the problem of information leaking. This system is based on C/S architecture, using WinForms development platform. This system builds by using the SuperSocket server framework and MySQL database combination to build the server, using a custom Start And End Letter protocol to complete the communication, designing and implementation of the SuperClient framework to achieve the system client. On this basis, the system develops the data interaction among each function module, the user's message communication module, the user's information management module, the friend information management module and so on. At the same time, in the security assurance policy, this system has used 4 kinds of security policies to guarantee the data security in the process of user information transmission. In this paper, RSA encryption algorithm is used as the core algorithm to guarantee data security, this system uses four kinds of security strategies, such as encrypting and transmitting user's communication data, increasing the authentication of user's identity, preventing SQL injection attack and the function of receiving message after reading.
After testing, security Chat tool security performance is excellent, through a variety of security strategy collaboration, effectively protect the user chat information security, greatly reduced risk in the chat process information leakage for users. This system can meet the requirements of users with higher demand.
Key words: Instant Messages; Information Leakage; Security Policy; RSA
目 录
第1章 绪论 1
1.1 安全聊天工具研究的背景和意义 1
1.2 国内外研究现状 1
1.3 论文的主要研究内容及组织结构 2
第2章 系统通信架构的设计 4
2.1 通信架构概述 4
2.1.1 数据通信流程 4
2.1.2 基本架构与开发平台的选择 4
2.2 服务器与数据库的数据交互设计 5
2.2.1 数据库设计 5
2.2.2 数据库操作接口的规定 6
2.3 应用层通信协议设计 7
2.3.1 常见的应用层协议比较 7
2.3.2 起止符通信协议的设计 8
2.3.3 服务端与客户端之间通信接口的规定 8
2.4 服务端的数据解析与分发设计 9
2.5 客户端的SuperClient框架设计 10
2.5.1 SuperClient框架概述 11
2.5.2 SuperClient框架的使用方法 12
2.5.3 SuperClient的数据通信原理 12
2.6 多线程通信 13
2.7 本章小结 14
第3章 安全性保证策略 15
3.1 数据加密传输策略 15
3.1.1 加密算法的选择 15
3.1.2 RSA加密算法的基本原理 15
3.1.3 公钥与私钥在系统中的应用 17
3.2 身份验证增强策略 19
3.3 SQL注入防御策略 20
3.3.1 SQL注入的基本原理 20
3.3.2 关键词过滤 21
3.3.3 参数绑定 21
3.4 阅后即焚安全策略 22
3.5 本章小结 22
第4章 安全聊天工具的详细设计与实现 24
4.1 系统模块的详细设计与实现 24
4.1.1 初始化模块 24
4.1.2 身份验证模块 24
4.1.3 消息通信模块 25
4.1.4 用户信息管理模块 28
4.1.5 好友管理模块 30
4.1.6 阅后即焚模块 31
4.2 系统安全性能测试 32
4.2.1 数据加密传输测试 32
4.2.2 身份验证测试 33
4.2.3 SQL注入防御测试 34
4.2.4 阅后即焚功能测试 34
4.2.5 测试结果 35
4.3 本章小结 35
结 论 37
参考文献 38
致 谢 42