信息安全概论作业五:身份认证

题目内容

今天校园里到处是快递小哥,同学们也经常帮别人取快递,快递小哥不会很细致的核实身份,就允许代领,存在很多不安全因素。
设计一款基于手机的app,用于快递小哥验证身份,顾客领取快递。具体认证方法不限,简单易行。
(1)给出:app包含哪些部分(可加图示),每部分的功能;
(2)模仿kerberos的写法,描述交互过程,并加说明。

作业作答

APP包含的部分

  • 快递小哥端

    • 查看订单信息
    • 扫描来者提供的二维码
    • 验证身份
    • 确认派送完成
  • 客户端

    • 查看订单信息
    • 获取取件二维码
    • 签收提醒
  • 后台管理端

    • 管理订单信息
    • 为快递小哥分配任务
    • 为用户生成取件认证信息
    • 校验取件认证信息

交互过程

客户端/快递小哥端登录

sequenceDiagram 客户/快递小哥 ->> 后台管理: username||MD5(MD5(password)) 后台管理-x客户/快递小哥: Ticket||Lifetime||Timestamp

其中\(Ticket = E_{back}(userid||Timestamp)\)\(K_{back}\)为后台管理端的密钥,\(Timestamp\)为当前时间戳。

客户端/快递小哥端向后台管理端通用请求流程

sequenceDiagram 客户/快递小哥 ->> 后台管理: Ticket||Message||API_Type 后台管理--x客户/快递小哥: Status||Infomation

其中\(Status\)为后台状态,标记后台是否正常处理了客户端的信息,\(Information\)为客户/快递小哥欲获得的各类信息,\(Message\)为客户端/快递小哥端向服务器发送的信息,\(API\_Type\)标记着请求的接口类型。
无论是快递小哥端查看订单信息、验证身份、确认派送完成,还是客户端查看订单信息、获取取件二维码、签收提醒均遵循上面请求流程,区别仅在于\(Message\)\(API\_Type\)不同。

客户端获取取件二维码信息

sequenceDiagram 客户 ->> 后台管理: Ticket||Package_ID||Get_Package_ID 后台管理--x客户: Status||Qrcode_content||Lifetime

整个过程遵循上方提到的请求通用流程
其中\(Qrcode\_content = E_{back}(Package\_ID||Timestamp)\)

快递小哥验证二维码信息

sequenceDiagram 快递小哥 ->> 后台管理: Ticket||Qrcode_content||Verify_Qrcode 后台管理--x快递小哥: Status||True_or_false

整个过程遵循上方提到的通用请求流程

posted @ 2022-05-11 19:31  陌上花已开  阅读(294)  评论(0编辑  收藏  举报