CA认证系统
一、簡介
1. CA
- CA:certification authorit,即證書頌發機構,它是一個負責發放和維護證書的實體,一般是第三方的。
2. 證書
- 證書:數字化的文件,用于表示一個實體(網站,個人等)的公共密鑰和其他的屬性,如名稱、CA 信息、加密算法等。它的作用是防止一個實體假裝成另外一個實體。
3. 密鑰
密鑰是加密算法用于加密和解密的口令,需要通過特定的算法對數據進行處理。
4. 作用
- 加密通信:保證數據不被截獲泄露,分為兩個層次,一個是對通信雙方的身份進行確認,防止身份假冒,二是對數據使用公鑰加密后傳輸,使用私鑰進行解密。
- 數字簽名:用于識別簽名者身份的,例如某人使用自己的私鑰進行簽名,其他用戶可以使用公鑰進行檢查。
5.CA 中心的功能
- 接受證書申請:驗證申請人身份、簽發證書、向用戶提供證書的下載。
- 吊銷證書:發布黑名單、發布吊銷列表(CRL, certificate revocation list)。
6. CA 中心的物理架構
- CA服務器:用于響應證書申請、證書生成、證書作廢、證書恢復等操作。
- 數據庫服務器:用于記錄用戶信息、證書信息、黑名單信息、操作日志等。
- 目錄服務器:存放發出的證書和 CRL 列表,提供證書下載和發布 CRL 。
- 操作終端:證書申請、作廢、查詢、統計、設置等操作。
- 硬件加密機/卡:保存 CA 的根私鑰,用于對證書進行簽名。
二、信息安全課程設計:CA 系統開發
1. 題目:CA系統的設計和實現
? 注:CA,Certificate Authority,電子認證服務或機構,為電子簽名相關各方提供真實性和可靠性驗證,是負責發放和管理數字證書的權威機構,并作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗責任。
2. 功能要求:實現一個CA系統
- 接受用戶提交的認證申請,包括用戶信息的表單和公鑰等,提交時讓用戶自己產生公鑰對;
- 在對用戶實施認證的過程中,儲存相應的用戶信息,如證書、營業執照的掃描文檔等。這些文檔應經過安全的加密(加密算法任選);
- 給通過認證的用戶頒發證書;
- 用戶密鑰丟失時,可以吊銷證書,密鑰作廢。
- 選做且加分項:交互友好的程序界面。
3. 性能要求
- 能抵抗大多數的常見攻擊,如重放攻擊、生日攻擊、字典攻擊等。
- 對該系統進行詳細測試,給出測試用例或方案,并以實驗的方式給出該系統針對上述攻擊的結果。詳細的測試和實驗是評分的重要依據。
- 選做且加分項:
- 測試數據可來自真實測試集;
- 可自擬客觀指標對測試結果進行衡量;
- 對測試結果可進行加密位數、密鑰空間、攻擊時空復雜性等數學分析或算法分析;
- 針對測試結果可改進該系統。
4. 使用
- 采用 python 的 rsa 模塊實現。
- 實現了用戶交互界面。
- data 文件夾存儲中間過程數據,sourceFile 文件夾內的 yyzz 為營業執照文件。
- 運行 run.py 文件即可。
- 建議在運行程序的過程中查看相關文件變化情況,有助于加深理解 CA 系統。
總結
- 上一篇: dpdk对虚拟化的支持调研
- 下一篇: Windows 10 版本信息