信息安全课程设计
目录
- 一、小组信息
- 二、课设进展
- (一)第一周
- (二)第二周
- (三)第三周
- (四)第四周
一、 小组信息
****
- 20165211 丁奕
- 20165310 徐雯
- 20165226 刘香杉
二、课设进展
(一)第一周
## 1、任务理解与分工
## (1)团队任务
①小组讨论对课程设计任务的理解
- miniCA主要是实现CA的功能:签发证书,分为签发加密证书和签名证书
- 通过与老师的沟通,我们实现对加密证书的签发即可
- 主要功能有:
- 生成CA自己的密钥对,通过openssl来生成
- 对用户传来的公钥,进行CA签名,证书签发,主要涉及了三种算法:SM2,ECC,RSA。
- 对用户申请的数据进行编码转换,符合PKCS10标准
- 实现B/S架构,用户通过网页进行访问,证书申请
- 对此任务,我们主要要实现的是
- PKCS证书格式,编码的学习和认识
- B/S架构,web编程
- 证书的签名算法
- Openssl生成密钥的应用
②进行任务的功能划分和分工
- 丁奕、徐雯:整体设计、代码编写、程序测试
- 刘香杉:整体设计、资料信息收集整理、报告撰写
③任务的进度安排
第11周:实现对技术知识的积累,理论学习,
第12周:对Openssl,GMSSL的应用,生成CA密钥对,实现SM2,ECC,RSA加密算法,实现PKCS10编码转换
第13周:实现使用加密算法进行证书签名,生成证书。实现B/S架构,证书申请
第14周:整体功能测试,优化用户体验,书写论文。
(2)个人任务
①给出自己对分配任务的理解
- 徐雯
对任务的初步认识,要实现以下的功能:
- 调用openssl生成密钥对
- 熟悉使用SM2,ECC,RSA,还可以顺带理解其他的国密算法
- 理解PKCS10,实现编码转换
- web编程,考虑用户体验,如有需要,可进一步提供一些安全性保护
项目的意义在于,学习openssl的使用方式,学习PKCS#10的相关理论体系,熟悉PKCS#10以及证书的编码格式,练习使用B/S架构,仿照老师给的参考网站进行模拟CA签发流程。
- 丁奕
对任务的初步认识,要实现以下的功能:
- 调用openssl生成密钥对
- 熟悉使用SM2,ECC,RSA,还可以顺带理解其他的国密算法
- 理解PKCS10,实现编码转换
- web编程,考虑用户体验,如有需要,可进一步提供一些安全性保护
项目的意义在于,学习openssl的使用方式,学习PKCS#10的相关理论体系,熟悉PKCS#10以及证书的编码格式,练习使用B/S架构,仿照老师给的参考网站进行模拟CA签发流程。
- 刘香杉
对任务的初步认识,要实现以下的功能:
- 学习web编程理论以及如何调用openssl生成密钥对
- 学习如何使用SM2,ECC,RSA,同时理解其他的国密算法
- 学习PKCS10,以及编码转换的实现
- 每周资料搜集,每周情况汇总博客以及报告文稿撰写
项目的意义在于,学习openssl的使用方式,学习PKCS#10的相关理论体系,熟悉PKCS#10以及证书的编码格式,练习使用B/S架构,仿照老师给的参考网站进行模拟CA签发流程。
②给出会遇到的问题及解决方案
- 徐雯
PKCS理论理解和编程实现之间存在的问题,关于PKCS10的资料太少
解决方案:进行资料搜集,询问老师等,理清编程逻辑加密的实现和加密应用
解决方案:寻找是否有加密代码或API,进行理解学习实现考虑传输过程的安全性问题
解决方案:主要考虑完整性问题,可以利用https,hash等方式实现,具体由实际编程情况决定
- 丁奕
PKCS理论理解和编程实现之间存在的问题,关于PKCS10的资料太少
解决方案:进行资料搜集,询问老师等,理清编程逻辑加密的实现和加密应用
解决方案:寻找是否有加密代码或API,进行理解学习实现考虑传输过程的安全性问题
解决方案:主要考虑完整性问题,可以利用https,hash等方式实现,具体由实际编程情况决定
- 刘香杉
在实现PKCS理论理解和编程中出现问题,关于PKCS10的资料太少
解决方案:进行资料搜集,询问老师等,理清编程逻辑
③给出自己的进度安排
- 徐雯
- 第11周:技术知识的积累,理论学习,
- 第12周:编程实现对Openssl,GMSSL的应用,生成CA密钥对,实现SM2,ECC,RSA加密算法,实现PKCS10编码转换
- 第13周:编程实现使用加密算法进行证书签名,生成证书。实现B/S架构,证书申请
- 第14周:整体功能测试,优化用户体验
- 丁奕
- 第11周:技术知识的积累,理论学习,
- 第12周:编程实现对Openssl,GMSSL的应用,生成CA密钥对,实现SM2,ECC,RSA加密算法,实现PKCS10编码转换
- 第13周:编程实现使用加密算法进行证书签名,生成证书。实现B/S架构,证书申请
- 第14周:整体功能测试,优化用户体验
- 刘香杉
- 第11周:技术知识的积累,理论学习,
- 第12周:学习如何编程实现通过Openssl、GMSSL的应用来生成CA密钥对,如何实现SM2,ECC,RSA加密算法以及如何实现PKCS10编码转换,将论文架构搭好同时撰写论文中相关理论学习内容
- 第13周:学习如何使用加密算法进行证书申请、证书签名、生成证书,并完善论文中相关内容
- 第14周:进行整体功能测试、优化用户体验,完成报告撰写
2、第一周进展
①本周计划完成的任务
- 了解PKCS#10标准
- 对老师给的示例网站进行学习研究
- 敲定作品的答题框架及实现功能
- 对SM2,ECC,RSA进行进一步学习,寻找加密代码
②本周实际完成情况
1、了解PKCS#10标准
2、对老师给的示例网站进行学习研究
- 已进行讨论学习,明确了实现的功能。
- 敲定作品的大体框架及实现功能
- 大体框架定为B/S架构,减少客户端压力。
- 主要功能有:
- 生成CA自己的密钥对,通过openssl来生成
- 对用户传来的公钥,进行CA签名,证书签发,主要涉及了三种算法:SM2,ECC,RSA。
- 对用户申请的数据进行编码转换,符合PKCS10标准
- 实现B/S架构,用户通过网页进行访问,证书申请
- 对此任务,我们主要要实现的是
- PKCS证书格式,编码的学习和认识
- B/S架构,web编程
- 证书的签名算法
- Openssl生成密钥的应用
- 对SM2,ECC,RSA进行进一步学习
- GM T 0009-2012 SM2密码算法使用规范
- 关于bouncycastle下国密SM2 API的使用
- ECC数字签名过程
- 基于ECC数字签名的实现及优化
- 非对称加密算法ECC以及ECDSA签名及java 实现
③本周遇到的问题与解决过程
本周主要是理论知识及大体框架的思考,并不存在太多的问题,主要就是在信息搜索过程,可能有些方面理解需要时间,资料并不详细。
返回目录
(二)第二周
## 1、本周计划任务
对Openssl,GMSSL的应用,生成CA密钥对,实现SM2,ECC,RSA加密算法,实现PKCS10编码转换
2、本周实际完成任务
- 学习如何编程实现通过Openssl、GMSSL的应用来生成CA密钥对,如何实现SM2,RSA加密算法理论知识,详情见博客[]
- 实现了生成ECC,SM2,RSA公私钥对
- 实现了生成ECC,SM2,RSA证书申请请求的PKCS10格式的转换
- 实现了ECC,SM2,RSA CA根证书的生成。
- 实现了ECC,SM2,RSA 对用户请求证书的生成
- 以SM2为例,用户证书和CA根证书的展示
- 生成的所有证书,以SM2为例,用户证书和CA根证书展示