目录
前言
课题背景与简介
实现设计思路
一、文件加密系统现状
二、系统总体设计
三、系统流程设计
四、系统实现
五、总结
实现效果样例
更多帮助
大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长微信小程序毕设专题,本次分享的课题是
基于微信小程序的文件加密系统
在大数据信息化时代,计算机网络技术的发展增加了用户数据的安全风险,个人数据安全保护需求不断增长,对数据进行加密保存是确保用户数据机密 性的有效措施。目前较为普遍的保护方法是应用 层的文件级加密:将文件加密后存储在磁盘,需 阅读或修改文件时,解密文件对其操作,处理完成 后再次加密存储。这种加密技术虽然实现简单、开 发成本低,但是存在操作繁琐和对上层应用不透明 等问题。相比文件级加密,全盘加密技术则能更 好的解决这些问题。 对于个人敏感数据,不仅需要在本地客户端加 密保护,在文件移动过程中也要进行数据加密处理。 例如,将文件从办公场所复制到其它办公场所的过 程中,如果将文件以明文形式存储在U盘中,若U 盘丢失,数据极可能被对手获取,从而导致数据泄 露的严重后果。 针对上述需求,设计基于微信 小程序的文件加密系统:使用虚拟磁盘进行数据 加密,具备全盘加密操作简单、对上层应用透明的优 点,而且虚拟磁盘本身作为文件,能够满足移动过程 中的安全保护需求;使用微信小程序获取用户授权进 行用户身份验证,更加便捷高效,能带来更好的用户 体验。
近年来,随着磁盘加密理论的研究进步和芯片处 理能力的提高,磁盘加密产品在安全性、产品形式和 数量上都有了很大的发展。现阶段磁盘加密技术发展 相对成熟,有Windows磁盘加密组件BitLocke—131143, Linux磁盘加密系统LUKS,免费开源磁盘加密软件 TrueCrypt和FreeOTFE以及SafeNet公司的磁盘加 密软件ProtectDrive。
磁盘加密产品的安全性依赖于 所选择的加密算法和模式。在加密算法上,BitLocker 和LUKS采用的是AES算法;TrueCrypt、FreeOTFE 以及ProtectDrive除了支持传统的加密算法(DES、 3DES、TwoFish)之外,也支持AES算法。而模式上, BitLocker采用微软自己研发的AES.CBC+Elephant diffuser;LUKS采用CBC;TrueCrypt和FreeOTFE除 了支持传统的加密模式CBc外,也支持专门针对磁 盘加密的模式XTS。
基于微信小程序的文件加密系统结构如图所示, 根据功能模块的不同,将其划分为4部分:微信服务 器、中心服务器、客户端和微信小程序。
微信服务器
微信服务器为腾讯公司提供的微信服务设备,本 文系统只需要根据其所提供的服务接口,与其进行交互并获取相应的微信数据,其主要功能包括:
1)微信小程序码的动态生成。当接收到中心服 务器的微信小程序码请求时,立即生成并传送回相应的微信小程序码进行响应。
2)微信用户唯一身份标识的获取。通过对微信 小程序提供的动态变化的登录凭证Code、中心服务器提供的URL、AppID、AppSecret等信息,转换得到微信用户的唯一身份标识。
中心服务器
中心服务器能够生成、存储客户端文件系统解 锁关键信息所需的对称密钥,同时能够响应PC客户 端请求的各种服务,具体功能如下:
1)生成客户端文件系统解锁关键信息所需的对 称密钥。文件系统在解锁时用到的关键信息加密保 存在客户端,利用国密对称密码算法SM4来实现关 键信息的安全存储。新用户扫码登录时,中心服务 器为其生成对称密钥,加密客户端文件系统解锁时 用到的关键信息并将其以密文形式存储;老用户扫 码登录时,传送回用户对应的对称密钥,解密得到 客户端文件系统解锁的关键信息。
2)提供客户端文件系统解锁关键信息所需对称 密钥的集中存储。PC客户端文件加密系统使用中心 式的密钥存储方式,使用国密算法SM2来保证对称 密钥在传输过程中的安全,将对称密钥信息加密保 存在中心服务器中。
3)与微信服务器交互,为客户端提供微信小程 序码。实现客户端与微信服务器请求/响应机制的传 递,将客户端的微信小程序码请求传递给微信服务器, 将微信服务器生成的微信小程序码传送回客户端。
4)与微信服务器交互,获取微信小程序用户的 唯一身份标识及授权信息。
2.3 PC客户端
PC客户端能够实现虚拟磁盘的管理,BitLocker 的使用、与中心服务器交互和用户操作界面的呈现。
1)虚拟磁盘的管理。客户端能够根据用户的意 愿进行创建、挂载、分离、删除虚拟磁盘等操作, 通过判断虚拟磁盘挂载及锁定的不同实际状态,提 供能够实现的相应操作步骤。
2)BitLocker的使用。利用系统中Win32勘比 Volume实现虚拟磁盘的的加解密、锁定解锁功能。其中, BitLocker币1]用密钥对虚拟磁盘进行全盘加密,密钥根 据BitLocker自身机制加密保存。密钥的加密保存以及 后续的解锁过程中所用到的信息就是解锁时所需的关键信息。
3)与中心服务器的交互。客户端能够向中心服 务器请求多种服务,包括客户端向中心服务器请求小 程序码、客户端向中心服务器扫码请求登录、客户端 查询用户授权状态以及客户端退出程序。
4)界面设计。通过流畅的界面设计更美观地展 示系统基础功能。
微信小程序
微信小程序部署在移动终端上的微信应用中,主 要实现的功能包括:
1)扫描PC客户端呈现的微信小程序码并获取用 户的授权;扫描客户端的微信小程序码,获取小程序 码中的token;授权微信小程序获取用户信息。
2)显示用户已授权解锁的PC客户端列表,手机 终端的微信小程序可以显示已挂载并处于解锁状态的 虚拟磁盘的PC客户端名称。
3)注销用户已授权的PC客户端,利用微信小程 序远程运行关闭注销程序。
本文加密系统的工作流程可以分为以下4个步骤, 具体流程图所示。
1)虚拟磁盘自检。检测固定路径的虚拟磁盘是 否存在,若存在,则进行步骤3);否则,则首先创建 新的虚拟磁盘,然后进行步骤2)。
2)用户扫描微信小程序码登录,从中心服务器 获取磁盘解锁关键信息所需的对称密钥。对于步骤1) 中虚拟磁盘不存在的情况,利用该对称密钥信息加密 保存磁盘解锁信息;对于虚拟磁盘存在的情况,利用 该对称密钥解密得到磁盘解锁信息并解锁虚拟磁盘。
3)对解锁后的虚拟磁盘进行常规文件操作。
4)关闭程序锁定磁盘。通过客户端或者移动终 端上的微信小程序注销程序。
虚拟磁盘自检
当系统启动运行时,首先检测是否存在固定路 径的虚拟磁盘文件,若不存在,则创建并挂载虚拟 磁盘,启用BitLocker加密保护该虚拟磁盘;若存在, 则将其挂载,此时磁盘处于锁定保护状态。处理完 成后,系统跳转到微信小程序码扫码登录界面。
解锁虚拟磁盘
解锁虚拟磁盘分为3个步骤:扫码登录、获取 磁盘解锁信息所需对称密钥、解锁虚拟磁盘。
1)扫码登录界面
当客户端需要获取微信小程序码时,与中心服 务器建立连接,向中心服务器发送获取微信小程序 码请求。中心服务器再将此请求传送给微信服务器, 微信服务器做出响应,将微信小程序码经过中心服 务器传送回PC客户端显示。
2)获取磁盘解锁信息所需对称密钥
当客户端展示小程序码后,并定时向中心服务 器查询用户的授权登录状态。当用户未使用微信扫 码来授权登录时,中心服务器返回用户未授权响应; 若用户使用微信扫码并授权用户登录后,微信小程 序向中心服务器发送用户授权登录信息。
中心服务器对微信用户身份进行验证,若是新用户首次扫描 登录,则为该用户生成磁盘解锁信息所需的对称密 钥;若是已扫描注册用户,则匹配其已保存的磁盘解锁信息对称密钥进行响应。客户端接收到用户已 授权登录的响应信息,其中对称密钥的加解密传输 使用国密算法SM2实现。
3)解锁虚拟磁盘
客户端收到磁盘解锁信息所需的对称密钥后,若 是新用户刚创建的虚拟磁盘,使用解锁关键信息进 行解锁,并将解锁关键信息加密保存在Pc客户端中; 若是老用户已存在虚拟磁盘,则利用该对称密钥使用 SM4算法解密得到磁盘解锁信息,并利用该信息对 BitLocker锁定的虚拟磁盘进行解锁操作。如果解锁成 功,表明该用户为虚拟磁盘的创建者,可以对虚拟磁 盘进行正常的文件读写操作;如果解锁失败,则无法 打开虚拟磁盘进行文件操作。完成解密操作后,PC 客户端立即销毁该对称密钥。
在解锁虚拟磁盘后,可以对文件进行读写、创 建、删除等操作,所有文件操作都由BitLocker来保 护,对用户透明。用户可以通过两种方式重新锁定虚 拟磁盘:
1)在客户端直接关闭程序,将重新锁定磁盘, 同时通知中心服务器用户已注销;
2)利用微信小程序查看已授权登录的客户端列表,选择某个客户端后 执行注销操作。
本文在Windows7专业版本平台构建了基于微信 小程序的文件加密系统。该系统可以实现在静态客户 端存储和动态移动过程中对文件进行加密保护,使用 微信小程序进行身份授权登录后即可解锁磁盘进行文 件操作,同时可远程注销或直接关闭客户端实现磁盘 锁定。
1)磁盘创建界面
系统根据用户输入的虚拟磁盘大小、盘符生成 相应的虚拟磁盘,其中盘符选择需要排除系统中已 占有盘符,磁盘容量以GB为单位。创建盘符为O的 虚拟磁盘并挂载后选择锁定,锁定后的虚拟磁盘显 示为金锁保护状态。 打开客户端,磁盘自检后跳转至微信扫码登录界面,微信用户扫码后进行身份验证。
2)手机端显示界面
用户扫码后,微信小程序获取用户授权进行身 份信息获取、登录以及上传用户授权信息。当用户 完成上述授权登录后,PC客户端获取到对称密钥并 解密得到磁盘解锁信息,利用该信息解锁虚拟磁盘 后,虚拟磁盘即可进行正常的文件操作。磁盘解锁 后依然处于加密保护状态,此时虚拟磁盘显示银 锁加密保护。
3)微信用户远程注销
用户可以选择客户端使用微信小程序远程注销, 实现虚拟磁盘的锁定。
基于微信小程序的文件加密系 统,能够将文件存储在创建的虚拟磁盘中,加密锁定 达到移动过程中的安全保护效果。利用微信小程序通 过身份验证后即可实现磁盘解锁,进行文件操作。本 文系统既实现了移动过程中数据加密保护的要求,又 能灵活运用微信小程序方便用户身份验证,实现了对 单个虚拟磁盘的管理。在下一步的工作中,将设计实 现对多个虚拟磁盘的管理方案。
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!