信息安全課程設計
目錄
一、 小組信息
**** - 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加密算法理論知識,詳情見博客[https://www.cnblogs.com/musea/p/10891515.html]
- 實現了生成ECC,SM2,RSA公私鑰對
- 實現了生成ECC,SM2,RSA證書申請請求的PKCS10格式的轉換
- 實現了ECC,SM2,RSA CA根證書的生成。
- 實現了ECC,SM2,RSA 對用戶請求證書的生成
-
以SM2為例,用戶證書和CA根證書的展示
-
生成的所有證書,以SM2為例,用戶證書和CA根證書展示