提交两个实验的实验报告

  1. 密码引擎的设计与实现(包含前四次内容)
  2. 电子公文传输系统安全性设计方案与实现(包含后四次内容)
  3. 推荐Markdown格式

一、用户身份安全

(1)用户密码hash

  • 用户密码经过sha256哈希过后生成不可逆固定长度摘要,密态存储在数据库中

(2)文件、图片的加密传输

  • 在进行公文上传时,为了保护公文信息在网络传输过程中不被窃取泄露,

  • 实现公文文件、图片加密传输,我们采用了base64算法、国密SM2算法和SM4算法。程序直接给出SM2私钥和SM2公钥(128位),SM4密钥和IV向量。
    在此函数中,通过传递源文件路径和加密后文件路径,对文件进行加密和解密操作。在加密阶段,采用了三种算法实现:

    • base64算法:将文件先转化为base64编码,然后再将编码进行加密,输出加密后的文件。
    • SM2算法:采用国密算法SM2,将文件进行加密,输出加密后的文件。SM2算法密钥是通过固定的私钥和公钥实现加密和解密过程。
    • SM4算法:采用SM4对图片进行加密,分为设置密钥和对文件进行加密两个步骤。其中,密钥和IV(初始向量)都是由字节类型的密钥和字节类型的IV实现。
  • 在解密阶段,采用了与加密阶段相对应的算法来解密加密后的文件。每个解密函数输入加密后文件路径和解密后文件路径,输出解密后的文件,完成解密过程。

  • 此外,在代码中了添加了一些计时标记,可以输出加密和解密所用的时间。

1.单向散列函数选取

选取SM3进行应用
标准文件:

2.对称密码算法选取

选取SM4进行应用
标准文件:

3.非对称密码算法选取

选取SM2进行应用
标准文件:

http://www.gmbz.org.cn/main/viewfile/20180108023346264349.html

http://www.gmbz.org.cn/main/viewfile/20180108023456003485.html

http://www.gmbz.org.cn/main/viewfile/20180108023602687857.html

具体内容如下:

一、启动文件(项目建立时默认生成)

1.manage.py:命令行工具,内置多种方式与项目进行交互。在命令提示符窗口下,将路径切换到MyDjango项目并输入python manage.py help,可以查看该工具的指令信息。

二、文件夹electronicDocument下的文件(项目建立时默认生成)

1.init.py:初始化文件,一般情况下无需修改。
2.settings.py:项目配置文件,项目的所有功能都需要在该文件中进行配置。
3.urls.py:项目的路由设置,设置网站的具体内容。
4.wsgi.py:全称为Python Web Server Gateway Interface,即Python服务器网关接口,是Python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。

三、文件夹templates——HTML模板文件夹

存放所有的html文件:
404:没找到页面时发生报错的页面
Base:主页面的底部
Comment:进行批复的页面
Home:每个用户进入的自己的页面

Index:所有用户都能看到的主页

Play:用于公文纠错的页面

Ranking:公文排行榜页面
Search:公文搜索页面
Upload:公文上传页面
User:用户注册页面

四、文件夹static——存放静态素材,例如图片、图标等等

网站中的用于美化的图片和图标

五、文件夹.idea——IDEA兼容配置

六、文件夹media——流媒体文件

重点是网站引用的大量外部数据,其中包含所有的电子公文文件以及其缩略图

七、应用型文件夹(APP)

1.comment
2.index
3.play
4.ranking
5.search
6.user

  • 每个应用型文件夹下包含如下内容
    1.migrations文件夹:用以存储Django应用中的model类的变化,每次在Django应用中对model类的修改,都会对应一个migration文件。
    2.init.py
    3.admin.py:后台管理文件

传输平台安全

我们实现了文件传输安全,通过SM2和SM4算法对文件传输过程进行加密
除此之外,我们设计了几个角色,分别是系统管理员、安全管理员和普通用户。
1.数据保护。电子公文运行在北京电子科技学院电子政务网平台上,利用该平台进行在电子公文的存储、处理、传递和使用的全过程符合国家有关保密规定。同时,在各项操作中,采用电子公文传输系统独有的严格的安全控制措施,利用全程受控访问技术使电子公文始终处于系统安全访问控制之下。系统安全控制设计按系统管理员、安全管理员、普通用户几种身份角色。
2.系统安全保密监控。利用安全访问控制技术对电子公文做数字签名,实现不可篡改和不可抵赖的功能;运行时每一步操作都有记录,关键操作都以不可篡改、不可抵赖的方式记录在案,从而保证至少事后可做安全审计。
3.分级授权体系与权限分离机制。系统管理职责分为三种类型:系统管理员、安全审计员、安全管理员,实行闭环相互控制机制。实际工作中系统管理员和安全管理员给同一个用户。

  • 系统管理员:负责一组角色,包括数据、数据字典、程序运行
    平台的设置和维护等。所有操作都记入系统管理日志。他还可以进入后台进行密码修改、配置文件管理等。
  • 安全管理员:负责系统中与安全相关的管理和配置工作(如:密码长度、有效期、登录锁定的次数等等);对系统功能日志和安全审计日志进行管理与审计。
  • 普通用户:进行简单的收发报文。

电子公文安全性

1.电子公文使用安全。电子公文采用全程受控访问技术,具有防篡改性和不可分割性,使电子公文的己有内容不会被篡改,公文里的密级标识等数据不会从电子公文中被拆离出来。

2.电子公文份数控制。发文方可设置允许收文方打印的份数,相当于传统方式下发给收文方的文件份数。打印份数加密存储在收文方的服务器中,任何人(包括收文方的系统管理员)都无法修改,每打印一份就减一,减到零后就不能再打印出红头红章的原件了。

3.电子公文打印控制。电子公文在打印时不通过操作系统的打印驱动程序,而是自行开发驱动程序,直接控制打印机硬件,最大程度防止打印数据被截获。