CA认证系统

信息安全课程设计:CA 认证系统

一、题目:CA系统的设计和实现

​ 注:CA,Certificate Authority,电子认证服务或机构,为电子签名相关各方提供真实性和可靠性验证,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验责任。

二、功能要求:实现一个CA系统

  1. 接受用户提交的认证申请,包括用户信息的表单和公钥等,提交时让用户自己产生公钥对;

  2. 在对用户实施认证的过程中,储存相应的用户信息,如证书、营业执照的扫描文档等。这些文档应经过安全的加密(加密算法任选);

  3. 给通过认证的用户颁发证书;

  4. 用户密钥丢失时,可以吊销证书,密钥作废。

  5. 选做且加分项:交互友好的程序界面。

三、性能要求

  1. 能抵抗大多数的常见攻击,如重放攻击、生日攻击、字典攻击等。

  2. 对该系统进行详细测试,给出测试用例或方案,并以实验的方式给出该系统针对上述攻击的结果。详细的测试和实验是评分的重要依据。

  3. 选做且加分项:1)测试数据可来自真实测试集;2)可自拟客观指标对测试结果进行衡量;3)对测试结果可进行加密位数、密钥空间、攻击时空复杂性等数学分析或算法分析;4)针对测试结果可改进该系统。

四、文件介绍

  1. data 文件夹:存放系统生成数据的文件夹;
  2. .pem 文件:用户的公钥、私钥文件;
  3. data/sourceFile 文件夹:存放用户原始数据的文件夹,若使用到加解密功能则会直接对文件进行更改;
  4. yyzz.txt 文件:一个简单的营业执照示例,用于测试代码;
  5. config.py 文件:内置了系统需要用到或生成的文件路径,可根据需要自行更改。

五、使用

由于系统较为简陋,没有考虑多用户的实际使用情况,因此不建议创建多个用户进行测试。

1. 签名

  • 用户使用 CA 系统的签名功能;

  • 运行 run.py ,按下述步骤进行交互:
    1

  • 运行后系统生成系统公私钥文件,并对用户私钥进行签名;

  • 此时系统可以将系统公钥 data/CApubkey.pem 公开,系统私钥 data/CAprivkey.pem 通过可靠的方式告知其他用户;

  • 签名后的用户私钥为 data/test.pem
    2

2. 认证

  • 用户 2 持有 CA 系统签发的系统私钥,可对系统进行认证;

  • 运行 run.py ,按下述步骤进行交互:
    3

  • 认证后的用户公钥文件如下所示 data/test.pem
    4

  • 可以发现认证后的文件与用户私钥一致;

3. 吊销证书

  • 特别提醒,此步骤应在加解密文件操作之后使用(因为文件解密会使用到证书);

  • 就是删除系统中有关某用户签名或认证的文件;

  • 运行 run.py ,按下述步骤进行交互:
    5

4. 加密

  • 使用用户公钥对 data/sourceFile/yyzz.txt 文件进行加密,原文件内容如下:
    6

  • 运行 run.py ,按下述步骤进行交互:
    7

  • 加密后的 yyzz.txt 文件如下所示:
    8

5. 解密

  • 使用 CA 系统通过用户登录的方式来工作,系统会自行核验用户身份,若通过则使用系统密钥与用户密钥对文件进行解密。

  • 运行 run.py ,按下述步骤进行交互:
    9

  • 解密后的 yyzz.txt 文件如下所示:
    10

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeZer0

打赏一杯奶茶支持一下作者吧~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值