Skip to content

Ning-Lorraine/F4-CUC-PracticalCryptography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中传放心传

本项目是 中国传媒大学密码学应用实践课程 第六组——F4小组的结课项目。

附上 仓库链接

功能清单

  • 基于网页的用户注册与登录系统(60分)
    • 使用https绑定证书到域名而非IP地址 【 PKI X.509
    • 允许用户注册到系统
      • 用户名的合法字符集范围:中文、英文字母、数字
        • 类似:-、_、.等合法字符集范围之外的字符不允许使用
      • 用户口令长度限制在36个字符之内
      • 对用户输入的口令进行强度校验,禁止使用弱口令
    • 使用合法用户名和口令登录系统
    • 禁止使用明文存储用户口令 【 PBKDF2 散列算法 慢速散列 针对散列算法(如MD5、SHA1等)的攻击方法】
      • 存储的口令即使被公开,也无法还原/解码出原始明文口令
  • 基于网页的文件上传加密与数字签名系统(20分)
    • 已完成《基于网页的用户注册与登录系统》所有要求
    • 限制文件大小:小于 10MB
    • 限制文件类型:office文档、常见图片类型
    • 匿名用户禁止上传文件
    • 对文件进行对称加密存储到文件系统,禁止明文存储文件 【 对称加密 密钥管理(如何安全存储对称加密密钥) 对称加密密文的PADDING问题 】
    • 系统对加密后文件进行数字签名 【 数字签名(多种签名工作模式差异) 】
  • 基于网页的加密文件下载与解密(20分)
    • 已完成《基于网页的文件上传加密与数字签名系统》所有要求
    • 提供匿名用户加密后文件和关联的数字签名文件的下载
      • 客户端对下载后的文件进行数字签名验证 【 非对称(公钥)加密 数字签名 】
      • 客户端对下载后的文件可以解密还原到原始文件 【 对称解密 密钥管理 】
    • 提供已登录用户解密后文件下载
    • 下载URL设置有效期(限制时间或限制下载次数),过期后禁止访问 【 数字签名 消息认证码 Hash Extension Length Attack Hash算法与HMAC算法的区别与联系 】
    • 提供静态文件的散列值下载,供下载文件完成后本地校验文件完整性 【 散列算法 】

本项目用到的关键技术

密码学理论与技术示范应用要点说明

密码学理论 技术应用 技术示范 作用
哈希+盐值 pbkdf2 用户口令加密 保证用户密码安全性
对称密钥 nacl.secret 加密文件 存储加密文件防止明文被获取
非对称密钥 nacl.signing 数字签名 匿名用户验证分享链接用户身份
哈希摘要 hashlib 生成文件哈希值 验证下载的明文是否经过篡改
哈希摘要 md5 生成token消息摘要 实现散列值校验
哈希+数字签名 x.509证书 配置https 识别网页身份,保护数据传输安全

快速上手体验

本项目通过 sudo docker-compose up -d 方式部署后

打开浏览器访问: https://pan.cuc.com 即可快速体验系统所有功能。

依赖环境配置补充说明

  • 安装docker-compose

    #确保 docker-compose 全局安装
    sudo apt install docker-compose
    
  • 配置域名

    在宿主机与虚拟机中分别修改hosts文件,添加127.0.0.1 pan.cuc.com的映射关系

    • Windows环境中,文件位于C:\Windows\System32\drivers\etc
    • Ubuntu环境中,文件位于/etc/hosts
  • 证书安装

    为建立安全连接,需要将cert目录下CARoot.crt,intermedia.crt证书添加至浏览器受信任的根证书,中间证书颁发机构列表中。

演示

About

Record the progress of the group experiment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •