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 系统。

版权声明:本文为qq_42375636原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。